-
Notifications
You must be signed in to change notification settings - Fork 34
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
Icrc4 #95
base: main
Are you sure you want to change the base?
Icrc4 #95
Conversation
I don't think
No need for additional checks, no new restrictions introduced.
There is no need to configure these limit parameters. |
Initial thoughts and more detailed reasoning:
This is impossible to guarantee on the IC. Future token canisters may be multicenter and involve one or many async calls. ICRC1 makes no assumptions about token canister architecture and it would a complication to introduce this assumption.
Because atomicity is not possible to guarantee, I'd argue the prevalidate provides the next best alternative to attempting to have as many transactions pass as possible. I don't think it is optional for this kind of transaction. the batch fee is optional and can be omitted, but provides a rational pathway to the reality that submitting 1000 batch transactions does not cost 1000x a single transaction. It decreases the cost of moving money and increases the possible uptake of the token.
Given the reality of how the IC works, I'd say that it is highly advisable to have these limits defined by the service. Cycle limits may apply and ledgers may want to reject a certain amount of transactions so as to not block the canister. They are optional so a ledger can choose to not provide them, but a production-level ledger expecting significant transactions my need to keep from being attacked, and defining the interface lets providers agree on how to check the ledger. |
Batch functions to complement ICRC-1.