BIP 0017 QA

This page is a Quality Assurance test plan for BIP 17. If you see a test missing, please add it.
If you can help test, please edit this page to sign-off on it.
Testnet 	Mainnet 	Test Procedure 	Tested by
 	✓	Run BIP-17-capable Bitcoin 0.6
Send coins using GUI, RPC sendtoaddress, and RPC sendmany commands
Result: coins sent in all cases	Luke Dashjr (block 164676)
✓	✓	Test multisig 1-of-1
Run 0.6 bitcoind, get a public key with: ./bitcoind validateaddress $(./bitcoind getnewaddress)
Generate a multisig 1-of-1 address: ./bitcoind addmultisigaddress 1 {public key from above}
Send-to-self some bitcoins using that address
Result: transaction is confirmed by network, displays properly in listtransactions.
Result: balance is unaffected	Luke Dashjr (block 163685)
 	✓	Test multisig 1-of-2
Run 0.6 bitcoind, get 2 new bitcoin addresses
Generate a multisig 1-of-2 address: ./bitcoind addmultisigaddress 1 {address1} {address2}
Send-to-self some bitcoins using that address
Result: transaction is confirmed by network, displays properly in listtransactions.
Result: bitcoin balance is unaffected.	Luke Dashjr (block 164676)
 	✓	Test multisig 1-of-3, 2-of-3, 3-of-3
Repeat test procedures above, with the other new multisignature transaction types	Luke Dashjr (block 164676)
 	✓	Test multisig send-to-other
Repeat test procedures above, but use two bitcoinds, prepared as follows:
bitcoind 1 : Run getnewaddress and addmultisigaddress
bitcoind 2 : Just addmultisigaddress
Send coins from 2 to 1 using the address
Result: transaction is accepted/confirmed by network
Result: balance for 2 goes down, listtransactions for 2 displays correct result
Result: balance for 1 goes up, listtransactions for 1 displays correct result	Luke Dashjr (block 164676)
 	✓	Test redeeming multisignature transactions
Fund a new, empty wallet entirely with multisig transactions
Wait for transactions to confirm
Use sendtoaddress and sendmany to generate spend-from-multisig transactions
Spend to both single-address and multisig address, and test send-to-other and send-to-self
Result: transactions are accepted/confirmed by network
Result: balance decreases, listtransactions displays correct information	Luke Dashjr (block 164676)
 	✓	Run 0.6 Bitcoin-Qt GUI on one of the test wallets from above
Result: balance and transactions displayed correctly	Luke Dashjr
✓	✓	Run BIP-17-capable backport Bitcoin 0.3.19 through 0.5.1
Send coins using GUI, RPC sendtoaddress, and RPC sendmany commands
Result: coins sent in all cases	Luke Dashjr
✓	n/a 	Run BIP-17-capable Bitcoin 0.6.0
Mine coins using built-in miner
Result: blocks accepted, show up on pre-BIP17 clients
Result: mined blocks' coinbase contains p2sh/CHV string	Luke Dashjr
✓	 	Run BIP-17-capable Bitcoin 0.6.0
Mine coins using getwork interface
Result: blocks accepted, show up on pre-BIP17 clients
Result: mined blocks' coinbase contains p2sh/CHV string	Luke Dashjr
✓	✓	Run BIP-17-capable Bitcoin 0.6.0
Mine coins using getmemorypool interface
Result: blocks accepted, show up on pre-BIP17 clients	Luke Dashjr (block 164895)
✓	n/a 	Run BIP-17-capable Bitcoin 0.3.19 through 0.5.1 backports
Mine coins using built-in miner
Result: blocks accepted, show up on pre-BIP17 clients
Result: mined blocks' coinbase contains p2sh/CHV string	Luke Dashjr
✓	✓	Run BIP-17-capable Bitcoin 3.19 through 0.5.1 backports
Mine coins using getwork interface
Result: blocks accepted, show up on pre-BIP17 clients
Result: mined blocks' coinbase contains p2sh/CHV string	Luke Dashjr (block 164676)
✓	✓	Run BIP-17-capable Bitcoin 3.19 through 0.5.1 backports
Mine coins using getmemorypool interface
Result: blocks accepted, show up on pre-BIP17 clients	Luke Dashjr (block 164733)
✓	n/a 	Create/run unit tests for:
multisignature signing/verification
multisignature invalid signature failure
multisignature IsStandard() success/failure
extraction of addresses from multisignature transactions
BIP 17 IsStandard() success/failure
BIP 17 AreInputsStandard() success/failure
BIP 17 compatibility with other 3 standard transaction types
BIP 17 switchover date logic	Luke Dashjr, Gavin Andresen
 	 	Create/run 'transaction fuzzer' to stress-test BIP 17 transactions