Overview
ETH Balance
ETH Value
$253.05 (@ $1,792.21/ETH)More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
14198160 | 30 days ago | 0.00081474 ETH | ||||
13981383 | 42 days ago | 0.00081474 ETH | ||||
13960058 | 43 days ago | 0.00081474 ETH | ||||
13396746 | 68 days ago | 0.00081474 ETH | ||||
13087269 | 82 days ago | 0.00076763 ETH | ||||
13087269 | 82 days ago | 0.025 ETH | ||||
13087269 | 82 days ago | 0.025 ETH | ||||
13087253 | 82 days ago | 0.025 ETH | ||||
13034985 | 84 days ago | 0.00081474 ETH | ||||
12990169 | 86 days ago | 0.00081474 ETH | ||||
12757685 | 96 days ago | 0.00081474 ETH | ||||
12515810 | 105 days ago | 0.00081474 ETH | ||||
12454701 | 108 days ago | 0.00081474 ETH | ||||
12454592 | 108 days ago | 0.00081474 ETH | ||||
12454101 | 108 days ago | 0.00081474 ETH | ||||
12453866 | 108 days ago | 0.00081474 ETH | ||||
12453811 | 108 days ago | 0.00081474 ETH | ||||
12256846 | 116 days ago | 0.00081474 ETH | ||||
12216509 | 118 days ago | 0.0038 ETH | ||||
11591402 | 141 days ago | 0.00081474 ETH | ||||
11574201 | 142 days ago | 0.00076763 ETH | ||||
11574201 | 142 days ago | 0.02646146 ETH | ||||
11574201 | 142 days ago | 0.02646146 ETH | ||||
11574201 | 142 days ago | 0.02647387 ETH | ||||
11574201 | 142 days ago | 0.02647387 ETH |
Loading...
Loading
Contract Name:
Gateway
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 './GatewayStorage.sol'; contract Gateway is GatewayStorage { 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 {} }
// SPDX-License-Identifier: MIT pragma solidity >=0.8.0 <0.9.0; import '../../utils/Admin.sol'; import '../../utils/Implementation.sol'; import '../../utils/ReentryLock.sol'; abstract contract GatewayStorage is Admin, Implementation, ReentryLock { // stateId => value mapping(uint8 => bytes32) internal _gatewayStates; // bToken => stateId => value mapping(address => mapping(uint8 => bytes32)) internal _bTokenStates; // dTokenId => stateId => value mapping(uint256 => mapping(uint8 => bytes32)) internal _dTokenStates; // actionId => executionFee mapping(uint256 => uint256) internal _executionFees; }
// 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); } }
// SPDX-License-Identifier: MIT pragma solidity >=0.8.0 <0.9.0; abstract contract ReentryLock { error Reentry(); bool internal _mutex; // @notice Lock for preventing reentrancy attacks modifier _reentryLock_() { if (_mutex) { revert Reentry(); } _mutex = true; _; _mutex = false; } }
{ "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"},{"inputs":[],"name":"Reentry","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
608060405234801561001057600080fd5b50600080546001600160a01b031916339081179091556040519081527f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c9060200160405180910390a1610277806100686000396000f3fe6080604052600436106100435760003560e01c80635c60da1b1461007c578063704b6c02146100b8578063d784d426146100d8578063f851a440146100f85761004a565b3661004a57005b6001546001600160a01b03163660008037600080366000845af43d6000803e808015610075573d6000f35b3d6000fd5b005b34801561008857600080fd5b5060015461009c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c457600080fd5b5061007a6100d3366004610211565b610118565b3480156100e457600080fd5b5061007a6100f3366004610211565b610198565b34801561010457600080fd5b5060005461009c906001600160a01b031681565b6000546001600160a01b0316331461014357604051634755657960e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c906020015b60405180910390a150565b6000546001600160a01b031633146101c357604051634755657960e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f6b70829fcbe4891157f7a7496f9870927de3c8237adbe9cd39bae09b7382c4099060200161018d565b60006020828403121561022357600080fd5b81356001600160a01b038116811461023a57600080fd5b939250505056fea2646970667358221220a36016174573433d4ab15d1c63e4e02728ef5f1843757ad7552a59bf1a1206c264736f6c63430008140033
Deployed Bytecode
0x6080604052600436106100435760003560e01c80635c60da1b1461007c578063704b6c02146100b8578063d784d426146100d8578063f851a440146100f85761004a565b3661004a57005b6001546001600160a01b03163660008037600080366000845af43d6000803e808015610075573d6000f35b3d6000fd5b005b34801561008857600080fd5b5060015461009c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c457600080fd5b5061007a6100d3366004610211565b610118565b3480156100e457600080fd5b5061007a6100f3366004610211565b610198565b34801561010457600080fd5b5060005461009c906001600160a01b031681565b6000546001600160a01b0316331461014357604051634755657960e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c906020015b60405180910390a150565b6000546001600160a01b031633146101c357604051634755657960e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f6b70829fcbe4891157f7a7496f9870927de3c8237adbe9cd39bae09b7382c4099060200161018d565b60006020828403121561022357600080fd5b81356001600160a01b038116811461023a57600080fd5b939250505056fea2646970667358221220a36016174573433d4ab15d1c63e4e02728ef5f1843757ad7552a59bf1a1206c264736f6c63430008140033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
SCROLL | 100.00% | $1,792.21 | 0.1412 | $253.05 |
Loading...
Loading
Loading...
Loading
[ 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.