ETH Price: $1,974.91 (+0.71%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Router

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-06-04
*/

/**
 *Submitted for verification at Etherscan.io on 2020-06-02
*/

pragma experimental ABIEncoderV2;
pragma solidity ^0.6.0;


interface IACL {
    function accessible(address sender, address to, bytes4 sig)
        external
        view
        returns (bool);
}

/*
 * usr->logic(1,2,3)->route->data(1,2,3)
 */
contract Router {
    address public ACL;

    constructor(address _ACL) public {
        ACL = _ACL;
    }

    modifier auth {
        require(
            IACL(ACL).accessible(msg.sender, address(this), msg.sig),
            "access unauthorized"
        );
        _;
    }

    function setACL(
        address _ACL) external {
        require(msg.sender == ACL, "require ACL");
        ACL = _ACL;
    }

    struct RouterData {
        address defaultDataContract;
        mapping(bytes32 => address) fields;
    }

    uint public bondNr;//total bond count
    mapping(uint => RouterData) public routerDataMap;

    function defaultDataContract(uint id) external view returns (address) {
        return routerDataMap[id].defaultDataContract;
    }
    
    function setDefaultContract(uint id, address _defaultDataContract) external auth {
        routerDataMap[id].defaultDataContract = _defaultDataContract;
    }

    function addField(uint id, bytes32 field, address data) external auth {
        routerDataMap[id].fields[field] = data;
    }

    function setBondNr(uint _bondNr) external auth {
        bondNr = _bondNr;
    }

    //根据field找出合约地址
    function f(uint id, bytes32 field) external view returns (address) {
        if (routerDataMap[id].fields[field] != address(0)) {
            return routerDataMap[id].fields[field];
        }

        return routerDataMap[id].defaultDataContract;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_ACL","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ACL","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes32","name":"field","type":"bytes32"},{"internalType":"address","name":"data","type":"address"}],"name":"addField","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"bondNr","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"defaultDataContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes32","name":"field","type":"bytes32"}],"name":"f","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"routerDataMap","outputs":[{"internalType":"address","name":"defaultDataContract","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_ACL","type":"address"}],"name":"setACL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_bondNr","type":"uint256"}],"name":"setBondNr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"_defaultDataContract","type":"address"}],"name":"setDefaultContract","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161073d38038061073d83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b6106ac806100916000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806376aad6051161006657806376aad605146100f15780637af53532146101045780637da1557e14610119578063a481e08c1461012c578063dee356b31461013f57610093565b80630a7a696e1461009857806312f05691146100b6578063649c4383146100cb57806371993cfd146100de575b600080fd5b6100a0610152565b6040516100ad919061066d565b60405180910390f35b6100c96100c4366004610597565b610158565b005b6100c96100d9366004610532565b610248565b6100c96100ec36600461054a565b6102f8565b6100c96100ff3660046104f0565b6103d1565b61010c61041d565b6040516100ad91906105da565b61010c610127366004610532565b61042c565b61010c61013a366004610576565b610447565b61010c61014d366004610532565b6104be565b60015481565b6000805460405163a90ffc2760e01b81526001600160a01b039091169163a90ffc27916101979133913091356001600160e01b031916906004016105ee565b60206040518083038186803b1580156101af57600080fd5b505afa1580156101c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101e79190810190610512565b61020c5760405162461bcd60e51b81526004016102039061061b565b60405180910390fd5b600092835260026020908152604080852093855260019093019052912080546001600160a01b0319166001600160a01b03909216919091179055565b6000805460405163a90ffc2760e01b81526001600160a01b039091169163a90ffc27916102879133913091356001600160e01b031916906004016105ee565b60206040518083038186803b15801561029f57600080fd5b505afa1580156102b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102d79190810190610512565b6102f35760405162461bcd60e51b81526004016102039061061b565b600155565b6000805460405163a90ffc2760e01b81526001600160a01b039091169163a90ffc27916103379133913091356001600160e01b031916906004016105ee565b60206040518083038186803b15801561034f57600080fd5b505afa158015610363573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103879190810190610512565b6103a35760405162461bcd60e51b81526004016102039061061b565b60009182526002602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6000546001600160a01b031633146103fb5760405162461bcd60e51b815260040161020390610648565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b60008281526002602090815260408083208484526001019091528120546001600160a01b03161561049e575060008281526002602090815260408083208484526001019091529020546001600160a01b03166104b8565b506000828152600260205260409020546001600160a01b03165b92915050565b6002602052600090815260409020546001600160a01b031681565b80356001600160a01b03811681146104b857600080fd5b600060208284031215610501578081fd5b61050b83836104d9565b9392505050565b600060208284031215610523578081fd5b8151801515811461050b578182fd5b600060208284031215610543578081fd5b5035919050565b6000806040838503121561055c578081fd5b8235915061056d84602085016104d9565b90509250929050565b60008060408385031215610588578182fd5b50508035926020909101359150565b6000806000606084860312156105ab578081fd5b833592506020840135915060408401356001600160a01b03811681146105cf578182fd5b809150509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b6020808252601390820152721858d8d95cdcc81d5b985d5d1a1bdc9a5e9959606a1b604082015260600190565b6020808252600b908201526a1c995c5d5a5c99481050d360aa1b604082015260600190565b9081526020019056fea26469706673582212206d6368c89e57e863feed0d7bab5fc8820dfeb629bea606915a36b3b0215e75f864736f6c63430006000033000000000000000000000000063ad95a0fdc69269960a257c7e9bfa3629ac4dd

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100935760003560e01c806376aad6051161006657806376aad605146100f15780637af53532146101045780637da1557e14610119578063a481e08c1461012c578063dee356b31461013f57610093565b80630a7a696e1461009857806312f05691146100b6578063649c4383146100cb57806371993cfd146100de575b600080fd5b6100a0610152565b6040516100ad919061066d565b60405180910390f35b6100c96100c4366004610597565b610158565b005b6100c96100d9366004610532565b610248565b6100c96100ec36600461054a565b6102f8565b6100c96100ff3660046104f0565b6103d1565b61010c61041d565b6040516100ad91906105da565b61010c610127366004610532565b61042c565b61010c61013a366004610576565b610447565b61010c61014d366004610532565b6104be565b60015481565b6000805460405163a90ffc2760e01b81526001600160a01b039091169163a90ffc27916101979133913091356001600160e01b031916906004016105ee565b60206040518083038186803b1580156101af57600080fd5b505afa1580156101c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101e79190810190610512565b61020c5760405162461bcd60e51b81526004016102039061061b565b60405180910390fd5b600092835260026020908152604080852093855260019093019052912080546001600160a01b0319166001600160a01b03909216919091179055565b6000805460405163a90ffc2760e01b81526001600160a01b039091169163a90ffc27916102879133913091356001600160e01b031916906004016105ee565b60206040518083038186803b15801561029f57600080fd5b505afa1580156102b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102d79190810190610512565b6102f35760405162461bcd60e51b81526004016102039061061b565b600155565b6000805460405163a90ffc2760e01b81526001600160a01b039091169163a90ffc27916103379133913091356001600160e01b031916906004016105ee565b60206040518083038186803b15801561034f57600080fd5b505afa158015610363573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103879190810190610512565b6103a35760405162461bcd60e51b81526004016102039061061b565b60009182526002602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6000546001600160a01b031633146103fb5760405162461bcd60e51b815260040161020390610648565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b60008281526002602090815260408083208484526001019091528120546001600160a01b03161561049e575060008281526002602090815260408083208484526001019091529020546001600160a01b03166104b8565b506000828152600260205260409020546001600160a01b03165b92915050565b6002602052600090815260409020546001600160a01b031681565b80356001600160a01b03811681146104b857600080fd5b600060208284031215610501578081fd5b61050b83836104d9565b9392505050565b600060208284031215610523578081fd5b8151801515811461050b578182fd5b600060208284031215610543578081fd5b5035919050565b6000806040838503121561055c578081fd5b8235915061056d84602085016104d9565b90509250929050565b60008060408385031215610588578182fd5b50508035926020909101359150565b6000806000606084860312156105ab578081fd5b833592506020840135915060408401356001600160a01b03811681146105cf578182fd5b809150509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b6020808252601390820152721858d8d95cdcc81d5b985d5d1a1bdc9a5e9959606a1b604082015260600190565b6020808252600b908201526a1c995c5d5a5c99481050d360aa1b604082015260600190565b9081526020019056fea26469706673582212206d6368c89e57e863feed0d7bab5fc8820dfeb629bea606915a36b3b0215e75f864736f6c63430006000033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000063ad95a0fdc69269960a257c7e9bfa3629ac4dd

-----Decoded View---------------
Arg [0] : _ACL (address): 0x063Ad95a0fdc69269960a257c7E9BFa3629AC4dD

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000063ad95a0fdc69269960a257c7e9bfa3629ac4dd


Deployed Bytecode Sourcemap

331:1489:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;331:1489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;884:18;;;:::i;:::-;;;;;;;;;;;;;;;;1297:127;;;;;;;;;:::i;:::-;;1432:82;;;;;;;;;:::i;1129:160::-;;;;;;;;;:::i;629:130::-;;;;;;;;;:::i;354:18::-;;;:::i;:::-;;;;;;;;984:133;;;;;;;;;:::i;1559:258::-;;;;;;;;;:::i;927:48::-;;;;;;;;;:::i;884:18::-;;;;:::o;1297:127::-;503:3;;;498:56;;-1:-1:-1;;;498:56:0;;-1:-1:-1;;;;;503:3:0;;;;498:20;;:56;;519:10;;539:4;;546:7;-1:-1:-1;;;;;;546:7:0;;498:56;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;498:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;498:56:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;498:56:0;;;;;;;;;476:125;;;;-1:-1:-1;;;476:125:0;;;;;;;;;;;;;;;;;1378:17:::1;::::0;;;:13:::1;:17;::::0;;;;;;;:31;;;:24:::1;::::0;;::::1;:31:::0;;;;:38;;-1:-1:-1;;;;;;1378:38:0::1;-1:-1:-1::0;;;;;1378:38:0;;::::1;::::0;;;::::1;::::0;;1297:127::o;1432:82::-;503:3;;;498:56;;-1:-1:-1;;;498:56:0;;-1:-1:-1;;;;;503:3:0;;;;498:20;;:56;;519:10;;539:4;;546:7;-1:-1:-1;;;;;;546:7:0;;498:56;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;498:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;498:56:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;498:56:0;;;;;;;;;476:125;;;;-1:-1:-1;;;476:125:0;;;;;;;;;1490:6:::1;:16:::0;1432:82::o;1129:160::-;503:3;;;498:56;;-1:-1:-1;;;498:56:0;;-1:-1:-1;;;;;503:3:0;;;;498:20;;:56;;519:10;;539:4;;546:7;-1:-1:-1;;;;;;546:7:0;;498:56;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;498:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;498:56:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;498:56:0;;;;;;;;;476:125;;;;-1:-1:-1;;;476:125:0;;;;;;;;;1221:17:::1;::::0;;;:13:::1;:17;::::0;;;;;:60;;-1:-1:-1;;;;;;1221:60:0::1;-1:-1:-1::0;;;;;1221:60:0;;::::1;::::0;;;::::1;::::0;;1129:160::o;629:130::-;711:3;;-1:-1:-1;;;;;711:3:0;697:10;:17;689:41;;;;-1:-1:-1;;;689:41:0;;;;;;;;;741:3;:10;;-1:-1:-1;;;;;;741:10:0;-1:-1:-1;;;;;741:10:0;;;;;;;;;;629:130::o;354:18::-;;;-1:-1:-1;;;;;354:18:0;;:::o;984:133::-;1045:7;1072:17;;;:13;:17;;;;;:37;-1:-1:-1;;;;;1072:37:0;;984:133::o;1559:258::-;1617:7;1641:17;;;:13;:17;;;;;;;;:31;;;:24;;:31;;;;;;-1:-1:-1;;;;;1641:31:0;:45;1637:116;;-1:-1:-1;1710:17:0;;;;:13;:17;;;;;;;;:31;;;:24;;:31;;;;;;-1:-1:-1;;;;;1710:31:0;1703:38;;1637:116;-1:-1:-1;1772:17:0;;;;:13;:17;;;;;:37;-1:-1:-1;;;;;1772:37:0;1559:258;;;;;:::o;927:48::-;;;;;;;;;;;;-1:-1:-1;;;;;927:48:0;;:::o;5:130:-1:-;72:20;;-1:-1;;;;;6085:54;;6668:35;;6658:2;;6717:1;;6707:12;551:241;;655:2;643:9;634:7;630:23;626:32;623:2;;;-1:-1;;661:12;623:2;723:53;768:7;744:22;723:53;;;713:63;617:175;-1:-1;;;617:175;799:257;;911:2;899:9;890:7;886:23;882:32;879:2;;;-1:-1;;917:12;879:2;223:6;217:13;6814:5;5767:13;5760:21;6792:5;6789:32;6779:2;;-1:-1;;6825:12;1063:241;;1167:2;1155:9;1146:7;1142:23;1138:32;1135:2;;;-1:-1;;1173:12;1135:2;-1:-1;481:20;;1129:175;-1:-1;1129:175;1311:366;;;1432:2;1420:9;1411:7;1407:23;1403:32;1400:2;;;-1:-1;;1438:12;1400:2;494:6;481:20;1490:63;;1608:53;1653:7;1590:2;1633:9;1629:22;1608:53;;;1598:63;;1394:283;;;;;;1684:366;;;1805:2;1793:9;1784:7;1780:23;1776:32;1773:2;;;-1:-1;;1811:12;1773:2;-1:-1;;481:20;;;1963:2;2002:22;;;344:20;;-1:-1;1767:283;2057:491;;;;2195:2;2183:9;2174:7;2170:23;2166:32;2163:2;;;-1:-1;;2201:12;2163:2;481:20;;;-1:-1;2353:2;2392:22;;344:20;;-1:-1;2461:2;2500:22;;72:20;-1:-1;;;;;6085:54;;6668:35;;6658:2;;-1:-1;;6707:12;6658:2;2469:63;;;;2157:391;;;;;;3709:213;-1:-1;;;;;6085:54;;;;2775:37;;3827:2;3812:18;;3798:124;3929:447;-1:-1;;;;;6085:54;;;2634:58;;6085:54;;;;4281:2;4266:18;;2775:37;-1:-1;;;;;;5933:78;;;4362:2;4347:18;;2893:36;4109:2;4094:18;;4080:296;4383:407;4574:2;4588:47;;;3166:2;4559:18;;;5535:19;-1:-1;;;5575:14;;;3182:42;3243:12;;;4545:245;4797:407;4988:2;5002:47;;;3494:2;4973:18;;;5535:19;-1:-1;;;5575:14;;;3510:34;3563:12;;;4959:245;5211:213;3660:37;;;5329:2;5314:18;;5300:124

Swarm Source

ipfs://6d6368c89e57e863feed0d7bab5fc8820dfeb629bea606915a36b3b0215e75f8

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Router of ForTube Bond.

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.