Options
All
  • Public
  • Public/Protected
  • All
Menu

@saberhq/saber-periphery - v1.1.3

Index

Type Aliases

Action: { outputToken: Token } & (SSAction | ADAction)
AddDecimalsIDL: { 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" }

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"
AddDecimalsProgram: AddDecimalsTypes["Program"]
AddDecimalsTypes: AnchorTypes<AddDecimalsIDL, { wrappedToken: WrappedTokenData }>
AnyPair: Omit<Pair<unknown>, "pool">
ContinuationRouterAccounts: ContinuationRouterTypes["Accounts"]
ContinuationRouterEvents: ContinuationRouterTypes["Events"]
ContinuationRouterIDL: { 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" }

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"
ContinuationRouterProgram: ContinuationRouterTypes["Program"]
ContinuationRouterTypes: AnchorTypes<ContinuationRouterIDL, { continuation: ContinuationState }>
ContinuationState: ContinuationRouterAccounts["Continuation"]
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" }

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"
LockupProgram: LockupTypes["Program"]
LockupTypes: AnchorTypes<LockupIDL, { release: ReleaseData }>
MintProxyIDL: { 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" }

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"
MintProxyInfo: MintProxyTypes["State"]
MintProxyProgram: MintProxyTypes["Program"]
MintProxyTypes: AnchorTypes<MintProxyIDL, { mintProxyInfo: MintProxyInfo; minterInfo: MinterInfo }>
MinterInfo: Accounts["MinterInfo"]
PendingRedeemer: { bump: number; ctorArgs: RedeemerWrapperCtorArgs; tx: TransactionEnvelope }

Type declaration

RedeemTokenArgs: { iouSource: PublicKey; redemptionDestination: PublicKey; sourceAuthority: PublicKey; tokenAmount: u64 }

Type declaration

  • iouSource: PublicKey
  • redemptionDestination: PublicKey
  • sourceAuthority: PublicKey
  • tokenAmount: u64
RedeemerData: Accounts["Redeemer"]
RedeemerEvents: RedeemerTypes["Events"]
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" }

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"
RedeemerProgram: RedeemerTypes["Program"]
RedeemerTypes: AnchorTypes<RedeemerIDL, { redeemer: RedeemerData }>
RedeemerWrapperCtorArgs: { iouMint: PublicKey; redemptionMint: PublicKey; sdk: Saber }

Type declaration

  • iouMint: PublicKey
  • redemptionMint: PublicKey
  • sdk: Saber
ReleaseData: Accounts["Release"]
SwapCompleteEvent: ContinuationRouterEvents["SwapCompleteEvent"]
UserStakeAccounts: Parameters<AddDecimalsProgram["instruction"]["deposit"]["accounts"]>[0]
WrappedTokenData: Accounts["WrappedToken"]

Variables

AddDecimalsErrors: ErrorMap<AddDecimalsIDL> = ...
AddDecimalsJSON: AddDecimalsIDL = ...
ContinuationRouterErrors: ErrorMap<ContinuationRouterIDL> = ...
ContinuationRouterJSON: ContinuationRouterIDL = ...
LockupErrors: ErrorMap<LockupIDL> = ...
LockupJSON: LockupIDL = ...
MINT_PROXY_AUTHORITY: PublicKey = ...

Address of the mint authority of the SBR token.

MINT_PROXY_STATE: PublicKey = ...

Address of the Mint Proxy state account.

MintProxyErrors: ErrorMap<MintProxyIDL> = ...
MintProxyJSON: MintProxyIDL = ...
RedeemerErrors: ErrorMap<RedeemerIDL> = ...
RedeemerJSON: RedeemerIDL = ...
SABER_ADDRESSES: { AddDecimals: PublicKey; ContinuationRouter: PublicKey; Lockup: PublicKey; MintProxy: PublicKey; Redeemer: PublicKey } = ...

Addresses of Saber programs deployed on devnet and mainnet-beta.

Type declaration

  • AddDecimals: PublicKey
  • ContinuationRouter: PublicKey
  • Lockup: PublicKey
  • MintProxy: PublicKey
  • Redeemer: PublicKey
SABER_CODERS: { AddDecimals: SuperCoder<AddDecimalsTypes>; ContinuationRouter: SuperCoder<ContinuationRouterTypes>; Lockup: SuperCoder<LockupTypes>; MintProxy: SuperCoder<MintProxyTypes>; Redeemer: SuperCoder<RedeemerTypes> } = ...

Saber coders.

Type declaration

SABER_IDLS: { AddDecimals: AddDecimalsIDL; ContinuationRouter: ContinuationRouterIDL; Lockup: LockupIDL; MintProxy: MintProxyIDL; Redeemer: RedeemerIDL } = ...

IDLs of Saber programs.

Type declaration

SABER_IOU_MINT: PublicKey = ...

Mint of the Saber IOU token.

SABER_REDEEMER_KEY: PublicKey = ...

Key of the Saber Redeemer.

SBR_ADDRESS: PublicKey = ...

{@link PublicKey} of the Saber Protocol Token.

SBR_MINT: "Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1" = "Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1"

Mint of the Saber Protocol Token.

SBR_MINT_WRAPPER: PublicKey = ...

Saber Quarry mint wrapper.

SBR_REWARDER: PublicKey = ...

Saber Quarry rewarder.

Functions

  • findMinterInfoAddress(minter: PublicKey): Promise<PublicKey>
  • findRedeemerKey(__namedParameters: { iouMint: PublicKey; redemptionMint: PublicKey }): Promise<[PublicKey, number]>
  • Parameters

    • __namedParameters: { iouMint: PublicKey; redemptionMint: PublicKey }
      • iouMint: PublicKey
      • redemptionMint: PublicKey

    Returns Promise<[PublicKey, number]>

  • inputOutputComparator(a: InputOutput, b: InputOutput): number
  • sortedInsert<T>(items: T[], add: T, maxSize: number, comparator: ((a: T, b: T) => number)): T | null
  • given an array of items sorted by comparator, insert an item into its sort index and constrain the size to maxSize by removing the last item

    Type Parameters

    • T

    Parameters

    • items: T[]
    • add: T
    • maxSize: number
    • comparator: ((a: T, b: T) => number)
        • (a: T, b: T): number
        • Parameters

          • a: T
          • b: T

          Returns number

    Returns T | null

Generated using TypeDoc