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

doc binary-sv2 #1231

Merged
merged 9 commits into from
Dec 9, 2024
Merged

doc binary-sv2 #1231

merged 9 commits into from
Dec 9, 2024

Conversation

Shourya742
Copy link
Contributor

@Shourya742 Shourya742 commented Oct 21, 2024

Closes: #1008 , #1009 , #1010

Copy link

codecov bot commented Oct 21, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 19.30%. Comparing base (5bcc26e) to head (0ba42e4).
Report is 10 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1231   +/-   ##
=======================================
  Coverage   19.30%   19.30%           
=======================================
  Files         164      164           
  Lines       10849    10849           
=======================================
  Hits         2094     2094           
  Misses       8755     8755           
Flag Coverage Δ
binary_codec_sv2-coverage 0.00% <ø> (ø)
binary_serde_sv2-coverage 3.65% <ø> (ø)
binary_sv2-coverage 5.48% <ø> (+0.01%) ⬆️
bip32_derivation-coverage 0.00% <ø> (ø)
buffer_sv2-coverage 25.02% <ø> (ø)
codec_sv2-coverage 0.01% <ø> (ø)
common_messages_sv2-coverage 0.13% <ø> (ø)
const_sv2-coverage 0.00% <ø> (ø)
error_handling-coverage 0.00% <ø> (ø)
framing_sv2-coverage 0.29% <ø> (ø)
jd_client-coverage 0.00% <ø> (ø)
jd_server-coverage 7.79% <ø> (ø)
job_declaration_sv2-coverage 0.00% <ø> (ø)
key-utils-coverage 2.39% <ø> (ø)
mining-coverage 2.51% <ø> (ø)
mining_device-coverage 0.00% <ø> (ø)
mining_proxy_sv2-coverage 0.70% <ø> (ø)
noise_sv2-coverage 4.35% <ø> (ø)
pool_sv2-coverage 1.38% <ø> (ø)
protocols 24.72% <ø> (ø)
roles 6.55% <ø> (ø)
roles_logic_sv2-coverage 8.08% <ø> (+0.01%) ⬆️
sv2_ffi-coverage 0.00% <ø> (ø)
template_distribution_sv2-coverage 0.00% <ø> (ø)
translator_sv2-coverage 9.60% <ø> (ø)
utils 25.13% <ø> (ø)
v1-coverage 2.47% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@GitGab19
Copy link
Collaborator

@Shourya742 I think you mentioned the wrong issues in the description

@Shourya742 Shourya742 changed the title doc binary-sv2 [WIP] doc binary-sv2 Oct 22, 2024
@Shourya742
Copy link
Contributor Author

@Shourya742 I think you mentioned the wrong issues in the description

Thanks for pointing it out... Now pointing to correct issues..

Copy link
Contributor

github-actions bot commented Nov 11, 2024

🐰 Bencher Report

Branchdoc-binary-sv2
Testbedsv1
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Upper Boundary
nanoseconds (ns)
(Limit %)
client-submit-serialize📈 view plot
🚷 view threshold
6,532.30
(-2.03%)
7,236.11
(90.27%)
client-submit-serialize-deserialize📈 view plot
🚷 view threshold
7,402.90
(-2.24%)
8,179.43
(90.51%)
client-submit-serialize-deserialize-handle/client-submit-serialize-deserialize-handle📈 view plot
🚷 view threshold
8,076.30
(-0.84%)
8,682.70
(93.02%)
client-sv1-authorize-serialize-deserialize-handle/client-sv1-authorize-serialize-deserialize-handle📈 view plot
🚷 view threshold
891.43
(+2.98%)
931.47
(95.70%)
client-sv1-authorize-serialize-deserialize/client-sv1-authorize-serialize-deserialize📈 view plot
🚷 view threshold
682.29
(+1.28%)
711.54
(95.89%)
client-sv1-authorize-serialize/client-sv1-authorize-serialize📈 view plot
🚷 view threshold
247.93
(-0.47%)
272.77
(90.89%)
client-sv1-get-authorize/client-sv1-get-authorize📈 view plot
🚷 view threshold
162.03
(+2.94%)
165.05
(98.17%)
client-sv1-get-submit📈 view plot
🚷 view threshold
6,419.80
(-0.97%)
7,198.83
(89.18%)
client-sv1-get-subscribe/client-sv1-get-subscribe📈 view plot
🚷 view threshold
279.59
(+0.13%)
303.87
(92.01%)
client-sv1-subscribe-serialize-deserialize-handle/client-sv1-subscribe-serialize-deserialize-handle📈 view plot
🚷 view threshold
768.50
(+5.15%)
803.34
(95.66%)
client-sv1-subscribe-serialize-deserialize/client-sv1-subscribe-serialize-deserialize📈 view plot
🚷 view threshold
600.39
(+1.28%)
640.82
(93.69%)
client-sv1-subscribe-serialize/client-sv1-subscribe-serialize📈 view plot
🚷 view threshold
205.26
(-0.09%)
215.18
(95.39%)
🐰 View full continuous benchmarking report in Bencher

Copy link
Contributor

github-actions bot commented Nov 11, 2024

🐰 Bencher Report

Branchdoc-binary-sv2
Testbedsv2

🚨 4 Alerts

BenchmarkMeasure
Units
ViewBenchmark Result
(Result Δ%)
Upper Boundary
(Limit %)
client_sv2_handle_message_miningEstimated Cycles
estimated cycles
📈 plot
🚨 alert (🔕)
🚷 threshold
8,314.00
(+1.32%)
8,310.00
(100.05%)
client_sv2_handle_message_miningRAM Accesses
accesses
📈 plot
🚨 alert (🔕)
🚷 threshold
142.00
(+2.08%)
141.86
(100.10%)
client_sv2_mining_message_submit_standard_serialize_deserializeL2 Accesses
accesses
📈 plot
🚨 alert (🔔)
🚷 threshold
94.00
(+14.89%)
92.40
(101.73%)
client_sv2_open_channel_serialize_deserializeL2 Accesses
accesses
📈 plot
🚨 alert (🔔)
🚷 threshold
87.00
(+16.51%)
86.12
(101.02%)
Click to view all benchmark results
BenchmarkEstimated CyclesBenchmark Result
estimated cycles
(Result Δ%)
Upper Boundary
estimated cycles
(Limit %)
InstructionsBenchmark Result
instructions
(Result Δ%)
Upper Boundary
instructions
(Limit %)
L1 AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
L2 AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
RAM AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
client_sv2_handle_message_common📈 view plot
🚷 view threshold
2,121.00
(+1.06%)
2,216.01
(95.71%)
📈 view plot
🚷 view threshold
473.00
(-0.08%)
488.59
(96.81%)
📈 view plot
🚷 view threshold
736.00
(-0.00%)
757.32
(97.18%)
📈 view plot
🚷 view threshold
4.00
(-23.47%)
13.31
(30.05%)
📈 view plot
🚷 view threshold
39.00
(+2.13%)
41.41
(94.18%)
client_sv2_handle_message_mining📈 view plot
🚨 view alert (🔕)
🚷 view threshold
8,314.00
(+1.32%)
8,310.00
(100.05%)
📈 view plot
🚷 view threshold
2,137.00
(-0.03%)
2,143.08
(99.72%)
📈 view plot
🚷 view threshold
3,154.00
(-0.21%)
3,170.89
(99.47%)
📈 view plot
🚷 view threshold
38.00
(+7.44%)
41.28
(92.05%)
📈 view plot
🚨 view alert (🔕)
🚷 view threshold
142.00
(+2.08%)
141.86
(100.10%)
client_sv2_mining_message_submit_standard📈 view plot
🚷 view threshold
6,353.00
(+1.09%)
6,412.03
(99.08%)
📈 view plot
🚷 view threshold
1,750.00
(-0.05%)
1,766.93
(99.04%)
📈 view plot
🚷 view threshold
2,548.00
(-0.21%)
2,575.81
(98.92%)
📈 view plot
🚷 view threshold
19.00
(+12.23%)
24.23
(78.43%)
📈 view plot
🚷 view threshold
106.00
(+1.75%)
107.72
(98.41%)
client_sv2_mining_message_submit_standard_serialize📈 view plot
🚷 view threshold
14,778.00
(+0.36%)
14,940.56
(98.91%)
📈 view plot
🚷 view threshold
4,694.00
(-0.02%)
4,710.93
(99.64%)
📈 view plot
🚷 view threshold
6,748.00
(-0.16%)
6,782.98
(99.48%)
📈 view plot
🚷 view threshold
52.00
(+18.96%)
55.09
(94.39%)
📈 view plot
🚷 view threshold
222.00
(+0.28%)
226.98
(97.81%)
client_sv2_mining_message_submit_standard_serialize_deserialize📈 view plot
🚷 view threshold
27,766.00
(+0.80%)
27,870.77
(99.62%)
📈 view plot
🚷 view threshold
10,645.00
(+0.53%)
10,665.93
(99.80%)
📈 view plot
🚷 view threshold
15,501.00
(+0.59%)
15,536.22
(99.77%)
📈 view plot
🚨 view alert (🔔)
🚷 view threshold
94.00
(+14.89%)
92.40
(101.73%)
📈 view plot
🚷 view threshold
337.00
(+0.59%)
341.51
(98.68%)
client_sv2_open_channel📈 view plot
🚷 view threshold
4,451.00
(+1.37%)
4,577.39
(97.24%)
📈 view plot
🚷 view threshold
1,461.00
(-0.03%)
1,476.59
(98.94%)
📈 view plot
🚷 view threshold
2,156.00
(-0.20%)
2,183.70
(98.73%)
📈 view plot
🚷 view threshold
11.00
(+27.08%)
16.37
(67.20%)
📈 view plot
🚷 view threshold
64.00
(+2.41%)
67.54
(94.75%)
client_sv2_open_channel_serialize📈 view plot
🚷 view threshold
14,040.00
(+0.02%)
14,323.63
(98.02%)
📈 view plot
🚷 view threshold
5,064.00
(-0.01%)
5,079.59
(99.69%)
📈 view plot
🚷 view threshold
7,320.00
(-0.09%)
7,351.02
(99.58%)
📈 view plot
🚷 view threshold
42.00
(+19.04%)
44.54
(94.30%)
📈 view plot
🚷 view threshold
186.00
(-0.36%)
194.94
(95.41%)
client_sv2_open_channel_serialize_deserialize📈 view plot
🚷 view threshold
22,798.00
(+0.59%)
22,925.46
(99.44%)
📈 view plot
🚷 view threshold
8,040.00
(+0.19%)
8,069.76
(99.63%)
📈 view plot
🚷 view threshold
11,688.00
(+0.12%)
11,743.32
(99.53%)
📈 view plot
🚨 view alert (🔔)
🚷 view threshold
87.00
(+16.51%)
86.12
(101.02%)
📈 view plot
🚷 view threshold
305.00
(+0.54%)
310.40
(98.26%)
client_sv2_setup_connection📈 view plot
🚷 view threshold
4,715.00
(+0.63%)
4,779.63
(98.65%)
📈 view plot
🚷 view threshold
1,502.00
(-0.03%)
1,517.59
(98.97%)
📈 view plot
🚷 view threshold
2,275.00
(-0.15%)
2,299.22
(98.95%)
📈 view plot
🚷 view threshold
12.00
(+24.78%)
16.56
(72.45%)
📈 view plot
🚷 view threshold
68.00
(+0.89%)
69.90
(97.28%)
client_sv2_setup_connection_serialize📈 view plot
🚷 view threshold
16,214.00
(+0.33%)
16,413.36
(98.79%)
📈 view plot
🚷 view threshold
5,963.00
(-0.01%)
5,978.59
(99.74%)
📈 view plot
🚷 view threshold
8,654.00
(-0.12%)
8,691.12
(99.57%)
📈 view plot
🚷 view threshold
49.00
(+22.86%)
53.34
(91.86%)
📈 view plot
🚷 view threshold
209.00
(+0.24%)
215.05
(97.19%)
client_sv2_setup_connection_serialize_deserialize📈 view plot
🚷 view threshold
35,718.00
(+0.44%)
35,812.06
(99.74%)
📈 view plot
🚷 view threshold
14,888.00
(+0.22%)
14,911.77
(99.84%)
📈 view plot
🚷 view threshold
21,868.00
(+0.20%)
21,922.38
(99.75%)
📈 view plot
🚷 view threshold
110.00
(+19.26%)
111.75
(98.43%)
📈 view plot
🚷 view threshold
380.00
(+0.19%)
384.90
(98.73%)
🐰 View full continuous benchmarking report in Bencher

Copy link
Contributor

github-actions bot commented Nov 11, 2024

🐰 Bencher Report

Branchdoc-binary-sv2
Testbedsv1
Click to view all benchmark results
BenchmarkEstimated CyclesBenchmark Result
estimated cycles
(Result Δ%)
Upper Boundary
estimated cycles
(Limit %)
InstructionsBenchmark Result
instructions
(Result Δ%)
Upper Boundary
instructions
(Limit %)
L1 AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
L2 AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
RAM AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
get_authorize📈 view plot
🚷 view threshold
8,436.00
(-0.33%)
8,731.35
(96.62%)
📈 view plot
🚷 view threshold
3,663.00
(-2.19%)
3,867.88
(94.70%)
📈 view plot
🚷 view threshold
5,111.00
(-2.64%)
5,447.38
(93.82%)
📈 view plot
🚷 view threshold
7.00
(-4.88%)
13.98
(50.07%)
📈 view plot
🚷 view threshold
94.00
(+3.55%)
95.66
(98.27%)
get_submit📈 view plot
🚷 view threshold
95,354.00
(-0.07%)
95,876.65
(99.45%)
📈 view plot
🚷 view threshold
59,263.00
(-0.32%)
59,711.89
(99.25%)
📈 view plot
🚷 view threshold
85,074.00
(-0.37%)
85,811.70
(99.14%)
📈 view plot
🚷 view threshold
47.00
(+5.51%)
62.07
(75.72%)
📈 view plot
🚷 view threshold
287.00
(+2.39%)
290.07
(98.94%)
get_subscribe📈 view plot
🚷 view threshold
7,957.00
(-0.77%)
8,277.96
(96.12%)
📈 view plot
🚷 view threshold
2,758.00
(-2.58%)
2,945.89
(93.62%)
📈 view plot
🚷 view threshold
3,832.00
(-3.11%)
4,137.03
(92.63%)
📈 view plot
🚷 view threshold
13.00
(+8.90%)
20.51
(63.40%)
📈 view plot
🚷 view threshold
116.00
(+1.41%)
118.64
(97.77%)
serialize_authorize📈 view plot
🚷 view threshold
12,221.00
(-0.50%)
12,566.61
(97.25%)
📈 view plot
🚷 view threshold
5,240.00
(-1.45%)
5,434.43
(96.42%)
📈 view plot
🚷 view threshold
7,281.00
(-1.78%)
7,604.18
(95.75%)
📈 view plot
🚷 view threshold
8.00
(-13.00%)
16.70
(47.90%)
📈 view plot
🚷 view threshold
140.00
(+1.58%)
142.66
(98.13%)
serialize_deserialize_authorize📈 view plot
🚷 view threshold
24,658.00
(-0.17%)
25,211.50
(97.80%)
📈 view plot
🚷 view threshold
9,786.00
(-1.01%)
10,044.64
(97.43%)
📈 view plot
🚷 view threshold
13,788.00
(-1.20%)
14,208.79
(97.04%)
📈 view plot
🚷 view threshold
32.00
(-7.62%)
43.67
(73.28%)
📈 view plot
🚷 view threshold
306.00
(+1.31%)
314.84
(97.19%)
serialize_deserialize_handle_authorize📈 view plot
🚷 view threshold
30,291.00
(-0.12%)
30,746.30
(98.52%)
📈 view plot
🚷 view threshold
11,989.00
(-0.72%)
12,211.54
(98.18%)
📈 view plot
🚷 view threshold
16,951.00
(-0.87%)
17,312.12
(97.91%)
📈 view plot
🚷 view threshold
57.00
(+2.59%)
67.28
(84.72%)
📈 view plot
🚷 view threshold
373.00
(+0.81%)
381.42
(97.79%)
serialize_deserialize_handle_submit📈 view plot
🚷 view threshold
126,464.00
(-0.01%)
126,894.49
(99.66%)
📈 view plot
🚷 view threshold
73,117.00
(-0.22%)
73,529.44
(99.44%)
📈 view plot
🚷 view threshold
104,759.00
(-0.28%)
105,475.17
(99.32%)
📈 view plot
🚷 view threshold
113.00
(+6.02%)
130.27
(86.74%)
📈 view plot
🚷 view threshold
604.00
(+1.20%)
606.86
(99.53%)
serialize_deserialize_handle_subscribe📈 view plot
🚷 view threshold
27,901.00
(+0.15%)
28,577.15
(97.63%)
📈 view plot
🚷 view threshold
9,577.00
(-0.72%)
9,759.36
(98.13%)
📈 view plot
🚷 view threshold
13,516.00
(-0.92%)
13,822.80
(97.78%)
📈 view plot
🚷 view threshold
70.00
(+10.01%)
76.42
(91.60%)
📈 view plot
🚷 view threshold
401.00
(+0.98%)
416.17
(96.35%)
serialize_deserialize_submit📈 view plot
🚷 view threshold
115,177.00
(-0.07%)
115,784.15
(99.48%)
📈 view plot
🚷 view threshold
67,894.00
(-0.30%)
68,416.43
(99.24%)
📈 view plot
🚷 view threshold
97,357.00
(-0.38%)
98,266.27
(99.07%)
📈 view plot
🚷 view threshold
71.00
(+12.78%)
79.91
(88.85%)
📈 view plot
🚷 view threshold
499.00
(+1.46%)
500.49
(99.70%)
serialize_deserialize_subscribe📈 view plot
🚷 view threshold
23,262.00
(-0.07%)
23,955.24
(97.11%)
📈 view plot
🚷 view threshold
8,129.00
(-0.88%)
8,315.95
(97.75%)
📈 view plot
🚷 view threshold
11,427.00
(-1.07%)
11,730.83
(97.41%)
📈 view plot
🚷 view threshold
36.00
(-3.62%)
44.96
(80.08%)
📈 view plot
🚷 view threshold
333.00
(+0.98%)
346.87
(96.00%)
serialize_submit📈 view plot
🚷 view threshold
99,811.00
(-0.03%)
100,298.80
(99.51%)
📈 view plot
🚷 view threshold
61,325.00
(-0.28%)
61,742.15
(99.32%)
📈 view plot
🚷 view threshold
87,931.00
(-0.34%)
88,643.24
(99.20%)
📈 view plot
🚷 view threshold
52.00
(+11.23%)
64.55
(80.55%)
📈 view plot
🚷 view threshold
332.00
(+2.14%)
335.16
(99.06%)
serialize_subscribe📈 view plot
🚷 view threshold
11,436.00
(+0.24%)
11,678.40
(97.92%)
📈 view plot
🚷 view threshold
4,111.00
(-1.62%)
4,288.28
(95.87%)
📈 view plot
🚷 view threshold
5,691.00
(-2.09%)
5,989.94
(95.01%)
📈 view plot
🚷 view threshold
15.00
(+15.80%)
21.36
(70.24%)
📈 view plot
🚷 view threshold
162.00
(+2.51%)
163.73
(98.94%)
🐰 View full continuous benchmarking report in Bencher

Copy link
Contributor

github-actions bot commented Nov 11, 2024

🐰 Bencher Report

Branchdoc-binary-sv2
Testbedsv2
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Upper Boundary
nanoseconds (ns)
(Limit %)
client_sv2_handle_message_common📈 view plot
🚷 view threshold
45.20
(+1.30%)
47.07
(96.03%)
client_sv2_handle_message_mining📈 view plot
🚷 view threshold
96.80
(+25.23%)
104.80
(92.37%)
client_sv2_mining_message_submit_standard📈 view plot
🚷 view threshold
14.68
(+0.10%)
14.78
(99.31%)
client_sv2_mining_message_submit_standard_serialize📈 view plot
🚷 view threshold
275.99
(+4.42%)
301.79
(91.45%)
client_sv2_mining_message_submit_standard_serialize_deserialize📈 view plot
🚷 view threshold
629.56
(+2.36%)
690.36
(91.19%)
client_sv2_open_channel📈 view plot
🚷 view threshold
162.78
(+3.55%)
195.56
(83.24%)
client_sv2_open_channel_serialize📈 view plot
🚷 view threshold
287.45
(+0.71%)
313.47
(91.70%)
client_sv2_open_channel_serialize_deserialize📈 view plot
🚷 view threshold
376.85
(-1.25%)
410.08
(91.90%)
client_sv2_setup_connection📈 view plot
🚷 view threshold
181.67
(+12.44%)
187.09
(97.10%)
client_sv2_setup_connection_serialize📈 view plot
🚷 view threshold
455.59
(-3.33%)
561.84
(81.09%)
client_sv2_setup_connection_serialize_deserialize📈 view plot
🚷 view threshold
995.11
(+0.80%)
1,096.16
(90.78%)
🐰 View full continuous benchmarking report in Bencher

@stratum-mining stratum-mining deleted a comment from github-actions bot Nov 12, 2024
@stratum-mining stratum-mining deleted a comment from github-actions bot Nov 12, 2024
@stratum-mining stratum-mining deleted a comment from github-actions bot Nov 12, 2024
@stratum-mining stratum-mining deleted a comment from github-actions bot Nov 12, 2024
Copy link
Collaborator

@rrybarczyk rrybarczyk left a comment

Choose a reason for hiding this comment

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

Here is the first chunk of a review.

Some of the changes I suggested in decodable.rs can be extrapolated to other files. Specifically we need to avoid language like "This method", "This implementation", etc. and just directly say what it is (the language does not really need to change beyond the removal of the qualifiers). Also, we need to make sure each line goes up to 100 characters.

Do we have examples to add?

@Shourya742 Shourya742 marked this pull request as ready for review November 26, 2024 17:08
@Shourya742 Shourya742 changed the title [WIP] doc binary-sv2 doc binary-sv2 Nov 26, 2024
@plebhash
Copy link
Collaborator

plebhash commented Dec 5, 2024

I approved

let's aim to merge this as soon as we fix CI issues

Copy link
Contributor

@jbesraa jbesraa left a comment

Choose a reason for hiding this comment

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

While reading this I got the right context about what is this about and how things are working together. great job!

Added few comments and will be doing another review once they are addressed.

In regards to the commit history, I think having 15 commits is a bit too much for this pull request. Think about the history of the main branch once we merge this. There will too many commits addressing the same-ish thing.

[![rustc+](https://img.shields.io/badge/rustc-1.75.0%2B-lightgrey.svg)](https://blog.rust-lang.org/2023/12/28/Rust-1.75.0.html)
[![license](https://img.shields.io/badge/license-MIT%2FApache--2.0-blue.svg)](https://github.com/stratum-mining/stratum/blob/main/LICENSE.md)

`binary-sv2` is a Rust crate that helps serialize and deserialize binary data into Stratum V2 messages — either through `serde` or custom trait-based setup. Allowing it to be used in environment(s) where std or/and serde are not available.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there an example on how to use the "custom trait-based setup" ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The example in the example folder is for the custom-trait based one.

protocols/v2/binary-sv2/binary-sv2/README.md Outdated Show resolved Hide resolved
protocols/v2/binary-sv2/binary-sv2/README.md Show resolved Hide resolved
protocols/v2/binary-sv2/binary-sv2/README.md Outdated Show resolved Hide resolved
protocols/v2/binary-sv2/binary-sv2/README.md Outdated Show resolved Hide resolved
Copy link
Contributor

@jbesraa jbesraa left a comment

Choose a reason for hiding this comment

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

ACK

Please just fixup last commit to the appropriate commit

@Shourya742
Copy link
Contributor Author

ACK

Please just fixup last commit to the appropriate commit

Done
Thanks for review @rrybarczyk , @jbesraa and @plebhash . This PR is now rebased to latest main and is ready to be merged.

@plebhash plebhash added the ready-to-be-merged triggers auto rebase bot label Dec 9, 2024
@GitGab19 GitGab19 dismissed rrybarczyk’s stale review December 9, 2024 14:54

old review, everything was addressed, now it's just blocking the PR

@GitGab19 GitGab19 merged commit b32485d into stratum-mining:main Dec 9, 2024
38 checks passed
plebhash added a commit to plebhash/stratum that referenced this pull request Dec 18, 2024
plebhash added a commit to plebhash/stratum that referenced this pull request Dec 18, 2024
AkulovOleg added a commit to nomium-org/stratum that referenced this pull request Jan 14, 2025
* tp_authority_public_key update

* lock version for cargo semver-checks

* Use shorter relative path

.. and fix some styling inconsistency

* Rewrite docs in `common_messages_sv2` ..

As part of the effort to improve Stratum V2 protocols docs, this commit
aims to improves and make the documentation more comprehensive and
accessible for contributors and end users alike.

* Add README.md ..

Use the template README used across the different Stratum V2 protocol
crates to `common_messages_sv2` crate.

* modify sv2.h to make it consistent with comments changes

* Use shorter relative path

* Add README file

* Improve Job Declaration Documentation

* Add README file

* Use shorter paths

* Improve `Template Distribution` subprotocol docs

* modify sv2.h to make it consistent with comments changes

* add binary-sv2 docs

* add binary-sv2 readme.md

* add binary-sv2 custom trait example

* add binary-sv2 no-serde derive-codec docs

* add binary-sv2 no-serde derive-codec readme

* add binary-sv2 no-serde codec readme

* add binary-sv2 no-serde codec docs

* update sv2.h for binary_sv2 docs

* change doc test in derive_codec

* Minor warning and error grammar and typo fixes

* bump jdc

* Slice docs

* Buffer docs

* Lib WriteError, Write, Buffer docs

* Back buffer pool docs

* Front buffer pool docs

* InnerMemory buffer pool docs

* PoolMode docs

* BufferPool docs

* Top buffer_pool mod docs

* Buffer pool examples

* Top level crate docs + clean up

* Update README

* Sniffer::wait_for_message_type

* fix unwrap on sv1-mining-device tcp connection..

Update roles/test-utils/mining-device-sv1/src/client.rs

Co-authored-by: jbesraa <[email protected]>

* remove redundant Drop implementation from ITF TemplateProvider

* Add `translator_sv2` test

* use macos-14 as  macos runner

* disable MG tproxy CI

* Have JDS ping local mempool less frequently

Otherwise Bitcoin Core -debug=rpc logging becomes too noisy.

* Use shorter paths

* Add README mining subprotocol

* Rewrite mining subprotocol docs

* Create a lib for `mining-sv2-proxy`

* Add `mining-sv2-proxy` initializer

* lock semver-checks to 37 while replacing MSRV with stable

* bump serde_v2 major to 2.0.0..

since v37, cargo semver-checks enforces that removal of features are breaking changes

therefore we need to update serde_v2 as a follow up to stratum-mining#1230

* bump binary_sv2 for serde_sv2 dependency..

since we bumpbed serde_sv2 to 2.0.0

* bump sv2_ffi for serde_sv2 dependency..

since we bumpted serde_sv2 to 2.0.0

* bump roles/Cargo.lock..

since we bumped serde_sv2 and binary_sv2

* bump const_sv2 major to 3.0.0..

since v37, cargo semver-checks enforces that removal of features are breaking changes

therefore we need to update serde_v2 as a follow up to stratum-mining#1230

* bump noise_sv2 for const_sv2 dependency..

since we bumpbed const_sv2 to 3.0.0

* bump framing_sv2 for const_sv2 dependency..

since we bumpbed const_sv2 to 3.0.0

* bump codec_sv2 for const_sv2 dependency..

since we bumpbed const_sv2 to 3.0.0

* bump subprotocols for const_sv2 dependency..

since we bumpbed const_sv2 to 3.0.0

* bump sv2_ffi for const_sv2 dependency..

since we bumpbed const_sv2 to 3.0.0

* bump roles_logic_sv2 for const_sv2 dependency..

since we bumpbed const_sv2 to 3.0.0

* bump roles due to const_sv2 bump to 3.0.0

* bump framing_sv2 major to 3.0.0..

since v37, cargo semver-checks enforces that removal of features are breaking changes

therefore we need to update framing_v2 as a follow up to stratum-mining#1230

* bump codec_sv2 for framing_sv2 dependency..

since we bumped framing_sv2 to 3.0.0

* bump framing_sv2 dendency version on roles_logic_sv2..

crate version has already been bumped before release. no need to bump again

* bump roles due to framing_sv2 bump

* bump benches due to framing_sv2 bump

* bump message_generator_sv2 due to const_sv2

* change macos-14 to macos-13

* bump buffer_sv2..

as a follow up to stratum-mining#1230

* bump buffer_sv2 dep on roles/Cargo.lock

* bump buffer_sv2 dep on utils/Cargo.lock

* bump derive_codec_sv2..

as a consequence of stratum-mining#1231

* bump derive_codec_sv2 dep on roles/Cargo.lock

* Add framing sv2 frame and handshake frame ex

* /// -> // for private types+fns

* framing mod doc cmts + clean

* Add framing README

* add codecov.yml to remove ci error

* feat: update println! and eprintln! to info using tracing cargo.

* Wait for `NewTemplate` message to arrive instead

of failing if it is not there yet when we first check

* ci: bump TP to 0.1.13

* test: increase TP log timestamp precision

Also log rpc calls.

* `common_messages_sv2` `job_declaration_sv2` `mining_sv2` `template_distribution_sv2`: remove the `no_std` feature and make them `#![no_std]` as they never use `std` anywhere.

- bump their MAJOR version because of feature removal
- bump the dependant crates PATCH version
- updates docs

* fix: clarify logging

* remove readme field from Cargo.toml of crates that dont have a README.md

* add release-libs.sh

* release-libs.yaml use 1.75.0 toolchain

* remove readme field from Cargo.toml of crates that dont have a README.md

* avoid publishing protocols crates with all-features..

publishing with all-features is overengineering:
- no_std is being deprecated
- with_serde will be deprecated soon
- for crates with relevant features, we specifically list them for publishing

* min_ntime fix to use the one sent by TP

* header_timestamp_value_assertion_in_new_extended_mining_job test addition

* bump PATCH after timestamp-bug fix (stratum-mining#1324)

* update lockfile after roles_logic patch

* Test Pool role behavior if bad `coinbase_output`..

is provided

* Remove bad pool config MG test

* Move sniffer test to a separate file

* Derive Clone+Debug for `JobDeclaratorClient`

* Derive Clone+Debug for `JobDeclaratorServer`

* Align all integration test start_* ..

functions return signature

* Make Sniffer::drop output more verbose

* Add README.md to integration-tests

* Move integration tests to separate GH action

* Rename integration tests crate..

it's important to have a descriptive name for when this is published to crates.io

* Modularize integration tests APIs..

into the following modules:
- lib: with general purpose functions (e.g.: starters)
- sniffer
- template_provider

* Remove redundant `TestPoolSv2`..

this struct is redundant and no other roles follow this pattern
we can do the initialization inside `start_pool`

* Fix variable naming on `wait_for_client`..

the `SocketAddr` is not a client, but the socket where we will listen to
also, `listner` is a typo

* Rename sniffer channel variables..

the original naming was confusing copypasta

* Create `utils.rs` in `tests-integration`

..to hold utility functions used internaly only.

* noise_sv2: keep current (std) API unchanged, add a no_std compliant API with `*_with_rng` and `*_with_now`

* generate cargo lock

---------

Co-authored-by: GitGab19 <[email protected]>
Co-authored-by: plebhash <[email protected]>
Co-authored-by: plebhash <[email protected]>
Co-authored-by: jbesraa <[email protected]>
Co-authored-by: bit-aloo <[email protected]>
Co-authored-by: Gabriele Vernetti <[email protected]>
Co-authored-by: Pavlenex <[email protected]>
Co-authored-by: RJ Rybarczyk <[email protected]>
Co-authored-by: Sjors Provoost <[email protected]>
Co-authored-by: devworlds <[email protected]>
Co-authored-by: Georges Palauqui <[email protected]>
Co-authored-by: Gary Krause <[email protected]>
Co-authored-by: Oleg Akulov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-be-merged triggers auto rebase bot
Projects
None yet
5 participants