Skip to main content

Mod

Trait Mod 

Source
pub trait Mod {
    // Required methods
    fn mod_reveal() -> Cow<'static, [u8]>;
    fn mod_hash() -> TreeHash;

    // Provided method
    fn curry_tree_hash(&self) -> TreeHash
       where Self: Sized + ToClvm<TreeHasher> { ... }
}
Expand description

This trait makes it possible to get the mod hash or puzzle reveal of a puzzle.

There is also a utility for calculating the curried tree hash, provided the type implements ToTreeHash. This is much more efficient than manually allocating and hashing the puzzle and its arguments.

This trait should be be implemented for types that represent the curried arguments of puzzles. However, if a puzzle can’t be curried (ie it has no arguments), this trait can still be implemented on a marker struct that doesn’t implement ToTreeHash. This will disable the curry_tree_hash method.

§Usage Example

We can specify the arguments of a puzzle to get its curried puzzle hash.

let args = StandardArgs::new(PublicKey::default());
let puzzle_hash = args.curry_tree_hash();

Required Methods§

Source

fn mod_reveal() -> Cow<'static, [u8]>

Source

fn mod_hash() -> TreeHash

Provided Methods§

Source

fn curry_tree_hash(&self) -> TreeHash
where Self: Sized + ToClvm<TreeHasher>,

Curry the arguments into the Mod::mod_hash.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Mod for EverythingWithSignatureTailArgs

Source§

impl Mod for GenesisByCoinIdTailArgs

Source§

impl Mod for NftIntermediateLauncherArgs

Source§

impl Mod for NftRoyaltyTransferPuzzleArgs

Source§

impl Mod for StandardArgs

Source§

impl Mod for StreamPuzzle1stCurryArgs

Source§

impl<I> Mod for CatArgs<I>

Source§

impl<I> Mod for SingletonArgs<I>

Source§

impl<I, M> Mod for DidArgs<I, M>

Source§

impl<I, M> Mod for NftStateLayerArgs<I, M>

Source§

impl<I, P> Mod for NftOwnershipLayerArgs<I, P>

Source§

impl<T> Mod for &T
where T: Mod,

Implementors§

Source§

impl Mod for CatalogRefundActionArgs

Source§

impl Mod for CatalogRegisterActionArgs

Source§

impl Mod for DelegatedStateActionArgs

Source§

impl Mod for RewardDistributorAddEntryActionArgs

Source§

impl Mod for RewardDistributorAddIncentivesActionArgs

Source§

impl Mod for RewardDistributorCommitIncentivesActionArgs

Source§

impl Mod for RewardDistributorInitiatePayoutActionArgs

Source§

impl Mod for RewardDistributorNewEpochActionArgs

Source§

impl Mod for RewardDistributorRemoveEntryActionArgs

Source§

impl Mod for RewardDistributorStakeActionArgs

Source§

impl Mod for RewardDistributorSyncActionArgs

Source§

impl Mod for RewardDistributorUnstakeActionArgs

Source§

impl Mod for RewardDistributorWithdrawIncentivesActionArgs

Source§

impl Mod for XchandlesExpireActionArgs

Source§

impl Mod for XchandlesExtendActionArgs

Source§

impl Mod for XchandlesOracleActionArgs

Source§

impl Mod for XchandlesFactorPricingPuzzleArgs

Source§

impl Mod for XchandlesRefundActionArgs

Source§

impl Mod for XchandlesRegisterActionArgs

Source§

impl Mod for XchandlesUpdateActionArgs

Source§

impl Mod for AnyMetadataUpdater

Source§

impl Mod for DefaultCatMakerArgs

Source§

impl Mod for RevocableCatMakerArgs

Source§

impl Mod for XchCatMaker

Source§

impl Mod for DefaultFinalizer1stCurryArgs

Source§

impl Mod for P2DelegatedBySingletonLayerArgs

Source§

impl Mod for P2MOfNDelegateDirectArgs

Source§

impl Mod for PrecommitLayer1stCurryArgs

Source§

impl Mod for DefaultReserveAmountFromStateProgramArgs

Source§

impl Mod for Slot1stCurryArgs

Source§

impl Mod for UniquenessPrelauncher1stCurryArgs

Source§

impl Mod for CatalogVerificationInnerPuzzleMakerArgs

Source§

impl Mod for VerificationLayer1stCurryArgs

Source§

impl Mod for MofNArgs

Source§

impl Mod for BlsMember

Source§

impl Mod for BlsTaprootMember

Source§

impl Mod for FixedPuzzleMember

Source§

impl Mod for K1Member

Source§

impl Mod for K1MemberPuzzleAssert

Source§

impl Mod for PasskeyMember

Source§

impl Mod for PasskeyMemberPuzzleAssert

Source§

impl Mod for R1Member

Source§

impl Mod for R1MemberPuzzleAssert

Source§

impl Mod for SingletonMember

Source§

impl Mod for OneOfNArgs

Source§

impl Mod for EnforceDelegatedPuzzleWrappers

Source§

impl Mod for Force1of2RestrictedVariable

Source§

impl Mod for ForceAssertCoinAnnouncementMod

Source§

impl Mod for ForceCoinMessageMod

Source§

impl Mod for PreventConditionOpcode

Source§

impl Mod for PreventMultipleCreateCoinsMod

Source§

impl Mod for Timelock

Source§

impl Mod for NftMetadataUpdater

Source§

impl Mod for SettlementPayment

Source§

impl Mod for SingletonLauncher

Source§

impl Mod for P2CurriedArgs

Source§

impl Mod for P2DelegatedConditionsArgs

Source§

impl Mod for P2OneOfManyArgs

Source§

impl Mod for P2SingletonArgs

Source§

impl Mod for RevocationArgs

Source§

impl<I> Mod for DelegatedPuzzleFeederArgs<I>

Source§

impl<I> Mod for OptionContractArgs<I>

Source§

impl<M> Mod for P2ParentArgs<M>

Source§

impl<M, I> Mod for StateSchedulerLayerArgs<M, I>

Source§

impl<MV, DV, I> Mod for RestrictionsArgs<MV, DV, I>

Source§

impl<N, I> Mod for NonceWrapperArgs<N, I>

Source§

impl<N, I> Mod for IndexWrapperArgs<N, I>

Source§

impl<P> Mod for XchandlesExponentialPremiumRenewPuzzleArgs<P>

Source§

impl<P> Mod for ReserveFinalizer1stCurryArgs<P>

Source§

impl<P> Mod for VerificationAsserterArgs<P>

Source§

impl<P, S> Mod for ActionLayerArgs<P, S>

Source§

impl<P, S, F> Mod for RawActionLayerSolution<P, S, F>

Source§

impl<T> Mod for NofNArgs<T>

Source§

impl<T, I> Mod for AugmentedConditionArgs<T, I>

Source§

impl<W, P> Mod for AddDelegatedPuzzleWrapper<W, P>