fix(codegen): Add tracing when checking for a constr vs another primitive

This commit is contained in:
microproofs 2024-03-17 16:25:17 -04:00
parent d1ba8db889
commit 61936cb91e
43 changed files with 189 additions and 51 deletions

View File

@ -46,6 +46,7 @@
### Changed
- **aiken-lang**: Discards will now also type check the validator arguments instead of completely ignoring them. @Microproofs
- **aiken-lang**: Further improvements to tracing when using expect casting from Data. @Microproofs
- **aiken-lang**: The set of curriable builtins with arguments that occur 3 or more times are now hoisted in scope with the arguments curried. @Microproofs
- **aiken-lang**: Improved the way the lambda inliner works to prevent unnecessary inlining into functions. @Microproofs
- **aiken-lang**: Simplifications to the AirTree type in codegen. @Microproofs

View File

@ -1193,7 +1193,16 @@ pub fn unknown_data_to_type_debug(
} else if field_type.is_ml_result() {
panic!("ML Result not supported")
} else {
term
Term::var("__val")
.delayed_choose_data(
Term::var("__val"),
error_term.clone(),
error_term.clone(),
error_term.clone(),
error_term.clone(),
)
.lambda("__val")
.apply(term)
}
}

View File

@ -10,8 +10,8 @@ description: "Code:\n\ntype Either<left, right> {\n Left(left)\n Right(rig
"$ref": "#/definitions/test_module~1Either$ByteArray_test_module~1Interval$Int"
}
},
"compiledCode": "59017f0100003232323232323232232253330044a22930a99802a4811856616c696461746f722072657475726e65642066616c73650013656323253330043370e900000089929998048008a998030018b099299980518060010a4c2a6600e0082c64a66666601a0022a6600e0082c2a6600e0082c2a6600e0082c2a6600e0082c26eb8004c028004c01cdd50018a99980219b87480080044c94ccc02400454cc01800c584c94ccc028c0300084c9263253330073370e900000089929998060008a998048030b099299980698078010a4c2a6601400e2c64a6666660200022a6601400e2c2a6601400e2c2a6601400e2c26eb400454cc02801c58c034004c028dd50010a99980399b874800800454ccc02cc028dd50010a4c2a6601000a2c2a6601000a2c60106ea800454cc01c01058c028004c01cdd50018a998028010b18029baa0024912a72656465656d65723a204569746865723c4279746541727261792c20496e74657276616c3c496e743e3e005734ae7155ceaab9e5573eae855d12ba41",
"hash": "5c73551d0e25ee5107fe252c8107cb26a84e1eeb0f1a446088b07203",
"compiledCode": "5901c2010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c73650013656323253330053370e900000089929998050008a998038028b099299980598068010a4c2a6601000c2c64a66666601c0022a6601000c2c2a6601000c2c2a6601000c2c2a6601000c2c26eb8004c02c004c020dd50010a99980299b87480080044c94ccc02800454cc01c014584c94ccc02cc0340084c9263253330083370e900000089929998068008a998050040b099299980718080010a4c2a660160122c64a6666660220022a660160122c2a660160122c2a660160122c26eb400454cc02c02458c038004c02cdd50010a99980419b874800800454ccc030c02cdd50010a4c2a6601200e2c2a6601200e2c60126ea800454cc02001858c94cccccc038004400454cc0200185854cc0200185854cc0200185854cc02001858c02c004c020dd50010a998030020b18031baa001533333300a00110011533004002161533004002161533004002161533004002164912a72656465656d65723a204569746865723c4279746541727261792c20496e74657276616c3c496e743e3e005734ae7155ceaab9e5573eae855d12ba41",
"hash": "962d5aa7bc55c0df812ec6f4bfcba6eedc1e1b5c92669949974f5dcf",
"definitions": {
"ByteArray": {
"dataType": "bytes"

View File

@ -10,8 +10,8 @@ description: "Code:\n\ntype Dict<key, value> {\n inner: List<(ByteArray, valu
"$ref": "#/definitions/test_module~1Dict$test_module~1UUID_Int"
}
},
"compiledCode": "59012c0100003232323232323232232253330044a22930a99802a4811856616c696461746f722072657475726e65642066616c736500136563253330033370e900018029baa00213253330080011533005002161325333009300b002132498c8cc004004008894ccc02c00452613233003003300e0023232325333333011001153300b00816153300b00816153300b008161375a0022a660160102c601800464a6666660200022a6601400e2c2a6601400e2c2a6601400e2c2a6601400e2c26eb8004c028004c03000454cc01800c58c94cccccc03000454cc01800c584dd58008a998030018b0a998030018b0a998030018b180480098031baa0021533004001164911972656465656d65723a20446963743c555549442c20496e743e005734ae7155ceaab9e5573eae855d12ba41",
"hash": "a74dc32316d19627c62b81eb9d616bb02926f242a9844ef2646e7685",
"compiledCode": "59014e010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c736500136563253330043370e900018031baa0011325333009001153300600416132533300a300c002132498c8cc004004008894ccc03000452613233003003300f0023232325333333012001153300c00a16153300c00a16153300c00a161375a0022a660180142c601a00464a6666660220022a660160122c2a660160122c2a660160122c2a660160122c26eb8004c02c004c03400454cc01c01458c94cccccc03400454cc01c014584dd58008a998038028b0a998038028b0a998038028b180500098039baa001153300500316533333300a001100115330040021615330040021615330040021615330040021649011972656465656d65723a20446963743c555549442c20496e743e005734ae7155ceaab9e5573eae855d12ba41",
"hash": "de6d51e2a272ec0ab73566bbb32700ad5864fdd01290dd925e35ebb4",
"definitions": {
"ByteArray": {
"dataType": "bytes"

View File

@ -16,8 +16,8 @@ description: "Code:\n\npub type Foo {\n foo: Data\n}\n\nvalidator {\n fn nes
"$ref": "#/definitions/Int"
}
},
"compiledCode": "58c4010000323232323232323232232232253330074a22930a998042491856616c696461746f722072657475726e65642066616c73650013656533333300c0011533006004161533006004161533006004161375a0022a6600c0082c64a66600866e1d200030063754004264a6660120022a6600c0042c264a66601460180042930a998038018b180500098039baa00215330050011649010a646174756d3a20466f6f0049010d72656465656d65723a20496e74005734ae7155ceaab9e5573eae855d12ba41",
"hash": "935eefeabd502b0da8d7ea94cfafe9f94557f33801609dc948a3aee8",
"compiledCode": "59010701000032323232323232323232232232253330084a22930a99804a491856616c696461746f722072657475726e65642066616c73650013656533333300d0011533007004161533007004161533007004161375a0022a6600e0082c64a66600a66e1d200030073754002264a6660140022a6600e00a2c264a666016601a0042930a998040030b19299999980700088008a998040030b0a998040030b0a998040030b0a998040030b180580098041baa001153300600416533333300b001100115330050031615330050031615330050031615330050031649010d72656465656d65723a20496e740049010a646174756d3a20466f6f005734ae7155ceaab9e5573eae855d12ba41",
"hash": "3b2f52adb976f450cae38fa18fb1a226eb2d7ec8a2205ff618985d2b",
"definitions": {
"Data": {
"title": "Data",

View File

@ -16,8 +16,8 @@ description: "Code:\n\npub type LinkedList<a> {\n Cons(a, LinkedList<a>)\n Nil
"$ref": "#/definitions/test_module~1LinkedList$Int"
}
},
"compiledCode": "5903400100003232323232323232232323232232253330094a22930a998052491856616c696461746f722072657475726e65642066616c73650013656330030014911972656465656d65723a204c696e6b65644c6973743c496e743e00323253330073005001132533300c001153300900316132533300d300f002132498c8cc00400400888c94ccc030c0280044c94ccc04400454cc038020584c8c94ccc04c00454cc040028584c94ccc050c0580084c92633007007001153301100b1630140013014002325333333015001132533301330120011533300f300c301100114a22a66601e601a6022002294054cc0400285854cc04002858dd50008a998078048b0a998078048b0a998078048b0a998078048b180900098079baa0021533300c300900115333010300f37540042930a998068038b0a998068038b18069baa001153300a00416300d001300a375400c2a66600e6008002264a6660180022a660120062c26464a66601c0022a6601600a2c264a66601e60220042649319191980080099299999980a8008a998078048b0a998078048b09bac001153300f00916153300f00916301000322533301200114984c8cc00c00cc054008cc028c04c004024c94cccccc04c00454cc03401c5854cc03401c5854cc03401c5854cc03401c584dd700098068008a998060030b1929999998090008a998060030b0a998060030b09929998080008a998068038b09929998088008a998070040b0a9998089809800899bb030120023012001153300e00816301200137580022a6601800c2c2a6601800c2c601e002601e00464a6666660200022a660140082c2a660140082c2a660140082c26eb400454cc02801058c034004c028dd50030a998040010b18041baa00549010a646174756d3a20466f6f00223233001001003223253330093007001132533300e001153300b00516132325333010001153300d0071613253330113013002132498cc01c01c00454cc03802058c044004c044008c94cccccc04800454cc0300185854cc0300185854cc030018584dd68008a998060030b180780098061baa0021533300930060011533300d300c37540042930a998050020b0a998050020b18051baa001370e90011b87480015cd2b9c5573aaae7955cfaba15744ae901",
"hash": "681ca87094ab174d6c0c67ef4cf8d6c8177bf400e35ce6e6ae36ddb2",
"compiledCode": "590409010000323232323232323232322323232322322533300b4a22930a998062491856616c696461746f722072657475726e65642066616c736500136563300353333330100011001153300a00716153300a00716153300a00716153300a00716007323253330093005001132533300e001153300b00916132533300f3011002132498c8cc00400400888c94ccc038c0280044c94ccc04c00454cc040038584c8c94ccc05400454cc048040584c94ccc058c0600084c926330070070011533013011163253333330190011001153301301116153301301116153301301116153301301116301600130160023253333330170011325333015301400115333011300c301300114a22a666022601a6026002294054cc0480405854cc04804058dd50008a998088078b0a998088078b0a998088078b0a998088078b180a00098089baa0021533300e300900115333012301137540042930a998078068b0a998078068b18079baa001153300c00a163253333330120011001153300c00a16153300c00a16153300c00a16153300c00a16300f001300c37540042a6660126008002264a66601c0022a660160122c26464a6660200022a6601a0162c264a66602260260042649319191980080099299999980b8008a998088078b0a998088078b09bac001153301100f16153301100f16301200322533301400114984c8cc00c00cc05c008c8cc02d4cccccc060004400454cc0480405854cc0480405854cc0480405854cc04804058040c054004c94cccccc05400454cc03c0345854cc03c0345854cc03c0345854cc03c034584dd700098078008a998070060b19299999980a0008a998070060b0a998070060b09929998090008a998078068b09929998098008a998080070b0a999809980a800899bb030140023014001153301000e16301400137580022a6601c0182c2a6601c0182c6022002602200464a6666660240022a660180142c2a660180142c2a660180142c26eb400454cc03002858c03c004c030dd50010a998050040b18051baa001533333300e00410041533008006161533008006161533008006161533008006162232330010010032232533300b30070011325333010001153300d00516132325333012001153300f0071613253330133015002132498cc01c01c00454cc04002058c94cccccc058004400454cc0400205854cc0400205854cc0400205854cc04002058c04c004c04c008c94cccccc05000454cc0380185854cc0380185854cc038018584dd68008a998070030b180880098071baa0021533300b30060011533300f300e37540042930a998060020b0a998060020b18061baa001370e90011b87480012411972656465656d65723a204c696e6b65644c6973743c496e743e0049010a646174756d3a20466f6f005734ae7155ceaab9e5573eae855d12ba41",
"hash": "451dccdc86f334c88e491fba78784300aa8f5523298f83b17b258d7d",
"definitions": {
"Bool": {
"title": "Bool",

View File

@ -10,8 +10,8 @@ description: "Code:\n\npub type Expr {\n Val(Int)\n Sum(Expr, Expr)\n Mul(Exp
"$ref": "#/definitions/test_module~1Expr"
}
},
"compiledCode": "5901620100003232323232323232232253330044a22930a99802a4811856616c696461746f722072657475726e65642066616c73650013656323233001001003223253330063370e900000089929998058008a998040028b099299980618070010a4c2a6601200c2c64a66666601e0022a6601200c2c2a6601200c2c2a6601200c2c26eb400454cc02401858c030004c024dd50010a99980319b87480080044c94ccc02c00454cc020014584c8c94ccc03400454cc02801c584c94ccc038c0400084c8c9263300800800233007007003153300b00816300e001300e002300c001300937540042a66600c66e1d2004001132533300b00115330080051613232533300d001153300a00716132533300e301000213232498cc020020008cc01c01c00c54cc02c02058c038004c038008c030004c024dd50010a998038020b18039baa0014910e72656465656d65723a2045787072005734ae7155ceaab9e5573eae855d12ba41",
"hash": "21fb1ae9ebf6d215a1b9b30236beb38e45cd08e11525a351ae02d9e8",
"compiledCode": "590207010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c736500136563233001001533333300b0021002153300500316153300500316153300500316153300500316223253330063370e900000089929998058008a998040030b099299980618070010a4c2a6601200e2c64a66666601e0022a6601200e2c2a6601200e2c2a6601200e2c26eb400454cc02401c58c030004c024dd50010a99980319b87480080044c94ccc02c00454cc020018584c8c94ccc03400454cc028020584c94ccc038c0400084c8c9263300800800233007007003153300b009163253333330110011001153300b00916153300b00916153300b00916153300b00916300e001300e00232533333300f0011001153300900716153300900716153300900716153300900716300c001300937540042a66600c66e1d2004001132533300b00115330080061613232533300d001153300a00816132533300e301000213232498cc020020008cc01c01c00c54cc02c02458c94cccccc044004400454cc02c0245854cc02c0245854cc02c0245854cc02c02458c038004c038008c94cccccc03c004400454cc02401c5854cc02401c5854cc02401c5854cc02401c58c030004c024dd50010a998038028b18039baa0014910e72656465656d65723a2045787072005734ae7155ceaab9e5573eae855d12ba41",
"hash": "ad10f49980a840966b7dc6c3f88e3f196a3291d34b0b4483ec527d7e",
"definitions": {
"Int": {
"dataType": "integer"

View File

@ -16,8 +16,8 @@ description: "Code:\n\n/// On-chain state\ntype State {\n /// The contestatio
"$ref": "#/definitions/test_module~1Input"
}
},
"compiledCode": "59020c010000323232323232323223232232253330074a22930a998042491856616c696461746f722072657475726e65642066616c736500136563232533300730050011533300b300a37540062930a998040010b0a99980399b874800800454ccc02cc028dd50018a4c2a660100042c2a66600e66e1d20040011533300b300a37540062930a998040010b0a998040010b18041baa0024910f72656465656d65723a20496e70757400325333004300230063754006264a6660120022a6600c0042c26464a6660160022a660100082c26464a66601a0022a6601400c2c264a66601c6020004264649319198008008029129998088008a4c26466006006602800464a66666602a0022a6601e0162c2a6601e0162c2a6601e0162c2a6601e0162c26eb8004c0480054ccc028c020c030dd500289929998078008a998060040b099299980818090010a4c2a6601a0122c64a6666660260022a6601a0122c2a6601a0122c2a6601a0122c26eb400454cc03402458c040004c034dd50028a998058038b0a998058038b1929999998088008a998058038b0a998058038b0a998058038b0a998058038b09bae001300e001300e00232533333300f001153300900516153300900516137580022a6601200a2c2a6601200a2c601800260180046014002600e6ea800c54cc014004592410c646174756d3a20537461746500370e90002b9a5738aae7555cf2ab9f5742ae895d21",
"hash": "00afb22f455f153ff88ff64931ede03ed70a5d96b15c25ad2c691160",
"compiledCode": "5902710100003232323232323232323223232232253330094a22930a998052491856616c696461746f722072657475726e65642066616c736500136563232533300930050011533300d300c37540042930a998050038b0a99980499b874800800454ccc034c030dd50010a4c2a6601400e2c2a66601266e1d20040011533300d300c37540042930a998050038b0a998050038b18051baa001533333300e0011001153300800516153300800516153300800516153300800516325333006300230083754002264a6660160022a6601000c2c26464a66601a0022a660140102c26464a66601e0022a660180142c264a6660206024004264649319198008008029129998098008a4c26466006006602c00464a66666602e0022a6602201e2c2a6602201e2c2a6602201e2c2a6602201e2c26eb8004c0500054ccc030c020c038dd500289929998088008a998070060b0992999809180a0010a4c2a6601e01a2c64a66666602a0022a6601e01a2c2a6601e01a2c2a6601e01a2c26eb400454cc03c03458c048004c03cdd50028a998068058b0a998068058b1929999998098008a998068058b0a998068058b0a998068058b0a998068058b09bae00130100013010002325333333011001153300b00916153300b00916137580022a660160122c2a660160122c601c002601c00464a66666601e00220022a6601200e2c2a6601200e2c2a6601200e2c2a6601200e2c601800260126ea800454cc01c014594cccccc030008400854cc0180105854cc0180105854cc0180105854cc01801058dc3a40009210f72656465656d65723a20496e7075740049010c646174756d3a205374617465005734ae7155ceaab9e5573eae855d12ba41",
"hash": "a35efe623ea7738b61a9f152e14a9abc30c15f0ceff540b66e42c406",
"definitions": {
"ByteArray": {
"dataType": "bytes"

View File

@ -89,6 +89,8 @@ fn assert_uplc(source_code: &str, expected: Term<Name>, should_fail: bool) {
let expected = optimize::aiken_optimize_and_intern(expected);
println!("EXPECTED: {}", expected.to_pretty());
let expected: Program<DeBruijn> = expected.try_into().unwrap();
assert_eq!(debruijn_program.to_pretty(), expected.to_pretty());
@ -3252,7 +3254,18 @@ fn when_tuple_deconstruction() {
.apply(Term::var("red:RedSpend")),
)
.lambda("red")
.apply(Term::var("red"))
.apply(
Term::var("__val")
.delayed_choose_data(
Term::var("__val"),
Term::Error.delayed_trace(Term::var("red:RedSpend")),
Term::Error.delayed_trace(Term::var("red:RedSpend")),
Term::Error.delayed_trace(Term::var("red:RedSpend")),
Term::Error.delayed_trace(Term::var("red:RedSpend")),
)
.lambda("__val")
.apply(Term::var("red")),
)
.lambda("red")
.lambda("_")
.apply(
@ -3278,8 +3291,23 @@ fn when_tuple_deconstruction() {
)
.lambda("field_1")
.apply(
Term::head_list()
.apply(Term::var("dat_constr_fields")),
Term::var("__val")
.delayed_choose_data(
Term::var("__val"),
Term::Error
.delayed_trace(Term::var("param_msg")),
Term::Error
.delayed_trace(Term::var("param_msg")),
Term::Error
.delayed_trace(Term::var("param_msg")),
Term::Error
.delayed_trace(Term::var("param_msg")),
)
.lambda("__val")
.apply(
Term::head_list()
.apply(Term::var("dat_constr_fields")),
),
),
)
.lambda("dat_constr_fields")
@ -3357,6 +3385,19 @@ fn when_tuple_deconstruction() {
.apply(Term::var("dat:Datum")),
)
.lambda("dat")
.apply(
Term::var("__val")
.delayed_choose_data(
Term::var("__val"),
Term::Error.delayed_trace(Term::var("dat:Datum")),
Term::Error.delayed_trace(Term::var("dat:Datum")),
Term::Error.delayed_trace(Term::var("dat:Datum")),
Term::Error.delayed_trace(Term::var("dat:Datum")),
)
.lambda("__val")
.apply(Term::var("dat")),
)
.lambda("dat")
.apply(Term::var("dat"))
.lambda("dat")
.lambda(CONSTR_FIELDS_EXPOSER)
@ -3365,10 +3406,10 @@ fn when_tuple_deconstruction() {
.apply(Term::unconstr_data().apply(Term::var("x")))
.lambda("x"),
)
.lambda("dat:Datum")
.apply(Term::string("dat: Datum"))
.lambda("red:RedSpend")
.apply(Term::string("red: RedSpend"))
.lambda("dat:Datum")
.apply(Term::string("dat: Datum"))
.lambda(CONSTR_INDEX_EXPOSER)
.apply(
Term::fst_pair()
@ -3477,6 +3518,8 @@ fn generic_validator_type_test() {
}
"#;
let field_b = Term::head_list().apply(Term::var("tail_1"));
let void_check = Term::equals_integer()
.apply(Term::integer(0.into()))
.apply(Term::fst_pair().apply(Term::unconstr_data().apply(Term::var("__val"))))
@ -3567,8 +3610,24 @@ fn generic_validator_type_test() {
)
.lambda("field_B")
.apply(
Term::head_list()
.apply(Term::var("tail_1")),
Term::var("__val")
.delayed_choose_data(
Term::var("__val"),
Term::Error.delayed_trace(
Term::var("param_msg"),
),
Term::Error.delayed_trace(
Term::var("param_msg"),
),
Term::Error.delayed_trace(
Term::var("param_msg"),
),
Term::Error.delayed_trace(
Term::var("param_msg"),
),
)
.lambda("__val")
.apply(field_b),
),
)
.lambda("tail_1")
@ -3666,6 +3725,19 @@ fn generic_validator_type_test() {
.apply(Term::var("r:A<B>")),
)
.lambda("r")
.apply(
Term::var("__val")
.delayed_choose_data(
Term::var("__val"),
Term::Error.delayed_trace(Term::var("r:A<B>")),
Term::Error.delayed_trace(Term::var("r:A<B>")),
Term::Error.delayed_trace(Term::var("r:A<B>")),
Term::Error.delayed_trace(Term::var("r:A<B>")),
)
.lambda("__val")
.apply(Term::var("r")),
)
.lambda("r")
.apply(Term::var("r"))
.lambda("r")
.lambda("r:A<B>")
@ -5776,6 +5848,19 @@ fn opaque_value_in_datum() {
.apply(Term::var("dat:Dat")),
)
.lambda("dat")
.apply(
Term::var("__val")
.delayed_choose_data(
Term::var("__val"),
Term::Error.delayed_trace(Term::var("dat:Dat")),
Term::Error.delayed_trace(Term::var("dat:Dat")),
Term::Error.delayed_trace(Term::var("dat:Dat")),
Term::Error.delayed_trace(Term::var("dat:Dat")),
)
.lambda("__val")
.apply(Term::var("dat")),
)
.lambda("dat")
.constr_fields_exposer()
.lambda("expect[(_,amount)]=val.inner.inner")
.apply(Term::string("expect [(_, amount)] = val.inner.inner"))

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869817, nanos_since_epoch = 224902000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706482, nanos_since_epoch = 644722000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.24-alpha+7c632ce"
"version": "v1.0.24-alpha+d1ba8db"
}
},
"validators": [

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.24-alpha+7c632ce"
"version": "v1.0.24-alpha+d1ba8db"
}
},
"validators": [

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869818, nanos_since_epoch = 768464000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706471, nanos_since_epoch = 259242000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869803, nanos_since_epoch = 171405000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706482, nanos_since_epoch = 402539000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869814, nanos_since_epoch = 176591000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706478, nanos_since_epoch = 977253000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869809, nanos_since_epoch = 531139000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706478, nanos_since_epoch = 497595000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869809, nanos_since_epoch = 557273000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706478, nanos_since_epoch = 871027000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869817, nanos_since_epoch = 214270000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706481, nanos_since_epoch = 812509000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869816, nanos_since_epoch = 643208000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706480, nanos_since_epoch = 91533000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869802, nanos_since_epoch = 271987000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706475, nanos_since_epoch = 470221000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869816, nanos_since_epoch = 274000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706483, nanos_since_epoch = 391903000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.24-alpha+7c632ce"
"version": "v1.0.24-alpha+d1ba8db"
}
},
"validators": [

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869809, nanos_since_epoch = 483856000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706478, nanos_since_epoch = 164437000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -0,0 +1,16 @@
# This file was generated by Aiken
# You typically do not need to edit this file
[[requirements]]
name = "aiken-lang/stdlib"
version = "main"
source = "github"
[[packages]]
name = "aiken-lang/stdlib"
version = "main"
requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706476, nanos_since_epoch = 456435000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -0,0 +1,7 @@
name = "aiken-lang/acceptance_test_073"
version = "0.0.0"
[[dependencies]]
name = 'aiken-lang/stdlib'
version = 'main'
source = 'github'

View File

@ -0,0 +1,20 @@
pub type Params {
ParamsData { params: Data }
}
pub type MonoDatum {
ParamsWrapper { params: Params }
}
pub type GlobalDatum {
price_feed_script_hash: ByteArray,
}
test expect_raw() fail {
let my_datum: Data =
GlobalDatum {
price_feed_script_hash: #"1234567890123456789012345678901234567890",
}
expect my_datum_parse: MonoDatum = my_datum
my_datum_parse == my_datum_parse
}

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869808, nanos_since_epoch = 370537000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706487, nanos_since_epoch = 863283000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869807, nanos_since_epoch = 317708000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706472, nanos_since_epoch = 398601000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.24-alpha+7c632ce"
"version": "v1.0.24-alpha+d1ba8db"
}
},
"validators": [

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.24-alpha+7c632ce"
"version": "v1.0.24-alpha+d1ba8db"
}
},
"validators": [

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869808, nanos_since_epoch = 860787000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706474, nanos_since_epoch = 540420000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869808, nanos_since_epoch = 975047000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706472, nanos_since_epoch = 166280000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869810, nanos_since_epoch = 214310000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706475, nanos_since_epoch = 350668000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869815, nanos_since_epoch = 462834000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706471, nanos_since_epoch = 259996000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.24-alpha+7c632ce"
"version": "v1.0.24-alpha+d1ba8db"
}
},
"validators": [

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869816, nanos_since_epoch = 65827000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706477, nanos_since_epoch = 593950000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869808, nanos_since_epoch = 439808000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706485, nanos_since_epoch = 231047000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869807, nanos_since_epoch = 320891000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706474, nanos_since_epoch = 642473000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.24-alpha+7c632ce"
"version": "v1.0.24-alpha+d1ba8db"
}
},
"validators": [

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.24-alpha+7c632ce"
"version": "v1.0.24-alpha+d1ba8db"
}
},
"validators": [

View File

@ -6,7 +6,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.24-alpha+7c632ce"
"version": "v1.0.24-alpha+d1ba8db"
},
"license": "Apache-2.0"
},

View File

@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1709869828, nanos_since_epoch = 993712000 }, "17605e6f00494c5ea701a06deff6958be289c09d088009248e0f2c4eee4ab0ee"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1710706496, nanos_since_epoch = 273879000 }, "4fe5fcedb7f1061f9e9c25d1811cba7a5b452be6a3669a8b81e1ac0a44aa3f9e"]

View File

@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.24-alpha+7c632ce"
"version": "v1.0.24-alpha+d1ba8db"
}
},
"validators": [