Skip to content

Conversation

@v0d1ch
Copy link
Contributor

@v0d1ch v0d1ch commented Nov 5, 2025

fix #2330

Add new client command for safe closing the Head SafeClose.

This one will only issue closing in case there are non-ADA assets in the confirmed snapshot UTxO.

In case there are some non-ADA tokens there will be corresponding log entry and a InvalidInput message over websocket - close command will not be issued until these tokens are burned.

This was requested by DeltaDeFi team to prevent accidental Head closing when there are still some tokens in the Head.


  • CHANGELOG updated or not needed
  • Documentation updated or not needed
  • Haddocks updated or not needed
  • No new TODOs introduced or explained herafter

@v0d1ch v0d1ch self-assigned this Nov 5, 2025
@github-actions
Copy link

github-actions bot commented Nov 5, 2025

Transaction costs

Sizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using arbitrary values and results are not fully deterministic and comparable to previous runs.

Metadata
Generated at 2025-11-27 12:58:26.590613359 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial c8a101a5c8ac4816b0dceb59ce31fc2258e387de828f02961d2f2045 2652
νCommit 61458bc2f297fff3cc5df6ac7ab57cefd87763b0b7bd722146a1035c 685
νHead a1442faf26d4ec409e2f62a685c1d4893f8d6bcbaf7bcb59d6fa1340 14599
μHead fd173b993e12103cd734ca6710d364e17120a5eb37a224c64ab2b188* 5284
νDeposit ae01dade3a9c346d5c93ae3ce339412b90a0b8f83f94ec6baa24e30c 1102
  • The minting policy hash is only usable for comparison. As the script is parameterized, the actual script is unique per head.

Init transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 5834 10.40 3.30 0.51
2 6035 12.44 3.94 0.54
3 6236 14.72 4.66 0.58
5 6641 18.72 5.91 0.64
10 7646 28.88 9.10 0.79
43 14285 98.78 30.87 1.80

Commit transaction costs

This uses ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 558 2.44 1.16 0.20
2 740 3.38 1.73 0.22
3 921 4.36 2.33 0.24
5 1280 6.41 3.60 0.28
10 2177 12.13 7.25 0.40
54 10069 98.61 68.52 1.88

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 525 25.20 7.30 0.43
2 114 636 34.38 9.91 0.53
3 170 747 42.35 12.18 0.61
4 227 858 54.23 15.48 0.74
5 283 969 57.94 16.69 0.78
6 340 1081 65.99 19.03 0.87
7 394 1196 84.26 23.84 1.06
8 450 1307 87.02 24.90 1.09
9 505 1418 93.64 27.00 1.16

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 1813 23.92 7.60 0.48
2 1882 24.77 8.48 0.49
3 2085 27.35 9.87 0.53
5 2380 31.49 12.36 0.60
10 3086 40.16 18.12 0.74
37 7175 91.34 50.37 1.57

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 600 22.57 7.31 0.41
2 811 25.20 8.70 0.45
3 988 28.11 10.18 0.49
5 1285 31.47 12.46 0.55
10 1990 39.39 18.00 0.69
42 6688 97.40 55.49 1.63

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 601 28.46 8.69 0.47
2 826 29.18 9.60 0.49
3 969 33.32 11.42 0.54
5 1290 35.30 13.33 0.59
10 2105 46.36 19.81 0.76
37 6056 99.66 52.76 1.60

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 670 33.87 10.16 0.53
2 765 35.17 11.17 0.55
3 934 37.91 12.62 0.59
5 1352 43.99 15.69 0.68
10 2096 54.76 22.02 0.84
29 4895 98.74 46.91 1.50

Abort transaction costs

There is some variation due to the random mixture of initial and already committed outputs.

Parties Tx size % max Mem % max CPU Min fee ₳
1 5782 27.13 9.09 0.69
2 5962 37.12 12.53 0.80
3 5968 40.28 13.42 0.84
4 6292 55.18 18.63 1.01
5 6457 63.80 21.47 1.10
6 6713 75.27 25.42 1.24
7 6608 79.08 26.53 1.27
8 6768 89.31 30.00 1.39

FanOut transaction costs

Involves spending head output and burning head tokens. Uses ada-only UTXO for better comparability.

Parties UTxO UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
10 0 0 5834 19.19 6.41 0.61
10 1 57 5869 19.89 6.76 0.62
10 5 285 6004 28.02 9.98 0.71
10 10 569 6174 39.06 14.30 0.84
10 20 1140 6515 59.98 22.53 1.08
10 30 1710 6856 79.15 30.16 1.31
10 39 2221 7160 98.93 37.88 1.54

End-to-end benchmark results

This page is intended to collect the latest end-to-end benchmark results produced by Hydra's continuous integration (CI) system from the latest master code.

Please note that these results are approximate as they are currently produced from limited cloud VMs and not controlled hardware. Rather than focusing on the absolute results, the emphasis should be on relative results, such as how the timings for a scenario evolve as the code changes.

Generated at 2025-11-27 13:01:51.692036492 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 5.178247706
P99 7.540227289999968ms
P95 6.084533400000001ms
P50 4.984498ms
Number of Invalid txs 0

Memory data

Time Used Free
2025-11-27 13:00:23.89215751 UTC 1474M 7045M
2025-11-27 13:00:24.892123285 UTC 1487M 7003M
2025-11-27 13:00:25.892122919 UTC 1496M 6994M
2025-11-27 13:00:26.892106587 UTC 1528M 6961M
2025-11-27 13:00:27.892095355 UTC 1555M 6887M
2025-11-27 13:00:28.892218857 UTC 1577M 6838M
2025-11-27 13:00:29.892153476 UTC 1597M 6816M
2025-11-27 13:00:30.892123791 UTC 1605M 6803M
2025-11-27 13:00:31.89213769 UTC 1605M 6801M
2025-11-27 13:00:32.892150012 UTC 1605M 6801M
2025-11-27 13:00:33.892095517 UTC 1605M 6801M
2025-11-27 13:00:34.892130494 UTC 1606M 6801M
2025-11-27 13:00:35.892167524 UTC 1606M 6801M
2025-11-27 13:00:36.892164851 UTC 1606M 6801M
2025-11-27 13:00:37.892152805 UTC 1606M 6800M
2025-11-27 13:00:38.892172583 UTC 1606M 6800M
2025-11-27 13:00:39.892119548 UTC 1606M 6800M
2025-11-27 13:00:40.892131143 UTC 1608M 6798M
2025-11-27 13:00:41.892149269 UTC 1607M 6799M
2025-11-27 13:00:42.892102585 UTC 1608M 6798M
2025-11-27 13:00:43.892121674 UTC 1609M 6797M
2025-11-27 13:00:44.89209149 UTC 1611M 6795M
2025-11-27 13:00:45.89211104 UTC 1611M 6795M
2025-11-27 13:00:46.892128102 UTC 1611M 6795M
2025-11-27 13:00:47.892124816 UTC 1611M 6795M
2025-11-27 13:00:48.892129434 UTC 1611M 6794M
2025-11-27 13:00:49.892115679 UTC 1611M 6794M
2025-11-27 13:00:50.892136729 UTC 1611M 6794M
2025-11-27 13:00:51.892124105 UTC 1612M 6793M
2025-11-27 13:00:52.892143742 UTC 1612M 6793M

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 36.770475752
P99 72.76526265999998ms
P95 61.62258689999999ms
P50 32.6245245ms
Number of Invalid txs 0

Memory data

Time Used Free
2025-11-27 13:01:04.708774864 UTC 1493M 6950M
2025-11-27 13:01:05.708773278 UTC 1502M 6940M
2025-11-27 13:01:06.708734636 UTC 1508M 6935M
2025-11-27 13:01:07.708760129 UTC 1509M 6933M
2025-11-27 13:01:08.708649421 UTC 1512M 6930M
2025-11-27 13:01:09.70881641 UTC 1519M 6923M
2025-11-27 13:01:10.708657934 UTC 1518M 6924M
2025-11-27 13:01:11.708689488 UTC 1575M 6839M
2025-11-27 13:01:12.708907814 UTC 1634M 6753M
2025-11-27 13:01:13.70874871 UTC 1688M 6670M
2025-11-27 13:01:14.708815628 UTC 1720M 6638M
2025-11-27 13:01:15.70935319 UTC 1731M 6626M
2025-11-27 13:01:16.708947934 UTC 1771M 6577M
2025-11-27 13:01:17.709489533 UTC 1778M 6559M
2025-11-27 13:01:18.7087482 UTC 1792M 6535M
2025-11-27 13:01:19.709850025 UTC 1801M 6515M
2025-11-27 13:01:20.7109572 UTC 1813M 6492M
2025-11-27 13:01:21.712975515 UTC 1833M 6462M
2025-11-27 13:01:22.711767207 UTC 1860M 6424M
2025-11-27 13:01:23.713103604 UTC 1862M 6413M
2025-11-27 13:01:24.713328915 UTC 1864M 6405M
2025-11-27 13:01:25.709523748 UTC 1865M 6397M
2025-11-27 13:01:26.708730029 UTC 1870M 6386M
2025-11-27 13:01:27.708707109 UTC 1885M 6370M
2025-11-27 13:01:28.708769542 UTC 1886M 6369M
2025-11-27 13:01:29.708839911 UTC 1886M 6368M
2025-11-27 13:01:30.708815022 UTC 1887M 6367M
2025-11-27 13:01:31.708891487 UTC 1889M 6365M
2025-11-27 13:01:32.708829579 UTC 1893M 6360M
2025-11-27 13:01:33.70876579 UTC 1893M 6360M
2025-11-27 13:01:34.708777965 UTC 1893M 6360M
2025-11-27 13:01:35.708747042 UTC 1893M 6360M
2025-11-27 13:01:36.709186918 UTC 1894M 6359M
2025-11-27 13:01:37.708882052 UTC 1896M 6356M
2025-11-27 13:01:38.708768494 UTC 1897M 6355M
2025-11-27 13:01:39.708844332 UTC 1897M 6355M
2025-11-27 13:01:40.708878548 UTC 1899M 6353M
2025-11-27 13:01:41.708948925 UTC 1899M 6353M
2025-11-27 13:01:42.708749453 UTC 1899M 6353M
2025-11-27 13:01:43.708829675 UTC 1900M 6352M
2025-11-27 13:01:44.708792318 UTC 1899M 6352M
2025-11-27 13:01:45.708798258 UTC 1900M 6351M
2025-11-27 13:01:46.708920734 UTC 1900M 6350M
2025-11-27 13:01:47.708734404 UTC 1902M 6348M
2025-11-27 13:01:48.708769281 UTC 1904M 6346M
2025-11-27 13:01:49.708892394 UTC 1909M 6341M
2025-11-27 13:01:50.708640277 UTC 1909M 6341M

@github-actions
Copy link

Transaction cost differences

No cost or size differences found

@noonio
Copy link
Contributor

noonio commented Nov 12, 2025

@HinsonSIDAN can you take a look at this?

@HinsonSIDAN
Copy link

Yes thinks that's massive help for devexp. Appreciate for taking that up!!!!!

@v0d1ch v0d1ch force-pushed the safeclose branch 2 times, most recently from 73a4d3d to deb9a71 Compare November 27, 2025 08:26
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
Copy link
Contributor

@noonio noonio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@v0d1ch v0d1ch merged commit d850553 into master Nov 27, 2025
22 of 25 checks passed
@v0d1ch v0d1ch deleted the safeclose branch November 27, 2025 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Introduce SafeClose client input

5 participants