diff --git a/backend/.gitignore b/backend/.gitignore new file mode 100644 index 0000000..158cff3 --- /dev/null +++ b/backend/.gitignore @@ -0,0 +1 @@ +tmpdata \ No newline at end of file diff --git a/inspiration.md b/inspiration.md new file mode 100644 index 0000000..f250fb4 --- /dev/null +++ b/inspiration.md @@ -0,0 +1,28 @@ +# Inspiration + +## Analogs +Capture-the-flag in Cardano +https://medium.com/@vacuumlabs_auditing/announcing-the-first-cardano-ctf-a2476e154a55 +https://github.com/vacuumlabs/cardano-ctf + +## Backstory + +Example of how to present backstory in a concise way +https://fractalsoftworks.com/ + +Reddit thread with space MMORPG recommendations +https://www.reddit.com/r/MMORPG/comments/gplriw/looking_for_a_recommendation_space_mmo_with/ + +## Graphics + +Pixel-Font generator +https://fontmeme.com/pixel-fonts/#google_vignette + +Space pixel-art tutorial +https://www.youtube.com/watch?app=desktop&v=BdFm07xpEhM + +Game kit +https://www.dreamstime.com/bit-pixel-art-game-asset-space-planets-rockets-bit-pixel-art-game-asset-space-planets-rockets-starcraft-vector-font-image236327740 + +Game Kit +https://www.dreamstime.com/pixel-game-space-planets-stars-asteroids-set-comets-vector-bit-solar-system-fantasy-objects-retro-graphic-sci-fi-astronomical-image241723790 \ No newline at end of file diff --git a/onchain/src/aiken.lock b/onchain/src/aiken.lock index 0a72eb3..21e7fb4 100644 --- a/onchain/src/aiken.lock +++ b/onchain/src/aiken.lock @@ -3,12 +3,12 @@ [[requirements]] name = "aiken-lang/stdlib" -version = "1.7.0" +version = "v2.1.0" source = "github" [[packages]] name = "aiken-lang/stdlib" -version = "1.7.0" +version = "v2.1.0" requirements = [] source = "github" diff --git a/onchain/src/lib/asteria/test_utils.ak b/onchain/src/lib/asteria/test_utils.ak index 4cf96b1..1ea4270 100644 --- a/onchain/src/lib/asteria/test_utils.ak +++ b/onchain/src/lib/asteria/test_utils.ak @@ -1,5 +1,5 @@ -use aiken/bytearray -use aiken/transaction.{Mint, ScriptPurpose, Spend} +use aiken/primitive/bytearray +use cardano/transaction.{Mint, ScriptPurpose, Spend} /// Converts a given ScriptPurpose into a ByteArray representation. /// @@ -14,7 +14,7 @@ use aiken/transaction.{Mint, ScriptPurpose, Spend} /// A `ByteArray` representation of the provided `ScriptPurpose`. fn script_purpose_to_byte_array(sp: ScriptPurpose) -> ByteArray { when sp is { - Spend(ref) -> ref.transaction_id.hash + Spend(ref) -> ref.transaction_id Mint(policy_id) -> policy_id // Default case to handle any other unexpected variants. diff --git a/onchain/src/plutus.json b/onchain/src/plutus.json index e5cea47..44ca2f1 100644 --- a/onchain/src/plutus.json +++ b/onchain/src/plutus.json @@ -3,16 +3,16 @@ "title": "txpipe/asteria", "description": "Aiken contracts for project 'txpipe/asteria'", "version": "0.0.0", - "plutusVersion": "v2", + "plutusVersion": "v3", "compiler": { "name": "Aiken", - "version": "v1.0.26-alpha+075668b" + "version": "v1.1.3+3d77b5c" }, "license": "Apache-2.0" }, "validators": [ { - "title": "asteria.spend", + "title": "asteria.asteria.spend", "datum": { "title": "datum", "schema": { @@ -45,11 +45,36 @@ } } ], - "compiledCode": "590cf901000032323232323232323232323232322232232232323232232323232253330163232323232323232533301e300c3020375400e264646464a666044602a60486ea80044c8c8c8c8c8c8c94ccc0a4c0700184c94ccc0b800454cc0ac094584c94ccc0bcc0c80084c94ccc0b0c064c0b8dd500089919191919192999819299981919baf300b303537540106e98cc894ccc0d0c09c0b040044c8c8cc00400400c894ccc0ec0044cc0f0cdd82601014000374c00697adef6c60132323232533303b3375e66012911000024c103d879800013304033760981014000374c00e00a2a66607666e3d22100002132533303c302f303e375400226608266ec13010140003042303f3754002008200864a666078a66608000229445280a6103d87a80001301d33041374c00297ae03233001001002225333041001133042337609801014000375006a97adef6c6013232323253330413375e6601e911000024c103d879800013304633760981014000375007200a2a66608266e3d22100002132533304230353044375400226608e66ec1301014000304830453754002008200864a666084606a002298103d87a80001302333047375000297ae03370000207226608c66ec0dd48011ba800133006006003375a60860066eb8c104008c114008c10c0044cc100cdd81ba9002374c0026600c00c0066eacc0f400cdd7181d801181f801181e8009919001191980080080111299981d8008a4c264a66607800229309919299981d1816981e1baa33008375c607860800086eb8c0f00084cc014014cc0fc00800454cc0ed2401326b65797320696e206173736f63696174697665206c697374206172656e277420696e20617363656e64696e67206f7264657200163040002303e001303e0013303933760981014000375005897adef6c60225333034337200040022980103d8798000153330343371e0040022980103d87a800014c103d87b800037566016606a6ea8c02cc0d4dd50080a511533033491146d7573745f6164645f666565203f2046616c73650014a02a666064a666064006294454cc0cd2411d6d7573745f686f6c645f61646d696e5f746f6b656e203f2046616c73650014a02a666064a666064004294454cc0cd2411e6d7573745f696e6372656d656e745f636f756e746572203f2046616c73650014a02a666064002294454cc0cd2401256d7573745f70726573657276655f73686970796172645f706f6c696379203f2046616c73650014a029405280a503371e6eb8c028c0d0dd500200a19b87375a602460666ea800ccdc000a2400466e21200033300a3756601060646ea8014dd7180898191baa029375c601060646ea80a4cc0800040ad4cccccc0d4004400454cc0b80a85854cc0b80a85854cc0b80a85854cc0b80a858c0c8c0bcdd50008a998168140b180298171baa001153302c0261630300013300100f23375e6018605a6ea8004c030c0b4dd5180198169baa008132533302a3018007132533302f001153302c0261613253330303033002132533302d301a302f375400226464646464a666064604a60686ea80044c8c8c94ccc0d54ccc0d40145288a9981b24811d6d7573745f696e7075745f736869705f746f6b656e203f2046616c73650014a02a66606aa66606a004294454cc0d92411f6d7573745f726573706563745f6d61785f6d696e696e67203f2046616c73650014a02a66606a002294454cc0d924011b6d7573745f70726573657276655f646174756d203f2046616c73650014a0294052819baf0280063232323371266e08dd6981e0009bad303c303d002337046eb4c0f0008dd6981e181e800981c1baa323230183303c375066e08dd6981e8011bad303d0013303c375066e08dd6981e981f0011bad303d303e0014bd70181c9baa32323232301b3303f375066e04cdc11bad3040004001337046eb4c10000800ccc0fcdd419b820030014bd701bad303f3040001303b3754607c60766ea801cdd6981e981f000981c9baa300348008c0e0dd5180118019bab300e30383754601c60706ea804cc0dcdd5180098011bab300d303737540124602a660726ea0004cc0e530010101004bd701199807000a450048810015330334913f65787065637420536f6d652870657263656e7461676529203d20726174696f6e616c2e6e6577286d61785f617374657269615f6d696e696e672c20313030290016533303130244832004530103d87a80001533303133710906400a4000260246606c60246606c6ea0cdc0a400004e6606c6ea0cdc024000906380a5eb812f5c0260246606c60246606c6ea009ccc0d9301021864004bd7025eb80c01ccc04005c8c8cc004004c8cc004004c94ccc0d0c088c0d8dd50008a5eb7bdb1804dd5981d181b9baa0013300f37566018606c6ea8c030c0d8dd500180b11299981c0008a5eb804cc0e4c0d8c0e8004cc008008c0ec004894ccc0dc004528099299981a19b8f33371890001b8d489045348495000375c607400491104534849500014a2266006006002607400266042002058a66666606c00220022a6605e0562c2a6605e0562c2a6605e0562c2a6605e0562c606660606ea800454cc0b80a458c018c0bcdd50008a998168138b181880099801008119baf300d302e3754002601a605c6ea8c010c0b8dd50048a99981518009980500892999815999815a999815980f18169baa300d302e3754601a605c6ea8c010c0b8dd50008a5014a294128899b8848000ccc018dd5980218171baa3004302e37540026eb8c034c0b8dd50129bae3004302e375404a29405288a99815a481296f7074696f6e2e69735f736f6d652861646d696e5f746f6b656e5f696e70757429203f2046616c73650014a04a666054603a60586ea80045288a5022323300100100322533303000114bd70099192999817180280109981980119802002000899802002000981a00118190009181718178009181698171817000911192999814980b98159baa0011480004dd6981798161baa0013253330293017302b3754002298103d87a80001323300100137566060605a6ea8008894ccc0bc004530103d87a80001323232533302e3371e00e6eb8c0c000c4c03ccc0ccdd4000a5eb804cc014014008dd6981800118198011818800998020018011119198008008019129998160008a60103d87a80001323232533302b3371e00c6eb8c0b400c4c030cc0c0dd3000a5eb804cc014014008dd598168011818001181700098129baa0123028302537540022a6604692013c65787065637420536f6d6528617374657269615f696e70757429203d2066696e645f696e70757428696e707574732c20617374657269615f726566290016323300200923375e600a604c6ea8004008c09cc090dd50051119198008008019129998140008a60103d87a80001323253330263005002130073302b0024bd70099802002000981600118150009ba5480008c09400454cc07d24123657870656374205370656e6428617374657269615f72656629203d20707572706f73650016375c604660480046eb4c088004c078dd50079bac3020302130210023758603e00260366ea8c078008c074c078004c064dd50008a4c2a6602e9211856616c696461746f722072657475726e65642066616c73650013656325333015300800115333019301837540082930a9980b0098b0a99980a98018008a99980c980c1baa004149854cc05804c5854ccc054c00800454ccc064c060dd50020a4c2a6602c0262c2a6602c0262c602c6ea800cdc3a40086e1d200253333330190011001153301200f16153301200f16153301200f16153301200f163300100300e225333010300330123754004264a66602a0022a660240042c26464a66602e0022a660280082c264a66603060360042930a9980a8028b19299999980e0008a9980a8028b0a9980a8028b0a9980a8028b0a9980a8028b09bae0013019001301900232533333301a0011533013003161533013003161533013003161375a0022a660260062c602e00260266ea800854cc04400458dc3a4000a66666602800220022a6601a0162c2a6601a0162c2a6601a0162c2a6601a0162c6eb4004dd6800a499c657870656374205b617374657269615f6f75747075745d203d0a202020202020202020206c6973742e66696c746572280a2020202020202020202020206f7574707574732c0a202020202020202020202020666e286f757470757429207b206f75747075742e61646472657373203d3d20617374657269615f696e7075742e6f75747075742e61646472657373207d2c0a20202020202020202020290049013f65787065637420496e6c696e65446174756d28617374657269615f6f75747075745f646174756d29203d20617374657269615f6f75747075742e646174756d0049014065787065637420617374657269615f6f75747075745f646174756d3a2041737465726961446174756d203d20617374657269615f6f75747075745f646174756d0049011972656465656d65723a204173746572696152656465656d657200490113646174756d3a2041737465726961446174756d005734ae7155ceaab9e5573eae815d0aba257481", - "hash": "2a05edc4fa3aa7f14cdd3aca4a17840a68447ba13452089e70f64bb7" + "compiledCode": "5907f101010032323232323232223223225333007323232323253323300d3001300e3754004264646464646464a66602860060022a66602e602c6ea8028540085854ccc050c02000454ccc05cc058dd50050a8010b0a99980a18020008a99980b980b1baa00a150021616301437540122646464a66602a6008602c6ea80184c8c8c8c8c8c8c8c94ccc074c030c078dd5000899191919191919192999812980a00389919299981518168010992999814180c18149baa001132330080011323232533302c3375e6012605c6ea8018dd31991912999817980f0160800899191980080080191299981a80089981b19bb04c1014000374c00697adef6c6013232323253330363372091010000213303a337609801014000374c00e00a2a66606c66e3d22100002132533303730263038375400226607666ec1301014000303c30393754002008200864a66606ea66607400229445280a6103d87a80001301d3303b374c00297ae0323300100100222533303b00113303c337609801014000375006a97adef6c60132323232533303c33720910100002133040337609801014000375007200a2a66607866e3d22100002132533303d302c303e375400226608266ec13010140003042303f3754002008200864a66607a6058002298103d87a80001302333041375000297ae03370000207226608066ec0dd48011ba800133006006003375a607a0066eb8c0ec008c0fc008c0f40044cc0e8cdd81ba9002374c0026600c00c0066eacc0dc00cdd7181a801181c801181b800991900118018009981999bb04c01014000375005897adef6c60300100122533303100114984c94ccc0c8004526132325333031337206eb8c0c8c0d8010dd718190010998028029981a8010008b181b001181a000981a0009bab3009302e37546012605c6ea803c54ccc0b000c54ccc0b000840045280a5014a066e3cdd7180418169baa0030133370e6eb4c044c0b0dd500119b8001348008cdc4240006660126eacc018c0acdd50019bae3010302b37540506eb8c018c0acdd5014181698151baa001163005302937540022c605600266002022466ebcc034c0a0dd5000980698141baa300330283754012264a66604c603401026464a666056605c004264a666052603260546ea80044c8cc0240044c8c94ccc0b0c06cc0b4dd5000899191929998178028a99981780108008a5014a066ebc064014c8c8c8cdc499b82375a606a0026eb4c0d4c0d8008cdc11bad3035002375a606a606c00260626ea8c8c8c05ccc0d4dd419b82375a606c0046eb4c0d8004cc0d4dd419b82375a606c606e0046eb4c0d8c0dc0052f5c060646ea8c8c8c8c8c068cc0e0dd419b81337046eb4c0e4010004cdc11bad303900200333038375066e0800c0052f5c06eb4c0e0c0e4004c0d0dd5181b981a1baa007375a606c606e00260646ea8c00d200230313754600460066eacc030c0c4dd5180618189baa01230303754600260046eacc02cc0c0dd50039180a198191ba8001330324c10101004bd701199806800a450048810016533302b4a0298103d87a80001533302b4a0260226605e60226605e6ea0cdc0a400004c6605e6ea120c7014bd7025eb804c044cc0bcc044cc0bcdd401319817a601021864004bd7025eb80c014cc03c05c8c8cc004004c8cc004004c94ccc0b8c088c0bcdd50008a5eb7bdb1804dd5981998181baa0013300e37566014605e6ea8c028c0bcdd500180a9129998188008a5eb804cc0c8c0bcc0cc004cc008008c0d0004894ccc0c000452809929998171919b8f33371890001b8d489045348495000001489045348495000375c606600429444cc00c00c004c0cc004c0b8c0acdd50008b180318151baa00116302c0013300201223375e601c60526ea8004c038c0a4dd5180218149baa00a130013300b013253330273330275333027301630283754601c60526ea8c038c0a4dd5180218149baa00114a029452825113371090001998039bab300430293754600860526ea8004dd7180718149baa026375c600860526ea809852812999813180a98139baa00114a2294088c8cc00400400c894ccc0ac00452f5c026464a666054600a00426605c00466008008002266008008002605e004605a002460526054002460506052605200244a666046602460486ea80084c8c8c8c94ccc0a8c0b40085401458dd7181580098158011bad3029001302537540042c44464a6660486030604a6ea8004520001375a6052604c6ea8004c94ccc090c060c094dd50008a6103d87a80001323300100137566054604e6ea8008894ccc0a4004530103d87a8000132323232533302a337220100042a66605466e3c0200084c040cc0b8dd4000a5eb80530103d87a8000133006006003375a60560066eb8c0a4008c0b4008c0ac004cc01000c00888c8cc00400400c894ccc098004530103d87a800013232323253330273372200e0042a66604e66e3c01c0084c034cc0acdd3000a5eb80530103d87a8000133006006003375660500066eb8c098008c0a8008c0a0004c07cdd500a1811180f9baa001163300100923375e6008603e6ea800403c88c8cc00400400c894ccc088004530103d87a8000132325333021300500213007330250024bd70099802002000981300118120009ba5480008c07c004dd7180e980f0011bad301c001301837540026034602e6ea801858dd6180c980d180d0011bac3018001301437540146e1d2000370e9002180a180a801180980098079baa002370e90010b1808180880118078009807801180680098049baa00114984d958dd68009bad0015734aae7555cf2ab9f5740ae855d101", + "hash": "756f0563a106bc8d723ab95cbbd9b7ed01caaad053a6f3d8434d2d3a" }, { - "title": "deploy.spend", + "title": "asteria.asteria.else", + "parameters": [ + { + "title": "admin_token", + "schema": { + "$ref": "#/definitions/asteria~1types~1AssetClass" + } + }, + { + "title": "ship_mint_lovelace_fee", + "schema": { + "$ref": "#/definitions/Int" + } + }, + { + "title": "max_asteria_mining", + "schema": { + "$ref": "#/definitions/Int" + } + } + ], + "compiledCode": "5907f101010032323232323232223223225333007323232323253323300d3001300e3754004264646464646464a66602860060022a66602e602c6ea8028540085854ccc050c02000454ccc05cc058dd50050a8010b0a99980a18020008a99980b980b1baa00a150021616301437540122646464a66602a6008602c6ea80184c8c8c8c8c8c8c8c94ccc074c030c078dd5000899191919191919192999812980a00389919299981518168010992999814180c18149baa001132330080011323232533302c3375e6012605c6ea8018dd31991912999817980f0160800899191980080080191299981a80089981b19bb04c1014000374c00697adef6c6013232323253330363372091010000213303a337609801014000374c00e00a2a66606c66e3d22100002132533303730263038375400226607666ec1301014000303c30393754002008200864a66606ea66607400229445280a6103d87a80001301d3303b374c00297ae0323300100100222533303b00113303c337609801014000375006a97adef6c60132323232533303c33720910100002133040337609801014000375007200a2a66607866e3d22100002132533303d302c303e375400226608266ec13010140003042303f3754002008200864a66607a6058002298103d87a80001302333041375000297ae03370000207226608066ec0dd48011ba800133006006003375a607a0066eb8c0ec008c0fc008c0f40044cc0e8cdd81ba9002374c0026600c00c0066eacc0dc00cdd7181a801181c801181b800991900118018009981999bb04c01014000375005897adef6c60300100122533303100114984c94ccc0c8004526132325333031337206eb8c0c8c0d8010dd718190010998028029981a8010008b181b001181a000981a0009bab3009302e37546012605c6ea803c54ccc0b000c54ccc0b000840045280a5014a066e3cdd7180418169baa0030133370e6eb4c044c0b0dd500119b8001348008cdc4240006660126eacc018c0acdd50019bae3010302b37540506eb8c018c0acdd5014181698151baa001163005302937540022c605600266002022466ebcc034c0a0dd5000980698141baa300330283754012264a66604c603401026464a666056605c004264a666052603260546ea80044c8cc0240044c8c94ccc0b0c06cc0b4dd5000899191929998178028a99981780108008a5014a066ebc064014c8c8c8cdc499b82375a606a0026eb4c0d4c0d8008cdc11bad3035002375a606a606c00260626ea8c8c8c05ccc0d4dd419b82375a606c0046eb4c0d8004cc0d4dd419b82375a606c606e0046eb4c0d8c0dc0052f5c060646ea8c8c8c8c8c068cc0e0dd419b81337046eb4c0e4010004cdc11bad303900200333038375066e0800c0052f5c06eb4c0e0c0e4004c0d0dd5181b981a1baa007375a606c606e00260646ea8c00d200230313754600460066eacc030c0c4dd5180618189baa01230303754600260046eacc02cc0c0dd50039180a198191ba8001330324c10101004bd701199806800a450048810016533302b4a0298103d87a80001533302b4a0260226605e60226605e6ea0cdc0a400004c6605e6ea120c7014bd7025eb804c044cc0bcc044cc0bcdd401319817a601021864004bd7025eb80c014cc03c05c8c8cc004004c8cc004004c94ccc0b8c088c0bcdd50008a5eb7bdb1804dd5981998181baa0013300e37566014605e6ea8c028c0bcdd500180a9129998188008a5eb804cc0c8c0bcc0cc004cc008008c0d0004894ccc0c000452809929998171919b8f33371890001b8d489045348495000001489045348495000375c606600429444cc00c00c004c0cc004c0b8c0acdd50008b180318151baa00116302c0013300201223375e601c60526ea8004c038c0a4dd5180218149baa00a130013300b013253330273330275333027301630283754601c60526ea8c038c0a4dd5180218149baa00114a029452825113371090001998039bab300430293754600860526ea8004dd7180718149baa026375c600860526ea809852812999813180a98139baa00114a2294088c8cc00400400c894ccc0ac00452f5c026464a666054600a00426605c00466008008002266008008002605e004605a002460526054002460506052605200244a666046602460486ea80084c8c8c8c94ccc0a8c0b40085401458dd7181580098158011bad3029001302537540042c44464a6660486030604a6ea8004520001375a6052604c6ea8004c94ccc090c060c094dd50008a6103d87a80001323300100137566054604e6ea8008894ccc0a4004530103d87a8000132323232533302a337220100042a66605466e3c0200084c040cc0b8dd4000a5eb80530103d87a8000133006006003375a60560066eb8c0a4008c0b4008c0ac004cc01000c00888c8cc00400400c894ccc098004530103d87a800013232323253330273372200e0042a66604e66e3c01c0084c034cc0acdd3000a5eb80530103d87a8000133006006003375660500066eb8c098008c0a8008c0a0004c07cdd500a1811180f9baa001163300100923375e6008603e6ea800403c88c8cc00400400c894ccc088004530103d87a8000132325333021300500213007330250024bd70099802002000981300118120009ba5480008c07c004dd7180e980f0011bad301c001301837540026034602e6ea801858dd6180c980d180d0011bac3018001301437540146e1d2000370e9002180a180a801180980098079baa002370e90010b1808180880118078009807801180680098049baa00114984d958dd68009bad0015734aae7555cf2ab9f5740ae855d101", + "hash": "756f0563a106bc8d723ab95cbbd9b7ed01caaad053a6f3d8434d2d3a" + }, + { + "title": "deploy.deploy.spend", "datum": { "title": "_datum", "schema": { @@ -70,11 +95,24 @@ } } ], - "compiledCode": "5901b701000032323232323232322222533300553330053370e900018039baa3232330010013758600460146ea8c008c028dd50019129998060008a60103d87a80001323253323300b32533300c33300c533300c3370e900018071baa3007300f3754600e601e6ea8c004c03cdd50020a5014a294128899b8848000ccc888c94ccc040cdc3a400460246ea8004520001375a602c60266ea8004c94ccc040cdc3a400460246ea8004530103d87a8000132330010013756602e60286ea8008894ccc058004530103d87a8000132323253330153371e00e6eb8c05c00c4c02ccc068dd4000a5eb804cc014014008dd6980b801180d001180c000991980080080211299980a8008a6103d87a8000132323253330143371e00e6eb8c05800c4c028cc064dd3000a5eb804cc014014008dd5980b001180c801180b8009bab3001300f37546002601e6ea8010dd7180398079baa00b375c6002601e6ea802c5281180918098008980099808001a5eb80dd2a40002660080080026020004601c0024601800229445280a4c2a6600c9211856616c696461746f722072657475726e65642066616c736500136565734ae7155ceaab9e5573eae815d0aba201", - "hash": "d987ad9f8f492b43816ced8dc252c675188c4e9b014b4877ee83bb99" + "compiledCode": "5901ed0101003232323232323222533300332323232325332330093001300a37540042646464a66601866e1d2000300d375464660020026eb0c048c03cdd50049129998088008a6103d87a8000132325332330113232533301333301353330133370e9000180a1baa3001301537546002602a6ea8c008c054dd50028a5014a294128899b8848000ccc888c94ccc05cc03cc060dd50008a400026eb4c070c064dd500099299980b9807980c1baa00114c0103d87a8000132330010013756603a60346ea8008894ccc070004530103d87a8000132323232533301d337220100042a66603a66e3c0200084c034cc084dd4000a5eb80530103d87a8000133006006003375a603c0066eb8c070008c080008c078004c8cc004004010894ccc06c0045300103d87a8000132323232533301c337220100042a66603866e3c0200084c030cc080dd3000a5eb80530103d87a80001330060060033756603a0066eb8c06c008c07c008c074004dd59801180a9baa30023015375400a6eb8c004c054dd50091bae30023015375402429408c0600048c05cc0600044c004cc05400d2f5c06e9520001330040040013015002301300114a22940c040c044008c03c004c02cdd50011b874800858c030c034008c02c004c02c008c024004c014dd50008a4c26cacae6955ceaab9e5573eae815d0aba201", + "hash": "6244547f2d6bcd5927718331023ebaaeed1e00ae65d733b8f56196f1" }, { - "title": "pellet.spend", + "title": "deploy.deploy.else", + "parameters": [ + { + "title": "admin_token", + "schema": { + "$ref": "#/definitions/asteria~1types~1AssetClass" + } + } + ], + "compiledCode": "5901ed0101003232323232323222533300332323232325332330093001300a37540042646464a66601866e1d2000300d375464660020026eb0c048c03cdd50049129998088008a6103d87a8000132325332330113232533301333301353330133370e9000180a1baa3001301537546002602a6ea8c008c054dd50028a5014a294128899b8848000ccc888c94ccc05cc03cc060dd50008a400026eb4c070c064dd500099299980b9807980c1baa00114c0103d87a8000132330010013756603a60346ea8008894ccc070004530103d87a8000132323232533301d337220100042a66603a66e3c0200084c034cc084dd4000a5eb80530103d87a8000133006006003375a603c0066eb8c070008c080008c078004c8cc004004010894ccc06c0045300103d87a8000132323232533301c337220100042a66603866e3c0200084c030cc080dd3000a5eb80530103d87a80001330060060033756603a0066eb8c06c008c07c008c074004dd59801180a9baa30023015375400a6eb8c004c054dd50091bae30023015375402429408c0600048c05cc0600044c004cc05400d2f5c06e9520001330040040013015002301300114a22940c040c044008c03c004c02cdd50011b874800858c030c034008c02c004c02c008c024004c014dd50008a4c26cacae6955ceaab9e5573eae815d0aba201", + "hash": "6244547f2d6bcd5927718331023ebaaeed1e00ae65d733b8f56196f1" + }, + { + "title": "pellet.pellet.spend", "datum": { "title": "datum", "schema": { @@ -84,7 +122,7 @@ "redeemer": { "title": "redeemer", "schema": { - "$ref": "#/definitions/RedeemerWrapper$asteria~1types~1PelletRedeemer" + "$ref": "#/definitions/asteria~1types~1PelletRedeemer" } }, "parameters": [ @@ -95,11 +133,11 @@ } } ], - "compiledCode": "590d270100003232323232323232323232323232222325333333012002153232323233300e30013010375400c2a6601e92011c52756e6e696e672032206172672076616c696461746f72206d696e7400132325333010323232323253330153008301737540082646464a666030601660346ea80284c94ccc0654ccc0654ccc064c030c06cdd5191980080080391299980f8008a60103d87a800013232533301d3013323330073756600260426ea8c004c084dd50019bae3024302137540306eb8c004c084dd500c118121812800898091981100125eb804cc010010004c08c008c0840045288a5014a22a660349201296f7074696f6e2e69735f736f6d652861646d696e5f746f6b656e5f696e70757429203f2046616c73650014a02a666032002294454cc06924011d6d7573745f6d696e745f6675656c5f746f6b656e73203f2046616c73650014a02940c038ccc00400800d2201044655454c001533301833710666002004006911044655454c00480005288a9980ca491d6d7573745f6275726e5f6675656c5f746f6b656e73203f2046616c73650014a044464a666036601e603a6ea8004520001375a6042603c6ea8004c94ccc06cc03cc074dd50008a60103d87a80001323300100137566044603e6ea8008894ccc084004530103d87a8000132323253330203371e00e6eb8c08800c4c054cc094dd4000a5eb804cc014014008dd698110011812801181180099198008008021129998100008a6103d87a80001323232533301f3371e00e6eb8c08400c4c050cc090dd3000a5eb804cc014014008dd5981080118120011811000991980080080191299980e0008a5eb7bdb1804c8c8c8c94ccc070cdc7a441000021003133021337606ea4008dd3000998030030019bab301e003375c60380046040004603c0026eb8c06cc060dd50020a9980b24922657870656374204d696e74286675656c5f706f6c69637929203d20707572706f736500163756603460366036603660360046eb0c064004c054dd5180c001180b980c00098099baa008149854cc0452411856616c696461746f722072657475726e65642066616c73650013656325333010300300115333014301337540042930a998088078b0a99980818020008a99980a18099baa002149854cc04403c5854cc04403c58c044dd5000a99999980b00388038a998078068b0a998078068b0a998078068b0a998078068b0a99807a491d52756e6e696e672033206172672076616c696461746f72207370656e64001332323223232253330153232323232533301a300e301c37540082646464a66603a6020603e6ea80044c8c8c94ccc080c050c088dd5000899191919192999812980c18139baa0131323232533302c001153302902316132533302d3030002132533302a3370e900218161baa00113232323232323253330315333031300d33016019232330010013233001001325333035302930373754002297adef6c6013756607660706ea8004cc04cdd5980b181b9baa30163037375400601c44a666072002297ae013303a3037303b00133002002303c00122533303800114a0264a66606a66e3cccdc6240006e35221045348495000375c607600491104534849500014a22660060060026076002294454cc0c924011d6d7573745f696e7075745f736869705f746f6b656e203f2046616c73650014a02a666062a666062006294454cc0c92411d6d7573745f686f6c645f61646d696e5f746f6b656e203f2046616c73650014a02a666062a666062008294454cc0c92411d6d7573745f686176655f656e6f7567685f6675656c203f2046616c73650014a02a666062a666062004294454cc0c9241206d7573745f70726f766964655f6675656c5f616d6f756e74203f2046616c73650014a02a666062002294454cc0c924011b6d7573745f70726573657276655f646174756d203f2046616c73650014a029405280a5014a066ebc014088cdc39998069bab30113032375400e01e9101044655454c003370201801460446660186eacc040c0c4dd50031bae3014303137540506eb8c040c0c4dd501419b8900800a3301d00102853333330330011001153302c02716153302c02716153302c02716153302c027163030302d37540022a660569213365787065637420496e6c696e65446174756d286f75745f646174756d29203d2070656c6c65745f6f75747075742e646174756d0016302f30303030302c37540022a660540482c605c002646600200201e44a66605a002297ae013232533302b3375e6022605c6ea8008c044c0b8dd5180698171baa00e133030002330040040011330040040013031002302f001375c6058605a605a60526ea8060dd6981598141baa0131533302530013300a00d253330263330265333026301930283754601860526ea8c030c0a4dd5180418149baa00114a02945282511301c3330043756601060526ea8c020c0a4dd50009bae300c302937540406eb8c020c0a4dd50100a5014a22a6604c921296f7074696f6e2e69735f736f6d652861646d696e5f746f6b656e5f696e70757429203f2046616c73650014a04a66604a6030604e6ea80045288a503330013756600a604c6ea8c014c098dd5003001a45044655454c00222325333026301a302837540022900009bad302c3029375400264a66604c603460506ea8004530103d87a8000132330010013756605a60546ea8008894ccc0b0004530103d87a80001323232533302b3371e00e6eb8c0b400c4c080cc0c0dd4000a5eb804cc014014008dd6981680118180011817000998020018011119198008008019129998148008a60103d87a8000132323253330283371e00c6eb8c0a800c4c074cc0b4dd3000a5eb804cc014014008dd59815001181680118158009bae3026302337540022a660429215b6578706563742053637269707443726564656e7469616c286675656c5f706f6c69637929203d0a20202020202070656c6c65745f696e7075742e6f75747075742e616464726573732e7061796d656e745f63726564656e7469616c0016300530223754600a60446ea8c004c088dd5001118129813000981198101baa001153301e49013a65787065637420536f6d652870656c6c65745f696e70757429203d2066696e645f696e70757428696e707574732c2070656c6c65745f726566290016323300200523375e600860426ea8004008c088c07cdd50031119198008008019129998118008a60103d87a8000132325333021300500213016330260024bd7009980200200098138011812800918108008a9980da48122657870656374205370656e642870656c6c65745f72656629203d20707572706f736500163758603e604060400046eb0c078004c068dd5180e801180e180e800980c1baa001149854cc0592411856616c696461746f722072657475726e65642066616c7365001365632533301430070011325333019001153301601216132533301a301d002149854cc05c04c58c94cccccc07800454cc05c04c5854cc05c04c5854cc05c04c584dd68008a9980b8098b180d800980b9baa00215333014300800115333018301737540042930a9980a8088b0a9980a8088b180a9baa001533333301a0011001153301300f16153301300f16153301300f16153301300f163300100200e225333011300430133754004264a66602c0022a660260042c26464a6660300022a6602a0082c26464a6660340022a6602e00c2c264a666036603c0042930a9980c0038b19299999980f8008a9980c0038b0a9980c0038b0a9980c0038b0a9980c0038b09bae001301c001301c00232533333301d0011533016005161533016005161533016005161375a0022a6602c00a2c6034002603400464a6666660360022a660280062c2a660280062c2a660280062c26eb400454cc05000c58c060004c050dd50010a998090008b299999980b00388038a998078060b0a998078060b0a998078060b0a998078060b180a18089baa006370e90001b8748008dd2a40006e212000153300b00116153300b00116153300b00116153300b0011649191496e636f72726563742072656465656d6572207479706520666f722076616c696461746f72207370656e642e0a2020202020202020202020202020202020202020446f75626c6520636865636b20796f7520686176652077726170706564207468652072656465656d657220747970652061732073706563696669656420696e20796f757220706c757475732e6a736f6e00490195657870656374205b70656c6c65745f6f75747075745d203d0a2020202020202020202066696c746572280a2020202020202020202020206f7574707574732c0a202020202020202020202020666e286f757470757429207b206f75747075742e61646472657373203d3d2070656c6c65745f696e7075742e6f75747075742e61646472657373207d2c0a202020202020202020202900490129657870656374206f75745f646174756d3a2050656c6c6574446174756d203d206f75745f646174756d0049011872656465656d65723a2050656c6c657452656465656d657200490112646174756d3a2050656c6c6574446174756d0049011672656465656d65723a204675656c52656465656d6572005734ae7155ceaab9e5573eae815d0aba257481", - "hash": "510a762e927b4e7b1435c2b237742a06d08a3b3209ae378958d91856" + "compiledCode": "59056601010032323232323232225333003323232323232323232323232323232532333013300600b132323232325333018300f00113232533301d30200021500416375a603c00260346ea804854ccc060c02c00454ccc06cc068dd50090a8010b0b180c1baa011132323232533301a3011301b375400226464a666038601e603a6ea80044c8c94ccc078c054c07cdd500c099299980f980b18101baa00a1323232325333026302900213253330243370e900218129baa0011325333025301c302637540022646464646464a66605c6062004264646464a66605e604a6603c03046466002002646600200264a666066604c60686ea800452f5bded8c026eacc0e0c0d4dd5000998131bab302330343754604660686ea800c048894ccc0d800452f5c026606e6068607000266004004607200244a66606a00229404c94ccc0ccc8cdc7999b8c48000dc6a45045348495000001489045348495000375c607000429444cc00c00c004c0e000454ccc0bc00c54ccc0bc01054ccc0bc00840045280a5014a02940cdd780500799b8733301f3756603c605e6ea802c045221044655454c003370202001e603e66603c6eacc074c0b8dd50051bae301c302e37540566eb8c074c0b8dd501599b8900d00e16375c605e002605e0046eb4c0b4004c0b4008dd6981580098139baa001163029302637540022c605060526052604a6ea800458c09c004c8cc004004028894ccc09800452f5c026464a66604a66ebcc054c09cdd5001180a98139baa30163027375401626605200466008008002266008008002605400460500026eb8c094c098c098c088dd5000981218109baa00a16375a604660406ea80604c050cc03401c94ccc07cccc07d4ccc07cc058c080dd5180798109baa300f30213754602060426ea80045280a514a09444c034ccc044dd5980818109baa3010302137540026eb8c03cc084dd500f1bae30103021375403c2940ccc03cdd59807180f9baa300e301f37540060029101044655454c00375c6042603c6ea800458c02cc074dd51805980e9baa300c301d3754002603e60386ea800458cc0200088cdd79805180e1baa0010063758603a603c603c0046eb0c070004c060dd5009180d180d801180c800980a9baa00c15333013300a00b13232325333016300d00115333019301837540202a0042c2a66602c60120022a66603260306ea8040540085858c058dd50078991919299980b9807180c1baa0111325333018300e330070032300733300b3756601460366ea8c028c06cdd50009bae3009301b37540306eb8c028c06cdd500c08008a5030053330090010044881044655454c001337106660120020089101044655454c0048000dd5980d980e180e180e180e0011bac301a001301637540206eb8c060c054dd50060b1b884800088c8cc00400400c894ccc0600045300103d87a800013232533301730050021300c3301b0024bd70099802002000980e001180d0009180b0009180a980b000911192999809180298099baa0011480004dd6980b980a1baa0013253330123005301337540022980103d87a80001323300100137566030602a6ea8008894ccc05c004530103d87a80001323232325333018337220100042a66603066e3c0200084c034cc070dd4000a5eb80530103d87a8000133006006003375a60320066eb8c05c008c06c008c064004cc01400c008dc3a400444646600200200644a666026002298103d87a800013232323253330143372200e0042a66602866e3c01c0084c024cc060dd3000a5eb80530103d87a80001330060060033756602a0066eb8c04c008c05c008c054004dd2a40004a666016600460186ea80045288a50370e900018049baa001300c300d002300b001300b00230090013005375400229309b2b2b9a5573aaae7955cfaba05742ae89", + "hash": "c5f4ee48a144006875d62d937c6b047798270819245eeb88d8d0cfe8" }, { - "title": "pellet.mint", + "title": "pellet.pellet.mint", "redeemer": { "title": "redeemer", "schema": { @@ -114,11 +152,24 @@ } } ], - "compiledCode": "590d270100003232323232323232323232323232222325333333012002153232323233300e30013010375400c2a6601e92011c52756e6e696e672032206172672076616c696461746f72206d696e7400132325333010323232323253330153008301737540082646464a666030601660346ea80284c94ccc0654ccc0654ccc064c030c06cdd5191980080080391299980f8008a60103d87a800013232533301d3013323330073756600260426ea8c004c084dd50019bae3024302137540306eb8c004c084dd500c118121812800898091981100125eb804cc010010004c08c008c0840045288a5014a22a660349201296f7074696f6e2e69735f736f6d652861646d696e5f746f6b656e5f696e70757429203f2046616c73650014a02a666032002294454cc06924011d6d7573745f6d696e745f6675656c5f746f6b656e73203f2046616c73650014a02940c038ccc00400800d2201044655454c001533301833710666002004006911044655454c00480005288a9980ca491d6d7573745f6275726e5f6675656c5f746f6b656e73203f2046616c73650014a044464a666036601e603a6ea8004520001375a6042603c6ea8004c94ccc06cc03cc074dd50008a60103d87a80001323300100137566044603e6ea8008894ccc084004530103d87a8000132323253330203371e00e6eb8c08800c4c054cc094dd4000a5eb804cc014014008dd698110011812801181180099198008008021129998100008a6103d87a80001323232533301f3371e00e6eb8c08400c4c050cc090dd3000a5eb804cc014014008dd5981080118120011811000991980080080191299980e0008a5eb7bdb1804c8c8c8c94ccc070cdc7a441000021003133021337606ea4008dd3000998030030019bab301e003375c60380046040004603c0026eb8c06cc060dd50020a9980b24922657870656374204d696e74286675656c5f706f6c69637929203d20707572706f736500163756603460366036603660360046eb0c064004c054dd5180c001180b980c00098099baa008149854cc0452411856616c696461746f722072657475726e65642066616c73650013656325333010300300115333014301337540042930a998088078b0a99980818020008a99980a18099baa002149854cc04403c5854cc04403c58c044dd5000a99999980b00388038a998078068b0a998078068b0a998078068b0a998078068b0a99807a491d52756e6e696e672033206172672076616c696461746f72207370656e64001332323223232253330153232323232533301a300e301c37540082646464a66603a6020603e6ea80044c8c8c94ccc080c050c088dd5000899191919192999812980c18139baa0131323232533302c001153302902316132533302d3030002132533302a3370e900218161baa00113232323232323253330315333031300d33016019232330010013233001001325333035302930373754002297adef6c6013756607660706ea8004cc04cdd5980b181b9baa30163037375400601c44a666072002297ae013303a3037303b00133002002303c00122533303800114a0264a66606a66e3cccdc6240006e35221045348495000375c607600491104534849500014a22660060060026076002294454cc0c924011d6d7573745f696e7075745f736869705f746f6b656e203f2046616c73650014a02a666062a666062006294454cc0c92411d6d7573745f686f6c645f61646d696e5f746f6b656e203f2046616c73650014a02a666062a666062008294454cc0c92411d6d7573745f686176655f656e6f7567685f6675656c203f2046616c73650014a02a666062a666062004294454cc0c9241206d7573745f70726f766964655f6675656c5f616d6f756e74203f2046616c73650014a02a666062002294454cc0c924011b6d7573745f70726573657276655f646174756d203f2046616c73650014a029405280a5014a066ebc014088cdc39998069bab30113032375400e01e9101044655454c003370201801460446660186eacc040c0c4dd50031bae3014303137540506eb8c040c0c4dd501419b8900800a3301d00102853333330330011001153302c02716153302c02716153302c02716153302c027163030302d37540022a660569213365787065637420496e6c696e65446174756d286f75745f646174756d29203d2070656c6c65745f6f75747075742e646174756d0016302f30303030302c37540022a660540482c605c002646600200201e44a66605a002297ae013232533302b3375e6022605c6ea8008c044c0b8dd5180698171baa00e133030002330040040011330040040013031002302f001375c6058605a605a60526ea8060dd6981598141baa0131533302530013300a00d253330263330265333026301930283754601860526ea8c030c0a4dd5180418149baa00114a02945282511301c3330043756601060526ea8c020c0a4dd50009bae300c302937540406eb8c020c0a4dd50100a5014a22a6604c921296f7074696f6e2e69735f736f6d652861646d696e5f746f6b656e5f696e70757429203f2046616c73650014a04a66604a6030604e6ea80045288a503330013756600a604c6ea8c014c098dd5003001a45044655454c00222325333026301a302837540022900009bad302c3029375400264a66604c603460506ea8004530103d87a8000132330010013756605a60546ea8008894ccc0b0004530103d87a80001323232533302b3371e00e6eb8c0b400c4c080cc0c0dd4000a5eb804cc014014008dd6981680118180011817000998020018011119198008008019129998148008a60103d87a8000132323253330283371e00c6eb8c0a800c4c074cc0b4dd3000a5eb804cc014014008dd59815001181680118158009bae3026302337540022a660429215b6578706563742053637269707443726564656e7469616c286675656c5f706f6c69637929203d0a20202020202070656c6c65745f696e7075742e6f75747075742e616464726573732e7061796d656e745f63726564656e7469616c0016300530223754600a60446ea8c004c088dd5001118129813000981198101baa001153301e49013a65787065637420536f6d652870656c6c65745f696e70757429203d2066696e645f696e70757428696e707574732c2070656c6c65745f726566290016323300200523375e600860426ea8004008c088c07cdd50031119198008008019129998118008a60103d87a8000132325333021300500213016330260024bd7009980200200098138011812800918108008a9980da48122657870656374205370656e642870656c6c65745f72656629203d20707572706f736500163758603e604060400046eb0c078004c068dd5180e801180e180e800980c1baa001149854cc0592411856616c696461746f722072657475726e65642066616c7365001365632533301430070011325333019001153301601216132533301a301d002149854cc05c04c58c94cccccc07800454cc05c04c5854cc05c04c5854cc05c04c584dd68008a9980b8098b180d800980b9baa00215333014300800115333018301737540042930a9980a8088b0a9980a8088b180a9baa001533333301a0011001153301300f16153301300f16153301300f16153301300f163300100200e225333011300430133754004264a66602c0022a660260042c26464a6660300022a6602a0082c26464a6660340022a6602e00c2c264a666036603c0042930a9980c0038b19299999980f8008a9980c0038b0a9980c0038b0a9980c0038b0a9980c0038b09bae001301c001301c00232533333301d0011533016005161533016005161533016005161375a0022a6602c00a2c6034002603400464a6666660360022a660280062c2a660280062c2a660280062c26eb400454cc05000c58c060004c050dd50010a998090008b299999980b00388038a998078060b0a998078060b0a998078060b0a998078060b180a18089baa006370e90001b8748008dd2a40006e212000153300b00116153300b00116153300b00116153300b0011649191496e636f72726563742072656465656d6572207479706520666f722076616c696461746f72207370656e642e0a2020202020202020202020202020202020202020446f75626c6520636865636b20796f7520686176652077726170706564207468652072656465656d657220747970652061732073706563696669656420696e20796f757220706c757475732e6a736f6e00490195657870656374205b70656c6c65745f6f75747075745d203d0a2020202020202020202066696c746572280a2020202020202020202020206f7574707574732c0a202020202020202020202020666e286f757470757429207b206f75747075742e61646472657373203d3d2070656c6c65745f696e7075742e6f75747075742e61646472657373207d2c0a202020202020202020202900490129657870656374206f75745f646174756d3a2050656c6c6574446174756d203d206f75745f646174756d0049011872656465656d65723a2050656c6c657452656465656d657200490112646174756d3a2050656c6c6574446174756d0049011672656465656d65723a204675656c52656465656d6572005734ae7155ceaab9e5573eae815d0aba257481", - "hash": "510a762e927b4e7b1435c2b237742a06d08a3b3209ae378958d91856" + "compiledCode": "59056601010032323232323232225333003323232323232323232323232323232532333013300600b132323232325333018300f00113232533301d30200021500416375a603c00260346ea804854ccc060c02c00454ccc06cc068dd50090a8010b0b180c1baa011132323232533301a3011301b375400226464a666038601e603a6ea80044c8c94ccc078c054c07cdd500c099299980f980b18101baa00a1323232325333026302900213253330243370e900218129baa0011325333025301c302637540022646464646464a66605c6062004264646464a66605e604a6603c03046466002002646600200264a666066604c60686ea800452f5bded8c026eacc0e0c0d4dd5000998131bab302330343754604660686ea800c048894ccc0d800452f5c026606e6068607000266004004607200244a66606a00229404c94ccc0ccc8cdc7999b8c48000dc6a45045348495000001489045348495000375c607000429444cc00c00c004c0e000454ccc0bc00c54ccc0bc01054ccc0bc00840045280a5014a02940cdd780500799b8733301f3756603c605e6ea802c045221044655454c003370202001e603e66603c6eacc074c0b8dd50051bae301c302e37540566eb8c074c0b8dd501599b8900d00e16375c605e002605e0046eb4c0b4004c0b4008dd6981580098139baa001163029302637540022c605060526052604a6ea800458c09c004c8cc004004028894ccc09800452f5c026464a66604a66ebcc054c09cdd5001180a98139baa30163027375401626605200466008008002266008008002605400460500026eb8c094c098c098c088dd5000981218109baa00a16375a604660406ea80604c050cc03401c94ccc07cccc07d4ccc07cc058c080dd5180798109baa300f30213754602060426ea80045280a514a09444c034ccc044dd5980818109baa3010302137540026eb8c03cc084dd500f1bae30103021375403c2940ccc03cdd59807180f9baa300e301f37540060029101044655454c00375c6042603c6ea800458c02cc074dd51805980e9baa300c301d3754002603e60386ea800458cc0200088cdd79805180e1baa0010063758603a603c603c0046eb0c070004c060dd5009180d180d801180c800980a9baa00c15333013300a00b13232325333016300d00115333019301837540202a0042c2a66602c60120022a66603260306ea8040540085858c058dd50078991919299980b9807180c1baa0111325333018300e330070032300733300b3756601460366ea8c028c06cdd50009bae3009301b37540306eb8c028c06cdd500c08008a5030053330090010044881044655454c001337106660120020089101044655454c0048000dd5980d980e180e180e180e0011bac301a001301637540206eb8c060c054dd50060b1b884800088c8cc00400400c894ccc0600045300103d87a800013232533301730050021300c3301b0024bd70099802002000980e001180d0009180b0009180a980b000911192999809180298099baa0011480004dd6980b980a1baa0013253330123005301337540022980103d87a80001323300100137566030602a6ea8008894ccc05c004530103d87a80001323232325333018337220100042a66603066e3c0200084c034cc070dd4000a5eb80530103d87a8000133006006003375a60320066eb8c05c008c06c008c064004cc01400c008dc3a400444646600200200644a666026002298103d87a800013232323253330143372200e0042a66602866e3c01c0084c024cc060dd3000a5eb80530103d87a80001330060060033756602a0066eb8c04c008c05c008c054004dd2a40004a666016600460186ea80045288a50370e900018049baa001300c300d002300b001300b00230090013005375400229309b2b2b9a5573aaae7955cfaba05742ae89", + "hash": "c5f4ee48a144006875d62d937c6b047798270819245eeb88d8d0cfe8" }, { - "title": "spacetime.spend", + "title": "pellet.pellet.else", + "parameters": [ + { + "title": "admin_token", + "schema": { + "$ref": "#/definitions/asteria~1types~1AssetClass" + } + } + ], + "compiledCode": "59056601010032323232323232225333003323232323232323232323232323232532333013300600b132323232325333018300f00113232533301d30200021500416375a603c00260346ea804854ccc060c02c00454ccc06cc068dd50090a8010b0b180c1baa011132323232533301a3011301b375400226464a666038601e603a6ea80044c8c94ccc078c054c07cdd500c099299980f980b18101baa00a1323232325333026302900213253330243370e900218129baa0011325333025301c302637540022646464646464a66605c6062004264646464a66605e604a6603c03046466002002646600200264a666066604c60686ea800452f5bded8c026eacc0e0c0d4dd5000998131bab302330343754604660686ea800c048894ccc0d800452f5c026606e6068607000266004004607200244a66606a00229404c94ccc0ccc8cdc7999b8c48000dc6a45045348495000001489045348495000375c607000429444cc00c00c004c0e000454ccc0bc00c54ccc0bc01054ccc0bc00840045280a5014a02940cdd780500799b8733301f3756603c605e6ea802c045221044655454c003370202001e603e66603c6eacc074c0b8dd50051bae301c302e37540566eb8c074c0b8dd501599b8900d00e16375c605e002605e0046eb4c0b4004c0b4008dd6981580098139baa001163029302637540022c605060526052604a6ea800458c09c004c8cc004004028894ccc09800452f5c026464a66604a66ebcc054c09cdd5001180a98139baa30163027375401626605200466008008002266008008002605400460500026eb8c094c098c098c088dd5000981218109baa00a16375a604660406ea80604c050cc03401c94ccc07cccc07d4ccc07cc058c080dd5180798109baa300f30213754602060426ea80045280a514a09444c034ccc044dd5980818109baa3010302137540026eb8c03cc084dd500f1bae30103021375403c2940ccc03cdd59807180f9baa300e301f37540060029101044655454c00375c6042603c6ea800458c02cc074dd51805980e9baa300c301d3754002603e60386ea800458cc0200088cdd79805180e1baa0010063758603a603c603c0046eb0c070004c060dd5009180d180d801180c800980a9baa00c15333013300a00b13232325333016300d00115333019301837540202a0042c2a66602c60120022a66603260306ea8040540085858c058dd50078991919299980b9807180c1baa0111325333018300e330070032300733300b3756601460366ea8c028c06cdd50009bae3009301b37540306eb8c028c06cdd500c08008a5030053330090010044881044655454c001337106660120020089101044655454c0048000dd5980d980e180e180e180e0011bac301a001301637540206eb8c060c054dd50060b1b884800088c8cc00400400c894ccc0600045300103d87a800013232533301730050021300c3301b0024bd70099802002000980e001180d0009180b0009180a980b000911192999809180298099baa0011480004dd6980b980a1baa0013253330123005301337540022980103d87a80001323300100137566030602a6ea8008894ccc05c004530103d87a80001323232325333018337220100042a66603066e3c0200084c034cc070dd4000a5eb80530103d87a8000133006006003375a60320066eb8c05c008c06c008c064004cc01400c008dc3a400444646600200200644a666026002298103d87a800013232323253330143372200e0042a66602866e3c01c0084c024cc060dd3000a5eb80530103d87a80001330060060033756602a0066eb8c04c008c05c008c054004dd2a40004a666016600460186ea80045288a50370e900018049baa001300c300d002300b001300b00230090013005375400229309b2b2b9a5573aaae7955cfaba05742ae89", + "hash": "c5f4ee48a144006875d62d937c6b047798270819245eeb88d8d0cfe8" + }, + { + "title": "spacetime.spacetime.spend", "datum": { "title": "datum", "schema": { @@ -128,20 +179,20 @@ "redeemer": { "title": "redeemer", "schema": { - "$ref": "#/definitions/RedeemerWrapper$asteria~1types~1ShipRedeemer" + "$ref": "#/definitions/asteria~1types~1ShipRedeemer" } }, "parameters": [ { "title": "pellet_validator_address", "schema": { - "$ref": "#/definitions/ByteArray" + "$ref": "#/definitions/ScriptAddress" } }, { "title": "asteria_validator_address", "schema": { - "$ref": "#/definitions/ByteArray" + "$ref": "#/definitions/ScriptAddress" } }, { @@ -181,11 +232,11 @@ } } ], - "compiledCode": "592d94010000323232323232323232323232323232323232323232323223223222232232232232223253333330280021532323232323232323330283001302a37540142a660529211c52756e6e696e672032206172672076616c696461746f72206d696e740013232533302a3232323232323232325333033300c303537540102646464a66606c601e60706ea80384c8c8c94ccc0e4c048c0ecdd500089919191919299981f180c98201baa0011323232325333046001153304303e161325333047304a0021325333044301f30463754002264646464a666090604860946ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc16d4ccc16c0805288a9982e24811d6d7573745f62655f76616c69645f61737465726961203f2046616c73650014a02a6660b6a6660b6010294454cc171241206d7573745f6d696e745f65787065637465645f76616c7565203f2046616c73650014a02a6660b6a6660b600e294454cc171241216d7573745f726573706563745f6d696e5f64697374616e6365203f2046616c73650014a02a6660b6a6660b600c294454cc1712411b6d7573745f686176655f736869705f6e616d65203f2046616c73650014a02a6660b6a6660b600a294454cc1712411c6d7573745f686176655f70696c6f745f6e616d65203f2046616c73650014a02a6660b6a6660b6008294454cc1712411d6d7573745f686176655f6c61746573745f74696d65203f2046616c73650014a02a6660b6a6660b6006294454cc1712411c6d7573745f686f6c645f736869705f746f6b656e203f2046616c73650014a02a6660b6a6660b6004294454cc1712411e6d7573745f686f6c645f696e697469616c5f6675656c203f2046616c73650014a02a6660b6002294454cc17124011a6d7573745f686f6c645f335f617373657473203f2046616c73650014a029405280a5014a029405280a5014a06068664600200244a6660c0002290000981d99801001183180099198008009bab3025305e375403244a6660c0002297ae01323332223233001001003225333066001100313233068374e660d06ea4018cc1a0dd49bae30650013306837506eb4c1980052f5c06600600660d400460d00026eb8c17c004dd59830000998018019832001183100099b8733301f3756604660b86ea805c1252201044655454c0003f303433301e3756604460b66ea805809401ccdc39bad305d305e305e305e305e305a37540246eb4c174c168dd500819b8f375c60b860ba60ba60ba60b26ea8044010cdc79bae30193058375402000866e240e0c8cdc018009bad301e3058375402060026eb4c07cc160dd50081299982a99b88001480004c0cc0044004cdd79ba601f374c64646466660026666002a6660ac606490000a5eb7bdb1804c8c8cc0040052f5bded8c044a6660ba0022660bc66ec0dd48131ba60034bd6f7b630099191919299982e98049980501500109983119bb037520546e9801c01454ccc174cdc781500109983119bb037520546e9801c00c4cc188cdd81ba9002374c0026600c00c0066eacc17c00cdd7182e8011830801182f8009919800800a5eb7bdb180894ccc1700044cc174cdd81ba90074c010101004bd6f7b630099191919299982e18041980480580109983099bb037520169810101000051533305c3371e0160042660c266ec0dd4805a61010100003133061337606ea4008dd4000998030030019bad305e003375c60b800460c000460bc0020460089001023245044655454c0003c22225333059303200110041323233001001006225333060001133061337606ea4018dd3001a5eb7bdb1804c8c8c8c94ccc180c030cc0340280084cc194cdd81ba900a374c00e00a2a6660c066e3c0280084c94ccc184c0e8c18cdd500089983319bb0375201660ce60c86ea80040104010c94ccc1854ccc1940045288a5014c0103d87a80001303e33066374c00297ae03233001001002225333066001133067337606ea402cdd400525eb7bdb1804c8c8c8c94ccc198c048cc04c03c0084cc1accdd81ba900f375001c00a2a6660cc66e3c03c0084c94ccc19cc100c1a4dd500089983619bb0375202060da60d46ea80040104010c94ccc19cc1000045300103d87a8000130443306c375000297ae03370000201c2660d666ec0dd48011ba800133006006003375a60d00066eb8c198008c1a8008c1a00044cc194cdd81ba9002374c0026600c00c0066eacc18800cdd7183000118320011831000991900119198008008011129998300008a4c264a6660c200229309919299982f981c18309baa3300c375c60c260ca0086eb8c1840084cc014014cc19000800454cc1812401326b65797320696e206173736f63696174697665206c697374206172656e277420696e20617363656e64696e67206f7264657200163065002306300130630013305e337606ea4008dd4000a5eb7bdb180dd7a60103d879800022533305533720004002298103d8798000153330553371e0040022980103d87a800014c103d87b8000330024890550494c4f540030033004375a603660aa6ea804ccc005220104534849500030023003375a603460a86ea804888cdc500100091b9800123732660046ea00052201003001001222533333305700213232323232323300b0020013371491010128000025333053337100069007099b80483c80400c54ccc14ccdc4001a410004266e00cdc0241002800690068a9982a24929576861742061726520796f7520646f696e673f204e6f2049206d65616e2c20736572696f75736c792e001653330560011337149101035b5d2900004133714911035b5f2000375c60aa66600e00266ec1300102415d00375266e292210129000042233760980103422c2000375266601001000466e28dd7182b0009bae3057001375860a80046eb4c148004c8cdd81ba83052001374e60a60026ea80084c94ccc1500044cdc5245027b7d00002133714911037b5f2000375c60a664646600200200644a6660ae00220062664466ec130103422c2000375266601201260ae00466e29221023a20003330090093058002337146eb8c15c004dd7182c000982c80099801001182d00099bb04c10342207d0037520046eac0084c94ccc1500044cdc52441025b5d00002133714911035b5f2000375c60a666600a00266ec1300102415d0037520044466ec1300103422c2000375266600c00c00466e28dd7182a0009bae3055001375800426600a6eb40080044c8c8cdc524410268270000132333001001337006e3400920013371491101270000322253330533371000490000800899191919980300319b8000548004cdc599b80002533305633710004900a0a40c02903719b8b33700002a6660ac66e2000520141481805206e0043370c004901019b8300148080cdc70020011bae00222232330010010042253330540011004133003305600133002002305700122323300100100322533304e30270011337149110130000031533304e337100029000099b8a489012d0033002002302c00113300533708002900a19b8b3370066e1400520144818000cc0040048894ccc12ccdc4801240002002266600600666e1000920143371666e00cdc28012402890300008a9982481f0b180818251baa3011304a375402aa66608c603e60906ea80044c94ccc12c00454cc120110584c8c94ccc13400454cc128118584c8c94ccc13c00454cc130120584c8c94ccc14400454cc138128584c8c94ccc14c00454cc140130584c94ccc150c15c008526153305104d16325333333058001153305104d16153305104d16153305104d161375a0022a660a209a2c60aa00260aa00464a6666660ac0022a6609e0962c2a6609e0962c2a6609e0962c2a6609e0962c26eb8004c14c004c14c008c94cccccc15000454cc1341245854cc1341245854cc1341245854cc134124584dd7000982880098288011929999998290008a998258238b0a998258238b0a998258238b09bad001153304b04716304f001304f0023253333330500011533049045161533049045161533049045161375a0022a6609208a2c609a00260926ea800454cc11c10c594cccccc134004400454cc1181085854cc1181085854cc1181085854cc11810858c128c11cdd50008a99822a493165787065637420496e6c696e65446174756d28736869705f646174756d29203d20736869705f73746174652e646174756d00163007304637540022a6608807e2c6090002646600200202644a66608e002297ae0132325333045325333046302230483754002266e3c04cdd7182618249baa00114a0601c60906ea8c038c120dd50010998250011980200200089980200200098258011824800a999820180c98211baa0011325333045001153304203c16132325333047001153304403e161325333048304b002149854cc1140fc58c94cccccc13000454cc1140fc5854cc1140fc5854cc1140fc5854cc1140fc584dd7000982480098248011929999998250008a9982181e8b0a9982181e8b0a9982181e8b09bad001153304303d163047001304337540022a660820762ca66666608e00220022a660800742c2a660800742c2a660800742c2a660800742c608860826ea800454cc0fd2413e65787065637420496e6c696e65446174756d28617374657269615f646174756d29203d20617374657269615f696e7075742e6f75747075742e646174756d0016300130403754600e60806ea80108c10cc110c110004c06cccc004dd59802981f1baa3005303e37540046eb8c010c0f8dd50141bae3005303e375405044464a66607c603460806ea8004520001375a608860826ea8004c94ccc0f8c068c100dd50008a60103d87a8000132330010013756608a60846ea8008894ccc110004530103d87a8000132323253330433371e00e6eb8c11400c4c080cc120dd4000a5eb804cc014014008dd698228011824001182300099804001801181f981e1baa001153303a03116323300100100c22533303e00114c103d87a800013232533303c32533303d3016303f375400229404cdc79bae304330403754002056600a607e6ea8c014c0fcdd51803181f9baa00213019330410024bd70099802002000982100118200009181f0009181e981f000899299981d8008a9981c01a8b099299981e181f8010a99981c19b8748004dd6981d8008a51153303903616153303903616303d001325333037301330393754002297adef6c6013756607a60746ea8004cc00400800c88c8cc00400400c894ccc0f40045300103d87a80001323232533303c3371e00c6eb8c0f800c4c064cc104dd3000a5eb804cc014014008dd5981f0011820801181f800991980080080211299981d0008a5eb7bdb1804c8c8c8c94ccc0e8cdc7a44100002100313303f337606ea4008dd3000998030030019bab303c003375c6074004607c00460780026eb8c0e4c0d8dd50040a9981a24926657870656374204d696e742873686970796172645f706f6c69637929203d20707572706f7365001630383039303930390023756606e002606e606e0046eb0c0d4004c0d4c0d4008dd6181980098179baa303200230313032001302d37540182930a99815a4811856616c696461746f722072657475726e65642066616c7365001365632533302a30030011533302e302d37540042930a998158148b0a99981518030008a99981718169baa002149854cc0ac0a45854cc0ac0a458c0acdd5000a99999981800588058a998148138b0a998148138b0a998148138b0a998148138b0a99814a491d52756e6e696e672033206172672076616c696461746f72207370656e640013323232232322533302f323232323232323232323232323232323232323232325333045301e30473754002264a66608c604460906ea80584c8c94ccc120c084c128dd5000899192999825181318261baa001132323232323232323232323232325323233305a303300d1323232325333062001153305f05016132533306330660021325333060303b30623754002264646464a6660c8608060cc6ea80044c8c94ccc198c108c1a0dd50008991919192999835182198361baa001132323232323232323232323253330765333076305230263301f044230293035307a3754606c60f46ea80045288a9983ba481236d7573745f7370656e645f6f6e655f7363726970745f696e707574203f2046616c73650014a02a6660eca6660ec054294454cc1dd241206d7573745f696e636c7564655f70696c6f745f746f6b656e203f2046616c73650014a02a6660eca6660ec008294454cc1dd2411d6d7573745f686176655f656e6f7567685f6675656c203f2046616c73650014a02a6660eca6660ec00c294454cc1dd2411e6d7573745f726573706563745f6d61785f7370656564203f2046616c73650014a02a6660eca6660ec00a294454cc1dd241206d7573745f726573706563745f6c61746573745f74696d65203f2046616c73650014a02a6660eca6660ec004294454cc1dd241216d7573745f73756274726163745f6675656c5f746f6b656e73203f2046616c73650014a02a6660eca6660ec010294454cc1dd2411c6d7573745f6275726e5f7370656e745f6675656c203f2046616c73650014a02a6660eca6660ec014294454cc1dd241156d7573745f7570646174655f78203f2046616c73650014a02a6660eca6660ec012294454cc1dd241156d7573745f7570646174655f79203f2046616c73650014a02a6660eca6660ec00e294454cc1dd2411f6d7573745f7570646174655f75707065725f626f756e64203f2046616c73650014a02a6660eca6660ec016294454cc1dd241216d7573745f70726573657276655f70696c6f745f746f6b656e203f2046616c73650014a02a6660eca6660ec006294454cc1dd2411c6d7573745f686f6c645f736869705f746f6b656e203f2046616c73650014a02a6660ec002294454cc1dd24011a6d7573745f686f6c645f335f617373657473203f2046616c73650014a029405280a5014a029405280a5014a029405280a5014a0609e604460486eacc0d0c1e0dd500b99b8733301f3756606660ee6ea80581912201044655454c0033702014018609e66603c6eacc0c8c1d8dd500a81481b19b8900a008301900d32323371266e08dd6983c0011bad30783079001337046eb4c1e0004dd6983c183c801183a1baa02c3073375460ec60e66ea801ccdc39bad307530763076307630763072375401c012602a609800c66e1cdd6981618381baa00c3370006402266e1cdd6981518379baa00b3370006602266e3c0b0dd7183898391839183918371baa00a3330153756605260da6ea8c0a4c1b4dd501102d2441044655454c00153306b4915865787065637420536f6d6528737065656429203d0a20202020202020202020726174696f6e616c2e6e65772864697374616e63652c2074785f6c61746573745f74696d65202d2074785f6561726c696573745f74696d65290016330260023370200600a66e08004140c8cdc0180080698008061299983419b88001480004c1180044004dd6983618349baa001153306705c16302330683754604860d06ea80b8dd6983518339baa001153306505916302130663754604260cc6ea80b0cc0e40041594cccccc1a4004400454cc1881545854cc1881545854cc1881545854cc18815458c198c18cdd50008a998308298b180498311baa00115330600511630640013300602923375e603860c26ea8004c070c184dd5180e98309baa016375a60c460c60046eb4c184004c174dd50170a99982d181b0068991929998300008a9982e8270b09929998309832001099299982f181c98301baa0011323232325333062303b306437540022646464a6660ca608060ce6ea80044c8c8c8c94ccc1a4c114c1acdd5000899191919191919191929998392999839182698111980d820118129818983b1baa303230763754002294454cc1cd2401246d7573745f7370656e645f74776f5f7363726970745f696e70757473203f2046616c73650014a02a6660e4a6660e401e294454cc1cd2411c6d7573745f62655f76616c69645f70656c6c6574203f2046616c73650014a02a6660e4a6660e404c294454cc1cd241206d7573745f696e636c7564655f70696c6f745f746f6b656e203f2046616c73650014a02a6660e4a6660e4010294454cc1cd241216d7573745f686176655f70656c6c65745f706f736974696f6e203f2046616c73650014a02a6660e4a6660e4006294454cc1cd2411c6d7573745f6164645f6675656c5f746f6b656e73203f2046616c73650014a02a6660e4a6660e400e294454cc1cd241206d7573745f6e6f745f6578636565645f6361706163697479203f2046616c73650014a02a6660e4a6660e400a294454cc1cd241206d7573745f726573706563745f6c61746573745f74696d65203f2046616c73650014a02a6660e4a6660e400c294454cc1cd2411b6d7573745f70726573657276655f646174756d203f2046616c73650014a02a6660e4a6660e4008294454cc1cd2411c6d7573745f686f6c645f736869705f746f6b656e203f2046616c73650014a02a6660e4a6660e4004294454cc1cd2411a6d7573745f686f6c645f335f617373657473203f2046616c73650014a02a6660e4002294454cc1cd24011c6d7573745f6e6f745f6d696e745f746f6b656e73203f2046616c73650014a029405280a5014a029405280a5014a0294052819baf374c603a07698101a000304a301d301f3756605e60e66ea8050cdc399980d1bab302e307237540260be911044655454c003370000c02a60946660326eacc0b4c1c4dd5009012018980a9bad30733070375400a66ebc034110cdc499b80002011055533306a3370e0626eb4c0a0c1b4dd5002099b8702f375a605260da6ea801052819980a1bab3028306c3754605060d86ea8084165221044655454c00153306a05e163026306b3754604c60d66ea80c54ccc19cc100c1a4dd500089929998360008a9983482f8b0991929998370008a998358308b0991929998380008a998368318b0992999838983a0010a4c2a660dc0c82c64a6666660ea0022a660dc0c82c2a660dc0c82c2a660dc0c82c2a660dc0c82c26eb8004c1c8004c1c8008c94cccccc1cc00454cc1b01885854cc1b01885854cc1b0188584dd68008a998360310b183800098380011929999998388008a998350300b0a998350300b0a998350300b09bad001153306a06016306e001306a37540022a660d00bc2ca6666660dc00220022a660ce0ba2c2a660ce0ba2c2a660ce0ba2c2a660ce0ba2c60d660d06ea800454cc1992413c65787065637420496e6c696e65446174756d2870656c6c65745f646174756d29203d2070656c6c65745f696e7075742e6f75747075742e646174756d0016300e30673754604660ce6ea8008c10cccc038dd5981118331baa3022306637540026eb8c084c198dd50281bae3022306637540a060d060ca6ea800454cc18d2401ff65787065637420536f6d652870656c6c65745f696e70757429203d0a202020202020202020206c6973742e66696e64280a202020202020202020202020696e707574732c0a202020202020202020202020666e28696e70757429207b0a20202020202020202020202020207768656e20696e7075742e6f75747075742e616464726573732e7061796d656e745f63726564656e7469616c206973207b0a20202020202020202020202020202020566572696669636174696f6e4b657943726564656e7469616c285f29202d3e2046616c73650a2020202020202020202020202020202053637269707443726564656e7469616c28616464725f7061796d656e6b7429202d3e0a202020202020202020202020202020202020616464725f7061796d656e74203d3d2070656c6c65745f76616c696461746f725f616464726573730a20202020202020202020202020207d0a2020202020202020202020207d2c0a202020202020202020202900163301b02f2325333063303c3065375400229404cdc79bae3069306637540020a6604060ca6ea8c080c194dd5181098329baa00133037001054533333306700110011533060053161533060053161533060053161533060053163064306137540022a660be0a22c600e60c06ea800454cc17813c58c188004cc01009c8cdd7980d182f9baa001301a305f3754603660be6ea8050dd69830182e9baa02e1533305a303500d132533305b3034305d375400226464a6660ba607260be6ea80044c8c8c8c94ccc1854ccc184c0f0c044cc0280bc8c050c080c194dd5181098329baa00114a22a660c49201246d7573745f7370656e645f74776f5f7363726970745f696e70757473203f2046616c73650014a02a6660c2a6660c200c294454cc1892411d6d7573745f62655f76616c69645f61737465726961203f2046616c73650014a02a6660c2a6660c202a294454cc189241206d7573745f696e636c7564655f70696c6f745f746f6b656e203f2046616c73650014a02a6660c2a6660c2008294454cc189241226d7573745f686176655f617374657269615f706f736974696f6e203f2046616c73650014a02a6660c2a6660c2006294454cc1892411c6d7573745f6275726e5f736869705f746f6b656e203f2046616c73650014a02a6660c2a6660c2002294454cc1892411d6d7573745f6275726e5f6675656c5f746f6b656e73203f2046616c73650014a02a6660c2004294454cc1892401206d7573745f726573706563745f6c61746573745f74696d65203f2046616c73650014a029405280a5014a029405281803981f1998059bab301f30633754603e60c66ea80601412201044655454c003007375a60ca60c46ea800ccdc4199804980501400a010a400066ebcdd31983119bb037500486ea00892f5bded8c06e98cc1892f7b6301010000010100004bd6f7b6300a9982f0290b180d182f9baa301a305f375404a607666600c6eacc068c178dd5180d182f1baa3061305e37540026eb8c064c178dd50241bae301a305e37540902a660b80a62c66028050464a6660b8606a60bc6ea8004528099b8f375c60c460be6ea8004128c064c178dd5180c982f1baa301a305e375400226464a6660b8a6660b8607060186600a0544601e603660c06ea8c070c180dd50008a51153305d491236d7573745f7370656e645f6f6e655f7363726970745f696e707574203f2046616c73650014a02a6660b8a6660b8020294454cc175241206d7573745f696e636c7564655f70696c6f745f746f6b656e203f2046616c73650014a02a6660b8a6660b8004294454cc1752411c6d7573745f6275726e5f736869705f746f6b656e203f2046616c73650014a02a6660b8002294454cc17524011d6d7573745f6275726e5f6675656c5f746f6b656e73203f2046616c73650014a029405280a50300230393330063756603460bc6ea8c068c178dd5009825a441044655454c003371066600a600c04802003a90001b8733300430050230494881044655454c00371203044646600200200644a6660be002297ae013232533305d300500213306200233004004001133004004001306300230610012305d305e305e0012223253330593035305b37540022900009bad305f305c375400264a6660b2606a60b66ea80045300103d87a800013233001001375660c060ba6ea8008894ccc17c004530103d87a80001323232533305e3371e00e6eb8c18000c4c0eccc18cdd4000a5eb804cc014014008dd6983000118318011830800998068018011191980080080111299982d8008a5eb7bdb1804c8c8c8c94ccc16ccdc7a441000021003133060337606ea4008dd3000998030030019bab305d003375c60b600460be00460ba002600200244a6660b0002290000981999801001182d8009191980080080111299982c0008a5eb804c8ccc888c8cc00400400c894ccc178004400c4c8cc180dd3998301ba90063306037526eb8c174004cc180dd41bad305e0014bd7019801801983100118300009bae3057001375660b00026600600660b800460b4002600200244a6660aa002290000981819801001182c00092999827981418289baa300d30523754002294052898279baa021533304c3025304e37546600c03446466002002646600200264a6660a0605860a46ea800452f5bded8c026eacc158c14cdd5000998021bab300e30523754601c60a46ea800c014894ccc15000452f5c02660aa60a460ac0026600400460ae00244a6660a600229404c94ccc140cdc79bae305600201114a226600600600260ac00229445281119198008008019129998298008a60103d87a8000132323253330523371e00c6eb8c15000c4c0bccc15cdd3000a5eb804cc014014008dd5982a001182b801182a8009bae3050304d37540022a660969215d6578706563742053637269707443726564656e7469616c2873686970796172645f706f6c69637929203d0a202020202020736869705f696e7075742e6f75747075742e616464726573732e7061796d656e745f63726564656e7469616c00163007304c3754600e60986ea8c020c130dd5000982718259baa001153304949013665787065637420536f6d6528736869705f696e70757429203d2066696e645f696e70757428696e707574732c20736869705f726566290016323300201623375e600e60986ea8004008c134c128dd500b9119198008008019129998270008a60103d87a800013232533304c300500213029330510024bd70099802002000982900118280008a99823a48120657870656374205370656e6428736869705f72656629203d20707572706f73650016304b304837540022a6608c92015865787065637420536f6d65286d61785f73706565645f726174696f6e616c29203d0a202020202020726174696f6e616c2e6e6577286d61785f73706565642e64697374616e63652c206d61785f73706565642e74696d6529001633001375a6004608e6ea80c0dd6980198239baa030225333045301e00114c103d87a80001533304533710002900009811198251811198251ba830230023304a3750604600297ae04bd7009811198251811198251ba80023304a375000297ae04bd70118248009182418248009bad30463047002375c608a002608a0046eb8c10c004c10c008dd6982080098208011bad303f001303b3754020607a607c607c607c0046eacc0f0004c0f0c0f0008dd6181d000981d181d0011bac303800130343754606e004606c606e00260646ea8004526153303049011856616c696461746f722072657475726e65642066616c7365001365632533302e30070011325333033001153303002816132325333035001153303202a1613253330363039002149854cc0cc0ac58c94cccccc0e800454cc0cc0ac5854cc0cc0ac5854cc0cc0ac584dd68008a998198158b181b800981b80119299999981c0008a998188148b0a998188148b0a998188148b09bad0011533031029163035001303137540042a66605c6014002264a6660660022a660600502c264a666068606e0042930a998188148b19299999981c0008a998188148b0a998188148b0a998188148b09bad0011533031029163035001303137540042a66605c60120022a66606460626ea8008526153302f027161533302e300800115333032303137540042930a998178138b0a998178138b18179baa00153333330340011001153302d02516153302d02516153302d02516153302d025163300100202422533302b3004302d3754004264a6660600022a6605a0042c26464a6660640022a6605e0082c26464a6660680022a6606200c2c26464a66606c0022a660660102c26464a6660700022a6606a0142c264a66607260780042930a9981b0058b19299999981e8008a9981b0058b0a9981b0058b0a9981b0058b09bad001153303600b16303a001303a00232533333303b0011533034009161533034009161533034009161533034009161375c0026070002607000464a6666660720022a6606400e2c2a6606400e2c2a6606400e2c2a6606400e2c26eb8004c0d8004c0d8008c94cccccc0dc00454cc0c00145854cc0c00145854cc0c0014584dd68008a998180028b181a000981a00119299999981a8008a998170018b0a998170018b0a998170018b09bad001153302e003163032001302e37540042a660580022ca66666606001620162a660520442c2a660520442c2a660520442c2a660520442c605c60566ea8028dc3a40006e1d2006370e90021b8748008dd2a40006e052000370090011b884800054cc0840045854cc0840045854cc0840045854cc08400459240191496e636f72726563742072656465656d6572207479706520666f722076616c696461746f72207370656e642e0a2020202020202020202020202020202020202020446f75626c6520636865636b20796f7520686176652077726170706564207468652072656465656d657220747970652061732073706563696669656420696e20796f757220706c757475732e6a736f6e00375a0026eb4004dd68009bad001375c0026eb800524196657870656374205b736869705f6f75747075745d203d0a202020202020202020206c6973742e66696c746572280a2020202020202020202020206f7574707574732c0a202020202020202020202020666e286f757470757429207b206f75747075742e61646472657373203d3d20736869705f696e7075742e6f75747075742e61646472657373207d2c0a20202020202020202020290049013965787065637420496e6c696e65446174756d28736869705f6f75747075745f646174756d29203d20736869705f6f75747075742e646174756d0049013765787065637420736869705f6f75747075745f646174756d3a2053686970446174756d203d20736869705f6f75747075745f646174756d004901476578706563742046696e6974652874785f6561726c696573745f74696d6529203d2076616c69646974795f72616e67652e6c6f7765725f626f756e642e626f756e645f74797065004901456578706563742046696e6974652874785f6c61746573745f74696d6529203d2076616c69646974795f72616e67652e75707065725f626f756e642e626f756e645f747970650049012f6578706563742070656c6c65745f646174756d3a2050656c6c6574446174756d203d2070656c6c65745f646174756d004901ff65787065637420536f6d6528617374657269615f696e70757429203d0a202020202020202020206c6973742e66696e64280a202020202020202020202020696e707574732c0a202020202020202020202020666e28696e70757429207b0a20202020202020202020202020207768656e20696e7075742e6f75747075742e616464726573732e7061796d656e745f63726564656e7469616c206973207b0a20202020202020202020202020202020566572696669636174696f6e4b657943726564656e7469616c285f29202d3e2046616c73650a2020202020202020202020202020202053637269707443726564656e7469616c28616464725f7061796d656d6e7429202d3e0a202020202020202020202020202020202020616464725f7061796d656e74203d3d20617374657269615f76616c696461746f725f616464726573730a20202020202020202020202020207d0a2020202020202020202020207d2c0a20202020202020202020290049011672656465656d65723a205368697052656465656d657200490110646174756d3a2053686970446174756d0049013265787065637420617374657269615f646174756d3a2041737465726961446174756d203d20617374657269615f646174756d00490159657870656374205b736869705f73746174655d203d0a202020202020202020207472616e73616374696f6e2e66696e645f7363726970745f6f757470757473286f7574707574732c2073686970796172645f706f6c696379290049012965787065637420736869705f646174756d3a2053686970446174756d203d20736869705f646174756d00490120657870656374205b285f2c202d31295d203d206d696e7465645f746f6b656e730049011a72656465656d65723a20536869707961726452656465656d6572005734ae7155ceaab9e5573eae815d0aba257481", - "hash": "8a6b8c9579c225352dba85fdae1cf77eee88a37c0ed2f5e246c87f1b" + "compiledCode": "5913dc010100323232323232323223223222232232232232253330103232323232323232323232323232323232323232323232323232532323233302d301001813232323232533303230100011323232325333039303c0021500616375a607400260740046eb4c0e0004c0d0dd500f8a999819180a80089919299981b981d0010a8020b1bad30380013034375403e2a66606460100022a66606a60686ea807c540085854ccc0c8c01c00454ccc0d4c0d0dd500f8a8010b0b18191baa01e13232323232323253330373015303837540102646464646464646464646464a666086604260886ea80044c8c94ccc114c08cc118dd5000899192999823981518241baa00113232323232325323233304f302d006132323232325333057305a0021325333055302b3056375400226466066002264a6660ae607460b06ea80044c8c94ccc164c0f0c168dd5000899191919299982e981d982f1baa00113232323232323232323232325333069304c301d33044038230203042306c3754608660d86ea800454ccc1a408454ccc1a401054ccc1a401854ccc1a401454ccc1a400854ccc1a402054ccc1a402854ccc1a402454ccc1a401c54ccc1a402c54ccc1a400c40045280a5014a029405280a5014a029405280a5014a02940c0f4c140c148dd5982098351baa0153370e6660926eacc100c1a4dd500a032a441044655454c003370201401860926660906eacc0fcc1a0dd500980f81499b8900a008301700d32323371266e08dd698350011bad306a306b001337046eb4c1a8004dd69835183580118331baa0213065375460d060ca6ea801ccdc39bad30493064375401a0126026608400c66e1cdd6981c98311baa00b3370004a01e66e1cdd6981b98309baa00a3370004c01e66e3c07cdd7182218301baa00933303f3756606c60be6ea8c0d8c17cdd500c02da441044655454c00163301b0023370200600a66e08004144cc0e4028024dd6982f182d9baa001163030305a3754606260b46ea8088dd6982e182c9baa00116302e30583754605c60b06ea8080c168c15cdd50008b1818182b1baa0011630580013302d01f23375e605660aa6ea8004c0acc154dd51816182a9baa00e375a60ac60ae0046eb4c154004c144dd501e0a99982798190030991919299982a982c00109929998299814982a1baa0011323303100113253330553033305637540022646464a6660b0605c60b26ea80044c94ccc164c0dcc168dd50008991919191919299983118328010992999830182198309baa00113232323232323232325333069303f301d33044038230203042306c3754608660d86ea800454ccc1a404c54ccc1a408454ccc1a402054ccc1a400c54ccc1a401c54ccc1a401454ccc1a401854ccc1a401054ccc1a400840045280a5014a029405280a5014a029405280a503375e6e980cd300101a000303c304f30513756608060d26ea8058cdc39998241bab303f3068375402a0c8911044655454c003370000c02e609066608e6eacc0f8c19cdd500a00f014180b9bad30693066375400a66ebc0400b0cdc499b8000201305a53330613370e0506eb4c0e4c18cdd5004899b87026375a607460c66ea80245281998211bab303930623754607260c46ea806c179221044655454c0016303730613754606e60c26ea80a458dd7183180098318011bad30610013061002375a60be00260b66ea800458c174c168dd50008b1819982c9baa30303059375400460546660706eacc0bcc160dd51817982c1baa001375c605c60b06ea8144dd71817982c1baa051305a305737540022c66056046464a6660ac606860ae6ea8004528099b8f375c60b660b06ea8004150c0b4c15cdd51816982b9baa302e3057375400260b060aa6ea800458c0b8c150dd50008b182b0009981580e919baf302930533754002605260a66ea8c0a8c14cdd50061bad3054305137540782a66609e604a00c264a6660a0605c60a26ea80044c8c94ccc148c0d4c14cdd5000899191919299982b1816180519818812918069817982c9baa3030305937540022a6660ac00c2a6660ac01c2a6660ac0082a6660ac0062a6660ac002200429405280a5014a029405281803981b19981b9bab302e30573754605c60ae6ea804014d2201044655454c003007375a60b260ac6ea800ccdc419981a80f00600b2400066ebcdd39982b1ba801933056375002e97ae04c01049f0000ff0016302930533754605260a66ea806cc090ccc0c8dd5981498291baa30293052375460aa60a46ea8004dd7181418291baa04b375c605260a46ea812c58cc0980788c94ccc144c0bcc148dd50008a5013371e6eb8c158c14cdd5000826981418291baa302830523754605260a46ea80044c8c94ccc144c0d0c014cc0b00808c020c0a8c150dd51815982a1baa0011533305100915333051002100114a02940528180118189998191bab302930523754605260a46ea802c1392201044655454c003371066606203401002490001b8733303001904c4881044655454c00371201a600200244a6660a000229000099b8048008cc008008c14c00494ccc12cc0a4c130dd5181198269baa00114a02944c128dd501b2999824181318249baa3301f0172323300100132330010013302537566048609a6ea8c090c134dd50018021129998278008a5eb804cc140c134c144004cc008008c148004894ccc138004528099299982619b8f375c60a200401a29444cc00c00c004c1440045288a50375c609860926ea800458c078c120dd5180f18241baa301f304837540026094608e6ea800458cc06c04c8cdd7980e98239baa0010173048304537540022c660026eb4c068c110dd501e1bad301b3044375407844a6660866042002298103d87a80001533304333710002900009814198239814198239ba83024002330473750604800297ae04bd7009814198239814198239ba800233047375000297ae04bd701bad30453046002375c608800260880046eb8c108004c108008dd6982000098200011bad303e001303a3754002607860726ea802058c0ecc0f0c0f0c0f0008dd5981d000981d181d0011bac3038001303830380023758606c00260646ea807cc0d0c0d4008c0cc004c0bcdd500c8a999816980580c0991919299981818070008a99981998191baa01d1500216153330303013001153330333032375403a2a0042c2c60606ea80704c8c8c8c8c8c8c94ccc0d4c04cc0d8dd5011099299981b180a181b9baa00113232325333039300f303a3754002264a666074603060766ea80044c8c8c8c94ccc104c1100084c8c94ccc10cc1180084c94ccc104c05cc108dd50008991980f8008992999821981318221baa00113232323232323232323232323232323232533305401d15333054008153330540071533305400615333054005153330540041533305400315333054002100114a029405280a5014a029405280a503028303b303d3756605860aa6ea8050cdc399981a1bab302b305437540260a0911044655454c0004630343330333756605460a66ea804809001ccdc39bad30373052375401e6eb4c154c148dd500719b8f375c606a60a26ea8038010cdc79bae302a3050375401a00866e240fccc0b0dd6981298279baa00c375a604c609e6ea8030cdd79ba6019374c64646466660026666002a66609e94052f5bded8c0264646600200297adef6c60225333055001133056337606ea4094dd3001a5eb7bdb1804c8c8c8c94ccc158cdc801480109982d19bb037520526e9801c01454ccc158cdc781480109982d19bb037520526e9801c00c4cc168cdd81ba9002374c0026600c00c0066eacc15c00cdd7182a801182c801182b8009919800800a5eb7bdb180894ccc1500044cc154cdd81ba90074c010101004bd6f7b630099191919299982a99b9000b002133059337606ea402d301010100005153330553371e0160042660b266ec0dd4805a61010100003133059337606ea4008dd4000998030030019bad3056003375c60a800460b000460ac0020440089001026a45044655454c0004322225333052303000110041323233001001006225333058001133059337606ea4018dd3001a5eb7bdb1804c8c8c8c94ccc164cdc800500109982e99bb037520146e9801c01454ccc164cdc7805001099299982d181c182d9baa00113305e337606ea402cc17cc170dd5000802080219299982d299982e8008a5114a02980103d87a80001303f3305e374c00297ae0323300100100222533305e00113305f337606ea402cdd400525eb7bdb1804c8c8c8c94ccc17ccdc800780109983199bb0375201e6ea003801454ccc17ccdc78078010992999830181f18309baa001133064337606ea4040c194c188dd50008020802192999830181f0008a6103d87a80001304533064375000297ae03370000201c2660c666ec0dd48011ba800133006006003375a60c00066eb8c178008c188008c1800044cc174cdd81ba9002374c0026600c00c0066eacc16800cdd7182c001182e001182d000991900118030009982b19bb037520046ea00052f5bded8c0600200244a6660a200229309929998290008a4c26464a6660a266e40dd71829182b0021bae30520021330050053305500200116305600230540013054001337149110550494c4f5400373060046eb4c08cc134dd500919b8a489045348495000373060026eb4c088c130dd500891b9933002375000291100300100122253332333305200313232323232323300c002001337149101012800002533304f337100069007099b80483c80400c54ccc13ccdc4001a410004266e00cdc0241002800690068b2999828800899b8a4881035b5d2900005133714911035b5f2000333300800133714911025d2900005223330090090023006001223330090090020013758609e0046eb4c134004c8cdd81ba8304d001374e609c0026ea800c4c94ccc13c0044cdc52441027b7d00003133714911037b5f200032323300100100322533305200110031533305230550011323330090093051001337149101023a2000333009009305200100430540011323330090093051001337149101023a20003330090093052001300633003003305600230540013371491102207d000033756006264a66609e002266e29221025b5d00003133714911035b5f2000333300600133714911015d000032233300700700230040012233300700700200137580066e292201022c2000133005375a0040022646466e2922010268270000132333001001337006e34009200133714911012700003222533304e3371000490000800899191919980300319b8000548004cdc599b80002533305133710004900a0a40c02903719b8b33700002a6660a266e2000520141481805206e0043370c004901019b8300148080cdc70020011bae0022222323300100100522533304f00110051533304f305200113300330510010051330043051001330020023052001223233001001003225333049302700113371491101300000315333049337100029000099b8a489012d0033002002302a00113300533708002900a19b8b3370066e1400520144818000cc0040048894ccc118cdc4801240002002266600600666e1000920143371666e00cdc28012402890300008b180d18221baa301b3044375401c608c60866ea800458c070c108dd50008b18220009980c8069192999820181198209baa00113371e0266eb8c114c108dd50008a50301730413754602e60826ea800458dd7182100098210011bad3040001303c37540022c607c60766ea800458c050c0e8dd51808981d1baa002300b3330193756602060726ea8c040c0e4dd50009bae300f303937540646eb8c040c0e4dd5019181d981c1baa001163300c006232533303730153038375400229404cdc79bae303c30393754002066601c60706ea8c038c0e0dd51807981c1baa00113232533303a303d002153330373370e90009bad303900114a22c2c60760026601e00401060726074607460740046eacc0e0004c0e0c0e0008dd6181b000981b181b0011bac30340013030375403a6eb8c0c8c0bcdd500c8b1b8848000dc3a400c6e1d200422323300100100322533303000114c103d87a800013232533302f300500213014330330024bd70099802002000981a00118190009181700091816981700091192999814980618151baa00114bd6f7b63009bab302e302b37540026601800400244646600200200644a666058002297ae013232533302b300500213302f002330040040011330040040013030002302e0012302a302b302b001225333025300330263754004264646464646464646464a666064606a0042a0162c6eb4c0cc004c0cc008dd7181880098188011bae302f001302f002375a605a002605a0046eb4c0ac004c09cdd50010b1b874800088cdc0180180118018009299981099b88001480004c0080044004dc0a400044464a666044600a60466ea8004520001375a604e60486ea8004c94ccc088c014c08cdd50008a6103d87a80001323300100137566050604a6ea8008894ccc09c004530103d87a80001323232325333028337220100042a66605066e3c0200084c034cc0b0dd4000a5eb80530103d87a8000133006006003375a60520066eb8c09c008c0ac008c0a4004cc01400c008dc3a400444646600200200644a666046002298103d87a800013232323253330243372200e0042a66604866e3c01c0084c024cc0a0dd3000a5eb80530103d87a80001330060060033756604a0066eb8c08c008c09c008c094004dd2a4000460406042604260420024603e6040604060406040002600200244a66603800229000099b8048008cc008008c07c0048c8cc004004008894ccc07000452f5c0264666444646600200200644a6660440022006264660486e9ccc090dd4803198121810800998121811000a5eb80cc00c00cc098008c090004dd7180d8009bab301c001330030033020002301e001301637540026032603400460300026030004602c00260246ea800452613656375a0026eb4004dd68009bad001375c0026eb80055cd2ab9d5573caae7d5d02ba15744ae91", + "hash": "5479af9847c919229f7157e7d4ae759cd053869f22cbb2699314a08a" }, { - "title": "spacetime.mint", + "title": "spacetime.spacetime.mint", "redeemer": { "title": "redeemer", "schema": { @@ -196,13 +247,13 @@ { "title": "pellet_validator_address", "schema": { - "$ref": "#/definitions/ByteArray" + "$ref": "#/definitions/ScriptAddress" } }, { "title": "asteria_validator_address", "schema": { - "$ref": "#/definitions/ByteArray" + "$ref": "#/definitions/ScriptAddress" } }, { @@ -242,12 +293,68 @@ } } ], - "compiledCode": "592d94010000323232323232323232323232323232323232323232323223223222232232232232223253333330280021532323232323232323330283001302a37540142a660529211c52756e6e696e672032206172672076616c696461746f72206d696e740013232533302a3232323232323232325333033300c303537540102646464a66606c601e60706ea80384c8c8c94ccc0e4c048c0ecdd500089919191919299981f180c98201baa0011323232325333046001153304303e161325333047304a0021325333044301f30463754002264646464a666090604860946ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc16d4ccc16c0805288a9982e24811d6d7573745f62655f76616c69645f61737465726961203f2046616c73650014a02a6660b6a6660b6010294454cc171241206d7573745f6d696e745f65787065637465645f76616c7565203f2046616c73650014a02a6660b6a6660b600e294454cc171241216d7573745f726573706563745f6d696e5f64697374616e6365203f2046616c73650014a02a6660b6a6660b600c294454cc1712411b6d7573745f686176655f736869705f6e616d65203f2046616c73650014a02a6660b6a6660b600a294454cc1712411c6d7573745f686176655f70696c6f745f6e616d65203f2046616c73650014a02a6660b6a6660b6008294454cc1712411d6d7573745f686176655f6c61746573745f74696d65203f2046616c73650014a02a6660b6a6660b6006294454cc1712411c6d7573745f686f6c645f736869705f746f6b656e203f2046616c73650014a02a6660b6a6660b6004294454cc1712411e6d7573745f686f6c645f696e697469616c5f6675656c203f2046616c73650014a02a6660b6002294454cc17124011a6d7573745f686f6c645f335f617373657473203f2046616c73650014a029405280a5014a029405280a5014a06068664600200244a6660c0002290000981d99801001183180099198008009bab3025305e375403244a6660c0002297ae01323332223233001001003225333066001100313233068374e660d06ea4018cc1a0dd49bae30650013306837506eb4c1980052f5c06600600660d400460d00026eb8c17c004dd59830000998018019832001183100099b8733301f3756604660b86ea805c1252201044655454c0003f303433301e3756604460b66ea805809401ccdc39bad305d305e305e305e305e305a37540246eb4c174c168dd500819b8f375c60b860ba60ba60ba60b26ea8044010cdc79bae30193058375402000866e240e0c8cdc018009bad301e3058375402060026eb4c07cc160dd50081299982a99b88001480004c0cc0044004cdd79ba601f374c64646466660026666002a6660ac606490000a5eb7bdb1804c8c8cc0040052f5bded8c044a6660ba0022660bc66ec0dd48131ba60034bd6f7b630099191919299982e98049980501500109983119bb037520546e9801c01454ccc174cdc781500109983119bb037520546e9801c00c4cc188cdd81ba9002374c0026600c00c0066eacc17c00cdd7182e8011830801182f8009919800800a5eb7bdb180894ccc1700044cc174cdd81ba90074c010101004bd6f7b630099191919299982e18041980480580109983099bb037520169810101000051533305c3371e0160042660c266ec0dd4805a61010100003133061337606ea4008dd4000998030030019bad305e003375c60b800460c000460bc0020460089001023245044655454c0003c22225333059303200110041323233001001006225333060001133061337606ea4018dd3001a5eb7bdb1804c8c8c8c94ccc180c030cc0340280084cc194cdd81ba900a374c00e00a2a6660c066e3c0280084c94ccc184c0e8c18cdd500089983319bb0375201660ce60c86ea80040104010c94ccc1854ccc1940045288a5014c0103d87a80001303e33066374c00297ae03233001001002225333066001133067337606ea402cdd400525eb7bdb1804c8c8c8c94ccc198c048cc04c03c0084cc1accdd81ba900f375001c00a2a6660cc66e3c03c0084c94ccc19cc100c1a4dd500089983619bb0375202060da60d46ea80040104010c94ccc19cc1000045300103d87a8000130443306c375000297ae03370000201c2660d666ec0dd48011ba800133006006003375a60d00066eb8c198008c1a8008c1a00044cc194cdd81ba9002374c0026600c00c0066eacc18800cdd7183000118320011831000991900119198008008011129998300008a4c264a6660c200229309919299982f981c18309baa3300c375c60c260ca0086eb8c1840084cc014014cc19000800454cc1812401326b65797320696e206173736f63696174697665206c697374206172656e277420696e20617363656e64696e67206f7264657200163065002306300130630013305e337606ea4008dd4000a5eb7bdb180dd7a60103d879800022533305533720004002298103d8798000153330553371e0040022980103d87a800014c103d87b8000330024890550494c4f540030033004375a603660aa6ea804ccc005220104534849500030023003375a603460a86ea804888cdc500100091b9800123732660046ea00052201003001001222533333305700213232323232323300b0020013371491010128000025333053337100069007099b80483c80400c54ccc14ccdc4001a410004266e00cdc0241002800690068a9982a24929576861742061726520796f7520646f696e673f204e6f2049206d65616e2c20736572696f75736c792e001653330560011337149101035b5d2900004133714911035b5f2000375c60aa66600e00266ec1300102415d00375266e292210129000042233760980103422c2000375266601001000466e28dd7182b0009bae3057001375860a80046eb4c148004c8cdd81ba83052001374e60a60026ea80084c94ccc1500044cdc5245027b7d00002133714911037b5f2000375c60a664646600200200644a6660ae00220062664466ec130103422c2000375266601201260ae00466e29221023a20003330090093058002337146eb8c15c004dd7182c000982c80099801001182d00099bb04c10342207d0037520046eac0084c94ccc1500044cdc52441025b5d00002133714911035b5f2000375c60a666600a00266ec1300102415d0037520044466ec1300103422c2000375266600c00c00466e28dd7182a0009bae3055001375800426600a6eb40080044c8c8cdc524410268270000132333001001337006e3400920013371491101270000322253330533371000490000800899191919980300319b8000548004cdc599b80002533305633710004900a0a40c02903719b8b33700002a6660ac66e2000520141481805206e0043370c004901019b8300148080cdc70020011bae00222232330010010042253330540011004133003305600133002002305700122323300100100322533304e30270011337149110130000031533304e337100029000099b8a489012d0033002002302c00113300533708002900a19b8b3370066e1400520144818000cc0040048894ccc12ccdc4801240002002266600600666e1000920143371666e00cdc28012402890300008a9982481f0b180818251baa3011304a375402aa66608c603e60906ea80044c94ccc12c00454cc120110584c8c94ccc13400454cc128118584c8c94ccc13c00454cc130120584c8c94ccc14400454cc138128584c8c94ccc14c00454cc140130584c94ccc150c15c008526153305104d16325333333058001153305104d16153305104d16153305104d161375a0022a660a209a2c60aa00260aa00464a6666660ac0022a6609e0962c2a6609e0962c2a6609e0962c2a6609e0962c26eb8004c14c004c14c008c94cccccc15000454cc1341245854cc1341245854cc1341245854cc134124584dd7000982880098288011929999998290008a998258238b0a998258238b0a998258238b09bad001153304b04716304f001304f0023253333330500011533049045161533049045161533049045161375a0022a6609208a2c609a00260926ea800454cc11c10c594cccccc134004400454cc1181085854cc1181085854cc1181085854cc11810858c128c11cdd50008a99822a493165787065637420496e6c696e65446174756d28736869705f646174756d29203d20736869705f73746174652e646174756d00163007304637540022a6608807e2c6090002646600200202644a66608e002297ae0132325333045325333046302230483754002266e3c04cdd7182618249baa00114a0601c60906ea8c038c120dd50010998250011980200200089980200200098258011824800a999820180c98211baa0011325333045001153304203c16132325333047001153304403e161325333048304b002149854cc1140fc58c94cccccc13000454cc1140fc5854cc1140fc5854cc1140fc5854cc1140fc584dd7000982480098248011929999998250008a9982181e8b0a9982181e8b0a9982181e8b09bad001153304303d163047001304337540022a660820762ca66666608e00220022a660800742c2a660800742c2a660800742c2a660800742c608860826ea800454cc0fd2413e65787065637420496e6c696e65446174756d28617374657269615f646174756d29203d20617374657269615f696e7075742e6f75747075742e646174756d0016300130403754600e60806ea80108c10cc110c110004c06cccc004dd59802981f1baa3005303e37540046eb8c010c0f8dd50141bae3005303e375405044464a66607c603460806ea8004520001375a608860826ea8004c94ccc0f8c068c100dd50008a60103d87a8000132330010013756608a60846ea8008894ccc110004530103d87a8000132323253330433371e00e6eb8c11400c4c080cc120dd4000a5eb804cc014014008dd698228011824001182300099804001801181f981e1baa001153303a03116323300100100c22533303e00114c103d87a800013232533303c32533303d3016303f375400229404cdc79bae304330403754002056600a607e6ea8c014c0fcdd51803181f9baa00213019330410024bd70099802002000982100118200009181f0009181e981f000899299981d8008a9981c01a8b099299981e181f8010a99981c19b8748004dd6981d8008a51153303903616153303903616303d001325333037301330393754002297adef6c6013756607a60746ea8004cc00400800c88c8cc00400400c894ccc0f40045300103d87a80001323232533303c3371e00c6eb8c0f800c4c064cc104dd3000a5eb804cc014014008dd5981f0011820801181f800991980080080211299981d0008a5eb7bdb1804c8c8c8c94ccc0e8cdc7a44100002100313303f337606ea4008dd3000998030030019bab303c003375c6074004607c00460780026eb8c0e4c0d8dd50040a9981a24926657870656374204d696e742873686970796172645f706f6c69637929203d20707572706f7365001630383039303930390023756606e002606e606e0046eb0c0d4004c0d4c0d4008dd6181980098179baa303200230313032001302d37540182930a99815a4811856616c696461746f722072657475726e65642066616c7365001365632533302a30030011533302e302d37540042930a998158148b0a99981518030008a99981718169baa002149854cc0ac0a45854cc0ac0a458c0acdd5000a99999981800588058a998148138b0a998148138b0a998148138b0a998148138b0a99814a491d52756e6e696e672033206172672076616c696461746f72207370656e640013323232232322533302f323232323232323232323232323232323232323232325333045301e30473754002264a66608c604460906ea80584c8c94ccc120c084c128dd5000899192999825181318261baa001132323232323232323232323232325323233305a303300d1323232325333062001153305f05016132533306330660021325333060303b30623754002264646464a6660c8608060cc6ea80044c8c94ccc198c108c1a0dd50008991919192999835182198361baa001132323232323232323232323253330765333076305230263301f044230293035307a3754606c60f46ea80045288a9983ba481236d7573745f7370656e645f6f6e655f7363726970745f696e707574203f2046616c73650014a02a6660eca6660ec054294454cc1dd241206d7573745f696e636c7564655f70696c6f745f746f6b656e203f2046616c73650014a02a6660eca6660ec008294454cc1dd2411d6d7573745f686176655f656e6f7567685f6675656c203f2046616c73650014a02a6660eca6660ec00c294454cc1dd2411e6d7573745f726573706563745f6d61785f7370656564203f2046616c73650014a02a6660eca6660ec00a294454cc1dd241206d7573745f726573706563745f6c61746573745f74696d65203f2046616c73650014a02a6660eca6660ec004294454cc1dd241216d7573745f73756274726163745f6675656c5f746f6b656e73203f2046616c73650014a02a6660eca6660ec010294454cc1dd2411c6d7573745f6275726e5f7370656e745f6675656c203f2046616c73650014a02a6660eca6660ec014294454cc1dd241156d7573745f7570646174655f78203f2046616c73650014a02a6660eca6660ec012294454cc1dd241156d7573745f7570646174655f79203f2046616c73650014a02a6660eca6660ec00e294454cc1dd2411f6d7573745f7570646174655f75707065725f626f756e64203f2046616c73650014a02a6660eca6660ec016294454cc1dd241216d7573745f70726573657276655f70696c6f745f746f6b656e203f2046616c73650014a02a6660eca6660ec006294454cc1dd2411c6d7573745f686f6c645f736869705f746f6b656e203f2046616c73650014a02a6660ec002294454cc1dd24011a6d7573745f686f6c645f335f617373657473203f2046616c73650014a029405280a5014a029405280a5014a029405280a5014a0609e604460486eacc0d0c1e0dd500b99b8733301f3756606660ee6ea80581912201044655454c0033702014018609e66603c6eacc0c8c1d8dd500a81481b19b8900a008301900d32323371266e08dd6983c0011bad30783079001337046eb4c1e0004dd6983c183c801183a1baa02c3073375460ec60e66ea801ccdc39bad307530763076307630763072375401c012602a609800c66e1cdd6981618381baa00c3370006402266e1cdd6981518379baa00b3370006602266e3c0b0dd7183898391839183918371baa00a3330153756605260da6ea8c0a4c1b4dd501102d2441044655454c00153306b4915865787065637420536f6d6528737065656429203d0a20202020202020202020726174696f6e616c2e6e65772864697374616e63652c2074785f6c61746573745f74696d65202d2074785f6561726c696573745f74696d65290016330260023370200600a66e08004140c8cdc0180080698008061299983419b88001480004c1180044004dd6983618349baa001153306705c16302330683754604860d06ea80b8dd6983518339baa001153306505916302130663754604260cc6ea80b0cc0e40041594cccccc1a4004400454cc1881545854cc1881545854cc1881545854cc18815458c198c18cdd50008a998308298b180498311baa00115330600511630640013300602923375e603860c26ea8004c070c184dd5180e98309baa016375a60c460c60046eb4c184004c174dd50170a99982d181b0068991929998300008a9982e8270b09929998309832001099299982f181c98301baa0011323232325333062303b306437540022646464a6660ca608060ce6ea80044c8c8c8c94ccc1a4c114c1acdd5000899191919191919191929998392999839182698111980d820118129818983b1baa303230763754002294454cc1cd2401246d7573745f7370656e645f74776f5f7363726970745f696e70757473203f2046616c73650014a02a6660e4a6660e401e294454cc1cd2411c6d7573745f62655f76616c69645f70656c6c6574203f2046616c73650014a02a6660e4a6660e404c294454cc1cd241206d7573745f696e636c7564655f70696c6f745f746f6b656e203f2046616c73650014a02a6660e4a6660e4010294454cc1cd241216d7573745f686176655f70656c6c65745f706f736974696f6e203f2046616c73650014a02a6660e4a6660e4006294454cc1cd2411c6d7573745f6164645f6675656c5f746f6b656e73203f2046616c73650014a02a6660e4a6660e400e294454cc1cd241206d7573745f6e6f745f6578636565645f6361706163697479203f2046616c73650014a02a6660e4a6660e400a294454cc1cd241206d7573745f726573706563745f6c61746573745f74696d65203f2046616c73650014a02a6660e4a6660e400c294454cc1cd2411b6d7573745f70726573657276655f646174756d203f2046616c73650014a02a6660e4a6660e4008294454cc1cd2411c6d7573745f686f6c645f736869705f746f6b656e203f2046616c73650014a02a6660e4a6660e4004294454cc1cd2411a6d7573745f686f6c645f335f617373657473203f2046616c73650014a02a6660e4002294454cc1cd24011c6d7573745f6e6f745f6d696e745f746f6b656e73203f2046616c73650014a029405280a5014a029405280a5014a0294052819baf374c603a07698101a000304a301d301f3756605e60e66ea8050cdc399980d1bab302e307237540260be911044655454c003370000c02a60946660326eacc0b4c1c4dd5009012018980a9bad30733070375400a66ebc034110cdc499b80002011055533306a3370e0626eb4c0a0c1b4dd5002099b8702f375a605260da6ea801052819980a1bab3028306c3754605060d86ea8084165221044655454c00153306a05e163026306b3754604c60d66ea80c54ccc19cc100c1a4dd500089929998360008a9983482f8b0991929998370008a998358308b0991929998380008a998368318b0992999838983a0010a4c2a660dc0c82c64a6666660ea0022a660dc0c82c2a660dc0c82c2a660dc0c82c2a660dc0c82c26eb8004c1c8004c1c8008c94cccccc1cc00454cc1b01885854cc1b01885854cc1b0188584dd68008a998360310b183800098380011929999998388008a998350300b0a998350300b0a998350300b09bad001153306a06016306e001306a37540022a660d00bc2ca6666660dc00220022a660ce0ba2c2a660ce0ba2c2a660ce0ba2c2a660ce0ba2c60d660d06ea800454cc1992413c65787065637420496e6c696e65446174756d2870656c6c65745f646174756d29203d2070656c6c65745f696e7075742e6f75747075742e646174756d0016300e30673754604660ce6ea8008c10cccc038dd5981118331baa3022306637540026eb8c084c198dd50281bae3022306637540a060d060ca6ea800454cc18d2401ff65787065637420536f6d652870656c6c65745f696e70757429203d0a202020202020202020206c6973742e66696e64280a202020202020202020202020696e707574732c0a202020202020202020202020666e28696e70757429207b0a20202020202020202020202020207768656e20696e7075742e6f75747075742e616464726573732e7061796d656e745f63726564656e7469616c206973207b0a20202020202020202020202020202020566572696669636174696f6e4b657943726564656e7469616c285f29202d3e2046616c73650a2020202020202020202020202020202053637269707443726564656e7469616c28616464725f7061796d656e6b7429202d3e0a202020202020202020202020202020202020616464725f7061796d656e74203d3d2070656c6c65745f76616c696461746f725f616464726573730a20202020202020202020202020207d0a2020202020202020202020207d2c0a202020202020202020202900163301b02f2325333063303c3065375400229404cdc79bae3069306637540020a6604060ca6ea8c080c194dd5181098329baa00133037001054533333306700110011533060053161533060053161533060053161533060053163064306137540022a660be0a22c600e60c06ea800454cc17813c58c188004cc01009c8cdd7980d182f9baa001301a305f3754603660be6ea8050dd69830182e9baa02e1533305a303500d132533305b3034305d375400226464a6660ba607260be6ea80044c8c8c8c94ccc1854ccc184c0f0c044cc0280bc8c050c080c194dd5181098329baa00114a22a660c49201246d7573745f7370656e645f74776f5f7363726970745f696e70757473203f2046616c73650014a02a6660c2a6660c200c294454cc1892411d6d7573745f62655f76616c69645f61737465726961203f2046616c73650014a02a6660c2a6660c202a294454cc189241206d7573745f696e636c7564655f70696c6f745f746f6b656e203f2046616c73650014a02a6660c2a6660c2008294454cc189241226d7573745f686176655f617374657269615f706f736974696f6e203f2046616c73650014a02a6660c2a6660c2006294454cc1892411c6d7573745f6275726e5f736869705f746f6b656e203f2046616c73650014a02a6660c2a6660c2002294454cc1892411d6d7573745f6275726e5f6675656c5f746f6b656e73203f2046616c73650014a02a6660c2004294454cc1892401206d7573745f726573706563745f6c61746573745f74696d65203f2046616c73650014a029405280a5014a029405281803981f1998059bab301f30633754603e60c66ea80601412201044655454c003007375a60ca60c46ea800ccdc4199804980501400a010a400066ebcdd31983119bb037500486ea00892f5bded8c06e98cc1892f7b6301010000010100004bd6f7b6300a9982f0290b180d182f9baa301a305f375404a607666600c6eacc068c178dd5180d182f1baa3061305e37540026eb8c064c178dd50241bae301a305e37540902a660b80a62c66028050464a6660b8606a60bc6ea8004528099b8f375c60c460be6ea8004128c064c178dd5180c982f1baa301a305e375400226464a6660b8a6660b8607060186600a0544601e603660c06ea8c070c180dd50008a51153305d491236d7573745f7370656e645f6f6e655f7363726970745f696e707574203f2046616c73650014a02a6660b8a6660b8020294454cc175241206d7573745f696e636c7564655f70696c6f745f746f6b656e203f2046616c73650014a02a6660b8a6660b8004294454cc1752411c6d7573745f6275726e5f736869705f746f6b656e203f2046616c73650014a02a6660b8002294454cc17524011d6d7573745f6275726e5f6675656c5f746f6b656e73203f2046616c73650014a029405280a50300230393330063756603460bc6ea8c068c178dd5009825a441044655454c003371066600a600c04802003a90001b8733300430050230494881044655454c00371203044646600200200644a6660be002297ae013232533305d300500213306200233004004001133004004001306300230610012305d305e305e0012223253330593035305b37540022900009bad305f305c375400264a6660b2606a60b66ea80045300103d87a800013233001001375660c060ba6ea8008894ccc17c004530103d87a80001323232533305e3371e00e6eb8c18000c4c0eccc18cdd4000a5eb804cc014014008dd6983000118318011830800998068018011191980080080111299982d8008a5eb7bdb1804c8c8c8c94ccc16ccdc7a441000021003133060337606ea4008dd3000998030030019bab305d003375c60b600460be00460ba002600200244a6660b0002290000981999801001182d8009191980080080111299982c0008a5eb804c8ccc888c8cc00400400c894ccc178004400c4c8cc180dd3998301ba90063306037526eb8c174004cc180dd41bad305e0014bd7019801801983100118300009bae3057001375660b00026600600660b800460b4002600200244a6660aa002290000981819801001182c00092999827981418289baa300d30523754002294052898279baa021533304c3025304e37546600c03446466002002646600200264a6660a0605860a46ea800452f5bded8c026eacc158c14cdd5000998021bab300e30523754601c60a46ea800c014894ccc15000452f5c02660aa60a460ac0026600400460ae00244a6660a600229404c94ccc140cdc79bae305600201114a226600600600260ac00229445281119198008008019129998298008a60103d87a8000132323253330523371e00c6eb8c15000c4c0bccc15cdd3000a5eb804cc014014008dd5982a001182b801182a8009bae3050304d37540022a660969215d6578706563742053637269707443726564656e7469616c2873686970796172645f706f6c69637929203d0a202020202020736869705f696e7075742e6f75747075742e616464726573732e7061796d656e745f63726564656e7469616c00163007304c3754600e60986ea8c020c130dd5000982718259baa001153304949013665787065637420536f6d6528736869705f696e70757429203d2066696e645f696e70757428696e707574732c20736869705f726566290016323300201623375e600e60986ea8004008c134c128dd500b9119198008008019129998270008a60103d87a800013232533304c300500213029330510024bd70099802002000982900118280008a99823a48120657870656374205370656e6428736869705f72656629203d20707572706f73650016304b304837540022a6608c92015865787065637420536f6d65286d61785f73706565645f726174696f6e616c29203d0a202020202020726174696f6e616c2e6e6577286d61785f73706565642e64697374616e63652c206d61785f73706565642e74696d6529001633001375a6004608e6ea80c0dd6980198239baa030225333045301e00114c103d87a80001533304533710002900009811198251811198251ba830230023304a3750604600297ae04bd7009811198251811198251ba80023304a375000297ae04bd70118248009182418248009bad30463047002375c608a002608a0046eb8c10c004c10c008dd6982080098208011bad303f001303b3754020607a607c607c607c0046eacc0f0004c0f0c0f0008dd6181d000981d181d0011bac303800130343754606e004606c606e00260646ea8004526153303049011856616c696461746f722072657475726e65642066616c7365001365632533302e30070011325333033001153303002816132325333035001153303202a1613253330363039002149854cc0cc0ac58c94cccccc0e800454cc0cc0ac5854cc0cc0ac5854cc0cc0ac584dd68008a998198158b181b800981b80119299999981c0008a998188148b0a998188148b0a998188148b09bad0011533031029163035001303137540042a66605c6014002264a6660660022a660600502c264a666068606e0042930a998188148b19299999981c0008a998188148b0a998188148b0a998188148b09bad0011533031029163035001303137540042a66605c60120022a66606460626ea8008526153302f027161533302e300800115333032303137540042930a998178138b0a998178138b18179baa00153333330340011001153302d02516153302d02516153302d02516153302d025163300100202422533302b3004302d3754004264a6660600022a6605a0042c26464a6660640022a6605e0082c26464a6660680022a6606200c2c26464a66606c0022a660660102c26464a6660700022a6606a0142c264a66607260780042930a9981b0058b19299999981e8008a9981b0058b0a9981b0058b0a9981b0058b09bad001153303600b16303a001303a00232533333303b0011533034009161533034009161533034009161533034009161375c0026070002607000464a6666660720022a6606400e2c2a6606400e2c2a6606400e2c2a6606400e2c26eb8004c0d8004c0d8008c94cccccc0dc00454cc0c00145854cc0c00145854cc0c0014584dd68008a998180028b181a000981a00119299999981a8008a998170018b0a998170018b0a998170018b09bad001153302e003163032001302e37540042a660580022ca66666606001620162a660520442c2a660520442c2a660520442c2a660520442c605c60566ea8028dc3a40006e1d2006370e90021b8748008dd2a40006e052000370090011b884800054cc0840045854cc0840045854cc0840045854cc08400459240191496e636f72726563742072656465656d6572207479706520666f722076616c696461746f72207370656e642e0a2020202020202020202020202020202020202020446f75626c6520636865636b20796f7520686176652077726170706564207468652072656465656d657220747970652061732073706563696669656420696e20796f757220706c757475732e6a736f6e00375a0026eb4004dd68009bad001375c0026eb800524196657870656374205b736869705f6f75747075745d203d0a202020202020202020206c6973742e66696c746572280a2020202020202020202020206f7574707574732c0a202020202020202020202020666e286f757470757429207b206f75747075742e61646472657373203d3d20736869705f696e7075742e6f75747075742e61646472657373207d2c0a20202020202020202020290049013965787065637420496e6c696e65446174756d28736869705f6f75747075745f646174756d29203d20736869705f6f75747075742e646174756d0049013765787065637420736869705f6f75747075745f646174756d3a2053686970446174756d203d20736869705f6f75747075745f646174756d004901476578706563742046696e6974652874785f6561726c696573745f74696d6529203d2076616c69646974795f72616e67652e6c6f7765725f626f756e642e626f756e645f74797065004901456578706563742046696e6974652874785f6c61746573745f74696d6529203d2076616c69646974795f72616e67652e75707065725f626f756e642e626f756e645f747970650049012f6578706563742070656c6c65745f646174756d3a2050656c6c6574446174756d203d2070656c6c65745f646174756d004901ff65787065637420536f6d6528617374657269615f696e70757429203d0a202020202020202020206c6973742e66696e64280a202020202020202020202020696e707574732c0a202020202020202020202020666e28696e70757429207b0a20202020202020202020202020207768656e20696e7075742e6f75747075742e616464726573732e7061796d656e745f63726564656e7469616c206973207b0a20202020202020202020202020202020566572696669636174696f6e4b657943726564656e7469616c285f29202d3e2046616c73650a2020202020202020202020202020202053637269707443726564656e7469616c28616464725f7061796d656d6e7429202d3e0a202020202020202020202020202020202020616464725f7061796d656e74203d3d20617374657269615f76616c696461746f725f616464726573730a20202020202020202020202020207d0a2020202020202020202020207d2c0a20202020202020202020290049011672656465656d65723a205368697052656465656d657200490110646174756d3a2053686970446174756d0049013265787065637420617374657269615f646174756d3a2041737465726961446174756d203d20617374657269615f646174756d00490159657870656374205b736869705f73746174655d203d0a202020202020202020207472616e73616374696f6e2e66696e645f7363726970745f6f757470757473286f7574707574732c2073686970796172645f706f6c696379290049012965787065637420736869705f646174756d3a2053686970446174756d203d20736869705f646174756d00490120657870656374205b285f2c202d31295d203d206d696e7465645f746f6b656e730049011a72656465656d65723a20536869707961726452656465656d6572005734ae7155ceaab9e5573eae815d0aba257481", - "hash": "8a6b8c9579c225352dba85fdae1cf77eee88a37c0ed2f5e246c87f1b" + "compiledCode": "5913dc010100323232323232323223223222232232232232253330103232323232323232323232323232323232323232323232323232532323233302d301001813232323232533303230100011323232325333039303c0021500616375a607400260740046eb4c0e0004c0d0dd500f8a999819180a80089919299981b981d0010a8020b1bad30380013034375403e2a66606460100022a66606a60686ea807c540085854ccc0c8c01c00454ccc0d4c0d0dd500f8a8010b0b18191baa01e13232323232323253330373015303837540102646464646464646464646464a666086604260886ea80044c8c94ccc114c08cc118dd5000899192999823981518241baa00113232323232325323233304f302d006132323232325333057305a0021325333055302b3056375400226466066002264a6660ae607460b06ea80044c8c94ccc164c0f0c168dd5000899191919299982e981d982f1baa00113232323232323232323232325333069304c301d33044038230203042306c3754608660d86ea800454ccc1a408454ccc1a401054ccc1a401854ccc1a401454ccc1a400854ccc1a402054ccc1a402854ccc1a402454ccc1a401c54ccc1a402c54ccc1a400c40045280a5014a029405280a5014a029405280a5014a02940c0f4c140c148dd5982098351baa0153370e6660926eacc100c1a4dd500a032a441044655454c003370201401860926660906eacc0fcc1a0dd500980f81499b8900a008301700d32323371266e08dd698350011bad306a306b001337046eb4c1a8004dd69835183580118331baa0213065375460d060ca6ea801ccdc39bad30493064375401a0126026608400c66e1cdd6981c98311baa00b3370004a01e66e1cdd6981b98309baa00a3370004c01e66e3c07cdd7182218301baa00933303f3756606c60be6ea8c0d8c17cdd500c02da441044655454c00163301b0023370200600a66e08004144cc0e4028024dd6982f182d9baa001163030305a3754606260b46ea8088dd6982e182c9baa00116302e30583754605c60b06ea8080c168c15cdd50008b1818182b1baa0011630580013302d01f23375e605660aa6ea8004c0acc154dd51816182a9baa00e375a60ac60ae0046eb4c154004c144dd501e0a99982798190030991919299982a982c00109929998299814982a1baa0011323303100113253330553033305637540022646464a6660b0605c60b26ea80044c94ccc164c0dcc168dd50008991919191919299983118328010992999830182198309baa00113232323232323232325333069303f301d33044038230203042306c3754608660d86ea800454ccc1a404c54ccc1a408454ccc1a402054ccc1a400c54ccc1a401c54ccc1a401454ccc1a401854ccc1a401054ccc1a400840045280a5014a029405280a5014a029405280a503375e6e980cd300101a000303c304f30513756608060d26ea8058cdc39998241bab303f3068375402a0c8911044655454c003370000c02e609066608e6eacc0f8c19cdd500a00f014180b9bad30693066375400a66ebc0400b0cdc499b8000201305a53330613370e0506eb4c0e4c18cdd5004899b87026375a607460c66ea80245281998211bab303930623754607260c46ea806c179221044655454c0016303730613754606e60c26ea80a458dd7183180098318011bad30610013061002375a60be00260b66ea800458c174c168dd50008b1819982c9baa30303059375400460546660706eacc0bcc160dd51817982c1baa001375c605c60b06ea8144dd71817982c1baa051305a305737540022c66056046464a6660ac606860ae6ea8004528099b8f375c60b660b06ea8004150c0b4c15cdd51816982b9baa302e3057375400260b060aa6ea800458c0b8c150dd50008b182b0009981580e919baf302930533754002605260a66ea8c0a8c14cdd50061bad3054305137540782a66609e604a00c264a6660a0605c60a26ea80044c8c94ccc148c0d4c14cdd5000899191919299982b1816180519818812918069817982c9baa3030305937540022a6660ac00c2a6660ac01c2a6660ac0082a6660ac0062a6660ac002200429405280a5014a029405281803981b19981b9bab302e30573754605c60ae6ea804014d2201044655454c003007375a60b260ac6ea800ccdc419981a80f00600b2400066ebcdd39982b1ba801933056375002e97ae04c01049f0000ff0016302930533754605260a66ea806cc090ccc0c8dd5981498291baa30293052375460aa60a46ea8004dd7181418291baa04b375c605260a46ea812c58cc0980788c94ccc144c0bcc148dd50008a5013371e6eb8c158c14cdd5000826981418291baa302830523754605260a46ea80044c8c94ccc144c0d0c014cc0b00808c020c0a8c150dd51815982a1baa0011533305100915333051002100114a02940528180118189998191bab302930523754605260a46ea802c1392201044655454c003371066606203401002490001b8733303001904c4881044655454c00371201a600200244a6660a000229000099b8048008cc008008c14c00494ccc12cc0a4c130dd5181198269baa00114a02944c128dd501b2999824181318249baa3301f0172323300100132330010013302537566048609a6ea8c090c134dd50018021129998278008a5eb804cc140c134c144004cc008008c148004894ccc138004528099299982619b8f375c60a200401a29444cc00c00c004c1440045288a50375c609860926ea800458c078c120dd5180f18241baa301f304837540026094608e6ea800458cc06c04c8cdd7980e98239baa0010173048304537540022c660026eb4c068c110dd501e1bad301b3044375407844a6660866042002298103d87a80001533304333710002900009814198239814198239ba83024002330473750604800297ae04bd7009814198239814198239ba800233047375000297ae04bd701bad30453046002375c608800260880046eb8c108004c108008dd6982000098200011bad303e001303a3754002607860726ea802058c0ecc0f0c0f0c0f0008dd5981d000981d181d0011bac3038001303830380023758606c00260646ea807cc0d0c0d4008c0cc004c0bcdd500c8a999816980580c0991919299981818070008a99981998191baa01d1500216153330303013001153330333032375403a2a0042c2c60606ea80704c8c8c8c8c8c8c94ccc0d4c04cc0d8dd5011099299981b180a181b9baa00113232325333039300f303a3754002264a666074603060766ea80044c8c8c8c94ccc104c1100084c8c94ccc10cc1180084c94ccc104c05cc108dd50008991980f8008992999821981318221baa00113232323232323232323232323232323232533305401d15333054008153330540071533305400615333054005153330540041533305400315333054002100114a029405280a5014a029405280a503028303b303d3756605860aa6ea8050cdc399981a1bab302b305437540260a0911044655454c0004630343330333756605460a66ea804809001ccdc39bad30373052375401e6eb4c154c148dd500719b8f375c606a60a26ea8038010cdc79bae302a3050375401a00866e240fccc0b0dd6981298279baa00c375a604c609e6ea8030cdd79ba6019374c64646466660026666002a66609e94052f5bded8c0264646600200297adef6c60225333055001133056337606ea4094dd3001a5eb7bdb1804c8c8c8c94ccc158cdc801480109982d19bb037520526e9801c01454ccc158cdc781480109982d19bb037520526e9801c00c4cc168cdd81ba9002374c0026600c00c0066eacc15c00cdd7182a801182c801182b8009919800800a5eb7bdb180894ccc1500044cc154cdd81ba90074c010101004bd6f7b630099191919299982a99b9000b002133059337606ea402d301010100005153330553371e0160042660b266ec0dd4805a61010100003133059337606ea4008dd4000998030030019bad3056003375c60a800460b000460ac0020440089001026a45044655454c0004322225333052303000110041323233001001006225333058001133059337606ea4018dd3001a5eb7bdb1804c8c8c8c94ccc164cdc800500109982e99bb037520146e9801c01454ccc164cdc7805001099299982d181c182d9baa00113305e337606ea402cc17cc170dd5000802080219299982d299982e8008a5114a02980103d87a80001303f3305e374c00297ae0323300100100222533305e00113305f337606ea402cdd400525eb7bdb1804c8c8c8c94ccc17ccdc800780109983199bb0375201e6ea003801454ccc17ccdc78078010992999830181f18309baa001133064337606ea4040c194c188dd50008020802192999830181f0008a6103d87a80001304533064375000297ae03370000201c2660c666ec0dd48011ba800133006006003375a60c00066eb8c178008c188008c1800044cc174cdd81ba9002374c0026600c00c0066eacc16800cdd7182c001182e001182d000991900118030009982b19bb037520046ea00052f5bded8c0600200244a6660a200229309929998290008a4c26464a6660a266e40dd71829182b0021bae30520021330050053305500200116305600230540013054001337149110550494c4f5400373060046eb4c08cc134dd500919b8a489045348495000373060026eb4c088c130dd500891b9933002375000291100300100122253332333305200313232323232323300c002001337149101012800002533304f337100069007099b80483c80400c54ccc13ccdc4001a410004266e00cdc0241002800690068b2999828800899b8a4881035b5d2900005133714911035b5f2000333300800133714911025d2900005223330090090023006001223330090090020013758609e0046eb4c134004c8cdd81ba8304d001374e609c0026ea800c4c94ccc13c0044cdc52441027b7d00003133714911037b5f200032323300100100322533305200110031533305230550011323330090093051001337149101023a2000333009009305200100430540011323330090093051001337149101023a20003330090093052001300633003003305600230540013371491102207d000033756006264a66609e002266e29221025b5d00003133714911035b5f2000333300600133714911015d000032233300700700230040012233300700700200137580066e292201022c2000133005375a0040022646466e2922010268270000132333001001337006e34009200133714911012700003222533304e3371000490000800899191919980300319b8000548004cdc599b80002533305133710004900a0a40c02903719b8b33700002a6660a266e2000520141481805206e0043370c004901019b8300148080cdc70020011bae0022222323300100100522533304f00110051533304f305200113300330510010051330043051001330020023052001223233001001003225333049302700113371491101300000315333049337100029000099b8a489012d0033002002302a00113300533708002900a19b8b3370066e1400520144818000cc0040048894ccc118cdc4801240002002266600600666e1000920143371666e00cdc28012402890300008b180d18221baa301b3044375401c608c60866ea800458c070c108dd50008b18220009980c8069192999820181198209baa00113371e0266eb8c114c108dd50008a50301730413754602e60826ea800458dd7182100098210011bad3040001303c37540022c607c60766ea800458c050c0e8dd51808981d1baa002300b3330193756602060726ea8c040c0e4dd50009bae300f303937540646eb8c040c0e4dd5019181d981c1baa001163300c006232533303730153038375400229404cdc79bae303c30393754002066601c60706ea8c038c0e0dd51807981c1baa00113232533303a303d002153330373370e90009bad303900114a22c2c60760026601e00401060726074607460740046eacc0e0004c0e0c0e0008dd6181b000981b181b0011bac30340013030375403a6eb8c0c8c0bcdd500c8b1b8848000dc3a400c6e1d200422323300100100322533303000114c103d87a800013232533302f300500213014330330024bd70099802002000981a00118190009181700091816981700091192999814980618151baa00114bd6f7b63009bab302e302b37540026601800400244646600200200644a666058002297ae013232533302b300500213302f002330040040011330040040013030002302e0012302a302b302b001225333025300330263754004264646464646464646464a666064606a0042a0162c6eb4c0cc004c0cc008dd7181880098188011bae302f001302f002375a605a002605a0046eb4c0ac004c09cdd50010b1b874800088cdc0180180118018009299981099b88001480004c0080044004dc0a400044464a666044600a60466ea8004520001375a604e60486ea8004c94ccc088c014c08cdd50008a6103d87a80001323300100137566050604a6ea8008894ccc09c004530103d87a80001323232325333028337220100042a66605066e3c0200084c034cc0b0dd4000a5eb80530103d87a8000133006006003375a60520066eb8c09c008c0ac008c0a4004cc01400c008dc3a400444646600200200644a666046002298103d87a800013232323253330243372200e0042a66604866e3c01c0084c024cc0a0dd3000a5eb80530103d87a80001330060060033756604a0066eb8c08c008c09c008c094004dd2a4000460406042604260420024603e6040604060406040002600200244a66603800229000099b8048008cc008008c07c0048c8cc004004008894ccc07000452f5c0264666444646600200200644a6660440022006264660486e9ccc090dd4803198121810800998121811000a5eb80cc00c00cc098008c090004dd7180d8009bab301c001330030033020002301e001301637540026032603400460300026030004602c00260246ea800452613656375a0026eb4004dd68009bad001375c0026eb80055cd2ab9d5573caae7d5d02ba15744ae91", + "hash": "5479af9847c919229f7157e7d4ae759cd053869f22cbb2699314a08a" + }, + { + "title": "spacetime.spacetime.else", + "parameters": [ + { + "title": "pellet_validator_address", + "schema": { + "$ref": "#/definitions/ScriptAddress" + } + }, + { + "title": "asteria_validator_address", + "schema": { + "$ref": "#/definitions/ScriptAddress" + } + }, + { + "title": "admin_token", + "schema": { + "$ref": "#/definitions/asteria~1types~1AssetClass" + } + }, + { + "title": "max_speed", + "schema": { + "$ref": "#/definitions/asteria~1types~1Speed" + } + }, + { + "title": "max_ship_fuel", + "schema": { + "$ref": "#/definitions/Int" + } + }, + { + "title": "fuel_per_step", + "schema": { + "$ref": "#/definitions/Int" + } + }, + { + "title": "initial_fuel", + "schema": { + "$ref": "#/definitions/Int" + } + }, + { + "title": "min_asteria_distance", + "schema": { + "$ref": "#/definitions/Int" + } + } + ], + "compiledCode": "5913dc010100323232323232323223223222232232232232253330103232323232323232323232323232323232323232323232323232532323233302d301001813232323232533303230100011323232325333039303c0021500616375a607400260740046eb4c0e0004c0d0dd500f8a999819180a80089919299981b981d0010a8020b1bad30380013034375403e2a66606460100022a66606a60686ea807c540085854ccc0c8c01c00454ccc0d4c0d0dd500f8a8010b0b18191baa01e13232323232323253330373015303837540102646464646464646464646464a666086604260886ea80044c8c94ccc114c08cc118dd5000899192999823981518241baa00113232323232325323233304f302d006132323232325333057305a0021325333055302b3056375400226466066002264a6660ae607460b06ea80044c8c94ccc164c0f0c168dd5000899191919299982e981d982f1baa00113232323232323232323232325333069304c301d33044038230203042306c3754608660d86ea800454ccc1a408454ccc1a401054ccc1a401854ccc1a401454ccc1a400854ccc1a402054ccc1a402854ccc1a402454ccc1a401c54ccc1a402c54ccc1a400c40045280a5014a029405280a5014a029405280a5014a02940c0f4c140c148dd5982098351baa0153370e6660926eacc100c1a4dd500a032a441044655454c003370201401860926660906eacc0fcc1a0dd500980f81499b8900a008301700d32323371266e08dd698350011bad306a306b001337046eb4c1a8004dd69835183580118331baa0213065375460d060ca6ea801ccdc39bad30493064375401a0126026608400c66e1cdd6981c98311baa00b3370004a01e66e1cdd6981b98309baa00a3370004c01e66e3c07cdd7182218301baa00933303f3756606c60be6ea8c0d8c17cdd500c02da441044655454c00163301b0023370200600a66e08004144cc0e4028024dd6982f182d9baa001163030305a3754606260b46ea8088dd6982e182c9baa00116302e30583754605c60b06ea8080c168c15cdd50008b1818182b1baa0011630580013302d01f23375e605660aa6ea8004c0acc154dd51816182a9baa00e375a60ac60ae0046eb4c154004c144dd501e0a99982798190030991919299982a982c00109929998299814982a1baa0011323303100113253330553033305637540022646464a6660b0605c60b26ea80044c94ccc164c0dcc168dd50008991919191919299983118328010992999830182198309baa00113232323232323232325333069303f301d33044038230203042306c3754608660d86ea800454ccc1a404c54ccc1a408454ccc1a402054ccc1a400c54ccc1a401c54ccc1a401454ccc1a401854ccc1a401054ccc1a400840045280a5014a029405280a5014a029405280a503375e6e980cd300101a000303c304f30513756608060d26ea8058cdc39998241bab303f3068375402a0c8911044655454c003370000c02e609066608e6eacc0f8c19cdd500a00f014180b9bad30693066375400a66ebc0400b0cdc499b8000201305a53330613370e0506eb4c0e4c18cdd5004899b87026375a607460c66ea80245281998211bab303930623754607260c46ea806c179221044655454c0016303730613754606e60c26ea80a458dd7183180098318011bad30610013061002375a60be00260b66ea800458c174c168dd50008b1819982c9baa30303059375400460546660706eacc0bcc160dd51817982c1baa001375c605c60b06ea8144dd71817982c1baa051305a305737540022c66056046464a6660ac606860ae6ea8004528099b8f375c60b660b06ea8004150c0b4c15cdd51816982b9baa302e3057375400260b060aa6ea800458c0b8c150dd50008b182b0009981580e919baf302930533754002605260a66ea8c0a8c14cdd50061bad3054305137540782a66609e604a00c264a6660a0605c60a26ea80044c8c94ccc148c0d4c14cdd5000899191919299982b1816180519818812918069817982c9baa3030305937540022a6660ac00c2a6660ac01c2a6660ac0082a6660ac0062a6660ac002200429405280a5014a029405281803981b19981b9bab302e30573754605c60ae6ea804014d2201044655454c003007375a60b260ac6ea800ccdc419981a80f00600b2400066ebcdd39982b1ba801933056375002e97ae04c01049f0000ff0016302930533754605260a66ea806cc090ccc0c8dd5981498291baa30293052375460aa60a46ea8004dd7181418291baa04b375c605260a46ea812c58cc0980788c94ccc144c0bcc148dd50008a5013371e6eb8c158c14cdd5000826981418291baa302830523754605260a46ea80044c8c94ccc144c0d0c014cc0b00808c020c0a8c150dd51815982a1baa0011533305100915333051002100114a02940528180118189998191bab302930523754605260a46ea802c1392201044655454c003371066606203401002490001b8733303001904c4881044655454c00371201a600200244a6660a000229000099b8048008cc008008c14c00494ccc12cc0a4c130dd5181198269baa00114a02944c128dd501b2999824181318249baa3301f0172323300100132330010013302537566048609a6ea8c090c134dd50018021129998278008a5eb804cc140c134c144004cc008008c148004894ccc138004528099299982619b8f375c60a200401a29444cc00c00c004c1440045288a50375c609860926ea800458c078c120dd5180f18241baa301f304837540026094608e6ea800458cc06c04c8cdd7980e98239baa0010173048304537540022c660026eb4c068c110dd501e1bad301b3044375407844a6660866042002298103d87a80001533304333710002900009814198239814198239ba83024002330473750604800297ae04bd7009814198239814198239ba800233047375000297ae04bd701bad30453046002375c608800260880046eb8c108004c108008dd6982000098200011bad303e001303a3754002607860726ea802058c0ecc0f0c0f0c0f0008dd5981d000981d181d0011bac3038001303830380023758606c00260646ea807cc0d0c0d4008c0cc004c0bcdd500c8a999816980580c0991919299981818070008a99981998191baa01d1500216153330303013001153330333032375403a2a0042c2c60606ea80704c8c8c8c8c8c8c94ccc0d4c04cc0d8dd5011099299981b180a181b9baa00113232325333039300f303a3754002264a666074603060766ea80044c8c8c8c94ccc104c1100084c8c94ccc10cc1180084c94ccc104c05cc108dd50008991980f8008992999821981318221baa00113232323232323232323232323232323232533305401d15333054008153330540071533305400615333054005153330540041533305400315333054002100114a029405280a5014a029405280a503028303b303d3756605860aa6ea8050cdc399981a1bab302b305437540260a0911044655454c0004630343330333756605460a66ea804809001ccdc39bad30373052375401e6eb4c154c148dd500719b8f375c606a60a26ea8038010cdc79bae302a3050375401a00866e240fccc0b0dd6981298279baa00c375a604c609e6ea8030cdd79ba6019374c64646466660026666002a66609e94052f5bded8c0264646600200297adef6c60225333055001133056337606ea4094dd3001a5eb7bdb1804c8c8c8c94ccc158cdc801480109982d19bb037520526e9801c01454ccc158cdc781480109982d19bb037520526e9801c00c4cc168cdd81ba9002374c0026600c00c0066eacc15c00cdd7182a801182c801182b8009919800800a5eb7bdb180894ccc1500044cc154cdd81ba90074c010101004bd6f7b630099191919299982a99b9000b002133059337606ea402d301010100005153330553371e0160042660b266ec0dd4805a61010100003133059337606ea4008dd4000998030030019bad3056003375c60a800460b000460ac0020440089001026a45044655454c0004322225333052303000110041323233001001006225333058001133059337606ea4018dd3001a5eb7bdb1804c8c8c8c94ccc164cdc800500109982e99bb037520146e9801c01454ccc164cdc7805001099299982d181c182d9baa00113305e337606ea402cc17cc170dd5000802080219299982d299982e8008a5114a02980103d87a80001303f3305e374c00297ae0323300100100222533305e00113305f337606ea402cdd400525eb7bdb1804c8c8c8c94ccc17ccdc800780109983199bb0375201e6ea003801454ccc17ccdc78078010992999830181f18309baa001133064337606ea4040c194c188dd50008020802192999830181f0008a6103d87a80001304533064375000297ae03370000201c2660c666ec0dd48011ba800133006006003375a60c00066eb8c178008c188008c1800044cc174cdd81ba9002374c0026600c00c0066eacc16800cdd7182c001182e001182d000991900118030009982b19bb037520046ea00052f5bded8c0600200244a6660a200229309929998290008a4c26464a6660a266e40dd71829182b0021bae30520021330050053305500200116305600230540013054001337149110550494c4f5400373060046eb4c08cc134dd500919b8a489045348495000373060026eb4c088c130dd500891b9933002375000291100300100122253332333305200313232323232323300c002001337149101012800002533304f337100069007099b80483c80400c54ccc13ccdc4001a410004266e00cdc0241002800690068b2999828800899b8a4881035b5d2900005133714911035b5f2000333300800133714911025d2900005223330090090023006001223330090090020013758609e0046eb4c134004c8cdd81ba8304d001374e609c0026ea800c4c94ccc13c0044cdc52441027b7d00003133714911037b5f200032323300100100322533305200110031533305230550011323330090093051001337149101023a2000333009009305200100430540011323330090093051001337149101023a20003330090093052001300633003003305600230540013371491102207d000033756006264a66609e002266e29221025b5d00003133714911035b5f2000333300600133714911015d000032233300700700230040012233300700700200137580066e292201022c2000133005375a0040022646466e2922010268270000132333001001337006e34009200133714911012700003222533304e3371000490000800899191919980300319b8000548004cdc599b80002533305133710004900a0a40c02903719b8b33700002a6660a266e2000520141481805206e0043370c004901019b8300148080cdc70020011bae0022222323300100100522533304f00110051533304f305200113300330510010051330043051001330020023052001223233001001003225333049302700113371491101300000315333049337100029000099b8a489012d0033002002302a00113300533708002900a19b8b3370066e1400520144818000cc0040048894ccc118cdc4801240002002266600600666e1000920143371666e00cdc28012402890300008b180d18221baa301b3044375401c608c60866ea800458c070c108dd50008b18220009980c8069192999820181198209baa00113371e0266eb8c114c108dd50008a50301730413754602e60826ea800458dd7182100098210011bad3040001303c37540022c607c60766ea800458c050c0e8dd51808981d1baa002300b3330193756602060726ea8c040c0e4dd50009bae300f303937540646eb8c040c0e4dd5019181d981c1baa001163300c006232533303730153038375400229404cdc79bae303c30393754002066601c60706ea8c038c0e0dd51807981c1baa00113232533303a303d002153330373370e90009bad303900114a22c2c60760026601e00401060726074607460740046eacc0e0004c0e0c0e0008dd6181b000981b181b0011bac30340013030375403a6eb8c0c8c0bcdd500c8b1b8848000dc3a400c6e1d200422323300100100322533303000114c103d87a800013232533302f300500213014330330024bd70099802002000981a00118190009181700091816981700091192999814980618151baa00114bd6f7b63009bab302e302b37540026601800400244646600200200644a666058002297ae013232533302b300500213302f002330040040011330040040013030002302e0012302a302b302b001225333025300330263754004264646464646464646464a666064606a0042a0162c6eb4c0cc004c0cc008dd7181880098188011bae302f001302f002375a605a002605a0046eb4c0ac004c09cdd50010b1b874800088cdc0180180118018009299981099b88001480004c0080044004dc0a400044464a666044600a60466ea8004520001375a604e60486ea8004c94ccc088c014c08cdd50008a6103d87a80001323300100137566050604a6ea8008894ccc09c004530103d87a80001323232325333028337220100042a66605066e3c0200084c034cc0b0dd4000a5eb80530103d87a8000133006006003375a60520066eb8c09c008c0ac008c0a4004cc01400c008dc3a400444646600200200644a666046002298103d87a800013232323253330243372200e0042a66604866e3c01c0084c024cc0a0dd3000a5eb80530103d87a80001330060060033756604a0066eb8c08c008c09c008c094004dd2a4000460406042604260420024603e6040604060406040002600200244a66603800229000099b8048008cc008008c07c0048c8cc004004008894ccc07000452f5c0264666444646600200200644a6660440022006264660486e9ccc090dd4803198121810800998121811000a5eb80cc00c00cc098008c090004dd7180d8009bab301c001330030033020002301e001301637540026032603400460300026030004602c00260246ea800452613656375a0026eb4004dd68009bad001375c0026eb80055cd2ab9d5573caae7d5d02ba15744ae91", + "hash": "5479af9847c919229f7157e7d4ae759cd053869f22cbb2699314a08a" } ], "definitions": { - "ByteArray": { + "AssetName": { + "title": "AssetName", "dataType": "bytes" }, "Data": { @@ -257,35 +364,17 @@ "Int": { "dataType": "integer" }, - "RedeemerWrapper$asteria/types/PelletRedeemer": { - "title": "Wrapped Redeemer", - "description": "A redeemer wrapped in an extra constructor to make multi-validator detection possible on-chain.", - "anyOf": [ - { - "dataType": "constructor", - "index": 1, - "fields": [ - { - "$ref": "#/definitions/asteria~1types~1PelletRedeemer" - } - ] - } - ] + "PolicyId": { + "title": "PolicyId", + "dataType": "bytes" }, - "RedeemerWrapper$asteria/types/ShipRedeemer": { - "title": "Wrapped Redeemer", - "description": "A redeemer wrapped in an extra constructor to make multi-validator detection possible on-chain.", - "anyOf": [ - { - "dataType": "constructor", - "index": 1, - "fields": [ - { - "$ref": "#/definitions/asteria~1types~1ShipRedeemer" - } - ] - } - ] + "PosixTime": { + "title": "PosixTime", + "dataType": "integer" + }, + "ScriptAddress": { + "title": "ScriptAddress", + "dataType": "bytes" }, "asteria/types/AssetClass": { "title": "AssetClass", @@ -297,11 +386,11 @@ "fields": [ { "title": "policy", - "$ref": "#/definitions/ByteArray" + "$ref": "#/definitions/PolicyId" }, { "title": "name", - "$ref": "#/definitions/ByteArray" + "$ref": "#/definitions/AssetName" } ] } @@ -321,7 +410,7 @@ }, { "title": "shipyard_policy", - "$ref": "#/definitions/ByteArray" + "$ref": "#/definitions/PolicyId" } ] } @@ -385,7 +474,7 @@ }, { "title": "shipyard_policy", - "$ref": "#/definitions/ByteArray" + "$ref": "#/definitions/PolicyId" } ] } @@ -431,15 +520,15 @@ }, { "title": "ship_token_name", - "$ref": "#/definitions/ByteArray" + "$ref": "#/definitions/AssetName" }, { "title": "pilot_token_name", - "$ref": "#/definitions/ByteArray" + "$ref": "#/definitions/AssetName" }, { "title": "last_move_latest_time", - "$ref": "#/definitions/Int" + "$ref": "#/definitions/PosixTime" } ] } diff --git a/onchain/src/validators/tests/asteria/add_new_ship.ak b/onchain/src/validators/tests/asteria/add_new_ship.ak index ec0fe9d..063fc2d 100644 --- a/onchain/src/validators/tests/asteria/add_new_ship.ak +++ b/onchain/src/validators/tests/asteria/add_new_ship.ak @@ -1,16 +1,13 @@ -use aiken/bytearray -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - InlineDatum, Input, Output, OutputReference, ScriptContext, Spend, Transaction, - TransactionId, -} -use aiken/transaction/credential.{Address, ScriptCredential} -use aiken/transaction/value.{ada_asset_name, ada_policy_id} use asteria use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AddNewShip, AssetClass, AsteriaDatum} +use cardano/address.{Address, Script} +use cardano/assets.{ada_asset_name, ada_policy_id, add, from_lovelace, zero} +use cardano/transaction.{ + InlineDatum, Input, Output, OutputReference, Spend, Transaction, +} // ============================================================================================== // AddNewShip Tests @@ -41,15 +38,15 @@ fn addNewShip(options: AddTestOptions) -> Bool { let redeemer = AddNewShip let asteria_address = Address { - payment_credential: ScriptCredential(mock.asteria_credential), + payment_credential: Script(mock.asteria_credential), stake_credential: None, } let asteria_value = if options.include_admin_token { - value.from_lovelace(10_000_000) - |> value.add(mock.admin_policy, mock.admin_token_name, 1) + from_lovelace(10_000_000) + |> add(mock.admin_policy, mock.admin_token_name, 1) } else { - value.from_lovelace(10_000_000) + from_lovelace(10_000_000) } let asteria_datum = AsteriaDatum { ship_counter, shipyard_policy: mock.shipyard_policy } @@ -62,10 +59,7 @@ fn addNewShip(options: AddTestOptions) -> Bool { reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } let asteria_out = @@ -73,7 +67,7 @@ fn addNewShip(options: AddTestOptions) -> Bool { address: asteria_address, value: if options.pay_fee { asteria_in.output.value - |> value.add(ada_policy_id, ada_asset_name, ship_mint_lovelace_fee) + |> add(ada_policy_id, ada_asset_name, ship_mint_lovelace_fee) } else { asteria_in.output.value }, @@ -93,10 +87,10 @@ fn addNewShip(options: AddTestOptions) -> Bool { inputs: [asteria_in], reference_inputs: [], outputs: [asteria_out], - fee: value.from_lovelace(5_000), - mint: value.to_minted_value(value.zero()), + fee: 5_000, + mint: zero, certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(1), is_inclusive: True }, upper_bound: IntervalBound { @@ -105,49 +99,43 @@ fn addNewShip(options: AddTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), - value: { - let redeemer_data: Data = redeemer - redeemer_data + redeemers: [ + Pair( + Spend( + OutputReference { + transaction_id: mock.transaction_id_1, + output_index: 0, }, - compare: test_utils.script_purpose_compare, ), - datums: dict.new() + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty |> dict.insert( mock.transaction_id_1, { let datum_data: Data = InlineDatum(asteria_datum) datum_data }, - compare: bytearray.compare, ), - id: TransactionId { hash: mock.transaction_id_3 }, - } - let spend_ctx = - ScriptContext { - transaction: tx, - purpose: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), + id: mock.transaction_id_3, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } let result = - asteria.spend( + asteria.asteria.spend( admin_token, ship_mint_lovelace_fee, max_asteria_mining, - asteria_datum, + Some(asteria_datum), redeemer, - spend_ctx, + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 }, + tx, ) result } diff --git a/onchain/src/validators/tests/asteria/consume.ak b/onchain/src/validators/tests/asteria/consume.ak index eda54e2..f2ca029 100644 --- a/onchain/src/validators/tests/asteria/consume.ak +++ b/onchain/src/validators/tests/asteria/consume.ak @@ -1,18 +1,13 @@ -use aiken/bytearray -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - InlineDatum, Input, NoDatum, Output, OutputReference, ScriptContext, Spend, - Transaction, TransactionId, -} -use aiken/transaction/credential.{ - Address, ScriptCredential, VerificationKeyCredential, -} -use aiken/transaction/value use asteria use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, AsteriaDatum, ConsumeAsteria} +use cardano/address.{Address, Script, VerificationKey} +use cardano/assets.{add, from_lovelace, zero} +use cardano/transaction.{ + InlineDatum, Input, NoDatum, Output, OutputReference, Spend, Transaction, +} // ============================================================================================== // Consume Tests @@ -38,17 +33,17 @@ fn consume(options: ConsumeTestOptions) -> Bool { let admin_address = Address { payment_credential: if options.is_wallet_address { - VerificationKeyCredential(mock.admin_credential) + VerificationKey(mock.admin_credential) } else { - ScriptCredential(mock.admin_credential) + Script(mock.admin_credential) }, stake_credential: None, } let admin_in = { let output = { let value = - value.from_lovelace(2_000_000) - |> value.add(admin_token.policy, admin_token.name, 1) + from_lovelace(2_000_000) + |> add(admin_token.policy, admin_token.name, 1) Output { address: admin_address, value, @@ -57,16 +52,13 @@ fn consume(options: ConsumeTestOptions) -> Bool { } } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_2 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_2, output_index: 0 } Input { output_reference, output } } let asteria_address = Address { - payment_credential: ScriptCredential(mock.asteria_credential), + payment_credential: Script(mock.asteria_credential), stake_credential: None, } let asteria_datum = @@ -75,16 +67,13 @@ fn consume(options: ConsumeTestOptions) -> Bool { let output = Output { address: asteria_address, - value: value.from_lovelace(12_000_000) - |> value.add(mock.admin_policy, mock.admin_token_name, 1), + value: from_lovelace(12_000_000) + |> add(mock.admin_policy, mock.admin_token_name, 1), datum: InlineDatum(asteria_datum), reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } @@ -97,10 +86,10 @@ fn consume(options: ConsumeTestOptions) -> Bool { }, reference_inputs: [], outputs: [], - fee: value.from_lovelace(5_000), - mint: value.to_minted_value(value.zero()), + fee: 5_000, + mint: zero, certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(1), is_inclusive: True }, upper_bound: IntervalBound { @@ -109,49 +98,43 @@ fn consume(options: ConsumeTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), - value: { - let redeemer_data: Data = redeemer - redeemer_data + redeemers: [ + Pair( + Spend( + OutputReference { + transaction_id: mock.transaction_id_1, + output_index: 0, }, - compare: test_utils.script_purpose_compare, ), - datums: dict.new() + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty |> dict.insert( mock.transaction_id_1, { let datum_data: Data = InlineDatum(asteria_datum) datum_data }, - compare: bytearray.compare, ), - id: TransactionId { hash: mock.transaction_id_3 }, - } - let spend_ctx = - ScriptContext { - transaction: tx, - purpose: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), + id: mock.transaction_id_3, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } let result = - asteria.spend( + asteria.asteria.spend( admin_token, ship_mint_lovelace_fee, max_asteria_mining, - asteria_datum, + Some(asteria_datum), redeemer, - spend_ctx, + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 }, + tx, ) result } diff --git a/onchain/src/validators/tests/asteria/mine.ak b/onchain/src/validators/tests/asteria/mine.ak index e955f0a..89efce6 100644 --- a/onchain/src/validators/tests/asteria/mine.ak +++ b/onchain/src/validators/tests/asteria/mine.ak @@ -1,16 +1,13 @@ -use aiken/bytearray -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - InlineDatum, Input, NoDatum, Output, OutputReference, ScriptContext, Spend, - Transaction, TransactionId, -} -use aiken/transaction/credential.{Address, ScriptCredential} -use aiken/transaction/value.{ada_asset_name, ada_policy_id} use asteria use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, AsteriaDatum, Mine} +use cardano/address.{Address, Script} +use cardano/assets.{ada_asset_name, ada_policy_id, add, from_lovelace, zero} +use cardano/transaction.{ + InlineDatum, Input, NoDatum, Output, OutputReference, Spend, Transaction, +} // ============================================================================================== // Mine Tests @@ -39,7 +36,7 @@ fn mine(options: MineTestOptions) -> Bool { let redeemer = Mine let asteria_address = Address { - payment_credential: ScriptCredential(mock.asteria_credential), + payment_credential: Script(mock.asteria_credential), stake_credential: None, } let asteria_datum = @@ -48,29 +45,26 @@ fn mine(options: MineTestOptions) -> Bool { let output = Output { address: asteria_address, - value: value.from_lovelace(12_000_000) - |> value.add(mock.admin_policy, mock.admin_token_name, 1), + value: from_lovelace(12_000_000) + |> add(mock.admin_policy, mock.admin_token_name, 1), datum: InlineDatum(asteria_datum), reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } let ship_address = Address { - payment_credential: ScriptCredential(mock.ship_credential), + payment_credential: Script(mock.ship_credential), stake_credential: None, } let ship_value = if options.include_ship_token { - value.from_lovelace(2_000_000) - |> value.add(mock.shipyard_policy, mock.ship_token_name, 1) + from_lovelace(2_000_000) + |> add(mock.shipyard_policy, mock.ship_token_name, 1) } else { - value.from_lovelace(2_000_000) + from_lovelace(2_000_000) } let ship_in = { @@ -82,17 +76,14 @@ fn mine(options: MineTestOptions) -> Bool { reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_2 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_2, output_index: 0 } Input { output_reference, output } } let asteria_out = Output { address: asteria_address, value: asteria_in.output.value - |> value.add(ada_policy_id, ada_asset_name, -options.lovelace_mined), + |> add(ada_policy_id, ada_asset_name, -options.lovelace_mined), datum: if options.preserve_counter { InlineDatum(asteria_datum) } else { @@ -107,10 +98,10 @@ fn mine(options: MineTestOptions) -> Bool { inputs: [asteria_in, ship_in], reference_inputs: [], outputs: [asteria_out], - fee: value.from_lovelace(5_000), - mint: value.to_minted_value(value.zero()), + fee: 5_000, + mint: zero, certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(1), is_inclusive: True }, upper_bound: IntervalBound { @@ -119,49 +110,43 @@ fn mine(options: MineTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), - value: { - let redeemer_data: Data = redeemer - redeemer_data + redeemers: [ + Pair( + Spend( + OutputReference { + transaction_id: mock.transaction_id_1, + output_index: 0, }, - compare: test_utils.script_purpose_compare, ), - datums: dict.new() + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty |> dict.insert( mock.transaction_id_1, { let datum_data: Data = InlineDatum(asteria_datum) datum_data }, - compare: bytearray.compare, ), - id: TransactionId { hash: mock.transaction_id_3 }, - } - let spend_ctx = - ScriptContext { - transaction: tx, - purpose: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), + id: mock.transaction_id_3, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } let result = - asteria.spend( + asteria.asteria.spend( admin_token, ship_mint_lovelace_fee, max_asteria_mining, - asteria_datum, + Some(asteria_datum), redeemer, - spend_ctx, + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 }, + tx, ) result } diff --git a/onchain/src/validators/tests/fuel/burn_fuel.ak b/onchain/src/validators/tests/fuel/burn_fuel.ak index c0a6a30..2e42f2c 100644 --- a/onchain/src/validators/tests/fuel/burn_fuel.ak +++ b/onchain/src/validators/tests/fuel/burn_fuel.ak @@ -1,10 +1,9 @@ -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{Mint, ScriptContext, Transaction, TransactionId} -use aiken/transaction/value use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, BurnFuel} +use cardano/assets.{from_asset} +use cardano/transaction.{Mint, Transaction} use pellet // ============================================================================================== @@ -28,12 +27,10 @@ fn burn_fuel(options: BurnTestOptions) -> Bool { inputs: [], reference_inputs: [], outputs: [], - fee: value.from_lovelace(5_000), - mint: value.to_minted_value( - value.from_asset(mock.fuel_policy, "FUEL", -options.fuel_tokens_burnt), - ), + fee: 5_000, + mint: from_asset(mock.fuel_policy, "FUEL", -options.fuel_tokens_burnt), certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(1), is_inclusive: True }, upper_bound: IntervalBound { @@ -42,21 +39,23 @@ fn burn_fuel(options: BurnTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Mint(mock.fuel_policy), - value: { - let redeemer_data: Data = redeemer - redeemer_data - }, - compare: test_utils.script_purpose_compare, - ), - datums: dict.new(), - id: TransactionId { hash: mock.transaction_id_2 }, + redeemers: [ + Pair( + Mint(mock.fuel_policy), + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty, + id: mock.transaction_id_2, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } - let mint_ctx = - ScriptContext { transaction: tx, purpose: Mint(mock.fuel_policy) } - let result = pellet.mint(admin_token, redeemer, ctx: mint_ctx) + let result = pellet.pellet.mint(admin_token, redeemer, mock.fuel_policy, tx) result } diff --git a/onchain/src/validators/tests/fuel/mint_fuel.ak b/onchain/src/validators/tests/fuel/mint_fuel.ak index 8a05b76..796518d 100644 --- a/onchain/src/validators/tests/fuel/mint_fuel.ak +++ b/onchain/src/validators/tests/fuel/mint_fuel.ak @@ -1,14 +1,12 @@ -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - Input, Mint, NoDatum, Output, OutputReference, ScriptContext, Transaction, - TransactionId, -} -use aiken/transaction/credential.{Address, VerificationKeyCredential} -use aiken/transaction/value.{add, from_lovelace} use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, MintFuel} +use cardano/address.{Address, VerificationKey} +use cardano/assets.{add, from_asset, from_lovelace} +use cardano/transaction.{ + Input, Mint, NoDatum, Output, OutputReference, Transaction, +} use pellet // ============================================================================================== @@ -30,7 +28,7 @@ fn mint_fuel(options: MintTestOptions) -> Bool { AssetClass { policy: mock.admin_policy, name: mock.admin_token_name } let admin_address = Address { - payment_credential: VerificationKeyCredential(mock.admin_credential), + payment_credential: VerificationKey(mock.admin_credential), stake_credential: None, } let admin_input = { @@ -47,7 +45,7 @@ fn mint_fuel(options: MintTestOptions) -> Bool { } Input { output_reference: OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, + transaction_id: mock.transaction_id_1, output_index: 0, }, output, @@ -62,12 +60,10 @@ fn mint_fuel(options: MintTestOptions) -> Bool { }, reference_inputs: [], outputs: [], - fee: value.from_lovelace(5_000), - mint: value.to_minted_value( - value.from_asset(mock.fuel_policy, "FUEL", options.fuel_tokens_minted), - ), + fee: 5_000, + mint: from_asset(mock.fuel_policy, "FUEL", options.fuel_tokens_minted), certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(1), is_inclusive: True }, upper_bound: IntervalBound { @@ -76,21 +72,23 @@ fn mint_fuel(options: MintTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Mint(mock.fuel_policy), - value: { - let redeemer_data: Data = redeemer - redeemer_data - }, - compare: test_utils.script_purpose_compare, - ), - datums: dict.new(), - id: TransactionId { hash: mock.transaction_id_2 }, + redeemers: [ + Pair( + Mint(mock.fuel_policy), + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty, + id: mock.transaction_id_2, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } - let mint_ctx = - ScriptContext { transaction: tx, purpose: Mint(mock.fuel_policy) } - let result = pellet.mint(admin_token, redeemer, ctx: mint_ctx) + let result = pellet.pellet.mint(admin_token, redeemer, mock.fuel_policy, tx) result } diff --git a/onchain/src/validators/tests/pellet/consume.ak b/onchain/src/validators/tests/pellet/consume.ak index 178264e..ea846c4 100644 --- a/onchain/src/validators/tests/pellet/consume.ak +++ b/onchain/src/validators/tests/pellet/consume.ak @@ -1,17 +1,12 @@ -use aiken/bytearray -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - InlineDatum, Input, NoDatum, Output, OutputReference, ScriptContext, Spend, - Transaction, TransactionId, -} -use aiken/transaction/credential.{ - Address, ScriptCredential, VerificationKeyCredential, -} -use aiken/transaction/value use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, ConsumePellet, PelletDatum} +use cardano/address.{Address, Script, VerificationKey} +use cardano/assets.{add, from_asset, from_lovelace, zero} +use cardano/transaction.{ + InlineDatum, Input, NoDatum, Output, OutputReference, Spend, Transaction, +} use pellet // ============================================================================================== @@ -40,17 +35,17 @@ fn consume(options: ConsumeTestOptions) -> Bool { let admin_address = Address { payment_credential: if options.is_wallet_address { - VerificationKeyCredential(mock.admin_credential) + VerificationKey(mock.admin_credential) } else { - ScriptCredential(mock.admin_credential) + Script(mock.admin_credential) }, stake_credential: None, } let admin_in = { let output = { let value = - value.from_lovelace(2_000_000) - |> value.add(admin_token.policy, admin_token.name, 1) + from_lovelace(2_000_000) + |> add(admin_token.policy, admin_token.name, 1) Output { address: admin_address, value, @@ -59,16 +54,13 @@ fn consume(options: ConsumeTestOptions) -> Bool { } } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_2 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_2, output_index: 0 } Input { output_reference, output } } let pellet_address = Address { - payment_credential: ScriptCredential(mock.pellet_credential), + payment_credential: Script(mock.pellet_credential), stake_credential: None, } let pellet_datum = @@ -77,17 +69,14 @@ fn consume(options: ConsumeTestOptions) -> Bool { let output = Output { address: pellet_address, - value: value.from_lovelace(2_000_000) - |> value.add(mock.admin_policy, mock.admin_token_name, 1) - |> value.add(mock.pellet_credential, "FUEL", 20), + value: from_lovelace(2_000_000) + |> add(mock.admin_policy, mock.admin_token_name, 1) + |> add(mock.pellet_credential, "FUEL", 20), datum: InlineDatum(pellet_datum), reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } @@ -100,16 +89,14 @@ fn consume(options: ConsumeTestOptions) -> Bool { }, reference_inputs: [], outputs: [], - fee: value.from_lovelace(5_000), + fee: 5_000, mint: if options.burns_remaining_fuel { - value.to_minted_value( - value.from_asset(mock.pellet_credential, "FUEL", -20), - ) + from_asset(mock.pellet_credential, "FUEL", -20) } else { - value.to_minted_value(value.zero()) + zero }, certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(1), is_inclusive: True }, upper_bound: IntervalBound { @@ -118,42 +105,42 @@ fn consume(options: ConsumeTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), - value: { - let redeemer_data: Data = redeemer - redeemer_data + redeemers: [ + Pair( + Spend( + OutputReference { + transaction_id: mock.transaction_id_1, + output_index: 0, }, - compare: test_utils.script_purpose_compare, ), - datums: dict.new() + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty |> dict.insert( mock.transaction_id_1, { let datum_data: Data = InlineDatum(pellet_datum) datum_data }, - compare: bytearray.compare, ), - id: TransactionId { hash: mock.transaction_id_3 }, - } - let spend_ctx = - ScriptContext { - transaction: tx, - purpose: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), + id: mock.transaction_id_3, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } - let result = pellet.spend(admin_token, pellet_datum, redeemer, spend_ctx) + let result = + pellet.pellet.spend( + admin_token, + Some(pellet_datum), + redeemer, + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 }, + tx, + ) result } diff --git a/onchain/src/validators/tests/pellet/provide.ak b/onchain/src/validators/tests/pellet/provide.ak index 5812690..8040c54 100644 --- a/onchain/src/validators/tests/pellet/provide.ak +++ b/onchain/src/validators/tests/pellet/provide.ak @@ -1,15 +1,12 @@ -use aiken/bytearray -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - InlineDatum, Input, NoDatum, Output, OutputReference, ScriptContext, Spend, - Transaction, TransactionId, -} -use aiken/transaction/credential.{Address, ScriptCredential} -use aiken/transaction/value.{PolicyId, Value, add, from_lovelace, zero} use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, PelletDatum, Provide} +use cardano/address.{Address, Script} +use cardano/assets.{PolicyId, Value, add, from_lovelace, zero} +use cardano/transaction.{ + InlineDatum, Input, NoDatum, Output, OutputReference, Spend, Transaction, +} use pellet // ============================================================================================== @@ -69,7 +66,7 @@ fn provide(options: ProvideTestOptions) -> Bool { let output = { let address = Address { - payment_credential: ScriptCredential(mock.pellet_credential), + payment_credential: Script(mock.pellet_credential), stake_credential: None, } let value = options.pellet_input_value @@ -82,7 +79,7 @@ fn provide(options: ProvideTestOptions) -> Bool { } Input { output_reference: OutputReference { - transaction_id: TransactionId { hash: transaction_id_1 }, + transaction_id: transaction_id_1, output_index: 0, }, output, @@ -92,7 +89,7 @@ fn provide(options: ProvideTestOptions) -> Bool { let output = { let address = Address { - payment_credential: ScriptCredential(mock.ship_credential), + payment_credential: Script(mock.ship_credential), stake_credential: None, } let value = @@ -105,16 +102,13 @@ fn provide(options: ProvideTestOptions) -> Bool { Output { address, value, datum: NoDatum, reference_script: None } } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: transaction_id_2 }, - output_index: 0, - } + OutputReference { transaction_id: transaction_id_2, output_index: 0 } Input { output_reference, output } } let pellet_out = { let address = Address { - payment_credential: ScriptCredential(mock.pellet_credential), + payment_credential: Script(mock.pellet_credential), stake_credential: None, } let value = options.pellet_output_value @@ -128,7 +122,7 @@ fn provide(options: ProvideTestOptions) -> Bool { let ship_out = { let address = Address { - payment_credential: ScriptCredential(mock.ship_credential), + payment_credential: Script(mock.ship_credential), stake_credential: None, } let value = @@ -141,10 +135,10 @@ fn provide(options: ProvideTestOptions) -> Bool { inputs: [ship_in, pellet_in], reference_inputs: [], outputs: [ship_out, pellet_out], - fee: value.from_lovelace(5_000), - mint: value.to_minted_value(zero()), + fee: 5_000, + mint: zero, certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(1), is_inclusive: True }, upper_bound: IntervalBound { @@ -153,42 +147,45 @@ fn provide(options: ProvideTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Spend( - OutputReference { - transaction_id: TransactionId { hash: transaction_id_1 }, - output_index: 0, - }, - ), - value: { - let redeemer_data: Data = redeemer - redeemer_data + redeemers: [ + Pair( + Spend( + OutputReference { + transaction_id: transaction_id_1, + output_index: 0, }, - compare: test_utils.script_purpose_compare, ), - datums: dict.new() - |> dict.insert( + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.from_pairs( + [ + Pair( transaction_id_1, { let datum_data: Data = InlineDatum(datum_in) datum_data }, - compare: bytearray.compare, ), - id: TransactionId { hash: transaction_id_1 }, - } - let spend_ctx = - ScriptContext { - transaction: tx, - purpose: Spend( - OutputReference { - transaction_id: TransactionId { hash: transaction_id_1 }, - output_index: 0, - }, + ], ), + id: mock.transaction_id_1, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } - let result = pellet.spend(admin_asset, datum_in, redeemer, spend_ctx) + let result = + pellet.pellet.spend( + admin_asset, + Some(datum_in), + redeemer, + OutputReference { transaction_id: transaction_id_1, output_index: 0 }, + tx, + ) result } diff --git a/onchain/src/validators/tests/shipyard/burn_ship.ak b/onchain/src/validators/tests/shipyard/burn_ship.ak index 771beb4..80ed9de 100644 --- a/onchain/src/validators/tests/shipyard/burn_ship.ak +++ b/onchain/src/validators/tests/shipyard/burn_ship.ak @@ -1,14 +1,12 @@ -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - InlineDatum, Input, Mint, Output, OutputReference, ScriptContext, Transaction, - TransactionId, -} -use aiken/transaction/credential.{Address, ScriptCredential} -use aiken/transaction/value.{Value, add, from_lovelace} use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, BurnShip, ShipDatum, Speed} +use cardano/address.{Address, Script} +use cardano/assets.{Value, add, from_asset, from_lovelace} +use cardano/transaction.{ + InlineDatum, Input, Mint, Output, OutputReference, Transaction, +} use spacetime // ============================================================================================== @@ -26,11 +24,10 @@ type BurnTestOptions { fn get_default_burn_options() -> BurnTestOptions { let ship_addr = Address { - payment_credential: ScriptCredential(mock.ship_credential), + payment_credential: Script(mock.ship_credential), stake_credential: None, } - let burnt_value = - value.from_asset(mock.shipyard_policy, mock.ship_token_name, -1) + let burnt_value = from_asset(mock.shipyard_policy, mock.ship_token_name, -1) BurnTestOptions { pos_x: 5, pos_y: -12, @@ -74,10 +71,7 @@ fn burn_ship(options: BurnTestOptions) -> Bool { } } Input { - output_reference: OutputReference { - transaction_id: TransactionId { hash: transaction_id }, - output_index: 0, - }, + output_reference: OutputReference { transaction_id, output_index: 0 }, output, } } @@ -90,10 +84,10 @@ fn burn_ship(options: BurnTestOptions) -> Bool { }, reference_inputs: [], outputs: [], - fee: value.from_lovelace(5_000), - mint: value.to_minted_value(options.burnt_value), + fee: 5_000, + mint: options.burnt_value, certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(1), is_inclusive: True }, upper_bound: IntervalBound { @@ -102,22 +96,24 @@ fn burn_ship(options: BurnTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Mint(shipyard_policy), - value: { - let redeemer_data: Data = redeemer - redeemer_data - }, - compare: test_utils.script_purpose_compare, - ), - datums: dict.new(), - id: TransactionId { hash: transaction_id }, + redeemers: [ + Pair( + Mint(shipyard_policy), + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty, + id: transaction_id, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } - let mint_ctx = - ScriptContext { transaction: tx, purpose: Mint(shipyard_policy) } let result = - spacetime.mint( + spacetime.spacetime.mint( mock.pellet_credential, mock.asteria_credential, admin_token, @@ -127,7 +123,8 @@ fn burn_ship(options: BurnTestOptions) -> Bool { initial_fuel, min_distance, redeemer, - ctx: mint_ctx, + shipyard_policy, + tx, ) result } @@ -139,8 +136,8 @@ test burn_ok() { test burn_more_than_one() fail { let def_options = get_default_burn_options() let burnt_value = - value.from_asset(mock.shipyard_policy, mock.ship_token_name, -1) - |> value.add(mock.shipyard_policy, mock.pilot_token_name, -1) + from_asset(mock.shipyard_policy, mock.ship_token_name, -1) + |> add(mock.shipyard_policy, mock.pilot_token_name, -1) let options = BurnTestOptions { ..def_options, burnt_value: burnt_value } burn_ship(options) } diff --git a/onchain/src/validators/tests/shipyard/mint_ship.ak b/onchain/src/validators/tests/shipyard/mint_ship.ak index 87b8219..89b2b35 100644 --- a/onchain/src/validators/tests/shipyard/mint_ship.ak +++ b/onchain/src/validators/tests/shipyard/mint_ship.ak @@ -1,14 +1,12 @@ -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - InlineDatum, Input, Mint, Output, OutputReference, ScriptContext, Transaction, - TransactionId, -} -use aiken/transaction/credential.{Address, ScriptCredential} -use aiken/transaction/value.{AssetName, add, from_lovelace} use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, AsteriaDatum, MintShip, ShipDatum, Speed} +use cardano/address.{Address, Script} +use cardano/assets.{AssetName, add, from_asset, from_lovelace} +use cardano/transaction.{ + InlineDatum, Input, Mint, Output, OutputReference, Transaction, +} use spacetime // ============================================================================================== @@ -69,7 +67,7 @@ fn mint_ship(options: MintTestOptions) -> Bool { AssetClass { policy: mock.admin_policy, name: mock.admin_token_name } let ship_address = Address { - payment_credential: ScriptCredential(shipyard_policy), + payment_credential: Script(shipyard_policy), stake_credential: None, } let ship_datum = @@ -91,7 +89,7 @@ fn mint_ship(options: MintTestOptions) -> Bool { |> add("aaaa", "tokenA", options.extra_token_amount) let asteria_address = Address { - payment_credential: ScriptCredential(mock.asteria_credential), + payment_credential: Script(mock.asteria_credential), stake_credential: None, } let admin_policy = mock.admin_policy @@ -113,10 +111,7 @@ fn mint_ship(options: MintTestOptions) -> Bool { } } Input { - output_reference: OutputReference { - transaction_id: TransactionId { hash: transaction_id }, - output_index: 0, - }, + output_reference: OutputReference { transaction_id, output_index: 0 }, output, } } @@ -140,22 +135,20 @@ fn mint_ship(options: MintTestOptions) -> Bool { } else { [] }, - fee: value.from_lovelace(5_000), - mint: value.to_minted_value( - value.from_asset( - shipyard_policy, - options.ship_token_name, - options.ship_token_minted_amount, - ) - |> value.add( - shipyard_policy, - options.pilot_token_name, - options.pilot_token_minted_amount, - ) - |> value.add(mock.pellet_credential, "FUEL", options.fuel_minted_amount), - ), + fee: 5_000, + mint: from_asset( + shipyard_policy, + options.ship_token_name, + options.ship_token_minted_amount, + ) + |> add( + shipyard_policy, + options.pilot_token_name, + options.pilot_token_minted_amount, + ) + |> add(mock.pellet_credential, "FUEL", options.fuel_minted_amount), certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(1), is_inclusive: True }, upper_bound: IntervalBound { @@ -164,22 +157,24 @@ fn mint_ship(options: MintTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Mint(shipyard_policy), - value: { - let redeemer_data: Data = redeemer - redeemer_data - }, - compare: test_utils.script_purpose_compare, - ), - datums: dict.new(), - id: TransactionId { hash: transaction_id }, + redeemers: [ + Pair( + Mint(shipyard_policy), + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty, + id: transaction_id, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } - let mint_ctx = - ScriptContext { transaction: tx, purpose: Mint(shipyard_policy) } let result = - spacetime.mint( + spacetime.spacetime.mint( mock.pellet_credential, mock.asteria_credential, admin_token, @@ -189,7 +184,8 @@ fn mint_ship(options: MintTestOptions) -> Bool { options.initial_fuel, min_distance, redeemer, - ctx: mint_ctx, + shipyard_policy, + tx, ) result } diff --git a/onchain/src/validators/tests/spacetime/gather.ak b/onchain/src/validators/tests/spacetime/gather.ak index b90e727..19f7d90 100644 --- a/onchain/src/validators/tests/spacetime/gather.ak +++ b/onchain/src/validators/tests/spacetime/gather.ak @@ -1,17 +1,12 @@ -use aiken/bytearray -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - InlineDatum, Input, NoDatum, Output, OutputReference, ScriptContext, Spend, - Transaction, TransactionId, -} -use aiken/transaction/credential.{ - Address, ScriptCredential, VerificationKeyCredential, -} -use aiken/transaction/value.{add, from_asset, from_lovelace} use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, GatherFuel, PelletDatum, ShipDatum, Speed} +use cardano/address.{Address, Script, VerificationKey} +use cardano/assets.{add, from_asset, from_lovelace, zero} +use cardano/transaction.{ + InlineDatum, Input, NoDatum, Output, OutputReference, Spend, Transaction, +} use spacetime // ============================================================================================== @@ -75,12 +70,12 @@ fn gather(options: GatherTestOptions) -> Bool { let redeemer = GatherFuel(options.provided_amount) let pilot_address = Address { - payment_credential: VerificationKeyCredential(mock.pilot_credential), + payment_credential: VerificationKey(mock.pilot_credential), stake_credential: None, } let pellet_address = Address { - payment_credential: ScriptCredential(mock.pellet_credential), + payment_credential: Script(mock.pellet_credential), stake_credential: None, } let pellet_datum = @@ -93,22 +88,19 @@ fn gather(options: GatherTestOptions) -> Bool { let output = Output { address: pellet_address, - value: value.from_lovelace(2_000_000) - |> value.add(mock.admin_policy, mock.admin_token_name, 1) - |> value.add(mock.pellet_credential, "FUEL", pellet_fuel), + value: from_lovelace(2_000_000) + |> add(mock.admin_policy, mock.admin_token_name, 1) + |> add(mock.pellet_credential, "FUEL", pellet_fuel), datum: InlineDatum(pellet_datum), reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_2 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_2, output_index: 0 } Input { output_reference, output } } let ship_address = Address { - payment_credential: ScriptCredential(mock.ship_credential), + payment_credential: Script(mock.ship_credential), stake_credential: None, } let ship_input_value = @@ -152,18 +144,15 @@ fn gather(options: GatherTestOptions) -> Bool { let output = Output { address: Address { - payment_credential: ScriptCredential("7777"), + payment_credential: Script("7777"), stake_credential: None, }, - value: value.zero(), + value: zero, datum: NoDatum, reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } let ship_input = { @@ -175,10 +164,7 @@ fn gather(options: GatherTestOptions) -> Bool { reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } let pilot_input = { @@ -198,10 +184,7 @@ fn gather(options: GatherTestOptions) -> Bool { } } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 1, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 1 } Input { output_reference, output } } let ship_output = @@ -229,14 +212,14 @@ fn gather(options: GatherTestOptions) -> Bool { } else { [] }, - fee: value.from_lovelace(5_000), + fee: 5_000, mint: if options.mints_no_tokens { - value.to_minted_value(value.zero()) + zero } else { - value.to_minted_value(from_asset(mock.fuel_policy, "FUEL", 20)) + from_asset(mock.fuel_policy, "FUEL", 20) }, certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(earliest_time), @@ -248,43 +231,36 @@ fn gather(options: GatherTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), - value: { - let redeemer_data: Data = redeemer - redeemer_data + redeemers: [ + Pair( + Spend( + OutputReference { + transaction_id: mock.transaction_id_1, + output_index: 0, }, - compare: test_utils.script_purpose_compare, ), - datums: dict.new() + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty |> dict.insert( mock.transaction_id_1, { let datum_data: Data = InlineDatum(ship_input_datum) datum_data }, - compare: bytearray.compare, ), - id: TransactionId { hash: mock.transaction_id_3 }, - } - let spend_ctx = - ScriptContext { - transaction: tx, - purpose: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), + id: mock.transaction_id_3, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } let result = - spacetime.spend( + spacetime.spacetime.spend( mock.pellet_credential, mock.asteria_credential, admin_token, @@ -293,9 +269,10 @@ fn gather(options: GatherTestOptions) -> Bool { fuel_per_step, initial_pellet_fuel, min_asteria_distance, - ship_input_datum, + Some(ship_input_datum), redeemer, - spend_ctx, + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 }, + tx, ) result } diff --git a/onchain/src/validators/tests/spacetime/mine_asteria.ak b/onchain/src/validators/tests/spacetime/mine_asteria.ak index c9765c4..52fe86c 100644 --- a/onchain/src/validators/tests/spacetime/mine_asteria.ak +++ b/onchain/src/validators/tests/spacetime/mine_asteria.ak @@ -1,17 +1,12 @@ -use aiken/bytearray -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - InlineDatum, Input, NoDatum, Output, OutputReference, ScriptContext, Spend, - Transaction, TransactionId, -} -use aiken/transaction/credential.{ - Address, ScriptCredential, VerificationKeyCredential, -} -use aiken/transaction/value.{add, from_lovelace} use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, MineAsteria, ShipDatum, Speed} +use cardano/address.{Address, Script, VerificationKey} +use cardano/assets.{add, from_asset, from_lovelace, zero} +use cardano/transaction.{ + InlineDatum, Input, NoDatum, Output, OutputReference, Spend, Transaction, +} use spacetime // ============================================================================================== @@ -67,33 +62,30 @@ fn mine(options: MineTestOptions) -> Bool { let redeemer = MineAsteria let pilot_address = Address { - payment_credential: VerificationKeyCredential(mock.pilot_credential), + payment_credential: VerificationKey(mock.pilot_credential), stake_credential: None, } let asteria_address = Address { - payment_credential: ScriptCredential(mock.asteria_credential), + payment_credential: Script(mock.asteria_credential), stake_credential: None, } let asteria_input = { let output = Output { address: asteria_address, - value: value.from_lovelace(7_000_000) - |> value.add(mock.admin_policy, mock.admin_token_name, 1), + value: from_lovelace(7_000_000) + |> add(mock.admin_policy, mock.admin_token_name, 1), datum: NoDatum, reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_2 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_2, output_index: 0 } Input { output_reference, output } } let ship_address = Address { - payment_credential: ScriptCredential(mock.ship_credential), + payment_credential: Script(mock.ship_credential), stake_credential: None, } let ship_input_value = @@ -117,10 +109,7 @@ fn mine(options: MineTestOptions) -> Bool { reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } let pilot_input = { @@ -140,28 +129,22 @@ fn mine(options: MineTestOptions) -> Bool { } } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 1, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 1 } Input { output_reference, output } } let extra_script_input = { let output = Output { address: Address { - payment_credential: ScriptCredential("7777"), + payment_credential: Script("7777"), stake_credential: None, }, - value: value.zero(), + value: zero, datum: NoDatum, reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } let tx = @@ -177,21 +160,19 @@ fn mine(options: MineTestOptions) -> Bool { }, reference_inputs: [], outputs: [], - fee: value.from_lovelace(5_000), - mint: value.to_minted_value( - if options.burns_ship_token { - if options.burns_fuel_tokens { - value.from_asset(mock.shipyard_policy, mock.ship_token_name, -1) - |> add(mock.pellet_credential, "FUEL", -ship_fuel) - } else { - value.from_asset(mock.shipyard_policy, mock.ship_token_name, -1) - } + fee: 5_000, + mint: if options.burns_ship_token { + if options.burns_fuel_tokens { + from_asset(mock.shipyard_policy, mock.ship_token_name, -1) + |> add(mock.pellet_credential, "FUEL", -ship_fuel) } else { - value.zero() - }, - ), + from_asset(mock.shipyard_policy, mock.ship_token_name, -1) + } + } else { + zero + }, certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(earliest_time), @@ -203,43 +184,36 @@ fn mine(options: MineTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), - value: { - let redeemer_data: Data = redeemer - redeemer_data + redeemers: [ + Pair( + Spend( + OutputReference { + transaction_id: mock.transaction_id_1, + output_index: 0, }, - compare: test_utils.script_purpose_compare, ), - datums: dict.new() + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty |> dict.insert( mock.transaction_id_1, { let datum_data: Data = InlineDatum(ship_input_datum) datum_data }, - compare: bytearray.compare, ), - id: TransactionId { hash: mock.transaction_id_3 }, - } - let spend_ctx = - ScriptContext { - transaction: tx, - purpose: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), + id: mock.transaction_id_3, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } let result = - spacetime.spend( + spacetime.spacetime.spend( mock.pellet_credential, mock.asteria_credential, admin_token, @@ -248,9 +222,10 @@ fn mine(options: MineTestOptions) -> Bool { fuel_per_step, initial_fuel, min_distance, - ship_input_datum, + Some(ship_input_datum), redeemer, - spend_ctx, + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 }, + tx, ) result } diff --git a/onchain/src/validators/tests/spacetime/move_ship.ak b/onchain/src/validators/tests/spacetime/move_ship.ak index 7bcf51e..1896753 100644 --- a/onchain/src/validators/tests/spacetime/move_ship.ak +++ b/onchain/src/validators/tests/spacetime/move_ship.ak @@ -1,18 +1,13 @@ -use aiken/bytearray -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - InlineDatum, Input, NoDatum, Output, OutputReference, ScriptContext, Spend, - Transaction, TransactionId, -} -use aiken/transaction/credential.{ - Address, ScriptCredential, VerificationKeyCredential, -} -use aiken/transaction/value.{add, from_lovelace} use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, MoveShip, ShipDatum, Speed} use asteria/utils.{distance} +use cardano/address.{Address, Script, VerificationKey} +use cardano/assets.{add, from_asset, from_lovelace, zero} +use cardano/transaction.{ + InlineDatum, Input, NoDatum, Output, OutputReference, Spend, Transaction, +} use spacetime // ============================================================================================== @@ -82,12 +77,12 @@ fn move(options: MoveTestOptions) -> Bool { let redeemer = MoveShip(options.delta_x, options.delta_y) let pilot_address = Address { - payment_credential: VerificationKeyCredential(mock.pilot_credential), + payment_credential: VerificationKey(mock.pilot_credential), stake_credential: None, } let ship_address = Address { - payment_credential: ScriptCredential(mock.ship_credential), + payment_credential: Script(mock.ship_credential), stake_credential: None, } let ship_input_value = @@ -139,18 +134,15 @@ fn move(options: MoveTestOptions) -> Bool { let output = Output { address: Address { - payment_credential: ScriptCredential("7777"), + payment_credential: Script("7777"), stake_credential: None, }, - value: value.zero(), + value: zero, datum: NoDatum, reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } let ship_input = { @@ -162,10 +154,7 @@ fn move(options: MoveTestOptions) -> Bool { reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } let pilot_input = { @@ -185,10 +174,7 @@ fn move(options: MoveTestOptions) -> Bool { } } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 1, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 1 } Input { output_reference, output } } let ship_output = @@ -215,16 +201,14 @@ fn move(options: MoveTestOptions) -> Bool { } else { [] }, - fee: value.from_lovelace(5_000), + fee: 5_000, mint: if options.burns_spent_fuel { - value.to_minted_value( - value.from_asset(mock.pellet_credential, "FUEL", -required_fuel), - ) + from_asset(mock.pellet_credential, "FUEL", -required_fuel) } else { - value.to_minted_value(value.zero()) + zero }, certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(earliest_time), @@ -236,43 +220,36 @@ fn move(options: MoveTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), - value: { - let redeemer_data: Data = redeemer - redeemer_data + redeemers: [ + Pair( + Spend( + OutputReference { + transaction_id: mock.transaction_id_1, + output_index: 0, }, - compare: test_utils.script_purpose_compare, ), - datums: dict.new() + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty |> dict.insert( mock.transaction_id_1, { let datum_data: Data = InlineDatum(ship_input_datum) datum_data }, - compare: bytearray.compare, ), - id: TransactionId { hash: mock.transaction_id_3 }, - } - let spend_ctx = - ScriptContext { - transaction: tx, - purpose: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), + id: mock.transaction_id_3, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } let result = - spacetime.spend( + spacetime.spacetime.spend( mock.pellet_credential, mock.asteria_credential, admin_token, @@ -281,9 +258,10 @@ fn move(options: MoveTestOptions) -> Bool { fuel_per_step, initial_pellet_fuel, min_asteria_distance, - ship_input_datum, + Some(ship_input_datum), redeemer, - spend_ctx, + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 }, + tx, ) result } diff --git a/onchain/src/validators/tests/spacetime/quit.ak b/onchain/src/validators/tests/spacetime/quit.ak index 042c82e..b19f830 100644 --- a/onchain/src/validators/tests/spacetime/quit.ak +++ b/onchain/src/validators/tests/spacetime/quit.ak @@ -1,17 +1,12 @@ -use aiken/bytearray -use aiken/dict +use aiken/collection/dict use aiken/interval.{Finite, Interval, IntervalBound} -use aiken/transaction.{ - InlineDatum, Input, NoDatum, Output, OutputReference, ScriptContext, Spend, - Transaction, TransactionId, -} -use aiken/transaction/credential.{ - Address, ScriptCredential, VerificationKeyCredential, -} -use aiken/transaction/value.{add, from_lovelace} use asteria/test_mock as mock -use asteria/test_utils use asteria/types.{AssetClass, Quit, ShipDatum, Speed} +use cardano/address.{Address, Script, VerificationKey} +use cardano/assets.{add, from_asset, from_lovelace, zero} +use cardano/transaction.{ + InlineDatum, Input, NoDatum, Output, OutputReference, Spend, Transaction, +} use spacetime // ============================================================================================== @@ -47,12 +42,12 @@ fn quit(options: QuitTestOptions) -> Bool { let redeemer = Quit let pilot_address = Address { - payment_credential: VerificationKeyCredential(mock.pilot_credential), + payment_credential: VerificationKey(mock.pilot_credential), stake_credential: None, } let ship_address = Address { - payment_credential: ScriptCredential(mock.ship_credential), + payment_credential: Script(mock.ship_credential), stake_credential: None, } let ship_value = @@ -77,10 +72,7 @@ fn quit(options: QuitTestOptions) -> Bool { reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } let pilot_input = { @@ -100,28 +92,22 @@ fn quit(options: QuitTestOptions) -> Bool { } } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 1, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 1 } Input { output_reference, output } } let extra_script_input = { let output = Output { address: Address { - payment_credential: ScriptCredential("7777"), + payment_credential: Script("7777"), stake_credential: None, }, - value: value.zero(), + value: zero, datum: NoDatum, reference_script: None, } let output_reference = - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - } + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 } Input { output_reference, output } } let tx = @@ -133,21 +119,19 @@ fn quit(options: QuitTestOptions) -> Bool { }, reference_inputs: [], outputs: [], - fee: value.from_lovelace(5_000), - mint: value.to_minted_value( - if options.burns_ship_token { - if options.burns_fuel_tokens { - value.from_asset(mock.shipyard_policy, mock.ship_token_name, -1) - |> add(mock.pellet_credential, "FUEL", -ship_fuel) - } else { - value.from_asset(mock.shipyard_policy, mock.ship_token_name, -1) - } + fee: 5_000, + mint: if options.burns_ship_token { + if options.burns_fuel_tokens { + from_asset(mock.shipyard_policy, mock.ship_token_name, -1) + |> add(mock.pellet_credential, "FUEL", -ship_fuel) } else { - value.zero() - }, - ), + from_asset(mock.shipyard_policy, mock.ship_token_name, -1) + } + } else { + zero + }, certificates: [], - withdrawals: dict.new(), + withdrawals: [], validity_range: Interval { lower_bound: IntervalBound { bound_type: Finite(1), is_inclusive: True }, upper_bound: IntervalBound { @@ -156,43 +140,36 @@ fn quit(options: QuitTestOptions) -> Bool { }, }, extra_signatories: [], - redeemers: dict.new() - |> dict.insert( - key: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), - value: { - let redeemer_data: Data = redeemer - redeemer_data + redeemers: [ + Pair( + Spend( + OutputReference { + transaction_id: mock.transaction_id_1, + output_index: 0, }, - compare: test_utils.script_purpose_compare, ), - datums: dict.new() + { + let redeemer_data: Data = redeemer + redeemer_data + }, + ), + ], + datums: dict.empty |> dict.insert( mock.transaction_id_1, { let datum_data: Data = InlineDatum(ship_input_datum) datum_data }, - compare: bytearray.compare, ), - id: TransactionId { hash: mock.transaction_id_3 }, - } - let spend_ctx = - ScriptContext { - transaction: tx, - purpose: Spend( - OutputReference { - transaction_id: TransactionId { hash: mock.transaction_id_1 }, - output_index: 0, - }, - ), + id: mock.transaction_id_3, + votes: [], + proposal_procedures: [], + current_treasury_amount: None, + treasury_donation: None, } let result = - spacetime.spend( + spacetime.spacetime.spend( mock.pellet_credential, mock.asteria_credential, admin_token, @@ -201,9 +178,10 @@ fn quit(options: QuitTestOptions) -> Bool { fuel_per_step, initial_fuel, min_distance, - ship_input_datum, + Some(ship_input_datum), redeemer, - spend_ctx, + OutputReference { transaction_id: mock.transaction_id_1, output_index: 0 }, + tx, ) result }