-
Notifications
You must be signed in to change notification settings - Fork 901
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
pyln-testing: require bitcoin v0.20.1 for PSBT handling, and create wallet for v0.21 #4179
pyln-testing: require bitcoin v0.20.1 for PSBT handling, and create wallet for v0.21 #4179
Conversation
be03e62
to
c572589
Compare
c572589
to
90f4ea6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, Liquid is still on |
I've flagged this as an issue with the elements team a while back. They're in the process of updating the codebase to match/harmonize with bitcoind 0.21 and should have a new/compatible version released by the end of the month 🤞 The most up-to-date version of elementsd available is 0.18.0 (which is what travis has). |
Closes #4144 |
Hm, seems like it changed a number of times recently. See #4088 for yet another interface change that failed some tests. |
Pushed up a patch up to handle special case for liquid-regtest versions. |
Ack 2577219 |
Just a note: Yes there are two ways to do it. See #4088 with all the links to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only one of #4088 or this change should stay. If both are in the code, they may shoot someone in the foot later.
# At 0.21, createwallet needed, but in 0.20.1 createwallet then broke | ||
# calls to getnewaddress with "bitcoin.rpc.JSONRPCError: {'code': -19, 'message': 'Wallet file not specified (must request wallet RPC through /wallet/<filename> uri-path).'}" | ||
if info['version'] > 200100: | ||
bitcoind.rpc.createwallet("test") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is exactly how I tried to fix it first in #4088, but in the end I used the -wallet="default"
option in contrib/pyln-testing/pyln/testing/utils.py
because it is backwards compatible with at least 0.20.1. @rustyrussell please consider which should stay.
Found this in my |
…let for v0.21 With older bitcoind, PSBTs fail: ``` def test_utxopsbt(node_factory, bitcoind, chainparams): ... > psbt = bitcoind.rpc.decodepsbt(funding['psbt']) tests/test_wallet.py:561: ... self = <bitcoin.rpc.RawProxy object at 0x7f4ec602e100>, service_name = 'decodepsbt' args = ('cHNidP8BADMCAAAAAaoMihSVXlpdBHGcJePiroqtwq/b1zu09j8IkTG4OKs7AQAAAAD9////AGYAAAAAAQDeAgAAAAABAefqB6BkZE1/AqXaf36T02a7.../7Stf971PEgvUXgvASECXPTIO6tIVxDih6tfKy6suj6WJhhjycwoaTeuso/AQ8llAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=',) postdata = '{"version": "1.1", "method": "decodepsbt", "params": ["cHNidP8BADMCAAAAAaoMihSVXlpdBHGcJePiroqtwq/b1zu09j8IkTG4OKs7AQ...gvUXgvASECXPTIO6tIVxDih6tfKy6suj6WJhhjycwoaTeuso/AQ8llAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA="], "id": 1}' headers = {'Authorization': b'Basic cnBjdXNlcjpycGNwYXNz', 'Content-type': 'application/json', 'Host': 'localhost', 'User-Agent': 'AuthServiceProxy/0.1'} response = {'error': {'code': -22, 'message': 'TX decode failed PSBT is not sane.: iostream error'}, 'id': 1, 'result': None} ``` Signed-off-by: Rusty Russell <[email protected]> Changelog-Changed: *** Requires bitcoind v0.20.1 or above ***
2577219
to
e913f19
Compare
Updated to remove duplicated fix (covered in 8e9ea4f), squash some stuff to make it make more sense. |
ACK e913f19 |
With older bitcoind, PSBTs fail:
But with bitcoind v0.21 (or at least, current master), we fail every test with:
Signed-off-by: Rusty Russell [email protected]
Changelog-Changed: *** Requires bitcoind v0.20 or above ***