chia-sdk-types 0.10.3

Standard Chia types for things such as puzzle info and conditions.
Documentation
use chia_protocol::Bytes32;
use clvm_traits::{apply_constants, FromClvm, ToClvm};

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[clvm(list)]
pub struct Remark {
    #[clvm(constant = 1)]
    pub opcode: u8,
}

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[clvm(list)]
pub struct RunTail<P, S> {
    #[clvm(constant = 51)]
    pub opcode: u8,
    #[clvm(constant = ())]
    pub puzzle_hash: (),
    #[clvm(constant = -113)]
    pub magic_amount: i8,
    pub program: P,
    pub solution: S,
}

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[clvm(list)]
pub struct MeltSingleton {
    #[clvm(constant = 51)]
    pub opcode: u8,
    #[clvm(constant = ())]
    pub puzzle_hash: (),
    #[clvm(constant = -113)]
    pub magic_amount: i8,
}

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Default, Clone, PartialEq, Eq)]
#[clvm(list)]
pub struct NewNftOwner {
    #[clvm(constant = -10)]
    pub opcode: i8,
    pub new_owner: Option<Bytes32>,
    pub trade_prices_list: Vec<NftTradePrice>,
    pub new_did_p2_puzzle_hash: Option<Bytes32>,
}

#[derive(Debug, Clone, Copy, PartialEq, Eq, ToClvm, FromClvm)]
#[clvm(list)]
pub struct NftTradePrice {
    pub trade_price: u16,
    pub puzzle_hash: Bytes32,
}