Example #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
Example #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
Example #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
Example #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
Example #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
Example #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)
Example #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)
Example #8
0
 def _get_network_config(self):
     url = f"{self.url}/network/config"
     response = do_get(url)
     details = response["message"]["config"]
     return details
Example #9
0
 def get_meta_block(self, nonce):
     url = f"{self.url}/block/meta/{nonce}"
     response = do_get(url)
     nonce = response["block"]
     return nonce
Example #10
0
 def get_meta_nonce(self):
     url = f"{self.url}/block/meta-nonce"
     response = do_get(url)
     nonce = response["nonce"]
     return nonce
Example #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
Example #12
0
 def get_account_transactions(self, address):
     url = f"{self.url}/address/{address.bech32()}/transactions"
     response = do_get(url)
     return response
Example #13
0
 def get_account(self, address):
     url = f"{self.url}/address/{address.bech32()}"
     response = do_get(url)
     return response
Example #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
Example #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
Example #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
Example #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
Example #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