Skip to content

Commit 67b0d19

Browse files
authored
More tests for incremental commits (#1700)
### Why Leftover from the work on incremental-commits. Adds scenarios we would like to test out which are specified in the original issue. Testing revealed couple of outstanding things not related to testing which are also part of this PR: - We should always try to snapshot pending deposits - Since commits are not propagated to other peers using network messages it is possible to observe a increment which is missing a corresponding deposit present in the local state. We should not emit errors if this happens --- <!-- Consider each and tick it off one way or the other --> * [x] CHANGELOG updated or not needed * [x] Documentation updated or not needed * [x] Haddocks updated or not needed * [x] No new TODOs introduced or explained herafter
2 parents 4801d02 + 9d4c3f4 commit 67b0d19

File tree

9 files changed

+17153
-21710
lines changed

9 files changed

+17153
-21710
lines changed

CHANGELOG.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@ changes.
1616
state is not releasable!
1717
Missing off-chain items to implement as a series of next PR's:
1818
- Add documentation to explain the feature
19-
- Implement tests scenarios outlined in the [incremental-commit] (https://github.com/cardano-scaling/hydra/issues/199) issue
2019
- Revisit types related to observations/posting transactions and make sure the fields are named appropriatelly
2120

22-
2321
- Tested with `cardano-node 9.2.0` and `cardano-cli 9.4.1.0`.
2422

2523
- **BREAKING** Rewrite of the commit script in aiken:

hydra-node/golden/ReasonablySized (TimedServerOutput (Tx ConwayEra)).json

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4326,13 +4326,7 @@
43264326
},
43274327
{
43284328
"clientInput": {
4329-
"decommitTx": {
4330-
"cborHex": "84b200d90102858258201da109af1b143e940eafdb86c91e0dba518d6bdf26efcbd6876305568b91cbb7058258203dc43441175807de8830a4b314a08eb5ce6a47308b79cc3199f3da217d2bb6b0068258205b25214305765aeb564a4a4fbe5fb4fa88b1e828e90ba4632af7856e5d4be9f70782582072f9f20c74e60ebc888f2e6cb121066f542a7bf0311f2422e40898bafe9c2b6900825820b037fbf8c056cb29215dcce80a23aa27d7c28a9b02437ab1315f9da67d1f927e080dd901028582582069bcc0f4dec9e9b5af3e2ab37f8dc13d91139a53e7850b1b53767e9b42a9c7ca0482582085d21c29ecb42d6145b9ddaf8e441a3f6279f315966fee289773e99f33402dc806825820be1b6607bfaf3d6737996bcbef6371a8616969cb54ca7b310ed8204425f6867600825820d7f0c955d3b5d6b6003a04f8f3160beda9a0c10d3bae389c69c6f0c9700e4be405825820f42d53923048481b81197bdee773327ebee09abdbe4a487ce91c0dc072c1b4160712d9010281825820b05ca0eef2efeb2399cbd0dda36bf04c25a91db3c5bfc583d15e60f31f79119d020185835839010cf5149505c3067d69c2b24c2322e0d39e9924a399038bf008ac6d4764e7d0d06ea2734349f8dc0359591c73b41ee686f6a980f7b57f8c508200a1581c467f58932b54910584a0e8ea25a225e06a14530b2e96e938c53a3f22a141d21b64aede4448994b2c5820a86f2a70990546ec1c5dc055bdec3bd2c313034dfee16c21910957f31b31696ba400581d715f16d555b90ae7e601f5ae8463eb7efe2cd5e0cfd7fe98ad2511bfdd01821b4a30559206d146c3a1581cdbe6b0502ca549b19e4783e1971f32c407232556e854ff0a6d2a3984a1581f5625c462898cfe0ae4dc91ba204c81928492aadc691e81ba0b9fb3763ab4211b4fd0d4374ed77782028201d818559fd87c9fd87c9f05421c6bffa100432131f540ffff03d818582282008200581c7953fe86d862e698753b6e2efc6375313ea45ac425ee506108119a26a400583931f5145f1db6440b00ae7fb7983ccabc4ef8dc96e44e8fafa87b250483391b839d09fb1b307d89ad20d157f2b576087af7b0eb5de30948dd3e01821b41531152743da6dfa1581c245d5a7a06fe18358242e81281cd5ba9e6abe4efc54e7b659f25abaea1429c60010282005820bedcf4812bcfd00729369dad74f8019503aef3450fef9f8a945d0c6fb98b6d8d03d81855820082028383030080830301818303008083030080a400583900a384175bb1efc3d13167b6bfbdcc0d0fef545fe20a2ed07212a3fb8c1e8376847151c7df81501d001d0bc4335738855de4b750ae74aa4f3d018200a1581c98f81f050d9a8291b8dd799dbc2f40827cbe356b14b8fc1ac3b3756aa141311b1b68184a35a3981e028201d8184c9f4445df0e478042b10840ff03d818458200820280a30058205173bd83ccb0ca46c2c9911876028a1d8357e78671b480704e24beafd606080501821b3cbf2251ea857fb0a1581cd70c24ecf0e351fc66b0995c4e1baa64d60887b98c4261fc3fdbdd1aa145c3386a822c1b5f4eaeb1b567d3f603d8185902ae82008201848201848200581c58d6d79959c5803587f3b51c2a7a0709209731d8b6694f58b420d7358201848200581c029b8510c66977775f83aae8c0d0d221821e50584459be355266f2cf8200581c84707c9c5c77711009ba3bb72007006e8229c5d05dfe67bf58b27a028200581cfdcbef814c11202dada2a0cc12bd7d9eec5ca77c65523e0793e477368200581c8d032af9a36772564fdd5eec093a86d9c30603cf80074ea9de5386b18201838200581c1ce53517687024561dc5444ee70860b43982653b7266c0e35903690a8200581c576f2cde617cf03c7d982de9d86392158584bd0ce01db90c650e67df8200581ce7d7333d6b3fcd4df7365a000567deb842e14be27d3adb53eb32521e830300828200581c036e73e088c50c94bc49c743b044e4e86066c02598ca840adbc663d18200581c447785cd57225793ca663e663b25e31b44d69d31f6f0a2dd42214e718202828201838200581c4a5a2518fab62517c703a13c4dd8075dd42d96b5ef9ef328dde5d98e8200581c0b89ecca6cb6ba7b1773c88348452dec543eedec3b0e93442f37d2aa8200581cb24c1d2ce54346c115b7fcfed5dc4f351fe2083d28189fefb581f3de83030080830303838201818200581c2b02947cb2a54b44791963dea274e95c0e10ff1235c1f1285b39c636830302848200581cb068107d084b0ecab935359c92aec36c77dde044eb2fc9d70a05ac538200581cd85d0e8085414899cd76234808ac5e78a827d69d970cb3a557cd5d998200581c47e80a3dd999b45248dada71fc8bd9edbd809d4c7b31ddf6770332db8200581ccdb6ed99a0a9d6f6b2446be7a752af238edefb3c0ba9cd75d665edd1830300808202828200581c2e23d7133716203f585a5e2bf3453af501648db6d786d7fc7d6c80818200581c9f225ddc2825c01ab4c515b99df5e829d617645adee631d6262bde86111a0001e0bd021a0006f4c4030104d9010281850d8201581c3d51af108c6526f29707e92fb7a1e55ba868e0bc4c09ac52bca0bed8581c0e109187c25c0ecdf5ac3f33b0442d95578392512eb602bc66dab78c81031a00080c0505a2581df071f8bceca583357c0324965755057b71c8a24d8f9d9680025cae57d61a000a77ba581df1f094856b5aa57b0a715a92a5c165589830fd78a87894088cf00eef5c1a000dc17e08010ed9010283581cd14da60bafc55654ab9bc3e4d98a899c66f4f6c8aab3690610e64fbf581ce3599b74a14efbd13290dcd52086c7371d42f5ee45b00944ecbc6243581cecc2994643ef2f74c11d0c1e18f471291ad711865a53803795d39b4609a1581ca1169d840a632fe0d06ec6d07ecc4f7bf240882749b7a12136255dbfa1454285e5d2a83b78c1b0f16284bdf00758207a48f4301683ac9da43c6f742680c62daec4e4a42c08e898a2d039a3c6af6e040f0013a48200581c4d502f1db2f4b4019688aedde6e739555600b1e1659c9443443c8329a38258201f81532592056fd5eec329198ba6473c95224b869f14c9f2b954225705fdf982068202827568747470733a2f2f31342d4c39764b476a2e636f6d5820df03602842f3bb3b873e4ab70a40cddfc0bb78bef35bac1be2f8ddcc38c4710782582021fad0dd9b22f37dba7e9e4f2a63283b5f789689155e227ba267492e82e5bebc04820082783a68747470733a2f2f7233795a766e4552695547664752796e6b4e45656d57596b676465324b6a57546c526e6f3154745636684e644b412e636f6d5820817024095b2c1623f5b49c8dc00d643d0db80b11231c5e125a8dc4b7ed57cb9c8258204d40136af22874d98bf65e1d8c557c9327dd1da9898fdb43d0164756c82610e9068202826e68747470733a2f2f6b522e636f6d582028c5a8fa2040f584e812064c4fdcb6b70751370f8393b03f52cdeb8fb8b6bdeb8200581cc08c577f92c3db581b19bbed476c275f58de1ff6094eb21214208044a48258203fe40388730dd256b1f4394d951e4601683e03ebd82b69b25f5009605fe1002d07820082781868747470733a2f2f4561763344715637412e79352e636f6d5820ca83646098d00e91e6a9d3b44fc62f41ab933e944ed18a89437964cca1b828a882582045cd36975c491fff538303937bcb95f549db255cd776742229685611dc56f488038201f682582063a8ce5441cc1b4431e1baa9b1e31d671b01c22d6b5f59558930ac16172979bc04820082783268747470733a2f2f526f7255666b374b75377549736f63714457754e6f74545753356756624f304f6569716a58742e636f6d5820a1cc55161eb21ad2477e34d3ee882dbb67911b13adab2ebb691792bc59eaa575825820e8ed6bb4859d649b83332cf628ad32ede5554712fb57513410bd0d34f348599007820182783f68747470733a2f2f2d583672517a5970615a70696f5742773651577a6a7034486d6b712d6b314b4f375734426773786945444b7666616f507059572e636f6d5820a29e4a9a872781b5c35131a48a47895624c7856a04819d64ea1df8d7f84c4a6f8200581cf3620ad0d65699f31e92e24b8ebefeac2b9544faa80c694bbc8aa71ba68258201187d34e21eddf238602ca333dd1de0305e3249ebdaff1d8685a128fdef71e3e00820082782768747470733a2f2f3554693033487254482e7173537231596c7548696d6a6a4b58337a2e636f6d58202c2c1c6c3c1bab7aaf160e58cd06135ad779de002e9664f4adb04fd806cd332b8258201c3a693d68b3b4502dccc8618118031bdb467c77889ed2a9fd88173cdf7b38c0048201827268747470733a2f2f4d43413144752e636f6d582023c1a56883053eaf62f6f2ab8c97f31c4f4096d69da16ad64003e979f7a8781082582033f98c5b047722046e43e1ea8d3cb6845de697c5a90cff7ea16307447f23b25c068202f68258208df1c073c162219783cb3dfb2d84358618ed4d67bd1558b05d3639560889a6cd008202826d68747470733a2f2f322e636f6d58203a671de5457f8aae6066f8fb650bbe6ad8e2d67ecd230a40db50c92f5479a036825820b1efd6685bffe57d2f611bcd152c56c3abd97ebe698479958ca3c46a668eb50302820182782368747470733a2f2f614d43384f7a704b426b366e686756574353684e6d51632e636f6d5820139e5b9af42fd248034d74db56229ae261ba5725094bbd656000566ba8ff88e3825820ca14d158d3e1ba3aee806540d4ca5c3f0319a49f468211c8eff8b3e22cf2b3ad01820282781b68747470733a2f2f68347a3663714c53333370386a4b4f2e636f6d5820ba81c1d2998897db4a9814c927db1e217d6c923352be20be5216ef19056fbd308204581c7d7c8e7e8348e73090d0ee8131837bdafca2a0441781ef4f8a4581c8a182582036b1c2c24bd73ce1122f159a823d0903581ed4d27477b8737c3ba95cc1806839038202827268747470733a2f2f614c6b5442302e636f6d5820b8aa2fac7c12cf8c593cff20a700e0b11d37485e101ff32153effcdb7cd92bf814d90102858419385c581de0dbe50bc753edec6a6d4757646e947dbd03beebe8dd5e8c6384f4767483058258201444ca893a931db5cdfc20b2aa33af7a2879402a647b75301076ec6f3b389bfd0582826f68747470733a2f2f6e464c2e636f6d58205a73ab1e7686f9c2497a8e1182c3ec8ac4561523ad61c79f8133050cbf13d7e7581caff2d32b9f78b9551851f6e1f8e78affbc5a05fe12304c305ceea7dc82784068747470733a2f2f70762e3345534f476b64652d50436e68493850504a42744e754f56315a6c524a64506837584f70546b59456a69644e4a655a39302e636f6d58204d3c6a3766be9e358bee157c7650394b3b56b8e6011437470f3706b2f8233200841a000eca06581df0a0174b908001364b577e7ef506423be7576a2af643563a76e4b4b6498305f682827568747470733a2f2f6e43426a797642434e2e636f6d58200a242471f053643826088d5564ce7551bdd9a3c5b2440812ef4a9077f7afe07af682783668747470733a2f2f68687748414e4a706a666a664b6a31544f7938446842516c6647386f547351636c75714c654d377766352e636f6d58204c96fdf351f0f6d1fb1390b5bcc1b39dd67096c3b4143d3c4b8ebe711d8c4160841a000cac21581de1affdd7b3ab37f13a8aac17d73397713013ee1583d96c4839bf99a9b2820382582082bbb28cfc41443d14ee579563c9ae1da1732463cd6425ee86a709bf064dd4df0282782c68747470733a2f2f394a43362e6a454f493567554573386d2d42785a3678524b4e346c67695453712e636f6d58205ad2bc7344d05e47cc1b232685f7a8cc8d03e872e2136d43737f7ae650b3430f841a00073ff2581df1b2d0ed0c1a9316edcee25a0f929c5f881f4a1578bd658c83b30684598504f6d90102838200581c320ec52b186c22c419946e0cddfdabc0b772918d1ceb773914b77e878200581c3d9baaa3325f4d0e5268afa3be075fe48f9942c5c49120a48db9d7de8200581ccaff3cab2deafb975615e62cec23749a49e417eae72cb8f4c846f2f4a68201581c2f6684a01004b40665cfb66f7f65ccb9201ac8acd1dada5f01a3567b0c8201581c7c1c12467bbac99bb727045b050f5a7fa02518fbea2990f47031236a0b8201581c8941fd74b8b3ae1f623fd657a5d72e7e3b2b9575c6531eba96c9f891068201581cfd025bcea61dcd8f2cfabc640cacb1abb6eab2c7129fbb734589ab69088200581c8ffda5f3c8567d994a1ab1b6d8574a1872edc06ff04fa92d3be0bb21088200581cf7c52899f4d7cd904576c349454a0326e69be63d8b893fc0e393031c04d81e821b0000f595c9a7ef751b002386f26fc1000082782668747470733a2f2f6945656848345075316b4942562e6165306a78764b345768466f2e636f6d58202a5a8a1383ab2a8d74a503483b4b0bce6a234962c2feca608184c8d8928a382b841a0009f22f581de1a5c14185873b4d08ed7c126cf2a4aaac0a255a23cfcad521f157050f830182582087dac0e7e7b46a4f82ac734c42fc8cfe452f6117710acecb749c24c65ee7e0d501820b0082782368747470733a2f2f644e76775a4e48543854726a61682d6c2e71314f467a6f2e636f6d5820ef83043e2a8602453163fdf63a7f8e27cd7da086edd4aad9d5ede1477bbbf61b151a000cf77a161a00018a20a502d90102858458208b96dec73b881d47de7c14430e64cfc6605193e20583443e8393234dcd71ace2584007a668e107fb544d50061648247597626193c0b939881f8e839b8f443d220e8409c7dd0bab401bec7904dae8d04d5914d23519c0c56367f05d12d7e904932f0344acc6366c40845820517036c6d61153dbcc2414e046fe9cba49b269f4fdc969d33b54050eb18053a358400cd141a161400179c5d7944e1d7d2fdd9dec109424f90a0b76327fca08af7ef59a6ee084b73237c410588af601251b761be28e00e014102af31323e58c455ccc42f6c9455263180a908458200c48b656bb2f6fa29d2b9789f30d7b178d9b07e9b8e39a90d57a3816e5f633985840f9673e0e4ff225307633ee6aedf03bac254cc089de2e1274f586f5131429dd73e9244551317a952ec4ac6e302bf9060b8ce9c54851e098ecd390a35c417abdb34357acba408458209f7ab805f45d09955d151270c0b9c793ae88f8477de3abccd94fe09246b0f16c58401fea52df2f47967527be550feed130545bd6ce87d0b77e047bb0e736764e2ebb5a3855e2077f2e2fea962d3413393c8ca0168cb46c9207e56e2c8ca1837507c742850f4193845820f17ecfb1697b2591c50b10f585b9d27fdbfa1acb721a342080cf165bdb28de4a5840c607febdb1778abe6929ee58eff8e699a66ff48f2cbdc880956f633966eb89ccbdff407bfc33ef5d41da36f1fd43665acae9f153d596bc464b6f5747e193d1274045c957a088ea01d90102848201838200581cb9f31ba7b91ba9a35087e62268261bb95693b81abe9e8fae8c3658ec8202818200581c91eddba7ce2d00ada7c1e5873222d59413ba690d1ea64349febc4cad8200581ccb2193e2518e4ad61f99bba7f682ecbcc411d36b54df3295e13144c78200581c53f16c58b3d3eb7cf95bd3d4325aae7eac130570407b35dd09fa15da8201808200581c964bd72ab4005330d79f122a3e11206ba9b9d6769b3e52e09c9db11c06d9010281474601000022001104d9010281d87a9f229fd8799f436915c94164ffa5418344cc86986d42300d030402200404249f0042bad141f305ffff9f0522ff9f9f418b430db31d446a63f0c34004ffa40502432996ad4043c258bb44ce342f692000d8799f05445894c99b2442ce2fffd87d9f0543bf883322447b78b8a921ffffff05a48201008224821b024ebf4382a09d821b2a7f2e410826993b8203068243be8546821b26a77c7e8f125df01b5e4d2d4a08874c3e8204068244247595af821b589c4c82b0303cb41b7d145bc09d79951e82050582d87d9f0202ff821b7daeeef93f1705ee1b484ab17cb41722e0f5d90103a400a400210440088503a36beea796f48d919d20ebbb856575f3b19284418060447683ed014042329fa22469f3bda1abf3bd90a472645546290401a36323233c2203651ff09790be6b335bf48e818f2bf091bbb36bf3ba839df48f809e48105e0ea364e7a1a61d695271f3b184923a602a4200e9064067f09b8abfe5b38801838201828200581c0376f1b8b4ad125cfb0aeda7c32897ac7b7084a6dba30048476c3c6a8202818200581c2c8eae919a7601765e51212f7bff19916e766389e0f9b6b2259f0c05820504830303838201808200581cc0b38c60555b8a4a29bf126cb76aaaac295372219bd2c19e00fdb57d8200581c2fdeb5793fb067211a0fcfb8c582038e6c68355692df9ba58a242319038148470100002220010104814746010000222601",
4331-
"description": "Ledger Cddl Format",
4332-
"txId": "4fcfebef43e78297f3de51aca5c469e616714f17f65e191573e438e1f735d199",
4333-
"type": "Witnessed Tx ConwayEra"
4334-
},
4335-
"tag": "Decommit"
4329+
"tag": "Close"
43364330
},
43374331
"seq": 4,
43384332
"state": {
@@ -5681,7 +5675,7 @@
56815675
},
56825676
{
56835677
"clientInput": {
5684-
"tag": "Contest"
5678+
"tag": "Fanout"
56855679
},
56865680
"seq": 0,
56875681
"state": {
@@ -12860,7 +12854,7 @@
1286012854
},
1286112855
{
1286212856
"clientInput": {
12863-
"tag": "Close"
12857+
"tag": "Contest"
1286412858
},
1286512859
"seq": 4,
1286612860
"state": {
@@ -17772,7 +17766,7 @@
1777217766
},
1777317767
{
1777417768
"clientInput": {
17775-
"tag": "Contest"
17769+
"tag": "Fanout"
1777617770
},
1777717771
"seq": 2,
1777817772
"state": {

hydra-node/golden/ServerOutput/CommandFailed.json

Lines changed: 4624 additions & 11689 deletions
Large diffs are not rendered by default.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"samples": [
33
{
4-
"headId": "a1f24dedb77e18f49fc74a1f90a7d358",
4+
"headId": "e2a4b9f1ef12cb934a87a8855da8f54d",
55
"tag": "CommitFinalized",
6-
"theDeposit": "7b986b886265af7c16103ae3dc256e5cfcf347716c7bd10848770b2109064fab"
6+
"theDeposit": "1d8b196ddd7a01fd1dad526cd0e4e9ddbb99be5231e6b064588615f226a4dc78"
77
}
88
],
9-
"seed": 1382733347
9+
"seed": 1825576190
1010
}

0 commit comments

Comments
 (0)