diff --git a/Cargo.lock b/Cargo.lock
index 7f42be87..3d158201 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1942,7 +1942,7 @@ checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f"
[[package]]
name = "pallas-addresses"
version = "0.29.0"
-source = "git+https://github.com/KtorZ/pallas.git?rev=0cdd6393bb3fbceb3b5209ad248877b381822e90#0cdd6393bb3fbceb3b5209ad248877b381822e90"
+source = "git+https://github.com/KtorZ/pallas.git?rev=7e5c90694c760e91fc7ac4d553db0f649b6a53a2#7e5c90694c760e91fc7ac4d553db0f649b6a53a2"
dependencies = [
"base58",
"bech32",
@@ -1957,7 +1957,7 @@ dependencies = [
[[package]]
name = "pallas-codec"
version = "0.29.0"
-source = "git+https://github.com/KtorZ/pallas.git?rev=0cdd6393bb3fbceb3b5209ad248877b381822e90#0cdd6393bb3fbceb3b5209ad248877b381822e90"
+source = "git+https://github.com/KtorZ/pallas.git?rev=7e5c90694c760e91fc7ac4d553db0f649b6a53a2#7e5c90694c760e91fc7ac4d553db0f649b6a53a2"
dependencies = [
"hex",
"minicbor",
@@ -1969,7 +1969,7 @@ dependencies = [
[[package]]
name = "pallas-crypto"
version = "0.29.0"
-source = "git+https://github.com/KtorZ/pallas.git?rev=0cdd6393bb3fbceb3b5209ad248877b381822e90#0cdd6393bb3fbceb3b5209ad248877b381822e90"
+source = "git+https://github.com/KtorZ/pallas.git?rev=7e5c90694c760e91fc7ac4d553db0f649b6a53a2#7e5c90694c760e91fc7ac4d553db0f649b6a53a2"
dependencies = [
"cryptoxide",
"hex",
@@ -1982,7 +1982,7 @@ dependencies = [
[[package]]
name = "pallas-primitives"
version = "0.29.0"
-source = "git+https://github.com/KtorZ/pallas.git?rev=0cdd6393bb3fbceb3b5209ad248877b381822e90#0cdd6393bb3fbceb3b5209ad248877b381822e90"
+source = "git+https://github.com/KtorZ/pallas.git?rev=7e5c90694c760e91fc7ac4d553db0f649b6a53a2#7e5c90694c760e91fc7ac4d553db0f649b6a53a2"
dependencies = [
"base58",
"bech32",
@@ -1997,7 +1997,7 @@ dependencies = [
[[package]]
name = "pallas-traverse"
version = "0.29.0"
-source = "git+https://github.com/KtorZ/pallas.git?rev=0cdd6393bb3fbceb3b5209ad248877b381822e90#0cdd6393bb3fbceb3b5209ad248877b381822e90"
+source = "git+https://github.com/KtorZ/pallas.git?rev=7e5c90694c760e91fc7ac4d553db0f649b6a53a2#7e5c90694c760e91fc7ac4d553db0f649b6a53a2"
dependencies = [
"hex",
"itertools 0.13.0",
diff --git a/Cargo.toml b/Cargo.toml
index 27d4eee2..6664b04a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -49,11 +49,11 @@ x86_64-unknown-linux-gnu = "ubuntu-22.04"
walkdir = "2.3.2"
insta = { version = "1.30.0", features = ["yaml", "json", "redactions"] }
miette = { version = "7.2.0", features = ["fancy"] }
-pallas-addresses = { git = "https://github.com/KtorZ/pallas.git", rev = "0cdd6393bb3fbceb3b5209ad248877b381822e90" }
-pallas-codec = { git = "https://github.com/KtorZ/pallas.git", rev = "0cdd6393bb3fbceb3b5209ad248877b381822e90", features = ["num-bigint"] }
-pallas-crypto = { git = "https://github.com/KtorZ/pallas.git", rev = "0cdd6393bb3fbceb3b5209ad248877b381822e90" }
-pallas-primitives = { git = "https://github.com/KtorZ/pallas.git", rev = "0cdd6393bb3fbceb3b5209ad248877b381822e90" }
-pallas-traverse = { git = "https://github.com/KtorZ/pallas.git", rev = "0cdd6393bb3fbceb3b5209ad248877b381822e90" }
+pallas-addresses = { git = "https://github.com/KtorZ/pallas.git", rev = "7e5c90694c760e91fc7ac4d553db0f649b6a53a2" }
+pallas-codec = { git = "https://github.com/KtorZ/pallas.git", rev = "7e5c90694c760e91fc7ac4d553db0f649b6a53a2", features = ["num-bigint"] }
+pallas-crypto = { git = "https://github.com/KtorZ/pallas.git", rev = "7e5c90694c760e91fc7ac4d553db0f649b6a53a2" }
+pallas-primitives = { git = "https://github.com/KtorZ/pallas.git", rev = "7e5c90694c760e91fc7ac4d553db0f649b6a53a2" }
+pallas-traverse = { git = "https://github.com/KtorZ/pallas.git", rev = "7e5c90694c760e91fc7ac4d553db0f649b6a53a2" }
[profile.dev.package.insta]
opt-level = 3
diff --git a/examples/acceptance_tests/script_context/v2/.gitignore b/examples/acceptance_tests/script_context/v2/.gitignore
index f6631aa1..857abe49 100644
--- a/examples/acceptance_tests/script_context/v2/.gitignore
+++ b/examples/acceptance_tests/script_context/v2/.gitignore
@@ -1 +1,2 @@
-ctx/**/*.cbor
+*.cbor
+*.log
diff --git a/examples/acceptance_tests/script_context/v2/aiken.lock b/examples/acceptance_tests/script_context/v2/aiken.lock
index 64d68c42..bac0b597 100644
--- a/examples/acceptance_tests/script_context/v2/aiken.lock
+++ b/examples/acceptance_tests/script_context/v2/aiken.lock
@@ -13,4 +13,4 @@ requirements = []
source = "github"
[etags]
-"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1723298816, nanos_since_epoch = 935691000 }, "5e58899446492a704d0927a43299139856bef746e697b55895ba34206fa28452"]
+"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1723324201, nanos_since_epoch = 743234000 }, "5e58899446492a704d0927a43299139856bef746e697b55895ba34206fa28452"]
diff --git a/examples/acceptance_tests/script_context/v2/plutus.json b/examples/acceptance_tests/script_context/v2/plutus.json
index 2ba3124f..81fdcbfc 100644
--- a/examples/acceptance_tests/script_context/v2/plutus.json
+++ b/examples/acceptance_tests/script_context/v2/plutus.json
@@ -6,7 +6,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
- "version": "v1.0.31-alpha+4645fd3"
+ "version": "v1.0.31-alpha+81c0152"
},
"license": "Apache-2.0"
},
@@ -25,8 +25,8 @@
"$ref": "#/definitions/Void"
}
},
- "compiledCode": "590340010000323232323232323223232232253330073253330083330083375e601a601c601c601c601c601c601c601c601c601c601c601c60146ea8c004c028dd5001260126d8799f58200000000000000000000000000000000000000000000000000000000000000000ff004a09444c94ccc024c94ccc028cdc3a400460166ea80044c94ccc02ccdd7980218069baa0014c0126d8799f58200000000000000000000000000000000000000000000000000000000000000000ff0013009375a6006601a6ea8004528180798061baa001163001300b375400626464a6660166464a6660200022c2a6660206026002264a66601c66ebcc018c040dd50009ba6300448202a35ae41c54ccc038cdd7980398081baa30073010375400298122d8799f581c11111111111111111111111111111111111111111111111111111111ff001533300e533300e300c300f3754600c60206ea8c01cc040dd50008a5014a22a66601c66ebcc00cc040dd5000a60103d879800013375e600a60206ea800530103d87a800014a029405280a5030120011637586002601c6ea8c014c038dd50031180898091809000899baf3002300d37546008601a6ea8014dd31800a40a8294094ccc02cc02400452f5bded8c0264646600200297adef6c6022533301100113301233760981014000374c00697adef6c60132323232533301233720910100002133016337609801014000374c00e00a2a66602466e3d22100002133016337609801014000374c00e00626602c66ec0dd48011ba600133006006003375660260066eb8c044008c054008c04c004c8cc0040052f5bded8c044a66602000226602266ec13001014000375000697adef6c60132323232533301133720910100002133015337609801014000375000e00a2a66602266e3d22100002133015337609801014000375000e00626602a66ec0dd48011ba800133006006003375a60240066eb8c040008c050008c0480048c03cc040c040c0400045281180718078008a502300d00114984d9594cccccc03000454ccc014c00cc018dd50008a99980418039baa00114985858585858594cccccc02800854ccc00cc004c010dd50010a99980318029baa0021498585858585858dc3a4000ae6955ceaab9e5573eae815d0aba25749",
- "hash": "b4722fea910f2527073750f2d145f259ef3d8fec59b726abfd36a0b1"
+ "compiledCode": "5903280100003232323232323223232232253330073253330083330083375e601a601c601c601c601c601c601c601c601c601c601c601c60146ea8c004c028dd5001260126d8799f58200000000000000000000000000000000000000000000000000000000000000000ff004a09444c94ccc024c94ccc028cdc3a400460166ea80044c94ccc02ccdd7980218069baa0014c0126d8799f58200000000000000000000000000000000000000000000000000000000000000000ff0013009375a6006601a6ea8004528180798061baa001163001300b375400626464a6660166464a6660200022c2a6660206026002264a66601c66ebcc018c040dd50009ba6300448202a35ae41c54ccc038cdd7980398081baa30073010375400298122d8799f581c11111111111111111111111111111111111111111111111111111111ff001533300e533300e300c300f3754600c60206ea8c01cc040dd50008a5014a22a66601c66ebcc00cc040dd5000a60103d879800013375e600a60206ea800530103d87a800014a029405280a5030120011637586002601c6ea8c014c038dd50031180898091809000899baf3002300d37546008601a6ea8014dd31800a40a8294094ccc02cc02400452f5bded8c0264646600200297adef6c6022533301100113301233760981014000374c00697adef6c60132323232533301233720910100002133016337609801014000374c00e00a2a66602466e3d22100002133016337609801014000374c00e00626602c66ec0dd48011ba600133006006003375660260066eb8c044008c054008c04c004c8cc0040052f5bded8c044a66602000226602266ec13001014000375000697adef6c60132323232533301133720910100002133015337609801014000375000e00a2a66602266e3d22100002133015337609801014000375000e00626602a66ec0dd48011ba800133006006003375a60240066eb8c040008c050008c0480048c03cc040c040c0400045281180718078008a502300d00114984d9594ccc014c00cc018dd50008a99980418039baa001149858594ccc00cc004c010dd50010a99980318029baa00214985858dc3a4000ae6955ceaab9e5573eae815d0aba201",
+ "hash": "759c4c40f04fe27a816fbe04c522ac00c710762e979ebe09ed276362"
},
{
"title": "deploy.spend",
@@ -42,8 +42,8 @@
"$ref": "#/definitions/Data"
}
},
- "compiledCode": "5902620100003232323232323232222533300453330043375e00698103d879800013253330053323223253330093370e900018051baa0011323232533300c3375e980106d8799f182aff0000213370e600c00a90020a50533300b3370e900018061baa001132533300f0011613253330103013002149858c94cccccc0500045858584dd68008b180880098069baa001165333333011001100116161616300e300b37540022c64646600200200644a66601c002298103d87a8000132323232533300f3372200e0042a66601e66e3c01c0084cdd2a40006602600297ae014c0103d87a80001330060060033010003375c601c004602400460200026e50dd9a6106d8799f182aff00300100122533300a0011480004cdc02400466004004601a0026eacc028c02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc01cdd5180098039baa00213232533300a00116132533300b00116132533300932533300a3375e600a60186ea800530126d87a9f5820fcaa61fb85676101d9e3398a484674e71c45c3fd41b492682f3b0054f4cf3273ff0013375e601e60206020602060186ea800530122d8799f581ce37db487fbd58c45d059bcbf5cd6b1604d3bec16cf888f1395a4ebc4ff0014a0601c0062a66601266ebcc038c03cc02cdd5180298059baa0014c012ad8799fd8799fd8799f581c66666666666666666666666666666666666666666666666666666666ffffff00153330093370e900218051baa3004300b37540022944585280a50300d001300d0013758600260106ea8c008c020dd500191805980618060008a502300a00114a029309b2b2b9a5573aaae7955cfaba05742ae895d201",
- "hash": "afe28fb3a5ca0c66aa19eb0ea419c60e20ea6e3c82875f74db76d32e"
+ "compiledCode": "5902520100003232323232323232222533300453330043375e00698103d879800013253330053323223253330093370e900018051baa001132533300a3370e900018059baa001132533300e001161325333333013001161616132533301030130031533300d3375e980106d8799f182aff0000413370e600e00c90020a5016375a0022c602000260186ea800458c038c02cdd50008b1919198008008019129998070008a6103d87a8000132323232533300f3372200e0042a66601e66e3c01c0084cdd2a40006602600297ae014c0103d87a80001330060060033010003375c601c004602400460200026e50dd9a6106d8799f182aff00300100122533300a0011480004cdc02400466004004601a0026eacc028c02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc01cdd5180098039baa00213232533300a00116132533300b00116132533300932533300a3375e600a60186ea800530126d87a9f5820fcaa61fb85676101d9e3398a484674e71c45c3fd41b492682f3b0054f4cf3273ff0013375e601e60206020602060186ea800530122d8799f581ce37db487fbd58c45d059bcbf5cd6b1604d3bec16cf888f1395a4ebc4ff0014a0601c0062a66601266ebcc038c03cc02cdd5180298059baa0014c012ad8799fd8799fd8799f581c66666666666666666666666666666666666666666666666666666666ffffff00153330093370e900218051baa3004300b37540022944585280a50300d001300d0013758600260106ea8c008c020dd500191805980618060008a502300a00114a029309b2b2b9a5573aaae7955cfaba05742ae895d201",
+ "hash": "d593ff2c1db29ce9a9a392280895f03d00705203dc4a0ea15870a0b1"
},
{
"title": "mint.mint",
@@ -53,8 +53,8 @@
"$ref": "#/definitions/Data"
}
},
- "compiledCode": "5903070100003232323232323222533300332323232325332330093232533300e00116132533300f3012002132533300d3005300e3754002266e3c008dd7180918079baa001163008300e37540142c6eb8c040004cc004004cc010c00cdd5980298061baa3007300c375401091010022533300e00114bd70099807980618080009980100118088008a999191980599912999806980298071baa002132533300e3005300f37540022c266e1cdd6980998081baa001483c850c8cc004004c94ccc03cc018c040dd50008a5eb7bdb1804dd5980a18089baa00132323300100130093756601660246ea8010894ccc0500045300103d87a800013232323253330153372200e0042a66602a66e3c01c0084c02ccc064dd3000a5eb80530103d87a80001330060060033756602c0066eb8c050008c060008c058004dd7180998081baa00322533301200114c103d87a800013232323253330133372291103666f6f00002153330133371e910103666f6f000021300933017375000297ae014c0103d87a8000133006006003375a60280066eb8c048008c058008c05000458c01cc034dd5004980418069baa009132323232533300f3007301037540022a66601e66ebc038c044c8cdd8180a800980a980b0009bac3014301137540022600c60046eacc010c044dd5180618089baa00d14a02c64660020026eacc010c044dd5180618089baa00d22533301300114c103d87a80001323253330123375e6026004601c60286ea80404c020cc058dd39980b18098011980b180a00125eb812f5c0266008008002602e004602a002600200244a66602200229000099b8048008cc008008c0500048c044c048c048c048c048c048c048c048c048c048004dd2a40006e1d200214a06e1d200014a046600400291010022323300100100322533300d00114bd6f7b630099191919299980719b910070021533300e3371e00e0042006200a26602466ec0dd48011ba6001330060060033756601e0066eb8c034008c044008c03c0048c02cc030c030c030c0300048c028c02c0048c024004526136565734aae7555cf2ab9f5740ae855d101",
- "hash": "cae7d307b37aaa4d2500641c8c6e823ea313aa43fb6dbc9ed72b7228"
+ "compiledCode": "590300010000323232323232322253330033232323232533233009323232533300f3012002132533300d3005300e3754002266e3c008dd7180918079baa001163008300e37540142c6eb8c040004cc004004cc010c00cdd5980298061baa3007300c37540109110022533300e00114bd70099807980618080009980100118088008a999191980599912999806980298071baa002132533300e3005300f37540022c266e1cdd6980998081baa001483c850c8cc004004c94ccc03cc018c040dd50008a5eb7bdb1804dd5980a18089baa00132323300100130093756601660246ea8010894ccc0500045300103d87a800013232323253330153372200e0042a66602a66e3c01c0084c02ccc064dd3000a5eb80530103d87a80001330060060033756602c0066eb8c050008c060008c058004dd7180998081baa00322533301200114c103d87a800013232323253330133372291103666f6f00002153330133371e910103666f6f000021300933017375000297ae014c0103d87a8000133006006003375a60280066eb8c048008c058008c05000458c01cc034dd5004980418069baa009132323232533300f3007301037540022a66601e66ebc038c044c8cdd8180a800980a980b0009bac3014301137540022600c60046eacc010c044dd5180618089baa00d14a02c64660020026eacc010c044dd5180618089baa00d22533301300114c103d87a80001323253330123375e6026004601c60286ea80404c020cc058dd39980b18098011980b180a00125eb812f5c0266008008002602e004602a002600200244a66602200229000099b8048008cc008008c0500048c044c048c048c048c048c048c048c048c048c048004dd2a40006e1d200214a06e1d200014a046600400291010022323300100100322533300d00114bd6f7b630099191919299980719b910070021533300e3371e00e0042006200a26602466ec0dd48011ba6001330060060033756601e0066eb8c034008c044008c03c0048c02cc030c030c030c0300048c028c02c0048c024004526136565734aae7555cf2ab9f5740ae855d101",
+ "hash": "f557530d177449d0609a60cbe4f48b221c04a6ca7f9f235fcdc8c741"
},
{
"title": "withdrawals.spend",
@@ -70,8 +70,8 @@
"$ref": "#/definitions/Void"
}
},
- "compiledCode": "590249010000323232323232323223223225333006323232533300932533300a3370e900118059baa0011613370e6eb4c030c8cdd81808000980818088009bac300f300c3754002902a198009bab3002300b3754600660166ea80108cdd79805800a6126d8799fd8799f581c22222222222222222222222222222222222222222222222222222222ffff001533300932533300a3370e900118059baa0011613370e6eb4c030c8cdd81808000980818088009bac300f300c3754002900e198009bab3002300b3754600660166ea80108cdd79805800a60126d8799fd87a9f581cafddc16c18e7d8de379fb9aad39b3d1b5afd27603e5ebac818432a72ffff0013375e6e9cc8cc004004dd5980198061baa3004300c375400a44a66601c002297ae013300f300c3010001330020023011001374e6601a98126d8799fd8799f581c22222222222222222222222222222222222222222222222222222222ffff003300d4c126d8799fd87a9f581cafddc16c18e7d8de379fb9aad39b3d1b5afd27603e5ebac818432a72ffff004bd700a5014a044646600200200644a66601e002298103d87a800013232533300e300500213374a9000198091ba733012300f0023301230100024bd7025eb804cc010010004c04c008c0440048c034c038c038c038c038c038c0380048c03000452613656533333300b001153330043370e900018029baa00115333007300637540022930b0b0b0b0b0b29999998048008a99980119b8748000c00cdd50008a99980298021baa00114985858585858595cd2ab9d5573caae7d5d02ba15744ae901",
- "hash": "45d4f36c2dcf9831e37995edb428bed6928a55b39b401c1dd5ab7886"
+ "compiledCode": "5902300100003232323232323223223225333006323232533300932533300a3370e900118059baa0011613370e6eb4c030c8cdd81808000980818088009bac300f300c3754002902a198009bab3002300b3754600660166ea80108cdd79805800a6126d8799fd8799f581c22222222222222222222222222222222222222222222222222222222ffff001533300932533300a3370e900118059baa0011613370e6eb4c030c8cdd81808000980818088009bac300f300c3754002900e198009bab3002300b3754600660166ea80108cdd79805800a60126d8799fd87a9f581cafddc16c18e7d8de379fb9aad39b3d1b5afd27603e5ebac818432a72ffff0013375e6e9cc8cc004004dd5980198061baa3004300c375400a44a66601c002297ae013300f300c3010001330020023011001374e6601a98126d8799fd8799f581c22222222222222222222222222222222222222222222222222222222ffff003300d4c126d8799fd87a9f581cafddc16c18e7d8de379fb9aad39b3d1b5afd27603e5ebac818432a72ffff004bd700a5014a044646600200200644a66601e002298103d87a800013232533300e300500213374a9000198091ba733012300f0023301230100024bd7025eb804cc010010004c04c008c0440048c034c038c038c038c038c038c0380048c0300045261365653330043370e900018029baa00115333007300637540022930b0b299980119b8748000c00cdd50008a99980298021baa001149858595cd2ab9d5573caae7d5d02ba157441",
+ "hash": "06f1f9df4be68a65cd55a921e3e7ec1eb4104906c53e0e564c726faa"
}
],
"definitions": {
diff --git a/examples/acceptance_tests/script_context/v3/README.md b/examples/acceptance_tests/script_context/v3/README.md
index fd113b7f..14ac32b5 100644
--- a/examples/acceptance_tests/script_context/v3/README.md
+++ b/examples/acceptance_tests/script_context/v3/README.md
@@ -25,7 +25,7 @@ for convenience.
- [ ] withdraw
- [ ] publish
- [ ] voting
- - [ ] proposing
+ - [x] proposing
- Transaction body
- [x] inputs
@@ -38,7 +38,7 @@ for convenience.
- [x] fee
- [x] mint
- certificates
- - [ ] none
+ - [x] none
- some
- Register credential
- [ ] no deposit
@@ -56,26 +56,26 @@ for convenience.
- [ ] Delegate CC
- [ ] Retire CC
- withdrawals
- - [ ] none
+ - [x] none
- [ ] some
- [ ] validity range
- extra signatories
- [x] none
- [ ] some
- - [ ] redeemers
+ - [x] redeemers
- [x] datums
- votes
- - [ ] none
+ - [x] none
- [ ] some
- proposal procedures
- - [ ] none
- - [ ] some
+ - [x] none
+ - [x] some
- current treasury
- [ ] with
- - [ ] without
+ - [x] without
- treasury donation
- [ ] with
- - [ ] without
+ - [x] without
- Address
- [x] type-0 (key | key)
@@ -105,21 +105,21 @@ for convenience.
- [ ] with action id
- [ ] without action id
- hardfork initiation
- - [ ] with action id
- - [ ] without action id
+ - [x] with action id
+ - [x] without action id
- treasuryWithdrawals
- - [ ] with constitution
- - [ ] without constitution
+ - [x] with constitution
+ - [x] without constitution
- no confidence
- - [ ] with action id
- - [ ] without action id
+ - [x] with action id
+ - [x] without action id
- update committee
- - [ ] with action id
- - [ ] without action id
+ - [x] with action id
+ - [x] without action id
- new constitution
- - [ ] with action id
- - [ ] without action id
- - [ ] info action
+ - [x] with action id
+ - [x] without action id
+ - [x] info action
- Vote
- [ ] No
@@ -164,11 +164,11 @@ for convenience.
- [ ] 33 : nonnegative_interval}
- Constitution
- - [ ] with guardrail script
- - [ ] without guardrail script
+ - [x] with guardrail script
+ - [x] without guardrail script
- Credential
- - [ ] key
+ - [x] key
- [x] script
- Delegatee
diff --git a/examples/acceptance_tests/script_context/v3/ctx/proposing_all/resolved_inputs.template b/examples/acceptance_tests/script_context/v3/ctx/proposing_all/resolved_inputs.template
new file mode 100644
index 00000000..dc99bdb5
--- /dev/null
+++ b/examples/acceptance_tests/script_context/v3/ctx/proposing_all/resolved_inputs.template
@@ -0,0 +1,5 @@
+[
+ { 0: h'6000000000000000000000000000000000000000000000000000000000'
+ , 1: 1000000
+ }
+]
diff --git a/examples/acceptance_tests/script_context/v3/ctx/proposing_all/tx.template b/examples/acceptance_tests/script_context/v3/ctx/proposing_all/tx.template
new file mode 100644
index 00000000..afb4c438
--- /dev/null
+++ b/examples/acceptance_tests/script_context/v3/ctx/proposing_all/tx.template
@@ -0,0 +1,122 @@
+[
+ { 0:
+ [ [h'0000000000000000000000000000000000000000000000000000000000000000', 0]
+ ]
+
+ , 1:
+ []
+
+ , 2: 42
+
+ , 20: 258(
+ [
+ [ 2000000
+ , h'F000000000000000000000000000000000000000000000000000000000'
+ , [ 1, null, [ 10, 0 ] ]
+ , [ "https://aiken-lang.org"
+ , h'0000000000000000000000000000000000000000000000000000000000000000'
+ ]
+ ]
+
+ , [ 2000000
+ , h'F000000000000000000000000000000000000000000000000000000000'
+ , [ 1, [ h'0000000000000000000000000000000000000000000000000000000000000000', 0 ] , [ 11, 0 ] ]
+ , [ "https://aiken-lang.org"
+ , h'0000000000000000000000000000000000000000000000000000000000000000'
+ ]
+ ]
+
+ , [ 2000000
+ , h'F000000000000000000000000000000000000000000000000000000000'
+ , [ 2
+ , { h'E011111111111111111111111111111111111111111111111111111111': 1000000 }
+ , null
+ ]
+ , [ "https://aiken-lang.org"
+ , h'0000000000000000000000000000000000000000000000000000000000000000'
+ ]
+ ]
+
+ , [ 2000000
+ , h'F000000000000000000000000000000000000000000000000000000000'
+ , [ 2
+ , { h'E022222222222222222222222222222222222222222222222222222222': 1000000 }
+ , h'{{ proposing_all.guardrails.hash }}'
+ ]
+ , [ "https://aiken-lang.org"
+ , h'0000000000000000000000000000000000000000000000000000000000000000'
+ ]
+ ]
+
+ , [ 2000000
+ , h'F000000000000000000000000000000000000000000000000000000000'
+ , [ 3, null ]
+ , [ "https://aiken-lang.org"
+ , h'0000000000000000000000000000000000000000000000000000000000000000'
+ ]
+ ]
+
+ , [ 2000000
+ , h'F000000000000000000000000000000000000000000000000000000000'
+ , [ 4
+ , null
+ , [ [0, h'00000000000000000000000000000000000000000000000000000000'] ]
+ , { [0, h'00000000000000000000000000000000000000000000000000000000']: 500 }
+ , 30([1, 2])
+ ]
+ , [ "https://aiken-lang.org"
+ , h'0000000000000000000000000000000000000000000000000000000000000000'
+ ]
+ ]
+
+ , [ 2000000
+ , h'F000000000000000000000000000000000000000000000000000000000'
+ , [ 5
+ , null
+ , [ [ "https://constitution.cardano.org"
+ , h'0000000000000000000000000000000000000000000000000000000000000000'
+ ]
+ , null
+ ]
+ ]
+ , [ "https://aiken-lang.org"
+ , h'0000000000000000000000000000000000000000000000000000000000000000'
+ ]
+ ]
+
+ , [ 2000000
+ , h'F000000000000000000000000000000000000000000000000000000000'
+ , [ 5
+ , null
+ , [ [ "https://constitution.cardano.org"
+ , h'0000000000000000000000000000000000000000000000000000000000000000'
+ ]
+ , h'00000000000000000000000000000000000000000000000000000000'
+ ]
+ ]
+ , [ "https://aiken-lang.org"
+ , h'0000000000000000000000000000000000000000000000000000000000000000'
+ ]
+ ]
+
+ , [ 2000000
+ , h'E000000000000000000000000000000000000000000000000000000000'
+ , [ 6 ]
+ , [ "https://aiken-lang.org"
+ , h'0000000000000000000000000000000000000000000000000000000000000000'
+ ]
+ ]
+ ]
+ )
+ },
+
+ { 5: [[5, 3, 121([]), [1000000, 100000000]]]
+
+ , 7: [h'{{ proposing_all.guardrails.cbor }}']
+ },
+
+ true,
+
+ null
+]
+
diff --git a/examples/acceptance_tests/script_context/v3/lib b/examples/acceptance_tests/script_context/v3/lib
new file mode 120000
index 00000000..eeba4d40
--- /dev/null
+++ b/examples/acceptance_tests/script_context/v3/lib
@@ -0,0 +1 @@
+../../../../../stdlib/lib
\ No newline at end of file
diff --git a/examples/acceptance_tests/script_context/v3/lib/aiken b/examples/acceptance_tests/script_context/v3/lib/aiken
deleted file mode 120000
index 6c2c415d..00000000
--- a/examples/acceptance_tests/script_context/v3/lib/aiken
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../stdlib/lib/aiken
\ No newline at end of file
diff --git a/examples/acceptance_tests/script_context/v3/plutus.json b/examples/acceptance_tests/script_context/v3/plutus.json
index 41662914..cb3df04b 100644
--- a/examples/acceptance_tests/script_context/v3/plutus.json
+++ b/examples/acceptance_tests/script_context/v3/plutus.json
@@ -6,7 +6,7 @@
"plutusVersion": "v3",
"compiler": {
"name": "Aiken",
- "version": "v1.0.31-alpha+32a3d90"
+ "version": "v1.0.31-alpha+81c0152"
},
"license": "Apache-2.0"
},
@@ -19,8 +19,8 @@
"$ref": "#/definitions/Void"
}
},
- "compiledCode": "5910100101003232323232323232323232322533333300d00115332330063001300837540042a66601460126ea8008494ccc01cc8c8c8c8c8c8c8c8c8c8c928a99980899baf374c6602c66ec1301225820923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec004c0103d87980004bd6f7b630180b980c180c180c180c180c180c180c180c180c180c180a1baa3008301437540162930a9980924937657870656374205b5061697228766f69645f686173682c20766f6964295d203d3d20646963742e746f5f706169727328646174756d7329001653330103375e6e9ccc054c014cc055300127d8799f5820000000000000000000000000000000000000000000000000000000000000000000ff0033015300533015300448811c000000000000000000000000000000000000000000000000000000000033015374c6006904044bd1980aa60103d8798000330154c103d87a80004bd7025eb812f5c0602c602e60266ea8c01cc04cdd50050a4c2a66022921ff6578706563740a202020205b0a202020202020496e707574207b0a20202020202020206f75747075745f7265666572656e63653a204f75747075745265666572656e6365207b0a202020202020202020207472616e73616374696f6e5f69643a206e756c6c33322c0a202020202020202020206f75747075745f696e6465783a20302c0a20202020202020207d2c0a20202020202020206f75747075743a204f7574707574207b0a20202020202020202020616464726573733a2063726564656e7469616c2e66726f6d5f766572696669636174696f6e5f6b6579286e756c6c3238292c0a2020202020202020202076616c75653a2076616c75652e66726f766d5f6c6f76656c61636528315f3030305f303030292c0a20202020202020202020646174756d3a204e6f446174756d2c0a202020202020202020207265666572656e63655f7363726970743a204e6f6e652c0a20202020202020207d2c0a2020202020207d2c0a202020205d203d3d20696e707574730016533300f3375e6e9ccc050dd39980a1ba9005330144c1064561696b656e00330144c1012d004bd701980a1ba733014375200a66028981084763617264616e6f00330144c10101004bd701980a1ba733014375200e66028981054474756e6100330144c1091b00005af3107a4000004bd7025eb80dd399198008009bab3016301730173017301730133754600e60266ea8028894ccc05400452f5c0264666444646600200200644a66603600220062646603a6e9ccc074dd48031980e980d0009980e980d800a5eb80cc00c00cc07c008c074004dd7180a0009bab30150013300300330190023017001149854cc0412401a76578706563740a202020205b0a202020202020286f746865725f706f6c6963795f69642c202261696b656e222c202d3134292c0a202020202020286f746865725f706f6c6963795f69642c202263617264616e6f222c2031292c0a202020202020286f75725f706f6c6963795f69642c202274756e61222c20313030303030303030303030303030292c0a202020205d203d3d2076616c75652e666c617474656e286d696e7429001633232323232323232253330173370e600c00290030a99980b99baf300c3301c300c3301c300b48811c00000000000000000000000000000000000000000000000000000000003301c374c6014904044bd1980e260126d87a9f5820923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ecff003301c4c103d87a80004bd7025eb80cc0100052000153330173375e6018660386018660386600660169111c000000000000000000000000000000000000000000000000000000000048811c00000000000000000000000000000000000000000000000000000000003301c374c666600466660046014904044bd007a4410474756e610048202034a1f8af0b403522010561696b656e0048150cc071300103d87980003301c4c103d87a80004bd7025eb80cc0100052002153330173375e6018660386018660386600660186603866e9520023301c4c011e581c00000000000000000000000000000000000000000000000000000000004bd701980e260103d87a80004bd702451c00000000000000000000000000000000000000000000000000000000003301c374c66660046014904044bd006a450763617264616e6f0048008cc071300103d87980003301c4c122d8799f581c68ad54b3a8124d9fe5caaaf2011a85d72096e696a2fb3d7f86c41717ff004bd7025eb80cc0100052004149854cc0612401ff6578706563740a20202020536f6d65280a2020202020204f7574707574207b0a2020202020202020616464726573733a2063726564656e7469616c2e66726f6d5f736372697074286e756c6c3238290a202020202020202020207c3e2063726564656e7469616c2e776974685f64656c65676174696f6e5f6b6579286e756c6c3238292c0a202020202020202076616c75653a2076616c75652e66726f6d5f6c6f76656c61636528315f3030305f303030290a202020202020202020207c3e2076616c75652e616464286f746865725f706f6c6963795f69642c202263617264616e6f222c2031292c0a2020202020202020646174756d3a204e6f446174759a6d2c0a20202020202020207265666572656e63655f7363726970743a20536f6d65280a2020202020202020202023223638616435346233613831323464396665356361616166323031316138356437323039366536393661326662336437663836633431373137222c0a2020202020202020292c0a2020202020207d2c0a2020202029203d3d206c6973742e6174286f7574707574732c20322900161533018491ff6578706563740a20202020536f6d65280a2020202020204f7574707574207b0a2020202020202020616464726573733a2063726564656e7469616c2e66726f6d5f766572696669636174696f6e5f6b6579286e756c6c3238290a202020202020202020207c3e2063726564656e7469616c2e776974685f64656c65676174696f6e5f6b6579286e756c6c3238292c0a202020202020202076616c75653a2076616c75652e66726f6d5f6c6f76656c61636528315f3030305f303030290a202020202020202020207c3e2076616c75652e616464286f75725f706f6c6963795f69642c202274756e61222c20313030303030303030303030303030290a20202090202020202020207c3e2076616c75652e616464286f746865725f706f6c6963795f69642c202261696b656e222c203432292c0a2020202020202020646174756d3a204e6f446174756d2c0a20202020202020207265666572656e63655f7363726970743a204e6f6e652c0a2020202020207d2c0a2020202029203d3d206c6973742e6174286f7574707574732c20312900161533018491f46578706563740a20202020536f6d65280a2020202020204f7574707574207b0a2020202020202020616464726573733a2063726564656e7469616c2e66726f6d5f766572696669636174696f6e5f6b6579286e756c6c3238292c0a202020202020202076616c75653a2076616c75652e66726f6d5f6c6f76656c61636528315f3030305f303030292c0a2020202020202020646174756d3a20446174756d4861736828766f69645f68617368292c0a20202020202020207265666572656e63655f7363726970743a204e6f6e652c0a2020202020207d2c0a2020202029203d3d206c6973742e6174286f7574707574732c2030290016153301849120657870656374206c6973742e6c656e677468286f75747075747329203d3d2033001622225333019301400110041323233001001006225333020001133021337606ea4018dd3001a5eb7bdb1804c8c8c8c94ccc080cdc800500109981299bb037520146e9801c01454ccc080cdc78050010992999810980e18119baa001133026337606ea402cc09cc090dd50008020802192999810a9998128008a5114a0298103d87a80001301633026374c00297ae03233001001002225333026001133027337606ea402cdd400525eb7bdb1804c8c8c8c94ccc098cdc800780109981599bb0375201e6ea003801454ccc098cdc78078010992999813981118149baa00113302c337606ea4040c0b4c0a8dd5000802080219299981398110008a6103d87a80001301c3302c375000297ae03370000201c26605666ec0dd48011ba800133006006003375a60500066eb8c098008c0a8008c0a00044cc094cdd81ba9002374c0026600c00c0066eacc08800cdd7181000118120011811000991900118058009980f19bb037520046ea00052f5bded8c044601666036601a60326ea8008cc06cc02ccc06cc02ccc06cc02ccc06cdd4800a5eb812f5c097ae04bd701800800911299980c8010a60103d87a800013232533301730120031300c3301c0024bd70099980280280099b8000348004c07400cc06c008c004004894ccc05800452000133700900119801001180c800980080091299980a0008a4c264a66602a00229309919299980999b90375c602a60320086eb8c0540084cc014014cc06000800454cc051241326b65797320696e206173736f63696174697665206c697374206172656e277420696e20617363656e64696e67206f7264657200163019002301700130170013758600e60226ea8c014c044dd50041299980718048008a5eb7bdb1804c8c8cc0040052f5bded8c044a66602a00226602c66ec13001014000374c00697adef6c6013232323253330153372091010000213301a337609801014000374c00e00a2a66602a66e3d2210000213301a337609801014000374c00e00626603466ec0dd48011ba6001330060060033756602e0066eb8c054008c064008c05c004c8cc0040052f5bded8c044a66602800226602a66ec13001014000375000697adef6c60132323232533301433720910100002133019337609801014000375000e00a2a66602866e3d22100002133019337609801014000375000e00626603266ec0dd48011ba800133006006003375a602c0066eb8c050008c060008c0580048c008cc048c008cc048dd4800a5eb80cc04930103d87a80004bd701ba548000c94ccc03c0040244c8c94ccc04400402c54ccc044c0500044c8c94ccc03cc028c044dd5001099299999980c0010a999808180598091baa0021533301430133754004200201e01e01e01e01e01e6eb8c054c048dd500100698088019807801005980980118088009bab3010301130113011301130113011301130113011300d37546002601a6ea80108c040004c94ccc024c010c02cdd500089bae300f300c37540022a6601492120657870656374204d696e74696e6728706f6c6963795f696429203d20696e666f00163001300b37540044601c601e601e0022930a998042491856616c696461746f722072657475726e65642066616c73650013656003370e90000010010010010010a9980224810b5f746d70323a20566f69640016153300349139657870656374205b50616972284d696e74286f746865725f706f6c6963795f6964292c2064617461292c205f5d203d2072656465656d657273001615330024911265787065637420566f6964203d206461746100165734ae7155ceaab9e5573eae815d0aba257481",
- "hash": "5b683a7bd4203e72b75c8f3d259a09389ecc8bf650dc729f920b899f"
+ "compiledCode": "5910180101003232323232323232323232322533333300d00115332330063001300837540042a66601460126ea8008494ccc01cc8c8c8c8c8c8c8c8c8c8c928a99980899baf374c6602c66ec1301225820923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec004c0103d87980004bd6f7b630180b980c180c180c180c180c180c180c180c180c180c180a1baa3008301437540162930a9980924937657870656374205b5061697228766f69645f686173682c20766f6964295d203d3d20646963742e746f5f706169727328646174756d7329001653330103375e6e9ccc054c014cc055300127d8799f5820000000000000000000000000000000000000000000000000000000000000000000ff0033015300533015300448811c000000000000000000000000000000000000000000000000000000000033015374c6006904044bd1980aa60103d8798000330154c103d87a80004bd7025eb812f5c0602c602e60266ea8c01cc04cdd50050a4c2a66022921ff6578706563740a202020205b0a202020202020496e707574207b0a20202020202020206f75747075745f7265666572656e63653a204f75747075745265666572656e6365207b0a202020202020202020207472616e73616374696f6e5f69643a206e756c6c33322c0a202020202020202020206f75747075745f696e6465783a20302c0a20202020202020207d2c0a20202020202020206f75747075743a204f7574707574207b0a20202020202020202020616464726573733a2063726564656e7469616c2e66726f6d5f766572696669636174696f6e5f6b6579286e756c6c3238292c0a2020202020202020202076616c75653a206173736574732e6672776f6d5f6c6f76656c61636528315f3030305f303030292c0a20202020202020202020646174756d3a204e6f446174756d2c0a202020202020202020207265666572656e63655f7363726970743a204e6f6e652c0a20202020202020207d2c0a2020202020207d2c0a202020205d203d3d20696e707574730016533300f3375e6e9ccc050dd39980a1ba9005330144c1064561696b656e00330144c1012d004bd701980a1ba733014375200a66028981084763617264616e6f00330144c10101004bd701980a1ba733014375200e66028981054474756e6100330144c1091b00005af3107a4000004bd7025eb80dd399198008009bab3016301730173017301730133754600e60266ea8028894ccc05400452f5c0264666444646600200200644a66603600220062646603a6e9ccc074dd48031980e980d0009980e980d800a5eb80cc00c00cc07c008c074004dd7180a0009bab30150013300300330190023017001149854cc0412401a86578706563740a202020205b0a202020202020286f746865725f706f6c6963795f69642c202261696b656e222c202d3134292c0a202020202020286f746865725f706f6c6963795f69642c202263617264616e6f222c2031292c0a202020202020286f75725f706f6c6963795f69642c202274756e61222c20313030303030303030303030303030292c0a202020205d203d3d206173736574732e666c617474656e286d696e7429001633232323232323232253330173370e600c00290030a99980b99baf300c3301c300c3301c300b48811c00000000000000000000000000000000000000000000000000000000003301c374c6014904044bd1980e260126d87a9f5820923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ecff003301c4c103d87a80004bd7025eb80cc0100052000153330173375e6018660386018660386600660169111c000000000000000000000000000000000000000000000000000000000048811c00000000000000000000000000000000000000000000000000000000003301c374c666600466660046014904044bd007a4410474756e610048202034a1f8af0b403522010561696b656e0048150cc071300103d87980003301c4c103d87a80004bd7025eb80cc0100052002153330173375e6018660386018660386600660186603866e9520023301c4c011e581c00000000000000000000000000000000000000000000000000000000004bd701980e260103d87a80004bd702451c00000000000000000000000000000000000000000000000000000000003301c374c66660046014904044bd006a450763617264616e6f0048008cc071300103d87980003301c4c122d8799f581c68ad54b3a8124d9fe5caaaf2011a85d72096e696a2fb3d7f86c41717ff004bd7025eb80cc0100052004149854cc0612401ff6578706563740a20202020536f6d65280a2020202020204f7574707574207b0a2020202020202020616464726573733a2063726564656e7469616c2e66726f6d5f736372697074286e756c6c3238290a202020202020202020207c3e2063726564656e7469616c2e776974685f64656c65676174696f6e5f6b6579286e756c6c3238292c0a202020202020202076616c75653a206173736574732e66726f6d5f6c6f76656c61636528315f3030305f303030290a202020202020202020207c3e206173736574732e616464286f746865725f706f6c6963795f69642c202263617264616e6f222c2031292c0a2020202020202020646174756d3a204e6f44619c74756d2c0a20202020202020207265666572656e63655f7363726970743a20536f6d65280a2020202020202020202023223638616435346233613831323464396665356361616166323031316138356437323039366536393661326662336437663836633431373137222c0a2020202020202020292c0a2020202020207d2c0a2020202029203d3d206c6973742e6174286f7574707574732c20322900161533018491ff6578706563740a20202020536f6d65280a2020202020204f7574707574207b0a2020202020202020616464726573733a2063726564656e7469616c2e66726f6d5f766572696669636174696f6e5f6b6579286e756c6c3238290a202020202020202020207c3e2063726564656e7469616c2e776974685f64656c65676174696f6e5f6b6579286e756c6c3238292c0a202020202020202076616c75653a206173736574732e66726f6d5f6c6f76656c61636528315f3030305f303030290a202020202020202020207c3e206173736574732e616464286f75725f706f6c6963795f69642c202274756e61222c20313030303030303030303030303030290a20932020202020202020207c3e206173736574732e616464286f746865725f706f6c6963795f69642c202261696b656e222c203432292c0a2020202020202020646174756d3a204e6f446174756d2c0a20202020202020207265666572656e63655f7363726970743a204e6f6e652c0a2020202020207d2c0a2020202029203d3d206c6973742e6174286f7574707574732c20312900161533018491f56578706563740a20202020536f6d65280a2020202020204f7574707574207b0a2020202020202020616464726573733a2063726564656e7469616c2e66726f6d5f766572696669636174696f6e5f6b6579286e756c6c3238292c0a202020202020202076616c75653a206173736574732e66726f6d5f6c6f76656c61636528315f3030305f303030292c0a2020202020202020646174756d3a20446174756d4861736828766f69645f68617368292c0a20202020202020207265666572656e63655f7363726970743a204e6f6e652c0a2020202020207d2c0a2020202029203d3d206c6973742e6174286f7574707574732c2030290016153301849120657870656374206c6973742e6c656e677468286f75747075747329203d3d2033001622225333019301400110041323233001001006225333020001133021337606ea4018dd3001a5eb7bdb1804c8c8c8c94ccc080cdc800500109981299bb037520146e9801c01454ccc080cdc78050010992999810980e18119baa001133026337606ea402cc09cc090dd50008020802192999810a9998128008a5114a0298103d87a80001301633026374c00297ae03233001001002225333026001133027337606ea402cdd400525eb7bdb1804c8c8c8c94ccc098cdc800780109981599bb0375201e6ea003801454ccc098cdc78078010992999813981118149baa00113302c337606ea4040c0b4c0a8dd5000802080219299981398110008a6103d87a80001301c3302c375000297ae03370000201c26605666ec0dd48011ba800133006006003375a60500066eb8c098008c0a8008c0a00044cc094cdd81ba9002374c0026600c00c0066eacc08800cdd7181000118120011811000991900118058009980f19bb037520046ea00052f5bded8c044601666036601a60326ea8008cc06cc02ccc06cc02ccc06cc02ccc06cdd4800a5eb812f5c097ae04bd701800800911299980c8010a60103d87a800013232533301730120031300c3301c0024bd70099980280280099b8000348004c07400cc06c008c004004894ccc05800452000133700900119801001180c800980080091299980a0008a4c264a66602a00229309919299980999b90375c602a60320086eb8c0540084cc014014cc06000800454cc051241326b65797320696e206173736f63696174697665206c697374206172656e277420696e20617363656e64696e67206f7264657200163019002301700130170013758600e60226ea8c014c044dd50041299980718048008a5eb7bdb1804c8c8cc0040052f5bded8c044a66602a00226602c66ec13001014000374c00697adef6c6013232323253330153372091010000213301a337609801014000374c00e00a2a66602a66e3d2210000213301a337609801014000374c00e00626603466ec0dd48011ba6001330060060033756602e0066eb8c054008c064008c05c004c8cc0040052f5bded8c044a66602800226602a66ec13001014000375000697adef6c60132323232533301433720910100002133019337609801014000375000e00a2a66602866e3d22100002133019337609801014000375000e00626603266ec0dd48011ba800133006006003375a602c0066eb8c050008c060008c0580048c008cc048c008cc048dd4800a5eb80cc04930103d87a80004bd701ba548000c94ccc03c0040244c8c94ccc04400402c54ccc044c0500044c8c94ccc03cc028c044dd5001099299999980c0010a999808180598091baa0021533301430133754004200201e01e01e01e01e01e6eb8c054c048dd500100698088019807801005980980118088009bab3010301130113011301130113011301130113011300d37546002601a6ea80108c040004c94ccc024c010c02cdd500089bae300f300c37540022a6601492120657870656374204d696e74696e6728706f6c6963795f696429203d20696e666f00163001300b37540044601c601e601e0022930a998042491856616c696461746f722072657475726e65642066616c73650013656003370e90000010010010010010a9980224810b5f746d70323a20566f69640016153300349139657870656374205b50616972284d696e74286f746865725f706f6c6963795f6964292c2064617461292c205f5d203d2072656465656d657273001615330024911265787065637420566f6964203d206461746100165734ae7155ceaab9e5573eae815d0aba257481",
+ "hash": "a6e56bab571e0c73d25e4186338c488eb92ba9290027d2b8d9097aab"
},
{
"title": "mint.mint_2",
@@ -33,6 +33,17 @@
"compiledCode": "58930101003232323232323225333333008001153330033370e900018029baa001153330073006375400224a666008a6600a9201105f5f5f5f5f6d696e745f325f5f5f5f5f0014a22930a99802a4811856616c696461746f722072657475726e65642066616c73650013656002002002002002002153300249010b5f746d70323a20566f696400165734ae7155ceaab9e5573eae91",
"hash": "0c8eaf490c53afbf27e3d84a3b57da51fbafe5aa78443fcec2dc262e"
},
+ {
+ "title": "proposing_all.guardrails",
+ "redeemer": {
+ "title": "_tmp1",
+ "schema": {
+ "$ref": "#/definitions/Void"
+ }
+ },
+ "compiledCode": "590caf0101003232323232323232323232323232322533333301000115332330093001300b37540042a66601a60186ea8008494ccc028c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c92899299980e980a980f9baa001132533301e3012375a602860426ea800454ccc078cdd7980698109baa0014c122d8799f581c00000000000000000000000000000000000000000000000000000000ff001533301e3375e601860426ea8005300103d87f8000149854cc07d2412e6578706563742070726f6365647572652e676f7665726e616e63655f616374696f6e203d3d204e696365506f6c6c0016153301f4913a6578706563742070726f6365647572652e72657475726e5f61646472657373203d3d20566572696669636174696f6e4b6579286e756c6c323829001601d30233020375400203666018022900819804198058082401c4a66603866ebd30012dd87e9fd87a80d8799fd8799f581c00000000000000000000000000000000000000000000000000000000ffffff00001149854cc0752401996578706563740a202020202020202020204e6577436f6e737469747574696f6e207b0a202020202020202020202020616e636573746f723a204e6f6e652c0a202020202020202020202020636f6e737469747574696f6e3a20436f6e737469747574696f6e207b2067756172647261696c733a20536f6d65286e756c6c323829207d2c0a202020202020202020207d203d3d20616374696f6e0016330073300a00f4803094ccc06ccdd7a6010ed87e9fd87a80d8799fd87a80ffff00001149854cc0712401916578706563740a202020202020202020204e6577436f6e737469747574696f6e207b0a202020202020202020202020616e636573746f723a204e6f6e652c0a202020202020202020202020636f6e737469747574696f6e3a20436f6e737469747574696f6e207b2067756172647261696c733a204e6f6e65207d2c0a202020202020202020207d203d3d20616374696f6e0016330063300900e480288c94ccc06cc04cc074dd50008a99980d99baf3374a90041981026103d87a8000330204c1249fd8799f581c00000000000000000000000000000000000000000000000000000000ffff00330204c126a1d8799f581c00000000000000000000000000000000000000000000000000000000ff1901f400330203021301e375400297ae0002149854cc071241e96578706563740a20202020202020202020436f6e737469747574696f6e616c436f6d6d6974746565207b0a202020202020202020202020616e636573746f723a204e6f6e652c0a202020202020202020202020657669637465645f6d656d626572733a205b566572696669636174696f6e4b6579286e756c6c3238295d2c0a20202020202020202020202061646465645f6d656d626572733a205b5061697228566572696669636174696f6e4b6579286e756c6c3238292c20353030295d2c0a20202020202020202020202071756f72756d2c0a202020202020202020207d203d3d20616374696f6e0016153301c4912865787065637420536f6d652871756f72756d29203d20726174696f6e616c2e6e657728312c2032290016533301a4a0298103d87a80001533301a4a0260186603e60186603e6ea120013301f37509001a5eb812f5c0260186603e60186603e9810101003301f4c10102004bd7025eb80cc014cc0200352008253330193375e98107d87c9fd87a80ff00001149854cc069240130657870656374204e6f436f6e666964656e6365207b20616e636573746f723a204e6f6e65207d203d3d20616374696f6e0016330043300700c4801894ccc060cdc3a400860346ea800454ccc060c040c068dd5180f180f980d9baa0011498048048cc00ccc01802d2004253330173375e98012fd87b9fa1d8799f581c11111111111111111111111111111111111111111111111111111111ff1a000f4240d87a80ff00001149854cc0612401ff6578706563740a2020202020202020202054726561737572795769746864726177616c207b0a20202020202020202020202062656e656669636961726965733a205b0a20202020202020202020202020205061697228566572696669636174696f6e4b6579280a2020202020202020202020202020202023223131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131222c0a2020202020202020202020202020292c0a2020202020202020202020202020315f3030305f303030292c0a2020202020202020202020205d2c0a2020202020202020202020206775617264227261696c733a204e6f6e652c0a202020202020202020207d203d3d20616374696f6e0016330023300500a4800894ccc058cdd7a60135d87a9fd8799fd8799f5820000000000000000000000000000000000000000000000000000000000000000000ffffd8799f0b00ffff00001149854cc05d2401a76578706563740a2020202020202020202048617264466f726b496e6974696174696f6e207b0a202020202020202020202020616e636573746f723a20536f6d6528476f7665726e616e6365416374696f6e4964286e756c6c33322c203029292c0a2020202020202020202020206e65775f76657273696f6e3a2050726f746f636f6c56657273696f6e2831312c2030292c0a202020202020202020207d203d3d20616374696f6e001633001330040094800094ccc054cdd7a6010dd87a9fd87a80d8799f0a00ffff00001149854cc0592401886578706563740a2020202020202020202048617264466f726b496e6974696174696f6e207b0a202020202020202020202020616e636573746f723a204e6f6e652c0a2020202020202020202020206e65775f76657273696f6e3a2050726f746f636f6c56657273696f6e2831302c2030292c0a202020202020202020207d203d3d20616374696f6e0016225333015300d30173754004264a66602c60146eb4c030c064dd50008a99980b19baf300530193754002980122d87a9f581c00000000000000000000000000000000000000000000000000000000ff00130023004301937540022a6602e921316578706563742070726f6365647572652e72657475726e5f61646472657373203d3d20536372697074286e756c6c3238290016015301b3018375400402646032603460340024603060320026002002444a66602c0042980103d87a8000132325333014300c00313006330190024bd70099980280280099b8000348004c06800cc060008dd2a400064a666024002014264a666026602c00426464a66602266e1d200a3013375400426464a66602666e1d2006375a6032004264646464a66602e60166eb4c07401054ccc05ccdd780126122d87a9f581c00000000000000000000000000000000000000000000000000000000ff00153330173370e9002180c9baa0011533333301f00715333017300f3019375400e2a66603660346ea801c52601401401401401401415330184901346578706563742054726561737572795769746864726177616c207b202e2e207d203d20676f7665726e616e63655f616374696f6e00161533018491276578706563742072657475726e5f61646472657373203d3d20536372697074286e756c6c323829001615330184911b657870656374206465706f736974203d3d20325f3030305f3030300016301c301d002301b001301b0013016375400201e6030603200260286ea8008034c04c008c04400402cc050004dd59809980a180a180a180a180a180a180a180a180a18081baa3003301037540086e1d208092f401375860226024602460246024602460246024602460246024602460246024601c6ea8c004c038dd5001118088008a4c2a660169211856616c696461746f722072657475726e65642066616c73650013656004370e90000018018018018018a99803a4813f6578706563742054726561737572795769746864726177616c207b2067756172647261696c733a20536f6d65282e2e292c202e2e207d203d20616374696f6e001615330064910b5f746d70313a20566f6964001615330054918d657870656374205b0a20202020506169722850726f706f7365280a202020202020332c0a20202020202050726f706f73616c50726f636564757265207b206465706f7369742c2072657475726e5f616464726573732c20676f7665726e616e63655f616374696f6e207d2c0a20202020292c0a2020202064617461292c0a20205d203d2072656465656d657273001615330044911265787065637420566f6964203d2064617461001615330034912265787065637420536f6d652870726f63656475726529203d2070726f63656475726500161533002491256578706563742070726f6365647572652e6465706f736974203d3d20325f3030305f30303000165734ae7155ceaab9e5573eae815d0aba257481",
+ "hash": "6e9a331c4effa6aa646d42b6d0b58ee7f067f82d0d40a70117c0ccaf"
+ },
{
"title": "simple_spend.spend",
"datum": {
@@ -47,8 +58,8 @@
"$ref": "#/definitions/Void"
}
},
- "compiledCode": "5909af010100323232323232323232323232322533333300e00115332330073001300937540042a66601660146ea8008494cccccc04000454ccc020c008c028dd50008a99980618059baa001125333009323232323253330123758600660226ea8c014c044dd50030a9998091bac3014301530113754600a60226ea801854ccc048dd6180a180a980a980a980a980a980a980a980a98089baa30053011375400c2a66601c66e1d2054375a6028602a602a602a60226ea8c014c044dd5003099299980799baf4c101a0003015301630163016301630163016301630163016301630123754600c60246ea801c5288a9980824932657870656374205b5d203d3d20646963742e746f5f7061697273286374782e7472616e73616374696f6e2e646174756d73290016533300e3375e98012fa1d87a9fd8799f5820000000000000000000000000000000000000000000000000000000000000000000ffffd8798000301430153015301530153015301530153015301530113754600a60226ea8018526153300f491e86578706563740a202020205b0a20202020202050616972285370656e64280a20202020202020204f75747075745265666572656e6365207b0a202020202020202020207472616e73616374696f6e5f69643a20232230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c0a202020202020202020206f75747075745f696e6465783a20302c0a20202020202020207d2c0a202020202020292c0a202020202020766f69642829292c0a202020205d203d3d2072656465656d6572730016153300f49120657870656374203432203d3d206374782e7472616e73616374696f6e2e6665650016153300f4912d657870656374205b5d203d206374782e7472616e73616374696f6e2e65787472615f7369676e61746f726965730016153300f4912c657870656374205b5d203d206374782e7472616e73616374696f6e2e7265666572656e63655f696e707574730016153300f49123657870656374205b5d203d206374782e7472616e73616374696f6e2e6f757470757473001632533301200100c132533301330160021323232325333013300d375a603260340042646464646464a66603266e1d2004301b3754603e0042a66466034600260386ea800854ccc068cdc7804245200000000000000000000000000000000000000000000000000000000000000000001533301a3375e6e98010dd3299980d25014bd6f7b6300991919800800a5eb7bdb180894ccc0840044cc088cdd82601014000374c00697adef6c60132323232533302133720910100002133026337609801014000374c00e00a2a66604266e3d22100002133026337609801014000374c00e00626604c66ec0dd48011ba600133006006003375660460066eb8c084008c094008c08c004c8cc0040052f5bded8c044a66604000226604266ec130010140004c01051a3b9aca00004bd6f7b630099191919299981019b90489000021330253376098010140004c01051a3b9aca0000005153330203371e9101000021330253376098010140004c01051a3b9aca0000003133025337606ea4008dd4000998030030019bad3022003375c60400046048004604400226464a6660386006603c6ea8c08800854ccc070c00cc078dd50008a4c03603660426044002603a6ea801854cc06d24013e657870656374207265736f6c7665645f696e7075745f76616c7565203d3d2076616c75652e66726f6d5f6c6f76656c6163652831303030303030303030290016153301b491606578706563740a202020207472616e73616374696f6e5f6964203d3d20232230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030220016370e900100b80b980f180f800980f0011bab301c001301c002301a001301637540060226eb8c060004c050dd5180b801180b180b80098091baa00100d30140013758600860206ea8c010c040dd5002a99980619baf4c0132d87a9fd8799f5820000000000000000000000000000000000000000000000000000000000000000000ffd8799fd87980ffff003001300f37540082930a99806a49cd6578706563740a202020205370656e64696e67280a2020202020204f75747075745265666572656e6365207b0a20202020202020207472616e73616374696f6e5f69643a20232230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c0a20202020202020206f75747075745f696e6465783a20302c0a2020202020207d2c0a202020202020536f6d6528766f69642829292c0a2020202029203d3d20696e666f00162301230133013001533300a3371e910120c6fbd346681a8f8337f6b3e51e6ec973f1509367eabc3a44c849af58a1d8471b00375c602060226022602260226022602260226022602260226022601a6ea8c004c034dd50010a4c2a66016921546578706563740a2020202023226336666264333436363831613866383333376636623365353165366563393733663135303933363765616263336134346338343961663538613164383437316222203d3d206964001623010001149854cc0292411856616c696461746f722072657475726e65642066616c73650013656004004004004004004004370e90000018018018018018a99802a4810b5f746d70323a20566f6964001615330044910b5f746d70313a20566f696400161533003491ff657870656374205b0a20202020496e707574207b0a2020202020206f75747075745f7265666572656e63653a204f75747075745265666572656e6365207b207472616e73616374696f6e5f69642c206f75747075745f696e6465783a2030207d2c0a2020202020206f75747075743a204f7574707574207b0a2020202020202020616464726573732c0a202020202020202076616c75653a207265736f6c7665645f696e7075745f76616c75652c0a2020202020202020646174756d3a20496e6c696e65446174756d285f292c0a20202020202020207265666572656e63655f7363726970743a204e6f6e652c0a2020202020207d2c0a202020207d2c0a200b205d203d20696e7075747300161533002491676578706563742041646472657373207b0a202020207061796d656e745f63726564656e7469616c3a2053637269707443726564656e7469616c285f292c0a202020207374616b655f63726564656e7469616c3a204e6f6e652c0a20207d203d206164647265737300165734ae7155ceaab9e5573eae815d0aba257481",
- "hash": "d3f6b0abd1250e72980b29efb95269611eea030b3e96095cc001f92c"
+ "compiledCode": "59099f010100323232323232323232323232322533333300e00115332330073001300937540042a66601660146ea8008494cccccc04000454ccc020c008c028dd50008a99980618059baa001125333009323232323253330123758600660226ea8c014c044dd50030a9998091bac3014301530113754600a60226ea801854ccc048dd6180a180a980a980a980a980a980a980a980a98089baa30053011375400c2a66601c66e1d2054375a6028602a602a602a60226ea8c014c044dd5003099299980799baf4c101a0003015301630163016301630163016301630163016301630123754600c60246ea801c5288a9980824932657870656374205b5d203d3d20646963742e746f5f7061697273286374782e7472616e73616374696f6e2e646174756d73290016533300e3375e98012fa1d87a9fd8799f5820000000000000000000000000000000000000000000000000000000000000000000ffffd8798000301430153015301530153015301530153015301530113754600a60226ea8018526153300f491e86578706563740a202020205b0a20202020202050616972285370656e64280a20202020202020204f75747075745265666572656e6365207b0a202020202020202020207472616e73616374696f6e5f69643a20232230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c0a202020202020202020206f75747075745f696e6465783a20302c0a20202020202020207d2c0a202020202020292c0a202020202020766f69642829292c0a202020205d203d3d2072656465656d6572730016153300f49120657870656374203432203d3d206374782e7472616e73616374696f6e2e6665650016153300f4912d657870656374205b5d203d206374782e7472616e73616374696f6e2e65787472615f7369676e61746f726965730016153300f4912c657870656374205b5d203d206374782e7472616e73616374696f6e2e7265666572656e63655f696e707574730016153300f49123657870656374205b5d203d206374782e7472616e73616374696f6e2e6f757470757473001632533301200100c132533301330160021323232325333013300d375a603260340042646464646464a66603266e1d2004301b3754603e0042a66466034600260386ea800854ccc068cdc7804245200000000000000000000000000000000000000000000000000000000000000000001533301a3375e6e98010dd3299980d25014bd6f7b6300991919800800a5eb7bdb180894ccc0840044cc088cdd82601014000374c00697adef6c60132323232533302133720910100002133026337609801014000374c00e00a2a66604266e3d22100002133026337609801014000374c00e00626604c66ec0dd48011ba600133006006003375660460066eb8c084008c094008c08c004c8cc0040052f5bded8c044a66604000226604266ec130010140004c01051a3b9aca00004bd6f7b630099191919299981019b90489000021330253376098010140004c01051a3b9aca0000005153330203371e9101000021330253376098010140004c01051a3b9aca0000003133025337606ea4008dd4000998030030019bad3022003375c60400046048004604400226464a6660386006603c6ea8c08800854ccc070c00cc078dd50008a4c03603660426044002603a6ea801854cc06d24013f657870656374207265736f6c7665645f696e7075745f76616c7565203d3d206173736574732e66726f6d5f6c6f76656c6163652831303030303030303030290016153301b491606578706563740a202020207472616e73616374696f6e5f6964203d3d20232230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030220016370e900100b80b980f180f800980f0011bab301c001301c002301a001301637540060226eb8c060004c050dd5180b801180b180b80098091baa00100d30140013758600860206ea8c010c040dd5002a99980619baf4c0132d87a9fd8799f5820000000000000000000000000000000000000000000000000000000000000000000ffd8799fd87980ffff003001300f37540082930a99806a49cd6578706563740a202020205370656e64696e67280a2020202020204f75747075745265666572656e6365207b0a20202020202020207472616e73616374696f6e5f69643a20232230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c0a20202020202020206f75747075745f696e6465783a20302c0a2020202020207d2c0a202020202020536f6d6528766f69642829292c0a2020202029203d3d20696e666f00162301230133013001533300a3371e910120c6fbd346681a8f8337f6b3e51e6ec973f1509367eabc3a44c849af58a1d8471b00375c602060226022602260226022602260226022602260226022601a6ea8c004c034dd50010a4c2a66016921546578706563740a2020202023226336666264333436363831613866383333376636623365353165366563393733663135303933363765616263336134346338343961663538613164383437316222203d3d206964001623010001149854cc0292411856616c696461746f722072657475726e65642066616c73650013656004004004004004004004370e90000018018018018018a99802a4810b5f746d70323a20566f6964001615330044910b5f746d70313a20566f696400161533003491ff657870656374205b0a20202020496e707574207b0a2020202020206f75747075745f7265666572656e63653a204f75747075745265666572656e6365207b207472616e73616374696f6e5f69642c206f75747075745f696e6465783a2030207d2c0a2020202020206f75747075743a204f7574707574207b0a2020202020202020616464726573732c0a202020202020202076616c75653a207265736f6c7665645f696e7075745f76616c75652c0a2020202020202020646174756d3a20496e6c696e65446174756d285f292c0a20202020202020207265666572656e63655f7363726970743a204e6f6e652c0a2020202020207d2c0a202020207d2c0a200b205d203d20696e7075747300161533002491566578706563742041646472657373207b207061796d656e745f63726564656e7469616c3a20536372697074285f292c207374616b655f63726564656e7469616c3a204e6f6e65207d203d0a202020206164647265737300165734ae7155ceaab9e5573eae815d0aba257481",
+ "hash": "cef0769e42ca13a9ffcd71a6ed03e3e03adb72f4cdf81bb28137c55a"
}
],
"definitions": {
diff --git a/examples/acceptance_tests/script_context/v3/validators/mint.ak b/examples/acceptance_tests/script_context/v3/validators/mint.ak
index 1959c9fe..5b555007 100644
--- a/examples/acceptance_tests/script_context/v3/validators/mint.ak
+++ b/examples/acceptance_tests/script_context/v3/validators/mint.ak
@@ -1,11 +1,11 @@
-use aiken/dict.{Dict}
-use aiken/list
-use aiken/transaction.{
+use aiken/collection/dict.{Dict}
+use aiken/collection/list
+use cardano/assets.{PolicyId, Value}
+use cardano/credential
+use cardano/transaction.{
DatumHash, Input, Mint, Minting, NoDatum, Output, OutputReference,
ScriptContext, ScriptInfo, ScriptPurpose,
}
-use aiken/transaction/credential
-use aiken/transaction/value.{PolicyId, Value}
const null28 = #"00000000000000000000000000000000000000000000000000000000"
@@ -37,7 +37,7 @@ fn assert_reference_inputs(inputs: List) -> Void {
},
output: Output {
address: credential.from_verification_key(null28),
- value: value.from_lovelace(1_000_000),
+ value: assets.from_lovelace(1_000_000),
datum: NoDatum,
reference_script: None,
},
@@ -74,7 +74,7 @@ fn assert_outputs(
Some(
Output {
address: credential.from_verification_key(null28),
- value: value.from_lovelace(1_000_000),
+ value: assets.from_lovelace(1_000_000),
datum: DatumHash(void_hash),
reference_script: None,
},
@@ -85,9 +85,9 @@ fn assert_outputs(
Output {
address: credential.from_verification_key(null28)
|> credential.with_delegation_key(null28),
- value: value.from_lovelace(1_000_000)
- |> value.add(our_policy_id, "tuna", 100000000000000)
- |> value.add(other_policy_id, "aiken", 42),
+ value: assets.from_lovelace(1_000_000)
+ |> assets.add(our_policy_id, "tuna", 100000000000000)
+ |> assets.add(other_policy_id, "aiken", 42),
datum: NoDatum,
reference_script: None,
},
@@ -98,8 +98,8 @@ fn assert_outputs(
Output {
address: credential.from_script(null28)
|> credential.with_delegation_key(null28),
- value: value.from_lovelace(1_000_000)
- |> value.add(other_policy_id, "cardano", 1),
+ value: assets.from_lovelace(1_000_000)
+ |> assets.add(other_policy_id, "cardano", 1),
datum: NoDatum,
reference_script: Some(
#"68ad54b3a8124d9fe5caaaf2011a85d72096e696a2fb3d7f86c41717",
@@ -116,7 +116,7 @@ fn assert_mint(mint: Value, our_policy_id: PolicyId, other_policy_id: PolicyId)
(other_policy_id, "aiken", -14),
(other_policy_id, "cardano", 1),
(our_policy_id, "tuna", 100000000000000),
- ] == value.flatten(mint)
+ ] == assets.flatten(mint)
Void
}
diff --git a/examples/acceptance_tests/script_context/v3/validators/proposing_all.ak b/examples/acceptance_tests/script_context/v3/validators/proposing_all.ak
new file mode 100644
index 00000000..8e8afb5c
--- /dev/null
+++ b/examples/acceptance_tests/script_context/v3/validators/proposing_all.ak
@@ -0,0 +1,155 @@
+use aiken/collection/list
+use aiken/math/rational
+use cardano/credential.{Script, VerificationKey}
+use cardano/governance.{
+ Constitution, ConstitutionalCommittee, GovernanceAction, GovernanceActionId,
+ HardForkInitiation, NewConstitution, NicePoll, NoConfidence, ProposalProcedure,
+ ProtocolVersion, TreasuryWithdrawal,
+}
+use cardano/transaction.{Propose, Redeemer, ScriptContext, ScriptPurpose}
+
+const null28 = #"00000000000000000000000000000000000000000000000000000000"
+
+const null32 =
+ #"0000000000000000000000000000000000000000000000000000000000000000"
+
+validator {
+ fn guardrails(_tmp1: Void, ctx: ScriptContext) -> Bool {
+ let procedures = ctx.transaction.proposal_procedures
+
+ assert_redeemers(ctx.transaction.redeemers)
+
+ assert_proposal_procedure(
+ list.at(procedures, 0),
+ fn(action) {
+ expect
+ HardForkInitiation {
+ ancestor: None,
+ new_version: ProtocolVersion(10, 0),
+ } == action
+ Void
+ },
+ )
+
+ assert_proposal_procedure(
+ list.at(procedures, 1),
+ fn(action) {
+ expect
+ HardForkInitiation {
+ ancestor: Some(GovernanceActionId(null32, 0)),
+ new_version: ProtocolVersion(11, 0),
+ } == action
+ Void
+ },
+ )
+
+ assert_proposal_procedure(
+ list.at(procedures, 2),
+ fn(action) {
+ expect
+ TreasuryWithdrawal {
+ beneficiaries: [
+ Pair(VerificationKey(
+ #"11111111111111111111111111111111111111111111111111111111",
+ ),
+ 1_000_000),
+ ],
+ guardrails: None,
+ } == action
+ Void
+ },
+ )
+
+ assert_proposal_procedure(
+ list.at(procedures, 3),
+ fn(action) {
+ expect TreasuryWithdrawal { guardrails: Some(..), .. } = action
+ Void
+ },
+ )
+
+ assert_proposal_procedure(
+ list.at(procedures, 4),
+ fn(action) {
+ expect NoConfidence { ancestor: None } == action
+ Void
+ },
+ )
+
+ assert_proposal_procedure(
+ list.at(procedures, 5),
+ fn(action) {
+ expect Some(quorum) = rational.new(1, 2)
+ expect
+ ConstitutionalCommittee {
+ ancestor: None,
+ evicted_members: [VerificationKey(null28)],
+ added_members: [Pair(VerificationKey(null28), 500)],
+ quorum,
+ } == action
+ Void
+ },
+ )
+
+ assert_proposal_procedure(
+ list.at(procedures, 6),
+ fn(action) {
+ expect
+ NewConstitution {
+ ancestor: None,
+ constitution: Constitution { guardrails: None },
+ } == action
+ Void
+ },
+ )
+
+ assert_proposal_procedure(
+ list.at(procedures, 7),
+ fn(action) {
+ expect
+ NewConstitution {
+ ancestor: None,
+ constitution: Constitution { guardrails: Some(null28) },
+ } == action
+ Void
+ },
+ )
+
+ assert_last_proposal_procedure(list.at(procedures, 8))
+
+ True
+ }
+}
+
+fn assert_redeemers(redeemers: Pairs) -> Void {
+ expect [
+ Pair(Propose(
+ 3,
+ ProposalProcedure { deposit, return_address, governance_action },
+ ),
+ data),
+ ] = redeemers
+ expect deposit == 2_000_000
+ expect return_address == Script(null28)
+ expect TreasuryWithdrawal { .. } = governance_action
+ expect Void = data
+ Void
+}
+
+fn assert_proposal_procedure(
+ procedure: Option,
+ with: fn(GovernanceAction) -> Void,
+) -> Void {
+ expect Some(procedure) = procedure
+ expect procedure.deposit == 2_000_000
+ expect procedure.return_address == Script(null28)
+ with(procedure.governance_action)
+}
+
+fn assert_last_proposal_procedure(procedure: Option) -> Void {
+ expect Some(procedure) = procedure
+ expect procedure.deposit == 2_000_000
+ expect procedure.return_address == VerificationKey(null28)
+ expect procedure.governance_action == NicePoll
+ Void
+}
diff --git a/examples/acceptance_tests/script_context/v3/validators/simple_spend.ak b/examples/acceptance_tests/script_context/v3/validators/simple_spend.ak
index 139d87b8..8973fc83 100644
--- a/examples/acceptance_tests/script_context/v3/validators/simple_spend.ak
+++ b/examples/acceptance_tests/script_context/v3/validators/simple_spend.ak
@@ -1,10 +1,10 @@
-use aiken/dict
-use aiken/transaction.{
+use aiken/collection/dict
+use cardano/assets
+use cardano/credential.{Address, Script}
+use cardano/transaction.{
InlineDatum, Input, Output, OutputReference, ScriptContext, ScriptInfo,
ScriptPurpose, Spend, Spending,
}
-use aiken/transaction/credential.{Address, ScriptCredential}
-use aiken/transaction/value
validator {
fn spend(_tmp1: Void, _tmp2: Void, ctx: ScriptContext) {
@@ -64,12 +64,10 @@ fn assert_inputs(inputs: List) {
expect
transaction_id == #"0000000000000000000000000000000000000000000000000000000000000000"
- expect resolved_input_value == value.from_lovelace(1000000000)
+ expect resolved_input_value == assets.from_lovelace(1000000000)
- expect Address {
- payment_credential: ScriptCredential(_),
- stake_credential: None,
- } = address
+ expect Address { payment_credential: Script(_), stake_credential: None } =
+ address
Void
}