コード例 #1
0
 def test_notify(self):
     hex_contract_address = '6690b6638251be951dded8c537678200a470c679'
     notify_args = InvokeFunction('testHello')
     bool_msg = True
     int_msg = 1
     bytes_msg = b'Hello'
     str_msg = 'Hello'
     bytes_address_msg = acct1.get_address().to_bytes()
     notify_args.set_params_value(bool_msg, int_msg, bytes_msg, str_msg,
                                  bytes_address_msg)
     tx_hash = self.send_tx(hex_contract_address, None, acct1, notify_args)
     if len(tx_hash) == 0:
         return
     time.sleep(randint(10, 15))
     event = sdk.rpc.get_contract_event_by_tx_hash(tx_hash)
     states = Event.get_states_by_contract_address(event,
                                                   hex_contract_address)
     states[0] = Data.to_utf8_str(states[0])
     self.assertEqual('testHello', states[0])
     states[1] = Data.to_bool(states[1])
     self.assertEqual(bool_msg, states[1])
     states[2] = Data.to_int(states[2])
     self.assertEqual(int_msg, states[2])
     states[3] = Data.to_bytes(states[3])
     self.assertEqual(bytes_msg, states[3])
     states[4] = Data.to_utf8_str(states[4])
     self.assertEqual(str_msg, states[4])
     states[5] = Data.to_b58_address(states[5])
     self.assertEqual(acct1.get_address_base58(), states[5])
コード例 #2
0
 def decode_raw_data(data: str, d_type: str):
     if d_type.lower() == 'hex':
         return Data.to_hex_str(data)
     if d_type.lower() == 'int':
         return Data.to_int(data)
     if d_type.lower() == 'bool':
         return Data.to_bool(data)
     if d_type.lower() == 'utf8':
         return Data.to_utf8_str(data)
     if d_type.lower() == 'dict':
         return Data.to_dict(data)
     if d_type.lower() == 'bytes':
         return Data.to_bytes(data)
     if d_type.lower() == 'address':
         return Data.to_b58_address(data)
     return data
コード例 #3
0
 def test_test_struct_list_and_str_pre_exec(self):
     bool_msg = True
     int_msg = 10
     bytes_msg = b'Hello'
     str_msg = 'Hello'
     list_msg = [1, 10, 1024, [1, 10, 1024, [1, 10, 1024]]]
     struct_list = [bool_msg, int_msg, bytes_msg, str_msg, list_msg]
     value = self.hello_ontology.test_struct_list_and_str_pre_exec(struct_list, str_msg)
     value[0][0] = Data.to_bool(value[0][0])
     self.assertEqual(bool_msg, value[0][0])
     value[0][1] = Data.to_int(value[0][1])
     self.assertEqual(int_msg, value[0][1])
     value[0][2] = Data.to_bytes(value[0][2])
     self.assertEqual(bytes_msg, value[0][2])
     value[0][3] = Data.to_utf8_str(value[0][3])
     self.assertEqual(str_msg, value[0][3])
     value[0][4] = Data.to_int_list(value[0][4])
     self.assertEqual(list_msg, value[0][4])
     value[1] = Data.to_utf8_str(value[1])
     self.assertEqual(str_msg, value[1])
コード例 #4
0
 def test_test_struct_list_and_str(self):
     bool_msg = True
     int_msg = 10
     bytes_msg = b'Hello'
     str_msg = 'Hello'
     list_msg = [1, 10, 1024, [1, 10, 1024, [1, 10, 1024]]]
     struct_list = [bool_msg, int_msg, bytes_msg, str_msg, list_msg]
     tx_hash = self.hello_ontology.test_struct_list_and_str(struct_list, str_msg, self.acct, gas_limit, gas_price)
     time.sleep(6)
     event = self.ontology.rpc.get_contract_event_by_tx_hash(tx_hash)
     states = Event.get_states_by_contract_address(event, self.hex_contract_address)
     states[0] = Data.to_utf8_str(states[0])
     states[1][0] = Data.to_bool(states[1][0])
     self.assertEqual(bool_msg, states[1][0])
     states[1][1] = Data.to_int(states[1][1])
     self.assertEqual(int_msg, states[1][1])
     states[1][2] = Data.to_bytes(states[1][2])
     self.assertEqual(bytes_msg, states[1][2])
     states[1][3] = Data.to_utf8_str(states[1][3])
     self.assertEqual(str_msg, states[1][3])
     states[1][4] = Data.to_int_list(states[1][4])
     self.assertEqual(list_msg, states[1][4])
     states[2] = Data.to_utf8_str(states[2])
コード例 #5
0
 def test_test_hello(self):
     bool_msg = True
     int_msg = 1
     bytes_msg = b'Hello'
     str_msg = 'Hello'
     address_msg = self.acct.get_address().to_bytes()
     tx_hash = self.hello_ontology.test_hello(bool_msg, int_msg, bytes_msg, str_msg, address_msg, self.acct,
                                              gas_limit,
                                              gas_price)
     time.sleep(6)
     event = self.ontology.rpc.get_contract_event_by_tx_hash(tx_hash)
     states = Event.get_states_by_contract_address(event, self.hex_contract_address)
     states[0] = Data.to_utf8_str(states[0])
     self.assertEqual('testHello', states[0])
     states[1] = Data.to_bool(states[1])
     self.assertEqual(bool_msg, states[1])
     states[2] = Data.to_int(states[2])
     self.assertEqual(int_msg, states[2])
     states[3] = Data.to_bytes(states[3])
     self.assertEqual(bytes_msg, states[3])
     states[4] = Data.to_utf8_str(states[4])
     self.assertEqual(str_msg, states[4])
     states[5] = Data.to_b58_address(states[5])
     self.assertEqual(self.acct.get_address_base58(), states[5])