On Tue, Jan 31, 2023 at 01:33:13PM -1000, David A. Harding via bitcoin-dev wrote: > I thought the best practice was that wallets would spend to the output > indicated by any valid bech32m address.
I think it depends -- if the wallet in question is non-custodial and might not be upgraded by the time witness v2 addresses are in use, then being able to send to such addresses now makes sense. If it's a custodial wallet where the nominal owner of the coins isn't the one signing the tx, then I could see a pretty strong argument to not allowing sending to such addresses until they're in use: (a) nobody will be running the old software, since the custodian can just force everyone to upgrade (eg, by deploying a new version of their own website), and (b) signing a tx to send the bitcoins you're holding on Bob's behalf to an address that will just get them stolen could be considered as negligence, and you might end up forced to make Bob whole again. So maybe the argument is: * is this a custodial wallet? then what's the point of testing a scenario that's likely years away -- the custodian will probably have changed their system entirely by then anyway * is it a non-custodial wallet? then it's worth testing -- you might not be able to find compatible software in future to move your private keys and have to dig up the current software and use it. will it still work? but in that case, you ought to be able to capture the tx it generates before broadcasting it, and don't need to publish it on chain, and then it doesn't matter what script you use? (For libraries and non-wallet software like block explorers or alternate node implementations, it's a different matter) Cheers, aj _______________________________________________ bitcoin-dev mailing list email@example.com https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev