pub struct TakerSlots {
pub user: Vec<u8>,
pub input_token_account: Vec<u8>,
pub output_token_account: Vec<u8>,
pub derived: Vec<DerivedAccount>,
}Expand description
The account slots a probe rewrites, as indices into instruction.accounts.
Each role is a list because one instruction can name the same account more than once: a router’s own swap instruction carries the taker’s token accounts for itself and again inside the venue’s account run, and rewriting only the first leaves the venue pointed at the exemplar’s accounts. A bare index decodes as a one-element list.
Fields§
§user: Vec<u8>Every slot rewritten to the original’s fee payer. Non-empty; each must be a signer.
input_token_account: Vec<u8>Rewritten to the fee payer’s associated account for inputMint and seeded with the
trade. Non-empty; each must be writable.
output_token_account: Vec<u8>Rewritten to the fee payer’s associated account for outputMint and seeded to zero, so
what lands there is the fill. Non-empty; each must be writable.
derived: Vec<DerivedAccount>Accounts a venue derives from the taker, re-derived for each probe’s taker.