From 6d34f402a470a42050259d806c802c3a52d04cb6 Mon Sep 17 00:00:00 2001 From: Min Htet Oo Date: Wed, 24 Apr 2024 20:10:08 +0800 Subject: [PATCH 1/9] fix: remove amoy and update testcases accordingly --- README.md | 4 +- .../how-does-tradetrust-utilise-blockchain.md | 2 +- package-lock.json | 3 +- .../fetchEscrowTransfer.integration.test.ts | 188 +++++++--- .../fetchTokenTransfer.integration.test.ts | 42 +-- .../hooks/useEndorsementChain/helpers.test.ts | 31 +- ...trieveEndorsementChain.integration.test.ts | 348 +++++++----------- .../useEndorsementChain.integration.test.tsx | 124 +++++-- .../CertificateViewerErrorBoundary.tsx | 2 +- .../NetworkSelect/NetworkSelect.test.tsx | 18 +- src/config/chain-config.ts | 1 - src/constants/chain-info.ts | 15 - src/test/demo-sample.spec.ts | 2 +- src/test/fixture/amoy/ebl-amoy.json | 54 +++ .../local/v2/invoice-attachments-dummy.json | 86 ++--- .../fixture/local/v2/invoice-attachments.json | 2 +- src/test/fixture/local/v2/invoice-qrcode.json | 2 +- src/test/load-action-certificate.spec.ts | 8 +- src/test/setup-contracts-testcafe.mjs | 2 +- src/utils/shared.test.ts | 4 +- 20 files changed, 521 insertions(+), 417 deletions(-) create mode 100644 src/test/fixture/amoy/ebl-amoy.json diff --git a/README.md b/README.md index 062d483ac..ff5b7a13d 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,8 @@ npm run dev ### Environmental Variables `NET` is used for setting the default network, setting it to `mainnet` uses the public Ethereum network. If it is not set it defaults to Sepolia testnet. -It can also take any network names that Ethers.JS supports, such as `sepolia`, `maticmum`, etc. -However do note that there are only drag & drop demo files provided for main net, sepolia and polygon mumbai. +It can also take any network names that Ethers.JS supports, such as `sepolia`, `amoy`, etc. +However do note that there are only drag & drop demo files provided for main net and sepolia. E.g: diff --git a/cms/faq/how-does-tradetrust-utilise-blockchain.md b/cms/faq/how-does-tradetrust-utilise-blockchain.md index 4aad5668d..d4d75e6fe 100644 --- a/cms/faq/how-does-tradetrust-utilise-blockchain.md +++ b/cms/faq/how-does-tradetrust-utilise-blockchain.md @@ -11,4 +11,4 @@ TradeTrust relies on public blockchain technology (either Ethereum or Polygon) t TradeTrust caters to the following blockchain networks. 1. **Mainnet**: . In the mainnet it supports the Ethereum and Polygon (beta) network. -2. **Testnet**: . In the testnet environment, it utilises the sepolia and Polygon Mumbai network. Please note sepolia is Ethereum test network. The Polygon Mumbai is the test network for Polygon (beta). +2. **Testnet**: . In the testnet environment, it utilises the sepolia and Polygon Amoy network. Please note sepolia is Ethereum test network. The Polygon Amoy is the test network for Polygon (beta). diff --git a/package-lock.json b/package-lock.json index 6f033d126..8f3c38215 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22591,8 +22591,7 @@ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "extraneous": true, "os": [ - "darwin", - "linux" + "darwin" ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" diff --git a/src/common/hooks/useEndorsementChain/fetchEscrowTransfer.integration.test.ts b/src/common/hooks/useEndorsementChain/fetchEscrowTransfer.integration.test.ts index 906e15846..cffd9501d 100644 --- a/src/common/hooks/useEndorsementChain/fetchEscrowTransfer.integration.test.ts +++ b/src/common/hooks/useEndorsementChain/fetchEscrowTransfer.integration.test.ts @@ -1,12 +1,12 @@ -import { ethers, providers } from "ethers"; +import { providers } from "ethers"; import { useProviderContext } from "../../contexts/provider"; -import { ALCHEMY_API_KEY } from "../../../config"; import { TitleEscrow__factory } from "@tradetrust-tt/token-registry/dist/contracts"; import { fetchEscrowTransfers, fetchHolderTransfers, fetchOwnerTransfers, getParsedLogs } from "./fetchEscrowTransfer"; +import { ChainId, ChainInfo } from "../../../constants/chain-info"; jest.mock("../../contexts/provider"); -const mumbaiProvider = new ethers.providers.AlchemyProvider("maticmum", ALCHEMY_API_KEY); +const amoyProvider = new providers.JsonRpcProvider(ChainInfo[ChainId.Amoy].rpcUrl); const mockUseProviderContext = useProviderContext as jest.Mock; @@ -14,60 +14,102 @@ describe("Fetch Escrow Transfers", () => { jest.setTimeout(15000); beforeAll(() => { - mockUseProviderContext.mockReturnValue({ provider: mumbaiProvider, providerOrSigner: mumbaiProvider }); + mockUseProviderContext.mockReturnValue({ provider: amoyProvider, providerOrSigner: amoyProvider }); }); describe("fetch from title escrow transfers", () => { it("should return parsed transfer logs in valid format", async () => { - const escrowTransfers = await fetchEscrowTransfers(mumbaiProvider, "0xF9F8Cf68F297D60743B1E43991EC5E47526c0f9E"); + const escrowTransfers = await fetchEscrowTransfers(amoyProvider, "0x1F6D8888Fc6B75E10b1840620E8229C3C487a925"); expect(escrowTransfers).toEqual([ { type: "TRANSFER_HOLDER", - blockNumber: 36546402, + blockNumber: 6162747, holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - transactionHash: "0x8b3dcd4586c25b8f3efe4f0e2b792e6f2e3afc4be3df90cbd4235fc1099bb8e6", - transactionIndex: 13, + transactionHash: "0x2d98ae3908f0edd095a871a0c56dd3c0e1cfd657b53f28f7c01b1cb83bebc28b", + transactionIndex: 5, }, { type: "TRANSFER_HOLDER", - blockNumber: 36790987, - holder: "0xE4D83Aa444AF12E2B39e9Eb80AA8D6F0A9c79e6D", - transactionHash: "0xc13a561882a46bdc1f6b330abce725904451d82c1c73002fc2e5398315bbf671", - transactionIndex: 22, + blockNumber: 6164050, + holder: "0xd3DD13B7e8D7454F4Fdf0e1a630FDE4f9De84749", + transactionHash: "0x38df7d1bd50f89aefa3a4385afe12f4d9dd320bcdc24d9ff7a775193fa5b6178", + transactionIndex: 4, }, { type: "TRANSFER_HOLDER", - blockNumber: 36791033, + blockNumber: 6202088, holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - transactionHash: "0xb59ba6c9dac6ede91f0915d24f304cd57b8cf7c0ea83af98757fcf1ba9f48ab1", - transactionIndex: 18, + transactionHash: "0xff88596d7b86e99dfa2851bec90ed47acc30dbde0c7d4924501584809d657135", + transactionIndex: 1, + }, + { + type: "TRANSFER_HOLDER", + blockNumber: 6202133, + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + transactionHash: "0x888ef1ce5cd0455e9bfa50122d76e12d54da87d3b93c34460c2439116c582ca6", + transactionIndex: 3, + }, + { + type: "TRANSFER_HOLDER", + blockNumber: 6242178, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + transactionHash: "0xba94dbbd7905d706244fdd53121d41ec23c4d67ab08d2f0820287d07f4d03989", + transactionIndex: 1, + }, + { + type: "TRANSFER_HOLDER", + blockNumber: 6242197, + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + transactionHash: "0xd95d77620c7916290fecd2a38277dec9010e63872dc96be05f3126767b39ba4e", + transactionIndex: 3, + }, + { + type: "TRANSFER_HOLDER", + blockNumber: 6242545, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + transactionHash: "0xee5eb7953687e0d2e05be34091e4a59256de4dc7df18eaeaf1a65cbb833ba6a8", + transactionIndex: 3, + }, + { + type: "TRANSFER_HOLDER", + blockNumber: 6242791, + holder: "0x0000000000000000000000000000000000000000", + transactionHash: "0xcf6968ef91efe74b8ada1770fc31e811f15989f80b0d518a42e06d4ab5bac8bd", + transactionIndex: 3, }, { type: "TRANSFER_BENEFICIARY", - blockNumber: 36546402, owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - transactionHash: "0x8b3dcd4586c25b8f3efe4f0e2b792e6f2e3afc4be3df90cbd4235fc1099bb8e6", - transactionIndex: 13, + blockNumber: 6162747, + transactionHash: "0x2d98ae3908f0edd095a871a0c56dd3c0e1cfd657b53f28f7c01b1cb83bebc28b", + transactionIndex: 5, }, { type: "TRANSFER_BENEFICIARY", - owner: "0xE4D83Aa444AF12E2B39e9Eb80AA8D6F0A9c79e6D", - blockNumber: 36791009, - transactionHash: "0x4d9d3ba1ae289777580115f294d2f478224329f17a6658dd52065351c48cca14", - transactionIndex: 31, + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + blockNumber: 6201774, + transactionHash: "0x4a3be9573991980738e99a1f39485b9141c9012419076cbc1bd87038b3efd313", + transactionIndex: 3, }, { type: "TRANSFER_BENEFICIARY", owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - blockNumber: 36791033, - transactionHash: "0xb59ba6c9dac6ede91f0915d24f304cd57b8cf7c0ea83af98757fcf1ba9f48ab1", - transactionIndex: 18, + blockNumber: 6242178, + transactionHash: "0xba94dbbd7905d706244fdd53121d41ec23c4d67ab08d2f0820287d07f4d03989", + transactionIndex: 1, + }, + { + type: "TRANSFER_BENEFICIARY", + owner: "0x0000000000000000000000000000000000000000", + blockNumber: 6242791, + transactionHash: "0xcf6968ef91efe74b8ada1770fc31e811f15989f80b0d518a42e06d4ab5bac8bd", + transactionIndex: 3, }, ]); }); it("should return parsed transfer logs in valid format", async () => { - const titleEscrow = TitleEscrow__factory.connect("0xF9F8Cf68F297D60743B1E43991EC5E47526c0f9E", mumbaiProvider); + const titleEscrow = TitleEscrow__factory.connect("0x1F6D8888Fc6B75E10b1840620E8229C3C487a925", amoyProvider); const log = { blockNumber: 7836281, blockHash: "0x62f2ad472722a5ee2d78994608d668d8c7ab75dbc5419992c07900ed4dcf6ccc", @@ -167,60 +209,102 @@ describe("Fetch Escrow Transfers", () => { }); describe("fetch from title escrow owner transfers", () => { - it("should return parsed transfer logs in valid format", async () => { - const titleEscrow = TitleEscrow__factory.connect("0xF9F8Cf68F297D60743B1E43991EC5E47526c0f9E", mumbaiProvider); - const ownerTransfers = await fetchOwnerTransfers(titleEscrow, mumbaiProvider); + it("should return parsed transfer logs for beneficiary in valid format", async () => { + const titleEscrow = TitleEscrow__factory.connect("0x1F6D8888Fc6B75E10b1840620E8229C3C487a925", amoyProvider); + const ownerTransfers = await fetchOwnerTransfers(titleEscrow, amoyProvider); expect(ownerTransfers).toEqual([ { type: "TRANSFER_BENEFICIARY", owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - blockNumber: 36546402, - transactionHash: "0x8b3dcd4586c25b8f3efe4f0e2b792e6f2e3afc4be3df90cbd4235fc1099bb8e6", - transactionIndex: 13, + blockNumber: 6162747, + transactionHash: "0x2d98ae3908f0edd095a871a0c56dd3c0e1cfd657b53f28f7c01b1cb83bebc28b", + transactionIndex: 5, }, { type: "TRANSFER_BENEFICIARY", - owner: "0xE4D83Aa444AF12E2B39e9Eb80AA8D6F0A9c79e6D", - blockNumber: 36791009, - transactionHash: "0x4d9d3ba1ae289777580115f294d2f478224329f17a6658dd52065351c48cca14", - transactionIndex: 31, + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + blockNumber: 6201774, + transactionHash: "0x4a3be9573991980738e99a1f39485b9141c9012419076cbc1bd87038b3efd313", + transactionIndex: 3, }, { type: "TRANSFER_BENEFICIARY", owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - blockNumber: 36791033, - transactionHash: "0xb59ba6c9dac6ede91f0915d24f304cd57b8cf7c0ea83af98757fcf1ba9f48ab1", - transactionIndex: 18, + blockNumber: 6242178, + transactionHash: "0xba94dbbd7905d706244fdd53121d41ec23c4d67ab08d2f0820287d07f4d03989", + transactionIndex: 1, + }, + { + type: "TRANSFER_BENEFICIARY", + owner: "0x0000000000000000000000000000000000000000", + blockNumber: 6242791, + transactionHash: "0xcf6968ef91efe74b8ada1770fc31e811f15989f80b0d518a42e06d4ab5bac8bd", + transactionIndex: 3, }, ]); }); }); describe("fetch from title escrow holder transfers", () => { - it("should return parsed transfer logs in valid format", async () => { - const titleEscrow = TitleEscrow__factory.connect("0xF9F8Cf68F297D60743B1E43991EC5E47526c0f9E", mumbaiProvider); - const holderTransfers = await fetchHolderTransfers(titleEscrow, mumbaiProvider); + it("should return parsed transfer logs for holder in valid format", async () => { + const titleEscrow = TitleEscrow__factory.connect("0x1F6D8888Fc6B75E10b1840620E8229C3C487a925", amoyProvider); + const holderTransfers = await fetchHolderTransfers(titleEscrow, amoyProvider); expect(holderTransfers).toEqual([ { type: "TRANSFER_HOLDER", - blockNumber: 36546402, + blockNumber: 6162747, holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - transactionHash: "0x8b3dcd4586c25b8f3efe4f0e2b792e6f2e3afc4be3df90cbd4235fc1099bb8e6", - transactionIndex: 13, + transactionHash: "0x2d98ae3908f0edd095a871a0c56dd3c0e1cfd657b53f28f7c01b1cb83bebc28b", + transactionIndex: 5, }, { type: "TRANSFER_HOLDER", - blockNumber: 36790987, - holder: "0xE4D83Aa444AF12E2B39e9Eb80AA8D6F0A9c79e6D", - transactionHash: "0xc13a561882a46bdc1f6b330abce725904451d82c1c73002fc2e5398315bbf671", - transactionIndex: 22, + blockNumber: 6164050, + holder: "0xd3DD13B7e8D7454F4Fdf0e1a630FDE4f9De84749", + transactionHash: "0x38df7d1bd50f89aefa3a4385afe12f4d9dd320bcdc24d9ff7a775193fa5b6178", + transactionIndex: 4, }, { type: "TRANSFER_HOLDER", - blockNumber: 36791033, + blockNumber: 6202088, holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - transactionHash: "0xb59ba6c9dac6ede91f0915d24f304cd57b8cf7c0ea83af98757fcf1ba9f48ab1", - transactionIndex: 18, + transactionHash: "0xff88596d7b86e99dfa2851bec90ed47acc30dbde0c7d4924501584809d657135", + transactionIndex: 1, + }, + { + type: "TRANSFER_HOLDER", + blockNumber: 6202133, + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + transactionHash: "0x888ef1ce5cd0455e9bfa50122d76e12d54da87d3b93c34460c2439116c582ca6", + transactionIndex: 3, + }, + { + type: "TRANSFER_HOLDER", + blockNumber: 6242178, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + transactionHash: "0xba94dbbd7905d706244fdd53121d41ec23c4d67ab08d2f0820287d07f4d03989", + transactionIndex: 1, + }, + { + type: "TRANSFER_HOLDER", + blockNumber: 6242197, + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + transactionHash: "0xd95d77620c7916290fecd2a38277dec9010e63872dc96be05f3126767b39ba4e", + transactionIndex: 3, + }, + { + type: "TRANSFER_HOLDER", + blockNumber: 6242545, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + transactionHash: "0xee5eb7953687e0d2e05be34091e4a59256de4dc7df18eaeaf1a65cbb833ba6a8", + transactionIndex: 3, + }, + { + type: "TRANSFER_HOLDER", + blockNumber: 6242791, + holder: "0x0000000000000000000000000000000000000000", + transactionHash: "0xcf6968ef91efe74b8ada1770fc31e811f15989f80b0d518a42e06d4ab5bac8bd", + transactionIndex: 3, }, ]); }); diff --git a/src/common/hooks/useEndorsementChain/fetchTokenTransfer.integration.test.ts b/src/common/hooks/useEndorsementChain/fetchTokenTransfer.integration.test.ts index 5519232d0..99e74e771 100644 --- a/src/common/hooks/useEndorsementChain/fetchTokenTransfer.integration.test.ts +++ b/src/common/hooks/useEndorsementChain/fetchTokenTransfer.integration.test.ts @@ -1,56 +1,56 @@ -import { ethers } from "ethers"; +import { providers } from "ethers"; import { useProviderContext } from "../../contexts/provider"; -import { ALCHEMY_API_KEY } from "../../../config"; import { fetchTokenTransfers, identifyTokenTransferEventsFunction } from "./fetchTokenTransfer"; import { TradeTrustToken__factory } from "@tradetrust-tt/token-registry/dist/contracts"; import { LogDescription, Result } from "ethers/lib/utils"; +import { ChainId, ChainInfo } from "../../../constants/chain-info"; jest.mock("../../contexts/provider"); -const mumbaiProvider = new ethers.providers.AlchemyProvider("maticmum", ALCHEMY_API_KEY); +const amoyProvider = new providers.JsonRpcProvider(ChainInfo[ChainId.Amoy].rpcUrl); const mockUseProviderContext = useProviderContext as jest.Mock; describe("Fetch Token Transfers", () => { beforeAll(() => { - mockUseProviderContext.mockReturnValue({ provider: mumbaiProvider, providerOrSigner: mumbaiProvider }); + mockUseProviderContext.mockReturnValue({ provider: amoyProvider, providerOrSigner: amoyProvider }); }); describe("fetch from token registry with token id", () => { it("should return parsed transfer logs in valid format", async () => { const tokenRegistry = TradeTrustToken__factory.connect( - "0x072FB36B73a7f52A23ea53162583f78ba3Bc6DEa", - mumbaiProvider + "0x71D28767662cB233F887aD2Bb65d048d760bA694", + amoyProvider ); if (!tokenRegistry) throw new Error("Unable to connect to token registry: Test Failed"); const tokenTransfers = await fetchTokenTransfers( tokenRegistry, - "0x4c3e71fe22cc3a5fea77244fb974e148694437fe48c776719a3a2c9e1af3586e" + "0xe8b9fb84485cbf9dd59eabe1dcddf44d9e3ff820aedb7d02a138ef4a116f0ec9" ); expect(tokenTransfers).toEqual([ { type: "INITIAL", from: "0x0000000000000000000000000000000000000000", - to: "0xF9F8Cf68F297D60743B1E43991EC5E47526c0f9E", - blockNumber: 36546402, - transactionHash: "0x8b3dcd4586c25b8f3efe4f0e2b792e6f2e3afc4be3df90cbd4235fc1099bb8e6", - transactionIndex: 13, + to: "0x85b6A38870eea302ee220A98cF492209CFed96ff", + blockNumber: 6203293, + transactionHash: "0x5e25cf43dee3027b1aa3fb8222d1f0dcd9d5b206a4264db2147eb3264f6a29d0", + transactionIndex: 3, }, { type: "SURRENDERED", - from: "0xF9F8Cf68F297D60743B1E43991EC5E47526c0f9E", - to: "0x072FB36B73a7f52A23ea53162583f78ba3Bc6DEa", - blockNumber: 36792124, - transactionHash: "0xf779b4bac0e578190470c89147e400059c56cfed9546e14133b6c4b109ff00c6", - transactionIndex: 35, + from: "0x85b6A38870eea302ee220A98cF492209CFed96ff", + to: "0x71D28767662cB233F887aD2Bb65d048d760bA694", + blockNumber: 6203554, + transactionHash: "0x3929b5a343ec5cebe8a08f60580fdd5a417dc7beafa5f2dd45f38640875e6b22", + transactionIndex: 0, }, { type: "SURRENDER_REJECTED", - from: "0x072FB36B73a7f52A23ea53162583f78ba3Bc6DEa", - to: "0xF9F8Cf68F297D60743B1E43991EC5E47526c0f9E", - blockNumber: 36792132, - transactionHash: "0x6ee28c3e41b72c2487c0e3598bb91e3abcccc095bbeb40d03eb4dc7665955287", - transactionIndex: 37, + from: "0x71D28767662cB233F887aD2Bb65d048d760bA694", + to: "0x85b6A38870eea302ee220A98cF492209CFed96ff", + blockNumber: 6203580, + transactionHash: "0xef671a870dce0069628cba2c30abee03627df9dca1c9436defc837e593e29871", + transactionIndex: 1, }, ]); }); diff --git a/src/common/hooks/useEndorsementChain/helpers.test.ts b/src/common/hooks/useEndorsementChain/helpers.test.ts index 2fe590616..f0713da67 100644 --- a/src/common/hooks/useEndorsementChain/helpers.test.ts +++ b/src/common/hooks/useEndorsementChain/helpers.test.ts @@ -1,31 +1,31 @@ -import { ethers } from "ethers"; +import { providers } from "ethers"; import { useProviderContext } from "../../contexts/provider"; -import { ALCHEMY_API_KEY } from "../../../config"; import { TradeTrustToken__factory } from "@tradetrust-tt/token-registry/dist/contracts"; import { fetchEventTime, getHolderOwner, mergeTransfers, sortLogChain } from "./helpers"; import { TransferBaseEvent } from "../../../types"; import { retrieveTitleEscrowAddressOnFactory } from "../useTitleEscrowContract"; +import { ChainId, ChainInfo } from "../../../constants/chain-info"; jest.mock("../../contexts/provider"); -const mumbaiProvider = new ethers.providers.AlchemyProvider("maticmum", ALCHEMY_API_KEY); +const amoyProvider = new providers.JsonRpcProvider(ChainInfo[ChainId.Amoy].rpcUrl); const mockUseProviderContext = useProviderContext as jest.Mock; describe("Test all endorsement chain helpers", () => { beforeAll(() => { - mockUseProviderContext.mockReturnValue({ provider: mumbaiProvider, providerOrSigner: mumbaiProvider }); + mockUseProviderContext.mockReturnValue({ provider: amoyProvider, providerOrSigner: amoyProvider }); }); describe("fetchEventTime", () => { - it("should return correct formatted timestamp in milliseconds for block 0 with mumbai provider", async () => { - const timeOfFirstBlock = await fetchEventTime(0, mumbaiProvider); - expect(timeOfFirstBlock).toBe(1558348305000); + it("should return correct formatted timestamp in milliseconds for block 0 with amoy provider", async () => { + const timeOfBlockZero = await fetchEventTime(0, amoyProvider); + expect(timeOfBlockZero).toBe(1700225065000); }); - it("should return correct formatted timestamp in milliseconds for block 1 with mumbai provider", async () => { - const timeOfFirstBlock = await fetchEventTime(1, mumbaiProvider); - expect(timeOfFirstBlock).toBe(1591320769000); + it("should return correct formatted timestamp in milliseconds for block 1 with amoy provider", async () => { + const timeOfBlockOne = await fetchEventTime(1, amoyProvider); + expect(timeOfBlockOne).toBe(1700395859000); }); }); @@ -194,15 +194,12 @@ describe("Test all endorsement chain helpers", () => { }); it("extract title escrow address on surrendered/burn title escrow", async () => { - const tokenRegistry = TradeTrustToken__factory.connect( - "0x072FB36B73a7f52A23ea53162583f78ba3Bc6DEa", - mumbaiProvider - ); + const tokenRegistry = TradeTrustToken__factory.connect("0x71D28767662cB233F887aD2Bb65d048d760bA694", amoyProvider); const result = await retrieveTitleEscrowAddressOnFactory( tokenRegistry, - "0x4c3e71fe22cc3a5fea77244fb974e148694437fe48c776719a3a2c9e1af3586e", - mumbaiProvider + "0x780e38c6345dac12cedb7aacc69492ff31cc5236cd60da46261aa1c27691141e", + amoyProvider ); - expect(result).toBe("0xF9F8Cf68F297D60743B1E43991EC5E47526c0f9E"); + expect(result).toBe("0x1F6D8888Fc6B75E10b1840620E8229C3C487a925"); }); }); diff --git a/src/common/hooks/useEndorsementChain/retrieveEndorsementChain.integration.test.ts b/src/common/hooks/useEndorsementChain/retrieveEndorsementChain.integration.test.ts index 377eca941..cd354729a 100644 --- a/src/common/hooks/useEndorsementChain/retrieveEndorsementChain.integration.test.ts +++ b/src/common/hooks/useEndorsementChain/retrieveEndorsementChain.integration.test.ts @@ -1,12 +1,12 @@ -import { ethers } from "ethers"; +import { providers } from "ethers"; import { useProviderContext } from "../../contexts/provider"; -import { ALCHEMY_API_KEY } from "../../../config"; import { TransferBaseEvent } from "../../../types"; import { getEndorsementChain } from "./retrieveEndorsementChain"; +import { ChainId, ChainInfo } from "../../../constants/chain-info"; jest.mock("../../contexts/provider"); -const mumbaiProvider = new ethers.providers.AlchemyProvider("maticmum", ALCHEMY_API_KEY); +const amoyProvider = new providers.JsonRpcProvider(ChainInfo[ChainId.Amoy].rpcUrl); const mockUseProviderContext = useProviderContext as jest.Mock; @@ -14,280 +14,212 @@ describe("Fetch Endorsement Transfers", () => { jest.setTimeout(45000); beforeAll(() => { - mockUseProviderContext.mockReturnValue({ provider: mumbaiProvider, providerOrSigner: mumbaiProvider }); + mockUseProviderContext.mockReturnValue({ provider: amoyProvider, providerOrSigner: amoyProvider }); }); it("should format endorsement chain for display", async () => { const logChain = [ { + blockNumber: 6202088, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + transactionHash: "0xff88596d7b86e99dfa2851bec90ed47acc30dbde0c7d4924501584809d657135", + transactionIndex: 1, type: "TRANSFER_HOLDER", - blockNumber: 7835445, - holder: "0x90264b594B8dc2225cb7D05a14e78483BAc7FBF7", - transactionHash: "0xedb4de0f4af90140a6fe5926efbcc60246634f7aba41ce0fbaaf125e19a1d44c", - transactionIndex: 9, }, { + blockNumber: 6202133, + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + transactionHash: "0x888ef1ce5cd0455e9bfa50122d76e12d54da87d3b93c34460c2439116c582ca6", + transactionIndex: 3, type: "TRANSFER_HOLDER", - blockNumber: 7835503, - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - transactionHash: "0xe8621e14bb5237a741e716f01990e6b9e856020afa49cd600e4ec586a81b5765", - transactionIndex: 24, - }, - { - type: "TRANSFER_HOLDER", - blockNumber: 7835673, - holder: "0x90264b594B8dc2225cb7D05a14e78483BAc7FBF7", - transactionHash: "0x273adc427b8c9bacf3e125fc2d4ce7b6169c921116a191d18bb73cbcd1782392", - transactionIndex: 16, - }, - { - type: "TRANSFER_HOLDER", - blockNumber: 7835716, - holder: "0x90264b594B8dc2225cb7D05a14e78483BAc7FBF7", - transactionHash: "0x0f4612708c301c844b30aee493f361a0d0a61543e988025ec933afa9762d6da2", - transactionIndex: 63, - }, - { - type: "TRANSFER_HOLDER", - blockNumber: 7835735, - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - transactionHash: "0xcf4537a4c8a6ba5cda883cb489318fff800379462cab535501876d37389305df", - transactionIndex: 54, - }, - { - type: "TRANSFER_BENEFICIARY", - owner: "0x90264b594B8dc2225cb7D05a14e78483BAc7FBF7", - blockNumber: 7835628, - transactionHash: "0xaf4418d8acee750ac10fec640a3d3c1e3104c25400687483f5df534dbc420cc2", - transactionIndex: 30, }, { + blockNumber: 6203041, + from: "0x1F6D8888Fc6B75E10b1840620E8229C3C487a925", + to: "0x71D28767662cB233F887aD2Bb65d048d760bA694", + transactionHash: "0x21b804d9bbd9953310eaa62f0d6b0cf9a2821af86913bf252ea75958f84d7b17", + transactionIndex: 5, type: "SURRENDERED", - from: "0xAAb472d3706E0E7F8Fb4354EADe34F2c43dDb279", - to: "0x2B1B777614f8a90F9Cc29eC6Db521581c068a749", - blockNumber: 7835698, - transactionHash: "0xe11c49e31b47a27c13106213485cc4684f48d765b785005048ba57ea366a1639", - transactionIndex: 62, }, { + blockNumber: 6242100, + from: "0x71D28767662cB233F887aD2Bb65d048d760bA694", + to: "0x1F6D8888Fc6B75E10b1840620E8229C3C487a925", + transactionHash: "0x611f48ddedeea93f470dd6a3ba96d2eeb9c896fc954e616c3fcb8811d92c3ea4", + transactionIndex: 0, type: "SURRENDER_REJECTED", - from: "0x2B1B777614f8a90F9Cc29eC6Db521581c068a749", - to: "0xAAb472d3706E0E7F8Fb4354EADe34F2c43dDb279", - blockNumber: 7835703, - transactionHash: "0x9f074aa153b03b5d8f4cdd51142491bb821696a1bda21d24ee2d947891ada9d0", - transactionIndex: 17, }, { - type: "SURRENDERED", - from: "0xAAb472d3706E0E7F8Fb4354EADe34F2c43dDb279", - to: "0x2B1B777614f8a90F9Cc29eC6Db521581c068a749", - blockNumber: 7835738, - transactionHash: "0x6782d845fe298cd79584a25466d1e2d9a3ff8d14591b4b424922709b7605f58e", - transactionIndex: 86, + blockNumber: 6242178, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + transactionHash: "0xba94dbbd7905d706244fdd53121d41ec23c4d67ab08d2f0820287d07f4d03989", + transactionIndex: 1, + type: "TRANSFER_OWNERS", }, { - type: "SURRENDER_REJECTED", - from: "0x2B1B777614f8a90F9Cc29eC6Db521581c068a749", - to: "0xAAb472d3706E0E7F8Fb4354EADe34F2c43dDb279", - blockNumber: 7836089, - transactionHash: "0x4668970e883841dab512dc53c63f05c7c7452e9876086c2838710cfd42286726", - transactionIndex: 59, + blockNumber: 6162747, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + transactionHash: "0x2d98ae3908f0edd095a871a0c56dd3c0e1cfd657b53f28f7c01b1cb83bebc28b", + transactionIndex: 5, + type: "INITIAL", }, { - type: "SURRENDERED", - from: "0xAAb472d3706E0E7F8Fb4354EADe34F2c43dDb279", - to: "0x2B1B777614f8a90F9Cc29eC6Db521581c068a749", - blockNumber: 7836139, - transactionHash: "0xf1193038431ec68ca26a2f2e52b9dfdb677411c5afa4d1048a43eade8313b3ea", - transactionIndex: 206, + blockNumber: 6164050, + holder: "0xd3DD13B7e8D7454F4Fdf0e1a630FDE4f9De84749", + transactionHash: "0x38df7d1bd50f89aefa3a4385afe12f4d9dd320bcdc24d9ff7a775193fa5b6178", + transactionIndex: 4, + type: "TRANSFER_HOLDER", }, { - type: "SURRENDER_REJECTED", - from: "0x2B1B777614f8a90F9Cc29eC6Db521581c068a749", - to: "0xAAb472d3706E0E7F8Fb4354EADe34F2c43dDb279", - blockNumber: 7836270, - transactionHash: "0x6162961170520543c6d760c166a72c934b7cc84d0fa0eaf5097745071f3af334", - transactionIndex: 46, + blockNumber: 6201774, + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + transactionHash: "0x4a3be9573991980738e99a1f39485b9141c9012419076cbc1bd87038b3efd313", + transactionIndex: 3, + type: "TRANSFER_BENEFICIARY", }, { - type: "SURRENDERED", - from: "0xAAb472d3706E0E7F8Fb4354EADe34F2c43dDb279", - to: "0x2B1B777614f8a90F9Cc29eC6Db521581c068a749", - blockNumber: 7836273, - transactionHash: "0xb30c0a48f5ebe6748b31f7f5f370b605eece7a093f950d7715f54ede2474fee7", - transactionIndex: 59, + blockNumber: 6242197, + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + transactionHash: "0xd95d77620c7916290fecd2a38277dec9010e63872dc96be05f3126767b39ba4e", + transactionIndex: 3, + type: "TRANSFER_HOLDER", }, { - type: "INITIAL", - blockNumber: 7831157, - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - transactionHash: "0x1144cd45c4b9deae74a885d38bececeb1a3e194dbbcc3ef6f8c180f911ac0bb0", - transactionIndex: 104, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", + blockNumber: 6242545, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + transactionHash: "0xee5eb7953687e0d2e05be34091e4a59256de4dc7df18eaeaf1a65cbb833ba6a8", + transactionIndex: 3, + type: "TRANSFER_HOLDER", }, { - type: "TRANSFER_OWNERS", - blockNumber: 7835693, - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - transactionHash: "0x80da1fd7ae5c6e0a01155ad13097a531d74167aa5a04a47b9a38844146b4682f", - transactionIndex: 20, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", + blockNumber: 6242768, + from: "0x1F6D8888Fc6B75E10b1840620E8229C3C487a925", + to: "0x71D28767662cB233F887aD2Bb65d048d760bA694", + transactionHash: "0x039f729fe72d703a799bfbe6736f51f84639ec166632da8c9ea4e1995016fa95", + transactionIndex: 1, + type: "SURRENDERED", }, { - type: "SURRENDER_ACCEPTED", - blockNumber: 7836281, + blockNumber: 6242791, holder: "0x0000000000000000000000000000000000000000", - transactionHash: "0x497395d2d58837a3fe686a883eaaaa2675b3d8ad10479abec2184349f7d38cb4", - transactionIndex: 18, owner: "0x0000000000000000000000000000000000000000", + transactionHash: "0xcf6968ef91efe74b8ada1770fc31e811f15989f80b0d518a42e06d4ab5bac8bd", + transactionIndex: 3, + type: "SURRENDER_ACCEPTED", }, ] as TransferBaseEvent[]; - const results = await getEndorsementChain(mumbaiProvider, logChain); + const results = await getEndorsementChain(amoyProvider, logChain); expect(results).toEqual([ { + blockNumber: 6162747, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + timestamp: 1713778879000, + transactionHash: "0x2d98ae3908f0edd095a871a0c56dd3c0e1cfd657b53f28f7c01b1cb83bebc28b", + transactionIndex: 5, type: "INITIAL", - transactionHash: "0x1144cd45c4b9deae74a885d38bececeb1a3e194dbbcc3ef6f8c180f911ac0bb0", - transactionIndex: 104, - blockNumber: 7831157, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607504532000, }, { + blockNumber: 6164050, + holder: "0xd3DD13B7e8D7454F4Fdf0e1a630FDE4f9De84749", + owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + timestamp: 1713782103000, + transactionHash: "0x38df7d1bd50f89aefa3a4385afe12f4d9dd320bcdc24d9ff7a775193fa5b6178", + transactionIndex: 4, type: "TRANSFER_HOLDER", - transactionHash: "0xedb4de0f4af90140a6fe5926efbcc60246634f7aba41ce0fbaaf125e19a1d44c", - transactionIndex: 9, - blockNumber: 7835445, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x90264b594B8dc2225cb7D05a14e78483BAc7FBF7", - timestamp: 1607513376000, - }, - { - type: "TRANSFER_HOLDER", - transactionHash: "0xe8621e14bb5237a741e716f01990e6b9e856020afa49cd600e4ec586a81b5765", - transactionIndex: 24, - blockNumber: 7835503, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607513496000, }, { + blockNumber: 6201774, + holder: "0xd3DD13B7e8D7454F4Fdf0e1a630FDE4f9De84749", + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + timestamp: 1713866365000, + transactionHash: "0x4a3be9573991980738e99a1f39485b9141c9012419076cbc1bd87038b3efd313", + transactionIndex: 3, type: "TRANSFER_BENEFICIARY", - transactionHash: "0xaf4418d8acee750ac10fec640a3d3c1e3104c25400687483f5df534dbc420cc2", - transactionIndex: 30, - blockNumber: 7835628, - owner: "0x90264b594B8dc2225cb7D05a14e78483BAc7FBF7", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607513754000, }, { + blockNumber: 6202088, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + timestamp: 1713867129000, + transactionHash: "0xff88596d7b86e99dfa2851bec90ed47acc30dbde0c7d4924501584809d657135", + transactionIndex: 1, type: "TRANSFER_HOLDER", - transactionHash: "0x273adc427b8c9bacf3e125fc2d4ce7b6169c921116a191d18bb73cbcd1782392", - transactionIndex: 16, - blockNumber: 7835673, - owner: "0x90264b594B8dc2225cb7D05a14e78483BAc7FBF7", - holder: "0x90264b594B8dc2225cb7D05a14e78483BAc7FBF7", - timestamp: 1607513848000, }, { - type: "TRANSFER_OWNERS", - transactionHash: "0x80da1fd7ae5c6e0a01155ad13097a531d74167aa5a04a47b9a38844146b4682f", - transactionIndex: 20, - blockNumber: 7835693, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607513888000, + blockNumber: 6202133, + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + timestamp: 1713867225000, + transactionHash: "0x888ef1ce5cd0455e9bfa50122d76e12d54da87d3b93c34460c2439116c582ca6", + transactionIndex: 3, + type: "TRANSFER_HOLDER", }, { + blockNumber: 6203041, + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + timestamp: 1713869315000, + transactionHash: "0x21b804d9bbd9953310eaa62f0d6b0cf9a2821af86913bf252ea75958f84d7b17", + transactionIndex: 5, type: "SURRENDERED", - transactionHash: "0xe11c49e31b47a27c13106213485cc4684f48d765b785005048ba57ea366a1639", - transactionIndex: 62, - blockNumber: 7835698, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607513898000, }, { + blockNumber: 6242100, + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + timestamp: 1713956826000, + transactionHash: "0x611f48ddedeea93f470dd6a3ba96d2eeb9c896fc954e616c3fcb8811d92c3ea4", + transactionIndex: 0, type: "SURRENDER_REJECTED", - transactionHash: "0x9f074aa153b03b5d8f4cdd51142491bb821696a1bda21d24ee2d947891ada9d0", - transactionIndex: 17, - blockNumber: 7835703, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607513908000, }, { - type: "TRANSFER_HOLDER", - transactionHash: "0x0f4612708c301c844b30aee493f361a0d0a61543e988025ec933afa9762d6da2", - transactionIndex: 63, - blockNumber: 7835716, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x90264b594B8dc2225cb7D05a14e78483BAc7FBF7", - timestamp: 1607513938000, + blockNumber: 6242178, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + timestamp: 1713956992000, + transactionHash: "0xba94dbbd7905d706244fdd53121d41ec23c4d67ab08d2f0820287d07f4d03989", + transactionIndex: 1, + type: "TRANSFER_OWNERS", }, { + blockNumber: 6242197, + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + timestamp: 1713957044000, + transactionHash: "0xd95d77620c7916290fecd2a38277dec9010e63872dc96be05f3126767b39ba4e", + transactionIndex: 3, type: "TRANSFER_HOLDER", - transactionHash: "0xcf4537a4c8a6ba5cda883cb489318fff800379462cab535501876d37389305df", - transactionIndex: 54, - blockNumber: 7835735, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607513976000, - }, - { - type: "SURRENDERED", - transactionHash: "0x6782d845fe298cd79584a25466d1e2d9a3ff8d14591b4b424922709b7605f58e", - transactionIndex: 86, - blockNumber: 7835738, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607513982000, }, { - type: "SURRENDER_REJECTED", - transactionHash: "0x4668970e883841dab512dc53c63f05c7c7452e9876086c2838710cfd42286726", - transactionIndex: 59, - blockNumber: 7836089, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607514704000, - }, - { - type: "SURRENDERED", - transactionHash: "0xf1193038431ec68ca26a2f2e52b9dfdb677411c5afa4d1048a43eade8313b3ea", - transactionIndex: 206, - blockNumber: 7836139, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607514808000, - }, - { - type: "SURRENDER_REJECTED", - transactionHash: "0x6162961170520543c6d760c166a72c934b7cc84d0fa0eaf5097745071f3af334", - transactionIndex: 46, - blockNumber: 7836270, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607515078000, + blockNumber: 6242545, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + timestamp: 1713957840000, + transactionHash: "0xee5eb7953687e0d2e05be34091e4a59256de4dc7df18eaeaf1a65cbb833ba6a8", + transactionIndex: 3, + type: "TRANSFER_HOLDER", }, { + blockNumber: 6242768, + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + timestamp: 1713958374000, + transactionHash: "0x039f729fe72d703a799bfbe6736f51f84639ec166632da8c9ea4e1995016fa95", + transactionIndex: 1, type: "SURRENDERED", - transactionHash: "0xb30c0a48f5ebe6748b31f7f5f370b605eece7a093f950d7715f54ede2474fee7", - transactionIndex: 59, - blockNumber: 7836273, - owner: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - holder: "0x8d366250A96deBE81C8619459a503a0eEBE33ca6", - timestamp: 1607515084000, }, { - type: "SURRENDER_ACCEPTED", - transactionHash: "0x497395d2d58837a3fe686a883eaaaa2675b3d8ad10479abec2184349f7d38cb4", - transactionIndex: 18, - blockNumber: 7836281, - owner: "0x0000000000000000000000000000000000000000", + blockNumber: 6242791, holder: "0x0000000000000000000000000000000000000000", - timestamp: 1607515100000, + owner: "0x0000000000000000000000000000000000000000", + timestamp: 1713958422000, + transactionHash: "0xcf6968ef91efe74b8ada1770fc31e811f15989f80b0d518a42e06d4ab5bac8bd", + transactionIndex: 3, + type: "SURRENDER_ACCEPTED", }, ]); }); diff --git a/src/common/hooks/useEndorsementChain/useEndorsementChain.integration.test.tsx b/src/common/hooks/useEndorsementChain/useEndorsementChain.integration.test.tsx index ca5eccb8f..c7e8d4375 100644 --- a/src/common/hooks/useEndorsementChain/useEndorsementChain.integration.test.tsx +++ b/src/common/hooks/useEndorsementChain/useEndorsementChain.integration.test.tsx @@ -1,25 +1,25 @@ -import { ethers } from "ethers"; +import { providers } from "ethers"; import { renderHook, act } from "@testing-library/react-hooks"; import { waitFor } from "@testing-library/react"; import { useEndorsementChain } from "./useEndorsementChain"; import { useProviderContext } from "../../contexts/provider"; -import { ALCHEMY_API_KEY } from "../../../config"; +import { ChainId, ChainInfo } from "../../../constants/chain-info"; jest.mock("../../contexts/provider"); -const mumbaiProvider = new ethers.providers.AlchemyProvider("maticmum", ALCHEMY_API_KEY); +const amoyProvider = new providers.JsonRpcProvider(ChainInfo[ChainId.Amoy].rpcUrl); const mockUseProviderContext = useProviderContext as jest.Mock; describe("useEndorsementChain|integration", () => { beforeAll(() => { - mockUseProviderContext.mockReturnValue({ provider: mumbaiProvider, providerOrSigner: mumbaiProvider }); + mockUseProviderContext.mockReturnValue({ provider: amoyProvider, providerOrSigner: amoyProvider }); }); it("should work correctly for a given tokenRegistryAddress + tokenId with Transfer, Surrender, Burnt events", async () => { const { result } = renderHook(() => useEndorsementChain( - "0x072FB36B73a7f52A23ea53162583f78ba3Bc6DEa", - "0x4c3e71fe22cc3a5fea77244fb974e148694437fe48c776719a3a2c9e1af3586e" + "0x71D28767662cB233F887aD2Bb65d048d760bA694", + "0x780e38c6345dac12cedb7aacc69492ff31cc5236cd60da46261aa1c27691141e" ) ); await act(async () => { @@ -33,57 +33,111 @@ describe("useEndorsementChain|integration", () => { expect(result.current.endorsementChain).toEqual([ { type: "INITIAL", - transactionHash: "0x8b3dcd4586c25b8f3efe4f0e2b792e6f2e3afc4be3df90cbd4235fc1099bb8e6", - transactionIndex: 13, - blockNumber: 36546402, + transactionHash: "0x2d98ae3908f0edd095a871a0c56dd3c0e1cfd657b53f28f7c01b1cb83bebc28b", + transactionIndex: 5, + blockNumber: 6162747, owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - timestamp: 1686122577000, + timestamp: 1713778879000, }, { type: "TRANSFER_HOLDER", - transactionHash: "0xc13a561882a46bdc1f6b330abce725904451d82c1c73002fc2e5398315bbf671", - transactionIndex: 22, - blockNumber: 36790987, + transactionHash: "0x38df7d1bd50f89aefa3a4385afe12f4d9dd320bcdc24d9ff7a775193fa5b6178", + transactionIndex: 4, + blockNumber: 6164050, owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - holder: "0xE4D83Aa444AF12E2B39e9Eb80AA8D6F0A9c79e6D", - timestamp: 1686643609000, + holder: "0xd3DD13B7e8D7454F4Fdf0e1a630FDE4f9De84749", + timestamp: 1713782103000, }, { type: "TRANSFER_BENEFICIARY", - transactionHash: "0x4d9d3ba1ae289777580115f294d2f478224329f17a6658dd52065351c48cca14", - transactionIndex: 31, - blockNumber: 36791009, - owner: "0xE4D83Aa444AF12E2B39e9Eb80AA8D6F0A9c79e6D", - holder: "0xE4D83Aa444AF12E2B39e9Eb80AA8D6F0A9c79e6D", - timestamp: 1686643657000, + transactionHash: "0x4a3be9573991980738e99a1f39485b9141c9012419076cbc1bd87038b3efd313", + transactionIndex: 3, + blockNumber: 6201774, + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + holder: "0xd3DD13B7e8D7454F4Fdf0e1a630FDE4f9De84749", + timestamp: 1713866365000, + }, + { + type: "TRANSFER_HOLDER", + transactionHash: "0xff88596d7b86e99dfa2851bec90ed47acc30dbde0c7d4924501584809d657135", + transactionIndex: 1, + blockNumber: 6202088, + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + timestamp: 1713867129000, + }, + { + type: "TRANSFER_HOLDER", + transactionHash: "0x888ef1ce5cd0455e9bfa50122d76e12d54da87d3b93c34460c2439116c582ca6", + transactionIndex: 3, + blockNumber: 6202133, + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + timestamp: 1713867225000, + }, + { + type: "SURRENDERED", + transactionHash: "0x21b804d9bbd9953310eaa62f0d6b0cf9a2821af86913bf252ea75958f84d7b17", + transactionIndex: 5, + blockNumber: 6203041, + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + timestamp: 1713869315000, + }, + { + type: "SURRENDER_REJECTED", + transactionHash: "0x611f48ddedeea93f470dd6a3ba96d2eeb9c896fc954e616c3fcb8811d92c3ea4", + transactionIndex: 0, + blockNumber: 6242100, + owner: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + timestamp: 1713956826000, }, { type: "TRANSFER_OWNERS", - transactionHash: "0xb59ba6c9dac6ede91f0915d24f304cd57b8cf7c0ea83af98757fcf1ba9f48ab1", - transactionIndex: 18, - blockNumber: 36791033, + transactionHash: "0xba94dbbd7905d706244fdd53121d41ec23c4d67ab08d2f0820287d07f4d03989", + transactionIndex: 1, + blockNumber: 6242178, owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - timestamp: 1686643707000, + timestamp: 1713956992000, }, { - type: "SURRENDERED", - transactionHash: "0xf779b4bac0e578190470c89147e400059c56cfed9546e14133b6c4b109ff00c6", - transactionIndex: 35, - blockNumber: 36792124, + type: "TRANSFER_HOLDER", + transactionHash: "0xd95d77620c7916290fecd2a38277dec9010e63872dc96be05f3126767b39ba4e", + transactionIndex: 3, + blockNumber: 6242197, + owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", + holder: "0xB7F0Eb2b207E93D0aA4C90329F3227f6f599f885", + timestamp: 1713957044000, + }, + { + type: "TRANSFER_HOLDER", + transactionHash: "0xee5eb7953687e0d2e05be34091e4a59256de4dc7df18eaeaf1a65cbb833ba6a8", + transactionIndex: 3, + blockNumber: 6242545, owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - timestamp: 1686646030000, + timestamp: 1713957840000, }, { - type: "SURRENDER_REJECTED", - transactionHash: "0x6ee28c3e41b72c2487c0e3598bb91e3abcccc095bbeb40d03eb4dc7665955287", - transactionIndex: 37, - blockNumber: 36792132, + type: "SURRENDERED", + transactionHash: "0x039f729fe72d703a799bfbe6736f51f84639ec166632da8c9ea4e1995016fa95", + transactionIndex: 1, + blockNumber: 6242768, owner: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", holder: "0xCA93690Bb57EEaB273c796a9309246BC0FB93649", - timestamp: 1686646048000, + timestamp: 1713958374000, + }, + { + type: "SURRENDER_ACCEPTED", + transactionHash: "0xcf6968ef91efe74b8ada1770fc31e811f15989f80b0d518a42e06d4ab5bac8bd", + transactionIndex: 3, + blockNumber: 6242791, + owner: "0x0000000000000000000000000000000000000000", + holder: "0x0000000000000000000000000000000000000000", + timestamp: 1713958422000, }, ]); expect(result.current.error).toBe(""); diff --git a/src/components/CertificateViewerErrorBoundary/CertificateViewerErrorBoundary.tsx b/src/components/CertificateViewerErrorBoundary/CertificateViewerErrorBoundary.tsx index 7e9c79841..d4158ad25 100644 --- a/src/components/CertificateViewerErrorBoundary/CertificateViewerErrorBoundary.tsx +++ b/src/components/CertificateViewerErrorBoundary/CertificateViewerErrorBoundary.tsx @@ -48,7 +48,7 @@ const getErrorType = (error?: Error): CERTIFICATE_VIEWER_ERROR_TYPE => { if (!errorMessage) { return CERTIFICATE_VIEWER_ERROR_TYPE.GENERIC; } - + console.error(errorMessage); switch (true) { case !provider || error instanceof UnsupportedNetworkError: return CERTIFICATE_VIEWER_ERROR_TYPE.UNSUPPORTED_NETWORK; diff --git a/src/components/Layout/NetworkSelect/NetworkSelect.test.tsx b/src/components/Layout/NetworkSelect/NetworkSelect.test.tsx index 2958bae2d..371bc8b07 100644 --- a/src/components/Layout/NetworkSelect/NetworkSelect.test.tsx +++ b/src/components/Layout/NetworkSelect/NetworkSelect.test.tsx @@ -5,8 +5,8 @@ import { getChainInfo } from "../../../common/utils/chain-utils"; import { ChainId, ChainInfoObject } from "../../../constants/chain-info"; import { NetworkSelect } from "./NetworkSelect"; -const mockNetworks: ChainInfoObject[] = [getChainInfo(ChainId.Sepolia), getChainInfo(ChainId.PolygonMumbai)]; -const mockUnsupportedNetwork: ChainInfoObject[] = [getChainInfo(ChainId.PolygonMumbai)]; +const mockNetworks: ChainInfoObject[] = [getChainInfo(ChainId.Sepolia), getChainInfo(ChainId.Amoy)]; +const mockUnsupportedNetwork: ChainInfoObject[] = [getChainInfo(ChainId.Amoy)]; describe("NetworkSelect", () => { it("should render unsupported network", () => { @@ -21,18 +21,18 @@ describe("NetworkSelect", () => { it("should render the default network as selected", async () => { render( - + ); - const selectedLabel = await screen.findByText(getChainInfo(ChainId.PolygonMumbai).label); + const selectedLabel = await screen.findByText(getChainInfo(ChainId.Amoy).label); expect(selectedLabel).toBeInTheDocument(); }); it("should render the select caption", async () => { render( - + ); @@ -45,7 +45,7 @@ describe("NetworkSelect", () => { it("should render the list of networks when clicked", async () => { render( - + ); @@ -53,7 +53,7 @@ describe("NetworkSelect", () => { const dropdownButton = screen.getByRole("button"); fireEvent.click(dropdownButton); - const polygonLabels = await screen.findAllByText(getChainInfo(ChainId.PolygonMumbai).label); + const polygonLabels = await screen.findAllByText(getChainInfo(ChainId.Amoy).label); const sepoliaLabels = await screen.findAllByText(getChainInfo(ChainId.Sepolia).label); expect(polygonLabels).toHaveLength(2); expect(sepoliaLabels).toHaveLength(1); @@ -69,10 +69,10 @@ describe("NetworkSelect", () => { const dropdownButton = screen.getByRole("button"); fireEvent.click(dropdownButton); - const polygonItem = screen.getByTestId(`network-select-dropdown-label-${ChainId.PolygonMumbai}`); + const polygonItem = screen.getByTestId(`network-select-dropdown-label-${ChainId.Amoy}`); fireEvent.click(polygonItem); await waitFor(() => { - expect(screen.getAllByText("Polygon Mumbai")).toHaveLength(1); + expect(screen.getAllByText("Amoy")).toHaveLength(1); }); }); }); diff --git a/src/config/chain-config.ts b/src/config/chain-config.ts index 832dd007b..43149d0b6 100644 --- a/src/config/chain-config.ts +++ b/src/config/chain-config.ts @@ -16,7 +16,6 @@ export const MAIN_NETWORKS = [ */ export const TEST_NETWORKS = [ ChainId.Sepolia, - ChainId.PolygonMumbai, ChainId.Amoy, ChainId.APOTHEM, ChainId.StabilityTestnet, diff --git a/src/constants/chain-info.ts b/src/constants/chain-info.ts index 0c6b7faca..e9b1774c8 100644 --- a/src/constants/chain-info.ts +++ b/src/constants/chain-info.ts @@ -32,7 +32,6 @@ export enum ChainId { // Polygon Polygon = 137, - PolygonMumbai = 80001, Amoy = 80002, // XDC Network @@ -94,20 +93,6 @@ export const ChainInfo: ChainInfo = { decimals: 18, }, }, - [ChainId.PolygonMumbai]: { - label: "Polygon Mumbai", - chainId: ChainId.PolygonMumbai, - iconImage: "/static/images/networks/polygon.gif", - networkName: "maticmum", - networkLabel: "Polygon Mumbai", - explorerUrl: "https://mumbai.polygonscan.com", - rpcUrl: `https://polygon-mumbai.infura.io/v3/${INFURA_API_KEY}`, - nativeCurrency: { - name: "MATIC", - symbol: "mMATIC", - decimals: 18, - }, - }, [ChainId.Amoy]: { label: "Amoy", chainId: ChainId.Amoy, diff --git a/src/test/demo-sample.spec.ts b/src/test/demo-sample.spec.ts index b8a3926e0..a7a9b5910 100644 --- a/src/test/demo-sample.spec.ts +++ b/src/test/demo-sample.spec.ts @@ -12,6 +12,6 @@ test("demo sample document is rendered correctly when dragged", async (t) => { .exists ) .ok(); - await validateIssuerTexts(["EXAMPLE.TRADETRUST.IO"]); + await validateIssuerTexts(["DEMO.TRADETRUST.IO"]); await validateIframeTexts(["Name & Address of Shipping Agent/Freight Forwarder"]); }); diff --git a/src/test/fixture/amoy/ebl-amoy.json b/src/test/fixture/amoy/ebl-amoy.json new file mode 100644 index 000000000..eadd00e18 --- /dev/null +++ b/src/test/fixture/amoy/ebl-amoy.json @@ -0,0 +1,54 @@ +{ + "version": "https://schema.openattestation.com/2.0/schema.json", + "data": { + "version": "6d7b6b83-da7a-4062-8e19-96732c26e2be:string:https://schema.openattestation.com/2.0/schema.json", + "$template": { + "type": "1bb274e0-cade-4061-980a-0b43f188ae05:string:EMBEDDED_RENDERER", + "name": "8ce53110-fad1-47d2-972a-0a371a825663:string:BILL_OF_LADING", + "url": "41a35772-6cfc-4b8b-a52c-0928a6b6c040:string:https://generic-templates.tradetrust.io" + }, + "data": { + "name": "8dfd1763-9b6c-48ab-9b90-61ad83796a2b:string:TradeTrust Bill of Lading v2", + "shipper": { + "address": { + "street": "988b5bfc-5365-44e8-9519-c080facd1342:string:One North", + "country": "2baa7d2e-d3b6-4490-804f-75cc320ce10c:string:Singapore" + }, + "name": "26408e48-f6fa-491a-b854-a3a820e45e8d:string:Demo Shipper" + }, + "consignee": { + "name": "cbabc901-c7fb-4b74-bc62-ae8ad7fdc296:string:Demo Consignee" + }, + "notifyParty": { + "name": "e2814e9a-68a1-4a00-a910-9ef767f96803:string:Demo Notify" + }, + "blNumber": "4b10c086-1ea3-4cf5-8ddf-b3b0d4d5578b:string:123", + "vessel": "0ba24718-e82f-4bb7-b679-83dc349db548:string:1", + "voyageNo": "8360cd4f-73e8-44db-b45e-86341f68e384:string:100", + "portOfLoading": "4744b031-8baf-4f29-97d3-474b33540c8e:string:Singapore Port", + "portOfDischarge": "ad889c93-6abb-4672-a252-efe9205b0b09:string:China Port", + "placeOfReceipt": "60ca4c8e-52b6-4499-bd91-864ed3c2e528:string:Beijing", + "placeOfDelivery": "f8e0d840-fba0-4cbf-8ec1-dc9fd3073a9f:string:Singapore" + }, + "issuers": [ + { + "identityProof": { + "type": "b722bc06-027f-4214-a4ff-672cb68ce571:string:DNS-TXT", + "location": "b1fe4dc1-1d43-4d9a-bdad-cf8f44538c03:string:example.tradetrust.io" + }, + "name": "871e2fd2-7848-48c2-980d-44a6ea8a8d4b:string:Demo token registry", + "tokenRegistry": "653cd442-43fb-4717-ac28-f9a4cd8428b6:string:0x71D28767662cB233F887aD2Bb65d048d760bA694" + } + ], + "network": { + "chain": "62d6d408-9d4f-496b-a01c-feb331d4aa29:string:MATIC", + "chainId": "6afc4107-eb8f-46e2-a5fa-d99e4c2826c8:string:80002" + } + }, + "signature": { + "type": "SHA3MerkleProof", + "targetHash": "0d7b9de7812a4aceb9acd88abf40feaa8b2d3b63f1b739c16c92fb8a37dd0831", + "proof": [], + "merkleRoot": "0d7b9de7812a4aceb9acd88abf40feaa8b2d3b63f1b739c16c92fb8a37dd0831" + } +} diff --git a/src/test/fixture/local/v2/invoice-attachments-dummy.json b/src/test/fixture/local/v2/invoice-attachments-dummy.json index 4ed47b2b8..2121d470d 100644 --- a/src/test/fixture/local/v2/invoice-attachments-dummy.json +++ b/src/test/fixture/local/v2/invoice-attachments-dummy.json @@ -2,78 +2,78 @@ "version": "https://schema.openattestation.com/2.0/schema.json", "data": { "$template": { - "type": "a48b93bc-f740-4631-a323-f389f0fbfc4a:string:EMBEDDED_RENDERER", - "name": "66512a22-1452-425c-9dd2-a38bb08b58af:string:COVERING_LETTER", - "url": "f6033b8c-a37d-485a-b5f6-6352c2dfdae9:string:https://generic-templates.openattestation.com" + "type": "ff5174b7-124c-4c69-b2e7-375549303064:string:EMBEDDED_RENDERER", + "name": "7014e770-e700-4a79-ab53-c9b59a73af90:string:COVERING_LETTER", + "url": "bbea1323-b880-4cae-8c76-50e1cea4d3e7:string:https://generic-templates.tradetrust.io" }, "issuers": [ { - "name": "241316e0-edf3-4b05-9c55-ad600b25a7a7:string:TradeTrust document store Local", - "documentStore": "3ed206fa-efa1-4f10-8e81-4834bc49fa89:string:0x4Bf7E4777a8D1b6EdD5F2d9b8582e2817F0B0953", + "name": "1e1f8f0c-6201-4d8c-9aeb-5ef866f4a0ec:string:TradeTrust document store Local", + "documentStore": "ccde4390-54a5-43d4-9fb8-816dae69cfce:string:0x4Bf7E4777a8D1b6EdD5F2d9b8582e2817F0B0953", "identityProof": { - "type": "ffda9c17-72c4-4487-9976-02a1a82f0d92:string:DNS-TXT", - "location": "5748eebd-38fd-4720-b0aa-b51e351c0d2f:string:example.tradetrust.io" + "type": "8083f98a-1d91-40c1-b09d-d4630f0d19c6:string:DNS-TXT", + "location": "f2b22fe8-a116-48bd-84cf-eab6e491ec15:string:example.tradetrust.io" } } ], - "name": "170542e9-8ac3-466d-9d76-19ffe009ac86:string:Covering Letter", - "logo": "14c79e9c-1b1e-488a-9027-5494c8d95332:string:https://pluspng.com/img-png/logo-dbs-png-file-dbs-bank-logo-svg-1280.png", - "backgroundColor": "ea1ae011-27d9-4e25-b2ed-db4b56e25ce1:string:black", - "titleColor": "cc55129c-f9a6-40e3-b3f2-c4f240162932:string:white", - "descriptionColor": "85d440fb-1759-48dd-8e6a-fc1d628663dd:string:white", - "title": "092eea3b-8d50-492c-95c2-ada9f0d4e4bc:string:Documents Bundle", - "description": "8d460126-4ba7-4211-9027-7cb136fa1d53:string:Some very important documents in here for some submission", + "name": "e46bf2c5-662b-47a0-b371-877e6cf2372b:string:Covering Letter", + "logo": "78185309-0915-4aef-bc82-7e4d5a70529f:string:https://pluspng.com/img-png/logo-dbs-png-file-dbs-bank-logo-svg-1280.png", + "backgroundColor": "d3304f4c-d10e-4d67-b65d-f3db7acafbfe:string:black", + "titleColor": "b988494d-94f1-4a5c-aa85-4abc46897a20:string:white", + "descriptionColor": "fb849565-129b-4917-86d0-cff59ecbdcea:string:white", + "title": "141cfa35-03bc-40ee-9776-8e228fc09a5b:string:Documents Bundle", + "description": "2d3ba055-bdf3-433e-a860-51fef7b8c3f9:string:Some very important documents in here for some submission", "attachments": [ { - "data": "993d7777-e67d-4339-be88-1ad60474642a:string:aGVsbG8K", - "filename": "3e57f882-b290-4414-b0be-599a8f279296:string:longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong.png", - "type": "d52bbd45-8170-491e-96de-39bdf50cffe3:string:image/png" + "data": "51879419-3643-4e1d-a34b-4f01c2e7e54f:string:aGVsbG8K", + "filename": "9b7f777e-15a4-4a73-8b49-89646b2262d1:string:longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong.png", + "type": "da00eae5-ac3d-4fed-8b37-a21a9c26a5e5:string:image/png" }, { - "data": "0a1aa0fd-e475-4a20-97f5-a87cc7c416d5:string:aGVsbG8K", - "filename": "178a8f05-7591-4a3b-a51e-7740be9a3ab3:string:test.csv", - "type": "3e22efd0-7e9f-4060-b297-8f52211634fb:string:text/csv" + "data": "5e846d14-e1eb-4105-b2a4-ced59b3bc85e:string:aGVsbG8K", + "filename": "e0e2da61-16a5-4c8e-ae9e-a8c2b2622a8b:string:test.csv", + "type": "2f48dffe-3482-4a4d-b628-67fddc3a74d0:string:text/csv" }, { - "data": "a40a7fed-33a6-45a7-bf95-45b55b6dcc99:string:aGVsbG8K", - "filename": "1dea7131-7507-41db-92d4-d9f3e53bafc7:string:test.doc", - "type": "b1c71293-c6ca-47e8-af08-978c5cf035f6:string:application/msword" + "data": "139ecf02-c060-48a5-bd47-f9768a6334ae:string:aGVsbG8K", + "filename": "aa3a4306-1ecc-4b6c-bac3-fbf45f7e1807:string:test.doc", + "type": "8e90e77d-1da7-4f21-aba9-45876b54a04c:string:application/msword" }, { - "data": "c8a472e5-5828-4b89-afd1-e2429d993e72:string:aGVsbG8K", - "filename": "1c2aeedf-c612-410a-be68-8d5b6345ba4b:string:test.docx", - "type": "845f0098-c7b9-489f-ac96-f7ac667cbd9b:string:application/vnd.openxmlformats-officedocument.wordprocessingml.document" + "data": "c85a6b08-8912-41fd-af37-2d9c584b6401:string:aGVsbG8K", + "filename": "c49b74d9-6798-48ab-98ed-d70333fc2aea:string:test.docx", + "type": "efa9f245-f4ee-40ab-b89c-3d8c949b013c:string:application/vnd.openxmlformats-officedocument.wordprocessingml.document" }, { - "data": "2495e7c2-e7de-43cc-99c9-5f403326aaa5:string:aGVsbG8K", - "filename": "48d20e11-42ee-4e63-b5d4-852f00cdb671:string:test.jpg", - "type": "2794eafc-80cc-4816-b9d5-1c764eb2dfe8:string:image/jpeg" + "data": "c7297a15-d80a-48e0-b930-1c35dd9204d8:string:aGVsbG8K", + "filename": "42172c84-0a3e-48c8-8434-751b93d8fdf4:string:test.jpg", + "type": "6f32f3d9-eb8c-4c7d-ab0a-c6c1a0371a95:string:image/jpeg" }, { - "data": "d0b89e32-b545-40ca-845d-2b4929bd9794:string:aGVsbG8K", - "filename": "30356c35-c0b4-41a1-8be3-4edbe5576b57:string:test.pdf", - "type": "15345c40-569c-40d2-94ef-5f67ea141776:string:application/pdf" + "data": "fc7d7a38-f9e0-4ef4-b51c-b4c725b821a7:string:aGVsbG8K", + "filename": "c15ecb28-0850-49c2-9e00-ee3e5481afb0:string:test.pdf", + "type": "7c0ce9f6-2e9d-4e1a-b7fe-9f319b96a41d:string:application/pdf" }, { - "data": "57958a8a-ba15-4fb2-a137-f5f8f4ba2260:string:aGVsbG8K", - "filename": "b008dbf5-1460-4184-9ca2-264775e05eef:string:test.txt", - "type": "b226a341-e6e2-4d9c-bd58-8953ec1e83fb:string:text/plain" + "data": "fa5abb0d-5d7d-4629-a198-b894e554f851:string:aGVsbG8K", + "filename": "debaa105-8110-4a4f-8076-59f28c034fca:string:test.txt", + "type": "984c9693-cd7d-40d9-8466-f6712a215dc1:string:text/plain" }, { - "data": "2e79fb56-e88e-42fa-b07e-efbeaaf7b011:string:ewogICAgInRlc3QiOiAiaGVsbG8iCn0=", - "filename": "72b8979a-b5d2-4aa0-979e-3d69494c1e16:string:unidentified.json", - "type": "dfaf9fe3-5897-4663-87c2-537f48304ea6:string:application/json" + "data": "40a45b5e-97e4-4745-85c6-12c026c477c6:string:ewogICAgInRlc3QiOiAiaGVsbG8iCn0=", + "filename": "26716b39-cd7c-4a3d-9b99-05952fa99bc9:string:unidentified.json", + "type": "c3d03a33-14bc-4600-af0e-96b3e180cd64:string:application/json" } ], "network": { - "chain": "ea39020e-f304-4d9c-aa42-d66db250cf29:string:ETH", - "chainId": "48930b42-2251-41dd-8641-ce3a0db52da6:string:1337" + "chain": "a3f0aba1-af0f-4c0f-82b0-7d7a1220a1be:string:ETH", + "chainId": "87125ac3-9c60-4f6e-899b-31e8b042e91f:string:1337" } }, "signature": { "type": "SHA3MerkleProof", - "targetHash": "baa213ff192cca244af07e3f1d1abcf04a0fd3be86a11d2c076bd0fbd1d28d6a", + "targetHash": "4a3fecc833135c185618af09f80ba78a5a3547357253488f72c80da6174961bf", "proof": [], - "merkleRoot": "baa213ff192cca244af07e3f1d1abcf04a0fd3be86a11d2c076bd0fbd1d28d6a" + "merkleRoot": "4a3fecc833135c185618af09f80ba78a5a3547357253488f72c80da6174961bf" } -} \ No newline at end of file +} diff --git a/src/test/fixture/local/v2/invoice-attachments.json b/src/test/fixture/local/v2/invoice-attachments.json index 14570701e..2f08abf8b 100644 --- a/src/test/fixture/local/v2/invoice-attachments.json +++ b/src/test/fixture/local/v2/invoice-attachments.json @@ -101,4 +101,4 @@ "proof": [], "merkleRoot": "927c044be8438b3f042ca4edb601269db115a67ae0bf5abeb9ae38695a002d4d" } -} \ No newline at end of file +} diff --git a/src/test/fixture/local/v2/invoice-qrcode.json b/src/test/fixture/local/v2/invoice-qrcode.json index 9abf33194..21a5c9e59 100644 --- a/src/test/fixture/local/v2/invoice-qrcode.json +++ b/src/test/fixture/local/v2/invoice-qrcode.json @@ -79,4 +79,4 @@ "proof": [], "merkleRoot": "7a452af00f70214f9c703ea9648ff3a842b6a4631cf685b56830cc814a5b4759" } -} \ No newline at end of file +} diff --git a/src/test/load-action-certificate.spec.ts b/src/test/load-action-certificate.spec.ts index fe2e86e9e..b217350a4 100644 --- a/src/test/load-action-certificate.spec.ts +++ b/src/test/load-action-certificate.spec.ts @@ -10,10 +10,10 @@ test("Load document from action should work when url is valid", async (t) => { const action = { type: "DOCUMENT", payload: { - uri: `https://raw.githubusercontent.com/Open-Attestation/gallery/master/static/documents/tradetrust/v2/ebl-mumbai.json`, + uri: `https://raw.githubusercontent.com/TradeTrust/tradetrust-website/test/tt-105-update-fixtures-amoy/src/test/fixture/amoy/ebl-amoy-v2.json`, permittedActions: ["VIEW"], redirect: "https://dev.tradetrust.io", - chainId: 80001, + chainId: 80002, }, }; await t.navigateTo(`${location}/?q=${encodeURI(JSON.stringify(action))}`); @@ -28,7 +28,7 @@ test("Load document from action should fail when url is invalid", async (t) => { payload: { uri: `https://raw.githubusercontent.com/Open-Attestation/gallery/master/static/documents/123.tt`, redirect: "https://dev.tradetrust.io", - chainId: 80001, + chainId: 80002, }, }; @@ -46,7 +46,7 @@ test("Load document from action should fail when chainId not exists", async (t) const action = { type: "DOCUMENT", payload: { - uri: `https://raw.githubusercontent.com/Open-Attestation/gallery/master/static/documents/tradetrust/v2/ebl-mumbai.json`, + uri: `https://raw.githubusercontent.com/TradeTrust/tradetrust-website/test/tt-105-update-fixtures-amoy/src/test/fixture/amoy/ebl-amoy-v2.json`, redirect: "https://dev.tradetrust.io", }, }; diff --git a/src/test/setup-contracts-testcafe.mjs b/src/test/setup-contracts-testcafe.mjs index d1c4d2e08..d058a7fcc 100644 --- a/src/test/setup-contracts-testcafe.mjs +++ b/src/test/setup-contracts-testcafe.mjs @@ -80,7 +80,7 @@ const merkleRootToIssue = [ // invoice.json "0x585ba3f8d694a9106486aba524a708c4c8b7a14b2b79929a9ffde64555b3279c", // invoice-attachments-dummy.json - "0xbaa213ff192cca244af07e3f1d1abcf04a0fd3be86a11d2c076bd0fbd1d28d6a", + "0x4a3fecc833135c185618af09f80ba78a5a3547357253488f72c80da6174961bf", // invoice-nested-documents.json "0xd3c3d143a5ab4b0f07e88ba71ed384107c170688e7bfaab5e0a06761a2d2bc2c", // invoice-obfuscated-document.json diff --git a/src/utils/shared.test.ts b/src/utils/shared.test.ts index 0204ffdd0..438ac2ba9 100644 --- a/src/utils/shared.test.ts +++ b/src/utils/shared.test.ts @@ -25,7 +25,7 @@ describe("getChainId for v2 document", () => { it("should throw an error when there is a network object in the document but the value is not valid", () => { const document = { ...invoiceV2, - data: { ...invoiceV2.data, network: { chain: "MATICMUM123", chainId: "80002" } }, + data: { ...invoiceV2.data, network: { chain: "Amoy123", chainId: "80002" } }, } as unknown as WrappedOrSignedOpenAttestationDocument; expect(() => getChainId(document)).toThrow("Invalid Document, please use a valid document."); }); @@ -82,7 +82,7 @@ describe("getChainId for v3 document", () => { it("should throw an error when there is a network object in the document but the value is not valid", () => { const document = { ...invoiceV3, - network: { chain: "MATICMUM123", chainId: "80002" }, + network: { chain: "AMOY123", chainId: "80002" }, } as unknown as WrappedOrSignedOpenAttestationDocument; expect(() => getChainId(document)).toThrow("Invalid Document, please use a valid document."); }); From 18cb410dc14ac1ad5604476cbf9e02f4a8ab5f47 Mon Sep 17 00:00:00 2001 From: Min Htet Oo Date: Thu, 25 Apr 2024 09:41:48 +0800 Subject: [PATCH 2/9] fix: regenerate package-lock.json --- package-lock.json | 356 +---------------------------------- src/test/demo-sample.spec.ts | 2 +- 2 files changed, 3 insertions(+), 355 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8f3c38215..04315bbd0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3313,70 +3313,6 @@ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@esbuild/darwin-arm64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", @@ -3393,295 +3329,6 @@ "node": ">=12" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin", - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -22591,7 +22238,8 @@ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "extraneous": true, "os": [ - "darwin" + "darwin", + "linux" ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" diff --git a/src/test/demo-sample.spec.ts b/src/test/demo-sample.spec.ts index a7a9b5910..b8a3926e0 100644 --- a/src/test/demo-sample.spec.ts +++ b/src/test/demo-sample.spec.ts @@ -12,6 +12,6 @@ test("demo sample document is rendered correctly when dragged", async (t) => { .exists ) .ok(); - await validateIssuerTexts(["DEMO.TRADETRUST.IO"]); + await validateIssuerTexts(["EXAMPLE.TRADETRUST.IO"]); await validateIframeTexts(["Name & Address of Shipping Agent/Freight Forwarder"]); }); From d8b61ed4187bb8395116bc77935106978997419f Mon Sep 17 00:00:00 2001 From: Min Htet Oo Date: Thu, 25 Apr 2024 15:05:37 +0800 Subject: [PATCH 3/9] chore: bumpup tradetrust repo versions --- package-lock.json | 89 +++++++++++++++++++++++++++++++---------------- package.json | 6 ++-- 2 files changed, 62 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index 04315bbd0..a81a003f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,10 +17,10 @@ "@reduxjs/toolkit": "^1.6.1", "@tradetrust-tt/decentralized-renderer-react-components": "^3.14.1", "@tradetrust-tt/document-store": "^3.2.0", - "@tradetrust-tt/token-registry": "^4.10.0", - "@tradetrust-tt/tradetrust": "^6.9.1", + "@tradetrust-tt/token-registry": "^4.10.1", + "@tradetrust-tt/tradetrust": "^6.9.4", "@tradetrust-tt/tradetrust-ui-components": "^2.22.2", - "@tradetrust-tt/tradetrust-utils": "^1.13.3", + "@tradetrust-tt/tradetrust-utils": "^1.13.4", "@tradetrust-tt/tt-verify": "^8.9.1", "@types/gtag.js": "0.0.8", "buffer": "^6.0.3", @@ -10051,9 +10051,9 @@ } }, "node_modules/@tradetrust-tt/dnsprove": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/@tradetrust-tt/dnsprove/-/dnsprove-2.12.2.tgz", - "integrity": "sha512-PK2T7dlUZNgXxY6xl11OZACPUYXTDGhrg32H6aKAUMk/PUQ5BUcAlR7esMdl8uIxRuIxN04XGICBgvx/sAJSKQ==", + "version": "2.12.3", + "resolved": "https://registry.npmjs.org/@tradetrust-tt/dnsprove/-/dnsprove-2.12.3.tgz", + "integrity": "sha512-JTs6ei1Hh/P9uEMfFSwckF8lA8f2g9Q5ISRX5dLkNwZFsDbLH9maMNytTOvq8+GRw+vRatBZdyR84fGFA39wRA==", "dependencies": { "axios": "0.21.1", "debug": "^4.3.1", @@ -10080,9 +10080,9 @@ } }, "node_modules/@tradetrust-tt/token-registry": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@tradetrust-tt/token-registry/-/token-registry-4.10.0.tgz", - "integrity": "sha512-Hafp3FOyFzH9lZ5lZHGBsOllhCHcG5D83EGRek2boJtKurob3W+eLl7wcrqxMN2h2Ic/Up6l4jKhcpipvKE78w==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@tradetrust-tt/token-registry/-/token-registry-4.10.1.tgz", + "integrity": "sha512-oAmhz81XDlTsg6S9J+sq9ZseqtLOwbMe0U/v4dhgTRI7ObcOeEEnjajVDbS+4oSW5mLSnTYBkYmwElZPxXdk2g==", "dependencies": { "@typechain/ethers-v5": "~10.0.0" }, @@ -10091,24 +10091,27 @@ } }, "node_modules/@tradetrust-tt/tradetrust": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@tradetrust-tt/tradetrust/-/tradetrust-6.9.1.tgz", - "integrity": "sha512-V+4pCkmUJGansE4DQeol5mzOoBjaHjVWo5lbtwE1O9T08bomxJ0WgCM74o56C6EukUyt4EsJQzLKoy0OUl+ZLg==", + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/@tradetrust-tt/tradetrust/-/tradetrust-6.9.4.tgz", + "integrity": "sha512-sGCg7c4nrAsb5vWL7OipfhbK0oysiSnoypn5Omu9+8iCQjrEn0d4RlfaIXqjMNrBiTP7BhfueCIkJnjsU2fxig==", "hasInstallScript": true, "dependencies": { - "@govtechsg/jsonld": "^0.1.0", - "ajv": "^8.6.2", - "ajv-formats": "^2.1.0", - "cross-fetch": "^3.1.5", - "debug": "^4.3.2", + "@govtechsg/jsonld": "^0.1.1", + "ajv": "^8.12.0", + "ajv-formats": "^2.1.1", + "cross-fetch": "^4.0.0", + "debug": "^4.3.4", "ethers": "^5.7.2", "flatley": "^5.2.0", - "js-base64": "^3.6.1", - "js-sha3": "^0.8.0", + "js-base64": "^3.7.7", + "js-sha3": "^0.9.3", "lodash": "^4.17.21", - "runtypes": "^6.3.2", - "uuid": "^8.3.2", - "validator": "^13.7.0" + "runtypes": "^6.7.0", + "uuid": "^9.0.1", + "validator": "^13.11.0" + }, + "engines": { + "node": "18.x" } }, "node_modules/@tradetrust-tt/tradetrust-ui-components": { @@ -10129,23 +10132,48 @@ } }, "node_modules/@tradetrust-tt/tradetrust-utils": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/@tradetrust-tt/tradetrust-utils/-/tradetrust-utils-1.13.3.tgz", - "integrity": "sha512-2vlKE+dFXly2vcTbLAaWrPOaYd8QIXBiABX3nyEwvK47Q0D8I9aEMJFB4qDJKrhOG8Suo0Z14FUKZIZWl7j3Qg==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@tradetrust-tt/tradetrust-utils/-/tradetrust-utils-1.13.4.tgz", + "integrity": "sha512-+3QSh2W+FxbzALsB8qYJJjQdnhLy1LfjMtwEYeK2c5WilCyeJiGhuCxHqF6nZkcLGdj++jjkNYJJhgrGOr1J1Q==", "dependencies": { - "@tradetrust-tt/tt-verify": "^8.9.1" + "@tradetrust-tt/tt-verify": "^8.9.2" }, "engines": { "node": "18.x" } }, + "node_modules/@tradetrust-tt/tradetrust/node_modules/cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "node_modules/@tradetrust-tt/tradetrust/node_modules/js-sha3": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.9.3.tgz", + "integrity": "sha512-BcJPCQeLg6WjEx3FE591wVAevlli8lxsxm9/FzV4HXkV49TmBH38Yvrpce6fjbADGMKFrBMGTqrVz3qPIZ88Gg==" + }, + "node_modules/@tradetrust-tt/tradetrust/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@tradetrust-tt/tt-verify": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/@tradetrust-tt/tt-verify/-/tt-verify-8.9.1.tgz", - "integrity": "sha512-odgmL5K46HanqrS18KcI4NH0FsGVW/3ofuhB44Xm8AP6Te69ejoJdIPKZBmjWtvTElcXDyfuNnV+gTbMfMSEgg==", + "version": "8.9.2", + "resolved": "https://registry.npmjs.org/@tradetrust-tt/tt-verify/-/tt-verify-8.9.2.tgz", + "integrity": "sha512-keXVV98v95ZKrYxmDwBbFjOQ2KNsNTZkMwHWIag4GDjICOtQNNyhsRYayBP+y/oKF4gZ3RCAPNqhRSOzM1kIow==", "dependencies": { "@govtechsg/oa-did-sign": "^2.2.0", - "@tradetrust-tt/dnsprove": "^2.12.2", + "@tradetrust-tt/dnsprove": "^2.12.3", "@tradetrust-tt/document-store": "^2.7.0", "@tradetrust-tt/token-registry": "^4.9.0", "@tradetrust-tt/tradetrust": "^6.9.0", @@ -43004,6 +43032,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, "bin": { "uuid": "dist/bin/uuid" } diff --git a/package.json b/package.json index f995d33cf..5878d38d6 100644 --- a/package.json +++ b/package.json @@ -54,10 +54,10 @@ "@reduxjs/toolkit": "^1.6.1", "@tradetrust-tt/decentralized-renderer-react-components": "^3.14.1", "@tradetrust-tt/document-store": "^3.2.0", - "@tradetrust-tt/token-registry": "^4.10.0", - "@tradetrust-tt/tradetrust": "^6.9.1", + "@tradetrust-tt/token-registry": "^4.10.1", + "@tradetrust-tt/tradetrust": "^6.9.4", "@tradetrust-tt/tradetrust-ui-components": "^2.22.2", - "@tradetrust-tt/tradetrust-utils": "^1.13.3", + "@tradetrust-tt/tradetrust-utils": "^1.13.4", "@tradetrust-tt/tt-verify": "^8.9.1", "@types/gtag.js": "0.0.8", "buffer": "^6.0.3", From c3796f832599686be55b123596078724f5ab6c4b Mon Sep 17 00:00:00 2001 From: Min Htet Oo Date: Thu, 25 Apr 2024 15:20:19 +0800 Subject: [PATCH 4/9] test: update amoy fixture action url --- src/test/load-action-certificate.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/load-action-certificate.spec.ts b/src/test/load-action-certificate.spec.ts index b217350a4..895ad5d23 100644 --- a/src/test/load-action-certificate.spec.ts +++ b/src/test/load-action-certificate.spec.ts @@ -10,7 +10,7 @@ test("Load document from action should work when url is valid", async (t) => { const action = { type: "DOCUMENT", payload: { - uri: `https://raw.githubusercontent.com/TradeTrust/tradetrust-website/test/tt-105-update-fixtures-amoy/src/test/fixture/amoy/ebl-amoy-v2.json`, + uri: `https://raw.githubusercontent.com/TradeTrust/tradetrust-website/fix/tt-105-ploygon-mumbai-deprecation/src/test/fixture/amoy/ebl-amoy.json`, permittedActions: ["VIEW"], redirect: "https://dev.tradetrust.io", chainId: 80002, From 7b811daca613f29dece7d10ebf9c9bbd4a7917d5 Mon Sep 17 00:00:00 2001 From: Min Htet Oo Date: Thu, 25 Apr 2024 15:35:52 +0800 Subject: [PATCH 5/9] fix: remove console.error debug log --- .../CertificateViewerErrorBoundary.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/CertificateViewerErrorBoundary/CertificateViewerErrorBoundary.tsx b/src/components/CertificateViewerErrorBoundary/CertificateViewerErrorBoundary.tsx index d4158ad25..d8ebe0c62 100644 --- a/src/components/CertificateViewerErrorBoundary/CertificateViewerErrorBoundary.tsx +++ b/src/components/CertificateViewerErrorBoundary/CertificateViewerErrorBoundary.tsx @@ -48,7 +48,6 @@ const getErrorType = (error?: Error): CERTIFICATE_VIEWER_ERROR_TYPE => { if (!errorMessage) { return CERTIFICATE_VIEWER_ERROR_TYPE.GENERIC; } - console.error(errorMessage); switch (true) { case !provider || error instanceof UnsupportedNetworkError: return CERTIFICATE_VIEWER_ERROR_TYPE.UNSUPPORTED_NETWORK; From 627cdf274731c4b3bb876b5f9390566521bba54d Mon Sep 17 00:00:00 2001 From: Min Htet Oo Date: Thu, 25 Apr 2024 15:52:20 +0800 Subject: [PATCH 6/9] ci: trigger ci From 96fb826e35754408f6006a238f197946f2e8437b Mon Sep 17 00:00:00 2001 From: Min Htet Oo Date: Mon, 6 May 2024 10:31:56 +0800 Subject: [PATCH 7/9] test: replace fixture doc url from oa-gallery for action test --- src/test/load-action-certificate.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/load-action-certificate.spec.ts b/src/test/load-action-certificate.spec.ts index 895ad5d23..40bb7e6f8 100644 --- a/src/test/load-action-certificate.spec.ts +++ b/src/test/load-action-certificate.spec.ts @@ -10,7 +10,7 @@ test("Load document from action should work when url is valid", async (t) => { const action = { type: "DOCUMENT", payload: { - uri: `https://raw.githubusercontent.com/TradeTrust/tradetrust-website/fix/tt-105-ploygon-mumbai-deprecation/src/test/fixture/amoy/ebl-amoy.json`, + uri: `https://raw.githubusercontent.com/Open-Attestation/gallery/master/static/documents/tradetrust/v2/ebl-stability.json`, permittedActions: ["VIEW"], redirect: "https://dev.tradetrust.io", chainId: 80002, @@ -26,7 +26,7 @@ test("Load document from action should fail when url is invalid", async (t) => { const action = { type: "DOCUMENT", payload: { - uri: `https://raw.githubusercontent.com/Open-Attestation/gallery/master/static/documents/123.tt`, + uri: `https://raw.githubusercontent.com/Open-Attestation/gallery/master/static/documents/tradetrust/v2/ebl-stability-invalid.json`, redirect: "https://dev.tradetrust.io", chainId: 80002, }, From a9b11cad671e1ccdbbb00271842aa580b5bc77a3 Mon Sep 17 00:00:00 2001 From: Min Htet Oo Date: Mon, 6 May 2024 10:55:51 +0800 Subject: [PATCH 8/9] ci: trigger ci From 22eeb10f84894c1272d149571923f176c6e564a3 Mon Sep 17 00:00:00 2001 From: Min Htet Oo Date: Mon, 6 May 2024 11:03:44 +0800 Subject: [PATCH 9/9] test: increase jest timeout by 10000 --- jest.config.js | 1 + src/test/load-action-certificate.spec.ts | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/jest.config.js b/jest.config.js index b239bf4e3..3fa50036e 100644 --- a/jest.config.js +++ b/jest.config.js @@ -20,4 +20,5 @@ module.exports = { testMatch: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)test.[jt]s?(x)"], transformIgnorePatterns: ["node_modules/?!(@tradetrust-tt).*/"], testPathIgnorePatterns: ["/node_modules/", "/tests/"], + testTimeout: 10000, }; diff --git a/src/test/load-action-certificate.spec.ts b/src/test/load-action-certificate.spec.ts index 40bb7e6f8..dfea75c0f 100644 --- a/src/test/load-action-certificate.spec.ts +++ b/src/test/load-action-certificate.spec.ts @@ -12,8 +12,8 @@ test("Load document from action should work when url is valid", async (t) => { payload: { uri: `https://raw.githubusercontent.com/Open-Attestation/gallery/master/static/documents/tradetrust/v2/ebl-stability.json`, permittedActions: ["VIEW"], - redirect: "https://dev.tradetrust.io", - chainId: 80002, + redirect: "https://tradetrust.io", + chainId: 101010, }, }; await t.navigateTo(`${location}/?q=${encodeURI(JSON.stringify(action))}`); @@ -27,8 +27,8 @@ test("Load document from action should fail when url is invalid", async (t) => { type: "DOCUMENT", payload: { uri: `https://raw.githubusercontent.com/Open-Attestation/gallery/master/static/documents/tradetrust/v2/ebl-stability-invalid.json`, - redirect: "https://dev.tradetrust.io", - chainId: 80002, + redirect: "https://tradetrust.io", + chainId: 101010, }, }; @@ -38,7 +38,7 @@ test("Load document from action should fail when url is invalid", async (t) => { await validateTextContent(t, CertificateDropzone, [ "This document is not valid", "Unable to load certificate with the provided parameters", - "Unable to load the certificate from https://raw.githubusercontent.com/Open-Attestation/gallery/master/static/documents/123.tt", + "Unable to load the certificate from https://raw.githubusercontent.com/Open-Attestation/gallery/master/static/documents/tradetrust/v2/ebl-stability-invalid.json", ]); });