Type Aliases Action Action: { outputToken: Token } & ( SSAction | ADAction )
Add DecimalsIDL Add DecimalsIDL: { accounts: [ { name: "WrappedToken" ; type: { fields: [ { name: "decimals" ; type: "u8" } , { name: "multiplier" ; type: "u64" } , { name: "wrapperUnderlyingMint" ; type: "publicKey" } , { name: "wrapperUnderlyingTokens" ; type: "publicKey" } , { name: "wrapperMint" ; type: "publicKey" } , { name: "nonce" ; type: "u8" } ] ; kind: "struct" } } ] ; errors: [ { code: 6000 ; msg: "Wrapper underlying tokens account must be empty." ; name: "InitNonEmptyAccount" } , { code: 6001 ; msg: "Supply of the wrapper mint is non-zero" ; name: "InitWrapperSupplyNonZero" } , { code: 6002 ; msg: "Owner of the wrapper underlying tokens account must be the wrapper" ; name: "InitWrapperUnderlyingOwnerMismatch" } , { code: 6003 ; msg: "Underlying mint does not match underlying tokens account mint" ; name: "InitWrapperUnderlyingMintMismatch" } , { code: 6004 ; msg: "Mint authority mismatch" ; name: "InitMintAuthorityMismatch" } , { code: 6005 ; msg: "Initial decimals too high" ; name: "InitMultiplierOverflow" } , { code: 6006 ; msg: "The number of target decimals must be greater than or equal to the underlying asset's decimals." ; name: "InitWrapperDecimalsTooLow" } , { code: 6007 ; msg: "Mint amount overflow. This error happens when the token cannot support this many decimals added to the token." ; name: "MintAmountOverflow" } , { code: 6008 ; msg: "Failed to convert burn amount from withdraw amount." ; name: "InvalidBurnAmount" } , { code: 6009 ; msg: "Failed to convert withdraw amount from wrapped amount." ; name: "InvalidWithdrawAmount" } , { code: 6010 ; msg: "User does not have enough underlying tokens" ; name: "InsufficientUnderlyingBalance" } , { code: 6011 ; msg: "User does not have enough wrapped tokens" ; name: "InsufficientWrappedBalance" } , { code: 6012 ; msg: "Cannot send zero tokens" ; name: "ZeroAmount" } , { code: 6013 ; msg: "Unknown router action" ; name: "UnknownAction" } , { code: 6014 ; msg: "Freeze authority mismatch" ; name: "InitFreezeAuthorityMismatch" } ] ; events: [ { fields: [ { index: false ; name: "payer" ; type: "publicKey" } , { index: false ; name: "decimals" ; type: "u8" } , { index: false ; name: "multiplier" ; type: "u64" } , { index: false ; name: "wrapperUnderlyingMint" ; type: "publicKey" } , { index: false ; name: "wrapperUnderlyingTokens" ; type: "publicKey" } , { index: false ; name: "wrapperMint" ; type: "publicKey" } ] ; name: "InitEvent" } , { fields: [ { index: false ; name: "owner" ; type: "publicKey" } , { index: false ; name: "underlyingMint" ; type: "publicKey" } , { index: false ; name: "wrappedMint" ; type: "publicKey" } , { index: false ; name: "depositAmount" ; type: "u64" } , { index: false ; name: "mintAmount" ; type: "u64" } ] ; name: "DepositEvent" } , { fields: [ { index: false ; name: "owner" ; type: "publicKey" } , { index: false ; name: "underlyingMint" ; type: "publicKey" } , { index: false ; name: "wrappedMint" ; type: "publicKey" } , { index: false ; name: "withdrawAmount" ; type: "u64" } , { index: false ; name: "burnAmount" ; type: "u64" } , { index: false ; name: "dustAmount" ; type: "u64" } ] ; name: "WithdrawEvent" } ] ; instructions: [ { accounts: [ { isMut: true ; isSigner: false ; name: "wrapper" } , { isMut: false ; isSigner: false ; name: "wrapperUnderlyingTokens" } , { isMut: false ; isSigner: false ; name: "underlyingMint" } , { isMut: false ; isSigner: false ; name: "wrapperMint" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "rent" } , { isMut: false ; isSigner: false ; name: "systemProgram" } ] ; args: [ { name: "nonce" ; type: "u8" } ] ; name: "initializeWrapper" } , { accounts: [ { isMut: false ; isSigner: false ; name: "wrapper" } , { isMut: true ; isSigner: false ; name: "wrapperMint" } , { isMut: true ; isSigner: false ; name: "wrapperUnderlyingTokens" } , { isMut: false ; isSigner: true ; name: "owner" } , { isMut: true ; isSigner: false ; name: "userUnderlyingTokens" } , { isMut: true ; isSigner: false ; name: "userWrappedTokens" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "depositAmount" ; type: "u64" } ] ; name: "deposit" } , { accounts: [ { isMut: false ; isSigner: false ; name: "wrapper" } , { isMut: true ; isSigner: false ; name: "wrapperMint" } , { isMut: true ; isSigner: false ; name: "wrapperUnderlyingTokens" } , { isMut: false ; isSigner: true ; name: "owner" } , { isMut: true ; isSigner: false ; name: "userUnderlyingTokens" } , { isMut: true ; isSigner: false ; name: "userWrappedTokens" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "maxBurnAmount" ; type: "u64" } ] ; name: "withdraw" } , { accounts: [ { isMut: false ; isSigner: false ; name: "wrapper" } , { isMut: true ; isSigner: false ; name: "wrapperMint" } , { isMut: true ; isSigner: false ; name: "wrapperUnderlyingTokens" } , { isMut: false ; isSigner: true ; name: "owner" } , { isMut: true ; isSigner: false ; name: "userUnderlyingTokens" } , { isMut: true ; isSigner: false ; name: "userWrappedTokens" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ ] ; name: "withdrawAll" } ] ; name: "add_decimals" ; version: "1.1.2" }
Defined in src/idls/add_decimals.ts:3 Type declaration accounts: [ { name: "WrappedToken" ; type: { fields: [ { name: "decimals" ; type: "u8" } , { name: "multiplier" ; type: "u64" } , { name: "wrapperUnderlyingMint" ; type: "publicKey" } , { name: "wrapperUnderlyingTokens" ; type: "publicKey" } , { name: "wrapperMint" ; type: "publicKey" } , { name: "nonce" ; type: "u8" } ] ; kind: "struct" } } ] errors: [ { code: 6000 ; msg: "Wrapper underlying tokens account must be empty." ; name: "InitNonEmptyAccount" } , { code: 6001 ; msg: "Supply of the wrapper mint is non-zero" ; name: "InitWrapperSupplyNonZero" } , { code: 6002 ; msg: "Owner of the wrapper underlying tokens account must be the wrapper" ; name: "InitWrapperUnderlyingOwnerMismatch" } , { code: 6003 ; msg: "Underlying mint does not match underlying tokens account mint" ; name: "InitWrapperUnderlyingMintMismatch" } , { code: 6004 ; msg: "Mint authority mismatch" ; name: "InitMintAuthorityMismatch" } , { code: 6005 ; msg: "Initial decimals too high" ; name: "InitMultiplierOverflow" } , { code: 6006 ; msg: "The number of target decimals must be greater than or equal to the underlying asset's decimals." ; name: "InitWrapperDecimalsTooLow" } , { code: 6007 ; msg: "Mint amount overflow. This error happens when the token cannot support this many decimals added to the token." ; name: "MintAmountOverflow" } , { code: 6008 ; msg: "Failed to convert burn amount from withdraw amount." ; name: "InvalidBurnAmount" } , { code: 6009 ; msg: "Failed to convert withdraw amount from wrapped amount." ; name: "InvalidWithdrawAmount" } , { code: 6010 ; msg: "User does not have enough underlying tokens" ; name: "InsufficientUnderlyingBalance" } , { code: 6011 ; msg: "User does not have enough wrapped tokens" ; name: "InsufficientWrappedBalance" } , { code: 6012 ; msg: "Cannot send zero tokens" ; name: "ZeroAmount" } , { code: 6013 ; msg: "Unknown router action" ; name: "UnknownAction" } , { code: 6014 ; msg: "Freeze authority mismatch" ; name: "InitFreezeAuthorityMismatch" } ] events: [ { fields: [ { index: false ; name: "payer" ; type: "publicKey" } , { index: false ; name: "decimals" ; type: "u8" } , { index: false ; name: "multiplier" ; type: "u64" } , { index: false ; name: "wrapperUnderlyingMint" ; type: "publicKey" } , { index: false ; name: "wrapperUnderlyingTokens" ; type: "publicKey" } , { index: false ; name: "wrapperMint" ; type: "publicKey" } ] ; name: "InitEvent" } , { fields: [ { index: false ; name: "owner" ; type: "publicKey" } , { index: false ; name: "underlyingMint" ; type: "publicKey" } , { index: false ; name: "wrappedMint" ; type: "publicKey" } , { index: false ; name: "depositAmount" ; type: "u64" } , { index: false ; name: "mintAmount" ; type: "u64" } ] ; name: "DepositEvent" } , { fields: [ { index: false ; name: "owner" ; type: "publicKey" } , { index: false ; name: "underlyingMint" ; type: "publicKey" } , { index: false ; name: "wrappedMint" ; type: "publicKey" } , { index: false ; name: "withdrawAmount" ; type: "u64" } , { index: false ; name: "burnAmount" ; type: "u64" } , { index: false ; name: "dustAmount" ; type: "u64" } ] ; name: "WithdrawEvent" } ] instructions: [ { accounts: [ { isMut: true ; isSigner: false ; name: "wrapper" } , { isMut: false ; isSigner: false ; name: "wrapperUnderlyingTokens" } , { isMut: false ; isSigner: false ; name: "underlyingMint" } , { isMut: false ; isSigner: false ; name: "wrapperMint" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "rent" } , { isMut: false ; isSigner: false ; name: "systemProgram" } ] ; args: [ { name: "nonce" ; type: "u8" } ] ; name: "initializeWrapper" } , { accounts: [ { isMut: false ; isSigner: false ; name: "wrapper" } , { isMut: true ; isSigner: false ; name: "wrapperMint" } , { isMut: true ; isSigner: false ; name: "wrapperUnderlyingTokens" } , { isMut: false ; isSigner: true ; name: "owner" } , { isMut: true ; isSigner: false ; name: "userUnderlyingTokens" } , { isMut: true ; isSigner: false ; name: "userWrappedTokens" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "depositAmount" ; type: "u64" } ] ; name: "deposit" } , { accounts: [ { isMut: false ; isSigner: false ; name: "wrapper" } , { isMut: true ; isSigner: false ; name: "wrapperMint" } , { isMut: true ; isSigner: false ; name: "wrapperUnderlyingTokens" } , { isMut: false ; isSigner: true ; name: "owner" } , { isMut: true ; isSigner: false ; name: "userUnderlyingTokens" } , { isMut: true ; isSigner: false ; name: "userWrappedTokens" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "maxBurnAmount" ; type: "u64" } ] ; name: "withdraw" } , { accounts: [ { isMut: false ; isSigner: false ; name: "wrapper" } , { isMut: true ; isSigner: false ; name: "wrapperMint" } , { isMut: true ; isSigner: false ; name: "wrapperUnderlyingTokens" } , { isMut: false ; isSigner: true ; name: "owner" } , { isMut: true ; isSigner: false ; name: "userUnderlyingTokens" } , { isMut: true ; isSigner: false ; name: "userWrappedTokens" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ ] ; name: "withdrawAll" } ] name: "add_decimals" version: "1.1.2" Any Pair Any
Pair
: Omit < Pair < unknown > , "pool" > Continuation Router Accounts Continuation RouterIDL Continuation RouterIDL: { accounts: [ { name: "Continuation" ; type: { fields: [ { name: "owner" ; type: "publicKey" } , { name: "payer" ; type: "publicKey" } , { name: "initialAmountIn" ; type: { defined: "TokenAmount" } } , { name: "input" ; type: "publicKey" } , { name: "amountIn" ; type: { defined: "TokenAmount" } } , { name: "stepsLeft" ; type: "u16" } , { name: "output" ; type: "publicKey" } , { name: "outputInitialBalance" ; type: "u64" } , { name: "minimumAmountOut" ; type: { defined: "TokenAmount" } } , { name: "nonce" ; type: "u8" } ] ; kind: "struct" } } ] ; errors: [ { code: 6000 ; msg: "Path input does not match prior output." ; name: "PathInputOutputMismatch" } , { code: 6001 ; msg: "Error in a transitive swap input/output calculation." ; name: "TransitiveSwapCalculationError" } , { code: 6002 ; msg: "Swap result overflowed when checking balance difference." ; name: "OverflowSwapResult" } , { code: 6003 ; msg: "Swap resulted in a balance lower than the original balance." ; name: "BalanceLower" } , { code: 6004 ; msg: "Cannot perform a zero swap." ; name: "ZeroSwap" } , { code: 6005 ; msg: "Input owner does not match continuation owner." ; name: "InputOwnerMismatch" } , { code: 6006 ; msg: "Input mint does not match continuation input mint." ; name: "InputMintMismatch" } , { code: 6007 ; msg: "Output owner does not match continuation owner." ; name: "OutputOwnerMismatch" } , { code: 6008 ; msg: "No more steps to process." ; name: "NoMoreSteps" } , { code: 6009 ; msg: "Insufficient input balance" ; name: "InsufficientInputBalance" } , { code: 6010 ; msg: "Not all steps were processed." ; name: "EndIncomplete" } , { code: 6011 ; msg: "Minimum amount out not met." ; name: "MinimumOutNotMet" } , { code: 6012 ; msg: "Output mint does not match continuation output mint." ; name: "OutputMintMismatch" } ] ; events: [ { fields: [ { index: false ; name: "actionType" ; type: { defined: "ActionType" } } , { index: false ; name: "owner" ; type: "publicKey" } , { index: false ; name: "inputAmount" ; type: { defined: "TokenAmount" } } , { index: false ; name: "outputAccount" ; type: "publicKey" } , { index: false ; name: "outputAmount" ; type: { defined: "TokenAmount" } } ] ; name: "SwapActionEvent" } , { fields: [ { index: false ; name: "owner" ; type: "publicKey" } , { index: false ; name: "amountIn" ; type: { defined: "TokenAmount" } } , { index: false ; name: "amountOut" ; type: { defined: "TokenAmount" } } ] ; name: "SwapCompleteEvent" } ] ; instructions: [ { accounts: [ { isMut: true ; isSigner: true ; name: "payer" } , { isMut: true ; isSigner: false ; name: "ata" } , { isMut: false ; isSigner: false ; name: "authority" } , { isMut: false ; isSigner: false ; name: "mint" } , { isMut: false ; isSigner: false ; name: "rent" } , { isMut: false ; isSigner: false ; name: "systemProgram" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "associatedTokenProgram" } ] ; args: [ ] ; name: "createAtaIfNotExists" } , { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "random" } , { isMut: false ; isSigner: false ; name: "input" } , { isMut: false ; isSigner: false ; name: "output" } , { isMut: false ; isSigner: true ; name: "owner" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "rent" } , { isMut: false ; isSigner: false ; name: "systemProgram" } ] ; args: [ { name: "amountIn" ; type: "u64" } , { name: "minimumAmountOut" ; type: "u64" } , { name: "numSteps" ; type: "u16" } ] ; name: "begin" } , { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "input" } , { isMut: false ; isSigner: false ; name: "output" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ { name: "amountIn" ; type: "u64" } , { name: "minimumAmountOut" ; type: "u64" } , { name: "numSteps" ; type: "u16" } ] ; name: "beginV2" } , { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "output" } , { isMut: false ; isSigner: true ; name: "owner" } , { isMut: true ; isSigner: false ; name: "payer" } ] ; args: [ ] ; name: "end" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "swap" } , { isMut: false ; isSigner: false ; name: "swapAuthority" } , { isMut: false ; isSigner: false ; name: "clock" } ] ; name: "swap" } , { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "input" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "userToken" } , { isMut: true ; isSigner: false ; name: "fees" } ] ; name: "output" } ] ; name: "action" } ] ; args: [ ] ; name: "ssSwap" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "swap" } , { isMut: false ; isSigner: false ; name: "swapAuthority" } , { isMut: false ; isSigner: false ; name: "clock" } ] ; name: "swap" } , { isMut: true ; isSigner: false ; name: "poolMint" } , { isMut: true ; isSigner: false ; name: "inputLp" } , { isMut: true ; isSigner: false ; name: "quoteReserves" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "userToken" } , { isMut: true ; isSigner: false ; name: "fees" } ] ; name: "output" } ] ; name: "action" } ] ; args: [ ] ; name: "ssWithdrawOne" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "swap" } , { isMut: false ; isSigner: false ; name: "swapAuthority" } , { isMut: false ; isSigner: false ; name: "clock" } ] ; name: "swap" } , { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "inputA" } , { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "inputB" } , { isMut: true ; isSigner: false ; name: "poolMint" } , { isMut: true ; isSigner: false ; name: "outputLp" } ] ; name: "inner" } ] ; name: "action" } ] ; args: [ ] ; name: "ssDepositA" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "swap" } , { isMut: false ; isSigner: false ; name: "swapAuthority" } , { isMut: false ; isSigner: false ; name: "clock" } ] ; name: "swap" } , { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "inputA" } , { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "inputB" } , { isMut: true ; isSigner: false ; name: "poolMint" } , { isMut: true ; isSigner: false ; name: "outputLp" } ] ; name: "inner" } ] ; name: "action" } ] ; args: [ ] ; name: "ssDepositB" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { isMut: false ; isSigner: false ; name: "input" } , { isMut: false ; isSigner: false ; name: "output" } ] ; name: "action" } ] ; args: [ ] ; name: "adWithdraw" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { isMut: false ; isSigner: false ; name: "input" } , { isMut: false ; isSigner: false ; name: "output" } ] ; name: "action" } ] ; args: [ ] ; name: "adDeposit" } ] ; name: "continuation_router" ; types: [ { name: "TokenAmount" ; type: { fields: [ { name: "mint" ; type: "publicKey" } , { name: "amount" ; type: "u64" } ] ; kind: "struct" } } , { name: "ActionType" ; type: { kind: "enum" ; variants: [ { name: "SSSwap" } , { name: "SSWithdrawOne" } , { name: "SSDepositA" } , { name: "SSDepositB" } , { name: "ADWithdraw" } , { name: "ADDeposit" } ] } } ] ; version: "1.1.2" }
Defined in src/idls/continuation_router.ts:3 Type declaration accounts: [ { name: "Continuation" ; type: { fields: [ { name: "owner" ; type: "publicKey" } , { name: "payer" ; type: "publicKey" } , { name: "initialAmountIn" ; type: { defined: "TokenAmount" } } , { name: "input" ; type: "publicKey" } , { name: "amountIn" ; type: { defined: "TokenAmount" } } , { name: "stepsLeft" ; type: "u16" } , { name: "output" ; type: "publicKey" } , { name: "outputInitialBalance" ; type: "u64" } , { name: "minimumAmountOut" ; type: { defined: "TokenAmount" } } , { name: "nonce" ; type: "u8" } ] ; kind: "struct" } } ] errors: [ { code: 6000 ; msg: "Path input does not match prior output." ; name: "PathInputOutputMismatch" } , { code: 6001 ; msg: "Error in a transitive swap input/output calculation." ; name: "TransitiveSwapCalculationError" } , { code: 6002 ; msg: "Swap result overflowed when checking balance difference." ; name: "OverflowSwapResult" } , { code: 6003 ; msg: "Swap resulted in a balance lower than the original balance." ; name: "BalanceLower" } , { code: 6004 ; msg: "Cannot perform a zero swap." ; name: "ZeroSwap" } , { code: 6005 ; msg: "Input owner does not match continuation owner." ; name: "InputOwnerMismatch" } , { code: 6006 ; msg: "Input mint does not match continuation input mint." ; name: "InputMintMismatch" } , { code: 6007 ; msg: "Output owner does not match continuation owner." ; name: "OutputOwnerMismatch" } , { code: 6008 ; msg: "No more steps to process." ; name: "NoMoreSteps" } , { code: 6009 ; msg: "Insufficient input balance" ; name: "InsufficientInputBalance" } , { code: 6010 ; msg: "Not all steps were processed." ; name: "EndIncomplete" } , { code: 6011 ; msg: "Minimum amount out not met." ; name: "MinimumOutNotMet" } , { code: 6012 ; msg: "Output mint does not match continuation output mint." ; name: "OutputMintMismatch" } ] events: [ { fields: [ { index: false ; name: "actionType" ; type: { defined: "ActionType" } } , { index: false ; name: "owner" ; type: "publicKey" } , { index: false ; name: "inputAmount" ; type: { defined: "TokenAmount" } } , { index: false ; name: "outputAccount" ; type: "publicKey" } , { index: false ; name: "outputAmount" ; type: { defined: "TokenAmount" } } ] ; name: "SwapActionEvent" } , { fields: [ { index: false ; name: "owner" ; type: "publicKey" } , { index: false ; name: "amountIn" ; type: { defined: "TokenAmount" } } , { index: false ; name: "amountOut" ; type: { defined: "TokenAmount" } } ] ; name: "SwapCompleteEvent" } ] instructions: [ { accounts: [ { isMut: true ; isSigner: true ; name: "payer" } , { isMut: true ; isSigner: false ; name: "ata" } , { isMut: false ; isSigner: false ; name: "authority" } , { isMut: false ; isSigner: false ; name: "mint" } , { isMut: false ; isSigner: false ; name: "rent" } , { isMut: false ; isSigner: false ; name: "systemProgram" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "associatedTokenProgram" } ] ; args: [ ] ; name: "createAtaIfNotExists" } , { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "random" } , { isMut: false ; isSigner: false ; name: "input" } , { isMut: false ; isSigner: false ; name: "output" } , { isMut: false ; isSigner: true ; name: "owner" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "rent" } , { isMut: false ; isSigner: false ; name: "systemProgram" } ] ; args: [ { name: "amountIn" ; type: "u64" } , { name: "minimumAmountOut" ; type: "u64" } , { name: "numSteps" ; type: "u16" } ] ; name: "begin" } , { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "input" } , { isMut: false ; isSigner: false ; name: "output" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ { name: "amountIn" ; type: "u64" } , { name: "minimumAmountOut" ; type: "u64" } , { name: "numSteps" ; type: "u16" } ] ; name: "beginV2" } , { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "output" } , { isMut: false ; isSigner: true ; name: "owner" } , { isMut: true ; isSigner: false ; name: "payer" } ] ; args: [ ] ; name: "end" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "swap" } , { isMut: false ; isSigner: false ; name: "swapAuthority" } , { isMut: false ; isSigner: false ; name: "clock" } ] ; name: "swap" } , { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "input" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "userToken" } , { isMut: true ; isSigner: false ; name: "fees" } ] ; name: "output" } ] ; name: "action" } ] ; args: [ ] ; name: "ssSwap" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "swap" } , { isMut: false ; isSigner: false ; name: "swapAuthority" } , { isMut: false ; isSigner: false ; name: "clock" } ] ; name: "swap" } , { isMut: true ; isSigner: false ; name: "poolMint" } , { isMut: true ; isSigner: false ; name: "inputLp" } , { isMut: true ; isSigner: false ; name: "quoteReserves" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "userToken" } , { isMut: true ; isSigner: false ; name: "fees" } ] ; name: "output" } ] ; name: "action" } ] ; args: [ ] ; name: "ssWithdrawOne" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "swap" } , { isMut: false ; isSigner: false ; name: "swapAuthority" } , { isMut: false ; isSigner: false ; name: "clock" } ] ; name: "swap" } , { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "inputA" } , { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "inputB" } , { isMut: true ; isSigner: false ; name: "poolMint" } , { isMut: true ; isSigner: false ; name: "outputLp" } ] ; name: "inner" } ] ; name: "action" } ] ; args: [ ] ; name: "ssDepositA" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "swap" } , { isMut: false ; isSigner: false ; name: "swapAuthority" } , { isMut: false ; isSigner: false ; name: "clock" } ] ; name: "swap" } , { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "inputA" } , { accounts: [ { isMut: true ; isSigner: false ; name: "user" } , { isMut: true ; isSigner: false ; name: "reserve" } ] ; name: "inputB" } , { isMut: true ; isSigner: false ; name: "poolMint" } , { isMut: true ; isSigner: false ; name: "outputLp" } ] ; name: "inner" } ] ; name: "action" } ] ; args: [ ] ; name: "ssDepositB" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { isMut: false ; isSigner: false ; name: "input" } , { isMut: false ; isSigner: false ; name: "output" } ] ; name: "action" } ] ; args: [ ] ; name: "adWithdraw" } , { accounts: [ { accounts: [ { isMut: true ; isSigner: false ; name: "continuation" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "swapProgram" } , { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "continuation" } , { accounts: [ { isMut: false ; isSigner: false ; name: "input" } , { isMut: false ; isSigner: false ; name: "output" } ] ; name: "action" } ] ; args: [ ] ; name: "adDeposit" } ] name: "continuation_router" types: [ { name: "TokenAmount" ; type: { fields: [ { name: "mint" ; type: "publicKey" } , { name: "amount" ; type: "u64" } ] ; kind: "struct" } } , { name: "ActionType" ; type: { kind: "enum" ; variants: [ { name: "SSSwap" } , { name: "SSWithdrawOne" } , { name: "SSDepositA" } , { name: "SSDepositB" } , { name: "ADWithdraw" } , { name: "ADDeposit" } ] } } ] version: "1.1.2" Continuation Router Program LockupIDL LockupIDL: { accounts: [ { name: "Release" ; type: { fields: [ { name: "beneficiary" ; type: "publicKey" } , { name: "mint" ; type: "publicKey" } , { name: "mintProxyProgram" ; type: "publicKey" } , { name: "minterInfo" ; type: "publicKey" } , { name: "outstanding" ; type: "u64" } , { name: "startBalance" ; type: "u64" } , { name: "createdTs" ; type: "i64" } , { name: "startTs" ; type: "i64" } , { name: "endTs" ; type: "i64" } , { name: "nonce" ; type: "u8" } ] ; kind: "struct" } } ] ; errors: [ { code: 6000 ; msg: "The provided beneficiary was not valid." ; name: "InvalidBeneficiary" } , { code: 6001 ; msg: "The release deposit amount must be greater than zero." ; name: "InvalidDepositAmount" } , { code: 6002 ; msg: "The Whitelist entry is not a valid program address." ; name: "InvalidProgramAddress" } , { code: 6003 ; msg: "Invalid release schedule given." ; name: "InvalidSchedule" } , { code: 6004 ; msg: "The provided token mint did not match the mint on the release account." ; name: "InvalidTokenMint" } , { code: 6005 ; msg: "Insufficient withdrawal balance." ; name: "InsufficientWithdrawalBalance" } , { code: 6006 ; msg: "Unauthorized access." ; name: "Unauthorized" } , { code: 6007 ; msg: "Pending owner mismatch." ; name: "PendingOwnerMismatch" } , { code: 6008 ; msg: "The mint proxy program provided was not valid." ; name: "InvalidMintProxyProgram" } , { code: 6009 ; msg: "The Release must be an authorized minter on the mint proxy." ; name: "MinterUnauthorized" } , { code: 6010 ; msg: "The minter info is not owned by the expected mint proxy." ; name: "MinterInfoProgramMismatch" } , { code: 6011 ; msg: "The minter must have an allowance of at least the release amount." ; name: "MinterAllowanceTooLow" } , { code: 6012 ; msg: "Minter info mismatch" ; name: "MinterInfoMismatch" } , { code: 6013 ; msg: "Release mismatch" ; name: "ReleaseMismatch" } , { code: 6014 ; msg: "Proxy mint authority mismatch" ; name: "ProxyMintAuthorityMismatch" } , { code: 6015 ; msg: "Mint proxy mint mismatch" ; name: "MintProxyMintMismatch" } , { code: 6016 ; msg: "Withdraw destination mint mismatch" ; name: "DestinationMintMismatch" } , { code: 6017 ; msg: "Token program mismatch" ; name: "TokenProgramMismatch" } , { code: 6018 ; msg: "Release already redeemed from" ; name: "ReleaseAlreadyRedeemedFrom" } , { code: 6019 ; msg: "U64 overflow." ; name: "U64Overflow" } ] ; events: [ { fields: [ { index: true ; name: "beneficiary" ; type: "publicKey" } , { index: true ; name: "mint" ; type: "publicKey" } , { index: false ; name: "releaseAmount" ; type: "u64" } , { index: false ; name: "createdAt" ; type: "i64" } , { index: false ; name: "startAt" ; type: "i64" } , { index: false ; name: "endAt" ; type: "i64" } ] ; name: "ReleaseCreatedEvent" } , { fields: [ { index: true ; name: "beneficiary" ; type: "publicKey" } , { index: true ; name: "mint" ; type: "publicKey" } , { index: false ; name: "outstandingAmount" ; type: "u64" } , { index: false ; name: "withdrawAmount" ; type: "u64" } , { index: false ; name: "timestamp" ; type: "i64" } ] ; name: "WithdrawEvent" } ] ; instructions: [ { accounts: [ { isMut: false ; isSigner: false ; name: "release" } , { isMut: false ; isSigner: false ; name: "clock" } ] ; args: [ ] ; name: "availableForWithdrawal" } ] ; name: "lockup" ; state: { methods: [ { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } ] ; args: [ ] ; name: "new" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "beneficiary" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: false ; isSigner: false ; name: "mint" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "systemProgram" } , { isMut: false ; isSigner: false ; name: "rent" } ] ; args: [ { name: "releaseAmount" ; type: "u64" } , { name: "startTs" ; type: "i64" } , { name: "endTs" ; type: "i64" } ] ; name: "createRelease" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: false ; isSigner: false ; name: "payer" } ] ; args: [ ] ; name: "revokeRelease" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ { name: "nextOwner" ; type: "publicKey" } ] ; name: "transferOwnership" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ ] ; name: "acceptOwnership" } , { accounts: [ { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: true ; name: "beneficiary" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: true ; isSigner: false ; name: "tokenAccount" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "unusedClock" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } ] ; args: [ ] ; name: "withdraw" } , { accounts: [ { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: true ; name: "beneficiary" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: true ; isSigner: false ; name: "tokenAccount" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "unusedClock" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } ] ; args: [ { name: "amount" ; type: "u64" } ] ; name: "withdrawWithAmount" } ] ; struct: { name: "Lockup" ; type: { fields: [ { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } ] ; kind: "struct" } } } ; version: "1.1.2" }
Defined in src/idls/lockup.ts:3 Type declaration accounts: [ { name: "Release" ; type: { fields: [ { name: "beneficiary" ; type: "publicKey" } , { name: "mint" ; type: "publicKey" } , { name: "mintProxyProgram" ; type: "publicKey" } , { name: "minterInfo" ; type: "publicKey" } , { name: "outstanding" ; type: "u64" } , { name: "startBalance" ; type: "u64" } , { name: "createdTs" ; type: "i64" } , { name: "startTs" ; type: "i64" } , { name: "endTs" ; type: "i64" } , { name: "nonce" ; type: "u8" } ] ; kind: "struct" } } ] errors: [ { code: 6000 ; msg: "The provided beneficiary was not valid." ; name: "InvalidBeneficiary" } , { code: 6001 ; msg: "The release deposit amount must be greater than zero." ; name: "InvalidDepositAmount" } , { code: 6002 ; msg: "The Whitelist entry is not a valid program address." ; name: "InvalidProgramAddress" } , { code: 6003 ; msg: "Invalid release schedule given." ; name: "InvalidSchedule" } , { code: 6004 ; msg: "The provided token mint did not match the mint on the release account." ; name: "InvalidTokenMint" } , { code: 6005 ; msg: "Insufficient withdrawal balance." ; name: "InsufficientWithdrawalBalance" } , { code: 6006 ; msg: "Unauthorized access." ; name: "Unauthorized" } , { code: 6007 ; msg: "Pending owner mismatch." ; name: "PendingOwnerMismatch" } , { code: 6008 ; msg: "The mint proxy program provided was not valid." ; name: "InvalidMintProxyProgram" } , { code: 6009 ; msg: "The Release must be an authorized minter on the mint proxy." ; name: "MinterUnauthorized" } , { code: 6010 ; msg: "The minter info is not owned by the expected mint proxy." ; name: "MinterInfoProgramMismatch" } , { code: 6011 ; msg: "The minter must have an allowance of at least the release amount." ; name: "MinterAllowanceTooLow" } , { code: 6012 ; msg: "Minter info mismatch" ; name: "MinterInfoMismatch" } , { code: 6013 ; msg: "Release mismatch" ; name: "ReleaseMismatch" } , { code: 6014 ; msg: "Proxy mint authority mismatch" ; name: "ProxyMintAuthorityMismatch" } , { code: 6015 ; msg: "Mint proxy mint mismatch" ; name: "MintProxyMintMismatch" } , { code: 6016 ; msg: "Withdraw destination mint mismatch" ; name: "DestinationMintMismatch" } , { code: 6017 ; msg: "Token program mismatch" ; name: "TokenProgramMismatch" } , { code: 6018 ; msg: "Release already redeemed from" ; name: "ReleaseAlreadyRedeemedFrom" } , { code: 6019 ; msg: "U64 overflow." ; name: "U64Overflow" } ] events: [ { fields: [ { index: true ; name: "beneficiary" ; type: "publicKey" } , { index: true ; name: "mint" ; type: "publicKey" } , { index: false ; name: "releaseAmount" ; type: "u64" } , { index: false ; name: "createdAt" ; type: "i64" } , { index: false ; name: "startAt" ; type: "i64" } , { index: false ; name: "endAt" ; type: "i64" } ] ; name: "ReleaseCreatedEvent" } , { fields: [ { index: true ; name: "beneficiary" ; type: "publicKey" } , { index: true ; name: "mint" ; type: "publicKey" } , { index: false ; name: "outstandingAmount" ; type: "u64" } , { index: false ; name: "withdrawAmount" ; type: "u64" } , { index: false ; name: "timestamp" ; type: "i64" } ] ; name: "WithdrawEvent" } ] instructions: [ { accounts: [ { isMut: false ; isSigner: false ; name: "release" } , { isMut: false ; isSigner: false ; name: "clock" } ] ; args: [ ] ; name: "availableForWithdrawal" } ] name: "lockup" state: { methods: [ { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } ] ; args: [ ] ; name: "new" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "beneficiary" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: false ; isSigner: false ; name: "mint" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "systemProgram" } , { isMut: false ; isSigner: false ; name: "rent" } ] ; args: [ { name: "releaseAmount" ; type: "u64" } , { name: "startTs" ; type: "i64" } , { name: "endTs" ; type: "i64" } ] ; name: "createRelease" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: false ; isSigner: false ; name: "payer" } ] ; args: [ ] ; name: "revokeRelease" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ { name: "nextOwner" ; type: "publicKey" } ] ; name: "transferOwnership" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ ] ; name: "acceptOwnership" } , { accounts: [ { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: true ; name: "beneficiary" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: true ; isSigner: false ; name: "tokenAccount" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "unusedClock" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } ] ; args: [ ] ; name: "withdraw" } , { accounts: [ { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: true ; name: "beneficiary" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: true ; isSigner: false ; name: "tokenAccount" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "unusedClock" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } ] ; args: [ { name: "amount" ; type: "u64" } ] ; name: "withdrawWithAmount" } ] ; struct: { name: "Lockup" ; type: { fields: [ { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } ] ; kind: "struct" } } } methods: [ { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } ] ; args: [ ] ; name: "new" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "beneficiary" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: false ; isSigner: false ; name: "mint" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "systemProgram" } , { isMut: false ; isSigner: false ; name: "rent" } ] ; args: [ { name: "releaseAmount" ; type: "u64" } , { name: "startTs" ; type: "i64" } , { name: "endTs" ; type: "i64" } ] ; name: "createRelease" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: false ; isSigner: false ; name: "payer" } ] ; args: [ ] ; name: "revokeRelease" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ { name: "nextOwner" ; type: "publicKey" } ] ; name: "transferOwnership" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ ] ; name: "acceptOwnership" } , { accounts: [ { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: true ; name: "beneficiary" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: true ; isSigner: false ; name: "tokenAccount" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "unusedClock" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } ] ; args: [ ] ; name: "withdraw" } , { accounts: [ { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: true ; name: "beneficiary" } , { isMut: true ; isSigner: false ; name: "release" } , { isMut: true ; isSigner: false ; name: "tokenAccount" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } , { isMut: false ; isSigner: false ; name: "unusedClock" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } ] ; args: [ { name: "amount" ; type: "u64" } ] ; name: "withdrawWithAmount" } ] struct: { name: "Lockup" ; type: { fields: [ { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } ] ; kind: "struct" } } name: "Lockup" type: { fields: [ { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } ] ; kind: "struct" } fields: [ { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } ] kind: "struct" version: "1.1.2" Mint ProxyIDL Mint ProxyIDL: { accounts: [ { name: "MinterInfo" ; type: { fields: [ { name: "minter" ; type: "publicKey" } , { name: "allowance" ; type: "u64" } , { name: "nonce" ; type: "u8" } ] ; kind: "struct" } } , { name: "MintProxyInfo" ; type: { fields: [ { name: "nonce" ; type: "u8" } , { name: "hardCap" ; type: "u64" } , { name: "proxyMintAuthority" ; type: "publicKey" } , { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } , { name: "stateAssociatedAccount" ; type: "publicKey" } , { name: "tokenMint" ; type: "publicKey" } ] ; kind: "struct" } } ] ; errors: [ { code: 6000 ; msg: "You are not authorized to perform this action." ; name: "Unauthorized" } , { code: 6001 ; msg: "Cannot mint over hard cap." ; name: "HardcapExceeded" } , { code: 6002 ; msg: "Provided token mint has a freeze authority" ; name: "InvalidFreezeAuthority" } , { code: 6003 ; msg: "Provided token mint was invalid." ; name: "InvalidTokenMint" } , { code: 6004 ; msg: "Provided proxy authority was invalid." ; name: "InvalidProxyAuthority" } , { code: 6005 ; msg: "Not enough remaining accounts in relay context." ; name: "NotEnoughAccounts" } , { code: 6006 ; msg: "Whitelist entry already exists." ; name: "WhitelistEntryAlreadyExists" } , { code: 6007 ; msg: "Whitelist entry not found." ; name: "WhitelistEntryNotFound" } , { code: 6008 ; msg: "Whitelist is full." ; name: "WhitelistFull" } , { code: 6009 ; msg: "Invalid token program ID." ; name: "TokenProgramIDMismatch" } , { code: 6010 ; msg: "Pending owner mismatch." ; name: "PendingOwnerMismatch" } , { code: 6011 ; msg: "Minter allowance exceeded." ; name: "MinterAllowanceExceeded" } , { code: 6012 ; msg: "U64 overflow." ; name: "U64Overflow" } ] ; instructions: [ ] ; name: "mint_proxy" ; state: { methods: [ { accounts: [ { isMut: false ; isSigner: true ; name: "mintAuthority" } , { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: false ; isSigner: false ; name: "owner" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "nonce" ; type: "u8" } , { name: "hardCap" ; type: "u64" } ] ; name: "new" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ { name: "nextOwner" ; type: "publicKey" } ] ; name: "transferOwnership" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ ] ; name: "acceptOwnership" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "minter" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "rent" } , { isMut: false ; isSigner: false ; name: "systemProgram" } ] ; args: [ { name: "allowance" ; type: "u64" } ] ; name: "minterAdd" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: true ; isSigner: false ; name: "minterInfo" } ] ; args: [ { name: "allowance" ; type: "u64" } ] ; name: "minterUpdate" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "minter" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: true ; isSigner: false ; name: "payer" } ] ; args: [ ] ; name: "minterRemove" } , { accounts: [ { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: false ; isSigner: true ; name: "minter" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: true ; isSigner: false ; name: "destination" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "amount" ; type: "u64" } ] ; name: "performMint" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "newAuthority" ; type: "publicKey" } ] ; name: "setMintAuthority" } ] ; struct: { name: "MintProxy" ; type: { fields: [ { name: "nonce" ; type: "u8" } , { name: "hardCap" ; type: "u64" } , { name: "proxyMintAuthority" ; type: "publicKey" } , { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } , { name: "stateAssociatedAccount" ; type: "publicKey" } , { name: "tokenMint" ; type: "publicKey" } ] ; kind: "struct" } } } ; version: "1.1.2" }
Defined in src/idls/mint_proxy.ts:3 Type declaration accounts: [ { name: "MinterInfo" ; type: { fields: [ { name: "minter" ; type: "publicKey" } , { name: "allowance" ; type: "u64" } , { name: "nonce" ; type: "u8" } ] ; kind: "struct" } } , { name: "MintProxyInfo" ; type: { fields: [ { name: "nonce" ; type: "u8" } , { name: "hardCap" ; type: "u64" } , { name: "proxyMintAuthority" ; type: "publicKey" } , { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } , { name: "stateAssociatedAccount" ; type: "publicKey" } , { name: "tokenMint" ; type: "publicKey" } ] ; kind: "struct" } } ] errors: [ { code: 6000 ; msg: "You are not authorized to perform this action." ; name: "Unauthorized" } , { code: 6001 ; msg: "Cannot mint over hard cap." ; name: "HardcapExceeded" } , { code: 6002 ; msg: "Provided token mint has a freeze authority" ; name: "InvalidFreezeAuthority" } , { code: 6003 ; msg: "Provided token mint was invalid." ; name: "InvalidTokenMint" } , { code: 6004 ; msg: "Provided proxy authority was invalid." ; name: "InvalidProxyAuthority" } , { code: 6005 ; msg: "Not enough remaining accounts in relay context." ; name: "NotEnoughAccounts" } , { code: 6006 ; msg: "Whitelist entry already exists." ; name: "WhitelistEntryAlreadyExists" } , { code: 6007 ; msg: "Whitelist entry not found." ; name: "WhitelistEntryNotFound" } , { code: 6008 ; msg: "Whitelist is full." ; name: "WhitelistFull" } , { code: 6009 ; msg: "Invalid token program ID." ; name: "TokenProgramIDMismatch" } , { code: 6010 ; msg: "Pending owner mismatch." ; name: "PendingOwnerMismatch" } , { code: 6011 ; msg: "Minter allowance exceeded." ; name: "MinterAllowanceExceeded" } , { code: 6012 ; msg: "U64 overflow." ; name: "U64Overflow" } ] instructions: [ ] name: "mint_proxy" state: { methods: [ { accounts: [ { isMut: false ; isSigner: true ; name: "mintAuthority" } , { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: false ; isSigner: false ; name: "owner" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "nonce" ; type: "u8" } , { name: "hardCap" ; type: "u64" } ] ; name: "new" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ { name: "nextOwner" ; type: "publicKey" } ] ; name: "transferOwnership" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ ] ; name: "acceptOwnership" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "minter" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "rent" } , { isMut: false ; isSigner: false ; name: "systemProgram" } ] ; args: [ { name: "allowance" ; type: "u64" } ] ; name: "minterAdd" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: true ; isSigner: false ; name: "minterInfo" } ] ; args: [ { name: "allowance" ; type: "u64" } ] ; name: "minterUpdate" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "minter" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: true ; isSigner: false ; name: "payer" } ] ; args: [ ] ; name: "minterRemove" } , { accounts: [ { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: false ; isSigner: true ; name: "minter" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: true ; isSigner: false ; name: "destination" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "amount" ; type: "u64" } ] ; name: "performMint" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "newAuthority" ; type: "publicKey" } ] ; name: "setMintAuthority" } ] ; struct: { name: "MintProxy" ; type: { fields: [ { name: "nonce" ; type: "u8" } , { name: "hardCap" ; type: "u64" } , { name: "proxyMintAuthority" ; type: "publicKey" } , { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } , { name: "stateAssociatedAccount" ; type: "publicKey" } , { name: "tokenMint" ; type: "publicKey" } ] ; kind: "struct" } } } methods: [ { accounts: [ { isMut: false ; isSigner: true ; name: "mintAuthority" } , { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: false ; isSigner: false ; name: "owner" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "nonce" ; type: "u8" } , { name: "hardCap" ; type: "u64" } ] ; name: "new" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ { name: "nextOwner" ; type: "publicKey" } ] ; name: "transferOwnership" } , { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; args: [ ] ; name: "acceptOwnership" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "minter" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "rent" } , { isMut: false ; isSigner: false ; name: "systemProgram" } ] ; args: [ { name: "allowance" ; type: "u64" } ] ; name: "minterAdd" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: true ; isSigner: false ; name: "minterInfo" } ] ; args: [ { name: "allowance" ; type: "u64" } ] ; name: "minterUpdate" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "minter" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: true ; isSigner: false ; name: "payer" } ] ; args: [ ] ; name: "minterRemove" } , { accounts: [ { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: false ; isSigner: true ; name: "minter" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: true ; isSigner: false ; name: "destination" } , { isMut: true ; isSigner: false ; name: "minterInfo" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "amount" ; type: "u64" } ] ; name: "performMint" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: true ; name: "owner" } ] ; name: "auth" } , { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: true ; isSigner: false ; name: "tokenMint" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; args: [ { name: "newAuthority" ; type: "publicKey" } ] ; name: "setMintAuthority" } ] struct: { name: "MintProxy" ; type: { fields: [ { name: "nonce" ; type: "u8" } , { name: "hardCap" ; type: "u64" } , { name: "proxyMintAuthority" ; type: "publicKey" } , { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } , { name: "stateAssociatedAccount" ; type: "publicKey" } , { name: "tokenMint" ; type: "publicKey" } ] ; kind: "struct" } } name: "MintProxy" type: { fields: [ { name: "nonce" ; type: "u8" } , { name: "hardCap" ; type: "u64" } , { name: "proxyMintAuthority" ; type: "publicKey" } , { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } , { name: "stateAssociatedAccount" ; type: "publicKey" } , { name: "tokenMint" ; type: "publicKey" } ] ; kind: "struct" } fields: [ { name: "nonce" ; type: "u8" } , { name: "hardCap" ; type: "u64" } , { name: "proxyMintAuthority" ; type: "publicKey" } , { name: "owner" ; type: "publicKey" } , { name: "pendingOwner" ; type: "publicKey" } , { name: "stateAssociatedAccount" ; type: "publicKey" } , { name: "tokenMint" ; type: "publicKey" } ] kind: "struct" version: "1.1.2" Minter Info Minter Info: Accounts [ "MinterInfo" ]
Pending Redeemer Type declaration bump: number tx: TransactionEnvelope Redeem Token Args Redeem Token Args: { iouSource: PublicKey ; redemptionDestination: PublicKey ; sourceAuthority: PublicKey ; tokenAmount: u64 }
Type declaration iou Source: PublicKey redemption Destination: PublicKey source Authority: PublicKey token Amount: u64 Redeemer Data Redeemer Data: Accounts [ "Redeemer" ]
RedeemerIDL RedeemerIDL: { accounts: [ { name: "Redeemer" ; type: { fields: [ { name: "bump" ; type: "u8" } , { name: "iouMint" ; type: "publicKey" } , { name: "redemptionMint" ; type: "publicKey" } , { name: "redemptionVault" ; type: "publicKey" } ] ; kind: "struct" } } ] ; errors: [ { code: 6000 ; msg: "Unauthorized." ; name: "Unauthorized" } , { code: 6001 ; msg: "Redemption token and IOU token decimals must match" ; name: "DecimalsMismatch" } ] ; events: [ { fields: [ { index: false ; name: "user" ; type: "publicKey" } , { index: false ; name: "iouMint" ; type: "publicKey" } , { index: false ; name: "destinationMint" ; type: "publicKey" } , { index: false ; name: "amount" ; type: "u64" } ] ; name: "RedeemTokensEvent" } ] ; instructions: [ { accounts: [ { isMut: true ; isSigner: false ; name: "redeemer" } , { accounts: [ { isMut: false ; isSigner: false ; name: "iouMint" } , { isMut: false ; isSigner: false ; name: "redemptionMint" } , { isMut: false ; isSigner: false ; name: "redemptionVault" } ] ; name: "tokens" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "systemProgram" } ] ; args: [ { name: "bump" ; type: "u8" } ] ; name: "createRedeemer" } , { accounts: [ { isMut: false ; isSigner: false ; name: "redeemer" } , { accounts: [ { isMut: true ; isSigner: false ; name: "iouMint" } , { isMut: true ; isSigner: false ; name: "redemptionMint" } , { isMut: true ; isSigner: false ; name: "redemptionVault" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; name: "tokens" } , { isMut: false ; isSigner: true ; name: "sourceAuthority" } , { isMut: true ; isSigner: false ; name: "iouSource" } , { isMut: true ; isSigner: false ; name: "redemptionDestination" } ] ; args: [ { name: "amount" ; type: "u64" } ] ; name: "redeemTokens" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "redeemer" } , { accounts: [ { isMut: true ; isSigner: false ; name: "iouMint" } , { isMut: true ; isSigner: false ; name: "redemptionMint" } , { isMut: true ; isSigner: false ; name: "redemptionVault" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; name: "tokens" } , { isMut: false ; isSigner: true ; name: "sourceAuthority" } , { isMut: true ; isSigner: false ; name: "iouSource" } , { isMut: true ; isSigner: false ; name: "redemptionDestination" } ] ; name: "redeemCtx" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } , { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: true ; isSigner: false ; name: "minterInfo" } ] ; args: [ { name: "amount" ; type: "u64" } ] ; name: "redeemTokensFromMintProxy" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "redeemer" } , { accounts: [ { isMut: true ; isSigner: false ; name: "iouMint" } , { isMut: true ; isSigner: false ; name: "redemptionMint" } , { isMut: true ; isSigner: false ; name: "redemptionVault" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; name: "tokens" } , { isMut: false ; isSigner: true ; name: "sourceAuthority" } , { isMut: true ; isSigner: false ; name: "iouSource" } , { isMut: true ; isSigner: false ; name: "redemptionDestination" } ] ; name: "redeemCtx" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } , { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: true ; isSigner: false ; name: "minterInfo" } ] ; args: [ ] ; name: "redeemAllTokensFromMintProxy" } ] ; name: "redeemer" ; version: "1.1.2" }
Defined in src/idls/redeemer.ts:3 Type declaration accounts: [ { name: "Redeemer" ; type: { fields: [ { name: "bump" ; type: "u8" } , { name: "iouMint" ; type: "publicKey" } , { name: "redemptionMint" ; type: "publicKey" } , { name: "redemptionVault" ; type: "publicKey" } ] ; kind: "struct" } } ] errors: [ { code: 6000 ; msg: "Unauthorized." ; name: "Unauthorized" } , { code: 6001 ; msg: "Redemption token and IOU token decimals must match" ; name: "DecimalsMismatch" } ] events: [ { fields: [ { index: false ; name: "user" ; type: "publicKey" } , { index: false ; name: "iouMint" ; type: "publicKey" } , { index: false ; name: "destinationMint" ; type: "publicKey" } , { index: false ; name: "amount" ; type: "u64" } ] ; name: "RedeemTokensEvent" } ] instructions: [ { accounts: [ { isMut: true ; isSigner: false ; name: "redeemer" } , { accounts: [ { isMut: false ; isSigner: false ; name: "iouMint" } , { isMut: false ; isSigner: false ; name: "redemptionMint" } , { isMut: false ; isSigner: false ; name: "redemptionVault" } ] ; name: "tokens" } , { isMut: true ; isSigner: true ; name: "payer" } , { isMut: false ; isSigner: false ; name: "systemProgram" } ] ; args: [ { name: "bump" ; type: "u8" } ] ; name: "createRedeemer" } , { accounts: [ { isMut: false ; isSigner: false ; name: "redeemer" } , { accounts: [ { isMut: true ; isSigner: false ; name: "iouMint" } , { isMut: true ; isSigner: false ; name: "redemptionMint" } , { isMut: true ; isSigner: false ; name: "redemptionVault" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; name: "tokens" } , { isMut: false ; isSigner: true ; name: "sourceAuthority" } , { isMut: true ; isSigner: false ; name: "iouSource" } , { isMut: true ; isSigner: false ; name: "redemptionDestination" } ] ; args: [ { name: "amount" ; type: "u64" } ] ; name: "redeemTokens" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "redeemer" } , { accounts: [ { isMut: true ; isSigner: false ; name: "iouMint" } , { isMut: true ; isSigner: false ; name: "redemptionMint" } , { isMut: true ; isSigner: false ; name: "redemptionVault" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; name: "tokens" } , { isMut: false ; isSigner: true ; name: "sourceAuthority" } , { isMut: true ; isSigner: false ; name: "iouSource" } , { isMut: true ; isSigner: false ; name: "redemptionDestination" } ] ; name: "redeemCtx" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } , { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: true ; isSigner: false ; name: "minterInfo" } ] ; args: [ { name: "amount" ; type: "u64" } ] ; name: "redeemTokensFromMintProxy" } , { accounts: [ { accounts: [ { isMut: false ; isSigner: false ; name: "redeemer" } , { accounts: [ { isMut: true ; isSigner: false ; name: "iouMint" } , { isMut: true ; isSigner: false ; name: "redemptionMint" } , { isMut: true ; isSigner: false ; name: "redemptionVault" } , { isMut: false ; isSigner: false ; name: "tokenProgram" } ] ; name: "tokens" } , { isMut: false ; isSigner: true ; name: "sourceAuthority" } , { isMut: true ; isSigner: false ; name: "iouSource" } , { isMut: true ; isSigner: false ; name: "redemptionDestination" } ] ; name: "redeemCtx" } , { isMut: false ; isSigner: false ; name: "mintProxyState" } , { isMut: false ; isSigner: false ; name: "proxyMintAuthority" } , { isMut: false ; isSigner: false ; name: "mintProxyProgram" } , { isMut: true ; isSigner: false ; name: "minterInfo" } ] ; args: [ ] ; name: "redeemAllTokensFromMintProxy" } ] name: "redeemer" version: "1.1.2" Redeemer Wrapper Ctor Args Redeemer
Wrapper
Ctor
Args
: { iouMint
: PublicKey ; redemptionMint
: PublicKey ; sdk
: Saber } Type declaration iou Mint: PublicKey redemption Mint: PublicKey Release Data Release Data: Accounts [ "Release" ]
User Stake Accounts User
Stake
Accounts
: Parameters < AddDecimalsProgram [ "instruction" ] [ "deposit" ] [ "accounts" ] > [ 0 ] Wrapped Token Data Wrapped Token Data: Accounts [ "WrappedToken" ]
Address of the mint authority of the SBR token.