More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 147 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Migrate | 21245403 | 12 hrs ago | IN | 0 ETH | 0.04218962 | ||||
Convert USD | 21244276 | 16 hrs ago | IN | 0 ETH | 0.01199706 | ||||
Convert USD | 21243439 | 18 hrs ago | IN | 0 ETH | 0.01134191 | ||||
Migrate | 21243415 | 18 hrs ago | IN | 0 ETH | 0.02503472 | ||||
Convert USD | 21240513 | 28 hrs ago | IN | 0 ETH | 0.00752324 | ||||
Convert USD | 21239689 | 31 hrs ago | IN | 0 ETH | 0.00828341 | ||||
Convert USD | 21238926 | 34 hrs ago | IN | 0 ETH | 0.00987304 | ||||
Migrate | 21238919 | 34 hrs ago | IN | 0 ETH | 0.02452643 | ||||
Convert USD | 21228842 | 2 days ago | IN | 0 ETH | 0.00783784 | ||||
Migrate | 21228834 | 2 days ago | IN | 0 ETH | 0.01556142 | ||||
Convert USD | 21220462 | 3 days ago | IN | 0 ETH | 0.00680311 | ||||
Convert USD | 21218027 | 4 days ago | IN | 0 ETH | 0.00845775 | ||||
Migrate | 21218018 | 4 days ago | IN | 0 ETH | 0.0215074 | ||||
Convert USD | 21209787 | 5 days ago | IN | 0 ETH | 0.00650175 | ||||
Migrate | 21208877 | 5 days ago | IN | 0 ETH | 0.03525947 | ||||
Convert USD | 21205434 | 6 days ago | IN | 0 ETH | 0.00700841 | ||||
Migrate | 21205424 | 6 days ago | IN | 0 ETH | 0.01695948 | ||||
Convert USD | 21205343 | 6 days ago | IN | 0 ETH | 0.00656134 | ||||
Convert USD | 21203093 | 6 days ago | IN | 0 ETH | 0.00826036 | ||||
Convert USD | 21200436 | 6 days ago | IN | 0 ETH | 0.00798777 | ||||
Migrate | 21192790 | 7 days ago | IN | 0 ETH | 0.02486289 | ||||
Convert USD | 21191631 | 8 days ago | IN | 0 ETH | 0.00947484 | ||||
Convert USD | 21184394 | 9 days ago | IN | 0 ETH | 0.0241153 | ||||
Convert USD | 21174027 | 10 days ago | IN | 0 ETH | 0.02053178 | ||||
Migrate | 21174021 | 10 days ago | IN | 0 ETH | 0.04786538 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
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:
Proxy
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: MIT pragma solidity >=0.8.11 <0.9.0; import {UUPSProxyWithOwner} from "@synthetixio/core-contracts/contracts/proxy/UUPSProxyWithOwner.sol"; contract Proxy is UUPSProxyWithOwner { // solhint-disable-next-line no-empty-blocks constructor( address firstImplementation, address initialOwner ) UUPSProxyWithOwner(firstImplementation, initialOwner) {} }
//SPDX-License-Identifier: MIT pragma solidity >=0.8.11 <0.9.0; /** * @title Library for access related errors. */ library AccessError { /** * @dev Thrown when an address tries to perform an unauthorized action. * @param addr The address that attempts the action. */ error Unauthorized(address addr); }
//SPDX-License-Identifier: MIT pragma solidity >=0.8.11 <0.9.0; /** * @title Library for address related errors. */ library AddressError { /** * @dev Thrown when a zero address was passed as a function parameter (0x0000000000000000000000000000000000000000). */ error ZeroAddress(); /** * @dev Thrown when an address representing a contract is expected, but no code is found at the address. * @param contr The address that was expected to be a contract. */ error NotAContract(address contr); }
//SPDX-License-Identifier: MIT pragma solidity >=0.8.11 <0.9.0; import "../errors/AccessError.sol"; library OwnableStorage { bytes32 private constant _SLOT_OWNABLE_STORAGE = keccak256(abi.encode("io.synthetix.core-contracts.Ownable")); struct Data { address owner; address nominatedOwner; } function load() internal pure returns (Data storage store) { bytes32 s = _SLOT_OWNABLE_STORAGE; assembly { store.slot := s } } function onlyOwner() internal view { if (msg.sender != getOwner()) { revert AccessError.Unauthorized(msg.sender); } } function getOwner() internal view returns (address) { return OwnableStorage.load().owner; } }
//SPDX-License-Identifier: MIT pragma solidity >=0.8.11 <0.9.0; abstract contract AbstractProxy { fallback() external payable { _forward(); } receive() external payable { _forward(); } function _forward() internal { address implementation = _getImplementation(); // solhint-disable-next-line no-inline-assembly 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 _getImplementation() internal view virtual returns (address); }
//SPDX-License-Identifier: MIT pragma solidity >=0.8.11 <0.9.0; contract ProxyStorage { bytes32 private constant _SLOT_PROXY_STORAGE = keccak256(abi.encode("io.synthetix.core-contracts.Proxy")); struct ProxyStore { address implementation; bool simulatingUpgrade; } function _proxyStore() internal pure returns (ProxyStore storage store) { bytes32 s = _SLOT_PROXY_STORAGE; assembly { store.slot := s } } }
//SPDX-License-Identifier: MIT pragma solidity >=0.8.11 <0.9.0; import "./AbstractProxy.sol"; import "./ProxyStorage.sol"; import "../errors/AddressError.sol"; import "../utils/AddressUtil.sol"; contract UUPSProxy is AbstractProxy, ProxyStorage { constructor(address firstImplementation) { if (firstImplementation == address(0)) { revert AddressError.ZeroAddress(); } if (!AddressUtil.isContract(firstImplementation)) { revert AddressError.NotAContract(firstImplementation); } _proxyStore().implementation = firstImplementation; } function _getImplementation() internal view virtual override returns (address) { return _proxyStore().implementation; } }
//SPDX-License-Identifier: MIT pragma solidity >=0.8.11 <0.9.0; import {UUPSProxy} from "./UUPSProxy.sol"; import {OwnableStorage} from "../ownership/OwnableStorage.sol"; contract UUPSProxyWithOwner is UUPSProxy { // solhint-disable-next-line no-empty-blocks constructor(address firstImplementation, address initialOwner) UUPSProxy(firstImplementation) { OwnableStorage.load().owner = initialOwner; } }
//SPDX-License-Identifier: MIT pragma solidity >=0.8.11 <0.9.0; library AddressUtil { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"firstImplementation","type":"address"},{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"contr","type":"address"}],"name":"NotAContract","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161068538038061068583398181016040528101906100329190610275565b818181600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361009b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6100ae8161019d60201b61004f1760201c565b6100ef57806040517f8a8b41ec0000000000000000000000000000000000000000000000000000000081526004016100e691906102c4565b60405180910390fd5b806100fe6101b060201b60201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050806101536101e160201b6100621760201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050610414565b600080823b905060008111915050919050565b6000806040516020016101c290610362565b6040516020818303038152906040528051906020012090508091505090565b6000806040516020016101f3906103f4565b6040516020818303038152906040528051906020012090508091505090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061024282610217565b9050919050565b61025281610237565b811461025d57600080fd5b50565b60008151905061026f81610249565b92915050565b6000806040838503121561028c5761028b610212565b5b600061029a85828601610260565b92505060206102ab85828601610260565b9150509250929050565b6102be81610237565b82525050565b60006020820190506102d960008301846102b5565b92915050565b600082825260208201905092915050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f7860008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b600061034c6021836102df565b9150610357826102f0565b604082019050919050565b6000602082019050818103600083015261037b8161033f565b9050919050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e6160008201527f626c650000000000000000000000000000000000000000000000000000000000602082015250565b60006103de6023836102df565b91506103e982610382565b604082019050919050565b6000602082019050818103600083015261040d816103d1565b9050919050565b610262806104236000396000f3fe6080604052366100135761001161001d565b005b61001b61001d565b005b6000610027610093565b90503660008037600080366000845af43d6000803e806000811461004a573d6000f35b3d6000fd5b600080823b905060008111915050919050565b6000806040516020016100749061017a565b6040516020818303038152906040528051906020012090508091505090565b600061009d6100c6565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806040516020016100d89061020c565b6040516020818303038152906040528051906020012090508091505090565b600082825260208201905092915050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e6160008201527f626c650000000000000000000000000000000000000000000000000000000000602082015250565b60006101646023836100f7565b915061016f82610108565b604082019050919050565b6000602082019050818103600083015261019381610157565b9050919050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f7860008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b60006101f66021836100f7565b91506102018261019a565b604082019050919050565b60006020820190508181036000830152610225816101e9565b905091905056fea264697066735822122032669087b735337c9422ac4fec5ef5ee7df3e0af0c8b76755e9fb5b0ce10b45964736f6c63430008110033000000000000000000000000c7ba0f1de31627ad655684cd347260eb7a815e78000000000000000000000000eb3107117fead7de89cd14d463d340a2e6917769
Deployed Bytecode
0x6080604052366100135761001161001d565b005b61001b61001d565b005b6000610027610093565b90503660008037600080366000845af43d6000803e806000811461004a573d6000f35b3d6000fd5b600080823b905060008111915050919050565b6000806040516020016100749061017a565b6040516020818303038152906040528051906020012090508091505090565b600061009d6100c6565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806040516020016100d89061020c565b6040516020818303038152906040528051906020012090508091505090565b600082825260208201905092915050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e6160008201527f626c650000000000000000000000000000000000000000000000000000000000602082015250565b60006101646023836100f7565b915061016f82610108565b604082019050919050565b6000602082019050818103600083015261019381610157565b9050919050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f7860008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b60006101f66021836100f7565b91506102018261019a565b604082019050919050565b60006020820190508181036000830152610225816101e9565b905091905056fea264697066735822122032669087b735337c9422ac4fec5ef5ee7df3e0af0c8b76755e9fb5b0ce10b45964736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c7ba0f1de31627ad655684cd347260eb7a815e78000000000000000000000000eb3107117fead7de89cd14d463d340a2e6917769
-----Decoded View---------------
Arg [0] : firstImplementation (address): 0xc7BA0f1DE31627Ad655684Cd347260eb7a815e78
Arg [1] : initialOwner (address): 0xEb3107117FEAd7de89Cd14D463D340A2E6917769
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c7ba0f1de31627ad655684cd347260eb7a815e78
Arg [1] : 000000000000000000000000eb3107117fead7de89cd14d463d340a2e6917769
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.