@indigo-labs/indigo-sdk 0.3.9 → 0.3.11
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.
- package/dist/index.d.mts +337 -772
- package/dist/index.d.ts +337 -772
- package/dist/index.js +1194 -557
- package/dist/index.mjs +1091 -451
- package/package.json +1 -1
- package/src/contracts/cdp/helpers.ts +12 -0
- package/src/contracts/cdp/transactions.ts +32 -8
- package/src/contracts/gov/helpers.ts +58 -0
- package/src/contracts/gov/transactions.ts +35 -14
- package/src/contracts/iasset/helpers.ts +3 -0
- package/src/contracts/price-oracle/types-new.ts +1 -1
- package/src/contracts/rob/helpers.ts +274 -196
- package/src/contracts/rob/transactions.ts +11 -5
- package/src/contracts/rob-leverage/helpers.ts +379 -371
- package/src/contracts/rob-leverage/transactions.ts +176 -104
- package/src/contracts/staking/transactions.ts +3 -0
- package/src/contracts/treasury/transactions.ts +58 -36
- package/src/contracts/treasury/types-new.ts +1 -1
- package/src/index.ts +0 -2
- package/src/utils/utils.ts +0 -3
- package/src/validators/cdp-creator-validator.ts +1 -1
- package/src/validators/cdp-redeem-validator.ts +1 -1
- package/src/validators/cdp-validator.ts +1 -1
- package/src/validators/collector-validator.ts +1 -1
- package/src/validators/execute-validator.ts +1 -1
- package/src/validators/governance-validator.ts +1 -1
- package/src/validators/interest-collection-validator.ts +1 -1
- package/src/validators/interest-oracle-validator.ts +1 -1
- package/src/validators/poll-manager-validator.ts +1 -1
- package/src/validators/poll-shard-validator.ts +1 -1
- package/src/validators/stability-pool-validator.ts +1 -1
- package/src/validators/stableswap-validator.ts +1 -1
- package/src/validators/staking-validator.ts +1 -1
- package/src/validators/treasury-validator.ts +1 -1
- package/tests/cdp/actions.ts +87 -6
- package/tests/cdp/cdp-queries.ts +1 -1
- package/tests/cdp/cdp.test.ts +949 -94
- package/tests/endpoints/initialize.ts +14 -2
- package/tests/gov/gov.test.ts +864 -1
- package/tests/interest-collection/interest-collector-queries.ts +2 -1
- package/tests/queries/collector-queries.ts +2 -1
- package/tests/queries/poll-queries.ts +2 -1
- package/tests/queries/treasury-queries.ts +8 -2
- package/tests/rob/rob-leverage.test.ts +1646 -612
- package/tests/rob/rob.test.ts +35 -19
- package/tests/rob/transactions-mutated.ts +6 -4
- package/tests/stability-pool.test.ts +251 -25
|
@@ -3,5 +3,5 @@ export const _treasuryValidator = {
|
|
|
3
3
|
type: 'PlutusScriptV3',
|
|
4
4
|
description: 'Generated by Aiken',
|
|
5
5
|
cborHex:
|
|
6
|
-
'592288592285010100229800aba2aba1aba0aab9faab9eaab9dab9cab9a4888888896600264653001300900198049805000cdc3a400530090024888966002600460126ea800e33001300a3754007370e90004dc3a4009370e90034dc3a401091111194c00488c966002601000315980098099baa0038014590144566002601600315980098099baa0038014590144566002600e00315980098099baa0038014590144566002600c00315980098099baa0038014590144566002600a0031323232329800980d000cdd6980d001cdd6980d0012444b3001301e004899805980e8038acc004c03cc064dd5001c4c8c8cc8966002604400700d8b203e375a603e0026eb8c07c008c07c004c068dd5001c5901745901b0c068004c064004c060004c04cdd5001c56600266e1d200a0018acc004c04cdd5001c00a2c80a22c808101020204040808101018089baa0029809980a0034c04c0192223300300d198009ba5480024602e6030003222323322330020020012259800800c00e2646644b30013372200e00515980099b8f0070028800c01901944cc014014c0800110191bae3019001375a6034002603800280d0c8c8cc004004018896600200300389919912cc004cdc8804801456600266e3c02400a20030064069133005005302100440686eb8c068004dd5980d800980e800a03614bd6f7b6300a40012232330010010032259800800c52f5c11332259800980280144cc06c008cc01001000626600800800280b0c068004c06c0050184dc424001259800980418099baa0018980b980a1baa0018b20229180b980c180c000c88c8cc00400400c88cc00c004c00800a60246ea803644b30010018800c54cc04c008400501248888c8cc004004014896600200313301b337606ea4014dd400225eb7bdb1822653001375c6032003375a6034003301e00248896600266e4002400e26603e66ec0dd48049ba80080058acc004cdc7804801c6600201300880148cc080cdd81ba900a37500020051001401d13301f337606ea400cdd400119803003000a0344068301c0014069222232330010010052259800800c4cc06ccdd81ba9005374c00897adef6c608994c004dd7180c800cdd5980d000cc0780092225980099b9000900389980f99bb037520126e980200162b30013371e01200719800804c022005233020337606ea4028dd30008014400500744cc07ccdd81ba9003374c0046600c00c00280d101a0c07000501a496600200314a314a080aa24444464b3001300e00180144c00c00501619b8000400391919800800801112cc004006297ae08991991199119801001000912cc00400620071323301e374e6603c6ea4014cc078c06c004cc078c0700052f5c0660060066040004603c00280e0dd5980c8019bae301600133003003301b0023019001405d232330010010022259800800c52f5bded8c11323301933760602c0026e98c8cc004004dd5980c001112cc004006297adef6c608991980e19bb03019001375066e052000375a603400266006006603c004603800280d0cc00c00cc06c008c0640050174966002601260266ea8006246466ebcc064c058dd5180c980b1baa00200130183015375400512323375e6032602c6ea8008004c060c054dd500120229b8f489009b894800244b3001300a3014375400513232332259800980e801c0162c80d0dd6980d0009bad301a002301a001301537540051640492232598009805800c4c8c96600260380050048b2032375c6034002602c6ea800e2b3001300e0018acc004c058dd5001c00a2c80ba2c8099013180a1baa00291192cc004c02c00626464b3001301c0028024590191bae301a001301637540071598009807000c4c8c96600260380050048b2032375c6034002602c6ea800e2c8099013180a1baa002912cc00400629344c966002003149a264b3001337206eb8c058c06800cdd7180b000c4cc010010cc064004c06c00a2a6602a921326b65797320696e206173736f63696174697665206c697374206172656e277420696e20617363656e64696e67206f7264657200164050603200280b8c064005016488c8cc00400400c896600200314bd7044cc064dd39801980d00099801001180d800a0309ba54800922222222222222222222222229800911919800800801912cc0040062980103d87a80008992cc004cdd7981a18189baa0010048980f19819800a5eb82266006006606a0048170c0cc0050314888c8cc0680108c008c074c0c4dd5000acc004c090c0b8dd5000c48c0a260026eacc070c0c0dd5000cdd7181998181baa0039bae301c3030375400680da24603330013756603860606ea80066eb8c0ccc0c0dd5001cdd7180e18181baa003406c816244653001001801c0090011112cc00400a200313298008024c0d800f30010029bae30310019bab303200191111192cc004c0640060051300300140d46465300100180340150011112cc00400a200313298008024c10000f30010029bae303b0019bad303c001802a03e4010607c00481e1405d0142008303400240c9223301800223375e6064605e6ea8c0c8c0bcdd5180d98179baa001002911980c0011805800c88c966002604800313259800981a000c4cc028c0cc00400e2c8188c0bcdd5001c566002604e00313259800981a000c4cc084c0cc00400e2c8188c0bcdd5001c56600260460031323259800981a80140122c8190dd7181980098179baa0038b205840b08160c0b4dd50014888c966002604a0031323259800981b00140122c8198dd7181a00098181baa0038acc004c0a00062646644b3001303700189980c9bac30360012259800801401e33001009981c00144c004c0e4009009206c8b2068375a6068002606a00260606ea800e2c816902d18171baa00291192cc004c090006264b300130340018992cc004c098c0c0dd5000c4c8c8c966002607000513322598009815981a9baa00289919192cc004c0f400a2660226078006264b3001302f0018992cc004c0fc00626464b300130320018992cc004c10800626602c60820020131640fc607a6ea800a2b3001303500189919194c004dd69821800cdd69821801cdd698218012444b300130470048074590440c10c004c108004c0f4dd500145903a2074303b3754002607c0031640f060746ea800a2b300130320018acc004c0e8dd500140162c81da2c81b9037181c1baa0018b2074303b001303b001303637540051640cc606e00626603400244b3001002804c4c9660026058606c6ea800626464653001375a607a003375c607a007375c607a0049112cc004c1040122601060820131640f8303d001303c001303737540031640d0607200481ba2c81a8dd6181b000981b00098189baa0018b205c30330018b2062302f37540071598009813800c566002605e6ea800e0051640c11640b08160c0b4dd50014c00c00d2222222229800911192cc00400629462b3001303d001899194c004dd7181f000cdd6981f181f800cdd7181f0012444b3001301a0018acc004c06800e2b30013033303d375400f159800980c80144cdc48012410137dc0514a081da2603200481da294103b45282076181f0009bac303c0018a5040e881d0c05ccc02800cc05800a60060072222598009817000c401233001004801cc8c8008c018004cc0eccdd81ba9002375000297adef6c6091111192cc004c0800060051300300140f0653001004804401e444453001005801c01200500140188111407901b206c488a60024444464660020026605000c603600a44b30010018a508acc004c96600266ebcc09cc100dd50008034660026eacc0b0c100dd5000c016008805a294103d1821000c528c4cc008008c10c00503c2080911112cc004cc0680100162b30013375e6048607a6ea801400e3300137566052607a6ea8016005001402114a081d2294103a488c9660026060003132598009820000c4c966002606460786ea80062646464646465300130460019bae304600698230024c11800e608c004911112cc004c13001a266044609601426604400626604400426604400226604400a01f16412430460013045001304400130430013042001303d37540031640e8607e0031640f460766ea800e2b300130330018992cc004c100006264b30013032303c3754003132323232323298009823000cdd718230034c118012608c007304600248888966002609800d133022304b00a13302200313302200213302200113302200500f8b209218230009822800982200098218009821000981e9baa0018b2074303f0018b207a303b37540071598009817800c4c9660026080003132598009819181e1baa00189919191919191919194c004dd69824800cdd71824804cdd69824803cc12401a609200b30490049824801cc12400922222222598009829004c4cc0fcc1440404cc0740144cc0fc0104cc0a000c4cc0a00084cc0a00040562c827860920026090002608e002608c002608a002608800260860026084002607a6ea80062c81d0c0fc0062c81e8c0ecdd5001c566002605c003132598009820000c4c966002606460786ea800626464646464646464653001375a6092003375c6092013375a609200f30490069824802cc124012609200730490024888888896600260a401313303f305101013301d00513303f0041330280031330280021330280010158b209e18248009824000982380098230009822800982200098218009821000981e9baa0018b2074303f0018b207a303b37540071598009816800c4c9660026080003132598009819181e1baa00189919191919191919194c004dd71824800cdd71824804cc12401e609200d304900598248024dd69824801cdd69824801244444444b3001305200989981f982880809981400309981400289981400209981380180ac5904f0c124004c120004c11c004c118004c114004c110004c10c004c108004c0f4dd5000c5903a181f800c5903d181d9baa0038acc004cdc3a4014003132598009820000c4c966002606460786ea8006264646464646464646464653001375c6096003375c6096017304b00998258044c12c01e64b300130490018acc004cdc4a4008609000316898209824000a08c8b20943754609600d32598009824800c56600266e25200430480018b44c104c12000504645904a1baa304b00598258024dd69825801cdd6982580124444444444b3001305600b899821982a80a09981600409981600389981600309981580180cc590530c12c004c128004c124004c120004c11c004c118004c114004c110004c10c004c108004c0f4dd5000c5903a181f800c5903d181d9baa0038acc004cdc3a4018003132598009820000c4c966002606460786ea800626464646464646464646464653001304c0019bad304c00c9bad304c00b9bad304c00a9bad304c0099bad304c0089bad304c0079bad304c0069bad304c0059bad304c0049bad304c0024888888888896600260b001913302d305700e13301e00b01b8b20aa18260009825800982500098248009824000982380098230009822800982200098218009821000981e9baa0018b2074303f0018b207a303b375400715980099b8748038006264b300130400018992cc004c0c8c0f0dd5000c4c8cc896600260880031330263758608600244b3001002804c4c8cc8966002609200313259800981d98229baa001899192cc004c13000a2600e60980111641246eb8c128004c118dd5000c590431824000c590461bae304600130470013758608a004821a2c8208dd698208009821000981e9baa0018b2074303f0018b207a303b375400715980099b874804000626464b3001304100280245903e1bae303f001303b37540071640e081c1038207040e081c1038207040e060726ea800a4646600200200444b30010018a5eb7bdb1822646530013300400430410039bae30400029bae30400019bad30403041001401860800026eb0c0f800503c24444b300130310218992cc004c0c8c0f0dd5000c4c8cc896600260880031323259800981b98209baa00189919191919194c004c12c0066eb4c12c0126eb4c12c00e6eb4c12c0092222598009828002c4c8cc04cc1400284cc068014566002608460986ea801626464b3001330334901205769746864726177616c2076616c75652063616e6e6f7420626520656d70747900980099baf4c101a000374c0034a14a282622b30013303349012245787065637473206a757374203120696e7075742066726f6d20747265617375727900332259800800c00a2b300130550018a5180120a441482940cc080dd6182918279baa0460118acc004cc0cd2401245472656173757279207769746864726177616c206f757470757420696e636f727265637400980099912cc004006005159800982a800c4c15000600482910520a99826a4928457870656374732073696e676c65206f757470757420746f207769746864726177616c206164647200163301f3758606c609e6ea8118c090cc144c148c13cdd500125eb826048660a260a4609e6ea80092f5c13374a9002198289ba7330514c11a5818496e6469676f54726561737572795769746864726177616c00330513052304f375401e97ae04bd704006980103d87a800040591325980099baf374c002980101a0008a518acc004c8cc004004c0c0008896600200314a115980099b88375a60aa60ac60ac6eb0c15400520008a51899801001182b000a09e414d153304e491224e6f7420656e6f7567682066756e647320696e20747265617375727920696e707574001689981a24811c5472656173757279206f757470757420697320696e636f72726563740098009bac30373050375408f302533052303d33052012330523037305037540ac97ae04bd70530107d87b9fd87980ff00800d300103d87a80004060826904d198109bab303b304f37546076609e6ea8048c0b4006294104c452820988a5041306026660486eb0c0e8c138dd50009191919829982a00119829982a00099829982a182a800a5eb80c150004c13cdd5000982818269baa0058b2094375a609e015164134304b001304a001304900130480013047001304237540031640fc6052605060826ea8c0b4c104dd50009821800c590411820981f1baa3041303e37546054607c6ea800660026eb0c104c0f8dd501acc104c0f8dd50225300103d879800040446080607a6ea80062c81d0cc040dd6181f981e1baa03302a8cc0048966002003148002266e01200233002002304200140fd22232330010010042259800800c4012266006608800266004004608a002821244646600200200644b30010018a518acc004c00cc10c006266004004608800314a081e9041488c9660026068607c6ea800626084607e6ea80062c81e0c8c8cc00400400c896600200314c0103d87a80008992cc004cdd78021820800c4c0bccc110c1080052f5c1133003003304600240fc60880028210c04ccc1000092f5c1230403041304130413041304130413041304130410019b88480092222223259800981d81444c966002607260866ea80062646644b3001303c30463754003132323232323298009828000cdd698280024dd69828001cdd6982800124444b300130550058991980c182a80509980f802899912cc004c124c14cdd5003c4c966002660729213d43616e6e6f742062652075736564207768656e207769746864726177616c2076616c7565206861732073696e676c65206173736574206f72206e6f6e65003014301330340018acc004cc0e52412d416c6c206f776e20696e70757473206861766520746f20757365207468652072696768742072656465656d657200330170032323304700113375e002980103d87a8000330173059305637540026eacc058c158dd5026c566002660729201374f6e65206f75747075742068617320746f2068617665207468652076616c7565206f662074726561737572795f7769746864726177616c0098009bac303c30553754099302a330570104bd70530107d87b9fd87980ff00800d300103d87a800040751598009981ca4923416c6c207370656e742076616c75652068617320746f2062652070616964206261636b009800cc00400a97adef6c6091198148009bab30433057375400480c33001003a5eb7bdb18244660520026eacc10cc15cdd51821982b9baa00240614c103d87a80004081133039490126416c6c206f776e206f7574707574732068617320746f206861766520766f696420646174756d003301700223375e607a60ac6ea800530107d87b9fd87980ff008a50414914a082922941052452820a430193302a3758608060a86ea8c15cc150dd5003919191982c982d0011982c982d0009982c982d182d800a5eb80c168004c154dd5000c59051198119bac30553052375409201c660446eb0c0e4c148dd502498139982a006a5eb80dd6982a0054590520c140004c13c004c138004c134004c130004c11cdd5000c5904418191982380099823981618229baa04b4bd701816981618229baa3031304537546644b3001001801456600260960031304a001801209041202a6608692012548617320746f207265666572656e63652073696e676c65206578656375746520696e707574001698009bac3031304537540793048304537540974c0103d87980004060608e60886ea8c11cc110dd5181818221baa3047304437540031641046602e6eb0c118c10cdd501d018c4c8cc896600260740571332259800981e98239baa0018991919912cc004c140cc074dd6182798261baa04300389919192cc004cc0cd24015d416c6c20696e70757473206d7573742068617665206d6f7265207468616e2031206e6f6e2d414441206173736574206f722031206e6f6e2d41444120617373657420616e64206d6f7265207468616e20327820414441206275666665720032598009807800c528c566002609000313371090405b6e02cc004016910100a4410040ed14a0826904d18069817180480245660026606692012f416c6c207468652076616c7565206e6565647320746f2062652073656e74206261636b20746f207472656173757279009800801401298103d87a8000406915980099819a494e45616368206e6f6e204144412061737365742069732073657061726174656420696e746f20697473206f776e20636f6e74696e75696e67206f7574707574207769746820766f696420646174756d003300a00123298009bac3038305137540913026330530074bd705300107d87b9fd87980ff00cc004dd7182a0014dd7182a000cdd6982a182a800a444b300130490018a5eb7bdb182264646600200297adef6c602259800800c4cc164cdd81ba9006374c00697adef6c608994c004dd7182b800cdd5982c000cc1700092225980099b9000a00389982e99bb037520146e9801c0162b30013371e01400713305d337606ea4028dd3003800c4cc174cdd81ba9003374c0046600c00c00282c10580c1680050581919800800a5eb7bdb1808966002003133058337606ea4010dd4001a5eb7bdb1822653001375c60ac003375a60ae003305b00248896600266e4002000e2660b866ec0dd48041ba80070058acc004cdc7804001c4cc170cdd81ba9008375000e00313305c337606ea400cdd400119803003000a0ae415c3059001415c82894c103d8798000406460a80031330334912354686572652063616e2062652031206f75747075742077697468206f6e6c7920414441003371266e04c02c00cc03400520028a50413114a08262294104c18169804000cc00400697adef6c6091198108009bab303b304f37540048080cc070dd6181998261baa04330213304e0024bd7045904d181b9982600099826181898251baa0504bd701bab3036304a3754606c60946ea8008c130c124dd5182618249baa303530493754002609660906ea80062c82288c8cc004004008896600200314bd6f7b63044ca60026eb8c1240066eacc128006609c0049112cc004cdc8a45000038acc004c0a400e20031005412913304f337606ea400cdd300119803003000a0941826000a0943301a37586092608c6ea80f40d22b3001303902b8992cc004c0f0c118dd5000c4c8c8cc89660026605e92012d416c6c206f776e20696e70757473206861766520746f20757365207468652072696768742072656465656d6572003300d0032323303d00113375e002980103d87c80003300d304f304c37540026eacc030c130dd5021c5660026605e92012554686572652068617320746f206265206174206c656173742032206f776e20696e7075747300300a30070038acc004cc0bd2411c5472656173757279206f757470757420697320696e636f727265637400980099912cc0040060051598009828800c4c140006004827104e0a99824a491e45787065637473206f6e6c792073696e676c65206f776e206f757470757400163301b3758606460966ea8108c080cc1340052f5c130203304d0014bd70530107d87b9fd87980ff008015300103d87a8000404913302f490132416c6c20696e70757473206861766520746f20636f6e7461696e207468652073616d65206d657267696e672061737365747300323300e0042330080022303798009bab303a304e37546074609c6ea800a6eb8c1440066eb8c144c1480050391815001452820908a50412114a0824260020034bd6f7b630488cc074004dd5981b98259baa3037304b37540048060c0d8cc12c008cc12cc0c0c124dd5027a5eb80cc064dd6182598241baa03f001304a304737546094608e6ea8c0ccc11cdd5182518239baa0018b20883301a37586092608c6ea80f40d22b3001303802b89919194c004dd69826000cc130c1340066603a6eb0c130c124dd502001bcc13000e6eb4c1300092222259800982198269baa003899192cc004cc0d1240116546f6f206d616e7920617373657420636c61737365730033712601c605e002900245660026606892011c436f6c6c656374656420616d6f756e7420697320706f7369746976650059800981c801c4c0ac01e294104d45660026606892012f416374696f6e206f726566206d75737420626520616e20696e70757420746f20746865207472616e73616374696f6e0059800982298279baa33024375860a660a06ea811c01a2946294104d44cc0d124011c5472656173757279206f757470757420697320696e636f72726563740098009bac30373050375408f302533052303d3305230533050375460a660a06ea8c0f0c140dd500119829181b98281baa0564bd7025eb8266e95200433052303d3305203e330520064bd7025eb820034c0103d87a8000406114a0826a294104d4528209a9800cc004dd5981d98279baa303b304f3754003375c60a4609e6ea800e6eb8c0ecc13cdd5001c009018522100a4410080320303051304e375400716412c304c001304b00130463754081132332259800981f18241baa0018992cc004c108c124dd5000c4cc896600260a000313259800982118261baa00189919912cc004c15000626606c6eb0c14c004896600200513259800982418291baa001899191980080098071bab305830593059305930593055375409844b30010018a508acc004cdc79bae30590010038a51899801001182d000a0a6415c6eb8c158c14cdd5000c5905019198008009bac303f3053375400e44b30010018a6103d87a80008992cc006600266ebc00530103d87a8000a50a5141491001899801801982c80120a4325980099b8f375c60b00020171304233057305830590014bd7045300103d87a800041486eb0c15c00505544c8c8cc896600260b400713005305a0068b20ae375c60ae0026eb8c15c008c15c004dd6182a80120a68b20a2375a60a200260a4002609a6ea80062c8250c0d0c0ccc130dd5181c18261baa304f0018b209a375c609a60946ea800660026eb0c0d8c128dd5020cc0d8c128dd5028530103d8798000407516411c609860926ea8c130c124dd5181a98249baa304c304937540031641186002002660366eb0c128c11cdd501f01a912cc004006297ae089982518239825800998010011826000a092410c82190431800800911919800800801912cc00400629462b3001300337586096003133002002304c0018a50411482488966002003148002266e01200233002002304900141188200c01801881c8044b300130063010375400513232332259800980c801c0162c80b0dd7180b0009bae30160023016001301137540051640388b200e180480098021baa0098a4d1365640041',
|
|
6
|
+
'592298592295010100229800aba2aba1aba0aab9faab9eaab9dab9cab9a4888888896600264653001300900198049805000cdc3a400530090024888966002600460126ea800e33001300a3754007370e90004dc3a4009370e90034dc3a401091111194c00488c966002601000315980098099baa0038014590144566002601600315980098099baa0038014590144566002600e00315980098099baa0038014590144566002600c00315980098099baa0038014590144566002600a0031323232329800980d000cdd6980d001cdd6980d0012444b3001301e004899805980e8038acc004c03cc064dd5001c4c8c8cc8966002604400700d8b203e375a603e0026eb8c07c008c07c004c068dd5001c5901745901b0c068004c064004c060004c04cdd5001c56600266e1d200a0018acc004c04cdd5001c00a2c80a22c808101020204040808101018089baa0029809980a0034c04c0192223300300d198009ba5480024602e6030003222323322330020020012259800800c00e2646644b30013372200e00515980099b8f0070028800c01901944cc014014c0800110191bae3019001375a6034002603800280d0c8c8cc004004018896600200300389919912cc004cdc8804801456600266e3c02400a20030064069133005005302100440686eb8c068004dd5980d800980e800a03614bd6f7b6300a40012232330010010032259800800c52f5c11332259800980280144cc06c008cc01001000626600800800280b0c068004c06c0050184dc424001259800980418099baa0018980b980a1baa0018b20229180b980c180c000c88c8cc00400400c88cc00c004c00800a60246ea803644b30010018800c54cc04c008400501248888c8cc004004014896600200313301b337606ea4014dd400225eb7bdb1822653001375c6032003375a6034003301e00248896600266e4002400e26603e66ec0dd48049ba80080058acc004cdc7804801c6600201300880148cc080cdd81ba900a37500020051001401d13301f337606ea400cdd400119803003000a0344068301c0014069222232330010010052259800800c4cc06ccdd81ba9005374c00897adef6c608994c004dd7180c800cdd5980d000cc0780092225980099b9000900389980f99bb037520126e980200162b30013371e01200719800804c022005233020337606ea4028dd30008014400500744cc07ccdd81ba9003374c0046600c00c00280d101a0c07000501a496600200314a314a080aa24444464b3001300e00180144c00c00501619b8000400391919800800801112cc004006297ae08991991199119801001000912cc00400620071323301e374e6603c6ea4014cc078c06c004cc078c0700052f5c0660060066040004603c00280e0dd5980c8019bae301600133003003301b0023019001405d232330010010022259800800c52f5bded8c11323301933760602c0026e98c8cc004004dd5980c001112cc004006297adef6c608991980e19bb03019001375066e052000375a603400266006006603c004603800280d0cc00c00cc06c008c0640050174966002601260266ea8006246466ebcc064c058dd5180c980b1baa00200130183015375400512323375e6032602c6ea8008004c060c054dd500120229b8f489009b894800244b3001300a3014375400513232332259800980e801c0162c80d0dd6980d0009bad301a002301a001301537540051640492232598009805800c4c8c96600260380050048b2032375c6034002602c6ea800e2b3001300e0018acc004c058dd5001c00a2c80ba2c8099013180a1baa00291192cc004c02c00626464b3001301c0028024590191bae301a001301637540071598009807000c4c8c96600260380050048b2032375c6034002602c6ea800e2c8099013180a1baa002912cc00400629344c966002003149a264b3001337206eb8c058c06800cdd7180b000c4cc010010cc064004c06c00a2a6602a921326b65797320696e206173736f63696174697665206c697374206172656e277420696e20617363656e64696e67206f7264657200164050603200280b8c064005016488c8cc00400400c896600200314bd7044cc064dd39801980d00099801001180d800a0309ba54800922222222222222222222222229800911919800800801912cc0040062980103d87a80008992cc004cdd7981a18189baa0010048980f19819800a5eb82266006006606a0048170c0cc0050314888c8cc0680108c008c074c0c4dd5000acc004c090c0b8dd5000c48c0a260026eacc070c0c0dd5000cdd7181998181baa0039bae301c3030375400680da24603330013756603860606ea80066eb8c0ccc0c0dd5001cdd7180e18181baa003406c816244653001001801c0090011112cc00400a200313298008024c0d800f30010029bae30310019bab303200191111192cc004c0640060051300300140d46465300100180340150011112cc00400a200313298008024c10000f30010029bae303b0019bad303c001802a03e4010607c00481e1405d0142008303400240c9223301800223375e6064605e6ea8c0c8c0bcdd5180d98179baa001002911980c0011805800c88c966002604800313259800981a000c4cc028c0cc00400e2c8188c0bcdd5001c566002604e00313259800981a000c4cc084c0cc00400e2c8188c0bcdd5001c56600260460031323259800981a80140122c8190dd7181980098179baa0038b205840b08160c0b4dd50014888c966002604a0031323259800981b00140122c8198dd7181a00098181baa0038acc004c0a00062646644b3001303700189980c9bac30360012259800801401e33001009981c00144c004c0e4009009206c8b2068375a6068002606a00260606ea800e2c816902d18171baa00291192cc004c090006264b300130340018992cc004c098c0c0dd5000c4c8c8c966002607000513322598009815981a9baa00289919192cc004c0f400a2660226078006264b3001302f0018992cc004c0fc00626464b300130320018992cc004c10800626602c60820020131640fc607a6ea800a2b3001303500189919194c004dd69821800cdd69821801cdd698218012444b300130470048074590440c10c004c108004c0f4dd500145903a2074303b3754002607c0031640f060746ea800a2b300130320018acc004c0e8dd500140162c81da2c81b9037181c1baa0018b2074303b001303b001303637540051640cc606e00626603400244b3001002804c4c9660026058606c6ea800626464653001375a607a003375c607a007375c607a0049112cc004c1040122601060820131640f8303d001303c001303737540031640d0607200481ba2c81a8dd6181b000981b00098189baa0018b205c30330018b2062302f37540071598009813800c566002605e6ea800e0051640c11640b08160c0b4dd50014c00c00d2222222229800911192cc00400629462b3001303d001899194c004dd7181f000cdd6981f181f800cdd7181f0012444b3001301a0018acc004c06800e2b30013033303d375400f159800980c80144cdc48012410137dc0514a081da2603200481da294103b45282076181f0009bac303c0018a5040e881d0c05ccc02800cc05800a60060072222598009817000c401233001004801cc8c8008c018004cc0eccdd81ba9002375000297adef6c6091111192cc004c0800060051300300140f0653001004804401e444453001005801c01200500140188111407901b206c488a60024444464646600200200e44b30010018a508acc004c966002600800315980099baf30283041375400200f198009bab302d30413754003006802a0188a5040f914a081f0c10c0062946266004004608800281e9041180d002488889660026603400800b15980099baf3024303d375400a007198009bab3029303d375400b002800a0108a5040e914a081d24464b300130300018992cc004c100006264b30013032303c3754003132323232323298009823000cdd718230034c118012608c007304600248888966002609800d133022304b00a13302200313302200213302200113302200500f8b209218230009822800982200098218009821000981e9baa0018b2074303f0018b207a303b37540071598009819800c4c9660026080003132598009819181e1baa00189919191919194c004c1180066eb8c11801a608c00930460039823001244444b3001304c0068998111825805099811001899811001099811000899811002807c590490c118004c114004c110004c10c004c108004c0f4dd5000c5903a181f800c5903d181d9baa0038acc004c0bc006264b300130400018992cc004c0c8c0f0dd5000c4c8c8c8c8c8c8c8c8ca60026eb4c1240066eb8c1240266eb4c12401e609200d304900598248024c12400e6092004911111112cc004c14802626607e60a202026603a00a26607e00826605000626605000426605000202b16413c30490013048001304700130460013045001304400130430013042001303d37540031640e8607e0031640f460766ea800e2b3001302e0018992cc004c100006264b30013032303c3754003132323232323232323298009bad30490019bae30490099bad304900798248034c124016609200930490039824801244444444b3001305200989981f982880809980e80289981f80209981400189981400109981400080ac5904f0c124004c120004c11c004c118004c114004c110004c10c004c108004c0f4dd5000c5903a181f800c5903d181d9baa0038acc004c0b4006264b300130400018992cc004c0c8c0f0dd5000c4c8c8c8c8c8c8c8c8ca60026eb8c1240066eb8c124026609200f30490069824802cc1240126eb4c12400e6eb4c12400922222222598009829004c4cc0fcc1440404cc0a00184cc0a00144cc0a00104cc09c00c0562c827860920026090002608e002608c002608a002608800260860026084002607a6ea80062c81d0c0fc0062c81e8c0ecdd5001c56600266e1d200a0018992cc004c100006264b30013032303c37540031323232323232323232323298009bae304b0019bae304b00b9825804cc12c022609600f32598009824800c56600266e25200430480018b44c104c12000504645904a1baa304b006992cc004c1240062b30013371290021824000c5a26082609000282322c8250dd51825802cc12c0126eb4c12c00e6eb4c12c009222222222259800982b005c4cc10cc1540504cc0b00204cc0b001c4cc0b00184cc0ac00c0662c82986096002609400260920026090002608e002608c002608a002608800260860026084002607a6ea80062c81d0c0fc0062c81e8c0ecdd5001c56600266e1d200c0018992cc004c100006264b30013032303c3754003132323232323232323232323298009826000cdd698260064dd69826005cdd698260054dd69826004cdd698260044dd69826003cdd698260034dd69826002cdd698260024dd69826001244444444444b3001305800c899816982b80709980f00580dc590550c130004c12c004c128004c124004c120004c11c004c118004c114004c110004c10c004c108004c0f4dd5000c5903a181f800c5903d181d9baa0038acc004cdc3a401c003132598009820000c4c966002606460786ea80062646644b300130440018998131bac3043001225980080140262646644b300130490018992cc004c0ecc114dd5000c4c8c966002609800513007304c0088b2092375c6094002608c6ea80062c8218c1200062c8230dd7182300098238009bac3045002410d1641046eb4c104004c108004c0f4dd5000c5903a181f800c5903d181d9baa0038acc004cdc3a40200031323259800982080140122c81f0dd7181f800981d9baa0038b207040e081c1038207040e081c1038207030393754005232330010010022259800800c52f5bded8c1132329800998020021820801cdd718200014dd71820000cdd698201820800a00c30400013758607c00281e12222598009818810c4c966002606460786ea80062646644b30013044001899192cc004c0dcc104dd5000c4c8c8c8c8c8ca60026096003375a6096009375a6096007375a609600491112cc004c1400162646602660a001426603400a2b30013042304c375400b132325980099819a481205769746864726177616c2076616c75652063616e6e6f7420626520656d70747900980099baf4c101a000374c0034a14a282622b30013303349012245787065637473206a757374203120696e7075742066726f6d20747265617375727900332259800800c00a2b300130550018a5180120a441482940cc080dd6182918279baa0460118acc004cc0cd2401245472656173757279207769746864726177616c206f757470757420696e636f727265637400980099912cc004006005159800982a800c4c15000600482910520a99826a4928457870656374732073696e676c65206f757470757420746f207769746864726177616c206164647200163301f3758606c609e6ea8118c090cc144c148c13cdd500125eb826048660a260a4609e6ea80092f5c13374a9002198289ba7330514c11a5818496e6469676f54726561737572795769746864726177616c00330513052304f375401e97ae04bd704006980103d87a800040591325980099baf374c002980101a0008a518acc004c8cc004004c0c0008896600200314a115980099b88375a60aa60ac60ac6eb0c15400520008a51899801001182b000a09e414d153304e491224e6f7420656e6f7567682066756e647320696e20747265617375727920696e707574001689981a24811c5472656173757279206f757470757420697320696e636f72726563740098009bac30373050375408f302533052303d33052012330523037305037540ac97ae04bd70530107d87b9fd87980ff00800d300103d87a80004060826904d198109bab303b304f37546076609e6ea8048c0b4006294104c452820988a5041306026660486eb0c0e8c138dd50009191919829982a00119829982a00099829982a182a800a5eb80c150004c13cdd5000982818269baa0058b2094375a609e015164134304b001304a001304900130480013047001304237540031640fc6052605060826ea8c0b4c104dd50009821800c590411820981f1baa3041303e37546054607c6ea800660026eb0c104c0f8dd501acc104c0f8dd50225300103d879800040446080607a6ea80062c81d0cc040dd6181f981e1baa03302a8cc0048966002003148002266e01200233002002304200140fd22232330010010042259800800c4012266006608800266004004608a002821244646600200200644b30010018a518acc004c00cc10c006266004004608800314a081e9041488c9660026068607c6ea800626084607e6ea80062c81e0c8c8cc00400400c896600200314c0103d87a80008992cc004cdd78021820800c4c0bccc110c1080052f5c1133003003304600240fc60880028210c04ccc1000092f5c1230403041304130413041304130413041304130410019b88480092222223259800981d81444c966002607260866ea80062646644b3001303c30463754003132323232323298009828000cdd698280024dd69828001cdd6982800124444b300130550058991980c182a80509980f802899912cc004c124c14cdd5003c4c966002660729213d43616e6e6f742062652075736564207768656e207769746864726177616c2076616c7565206861732073696e676c65206173736574206f72206e6f6e65003014301330340018acc004cc0e52412d416c6c206f776e20696e70757473206861766520746f20757365207468652072696768742072656465656d657200330170032323304700113375e002980103d87a8000330173059305637540026eacc058c158dd5026c566002660729201374f6e65206f75747075742068617320746f2068617665207468652076616c7565206f662074726561737572795f7769746864726177616c0098009bac303c30553754099302a330570104bd70530107d87b9fd87980ff00800d300103d87a800040751598009981ca4923416c6c207370656e742076616c75652068617320746f2062652070616964206261636b009800cc00400a97adef6c6091198148009bab30433057375400480c33001003a5eb7bdb18244660520026eacc10cc15cdd51821982b9baa00240614c103d87a80004081133039490126416c6c206f776e206f7574707574732068617320746f206861766520766f696420646174756d003301700223375e607a60ac6ea800530107d87b9fd87980ff008a50414914a082922941052452820a430193302a3758608060a86ea8c15cc150dd5003919191982c982d0011982c982d0009982c982d182d800a5eb80c168004c154dd5000c59051198119bac30553052375409201c660446eb0c0e4c148dd502498139982a006a5eb80dd6982a0054590520c140004c13c004c138004c134004c130004c11cdd5000c5904418191982380099823981618229baa04b4bd701816981618229baa3031304537546644b3001001801456600260960031304a001801209041202a6608692012548617320746f207265666572656e63652073696e676c65206578656375746520696e707574001698009bac3031304537540793048304537540974c0103d87980004060608e60886ea8c11cc110dd5181818221baa3047304437540031641046602e6eb0c118c10cdd501d018c4c8cc896600260740571332259800981e98239baa0018991919912cc004c140cc074dd6182798261baa04300389919192cc004cc0cd24015d416c6c20696e70757473206d7573742068617665206d6f7265207468616e2031206e6f6e2d414441206173736574206f722031206e6f6e2d41444120617373657420616e64206d6f7265207468616e20327820414441206275666665720032598009807800c528c566002609000313371090405b6e02cc004016910100a4410040ed14a0826904d18069817180480245660026606692012f416c6c207468652076616c7565206e6565647320746f2062652073656e74206261636b20746f207472656173757279009800801401298103d87a8000406915980099819a494e45616368206e6f6e204144412061737365742069732073657061726174656420696e746f20697473206f776e20636f6e74696e75696e67206f7574707574207769746820766f696420646174756d003300a00123298009bac3038305137540913026330530074bd705300107d87b9fd87980ff00cc004dd7182a0014dd7182a000cdd6982a182a800a444b300130490018a5eb7bdb182264646600200297adef6c602259800800c4cc164cdd81ba9006374c00697adef6c608994c004dd7182b800cdd5982c000cc1700092225980099b9000a00389982e99bb037520146e9801c0162b30013371e01400713305d337606ea4028dd3003800c4cc174cdd81ba9003374c0046600c00c00282c10580c1680050581919800800a5eb7bdb1808966002003133058337606ea4010dd4001a5eb7bdb1822653001375c60ac003375a60ae003305b00248896600266e4002000e2660b866ec0dd48041ba80070058acc004cdc7804001c4cc170cdd81ba9008375000e00313305c337606ea400cdd400119803003000a0ae415c3059001415c82894c103d8798000406460a80031330334912354686572652063616e2062652031206f75747075742077697468206f6e6c7920414441003371266e04c02c00cc03400520028a50413114a08262294104c18169804000cc00400697adef6c6091198108009bab303b304f37540048080cc070dd6181998261baa04330213304e0024bd7045904d181b9982600099826181898251baa0504bd701bab3036304a3754606c60946ea8008c130c124dd5182618249baa303530493754002609660906ea80062c82288c8cc004004008896600200314bd6f7b63044ca60026eb8c1240066eacc128006609c0049112cc004cdc8a45000038acc004c0a400e20031005412913304f337606ea400cdd300119803003000a0941826000a0943301a37586092608c6ea80f40d22b3001303902b8992cc004c0f0c118dd5000c4c8c8cc89660026605e92012d416c6c206f776e20696e70757473206861766520746f20757365207468652072696768742072656465656d6572003300d0032323303d00113375e002980103d87c80003300d304f304c37540026eacc030c130dd5021c5660026605e92012554686572652068617320746f206265206174206c656173742032206f776e20696e7075747300300a30070038acc004cc0bd2411c5472656173757279206f757470757420697320696e636f727265637400980099912cc0040060051598009828800c4c140006004827104e0a99824a491e45787065637473206f6e6c792073696e676c65206f776e206f757470757400163301b3758606460966ea8108c080cc1340052f5c130203304d0014bd70530107d87b9fd87980ff008015300103d87a8000404913302f490132416c6c20696e70757473206861766520746f20636f6e7461696e207468652073616d65206d657267696e672061737365747300323300e0042330080022303798009bab303a304e37546074609c6ea800a6eb8c1440066eb8c144c1480050391815001452820908a50412114a0824260020034bd6f7b630488cc074004dd5981b98259baa3037304b37540048060c0d8cc12c008cc12cc0c0c124dd5027a5eb80cc064dd6182598241baa03f001304a304737546094608e6ea8c0ccc11cdd5182518239baa0018b20883301a37586092608c6ea80f40d22b3001303802b89919194c004dd69826000cc130c1340066603a6eb0c130c124dd502001bcc13000e6eb4c1300092222259800982198269baa003899192cc004cc0d1240116546f6f206d616e7920617373657420636c61737365730033712601c605e002900245660026606892011c436f6c6c656374656420616d6f756e7420697320706f7369746976650059800981c801c4c0ac01e294104d45660026606892012f416374696f6e206f726566206d75737420626520616e20696e70757420746f20746865207472616e73616374696f6e0059800982298279baa33024375860a660a06ea811c01a2946294104d44cc0d124011c5472656173757279206f757470757420697320696e636f72726563740098009bac30373050375408f302533052303d3305230533050375460a660a06ea8c0f0c140dd500119829181b98281baa0564bd7025eb8266e95200433052303d33052303d3305203e4bd701982900325eb812f5c1001a60103d87a8000406114a0826a294104d4528209a9800cc004dd5981d98279baa303b304f3754003375c60a4609e6ea800e6eb8c0ecc13cdd5001c009018522100a4410080320303051304e375400716412c304c001304b00130463754081132332259800981f18241baa0018992cc004c108c124dd5000c4cc896600260a000313259800982118261baa00189919912cc004c15000626606c6eb0c14c004896600200513259800982418291baa001899191980080098071bab305830593059305930593055375409844b30010018a508acc004cdc79bae30590010038a51899801001182d000a0a6415c6eb8c158c14cdd5000c5905019198008009bac303f3053375400e44b30010018a6103d87a80008992cc006600266ebc00530103d87a8000a50a5141491001899801801982c80120a4325980099b8f375c60b00020171304233057305830590014bd7045300103d87a800041486eb0c15c00505544c8c8cc896600260b400713005305a0068b20ae375c60ae0026eb8c15c008c15c004dd6182a80120a68b20a2375a60a200260a4002609a6ea80062c8250c0d0c0ccc130dd5181c18261baa304f0018b209a375c609a60946ea800660026eb0c0d8c128dd5020cc0d8c128dd5028530103d8798000407516411c609860926ea8c130c124dd5181a98249baa304c304937540031641186002002660366eb0c128c11cdd501f01a912cc004006297ae089982518239825800998010011826000a092410c82190431800800911919800800801912cc00400629462b3001300337586096003133002002304c0018a50411482488966002003148002266e01200233002002304900141188200c01801881c8044b300130063010375400513232332259800980c801c0162c80b0dd7180b0009bae30160023016001301137540051640388b200e180480098021baa0098a4d1365640041',
|
|
7
7
|
};
|
package/tests/cdp/actions.ts
CHANGED
|
@@ -6,6 +6,9 @@ import {
|
|
|
6
6
|
UTxO,
|
|
7
7
|
toText,
|
|
8
8
|
fromText,
|
|
9
|
+
Assets,
|
|
10
|
+
addAssets,
|
|
11
|
+
fromHex,
|
|
9
12
|
} from '@lucid-evolution/lucid';
|
|
10
13
|
import {
|
|
11
14
|
addrDetails,
|
|
@@ -16,6 +19,7 @@ import {
|
|
|
16
19
|
fromSystemParamsAsset,
|
|
17
20
|
liquidateCdp,
|
|
18
21
|
mintCdp,
|
|
22
|
+
mkTreasuryAddr,
|
|
19
23
|
openCdp,
|
|
20
24
|
redeemCdp,
|
|
21
25
|
SystemParams,
|
|
@@ -36,13 +40,16 @@ import {
|
|
|
36
40
|
runAndAwaitTxBuilder,
|
|
37
41
|
} from '../test-helpers';
|
|
38
42
|
import { AssetInfo } from '../endpoints/initialize';
|
|
39
|
-
import { expect } from 'vitest';
|
|
43
|
+
import { assert, expect } from 'vitest';
|
|
40
44
|
import { feedPriceOracleTx } from '../../src/contracts/price-oracle/transactions';
|
|
41
45
|
import {
|
|
46
|
+
adaAssetClass,
|
|
42
47
|
AssetClass,
|
|
43
48
|
assetClassToUnit,
|
|
49
|
+
assetClassValueOf,
|
|
44
50
|
getInlineDatumOrThrow,
|
|
45
51
|
matchSingle,
|
|
52
|
+
mkAssetsOf,
|
|
46
53
|
} from '@3rd-eye-labs/cardano-offchain-common';
|
|
47
54
|
import { parseCdpDatumOrThrow } from '../../src/contracts/cdp/types-new';
|
|
48
55
|
import { match, P } from 'ts-pattern';
|
|
@@ -50,6 +57,9 @@ import { findPriceOracle } from '../price-oracle/price-oracle-queries';
|
|
|
50
57
|
import { findCollateralAsset } from '../queries/iasset-queries';
|
|
51
58
|
import { runFeedPriceToOracle } from '../price-oracle/actions';
|
|
52
59
|
import { rationalFromInt, rationalMul } from '../../src/types/rational';
|
|
60
|
+
import { array as A } from 'fp-ts';
|
|
61
|
+
import { sendValueTo } from '../utils';
|
|
62
|
+
import { findRandomTreasuryUtxoWithAsset } from '../queries/treasury-queries';
|
|
53
63
|
|
|
54
64
|
// Selects users wallet and opens a CDP with the given initial collateral and mint amount
|
|
55
65
|
export async function runOpenCdp(
|
|
@@ -60,6 +70,7 @@ export async function runOpenCdp(
|
|
|
60
70
|
initialCollateral: bigint,
|
|
61
71
|
initialMint: bigint,
|
|
62
72
|
pythMessage?: string,
|
|
73
|
+
directTreasuryPayment: boolean = false,
|
|
63
74
|
): Promise<TxBuilder> {
|
|
64
75
|
const orefs = await findAllNecessaryOrefs(
|
|
65
76
|
context.lucid,
|
|
@@ -90,7 +101,7 @@ export async function runOpenCdp(
|
|
|
90
101
|
orefs.collateralAsset.utxo,
|
|
91
102
|
priceOracleUtxo,
|
|
92
103
|
orefs.interestOracleUtxo,
|
|
93
|
-
orefs.treasuryUtxo,
|
|
104
|
+
directTreasuryPayment ? undefined : orefs.treasuryUtxo,
|
|
94
105
|
context.lucid,
|
|
95
106
|
context.emulator.slot,
|
|
96
107
|
pythMessage,
|
|
@@ -196,6 +207,7 @@ export async function runMintCdp(
|
|
|
196
207
|
collateralAsset: AssetClass,
|
|
197
208
|
amount: bigint = 100_000n,
|
|
198
209
|
pythMessage?: string,
|
|
210
|
+
directTreasuryPayment: boolean = false,
|
|
199
211
|
): Promise<TxBuilder> {
|
|
200
212
|
const [pkh, skh] = await addrDetails(context.lucid);
|
|
201
213
|
|
|
@@ -233,7 +245,7 @@ export async function runMintCdp(
|
|
|
233
245
|
orefs.collateralAsset.utxo,
|
|
234
246
|
priceOracleUtxo,
|
|
235
247
|
orefs.interestOracleUtxo,
|
|
236
|
-
orefs.treasuryUtxo,
|
|
248
|
+
directTreasuryPayment ? undefined : orefs.treasuryUtxo,
|
|
237
249
|
orefs.interestCollectorUtxo,
|
|
238
250
|
sysParams,
|
|
239
251
|
context.lucid,
|
|
@@ -320,6 +332,7 @@ export async function runRedeemCdp(
|
|
|
320
332
|
collateralAsset: AssetClass,
|
|
321
333
|
pkh: string,
|
|
322
334
|
skh: Credential | undefined,
|
|
335
|
+
directTreasuryPayment: boolean = false,
|
|
323
336
|
): Promise<TxBuilder> {
|
|
324
337
|
const cdp = await findCdp(
|
|
325
338
|
context.lucid,
|
|
@@ -350,7 +363,7 @@ export async function runRedeemCdp(
|
|
|
350
363
|
priceOracleUtxo,
|
|
351
364
|
orefs.interestOracleUtxo,
|
|
352
365
|
orefs.interestCollectorUtxo,
|
|
353
|
-
orefs.treasuryUtxo,
|
|
366
|
+
directTreasuryPayment ? undefined : orefs.treasuryUtxo,
|
|
354
367
|
orefs.govUtxo,
|
|
355
368
|
sysParams,
|
|
356
369
|
context.lucid,
|
|
@@ -513,6 +526,8 @@ export async function runLiquidateCdp(
|
|
|
513
526
|
context: LucidContext,
|
|
514
527
|
sysParams: SystemParams,
|
|
515
528
|
frozenCdpUtxo: UTxO,
|
|
529
|
+
treasuryUtxo?: UTxO,
|
|
530
|
+
directTreasuryPayment: boolean = false,
|
|
516
531
|
): Promise<TxBuilder> {
|
|
517
532
|
const cdpDatum = parseCdpDatumOrThrow(getInlineDatumOrThrow(frozenCdpUtxo));
|
|
518
533
|
const orefs = await findAllNecessaryOrefs(
|
|
@@ -525,7 +540,11 @@ export async function runLiquidateCdp(
|
|
|
525
540
|
frozenCdpUtxo,
|
|
526
541
|
orefs.stabilityPoolUtxo,
|
|
527
542
|
orefs.interestCollectorUtxo,
|
|
528
|
-
|
|
543
|
+
directTreasuryPayment
|
|
544
|
+
? undefined
|
|
545
|
+
: treasuryUtxo
|
|
546
|
+
? treasuryUtxo
|
|
547
|
+
: orefs.treasuryUtxo,
|
|
529
548
|
sysParams,
|
|
530
549
|
context.lucid,
|
|
531
550
|
);
|
|
@@ -544,6 +563,7 @@ export async function executeLiquidation(
|
|
|
544
563
|
liquidateWrapper: (liquidateTx: TxBuilder) => Promise<void> = async (tx) => {
|
|
545
564
|
await runAndAwaitTxBuilder(context.lucid, tx);
|
|
546
565
|
},
|
|
566
|
+
directTreasuryPayment: boolean = false,
|
|
547
567
|
) {
|
|
548
568
|
const price = await findPrice(
|
|
549
569
|
context.lucid,
|
|
@@ -566,6 +586,46 @@ export async function executeLiquidation(
|
|
|
566
586
|
),
|
|
567
587
|
);
|
|
568
588
|
|
|
589
|
+
const user4Value = A.reduce<UTxO, Assets>({}, (acc, utxo) =>
|
|
590
|
+
addAssets(acc, utxo.assets),
|
|
591
|
+
)(await context.lucid.utxosAt(context.users['user4'].address));
|
|
592
|
+
|
|
593
|
+
const iassetAc: AssetClass = {
|
|
594
|
+
currencySymbol: fromHex(
|
|
595
|
+
sysParams.cdpParams.cdpAssetSymbol.unCurrencySymbol,
|
|
596
|
+
),
|
|
597
|
+
tokenName: fromHex(fromText(assetInfo.iassetTokenNameAscii)),
|
|
598
|
+
};
|
|
599
|
+
|
|
600
|
+
// Send iAssets to treasury so liquidation is performed from a clean address.
|
|
601
|
+
await sendValueTo(
|
|
602
|
+
mkTreasuryAddr(context.lucid, sysParams),
|
|
603
|
+
mkAssetsOf(iassetAc, assetClassValueOf(user4Value, iassetAc)),
|
|
604
|
+
context.lucid,
|
|
605
|
+
);
|
|
606
|
+
|
|
607
|
+
const user4collateralAssetAmount = assetClassValueOf(
|
|
608
|
+
user4Value,
|
|
609
|
+
collateralAsset,
|
|
610
|
+
);
|
|
611
|
+
|
|
612
|
+
// Send collateral asset to treasury so liquidation is performed from a clean address.
|
|
613
|
+
if (collateralAsset !== adaAssetClass && user4collateralAssetAmount > 0n) {
|
|
614
|
+
await sendValueTo(
|
|
615
|
+
mkTreasuryAddr(context.lucid, sysParams),
|
|
616
|
+
mkAssetsOf(collateralAsset, user4collateralAssetAmount),
|
|
617
|
+
context.lucid,
|
|
618
|
+
);
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
const user4ValueBeforeLiquidation = A.reduce<UTxO, Assets>({}, (acc, utxo) =>
|
|
622
|
+
addAssets(acc, utxo.assets),
|
|
623
|
+
)(await context.lucid.utxosAt(context.users['user4'].address));
|
|
624
|
+
|
|
625
|
+
assert(Object.keys(user4ValueBeforeLiquidation).length === 1);
|
|
626
|
+
|
|
627
|
+
context.emulator.awaitSlot(1000);
|
|
628
|
+
|
|
569
629
|
await runFeedPriceToOracle(
|
|
570
630
|
context,
|
|
571
631
|
sysParams,
|
|
@@ -596,8 +656,29 @@ export async function executeLiquidation(
|
|
|
596
656
|
(_) => new Error('Expected only single frozen CDP'),
|
|
597
657
|
);
|
|
598
658
|
|
|
659
|
+
let treasuryUtxo = undefined;
|
|
660
|
+
|
|
661
|
+
if (!directTreasuryPayment) {
|
|
662
|
+
treasuryUtxo = await findRandomTreasuryUtxoWithAsset(
|
|
663
|
+
context.lucid,
|
|
664
|
+
sysParams,
|
|
665
|
+
collateralAsset,
|
|
666
|
+
);
|
|
667
|
+
|
|
668
|
+
// This treasury UTxO should contain ADA and collateral asset.
|
|
669
|
+
if (collateralAsset !== adaAssetClass) {
|
|
670
|
+
assert(Object.keys(treasuryUtxo.assets).length === 2);
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
|
|
599
674
|
await liquidateWrapper(
|
|
600
|
-
await runLiquidateCdp(
|
|
675
|
+
await runLiquidateCdp(
|
|
676
|
+
context,
|
|
677
|
+
sysParams,
|
|
678
|
+
frozenCdp.utxo,
|
|
679
|
+
treasuryUtxo,
|
|
680
|
+
directTreasuryPayment,
|
|
681
|
+
),
|
|
601
682
|
);
|
|
602
683
|
|
|
603
684
|
await runFeedPriceToOracle(
|
package/tests/cdp/cdp-queries.ts
CHANGED
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
cdpCollateralRatioPercentage,
|
|
14
14
|
createScriptAddress,
|
|
15
15
|
fromSystemParamsAsset,
|
|
16
|
-
getRandomElement,
|
|
17
16
|
matchSingle,
|
|
18
17
|
SystemParams,
|
|
19
18
|
} from '../../src';
|
|
@@ -29,6 +28,7 @@ import {
|
|
|
29
28
|
AssetClass,
|
|
30
29
|
assetClassToUnit,
|
|
31
30
|
getInlineDatumOrThrow,
|
|
31
|
+
getRandomElement,
|
|
32
32
|
} from '@3rd-eye-labs/cardano-offchain-common';
|
|
33
33
|
import {
|
|
34
34
|
InterestOracleDatum,
|