41 Commits

Author SHA1 Message Date
Mononaut
a7ae8cefbc fix and consolidate tx ordering logic 2023-07-03 11:57:12 -04:00
Mononaut
6dce3e356b Mimic Core's ordering for equal-score transactions 2023-07-03 10:28:32 -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
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
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
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
junderw
a2708c35c2 Fix README and publish = false in Cargo.toml 2023-07-03 10:18:19 -04:00
junderw
d8eb10753f Use U32HasherState for HashSet 2023-07-03 10:18:19 -04:00
junderw
711ef6425e calc_new_score can be private 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
junderw
35764a29a7 Feature: Use napi-rs instead of neon 2023-07-03 10:18:16 -04:00
junderw
20dbcf14c9 Remove empty function 2023-07-03 10:18:16 -04:00
junderw
8dfe74a5a2 Move conversion logic to struct file 2023-07-03 10:18:16 -04:00
junderw
5e1d9d461a 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
6580d9dc0e Fix: Some of the clippy pedantic lints 2023-07-03 10:18:15 -04:00
mononaut
6a439a24d9 Remove redundant gbt function
Co-authored-by: Jonathan Underwood <jonathan.underwood4649@gmail.com>
2023-07-03 10:18:15 -04:00
Mononaut
44487e4e2b Refactor rust code for style 2023-07-03 10:18:15 -04:00
Mononaut
f2bd4caf25 Implement rust gbt updateBlockTemplates 2023-07-03 10:18:15 -04:00
Mononaut
63713ca4ed Rust GBT proof of concept 2023-07-03 10:18:14 -04:00