.gitignore
LICENSE
README.md
setup.py
./scripts/ctc
docs/README.md
docs/code_tour.md
docs/config.md
docs/install.md
docs/cli/README.md
docs/cli/fei.md
docs/cli/protocols/4byte.md
docs/examples/README.md
docs/examples/abi_examples.md
docs/examples/directory_examples.md
docs/examples/evm_examples/block_examples.md
docs/examples/evm_examples/erc20_examples.md
docs/examples/evm_examples/event_examples.md
docs/examples/protocol_examples/chainlink_examples.md
docs/examples/protocol_examples/uniswap_v2_examples.md
scripts/ctc
scripts/ctc_cd_snippet.sh
src/checkthechain.egg-info/PKG-INFO
src/checkthechain.egg-info/SOURCES.txt
src/checkthechain.egg-info/dependency_links.txt
src/checkthechain.egg-info/requires.txt
src/checkthechain.egg-info/top_level.txt
src/ctc/__init__.py
src/ctc/__main__.py
src/ctc/py.typed
src/ctc/binary/__init__.py
src/ctc/binary/formats.py
src/ctc/binary/hashes.py
src/ctc/binary/rlp_coding.py
src/ctc/binary/abis/__init__.py
src/ctc/binary/abis/abi_coding.py
src/ctc/binary/abis/contract_parsing.py
src/ctc/binary/abis/event_coding.py
src/ctc/binary/abis/event_parsing.py
src/ctc/binary/abis/function_coding.py
src/ctc/binary/abis/function_parsing.py
src/ctc/cli/__init__.py
src/ctc/cli/cli_run.py
src/ctc/cli/cli_utils/__init__.py
src/ctc/cli/cli_utils/cli_output_utils.py
src/ctc/cli/cli_utils/cli_parse_utils.py
src/ctc/cli/commands/__init__.py
src/ctc/cli/commands/root_command.py
src/ctc/cli/commands/admin/__init__.py
src/ctc/cli/commands/admin/cd_command.py
src/ctc/cli/commands/admin/config_command.py
src/ctc/cli/commands/admin/download_proxy_abi_command.py
src/ctc/cli/commands/admin/rechunk_command.py
src/ctc/cli/commands/admin/setup_command.py
src/ctc/cli/commands/admin/config/__init__.py
src/ctc/cli/commands/admin/config/edit_command.py
src/ctc/cli/commands/admin/config/path_command.py
src/ctc/cli/commands/compute/__init__.py
src/ctc/cli/commands/compute/ascii_command.py
src/ctc/cli/commands/compute/checksum_command.py
src/ctc/cli/commands/compute/hex_command.py
src/ctc/cli/commands/compute/keccak_command.py
src/ctc/cli/commands/compute/lower_command.py
src/ctc/cli/commands/data/__init__.py
src/ctc/cli/commands/data/address_command.py
src/ctc/cli/commands/data/block_command.py
src/ctc/cli/commands/data/blocks_command.py
src/ctc/cli/commands/data/call_command.py
src/ctc/cli/commands/data/calls_command.py
src/ctc/cli/commands/data/cg_command.py
src/ctc/cli/commands/data/find_command.py
src/ctc/cli/commands/data/gas_command.py
src/ctc/cli/commands/data/token_command.py
src/ctc/cli/commands/data/transaction_command.py
src/ctc/cli/commands/data/erc20/__init__.py
src/ctc/cli/commands/data/erc20/balance_command.py
src/ctc/cli/commands/data/erc20/balances_command.py
src/ctc/cli/commands/data/erc20/transfers_command.py
src/ctc/cli/commands/data/eth/__init__.py
src/ctc/cli/commands/data/eth/balance_command.py
src/ctc/cli/commands/data/eth/balances_command.py
src/ctc/config/__init__.py
src/ctc/config/config_data.py
src/ctc/config/config_read.py
src/ctc/config/config_spec.py
src/ctc/config/config_values.py
src/ctc/config/config_write.py
src/ctc/config/setup_utils/__init__.py
src/ctc/config/setup_utils/config_path_setup.py
src/ctc/config/setup_utils/data_root_setup.py
src/ctc/config/setup_utils/final_setup.py
src/ctc/config/setup_utils/main_setup.py
src/ctc/config/setup_utils/network_setup.py
src/ctc/config/setup_utils/validation_setup.py
src/ctc/default_data/data_root.json
src/ctc/default_data/networks.csv
src/ctc/default_data/mainnet/addresses/balancer.csv
src/ctc/default_data/mainnet/addresses/cex.csv
src/ctc/default_data/mainnet/addresses/curve.csv
src/ctc/default_data/mainnet/addresses/saddle.csv
src/ctc/default_data/mainnet/addresses/sushiswap.csv
src/ctc/default_data/mainnet/addresses/uniswap_v2.csv
src/ctc/default_data/mainnet/addresses/uniswap_v3.csv
src/ctc/default_data/mainnet/erc20s/1inch.csv
src/ctc/default_data/mainnet/oracle_feeds/chainlink.csv
src/ctc/directory/__init__.py
src/ctc/directory/addresses.py
src/ctc/directory/erc20s.py
src/ctc/directory/networks.py
src/ctc/directory/oracles.py
src/ctc/directory/build/__init__.py
src/ctc/directory/build/build_addresses.py
src/ctc/directory/build/build_erc20s.py
src/ctc/directory/build/build_networks.py
src/ctc/evm/__init__.py
src/ctc/evm/evm_spec.py
src/ctc/evm/abi_utils/__init__.py
src/ctc/evm/abi_utils/abi_summary.py
src/ctc/evm/abi_utils/abi_io/__init__.py
src/ctc/evm/abi_utils/abi_io/contract_abi_io.py
src/ctc/evm/abi_utils/abi_io/event_abi_io.py
src/ctc/evm/abi_utils/abi_io/function_abi_io.py
src/ctc/evm/abi_utils/abi_io/contract_abi_backends/__init__.py
src/ctc/evm/abi_utils/abi_io/contract_abi_backends/etherscan_contract_abis.py
src/ctc/evm/abi_utils/abi_io/contract_abi_backends/filesystem_contract_abis.py
src/ctc/evm/address_utils/__init__.py
src/ctc/evm/address_utils/address_data.py
src/ctc/evm/address_utils/address_queries.py
src/ctc/evm/address_utils/address_summary.py
src/ctc/evm/address_utils/proxy_addresses.py
src/ctc/evm/block_utils/__init__.py
src/ctc/evm/block_utils/block_analysis.py
src/ctc/evm/block_utils/block_chunks.py
src/ctc/evm/block_utils/block_crud.py
src/ctc/evm/block_utils/block_gas.py
src/ctc/evm/block_utils/block_normalize.py
src/ctc/evm/block_utils/block_search.py
src/ctc/evm/block_utils/block_summary.py
src/ctc/evm/erc20_utils/__init__.py
src/ctc/evm/erc20_utils/erc20_abis.py
src/ctc/evm/erc20_utils/erc20_events.py
src/ctc/evm/erc20_utils/erc20_generic.py
src/ctc/evm/erc20_utils/erc20_metadata.py
src/ctc/evm/erc20_utils/erc20_normalize.py
src/ctc/evm/erc20_utils/erc20_state.py
src/ctc/evm/eth_utils/__init__.py
src/ctc/evm/eth_utils/eth_crud.py
src/ctc/evm/event_utils/__init__.py
src/ctc/evm/event_utils/event_crud.py
src/ctc/evm/event_utils/event_backends/__init__.py
src/ctc/evm/event_utils/event_backends/filesystem_events.py
src/ctc/evm/event_utils/event_backends/filesystem_rechunking.py
src/ctc/evm/event_utils/event_backends/node_events.py
src/ctc/evm/trace_utils/__init__.py
src/ctc/evm/trace_utils/trade_dataframes.py
src/ctc/evm/transaction_utils/__init__.py
src/ctc/evm/transaction_utils/transaction_summary.py
src/ctc/protocols/__init__.py
src/ctc/protocols/aave_v2_utils/__init__.py
src/ctc/protocols/aave_v2_utils/aave_lending_pool.py
src/ctc/protocols/aave_v2_utils/aave_oracle.py
src/ctc/protocols/aave_v2_utils/aave_pool_tokens.py
src/ctc/protocols/aave_v2_utils/aave_rewards.py
src/ctc/protocols/aave_v2_utils/aave_spec.py
src/ctc/protocols/balancer_utils/__init__.py
src/ctc/protocols/balancer_utils/pool_metadata.py
src/ctc/protocols/balancer_utils/pool_plots.py
src/ctc/protocols/balancer_utils/pool_state.py
src/ctc/protocols/balancer_utils/pool_summary.py
src/ctc/protocols/balancer_utils/pool_trades.py
src/ctc/protocols/chainlink_utils/__init__.py
src/ctc/protocols/chainlink_utils/chainlink_helpers.py
src/ctc/protocols/chainlink_utils/chainlink_metadata.py
src/ctc/protocols/chainlink_utils/chainlink_spec.py
src/ctc/protocols/chainlink_utils/chainlink_summary.py
src/ctc/protocols/chainlink_utils/chainlink_data/__init__.py
src/ctc/protocols/chainlink_utils/chainlink_data/feed_data.py
src/ctc/protocols/chainlink_utils/chainlink_data/feed_datum.py
src/ctc/protocols/chainlink_utils/chainlink_data/feed_datum_by_block.py
src/ctc/protocols/chainlink_utils/chainlink_data/feed_events.py
src/ctc/protocols/chainlink_utils/cli/__init__.py
src/ctc/protocols/chainlink_utils/cli/chainlink_command.py
src/ctc/protocols/curve_utils/__init__.py
src/ctc/protocols/curve_utils/curve_spec.py
src/ctc/protocols/curve_utils/metapool_utils.py
src/ctc/protocols/curve_utils/pool_metadata.py
src/ctc/protocols/curve_utils/pool_state.py
src/ctc/protocols/ens_utils/__init__.py
src/ctc/protocols/ens_utils/ens_directory.py
src/ctc/protocols/ens_utils/registrar.py
src/ctc/protocols/ens_utils/resolver.py
src/ctc/protocols/ens_utils/cli/__init__.py
src/ctc/protocols/ens_utils/cli/ens_command.py
src/ctc/protocols/ens_utils/cli/ens/__init__.py
src/ctc/protocols/ens_utils/cli/ens/exists_command.py
src/ctc/protocols/ens_utils/cli/ens/hash_command.py
src/ctc/protocols/ens_utils/cli/ens/history_command.py
src/ctc/protocols/ens_utils/cli/ens/owner_command.py
src/ctc/protocols/ens_utils/cli/ens/records_command.py
src/ctc/protocols/ens_utils/cli/ens/resolve_command.py
src/ctc/protocols/ens_utils/cli/ens/reverse_command.py
src/ctc/protocols/fei_utils/__init__.py
src/ctc/protocols/fei_utils/fei_voting.py
src/ctc/protocols/fei_utils/analytics/__init__.py
src/ctc/protocols/fei_utils/analytics/analytics_spec.py
src/ctc/protocols/fei_utils/analytics/metric_crud.py
src/ctc/protocols/fei_utils/analytics/payload_crud.py
src/ctc/protocols/fei_utils/analytics/timestamp_crud.py
src/ctc/protocols/fei_utils/analytics/metric_groups/__init__.py
src/ctc/protocols/fei_utils/analytics/metric_groups/buyback_metrics.py
src/ctc/protocols/fei_utils/analytics/metric_groups/fei_metrics.py
src/ctc/protocols/fei_utils/analytics/metric_groups/fei_volume_metrics.py
src/ctc/protocols/fei_utils/analytics/metric_groups/pcv_metrics.py
src/ctc/protocols/fei_utils/cli/__init__.py
src/ctc/protocols/fei_utils/cli/fei/__init__.py
src/ctc/protocols/fei_utils/cli/fei/analytics_command.py
src/ctc/protocols/fei_utils/cli/fei/pcv_assets_command.py
src/ctc/protocols/fei_utils/cli/fei/pcv_command.py
src/ctc/protocols/fei_utils/cli/fei/pcv_deposits_command.py
src/ctc/protocols/fei_utils/coracle/__init__.py
src/ctc/protocols/fei_utils/coracle/coracle_balances.py
src/ctc/protocols/fei_utils/coracle/coracle_deposits.py
src/ctc/protocols/fei_utils/coracle/coracle_fei.py
src/ctc/protocols/fei_utils/coracle/coracle_oracles.py
src/ctc/protocols/fei_utils/coracle/coracle_spec.py
src/ctc/protocols/fei_utils/coracle/coracle_stats.py
src/ctc/protocols/fei_utils/coracle/coracle_tokens.py
src/ctc/protocols/fourbyte_utils/README.md
src/ctc/protocols/fourbyte_utils/__init__.py
src/ctc/protocols/fourbyte_utils/dataset_utils.py
src/ctc/protocols/fourbyte_utils/fourbyte_spec.py
src/ctc/protocols/fourbyte_utils/io_utils.py
src/ctc/protocols/fourbyte_utils/scrape_utils.py
src/ctc/protocols/fourbyte_utils/cli/fourbyte_build_command.py
src/ctc/protocols/fourbyte_utils/cli/fourbyte_command.py
src/ctc/protocols/fourbyte_utils/cli/fourbyte_path_command.py
src/ctc/protocols/fourbyte_utils/query_utils/__init__.py
src/ctc/protocols/fourbyte_utils/query_utils/general_queries.py
src/ctc/protocols/fourbyte_utils/query_utils/local_queries.py
src/ctc/protocols/fourbyte_utils/query_utils/remote_queries.py
src/ctc/protocols/rari_utils/__init__.py
src/ctc/protocols/rari_utils/generalized_lending.py
src/ctc/protocols/rari_utils/rari_abis.py
src/ctc/protocols/rari_utils/summary_utils.py
src/ctc/protocols/rari_utils/cli/__init__.py
src/ctc/protocols/rari_utils/cli/rari/__init__.py
src/ctc/protocols/rari_utils/cli/rari/fuse_command.py
src/ctc/protocols/rari_utils/fuse_lens/README.md
src/ctc/protocols/rari_utils/fuse_lens/__init__.py
src/ctc/protocols/rari_utils/fuse_lens/lens_abis.py
src/ctc/protocols/rari_utils/fuse_lens/lens_spec.py
src/ctc/protocols/rari_utils/fuse_lens/primary_lens.py
src/ctc/protocols/rari_utils/fuse_lens/secondary_lens.py
src/ctc/protocols/rari_utils/fuse_queries/__init__.py
src/ctc/protocols/rari_utils/fuse_queries/directory_metadata.py
src/ctc/protocols/rari_utils/fuse_queries/irm_metadata.py
src/ctc/protocols/rari_utils/fuse_queries/pool_metadata.py
src/ctc/protocols/rari_utils/fuse_queries/pool_state.py
src/ctc/protocols/rari_utils/fuse_queries/pool_summary.py
src/ctc/protocols/rari_utils/fuse_queries/token_metadata.py
src/ctc/protocols/rari_utils/fuse_queries/token_state.py
src/ctc/protocols/sushi_utils/__init__.py
src/ctc/protocols/sushi_utils/sushiswap_crud.py
src/ctc/protocols/uniswap_v2_utils/__init__.py
src/ctc/protocols/uniswap_v2_utils/uniswap_v2_events.py
src/ctc/protocols/uniswap_v2_utils/uniswap_v2_metadata.py
src/ctc/protocols/uniswap_v2_utils/uniswap_v2_spec.py
src/ctc/protocols/uniswap_v2_utils/uniswap_v2_state.py
src/ctc/protocols/uniswap_v2_utils/cli/burns_command.py
src/ctc/protocols/uniswap_v2_utils/cli/mints_command.py
src/ctc/protocols/uniswap_v2_utils/cli/pool_command.py
src/ctc/protocols/uniswap_v2_utils/cli/swaps_command.py
src/ctc/protocols/uniswap_v3_utils/__init__.py
src/ctc/protocols/uniswap_v3_utils/uniswap_v3_crud.py
src/ctc/rpc/__init__.py
src/ctc/rpc/rpc_format.py
src/ctc/rpc/rpc_lifecycle.py
src/ctc/rpc/rpc_provider.py
src/ctc/rpc/rpc_registry.py
src/ctc/rpc/rpc_request.py
src/ctc/rpc/rpc_spec.py
src/ctc/rpc/rpc_backends/__init__.py
src/ctc/rpc/rpc_backends/rpc_http_async.py
src/ctc/rpc/rpc_backends/rpc_websocket_async.py
src/ctc/rpc/rpc_batch/__init__.py
src/ctc/rpc/rpc_batch/rpc_batch_constructors.py
src/ctc/rpc/rpc_batch/rpc_batch_executors.py
src/ctc/rpc/rpc_batch/rpc_batch_utils.py
src/ctc/rpc/rpc_constructors/__init__.py
src/ctc/rpc/rpc_constructors/rpc_block_constructors.py
src/ctc/rpc/rpc_constructors/rpc_dev_constructors.py
src/ctc/rpc/rpc_constructors/rpc_log_constructors.py
src/ctc/rpc/rpc_constructors/rpc_mining_constructors.py
src/ctc/rpc/rpc_constructors/rpc_node_constructors.py
src/ctc/rpc/rpc_constructors/rpc_state_constructors.py
src/ctc/rpc/rpc_constructors/rpc_submission_constructors.py
src/ctc/rpc/rpc_constructors/rpc_transaction_constructors.py
src/ctc/rpc/rpc_constructors/rpc_whisper_constructors.py
src/ctc/rpc/rpc_digestors/__init__.py
src/ctc/rpc/rpc_digestors/rpc_block_digestors.py
src/ctc/rpc/rpc_digestors/rpc_dev_digestors.py
src/ctc/rpc/rpc_digestors/rpc_log_digestors.py
src/ctc/rpc/rpc_digestors/rpc_mining_digestors.py
src/ctc/rpc/rpc_digestors/rpc_node_digestors.py
src/ctc/rpc/rpc_digestors/rpc_state_digestors.py
src/ctc/rpc/rpc_digestors/rpc_submission_digestors.py
src/ctc/rpc/rpc_digestors/rpc_transaction_digestors.py
src/ctc/rpc/rpc_digestors/rpc_whisper_digestors.py
src/ctc/rpc/rpc_executors/__init__.py
src/ctc/rpc/rpc_executors_async/__init__.py
src/ctc/rpc/rpc_executors_async/rpc_block_executors_async.py
src/ctc/rpc/rpc_executors_async/rpc_dev_executors_async.py
src/ctc/rpc/rpc_executors_async/rpc_log_executors_async.py
src/ctc/rpc/rpc_executors_async/rpc_mining_executors_async.py
src/ctc/rpc/rpc_executors_async/rpc_node_executors_async.py
src/ctc/rpc/rpc_executors_async/rpc_state_executors_async.py
src/ctc/rpc/rpc_executors_async/rpc_submission_executors_async.py
src/ctc/rpc/rpc_executors_async/rpc_trace_executors_async.py
src/ctc/rpc/rpc_executors_async/rpc_transaction_executors_async.py
src/ctc/rpc/rpc_executors_async/rpc_whisper_executors_async.py
src/ctc/spec/__init__.py
src/ctc/spec/exceptions/__init__.py
src/ctc/spec/exceptions/abi_exceptions.py
src/ctc/spec/exceptions/oracle_exceptions.py
src/ctc/spec/exceptions/rpc_exceptions.py
src/ctc/spec/typedefs/__init__.py
src/ctc/spec/typedefs/abi_types.py
src/ctc/spec/typedefs/address_types.py
src/ctc/spec/typedefs/binary_types.py
src/ctc/spec/typedefs/block_types.py
src/ctc/spec/typedefs/config_types.py
src/ctc/spec/typedefs/external_types.py
src/ctc/spec/typedefs/network_types.py
src/ctc/spec/typedefs/number_types.py
src/ctc/spec/typedefs/rpc_types.py
src/ctc/spec/typedefs/storage_types.py
src/ctc/spec/typeguards/__init__.py
src/ctc/spec/typeguards/binary_typeguards.py
src/ctc/spec/typeguards/block_typeguards.py
src/ctc/spec/typeguards/external_typeguards.py
src/ctc/toolbox/__init__.py
src/ctc/toolbox/async_utils.py
src/ctc/toolbox/nested_utils.py
src/ctc/toolbox/search_utils.py
src/ctc/toolbox/validate_utils.py
src/ctc/toolbox/amm_utils/__init__.py
src/ctc/toolbox/amm_utils/amm_spec.py
src/ctc/toolbox/amm_utils/cpmm/__init__.py
src/ctc/toolbox/amm_utils/cpmm/cpmm_liquidity.py
src/ctc/toolbox/amm_utils/cpmm/cpmm_summary.py
src/ctc/toolbox/amm_utils/cpmm/cpmm_trade.py
src/ctc/toolbox/backend_utils/__init__.py
src/ctc/toolbox/backend_utils/backend_crud.py
src/ctc/toolbox/backend_utils/backend_exceptions.py
src/ctc/toolbox/filesystem_utils/__init__.py
src/ctc/toolbox/filesystem_utils/filesystem_dirsize.py
src/ctc/toolbox/lending_utils/__init__.py
src/ctc/toolbox/lending_utils/lending_summary.py
src/ctc/toolbox/pd_utils/__init__.py
src/ctc/toolbox/pd_utils/pandas_interpolate_utils.py
src/ctc/toolbox/pd_utils/pandas_time_utils.py
src/ctc/toolbox/store_utils/__init__.py
src/ctc/toolbox/store_utils/store_crud.py
tests/conftest.py
tests/ctc/binary/test_format_utils.py
tests/ctc/binary/test_hash_utils.py
tests/ctc/binary/.hypothesis/unicode_data/13.0.0/charmap.json.gz
tests/ctc/directory/test_directory_networks.py
tests/ctc/directory/test_directory_oracles.py
tests/ctc/directory/test_directory_tokens.py
tests/ctc/directory/.hypothesis/unicode_data/13.0.0/charmap.json.gz
tests/ctc/evm/test_address_utils.py
tests/ctc/evm/test_block_utils.py
tests/ctc/evm/test_eth_utils.py
tests/ctc/evm/.hypothesis/unicode_data/13.0.0/charmap.json.gz
tests/ctc/evm/test_erc20_utils/test_erc20_metadata.py
tests/ctc/evm/test_erc20_utils/test_erc20_state.py
tests/ctc/evm/test_rpc_utils/test_rpc_blocks.py
tests/ctc/evm/test_rpc_utils/test_rpc_logs.py
tests/ctc/evm/test_rpc_utils/test_rpc_node.py
tests/ctc/evm/test_rpc_utils/test_rpc_state.py
tests/ctc/evm/test_rpc_utils/test_rpc_submission.py
tests/ctc/evm/test_rpc_utils/test_rpc_transactions.py
tests/ctc/evm/test_rpc_utils/.hypothesis/unicode_data/13.0.0/charmap.json.gz
tests/ctc/protocols/balancer_utils/test_balancer_utils.py
tests/ctc/protocols/fei_utils/test_fei_collateralization_oracle.py
tests/ctc/protocols/uniswap_v2_utils/test_uniswap_queries.py
tests/ctc/toolbox/test_amm_utils.py