chik_sdk_bindings/
constants.rs1#![allow(clippy::wildcard_imports)]
2
3use binky::Result;
4use chik_protocol::Program;
5use chik_puzzles::*;
6use chik_sdk_types::puzzles::{
7 OPTION_CONTRACT_PUZZLE as OPTION_CONTRACT, OPTION_CONTRACT_PUZZLE_HASH as OPTION_CONTRACT_HASH,
8 P2_CURRIED_PUZZLE as P2_CURRIED, P2_CURRIED_PUZZLE_HASH as P2_CURRIED_HASH,
9};
10use klvm_utils::TreeHash;
11use paste::paste;
12
13#[derive(Clone)]
14pub struct Constants;
15
16macro_rules! puzzle_constants {
17 ( $( $lower:ident => $upper:ident, )* ) => {
18 paste! {
19 impl Constants {
20 $( pub fn $lower() -> Result<Program> {
21 Ok($upper.to_vec().into())
22 } )*
23
24 $( pub fn [<$lower _hash>]() -> Result<TreeHash> {
25 Ok([<$upper _HASH>].into())
26 } )*
27 }
28 }
29 };
30}
31
32puzzle_constants! {
34 acs_transfer_program => ACS_TRANSFER_PROGRAM,
36 augmented_condition => AUGMENTED_CONDITION,
37 block_program_zero => BLOCK_PROGRAM_ZERO,
38 cat_puzzle => CAT_PUZZLE,
39 chiklisp_deserialisation => CHIKLISP_DESERIALISATION,
40 conditions_w_fee_announce => CONDITIONS_W_FEE_ANNOUNCE,
41 covenant_layer => COVENANT_LAYER,
42 create_nft_launcher_from_did => CREATE_NFT_LAUNCHER_FROM_DID,
43 credential_restriction => CREDENTIAL_RESTRICTION,
44 dao_cat_eve => DAO_CAT_EVE,
45 dao_cat_launcher => DAO_CAT_LAUNCHER,
46 dao_finished_state => DAO_FINISHED_STATE,
47 dao_lockup => DAO_LOCKUP,
48 dao_proposal => DAO_PROPOSAL,
49 dao_proposal_timer => DAO_PROPOSAL_TIMER,
50 dao_proposal_validator => DAO_PROPOSAL_VALIDATOR,
51 dao_spend_p2_singleton => DAO_SPEND_P2_SINGLETON,
52 dao_treasury => DAO_TREASURY,
53 dao_update_proposal => DAO_UPDATE_PROPOSAL,
54 decompress_coin_spend_entry => DECOMPRESS_COIN_SPEND_ENTRY,
55 decompress_coin_spend_entry_with_prefix => DECOMPRESS_COIN_SPEND_ENTRY_WITH_PREFIX,
56 decompress_puzzle => DECOMPRESS_PUZZLE,
57 delegated_tail => DELEGATED_TAIL,
58 did_innerpuzzle => DID_INNERPUZ,
59 eml_covenant_morpher => EML_COVENANT_MORPHER,
60 eml_transfer_program_covenant_adapter => EML_TRANSFER_PROGRAM_COVENANT_ADAPTER,
61 eml_update_metadata_with_did => EML_UPDATE_METADATA_WITH_DID,
62 everything_with_signature => EVERYTHING_WITH_SIGNATURE,
63 exigent_metadata_layer => EXIGENT_METADATA_LAYER,
64 flag_proofs_checker => FLAG_PROOFS_CHECKER,
65 genesis_by_coin_id => GENESIS_BY_COIN_ID,
66 genesis_by_coin_id_or_singleton => GENESIS_BY_COIN_ID_OR_SINGLETON,
67 genesis_by_puzzle_hash => GENESIS_BY_PUZZLE_HASH,
68 graftroot_dl_offers => GRAFTROOT_DL_OFFERS,
69 nft_intermediate_launcher => NFT_INTERMEDIATE_LAUNCHER,
70 nft_metadata_updater_default => NFT_METADATA_UPDATER_DEFAULT,
71 nft_metadata_updater_updateable => NFT_METADATA_UPDATER_UPDATEABLE,
72 nft_ownership_layer => NFT_OWNERSHIP_LAYER,
73 nft_ownership_transfer_program_one_way_claim_with_royalties => NFT_OWNERSHIP_TRANSFER_PROGRAM_ONE_WAY_CLAIM_WITH_ROYALTIES,
74 nft_state_layer => NFT_STATE_LAYER,
75 notification => NOTIFICATION,
76 p2_1_of_n => P2_1_OF_N,
77 p2_announced_delegated_puzzle => P2_ANNOUNCED_DELEGATED_PUZZLE,
78 p2_conditions => P2_CONDITIONS,
79 p2_delegated_conditions => P2_DELEGATED_CONDITIONS,
80 p2_delegated_puzzle => P2_DELEGATED_PUZZLE,
81 p2_delegated_puzzle_or_hidden_puzzle => P2_DELEGATED_PUZZLE_OR_HIDDEN_PUZZLE,
82 p2_m_of_n_delegate_direct => P2_M_OF_N_DELEGATE_DIRECT,
83 p2_parent => P2_PARENT,
84 p2_puzzle_hash => P2_PUZZLE_HASH,
85 p2_singleton => P2_SINGLETON,
86 p2_singleton_aggregator => P2_SINGLETON_AGGREGATOR,
87 p2_singleton_or_delayed_puzzle_hash => P2_SINGLETON_OR_DELAYED_PUZHASH,
88 p2_singleton_via_delegated_puzzle => P2_SINGLETON_VIA_DELEGATED_PUZZLE,
89 pool_member_innerpuzzle => POOL_MEMBER_INNERPUZ,
90 pool_waitingroom_innerpuzzle => POOL_WAITINGROOM_INNERPUZ,
91 revocation_layer => REVOCATION_LAYER,
92 rom_bootstrap_generator => ROM_BOOTSTRAP_GENERATOR,
93 settlement_payment => SETTLEMENT_PAYMENT,
94 singleton_launcher => SINGLETON_LAUNCHER,
95 singleton_top_layer => SINGLETON_TOP_LAYER,
96 singleton_top_layer_v1_1 => SINGLETON_TOP_LAYER_V1_1,
97 standard_vc_revocation_puzzle => STANDARD_VC_REVOCATION_PUZZLE,
98 std_parent_morpher => STD_PARENT_MORPHER,
99
100 option_contract => OPTION_CONTRACT,
102 p2_curried => P2_CURRIED,
103}