Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 47 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Recompute Fundin... | 6357039 | 143 days ago | IN | 0 ETH | 0.00047276 | ||||
Recompute Utiliz... | 6357036 | 143 days ago | IN | 0 ETH | 0.00050885 | ||||
Settle Order | 6032296 | 192 days ago | IN | 1 wei | 0.01106378 | ||||
Commit Order | 6032294 | 192 days ago | IN | 0 ETH | 0.00507845 | ||||
Commit Order | 6032204 | 192 days ago | IN | 0 ETH | 0.00186433 | ||||
Modify Collatera... | 6032199 | 192 days ago | IN | 0 ETH | 0.00263647 | ||||
Modify Collatera... | 6032197 | 192 days ago | IN | 0 ETH | 0.00166571 | ||||
Settle Order | 6032132 | 193 days ago | IN | 1 wei | 0.00581469 | ||||
Commit Order | 6032129 | 193 days ago | IN | 0 ETH | 0.00234973 | ||||
Cancel Stale Ord... | 6032113 | 193 days ago | IN | 0 ETH | 0.00051626 | ||||
Commit Order | 6032107 | 193 days ago | IN | 0 ETH | 0.00391376 | ||||
Cancel Stale Ord... | 6032106 | 193 days ago | IN | 0 ETH | 0.00052863 | ||||
Commit Order | 6031902 | 193 days ago | IN | 0 ETH | 0.00366342 | ||||
Cancel Stale Ord... | 6031901 | 193 days ago | IN | 0 ETH | 0.00052078 | ||||
Commit Order | 6031895 | 193 days ago | IN | 0 ETH | 0.00370743 | ||||
Cancel Stale Ord... | 6031894 | 193 days ago | IN | 0 ETH | 0.00052903 | ||||
Commit Order | 6031887 | 193 days ago | IN | 0 ETH | 0.00404907 | ||||
Cancel Stale Ord... | 6031886 | 193 days ago | IN | 0 ETH | 0.00055634 | ||||
Commit Order | 6031879 | 193 days ago | IN | 0 ETH | 0.00505828 | ||||
Cancel Stale Ord... | 6031878 | 193 days ago | IN | 0 ETH | 0.00070879 | ||||
Commit Order | 6031804 | 193 days ago | IN | 0 ETH | 0.00614384 | ||||
Cancel Stale Ord... | 6031737 | 193 days ago | IN | 0 ETH | 0.0005403 | ||||
Commit Order | 6031711 | 193 days ago | IN | 0 ETH | 0.00369125 | ||||
Cancel Stale Ord... | 6031573 | 193 days ago | IN | 0 ETH | 0.00132962 | ||||
Commit Order | 6031517 | 193 days ago | IN | 0 ETH | 0.0046303 |
Latest 5 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
6032296 | 192 days ago | 1 wei | ||||
6032132 | 193 days ago | 1 wei | ||||
5959582 | 204 days ago | Contract Creation | 0 ETH | |||
5959581 | 204 days ago | Contract Creation | 0 ETH | |||
5959578 | 204 days ago | Contract Creation | 0 ETH |
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": {} }
[{"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
608060405234801561001057600080fd5b5060405161068538038061068583398181016040528101906100329190610275565b818181600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361009b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6100ae8161019d60201b61004f1760201c565b6100ef57806040517f8a8b41ec0000000000000000000000000000000000000000000000000000000081526004016100e691906102c4565b60405180910390fd5b806100fe6101b060201b60201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050806101536101e160201b6100621760201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050610414565b600080823b905060008111915050919050565b6000806040516020016101c290610362565b6040516020818303038152906040528051906020012090508091505090565b6000806040516020016101f3906103f4565b6040516020818303038152906040528051906020012090508091505090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061024282610217565b9050919050565b61025281610237565b811461025d57600080fd5b50565b60008151905061026f81610249565b92915050565b6000806040838503121561028c5761028b610212565b5b600061029a85828601610260565b92505060206102ab85828601610260565b9150509250929050565b6102be81610237565b82525050565b60006020820190506102d960008301846102b5565b92915050565b600082825260208201905092915050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f7860008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b600061034c6021836102df565b9150610357826102f0565b604082019050919050565b6000602082019050818103600083015261037b8161033f565b9050919050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e6160008201527f626c650000000000000000000000000000000000000000000000000000000000602082015250565b60006103de6023836102df565b91506103e982610382565b604082019050919050565b6000602082019050818103600083015261040d816103d1565b9050919050565b610262806104236000396000f3fe6080604052366100135761001161001d565b005b61001b61001d565b005b6000610027610093565b90503660008037600080366000845af43d6000803e806000811461004a573d6000f35b3d6000fd5b600080823b905060008111915050919050565b6000806040516020016100749061017a565b6040516020818303038152906040528051906020012090508091505090565b600061009d6100c6565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806040516020016100d89061020c565b6040516020818303038152906040528051906020012090508091505090565b600082825260208201905092915050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e6160008201527f626c650000000000000000000000000000000000000000000000000000000000602082015250565b60006101646023836100f7565b915061016f82610108565b604082019050919050565b6000602082019050818103600083015261019381610157565b9050919050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f7860008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b60006101f66021836100f7565b91506102018261019a565b604082019050919050565b60006020820190508181036000830152610225816101e9565b905091905056fea264697066735822122032669087b735337c9422ac4fec5ef5ee7df3e0af0c8b76755e9fb5b0ce10b45964736f6c634300081100330000000000000000000000001f837a979fb63c0255f5f4d879e98412fab35926000000000000000000000000431d454bd4d352a0b1f45ae11ef1182bbeec6a7b
Deployed Bytecode
0x6080604052366100135761001161001d565b005b61001b61001d565b005b6000610027610093565b90503660008037600080366000845af43d6000803e806000811461004a573d6000f35b3d6000fd5b600080823b905060008111915050919050565b6000806040516020016100749061017a565b6040516020818303038152906040528051906020012090508091505090565b600061009d6100c6565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806040516020016100d89061020c565b6040516020818303038152906040528051906020012090508091505090565b600082825260208201905092915050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e6160008201527f626c650000000000000000000000000000000000000000000000000000000000602082015250565b60006101646023836100f7565b915061016f82610108565b604082019050919050565b6000602082019050818103600083015261019381610157565b9050919050565b7f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f7860008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b60006101f66021836100f7565b91506102018261019a565b604082019050919050565b60006020820190508181036000830152610225816101e9565b905091905056fea264697066735822122032669087b735337c9422ac4fec5ef5ee7df3e0af0c8b76755e9fb5b0ce10b45964736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001f837a979fb63c0255f5f4d879e98412fab35926000000000000000000000000431d454bd4d352a0b1f45ae11ef1182bbeec6a7b
-----Decoded View---------------
Arg [0] : firstImplementation (address): 0x1f837a979FB63c0255f5f4D879E98412FaB35926
Arg [1] : initialOwner (address): 0x431D454Bd4d352A0b1f45AE11EF1182bBEec6a7B
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000001f837a979fb63c0255f5f4d879e98412fab35926
Arg [1] : 000000000000000000000000431d454bd4d352a0b1f45ae11ef1182bbeec6a7b
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.