Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARC-62 - ASA Circulating Supply #302

Merged
merged 32 commits into from
Oct 2, 2024
Merged

Conversation

cusma
Copy link
Contributor

@cusma cusma commented Jul 16, 2024

This ARC introduces a standard to extend the definition of circulating supply for Algorand Standard Assets (ASA) and its client-side retrieval. An Algorand Python reference implementation is suggested (available at ./assets/arc-0062).

For an initial discussion we should focus just on ./ARCs/arc-0062.md.

The majority of reference implementation assets are AlgoKit auto-generated files. In case you are interested in the reference implementation as well, the main files are the contract (source file here) and the tests (source files here).

@github-actions github-actions bot added s-review and removed s-draft labels Jul 18, 2024

### Usage

Getter calls **SHOULD** be _simulated_.
Copy link
Contributor

@SilentRhetoric SilentRhetoric Aug 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To enable the use case in which getter calls are made on-chain by another application (and not just simulated), would it be reasonable to include the following statement?

The arcXXX_get_circulating_supply method SHOULD not require more foreign references than can be provided on a single applicationCall transaction within the constraints of the Algorand Virtual Machine at the specified minimum AVM version.

This also raises another question, which is: Should the ARC require that its implementations specify the minimum AVM version required to call the method?

Copy link
Contributor Author

@cusma cusma Aug 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is an implementation detail. I would rather add a recommendation for the reference implementation to use an AVM version that supports resource pooling. The specification of the method interface does not really care about how resources are populated (e.g. they could be added to the AppCall directly or provided somehow within the same Group Transaction).

Also, maybe it is worth adding a non normative section in Usage to suggest that, if the method is supposed to be called as C2C call, then the implementation should provide details about foreign resources required to caller apps.

@github-actions github-actions bot removed the s-review label Aug 5, 2024
@SudoWeezy SudoWeezy merged commit ad05b07 into algorandfoundation:main Oct 2, 2024
5 checks passed
@cusma cusma deleted the arc62 branch October 2, 2024 10:50
@cusma cusma restored the arc62 branch October 2, 2024 11:03
@cusma cusma deleted the arc62 branch October 2, 2024 11:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants