chia-sdk-types 0.10.3

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

#[derive(Debug, Clone, PartialEq, Eq, ToClvm, FromClvm)]
#[clvm(list)]
pub struct AggSig {
    pub kind: AggSigKind,
    pub public_key: PublicKey,
    pub message: Bytes,
}

#[derive(Debug, Clone, Copy, PartialEq, Eq, ToClvm, FromClvm, Hash)]
#[repr(u8)]
#[clvm(atom)]
pub enum AggSigKind {
    Parent = 43,
    Puzzle = 44,
    Amount = 45,
    PuzzleAmount = 46,
    ParentAmount = 47,
    ParentPuzzle = 48,
    Unsafe = 49,
    Me = 50,
}

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Clone, PartialEq, Eq)]
#[clvm(list)]
pub struct AggSigParent {
    #[clvm(constant = 43)]
    pub opcode: u8,
    pub public_key: PublicKey,
    pub message: Bytes,
}

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Clone, PartialEq, Eq)]
#[clvm(list)]
pub struct AggSigPuzzle {
    #[clvm(constant = 44)]
    pub opcode: u8,
    pub public_key: PublicKey,
    pub message: Bytes,
}

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Clone, PartialEq, Eq)]
#[clvm(list)]
pub struct AggSigAmount {
    #[clvm(constant = 45)]
    pub opcode: u8,
    pub public_key: PublicKey,
    pub message: Bytes,
}

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Clone, PartialEq, Eq)]
#[clvm(list)]
pub struct AggSigPuzzleAmount {
    #[clvm(constant = 46)]
    pub opcode: u8,
    pub public_key: PublicKey,
    pub message: Bytes,
}

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Clone, PartialEq, Eq)]
#[clvm(list)]
pub struct AggSigParentAmount {
    #[clvm(constant = 47)]
    pub opcode: u8,
    pub public_key: PublicKey,
    pub message: Bytes,
}

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Clone, PartialEq, Eq)]
#[clvm(list)]
pub struct AggSigParentPuzzle {
    #[clvm(constant = 48)]
    pub opcode: u8,
    pub public_key: PublicKey,
    pub message: Bytes,
}

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Clone, PartialEq, Eq)]
#[clvm(list)]
pub struct AggSigUnsafe {
    #[clvm(constant = 49)]
    pub opcode: u8,
    pub public_key: PublicKey,
    pub message: Bytes,
}

#[derive(ToClvm, FromClvm)]
#[apply_constants]
#[derive(Debug, Clone, PartialEq, Eq)]
#[clvm(list)]
pub struct AggSigMe {
    #[clvm(constant = 50)]
    pub opcode: u8,
    pub public_key: PublicKey,
    pub message: Bytes,
}