-
Notifications
You must be signed in to change notification settings - Fork 140
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
Pending Token Transfers #777
Conversation
✅ Deploy Preview for hedera-hips ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
I believe this is going to negatively impact decentralized exchanges on the Hedera network; here's how: 1. Liquidity Pool Dynamics: 2. Price Impact and Slippage: 3. Arbitrage Opportunities: 4. User Experience and Complexity: 5. Operational Overheads for DEX: |
If the goal is to solve for airdrops specifically, there could be a transaction type on Hedera called “Airdrop Transfer” and that specific transaction type allows someone to send tokens with this "pending" feature. This way it would silo the airdrop ability and be an AMAZING feature for our users (and one that's frequently requested) / support growing the adoption of Hedera. It would hurt many applications if it’s not a very specific transaction type to enable "pending", and all transfers of tokens had it enabled. |
Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
7ccc05b
to
ed7f069
Compare
Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
@bmgentile HIP 655's goal is to fix airdrops. This HIPs goal is to ease the friction of onboarding and that first experience of transferring tokens to an account that's not associated. Airdrops update a recipients balance without them taking action. This allows them to take action to approve or reject, so this is more airgrab-ish |
@bmgentile All transfer that are applicable to this state would utilize the outbox. Should a user have to take action to receive the token after the transfer why would this hurt applications? |
@bmgentile A new transaction type just to circumvent token associate wouldn't work as it'd break the sovereignty of an account choice on the network to be associated or not with a token. Users should be able to chose the behaviour their account takes (use auto association etc) for HTS as it differs from ERC tokens in these advanced management features. |
@bmgentile these are solid illustrations, thanks. Indeed complexity is increased. |
@bmgentile @Nana-EC I'm not so sure this is a problem for DEXs. One of the classic user flows for depositing liquidity into a pool or staking into a pool is having to approve this or that token before you can even interact with the pool itself. Approvals to me sound the same as associations. In fact, they're more strict -- sometimes they are infinite approvals -- but Ethereum hacks have shown that that's a bad practice. So usually you have to go through approvals every time you want to deposit or withdraw. Jumping through these sorts of hoops is normal in Ethereum DEX UX flows. |
Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com> Co-authored-by: Michael Garber <michael.garber@swirldslabs.com> Signed-off-by: Kim Rader <kim.rader@swirldslabs.com>
Description:
Users on the Hedera network have the ability to control the token classes that can be added to their balance. A user must first associate with a token class before they may receive token value from others. This differs from other networks where users may receive token value with no restrictions - in short, airdrops are currently not supported on the Hedera network. For some, this serves as a fundamental account protection feature, for others, this serves as an extra user step required before receiving desired token.
HIP 655 provides a suggestion for a token outbox concept that tracks a sending users intent to airdrop tokens to a receiving account (EOA or contract) that has not yet associated with the token class.
This outbox gives a mapping that may be used to enable the simulation of the airdrop transfer concept that web3 users are familiar with. A network can communicate a senders commitment to transfer a token to a potential recipient, the intended recipient maintains account sovereignty as the network enforces the association requirement before a receiver takes ownership of the tokens. Tokens in an outbox are conceptually pending token transfers or offers to the desired recipient until they accept or reject the intent. Upon acceptance the intended token value will be added to the recipients balance. Additionally, support for association and transfer of tokens in an atomic operation will allow the seamless ability to take ownership and transfer from your pending balance.
Related issue(s):
Fixes #
Notes for reviewer:
Checklist