|
|
|
|
@ -248,6 +248,34 @@ class TestCommandsTestnet(TestCaseForTestnet):
|
|
|
|
|
self.assertEqual("02000000000101a0a8800d2d6bb0a4a8b93b793f39439c4139a40d30e634cf5cd601e5391de6ed0100000000fdffffff0240e2010000000000160014810480bbaf62145abf945ebe5f657c665a3a3732462b060000000000160014a5103285eb519f826520a9f7d3227e1eaa7ec5f802473044022057a6f4b1ec63336c7d0ba233e785ec9f2e2d9c2d67617a50e069f4498ee6a3b7022032fb331e0bef06f46e9cb77bfe94413142653c4912516835e941fa7f170c1a53012103001b55f19541faaf7e6d57dd1bdb9fdc37725fc500e12f2418cc11e0aed4154978181e00", |
|
|
|
|
tx_str) |
|
|
|
|
|
|
|
|
|
@mock.patch.object(wallet.Abstract_Wallet, 'save_db') |
|
|
|
|
def test_paytomany_multiple_max_spends(self, mock_save_db): |
|
|
|
|
wallet = restore_wallet_from_text('kit virtual quantum festival fortune inform ladder saddle filter soldier start ghost', |
|
|
|
|
gap_limit=2, |
|
|
|
|
path='if_this_exists_mocking_failed_648151893', |
|
|
|
|
config=self.config)['wallet'] |
|
|
|
|
# bootstrap wallet |
|
|
|
|
funding_tx = Transaction('02000000000101f59876b1c65bbe3e182ccc7ea7224fe397bb9b70aadcbbf4f4074c75c8a074840000000000fdffffff021f351f00000000001600144eec851dd980cc36af1f629a32325f511604d6af56732d000000000016001439267bc7f3e3fabeae3bc3f73880de22d8b01ba50247304402207eac5f639806a00878488d58ca651d690292145bca5511531845ae21fab309d102207162708bd344840cc1bacff1092e426eb8484f83f5c068ba4ca579813de324540121020e0798c267ff06ee8b838cd465f3cfa6c843a122a04917364ce000c29ca205cae5f31f00') |
|
|
|
|
funding_txid = funding_tx.txid() |
|
|
|
|
self.assertEqual('e8e977bd9c857d84ec1b8f154ae2ee5dfa49fffb7688942a586196c1ad15de15', funding_txid) |
|
|
|
|
wallet.receive_tx_callback(funding_txid, funding_tx, TX_HEIGHT_UNCONFIRMED) |
|
|
|
|
|
|
|
|
|
cmds = Commands(config=self.config) |
|
|
|
|
tx_str = cmds._run( |
|
|
|
|
'paytomany', (), |
|
|
|
|
outputs=[["tb1qk3g0t9pw5wctkzz7gh6k3ljfuukn729s67y54e", 0.002], |
|
|
|
|
["tb1qr7evucrllljtryam6y2k3ntmlptq208pghql2h", "2!"], |
|
|
|
|
["tb1qs3msqp0n0qade2haanjw2dkaa5lm77vwvce00h", 0.003], |
|
|
|
|
["tb1qar4ye43tdfj6y5n3yndp9adhs2wuz2v0wgqn5l", "3!"]], |
|
|
|
|
fee="0.00005000", |
|
|
|
|
locktime=2094054, |
|
|
|
|
wallet=wallet) |
|
|
|
|
|
|
|
|
|
tx = tx_from_any(tx_str) |
|
|
|
|
self.assertEqual(4, len(tx.outputs())) |
|
|
|
|
self.assertEqual("0200000000010115de15adc19661582a948876fbff49fa5deee24a158f1bec847d859cbd77e9e80100000000fdffffff04400d030000000000160014b450f5942ea3b0bb085e45f568fe49e72d3f28b0e09304000000000016001484770005f3783adcaafdece4e536dded3fbf798e12190f00000000001600141fb2ce607fffe4b193bbd11568cd7bf856053ce19ca5160000000000160014e8ea4cd62b6a65a2527124da12f5b7829dc1298f02473044022079570c62352d7c462ee50851d27f829f7ea5757d258b6b38a6b377a4910ba597022056653f1b15a9693ba790e89ebac60e33b7a1d8357e05cd3d7ecc1ae00e9ab4a8012102eed460ead0cbaa71ad52b70899acf4ea12682ab237207b045c5cf9c6d11c2bcfe6f31f00", |
|
|
|
|
tx_str) |
|
|
|
|
|
|
|
|
|
@mock.patch.object(wallet.Abstract_Wallet, 'save_db') |
|
|
|
|
def test_signtransaction_without_wallet(self, mock_save_db): |
|
|
|
|
cmds = Commands(config=self.config) |
|
|
|
|
|