{ "version": "3.0.0", "name": "spl_governance", "instructions": [ { "name": "createRealm", "accounts": [ { "name": "realmAddress", "isMut": true, "isSigner": false }, { "name": "realmAuthority", "isMut": false, "isSigner": false }, { "name": "communityTokenMint", "isMut": false, "isSigner": false }, { "name": "communityTokenHoldingAddress", "isMut": true, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false } ], "args": [ { "name": "name", "type": "string" }, { "name": "configArgs", "type": { "defined": "RealmConfigArgs" } } ] }, { "name": "depositGoverningTokens", "accounts": [ { "name": "realm", "isMut": false, "isSigner": false }, { "name": "governingTokenHoldingAddress", "isMut": true, "isSigner": false }, { "name": "governingTokenSource", "isMut": true, "isSigner": false }, { "name": "governingTokenOwner", "isMut": false, "isSigner": true }, { "name": "governingTokenTransferAuthority", "isMut": false, "isSigner": true }, { "name": "tokenOwnerRecordAddress", "isMut": true, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" } ] }, { "name": "withdrawGoverningTokens", "accounts": [ { "name": "realm", "isMut": false, "isSigner": false }, { "name": "governingTokenHoldingAddress", "isMut": true, "isSigner": false }, { "name": "governingTokenDestination", "isMut": true, "isSigner": false }, { "name": "governingTokenOwner", "isMut": false, "isSigner": true }, { "name": "tokenOwnerRecordAddress", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "setGovernanceDelegate", "accounts": [ { "name": "governanceAuthority", "isMut": false, "isSigner": true }, { "name": "voteRecordAddress", "isMut": true, "isSigner": false } ], "args": [ { "name": "newGovernanceDelegate", "type": { "option": "publicKey" } } ] }, { "name": "createGovernance", "accounts": [ { "name": "realm", "isMut": false, "isSigner": false }, { "name": "governanceAddress", "isMut": true, "isSigner": false }, { "name": "governedAccountAddress", "isMut": false, "isSigner": false }, { "name": "tokenOwnerRecord", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "createAuthority", "isMut": false, "isSigner": true } ], "args": [ { "name": "config", "type": { "defined": "GovernanceConfig" } } ] }, { "name": "createProgramGovernance", "accounts": [ { "name": "realm", "isMut": false, "isSigner": false }, { "name": "programGovernanceAddress", "isMut": true, "isSigner": false }, { "name": "governedProgram", "isMut": false, "isSigner": false }, { "name": "governedProgramDataAddress", "isMut": true, "isSigner": false }, { "name": "governedProgramUpgradeAuthority", "isMut": false, "isSigner": true }, { "name": "tokenOwnerRecord", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "bpfLoaderUpgradeable", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "createAuthority", "isMut": false, "isSigner": true } ], "args": [ { "name": "config", "type": { "defined": "GovernanceConfig" } }, { "name": "transferUpgradeAuthority", "type": "bool" } ] }, { "name": "createProposal", "accounts": [ { "name": "realm", "isMut": false, "isSigner": false }, { "name": "proposalAddress", "isMut": true, "isSigner": false }, { "name": "governance", "isMut": true, "isSigner": false }, { "name": "proposalOwnerRecord", "isMut": true, "isSigner": false }, { "name": "governingTokenMint", "isMut": false, "isSigner": false }, { "name": "governanceAuthority", "isMut": false, "isSigner": true }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "name", "type": "string" }, { "name": "descriptionLink", "type": "string" }, { "name": "voteType", "type": { "defined": "VoteType" } }, { "name": "options", "type": { "vec": "string" } }, { "name": "useDenyOption", "type": "bool" } ] }, { "name": "addSignatory", "accounts": [ { "name": "proposal", "isMut": true, "isSigner": false }, { "name": "tokenOwnerRecord", "isMut": false, "isSigner": false }, { "name": "governanceAuthority", "isMut": false, "isSigner": true }, { "name": "signatoryRecordAddress", "isMut": true, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "signatory", "type": "publicKey" } ] }, { "name": "removeSignatory", "accounts": [ { "name": "proposal", "isMut": true, "isSigner": false }, { "name": "tokenOwnerRecord", "isMut": false, "isSigner": false }, { "name": "governanceAuthority", "isMut": false, "isSigner": true }, { "name": "signatoryRecordAddress", "isMut": true, "isSigner": false }, { "name": "beneficiary", "isMut": true, "isSigner": false } ], "args": [ { "name": "signatory", "type": "publicKey" } ] }, { "name": "insertTransaction", "accounts": [ { "name": "governance", "isMut": false, "isSigner": false }, { "name": "proposal", "isMut": true, "isSigner": false }, { "name": "tokenOwnerRecord", "isMut": false, "isSigner": false }, { "name": "governanceAuthority", "isMut": false, "isSigner": true }, { "name": "proposalTransactionAddress", "isMut": true, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false } ], "args": [ { "name": "optionIndex", "type": "u8" }, { "name": "index", "type": "u16" }, { "name": "holdUpTime", "type": "u32" }, { "name": "instructions", "type": { "vec": { "defined": "InstructionData" } } } ] }, { "name": "removeTransaction", "accounts": [ { "name": "proposal", "isMut": true, "isSigner": false }, { "name": "tokenOwnerRecord", "isMut": false, "isSigner": false }, { "name": "governanceAuthority", "isMut": false, "isSigner": true }, { "name": "proposalTransaction", "isMut": true, "isSigner": false }, { "name": "beneficiary", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "cancelProposal", "accounts": [ { "name": "realm", "isMut": true, "isSigner": false }, { "name": "governance", "isMut": true, "isSigner": false }, { "name": "proposal", "isMut": true, "isSigner": false }, { "name": "proposalOwnerRecord", "isMut": true, "isSigner": false }, { "name": "governanceAuthority", "isMut": false, "isSigner": true } ], "args": [] }, { "name": "signOffProposal", "accounts": [ { "name": "realm", "isMut": true, "isSigner": false }, { "name": "governance", "isMut": true, "isSigner": false }, { "name": "proposal", "isMut": true, "isSigner": false }, { "name": "signatory", "isMut": false, "isSigner": true } ], "args": [] }, { "name": "castVote", "accounts": [ { "name": "realm", "isMut": true, "isSigner": false }, { "name": "governance", "isMut": true, "isSigner": false }, { "name": "proposal", "isMut": true, "isSigner": false }, { "name": "proposalOwnerRecord", "isMut": true, "isSigner": false }, { "name": "voterTokenOwnerRecord", "isMut": true, "isSigner": false }, { "name": "governanceAuthority", "isMut": false, "isSigner": true }, { "name": "voteRecordAddress", "isMut": true, "isSigner": false }, { "name": "voteGoverningTokenMint", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "vote", "type": { "defined": "Vote" } } ] }, { "name": "finalizeVote", "accounts": [ { "name": "realm", "isMut": true, "isSigner": false }, { "name": "governance", "isMut": true, "isSigner": false }, { "name": "proposal", "isMut": true, "isSigner": false }, { "name": "proposalOwnerRecord", "isMut": true, "isSigner": false }, { "name": "governingTokenMint", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "relinquishVote", "accounts": [ { "name": "realm", "isMut": false, "isSigner": false }, { "name": "governance", "isMut": false, "isSigner": false }, { "name": "proposal", "isMut": true, "isSigner": false }, { "name": "tokenOwnerRecord", "isMut": true, "isSigner": false }, { "name": "voteRecordAddress", "isMut": true, "isSigner": false }, { "name": "voteGoverningTokenMint", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "executeTransaction", "accounts": [ { "name": "governance", "isMut": false, "isSigner": false }, { "name": "proposal", "isMut": true, "isSigner": false }, { "name": "proposalTransaction", "isMut": true, "isSigner": false }, { "name": "instructionProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "createMintGovernance", "accounts": [ { "name": "realm", "isMut": false, "isSigner": false }, { "name": "mintGovernanceAddress", "isMut": true, "isSigner": false }, { "name": "governedMint", "isMut": true, "isSigner": false }, { "name": "governedMintAuthority", "isMut": false, "isSigner": true }, { "name": "tokenOwnerRecord", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "createAuthority", "isMut": false, "isSigner": true } ], "args": [ { "name": "config", "type": { "defined": "GovernanceConfig" } }, { "name": "transferMintAuthorities", "type": "bool" } ] }, { "name": "createTokenGovernance", "accounts": [ { "name": "realm", "isMut": false, "isSigner": false }, { "name": "tokenGovernanceAddress", "isMut": true, "isSigner": false }, { "name": "governedToken", "isMut": true, "isSigner": false }, { "name": "governedTokenOwner", "isMut": false, "isSigner": true }, { "name": "tokenOwnerRecord", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "createAuthority", "isMut": false, "isSigner": true } ], "args": [ { "name": "config", "type": { "defined": "GovernanceConfig" } }, { "name": "transferAccountAuthorities", "type": "bool" } ] }, { "name": "setGovernanceConfig", "accounts": [ { "name": "governance", "isMut": true, "isSigner": true } ], "args": [ { "name": "config", "type": { "defined": "GovernanceConfig" } } ] }, { "name": "flagTransactionError", "accounts": [ { "name": "proposal", "isMut": true, "isSigner": false }, { "name": "tokenOwnerRecord", "isMut": false, "isSigner": false }, { "name": "governanceAuthority", "isMut": false, "isSigner": true }, { "name": "proposalTransaction", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "setRealmAuthority", "accounts": [ { "name": "realm", "isMut": true, "isSigner": false }, { "name": "realmAuthority", "isMut": false, "isSigner": true } ], "args": [ { "name": "action", "type": { "defined": "SetRealmAuthorityAction" } } ] }, { "name": "setRealmConfig", "accounts": [ { "name": "realm", "isMut": true, "isSigner": false }, { "name": "realmAuthority", "isMut": false, "isSigner": true } ], "args": [ { "name": "configArgs", "type": { "defined": "RealmConfigArgs" } } ] }, { "name": "createTokenOwnerRecord", "accounts": [ { "name": "realm", "isMut": false, "isSigner": false }, { "name": "governingTokenOwner", "isMut": false, "isSigner": false }, { "name": "tokenOwnerRecordAddress", "isMut": true, "isSigner": false }, { "name": "governingTokenMint", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "updateProgramMetadata", "accounts": [ { "name": "programMetadataAddress", "isMut": true, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "createNativeTreasury", "accounts": [ { "name": "governance", "isMut": false, "isSigner": false }, { "name": "nativeTreasuryAddress", "isMut": true, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] } ], "accounts": [ { "name": "RealmV2", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "communityMint", "type": "publicKey" }, { "name": "config", "type": { "defined": "RealmConfig" } }, { "name": "reserved", "type": { "array": [ "u8", 6 ] } }, { "name": "votingProposalCount", "type": "u16" }, { "name": "authority", "type": { "option": "publicKey" } }, { "name": "name", "type": "string" }, { "name": "reservedV2", "type": { "array": [ "u8", 128 ] } } ] } }, { "name": "ProposalV2", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "governance", "type": "publicKey" }, { "name": "governingTokenMint", "type": "publicKey" }, { "name": "state", "type": { "defined": "ProposalState" } }, { "name": "tokenOwnerRecord", "type": "publicKey" }, { "name": "signatoriesCount", "type": "u8" }, { "name": "signatoriesSignedOffCount", "type": "u8" }, { "name": "voteType", "type": { "defined": "VoteType" } }, { "name": "options", "type": { "vec": { "defined": "ProposalOption" } } }, { "name": "denyVoteWeight", "type": { "option": "u64" } }, { "name": "reserved1", "type": "u8" }, { "name": "abstainVoteWeight", "type": { "option": "u64" } }, { "name": "startVotingAt", "type": { "option": "i64" } }, { "name": "draftAt", "type": "i64" }, { "name": "signingOffAt", "type": { "option": "i64" } }, { "name": "votingAt", "type": { "option": "i64" } }, { "name": "votingAtSlot", "type": { "option": "u64" } }, { "name": "votingCompletedAt", "type": { "option": "i64" } }, { "name": "executingAt", "type": { "option": "i64" } }, { "name": "closedAt", "type": { "option": "i64" } }, { "name": "executionFlags", "type": { "defined": "InstructionExecutionFlags" } }, { "name": "maxVoteWeight", "type": { "option": "u64" } }, { "name": "maxVotingTime", "type": { "option": "u32" } }, { "name": "voteThreshold", "type": { "option": { "defined": "VoteThreshold" } } }, { "name": "reserved", "type": { "array": [ "u8", 64 ] } }, { "name": "name", "type": "string" }, { "name": "descriptionLink", "type": "string" }, { "name": "vetoVoteWeight", "type": "u64" } ] } }, { "name": "ProgramMetadata", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "updatedAt", "type": "u64" }, { "name": "version", "type": "string" }, { "name": "reserved", "type": { "array": [ "u8", 64 ] } } ] } }, { "name": "SignatoryRecordV2", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "proposal", "type": "publicKey" }, { "name": "signatory", "type": "publicKey" }, { "name": "signedOff", "type": "bool" }, { "name": "reservedV2", "type": { "array": [ "u8", 8 ] } } ] } }, { "name": "RealmV1", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "communityMint", "type": "publicKey" }, { "name": "config", "type": { "defined": "RealmConfig" } }, { "name": "reserved", "type": { "array": [ "u8", 6 ] } }, { "name": "votingProposalCount", "type": "u16" }, { "name": "authority", "type": { "option": "publicKey" } }, { "name": "name", "type": "string" } ] } }, { "name": "TokenOwnerRecordV1", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "realm", "type": "publicKey" }, { "name": "governingTokenMint", "type": "publicKey" }, { "name": "governingTokenOwner", "type": "publicKey" }, { "name": "governingTokenDepositAmount", "type": "u64" }, { "name": "unrelinquishedVotesCount", "type": "u32" }, { "name": "totalVotesCount", "type": "u32" }, { "name": "outstandingProposalCount", "type": "u8" }, { "name": "reserved", "type": { "array": [ "u8", 7 ] } }, { "name": "governanceDelegate", "type": { "option": "publicKey" } } ] } }, { "name": "GovernanceV1", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "realm", "type": "publicKey" }, { "name": "governedAccount", "type": "publicKey" }, { "name": "proposalsCount", "type": "u32" }, { "name": "config", "type": { "defined": "GovernanceConfig" } }, { "name": "reserved", "type": { "array": [ "u8", 6 ] } }, { "name": "votingProposalCount", "type": "u16" } ] } }, { "name": "ProposalV1", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "governance", "type": "publicKey" }, { "name": "governingTokenMint", "type": "publicKey" }, { "name": "state", "type": { "defined": "ProposalState" } }, { "name": "tokenOwnerRecord", "type": "publicKey" }, { "name": "signatoriesCount", "type": "u8" }, { "name": "signatoriesSignedOffCount", "type": "u8" }, { "name": "yesVotesCount", "type": "u64" }, { "name": "noVotesCount", "type": "u64" }, { "name": "instructionsExecutedCount", "type": "u16" }, { "name": "instructionsCount", "type": "u16" }, { "name": "instructionsNextIndex", "type": "u16" }, { "name": "draftAt", "type": "i64" }, { "name": "signingOffAt", "type": { "option": "i64" } }, { "name": "votingAt", "type": { "option": "i64" } }, { "name": "votingAtSlot", "type": { "option": "u64" } }, { "name": "votingCompletedAt", "type": { "option": "i64" } }, { "name": "executingAt", "type": { "option": "i64" } }, { "name": "closedAt", "type": { "option": "i64" } }, { "name": "executionFlags", "type": { "defined": "InstructionExecutionFlags" } }, { "name": "maxVoteWeight", "type": { "option": "u64" } }, { "name": "voteThreshold", "type": { "option": { "defined": "VoteThreshold" } } }, { "name": "name", "type": "string" }, { "name": "descriptionLink", "type": "string" } ] } }, { "name": "SignatoryRecordV1", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "proposal", "type": "publicKey" }, { "name": "signatory", "type": "publicKey" }, { "name": "signedOff", "type": "bool" } ] } }, { "name": "VoteRecordV1", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "proposal", "type": "publicKey" }, { "name": "governingTokenOwner", "type": "publicKey" }, { "name": "isRelinquished", "type": "bool" }, { "name": "voteWeight", "type": { "defined": "VoteWeightV1" } } ] } }, { "name": "GovernanceV2", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "realm", "type": "publicKey" }, { "name": "governedAccount", "type": "publicKey" }, { "name": "proposalsCount", "type": "u32" }, { "name": "config", "type": { "defined": "GovernanceConfig" } }, { "name": "reserved", "type": { "array": [ "u8", 6 ] } }, { "name": "votingProposalCount", "type": "u16" }, { "name": "reservedV2", "type": { "array": [ "u8", 128 ] } } ] } }, { "name": "VoteRecordV2", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "proposal", "type": "publicKey" }, { "name": "governingTokenOwner", "type": "publicKey" }, { "name": "isRelinquished", "type": "bool" }, { "name": "voterWeight", "type": "u64" }, { "name": "vote", "type": { "defined": "Vote" } }, { "name": "reservedV2", "type": { "array": [ "u8", 8 ] } } ] } }, { "name": "TokenOwnerRecordV2", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "realm", "type": "publicKey" }, { "name": "governingTokenMint", "type": "publicKey" }, { "name": "governingTokenOwner", "type": "publicKey" }, { "name": "governingTokenDepositAmount", "type": "u64" }, { "name": "unrelinquishedVotesCount", "type": "u32" }, { "name": "totalVotesCount", "type": "u32" }, { "name": "outstandingProposalCount", "type": "u8" }, { "name": "reserved", "type": { "array": [ "u8", 7 ] } }, { "name": "governanceDelegate", "type": { "option": "publicKey" } }, { "name": "reservedV2", "type": { "array": [ "u8", 128 ] } } ] } }, { "name": "RealmConfigAccount", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "realm", "type": "publicKey" }, { "name": "communityVoterWeightAddin", "type": { "option": "publicKey" } }, { "name": "maxCommunityVoterWeightAddin", "type": { "option": "publicKey" } }, { "name": "councilVoterWeightAddin", "type": { "option": "publicKey" } }, { "name": "councilMaxVoteWeightAddin", "type": { "option": "publicKey" } }, { "name": "reserved", "type": { "array": [ "u8", 128 ] } } ] } }, { "name": "ProposalTransactionV2", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "proposal", "type": "publicKey" }, { "name": "optionIndex", "type": "u8" }, { "name": "transactionIndex", "type": "u16" }, { "name": "holdUpTime", "type": "u32" }, { "name": "instructions", "type": { "vec": { "defined": "InstructionData" } } }, { "name": "executedAt", "type": { "option": "i64" } }, { "name": "executionStatus", "type": { "defined": "TransactionExecutionStatus" } }, { "name": "reservedV2", "type": { "array": [ "u8", 8 ] } } ] } } ], "types": [ { "name": "NativeTreasury", "type": { "kind": "struct", "fields": [] } }, { "name": "RealmConfigArgs", "type": { "kind": "struct", "fields": [ { "name": "useCouncilMint", "type": "bool" }, { "name": "minCommunityWeightToCreateGovernance", "type": "u64" }, { "name": "communityMintMaxVoteWeightSource", "type": { "defined": "MintMaxVoteWeightSource" } }, { "name": "useCommunityVoterWeightAddin", "type": "bool" }, { "name": "useMaxCommunityVoterWeightAddin", "type": "bool" } ] } }, { "name": "RealmConfig", "type": { "kind": "struct", "fields": [ { "name": "useCommunityVoterWeightAddin", "type": "bool" }, { "name": "useMaxCommunityVoterWeightAddin", "type": "bool" }, { "name": "reserved", "type": { "array": [ "u8", 6 ] } }, { "name": "minCommunityWeightToCreateGovernance", "type": "u64" }, { "name": "communityMintMaxVoteWeightSource", "type": { "defined": "MintMaxVoteWeightSource" } }, { "name": "councilMint", "type": { "option": "publicKey" } } ] } }, { "name": "ProposalOption", "type": { "kind": "struct", "fields": [ { "name": "label", "type": "string" }, { "name": "voteWeight", "type": "u64" }, { "name": "voteResult", "type": { "defined": "OptionVoteResult" } }, { "name": "transactionsExecutedCount", "type": "u16" }, { "name": "transactionsCount", "type": "u16" }, { "name": "transactionsNextIndex", "type": "u16" } ] } }, { "name": "GovernanceConfig", "type": { "kind": "struct", "fields": [ { "name": "communityVoteThreshold", "type": { "defined": "VoteThreshold" } }, { "name": "minCommunityWeightToCreateProposal", "type": "u64" }, { "name": "minTransactionHoldUpTime", "type": "u32" }, { "name": "maxVotingTime", "type": "u32" }, { "name": "voteTipping", "type": { "defined": "VoteTipping" } }, { "name": "councilVoteThreshold", "type": { "defined": "VoteThreshold" } }, { "name": "councilVetoVoteThreshold", "type": { "defined": "VoteThreshold" } }, { "name": "minCouncilWeightToCreateProposal", "type": "u64" } ] } }, { "name": "AccountMetaData", "type": { "kind": "struct", "fields": [ { "name": "pubkey", "type": "publicKey" }, { "name": "isSigner", "type": "bool" }, { "name": "isWritable", "type": "bool" } ] } }, { "name": "InstructionData", "type": { "kind": "struct", "fields": [ { "name": "programId", "type": "publicKey" }, { "name": "accounts", "type": { "vec": { "defined": "AccountMetaData" } } }, { "name": "data", "type": "bytes" } ] } }, { "name": "ProposalInstructionV1", "type": { "kind": "struct", "fields": [ { "name": "accountType", "type": { "defined": "GovernanceAccountType" } }, { "name": "proposal", "type": "publicKey" }, { "name": "instructionIndex", "type": "u16" }, { "name": "holdUpTime", "type": "u32" }, { "name": "instruction", "type": { "defined": "InstructionData" } }, { "name": "executedAt", "type": { "option": "i64" } }, { "name": "executionStatus", "type": { "defined": "TransactionExecutionStatus" } } ] } }, { "name": "VoteChoice", "type": { "kind": "struct", "fields": [ { "name": "rank", "type": "u8" }, { "name": "weightPercentage", "type": "u8" } ] } }, { "name": "MintMaxVoteWeightSource", "type": { "kind": "enum", "variants": [ { "name": "SupplyFraction", "fields": [ "u64" ] }, { "name": "Absolute", "fields": [ "u64" ] } ] } }, { "name": "GovernanceAccountType", "type": { "kind": "enum", "variants": [ { "name": "Uninitialized" }, { "name": "RealmV1" }, { "name": "TokenOwnerRecordV1" }, { "name": "GovernanceV1" }, { "name": "ProgramGovernanceV1" }, { "name": "ProposalV1" }, { "name": "SignatoryRecordV1" }, { "name": "VoteRecordV1" }, { "name": "ProposalInstructionV1" }, { "name": "MintGovernanceV1" }, { "name": "TokenGovernanceV1" }, { "name": "RealmConfig" }, { "name": "VoteRecordV2" }, { "name": "ProposalTransactionV2" }, { "name": "ProposalV2" }, { "name": "ProgramMetadata" }, { "name": "RealmV2" }, { "name": "TokenOwnerRecordV2" }, { "name": "GovernanceV2" }, { "name": "ProgramGovernanceV2" }, { "name": "MintGovernanceV2" }, { "name": "TokenGovernanceV2" }, { "name": "SignatoryRecordV2" } ] } }, { "name": "OptionVoteResult", "type": { "kind": "enum", "variants": [ { "name": "None" }, { "name": "Succeeded" }, { "name": "Defeated" } ] } }, { "name": "ProposalState", "type": { "kind": "enum", "variants": [ { "name": "Draft" }, { "name": "SigningOff" }, { "name": "Voting" }, { "name": "Succeeded" }, { "name": "Executing" }, { "name": "Completed" }, { "name": "Cancelled" }, { "name": "Defeated" }, { "name": "ExecutingWithErrors" }, { "name": "Vetoed" } ] } }, { "name": "VoteType", "type": { "kind": "enum", "variants": [ { "name": "SingleChoice" }, { "name": "MultiChoice", "fields": [ { "name": "max_voter_options", "type": "u8" }, { "name": "max_winning_options", "type": "u8" } ] } ] } }, { "name": "InstructionExecutionFlags", "type": { "kind": "enum", "variants": [ { "name": "None" }, { "name": "Ordered" }, { "name": "UseTransaction" } ] } }, { "name": "VoteThreshold", "type": { "kind": "enum", "variants": [ { "name": "YesVotePercentage", "fields": [ "u8" ] }, { "name": "QuorumPercentage", "fields": [ "u8" ] }, { "name": "Disabled" } ] } }, { "name": "VoteTipping", "type": { "kind": "enum", "variants": [ { "name": "Strict" }, { "name": "Early" }, { "name": "Disabled" } ] } }, { "name": "TransactionExecutionStatus", "type": { "kind": "enum", "variants": [ { "name": "None" }, { "name": "Success" }, { "name": "Error" } ] } }, { "name": "VoteWeightV1", "type": { "kind": "enum", "variants": [ { "name": "Yes", "fields": [ "u64" ] }, { "name": "No", "fields": [ "u64" ] } ] } }, { "name": "Vote", "type": { "kind": "enum", "variants": [ { "name": "Approve", "fields": [ { "vec": { "defined": "VoteChoice" } } ] }, { "name": "Deny" }, { "name": "Abstain" }, { "name": "Veto" } ] } }, { "name": "SetRealmAuthorityAction", "type": { "kind": "enum", "variants": [ { "name": "SetUnchecked" }, { "name": "SetChecked" }, { "name": "Remove" } ] } } ], "errors": [ { "code": 500, "name": "InvalidInstruction", "msg": "Invalid instruction passed to program" }, { "code": 501, "name": "RealmAlreadyExists", "msg": "Realm with the given name and governing mints already exists" }, { "code": 502, "name": "InvalidRealm", "msg": "Invalid realm" }, { "code": 503, "name": "InvalidGoverningTokenMint", "msg": "Invalid Governing Token Mint" }, { "code": 504, "name": "GoverningTokenOwnerMustSign", "msg": "Governing Token Owner must sign transaction" }, { "code": 505, "name": "GoverningTokenOwnerOrDelegateMustSign", "msg": "Governing Token Owner or Delegate must sign transaction" }, { "code": 506, "name": "AllVotesMustBeRelinquishedToWithdrawGoverningTokens", "msg": "All votes must be relinquished to withdraw governing tokens" }, { "code": 507, "name": "InvalidTokenOwnerRecordAccountAddress", "msg": "Invalid Token Owner Record account address" }, { "code": 508, "name": "InvalidGoverningMintForTokenOwnerRecord", "msg": "Invalid GoverningMint for TokenOwnerRecord" }, { "code": 509, "name": "InvalidRealmForTokenOwnerRecord", "msg": "Invalid Realm for TokenOwnerRecord" }, { "code": 510, "name": "InvalidProposalForProposalTransaction", "msg": "Invalid Proposal for ProposalTransaction," }, { "code": 511, "name": "InvalidSignatoryAddress", "msg": "Invalid Signatory account address" }, { "code": 512, "name": "SignatoryAlreadySignedOff", "msg": "Signatory already signed off" }, { "code": 513, "name": "SignatoryMustSign", "msg": "Signatory must sign" }, { "code": 514, "name": "InvalidProposalOwnerAccount", "msg": "Invalid Proposal Owner" }, { "code": 515, "name": "InvalidProposalForVoterRecord", "msg": "Invalid Proposal for VoterRecord" }, { "code": 516, "name": "InvalidGoverningTokenOwnerForVoteRecord", "msg": "Invalid GoverningTokenOwner for VoteRecord" }, { "code": 517, "name": "InvalidVoteThresholdPercentage", "msg": "Invalid Governance config: Vote threshold percentage out of range" }, { "code": 518, "name": "ProposalAlreadyExists", "msg": "Proposal for the given Governance, Governing Token Mint and index already exists" }, { "code": 519, "name": "VoteAlreadyExists", "msg": "Token Owner already voted on the Proposal" }, { "code": 520, "name": "NotEnoughTokensToCreateProposal", "msg": "Owner doesn't have enough governing tokens to create Proposal" }, { "code": 521, "name": "InvalidStateCannotEditSignatories", "msg": "Invalid State: Can't edit Signatories" }, { "code": 522, "name": "InvalidProposalState", "msg": "Invalid Proposal state" }, { "code": 523, "name": "InvalidStateCannotEditTransactions", "msg": "Invalid State: Can't edit transactions" }, { "code": 524, "name": "InvalidStateCannotExecuteTransaction", "msg": "Invalid State: Can't execute transaction" }, { "code": 525, "name": "CannotExecuteTransactionWithinHoldUpTime", "msg": "Can't execute transaction within its hold up time" }, { "code": 526, "name": "TransactionAlreadyExecuted", "msg": "Transaction already executed" }, { "code": 527, "name": "InvalidTransactionIndex", "msg": "Invalid Transaction index" }, { "code": 528, "name": "TransactionHoldUpTimeBelowRequiredMin", "msg": "Transaction hold up time is below the min specified by Governance" }, { "code": 529, "name": "TransactionAlreadyExists", "msg": "Transaction at the given index for the Proposal already exists" }, { "code": 530, "name": "InvalidStateCannotSignOff", "msg": "Invalid State: Can't sign off" }, { "code": 531, "name": "InvalidStateCannotVote", "msg": "Invalid State: Can't vote" }, { "code": 532, "name": "InvalidStateCannotFinalize", "msg": "Invalid State: Can't finalize vote" }, { "code": 533, "name": "InvalidStateCannotCancelProposal", "msg": "Invalid State: Can't cancel Proposal" }, { "code": 534, "name": "VoteAlreadyRelinquished", "msg": "Vote already relinquished" }, { "code": 535, "name": "CannotFinalizeVotingInProgress", "msg": "Can't finalize vote. Voting still in progress" }, { "code": 536, "name": "ProposalVotingTimeExpired", "msg": "Proposal voting time expired" }, { "code": 537, "name": "InvalidSignatoryMint", "msg": "Invalid Signatory Mint" }, { "code": 538, "name": "InvalidGovernanceForProposal", "msg": "Proposal does not belong to the given Governance" }, { "code": 539, "name": "InvalidGoverningMintForProposal", "msg": "Proposal does not belong to given Governing Mint" }, { "code": 540, "name": "MintAuthorityMustSign", "msg": "Current mint authority must sign transaction" }, { "code": 541, "name": "InvalidMintAuthority", "msg": "Invalid mint authority" }, { "code": 542, "name": "MintHasNoAuthority", "msg": "Mint has no authority" }, { "code": 543, "name": "SplTokenAccountWithInvalidOwner", "msg": "Invalid Token account owner" }, { "code": 544, "name": "SplTokenMintWithInvalidOwner", "msg": "Invalid Mint account owner" }, { "code": 545, "name": "SplTokenAccountNotInitialized", "msg": "Token Account is not initialized" }, { "code": 546, "name": "SplTokenAccountDoesNotExist", "msg": "Token Account doesn't exist" }, { "code": 547, "name": "SplTokenInvalidTokenAccountData", "msg": "Token account data is invalid" }, { "code": 548, "name": "SplTokenInvalidMintAccountData", "msg": "Token mint account data is invalid" }, { "code": 549, "name": "SplTokenMintNotInitialized", "msg": "Token Mint account is not initialized" }, { "code": 550, "name": "SplTokenMintDoesNotExist", "msg": "Token Mint account doesn't exist" }, { "code": 551, "name": "InvalidProgramDataAccountAddress", "msg": "Invalid ProgramData account address" }, { "code": 552, "name": "InvalidProgramDataAccountData", "msg": "Invalid ProgramData account Data" }, { "code": 553, "name": "InvalidUpgradeAuthority", "msg": "Provided upgrade authority doesn't match current program upgrade authority" }, { "code": 554, "name": "UpgradeAuthorityMustSign", "msg": "Current program upgrade authority must sign transaction" }, { "code": 555, "name": "ProgramNotUpgradable", "msg": "Given program is not upgradable" }, { "code": 556, "name": "InvalidTokenOwner", "msg": "Invalid token owner" }, { "code": 557, "name": "TokenOwnerMustSign", "msg": "Current token owner must sign transaction" }, { "code": 558, "name": "VoteThresholdTypeNotSupported", "msg": "Given VoteThresholdType is not supported" }, { "code": 559, "name": "VoteWeightSourceNotSupported", "msg": "Given VoteWeightSource is not supported" }, { "code": 560, "name": "GoverningTokenMintNotAllowedToVote", "msg": "GoverningTokenMint not allowed to vote" }, { "code": 561, "name": "GovernancePdaMustSign", "msg": "Governance PDA must sign" }, { "code": 562, "name": "TransactionAlreadyFlaggedWithError", "msg": "Transaction already flagged with error" }, { "code": 563, "name": "InvalidRealmForGovernance", "msg": "Invalid Realm for Governance" }, { "code": 564, "name": "InvalidAuthorityForRealm", "msg": "Invalid Authority for Realm" }, { "code": 565, "name": "RealmHasNoAuthority", "msg": "Realm has no authority" }, { "code": 566, "name": "RealmAuthorityMustSign", "msg": "Realm authority must sign" }, { "code": 567, "name": "InvalidGoverningTokenHoldingAccount", "msg": "Invalid governing token holding account" }, { "code": 568, "name": "RealmCouncilMintChangeIsNotSupported", "msg": "Realm council mint change is not supported" }, { "code": 569, "name": "MintMaxVoteWeightSourceNotSupported", "msg": "Not supported mint max vote weight source" }, { "code": 570, "name": "InvalidMaxVoteWeightSupplyFraction", "msg": "Invalid max vote weight supply fraction" }, { "code": 571, "name": "NotEnoughTokensToCreateGovernance", "msg": "Owner doesn't have enough governing tokens to create Governance" }, { "code": 572, "name": "TooManyOutstandingProposals", "msg": "Too many outstanding proposals" }, { "code": 573, "name": "AllProposalsMustBeFinalisedToWithdrawGoverningTokens", "msg": "All proposals must be finalized to withdraw governing tokens" }, { "code": 574, "name": "InvalidVoterWeightRecordForRealm", "msg": "Invalid VoterWeightRecord for Realm" }, { "code": 575, "name": "InvalidVoterWeightRecordForGoverningTokenMint", "msg": "Invalid VoterWeightRecord for GoverningTokenMint" }, { "code": 576, "name": "InvalidVoterWeightRecordForTokenOwner", "msg": "Invalid VoterWeightRecord for TokenOwner" }, { "code": 577, "name": "VoterWeightRecordExpired", "msg": "VoterWeightRecord expired" }, { "code": 578, "name": "InvalidRealmConfigForRealm", "msg": "Invalid RealmConfig for Realm" }, { "code": 579, "name": "TokenOwnerRecordAlreadyExists", "msg": "TokenOwnerRecord already exists" }, { "code": 580, "name": "GoverningTokenDepositsNotAllowed", "msg": "Governing token deposits not allowed" }, { "code": 581, "name": "InvalidVoteChoiceWeightPercentage", "msg": "Invalid vote choice weight percentage" }, { "code": 582, "name": "VoteTypeNotSupported", "msg": "Vote type not supported" }, { "code": 583, "name": "InvalidProposalOptions", "msg": "Invalid proposal options" }, { "code": 584, "name": "ProposalIsNotExecutable", "msg": "Proposal is not not executable" }, { "code": 585, "name": "InvalidVote", "msg": "Invalid vote" }, { "code": 586, "name": "CannotExecuteDefeatedOption", "msg": "Cannot execute defeated option" }, { "code": 587, "name": "VoterWeightRecordInvalidAction", "msg": "VoterWeightRecord invalid action" }, { "code": 588, "name": "VoterWeightRecordInvalidActionTarget", "msg": "VoterWeightRecord invalid action target" }, { "code": 589, "name": "InvalidMaxVoterWeightRecordForRealm", "msg": "Invalid MaxVoterWeightRecord for Realm" }, { "code": 590, "name": "InvalidMaxVoterWeightRecordForGoverningTokenMint", "msg": "Invalid MaxVoterWeightRecord for GoverningTokenMint" }, { "code": 591, "name": "MaxVoterWeightRecordExpired", "msg": "MaxVoterWeightRecord expired" }, { "code": 592, "name": "NotSupportedVoteType", "msg": "Not supported VoteType" }, { "code": 593, "name": "RealmConfigChangeNotAllowed", "msg": "RealmConfig change not allowed" }, { "code": 594, "name": "GovernanceConfigChangeNotAllowed", "msg": "GovernanceConfig change not allowed" }, { "code": 595, "name": "AtLeastOneVoteThresholdRequired", "msg": "At least one VoteThreshold is required" }, { "code": 596, "name": "ReservedBufferMustBeEmpty", "msg": "Reserved buffer must be empty" }, { "code": 597, "name": "CannotRelinquishInFinalizingState", "msg": "Cannot Relinquish in Finalizing state" } ] }