v3.2.0
The Mempool Open Source Project® v3.2.0
Highlights
- Support for v3 transactions
- Support for anchor outputs
- New UTXO bubble chart on the address page
- DATUM miner tags
- Tags to identify runestone messages and inscriptions
- Package broadcast
- Stratum job data visualizations
- Taproot multisig labels
- Transaction & PSBT preview feature
- Address poisoning detection
And more!
Changelog
- Bump tslib from 2.6.2 to 2.7.0 in /frontend by @dependabot in #5475
- Bump axios from 1.7.2 to 1.7.4 in /backend by @dependabot in #5467
- [docs] update READMEs to newer node version by @mononaut in #5477
- Bump elliptic from 6.5.4 to 6.5.7 in /frontend by @dependabot in #5468
- v1 audit improvements by @mononaut in #5460
- Persist mempool block visualization between pages by @mononaut in #5445
- Bump cypress from 13.13.0 to 13.14.0 in /frontend by @dependabot in #5484
- Make v3 transactions standard by @mononaut in #5489
- Add support for anchor output type by @mononaut in #5493
- Allow OP_0 in multisig scripts by @vostrnad in #5494
- Update about page enterprise sponsors by @orangesurf in #5487
- [faucet] add missing error message for suspicious twitter accounts by @nymkappa in #5497
- hotfix option 1 for axios breaking change to unix sockets by @mononaut in #5502
- Revert "hotfix option 1 for axios breaking change to unix sockets" by @wiz in #5504
- hotfix option 2 for axios breaking change to unix sockets by @mononaut in #5503
- Ineligible transaction link to accelerator FAQ by @natsoni in #5478
- respect json Accept header in API error responses by @mononaut in #5472
- Add amount mode selector to footer by @natsoni in #5464
- Bump micromatch from 4.0.4 to 4.0.8 in /frontend by @dependabot in #5476
- RBF tracking fixes by @mononaut in #5479
- Handle paginated acceleration results by @mononaut in #5485
- Reset acceleration flow state when leaving transaction by @natsoni in #5481
- Hide accelerator panel if tx gets accelerated on another session by @natsoni in #5482
- Avoid brief display of accelerator checkout on already accelerated txs by @natsoni in #5471
- Fix accelerator logo in trademark policy on mobile by @natsoni in #5531
- Show http error in pizza tracker by @natsoni in #5528
- Fix off-by-one error in multi-pool eta calculation by @mononaut in #5530
- Fix mobile routing to tx push and test pages by @natsoni in #5526
- [accelerator] avoid duplicated accel request with double click by @nymkappa in #5513
- Pizza tracker: don't show ETA on replaced tx by @natsoni in #5527
- Fix ETA calculation error by @natsoni in #5535
- Wrap pool logos in timeline tooltip by @natsoni in #5536
- Only fetch 1m mining stats by @natsoni in #5534
- Add utxo chart to address page by @mononaut in #5525
- Fix critical calculator inputmode by @softsimon in #5524
- "Be your own explorer" on non official mempool instance by @natsoni in #5529
- Add logos to blocks and test transactions pages by @natsoni in #5533
- Fix accelerations list page navigation on first load by @natsoni in #5532
- Remove difficulty adjustment block offset by @natsoni in #5486
- Bump body-parser and express in /frontend by @dependabot in #5522
- Bump serve-static and express in /backend by @dependabot in #5521
- Fix race condition between accelerations and block audit api calls by @natsoni in #5538
- optimize processNewBlocks by @mononaut in #5451
- [accelerator] make bid boost graph bar min height taller by @nymkappa in #5491
- only use sats, not sat by @softsimon in #5437
- Update accelerating pie chart in real time by @mononaut in #5541
- Bump esbuild from 0.23.0 to 0.24.0 in /frontend by @dependabot in #5542
- Don't show negative timespans on timeline by @natsoni in #5545
- utxo chart optimization by @mononaut in #5548
- address utxo chart color by age & updates by @mononaut in #5540
- Show miner name on block timeline by @BitcoinMechanic in #5539
- refactor miner name truncation by @mononaut in #5550
- fix utxo chart on-click navigation by @mononaut in #5551
- fix acceleration history paging w/ undefined total by @mononaut in #5554
- export bitcoinsatoshis pipe module, allow custom class for first part by @nymkappa in #5552
- expose custom x-total-count header by @mononaut in #5553
- remove rocket beta by @softsimon in #5556
- Don't clobber effective fee rates by @mononaut in #5557
- handle /utxos error on address page by @mononaut in #5558
- fix tests by @nymkappa in #5561
- Reset block audit on block navigation by @natsoni in #5563
- Avoid briefly showing incorrect health value by @natsoni in #5566
- fix gigasats -> billion sats by @natsoni in #5568
- Failed -> Canceled by @natsoni in #5570
- Fix block page spinner loader by @natsoni in #5571
- Bump cypress from 13.14.0 to 13.15.0 in /frontend by @dependabot in #5549
- Bump rollup from 4.13.0 to 4.24.0 in /frontend by @dependabot in #5572
- never show a utxo chart with missing data by @mononaut in #5573
- [accelerator] public accel history filter by miner unique id by @nymkappa in #5565
- update doc by @nymkappa in #5574
- [mining] fix pools updater only running at start by @nymkappa in #5469
- replace rune parsing libraries with minimal reimplementation by @mononaut in #5575
- [refactor] remove useless mining_pool subscriptions by @nymkappa in #5514
- Add option to display runestones and inscriptions metadata by @natsoni in #5569
- Fix rune premine amount by @natsoni in #5577
- Fix wrong timespan on acceleration timeline by @natsoni in #5578
- Fix frontend build by @natsoni in #5580
- Fix timespan on acceleration timeline by @natsoni in #5581
- [accelerator] fee delta matches what the user accepted to pay in frontend by @nymkappa in #5576
- Handle city-states in geolocation component by @natsoni in #5483
- Set audit start heights on prod by @softsimon in #5582
- Add license to inscriptions.utils.ts by @natsoni in #5583
- [faucet] show unverified warning if no email provided by @nymkappa in #5507
- Add package broadcaster to tx push page by @natsoni in #5585
- Add testnet4 to install script by @Emzy in #5547
- Include optional seconds in search bar date by @natsoni in #5586
- Bump Core to v28.0 by @softsimon in #5587
- Store first seen time in block audit by @natsoni in #5567
- Bump cookie, socket.io and express in /frontend by @dependabot in #5590
- Bump cookie and express in /backend by @dependabot in #5589
- Bump send and browser-sync in /frontend by @dependabot in #5591
- Add taproot wizards as enterprise sponsor by @softsimon in #5596
- Whale size increase by @softsimon in #5593
- Use llvm17 because C sucks by @junderw in #5597
- Bump tslib from 2.7.0 to 2.8.0 in /frontend by @dependabot in #5598
- [mining] use getNetworkHashPs(1008) by @nymkappa in #5595
- [accelerator] revalidate user choice after choosing fee option by @nymkappa in #5594
- custom wallet dashboard widgets by @mononaut in #5375
- Add multi-address wallet page by @mononaut in #4831
- implement very simple demo mode by @nymkappa in #5601
- Use typescript path aliases for build time import path resolution by @wiz in #5604
- Refactor transaction page component by @mononaut in #5605
- make prod domains configurable by @nymkappa in #5606
- [core routes] /api/internal -> /api/v1/internal by @nymkappa in #5612
- [demo] better? demo mode by @nymkappa in #5611
- fix purple pie chart with single pool by @mononaut in #5613
- use relative paths for critical /app imports by @mononaut in #5615
- [accelerator] get acceleration updates over websocket by @mononaut in #5394
- respect INDEXING_BLOCKS_AMOUNT during summary indexing by @mononaut in #5511
- Fix reorg to lower height on /monitoring status page by @mononaut in #5500
- [mining] show pools estimated hashrate on 3d and 1w timeframes by @nymkappa in #5620
- [mining] return 100 blocks per page instead of 10 for pool block list by @nymkappa in #5618
- [ui] fix loading indicator zindex by @nymkappa in #5619
- Add missing fake_scripthash to the data filter by @vostrnad in #5617
- Fix navigation to use relative paths by @natsoni in #5625
- Polish CPFP button by @softsimon in #5584
- Show tx first seen time with audit disabled by @natsoni in #5621
- fix acceleration websocket protocol by @mononaut in #5630
- Better debug logs for accelerator websocket by @mononaut in #5631
- regularly ping acceleration websocket server by @mononaut in #5632
- Fix acceleration websocket ping/pong by @mononaut in #5633
- Fix acceleration list observable subscription logic by @mononaut in #5638
- fix broken cpfp button by @softsimon in #5634
- [accelerator] fix "Go back" button breaking payment flow by @nymkappa in #5645
- fix acceleration websocket timeout loop by @mononaut in #5649
- Add missing db indexes by @mononaut in #5642
- liquid db indexes by @mononaut in #5643
- [doc] add accelerator cancel doc by @nymkappa in #5663
- [accelerator] remove useless accelerationUUID by @nymkappa in #5662
- Fix liquid database index by @natsoni in #5669
- fix undefined mempool tx errors by @mononaut in #5666
- Fix tx frontend issues after acceleration cancellation by @natsoni in #5668
- fix stuck mempool block on network change by @mononaut in #5641
- update custom dashboard assets by @mononaut in #5627
- Refactor clipboard component by @natsoni in #5635
- Fix address balance graph by @natsoni in #5654
- Canceled acceleration on timeline by @natsoni in #5671
- [internal] provide internal rest api to retreive btcusd price history by @nymkappa in #5659
- show USD series by default in address balance widget by @mononaut in #5674
- center enterprise footer logo by @mononaut in #5677
- update unfurler and build config by @nymkappa in #5679
- wallet unfurler preview by @mononaut in #5681
- Fix fiat tick precision on address balance chart by @mononaut in #5676
- add git hashes to monitoring page by @mononaut in #5684
- Unify database schema for all backend types by @natsoni in #5680
- fix unfurler meta titles by @mononaut in #5690
- fix monitoring git hash urls by @mononaut in #5689
- Fix package broadcast table css by @natsoni in #5687
- fix liquid monitoring url routes by @mononaut in #5683
- [accelerator] add sca for googlepay payments by @nymkappa in #5682
- standardize API error strings & validation by @mononaut in #5700
- Fix inscription badge disappearing when loading more inputs by @natsoni in #5701
- Add timezone selector by @natsoni in #5637
- Fix input/output overflow in transaction list by @natsoni in #5600
- Use adjusted block time for difficulty and ETA calculation by @natsoni in #5579
- revert difficulty widget to true avg block time by @mononaut in #5703
- fix duplicated response header by @nymkappa in #5702
- remove unused lightweight-charts by @softsimon in #5710
- [accelerator] print sca status for google payment by @nymkappa in #5708
- add missing icon by @nymkappa in #5714
- Fix filter logic for first seen API fetching by @natsoni in #5715
- clean up subscriptions & component references by @mononaut in #5713
- [refactor] cleaning users.full_name by @nymkappa in #5623
- Fix transaction amount change for P2PK addresses by @natsoni in #5716
- Add websocket commands doc by @natsoni in #5706
- Fix textarea keyboard navigation by @natsoni in #5724
- Wallet page transactions by @mononaut in #5562
- Fix unconfirmed badge on broken RBF txs by @mononaut in #5723
- avoid creating incomplete RBF trees by @mononaut in #5725
- Fix time traveling balance charts by @mononaut in #5726
- [accelerator] improve SCA UX by @mononaut in #5704
- add new robot icon by @nymkappa in #5720
- stratum job visualization by @mononaut in #5508
- mining pool next block info by @mononaut in #5509
- Update staging hosts by @knorrium in #5734
- add new fa icon by @nymkappa in #5735
- fix stratum tree rendering with different branch lengths by @mononaut in #5736
- [accelerator] display payment errors, auto reload after 10 secs instead of 3 secs by @nymkappa in #5640
- Bump echarts from 5.5.0 to 5.6.0 in /frontend by @dependabot in #5711
- Remove babel backend dep by @softsimon in #5741
- Bump mysql2 from 3.11.0 to 3.12.0 in /backend by @dependabot in #5707
- stratum tweaks by @mononaut in #5745
- [accelerator] differentiate failed/canceled accelerations by @nymkappa in #5746
- [auth] add login/signup with github support by @nymkappa in #5742
- Fix the missing frontend Stratum config for Docker builds by @knorrium in #5748
- [accelerator] truncate dashboard title by @nymkappa in #5747
- [accelerator] add support for card on file acceleration by @nymkappa in #5732
- [accelerator] fix sca card on file by @nymkappa in #5750
- [fido] missing PR for unlink by @nymkappa in #5749
- fix next block merkle row layout by @mononaut in #5751
- [btcpay] better handling for invoice expiration by @nymkappa in #5436
- [blocks] fetch list of block hash filtered by pools-v2.json sha by @nymkappa in #5665
- [accelerator] remove tx restriction for cashapp payments by @nymkappa in #5626
- [faucet] add new error message when no utxo available by @nymkappa in #5705
- [accelerator] add btcpay invoice retry button and polish checkout UI by @nymkappa in #5721
- [services] twitter -> X by @nymkappa in #5752
- ops: Remove fmt, add hnl + sg1 by @wiz in #5691
- [accelerator] add credit card provider fa icons by @nymkappa in #5754
- add missing sg1 hnl emojis by @mononaut in #5755
- [services] remove image md5 in urls by @nymkappa in #5759
- Update Rust to 1.84 by @knorrium in #5753
- Enable storage of blocks first seen by @natsoni in #5760
- [accelerator] fix cashapp acceleration by @nymkappa in #5761
- add new fa icon by @nymkappa in #5779
- Fix left-to-right scrollable blockchain by @natsoni in #5780
- misc unfurl preview fixes by @mononaut in #5786
- [ops] check for pool updates every hour by @mononaut in #5788
- twidget by @mononaut in #5790
- Update Docker images and Github workflow by @knorrium in #5796
- Bump axios from 1.7.2 to 1.8.1 in /backend by @dependabot in #5795
- disabled ON UPDATE for blocks_audits time field by @mononaut in #5798
- be your own explorer faq by @mononaut in #5801
- add be your own explorer mark to the about page by @mononaut in #5802
- change staging proxy from fmt to va1 by @mononaut in #5803
- Tapscript multisig parsing by @natsoni in #5800
- PSBT support in transaction preview by @natsoni in #5799
- Decode transaction from hex by @natsoni in #5664
- Bump mysql2 from 3.12.0 to 3.13.0 in /backend by @dependabot in #5805
- Don't tag as latest by default by @knorrium in #5818
- [
/api/v1/block/:hash] respect 404 error code instead of misleading 500 by @nymkappa in #5826 - Tapscript multisig parsing feedback by @natsoni in #5817
- automatically fetch enabled wallets from services backend by @mononaut in #5809
- update custom dashboard config by @mononaut in #5810
- Add configurable label to balance widget by @mononaut in #5794
- Tx preview: trim input and redirect to tx page by @natsoni in #5815
- detect and warn about address poisoning attacks by @mononaut in #5769
- [accelerator] show square receipt if available by @nymkappa in #5813
- retreive -> retrieve by @nymkappa in #5807
- Mark mempool accelerator as registered trademark by @hunicus in #5804
- Add fortris to enterprise sponsors by @hunicus in #5783
- fix cors by @nymkappa in #5772
- Removing the (broken) tv view by @softsimon in #5791
- Add Mempool to trademark guidelines by @hunicus in #5787
- Updates for file frontend/src/locale/messages.xlf in fr by @transifex-integration in #5722
- Use github-hosted runners by @knorrium in #5829
- New parameterized proxy and e2e updates by @knorrium in #5832
- Add support for running tests against any PR or branch by @knorrium in #5835
- misc changes by @mononaut in #5837
- more misc changes by @mononaut in #5840
- Add E2E tests for address poisoning highlighting and the RBF tx tracker by @knorrium in #5843
- Run CI workflow after merging too by @knorrium in #5844
- Fix loose screws on the blockchain bar by @mononaut in #5842
- Bump node version to v22 by @knorrium in #5845
- Add a test for the RBF page updates by @knorrium in #5847
- FIx pool page CSS by @natsoni in #5850
- Bump package.json versions ahead of the official release by @knorrium in #5852
- Fix database disabled by @softsimon in #5824
- polish pool updates by @mononaut in #5838
- pump up monitoring frequency by @mononaut in #5853
Full Changelog: v3.0.0...v3.2.0