def __get_timestamp_by_block_number(self, block_number):
     url = 'https://' + os.environ[
         'PRIVATE_CHAIN_EXECUTE_API_HOST'] + '/production/eth/get_block_by_number'
     payload_dict = {
         'block_num': block_number,
     }
     return PrivateChainUtil.send_transaction(
         request_url=url, payload_dict=payload_dict).get('timestamp')
예제 #2
0
 def __get_apply_relay_events_specified_block_range(self, from_block, to_block, user_eth_address):
     url = 'https://' + os.environ['PRIVATE_CHAIN_EXECUTE_API_HOST'] + '/production/wallet/apply_relay_events'
     payload_dict = {
         'from_block': from_block,
         'to_block': to_block,
         'recipient_eth_address': user_eth_address[2:],
     }
     return PrivateChainUtil.send_transaction(request_url=url, payload_dict=payload_dict)
 def __validate_has_not_token(self, params):
     address = params.get('custom:private_eth_address')
     if address is not None:
         url = 'https://' + os.environ[
             'PRIVATE_CHAIN_EXECUTE_API_HOST'] + '/production/wallet/balance'
         payload = {'private_eth_address': address[2:]}
         token = PrivateChainUtil.send_transaction(request_url=url,
                                                   payload_dict=payload)
         if token is not None and token != '0x0000000000000000000000000000000000000000000000000000000000000000':
             raise ValidationError("Do not allow phone number updates")
 def __get_allowance(from_user_eth_address):
     payload = {
         'from_user_eth_address': from_user_eth_address,
         'owner_eth_address': from_user_eth_address[2:],
         'spender_eth_address':
         os.environ['PRIVATE_CHAIN_BRIDGE_ADDRESS'][2:]
     }
     url = 'https://' + os.environ[
         'PRIVATE_CHAIN_EXECUTE_API_HOST'] + '/production/wallet/allowance'
     return PrivateChainUtil.send_transaction(request_url=url,
                                              payload_dict=payload)
 def __relay(from_user_eth_address, recipient_eth_address, send_value,
             nonce):
     payload = {
         'from_user_eth_address': from_user_eth_address,
         'recipient_eth_address': recipient_eth_address[2:],
         'nonce': nonce,
         'amount': format(send_value, '064x')
     }
     url = 'https://' + os.environ[
         'PRIVATE_CHAIN_EXECUTE_API_HOST'] + '/production/wallet/relay'
     # relay 実施
     result = PrivateChainUtil.send_transaction(request_url=url,
                                                payload_dict=payload)
     return result
 def __approve(from_user_eth_address, send_value, nonce):
     payload = {
         'from_user_eth_address': from_user_eth_address,
         'spender_eth_address':
         os.environ['PRIVATE_CHAIN_BRIDGE_ADDRESS'][2:],
         'nonce': nonce,
         'value': format(send_value, '064x')
     }
     url = 'https://' + os.environ[
         'PRIVATE_CHAIN_EXECUTE_API_HOST'] + '/production/wallet/approve'
     # approve 実施
     result = PrivateChainUtil.send_transaction(request_url=url,
                                                payload_dict=payload)
     return result
예제 #7
0
 def __get_relay_paused():
     return PrivateChainUtil.send_transaction(
         'https://' + os.environ['PRIVATE_CHAIN_EXECUTE_API_HOST'] +
         '/production/wallet/relay_paused')
예제 #8
0
 def __get_min_single_relay_amount():
     return PrivateChainUtil.send_transaction(
         'https://' + os.environ['PRIVATE_CHAIN_EXECUTE_API_HOST'] +
         '/production/wallet/min_single_relay_amount')
 def __get_current_block_number(self):
     url = 'https://' + os.environ[
         'PRIVATE_CHAIN_EXECUTE_API_HOST'] + '/production/eth/block_number'
     return PrivateChainUtil.send_transaction(request_url=url)
예제 #10
0
 def test_send_transaction_ng_exists_error(self):
     with self.assertRaises(SendTransactionError):
         url = 'test_url'
         PrivateChainUtil.send_transaction(request_url=url)
예제 #11
0
 def test_send_transaction_ng_status_code_not_200(self):
     with self.assertRaises(SendTransactionError):
         url = 'test_url'
         PrivateChainUtil.send_transaction(request_url=url)
예제 #12
0
 def test_send_transaction_ok_with_payload(self):
     url = 'test_url'
     payload_dict = {'key': 'value'}
     response = PrivateChainUtil.send_transaction(request_url=url, payload_dict=payload_dict)
     self.assertEqual(response, 'result_str')
예제 #13
0
 def test_send_transaction_ok(self):
     url = 'test_url'
     response = PrivateChainUtil.send_transaction(request_url=url)
     self.assertEqual(response, 'result_str')
 def __get_transaction_count(from_user_eth_address):
     payload = {'from_user_eth_address': from_user_eth_address}
     url = 'https://' + os.environ[
         'PRIVATE_CHAIN_EXECUTE_API_HOST'] + '/production/eth/get_transaction_count'
     return PrivateChainUtil.send_transaction(request_url=url,
                                              payload_dict=payload)