Comments (6)
@shanev - I think the outstanding question here is what to do with the exit tax funds. I figure we could either burn them, transfer to an address, or use them to fund entry inventives.
I think exit tax funds can be just sent to an address which could be a burn address, a DAO, or whatever. It would be great to support community pools as well, but I don't think it's worth supporting something that will end up being legacy soon (since they will get module accounts eventually).
from cw-ics721.
I say try to undo the transfer on any kind of panic.
To do this, we'll need two things:
- The
on_entry
hook should be dispatched asSubMsg::reply_on_error
with a gas limit. If an error occurs during the callback, an ACK-FAIL should be returned instantly, thus failing the transfer. - The hook receiver should be able to remove itself. In practice, this means that the entry incentives module should have a message that its manager can execute which removes it from the ICS-721 contract. This lets us "turn off" entry incentives if needed.
from cw-ics721.
@shanev - I think the outstanding question here is what to do with the exit tax funds. I figure we could either burn them, transfer to an address, or use them to fund entry inventives.
from cw-ics721.
Another important point while implementing this is to take care of how the entry-incentives module panics. If the ICS-721 on_entry
hook panics, the NFT being transferred will be stuck until a timeout occurs. We need to design:
- How does the entry-inventives module handle being out of funds?
- Are there any inputs that could cause it to panic?
- If an unexpected panic occurs, what should we do?
from cw-ics721.
- How does the entry-inventives module handle being out of funds?
Can it check its balance before the transfer and throw an error?
- Are there any inputs that could cause it to panic?
- If an unexpected panic occurs, what should we do?
I say try to undo the transfer on any kind of panic.
from cw-ics721.
This is currently being solved in Ark's new proxy repo, example of check paid is here:
https://github.com/arkprotocol/ics721-plus/blob/main/packages/cw-ics721-outgoing-proxy/src/lib.rs#L140
repo here: https://github.com/arkprotocol/ics721-plus/
from cw-ics721.
Related Issues (20)
- go-based e2e testing for callbacks and cw721 backward compatibility HOT 1
- limit memo size
- Remove usage of `MintMsg<T>` if it gets removed HOT 1
- Add query for paginating over class IDs in the contract class ID map
- proper contract error on cw721 instantiation
- Update to cw-nfts 0.17 HOT 1
- Proxy is resetted, set back to null, during migration HOT 1
- eyeball (collection) might be compromised by proxy HOT 1
- Does metadata transfer?
- name and symbol HOT 1
- Use instantiate2 for INCOMING_PROXY and OUTGOING_PROXY
- remove `build.sh`, use `just optimize` instead
- Questions about NonFungiblePacketData HOT 13
- Serde doesn't optout None value
- feature request: ics721 handling custom collections
- feature request: handling onchain metadata HOT 1
- "pass-through on back transfer" HOT 1
- ICS721 spec seems not matched with example implementation HOT 1
- replacing outdated `ts-relayer` with new e2e tests HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cw-ics721.