Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add address query parameter to ws server #1739

Merged
merged 30 commits into from
Nov 20, 2024

Conversation

ffakenz
Copy link
Contributor

@ffakenz ffakenz commented Nov 11, 2024

To filter transaction server outputs by given address.

Fixes #1719

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

@ffakenz ffakenz self-assigned this Nov 11, 2024
@ffakenz ffakenz changed the title Add address query parameter to websocket Add address query parameter to ws server Nov 11, 2024
Copy link

Transaction cost differences

No cost or size differences found

Copy link

github-actions bot commented Nov 11, 2024

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 2024-11-19 20:51:39.089268154 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial 00a6ddbc130ab92f5b7cb8d1ccd8d79eca5bfe25f6843c07b62841f0 2667
νCommit 3e5a776bcee213e3dfd15806952a10ac5590e3e97d09d62eb99266b2 690
νHead 8fc2a74df32d01d1db56b3acb561831ef9c9970123079423abfcb86e 12622
μHead c40e78e78083a4c137734abe9ac4070cc978842e9755fe88e0c7b922* 11133
νDeposit 2feb47889a4f658dc593cefcb0e37d584b9431944f08a687f3dab4af 4865
  • 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 11721 8.94 2.92 0.76
2 11919 10.63 3.46 0.79
3 12119 12.55 4.10 0.81
5 12527 16.21 5.30 0.87
10 13527 24.97 8.14 1.01
24 16341 49.61 16.14 1.39

Commit transaction costs

This uses ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 558 2.45 1.17 0.20
2 741 3.40 1.74 0.22
3 920 4.39 2.34 0.24
5 1277 6.46 3.61 0.28
10 2174 12.24 7.28 0.40
54 10071 99.20 68.72 1.89

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 560 24.08 7.04 0.42
2 113 675 32.84 9.53 0.51
3 169 786 39.33 11.46 0.59
4 226 893 49.01 14.20 0.69
5 283 1004 61.42 17.53 0.82
6 339 1120 63.93 18.60 0.85
7 394 1227 78.38 22.41 1.00
8 448 1338 79.18 22.99 1.01
9 506 1449 95.76 27.60 1.19

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 651 22.63 7.31 0.41
2 825 25.21 8.70 0.45
3 854 23.87 8.97 0.45
5 1321 31.64 12.50 0.55
10 2208 40.95 18.44 0.71
43 6876 94.78 55.56 1.62

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 684 24.43 8.04 0.44
2 852 26.59 9.49 0.47
3 963 28.03 10.61 0.50
5 1315 31.68 13.21 0.56
10 1863 38.09 18.39 0.67
45 7066 99.92 62.60 1.72

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 690 30.42 9.63 0.50
2 865 32.96 11.18 0.54
3 1064 35.31 12.69 0.57
5 1278 38.36 14.86 0.62
10 2065 49.21 21.86 0.80
34 5695 99.08 54.20 1.59

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 11601 25.67 8.73 0.93
2 11735 34.22 11.63 1.03
3 11948 43.91 15.07 1.14
4 11906 50.22 17.00 1.20
5 12144 57.94 19.74 1.29
6 12306 70.19 23.95 1.43
7 12422 79.10 26.90 1.53
8 12415 77.95 26.38 1.52
9 12686 98.60 33.63 1.75

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 11714 16.25 5.53 0.84
10 1 57 11748 18.46 6.43 0.86
10 5 283 11883 25.87 9.47 0.95
10 10 567 12052 36.22 13.68 1.07
10 20 1137 12391 54.54 21.23 1.29
10 30 1706 12733 72.91 28.78 1.51
10 40 2279 13076 92.69 36.86 1.74
10 44 2504 13208 97.39 38.92 1.80

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 2024-11-19 20:54:29.438717458 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 4.372399016
P99 7.609461029999996ms
P95 5.504811ms
P50 4.2272514999999995ms
Number of Invalid txs 0

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 24.446546945
P99 115.58840205999999ms
P95 35.2708124ms
P50 21.4579755ms
Number of Invalid txs 0

@ffakenz ffakenz force-pushed the server-outputs-filter-by-address branch 14 times, most recently from 4e93804 to 1190bb9 Compare November 13, 2024 15:55
@ffakenz ffakenz marked this pull request as ready for review November 13, 2024 15:55
Copy link

github-actions bot commented Nov 13, 2024

Test Results

  5 files  ±0  162 suites  +1   30m 56s ⏱️ +24s
555 tests +3  548 ✅ +3  7 💤 ±0  0 ❌ ±0 
557 runs  +3  550 ✅ +3  7 💤 ±0  0 ❌ ±0 

Results for commit 0e6b259. ± Comparison against base commit 25f9f72.

♻️ This comment has been updated with latest results.

@ffakenz ffakenz force-pushed the server-outputs-filter-by-address branch 10 times, most recently from 16c8dcf to b8d6111 Compare November 15, 2024 09:54
ffakenz and others added 22 commits November 19, 2024 14:31
* Note utxo inclusion removes the key, whereas
address inclusion may return a mempty utxo if no address found within it
to be able to filter the outputs based on address.

Note we could remove the transaction id from the message as well,
but we did not in order to avoid breaking changes for the moment.
Remove previous changes over SnapshotConfirmed
Missing to check TxValid with new transaction field
so that it matches its behavior
@ffakenz ffakenz force-pushed the server-outputs-filter-by-address branch from d8d1a6e to 76a3ccb Compare November 19, 2024 13:31
@ffakenz ffakenz added this pull request to the merge queue Nov 20, 2024
Merged via the queue into master with commit 8582200 Nov 20, 2024
26 checks passed
@ffakenz ffakenz deleted the server-outputs-filter-by-address branch November 20, 2024 12:22
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.

Filter api messages by UTxO address
3 participants