@tribecahq/tribeca-sdk
Version:
The TypeScript SDK for Tribeca, an open standard and toolkit for launching DAOs on Solana.
1,013 lines • 29.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LockedVoterErrors = exports.LockedVoterJSON = void 0;
const anchor_contrib_1 = require("@saberhq/anchor-contrib");
exports.LockedVoterJSON = {
version: "0.5.8",
name: "locked_voter",
instructions: [
{
name: "newLocker",
accounts: [
{
name: "base",
isMut: false,
isSigner: true,
},
{
name: "locker",
isMut: true,
isSigner: false,
pda: {
seeds: [
{
kind: "const",
type: "string",
value: "Locker",
},
{
kind: "account",
type: "publicKey",
path: "base",
},
],
},
},
{
name: "tokenMint",
isMut: false,
isSigner: false,
},
{
name: "governor",
isMut: false,
isSigner: false,
},
{
name: "payer",
isMut: true,
isSigner: true,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bump",
type: "u8",
},
{
name: "params",
type: {
defined: "LockerParams",
},
},
],
},
{
name: "newEscrow",
accounts: [
{
name: "locker",
isMut: false,
isSigner: false,
},
{
name: "escrow",
isMut: true,
isSigner: false,
pda: {
seeds: [
{
kind: "const",
type: "string",
value: "Escrow",
},
{
kind: "account",
type: "publicKey",
account: "Locker",
path: "locker",
},
{
kind: "account",
type: "publicKey",
path: "escrow_owner",
},
],
},
},
{
name: "escrowOwner",
isMut: false,
isSigner: false,
},
{
name: "payer",
isMut: true,
isSigner: true,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bump",
type: "u8",
},
],
},
{
name: "lock",
accounts: [
{
name: "locker",
isMut: true,
isSigner: false,
},
{
name: "escrow",
isMut: true,
isSigner: false,
},
{
name: "escrowTokens",
isMut: true,
isSigner: false,
},
{
name: "escrowOwner",
isMut: false,
isSigner: true,
},
{
name: "sourceTokens",
isMut: true,
isSigner: false,
},
{
name: "tokenProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "amount",
type: "u64",
},
{
name: "duration",
type: "i64",
},
],
},
{
name: "lockWithWhitelist",
accounts: [
{
name: "lock",
accounts: [
{
name: "locker",
isMut: true,
isSigner: false,
},
{
name: "escrow",
isMut: true,
isSigner: false,
},
{
name: "escrowTokens",
isMut: true,
isSigner: false,
},
{
name: "escrowOwner",
isMut: false,
isSigner: true,
},
{
name: "sourceTokens",
isMut: true,
isSigner: false,
},
{
name: "tokenProgram",
isMut: false,
isSigner: false,
},
],
},
{
name: "instructionsSysvar",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "amount",
type: "u64",
},
{
name: "duration",
type: "i64",
},
],
},
{
name: "lockWithWhitelistEntry",
accounts: [
{
name: "lock",
accounts: [
{
name: "locker",
isMut: true,
isSigner: false,
},
{
name: "escrow",
isMut: true,
isSigner: false,
},
{
name: "escrowTokens",
isMut: true,
isSigner: false,
},
{
name: "escrowOwner",
isMut: false,
isSigner: true,
},
{
name: "sourceTokens",
isMut: true,
isSigner: false,
},
{
name: "tokenProgram",
isMut: false,
isSigner: false,
},
],
},
{
name: "instructionsSysvar",
isMut: false,
isSigner: false,
},
{
name: "whitelistEntry",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "amount",
type: "u64",
},
{
name: "duration",
type: "i64",
},
],
},
{
name: "lockPermissionless",
accounts: [
{
name: "locker",
isMut: true,
isSigner: false,
},
{
name: "escrow",
isMut: true,
isSigner: false,
},
{
name: "escrowTokens",
isMut: true,
isSigner: false,
},
{
name: "escrowOwner",
isMut: false,
isSigner: true,
},
{
name: "sourceTokens",
isMut: true,
isSigner: false,
},
{
name: "tokenProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "amount",
type: "u64",
},
{
name: "duration",
type: "i64",
},
],
},
{
name: "exit",
accounts: [
{
name: "locker",
isMut: true,
isSigner: false,
},
{
name: "escrow",
isMut: true,
isSigner: false,
},
{
name: "escrowOwner",
isMut: false,
isSigner: true,
},
{
name: "escrowTokens",
isMut: true,
isSigner: false,
},
{
name: "destinationTokens",
isMut: true,
isSigner: false,
},
{
name: "payer",
isMut: true,
isSigner: true,
},
{
name: "tokenProgram",
isMut: false,
isSigner: false,
},
],
args: [],
},
{
name: "activateProposal",
accounts: [
{
name: "locker",
isMut: false,
isSigner: false,
},
{
name: "governor",
isMut: false,
isSigner: false,
},
{
name: "proposal",
isMut: true,
isSigner: false,
},
{
name: "escrow",
isMut: false,
isSigner: false,
},
{
name: "escrowOwner",
isMut: false,
isSigner: true,
},
{
name: "governProgram",
isMut: false,
isSigner: false,
},
],
args: [],
},
{
name: "castVote",
accounts: [
{
name: "locker",
isMut: false,
isSigner: false,
},
{
name: "escrow",
isMut: false,
isSigner: false,
},
{
name: "voteDelegate",
isMut: false,
isSigner: true,
},
{
name: "proposal",
isMut: true,
isSigner: false,
},
{
name: "vote",
isMut: true,
isSigner: false,
},
{
name: "governor",
isMut: false,
isSigner: false,
},
{
name: "governProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "side",
type: "u8",
},
],
},
{
name: "setVoteDelegate",
accounts: [
{
name: "escrow",
isMut: true,
isSigner: false,
},
{
name: "escrowOwner",
isMut: false,
isSigner: true,
},
],
args: [
{
name: "newDelegate",
type: "publicKey",
},
],
},
{
name: "setLockerParams",
accounts: [
{
name: "locker",
isMut: true,
isSigner: false,
},
{
name: "governor",
isMut: false,
isSigner: false,
},
{
name: "smartWallet",
isMut: false,
isSigner: true,
},
],
args: [
{
name: "params",
type: {
defined: "LockerParams",
},
},
],
},
{
name: "approveProgramLockPrivilege",
accounts: [
{
name: "locker",
isMut: false,
isSigner: false,
},
{
name: "whitelistEntry",
isMut: true,
isSigner: false,
pda: {
seeds: [
{
kind: "const",
type: "string",
value: "LockerWhitelistEntry",
},
{
kind: "account",
type: "publicKey",
account: "Locker",
path: "locker",
},
{
kind: "account",
type: "publicKey",
path: "executable_id",
},
{
kind: "account",
type: "publicKey",
path: "whitelisted_owner",
},
],
},
},
{
name: "governor",
isMut: false,
isSigner: false,
},
{
name: "smartWallet",
isMut: false,
isSigner: true,
},
{
name: "executableId",
isMut: false,
isSigner: false,
},
{
name: "whitelistedOwner",
isMut: false,
isSigner: false,
},
{
name: "payer",
isMut: true,
isSigner: true,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bump",
type: "u8",
},
],
},
{
name: "revokeProgramLockPrivilege",
accounts: [
{
name: "locker",
isMut: false,
isSigner: false,
},
{
name: "whitelistEntry",
isMut: true,
isSigner: false,
},
{
name: "governor",
isMut: false,
isSigner: false,
},
{
name: "smartWallet",
isMut: false,
isSigner: true,
},
{
name: "payer",
isMut: true,
isSigner: true,
},
],
args: [],
},
],
accounts: [
{
name: "Locker",
type: {
kind: "struct",
fields: [
{
name: "base",
type: "publicKey",
},
{
name: "bump",
type: "u8",
},
{
name: "tokenMint",
type: "publicKey",
},
{
name: "lockedSupply",
type: "u64",
},
{
name: "governor",
type: "publicKey",
},
{
name: "params",
type: {
defined: "LockerParams",
},
},
],
},
},
{
name: "LockerWhitelistEntry",
type: {
kind: "struct",
fields: [
{
name: "bump",
type: "u8",
},
{
name: "locker",
type: "publicKey",
},
{
name: "programId",
type: "publicKey",
},
{
name: "owner",
type: "publicKey",
},
],
},
},
{
name: "Escrow",
type: {
kind: "struct",
fields: [
{
name: "locker",
type: "publicKey",
},
{
name: "owner",
type: "publicKey",
},
{
name: "bump",
type: "u8",
},
{
name: "tokens",
type: "publicKey",
},
{
name: "amount",
type: "u64",
},
{
name: "escrowStartedAt",
type: "i64",
},
{
name: "escrowEndsAt",
type: "i64",
},
{
name: "voteDelegate",
type: "publicKey",
},
],
},
},
],
types: [
{
name: "LockerParams",
type: {
kind: "struct",
fields: [
{
name: "whitelistEnabled",
type: "bool",
},
{
name: "maxStakeVoteMultiplier",
type: "u8",
},
{
name: "minStakeDuration",
type: "u64",
},
{
name: "maxStakeDuration",
type: "u64",
},
{
name: "proposalActivationMinVotes",
type: "u64",
},
],
},
},
],
events: [
{
name: "ApproveLockPrivilegeEvent",
fields: [
{
name: "locker",
type: "publicKey",
index: false,
},
{
name: "programId",
type: "publicKey",
index: false,
},
{
name: "owner",
type: "publicKey",
index: false,
},
{
name: "timestamp",
type: "i64",
index: false,
},
],
},
{
name: "ExitEscrowEvent",
fields: [
{
name: "escrowOwner",
type: "publicKey",
index: false,
},
{
name: "locker",
type: "publicKey",
index: false,
},
{
name: "timestamp",
type: "i64",
index: false,
},
{
name: "lockerSupply",
type: "u64",
index: false,
},
{
name: "releasedAmount",
type: "u64",
index: false,
},
],
},
{
name: "LockEvent",
fields: [
{
name: "locker",
type: "publicKey",
index: false,
},
{
name: "escrowOwner",
type: "publicKey",
index: false,
},
{
name: "tokenMint",
type: "publicKey",
index: false,
},
{
name: "amount",
type: "u64",
index: false,
},
{
name: "lockerSupply",
type: "u64",
index: false,
},
{
name: "duration",
type: "i64",
index: false,
},
{
name: "prevEscrowEndsAt",
type: "i64",
index: false,
},
{
name: "nextEscrowEndsAt",
type: "i64",
index: false,
},
{
name: "nextEscrowStartedAt",
type: "i64",
index: false,
},
],
},
{
name: "NewEscrowEvent",
fields: [
{
name: "escrow",
type: "publicKey",
index: false,
},
{
name: "escrowOwner",
type: "publicKey",
index: false,
},
{
name: "locker",
type: "publicKey",
index: false,
},
{
name: "timestamp",
type: "i64",
index: false,
},
],
},
{
name: "NewLockerEvent",
fields: [
{
name: "governor",
type: "publicKey",
index: false,
},
{
name: "locker",
type: "publicKey",
index: false,
},
{
name: "tokenMint",
type: "publicKey",
index: false,
},
{
name: "params",
type: {
defined: "LockerParams",
},
index: false,
},
],
},
{
name: "RevokeLockPrivilegeEvent",
fields: [
{
name: "locker",
type: "publicKey",
index: false,
},
{
name: "programId",
type: "publicKey",
index: false,
},
{
name: "timestamp",
type: "i64",
index: false,
},
],
},
{
name: "LockerSetParamsEvent",
fields: [
{
name: "locker",
type: "publicKey",
index: false,
},
{
name: "prevParams",
type: {
defined: "LockerParams",
},
index: false,
},
{
name: "params",
type: {
defined: "LockerParams",
},
index: false,
},
],
},
{
name: "SetVoteDelegateEvent",
fields: [
{
name: "escrowOwner",
type: "publicKey",
index: false,
},
{
name: "oldDelegate",
type: "publicKey",
index: false,
},
{
name: "newDelegate",
type: "publicKey",
index: false,
},
],
},
],
errors: [
{
code: 6000,
name: "ProgramNotWhitelisted",
msg: "CPI caller not whitelisted to invoke lock instruction.",
},
{
code: 6001,
name: "LockupDurationTooShort",
msg: "Lockup duration must at least be the min stake duration.",
},
{
code: 6002,
name: "LockupDurationTooLong",
msg: "Lockup duration must at most be the max stake duration.",
},
{
code: 6003,
name: "RefreshCannotShorten",
msg: "A voting escrow refresh cannot shorten the escrow time remaining.",
},
{
code: 6004,
name: "EscrowNotEnded",
msg: "Escrow has not ended.",
},
{
code: 6005,
name: "MustProvideWhitelist",
msg: "Program whitelist enabled; please provide whitelist entry and instructions sysvar or use the 'lock_with_whitelist' instruction.",
},
{
code: 6006,
name: "EscrowOwnerNotWhitelisted",
msg: "CPI caller not whitelisted for escrow owner to invoke lock instruction.",
},
{
code: 6007,
name: "MustCallLockWithWhitelistEntry",
msg: "Must call `lock_with_whitelist_entry` to lock via CPI.",
},
{
code: 6008,
name: "MustCallLockPermissionless",
msg: "Must call `lock_permissionless` since this DAO does not have a CPI whitelist.",
},
],
};
exports.LockedVoterErrors = (0, anchor_contrib_1.generateErrorMap)(exports.LockedVoterJSON);
//# sourceMappingURL=locked_voter.js.map