Source Code
Overview
SOPH Balance
More Info
ContractCreator
Multichain Info
N/A
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 18 internal transactions
Advanced mode:
Parent Transaction Hash | Block | Age | From | To | Amount | |
---|---|---|---|---|---|---|
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | 0 SOPH | ||||
503458 | 62 days ago | Contract Creation | 0 SOPH |
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:
ERC1967Proxy
Compiler Version
v0.8.22+commit.4fc1097e
ZkSolc Version
v1.5.11
Optimization Enabled:
Yes with Mode 3
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.2.0) (proxy/ERC1967/ERC1967Proxy.sol)pragma solidity ^0.8.22;import {Proxy} from "../Proxy.sol";import {ERC1967Utils} from "./ERC1967Utils.sol";/*** @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an* implementation address that can be changed. This address is stored in storage in the location specified by* https://eips.ethereum.org/EIPS/eip-1967[ERC-1967], so that it doesn't conflict with the storage layout of the* implementation behind the proxy.*/contract ERC1967Proxy is Proxy {/*** @dev Initializes the upgradeable proxy with an initial implementation specified by `implementation`.** If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an* encoded function call, and allows initializing the storage of the proxy like a Solidity constructor.** Requirements:** - If `data` is empty, `msg.value` must be zero.*/constructor(address implementation, bytes memory _data) payable {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (proxy/Proxy.sol)pragma solidity ^0.8.20;/*** @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM* instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to* be specified by overriding the virtual {_implementation} function.** Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a* different contract through the {_delegate} function.** The success and return data of the delegated call will be returned back to the caller of the proxy.*/abstract contract Proxy {/*** @dev Delegates the current call to `implementation`.** This function does not return to its internal call site, it will return directly to the external caller.*/function _delegate(address implementation) internal virtual {assembly {// Copy msg.data. We take full control of memory in this inline assembly// block because it will not return to Solidity code. We overwrite the// Solidity scratch pad at memory position 0.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.2.0) (proxy/ERC1967/ERC1967Utils.sol)pragma solidity ^0.8.22;import {IBeacon} from "../beacon/IBeacon.sol";import {IERC1967} from "../../interfaces/IERC1967.sol";import {Address} from "../../utils/Address.sol";import {StorageSlot} from "../../utils/StorageSlot.sol";/*** @dev This library provides getters and event emitting update functions for* https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.*/library ERC1967Utils {/*** @dev Storage slot with the address of the current implementation.* This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1.*/// solhint-disable-next-line private-vars-leading-underscorebytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;/*** @dev The `implementation` of the proxy is invalid.*/error ERC1967InvalidImplementation(address implementation);
123456789101112131415161718192021222324// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1967.sol)pragma solidity ^0.8.20;/*** @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.*/interface IERC1967 {/*** @dev Emitted when the implementation is upgraded.*/event Upgraded(address indexed implementation);/*** @dev Emitted when the admin account has changed.*/event AdminChanged(address previousAdmin, address newAdmin);/*** @dev Emitted when the beacon is changed.*/event BeaconUpgraded(address indexed beacon);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.2.0) (utils/Address.sol)pragma solidity ^0.8.20;import {Errors} from "./Errors.sol";/*** @dev Collection of functions related to the address type*/library Address {/*** @dev There's no code at `target` (it is not a contract).*/error AddressEmptyCode(address target);/*** @dev Replacement for Solidity's `transfer`: sends `amount` wei to* `recipient`, forwarding all available gas and reverting on errors.** https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost* of certain opcodes, possibly making contracts go over the 2300 gas limit* imposed by `transfer`, making them unable to receive funds via* `transfer`. {sendValue} removes this limitation.** https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (proxy/beacon/IBeacon.sol)pragma solidity ^0.8.20;/*** @dev This is the interface that {BeaconProxy} expects of its beacon.*/interface IBeacon {/*** @dev Must return an address that can be used as a delegate call target.** {UpgradeableBeacon} will check that this address is a contract.*/function implementation() external view returns (address);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (utils/StorageSlot.sol)// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.pragma solidity ^0.8.20;/*** @dev Library for reading and writing primitive types to specific storage slots.** Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.* This library helps with reading and writing to such slots without the need for inline assembly.** The functions in this library return Slot structs that contain a `value` member that can be used to read or write.** Example usage to set ERC-1967 implementation slot:* ```solidity* contract ERC1967 {* // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.* bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;** function _getImplementation() internal view returns (address) {* return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;* }** function _setImplementation(address newImplementation) internal {* require(newImplementation.code.length > 0);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (utils/Errors.sol)pragma solidity ^0.8.20;/*** @dev Collection of common custom errors used in multiple contracts** IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library.* It is recommended to avoid relying on the error API for critical functionality.** _Available since v5.1._*/library Errors {/*** @dev The ETH balance of the account is not enough to perform the operation.*/error InsufficientBalance(uint256 balance, uint256 needed);/*** @dev A call to an address target failed. The target may have reverted.*/error FailedCall();/*** @dev The deployment failed.
12345678910111213141516171819{"optimizer": {"enabled": true,"mode": "3","runs": 200},"evmVersion": "paris","outputSelection": {"*": {"*": ["abi"]}},"detectMissingLibraries": false,"forceEVMLA": false,"enableEraVMExtensions": false,"libraries": {}}
Contract ABI
API[{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"}]
Contract Creation Code
9c4d535b000000000000000000000000000000000000000000000000000000000000000001000071a1f8e47725f5b794cb7ac2f47f6a1b5cbf694caadd384c04c49a07d3000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000005b6dc8000aeec4a3cf4cc8c2a5e015a849828e5200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044485cc9550000000000000000000000000000000000000000000000000000000000008006000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x000500000000000200000060031002700000001f0530018f0000005a043001970000005b033001970000000100200190000000440000c13d0000008002000039000000400020043f0000006202000041000000000202041a000000000004004b000000130000613d000000000601034f0000000007000019000000006806043c0000000007870436000000000047004b0000000f0000c13d0000005d02200197000000000005004b000000210000613d000000000141034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f0000000000140435000000600130021000000000030004140000005b0030009c0000005b03008041000000c003300210000000000113019f0162015d0000040f00000060051002700000001f0450018f0000005a03500198000000320000613d000000000601034f0000000007000019000000006806043c0000000007870436000000000037004b0000002e0000c13d0000005b05500197000000000004004b000000400000613d000000000131034f0000000304400210000000000603043300000000064601cf000000000646022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000161019f000000000013043500000060015002100000000100200190000001490000613d000001630001042e0000001f023000390000005c022001970000008002200039000000400020043f0000008002400039000000000004004b000000510000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b0000004d0000c13d000000000005004b0000005e0000613d000000000141034f0000000304500210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000400030008c000000630000413d000000800600043d0000005d0060009c000000650000a13d00000000010000190000016400010430000000a00200043d0000005e0020009c000000630000213d0000001f01200039000000000031004b00000000040000190000005f040080410000005f01100197000000000001004b00000000050000190000005f050040410000005f0010009c000000000504c019000000000005004b000000630000c13d000000800120003900000000010104330000005e0010009c0000007e0000a13d0000006e01000041000000000010043f0000004101000039000000040010043f0000006a0100004100000164000104300000001f041000390000006f044001970000003f044000390000006f04400197000000400700043d0000000004470019000000000074004b000000000500003900000001050040390000005e0040009c000000780000213d0000000100500190000000780000c13d0000008003300039000000400040043f0000000008170436000000a0022000390000000004210019000000000034004b000000630000213d000000000001004b0000009c0000613d000000000300001900000000043800190000000005230019000000000505043300000000005404350000002003300039000000000013004b000000950000413d000300000008001d000400000007001d00000000017100190000002001100039000000000001043500000060010000410000000000100443000000040060044300000000010004140000005b0010009c0000005b01008041000000c00110021000000061011001c70000800202000039000500000006001d016201580000040f0000000100200190000001130000613d00000005060000290000005d05600197000000400200043d000000000101043b000000000001004b000000bd0000c13d0000006d010000410000000000120435000000040120003900000000005104350000005b0020009c0000005b0200804100000040012002100000006a011001c70000016400010430000200000002001d0000006201000041000000000201041a0000006302200197000000000252019f000000000021041b00000000010004140000005b0010009c0000005b01008041000000c00110021000000064011001c70000800d0200003900000002030000390000006504000041000100000005001d016201530000040f0000000503000029000000010020019000000004010000290000000302000029000000630000613d0000000001010433000000000001004b000000e00000c13d0000000001000416000000000001004b000001140000613d0000006b01000041000000020200002900000000001204350000005b0020009c0000005b02008041000000400120021000000068011001c700000164000104300000005b0010009c0000005b0100804100000060011002100000005b0020009c0000005b020080410000004002200210000000000121019f00000000020004140000005b0020009c0000005b02008041000000c002200210000000000112019f00000000020300190162015d0000040f00000060031002700000005b05300198000001190000c13d0000006003000039000000800400003900000000010304330000000100200190000001400000613d000000000001004b000001140000c13d000000600100004100000000001004430000000501000029000000040010044300000000010004140000005b0010009c0000005b01008041000000c00110021000000061011001c70000800202000039016201580000040f0000000100200190000001130000613d000000000101043b000000000001004b000001140000c13d000000400100043d000000690200004100000000002104350000000402100039000000010300002900000000003204350000005b0010009c0000005b0100804100000040011002100000006a011001c70000016400010430000000000001042f0000002001000039000001000010044300000120000004430000006c01000041000001630001042e0000001f035000390000005c033001970000003f033000390000006604300197000000400300043d0000000004430019000000000034004b000000000600003900000001060040390000005e0040009c000000780000213d0000000100600190000000780000c13d000000400040043f0000001f0650018f00000000045304360000005a075001980000000005740019000001320000613d000000000801034f0000000009040019000000008a08043c0000000009a90436000000000059004b0000012e0000c13d000000000006004b000000f30000613d000000000171034f0000000306600210000000000705043300000000076701cf000000000767022f000000000101043b0000010006600089000000000161022f00000000016101cf000000000171019f0000000000150435000000f30000013d000000000001004b0000014a0000c13d000000400100043d000000670200004100000000002104350000005b0010009c0000005b01008041000000400110021000000068011001c700000164000104300000005b0040009c0000005b0400804100000040024002100000005b0010009c0000005b010080410000006001100210000000000121019f0000016400010430000000000001042f00000156002104210000000102000039000000000001042d0000000002000019000000000001042d0000015b002104230000000102000039000000000001042d0000000002000019000000000001042d00000160002104250000000102000039000000000001042d0000000002000019000000000001042d0000016200000432000001630001042e000001640001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffe000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff80000000000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcffffffffffffffffffffffff00000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b00000000000000000000000000000000000000000000000000000003ffffffe0d6bda2750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000009996b315000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000b398979f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000400000010000000000000000004c9c8ce3000000000000000000000000000000000000000000000000000000004e487b7100000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe07f357c1aa61790d96d5c9f05c9f90eed9e026233bb70ef03d6d8aa33ca0d0cbe
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005b6dc8000aeec4a3cf4cc8c2a5e015a849828e5200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044485cc9550000000000000000000000000000000000000000000000000000000000008006000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : implementation (address): 0x5B6Dc8000AEec4a3CF4CC8C2A5E015a849828E52
Arg [1] : _data (bytes): 0x485cc95500000000000000000000000000000000000000000000000000000000000080060000000000000000000000000000000000000000000000000000000000010000
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000005b6dc8000aeec4a3cf4cc8c2a5e015a849828e52
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000044
Arg [3] : 485cc95500000000000000000000000000000000000000000000000000000000
Arg [4] : 0000800600000000000000000000000000000000000000000000000000000000
Arg [5] : 0001000000000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
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.