Class WrappedTokenActions
Constructors
constructor
- new WrappedTokenActions(provider: Provider, program: AnchorProgram<AddDecimalsIDL, { wrappedToken: AnchorTypeDef<{ 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" } } & { name: "WrappedToken" }, AnchorDefined<AddDecimalsIDL, Record<string, never>>> }, AnchorDefined<AddDecimalsIDL, Record<string, never>>, MakeInstructions<[{ 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" }], AnchorDefined<AddDecimalsIDL, Record<string, never>>>, MakeInstructions<unknown, AnchorDefined<AddDecimalsIDL, Record<string, never>>>>, _wrapped: LazyWrappedToken<null | PublicKey>): WrappedTokenActions
Parameters
provider: Provider
program: AnchorProgram<AddDecimalsIDL, { wrappedToken: AnchorTypeDef<{ 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" } } & { name: "WrappedToken" }, AnchorDefined<AddDecimalsIDL, Record<string, never>>> }, AnchorDefined<AddDecimalsIDL, Record<string, never>>, MakeInstructions<[{ 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" }], AnchorDefined<AddDecimalsIDL, Record<string, never>>>, MakeInstructions<unknown, AnchorDefined<AddDecimalsIDL, Record<string, never>>>>
Properties
Readonly program
program
: AnchorProgram<AddDecimalsIDL, { wrappedToken
: AnchorTypeDef<{ 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" } } & { name
: "WrappedToken" }, AnchorDefined<AddDecimalsIDL, Record<string, never>>> }, AnchorDefined<AddDecimalsIDL, Record<string, never>>, MakeInstructions<[{ 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" }], AnchorDefined<AddDecimalsIDL, Record<string, never>>>, MakeInstructions<unknown, AnchorDefined<AddDecimalsIDL, Record<string, never>>>>Readonly provider
provider: Provider
Methods
createIfNotExists
- createIfNotExists(mintKP?: Keypair): Promise<null | TransactionEnvelope>
Parameters
Returns Promise<null | TransactionEnvelope>
genUserStake
- genUserStake(): Promise<{ accounts: { owner: PublicKey; tokenProgram: PublicKey; userUnderlyingTokens: PublicKey; userWrappedTokens: PublicKey; wrapper: PublicKey; wrapperMint: PublicKey; wrapperUnderlyingTokens: PublicKey }; createAccountInstructions: { underlying: null | TransactionInstruction; wrapped: null | TransactionInstruction }; instructions: readonly TransactionInstruction[] }>
Returns Promise<{ accounts: { owner: PublicKey; tokenProgram: PublicKey; userUnderlyingTokens: PublicKey; userWrappedTokens: PublicKey; wrapper: PublicKey; wrapperMint: PublicKey; wrapperUnderlyingTokens: PublicKey }; createAccountInstructions: { underlying: null | TransactionInstruction; wrapped: null | TransactionInstruction }; instructions: readonly TransactionInstruction[] }>
getAssociatedTokenAddress
- getAssociatedTokenAddress(): Promise<PublicKey>
Returns Promise<PublicKey>
loadData
- loadData(): Promise<AnchorTypeDef<{ 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" } } & { name: "WrappedToken" }, AnchorDefined<AddDecimalsIDL, Record<string, never>>>>
Returns Promise<AnchorTypeDef<{ 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" } } & { name: "WrappedToken" }, AnchorDefined<AddDecimalsIDL, Record<string, never>>>>
unwrap
- unwrap(amount: TokenAmount): Promise<TransactionEnvelope>
Parameters
Returns Promise<TransactionEnvelope>
unwrapAll
- unwrapAll(): Promise<TransactionEnvelope>
Returns Promise<TransactionEnvelope>
unwrapAllIX
- unwrapAllIX(): Promise<TransactionInstruction>
Returns Promise<TransactionInstruction>
wrap
- wrap(amount: TokenAmount): Promise<TransactionEnvelope>
Parameters
Returns Promise<TransactionEnvelope>
Static loadWithActions
- loadWithActions(provider: Provider, program: AnchorProgram<AddDecimalsIDL, { wrappedToken: AnchorTypeDef<{ 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" } } & { name: "WrappedToken" }, AnchorDefined<AddDecimalsIDL, Record<string, never>>> }, AnchorDefined<AddDecimalsIDL, Record<string, never>>, MakeInstructions<[{ 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" }], AnchorDefined<AddDecimalsIDL, Record<string, never>>>, MakeInstructions<unknown, AnchorDefined<AddDecimalsIDL, Record<string, never>>>>, underlying: Token, decimals: number): Promise<WrappedTokenActions>
Parameters
provider: Provider
program: AnchorProgram<AddDecimalsIDL, { wrappedToken: AnchorTypeDef<{ 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" } } & { name: "WrappedToken" }, AnchorDefined<AddDecimalsIDL, Record<string, never>>> }, AnchorDefined<AddDecimalsIDL, Record<string, never>>, MakeInstructions<[{ 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" }], AnchorDefined<AddDecimalsIDL, Record<string, never>>>, MakeInstructions<unknown, AnchorDefined<AddDecimalsIDL, Record<string, never>>>>
underlying: Token
decimals: number
Program-related actions on a wrapped token.