# standard import import random # external import import pytest # local import from cic_ussd.account.balance import get_cached_available_balance # tests imports @pytest.fixture(scope='function') def notification_data(activated_account, cache_person_metadata, cache_preferences, cache_balances, preferences, valid_recipient): return { 'blockchain_address': activated_account.blockchain_address, 'token_symbol': 'GFT', 'token_value': 25000000, 'role': 'sender', 'action_tag': 'Sent', 'direction_tag': 'To', 'alt_metadata_id': valid_recipient.standard_metadata_id(), 'metadata_id': activated_account.standard_metadata_id(), 'phone_number': activated_account.phone_number, 'available_balance': 50.0, 'preferred_language': preferences.get('preferred_language') } @pytest.fixture(scope='function') def statement(activated_account): return [ { 'blockchain_address': activated_account.blockchain_address, 'token_symbol': 'GFT', 'token_value': 25000000, 'token_decimals': 6, 'role': 'sender', 'action_tag': 'Sent', 'direction_tag': 'To', 'metadata_id': activated_account.standard_metadata_id(), 'phone_number': activated_account.phone_number, } ] @pytest.fixture(scope='function') def transaction_result(activated_account, load_config, valid_recipient): return { 'hash': '0xb469fb2ebacc9574afb7b51d44e174fba7129fde71bf757fd39784363270832b', 'sender': activated_account.blockchain_address, 'recipient': valid_recipient.blockchain_address, 'source_token_value': 25000000, 'destination_token_value': 25000000, 'source_token': '0xa75B519dc9b0A50D267E03D8B6808f85A66932dd', 'destination_token': '0xa75B519dc9b0A50D267E03D8B6808f85A66932dd', 'source_token_symbol': load_config.get('TEST_TOKEN_SYMBOL'), 'destination_token_symbol': load_config.get('TEST_TOKEN_SYMBOL'), 'source_token_decimals': 6, 'destination_token_decimals': 6, 'chain': load_config.get('CHAIN_SPEC') } @pytest.fixture(scope='function') def transactions_list(activated_account, valid_recipient): return [ { 'tx_hash': '0x7cdca277861665fa56c4c32930101ff41316c61af3683be12b4879e3d9990125', 'signed_tx': '0xf8a70201837a120094b708175e3f6cd850643aaf7b32212afad50e254980b844a9059cbb000000000000000000000000367cb0f65137b0a845c1db4b7ca47d3def32dde800000000000000000000000000000000000000000000000000000000017d784082466ba030a75acff9081e57e0a9daa6858d7473fc10348bf95a6da4dd1dc6a602883c8da005358742612001ad44fc142c30bcc23b452af48c90f9c6c80433ae2a93b2e96e', 'nonce': 2, 'status': 'SUCCESS', 'status_code': 4104, 'source_token': '0xb708175e3f6Cd850643aAF7B32212AFad50e2549', 'destination_token': '0xb708175e3f6Cd850643aAF7B32212AFad50e2549', 'block_number': 94, 'tx_index': 0, 'sender': activated_account.blockchain_address, 'recipient': valid_recipient.blockchain_address, 'from_value': 25000000, 'to_value': 25000000, 'date_created': '2021-07-14T14:14:58.117017', 'date_updated': '2021-07-14T14:14:58.117017', 'date_checked': '2021-07-14T14:14:58.603124', 'timestamp': 1626272098, 'hash': '0x7cdca277861665fa56c4c32930101ff41316c61af3683be12b4879e3d9990125', 'source_token_symbol': 'GFT', 'source_token_decimals': 6, 'destination_token_symbol': 'GFT', 'destination_token_decimals': 6 }, { 'tx_hash': '0x5bd3b72f07ceb55199e759e8e82006b1c70bd5b87a3d37e3327515ea27872290', 'signed_tx': '0xf88601018323186094103d1ed6e370dba6267045c70d4999384c18a04a80a463e4bff4000000000000000000000000367cb0f65137b0a845c1db4b7ca47d3def32dde882466ca00beb6913cdd0b9b63469fbca53e2fb48dceeedf73d31d54c23c85392f01419a8a02352fff9187ba3dd6409ef6e473369dc4c3459a8baaa9bc1d68a541ca8a8f923', 'nonce': 1, 'status': 'REVERTED', 'status_code': 5128, 'source_token': '0x0000000000000000000000000000000000000000', 'destination_token': '0x0000000000000000000000000000000000000000', 'block_number': 80, 'tx_index': 0, 'sender': '367cB0F65137b0A845c1DB4B7Ca47D3DEF32dDe8', 'recipient': '103d1ed6e370dBa6267045c70d4999384c18a04A', 'from_value': 0, 'to_value': 0, 'date_created': '2021-07-14T14:13:46.036198', 'date_updated': '2021-07-14T14:13:46.036198', 'date_checked': '2021-07-14T14:13:46.450050', 'timestamp': 1626272026, 'hash': '0x5bd3b72f07ceb55199e759e8e82006b1c70bd5b87a3d37e3327515ea27872290'}, { 'tx_hash': '0x9d586562e1e40ae80fd506161e59825bc316293b5c522b8f243cf6c804c7843b', 'signed_tx': '0xf868800182520894367cb0f65137b0a845c1db4b7ca47d3def32dde887066517289880008082466ca0c75083ea13d4fa9dfd408073cd0a8234199b78e79afe441fb71d7c79aa282ca6a00a7dd29e3ec1102817236d85af365fce7593b337ee609d02efdb86d298cf11ab', 'nonce': 0, 'status': 'SUCCESS', 'status_code': 4104, 'source_token': '0x0000000000000000000000000000000000000000', 'destination_token': '0x0000000000000000000000000000000000000000', 'block_number': 78, 'tx_index': 0, 'sender': 'b41BfEE260693A473254D62b81aE1ADCC9E51AFb', 'recipient': '367cB0F65137b0A845c1DB4B7Ca47D3DEF32dDe8', 'from_value': 1800000000000000, 'to_value': 1800000000000000, 'date_created': '2021-07-14T14:13:35.839638', 'date_updated': '2021-07-14T14:13:35.839638', 'date_checked': '2021-07-14T14:13:36.333426', 'timestamp': 1626272015, 'hash': '0x9d586562e1e40ae80fd506161e59825bc316293b5c522b8f243cf6c804c7843b' }, { 'tx_hash': '0x32ca3dd3bef06463b452f4d32f5f563d083cb4759219eed90f3d2a9c1791c5fc', 'signed_tx': '0xf88680018323186094103d1ed6e370dba6267045c70d4999384c18a04a80a463e4bff4000000000000000000000000367cb0f65137b0a845c1db4b7ca47d3def32dde882466ca0ab9ec1c6affb80f54bb6c2a25e64f38b3da840404180fb189bd6e191266f3c63a03cc53e59f8528da04aeec36ab8ae099553fca366bd067feffed6362ccb28d8f0', 'nonce': 0, 'status': 'SUCCESS', 'status_code': 4104, 'source_token': '0x0000000000000000000000000000000000000000', 'destination_token': '0x0000000000000000000000000000000000000000', 'block_number': 79, 'tx_index': 0, 'sender': '367cB0F65137b0A845c1DB4B7Ca47D3DEF32dDe8', 'recipient': '103d1ed6e370dBa6267045c70d4999384c18a04A', 'from_value': 0, 'to_value': 0, 'date_created': '2021-07-14T14:13:35.638355', 'date_updated': '2021-07-14T14:13:35.638355', 'date_checked': '2021-07-14T14:13:40.927113', 'timestamp': 1626272015, 'hash': '0x32ca3dd3bef06463b452f4d32f5f563d083cb4759219eed90f3d2a9c1791c5fc'} ]