@indigo-labs/indigo-sdk 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/.github/workflows/ci.yml +62 -0
  2. package/.github/workflows/test.yml +44 -0
  3. package/.husky/pre-commit +1 -0
  4. package/.prettierrc +1 -1
  5. package/README.md +52 -7
  6. package/dist/index.d.mts +1064 -182
  7. package/dist/index.d.ts +1064 -182
  8. package/dist/index.js +2565 -561
  9. package/dist/index.mjs +2546 -593
  10. package/eslint.config.mjs +35 -0
  11. package/package.json +61 -43
  12. package/src/contracts/cdp.ts +208 -359
  13. package/src/contracts/collector.ts +13 -6
  14. package/src/contracts/gov.ts +1 -58
  15. package/src/contracts/interest-oracle.ts +139 -39
  16. package/src/contracts/lrp.ts +223 -0
  17. package/src/contracts/one-shot.ts +67 -0
  18. package/src/contracts/stability-pool.ts +684 -0
  19. package/src/contracts/staking.ts +348 -0
  20. package/src/contracts/treasury.ts +30 -13
  21. package/src/helpers/asset-helpers.ts +51 -22
  22. package/src/helpers/helper-txs.ts +30 -0
  23. package/src/helpers/helpers.ts +29 -8
  24. package/src/helpers/indigo-helpers.ts +19 -0
  25. package/src/helpers/interest-oracle.ts +57 -0
  26. package/src/helpers/lucid-utils.ts +62 -16
  27. package/src/helpers/price-oracle-helpers.ts +36 -0
  28. package/src/helpers/stability-pool-helpers.ts +207 -0
  29. package/src/helpers/staking-helpers.ts +94 -0
  30. package/src/helpers/time-helpers.ts +4 -3
  31. package/src/helpers/value-helpers.ts +16 -0
  32. package/src/index.ts +15 -4
  33. package/src/scripts/always-fail-validator.ts +7 -0
  34. package/src/scripts/auth-token-policy.ts +23 -0
  35. package/src/scripts/cdp-creator-validator.ts +46 -2
  36. package/src/scripts/collector-validator.ts +2 -2
  37. package/src/scripts/execute-validator.ts +52 -0
  38. package/src/scripts/gov-validator.ts +44 -0
  39. package/src/scripts/iasset-policy.ts +22 -0
  40. package/src/scripts/interest-oracle-validator.ts +18 -3
  41. package/src/scripts/lrp-validator.ts +23 -0
  42. package/src/scripts/one-shot-policy.ts +62 -0
  43. package/src/scripts/poll-manager-validator.ts +52 -0
  44. package/src/scripts/poll-shard-validator.ts +47 -0
  45. package/src/scripts/price-oracle-validator.ts +26 -0
  46. package/src/scripts/stability-pool-validator.ts +60 -0
  47. package/src/scripts/staking-validator.ts +8 -0
  48. package/src/scripts/version-record-policy.ts +26 -0
  49. package/src/scripts/version-registry.ts +15 -0
  50. package/src/types/generic.ts +99 -6
  51. package/src/types/indigo/cdp-creator.ts +46 -0
  52. package/src/types/indigo/cdp.ts +86 -31
  53. package/src/types/indigo/execute.ts +21 -0
  54. package/src/types/indigo/gov.ts +50 -20
  55. package/src/types/indigo/interest-oracle.ts +55 -5
  56. package/src/types/indigo/lrp.ts +54 -0
  57. package/src/types/indigo/poll-manager.ts +21 -0
  58. package/src/types/indigo/poll-shard.ts +16 -0
  59. package/src/types/indigo/price-oracle.ts +38 -4
  60. package/src/types/indigo/stability-pool.ts +233 -0
  61. package/src/types/indigo/staking.ts +99 -0
  62. package/src/types/indigo/version-record.ts +17 -0
  63. package/src/types/on-chain-decimal.ts +23 -0
  64. package/src/types/one-shot.ts +22 -0
  65. package/src/types/system-params.ts +95 -77
  66. package/tests/data/system-params.json +972 -972
  67. package/tests/datums.test.ts +279 -44
  68. package/tests/endpoints/initialize.ts +1013 -0
  69. package/tests/hash-checks.test.ts +71 -15
  70. package/tests/indigo-test-helpers.ts +115 -0
  71. package/tests/initialize.test.ts +27 -0
  72. package/tests/interest-calculations.test.ts +110 -133
  73. package/tests/interest-oracle.test.ts +90 -0
  74. package/tests/lrp.test.ts +149 -0
  75. package/tests/queries/governance-queries.ts +31 -0
  76. package/tests/queries/iasset-queries.ts +39 -0
  77. package/tests/queries/interest-oracle-queries.ts +13 -0
  78. package/tests/queries/lrp-queries.ts +39 -0
  79. package/tests/queries/price-oracle-queries.ts +27 -0
  80. package/tests/queries/stability-pool-queries.ts +75 -0
  81. package/tests/queries/staking-queries.ts +43 -0
  82. package/tests/stability-pool.test.ts +364 -0
  83. package/tests/staking.test.ts +105 -0
  84. package/tests/test-helpers.ts +38 -0
  85. package/tsconfig.build.json +4 -0
  86. package/tsconfig.json +8 -27
  87. package/vitest.config.ts +9 -0
  88. package/babel.config.cjs +0 -13
  89. package/jest.config.js +0 -13
  90. package/src/contracts/cdp-creator.ts +0 -86
  91. package/src/contracts/price-oracle.ts +0 -24
  92. package/src/helpers/cdp-helpers.ts +0 -9
@@ -0,0 +1,60 @@
1
+ import {
2
+ applyParamsToScript,
3
+ ScriptType,
4
+ SpendingValidator,
5
+ } from '@lucid-evolution/lucid';
6
+ import {
7
+ castStabilityPoolParams,
8
+ StabilityPoolParams,
9
+ } from '../types/indigo/stability-pool';
10
+ import {
11
+ fromSystemParamsAsset,
12
+ StabilityPoolParamsSP,
13
+ } from '../types/system-params';
14
+
15
+ /* Automatically generated by serialise-contract executable in smart-contracts */
16
+ export const stabilityPoolValidator = {
17
+ type: 'PlutusV2' as ScriptType,
18
+ description: '',
19
+ cborHex:
20
+ '5939ed5939ea01000032323232323232322232323232323232323232323232322323232323225333018323232533301b3012301d37540022646464646464646464646464646464646464646464646464646464646464646464646464646464a646464646466608e6088056264a666090607e60946ea81184cc88c8c94ccc140c14c00854ccc140c14ccc074dd6181318279baa0333026304f3754604c609e6ea8c094c13cdd5000899299982699816a48115496e76616c6964206163636f756e742069706e757400300b3027305037540042a66609a6605a9201274163636f756e74206f776e6572206d757374207369676e20746865207472616e73636174696f6e003302e034375c604e60a06ea801054ccc134cc0b524011543616e6e6f74206d696e7420616e7920746f6b656e0000713302d49116496d70726f706572204163636f756e7420646174756d0032533304e304500113302e49011d4163636f756e74206f757470757420646f6573206e6f74206d6174636800333330133758602a60a26ea80d4c024cc14c0092f5c06014660a66012660a664646034660aa60ac004660aa60ac002660aa60ac60ae002660aa6034660aa01297ae04bd70182b00098289baa0054bd7025eb80cccc048cc044c098c088c144dd502699b80375a604a60a26ea8134dd6980318289baa04d375c605060a26ea8134dd7181398289baa0053023375a60a860a26ea801d300103d87a80001533304e304200113302e4911d4163636f756e74206f757470757420646f6573206e6f74206d6174636800333330133758602a60a26ea80d4c024cc14c0092f5c06014660a66012660a664646034660aa60ac004660aa60ac002660aa60ac60ae002660aa6034660aa01297ae04bd70182b00098289baa0054bd7025eb80cc044c098c088c144dd50269bad30063051375409a980103d87a800014a0609e6ea80185280a5014a0604c609e6ea8c094c13cdd50008b0b18288009998049bac3024304d3754062603c609a6ea812530103d87980002304f30503050305030503050305030503050305030503050001304e304b375408c2940c134c128dd501b099191919191919191919191919191929919982b982701d89919299982c982b000899191929998301831801099299982e982d182f9baa00113232533305f30563061375400226464a6660ca60d0004264a6660c46464a6660c860c260cc6ea800854ccc190c184c198dd5183518339baa00213304449138437265617465206163636f756e7420726571756573742063616e6e6f74206861766520616e206175746820746f6b656e20616c72656164790030613322333028002375c608060d26ea8004dd7181f98349baa0013756607a60ce6ea8c0f4c19cdd5003981c18339baa063001001133043491204163636f756e74206973206d697373696e6720616e206175746820746f6b656e00330243756607860cc6ea8c0f0c198dd5003181b98331baa0623036306537540042a6660c46608492011c496e76616c69642073746162696c69747920706f6f6c20696e707574003020303c3065375400e2a6660c4660849201314d697865642076657273696f6e73206265747765656e2073746162696c69747920706f6f6c20616e642072657175657374003375e607860ca6ea8c0f0c194dd5181d98329baa005303c30653754607860ca6ea8c0ecc194dd5003899821249234d75737420636f6e73756d65204163636f756e74205554784f20636f72726563746c790032323375e004603e660d201a97ae0304e0013300e00b3756603460ca6ea81245280a5014a060a60022c60cc00260c46ea800458c024c094c184dd5181b98309baa0013063306037540022c6602a00600a2c60c2002666032002606660ba6ea8165300103d8798000375860be60b86ea810054ccc164c1400044cc8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c88c8c94ccc1bcc1b0c1c4dd5000899191919299983b983d001099299983a1838983b1baa00113232533307a307d0021325332330783305849011854686520617373657420646f6573206e6f74206d61746368003001375c60a260f66ea803054ccc1e0cc1612401354f6e6c79207468652053746162696c69747920506f6f6c20616e6420746865204163636f756e742063616e20626520696e7075747300306c300d008153330783305849012a4d75737420636f6e73756d652053746162696c69747920506f6f6c205554784f20636f72726563746c790032323375e004606a660fe60a860fa6ea802d2f5c060c80026604860a460f66ea8018dd59818183d9baa05f13232533307a3071001153307b49012043616e6e6f742070726f6365737320616e20656d70747920726571756573742e0016132533307b30780021533307b3078307d375461020260fc6ea800c4c8c8c94ccc1f8cc1792411a4d757374206d696e7420616e206163636f756e7420746f6b656e00303b374c60ac60a46102026ea81f454ccc1f8cc1792401275265717565737420696e7075742063616e20636f6e7461696e206f6e6c792032206173736574730030723021304b375660ae6102026ea8c15cc20404dd50078a99983f1982f2490b4163636f756e74203e203000303e0011533307e3305e49012453746162696c69747920506f6f6c206f757470757420646f6573206e6f74206d61746368003232333330453758608e6106026ea819cc0eccc214040112f5c060786610a0260946610a0260946610a0260b46106026ea802ccc21404004cc21404dd319981a9bab3047308301375401660946610a0260a86106026ea8c164c20c04dd5005998428098299841809baa3059308301375401697ae03047308301375400297ae04bd7025eb80cc10ccccc110dd5982c9841809baa3059308301375401c6eb8c168c20c04dd503f9bae305a30830137540160066eb4c0e0c20c04dd503fa60103d879800032304a3308501308601001330850100233085013302d3047308301375460b26106026ea802ccc0c8cc0c4c0b8dd6981c1841809baa07f305a308301375460b26106026ea802c008c21c04c21c04c21c04004c20804dd5182c1841009baa00a3302b3057308101375460ae6102026ea8024c0b00044cc1792411d4163636f756e74206f757470757420646f6573206e6f74206d6174636800333330433758608a6102026ea8194c0e4cc20c040092f5c06074661060260726610602609066106026ea400ccc20c04c160c20404dd500499841809918249984200984280800998420098168011843009843008009840809baa30573081013754012661060298103d87a80004bd7025eb812f5c06608260ac60a46102026ea81f4cdc099b813032375660ae6102026ea8c15cc20404dd50079bad303630810137540fa60646eacc148c20404dd5032a60103d87a800014a029405280a5033303f375660ac6100026ea8c158c20004dd50071bae305730800137540f86eb8c15cc20004dd5004182b183f9baa3055307f37540146eb8c154c1f8dd5007800800899299983d983c001099299983e1838183f1baa0011323232325333084013087010021325333081013078308301375400226464a66610e02611402004264646464646464646464a66611a02660da9211854686520617373657420646f6573206e6f74206d61746368003016375c60ce6120026ea802c54ccc23404cc1b524011b4d757374206275726e20746865206163636f756e7420746f6b656e00304a374c60b060ca60c26120026ea82300454ccc23404cc1b524012453746162696c69747920506f6f6c206f757470757420646f6573206e6f74206d617463680033333052375860a86120026ea81d0c120cc248040412f5c06092661240260ae66124026460b066126026128020026612602004612a02612a020026120026ea80612f5c097ae0333305133050375660cc6120026ea8c198c24004dd500d982c8039bae30673090013754118026eb8c19cc24004dd500c19b8030590040034c103d87980001533308d013306d491524d7573742073656e642074686520616d6f756e7420696e20746865206163636f756e7420616e64207468652072656d61696e696e6720636f6c6c61746572616c206261636b20746f20746865206f776e65720033333052375860a86120026ea81d0c120cc248040452f5c0609266124026090661240260ce6120026ea80792f5c097ae033330513305033056375660cc6120026ea8c198c24004dd500f182c183298309848009baa08c013370266e0401c018c104dd598309848009baa074375c60ce6120026ea823004dd718339848009baa0183370200800698103d87a800013306d49011f4d757374207061792070726f746f636f6c2066656520636f72726563746c79003333302c375860a86120026ea81d0dd618339848009baa0743756608a6120026ea81d0dd718169848009baa08c0100614a029405280a5030563309101308f010013309101308e01001309301309301308f01375460ca611e026ea805cccc0a400400cc190c23804dd500b29998450099baf00230384800052000133025306c308d01375401000260bc6056008604a6606e60c26116026ea8c184c22c04dd500980199811198119bac3060308a0137540dc60d26114026ea821804004dd69844808011843808009919192999843809842009844809baa00213376060c06114026ea8004c23404c22804dd50010a9984400a492245706f6368546f5363616c65546f53756d206d6170206d697373696e67206974656d001630880100230880100133301d305d308701375401e6096610e026ea8060cccc07820c04dd7182f1843809baa00f37566096610e026ea803cdd6182e9843809baa06b301b0011630880100130840137540022c6056608e6106026ea8c164c20c04dd50008b18428080099981e9bac305730810137540ca602a6102026ea81f530103d87980003057308001375460ac6100026ea802cc20804c1fcdd5000801184080983f1baa003001132332232323253330840130870100213232533308601308901002132533308301307a308501375400226464a666112026118020042646464646464646464646464646464a66612802660e89211854686520617373657420646f6573206e6f74206d6174636800301d375c60dc612e026ea804054ccc25004cc1d124011d4163636f756e74206f757470757420646f6573206e6f74206d617463680033333059375860b6612e026ea81ecc13ccc26404c1b8c25c04dd51836984b809baa0224bd7018281984c8098279984c80982f1984c809837184b809baa0283309901306e309701375403e66132020106613202980103d87a80004bd7025eb812f5c0660ae60d860d0612e026ea824c04cdc099b813370260906eacc1b4c25c04dd51836984b809baa025375a60d6612e026ea824c04c120dd59834184b809baa07b3370066e04c120dd59836984b809baa01500c00b4c103d87a80001533309401330744911f4d757374207061792070726f746f636f6c2066656520636f72726563746c790033333033375860b6612e026ea81ecdd61837184b809baa07b37566098612e026ea81ecdd7181a184b809baa0930100b15333094013307449012453746162696c69747920506f6f6c206f757470757420646f6573206e6f74206d617463680033333059375860b6612e026ea81ecc13ccc2640405d2f5c060a0661320260bc661320260bc661320260dc612e026ea807ccc26404008cc26404dd3000a5eb812f5c097ae0333305833057375660da612e026ea8c1b4c25c04dd501119b81375a60d6612e026ea824c04030dd71837184b809baa09301375c60dc612e026ea807ccdc000480326103d87a8000153330940133074491244d7573742073656e6420617070726f7072696174652076616c756520746f206f776e6572003333305933099010154bd7018279984c8080c25eb80c140cc26404c178cc26404c1b8c25c04dd5012a5eb812f5c0a666128020142606a66e0403002c4cccc160c0d4cdc08060059bae306e3097013754126026eb8c1b8c25c04dd500f99b8130600090064c0103d87a800013307449011543616e6e6f74206d696e7420616e7920746f6b656e0004e14a029405280a5014a06660906eacc168c25804dd500f182e9984c009833984b009baa306c309601375403c661300260cc612c026ea8c1b0c25804dd500f25eb80c168c25804dd5000982e1984b808009984b808011984b809981f982c984a809baa306b309501375403a660886608660806eb4c1a4c25404dd504880800801184c80984c80984c80984a809baa306b309501375403a61280200461240200266605a00200460d06124026ea80694ccc238054ccc23804010528899baf001303c48000520001330293070309101375401460b400660546607460cc6120026ea8c198c24004dd500c181d80119182b998490098498080099849009981d18331848009baa006303b002309401309401001308f01375400aa6661160200220202660c202060ae605a60c8611c026ea8010c14003ccc090cc094dd618311846009baa070306b308c013754110020026eb4c22c04008c22404004c8c8c94ccc22404c21804c22c04dd5001099bb0001308f01308c0137540042a661140292012245706f6368546f5363616c65546f53756d206d6170206d697373696e67206974656d0016308a01002308a0100133301f305f3089013754022609a6112026ea8068cccc08021404dd718301844809baa0113756609a6112026ea8044dd6182f9844809baa06d301d00116308a0100130860137540022c605a6092610a026ea8c16cc21404dd50008b18438080099981f9bac305930830137540ce602e6106026ea81fd30103d879800016308501001330313758608a6102026ea8194c0e4cc20c040092f5c060ae6100026ea8c158c20004dd50059bad308101001308101308201001307d375461000260fa6ea8008c1ecdd50009826183d9baa00c14a02940dc79bae3051307a37540042940c1b800458c1ec004c1dcdd50008b180f181d183b1baa304c307637540022c60f0002666060002609460e86ea81c1300103d879800033041003304a30733754609460e66ea8c124c1ccdd5000983a98391baa0011633027001053375860e660e06ea8150c004004894ccc1c000452000130163300200230730012307030713071307130713071001253330693066306b3754002264646464646464646464646464646464646464646464646464646464a666112026118020042646464646464646464646464931820006181b007981a808181a00898198091819009981880a181800a981780b181700b981600c192999843009841808008991929998460098478080109924c605e0022c611a020026112026ea806854ccc21804c1f40044c8c94ccc23004c23c040084c926533308801308501308a01375400226464a66611c026122020042649318180008b1847808009845809baa0011616308d0100130890137540342c610e026ea806458c22804004c22804008c94ccc21c04c2180400454ccc20c04c1e8c214040045288a999841809840009842808008a5016163754611002002611002004610c02002610c0200461080200261080200461040200261040200461000200261000200460fc00260fc00460f800260f800460f400260f400460f000260f000460ec00260ec00460e800260e800460e400260e40046eb8c1c0004c1b0dd50008b1111919bb032303633071307200133071533306c337106eb4c118c1bcdd50011bad3046306f37546603c608a60de6ea8010c0692080a8d6b90714c0105d8799f00ff00100230733073001306e375400864a6660d860c660dc6ea8004530103d87a80001303633071375064601e6603e6603c6603466038002606860e06ea8014cc07ccc070c94ccc1b8c194c1c0dd500088010983a18389baa0013301200430373307230413070375400a660e46ea0c05cdd6982018381baa0054bd70000980da410151ad720e608c60e06ea8014c11cc1c0dd5002983918379baa0014bd7019808001181a99838181f98371baa00333070303e306e375400697ae0533306a337106eb4c0f8c1b4dd50011bad303e306d3754006298105d8799f00ff001533306a33710900119b81375a607a60da6ea800cdd6981e98369baa00214c0105d8799f00ff001533306a337106eb4c0f4c1b4dd50011bad303d306d375400626603866036608660da6ea8008c110c1b4dd5001981a198379ba8337046eb4c110c1b4dd5182218369baa00248202a35ae41d2f5c026603866036608660da6ea8008c110c1b4dd5001982218369baa00222223302032333001001323300100100322533307100114bd6f7b630099192999837983318389baa001133004004002133074323376060ec00260ec60ee0026eb0c1d4c1c8dd500099802002001192999837998181bab304830723754002606c60e46ea80244c94ccc1c0c190c1c8dd500089919299983b183c801099299983999b8f375c609860ec6ea80080304c0f4cc1e0c8dd39983c983b0009983c983b800a5eb80cdd81826983b1baa002304c3076375400497ae015330744912d45706f6368546f5363616c65546f53756d2072656620696e7075747320686176652077726f6e6720617373657400163063001163077001307337540022c6034606c60e46ea8004530103d87a800030473071375460e800460e800297adef6c60222533307100210011333003003307400233023001375660de60e600400444a6660ce66e2400520001480004dd6982098351baa30313306c375066e0ccdc11bad3041306a37546062660d86ea0cdc199b82375a608260d46ea8c0c4cc1b0dd4000a5eb80dd6982098351baa0024820225e92f5c0904044bd1bad3041306a37546062660d86ea0cdc12419002904044bd25eb812f5c044607260d26ea8c0fcc1a4dd5191929998361837801099190012999834983318359baa00113232323232323232323232325333079307c0021324994ccc1d4c1c8c1dcdd50048991919191919191919191919191919191919191929998468098480080109924c60600162c6eb4c23804004c23804008dd69846008009846008011bad308a01001308a01002375a6110020026110020046eb4c21804004c21804008c21004004c21004008dd69841008009841008011bad308001001308001002375a60fc00260fc0046eb4c1f0004c1e0dd50048b0b1bad307a001307a002375a60f000260f00046eb4c1d8004c1d8008dd6983a000983a001183900098390011bad3070001306c37540022c6026605e60d66ea8c104c1acdd50008b1836800999812801000a6103d8798000253330643024375a607c60ce6ea800440045300105d8799f00ff00222323376066026006002a6660cc60c60082608060d26ea80084cc05cc100c1a4dd500119809980a240046603000200660260064444464a6660ce604e004264a6660d06464608c00464a6660d460ce0022a6660dc60da6ea8008526161533306a30610011533306e306d37540042930b0a999835182f0008a99983718369baa00214985858c1acdd50009980a182118359baa00100513333302d00730233306d30323306d0023306d4c103d87a80004bd7025eb8130107d87b9fd87980ff003302b3756608260d66ea8c104c1acdd5000801a60103d879800014a064a6660d80022a660d2921284d757374207370656e64203120696e7075742066726f6d20636f6c6c6563746f722073637269707400161533306c306f0011306e00115330694901284d757374207370656e64203120696e7075742066726f6d20636f6c6c6563746f722073637269707400163303800500114a26042660d66ea40092f5c0460ce60d060d060d060d060d060d060d00024666076911004881000012337066eb4c0e4c188dd5000a41010141ede959b7c036600200244a6660c400229000098041980100118328009119299982f182a98301baa00114c103d87a800013028330633061323376060ca00260ca60cc0026eb0c190c184dd5000a5eb80cc0500088cdd798300008011299982d982c182e9baa00113232323253330633066002149858dd7183200098320011bae3062001305e37540022c4a6660b460ae60b86ea80044c8c94ccc180c18c00852616375a60c200260ba6ea800458c17cc170dd502b8a50305a37540ac60ba60b46ea811854ccc15cc12c0ec54ccc15cc138c164dd502a89919299982c982b182d9baa001132533305e30613302b3758606860ba6ea8104c0d0c174dd50008a99982d1981d249415265717565737420616e6e756c6d656e74207472616e73616374696f6e206d757374206265207369676e6564206279207468652072657175657374206f776e6572003303b041375c606860ba6ea800c54ccc168cc0e924011543616e6e6f74206d696e7420616e7920746f6b656e0001413232533305c3053001153305d491185265717565737420697320616c726561647920656d7074790016132533305d305a0021533305d305a305f375460c660c06ea800c52880080089981e2491d4163636f756e74206f757470757420646f6573206e6f74206d6174636800333330213758604660be6ea810cc05ccc18400d2f5c06030660c2602e660c264646050660c660c8004660c660c8002660c660c860ca002660c698103d87a80004bd701832000982f9baa0054bd7025eb80c0d0c0c0c17cdd502da60103d87a8000305d3754002605c60ba6ea800c5280a50163033305c3754606460b86ea8c17cc170dd50008b198089bac3032305b375407e07a60ba60b46ea815452809919299982c982301e8a99982c982b182d9baa05713232323232533305e305b30603754002264646464a6660cc60d2004264a6660c660c060ca6ea80044c8c94ccc1a4c1b000854ccc194c188c19cdd5000899191919191919192999838983a001099191919299983a983c0010991919299983a1982a2493f45706f6368546f5363616c65546f53756d206d617020697320746f6f206c617267652c20757365205265636f726445706f6368546f5363616c65546f53756d003371260386eacc0ecc1dcdd500da40142a6660e8660a892131694173736574206f662073746162696c69747920706f6f6c206d757374206d6174636820694173736574206f6620636470003371e0186eb8c138c1dcdd500d8a99983a1982a2491c43445020696e707574206d757374206265206c6971756964617465640032323375e004980103d87f800032533307630730011323232323232533308001308301002149858dd69840808009840808011bad307f001307f002375a60fa00260f26ea800854ccc1d8c1b40044c8c94ccc1f0c1fc00852616375a60fa00260f26ea800854ccc1d8c1a80044c8c94ccc1f0c1fc00852616375a60fa00260f26ea800854ccc1d8c18c0044c8c94ccc1f0c1fc00852616375a60fa00260f26ea800854ccc1d8c18800454ccc1e8c1e4dd50010a4c2c2a6660ec66e1d200a00113232533307c307f002132498c19800458c1f4004c1e4dd50010a99983b19b874803000454ccc1e8c1e4dd50010a4c2c2a6660ec66e1d200e0011533307a307937540042930b0a99983b19b874804000454ccc1e8c1e4dd50010a4c2c2c60ee6ea8004cc080c138c1dcdd50099bab302c307737540b62a6660e8660a89211c53746162696c697479506f6f6c206f7574707574206d697373696e6700330353756609a60ee6ea8c134c1dcdd500b1826983b9baa07313305449011f496e636f72726563742053746162696c69747920506f6f6c204f7574707574003375e607660ee6ea8010c0c0cc1e4c0f8cc1e4c0f8cc1e4c138c1dcdd500d9983c8011983c9ba60014bd7025eb812f5c029405280a5014a06eacc1d8008c1d0004c8c8c8c8c8c8c8cdd8299983c0008991919182299840009840808019984000984080801198400098408080099840009ba83025375a609e60fc6ea8028c20804c20804004c20404004c20004004c1ecdd52611dd8799fd8799f1b0de0b6b3a7640000ffd8799f00ffd8799f00ff0000ff00130423307d0033307d330273051307b375400e00c660fa004660fa609860f66ea801ccc1f4dd419b80375a609660f66ea801d4ccc1e0010520021480012f5c06e98c94ccc1e40084ccc0b8004c10ccc1f8dd418119bad304d307c3754010660fc9810100004bd701813a40002a6660f200a266605c0026086660fc609a60f86ea8020cc1f8dd418119bad304c307c375401097ae0003100133302d3756607e60f66ea807cc108cc1f4c130c1ecdd50039983e9825983d9baa0074bd7000119b89375a60a260f46ea8009200033023303d3079375400a660506604e604866e04c0a8dd59827983c9baa006302a3756609e60f26ea8c13cc1e4dd500c1828183c9baa005304f3079375400a6604c607e660f46ea0cdc1299983a8008a410151ad720e290011bad304f30783754609e60f06ea80112f5c000466e20dd69827183b9baa33025304e307737540060029040546b5c83998111810a40046604a002609860ec6ea8008c080c0f8ccc0d0c140dd59822983a9baa059375c609860ea6ea81c4dd71826183a9baa019304a307437540302c60ec002660440266054660e802097ae032533306f306c0011323232325333077307a002149858dd6983c000983c0011bad3076001307237540062a6660de60cc002264646464a6660ee60f40042930b1bad30780013078002375a60ec00260e46ea800c58c1c0dd5001180e8038b183900098390011bad30700013070002375c60dc00260dc00460d800260d06ea80045858c1a8004c198dd50008b1806981498329baa303b306537540022c60ce00266603e00a606660c66ea817d300103d87a8000303930623754607060c46ea8004c190c184dd50008b1980b0010211bac306230633063002375860c200260ba6ea8104c17cc170dd502b8a5015333059304503d153330593056305b37540ae26464646464a6660bc60b660c06ea80044c8c8c94ccc194c1a00084c8c8c94ccc190cc11124011d496e76616c696420696e707574206265696e672076616c696461746564003022303e306737540082a6660c866088920111436f7272656374205350206f75747075740033333029008301f330690064bd70181019834981719834981719834981f18339baa00b33069303d30673754016660d26e98cc1a40092f5bded8c097ae04bd7025eb80dd5981e98339baa303d3067375400898103d87980001533306433044491264d696e747320612073696e676c652065706f6368546f5363616c65546f53756d20746f6b656e003021374c6078605660ce6ea818c54ccc190cc111240129436f727265637420736e617073686f742065706f6368546f5363616c65546f53756d206f75747075740033333029008301f330690064bd701810198349810198349817198349ba600133069303e3067375401697ae04bd7025eb80c0f0c0acc19cdd5031a60103d87a8000133044490119736e617073686f74206d6170206973206e6f7420656d707479003330643061300c0014a09445280a5014a02940dd598330011919bb030690013069306a001375860c80026464646464a6660d460da006266ec0dd3998359834000998359834800a5eb80dd30010b18358011bab3067002375660ca00264660020026eacc0a8c198dd50051129998340008a5ef6c60101a0000101a00013232323253330683232533306a3370e6eb4c1c0008dd6981f18369baa00913370e0026eb4c0f4c1b4dd50048a50375a60de60e000260d66ea8c1a80104cdd81ba63306d004002374c002266ec0dd30011ba63306d004001375660d40046eacc1a0004cc00c00cc1b0008c1a8004c0e8c190dd50040b183300099980f002181c18311baa05e4c103d8798000303830613754606e60c26ea8c190c184dd50008b1980b0010211bac306230633063002375860c200260ba6ea8104c17cc170dd502b8a50133332323222232323232325333064306130663754002264a6660ca60b860ce6ea80044c8c8c94ccc1b0c1bc0084c8c8c94ccc1acc1a0c1b4dd500089982599808198381ba93730921084d697373696e6720003307037526e6003ccc1c0dd49b984901172075706772616465206d696e74696e6720706f6c696379004bd70249003304e30113049009375c60e260dc6ea800454cc1b0cc040cc1c0dd49b98491084d697373696e6720003307037526e6003ccc1c0dd49b9849010d20757067726164652070617468004bd70249001632533306b3062306d3754002298103d87a8000130353307037526eb8c1b8c8cdd81839000983918398009bac3071306e375400297ae0330213756608660da6ea80088cdc79bae306d00100653330693066306b3754002264646464a6660e260e800426493198338009191bae3072002375c60e00022c6eacc1c8004c1c8008dd6983800098361baa001163013302f306b3754608260d66ea800458c1b4004ccc09401402130103d8798000375c60d660d06ea800458c0f8c19cdd5181f18339baa303d3067375460d460ce6ea800458cc070dd618348020241bab3068306930693069002375860ce00260ce00260c46ea800888dcc99191998008008022441002225333065002100113233300400430690035333062305f371a00426e600044cdc500119b8a00537300026e64dd718338011b98001300100122533305f00114bd70099830182e9830800998010011831000a490d53746162696c697479506f6f6c003033305c375408460be60c060c060c060c060c060c060b86ea8160c004004894ccc1740045200013003330020023060001370090011299982b1825182c1baa0011305c305937540022a660ae9201134e6f7420616e20696e6c696e6520646174756d001622325333057305430593754002260ba60b46ea800454cc16124117436f756c64206e6f742066696e642072656465656d6572001632323300100100322533305d00114c0103d87a80001323232533305c3375e00c60bc0062604c660c200297ae0133005005002305e0023061002305f00130113305b0024bd7011180f9982d1ba8337006eb4c0bcc160dd50011bad302f3058375400297ae02301d33058375066e08005208080a0f6f4acdbe01b4bd7011180e9982c1ba8337026eb4c0b4c158dd50011bad302d3056375400297ae02325333052304f001132325333058305b002149858dd7182c800982a9baa00215333052304900115333056305537540042930b0b18299baa00122301b33056375066e0ccdc11bad302b305437540046eb4c0acc150dd5000a41010141ede959b7c03697ae022301a33055375066e0ccdc11bad302a30533754004904040507b7a566df00d9bad302a3053375400297ae022330210023017001233300f001488100488100222533304e533304e304b305037546600a006466ebcc14400400c5288a501323300100100422533305400114bd6f7b63009982a9919299982919baf00100613376000200a200460a600260ac0026600400460ae002266008006660a666ec00080052f5bded8c044646600200200644a6660a400220062660a660a80026600400460aa00244646600200200644a6660a20022980103d87a800013232533304f30050021301933054374e660a860a2004660a860a400497ae04bd70099802002000982a8011829800918279828182818281828182818281828182818280009119198008008019129998278008a6103d87a800013232533304d3375e604e60a06ea80080144c05ccc1480092f5c026600800800260a600460a2002600698101a000374a90011ba548010dd79ba630213756602c608c6ea80a8dd7813911191980b80211801180f98249baa0015333044304130463754002246600c6eacc078c120dd50008018918029998039bab301e304837540026eb8c07cc120dd50019bae301e304837540066e212000223038333003002375c603660886ea8004dd7180d18221baa0012223253330423039304437540022900009bad30483045375400264a666084607260886ea8004530103d87a80001323300100137566092608c6ea8008894ccc120004530103d87a8000132323253330473371e00e6eb8c12400c4c044cc130dd4000a5eb804cc014014008dd698248011826001182500099198008008021129998238008a6103d87a8000132323253330463371e00e6eb8c12000c4c040cc12cdd3000a5eb804cc014014008dd59824001182580118248009119998018012450048810000122225333040303d001100413333300f0040033232002323300100100222533304700114984c94ccc120004526132325333046304330483754660466eb8c120c130010dd71824001099802802998258010008a99823a49326b65797320696e206173736f63696174697665206c697374206172656e277420696e20617363656e64696e67206f726465720016304c002304a001304a00133045337606ea4008dd4000a5eb7bdb180888c94ccc110c048004530103d87a80001300e33049374c00297ae033333013001005004222325333047304400114c103d87a8000130113304c375000297ae03370000200404003a4444464660020026602600c601200a44a66608c00229404c94ccc10cc94ccc110cdd7980598239baa001007132533304900114a22a66609260980022646464a666090604e6eb8c13800c54ccc120c09c00454ccc120c114c128dd50048a9998241807001099b89002482026fb808528098070010a5014a06eb8c134c138008dd69826182698268009bac304b00114a060226601a6eacc074c11cdd500098078030a50304900214a226600600600260920026e2520002304030413041001253330393036303b3754002264466ebcc054c0f8dd5180a981f1baa001002303f303c3754002264466ebcc054c0f8dd5000801181f981e1baa00122323330010010030022225333040002100113233300400430440033333300c002375c607e0026eacc100004888c94ccc104c03c004530103d87a80001300b33046374c00297ae03233300100100300222253330470021001132333004004304b00333333014002375c608c0026eb4c11c004888c94ccc120c1140045300103d87a8000130123304d375000297ae033700004002042609200403460840046e9520002323300100100222533303c00114bd6f7b6300991981f19bb037526eb8c0ec004dd319198008009bab303d00222533303f00114bd6f7b6300991982099bb037526eb8c0f8004dd418041bad303f0013300300330430023041001330030033040002303e001370290001191980080080111299981d0008a5eb804c8ccc888c8cc00400400c894ccc100004400c4c8cc108dd3998211ba90063304237526eb8c0fc004cc108dd41bad30400014bd7019801801982200118210009bae30390013756607400266006006607c00460780024a66606e002294452811111191980080080311299981e00089981e99bb0375200c6e980152f5bded8c0264646464a66607860306600e01400426608266ec0dd48051ba60090051533303c3371e014004264a66607a6074607e6ea80044cc108cdd81ba900b304330403754002008200866601001401200226608266ec0dd48011ba6001330060060033756607c0066eb8c0f0008c100008c0f800488888c8cc004004018894ccc0ec0044cc0f0cdd81ba9006375000a97adef6c60132323232533303b30173300700a002133040337606ea4028dd40048028a99981d99b8f00a002132533303c3039303e375400226608266ec0dd48059821181f9baa001004100433300800a009001133040337606ea4008dd4000998030030019bad303d003375c6076004607e004607a0024466006004466ebcc030c0d4dd51806181a9baa300b3035375400200444646600200200644a66606c002297ae0132325333034300500213303900233004004001133004004001303a00230380012303430353035303530350012303330343034303400123300248000004894ccc0b0cdc40008010801080091818181898189818981898189818981898189818981880091998021bae3003302c37540026eb8c008c0b0dd5000a40044605c605e0024605a002444a666050604a002297adef6c6013232330010014bd6f7b63011299981780089981819bb0375200c6e9800d2f5bded8c0264646464a66605e60166601801400426606866ec0dd48051ba60070051533302f3371e01400426606866ec0dd48051ba6007003133034337606ea4008dd3000998030030019bab3031003375c605e00460660046062002646600200297adef6c6022533302e00113302f337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc0b8c028cc02c0200084cc0cccdd81ba9008375000e00a2a66605c66e3c0200084cc0cccdd81ba9008375000e00626606666ec0dd48011ba800133006006003375a60600066eb8c0b8008c0c8008c0c0004dd7a6103d879800022533302533720004002298103d8798000153330253371e0040022980103d87a800014c103d87b80002323300100100222533302900114bd6f7b63009919191929998149804001080189981719bb037520046e98004cc01801800cdd598158019bae3029002302d002302b001371e911002253330223330220014a094454cc08c0084004400488cc010dd6180198121baa002001230253026302630263026302630263026302600122323300100100322533302500114a0264a66604466e3cdd718140010020a511330030030013028001301e37540166042603c6ea800458c080c084008c07c004c06cdd50008a4c26cac600200a464a66602e602800226464a66603a60400042649318060008b180f000980d1baa00215333017300e00113232533301d3020002132498c01c00458c078004c068dd50010a99980b98058008a99980d980d1baa00214985854ccc05cc01000454ccc06cc068dd50010a4c2c2a66602e60060022a66603660346ea800852616153330173370e90050008a99980d980d1baa00214985858c060dd50009b8748020dc3a400c4a6660266020602a6ea80044c8c8c8c94ccc06cc0780084c926533301730143019375400626464a66603a60400042930b1bae301e001301a37540062c2c6eb4c070004c070008c068004c058dd50008b192999808980700089919299980b980d00109924c60160022c603000260286ea803c54ccc044c0200044c8c94ccc05cc0680084c92630050011630180013014375401e2a666022600a00226464a66602e60340042649318020008b180c000980a1baa00f163012375401c4a666020601a60246ea80044c8c8c8c94ccc060c06c0084c9263300e00323230123019002300e301700116375c603200260320046eacc05c004c04cdd50008b12999807980618089baa00113232323232323232533301b301e00213232498c94ccc064c0580044c8c94ccc07cc0880084c926300e001163020001301c37540062a66603260200022a66603a60386ea800c5261616301a375400460240062c60380026038004603400260340046eb8c060004c060008dd7180b00098091baa00116232533300f300c00115333013301237540042930b0a9998079803000899191919299980b980d00109924c60100022c603000260300046eb4c058004c048dd50010a999807980180089919299980a980c00109924c600c0022c602c00260246ea800858c040dd50009b874801094ccc030c024c038dd5000899191919299980a180b8010991924c64a666024601e00226464a66603060360042649319299980a980900089919299980d980f00109924c601a0022c603800260306ea800854ccc054c0300044c8c8c8c8c8c94ccc07cc08800852616375a604000260400046eb4c078004c078008dd6980e000980c1baa00216301637540022c6032002602a6ea800c54ccc048c02400454ccc058c054dd50018a4c2c2c60266ea8008c01800c58c054004c054008c04c004c03cdd50008b11929998061804800899192999809180a8010a4c2c6eb8c04c004c03cdd50010a9998061801800899192999809180a8010a4c2c6eb8c04c004c03cdd50010b18069baa001370e900112999804980318059baa00113232323232325333013301600213232498cc0280088c8c038c054008c028c04c004c02800c58dd5980a000980a001180900098090011bae3010001300c37540022c4a666010600a60146ea80044c8c8c8c94ccc040c04c00852616375a602200260220046eb4c03c004c02cdd50008b1119198008008019129998070008a4c264660060066024004600660200024a66600c600660106ea80044c8c8c8c8c8c8c8c8c8c94ccc050c05c0084c8c8c926300e007300d008300c00916375a602a002602a0046eb4c04c004c04c008c044004c044008c03c004c03c008c034004c024dd50008b12999802980118039baa00113232533300b300e002149858dd6980600098041baa00116370e90002b9a5738aae7555cf2ab9f5740ae855d11',
21
+ };
22
+
23
+ export const mkStabilityPoolValidator = (
24
+ params: StabilityPoolParams,
25
+ ): SpendingValidator => {
26
+ return {
27
+ type: stabilityPoolValidator.type,
28
+ script: applyParamsToScript(stabilityPoolValidator.cborHex, [
29
+ castStabilityPoolParams(params),
30
+ ]),
31
+ };
32
+ };
33
+
34
+ export const mkStabilityPoolValidatorFromSP = (
35
+ params: StabilityPoolParamsSP,
36
+ ): SpendingValidator => {
37
+ return {
38
+ type: stabilityPoolValidator.type,
39
+ script: applyParamsToScript(stabilityPoolValidator.cborHex, [
40
+ castStabilityPoolParams({
41
+ assetSymbol: params.assetSymbol.unCurrencySymbol,
42
+ stabilityPoolToken: fromSystemParamsAsset(params.stabilityPoolToken),
43
+ snapshotEpochToScaleToSumToken: fromSystemParamsAsset(
44
+ params.snapshotEpochToScaleToSumToken,
45
+ ),
46
+ accountToken: fromSystemParamsAsset(params.accountToken),
47
+ cdpToken: fromSystemParamsAsset(params.cdpToken),
48
+ iAssetAuthToken: fromSystemParamsAsset(params.iAssetAuthToken),
49
+ versionRecordToken: fromSystemParamsAsset(params.versionRecordToken),
50
+ collectorValHash: params.collectorValHash,
51
+ govNFT: fromSystemParamsAsset(params.govNFT),
52
+ accountCreateFeeLovelaces: BigInt(params.accountCreateFeeLovelaces),
53
+ accountAdjustmentFeeLovelaces: BigInt(
54
+ params.accountAdjustmentFeeLovelaces,
55
+ ),
56
+ requestCollateralLovelaces: BigInt(params.requestCollateralLovelaces),
57
+ }),
58
+ ]),
59
+ };
60
+ };
@@ -0,0 +1,8 @@
1
+ import { ScriptType } from '@lucid-evolution/lucid';
2
+
3
+ export const _stakingValidator = {
4
+ type: 'PlutusV2' as ScriptType,
5
+ description: 'Generated by Aiken',
6
+ cborHex:
7
+ '591ede591edb01000032323232323232322232323232323223232323232253330103232325333013300c30153754002264646464646464646464646464646464646464646464646464646464646464a64646466606a6064042264a66606c00426464646464a6660766070607a6ea80044c8c8c8c94ccc10cc1180084c8c8c94ccc118c1240084c94ccc10ccc0992411d496e76616c696420696e707574206265696e672076616c696461746564003375e605c608c6ea8020c0b8c118dd50028a99982199813249375472616e73616374696f6e206d757374206265207369676e6564206279206f776e6572206f66207374616b696e6720706f736974696f6e003302003200e15333043330264901204d757374206d696e742065786163746c792031207374616b696e67546f6b656e003375e6e98c090dd5981198231baa032374c60386054608c6ea810854ccc10ccc0992411f496e636f7272656374205374616b696e674d616e61676572206f7574707574003333301400a004301133048302d33048302d33048375066e00dd6981718231baa00d001304a3046375401a97ae04bd701bab302a304637546054608c6ea801530103d8798000133026490120496e636f7272656374205374616b696e67506f736974696f6e206f75747075740033333014330480024bd700021808998241808198241816998241ba900e330484c101a00033048302a3046375401a97ae04bd7025eb80cc05cc070c0a8c118dd502119809980a98231baa0420014c0103d87a800014a029405280a503302137566052608a6ea8004c050c114dd50208b182380099812998078038009198139bab302830443754002605060886ea8100c030cc11000d2f5c02c608800266604200a605060806ea80f1300103d87980003027303f37546046607e6ea8004c104c0f8dd50008b198118010139bac303f304030400023758607c00260746ea8098c0f0c0e4dd501a0a50375c607660706ea80b04c94ccc0d8c0bc08854ccc0d80084c8c8c8c94ccc0e8c0dcc0f0dd500089919192999820982200109919299981f9981124811f4d7573742061646a75737420706f736974696f6e206f7220756e7374616b6500325333040303400114a22a666080606a002294452818209baa0021330224910e4d697865642076657273696f6e73003375e60526608800a66088980103d87a80004bd70181518211baa3026304237540062940c0c4004cc020c0a0c100dd50008028b182100099980f8021811181f1baa03a4c0103d87980003025303d3754604a607a6ea8c084c0f4dd51820181e9baa00116330220020263756607c607e607e607e607e607e607e607e607e607e0046eb0c0f4004c0e4dd50128a5013253232333039302f02515333039005133232323232232323232533304330403045375400226464646464a666098609e00426464646464a66609a6606092011d496e76616c696420696e707574206265696e672076616c696461746564003375e607060a06ea8028c0e0c140dd50030a999826998182491643616e206e6f74206d696e7420616e7920746f6b656e000151533304d3303049010f4e6f20494e4459207374616b657273003371090001bad30383050375401e2a66609a660609212c436f6c6c6563746f7220696e70757473206d75737420757365207468652072696768742072656465656d65720033012005232323019002325333050304d00115333054305337540042930b0a99982818248008a99982a18299baa00214985854ccc140c11800454ccc150c14cdd50010a4c2c2c60a26ea8004cc064c0e4c144dd50009bab30543055305530553055305530553055305530553051375407a2a66609a6606092126436f6c6c6563746f72206f7574707574732063616e20636f6e7461696e206f6e6c7920414441003301200323375e606a60a26ea8004dd3180c180a1bab3035305137540022a66609a660609201404661696c20746f2072657475726e207468652073616d65206e756d626572206f66205554784f7320746f2074686520636f6c6c6563746f72206164647265737300533304d3370e602000a60200062660240064602e606a60a26ea8c0e4c144dd50008a501533304d330304913e4d6f7265207468616e20393525206f66207468652064697374726962757461626c652076616c75652068617320746f206265206469737472696275746564003371000466e0c011202813303049011f496e636f7272656374205374616b696e674d616e61676572206f7574707574003333301e00c301a330520094bd70180d99829181b99829181b99829182998281baa00f33052303733052375066e00dd6981c18281baa30343050375401e66e0ccdc1000a410181519534746eb4c0e0c140dd5007a5eb812f5c097ae04bd7019299982718258010800899999812800a45003232002323300100100222533305500114984c94ccc158004526132325333054305130563754660606eb8c158c168010dd7182b0010998028029982c8010008a9982aa49326b65797320696e206173736f63696174697665206c697374206172656e277420696e20617363656e64696e67206f726465720016305a002305800130580013305333760981014000375000497adef6c60222325333052302800114c103d87a80001303c33057374c00297ae03333302900148900005222325333055305200114c103d87a80001303f3305a375000297ae03370000200405a0546eacc0d0c140dd5181a18281baa0064c103d87a800014a029405280a5014a0294052819b810030013330120014800088cdc000098099bab3034305037540046603201260686609e00a97ae03330100014800088cdc000098089bab3032304e37546064609c6ea8008cc0b40208cdd7981a18261baa3034304c3754606060986ea800401058c134004ccc0a8018c0c4c124dd5022a6103d879800030123304a304b304c304c304c304c304c3048375408897ae0302f304737546056608e6ea8004c124c118dd50008b198158010179bac3047304830480023758608c00260846ea80b8c004004894ccc1080045200013370090011980100118228009119198008008019129998218008a5113253330403004304600213300300300114a0608c0024666046002910100488100222323300100100422533304200110041330033044001330020023045001303f303c375406e29404c8c8c8c94c8ccc0f8c0cc0a84c94ccc0fc0084c8c8c8c8c8c8c94ccc118c10cc120dd50008991919192999827182880109919299982818298010992999826982518279baa00113232533305330560021323232323253330543303749011d496e76616c696420696e707574206265696e672076616c696461746564003375e607e60ae6ea8038c0fcc15cdd50058a99982a1981ba490e4d697865642076657273696f6e73003375e607e60ae6ea8034c0fcc15cdd5181f982b9baa303b305737540122a6660a86606e921295374616b696e67206d616e61676572206973206e6f7420636f6e73756d656420636f72726563746c79003232301f00230480013301f303f305737540120202a6660a86606e920126546865207472616e73616374696f6e206973206e6f74207369676e6564206279206f776e65720033031043375c607e60ae6ea805454ccc150cc0dd240120457863656564206d6178696d756d207769746864726177616c20616d6f756e74003371200266e0001005854ccc150cc0dd24011f496e636f7272656374205374616b696e674d616e61676572206f7574707574003333302501130213305900d4bd7018111982c981f1982c981f1982c9ba8337006eb4c0fcc15cdd500300b182d982b9baa0064bd7025eb80cc0a0dd5981d982b9baa303b30573754012605200698103d879800015333054330374911643616e206e6f74206d696e7420616e7920746f6b656e0001c13303749120496e636f7272656374205374616b696e67506f736974696f6e206f7574707574003333302501130213305900d4bd7018111982c98109982c981f1982c981f982b9baa01533059374c004660b2607660ae6ea80192f5c097ae04bd70198141bab303b30573754607660ae6ea802ccc090c098c15cdd502980b26103d87a800014a029405280a5014a02940528191980080080111299982c8008a40002664464a6660b066e2000400840084004dd6982e982d1baa305a002305b00133002002305c001330173756607260aa6ea804cc058c154dd502099980b9811982a1baa0123038305437540060026605e6eacc0dcc14cdd5181b98299baa00a30223053375409e60940022c60a800260a06ea800458c04cc078c13cdd5181998279baa00116305100133302e0093035304d375409298103d879800016304f00133302c007302f304b375408e98103d87980003032304a3754605c60946ea8004c130c124dd50008b198170020191bab304a304b304b304b304b304b304b304b00237586092002609260920046eb0c11c004c10cdd5017982298211baa03d14a06eb4c110c104dd501a8a99981f18190150a99981f00089991911919191919192999823982218249baa001132323232533304f30520021323253330513054002132533304e304b3050375400226464a6660a860ae004264646464a6660a86606e9211d496e76616c696420696e707574206265696e672076616c696461746564003375e607e60ae6ea8034c0fcc15cdd50050a99982a1981ba490e4d697865642076657273696f6e73003375e607e60ae6ea8030c0fcc15cdd5181f982b9baa303b305737540102a6660a86606e921295374616b696e67206d616e61676572206973206e6f7420636f6e73756d656420636f72726563746c79003232301f00230480013301f303f3057375401001e2a6660a86606e920126546865207472616e73616374696f6e206973206e6f74207369676e6564206279206f776e65720033031043375c607e60ae6ea805054ccc150cc0dd24011b43616e206e6f7420756e7374616b65206c6f636b65642066756e64003051301500115333054330374901184d757374206275726e2031207374616b696e67546f6b656e003375e6e98c0d4dd5981a182b9baa043374c6052605a607660ae6ea814c4cc0dd24011f496e636f7272656374205374616b696e674d616e61676572206f7574707574003333302501030213305900c4bd7018111982c981f1982c981f1982c9ba8337026eb4c0fcc15cdd5002801982d982b9baa0054bd7025eb80cc0a0dd5981d982b9baa303b30573754010605200498103d879800014a029405280a5014a02940cc060dd5981d182b1baa013301730563754084666030604860aa6ea8048c0e4c154dd5001800998181bab303830543754607060a86ea8028c08cc150dd502818258008b182a80098289baa001163014301f30503754606860a06ea800458c148004ccc0bc024c0d8c138dd502526103d879800016305000133302d0073030304c375409098103d87980003033304b3754605e60966ea8004c134c128dd50008b198178020199bab304b304c304c304c304c304c304c304c00237586094002609460940046eb0c120004c110dd501818008009129998220008a4000266e012002330020023047001304430413754078294054ccc0f8cdc3a40140542a66607c002264646464a66608c60920042a6660846604a9201094d75737420766f7465003232533304430413046375400429445281929998221820800899192999825182680109924c64a66608e60880022a66609660946ea8008526161533304730400011533304b304a37540042930b0b18241baa00116304b001304737540042a666088607a002264646464a666098609e004264932999824182298251baa001132323232533305030530021324994ccc130c124c138dd5001899192999829182a8010a4c2c6eb8c14c004c13cdd50018b0b1bad30510013051002304f001304b37540022c2c609a002609a0046eb4c12c004c11cdd50010b18229baa0013300d302d3045375400200626604a9201124d757374206d696e74206e6f20746f6b656e0000a14a02c608e0026660486eb0c118008c118c11cc11cc11cc10cdd501fa6103d87980003756608a608c608c608c608c608c608c608c608c608c00260826ea80b45280999919191119191919192999824182298251baa00113253330493042304b37540022646464a6660a060a60042646464a66609e609860a26ea80044cc0c8cc03ccc150dd49b984901084d697373696e6720003305437526e60038cc150dd49b984901172075706772616465206d696e74696e6720706f6c696379004bd70249003302d30103030009375c60aa60a46ea800454cc140cc03ccc150dd49b98491084d697373696e6720003305437526e60038cc150dd49b9849010d20757067726164652070617468004bd70249001632533304f304830513754002298103d87a8000130393305437526eb8c148c8cdd8182b000982b182b8009bac30553052375400297ae032330010013756606c60a46ea800c894ccc1500045300103d87a80001323253330523371e6eb8c1500080244c0f0cc15cdd39982b982a0011982b982a80125eb812f5c026600800800260b000460ac002a66609a6094609e6ea80044c8c8c8c94ccc154c1600084c9263304b001232375c60ac0046eb8c15000458dd5982b000982b0011bad3054001305037540022c6026603c609e6ea8c0ccc13cdd50008b1828800999817002804260103d8798000375c609e60986ea800458c0ccc12cdd5181998259baa302f304b3754609c60966ea800458cc0c0dd6182680201a1bab304c304d304d304d002375860960026096002608c6ea80c888dcc9919199800800802244100222533304a0021001132333004004304e00353330473044371a00426e600044cdc500119b8a00537300026e64dd718260011b98001300100122533304400114bd7009982298211823000998010011823800a49075374616b696e6700301e3041375407a606c607e6ea80ec8c10cc110c110c110c110c110c110c11000488c94ccc0f8c0dcc100dd500089919198008008029129998228008a5eb7bdb1804c8c94ccc10ccdc40029bad3049304a30463754608c004266090004660080080022660080080026092004608e0026eb4c110c104dd50008b181418201baa302830403754002444600e66e0ccdc119b81375a605060806ea8008dd6981418201baa0030014820302a32a68e894ccc0e8c0c0c0f0dd500089820181e9baa001153303b491134e6f7420616e20696e6c696e6520646174756d00163375e98101a000374c60326eacc060c0ecdd50139baf4c0103d87a8000233301148900488100001223253330383035303a37540022607c60766ea800454cc0e5240117436f756c64206e6f742066696e642072656465656d6572001632323300100100322533303e00114c0103d87a80001323232533303d3375e00c607e0062604e6608400297ae0133005005002303f0023042002304000130043303c0024bd701818981b1baa032374a90011ba54801088cc060008c01800488ccc030dd7180e981a9baa002375c6032606a6ea800800488888c8cc004004cc068018c020014894ccc0e8004528099299981b99299981c19baf300a303b375400200e264a66607a002294454ccc0f4c1000044c8c8c94ccc0f0c078dd718210018a99981e180f0008a99981e181c981f1baa0091533303c337129000001099b89002482026fb808528099b89480000085280a50375c608260840046eb4c100c104c104004dd6181f8008a5032330010013300d3756604060786ea8008c03801c894ccc0f800452f5c0264666444646600200200644a66608800220062646608c6e9ccc118dd4803198231ba9375c60860026608c6ea0dd69822000a5eb80cc00c00cc120008c118004dd7181e8009bab303e001330030033042002304000114a0607a00429444cc00c00c004c0f40048c0d4c0d8c0d800494ccc0b8c0acc0c0dd5000899119baf301b30333754603660666ea8004008c0d0c0c4dd5000899119baf301b30333754002004606860626ea800488c8ccc00400400c0088894ccc0d400840044c8ccc010010c0e400cccccc024008dd7181a0009bab3035001222325333036300c00114c103d87a8000130203303b374c00297ae032333001001003002222533303c0021001132333004004304000333333011002375c60760026eb4c0f0004888c94ccc0f4c0e80045300103d87a80001302733042375000297ae03370000400202a607c00401c606e0044646600200200444a666064002297adef6c6013233034337606ea4dd718188009ba632330010013756606600444a66606a002297adef6c6013233037337606ea4dd7181a0009ba83370290001bad3035001330030033039002303700133003003303600230340012533302f00114a2294088888c8cc004004018894ccc0d00044cc0d4cdd81ba9006374c00a97adef6c601323232325333034300f3300700a002133039337606ea4028dd30048028a99981a19b8f00a002132533303530323037375400226607466ec0dd4805981d981c1baa001004100433300800a009001133039337606ea4008dd3000998030030019bab3036003375c60680046070004606c00244444646600200200c44a66606600226606866ec0dd48031ba80054bd6f7b630099191919299981998071980380500109981c19bb037520146ea002401454ccc0cccdc7805001099299981a1818981b1baa001133039337606ea402cc0e8c0dcdd5000802080219980400500480089981c19bb037520046ea0004cc01801800cdd6981a8019bae3033002303700230350012333002375c602660566ea8004dd7180798159baa001480088894ccc0a4c09800452f5bded8c0264646600200297adef6c60225333030001133031337606ea4018dd3001a5eb7bdb1804c8c8c8c94ccc0c0c02ccc0300280084cc0d4cdd81ba900a374c00e00a2a66606066e3c0280084cc0d4cdd81ba900a374c00e00626606a66ec0dd48011ba600133006006003375660640066eb8c0c0008c0d0008c0c8004c8cc0040052f5bded8c044a66605e00226606066ec0dd48021ba80034bd6f7b630099191919299981798051980580400109981a19bb037520106ea001c01454ccc0bccdc780400109981a19bb037520106ea001c00c4cc0d0cdd81ba900237500026600c00c0066eb4c0c400cdd71817801181980118188009baf4c0103d879800022533302633720004002298103d8798000153330263371e0040022980103d87a800014c103d87b80002233003375860566058605860586058605860586058605860506ea800800488c8cc00400400c894ccc0a8004528099299981399b8f375c605a00400829444cc00c00c004c0b400488ccc02c008dd7180718131baa001375c6014604c6ea80048c09cc0a0c0a0c0a0c0a00048c8cc004004008894ccc09800452f5bded8c0264646464a66604c6010004200626605666ec0dd48011ba600133006006003375660500066eb8c098008c0a8008c0a0004dc7a450022533301f33301f0014a094454cc08000840044004888c8cc0140108c008c020c090dd5000a99980f980e18109baa00112330063756600e60466ea800400c48cdc4240006660106eacc01cc08cdd50009bae300b302337540066eb8c01cc08cdd50019119198008008019129998118008a5eb804c8c94ccc084c0140084cc098008cc0100100044cc010010004c09c008c09400488c054ccc010008dd71803980f9baa001375c6006603e6ea80048c080c084004888c94ccc070c054c078dd50008a400026eb4c088c07cdd500099299980e180a980f1baa00114c0103d87a8000132330010013756604660406ea8008894ccc088004530103d87a8000132323253330213371e00e6eb8c08c00c4c02ccc098dd4000a5eb804cc014014008dd698118011813001181200099198008008021129998108008a6103d87a8000132323253330203371e00e6eb8c08800c4c028cc094dd3000a5eb804cc014014008dd598110011812801181180091191980080080191299980f8008a6103d87a800013232533301d3375e601060406ea80080144c01ccc0880092f5c0266008008002604600460420026e9520002301c001301637540166032602c6ea800458c060c064008c05c004c04cdd50008a4c26cac600200a464a66601e601800226464a66602a60300042930b1bae3016001301237540042a66601e60100022a66602660246ea8008526161533300f300500115333013301237540042930b0a999807980200089919299980a980c0010a4c2c6eb4c058004c048dd50010a99980798018008a99980998091baa00214985854ccc03ccdc3a40140022a66602660246ea8008526161533300f3370e90060008a99980998091baa00214985858c040dd50009b8748020dc3a400c6e1d2004325333009300600113232533300f3012002132498c01800458c040004c030dd50038a9998049801000899192999807980900109924ca6660166010601a6ea80044c8c8c8c8c8c94ccc054c0600084c8c926300e0023300b003232325333014301130163754002264646464a666038603e0042930b1bad301d001301d002375a6036002602e6ea800458c058008dd6980a0008b180b000980b0011bab30140013014002375c6024002601c6ea80045858c040004c030dd50038b18051baa006370e90011119198008008019129998070008a4c264660060066024004600660200024a66600c600660106ea80044c8c8c8c94ccc038c0440084c926300600116300f001300f002375a601a00260126ea80045894ccc014c008c01cdd500089919299980598070010a4c2c6eb4c030004c020dd50008b1b87480015cd2b9c5573aaae7955cfaba05742ae881',
8
+ };
@@ -0,0 +1,26 @@
1
+ import {
2
+ applyParamsToScript,
3
+ MintingPolicy,
4
+ ScriptType,
5
+ } from '@lucid-evolution/lucid';
6
+ import {
7
+ castVersionRecordTokenParams,
8
+ VersionRecordTokenParams,
9
+ } from '../types/indigo/version-record';
10
+
11
+ const versionRecordPolicyData = {
12
+ type: 'PlutusV2' as ScriptType,
13
+ cborHex:
14
+ '5901bd5901ba010000323232323232322225333004323253330063370e900018039baa300b300c00215333009300c32333232322232323300100100422533301200114bd700991929998089802980418099baa0021330150023300400400113300400400130160023014001533300c3370e900018069baa4c103d879800012300633300537566008601e6ea8004dd7180398079baa002375c6008601e6ea800848cdc42400066600a6eacc010c03cdd50009bae3007300f37540046eb8c010c03cdd5001118079808000911192999806180298069baa0011480004dd6980898071baa00132533300c3005300d3754002298103d87a80001323300100137566024601e6ea8008894ccc044004530103d87a8000132323253330113371e00e6eb8c04800c4cdd2a40006602a6ea00052f5c026600a00a0046eb4c048008c054008c04c004c8cc004004010894ccc040004530103d87a8000132323253330103371e00e6eb8c04400c4cdd2a4000660286e980052f5c026600a00a0046eacc044008c050008c048004dc3a40046eb0c004c024dd5001180098049baa0062300c00114a22c2c6014002600c6ea8004526136565734aae7555cf2ab9f5740ae855d11',
15
+ };
16
+
17
+ export function mkVersionRecordTokenPolicy(
18
+ params: VersionRecordTokenParams,
19
+ ): MintingPolicy {
20
+ return {
21
+ type: versionRecordPolicyData.type,
22
+ script: applyParamsToScript(versionRecordPolicyData.cborHex, [
23
+ castVersionRecordTokenParams(params),
24
+ ]),
25
+ };
26
+ }
@@ -0,0 +1,15 @@
1
+ import { ScriptType, SpendingValidator } from '@lucid-evolution/lucid';
2
+
3
+ const versionRegistryValidatorData = {
4
+ type: 'PlutusV2' as ScriptType,
5
+ description: 'Generated by Aiken',
6
+ cborHex:
7
+ '59239a59239701000032323232323232322232323232323232323232323232322322533301432325333016300e301837546038603a0042646464646464646464646464646464646464646464646464a66605c66002920125476f7620696e707574206d75737420757365207468652072696768742072656465656d657200533302e00c132323375e00498103d87b8000325333030302d00113232323232323232533303c303f00213232498c0a8008c0ac00c58c0f4004c0f4008c0ec004c0ec008dd7181c800981c8011bad3037001303337540042a666060605000226464a66606c60720042930b1bad3037001303337540042a666060604a0022a66606860666ea80085261615333030302400115333034303337540042930b0b18189baa0013300230153031375401a02c29444c94ccc0bccc0092401174d697865642070726f746f636f6c2076657273696f6e73003370e6eb4c02cc0c8dd50051bad30013032375405a2646464a6660646600a9212243616e206f6e6c7920636f6e73756d65206f6e65207570677261646520746f6b656e00302a300133301301b301630353754062980103d87980001533303233005491224d7573742065786563757465206166746572206566666563746976652064656c617900325333033302b30353754002266e20cdc01bad300f303637540626eb4c03cc0d8dd5180b981b1baa00e375a6072606c6ea8004528180c981a9baa3019303537546010606a6ea807454ccc0c8cc0152411143616e6e6f7420626520657870697265640000713232533233035332253330373034303937540042a66607601e2a66070921475768656e2066756e64732066726f6d207472656173757279207265717565737465642069742068617320746f207370656e642061207574786f2066726f6d20747265617375727900161533303b303e00f13232300500232533303930360011533303d303c37540042930b0a99981c98188008a99981e981e1baa00214985854ccc0e4c0b800454ccc0f4c0f0dd50010a4c2c2a666072605a0022a66607a60786ea800852616153330393370e90040008a99981e981e1baa00214985854ccc0e4cdc3a40140022a66607a60786ea80085261616303a375400266016603c60746ea8c0f403c00454cc0e1241475768656e2066756e64732066726f6d207472656173757279207265717565737465642069742068617320746f207370656e642061207574786f2066726f6d207472656173757279001613300a49014b5768656e206e6f207472656173757279207769746864726177616c207265717565737465642069742063616e2774207370656e6420616e79207574786f2066726f6d207472656173757279003034300600f3002303837540666eacc00cc0e0dd501009980424812b4661696c20746f2065786563757465207570677261646520696e20657865637574696e6720706572696f640032323232323232323232323232323232325332330473301a49012c54686520646174756d206f6620676f7665726e616e6365206d757374207570646174652070726f7065726c7900323253233304a304700213333300d00730233304f0014bd701802198279919191819998291829801998291829801198291829800998291ba8301e375a604860a06ea80a0c150c150004c14c004c148004c134dd5002a5eb80c030c0c4c134dd5024a6103d87a80001533304a303f00213333300d00730233304f0014bd7018021982799181899828182880099828182898271baa00430523052001304d375400a97ae0300c3031304d375409298103d87a80001533304a303e00213333300d00730233304f0014bd7018021982799191819198289829001198289829000998289ba8301d375a6050609e6ea809cc14cc14c004c148004c134dd5002a5eb80c030c0c4c134dd5024a6103d87a80001533304a302c00613333300d00730233304f0014bd70180219827802a5eb80c030c0c4c134dd5024a60103d87a8000133304a0284a0944c0bccc138c0c0c130dd5181818261baa302d304c37540506609c980103d87a80004bd7018251baa001302b304a375408a2a66608e66034920122546865207472616e73616374696f6e206d757374206d696e742070726f7065726c79003375e6e98c8cc004004dd5980d18259baa03322533304d00114bd6f7b63009919191929998269808801080189982919bb037520046e98004cc01801800cdd598278019bae304d0023051002304f001374c64a666090608a00226601c6601c6014603e60966ea811cc028c090c12cdd502398079805181618259baa04715333048303c00113300e300a301a304b375408e601e6014605860966ea811c4c03cc028c0b0c12cdd502398249baa302b304a375408a2a66608e6603492119496e636f727265637420494173736574207370656e64696e6700325333048304000114a22a666090608a00229444c114c8c8cc004004020894ccc13c004520001337006600400460a4002660206eacc0bcc138dd5181798271baa30510010033024304b375408e60926ea8c0acc128dd502289919299199825182380109919191919191919191919191919191919191919191919191929998319981b24812153746162696c697479506f6f6c206f757470757420697320696e636f72726563740033333026020303c33068304933068303c330683069306a306a306a306a306a306a306637540c497ae0330684c103d87a80004bd7025eb80c074cc1a0c124cc1a0c124cc1a0dd480c198342611dd8799fd8799f1b0de0b6b3a7640000ffd8799f00ffd8799f00ff0000ff00330684c10ca1d8799f0000ffd8799f00ff004bd7025eb812f5c0604a607460cc6ea818930103d87a8000153330633060375a607460cc6ea80f84cc0d92412370726f706f73656420694173736574206f757470757420697320696e636f727265637400330014a2980103d87a8000133036490125496e636f72726563746c7920636f6e73756d6564207265666572656e6365206961737365740032325333069306c0021325333066305e3068375400226464a6660d860de00426464a6660d460ce0022a6660d464a6660de60dc0022a6660d660c660da002294454ccc1acc1a0c1b40045280b0b1baa3070307130713071307130713071307130713071307130713071306d37540062a6660d46607a92012370726f706f73656420694173736574206f757470757420697320696e636f727265637400330084a260a0660de60a260da6ea800d2f5c026607a92123636f6e73756d656420694173736574206f757470757420697320696e636f7272656374003333302d02700930243306f30433306f323232323232323232323232305c3307b307c00c3307b307c00b3307b307c00a3307b307c0093307b307c0083307b307c0073307b307c0063307b307c0053307b307c0043307b307c0033307b307c0023307b307c0013307b3330764a0980103d87a80004c0103d8798000307d307d001307c001307b001307a00130790013078001307700130760013075001307400130730013072001306d375400697ae04bd701816182318369baa0694c0103d87a800014a0294054ccc1a8c17c00454ccc1a8c94ccc1acc1a0c1b4dd50008981b998198101bae3071306e37540022944c0a8c1b4dd50018a9998351981ea492370726f706f73656420694173736574206f757470757420697320696e636f727265637400330084a0605460da6ea800c4cc0f524123636f6e73756d656420694173736574206f757470757420697320696e636f7272656374003333302d02700930243306f30433306f323232323232323232323232305c3307b307c00c3307b307c00b3307b307c00a3307b307c0093307b307c0083307b307c0073307b307c0063307b307c0053307b307c0043307b307c0033307b307c0023307b307c0013307b307c307d0013307b305c3307b375205697ae04bd70183e000983d800983d000983c800983c000983b800983b000983a800983a0009839800983900098369baa0034bd7025eb80c0b0c118c1b4dd5034a60103d87a800014a0294054cc1ad2411a537563682069617373657420616c7265616479206578697374730016306b37546606203c6eb8c140c1b0dd500118148008b183680098349baa001163042304130683754609260d06ea800458c1a8004ccc110dd6182518331baa04e303f306637540c4980103d879800014a0446666604e042006603c660d2607a660d26094660d26ea4064cc1a4c0f4cc1a405d2f5c0660d202a660d2026660d2022660d201e660d201a660d2016660d2012660d200e660d200a660d2008660d26660c8004980103d87a80004c0103d8798000330690014bd7025eb812f5c0604c608060ce6ea818d30103d87a8000303a33066304733066018330664c0103d87a80004bd7025eb80c198c19c008c194004c194008c18c004c18c008c184004c184008c17c004c17c008c174004c174008c16c004c16c008c164004c164008c15c004c15c008c154004c154008c14c004c14c008dd7182880098269baa0031533304a30420021323232323232323232323232323232323232323232323232325333067306a0021325333064305c3066375400226464a6660d460da004264a6660ce6607492011a694173736574206f757470757420697320696e636f7272656374003333302a02430403306c304d3306c01e3306c4c103d87a80004bd7025eb80c084cc1b0c100cc1b0c134cc1b0dd480e1983600d1983600c1983600b1983600a1983600919836008198360071983600619836005198360041983600398371837183718371837183718371837183718371837183718351baa0024bd7025eb80c0a4c10cc1a8dd5033260103d87a8000153330673303a4911b5370656e6420696e76616c696420694173736574206f7574707574003371e6eb8c138c1a8dd500100e0a9998339981d2491f43616e6e6f74206d6f6469667920612064656c697374656420694173736574005333067306430693754609660d46ea800854cc1a12411f43616e6e6f74206d6f6469667920612064656c697374656420694173736574001614a226607492011d4d6967726174696e67206e6f6e2d757067726164656420494173736574003375e609c60d46ea8c138c1a8dd5182598351baa00501e14a0294052818138008b183580098339baa001163040303f30663754608e60cc6ea800458c1a0004ccc10807cc0f4c190dd503026103d879800030663067002306500130650023063001306300230610013061002305f001305f002305d001305d002305b001305b00230590013059002305700130570023055001305500230530013053002375c60a2002609a6ea800c54ccc128c0f80084c8cc07924012176657273696f6e5265636f7264206f757470757420697320696e636f7272656374003333300e0083024330503031330503024330503021304e375409497ae0330504c103d87a80004bd7025eb80c014cc140c0c4cc140c144004cc140dd319198008009bab3052305300222533305100114bd6f7b6300998291919bb0305000130353051375460a200260a60026600400460a800297ae04bd701806980e98271baa04a4c0103d87a8000304d375460a0609a6ea800c54ccc128c0fc0085288a5130223304e3016304c375409097ae0304a3754002605660946ea81145280a50374a90020a5032323232302f3304e304f0043304e304f0033304e304f0023304e304f0013304e304f30500013304e37506644a66609666e2000400840044008cdc01bad3016304c375404800a66e092082d1cc044820225e92f5c0609e002609c002609a00260906ea8080c94ccc114c108c11cdd5000899805191980080099198008009bac302b304a3754609a60946ea800c894ccc13000452f5c026609a6e9cc8c8cc13cc140008cc13cc140004cc13cc140c1440052f5c060a000260966ea8c138004cc008008c13c004894ccc12c00452f5bded8c02664464666444a66609a6094002200a26666602e00a0066464004646600200200444a6660a8002293099299982a8008a4c26464a6660a660a060aa6ea8cc06cdd7182a982c8021bae3055002133005005330580020011533054491326b65797320696e206173736f63696174697665206c697374206172656e277420696e20617363656e64696e67206f72646572001630590023057001305700133052337606ea4008dd4000a5eb7bdb180888c94ccc144c068004530103d87a80001303733056374c00297ae03333301b001005004222325333054305100114c103d87a80001303a33059375000297ae03370000200403002a6eb8c14000cdd718280009bad3050305100130500023758609a00266004004609c002602660906ea8110520003011304737540846eb0c124c128c128008dd6182400098221baa02c23047304830483048304830483048304830483048304830483048304800125333040303d30423754002264646464646464646464646464646464646464646464646464646464a6660c060c6004264646464646464646464646493192999834183280089919299983718388010a4c2c6eb8c1bc004c1acdd50068a99983418300008a99983618359baa00d14985858c1a4dd5006182f807982f008182e808982e009182d809982d00a182c80a982c00b182b80b982c80c182980c8b1830800983080119299982f182e8008a99982d1829182e0008a511533305a3057305c00114a02c2c6ea8c17c004c17c008c174004c174008c16c004c16c008c164004c164008c15c004c15c008c154004c154008c14c004c14c008c144004c144008c13c004c13c008c134004c134008c12c004c12c008c124004c124008dd7182380098219baa0011623322533304130394800052f5bded8c0264646600200297adef6c60225333048001133049337606ea4014dd3001a5eb7bdb1804c8c8c8c94ccc120c050cc0400240084cc134cdd81ba9009374c00e00a2a66609066e3c0240084cc134cdd81ba9009374c00e00626609a66ec0dd48011ba600133006006003375660940066eb8c120008c130008c128004c8cc0040052f5bded8c044a66608e00226609066ec0dd4801a6010101004bd6f7b630099191919299982398099980780380109982619bb0375200e981010100005153330473371e00e00426609866ec0dd4803a6101010000313304c337606ea4008dd4000998030030019bad3049003375c608e004609600460920026eb8c098c108dd50009bae3023304237540024444464660020026604c00ca6660866080608a6ea80144c88cdd7981618241baa302c304837540020046092608c6ea80144c88cdd7981618241baa00100230493046375400a44a66609000229404c94ccc114c94ccc118cdd7981118249baa001007132533304b00114a22a666096609c0022646464a666094601c6eb8c14000c54ccc128c03800454ccc128c11cc130dd50048a99982519b89480000084cdc48012410137dc0429404cdc4a400000429405281bae304f3050002375a609c609e609e0026eb0c1340045281919800800998069bab302b304a3754004601c00e44a666098002297ae01323332223233001001003225333052001100313233054374e660a86ea4018cc150dd49bae30510013305437506eb4c1480052f5c06600600660ac00460a80026eb8c12c004dd5982600099801801982800118270008a50304b00214a226600600600260960026e3d2210022333022002375c604860806ea8004dd7181098201baa00122323330010010030022225333043002100113233300400430470033333300a002375c60840026eacc10c004888c94ccc110c0340045300103d87a80001302a33049374c00297ae032333001001003002222533304a0021001132333004004304e00333333012002375c60920026eb4c128004888c94ccc12cc1200045300103d87a80001303133050375000297ae03370000400201e6098004010608a0044646600200200444a666080002297adef6c6013233042337606ea4dd7181f8009ba632330010013756608200444a666086002297adef6c6013233045337606ea4dd718210009ba83370290001bad30430013300300330470023045001330030033044002304200122533303a33720004002298103d87980001533303a3371e0040022980103d87a800014c103d87b80002533303c00114a2294088888c8cc004004018894ccc1040044cc108cdd81ba9006374c00a97adef6c601323232325333041300d3300700a002133046337606ea4028dd30048028a99982099b8f00a0021325333042303f3044375400226608e66ec0dd4805982418229baa001004100433300800a009001133046337606ea4008dd3000998030030019bab3043003375c6082004608a004608600244444646600200200c44a66608000226608266ec0dd48031ba80054bd6f7b630099191919299982018061980380500109982299bb037520146ea002401454ccc100cdc78050010992999820981f18219baa001133046337606ea402cc11cc110dd5000802080219980400500480089982299bb037520046ea0004cc01801800cdd698210019bae304000230440023042001375e98103d879800014a046074607660766076607660760024607260746074607460746074607460746074607400229405280a5030010012253330360011480004c00ccc008008c0e4004dc02400429408c0d4c0d8c0d8c0d8c0d8004528112999817999817800a504a22a66060004200220024464a66605e605860626ea80044c0d4c0c8dd50008a9981824917436f756c64206e6f742066696e642072656465656d6572001632323300100100322533303500114c0103d87a8000132323253330343375e00c606c006260346607200297ae01330050050023036002303900230370013007330330024bd70192999816181218171baa0011337126eb4c0c8c0bcdd500099b80375a6006605e6ea80a8dd6980198179baa3010302f375400e2940c048c0b8dd5180798171baa3001302e375402c460626064606460646064606460646064002460606062606260620026466018024466ebcc044c0b4dd5180898169baa300e302d375400200460026605a605c605e605e605e605e605e605e605e605e60566ea809d2f5c06e95200253330263023302837540022646464646464646464646464a66606c60720042649318140048b1bad30370013037002375a606a002606a0046eb4c0cc004c0cc008dd698188009818801181780098178011bad302d001302937540022c6004600260506ea8c024c0a0dd5002118159816181600092999812180c98131baa0011302a302737540022a6604a921134e6f7420616e20696e6c696e6520646174756d0016300430243754604a004604600264a66604a002264a66604c0022a66046920130457870656374656420476f7620696e7075742065697468657220617320696e707574206f72207265662e20696e7075740016153330263029001133760605000266604494130103d87a80004c0103d8798000153302349130457870656374656420476f7620696e7075742065697468657220617320696e707574206f72207265662e20696e70757400163330023758600a60486ea8030c020c090dd501026103d8798000153330253028001133760604e00266604294530103d87a80004c0103d879800013253330260011533023490130457870656374656420476f7620696e7075742065697468657220617320696e707574206f72207265662e20696e7075740016153330263029001133760605000266604494130103d87a80004c0103d8798000153302349130457870656374656420476f7620696e7075742065697468657220617320696e707574206f72207265662e20696e70757400163330023758600a60486ea8030c020c090dd501026103d879800033300100930073023375403e980103d8798000222323300600423002300830273754002a666044603e60486ea800448c06cccc020dd5980398131baa001375c6014604c6ea800cdd7180398131baa0031230053330083756600e604c6ea8004dd7180518131baa003375c600e604c6ea800cdc42400044646600200200644a66604a002297ae01323253330233005002133028002330040040011330040040013029002302700123023302400122232533301f3017302137540022900009bad30253022375400264a66603e602e60426ea8004530103d87a8000132330010013756604c60466ea8008894ccc094004530103d87a8000132323253330243371e00e6eb8c09800c4c028cc0a4dd4000a5eb804cc014014008dd698130011814801181380099198008008021129998120008a6103d87a8000132323253330233371e00e6eb8c09400c4c024cc0a0dd3000a5eb804cc014014008dd59812801181400118130009ba5480008c080004dd5980f180f980f980f980f980f980f980f980f980f8011bac301d001301937540022c6036002602e6ea8004526136563253330133010301500115333017301600114985858dd5000a999808180698091baa00e13232323232323232323232325333020302300213232498c038008c03c02458c084004c084008dd6980f800980f8011bad301d001301d002375a60360026036004603200260320046eb4c05c004c04cdd50070b1192999808980700089919299980b980d00109924ca6660266020602a6ea80044c8c8c8c94ccc06cc0780084c8c92633013002253330193016301b37540022646464646464a666046604c0042930b1bad30240013024002375c604400260440046eb8c080004c070dd50008b299980b980a180c9baa003132323232533301f302200213232498c94ccc074c0680044c8c94ccc08cc0980084c926325333020301d0011323253330263029002132498c05000458c09c004c08cdd50010a999810180c0008991919191919299981518168010a4c2c6eb4c0ac004c0ac008dd6981480098148011bad3027001302337540042c60426ea800458c090004c080dd50018a99980e980a8008a99981098101baa00314985858c078dd500118068018b18100009810001180f000980d1baa00316163758603800260380046034002602c6ea80045858c060004c050dd50010a99980898048008a99980a980a1baa00214985858c048dd50009192999808180680089919299980b180c8010a4c2c6eb8c05c004c04cdd50010a999808180400089919299980b180c8010a4c2c6eb8c05c004c04cdd50010b18089baa001232533300f300c0011323232323232323232323232323232323232323232323232533302b302e00213232323232323232323232498c0a802cc0a4030c0a0034c09c038c09803cc094040c090044c08c048c08804cc090050c08405458c0b0004c0b0008c0a8004c0a8008c0a0004c0a0008c098004c098008c090004c090008c088004c088008c080004c080008c078004c078008c070004c070008c068004c068008c060004c060008dd7180b00098091baa0021533300f30070011323232323232323232323232323232323232323232323232533302b302e00213232323232323232323232498c0a802cc0a4030c0a0034c09c038c09803cc094040c090044c08c048c08804cc090050c07805458c0b0004c0b0008c0a8004c0a8008c0a0004c0a0008c098004c098008c090004c090008c088004c088008c080004c080008c078004c078008c070004c070008c068004c068008c060004c060008dd7180b00098091baa0021533300f30040011323253330153018002132498c01c00458c058004c048dd50010a999807980180089919299980a980c00109924ca666022601c60266ea80044c8c8c8c94ccc064c0700084c926330100012323253330183015301a375400226464a66603c60420042930b1bae301f001301b37540022c60340046eb8c06000458dd5980d000980d0011bad3018001301437540022c2c602c00260246ea800854ccc03ccdc3a401000226464a66602a60300042930b1bae3016001301237540042c60206ea8004dc3a400c6e1d20042533300b3008300d375400226464646464646464646464646464646464646464a666046604c00426493180c0058b1bad30240013024002375a604400260440046eb4c080004c080008dd6980f000980f0011bad301c001301c002301a001301a002375a603000260300046eb4c058004c058008dd6980a000980a0011bad3012001300e37540022c464a666016601000226464a66602260280042649318030008b180900098071baa0021533300b30030011323253330113014002132498c01c00458c048004c038dd50010b18061baa001370e900112999804180298051baa00113232533300e3011002149858dd6980780098059baa001162533300730043009375400226464a66601a60200042649318028008b180700098051baa0011622323300100100322533300d00114984c8cc00c00cc044008c00cc03c00494ccc014c008c01cdd5000899191919299980698080010a4c2c6eb8c038004c038008dd7180600098041baa00116370e90002b9a5738aae7555cf2ab9f5740ae855d101',
8
+ };
9
+
10
+ export const mkVersionRegistryValidator = (): SpendingValidator => {
11
+ return {
12
+ type: versionRegistryValidatorData.type,
13
+ script: versionRegistryValidatorData.cborHex,
14
+ };
15
+ };
@@ -1,13 +1,106 @@
1
- export interface OnChainDecimal {
2
- getOnChainInt: bigint;
1
+ import {
2
+ credentialToAddress,
3
+ Credential as LucidCredential,
4
+ Data,
5
+ LucidEvolution,
6
+ getAddressDetails,
7
+ } from '@lucid-evolution/lucid';
8
+
9
+ export const AssetClassSchema = Data.Object({
10
+ currencySymbol: Data.Bytes(),
11
+ /** Use the HEX encoding */
12
+ tokenName: Data.Bytes(),
13
+ });
14
+ export type AssetClass = Data.Static<typeof AssetClassSchema>;
15
+
16
+ export const OutputReferenceSchema = Data.Object({
17
+ txHash: Data.Object({ hash: Data.Bytes({ minLength: 32, maxLength: 32 }) }),
18
+ outputIndex: Data.Integer(),
19
+ });
20
+ export type OutputReference = Data.Static<typeof OutputReferenceSchema>;
21
+
22
+ export const VerificationKeyHashSchema = Data.Bytes({
23
+ minLength: 28,
24
+ maxLength: 28,
25
+ });
26
+
27
+ export const CredentialSchema = Data.Enum([
28
+ Data.Object({
29
+ PublicKeyCredential: Data.Tuple([VerificationKeyHashSchema]),
30
+ }),
31
+ Data.Object({
32
+ ScriptCredential: Data.Tuple([
33
+ Data.Bytes({ minLength: 28, maxLength: 28 }),
34
+ ]),
35
+ }),
36
+ ]);
37
+ export type Credential = Data.Static<typeof CredentialSchema>;
38
+ export const Credential = CredentialSchema as unknown as Credential;
39
+
40
+ export const AddressSchema = Data.Object({
41
+ paymentCredential: CredentialSchema,
42
+ stakeCredential: Data.Nullable(
43
+ Data.Enum([
44
+ Data.Object({ Inline: Data.Tuple([CredentialSchema]) }),
45
+ Data.Object({
46
+ Pointer: Data.Tuple([
47
+ Data.Object({
48
+ slotNumber: Data.Integer(),
49
+ transactionIndex: Data.Integer(),
50
+ certificateIndex: Data.Integer(),
51
+ }),
52
+ ]),
53
+ }),
54
+ ]),
55
+ ),
56
+ });
57
+ export type Address = Data.Static<typeof AddressSchema>;
58
+ export const Address = AddressSchema as unknown as Address;
59
+
60
+ export function addressToBech32(
61
+ lucid: LucidEvolution,
62
+ address: Address,
63
+ ): string {
64
+ const paymentCredential: LucidCredential =
65
+ 'PublicKeyCredential' in address.paymentCredential
66
+ ? { type: 'Key', hash: address.paymentCredential.PublicKeyCredential[0] }
67
+ : { type: 'Script', hash: address.paymentCredential.ScriptCredential[0] };
68
+ const stakeCredential: LucidCredential | undefined =
69
+ address.stakeCredential && 'Inline' in address.stakeCredential
70
+ ? 'PublicKeyCredential' in address.stakeCredential.Inline[0]
71
+ ? {
72
+ type: 'Key',
73
+ hash: address.stakeCredential.Inline[0].PublicKeyCredential[0],
74
+ }
75
+ : {
76
+ type: 'Script',
77
+ hash: address.stakeCredential.Inline[0].ScriptCredential[0],
78
+ }
79
+ : undefined;
80
+
81
+ return credentialToAddress(
82
+ lucid.config().network,
83
+ paymentCredential,
84
+ stakeCredential,
85
+ );
86
+ }
87
+
88
+ export function addressFromBech32(address: string): Address {
89
+ const details = getAddressDetails(address);
90
+ return {
91
+ paymentCredential: {
92
+ PublicKeyCredential: [details.paymentCredential.hash],
93
+ },
94
+ stakeCredential: details.stakeCredential
95
+ ? { Inline: [{ PublicKeyCredential: [details.stakeCredential.hash] }] }
96
+ : undefined,
97
+ };
3
98
  }
4
99
 
5
100
  export interface CurrencySymbol {
6
- unCurrencySymbol: string;
101
+ unCurrencySymbol: string;
7
102
  }
8
103
 
9
104
  export interface TokenName {
10
- unTokenName: string;
105
+ unTokenName: string;
11
106
  }
12
-
13
- export type AssetClass = [CurrencySymbol, TokenName];
@@ -0,0 +1,46 @@
1
+ import { Data, Datum } from '@lucid-evolution/lucid';
2
+ import { AssetClassSchema } from '../generic';
3
+
4
+ const CDPCreatorParamsSchema = Data.Object({
5
+ cdpCreatorNft: AssetClassSchema,
6
+ cdpAssetCs: Data.Bytes(),
7
+ cdpAuthTk: AssetClassSchema,
8
+ iAssetAuthTk: AssetClassSchema,
9
+ versionRecordToken: AssetClassSchema,
10
+ cdpScriptHash: Data.Bytes(),
11
+ collectorValHash: Data.Bytes(),
12
+ minCollateralInLovelace: Data.Integer(),
13
+ biasTime: Data.Integer(),
14
+ });
15
+
16
+ export type CDPCreatorParams = Data.Static<typeof CDPCreatorParamsSchema>;
17
+ export const CDPCreatorParams =
18
+ CDPCreatorParamsSchema as unknown as CDPCreatorParams;
19
+
20
+ export function castCDPCreatorParams(params: CDPCreatorParams): Data {
21
+ return Data.castTo(params, CDPCreatorParams);
22
+ }
23
+
24
+ const CDPCreatorRedeemerSchema = Data.Enum([
25
+ Data.Object({
26
+ CreateCDP: Data.Object({
27
+ cdpOwner: Data.Bytes(),
28
+ minted: Data.Integer(),
29
+ collateral: Data.Integer(),
30
+ currentTime: Data.Integer(),
31
+ }),
32
+ }),
33
+ Data.Object({ UpgradeCreatorVersion: Data.Object({}) }),
34
+ ]);
35
+
36
+ export type CDPCreatorRedeemer = Data.Static<typeof CDPCreatorRedeemerSchema>;
37
+ export const CDPCreatorRedeemer =
38
+ CDPCreatorRedeemerSchema as unknown as CDPCreatorRedeemer;
39
+
40
+ export function castCDPCreatorRedeemer(params: CDPCreatorRedeemer): Data {
41
+ return Data.castTo(params, CDPCreatorRedeemer);
42
+ }
43
+
44
+ export function serialiseCDPCreatorDatum(): Datum {
45
+ return Data.void();
46
+ }
@@ -1,33 +1,88 @@
1
- import { AssetClass, OnChainDecimal } from "../generic";
2
-
3
- export type ActiveCDPInterestTracking = { type: 'ActiveCDPInterestTracking', last_settled: bigint, unitary_interest_snapshot: bigint }
4
- export type FrozenCDPAccumulatedFees = { type: 'FrozenCDPAccumulatedFees', lovelaces_treasury: bigint, lovelaces_indy_stakers: bigint }
5
- export type CDPFees = ActiveCDPInterestTracking | FrozenCDPAccumulatedFees;
6
-
7
- export type CDP = {
8
- type: 'CDP',
9
- owner: string | undefined,
10
- asset: string,
11
- mintedAmount: bigint,
12
- fees: CDPFees
1
+ import { Data, Datum } from '@lucid-evolution/lucid';
2
+ import { AssetClassSchema } from '../generic';
3
+ import { OnChainDecimalSchema } from '../on-chain-decimal';
4
+ import { OracleAssetNftSchema } from './price-oracle';
5
+ import { match, P } from 'ts-pattern';
6
+
7
+ export const CDPFeesSchema = Data.Enum([
8
+ Data.Object({
9
+ ActiveCDPInterestTracking: Data.Object({
10
+ lastSettled: Data.Integer(),
11
+ unitaryInterestSnapshot: Data.Integer(),
12
+ }),
13
+ }),
14
+ Data.Object({
15
+ FrozenCDPAccumulatedFees: Data.Object({
16
+ lovelacesTreasury: Data.Integer(),
17
+ lovelacesIndyStakers: Data.Integer(),
18
+ }),
19
+ }),
20
+ ]);
21
+
22
+ export const CDPContentSchema = Data.Object({
23
+ cdpOwner: Data.Nullable(Data.Bytes()),
24
+ iasset: Data.Bytes(),
25
+ mintedAmt: Data.Integer(),
26
+ cdpFees: CDPFeesSchema,
27
+ });
28
+
29
+ export const IAssetContentSchema = Data.Object({
30
+ /** Use the HEX encoding */
31
+ assetName: Data.Bytes(),
32
+ price: Data.Enum([
33
+ Data.Object({ Delisted: OnChainDecimalSchema }),
34
+ Data.Object({
35
+ Oracle: OracleAssetNftSchema,
36
+ }),
37
+ ]),
38
+ interestOracleNft: AssetClassSchema,
39
+ redemptionRatio: OnChainDecimalSchema,
40
+ maintenanceRatio: OnChainDecimalSchema,
41
+ liquidationRatio: OnChainDecimalSchema,
42
+ debtMintingFeePercentage: OnChainDecimalSchema,
43
+ liquidationProcessingFeePercentage: OnChainDecimalSchema,
44
+ stabilityPoolWithdrawalFeePercentage: OnChainDecimalSchema,
45
+ redemptionReimbursementPercentage: OnChainDecimalSchema,
46
+ redemptionProcessingFeePercentage: OnChainDecimalSchema,
47
+ interestCollectorPortionPercentage: OnChainDecimalSchema,
48
+ firstIAsset: Data.Boolean(),
49
+ nextIAsset: Data.Nullable(Data.Bytes()),
50
+ });
51
+
52
+ export const CDPDatumSchema = Data.Enum([
53
+ Data.Object({ CDP: Data.Object({ content: CDPContentSchema }) }),
54
+ Data.Object({ IAsset: Data.Object({ content: IAssetContentSchema }) }),
55
+ ]);
56
+
57
+ export type CDPFees = Data.Static<typeof CDPFeesSchema>;
58
+ export type CDPDatum = Data.Static<typeof CDPDatumSchema>;
59
+ const CDPDatum = CDPDatumSchema as unknown as CDPDatum;
60
+
61
+ export type CDPContent = Data.Static<typeof CDPContentSchema>;
62
+ const CDPContent = CDPContentSchema as unknown as CDPContent;
63
+ export type IAssetContent = Data.Static<typeof IAssetContentSchema>;
64
+ const IAssetContent = IAssetContentSchema as unknown as IAssetContent;
65
+
66
+ export function parseCDPDatum(datum: Datum): CDPContent {
67
+ return match(Data.from<CDPDatum>(datum, CDPDatum))
68
+ .with({ CDP: { content: P.select() } }, (res) => res)
69
+ .otherwise(() => {
70
+ throw new Error('Expected an CDP datum.');
71
+ });
72
+ }
73
+
74
+ export function serialiseCDPDatum(cdpDatum: CDPContent): Datum {
75
+ return Data.to<CDPDatum>({ CDP: { content: cdpDatum } }, CDPDatum);
13
76
  }
14
77
 
15
- export type IAsset = {
16
- type: 'IAsset';
17
- name: string;
18
- price: OnChainDecimal | AssetClass;
19
- interestOracle: AssetClass;
20
- redemptionRatioPercentage: OnChainDecimal;
21
- maintenanceRatioPercentage: OnChainDecimal;
22
- liquidationRatioPercentage: OnChainDecimal;
23
- debtMintingFeePercentage: OnChainDecimal;
24
- liquidationProcessingFeePercentage: OnChainDecimal;
25
- stabilityPoolWithdrawalFeePercentage: OnChainDecimal;
26
- redemptionReimbursementPercentage: OnChainDecimal;
27
- redemptionProcessingFeePercentage: OnChainDecimal;
28
- interestCollectorPortionPercentage: OnChainDecimal;
29
- firstAsset: boolean;
30
- nextAsset?: string;
31
- };
32
-
33
- export type CDPDatum = CDP | IAsset;
78
+ export function parseIAssetDatum(datum: Datum): IAssetContent {
79
+ return match(Data.from<CDPDatum>(datum, CDPDatum))
80
+ .with({ IAsset: { content: P.select() } }, (res) => res)
81
+ .otherwise(() => {
82
+ throw new Error('Expected an IAsset datum.');
83
+ });
84
+ }
85
+
86
+ export function serialiseIAssetDatum(iassetDatum: IAssetContent): Datum {
87
+ return Data.to<CDPDatum>({ IAsset: { content: iassetDatum } }, CDPDatum);
88
+ }
@@ -0,0 +1,21 @@
1
+ import { Data } from '@lucid-evolution/lucid';
2
+ import { AssetClassSchema } from '../generic';
3
+
4
+ const ExecuteParamsSchema = Data.Object({
5
+ govNFT: AssetClassSchema,
6
+ upgradeToken: AssetClassSchema,
7
+ iAssetToken: AssetClassSchema,
8
+ stabilityPoolToken: AssetClassSchema,
9
+ versionRecordToken: AssetClassSchema,
10
+ cdpValHash: Data.Bytes(),
11
+ sPoolValHash: Data.Bytes(),
12
+ versionRegistryValHash: Data.Bytes(),
13
+ treasuryValHash: Data.Bytes(),
14
+ indyAsset: AssetClassSchema,
15
+ });
16
+ export type ExecuteParams = Data.Static<typeof ExecuteParamsSchema>;
17
+ export const ExecuteParams = ExecuteParamsSchema as unknown as ExecuteParams;
18
+
19
+ export function castExecuteParams(params: ExecuteParams): Data {
20
+ return Data.castTo(params, ExecuteParams);
21
+ }
@@ -1,21 +1,51 @@
1
- export type ProtocolParams = {
2
- proposalDeposit: bigint,
3
- votingPeriod: bigint,
4
- effectiveDelay: bigint,
5
- expirationPeriod: bigint,
6
- collateralFeePercentage: bigint,
7
- proposingPeriod: bigint,
8
- totalShards: bigint,
9
- minimumQuorum: bigint,
10
- maxTreasuryLovelaceSpend: bigint,
11
- maxTreasuryIndySpend: bigint,
12
- };
1
+ import { Data, Datum } from '@lucid-evolution/lucid';
2
+ import { AssetClassSchema } from '../generic';
3
+ import { OnChainDecimalSchema } from '../on-chain-decimal';
13
4
 
14
- export type GovDatum = {
15
- currentProposal: bigint,
16
- protocolParams: ProtocolParams,
17
- currentVersion: bigint,
18
- iassetsCount: bigint,
19
- activeProposals: bigint,
20
- treasuryIndyWithdrawnAmt: bigint,
21
- }
5
+ const GovDatumSchema = Data.Object({
6
+ currentProposal: Data.Integer(),
7
+ protocolParams: Data.Object({
8
+ proposalDeposit: Data.Integer(),
9
+ votingPeriod: Data.Integer(),
10
+ effectiveDelay: Data.Integer(),
11
+ expirationPeriod: Data.Integer(),
12
+ collateralFeePercentage: OnChainDecimalSchema,
13
+ proposingPeriod: Data.Integer(),
14
+ totalShards: Data.Integer(),
15
+ minimumQuorum: Data.Integer(),
16
+ maxTreasuryLovelaceSpend: Data.Integer(),
17
+ maxTreasuryIndySpend: Data.Integer(),
18
+ }),
19
+ currentVersion: Data.Integer(),
20
+ iassetsCount: Data.Integer(),
21
+ activeProposals: Data.Integer(),
22
+ treasuryIndyWithdrawnAmt: Data.Integer(),
23
+ });
24
+ export type GovDatum = Data.Static<typeof GovDatumSchema>;
25
+ const GovDatum = GovDatumSchema as unknown as GovDatum;
26
+
27
+ export function parseGovDatum(datum: Datum): GovDatum {
28
+ return Data.from<GovDatum>(datum, GovDatum);
29
+ }
30
+
31
+ export function serialiseGovDatum(d: GovDatum): Datum {
32
+ return Data.to<GovDatum>(d, GovDatum);
33
+ }
34
+
35
+ const GovParamsSchema = Data.Object({
36
+ govNFT: AssetClassSchema,
37
+ pollToken: AssetClassSchema,
38
+ upgradeToken: AssetClassSchema,
39
+ indyAsset: AssetClassSchema,
40
+ versionRecordToken: AssetClassSchema,
41
+ pollManagerValHash: Data.Bytes(),
42
+ gBiasTime: Data.Integer(),
43
+ daoIdentityToken: AssetClassSchema,
44
+ iAssetAuthToken: AssetClassSchema,
45
+ });
46
+ export type GovParams = Data.Static<typeof GovParamsSchema>;
47
+ export const GovParams = GovParamsSchema as unknown as GovParams;
48
+
49
+ export function castGovParams(params: GovParams): Data {
50
+ return Data.castTo(params, GovParams);
51
+ }