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

Contract Simplification + Source of Truth #51

Open
mpeyfuss opened this issue Dec 26, 2023 · 3 comments
Open

Contract Simplification + Source of Truth #51

mpeyfuss opened this issue Dec 26, 2023 · 3 comments

Comments

@mpeyfuss
Copy link

Overall, I think there is a need to simplify a lot of the interface in order to get more adoption outside of the 6529 ecosystem. There are too many retrieve functions with lacking documentation, leading to expectations that aren't met in code.

You mainly need just one or two functions to get if a delegated address is delegated or not for a specific use case, collection (or all collections), token, and at a specific timestamp. It would remove a lot of need to loop over delegate addresses found in many of the write functions. If you still want enumerations of all delegates or delegations, you can still achieve a simpler read interface than currently exists. The main point is to have one/two source of truth functions, plus a few other functions that provide nice enumerations for indexing.

@mpeyfuss
Copy link
Author

Of course, I don't have the full vision that you all had when building it so some of the functions may be needed for reasons that I'm not thinking of, but I have tried to glean as much background info from the documentation as I can. Cheers!

@a2rocket
Copy link
Collaborator

The smart contract was designed with advanced features in mind that may be used or not in the future. In terms of documentation you can have a look at the draft for now docs located at https://docs.nftdelegation.com/ . There is also a Developer Center with sample integration examples.

@mpeyfuss
Copy link
Author

Understood. There is a world where there are simple calls that can be made for easy integration, while keeping advanced features. Overall, there are some functions that seem to be geared towards simple integration, such as retrieveTokenStatus or retrieveGlobalStatusOfDelegation, but they have several pitfalls that could supply misleading information as expiration times aren't checked, ALL_COLLECTIONS aren't checked, etc. Overall, I think this is the biggest struggle point for me right now. There are seemingly simple check functions that I would love to use and are all I need, but they don't actually work as I would expect and to integrate, I would be forced to essentially just write a bunch of logic myself to loop through active delegations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants