Published on: 2012-02-07T11:52:19+00:00
In a discussion on February 6th, 2012, the changes to BitcoinAddressValidator::MaxAddressLength and WalletModel::sendCoins were brought up. The validation of addresses is done through walletmodel->validateAddress, which calls CBitcoinAddress addressParsed(addr) and then isValid(). Both the GUI and RPC commands use CBitcoinAddress and IsValid for address validation. There was concern about whether this process would work for new addresses, but it was concluded that it should work unless BIP 16 caused any issues. The new address type, created using CScript.SetBitcoinAddress, should work with the RPC commands for sending Bitcoins. The only change needed is to MaxAddressLength, which is necessary for sending coins to multisig addresses on testnet. However, sending coins on mainnet should still work without any changes. Overall, minimal changes are required for the new address types.On February 6th, 2012, Gavin Andresen proposed two options for implementing multisig addresses. He suggested that the second option would be preferable as it would allow for more testing and fewer bug reports. However, he believed that creating multisig addresses through the GUI should wait until the next release, while enabling send-to-multisig-address through the GUI could be a simple change. Wladimir agreed with the second option, which involved changing the maximum address length and validation, but questioned whether WalletModel::sendCoins needed to be changed as well.In an email exchange on February 6th, 2012, Gavin Andresen suggested two potential solutions for addressing issues with multisig addresses. He argued that the second option would result in more thorough testing of multisig and fewer bug reports. Wladimir agreed with this approach and proposed changing the maximum address length and validation, which would be a straightforward modification. The set of allowed characters for BitcoinAddressValidator would remain the same. More advanced dialogs for constructing and adding multisig addresses to the address book could be postponed until version 0.7.0.Gavin Andresen, a Bitcoin developer, conducted tests on how the Bitcoin-Qt GUI handles multisignature transactions. He found that it can display them without any problems. However, it does not yet support sending multisig/BIP16 transactions for the main network. Gavin identified two possible paths forward: 1) Keep the GUI as-is and require multisig testing to use the RPC interface, or 2) Begin implementing multisig support in the GUI during the 0.6 release process, but only enable it for the test network. The advantage of the first path is that it would expedite the final release of version 0.6, while the advantage of the second path is that it would allow for more comprehensive testing of multisig with fewer bug reports. Gavin suggested allowing "send-to-multisig-address" through the GUI, which should be a simple change to the address validation logic. However, the creation of multisig addresses via the GUI should wait until the next release.
Updated on: 2023-08-01T03:17:41.324283+00:00