Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
CoreRouter
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: Unlicense pragma solidity ^0.8.0; // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // GENERATED CODE - do not edit manually!! // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- contract CoreRouter { error UnknownSelector(bytes4 sel); address private constant _ASSOCIATED_SYSTEMS_MODULE = 0x9c28b86B2EAc76F0D83298a574Bcec1557ed202A; address private constant _ELECTION_MODULE_SATELLITE = 0xcc6cfB3993C539dC2b7bBB686Ea7F06C516923D8; address private constant _SNAPSHOT_VOTE_POWER_MODULE = 0xB19fe55e4aA1df3feFd9eBef91f93c830cF66DCD; address private constant _INITIAL_MODULE_BUNDLE = 0x8a0221CabE12b3C8BA33ab13397dDC575DA1CcC1; fallback() external payable { // Lookup table: Function selector => implementation contract bytes4 sig4 = msg.sig; address implementation; assembly { let sig32 := shr(224, sig4) function findImplementation(sig) -> result { if lt(sig,0x74cc3e0d) { if lt(sig,0x4b579b8e) { if lt(sig,0x2d22bef9) { switch sig case 0x008634bd { result := _SNAPSHOT_VOTE_POWER_MODULE } // SnapshotVotePowerModule.getVotingPowerForUser() case 0x086146d2 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.getCurrentPeriod() case 0x088149ae { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.initElectionModuleSatellite() case 0x1627540c { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.nominateNewOwner() case 0x1a93d1c3 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.getGasLimit() case 0x2132e40f { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.hasProcessedMsg() leave } switch sig case 0x2d22bef9 { result := _ASSOCIATED_SYSTEMS_MODULE } // AssociatedSystemsModule.initOrUpgradeNft() case 0x3354c7f6 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.getSupportedNetworks() case 0x3659cfe6 { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.upgradeTo() case 0x3d32f239 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.getEpochSchedule() case 0x4a9ceff7 { result := _SNAPSHOT_VOTE_POWER_MODULE } // SnapshotVotePowerModule.prepareBallotWithSnapshot() leave } if lt(sig,0x60988e09) { switch sig case 0x4b579b8e { result := _SNAPSHOT_VOTE_POWER_MODULE } // SnapshotVotePowerModule.setSnapshotContract() case 0x4bee8894 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.removeRegisteredEmitters() case 0x529dca32 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.receiveWormholeMessages() case 0x53a47bb7 { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.nominatedOwner() case 0x54bc7f85 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.setRegisteredEmitters() leave } switch sig case 0x60988e09 { result := _ASSOCIATED_SYSTEMS_MODULE } // AssociatedSystemsModule.getAssociatedSystem() case 0x686251b7 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.getWormholeCore() case 0x6acac61f { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite._recvTweakEpochSchedule() case 0x718fe928 { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.renounceNomination() case 0x72e74f32 { result := _SNAPSHOT_VOTE_POWER_MODULE } // SnapshotVotePowerModule.takeVotePowerSnapshot() leave } if lt(sig,0xc6f79537) { if lt(sig,0xaaf10f42) { switch sig case 0x74cc3e0d { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.cast() case 0x79ba5097 { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.acceptOwnership() case 0x7b3d63e0 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite._recvDismissMembers() case 0x8cb6628c { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.getWormholeRelayer() case 0x8da5cb5b { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.owner() case 0x9425bb45 { result := _SNAPSHOT_VOTE_POWER_MODULE } // SnapshotVotePowerModule.getVotePowerSnapshotId() leave } switch sig case 0xaaf10f42 { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.getImplementation() case 0xac59ec2a { result := _SNAPSHOT_VOTE_POWER_MODULE } // SnapshotVotePowerModule.setScale() case 0xaf90f474 { result := _SNAPSHOT_VOTE_POWER_MODULE } // SnapshotVotePowerModule.getPreparedBallot() case 0xb119c5bd { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.getRegisteredEmitters() case 0xc5798523 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.isElectionModuleInitialized() leave } if lt(sig,0xe4220d1e) { switch sig case 0xc6f79537 { result := _ASSOCIATED_SYSTEMS_MODULE } // AssociatedSystemsModule.initOrUpgradeToken() case 0xc7f62cda { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.simulateUpgradeTo() case 0xd245d983 { result := _ASSOCIATED_SYSTEMS_MODULE } // AssociatedSystemsModule.registerUnmanagedSystem() case 0xd83eb231 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.withdrawVote() case 0xe1425cf5 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.getElectionSettings() leave } switch sig case 0xe4220d1e { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite._recvResolve() case 0xe549a290 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.getNextElectionSettings() case 0xee7d72b4 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.setGasLimit() case 0xfb5e80d8 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.quoteCrossChainDeliveryPrice() case 0xffe7f643 { result := _ELECTION_MODULE_SATELLITE } // ElectionModuleSatellite.getEpochIndex() leave } implementation := findImplementation(sig32) } if (implementation == address(0)) { revert UnknownSelector(sig4); } // Delegatecall to the implementation contract assembly { calldatacopy(0, 0, calldatasize()) let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0) returndatacopy(0, 0, returndatasize()) switch result case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } }
{ "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"bytes4","name":"sel","type":"bytes4"}],"name":"UnknownSelector","type":"error"},{"stateMutability":"payable","type":"fallback"}]
Contract Creation Code
6080604052348015600e575f80fd5b506108548061001c5f395ff3fe60806040525f80357fffffffff000000000000000000000000000000000000000000000000000000001690505f8160e01c610730565b5f6374cc3e0d8210156103b857634b579b8e82101561021657632d22bef982101561014b5781628634bd81146100a15763086146d281146100bd5763088149ae81146100d957631627540c81146100f557631a93d1c3811461011157632132e40f811461012d57610145565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd9150610145565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610145565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610145565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc19150610145565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610145565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891505b5061072b565b81632d22bef9811461018857633354c7f681146101a457633659cfe681146101c057633d32f23981146101dc57634a9ceff781146101f857610210565b739c28b86b2eac76f0d83298a574bcec1557ed202a9150610210565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610210565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc19150610210565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610210565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd91505b5061072b565b6360988e098210156102ed5781634b579b8e811461025f57634bee8894811461027b5763529dca328114610297576353a47bb781146102b3576354bc7f8581146102cf576102e7565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd91506102e7565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506102e7565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506102e7565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc191506102e7565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891505b5061072b565b816360988e09811461032a5763686251b7811461034657636acac61f81146103625763718fe928811461037e576372e74f32811461039a576103b2565b739c28b86b2eac76f0d83298a574bcec1557ed202a91506103b2565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506103b2565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506103b2565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc191506103b2565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd91505b5061072b565b63c6f7953782101561058d5763aaf10f428210156104c257816374cc3e0d8114610418576379ba5097811461043457637b3d63e0811461045057638cb6628c811461046c57638da5cb5b811461048857639425bb4581146104a4576104bc565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506104bc565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc191506104bc565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506104bc565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506104bc565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc191506104bc565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd91505b5061072b565b8163aaf10f4281146104ff5763ac59ec2a811461051b5763af90f47481146105375763b119c5bd81146105535763c5798523811461056f57610587565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc19150610587565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd9150610587565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd9150610587565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610587565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891505b5061072b565b63e4220d1e821015610664578163c6f7953781146105d65763c7f62cda81146105f25763d245d983811461060e5763d83eb231811461062a5763e1425cf581146106465761065e565b739c28b86b2eac76f0d83298a574bcec1557ed202a915061065e565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc1915061065e565b739c28b86b2eac76f0d83298a574bcec1557ed202a915061065e565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d8915061065e565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891505b5061072b565b8163e4220d1e81146106a15763e549a29081146106bd5763ee7d72b481146106d95763fb5e80d881146106f55763ffe7f643811461071157610729565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610729565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610729565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610729565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610729565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891505b505b919050565b61073981610035565b9150505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107ac57816040517fc2a825f50000000000000000000000000000000000000000000000000000000081526004016107a39190610805565b60405180910390fd5b365f80375f80365f845af43d5f803e805f81146107c7573d5ff35b3d5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6107ff816107cb565b82525050565b5f6020820190506108185f8301846107f6565b9291505056fea26469706673582212201b8e9c48e6f99e98ec8ade678fc580075c69ae5b88a4e06da4c09c628087e62264736f6c634300081a0033
Deployed Bytecode
0x60806040525f80357fffffffff000000000000000000000000000000000000000000000000000000001690505f8160e01c610730565b5f6374cc3e0d8210156103b857634b579b8e82101561021657632d22bef982101561014b5781628634bd81146100a15763086146d281146100bd5763088149ae81146100d957631627540c81146100f557631a93d1c3811461011157632132e40f811461012d57610145565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd9150610145565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610145565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610145565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc19150610145565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610145565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891505b5061072b565b81632d22bef9811461018857633354c7f681146101a457633659cfe681146101c057633d32f23981146101dc57634a9ceff781146101f857610210565b739c28b86b2eac76f0d83298a574bcec1557ed202a9150610210565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610210565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc19150610210565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610210565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd91505b5061072b565b6360988e098210156102ed5781634b579b8e811461025f57634bee8894811461027b5763529dca328114610297576353a47bb781146102b3576354bc7f8581146102cf576102e7565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd91506102e7565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506102e7565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506102e7565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc191506102e7565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891505b5061072b565b816360988e09811461032a5763686251b7811461034657636acac61f81146103625763718fe928811461037e576372e74f32811461039a576103b2565b739c28b86b2eac76f0d83298a574bcec1557ed202a91506103b2565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506103b2565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506103b2565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc191506103b2565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd91505b5061072b565b63c6f7953782101561058d5763aaf10f428210156104c257816374cc3e0d8114610418576379ba5097811461043457637b3d63e0811461045057638cb6628c811461046c57638da5cb5b811461048857639425bb4581146104a4576104bc565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506104bc565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc191506104bc565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506104bc565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891506104bc565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc191506104bc565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd91505b5061072b565b8163aaf10f4281146104ff5763ac59ec2a811461051b5763af90f47481146105375763b119c5bd81146105535763c5798523811461056f57610587565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc19150610587565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd9150610587565b73b19fe55e4aa1df3fefd9ebef91f93c830cf66dcd9150610587565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610587565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891505b5061072b565b63e4220d1e821015610664578163c6f7953781146105d65763c7f62cda81146105f25763d245d983811461060e5763d83eb231811461062a5763e1425cf581146106465761065e565b739c28b86b2eac76f0d83298a574bcec1557ed202a915061065e565b738a0221cabe12b3c8ba33ab13397ddc575da1ccc1915061065e565b739c28b86b2eac76f0d83298a574bcec1557ed202a915061065e565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d8915061065e565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891505b5061072b565b8163e4220d1e81146106a15763e549a29081146106bd5763ee7d72b481146106d95763fb5e80d881146106f55763ffe7f643811461071157610729565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610729565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610729565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610729565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d89150610729565b73cc6cfb3993c539dc2b7bbb686ea7f06c516923d891505b505b919050565b61073981610035565b9150505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107ac57816040517fc2a825f50000000000000000000000000000000000000000000000000000000081526004016107a39190610805565b60405180910390fd5b365f80375f80365f845af43d5f803e805f81146107c7573d5ff35b3d5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6107ff816107cb565b82525050565b5f6020820190506108185f8301846107f6565b9291505056fea26469706673582212201b8e9c48e6f99e98ec8ade678fc580075c69ae5b88a4e06da4c09c628087e62264736f6c634300081a0033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.