ETH Price: $3,110.57 (+1.27%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Borrow From Long240007112025-12-13 2:28:4713 hrs ago1765592927IN
0xB7533660...554be067E
0 ETH0.000020980.03504782
Repay To Long239985232025-12-12 19:07:5920 hrs ago1765566479IN
0xB7533660...554be067E
0 ETH0.000012290.02536225
Repay To Long239984532025-12-12 18:53:5921 hrs ago1765565639IN
0xB7533660...554be067E
0 ETH0.000011190.02257581
Borrow From Long239954912025-12-12 8:54:3531 hrs ago1765529675IN
0xB7533660...554be067E
0.15 ETH0.000073770.09951241
Borrow From Long239910172025-12-11 17:46:3546 hrs ago1765475195IN
0xB7533660...554be067E
0 ETH0.000914871.52229069
Borrow From Long239857292025-12-10 23:59:472 days ago1765411187IN
0xB7533660...554be067E
0 ETH0.000084020.14576056
Borrow From Long239848822025-12-10 21:08:352 days ago1765400915IN
0xB7533660...554be067E
0 ETH0.001157282.19459609
Borrow From Long239847732025-12-10 20:46:472 days ago1765399607IN
0xB7533660...554be067E
0 ETH0.001189242.15472222
Borrow From Long239844742025-12-10 19:46:232 days ago1765395983IN
0xB7533660...554be067E
0 ETH0.001188742.15423669
Borrow From Long239841872025-12-10 18:48:472 days ago1765392527IN
0xB7533660...554be067E
0 ETH0.000587391.16005042
Borrow From Long239833012025-12-10 15:47:593 days ago1765381679IN
0xB7533660...554be067E
0 ETH0.001203122.16450143
Borrow From Long239829542025-12-10 14:37:593 days ago1765377479IN
0xB7533660...554be067E
0 ETH0.000116710.15602061
Borrow From Long239807292025-12-10 7:07:593 days ago1765350479IN
0xB7533660...554be067E
0 ETH0.000170790.33471716
Borrow From Long239807062025-12-10 7:03:233 days ago1765350203IN
0xB7533660...554be067E
0.3 ETH0.000900381.17917686
Borrow From Long239681222025-12-08 12:35:595 days ago1765197359IN
0xB7533660...554be067E
0 ETH0.000189110.34203147
Borrow From Long239638262025-12-07 22:06:355 days ago1765145195IN
0xB7533660...554be067E
1 ETH0.000335910.5197
Borrow From Long239637332025-12-07 21:47:475 days ago1765144067IN
0xB7533660...554be067E
2.53 ETH0.000382990.51661965
Borrow From Long239636782025-12-07 21:36:475 days ago1765143407IN
0xB7533660...554be067E
0 ETH0.000211520.31152526
Borrow From Long239636142025-12-07 21:23:355 days ago1765142615IN
0xB7533660...554be067E
0 ETH0.000383570.55541637
Borrow From Long239549832025-12-06 16:21:476 days ago1765038107IN
0xB7533660...554be067E
1 ETH0.000018820.02625462
Borrow From Long239549782025-12-06 16:20:476 days ago1765038047IN
0xB7533660...554be067E
0 ETH0.000015570.02427844
Borrow From Long239535432025-12-06 11:28:357 days ago1765020515IN
0xB7533660...554be067E
0 ETH0.000011260.02589352
Borrow From Long239529832025-12-06 9:36:117 days ago1765013771IN
0xB7533660...554be067E
0 ETH0.000013270.02301404
Borrow From Long239501832025-12-06 0:08:597 days ago1764979739IN
0xB7533660...554be067E
0 ETH0.000491151.0216665
Repay To Long239489182025-12-05 19:49:597 days ago1764964199IN
0xB7533660...554be067E
0 ETH0.000436581.00211641
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Convert239954912025-12-12 8:54:3531 hrs ago1765529675
0xB7533660...554be067E
0.15 ETH
Convert239807062025-12-10 7:03:233 days ago1765350203
0xB7533660...554be067E
0.3 ETH
Convert239638262025-12-07 22:06:355 days ago1765145195
0xB7533660...554be067E
1 ETH
Convert239637332025-12-07 21:47:475 days ago1765144067
0xB7533660...554be067E
2.53 ETH
Convert239549832025-12-06 16:21:476 days ago1765038107
0xB7533660...554be067E
1 ETH
Convert239336442025-12-03 14:54:4710 days ago1764773687
0xB7533660...554be067E
0.001 ETH
Convert239316922025-12-03 8:21:3510 days ago1764750095
0xB7533660...554be067E
0.115 ETH
Convert239310162025-12-03 6:05:3510 days ago1764741935
0xB7533660...554be067E
1.05 ETH
Transfer239300832025-12-03 2:55:5910 days ago1764730559
0xB7533660...554be067E
0.00258708 ETH
Transfer239300832025-12-03 2:55:5910 days ago1764730559
0xB7533660...554be067E
0.00258708 ETH
Convert239289492025-12-02 23:06:5910 days ago1764716819
0xB7533660...554be067E
10 ETH
Convert239179682025-12-01 10:14:1112 days ago1764584051
0xB7533660...554be067E
0.06 ETH
Convert239179432025-12-01 10:09:1112 days ago1764583751
0xB7533660...554be067E
0.0375052 ETH
Convert239110372025-11-30 10:59:4713 days ago1764500387
0xB7533660...554be067E
0.4 ETH
Convert239109602025-11-30 10:43:5913 days ago1764499439
0xB7533660...554be067E
0.5 ETH
Convert238892572025-11-27 9:47:5916 days ago1764236879
0xB7533660...554be067E
7 ETH
Convert238722302025-11-25 0:21:5918 days ago1764030119
0xB7533660...554be067E
16.3 ETH
Convert238547292025-11-22 13:17:3521 days ago1763817455
0xB7533660...554be067E
2 ETH
Convert238497952025-11-21 20:37:2321 days ago1763757443
0xB7533660...554be067E
2.2 ETH
Convert238473832025-11-21 12:27:4722 days ago1763728067
0xB7533660...554be067E
1.35 ETH
Convert238473712025-11-21 12:25:2322 days ago1763727923
0xB7533660...554be067E
1.4 ETH
Convert238472902025-11-21 12:09:1122 days ago1763726951
0xB7533660...554be067E
0.9 ETH
Convert238472832025-11-21 12:07:4722 days ago1763726867
0xB7533660...554be067E
1.11 ETH
Convert238461742025-11-21 8:22:5922 days ago1763713379
0xB7533660...554be067E
2 ETH
Convert238451002025-11-21 4:47:3522 days ago1763700455
0xB7533660...554be067E
47.09144 ETH
View All Internal Transactions
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Diamond

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
cancun EvmVersion
File 1 of 7 : Diamond.sol
// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.0;

/******************************************************************************\
* Author: Nick Mudge <[email protected]>, Twitter/Github: @mudgen
* EIP-2535 Diamonds
*
* Implementation of a diamond.
/******************************************************************************/

import { LibDiamond } from "./libraries/LibDiamond.sol";
import { IDiamondCut } from "./interfaces/IDiamondCut.sol";
import { IDiamondLoupe } from "./interfaces/IDiamondLoupe.sol";
import { IERC173 } from "./interfaces/IERC173.sol";
import { IERC165 } from "./interfaces/IERC165.sol";

// solhint-disable no-complex-fallback
// solhint-disable no-inline-assembly
// solhint-disable no-empty-blocks

// When no function exists for function called
error FunctionNotFound(bytes4 _functionSelector);

// This is used in diamond constructor
// more arguments are added to this struct
// this avoids stack too deep errors
struct DiamondArgs {
  address owner;
  address init;
  bytes initCalldata;
}

contract Diamond {
  constructor(IDiamondCut.FacetCut[] memory _diamondCut, DiamondArgs memory _args) payable {
    LibDiamond.setContractOwner(_args.owner);
    LibDiamond.diamondCut(_diamondCut, _args.init, _args.initCalldata);

    // Code can be added here to perform actions and set state variables.
  }

  // Find facet for function that is called and execute the
  // function if a facet is found and return any value.
  fallback() external payable {
    LibDiamond.DiamondStorage storage ds;
    bytes32 position = LibDiamond.DIAMOND_STORAGE_POSITION;
    // get diamond storage
    assembly {
      ds.slot := position
    }
    // get facet from function selector
    address facet = ds.facetAddressAndSelectorPosition[msg.sig].facetAddress;
    if (facet == address(0)) {
      revert FunctionNotFound(msg.sig);
    }
    // Execute external function from facet using delegatecall and return any value.
    assembly {
      // copy function selector and any arguments
      calldatacopy(0, 0, calldatasize())
      // execute function call using the facet
      let result := delegatecall(gas(), facet, 0, calldatasize(), 0, 0)
      // get any return value
      returndatacopy(0, 0, returndatasize())
      // return any return value or error back to the caller
      switch result
      case 0 {
        revert(0, returndatasize())
      }
      default {
        return(0, returndatasize())
      }
    }
  }

  receive() external payable {}
}

File 2 of 7 : IDiamond.sol
// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.0;

/******************************************************************************\
* Author: Nick Mudge <[email protected]>, Twitter/Github: @mudgen
* EIP-2535 Diamonds
/******************************************************************************/

interface IDiamond {
  enum FacetCutAction {
    Add,
    Replace,
    Remove
  }
  // Add=0, Replace=1, Remove=2

  struct FacetCut {
    address facetAddress;
    FacetCutAction action;
    bytes4[] functionSelectors;
  }

  event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata);
}

// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.0;

/******************************************************************************\
* Author: Nick Mudge <[email protected]>, Twitter/Github: @mudgen
* EIP-2535 Diamonds
/******************************************************************************/

import { IDiamond } from "./IDiamond.sol";

interface IDiamondCut is IDiamond {
  /// @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 _init
  function diamondCut(
    FacetCut[] calldata _diamondCut,
    address _init,
    bytes calldata _calldata
  ) external;
}

// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.0;

/******************************************************************************\
* Author: Nick Mudge <[email protected]>, Twitter/Github: @mudgen
* EIP-2535 Diamonds
/******************************************************************************/

// A loupe is a small magnifying glass used to look at diamonds.
// These functions look at diamonds
interface IDiamondLoupe {
  /// These functions are expected to be called frequently
  /// by tools.

  struct Facet {
    address facetAddress;
    bytes4[] functionSelectors;
  }

  /// @notice Gets all facet addresses and their four byte function selectors.
  /// @return facets_ Facet
  function facets() external view returns (Facet[] memory facets_);

  /// @notice Gets all the function selectors supported by a specific facet.
  /// @param _facet The facet address.
  /// @return facetFunctionSelectors_
  function facetFunctionSelectors(address _facet) external view returns (bytes4[] memory facetFunctionSelectors_);

  /// @notice Get all the facet addresses used by a diamond.
  /// @return facetAddresses_
  function facetAddresses() external view returns (address[] memory facetAddresses_);

  /// @notice Gets the facet that supports the given selector.
  /// @dev If facet is not found return address(0).
  /// @param _functionSelector The function selector.
  /// @return facetAddress_ The facet address.
  function facetAddress(bytes4 _functionSelector) external view returns (address facetAddress_);
}

// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.0;

interface IERC165 {
  /// @notice Query if a contract implements an interface
  /// @param interfaceId The interface identifier, as specified in ERC-165
  /// @dev Interface identification is specified in ERC-165. This function
  ///  uses less than 30,000 gas.
  /// @return `true` if the contract implements `interfaceID` and
  ///  `interfaceID` is not 0xffffffff, `false` otherwise
  function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.0;

/// @title ERC-173 Contract Ownership Standard
///  Note: the ERC-165 identifier for this interface is 0x7f5828d0
/* is ERC165 */
interface IERC173 {
  /// @dev This emits when ownership of a contract changes.
  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  /// @notice Get the address of the owner
  /// @return owner_ The address of the owner.
  function owner() external view returns (address owner_);

  /// @notice Set the address of the new owner of the contract
  /// @dev Set _newOwner to address(0) to renounce any ownership.
  /// @param _newOwner The address of the new owner of the contract
  function transferOwnership(address _newOwner) external;
}

// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.0;

/******************************************************************************\
* Author: Nick Mudge <[email protected]>, Twitter/Github: @mudgen
* EIP-2535 Diamonds
/******************************************************************************/
import { IDiamond } from "../interfaces/IDiamond.sol";
import { IDiamondCut } from "../interfaces/IDiamondCut.sol";

// solhint-disable avoid-low-level-calls
// solhint-disable no-inline-assembly

// Remember to add the loupe functions from DiamondLoupeFacet to the diamond.
// The loupe functions are required by the EIP2535 Diamonds standard

error NoSelectorsGivenToAdd();
error NotContractOwner(address _user, address _contractOwner);
error NoSelectorsProvidedForFacetForCut(address _facetAddress);
error CannotAddSelectorsToZeroAddress(bytes4[] _selectors);
error NoBytecodeAtAddress(address _contractAddress, string _message);
error IncorrectFacetCutAction(uint8 _action);
error CannotAddFunctionToDiamondThatAlreadyExists(bytes4 _selector);
error CannotReplaceFunctionsFromFacetWithZeroAddress(bytes4[] _selectors);
error CannotReplaceImmutableFunction(bytes4 _selector);
error CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet(bytes4 _selector);
error CannotReplaceFunctionThatDoesNotExists(bytes4 _selector);
error RemoveFacetAddressMustBeZeroAddress(address _facetAddress);
error CannotRemoveFunctionThatDoesNotExist(bytes4 _selector);
error CannotRemoveImmutableFunction(bytes4 _selector);
error InitializationFunctionReverted(address _initializationContractAddress, bytes _calldata);

library LibDiamond {
  bytes32 internal constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.diamond.storage");

  struct FacetAddressAndSelectorPosition {
    address facetAddress;
    uint16 selectorPosition;
  }

  struct DiamondStorage {
    // function selector => facet address and selector position in selectors array
    mapping(bytes4 => FacetAddressAndSelectorPosition) facetAddressAndSelectorPosition;
    bytes4[] selectors;
    mapping(bytes4 => bool) supportedInterfaces;
    // owner of the contract
    address contractOwner;
  }

  function diamondStorage() internal pure returns (DiamondStorage storage ds) {
    bytes32 position = DIAMOND_STORAGE_POSITION;
    assembly {
      ds.slot := position
    }
  }

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  function setContractOwner(address _newOwner) internal {
    DiamondStorage storage ds = diamondStorage();
    address previousOwner = ds.contractOwner;
    ds.contractOwner = _newOwner;
    emit OwnershipTransferred(previousOwner, _newOwner);
  }

  function contractOwner() internal view returns (address contractOwner_) {
    contractOwner_ = diamondStorage().contractOwner;
  }

  function enforceIsContractOwner() internal view {
    if (msg.sender != diamondStorage().contractOwner) {
      revert NotContractOwner(msg.sender, diamondStorage().contractOwner);
    }
  }

  event DiamondCut(IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata);

  // Internal function version of diamondCut
  function diamondCut(
    IDiamondCut.FacetCut[] memory _diamondCut,
    address _init,
    bytes memory _calldata
  ) internal {
    for (uint256 facetIndex; facetIndex < _diamondCut.length; facetIndex++) {
      bytes4[] memory functionSelectors = _diamondCut[facetIndex].functionSelectors;
      address facetAddress = _diamondCut[facetIndex].facetAddress;
      if (functionSelectors.length == 0) {
        revert NoSelectorsProvidedForFacetForCut(facetAddress);
      }
      IDiamondCut.FacetCutAction action = _diamondCut[facetIndex].action;
      if (action == IDiamond.FacetCutAction.Add) {
        addFunctions(facetAddress, functionSelectors);
      } else if (action == IDiamond.FacetCutAction.Replace) {
        replaceFunctions(facetAddress, functionSelectors);
      } else if (action == IDiamond.FacetCutAction.Remove) {
        removeFunctions(facetAddress, functionSelectors);
      } else {
        revert IncorrectFacetCutAction(uint8(action));
      }
    }
    emit DiamondCut(_diamondCut, _init, _calldata);
    initializeDiamondCut(_init, _calldata);
  }

  function addFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
    if (_facetAddress == address(0)) {
      revert CannotAddSelectorsToZeroAddress(_functionSelectors);
    }
    DiamondStorage storage ds = diamondStorage();
    uint16 selectorCount = uint16(ds.selectors.length);
    enforceHasContractCode(_facetAddress, "LibDiamondCut: Add facet has no code");
    for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
      bytes4 selector = _functionSelectors[selectorIndex];
      address oldFacetAddress = ds.facetAddressAndSelectorPosition[selector].facetAddress;
      if (oldFacetAddress != address(0)) {
        revert CannotAddFunctionToDiamondThatAlreadyExists(selector);
      }
      ds.facetAddressAndSelectorPosition[selector] = FacetAddressAndSelectorPosition(_facetAddress, selectorCount);
      ds.selectors.push(selector);
      selectorCount++;
    }
  }

  function replaceFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
    DiamondStorage storage ds = diamondStorage();
    if (_facetAddress == address(0)) {
      revert CannotReplaceFunctionsFromFacetWithZeroAddress(_functionSelectors);
    }
    enforceHasContractCode(_facetAddress, "LibDiamondCut: Replace facet has no code");
    for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
      bytes4 selector = _functionSelectors[selectorIndex];
      address oldFacetAddress = ds.facetAddressAndSelectorPosition[selector].facetAddress;
      // can't replace immutable functions -- functions defined directly in the diamond in this case
      if (oldFacetAddress == address(this)) {
        revert CannotReplaceImmutableFunction(selector);
      }
      if (oldFacetAddress == _facetAddress) {
        revert CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet(selector);
      }
      if (oldFacetAddress == address(0)) {
        revert CannotReplaceFunctionThatDoesNotExists(selector);
      }
      // replace old facet address
      ds.facetAddressAndSelectorPosition[selector].facetAddress = _facetAddress;
    }
  }

  function removeFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
    DiamondStorage storage ds = diamondStorage();
    uint256 selectorCount = ds.selectors.length;
    if (_facetAddress != address(0)) {
      revert RemoveFacetAddressMustBeZeroAddress(_facetAddress);
    }
    for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
      bytes4 selector = _functionSelectors[selectorIndex];
      FacetAddressAndSelectorPosition memory oldFacetAddressAndSelectorPosition = ds.facetAddressAndSelectorPosition[
        selector
      ];
      if (oldFacetAddressAndSelectorPosition.facetAddress == address(0)) {
        revert CannotRemoveFunctionThatDoesNotExist(selector);
      }

      // can't remove immutable functions -- functions defined directly in the diamond
      if (oldFacetAddressAndSelectorPosition.facetAddress == address(this)) {
        revert CannotRemoveImmutableFunction(selector);
      }
      // replace selector with last selector
      selectorCount--;
      if (oldFacetAddressAndSelectorPosition.selectorPosition != selectorCount) {
        bytes4 lastSelector = ds.selectors[selectorCount];
        ds.selectors[oldFacetAddressAndSelectorPosition.selectorPosition] = lastSelector;
        ds.facetAddressAndSelectorPosition[lastSelector].selectorPosition = oldFacetAddressAndSelectorPosition
          .selectorPosition;
      }
      // delete last selector
      ds.selectors.pop();
      delete ds.facetAddressAndSelectorPosition[selector];
    }
  }

  function initializeDiamondCut(address _init, bytes memory _calldata) internal {
    if (_init == address(0)) {
      return;
    }
    enforceHasContractCode(_init, "LibDiamondCut: _init address has no code");
    (bool success, bytes memory error) = _init.delegatecall(_calldata);
    if (!success) {
      if (error.length > 0) {
        // bubble up error
        /// @solidity memory-safe-assembly
        assembly {
          let returndata_size := mload(error)
          revert(add(32, error), returndata_size)
        }
      } else {
        revert InitializationFunctionReverted(_init, _calldata);
      }
    }
  }

  function enforceHasContractCode(address _contract, string memory _errorMessage) internal view {
    uint256 contractSize;
    assembly {
      contractSize := extcodesize(_contract)
    }
    if (contractSize == 0) {
      revert NoBytecodeAtAddress(_contract, _errorMessage);
    }
  }
}

Settings
{
  "optimizer": {
    "runs": 200,
    "enabled": true
  },
  "evmVersion": "cancun",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum IDiamond.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"internalType":"struct IDiamond.FacetCut[]","name":"_diamondCut","type":"tuple[]"},{"components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"init","type":"address"},{"internalType":"bytes","name":"initCalldata","type":"bytes"}],"internalType":"struct DiamondArgs","name":"_args","type":"tuple"}],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotAddFunctionToDiamondThatAlreadyExists","type":"error"},{"inputs":[{"internalType":"bytes4[]","name":"_selectors","type":"bytes4[]"}],"name":"CannotAddSelectorsToZeroAddress","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotRemoveFunctionThatDoesNotExist","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotRemoveImmutableFunction","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotReplaceFunctionThatDoesNotExists","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet","type":"error"},{"inputs":[{"internalType":"bytes4[]","name":"_selectors","type":"bytes4[]"}],"name":"CannotReplaceFunctionsFromFacetWithZeroAddress","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotReplaceImmutableFunction","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_functionSelector","type":"bytes4"}],"name":"FunctionNotFound","type":"error"},{"inputs":[{"internalType":"uint8","name":"_action","type":"uint8"}],"name":"IncorrectFacetCutAction","type":"error"},{"inputs":[{"internalType":"address","name":"_initializationContractAddress","type":"address"},{"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"InitializationFunctionReverted","type":"error"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"string","name":"_message","type":"string"}],"name":"NoBytecodeAtAddress","type":"error"},{"inputs":[{"internalType":"address","name":"_facetAddress","type":"address"}],"name":"NoSelectorsProvidedForFacetForCut","type":"error"},{"inputs":[{"internalType":"address","name":"_facetAddress","type":"address"}],"name":"RemoveFacetAddressMustBeZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum IDiamond.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"indexed":false,"internalType":"struct IDiamond.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"}]

6080604052604051610fe9380380610fe983398101604081905261002291610a60565b805161002d9061004d565b61004682826020015183604001516100ce60201b60201c565b5050610e58565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f80546001600160a01b031981166001600160a01b038481169182179093556040515f80516020610f35833981519152939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b5f5b8351811015610226575f8482815181106100ec576100ec610c0e565b60200260200101516040015190505f85838151811061010d5761010d610c0e565b60200260200101515f0151905081515f0361014b5760405163e767f91f60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b5f86848151811061015e5761015e610c0e565b60200260200101516020015190505f600281111561017e5761017e610c22565b81600281111561019057610190610c22565b036101a45761019f8284610271565b61021b565b60018160028111156101b8576101b8610c22565b036101c75761019f8284610417565b60028160028111156101db576101db610c22565b036101ea5761019f828461059b565b8060028111156101fc576101fc610c22565b604051633ff4d20f60e11b815260ff9091166004820152602401610142565b5050506001016100d0565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161025a93929190610c64565b60405180910390a161026c828261080f565b505050565b6001600160a01b03821661029a57806040516302b8da0760e21b81526004016101429190610d6e565b5f80516020610fa183398151915254604080516060810190915260248082525f80516020610f3583398151915292916102dd91869190610f5560208301396108d1565b5f5b8351811015610410575f8482815181106102fb576102fb610c0e565b6020908102919091018101516001600160e01b031981165f908152918690526040909120549091506001600160a01b031680156103575760405163ebbf5d0760e01b81526001600160e01b031983166004820152602401610142565b6040805180820182526001600160a01b03808a16825261ffff80881660208085019182526001600160e01b031988165f9081528b8252958620945185549251909316600160a01b026001600160b01b0319909216929093169190911717909155600180880180549182018155835291206008820401805460e085901c60046007909416939093026101000a92830263ffffffff9093021916919091179055836103ff81610dce565b945050600190920191506102df9050565b5050505050565b5f80516020610f358339815191526001600160a01b03831661044e578160405163cd98a96f60e01b81526004016101429190610d6e565b61047083604051806060016040528060288152602001610fc1602891396108d1565b5f5b8251811015610595575f83828151811061048e5761048e610c0e565b6020908102919091018101516001600160e01b031981165f908152918590526040909120549091506001600160a01b03163081036104eb57604051632901806d60e11b81526001600160e01b031983166004820152602401610142565b856001600160a01b0316816001600160a01b03160361052957604051631ac6ce8d60e11b81526001600160e01b031983166004820152602401610142565b6001600160a01b03811661055c57604051637479f93960e01b81526001600160e01b031983166004820152602401610142565b506001600160e01b0319165f90815260208390526040902080546001600160a01b0319166001600160a01b038616179055600101610472565b50505050565b5f80516020610fa1833981519152545f80516020610f35833981519152906001600160a01b038416156105ec5760405163d091bc8160e01b81526001600160a01b0385166004820152602401610142565b5f5b8351811015610410575f84828151811061060a5761060a610c0e565b6020908102919091018101516001600160e01b031981165f9081528683526040908190208151808301909252546001600160a01b038116808352600160a01b90910461ffff16938201939093529092509061068457604051637a08a22d60e01b81526001600160e01b031983166004820152602401610142565b8051306001600160a01b03909116036106bc57604051630df5fd6160e31b81526001600160e01b031983166004820152602401610142565b836106c681610dee565b94505083816020015161ffff16146107a0575f8560010185815481106106ee576106ee610c0e565b905f5260205f2090600891828204019190066004029054906101000a900460e01b90508086600101836020015161ffff168154811061072f5761072f610c0e565b5f91825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c92909202939093179055838201516001600160e01b03199390931681529087905260409020805461ffff60a01b1916600160a01b61ffff909316929092029190911790555b846001018054806107b3576107b3610e03565b5f828152602080822060085f1990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319909316815291859052506040902080546001600160b01b03191690556001016105ee565b6001600160a01b038216610821575050565b61084382604051806060016040528060288152602001610f79602891396108d1565b5f80836001600160a01b03168360405161085d9190610e17565b5f60405180830381855af49150503d805f8114610895576040519150601f19603f3d011682016040523d82523d5f602084013e61089a565b606091505b509150915081610595578051156108b45780518082602001fd5b838360405163192105d760e01b8152600401610142929190610e2d565b813b5f81900361026c57828260405163919834b960e01b8152600401610142929190610e2d565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b038111828210171561092e5761092e6108f8565b60405290565b604051601f8201601f191681016001600160401b038111828210171561095c5761095c6108f8565b604052919050565b5f6001600160401b0382111561097c5761097c6108f8565b5060051b60200190565b80516001600160a01b038116811461099c575f80fd5b919050565b5f606082840312156109b1575f80fd5b6109b961090c565b90506109c482610986565b81526109d260208301610986565b602082015260408201516001600160401b038111156109ef575f80fd5b8201601f810184136109ff575f80fd5b80516001600160401b03811115610a1857610a186108f8565b610a2b601f8201601f1916602001610934565b818152856020838501011115610a3f575f80fd5b8160208401602083015e5f6020838301015280604085015250505092915050565b5f8060408385031215610a71575f80fd5b82516001600160401b03811115610a86575f80fd5b8301601f81018513610a96575f80fd5b8051610aa9610aa482610964565b610934565b8082825260208201915060208360051b850101925087831115610aca575f80fd5b602084015b83811015610bd85780516001600160401b03811115610aec575f80fd5b85016060818b03601f19011215610b01575f80fd5b610b0961090c565b610b1560208301610986565b8152604082015160038110610b28575f80fd5b602082015260608201516001600160401b03811115610b45575f80fd5b6020818401019250508a601f830112610b5c575f80fd5b8151610b6a610aa482610964565b8082825260208201915060208360051b86010192508d831115610b8b575f80fd5b6020850194505b82851015610bc25784516001600160e01b031981168114610bb1575f80fd5b825260209485019490910190610b92565b6040840152505084525060209283019201610acf565b506020870151909550925050506001600160401b03811115610bf8575f80fd5b610c04858286016109a1565b9150509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f606082016060835280865180835260808501915060808160051b8601019250602088015f5b82811015610d3f57868503607f19018452815180516001600160a01b031686526020810151606087019060038110610cd057634e487b7160e01b5f52602160045260245ffd5b8060208901525060408201519150606060408801528082518083526080890191506020840193505f92505b80831015610d275783516001600160e01b03191682526020938401936001939093019290910190610cfb565b50965050506020938401939190910190600101610c8a565b5050506001600160a01b0386166020850152508281036040840152610d648185610c36565b9695505050505050565b602080825282518282018190525f918401906040840190835b81811015610daf5783516001600160e01b031916835260209384019390920191600101610d87565b509095945050505050565b634e487b7160e01b5f52601160045260245ffd5b5f61ffff821661ffff8103610de557610de5610dba565b60010192915050565b5f81610dfc57610dfc610dba565b505f190190565b634e487b7160e01b5f52603160045260245ffd5b5f82518060208501845e5f920191825250919050565b6001600160a01b03831681526040602082018190525f90610e5090830184610c36565b949350505050565b60d180610e645f395ff3fe608060405236600a57005b5f80356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602081905260409091205481906001600160a01b031680607e57604051630a82dd7360e31b81526001600160e01b03195f3516600482015260240160405180910390fd5b365f80375f80365f845af43d5f803e8080156097573d5ff35b3d5ffdfea26469706673582212200b5b4fbb3e250a7fffd7ce0198fc56ee1e95667f5e4cf997118e0d524693b40664736f6c634300081a0033c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f6465c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d4c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f6465000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005e0000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000221ffb180ad01213ff882ab7de9c75e23f9efa630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c000000000000000000000000000000000000000000000000000000000000000000000000000000006793de5e5a329be514b51184db13639dc7ccf8dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005cdffacc60000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000adfca15e000000000000000000000000000000000000000000000000000000007a0ed6270000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000000000000000000000000000014f1cbae37f765614655967afc51b544b81437490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000028da5cb5b00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000000000000000000000000000447d902da96a22727d0b53f215d0c387fe1ae11400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000861fac5c800000000000000000000000000000000000000000000000000000000ae52c569000000000000000000000000000000000000000000000000000000009a06be0800000000000000000000000000000000000000000000000000000000409a1e8a000000000000000000000000000000000000000000000000000000009b372b2b00000000000000000000000000000000000000000000000000000000d5d7ff3c00000000000000000000000000000000000000000000000000000000dfa7f1da000000000000000000000000000000000000000000000000000000000d392cd900000000000000000000000000000000000000000000000000000000000000000000000000000000155c0c3cde438a3d10bd38f3257cd8d17b8b3cff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003216d5108000000000000000000000000000000000000000000000000000000000d8aea8200000000000000000000000000000000000000000000000000000000bf4e593600000000000000000000000000000000000000000000000000000000000000000000000000000000a1d0027ca4c0cb79f9403d06a29470abc7b0a468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405236600a57005b5f80356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602081905260409091205481906001600160a01b031680607e57604051630a82dd7360e31b81526001600160e01b03195f3516600482015260240160405180910390fd5b365f80375f80365f845af43d5f803e8080156097573d5ff35b3d5ffdfea26469706673582212200b5b4fbb3e250a7fffd7ce0198fc56ee1e95667f5e4cf997118e0d524693b40664736f6c634300081a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005e0000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000221ffb180ad01213ff882ab7de9c75e23f9efa630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c000000000000000000000000000000000000000000000000000000000000000000000000000000006793de5e5a329be514b51184db13639dc7ccf8dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005cdffacc60000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000adfca15e000000000000000000000000000000000000000000000000000000007a0ed6270000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000000000000000000000000000014f1cbae37f765614655967afc51b544b81437490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000028da5cb5b00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000000000000000000000000000447d902da96a22727d0b53f215d0c387fe1ae11400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000861fac5c800000000000000000000000000000000000000000000000000000000ae52c569000000000000000000000000000000000000000000000000000000009a06be0800000000000000000000000000000000000000000000000000000000409a1e8a000000000000000000000000000000000000000000000000000000009b372b2b00000000000000000000000000000000000000000000000000000000d5d7ff3c00000000000000000000000000000000000000000000000000000000dfa7f1da000000000000000000000000000000000000000000000000000000000d392cd900000000000000000000000000000000000000000000000000000000000000000000000000000000155c0c3cde438a3d10bd38f3257cd8d17b8b3cff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003216d5108000000000000000000000000000000000000000000000000000000000d8aea8200000000000000000000000000000000000000000000000000000000bf4e593600000000000000000000000000000000000000000000000000000000000000000000000000000000a1d0027ca4c0cb79f9403d06a29470abc7b0a468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _diamondCut (tuple[]):
Arg [1] : facetAddress (address): 0x221ffB180AD01213FF882ab7DE9c75E23F9efA63
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0x1f931c1

Arg [1] : facetAddress (address): 0x6793De5E5a329bE514B51184Db13639DC7ccf8dd
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0x01ffc9a

Arg [1] : facetAddress (address): 0x14F1CbAE37F765614655967aFC51b544b8143749
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0xf2fde38

Arg [1] : facetAddress (address): 0x447d902da96A22727d0B53F215D0C387fe1AE114
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0x0d392cd

Arg [1] : facetAddress (address): 0x155C0c3Cde438a3D10bD38f3257CD8d17b8B3cfF
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0xbf4e593

Arg [1] : _args (tuple):
Arg [1] : owner (address): 0xa1d0027Ca4C0CB79f9403d06A29470abC7b0a468
Arg [2] : init (address): 0x0000000000000000000000000000000000000000
Arg [3] : initCalldata (bytes): 0x


-----Encoded View---------------
51 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 00000000000000000000000000000000000000000000000000000000000005e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000260
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000320
Arg [7] : 00000000000000000000000000000000000000000000000000000000000004a0
Arg [8] : 000000000000000000000000221ffb180ad01213ff882ab7de9c75e23f9efa63
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [12] : 1f931c1c00000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000000000000000000006793de5e5a329be514b51184db13639dc7ccf8dd
Arg [14] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [16] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [17] : cdffacc600000000000000000000000000000000000000000000000000000000
Arg [18] : 52ef6b2c00000000000000000000000000000000000000000000000000000000
Arg [19] : adfca15e00000000000000000000000000000000000000000000000000000000
Arg [20] : 7a0ed62700000000000000000000000000000000000000000000000000000000
Arg [21] : 01ffc9a700000000000000000000000000000000000000000000000000000000
Arg [22] : 00000000000000000000000014f1cbae37f765614655967afc51b544b8143749
Arg [23] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [24] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [25] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [26] : 8da5cb5b00000000000000000000000000000000000000000000000000000000
Arg [27] : f2fde38b00000000000000000000000000000000000000000000000000000000
Arg [28] : 000000000000000000000000447d902da96a22727d0b53f215d0c387fe1ae114
Arg [29] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [30] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [31] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [32] : 61fac5c800000000000000000000000000000000000000000000000000000000
Arg [33] : ae52c56900000000000000000000000000000000000000000000000000000000
Arg [34] : 9a06be0800000000000000000000000000000000000000000000000000000000
Arg [35] : 409a1e8a00000000000000000000000000000000000000000000000000000000
Arg [36] : 9b372b2b00000000000000000000000000000000000000000000000000000000
Arg [37] : d5d7ff3c00000000000000000000000000000000000000000000000000000000
Arg [38] : dfa7f1da00000000000000000000000000000000000000000000000000000000
Arg [39] : 0d392cd900000000000000000000000000000000000000000000000000000000
Arg [40] : 000000000000000000000000155c0c3cde438a3d10bd38f3257cd8d17b8b3cff
Arg [41] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [42] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [43] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [44] : 216d510800000000000000000000000000000000000000000000000000000000
Arg [45] : 0d8aea8200000000000000000000000000000000000000000000000000000000
Arg [46] : bf4e593600000000000000000000000000000000000000000000000000000000
Arg [47] : 000000000000000000000000a1d0027ca4c0cb79f9403d06a29470abc7b0a468
Arg [48] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [49] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [50] : 0000000000000000000000000000000000000000000000000000000000000000


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.