Exemplo n.º 1
0
    def get_hyperblock(self, key) -> Any:
        url = f"{self.url}/hyperblock/by-hash/{key}"
        if str(key).isnumeric():
            url = f"{self.url}/hyperblock/by-nonce/{key}"

        response = do_get(url)
        return response
Exemplo n.º 2
0
    def get_transaction(self, tx_hash: str, sender_address: str = "", with_results: bool = False) -> Any:
        url = f"{self.url}/transaction/{tx_hash}"
        url += f"?sender={sender_address or ''}"
        url += f"&withResults={with_results}"

        response = do_get(url)
        transaction = response.get("transaction", dict())
        return transaction
Exemplo n.º 3
0
    def get_transaction(self, tx_hash: str, sender_address: str = "") -> Any:
        url = f"{self.url}/transaction/{tx_hash}"
        if sender_address:
            url = f"{self.url}/transaction/{tx_hash}?sender={sender_address}"

        response = do_get(url)
        transaction = response.get("transaction", dict())
        return transaction
Exemplo n.º 4
0
    def get_account_transactions(self, address: Address):
        TRUNCATE_DATA_THRESHOLD = 75

        url = f"{self.url}/address/{address.bech32()}/transactions"
        response = do_get(url)
        transactions = response.get("transactions", [])
        for transaction in transactions:
            data = transaction.get("data", "")
            data = (data[:TRUNCATE_DATA_THRESHOLD] + ' ... truncated ...') if len(data) > TRUNCATE_DATA_THRESHOLD else data
            transaction["data"] = data
        return transactions
Exemplo n.º 5
0
 def get_account(self, address: Address):
     url = f"{self.url}/address/{address.bech32()}"
     response = do_get(url)
     account = response.get("account", dict())
     return account
Exemplo n.º 6
0
 def get_account_balance(self, address: Address):
     url = f"{self.url}/address/{address.bech32()}/balance"
     response = do_get(url)
     balance = response.get("balance", 0)
     return int(balance)
Exemplo n.º 7
0
 def get_account_nonce(self, address: Address) -> int:
     url = f"{self.url}/address/{address.bech32()}"
     response = do_get(url)
     nonce = response.get("account").get("nonce", 0)
     return int(nonce)
Exemplo n.º 8
0
 def _get_network_config(self):
     url = f"{self.url}/network/config"
     response = do_get(url)
     details = response["message"]["config"]
     return details
Exemplo n.º 9
0
 def get_meta_block(self, nonce):
     url = f"{self.url}/block/meta/{nonce}"
     response = do_get(url)
     nonce = response["block"]
     return nonce
Exemplo n.º 10
0
 def get_meta_nonce(self):
     url = f"{self.url}/block/meta-nonce"
     response = do_get(url)
     nonce = response["nonce"]
     return nonce
Exemplo n.º 11
0
 def get_num_shards(self):
     url = f"{self.url}/network/config"
     response = do_get(url)
     num_shards_without_meta = response["message"]["config"][
         "erd_num_shards_without_meta"] or 0
     return num_shards_without_meta + 1
Exemplo n.º 12
0
 def get_account_transactions(self, address):
     url = f"{self.url}/address/{address.bech32()}/transactions"
     response = do_get(url)
     return response
Exemplo n.º 13
0
 def get_account(self, address):
     url = f"{self.url}/address/{address.bech32()}"
     response = do_get(url)
     return response
Exemplo n.º 14
0
 def get_account_balance(self, address):
     url = f"{self.url}/address/{address.bech32()}/balance"
     response = do_get(url)
     balance = response["balance"]
     return balance
Exemplo n.º 15
0
 def get_account_nonce(self, address):
     url = f"{self.url}/address/{address.bech32()}"
     response = do_get(url)
     nonce = response["account"]["nonce"]
     return nonce
Exemplo n.º 16
0
 def _get_network_status(self, shard_id):
     url = f"{self.url}/network/status/{shard_id}"
     response = do_get(url)
     payload = response.get("status")
     return payload
Exemplo n.º 17
0
 def get_network_config(self) -> NetworkConfig:
     url = f"{self.url}/network/config"
     response = do_get(url)
     payload = response.get("config")
     result = NetworkConfig(payload)
     return result
Exemplo n.º 18
0
 def _get_network_status(self, shard_id):
     url = f"{self.url}/network/status/{shard_id}"
     response = do_get(url)
     details = response["message"]["status"]
     return details