{-# LANGUAGE OverloadedLists #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} {-# HLINT ignore "Use camelCase" #-} {-# HLINT ignore "Evaluate" #-} module Test.Cardano.Ledger.Mary.CDDL ( module Test.Cardano.Ledger.Allegra.CDDL, module Test.Cardano.Ledger.Mary.CDDL, ) where import Codec.CBOR.Cuddle.Huddle import Data.Function (($)) import Data.Word (Word64) import Test.Cardano.Ledger.Allegra.CDDL hiding ( block, transaction, transaction_body, transaction_output, ) maryCDDL :: Huddle maryCDDL :: Huddle maryCDDL = [Rule] -> Huddle collectFrom [Item [Rule] Rule block, Item [Rule] Rule transaction] multiasset :: IsType0 a => a -> GRuleCall multiasset :: forall a. IsType0 a => a -> GRuleCall multiasset = (GRef -> Rule) -> a -> GRuleCall forall t0. IsType0 t0 => (GRef -> Rule) -> t0 -> GRuleCall binding ((GRef -> Rule) -> a -> GRuleCall) -> (GRef -> Rule) -> a -> GRuleCall forall a b. (a -> b) -> a -> b $ \GRef x -> Text "multiasset" Text -> MapChoice -> Rule forall a. IsType0 a => Text -> a -> Rule =:= MapChoice -> MapChoice mp [Word64 1 Word64 -> MapEntry -> MapEntry forall a. CanQuantify a => Word64 -> a -> a <+ Rule -> Key forall r. IsType0 r => r -> Key asKey Rule policy_id Key -> MapChoice -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> MapChoice -> MapChoice mp [Word64 1 Word64 -> MapEntry -> MapEntry forall a. CanQuantify a => Word64 -> a -> a <+ Rule -> Key forall r. IsType0 r => r -> Key asKey Rule asset_name Key -> GRef -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> GRef x]] policy_id :: Rule policy_id :: Rule policy_id = Text "policy_id" Text -> Rule -> Rule forall a. IsType0 a => Text -> a -> Rule =:= Rule script_hash asset_name :: Rule asset_name :: Rule asset_name = Text "asset_name" Text -> Constrained -> Rule forall a. IsType0 a => Text -> a -> Rule =:= Value ByteString VBytes Value ByteString -> (Word64, Word64) -> Constrained forall a s. (IsSizeable a, IsSize s) => Value a -> s -> Constrained `sized` (Word64 0 :: Word64, Word64 32 :: Word64) value :: Rule value :: Rule value = Text "value" Text -> Choice Type2 -> Rule forall a. IsType0 a => Text -> a -> Rule =:= Rule coin Rule -> Seal Array -> Choice Type2 forall a c b. (IsChoosable a c, IsChoosable b c) => a -> b -> Choice c / ArrayChoice -> Seal Array sarr [Rule -> ArrayEntry forall a e. (IsType0 a, IsGroupOrArrayEntry e) => a -> e a Rule coin, GRuleCall -> ArrayEntry forall a e. (IsType0 a, IsGroupOrArrayEntry e) => a -> e a (Value Int -> GRuleCall forall a. IsType0 a => a -> GRuleCall multiasset Value Int VUInt)] mint :: Rule mint :: Rule mint = Text "mint" Text -> GRuleCall -> Rule forall a. IsType0 a => Text -> a -> Rule =:= Rule -> GRuleCall forall a. IsType0 a => a -> GRuleCall multiasset Rule int64 transaction_body :: Rule transaction_body :: Rule transaction_body = Text "transaction_body" Text -> MapChoice -> Rule forall a. IsType0 a => Text -> a -> Rule =:= MapChoice -> MapChoice mp [ Word64 -> Key idx Word64 0 Key -> GRuleCall -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> Rule -> GRuleCall forall a. IsType0 a => a -> GRuleCall set Rule transaction_input , Word64 -> Key idx Word64 1 Key -> ArrayChoice -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> ArrayChoice -> ArrayChoice arr [Word64 0 Word64 -> ArrayEntry -> ArrayEntry forall a. CanQuantify a => Word64 -> a -> a <+ Rule -> ArrayEntry forall a e. (IsType0 a, IsGroupOrArrayEntry e) => a -> e a Rule transaction_output] , Word64 -> Key idx Word64 2 Key -> Rule -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> Rule coin , Word64 -> Key idx Word64 3 Key -> Value Int -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> Value Int VUInt , MapEntry -> MapEntry forall a. CanQuantify a => a -> a opt (Word64 -> Key idx Word64 4 Key -> ArrayChoice -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> ArrayChoice -> ArrayChoice arr [Word64 0 Word64 -> ArrayEntry -> ArrayEntry forall a. CanQuantify a => Word64 -> a -> a <+ Rule -> ArrayEntry forall a e. (IsType0 a, IsGroupOrArrayEntry e) => a -> e a Rule certificate]) , MapEntry -> MapEntry forall a. CanQuantify a => a -> a opt (Word64 -> Key idx Word64 5 Key -> Rule -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> Rule withdrawals) , MapEntry -> MapEntry forall a. CanQuantify a => a -> a opt (Word64 -> Key idx Word64 6 Key -> Rule -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> Rule update) , MapEntry -> MapEntry forall a. CanQuantify a => a -> a opt (Word64 -> Key idx Word64 7 Key -> Rule -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> Rule metadata_hash) , MapEntry -> MapEntry forall a. CanQuantify a => a -> a opt (Word64 -> Key idx Word64 8 Key -> Value Int -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> Value Int VUInt) , MapEntry -> MapEntry forall a. CanQuantify a => a -> a opt (Word64 -> Key idx Word64 9 Key -> Rule -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> Rule mint) ] transaction_output :: Rule transaction_output :: Rule transaction_output = Text "transaction_output" Text -> ArrayChoice -> Rule forall a. IsType0 a => Text -> a -> Rule =:= ArrayChoice -> ArrayChoice arr [Rule -> ArrayEntry forall a e. (IsType0 a, IsGroupOrArrayEntry e) => a -> e a Rule address, Key "amount" Key -> Rule -> ArrayEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> Rule value] block :: Rule block :: Rule block = Text "block" Text -> ArrayChoice -> Rule forall a. IsType0 a => Text -> a -> Rule =:= ArrayChoice -> ArrayChoice arr [ Rule -> ArrayEntry forall a e. (IsType0 a, IsGroupOrArrayEntry e) => a -> e a Rule header , Key "transaction_bodies" Key -> ArrayChoice -> ArrayEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> ArrayChoice -> ArrayChoice arr [Word64 0 Word64 -> ArrayEntry -> ArrayEntry forall a. CanQuantify a => Word64 -> a -> a <+ Rule -> ArrayEntry forall a e. (IsType0 a, IsGroupOrArrayEntry e) => a -> e a Rule transaction_body] , Key "transaction_witness_sets" Key -> ArrayChoice -> ArrayEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> ArrayChoice -> ArrayChoice arr [Word64 0 Word64 -> ArrayEntry -> ArrayEntry forall a. CanQuantify a => Word64 -> a -> a <+ Rule -> ArrayEntry forall a e. (IsType0 a, IsGroupOrArrayEntry e) => a -> e a Rule transaction_witness_set] , Key "auxiliary_data_set" Key -> MapChoice -> ArrayEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> MapChoice -> MapChoice mp [Word64 0 Word64 -> MapEntry -> MapEntry forall a. CanQuantify a => Word64 -> a -> a <+ Rule -> Key forall r. IsType0 r => r -> Key asKey Rule transaction_index Key -> Rule -> MapEntry forall a me. (IsType0 a, IsEntryLike me) => Key -> a -> me ==> Rule auxiliary_data] ] transaction :: Rule transaction :: Rule transaction = Text "transaction" Text -> ArrayChoice -> Rule forall a. IsType0 a => Text -> a -> Rule =:= ArrayChoice -> ArrayChoice arr [ Rule -> ArrayEntry forall a e. (IsType0 a, IsGroupOrArrayEntry e) => a -> e a Rule transaction_body , Rule -> ArrayEntry forall a e. (IsType0 a, IsGroupOrArrayEntry e) => a -> e a Rule transaction_witness_set , Choice Type2 -> ArrayEntry forall a e. (IsType0 a, IsGroupOrArrayEntry e) => a -> e a (Rule auxiliary_data Rule -> Value Void -> Choice Type2 forall a c b. (IsChoosable a c, IsChoosable b c) => a -> b -> Choice c / Value Void VNil) ]