Struct add_decimals::UserStake
source · [−]pub struct UserStake<'info> {
pub wrapper: Account<'info, WrappedToken>,
pub wrapper_mint: Account<'info, Mint>,
pub wrapper_underlying_tokens: Account<'info, TokenAccount>,
pub owner: Signer<'info>,
pub user_underlying_tokens: Account<'info, TokenAccount>,
pub user_wrapped_tokens: Account<'info, TokenAccount>,
pub token_program: Program<'info, Token>,
}Expand description
Accounts for withdrawing or depositing into the wrapper.
Fields
wrapper: Account<'info, WrappedToken>Wrapper account.
wrapper_mint: Account<'info, Mint>Mint of the wrapper.
wrapper_underlying_tokens: Account<'info, TokenAccount>Wrapper’s token account containing the underlying tokens.
owner: Signer<'info>Owner of the user underlying token accounts.
user_underlying_tokens: Account<'info, TokenAccount>User’s token account for the underlying tokens.
user_wrapped_tokens: Account<'info, TokenAccount>User’s token account for wrapped tokens.
token_program: Program<'info, Token>SPL Token program.
Implementations
Helper methods for interacting with the user stake.
Transfer user’s tokens to wrapper.
Burn user’s wrapper tokens.
Mint wrapped tokens to user wrapped token account.
Transfer underlying tokens from wrapper to user.
Trait Implementations
Returns the validated accounts struct. What constitutes “valid” is
program dependent. However, users of these types should never have to
worry about account substitution attacks. For example, if a program
expects a Mint account from the SPL token program in a particular
field, then it should be impossible for this method to return Ok if
any other account type is given–from the SPL token program or elsewhere. Read more
is_signer is given as an optional override for the signer meta field.
This covers the edge case when a program-derived-address needs to relay
a transaction from a client to another program but sign the transaction
before the relay. The client cannot mark the field as a signer, and so
we have to override the is_signer meta field given by the client. Read more