diff --git a/config_samples/ink/ink_deployment_2025-11-16.json b/config_samples/ink/ink_deployment_2025-11-16.json new file mode 100644 index 0000000..327f589 --- /dev/null +++ b/config_samples/ink/ink_deployment_2025-11-16.json @@ -0,0 +1,43 @@ +{ + "contracts": { + "0xe561152e8d3f618b386ef4dd6e3fb980eb2f9e61": "TransparentUpgradeableProxy", + "0xcc6DD2e2341C5b09A6f4F481670E3C39B83810C3": "ProxyAdmin" + }, + "explorer_hostname": "explorer.inkonchain.com", + "explorer_chain_id": 57073, + "explorer_token_env_var": "INK_API_KEY", + "github_repo": { + "url": "https://github.com/OpenZeppelin/openzeppelin-contracts", + "commit": "fcbae5394ae8ad52d8e580a3477db99814b9d565", + "relative_root": "contracts" + }, + "dependencies": { + "lib/openzeppelin-contracts/contracts": { + "url": "https://github.com/OpenZeppelin/openzeppelin-contracts", + "commit": "fcbae5394ae8ad52d8e580a3477db99814b9d565", + "relative_root": "contracts" + } + }, + "fail_on_bytecode_comparison_error": true, + "bytecode_comparison": { + "constructor_calldata": {}, + "constructor_args": { + "0xe561152e8d3f618b386ef4dd6e3fb980eb2f9e61": [ + "0x03df929510a52c97bb1b3e5f33ea5d9735a50280", + "0x13Ac97663d19fF20fe467BFa580748505e664beB", + "0x2cd77a5a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013ac97663d19ff20fe467bfa580748505e664beb000000000000000000000000000000000000000000000000000000000000001f57726170706564206c6971756964207374616b656420457468657220322e300000000000000000000000000000000000000000000000000000000000000000067773744554480000000000000000000000000000000000000000000000000000" + ], + "0xcc6DD2e2341C5b09A6f4F481670E3C39B83810C3": [ + "0x13Ac97663d19fF20fe467BFa580748505e664beB" + ] + } + }, + "metadata": { + "chain_name": "ink", + "deployment_date": "2025-11-16", + "timelock_address": "0x13Ac97663d19fF20fe467BFa580748505e664beB", + "timelock_requirements": { + "minimum_delay_seconds": 1 + } + } +} diff --git a/config_samples/megaeth/megaeth_deployment_2026-01-07.json b/config_samples/megaeth/megaeth_deployment_2026-01-07.json new file mode 100644 index 0000000..5a5afa6 --- /dev/null +++ b/config_samples/megaeth/megaeth_deployment_2026-01-07.json @@ -0,0 +1,43 @@ +{ + "contracts": { + "0x601aC63637933D88285A025C685AC4e9a92a98dA": "TransparentUpgradeableProxy", + "0x4f17a98eFdd1048B2c7e4a5399ef5B5c3eadE2bF": "ProxyAdmin" + }, + "explorer_hostname": "megaeth.blockscout.com", + "explorer_chain_id": 4326, + "explorer_token_env_var": "MEGAETH_API_KEY", + "github_repo": { + "url": "https://github.com/OpenZeppelin/openzeppelin-contracts", + "commit": "fcbae5394ae8ad52d8e580a3477db99814b9d565", + "relative_root": "contracts" + }, + "dependencies": { + "lib/openzeppelin-contracts/contracts": { + "url": "https://github.com/OpenZeppelin/openzeppelin-contracts", + "commit": "fcbae5394ae8ad52d8e580a3477db99814b9d565", + "relative_root": "contracts" + } + }, + "fail_on_bytecode_comparison_error": true, + "bytecode_comparison": { + "constructor_calldata": {}, + "constructor_args": { + "0x601aC63637933D88285A025C685AC4e9a92a98dA": [ + "0x518DD3D8a38ea4FB5f8c06c33b6a32F34F6C3712", + "0x72f6000D70B291C67bED898214156d01383274b1", + "0x2cd77a5a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013ac97663d19ff20fe467bfa580748505e664beb000000000000000000000000000000000000000000000000000000000000001f57726170706564206c6971756964207374616b656420457468657220322e300000000000000000000000000000000000000000000000000000000000000000067773744554480000000000000000000000000000000000000000000000000000" + ], + "0x4f17a98eFdd1048B2c7e4a5399ef5B5c3eadE2bF": [ + "0x72f6000D70B291C67bED898214156d01383274b1" + ] + } + }, + "metadata": { + "chain_name": "megaeth", + "deployment_date": "2026-01-07", + "timelock_address": "0x72f6000D70B291C67bED898214156d01383274b1", + "timelock_requirements": { + "minimum_delay_seconds": 1 + } + } +} diff --git a/config_samples/plasma/plasma_deployment_2025-11-17.json b/config_samples/plasma/plasma_deployment_2025-11-17.json new file mode 100644 index 0000000..a599ac6 --- /dev/null +++ b/config_samples/plasma/plasma_deployment_2025-11-17.json @@ -0,0 +1,42 @@ +{ + "contracts": { + "0x481e638105407Be40c2f2E2e006DE272d05930d0": "TransparentUpgradeableProxy", + "0x36De6840eB576132e1b8e76795fDD693230Ad5ea": "ProxyAdmin" + }, + "explorer_hostname": "api.routescan.io/v2/network/mainnet/evm/9745/etherscan", + "explorer_token_env_var": "PLASMA_API_KEY", + "github_repo": { + "url": "https://github.com/OpenZeppelin/openzeppelin-contracts", + "commit": "fcbae5394ae8ad52d8e580a3477db99814b9d565", + "relative_root": "contracts" + }, + "dependencies": { + "lib/openzeppelin-contracts/contracts": { + "url": "https://github.com/OpenZeppelin/openzeppelin-contracts", + "commit": "fcbae5394ae8ad52d8e580a3477db99814b9d565", + "relative_root": "contracts" + } + }, + "fail_on_bytecode_comparison_error": true, + "bytecode_comparison": { + "constructor_calldata": {}, + "constructor_args": { + "0x481e638105407Be40c2f2E2e006DE272d05930d0": [ + "0xB9af873C7089CF3a0b6D67538065dD94b5E3208f", + "0x3eC62564F66874f619640cBb7Fd42A157f21A442", + "0x2cd77a5a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013ac97663d19ff20fe467bfa580748505e664beb000000000000000000000000000000000000000000000000000000000000001f57726170706564206c6971756964207374616b656420457468657220322e300000000000000000000000000000000000000000000000000000000000000000067773744554480000000000000000000000000000000000000000000000000000" + ], + "0x36De6840eB576132e1b8e76795fDD693230Ad5ea": [ + "0x3eC62564F66874f619640cBb7Fd42A157f21A442" + ] + } + }, + "metadata": { + "chain_name": "plasma", + "deployment_date": "2025-11-17", + "timelock_address": "0x3eC62564F66874f619640cBb7Fd42A157f21A442", + "timelock_requirements": { + "minimum_delay_seconds": 1 + } + } +} diff --git a/diffyscan/utils/explorer.py b/diffyscan/utils/explorer.py index a251901..a378304 100644 --- a/diffyscan/utils/explorer.py +++ b/diffyscan/utils/explorer.py @@ -282,7 +282,14 @@ def _get_explorer_fetcher(explorer_hostname: str) -> tuple: ) elif any( explorer_hostname.endswith(domain) - for domain in ["mode.network", "blockscout.com", "swellnetwork.io", "lisk.com"] + for domain in [ + "mode.network", + "blockscout.com", + "swellnetwork.io", + "lisk.com", + "inkonchain.com", + "routescan.io", + ] ): return _get_contract_from_blockscout, False else: diff --git a/hardhat_configs/ink_hardhat_config.ts b/hardhat_configs/ink_hardhat_config.ts new file mode 100644 index 0000000..29f9102 --- /dev/null +++ b/hardhat_configs/ink_hardhat_config.ts @@ -0,0 +1,15 @@ +import type { HardhatUserConfig } from "hardhat/config"; + +const config: HardhatUserConfig = { + solidity: "0.8.30", + networks: { + hardhat: { + type: "edr-simulated", + chainId: 57073, + blockGasLimit: 92000000, + hardfork: "prague", + }, + }, +}; + +export default config; diff --git a/hardhat_configs/megaeth_hardhat_config.ts b/hardhat_configs/megaeth_hardhat_config.ts new file mode 100644 index 0000000..5644501 --- /dev/null +++ b/hardhat_configs/megaeth_hardhat_config.ts @@ -0,0 +1,15 @@ +import type { HardhatUserConfig } from "hardhat/config"; + +const config: HardhatUserConfig = { + solidity: "0.8.30", + networks: { + hardhat: { + type: "edr-simulated", + chainId: 4326, + blockGasLimit: 92000000, + hardfork: "prague", + }, + }, +}; + +export default config; diff --git a/hardhat_configs/plasma_hardhat_config.ts b/hardhat_configs/plasma_hardhat_config.ts new file mode 100644 index 0000000..169aa88 --- /dev/null +++ b/hardhat_configs/plasma_hardhat_config.ts @@ -0,0 +1,15 @@ +import type { HardhatUserConfig } from "hardhat/config"; + +const config: HardhatUserConfig = { + solidity: "0.8.30", + networks: { + hardhat: { + type: "edr-simulated", + chainId: 9745, + blockGasLimit: 92000000, + hardfork: "prague", + }, + }, +}; + +export default config;