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