Latest 1 from a total of 1 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Execute Batch | 18924480 | 789 days ago | IN | 8.214468 ETH | 0.0046446 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
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)
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
/// @title Cyan Wallet Core Router - A Cyan wallet's core router.
/// @author Bulgantamir Gankhuyag - <bulgaa@usecyan.com>
/// @author Naranbayar Uuganbayar - <naba@usecyan.com>
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())
}
}
}{
"optimizer": {
"enabled": true,
"runs": 500
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract ABI
API[{"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"}]Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.