async def test_query_allowance(self): ont = sdk.native_vm.aio_ont() if sys.version_info >= (3, 7): task_list = [ asyncio.create_task( ont.allowance(acct1.get_address_base58(), acct2.get_address_base58())), asyncio.create_task( ont.allowance(acct2.get_address_base58(), acct3.get_address_base58())), asyncio.create_task( ont.allowance(acct3.get_address_base58(), acct4.get_address_base58())), asyncio.create_task( ont.allowance(acct4.get_address_base58(), acct1.get_address_base58())) ] else: task_list = [ ont.allowance(acct1.get_address_base58(), acct2.get_address_base58()), ont.allowance(acct2.get_address_base58(), acct3.get_address_base58()), ont.allowance(acct3.get_address_base58(), acct4.get_address_base58()), ont.allowance(acct4.get_address_base58(), acct1.get_address_base58()) ] for task in task_list: self.assertGreaterEqual(await task, 0)
async def test_balance_of(self): address_list = [acct1.get_address_base58(), acct2.get_address_base58(), acct3.get_address_base58(), acct4.get_address_base58()] for address in address_list: balance = await sdk.native_vm.aio_ont().balance_of(address) self.assertTrue(isinstance(balance, int)) self.assertGreaterEqual(balance, 0)
def setUp(self): pub_keys = [acct1.get_public_key_bytes(), acct2.get_public_key_bytes(), acct3.get_public_key_bytes()] multi_address = Address.from_multi_pub_keys(2, pub_keys) self.address_list = [acct1.get_address_base58(), acct2.get_address_base58(), acct3.get_address_base58(), acct4.get_address_base58(), multi_address.b58encode()] self.gas_price = 500 self.gas_limit = 20000
async def test_balance_of(self): oep4 = sdk.neo_vm.aio_oep4() oep4.hex_contract_address = contract_address b58_address1 = acct3.get_address_base58() b58_address2 = acct4.get_address_base58() balance = await oep4.balance_of(b58_address1) self.assertGreaterEqual(balance, 10) balance = await oep4.balance_of(b58_address2) self.assertGreaterEqual(balance, 1)
async def test_unbound_ong(self): address_list = [ acct1.get_address_base58(), acct2.get_address_base58(), acct3.get_address_base58(), acct4.get_address_base58() ] for address in address_list: unbound_ong = await sdk.native_vm.aio_ong().unbound(address) self.assertGreaterEqual(unbound_ong, 0)
async def test_get_balance(self): pub_keys = [acct1.get_public_key_bytes(), acct2.get_public_key_bytes(), acct3.get_public_key_bytes()] multi_address = Address.from_multi_pub_keys(2, pub_keys) address_list = [acct1.get_address_base58(), acct2.get_address_base58(), acct3.get_address_base58(), acct4.get_address_base58(), multi_address.b58encode()] for address in address_list: balance = await sdk.websocket.get_balance(address) self.assertTrue(isinstance(balance, dict)) self.assertGreaterEqual(balance['ONT'], 0) self.assertGreaterEqual(balance['ONG'], 0)
async def test_transfer(self): amount = 1 ont = sdk.native_vm.aio_ont() tx_hash = await ont.transfer(acct2, acct1.get_address(), amount, acct4, self.gas_price, self.gas_limit) await asyncio.sleep(randint(14, 20)) event = await sdk.aio_rpc.get_contract_event_by_tx_hash(tx_hash) notify = Event.get_notify_by_contract_address(event, ont.contract_address) self.assertEqual('transfer', notify['States'][0]) self.assertEqual(acct2.get_address_base58(), notify['States'][1]) self.assertEqual(acct1.get_address_base58(), notify['States'][2]) self.assertEqual(amount, notify['States'][3]) notify = Event.get_notify_by_contract_address(event, sdk.native_vm.aio_ong().contract_address) self.assertEqual('transfer', notify['States'][0]) self.assertEqual(acct4.get_address_base58(), notify['States'][1]) self.assertEqual(self.gas_price * self.gas_limit, notify['States'][3])
async def test_get_memory_pool_tx_state(self): tx_hash = '0000000000000000000000000000000000000000000000000000000000000000' with self.assertRaises(SDKException): await sdk.aio_restful.get_memory_pool_tx_state(tx_hash) oep4 = sdk.neo_vm.oep4() oep4.hex_contract_address = '1ddbb682743e9d9e2b71ff419e97a9358c5c4ee9' b58_from_address = acct4.get_address_base58() b58_to_address = acct3.get_address_base58() tx = oep4.new_transfer_tx(b58_from_address, b58_to_address, 10, b58_from_address, 500, 20000) tx.sign_transaction(acct4) tx_hash = await sdk.aio_restful.send_raw_transaction(tx) self.assertEqual(64, len(tx_hash)) try: tx_state = await sdk.aio_restful.get_memory_pool_tx_state(tx_hash) self.assertGreaterEqual(tx_state[0]['Height'], 0) self.assertGreaterEqual(tx_state[1]['Height'], 0) except SDKException: pass
def test_transfer(self): amount = 1 gas = sdk.native_vm.gas() tx_hash = gas.transfer(acct1, acct2.get_address(), amount, acct4, self.gas_price, self.gas_limit) time.sleep(randint(14, 20)) event = sdk.default_network.get_contract_event_by_tx_hash(tx_hash) notify = Event.get_notify_by_contract_address(event, gas.contract_address) self.assertEqual('transfer', notify['States'][0]) self.assertEqual(acct1.get_address_base58(), notify['States'][1]) self.assertEqual(acct2.get_address_base58(), notify['States'][2]) self.assertEqual(amount, notify['States'][3]) notify = Event.get_notify_by_contract_address( event, sdk.native_vm.aio_ong().contract_address) self.assertEqual('transfer', notify['States'][0]) self.assertEqual(acct4.get_address_base58(), notify['States'][1]) self.assertEqual(self.gas_price * self.gas_limit, notify['States'][3])
def test_get_memory_poll_tx_state(self): tx_hash = '0000000000000000000000000000000000000000000000000000000000000000' try: sdk.restful.get_memory_pool_tx_state(tx_hash) except SDKException as e: self.assertIn('UNKNOWN TRANSACTION', e.args[1]) oep4 = sdk.neo_vm.oep4() oep4.hex_contract_address = '1ddbb682743e9d9e2b71ff419e97a9358c5c4ee9' b58_from_address = acct4.get_address_base58() b58_to_address = acct3.get_address_base58() tx = oep4.new_transfer_tx(b58_from_address, b58_to_address, 10, b58_from_address, 500, 20000000) tx.sign_transaction(acct4) tx_hash = sdk.restful.send_raw_transaction(tx) self.assertEqual(64, len(tx_hash)) try: tx_state = sdk.restful.get_memory_pool_tx_state(tx_hash) self.assertGreaterEqual(tx_state[0]['Height'], 0) self.assertGreaterEqual(tx_state[1]['Height'], 0) except SDKException: pass