Commit Graph

7022 Commits

Author SHA1 Message Date
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
Mononaut
0e00881826 Refactor rust code for style 2023-07-03 10:18:15 -04:00