Class LazyWrappedToken<K>
Type Parameters
K extends PublicKey | null = PublicKey | null
Constructors
constructor
- new LazyWrappedToken<K>(underlying: Token, wrapper: PublicKey, mintAccount: K, decimals: number): LazyWrappedToken<K>
Type Parameters
K extends null | PublicKey = null | PublicKey
Parameters
underlying: Token
wrapper: PublicKey
mintAccount: K
decimals: number
Properties
Readonly decimals
decimals: number
Readonly mintAccount
mintAccount: K
Readonly underlying
underlying: Token
Readonly wrapper
wrapper: PublicKey
Accessors
address
- get address(): K extends null ? null : string
Returns K extends null ? null : string
icon
- get icon(): undefined | string
Returns undefined | string
token
- get token(): K extends null ? null : Token
Returns K extends null ? null : Token
Methods
equals
Parameters
Returns boolean
Static getAddressAndNonce
- getAddressAndNonce(programID: PublicKey, underlyingMint: PublicKey, decimals: number): Promise<[PublicKey, number]>
Parameters
programID: PublicKey
underlyingMint: PublicKey
decimals: number
Returns Promise<[PublicKey, number]>
Static getAddressSync
- getAddressSync(underlyingMint: PublicKey, decimals: number): PublicKey
Parameters
underlyingMint: PublicKey
decimals: number
Returns PublicKey
Static load
- load(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<LazyWrappedToken<null | PublicKey>>
Parameters
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
Returns Promise<LazyWrappedToken<null | PublicKey>>
Wrapped token with altered decimals.
To reload this token after initializing it, construct a "WrappedTokenActions" and call
reload
.