2

I am attempting to bitcoin-cli getdescriptorinfo "wpkh([00000000/84h/1h/0h/2]tpubDECM3jqdpSiGU2mKmo6xXxxXwFcmz6fX9EHMV3zbTY236jYYK9tM57cRFWaHqNjLbqAy52P6wkyo9wCAnr4P7Q1hGGFnrW98LPLajXEZPez/35:1669852800)" as Join Market expresses this format 35:1669852800 (address index 35 with a unix timestamp in a bip32 path) for time locked addresses but it does not work with bitcoin-cli.

How would one create a valid output descriptor for a time locked address derived with bip32 (which contains all info to make it solvable in my wallet)?

1 Answer 1

2

The format you have shown is not a valid descriptor format - it is not described in either the descriptor documentation nor the BIP, so JoinMarket is producing incompatible descriptors.

Strictly speaking, with just descriptors as specified in the documentation and the BIPs, it is currently not possible to create a descriptor with a timelock. However Bitcoin Core has added Miniscript watchonly support for the upcoming 24.0 release. While this is documented, it does not have a BIP yet.

It is possible to use Miniscript to make a descriptor that produces a logically identical script. However it may not actually match what JoinMarket produces, so use at your own risk. The descriptor would look something like:

wsh(and_v(v:pk([00000000/84h/1h/0h/2]tpubDECM3jqdpSiGU2mKmo6xXxxXwFcmz6fX9EHMV3zbTY236jYYK9tM57cRFWaHqNjLbqAy52P6wkyo9wCAnr4P7Q1hGGFnrW98LPLajXEZPez/35),after(1669852800))

which would produce a witness script hash address that has a witness script of the form

<pubkey> OP_CHECKSIGVERIFY 1669852800 OP_CHECKLOCKTIMEVERIFY
3

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.