Overview
ETH Balance
0.1975 ETH
Eth Value
$616.55 (@ $3,121.79/ETH)More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,397 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Publish | 21730315 | 4 hrs ago | IN | 0.0025 ETH | 0.00032552 | ||||
Publish | 21721869 | 32 hrs ago | IN | 0.0025 ETH | 0.0004091 | ||||
Publish | 21714885 | 2 days ago | IN | 0.0025 ETH | 0.00099405 | ||||
Publish | 21689437 | 5 days ago | IN | 0.0025 ETH | 0.00101874 | ||||
Publish | 21689158 | 5 days ago | IN | 0.0025 ETH | 0.00177731 | ||||
Publish | 21673999 | 8 days ago | IN | 0.0025 ETH | 0.00299975 | ||||
Set Package Owne... | 21668624 | 8 days ago | IN | 0 ETH | 0.0024421 | ||||
Nominate Package... | 21668615 | 8 days ago | IN | 0 ETH | 0.00124091 | ||||
Publish | 21665932 | 9 days ago | IN | 0.0025 ETH | 0.00323631 | ||||
Publish | 21657287 | 10 days ago | IN | 0.0025 ETH | 0.00268367 | ||||
Publish | 21655163 | 10 days ago | IN | 0.0025 ETH | 0.00185503 | ||||
Publish | 21579367 | 21 days ago | IN | 0.0025 ETH | 0.00047948 | ||||
Publish | 21572189 | 22 days ago | IN | 0.0025 ETH | 0.0007229 | ||||
Publish | 21535969 | 27 days ago | IN | 0.0025 ETH | 0.00138088 | ||||
Nominate Package... | 21488483 | 33 days ago | IN | 0 ETH | 0.0005326 | ||||
Nominate Package... | 21488383 | 33 days ago | IN | 0 ETH | 0.00046823 | ||||
Nominate Package... | 21488382 | 33 days ago | IN | 0 ETH | 0.00048114 | ||||
Nominate Package... | 21488381 | 33 days ago | IN | 0 ETH | 0.00048297 | ||||
Nominate Package... | 21488380 | 33 days ago | IN | 0 ETH | 0.00047982 | ||||
Nominate Package... | 21488378 | 33 days ago | IN | 0 ETH | 0.00046703 | ||||
Nominate Package... | 21488375 | 33 days ago | IN | 0 ETH | 0.00049554 | ||||
Nominate Package... | 21488374 | 33 days ago | IN | 0 ETH | 0.00050296 | ||||
Nominate Package... | 21488373 | 33 days ago | IN | 0 ETH | 0.00049617 | ||||
Nominate Package... | 21488372 | 33 days ago | IN | 0 ETH | 0.00049866 | ||||
Nominate Package... | 21488371 | 33 days ago | IN | 0 ETH | 0.00049454 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21207313 | 73 days ago | 0.0025 ETH | ||||
21207313 | 73 days ago | 0.0025 ETH | ||||
20736901 | 138 days ago | 0.0025 ETH | ||||
20736901 | 138 days ago | 0.0025 ETH | ||||
20688552 | 145 days ago | 0.0025 ETH | ||||
20688552 | 145 days ago | 0.0025 ETH | ||||
20465899 | 176 days ago | 0.0025 ETH | ||||
20465899 | 176 days ago | 0.0025 ETH | ||||
20381207 | 188 days ago | 0.0025 ETH | ||||
20381207 | 188 days ago | 0.0025 ETH | ||||
20340413 | 194 days ago | 0.0025 ETH | ||||
20340413 | 194 days ago | 0.0025 ETH | ||||
20316691 | 197 days ago | 0.0025 ETH | ||||
20316691 | 197 days ago | 0.0025 ETH | ||||
20316340 | 197 days ago | 0.0025 ETH | ||||
20316340 | 197 days ago | 0.0025 ETH | ||||
20316340 | 197 days ago | 0.0025 ETH | ||||
20272642 | 203 days ago | 0.0025 ETH | ||||
20272642 | 203 days ago | 0.0025 ETH | ||||
20272642 | 203 days ago | 0.0025 ETH | ||||
20212175 | 212 days ago | 0.0025 ETH | ||||
20212175 | 212 days ago | 0.0025 ETH | ||||
20212043 | 212 days ago | 0.0025 ETH | ||||
20212043 | 212 days ago | 0.0025 ETH | ||||
20212020 | 212 days ago | 0.0025 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
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.17; 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 { bool initialized; 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
608060405234801561001057600080fd5b5060405161068538038061068583398181016040528101906100329190610275565b818181600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361009b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6100ae8161019d60201b61004f1760201c565b6100ef57806040517f8a8b41ec0000000000000000000000000000000000000000000000000000000081526004016100e691906102c4565b60405180910390fd5b806100fe6101b060201b60201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050806101536101e160201b6100621760201c565b60000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050610414565b600080823b905060008111915050919050565b6000806040516020016101c290610362565b6040516020818303038152906040528051906020012090508091505090565b6000806040516020016101f3906103f4565b6040516020818303038152906040528051906020012090508091505090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061024282610217565b9050919050565b61025281610237565b811461025d57600080fd5b50565b60008151905061026f81610249565b92915050565b6000806040838503121561028c5761028b610212565b5b600061029a85828601610260565b92505060206102ab85828601610260565b9150509250929050565b6102be81610237565b82525050565b60006020820190506102d960008301846102b5565b92915050565b600082825260208201905092915050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f7860008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b600061034c6021836102df565b9150610357826102f0565b604082019050919050565b6000602082019050818103600083015261037b8161033f565b9050919050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e6160008201527f626c650000000000000000000000000000000000000000000000000000000000602082015250565b60006103de6023836102df565b91506103e982610382565b604082019050919050565b6000602082019050818103600083015261040d816103d1565b9050919050565b610262806104236000396000f3fe6080604052366100135761001161001d565b005b61001b61001d565b005b6000610027610093565b90503660008037600080366000845af43d6000803e806000811461004a573d6000f35b3d6000fd5b600080823b905060008111915050919050565b6000806040516020016100749061017a565b6040516020818303038152906040528051906020012090508091505090565b600061009d6100c6565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806040516020016100d89061020c565b6040516020818303038152906040528051906020012090508091505090565b600082825260208201905092915050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e6160008201527f626c650000000000000000000000000000000000000000000000000000000000602082015250565b60006101646023836100f7565b915061016f82610108565b604082019050919050565b6000602082019050818103600083015261019381610157565b9050919050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f7860008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b60006101f66021836100f7565b91506102018261019a565b604082019050919050565b60006020820190508181036000830152610225816101e9565b905091905056fea26469706673582212203ce044cd786ae2b76d62e6154652e1ade70f6a3afea3671b053c02be77e9ca4764736f6c6343000811003300000000000000000000000065027bfbd1644a0188984a17501fd2682ae7d70e0000000000000000000000003852c9fdc6a5c0a4a6230c1d2d954cccb9b90465
Deployed Bytecode
0x6080604052366100135761001161001d565b005b61001b61001d565b005b6000610027610093565b90503660008037600080366000845af43d6000803e806000811461004a573d6000f35b3d6000fd5b600080823b905060008111915050919050565b6000806040516020016100749061017a565b6040516020818303038152906040528051906020012090508091505090565b600061009d6100c6565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806040516020016100d89061020c565b6040516020818303038152906040528051906020012090508091505090565b600082825260208201905092915050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e6160008201527f626c650000000000000000000000000000000000000000000000000000000000602082015250565b60006101646023836100f7565b915061016f82610108565b604082019050919050565b6000602082019050818103600083015261019381610157565b9050919050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f7860008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b60006101f66021836100f7565b91506102018261019a565b604082019050919050565b60006020820190508181036000830152610225816101e9565b905091905056fea26469706673582212203ce044cd786ae2b76d62e6154652e1ade70f6a3afea3671b053c02be77e9ca4764736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000065027bfbd1644a0188984a17501fd2682ae7d70e0000000000000000000000003852c9fdc6a5c0a4a6230c1d2d954cccb9b90465
-----Decoded View---------------
Arg [0] : firstImplementation (address): 0x65027Bfbd1644a0188984a17501Fd2682ae7D70E
Arg [1] : initialOwner (address): 0x3852C9fdc6a5C0A4A6230c1d2d954ccCB9b90465
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000065027bfbd1644a0188984a17501fd2682ae7d70e
Arg [1] : 0000000000000000000000003852c9fdc6a5c0a4a6230c1d2d954cccb9b90465
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.