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

feat: encode withdrawal id's on-chain in their respective transaction's OP_RETURN #1512

Merged
merged 133 commits into from
Mar 20, 2025
Merged
Changes from 1 commit
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
08558ac
initial commit of idpack crate
cylewitruk Mar 7, 2025
27725f5
Merge branch 'main' into feat/idpack
cylewitruk Mar 7, 2025
0af963c
expose more pub from crate
cylewitruk Mar 7, 2025
9bf47de
remove tests
cylewitruk Mar 7, 2025
04f4a16
Merge branch 'main' into feat/idpack
cylewitruk Mar 7, 2025
37425a3
add cargo vet exemptions for new deps (create baseline)
cylewitruk Mar 7, 2025
34afdb6
refactors and simplifications
cylewitruk Mar 10, 2025
0602ecf
Merge branch 'main' into feat/idpack
cylewitruk Mar 10, 2025
1fbaa45
vet prune
cylewitruk Mar 10, 2025
dbe9771
clean up
cylewitruk Mar 10, 2025
8349faa
update comments
cylewitruk Mar 10, 2025
02e84cd
use index vs iter
cylewitruk Mar 10, 2025
93bc389
comments
cylewitruk Mar 10, 2025
177a82e
fix bitmap segmenter and minor cleanup
cylewitruk Mar 10, 2025
60d82c9
use checked shifts
cylewitruk Mar 10, 2025
d21f12e
lint
cylewitruk Mar 11, 2025
36885e3
Merge branch 'main' into feat/idpack
cylewitruk Mar 11, 2025
94fd587
seems to work
cylewitruk Mar 13, 2025
d181f87
Merge branch 'main' into feat/on-chain-withdrawal-ids
cylewitruk Mar 13, 2025
cd2c622
Merge branch 'main' into feat/idpack
cylewitruk Mar 13, 2025
bd20caa
remove leb128 try_decode_exact
cylewitruk Mar 13, 2025
852ccb0
leb128 pr nits
cylewitruk Mar 13, 2025
70ee2f6
fix panic in 'segment::values'
cylewitruk Mar 13, 2025
5561309
remove 'segment::density'
cylewitruk Mar 13, 2025
5c1e3dd
last boundary condition always true
cylewitruk Mar 13, 2025
50c4bac
remove segment::new_from
cylewitruk Mar 13, 2025
42f2744
remove segment::is_sequential
cylewitruk Mar 13, 2025
9a1338b
improve segment::insert
cylewitruk Mar 13, 2025
dca429a
remove segment::new in favor of segment::new_with_offset
cylewitruk Mar 13, 2025
ee27813
improve segment::range and segment::max_value
cylewitruk Mar 13, 2025
fb9f6f2
comment fmt
cylewitruk Mar 13, 2025
e503e01
reorder adds
cylewitruk Mar 13, 2025
2ae7c6f
remove segment indexer
cylewitruk Mar 13, 2025
a01717c
comment updates
cylewitruk Mar 13, 2025
46492cb
estimate payload with leb-encoded header and remove alloc check in bi…
cylewitruk Mar 13, 2025
92a9a3c
add parens around bit operations
cylewitruk Mar 13, 2025
b02d783
pr comments
cylewitruk Mar 13, 2025
0cbf439
dynamic deposit amount in test
cylewitruk Mar 14, 2025
fa71da7
remove segment::is_empty and some other minor stuff
cylewitruk Mar 14, 2025
4cbaa78
allow empty 'Segments' in encoder, returns empty vec
cylewitruk Mar 14, 2025
d0370cf
safety comment for bitset encode
cylewitruk Mar 14, 2025
97af00b
remove alloc/value limit checks in bitset encode
cylewitruk Mar 14, 2025
881883f
Merge branch 'main' into feat/idpack
cylewitruk Mar 14, 2025
8113cde
Merge branch 'main' into feat/on-chain-withdrawal-ids
cylewitruk Mar 14, 2025
89e9380
update calculation in test
cylewitruk Mar 14, 2025
abe9c34
rename 'estimate_payload_size' to 'calculate_payload_size'
cylewitruk Mar 17, 2025
e09ed6a
add bitmap segmenter tests
cylewitruk Mar 17, 2025
d85f48f
remove single-encoding and the encodingstrategy trait
cylewitruk Mar 17, 2025
10df81a
bitmap encoding uses 4 bits for embedded length
cylewitruk Mar 17, 2025
15ea938
make encode infallible
cylewitruk Mar 17, 2025
54b0392
super-simplification
cylewitruk Mar 18, 2025
d67305d
cargo vet stuff
cylewitruk Mar 18, 2025
1f13a4b
Merge branch 'main' into feat/idpack
cylewitruk Mar 18, 2025
4d6566e
separate out leb128
cylewitruk Mar 18, 2025
4f20005
cargo vet
cylewitruk Mar 18, 2025
3dad3ba
Merge branch 'feat/leb128' into feat/idpack
cylewitruk Mar 18, 2025
61af49b
merge leb128 branch
cylewitruk Mar 18, 2025
241b627
Merge branch 'feat/idpack' into feat/on-chain-withdrawal-ids
cylewitruk Mar 18, 2025
35c9262
merge in idpack branch and main, fix remaining issues
cylewitruk Mar 18, 2025
993731d
fixes to handle checked_shl 'non-overflow'
cylewitruk Mar 18, 2025
9e11140
also check read byte count
cylewitruk Mar 18, 2025
d6897bc
also check that cursor reached end of buffer
cylewitruk Mar 18, 2025
1e67bf7
explicitly verify continuation bits
cylewitruk Mar 18, 2025
37d671e
fix test that wasn't using all 10 bytes
cylewitruk Mar 18, 2025
f6e9f00
add some additional comments
cylewitruk Mar 18, 2025
76894a7
explicit no default features for proptest
cylewitruk Mar 18, 2025
43c47b2
Merge branch 'main' into feat/leb128
cylewitruk Mar 18, 2025
4e637a4
pr nits
cylewitruk Mar 18, 2025
7a3d243
new const and documentaton for constants
cylewitruk Mar 18, 2025
5a509bf
update comment
cylewitruk Mar 18, 2025
3308ed0
const
cylewitruk Mar 19, 2025
57b6cb2
Merge branch 'feat/leb128' into feat/idpack
cylewitruk Mar 19, 2025
1b2ea9b
no default features
cylewitruk Mar 19, 2025
ab831d6
update idpack module docstring
cylewitruk Mar 19, 2025
f5d6cc8
update alloc bytes limit const docstring
cylewitruk Mar 19, 2025
8c2622b
use self.max in try_insert
cylewitruk Mar 19, 2025
c0cbe8a
remove is_empty() check
cylewitruk Mar 19, 2025
437f800
remove has_values() and value_count()
cylewitruk Mar 19, 2025
f41111d
update segment display/comment
cylewitruk Mar 19, 2025
62695c7
use u64::max in test_new_segment
cylewitruk Mar 19, 2025
d91a58b
also check offset and tweak max in test_ordered_insertion
cylewitruk Mar 19, 2025
fde4f7b
also check offet in test_range_calculation
cylewitruk Mar 19, 2025
b0a2d59
remove segments iterator
cylewitruk Mar 19, 2025
0b19013
remove unused emptyinput segmenter error
cylewitruk Mar 19, 2025
d5c6fe9
remove unused sizeestimation segmenter error
cylewitruk Mar 19, 2025
fa7b59b
remove commented code in bitmap segmenter
cylewitruk Mar 19, 2025
739297e
update find_segment_boundaries comment
cylewitruk Mar 19, 2025
92267d4
return segments instead of mut param
cylewitruk Mar 19, 2025
dd20c07
cliffhanger comment
cylewitruk Mar 19, 2025
98a49ba
add start..end safety comment
cylewitruk Mar 19, 2025
cbe38bc
remove 'handles special cases for byte-perfect boundary detection'
cylewitruk Mar 19, 2025
32a3a8b
remove segmentstate type
cylewitruk Mar 19, 2025
1f8e601
don't need to track first segment
cylewitruk Mar 19, 2025
31b73bf
encoder safety comment updates
cylewitruk Mar 19, 2025
75ccd30
remove bitset encoding reference
cylewitruk Mar 19, 2025
80d4a56
re-add duplicate checks
cylewitruk Mar 19, 2025
938a8e1
Merge branch 'feat/idpack' into feat/on-chain-withdrawal-ids
cylewitruk Mar 19, 2025
f97605f
fix tests after main
cylewitruk Mar 19, 2025
665055c
Merge branch 'main' into feat/leb128
cylewitruk Mar 19, 2025
8d519ae
Merge branch 'feat/leb128' into feat/idpack
cylewitruk Mar 19, 2025
82d26af
Merge branch 'feat/idpack' into feat/on-chain-withdrawal-ids
cylewitruk Mar 19, 2025
ed8abdd
last nit
cylewitruk Mar 20, 2025
49ff6e0
Merge branch 'feat/leb128' into feat/idpack
cylewitruk Mar 20, 2025
1a29253
rename values to payload_values
cylewitruk Mar 20, 2025
3d2e9fc
move segmenter size estimator to bitmapsegmenter
cylewitruk Mar 20, 2025
add7e07
remove unnecessary safety check in encode
cylewitruk Mar 20, 2025
8daffb3
remove extra sort/unique step in test
cylewitruk Mar 20, 2025
36450ca
segments overlap test case tweaks
cylewitruk Mar 20, 2025
50fd2cb
safety comment
cylewitruk Mar 20, 2025
e1a53ee
Merge branch 'feat/idpack' into feat/on-chain-withdrawal-ids
cylewitruk Mar 20, 2025
0bd7d43
remove eprintln
cylewitruk Mar 20, 2025
1692989
use assert_gt
cylewitruk Mar 20, 2025
5385e60
withdrawal_id weighted comment
cylewitruk Mar 20, 2025
94de64a
weighted votes comment
cylewitruk Mar 20, 2025
aaa5173
weighted trait comment
cylewitruk Mar 20, 2025
722659a
packaging comments
cylewitruk Mar 20, 2025
b59319b
comment updates
cylewitruk Mar 20, 2025
6c6466d
Merge branch 'feat/idpack' into feat/on-chain-withdrawal-ids
cylewitruk Mar 20, 2025
5c4483f
Merge branch 'main' into feat/on-chain-withdrawal-ids
cylewitruk Mar 20, 2025
a8d5f6c
fix tests after main
cylewitruk Mar 20, 2025
c0fe873
extra check for op_return size
cylewitruk Mar 20, 2025
6532ad1
use req.withdrawal_id
cylewitruk Mar 20, 2025
86cc2b3
use req.withdrawal_id take 2
cylewitruk Mar 20, 2025
de0ae21
remove sort
cylewitruk Mar 20, 2025
57d2a51
use req.withdrawal_id take 3
cylewitruk Mar 20, 2025
a4901da
remove sort, take 2
cylewitruk Mar 20, 2025
048d4e0
remove outdated comment
cylewitruk Mar 20, 2025
0361210
finalize to an iterator
cylewitruk Mar 20, 2025
b60e334
empty initially
cylewitruk Mar 20, 2025
e6d3ba5
remove superfluous test case
cylewitruk Mar 20, 2025
5c59f50
additional test for wid compatibility around size boundary
cylewitruk Mar 20, 2025
144da8a
tighter vsize check
cylewitruk Mar 20, 2025
16f57c7
remove redundant check
cylewitruk Mar 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add cargo vet exemptions for new deps (create baseline)
cylewitruk committed Mar 7, 2025
commit 37425a36db3bfd127828f0b38cc289f93b456af4
38 changes: 33 additions & 5 deletions supply-chain/config.toml
Original file line number Diff line number Diff line change
@@ -64,7 +64,7 @@ version = "0.3.8"
criteria = "safe-to-deploy"

[[exemptions.arrayvec]]
version = "0.7.4"
version = "0.7.6"
criteria = "safe-to-deploy"

[[exemptions.asn1-rs]]
@@ -87,6 +87,10 @@ criteria = "safe-to-deploy"
version = "2.0.2"
criteria = "safe-to-run"

[[exemptions.assert_matches]]
version = "1.5.0"
criteria = "safe-to-run"

[[exemptions.async-channel]]
version = "2.3.1"
criteria = "safe-to-deploy"
@@ -251,6 +255,14 @@ criteria = "safe-to-deploy"
version = "0.64.0"
criteria = "safe-to-deploy"

[[exemptions.bit-set]]
version = "0.8.0"
criteria = "safe-to-run"

[[exemptions.bit-vec]]
version = "0.8.0"
criteria = "safe-to-run"

[[exemptions.bitcoin]]
version = "0.32.5"
criteria = "safe-to-deploy"
@@ -1615,6 +1627,10 @@ criteria = "safe-to-deploy"
version = "0.4.2"
criteria = "safe-to-deploy"

[[exemptions.proptest]]
version = "1.6.0"
criteria = "safe-to-run"

[[exemptions.prost]]
version = "0.13.4"
criteria = "safe-to-deploy"
@@ -1691,6 +1707,10 @@ criteria = "safe-to-deploy"
version = "0.6.4"
criteria = "safe-to-deploy"

[[exemptions.rand_xorshift]]
version = "0.3.0"
criteria = "safe-to-run"

[[exemptions.rand_xoshiro]]
version = "0.6.0"
criteria = "safe-to-deploy"
@@ -1863,6 +1883,10 @@ criteria = "safe-to-deploy"
version = "1.0.17"
criteria = "safe-to-deploy"

[[exemptions.rusty-fork]]
version = "0.3.0"
criteria = "safe-to-run"

[[exemptions.rw-stream-sink]]
version = "0.4.0"
criteria = "safe-to-deploy"
@@ -2411,6 +2435,10 @@ criteria = "safe-to-deploy"
version = "0.10.0"
criteria = "safe-to-deploy"

[[exemptions.unarray]]
version = "0.1.4"
criteria = "safe-to-run"

[[exemptions.unicase]]
version = "2.7.0"
criteria = "safe-to-deploy"
@@ -2499,6 +2527,10 @@ criteria = "safe-to-deploy"
version = "0.8.0"
criteria = "safe-to-deploy"

[[exemptions.wait-timeout]]
version = "0.2.1"
criteria = "safe-to-run"

[[exemptions.walkdir]]
version = "2.5.0"
criteria = "safe-to-deploy"
@@ -2727,10 +2759,6 @@ criteria = "safe-to-deploy"
version = "0.2.1"
criteria = "safe-to-deploy"

[[exemptions.wsts]]
version = "10.0.0@git:a7bf38bd54cddf0b78c0f7c521a5ed1537a684fa"
criteria = "safe-to-deploy"

[[exemptions.wyz]]
version = "0.5.1"
criteria = "safe-to-deploy"