File tree Expand file tree Collapse file tree 4 files changed +34
-6
lines changed
conway/impl/cddl/lib/Cardano/Ledger/Conway
lib/Cardano/Ledger/Dijkstra
test/Test/Cardano/Ledger/Dijkstra/Binary Expand file tree Collapse file tree 4 files changed +34
-6
lines changed Original file line number Diff line number Diff line change 1616module Cardano.Ledger.Conway.HuddleSpec (
1717 module Cardano.Ledger.Babbage.HuddleSpec ,
1818 conwayCDDL ,
19- conwayMultiasset ,
20- conwayValueRule ,
2119 conwayMintRule ,
2220 conwayWithdrawalsRule ,
2321 conwayRedeemer ,
Original file line number Diff line number Diff line change @@ -181,7 +181,7 @@ value = coin/ [coin, multiasset<positive_coin>]
181181
182182coin = uint
183183
184- multiasset<a0> = {* policy_id => {+ asset_name => a0}}
184+ multiasset<a0> = {+ policy_id => {+ asset_name => a0}}
185185
186186policy_id = script_hash
187187
Original file line number Diff line number Diff line change 1616module Cardano.Ledger.Dijkstra.HuddleSpec (
1717 module Cardano.Ledger.Conway.HuddleSpec ,
1818 dijkstraCDDL ,
19+ dijkstraMultiasset ,
20+ dijkstraValueRule ,
1921 guardsRule ,
2022 subTransactionsRule ,
2123 subTransactionRule ,
@@ -265,6 +267,34 @@ auxiliaryDataMapRule p =
265267 ]
266268 )
267269
270+ dijkstraValueRule ::
271+ forall era .
272+ ( HuddleRule " policy_id" era
273+ , HuddleRule " asset_name" era
274+ , HuddleRule " positive_coin" era
275+ ) =>
276+ Proxy era ->
277+ Rule
278+ dijkstraValueRule p =
279+ " value"
280+ =:= huddleRule @ " coin" p
281+ / sarr [a $ huddleRule @ " coin" p, a $ dijkstraMultiasset p (huddleRule @ " positive_coin" p)]
282+
283+ dijkstraMultiasset ::
284+ forall era a .
285+ (HuddleRule " policy_id" era , HuddleRule " asset_name" era , IsType0 a ) =>
286+ Proxy era ->
287+ a ->
288+ GRuleCall
289+ dijkstraMultiasset p =
290+ binding $ \ x ->
291+ " multiasset"
292+ =:= mp
293+ [ 1
294+ <+ asKey (huddleRule @ " policy_id" p)
295+ ==> mp [1 <+ asKey (huddleRule @ " asset_name" p) ==> x]
296+ ]
297+
268298instance HuddleRule " bounded_bytes" DijkstraEra where
269299 huddleRule _ = boundedBytesRule
270300
@@ -495,7 +525,7 @@ instance HuddleRule "required_signers" DijkstraEra where
495525 =:= maybeTaggedNonemptySet (huddleRule @ " addr_keyhash" p)
496526
497527instance HuddleRule " value" DijkstraEra where
498- huddleRule = conwayValueRule @ DijkstraEra
528+ huddleRule = dijkstraValueRule @ DijkstraEra
499529
500530instance HuddleRule " mint" DijkstraEra where
501531 huddleRule = conwayMintRule @ DijkstraEra
Original file line number Diff line number Diff line change @@ -39,7 +39,7 @@ spec = do
3939 let v = eraProtVerHigh @ DijkstraEra
4040 describe " Ruby-based" $ beforeAllCddlFile 3 readDijkstraCddlFiles $ do
4141 cddlRoundTripCborSpec @ (Value DijkstraEra ) v " positive_coin"
42- xdescribe " fix Multiasset " $ do
42+ describe " MultiAsset " $ do
4343 cddlRoundTripCborSpec @ (Value DijkstraEra ) v " value"
4444 xdescribe " fix TxBody" $ do
4545 cddlRoundTripAnnCborSpec @ (TxBody TopTx DijkstraEra ) v " transaction_body"
@@ -85,7 +85,7 @@ spec = do
8585 describe " Huddle" $ specWithHuddle dijkstraCDDL 100 $ do
8686 huddleRoundTripCborSpec @ (Value DijkstraEra ) v " positive_coin"
8787 huddleRoundTripArbitraryValidate @ (Value DijkstraEra ) v " value"
88- xdescribe " fix MultiAsset" $ do
88+ describe " MultiAsset" $ do
8989 huddleRoundTripCborSpec @ (Value DijkstraEra ) v " value"
9090 xdescribe " fix TxBody" $ do
9191 huddleRoundTripAnnCborSpec @ (TxBody TopTx DijkstraEra ) v " transaction_body"
You can’t perform that action at this time.
0 commit comments