Source Code
Overview
POL Balance
More Info
ContractCreator
Multichain Info
N/A
Latest 21 from a total of 21 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Change Admin | 18097909 | 32 hrs ago | IN | 0 POL | 0.00074562 | ||||
Admin | 18097887 | 32 hrs ago | IN | 0 POL | 0.00090017 | ||||
Upgrade To | 16207031 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Upgrade To | 16206960 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Upgrade To | 16206847 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
_update Automate | 16206769 | 49 days ago | IN | 0 POL | 0.00379765 | ||||
Upgrade To | 16206744 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Upgrade To | 16206578 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Upgrade To | 16206511 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Upgrade To | 16206333 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Upgrade To | 16205900 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Upgrade To | 16205604 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Upgrade To | 16205466 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Upgrade To | 16205277 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Limit Order | 16204811 | 49 days ago | IN | 0 POL | 0.00168095 | ||||
Upgrade To | 16204749 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Create Task | 16204186 | 49 days ago | IN | 0.01 POL | 0.05038675 | ||||
Upgrade To | 16204168 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Upgrade To | 16204060 | 49 days ago | IN | 0 POL | 0.00163705 | ||||
Create Task | 16204009 | 49 days ago | IN | 0.01 POL | 0.0051688 | ||||
Upgrade To | 16203994 | 49 days ago | IN | 0 POL | 0.00163705 |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x00DA1e08...cB4d5de6e The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
LogProxy
Compiler Version
v0.8.26+commit.8a97fa7a
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.13; abstract contract Proxy { function _delegate(address implementation) internal virtual { assembly { calldatacopy(0, 0, calldatasize()) let result := delegatecall( gas(), implementation, 0, calldatasize(), 0, 0 ) returndatacopy(0, 0, returndatasize()) switch result case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } function _implementation() internal view virtual returns (address); function _fallback() internal virtual { _beforeFallback(); _delegate(_implementation()); } fallback() external payable virtual { _fallback(); } receive() external payable virtual { _fallback(); } function _beforeFallback() internal virtual {} } abstract contract UpgradeableProxy is Proxy { event Upgraded(address indexed implementation); function _upgradeTo(address newImplementation) internal virtual { _setImplementation(newImplementation); emit Upgraded(newImplementation); } function _setImplementation(address newImplementation) private { require( Address.isContract(newImplementation), "UpgradeableProxy: new implementation is not a contract" ); bytes32 slot = _IMPLEMENTATION_SLOT; assembly { sstore(slot, newImplementation) } } function _implementation() internal view virtual override returns (address impl) { bytes32 slot = _IMPLEMENTATION_SLOT; assembly { impl := sload(slot) } } bytes32 private constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; } contract TransparentUpgradeableProxy is UpgradeableProxy { event AdminChanged(address previousAdmin, address newAdmin); constructor(address _logic, address admin_, bytes memory _data) payable { assert( _ADMIN_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1) ); _setAdmin(admin_); _upgradeTo(_logic); if (_data.length > 0) { (bool success, ) = _logic.delegatecall(_data); require( success, "TransparentUpgradeableProxy: initialization failed" ); } } modifier ifAdmin() { if (msg.sender == _admin()) { _; } else { _fallback(); } } function admin() external ifAdmin returns (address) { return _admin(); } function implementation() external ifAdmin returns (address) { return _implementation(); } function changeAdmin(address newAdmin) external virtual ifAdmin { require( newAdmin != address(0), "TransparentUpgradeableProxy: new admin is the zero address" ); emit AdminChanged(_admin(), newAdmin); _setAdmin(newAdmin); } function upgradeTo(address newImplementation) external ifAdmin { _upgradeTo(newImplementation); } function upgradeToAndCall( address newImplementation, bytes calldata data ) external payable ifAdmin { _upgradeTo(newImplementation); (bool success, ) = newImplementation.delegatecall(data); require(success, "TransparentUpgradeableProxy: call failed"); } function _admin() internal view virtual returns (address) { return StorageSlot.getAddressSlot(_ADMIN_SLOT).value; } function _setAdmin(address newAdmin) private { require( newAdmin != address(0), "TransparentUpgradeableProxy: new admin is the zero address" ); StorageSlot.getAddressSlot(_ADMIN_SLOT).value = newAdmin; } function _beforeFallback() internal virtual override { require( msg.sender != _admin(), "TransparentUpgradeableProxy: admin cannot fallback to proxy target" ); super._beforeFallback(); } bytes32 private constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; } contract LogProxy is TransparentUpgradeableProxy { constructor( address _logic, address admin_, bytes memory _data ) TransparentUpgradeableProxy(_logic, admin_, _data) {} } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } } library StorageSlot { struct AddressSlot { address value; } function getAddressSlot( bytes32 slot ) internal pure returns (AddressSlot storage r) { assembly { r.slot := slot } } }
{ "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"admin_","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Deployed Bytecode
0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b61008036600461058d565b610138565b61005b6100933660046105af565b610163565b3480156100a457600080fd5b506100ad610259565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e436600461058d565b6102a5565b3480156100f557600080fd5b506100ad610336565b610106610357565b6101366101317f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103e7565b565b61014061040b565b6001600160a01b0316330361015b5761015881610439565b50565b6101586100fe565b61016b61040b565b6001600160a01b0316330361024c5761018383610439565b6000836001600160a01b0316838360405161019f929190610634565b600060405180830381855af49150503d80600081146101da576040519150601f19603f3d011682016040523d82523d6000602084013e6101df565b606091505b50509050806102465760405162461bcd60e51b815260206004820152602860248201527f5472616e73706172656e745570677261646561626c6550726f78793a2063616c6044820152671b0819985a5b195960c21b60648201526084015b60405180910390fd5b50505050565b6102546100fe565b505050565b600061026361040b565b6001600160a01b0316330361029a577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b905090565b6102a26100fe565b90565b6102ad61040b565b6001600160a01b0316330361015b576001600160a01b0381166102e25760405162461bcd60e51b815260040161023d90610644565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61030b61040b565b604080516001600160a01b03928316815291841660208301520160405180910390a161015881610479565b600061034061040b565b6001600160a01b0316330361029a5761029561040b565b61035f61040b565b6001600160a01b031633036101365760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a40161023d565b3660008037600080366000845af43d6000803e808015610406573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103546001600160a01b031690565b610442816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661049f5760405162461bcd60e51b815260040161023d90610644565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610380546001600160a01b0319166001600160a01b0392909216919091179055565b803b61054d5760405162461bcd60e51b815260206004820152603660248201527f5570677261646561626c6550726f78793a206e657720696d706c656d656e74616044820152751d1a5bdb881a5cc81b9bdd08184818dbdb9d1c9858dd60521b606482015260840161023d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b80356001600160a01b038116811461058857600080fd5b919050565b60006020828403121561059f57600080fd5b6105a882610571565b9392505050565b6000806000604084860312156105c457600080fd5b6105cd84610571565b9250602084013567ffffffffffffffff8111156105e957600080fd5b8401601f810186136105fa57600080fd5b803567ffffffffffffffff81111561061157600080fd5b86602082840101111561062357600080fd5b939660209190910195509293505050565b8183823760009101908152919050565b6020808252603a908201527f5472616e73706172656e745570677261646561626c6550726f78793a206e657760408201527f2061646d696e20697320746865207a65726f206164647265737300000000000060608201526080019056fea2646970667358221220e69e0facf2c3b558c62b8ae9fb9802ee05c9b7bdc980300eb727a699eba03c6064736f6c634300081a0033
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.