chia_sdk_driver/primitives/nft/
nft_mint.rs

1use chia_protocol::Bytes32;
2use chia_puzzles::NFT_METADATA_UPDATER_DEFAULT_HASH;
3use chia_sdk_types::conditions::TransferNft;
4
5use crate::HashedPtr;
6
7#[derive(Debug, Clone, PartialEq, Eq)]
8pub struct NftMint {
9    pub metadata: HashedPtr,
10    pub metadata_updater_puzzle_hash: Bytes32,
11    pub royalty_puzzle_hash: Bytes32,
12    pub royalty_basis_points: u16,
13    pub p2_puzzle_hash: Bytes32,
14    pub transfer_condition: Option<TransferNft>,
15}
16
17impl NftMint {
18    pub fn new(
19        metadata: HashedPtr,
20        p2_puzzle_hash: Bytes32,
21        royalty_basis_points: u16,
22        transfer_condition: Option<TransferNft>,
23    ) -> Self {
24        Self {
25            metadata,
26            metadata_updater_puzzle_hash: NFT_METADATA_UPDATER_DEFAULT_HASH.into(),
27            royalty_puzzle_hash: p2_puzzle_hash,
28            royalty_basis_points,
29            p2_puzzle_hash,
30            transfer_condition,
31        }
32    }
33}