Spend less on fees, more on crypto. Buy crypto easily with MoonPay Balance. 20M+ users trust MoonPay worldwide.
Don’t invest unless you’re prepared to lose all the money you invest.
3000+ Slots, 20+ Cryptos, 75K Raffle, Sports Promos - World's largest Crypto Casino & Sportsbook - Provably Fair!
Play in crypto to make deposits and withdrawals easy! Register and get a free daily shot at a 100 000 $ jackpot.
Monthly Wagering Contest - $500,000+ rewards. Provably Fair, Low House Edge and best VIP Program!
Daily free Spin 50000 Matic ,760% Deposit Bonus, 20%Rakeback, And Get 1000000 Matic free bonus on BC.Game
Deposit BONUS 300% and Cashbacks. without verification!
Holidays are coming soon! Start betting on 1xBit and get a secret gift from Santa!
Overview
POL Balance
POL Value
$52,268.59 (@ $0.63/POL)Token Holdings
Could not find any matches!
- ERC-20 Tokens (55)100 USDT(PoS) Tether... (USDT)$99.85@0.99855 MEGAMEGA STAKE T... (MEGA)11,569.608496 USDC.eUSD Coin (Po... (USDC.e)$11,550.53@0.998415,000 WETH [ 3ETH.NET] Visit to claim rewardERC-20: ! (WETH [...)1 https://t.ly/shibarmyERC-20: $SHIB Air... (https:...)250 BUSDERC-20: 250busd.c... (BUSD)100 DPEXDPEX10,000 $iPEPE СLАlМ▷ipepe.clickERC-20: iPEPE ($iPEPE...)10,000 $iPEPE СLАlМ▷ipepe.clickERC-20: iPEPE ($iPEPE...)10,000 $iPEPE СLАlМ▷ipepe.clickERC-20: iPEPE ($iPEPE...)0.05460003 KTERC-20: Kelin Tec... (KT)28,475.8242 tMATICERC-20: MATIC (tMATIC)12,345 🥷ERC-20: N.I.N.J.A (ԍ...)0.110019 SMTERC-20: SMARTMALL... (SMT)10,000 web3stein.io | Get 50$ in ETHERC-20: STN (web3st...)10,000 STEIN web3-chess.com CRYPTO CHESSERC-20: STN (STEIN ...)100ERC20 ***100 WGCWild Goat Coin1,000 WWW.POOFERS.FUNERC-20: WWW.POOFE... (WWW.PO...)9,000,000,000 TokenERC-20 TOKEN*[Suspicious]900,000,000 TokenERC-20 TOKEN*[Suspicious]900,000,000 TokenERC-20 TOKEN*[Suspicious]90,000,000,000 TokenERC-20 TOKEN*[Suspicious]1 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Unsafe]10,000 TokenERC-20 TOKEN*[Unsafe]900,000,000 TokenERC-20 TOKEN*[Spam]900,000,000,000,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]9,000,000,000 TokenERC-20 TOKEN*[Spam]2,999.9 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]2,678 TokenERC-20 TOKEN*[Spam]88,888 TokenERC-20 TOKEN*[Spam]1,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]10,000 TokenERC-20 TOKEN*[Spam]777 TokenERC-20 TOKEN*[Spam]3,794,998 TokenERC-20 TOKEN*[Spam]NFT Tokens (66)drop-coins.xyz$100 GET REWARDERC-1155GIVEAWAY$100,000,000ERC-1155drops-usdc.com$1000 drops-usdc.comERC-1155usd-drops.xyz$10000 AirDropERC-11552000-usdt.xyz$2000 REWARDERC-1155https://t.ly/pool$ETH POOLERC-721https://t.ly/shibarmy$SHIB AirdropERC-721drop-usdc.com1000 USDCERC-1155http://usdcash.xyz/1000$ AirDropERC-1155drops-usdt.xyz2000$ RewardERC-1155drops-usdt.xyz2000$ RewardERC-1155usdt-reward.xyz2000$ RewardERC-1155NFT Airdrop3700 ARBERC-1155Base Chain Raffle5.00 ETH by BaseERC-1155coin-reward.xyz5000$ AirDropERC-1155drop-dai.xyz999$ RewardERC-1155ETHAirdrop at ethliquid.xyzx2ERC-721APE COINAPE NFT TICKETSERC-1155APE COINAPE NFT TICKETSERC-1155Lido DAOLIDO WHITELISTERC-1155OPTIMISMOPTIMISM NFT TICKETSERC-1155OPTIMISMOPTIMISM NFT TICKETSERC-1155OPTIMISMOPTIMISM NFT TICKETSERC-1155OPTIMISMOPTIMISM NFT TICKETSERC-1155ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]
More Info
Private Name Tags
ContractCreator
Multichain Info
1 address found via- Transactions
- Internal Transactions
- Token Transfers (ERC-20)
- NFT Transfers
- Contract
- Events
- Multichain Portfolio
- Info
Advanced Filter- Filter by Tx Type:
- Tx
- Internal Tx
- ERC-20
- NFTs
Latest 25 from a total of 28 transactions
Transaction Hash MethodBlockFromToPermantly Ban 53540885 2024-02-15 6:45:22 301 days ago 1707979522 IN 0 POL$0.00 0.00295133 41.78348226 Permantly Ban 50772256 2023-12-05 13:41:09 373 days ago 1701783669 IN 0 POL$0.00 0.00530412 75.0930636 Suspend 49722304 2023-11-09 5:57:40 399 days ago 1699509460 IN 0 POL$0.00 0.01395003 196.41578656 Suspend 49491470 2023-11-03 11:20:29 405 days ago 1699010429 IN 0 POL$0.00 0.00881407 124.10168034 Permantly Ban 47873831 2023-09-23 3:19:37 446 days ago 1695439177 IN 0 POL$0.00 0.00266898 86.55966956 Permantly Ban 47873780 2023-09-23 3:17:27 446 days ago 1695439047 IN 0 POL$0.00 0.00634844 89.8780468 Permantly Ban 46807851 2023-08-27 7:16:50 473 days ago 1693120610 IN 0 POL$0.00 0.00677275 95.88521967 Permantly Ban 46394440 2023-08-16 23:28:22 483 days ago 1692228502 IN 0 POL$0.00 0.00586408 83.02069355 Suspend 44964544 2023-07-11 21:21:57 519 days ago 1689110517 IN 0 POL$0.00 0.00597663 110.81179535 Lift Suspension 44961214 2023-07-11 19:22:53 520 days ago 1689103373 IN 0 POL$0.00 0.00411967 143.40782395 Increase Suspens... 44961140 2023-07-11 19:20:17 520 days ago 1689103217 IN 0 POL$0.00 0.00622664 183.48201582 Suspend 44961121 2023-07-11 19:19:34 520 days ago 1689103174 IN 0 POL$0.00 0.0134836 189.88052726 Lift Suspension 44943460 2023-07-11 8:38:36 520 days ago 1689064716 IN 0 POL$0.00 0.00280642 97.69286178 Suspend 44943236 2023-07-11 8:30:36 520 days ago 1689064236 IN 0 POL$0.00 0.0055206 102.40212548 Lift Suspension 44943168 2023-07-11 8:28:12 520 days ago 1689064092 IN 0 POL$0.00 0.00337996 117.65824065 Suspend 44942978 2023-07-11 8:21:28 520 days ago 1689063688 IN 0 POL$0.00 0.00696714 129.23423396 Lift Suspension 44942960 2023-07-11 8:20:50 520 days ago 1689063650 IN 0 POL$0.00 0.00366748 127.6669751 Suspend 44942849 2023-07-11 8:16:54 520 days ago 1689063414 IN 0 POL$0.00 0.00662187 122.82976407 Lift Suspension 44905180 2023-07-10 9:26:37 521 days ago 1688981197 IN 0 POL$0.00 0.003978 138.47606974 Suspend 44904986 2023-07-10 9:19:45 521 days ago 1688980785 IN 0 POL$0.00 0.01193822 168.11790739 Transfer Ownersh... 43725523 2023-06-09 20:42:16 552 days ago 1686343336 IN 0 POL$0.00 0.00441114 152.50277004 Transfer 41878739 2023-04-23 21:24:16 598 days ago 1682285056 IN 24,836 POL$15,580.69 0.00825668 392.55848818 Transfer 41487286 2023-04-13 14:46:12 609 days ago 1681397172 IN 5,000 POL$3,136.72 0.00669807 318.45537792 Permantly Ban 40933475 2023-03-30 9:21:14 623 days ago 1680168074 IN 0 POL$0.00 0.01216502 172.22612443 Transfer Ownersh... 38275522 2023-01-19 15:36:53 693 days ago 1674142613 IN 0 POL$0.00 0.0033436 100 Latest 25 internal transactions (View All)
Parent Transaction Hash Block From To 65383952 2024-12-12 7:49:21 13 hrs ago 1733989761 24 POL$15.06 65383902 2024-12-12 7:47:33 13 hrs ago 1733989653 24 POL$15.06 65383902 2024-12-12 7:47:33 13 hrs ago 1733989653 40 POL$25.09 65383854 2024-12-12 7:45:49 13 hrs ago 1733989549 39 POL$24.47 65383854 2024-12-12 7:45:49 13 hrs ago 1733989549 84 POL$52.70 65383818 2024-12-12 7:44:33 13 hrs ago 1733989473 88 POL$55.21 65383790 2024-12-12 7:43:33 13 hrs ago 1733989413 20 POL$12.55 65383790 2024-12-12 7:43:33 13 hrs ago 1733989413 60 POL$37.64 65383761 2024-12-12 7:42:33 13 hrs ago 1733989353 96 POL$60.22 65383761 2024-12-12 7:42:33 13 hrs ago 1733989353 60 POL$37.64 65383705 2024-12-12 7:40:33 13 hrs ago 1733989233 66 POL$41.40 65383705 2024-12-12 7:40:33 13 hrs ago 1733989233 100 POL$62.73 65383672 2024-12-12 7:39:23 13 hrs ago 1733989163 8 POL$5.02 65383672 2024-12-12 7:39:23 13 hrs ago 1733989163 30 POL$18.82 65383649 2024-12-12 7:38:35 13 hrs ago 1733989115 8 POL$5.02 65383649 2024-12-12 7:38:35 13 hrs ago 1733989115 30 POL$18.82 65383616 2024-12-12 7:37:25 13 hrs ago 1733989045 160 POL$100.37 65383616 2024-12-12 7:37:25 13 hrs ago 1733989045 75 POL$47.05 65383553 2024-12-12 7:35:11 13 hrs ago 1733988911 6 POL$3.76 65383553 2024-12-12 7:35:11 13 hrs ago 1733988911 30 POL$18.82 65383534 2024-12-12 7:34:29 13 hrs ago 1733988869 6 POL$3.76 65383534 2024-12-12 7:34:29 13 hrs ago 1733988869 30 POL$18.82 65383510 2024-12-12 7:33:39 13 hrs ago 1733988819 12 POL$7.53 65383510 2024-12-12 7:33:39 13 hrs ago 1733988819 30 POL$18.82 65383484 2024-12-12 7:32:38 13 hrs ago 1733988758 78.3128 POL$49.13 Loading...LoadingContract Name:Diamond
Compiler Versionv0.8.11+commit.d7f03943
Optimization Enabled:Yes with 1000 runs
Other Settings:default evmVersionContract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /******************************************************************************\ * Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen) * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 * * Implementation of a diamond. /******************************************************************************/ import { LibDiamond } from "./libraries/LibDiamond.sol"; import { IDiamondCut } from "./interfaces/IDiamondCut.sol"; contract Diamond { constructor(address _contractOwner, address _diamondCutFacet) payable { LibDiamond.setContractOwner(_contractOwner); // Add the diamondCut external function from the diamondCutFacet IDiamondCut.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. 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 = address(bytes20(ds.facets[msg.sig])); require(facet != address(0), "Diamond: Function does not exist"); // 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 {} }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /******************************************************************************\ * Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen) * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 /******************************************************************************/ interface IDiamondCut { enum FacetCutAction {Add, Replace, Remove} // Add=0, Replace=1, Remove=2 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 _init function diamondCut( FacetCut[] calldata _diamondCut, address _init, bytes calldata _calldata ) external; event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /******************************************************************************\ * Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen) * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 /******************************************************************************/ import { IDiamondCut } from "../interfaces/IDiamondCut.sol"; // Remember to add the loupe functions from DiamondLoupeFacet to the diamond. // The loupe functions are required by the EIP2535 Diamonds standard library LibDiamond { bytes32 constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.diamond.storage"); struct DiamondStorage { // maps function selectors to the facets that execute the functions. // and maps the selectors to their position in the selectorSlots array. // func selector => address facet, selector position mapping(bytes4 => bytes32) facets; // array of slots of function selectors. // each slot holds 8 function selectors. mapping(uint256 => bytes32) selectorSlots; // The number of function selectors in selectorSlots uint16 selectorCount; // Used to query if a contract implements an interface. // Used to implement ERC-165. 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 { require(msg.sender == diamondStorage().contractOwner, "LibDiamond: Must be contract owner"); } event DiamondCut(IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata); bytes32 constant CLEAR_ADDRESS_MASK = bytes32(uint256(0xffffffffffffffffffffffff)); bytes32 constant CLEAR_SELECTOR_MASK = bytes32(uint256(0xffffffff << 224)); // Internal function version of diamondCut // This code is almost the same as the external diamondCut, // except it is using 'Facet[] memory _diamondCut' instead of // 'Facet[] calldata _diamondCut'. // The code is duplicated to prevent copying calldata to memory which // causes an error for a two dimensional array. function diamondCut( IDiamondCut.FacetCut[] memory _diamondCut, address _init, bytes memory _calldata ) internal { DiamondStorage storage ds = diamondStorage(); uint256 originalSelectorCount = ds.selectorCount; uint256 selectorCount = originalSelectorCount; bytes32 selectorSlot; // Check if last selector slot is not full // "selectorCount & 7" is a gas efficient modulo by eight "selectorCount % 8" if (selectorCount & 7 > 0) { // get last selectorSlot // "selectorSlot >> 3" is a gas efficient division by 8 "selectorSlot / 8" selectorSlot = ds.selectorSlots[selectorCount >> 3]; } // loop through diamond cut for (uint256 facetIndex; facetIndex < _diamondCut.length; facetIndex++) { (selectorCount, selectorSlot) = addReplaceRemoveFacetSelectors( selectorCount, selectorSlot, _diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].action, _diamondCut[facetIndex].functionSelectors ); } if (selectorCount != originalSelectorCount) { ds.selectorCount = uint16(selectorCount); } // If last selector slot is not full // "selectorCount & 7" is a gas efficient modulo by eight "selectorCount % 8" if (selectorCount & 7 > 0) { // "selectorSlot >> 3" is a gas efficient division by 8 "selectorSlot / 8" ds.selectorSlots[selectorCount >> 3] = selectorSlot; } emit DiamondCut(_diamondCut, _init, _calldata); initializeDiamondCut(_init, _calldata); } function addReplaceRemoveFacetSelectors( uint256 _selectorCount, bytes32 _selectorSlot, address _newFacetAddress, IDiamondCut.FacetCutAction _action, bytes4[] memory _selectors ) internal returns (uint256, bytes32) { DiamondStorage storage ds = diamondStorage(); require(_selectors.length > 0, "LibDiamondCut: No selectors in facet to cut"); if (_action == IDiamondCut.FacetCutAction.Add) { enforceHasContractCode(_newFacetAddress, "LibDiamondCut: Add facet has no code"); for (uint256 selectorIndex; selectorIndex < _selectors.length; selectorIndex++) { bytes4 selector = _selectors[selectorIndex]; bytes32 oldFacet = ds.facets[selector]; require(address(bytes20(oldFacet)) == address(0), "LibDiamondCut: Can't add function that already exists"); // add facet for selector ds.facets[selector] = bytes20(_newFacetAddress) | bytes32(_selectorCount); // "_selectorCount & 7" is a gas efficient modulo by eight "_selectorCount % 8" uint256 selectorInSlotPosition = (_selectorCount & 7) << 5; // clear selector position in slot and add selector _selectorSlot = (_selectorSlot & ~(CLEAR_SELECTOR_MASK >> selectorInSlotPosition)) | (bytes32(selector) >> selectorInSlotPosition); // if slot is full then write it to storage if (selectorInSlotPosition == 224) { // "_selectorSlot >> 3" is a gas efficient division by 8 "_selectorSlot / 8" ds.selectorSlots[_selectorCount >> 3] = _selectorSlot; _selectorSlot = 0; } _selectorCount++; } } else if (_action == IDiamondCut.FacetCutAction.Replace) { enforceHasContractCode(_newFacetAddress, "LibDiamondCut: Replace facet has no code"); for (uint256 selectorIndex; selectorIndex < _selectors.length; selectorIndex++) { bytes4 selector = _selectors[selectorIndex]; bytes32 oldFacet = ds.facets[selector]; address oldFacetAddress = address(bytes20(oldFacet)); // only useful if immutable functions exist require(oldFacetAddress != address(this), "LibDiamondCut: Can't replace immutable function"); require(oldFacetAddress != _newFacetAddress, "LibDiamondCut: Can't replace function with same function"); require(oldFacetAddress != address(0), "LibDiamondCut: Can't replace function that doesn't exist"); // replace old facet address ds.facets[selector] = (oldFacet & CLEAR_ADDRESS_MASK) | bytes20(_newFacetAddress); } } else if (_action == IDiamondCut.FacetCutAction.Remove) { require(_newFacetAddress == address(0), "LibDiamondCut: Remove facet address must be address(0)"); // "_selectorCount >> 3" is a gas efficient division by 8 "_selectorCount / 8" uint256 selectorSlotCount = _selectorCount >> 3; // "_selectorCount & 7" is a gas efficient modulo by eight "_selectorCount % 8" uint256 selectorInSlotIndex = _selectorCount & 7; for (uint256 selectorIndex; selectorIndex < _selectors.length; selectorIndex++) { if (_selectorSlot == 0) { // get last selectorSlot selectorSlotCount--; _selectorSlot = ds.selectorSlots[selectorSlotCount]; selectorInSlotIndex = 7; } else { selectorInSlotIndex--; } bytes4 lastSelector; uint256 oldSelectorsSlotCount; uint256 oldSelectorInSlotPosition; // adding a block here prevents stack too deep error { bytes4 selector = _selectors[selectorIndex]; bytes32 oldFacet = ds.facets[selector]; require(address(bytes20(oldFacet)) != address(0), "LibDiamondCut: Can't remove function that doesn't exist"); // only useful if immutable functions exist require(address(bytes20(oldFacet)) != address(this), "LibDiamondCut: Can't remove immutable function"); // replace selector with last selector in ds.facets // gets the last selector lastSelector = bytes4(_selectorSlot << (selectorInSlotIndex << 5)); if (lastSelector != selector) { // update last selector slot position info ds.facets[lastSelector] = (oldFacet & CLEAR_ADDRESS_MASK) | bytes20(ds.facets[lastSelector]); } delete ds.facets[selector]; uint256 oldSelectorCount = uint16(uint256(oldFacet)); // "oldSelectorCount >> 3" is a gas efficient division by 8 "oldSelectorCount / 8" oldSelectorsSlotCount = oldSelectorCount >> 3; // "oldSelectorCount & 7" is a gas efficient modulo by eight "oldSelectorCount % 8" oldSelectorInSlotPosition = (oldSelectorCount & 7) << 5; } if (oldSelectorsSlotCount != selectorSlotCount) { bytes32 oldSelectorSlot = ds.selectorSlots[oldSelectorsSlotCount]; // clears the selector we are deleting and puts the last selector in its place. oldSelectorSlot = (oldSelectorSlot & ~(CLEAR_SELECTOR_MASK >> oldSelectorInSlotPosition)) | (bytes32(lastSelector) >> oldSelectorInSlotPosition); // update storage with the modified slot ds.selectorSlots[oldSelectorsSlotCount] = oldSelectorSlot; } else { // clears the selector we are deleting and puts the last selector in its place. _selectorSlot = (_selectorSlot & ~(CLEAR_SELECTOR_MASK >> oldSelectorInSlotPosition)) | (bytes32(lastSelector) >> oldSelectorInSlotPosition); } if (selectorInSlotIndex == 0) { delete ds.selectorSlots[selectorSlotCount]; _selectorSlot = 0; } } _selectorCount = selectorSlotCount * 8 + selectorInSlotIndex; } else { revert("LibDiamondCut: Incorrect FacetCutAction"); } return (_selectorCount, _selectorSlot); } function initializeDiamondCut(address _init, bytes memory _calldata) internal { if (_init == address(0)) { require(_calldata.length == 0, "LibDiamondCut: _init is address(0) but_calldata is not empty"); } else { require(_calldata.length > 0, "LibDiamondCut: _calldata is empty but _init is not address(0)"); if (_init != address(this)) { enforceHasContractCode(_init, "LibDiamondCut: _init address has no code"); } (bool success, bytes memory error) = _init.delegatecall(_calldata); if (!success) { if (error.length > 0) { // bubble up the error revert(string(error)); } else { revert("LibDiamondCut: _init function reverted"); } } } } function enforceHasContractCode(address _contract, string memory _errorMessage) internal view { uint256 contractSize; assembly { contractSize := extcodesize(_contract) } require(contractSize > 0, _errorMessage); } }
{ "optimizer": { "enabled": true, "runs": 1000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
[{"inputs":[{"internalType":"address","name":"_contractOwner","type":"address"},{"internalType":"address","name":"_diamondCutFacet","type":"address"}],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052604051620021af380380620021af833981016040819052620000269162000ddb565b6200003c826200015660201b620000c21760201c565b604080516001808252818301909252600091816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081620000535750506040805160018082528183019092529192506000919060208083019080368337019050509050631f931c1c60e01b81600081518110620000c657620000c662000e13565b6001600160e01b031990921660209283029190910182015260408051606081019091526001600160a01b038516815290810160008152602001828152508260008151811062000119576200011962000e13565b60200260200101819052506200014c82600060405180602001604052806000815250620001da60201b6200016f1760201c565b5050505062001068565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080546001600160a01b031981166001600160a01b038481169182179093556040516000805160206200211b833981519152939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e546000805160206200211b8339815191529061ffff811690819060009060071615620002395750600381901c60009081526001840160205260409020545b60005b8751811015620002d557620002bb83838a848151811062000261576200026162000e13565b6020026020010151600001518b858151811062000282576200028262000e13565b6020026020010151602001518c8681518110620002a357620002a362000e13565b6020026020010151604001516200036760201b60201c565b909350915080620002cc8162000e55565b9150506200023c565b50828214620002f25760028401805461ffff191661ffff84161790555b60078216156200031557600382901c600090815260018501602052604090208190555b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738787876040516200034a9392919062000ed0565b60405180910390a16200035e868662000b75565b50505050505050565b600080806000805160206200211b83398151915290506000845111620003e85760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b60648201526084015b60405180910390fd5b6000856002811115620003ff57620003ff62000e29565b141562000586576200042b866040518060600160405280602481526020016200213b6024913962000d9a565b60005b84518110156200057f5760008582815181106200044f576200044f62000e13565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c15620004f25760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608401620003df565b6001600160e01b031980831660008181526020879052604090206001600160601b031960608d901b168e17905560e060058e901b811692831c199c909c1690821c179a811415620005575760038c901c600090815260018601602052604081209b909b555b8b620005638162000e55565b9c50505050508080620005769062000e55565b9150506200042e565b5062000b69565b60018560028111156200059d576200059d62000e29565b1415620007b957620005c986604051806060016040528060288152602001620021876028913962000d9a565b60005b84518110156200057f576000858281518110620005ed57620005ed62000e13565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c30811415620006855760405162461bcd60e51b815260206004820152602f60248201527f4c69624469616d6f6e644375743a2043616e2774207265706c61636520696d6d60448201526e3aba30b1363290333ab731ba34b7b760891b6064820152608401620003df565b896001600160a01b0316816001600160a01b03161415620006fe5760405162461bcd60e51b81526020600482015260386024820152600080516020620020fb83398151915260448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401620003df565b6001600160a01b0381166200076b5760405162461bcd60e51b81526020600482015260386024820152600080516020620020fb83398151915260448201527f6374696f6e207468617420646f65736e277420657869737400000000000000006064820152608401620003df565b506001600160e01b031990911660009081526020849052604090206001600160601b03919091166001600160601b031960608a901b1617905580620007b08162000e55565b915050620005cc565b6002856002811115620007d057620007d062000e29565b141562000b10576001600160a01b03861615620008565760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608401620003df565b600388901c6007891660005b865181101562000aeb57896200089f57826200087e8162000fd7565b60008181526001870160205260409020549b50935060079250620008af9050565b81620008ab8162000fd7565b9250505b6000806000808a8581518110620008ca57620008ca62000e13565b6020908102919091018101516001600160e01b031981166000908152918a9052604090912054909150606081901c6200096c5760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401620003df565b606081901c301415620009d95760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401620003df565b600587901b8f901b94506001600160e01b03198086169083161462000a2b576001600160e01b03198516600090815260208a90526040902080546001600160601b0319166001600160601b0383161790555b6001600160e01b031991909116600090815260208990526040812055600381901c611fff16925060051b60e016905085821462000a92576000828152600188016020526040902080546001600160e01b031980841c19909116908516831c17905562000ab6565b80836001600160e01b031916901c816001600160e01b031960001b901c198e16179c505b8462000ad257600086815260018801602052604081208190559c505b505050808062000ae29062000e55565b91505062000862565b508062000afa83600862000ff1565b62000b06919062001013565b9950505062000b69565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608401620003df565b50959694955050505050565b6001600160a01b03821662000bff5780511562000bfb5760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152608401620003df565b5050565b600081511162000c785760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f7420616464726573732830290000006064820152608401620003df565b6001600160a01b038216301462000cae5762000cae826040518060600160405280602881526020016200215f6028913962000d9a565b600080836001600160a01b03168360405162000ccb91906200102e565b600060405180830381855af49150503d806000811462000d08576040519150601f19603f3d011682016040523d82523d6000602084013e62000d0d565b606091505b50915091508162000d945780511562000d3c578060405162461bcd60e51b8152600401620003df91906200104c565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b6064820152608401620003df565b50505050565b813b818162000d945760405162461bcd60e51b8152600401620003df91906200104c565b80516001600160a01b038116811462000dd657600080fd5b919050565b6000806040838503121562000def57600080fd5b62000dfa8362000dbe565b915062000e0a6020840162000dbe565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562000e6c5762000e6c62000e3f565b5060010190565b60005b8381101562000e9057818101518382015260200162000e76565b8381111562000d945750506000910152565b6000815180845262000ebc81602086016020860162000e73565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b8481101562000fa557898403607f19018652815180516001600160a01b0316855283810151898601906003811062000f4157634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b8083101562000f8f5783516001600160e01b031916825292860192600192909201919086019062000f63565b5097850197955050509082019060010162000ef9565b50506001600160a01b038a1690880152868103604088015262000fc9818962000ea2565b9a9950505050505050505050565b60008162000fe95762000fe962000e3f565b506000190190565b60008160001904831182151516156200100e576200100e62000e3f565b500290565b6000821982111562001029576200102962000e3f565b500190565b600082516200104281846020870162000e73565b9190910192915050565b60208152600062001061602083018462000ea2565b9392505050565b61108380620010786000396000f3fe60806040523661000b57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020819052604090912054819060601c8061009e5760405162461bcd60e51b815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100bd573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080547fffffffffffffffffffffffff000000000000000000000000000000000000000081166001600160a01b038481169182179093556040517fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9061ffff8116908190600090600716156101de5750600381901c60009081526001840160205260409020545b60005b87518110156102655761024e83838a848151811061020157610201610da1565b6020026020010151600001518b858151811061021f5761021f610da1565b6020026020010151602001518c868151811061023d5761023d610da1565b6020026020010151604001516102f1565b90935091508061025d81610dcd565b9150506101e1565b508282146102815760028401805461ffff191661ffff84161790555b60078216156102a357600382901c600090815260018501602052604090208190555b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738787876040516102d693929190610e56565b60405180910390a16102e88686610b56565b50505050505050565b600080807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9050600084511161038f5760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f206375740000000000000000000000000000000000000000006064820152608401610095565b60008560028111156103a3576103a3610de8565b141561051e576103cb86604051806060016040528060248152602001610fda60249139610d80565b60005b84518110156105185760008582815181106103eb576103eb610da1565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c1561048c5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608401610095565b6001600160e01b031980831660008181526020879052604090206bffffffffffffffffffffffff1960608d901b168e17905560e060058e901b811692831c199c909c1690821c179a8114156104f55760038c901c600090815260018601602052604081209b909b555b8b6104ff81610dcd565b9c5050505050808061051090610dcd565b9150506103ce565b50610b4a565b600185600281111561053257610532610de8565b14156107775761055a8660405180606001604052806028815260200161102660289139610d80565b60005b845181101561051857600085828151811061057a5761057a610da1565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c3081141561061e5760405162461bcd60e51b815260206004820152602f60248201527f4c69624469616d6f6e644375743a2043616e2774207265706c61636520696d6d60448201527f757461626c652066756e6374696f6e00000000000000000000000000000000006064820152608401610095565b896001600160a01b0316816001600160a01b031614156106a65760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401610095565b6001600160a01b0381166107225760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e207468617420646f65736e277420657869737400000000000000006064820152608401610095565b506001600160e01b031990911660009081526020849052604090206bffffffffffffffffffffffff919091166bffffffffffffffffffffffff1960608a901b161790558061076f81610dcd565b91505061055d565b600285600281111561078b5761078b610de8565b1415610adc576001600160a01b0386161561080e5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608401610095565b600388901c6007891660005b8651811015610abc5789610852578261083281610f55565b60008181526001870160205260409020549b509350600792506108609050565b8161085c81610f55565b9250505b6000806000808a858151811061087857610878610da1565b6020908102919091018101516001600160e01b031981166000908152918a9052604090912054909150606081901c6109185760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401610095565b606081901c3014156109925760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201527f7461626c652066756e6374696f6e0000000000000000000000000000000000006064820152608401610095565b600587901b8f901b94506001600160e01b0319808616908316146109ed576001600160e01b03198516600090815260208a90526040902080546bffffffffffffffffffffffff19166bffffffffffffffffffffffff83161790555b6001600160e01b031991909116600090815260208990526040812055600381901c611fff16925060051b60e0169050858214610a52576000828152600188016020526040902080546001600160e01b031980841c19909116908516831c179055610a8b565b80837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c816001600160e01b031960001b901c198e16179c505b84610aa657600086815260018801602052604081208190559c505b5050508080610ab490610dcd565b91505061081a565b5080610ac9836008610f6c565b610ad39190610f8b565b99505050610b4a565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560448201527f74416374696f6e000000000000000000000000000000000000000000000000006064820152608401610095565b50959694955050505050565b6001600160a01b038216610bdd57805115610bd95760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152608401610095565b5050565b6000815111610c545760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f7420616464726573732830290000006064820152608401610095565b6001600160a01b0382163014610c8657610c8682604051806060016040528060288152602001610ffe60289139610d80565b600080836001600160a01b031683604051610ca19190610fa3565b600060405180830381855af49150503d8060008114610cdc576040519150601f19603f3d011682016040523d82523d6000602084013e610ce1565b606091505b509150915081610d7a57805115610d0c578060405162461bcd60e51b81526004016100959190610fbf565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560448201527f76657274656400000000000000000000000000000000000000000000000000006064820152608401610095565b50505050565b813b8181610d7a5760405162461bcd60e51b81526004016100959190610fbf565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415610de157610de1610db7565b5060010190565b634e487b7160e01b600052602160045260246000fd5b60005b83811015610e19578181015183820152602001610e01565b83811115610d7a5750506000910152565b60008151808452610e42816020860160208601610dfe565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015610f2557607f198a850301865281518885016001600160a01b0382511686528482015160038110610ec457634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015610f105783516001600160e01b0319168252928601926001929092019190860190610ee6565b50978501979550505090820190600101610e7f565b50506001600160a01b038a16908801528681036040880152610f478189610e2a565b9a9950505050505050505050565b600081610f6457610f64610db7565b506000190190565b6000816000190483118215151615610f8657610f86610db7565b500290565b60008219821115610f9e57610f9e610db7565b500190565b60008251610fb5818460208701610dfe565b9190910192915050565b602081526000610fd26020830184610e2a565b939250505056fe4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f6465a26469706673582212200878524cb013e015eb958da4773b009865920d58b316dd2190380415fc21421364736f6c634300080b00334c69624469616d6f6e644375743a2043616e2774207265706c6163652066756ec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f64650000000000000000000000001b7999605ec5bdd7070934b7a88cde6a3d68ce65000000000000000000000000480e3ff1a824c5e1f999288e423ab7311470787dDeployed Bytecode
0x60806040523661000b57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020819052604090912054819060601c8061009e5760405162461bcd60e51b815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100bd573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080547fffffffffffffffffffffffff000000000000000000000000000000000000000081166001600160a01b038481169182179093556040517fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9061ffff8116908190600090600716156101de5750600381901c60009081526001840160205260409020545b60005b87518110156102655761024e83838a848151811061020157610201610da1565b6020026020010151600001518b858151811061021f5761021f610da1565b6020026020010151602001518c868151811061023d5761023d610da1565b6020026020010151604001516102f1565b90935091508061025d81610dcd565b9150506101e1565b508282146102815760028401805461ffff191661ffff84161790555b60078216156102a357600382901c600090815260018501602052604090208190555b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738787876040516102d693929190610e56565b60405180910390a16102e88686610b56565b50505050505050565b600080807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9050600084511161038f5760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f206375740000000000000000000000000000000000000000006064820152608401610095565b60008560028111156103a3576103a3610de8565b141561051e576103cb86604051806060016040528060248152602001610fda60249139610d80565b60005b84518110156105185760008582815181106103eb576103eb610da1565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c1561048c5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608401610095565b6001600160e01b031980831660008181526020879052604090206bffffffffffffffffffffffff1960608d901b168e17905560e060058e901b811692831c199c909c1690821c179a8114156104f55760038c901c600090815260018601602052604081209b909b555b8b6104ff81610dcd565b9c5050505050808061051090610dcd565b9150506103ce565b50610b4a565b600185600281111561053257610532610de8565b14156107775761055a8660405180606001604052806028815260200161102660289139610d80565b60005b845181101561051857600085828151811061057a5761057a610da1565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c3081141561061e5760405162461bcd60e51b815260206004820152602f60248201527f4c69624469616d6f6e644375743a2043616e2774207265706c61636520696d6d60448201527f757461626c652066756e6374696f6e00000000000000000000000000000000006064820152608401610095565b896001600160a01b0316816001600160a01b031614156106a65760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401610095565b6001600160a01b0381166107225760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e207468617420646f65736e277420657869737400000000000000006064820152608401610095565b506001600160e01b031990911660009081526020849052604090206bffffffffffffffffffffffff919091166bffffffffffffffffffffffff1960608a901b161790558061076f81610dcd565b91505061055d565b600285600281111561078b5761078b610de8565b1415610adc576001600160a01b0386161561080e5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608401610095565b600388901c6007891660005b8651811015610abc5789610852578261083281610f55565b60008181526001870160205260409020549b509350600792506108609050565b8161085c81610f55565b9250505b6000806000808a858151811061087857610878610da1565b6020908102919091018101516001600160e01b031981166000908152918a9052604090912054909150606081901c6109185760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401610095565b606081901c3014156109925760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201527f7461626c652066756e6374696f6e0000000000000000000000000000000000006064820152608401610095565b600587901b8f901b94506001600160e01b0319808616908316146109ed576001600160e01b03198516600090815260208a90526040902080546bffffffffffffffffffffffff19166bffffffffffffffffffffffff83161790555b6001600160e01b031991909116600090815260208990526040812055600381901c611fff16925060051b60e0169050858214610a52576000828152600188016020526040902080546001600160e01b031980841c19909116908516831c179055610a8b565b80837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c816001600160e01b031960001b901c198e16179c505b84610aa657600086815260018801602052604081208190559c505b5050508080610ab490610dcd565b91505061081a565b5080610ac9836008610f6c565b610ad39190610f8b565b99505050610b4a565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560448201527f74416374696f6e000000000000000000000000000000000000000000000000006064820152608401610095565b50959694955050505050565b6001600160a01b038216610bdd57805115610bd95760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152608401610095565b5050565b6000815111610c545760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f7420616464726573732830290000006064820152608401610095565b6001600160a01b0382163014610c8657610c8682604051806060016040528060288152602001610ffe60289139610d80565b600080836001600160a01b031683604051610ca19190610fa3565b600060405180830381855af49150503d8060008114610cdc576040519150601f19603f3d011682016040523d82523d6000602084013e610ce1565b606091505b509150915081610d7a57805115610d0c578060405162461bcd60e51b81526004016100959190610fbf565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560448201527f76657274656400000000000000000000000000000000000000000000000000006064820152608401610095565b50505050565b813b8181610d7a5760405162461bcd60e51b81526004016100959190610fbf565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415610de157610de1610db7565b5060010190565b634e487b7160e01b600052602160045260246000fd5b60005b83811015610e19578181015183820152602001610e01565b83811115610d7a5750506000910152565b60008151808452610e42816020860160208601610dfe565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015610f2557607f198a850301865281518885016001600160a01b0382511686528482015160038110610ec457634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015610f105783516001600160e01b0319168252928601926001929092019190860190610ee6565b50978501979550505090820190600101610e7f565b50506001600160a01b038a16908801528681036040880152610f478189610e2a565b9a9950505050505050505050565b600081610f6457610f64610db7565b506000190190565b6000816000190483118215151615610f8657610f86610db7565b500290565b60008219821115610f9e57610f9e610db7565b500190565b60008251610fb5818460208701610dfe565b9190910192915050565b602081526000610fd26020830184610e2a565b939250505056fe4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f6465a26469706673582212200878524cb013e015eb958da4773b009865920d58b316dd2190380415fc21421364736f6c634300080b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001b7999605ec5bdd7070934b7a88cde6a3d68ce65000000000000000000000000480e3ff1a824c5e1f999288e423ab7311470787d
-----Decoded View---------------
Arg [0] : _contractOwner (address): 0x1b7999605Ec5BDd7070934B7A88Cde6a3D68Ce65
Arg [1] : _diamondCutFacet (address): 0x480E3FF1A824C5E1f999288e423ab7311470787d
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000001b7999605ec5bdd7070934b7a88cde6a3d68ce65
Arg [1] : 000000000000000000000000480e3ff1a824c5e1f999288e423ab7311470787dLoading...LoadingLoading...LoadingABI for the implementation contract at 0xfaa8d8b63a40120d57049df66111e5313b3e20bf, likely using a custom proxy implementation.Learn more about proxy contracts in our Knowledge Base
Loading...LoadingABI for the implementation contract at 0xfaa8d8b63a40120d57049df66111e5313b3e20bf, likely using a custom proxy implementation.Learn more about proxy contracts in our Knowledge Base
Loading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingOVERVIEW
The Bankroll contract holds the bankroll funds and handles the transactions and payouts to the players. All Game Contracts communicate separately with the bankroll contract.
Loading...LoadingMultichain Portfolio | 30 Chains
Chain Token Portfolio % Price Amount Value ARB 45.97% $3,877.75 21.6304 $83,877.53 ARB 16.71% $0.999515 30,498.4682 $30,483.68 ARB 2.25% $0.004003 1,024,156.3868 $4,099.85 ARB <0.01% $0.998743 9 $8.99 POL Polygon (POL)28.68% $0.627966 83,317.3895 $52,320.52 POL 6.33% $0.998351 11,569.6085 $11,550.53 POL 0.05% $0.998548 100 $99.85 FTM <0.01% $1.24 0.7617 $0.943362 BSC <0.01% $1 0.5139 $0.5141 [ 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.
Address QR Code
My Address - Private Name Tag or Note
My Name Tag:
Private Name Tags (up to 35 characters) can be used for easy identification of addressesPrivate Note:
A private note (up to 500 characters) can be attached to this address.
Please DO NOT store any passwords or private keys here.Compiler specific version warnings:
The compiled contract might be susceptible to VerbatimInvalidDeduplication (low-severity), FullInlinerNonExpressionSplitArgumentEvaluationOrder (low-severity), MissingSideEffectsOnSelectorAccess (low-severity), AbiReencodingHeadOverflowWithStaticArrayCleanup (medium-severity), DirtyBytesArrayToStorage (low-severity), DataLocationChangeInInternalOverride (very low-severity), NestedCalldataArrayAbiReencodingSizeValidation (very low-severity), AbiEncodeCallLiteralAsFixedBytesBug (very low-severity) Solidity Compiler Bugs.
Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Before You Copy
Transaction Private Note
This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.