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

Update Token Metadata can be proposed, voted on, and then fails on execute #904

Open
SvenDowideit opened this issue Jul 29, 2022 · 0 comments

Comments

@SvenDowideit
Copy link

presumably because the token metadata doesn't yet exist :)

sadly, this means the user has staked 0.0028?SOL, used fees, and possibly annoyed a quorum of Realm members

The UX is also way too developer specific - you get a toast that says

error executing instruction Error: Transaction failed: panicked at 'index out of bounds: the len is 0 but the index is 0', program/src/utils.rs:834:6

which of course isn't in any Solana-labs repo, its actually in the metaplex repo

which is more obvious if the user is a developer and looks in the console:

simulate resultlogs 
Array(11) [ "Program GovER5Lthms3bLBqWub97yVrMmEogzX7xNjdXpPPCVZw invoke [1]", "Program log: VERSION:\"2.2.5\"", "Program log: GOVERNANCE-INSTRUCTION: ExecuteTransaction", "Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s invoke [2]", "Program log: Instruction: Update Metadata Accounts v2", "Program log: panicked at 'index out of bounds: the len is 0 but the index is 0', program/src/utils.rs:834:6", "Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s consumed 5019 of 173344 compute units", "Program failed to complete: BPF program panicked", "Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s failed: Program failed to complete", "Program GovER5Lthms3bLBqWub97yVrMmEogzX7xNjdXpPPCVZw consumed 31675 of 200000 compute units", … ]
​
0: "Program GovER5Lthms3bLBqWub97yVrMmEogzX7xNjdXpPPCVZw invoke [1]"
​1: "Program log: VERSION:\"2.2.5\""
​2: "Program log: GOVERNANCE-INSTRUCTION: ExecuteTransaction"
​3: "Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s invoke [2]"
​4: "Program log: Instruction: Update Metadata Accounts v2"
​5: "Program log: panicked at 'index out of bounds: the len is 0 but the index is 0', program/src/utils.rs:834:6"
​6: "Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s consumed 5019 of 173344 compute units"
​7: "Program failed to complete: BPF program panicked"
​8: "Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s failed: Program failed to complete"
​9: "Program GovER5Lthms3bLBqWub97yVrMmEogzX7xNjdXpPPCVZw consumed 31675 of 200000 compute units"
​10: "Program GovER5Lthms3bLBqWub97yVrMmEogzX7xNjdXpPPCVZw failed: Program failed to complete"
​length: 11
​
<prototype>: Array []

long term, ideal UI?

I suspect there's a bunch of things needed at some point - a simulation pre-program that can test program pre-conditions, and return a user facing error message, which can be run at the proposal stage, and creates a "this won't work, because of X, are you sure you want to SENDIT?"

and something like onchain anchor IDL, that requires devs to create on-chain, i18n translateable error messages for users, so composing programs in the way governance-ui needs to isn't going to be full of code resembling expect script like "when you see a panic like this" tell the user "a specific user actionable suggestion"

Proposed Minimum change?

in the short term, I guess this project could probably write code to gate the "Add proposal" button based on testing what is on-chain (in this case, confirm that the user wants to make a proposal that will fail until some other proposal creates the metadata)?

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

1 participant