Fix unit tests

This commit is contained in:
microproofs 2024-06-25 13:45:58 -04:00 committed by Lucas
parent 4bd9125b86
commit 9907dd6c64
8 changed files with 259 additions and 206 deletions

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" "$ref": "#/definitions/test_module~1Either$ByteArray_test_module~1Interval$Int"
} }
}, },
"compiledCode": "590157010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c73650013656323253330053370e90000008992999805000802899299980598068010a4c00c64a66666601c00200c00c00c00c26eb8004c02c004c020dd50010a99980299b87480080044c94ccc0280040144c94ccc02cc0340084c9263253330083370e90000008992999806800804099299980718080010a4c01264a66666602200201201201226eb4004024c038004c02cdd50010a99980419b874800800454ccc030c02cdd50010a4c00e200e60126ea8004018c94cccccc0380044004018018018018c02c004c020dd5001080218031baa001533333300a001100100200200200215330024912a72656465656d65723a204569746865723c4279746541727261792c20496e74657276616c3c496e743e3e00165734ae7155ceaab9e5573eae855d12ba41", "compiledCode": "590156010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c73650013656323253330053370e90000008992999805000802899299980598068010a4c00c64a66666601c00200c00c00c00c26eb8004c02c004c020dd50010a99980299b87480080044c94ccc0280040144c94ccc02cc0340084c9263253330083370e90000008992999806800804099299980718080010a4c01264a66666602200201201201226eb4004024c038004c02cdd50010a99980419b874800800454ccc030c02cdd50010a4c00e00e60126ea8004018c94cccccc0380044004018018018018c02c004c020dd500100218031baa001533333300a001100100200200200215330024912a72656465656d65723a204569746865723c4279746541727261792c20496e74657276616c3c496e743e3e00165734ae7155ceaab9e5573eae855d12ba41",
"hash": "b390602ddd7b779e527c9cf7f2c9908f99ec8131c22222d337926ce4", "hash": "d9891fd7080a2e6e3a68d330ef987b6950115bbe0700f1dfeab7af2f",
"definitions": { "definitions": {
"ByteArray": { "ByteArray": {
"dataType": "bytes" "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" "$ref": "#/definitions/test_module~1Dict$test_module~1UUID_Int"
} }
}, },
"compiledCode": "59012c010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c736500136563253330043370e900018031baa0011325333009001004132533300a300c002132498c8cc004004008894ccc03000452613233003003300f0023232533300e00100913232533301000100b132533301130130021498030c94cccccc0500040300300304dd68008061808800980880119299999980900080500500500509bae001300f001533333301000100800813758002010010601a00200a64a66666601a00200a00a26eb0004014014c028004c01cdd50008801a99999980500088008010010010010a998012491972656465656d65723a20446963743c555549442c20496e743e00165734ae7155ceaab9e5573eae855d12ba41", "compiledCode": "59012c010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c736500136563253330043370e900018031baa0011325333009001004132533300a300c002132498c8cc004004008894ccc03000452613233003003300f0023232533300e00100913232533301000100b132533301130130021498030c94cccccc0500040300300304dd68008061808800980880119299999980900080500500500509bae001300f001533333301000100800813758002010010601a00200a64a66666601a00200a00a26eb0004014014c028004c01cdd5000801a99999980500088008010010010010a9980124811972656465656d65723a20446963743c555549442c20496e743e00165734ae7155ceaab9e5573eae855d12ba41",
"hash": "0c91eacc4977ffcd98175eaa57e9efa264d8bac1d02b2d61f24da62a", "hash": "41a2fefe69a528618655adf8d9c426133a166851b2acf234ff889400",
"definitions": { "definitions": {
"ByteArray": { "ByteArray": {
"dataType": "bytes" "dataType": "bytes"

View File

@ -10,8 +10,8 @@ description: "Code:\n\ntype Dict<key, value> {\n inner: List<Pair<ByteArray,
"$ref": "#/definitions/test_module~1Dict$test_module~1UUID_Int" "$ref": "#/definitions/test_module~1Dict$test_module~1UUID_Int"
} }
}, },
"compiledCode": "58fd010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c736500136563253330043370e900018031baa0011325333009001004132533300a300c002132498c8cc004004008894ccc03000452613233003003300f002323232533333301200100a00a00a1375a002014601a00464a66666602200201201201201226eb8004c02c004c034004014c94cccccc0340040144dd5800802802802980500098039baa0011003533333300a001100100200200200215330024911972656465656d65723a20446963743c555549442c20496e743e00165734ae7155ceaab9e5573eae855d12ba41", "compiledCode": "58fd010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c736500136563253330043370e900018031baa0011325333009001004132533300a300c002132498c8cc004004008894ccc03000452613233003003300f002323232533333301200100a00a00a1375a002014601a00464a66666602200201201201201226eb8004c02c004c034004014c94cccccc0340040144dd5800802802802980500098039baa001003533333300a0011001002002002002153300249011972656465656d65723a20446963743c555549442c20496e743e00165734ae7155ceaab9e5573eae855d12ba41",
"hash": "591b2b3764955349d79038a1ace6a59d90c0cc9c902a80bd5c404a95", "hash": "b506dcde933daf4709a5883ce8fdf7c159d147b8e81d860947918ad3",
"definitions": { "definitions": {
"ByteArray": { "ByteArray": {
"dataType": "bytes" "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" "$ref": "#/definitions/Int"
} }
}, },
"compiledCode": "58bd01000032323232323232323232232232253330084a22930a99804a491856616c696461746f722072657475726e65642066616c73650013656533333300d0010040040041375a00200864a66600a66e1d200030073754002264a66601400200a264a666016601a004293003180580098041baa0011004533333300b0011001003003003003153300349010d72656465656d65723a20496e74001615330024910a646174756d3a20466f6f00165734ae7155ceaab9e5573eae855d12ba41", "compiledCode": "58bc01000032323232323232323232232232253330084a22930a99804a491856616c696461746f722072657475726e65642066616c73650013656533333300d0010040040041375a00200864a66600a66e1d200030073754002264a66601400200a264a666016601a004293003180580098041baa001004533333300b001100100300300300315330034910d72656465656d65723a20496e74001615330024910a646174756d3a20466f6f00165734ae7155ceaab9e5573eae855d12ba41",
"hash": "b9e67ffeeb164770fbe7f0ee52c8ffe7bdf7171054f266723d21278d", "hash": "2f3648f0a3fc92a7a6df9e23c8edf3c81c351e83da214f52f1b66d51",
"definitions": { "definitions": {
"Data": { "Data": {
"title": "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" "$ref": "#/definitions/test_module~1LinkedList$Int"
} }
}, },
"compiledCode": "5902de01000032323232323232323232232323232322322533300c4a22930a99806a491856616c696461746f722072657475726e65642066616c73650013656330035333333011001100100800800800800833232232533300c3008001132533301100100c13253330123014002132498cc014004034034c94cccccc0540044004034034034034c048004c03cdd50010a99980618038008992999808800806099192999809800807099299980a180b00109924ca66602800201e26464a66602c002022264a66602e603200426493191980080080111299980c8008a4c264660060066038004646601ea66666603a002200202a02a02a02a02a603400202464a66666603400202402426eb0004048048c05c004c05c008c94cccccc0600040400400400404dd7000980a80080799299999980b80080780789bac00100f00f3014001301400232533333301500100d00d00d1375a00201a6024002601e6ea8008402cc034dd5000980080091119299980618040008992999808800806099192999809800807099299980a180b00109924c66601001000201e01e64a66666602e002200201e01e01e01e6028002602800464a66666602a002264a66602660240022a66601e60146022002294454ccc03cc02cc044004528080708071baa00100d00d00d00d3012001300f37540062a666018600e0022a666020601e6ea800c52600b100b300d3754004a66666601e00a200a00e00e00e00e600200244464a666014600c002264a66601e00201226464a666022002016264a66602460280042649319980400400080600619299999980a80088008060060060061809000980900119299999980980080500500509bad00100a3010001300d37540062a666014600a0022a66601c601a6ea800c5260081008300b37540046e1d2002370e90000a99801a491972656465656d65723a204c696e6b65644c6973743c496e743e001615330024910a646174756d3a20466f6f00165734ae7155ceaab9e5573eae855d12ba41", "compiledCode": "5902dc01000032323232323232323232232323232322322533300c4a22930a99806a491856616c696461746f722072657475726e65642066616c73650013656330035333333011001100100800800800800833232232533300c3008001132533301100100c13253330123014002132498cc014004034034c94cccccc0540044004034034034034c048004c03cdd50010a99980618038008992999808800806099192999809800807099299980a180b00109924ca66602800201e26464a66602c002022264a66602e603200426493191980080080111299980c8008a4c264660060066038004646601ea66666603a002200202a02a02a02a02a603400202464a66666603400202402426eb0004048048c05c004c05c008c94cccccc0600040400400400404dd7000980a80080799299999980b80080780789bac00100f00f3014001301400232533333301500100d00d00d1375a00201a6024002601e6ea800802cc034dd5000980080091119299980618040008992999808800806099192999809800807099299980a180b00109924c66601001000201e01e64a66666602e002200201e01e01e01e6028002602800464a66666602a002264a66602660240022a66601e60146022002294454ccc03cc02cc0440045280070071baa00100d00d00d00d3012001300f37540062a666018600e0022a666020601e6ea800c52600b00b300d3754004a66666601e00a200a00e00e00e00e600200244464a666014600c002264a66601e00201226464a666022002016264a66602460280042649319980400400080600619299999980a80088008060060060061809000980900119299999980980080500500509bad00100a3010001300d37540062a666014600a0022a66601c601a6ea800c526008008300b37540046e1d2002370e90000a99801a4811972656465656d65723a204c696e6b65644c6973743c496e743e001615330024910a646174756d3a20466f6f00165734ae7155ceaab9e5573eae855d12ba41",
"hash": "ac673a7d9b39fe521622e7ec1758202ea5a6660b5ad755154a626548", "hash": "84b32ffc00b858865c8047f8145074fd841a828bfa1cd48c25e204ec",
"definitions": { "definitions": {
"Bool": { "Bool": {
"title": "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" "$ref": "#/definitions/test_module~1Expr"
} }
}, },
"compiledCode": "590182010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c73650013656333230010012223253330073370e90000008992999806000803899299980698078010a4c01064a66666602000201001001026eb4004020c034004c028dd50018a99980399b87480080044c94ccc03000401c4c8c94ccc0380040244c94ccc03cc0440084c8c92633300900900200b33300800800300a00a325333333012001100100a00a00a00a300f001300f0023253333330100011001008008008008300d001300a37540062a66600e66e1d2004001132533300c00100713232533300e001009132533300f301100213232498ccc02402400802cccc02002000c028028c94cccccc0480044004028028028028c03c004c03c008c94cccccc0400044004020020020020c034004c028dd5001880318041baa002533333300a001100100200200200200215330024910e72656465656d65723a204578707200165734ae7155ceaab9e5573eae855d12ba41", "compiledCode": "590182010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c73650013656333230010012223253330073370e90000008992999806000803899299980698078010a4c01064a66666602000201001001026eb4004020c034004c028dd50018a99980399b87480080044c94ccc03000401c4c8c94ccc0380040244c94ccc03cc0440084c8c92633300900900200b33300800800300a00a325333333012001100100a00a00a00a300f001300f0023253333330100011001008008008008300d001300a37540062a66600e66e1d2004001132533300c00100713232533300e001009132533300f301100213232498ccc02402400802cccc02002000c028028c94cccccc0480044004028028028028c03c004c03c008c94cccccc0400044004020020020020c034004c028dd500180318041baa002533333300a0011001002002002002002153300249010e72656465656d65723a204578707200165734ae7155ceaab9e5573eae855d12ba41",
"hash": "b26fdfa2fce40e375e4b4239bcd5271613d14e9b09d0139990d7cdca", "hash": "5e5d31d96828f3f0b12ac296adc263de4ac0964cae3cac0164f525e1",
"definitions": { "definitions": {
"Int": { "Int": {
"dataType": "integer" "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" "$ref": "#/definitions/test_module~1Input"
} }
}, },
"compiledCode": "5901c70100003232323232323232323223232232253330094a22930a998052491856616c696461746f722072657475726e65642066616c736500136563232533300930050011533300d300c37540042930038a99980499b874800800454ccc034c030dd50010a4c00e2a66601266e1d20040011533300d300c3754004293003880398051baa001533333300e0011001005005005005325333006300230083754002264a66601600200c26464a66601a00201026464a66601e002014264a6660206024004264649319198008008029129998098008a4c26466006006602c00464a66666602e00201e01e01e01e26eb8004c0500054ccc030c020c038dd500289929998088008060992999809180a0010a4c01a64a66666602a00201a01a01a26eb4004034c048004c03cdd5002880580599299999980980080580580580589bae0013010001301000232533333301100100900913758002012012601c002601c00464a66666601e002200200e00e00e00e601800260126ea800440154cccccc0300084008010010010010dc3a40002a660069210f72656465656d65723a20496e707574001615330024910c646174756d3a20537461746500165734ae7155ceaab9e5573eae855d12ba41", "compiledCode": "5901c60100003232323232323232323223232232253330094a22930a998052491856616c696461746f722072657475726e65642066616c736500136563232533300930050011533300d300c37540042930038a99980499b874800800454ccc034c030dd50010a4c00e2a66601266e1d20040011533300d300c375400429300380398051baa001533333300e0011001005005005005325333006300230083754002264a66601600200c26464a66601a00201026464a66601e002014264a6660206024004264649319198008008029129998098008a4c26466006006602c00464a66666602e00201e01e01e01e26eb8004c0500054ccc030c020c038dd500289929998088008060992999809180a0010a4c01a64a66666602a00201a01a01a26eb4004034c048004c03cdd500280580599299999980980080580580580589bae0013010001301000232533333301100100900913758002012012601c002601c00464a66666601e002200200e00e00e00e601800260126ea80040154cccccc0300084008010010010010dc3a40002a6600692010f72656465656d65723a20496e707574001615330024910c646174756d3a20537461746500165734ae7155ceaab9e5573eae855d12ba41",
"hash": "c9d0e34c52f1db0e5aca820fc5b1fbebe6086f8bd02b95f690f44e3c", "hash": "02a625742f53a006e38b3c9abbcd3c77002815705ad1f6a5a6b02813",
"definitions": { "definitions": {
"ByteArray": { "ByteArray": {
"dataType": "bytes" "dataType": "bytes"

View File

@ -3752,35 +3752,37 @@ fn when_tuple_deconstruction() {
.apply(Term::var("subject")) .apply(Term::var("subject"))
.delayed_if_then_else( .delayed_if_then_else(
Term::var("red_constr_fields") Term::var("red_constr_fields")
.delayed_choose_list( .choose_list(
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::tail_list() Term::tail_list()
.apply(Term::var("red_constr_fields")) .apply(Term::var("red_constr_fields"))
.delayed_choose_list( .choose_list(
Term::unit(), Term::unit().delay(),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
) )
.force()
.lambda("field_1") .lambda("field_1")
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::Error Term::var("param_msg"),
.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error Term::var("param_msg"),
.delayed_trace(Term::var("param_msg")), Term::un_i_data()
Term::Error .apply(Term::var("__val"))
.delayed_trace(Term::var("param_msg")), .delay(),
Term::un_i_data().apply(Term::var("__val")), Term::var("param_msg"),
Term::Error
.delayed_trace(Term::var("param_msg")),
) )
.force()
.lambda("__val") .lambda("__val")
.apply( .apply(
Term::head_list() Term::head_list()
.apply(Term::var("red_constr_fields")), .apply(Term::var("red_constr_fields")),
), ),
),
) )
.delay(),
)
.force()
.lambda("red_constr_fields") .lambda("red_constr_fields")
.apply( .apply(
Term::var(CONSTR_FIELDS_EXPOSER).apply(Term::var("red")), Term::var(CONSTR_FIELDS_EXPOSER).apply(Term::var("red")),
@ -3788,15 +3790,18 @@ fn when_tuple_deconstruction() {
Term::equals_integer() Term::equals_integer()
.apply(Term::integer(1.into())) .apply(Term::integer(1.into()))
.apply(Term::var("subject")) .apply(Term::var("subject"))
.delayed_if_then_else( .if_then_else(
Term::var(CONSTR_FIELDS_EXPOSER) Term::var(CONSTR_FIELDS_EXPOSER)
.apply(Term::var("red")) .apply(Term::var("red"))
.delayed_choose_list( .choose_list(
Term::unit(), Term::unit().delay(),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
), )
Term::Error.delayed_trace(Term::var("param_msg")), .force()
), .delay(),
Term::var("param_msg"),
)
.force(),
) )
.lambda("subject") .lambda("subject")
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("red"))) .apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("red")))
@ -3809,13 +3814,14 @@ fn when_tuple_deconstruction() {
.lambda("red") .lambda("red")
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::var("__val"), Term::var("__val").delay(),
Term::Error.delayed_trace(Term::var("red:RedSpend")), Term::var("red:RedSpend"),
Term::Error.delayed_trace(Term::var("red:RedSpend")), Term::var("red:RedSpend"),
Term::Error.delayed_trace(Term::var("red:RedSpend")), Term::var("red:RedSpend"),
Term::Error.delayed_trace(Term::var("red:RedSpend")), Term::var("red:RedSpend"),
) )
.force()
.lambda("__val") .lambda("__val")
.apply(Term::var("red")), .apply(Term::var("red")),
) )
@ -3830,39 +3836,42 @@ fn when_tuple_deconstruction() {
.apply(Term::var("subject")) .apply(Term::var("subject"))
.delayed_if_then_else( .delayed_if_then_else(
Term::var("dat_constr_fields") Term::var("dat_constr_fields")
.delayed_choose_list( .choose_list(
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::tail_list() Term::tail_list()
.apply(Term::var("dat_constr_fields")) .apply(Term::var("dat_constr_fields"))
.delayed_choose_list( .choose_list(
Term::unit().lambda("_").apply( Term::unit()
.lambda("_")
.apply(
Term::var("expect_Thing") Term::var("expect_Thing")
.apply(Term::var("field_1")) .apply(Term::var("field_1"))
.apply(Term::var("param_msg")), .apply(Term::var("param_msg")),
),
Term::Error.delayed_trace(Term::var("param_msg")),
) )
.delay(),
Term::var("param_msg"),
)
.force()
.lambda("field_1") .lambda("field_1")
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::var("__val"), Term::var("__val").delay(),
Term::Error Term::var("param_msg"),
.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error Term::var("param_msg"),
.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error
.delayed_trace(Term::var("param_msg")),
Term::Error
.delayed_trace(Term::var("param_msg")),
) )
.force()
.lambda("__val") .lambda("__val")
.apply( .apply(
Term::head_list() Term::head_list()
.apply(Term::var("dat_constr_fields")), .apply(Term::var("dat_constr_fields")),
), ),
),
) )
.delay(),
)
.force()
.lambda("dat_constr_fields") .lambda("dat_constr_fields")
.apply( .apply(
Term::var(CONSTR_FIELDS_EXPOSER).apply(Term::var("dat")), Term::var(CONSTR_FIELDS_EXPOSER).apply(Term::var("dat")),
@ -3870,15 +3879,18 @@ fn when_tuple_deconstruction() {
Term::equals_integer() Term::equals_integer()
.apply(Term::integer(1.into())) .apply(Term::integer(1.into()))
.apply(Term::var("subject")) .apply(Term::var("subject"))
.delayed_if_then_else( .if_then_else(
Term::var(CONSTR_FIELDS_EXPOSER) Term::var(CONSTR_FIELDS_EXPOSER)
.apply(Term::var("dat")) .apply(Term::var("dat"))
.delayed_choose_list( .choose_list(
Term::unit(), Term::unit().delay(),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
), )
Term::Error.delayed_trace(Term::var("param_msg")), .force()
), .delay(),
Term::var("param_msg"),
)
.force(),
) )
.lambda("subject") .lambda("subject")
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("dat"))) .apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("dat")))
@ -3890,45 +3902,49 @@ fn when_tuple_deconstruction() {
Term::equals_integer() Term::equals_integer()
.apply(Term::integer(0.into())) .apply(Term::integer(0.into()))
.apply(Term::var("subject")) .apply(Term::var("subject"))
.delayed_if_then_else( .if_then_else(
Term::var("field_1_constr_fields") Term::var("field_1_constr_fields")
.delayed_choose_list( .choose_list(
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::tail_list() Term::tail_list()
.apply(Term::var("field_1_constr_fields")) .apply(Term::var("field_1_constr_fields"))
.delayed_choose_list( .choose_list(
Term::unit(), Term::unit().delay(),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
) )
.force()
.lambda("idx") .lambda("idx")
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::Error Term::var("param_msg"),
.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error Term::var("param_msg"),
.delayed_trace(Term::var("param_msg")), Term::un_i_data()
Term::Error .apply(Term::var("__val"))
.delayed_trace(Term::var("param_msg")), .delay(),
Term::un_i_data().apply(Term::var("__val")), Term::var("param_msg"),
Term::Error
.delayed_trace(Term::var("param_msg")),
) )
.force()
.lambda("__val") .lambda("__val")
.apply( .apply(
Term::head_list().apply(Term::var( Term::head_list().apply(Term::var(
"field_1_constr_fields", "field_1_constr_fields",
)), )),
), ),
),
) )
.delay(),
)
.force()
.lambda("field_1_constr_fields") .lambda("field_1_constr_fields")
.apply( .apply(
Term::var(CONSTR_FIELDS_EXPOSER) Term::var(CONSTR_FIELDS_EXPOSER)
.apply(Term::var("field_1")), .apply(Term::var("field_1")),
),
Term::Error.delayed_trace(Term::var("param_msg")),
) )
.delay(),
Term::var("param_msg"),
)
.force()
.lambda("subject") .lambda("subject")
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("field_1"))) .apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("field_1")))
.lambda("param_msg") .lambda("param_msg")
@ -3940,13 +3956,14 @@ fn when_tuple_deconstruction() {
.lambda("dat") .lambda("dat")
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::var("__val"), Term::var("__val").delay(),
Term::Error.delayed_trace(Term::var("dat:Datum")), Term::var("dat:Datum"),
Term::Error.delayed_trace(Term::var("dat:Datum")), Term::var("dat:Datum"),
Term::Error.delayed_trace(Term::var("dat:Datum")), Term::var("dat:Datum"),
Term::Error.delayed_trace(Term::var("dat:Datum")), Term::var("dat:Datum"),
) )
.force()
.lambda("__val") .lambda("__val")
.apply(Term::var("dat")), .apply(Term::var("dat")),
) )
@ -3960,9 +3977,17 @@ fn when_tuple_deconstruction() {
.lambda("x"), .lambda("x"),
) )
.lambda("red:RedSpend") .lambda("red:RedSpend")
.apply(Term::string("red: RedSpend")) .apply(
Term::Error
.delayed_trace(Term::string("red: RedSpend"))
.delay(),
)
.lambda("dat:Datum") .lambda("dat:Datum")
.apply(Term::string("dat: Datum")) .apply(
Term::Error
.delayed_trace(Term::string("dat: Datum"))
.delay(),
)
.lambda(CONSTR_INDEX_EXPOSER) .lambda(CONSTR_INDEX_EXPOSER)
.apply( .apply(
Term::fst_pair() Term::fst_pair()
@ -6232,32 +6257,36 @@ fn opaque_value_in_datum() {
let expect_on_tail = Term::tail_list() let expect_on_tail = Term::tail_list()
.apply(Term::var("tail_1")) .apply(Term::var("tail_1"))
.delayed_choose_list( .choose_list(
Term::unit().lambda("_").apply( Term::unit()
.lambda("_")
.apply(
Term::var("expect_on_list").apply(Term::var("a")).apply( Term::var("expect_on_list").apply(Term::var("a")).apply(
Term::var("expect_on_list") Term::var("expect_on_list")
.apply(Term::var("pair_snd_outer")) .apply(Term::var("pair_snd_outer"))
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::un_i_data().apply(Term::var("__val")), Term::un_i_data().apply(Term::var("__val")).delay(),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
) )
.force()
.lambda("__val") .lambda("__val")
.apply(Term::snd_pair().apply(Term::var("pair"))) .apply(Term::snd_pair().apply(Term::var("pair")))
.lambda("pair_fst") .lambda("pair_fst")
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::un_b_data().apply(Term::var("__val")), Term::un_b_data().apply(Term::var("__val")).delay(),
) )
.force()
.lambda("__val") .lambda("__val")
.apply(Term::fst_pair().apply(Term::var("pair"))), .apply(Term::fst_pair().apply(Term::var("pair"))),
) )
@ -6266,44 +6295,49 @@ fn opaque_value_in_datum() {
.lambda("pair_snd_outer") .lambda("pair_snd_outer")
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::unmap_data().apply(Term::var("__val")), Term::unmap_data().apply(Term::var("__val")).delay(),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
) )
.force()
.lambda("__val") .lambda("__val")
.apply(Term::snd_pair().apply(Term::var("pair_outer"))), .apply(Term::snd_pair().apply(Term::var("pair_outer"))),
) )
.lambda("pair_fst_outer") .lambda("pair_fst_outer")
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::un_b_data().apply(Term::var("__val")), Term::un_b_data().apply(Term::var("__val")).delay(),
) )
.force()
.lambda("__val") .lambda("__val")
.apply(Term::fst_pair().apply(Term::var("pair_outer"))), .apply(Term::fst_pair().apply(Term::var("pair_outer"))),
) )
.lambda("pair_outer"), .lambda("pair_outer"),
), ),
),
Term::Error.delayed_trace(Term::var("param_msg")),
) )
.delay(),
Term::var("param_msg"),
)
.force()
.lambda("a") .lambda("a")
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::unmap_data().apply(Term::var("__val")), Term::unmap_data().apply(Term::var("__val")).delay(),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
) )
.force()
.lambda("__val") .lambda("__val")
.apply(Term::head_list().apply(Term::var("tail_1"))), .apply(Term::head_list().apply(Term::var("tail_1"))),
); );
@ -6311,11 +6345,11 @@ fn opaque_value_in_datum() {
assert_uplc( assert_uplc(
src, src,
Term::var("val") Term::var("val")
.delayed_choose_list( .choose_list(
Term::Error.delayed_trace(Term::var("expect[Pair(_,amount)]=val.inner.inner")), Term::var("expect[Pair(_,amount)]=val.inner.inner"),
Term::tail_list() Term::tail_list()
.apply(Term::var("val")) .apply(Term::var("val"))
.delayed_choose_list( .choose_list(
Term::equals_data() Term::equals_data()
.apply(Term::map_data().apply(Term::var("final_amount"))) .apply(Term::map_data().apply(Term::var("final_amount")))
.apply(Term::map_data().apply(Term::var("amount"))) .apply(Term::map_data().apply(Term::var("amount")))
@ -6330,13 +6364,16 @@ fn opaque_value_in_datum() {
.apply( .apply(
Term::unmap_data() Term::unmap_data()
.apply(Term::snd_pair().apply(Term::var("tuple_item_0"))), .apply(Term::snd_pair().apply(Term::var("tuple_item_0"))),
),
Term::Error
.delayed_trace(Term::var("expect[Pair(_,amount)]=val.inner.inner")),
) )
.delay(),
Term::var("expect[Pair(_,amount)]=val.inner.inner"),
)
.force()
.lambda("tuple_item_0") .lambda("tuple_item_0")
.apply(Term::head_list().apply(Term::var("val"))), .apply(Term::head_list().apply(Term::var("val")))
.delay(),
) )
.force()
.lambda("val") .lambda("val")
.apply( .apply(
Term::unmap_data().apply( Term::unmap_data().apply(
@ -6362,45 +6399,49 @@ fn opaque_value_in_datum() {
Term::equals_integer() Term::equals_integer()
.apply(Term::integer(0.into())) .apply(Term::integer(0.into()))
.apply(Term::var("subject")) .apply(Term::var("subject"))
.delayed_if_then_else( .if_then_else(
Term::var("dat_fields") Term::var("dat_fields")
.delayed_choose_list( .choose_list(
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::var("tail_1") Term::var("tail_1")
.delayed_choose_list( .choose_list(
Term::Error.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
expect_on_tail, expect_on_tail.delay(),
) )
.force()
.lambda("tail_1") .lambda("tail_1")
.apply(Term::tail_list().apply(Term::var("dat_fields"))) .apply(Term::tail_list().apply(Term::var("dat_fields")))
.lambda("c") .lambda("c")
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::Error Term::var("param_msg"),
.delayed_trace(Term::var("param_msg")), Term::var("param_msg"),
Term::Error Term::var("param_msg"),
.delayed_trace(Term::var("param_msg")), Term::un_i_data()
Term::Error .apply(Term::var("__val"))
.delayed_trace(Term::var("param_msg")), .delay(),
Term::un_i_data().apply(Term::var("__val")), Term::var("param_msg"),
Term::Error
.delayed_trace(Term::var("param_msg")),
) )
.force()
.lambda("__val") .lambda("__val")
.apply( .apply(
Term::head_list() Term::head_list()
.apply(Term::var("dat_fields")), .apply(Term::var("dat_fields")),
), ),
),
) )
.delay(),
)
.force()
.lambda("dat_fields") .lambda("dat_fields")
.apply( .apply(
Term::var(CONSTR_FIELDS_EXPOSER) Term::var(CONSTR_FIELDS_EXPOSER)
.apply(Term::var("param_0")), .apply(Term::var("param_0")),
),
Term::Error.delayed_trace(Term::var("param_msg")),
) )
.delay(),
Term::var("param_msg"),
)
.force()
.lambda("subject") .lambda("subject")
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("param_0"))) .apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("param_0")))
.lambda("param_msg") .lambda("param_msg")
@ -6438,22 +6479,27 @@ fn opaque_value_in_datum() {
.lambda("dat") .lambda("dat")
.apply( .apply(
Term::var("__val") Term::var("__val")
.delayed_choose_data( .choose_data(
Term::var("__val"), Term::var("__val").delay(),
Term::Error.delayed_trace(Term::var("dat:Dat")), Term::var("dat:Dat"),
Term::Error.delayed_trace(Term::var("dat:Dat")), Term::var("dat:Dat"),
Term::Error.delayed_trace(Term::var("dat:Dat")), Term::var("dat:Dat"),
Term::Error.delayed_trace(Term::var("dat:Dat")), Term::var("dat:Dat"),
) )
.force()
.lambda("__val") .lambda("__val")
.apply(Term::var("dat")), .apply(Term::var("dat")),
) )
.lambda("dat") .lambda("dat")
.constr_fields_exposer() .constr_fields_exposer()
.lambda("expect[Pair(_,amount)]=val.inner.inner") .lambda("expect[Pair(_,amount)]=val.inner.inner")
.apply(Term::string("expect [Pair(_, amount)] = val.inner.inner")) .apply(
Term::Error
.delayed_trace(Term::string("expect [Pair(_, amount)] = val.inner.inner"))
.delay(),
)
.lambda("dat:Dat") .lambda("dat:Dat")
.apply(Term::string("dat: Dat")) .apply(Term::Error.delayed_trace(Term::string("dat: Dat")).delay())
.constr_index_exposer(), .constr_index_exposer(),
false, false,
); );
@ -6500,11 +6546,11 @@ fn opaque_value_in_test() {
assert_uplc( assert_uplc(
src, src,
Term::var("val") Term::var("val")
.delayed_choose_list( .choose_list(
Term::Error.delayed_trace(Term::var("expect[Pair(_,amount)]=val.inner.inner")), Term::var("expect[Pair(_,amount)]=val.inner.inner"),
Term::tail_list() Term::tail_list()
.apply(Term::var("val")) .apply(Term::var("val"))
.delayed_choose_list( .choose_list(
Term::equals_data() Term::equals_data()
.apply(Term::map_data().apply(Term::var("final_amount"))) .apply(Term::map_data().apply(Term::var("final_amount")))
.apply(Term::map_data().apply(Term::var("amount"))) .apply(Term::map_data().apply(Term::var("amount")))
@ -6519,13 +6565,16 @@ fn opaque_value_in_test() {
.apply( .apply(
Term::unmap_data() Term::unmap_data()
.apply(Term::snd_pair().apply(Term::var("tuple_item_0"))), .apply(Term::snd_pair().apply(Term::var("tuple_item_0"))),
),
Term::Error
.delayed_trace(Term::var("expect[Pair(_,amount)]=val.inner.inner")),
) )
.delay(),
Term::var("expect[Pair(_,amount)]=val.inner.inner"),
)
.force()
.lambda("tuple_item_0") .lambda("tuple_item_0")
.apply(Term::head_list().apply(Term::var("val"))), .apply(Term::head_list().apply(Term::var("val")))
.delay(),
) )
.force()
.lambda("val") .lambda("val")
.apply(Term::unmap_data().apply(Term::head_list().apply( .apply(Term::unmap_data().apply(Term::head_list().apply(
Term::tail_list().apply(Term::var(CONSTR_FIELDS_EXPOSER).apply(Term::var("dat"))), Term::tail_list().apply(Term::var(CONSTR_FIELDS_EXPOSER).apply(Term::var("dat"))),
@ -6556,7 +6605,11 @@ fn opaque_value_in_test() {
.into(), .into(),
)])) )]))
.lambda("expect[Pair(_,amount)]=val.inner.inner") .lambda("expect[Pair(_,amount)]=val.inner.inner")
.apply(Term::string("expect [Pair(_, amount)] = val.inner.inner")) .apply(
Term::Error
.delayed_trace(Term::string("expect [Pair(_, amount)] = val.inner.inner"))
.delay(),
)
.constr_fields_exposer(), .constr_fields_exposer(),
false, false,
); );