UNPKG

@tribecahq/tribeca-sdk

Version:

The TypeScript SDK for Tribeca, an open standard and toolkit for launching DAOs on Solana.

836 lines (834 loc) 16.3 kB
import { generateErrorMap } from "@saberhq/anchor-contrib"; export type SimpleVoterIDL = { version: "0.5.8"; name: "simple_voter"; instructions: [ { name: "initializeElectorate"; accounts: [ { name: "base"; isMut: false; isSigner: true; }, { name: "electorate"; isMut: true; isSigner: false; pda: { seeds: [ { kind: "const"; type: "string"; value: "SimpleElectorate"; }, { kind: "account"; type: "publicKey"; path: "base"; } ]; }; }, { name: "governor"; isMut: false; isSigner: false; }, { name: "govTokenMint"; isMut: false; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "bump"; type: "u8"; }, { name: "proposalThreshold"; type: "u64"; } ]; }, { name: "initializeTokenRecord"; accounts: [ { name: "authority"; isMut: false; isSigner: true; }, { name: "tokenRecord"; isMut: true; isSigner: false; pda: { seeds: [ { kind: "const"; type: "string"; value: "SimpleTokenRecord"; }, { kind: "account"; type: "publicKey"; path: "authority"; }, { kind: "account"; type: "publicKey"; account: "state :: Electorate"; path: "electorate"; } ]; }; }, { name: "electorate"; isMut: true; isSigner: false; }, { name: "govTokenVault"; isMut: false; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "bump"; type: "u8"; } ]; }, { name: "activateProposal"; accounts: [ { name: "electorate"; isMut: false; isSigner: false; }, { name: "governor"; isMut: false; isSigner: false; }, { name: "proposal"; isMut: true; isSigner: false; }, { name: "governProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "depositTokens"; accounts: [ { name: "authority"; isMut: false; isSigner: true; }, { name: "tokenRecord"; isMut: true; isSigner: false; }, { name: "govTokenAccount"; isMut: true; isSigner: false; }, { name: "govTokenVault"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "amount"; type: "u64"; } ]; }, { name: "withdrawTokens"; accounts: [ { name: "authority"; isMut: false; isSigner: true; }, { name: "tokenRecord"; isMut: true; isSigner: false; }, { name: "govTokenAccount"; isMut: true; isSigner: false; }, { name: "govTokenVault"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "amount"; type: "u64"; } ]; }, { name: "castVotes"; accounts: [ { name: "electorate"; isMut: false; isSigner: false; }, { name: "authority"; isMut: false; isSigner: true; }, { name: "proposal"; isMut: true; isSigner: false; }, { name: "tokenRecord"; isMut: true; isSigner: false; }, { name: "vote"; isMut: true; isSigner: false; }, { name: "tribeca"; accounts: [ { name: "governor"; isMut: true; isSigner: false; }, { name: "program"; isMut: false; isSigner: false; } ]; } ]; args: [ { name: "voteSide"; type: "u8"; } ]; }, { name: "withdrawVotes"; accounts: [ { name: "electorate"; isMut: false; isSigner: false; }, { name: "authority"; isMut: false; isSigner: true; }, { name: "proposal"; isMut: true; isSigner: false; }, { name: "tokenRecord"; isMut: true; isSigner: false; }, { name: "vote"; isMut: true; isSigner: false; }, { name: "tribeca"; accounts: [ { name: "governor"; isMut: true; isSigner: false; }, { name: "program"; isMut: false; isSigner: false; } ]; } ]; args: []; }, { name: "finalizeVotes"; accounts: [ { name: "authority"; isMut: false; isSigner: true; }, { name: "governor"; isMut: true; isSigner: false; }, { name: "proposal"; isMut: true; isSigner: false; }, { name: "tokenRecord"; isMut: true; isSigner: false; } ]; args: []; } ]; accounts: [ { name: "Electorate"; type: { kind: "struct"; fields: [ { name: "bump"; type: "u8"; }, { name: "base"; type: "publicKey"; }, { name: "governor"; type: "publicKey"; }, { name: "govTokenMint"; type: "publicKey"; }, { name: "proposalThreshold"; type: "u64"; } ]; }; }, { name: "TokenRecord"; type: { kind: "struct"; fields: [ { name: "bump"; type: "u8"; }, { name: "authority"; type: "publicKey"; }, { name: "electorate"; type: "publicKey"; }, { name: "tokenVaultKey"; type: "publicKey"; }, { name: "balance"; type: "u64"; }, { name: "unfinalizedVotes"; type: "u64"; } ]; }; } ]; errors: [ { code: 6000; name: "BelowProposingThreshold"; msg: "Below proposing threshold."; } ]; }; export const SimpleVoterJSON: SimpleVoterIDL = { version: "0.5.8", name: "simple_voter", instructions: [ { name: "initializeElectorate", accounts: [ { name: "base", isMut: false, isSigner: true, }, { name: "electorate", isMut: true, isSigner: false, pda: { seeds: [ { kind: "const", type: "string", value: "SimpleElectorate", }, { kind: "account", type: "publicKey", path: "base", }, ], }, }, { name: "governor", isMut: false, isSigner: false, }, { name: "govTokenMint", isMut: false, isSigner: false, }, { name: "payer", isMut: true, isSigner: true, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "bump", type: "u8", }, { name: "proposalThreshold", type: "u64", }, ], }, { name: "initializeTokenRecord", accounts: [ { name: "authority", isMut: false, isSigner: true, }, { name: "tokenRecord", isMut: true, isSigner: false, pda: { seeds: [ { kind: "const", type: "string", value: "SimpleTokenRecord", }, { kind: "account", type: "publicKey", path: "authority", }, { kind: "account", type: "publicKey", account: "state :: Electorate", path: "electorate", }, ], }, }, { name: "electorate", isMut: true, isSigner: false, }, { name: "govTokenVault", isMut: false, isSigner: false, }, { name: "payer", isMut: true, isSigner: true, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "bump", type: "u8", }, ], }, { name: "activateProposal", accounts: [ { name: "electorate", isMut: false, isSigner: false, }, { name: "governor", isMut: false, isSigner: false, }, { name: "proposal", isMut: true, isSigner: false, }, { name: "governProgram", isMut: false, isSigner: false, }, ], args: [], }, { name: "depositTokens", accounts: [ { name: "authority", isMut: false, isSigner: true, }, { name: "tokenRecord", isMut: true, isSigner: false, }, { name: "govTokenAccount", isMut: true, isSigner: false, }, { name: "govTokenVault", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, ], args: [ { name: "amount", type: "u64", }, ], }, { name: "withdrawTokens", accounts: [ { name: "authority", isMut: false, isSigner: true, }, { name: "tokenRecord", isMut: true, isSigner: false, }, { name: "govTokenAccount", isMut: true, isSigner: false, }, { name: "govTokenVault", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, ], args: [ { name: "amount", type: "u64", }, ], }, { name: "castVotes", accounts: [ { name: "electorate", isMut: false, isSigner: false, }, { name: "authority", isMut: false, isSigner: true, }, { name: "proposal", isMut: true, isSigner: false, }, { name: "tokenRecord", isMut: true, isSigner: false, }, { name: "vote", isMut: true, isSigner: false, }, { name: "tribeca", accounts: [ { name: "governor", isMut: true, isSigner: false, }, { name: "program", isMut: false, isSigner: false, }, ], }, ], args: [ { name: "voteSide", type: "u8", }, ], }, { name: "withdrawVotes", accounts: [ { name: "electorate", isMut: false, isSigner: false, }, { name: "authority", isMut: false, isSigner: true, }, { name: "proposal", isMut: true, isSigner: false, }, { name: "tokenRecord", isMut: true, isSigner: false, }, { name: "vote", isMut: true, isSigner: false, }, { name: "tribeca", accounts: [ { name: "governor", isMut: true, isSigner: false, }, { name: "program", isMut: false, isSigner: false, }, ], }, ], args: [], }, { name: "finalizeVotes", accounts: [ { name: "authority", isMut: false, isSigner: true, }, { name: "governor", isMut: true, isSigner: false, }, { name: "proposal", isMut: true, isSigner: false, }, { name: "tokenRecord", isMut: true, isSigner: false, }, ], args: [], }, ], accounts: [ { name: "Electorate", type: { kind: "struct", fields: [ { name: "bump", type: "u8", }, { name: "base", type: "publicKey", }, { name: "governor", type: "publicKey", }, { name: "govTokenMint", type: "publicKey", }, { name: "proposalThreshold", type: "u64", }, ], }, }, { name: "TokenRecord", type: { kind: "struct", fields: [ { name: "bump", type: "u8", }, { name: "authority", type: "publicKey", }, { name: "electorate", type: "publicKey", }, { name: "tokenVaultKey", type: "publicKey", }, { name: "balance", type: "u64", }, { name: "unfinalizedVotes", type: "u64", }, ], }, }, ], errors: [ { code: 6000, name: "BelowProposingThreshold", msg: "Below proposing threshold.", }, ], }; export const SimpleVoterErrors = generateErrorMap(SimpleVoterJSON);