-
Notifications
You must be signed in to change notification settings - Fork 119
ARC-84: ASA-Compatible Smart Contract Tokens #341
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
Draft
joe-p
wants to merge
8
commits into
algorandfoundation:main
Choose a base branch
from
joe-p:arc84
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 1 commit
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
59f14a9
arc84 placeholder
joe-p 4c5ab6b
add motivation and some headers
joe-p 216bae0
add diagrams
joe-p b6b3a95
fill in some rationale
joe-p 0f9068c
backwards compat and ref impls
joe-p 53e742e
add spec
joe-p b7f98d1
add Use Cases
joe-p b0cdc96
ARC reference format
joe-p File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
backwards compat and ref impls
- Loading branch information
commit 0f9068c0e2975d3f5c52347f77a3f79ce9fb9bc0
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you explain this bridging in a bit more detail? How does bridging to ASAs work if the asset contract uses hooks to enforce royalties/taxes/etc?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since there will be one canonical bridge, the transfer hook app that checks/automates royalties would need to add an exception when sending form the bridge. They could be taxed going in, but not going out. Anything that doesn't account for this won't be able to be bridged out back to an ARC84. We could actually solve this by allowing the person bridging to ARC84 specify extra txns that need to take place.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. So if the taxes are only enforced when bridging but the ASA is then freely tradable doesn't that encourage users to use the ASA version instead of the ARC84 version? I'm struggling to understand how you can have both an ASA & ARC84 of the same asset and still enforce any of the features of the ARC84.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah for the case of royalties this seems like an unavoidable problem with any solution. It's a problem for any sort of programmable asset, including ASAs. Someone could make a 1:1 USDC bridge without a freeze address, but then you run the risk of Circle freezing everything in the bridge. Presumably that risk would be reflected in the market (in terms of price and where its accepted).
I think most of the benefits of ARC84 are ultimately benefits for the end user. The one exception is the royalty enforcement, but I don't think it's possible to get a perfect implementation of this regardless of ARC84, bridging, or anything else. Even the perfect on-chain solution is susceptible things like trading app control (asset held by app and instead of axfer you change who can control the app), selling rekeys, etc.