chia_sdk_driver/primitives/cat/
single_cat_spend.rs1use chia_protocol::{Bytes32, Coin};
2use chia_puzzle_types::CoinProof;
3
4use crate::Spend;
5
6#[derive(Debug, Clone, Copy)]
7pub struct SingleCatSpend {
8 pub prev_coin_id: Bytes32,
9 pub next_coin_proof: CoinProof,
10 pub prev_subtotal: i64,
11 pub extra_delta: i64,
12 pub inner_spend: Spend,
13 pub revoke: bool,
14}
15
16impl SingleCatSpend {
17 pub fn eve(coin: Coin, inner_puzzle_hash: Bytes32, inner_spend: Spend) -> Self {
18 Self {
19 prev_coin_id: coin.coin_id(),
20 next_coin_proof: CoinProof {
21 parent_coin_info: coin.parent_coin_info,
22 inner_puzzle_hash,
23 amount: coin.amount,
24 },
25 prev_subtotal: 0,
26 extra_delta: 0,
27 inner_spend,
28 revoke: false,
29 }
30 }
31}