ETH Price: $2,627.78 (+1.43%)

Contract

0x5D060111Ec0817d8fd0256eA6c35f71924B53251
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute Batch205043432024-08-11 9:01:3510 days ago1723366895IN
0x5D060111...924B53251
0 ETH0.000299461.25467316
Execute204459022024-08-03 5:23:3518 days ago1722662615IN
0x5D060111...924B53251
0 ETH0.000272411.24116902
Execute204458952024-08-03 5:22:1118 days ago1722662531IN
0x5D060111...924B53251
0 ETH0.000269051.19961453
Execute204458882024-08-03 5:20:4718 days ago1722662447IN
0x5D060111...924B53251
0 ETH0.000305911.36398334
Execute Batch199982272024-06-01 16:40:5981 days ago1717260059IN
0x5D060111...924B53251
0 ETH0.0048782615.38973231
Execute Batch197815072024-05-02 9:20:59111 days ago1714641659IN
0x5D060111...924B53251
0 ETH0.007773717.42253184
Execute190823902024-01-25 8:18:59209 days ago1706170739IN
0x5D060111...924B53251
0 ETH0.0012151210.2439172
Execute188620742023-12-25 10:11:59240 days ago1703499119IN
0x5D060111...924B53251
0 ETH0.0024392618.89822841
Execute Batch186430652023-11-24 17:30:11271 days ago1700847011IN
0x5D060111...924B53251
0 ETH0.0111534832.20348157

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
185719112023-11-14 18:23:47280 days ago1699986227  Contract Creation0 ETH
Loading...
Loading

Minimal Proxy Contract for 0x95a286ca0347b3c8daf06dad1c4233c95f06c894

Contract Name:
CoreRouter

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 500 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : CoreRouter.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

/// @title Cyan Wallet Core Router - A Cyan wallet's core router.
/// @author Bulgantamir Gankhuyag - <[email protected]>
/// @author Naranbayar Uuganbayar - <[email protected]>
contract CoreRouter {
    address payable private immutable _this;
    address private _admin;
    address private _core;

    event SetRouterAdmin(address admin);
    event SetCore(address core);

    modifier onlyAdmin() {
        require(_admin == msg.sender, "Caller is not an admin.");
        _;
    }

    constructor(address core) {
        require(core != address(0x0), "Invalid core address.");

        _admin = msg.sender;
        _core = core;
        _this = payable(address(this));
    }

    /// @notice Changes the admin of the router.
    /// @param admin Address of the new admin.
    function setRouterAdmin(address admin) external onlyAdmin {
        require(admin != address(0x0), "Invalid admin address.");

        _admin = admin;
        emit SetRouterAdmin(admin);
    }

    /// @notice Returns an admin address of the router.
    /// @return Address of the current admin.
    function getRouterAdmin() external view returns (address) {
        return _admin;
    }

    /// @notice Changes the address of the core contract.
    ///     Note: Changing the core address will affect to all wallets.
    /// @param core Address of the new core contract.
    function setCore(address core) external onlyAdmin {
        require(core != address(0x0), "Invalid core address.");

        _core = core;
        emit SetCore(core);
    }

    /// @notice Returns the address of the core contract.
    /// @return Address of the current core contract.
    function getCore() external view returns (address) {
        return _core;
    }

    /// @notice Delegates all transcations to the core contract.
    fallback() external payable {
        address core = CoreRouter(_this).getCore();
        assembly {
            calldatacopy(0, 0, calldatasize())
            let success := delegatecall(gas(), core, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            if eq(success, 0) {
                revert(0, returndatasize())
            }
            return(0, returndatasize())
        }
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 500
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"core","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"core","type":"address"}],"name":"SetCore","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"admin","type":"address"}],"name":"SetRouterAdmin","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"getCore","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRouterAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"core","type":"address"}],"name":"setCore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"admin","type":"address"}],"name":"setRouterAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"}]

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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.