@@ -12,9 +12,9 @@ use aiken/transaction/credential.{
12
12
Address , ScriptCredential , VerificationKeyCredential ,
13
13
}
14
14
use aiken/ transaction/ value.{
15
- AssetName , PolicyId , Value as ContextValue , ada_policy_id, quantity_of,
15
+ AssetName , PolicyId , Value as ContextValue , quantity_of,
16
16
}
17
- use marlowe/ extensions
17
+ use marlowe/ extensions.{greater_eq_value}
18
18
19
19
type Datum {
20
20
currency: PolicyId ,
@@ -431,19 +431,7 @@ validator(validator_hash: ByteArray) {
431
431
},
432
432
)
433
433
trace val |> cbor.diagnostic ()
434
- // None of these should fail unless ada is missing
435
- expect [(p_ada_policy, p_ada_balance), .. p_rest_values] =
436
- dict.to_list (value.to_dict (val))
437
- expect [(_, p_ada_amount)] = dict.to_list (p_ada_balance)
438
- expect [(o_ada_policy, o_ada_balance), .. o_rest_values] =
439
- dict.to_list (value.to_dict (output_val))
440
- expect [(_, o_ada_amount)] = dict.to_list (o_ada_balance)
441
- expect trace_if_false (and {
442
- (o_ada_amount >= p_ada_amount)?,
443
- (p_ada_policy == ada_policy_id)?,
444
- (o_ada_policy == ada_policy_id)?,
445
- }, @"p" )
446
- trace_if_false (p_rest_values == o_rest_values, @"p" )
434
+ trace_if_false (greater_eq_value (output_val, val), @"p" )
447
435
}
448
436
PRole (role) -> {
449
437
let hsh =
@@ -468,7 +456,7 @@ validator(validator_hash: ByteArray) {
468
456
let Output { address, value, datum, .. } = output
469
457
when datum is {
470
458
DatumHash (svh) -> and {
471
- (val == value)?,
459
+ greater_eq_value ( value, val )?,
472
460
(hsh == Some (svh))?,
473
461
(address == addr)?,
474
462
}
0 commit comments