diff --git a/hydra-node/golden/ReasonablySized (DraftCommitTxRequest (Tx ConwayEra)).json b/hydra-node/golden/ReasonablySized (DraftCommitTxRequest (Tx ConwayEra)).json index 77f70a059a5..c2eb22bd4b5 100644 --- a/hydra-node/golden/ReasonablySized (DraftCommitTxRequest (Tx ConwayEra)).json +++ b/hydra-node/golden/ReasonablySized (DraftCommitTxRequest (Tx ConwayEra)).json @@ -1,414 +1,703 @@ { "samples": [ + { + "recoverDeadline": -4, + "recoverHeadId": "01080305010400080404060501050702", + "recoverStart": 0, + "recoverUTxO": { + "0000030601010003080307050307060603020101080603010203040706050705#23": { + "address": "addr_test1zr30qjnnzsj25qj5mnv5vqsy5jx8xx5zw73257vt8v3te7gu9t3jdgw4l7k9etqqy0c9uedjnjlewjxx6j8k2ju6wxtq0vnj63", + "datum": null, + "datumhash": "517149add56d8056965a5f1e890a04c115a7d10d4c3583818356125a28d9e02b", + "inlineDatum": null, + "referenceScript": null, + "value": { + "2db8410d969b6ad6b6969703c77ebf6c44061aa51c5d6ceba46557e2": { + "80f0d6": 1 + }, + "lovelace": 1807725733820881937 + } + }, + "0005070404060202040204060703060504020801080006050600010106070303#62": { + "address": "addr1y9uzvy8u7gj2cd062qq23jexc7dmwxey94374pjkkkfr93azxccjmsxect2dy6mdmway3gx5m4h2kkekja9qwc20wfpqjkn6nn", + "datum": null, + "datumhash": null, + "inlineDatum": null, + "referenceScript": null, + "value": { + "8600a7febd45652c1a2e9930569eb0463733a845d705476d1a8fa5ff": { + "39": 1 + }, + "lovelace": 815794582948710859 + } + }, + "0305060502030501020005000402080505020005000201030100070702010005#73": { + "address": "addr1wxgqrdmcsh6ss68rn993q6sugpu8rtfatfvsexwwwy52k0srquu59", + "datum": null, + "datumhash": null, + "inlineDatum": null, + "referenceScript": { + "script": { + "cborHex": "8200581cb2aeae6028d1c39e7a1309d612427267cfe731352aa9036027fccc16", + "description": "", + "type": "SimpleScript" + }, + "scriptLanguage": "SimpleScriptLanguage" + }, + "value": { + "6db635dcef600b0ab43e4592baa30872c7c650578df14e02d0e1a182": { + "37": 1 + } + } + } + } + }, { "blueprintTx": { - "cborHex": "84b300d9010281825820271dfc47b3a33343c4cfd99679077c16b281f7def619201a80f62e92a95539b2040dd901028582582014092bc1de2a7f3770f38395bc097cf966e4d8e7e0de0ab31c6d42d7ca7c0db80082582045b30b5d539713ea39ef42e73454ad4a807134d72b0f7eb247396564820878a408825820577cb067e80cccfbba23846d6d89c085ffb0a16d83144369d3211d868ab45a76048258205ff0267aa320a20f6faf4f173c487c2bff57e3201b628b82d86461c974d7a059088258208c576b66daa42841de20833e697e0583b59a57aeacfee3a0bd6c6816cf0236710812d9010285825820053e3c6bffaab7048b8129feaa835c2b5c1fb1af0de86d728657f779cdf99de8078258207d29f292cfb8e2994378f14cd20869bdb91ef7ae0e589167aecf8e6033f6132e0682582088859aaeb8ecd1493a4f12074239c44f1cffe7bb22b3a587735819b993227afd04825820940e175c11dab3ed64467f8125be0d0270a3b9cbc9079aa27d3f7581ee8af70502825820f19f138a1f9c49eddac4ae647f1dbbf2c955ec62c373ff3cbefd3edd5fad82c2060186a400583931c703950cdcba58d36d88df12428dc01cb88645b860d788a4666134556d922362726b2b3aa68782a969579535c0f0854bcf5e63590876f93c01821b79cfbcee4e13107da1581c8f461954fe2f18fee1dca233f358907e643ff839ed1f995e4bf325e3a1465c2da92f614b01028201d818581ad87b9f438eb49220d87d9f20d8799f40220244de4d9be7ffffff03d818458200820504a400585782d818584d83581cc0a2ae190f05bd7c5f6c0e286003d149af2c23fb886370327504c0afa2015822582061776b707a726777707776776b69776779756f65746678626b69646268616a7402451a287fb741001ad40aece501821b373c7cf34a7c48f2a1581c245d5a7a06fe18358242e81281cd5ba9e6abe4efc54e7b659f25abaea1413401028201d81858739fa1d87a9f22417241fe4020ffa1410f409f0242f7ced87c9f00ffffd87d9fd87e809f411effa124240300ffa5a102249f439128d5034382e98e01ffa442315941b901220441cf42502a44e40e2abdd8799f02ff9f441d279b640100446c994335ff41964168209f44dc59805040ffd87980ff03d818582282008200581c93b71844a04c51c12e87a3e58f892cd8ffe14e0b5c521323bb7c5a77a300585082d818584683581c92e8f88f760efb4fe6bec64794563d8acdf88aa9c9f0899a7c86dc7fa1015822582068636c6862787261686b64716e777377626164676a786d6f666f6e6f63647277021ab51a1cf701821b1258b640751fdf91a1581cb5c2e1e5e58830fe9dc03f26221925adbff6528520703dc251d15f03a1581a2a19eb9678dc9e6ea34b935d215696b4b63479bf9b8bbbac80721b137c6477807c11cc028201d818539f809fd87980d87b9f20214021ffffd87c80ffa400583910b7e73c9da32ab139bbd21730a0720e6fcb5faaa17978a24af0d3554d06548f0fc3a7d2c74797c98926746f0623a02f29333357ad8a0b219d018200a1581c67eca8a0ef2856513edc60af713dee67db78a6cdfe8e69927f992e94a1413801028201d8185836d8799f24d87c9f9f2342bb04ffa10105a50501230321404020443cbb856b22a0ffd87c9fa0d87c9f0304ff42ef2f436cecd04175ffff03d818458200820280a400583931620638e5a8ea876ba7a89210d69dff2dafb0b035be22a140e79cba466c81ba10668b9a7bb5b299e56e0ea6687d7a271e2a7c6bed94db5751018200a1581c709857a3347364ee914adeebd2826dc79bbadd5752b92978d4b29677a1413001028201d81843d87a8003d8184e8200820282820180820181820180a30058393130eebfbe3086943230e1e3597a45aeb6566c8bcf033d349f0750b982746b2fd7aef5e1d2bebc161933166a0718925f283962e21804e6bfa301821b21d705c9b7a696b3a1581c467f58932b54910584a0e8ea25a225e06a14530b2e96e938c53a3f22a1581e87f985b3d196b0003e68cb5e6a31826e58a001ded01dba8269727646bf711b52bf1108f5f0fb6203d81845820082050c10a400585782d818584d83581cc2df093ecd2a60f69946414f285621f81cd5fb1fa6662b13b45e7aaaa201582258201eafa66b645808f0f44fbe50b56d792775604925c92e9bd34f02db43c27ed37302451af653e68a001ae70a146401821b7df13c73d65c5d35a1581c7ff6def6c6e2aa2d0e4da05c4c4369d87ee89fbd1be96b3a26120ab3a14134010282005820b5fb80c45b39bd1f0af4504f2d462bf6bf2c261643b81e2954562ffc95c2aabb03d818458200820508021a000a3fa0030104d901028483028201581cda1e4c6d77cd5626c855acb003c7c49b8439fc82dd41da05cc451d06581ccfeb0bfa0a03ff76fa204d2bda9a4349da5bbe2b07b219cc2b077dca83088201581c8e0412f7a9a9b54a9bb45984c9a74e8b5fcf4c0712c5d01343527c451a00035f8f8304581c67ba09019e998bcb924de8617f543ac670e618c2ffd191133f4b27cc01840c8201581c79db87cd18ada4a550e2f4b927fd26e87b54849888693ce22f8230d281031a000918d105a1581df05514fcdf9d4f6ba6bf9a9adf4694f6455500ba596184ae756cc7793a1a000ba50508010ed9010285581c2b4454c2a3e812902f9ecd34adc742b45686a197a74a4a9829a1a8d3581c369fc556624f1ee605be9b354ef283e76a5c54baedea325b2c85bd5a581c370eb5f5279f6b08066815282808d6193747d4037e67fd6a18dae4d0581c57a4b4f9ba0853c975a5482010be096f2c286934a57344d696df60d6581cceb43723c4fa022cfa489a508a4216e23631ab5f7b7307448982502409a1581c61ba1c2ce71a16bc9cdff6b5938fb8519e6933266a44fff31e44ef04a1520f4dc839f8aabc5632f0e240e761f32c15ff1b22ef5b94c90624d20b58205cc50d9b5f0fd42cfbb31039d2f9440da0fdf1c106077e3656eb34bb02502df70758204f86cc5317180fe7f2dd71b151edf57ee8ec4c2fd42fc9bc2b2a759e5f7422040f0113a68200581c5bdaca06a04860c314febe1d216f746fbaacfc457f1970661289fd17a48258201889795738f4d68875e76e155c8d9a259cd95b1ba8877ce9bb0406f696261f0805820082783068747470733a2f2f6e7a75554b685732416754685a2d4134694546626e4b524145585757337052494b3955662e636f6d582053e194d18b8bafa6a4165d0d8a231c3afebd3cc1cc5a122844e33d0e54fad2a88258204f7449b9b3389124b78e64a480c1d23115ae5319d7f4b7a6fd69e45f9f4e870500820282781d68747470733a2f2f41453958484e42672e37516f4d736f49782e636f6d5820f3d649c127dba7caa3f12c51d0c6f47ff0743fc94281bf3f47561a4630469253825820bf061779b91afad8baa55b6cc13c779ed02d80917ad2f1fda4eb50543ee241cc01820282783868747470733a2f2f546e796a732d5776416c53322e2d2e414f595464754d614271564f562d794e64596c3572442d4f41316936722e636f6d5820fc83c37d82166c477aab2f16a815f381d96aa80cc70ffb0782c498c0cd83e019825820dc9d22d127f9815210a520e154f97ca11bd97fc11f9aea5e94e67c6f642ec40c02820182783468747470733a2f2f48434e4f584e71516d44365030663850684a4f4d45566469626f453453686d63627941394a7456712e636f6d5820fe7075b8e161572d71e10577845bfdadc1ffa7bc1505331aea00ecb764cffd308200581ccbb63c26076892956bc8a56bfacd609172801ad0c5b953dc1ab15010a68258205bd7a3e8ddd25de323c222415b3e8fb5012dc59cc527aa9a9e4aa2b0e281c27d06820182782e68747470733a2f2f697237516648634f63786858434c734754436b423477656d684761583963707259382e636f6d582057adbf8cd2e1b5e277593501e90319df56d12387a57486282105c6eae451c03f825820971296c26b31d4dea2dbd9d7f85b87c8dfffa25d8d722b71fa6394d16615fa35048200827668747470733a2f2f466f2d6557454b6246752e636f6d582041be8930e5dd43fb26d1037ed2535690cf0ac685bd0c240eac6a891db7fcd334825820a2504b5206bdc3c8ebfce5a2430357632f5945c218a3b3dc4b2d9700409102cd078201f6825820a3fe6502f3e7ab1242a350b49ad8935c5244fdf1300d3c7cf5d35f9cbeaae168048201f6825820cf8bdef181fa688a5ae42820a49ffbc83a5f2ea7194297c4e67ada4a7744d3a0088201f6825820f065666b620d2918a5fdfd19185e725801b2ab8a27b4424a59b65497365291e1068202f68200581ce4529df0e440a49a1361289f078b3ab7735a0ac99ba32b9a92b49552a482582011b1cef51c2ed6e8319c7184374ebb5773baf8758ed8500c4e4088d69bf6548608820282781a68747470733a2f2f4f68435764305654376a6e4862742e636f6d58204dbcf2de761ae301145b2b6bfd15359530b4867e91f07f8fdae8b565b22b6b7c825820545614bcdecd474f67ecfcfe7d9bd0c1a72ac72ee4d14d9b85f1974b520a41d908820182782568747470733a2f2f71764a586259754256455478464774692e433441376c73414e2e636f6d58202d7dd425519757f0a98f54c48314656da3224196fb637ece9d8fd6b92192dd768258208ab9a7618cae863673ba35a25ec6083101ae341854c2a338eb92f917602c503108820282783868747470733a2f2f454e38655a6f774c6e564c4c307a3072756e537734517232734e77356c776c5a695951304c4e622e74586d762e636f6d5820ec184d12a1f1c9ed305385c022256e20a95a3b11bc47162cfbf499d86eaabe29825820f9fea01918cce1c36e06628a7860c9070988ed534446a5bbe594d11bcea924c006820282782c68747470733a2f2f5059616267326b5971686947694d4d51347948653153525941516a657169754c2e636f6d58203501ff03b251caae3b90ff0b120201ce37cbacd2ba84af6e48afbfce5aa0f1728203581c52ac7a67732770196ce017acea10c26fa00f4394e70841055a4b0cdea3825820364403c05e8808566c633310cb091ebc211e8b040dd75295b90851a945ddd67303820282782868747470733a2f2f79413858764c674d34777235516475764244584a532e377567316a412e636f6d5820ba3c54218e9efb1591a00a56027a0d1b8909255976f29c053d58c0f55c8932758258207e068757aa0041b291243d31976b14ea287b83856350f020660b8d999ccf6246058202f6825820c2d73adf727ef3464bf21cf8eca40c8f066d388f71b558ee594acd38dd25a3f0008200f68203581c82ee72baaafbd3a777bc1ca76989da0a494f2ab21703b78edda34b65a68258202473f4492e6dfff4e04dbcc0883012ce51a871c608fc923a060360ad4c05398001820282783468747470733a2f2f6a386477326e68374330742d4764774d666a6b413946424e4a697373366a4445524a5a726841484c2e636f6d5820da0c36ed23f3ae5dda909906ddc467860e32499402aeb7cf7306c232032f8deb82582033f8bb49390661c24becc934a7becb26a8805c9042d732debcd1385f59dfc06208820082781b68747470733a2f2f6a656f494d694e304d45787742444f2e636f6d5820997f8859c7a26824557fb59fd884254102a17b029f3bd2f5cc1b2dff9c36d9328258209d37f440af98e9642722e118084c952a45b6f87dcfaeece78fad47d157cbfb9b068200f6825820bdde7171927027c887c4e42c496492af58be04c7cfe485b6bc68dcf71e94b11601820082782d68747470733a2f2f4c30614f4a773162526e72724573574963363834354c7a6b57646b3875516a4b442e636f6d58206e1c0a3c9938737fed1e1cef882bf294ff80462f096264c36c436b2b06bd1cfc825820f6a2acd4ecf83833a8bc189db8044b2d7d9fc04f17985e696d65ab7a33a8538c008202827068747470733a2f2f6a7947772e636f6d58204e454c42f8be46c690ffdc13ba8e9298d03c75256306a7dc628e454e65ec9f51825820f78345070f15c692dff981c681fe779d1c12ad5e7d3909369cefc56ec7ae7c59058200f68203581c8c584855f81b49f0a8abe59d6ffcd110f493399e9b702940fe69d8f7a682582000e47f30a1790c76a3c27ab12db3f64aa90de804fca34f939d32c4f55d85fbbd06820182783c68747470733a2f2f4372516b62794a683178694c436f4d645a6a57345843726147454871517872787047766a4b63506d5477746a366848392e636f6d5820943ab88e8244cfb8fcbb1784c5e32a4650171138fe1ca14d6830c6ff0d2c823f8258200df0f53315475eb36f08e1687c48ca2cc06a1c5337f757049b642874c0ec2fae018201826e68747470733a2f2f6c4a2e636f6d582039a1767df1fb3600eca953cf421bf9f313a825a0729154ae1d6e6b2ed449f8018258206a94561d91eec1e24884f1a66b8efaf4e84c4390bacd8756a3c7fee620dd6aac088202826e68747470733a2f2f496b2e636f6d5820380360da01724f5d320ebf28f080184445ef4a891ff1d0912a5a24c96c301ed68258206aba39725ce94244839d435422ad34f55f5d5636ab798c9c810060545dfd7e4206820182782468747470733a2f2f42754e754455647462676c59534d456f4c545072735946702e636f6d5820533756e78d164b101f3919528f719025aa6eb7a460ed2b037a494c4fb7963fba82582084f8d932b50255e7ce3ab74cee4aa7af1840116a20b9824ebbe515fd66b7ee1900820282783668747470733a2f2f77527178466c425a624c6d51556542312e6f30736f4944394875774859412d317973364c356d617645582e636f6d58209911964fc6ec490e208e7e854cc483542feaa4c8f3595d232301dc86226d348f825820f2ad9701815858bb665a70c97778af61af6ed67c8c6540053a520a726f73019f018200f614d90102838419bf6c581df0aeecddddd9ec3d4e3718eddd610b8223dda8a7dd270884b2e004b795810682782a68747470733a2f2f4264326f56417458394e544d777862395a56597a586f544a3078394143632e636f6d5820edc1832bd5bd4940eaf58dc72370da678464591a32a217311a473ce155ee7686841a0006a102581df091f5ea9e28734037ea592b463bdb5f8ead5b07f647b09869108641cf84008258203067adc5b3b3194437e93d9fd5a72083f985b5358acf4627abfcbfeca317f0b306b4011a0003a29a02020406051a000200bc061a0007926e070808050ad81e821b0000231990b4385d1b00002d79883d20000bd81e821a0df94e211a0ee6b280101a00063c44111a000d2efd12a7009f2f04052e0301250c2507232b0a0d09271005280d2b201021012b2d060e03030a0902061009082e070625020c240c2c060a2a23050d0f0127080f2c032b010a0e052c00020b0010052a0d0425000f292a22252f090002200c0928290b232a230b2b0e2d0927062304000602002c2d0f04022b0208242c0c2c2d0c2d200c2f06072402050f0229240e2d042910292426092528292b060e0227292d030a0522082c030c24270504ff029f0d2f0d0b2722280c0c072d242f0a02222527010f2c0e2c020d21100f200f292e07050423202d0d08030a0626230026002226260e0707070c292822212d0d28030b0f2e022b0f01240127250806062801290a252a04220424292620010c0c0c1024270809222a0a032e040b220e000327292f0f28282b0f0a03260e0628092520262f0b0f072e2f2b05012310092a2f2b2f250a030b29262f0b2c080a0e06242928040b2c2d0d0b2a0b040000032504240b220d0e0206102e2f2b290e082900292e0d0b002701102b0d21100625042c2e2b060b2f2427230426212a0e002f2b0a0c2c29230f232cff184d84080010221865810c189085080507062618c08321012918cf85090b2c261015821b1682d1d1d52797681b394a7eebfd05af9716041703181985d81e821b0002dca009f31ebd1b00038d7ea4c68000d81e821b00000415f76b88931b000009184e72a000d81e821b0002a4512f5d9f171b000e35fa931a0000d81e8219983e1a0001312dd81e821a000174811a0001e848181b04181c01181e1a000d05d91821d81e821b0e005c2c3358611f18fa581c4048a21ec8c96e1edc7c7c186596e9af28ec037a60acc8e5a405683582783268747470733a2f2f31394476456b766145734d55414e544f704961724f615977514c7a734e6261764c76396442762e636f6d5820ac706d7101487200f8c235f13ff4b0542cf9cb3dc527885f7c66d8befb81cbd4841a000eabfc581de1a04d87a8f5d8a0267689f3168aef10f392a85741534c8db6dcc1b5208302a6581df09a05c56d6e82884ebe7e1b86c7e114f1ff6f0b14d37f9f61732580871a0009acbe581df0aa927298f73865785cce2dbb7abd94173d8ade321e629dce3daac7821a000d1771581de041be2133e7d0da2d8a0de9244bc200df445b9aa3fefc6a6155fa06a11a00043fbc581de044e46753aef8e108abc024c8aae05c42c5eb27ecf246e3f8f8e0ed6e1a000537d2581de12da82dca62c72cbfb9f3a73f4bf8afc9b784ee5b99a3934c66d0329b1a000bf006581de15a855735a0a4ec90e68a78594b07c05eb02c2d1394a0e147d79760861a000745f3581cf14204209e696ff7145825e974eae7bfed309793e9804138d5cc8cc782782868747470733a2f2f35384665784d64414e706b4e51356e744b6f47716e4a2d62473854362e636f6d582032e74e38eb62cdb78d295c6b342d3e931e935f6002c8cab559ebe3d19e5ba12d151a000517dc161a000484a5a400d9010283825820a3e91440fcf3fc8f73035376e66c769eb99b148079661a3ba7e5294b44151a015840ec4b3aa550cf0ee202507c817a7e57ccde1d2787637982ee60ef5f9247a117cf9376902ca939bad93bb99e35230cd7b7cd71757af5c9390087f6eac17b2550c48258206f0c14bb3949d5ab2e480e80deefd79e8ff96982e5f563fbb140baba9a3dd47558406466cd3a84ef19be1c2932294ddcce9667a04c08be7d6441934f321958da6d26bdcca426044443b3f630fa49d64ab53beac052ed7f875ce2a7a00bd23fdaf6998258203e6dc7405acdba6dfc759c792f1f2c87804ab6f1a1786b32d00f8cfd980b3c585840064b0dbdbb5b4bde87c2317fd69df966fd0597f4d6ab15f3be7bc03e0c5af1562cf5b0409f5489ecf44791096664efcf2be3308fafc8583711f60761f292965402d9010283845820563ecb3b35a1e3f6c87b01957c9ad1174110dbfb8448bb3e00ffe45553bc6ffd58409a040fa0e74175b83d4adc51b6a78cb12ae1f77a9b62168306e5a26b89617e7bce8108d6a609113136211db743fa33f15c343820da2f85ea69b1a2d1ffb99ff541874444ecc0db8458202b7c01cb32d780516227d7a32d1953b789d2ac75c9daf759e12297379e5bd974584015046d27fa45045fd121c1be77fe8d955ee996b44a4d452d9fd07225ddc83d9baed2cd34482a41ba75c6355270147da0b807aaa7daa764d8a9eb3b7862e504344040845820e2b05dbc0d29aa8d874dc9bb6afb3f3866c303e450d0da07bcf32149015c501e5840b36c2b111866ceb404e3d890018f9ec4b033ac34c57941eeea77a795aeb616b57cde3d348fcbe0d39aeea9201cfab9f90d305092ef4e205aea5aec0056a3679344d4b6e89843e80f2806d9010281474601000022260104d9010286d87d80a14041cea49f2200a2240544ebe6174243a0d932ffa5a44446a59abb052402002440439cba7fa12443a1ee9fa1010441dc9f0543cc9d7aff2202d87c9f012100ff43b2efaca304449f2a496722411c2305a301a003a4034200d0220221214003a30244eae1ffe90342c72d00400480d87b9f9f004248a7ffa34021202442e3f620d87a9f43dbd2a923426492ff9f04ffff9fa09f41202443997f5920ffffa09f44b3e1dadfffd87b9f210041d1a004ff4307311aa10440f4d90103a200a60285a043272fdaa3627f5a6633f48a8688290041d8687df3b6b89d552f16413a4239fc2003a166f3b8be917e1e0004a005600e220f454a44168f7e01838200581c8e88a38ee6ab382ee2abd956e77156757c562261e875cefe4b008635820180820405", + "cborHex": "84ae00d901028382582008d7b656a513f8535964107abb00689f10b2f358b9d2d28d467a93a91435785207825820b1aff7114216266787a08dcabb51758fc40fb404dbb18b9fc8a07510f65a838203825820f351a31ade1647a522500232ac89a55a10330162c2654b839dc1f1040e3127a8020dd9010286825820362f932fc850b4878e947d9a748cc887c527e159cdcb8306d34ebfb6b71cb6e3008258206c3e1bc3967f5c311fec9f643717f555fef269e7e51177bae567a27ed3964ffd00825820bf1b1fa57eeb99ea506c0543568d2b0fdc17255507bf579213a6512a0e3f6c2800825820cbd9a2e5c2bea8b4e39daf1038fd8f46d67e37b2a603898c88e67880b429a54204825820cd225e7b27d755d7738e3f25f4ee678a9e313e47bb07742bb2d103f9a7d8f45602825820eef954da6edfa20605280bab8d0546c6209c36487c087bd5cd989e84a78a58660412d9010282825820ccd79c883be6069ea2c70599deb1682134ca02375bf2068414760ed858d606a501825820dd811cf01c3bb478d6759661b5d5768f82c5f3ddf050088d2dbaac2538d27211050182835839207bfb334dc7123b4120fdf27d3a476c0d92222c9a648a1c6bde08348452523f2786ec134df73a5f1a5a54eb6b02f628d9c4c55ac3d579b2ac821b066a96b09e9ccba1a1581c3f129c2479eb5ff631a96d234466038d9877a30e7eb4a2f34eebfba9a1581e373c172c3fd06c124ad139a193dadc8b10093dfe983d9d9bd4dc2e635562015820029f7438bd4cb0f244cb27c4a146c2001cd714d6ac9b513d52d7033dbd657c24a300583930b11222fe14405257cdc53d86fb5acb42ca9a1966f40fbaba9d2ae044de2c6c63201fae7bde09817ef9ecc4180ec062c666aae25e2f961f91018200a1581cdcb9cf787107e0f0a64b474abcb9351a89a5fd1727b81230f300fa90a141351b5427622f7a9bdecd03d818588d820082028183030181830301848200581c19a3c6be46d6b736066f48e2db44c81ea4e3b42d8ee0e5da7aeb88678200581cef54112916c0cc7dc5e9c5c50bca7f3aeb3a9b25ef79e866217ad2238200581c2af3a392ad33f54b70ac44c5ad4497bd4291a653bc9dc527360ded398200581c70245382a3f8a817f0a6fae41ed23e5fa35022daad0b42bfca350daa111a00058b7a021a000821ad030104d90102848a03581cd9e6613404fd9da4e168b382b13140c2fb8f03f9c61d32784a9d8892582032f7f3fbff186943b4d5d423947bd78c0f0a3c6a04b2033d53028b9e5e420f701a000e42f61a000cc2eed81e821b0007ab6da4a6b9311b002c68af0bb14000581df0cb19abab121377698f4ee7664cf3d9982373f6f03f1c77c57ad04217d9010281581c01388b5faef9953da42141cf0351e44c8e771a2a7301a13d5fe4b9d5868400f644000000035008000000080000000600000000000000820278332d74534256636b31515a704b45797052494b72514467772d31337378586d5653713562454f754d483472654374336b2e636f6d8400f6f650010000000300000001000000060000008202781c542d32794f784558772d6c4e4c643338546c524f776852762e636f6d8400f64400000007500000000005000000060000000200000083010665632e636f6df68a03581c936398e41b4573b5c5ad5ef69b97c33440e4be001805468bf3746e3f5820619f6f77aba7e8c4ca549f2723a131b6a42b0212f9168ccc9f1338578b24bf2b1a000bed811a0009887ed81e8219bbc91a000f4240581de1a81fe236cab56169849a8560b11438bbb67586f6819d9b1e4398512ad9010286581c59dac10c3ebeb8163145b3b3a830ba2cd034718526967b34aa1af731581c91321cf6d2ccc56aa6562a52dd2bd030ebcf9810f2904a98a16d10b3581c9c56b61f896bd35a7a3ed6da8e7279790f47513affb326608eaa0121581c9d93894d3833081afc6cabfb43c90e421c2f3f21de142da18749eea3581ce651a41c01b173b7a941cc3e32a78ad7f6bef0bc267f2c4dd5d95f19581ce95c60c79db3b2d5623d6fea82948408be2ada98432295a673ce6e55838301047836376f464750646d64543331765a6641397253584b676d63396d5535674b79694662476c722d52476b634e4551426b734649522e636f6d82027578677a6e66597039657a47434d6d6b306b2e636f6d8301f66c687a547777616b6c2e636f6d82781f68747470733a2f2f69646a443646586f63797573376d692e7132542e636f6d414783028200581c7c0e23cac56f010b0e9ee1ee6d30378a6a66fb9692d00c442c36d48c581c47425eb3e4abad81547340d664699d6d65dd8f31b9ece7faa034438d840c8200581c816bf3bb92122a5086c42fc80c84aa7fd8cbe55f590a0f62b7d5fdd78200581c1fccc3fd6c62d9c2500794f31c2a5c086b6ccd320f150b169d6496c81a0002d98205a1581df1c1d25044a6a0e43a5307767c0ebb27b905bb6371e0b587065f070b3e19f8850ed9010282581c07fbd0a0f9b3d98f748314c6f855a56ef00e714abcd7e3749cb2938e581c61c5cc1a5c00c5034ffb1371cabbf82a550e1763d45fbec769a183d409a1581c969addb99654b670f8d0c99809c7af11a1ab4f1fbb911ac1f230e823a14a119ceb651ed221e94d053b454482cb7e1c66d90b5820cfae6238a7b5066cc14641c0874a91e1fe7f83595f82830de49fc4428a64658c151a00040409161a0007f099a300d9010285825820ca3bd31867f9de15718aee15590aeb5776bc80682015a452f6e51d65f08d87c95840ddaa7a55b51ec1e79e29478b5ff3e5d1e511f307ad99dc965de46a5ca8e51fcadf1fbc2f2f4a28c74e2060657d7016ff44de3b6a72b76e5663ba832bab01a0c1825820e8ee7f2513c5f7c81c845b5e6978d13d58875a1b9ebe6c38c54d4958dadb25d7584022034b669910903838ab6f005702bff612761ebbe12541ea9864f329f7c1ee74a0022d55c0ebde2ce7e10da78e150a0cb0329f846f698ef8a0644549979d5f4b82582028fda092a91a38c90acbc3b073a05b1d0899fea57630f075a6d5f8038cd9e9d85840e053b01290d6f3d80060b1eadc61dd25d5c1f4b54f37c0235029298f8784afd5666b095813426ebbe81b0e5e59c39b7952ecc1222aacd9e3431939037de9083b8258204fedcddffda2cee7cd8e345829817e31a6769eb9f42d3475ccbae4de3415d7de58407a854581c63188c9fe9412cf980fae3f74c6cdf60043fc379053bd32a7ed8a2c52d3be6a10d996f1f6a693467a9e88e22c42f0a4ab755d744d746edcba4e3fb7825820e2eec031af90fdd0a4b0162ed625eaad824197be4e614c5b4f3776275a8b9cbb58401445f126424fdb0527bea030d9d9eb403f4cb2a464af344ef85e528dc378ac2c7d2030b1f6997763aeb75c4a24939c94bc0ecbdccd6c81e7dd14bbabb87e619e02d9010282845820c5ebd364663f979234b8fe5508ac526723c348674fa3cc87971c6e57a4ab38f45840f0cd80ce28c056fe1d519adaa070bc5bb4715b86dac9cff29192bca13e647cfc3cf5289a2e0b2d2d10ceb4f26c00195a9501c84c4ba41a6499707c6b22bad4ab44d640ee8f40845820bf98fffcb5cbe53a90db4873cc15d11b5f33b5588aa9fd8cc76a9c1fff719c8958402c5f6e55c273babe61ed08f6e8b373945d382b6c8b388d516817888a83ceafe3eadfdb1e3622f03559a430ae0a9865909f05cf21feaf02d2d81b94cd8920b48c4278d94004d90102859f05d87b80d87d9f9f0342488044abac6ef0ffff03ff4359667b0420d87c9fd87b9f229f2303ff9f02424a86449f0d7995410204ffff9fa4000042788e2141d9002105249f0441c6ff9f42dfbd4020ff21fffff5d90103a100a600610d0585806377404d64f3bc8c97622d62439eac84078340816117a009210b400f458e337a7651", "description": "", - "txId": "114946c57d2b1ad37cb5f2e035834e6770e63ae787e76afc8ea8c1263f16744e", + "txId": "cb5e62811934e0964cb9232da10da492364c7a5a7e800649cd40c281df9d7923", "type": "Witnessed Tx ConwayEra" }, "utxo": { - "0302000007070304070205080807010404030505040600010507000502040702#10": { - "address": "addr_test1xqfd4jzf8pzde3kne8x5ndn8zvtwcnsrevsvztgnsejdvzcl9zlvyg4g0wx0q2wk4yv4grfvqnax07qj8828znaqnmps5ryk99", + "0101000105050803030804030701050505020404060006060302070307000300#18": { + "address": "EqGAuA8vHnNrgeWPZTFW1Gsjf7TBLov8HSRex2Ky4N2ZLBfpgbCcRHqYFYRXTYaNudFVvJP4BegE1w7phJbsT8XD1Dt88gYktBeg9vvwi1geG1GsrnGusdk", "datum": null, - "datumhash": "c0517ccc680d422e701368c85ac7cf10bb20d7cee54525d5f9fc02b34c1639a7", + "datumhash": null, "inlineDatum": null, "referenceScript": { "script": { - "cborHex": "8200581c1cd0e8ff8b7985e5bcf752016fae15f30cc294c9134da17fa728fbda", + "cborHex": "8202848200581c259bb41dfb15b11fdee81af8963835ff399d3a15cd25459db1f2064f830300818202808200581cd767c9934fb5fba546d9dec6af45599f9695798d64f3cc9672ae20d8820181830301838200581c8fbb1272ff9d25f91dca542eadadbe964040a7a44e93b0be5ba6be138200581c0736746764d53543ca17b97d91d7628d182931b42b4def9bf31257288200581c199cfcc94abe389032267b56bebb2f665230c258db2aebe3f6c71b8a", "description": "", "type": "SimpleScript" }, "scriptLanguage": "SimpleScriptLanguage" }, "value": { - "eb1b2666b5dfa6cdef13e3808bac4b795af8d83d7e941a8917c3a2be": { - "524f5bf1ecdf9286ce70e93fd56f3a5c082931f1e1": 2 - }, - "lovelace": 8654424267846601483 + "075339c290c1e7a1a5dada94caefcf7969479aaeaba5c0d4ff6f2435": { + "37": 882413287742415561 + } } }, - "0606060504020605050807030001080000070306040007080308050505000104#98": { - "address": "EqGAuA8vHnPFRpmfEG3ZBXncsUYPQUWzxRPY2VmkVhCxynwrN65JHKsnY3YzcRUpGqnvLfUjAvfn5hFvu6XSwBDc3bCS2n6BzFteD9kpic1qZTRheSbjH9c", + "0604070005000402070205000206080702070106030703040305060104050105#50": { + "address": "addr_test1zpf9hqur20cl7q5rz7s66eyscuqmvqf3raapapr6g7ctpm3a5n7hw4lxvfwsnpfsaflskuw8e8s9sgdn3e53zch6ujesecajcc", "datum": null, - "inlineDatum": { - "map": [] - }, - "inlineDatumhash": "d36a2619a672494604e11bb447cbcf5231e9f2ba25c2169177edc941bd50ad6c", + "datumhash": null, + "inlineDatum": null, "referenceScript": { "script": { - "cborHex": "484701000022200101", + "cborHex": "46450100002261", "description": "", "type": "PlutusScriptV2" }, "scriptLanguage": "PlutusScriptLanguage PlutusScriptV2" }, "value": { - "245d5a7a06fe18358242e81281cd5ba9e6abe4efc54e7b659f25abae": { - "668dfd1d941482372168733763d099241536010b": 1 + "2e12c5e499e0521b13837391beed1248a2e36117370662ee75918b56": { + "32": 2 }, - "lovelace": 3246191277994304218 + "lovelace": 8476516296251972946 } }, - "0801080303070402060204000508080708030201070700010200070401060700#94": { - "address": "addr_test1zqecjes74vwpkzp2x7rfk3fdktnzkjxux09w9sppwp0hesm0nhaeyzu7tqq50pqjtaredeqy6444kraekcyw4zjr2c9qwyzxxn", + "0607000500040004020108050002040203040603080603050700010803080807#51": { + "address": "addr_test1qqw4nx6fxtnv9wtck8x70jrr90wm8cv0m07z0r39rk0cv95wk5tnmz8a20m2vfllqs4nq6y0qsk4ntnnkm654x2fp88syrt5qd", "datum": null, "datumhash": null, "inlineDatum": null, "referenceScript": { "script": { - "cborHex": "82050d", + "cborHex": "8201848201818200581c4b7af79cedfeda2e37ef315a00faa5f7136d342b7ab48eb836eedf3b830302848200581c89c1e0ffa15814e93eeb0a3b35c44e40e9a4b89373ec10e9189412ce8200581cff30b4f4348dcd3c49b67866cae0affda2d4fda4af07f1e77f4945cd8200581cd408dc6d791c663037718121ef1d562d32aa3cdd79e5baa1ec3022d58202818200581c898140e3425a05e734df576728628b35520fe7d953b607ca2f483e73820183830300848200581ca77e27b8b3396b8093fc18e0c0b57cab9958e95f3c2f725e32c948cd8200581c0e8b6f2e72dd84ad7ea114eec177adcf741ed278661f0feea8f727838200581ce55a0d5d1904763694acf872d7b08da0dbfc85122a1518e2ea334ee88200581c090e839e05a6927006763357e0ba73aec86671d23c47c0511382386b8201848200581cdb2c38ee6215ffe6b86a549abc5d64f3870e386f03f52a7b90e283508200581c4db289b99b54276b03c296c9c4df022360845ea79cc83ec2d007a6268200581cca62566352674f04a4934b93df520a6a09351a0fdd07b5016ba933378200581cc11ca0dab572e054c48f3bf2417895bd877e8f5d466a347efa7f57a2830302828200581c8e9b65cf762e78f28a7f630cf2a9dd986c75c0c9b63eb146a4fd6d088200581cb07b74b3e668ba7cb7a078cffeaaf498de04b6709d1d91a6c0bcfb2c8202848200581cbadef0e767b213272ebab805af3ff84eecfe7804b543a33c391d20588200581c8ab7c904814036ab65e7d90688a35f7b42862c6d18490f1271efbbcd8200581c81fe9dbf4e35181881889f79f2626f2089def9d80c23c424831fe6d8830300838200581c13f0038e778fd4f4035b3f1dfcd8f8783b0d2e89a31033280ede97638200581cfeffab82571236f3812eec30742da583548a4c01923aba6c5e473ad38200581cab9d4559810632e59213f5412214f30516eb375f9658ca957c47e552", "description": "", "type": "SimpleScript" }, "scriptLanguage": "SimpleScriptLanguage" }, "value": { - "93736acb8262dc1c3ae14317e93b3267c4ab4312eff1d62e597885da": { - "b6843988c0c1448813c7ff9220f7a78716e4474aea3b5c1ff3": 1 + "63677b1966222f7a493586b0bb1a305ecf8e41936f540d8f3515ba15": { + "36": 1 + } + } + }, + "0700030308070702060608010801040603060204000302060707050704040100#8": { + "address": "addr1qx53q5xuzlvfzz7av7cp02pmaw66205adaj8kemqv4ymkpewqvw22m76ppm8ersv594ys85y0rewmw5gefp3u94r40vs0sk3f5", + "datum": null, + "datumhash": "f95d4ffb4330cdc741f05bf84e9cddb72daca754d584654f65584681fe6b6599", + "inlineDatum": null, + "referenceScript": { + "script": { + "cborHex": "820409", + "description": "", + "type": "SimpleScript" + }, + "scriptLanguage": "SimpleScriptLanguage" + }, + "value": { + "b0c53e2bf180858da4b64eb5598c5615bba7d723d2b604a83b7f9165": { + "e37aca1741b475b875e1b29859034779643379dee0217197": 1 + } + } + }, + "0704060607050500070404010507050000000302050301070601040801050608#56": { + "address": "addr1q98ldee8mtmv29pr5mnaffvrsd45sekzp56d00ggrtpkfw0k0suvhh8j8mnqkuhllgsu69rkhjfy8ehcmt2c3rz994uq4at3n7", + "datum": null, + "datumhash": "32d242cba4b2ec4f385a82fad53a8cfdda36256cb6621ae1a0b87792cec65d0d", + "inlineDatum": null, + "referenceScript": { + "script": { + "cborHex": "820507", + "description": "", + "type": "SimpleScript" }, - "lovelace": 7614645513867959951 + "scriptLanguage": "SimpleScriptLanguage" + }, + "value": { + "2e12c5e499e0521b13837391beed1248a2e36117370662ee75918b56": { + "b91ff6449b27598e589c194652e28772a3": 6120538665349664089 + } + } + }, + "0707030206020207030502010601050800000707020502000202070608030207#26": { + "address": "addr_test1zrhqt4pmux5wvaa9js8hglzn5q67wm6nfzak50j5gkhzfnk8j7z4fj7vm8vtlwz54y2sfmvpmahpgcxjpjgqsxqh252qu8c2zv", + "datum": null, + "datumhash": null, + "inlineDatum": null, + "referenceScript": { + "script": { + "cborHex": "830303838201808201838200581c82180346f824e91ce323f2dcf1e80ac6fd73c03a811ce60c42ec2f598200581cae9f037a0d39b66f325edfce8318544b0bb39c94cf85546c36d21e998202848200581c21f5a26298d26a6c54343eb1c6fe86a085d6e1b51c5095c5a78f66ec8200581ce74d4a3d641de268994212dab98bcb44bd1171b2f6df4428e5e848e18200581c0231989ea66f60616fe838e08e81bcc45be7dc36c0b0a1b21105d1268200581cc0d162cfe5d7f76dd24b383c990c964d618671b6325a076ec1d7c3f6820280", + "description": "", + "type": "SimpleScript" + }, + "scriptLanguage": "SimpleScriptLanguage" + }, + "value": { + "b0c53e2bf180858da4b64eb5598c5615bba7d723d2b604a83b7f9165": { + "32": 1 + } } } } }, { - "blueprintTx": { - "cborHex": "84b300d90102800dd90102838258200f0ebdc33428ad521c8b8aa8f7f195ea20992db8c333e3c8ce7f6c74b487c31f048258209cdb3e195892e4eb47537e72bf27c94304287cf81a1c8bcd5a599a54065d8ba908825820f08dc5afcda14b6c333c7577c6a2f2272c1678498144d87e27b4340378d9c89f0312d90102868258201503123de20389194a9346a112261ba96f19473f435a9a13ec952a769b7edf780682582059333eff4623efc83823f93a463c8ac93722dfefe6287eff553cd10900f99af80282582077d697babd28ffa3a35544272a9bb1e54f34e0156f6bd431583ca10521f5e52f068258208da68dcfabe2900989d441a764b1b32b29613e77a38b6a3bd4c4b4d29d15903f06825820a86883a2c8e960ab0ceffb0c8faa76cab0f9b9e90fe471e0e069ec6c7db0008205825820c7cb1d32ffa127102a29500ecd83e94902f4f22dc8856394ca6c1594a3f9788e03018010a400583910e2f49ffb2c7ab5ab5f523c287b8166228be6c5a155ccac6a180a04731e5338fe5bf50a017895a87dbfe3f7cc295b1245a455a8b0793cd19701821b1ede5358caf8de6ca1581c245d5a7a06fe18358242e81281cd5ba9e6abe4efc54e7b659f25abaea15819fd7e2d2d0d0dcbdf0ebc3bfecbb8fb0dd5537efcebc4537d021b18c1f80a61efd96b0282005820075b1a18903a0c6cfff6fa8e638ab1972e9c97f4b280fe13052a089c765b68b603d8184b8201484701000022200101111a00052010021a0004f4df030104d9010283830f8200581c002f125e6aa809f3985306e390f49fcb9c55fd797d9ef03ca5314ba982782468747470733a2f2f4c31774c4665794e6664647a754d614f4c506d4455784c382e636f6d5820b173419e62685fd8e93c9406879a5387d3622acc3512190713179133877ee89f8a03581ce88f5e16d968bbf28593764f2bc52b711a5f17d0690e283af6cb6de8582062b3c108e04fd9c2151569da15d8680ffb82a547b19a4084726a01176f18d3fc1923931a000dbbbcd81e821b00000efde7e04ed51b00002d79883d2000581df085cef165a8f1b389592e56a294788019f89d4eb31856e8e2030e4684d9010280838301f6764758455675453769694d6b7a36744177766b2e636f6d8202687548786f2e636f6d830106782979546d557653545050794852637636486748306c2d726d6b32434e313144784a7668395a6f2e636f6d826e68747470733a2f2f68542e636f6d45b9480a983884108201581c490a670b69bfb2e98cde85e9928ff6eb507b4b8c317c313b94ce10551a0007bf5a82782168747470733a2f2f7265756437574e684865616a414b4365746f744c302e636f6d5820ddb2376b424ea515714b8a4d327747a18e54c35fcd6fedf2aaea3f7a181b511805a1581df1720bba5bf48d4f75d2043e1c2297844fce43bc62844ac5c9a274d5b21a0006bbd108010ed9010286581c30206d5871280f276c2550d5f5cbedfd7c1fcdda8ad2ef8f3f8445e1581c395037f61a4603f27f04256dd3d2634b4b18914ff6379e313117bc15581c6ba69fe4104eb689ed857d06f3b2e4522e283246a2cc88e59627651f581c96fab0e64c05b7928eee98cc26b24c4c5da0e96eb9f7f658eb456be7581c9a95f736b54fd6a5c046f235f9bcd009839ca5915c0559dd3e42dd6e581cd51b51f1b1ecaf30d287a9a2ac9235b0b3ed2b2794a6171b4cd7ec8609a1581c8f461954fe2f18fee1dca233f358907e643ff839ed1f995e4bf325e3a14d5a78175dff42dea270e00f3a4c3b386953028127691f0b5820af6dfad6200ec9b343cb01875a4fdab4b8f8b224935e023e02c2c6c174f709c1075820c9b338fa17fc0832d8440113d307c11ffac06cd68ff737c4d32ee368995e169313a58201581c010e5c745c7e2146cad1543f48dda96583ffe195bcbb523102b306f7a28258209e438374ca75f3084874705190dd626ccf205eaa4602901e53c520128ab9fd6007820182783268747470733a2f2f52472e3365596d7135646e2d744e326437626c32546f4d6c2e36656d4e4362426467585558372e636f6d5820fa1b7aca7b61682efb82436536285fa2017c37eb93a134d793ecc95c0166a0af825820e637bede80fb2fdbdb75686852ce00ed7fec7a4f479a074100ff568fb7e2a734048201f68200581c442536bda4039766c62bf4c776f15ed023e727221a7634ac84337dc8a482582018239e6f302cc3024dd8bba29fc94615853133926acf893dbf66802e8b29b89c01820282782568747470733a2f2f6b706d366c3556536562647335577831544377716c6f596e5a2e636f6d58208310ef29a5090048fa08c461af9f6713b8bc586c8c39e2136eade4d087b8be718258201b3f5484d37acb1d91b51b1437299cdd8cb2a3b59b53e37b02fd8547b7f8ba2204820182782268747470733a2f2f323574374b756c6f3830664c4d31534d3137325162412e636f6d5820230b68eb429d02a88e7fbce105780286c651bfa5df48021f7a0bfbb583535e918258206cd3f1f4044804e527f0002b23de5c7fb0daee9f350ec417e23466723f2cca2306820182782068747470733a2f2f59362e5644713975616354316757752d6f4772362e636f6d582003af398d8c42caab16f5c9f52e0c7ec6a3393169ea65c9d22834ef036fa2730d825820c87c1d05df24a6a76d3d3ca1cf5edbc6bec7fb18c0ca676a764b0877ab476b2b03820282782f68747470733a2f2f6d6c532e472d4c6d48373133386475676a725833303732705a46627066476a546d35492e636f6d58202adbb99c82fe002abca9e99a4050cc97112bd97f24dee75c107ceab0062efd988200581c5109f20965195e38609a7cb8720ce3116941cc2c4dcda34fa987d425a2825820e670709aa05f97fcd312dca489f6be33c6191ee114d4fb7b674e432e9cf1503e02820182782668747470733a2f2f4f47523738635a75687844614f2d6c69642d686365536444694c2e636f6d58202feea6360a4a80bb922935c11f78339173d3739310c0c9e94389d7b85d9c068e825820f3ff48573d6e59df3d16a4b2f2f68a967430a77e0778b669b0302ebddd505a1401820182782a68747470733a2f2f784b4143724145792e332e536563356b3554554b386e664471434265302d2e636f6d5820dbcb295c3de70e808dc214e0aee54d8e42bd4ff26d752c182b6a30a4d86ed5048203581c2b44526b2881a003f5e70dae896493b45707697dba2552991b00a258a5825820375419a985d13032183922a56db1ea98370b3b6359d487d0d192edfc8d08c4f2068201827268747470733a2f2f2d656969722e2e636f6d5820e718b0d05f3d9e3377be7ed20a0d9b99603e9078b8e159d9e8be5747f93af2be82582044b8d6459814f37c5565a3a643ef833aa0dedcaa9089c25a9aa1f716ad9d7cc208820282783868747470733a2f2f36654b4b64456f57332d79784c733661352e4555534c353665454e326848627354436e5352695068466b6c302e636f6d58203782e71ea86c3511617272dec10f3adce5870f35af6087120bd9bb53b5437fd482582059c1725ae55cb776ae0d499aec153782a9ffa701ccdae40b226bff1328e27323018200827368747470733a2f2f474231367777452e636f6d582060a681e1313f17e77f478e165ac2741f86b0e4eddc07cd4ec3cd61765e191e2d825820d6fc3d47efce07acd8eeb992b55ca43dd167aa88ddc5438e3922def62172d7b006820082782068747470733a2f2f687773712d686d31314e795178545977776842382e636f6d5820c1d561797859e12dfd1bb52462e97264d35bee57a6bdce454faf0f995a2a2240825820e912239c33ef5982fb39e4bb08c0baa9436dd51eaf764c71eee9475388ac130d008202f68203581c6d38e72459126c02cdc3ac45f49c061aa8d82225872bc38fd974d6a9a1825820e595568f3c0ea01bfc84fd0cebccd2b222de851499f1c131738dd99906dd796400820282783968747470733a2f2f3163597176796a5637713746562e6a6469425263777a4570395836717958326a4c4f67506a384a64525565332d2e636f6d582014f0b4776328d0c59393c147b83d09f6de15c33018060e60fb26529825591ef214d9010281841a00088eb6581de0f7198acef90cb479ac38813a0f592baae1f6a2776df85f753f53c4b483018258209dca3ba0bb7aec058a410f52d309becd4a637640d600d5ea50d3f07088b5ec020482060382782868747470733a2f2f66444450676e2e7a54796879323763494571333476774f5a693146552e636f6d582022a902106f790e1783b35093ebb371e3d8213b324867eb13cae1425ee5820906151a0005215d161a000b6455a500d901028682582081e2068a5835f839b4ace9da9082861fb0358c26b400a4ffc63c8b56ef2340145840b55c0e7b2b52cb1d81468184318ce9368f48082917832cd3f4d5a085971deb505189720cb76a4c6745968d22824e5bee6725156cdd9d3e44363832ac4d4af4b9825820a756cb75ca2e4f6fe3563ec072ca8f4bdc16fdd4b3f6caa018be7a90f349d2de5840f8f76daa845147988eee54e3c565ef9d27cdc8866658afaf9a79f898369602b2d37ff745dc9196afae61bc01152e488778f5f8282a5f0cdbc8a57b3746de1fe28258203ea974a8440b0375a3f767ef9a14e8e5fc82d55466a8e662e081a294a59eae1158406cd90a088441ae6ac7b2ec4e667446277995476c143c9b95b788ce2ce3423d4c4de0ce949a05c04189b709f80fac85d9d83a2ce30289ba82479d89a783c84573825820843275630095133aa3ce1060a5d1f3fefc6f690a4f33482ccfabcf71d26fef085840c4f062feb07354bf7bd0c09ebc30ac8c409a356c26c860c99231ba63cc9b2e3b5cca3dec07e08e43728b57fa6eb9cd01f6de806f2fed2fbb1660bd791fcc213e82582030c4177860e440cd1d97cadd2a725c62a57ba7c79781cc1da95a04f84fd2d72e58409ab39c08138014aa3a178a9f6cc23d3e00c3435f5ff586fb47891580e59ea5d5057e3297ca3fea304acea19486bf91cc7e6dafa0a9c5a6bde7496f1135b980cb82582081c5263d6d849dd90daf7a6a7256316f43a74a4cced8f90f92cd5d1068620b2f58408040fbfeefa46f924d89e3aeed664e9b32fa4e33fc64e8702e28fad2cbc8552d36aeafa31b279624e1196eecf8db4b978af8c5e823659a85b1ed9a6d45002ba202d90102818458207b82be2d55c7ad3dc73572fceb456d180d7007a8f67748d5b01578cb59aa3b4d584038764c7d755023bbda5f5d7d9891c002536fc128a33bdcfdba24f0b94748a11290328256ab14213c283adcd83e299f0507c17f6fc3c266b5d802c3a855847397414042040501d90102848200581c4e68849b4ab960c7da8e444be5923aa5210de846ca3d12a307576b59830303848200581cb462c04c23049c9b022813dbfeff7175a16844236d7f5db1749d61438201828202828200581c0b0db9851928eaece3ebc6dfd0d349f31ee9e477fc9022677e4395278200581c86c2f239767091e3854811f20d930bd67076c6f98cbb794b853685e08200581c216babf884607ddff93df86c7e36852f3e6366aaa7cc7d88dee84996830300848202808202848200581ccf4e7cb932469dbe1a0dbda4a5b309856da7d288755820397b4fc8698200581ca5935eca8a0cbbeb31c7c5a6cd4322f8b385ae58aed81c498bfbb2cc8200581c8314f78deef68a9b0445a38ea494661534df2ea4ce148888b762f55e8200581cd5a8dccf4492fc18f78bf8c332a76d9a872efc0aa09d879e4d2b05698200581cb6727fb0649f2a80b3820382ce3328d93e1d9b5ca8053941c7422ed1830300808202818201808205028201838200581c678c3d982742bb4a4b978be6e7ec7c957bde2a0243f4eecb1c3cee9b8200581c23a8331f7294855fd5691b6b33da4328c3b69d5154a072e295c8f8c08202828200581c8bad68ff14c850fb53aba4881bfca985e7beb477940f9d626c9ae3a68202828200581cb4256b90a27656584812bf60dbd44eae693a3a6c1351118314fca9a98200581c01d805b0757b058d4f84a219dc325890be224f6cc45941d4fdb7fe2004d90102814005a28201018220821b4c1c3bcd642da3441b1b87d861c4cb763682030182a5809fa142d2aa43acd02200d87c9f44fa566d4342768effa4200544e8b084e902214418c3b7f7204042c861ff9f40ffa402249f43996ebf4130415022ff049f4415205dc144fd3d66ac24430c63cf20ff8001d8799f44dbf41e96ff0122a220429ffcd87c9f0043cd1f7540ff400042f57203821b77264cfd4833f0bd1b17c6aa0ff5e549e4f5f6", - "description": "", - "txId": "3ed7897db565ea6f70440ed7cdb71a6a3202d87bdaed853fd38286bebce55f06", - "type": "Witnessed Tx ConwayEra" - }, + "deadline": "1864-05-15T22:15:31.836991896285Z", "utxo": { - "0104040004080107000008020302070605000505050201000702070400010604#39": { - "address": "addr1qxtlf7u9820ckwskftk98r7tn7wnv29rpneam652hr3flrh8zry33t2kpwml354jpfmuzw6yc7j6hsp6d4vdv6reqm7qvyceng", + "0201060205030202040308000207030706000501060705000807040105080008#46": { + "address": "2RhQhCGqYPDnVsHqNioQnpEi8GeJEbUPsEh4chWSWPb2KSbBNNApYnxJZgSGUCd5zmPxTRqV3zDnhogbNFojD6zCRrrPWra2Fv1EF93tiRq9eq", + "datum": null, + "datumhash": "4ac424d23509fe0119f7437828003009967beaa4f1e2e4b1cdc09988f0ee7885", + "inlineDatum": null, + "referenceScript": null, + "value": { + "4d50a11e297e7783383bf06dd6e4e481230323bd96cd8b8d9ee3888d": { + "ec1c92ae43b4d4a0614ac74b496ca42f4618de5a": 2460128481958235205 + }, + "lovelace": 2482516216452545858 + } + }, + "0308010806030802040502050406000000050400070200050407040806000005#94": { + "address": "addr1z98d0nehqcy79lm2dc728c5yu7yvx0mzyp0u8rx2zwrkhlucvsae98nnu7q4wv9ysvrdne3y6pqkyvecgtec4lg0awsshlvtuk", + "datum": null, + "inlineDatum": { + "bytes": "c8" + }, + "inlineDatumhash": "7832cbe69fd94bda605618c0fb7d3c29fab207b5e9042b4d79b4b64bdc88ca4a", + "referenceScript": null, + "value": { + "245d5a7a06fe18358242e81281cd5ba9e6abe4efc54e7b659f25abae": { + "b661c42f573b8bc3a4": 1 + } + } + }, + "0605070103060408080702050507020504070300080607070302080403040800#87": { + "address": "addr_test1zr0hm2nut3ltl3l4t5fh67c48mwsa9j3cl8tpntgeg9u5p6xalrhs4egd8ykvv0z3424qz5ywxtsetdw4760wgz8c04sduhq8x", + "datum": null, + "inlineDatum": { + "bytes": "" + }, + "inlineDatumhash": "39df024ac52722fe8ae4c1a8740e4c5624a38c3820e504a059aae8728421f8bd", + "referenceScript": { + "script": { + "cborHex": "830300818200581cd818f4d5c0b06083276dcb6064359f757d2a8dc7bea3c61bbb7c9e0a", + "description": "", + "type": "SimpleScript" + }, + "scriptLanguage": "SimpleScriptLanguage" + }, + "value": { + "386b5d8dcfbf05fd0625a2305cdc4e43bbe952d430837a702c68875e": { + "35": 6275109680810325756 + } + } + }, + "0701010803030407060403010400030103050508000202040603010200060708#96": { + "address": "addr1x8aq9muzt89cy6dkz0t0thgwygmfdfzw8u8sdw7fn63sel2ps450lywmdd4rnkanng0h7kef67aa7wrpyan0rcxfu03sudl7lx", "datum": null, "inlineDatum": { "map": [ { "k": { - "constructor": 1, + "bytes": "47a7d8" + }, + "v": { + "constructor": 0, + "fields": [] + } + }, + { + "k": { + "bytes": "80" + }, + "v": { + "bytes": "" + } + }, + { + "k": { + "bytes": "f9e5" + }, + "v": { + "int": -2 + } + }, + { + "k": { + "int": 1 + }, + "v": { + "bytes": "1b503957" + } + }, + { + "k": { + "int": -1 + }, + "v": { + "constructor": 4, "fields": [ { - "bytes": "c5784e" + "int": -3 }, { - "map": [] + "constructor": 0, + "fields": [] }, { - "bytes": "a7" + "bytes": "c9d4fd" }, { "list": [ { - "bytes": "81c4fd" + "int": 0 }, { - "bytes": "d3473279" + "bytes": "73ca66" }, { - "bytes": "" - }, - { - "bytes": "1ef28eab" - }, - { - "bytes": "7579cdae" - } - ] - }, - { - "list": [ - { - "int": -1 + "int": 2 }, { - "int": 2 + "int": -3 }, { - "int": 2 + "bytes": "e4bcc6" } ] } ] + } + } + ] + }, + "inlineDatumhash": "46ff4a557a78a75ef31c0db51aa6eee31520b3b1b85a917c18c3ab7b5388f5b3", + "referenceScript": { + "script": { + "cborHex": "8202838201838200581cdce85b4e2761606db4833ff21c2daa641dd8d7acbb05bceb468366e0830304848200581c9267a34a94bb135c11650cebd8790f62e9aed07f51e6f4e316f2c9858200581cb1e15a83dafa878eb3a1df223c74032ee498f602a4e8626bc2f614f48200581c21a8789745fb842494091f997d90f819fe99eba84edd8999dac00f408200581c286bd4e89cf005a37317c2868b415c8c7f2c7c112eac187e88136efc8200581cb6a9cc2c7cae5dc09531a746cef82eac53a05cf145e6dcaaa9ad03478202808202828201848200581cc2d86785e7f3c2632da14cbcd82e40390e850b40fde5f36866d44f2f8200581c2fc1856e47f8e1f40aafd64e87543186e2a39b58a4cfd6f0c41eb1ab8200581ccf52ac5bc05f3f64feb92eba40247c94b702d3a1b208573e1fbf384c8200581c2dbad8f4ee2031c6fb1a796b5b8b4066ee64b5e906f9a9281d7c55288202838200581ca70b2115ce90d6b395050e57ca1ec69272b9d728b9c97a6c8e3139068200581c05b84487ebbe190d9e6c962de8206606b55a969956db44959633c0228200581c15aa0378adff6b938643ef7081692bb75a414e47ba71517e4d442da1", + "description": "", + "type": "SimpleScript" + }, + "scriptLanguage": "SimpleScriptLanguage" + }, + "value": { + "90207a61ca49b72884627e4f471a9dad025a45dd73e54786558fc08d": { + "7f11ff94e32837c73f054cf48cd1": 4795588801314026320 + }, + "lovelace": 3948083891193953851 + } + }, + "0701030005040404050504020102060707030502040806010807080200060008#75": { + "address": "2RhQhCGqYPDnGHAdev9oRgdqwE9sw3m4Hunf9CyD7auyrqMr4v4vEDysuSwpKkVCPYkyK2Ys4c6tSFcaYpVDMrVkdPDUMVsth4BABN4cJbYQT3", + "datum": null, + "inlineDatum": { + "bytes": "982e01cd" + }, + "inlineDatumhash": "5a0203a623f6186a1f64d8b651673210ab147f4d9d8569cab96692c7d740c25c", + "referenceScript": { + "script": { + "cborHex": "4746010000222601", + "description": "", + "type": "PlutusScriptV1" + }, + "scriptLanguage": "PlutusScriptLanguage PlutusScriptV1" + }, + "value": { + "731ea7dc150681ad7411506fb0c7376f6ac47d70895bbb56a8eb5897": { + "37": 1066114415307238743 + } + } + }, + "0808060102050607020001030301040404020303070604000801010105010204#37": { + "address": "addr_test1zp0wrvy30tvhvk2wyl936gwhhzwx4cmcyjlhkyd2shsrwc93hx6kne0a6530z5ceh6geehh6qw0gdgp0emfsmsgpvgnqlnxjtk", + "datum": null, + "inlineDatum": { + "list": [ + { + "int": 2 + }, + { + "bytes": "bb" + } + ] + }, + "inlineDatumhash": "624212759122ede14ced27f54a27b4e8195d35bad90bd0740ec6a4d4ccb6f29c", + "referenceScript": { + "script": { + "cborHex": "82050e", + "description": "", + "type": "SimpleScript" + }, + "scriptLanguage": "SimpleScriptLanguage" + }, + "value": { + "2e12c5e499e0521b13837391beed1248a2e36117370662ee75918b56": { + "388f2088258934ad9e0efe2bb72c505a328df2390a": 7849391601852768897 + } + } + } + } + }, + { + "deadline": "1864-05-10T00:38:44.595362047123Z", + "utxo": { + "0002030803080405040604050404050204000705010701010307030703060005#18": { + "address": "addr1y95rn8nk0dtmyzwm04h9y665xxu2wces3c8pwkneg2s6nrw72p432h83ycjrqt2el2sux7ryzlyhkgtyvxuvrsrhad4qnc4tfm", + "datum": null, + "inlineDatum": { + "int": 2 + }, + "inlineDatumhash": "bb30a42c1e62f0afda5f0a4e8a562f7a13a24cea00ee81917b86b89e801314aa", + "referenceScript": { + "script": { + "cborHex": "830300818200581cacf749ccc71ce56c95c0e7091e5f1469428cba45f3156b17c9e42a9f", + "description": "", + "type": "SimpleScript" + }, + "scriptLanguage": "SimpleScriptLanguage" + }, + "value": { + "467f58932b54910584a0e8ea25a225e06a14530b2e96e938c53a3f22": { + "285f": 8589619425341854871 + } + } + }, + "0307060304030708020204010607030708040400030100040100000107030702#93": { + "address": "addr1zynkp89wl97f82myl4h98cy7m353nvry2jfzyxqqeq77zmzvqdwazx6dhnxzu87v9ayvrdvqgjx2pc4asntfm3ty50jsqadmpa", + "datum": null, + "datumhash": "68365e803f3cfe43ad82af92cfb4bafbc48ecd9c831b87261a23c40ab9215483", + "inlineDatum": null, + "referenceScript": { + "script": { + "cborHex": "8200581c63126b45dd9fc0ae00902b902a01e3f7afdcb07def7df06610ba6fb2", + "description": "", + "type": "SimpleScript" + }, + "scriptLanguage": "SimpleScriptLanguage" + }, + "value": { + "b0c53e2bf180858da4b64eb5598c5615bba7d723d2b604a83b7f9165": { + "e4eab8ad27a658928851d0b75622": 1 + }, + "lovelace": 7006924694808758398 + } + }, + "0401060105030506020107070508000406050303070501070407000102040003#72": { + "address": "addr_test1zqfwaeucygam662mt4yaqu09xtk3tqkdgwnt2vc67evjm554fqwrkhnenhhge0huggtdeefn4enh2yrkujn0rfgv5ccq5md0s4", + "datum": null, + "datumhash": "8883925e83db692645748486e26ffc9ca08a73c647a50e2cd8627027fab16fd4", + "inlineDatum": null, + "referenceScript": { + "script": { + "cborHex": "830300848201818201848200581ca76f88e6fc79d698fd38a541b324aa8e9f4a64ee3a73965a9061fc498200581c4651ab6c8badcdbbb89de2e35048aca0301f265ddff01aa0f66345c78200581c93c29346eafd66c9266116bd6da7c26d84b210a2126245458d1ce5068200581ced3189bc7b63b6ca04dc3d5f5d3bb2fcb077d40015a0f2865f216380830303838200581c712659afcc9c66e3213459b881622083b93fbc5b6ab1266fd498f9648202818200581c30a9985fc913a3f35bab685874737af11e12e63aafa6101ff64e43c58202838200581c8b8dc5d2f9bc6ec452cba7ebe12e0cd846c4409f775275a609d4aa338200581c377f0eff5e44c3eaa31ee7dbee0b34f703f842d6da94c72a4cfc3fe98200581c4cbfd21d9f4da89376aed6cae51e83561046fcfaec485d81450dfa238200581c136ab4742b20c52da407d86142e4cc81b5cad91b09165ff53439ef368202838202828200581ce74e4f312724fcc9b7eb09aee3d888fd875839bd9d4dd02bb3a22e7e8200581c750c8c43ed797965391537a934e592cf75eeecbdecc8be4b54d2fbdd8201838200581c22a186249ccccdc661607c5424135cd319178bd57fe34830531778318200581c4ba3494f46e702d8b94bd802600a0c5659f44d2e0bc6ac7b670adca88200581c6a6c358c42036aff8b751a3a84ed283e738327efea7588b918e34cdf830300848200581cb1c7fafc1b2664af0c50ad5c5e5ec26af3031e08cedd24e523eb959b8200581c396df11dd54543bd8d48779aea0c59fea55f4fb25def0a368921452d8200581c43f769f8a5e30caaec45ca96ddf8a7ef13b3ffa3a1e1af9f8bb6cd448200581c11e31d9cf7b1c26c18f43dffb9efbef2266d101aa811fa0adad824c0", + "description": "", + "type": "SimpleScript" + }, + "scriptLanguage": "SimpleScriptLanguage" + }, + "value": { + "18b1a929d36643ea598598556a064c2f12f23e56ac7537a9bce271c9": { + "e00569ae9e6da8a0b067da1df082e51ebd1c0875a83e9a701b": 1 + } + } + }, + "0403080207010803070602040607050306050300030602030603040304010701#98": { + "address": "addr1xyp87knqkukktvkv6nxjckd3vc5d0r9dnjfh9jqc5n6p2kjw7z2ejqlmu4p3g9vu4tqh0mhl9z02m054c58uztq4dz9q786aaq", + "datum": null, + "inlineDatum": { + "map": [ + { + "k": { + "bytes": "d137fa" }, "v": { "list": [ { - "constructor": 2, - "fields": [ + "list": [ { - "int": 5 + "bytes": "2d6e19" }, { - "bytes": "" + "int": -1 }, { - "int": 3 + "bytes": "2ded" }, { "int": -2 - }, - { - "int": -4 } ] + } + ] + } + }, + { + "k": { + "int": -2 + }, + "v": { + "int": 2 + } + }, + { + "k": { + "map": [ + { + "k": { + "list": [ + { + "bytes": "" + }, + { + "int": 0 + }, + { + "bytes": "" + }, + { + "int": -1 + } + ] + }, + "v": { + "int": 1 + } }, { - "constructor": 3, - "fields": [] + "k": { + "int": -4 + }, + "v": { + "list": [ + { + "bytes": "9b3a" + } + ] + } }, { - "list": [ - { - "int": 3 - } - ] + "k": { + "bytes": "4aee" + }, + "v": { + "int": 4 + } + }, + { + "k": { + "list": [ + { + "bytes": "58" + }, + { + "bytes": "" + }, + { + "bytes": "40fb" + }, + { + "int": -1 + }, + { + "bytes": "6c4c9c21" + } + ] + }, + "v": { + "list": [] + } }, { - "bytes": "" + "k": { + "constructor": 4, + "fields": [ + { + "int": 0 + }, + { + "int": -3 + } + ] + }, + "v": { + "int": -2 + } } ] + }, + "v": { + "int": -1 } } ] }, - "inlineDatumhash": "9f48fbf6cd37a4e8064b2a43b4d21cbe8d5d4171c60090312ff8c51913b51aac", - "referenceScript": null, + "inlineDatumhash": "58a479b4f83d8d9f088a512b166bb47aea842ce77e9cb2db2c7c0f60eebbcbb7", + "referenceScript": { + "script": { + "cborHex": "83030080", + "description": "", + "type": "SimpleScript" + }, + "scriptLanguage": "SimpleScriptLanguage" + }, "value": { - "467f58932b54910584a0e8ea25a225e06a14530b2e96e938c53a3f22": { - "25ee015ca4873abd1f3904d24615108bbb0d35b03886821ad04c29c068005e": 1 + "105a8f1bb56444cacc86378c95421aceeb326b0fb7743e493eb82fd5": { + "e4394181d94911f266562f878a19dd2440c1246d": 1 }, - "lovelace": 4145387983801659660 + "lovelace": 1529079022031288052 } }, - "0502000001040804010003080508000408050500040303070807030506010806#68": { - "address": "addr_test1qqj005n7dp54e8n3nvav9zmya7hafy7kuf9364tnfghsvgkmej469lpgfajpey84f28kzs8tlzc5ueuynf0llxsvr9csgk52lf", + "0508010600050603070702070004070307000007030501030306030302020305#6": { + "address": "addr1wxr4gh7tr3nqmlyrl0qk6fv2w37fkhw9d4hjv65s5vzvryct2z56p", "datum": null, - "datumhash": "546acff4e8e10e9fc02fd523b960b8f9c4361bf9372e619ec64cb21897ecd7b1", + "datumhash": null, "inlineDatum": null, "referenceScript": { "script": { - "cborHex": "820410", + "cborHex": "820403", "description": "", "type": "SimpleScript" }, "scriptLanguage": "SimpleScriptLanguage" }, "value": { - "5c2ba8dddc41f2f6738801857701b97fb28ef4bcadea38c10e4802b8": { - "ae03481441": 1 + "245d5a7a06fe18358242e81281cd5ba9e6abe4efc54e7b659f25abae": { + "408c7845046cbc7aba2ce1": 3801704263346236588 }, - "lovelace": 6608460305079279018 + "lovelace": 6525150728764643976 } - } - } - }, - { - "0407050003080206040807030105050501060301060307030500040402070505#7": { - "address": "addr1y9y2hhruj8y7lkmpawrkrt0k2v5sdm5pw3x54qldnwg6kvrl6tz92mkcn0qkjjwcx6qqxzelxg9mlhns53f2tj3uyudqmacnxn", - "datum": null, - "datumhash": "497c7150780a1e5baf12c1f7c8f73efc0ed167fcdca647a12462186222749f58", - "inlineDatum": null, - "referenceScript": { - "script": { - "cborHex": "82040e", - "description": "", - "type": "SimpleScript" - }, - "scriptLanguage": "SimpleScriptLanguage" - }, - "value": { - "2d725128406dc832eb74c4709aca0512499b3c7b17e00d7cb2e6d1b1": { - "6956cc9c6bf7bb7e87512c14a864188c1f": 1 - } - } - }, - "0601010200040300060606010701030206000401020703010705080402040302#5": { - "address": "addr_test1yq4uscuu0wpztqjhy9wk0a5h39ru9lwzvwmdqlkwr5e554jqk74a244ecyyztr75kvr5h3v3le2jelkz39yhmykv4ekqhtcfld", - "datum": null, - "inlineDatum": { - "bytes": "a92f5b" }, - "inlineDatumhash": "26c8961d406db297bd8bb6e5765ee3465ebafd2278d443f486786c745dc71d47", - "referenceScript": { - "script": { - "cborHex": "8201818201818200581ceafe6c16e0d8146c71b78a9075a5d44a2f922b68a16d612fd33effdf", - "description": "", - "type": "SimpleScript" - }, - "scriptLanguage": "SimpleScriptLanguage" - }, - "value": { - "467f58932b54910584a0e8ea25a225e06a14530b2e96e938c53a3f22": { - "0065aef1fed35c4a3fa81229270c196f28318521ca66bcbda0695775714b64": 1 - }, - "lovelace": 652406937787202382 - } - }, - "0806070105010107040502060205080003080403080105080008080507050500#20": { - "address": "addr1zyrxpeuqcpptrwmaklk0m2zu4rpwszzr706ua96t0ua96wd2wdpcjhvjnwmf5f3v5g3gqdrz24vs2pw7yful3vl48zeqyhsmxh", - "datum": null, - "datumhash": "7d14691551865a01e3081e62108de7d7d85906d494181161c5fb6d2b08d145d6", - "inlineDatum": null, - "referenceScript": { - "script": { - "cborHex": "820410", - "description": "", - "type": "SimpleScript" - }, - "scriptLanguage": "SimpleScriptLanguage" - }, - "value": { - "105a8f1bb56444cacc86378c95421aceeb326b0fb7743e493eb82fd5": { - "35": 1 + "0603050201060505050104000103000308080401030400070106070001040607#64": { + "address": "addr_test1zqwud4qr90z0cuuy4jl7ava0r0xvalw0z7lanwmkh040nsyyn5s78pdedwk2p33wc6tvwz0jz02z69rez6emdt094m8qrre233", + "datum": null, + "inlineDatum": { + "int": 5 }, - "lovelace": 805864804382393149 + "inlineDatumhash": "fb3d635c7cb573d1b9e9bff4a64ab4f25190d29b6fd8db94c605a218a23fa9ad", + "referenceScript": null, + "value": { + "467f58932b54910584a0e8ea25a225e06a14530b2e96e938c53a3f22": { + "6f0881f02839114a20705cbc55": 1 + } + } } } }, { - "0007070008080206030707070505070000070603060506030200080600000607#17": { - "address": "addr_test12qhd38zst22ttzvcuefk7ynfzakfavehkt4mkh5e2t79hjcqq5zs342nex", - "datum": null, - "datumhash": "f0b48c6abfed1f87778171efb682d70adf0dcc4f16981618212dc7b1008816d5", - "inlineDatum": null, - "referenceScript": { - "script": { - "cborHex": "830300838200581c4a4f0735cd589ffb03098cbc2efb440b03cebd1102ad121d863198668202828200581c901797806c98b1c9dac0e3199d0daf9d8861143ac6997426cafceab4830304848200581c978a59c5edb8b76e294e3be4d81cb37739ddc47200313522fb73eb498200581c18111c460dda7d23ba913c73cf6cdb7c9b8dfdb0ae6df9ab5918af5d8200581caae6ac129a9079d93cfb1e855a7d1554285c60a4a0b4af2c339dd96e8200581c04820aeba9d9c4f37227a879679df58eac1c6c73d10814791a4aca908201828201818200581c4c7ac84b364cd86b6c6498a2bf7f77d57891b00a6dd58e38d316dde2820180", - "description": "", - "type": "SimpleScript" - }, - "scriptLanguage": "SimpleScriptLanguage" - }, - "value": { - "80bb73f9aa3737baf18e04f98615da08689beb72959083577b7d1096": { - "6a1b33553de32131bd1d243b8a133cafd61a5dbd66c48095641fedd397ad2ba1": 541483923734765117 - }, - "lovelace": 6013844953660462286 - } - }, - "0008010504050207030603040103010607080208070304080605010003080104#97": { - "address": "addr1gxp8v0tet683fr2y2f762gl9u3m5hzgu0sme9xn52xe8wzcqqqps2x5627", - "datum": null, - "datumhash": "a54fe81a2a35473c6342cdb0d4f01236edf3beebde96114a3923ec2112261108", - "inlineDatum": null, - "referenceScript": { - "script": { - "cborHex": "820180", - "description": "", - "type": "SimpleScript" - }, - "scriptLanguage": "SimpleScriptLanguage" - }, - "value": { - "8f461954fe2f18fee1dca233f358907e643ff839ed1f995e4bf325e3": { - "275f45932798ce5efa95165944d8719a88fb363d19": 1 - }, - "lovelace": 5891504935445925456 - } - }, - "0602020603000300010006000007000604010402030408000304000808000702#13": { - "address": "addr1y8n85alegssa800zmewwayrf5lalzg3k85yx63n256xkkv3802h9a50f2efqstvvqcv6804d5uxnjxl5gytvhd5f3gqsjs5hw8", - "datum": null, - "inlineDatum": { - "int": 4 - }, - "inlineDatumhash": "642206314f534b29ad297d82440a5f9f210e30ca5ced805a587ca402de927342", - "referenceScript": { - "script": { - "cborHex": "484701000022200101", - "description": "", - "type": "PlutusScriptV3" + "deadline": "1864-05-08T07:04:35.865867339023Z", + "utxo": { + "0305040406070402040206010000010202050604050507020400020304010403#87": { + "address": "addr1xyje3ctx9scfvfvuajp45quwysdvja432yg2x5ltd5ycnct5e5wpcdslceh74szxkh5fnejra3j5ruvu05025uxysj4qvwtwdh", + "datum": null, + "datumhash": "6ba1b742e63026d28b0699ced6f80f88d109e03beaf56fbd97889b6f6e133cc7", + "inlineDatum": null, + "referenceScript": { + "script": { + "cborHex": "82040e", + "description": "", + "type": "SimpleScript" + }, + "scriptLanguage": "SimpleScriptLanguage" }, - "scriptLanguage": "PlutusScriptLanguage PlutusScriptV3" + "value": { + "4d50a11e297e7783383bf06dd6e4e481230323bd96cd8b8d9ee3888d": { + "37": 2 + }, + "lovelace": 8913539008559505056 + } }, - "value": { - "89d71eac891f370e7b2087d021323f19641b431b65aff9d5d354bda6": { - "f888e339b2649a79f47697777636441c10f0c54bfb": 1 - }, - "lovelace": 6033340349087812759 - } - } - }, - { - "blueprintTx": { - "cborHex": "84b000d90102818258204aed3e9af02b1a390a902738c98321cbfc58e90cd7706c1c9a29716310e8d0b0030dd90102868258207053c1d970449fcecf2b7c8591ae8b92d8a84ebd251f48b081d81c92e7603f16028258207959395068763d19b8b8d899b17431d27e4c0dacef5b4459e8575c77e30c16e104825820c2e9657f40fbe21ba519f0a16408af65aed2ddb12e1419d4407ea8175979345d07825820c751722139d43af4c3a4f7d1587531046631b0aa4cc4f65ce0cc303a038dc75a06825820e16a2bff99aabc86ff2f6808e4eaa3826dce8b1597fc78ca6e49300051eaebd403825820ea59de35ee52900506a0136ee1754c3c48dcfdc94c32192f072d316f2ed513ee0012d9010283825820352ba5929cd0c94213a28918cc2641534242fbce8494d599995683ed9e6751b80782582089642f59b03e186248d0fd7afa632c43b7bdaf46eee0906163b5d9aeec3c1a5503825820e7ea765897f604a56ebbac22eac214a60ce1a161aa8746c91b5f3a333bed2eb4000182a40058393042cc5e9e41b7736d2597c1a842f0acfdb139dea445761590e56e2675784fefef61afb8369a6644dbdd57d3c0e147ccb495d312daf408637401821b60b67e581087ed99a1581c602c36210a55aa3e4f63257bcda7419ce42840afec4d83a70af007cea141371b6079c9117e46184b028201d818414003d8185901168200820182830300818201838200581c36b3210fe55870f6399fd14148d88d81d25600e1144cbe26c0dde5d78200581c94047eaa473063da182b0d2443298281e9ec33c8b0d86ce79b75d4e98200581c86ce0a63a660d5f1e2fa0ddc923f209d29a5e667fca827a0695b748b820183830300828200581c7c85103ef524a4e517e4285f74159b105bb3253dcbbdc2f530b7eda08200581cf3077ce2251a30c1e0f9b4c44be700ff2e783a296a9c609d88d76d038200581c17f77274f2da27e2c943cba3040b8d4205cf51a504a8ac3a0de097e78201828200581c242fe7c5c67adbbe9b9e744ab522b6080a8aa069ff4060f682d3a2fd8200581c643e71d1976f0a73829da4b277339bcbbdf9eb84b69881a4e7853acca3005839010394bb04ea2e6697b65ea0c74287cdf3fd29047295e31eb3c4ca149fc6644fb1251aeb5cca30bbfd9c45474a292878e63202c72e121bf1ea018200a1581c8f9bde263e47f64da5d9fb9a197f64858df01b3b0205e2c6bbdc76a0a141321b215832b667aae74b03d818582282008200581c6a3f1a5088ffbb7145d88b714229e20dbf174ed04102161282bee6d410a30058392053cabf60156a6e24dfdeabe4811d2fd926e518141b3b519b1a195396de462f984f477c515ea65695bf94ef79f8557d3bae63e663a7eafff501821b39713d137e3abd74a1581c4d50a11e297e7783383bf06dd6e4e481230323bd96cd8b8d9ee3888da1581bb59404834f24105e84e94292eec5332c8679f4f46aa0b3642920ca0203d818590164820083030084830301838201828200581cbc931d8a9de26f15d9d1f89eb968e2742876c5cb813f47b2c84fdc868200581cdba0615411dfd0a79e36af22866a63ca0984d310fde247a8e072c2268201838200581ceeed5f5f2d79735b0a21bef28efae88dd5bb66e82136787b5d57769d8200581c90bdffe21cdfa62618f30f4eb4bce771cc6b7e66c6cff799dbc1b5cc8200581c70256275ef7c1dcfa8b3a9424a54cb335b9a2507bd90fe7888e908708200581cabb8a57e4446d01eb1dd048ee8dc6dab089333a31ed5579529092c5883030080820183830301818200581c5b02aabae6d316a873b0b064e4d333562859e9235e564fd9b61e36db8201818200581cfa56b1327ecde33c06db9aa814fdd1f4090fcd5f595bcfc52c8298b48201828200581c63dce0d6e14e90bd45456bfa5d44cd90b3fe02c984937595cb0800958200581c1b33540edd9a848be876ac14c825953a082cdd4d66491007e8687ab7820180111a000dcb45021a0003f3ce04d901028583088201581c5cf587dd08b33fa157a56c30026879597e4c6703c413f4ca7db0fd9419e94383118201581cf431ff144d94f28c78f5eb84f573b4508c607731cc8ddf98f99b4deb1a000a7d1e82008200581c2cf5d6c40c8b05c01a920d8493cbf6fce7d8d6ec502cae9b9158efa783088200581c0e94830a9f0af0d3e8d2354a406b69916d5cdad1c635b79ee5d22c7c1a000b1555830e8200581c1fd94f37e0489e32460b7612d7be7bd798fd1abc68fa72c8db3933fd8201581cb7cb5eed1c3d1b12ca7849ac6dac9178dee399d16b74259e99e1ecb605a5581df072052fa0f66abf0a01a43db59e53ba0fdd46daf3aeafe41fe0c7dbcc1a0008beff581de051d5489080aafe18d6bd4733e965cae8059518e84b592b87e00419be1a000af4d1581de156f154ac05a552cba0a40b441e5cb95ad408514fc0a423c91edc8d711a0003bbf3581de173a3e3fe40f48a192004b3e1ba027dea0887bb0ec353987bf09e688a1a000f1b70581de18f3c02e049eae7fbbda2e36d59dd70cbd70000e9b659c968ad0daa921a000f05730ed9010283581c4014c4c0ac09167403efa220c542978a5cc0cba8c3d681d0426288fe581c8085288b958371e4d5b2a313b3130ed121156cbd7860a2c424cc21da581c869997fa8e0afd1d9ff26877fb17f722f6be9b62678462e30179582809a1581cb0c53e2bf180858da4b64eb5598c5615bba7d723d2b604a83b7f9165a14485b92fe53b04a7a72243ff521d0b5820ee76fb4ee41e4256ec12a02aad1e469540e4fca17edfce34d9ae0fb98653bf7f0f0113a38200581c1057604bd7c66a164ad5c5dd8d89898d0a9c0b597a0b92e005486ef0a582582055081e410e010b1f04c65858742e4111be3426f08999d554569e9aecec3b5c0208820082783768747470733a2f2f7044316b452e6b57577030597730527055714633555348507331394f594772566a414d7a706774582e77792e636f6d58206415a73b2ef3dbafb0f637096c414846a8a2e1b84cc14d57c08f61c53a552ca78258208ae59281fb6c4f51c86f9d2ed2034974e7a4ff27916211d43f5732fe1093ffa103820082781f68747470733a2f2f31547470674b6d327149575a3536765648734e2e636f6d5820a320e335a2a25a86d90ed9bae558d5e7904e865bf3dd58c41b6377ae8bc99f1e825820928539dd343b335cb9ed13877495a43772a9af6b12d6f9d3a5bf2a3e7cd2037f008200f682582093c69b734db066b32dcb3fa82ff6384ed0ad3ec825b86fc85cbd4c6153ef7b31008200f6825820fb1820d6fb76a60143f2aca7801ab1c9cf23fc1669180a7ddeaec970f3aa57e806820082783468747470733a2f2f4943334949506364674a4978667273704e716d6a69625478716571474e6f5761516e4e34646178772e636f6d58209dc0cc4f02965f831af72bb935f04f181f672c0fce8d7b31042b4d599c6f3be28203581c3b46454951c2a1a46ab0c83a719744e9c19a636d024fa60336b64240a48258205439f2319f20f4c476ab97383c75f1d404cf8422f76c256cdf3f417b53ffac0d08820082781868747470733a2f2f73494d6830534f45715476612e636f6d582047cf09f363a2929c8e82d5e77b6ab96012eabcb8c5c5ee1e050bda927291303482582054b048b170883a2372e03ecf43f5a3fb23442a33774954f625deb707143cc6d7048200f682582056ce1e0385237ccdc4b4bbf3292b39c62833695cfc1b8556a0772cd1ca52041e048201826f68747470733a2f2f6641312e636f6d58201e280007357f4fe9041f304a7cfd475422ec0efc325dbfe94120b2d94b6196b28258207b7532ee5f9e0a8bf7bc446dd780b2c8d320c212fdbcabdcfa9ef7552084b80d058201f68203581cb1441466360c883ed060571dc2e4ad22e0162b619928527f3b0a2465a48258200244a1a0700828fd2528e91c9fd86206fa4ce864cbf881e4160a8de63f7addb1028201f68258201d4ec270ce0dae6c1635e0335e3d00398b9fb9a57855302208b0957d6b78496300820182781968747470733a2f2f6f474c624a306677344b48505a2e636f6d58203e7ccd4fd9c88f39e7cd21f01644c5154c285103de580391b6c38cc685f7a8408258207b1ab35cbdeae60cc62b740d897c42f31e63b348fb926f87e54615f045df1b3304820282783068747470733a2f2f4d2e7974727264784c505058797566412d4c716a7376536d596b785448495234655a637a2e636f6d5820003dfade9b94842de6cefe0c0038d54ba4ed083cfcbeee8c398e471ea83441808258209c272c79904d0ebfdb3f34ee87b049294c9a814acf08d6484650bccdd20d651200820282783a68747470733a2f2f37374a6a4f5157743261414230357670744932425877504a43684f484e31627772562d7967336e6e307666566b772e636f6d58202308629e6169112857732d88feb887e54398c9fe3a55f5a067483715a0dadcb515197e67161a000e1f2ba300d90102868258205625e76d043c4af1102c6142beb3734d6c340d23c5678cecf0f29bfafcee3551584007198de2296c7ed701b3cefbbffa2e99c71f13724c887d6d80736936dd038c9f062f89841785ff0eb1133b734473b444b8b8b90b39de6cc6d6a6095cdc4a802682582003bc4994bb7f9044ef284713ee10292c293a837b1fcea2138053ddf996fced0a58406537732a7a0600db11b32bd7107f41a422a485b971fab98a58207e16b1cff2d56c46fb6ea9f658b9d9dcbbe31532c9a058c8a51a48ad736c6867fd7f0830a7548258205546945926e3e6358d848a10d4ff5ba6866f2d0dc69cb056dc7f968de8fac53658404a0f1d9eb25261be390f9db9031030df7ef0d59c626b9fddf0c6d9b858041e38699887386f7b733eb53f953765193c7f7fea0a926a477a6a489671bd52f72e3882582008e16d6c099042b12a245042827baeefe3e3457b2e2c1cad901c16bf554f988f584058f44f9b95252fb34e653c805fd5635e912ca1ae5659f97b0f5a519807614f728416188c989443745c70ec0566390f1cc208705b71f7478ba4be15b5d1abd08c8258205ed0747400357824c9f2af2172a258ef513201ce32f66e6517dc1649616a05595840991cd58703d05aa8ca380615096c6017e239d6b4cbdfe099a1c682d293d166c73a8af894e03900ca67212277f795336d39c1b9d11317adb8bded6449b7f1db5c825820c48cd9257d113927b4509b1b673c389159fbd1ce8ea8f3c96a281dbe76ef970b5840e35defc19cc1d74454512678086850fbb14f3b19c2cabc2e7c45c9d0cc6e49f3bc5fc03db4a95e132f5593a4335b3efabfff4e2aa0fc947ee8a89a4d57b6677e02d90102868458208a4fdbb106a7ed7213a69571a159018e3cc78cf71f4caea487786ad2907b39ad58402b21c65ebd26236ac68169aef0a4b2da61b017a6ad31fd6cc174a4d2205f3f0f065a36939bc065fec20c3c8aead5254e5fdbed8c907e86603b3861b926f944bf42dcbf4416255de48458208f4f10013e6a39474bebfde6573a79279442c37a78a796294cd9eb387128a07d5840b8cddbc490e04712ed28ce23fad207b07ce555976b3557ca103bfdaf1635429385f4a5c8ecdab5ba38f6dd48c2001c8869705e97c5675e8580c71d33c7bd7bc843fb85174572ca024016845820a8bc28f4b4b0b4a2b112ea2375a867eeb2ace4236471de1f5c10c30565c0cc3d5840fa749abd41c76d46572e435de9b9995279042d4b9e1e52b453253eddf06cc9350d74f5803aef22b7642e70bd1bf608ddf9a2b76e1f52217a0e02622d5f9564a043179cdb43311d6784582043906c959d72b31749795da96c6501cf34d62a0127484d1766bdab5a201ca17b5840fd33c4b729fc4cc24112b542a95bcdcd73654ea34508a56181f26d53ae3a3ff1191b0687227339f6880f785294a2e8eb059e61e01972378fbcaaf71e0044646742719844b2841e818458209755ed39a7305a1794c1f67f8185055a747c1ede89761f6fc1464aa3e6f759695840166f5cecbc363ab0ec6b3596c0a956ee7be05e383f9e2cc97fe8a8d13e801b68d355fe05d1cd16d6e1550943577284ec8dfc1daaed8a1584d8764f0ae14c5713414143b57b1484582065f946ff05605295090c879f306bced77410d96c6e7bac91fad193c97dd0c8bc584065e99d5360ed0cc273c8b410511070f3e196b93439c9bb012ebe5c5658841fc754951063b5dbbb17c7162eafe1d72aaa01b460e7dea99d23c586ab3caa37e06341234005a68200078222821b4c89ff09a38c49cc1b77248e0fa83f3ad182040082d87c9f204355edf9a0ff821b753aae53b9eb569c1b6ca6282c19d8713082040282a200219fd87c80ff9f41734403d893eda3427c2d04000141df21d87e9f44375afd05ffff821b3cd361ac245d11801b55a52f563cc2e0bb8204048243b0f369821b2f1871893ba406261b2b71135bd30f2c7782050282a3d87e9f029f0203ffa241ea222141c541319f0342406dffffd87a9f9f05414e40ffa343460f5843d7c2220104440450b17621412b9f424c2223404291e6431615b4ff04ff42e6524165a2049f2242f68101ffa2040440038080821b69a26dd35b834aab1b5f16b0f9579b876a82050882d87a9f039fd87b9f04410840ff43e20ae9ffd87b9f414200a440434b972c4041aa4000433eda90020543527ee4ff40ff821b771cd6025e16bf6d1b04ec1e07f086b828f4f6", - "description": "", - "txId": "44a7fad0d9ee43a9bf99132168fadb9ee50b7e83583b115d65a1b05dd3d889e4", - "type": "Witnessed Tx ConwayEra" - }, - "utxo": { - "0200020804050001060801080000080100030007010200020502070504000701#61": { - "address": "addr1q9armtz6xuty4qe4yp5rdvxhgk65f6x4pst4n5jyv5ktcjh9t5vdp6drmxsgrdffe0mls9p4xty26mr76828zr42wl4squ6kj2", + "0606030004000605010305020206050007070601050705020808060604030302#3": { + "address": "addr_test1xrkss85u5zrgdr2cm6f4manzaugm5nf9zendckkmy0znfxw34fpghujkelyyz9ac8nnptfjrss9gdpgt7dg3ypznmp6qws6lxq", "datum": null, "inlineDatum": { - "constructor": 5, - "fields": [ - { - "bytes": "9ee5" - }, - { - "int": -4 - }, - { - "list": [] - } - ] + "list": [] }, - "inlineDatumhash": "f0474c50f20d2b1f098bb200396fdc728e762086318841f8ea45ad371bf87308", + "inlineDatumhash": "45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0", "referenceScript": { "script": { - "cborHex": "83030080", + "cborHex": "82050b", "description": "", "type": "SimpleScript" }, "scriptLanguage": "SimpleScriptLanguage" }, "value": { - "80779231100a86f11e52a2ead8b6a3728e1ee83ad5616b73c2c44d7f": { - "1e6449343be59abf8cf8e62018a36d399b1138b4867d885b79420c1ae0e196": 9107699903008126566 - }, - "lovelace": 2201777191029839687 + "6558855b91ca2cdbbc09596982848a013a290bf9100d2d4925a4e60e": { + "38": 7646855686980560546 + } } }, - "0506080202010401060501070303080406080500080603030007050402020608#71": { - "address": "addr1qxtlenft2c3j8mrw5rhjnwy6n52h7939etgqceu6rhu3f0v7eu37ux0zj7eef4nen8wyt7wf9x6q0gjvqn0s4mve4e7qcxau5t", + "0608040106030807050704020701080004000108010300060608050401020401#10": { + "address": "Ae2tdPwUPEYzdqQk1mEdamvRdTbUYdbrV7WKLzn7TZ9AfLU7A4YxxSnowmq", "datum": null, "inlineDatum": { - "int": -4 + "int": 1 }, - "inlineDatumhash": "2208e439244a1d0ef238352e3693098aba9de9dd0154f9056551636c8ed15dc1", + "inlineDatumhash": "ee155ace9c40292074cb6aff8c9ccdd273c81648ff1149ef36bcea6ebb8a3e25", "referenceScript": { "script": { - "cborHex": "820402", + "cborHex": "8200581c199dc2f68dae3ddd771ac903273c9f2ec51cde727c7d58723fcbc558", "description": "", "type": "SimpleScript" }, "scriptLanguage": "SimpleScriptLanguage" }, "value": { - "467f58932b54910584a0e8ea25a225e06a14530b2e96e938c53a3f22": { - "e4": 2722483818034094532 - }, - "lovelace": 2439937340673748217 + "92cf6599e35f69c114abe4d6dc26c41c755d48bc181e9f5f321961e5": { + "8532b8009aa61d55f9e0e80b280badec": 1676755792836821349 + } } }, - "0607010405080606010506060701040702060303010404020004000008050806#96": { - "address": "addr1wxlukjmmvmeuu8u9m5a466vhytw6g25k66fsw2f32pnt8eck8uxxk", + "0702070000040706030401040407020300040204020206010404000403010800#23": { + "address": "addr_test1vqsuyntf9rvtnfyefnqkwdhh89w4g2kvx00vpf45pgtsu4g83kzvx", "datum": null, "datumhash": null, "inlineDatum": null, "referenceScript": null, "value": { - "032b57be06118283e6ec756beed6684d83800575385c26c12da970d6": { - "9d5e1e133b591d1b673cfe277df480": 1 - }, - "lovelace": 2254201226466346827 + "245d5a7a06fe18358242e81281cd5ba9e6abe4efc54e7b659f25abae": { + "37": 1 + } } } } } ], - "seed": -1877335209 + "seed": 1401459790 } \ No newline at end of file diff --git a/hydra-node/src/Hydra/API/HTTPServer.hs b/hydra-node/src/Hydra/API/HTTPServer.hs index 88fd0bc1c74..1c3561e2bce 100644 --- a/hydra-node/src/Hydra/API/HTTPServer.hs +++ b/hydra-node/src/Hydra/API/HTTPServer.hs @@ -15,7 +15,9 @@ import Hydra.API.ClientInput (ClientInput (..)) import Hydra.API.ServerOutput (CommitInfo (..)) import Hydra.Cardano.Api ( LedgerEra, + SlotNo (..), Tx, + TxIn, ) import Hydra.Chain (Chain (..), PostTxError (..), draftCommitTx) import Hydra.Chain.ChainState ( @@ -25,10 +27,12 @@ import Hydra.Chain.Direct.State () import Hydra.Logging (Tracer, traceWith) import Hydra.Tx ( CommitBlueprintTx (..), + HeadId, IsTx (..), UTxOType, + headIdToCurrencySymbol, ) -import Network.HTTP.Types (QueryItem, status200, status400, status404, status500) +import Network.HTTP.Types (QueryItem, renderQuery, status200, status400, status404, status500) import Network.Wai ( Application, Request (pathInfo, requestMethod), @@ -38,6 +42,9 @@ import Network.Wai ( rawPathInfo, responseLBS, ) +import Test.QuickCheck (oneof, suchThat) + +import PlutusLedgerApi.V2 (POSIXTime) newtype DraftCommitTxResponse tx = DraftCommitTxResponse { commitTx :: tx @@ -71,8 +78,9 @@ data DraftCommitTxRequest tx , deadline :: UTCTime } | IncrementalCommitRecoverRequest - { utxo :: UTxOType tx - , deadline :: UTCTime + { recoverHeadId :: HeadId + , recoverUTxO :: UTxOType tx + , recoverDeadline :: POSIXTime , recoverStart :: Natural } deriving stock (Generic) @@ -82,10 +90,11 @@ deriving stock instance (Show tx, Show (UTxOType tx)) => Show (DraftCommitTxRequ instance (ToJSON tx, ToJSON (UTxOType tx)) => ToJSON (DraftCommitTxRequest tx) where toJSON = \case - IncrementalCommitRecoverRequest{utxo, deadline, recoverStart} -> + IncrementalCommitRecoverRequest{recoverHeadId, recoverUTxO, recoverDeadline, recoverStart} -> object - [ "utxo" .= toJSON utxo - , "deadline" .= toJSON deadline + [ "recoverHeadId" .= toJSON recoverHeadId + , "recoverUTxO" .= toJSON recoverUTxO + , "recoverDeadline" .= toJSON recoverDeadline , "recoverStart" .= toJSON recoverStart ] IncrementalCommitDepositRequest{utxo, deadline} -> @@ -102,7 +111,7 @@ instance (ToJSON tx, ToJSON (UTxOType tx)) => ToJSON (DraftCommitTxRequest tx) w toJSON utxoToCommit instance (FromJSON tx, FromJSON (UTxOType tx)) => FromJSON (DraftCommitTxRequest tx) where - parseJSON v = fullVariant v <|> simpleVariant v + parseJSON v = fullVariant v <|> simpleVariant v <|> depositVariant v <|> recoverVariant v where fullVariant = withObject "FullCommitRequest" $ \o -> do blueprintTx :: tx <- o .: "blueprintTx" @@ -111,14 +120,34 @@ instance (FromJSON tx, FromJSON (UTxOType tx)) => FromJSON (DraftCommitTxRequest simpleVariant val = SimpleCommitRequest <$> parseJSON val -instance (Arbitrary tx, Arbitrary (UTxOType tx)) => Arbitrary (DraftCommitTxRequest tx) where - arbitrary = genericArbitrary + depositVariant = withObject "IncrementalCommitDepositRequest" $ \o -> do + utxo <- o .: "utxo" + deadline <- o .: "deadline" + pure IncrementalCommitDepositRequest{utxo, deadline} + + recoverVariant = withObject "IncrementalCommitRecoverRequest" $ \o -> do + recoverHeadId <- o .: "recoverHeadId" + recoverUTxO <- o .: "recoverUTxO" + recoverDeadline <- o .: "recoverDeadline" + recoverStart <- o .: "recoverStart" + pure IncrementalCommitRecoverRequest{recoverHeadId, recoverUTxO, recoverDeadline, recoverStart} + +instance (Arbitrary tx, Arbitrary (UTxOType tx), Eq (UTxOType tx), Monoid (UTxOType tx)) => Arbitrary (DraftCommitTxRequest tx) where + arbitrary = + oneof + [ FullCommitRequest <$> arbitrary <*> arbitrary + , SimpleCommitRequest <$> arbitrary + , do + utxo <- arbitrary `suchThat` (/= mempty) + IncrementalCommitDepositRequest utxo <$> arbitrary + , IncrementalCommitRecoverRequest <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary + ] shrink = \case SimpleCommitRequest u -> SimpleCommitRequest <$> shrink u FullCommitRequest a b -> FullCommitRequest <$> shrink a <*> shrink b IncrementalCommitDepositRequest a b -> IncrementalCommitDepositRequest <$> shrink a <*> shrink b - IncrementalCommitRecoverRequest a b c -> IncrementalCommitRecoverRequest <$> shrink a <*> shrink b <*> shrink c + IncrementalCommitRecoverRequest a b c d -> IncrementalCommitRecoverRequest <$> shrink a <*> shrink b <*> shrink c <*> shrink d newtype SubmitTxRequest tx = SubmitTxRequest { txToSubmit :: tx @@ -178,7 +207,7 @@ httpApp tracer directChain pparams getCommitInfo getConfirmedUTxO putClientInput consumeRequestBodyStrict request >>= handleDraftCommitUtxo directChain getCommitInfo putClientInput >>= respond - ("DELETE", ["commit"]) -> + ("DELETE", ["recover"]) -> consumeRequestBodyStrict request >>= handleRecoverCommitUtxo directChain getCommitInfo putClientInput (queryString request) >>= respond @@ -229,8 +258,7 @@ handleDraftCommitUtxo directChain getCommitInfo putClientInput body = do putStrLn "Incremental commit" case someCommitRequest of IncrementalCommitDepositRequest{utxo, deadline} -> - getCurrentTime - >>= checkDeposit utxo deadline (deposit headId utxo deadline) + deposit headId utxo deadline _ -> pure $ responseLBS status400 [] (Aeson.encode $ Aeson.String "Invalid request: expected a IncrementalCommitDepositRequest") -- XXX: This is not really an internal server error -- FIXME: FailedToDraftTxNotInitializing is not a good name and it's not a PostTxError. Should create an error type somewhere in Hydra.API for this. @@ -284,20 +312,25 @@ handleRecoverCommitUtxo directChain getCommitInfo putClientInput recoverQuery bo getCommitInfo >>= \case IncrementalCommit _ -> do case someCommitRequest of - IncrementalCommitRecoverRequest{utxo, deadline} -> do - recoverDeposit utxo deadline + IncrementalCommitRecoverRequest{recoverHeadId, recoverUTxO, recoverDeadline, recoverStart} -> do + checkRecover recoverQuery (recoverDeposit recoverHeadId recoverUTxO recoverDeadline recoverStart) _ -> pure $ responseLBS status400 [] (Aeson.encode $ Aeson.String "Invalid request: expected a IncrementalCommitRecoverRequest") -- TODO: Have a proper error type for this. -- XXX: This is not really an internal server error -- FIXME: FailedToDraftTxNotInitializing is not a good name and it's not a PostTxError. Should create an error type somewhere in Hydra.API for this. _ -> pure $ responseLBS status500 [] (Aeson.encode (FailedToDraftTxNotInitializing :: PostTxError tx)) where - recoverDeposit utxo deadline = do - putClientInput Recover{utxo} - -- TODO: implement it! - error "Not done yet" + recoverDeposit recoverHeadId recoverUTxO recoverDeadline recoverStart txIn = do + draftRecoverTx (headIdToCurrencySymbol recoverHeadId) recoverUTxO recoverDeadline (SlotNo $ fromIntegral recoverStart) txIn <&> \case + Left e -> responseLBS status500 [] (Aeson.encode $ toJSON e) + Right depositTx -> okJSON $ DraftCommitTxResponse depositTx + + checkRecover query cont = + case Aeson.eitherDecode (fromStrict $ renderQuery False query) :: Either String TxIn of + Left e -> pure $ responseLBS status400 [] (Aeson.encode $ Aeson.String $ "Cannot recover funds. Failed to parse TxIn: " <> pack e) + Right txIn -> cont txIn - Chain{draftCommitTx} = directChain + Chain{draftRecoverTx} = directChain -- | Handle request to submit a cardano transaction. handleSubmitUserTx :: diff --git a/hydra-node/src/Hydra/Chain.hs b/hydra-node/src/Hydra/Chain.hs index 9e903992be2..ee83b56e37d 100644 --- a/hydra-node/src/Hydra/Chain.hs +++ b/hydra-node/src/Hydra/Chain.hs @@ -18,6 +18,8 @@ import Hydra.Cardano.Api ( Address, ByronAddr, Coin (..), + SlotNo, + TxIn, ) import Hydra.Chain.ChainState (ChainSlot, IsChainState (..)) import Hydra.Tx ( @@ -34,6 +36,7 @@ import Hydra.Tx ( ) import Hydra.Tx.IsTx (ArbitraryIsTx) import Hydra.Tx.OnChainId (OnChainId) +import PlutusLedgerApi.V2 (CurrencySymbol, POSIXTime) import Test.Cardano.Ledger.Core.Arbitrary () import Test.QuickCheck.Instances.Semigroup () import Test.QuickCheck.Instances.Time () @@ -170,6 +173,8 @@ data PostTxError tx | FailedToConstructCloseTx | FailedToConstructContestTx | FailedToConstructCollectTx + | FailedToConstructDepositTx + | FailedToConstructRecoverTx | FailedToConstructDecrementTx | FailedToConstructFanoutTx deriving stock (Generic) @@ -246,6 +251,15 @@ data Chain tx m = Chain -- ^ Create a deposit transaction using user provided utxos (zero or many) and -- a deadline for their inclusion into L2. -- Errors are handled at the call site. + , draftRecoverTx :: + MonadThrow m => + CurrencySymbol -> + UTxOType tx -> + POSIXTime -> + SlotNo -> + TxIn -> + m (Either (PostTxError tx) tx) + -- ^ Create a recover transaction which unlocks depositted funds. , submitTx :: MonadThrow m => tx -> m () -- ^ Submit a cardano transaction. -- diff --git a/hydra-node/src/Hydra/Chain/Direct/Handlers.hs b/hydra-node/src/Hydra/Chain/Direct/Handlers.hs index b31051ffb76..779c9602244 100644 --- a/hydra-node/src/Hydra/Chain/Direct/Handlers.hs +++ b/hydra-node/src/Hydra/Chain/Direct/Handlers.hs @@ -75,6 +75,7 @@ import Hydra.Chain.Direct.Wallet ( TinyWallet (..), TinyWalletLog, ) +import Hydra.Contract.Commit qualified as Commit import Hydra.Ledger.Cardano (adjustUTxO) import Hydra.Logging (Tracer, traceWith) import Hydra.Plutus.Extras (posixToUTCTime) @@ -86,6 +87,7 @@ import Hydra.Tx ( import Hydra.Tx.Contest (ClosedThreadOutput (..)) import Hydra.Tx.ContestationPeriod (toNominalDiffTime) import Hydra.Tx.Deposit (depositTx) +import Hydra.Tx.Recover (recoverTx) import System.IO.Error (userError) -- | Handle of a mutable local chain state that is kept in the direct chain layer. @@ -170,13 +172,22 @@ mkChain tracer queryTimeHandle wallet ctx LocalChainState{getLatest} submitTx = let CommitBlueprintTx{lookupUTxO} = commitBlueprintTx traverse (finalizeTx wallet ctx spendableUTxO lookupUTxO) $ commit' ctx headId spendableUTxO commitBlueprintTx - , -- Handle that creates a draft **incremental** commit tx using the user utxo and a _blueprint_ transaction. + , -- Handle that creates a draft **deposit** tx using the user utxo and a deadline. -- Possible errors are handled at the api server level. draftDepositTx = \headId utxo deadline -> do ChainStateAt{spendableUTxO} <- atomically getLatest traverse (finalizeTx wallet ctx spendableUTxO utxo) $ -- TODO: Should we move deposit tx argument verification to `depositTx` function and have Either here? Right (depositTx (networkId ctx) headId utxo deadline) + , -- Handle that creates a draft **recover** tx using provided arguments. + -- Possible errors are handled at the api server level. + draftRecoverTx = \headCS utxo deadline lowerValidity txIn -> do + ChainStateAt{spendableUTxO} <- atomically getLatest + -- TODO: what's the user UTxO here for the finalizeTx? mempty? + traverse (finalizeTx wallet ctx spendableUTxO utxo) $ + -- TODO: Should we move recover tx argument verification to `recoverTx` function and have Either here? + let commitsToRecover = mapMaybe Commit.serializeCommit (UTxO.pairs utxo) + in Right (recoverTx (networkId ctx) headCS txIn commitsToRecover deadline lowerValidity) , -- Submit a cardano transaction to the cardano-node using the -- LocalTxSubmission protocol. submitTx diff --git a/hydra-node/src/Hydra/Chain/Offline.hs b/hydra-node/src/Hydra/Chain/Offline.hs index 19cedbcd401..f9d8f3671b3 100644 --- a/hydra-node/src/Hydra/Chain/Offline.hs +++ b/hydra-node/src/Hydra/Chain/Offline.hs @@ -84,7 +84,8 @@ withOfflineChain nodeId OfflineChainConfig{ledgerGenesisFile, initialUTxOFile} p Chain { submitTx = const $ pure () , draftCommitTx = \_ _ -> pure $ Left FailedToDraftTxNotInitializing - , draftDepositTx = \_ _ _ -> pure $ Left FailedToDraftTxNotInitializing + , draftDepositTx = \_ _ _ -> pure $ Left FailedToConstructDepositTx + , draftRecoverTx = \_ _ _ _ _ -> pure $ Left FailedToConstructRecoverTx , postTx = const $ pure () } diff --git a/hydra-node/test/Hydra/API/HTTPServerSpec.hs b/hydra-node/test/Hydra/API/HTTPServerSpec.hs index 28fc246e387..9b70756cd13 100644 --- a/hydra-node/test/Hydra/API/HTTPServerSpec.hs +++ b/hydra-node/test/Hydra/API/HTTPServerSpec.hs @@ -153,19 +153,13 @@ apiServerSpec = do { draftCommitTx = \_ _ -> do tx <- generate $ arbitrary @Tx pure $ Right tx - , draftDepositTx = \_ _ _ -> do - tx <- generate $ arbitrary @Tx - pure $ Right tx } prop "responds on valid requests" $ \(request :: DraftCommitTxRequest Tx) -> withApplication (httpApp nullTracer workingChainHandle defaultPParams getHeadId getNothing putClientInput) $ do post "/commit" (Aeson.encode request) `shouldRespondWith` case request of - IncrementalCommitDepositRequest{utxo, deadline} -> - if utxo == mempty - then 400{matchBody = matchJSON $ Aeson.String "Empty UTxO"} - else 200 - IncrementalCommitRecoverRequest{} -> 400 -- TODO: after implementing recover revisit this + IncrementalCommitDepositRequest{} -> 400 + IncrementalCommitRecoverRequest{} -> 400 -- NOTE: This request type is used in DELETE verb so we don't care about it here _ -> 200 let failingChainHandle postTxError = diff --git a/hydra-node/test/Hydra/API/ServerSpec.hs b/hydra-node/test/Hydra/API/ServerSpec.hs index 285c5e36516..27892f1bb41 100644 --- a/hydra-node/test/Hydra/API/ServerSpec.hs +++ b/hydra-node/test/Hydra/API/ServerSpec.hs @@ -30,6 +30,7 @@ import Hydra.Chain ( Chain (Chain), draftCommitTx, draftDepositTx, + draftRecoverTx, postTx, submitTx, ) @@ -374,6 +375,7 @@ dummyChainHandle = { postTx = \_ -> error "unexpected call to postTx" , draftCommitTx = \_ -> error "unexpected call to draftCommitTx" , draftDepositTx = \_ -> error "unexpected call to draftDepositTx" + , draftRecoverTx = \_ -> error "unexpected call to draftRecoverTx" , submitTx = \_ -> error "unexpected call to submitTx" } diff --git a/hydra-node/test/Hydra/BehaviorSpec.hs b/hydra-node/test/Hydra/BehaviorSpec.hs index 2dba0860831..b87b1303c72 100644 --- a/hydra-node/test/Hydra/BehaviorSpec.hs +++ b/hydra-node/test/Hydra/BehaviorSpec.hs @@ -750,6 +750,7 @@ simulatedChainAndNetwork initialChainState = do createAndYieldEvent nodes history localChainState $ toOnChainTx now tx , draftCommitTx = \_ -> error "unexpected call to draftCommitTx" , draftDepositTx = \_ -> error "unexpected call to draftIncrementalCommitTx" + , draftRecoverTx = \_ -> error "unexpected call to draftRecoverTx" , submitTx = \_ -> error "unexpected call to submitTx" } mockNetwork = createMockNetwork draftNode nodes diff --git a/hydra-node/test/Hydra/NodeSpec.hs b/hydra-node/test/Hydra/NodeSpec.hs index d68e25aa045..f4334416e4d 100644 --- a/hydra-node/test/Hydra/NodeSpec.hs +++ b/hydra-node/test/Hydra/NodeSpec.hs @@ -335,6 +335,7 @@ mockChain = { postTx = \_ -> pure () , draftCommitTx = \_ _ -> failure "mockChain: unexpected draftCommitTx" , draftDepositTx = \_ _ _ -> failure "mockChain: unexpected draftDepositTx" + , draftRecoverTx = \_ _ _ _ _ -> failure "mockChain: unexpected draftRecoverTx" , submitTx = \_ -> failure "mockChain: unexpected submitTx" } @@ -457,6 +458,7 @@ throwExceptionOnPostTx exception node = { postTx = \_ -> throwIO exception , draftCommitTx = \_ -> error "draftCommitTx not implemented" , draftDepositTx = \_ -> error "draftDepositTx not implemented" + , draftRecoverTx = \_ -> error "draftRecoverTx not implemented" , submitTx = \_ -> error "submitTx not implemented" } }