export declare type CardinalStakePool = { version: "1.10.2"; name: "cardinal_stake_pool"; instructions: [ { name: "initIdentifier"; accounts: [ { name: "identifier"; isMut: true; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "initPool"; accounts: [ { name: "stakePool"; isMut: true; isSigner: false; }, { name: "identifier"; isMut: true; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "ix"; type: { defined: "InitPoolIx"; }; } ]; }, { name: "initEntry"; accounts: [ { name: "stakeEntry"; isMut: true; isSigner: false; }, { name: "stakePool"; isMut: true; isSigner: false; }, { name: "originalMint"; isMut: false; isSigner: false; }, { name: "originalMintMetadata"; isMut: false; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "user"; type: "publicKey"; } ]; }, { name: "initStakeMint"; accounts: [ { name: "stakeEntry"; isMut: true; isSigner: false; }, { name: "stakePool"; isMut: true; isSigner: false; }, { name: "originalMint"; isMut: false; isSigner: false; }, { name: "originalMintMetadata"; isMut: false; isSigner: false; }, { name: "stakeMint"; isMut: true; isSigner: true; }, { name: "stakeMintMetadata"; isMut: true; isSigner: false; }, { name: "stakeEntryStakeMintTokenAccount"; isMut: true; isSigner: false; }, { name: "mintManager"; isMut: true; isSigner: false; }, { name: "payer"; isMut: false; isSigner: true; }, { name: "rent"; isMut: false; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "tokenManagerProgram"; isMut: false; isSigner: false; }, { name: "associatedToken"; isMut: false; isSigner: false; }, { name: "tokenMetadataProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "ix"; type: { defined: "InitStakeMintIx"; }; } ]; }, { name: "authorizeMint"; accounts: [ { name: "stakePool"; isMut: true; isSigner: false; }, { name: "stakeAuthorizationRecord"; isMut: true; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "authority"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "mint"; type: "publicKey"; } ]; }, { name: "deauthorizeMint"; accounts: [ { name: "stakePool"; isMut: true; isSigner: false; }, { name: "stakeAuthorizationRecord"; isMut: true; isSigner: false; }, { name: "authority"; isMut: true; isSigner: true; } ]; args: []; }, { name: "stake"; accounts: [ { name: "stakeEntry"; isMut: true; isSigner: false; }, { name: "stakePool"; isMut: true; isSigner: false; }, { name: "stakeEntryOriginalMintTokenAccount"; isMut: true; isSigner: false; }, { name: "originalMint"; isMut: false; isSigner: false; }, { name: "user"; isMut: true; isSigner: true; }, { name: "userOriginalMintTokenAccount"; isMut: true; isSigner: false; }, { name: "collector"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "amount"; type: "u64"; } ]; }, { name: "claimReceiptMint"; accounts: [ { name: "stakeEntry"; isMut: true; isSigner: false; }, { name: "originalMint"; isMut: false; isSigner: false; }, { name: "receiptMint"; isMut: true; isSigner: false; }, { name: "stakeEntryReceiptMintTokenAccount"; isMut: true; isSigner: false; }, { name: "user"; isMut: true; isSigner: true; }, { name: "userReceiptMintTokenAccount"; isMut: true; isSigner: false; }, { name: "tokenManagerReceiptMintTokenAccount"; isMut: true; isSigner: false; }, { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "mintCounter"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "tokenManagerProgram"; isMut: false; isSigner: false; }, { name: "associatedTokenProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; }, { name: "rent"; isMut: false; isSigner: false; } ]; args: []; }, { name: "unstake"; accounts: [ { name: "stakePool"; isMut: true; isSigner: false; }, { name: "stakeEntry"; isMut: true; isSigner: false; }, { name: "originalMint"; isMut: false; isSigner: false; }, { name: "stakeEntryOriginalMintTokenAccount"; isMut: true; isSigner: false; }, { name: "user"; isMut: true; isSigner: true; }, { name: "userOriginalMintTokenAccount"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "updatePool"; accounts: [ { name: "stakePool"; isMut: true; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; } ]; args: [ { name: "ix"; type: { defined: "UpdatePoolIx"; }; } ]; }, { name: "updateTotalStakeSeconds"; accounts: [ { name: "stakeEntry"; isMut: true; isSigner: false; }, { name: "lastStaker"; isMut: true; isSigner: true; } ]; args: []; }, { name: "returnReceiptMint"; accounts: [ { name: "stakeEntry"; isMut: false; isSigner: false; }, { name: "receiptMint"; isMut: true; isSigner: false; }, { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "tokenManagerTokenAccount"; isMut: true; isSigner: false; }, { name: "userReceiptMintTokenAccount"; isMut: true; isSigner: false; }, { name: "user"; isMut: true; isSigner: true; }, { name: "collector"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "tokenManagerProgram"; isMut: false; isSigner: false; }, { name: "rent"; isMut: false; isSigner: false; } ]; args: []; }, { name: "closeStakePool"; accounts: [ { name: "stakePool"; isMut: true; isSigner: false; }, { name: "authority"; isMut: true; isSigner: true; } ]; args: []; }, { name: "closeStakeEntry"; accounts: [ { name: "stakePool"; isMut: false; isSigner: false; }, { name: "stakeEntry"; isMut: true; isSigner: false; }, { name: "authority"; isMut: true; isSigner: true; } ]; args: []; }, { name: "stakePoolFillZeros"; accounts: [ { name: "stakePool"; isMut: true; isSigner: false; } ]; args: []; }, { name: "reasssignStakeEntry"; accounts: [ { name: "stakePool"; isMut: true; isSigner: false; }, { name: "stakeEntry"; isMut: true; isSigner: false; }, { name: "lastStaker"; isMut: true; isSigner: true; } ]; args: [ { name: "ix"; type: { defined: "ReassignStakeEntryIx"; }; } ]; } ]; accounts: [ { name: "stakeEntry"; type: { kind: "struct"; fields: [ { name: "bump"; type: "u8"; }, { name: "pool"; type: "publicKey"; }, { name: "amount"; type: "u64"; }, { name: "originalMint"; type: "publicKey"; }, { name: "originalMintClaimed"; type: "bool"; }, { name: "lastStaker"; type: "publicKey"; }, { name: "lastStakedAt"; type: "i64"; }, { name: "totalStakeSeconds"; type: "u128"; }, { name: "stakeMintClaimed"; type: "bool"; }, { name: "kind"; type: "u8"; }, { name: "stakeMint"; type: { option: "publicKey"; }; }, { name: "cooldownStartSeconds"; type: { option: "i64"; }; } ]; }; }, { name: "stakePool"; type: { kind: "struct"; fields: [ { name: "bump"; type: "u8"; }, { name: "identifier"; type: "u64"; }, { name: "authority"; type: "publicKey"; }, { name: "requiresCreators"; type: { vec: "publicKey"; }; }, { name: "requiresCollections"; type: { vec: "publicKey"; }; }, { name: "requiresAuthorization"; type: "bool"; }, { name: "overlayText"; type: "string"; }, { name: "imageUri"; type: "string"; }, { name: "resetOnStake"; type: "bool"; }, { name: "totalStaked"; type: "u32"; }, { name: "cooldownSeconds"; type: { option: "u32"; }; }, { name: "minStakeSeconds"; type: { option: "u32"; }; }, { name: "endDate"; type: { option: "i64"; }; } ]; }; }, { name: "stakeAuthorizationRecord"; type: { kind: "struct"; fields: [ { name: "bump"; type: "u8"; }, { name: "pool"; type: "publicKey"; }, { name: "mint"; type: "publicKey"; } ]; }; }, { name: "identifier"; type: { kind: "struct"; fields: [ { name: "bump"; type: "u8"; }, { name: "count"; type: "u64"; } ]; }; } ]; types: [ { name: "InitPoolIx"; type: { kind: "struct"; fields: [ { name: "overlayText"; type: "string"; }, { name: "imageUri"; type: "string"; }, { name: "requiresCollections"; type: { vec: "publicKey"; }; }, { name: "requiresCreators"; type: { vec: "publicKey"; }; }, { name: "requiresAuthorization"; type: "bool"; }, { name: "authority"; type: "publicKey"; }, { name: "resetOnStake"; type: "bool"; }, { name: "cooldownSeconds"; type: { option: "u32"; }; }, { name: "minStakeSeconds"; type: { option: "u32"; }; }, { name: "endDate"; type: { option: "i64"; }; } ]; }; }, { name: "InitStakeMintIx"; type: { kind: "struct"; fields: [ { name: "name"; type: "string"; }, { name: "symbol"; type: "string"; } ]; }; }, { name: "ReassignStakeEntryIx"; type: { kind: "struct"; fields: [ { name: "target"; type: "publicKey"; } ]; }; }, { name: "UpdatePoolIx"; type: { kind: "struct"; fields: [ { name: "imageUri"; type: { option: "string"; }; }, { name: "overlayText"; type: "string"; }, { name: "requiresCollections"; type: { vec: "publicKey"; }; }, { name: "requiresCreators"; type: { vec: "publicKey"; }; }, { name: "requiresAuthorization"; type: "bool"; }, { name: "authority"; type: "publicKey"; }, { name: "resetOnStake"; type: "bool"; }, { name: "cooldownSeconds"; type: { option: "u32"; }; }, { name: "minStakeSeconds"; type: { option: "u32"; }; }, { name: "endDate"; type: { option: "i64"; }; } ]; }; }, { name: "StakeEntryKind"; type: { kind: "enum"; variants: [ { name: "Permissionless"; }, { name: "Permissioned"; } ]; }; } ]; errors: [ { code: 6000; name: "InvalidOriginalMint"; msg: "Original mint is invalid"; }, { code: 6001; name: "InvalidTokenManagerMint"; msg: "Token Manager mint is invalid"; }, { code: 6002; name: "InvalidUserOriginalMintTokenAccount"; msg: "Invalid user original mint token account"; }, { code: 6003; name: "InvalidUserMintTokenAccount"; msg: "Invalid user token manager mint account"; }, { code: 6004; name: "InvalidStakeEntryOriginalMintTokenAccount"; msg: "Invalid stake entry original mint token account"; }, { code: 6005; name: "InvalidStakeEntryMintTokenAccount"; msg: "Invalid stake entry token manager mint token account"; }, { code: 6006; name: "InvalidUnstakeUser"; msg: "Invalid unstake user only last staker can unstake"; }, { code: 6007; name: "InvalidStakePool"; msg: "Invalid stake pool"; }, { code: 6008; name: "NoMintMetadata"; msg: "No mint metadata"; }, { code: 6009; name: "MintNotAllowedInPool"; msg: "Mint not allowed in this pool"; }, { code: 6010; name: "InvalidPoolAuthority"; msg: "Invalid stake pool authority"; }, { code: 6011; name: "InvalidStakeType"; msg: "Invalid stake type"; }, { code: 6012; name: "InvalidStakeEntryStakeTokenAccount"; msg: "Invalid stake entry stake token account"; }, { code: 6013; name: "InvalidLastStaker"; msg: "Invalid last staker"; }, { code: 6014; name: "InvalidTokenManagerProgram"; msg: "Invalid token manager program"; }, { code: 6015; name: "InvalidReceiptMint"; msg: "Invalid receipt mint"; }, { code: 6016; name: "StakeEntryAlreadyStaked"; msg: "Stake entry already has tokens staked"; }, { code: 6017; name: "InvalidAuthority"; msg: "Invalid authority"; }, { code: 6018; name: "CannotCloseStakedEntry"; msg: "Cannot close staked entry"; }, { code: 6019; name: "CannotClosePoolWithStakedEntries"; msg: "Cannot close staked entry"; }, { code: 6020; name: "CooldownSecondRemaining"; msg: "Token still has some cooldown seconds remaining"; }, { code: 6021; name: "MinStakeSecondsNotSatisfied"; msg: "Minimum stake seconds not satisfied"; }, { code: 6022; name: "InvalidStakeAuthorizationRecord"; msg: "Invalid stake authorization provided"; }, { code: 6023; name: "InvalidMintMetadata"; msg: "Invalid mint metadata"; }, { code: 6024; name: "StakePoolHasEnded"; msg: "Stake pool has ended"; }, { code: 6025; name: "InvalidMintMetadataOwner"; msg: "Mint metadata is owned by the incorrect program"; }, { code: 6026; name: "StakeMintAlreadyInitialized"; msg: "Stake mint already intialized"; } ]; }; export declare const IDL: CardinalStakePool; //# sourceMappingURL=cardinal_stake_pool.d.ts.map