Commit Graph

1718 Commits

Author SHA1 Message Date
junderw
0c7c1dd0a8
Merge remote-tracking branch 'origin/master' into mononaut/rust-gbt 2023-07-05 08:39:48 -07:00
junderw
22d357c53c
Faster txid to u32 parsing 2023-07-05 08:39:01 -07:00
junderw
390c4a7706
Use ManuallyDrop 2023-07-04 17:19:41 -07:00
Joost Jager
9e5d10b15f 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
8fdc44aa89
replace audit_pool hashmap with a vec 2023-07-03 22:16:35 -04:00
Mononaut
cfa2363743
only return rates changed since last update 2023-07-03 12:01:49 -04:00
Mononaut
897c667f17
return sigop-adjusted effective fee rates 2023-07-03 12:01:06 -04:00
Mononaut
078bc1d914
fix and consolidate tx ordering logic 2023-07-03 11:57:12 -04:00
mononaut
d16d961cb2
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
23d487b904
Mimic Core's ordering for equal-score transactions 2023-07-03 10:28:32 -04:00
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
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
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