From f2e5a3b09879425b15f270a4899f87d1647a2205 Mon Sep 17 00:00:00 2001 From: mariacarmina Date: Mon, 23 Sep 2024 13:28:58 +0300 Subject: [PATCH 1/3] Add try/catch for failed transactions when deploying new NFT. --- package-lock.json | 4 +++- src/contracts/NFTFactory.ts | 38 ++++++++++++++++++++----------------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index eca735ff..adf264d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2973,7 +2973,8 @@ "node_modules/@oceanprotocol/contracts": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@oceanprotocol/contracts/-/contracts-2.0.3.tgz", - "integrity": "sha512-D2YtlsgmhBuSmF/Ue8zMWPtXNiB4zgW09NjUQzvDFrloUo0a7yC8r8L84LrVniw+0Nmly/PhLcdm8i018yc34g==" + "integrity": "sha512-D2YtlsgmhBuSmF/Ue8zMWPtXNiB4zgW09NjUQzvDFrloUo0a7yC8r8L84LrVniw+0Nmly/PhLcdm8i018yc34g==", + "license": "Apache-2.0" }, "node_modules/@octokit/auth-token": { "version": "3.0.3", @@ -7953,6 +7954,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "5.7.0", "@ethersproject/abstract-provider": "5.7.0", diff --git a/src/contracts/NFTFactory.ts b/src/contracts/NFTFactory.ts index 86a736ae..5b37e28b 100644 --- a/src/contracts/NFTFactory.ts +++ b/src/contracts/NFTFactory.ts @@ -67,23 +67,27 @@ export class NftFactory extends SmartContractWithAddress { ) if (estimateGas) return estGas // Invoke createToken function of the contract - const tx = await sendTx( - estGas, - this.signer, - this.config?.gasFeeMultiplier, - this.contract.deployERC721Contract, - nftData.name, - nftData.symbol, - nftData.templateIndex, - ZERO_ADDRESS, - ZERO_ADDRESS, - nftData.tokenURI, - nftData.transferable, - nftData.owner - ) - const trxReceipt = await tx.wait() - const events = getEventFromTx(trxReceipt, 'NFTCreated') - return events.args[0] + try { + const tx = await sendTx( + estGas, + this.signer, + this.config?.gasFeeMultiplier, + this.contract.deployERC721Contract, + nftData.name, + nftData.symbol, + nftData.templateIndex, + ZERO_ADDRESS, + ZERO_ADDRESS, + nftData.tokenURI, + nftData.transferable, + nftData.owner + ) + const trxReceipt = await tx.wait() + const events = getEventFromTx(trxReceipt, 'NFTCreated') + return events.args[0] + } catch (e) { + console.error(`Creation of AccessList failed: ${e}`) + } } /** From c160700eb35cf25c5deaf345c5c9919554f3fe27 Mon Sep 17 00:00:00 2001 From: mariacarmina Date: Mon, 23 Sep 2024 13:32:42 +0300 Subject: [PATCH 2/3] Upgrade CI. --- .github/workflows/ci.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce32863f..c1aebcc3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,11 +16,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v4 with: node-version: '20' - name: Cache node_modules - uses: actions/cache@v2 + uses: actions/cache@v4 env: cache-name: cache-node-modules with: @@ -35,11 +35,11 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v4 with: node-version: '20' - name: Cache node_modules - uses: actions/cache@v2 + uses: actions/cache@v4 env: cache-name: cache-node-modules with: @@ -71,7 +71,7 @@ jobs: ls -la "$HOME/.ocean/ocean-contracts/artifacts/" - run: npm run build:metadata - run: npm run test:unit:cover - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: coverage path: coverage/ @@ -81,11 +81,11 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v4 with: node-version: '20' - name: Cache node_modules - uses: actions/cache@v2 + uses: actions/cache@v4 env: cache-name: cache-node-modules with: @@ -143,7 +143,7 @@ jobs: run: docker logs ocean_aquarius_1 && docker logs ocean_provider_1 && docker logs ocean_provider2_1 && docker logs ocean_computetodata_1 if: ${{ failure() }} - name: Upload coverage - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: coverage path: coverage/ @@ -159,11 +159,11 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - name: Cache node_modules - uses: actions/cache@v2 + uses: actions/cache@v4 env: cache-name: cache-node-modules with: @@ -180,7 +180,7 @@ jobs: if: ${{ success() && github.actor != 'dependabot[bot]' }} steps: - uses: actions/checkout@v3 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v4 with: name: coverage @@ -197,7 +197,7 @@ jobs: needs: [test_unit, test_integration] steps: - uses: actions/checkout@v3 - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v4 with: node-version: '20' From 988874a3fd098f0394ede90349470e69395e3290 Mon Sep 17 00:00:00 2001 From: mariacarmina Date: Mon, 23 Sep 2024 13:48:30 +0300 Subject: [PATCH 3/3] Aggregate coverage. --- .github/workflows/ci.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c1aebcc3..f348e40d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,7 +73,7 @@ jobs: - run: npm run test:unit:cover - uses: actions/upload-artifact@v4 with: - name: coverage + name: coverage-unit path: coverage/ test_integration: @@ -145,7 +145,7 @@ jobs: - name: Upload coverage uses: actions/upload-artifact@v4 with: - name: coverage + name: coverage-integration path: coverage/ build: @@ -182,8 +182,10 @@ jobs: - uses: actions/checkout@v3 - uses: actions/download-artifact@v4 with: - name: coverage - + name: coverage-unit + - uses: actions/download-artifact@v4 + with: + name: coverage-integration - uses: paambaati/codeclimate-action@v2.7.5 env: CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}