Beispiel #1
0
 def send_transactions(self, payload: List[Any]) -> Tuple[int, List[str]]:
     url = f"{self.url}/transaction/send-multiple"
     response = do_post(url, payload)
     # Proxy and Observers have different response format:
     num_sent = response.get("numOfSentTxs", 0) or response.get("txsSent", 0)
     hashes = response.get("txsHashes")
     return num_sent, hashes
Beispiel #2
0
    def send_transaction_and_wait_for_result(self,
                                             payload: Any,
                                             num_seconds_timeout=100) -> str:
        url = f"{self.url}/transaction/send"
        response = do_post(url, payload)
        tx_hash = response.get("txHash")

        for _ in range(0, num_seconds_timeout):
            if self.is_transaction_finalized(tx_hash):
                return self.get_transaction(tx_hash=tx_hash, with_results=True)
            time.sleep(1)
        return ""
Beispiel #3
0
    def _send_transaction(self, sender, receiver, data):
        tx_object = {
            "nonce": 1,
            "value": "0",
            "receiver": receiver,
            "sender": sender,
            "data": data
        }

        url = f"{self.proxy_url}/transaction/cost"

        raw_response = do_post(url, tx_object)
        return raw_response.get("txGasUnits", raw_response)
Beispiel #4
0
    def _send_transaction(self, sender, receiver, data):
        tx_object = {
            "nonce": 1,
            "value": "0",
            "receiver": receiver,
            "sender": sender,
            "data": data,
            "chainID": config.get_chain_id(),
            "version": config.get_tx_version()
        }

        url = f"{self.proxy_url}/transaction/cost"

        raw_response = do_post(url, tx_object)
        return raw_response.get("txGasUnits", raw_response)
Beispiel #5
0
 def simulate_transaction(self, payload: Any) -> str:
     url = f"{self.url}/transaction/simulate"
     response = do_post(url, payload)
     return response
Beispiel #6
0
 def send_transaction(self, payload: Any) -> str:
     url = f"{self.url}/transaction/send"
     response = do_post(url, payload)
     tx_hash = response.get("txHash")
     return tx_hash
Beispiel #7
0
 def query_contract(self, payload: Any):
     url = f"{self.url}/vm-values/query"
     response = do_post(url, payload)
     return response
Beispiel #8
0
 def send_transactions(self, payload):
     url = f"{self.url}/transaction/send-multiple"
     response = do_post(url, payload)
     num_sent = response["numOfSentTxs"]
     hashes = response["txsHashes"]
     return num_sent, hashes
Beispiel #9
0
 def send_transaction(self, payload):
     url = f"{self.url}/transaction/send"
     response = do_post(url, payload)
     tx_hash = response["txHash"]
     return tx_hash