Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 9 from a total of 9 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 13371218 | 8 hrs ago | IN | 1 S | 0.00653091 | ||||
Transfer | 13215630 | 26 hrs ago | IN | 1 S | 0.00653091 | ||||
Set Admin | 13194231 | 28 hrs ago | IN | 0 S | 0.00153791 | ||||
0x1f398b63 | 13194195 | 28 hrs ago | IN | 0 S | 0.01771143 | ||||
Set Op Gas Token... | 13194189 | 28 hrs ago | IN | 0 S | 0.00532367 | ||||
Add Executor | 13194184 | 28 hrs ago | IN | 0 S | 0.0028699 | ||||
Add Executor | 13194178 | 28 hrs ago | IN | 0 S | 0.0028699 | ||||
Set Gateways | 13194174 | 28 hrs ago | IN | 0 S | 0.00533868 | ||||
Set Implementati... | 13191395 | 29 hrs ago | IN | 0 S | 0.00258956 |
Latest 4 internal transactions
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
13371218 | 8 hrs ago | 1 S | ||||
13371218 | 8 hrs ago | Contract Creation | 0 S | |||
13215630 | 26 hrs ago | 1 S | ||||
13215630 | 26 hrs ago | Contract Creation | 0 S |
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 Name:
Manager
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity >=0.8.0 <0.9.0; import './ManagerStorage.sol'; contract Manager is ManagerStorage { fallback() external payable { address imp = implementation; assembly { calldatacopy(0, 0, calldatasize()) let result := delegatecall(gas(), imp, 0, calldatasize(), 0, 0) returndatacopy(0, 0, returndatasize()) switch result case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } receive() external payable { address imp = implementation; assembly { let result := delegatecall(gas(), imp, 0, 0, 0, 0) if eq(result, 0) { revert(0, 0) } } } }
// SPDX-License-Identifier: MIT pragma solidity >=0.8.0 <0.9.0; import '../utils/Admin.sol'; import '../utils/Implementation.sol'; abstract contract ManagerStorage is Admin, Implementation { address[] internal _gateways; mapping (address => bool) internal _executors; mapping (address => address) internal _smartAccounts; address[] internal _opGasTokens; uint256[6][] internal _opGases; }
// SPDX-License-Identifier: MIT pragma solidity >=0.8.0 <0.9.0; abstract contract Admin { error OnlyAdmin(); event NewAdmin(address newAdmin); address public admin; modifier _onlyAdmin_() { if (msg.sender != admin) { revert OnlyAdmin(); } _; } constructor () { admin = msg.sender; emit NewAdmin(admin); } /** * @notice Set a new admin for the contract. * @dev This function allows the current admin to assign a new admin address without performing any explicit verification. * It's the current admin's responsibility to ensure that the 'newAdmin' address is correct and secure. * @param newAdmin The address of the new admin. */ function setAdmin(address newAdmin) external _onlyAdmin_ { admin = newAdmin; emit NewAdmin(newAdmin); } }
// SPDX-License-Identifier: MIT pragma solidity >=0.8.0 <0.9.0; import './Admin.sol'; abstract contract Implementation is Admin { event NewImplementation(address newImplementation); address public implementation; // @notice Set a new implementation address for the contract function setImplementation(address newImplementation) external _onlyAdmin_ { implementation = newImplementation; emit NewImplementation(newImplementation); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"name":"OnlyAdmin","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newImplementation","type":"address"}],"name":"NewImplementation","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b50600080546001600160a01b031916339081179091556040519081527f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c9060200160405180910390a1610293806100686000396000f3fe6080604052600436106100435760003560e01c80635c60da1b14610098578063704b6c02146100d4578063d784d426146100f4578063f851a4401461011457610068565b36610068576001546001600160a01b03166000808080845af48061006657600080fd5b005b6001546001600160a01b03163660008037600080366000845af43d6000803e808015610093573d6000f35b3d6000fd5b3480156100a457600080fd5b506001546100b8906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100e057600080fd5b506100666100ef36600461022d565b610134565b34801561010057600080fd5b5061006661010f36600461022d565b6101b4565b34801561012057600080fd5b506000546100b8906001600160a01b031681565b6000546001600160a01b0316331461015f57604051634755657960e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c906020015b60405180910390a150565b6000546001600160a01b031633146101df57604051634755657960e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f6b70829fcbe4891157f7a7496f9870927de3c8237adbe9cd39bae09b7382c409906020016101a9565b60006020828403121561023f57600080fd5b81356001600160a01b038116811461025657600080fd5b939250505056fea26469706673582212203afe3f16eaf64826a2966bca03f649745c7c3451963cc8b6953fbd6a5e7bb54f64736f6c63430008140033
Deployed Bytecode
0x6080604052600436106100435760003560e01c80635c60da1b14610098578063704b6c02146100d4578063d784d426146100f4578063f851a4401461011457610068565b36610068576001546001600160a01b03166000808080845af48061006657600080fd5b005b6001546001600160a01b03163660008037600080366000845af43d6000803e808015610093573d6000f35b3d6000fd5b3480156100a457600080fd5b506001546100b8906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100e057600080fd5b506100666100ef36600461022d565b610134565b34801561010057600080fd5b5061006661010f36600461022d565b6101b4565b34801561012057600080fd5b506000546100b8906001600160a01b031681565b6000546001600160a01b0316331461015f57604051634755657960e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c906020015b60405180910390a150565b6000546001600160a01b031633146101df57604051634755657960e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f6b70829fcbe4891157f7a7496f9870927de3c8237adbe9cd39bae09b7382c409906020016101a9565b60006020828403121561023f57600080fd5b81356001600160a01b038116811461025657600080fd5b939250505056fea26469706673582212203afe3f16eaf64826a2966bca03f649745c7c3451963cc8b6953fbd6a5e7bb54f64736f6c63430008140033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.