Commit Graph

6696 Commits

Author SHA1 Message Date
Mononaut
af6de9b72c
more misc JS-side gbt performance optimizations 2023-07-03 10:20:08 -04:00
junderw
0ddfa94b59
Ran cargo fmt 2023-07-03 10:18:22 -04:00
Mononaut
ccbed8ec58
Use min(feerate,ancestor_feerate) for ancestor score 2023-07-03 10:18:22 -04:00
junderw
552818607a
Better initial capacity 2023-07-03 10:18:22 -04:00
Mononaut
db8c34ae61
misc JS-side gbt performance optimizations 2023-07-03 10:18:22 -04:00
Mononaut
0886e850f9
Pass gbt mempool data directly without serialization 2023-07-03 10:18:21 -04:00
Mononaut
5065fa42d0
calculate total block weights inside rust gbt 2023-07-03 10:18:21 -04:00
junderw
2838b068f7
Increased performance 2023-07-03 10:18:21 -04:00
junderw
77c83a6a13
Fix CI for Rust test 2023-07-03 10:18:21 -04:00
Mononaut
79a10ee833
vsize -> sigop_adjusted_vsize 2023-07-03 10:18:21 -04:00
Mononaut
10beb76585
conform to core's gbt quirks 2023-07-03 10:18:21 -04:00
Mononaut
71f150b587
Add end-to-end test of rust gbt against results from Core 2023-07-03 10:18:21 -04:00
junderw
6650541b2d
Added Logging and refactored a bit 2023-07-03 10:18:20 -04:00
Mononaut
702c4c123e
remove unnecessary option wrapper from gbt return value 2023-07-03 10:18:20 -04:00
Mononaut
1688b7d24e
fix handling of used txs at top of mempool stack 2023-07-03 10:18:20 -04:00
Mononaut
75fd4ff5e1
swap mempool_array deque for a mempool_stack vec 2023-07-03 10:18:20 -04:00
Mononaut
ac8f88da38
protect ancestor data from outside assignments 2023-07-03 10:18:20 -04:00
Mononaut
7873f1c26a
fix rust gbt cpfp cluster construction 2023-07-03 10:18:20 -04:00
Mononaut
a66c0c88ce
fix rust gbt priority queue handling 2023-07-03 10:18:20 -04:00
Mononaut
f5e0662517
Fix mempool-blocks linter issues 2023-07-03 10:18:19 -04:00
junderw
4334b9eac1
Fix README and publish = false in Cargo.toml 2023-07-03 10:18:19 -04:00
junderw
6e7a525d12
Fix: napi macro breaks rust-analyzer
See issue: https://github.com/napi-rs/napi-rs/issues/944#issuecomment-1013002760
This will ignore expanding the napi macro for rust-analyzer, letting auto-complete
work inside the napi impl blocks.
2023-07-03 10:18:19 -04:00
Mononaut
4a15cd7abe
clearer uint32 uid overflow check 2023-07-03 10:18:19 -04:00
junderw
5d48ae1eec
Use U32HasherState for HashSet 2023-07-03 10:18:19 -04:00
Mononaut
a71f931d9f
Add sanity checks for GBT cache de-sync 2023-07-03 10:18:19 -04:00
Mononaut
6829e67e15
Add sanity check for uint32 uid overflow 2023-07-03 10:18:19 -04:00
Mononaut
fc504012d5
Enforce Rust GBT instance lifecycle 2023-07-03 10:18:18 -04:00
Mononaut
8f675c7062
Add Rust GBT config flag 2023-07-03 10:18:18 -04:00
junderw
1ed0f86ed9
calc_new_score can be private 2023-07-03 10:18:18 -04:00
junderw
2dfef5a003
Fix Rust version of compiler to prevent breakage 2023-07-03 10:18:18 -04:00
junderw
609df31e0c
Fix clippy pedantic and nursery lints as well 2023-07-03 10:18:18 -04:00
junderw
e61ae59e53
Add safety comments 2023-07-03 10:18:18 -04:00
junderw
e3f4c33f03
Protect score from outside assignment and document the requirements 2023-07-03 10:18:17 -04:00
junderw
af4919a98b
Use u32hasher with PriorityQueue as well 2023-07-03 10:18:17 -04:00
junderw
939d2230d2
Use bytemuck instead of unsafe Rust 2023-07-03 10:18:17 -04:00
junderw
59b19eefe3
Move u32hasher into its own module, don't expose the Hasher for use. 2023-07-03 10:18:17 -04:00
junderw
3c652bdcbc
Optimize audit_pool key hashing as well. Use a const for starting capacity for tx related lists. 2023-07-03 10:18:17 -04:00
junderw
ded2352cf8
Use a class to hold state for Rust GbtGenerator 2023-07-03 10:18:17 -04:00
junderw
8cfda1a546
Use tokio async/await instead of callbacks 2023-07-03 10:18:17 -04:00
junderw
5f161e73c7
Check callback status in thread 2023-07-03 10:18:16 -04:00
junderw
dfe24ed9d7
Remove all unwrap() calls 2023-07-03 10:18:16 -04:00
junderw
4661bea2f0
Use N-API ThreadsafeFunction 2023-07-03 10:18:16 -04:00
junderw
152d2c364b
Update TS side 2023-07-03 10:18:16 -04:00
junderw
2d4963c2df
Feature: Use napi-rs instead of neon 2023-07-03 10:18:16 -04:00
junderw
0f1f151d65
Remove empty function 2023-07-03 10:18:16 -04:00
junderw
d2a47b92c8
Move conversion logic to struct file 2023-07-03 10:18:16 -04:00
junderw
920232be4c
Use Cargo workspace
Cargo workspace in the root will help make the IDE experience universal.
Cargo.lock and the target directory for build artifacts will be in the root
of the mempool repository (with ./target ignored by git).
2023-07-03 10:18:15 -04:00
junderw
83bf9229e7
Fix: Some of the clippy pedantic lints 2023-07-03 10:18:15 -04:00
mononaut
178bb960e9
Remove redundant gbt function
Co-authored-by: Jonathan Underwood <jonathan.underwood4649@gmail.com>
2023-07-03 10:18:15 -04:00
Mononaut
891acf30bf
Fix vscode rust-analyzer config 2023-07-03 10:18:15 -04:00