pub trait InstructionData: Discriminator + BorshSerialize {
    // Provided methods
    fn data(&self) -> Vec<u8>  { ... }
    fn write_to(&self, data: &mut Vec<u8>) { ... }
}
Expand description

Calculates the data for an instruction invocation, where the data is Sha256(<namespace>:<method_name>)[..8] || BorshSerialize(args). args is a borsh serialized struct of named fields for each argument given to an instruction.

Provided Methods§

fn data(&self) -> Vec<u8>

fn write_to(&self, data: &mut Vec<u8>)

Clears data and writes instruction data to it.

We use a Vec<u8>`` here because of the additional flexibility of re-allocation (only if necessary), and because the data field in Instructionexpects aVec`.

Object Safety§

This trait is not object safe.

Implementors§