6930 Commits

Author SHA1 Message Date
wiz
15e9f31b63 Merge branch 'master' into mononaut/scrollable-mempool 2023-07-05 07:58:50 +09:00
Joost Jager
f4b8ed4243 Add average fee delta to pool ranking
Co-authored-by: mononaut <83316221+mononaut@users.noreply.github.com>
2023-07-04 11:25:39 +00:00
Mononaut
355bd2a81e replace audit_pool hashmap with a vec 2023-07-03 22:16:35 -04:00
Mononaut
b6639d4a44 only return rates changed since last update 2023-07-03 12:01:49 -04:00
Mononaut
08697666a9 return sigop-adjusted effective fee rates 2023-07-03 12:01:06 -04:00
Mononaut
a7ae8cefbc fix and consolidate tx ordering logic 2023-07-03 11:57:12 -04:00
mononaut
e96f675ceb Apply suggestions from code review
avoid regex in partial txid ordering conversion

Co-authored-by: Jonathan Underwood <jonathan.underwood4649@gmail.com>
2023-07-03 11:55:43 -04:00
Mononaut
6dce3e356b Mimic Core's ordering for equal-score transactions 2023-07-03 10:28:32 -04:00
Mononaut
597764c311 more misc JS-side gbt performance optimizations 2023-07-03 10:20:08 -04:00
junderw
8767305966 Ran cargo fmt 2023-07-03 10:18:22 -04:00
Mononaut
8cb5d8db3d Use min(feerate,ancestor_feerate) for ancestor score 2023-07-03 10:18:22 -04:00
junderw
832e63ae9a Better initial capacity 2023-07-03 10:18:22 -04:00
Mononaut
fe84d6e1ab misc JS-side gbt performance optimizations 2023-07-03 10:18:22 -04:00
Mononaut
1e1bf14692 Pass gbt mempool data directly without serialization 2023-07-03 10:18:21 -04:00
Mononaut
860388d9a4 calculate total block weights inside rust gbt 2023-07-03 10:18:21 -04:00
junderw
d86858d0f6 Increased performance 2023-07-03 10:18:21 -04:00
junderw
6a2422ab9b Fix CI for Rust test 2023-07-03 10:18:21 -04:00
Mononaut
23a87ba158 vsize -> sigop_adjusted_vsize 2023-07-03 10:18:21 -04:00
Mononaut
ac794d3984 conform to core's gbt quirks 2023-07-03 10:18:21 -04:00
Mononaut
5216fc5f2e Add end-to-end test of rust gbt against results from Core 2023-07-03 10:18:21 -04:00
junderw
7313b7ed8d Added Logging and refactored a bit 2023-07-03 10:18:20 -04:00
Mononaut
4833540b1b remove unnecessary option wrapper from gbt return value 2023-07-03 10:18:20 -04:00
Mononaut
a4d4f50f9c fix handling of used txs at top of mempool stack 2023-07-03 10:18:20 -04:00
Mononaut
3d5fb9537a swap mempool_array deque for a mempool_stack vec 2023-07-03 10:18:20 -04:00
Mononaut
d883c4fadd protect ancestor data from outside assignments 2023-07-03 10:18:20 -04:00
Mononaut
dcb597d58c fix rust gbt cpfp cluster construction 2023-07-03 10:18:20 -04:00
Mononaut
ac3d85539d fix rust gbt priority queue handling 2023-07-03 10:18:20 -04:00
Mononaut
088c683dfe Fix mempool-blocks linter issues 2023-07-03 10:18:19 -04:00
junderw
a2708c35c2 Fix README and publish = false in Cargo.toml 2023-07-03 10:18:19 -04:00
junderw
008c0629bc 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
d41db05d09 clearer uint32 uid overflow check 2023-07-03 10:18:19 -04:00
junderw
d8eb10753f Use U32HasherState for HashSet 2023-07-03 10:18:19 -04:00
Mononaut
f94a9c7dcd Add sanity checks for GBT cache de-sync 2023-07-03 10:18:19 -04:00
Mononaut
d72960ef0b Add sanity check for uint32 uid overflow 2023-07-03 10:18:19 -04:00
Mononaut
74604b67fd Enforce Rust GBT instance lifecycle 2023-07-03 10:18:18 -04:00
Mononaut
e903d3ad1f Add Rust GBT config flag 2023-07-03 10:18:18 -04:00
junderw
711ef6425e calc_new_score can be private 2023-07-03 10:18:18 -04:00
junderw
0c22542dbc Fix Rust version of compiler to prevent breakage 2023-07-03 10:18:18 -04:00
junderw
dfcae1dfb6 Fix clippy pedantic and nursery lints as well 2023-07-03 10:18:18 -04:00
junderw
b8e1fde737 Add safety comments 2023-07-03 10:18:18 -04:00
junderw
b3f67ae150 Protect score from outside assignment and document the requirements 2023-07-03 10:18:17 -04:00
junderw
a814933661 Use u32hasher with PriorityQueue as well 2023-07-03 10:18:17 -04:00
junderw
190c16ffd3 Use bytemuck instead of unsafe Rust 2023-07-03 10:18:17 -04:00
junderw
887f42fcac Move u32hasher into its own module, don't expose the Hasher for use. 2023-07-03 10:18:17 -04:00
junderw
83fb2f0663 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
6e3b57d5fc Use a class to hold state for Rust GbtGenerator 2023-07-03 10:18:17 -04:00
junderw
46fb6a68eb Use tokio async/await instead of callbacks 2023-07-03 10:18:17 -04:00
junderw
99101ddc4f Check callback status in thread 2023-07-03 10:18:16 -04:00
junderw
b2a7bd6b83 Remove all unwrap() calls 2023-07-03 10:18:16 -04:00
junderw
b87bf85e1e Use N-API ThreadsafeFunction 2023-07-03 10:18:16 -04:00