voter-stake-registry/src/voter_stake_registry.ts

2582 lines
49 KiB
TypeScript

export type VoterStakeRegistry = {
"version": "0.2.1",
"name": "voter_stake_registry",
"instructions": [
{
"name": "createRegistrar",
"accounts": [
{
"name": "registrar",
"isMut": true,
"isSigner": false
},
{
"name": "realm",
"isMut": false,
"isSigner": false
},
{
"name": "governanceProgramId",
"isMut": false,
"isSigner": false
},
{
"name": "realmGoverningTokenMint",
"isMut": false,
"isSigner": false
},
{
"name": "realmAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "registrarBump",
"type": "u8"
}
]
},
{
"name": "configureVotingMint",
"accounts": [
{
"name": "registrar",
"isMut": true,
"isSigner": false
},
{
"name": "realmAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "mint",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "idx",
"type": "u16"
},
{
"name": "digitShift",
"type": "i8"
},
{
"name": "baselineVoteWeightScaledFactor",
"type": "u64"
},
{
"name": "maxExtraLockupVoteWeightScaledFactor",
"type": "u64"
},
{
"name": "lockupSaturationSecs",
"type": "u64"
},
{
"name": "grantAuthority",
"type": {
"option": "publicKey"
}
}
]
},
{
"name": "createVoter",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "voterWeightRecord",
"isMut": true,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "instructions",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "voterBump",
"type": "u8"
},
{
"name": "voterWeightRecordBump",
"type": "u8"
}
]
},
{
"name": "createDepositEntry",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "depositMint",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
},
{
"name": "kind",
"type": {
"defined": "LockupKind"
}
},
{
"name": "startTs",
"type": {
"option": "u64"
}
},
{
"name": "periods",
"type": "u32"
},
{
"name": "allowClawback",
"type": "bool"
}
]
},
{
"name": "deposit",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "depositToken",
"isMut": true,
"isSigner": false
},
{
"name": "depositAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "withdraw",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "tokenOwnerRecord",
"isMut": false,
"isSigner": false
},
{
"name": "voterWeightRecord",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "destination",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "grant",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": false
},
{
"name": "voterWeightRecord",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "depositToken",
"isMut": true,
"isSigner": false
},
{
"name": "tokenAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "grantAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "depositMint",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "voterBump",
"type": "u8"
},
{
"name": "voterWeightRecordBump",
"type": "u8"
},
{
"name": "kind",
"type": {
"defined": "LockupKind"
}
},
{
"name": "startTs",
"type": {
"option": "u64"
}
},
{
"name": "periods",
"type": "u32"
},
{
"name": "allowClawback",
"type": "bool"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "clawback",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "realmAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "destination",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
}
]
},
{
"name": "closeDepositEntry",
"accounts": [
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
}
]
},
{
"name": "resetLockup",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
},
{
"name": "kind",
"type": {
"defined": "LockupKind"
}
},
{
"name": "periods",
"type": "u32"
}
]
},
{
"name": "internalTransferLocked",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "sourceDepositEntryIndex",
"type": "u8"
},
{
"name": "targetDepositEntryIndex",
"type": "u8"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "internalTransferUnlocked",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "sourceDepositEntryIndex",
"type": "u8"
},
{
"name": "targetDepositEntryIndex",
"type": "u8"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "updateVoterWeightRecord",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": false,
"isSigner": false
},
{
"name": "voterWeightRecord",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "updateMaxVoteWeight",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "maxVoteWeightRecord",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "closeVoter",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "solDestination",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "logVoterInfo",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "depositEntryBegin",
"type": "u8"
},
{
"name": "depositEntryCount",
"type": "u8"
}
]
},
{
"name": "setTimeOffset",
"accounts": [
{
"name": "registrar",
"isMut": true,
"isSigner": false
},
{
"name": "realmAuthority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "timeOffset",
"type": "i64"
}
]
}
],
"accounts": [
{
"name": "registrar",
"type": {
"kind": "struct",
"fields": [
{
"name": "governanceProgramId",
"type": "publicKey"
},
{
"name": "realm",
"type": "publicKey"
},
{
"name": "realmGoverningTokenMint",
"type": "publicKey"
},
{
"name": "realmAuthority",
"type": "publicKey"
},
{
"name": "reserved1",
"type": {
"array": [
"u8",
32
]
}
},
{
"name": "votingMints",
"type": {
"array": [
{
"defined": "VotingMintConfig"
},
4
]
}
},
{
"name": "timeOffset",
"type": "i64"
},
{
"name": "bump",
"type": "u8"
},
{
"name": "reserved2",
"type": {
"array": [
"u8",
7
]
}
},
{
"name": "reserved3",
"type": {
"array": [
"u64",
11
]
}
}
]
}
},
{
"name": "voter",
"type": {
"kind": "struct",
"fields": [
{
"name": "voterAuthority",
"type": "publicKey"
},
{
"name": "registrar",
"type": "publicKey"
},
{
"name": "deposits",
"type": {
"array": [
{
"defined": "DepositEntry"
},
32
]
}
},
{
"name": "voterBump",
"type": "u8"
},
{
"name": "voterWeightRecordBump",
"type": "u8"
},
{
"name": "reserved",
"type": {
"array": [
"u8",
94
]
}
}
]
}
}
],
"types": [
{
"name": "DepositEntry",
"type": {
"kind": "struct",
"fields": [
{
"name": "lockup",
"type": {
"defined": "Lockup"
}
},
{
"name": "amountDepositedNative",
"type": "u64"
},
{
"name": "amountInitiallyLockedNative",
"type": "u64"
},
{
"name": "isUsed",
"type": "bool"
},
{
"name": "allowClawback",
"type": "bool"
},
{
"name": "votingMintConfigIdx",
"type": "u8"
},
{
"name": "reserved",
"type": {
"array": [
"u8",
29
]
}
}
]
}
},
{
"name": "VestingInfo",
"type": {
"kind": "struct",
"fields": [
{
"name": "rate",
"type": "u64"
},
{
"name": "nextTimestamp",
"type": "u64"
}
]
}
},
{
"name": "LockingInfo",
"type": {
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64"
},
{
"name": "endTimestamp",
"type": {
"option": "u64"
}
},
{
"name": "vesting",
"type": {
"option": {
"defined": "VestingInfo"
}
}
}
]
}
},
{
"name": "Lockup",
"type": {
"kind": "struct",
"fields": [
{
"name": "startTs",
"type": "i64"
},
{
"name": "endTs",
"type": "i64"
},
{
"name": "kind",
"type": {
"defined": "LockupKind"
}
},
{
"name": "reserved",
"type": {
"array": [
"u8",
15
]
}
}
]
}
},
{
"name": "VotingMintConfig",
"type": {
"kind": "struct",
"fields": [
{
"name": "mint",
"type": "publicKey"
},
{
"name": "grantAuthority",
"type": "publicKey"
},
{
"name": "baselineVoteWeightScaledFactor",
"type": "u64"
},
{
"name": "maxExtraLockupVoteWeightScaledFactor",
"type": "u64"
},
{
"name": "lockupSaturationSecs",
"type": "u64"
},
{
"name": "digitShift",
"type": "i8"
},
{
"name": "reserved1",
"type": {
"array": [
"u8",
7
]
}
},
{
"name": "reserved2",
"type": {
"array": [
"u64",
7
]
}
}
]
}
},
{
"name": "LockupKind",
"type": {
"kind": "enum",
"variants": [
{
"name": "None"
},
{
"name": "Daily"
},
{
"name": "Monthly"
},
{
"name": "Cliff"
},
{
"name": "Constant"
}
]
}
}
],
"events": [
{
"name": "VoterInfo",
"fields": [
{
"name": "votingPower",
"type": "u64",
"index": false
},
{
"name": "votingPowerBaseline",
"type": "u64",
"index": false
}
]
},
{
"name": "DepositEntryInfo",
"fields": [
{
"name": "depositEntryIndex",
"type": "u8",
"index": false
},
{
"name": "votingMintConfigIndex",
"type": "u8",
"index": false
},
{
"name": "unlocked",
"type": "u64",
"index": false
},
{
"name": "votingPower",
"type": "u64",
"index": false
},
{
"name": "votingPowerBaseline",
"type": "u64",
"index": false
},
{
"name": "locking",
"type": {
"option": {
"defined": "LockingInfo"
}
},
"index": false
}
]
}
],
"errors": [
{
"code": 6000,
"name": "InvalidRate",
"msg": "Exchange rate must be greater than zero"
},
{
"code": 6001,
"name": "RatesFull",
"msg": ""
},
{
"code": 6002,
"name": "VotingMintNotFound",
"msg": ""
},
{
"code": 6003,
"name": "DepositEntryNotFound",
"msg": ""
},
{
"code": 6004,
"name": "DepositEntryFull",
"msg": ""
},
{
"code": 6005,
"name": "VotingTokenNonZero",
"msg": ""
},
{
"code": 6006,
"name": "OutOfBoundsDepositEntryIndex",
"msg": ""
},
{
"code": 6007,
"name": "UnusedDepositEntryIndex",
"msg": ""
},
{
"code": 6008,
"name": "InsufficientUnlockedTokens",
"msg": ""
},
{
"code": 6009,
"name": "UnableToConvert",
"msg": ""
},
{
"code": 6010,
"name": "InvalidLockupPeriod",
"msg": ""
},
{
"code": 6011,
"name": "InvalidEndTs",
"msg": ""
},
{
"code": 6012,
"name": "InvalidDays",
"msg": ""
},
{
"code": 6013,
"name": "VotingMintConfigIndexAlreadyInUse",
"msg": ""
},
{
"code": 6014,
"name": "OutOfBoundsVotingMintConfigIndex",
"msg": ""
},
{
"code": 6015,
"name": "InvalidDecimals",
"msg": "Exchange rate decimals cannot be larger than registrar decimals"
},
{
"code": 6016,
"name": "InvalidToDepositAndWithdrawInOneSlot",
"msg": ""
},
{
"code": 6017,
"name": "ShouldBeTheFirstIxInATx",
"msg": ""
},
{
"code": 6018,
"name": "ForbiddenCpi",
"msg": ""
},
{
"code": 6019,
"name": "InvalidMint",
"msg": ""
},
{
"code": 6020,
"name": "DebugInstruction",
"msg": ""
},
{
"code": 6021,
"name": "ClawbackNotAllowedOnDeposit",
"msg": ""
},
{
"code": 6022,
"name": "DepositStillLocked",
"msg": ""
},
{
"code": 6023,
"name": "InvalidAuthority",
"msg": ""
},
{
"code": 6024,
"name": "InvalidTokenOwnerRecord",
"msg": ""
},
{
"code": 6025,
"name": "InvalidRealmAuthority",
"msg": ""
},
{
"code": 6026,
"name": "VoterWeightOverflow",
"msg": ""
},
{
"code": 6027,
"name": "LockupSaturationMustBePositive",
"msg": ""
},
{
"code": 6028,
"name": "VotingMintConfiguredWithDifferentIndex",
"msg": ""
},
{
"code": 6029,
"name": "InternalProgramError",
"msg": ""
},
{
"code": 6030,
"name": "InsufficientLockedTokens",
"msg": ""
},
{
"code": 6031,
"name": "MustKeepTokensLocked",
"msg": ""
},
{
"code": 6032,
"name": "InvalidLockupKind",
"msg": ""
},
{
"code": 6033,
"name": "InvalidChangeToClawbackDepositEntry",
"msg": ""
},
{
"code": 6034,
"name": "InternalErrorBadLockupVoteWeight",
"msg": ""
},
{
"code": 6035,
"name": "DepositStartTooFarInFuture",
"msg": ""
},
{
"code": 6036,
"name": "VaultTokenNonZero",
"msg": ""
},
{
"code": 6037,
"name": "InvalidTimestampArguments",
"msg": ""
}
]
};
export const IDL: VoterStakeRegistry = {
"version": "0.2.1",
"name": "voter_stake_registry",
"instructions": [
{
"name": "createRegistrar",
"accounts": [
{
"name": "registrar",
"isMut": true,
"isSigner": false
},
{
"name": "realm",
"isMut": false,
"isSigner": false
},
{
"name": "governanceProgramId",
"isMut": false,
"isSigner": false
},
{
"name": "realmGoverningTokenMint",
"isMut": false,
"isSigner": false
},
{
"name": "realmAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "registrarBump",
"type": "u8"
}
]
},
{
"name": "configureVotingMint",
"accounts": [
{
"name": "registrar",
"isMut": true,
"isSigner": false
},
{
"name": "realmAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "mint",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "idx",
"type": "u16"
},
{
"name": "digitShift",
"type": "i8"
},
{
"name": "baselineVoteWeightScaledFactor",
"type": "u64"
},
{
"name": "maxExtraLockupVoteWeightScaledFactor",
"type": "u64"
},
{
"name": "lockupSaturationSecs",
"type": "u64"
},
{
"name": "grantAuthority",
"type": {
"option": "publicKey"
}
}
]
},
{
"name": "createVoter",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "voterWeightRecord",
"isMut": true,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "instructions",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "voterBump",
"type": "u8"
},
{
"name": "voterWeightRecordBump",
"type": "u8"
}
]
},
{
"name": "createDepositEntry",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "depositMint",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
},
{
"name": "kind",
"type": {
"defined": "LockupKind"
}
},
{
"name": "startTs",
"type": {
"option": "u64"
}
},
{
"name": "periods",
"type": "u32"
},
{
"name": "allowClawback",
"type": "bool"
}
]
},
{
"name": "deposit",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "depositToken",
"isMut": true,
"isSigner": false
},
{
"name": "depositAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "withdraw",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "tokenOwnerRecord",
"isMut": false,
"isSigner": false
},
{
"name": "voterWeightRecord",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "destination",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "grant",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": false
},
{
"name": "voterWeightRecord",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "depositToken",
"isMut": true,
"isSigner": false
},
{
"name": "tokenAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "grantAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "depositMint",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "voterBump",
"type": "u8"
},
{
"name": "voterWeightRecordBump",
"type": "u8"
},
{
"name": "kind",
"type": {
"defined": "LockupKind"
}
},
{
"name": "startTs",
"type": {
"option": "u64"
}
},
{
"name": "periods",
"type": "u32"
},
{
"name": "allowClawback",
"type": "bool"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "clawback",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "realmAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "destination",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
}
]
},
{
"name": "closeDepositEntry",
"accounts": [
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
}
]
},
{
"name": "resetLockup",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "depositEntryIndex",
"type": "u8"
},
{
"name": "kind",
"type": {
"defined": "LockupKind"
}
},
{
"name": "periods",
"type": "u32"
}
]
},
{
"name": "internalTransferLocked",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "sourceDepositEntryIndex",
"type": "u8"
},
{
"name": "targetDepositEntryIndex",
"type": "u8"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "internalTransferUnlocked",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "sourceDepositEntryIndex",
"type": "u8"
},
{
"name": "targetDepositEntryIndex",
"type": "u8"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "updateVoterWeightRecord",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": false,
"isSigner": false
},
{
"name": "voterWeightRecord",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "updateMaxVoteWeight",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "maxVoteWeightRecord",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "closeVoter",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": true,
"isSigner": false
},
{
"name": "voterAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "solDestination",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "logVoterInfo",
"accounts": [
{
"name": "registrar",
"isMut": false,
"isSigner": false
},
{
"name": "voter",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "depositEntryBegin",
"type": "u8"
},
{
"name": "depositEntryCount",
"type": "u8"
}
]
},
{
"name": "setTimeOffset",
"accounts": [
{
"name": "registrar",
"isMut": true,
"isSigner": false
},
{
"name": "realmAuthority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "timeOffset",
"type": "i64"
}
]
}
],
"accounts": [
{
"name": "registrar",
"type": {
"kind": "struct",
"fields": [
{
"name": "governanceProgramId",
"type": "publicKey"
},
{
"name": "realm",
"type": "publicKey"
},
{
"name": "realmGoverningTokenMint",
"type": "publicKey"
},
{
"name": "realmAuthority",
"type": "publicKey"
},
{
"name": "reserved1",
"type": {
"array": [
"u8",
32
]
}
},
{
"name": "votingMints",
"type": {
"array": [
{
"defined": "VotingMintConfig"
},
4
]
}
},
{
"name": "timeOffset",
"type": "i64"
},
{
"name": "bump",
"type": "u8"
},
{
"name": "reserved2",
"type": {
"array": [
"u8",
7
]
}
},
{
"name": "reserved3",
"type": {
"array": [
"u64",
11
]
}
}
]
}
},
{
"name": "voter",
"type": {
"kind": "struct",
"fields": [
{
"name": "voterAuthority",
"type": "publicKey"
},
{
"name": "registrar",
"type": "publicKey"
},
{
"name": "deposits",
"type": {
"array": [
{
"defined": "DepositEntry"
},
32
]
}
},
{
"name": "voterBump",
"type": "u8"
},
{
"name": "voterWeightRecordBump",
"type": "u8"
},
{
"name": "reserved",
"type": {
"array": [
"u8",
94
]
}
}
]
}
}
],
"types": [
{
"name": "DepositEntry",
"type": {
"kind": "struct",
"fields": [
{
"name": "lockup",
"type": {
"defined": "Lockup"
}
},
{
"name": "amountDepositedNative",
"type": "u64"
},
{
"name": "amountInitiallyLockedNative",
"type": "u64"
},
{
"name": "isUsed",
"type": "bool"
},
{
"name": "allowClawback",
"type": "bool"
},
{
"name": "votingMintConfigIdx",
"type": "u8"
},
{
"name": "reserved",
"type": {
"array": [
"u8",
29
]
}
}
]
}
},
{
"name": "VestingInfo",
"type": {
"kind": "struct",
"fields": [
{
"name": "rate",
"type": "u64"
},
{
"name": "nextTimestamp",
"type": "u64"
}
]
}
},
{
"name": "LockingInfo",
"type": {
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64"
},
{
"name": "endTimestamp",
"type": {
"option": "u64"
}
},
{
"name": "vesting",
"type": {
"option": {
"defined": "VestingInfo"
}
}
}
]
}
},
{
"name": "Lockup",
"type": {
"kind": "struct",
"fields": [
{
"name": "startTs",
"type": "i64"
},
{
"name": "endTs",
"type": "i64"
},
{
"name": "kind",
"type": {
"defined": "LockupKind"
}
},
{
"name": "reserved",
"type": {
"array": [
"u8",
15
]
}
}
]
}
},
{
"name": "VotingMintConfig",
"type": {
"kind": "struct",
"fields": [
{
"name": "mint",
"type": "publicKey"
},
{
"name": "grantAuthority",
"type": "publicKey"
},
{
"name": "baselineVoteWeightScaledFactor",
"type": "u64"
},
{
"name": "maxExtraLockupVoteWeightScaledFactor",
"type": "u64"
},
{
"name": "lockupSaturationSecs",
"type": "u64"
},
{
"name": "digitShift",
"type": "i8"
},
{
"name": "reserved1",
"type": {
"array": [
"u8",
7
]
}
},
{
"name": "reserved2",
"type": {
"array": [
"u64",
7
]
}
}
]
}
},
{
"name": "LockupKind",
"type": {
"kind": "enum",
"variants": [
{
"name": "None"
},
{
"name": "Daily"
},
{
"name": "Monthly"
},
{
"name": "Cliff"
},
{
"name": "Constant"
}
]
}
}
],
"events": [
{
"name": "VoterInfo",
"fields": [
{
"name": "votingPower",
"type": "u64",
"index": false
},
{
"name": "votingPowerBaseline",
"type": "u64",
"index": false
}
]
},
{
"name": "DepositEntryInfo",
"fields": [
{
"name": "depositEntryIndex",
"type": "u8",
"index": false
},
{
"name": "votingMintConfigIndex",
"type": "u8",
"index": false
},
{
"name": "unlocked",
"type": "u64",
"index": false
},
{
"name": "votingPower",
"type": "u64",
"index": false
},
{
"name": "votingPowerBaseline",
"type": "u64",
"index": false
},
{
"name": "locking",
"type": {
"option": {
"defined": "LockingInfo"
}
},
"index": false
}
]
}
],
"errors": [
{
"code": 6000,
"name": "InvalidRate",
"msg": "Exchange rate must be greater than zero"
},
{
"code": 6001,
"name": "RatesFull",
"msg": ""
},
{
"code": 6002,
"name": "VotingMintNotFound",
"msg": ""
},
{
"code": 6003,
"name": "DepositEntryNotFound",
"msg": ""
},
{
"code": 6004,
"name": "DepositEntryFull",
"msg": ""
},
{
"code": 6005,
"name": "VotingTokenNonZero",
"msg": ""
},
{
"code": 6006,
"name": "OutOfBoundsDepositEntryIndex",
"msg": ""
},
{
"code": 6007,
"name": "UnusedDepositEntryIndex",
"msg": ""
},
{
"code": 6008,
"name": "InsufficientUnlockedTokens",
"msg": ""
},
{
"code": 6009,
"name": "UnableToConvert",
"msg": ""
},
{
"code": 6010,
"name": "InvalidLockupPeriod",
"msg": ""
},
{
"code": 6011,
"name": "InvalidEndTs",
"msg": ""
},
{
"code": 6012,
"name": "InvalidDays",
"msg": ""
},
{
"code": 6013,
"name": "VotingMintConfigIndexAlreadyInUse",
"msg": ""
},
{
"code": 6014,
"name": "OutOfBoundsVotingMintConfigIndex",
"msg": ""
},
{
"code": 6015,
"name": "InvalidDecimals",
"msg": "Exchange rate decimals cannot be larger than registrar decimals"
},
{
"code": 6016,
"name": "InvalidToDepositAndWithdrawInOneSlot",
"msg": ""
},
{
"code": 6017,
"name": "ShouldBeTheFirstIxInATx",
"msg": ""
},
{
"code": 6018,
"name": "ForbiddenCpi",
"msg": ""
},
{
"code": 6019,
"name": "InvalidMint",
"msg": ""
},
{
"code": 6020,
"name": "DebugInstruction",
"msg": ""
},
{
"code": 6021,
"name": "ClawbackNotAllowedOnDeposit",
"msg": ""
},
{
"code": 6022,
"name": "DepositStillLocked",
"msg": ""
},
{
"code": 6023,
"name": "InvalidAuthority",
"msg": ""
},
{
"code": 6024,
"name": "InvalidTokenOwnerRecord",
"msg": ""
},
{
"code": 6025,
"name": "InvalidRealmAuthority",
"msg": ""
},
{
"code": 6026,
"name": "VoterWeightOverflow",
"msg": ""
},
{
"code": 6027,
"name": "LockupSaturationMustBePositive",
"msg": ""
},
{
"code": 6028,
"name": "VotingMintConfiguredWithDifferentIndex",
"msg": ""
},
{
"code": 6029,
"name": "InternalProgramError",
"msg": ""
},
{
"code": 6030,
"name": "InsufficientLockedTokens",
"msg": ""
},
{
"code": 6031,
"name": "MustKeepTokensLocked",
"msg": ""
},
{
"code": 6032,
"name": "InvalidLockupKind",
"msg": ""
},
{
"code": 6033,
"name": "InvalidChangeToClawbackDepositEntry",
"msg": ""
},
{
"code": 6034,
"name": "InternalErrorBadLockupVoteWeight",
"msg": ""
},
{
"code": 6035,
"name": "DepositStartTooFarInFuture",
"msg": ""
},
{
"code": 6036,
"name": "VaultTokenNonZero",
"msg": ""
},
{
"code": 6037,
"name": "InvalidTimestampArguments",
"msg": ""
}
]
};