-
Notifications
You must be signed in to change notification settings - Fork 3.4k
clarified unconfirmed txn fee (sat/vB), mempool depth (vMB) #10092
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking "Sign up for GitHub", you agree to our terms of service and privacy statement. We'll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
clarified unconfirmed txn fee (sat/vB), mempool depth (vMB)
b236971
Select commit
Loading
Failed to load commit list.
Open
clarified unconfirmed txn fee (sat/vB), mempool depth (vMB) #10092
clarified unconfirmed txn fee (sat/vB), mempool depth (vMB)
b236971
Select commit
Loading
Failed to load commit list.
Cirrus CI / unittests: Tox Python 3.10
failed
Jul 30, 2025 in 6m 6s
Task Summary
Instruction tox failed in 05:22
Details
00:18 clone
00:02 pip
00:01 version
00:01 tag
00:17 install
00:01 libsecp_build
05:22 tox
@mock.patch.object(wallet.Abstract_Wallet, 'save_db')
async def test_get_tx_status_feerate_for_local_2of3_multisig_signed_tx (self, mock_save_db):
wallet1 = WalletIntegrityHelper.create_multisig_wallet(
[
keystore.from_seed('bitter grass shiver impose acquire brush forget axis eager alone wine silver', passphrase='', for_multisig=True),
keystore.from_xpub('Vpub5fcdcgEwTJmbmqAktuK8Kyq92fMf7sWkcP6o qAii2tG47dNbfkGEGUbfS9NuZaRywLkHE6EmUksrqo32ZL3ouLN1HTar6oRi HpDzKMAF1tf'),
keystore.from_xpub('Vpub5fjkKyYnvSS4wBuakWTkNvZDaBM2vQ1MeXWq 368VJHNr2eT8efqhpmZ6UUkb7s2dwCXv2Vuggjdhk4vZVyiAQTwUftvff73X cUGq2NQmWra')
],
'2of3', gap_limit=2,
config=self.config,
)
# bootstrap wallet1
funding_tx = Transaction('01000000000101a41aae475d026c9255200082c7fad26dc 47771275b0afba238dccda98a597bd20000000000fdffffff02400d03000 00000002200203c43ac80d6e3015cf378bf6bac0c22456723d6050bef324 ec641e7762440c63c9dcd410000000000160014824626055515f3ed1d2cf c9152d2e70685c71e8f02483045022100b9f39fad57d07ce1e1825142403 4f21f10f20e59931041b5167ae343ce973cf602200fefb727fa0ffd25b35 3f1bcdae2395898fe407b692c62f5885afbf52fa06f5701210301a28f685 11ace43114b674371257bb599fd2c686c4b19544870b1799c954b40e9c11 300')
wallet1.adb.receive_tx_callback(funding_tx, tx_height=TX_HEIGHT_UNCONFIRMED)
# wallet1 -> wallet2
tx = tx_from_any("01000000000101213e1012a461e056752fab5a6414a2fb6 3f950cd21a50ac5e2b82d339d6cbdd20000000000feffffff02307500000 0000000220020cc5e4cc05a76d0648cd0742768556317e9f8cc729aed077 134287909035dba88888402000000000017a914187842cea9c15989a51ce 7ca889a08b824bf8743870400473044022055cb04fa71c4b5955724d7ac5 da90436d75212e7847fc121cb588f54bcdffdc4022064eca1ad639b7c748 101059dc69f2893abb3b396bcf9c13f670415076f93ddbf0147304402200 9230e456724f2a4c10d886c836eeec599b21db0bf078aa8fc8c95868b892 0ec02200dfda835a66acb5af50f0d95fcc4b76c6e8f4789a7184c182275b 087d1efe556016952210223f815ab09f6bfc8519165c5232947ae89d9d43 d678fb3486f3b28382a2371fa210273c529c2c9a99592f2066cebc2172a4 8991af2b471cb726b9df78c6497ce984e2102aa8fc578b445a1e4257be6b 978fcece92980def98dce0e1eb89e7364635ae94153ae00000000")
wallet1.adb.add_transaction(tx)
# let's see if the calculated feerate correct:
> self.assertEqual((3, 'Local [26.3 sat/vB]'),
wallet1.get_tx_status(tx.txid(), TxMinedInfo(height=TX_HEIGHT_LOCAL, conf=0)))
E AssertionError: Tuples differ: (3, 'Local [26.3 sat/vB]') != (3, 'Local [fee: 26.3 sat/vB]')
E
E First differing element 1:
E 'Local [26.3 sat/vB]'
E 'Local [fee: 26.3 sat/vB]'
E
E - (3, 'Local [26.3 sat/vB]')
E + (3, 'Local [fee: 26.3 sat/vB]')
E ? +++++
tests/test_wallet_vertical.py:4421: AssertionError
----------------------------- Captured stderr call -----------------------------
266.56 | I | simple_config.SimpleConfig | electrum directory /tmp/tmpdha9h9vo (chain=mainnet)
266.56 | D | util.profiler | WalletDB.load_transactions 0.0003 sec
266.56 | D | util.profiler | AddressSynchronizer.load_local_history 0.0000 sec
266.56 | D | util.profiler | AddressSynchronizer.check_history 0.0000 sec
------------------------------ Captured log call -------------------------------
INFO electrum.simple_config.SimpleConfig:simple_config.py:266 electrum directory /tmp/tmpdha9h9vo (chain=mainnet)
DEBUG electrum.util.profiler:util.py:498 WalletDB.load_transactions 0.0003 sec
DEBUG electrum.util.profiler:util.py:498 AddressSynchronizer.load_local_history 0.0000 sec
DEBUG electrum.util.profiler:util.py:498 AddressSynchronizer.check_history 0.0000 sec
=========================== short test summary info ============================
FAILED tests/test_wallet_vertical.py::TestWalletHistory_HelperFns:: test_get_tx_status_feerate_for_local_2of3_multisig_partial_t x
FAILED tests/test_wallet_vertical.py::TestWalletHistory_HelperFns:: test_get_tx_status_feerate_for_local_2of3_multisig_signed_tx
============= 2 failed, 827 passed, 5 skipped in 297.15s (0:04:57) =============
py3: exit 1 (298.94 seconds) /tmp/cirrus-ci-build> coverage run --source=electrum '--omit=electrum/gui/*,electrum/plugins/*,electrum/scripts/* ' -m pytest tests -v pid=784
py3: FAIL code 1 (321.67=setup[22.73]+cmd[298.94] seconds)
evaluation failed :( (322.07 seconds)">DEBUG electrum.wallet.Multisig_Wallet.[no_name]:wallet.py:2025 coinchooser returned tx with 1 inputs and 2 outputs
_ TestWalletHistory_HelperFns.test_get_tx_status_feerate_for_l ocal_2of3_multisig_signed_tx _
self =
mock_save_db =
@mock.patch.object(wallet.Abstract_Wallet, 'save_db')
async def test_get_tx_status_feerate_for_local_2of3_multisig_signed_tx (self, mock_save_db):
wallet1 = WalletIntegrityHelper.create_multisig_wallet(
[
keystore.from_seed('bitter grass shiver impose acquire brush forget axis eager alone wine silver', passphrase='', for_multisig=True),
keystore.from_xpub('Vpub5fcdcgEwTJmbmqAktuK8Kyq92fMf7sWkcP6oqAii2tG47dNbfkGEGUbfS9NuZaRywLkHE6EmUksrqo32ZL3ouLN1HTar6oRiHpDzKMAF1tf'),
keystore.from_xpub('Vpub5fjkKyYnvSS4wBuakWTkNvZDaBM2vQ1MeXWq368VJHNr2eT8efqhpmZ6UUkb7s2dwCXv2Vuggjdhk4vZVyiAQTwUftvff73XcUGq2NQmWra')
],
'2of3', gap_limit=2,
config=self.config,
)
# bootstrap wallet1
funding_tx = Transaction('01000000000101a41aae475d026c9255200082c7fad26dc47771275b0afba238dccda98a597bd20000000000fdffffff02400d0300000000002200203c43ac80d6e3015cf378bf6bac0c22456723d6050bef324ec641e7762440c63c9dcd410000000000160014824626055515f3ed1d2cfc9152d2e70685c71e8f02483045022100b9f39fad57d07ce1e18251424034f21f10f20e59931041b5167ae343ce973cf602200fefb727fa0ffd25b353f1bcdae2395898fe407b692c62f5885afbf52fa06f5701210301a28f68511ace43114b674371257bb599fd2c686c4b19544870b1799c954b40e9c11300')
wallet1.adb.receive_tx_callback(funding_tx, tx_height=TX_HEIGHT_UNCONFIRMED)
# wallet1 -> wallet2
tx = tx_from_any("01000000000101213e1012a461e056752fab5a6414a2fb63f950cd21a50ac5e2b82d339d6cbdd20000000000feffffff023075000000000000220020cc5e4cc05a76d0648cd0742768556317e9f8cc729aed077134287909035dba88888402000000000017a914187842cea9c15989a51ce7ca889a08b824bf8743870400473044022055cb04fa71c4b5955724d7ac5da90436d75212e7847fc121cb588f54bcdffdc4022064eca1ad639b7c748101059dc69f2893abb3b396bcf9c13f670415076f93ddbf01473044022009230e456724f2a4c10d886c836eeec599b21db0bf078aa8fc8c95868b8920ec02200dfda835a66acb5af50f0d95fcc4b76c6e8f4789a7184c182275b087d1efe556016952210223f815ab09f6bfc8519165c5232947ae89d9d43d678fb3486f3b28382a2371fa210273c529c2c9a99592f2066cebc2172a48991af2b471cb726b9df78c6497ce984e2102aa8fc578b445a1e4257be6b978fcece92980def98dce0e1eb89e7364635ae94153ae00000000")
wallet1.adb.add_transaction(tx)
# let's see if the calculated feerate correct:
> self.assertEqual((3, 'Local [26.3 sat/vB]'),
wallet1.get_tx_status(tx.txid(), TxMinedInfo(height=TX_HEIGHT_LOCAL, conf=0)))
E AssertionError: Tuples differ: (3, 'Local [26.3 sat/vB]') != (3, 'Local [fee: 26.3 sat/vB]')
E
E First differing element 1:
E 'Local [26.3 sat/vB]'
E 'Local [fee: 26.3 sat/vB]'
E
E - (3, 'Local [26.3 sat/vB]')
E + (3, 'Local [fee: 26.3 sat/vB]')
E ? +++++
tests/test_wallet_vertical.py:4421: AssertionError
----------------------------- Captured stderr call -----------------------------
266.56 | I | simple_config.SimpleConfig | electrum directory /tmp/tmpdha9h9vo (chain=mainnet)
266.56 | D | util.profiler | WalletDB.load_transactions 0.0003 sec
266.56 | D | util.profiler | AddressSynchronizer.load_local_history 0.0000 sec
266.56 | D | util.profiler | AddressSynchronizer.check_history 0.0000 sec
------------------------------ Captured log call -------------------------------
INFO electrum.simple_config.SimpleConfig:simple_config.py:266 electrum directory /tmp/tmpdha9h9vo (chain=mainnet)
DEBUG electrum.util.profiler:util.py:498 WalletDB.load_transactions 0.0003 sec
DEBUG electrum.util.profiler:util.py:498 AddressSynchronizer.load_local_history 0.0000 sec
DEBUG electrum.util.profiler:util.py:498 AddressSynchronizer.check_history 0.0000 sec
=========================== short test summary info ============================
FAILED tests/test_wallet_vertical.py::TestWalletHistory_HelperFns::test_get_tx_status_feerate_for_local_2of3_multisig_partial_tx
FAILED tests/test_wallet_vertical.py::TestWalletHistory_HelperFns::test_get_tx_status_feerate_for_local_2of3_multisig_signed_tx
============= 2 failed, 827 passed, 5 skipped in 297.15s (0:04:57) =============
py3: exit 1 (298.94 seconds) /tmp/cirrus-ci-build> coverage run --source=electrum '--omit=electrum/gui/*,electrum/plugins/*,electrum/scripts/* ' -m pytest tests -v pid=784
py3: FAIL code 1 (321.67=setup[22.73]+cmd[298.94] seconds)
evaluation failed :( (322.07 seconds)
_ TestWalletHistory_HelperFns.test_get_tx_status_feerate_for_l ocal_2of3_multisig_signed_tx _
self =
mock_save_db =
@mock.patch.object(wallet.Abstract_Wallet, 'save_db')
async def test_get_tx_status_feerate_for_local_2of3_multisig_signed_tx (self, mock_save_db):
wallet1 = WalletIntegrityHelper.create_multisig_wallet(
[
keystore.from_seed('bitter grass shiver impose acquire brush forget axis eager alone wine silver', passphrase='', for_multisig=True),
keystore.from_xpub('Vpub5fcdcgEwTJmbmqAktuK8Kyq92fMf7sWkcP6oqAii2tG47dNbfkGEGUbfS9NuZaRywLkHE6EmUksrqo32ZL3ouLN1HTar6oRiHpDzKMAF1tf'),
keystore.from_xpub('Vpub5fjkKyYnvSS4wBuakWTkNvZDaBM2vQ1MeXWq368VJHNr2eT8efqhpmZ6UUkb7s2dwCXv2Vuggjdhk4vZVyiAQTwUftvff73XcUGq2NQmWra')
],
'2of3', gap_limit=2,
config=self.config,
)
# bootstrap wallet1
funding_tx = Transaction('01000000000101a41aae475d026c9255200082c7fad26dc47771275b0afba238dccda98a597bd20000000000fdffffff02400d0300000000002200203c43ac80d6e3015cf378bf6bac0c22456723d6050bef324ec641e7762440c63c9dcd410000000000160014824626055515f3ed1d2cfc9152d2e70685c71e8f02483045022100b9f39fad57d07ce1e18251424034f21f10f20e59931041b5167ae343ce973cf602200fefb727fa0ffd25b353f1bcdae2395898fe407b692c62f5885afbf52fa06f5701210301a28f68511ace43114b674371257bb599fd2c686c4b19544870b1799c954b40e9c11300')
wallet1.adb.receive_tx_callback(funding_tx, tx_height=TX_HEIGHT_UNCONFIRMED)
# wallet1 -> wallet2
tx = tx_from_any("01000000000101213e1012a461e056752fab5a6414a2fb63f950cd21a50ac5e2b82d339d6cbdd20000000000feffffff023075000000000000220020cc5e4cc05a76d0648cd0742768556317e9f8cc729aed077134287909035dba88888402000000000017a914187842cea9c15989a51ce7ca889a08b824bf8743870400473044022055cb04fa71c4b5955724d7ac5da90436d75212e7847fc121cb588f54bcdffdc4022064eca1ad639b7c748101059dc69f2893abb3b396bcf9c13f670415076f93ddbf01473044022009230e456724f2a4c10d886c836eeec599b21db0bf078aa8fc8c95868b8920ec02200dfda835a66acb5af50f0d95fcc4b76c6e8f4789a7184c182275b087d1efe556016952210223f815ab09f6bfc8519165c5232947ae89d9d43d678fb3486f3b28382a2371fa210273c529c2c9a99592f2066cebc2172a48991af2b471cb726b9df78c6497ce984e2102aa8fc578b445a1e4257be6b978fcece92980def98dce0e1eb89e7364635ae94153ae00000000")
wallet1.adb.add_transaction(tx)
# let's see if the calculated feerate correct:
> self.assertEqual((3, 'Local [26.3 sat/vB]'),
wallet1.get_tx_status(tx.txid(), TxMinedInfo(height=TX_HEIGHT_LOCAL, conf=0)))
E AssertionError: Tuples differ: (3, 'Local [26.3 sat/vB]') != (3, 'Local [fee: 26.3 sat/vB]')
E
E First differing element 1:
E 'Local [26.3 sat/vB]'
E 'Local [fee: 26.3 sat/vB]'
E
E - (3, 'Local [26.3 sat/vB]')
E + (3, 'Local [fee: 26.3 sat/vB]')
E ? +++++
tests/test_wallet_vertical.py:4421: AssertionError
----------------------------- Captured stderr call -----------------------------
266.56 | I | simple_config.SimpleConfig | electrum directory /tmp/tmpdha9h9vo (chain=mainnet)
266.56 | D | util.profiler | WalletDB.load_transactions 0.0003 sec
266.56 | D | util.profiler | AddressSynchronizer.load_local_history 0.0000 sec
266.56 | D | util.profiler | AddressSynchronizer.check_history 0.0000 sec
------------------------------ Captured log call -------------------------------
INFO electrum.simple_config.SimpleConfig:simple_config.py:266 electrum directory /tmp/tmpdha9h9vo (chain=mainnet)
DEBUG electrum.util.profiler:util.py:498 WalletDB.load_transactions 0.0003 sec
DEBUG electrum.util.profiler:util.py:498 AddressSynchronizer.load_local_history 0.0000 sec
DEBUG electrum.util.profiler:util.py:498 AddressSynchronizer.check_history 0.0000 sec
=========================== short test summary info ============================
FAILED tests/test_wallet_vertical.py::TestWalletHistory_HelperFns::test_get_tx_status_feerate_for_local_2of3_multisig_partial_tx
FAILED tests/test_wallet_vertical.py::TestWalletHistory_HelperFns::test_get_tx_status_feerate_for_local_2of3_multisig_signed_tx
============= 2 failed, 827 passed, 5 skipped in 297.15s (0:04:57) =============
py3: exit 1 (298.94 seconds) /tmp/cirrus-ci-build> coverage run --source=electrum '--omit=electrum/gui/*,electrum/plugins/*,electrum/scripts/* ' -m pytest tests -v pid=784
py3: FAIL code 1 (321.67=setup[22.73]+cmd[298.94] seconds)
evaluation failed :( (322.07 seconds)
Loading