pub struct MintTokenizedPosition<'info> {
Show 22 fields pub minter: Signer<'info>, pub recipient: UncheckedAccount<'info>, pub factory_state: AccountLoader<'info, FactoryState>, pub nft_mint: Box<Account<'info, Mint>>, pub nft_account: Box<Account<'info, TokenAccount>>, pub pool_state: UncheckedAccount<'info>, pub core_position_state: UncheckedAccount<'info>, pub tick_lower_state: UncheckedAccount<'info>, pub tick_upper_state: UncheckedAccount<'info>, pub bitmap_lower_state: UncheckedAccount<'info>, pub bitmap_upper_state: UncheckedAccount<'info>, pub tokenized_position_state: AccountLoader<'info, TokenizedPositionState>, pub token_account_0: UncheckedAccount<'info>, pub token_account_1: UncheckedAccount<'info>, pub vault_0: Box<Account<'info, TokenAccount>>, pub vault_1: Box<Account<'info, TokenAccount>>, pub last_observation_state: UncheckedAccount<'info>, pub rent: Sysvar<'info, Rent>, pub core_program: Program<'info, CyclosCore>, pub system_program: Program<'info, System>, pub token_program: Program<'info, Token>, pub associated_token_program: Program<'info, AssociatedToken>,
}

Fields

minter: Signer<'info>

Pays to mint the position

recipient: UncheckedAccount<'info>

Receives the position NFT CHECK: This is not dangerous because we don’t read or write from this account

factory_state: AccountLoader<'info, FactoryState>

The program account acting as the core liquidity custodian for token holder, and as mint authority of the position NFT

nft_mint: Box<Account<'info, Mint>>

Unique token mint address

nft_account: Box<Account<'info, TokenAccount>>

Token account where position NFT will be minted

pool_state: UncheckedAccount<'info>

Mint liquidity for this pool CHECK: Safety check performed inside function body

core_position_state: UncheckedAccount<'info>

Core program account to store position data CHECK: Safety check performed inside function body

tick_lower_state: UncheckedAccount<'info>

Account to store data for the position’s lower tick CHECK: Safety check performed inside function body

tick_upper_state: UncheckedAccount<'info>

Account to store data for the position’s upper tick CHECK: Safety check performed inside function body

bitmap_lower_state: UncheckedAccount<'info>

Account to mark the lower tick as initialized CHECK: Safety check performed inside function body

bitmap_upper_state: UncheckedAccount<'info>

Account to mark the upper tick as initialized CHECK: Safety check performed inside function body

tokenized_position_state: AccountLoader<'info, TokenizedPositionState>

Metadata for the tokenized position

token_account_0: UncheckedAccount<'info>

The token account spending token_0 to mint the position CHECK: Account validation is performed by the token program

token_account_1: UncheckedAccount<'info>

The token account spending token_1 to mint the position CHECK: Account validation is performed by the token program

vault_0: Box<Account<'info, TokenAccount>>

The token account owned by core to hold pool tokens for token_0

vault_1: Box<Account<'info, TokenAccount>>

The token account owned by core to hold pool tokens for token_1

last_observation_state: UncheckedAccount<'info>

The latest observation state CHECK: Safety check performed inside function body

rent: Sysvar<'info, Rent>

Sysvar for token mint and ATA creation

core_program: Program<'info, CyclosCore>

The core program where liquidity is minted

system_program: Program<'info, System>

Program to create the position manager state account

token_program: Program<'info, Token>

Program to create mint account and mint tokens

associated_token_program: Program<'info, AssociatedToken>

Program to create an ATA for receiving position NFT

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

program_id is the currently executing program.

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

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.