From 65af872e0d7c2aadc867c1f7d1383a005908ae72 Mon Sep 17 00:00:00 2001 From: Jacqueline Zhang Date: Tue, 28 May 2024 18:53:43 +0800 Subject: [PATCH] update --- utils/utils.ts | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/utils/utils.ts b/utils/utils.ts index 76f2502..a5371c3 100644 --- a/utils/utils.ts +++ b/utils/utils.ts @@ -36,7 +36,7 @@ export function captureConsoleLogs(consoleLogs:string[]){ return consoleLogs; }; -export async function mintNFT(WALLET_PRIVATE_KEY: Hex): Promise { +export async function mintNFT(WALLET_PRIVATE_KEY: Hex, NFT_COLLECTION_ADDRESS?: Address): Promise { const account = privateKeyToAccount(WALLET_PRIVATE_KEY as Address); const baseConfig = { chain: chainId, @@ -58,9 +58,10 @@ export async function mintNFT(WALLET_PRIVATE_KEY: Hex): Promise { }; const requestArgs = { - address: nftContractAddress as Address, + address: NFT_COLLECTION_ADDRESS || nftContractAddress, functionName: 'mint', args: [account.address], + account: walletClient.account, abi: [contractAbi] }; @@ -110,7 +111,7 @@ export async function isRegistered(ipId: Address): Promise { return Boolean(result); }; -export async function mintNFTWithTokenID(WALLET_PRIVATE_KEY: Hex, id: number): Promise { +export async function mintNFTWithTokenID(WALLET_PRIVATE_KEY: Hex, id: number, NFT_COLLECTION_ADDRESS?: Address): Promise { const account = privateKeyToAccount(WALLET_PRIVATE_KEY as Address); const baseConfig = { chain: chainId, @@ -135,9 +136,10 @@ export async function mintNFTWithTokenID(WALLET_PRIVATE_KEY: Hex, id: number): P }; const requestArgs = { - address: nftContractAddress as Address, + address: NFT_COLLECTION_ADDRESS || nftContractAddress, functionName: 'mintId', args: [account.address, BigInt(id)], + account: walletClient.account, abi: [contractAbi] }; @@ -294,25 +296,25 @@ export async function getLatestTokenId(): Promise { return Number(latestTokenId); }; -export async function mintNFTWithRetry(WALLET_PRIVATE_KEY: Hex): Promise { +export async function mintNFTWithRetry(WALLET_PRIVATE_KEY: Hex, NFT_COLLECTION_ADDRESS?: Address): Promise { let tokenId: string = ''; for (let i = 0; i < 3; i++) { try { - tokenId = await mintNFT(WALLET_PRIVATE_KEY); + tokenId = await mintNFT(WALLET_PRIVATE_KEY, NFT_COLLECTION_ADDRESS); break; } catch (error) { if (i === 1) { try{ const latestTokenId = await getLatestTokenId(); - tokenId = await mintNFTWithTokenID(WALLET_PRIVATE_KEY, Number(latestTokenId) + 1); + tokenId = await mintNFTWithTokenID(WALLET_PRIVATE_KEY, Number(latestTokenId) + 1, NFT_COLLECTION_ADDRESS); break; } catch (error) { tokenId = ''; - } - } - } - } + }; + }; + }; + }; return tokenId; }; @@ -343,5 +345,4 @@ export function processResponse(response: any):{ [key: string]: string | bigint } }); return responseJson; -}; - +}; \ No newline at end of file