mirror of
https://git.wownero.com/lza_menace/wownero-python.git
synced 2024-08-15 03:25:25 +00:00
Test outgoing transfers
This commit is contained in:
parent
323746b80a
commit
68e631ebe3
2 changed files with 324 additions and 13 deletions
|
@ -8,8 +8,8 @@ class Daemon(object):
|
||||||
def height(self):
|
def height(self):
|
||||||
return self._backend.info()['height']
|
return self._backend.info()['height']
|
||||||
|
|
||||||
def send_transaction(self, tx):
|
def send_transaction(self, tx, relay=True):
|
||||||
return self._backend.send_transaction(tx.blob)
|
return self._backend.send_transaction(tx.blob, relay=relay)
|
||||||
|
|
||||||
def mempool(self):
|
def mempool(self):
|
||||||
return self._backend.mempool()
|
return self._backend.mempool()
|
||||||
|
|
|
@ -539,12 +539,108 @@ class SubaddrWalletTestCase(unittest.TestCase):
|
||||||
'id': 0,
|
'id': 0,
|
||||||
'jsonrpc': '2.0',
|
'jsonrpc': '2.0',
|
||||||
'result': {'out': [{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
'result': {'out': [{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 70000000000,
|
||||||
|
'destinations': [{'address': 'BaB4Xsi9fBPDutsdNWTzNN5qgmTE2WUwnMGm5ukkb9TXUJHQLyZhQikekhHX8zhmRn3VTJeniuMXJHuCHfKyPk1XQDfk9bw',
|
||||||
|
'amount': 70000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960900000,
|
||||||
|
'height': 1088441,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517342302,
|
||||||
|
'txid': 'e32cccd7522e760b1c8a571fd08c75e7a1d822874380edc9656f58284eeb2fe5',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 21000000000000,
|
||||||
|
'destinations': [{'address': 'BczAN2ZV5MENFAqSBdJJpzW9CMqURR9XTCjihzEGHzCV58YFRZHYuhk2huFsBrbPtDN2dGWHgiY1CRTUAPeDJg1ZFCzCssT',
|
||||||
|
'amount': 21000000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960990000,
|
||||||
|
'height': 1088394,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517335388,
|
||||||
|
'txid': 'edc7c28e7b07486be48dac0a178f25a3505114267ddaf3e62ab00d9a6e996044',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 210000000000,
|
||||||
|
'destinations': [{'address': 'Bg2iRGq5f6iXf3gXYps9AJFWuhhtL74o8GE4JrBPFN3ViuyuTDcPSVqckGeNSU1brSFbdYJ5jjVerJ8Cb4aGJwJTSvzzHwf',
|
||||||
|
'amount': 210000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960810000,
|
||||||
|
'height': 1088479,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517344830,
|
||||||
|
'txid': 'd09666238129a1e2a71a9b7c6b30564a95baef926556bb658785cb9c38d9b25a',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 1111111111000,
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960750000,
|
||||||
|
'height': 1088516,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517347450,
|
||||||
|
'txid': '551721b5358b02565d6a9862867e3806b9a2e0d5aa5158d4d30940251d27bbdd',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 70000000000,
|
||||||
|
'destinations': [{'address': 'BaB4Xsi9fBPDutsdNWTzNN5qgmTE2WUwnMGm5ukkb9TXUJHQLyZhQikekhHX8zhmRn3VTJeniuMXJHuCHfKyPk1XQDfk9bw',
|
||||||
|
'amount': 70000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960900000,
|
||||||
|
'height': 1088438,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517341824,
|
||||||
|
'txid': '21e7eb651e8a2bc7661975e965ac6b30a6f4033c6a02e96320e41139ad3e307c',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 3333333333330,
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960750000,
|
||||||
|
'height': 1088521,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517347785,
|
||||||
|
'txid': '5d15fef66fe8de715bcbf2c181f97b9932f9f843aef4724f3026fa3cd1082c68',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 1000000000000,
|
||||||
|
'destinations': [{'address': 'Bg2iRGq5f6iXf3gXYps9AJFWuhhtL74o8GE4JrBPFN3ViuyuTDcPSVqckGeNSU1brSFbdYJ5jjVerJ8Cb4aGJwJTSvzzHwf',
|
||||||
|
'amount': 1000000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960990000,
|
||||||
|
'height': 1088394,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '6cc9350927868849',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517335388,
|
||||||
|
'txid': '5e8f392a42899294e6b679ddac13cfe1dfe7f034b1e347424218af06c3dfdc85',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
'amount': 2450000000000,
|
'amount': 2450000000000,
|
||||||
|
'destinations': [{'address': '9vgV48wWAPTWik5QSUSoGYicdvvsbSNHrT9Arsx1XBTz6VrWPSgfmnUKSPZDMyX4Ms8R9TkhB4uFqK9s5LUBbV6YQN2Q9ag',
|
||||||
|
'amount': 2450000000000}],
|
||||||
'double_spend_seen': False,
|
'double_spend_seen': False,
|
||||||
'fee': 961350000,
|
'fee': 961350000,
|
||||||
'height': 1088184,
|
'height': 1088184,
|
||||||
'note': '',
|
'note': '',
|
||||||
'payment_id': '0000000000000000',
|
'payment_id': '6cc9350927868849',
|
||||||
'subaddr_index': {'major': 0, 'minor': 0},
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
'timestamp': 1517299877,
|
'timestamp': 1517299877,
|
||||||
'txid': '2b41226d45edb875634694fccd95f3c174daa5062763eee619ed4475a7b9207a',
|
'txid': '2b41226d45edb875634694fccd95f3c174daa5062763eee619ed4475a7b9207a',
|
||||||
|
@ -552,6 +648,8 @@ class SubaddrWalletTestCase(unittest.TestCase):
|
||||||
'unlock_time': 0},
|
'unlock_time': 0},
|
||||||
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
'amount': 1000000000000,
|
'amount': 1000000000000,
|
||||||
|
'destinations': [{'address': 'BZHa2Fm9yn3by1CWTBruWxEuZ5TqyMLiBQAFrHM6aniLfjTBWkA4E4kif63YS7wmbFW5UBwrFSKNoiSQ2mE8SS5S6uzgvoc',
|
||||||
|
'amount': 1000000000000}],
|
||||||
'double_spend_seen': False,
|
'double_spend_seen': False,
|
||||||
'fee': 961350000,
|
'fee': 961350000,
|
||||||
'height': 1088184,
|
'height': 1088184,
|
||||||
|
@ -563,19 +661,69 @@ class SubaddrWalletTestCase(unittest.TestCase):
|
||||||
'type': 'out',
|
'type': 'out',
|
||||||
'unlock_time': 0},
|
'unlock_time': 0},
|
||||||
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
'amount': 1000000000000,
|
'amount': 123000000000,
|
||||||
|
'destinations': [{'address': 'BYeK7sZ9DhkASZpMrhGw6yFynaDy5PJ8T2CeogvGTFfT2kMQdTNJFQpDXpoHNBPTyNfrxERdRje9bBJh7LTqN4oDUVVvzAe',
|
||||||
|
'amount': 123000000000}],
|
||||||
'double_spend_seen': False,
|
'double_spend_seen': False,
|
||||||
'fee': 960990000,
|
'fee': 3843000000,
|
||||||
'height': 1088394,
|
'height': 1088523,
|
||||||
'note': '',
|
'note': '',
|
||||||
'payment_id': '0000000000000000',
|
'payment_id': '0000000000000000',
|
||||||
'subaddr_index': {'major': 0, 'minor': 0},
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
'timestamp': 1517335388,
|
'timestamp': 1517347908,
|
||||||
'txid': '5e8f392a42899294e6b679ddac13cfe1dfe7f034b1e347424218af06c3dfdc85',
|
'txid': 'e291fe40c6102a6193c82ac33227c08e5b30a863dba1bc63e13043a25abbb97a',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 2220000000000,
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 3843840000,
|
||||||
|
'height': 1088411,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517339862,
|
||||||
|
'txid': 'a8829744952facbfdaab21ca193298edb1fa16f688cd5dbcdff3ed3968155f28',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0}]}}
|
||||||
|
pay_out = self.wallet.outgoing()
|
||||||
|
self.assertEqual(len(list(pay_out)), 11)
|
||||||
|
for pmt in pay_out:
|
||||||
|
self.assertIsInstance(pmt, OutgoingPayment)
|
||||||
|
self.assertIsInstance(pmt.local_address, Address)
|
||||||
|
self.assertIsInstance(pmt.amount, Decimal)
|
||||||
|
self.assertIsInstance(pmt.timestamp, datetime)
|
||||||
|
self.assertIsInstance(pmt.transaction, Transaction)
|
||||||
|
self.assertIsInstance(pmt.transaction.fee, Decimal)
|
||||||
|
self.assertIsInstance(pmt.transaction.height, int)
|
||||||
|
|
||||||
|
@patch('monero.backends.jsonrpc.requests.post')
|
||||||
|
def test_outgoing_confirmed_and_unconfirmed(self, mock_post):
|
||||||
|
mock_post.return_value.status_code = 200
|
||||||
|
mock_post.return_value.json.return_value = self.accounts_result
|
||||||
|
self.wallet = Wallet(JSONRPCWallet())
|
||||||
|
mock_post.return_value.status_code = 200
|
||||||
|
mock_post.return_value.json.return_value = {
|
||||||
|
'id': 0,
|
||||||
|
'jsonrpc': '2.0',
|
||||||
|
'result': {'out': [{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 70000000000,
|
||||||
|
'destinations': [{'address': 'BaB4Xsi9fBPDutsdNWTzNN5qgmTE2WUwnMGm5ukkb9TXUJHQLyZhQikekhHX8zhmRn3VTJeniuMXJHuCHfKyPk1XQDfk9bw',
|
||||||
|
'amount': 70000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960900000,
|
||||||
|
'height': 1088441,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517342302,
|
||||||
|
'txid': 'e32cccd7522e760b1c8a571fd08c75e7a1d822874380edc9656f58284eeb2fe5',
|
||||||
'type': 'out',
|
'type': 'out',
|
||||||
'unlock_time': 0},
|
'unlock_time': 0},
|
||||||
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
'amount': 21000000000000,
|
'amount': 21000000000000,
|
||||||
|
'destinations': [{'address': 'BczAN2ZV5MENFAqSBdJJpzW9CMqURR9XTCjihzEGHzCV58YFRZHYuhk2huFsBrbPtDN2dGWHgiY1CRTUAPeDJg1ZFCzCssT',
|
||||||
|
'amount': 21000000000000}],
|
||||||
'double_spend_seen': False,
|
'double_spend_seen': False,
|
||||||
'fee': 960990000,
|
'fee': 960990000,
|
||||||
'height': 1088394,
|
'height': 1088394,
|
||||||
|
@ -585,9 +733,141 @@ class SubaddrWalletTestCase(unittest.TestCase):
|
||||||
'timestamp': 1517335388,
|
'timestamp': 1517335388,
|
||||||
'txid': 'edc7c28e7b07486be48dac0a178f25a3505114267ddaf3e62ab00d9a6e996044',
|
'txid': 'edc7c28e7b07486be48dac0a178f25a3505114267ddaf3e62ab00d9a6e996044',
|
||||||
'type': 'out',
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 210000000000,
|
||||||
|
'destinations': [{'address': 'Bg2iRGq5f6iXf3gXYps9AJFWuhhtL74o8GE4JrBPFN3ViuyuTDcPSVqckGeNSU1brSFbdYJ5jjVerJ8Cb4aGJwJTSvzzHwf',
|
||||||
|
'amount': 210000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960810000,
|
||||||
|
'height': 1088479,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517344830,
|
||||||
|
'txid': 'd09666238129a1e2a71a9b7c6b30564a95baef926556bb658785cb9c38d9b25a',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 1111111111000,
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960750000,
|
||||||
|
'height': 1088516,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517347450,
|
||||||
|
'txid': '551721b5358b02565d6a9862867e3806b9a2e0d5aa5158d4d30940251d27bbdd',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 70000000000,
|
||||||
|
'destinations': [{'address': 'BaB4Xsi9fBPDutsdNWTzNN5qgmTE2WUwnMGm5ukkb9TXUJHQLyZhQikekhHX8zhmRn3VTJeniuMXJHuCHfKyPk1XQDfk9bw',
|
||||||
|
'amount': 70000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960900000,
|
||||||
|
'height': 1088438,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517341824,
|
||||||
|
'txid': '21e7eb651e8a2bc7661975e965ac6b30a6f4033c6a02e96320e41139ad3e307c',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 3333333333330,
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960750000,
|
||||||
|
'height': 1088521,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517347785,
|
||||||
|
'txid': '5d15fef66fe8de715bcbf2c181f97b9932f9f843aef4724f3026fa3cd1082c68',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 1000000000000,
|
||||||
|
'destinations': [{'address': 'Bg2iRGq5f6iXf3gXYps9AJFWuhhtL74o8GE4JrBPFN3ViuyuTDcPSVqckGeNSU1brSFbdYJ5jjVerJ8Cb4aGJwJTSvzzHwf',
|
||||||
|
'amount': 1000000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 960990000,
|
||||||
|
'height': 1088394,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '6cc9350927868849',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517335388,
|
||||||
|
'txid': '5e8f392a42899294e6b679ddac13cfe1dfe7f034b1e347424218af06c3dfdc85',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 2450000000000,
|
||||||
|
'destinations': [{'address': '9vgV48wWAPTWik5QSUSoGYicdvvsbSNHrT9Arsx1XBTz6VrWPSgfmnUKSPZDMyX4Ms8R9TkhB4uFqK9s5LUBbV6YQN2Q9ag',
|
||||||
|
'amount': 2450000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 961350000,
|
||||||
|
'height': 1088184,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '6cc9350927868849',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517299877,
|
||||||
|
'txid': '2b41226d45edb875634694fccd95f3c174daa5062763eee619ed4475a7b9207a',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 1000000000000,
|
||||||
|
'destinations': [{'address': 'BZHa2Fm9yn3by1CWTBruWxEuZ5TqyMLiBQAFrHM6aniLfjTBWkA4E4kif63YS7wmbFW5UBwrFSKNoiSQ2mE8SS5S6uzgvoc',
|
||||||
|
'amount': 1000000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 961350000,
|
||||||
|
'height': 1088184,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517299877,
|
||||||
|
'txid': '40de45db57eb87eb8395baf5c1dc705602938317d043f463e68ed85b7108f9f3',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 123000000000,
|
||||||
|
'destinations': [{'address': 'BYeK7sZ9DhkASZpMrhGw6yFynaDy5PJ8T2CeogvGTFfT2kMQdTNJFQpDXpoHNBPTyNfrxERdRje9bBJh7LTqN4oDUVVvzAe',
|
||||||
|
'amount': 123000000000}],
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 3843000000,
|
||||||
|
'height': 1088523,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517347908,
|
||||||
|
'txid': 'e291fe40c6102a6193c82ac33227c08e5b30a863dba1bc63e13043a25abbb97a',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0},
|
||||||
|
{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 2220000000000,
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 3843840000,
|
||||||
|
'height': 1088411,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517339862,
|
||||||
|
'txid': 'a8829744952facbfdaab21ca193298edb1fa16f688cd5dbcdff3ed3968155f28',
|
||||||
|
'type': 'out',
|
||||||
|
'unlock_time': 0}],
|
||||||
|
'pending': [{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 3141592653589,
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 3842880000,
|
||||||
|
'height': 0,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000000000000000000079323846264338327950288419716939',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517348994,
|
||||||
|
'txid': '34833fef78c7b7c15383a78912344ecfb3ace479d27c4bd6f3e3f136ddc1d6a9',
|
||||||
|
'type': 'pending',
|
||||||
'unlock_time': 0}]}}
|
'unlock_time': 0}]}}
|
||||||
pay_out = self.wallet.outgoing()
|
pay_out = self.wallet.outgoing(unconfirmed=True)
|
||||||
self.assertEqual(len(list(pay_out)), 4)
|
self.assertEqual(len(list(pay_out)), 12)
|
||||||
for pmt in pay_out:
|
for pmt in pay_out:
|
||||||
self.assertIsInstance(pmt, OutgoingPayment)
|
self.assertIsInstance(pmt, OutgoingPayment)
|
||||||
self.assertIsInstance(pmt.local_address, Address)
|
self.assertIsInstance(pmt.local_address, Address)
|
||||||
|
@ -595,8 +875,39 @@ class SubaddrWalletTestCase(unittest.TestCase):
|
||||||
self.assertIsInstance(pmt.timestamp, datetime)
|
self.assertIsInstance(pmt.timestamp, datetime)
|
||||||
self.assertIsInstance(pmt.transaction, Transaction)
|
self.assertIsInstance(pmt.transaction, Transaction)
|
||||||
self.assertIsInstance(pmt.transaction.fee, Decimal)
|
self.assertIsInstance(pmt.transaction.fee, Decimal)
|
||||||
self.assertIsInstance(pmt.transaction.height, int)
|
self.assertIsInstance(pmt.transaction.height, (int, type(None)))
|
||||||
self.assertEqual(pmt.note, '')
|
|
||||||
|
@patch('monero.backends.jsonrpc.requests.post')
|
||||||
|
def test_outgoing_unconfirmed_only(self, mock_post):
|
||||||
|
mock_post.return_value.status_code = 200
|
||||||
|
mock_post.return_value.json.return_value = self.accounts_result
|
||||||
|
self.wallet = Wallet(JSONRPCWallet())
|
||||||
|
mock_post.return_value.status_code = 200
|
||||||
|
mock_post.return_value.json.return_value = {
|
||||||
|
'id': 0,
|
||||||
|
'jsonrpc': '2.0',
|
||||||
|
'result': {'pending': [{'address': '9tQoHWyZ4yXUgbz9nvMcFZUfDy5hxcdZabQCxmNCUukKYicXegsDL7nQpcUa3A1pF6K3fhq3scsyY88tdB1MqucULcKzWZC',
|
||||||
|
'amount': 3141592653589,
|
||||||
|
'double_spend_seen': False,
|
||||||
|
'fee': 3842880000,
|
||||||
|
'height': 0,
|
||||||
|
'note': '',
|
||||||
|
'payment_id': '0000000000000000000000000000000079323846264338327950288419716939',
|
||||||
|
'subaddr_index': {'major': 0, 'minor': 0},
|
||||||
|
'timestamp': 1517348994,
|
||||||
|
'txid': '34833fef78c7b7c15383a78912344ecfb3ace479d27c4bd6f3e3f136ddc1d6a9',
|
||||||
|
'type': 'pending',
|
||||||
|
'unlock_time': 0}]}}
|
||||||
|
pay_out = self.wallet.outgoing(unconfirmed=True, confirmed=False)
|
||||||
|
self.assertEqual(len(list(pay_out)), 1)
|
||||||
|
for pmt in pay_out:
|
||||||
|
self.assertIsInstance(pmt, OutgoingPayment)
|
||||||
|
self.assertIsInstance(pmt.local_address, Address)
|
||||||
|
self.assertIsInstance(pmt.amount, Decimal)
|
||||||
|
self.assertIsInstance(pmt.timestamp, datetime)
|
||||||
|
self.assertIsInstance(pmt.transaction, Transaction)
|
||||||
|
self.assertIsInstance(pmt.transaction.fee, Decimal)
|
||||||
|
self.assertIs(pmt.transaction.height, None)
|
||||||
|
|
||||||
@patch('monero.backends.jsonrpc.requests.post')
|
@patch('monero.backends.jsonrpc.requests.post')
|
||||||
def test_send_transfer(self, mock_post):
|
def test_send_transfer(self, mock_post):
|
||||||
|
|
Loading…
Reference in a new issue