Pro (PRO API key needed) (source)
+
-## Installation
+* `get_hist_eth_balance_for_address_by_block_no`
+* `get_daily_average_block_size`
+* `get_daily_block_count_and_rewards`
+* `get_daily_block_rewards`
+* `get_daily_average_block_time`
+* `get_daily_uncle_block_count_and_rewards`
+* `get_hist_erc20_token_total_supply_by_contract_address_and_block_no`
+* `get_hist_erc20_token_account_balance_for_token_contract_address_by_block_no`
+* `get_token_info_by_contract_address`
+* `get_daily_average_gas_limit`
+* `get_eth_daily_total_gas_used`
+* `get_eth_daily_average_gas_price`
+* `get_eth_daily_network_tx_fee`
+* `get_daily_new_address_count`
+* `get_daily_network_utilization`
+* `get_daily_average_network_hash_rate`
+* `get_daily_tx_count`
+* `get_daily_average_network_difficulty`
+* `get_eth_hist_daily_market_cap`
+* `get_eth_hist_price`
-Before proceeding, you should register an account on [Etherscan.io](Etherscan.io) and [generate a personal API key](https://etherscan.io/myapikey) to use.
+
-Assuming [conda](https://docs.conda.io/en/latest/miniconda.html) is already installed on your system, first create the environment:
+*If you think that a newly-added method is missing, kindly open an [issue](https://github.com/pcko1/etherscan-python/issues) as a feature request and I will do my best to add it.*
-``` bash
-conda env create -f env.yml
-```
+## Installation
-Activate the environment:
+Before proceeding, you should register an account on [Etherscan.io](https://etherscan.io/) and [generate a personal API key](https://etherscan.io/myapikey) to use.
-``` bash
-conda activate etherscan-python
-```
+If you wish to have access to the PRO endpoints, you should obtain elevated privileges via Etherscan's subscription service.
-Then, install the package:
+Install from source:
``` bash
-pip install .
+pip install git+https://github.com/pcko1/etherscan-python.git
```
-Alternatively, you can install it from [PyPI](https://pypi.org/project/etherscan-python/):
+Alternatively, install from [PyPI](https://pypi.org/project/etherscan-python/):
```bash
pip install etherscan-python
```
-## Run unittests (bash)
+## Unit tests
-In `bash`, test that everything looks OK on your end using your `API_KEY` (without quotation marks) before proceeding:
+In `bash`, test that everything looks OK on your end using your `YOUR_API_KEY` (without quotation marks) before proceeding:
``` bash
bash run_tests.sh YOUR_API_KEY
@@ -147,17 +177,15 @@ bash run_tests.sh YOUR_API_KEY
This will regenerate the logs under `logs/` with the most recent results and the timestamp of the execution.
+The tests also include the PRO endpoints so if your key is not PRO, the correspondings tests are expected to fail.
+
## Usage
-In `python`, create a client with your personal [Etherscan.io](Etherscan.io) API key:
+In `python`, create a client with your personal [Etherscan.io](https://etherscan.io/) API key:
``` python
from etherscan import Etherscan
-
-api_key = YOUR_API_KEY # use quotation marks because it is a Python string
-config_path = "configs/stable.json"
-
-eth = Etherscan.from_config(config_path, api_key)
+eth = Etherscan(YOUR_API_KEY) # key in quotation marks
```
Then you can call all available methods, e.g.:
@@ -167,10 +195,14 @@ eth.get_eth_balance(address="0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a")
> '40891631566070000000000'
```
+You can also choose one of the other testnets:
+``` python
+eth = Etherscan(YOUR_API_KEY, net="ropsten") # net name is case-insensitive, default is main
+```
## Examples
-Examples (arguments and results) for all methods may be found as JSON files [here](https://github.com/pcko1/etherscan-python/tree/master/logs). For example, if you want to use the method `get_block_number_by_timestamp`, you can find the supported arguments and the format of its output in its respective [JSON file](logs/get_block_number_by_timestamp.json):
+Examples (arguments and results) for all methods may be found as JSON files [here](https://github.com/pcko1/etherscan-python/tree/master/logs). For example, if you want to use the method `get_block_number_by_timestamp`, you can find the supported arguments and the format of its output in its respective [JSON file](logs/standard/get_block_number_by_timestamp.json):
``` json
{
@@ -180,7 +212,7 @@ Examples (arguments and results) for all methods may be found as JSON files [her
"timestamp": "1578638524",
"closest": "before"
},
- "log_timestamp": "2020-09-30-15:39:18",
+ "log_timestamp": "2020-10-28-12:34:44",
"res": "9251482"
}
```
@@ -199,5 +231,25 @@ eth.get_block_number_by_timestamp(timestamp="1578638524", closest="before")
For problems regarding installing or using the package please open an [issue](https://github.com/pcko1/etherscan-python/issues). Kindly avoid disclosing potentially sensitive information such as your API keys or your wallet addresses.
+## Cite
+
+Kotsias, P. C., pcko1/etherscan-python. *https://github.com/pcko1/etherscan-python (2020)*. doi:10.5281/zenodo.4306855
+
+or in ```bibtex```:
+
+```bibtex
+@misc{Kotsias2020,
+ author = {Kotsias, P.C.},
+ title = {pcko1/etherscan-python},
+ year = {2020},
+ publisher = {Zenodo},
+ url = {https://github.com/pcko1/etherscan-python},
+ doi = {10.5281/zenodo.4306855}
+}
+```
+
+Feel free to leave a :star: if you found this package useful.
+
___
-Powered by [Etherscan.io APIs](https://etherscan.io/apis).
+
+ Powered by [Etherscan.io APIs](https://etherscan.io/apis).
diff --git a/build/lib/etherscan/__init__.py b/build/lib/etherscan/__init__.py
deleted file mode 100644
index d73dff9..0000000
--- a/build/lib/etherscan/__init__.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from .modules.accounts import Accounts as accounts
-from .modules.blocks import Blocks as blocks
-from .modules.contracts import Contracts as contracts
-from .modules.gastracker import GasTracker as gastracker
-from .modules.proxy import Proxy as proxy
-from .modules.stats import Stats as stats
-from .modules.tokens import Tokens as tokens
-from .modules.transactions import Transactions as transactions
-from .etherscan import Etherscan
diff --git a/build/lib/etherscan/enums/__init__.py b/build/lib/etherscan/enums/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/build/lib/etherscan/enums/actions_enum.py b/build/lib/etherscan/enums/actions_enum.py
deleted file mode 100644
index 2ca5d53..0000000
--- a/build/lib/etherscan/enums/actions_enum.py
+++ /dev/null
@@ -1,41 +0,0 @@
-from dataclasses import dataclass
-
-
-@dataclass(frozen=True)
-class ActionsEnum:
- BALANCE_HISTORY: str = "balancehistory"
- BALANCE_MULTI: str = "balancemulti"
- BALANCE: str = "balance"
- CHAIN_SIZE: str = "chainsize"
- ETH_BLOCK_NUMBER: str = "eth_blockNumber"
- ETH_CALL: str = "eth_call"
- ETH_ESTIMATE_GAS: str = "eth_estimateGas"
- ETH_GAS_PRICE: str = "eth_gasPrice"
- ETH_GET_BLOCK_BY_NUMBER: str = "eth_getBlockByNumber"
- ETH_GET_BLOCK_TRANSACTION_COUNT_BY_NUMBER: str = "eth_getBlockTransactionCountByNumber"
- ETH_GET_TRANSACTION_BY_BLOCK_NUMBER_AND_INDEX: str = "eth_getTransactionByBlockNumberAndIndex"
- ETH_GET_CODE: str = "eth_getCode"
- ETH_GET_STORAGE_AT: str = "eth_getStorageAt"
- ETH_GET_TRANSACTION_BY_HASH: str = "eth_getTransactionByHash"
- ETH_GET_TRANSACTION_COUNT: str = "eth_getTransactionCount"
- ETH_GET_TRANSACTION_RECEIPT: str = "eth_getTransactionReceipt"
- ETH_GET_UNCLE_BY_BLOCK_NUMBER_AND_INDEX: str = "eth_getUncleByBlockNumberAndIndex"
- ETH_PRICE: str = "ethprice"
- ETH_SUPPLY: str = "ethsupply"
- GAS_ESTIMATE: str = "gasestimate"
- GAS_ORACLE: str = "gasoracle"
- GET_ABI: str = "getabi"
- GET_BLOCK_COUNTDOWN: str = "getblockcountdown"
- GET_BLOCK_NUMBER_BY_TIME: str = "getblocknobytime"
- GET_BLOCK_REWARD: str = "getblockreward"
- GET_MINED_BLOCKS: str = "getminedblocks"
- GET_SOURCE_CODE: str = "getsourcecode"
- GET_STATUS: str = "getstatus"
- GET_TX_RECEIPT_STATUS: str = "gettxreceiptstatus"
- TOKEN_BALANCE: str = "tokenbalance"
- TOKEN_SUPPLY: str = "tokensupply"
- TOKENNFTTX: str = "tokennfttx"
- TOKENTX: str = "tokentx"
- TXLIST_INTERNAL: str = "txlistinternal"
- TXLIST: str = "txlist"
-
diff --git a/build/lib/etherscan/enums/fields_enum.py b/build/lib/etherscan/enums/fields_enum.py
deleted file mode 100644
index a85fb77..0000000
--- a/build/lib/etherscan/enums/fields_enum.py
+++ /dev/null
@@ -1,35 +0,0 @@
-from dataclasses import dataclass
-
-
-@dataclass(frozen=True)
-class FieldsEnum:
- ACTION: str = "&action="
- ADDRESS: str = "&address="
- API_KEY: str = "&apikey="
- BLOCK_TYPE: str = "&blocktype="
- BLOCKNO: str = "&blockno="
- BOOLEAN: str = "&boolean="
- CLIENT_TYPE: str = "&clienttype="
- CLOSEST: str = "&closest="
- CONTRACT_ADDRESS: str = "&contractaddress="
- DATA: str = "&data="
- END_BLOCK: str = "&endblock="
- END_DATE: str = "&enddate="
- GAS_PRICE: str = "&gasPrice="
- GAS: str = "&gas="
- HEX: str = "&hex="
- INDEX: str = "&index="
- MODULE: str = "module="
- OFFSET: str = "&offset="
- PAGE: str = "&page="
- POSITION: str = "&position="
- PREFIX: str = "https://api.etherscan.io/api?"
- SORT: str = "&sort="
- START_BLOCK: str = "&startblock="
- START_DATE: str = "&startdate="
- SYNC_MODE: str = "&syncmode="
- TAG: str = "&tag="
- TIMESTAMP: str = "×tamp="
- TO: str = "&to="
- TXHASH: str = "&txhash="
- VALUE: str = "&value="
diff --git a/build/lib/etherscan/enums/modules_enum.py b/build/lib/etherscan/enums/modules_enum.py
deleted file mode 100644
index e02e11c..0000000
--- a/build/lib/etherscan/enums/modules_enum.py
+++ /dev/null
@@ -1,14 +0,0 @@
-from dataclasses import dataclass
-
-
-@dataclass(frozen=True)
-class ModulesEnum:
- ACCOUNT: str = "account"
- BLOCK: str = "block"
- CONTRACT: str = "contract"
- GASTRACKER: str = "gastracker"
- PROXY: str = "proxy"
- STATS: str = "stats"
- TOKEN: str = "token"
- TRANSACTION: str = "transaction"
-
diff --git a/build/lib/etherscan/enums/tags_enum.py b/build/lib/etherscan/enums/tags_enum.py
deleted file mode 100644
index 03520fb..0000000
--- a/build/lib/etherscan/enums/tags_enum.py
+++ /dev/null
@@ -1,7 +0,0 @@
-from dataclasses import dataclass
-
-
-@dataclass(frozen=True)
-class TagsEnum:
- ACCOUNT: str = "account"
- LATEST: str = "latest"
diff --git a/build/lib/etherscan/etherscan.py b/build/lib/etherscan/etherscan.py
deleted file mode 100644
index 0b8b8f6..0000000
--- a/build/lib/etherscan/etherscan.py
+++ /dev/null
@@ -1,37 +0,0 @@
-import json
-
-import requests
-
-import etherscan
-from etherscan.enums.fields_enum import FieldsEnum as fields
-from etherscan.utils.parsing import ResponseParser as parser
-
-
-class Etherscan:
- @staticmethod
- def __load_config(config_path: str) -> dict:
- with open(config_path, "r") as f:
- return json.load(f)
-
- @staticmethod
- def __run(func, api_key):
- def wrapper(*args, **kwargs):
- url = (
- f"{fields.PREFIX}"
- f"{func(*args, **kwargs)}"
- f"{fields.API_KEY}"
- f"{api_key}"
- )
- r = requests.get(url)
- return parser.parse(r)
-
- return wrapper
-
- @classmethod
- def from_config(cls, config_path: str, api_key: str):
- config = cls.__load_config(config_path)
- for func, v in config.items():
- if not func.startswith("_"): # disabled if _
- attr = getattr(getattr(etherscan, v["module"]), func)
- setattr(cls, func, cls.__run(attr, api_key))
- return cls
diff --git a/build/lib/etherscan/modules/__init__.py b/build/lib/etherscan/modules/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/build/lib/etherscan/modules/accounts.py b/build/lib/etherscan/modules/accounts.py
deleted file mode 100644
index 831b90d..0000000
--- a/build/lib/etherscan/modules/accounts.py
+++ /dev/null
@@ -1,330 +0,0 @@
-from functools import reduce
-from typing import List
-
-from etherscan.enums.actions_enum import ActionsEnum as actions
-from etherscan.enums.fields_enum import FieldsEnum as fields
-from etherscan.enums.modules_enum import ModulesEnum as modules
-from etherscan.enums.tags_enum import TagsEnum as tags
-
-
-class Accounts:
- @staticmethod
- def get_eth_balance(address: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.BALANCE}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.TAG}"
- f"{tags.LATEST}"
- )
- return url
- # r = requests.get(url)
- # return conversions.to_ticker_unit(parser.get_result(r))
-
- @staticmethod
- def get_eth_balance_multiple(addresses: List[str]) -> str:
- # NOTE: Max 20 wallets at a time
- address_list = reduce(lambda w1, w2: str(w1) + "," + str(w2), addresses)
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.BALANCE_MULTI}"
- f"{fields.ADDRESS}"
- f"{address_list}"
- f"{fields.TAG}"
- f"{tags.LATEST}"
- )
- return url
- # r = requests.get(url)
- # return [conversions.to_ticker_unit(r["balance"]) for r in parser.get_result(r)]
-
- @staticmethod
- def get_normal_txs_by_address(
- address: str, startblock: int, endblock: int, sort: str,
- ) -> str:
- # NOTE: Returns the last 10k events
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TXLIST}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.START_BLOCK}"
- f"{str(startblock)}"
- f"{fields.END_BLOCK}"
- f"{str(endblock)}"
- f"{fields.SORT}"
- f"{sort}"
- )
- return url
-
- @staticmethod
- def get_normal_txs_by_address_paginated(
- address: str, page: int, offset: int, startblock: int, endblock: int, sort: str,
- ) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TXLIST}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.START_BLOCK}"
- f"{str(startblock)}"
- f"{fields.END_BLOCK}"
- f"{str(endblock)}"
- f"{fields.SORT}"
- f"{sort}"
- f"{fields.PAGE}"
- f"{str(page)}"
- f"{fields.OFFSET}"
- f"{str(offset)}"
- )
- return url
-
- @staticmethod
- def get_internal_txs_by_address(
- address: str, startblock: int, endblock: int, sort: str,
- ) -> str:
- # NOTE: Returns the last 10k events
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TXLIST_INTERNAL}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.START_BLOCK}"
- f"{str(startblock)}"
- f"{fields.END_BLOCK}"
- f"{str(endblock)}"
- f"{fields.SORT}"
- f"{sort}"
- )
- return url
-
- @staticmethod
- def get_internal_txs_by_address_paginated(
- address: str, page: int, offset: int, startblock: int, endblock: int, sort: str,
- ) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TXLIST_INTERNAL}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.START_BLOCK}"
- f"{str(startblock)}"
- f"{fields.END_BLOCK}"
- f"{str(endblock)}"
- f"{fields.SORT}"
- f"{sort}"
- f"{fields.PAGE}"
- f"{str(page)}"
- f"{fields.OFFSET}"
- f"{str(offset)}"
- )
- return url
-
- @staticmethod
- def get_internal_txs_by_txhash(txhash: str) -> str:
- # NOTE: Returns the last 10k events
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TXLIST_INTERNAL}"
- f"{fields.TXHASH}"
- f"{txhash}"
- )
- return url
-
- @staticmethod
- def get_internal_txs_by_block_range_paginated(
- startblock: int, endblock: int, page: int, offset: int, sort: str,
- ) -> str:
- # NOTE: Returns the last 10k events
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TXLIST_INTERNAL}"
- f"{fields.START_BLOCK}"
- f"{str(startblock)}"
- f"{fields.END_BLOCK}"
- f"{str(endblock)}"
- f"{fields.SORT}"
- f"{sort}"
- f"{fields.PAGE}"
- f"{str(page)}"
- f"{fields.OFFSET}"
- f"{str(offset)}"
- )
- return url
-
- @staticmethod
- def get_erc20_token_transfer_events_by_address(
- address: str, startblock: int, endblock: int, sort: str,
- ) -> str:
- # NOTE: Returns the last 10k events
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TOKENTX}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.START_BLOCK}"
- f"{str(startblock)}"
- f"{fields.END_BLOCK}"
- f"{str(endblock)}"
- f"{fields.SORT}"
- f"{sort}"
- )
- return url
-
- @staticmethod
- def get_erc20_token_transfer_events_by_contract_address_paginated(
- contract_address: str, page: int, offset: int, sort: str
- ) -> str:
-
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TOKENTX}"
- f"{fields.CONTRACT_ADDRESS}"
- f"{contract_address}"
- f"{fields.SORT}"
- f"{sort}"
- f"{fields.PAGE}"
- f"{str(page)}"
- f"{fields.OFFSET}"
- f"{str(offset)}"
- )
- return url
-
- @staticmethod
- def get_erc20_token_transfer_events_by_address_and_contract_paginated(
- contract_address: str, address: str, page: int, offset: int, sort: str
- ) -> str:
-
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TOKENTX}"
- f"{fields.CONTRACT_ADDRESS}"
- f"{contract_address}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.SORT}"
- f"{sort}"
- f"{fields.PAGE}"
- f"{str(page)}"
- f"{fields.OFFSET}"
- f"{str(offset)}"
- )
- return url
-
- @staticmethod
- def get_erc721_token_transfer_events_by_address(
- address: str, startblock: int, endblock: int, sort: str,
- ) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TOKENNFTTX}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.START_BLOCK}"
- f"{str(startblock)}"
- f"{fields.END_BLOCK}"
- f"{str(endblock)}"
- f"{fields.SORT}"
- f"{sort}"
- )
- return url
-
- @staticmethod
- def get_erc721_token_transfer_events_by_contract_address_paginated(
- contract_address: str, page: int, offset: int, sort: str
- ) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TOKENNFTTX}"
- f"{fields.CONTRACT_ADDRESS}"
- f"{contract_address}"
- f"{fields.SORT}"
- f"{sort}"
- f"{fields.PAGE}"
- f"{str(page)}"
- f"{fields.OFFSET}"
- f"{str(offset)}"
- )
- return url
-
- @staticmethod
- def get_erc721_token_transfer_events_by_address_and_contract_paginated(
- contract_address: str, address: str, page: int, offset: int, sort: str
- ) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TOKENNFTTX}"
- f"{fields.CONTRACT_ADDRESS}"
- f"{contract_address}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.SORT}"
- f"{sort}"
- f"{fields.PAGE}"
- f"{str(page)}"
- f"{fields.OFFSET}"
- f"{str(offset)}"
- )
- return url
-
- @staticmethod
- def get_mined_blocks_by_address(address: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.GET_MINED_BLOCKS}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.BLOCK_TYPE}"
- f"blocks"
- )
- return url
-
- @staticmethod
- def get_mined_blocks_by_address_paginated(
- address: str, page: int, offset: int
- ) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.GET_MINED_BLOCKS}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.BLOCK_TYPE}"
- f"blocks"
- f"{fields.PAGE}"
- f"{str(page)}"
- f"{fields.OFFSET}"
- f"{str(offset)}"
- )
- return url
diff --git a/build/lib/etherscan/modules/blocks.py b/build/lib/etherscan/modules/blocks.py
deleted file mode 100644
index c74b6e1..0000000
--- a/build/lib/etherscan/modules/blocks.py
+++ /dev/null
@@ -1,44 +0,0 @@
-from etherscan.enums.actions_enum import ActionsEnum as actions
-from etherscan.enums.fields_enum import FieldsEnum as fields
-from etherscan.enums.modules_enum import ModulesEnum as modules
-
-
-class Blocks:
- @staticmethod
- def get_block_reward_by_block_number(block_no: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.BLOCK}"
- f"{fields.ACTION}"
- f"{actions.GET_BLOCK_REWARD}"
- f"{fields.BLOCKNO}"
- f"{block_no}"
- )
- return url
-
- @staticmethod
- def get_est_block_countdown_time_by_block_number(block_no: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.BLOCK}"
- f"{fields.ACTION}"
- f"{actions.GET_BLOCK_COUNTDOWN}"
- f"{fields.BLOCKNO}"
- f"{block_no}"
- )
- return url
-
- @staticmethod
- def get_block_number_by_timestamp(timestamp: int, closest: str) -> str:
- # NOTE: Supports UNIX timestamps in seconds
- url = (
- f"{fields.MODULE}"
- f"{modules.BLOCK}"
- f"{fields.ACTION}"
- f"{actions.GET_BLOCK_NUMBER_BY_TIME}"
- f"{fields.TIMESTAMP}"
- f"{timestamp}"
- f"{fields.CLOSEST}"
- f"{closest}"
- )
- return url
diff --git a/build/lib/etherscan/modules/contracts.py b/build/lib/etherscan/modules/contracts.py
deleted file mode 100644
index 6e8b85a..0000000
--- a/build/lib/etherscan/modules/contracts.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from etherscan.enums.actions_enum import ActionsEnum as actions
-from etherscan.enums.fields_enum import FieldsEnum as fields
-from etherscan.enums.modules_enum import ModulesEnum as modules
-
-
-class Contracts:
- @staticmethod
- def get_contract_abi(address: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.CONTRACT}"
- f"{fields.ACTION}"
- f"{actions.GET_ABI}"
- f"{fields.ADDRESS}"
- f"{address}"
- )
- return url
-
- @staticmethod
- def get_contract_source_code(address: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.CONTRACT}"
- f"{fields.ACTION}"
- f"{actions.GET_SOURCE_CODE}"
- f"{fields.ADDRESS}"
- f"{address}"
- )
- return url
diff --git a/build/lib/etherscan/modules/gastracker.py b/build/lib/etherscan/modules/gastracker.py
deleted file mode 100644
index 191a8c3..0000000
--- a/build/lib/etherscan/modules/gastracker.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from etherscan.enums.actions_enum import ActionsEnum as actions
-from etherscan.enums.fields_enum import FieldsEnum as fields
-from etherscan.enums.modules_enum import ModulesEnum as modules
-
-
-class GasTracker:
- @staticmethod
- def get_est_confirmation_time(gas_price: int) -> str:
- # NOTE: gas_price in wei, result in seconds
- url = (
- f"{fields.MODULE}"
- f"{modules.GASTRACKER}"
- f"{fields.ACTION}"
- f"{actions.GAS_ESTIMATE}"
- f"{fields.GAS_PRICE}"
- f"{gas_price}"
- )
- return url
-
- @staticmethod
- def get_gas_oracle() -> str:
- # NOTE: gas_price in wei, result in seconds
- url = (
- f"{fields.MODULE}"
- f"{modules.GASTRACKER}"
- f"{fields.ACTION}"
- f"{actions.GAS_ORACLE}"
- )
- return url
diff --git a/build/lib/etherscan/modules/proxy.py b/build/lib/etherscan/modules/proxy.py
deleted file mode 100644
index 3c5ffac..0000000
--- a/build/lib/etherscan/modules/proxy.py
+++ /dev/null
@@ -1,187 +0,0 @@
-from etherscan.enums.actions_enum import ActionsEnum as actions
-from etherscan.enums.fields_enum import FieldsEnum as fields
-from etherscan.enums.modules_enum import ModulesEnum as modules
-from etherscan.enums.tags_enum import TagsEnum as tags
-
-
-class Proxy:
- @staticmethod
- def get_proxy_block_number() -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_BLOCK_NUMBER}"
- )
- return url
-
- @staticmethod
- def get_proxy_block_by_number(tag: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_GET_BLOCK_BY_NUMBER}"
- f"{fields.TAG}"
- f"{tag}"
- f"{fields.BOOLEAN}"
- f"true"
- )
- return url
-
- @staticmethod
- def get_proxy_uncle_by_block_number_and_index(tag: str, index: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_GET_UNCLE_BY_BLOCK_NUMBER_AND_INDEX}"
- f"{fields.TAG}"
- f"{tag}"
- f"{fields.INDEX}"
- f"{index}"
- )
- return url
-
- @staticmethod
- def get_proxy_block_transaction_count_by_number(tag: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_GET_BLOCK_TRANSACTION_COUNT_BY_NUMBER}"
- f"{fields.TAG}"
- f"{tag}"
- )
- return url
-
- @staticmethod
- def get_proxy_transaction_by_hash(txhash: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_GET_TRANSACTION_BY_HASH}"
- f"{fields.TXHASH}"
- f"{txhash}"
- )
- return url
-
- @staticmethod
- def get_proxy_transaction_by_block_number_and_index(tag: str, index: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_GET_TRANSACTION_BY_BLOCK_NUMBER_AND_INDEX}"
- f"{fields.TAG}"
- f"{tag}"
- f"{fields.INDEX}"
- f"{index}"
- )
- return url
-
- @staticmethod
- def get_proxy_transaction_count(address: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_GET_TRANSACTION_COUNT}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.TAG}"
- f"{tags.LATEST}"
- )
- return url
-
- @staticmethod
- def get_proxy_transaction_receipt(txhash: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_GET_TRANSACTION_RECEIPT}"
- f"{fields.TXHASH}"
- f"{txhash}"
- )
- return url
-
- @staticmethod
- def get_proxy_call(to: str, data: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_CALL}"
- f"{fields.TO}"
- f"{to}"
- f"{fields.DATA}"
- f"{data}"
- f"{fields.TAG}"
- f"{tags.LATEST}"
- )
- return url
-
- @staticmethod
- def get_proxy_code_at(address: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_GET_CODE}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.TAG}"
- f"{tags.LATEST}"
- )
- return url
-
- @staticmethod
- def get_proxy_storage_position_at(position: str, address: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_GET_STORAGE_AT}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.POSITION}"
- f"{position}"
- f"{fields.TAG}"
- f"{tags.LATEST}"
- )
- return url
-
- @staticmethod
- def get_proxy_gas_price() -> str:
- # NOTE: Results are in WEI
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_GAS_PRICE}"
- )
- return url
-
- @staticmethod
- def get_proxy_est_gas(
- to: str, data: str, value: str, gas_price: str, gas: str
- ) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.PROXY}"
- f"{fields.ACTION}"
- f"{actions.ETH_ESTIMATE_GAS}"
- f"{fields.DATA}"
- f"{data}"
- f"{fields.TO}"
- f"{to}"
- f"{fields.VALUE}"
- f"{value}"
- f"{fields.GAS_PRICE}"
- f"{gas_price}"
- f"{fields.GAS}"
- f"{gas}"
- )
- return url
diff --git a/build/lib/etherscan/modules/stats.py b/build/lib/etherscan/modules/stats.py
deleted file mode 100644
index 816f46c..0000000
--- a/build/lib/etherscan/modules/stats.py
+++ /dev/null
@@ -1,47 +0,0 @@
-from etherscan.enums.actions_enum import ActionsEnum as actions
-from etherscan.enums.fields_enum import FieldsEnum as fields
-from etherscan.enums.modules_enum import ModulesEnum as modules
-
-
-class Stats:
- @staticmethod
- def get_total_eth_supply() -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.STATS}"
- f"{fields.ACTION}"
- f"{actions.ETH_SUPPLY}"
- )
- return url
-
- @staticmethod
- def get_eth_last_price() -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.STATS}"
- f"{fields.ACTION}"
- f"{actions.ETH_PRICE}"
- )
- return url
-
- @staticmethod
- def get_eth_nodes_size(
- start_date: str, end_date: str, client_type: str, sync_mode: str, sort: str
- ) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.STATS}"
- f"{fields.ACTION}"
- f"{actions.CHAIN_SIZE}"
- f"{fields.START_DATE}"
- f"{start_date}"
- f"{fields.END_DATE}"
- f"{end_date}"
- f"{fields.CLIENT_TYPE}"
- f"{client_type}"
- f"{fields.SYNC_MODE}"
- f"{sync_mode}"
- f"{fields.SORT}"
- f"{sort}"
- )
- return url
diff --git a/build/lib/etherscan/modules/tokens.py b/build/lib/etherscan/modules/tokens.py
deleted file mode 100644
index 1c90745..0000000
--- a/build/lib/etherscan/modules/tokens.py
+++ /dev/null
@@ -1,36 +0,0 @@
-from etherscan.enums.actions_enum import ActionsEnum as actions
-from etherscan.enums.fields_enum import FieldsEnum as fields
-from etherscan.enums.modules_enum import ModulesEnum as modules
-from etherscan.enums.tags_enum import TagsEnum as tags
-
-
-class Tokens:
- @staticmethod
- def get_total_supply_by_contract_address(contract_address: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.STATS}"
- f"{fields.ACTION}"
- f"{actions.TOKEN_SUPPLY}"
- f"{fields.CONTRACT_ADDRESS}"
- f"{contract_address}"
- )
- return url
-
- @staticmethod
- def get_acc_balance_by_token_and_contract_address(
- contract_address: str, address: str
- ) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.ACCOUNT}"
- f"{fields.ACTION}"
- f"{actions.TOKEN_BALANCE}"
- f"{fields.CONTRACT_ADDRESS}"
- f"{contract_address}"
- f"{fields.ADDRESS}"
- f"{address}"
- f"{fields.TAG}"
- f"{tags.LATEST}"
- )
- return url
diff --git a/build/lib/etherscan/modules/transactions.py b/build/lib/etherscan/modules/transactions.py
deleted file mode 100644
index 693089b..0000000
--- a/build/lib/etherscan/modules/transactions.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from etherscan.enums.actions_enum import ActionsEnum as actions
-from etherscan.enums.fields_enum import FieldsEnum as fields
-from etherscan.enums.modules_enum import ModulesEnum as modules
-
-
-class Transactions:
- @staticmethod
- def get_contract_execution_status(txhash: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.TRANSACTION}"
- f"{fields.ACTION}"
- f"{actions.GET_STATUS}"
- f"{fields.TXHASH}"
- f"{txhash}"
- )
- return url
-
- @staticmethod
- def get_tx_receipt_status(txhash: str) -> str:
- url = (
- f"{fields.MODULE}"
- f"{modules.TRANSACTION}"
- f"{fields.ACTION}"
- f"{actions.GET_TX_RECEIPT_STATUS}"
- f"{fields.TXHASH}"
- f"{txhash}"
- )
- return url
diff --git a/build/lib/etherscan/utils/__init__.py b/build/lib/etherscan/utils/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/build/lib/etherscan/utils/conversions.py b/build/lib/etherscan/utils/conversions.py
deleted file mode 100644
index 26fd503..0000000
--- a/build/lib/etherscan/utils/conversions.py
+++ /dev/null
@@ -1,13 +0,0 @@
-from decimal import Decimal
-
-
-class Conversions:
- @staticmethod
- def to_ticker_unit(val: int, decimals: int = 18) -> Decimal:
- factor = Decimal("10") ** Decimal("-{}".format(decimals))
- return Decimal(val) * factor
-
- @staticmethod
- def to_smallest_unit(val: int, decimals: int = 18) -> Decimal:
- factor = Decimal("10") ** Decimal("+{}".format(decimals))
- return Decimal(val) * factor
diff --git a/build/lib/etherscan/utils/parsing.py b/build/lib/etherscan/utils/parsing.py
deleted file mode 100644
index 3166fe2..0000000
--- a/build/lib/etherscan/utils/parsing.py
+++ /dev/null
@@ -1,18 +0,0 @@
-import requests
-
-
-class ResponseParser:
- @staticmethod
- def parse(response: requests.Response):
- content = response.json()
- result = content["result"]
- if "status" in content.keys():
- status = bool(int(content["status"]))
- message = content["message"]
- assert status, f"{result} -- {message}"
- else:
- # GETH or Parity proxy msg format
- # TODO: see if we need those values
- jsonrpc = content["jsonrpc"]
- cid = int(content["id"])
- return result
diff --git a/configs/__init__.py b/configs/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/dist/etherscan-python-1.0.2.tar.gz b/dist/etherscan-python-1.0.2.tar.gz
deleted file mode 100644
index f7eb47e..0000000
Binary files a/dist/etherscan-python-1.0.2.tar.gz and /dev/null differ
diff --git a/dist/etherscan_python-1.0.2-py3-none-any.whl b/dist/etherscan_python-1.0.2-py3-none-any.whl
deleted file mode 100644
index 2f7c5db..0000000
Binary files a/dist/etherscan_python-1.0.2-py3-none-any.whl and /dev/null differ
diff --git a/env.yml b/env.yml
deleted file mode 100644
index 91d443f..0000000
--- a/env.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-name: etherscan-python
-channels:
- - conda-forge
- - defaults
-dependencies:
- - _libgcc_mutex=0.1=conda_forge
- - _openmp_mutex=4.5=1_gnu
- - ca-certificates=2020.6.20=hecda079_0
- - certifi=2020.6.20=py38h32f6830_0
- - ld_impl_linux-64=2.35=h769bd43_9
- - libffi=3.2.1=he1b5a44_1007
- - libgcc-ng=9.3.0=h24d8f2e_16
- - libgomp=9.3.0=h24d8f2e_16
- - libstdcxx-ng=9.3.0=hdf63c60_16
- - ncurses=6.2=he1b5a44_1
- - openssl=1.1.1h=h516909a_0
- - pip=20.2.3=py_0
- - python=3.8.5=h1103e12_9_cpython
- - python_abi=3.8=1_cp38
- - readline=8.0=he28a2e2_2
- - setuptools=49.6.0=py38h32f6830_1
- - sqlite=3.33.0=h4cf870e_0
- - tk=8.6.10=hed695b0_0
- - wheel=0.35.1=pyh9f0ad1d_0
- - xz=5.2.5=h516909a_1
- - zlib=1.2.11=h516909a_1009
- - pip:
- - chardet==3.0.4
- - coverage==5.3
- - idna==2.10
- - requests==2.24.0
- - urllib3==1.25.10
-prefix: /projects/mai/kjmv588/miniconda3/envs/etherscan-python
-
diff --git a/etherscan/__init__.py b/etherscan/__init__.py
index d73dff9..7b527d3 100644
--- a/etherscan/__init__.py
+++ b/etherscan/__init__.py
@@ -1,9 +1,10 @@
+from .etherscan import Etherscan
from .modules.accounts import Accounts as accounts
from .modules.blocks import Blocks as blocks
from .modules.contracts import Contracts as contracts
from .modules.gastracker import GasTracker as gastracker
+from .modules.pro import Pro as pro
from .modules.proxy import Proxy as proxy
from .modules.stats import Stats as stats
from .modules.tokens import Tokens as tokens
from .modules.transactions import Transactions as transactions
-from .etherscan import Etherscan
diff --git a/build/lib/configs/stable.json b/etherscan/configs/GOERLI-stable.json
similarity index 83%
rename from build/lib/configs/stable.json
rename to etherscan/configs/GOERLI-stable.json
index 0eb8ef1..4dbe408 100644
--- a/build/lib/configs/stable.json
+++ b/etherscan/configs/GOERLI-stable.json
@@ -9,7 +9,7 @@
"tag": "0x10d4f"
}
},
- "get_proxy_uncle_by_block_number_and_index": {
+ "_get_proxy_uncle_by_block_number_and_index": {
"module": "proxy",
"kwargs": {
"tag": "0x210A9B",
@@ -31,7 +31,7 @@
"get_proxy_transaction_by_block_number_and_index": {
"module": "proxy",
"kwargs": {
- "tag": "0x10d4f",
+ "tag": "0x210A9B",
"index": "0x0"
}
},
@@ -118,7 +118,7 @@
"module": "stats",
"kwargs": {}
},
- "get_eth_nodes_size": {
+ "_get_eth_nodes_size": {
"module": "stats",
"kwargs": {
"start_date": "2019-02-01",
@@ -144,7 +144,7 @@
"get_contract_abi": {
"module": "contracts",
"kwargs": {
- "address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413"
+ "address": "0x748D03fb181A158bea396489eA6589E7dCfBA495"
}
},
"get_contract_source_code": {
@@ -184,7 +184,7 @@
"get_normal_txs_by_address": {
"module": "accounts",
"kwargs": {
- "address": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
+ "address": "0xff6872f2c89ac60fbc1fc977a9724555b9796154",
"startblock": 0,
"endblock": 99999999,
"sort": "asc"
@@ -193,7 +193,7 @@
"get_normal_txs_by_address_paginated": {
"module": "accounts",
"kwargs": {
- "address": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
+ "address": "0xff6872f2c89ac60fbc1fc977a9724555b9796154",
"startblock": 0,
"endblock": 99999999,
"page": 1,
@@ -204,18 +204,18 @@
"get_internal_txs_by_address": {
"module": "accounts",
"kwargs": {
- "address": "0x2c1ba59d6f58433fb1eaee7d20b26ed83bda51a3",
- "startblock": 0,
- "endblock": 2702578,
+ "address": "0x126c5b0b637340569ee98c768e97992ea2fa426d",
+ "startblock": 4397831,
+ "endblock": 4397831,
"sort": "asc"
}
},
"get_internal_txs_by_address_paginated": {
"module": "accounts",
"kwargs": {
- "address": "0x2c1ba59d6f58433fb1eaee7d20b26ed83bda51a3",
- "startblock": 0,
- "endblock": 2702578,
+ "address": "0x126c5b0b637340569ee98c768e97992ea2fa426d",
+ "startblock": 4397831,
+ "endblock": 4397831,
"page": 1,
"offset": 10,
"sort": "asc"
@@ -224,7 +224,7 @@
"get_internal_txs_by_txhash": {
"module": "accounts",
"kwargs": {
- "txhash": "0x40eb908387324f2b575b4879cd9d7188f69c8fc9d87c901b9e2daaea4b442170"
+ "txhash": "0x1b71be923f0dcb1f4a196d340d868ff0b35f494e7f3f6575b81812b0824696bb"
}
},
"get_internal_txs_by_block_range_paginated": {
@@ -240,7 +240,7 @@
"get_erc20_token_transfer_events_by_address": {
"module": "accounts",
"kwargs": {
- "address": "0x4e83362442b8d1bec281594cea3050c8eb01311c",
+ "address": "0x9fc8720759bf397bdc13ae08760a7aea7ebbdf56",
"startblock": 0,
"endblock": 999999999,
"sort": "asc"
@@ -249,7 +249,7 @@
"get_erc20_token_transfer_events_by_contract_address_paginated": {
"module": "accounts",
"kwargs": {
- "contract_address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
+ "contract_address": "0x2ac3c1d3e24b45c6c310534bc2dd84b5ed576335",
"page": 1,
"offset": 100,
"sort": "asc"
@@ -258,8 +258,8 @@
"get_erc20_token_transfer_events_by_address_and_contract_paginated": {
"module": "accounts",
"kwargs": {
- "contract_address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
- "address": "0x4e83362442b8d1bec281594cea3050c8eb01311c",
+ "contract_address": "0x2ac3c1d3e24b45c6c310534bc2dd84b5ed576335",
+ "address": "0x9fc8720759bf397bdc13ae08760a7aea7ebbdf56",
"page": 1,
"offset": 100,
"sort": "asc"
@@ -268,7 +268,7 @@
"get_erc721_token_transfer_events_by_address": {
"module": "accounts",
"kwargs": {
- "address": "0x6975be450864c02b4613023c2152ee0743572325",
+ "address": "0x3b2f32d32faabd8d94df36afb956bd4d34bf905c",
"startblock": 0,
"endblock": 999999999,
"sort": "asc"
@@ -277,7 +277,7 @@
"get_erc721_token_transfer_events_by_contract_address_paginated": {
"module": "accounts",
"kwargs": {
- "contract_address": "0x06012c8cf97bead5deae237070f9587f8e7a266d",
+ "contract_address": "0xe5975e7dc3dfbb4cbede646b8af7cf292b46693e",
"page": 1,
"offset": 100,
"sort": "asc"
@@ -286,8 +286,8 @@
"get_erc721_token_transfer_events_by_address_and_contract_paginated": {
"module": "accounts",
"kwargs": {
- "contract_address": "0x06012c8cf97bead5deae237070f9587f8e7a266d",
- "address": "0x6975be450864c02b4613023c2152ee0743572325",
+ "contract_address": "0xe5975e7dc3dfbb4cbede646b8af7cf292b46693e",
+ "address": "0x3b2f32d32faabd8d94df36afb956bd4d34bf905c",
"page": 1,
"offset": 100,
"sort": "asc"
@@ -296,13 +296,13 @@
"get_mined_blocks_by_address": {
"module": "accounts",
"kwargs": {
- "address": "0x9dd134d14d1e65f84b706d6f205cd5b1cd03a46b"
+ "address": "0x0000000000000000000000000000000000000000"
}
},
"get_mined_blocks_by_address_paginated": {
"module": "accounts",
"kwargs": {
- "address": "0x9dd134d14d1e65f84b706d6f205cd5b1cd03a46b",
+ "address": "0x0000000000000000000000000000000000000000",
"page": 1,
"offset": 100
}
diff --git a/configs/stable.json b/etherscan/configs/KOVAN-stable.json
similarity index 83%
rename from configs/stable.json
rename to etherscan/configs/KOVAN-stable.json
index 0eb8ef1..a8ac91f 100644
--- a/configs/stable.json
+++ b/etherscan/configs/KOVAN-stable.json
@@ -12,7 +12,7 @@
"get_proxy_uncle_by_block_number_and_index": {
"module": "proxy",
"kwargs": {
- "tag": "0x210A9B",
+ "tag": "0x4d50e2",
"index": "0x0"
}
},
@@ -31,7 +31,7 @@
"get_proxy_transaction_by_block_number_and_index": {
"module": "proxy",
"kwargs": {
- "tag": "0x10d4f",
+ "tag": "0x43195c",
"index": "0x0"
}
},
@@ -118,7 +118,7 @@
"module": "stats",
"kwargs": {}
},
- "get_eth_nodes_size": {
+ "_get_eth_nodes_size": {
"module": "stats",
"kwargs": {
"start_date": "2019-02-01",
@@ -144,7 +144,7 @@
"get_contract_abi": {
"module": "contracts",
"kwargs": {
- "address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413"
+ "address": "0xe309239955502Bb812807e8C29B98C3441775d35"
}
},
"get_contract_source_code": {
@@ -184,7 +184,7 @@
"get_normal_txs_by_address": {
"module": "accounts",
"kwargs": {
- "address": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
+ "address": "0xc1918c20650920aa664235bc6cbd8b8728fbe931",
"startblock": 0,
"endblock": 99999999,
"sort": "asc"
@@ -193,7 +193,7 @@
"get_normal_txs_by_address_paginated": {
"module": "accounts",
"kwargs": {
- "address": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
+ "address": "0xc1918c20650920aa664235bc6cbd8b8728fbe931",
"startblock": 0,
"endblock": 99999999,
"page": 1,
@@ -204,18 +204,18 @@
"get_internal_txs_by_address": {
"module": "accounts",
"kwargs": {
- "address": "0x2c1ba59d6f58433fb1eaee7d20b26ed83bda51a3",
- "startblock": 0,
- "endblock": 2702578,
+ "address": "0xaaad7966ebe0663b8c9c6f683fb9c3e66e03467f",
+ "startblock": 23799593,
+ "endblock": 23799593,
"sort": "asc"
}
},
"get_internal_txs_by_address_paginated": {
"module": "accounts",
"kwargs": {
- "address": "0x2c1ba59d6f58433fb1eaee7d20b26ed83bda51a3",
- "startblock": 0,
- "endblock": 2702578,
+ "address": "0xaaad7966ebe0663b8c9c6f683fb9c3e66e03467f",
+ "startblock": 23799593,
+ "endblock": 23799593,
"page": 1,
"offset": 10,
"sort": "asc"
@@ -224,7 +224,7 @@
"get_internal_txs_by_txhash": {
"module": "accounts",
"kwargs": {
- "txhash": "0x40eb908387324f2b575b4879cd9d7188f69c8fc9d87c901b9e2daaea4b442170"
+ "txhash": "0xad550ebc0f2473e3b5af8d1d30b093749cb2835bf21ed340e976b1ec25276b04"
}
},
"get_internal_txs_by_block_range_paginated": {
@@ -240,7 +240,7 @@
"get_erc20_token_transfer_events_by_address": {
"module": "accounts",
"kwargs": {
- "address": "0x4e83362442b8d1bec281594cea3050c8eb01311c",
+ "address": "0xa991b15e414ddfa78b0df1f7af6b3cf2023c738d",
"startblock": 0,
"endblock": 999999999,
"sort": "asc"
@@ -249,7 +249,7 @@
"get_erc20_token_transfer_events_by_contract_address_paginated": {
"module": "accounts",
"kwargs": {
- "contract_address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
+ "contract_address": "0x8fe80f7ca77daa68b059f8b3e29e1c5d962f01e7",
"page": 1,
"offset": 100,
"sort": "asc"
@@ -258,8 +258,8 @@
"get_erc20_token_transfer_events_by_address_and_contract_paginated": {
"module": "accounts",
"kwargs": {
- "contract_address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
- "address": "0x4e83362442b8d1bec281594cea3050c8eb01311c",
+ "contract_address": "0x8fe80f7ca77daa68b059f8b3e29e1c5d962f01e7",
+ "address": "0xa991b15e414ddfa78b0df1f7af6b3cf2023c738d",
"page": 1,
"offset": 100,
"sort": "asc"
@@ -268,7 +268,7 @@
"get_erc721_token_transfer_events_by_address": {
"module": "accounts",
"kwargs": {
- "address": "0x6975be450864c02b4613023c2152ee0743572325",
+ "address": "0x57e05dba059a8ff2777408e9e1f3c517c20fc719",
"startblock": 0,
"endblock": 999999999,
"sort": "asc"
@@ -277,7 +277,7 @@
"get_erc721_token_transfer_events_by_contract_address_paginated": {
"module": "accounts",
"kwargs": {
- "contract_address": "0x06012c8cf97bead5deae237070f9587f8e7a266d",
+ "contract_address": "0x953067757ec1b3a859f80ae15269f95430e72e69",
"page": 1,
"offset": 100,
"sort": "asc"
@@ -286,8 +286,8 @@
"get_erc721_token_transfer_events_by_address_and_contract_paginated": {
"module": "accounts",
"kwargs": {
- "contract_address": "0x06012c8cf97bead5deae237070f9587f8e7a266d",
- "address": "0x6975be450864c02b4613023c2152ee0743572325",
+ "contract_address": "0x953067757ec1b3a859f80ae15269f95430e72e69",
+ "address": "0x57e05dba059a8ff2777408e9e1f3c517c20fc719",
"page": 1,
"offset": 100,
"sort": "asc"
@@ -296,13 +296,13 @@
"get_mined_blocks_by_address": {
"module": "accounts",
"kwargs": {
- "address": "0x9dd134d14d1e65f84b706d6f205cd5b1cd03a46b"
+ "address": "0x0000000000000000000000000000000000000000"
}
},
"get_mined_blocks_by_address_paginated": {
"module": "accounts",
"kwargs": {
- "address": "0x9dd134d14d1e65f84b706d6f205cd5b1cd03a46b",
+ "address": "0x0000000000000000000000000000000000000000",
"page": 1,
"offset": 100
}
diff --git a/etherscan/configs/MAIN-stable.json b/etherscan/configs/MAIN-stable.json
new file mode 100644
index 0000000..272ed0b
--- /dev/null
+++ b/etherscan/configs/MAIN-stable.json
@@ -0,0 +1,466 @@
+{
+ "get_proxy_block_number": {
+ "module": "proxy",
+ "kwargs": {}
+ },
+ "get_proxy_block_by_number": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x10d4f"
+ }
+ },
+ "get_proxy_uncle_by_block_number_and_index": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x210A9B",
+ "index": "0x0"
+ }
+ },
+ "get_proxy_block_transaction_count_by_number": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x10FB78"
+ }
+ },
+ "get_proxy_transaction_by_hash": {
+ "module": "proxy",
+ "kwargs": {
+ "txhash": "0x1e2910a262b1008d0616a0beb24c1a491d78771baa54a33e66065e03b1f46bc1"
+ }
+ },
+ "get_proxy_transaction_by_block_number_and_index": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x10d4f",
+ "index": "0x0"
+ }
+ },
+ "get_proxy_transaction_count": {
+ "module": "proxy",
+ "kwargs": {
+ "address": "0x2910543af39aba0cd09dbb2d50200b3e800a63d2"
+ }
+ },
+ "get_proxy_transaction_receipt": {
+ "module": "proxy",
+ "kwargs": {
+ "txhash": "0x1e2910a262b1008d0616a0beb24c1a491d78771baa54a33e66065e03b1f46bc1"
+ }
+ },
+ "get_proxy_call": {
+ "module": "proxy",
+ "kwargs": {
+ "to": "0xAEEF46DB4855E25702F8237E8f403FddcaF931C0",
+ "data": "0x70a08231000000000000000000000000e16359506c028e51f16be38986ec5746251e9724"
+ }
+ },
+ "get_proxy_code_at": {
+ "module": "proxy",
+ "kwargs": {
+ "address": "0xf75e354c5edc8efed9b59ee9f67a80845ade7d0c"
+ }
+ },
+ "get_proxy_storage_position_at": {
+ "module": "proxy",
+ "kwargs": {
+ "position": "0x0",
+ "address": "0x6e03d9cce9d60f3e9f2597e13cd4c54c55330cfd"
+ }
+ },
+ "get_proxy_gas_price": {
+ "module": "proxy",
+ "kwargs": {}
+ },
+ "get_proxy_est_gas": {
+ "module": "proxy",
+ "kwargs": {
+ "data": "0x4e71d92d",
+ "to": "0xf0160428a8552ac9bb7e050d90eeade4ddd52843",
+ "value": "0xff22",
+ "gas_price": "0x51da038cc",
+ "gas": "0x5f5e0ff"
+ }
+ },
+ "get_est_confirmation_time": {
+ "module": "gastracker",
+ "kwargs": {
+ "gas_price": "2000000000"
+ }
+ },
+ "get_gas_oracle": {
+ "module": "gastracker",
+ "kwargs": {}
+ },
+ "get_block_reward_by_block_number": {
+ "module": "blocks",
+ "kwargs": {
+ "block_no": "2165403"
+ }
+ },
+ "get_est_block_countdown_time_by_block_number": {
+ "module": "blocks",
+ "kwargs": {
+ "block_no": "99999999"
+ }
+ },
+ "get_block_number_by_timestamp": {
+ "module": "blocks",
+ "kwargs": {
+ "timestamp": "1578638524",
+ "closest": "before"
+ }
+ },
+ "get_total_eth_supply": {
+ "module": "stats",
+ "kwargs": {}
+ },
+ "get_eth_last_price": {
+ "module": "stats",
+ "kwargs": {}
+ },
+ "get_eth_nodes_size": {
+ "module": "stats",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "client_type": "geth",
+ "sync_mode": "default",
+ "sort": "asc"
+ }
+ },
+ "get_total_supply_by_contract_address": {
+ "module": "tokens",
+ "kwargs": {
+ "contract_address": "0x57d90b64a1a57749b0f932f1a3395792e12e7055"
+ }
+ },
+ "get_acc_balance_by_token_and_contract_address": {
+ "module": "tokens",
+ "kwargs": {
+ "contract_address": "0x57d90b64a1a57749b0f932f1a3395792e12e7055",
+ "address": "0xe04f27eb70e025b78871a2ad7eabe85e61212761"
+ }
+ },
+ "get_contract_abi": {
+ "module": "contracts",
+ "kwargs": {
+ "address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413"
+ }
+ },
+ "get_contract_source_code": {
+ "module": "contracts",
+ "kwargs": {
+ "address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413"
+ }
+ },
+ "get_contract_execution_status": {
+ "module": "transactions",
+ "kwargs": {
+ "txhash": "0x15f8e5ea1079d9a0bb04a4c58ae5fe7654b5b2b4463375ff7ffb490aa0032f3a"
+ }
+ },
+ "get_tx_receipt_status": {
+ "module": "transactions",
+ "kwargs": {
+ "txhash": "0x513c1ba0bebf66436b5fed86ab668452b7805593c05073eb2d51d3a52f480a76"
+ }
+ },
+ "get_eth_balance": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a"
+ }
+ },
+ "get_eth_balance_multiple": {
+ "module": "accounts",
+ "kwargs": {
+ "addresses": [
+ "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
+ "0x63a9975ba31b0b9626b34300f7f627147df1f526",
+ "0x198ef1ec325a96cc354c7266a038be8b5c558f67"
+ ]
+ }
+ },
+ "get_normal_txs_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
+ "startblock": 0,
+ "endblock": 99999999,
+ "sort": "asc"
+ }
+ },
+ "get_normal_txs_by_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
+ "startblock": 0,
+ "endblock": 99999999,
+ "page": 1,
+ "offset": 10,
+ "sort": "asc"
+ }
+ },
+ "get_internal_txs_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x2c1ba59d6f58433fb1eaee7d20b26ed83bda51a3",
+ "startblock": 0,
+ "endblock": 2702578,
+ "sort": "asc"
+ }
+ },
+ "get_internal_txs_by_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x2c1ba59d6f58433fb1eaee7d20b26ed83bda51a3",
+ "startblock": 0,
+ "endblock": 2702578,
+ "page": 1,
+ "offset": 10,
+ "sort": "asc"
+ }
+ },
+ "get_internal_txs_by_txhash": {
+ "module": "accounts",
+ "kwargs": {
+ "txhash": "0x40eb908387324f2b575b4879cd9d7188f69c8fc9d87c901b9e2daaea4b442170"
+ }
+ },
+ "get_internal_txs_by_block_range_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "startblock": 0,
+ "endblock": 2702578,
+ "page": 1,
+ "offset": 10,
+ "sort": "asc"
+ }
+ },
+ "get_erc20_token_transfer_events_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x4e83362442b8d1bec281594cea3050c8eb01311c",
+ "startblock": 0,
+ "endblock": 999999999,
+ "sort": "asc"
+ }
+ },
+ "get_erc20_token_transfer_events_by_contract_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_erc20_token_transfer_events_by_address_and_contract_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
+ "address": "0x4e83362442b8d1bec281594cea3050c8eb01311c",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_erc721_token_transfer_events_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x6975be450864c02b4613023c2152ee0743572325",
+ "startblock": 0,
+ "endblock": 999999999,
+ "sort": "asc"
+ }
+ },
+ "get_erc721_token_transfer_events_by_contract_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0x06012c8cf97bead5deae237070f9587f8e7a266d",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_erc721_token_transfer_events_by_address_and_contract_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0x06012c8cf97bead5deae237070f9587f8e7a266d",
+ "address": "0x6975be450864c02b4613023c2152ee0743572325",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_mined_blocks_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x9dd134d14d1e65f84b706d6f205cd5b1cd03a46b"
+ }
+ },
+ "get_mined_blocks_by_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x9dd134d14d1e65f84b706d6f205cd5b1cd03a46b",
+ "page": 1,
+ "offset": 100
+ }
+ },
+ "get_hist_eth_balance_for_address_by_block_no": {
+ "module": "pro",
+ "kwargs": {
+ "address": "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae",
+ "block_no": "8000000"
+ }
+ },
+ "get_daily_average_block_size": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_daily_block_count_and_rewards": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_daily_block_rewards": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_daily_average_block_time": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_daily_uncle_block_count_and_rewards": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_hist_erc20_token_total_supply_by_contract_address_and_block_no": {
+ "module": "pro",
+ "kwargs": {
+ "contract_address": "0x57d90b64a1a57749b0f932f1a3395792e12e7055",
+ "block_no": "8000000"
+ }
+ },
+ "get_hist_erc20_token_account_balance_for_token_contract_address_by_block_no": {
+ "module": "pro",
+ "kwargs": {
+ "contract_address": "0x57d90b64a1a57749b0f932f1a3395792e12e7055",
+ "address": "0xe04f27eb70e025b78871a2ad7eabe85e61212761",
+ "block_no": "8000000"
+ }
+ },
+ "get_token_info_by_contract_address": {
+ "module": "pro",
+ "kwargs": {
+ "contract_address": "0x0e3a2a1f2146d86a604adc220b4967a898d7fe07"
+ }
+ },
+ "get_daily_average_gas_limit": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_eth_daily_total_gas_used": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_eth_daily_average_gas_price": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_eth_daily_network_tx_fee": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_daily_new_address_count": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_daily_network_utilization": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_daily_average_network_hash_rate": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_daily_tx_count": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_daily_average_network_difficulty": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_eth_hist_daily_market_cap": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ },
+ "get_eth_hist_price": {
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ }
+ }
+}
\ No newline at end of file
diff --git a/etherscan/configs/RINKEBY-stable.json b/etherscan/configs/RINKEBY-stable.json
new file mode 100644
index 0000000..3ca8296
--- /dev/null
+++ b/etherscan/configs/RINKEBY-stable.json
@@ -0,0 +1,310 @@
+{
+ "get_proxy_block_number": {
+ "module": "proxy",
+ "kwargs": {}
+ },
+ "get_proxy_block_by_number": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x10d4f"
+ }
+ },
+ "_get_proxy_uncle_by_block_number_and_index": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x210A9B",
+ "index": "0x0"
+ }
+ },
+ "get_proxy_block_transaction_count_by_number": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x10FB78"
+ }
+ },
+ "get_proxy_transaction_by_hash": {
+ "module": "proxy",
+ "kwargs": {
+ "txhash": "0x1e2910a262b1008d0616a0beb24c1a491d78771baa54a33e66065e03b1f46bc1"
+ }
+ },
+ "get_proxy_transaction_by_block_number_and_index": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x43195c",
+ "index": "0x0"
+ }
+ },
+ "get_proxy_transaction_count": {
+ "module": "proxy",
+ "kwargs": {
+ "address": "0x2910543af39aba0cd09dbb2d50200b3e800a63d2"
+ }
+ },
+ "get_proxy_transaction_receipt": {
+ "module": "proxy",
+ "kwargs": {
+ "txhash": "0x1e2910a262b1008d0616a0beb24c1a491d78771baa54a33e66065e03b1f46bc1"
+ }
+ },
+ "get_proxy_call": {
+ "module": "proxy",
+ "kwargs": {
+ "to": "0xAEEF46DB4855E25702F8237E8f403FddcaF931C0",
+ "data": "0x70a08231000000000000000000000000e16359506c028e51f16be38986ec5746251e9724"
+ }
+ },
+ "get_proxy_code_at": {
+ "module": "proxy",
+ "kwargs": {
+ "address": "0xf75e354c5edc8efed9b59ee9f67a80845ade7d0c"
+ }
+ },
+ "get_proxy_storage_position_at": {
+ "module": "proxy",
+ "kwargs": {
+ "position": "0x0",
+ "address": "0x6e03d9cce9d60f3e9f2597e13cd4c54c55330cfd"
+ }
+ },
+ "get_proxy_gas_price": {
+ "module": "proxy",
+ "kwargs": {}
+ },
+ "get_proxy_est_gas": {
+ "module": "proxy",
+ "kwargs": {
+ "data": "0x4e71d92d",
+ "to": "0xf0160428a8552ac9bb7e050d90eeade4ddd52843",
+ "value": "0xff22",
+ "gas_price": "0x51da038cc",
+ "gas": "0x5f5e0ff"
+ }
+ },
+ "get_est_confirmation_time": {
+ "module": "gastracker",
+ "kwargs": {
+ "gas_price": "2000000000"
+ }
+ },
+ "get_gas_oracle": {
+ "module": "gastracker",
+ "kwargs": {}
+ },
+ "get_block_reward_by_block_number": {
+ "module": "blocks",
+ "kwargs": {
+ "block_no": "2165403"
+ }
+ },
+ "get_est_block_countdown_time_by_block_number": {
+ "module": "blocks",
+ "kwargs": {
+ "block_no": "99999999"
+ }
+ },
+ "get_block_number_by_timestamp": {
+ "module": "blocks",
+ "kwargs": {
+ "timestamp": "1578638524",
+ "closest": "before"
+ }
+ },
+ "get_total_eth_supply": {
+ "module": "stats",
+ "kwargs": {}
+ },
+ "get_eth_last_price": {
+ "module": "stats",
+ "kwargs": {}
+ },
+ "_get_eth_nodes_size": {
+ "module": "stats",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "client_type": "geth",
+ "sync_mode": "default",
+ "sort": "asc"
+ }
+ },
+ "get_total_supply_by_contract_address": {
+ "module": "tokens",
+ "kwargs": {
+ "contract_address": "0x57d90b64a1a57749b0f932f1a3395792e12e7055"
+ }
+ },
+ "get_acc_balance_by_token_and_contract_address": {
+ "module": "tokens",
+ "kwargs": {
+ "contract_address": "0x57d90b64a1a57749b0f932f1a3395792e12e7055",
+ "address": "0xe04f27eb70e025b78871a2ad7eabe85e61212761"
+ }
+ },
+ "get_contract_abi": {
+ "module": "contracts",
+ "kwargs": {
+ "address": "0x79a856049A390336E221d54e2bAB9e629989187f"
+ }
+ },
+ "get_contract_source_code": {
+ "module": "contracts",
+ "kwargs": {
+ "address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413"
+ }
+ },
+ "get_contract_execution_status": {
+ "module": "transactions",
+ "kwargs": {
+ "txhash": "0x15f8e5ea1079d9a0bb04a4c58ae5fe7654b5b2b4463375ff7ffb490aa0032f3a"
+ }
+ },
+ "get_tx_receipt_status": {
+ "module": "transactions",
+ "kwargs": {
+ "txhash": "0x513c1ba0bebf66436b5fed86ab668452b7805593c05073eb2d51d3a52f480a76"
+ }
+ },
+ "get_eth_balance": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a"
+ }
+ },
+ "get_eth_balance_multiple": {
+ "module": "accounts",
+ "kwargs": {
+ "addresses": [
+ "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
+ "0x63a9975ba31b0b9626b34300f7f627147df1f526",
+ "0x198ef1ec325a96cc354c7266a038be8b5c558f67"
+ ]
+ }
+ },
+ "get_normal_txs_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x0cb510e2f16c36ce039ee3164330d5f00ecf9eac",
+ "startblock": 0,
+ "endblock": 99999999,
+ "sort": "asc"
+ }
+ },
+ "get_normal_txs_by_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x0cb510e2f16c36ce039ee3164330d5f00ecf9eac",
+ "startblock": 0,
+ "endblock": 99999999,
+ "page": 1,
+ "offset": 10,
+ "sort": "asc"
+ }
+ },
+ "get_internal_txs_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0xd16a6772163463c731e37ef42c98eee95f15a496",
+ "startblock": 8191436,
+ "endblock": 8191436,
+ "sort": "asc"
+ }
+ },
+ "get_internal_txs_by_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0xd16a6772163463c731e37ef42c98eee95f15a496",
+ "startblock": 8191436,
+ "endblock": 8191436,
+ "page": 1,
+ "offset": 10,
+ "sort": "asc"
+ }
+ },
+ "get_internal_txs_by_txhash": {
+ "module": "accounts",
+ "kwargs": {
+ "txhash": "0x55f288d70fbdcb4506a792d7cb3f5085132c5480fd06492e39a67bcb12119fe1"
+ }
+ },
+ "get_internal_txs_by_block_range_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "startblock": 0,
+ "endblock": 2702578,
+ "page": 1,
+ "offset": 10,
+ "sort": "asc"
+ }
+ },
+ "get_erc20_token_transfer_events_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x18045cdf3f619e32ff4b11df689059b4d0358d11",
+ "startblock": 0,
+ "endblock": 999999999,
+ "sort": "asc"
+ }
+ },
+ "get_erc20_token_transfer_events_by_contract_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0xdf82c9014f127243ce1305dfe54151647d74b27a",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_erc20_token_transfer_events_by_address_and_contract_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0xdf82c9014f127243ce1305dfe54151647d74b27a",
+ "address": "0x18045cdf3f619e32ff4b11df689059b4d0358d11",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_erc721_token_transfer_events_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x0d4444a2473b2832700c693b81bc551e10e5c913",
+ "startblock": 0,
+ "endblock": 999999999,
+ "sort": "asc"
+ }
+ },
+ "get_erc721_token_transfer_events_by_contract_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0xd2ae28b5cb629d9018b91acb855e35cd75f5be80",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_erc721_token_transfer_events_by_address_and_contract_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0xd2ae28b5cb629d9018b91acb855e35cd75f5be80",
+ "address": "0x0d4444a2473b2832700c693b81bc551e10e5c913",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_mined_blocks_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0xd6ae8250b8348c94847280928c79fb3b63ca453e"
+ }
+ },
+ "get_mined_blocks_by_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0xd6ae8250b8348c94847280928c79fb3b63ca453e",
+ "page": 1,
+ "offset": 100
+ }
+ }
+}
\ No newline at end of file
diff --git a/etherscan/configs/ROPSTEN-stable.json b/etherscan/configs/ROPSTEN-stable.json
new file mode 100644
index 0000000..012856e
--- /dev/null
+++ b/etherscan/configs/ROPSTEN-stable.json
@@ -0,0 +1,310 @@
+{
+ "get_proxy_block_number": {
+ "module": "proxy",
+ "kwargs": {}
+ },
+ "get_proxy_block_by_number": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x10d4f"
+ }
+ },
+ "get_proxy_uncle_by_block_number_and_index": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x956df5",
+ "index": "0x0"
+ }
+ },
+ "get_proxy_block_transaction_count_by_number": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x10FB78"
+ }
+ },
+ "get_proxy_transaction_by_hash": {
+ "module": "proxy",
+ "kwargs": {
+ "txhash": "0x1e2910a262b1008d0616a0beb24c1a491d78771baa54a33e66065e03b1f46bc1"
+ }
+ },
+ "get_proxy_transaction_by_block_number_and_index": {
+ "module": "proxy",
+ "kwargs": {
+ "tag": "0x43195c",
+ "index": "0x0"
+ }
+ },
+ "get_proxy_transaction_count": {
+ "module": "proxy",
+ "kwargs": {
+ "address": "0x2910543af39aba0cd09dbb2d50200b3e800a63d2"
+ }
+ },
+ "get_proxy_transaction_receipt": {
+ "module": "proxy",
+ "kwargs": {
+ "txhash": "0x1e2910a262b1008d0616a0beb24c1a491d78771baa54a33e66065e03b1f46bc1"
+ }
+ },
+ "get_proxy_call": {
+ "module": "proxy",
+ "kwargs": {
+ "to": "0xAEEF46DB4855E25702F8237E8f403FddcaF931C0",
+ "data": "0x70a08231000000000000000000000000e16359506c028e51f16be38986ec5746251e9724"
+ }
+ },
+ "get_proxy_code_at": {
+ "module": "proxy",
+ "kwargs": {
+ "address": "0xf75e354c5edc8efed9b59ee9f67a80845ade7d0c"
+ }
+ },
+ "get_proxy_storage_position_at": {
+ "module": "proxy",
+ "kwargs": {
+ "position": "0x0",
+ "address": "0x6e03d9cce9d60f3e9f2597e13cd4c54c55330cfd"
+ }
+ },
+ "get_proxy_gas_price": {
+ "module": "proxy",
+ "kwargs": {}
+ },
+ "get_proxy_est_gas": {
+ "module": "proxy",
+ "kwargs": {
+ "data": "0x4e71d92d",
+ "to": "0xf0160428a8552ac9bb7e050d90eeade4ddd52843",
+ "value": "0xff22",
+ "gas_price": "0x51da038cc",
+ "gas": "0x5f5e0ff"
+ }
+ },
+ "get_est_confirmation_time": {
+ "module": "gastracker",
+ "kwargs": {
+ "gas_price": "2000000000"
+ }
+ },
+ "get_gas_oracle": {
+ "module": "gastracker",
+ "kwargs": {}
+ },
+ "get_block_reward_by_block_number": {
+ "module": "blocks",
+ "kwargs": {
+ "block_no": "2165403"
+ }
+ },
+ "get_est_block_countdown_time_by_block_number": {
+ "module": "blocks",
+ "kwargs": {
+ "block_no": "99999999"
+ }
+ },
+ "get_block_number_by_timestamp": {
+ "module": "blocks",
+ "kwargs": {
+ "timestamp": "1578638524",
+ "closest": "before"
+ }
+ },
+ "get_total_eth_supply": {
+ "module": "stats",
+ "kwargs": {}
+ },
+ "get_eth_last_price": {
+ "module": "stats",
+ "kwargs": {}
+ },
+ "_get_eth_nodes_size": {
+ "module": "stats",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "client_type": "geth",
+ "sync_mode": "default",
+ "sort": "asc"
+ }
+ },
+ "get_total_supply_by_contract_address": {
+ "module": "tokens",
+ "kwargs": {
+ "contract_address": "0x57d90b64a1a57749b0f932f1a3395792e12e7055"
+ }
+ },
+ "get_acc_balance_by_token_and_contract_address": {
+ "module": "tokens",
+ "kwargs": {
+ "contract_address": "0x57d90b64a1a57749b0f932f1a3395792e12e7055",
+ "address": "0xe04f27eb70e025b78871a2ad7eabe85e61212761"
+ }
+ },
+ "get_contract_abi": {
+ "module": "contracts",
+ "kwargs": {
+ "address": "0x036af46B35c5Fe11c1C48bC0301e325738F44c4a"
+ }
+ },
+ "get_contract_source_code": {
+ "module": "contracts",
+ "kwargs": {
+ "address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413"
+ }
+ },
+ "get_contract_execution_status": {
+ "module": "transactions",
+ "kwargs": {
+ "txhash": "0x15f8e5ea1079d9a0bb04a4c58ae5fe7654b5b2b4463375ff7ffb490aa0032f3a"
+ }
+ },
+ "get_tx_receipt_status": {
+ "module": "transactions",
+ "kwargs": {
+ "txhash": "0x513c1ba0bebf66436b5fed86ab668452b7805593c05073eb2d51d3a52f480a76"
+ }
+ },
+ "get_eth_balance": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a"
+ }
+ },
+ "get_eth_balance_multiple": {
+ "module": "accounts",
+ "kwargs": {
+ "addresses": [
+ "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
+ "0x63a9975ba31b0b9626b34300f7f627147df1f526",
+ "0x198ef1ec325a96cc354c7266a038be8b5c558f67"
+ ]
+ }
+ },
+ "get_normal_txs_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x687422eea2cb73b5d3e242ba5456b782919afc85",
+ "startblock": 0,
+ "endblock": 99999999,
+ "sort": "asc"
+ }
+ },
+ "get_normal_txs_by_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x687422eea2cb73b5d3e242ba5456b782919afc85",
+ "startblock": 0,
+ "endblock": 99999999,
+ "page": 1,
+ "offset": 10,
+ "sort": "asc"
+ }
+ },
+ "get_internal_txs_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0xf2b4e81ba39f5215db2e05b2f66f482bb8e87fd2",
+ "startblock": 9793067,
+ "endblock": 9793067,
+ "sort": "asc"
+ }
+ },
+ "get_internal_txs_by_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0xf2b4e81ba39f5215db2e05b2f66f482bb8e87fd2",
+ "startblock": 9793067,
+ "endblock": 9793067,
+ "page": 1,
+ "offset": 10,
+ "sort": "asc"
+ }
+ },
+ "get_internal_txs_by_txhash": {
+ "module": "accounts",
+ "kwargs": {
+ "txhash": "0xbfb7fd401294dd5bfbcc88842670892182bf119069ad866ac2c5e4d8511cd032"
+ }
+ },
+ "get_internal_txs_by_block_range_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "startblock": 0,
+ "endblock": 2702578,
+ "page": 1,
+ "offset": 10,
+ "sort": "asc"
+ }
+ },
+ "get_erc20_token_transfer_events_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x3ebe6781be6d436cb7999cfce8b52e40819721cb",
+ "startblock": 0,
+ "endblock": 999999999,
+ "sort": "asc"
+ }
+ },
+ "get_erc20_token_transfer_events_by_contract_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0x8707a5bf4c2842d46b31a405ba41b858c0f876c4",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_erc20_token_transfer_events_by_address_and_contract_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0x8707a5bf4c2842d46b31a405ba41b858c0f876c4",
+ "address": "0x3ebe6781be6d436cb7999cfce8b52e40819721cb",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_erc721_token_transfer_events_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x07d48bdba7975f0daf73bd5b85a2e3ff87ffb24e",
+ "startblock": 9792696,
+ "endblock": 9792696,
+ "sort": "asc"
+ }
+ },
+ "get_erc721_token_transfer_events_by_contract_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0x130116e22f3e42ab82abde6d940ef4ef14b77c86",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_erc721_token_transfer_events_by_address_and_contract_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "contract_address": "0x130116e22f3e42ab82abde6d940ef4ef14b77c86",
+ "address": "0x07d48bdba7975f0daf73bd5b85a2e3ff87ffb24e",
+ "page": 1,
+ "offset": 100,
+ "sort": "asc"
+ }
+ },
+ "get_mined_blocks_by_address": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x635b4764d1939dfacd3a8014726159abc277becc"
+ }
+ },
+ "get_mined_blocks_by_address_paginated": {
+ "module": "accounts",
+ "kwargs": {
+ "address": "0x635b4764d1939dfacd3a8014726159abc277becc",
+ "page": 1,
+ "offset": 100
+ }
+ }
+}
\ No newline at end of file
diff --git a/build/lib/configs/__init__.py b/etherscan/configs/__init__.py
similarity index 100%
rename from build/lib/configs/__init__.py
rename to etherscan/configs/__init__.py
diff --git a/etherscan/enums/actions_enum.py b/etherscan/enums/actions_enum.py
index 2ca5d53..20c81cb 100644
--- a/etherscan/enums/actions_enum.py
+++ b/etherscan/enums/actions_enum.py
@@ -7,15 +7,35 @@ class ActionsEnum:
BALANCE_MULTI: str = "balancemulti"
BALANCE: str = "balance"
CHAIN_SIZE: str = "chainsize"
+ DAILY_AVG_BLOCK_SIZE: str = "dailyavgblocksize"
+ DAILY_AVG_BLOCK_TIME: str = "dailyavgblocktime"
+ DAILY_AVG_GAS_LIMIT: str = "dailyavggaslimit"
+ DAILY_AVG_GAS_PRICE: str = "dailyavggasprice"
+ DAILY_AVG_HASH_RATE: str = "dailyavghashrate"
+ DAILY_AVG_NET_DIFFICULTY: str = "dailyavgnetdifficulty"
+ DAILY_BLK_COUNT: str = "dailyblkcount"
+ DAILY_BLOCK_REWARDS: str = "dailyblockrewards"
+ DAILY_GAS_USED: str = "dailygasused"
+ DAILY_NET_UTILIZATION: str = "dailynetutilization"
+ DAILY_NEW_ADDRESS: str = "dailynewaddress"
+ DAILY_TX: str = "dailytx"
+ DAILY_TXN_FEE: str = "dailytxnfee"
+ DAILY_UNCLE_BLK_COUNT: str = "dailyuncleblkcount"
ETH_BLOCK_NUMBER: str = "eth_blockNumber"
ETH_CALL: str = "eth_call"
+ ETH_DAILY_MARKET_CAP: str = "ethdailymarketcap"
+ ETH_DAILY_PRICE: str = "ethdailyprice"
ETH_ESTIMATE_GAS: str = "eth_estimateGas"
ETH_GAS_PRICE: str = "eth_gasPrice"
ETH_GET_BLOCK_BY_NUMBER: str = "eth_getBlockByNumber"
- ETH_GET_BLOCK_TRANSACTION_COUNT_BY_NUMBER: str = "eth_getBlockTransactionCountByNumber"
- ETH_GET_TRANSACTION_BY_BLOCK_NUMBER_AND_INDEX: str = "eth_getTransactionByBlockNumberAndIndex"
+ ETH_GET_BLOCK_TRANSACTION_COUNT_BY_NUMBER: str = (
+ "eth_getBlockTransactionCountByNumber"
+ )
ETH_GET_CODE: str = "eth_getCode"
ETH_GET_STORAGE_AT: str = "eth_getStorageAt"
+ ETH_GET_TRANSACTION_BY_BLOCK_NUMBER_AND_INDEX: str = (
+ "eth_getTransactionByBlockNumberAndIndex"
+ )
ETH_GET_TRANSACTION_BY_HASH: str = "eth_getTransactionByHash"
ETH_GET_TRANSACTION_COUNT: str = "eth_getTransactionCount"
ETH_GET_TRANSACTION_RECEIPT: str = "eth_getTransactionReceipt"
@@ -32,10 +52,12 @@ class ActionsEnum:
GET_SOURCE_CODE: str = "getsourcecode"
GET_STATUS: str = "getstatus"
GET_TX_RECEIPT_STATUS: str = "gettxreceiptstatus"
+ TOKEN_BALANCE_HISTORY: str = "tokenbalancehistory"
TOKEN_BALANCE: str = "tokenbalance"
+ TOKEN_INFO: str = "tokeninfo"
+ TOKEN_SUPPLY_HISTORY: str = "tokensupplyhistory"
TOKEN_SUPPLY: str = "tokensupply"
TOKENNFTTX: str = "tokennfttx"
TOKENTX: str = "tokentx"
TXLIST_INTERNAL: str = "txlistinternal"
TXLIST: str = "txlist"
-
diff --git a/etherscan/enums/fields_enum.py b/etherscan/enums/fields_enum.py
index a85fb77..b0bcc4d 100644
--- a/etherscan/enums/fields_enum.py
+++ b/etherscan/enums/fields_enum.py
@@ -23,7 +23,7 @@ class FieldsEnum:
OFFSET: str = "&offset="
PAGE: str = "&page="
POSITION: str = "&position="
- PREFIX: str = "https://api.etherscan.io/api?"
+ PREFIX: str = "https://api-{}.etherscan.io/api?"
SORT: str = "&sort="
START_BLOCK: str = "&startblock="
START_DATE: str = "&startdate="
diff --git a/etherscan/etherscan.py b/etherscan/etherscan.py
index 0b8b8f6..5749aa8 100644
--- a/etherscan/etherscan.py
+++ b/etherscan/etherscan.py
@@ -1,37 +1,44 @@
import json
+from importlib import resources
import requests
import etherscan
+from etherscan import configs
from etherscan.enums.fields_enum import FieldsEnum as fields
from etherscan.utils.parsing import ResponseParser as parser
class Etherscan:
+ def __new__(cls, api_key: str, net: str = "MAIN"):
+ with resources.path(configs, f"{net.upper()}-stable.json") as path:
+ config_path = str(path)
+ return cls.from_config(api_key=api_key, config_path=config_path, net=net)
+
@staticmethod
def __load_config(config_path: str) -> dict:
with open(config_path, "r") as f:
return json.load(f)
@staticmethod
- def __run(func, api_key):
+ def __run(func, api_key: str, net: str):
def wrapper(*args, **kwargs):
url = (
- f"{fields.PREFIX}"
+ f"{fields.PREFIX.format(net.lower()).replace('-main','')}"
f"{func(*args, **kwargs)}"
f"{fields.API_KEY}"
f"{api_key}"
)
- r = requests.get(url)
+ r = requests.get(url, headers={"User-Agent": ""})
return parser.parse(r)
return wrapper
@classmethod
- def from_config(cls, config_path: str, api_key: str):
+ def from_config(cls, api_key: str, config_path: str, net: str):
config = cls.__load_config(config_path)
for func, v in config.items():
if not func.startswith("_"): # disabled if _
attr = getattr(getattr(etherscan, v["module"]), func)
- setattr(cls, func, cls.__run(attr, api_key))
+ setattr(cls, func, cls.__run(attr, api_key, net))
return cls
diff --git a/etherscan/modules/pro.py b/etherscan/modules/pro.py
new file mode 100644
index 0000000..7ac0876
--- /dev/null
+++ b/etherscan/modules/pro.py
@@ -0,0 +1,391 @@
+from functools import reduce
+from typing import List
+
+from etherscan.enums.actions_enum import ActionsEnum as actions
+from etherscan.enums.fields_enum import FieldsEnum as fields
+from etherscan.enums.modules_enum import ModulesEnum as modules
+from etherscan.enums.tags_enum import TagsEnum as tags
+
+
+class Pro:
+ @staticmethod
+ def get_hist_eth_balance_for_address_by_block_no(
+ address: str, block_no: int
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.ACCOUNT}"
+ f"{fields.ACTION}"
+ f"{actions.BALANCE_HISTORY}"
+ f"{fields.ADDRESS}"
+ f"{address}"
+ f"{fields.BLOCKNO}"
+ f"{block_no}"
+ )
+ return url
+
+ @staticmethod
+ def get_daily_average_block_size(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_AVG_BLOCK_SIZE}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_daily_block_count_and_rewards(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_BLK_COUNT}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_daily_block_rewards(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_BLOCK_REWARDS}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_daily_average_block_time(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_AVG_BLOCK_TIME}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_daily_uncle_block_count_and_rewards(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_UNCLE_BLK_COUNT}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_hist_erc20_token_total_supply_by_contract_address_and_block_no(
+ contract_address: str, block_no: int
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.TOKEN_SUPPLY_HISTORY}"
+ f"{fields.CONTRACT_ADDRESS}"
+ f"{contract_address}"
+ f"{fields.BLOCKNO}"
+ f"{block_no}"
+ )
+ return url
+
+ @staticmethod
+ def get_hist_erc20_token_account_balance_for_token_contract_address_by_block_no(
+ contract_address: str, address: str, block_no: int
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.ACCOUNT}"
+ f"{fields.ACTION}"
+ f"{actions.TOKEN_BALANCE_HISTORY}"
+ f"{fields.CONTRACT_ADDRESS}"
+ f"{contract_address}"
+ f"{fields.ADDRESS}"
+ f"{address}"
+ f"{fields.BLOCKNO}"
+ f"{block_no}"
+ )
+ return url
+
+ @staticmethod
+ def get_token_info_by_contract_address(contract_address: str) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.TOKEN}"
+ f"{fields.ACTION}"
+ f"{actions.TOKEN_INFO}"
+ f"{fields.CONTRACT_ADDRESS}"
+ f"{contract_address}"
+ )
+ return url
+
+ @staticmethod
+ def get_daily_average_gas_limit(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_AVG_GAS_LIMIT}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_eth_daily_total_gas_used(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_GAS_USED}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_eth_daily_average_gas_price(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_AVG_GAS_PRICE}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_eth_daily_network_tx_fee(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_TXN_FEE}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_daily_new_address_count(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_NEW_ADDRESS}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_daily_network_utilization(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_NET_UTILIZATION}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_daily_average_network_hash_rate(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_AVG_HASH_RATE}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_daily_tx_count(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_TX}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_daily_average_network_difficulty(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.DAILY_AVG_NET_DIFFICULTY}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_eth_hist_daily_market_cap(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.ETH_DAILY_MARKET_CAP}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
+
+ @staticmethod
+ def get_eth_hist_price(
+ start_date: int,
+ end_date: int,
+ sort: str,
+ ) -> str:
+ url = (
+ f"{fields.MODULE}"
+ f"{modules.STATS}"
+ f"{fields.ACTION}"
+ f"{actions.ETH_DAILY_PRICE}"
+ f"{fields.START_DATE}"
+ f"{str(start_date)}"
+ f"{fields.END_DATE}"
+ f"{str(end_date)}"
+ f"{fields.SORT}"
+ f"{sort}"
+ )
+ return url
diff --git a/logs/get_eth_last_price.json b/logs/get_eth_last_price.json
deleted file mode 100644
index c98aa5e..0000000
--- a/logs/get_eth_last_price.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "method": "get_eth_last_price",
- "module": "stats",
- "kwargs": {},
- "log_timestamp": "2020-10-01-09:43:03",
- "res": {
- "ethbtc": "0.03374",
- "ethbtc_timestamp": "1601545373",
- "ethusd": "367.74",
- "ethusd_timestamp": "1601545371"
- }
-}
\ No newline at end of file
diff --git a/logs/get_gas_oracle.json b/logs/get_gas_oracle.json
deleted file mode 100644
index 69bc11d..0000000
--- a/logs/get_gas_oracle.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "method": "get_gas_oracle",
- "module": "gastracker",
- "kwargs": {},
- "log_timestamp": "2020-10-01-09:42:44",
- "res": {
- "LastBlock": "10969401",
- "SafeGasPrice": "68",
- "ProposeGasPrice": "76",
- "FastGasPrice": "92"
- }
-}
\ No newline at end of file
diff --git a/logs/get_total_eth_supply.json b/logs/get_total_eth_supply.json
deleted file mode 100644
index 327dd8b..0000000
--- a/logs/get_total_eth_supply.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "method": "get_total_eth_supply",
- "module": "stats",
- "kwargs": {},
- "log_timestamp": "2020-10-01-09:43:02",
- "res": "112826214124000000000000000"
-}
\ No newline at end of file
diff --git a/logs/pro/get_daily_average_block_size.json b/logs/pro/get_daily_average_block_size.json
new file mode 100644
index 0000000..1ccdf9d
--- /dev/null
+++ b/logs/pro/get_daily_average_block_size.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_daily_average_block_size",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:05",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "blockSize_bytes": 20373
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "blockSize_bytes": 17499
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "blockSize_bytes": 16597
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "blockSize_bytes": 16326
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "blockSize_bytes": 16601
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "blockSize_bytes": 17023
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "blockSize_bytes": 17432
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "blockSize_bytes": 18982
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "blockSize_bytes": 17138
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "blockSize_bytes": 18598
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "blockSize_bytes": 20700
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "blockSize_bytes": 20824
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "blockSize_bytes": 23368
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "blockSize_bytes": 23305
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "blockSize_bytes": 22751
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "blockSize_bytes": 21513
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "blockSize_bytes": 22199
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "blockSize_bytes": 24106
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "blockSize_bytes": 24581
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "blockSize_bytes": 24759
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "blockSize_bytes": 25217
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "blockSize_bytes": 24969
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "blockSize_bytes": 21843
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "blockSize_bytes": 24399
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "blockSize_bytes": 26690
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "blockSize_bytes": 26269
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "blockSize_bytes": 25340
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "blockSize_bytes": 25117
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_daily_average_block_time.json b/logs/pro/get_daily_average_block_time.json
new file mode 100644
index 0000000..bfcb68c
--- /dev/null
+++ b/logs/pro/get_daily_average_block_time.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_daily_average_block_time",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:08",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "blockTime_sec": "17.67"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "blockTime_sec": "17.41"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "blockTime_sec": "17.68"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "blockTime_sec": "17.39"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "blockTime_sec": "17.54"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "blockTime_sec": "17.55"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "blockTime_sec": "17.44"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "blockTime_sec": "17.43"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "blockTime_sec": "17.49"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "blockTime_sec": "20.00"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "blockTime_sec": "20.48"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "blockTime_sec": "20.12"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "blockTime_sec": "20.48"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "blockTime_sec": "20.62"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "blockTime_sec": "20.68"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "blockTime_sec": "20.39"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "blockTime_sec": "20.76"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "blockTime_sec": "20.47"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "blockTime_sec": "19.99"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "blockTime_sec": "20.15"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "blockTime_sec": "20.22"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "blockTime_sec": "20.28"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "blockTime_sec": "19.76"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "blockTime_sec": "20.12"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "blockTime_sec": "20.20"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "blockTime_sec": "20.09"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "blockTime_sec": "20.04"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "blockTime_sec": "19.61"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_daily_average_gas_limit.json b/logs/pro/get_daily_average_gas_limit.json
new file mode 100644
index 0000000..7a2d669
--- /dev/null
+++ b/logs/pro/get_daily_average_gas_limit.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_daily_average_gas_limit",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:12",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "gasLimit": "8001360"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "gasLimit": "8001269"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "gasLimit": "8001164"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "gasLimit": "8001218"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "gasLimit": "8001176"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "gasLimit": "8001322"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "gasLimit": "8001263"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "gasLimit": "8001377"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "gasLimit": "8001139"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "gasLimit": "8001145"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "gasLimit": "8001168"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "gasLimit": "8001034"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "gasLimit": "8001092"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "gasLimit": "8001481"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "gasLimit": "8001147"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "gasLimit": "8001206"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "gasLimit": "8001298"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "gasLimit": "8001130"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "gasLimit": "8001406"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "gasLimit": "8001347"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "gasLimit": "8001243"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "gasLimit": "8001252"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "gasLimit": "8001223"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "gasLimit": "8001394"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "gasLimit": "8001148"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "gasLimit": "8001364"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "gasLimit": "8001071"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "gasLimit": "8001137"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_daily_avg_block_time.json b/logs/pro/get_daily_avg_block_time.json
new file mode 100644
index 0000000..a4ec1a7
--- /dev/null
+++ b/logs/pro/get_daily_avg_block_time.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_daily_avg_block_time",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-10:59:47",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "blockTime_sec": "17.67"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "blockTime_sec": "17.41"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "blockTime_sec": "17.68"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "blockTime_sec": "17.39"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "blockTime_sec": "17.54"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "blockTime_sec": "17.55"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "blockTime_sec": "17.44"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "blockTime_sec": "17.43"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "blockTime_sec": "17.49"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "blockTime_sec": "20.00"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "blockTime_sec": "20.48"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "blockTime_sec": "20.12"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "blockTime_sec": "20.48"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "blockTime_sec": "20.62"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "blockTime_sec": "20.68"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "blockTime_sec": "20.39"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "blockTime_sec": "20.76"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "blockTime_sec": "20.47"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "blockTime_sec": "19.99"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "blockTime_sec": "20.15"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "blockTime_sec": "20.22"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "blockTime_sec": "20.28"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "blockTime_sec": "19.76"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "blockTime_sec": "20.12"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "blockTime_sec": "20.20"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "blockTime_sec": "20.09"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "blockTime_sec": "20.04"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "blockTime_sec": "19.61"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_daily_avg_network_difficulty.json b/logs/pro/get_daily_avg_network_difficulty.json
new file mode 100644
index 0000000..a785bc3
--- /dev/null
+++ b/logs/pro/get_daily_avg_network_difficulty.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_daily_avg_network_difficulty",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:17",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "networkDifficulty": "2,408.028"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "networkDifficulty": "2,358.910"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "networkDifficulty": "2,354.610"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "networkDifficulty": "2,361.903"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "networkDifficulty": "2,363.999"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "networkDifficulty": "2,348.840"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "networkDifficulty": "2,334.071"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "networkDifficulty": "2,371.717"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "networkDifficulty": "2,370.090"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "networkDifficulty": "2,799.616"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "networkDifficulty": "2,790.454"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "networkDifficulty": "2,845.497"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "networkDifficulty": "2,813.683"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "networkDifficulty": "2,763.886"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "networkDifficulty": "2,758.556"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "networkDifficulty": "2,791.493"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "networkDifficulty": "2,787.184"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "networkDifficulty": "2,800.544"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "networkDifficulty": "2,931.316"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "networkDifficulty": "2,934.330"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "networkDifficulty": "2,935.973"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "networkDifficulty": "2,909.985"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "networkDifficulty": "3,019.639"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "networkDifficulty": "3,010.990"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "networkDifficulty": "2,966.100"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "networkDifficulty": "2,978.234"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "networkDifficulty": "2,974.809"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "networkDifficulty": "2,927.453"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_daily_avg_network_hash_rate.json b/logs/pro/get_daily_avg_network_hash_rate.json
new file mode 100644
index 0000000..7be2df8
--- /dev/null
+++ b/logs/pro/get_daily_avg_network_hash_rate.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_daily_avg_network_hash_rate",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:16",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "networkHashRate": "143116.0140"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "networkHashRate": "143036.2313"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "networkHashRate": "139150.9121"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "networkHashRate": "141058.0782"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "networkHashRate": "141593.6815"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "networkHashRate": "139435.1741"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "networkHashRate": "139449.9210"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "networkHashRate": "142467.7242"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "networkHashRate": "141162.9802"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "networkHashRate": "145132.8832"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "networkHashRate": "142235.6399"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "networkHashRate": "147544.2715"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "networkHashRate": "142540.4061"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "networkHashRate": "140337.5751"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "networkHashRate": "139939.2522"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "networkHashRate": "144000.9622"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "networkHashRate": "140520.5263"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "networkHashRate": "144791.9973"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "networkHashRate": "154063.7497"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "networkHashRate": "152931.5965"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "networkHashRate": "152031.7369"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "networkHashRate": "150079.7621"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "networkHashRate": "159998.9286"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "networkHashRate": "156160.2762"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "networkHashRate": "154106.7468"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "networkHashRate": "156426.1998"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "networkHashRate": "156143.0510"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "networkHashRate": "157689.3983"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_daily_block_count_and_rewards.json b/logs/pro/get_daily_block_count_and_rewards.json
new file mode 100644
index 0000000..8437185
--- /dev/null
+++ b/logs/pro/get_daily_block_count_and_rewards.json
@@ -0,0 +1,180 @@
+{
+ "method": "get_daily_block_count_and_rewards",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:06",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "blockCount": 4848,
+ "blockRewards_Eth": "14929.464690870590355682"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "blockCount": 4935,
+ "blockRewards_Eth": "15120.386084685869906669"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "blockCount": 4858,
+ "blockRewards_Eth": "14850.966463007827151947"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "blockCount": 4938,
+ "blockRewards_Eth": "15101.71491569706715742"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "blockCount": 4900,
+ "blockRewards_Eth": "14995.603770562289946328"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "blockCount": 4892,
+ "blockRewards_Eth": "14981.876961099938063379"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "blockCount": 4918,
+ "blockRewards_Eth": "15079.681479808971009116"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "blockCount": 4923,
+ "blockRewards_Eth": "15121.508334042987710456"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "blockCount": 4900,
+ "blockRewards_Eth": "15015.355879769382648583"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "blockCount": 4298,
+ "blockRewards_Eth": "13185.062651616766678939"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "blockCount": 4195,
+ "blockRewards_Eth": "12925.813961172266267345"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "blockCount": 4273,
+ "blockRewards_Eth": "13155.096706317758054112"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "blockCount": 4169,
+ "blockRewards_Eth": "12883.030882013252836379"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "blockCount": 4166,
+ "blockRewards_Eth": "12914.21209556988236845"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "blockCount": 4158,
+ "blockRewards_Eth": "12903.436179404100591967"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "blockCount": 4224,
+ "blockRewards_Eth": "13054.272298152031351776"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "blockCount": 4139,
+ "blockRewards_Eth": "12795.799520384085746798"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "blockCount": 4196,
+ "blockRewards_Eth": "13104.98809480394059885"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "blockCount": 4288,
+ "blockRewards_Eth": "17363.037847090383139395"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "blockCount": 4242,
+ "blockRewards_Eth": "13215.503050622835283572"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "blockCount": 4252,
+ "blockRewards_Eth": "13226.737597909843539379"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "blockCount": 4238,
+ "blockRewards_Eth": "13160.909735177110008375"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "blockCount": 4353,
+ "blockRewards_Eth": "13465.574242211673279488"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "blockCount": 4254,
+ "blockRewards_Eth": "13248.66443818023833454"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "blockCount": 4238,
+ "blockRewards_Eth": "13261.160638293064313163"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "blockCount": 4281,
+ "blockRewards_Eth": "13392.315348273230275303"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "blockCount": 4281,
+ "blockRewards_Eth": "13344.374644158920547929"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "blockCount": 4366,
+ "blockRewards_Eth": "12808.485512162356907132"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_daily_block_rewards.json b/logs/pro/get_daily_block_rewards.json
new file mode 100644
index 0000000..fd1dac1
--- /dev/null
+++ b/logs/pro/get_daily_block_rewards.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_daily_block_rewards",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:07",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "blockRewards_Eth": "15300.65625"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "blockRewards_Eth": "15611.625"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "blockRewards_Eth": "15226.125"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "blockRewards_Eth": "15394.6875"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "blockRewards_Eth": "15418.78125"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "blockRewards_Eth": "15302.34375"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "blockRewards_Eth": "15398.625"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "blockRewards_Eth": "15471.28125"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "blockRewards_Eth": "15347.0625"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "blockRewards_Eth": "13370.34375"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "blockRewards_Eth": "13131.09375"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "blockRewards_Eth": "13363.78125"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "blockRewards_Eth": "13057.5"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "blockRewards_Eth": "13080.84375"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "blockRewards_Eth": "13063.96875"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "blockRewards_Eth": "13281.46875"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "blockRewards_Eth": "12989.34375"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "blockRewards_Eth": "13297.78125"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "blockRewards_Eth": "13532.71875"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "blockRewards_Eth": "13417.21875"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "blockRewards_Eth": "13339.6875"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "blockRewards_Eth": "13292.0625"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "blockRewards_Eth": "13651.96875"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "blockRewards_Eth": "13358.15625"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "blockRewards_Eth": "13371.65625"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "blockRewards_Eth": "13520.71875"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "blockRewards_Eth": "13511.4375"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "blockRewards_Eth": "12954.84375"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_daily_network_utilization.json b/logs/pro/get_daily_network_utilization.json
new file mode 100644
index 0000000..b8fa127
--- /dev/null
+++ b/logs/pro/get_daily_network_utilization.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_daily_network_utilization",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:15",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "networkUtilization": "0.8464"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "networkUtilization": "0.7687"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "networkUtilization": "0.7238"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "networkUtilization": "0.7144"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "networkUtilization": "0.7167"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "networkUtilization": "0.7343"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "networkUtilization": "0.7497"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "networkUtilization": "0.7712"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "networkUtilization": "0.7592"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "networkUtilization": "0.7792"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "networkUtilization": "0.8253"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "networkUtilization": "0.8368"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "networkUtilization": "0.8894"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "networkUtilization": "0.8742"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "networkUtilization": "0.9086"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "networkUtilization": "0.8894"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "networkUtilization": "0.9041"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "networkUtilization": "0.9300"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "networkUtilization": "0.9336"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "networkUtilization": "0.9350"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "networkUtilization": "0.9458"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "networkUtilization": "0.9431"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "networkUtilization": "0.9055"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "networkUtilization": "0.9230"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "networkUtilization": "0.9579"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "networkUtilization": "0.9595"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "networkUtilization": "0.9535"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "networkUtilization": "0.9472"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_daily_new_address_count.json b/logs/pro/get_daily_new_address_count.json
new file mode 100644
index 0000000..27e1211
--- /dev/null
+++ b/logs/pro/get_daily_new_address_count.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_daily_new_address_count",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:15",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "newAddressCount": 54081
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "newAddressCount": 65152
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "newAddressCount": 59750
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "newAddressCount": 59206
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "newAddressCount": 65099
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "newAddressCount": 56852
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "newAddressCount": 49024
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "newAddressCount": 43436
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "newAddressCount": 40883
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "newAddressCount": 32554
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "newAddressCount": 37580
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "newAddressCount": 51249
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "newAddressCount": 46037
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "newAddressCount": 47073
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "newAddressCount": 45373
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "newAddressCount": 48590
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "newAddressCount": 46163
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "newAddressCount": 53108
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "newAddressCount": 51136
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "newAddressCount": 46931
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "newAddressCount": 44068
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "newAddressCount": 46354
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "newAddressCount": 45436
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "newAddressCount": 43509
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "newAddressCount": 49798
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "newAddressCount": 55728
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "newAddressCount": 55832
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "newAddressCount": 53117
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_daily_tx_count.json b/logs/pro/get_daily_tx_count.json
new file mode 100644
index 0000000..85d8f1a
--- /dev/null
+++ b/logs/pro/get_daily_tx_count.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_daily_tx_count",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:17",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "transactionCount": 498856
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "transactionCount": 450314
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "transactionCount": 424378
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "transactionCount": 416394
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "transactionCount": 414815
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "transactionCount": 429065
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "transactionCount": 428676
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "transactionCount": 471952
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "transactionCount": 417129
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "transactionCount": 381151
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "transactionCount": 429007
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "transactionCount": 438111
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "transactionCount": 491354
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "transactionCount": 474782
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "transactionCount": 468599
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "transactionCount": 454309
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "transactionCount": 447945
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "transactionCount": 512455
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "transactionCount": 533602
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "transactionCount": 530268
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "transactionCount": 544817
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "transactionCount": 530839
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "transactionCount": 476225
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "transactionCount": 540201
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "transactionCount": 573756
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "transactionCount": 553925
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "transactionCount": 539516
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "transactionCount": 541458
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_daily_uncle_block_count_and_rewards.json b/logs/pro/get_daily_uncle_block_count_and_rewards.json
new file mode 100644
index 0000000..99815d1
--- /dev/null
+++ b/logs/pro/get_daily_uncle_block_count_and_rewards.json
@@ -0,0 +1,180 @@
+{
+ "method": "get_daily_uncle_block_count_and_rewards",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:09",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "uncleBlockCount": 287,
+ "uncleBlockRewards_Eth": "729.75"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "uncleBlockCount": 304,
+ "uncleBlockRewards_Eth": "778.125"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "uncleBlockCount": 248,
+ "uncleBlockRewards_Eth": "628.875"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "uncleBlockCount": 222,
+ "uncleBlockRewards_Eth": "559.875"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "uncleBlockCount": 275,
+ "uncleBlockRewards_Eth": "693"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "uncleBlockCount": 237,
+ "uncleBlockRewards_Eth": "604.125"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "uncleBlockCount": 244,
+ "uncleBlockRewards_Eth": "621.75"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "uncleBlockCount": 267,
+ "uncleBlockRewards_Eth": "677.25"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "uncleBlockCount": 246,
+ "uncleBlockRewards_Eth": "624"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "uncleBlockCount": 181,
+ "uncleBlockRewards_Eth": "459.375"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "uncleBlockCount": 209,
+ "uncleBlockRewards_Eth": "526.5"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "uncleBlockCount": 207,
+ "uncleBlockRewards_Eth": "525.375"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "uncleBlockCount": 208,
+ "uncleBlockRewards_Eth": "531"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "uncleBlockCount": 221,
+ "uncleBlockRewards_Eth": "562.125"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "uncleBlockCount": 225,
+ "uncleBlockRewards_Eth": "568.875"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "uncleBlockCount": 233,
+ "uncleBlockRewards_Eth": "587.625"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "uncleBlockCount": 217,
+ "uncleBlockRewards_Eth": "552"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "uncleBlockCount": 271,
+ "uncleBlockRewards_Eth": "684.375"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "uncleBlockCount": 253,
+ "uncleBlockRewards_Eth": "645"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "uncleBlockCount": 261,
+ "uncleBlockRewards_Eth": "666.75"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "uncleBlockCount": 222,
+ "uncleBlockRewards_Eth": "562.875"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "uncleBlockCount": 218,
+ "uncleBlockRewards_Eth": "557.625"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "uncleBlockCount": 225,
+ "uncleBlockRewards_Eth": "571.875"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "uncleBlockCount": 227,
+ "uncleBlockRewards_Eth": "574.875"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "uncleBlockCount": 251,
+ "uncleBlockRewards_Eth": "634.125"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "uncleBlockCount": 257,
+ "uncleBlockRewards_Eth": "653.625"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "uncleBlockCount": 254,
+ "uncleBlockRewards_Eth": "644.625"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "uncleBlockCount": 288,
+ "uncleBlockRewards_Eth": "691.5"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_eth_daily_avg_gas_price.json b/logs/pro/get_eth_daily_avg_gas_price.json
new file mode 100644
index 0000000..684df2a
--- /dev/null
+++ b/logs/pro/get_eth_daily_avg_gas_price.json
@@ -0,0 +1,208 @@
+{
+ "method": "get_eth_daily_avg_gas_price",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:13",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "maxGasPrice_Wei": "60814303896257",
+ "minGasPrice_Wei": "432495",
+ "avgGasPrice_Wei": "13234562600"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "maxGasPrice_Wei": "20000000000000",
+ "minGasPrice_Wei": "2352",
+ "avgGasPrice_Wei": "12000569516"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "maxGasPrice_Wei": "23614285714285",
+ "minGasPrice_Wei": "269025",
+ "avgGasPrice_Wei": "11637460620"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "maxGasPrice_Wei": "200000000000000",
+ "minGasPrice_Wei": "167342",
+ "avgGasPrice_Wei": "12082194503"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "maxGasPrice_Wei": "83012293290087",
+ "minGasPrice_Wei": "1",
+ "avgGasPrice_Wei": "12593215644"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "maxGasPrice_Wei": "3767644726505",
+ "minGasPrice_Wei": "1",
+ "avgGasPrice_Wei": "12593166346"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "maxGasPrice_Wei": "420000000000000",
+ "minGasPrice_Wei": "10",
+ "avgGasPrice_Wei": "14057368181"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "maxGasPrice_Wei": "55524906233331",
+ "minGasPrice_Wei": "48964",
+ "avgGasPrice_Wei": "13310836398"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "maxGasPrice_Wei": "127000000000000",
+ "minGasPrice_Wei": "1",
+ "avgGasPrice_Wei": "12390959208"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "maxGasPrice_Wei": "21000000000000",
+ "minGasPrice_Wei": "17504",
+ "avgGasPrice_Wei": "12847065310"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "maxGasPrice_Wei": "7000000000000",
+ "minGasPrice_Wei": "9295",
+ "avgGasPrice_Wei": "13977805236"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "maxGasPrice_Wei": "6379000000000",
+ "minGasPrice_Wei": "5781",
+ "avgGasPrice_Wei": "13012487105"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "maxGasPrice_Wei": "34498571428571",
+ "minGasPrice_Wei": "3892",
+ "avgGasPrice_Wei": "13713241302"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "maxGasPrice_Wei": "2221418863432381",
+ "minGasPrice_Wei": "46298801",
+ "avgGasPrice_Wei": "19148327564"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "maxGasPrice_Wei": "33333333333333",
+ "minGasPrice_Wei": "1",
+ "avgGasPrice_Wei": "14753437258"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "maxGasPrice_Wei": "11392000000000",
+ "minGasPrice_Wei": "1",
+ "avgGasPrice_Wei": "13510079150"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "maxGasPrice_Wei": "10940117095785",
+ "minGasPrice_Wei": "1506",
+ "avgGasPrice_Wei": "13757940835"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "maxGasPrice_Wei": "100770093884892",
+ "minGasPrice_Wei": "1097",
+ "avgGasPrice_Wei": "17094399315"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "maxGasPrice_Wei": "100000000000000000",
+ "minGasPrice_Wei": "800",
+ "avgGasPrice_Wei": "373905995022"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "maxGasPrice_Wei": "19000000000000",
+ "minGasPrice_Wei": "1",
+ "avgGasPrice_Wei": "16098676684"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "maxGasPrice_Wei": "10000000000000",
+ "minGasPrice_Wei": "7",
+ "avgGasPrice_Wei": "15306757881"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "maxGasPrice_Wei": "8571428571679",
+ "minGasPrice_Wei": "13800",
+ "avgGasPrice_Wei": "14913439608"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "maxGasPrice_Wei": "21000000000000",
+ "minGasPrice_Wei": "22",
+ "avgGasPrice_Wei": "14039107293"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "maxGasPrice_Wei": "210000000000000",
+ "minGasPrice_Wei": "11000000",
+ "avgGasPrice_Wei": "16251853700"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "maxGasPrice_Wei": "7179842380952",
+ "minGasPrice_Wei": "50000000",
+ "avgGasPrice_Wei": "17020990610"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "maxGasPrice_Wei": "60029121428571",
+ "minGasPrice_Wei": "122630",
+ "avgGasPrice_Wei": "17415861033"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "maxGasPrice_Wei": "42000000000000",
+ "minGasPrice_Wei": "1000000",
+ "avgGasPrice_Wei": "16334617513"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "maxGasPrice_Wei": "237222222222257",
+ "minGasPrice_Wei": "100000000",
+ "avgGasPrice_Wei": "18834674068"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_eth_daily_network_tx_fee.json b/logs/pro/get_eth_daily_network_tx_fee.json
new file mode 100644
index 0000000..fc9f844
--- /dev/null
+++ b/logs/pro/get_eth_daily_network_tx_fee.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_eth_daily_network_tx_fee",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:14",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "transactionFee_Eth": "358.558440870590355682"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "transactionFee_Eth": "286.886084685869906669"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "transactionFee_Eth": "253.716463007827151947"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "transactionFee_Eth": "266.90241569706715742"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "transactionFee_Eth": "269.822520562289946328"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "transactionFee_Eth": "283.658211099938063379"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "transactionFee_Eth": "302.806479808971009116"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "transactionFee_Eth": "327.477084042987710456"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "transactionFee_Eth": "292.293379769382648583"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "transactionFee_Eth": "274.093901616766678939"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "transactionFee_Eth": "321.220211172266267345"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "transactionFee_Eth": "316.690456317758054112"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "transactionFee_Eth": "356.530882013252836379"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "transactionFee_Eth": "395.49334556988236845"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "transactionFee_Eth": "408.342429404100591967"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "transactionFee_Eth": "360.428548152031351776"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "transactionFee_Eth": "358.455770384085746798"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "transactionFee_Eth": "491.58184480394059885"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "transactionFee_Eth": "4475.319097090383139395"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "transactionFee_Eth": "465.034300622835283572"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "transactionFee_Eth": "449.925097909843539379"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "transactionFee_Eth": "426.472235177110008375"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "transactionFee_Eth": "385.480492211673279488"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "transactionFee_Eth": "465.38318818023833454"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "transactionFee_Eth": "523.629388293064313163"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "transactionFee_Eth": "525.221598273230275303"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "transactionFee_Eth": "477.562144158920547929"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "transactionFee_Eth": "545.141762162356907132"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_eth_daily_total_gas_used.json b/logs/pro/get_eth_daily_total_gas_used.json
new file mode 100644
index 0000000..cb76291
--- /dev/null
+++ b/logs/pro/get_eth_daily_total_gas_used.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_eth_daily_total_gas_used",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:13",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "gasUsed": "32761450415"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "gasUsed": "30168904532"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "gasUsed": "28022576836"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "gasUsed": "28109457360"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "gasUsed": "27984580259"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "gasUsed": "28696360299"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "gasUsed": "29441176225"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "gasUsed": "30304669218"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "gasUsed": "29701599787"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "gasUsed": "26786193364"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "gasUsed": "27611571189"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "gasUsed": "28573833622"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "gasUsed": "29584055361"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "gasUsed": "29051955302"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "gasUsed": "30180437810"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "gasUsed": "29978364164"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "gasUsed": "29860882794"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "gasUsed": "31150438004"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "gasUsed": "31990800940"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "gasUsed": "31658564437"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "gasUsed": "32160208363"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "gasUsed": "31958692019"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "gasUsed": "31537207542"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "gasUsed": "31412524215"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "gasUsed": "32472793305"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "gasUsed": "32859962542"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "gasUsed": "32657440136"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "gasUsed": "33081119561"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_eth_hist_daily_market_cap.json b/logs/pro/get_eth_hist_daily_market_cap.json
new file mode 100644
index 0000000..7c4194b
--- /dev/null
+++ b/logs/pro/get_eth_hist_daily_market_cap.json
@@ -0,0 +1,208 @@
+{
+ "method": "get_eth_hist_daily_market_cap",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:18",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "supply": "104672819.281250",
+ "marketCap": "11203.1318476721875",
+ "price": "107.03"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "supply": "104688430.906250",
+ "marketCap": "11620.41583059375",
+ "price": "111.00"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "supply": "104703657.031250",
+ "marketCap": "11225.2790703203125",
+ "price": "107.21"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "supply": "104719051.718750",
+ "marketCap": "11194.466628734375",
+ "price": "106.90"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "supply": "104734470.500000",
+ "marketCap": "11199.256930565",
+ "price": "106.93"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "supply": "104749772.843750",
+ "marketCap": "10946.351262171875",
+ "price": "104.50"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "supply": "104765171.468750",
+ "marketCap": "10927.007384190625",
+ "price": "104.30"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "supply": "104780642.750000",
+ "marketCap": "12520.2390021975",
+ "price": "119.49"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "supply": "104795989.812500",
+ "marketCap": "12518.92894300125",
+ "price": "119.46"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "supply": "104809360.156250",
+ "marketCap": "13161.959448421875",
+ "price": "125.58"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "supply": "104822491.250000",
+ "marketCap": "12658.36404335",
+ "price": "120.76"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "supply": "104835855.031250",
+ "marketCap": "12856.0209024821875",
+ "price": "122.63"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "supply": "104848912.531250",
+ "marketCap": "12824.0704916971875",
+ "price": "122.31"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "supply": "104861993.375000",
+ "marketCap": "12672.57189936875",
+ "price": "120.85"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "supply": "104875057.343750",
+ "marketCap": "12796.854497084375",
+ "price": "122.02"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "supply": "104888338.812500",
+ "marketCap": "12928.53664202875",
+ "price": "123.26"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "supply": "104901328.156250",
+ "marketCap": "14086.15034482125",
+ "price": "134.28"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "supply": "104914625.937500",
+ "marketCap": "15373.140138621875",
+ "price": "146.53"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "supply": "104928158.656250",
+ "marketCap": "15151.6261099625",
+ "price": "144.40"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "supply": "104941575.875000",
+ "marketCap": "15660.43136782625",
+ "price": "149.23"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "supply": "104954915.562500",
+ "marketCap": "15361.2014417275",
+ "price": "146.36"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "supply": "104968207.625000",
+ "marketCap": "15644.46166443",
+ "price": "149.04"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "supply": "104981859.593750",
+ "marketCap": "16742.50696801125",
+ "price": "159.48"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "supply": "104995217.750000",
+ "marketCap": "14008.461952205",
+ "price": "133.42"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "supply": "105008589.406250",
+ "marketCap": "14598.294099256875",
+ "price": "139.02"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "supply": "105022110.125000",
+ "marketCap": "14400.63174034",
+ "price": "137.12"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "supply": "105035621.562500",
+ "marketCap": "14278.54239520625",
+ "price": "135.94"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "supply": "105048576.406250",
+ "marketCap": "14317.0704784078125",
+ "price": "136.29"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_eth_hist_price.json b/logs/pro/get_eth_hist_price.json
new file mode 100644
index 0000000..2bcef80
--- /dev/null
+++ b/logs/pro/get_eth_hist_price.json
@@ -0,0 +1,152 @@
+{
+ "method": "get_eth_hist_price",
+ "module": "pro",
+ "kwargs": {
+ "start_date": "2019-02-01",
+ "end_date": "2019-02-28",
+ "sort": "asc"
+ },
+ "log_timestamp": "2020-10-28-11:55:19",
+ "res": [
+ {
+ "UTCDate": "2019-02-01",
+ "unixTimeStamp": "1548979200",
+ "value": "107.03"
+ },
+ {
+ "UTCDate": "2019-02-02",
+ "unixTimeStamp": "1549065600",
+ "value": "111.00"
+ },
+ {
+ "UTCDate": "2019-02-03",
+ "unixTimeStamp": "1549152000",
+ "value": "107.21"
+ },
+ {
+ "UTCDate": "2019-02-04",
+ "unixTimeStamp": "1549238400",
+ "value": "106.90"
+ },
+ {
+ "UTCDate": "2019-02-05",
+ "unixTimeStamp": "1549324800",
+ "value": "106.93"
+ },
+ {
+ "UTCDate": "2019-02-06",
+ "unixTimeStamp": "1549411200",
+ "value": "104.50"
+ },
+ {
+ "UTCDate": "2019-02-07",
+ "unixTimeStamp": "1549497600",
+ "value": "104.30"
+ },
+ {
+ "UTCDate": "2019-02-08",
+ "unixTimeStamp": "1549584000",
+ "value": "119.49"
+ },
+ {
+ "UTCDate": "2019-02-09",
+ "unixTimeStamp": "1549670400",
+ "value": "119.46"
+ },
+ {
+ "UTCDate": "2019-02-10",
+ "unixTimeStamp": "1549756800",
+ "value": "125.58"
+ },
+ {
+ "UTCDate": "2019-02-11",
+ "unixTimeStamp": "1549843200",
+ "value": "120.76"
+ },
+ {
+ "UTCDate": "2019-02-12",
+ "unixTimeStamp": "1549929600",
+ "value": "122.63"
+ },
+ {
+ "UTCDate": "2019-02-13",
+ "unixTimeStamp": "1550016000",
+ "value": "122.31"
+ },
+ {
+ "UTCDate": "2019-02-14",
+ "unixTimeStamp": "1550102400",
+ "value": "120.85"
+ },
+ {
+ "UTCDate": "2019-02-15",
+ "unixTimeStamp": "1550188800",
+ "value": "122.02"
+ },
+ {
+ "UTCDate": "2019-02-16",
+ "unixTimeStamp": "1550275200",
+ "value": "123.26"
+ },
+ {
+ "UTCDate": "2019-02-17",
+ "unixTimeStamp": "1550361600",
+ "value": "134.28"
+ },
+ {
+ "UTCDate": "2019-02-18",
+ "unixTimeStamp": "1550448000",
+ "value": "146.53"
+ },
+ {
+ "UTCDate": "2019-02-19",
+ "unixTimeStamp": "1550534400",
+ "value": "144.40"
+ },
+ {
+ "UTCDate": "2019-02-20",
+ "unixTimeStamp": "1550620800",
+ "value": "149.23"
+ },
+ {
+ "UTCDate": "2019-02-21",
+ "unixTimeStamp": "1550707200",
+ "value": "146.36"
+ },
+ {
+ "UTCDate": "2019-02-22",
+ "unixTimeStamp": "1550793600",
+ "value": "149.04"
+ },
+ {
+ "UTCDate": "2019-02-23",
+ "unixTimeStamp": "1550880000",
+ "value": "159.48"
+ },
+ {
+ "UTCDate": "2019-02-24",
+ "unixTimeStamp": "1550966400",
+ "value": "133.42"
+ },
+ {
+ "UTCDate": "2019-02-25",
+ "unixTimeStamp": "1551052800",
+ "value": "139.02"
+ },
+ {
+ "UTCDate": "2019-02-26",
+ "unixTimeStamp": "1551139200",
+ "value": "137.12"
+ },
+ {
+ "UTCDate": "2019-02-27",
+ "unixTimeStamp": "1551225600",
+ "value": "135.94"
+ },
+ {
+ "UTCDate": "2019-02-28",
+ "unixTimeStamp": "1551312000",
+ "value": "136.29"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/pro/get_hist_erc20_token_account_balance_for_token_contract_address_by_block_no.json b/logs/pro/get_hist_erc20_token_account_balance_for_token_contract_address_by_block_no.json
new file mode 100644
index 0000000..b9559dc
--- /dev/null
+++ b/logs/pro/get_hist_erc20_token_account_balance_for_token_contract_address_by_block_no.json
@@ -0,0 +1,11 @@
+{
+ "method": "get_hist_erc20_token_account_balance_for_token_contract_address_by_block_no",
+ "module": "pro",
+ "kwargs": {
+ "contract_address": "0x57d90b64a1a57749b0f932f1a3395792e12e7055",
+ "address": "0xe04f27eb70e025b78871a2ad7eabe85e61212761",
+ "block_no": "8000000"
+ },
+ "log_timestamp": "2020-10-28-11:55:11",
+ "res": "135499"
+}
\ No newline at end of file
diff --git a/logs/pro/get_hist_erc20_token_total_supply_by_contract_address_and_block_no.json b/logs/pro/get_hist_erc20_token_total_supply_by_contract_address_and_block_no.json
new file mode 100644
index 0000000..1a1efad
--- /dev/null
+++ b/logs/pro/get_hist_erc20_token_total_supply_by_contract_address_and_block_no.json
@@ -0,0 +1,10 @@
+{
+ "method": "get_hist_erc20_token_total_supply_by_contract_address_and_block_no",
+ "module": "pro",
+ "kwargs": {
+ "contract_address": "0x57d90b64a1a57749b0f932f1a3395792e12e7055",
+ "block_no": "8000000"
+ },
+ "log_timestamp": "2020-10-28-11:55:10",
+ "res": "21265524714464"
+}
\ No newline at end of file
diff --git a/logs/pro/get_hist_eth_balance_for_address_by_block_no.json b/logs/pro/get_hist_eth_balance_for_address_by_block_no.json
new file mode 100644
index 0000000..da590f0
--- /dev/null
+++ b/logs/pro/get_hist_eth_balance_for_address_by_block_no.json
@@ -0,0 +1,10 @@
+{
+ "method": "get_hist_eth_balance_for_address_by_block_no",
+ "module": "pro",
+ "kwargs": {
+ "address": "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae",
+ "block_no": "8000000"
+ },
+ "log_timestamp": "2020-10-28-11:55:05",
+ "res": "610538078574759898951277"
+}
\ No newline at end of file
diff --git a/logs/pro/get_token_info_by_contract_address.json b/logs/pro/get_token_info_by_contract_address.json
new file mode 100644
index 0000000..e56cd36
--- /dev/null
+++ b/logs/pro/get_token_info_by_contract_address.json
@@ -0,0 +1,34 @@
+{
+ "method": "get_token_info_by_contract_address",
+ "module": "pro",
+ "kwargs": {
+ "contract_address": "0x0e3a2a1f2146d86a604adc220b4967a898d7fe07"
+ },
+ "log_timestamp": "2020-10-28-11:55:11",
+ "res": [
+ {
+ "contractAddress": "0x0e3a2a1f2146d86a604adc220b4967a898d7fe07",
+ "tokenName": "Gods Unchained Cards",
+ "symbol": "CARD",
+ "divisor": "0",
+ "tokenType": "ERC721",
+ "totalSupply": "6950384",
+ "blueCheckmark": "true",
+ "description": "A TCG on the Ethereum blockchain that uses NFT's to bring real ownership to in-game assets.",
+ "website": "https://godsunchained.com/",
+ "email": "",
+ "blog": "https://medium.com/@fuelgames",
+ "reddit": "https://www.reddit.com/r/GodsUnchained/",
+ "slack": "",
+ "facebook": "https://www.facebook.com/godsunchained/",
+ "twitter": "https://twitter.com/godsunchained",
+ "bitcointalk": "",
+ "github": "",
+ "telegram": "",
+ "wechat": "",
+ "linkedin": "",
+ "discord": "https://discordapp.com/invite/DKGr2pW",
+ "whitepaper": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/logs/get_acc_balance_by_token_and_contract_address.json b/logs/standard/get_acc_balance_by_token_and_contract_address.json
similarity index 85%
rename from logs/get_acc_balance_by_token_and_contract_address.json
rename to logs/standard/get_acc_balance_by_token_and_contract_address.json
index b12b8ea..cbb627d 100644
--- a/logs/get_acc_balance_by_token_and_contract_address.json
+++ b/logs/standard/get_acc_balance_by_token_and_contract_address.json
@@ -5,6 +5,6 @@
"contract_address": "0x57d90b64a1a57749b0f932f1a3395792e12e7055",
"address": "0xe04f27eb70e025b78871a2ad7eabe85e61212761"
},
- "log_timestamp": "2020-10-01-09:43:07",
+ "log_timestamp": "2020-10-28-12:35:13",
"res": "135499"
}
\ No newline at end of file
diff --git a/logs/get_block_number_by_timestamp.json b/logs/standard/get_block_number_by_timestamp.json
similarity index 79%
rename from logs/get_block_number_by_timestamp.json
rename to logs/standard/get_block_number_by_timestamp.json
index 1df45f6..de694e0 100644
--- a/logs/get_block_number_by_timestamp.json
+++ b/logs/standard/get_block_number_by_timestamp.json
@@ -5,6 +5,6 @@
"timestamp": "1578638524",
"closest": "before"
},
- "log_timestamp": "2020-10-01-09:42:36",
+ "log_timestamp": "2020-10-28-12:34:44",
"res": "9251482"
}
\ No newline at end of file
diff --git a/logs/get_block_reward_by_block_number.json b/logs/standard/get_block_reward_by_block_number.json
similarity index 94%
rename from logs/get_block_reward_by_block_number.json
rename to logs/standard/get_block_reward_by_block_number.json
index fc64896..5b466af 100644
--- a/logs/get_block_reward_by_block_number.json
+++ b/logs/standard/get_block_reward_by_block_number.json
@@ -4,7 +4,7 @@
"kwargs": {
"block_no": "2165403"
},
- "log_timestamp": "2020-10-01-09:42:33",
+ "log_timestamp": "2020-10-28-12:34:43",
"res": {
"blockNumber": "2165403",
"timeStamp": "1472533979",
diff --git a/logs/get_contract_abi.json b/logs/standard/get_contract_abi.json
similarity index 99%
rename from logs/get_contract_abi.json
rename to logs/standard/get_contract_abi.json
index 13370ea..60622c6 100644
--- a/logs/get_contract_abi.json
+++ b/logs/standard/get_contract_abi.json
@@ -4,6 +4,6 @@
"kwargs": {
"address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413"
},
- "log_timestamp": "2020-10-01-09:42:39",
+ "log_timestamp": "2020-10-28-12:34:45",
"res": "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"},{\"name\":\"description\",\"type\":\"string\"},{\"name\":\"votingDeadline\",\"type\":\"uint256\"},{\"name\":\"open\",\"type\":\"bool\"},{\"name\":\"proposalPassed\",\"type\":\"bool\"},{\"name\":\"proposalHash\",\"type\":\"bytes32\"},{\"name\":\"proposalDeposit\",\"type\":\"uint256\"},{\"name\":\"newCurator\",\"type\":\"bool\"},{\"name\":\"yea\",\"type\":\"uint256\"},{\"name\":\"nay\",\"type\":\"uint256\"},{\"name\":\"creator\",\"type\":\"address\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minTokensToCreate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rewardAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"daoCreator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"divisor\",\"outputs\":[{\"name\":\"divisor\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"extraBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"name\":\"_transactionData\",\"type\":\"bytes\"}],\"name\":\"executeProposal\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unblockMe\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalRewardToken\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"actualBalance\",\"outputs\":[{\"name\":\"_actualBalance\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"closingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowedRecipients\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferWithoutReward\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"refund\",\"outputs\":[],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_recipient\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_description\",\"type\":\"string\"},{\"name\":\"_transactionData\",\"type\":\"bytes\"},{\"name\":\"_debatingPeriod\",\"type\":\"uint256\"},{\"name\":\"_newCurator\",\"type\":\"bool\"}],\"name\":\"newProposal\",\"outputs\":[{\"name\":\"_proposalID\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"DAOpaidOut\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minQuorumDivisor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newContract\",\"type\":\"address\"}],\"name\":\"newContract\",\"outputs\":[],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_recipient\",\"type\":\"address\"},{\"name\":\"_allowed\",\"type\":\"bool\"}],\"name\":\"changeAllowedRecipients\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"halveMinQuorum\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"paidOut\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"name\":\"_newCurator\",\"type\":\"address\"}],\"name\":\"splitDAO\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"DAOrewardAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proposalDeposit\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numberOfProposals\",\"outputs\":[{\"name\":\"_numberOfProposals\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastTimeMinQuorumMet\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_toMembers\",\"type\":\"bool\"}],\"name\":\"retrieveDAOReward\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"receiveEther\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isFueled\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenHolder\",\"type\":\"address\"}],\"name\":\"createTokenProxy\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_proposalID\",\"type\":\"uint256\"}],\"name\":\"getNewDAOAddress\",\"outputs\":[{\"name\":\"_newDAO\",\"type\":\"address\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"name\":\"_supportsProposal\",\"type\":\"bool\"}],\"name\":\"vote\",\"outputs\":[{\"name\":\"_voteID\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"getMyReward\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"rewardToken\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFromWithoutReward\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalDeposit\",\"type\":\"uint256\"}],\"name\":\"changeProposalDeposit\",\"outputs\":[],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"blocked\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"curator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"name\":\"_recipient\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_transactionData\",\"type\":\"bytes\"}],\"name\":\"checkProposalCode\",\"outputs\":[{\"name\":\"_codeChecksOut\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"privateCreation\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"type\":\"function\"},{\"inputs\":[{\"name\":\"_curator\",\"type\":\"address\"},{\"name\":\"_daoCreator\",\"type\":\"address\"},{\"name\":\"_proposalDeposit\",\"type\":\"uint256\"},{\"name\":\"_minTokensToCreate\",\"type\":\"uint256\"},{\"name\":\"_closingTime\",\"type\":\"uint256\"},{\"name\":\"_privateCreation\",\"type\":\"address\"}],\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"FuelingToDate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CreatedToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Refund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"newCurator\",\"type\":\"bool\"},{\"indexed\":false,\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"position\",\"type\":\"bool\"},{\"indexed\":true,\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"Voted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"result\",\"type\":\"bool\"},{\"indexed\":false,\"name\":\"quorum\",\"type\":\"uint256\"}],\"name\":\"ProposalTallied\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_newCurator\",\"type\":\"address\"}],\"name\":\"NewCurator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_allowed\",\"type\":\"bool\"}],\"name\":\"AllowedRecipientChanged\",\"type\":\"event\"}]"
}
\ No newline at end of file
diff --git a/logs/get_contract_execution_status.json b/logs/standard/get_contract_execution_status.json
similarity index 86%
rename from logs/get_contract_execution_status.json
rename to logs/standard/get_contract_execution_status.json
index 89a87e9..0a121d7 100644
--- a/logs/get_contract_execution_status.json
+++ b/logs/standard/get_contract_execution_status.json
@@ -4,7 +4,7 @@
"kwargs": {
"txhash": "0x15f8e5ea1079d9a0bb04a4c58ae5fe7654b5b2b4463375ff7ffb490aa0032f3a"
},
- "log_timestamp": "2020-10-01-09:43:08",
+ "log_timestamp": "2020-10-28-12:35:13",
"res": {
"isError": "1",
"errDescription": "Bad jump destination"
diff --git a/logs/get_contract_source_code.json b/logs/standard/get_contract_source_code.json
similarity index 99%
rename from logs/get_contract_source_code.json
rename to logs/standard/get_contract_source_code.json
index e01e34c..d5166b4 100644
--- a/logs/get_contract_source_code.json
+++ b/logs/standard/get_contract_source_code.json
@@ -4,7 +4,7 @@
"kwargs": {
"address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413"
},
- "log_timestamp": "2020-10-01-09:42:41",
+ "log_timestamp": "2020-10-28-12:34:46",
"res": [
{
"SourceCode": "/*\n\n- Bytecode Verification performed was compared on second iteration -\n\nThis file is part of the DAO.\n\nThe DAO is free software: you can redistribute it and/or modify\nit under the terms of the GNU lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThe DAO is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU lesser General Public License for more details.\n\nYou should have received a copy of the GNU lesser General Public License\nalong with the DAO. If not, see