diff --git a/packages/zevm-app-contracts/contracts/xp-nft/xpNFT.sol b/packages/zevm-app-contracts/contracts/xp-nft/xpNFT.sol index c9c2c949..b0a57839 100644 --- a/packages/zevm-app-contracts/contracts/xp-nft/xpNFT.sol +++ b/packages/zevm-app-contracts/contracts/xp-nft/xpNFT.sol @@ -28,7 +28,7 @@ contract ZetaXP is ERC721Upgradeable, OwnableUpgradeable { address public signerAddress; // Event for New Mint - event NewNFTMinted(address indexed sender, uint256 indexed tokenId); + event NFTMinted(address indexed sender, uint256 indexed tokenId); // Event for NFT Update event NFTUpdated(address indexed sender, uint256 indexed tokenId); @@ -125,7 +125,7 @@ contract ZetaXP is ERC721Upgradeable, OwnableUpgradeable { _updateNFT(mintData); - emit NewNFTMinted(mintData.to, mintData.tokenId); + emit NFTMinted(mintData.to, mintData.tokenId); } // External mint function diff --git a/packages/zevm-app-contracts/data/addresses.json b/packages/zevm-app-contracts/data/addresses.json index 83d5c063..74a8647d 100644 --- a/packages/zevm-app-contracts/data/addresses.json +++ b/packages/zevm-app-contracts/data/addresses.json @@ -6,7 +6,8 @@ "zetaSwap": "0xA8168Dc495Ed61E70f5c1941e2860050AB902cEF", "zetaSwapBtcInbound": "0x358E2cfC0E16444Ba7D3164Bbeeb6bEA7472c559", "invitationManager": "0x3649C03C472B698213926543456E9c21081e529d", - "withdrawERC20": "0xa349B9367cc54b47CAb8D09A95836AE8b4D1d84E" + "withdrawERC20": "0xa349B9367cc54b47CAb8D09A95836AE8b4D1d84E", + "ZetaXP": "0x80ECE9a08ba893e1B863C0c6B3c098268C146E40" } } } \ No newline at end of file diff --git a/packages/zevm-app-contracts/hardhat.config.ts b/packages/zevm-app-contracts/hardhat.config.ts index 5e42ce0f..3fa96701 100644 --- a/packages/zevm-app-contracts/hardhat.config.ts +++ b/packages/zevm-app-contracts/hardhat.config.ts @@ -58,6 +58,7 @@ const config: HardhatUserConfig = { { version: "0.5.10" /** For create2 factory */ }, { version: "0.6.6" /** For uniswap v2 */ }, { version: "0.8.7" }, + { version: "0.8.9" }, ], settings: { /** diff --git a/packages/zevm-app-contracts/scripts/xp-nft/deploy.ts b/packages/zevm-app-contracts/scripts/xp-nft/deploy.ts new file mode 100644 index 00000000..cd1d8877 --- /dev/null +++ b/packages/zevm-app-contracts/scripts/xp-nft/deploy.ts @@ -0,0 +1,32 @@ +import { isProtocolNetworkName } from "@zetachain/protocol-contracts"; +import { ethers, network, upgrades } from "hardhat"; + +import { ZetaXP__factory } from "../../typechain-types"; +import { saveAddress } from "../address.helpers"; + +const networkName = network.name; + +const ZETA_BASE_URL = "https://api.zetachain.io/nft/"; +const signer = "0x1d24d94520B94B26351f6573de5ef9731c48531A"; + +const deployZetaXP = async () => { + if (!isProtocolNetworkName(networkName)) throw new Error("Invalid network name"); + + const ZetaXPFactory = (await ethers.getContractFactory("ZetaXP")) as ZetaXP__factory; + const zetaXP = await upgrades.deployProxy(ZetaXPFactory, ["ZETA NFT", "ZNFT", ZETA_BASE_URL, signer]); + + await zetaXP.deployed(); + + console.log("ZetaXP deployed to:", zetaXP.address); + saveAddress("ZetaXP", zetaXP.address, networkName); +}; + +const main = async () => { + if (!isProtocolNetworkName(networkName)) throw new Error("Invalid network name"); + await deployZetaXP(); +}; + +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/packages/zevm-app-contracts/test/xp-nft/xp-nft.ts b/packages/zevm-app-contracts/test/xp-nft/xp-nft.ts index eeceaa02..f3d5f1c6 100644 --- a/packages/zevm-app-contracts/test/xp-nft/xp-nft.ts +++ b/packages/zevm-app-contracts/test/xp-nft/xp-nft.ts @@ -65,7 +65,7 @@ describe("XP NFT Contract test", () => { signature, } as UpdateParam; const tx = zetaXP.mintNFT(nftParams); - await expect(tx).to.emit(zetaXP, "NewNFTMinted").withArgs(user.address, 1); + await expect(tx).to.emit(zetaXP, "NFTMinted").withArgs(user.address, 1); }); it("Should revert if signature is not correct", async () => {