UNPKG

@drift-labs/sdk-browser

Version:
1,671 lines (1,670 loc) 59.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IDL = void 0; exports.IDL = { version: '0.1.0', name: 'marinade_finance', instructions: [ { name: 'initialize', accounts: [ { name: 'creatorAuthority', isMut: false, isSigner: true, }, { name: 'state', isMut: true, isSigner: false, }, { name: 'reservePda', isMut: false, isSigner: false, }, { name: 'stakeList', isMut: true, isSigner: false, }, { name: 'validatorList', isMut: true, isSigner: false, }, { name: 'msolMint', isMut: false, isSigner: false, }, { name: 'operationalSolAccount', isMut: false, isSigner: false, }, { name: 'liqPool', accounts: [ { name: 'lpMint', isMut: false, isSigner: false, }, { name: 'solLegPda', isMut: false, isSigner: false, }, { name: 'msolLeg', isMut: false, isSigner: false, }, ], }, { name: 'treasuryMsolAccount', isMut: false, isSigner: false, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'rent', isMut: false, isSigner: false, }, ], args: [ { name: 'data', type: { defined: 'InitializeData', }, }, ], }, { name: 'changeAuthority', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'adminAuthority', isMut: false, isSigner: true, }, ], args: [ { name: 'data', type: { defined: 'ChangeAuthorityData', }, }, ], }, { name: 'addValidator', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'managerAuthority', isMut: false, isSigner: true, }, { name: 'validatorList', isMut: true, isSigner: false, }, { name: 'validatorVote', isMut: false, isSigner: false, }, { name: 'duplicationFlag', isMut: true, isSigner: false, }, { name: 'rentPayer', isMut: true, isSigner: true, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'rent', isMut: false, isSigner: false, }, { name: 'systemProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'score', type: 'u32', }, ], }, { name: 'removeValidator', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'managerAuthority', isMut: false, isSigner: true, }, { name: 'validatorList', isMut: true, isSigner: false, }, { name: 'duplicationFlag', isMut: true, isSigner: false, }, { name: 'operationalSolAccount', isMut: true, isSigner: false, }, ], args: [ { name: 'index', type: 'u32', }, { name: 'validatorVote', type: 'publicKey', }, ], }, { name: 'setValidatorScore', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'managerAuthority', isMut: false, isSigner: true, }, { name: 'validatorList', isMut: true, isSigner: false, }, ], args: [ { name: 'index', type: 'u32', }, { name: 'validatorVote', type: 'publicKey', }, { name: 'score', type: 'u32', }, ], }, { name: 'configValidatorSystem', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'managerAuthority', isMut: false, isSigner: true, }, ], args: [ { name: 'extraRuns', type: 'u32', }, ], }, { name: 'deposit', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'msolMint', isMut: true, isSigner: false, }, { name: 'liqPoolSolLegPda', isMut: true, isSigner: false, }, { name: 'liqPoolMsolLeg', isMut: true, isSigner: false, }, { name: 'liqPoolMsolLegAuthority', isMut: false, isSigner: false, }, { name: 'reservePda', isMut: true, isSigner: false, }, { name: 'transferFrom', isMut: true, isSigner: true, }, { name: 'mintTo', isMut: true, isSigner: false, }, { name: 'msolMintAuthority', isMut: false, isSigner: false, }, { name: 'systemProgram', isMut: false, isSigner: false, }, { name: 'tokenProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'lamports', type: 'u64', }, ], }, { name: 'depositStakeAccount', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'validatorList', isMut: true, isSigner: false, }, { name: 'stakeList', isMut: true, isSigner: false, }, { name: 'stakeAccount', isMut: true, isSigner: false, }, { name: 'stakeAuthority', isMut: false, isSigner: true, }, { name: 'duplicationFlag', isMut: true, isSigner: false, }, { name: 'rentPayer', isMut: true, isSigner: true, }, { name: 'msolMint', isMut: true, isSigner: false, }, { name: 'mintTo', isMut: true, isSigner: false, }, { name: 'msolMintAuthority', isMut: false, isSigner: false, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'rent', isMut: false, isSigner: false, }, { name: 'systemProgram', isMut: false, isSigner: false, }, { name: 'tokenProgram', isMut: false, isSigner: false, }, { name: 'stakeProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'validatorIndex', type: 'u32', }, ], }, { name: 'liquidUnstake', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'msolMint', isMut: true, isSigner: false, }, { name: 'liqPoolSolLegPda', isMut: true, isSigner: false, }, { name: 'liqPoolMsolLeg', isMut: true, isSigner: false, }, { name: 'treasuryMsolAccount', isMut: true, isSigner: false, }, { name: 'getMsolFrom', isMut: true, isSigner: false, }, { name: 'getMsolFromAuthority', isMut: false, isSigner: true, }, { name: 'transferSolTo', isMut: true, isSigner: false, }, { name: 'systemProgram', isMut: false, isSigner: false, }, { name: 'tokenProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'msolAmount', type: 'u64', }, ], }, { name: 'addLiquidity', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'lpMint', isMut: true, isSigner: false, }, { name: 'lpMintAuthority', isMut: false, isSigner: false, }, { name: 'liqPoolMsolLeg', isMut: false, isSigner: false, }, { name: 'liqPoolSolLegPda', isMut: true, isSigner: false, }, { name: 'transferFrom', isMut: true, isSigner: true, }, { name: 'mintTo', isMut: true, isSigner: false, }, { name: 'systemProgram', isMut: false, isSigner: false, }, { name: 'tokenProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'lamports', type: 'u64', }, ], }, { name: 'removeLiquidity', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'lpMint', isMut: true, isSigner: false, }, { name: 'burnFrom', isMut: true, isSigner: false, }, { name: 'burnFromAuthority', isMut: false, isSigner: true, }, { name: 'transferSolTo', isMut: true, isSigner: false, }, { name: 'transferMsolTo', isMut: true, isSigner: false, }, { name: 'liqPoolSolLegPda', isMut: true, isSigner: false, }, { name: 'liqPoolMsolLeg', isMut: true, isSigner: false, }, { name: 'liqPoolMsolLegAuthority', isMut: false, isSigner: false, }, { name: 'systemProgram', isMut: false, isSigner: false, }, { name: 'tokenProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'tokens', type: 'u64', }, ], }, { name: 'configLp', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'adminAuthority', isMut: false, isSigner: true, }, ], args: [ { name: 'params', type: { defined: 'ConfigLpParams', }, }, ], }, { name: 'configMarinade', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'adminAuthority', isMut: false, isSigner: true, }, ], args: [ { name: 'params', type: { defined: 'ConfigMarinadeParams', }, }, ], }, { name: 'orderUnstake', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'msolMint', isMut: true, isSigner: false, }, { name: 'burnMsolFrom', isMut: true, isSigner: false, }, { name: 'burnMsolAuthority', isMut: false, isSigner: true, }, { name: 'newTicketAccount', isMut: true, isSigner: false, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'rent', isMut: false, isSigner: false, }, { name: 'tokenProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'msolAmount', type: 'u64', }, ], }, { name: 'claim', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'reservePda', isMut: true, isSigner: false, }, { name: 'ticketAccount', isMut: true, isSigner: false, }, { name: 'transferSolTo', isMut: true, isSigner: false, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'systemProgram', isMut: false, isSigner: false, }, ], args: [], }, { name: 'stakeReserve', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'validatorList', isMut: true, isSigner: false, }, { name: 'stakeList', isMut: true, isSigner: false, }, { name: 'validatorVote', isMut: true, isSigner: false, }, { name: 'reservePda', isMut: true, isSigner: false, }, { name: 'stakeAccount', isMut: true, isSigner: false, }, { name: 'stakeDepositAuthority', isMut: false, isSigner: false, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'epochSchedule', isMut: false, isSigner: false, }, { name: 'rent', isMut: false, isSigner: false, }, { name: 'stakeHistory', isMut: false, isSigner: false, }, { name: 'stakeConfig', isMut: false, isSigner: false, }, { name: 'systemProgram', isMut: false, isSigner: false, }, { name: 'stakeProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'validatorIndex', type: 'u32', }, ], }, { name: 'updateActive', accounts: [ { name: 'common', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'stakeList', isMut: true, isSigner: false, }, { name: 'stakeAccount', isMut: true, isSigner: false, }, { name: 'stakeWithdrawAuthority', isMut: false, isSigner: false, }, { name: 'reservePda', isMut: true, isSigner: false, }, { name: 'msolMint', isMut: true, isSigner: false, }, { name: 'msolMintAuthority', isMut: false, isSigner: false, }, { name: 'treasuryMsolAccount', isMut: true, isSigner: false, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'stakeHistory', isMut: false, isSigner: false, }, { name: 'stakeProgram', isMut: false, isSigner: false, }, { name: 'tokenProgram', isMut: false, isSigner: false, }, ], }, { name: 'validatorList', isMut: true, isSigner: false, }, ], args: [ { name: 'stakeIndex', type: 'u32', }, { name: 'validatorIndex', type: 'u32', }, ], }, { name: 'updateDeactivated', accounts: [ { name: 'common', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'stakeList', isMut: true, isSigner: false, }, { name: 'stakeAccount', isMut: true, isSigner: false, }, { name: 'stakeWithdrawAuthority', isMut: false, isSigner: false, }, { name: 'reservePda', isMut: true, isSigner: false, }, { name: 'msolMint', isMut: true, isSigner: false, }, { name: 'msolMintAuthority', isMut: false, isSigner: false, }, { name: 'treasuryMsolAccount', isMut: true, isSigner: false, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'stakeHistory', isMut: false, isSigner: false, }, { name: 'stakeProgram', isMut: false, isSigner: false, }, { name: 'tokenProgram', isMut: false, isSigner: false, }, ], }, { name: 'operationalSolAccount', isMut: true, isSigner: false, }, { name: 'systemProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'stakeIndex', type: 'u32', }, ], }, { name: 'deactivateStake', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'reservePda', isMut: false, isSigner: false, }, { name: 'validatorList', isMut: true, isSigner: false, }, { name: 'stakeList', isMut: true, isSigner: false, }, { name: 'stakeAccount', isMut: true, isSigner: false, }, { name: 'stakeDepositAuthority', isMut: false, isSigner: false, }, { name: 'splitStakeAccount', isMut: true, isSigner: true, }, { name: 'splitStakeRentPayer', isMut: true, isSigner: true, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'rent', isMut: false, isSigner: false, }, { name: 'epochSchedule', isMut: false, isSigner: false, }, { name: 'stakeHistory', isMut: false, isSigner: false, }, { name: 'systemProgram', isMut: false, isSigner: false, }, { name: 'stakeProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'stakeIndex', type: 'u32', }, { name: 'validatorIndex', type: 'u32', }, ], }, { name: 'emergencyUnstake', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'validatorManagerAuthority', isMut: false, isSigner: true, }, { name: 'validatorList', isMut: true, isSigner: false, }, { name: 'stakeList', isMut: true, isSigner: false, }, { name: 'stakeAccount', isMut: true, isSigner: false, }, { name: 'stakeDepositAuthority', isMut: false, isSigner: false, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'stakeProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'stakeIndex', type: 'u32', }, { name: 'validatorIndex', type: 'u32', }, ], }, { name: 'partialUnstake', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'validatorManagerAuthority', isMut: false, isSigner: true, }, { name: 'validatorList', isMut: true, isSigner: false, }, { name: 'stakeList', isMut: true, isSigner: false, }, { name: 'stakeAccount', isMut: true, isSigner: false, }, { name: 'stakeDepositAuthority', isMut: false, isSigner: false, }, { name: 'reservePda', isMut: false, isSigner: false, }, { name: 'splitStakeAccount', isMut: true, isSigner: true, }, { name: 'splitStakeRentPayer', isMut: true, isSigner: true, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'rent', isMut: false, isSigner: false, }, { name: 'stakeHistory', isMut: false, isSigner: false, }, { name: 'systemProgram', isMut: false, isSigner: false, }, { name: 'stakeProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'stakeIndex', type: 'u32', }, { name: 'validatorIndex', type: 'u32', }, { name: 'desiredUnstakeAmount', type: 'u64', }, ], }, { name: 'mergeStakes', accounts: [ { name: 'state', isMut: true, isSigner: false, }, { name: 'stakeList', isMut: true, isSigner: false, }, { name: 'validatorList', isMut: true, isSigner: false, }, { name: 'destinationStake', isMut: true, isSigner: false, }, { name: 'sourceStake', isMut: true, isSigner: false, }, { name: 'stakeDepositAuthority', isMut: false, isSigner: false, }, { name: 'stakeWithdrawAuthority', isMut: false, isSigner: false, }, { name: 'operationalSolAccount', isMut: true, isSigner: false, }, { name: 'clock', isMut: false, isSigner: false, }, { name: 'stakeHistory', isMut: false, isSigner: false, }, { name: 'stakeProgram', isMut: false, isSigner: false, }, ], args: [ { name: 'destinationStakeIndex', type: 'u32', }, { name: 'sourceStakeIndex', type: 'u32', }, { name: 'validatorIndex', type: 'u32', }, ], }, ], accounts: [ { name: 'state', type: { kind: 'struct', fields: [ { name: 'msolMint', type: 'publicKey', }, { name: 'adminAuthority', type: 'publicKey', }, { name: 'operationalSolAccount', type: 'publicKey', }, { name: 'treasuryMsolAccount', type: 'publicKey', }, { name: 'reserveBumpSeed', type: 'u8', }, { name: 'msolMintAuthorityBumpSeed', type: 'u8', }, { name: 'rentExemptForTokenAcc', type: 'u64', }, { name: 'rewardFee', type: { defined: 'Fee', }, }, { name: 'stakeSystem', type: { defined: 'StakeSystem', }, }, { name: 'validatorSystem', type: { defined: 'ValidatorSystem', }, }, { name: 'liqPool', type: { defined: 'LiqPool', }, }, { name: 'availableReserveBalance', type: 'u64', }, { name: 'msolSupply', type: 'u64', }, { name: 'msolPrice', type: 'u64', }, { name: 'circulatingTicketCount', docs: ['count tickets for delayed-unstake'], type: 'u64', }, { name: 'circulatingTicketBalance', docs: [ 'total lamports amount of generated and not claimed yet tickets', ], type: 'u64', }, { name: 'lentFromReserve', type: 'u64', }, { name: 'minDeposit', type: 'u64', }, { name: 'minWithdraw', type: 'u64', }, { name: 'stakingSolCap', type: 'u64', }, { name: 'emergencyCoolingDown', type: 'u64', }, ], }, }, { name: 'ticketAccountData', type: { kind: 'struct', fields: [ { name: 'stateAddress', type: 'publicKey', }, { name: 'beneficiary', type: 'publicKey', }, { name: 'lamportsAmount', type: 'u64', }, { name: 'createdEpoch', type: 'u64', }, ], }, }, ], types: [ { name: 'LiqPool', type: { kind: 'struct', fields: [ { name: 'lpMint', type: 'publicKey', }, { name: 'lpMintAuthorityBumpSeed', type: 'u8', }, { name: 'solLegBumpSeed', type: 'u8', }, { name: 'msolLegAuthorityBumpSeed', type: 'u8', }, { name: 'msolLeg', type: 'publicKey', }, { name: 'lpLiquidityTarget', docs: [ 'Liquidity target. If the Liquidity reach this amount, the fee reaches lp_min_discount_fee', ], type: 'u64', }, { name: 'lpMaxFee', docs: ['Liquidity pool max fee'], type: { defined: 'Fee', }, }, { name: 'lpMinFee', docs: ['SOL/mSOL Liquidity pool min fee'], type: { defined: 'Fee', }, }, { name: 'treasuryCut', docs: ['Treasury cut'], type: { defined: 'Fee', }, }, { name: 'lpSupply', type: 'u64', }, { name: 'lentFromSolLeg', type: 'u64', }, { name: 'liquiditySolCap', type: 'u64', }, ], }, }, { name: 'List', type: { kind: 'struct', fields: [ { name: 'account', type: 'publicKey', }, { name: 'itemSize', type: 'u32', }, { name: 'count', type: 'u32', }, { name: 'newAccount', type: 'publicKey', }, { name: 'copiedCount', type: 'u32', }, ], }, }, { name: 'StakeRecord', type: { kind: 'struct', fields: [ { name: 'stakeAccount', type: 'publicKey', }, { name: 'lastUpdateDelegatedLamports', type: 'u64', }, { name: 'lastUpdateEpoch', type: 'u64', }, { name: 'isEmergencyUnstaking', type: 'u8', }, ], }, }, { name: 'StakeSystem', type: { kind: 'struct', fields: [ { name: 'stakeList', type: { defined: 'List', }, }, { name: 'delayedUnstakeCoolingDown', type: 'u64', }, { name: 'stakeDepositBumpSeed', type: 'u8', }, { name: 'stakeWithdrawBumpSeed', type: 'u8', }, { name: 'slotsForStakeDelta', docs: [ 'set by admin, how much slots before the end of the epoch, stake-delta can start', ], type: 'u64', }, { name: 'lastStakeDeltaEpoch', docs: [ 'Marks the start of stake-delta operations, meaning that if somebody starts a delayed-unstake ticket', 'after this var is set with epoch_num the ticket will have epoch_created = current_epoch+1', '(the user must wait one more epoch, because their unstake-delta will be execute in this epoch)', ], type: 'u64', }, { name: 'minStake', type: 'u64', }, { name: 'extraStakeDeltaRuns', docs: [ 'can be set by validator-manager-auth to allow a second run of stake-delta to stake late stakers in the last minute of the epoch', "so we maximize user's rewards", ], type: 'u32', }, ], }, }, { name: 'ValidatorRecord', type: { kind: 'struct', fields: [ { name: 'validatorAccount', docs: ['Validator vote pubkey'], type: 'publicKey', }, { name: 'activeBalance', docs: ['Validator total balance in lamports'], type: 'u64', }, { name: 'score', type: 'u32', }, { name: 'lastStakeDeltaEpoch', type: 'u64', }, { name: 'duplicationFlagBumpSeed', type: 'u8', }, ], }, }, { name: 'ValidatorSystem', type: { kind: 'struct', fields: [ { name: 'validatorList', type: { defined: 'List', }, }, { name: 'managerAuthority', type: 'publicKey', }, { name: 'totalValidatorScore', type: 'u32', }, { name: 'totalActiveBalance', docs: ['sum of all active lamports staked'], type: 'u64', }, { name: 'autoAddValidatorEnabled', docs: [ 'allow & auto-add validator when a user deposits a stake-account of a non-listed validator', ], type: 'u8', }, ], }, }, { name: 'Fee', type: { kind: 'struct', fields: [ { name: 'basisPoints', type: 'u32', }, ], }, }, {