Commit Graph

1814 Commits

Author SHA1 Message Date
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
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
0e00881826
Refactor rust code for style 2023-07-03 10:18:15 -04:00
Mononaut
1d51b01bd1
Implement rust gbt updateBlockTemplates 2023-07-03 10:18:15 -04:00
Mononaut
52bb8b4a4d
Rust GBT proof of concept 2023-07-03 10:18:14 -04:00
softsimon
52c813bcc7
Merge branch 'master' into simon/mempool-break-limit 2023-07-03 09:59:21 +02:00
softsimon
5f582195ad
Merge branch 'master' into mononaut/effective-rate-templates 2023-07-02 18:11:28 +02:00
softsimon
a567a28c5c
Update backend/src/api/mempool.ts
Co-authored-by: mononaut <83316221+mononaut@users.noreply.github.com>
2023-07-02 18:10:14 +02:00
softsimon
59713e2132
Update backend/src/api/mempool.ts
Co-authored-by: mononaut <83316221+mononaut@users.noreply.github.com>
2023-07-02 18:10:08 +02:00
softsimon
1e83a99bae
Update backend/src/api/mempool.ts
Co-authored-by: mononaut <83316221+mononaut@users.noreply.github.com>
2023-07-02 18:10:02 +02:00
softsimon
b5fdb6d64f
Merge pull request #3843 from mempool/mononaut/projected-fee-graph
Better projected fee graph
2023-07-02 17:44:12 +02:00
softsimon
f80257c5ea
Merge branch 'master' into mononaut/atomic-cpfp 2023-07-01 22:04:14 +02:00
softsimon
2bda12e5f9
Merge pull request #3881 from mempool/mononaut/separate-audit-api
Separate summary and audit-summary API endpoints
2023-07-01 19:43:20 +02:00
softsimon
2e285c8d86
Merge pull request #3878 from mempool/mononaut/full-mempool-graph
Add 'all time' option for mempool graph
2023-07-01 17:23:03 +02:00
nymkappa
d939391e62
ALL -> all (no caps needed, match the url parameters as well) 2023-06-30 19:52:06 -04:00
Mononaut
d4ed238ae1
Add statistics/all to cache warmer, change query keyword 2023-06-30 19:52:05 -04:00
Mononaut
22baf4186e
Add 'all time' option for mempool graph 2023-06-30 19:52:05 -04:00
Mononaut
eaad63a082
frontend resync recent blocks when necessary 2023-06-30 19:43:04 -04:00
Mononaut
ca6ddd609d
clean up backend websocket logic 2023-06-30 19:43:04 -04:00
Mononaut
9f2b98b246
Handle stack-of-N-blocks in new fee graph 2023-06-30 19:27:31 -04:00
Mononaut
48d62a1396
Save effective fee rates to block templates & summaries 2023-06-29 19:24:19 -04:00
softsimon
31ae382f75
Lowering mempool loop break limit 2023-06-27 18:46:28 +02:00
Mononaut
1f442b9ea6
Make cpfp db save operations atomic 2023-06-22 12:08:47 -04:00
Mononaut
9ff5ce0d37
Change order of cpfp db operations 2023-06-21 19:57:18 -04:00
Mononaut
329c635da5
Fix getCpfpInfo error handling 2023-06-21 19:57:09 -04:00
Mononaut
e18f3800be
Hotfix for undefined cpfp cluster bug 2023-06-21 19:07:00 -04:00
Mononaut
4fbab08586
Separate summary and audit-summary API endpoints 2023-06-20 15:13:52 -04:00
softsimon
0586e04d67
Merge pull request #3873 from mempool/simon/sanitize-pubkey-search
Sanitize node pubkey search
2023-06-17 11:22:28 +02:00
softsimon
a5575c0876
Sanitize node pubkey search 2023-06-16 23:42:57 +02:00
softsimon
176f5e1377
Reinstate the mempool loop time limit 2023-06-16 20:42:31 +02:00
softsimon
d955dbff55
Merge pull request #3842 from mempool/mononaut/consistent-fee-ranges
Fix fee range inconsistencies
2023-06-15 16:49:07 +02:00
softsimon
c630d705df
Merge pull request #3839 from mempool/mononaut/clean-up-legacy-cpfp
Clean up legacy CPFP calculations
2023-06-14 23:14:07 +02:00
softsimon
c5bf167e36
Merge pull request #3846 from mempool/mononaut/audit-details
Add expected vs actual audit details comparison table
2023-06-14 23:05:07 +02:00
softsimon
e8420853e2
Merge pull request #3838 from mempool/mononaut/dependent-rate-indexing
calculate & index ancestor-dependent effective rates
2023-06-14 23:02:25 +02:00
softsimon
a99515e94a
Merge pull request #3834 from mempool/mononaut/fix-double-mined-rbf
Fix multiple mined RBF replacements of the same tx
2023-06-14 22:15:53 +02:00
Mononaut
c4f7b99978
add backfilled audit stats to cached blocks 2023-06-14 16:15:33 -04:00
Mononaut
6b93e61b56
minor audit details fixes 2023-06-14 11:28:39 -04:00
softsimon
0b2ffb3e91
Merge branch 'master' into nymkappa/reindexing-pools-update 2023-06-12 15:53:46 +02:00
softsimon
1fbdf97639
Merge branch 'master' into nymkappa/fix-possible-crash 2023-06-12 15:45:02 +02:00
Mononaut
93d24d1cf7
Add expected fee % diff to blocks list page 2023-06-10 12:35:15 -04:00
Mononaut
5b62966863
Add indexer task to backfill audit fee/weight stats 2023-06-10 12:34:16 -04:00
Mononaut
3013386ca5
Add expected weight to audit table 2023-06-10 12:32:53 -04:00
Mononaut
aedaf53137
Merge branch 'master' into merged-expected-block-fees 2023-06-10 12:15:29 -04:00
softsimon
9a99ee6486
Merge pull request #3772 from mempool/nymkappa/dont-rethrow-block-summaries
[audit] warn if we cannot save templates and remove exception re-throw
2023-06-07 18:31:59 +02:00
nymkappa
fd30bff9c6
don't throw when BlocksAuditRepositories.$saveAudit fails 2023-06-07 18:04:21 +02:00
Mononaut
3c022ad755
Fix fee range inconsistencies 2023-06-07 11:59:31 -04:00
Mononaut
ca9b48283d
calculate & index ancestor-dependent effective rates 2023-06-06 18:23:06 -04:00
Mononaut
c8fc416c88
Remove legacy mined block cpfp loop, reset stale ancestors 2023-06-06 14:19:30 -04:00
softsimon
804640216f
Merge pull request #3830 from mempool/fix/p2tr-annex-parse
Fix: Annex parsing for p2tr on bitcoind/romanz backends
2023-06-06 20:27:03 +04:00
softsimon
2191bf2a22
Merge pull request #3826 from mempool/mononaut/fix-firstseen
fix firstSeen reset migration bug
2023-06-06 20:18:35 +04:00
Mononaut
386037d1db
Fix missing fees in $updateBlocks without esplora 2023-06-06 17:34:22 +02:00
softsimon
f2e216b9ac
Merge pull request #3804 from mempool/mononaut/split-summaries-table
Break block templates into their own db table
2023-06-06 19:30:28 +04:00
Mononaut
35d80eec1c
Fix multiple mined RBF replacements of the same tx 2023-06-06 11:01:01 -04:00
Joost Jager
74b2014dff
Show expected fees in blocks list 2023-06-06 08:52:29 +02:00
junderw
9e1de656c1
Fix: Annex parsing for p2tr on bitcoind/romanz backends 2023-06-05 07:21:55 -07:00
Joost Jager
3c0bb11208
Add expected total fees audit 2023-06-05 14:19:16 +02:00
Mononaut
37dd95a4a0
fix firstSeen reset bug 2023-06-04 12:47:04 -04:00
Mononaut
c49626aefc
Confirmation badge component, fix negative confirmations 2023-06-03 16:20:32 -04:00
Mononaut
b171ed6dd0
Break block templates into their own db table 2023-05-31 13:43:48 -04:00
nymkappa
0b74cf1d89
fix possible backend crash x2, remove dead code, improve log 2023-05-31 09:58:29 -07:00
nymkappa
c558c85f36
fix possible backend crash 2023-05-31 09:48:44 -07:00
Mononaut
ee1ec414ed
use fractional base vsize in adjusted vsize 2023-05-31 11:45:47 -04:00
Mononaut
0e5dc21854
Fix mined rbf / calculate sigop merge conflicts 2023-05-31 11:37:13 -04:00
Mononaut
bf7df08305
Enforce block sigop limits in GBT algorithm 2023-05-31 11:29:58 -04:00
Mononaut
ec63c822db
Display sigops & adjusted vsize in transaction page details 2023-05-31 11:29:58 -04:00
Mononaut
09e4e44e88
Count sigops & use adjusted vsizes in mempool projections 2023-05-31 11:29:56 -04:00
Mononaut
70fa78b987
Fix effective fee rates for non-cpfp dependents 2023-05-31 11:27:04 -04:00
nymkappa
ea51ab8d0b
[indexer] show github sha when successufly updated pools json 2023-05-30 10:42:41 -07:00
nymkappa
62169cee3f
[indexer] oldest known mining pool block per network 2023-05-30 10:25:41 -07:00
nymkappa
e7e7b30807
fix log 2023-05-30 10:16:56 -07:00
nymkappa
0b4615cbf0
[indexer] reindex diff adjustments and hashrates upon mining pool update 2023-05-30 10:05:10 -07:00
softsimon
0703690190
Merge pull request #3785 from mempool/mononaut/mined-block-rbf
Detect RBF by mined transactions
2023-05-30 14:50:07 +07:00
wiz
27154da191
ops: Add npm run scripts for backend reindexing 2023-05-29 14:09:28 -03:00
Felipe Knorr Kuhn
60fd2df4e6
Merge branch 'master' into dependabot/npm_and_yarn/backend/bitcoinjs-lib-6.1.1 2023-05-27 08:13:46 -07:00
Felipe Knorr Kuhn
c382e03e4a
Merge branch 'master' into docker_vars_test 2023-05-26 07:16:29 -07:00
dependabot[bot]
ac73de31b5
Bump bitcoinjs-lib from 6.1.0 to 6.1.1 in /backend
Bumps [bitcoinjs-lib](https://github.com/bitcoinjs/bitcoinjs-lib) from 6.1.0 to 6.1.1.
- [Changelog](https://github.com/bitcoinjs/bitcoinjs-lib/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bitcoinjs/bitcoinjs-lib/compare/v6.1.0...v6.1.1)

---
updated-dependencies:
- dependency-name: bitcoinjs-lib
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-26 02:56:38 +00:00
nymkappa
8ffe2f3156
Always re-indexing blocks when updating mining pools 2023-05-25 09:08:51 -07:00
softsimon
038f9659bb
Save new disk cache after ignoring blocks 2023-05-25 19:19:14 +04:00
softsimon
aeb896e200
Don't wipe mempool cache in pools updater 2023-05-25 19:07:51 +04:00
softsimon
349ba613dd
Revert "Don't wipe mempool cache in pools updater"
This reverts commit 714208a366.
2023-05-25 19:06:45 +04:00
softsimon
714208a366
Don't wipe mempool cache in pools updater 2023-05-25 19:05:29 +04:00
softsimon
31ea2e1d4b
Fix for pool output address matching
fixes #3782
2023-05-24 01:22:01 +04:00
Mononaut
369db7a63c
Detect RBF by mined transactions 2023-05-18 09:51:41 -04:00
Mononaut
81ec54fcb3
Omit possible high-sigop txs from block health score 2023-05-17 11:46:50 -04:00
Felipe Knorr Kuhn
50a865e54e
Merge branch 'master' into docker_vars_test 2023-05-15 13:09:46 -07:00
nymkappa
720c2b8807
Block prediction -> Block health - Fix wrong chart download name 2023-05-14 16:32:11 -05:00
Felipe Knorr Kuhn
6333f3aa47
Update the backend config fixture 2023-05-14 14:25:23 -07:00
Felipe Knorr Kuhn
184ca3c662
Add a test to check that the docker json is in sync with the template 2023-05-14 14:17:53 -07:00
Felipe Knorr Kuhn
3f8fefcb0e
Add a test to check if all the vars are on the Docker script 2023-05-14 13:14:44 -07:00
nymkappa
f95c16a78e
[audit] warn if we cannot save templates and remove exception re-throw 2023-05-13 15:28:29 +02:00
softsimon
6141516eb2
Merge pull request #3753 from mempool/mononaut/fix-difficulty-estimate
Fix difficulty estimate
2023-05-12 09:21:06 -05:00
softsimon
adc395fc3d
Merge pull request #3743 from mempool/mononaut/full-stack-fee-stats
stack-of-n-blocks fee statistics
2023-05-11 19:48:02 -05:00
Mononaut
d322665789
update difficulty tests 2023-05-11 11:39:18 -06:00
Mononaut
49529627f8
Fix difficulty adjustment calculation 2023-05-11 11:18:58 -06:00
wiz
cb9d09a930
Merge branch 'master' into nymkappa/scan-closed-channel-no-mempool 2023-05-11 11:04:19 -05:00
Mononaut
e5bef55d47
Fix RBF timestamps to always use seconds 2023-05-11 09:21:48 -06:00
Mononaut
3d1cd3193a
online calculation of stack-of-n-blocks fee statistics 2023-05-10 17:34:20 -06:00
Mononaut
ffd7831efc
optimize websocket init data 2023-05-10 08:05:39 -06:00
Mononaut
f8636d20c2
optimize batch client websocket updates 2023-05-10 08:05:39 -06:00
Mononaut
033e78c0a7
Optimize main thread processing of GBT updates 2023-05-08 23:01:17 -06:00
Mononaut
428d4fc6ab
optimize data structures for advanced GBT algorithm 2023-05-07 11:54:23 -06:00
softsimon
ee05a6852e
Rapid mempool sync 2023-05-07 20:21:02 +04:00
Mononaut
3d0f7d6855
add missing rbf eviction 2023-05-05 10:20:17 -07:00