44 Commits

Author SHA1 Message Date
Jonathan Underwood
d9f11b829b Add period 2023-07-05 19:35:36 -07:00
junderw
83ec0e8049 Use ManuallyDrop 2023-07-04 17:19:41 -07: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
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
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
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