From bdac2cd1af070aaab87e42c2f826407b3b9626e8 Mon Sep 17 00:00:00 2001 From: harshit-bitpack Date: Thu, 25 May 2023 21:10:47 +0530 Subject: [PATCH 1/9] uri param added in safeMintAppNFT --- .gitignore | 2 ++ contracts/AppNFTUpgradeable.sol | 7 ++++--- contracts/AppStoreNFTUpgradeable.sol | 2 +- contracts/DevNFTUpgradeable.sol | 2 +- package.json | 30 ++++++++++++++-------------- 5 files changed, 23 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index 0dee7c0..31ef8d3 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ artifacts .openzeppelin .solhint.json.env .DS_Store +.env +.vscode diff --git a/contracts/AppNFTUpgradeable.sol b/contracts/AppNFTUpgradeable.sol index 944a03f..2d58a1e 100644 --- a/contracts/AppNFTUpgradeable.sol +++ b/contracts/AppNFTUpgradeable.sol @@ -154,9 +154,10 @@ contract AppNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable * @notice mints new .app NFT * @dev checks validations for app name and emit AppNameSet event on successful minting * @param to the address to mint the token to + * @param uri the uri to set for the token * @param appName the name of app to set for the token */ - function safeMintAppNFT(address to, string calldata appName) external whenNotPaused { + function safeMintAppNFT(address to, string memory uri, string calldata appName) external whenNotPaused { if(!mintManyFlag){ require(balanceOf(to)==0, "provided wallet already used to create app"); } @@ -169,7 +170,7 @@ contract AppNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable require(mintSpecialFlag, "Minting of such names is restricted currently"); } - mint(to, "", validatedAppName); + mint(to, uri, validatedAppName); } /** @@ -380,7 +381,7 @@ contract AppNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable function supportsInterface(bytes4 interfaceId) public view - override(ERC721Upgradeable, ERC721EnumerableUpgradeable) + override(ERC721Upgradeable, ERC721EnumerableUpgradeable, ERC721URIStorageUpgradeable) returns (bool) { return super.supportsInterface(interfaceId); diff --git a/contracts/AppStoreNFTUpgradeable.sol b/contracts/AppStoreNFTUpgradeable.sol index b6011b4..49dc929 100644 --- a/contracts/AppStoreNFTUpgradeable.sol +++ b/contracts/AppStoreNFTUpgradeable.sol @@ -226,7 +226,7 @@ contract AppStoreNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enume function supportsInterface(bytes4 interfaceId) public view - override(ERC721Upgradeable, ERC721EnumerableUpgradeable) + override(ERC721Upgradeable, ERC721EnumerableUpgradeable, ERC721URIStorageUpgradeable) returns (bool) { return super.supportsInterface(interfaceId); diff --git a/contracts/DevNFTUpgradeable.sol b/contracts/DevNFTUpgradeable.sol index 007276c..560a1d4 100644 --- a/contracts/DevNFTUpgradeable.sol +++ b/contracts/DevNFTUpgradeable.sol @@ -198,7 +198,7 @@ contract DevNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable function supportsInterface(bytes4 interfaceId) public view - override(ERC721Upgradeable, ERC721EnumerableUpgradeable) + override(ERC721Upgradeable, ERC721EnumerableUpgradeable, ERC721URIStorageUpgradeable) returns (bool) { return super.supportsInterface(interfaceId); diff --git a/package.json b/package.json index 7c1eb61..c9db7f9 100644 --- a/package.json +++ b/package.json @@ -8,21 +8,21 @@ "build": "hardhat compile", "console": "hardhat console", "test": "hardhat test", - "deploy:appNFT": "hardhat run scripts/deployAppNFT.js --network polygon", - "deployAppProxy": "hardhat run scripts/deployAppProxy.js --network polygon", - "verify": "hardhat run scripts/verify.js --network polygon", - "verifyAI": "hardhat run scripts/verifyAppImplementation.js --network polygon", - "deployDevProxy": "hardhat run scripts/deployDevProxy.js --network polygon", - "verifyDI": "hardhat run scripts/verifyDevImplementation.js --network polygon", - "deployAppstoreProxy": "hardhat run scripts/deployAppstoreProxy.js --network polygon", - "verifyASI": "hardhat run scripts/verifyAppstoreImplementation.js --network polygon", - "deployDappNameList": "hardhat run scripts/deployDappNameList.js --network polygon", - "verifyDappNameList": "hardhat run scripts/verifyDappNameList.js --network polygon", - "addDappNames": "hardhat run scripts/addDappNames.js --network polygon", - "upgradeDevProxy": "hardhat run scripts/upgradeDevProxy.js --network polygon", - "upgradeAppProxy": "hardhat run scripts/upgradeAppProxy.js --network polygon", - "upgradeAppstoreProxy": "hardhat run scripts/upgradeAppstoreProxy.js --network polygon", - "replaceTrx": "hardhat run scripts/replaceTransaction.js --network polygon" + "deploy:appNFT": "hardhat run scripts/deployAppNFT.js --network", + "deployAppProxy": "hardhat run scripts/deployAppProxy.js --network", + "verify": "hardhat run scripts/verify.js --network", + "verifyAI": "hardhat run scripts/verifyAppImplementation.js --network", + "deployDevProxy": "hardhat run scripts/deployDevProxy.js --network", + "verifyDI": "hardhat run scripts/verifyDevImplementation.js --network", + "deployAppstoreProxy": "hardhat run scripts/deployAppstoreProxy.js --network", + "verifyASI": "hardhat run scripts/verifyAppstoreImplementation.js --network", + "deployDappNameList": "hardhat run scripts/deployDappNameList.js --network", + "verifyDappNameList": "hardhat run scripts/verifyDappNameList.js --network", + "addDappNames": "hardhat run scripts/addDappNames.js --network", + "upgradeDevProxy": "hardhat run scripts/upgradeDevProxy.js --network", + "upgradeAppProxy": "hardhat run scripts/upgradeAppProxy.js --network", + "upgradeAppstoreProxy": "hardhat run scripts/upgradeAppstoreProxy.js --network", + "replaceTrx": "hardhat run scripts/replaceTransaction.js --network" }, "devDependencies": { "@nomicfoundation/hardhat-chai-matchers": "^1.0.6", From c3994aaea398e7fb7b76a83c99bdb40ef156bcbd Mon Sep 17 00:00:00 2001 From: harshit-bitpack Date: Fri, 26 May 2023 12:26:38 +0530 Subject: [PATCH 2/9] test file updated --- test/NFT.js | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/test/NFT.js b/test/NFT.js index 5a7afa5..71e9dd2 100644 --- a/test/NFT.js +++ b/test/NFT.js @@ -100,10 +100,10 @@ describe(".app & .dev NFT minting", function () { await devNFT .connect(account1) .safeMintDevNFT(account1.address, devName.account1); - await appNFT.safeMintAppNFT(owner.address, appName.owner); + await appNFT.safeMintAppNFT(owner.address, app_uri, appName.owner); await appNFT .connect(account1) - .safeMintAppNFT(account1.address, appName.account1); + .safeMintAppNFT(account1.address, app_uri, appName.account1); } describe("Deployment", function () { @@ -287,7 +287,7 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(account1) - .safeMintAppNFT(account1.address, appName.account1) + .safeMintAppNFT(account1.address, app_uri, appName.account1) ).not.to.be.reverted; }); @@ -298,7 +298,7 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(account1) - .safeMintAppNFT(account1.address, appName.account1) + .safeMintAppNFT(account1.address, app_uri, appName.account1) ).not.to.be.reverted; }); @@ -320,12 +320,12 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(account1) - .safeMintAppNFT(account1.address, appName.account1) + .safeMintAppNFT(account1.address, app_uri, appName.account1) ); await expect( appNFT .connect(account1) - .safeMintAppNFT(account1.address, appName.account1) + .safeMintAppNFT(account1.address, app_uri, appName.account1) ).to.be.revertedWith("provided wallet already used to create app"); }); @@ -348,13 +348,13 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(account1) - .safeMintAppNFT(account1.address, appName.account1) + .safeMintAppNFT(account1.address, app_uri, appName.account1) ); await expect( appNFT .connect(account1) - .safeMintAppNFT(account1.address, "secondName") + .safeMintAppNFT(account1.address, app_uri, "secondName") ).not.to.be.reverted; expect(await appNFT.tokensName(1)).to.equal( `${appNameLower.account1}.app` @@ -393,7 +393,7 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(otherAccount) - .safeMintAppNFT(otherAccount.address, appName.owner) + .safeMintAppNFT(otherAccount.address, app_uri, appName.owner) ).to.be.revertedWith("ERC721NameStorage: this Name already in use"); }); @@ -426,7 +426,7 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(otherAccount) - .safeMintAppNFT(otherAccount.address, "XX") + .safeMintAppNFT(otherAccount.address, app_uri, "XX") ).to.be.revertedWith("Minting of such names is restricted currently"); }); @@ -460,7 +460,7 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(otherAccount) - .safeMintAppNFT(otherAccount.address, "XX") + .safeMintAppNFT(otherAccount.address, app_uri, "XX") ).not.to.be.reverted; expect(await appNFT.tokensName(3)).to.equal("xx.app"); }); @@ -487,7 +487,7 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(otherAccount) - .safeMintAppNFT(otherAccount.address, specialdAppNames[1]) + .safeMintAppNFT(otherAccount.address, app_uri, specialdAppNames[1]) ).to.be.revertedWith("App name reserved"); }); @@ -522,7 +522,7 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(otherAccount) - .safeMintAppNFT(otherAccount.address, specialdAppNames[1]) + .safeMintAppNFT(otherAccount.address, app_uri, specialdAppNames[1]) ).not.to.be.reverted; expect(await appNFT.tokensName(3)).to.equal(`${specialdAppNames[1]}`); }); @@ -554,7 +554,7 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(otherAccount) - .safeMintAppNFT(otherAccount.address, "mint.domain") + .safeMintAppNFT(otherAccount.address, app_uri, "mint.domain") ).to.be.revertedWith("Error: Subdomain or space found"); }); @@ -585,13 +585,13 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(otherAccount) - .safeMintAppNFT(otherAccount.address, "MyFirstAppName") + .safeMintAppNFT(otherAccount.address, app_uri, "MyFirstAppName") ).not.to.be.reverted; await expect( appNFT .connect(otherAccount) - .safeMintAppNFT(otherAccount.address, "MySecondAppName.app") + .safeMintAppNFT(otherAccount.address, app_uri, "MySecondAppName.app") ).not.to.be.reverted; await expect(await appNFT.tokensName(3)).to.equal(`myfirstappname.app`); @@ -628,7 +628,7 @@ describe(".app & .dev NFT minting", function () { await expect( appNFT .connect(otherAccount) - .safeMintAppNFT(otherAccount.address, "mint my domain") + .safeMintAppNFT(otherAccount.address, app_uri, "mint my domain") ).to.be.revertedWith("Error: Subdomain or space found"); }); }); From 9641d76d34c753d81b7b8750d0d9e4310d50d996 Mon Sep 17 00:00:00 2001 From: harshit-bitpack Date: Fri, 26 May 2023 15:19:57 +0530 Subject: [PATCH 3/9] EIP4906 MetadataUpdate event added --- contracts/AppNFTUpgradeable.sol | 1 + 1 file changed, 1 insertion(+) diff --git a/contracts/AppNFTUpgradeable.sol b/contracts/AppNFTUpgradeable.sol index 2d58a1e..0c26105 100644 --- a/contracts/AppNFTUpgradeable.sol +++ b/contracts/AppNFTUpgradeable.sol @@ -297,6 +297,7 @@ contract AppNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable function updateTokenURI(uint256 _tokenID, string memory _tokenURI) external whenNotExpired(_tokenID) { require(_isApprovedOrOwner(_msgSender(), _tokenID), "ERC721: caller is not owner nor approved"); _setTokenURI(_tokenID, _tokenURI); + emit MetadataUpdate(_tokenID); emit UpdatedTokenURI(_tokenID, _tokenURI); } From 850adecf25c1dcf7baa826b86c5ccde905f8a938 Mon Sep 17 00:00:00 2001 From: harshit-bitpack Date: Sat, 3 Jun 2023 16:59:38 +0530 Subject: [PATCH 4/9] fees for mint integration --- contracts/AppNFTUpgradeable.sol | 33 +++++++++++++++++++++- contracts/ERC721NameStorageUpgradeable.sol | 2 +- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/contracts/AppNFTUpgradeable.sol b/contracts/AppNFTUpgradeable.sol index 0c26105..3e01d34 100644 --- a/contracts/AppNFTUpgradeable.sol +++ b/contracts/AppNFTUpgradeable.sol @@ -64,6 +64,12 @@ contract AppNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable //string variable for storing the schema URI string public schemaURI; + + // upgrades + uint128 public mint_fees; // fees to mint a new app name in wei + // flag to check if the minting is paid or not + bool public payForMintFlag; + /// @custom:oz-upgrades-unsafe-allow constructor constructor() { _disableInitializers(); @@ -87,6 +93,8 @@ contract AppNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable _setTrustedForwarder(trustedForwarder_); checkDappNamesListFlag=true; _tokenIdCounter.increment();//because we want it to start NFT list index from 1 & not 0 + mint_fees = 1000000000000000000; + payForMintFlag = true; } /** @@ -157,7 +165,12 @@ contract AppNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable * @param uri the uri to set for the token * @param appName the name of app to set for the token */ - function safeMintAppNFT(address to, string memory uri, string calldata appName) external whenNotPaused { + function safeMintAppNFT(address to, string memory uri, string calldata appName) external payable whenNotPaused { + + if(payForMintFlag){ + require(msg.value >= mint_fees, "Insufficient fees"); + } + if(!mintManyFlag){ require(balanceOf(to)==0, "provided wallet already used to create app"); } @@ -269,6 +282,15 @@ contract AppNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable checkDappNamesListFlag = _checkDappNamesListFlag; } + /** + * @notice toggles payForMintFlag by onlyOwner + * @dev this flag is used to check if the app name mint is paid or not + * @param _payForMintFlag bool value to set the flag + */ + function setPayForMintFlag(bool _payForMintFlag) external onlyOwner { + payForMintFlag = _payForMintFlag; + } + /** * @notice set platform trading_fees percentage for the sale of .app NFT @@ -288,6 +310,15 @@ contract AppNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable renew_fees = _new_renew_fees; } + /** + * @notice set platform mint_fees for the mint of .app NFT + * @dev this is the fees taken to mint a .app NFT + * @param _new_mint_fees uint128 value which is fees in MATIC + */ + function setMintFees(uint128 _new_mint_fees) external onlyOwner { + mint_fees = _new_mint_fees; + } + /** * @notice updates the tokenURI for the given token ID * @dev checks if caller is the owner/approved for tokenID and emits UpdatedTokenURI event after URI update diff --git a/contracts/ERC721NameStorageUpgradeable.sol b/contracts/ERC721NameStorageUpgradeable.sol index e0399a0..1caf097 100644 --- a/contracts/ERC721NameStorageUpgradeable.sol +++ b/contracts/ERC721NameStorageUpgradeable.sol @@ -42,7 +42,7 @@ abstract contract ERC721NameStorageUpgradeable is Initializable, ERC721Upgradeab uint256 length = nameBytes.length; bytes memory nameBytesLower = new bytes(length); for(uint256 i=0; i < length; i++){ - if(nameBytes[i] == '.' || nameBytes[i] == 0x20){ + if(nameBytes[i] == '.' || nameBytes[i] == 0x20 || nameBytes[i] == 0x09){ revert("Error: Subdomain or space found"); }else{ if ((uint8(nameBytes[i]) >= 65) && (uint8(nameBytes[i]) <= 90)) { From c7c8aaeb11af3ead5a84942fda40c3f3a1504741 Mon Sep 17 00:00:00 2001 From: harshit-bitpack Date: Sat, 3 Jun 2023 17:10:00 +0530 Subject: [PATCH 5/9] test file updated --- test/NFT.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/NFT.js b/test/NFT.js index 71e9dd2..ce18fb0 100644 --- a/test/NFT.js +++ b/test/NFT.js @@ -63,6 +63,7 @@ describe(".app & .dev NFT minting", function () { ]); await appNFT.deployed(); // const devNFT = await DevNFT.deploy(); + await appNFT.setPayForMintFlag(false); return { devNFT, From a7daac8cb4a3d280898fabe9aee0d69a9deafd2f Mon Sep 17 00:00:00 2001 From: harshit-bitpack Date: Sat, 3 Jun 2023 17:58:15 +0530 Subject: [PATCH 6/9] updated mint fee error text --- contracts/AppNFTUpgradeable.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/AppNFTUpgradeable.sol b/contracts/AppNFTUpgradeable.sol index 3e01d34..d630157 100644 --- a/contracts/AppNFTUpgradeable.sol +++ b/contracts/AppNFTUpgradeable.sol @@ -168,7 +168,7 @@ contract AppNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable function safeMintAppNFT(address to, string memory uri, string calldata appName) external payable whenNotPaused { if(payForMintFlag){ - require(msg.value >= mint_fees, "Insufficient fees"); + require(msg.value >= mint_fees, "Insufficient mint fee"); } if(!mintManyFlag){ From bf4cd594fc0c57f7f6e59ace29b0632d080a0bfc Mon Sep 17 00:00:00 2001 From: harshit-bitpack Date: Wed, 2 Aug 2023 11:12:35 +0530 Subject: [PATCH 7/9] appStore & dev names added --- scripts/addDappNames.js | 38 +- scripts/reservedAppStoreNames.json | 9 + scripts/reservedDevNames.json | 4150 ++++++++++++++++++++++++++++ 3 files changed, 4190 insertions(+), 7 deletions(-) create mode 100644 scripts/reservedAppStoreNames.json create mode 100644 scripts/reservedDevNames.json diff --git a/scripts/addDappNames.js b/scripts/addDappNames.js index e7db7ca..497bf25 100644 --- a/scripts/addDappNames.js +++ b/scripts/addDappNames.js @@ -1,6 +1,8 @@ const { ethers } = require("hardhat"); const contractAddress = require("./config.json"); -const { names } = require("./reservedDappNames.json"); +const appName = require("./reservedDappNames.json"); +const devName = require("./reservedDevNames.json"); +const appStoreName = require("./reservedAppStoreNames.json"); async function addDappNames(names) { try { @@ -14,24 +16,46 @@ async function addDappNames(names) { ); return await dappNameList.setDappNames(names); } catch (err) { - console.log("addDappNames error: ", err); + console.log("adding Names error: ", err); } } async function main() { - console.log("adding list of dapp names"); + console.log("adding list of names"); const signer = await ethers.getSigner(); console.log("signer: ", signer.address); try { + const startIndex = 2900; const stopIndex = 3100; + const name = '.appStore' + + if(name == '.appStore'){ + console.log("startIndex: ", startIndex); + let appStoreNameList = appStoreName.names.slice(startIndex, stopIndex); + console.log("appStoreNameList Length: ", appStoreNameList.length); + console.log(await addDappNames(appStoreNameList)); + + } else if(name == '.app'){ + console.log("startIndex: ", startIndex); + let appNameList = appName.names.slice(startIndex, stopIndex); + console.log("appNameList Length: ", appNameList.length); + console.log(await addDappNames(appNameList)); + + } else if(name == '.dev'){ + console.log("startIndex: ", startIndex); + let devNameList = devName.names.slice(startIndex, stopIndex); + console.log("devNameList Length: ", devNameList.length); + console.log(await addDappNames(devNameList)); + + } else { + console.log("Invalid name"); + return; + } + - console.log("startIndex: ", startIndex); - let appNameList = names.slice(startIndex, stopIndex); - console.log("appNameList Length: ", appNameList.length); - console.log(await addDappNames(appNameList)); // const [deployer] = await ethers.getSigners(); // const DappNameListAddress = contractAddress.DappNameList diff --git a/scripts/reservedAppStoreNames.json b/scripts/reservedAppStoreNames.json new file mode 100644 index 0000000..d335b01 --- /dev/null +++ b/scripts/reservedAppStoreNames.json @@ -0,0 +1,9 @@ +{ + "names":[ + "trooplabs.appStore", + "unstoppablemarketplace.appStore", + "misesbrowser.appStore", + "itsobvioustech.appStore", + "cloudkey.appStore" + ] +} \ No newline at end of file diff --git a/scripts/reservedDevNames.json b/scripts/reservedDevNames.json new file mode 100644 index 0000000..2cf4b0e --- /dev/null +++ b/scripts/reservedDevNames.json @@ -0,0 +1,4150 @@ +{ + "names": [ + "cryptokitties.dev", + "larvalabs.dev", + "opensea.dev", + "ethermon.dev", + "blockchaincuties.dev", + "mooncatrescue.dev", + "decentraland.dev", + "0x.dev", + "ens.dev", + "axieinfinity.dev", + "airswap.dev", + "superrare.dev", + "mcp3d.dev", + "0xuniverse.dev", + "cryptovoxels.dev", + "godsunchained.dev", + "multisender.dev", + "oasis.dev", + "mlbc.dev", + "warriders.dev", + "mycryptoheroes.dev", + "compound.dev", + "knownorigin.dev", + "dragonereum.dev", + "ethereumgold.dev", + "cryptodozer.dev", + "blockcities.dev", + "mintable.dev", + "dydx.dev", + "tokenlon.dev", + "cheezewizards.dev", + "cryptoskulls.dev", + "sablier.dev", + "sandbox.dev", + "uniswap.dev", + "cryptospells-en.dev", + "flowerpatch.dev", + "pooltogether.dev", + "degens.dev", + "somniumspace.dev", + "neondistrict.dev", + "knightstory.dev", + "makersplace.dev", + "hex.dev", + "bitpie.dev", + "tokentrove.dev", + "herokuapp.dev", + "bravefrontierheroes.dev", + "synthetix.dev", + "aave.dev", + "bulksender.dev", + "darkcountry.dev", + "pixelchain.dev", + "eggrypto.dev", + "curve.dev", + "avastars.dev", + "leagueofkingdoms.dev", + "playdapp.dev", + "for.dev", + "renproject.dev", + "datamine.dev", + "tewkenaire.dev", + "balancer.dev", + "uniswap-app.dev", + "mooniswap.dev", + "yearn.dev", + "akropolis.dev", + "sushi.dev", + "3fmutual.dev", + "swerve.dev", + "cvault.dev", + "cream.dev", + "wrappedpunks.dev", + "crypto.dev", + "ilovewise.dev", + "barnbridge.dev", + "denations.dev", + "async.dev", + "pepemon.dev", + "idle.dev", + "peakdefi.dev", + "badger.dev", + "aave-app.dev", + "cointool.dev", + "openocean.dev", + "rarible-cryptocubes.dev", + "artblocks.dev", + "alphafinance.dev", + "bao.dev", + "unifiprotocol.dev", + "thehashmasks.dev", + "blocto.dev", + "ethblock.dev", + "nexusmutual.dev", + "tokensets.dev", + "pob.dev", + "flexa.dev", + "eulerbeats.dev", + "dypius.dev", + "portion.dev", + "alchemix.dev", + "reflexer.dev", + "vesper.dev", + "bifi-app.dev", + "getpixls.dev", + "foundation.dev", + "smoothy.dev", + "wepiggy.dev", + "ether.dev", + "unic.dev", + "wing.dev", + "niftydudes.dev", + "polychainmonsters.dev", + "liquity.dev", + "rally.dev", + "alkemi.dev", + "krystal.dev", + "guildofguardians.dev", + "larvalabs-meebits.dev", + "boredapeyachtclub.dev", + "treasureland.dev", + "dvision.dev", + "cowswap.dev", + "crazydefenseheroes.dev", + "veefriends.dev", + "request.dev", + "insurace.dev", + "ethermore.dev", + "luchadores.dev", + "crypteriors.dev", + "voxies.dev", + "dforce.dev", + "eswap.dev", + "punkscomic.dev", + "timewarp.dev", + "rampdefi.dev", + "defiplaza.dev", + "lootex.dev", + "spunksnft.dev", + "wickedcranium.dev", + "slackerduckpond.dev", + "indexcoop.dev", + "main.dev", + "convexfinance.dev", + "integral.dev", + "umaproject.dev", + "saddle.dev", + "mirror.dev", + "lido.dev", + "capitaldex.dev", + "strike.dev", + "deafbeef.dev", + "shibaswap.dev", + "cryptohodlers.dev", + "hotcross.dev", + "barnowlz.dev", + "nft20.dev", + "mars4.dev", + "nftrade.dev", + "stonercats.dev", + "element.dev", + "unilend.dev", + "worldofwomen.dev", + "royalsocietyofplayers.dev", + "pudgypenguins.dev", + "eth.dev", + "fleek.dev", + "sunrisegaming-dao.dev", + "notables.dev", + "plasmabears.dev", + "chadsnft.dev", + "arken.dev", + "animetas.dev", + "0n1force.dev", + "coolcatsnft.dev", + "lazylionsnft.dev", + "curio.dev", + "parallel.dev", + "blitmap.dev", + "guttercatgang.dev", + "bikersnft.dev", + "lonelyaliens.dev", + "fluf.dev", + "bossdrops.dev", + "thevogu.dev", + "topdogbeachclub.dev", + "incognitonft.dev", + "treeverse.dev", + "cyberkongz.dev", + "bastardganpunks.dev", + "lootproject.dev", + "creature.dev", + "heni.dev", + "thedogepoundnft.dev", + "alcabones.dev", + "fanggang.dev", + "thehundreds.dev", + "fatales.dev", + "gevols.dev", + "kamagang.dev", + "nfttyson.dev", + "avidlines.dev", + "gen.dev", + "rumblekongleague.dev", + "stakedao.dev", + "entities.dev", + "tssnft.dev", + "pepperattack.dev", + "thesettlements.dev", + "roguesociety.dev", + "thesevensofficial.dev", + "guttercatgang-mintpass.dev", + "lostpoets.dev", + "thewatch.dev", + "sympathyforthedevils.dev", + "fusionapes.dev", + "mutant.dev", + "sloot-project.dev", + "uwucrew.dev", + "gamblingapes.dev", + "monkeybet.dev", + "spacepunks.dev", + "roleformetaverse.dev", + "axolittles.dev", + "savagedroids.dev", + "sipher.dev", + "cryptoadz.dev", + "afterorder.dev", + "robotos.dev", + "cryptodadsnft.dev", + "infinites.dev", + "chibiapes.dev", + "svs.dev", + "koingames.dev", + "fewmans.dev", + "metaguardians.dev", + "theprojecturs.dev", + "onchainmonkey.dev", + "tikifestival.dev", + "circuitsofvalue.dev", + "pixelmap.dev", + "borpa.dev", + "frogsindisguise.dev", + "artificial.dev", + "omnimorphs.dev", + "arbitrum.dev", + "dgenesis.dev", + "holycows.dev", + "dapperdinos.dev", + "peacevoid.dev", + "blankface.dev", + "lockdownlemmings.dev", + "kinesis.dev", + "dystopunksv2.dev", + "quadrums.dev", + "jadu.dev", + "nfheroes.dev", + "sappyseals.dev", + "mannys.dev", + "ourcouch.dev", + "cupcatnft.dev", + "claylings.dev", + "10ktf.dev", + "badbunniesnft.dev", + "deadfellaz.dev", + "moon-boyz.dev", + "thecolors.dev", + "galaxyfightclub.dev", + "apedaoremix.dev", + "koalaintelligence.dev", + "saconigenerative.dev", + "impermanent.dev", + "0xmons.dev", + "afrodroids.dev", + "nahfungiblebones.dev", + "cryptohobos.dev", + "citadelofthemachines.dev", + "badkidsalley.dev", + "seasidenft.dev", + "wemint.dev", + "marscatsvoyage.dev", + "superlativesecretsociety.dev", + "bcsnft.dev", + "0xadventures.dev", + "raini.dev", + "theglitches.dev", + "knightsofdegen.dev", + "niftyriots.dev", + "cryptomutts.dev", + "flurry.dev", + "time.dev", + "loomlock.dev", + "immadegen.dev", + "heartnfts.dev", + "angryboars.dev", + "yolodice.dev", + "expfunction.dev", + "evolvedapes.dev", + "avariksaga.dev", + "monsterbuds.dev", + "bossbeauties.dev", + "landdao.dev", + "magicmushroomclubnft.dev", + "metaarmy.dev", + "wickedapes.dev", + "cryptochicks.dev", + "refinable.dev", + "habbo.dev", + "winterbearsnft.dev", + "galacticapes.dev", + "multiversevm.dev", + "capsulehouse.dev", + "primatesocialsociety.dev", + "roaringleaders.dev", + "lofikitties.dev", + "genzeroes.dev", + "bearmarketbears.dev", + "shabu.dev", + "yakuzacats.dev", + "nifty-league.dev", + "thehumanoids.dev", + "ogmc.dev", + "bubblegumkids.dev", + "fvckcrystal.dev", + "themetakey.dev", + "obitsnft.dev", + "mutantcats.dev", + "northernguilds.dev", + "flyfrogs.dev", + "cryptofoxes.dev", + "cryptodickbutts.dev", + "supershibas.dev", + "infamousskullz.dev", + "cryptohoots.dev", + "punkscape.dev", + "daoturtles.dev", + "surreals.dev", + "dirtybirdrecords.dev", + "thefungi.dev", + "foxfam.dev", + "loopydonuts.dev", + "chillfrogs.dev", + "stackedtoads.dev", + "kuddlykoalas.dev", + "boringstone.dev", + "arcadenfts.dev", + "coinwind.dev", + "ipfs.dev", + "thehashes.dev", + "museum-refined.dev", + "messagetomartians.dev", + "sametoadz.dev", + "themekaverse.dev", + "tokemak.dev", + "augmented.dev", + "zombiecats.dev", + "ethereals.dev", + "2545.dev", + "pixelbeasts.dev", + "themta.dev", + "cyberhornetscolony.dev", + "fastfoodfren.dev", + "art-ai.dev", + "fudfarm.dev", + "cryptorastas.dev", + "crazyskullz.dev", + "iwwon.dev", + "wooshi.dev", + "sorasdreamworld.dev", + "lonelyfroglamboclub.dev", + "goobers.dev", + "choadz.dev", + "github.dev", + "nftfi.dev", + "nekonft.dev", + "rebelseals.dev", + "basementdwellersnft.dev", + "metasaurs.dev", + "halloweenbears.dev", + "madrabbits.dev", + "forgottenrunes.dev", + "thetokyoten.dev", + "behodler.dev", + "founderskey.dev", + "evolvingforest.dev", + "junglefreaks.dev", + "bitlectrolabs.dev", + "darkhorizon.dev", + "kaijukingz.dev", + "genzeenft.dev", + "ogcrystals.dev", + "twobitbears.dev", + "defil.dev", + "mobileminigames.dev", + "doodles.dev", + "headdao.dev", + "shibaswap-shiboshis.dev", + "billionaireclubnft.dev", + "cryptopolz.dev", + "partydegenerates.dev", + "metamask.dev", + "polygon.dev", + "ethereum.dev", + "aifa.dev", + "sonar.dev", + "meland.dev", + "dogsofelon.dev", + "creaturetoadz.dev", + "playboyrabbitars.dev", + "womenandweapons.dev", + "mountvitruvius.dev", + "exclusible.dev", + "cryptozombiez.dev", + "boonjiproject.dev", + "pumpkinheadsnft.dev", + "octohedz.dev", + "etholvants.dev", + "abracadabra.dev", + "desperateapewives.dev", + "wallstreetbulls.dev", + "billionaires.dev", + "nouns.dev", + "ledgart.dev", + "tomsachsrocketfactory.dev", + "guppygang.dev", + "thefabled.dev", + "polkaex.dev", + "instadapp.dev", + "goatsociety.dev", + "octusbridge.dev", + "kine.dev", + "pstake.dev", + "wpengine.dev", + "divineanarchy.dev", + "allbridge.dev", + "angryapesunited.dev", + "curiousaddys.dev", + "spookyboys.dev", + "hor1zonproject.dev", + "chainrunners.dev", + "thorguards.dev", + "nftkey.dev", + "just.dev", + "capital-dao.dev", + "gameofblocks.dev", + "mondriannft.dev", + "bcmhunt.dev", + "bauhausblocks.dev", + "nonfungiblesoup.dev", + "notlarvalabs.dev", + "yieldly.dev", + "solv.dev", + "wolf.dev", + "feudalz.dev", + "noundles.dev", + "3space.dev", + "sodativity.dev", + "evosnails.dev", + "kohi.dev", + "symbiosis.dev", + "thewildbunch.dev", + "bitmonsters.dev", + "elyfi.dev", + "deltatheta.dev", + "unstoppabledomains.dev", + "tracer.dev", + "tofunft.dev", + "webb.dev", + "thelittles.dev", + "beargame.dev", + "poolsuite.dev", + "swamps.dev", + "bricktopians.dev", + "dormantdragons.dev", + "rtfkt.dev", + "quantum.dev", + "sidusheroes.dev", + "blockchainminers.dev", + "cryptomultisender.dev", + "dx.dev", + "bifi.dev", + "cooldogs.dev", + "duskbreakers.dev", + "wnd.dev", + "nftworlds.dev", + "apekidsclub.dev", + "cryptobullsociety.dev", + "subtraction.dev", + "apesinspace.dev", + "meta-legends.dev", + "slotie.dev", + "kromatika.dev", + "treasure.dev", + "xdao.dev", + "adidas.dev", + "alienfrens.dev", + "nanopass.dev", + "houseoflegends.dev", + "dinobabies.dev", + "jpgpeople.dev", + "mypethooligan.dev", + "shibasocialclub.dev", + "coolmansuniverse.dev", + "noodlesnft.dev", + "euler.dev", + "nuclearnerds.dev", + "cybergorillas.dev", + "daz3d.dev", + "meta-island.dev", + "expansionpunks.dev", + "everrise.dev", + "sharkoutlawsquad.dev", + "ooki.dev", + "goodswap.dev", + "primeapeplanet.dev", + "apocalypticapes.dev", + "critterz.dev", + "linksdao.dev", + "chainfacesarena.dev", + "ezek.dev", + "collectvox.dev", + "coolape.dev", + "dystoapez.dev", + "makc.dev", + "nbayc.dev", + "kumoxworld.dev", + "psychedelicsanonymous.dev", + "yungapesquad.dev", + "wormhole.dev", + "looksrare.dev", + "decentraweb.dev", + "fudderverse.dev", + "humanprotocol.dev", + "lootexplorers.dev", + "decentral.dev", + "kyberswap.dev", + "inventorclub.dev", + "dragonmaster.dev", + "alienapeyc.dev", + "azuki.dev", + "livesofasuna.dev", + "superplastic.dev", + "thebeeings.dev", + "zipcy.dev", + "hapeprime.dev", + "kittycryptogang.dev", + "killergf.dev", + "rug.dev", + "womenrise.dev", + "sandstorm.dev", + "metahousemafia.dev", + "batchtransfer.dev", + "pixelmon.dev", + "x2y2.dev", + "vulcanforged.dev", + "emiswap.dev", + "debridge.dev", + "basedvitalik.dev", + "cryptobatz.dev", + "orbitchain.dev", + "transit.dev", + "roborovski.dev", + "synapseprotocol.dev", + "hundred.dev", + "chocomint.dev", + "aboard.dev", + "gro.dev", + "gem.dev", + "invisiblefriends.dev", + "tubbycats.dev", + "3landersnft.dev", + "starcatchers.dev", + "degentoonz.dev", + "catblox.dev", + "llamaverse.dev", + "jpegd.dev", + "bloodshedbears.dev", + "dentedfeelsnft.dev", + "wonderpals.dev", + "howlerz.dev", + "cryptotechwomennft.dev", + "karafuru.dev", + "thekiss.dev", + "proof.dev", + "metroverse.dev", + "crowdswap.dev", + "benjibananas.dev", + "frax.dev", + "melos.dev", + "netvrk.dev", + "ethereumtowers.dev", + "matrixworld.dev", + "dhedge.dev", + "riot.dev", + "dodoex.dev", + "xy.dev", + "veecon.dev", + "bapetaverse.dev", + "smallbrosnft.dev", + "thalesmarket.dev", + "bungee.dev", + "perp.dev", + "orbs.dev", + "connext.dev", + "instadapp-lite.dev", + "muri.dev", + "kiwami.dev", + "quirkies.dev", + "arcade.dev", + "akumaorigins.dev", + "ethlizards.dev", + "eightbit.dev", + "celer.dev", + "definer.dev", + "crucible.dev", + "cexiswap.dev", + "minesofdalarnia.dev", + "zunami.dev", + "impostors.dev", + "premint.dev", + "clipper.dev", + "moonbirds.dev", + "rove.dev", + "wax.dev", + "aku.dev", + "rtfkt-mnlth.dev", + "satoshibles.dev", + "apollox.dev", + "ragnarok.dev", + "owldao.dev", + "imaginaryones.dev", + "veefriends-series2.dev", + "mybff.dev", + "thelunartics.dev", + "unxd.dev", + "outland.dev", + "otherside.dev", + "conic.dev", + "wnsdomains.dev", + "double.dev", + "collarquest.dev", + "hyundai-nft.dev", + "ghostmarket.dev", + "airdropme.dev", + "etherspot.dev", + "notokaybears.dev", + "catgirlacademia.dev", + "goblintown.dev", + "chimpers.dev", + "curiositiesnft.dev", + "theuncanny.dev", + "apereunion.dev", + "probablynothing.dev", + "osf.dev", + "multichain.dev", + "walkwithstep.dev", + "tgoagenesis.dev", + "g.dev", + "bobodegenapocalypse.dev", + "boki.dev", + "strangetimesnft.dev", + "the-art-of-progress.dev", + "bitkeep.dev", + "akumudragonz.dev", + "mlabs.dev", + "gentscroquetclub.dev", + "elftown.dev", + "plenty.dev", + "angrydynomiteslab.dev", + "liquidifty.dev", + "illuvium.dev", + "nftftc.dev", + "halonft.dev", + "cryptobots.dev", + "popcorn.dev", + "radioshack.dev", + "nftmall.dev", + "kaikaikiki.dev", + "xp.dev", + "nested.dev", + "hop.dev", + "sneakerheads.dev", + "impossible.dev", + "xcarnival.dev", + "leonicornswap.dev", + "bullieverse.dev", + "ferrum.dev", + "moonrunners.dev", + "gossamer.dev", + "openleverage.dev", + "dappradar.dev", + "undra.dev", + "wardenswap.dev", + "helix.dev", + "cybonix.dev", + "aura.dev", + "lifestoryapp.dev", + "rarity.dev", + "okx.dev", + "supremacy.dev", + "bridgers.dev", + "candlegenie.dev", + "dotoracle.dev", + "arc.dev", + "betswap.dev", + "stargate.dev", + "etherorcs.dev", + "cryptopolisgame.dev", + "push.dev", + "galler.dev", + "rhino.dev", + "nestprotocol.dev", + "thedustland.dev", + "quest3.dev", + "sakuraplanet.dev", + "womenapeyachtclub.dev", + "slm.dev", + "mycryptoview.dev", + "digidaigaku.dev", + "rareapepeyachtclub.dev", + "renga.dev", + "sudoswap.dev", + "across.dev", + "sweateconomy.dev", + "nftify.dev", + "nftx.dev", + "tellor.dev", + "liquidus.dev", + "runestonetoken.dev", + "v-empire.dev", + "exosama.dev", + "ethichub.dev", + "888atari50.dev", + "silo.dev", + "defifranc.dev", + "goonsofbalatroon.dev", + "degate.dev", + "bitcoin.dev", + "ultiverse.dev", + "leofinance.dev", + "smolsweep.dev", + "moonsama.dev", + "hashflow.dev", + "thebornless.dev", + "yu-gi-yn.dev", + "metakrew.dev", + "team.dev", + "metabountyhuntress.dev", + "babylons.dev", + "minted.dev", + "pancakeswap.dev", + "mugenswap.dev", + "usecyan.dev", + "rplanetnft.dev", + "metalcore.dev", + "footium.dev", + "icrosschain.dev", + "o3swap.dev", + "galxe.dev", + "sperax.dev", + "singularitydao.dev", + "allbridge-core-home.dev", + "blur.dev", + "artgobblers.dev", + "kprverse.dev", + "zeroswap.dev", + "dzap.dev", + "fujidao.dev", + "loobr.dev", + "revert.dev", + "just-pay.dev", + "trace.dev", + "champions.dev", + "puffverse.dev", + "voxnet.dev", + "yclub.dev", + "axelar.dev", + "sunday.dev", + "helixmetaverse.dev", + "beyondearthonline.dev", + "humankind.dev", + "boredy00tsac.dev", + "celmates.dev", + "cyberconnect.dev", + "acryptos.dev", + "joinvalhalla.dev", + "smartfinance.dev", + "win3.dev", + "gigaswap.dev", + "genso.dev", + "ultimate-champions.dev", + "mintbase.dev", + "path.dev", + "simplefx.dev", + "apestake.dev", + "arrland.dev", + "incognito.dev", + "musse.dev", + "escapeth.dev", + "memeland.dev", + "kryptolite.dev", + "ylide.dev", + "defimons.dev", + "ooccaclub.dev", + "openblox.dev", + "metagoal.dev", + "luckynft.dev", + "infinigods.dev", + "niftyin.dev", + "townstar.dev", + "rabbithereum.dev", + "twitfi.dev", + "mutantdao.dev", + "savagenationnft.dev", + "6529.dev", + "ghostbuddy.dev", + "oncyber.dev", + "keungz.dev", + "mutantdao-oath.dev", + "zenacademy.dev", + "helpmedebugthis.dev", + "producerc.dev", + "luckycat.dev", + "autonomynetwork.dev", + "checks.dev", + "odos.dev", + "wastelands.dev", + "fellowship.dev", + "arable.dev", + "dreadfulz.dev", + "peanut.dev", + "openaierc.dev", + "oldrocknft.dev", + "feetpix.dev", + "swapsicle.dev", + "metronome.dev", + "proof-grails.dev", + "ethmachine.dev", + "minethereum.dev", + "ankr.dev", + "spidertanks.dev", + "niftys.dev", + "collectfuzzle.dev", + "currybrand.dev", + "theorbs.dev", + "venly.dev", + "cyberbrokers-io.dev", + "projectfox.dev", + "cian.dev", + "createra.dev", + "zunkz.dev", + "miladymaker.dev", + "matr1x.dev", + "akidcalledbeast.dev", + "pepeland.dev", + "planetxolo.dev", + "honknft.dev", + "checkpunks.dev", + "degenskellies.dev", + "uland.dev", + "central_frog.dev", + "angryapessociety.dev", + "monkeytrip.dev", + "hyperion-eth.dev", + "mintpad.dev", + "cyberbrokers.dev", + "shadow14.dev", + "manifold.dev", + "ape.dev", + "cryptonatty.dev", + "mdvmm.dev", + "mg.dev", + "kanpaipandas.dev", + "ninja-dao.dev", + "teritori.dev", + "cryptohasbullanft.dev", + "alethea.dev", + "pencilcase.dev", + "ampleforth.dev", + "art.dev", + "pepabstracts.dev", + "remilio.dev", + "metabountyhunters.dev", + "v1punks.dev", + "frenlypandas.dev", + "darkflex.dev", + "genuineundead.dev", + "gmdao.dev", + "godhatesnftees.dev", + "nyan.dev", + "zeropointstudios.dev", + "contango.dev", + "superkawaii.dev", + "kawaiiplushies.dev", + "porsche.dev", + "geni.dev", + "toshies.dev", + "miaocraft.dev", + "alienswap.dev", + "folia.dev", + "alphasharks.dev", + "killabears.dev", + "kudoe.dev", + "shilly.dev", + "byt.dev", + "khuga.dev", + "zed.dev", + "synergyofserra.dev", + "pirates2048.dev", + "chaingames.dev", + "mycryptosaga.dev", + "aavegotchi.dev", + "drakons.dev", + "cryptocolosseum.dev", + "quickswap.dev", + "cometh-swap.dev", + "artvatars.dev", + "elk.dev", + "polycat.dev", + "adamant.dev", + "gains.dev", + "mai.dev", + "dfyn.dev", + "beefy.dev", + "harborbcg.dev", + "kogefarm.dev", + "iron.dev", + "autofarm.dev", + "embersword.dev", + "polydex-fi.dev", + "cometh.dev", + "polypup.dev", + "wault.dev", + "gemstones.dev", + "crystl.dev", + "apeswap.dev", + "augury.dev", + "farmhero.dev", + "polyquity.dev", + "polypunks.dev", + "dojofarm.dev", + "cremepieswap.dev", + "jetswap.dev", + "revvracing.dev", + "swamp.dev", + "autoshark.dev", + "loserchick.dev", + "polydex.dev", + "pynths.dev", + "ethalend.dev", + "tetu.dev", + "huddln.dev", + "singular.dev", + "pancakebunny.dev", + "dehive.dev", + "multichain-miner.dev", + "cougarswap.dev", + "darkside.dev", + "evolution.dev", + "gamee.dev", + "snook.dev", + "tokenminer.dev", + "polygonpenguins.dev", + "cryptospells.dev", + "plotx.dev", + "idamurni.dev", + "gravis.dev", + "zesty.dev", + "thecryptoprophecies.dev", + "metasoccer.dev", + "gravityfinance.dev", + "magicianmetaverse.dev", + "wowswap.dev", + "wolfible.dev", + "moonie.dev", + "mysteriumvpn.dev", + "cafeswap.dev", + "evervo.dev", + "pegaxy.dev", + "dogira.dev", + "solo.dev", + "parrotdefi.dev", + "cryptoblades.dev", + "kommunitas.dev", + "toucan.dev", + "axion.dev", + "idex.dev", + "metroswap.dev", + "moon-vault.dev", + "retrofarms.dev", + "bogged.dev", + "veggiesfarmgame.dev", + "geopoly.dev", + "otterclam.dev", + "ricochet.dev", + "phantomgalaxies.dev", + "nachoxyz.dev", + "ethlas.dev", + "vesq.dev", + "openbisea.dev", + "nftb.dev", + "yugen.dev", + "airnfts.dev", + "cryptoraiders.dev", + "tryhards.dev", + "betswirl.dev", + "superfast.dev", + "hunnyplay.dev", + "algebra.dev", + "fabwelt.dev", + "fancybirds.dev", + "yieldwolf.dev", + "firebirdfinance.dev", + "goodghosting.dev", + "polyflip.dev", + "communitygaming.dev", + "flashliquidity.dev", + "rune.dev", + "troglodytessociety.dev", + "cryptounicorns.dev", + "forestknight.dev", + "yup.dev", + "polycub.dev", + "duelistking.dev", + "fantomstarter.dev", + "cryptocookiesdao.dev", + "planetix.dev", + "polydogestaker.dev", + "gooeys.dev", + "crystal.dev", + "worldwar.dev", + "cryptobomber.dev", + "derace.dev", + "frontyardbaseball.dev", + "vineyard.dev", + "battlewave2323.dev", + "dailyfarm.dev", + "microbuddies.dev", + "chess.dev", + "etna.dev", + "mining.dev", + "wildernessp2e.dev", + "blockvatar.dev", + "skyweaver.dev", + "owl.dev", + "sphere.dev", + "ancientsociety.dev", + "marscolony.dev", + "lens.dev", + "cask.dev", + "karmaverse.dev", + "mountainminer.dev", + "realitycards.dev", + "metavault.dev", + "klimadao.dev", + "playbite.dev", + "punk.dev", + "slingshot.dev", + "auraswap.dev", + "mooneen.dev", + "pipeflare.dev", + "ketos.dev", + "cplcrypto.dev", + "carv.dev", + "fatexfi.dev", + "fractalstudios.dev", + "bombcrypto.dev", + "mafiafoot.dev", + "covey.dev", + "theredvillage.dev", + "maticminers.dev", + "meshswap.dev", + "edns.dev", + "rigelprotocol.dev", + "kryptofighters.dev", + "yolorekt.dev", + "float.dev", + "hashport.dev", + "midascapital.dev", + "maticfee.dev", + "polymm.dev", + "demountain.dev", + "richethereum.dev", + "polymm-vaults.dev", + "polymm-stable.dev", + "bhavish.dev", + "dawnstar.dev", + "orbitdefi.dev", + "defydisrupt.dev", + "mintworldgame.dev", + "croissant.dev", + "go2e.dev", + "genadrop.dev", + "gunfirepolygon.dev", + "apeironnft.dev", + "symphony.dev", + "roci.dev", + "pyme.dev", + "cryptoroyale.dev", + "onerare.dev", + "playlifebeyond.dev", + "ulteraonline.dev", + "zkbob.dev", + "sship.dev", + "oneworldnation.dev", + "wormhole3.dev", + "scgames.dev", + "chameleonnft.dev", + "nice2win.dev", + "matickingdom.dev", + "debets.dev", + "epicleague.dev", + "tbgusd.dev", + "megamoon.dev", + "cryptobirds.dev", + "rebelminers.dev", + "earntube.dev", + "moonpage.dev", + "zomon.dev", + "p12.dev", + "luxon.dev", + "daigon.dev", + "maticdefi.dev", + "knightsandpeasants.dev", + "deesse.dev", + "fantom.dev", + "hawku.dev", + "synfutures.dev", + "sheepfarmer.dev", + "nextearth.dev", + "stellum.dev", + "houndrace.dev", + "freebielife.dev", + "alfastaking.dev", + "wonder.dev", + "collecttrumpcards.dev", + "maxx.dev", + "monstersoccer.dev", + "uno.dev", + "angelbattles.dev", + "plena.dev", + "thesmurfssociety.dev", + "hellcatsnft.dev", + "mobula.dev", + "equalssport.dev", + "w3poker.dev", + "yeehagames.dev", + "greengrower.dev", + "gamesonchain.dev", + "ivy.dev", + "spiderweb.dev", + "woo.dev", + "maticultra.dev", + "wam.dev", + "coinbet.dev", + "galaxylotto.dev", + "amazonaws.dev", + "0vix.dev", + "hashmail.dev", + "oohlala.dev", + "floornfts.dev", + "virtualness.dev", + "purplepay.dev", + "unjumble.dev", + "cryptorefills.dev", + "heymint.dev", + "mintify.dev", + "rehold.dev", + "1inch.dev", + "dmail.dev", + "coingecko.dev", + "surfaceboard.dev", + "milliononmars.dev", + "supducks.dev", + "reap.dev", + "nfttrader.dev", + "hivenftapp.dev", + "xionpay.dev", + "sunflower-land.dev", + "push-app.dev", + "komet.dev", + "memeameme.dev", + "memeameme-memepunks.dev", + "socialswap.dev", + "socialswap-transfer.dev", + "socialswap-airdrop.dev", + "socialswap-giftexchange.dev", + "socialswap-swap.dev", + "socialswap-mart.dev", + "sending.dev", + "staderlabs.dev", + "1inch-wallet.dev", + "bitrefill.dev", + "soclly.dev", + "pxcard.dev", + "rarible.dev", + "dapplooker.dev", + "mocaverse.dev", + "verida.dev", + "jump.dev", + "jump-mcl-game.dev", + "onmeta.dev", + "exeno.dev", + "hashbon.dev", + "rainbows.dev", + "doortonostalgia.dev", + "101.dev", + "alc.dev", + "speedboat.dev", + "artislife.dev", + "ciphershooters.dev", + "envelop.dev", + "fatexfi-app.dev", + "loserchick-app.dev", + "rhino-app.dev", + "arianee.dev", + "avedex.dev", + "bannersnft.dev", + "bbr.dev", + "betablocks.dev", + "blockpour.dev", + "bluejay.dev", + "bogman.dev", + "ceramic.dev", + "chronchain.dev", + "cityroots.dev", + "coinbattle.dev", + "coinmarket.dev", + "crosschainbridge.dev", + "cryogen.dev", + "cryptofairies.dev", + "cryptogether.dev", + "darticle.dev", + "uquid.dev", + "diabolo.dev", + "co.dev", + "dinoswap.dev", + "dropstar.dev", + "dropys.dev", + "undefined.dev", + "ethlligators.dev", + "krispers.dev", + "ezswap.dev", + "figment.dev", + "fullyrekt.dev", + "gaiaworld.dev", + "gamexplorer.dev", + "ggsgames.dev", + "gogocoin.dev", + "farmgrid.dev", + "heirloomdao.dev", + "highlight.dev", + "ahegaodao.dev", + "bosstrack.dev", + "boughtthe.dev", + "bryght.dev", + "crtx.dev", + "cryptoalertify.dev", + "cryptoleaguegaming.dev", + "eth-dxdao.dev", + "staggan.dev", + "flappymusk.dev", + "frisbi.dev", + "idavoll.dev", + "knoknok.dev", + "metablox.dev", + "minimetaheros.dev", + "monkefarm.dev", + "moonwolf.dev", + "opendao.dev", + "orangewallet.dev", + "polygonboard.dev", + "rango.dev", + "realitymeta.dev", + "rediant.dev", + "suterusu.dev", + "soliddefi.dev", + "github-toilettoi.dev", + "blocknewsmedia.dev", + "cherryblossomcommunity.dev", + "everlight.dev", + "hodlmymoon.dev", + "qubic.dev", + "snowswap.dev", + "zerohybrid.dev", + "0xcrypto.dev", + "0xmooniverse.dev", + "5x.dev", + "8pay.dev", + "100thieves.dev", + "111pg.dev", + "123swap.dev", + "acquisitionroyale.dev", + "agatoken.dev", + "aieggs.dev", + "aleph.dev", + "alium.dev", + "alohadefi.dev", + "alpaca.dev", + "alphawallet.dev", + "alta.dev", + "ampnet.dev", + "anima.dev", + "anrkeyx.dev", + "antswap.dev", + "ont.dev", + "anyswap.dev", + "aolink.dev", + "aomgame.dev", + "apartchain.dev", + "apexwallet.dev", + "api3.dev", + "1inch-app.dev", + "badger-app.dev", + "bhavish-app.dev", + "civfund.dev", + "crycto.dev", + "daohaus.dev", + "debets-app.dev", + "elk-app.dev", + "givestation.dev", + "just-app.dev", + "mai-app.dev", + "pickle.dev", + "polydex-app.dev", + "polyquity-app.dev", + "simplrcollection.dev", + "tetu-app.dev", + "unlock-protocol.dev", + "vxgaming.dev", + "zesty-app.dev", + "apy.dev", + "arabgatewallet.dev", + "gamee-arc8.dev", + "arche.dev", + "arcticwallet.dev", + "arcx.dev", + "argoapp.dev", + "ark.dev", + "ascendex.dev", + "ase.dev", + "asvalabs.dev", + "atlantis.dev", + "ato.dev", + "atomars.dev", + "atomic.dev", + "attackwagon.dev", + "augur.dev", + "aurorawallet.dev", + "autograph.dev", + "babilu.dev", + "bamboorelay.dev", + "bandprotocol.dev", + "bankofmemories.dev", + "banxa.dev", + "battleracers.dev", + "bebop.dev", + "beefinance.dev", + "benchmarkprotocol.dev", + "mesh.dev", + "realitycards-beta.dev", + "beyondmars.dev", + "beyondnft.dev", + "biconomy.dev", + "bidaochain.dev", + "big.dev", + "bigbang.dev", + "bigtime.dev", + "bilaxy.dev", + "bitbns.dev", + "bithumbcorp.dev", + "bitok.dev", + "bitquery.dev", + "bitsoko.dev", + "blast.dev", + "blindboxes.dev", + "blinkmoon.dev", + "blobdao.dev", + "block-base.dev", + "blockamp.dev", + "blockchaingamealliance.dev", + "blockpass.dev", + "blocksunited.dev", + "blocksurvey.dev", + "blockv.dev", + "blockvigil.dev", + "blockwallet.dev", + "blocsport.dev", + "portto.dev", + "bloxroute.dev", + "bonded.dev", + "bonqdao.dev", + "borderless.dev", + "bountyblok.dev", + "brandconnector.dev", + "newscrypto.dev", + "xp-bridge.dev", + "zeroswap-bridge.dev", + "brightstar.dev", + "bsm.dev", + "btu-protocol.dev", + "buildbox.dev", + "bullionix.dev", + "businessbuilders.dev", + "sphrex.dev", + "bwarelabs.dev", + "bytom.dev", + "bzx.dev", + "cache.dev", + "camel-finance.dev", + "can.dev", + "cargox.dev", + "cartesi.dev", + "cashaa.dev", + "castlenft.dev", + "catjumping.dev", + "celer-cbridge.dev", + "celo.dev", + "celsiusx.dev", + "certhis.dev", + "chain.dev", + "chainers.dev", + "chainguardians.dev", + "chainsafe.dev", + "chainstack.dev", + "chainswap.dev", + "changeangel.dev", + "charged.dev", + "chartsgateinvest.dev", + "github-checkmatic.dev", + "cinefi.dev", + "com.dev", + "cirusfoundation.dev", + "classzz.dev", + "climatefutures.dev", + "clover.dev", + "co-cobak.dev", + "code-dao.dev", + "coin98.dev", + "coinbrain.dev", + "coindcx.dev", + "coingrig.dev", + "coinkit.dev", + "coinleague.dev", + "co-coinone.dev", + "coinramp.dev", + "coinswitch.dev", + "cointool-dashboard.dev", + "coinvise.dev", + "compli.dev", + "complus.dev", + "continuum.dev", + "cookbook.dev", + "cookiethedog.dev", + "allbridge-core.dev", + "coreto.dev", + "cowznft.dev", + "crazyfroggersnft.dev", + "creaton.dev", + "crodian.dev", + "crossmint.dev", + "crowsnestgame.dev", + "alchemist.dev", + "cruzo.dev", + "crydeas.dev", + "crypcade.dev", + "cryptoadventures.dev", + "cryptoassault.dev", + "cryptobash.dev", + "cryptoboss.dev", + "cryptochillouts.dev", + "cryptodocs.dev", + "cryptokaleidonft.dev", + "cryptokeez.dev", + "cryptokek.dev", + "cryptolocally.dev", + "cryptomibs.dev", + "cryptopick.dev", + "cryptopunks2.dev", + "curate.dev", + "currency.dev", + "cwallet.dev", + "cxip.dev", + "cyberfi.dev", + "cyclone.dev", + "cypherd.dev", + "da.dev", + "damain.dev", + "dapp-moggyfusiondao.dev", + "dappfactory.dev", + "dappquery.dev", + "dappy.dev", + "darkmatter.dev", + "darkx.dev", + "sendwyre.dev", + "dcentlife.dev", + "dcentwallet.dev", + "decentraworld.dev", + "decentribes.dev", + "deefy.dev", + "deesse-home.dev", + "defi.dev", + "defiantapp.dev", + "defidojo.dev", + "defimagic.dev", + "defiofthrones.dev", + "defirex.dev", + "defitrade.dev", + "defiyield.dev", + "deflectprotocol.dev", + "depay.dev", + "depict.dev", + "deri.dev", + "derivio.dev", + "vevue.dev", + "despace.dev", + "deus.dev", + "oreid.dev", + "deversifi.dev", + "dex.dev", + "lootex-dex.dev", + "dexioprotocol.dev", + "dexkit.dev", + "dfx.dev", + "diadata.dev", + "diagonal.dev", + "digitalarthomepage.dev", + "dinox.dev", + "distributed.dev", + "divy.dev", + "dizzydinos.dev", + "dnt.dev", + "dogecolors.dev", + "doingud.dev", + "dokidoki.dev", + "dopegaming.dev", + "doshi.dev", + "dragonhunters.dev", + "dreamway.dev", + "dscvr.dev", + "dsd.dev", + "duo.dev", + "dweb.dev", + "dweb3nft.dev", + "dxsale.dev", + "dyoraudit.dev", + "e-futurecoin.dev", + "e-money.dev", + "earnbet.dev", + "earth2.dev", + "eartha.dev", + "ecosmartecs.dev", + "eddaswap.dev", + "educoin.dev", + "eggies.dev", + "eggnft.dev", + "egptex.dev", + "ekain.dev", + "emirex.dev", + "encrypted.dev", + "enctr.dev", + "energy8.dev", + "enter-the-sphere.dev", + "entice.dev", + "entropyart.dev", + "epicentral.dev", + "epns.dev", + "eqonex.dev", + "equalizer.dev", + "equateplatform.dev", + "ethanks.dev", + "ethernity.dev", + "ethronegame.dev", + "etorox.dev", + "evodefi.dev", + "bitcoin-exchange.dev", + "cptpoint.dev", + "idamurni-exchange.dev", + "extinctionfighterz.dev", + "fact.dev", + "trustfi.dev", + "farsite.dev", + "fccnft.dev", + "fiatom.dev", + "file.dev", + "financepolar.dev", + "firebird.dev", + "fireprotocol.dev", + "first.dev", + "co-skypeople-fivestars.dev", + "flair.dev", + "fluidcoins.dev", + "flybit.dev", + "flyingfoxgame.dev", + "fmg.dev", + "fmt.dev", + "fmtlol.dev", + "forbitspace.dev", + "formation.dev", + "forta.dev", + "fortmatic.dev", + "foundation-@rosebud_nft.dev", + "foxwallet.dev", + "fractal.dev", + "fragmints.dev", + "ftx.dev", + "fullbunny.dev", + "fumigene.dev", + "furucombo.dev", + "futugoapp.dev", + "gaimin.dev", + "gainlygecko.dev", + "gala.dev", + "galaxy.dev", + "gamedao.dev", + "gamefi.dev", + "gamerhash.dev", + "gameswap.dev", + "1hive.dev", + "gearbox.dev", + "gembites.dev", + "geodb.dev", + "geriatricsgaming.dev", + "get-protocol.dev", + "get-verso.dev", + "getblock.dev", + "ggdao.dev", + "giboome.dev", + "gimbapnft.dev", + "gitcoin.dev", + "github-sankarsrinivasan1-gannium.dev", + "gitshock.dev", + "glitch.dev", + "bittrex.dev", + "gnosis-safe.dev", + "godatingfi.dev", + "golitcoin.dev", + "goodmorningnews.dev", + "gooloos.dev", + "gopocket.dev", + "gourmetgalaxy.dev", + "lidia.dev", + "graphlinq.dev", + "gravity.dev", + "greatpicturesinc.dev", + "gridplus.dev", + "guarda.dev", + "hardhat.dev", + "hashlips.dev", + "hashstack.dev", + "heroeslineage.dev", + "heroesuprising.dev", + "hexarchia.dev", + "hiaferc20.dev", + "hifi.dev", + "hiswap.dev", + "hitbtc.dev", + "hmmcoin.dev", + "hodl.dev", + "hodlx.dev", + "hokusai.dev", + "battlefi.dev", + "honeyswap.dev", + "hoo.dev", + "horizon.dev", + "housebit.dev", + "housecat.dev", + "hype.dev", + "hyperpay.dev", + "hypersign.dev", + "ibetyou.dev", + "ibizatoken.dev", + "imon.dev", + "indodax.dev", + "infinitywallet.dev", + "domination.dev", + "injectiveprotocol.dev", + "trapxbarbie.dev", + "insuretoken.dev", + "intrxn.dev", + "inverse.dev", + "ioi-game.dev", + "iotex.dev", + "iotube.dev", + "islamicoin.dev", + "ispolink.dev", + "goelevate.dev", + "itez.dev", + "itheum.dev", + "itsbloc.dev", + "jamonswap.dev", + "jelly.dev", + "jigstack.dev", + "jujiaid.dev", + "julwallet.dev", + "juno.dev", + "kakidex.dev", + "kambria.dev", + "kattana.dev", + "kavian.dev", + "kenshi.dev", + "keyfi.dev", + "kitsumon.dev", + "kleros.dev", + "koakuma.dev", + "kogecoin.dev", + "hop-kovan.dev", + "kyber.dev", + "kyuzan.dev", + "labsgroup.dev", + "herokuapp-lafranccoinbase.dev", + "potatomedia.dev", + "latoken.dev", + "trustfi-launchpad.dev", + "lazy.dev", + "thedeficoach.dev", + "letsask.dev", + "lexproof.dev", + "lgbt.dev", + "li.dev", + "license.dev", + "linen.dev", + "crystl-link.dev", + "polycrystal.dev", + "linkdrop.dev", + "linkkey.dev", + "linktr.dev", + "liquality.dev", + "liquidminers.dev", + "liteflow.dev", + "literully.dev", + "load.dev", + "load-polygon.dev", + "lootland.dev", + "lossless.dev", + "luabase.dev", + "lucidao.dev", + "luckyplay.dev", + "ludusgame.dev", + "lynxer.dev", + "macaronswap.dev", + "macncheese.dev", + "mahadao.dev", + "w3.dev", + "make.dev", + "mantradao.dev", + "cells.dev", + "marble.dev", + "marginswap.dev", + "axieorigin.dev", + "vaulthill.dev", + "mask.dev", + "masq.dev", + "metanft.dev", + "metanft-mata.dev", + "matcha.dev", + "materiadex.dev", + "mathwallet.dev", + "maticlaunch.dev", + "maticroll.dev", + "maicoin.dev", + "hashkey.dev", + "mobydick.dev", + "meebmaster.dev", + "melon.dev", + "meme.dev", + "mercuryo.dev", + "meta-races.dev", + "metaclash.dev", + "metacoms.dev", + "metafora.dev", + "metaforra.dev", + "metagammadelta.dev", + "metahi.dev", + "metakafe.dev", + "metalaunch.dev", + "metamundo.dev", + "metaname.dev", + "eth-metaverselinker.dev", + "mia.dev", + "mimo.dev", + "minerva.dev", + "mint-three-word-nft.dev", + "mintclip.dev", + "lossless-minter.dev", + "mintface.dev", + "mintkudos.dev", + "mintme.dev", + "minty.dev", + "mixin.dev", + "mobifi.dev", + "mobius.dev", + "mochi.dev", + "modernwitches.dev", + "mojito.dev", + "monopole.dev", + "monox.dev", + "monsterracingleague.dev", + "moojis.dev", + "moonedge.dev", + "moonray.dev", + "moonshake.dev", + "moret.dev", + "morpheuslabs.dev", + "morphose.dev", + "motorculture.dev", + "movenetwork.dev", + "moverse.dev", + "mstable.dev", + "murall.dev", + "museumofcryptoart.dev", + "musixverse.dev", + "my-nfties.dev", + "mylottocoin.dev", + "mythicalgames.dev", + "mytrade.dev", + "mywish.dev", + "repl.dev", + "nami.dev", + "nanakusa.dev", + "nansen.dev", + "nash.dev", + "astrofarms.dev", + "netra.dev", + "newwit.dev", + "cresus.dev", + "ghostchain.dev", + "marscompany.dev", + "multisender-nft.dev", + "nftbank.dev", + "nfthub.dev", + "teknocak.dev", + "exhib.dev", + "nftmatchcard.dev", + "nftpolygon.dev", + "nfts2me.dev", + "nftstars.dev", + "nftyard.dev", + "nftzie.dev", + "ngn.dev", + "niftychess.dev", + "niftydrops.dev", + "eth-niftyeggs.dev", + "niftygram.dev", + "niftykit.dev", + "niftyrunes.dev", + "nightlifecrypto.dev", + "nine-chronicles.dev", + "nobank.dev", + "noderunners.dev", + "nominex.dev", + "nonamedao.dev", + "nordfinance.dev", + "northbridge.dev", + "nownodes.dev", + "nowpayments.dev", + "nsure.dev", + "nyknft.dev", + "o3.dev", + "oceanprotocol.dev", + "oddz.dev", + "officialnft.dev", + "oin.dev", + "olivedao.dev", + "omgfin.dev", + "onchain.dev", + "oncurio.dev", + "onionmixer.dev", + "openfabric.dev", + "opengsn.dev", + "openpredict.dev", + "opensea-collection-balloondrop.dev", + "opensea-collection-little-faun-tymus.dev", + "opensea-mono_poly.dev", + "opensea-seke.dev", + "optixprotocol.dev", + "optyn.dev", + "orderprotocol.dev", + "origami.dev", + "oropocket.dev", + "ourunionlives.dev", + "oveit.dev", + "owlcornpolygon.dev", + "own.dev", + "ownest.dev", + "papyrusnft.dev", + "paralink.dev", + "paramountstaker.dev", + "paraswap.dev", + "parcel.dev", + "hashbon-pass.dev", + "pawnfi.dev", + "payrue.dev", + "paytrie.dev", + "pearzap.dev", + "peaze.dev", + "peeps.dev", + "penky.dev", + "pepefarm.dev", + "perblue.dev", + "petrocks.dev", + "pheasant.dev", + "phoenixdao.dev", + "picipo.dev", + "pinkslip.dev", + "piqsol.dev", + "pixelynx.dev", + "pizzap.dev", + "plasma.dev", + "google.dev", + "pachacuy.dev", + "zkasino.dev", + "playaquafarm.dev", + "playcent.dev", + "playermon.dev", + "playlolsurprise.dev", + "playpitstop.dev", + "playtoearn.dev", + "playtreks.dev", + "playunchained.dev", + "pods.dev", + "pokerkingsclub.dev", + "pokeswap.dev", + "polkacipher.dev", + "polkafantasy.dev", + "polker.dev", + "pollyfinance.dev", + "poloniex.dev", + "poly.dev", + "poly20.dev", + "polyblocks.dev", + "polycash.dev", + "polycred.dev", + "polydragon.dev", + "polygaj.dev", + "alchemydao.dev", + "cafeswap-polygon.dev", + "cheesecakeswap.dev", + "iron-polygon.dev", + "joystick.dev", + "padiswap.dev", + "padiswap-polygon.dev", + "tars.dev", + "polygonfarm.dev", + "polygonjupiter.dev", + "polygonme.dev", + "polygonpunks.dev", + "polygonsender.dev", + "polyheads.dev", + "polyheat.dev", + "polylama.dev", + "polylend.dev", + "polymarket.dev", + "polymatrix.dev", + "polypixel.dev", + "polyrare.dev", + "polysec.dev", + "polyshield.dev", + "polysynth.dev", + "polytools.dev", + "polytrade.dev", + "polywall.dev", + "polywhale.dev", + "polyzap.dev", + "nansen-portfolio.dev", + "powerpool.dev", + "printstimulus.dev", + "btcturk.dev", + "procial.dev", + "promptsea.dev", + "prosper.dev", + "provable.dev", + "pryz.dev", + "psprotocol.dev", + "pteria.dev", + "repl-cryptons-publishingv2.dev", + "polypup-puppunks.dev", + "pwn.dev", + "quatre.dev", + "blockchaingame.dev", + "qwla.dev", + "rabbithole.dev", + "rabby.dev", + "rage.dev", + "railgun.dev", + "rainbow.dev", + "rainbowbridge.dev", + "rapture.dev", + "rarelia.dev", + "rario.dev", + "ratalert.dev", + "rauction.dev", + "razor.dev", + "rcn.dev", + "rct.dev", + "panoram.dev", + "polkafoundry.dev", + "reef.dev", + "ethereum-remix.dev", + "rendertoken.dev", + "rentafi.dev", + "reverseclimatechange.dev", + "richpoet.dev", + "roboworld.dev", + "rocketcapital.dev", + "rocketmonsters.dev", + "roulether.dev", + "delab.dev", + "via.dev", + "royal.dev", + "royale.dev", + "rubic.dev", + "ruggame.dev", + "ruletka.dev", + "ruufpay.dev", + "safebitcoin.dev", + "safedollar.dev", + "safehaven.dev", + "sakura.dev", + "sata.dev", + "scaleswap.dev", + "scoofdao.dev", + "protoverse.dev", + "radiant.dev", + "selfienft.dev", + "senken.dev", + "sequence.dev", + "settlemint.dev", + "shibawallet.dev", + "shiblonmoon.dev", + "shieldprotocol.dev", + "showtime.dev", + "shyft.dev", + "simplehold.dev", + "sirenmarkets.dev", + "google-sites.dev", + "siva.dev", + "skizzlehq.dev", + "skulltoon.dev", + "slash.dev", + "slime.dev", + "snapshot.dev", + "sneakerfreakz.dev", + "snft.dev", + "soar.dev", + "fleek-on-social-post-dapp.dev", + "socialanimal.dev", + "solbridge.dev", + "solidityaudit.dev", + "soulmeta.dev", + "spellsofgenesis.dev", + "sphereone.dev", + "spinel.dev", + "spiritswap.dev", + "spkyfrsh.dev", + "splinterlands.dev", + "spores.dev", + "sportx.dev", + "squid.dev", + "stablecoinfactory.dev", + "stabler.dev", + "stacker.dev", + "stake.dev", + "stakehound.dev", + "staking.dev", + "standard.dev", + "starfish.dev", + "starscrowding.dev", + "starter.dev", + "startfi.dev", + "startrail.dev", + "stater.dev", + "staxe.dev", + "steakhouse.dev", + "steakwallet.dev", + "steelbird.dev", + "stockpoly.dev", + "streamingfast.dev", + "subbi.dev", + "subscribee.dev", + "subsquid.dev", + "lunargistics.dev", + "sumotex.dev", + "superfarm.dev", + "superway.dev", + "swamp-polygon.dev", + "swap.dev", + "cremepieswap-swap.dev", + "swapswop.dev", + "swapzone.dev", + "swdao.dev", + "sweepwidget.dev", + "sweet.dev", + "swerri.dev", + "swingby.dev", + "swipelux.dev", + "swirgepay.dev", + "t3rm.dev", + "tagspace.dev", + "taker.dev", + "takodefi.dev", + "talentprotocol.dev", + "talkingtree.dev", + "tamago.dev", + "tanksforplaying.dev", + "tatum.dev", + "tbtc.dev", + "etherlegends.dev", + "team3d.dev", + "teller.dev", + "tempostorm.dev", + "terravirtua.dev", + "tether.dev", + "the-ally.dev", + "the-game-forest.dev", + "theblockpad.dev", + "thefreela.dev", + "thefutbolapp.dev", + "thegraph.dev", + "theparallel.dev", + "thespyverse.dev", + "theunveilers.dev", + "thevisitorsnft.dev", + "thewall.dev", + "thewall-defi-daily.dev", + "thewall-defi-loan.dev", + "thorg.dev", + "thx.dev", + "gitbook.dev", + "timeleap.dev", + "timeswap.dev", + "tinyhero.dev", + "tinytroubles.dev", + "token-maker.dev", + "amy.dev", + "token.dev", + "eth-tokengame.dev", + "tokenizedtweets.dev", + "bitbond.dev", + "bitbond-tokentool.dev", + "tokeny.dev", + "toruswallet.dev", + "toshimon.dev", + "towerfinance.dev", + "tracerofficial.dev", + "tradestars.dev", + "tranche.dev", + "transak.dev", + "transmute.dev", + "tre.dev", + "treasurenft.dev", + "treetrunk.dev", + "trustwallet.dev", + "iotex-tube.dev", + "tunl.dev", + "twilight.dev", + "bondlyfinance.dev", + "commitpool.dev", + "moonfarmfinance.dev", + "myshowcase.dev", + "upshothq.dev", + "uaht.dev", + "umbria.dev", + "unbanked.dev", + "under1.dev", + "unfoldinnovates.dev", + "unifarm.dev", + "unifty.dev", + "uniquesmartswap.dev", + "unmarshal.dev", + "unreal.dev", + "unstoppable.dev", + "uny.dev", + "upbit.dev", + "usemetapass.dev", + "usepayouts.dev", + "cent.dev", + "vagabondapp.dev", + "valli.dev", + "vanilla.dev", + "vantr.dev", + "varenx.dev", + "vcc.dev", + "vennverse.dev", + "ventup.dev", + "veranos.dev", + "versagames.dev", + "vexillumtreasury.dev", + "vfat.dev", + "jon.dev", + "01.dev", + "virgox.dev", + "vodra.dev", + "vulcanverse.dev", + "wallet3.dev", + "walletconnect.dev", + "walletnow.dev", + "warofants.dev", + "wazirx.dev", + "swapmatic.dev", + "kjdev.dev", + "webaverse.dev", + "wehave.dev", + "wenewmoments.dev", + "wert.dev", + "whalekiller.dev", + "whalestreet.dev", + "whitebit.dev", + "playsnook.dev", + "wildcards.dev", + "wiw.dev", + "wolfystreetbets.dev", + "nftify-worldart.dev", + "worldblockchainclub.dev", + "worldofquests.dev", + "wormholenetwork.dev", + "wowswap-swap.dev", + "wpnt.dev", + "wspp.dev", + "wswap.dev", + "wubits.dev", + "0xsplits.dev", + "1planet.dev", + "4everland.dev", + "aax.dev", + "adidas-prada-nft.dev", + "aex.dev", + "alchemy.dev", + "alteredstatemachine.dev", + "amasa.dev", + "ambire.dev", + "animocabrands.dev", + "apes2punks.dev", + "apwine.dev", + "aquaticwars.dev", + "arkhamintelligence.dev", + "ata.dev", + "atari.dev", + "atem.dev", + "autominter.dev", + "autonio.dev", + "b-datagray.dev", + "b21.dev", + "baddays.dev", + "banana-act-cute.dev", + "bancor.dev", + "barbershop.dev", + "battleverse.dev", + "bettery.dev", + "bhex.dev", + "bibox.dev", + "biki.dev", + "binance.dev", + "binance-en-wallet-direct.dev", + "binance-en.dev", + "binance-en-home.dev", + "bione.dev", + "bitblockwizard.dev", + "bitforex.dev", + "bitget.dev", + "bitgo.dev", + "bitkub.dev", + "bitmart.dev", + "bitmex.dev", + "bitshopee.dev", + "bitski.dev", + "bkex.dev", + "blackeyegalaxy.dev", + "blinkfire.dev", + "blockchain.dev", + "blocklords.dev", + "blocknative.dev", + "blockswap.dev", + "bloksports.dev", + "bloktopia.dev", + "blueboxnft.dev", + "boltrswap.dev", + "boringdao.dev", + "bosonprotocol.dev", + "brandextender.dev", + "btcnext.dev", + "btse.dev", + "burency.dev", + "bybit.dev", + "calaxy.dev", + "candyshop.dev", + "catex.dev", + "cattitude.dev", + "cere.dev", + "certik.dev", + "cex.dev", + "chainvine.dev", + "chainwhiz.dev", + "chair.dev", + "challengermode.dev", + "chessbet.dev", + "circle.dev", + "clinique.dev", + "coinbase.dev", + "coinbene.dev", + "coinbooks.dev", + "coinex.dev", + "coingecko-en-exchanges-bepswap.dev", + "coinhub.dev", + "coinrisk.dev", + "commonsense.dev", + "comoco.dev", + "composable.dev", + "conciselabs.dev", + "covalenthq.dev", + "cradles.dev", + "creol.dev", + "cryption.dev", + "cryptoatlas.dev", + "cryptobeasties.dev", + "cryptomkt.dev", + "cryptomotors.dev", + "cryptopoly.dev", + "cryptopunt.dev", + "cryptoracercars.dev", + "cvi.dev", + "cybavo.dev", + "cyberpong.dev", + "cypherock.dev", + "dafiprotocol.dev", + "daoventures.dev", + "dark.dev", + "databroker.dev", + "decentapi.dev", + "decentology.dev", + "defieleven.dev", + "dehealth.dev", + "demodyfi.dev", + "dharma.dev", + "diamonddefi.dev", + "digible.dev", + "digicol.dev", + "digifinex.dev", + "digitalax.dev", + "digitalx.dev", + "dotmoovs.dev", + "draftkings.dev", + "earthdefi.dev", + "easyfi.dev", + "eatofflimits.dev", + "eggsonchain.dev", + "entropyfi.dev", + "escrowprotocol.dev", + "ethlings.dev", + "everest.dev", + "evertell.dev", + "evolution-land-5.dev", + "exeedme.dev", + "f2pool.dev", + "faceit.dev", + "fandefi.dev", + "farfetch.dev", + "farmernft.dev", + "fccstakingdapp.dev", + "fidaapp.dev", + "fireblocks.dev", + "firstblood.dev", + "flooz.dev", + "forcedao.dev", + "foxlottery.dev", + "funds.dev", + "gamerspro.dev", + "gate.dev", + "gemini.dev", + "genshards.dev", + "godmusician.dev", + "golem.dev", + "gravitybridge.dev", + "gysr.dev", + "hapi.dev", + "hashtiki.dev", + "co-hb.dev", + "hedgey.dev", + "hotbit.dev", + "huobi.dev", + "huobi-en-in.dev", + "huobiwallet.dev", + "icecolony.dev", + "ideaology.dev", + "iggalaxy.dev", + "infosys.dev", + "inwriting.dev", + "issuaa.dev", + "kampios.dev", + "kingfund.dev", + "kittycoin.dev", + "co-korbit.dev", + "kraken.dev", + "krowdinnovation.dev", + "kucoin.dev", + "launchcaster.dev", + "lazysmileys.dev", + "ledger.dev", + "likhanft.dev", + "limejuice.dev", + "liquidityfolio.dev", + "liquidrium.dev", + "loanbase.dev", + "locgame.dev", + "lomads.dev", + "lugh.dev", + "maplabs.dev", + "market.dev", + "matataki.dev", + "maticmarket.dev", + "matterverse.dev", + "mesprotocol.dev", + "meta-fashion.dev", + "metacartel.dev", + "metaline.dev", + "metanimalz.dev", + "metatravelers.dev", + "meteorites.dev", + "mexc.dev", + "mie.dev", + "minke.dev", + "mintgate.dev", + "mintsongs.dev", + "mogul.dev", + "mogulproductions.dev", + "mooneh.dev", + "moonpay.dev", + "moonwalk.dev", + "mov-ai.dev", + "mozik.dev", + "mtissf.dev", + "mtpelerin.dev", + "mtpelerin-bridge-wallet-polygon-wallet.dev", + "myconstant.dev", + "myetherwallet.dev", + "mymemorialnetwork.dev", + "nakamoto.dev", + "nicehash.dev", + "niftycomedians.dev", + "noncefinance.dev", + "noteon.dev", + "offgridplatform.dev", + "okcoin.dev", + "okex.dev", + "omnibtc.dev", + "oncacryptonft.dev", + "onto.dev", + "opacity.dev", + "openlake.dev", + "opera.dev", + "opera-crypto-next.dev", + "opium.dev", + "opucoin.dev", + "originprotocol.dev", + "ownchain.dev", + "paraland.dev", + "paribu.dev", + "pebocoin.dev", + "personaltokens.dev", + "pinksale.dev", + "podracers.dev", + "polarisdefi.dev", + "polkamarkets.dev", + "polkastarter.dev", + "polkaswitch.dev", + "polyalpine.dev", + "polydefy.dev", + "polyghost.dev", + "polysafu.dev", + "poolz.dev", + "portis.dev", + "poutinex.dev", + "praesto.dev", + "prismfinance.dev", + "prismnetwork.dev", + "probit.dev", + "projectgne.dev", + "propsproject.dev", + "psychedelicbunnies.dev", + "quadrant.dev", + "quazard.dev", + "quicknode.dev", + "radom.dev", + "raisedinoblivionx.dev", + "rapica.dev", + "raregoods.dev", + "raze.dev", + "realm.dev", + "rebaked.dev", + "rebase.dev", + "relaunchs.dev", + "relaychain.dev", + "riskharbor.dev", + "roseon.dev", + "sandbox-en.dev", + "sapien.dev", + "sapiency.dev", + "sator.dev", + "satoshicity.dev", + "scalara.dev", + "screensaver.dev", + "seor.dev", + "seriousdogclub.dev", + "simplex.dev", + "smartblokinft.dev", + "smartdex.dev", + "solarpunkdao.dev", + "sorbet.dev", + "spritz.dev", + "squaresonchain.dev", + "stealthpay.dev", + "stonedefi.dev", + "straightfire.dev", + "subdao.dev", + "supercool.dev", + "superfluid.dev", + "swapx.dev", + "swft.dev", + "sylo.dev", + "synassets.dev", + "telx.dev", + "tenderize.dev", + "theatlantis.dev", + "thefineartledger.dev", + "thetruth.dev", + "ticketfairy.dev", + "ticketmaster.dev", + "tidal.dev", + "tokencreator.dev", + "tokenpocket.dev", + "traderdapp.dev", + "tradinglab.dev", + "trag-vlinder.dev", + "triangleplatform.dev", + "tutellus.dev", + "twotwoart.dev", + "ubisoft.dev", + "umb.dev", + "unicrypt.dev", + "unrealengine.dev", + "utvaent.dev", + "verbwire.dev", + "veroxai.dev", + "versifylabs.dev", + "vision-crypto.dev", + "vitwit.dev", + "vorz.dev", + "wiv.dev", + "wwf-nfa.dev", + "xdefi.dev", + "xt.dev", + "yoleeuniverse.dev", + "youswap.dev", + "zb.dev", + "zeroutility.dev", + "zg.dev", + "zkchaos.dev", + "wfujidao.dev", + "xaya.dev", + "xcodeinfinity.dev", + "xend.dev", + "yellowrock.dev", + "yfdai.dev", + "yieldguild.dev", + "yin.dev", + "yitoken.dev", + "ylide-hub.dev", + "ynot.dev", + "yogi.dev", + "zawadi.dev", + "zebpay.dev", + "zerion.dev", + "zerocodenft.dev", + "zinax.dev", + "zmatic.dev", + "zoociety.dev", + "zora.dev", + "zuzprotocol.dev", + "zyield.dev", + "in-token.dev", + "joinkoia.dev", + "lcx.dev", + "leaguedao.dev", + "manikins.dev", + "maxity.dev", + "mechaversus.dev", + "mentora.dev", + "metakins.dev", + "metric.dev", + "minimax.dev", + "arteon.dev", + "bidify.dev", + "mirloot.dev", + "mithsima885@gmail.dev", + "mitrabineka.dev", + "morpheus.dev", + "moustachio.dev", + "naturalphenomena.dev", + "newlife08walleteth.dev", + "inspireip.dev", + "nft.dev", + "xeldorado.dev", + "onjuno.dev", + "paralleloffice.dev", + "petto.dev", + "pillar.dev", + "wakeuplabs.dev", + "polydoge.dev", + "postplaza.dev", + "ramp.dev", + "ricewallet.dev", + "safematicprotol.dev", + "safepal.dev", + "saucyseals.dev", + "signed.dev", + "songrise.dev", + "undefined-fbitq.dev", + "superprotocol.dev", + "icp.dev", + "syndicate.dev", + "tacvue.dev", + "taho.dev", + "thespace.dev", + "thirdweb.dev", + "tokensport.dev", + "polysafe1.dev", + "ultiarena.dev", + "unidexbot.dev", + "unipilot.dev", + "virtua.dev", + "lossless-aegis.dev", + "aensof.dev", + "alaskaerp.dev", + "atlendis.dev", + "azuro.dev", + "bitcointappay.dev", + "bitrue.dev", + "blockinvest.dev", + "cargo.dev", + "ciety.dev", + "crowdtools.dev", + "cryptoastrum.dev", + "cryptofuzzy.dev", + "cryptoteens.dev", + "daoworks.dev", + "deswap.dev", + "dollar.dev", + "drivn3.dev", + "dropverse.dev", + "emberfund.dev", + "ethgames.dev", + "fauna.dev", + "gigawatttokens.dev", + "gnumob.dev", + "gtpsfinance.dev", + "idlemystic.dev", + "kinetix.dev", + "kolo.dev", + "kryptokam.dev", + "kyro.dev", + "managames.dev", + "matifi.dev", + "metable.dev", + "mummy.dev", + "myax.dev", + "mysoullib.dev", + "nftfaucet.dev", + "nftport.dev", + "noecryptobank.dev", + "nous.dev", + "optical.dev", + "orbiter.dev", + "paraverse.dev", + "paybolt.dev", + "pikaster-metaland.dev", + "raaskoin.dev", + "ravaverse.dev", + "readyplayermotorsports.dev", + "roguefoxguild.dev", + "scalene.dev", + "soulprime.dev", + "tanukiverse.dev", + "tkcpage.dev", + "traxed.dev", + "web3merchandise.dev", + "x-protocol.dev", + "xdollar.dev", + "yellowheart.dev", + "zapper.dev", + "zengo.dev", + "zxvc.dev", + "crepe.dev", + "neopin.dev", + "makeitwisdom.dev", + "arteesan.dev", + "pyth.dev", + "one-immortl.dev", + "pand.dev", + "halofi.dev", + "nftscan.dev", + "lynxchain.dev", + "xe54.dev", + "renft.dev", + "itsawallet.dev", + "lostworlds.dev", + "wanchain.dev", + "luckyzoo.dev", + "davos.dev", + "coincollect.dev", + "flashare.dev", + "opolis.dev", + "holyheld.dev", + "trendydefi.dev", + "elementarygardennft.dev", + "piconext.dev", + "mentholprotocol.dev", + "opensig.dev", + "simplehash.dev", + "revoke.dev", + "xircus.dev", + "decent.dev", + "naoda.dev", + "cryptodo.dev", + "xion.dev", + "socket.dev", + "assetux.dev", + "decentralot.dev", + "doggielaunchnft.dev", + "pinestreetlabs.dev", + "pierwallet.dev", + "mtopswap.dev", + "echooo.dev", + "zkmakers.dev", + "changex.dev", + "gotpomp.dev", + "steer.dev", + "moonpier.dev", + "copperx-io.dev", + "rbxdefi.dev", + "sharpe.dev", + "onemint.dev", + "walletchat.dev", + "jumper.dev", + "lensport.dev", + "octav.dev", + "portals.dev", + "joinfire.dev", + "omni.dev", + "chaindrop.dev", + "lobby.dev", + "squidrouter.dev", + "filecoin.dev", + "safe-transfer.dev", + "airlyft.dev", + "cultdao.dev", + "dune.dev", + "wall.dev", + "vtvl.dev", + "family.dev", + "wallet01.dev", + "launchifi.dev", + "aimint.dev", + "y00ts.dev", + "impersonator.dev", + "opencord.dev", + "lensalert.dev", + "bento.dev", + "earni.dev", + "spheron.dev", + "grindery.dev", + "grindery-nexus.dev", + "lenster.dev", + "lensfrens.dev", + "notifi.dev", + "the-convo-space.dev", + "overthereality.dev", + "asset.dev", + "swidge.dev", + "holdim.dev", + "shinedao.dev", + "kleoverse.dev", + "oliveapp.dev", + "philand.dev", + "float-capital.dev", + "dao-lens.dev", + "ondefy.dev", + "mushrooms.dev", + "phaver.dev", + "metricsdao.dev", + "volmex.dev", + "metashooter.dev", + "evolution-arena.dev", + "vera.dev", + "edao.dev", + "abachi.dev", + "via-router.dev", + "capx.dev", + "metapasshq.dev", + "beluga.dev", + "luxy.dev", + "argent.dev", + "atlendis-app.dev", + "shunya.dev", + "swaap.dev", + "getsafle.dev", + "veroxdex.dev", + "evolution-portal.dev", + "yel.dev", + "blocktorch.dev", + "pinata.dev", + "consola.dev", + "nested-app.dev", + "routerprotocol.dev", + "solace.dev", + "floyx.dev", + "ampt.dev", + "riotracers.dev", + "snd.dev", + "mimo-app.dev", + "superfluid-home.dev", + "mirrorprotocol.dev", + "nibbl.dev", + "plotx-market.dev", + "citizenfinance.dev", + "mean.dev", + "arken-swap.dev", + "polylion.dev", + "oneplanetnft.dev", + "gelato.dev", + "prdt.dev", + "quickswap.dev", + "0vix.dev", + "dia.dev", + "the-graph.dev", + "api3.dev", + "pyth.dev", + "multichain.dev", + "zonic.dev", + "dexscreener.dev", + "sequence.dev", + "zettablock.dev", + "orbiter.dev", + "defi-llama.dev", + "l2-beat.dev", + "walletconnect.dev", + "luganodes.dev", + "polygonscan.dev", + "trustwallet.dev", + "happypunks.dev", + "leetswap.dev", + "ant-farm.dev", + "dovish.dev", + "layerswap.dev", + "transak.dev", + "debank.dev", + "stp-network.dev", + "meson.dev", + "dune.dev", + "jokedao.dev", + "satori.dev", + "clique-by-stp-verse.dev", + "rhino.dev", + "witnet.dev", + "celer.dev", + "biconomy.dev", + "celer-nft-bridge.dev", + "coinstats.dev", + "layerzero.dev", + "rabby.dev", + "metamask.dev", + "tofunft.dev", + "safe-multisig.dev", + "clobr.dev", + "bungee.dev", + "qi-dao.dev, mai.dev", + "abracadabra.dev", + "zerion.dev", + "li.dev", + "gameswift.dev", + "zkholdem.dev", + "satin-exchange.dev", + "hop.dev", + "uniswap.dev", + "balancer.dev", + "aave.dev", + "sushi.dev", + "primex.dev", + "mantisswap.dev", + "zkasino.dev", + "curve.dev", + "kyberswap.dev", + "synfutures.dev", + "d8x.dev", + "hashflow.dev", + "gains.dev", + "railgun.dev", + "llamapay.dev", + "superfluid.dev", + "voltz.dev", + "safe.dev", + "zkholdem.dev", + "theaptosbridge.dev", + "bitcoinbridge.dev", + "testnetbridge.dev", + "layerzeroscan.dev", + "magiceden.dev", + "stepn.dev", + "facebook.dev", + "meta.dev", + "twitter.dev", + "bluesky.dev", + "farcaster.dev", + "dream11.dev", + "mpl.dev", + "bitpack.dev", + "meroku.dev", + "solesearch.dev", + "google.dev", + "facebook.dev", + "meta.dev", + "amazon.dev", + "apple.dev", + "microsoft.dev", + "netflix.dev", + "spotify.dev", + "uber.dev", + "airbnb.dev", + "pinterest.dev", + "etsy.dev", + "twitter.dev", + "linkedin.dev", + "snapchat.dev", + "zoom.dev", + "slack.dev", + "paypal.dev", + "square.dev", + "stripe.dev", + "atlassian.dev", + "github.dev", + "docker.dev", + "reddit.dev", + "tiktok.dev", + "shopify.dev", + "mailchimp.dev", + "trello.dev", + "dropbox.dev", + "evernote.dev", + "wechat.dev", + "rakuten.dev", + "zillow.dev", + "expedia.dev", + "booking.dev", + "tripadvisor.dev", + "adobe.dev", + "canva.dev", + "unity.dev", + "roblox.dev", + "epicgames.dev", + "electronicarts.dev", + "riotgames.dev", + "blizzard.dev", + "quora.dev", + "medium.dev", + "yelp.dev", + "robinhood.dev", + "coinbase.dev", + "binance.dev", + "kraken.dev", + "etoro.dev", + "figma.dev", + "jetbrains.dev", + "zoominfo.dev", + "snowflake.dev", + "docusign.dev", + "asana.dev", + "autodesk.dev", + "valve.dev", + "line.dev", + "salesforce.dev", + "twilio.dev", + "slack.dev", + "sony.dev", + "sap.dev", + "ibm.dev", + "reddit.dev", + "lenovo.dev", + "salesforce.dev", + "vmware.dev", + "sony.dev", + "xiaomi.dev", + "huawei.dev", + "alibaba.dev", + "tencent.dev", + "baidu.dev", + "slack.dev", + "yelp.dev", + "oracle.dev", + "intuit.dev", + "nvidia.dev", + "pinterest.dev", + "hp.dev", + "etsy.dev", + "dell.dev", + "cisco.dev", + "github.dev", + "tiktok.dev", + "adobe.dev", + "mailchimp.dev", + "whatsapp.dev", + "instagram.dev", + "messenger.dev", + "weibo.dev", + "skype.dev", + "viber.dev", + "line.dev", + "signal.dev", + "telegram.dev", + "waze.dev", + "shazam.dev", + "duolingo.dev", + "vlc.dev", + "wordpress.dev", + "flipboard.dev", + "yelp.dev", + "indeed.dev", + "ubereats.dev", + "lyft.dev", + "doordash.dev", + "grubhub.dev", + "postmates.dev", + "opentable.dev", + "taskrabbit.dev", + "deliveroo.dev", + "tinder.dev", + "bumble.dev", + "okcupid.dev", + "hinge.dev", + "aurorytactics.dev", + "sparkball.dev", + "wildcard.dev", + "machinearena.dev", + "alienworlds.dev", + "farmersworld.dev", + "upland.dev", + "wombatdungeonmaster.dev", + "ninechronicles.dev", + "defikingdoms.dev", + "prospectors.dev", + "thetanarena.dev", + "thefootballclub.dev", + "aurory.dev", + "mechaworld.dev", + "cosmicclash.dev", + "karmaversezombie.dev", + "tezotopia.dev", + "blockchainbrawlers.dev", + "highrise.dev", + "chainmonsters.dev", + "megacryptopolis.dev", + "ageoftanks.dev", + "crabada.dev", + "cryptantcrab.dev", + "kawaiiislands.dev", + "solchicks.dev", + "titanhunters.dev", + "9tales.dev", + "abeatshero.dev", + "babysharkbubblefongfriends.dev", + "battleofguardians.dev", + "blockletegolf.dev", + "cryptofights.dev", + "cryptopolis.dev", + "ev.dev", + "evolutionland.dev", + "gunstarmetaverse.dev", + "magicofuniverse.dev", + "medashooter.dev", + "9livesarena.dev", + "acrosslunacia.dev", + "afar.dev", + "ageofdragons.dev", + "aifafootball.dev", + "aimbots.dev", + "alphaleagueracing.dev", + "angelicgame.dev", + "angryapearmy.dev", + "angrymals.dev", + "anichess.dev", + "anomura.dev", + "antebellum.dev", + "apeiron.dev", + "apexkingsnftracing.dev", + "arc8.dev", + "arkrivals.dev", + "arker-thelegendofohm.dev", + "arlequin.dev", + "armoredkingdom.dev", + "ascenders.dev", + "astrospace.dev", + "autoverse.dev", + "axieology.dev", + "axiepop.dev", + "barbarianmerge.dev", + "basicbeasts.dev", + "battlesaga.dev", + "battlepalooza.dev", + "battlestargalactica.dev", + "bitheroesarena.dev", + "bitbots.dev", + "bitbrawl.dev", + "bitstarwar.dev", + "bitverse.dev", + "blackshotm.dev", + "bladesofvalor.dev", + "blankosblockparty.dev", + "blockonaire.dev", + "blockstars.dev", + "bloodvessels.dev", + "boomland.dev", + "bovineverse.dev", + "btcnations.dev", + "cantinaroyale.dev", + "carnagecarnival.dev", + "castlecrush.dev", + "catsanddogs.dev", + "chainmyth.dev", + "chainofalliance.dev", + "championsascension.dev", + "championshunters.dev", + "chromaticsoulsafkraid.dev", + "citizenconflictgame.dev", + "civitas.dev", + "clashdome.dev", + "clawstars.dev", + "comethbattle.dev", + "conquest-eth.dev", + "copiumwars.dev", + "cosmicchamps.dev", + "cosmicisles.dev", + "cosmosheroes.dev", + "cozyversegame.dev", + "cyballgame.dev", + "deadrop.dev", + "deverse.dev", + "dracoomaster.dev", + "dustlandrunner.dev", + "eternaldragons.dev", + "ethlas-play&earnmetaverse.dev", + "evaverse.dev", + "everai.dev", + "everseed.dev", + "fableborne.dev", + "fota.dev", + "gotchiverse.dev", + "gunshipbattlecryptoconflict.dev", + "heroeschained.dev", + "heroesland.dev", + "heroesofmavia.dev", + "honeywood.dev", + "infinitedrive.dev", + "infinitefleet.dev", + "influence.dev", + "ironpigeons.dev", + "junglefreaksmotorclub.dev", + "kingdomkarnage.dev", + "lastexpedition.dev", + "legendary-heroesunchained.dev", + "legendsofaria.dev", + "mechafightclub.dev", + "medawars.dev", + "mekaapes.dev", + "metagear.dev", + "metagods.dev", + "mightnmowem.dev", + "mightyactionheroes.dev", + "miniroyalenations.dev", + "mir4.dev", + "mobland.dev", + "moniwar.dev", + "monkeyleague.dev", + "mytheria.dev", + "nflrivals.dev", + "niftyfootbal.dev", + "nitronationworldtour.dev", + "noftgames.dev", + "novabattles.dev", + "nyanheroes.dev", + "oathboundgame.dev", + "onimansion.dev", + "ookeenga.dev", + "outlawtroopers.dev", + "panzerdogs.dev", + "pethereum.dev", + "planetmojo.dev", + "planetquest.dev", + "plantsvsundead.dev", + "polyworld.dev", + "prizefighter.dev", + "projectmoon.dev", + "proofoftreasure.dev", + "proxi.dev", + "raidparty.dev", + "reignofterror.dev", + "revoland.dev", + "riseonlineworld.dev", + "sadu.dev", + "scratchlords.dev", + "shrapnel.dev", + "skatex.dev", + "skybornelegacy.dev", + "solitaire-earnrealbitcoin.dev", + "sorare.dev", + "spacemisfits.dev", + "speedstar.dev", + "staratlas.dev", + "summonerswar-lostcenturia.dev", + "taurion.dev", + "tennischamps.dev", + "theforgottenrunes.dev", + "theharvestgame.dev", + "thelegacynft.dev", + "themedievalempires-ertugrul.dev", + "thenemesis.dev", + "thenemots.dev", + "timeraiders.dev", + "undeadblocks.dev", + "vempire-thebeginning.dev", + "wavelings.dev", + "wonderhero.dev", + "worldeternalonline.dev", + "worldofdefish.dev", + "x.dev", + "zeal.dev", + "playmining.dev", + "secondlive.dev", + "oathofpeak.dev", + "arc8bygamee.dev", + "era7-gameoftruth.dev", + "metaapes.dev", + "tapfantasy.dev", + "xworldgames.dev", + "moboxnftfarmer.dev", + "trickshotblitz.dev", + "tinyworld.dev", + "cpl.dev", + "bombcrypto2.dev", + "niftykicksfactory.dev", + "castlesthenftgame.dev", + "monsterra.dev", + "realmnft.dev", + "solitaireblitz.dev", + "xpansion.dev", + "burgercities.dev", + "animalworld.dev", + "playzapgames.dev", + "arenaofglory.dev", + "nftpanda-worldoffantasy.dev", + "meeet.dev", + "momoguro-holoself.dev", + "playember.dev", + "ultimatechampions.dev", + "treasuredao.dev", + "farmingtales.dev", + "cryptodynasty-eos.dev", + "dawnofvictory.dev", + "miningnetwork.dev", + "tokenlands.dev", + "goldmand.dev", + "jellysquish.dev", + "sanguozworld.dev", + "trainofthecentury.dev", + "carromblitz.dev", + "officeland.dev", + "greenrabbitgame.dev", + "blockchainrpg.dev", + "riseofelves.dev", + "midasminer.dev", + "r-planet.dev", + "mathwar.dev", + "outerringmmo.dev", + "wordsearchblitz.dev", + "ninneko.dev", + "honorworld.dev", + "brainwarp.dev", + "defira.dev", + "moonmininghe3.dev", + "immersys.dev", + "retawars.dev", + "novopangeaa.dev", + "cosmoseleven.dev", + "pyrosrpsbattle.dev", + "midgardclash.dev", + "radaquesttcg.dev", + "snailtrailgame.dev", + "faraland.dev", + "heroicstory.dev", + "foreverfc.dev", + "icepoker.dev", + "mintworld.dev", + "chibiclash.dev", + "poolparty.dev", + "drunkrobots.dev", + "spacesix.dev", + "zomon-thepathofheroes.dev", + "cybercitygame.dev", + "blockchaincutiesuniverse.dev", + "aisportscryptodfs.dev", + "crolonmars.dev", + "croskullnft.dev", + "soloongames.dev", + "thecronosverse.dev", + "crosmonauts.dev", + "boredcandycity.dev", + "tombala.dev", + "caveworld.dev", + "revolte.dev", + "illuvium-play.dev", + "sunflower-land-play.dev", + "planetix-missioncontrol.dev", + "miniroyale.dev", + "polkastarter-apeiron.dev", + "pulsar.dev", + "safrootics.dev", + "polkastarter-life-beyond.dev", + "devikins.dev", + "paradisetycoon.dev", + "tollanworlds.dev", + "blastroyale.dev", + "polkastarter-sipher-odyssey.dev", + "sidusheroes-play.dev", + "thebeacon.dev", + "synergyland.dev", + "pixelguild.dev", + "tinycolony.dev", + "superior.dev", + "shatterpoint.dev", + "treasure-bridgeworld.dev", + "polkastarter-impostors.dev", + "metaopsgaming.dev", + "steampowered-store.dev", + "uldor.dev", + "br1game.dev", + "polkastarter-the-treeverse.dev", + "polkastarter-grit.dev", + "gmientertainment.dev", + "sandbox-installers.dev", + "crosstheages.dev", + "legendsofvenari.dev", + "polkastarter-hunters-onchain.dev", + "polkastarter-edenbrawl.dev", + "decentraland-play.dev", + "mypethooligan-rabbithole.dev", + "leagueofkingdoms-play.dev", + "polkastarter-alaska-gold-rush.dev", + "talesofelleria.dev", + "polkastarter-ember-sword.dev", + "polkastarter-ai-arena.dev", + "polkastarter-nyan-heroes.dev", + "bornless.dev", + "polkastarter-games.dev", + "domionline.dev", + "splinterlands-next.dev", + "polkastarter-earth-from-another-sun.dev", + "cryptounicorns-game.dev", + "phantomgalaxies-lupd.dev", + "immortal.dev", + "chibidinos.dev", + "polkastarter-citizen-conflict.dev", + "polkastarter-planet-mojo.dev", + "fightlegends.dev", + "polkastarter-blocklords.dev", + "cyball.dev", + "bcbrawlers.dev", + "playchronos.dev", + "metalcore-alpha.dev", + "skyweaver-play.dev", + "wagyu.dev", + "voxietactics.dev", + "bithotel.dev", + "cardsofethernity.dev", + "blankos.dev", + "kuroro.dev", + "theharvest.dev", + "polkastarter-elarium.dev", + "playrot.dev", + "aradena.dev", + "midnightsociety.dev", + "polkastarter-off-the-grid.dev", + "myneighboralice.dev", + "nowayback.dev", + "rageeffect.dev", + "polkastarter-lowlife-forms.dev", + "polkastarter-mummy.dev", + "polkastarter-mirandus.dev", + "polkastarter-metastar-strikers.dev", + "theseeds.dev", + "wagmigames.dev", + "smithydao.dev", + "polkastarter-mobland.dev", + "polkastarter-shrapnel.dev", + "tearingspaces.dev", + "polkastarter-legends-of-elysium.dev", + "polkastarter-guild-of-guardians.dev", + "polkastarter-rumble-kong-league.dev", + "elumia.dev", + "kompete.dev", + "cryowar.dev", + "polkastarter-heroes-of-mavia.dev", + "kiraverse.dev", + "theredvillage-tournaments.dev", + "polkastarter-fableborne.dev", + "nitroleague.dev", + "rektdogs.dev", + "moonflow.dev", + "zkmeta.dev", + "aquacity.dev", + "magelabs.dev", + "galaxiastudios.dev", + "mythsrpg.dev", + "daobi.dev", + "kreatorhood.dev", + "sx.dev", + "zepeto.dev", + "adaninjaz.dev", + "ewingames.dev", + "obsworld.dev", + "thehowdystudios.dev", + "modernizegames.dev", + "alphackstudios.dev", + "era2140.dev", + "tempuradao.dev", + "codenamerenegades.dev", + "arkadiapark.dev", + "shatteredeon.dev", + "iglcity.dev", + "forge.dev", + "snowcrash.dev", + "giddy.dev", + "co-actgames.dev", + "metaworldentertainment.dev", + "babysharkgames.dev", + "katanainu.dev", + "bcl.dev", + "hypermint.dev", + "dubbz.dev", + "openportalstudios.dev", + "geneva.dev", + "plaid.dev", + "muuscollective.dev", + "amgistudios.dev", + "invnt.dev", + "com-nubank.dev", + "pixelcraftstudios.dev", + "monkeyempire.dev", + "gadget-bot.dev", + "clubhouse.dev", + "aethergames.dev", + "swordsofblood.dev", + "nhn.dev", + "co-433.dev", + "imantisco.dev", + "neopetsmeta.dev", + "moongaming.dev", + "fisglobal.dev", + "nianticlabs.dev", + "kakaocorp.dev", + "littleorbit.dev", + "tinydigitalfactory.dev", + "jamcity.dev", + "stormwarfare.dev", + "firstlight.dev", + "block-games.dev", + "metakingdom.dev", + "budcreate.dev", + "co-nexon.dev", + "bain.dev", + "square-enix-games.dev", + "stillfront.dev", + "neowiz.dev", + "ryu.dev", + "arrivant.dev", + "parallelnft.dev", + "cyberarts.dev", + "warnermusic.dev", + "vhslab.dev", + "mightybear.dev", + "mech.dev", + "fancystudios.dev", + "playtika.dev", + "metalordz.dev", + "unopnd.dev", + "nwayplay.dev", + "superlayer.dev", + "ripio.dev", + "nemesisdownfall.dev", + "darewise.dev", + "recurforever.dev", + "proofofplay.dev", + "blowfishstudios.dev", + "serenade.dev", + "tiltingpoint.dev", + "poq.dev", + "slabs.dev", + "boombit.dev", + "scopely.dev", + "voltgames.dev", + "medallion.dev", + "yesports.dev", + "doublejump.dev", + "revolvinggames.dev", + "homagames.dev", + "pm.dev", + "opensea-collection-gicko.dev", + "cloud9.dev", + "playfulstudios.dev", + "olivex.dev", + "turntgaming.dev", + "payitnow.dev", + "privy.dev", + "adrastia.dev", + "mailchain.dev", + "polybase.dev", + "sardine.dev", + "obvious.dev", + "kresus.dev", + "onramp.dev", + "validationcloud.dev", + "rly.dev", + "halliday.dev", + "pokt.dev", + "onramper.dev", + "thegraph-en.dev", + "haechi.dev", + "utopialabs.dev", + "portalhq.dev", + "helika.dev", + "airstack.dev", + "0xmail.dev", + "fknlegit.dev", + "a-jam.dev", + "a4.dev", + "web.dev", + "addressinsight.dev", + "adorableavocados-ismtoys.dev", + "agorasquare.dev", + "alltoscan.dev", + "alluo.dev", + "alpacafinance.dev", + "idavoll-alpen.dev", + "ambo.dev", + "ancrypto.dev", + "angelbabyhitsquad-ismtoys.dev", + "angoname.dev", + "animemetaverse.dev", + "anmol.dev", + "antfarm.dev", + "apartment-reviwer-app.dev", + "apesrus-ismtoys.dev", + "tryappend.dev", + "abtwallet.dev", + "argofinance.dev", + "art-plus-food.dev", + "super-proxy-finder.dev", + "artreus.dev", + "aifrens.dev", + "atomicwallet.dev", + "atticc.dev", + "aureal.dev", + "getaurox.dev", + "auth0.dev", + "auto-recover.dev", + "avatar-nftmarket.dev", + "avault.dev", + "babylonvoice.dev", + "backer.dev", + "getboarded.dev", + "banklessacademy.dev", + "pullrequest.dev", + "bc-vault.dev", + "mascot-gamma.dev", + "bifrostwallet.dev", + "bitdegree.dev", + "bitmama.dev", + "bladewallet.dev", + "blite-sage.dev", + "blockbank.dev", + "blockbar.dev", + "blockbooks.dev", + "blockchain-trace.dev", + "blockchainr.dev", + "blockcharts.dev", + "blockdog.dev", + "blockroll.dev", + "blockware.dev", + "bloctix.dev", + "ud-boba-bundlr-arweave.dev", + "bookswap-unstoppable-domains.dev", + "boredapechessset.dev", + "brainly-game.dev", + "breadcrumbs.dev", + "bridgenetwork.dev", + "bronzethedoge.dev", + "bubblestreamr-unstopppable.dev", + "bug-buzzer-ethonline-yoer.dev", + "buidl-domains.dev", + "bob-dao.dev", + "burn-all.dev", + "burnerwallet.dev", + "forj.dev", + "fourpi.dev", + "frac-tion.dev", + "fragmented.dev", + "friends-show.dev", + "frogland.dev", + "frontier.dev", + "fuelart.dev", + "fundmymusician.dev", + "fundapp-denver.dev", + "gacctoyv1-ismtoys.dev", + "silly-neumann-630202.dev", + "gamestop.dev", + "gather.dev", + "gemini-custody.dev", + "genxnfts.dev", + "gensound.dev", + "ghostdrive.dev", + "gigconomy.dev", + "gigiblock-social-hour-web3.dev", + "ginoa.dev", + "giving-funds.dev", + "glacier.dev", + "glimpsenft.dev", + "gnosis-delegator.dev", + "gdcoin.dev", + "golemz-ismtoys.dev", + "gonnamakeit.dev", + "green-dao-orcin.dev", + "grovad.dev", + "guest-book-unstoppable-spiritbro.dev", + "gummys.dev", + "buidl-gyftkard.dev", + "hakka.dev", + "hashspace.dev", + "hashcase.dev", + "hb-wallet.dev", + "healthgo-dashboard.dev", + "github-cjustinobi.dev", + "hector.dev", + "hefty.dev", + "hello-web3.dev", + "heroez.dev", + "hi.dev", + "hito.dev", + "hiveswap.dev", + "hodlezz.dev", + "holonym.dev", + "hyy.dev", + "icecreamsandwich-ismtoys.dev", + "icecreamswap.dev", + "idsea.dev", + "igain.dev", + "imaginereplay.dev", + "imio-zora.dev", + "imme.dev", + "impact-chain.dev", + "indacoin.dev", + "isocks.dev", + "invoke.dev", + "ipfs-blog-engine.dev", + "isekaiverse.dev", + "ismtoys.dev", + "jaypeggers.dev", + "jonesdao.dev", + "co-jua.dev", + "juiceboxfrens-ismtoys.dev", + "junkyarddogs.dev", + "karmz-ismtoys.dev", + "kasuwa-hackfs.dev", + "kazm.dev", + "keyring.dev", + "kimberlite.dev", + "kintsugi.dev", + "klever.dev", + "koii.dev", + "koinx.dev", + "krebit.dev", + "unstoppabledomains-get.dev", + "kryptomon.dev", + "kuwallet.dev", + "getlaika.dev", + "compassionate-sammet-38ff49.dev", + "landcoin.dev", + "ledgermail.dev", + "lineups.dev", + "lite-wallet.dev", + "likemindsfc.dev", + "localcoinswap.dev", + "elegant-lolly-a1c0d3.dev", + "mailchain-app.dev", + "marry-soul.dev", + "masterbrews.dev", + "matic-sender.dev", + "matrica.dev", + "meetwithwallet.dev", + "meme-dao.dev", + "surge.dev", + "message-portal.dev", + "metamirror.dev", + "metla.dev", + "plaid-wallet-onboard.dev", + "plants-and-pillars-unsd.dev", + "platinumbaynft.dev", + "polygon-nft-marketplace-umber.dev", + "polkapet.dev", + "polygonscan.dev", + "polymint.dev", + "polyweb3mail.dev", + "poodl.dev", + "ud-hackathon.dev", + "portify.dev", + "pro-mint.dev", + "pruf.dev", + "pulsar.dev", + "pumabrowser.dev", + "purefi.dev", + "pure-genius-ud.dev", + "pwrfl.dev", + "qstn.dev", + "questbook.dev", + "questile.dev", + "quilt.dev", + "quiverx.dev", + "rad.dev", + "railway.dev", + "nft-generator-web3.dev", + "rareapepe-ismtoys.dev", + "raregems.dev", + "ratemycontract.dev", + "readyplayer.dev", + "recoverycryptomanagement.dev", + "recycle-nft.dev", + "recyclolottery.dev", + "rekt-pepe-renaissance.dev", + "renfter.dev", + "reputex.dev", + "requesto.dev", + "re-sci.dev", + "resonate.dev", + "revest.dev", + "rewardsbunny.dev", + "theanomaly.dev", + "rinkeby-punks.dev", + "ripio-portal.dev", + "rocketpool.dev", + "rss3.dev", + "rucapenlabs.dev", + "rysk.dev", + "scalaproject.dev", + "spheron-scientia-dao-od34eg.dev", + "secuxtech.dev", + "web3nftmarket.dev", + "sendwallet.dev", + "signaturecollectable.dev", + "signum.dev", + "simplemetaverse.dev", + "skiff.dev", + "skytale.dev", + "sloop-green.dev", + "smartbuilder.dev", + "smartdeployer.dev", + "smartpad.dev", + "smartran.dev", + "smarttrust.dev", + "sobr.dev", + "social-invest-platform.dev", + "solarbeam.dev", + "solarflare.dev", + "sonicswap.dev", + "sonikchain.dev", + "sootopia.dev", + "soy.dev", + "spacevents.dev", + "spatium.dev", + "speak-out.dev", + "spherium.dev", + "thesphynx.dev", + "spool.dev", + "sport-fundraiser-app.dev", + "sports-stars-unstoppable-domains.dev", + "festive-boyd-8f81d4.dev", + "stakeshares.dev", + "staxx-ismtoys.dev", + "stellaswap.dev", + "storcrypt.dev", + "straps.dev", + "joyful-toffee-739f22.dev", + "uns-strax-bridge.dev", + "stream-scream.dev", + "structure.dev", + "sturdy.dev", + "ud-login-subscription-hub.dev", + "snw.dev", + "swyypepay.dev", + "tabs3.dev", + "taurosdao.dev", + "teenverse-ismtoys.dev", + "tello-v2.dev", + "alienboy-ismtoys.dev", + "thecoinweekly.dev", + "thedapplist.dev", + "ownthedoge.dev", + "thehashavatars-crypto.dev", + "theunit.dev", + "thevibes--space-crypto.dev", + "thirdbnb.dev", + "thirdgate.dev", + "thorwallet.dev", + "timelesswallet.dev", + "tin.dev", + "token-creator-five.dev", + "web3tokeninfo.dev", + "token-manager-dashboard.dev", + "tokoin.dev", + "tollan.dev", + "torches.dev", + "towerswap.dev", + "trackweb3.dev", + "traddify.dev", + "travel-chain.dev", + "tredanet.dev", + "techtreewiki.dev", + "tribewallet.dev", + "tribes.dev", + "tribunals.dev", + "tropee.dev", + "trusteeglobal.dev", + "truts.dev", + "tuks.dev", + "twiggy-minter.dev", + "leafy-yeot-2ea468.dev", + "uda-lgorand.dev", + "udl.dev", + "celadon-alpaca-84dbbd.dev", + "udmail.dev", + "ud-pay.dev", + "udqrcodegenerator.dev", + "ud-transactions.dev", + "udsea.dev", + "uniblow.dev", + "unido.dev", + "unocoin.dev", + "web-bifrost-bridge.dev", + "brave-browser.dev", + "etherscan-explorer.dev", + "phantom-wallet.dev", + "bushidos.dev", + "butternetwork.dev", + "buy-me-coffee-with-unstoppable.dev", + "buymeacrypto.dev", + "buynothingproject.dev", + "cakewallet.dev", + "callso.dev", + "candyclub.dev", + "canverse.dev", + "carry1st.dev", + "casama.dev", + "spheron-caze-tfntj.dev", + "certificatemarkernft.dev", + "chainex.dev", + "charmverse.dev", + "build-hackathon-uns.dev", + "chubbiverse-ismtoys.dev", + "claimr.dev", + "clayfriends-ismtoys.dev", + "claystack.dev", + "cloudname.dev", + "clv.dev", + "cobo.dev", + "getcogni.dev", + "coinage.dev", + "coinbase-wallet.dev", + "coinpayment.dev", + "coinrequest.dev", + "coinpaprika.dev", + "coinstats.dev", + "coinut.dev", + "collectify.dev", + "collection-kappa.dev", + "comunitygarden.dev", + "concave.dev", + "getconverse.dev", + "conv.dev", + "unstoppabledomains-docs.dev", + "copiosa.dev", + "stake-labs.dev", + "criptdle-git-hackathon-alejozarate.dev", + "criptologos.dev", + "cross-layer-2-bridge.dev", + "crunchnetwork.dev", + "crunchiedao.dev", + "cryptodomains24.dev", + "cryptsocialclub-ismtoys.dev", + "surge-crypto-in-app.dev", + "cryptopunk-lake.dev", + "cryptosmartnow.dev", + "soots.dev", + "cuzradio.dev", + "cyber-graph.dev", + "dapps-tools.dev", + "dapp-chat-virid.dev", + "dappback.dev", + "dappify.dev", + "dappsprotect.dev", + "dashboar.dev", + "deadheads.dev", + "deadheads-ismtoys.dev", + "deadorwounded.dev", + "debayapp.dev", + "decentralize-app.dev", + "decentraland-app.dev", + "decentralized-library.dev", + "decentralised-twitter.dev", + "1deifdonors.dev", + "defilux.dev", + "defimarketplace2.dev", + "defytrends.dev", + "degenz.dev", + "dehive-app.dev", + "demoviesclub.dev", + "denft.dev", + "web-depassword.dev", + "dev-pipes.dev", + "dianiapp.dev", + "digitalcouponnft.dev", + "dinorunnft.dev", + "dmtp.dev", + "precious-crumble-f2a5cb.dev", + "dodao.dev", + "thedogepound-ismtoys.dev", + "resilient-pegasus-61c158.dev", + "dopamineapp.dev", + "dra.dev", + "dressx.dev", + "driipa.dev", + "dripverse.dev", + "dsupport.dev", + "earthwallet.dev", + "easy-explorer.dev", + "easy-fundraising.dev", + "eazi.dev", + "ecowattx.dev", + "eddalytics.dev", + "educationconnec.dev", + "fleek-on-empty-space.dev", + "encirca.dev", + "endofdays.dev", + "endlessdomains.dev", + "enkrypt.dev", + "ennowallet.dev", + "ethportfolio.dev", + "ethmail.dev", + "ethrank.dev", + "exchangily.dev", + "eze.dev", + "fading-hope1-ten.dev", + "fantom-fwallet-beta.dev", + "fantom-coin-sender.dev", + "fantomon.dev", + "surge-ud-nft.dev", + "fatcats-ismtoys.dev", + "filename-space.dev", + "filecoininterface.dev", + "finstreet.dev", + "fishyfam-ismtoys.dev", + "flashchat.dev", + "flolio.dev", + "miniutopia.dev", + "minimax-app.dev", + "mintyplex.dev", + "mobix.dev", + "museumofcryptoart-app.dev", + "modishx.dev", + "moonling-ismtoys.dev", + "moonstake.dev", + "moralis.dev", + "morpher.dev", + "viamover.dev", + "multichain-cloud.dev", + "music3.dev", + "muxifi.dev", + "nabu.dev", + "nebl.dev", + "neonsundae.dev", + "nerdwarex.dev", + "neutra.dev", + "web-nftbingo1.dev", + "nft-birthday-cards.dev", + "fleek-on-nft-community-giveaway.dev", + "nft-explore.dev", + "apple.dev", + "nftpixels.dev", + "nft-marketplace-temp.dev", + "viewernfts.dev", + "nftafrica-glochain.dev", + "nftea-base.dev", + "nftrees.dev", + "nfty-wallet.dev", + "nifty-sammet-0d2669.dev", + "nighthawkwallet.dev", + "nimiq.dev", + "noox.dev", + "sweet-cupcake-eb22aa.dev", + "null-value.dev", + "oix.dev", + "okcontract.dev", + "ceramic-unstoppable.dev", + "onavax.dev", + "onekey.dev", + "onyxdao.dev", + "openrecon.dev", + "orchid.dev", + "orio.dev", + "overnight.dev", + "ownbit.dev", + "oxalus.dev", + "ox-spence.dev", + "semkhor.dev", + "pancakeswap-history.dev", + "paragraph.dev", + "meetparcel.dev", + "partnr.dev", + "pay.dev", + "payrue-nft.dev", + "pazly.dev", + "pdc.dev", + "peerspace.dev", + "perawallet.dev", + "nftpetgram.dev", + "pets-found-me.dev", + "pianomakernft.dev", + "pinkpaper.dev", + "solow.dev", + "piratesnft-ismtoys.dev", + "pitaka.dev", + "unreal-market.dev", + "google-chrome.dev", + "nftexplorer.dev", + "unstoppabledomains-extension.dev", + "unstoppable-portfolio.dev", + "unstoppable-tool.dev", + "upnexxt.dev", + "utorg.dev", + "vapordex.dev", + "vapornodes.dev", + "velocimeter.dev", + "ve-nft.dev", + "vergecurrency.dev", + "versecollect.dev", + "viewblock.dev", + "w3commerce.dev", + "w3link.dev", + "w3w.dev", + "waffy.dev", + "multify.dev", + "watchers.dev", + "web3clubs.dev", + "web3gram.dev", + "webacy.dev", + "wema.dev", + "wfv-ismtoys.dev", + "whaleswap.dev", + "whelps.dev", + "wik-rut-nft.dev", + "usewinter.dev", + "wirexapp.dev", + "getwombat.dev", + "web-eth-online-moments.dev", + "xcelpay.dev", + "xchanted.dev", + "xmtp.dev", + "web-hackathon-polygon-encoded.dev", + "xrptoolkit.dev", + "xscan.dev", + "xtoken.dev", + "xtokenterminal.dev", + "yester.dev", + "yodeswap.dev", + "yooci.dev", + "yoroi-wallet.dev", + "you.dev", + "youngplatform.dev", + "zelus.dev", + "zendmart-dapp-prebeta.dev", + "zillet.dev", + "zilpay.dev", + "nebl-orion.dev", + "2112-run.dev", + "ariva-game.dev", + "assetdash-track.dev", + "bandit-ino.dev", + "beam-wallet.dev", + "blockscan-web.dev", + "glassnode-cryptocurrency.dev", + "guild-mangment.dev", + "hashpack-wallet.dev", + "helloworld-discovery.dev", + "huddle01-meeting.dev", + "karatdao-dao.dev", + "kardiachain-crosschain.dev", + "koinly-crypto.dev", + "lizard-exchange.dev", + "lobstr-wallet.dev", + "lunarcrush-crypto.dev", + "mail3-communication.dev", + "mero-finance.dev", + "metaverse-domains.dev", + "zkbridge-nft.dev", + "relationlabs-one.dev", + "shapeshift-trading.dev", + "sologenic-nft.dev", + "umbra-finance.dev", + "unit-tools.dev", + "changelly-finance.dev", + "cloudflare-web3.dev", + "coin-wallet.dev", + "coinomi-wallet.dev", + "cook-finance.dev", + "cryptoname-gmo.dev", + "edge-wallet.dev", + "eldorado-exchange.dev", + "elastos-essentials.dev", + "ethermail-communications.dev", + "midas-investments.dev", + "mises-browser.dev", + "monero-wallet.dev", + "mycrypto-wallet.dev", + "next-id.dev", + "bubble-nft.dev", + "party-space.dev", + "xnft-explorer.dev", + "xumm-wallet.dev", + "yield-finance.dev", + "zigzag-exchange.dev", + "zksync-wallet.dev", + "co-nftdomains.dev", + "unilend-testnet.dev" + ] +} From 70783f94aa2b4e409811f07f7b3e815aaadfe3f7 Mon Sep 17 00:00:00 2001 From: harshit <127718589+harshit-bitpack@users.noreply.github.com> Date: Wed, 6 Sep 2023 22:45:14 +0530 Subject: [PATCH 8/9] latest merge (#1) * reserved dev names and appstore names (#24) * uri param added in safeMintAppNFT * test file updated * EIP4906 MetadataUpdate event added * fees for mint integration * test file updated * updated mint fee error text * appStore & dev names added --------- Co-authored-by: r48Bit <81687400+r4881t@users.noreply.github.com> * Updates * added bitscrunch and boomland to whitelisted (#25) * Fixing test & adding some reservations * added new 57 dapp to whitelisted dapps (#28) * Added 14 new dapps to registry (#29) --------- Co-authored-by: r48Bit <81687400+r4881t@users.noreply.github.com> Co-authored-by: r48b1t Co-authored-by: kailash-bitpack <128362613+kailash-bitpack@users.noreply.github.com> --- contracts/DevNFTUpgradeable.sol | 16 ++-- scripts/config.json | 4 +- scripts/deployDevProxy.js | 1 + scripts/replaceTransaction.js | 4 +- scripts/reservedAppStoreNames.json | 147 ++++++++++++++++++++++++++++- scripts/reservedDappNames.json | 74 ++++++++++++++- scripts/reservedDevNames.json | 7 +- test/App.test.js | 4 +- 8 files changed, 240 insertions(+), 17 deletions(-) diff --git a/contracts/DevNFTUpgradeable.sol b/contracts/DevNFTUpgradeable.sol index 64b705f..38d17e8 100644 --- a/contracts/DevNFTUpgradeable.sol +++ b/contracts/DevNFTUpgradeable.sol @@ -26,8 +26,8 @@ interface IDappNameList { * @dev This contract includes minting, burning, pausing, URI updates, and other functions * @dev All function calls are currently implement without side effects */ -contract DevNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721EnumerableUpgradeable, - ERC721URIStorageUpgradeable, PausableUpgradeable, OwnableUpgradeable, +contract DevNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721EnumerableUpgradeable, + ERC721URIStorageUpgradeable, PausableUpgradeable, OwnableUpgradeable, ERC721BurnableUpgradeable, UUPSUpgradeable, ERC721NameStorageUpgradeable, ERC2771Recipient { using CountersUpgradeable for CountersUpgradeable.Counter; @@ -59,12 +59,12 @@ contract DevNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable // flag to check if the minting is paid or not bool public payForMintFlag; - /// @custom:oz-upgrades-unsafe-allow constructor + /// @custom:oz-upgrades-unsafe-allow constructor constructor() { _disableInitializers(); } function initialize(address dappNameListAddress_, address trustedForwarder_) initializer public { - __ERC721_init("devNFT", "devNFT"); + __ERC721_init("MerokuDev", "MerokuDev"); __ERC721Enumerable_init(); __ERC721URIStorage_init(); __Pausable_init(); @@ -103,7 +103,7 @@ contract DevNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable } /** - * @notice pauses all token transfers and approvals + * @notice pauses all token transfers and approvals * @dev onlyOwner modifier is applied to the pause function */ function pause() public onlyOwner { @@ -111,7 +111,7 @@ contract DevNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable } /** - * @notice unpauses all token transfers and approvals + * @notice unpauses all token transfers and approvals * @dev onlyOwner modifier is applied to the unpause function */ function unpause() public onlyOwner { @@ -149,11 +149,11 @@ contract DevNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable * @param devName the name of dev to set for the token */ function safeMintDevNFT(address to, string memory uri, string calldata devName) external payable whenNotPaused { - + if(payForMintFlag){ require(msg.value >= mint_fees, "Insufficient mint fee"); } - + require(balanceOf(to)==0, "provided wallet already used to create dev"); string memory validatedDevName = _validateName(devName); if(checkDappNamesListFlag){ diff --git a/scripts/config.json b/scripts/config.json index 319c569..4fe44ce 100644 --- a/scripts/config.json +++ b/scripts/config.json @@ -1,7 +1,7 @@ { "AppNFT": "0x0000000000000000000000000000000000000000", "AppNFTUpgradeable": "0xFe88444bf2dd671cdfC2FDab8c6642df3d2E3970", - "DevNFTUpgradeable": "0x3275e0FCDAbd2A909af46E38949DB2358eC6EbcC", - "AppStoreNFTUpgradeable": "0x0000000000000000000000000000000000000000", + "DevNFTUpgradeable": "0xe7A9D456A6F406acC29393c58704F7fde941F76d", + "AppStoreNFTUpgradeable": "0x965ed5eA1D95419193BD74F3259A34725827108b", "DappNameList": "0x718Ac57f57b488366c7d2268Efae9D02830cD7c4" } \ No newline at end of file diff --git a/scripts/deployDevProxy.js b/scripts/deployDevProxy.js index f65fc40..f639037 100644 --- a/scripts/deployDevProxy.js +++ b/scripts/deployDevProxy.js @@ -7,6 +7,7 @@ var file = require("./config.json"); async function main() { const DevNFT = await ethers.getContractFactory("DevNFTUpgradeable"); const devNFT = await upgrades.deployProxy(DevNFT, [ + file.DappNameList, process.env.TRUSTED_FORWARDER_ADDRESS, ]); await devNFT.deployed(); diff --git a/scripts/replaceTransaction.js b/scripts/replaceTransaction.js index 9014db6..ab30ced 100644 --- a/scripts/replaceTransaction.js +++ b/scripts/replaceTransaction.js @@ -3,9 +3,9 @@ const { ethers, upgrades } = require("hardhat"); async function main() { // Replace the stuck transaction const previousTxHash = - "0xec7c308c0ed9fc904e7519c1499bce5ab4ccd06539f8107d89988b38488911ae"; // Replace with your original transaction hash + "0xb85d06fe1d8c374c251a09a19e2df9a19d370e7063c1d8871932b7da8e3cd06b "; // Replace with your original transaction hash const previousTx = await ethers.provider.getTransaction(previousTxHash); - const newGasPrice = ethers.utils.parseUnits("200", "gwei"); // Replace with your desired gas price in gwei + const newGasPrice = ethers.utils.parseUnits("350", "gwei"); // Replace with your desired gas price in gwei console.log("Previous transaction:", previousTx); if (previousTx && previousTx.blockNumber === null) { diff --git a/scripts/reservedAppStoreNames.json b/scripts/reservedAppStoreNames.json index d335b01..5411f94 100644 --- a/scripts/reservedAppStoreNames.json +++ b/scripts/reservedAppStoreNames.json @@ -4,6 +4,151 @@ "unstoppablemarketplace.appStore", "misesbrowser.appStore", "itsobvioustech.appStore", - "cloudkey.appStore" + "cloudkey.appStore", + "ccl.appStore", + "santabrowser.appStore", + "huddle01.appStore", + "kometverse.appStore", + "indigg.appStore", + "urville.appStore", + "w3w.appStore", + "apple.appStore", + "google.appStore", + "meroku.appStore", + "solesearch.appStore", + "indianrailways.appStore", + "microsoft.appStore", + "facebook.appStore", + "twitter.appStore", + "instagram.appStore", + "youtube.appStore", + "amazon.appStore", + "netflix.appStore", + "spotify.appStore", + "tiktok.appStore", + "snapchat.appStore", + "linkedin.appStore", + "whatsapp.appStore", + "telegram.appStore", + "pinterest.appStore", + "tumblr.appStore", + "reddit.appStore", + "quora.appStore", + "medium.appStore", + "github.appStore", + "bitbucket.appStore", + "gitlab.appStore", + "stackoverflow.appStore", + "dribbble.appStore", + "behance.appStore", + "flickr.appStore", + "500px.appStore", + "unsplash.appStore", + "pixabay.appStore", + "pexels.appStore", + "giphy.appStore", + "tenor.appStore", + "imgur.appStore", + "soundcloud.appStore", + "bandcamp.appStore", + "mixcloud.appStore", + "anchor.appStore", + "podcast.appStore", + "audible.appStore", + "kindle.appStore", + "goodreads.appStore", + "wattpad.appStore", + "medium.appStore", + "wordpress.appStore", + "blogger.appStore", + "tumblr.appStore", + "wix.appStore", + "squarespace.appStore", + "weebly.appStore", + "shopify.appStore", + "bigcartel.appStore", + "etsy.appStore", + "ebay.appStore", + "amazon.appStore", + "flipkart.appStore", + "myntra.appStore", + "jabong.appStore", + "ajio.appStore", + "zara.appStore", + "mango.appStore", + "shein.appStore", + "asos.appStore", + "forever21.appStore", + "hm.appStore", + "nike.appStore", + "adidas.appStore", + "puma.appStore", + "zoom.appStore", + "reebok.appStore", + "vans.appStore", + "converse.appStore", + "newbalance.appStore", + "underarmour.appStore", + "decathlon.appStore", + "zivame.appStore", + "prettysecrets.appStore", + "jordan.appStore", + "gov.appStore", + "digilocker.appStore", + "aadhar.appStore", + "passport.appStore", + "pan.appStore", + "voter.appStore", + "driving.appStore", + "vehicle.appStore", + "india.appStore", + "usa.appStore", + "phonepe.appStore", + "paytm.appStore", + "x.appStore", + "twitter.appStore", + "tesla.appStore", + "marvel.appStore", + "unreal.appStore", + "disney.appStore", + "ps.appStore", + "xbox.appStore", + "nintendo.appStore", + "epic.appStore", + "future.appStore", + "polygon.appStore", + "solana.appStore", + "bnb.appStore", + "ethereum.appStore", + "arbitrum.appStore", + "avalanche.appStore", + "gnosis.appStore", + "metamask.appStore", + "bitcoin.appStore", + "opensea.appStore", + "gaming.appStore", + "watch.appStore", + "konami.appStore", + "roblox.appStore", + "tencent.appStore", + "sony.appStore", + "activision.appStore", + "ea.appStore", + "rockstar.appStore", + "2k.appStore", + "bandai.appStore", + "ubisoft.appStore", + "pokemon.appStore", + "gameloft.appStore", + "mythical.appStore", + "twitch.appStore", + "warnerbros.appStore", + "raven.appStore", + "naughtydog.appStore", + "zynga.appStore", + "popcap.appStore", + "valve.appStore", + "id.appStore", + "tata.appStore" ] } \ No newline at end of file diff --git a/scripts/reservedDappNames.json b/scripts/reservedDappNames.json index 9559191..a173579 100644 --- a/scripts/reservedDappNames.json +++ b/scripts/reservedDappNames.json @@ -4146,6 +4146,78 @@ "zksync-wallet.app", "co-nftdomains.app", "unilend-testnet.app", - "swapper-app.app" + "swapper-app.app", + "bitscrunch.app", + "boomland.app", + "1rpc.app", + "amberdata.app", + "anotherblock.app", + "appliedprimate.app", + "aragon-app.app", + "beam.app", + "blackbird.app", + "blastapi.app", + "blockdaemon.app", + "blockscout.app", + "bonfire.app", + "bridge.app", + "cielo.app", + "deform.app", + "debank.app", + "basescan.app", + "exodus-app.app", + "extrafi.app", + "fwb.app", + "faraway.app", + "flipsidecrypto.app", + "frame.app", + "game7.app", + "gangstaverse.app", + "gauntlet.app", + "go-go-glover.app", + "goldsky.app", + "harvest.app", + "indelible.app", + "iskra.app", + "landtorn.app", + "layer3.app", + "mav.app", + "mint.app", + "mnemonichq.app", + "monkeyleague.app", + "moonwell.app", + "moso.app", + "neptunemutual.app", + "zellic.app", + "words3.app", + "unlock-protocol-staging-app.app", + "truflation.app", + "tenderly.app", + "tally.app", + "spearbit.app", + "reservoir.app", + "redstone-app.app", + "prop.app", + "pike.app", + "panoptic.app", + "opencover.app", + "onboard.app", + "friend.app", + "thirdweb-app.app", + "nouns-build.app", + "appreciators-ismtoys.app", + "beard-1hbz4yao0-nenezoe.app", + "beatstores.app", + "trasak-project.app", + "decenti-vize.app", + "droplinked.app", + "gemwallet.app", + "lemonade-social.app", + "spheron-liquid721-zee7x8.app", + "nft-3d-gallery.app", + "noname-monster.app", + "rarimo.app", + "virgonft.app", + "dominiosweb3.app" ] } diff --git a/scripts/reservedDevNames.json b/scripts/reservedDevNames.json index 2cf4b0e..a183d81 100644 --- a/scripts/reservedDevNames.json +++ b/scripts/reservedDevNames.json @@ -4145,6 +4145,11 @@ "zigzag-exchange.dev", "zksync-wallet.dev", "co-nftdomains.dev", - "unilend-testnet.dev" + "unilend-testnet.dev", + "swapper-app.dev", + "aron.dev", + "pranav.dev", + "graydot.dev", + "voorn.dev" ] } diff --git a/test/App.test.js b/test/App.test.js index 7c31a38..e98acc3 100644 --- a/test/App.test.js +++ b/test/App.test.js @@ -17,8 +17,8 @@ describe(".app & .dev NFT minting", function () { const lockedAmount = ONE_GWEI; const unlockTime = (await time.latest()) + ONE_YEAR_IN_SECS; - const symbolOfDevNFT = "devNFT"; - const nameOfDevNFT = "devNFT"; + const symbolOfDevNFT = "MerokuDev"; + const nameOfDevNFT = "MerokuDev"; const symbolOfAppNFT = "appNFT"; const nameOfAppNFT = "appNFT"; From 0cccc7bdbc8824f94185f1f456f8c67fec6f0c67 Mon Sep 17 00:00:00 2001 From: harshit-bitpack Date: Tue, 27 Feb 2024 15:33:45 +0530 Subject: [PATCH 9/9] bulk mint and updateURI added --- contracts/AppNFTUpgradeable.sol | 12 +++++------ contracts/AppStoreNFTUpgradeable.sol | 31 ++++++++++++++++++++++++++++ contracts/DevNFTUpgradeable.sol | 31 ++++++++++++++++++++++++++++ scripts/upgradeDevProxy.js | 1 + 4 files changed, 69 insertions(+), 6 deletions(-) diff --git a/contracts/AppNFTUpgradeable.sol b/contracts/AppNFTUpgradeable.sol index e24eb96..dc9a7e5 100644 --- a/contracts/AppNFTUpgradeable.sol +++ b/contracts/AppNFTUpgradeable.sol @@ -433,15 +433,15 @@ contract AppNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable /** * @dev Mint multiple NFTs and assign them to a specified address. * @param to The address to assign the minted NFTs to. - * @param appNames An array of app names to use for the NFTs. + * @param names An array of names to use for the NFTs. * @param uris An array of URIs to use for the NFTs. */ - function bulkMintAndURIupdate(address[] calldata to, uint256[] calldata tokenIds, string[] calldata appNames, string[] calldata uris) external onlyOwner { - uint256 quantity = appNames.length; - require(quantity == uris.length, "appNames and uris length mismatch"); - for (uint256 i = 0; i < appNames.length; i++) { + function bulkMintAndURIupdate(address[] calldata to, uint256[] calldata tokenIds, string[] calldata names, string[] calldata uris) external onlyOwner { + uint256 quantity = tokenIds.length; + require(quantity == uris.length, "tokenIds and uris length mismatch"); + for (uint256 i = 0; i < tokenIds.length; i++) { if(tokenIds[i] == 0){ - mint(to[i], uris[i], appNames[i]); + mint(to[i], uris[i], names[i]); } else { _setTokenURI(tokenIds[i], uris[i]); } diff --git a/contracts/AppStoreNFTUpgradeable.sol b/contracts/AppStoreNFTUpgradeable.sol index 94ce8c9..00bc4db 100644 --- a/contracts/AppStoreNFTUpgradeable.sol +++ b/contracts/AppStoreNFTUpgradeable.sol @@ -428,6 +428,37 @@ contract AppStoreNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enume require(_to.send(amount), 'Fee Transfer to Owner failed.'); } + /** + * @dev Mint multiple NFTs and assign them to a specified address. + * @param to The address to assign the minted NFTs to. + * @param names An array of names to use for the NFTs. + * @param uris An array of URIs to use for the NFTs. + */ + function bulkMintAndURIupdate(address[] calldata to, uint256[] calldata tokenIds, string[] calldata names, string[] calldata uris) external onlyOwner { + uint256 quantity = tokenIds.length; + require(quantity == uris.length, "tokenIds and uris length mismatch"); + for (uint256 i = 0; i < tokenIds.length; i++) { + if(tokenIds[i] == 0){ + mint(to[i], uris[i], names[i]); + } else { + _setTokenURI(tokenIds[i], uris[i]); + } + } + } + + /** + * @dev Transfer multiple NFTs from one address to another. + * @param to The address to transfer the NFTs to. + * @param tokenIds An array of token IDs to transfer. + */ + function bulkTransfer(address to, uint256[] calldata tokenIds) external { + for (uint256 i = 0; i < tokenIds.length; i++) { + uint256 tokenId = tokenIds[i]; + require(_isApprovedOrOwner(_msgSender(), tokenId), "Caller is not owner nor approved"); + _transfer(_msgSender(), to, tokenId); + } + } + /** * @notice function to set trusted forwarder * @dev only owner can call this function diff --git a/contracts/DevNFTUpgradeable.sol b/contracts/DevNFTUpgradeable.sol index 38d17e8..00a0374 100644 --- a/contracts/DevNFTUpgradeable.sol +++ b/contracts/DevNFTUpgradeable.sol @@ -268,6 +268,37 @@ contract DevNFTUpgradeable is Initializable, ERC721Upgradeable, ERC721Enumerable require(_to.send(amount), 'Fee Transfer to Owner failed.'); } + /** + * @dev Mint multiple NFTs and assign them to a specified address. + * @param to The address to assign the minted NFTs to. + * @param names An array of names to use for the NFTs. + * @param uris An array of URIs to use for the NFTs. + */ + function bulkMintAndURIupdate(address[] calldata to, uint256[] calldata tokenIds, string[] calldata names, string[] calldata uris) external onlyOwner { + uint256 quantity = tokenIds.length; + require(quantity == uris.length, "tokenIds and uris length mismatch"); + for (uint256 i = 0; i < tokenIds.length; i++) { + if(tokenIds[i] == 0){ + mint(to[i], uris[i], names[i]); + } else { + _setTokenURI(tokenIds[i], uris[i]); + } + } + } + + /** + * @dev Transfer multiple NFTs from one address to another. + * @param to The address to transfer the NFTs to. + * @param tokenIds An array of token IDs to transfer. + */ + function bulkTransfer(address to, uint256[] calldata tokenIds) external { + for (uint256 i = 0; i < tokenIds.length; i++) { + uint256 tokenId = tokenIds[i]; + require(_isApprovedOrOwner(_msgSender(), tokenId), "Caller is not owner nor approved"); + _transfer(_msgSender(), to, tokenId); + } + } + /** * @notice function to set trusted forwarder * @dev only owner can call this function diff --git a/scripts/upgradeDevProxy.js b/scripts/upgradeDevProxy.js index 169db63..c33d9cc 100644 --- a/scripts/upgradeDevProxy.js +++ b/scripts/upgradeDevProxy.js @@ -4,6 +4,7 @@ var file = require("./config.json"); async function main() { const DevNFT = await ethers.getContractFactory("DevNFTUpgradeable"); const devNFT = await upgrades.upgradeProxy(file.DevNFTUpgradeable, DevNFT, [ + file.DappNameList, process.env.TRUSTED_FORWARDER_ADDRESS, ]); console.log("DevNFT upgraded", devNFT);