Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0xaca59bf795933bf7c18956260765ae68eb8783dfecd02608ada2fee4941018ff | Call One Inch | (pending) | 24 mins ago | IN | 0.00147911 ETH | (Pending) | |||
Call One Inch | 21611833 | 31 secs ago | IN | 0 ETH | 0.00046652 | ||||
Call One Inch | 21611825 | 2 mins ago | IN | 0 ETH | 0.00057014 | ||||
Call One Inch | 21611810 | 5 mins ago | IN | 0.02168646 ETH | 0.00037185 | ||||
Call Li Fi | 21611807 | 5 mins ago | IN | 0 ETH | 0.00049051 | ||||
Call One Inch | 21611804 | 6 mins ago | IN | 0 ETH | 0.00067532 | ||||
Call One Inch | 21611794 | 8 mins ago | IN | 0.88257656 ETH | 0.00028647 | ||||
Call Li Fi | 21611782 | 10 mins ago | IN | 0 ETH | 0.00114884 | ||||
Call Li Fi | 21611780 | 11 mins ago | IN | 0 ETH | 0.0005814 | ||||
Call Li Fi | 21611776 | 11 mins ago | IN | 0 ETH | 0.0004755 | ||||
Call One Inch | 21611772 | 12 mins ago | IN | 0 ETH | 0.00042892 | ||||
Call Li Fi | 21611772 | 12 mins ago | IN | 0 ETH | 0.0005888 | ||||
Call One Inch | 21611772 | 12 mins ago | IN | 0 ETH | 0.00052456 | ||||
Call One Inch | 21611752 | 16 mins ago | IN | 0.01 ETH | 0.00034231 | ||||
Call Quant | 21611751 | 16 mins ago | IN | 0.02 ETH | 0.0005865 | ||||
Call Li Fi | 21611731 | 21 mins ago | IN | 0.00360635 ETH | 0.00044129 | ||||
Call Quant | 21611729 | 21 mins ago | IN | 0.042 ETH | 0.00059906 | ||||
Call Li Fi | 21611724 | 22 mins ago | IN | 0 ETH | 0.00059923 | ||||
Call One Inch | 21611723 | 22 mins ago | IN | 0.003 ETH | 0.00071798 | ||||
Call Li Fi | 21611716 | 24 mins ago | IN | 0.003 ETH | 0.00036686 | ||||
Call Li Fi | 21611712 | 24 mins ago | IN | 0.04 ETH | 0.00035394 | ||||
Call One Inch | 21611712 | 24 mins ago | IN | 0 ETH | 0.00041703 | ||||
Call One Inch | 21611703 | 26 mins ago | IN | 0.00427059 ETH | 0.00033788 | ||||
Call One Inch | 21611700 | 27 mins ago | IN | 0.178 ETH | 0.00035352 | ||||
Call Li Fi | 21611697 | 27 mins ago | IN | 0.003 ETH | 0.00046653 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21611810 | 5 mins ago | 0.02157802 ETH | ||||
21611810 | 5 mins ago | 0.00010843 ETH | ||||
21611807 | 5 mins ago | 0.00003703 ETH | ||||
21611807 | 5 mins ago | 0.00736996 ETH | ||||
21611807 | 5 mins ago | 0.007407 ETH | ||||
21611794 | 8 mins ago | 0.87816368 ETH | ||||
21611794 | 8 mins ago | 0.00441288 ETH | ||||
21611752 | 16 mins ago | 0.00995 ETH | ||||
21611752 | 16 mins ago | 0.00005 ETH | ||||
21611751 | 16 mins ago | 0.01996 ETH | ||||
21611751 | 16 mins ago | 0.00004 ETH | ||||
21611731 | 21 mins ago | 0.00358831 ETH | ||||
21611731 | 21 mins ago | 0.00001803 ETH | ||||
21611729 | 21 mins ago | 0.041916 ETH | ||||
21611729 | 21 mins ago | 0.000084 ETH | ||||
21611724 | 22 mins ago | 0.00101255 ETH | ||||
21611724 | 22 mins ago | 0.20149841 ETH | ||||
21611724 | 22 mins ago | 0.20251096 ETH | ||||
21611723 | 22 mins ago | 0.002985 ETH | ||||
21611723 | 22 mins ago | 0.000015 ETH | ||||
21611716 | 24 mins ago | 0.002985 ETH | ||||
21611716 | 24 mins ago | 0.000015 ETH | ||||
21611712 | 24 mins ago | 0.0398 ETH | ||||
21611712 | 24 mins ago | 0.0002 ETH | ||||
21611703 | 26 mins ago | 0.00424923 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Diamond
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
Yes with 200 runs
Other Settings:
shanghai EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.23;import {LibDiamond} from "./Libraries/LibDiamond.sol";import {IDiamondCut} from "./Interfaces/IDiamondCut.sol";import {LibUtil} from "./Libraries/LibUtil.sol";contract Diamond {constructor(address _contractOwner, address _diamondCutFacet) payable {LibDiamond.setContractOwner(_contractOwner);// Add the diamondCut external function from the diamondCutFacetIDiamondCut.FacetCut[] memory cut = new IDiamondCut.FacetCut[](1);bytes4[] memory functionSelectors = new bytes4[](1);functionSelectors[0] = IDiamondCut.diamondCut.selector;cut[0] = IDiamondCut.FacetCut({facetAddress: _diamondCutFacet,action: IDiamondCut.FacetCutAction.Add,functionSelectors: functionSelectors});LibDiamond.diamondCut(cut, address(0), "");}// Find facet for function that is called and execute the// function if a facet is found and return any value.// solhint-disable-next-line no-complex-fallback
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.23;import {IDiamondCut} from "../Interfaces/IDiamondCut.sol";import {LibUtil} from "../Libraries/LibUtil.sol";import {OnlyContractOwner} from "../Errors/GenericErrors.sol";/// Implementation of EIP-2535 Diamond Standard/// https://eips.ethereum.org/EIPS/eip-2535library LibDiamond {bytes32 internal constant DIAMOND_STORAGE_POSITION = keccak256("com.binance.w3w.diamond.storage");// Diamond specific errorserror IncorrectFacetCutAction();error NoSelectorsInFace();error FunctionAlreadyExists();error FacetAddressIsZero();error FacetAddressIsNotZero();error FacetContainsNoCode();error FunctionDoesNotExist();error FunctionIsImmutable();error InitZeroButCalldataNotEmpty();error CalldataEmptyButInitNotZero();error InitReverted();// ----------------
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.23;interface IDiamondCut {// Add=0, Replace=1, Remove=2enum FacetCutAction {Add,Replace,Remove}struct FacetCut {address facetAddress;FacetCutAction action;bytes4[] functionSelectors;}/// @notice Add/replace/remove any number of functions and optionally execute/// a function with delegatecall/// @param _diamondCut Contains the facet addresses and function selectors/// @param _init The address of the contract or facet to execute _calldata/// @param _calldata A function call, including function selector and arguments/// _calldata is executed with delegatecall on _initfunction diamondCut(FacetCut[] calldata _diamondCut, address _init, bytes calldata _calldata) external;event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata);
12345678910111213141516171819202122// SPDX-License-Identifier: MITpragma solidity 0.8.23;import "./LibBytes.sol";library LibUtil {using LibBytes for bytes;function getRevertMsg(bytes memory _res) internal pure returns (string memory) {// If the _res length is less than 68, then the transaction failed silently (without a revert message)if (_res.length < 68) return "Transaction reverted silently";bytes memory revertData = _res.slice(4, _res.length - 4); // Remove the selector which is the first 4 bytesreturn abi.decode(revertData, (string)); // All that remains is the revert string}/// @notice Determines whether the given address is the zero address/// @param addr The address to verify/// @return Boolean indicating if the address is the zero addressfunction isZeroAddress(address addr) internal pure returns (bool) {return addr == address(0);}}
1234// SPDX-License-Identifier: MITpragma solidity 0.8.23;error OnlyContractOwner();
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.23;library LibBytes {// solhint-disable no-inline-assembly// LibBytes specific errorserror SliceOverflow();error SliceOutOfBounds();error AddressOutOfBounds();bytes16 private constant _SYMBOLS = "0123456789abcdef";// -------------------------function slice(bytes memory _bytes, uint256 _start, uint256 _length) internal pure returns (bytes memory) {unchecked {if (_length + 31 < _length) revert SliceOverflow();if (_bytes.length < _start + _length) revert SliceOutOfBounds();if (_start + _length < _start) revert SliceOverflow();}bytes memory tempBytes;assembly {switch iszero(_length)
1234567891011121314151617181920212223242526{"remappings": ["forge-std/=lib/forge-std/src/","@1inch/solidity-utils/contracts/=lib/solidity-utils/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@1inch/limit-order-protocol-contract/contracts/=lib/limit-order-protocol/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","limit-order-protocol/=lib/limit-order-protocol/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/","solidity-utils/=lib/solidity-utils/contracts/"],"optimizer": {"enabled": true,"runs": 200},"metadata": {"useLiteralContent": false,"bytecodeHash": "ipfs","appendCBOR": true},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode",
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_contractOwner","type":"address"},{"internalType":"address","name":"_diamondCutFacet","type":"address"}],"stateMutability":"payable","type":"constructor"},{"inputs":[],"name":"CalldataEmptyButInitNotZero","type":"error"},{"inputs":[],"name":"FacetAddressIsNotZero","type":"error"},{"inputs":[],"name":"FacetAddressIsZero","type":"error"},{"inputs":[],"name":"FacetContainsNoCode","type":"error"},{"inputs":[],"name":"FunctionAlreadyExists","type":"error"},{"inputs":[],"name":"FunctionDoesNotExist","type":"error"},{"inputs":[],"name":"FunctionIsImmutable","type":"error"},{"inputs":[],"name":"IncorrectFacetCutAction","type":"error"},{"inputs":[],"name":"InitReverted","type":"error"},{"inputs":[],"name":"InitZeroButCalldataNotEmpty","type":"error"},{"inputs":[],"name":"NoSelectorsInFace","type":"error"},{"anonymous":false,"inputs":[{"components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum IDiamondCut.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"indexed":false,"internalType":"struct IDiamondCut.FacetCut[]","name":"_diamondCut","type":"tuple[]"},{"indexed":false,"internalType":"address","name":"_init","type":"address"},{"indexed":false,"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"DiamondCut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806001600160401b03601f610b5938819003918201601f1916840191838311858410176105b75780859260409485528339810103126105f15761004e602061004784610633565b9301610633565b7f5e12654f390e4153c4f63b3dfcc122cf7876a5cdfb496dccf7284c10517a35c980546001600160a01b039485166001600160a01b03198216811790925591939091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a36100bd610614565b91600183525f5b602081106105cb57506100d5610614565b60018152602036818301376307e4c70760e21b6100f182610647565b526100fa6105f5565b6001600160a01b0390921682525f6020830152604082015261011b83610647565b5261012582610647565b506040519060208201908111828210176105b7576040525f808252825b805182101561045c5760206101578383610668565b5101516003811015610448578061028f57506001600160a01b0361017b8383610668565b515116604061018a8484610668565b51015180511561027d57811561026b576001600160a01b0382165f9081525f80516020610b3983398151915260205260409020546001600160601b039390841690811561025d575b5f915b8351831015610249576001600160e01b03196101f18486610668565b51165f8181525f80516020610af983398151915260205260409020549091906001600160a01b03166102375760018161022d888a948496610994565b01169201916101d5565b60405163a023275d60e01b8152600490fd5b50959492505050600191505b019091610142565b6102668461091b565b6101d2565b604051636347641d60e11b8152600490fd5b6040516307bc559560e41b8152600490fd5b6001810361038f57506001600160a01b036102aa8383610668565b5151169260406102ba8484610668565b51015180511561027d57841561026b576001600160a01b0385165f9081525f80516020610b3983398151915260205260409020546001600160601b0393908416908115610381575b5f915b8351831015610372576001600160e01b03196103218486610668565b51165f8181525f80516020610af983398151915260205260409020546001600160a01b03169089821461023757826103688b6001958461036388968e986106c0565b610994565b0116920191610305565b50955050509160019150610255565b61038a8761091b565b610302565b600203610436576001600160a01b036103a88383610668565b5151169060406103b88483610668565b5101519182511561027d57610424575f5b8251811015610418576001906104126001600160e01b03196103eb8387610668565b5116805f525f80516020610af9833981519152602052838060a01b0360405f2054166106c0565b016103c9565b50929160019150610255565b604051633ce4ef9160e11b8152600490fd5b60405163e548e6b560e01b8152600490fd5b634e487b7160e01b5f52602160045260245ffd5b905060405190606082016060835281518091526080830190602060808260051b8601019301915f905b82821061052157505050505f6020830152818103604083015282518082525f5b81811061050c57508282825f602080957f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6739897010152601f801991011601030190a1516104fa5760405160b49081610a458239f35b6040516304c08b4360e51b8152600490fd5b806020809287010151828286010152016104a5565b858503607f19018152835180516001600160a01b03168652602081015194959394929391929060038210156104485760409160208401520151906060604082015260206080835192836060820152019201905f905b80821061059457505050602080600192960192019201909291610485565b82516001600160e01b031916845260209384019390920191600190910190610576565b634e487b7160e01b5f52604160045260245ffd5b6020906105d66105f5565b5f81525f8382015260606040820152828287010152016100c4565b5f80fd5b60405190606082016001600160401b038111838210176105b757604052565b60408051919082016001600160401b038111838210176105b757604052565b51906001600160a01b03821682036105f157565b8051156106545760200190565b634e487b7160e01b5f52603260045260245ffd5b80518210156106545760209160051b010190565b9190918054831015610654575f52601c60205f208360031c019260021b1690565b5f80516020610b198339815191528054821015610654575f5260205f2001905f90565b6001600160a01b03908116918215610909573083146108f75763ffffffff60e01b809116805f525f80516020610af983398151915293602090858252604093845f205460a01c96825f525f80516020610b3983398151915294858552865f2054925f19998a850194851161085857889187898888850361086c575b9450505050505f52858552865f20805480156107f4578a019061075e828261067c565b63ffffffff82549160031b1b19169055555f5283525f8581205515610786575b505050505050565b5f80516020610b1983398151915294855487810190811161085857825f52848452816001875f20015491808303610808575b50505085549586156107f4575f9760019701916107d48361069d565b909182549160031b1b1916905555855252822001555f808080808061077e565b634e487b7160e01b5f52603160045260245ffd5b6108119061069d565b90549060031b1c16610844816108268461069d565b90919060018060a01b038084549260031b9316831b921b1916179055565b5f528484526001865f2001555f81816107b8565b634e487b7160e01b5f52601160045260245ffd5b6108a1856108ec976108be94845f5280875261088a8d835f2061067c565b90549060031b1c60e01b9687955f52525f2061067c565b90919063ffffffff83549160031b9260e01c831b921b1916179055565b165f90815284885289902080546001600160a01b031660a09290921b6001600160a01b031916919091179055565b865f8087898861073b565b60405163c3c5ec3760e01b8152600490fd5b604051631535ac5f60e31b8152600490fd5b803b15610983575f80516020610b1983398151915280546001600160a01b0383165f9081525f80516020610b39833981519152602052604090206001018190559190680100000000000000008310156105b757826108269160016109819501905561069d565b565b6040516271a80360e91b8152600490fd5b6001600160e01b031981165f8181525f80516020610af98339815191526020819052604090912080546001600160a01b031660a09590951b6001600160a01b0319169490941790935590926001600160a01b03165f8181525f80516020610b39833981519152602052604090208054919490680100000000000000008310156105b757826108a1916001610a2a9501815561067c565b5f5260205260405f209060018060a01b031982541617905556fe60806040523615607c575f80356001600160e01b03191681527f5e12654f390e4153c4f63b3dfcc122cf7876a5cdfb496dccf7284c10517a35c560205260409020546001600160a01b03168015606b575f8091368280378136915af43d5f803e156067573d5ff35b3d5ffd5b631535ac5f60e31b60805260046080fd5b00fea2646970667358221220930a620c99a7318ca205c3fd7de61f4589313a6f74e2a079ea59f03d58767f3464736f6c634300081700335e12654f390e4153c4f63b3dfcc122cf7876a5cdfb496dccf7284c10517a35c55e12654f390e4153c4f63b3dfcc122cf7876a5cdfb496dccf7284c10517a35c75e12654f390e4153c4f63b3dfcc122cf7876a5cdfb496dccf7284c10517a35c6000000000000000000000000ee7b429ea01f76102f053213463d4e95d5d24ae800000000000000000000000057fe1cbb349c2bf575ac201c36a61a9d821e5e95
Deployed Bytecode
0x60806040523615607c575f80356001600160e01b03191681527f5e12654f390e4153c4f63b3dfcc122cf7876a5cdfb496dccf7284c10517a35c560205260409020546001600160a01b03168015606b575f8091368280378136915af43d5f803e156067573d5ff35b3d5ffd5b631535ac5f60e31b60805260046080fd5b00fea2646970667358221220930a620c99a7318ca205c3fd7de61f4589313a6f74e2a079ea59f03d58767f3464736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ee7b429ea01f76102f053213463d4e95d5d24ae800000000000000000000000057fe1cbb349c2bf575ac201c36a61a9d821e5e95
-----Decoded View---------------
Arg [0] : _contractOwner (address): 0xEe7b429Ea01F76102f053213463D4e95D5D24AE8
Arg [1] : _diamondCutFacet (address): 0x57FE1CBB349C2bf575Ac201C36A61A9d821e5e95
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000ee7b429ea01f76102f053213463d4e95d5d24ae8
Arg [1] : 00000000000000000000000057fe1cbb349c2bf575ac201c36a61a9d821e5e95
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.