Commit graph

108 commits

Author SHA1 Message Date
James Dorfman
63397a752c Merge a55606c3bd into merged_master (Bitcoin PR bitcoin/bitcoin#25356) 2024-09-10 18:37:30 +00:00
James Dorfman
041147b7c6 Merge 506d9b25a3 into merged_master (Bitcoin PR bitcoin/bitcoin#24839)
This required some changes to various helper methods in the python
functional test framework. Please verify those.
2024-09-10 17:49:27 +00:00
James Dorfman
abdd702c0f Merge e282764e04 into merged_master (Bitcoin PR bitcoin/bitcoin#25228) 2024-09-09 19:39:17 +00:00
James Dorfman
fd8fa61417 Merge 1c7ef0abd1 into merged_master (Bitcoin PR bitcoin/bitcoin#25262) 2024-09-06 19:30:23 +00:00
James Dorfman
0d39470585 Merge 9cc010f5a9 into merged_master (Bitcoin PR bitcoin/bitcoin#25087) 2024-09-06 18:49:38 +00:00
James Dorfman
33fdfa36b1 Merge d24318a40c into merged_master (Bitcoin PR bitcoin/bitcoin#24941) 2024-08-08 20:56:06 +00:00
James Dorfman
3a37a8cbb5 Merge 3297f5c11c into merged_master (Bitcoin PR bitcoin/bitcoin#24623) 2024-04-10 16:04:47 +00:00
James Dorfman
c3629a2443 Merge 864fb89b2f into merged_master (Bitcoin PR bitcoin/bitcoin#24637) 2024-01-17 21:00:59 +00:00
James Dorfman
92481c3833 Merge 8234cdaf62 into merged_master (Bitcoin PR bitcoin/bitcoin#24587) 2024-01-17 01:39:36 +00:00
James Dorfman
aa80572b01 Merge e3206c9445 into merged_master (Bitcoin PR bitcoin/bitcoin#24605)
Please review my changes in test/functional/test_framework/wallet.py.
Confirm that my change of the return value from 1 --> 2 was correct.

That fixed a failing test. I think it's needed because in elements we
have an extra fee output.
2024-01-08 19:45:18 +00:00
James Dorfman
1c5469b60c
Re-activate assertion which was disabled in the merge of bitcoin/bitcoin#23371 in 2110cca
A subsequent commit appears to have fixed that assertion. It works now.
2023-08-01 10:28:20 +02:00
Byron Hambly
c53eb39edf Merge 807169e10b into merged_master (Bitcoin PR bitcoin/bitcoin#24035) 2023-06-20 09:57:58 +00:00
Byron Hambly
42605e228f Merge d3582f2d3b into merged_master (Bitcoin PR bitcoin/bitcoin#23866)
I had to make some python changes for the rpc_scantxoutset.py which are
pretty hacky but get the job done.
2023-06-14 13:08:29 +00:00
Byron Hambly
bd68371fb6 Merge ffdab41f94 into merged_master (Bitcoin PR bitcoin/bitcoin#23474) 2023-05-26 10:32:04 +00:00
Byron Hambly
2a6a83b69b Merge fa2303989b into merged_master (Bitcoin PR bitcoin/bitcoin#23515) 2023-05-25 08:43:30 +00:00
Byron Hambly
2110cca82e Merge 2539980e1d into merged_master (Bitcoin PR bitcoin/bitcoin#23371)
- added a few fixme notes where necessary
- for some reason the given internal_key from upstream has a different
  parity, causing verifytaprootcommitment to fail... which is why the
  internal_key has been changed
- fixed up the rpc_blockchain test
2023-05-24 10:25:00 +00:00
Byron Hambly
18c7997de0 Merge 8bac3b1096 into merged_master (Bitcoin PR bitcoin/bitcoin#23375) 2023-05-16 12:39:37 +00:00
Byron Hambly
a27835cb7d Merge 548ad5ef7f into merged_master (Bitcoin PR bitcoin/bitcoin#23281) 2023-05-14 09:12:26 +00:00
Byron Hambly
f80332fee5 Merge 2e82af46e2 into merged_master (Bitcoin PR bitcoin/bitcoin#23207) 2023-05-12 09:55:10 +00:00
Byron Hambly
ee8f77f5b2 Merge 991753e4d5 into merged_master (Bitcoin PR bitcoin/bitcoin#23118) 2023-05-10 11:36:56 +00:00
Byron Hambly
1c0f4948ec Merge b4437d7dfe into merged_master (Bitcoin PR bitcoin/bitcoin#23210) 2023-05-10 11:04:50 +00:00
Byron Hambly
15ada59eac Merge bb8550b788 into merged_master (Bitcoin PR bitcoin/bitcoin#23209) 2023-05-09 13:33:24 +00:00
James Dorfman
b582aaadb4 Merge 33e31f8df9 into merged_master (Bitcoin PR bitcoin/bitcoin#23079) 2023-04-28 10:07:15 +00:00
Byron Hambly
04a9784dae Merge 01b5cfb951 into merged_master (Bitcoin PR bitcoin/bitcoin#23047) 2023-04-24 08:39:22 +00:00
Byron Hambly
8b51bd1072 Merge ae674a0198 into merged_master (Bitcoin PR bitcoin/bitcoin#22998) 2023-04-22 08:12:34 +00:00
Byron Hambly
787dbf524e Merge 89447a63b9 into merged_master (Bitcoin PR bitcoin/bitcoin#23017) 2023-04-22 07:35:38 +00:00
Byron Hambly
965ac7c53b Merge 58e02395ba into merged_master (Bitcoin PR bitcoin/bitcoin#22955) 2023-04-21 11:43:16 +00:00
Byron Hambly
8599606ab3 Merge 21438d55d5 into merged_master (Bitcoin PR bitcoin/bitcoin#21800) 2023-04-09 05:08:13 +00:00
James Dorfman
ebc6e3967f Merge bb60960750 into merged_master (Bitcoin PR bitcoin/bitcoin#22593) 2023-04-03 20:34:45 +00:00
MacroFake
fa779de665
test: Remove MiniWallet mempool_valid option 2022-06-13 18:09:16 +02:00
laanwj
e282764e04
Merge bitcoin/bitcoin#25228: test: add BIP-125 rule 5 testcase with default mempool
687addaf13 test: add BIP-125 rule 5 testcase with default mempool (James O'Beirne)
6120e8e287 test: allow passing sequence through create_self_transfer_multi (James O'Beirne)

Pull request description:

  Currently, we only test rule 5 of BIP-125 (replacement transactions cannot evict more than 100 transactions) by changing default mempool parameters to allow for more descendants. The current test works on a single transaction graph that has over 100 descendants.

  This patch adds a test to exercise rule 5 using the default mempool parameters. The case is a little more sophisticated: instead of working on a single transaction graph, it uses a replacement transaction to "unite" several UTXOs which join independent transaction graphs. The total number of transactions in these graphs sum to more than the max allowable replacement.

  I think the difference in transaction topology makes this a worthwhile testcase to have, setting aside the fact that this testcase works without having to use atypical mempool params.

  See also: [relevant discussion from IRC](https://www.erisian.com.au/bitcoin-core-dev/log-2022-05-27.html#l-126)

ACKs for top commit:
  laanwj:
    Code review ACK 687addaf13
  LarryRuane:
    ACK 687addaf13

Tree-SHA512: e589aeaf9d6f137d546b7809f8795d6f6043d87b15e97c2efe85b42ce8b49d977ee7d79440c542ca4b0b5ca2de527488029841a1ffc0d96c5771897df4b3f324
2022-06-07 20:49:33 +02:00
MacroFake
fafaad98f7
test: Set maxfeerate=0 in MiniWallet sendrawtransaction() 2022-06-01 17:07:05 +02:00
James O'Beirne
6120e8e287 test: allow passing sequence through create_self_transfer_multi
And some little type annotation additions.
2022-05-27 13:40:06 -04:00
Sebastian Falbesoner
1da5e45725 test: use MiniWallet for feature_dbcrash.py
This test can now be run even with the Bitcoin Core wallet disabled.
2022-05-19 17:53:30 +02:00
Sebastian Falbesoner
a498acce45 test: MiniWallet: skip mempool check if mempool_valid=False
MiniWallet's core method for creating txs (`create_self_transfer`)
right now always executes the `testmempoolaccept` RPC to check for
mempool validity or invalidity. In some test cases where we use
MiniWallet to create a huge number of transactions this can lead
to performance issues (e.g. feature_fee_estimation.py where the
execution time after MiniWallet usage almost doubled). Providing
the possibility to skip the mempool checks is a mitigation for
this.

master branch:
$ time ./test/functional/feature_fee_estimation.py
real    3m20.771s
user    2m52.360s
sys     0m39.340s

PR branch:
$ time ./test/functional/feature_fee_estimation.py
real    2m1.386s
user    1m42.510s
sys     0m22.980s
2022-04-22 15:07:10 +02:00
Sebastian Falbesoner
01552e8f67 test: MiniWallet: always rehash after signing (P2PK mode)
Also explicitly rehash in the cases where we modify a tx after signing
in feature_csv_activation.py. Parts of this test relied on the fact that
rehashing of transactions is done in the course of calculating a block's
merkle root (`calc_merkle_root`), which only works if no hash was
calculated before due to a caching mechanism.

In the following commit the txid in MiniWallet is calculated via
`rehash()`, i.e. this doesn't work anymore and we always have to
explicitely have the right hash before we calculate the merkle root.
2022-04-22 15:06:44 +02:00
MarcoFalke
fa450c18db
test: Rework create_self_transfer_multi
* Add fallback for utxos_to_spend if none are provided
* Refactor a for-loop
2022-03-24 14:33:28 +01:00
MarcoFalke
864fb89b2f
Merge bitcoin/bitcoin#24637: test: use MiniWallet for mempool_package_onemore.py
2b6dd4e75b test: use MiniWallet for mempool_package_onemore.py (Sebastian Falbesoner)
eb3c5c4ef2 test: MiniWallet: add helper methods `{send,create}_self_transfer_multi` (Sebastian Falbesoner)

Pull request description:

  This PR enables one more of the non-wallet functional tests (mempool_package_onemore.py) to be run even with the Bitcoin Core wallet disabled by using the MiniWallet instead, as proposed in https://github.com/bitcoin/bitcoin/issues/20078. For this purpose helper methods `MiniWallet.{create,send}_self_transfer_multi` are introduced which serve as a replacement for `chain_transaction`. With this, it should be also quite straight-forward to change the larger related test `mempool_packages.py` to use MiniWallet.

ACKs for top commit:
  MarcoFalke:
    ACK 2b6dd4e75b 💾

Tree-SHA512: 0c97fa0519ca5eaa6df8953a04678aa8a6a66905a82db6ff40042a675d0c0682aee829a48db84e4e7983d8f766875021f0d39d65e12889342610b8861bc29cd5
2022-03-24 12:37:11 +01:00
fanquake
8234cdaf62
Merge bitcoin/bitcoin#24587: test: use MiniWallet for rpc_createmultisig.py
2726b60a3a test: use MiniWallet for rpc_createmultisig.py (Ayush Sharma)

Pull request description:

  This PR enables one of the non-wallet functional tests (rpc_createmultisig.py) to be run even with the Bitcoin Core wallet disabled by using the MiniWallet instead, as proposed in #20078 .

ACKs for top commit:
  danielabrozzoni:
    re-ACK 2726b60a3a

Tree-SHA512: fb0ef22d3f1c161ca5963cb19ce76533ac3941f15102fc0aa2286ef3bec48f219e5934d504b41976f9f295fb6ca582b737e0fea896df4eb964cdaba1b2c91650
2022-03-24 11:11:56 +00:00
Sebastian Falbesoner
eb3c5c4ef2 test: MiniWallet: add helper methods {send,create}_self_transfer_multi 2022-03-22 18:43:51 +01:00
Ayush Sharma
2726b60a3a test: use MiniWallet for rpc_createmultisig.py
This test can now be run even with the Bitcoin Core wallet disabled.
2022-03-22 14:17:51 +05:30
MarcoFalke
fa48ea3067
Use MiniWallet in feature_coinstatsindex 2022-03-17 20:49:10 +01:00
MarcoFalke
fab61437f6
test: Refactor MiniWallet get_utxo helper 2022-03-17 20:48:43 +01:00
Sebastian Falbesoner
aa8a65e4a8 test: use MiniWallet for mempool_accept.py
This test can now be run even with the Bitcoin Core wallet disabled.
2022-01-13 18:32:07 +01:00
Sebastian Falbesoner
b24f6c6855 test: MiniWallet: support default from_node for creating txs
If no `from_node` parameter is passed explicitely to the
`create_self_transfer` method, the test node passed in the course
of creating the MiniWallet instance is used.  This seems to
be the main use-case in most of the current functional
tests, i.e. in many instances the calls can be shortened.
2022-01-11 16:22:33 +01:00
Sebastian Falbesoner
983ca0456c test: introduce address_to_scriptpubkey helper
Works only with legacy addresses (Base58Check) right now.
2021-12-26 12:10:56 +01:00
Sebastian Falbesoner
e704d4d26f test: introduce getnewdestination helper for generating various address types
This serves as a replacement for the getnewaddress RPC if no wallet is
available. In addition to the address, it also returns the corresponding
public key and output script (scriptPubKey).
2021-12-26 12:10:52 +01:00
fanquake
ffdab41f94
Merge bitcoin/bitcoin#23474: test: scripted-diff cleanups after generate* changes
fac23c2114 scripted-diff: Bump copyright headers (MarcoFalke)
fa974f1f14 scripted-diff: Remove redundant sync_all and sync_blocks (MarcoFalke)
fad13991ae test: Properly set sync_fun in NodeNetworkLimitedTest (MarcoFalke)
faeff57709 test: Use 4 spaces for indentation (MarcoFalke)

Pull request description:

  Some cleanups after commit 94db963de5

ACKs for top commit:
  fanquake:
    ACK fac23c2114

Tree-SHA512: 5acfd5bb9679b41969d0fc6fc85801ccadcd6530ea692bac6352668e06fc7a9b0e1db3fd6fba435e84afe983d2eb07bd0a47c8364462bb7110004bd3d102b698
2021-11-16 11:22:06 +08:00
MarcoFalke
fa62207737
test: Return the largest utxo in MiniWallet.get_utxo 2021-11-15 13:10:37 +01:00
MarcoFalke
fac23c2114
scripted-diff: Bump copyright headers
The previous diff touched most files in ./test/, so bump the headers to
avoid having to touch them again for a bump later.

-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./test/
-END VERIFY SCRIPT-
2021-11-10 11:10:24 +01:00