Trait StateTransformer

Source
pub trait StateTransformer {
    type Input: StateVersion + BorshDeserialize;
    type Output: StateVersion + BorshSerialize;
    type Error;

    // Required method
    fn transform(&self, input: Self::Input) -> Result<Self::Output, Self::Error>;

    // Provided methods
    fn input_version(&self) -> u32 { ... }
    fn output_version(&self) -> u32 { ... }
    fn run(&self) -> Result<Self::Output, MigrationError<Self::Error>> { ... }
}

Required Associated Types§

Source

type Input: StateVersion + BorshDeserialize

Source

type Output: StateVersion + BorshSerialize

Source

type Error

Required Methods§

Source

fn transform(&self, input: Self::Input) -> Result<Self::Output, Self::Error>

Provided Methods§

Source

fn input_version(&self) -> u32

Source

fn output_version(&self) -> u32

Source

fn run(&self) -> Result<Self::Output, MigrationError<Self::Error>>

Implementors§