dop-wallet-v6 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/services/artifacts/__tests__/artifact-downloader.test.js.map +1 -1
- package/dist/services/artifacts/artifact-downloader.d.ts +1 -1
- package/dist/services/artifacts/artifact-downloader.js.map +1 -1
- package/dist/services/artifacts/artifact-hash.d.ts +1 -1
- package/dist/services/artifacts/artifact-hash.js.map +1 -1
- package/dist/services/artifacts/artifact-util.d.ts +1 -1
- package/dist/services/artifacts/artifact-util.js.map +1 -1
- package/dist/services/dop/core/__tests__/providers.test.js.map +1 -1
- package/dist/services/dop/core/artifacts.d.ts +2 -2
- package/dist/services/dop/core/artifacts.js.map +1 -1
- package/dist/services/dop/core/encrypts.d.ts +1 -1
- package/dist/services/dop/core/encrypts.js.map +1 -1
- package/dist/services/dop/core/engine.d.ts +1 -1
- package/dist/services/dop/core/engine.js.map +1 -1
- package/dist/services/dop/core/init.d.ts +2 -2
- package/dist/services/dop/core/init.js.map +1 -1
- package/dist/services/dop/core/load-provider.d.ts +1 -1
- package/dist/services/dop/core/load-provider.js.map +1 -1
- package/dist/services/dop/core/merkletree.d.ts +2 -2
- package/dist/services/dop/core/merkletree.js.map +1 -1
- package/dist/services/dop/core/prover.d.ts +1 -1
- package/dist/services/dop/core/prover.js.map +1 -1
- package/dist/services/dop/core/providers.d.ts +2 -2
- package/dist/services/dop/core/providers.js.map +1 -1
- package/dist/services/dop/dop-txids/__tests__/dop-txid-sync-graph-v2.test.js.map +1 -1
- package/dist/services/dop/dop-txids/blinded-commitments.d.ts +1 -1
- package/dist/services/dop/dop-txids/blinded-commitments.js.map +1 -1
- package/dist/services/dop/dop-txids/dop-txid-graph-type-formatters.d.ts +1 -1
- package/dist/services/dop/dop-txids/dop-txid-graph-type-formatters.js.map +1 -1
- package/dist/services/dop/dop-txids/dop-txid-merkletrees.d.ts +1 -1
- package/dist/services/dop/dop-txids/dop-txid-merkletrees.js.map +1 -1
- package/dist/services/dop/dop-txids/dop-txid-sync-graph-v2.d.ts +1 -1
- package/dist/services/dop/dop-txids/dop-txid-sync-graph-v2.js.map +1 -1
- package/dist/services/dop/history/transaction-history.d.ts +2 -2
- package/dist/services/dop/history/transaction-history.js.map +1 -1
- package/dist/services/dop/process/extract-transaction-data.d.ts +1 -1
- package/dist/services/dop/process/extract-transaction-data.js.map +1 -1
- package/dist/services/dop/quick-sync/V2/__tests__/quick-sync-events-graph-v2.test.js.map +1 -1
- package/dist/services/dop/quick-sync/V2/graph-type-formatters-v2.d.ts +1 -1
- package/dist/services/dop/quick-sync/V2/graph-type-formatters-v2.js.map +1 -1
- package/dist/services/dop/quick-sync/V2/quick-sync-events-graph-v2.d.ts +1 -1
- package/dist/services/dop/quick-sync/V2/quick-sync-events-graph-v2.js.map +1 -1
- package/dist/services/dop/quick-sync/V3/__tests__/quick-sync-events-graph-v3.test.js.map +1 -1
- package/dist/services/dop/quick-sync/V3/graph-type-formatters-v3.d.ts +1 -1
- package/dist/services/dop/quick-sync/V3/graph-type-formatters-v3.js.map +1 -1
- package/dist/services/dop/quick-sync/V3/quick-sync-events-graph-v3.d.ts +1 -1
- package/dist/services/dop/quick-sync/V3/quick-sync-events-graph-v3.js.map +1 -1
- package/dist/services/dop/quick-sync/graph-query.d.ts +1 -1
- package/dist/services/dop/quick-sync/graph-query.js.map +1 -1
- package/dist/services/dop/quick-sync/quick-sync-events.d.ts +1 -1
- package/dist/services/dop/quick-sync/quick-sync-events.js.map +1 -1
- package/dist/services/dop/quick-sync/shared-formatters.d.ts +1 -1
- package/dist/services/dop/quick-sync/shared-formatters.js.map +1 -1
- package/dist/services/dop/util/bytes.d.ts +1 -1
- package/dist/services/dop/util/bytes.js.map +1 -1
- package/dist/services/dop/util/crypto.d.ts +2 -2
- package/dist/services/dop/util/crypto.js.map +1 -1
- package/dist/services/dop/wallets/__tests__/balances-live.test.js.map +1 -1
- package/dist/services/dop/wallets/__tests__/balances-update.test.js.map +1 -1
- package/dist/services/dop/wallets/__tests__/balances.test.js.map +1 -1
- package/dist/services/dop/wallets/__tests__/wallets.test.js.map +1 -1
- package/dist/services/dop/wallets/balance-update.d.ts +2 -2
- package/dist/services/dop/wallets/balance-update.js.map +1 -1
- package/dist/services/dop/wallets/balances.d.ts +1 -1
- package/dist/services/dop/wallets/balances.js.map +1 -1
- package/dist/services/dop/wallets/wallets.d.ts +2 -2
- package/dist/services/dop/wallets/wallets.js.map +1 -1
- package/dist/services/ethers/ethers-util.js.map +1 -1
- package/dist/services/transactions/__tests__/proof-cache.test.js.map +1 -1
- package/dist/services/transactions/__tests__/tx-cross-contract-calls.test.js.map +1 -1
- package/dist/services/transactions/__tests__/tx-encrypt-base-token.test.js.map +1 -1
- package/dist/services/transactions/__tests__/tx-gas-details.test.js.map +1 -1
- package/dist/services/transactions/__tests__/tx-notes.test.js.map +1 -1
- package/dist/services/transactions/__tests__/tx-transfer.test.js.map +1 -1
- package/dist/services/transactions/proof-cache.d.ts +1 -1
- package/dist/services/transactions/proof-cache.js.map +1 -1
- package/dist/services/transactions/tx-cross-contract-calls.d.ts +2 -2
- package/dist/services/transactions/tx-cross-contract-calls.js.map +1 -1
- package/dist/services/transactions/tx-decrypt.d.ts +1 -1
- package/dist/services/transactions/tx-decrypt.js.map +1 -1
- package/dist/services/transactions/tx-encrypt-base-token.d.ts +1 -1
- package/dist/services/transactions/tx-encrypt-base-token.js.map +1 -1
- package/dist/services/transactions/tx-encrypt.d.ts +1 -1
- package/dist/services/transactions/tx-encrypt.js.map +1 -1
- package/dist/services/transactions/tx-gas-broadcaster-fee-estimator.d.ts +2 -2
- package/dist/services/transactions/tx-gas-broadcaster-fee-estimator.js.map +1 -1
- package/dist/services/transactions/tx-gas-details.d.ts +1 -1
- package/dist/services/transactions/tx-gas-details.js.map +1 -1
- package/dist/services/transactions/tx-generator.d.ts +2 -2
- package/dist/services/transactions/tx-generator.js.map +1 -1
- package/dist/services/transactions/tx-notes.d.ts +2 -2
- package/dist/services/transactions/tx-notes.js.map +1 -1
- package/dist/services/transactions/tx-nullifiers.d.ts +1 -1
- package/dist/services/transactions/tx-nullifiers.js.map +1 -1
- package/dist/services/transactions/tx-proof-decrypt.d.ts +1 -1
- package/dist/services/transactions/tx-proof-decrypt.js.map +1 -1
- package/dist/services/transactions/tx-proof-transfer.d.ts +1 -1
- package/dist/services/transactions/tx-proof-transfer.js.map +1 -1
- package/dist/services/transactions/tx-transfer.d.ts +1 -1
- package/dist/services/transactions/tx-transfer.js.map +1 -1
- package/dist/tests/helper.test.d.ts +1 -1
- package/dist/tests/helper.test.js.map +1 -1
- package/dist/tests/mocks.test.d.ts +2 -2
- package/dist/tests/mocks.test.js.map +1 -1
- package/dist/tests/poi/test-wallet-poi-requester.test.d.ts +2 -2
- package/dist/tests/poi/test-wallet-poi-requester.test.js.map +1 -1
- package/dist/tests/setup.test.d.ts +1 -1
- package/dist/tests/setup.test.js.map +1 -1
- package/dist/tests/stubs/engine-stubs.test.d.ts +1 -1
- package/dist/tests/stubs/engine-stubs.test.js.map +1 -1
- package/dist/utils/blocked-address.js.map +1 -1
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/gas-price.d.ts +1 -1
- package/dist/utils/gas-price.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-downloader.test.js","sourceRoot":"","sources":["../../../../src/services/artifacts/__tests__/artifact-downloader.test.ts"],"names":[],"mappings":"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","sourcesContent":["/// <reference types=\"../../../types/global\" />\nimport chai from 'chai';\nimport chaiAsPromised from 'chai-as-promised';\nimport { Artifact, ArtifactName } from 'dop-sharedmodels-
|
|
1
|
+
{"version":3,"file":"artifact-downloader.test.js","sourceRoot":"","sources":["../../../../src/services/artifacts/__tests__/artifact-downloader.test.ts"],"names":[],"mappings":"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","sourcesContent":["/// <reference types=\"../../../types/global\" />\nimport chai from 'chai';\nimport chaiAsPromised from 'chai-as-promised';\nimport { Artifact, ArtifactName } from 'dop-sharedmodels-v5';\nimport { initTestEngine } from '../../../tests/setup.test';\nimport {\n clearArtifactCache,\n overrideArtifact,\n artifactGetterDownloadJustInTime,\n artifactCache,\n setUseNativeArtifacts,\n} from '../../dop/core/artifacts';\nimport { PublicInputsDop } from 'dop-engine-v5';\nimport { getArtifactVariantString } from '../artifact-util';\n\nchai.use(chaiAsPromised);\nconst { expect } = chai;\n\ndescribe('artifact-downloader', () => {\n before(async () => {\n const useNativeArtifacts = false;\n await initTestEngine(useNativeArtifacts);\n });\n\n // Skipped because we don't want to run this on every build.\n it.skip('Should download ALL artifacts - native and nodejs', async () => {\n setUseNativeArtifacts(true);\n\n clearArtifactCache();\n\n for (let i = 1; i <= 10; i += 1) {\n for (let j = 1; j <= 3; j += 1) {\n if (i === 10 && j === 5) {\n continue;\n }\n\n // console.log(`NATIVE: ${i}x${j}...`);\n\n const inputs: PublicInputsDop = {\n nullifiers: new Array<bigint>(i),\n merkleRoot: BigInt(0),\n boundParamsHash: BigInt(0),\n commitmentsOut: new Array<bigint>(j),\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const artifacts: Artifact =\n // eslint-disable-next-line no-await-in-loop\n await artifactGetterDownloadJustInTime.getArtifacts(inputs);\n\n expect(artifacts.vkey).to.not.be.undefined;\n expect(artifacts.zkey).to.not.be.undefined;\n expect(artifacts.wasm).to.be.undefined;\n expect(artifacts.dat).to.not.be.undefined;\n }\n }\n\n clearArtifactCache();\n setUseNativeArtifacts(false);\n\n for (let i = 1; i <= 10; i += 1) {\n for (let j = 1; j <= 5; j += 1) {\n if (i === 10 && j === 5) {\n continue;\n }\n\n // console.log(`NODEJS: ${i}x${j}...`);\n\n const inputs: PublicInputsDop = {\n nullifiers: new Array<bigint>(i),\n merkleRoot: BigInt(0),\n boundParamsHash: BigInt(0),\n commitmentsOut: new Array<bigint>(j),\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const artifacts: Artifact =\n // eslint-disable-next-line no-await-in-loop\n await artifactGetterDownloadJustInTime.getArtifacts(inputs);\n\n expect(artifacts.vkey).to.not.be.undefined;\n expect(artifacts.zkey).to.not.be.undefined;\n expect(artifacts.wasm).to.not.be.undefined;\n expect(artifacts.dat).to.be.undefined;\n }\n }\n }).timeout(30_000);\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-downloader.js","sourceRoot":"","sources":["../../../src/services/artifacts/artifact-downloader.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Artifact,\n ArtifactName,\n isDefined,\n promiseTimeout,\n} from 'dop-sharedmodels-v3';\nimport axios, { ResponseType } from 'axios';\nimport {\n artifactDownloadsDir,\n artifactDownloadsPath,\n decompressArtifact,\n getArtifactDownloadsPaths,\n getArtifactUrl,\n} from './artifact-util';\nimport { ArtifactStore } from './artifact-store';\nimport { reportAndSanitizeError } from '../../utils/error';\nimport { sendMessage } from '../../utils/logger';\nimport { validateArtifactDownload } from './artifact-hash';\n\nexport class ArtifactDownloader {\n private artifactStore: ArtifactStore;\n private useNativeArtifacts: boolean;\n\n constructor(artifactStore: ArtifactStore, useNativeArtifacts: boolean) {\n this.artifactStore = artifactStore;\n this.useNativeArtifacts = useNativeArtifacts;\n }\n\n downloadArtifacts = async (artifactVariantString: string): Promise<void> => {\n sendMessage(`Downloading artifacts: ${artifactVariantString}`);\n\n const [vkeyPath, zkeyPath, wasmOrDatPath] = await promiseTimeout(\n Promise.all([\n this.downloadArtifact(ArtifactName.VKEY, artifactVariantString),\n this.downloadArtifact(ArtifactName.ZKEY, artifactVariantString),\n this.downloadArtifact(\n this.useNativeArtifacts ? ArtifactName.DAT : ArtifactName.WASM,\n artifactVariantString,\n ),\n ]),\n 45000,\n new Error(\n `Timed out downloading artifact files for ${artifactVariantString} circuit. Please try again.`,\n ),\n );\n\n if (!isDefined(vkeyPath)) {\n throw new Error('Could not download vkey artifact.');\n }\n if (!isDefined(zkeyPath)) {\n throw new Error('Could not download zkey artifact.');\n }\n if (!isDefined(wasmOrDatPath)) {\n throw new Error(\n this.useNativeArtifacts\n ? 'Could not download dat artifact.'\n : 'Could not download wasm artifact.',\n );\n }\n };\n\n private downloadArtifact = async (\n artifactName: ArtifactName,\n artifactVariantString: string,\n ): Promise<string | undefined> => {\n const path = artifactDownloadsPath(artifactName, artifactVariantString);\n if (await this.artifactStore.exists(path)) {\n return path;\n }\n try {\n const url = getArtifactUrl(artifactName, artifactVariantString);\n\n const { data } = await axios.get<ArrayBuffer | Buffer | object>(url, {\n method: 'GET',\n responseType: ArtifactDownloader.artifactResponseType(artifactName),\n });\n\n // NodeJS downloads as Buffer.\n // Browser downloads as ArrayBuffer.\n // Both will validate with the same hash.\n\n let dataFormatted: ArrayBuffer | Buffer | string;\n\n if (data instanceof ArrayBuffer || data instanceof Buffer) {\n dataFormatted = data;\n } else if (typeof data === 'object') {\n dataFormatted = JSON.stringify(data);\n } else if (typeof data === 'string') {\n dataFormatted = JSON.stringify(JSON.parse(data));\n } else {\n throw new Error('Unexpected response data type');\n }\n\n const decompressedData = ArtifactDownloader.getArtifactData(\n dataFormatted,\n artifactName,\n );\n\n const isValid = await validateArtifactDownload(\n decompressedData,\n artifactName,\n artifactVariantString,\n );\n if (isValid) {\n await this.artifactStore.store(\n artifactDownloadsDir(artifactVariantString),\n path,\n decompressedData,\n );\n } else {\n throw new Error(\n `Invalid hash for artifact download: ${artifactName} for ${artifactVariantString}.`,\n );\n }\n\n return path;\n } catch (err) {\n throw reportAndSanitizeError(this.downloadArtifact.name, err);\n }\n };\n\n private static getArtifactData = (\n data: string | ArrayBuffer,\n artifactName: ArtifactName,\n ): string | Uint8Array => {\n switch (artifactName) {\n case ArtifactName.VKEY:\n return data as string;\n case ArtifactName.ZKEY:\n case ArtifactName.DAT:\n case ArtifactName.WASM:\n return decompressArtifact(data as ArrayBuffer);\n }\n };\n\n private static artifactResponseType = (\n artifactName: ArtifactName,\n ): ResponseType => {\n switch (artifactName) {\n case ArtifactName.VKEY:\n return 'text';\n case ArtifactName.ZKEY:\n case ArtifactName.DAT:\n case ArtifactName.WASM:\n return 'arraybuffer';\n }\n };\n\n private getDownloadedArtifact = async (\n path: string,\n ): Promise<string | Buffer | null> => {\n try {\n const storedItem = await this.artifactStore.get(path);\n return storedItem;\n } catch (err) {\n return null;\n }\n };\n\n getDownloadedArtifacts = async (\n artifactVariantString: string,\n ): Promise<Artifact> => {\n const artifactDownloadsPaths = getArtifactDownloadsPaths(\n artifactVariantString,\n );\n\n const [vkeyString, zkeyBuffer, datBuffer, wasmBuffer] = await Promise.all([\n this.getDownloadedArtifact(artifactDownloadsPaths[ArtifactName.VKEY]),\n this.getDownloadedArtifact(artifactDownloadsPaths[ArtifactName.ZKEY]),\n this.useNativeArtifacts\n ? this.getDownloadedArtifact(artifactDownloadsPaths[ArtifactName.DAT])\n : Promise.resolve(undefined),\n !this.useNativeArtifacts\n ? this.getDownloadedArtifact(artifactDownloadsPaths[ArtifactName.WASM])\n : Promise.resolve(undefined),\n ]);\n if (vkeyString == null) {\n throw new Error('Could not retrieve vkey artifact.');\n }\n if (zkeyBuffer == null) {\n throw new Error('Could not retrieve zkey artifact.');\n }\n if (this.useNativeArtifacts && datBuffer == null) {\n throw new Error('Could not retrieve dat artifact.');\n }\n if (!this.useNativeArtifacts && wasmBuffer == null) {\n throw new Error('Could not retrieve wasm artifact.');\n }\n\n return {\n vkey: JSON.parse(vkeyString as string),\n zkey: zkeyBuffer as Buffer,\n wasm: wasmBuffer as Buffer | undefined,\n dat: datBuffer as Buffer | undefined,\n };\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"artifact-downloader.js","sourceRoot":"","sources":["../../../src/services/artifacts/artifact-downloader.ts"],"names":[],"mappings":";;;;;;AAAA,6DAK6B;AAC7B,kDAA4C;AAC5C,mDAMyB;AAEzB,6CAA2D;AAC3D,+CAAiD;AACjD,mDAA2D;AAE3D,MAAa,kBAAkB;IACrB,aAAa,CAAgB;IAC7B,kBAAkB,CAAU;IAEpC,YAAY,aAA4B,EAAE,kBAA2B;QACnE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,iBAAiB,GAAG,KAAK,EAAE,qBAA6B,EAAiB,EAAE;QACzE,IAAA,oBAAW,EAAC,0BAA0B,qBAAqB,EAAE,CAAC,CAAC;QAE/D,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,MAAM,IAAA,oCAAc,EAC9D,OAAO,CAAC,GAAG,CAAC;YACV,IAAI,CAAC,gBAAgB,CAAC,kCAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC;YAC/D,IAAI,CAAC,gBAAgB,CAAC,kCAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC;YAC/D,IAAI,CAAC,gBAAgB,CACnB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,kCAAY,CAAC,GAAG,CAAC,CAAC,CAAC,kCAAY,CAAC,IAAI,EAC9D,qBAAqB,CACtB;SACF,CAAC,EACF,KAAK,EACL,IAAI,KAAK,CACP,4CAA4C,qBAAqB,6BAA6B,CAC/F,CACF,CAAC;QAEF,IAAI,CAAC,IAAA,+BAAS,EAAC,QAAQ,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QACD,IAAI,CAAC,IAAA,+BAAS,EAAC,QAAQ,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QACD,IAAI,CAAC,IAAA,+BAAS,EAAC,aAAa,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CACb,IAAI,CAAC,kBAAkB;gBACrB,CAAC,CAAC,kCAAkC;gBACpC,CAAC,CAAC,mCAAmC,CACxC,CAAC;SACH;IACH,CAAC,CAAC;IAEM,gBAAgB,GAAG,KAAK,EAC9B,YAA0B,EAC1B,qBAA6B,EACA,EAAE;QAC/B,MAAM,IAAI,GAAG,IAAA,qCAAqB,EAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;QACxE,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC;SACb;QACD,IAAI;YACF,MAAM,GAAG,GAAG,IAAA,8BAAc,EAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;YAEhE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,eAAK,CAAC,GAAG,CAAgC,GAAG,EAAE;gBACnE,MAAM,EAAE,KAAK;gBACb,YAAY,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,YAAY,CAAC;aACpE,CAAC,CAAC;YAEH,8BAA8B;YAC9B,oCAAoC;YACpC,yCAAyC;YAEzC,IAAI,aAA4C,CAAC;YAEjD,IAAI,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,MAAM,EAAE;gBACzD,aAAa,GAAG,IAAI,CAAC;aACtB;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBACnC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACtC;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBACnC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;aAClD;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aAClD;YAED,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,eAAe,CACzD,aAAa,EACb,YAAY,CACb,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,IAAA,wCAAwB,EAC5C,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,CACtB,CAAC;YACF,IAAI,OAAO,EAAE;gBACX,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAC5B,IAAA,oCAAoB,EAAC,qBAAqB,CAAC,EAC3C,IAAI,EACJ,gBAAgB,CACjB,CAAC;aACH;iBAAM;gBACL,MAAM,IAAI,KAAK,CACb,uCAAuC,YAAY,QAAQ,qBAAqB,GAAG,CACpF,CAAC;aACH;YAED,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAA,8BAAsB,EAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SAC/D;IACH,CAAC,CAAC;IAEM,MAAM,CAAC,eAAe,GAAG,CAC/B,IAA0B,EAC1B,YAA0B,EACL,EAAE;QACvB,QAAQ,YAAY,EAAE;YACpB,KAAK,kCAAY,CAAC,IAAI;gBACpB,OAAO,IAAc,CAAC;YACxB,KAAK,kCAAY,CAAC,IAAI,CAAC;YACvB,KAAK,kCAAY,CAAC,GAAG,CAAC;YACtB,KAAK,kCAAY,CAAC,IAAI;gBACpB,OAAO,IAAA,kCAAkB,EAAC,IAAmB,CAAC,CAAC;SAClD;IACH,CAAC,CAAC;IAEM,MAAM,CAAC,oBAAoB,GAAG,CACpC,YAA0B,EACZ,EAAE;QAChB,QAAQ,YAAY,EAAE;YACpB,KAAK,kCAAY,CAAC,IAAI;gBACpB,OAAO,MAAM,CAAC;YAChB,KAAK,kCAAY,CAAC,IAAI,CAAC;YACvB,KAAK,kCAAY,CAAC,GAAG,CAAC;YACtB,KAAK,kCAAY,CAAC,IAAI;gBACpB,OAAO,aAAa,CAAC;SACxB;IACH,CAAC,CAAC;IAEM,qBAAqB,GAAG,KAAK,EACnC,IAAY,EACqB,EAAE;QACnC,IAAI;YACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtD,OAAO,UAAU,CAAC;SACnB;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEF,sBAAsB,GAAG,KAAK,EAC5B,qBAA6B,EACV,EAAE;QACrB,MAAM,sBAAsB,GAAG,IAAA,yCAAyB,EACtD,qBAAqB,CACtB,CAAC;QAEF,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxE,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,kCAAY,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,kCAAY,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,kBAAkB;gBACrB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,kCAAY,CAAC,GAAG,CAAC,CAAC;gBACtE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YAC9B,CAAC,IAAI,CAAC,kBAAkB;gBACtB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,kCAAY,CAAC,IAAI,CAAC,CAAC;gBACvE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;SAC/B,CAAC,CAAC;QACH,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QACD,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QACD,IAAI,IAAI,CAAC,kBAAkB,IAAI,SAAS,IAAI,IAAI,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,UAAU,IAAI,IAAI,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QAED,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,UAAoB,CAAC;YACtC,IAAI,EAAE,UAAoB;YAC1B,IAAI,EAAE,UAAgC;YACtC,GAAG,EAAE,SAA+B;SACrC,CAAC;IACJ,CAAC,CAAC;;AAhLJ,gDAiLC","sourcesContent":["import {\n Artifact,\n ArtifactName,\n isDefined,\n promiseTimeout,\n} from 'dop-sharedmodels-v5';\nimport axios, { ResponseType } from 'axios';\nimport {\n artifactDownloadsDir,\n artifactDownloadsPath,\n decompressArtifact,\n getArtifactDownloadsPaths,\n getArtifactUrl,\n} from './artifact-util';\nimport { ArtifactStore } from './artifact-store';\nimport { reportAndSanitizeError } from '../../utils/error';\nimport { sendMessage } from '../../utils/logger';\nimport { validateArtifactDownload } from './artifact-hash';\n\nexport class ArtifactDownloader {\n private artifactStore: ArtifactStore;\n private useNativeArtifacts: boolean;\n\n constructor(artifactStore: ArtifactStore, useNativeArtifacts: boolean) {\n this.artifactStore = artifactStore;\n this.useNativeArtifacts = useNativeArtifacts;\n }\n\n downloadArtifacts = async (artifactVariantString: string): Promise<void> => {\n sendMessage(`Downloading artifacts: ${artifactVariantString}`);\n\n const [vkeyPath, zkeyPath, wasmOrDatPath] = await promiseTimeout(\n Promise.all([\n this.downloadArtifact(ArtifactName.VKEY, artifactVariantString),\n this.downloadArtifact(ArtifactName.ZKEY, artifactVariantString),\n this.downloadArtifact(\n this.useNativeArtifacts ? ArtifactName.DAT : ArtifactName.WASM,\n artifactVariantString,\n ),\n ]),\n 45000,\n new Error(\n `Timed out downloading artifact files for ${artifactVariantString} circuit. Please try again.`,\n ),\n );\n\n if (!isDefined(vkeyPath)) {\n throw new Error('Could not download vkey artifact.');\n }\n if (!isDefined(zkeyPath)) {\n throw new Error('Could not download zkey artifact.');\n }\n if (!isDefined(wasmOrDatPath)) {\n throw new Error(\n this.useNativeArtifacts\n ? 'Could not download dat artifact.'\n : 'Could not download wasm artifact.',\n );\n }\n };\n\n private downloadArtifact = async (\n artifactName: ArtifactName,\n artifactVariantString: string,\n ): Promise<string | undefined> => {\n const path = artifactDownloadsPath(artifactName, artifactVariantString);\n if (await this.artifactStore.exists(path)) {\n return path;\n }\n try {\n const url = getArtifactUrl(artifactName, artifactVariantString);\n\n const { data } = await axios.get<ArrayBuffer | Buffer | object>(url, {\n method: 'GET',\n responseType: ArtifactDownloader.artifactResponseType(artifactName),\n });\n\n // NodeJS downloads as Buffer.\n // Browser downloads as ArrayBuffer.\n // Both will validate with the same hash.\n\n let dataFormatted: ArrayBuffer | Buffer | string;\n\n if (data instanceof ArrayBuffer || data instanceof Buffer) {\n dataFormatted = data;\n } else if (typeof data === 'object') {\n dataFormatted = JSON.stringify(data);\n } else if (typeof data === 'string') {\n dataFormatted = JSON.stringify(JSON.parse(data));\n } else {\n throw new Error('Unexpected response data type');\n }\n\n const decompressedData = ArtifactDownloader.getArtifactData(\n dataFormatted,\n artifactName,\n );\n\n const isValid = await validateArtifactDownload(\n decompressedData,\n artifactName,\n artifactVariantString,\n );\n if (isValid) {\n await this.artifactStore.store(\n artifactDownloadsDir(artifactVariantString),\n path,\n decompressedData,\n );\n } else {\n throw new Error(\n `Invalid hash for artifact download: ${artifactName} for ${artifactVariantString}.`,\n );\n }\n\n return path;\n } catch (err) {\n throw reportAndSanitizeError(this.downloadArtifact.name, err);\n }\n };\n\n private static getArtifactData = (\n data: string | ArrayBuffer,\n artifactName: ArtifactName,\n ): string | Uint8Array => {\n switch (artifactName) {\n case ArtifactName.VKEY:\n return data as string;\n case ArtifactName.ZKEY:\n case ArtifactName.DAT:\n case ArtifactName.WASM:\n return decompressArtifact(data as ArrayBuffer);\n }\n };\n\n private static artifactResponseType = (\n artifactName: ArtifactName,\n ): ResponseType => {\n switch (artifactName) {\n case ArtifactName.VKEY:\n return 'text';\n case ArtifactName.ZKEY:\n case ArtifactName.DAT:\n case ArtifactName.WASM:\n return 'arraybuffer';\n }\n };\n\n private getDownloadedArtifact = async (\n path: string,\n ): Promise<string | Buffer | null> => {\n try {\n const storedItem = await this.artifactStore.get(path);\n return storedItem;\n } catch (err) {\n return null;\n }\n };\n\n getDownloadedArtifacts = async (\n artifactVariantString: string,\n ): Promise<Artifact> => {\n const artifactDownloadsPaths = getArtifactDownloadsPaths(\n artifactVariantString,\n );\n\n const [vkeyString, zkeyBuffer, datBuffer, wasmBuffer] = await Promise.all([\n this.getDownloadedArtifact(artifactDownloadsPaths[ArtifactName.VKEY]),\n this.getDownloadedArtifact(artifactDownloadsPaths[ArtifactName.ZKEY]),\n this.useNativeArtifacts\n ? this.getDownloadedArtifact(artifactDownloadsPaths[ArtifactName.DAT])\n : Promise.resolve(undefined),\n !this.useNativeArtifacts\n ? this.getDownloadedArtifact(artifactDownloadsPaths[ArtifactName.WASM])\n : Promise.resolve(undefined),\n ]);\n if (vkeyString == null) {\n throw new Error('Could not retrieve vkey artifact.');\n }\n if (zkeyBuffer == null) {\n throw new Error('Could not retrieve zkey artifact.');\n }\n if (this.useNativeArtifacts && datBuffer == null) {\n throw new Error('Could not retrieve dat artifact.');\n }\n if (!this.useNativeArtifacts && wasmBuffer == null) {\n throw new Error('Could not retrieve wasm artifact.');\n }\n\n return {\n vkey: JSON.parse(vkeyString as string),\n zkey: zkeyBuffer as Buffer,\n wasm: wasmBuffer as Buffer | undefined,\n dat: datBuffer as Buffer | undefined,\n };\n };\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
-
import { ArtifactName } from 'dop-sharedmodels-
|
|
3
|
+
import { ArtifactName } from 'dop-sharedmodels-v5';
|
|
4
4
|
export declare const validateArtifactDownload: (data: Uint8Array | Buffer | string, artifactName: ArtifactName, artifactVariantString: string) => Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-hash.js","sourceRoot":"","sources":["../../../src/services/artifacts/artifact-hash.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAoC;AACpC,6DAA8D;AAC9D,+DAAyD;AAEzD,6FAAgE;AAChE,iDAA0C;AAC1C,iDAAoD;AAOpD,MAAM,uBAAuB,GAAG,CAC9B,YAA0B,EAC1B,qBAA6B,EACrB,EAAE;IACV,MAAM,MAAM,GAAG,iCAAwC,CAAC;IACxD,MAAM,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACpD,IAAI,CAAC,IAAA,+BAAS,EAAC,aAAa,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CACb,yBAAyB,YAAY,KAAK,qBAAqB,EAAE,CAClE,CAAC;KACH;IACD,IAAI,YAAY,KAAK,kCAAY,CAAC,IAAI,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CACb,wBAAwB,YAAY,KAAK,qBAAqB,EAAE,CACjE,CAAC;KACH;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAkC,EAAc,EAAE;IACtE,IAAI,IAAI,YAAY,UAAU,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACzB,OAAO,IAAI,CAAC,MAAoB,CAAC;KAClC;IACD,OAAO,yBAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEK,MAAM,wBAAwB,GAAG,KAAK,EAC3C,IAAkC,EAClC,YAA0B,EAC1B,qBAA6B,EACX,EAAE;IACpB,IAAI,YAAY,KAAK,kCAAY,CAAC,IAAI,EAAE;QACtC,OAAO,IAAI,CAAC;KACb;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,uBAAa;QACxB,CAAC,CAAC,yBAAS,CAAC,OAAO,CAAC,IAAA,kBAAM,EAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,uBAAuB,CAC1C,YAAY,EACZ,qBAAqB,CACtB,CAAC;IACF,+BAA+B;IAC/B,sBAAsB;IACtB,sHAAsH;IACtH,OAAO;IACP,IAAI;IACJ,OAAO,IAAI,CAAA;AACb,CAAC,CAAC;AAtBW,QAAA,wBAAwB,4BAsBnC","sourcesContent":["import { createHash } from 'crypto';\nimport { ArtifactName, isDefined } from 'dop-sharedmodels-
|
|
1
|
+
{"version":3,"file":"artifact-hash.js","sourceRoot":"","sources":["../../../src/services/artifacts/artifact-hash.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAoC;AACpC,6DAA8D;AAC9D,+DAAyD;AAEzD,6FAAgE;AAChE,iDAA0C;AAC1C,iDAAoD;AAOpD,MAAM,uBAAuB,GAAG,CAC9B,YAA0B,EAC1B,qBAA6B,EACrB,EAAE;IACV,MAAM,MAAM,GAAG,iCAAwC,CAAC;IACxD,MAAM,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACpD,IAAI,CAAC,IAAA,+BAAS,EAAC,aAAa,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CACb,yBAAyB,YAAY,KAAK,qBAAqB,EAAE,CAClE,CAAC;KACH;IACD,IAAI,YAAY,KAAK,kCAAY,CAAC,IAAI,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CACb,wBAAwB,YAAY,KAAK,qBAAqB,EAAE,CACjE,CAAC;KACH;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAkC,EAAc,EAAE;IACtE,IAAI,IAAI,YAAY,UAAU,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACzB,OAAO,IAAI,CAAC,MAAoB,CAAC;KAClC;IACD,OAAO,yBAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEK,MAAM,wBAAwB,GAAG,KAAK,EAC3C,IAAkC,EAClC,YAA0B,EAC1B,qBAA6B,EACX,EAAE;IACpB,IAAI,YAAY,KAAK,kCAAY,CAAC,IAAI,EAAE;QACtC,OAAO,IAAI,CAAC;KACb;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,uBAAa;QACxB,CAAC,CAAC,yBAAS,CAAC,OAAO,CAAC,IAAA,kBAAM,EAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,uBAAuB,CAC1C,YAAY,EACZ,qBAAqB,CACtB,CAAC;IACF,+BAA+B;IAC/B,sBAAsB;IACtB,sHAAsH;IACtH,OAAO;IACP,IAAI;IACJ,OAAO,IAAI,CAAA;AACb,CAAC,CAAC;AAtBW,QAAA,wBAAwB,4BAsBnC","sourcesContent":["import { createHash } from 'crypto';\nimport { ArtifactName, isDefined } from 'dop-sharedmodels-v5';\nimport { sha256 } from 'ethereum-cryptography/sha256.js';\nimport { sendErrorMessage } from '../../utils/logger';\nimport ARTIFACT_V2_HASHES from './json/artifact-v2-hashes.json';\nimport { ByteUtils } from 'dop-engine-v5';\nimport { isReactNative } from '../dop/util/runtime';\n\ntype ArtifactHashesJson = Record<\n string,\n Record<ArtifactName.DAT | ArtifactName.WASM | ArtifactName.ZKEY, string>\n>;\n\nconst getExpectedArtifactHash = (\n artifactName: ArtifactName,\n artifactVariantString: string,\n): string => {\n const hashes = ARTIFACT_V2_HASHES as ArtifactHashesJson;\n const variantHashes = hashes[artifactVariantString];\n if (!isDefined(variantHashes)) {\n throw new Error(\n `No hashes for variant ${artifactName}: ${artifactVariantString}`,\n );\n }\n if (artifactName === ArtifactName.VKEY) {\n throw new Error(`No artifact hashes for vkey.`);\n }\n const hash = variantHashes[artifactName];\n if (!hash) {\n throw new Error(\n `No hash for artifact ${artifactName}: ${artifactVariantString}`,\n );\n }\n return hash;\n};\n\nconst getDataBytes = (data: Uint8Array | Buffer | string): Uint8Array => {\n if (data instanceof Uint8Array) {\n return data;\n }\n if (Buffer.isBuffer(data)) {\n return data.buffer as Uint8Array;\n }\n return ByteUtils.hexStringToBytes(data);\n};\n\nexport const validateArtifactDownload = async (\n data: Uint8Array | Buffer | string,\n artifactName: ArtifactName,\n artifactVariantString: string,\n): Promise<boolean> => {\n if (artifactName === ArtifactName.VKEY) {\n return true;\n }\n const dataBytes = getDataBytes(data);\n const hash = isReactNative\n ? ByteUtils.hexlify(sha256(dataBytes))\n : createHash('sha256').update(dataBytes).digest('hex');\n const expectedHash = getExpectedArtifactHash(\n artifactName,\n artifactVariantString,\n );\n // if (hash !== expectedHash) {\n // sendErrorMessage(\n // `Validate artifact blob for ${artifactName}: ${artifactVariantString}. Got ${hash}, expected ${expectedHash}.`,\n // );\n // }\n return true\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ArtifactName, ArtifactMapping } from 'dop-sharedmodels-
|
|
1
|
+
import { ArtifactName, ArtifactMapping } from 'dop-sharedmodels-v5';
|
|
2
2
|
export declare const artifactDownloadsDir: (artifactVariantString: string) => string;
|
|
3
3
|
export declare const getArtifactVariantString: (nullifiers: number, commitments: number) => string;
|
|
4
4
|
export declare const artifactDownloadsPath: (artifactName: ArtifactName, artifactVariantString: string) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-util.js","sourceRoot":"","sources":["../../../src/services/artifacts/artifact-util.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ArtifactName,\n ArtifactMapping,\n} from 'dop-sharedmodels-
|
|
1
|
+
{"version":3,"file":"artifact-util.js","sourceRoot":"","sources":["../../../src/services/artifacts/artifact-util.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ArtifactName,\n ArtifactMapping,\n} from 'dop-sharedmodels-v5';\nimport brotliDecompress from 'brotli/decompress';\n\n// const IPFS_GATEWAY = 'https://ipfs-lb.com';\nconst IPFS_GATEWAY = 'https://purple-abstract-dingo-439.mypinata.cloud';\n\n// const MASTER_IPFS_HASH_ARTIFACTS = 'QmeBrG7pii1qTqsn7rusvDiqXopHPjCT9gR4PsmW7wXqZq';\n// const MASTER_IPFS_HASH_ARTIFACTS = 'bafybeifstdbysurwqmhbglbvf2bxnoeaiods74cyicygeuzhla3owj4zzi'; // staging\n// const MASTER_IPFS_HASH_ARTIFACTS = 'QmPKbQmGt17uic8xJLdA4wXSAZwSM4Aeg6dgqLohWrqB2Q'; // staging\nconst MASTER_IPFS_HASH_ARTIFACTS = 'QmVuLCMDysxZzasnJZexw6pLipMQGT1UYSbpa8rHh8iUah'; // prod\n\n\n// https://purple-abstract-dingo-439.mypinata.cloud/ipfs/QmNT44msrqeVj1WHFkWxi9Vg6KRoG573AVDBEsKmrSDyb5/\n\nexport const artifactDownloadsDir = (artifactVariantString: string) => {\n return `artifacts-v2.1/${artifactVariantString}`;\n};\n\nexport const getArtifactVariantString = (\n nullifiers: number,\n commitments: number,\n) => {\n console.log(\"nullifiers x commitments 1: \", nullifiers, commitments)\n return `${nullifiers}x${commitments}`;\n};\n\nexport const artifactDownloadsPath = (\n artifactName: ArtifactName,\n artifactVariantString: string,\n): string => {\n switch (artifactName) {\n case ArtifactName.WASM:\n return `${artifactDownloadsDir(artifactVariantString)}/wasm`;\n case ArtifactName.ZKEY:\n return `${artifactDownloadsDir(artifactVariantString)}/zkey`;\n case ArtifactName.VKEY:\n return `${artifactDownloadsDir(artifactVariantString)}/vkey.json`;\n case ArtifactName.DAT:\n return `${artifactDownloadsDir(artifactVariantString)}/dat`;\n }\n};\n\nexport const getArtifactDownloadsPaths = (\n artifactVariantString: string,\n): ArtifactMapping => {\n return {\n [ArtifactName.ZKEY]: artifactDownloadsPath(\n ArtifactName.ZKEY,\n artifactVariantString,\n ),\n [ArtifactName.WASM]: artifactDownloadsPath(\n ArtifactName.WASM,\n artifactVariantString,\n ),\n [ArtifactName.VKEY]: artifactDownloadsPath(\n ArtifactName.VKEY,\n artifactVariantString,\n ),\n [ArtifactName.DAT]: artifactDownloadsPath(\n ArtifactName.DAT,\n artifactVariantString,\n ),\n };\n};\n\nexport const decompressArtifact = (arrayBuffer: ArrayBuffer): Uint8Array => {\n const decompress = brotliDecompress as (input: Uint8Array) => Uint8Array;\n return decompress(Buffer.from(arrayBuffer));\n};\n\nconst getArtifactIPFSFilepath = (\n artifactName: ArtifactName,\n artifactVariantString: string,\n) => {\n switch (artifactName) {\n case ArtifactName.ZKEY:\n return `${artifactVariantString}/zkey.br`;\n case ArtifactName.WASM:\n return `prover/snarkjs/${artifactVariantString}.wasm.br`;\n case ArtifactName.VKEY:\n return `${artifactVariantString}/vkey.json`;\n case ArtifactName.DAT:\n return `prover/native/${artifactVariantString}.dat.br`;\n }\n throw new Error('Invalid artifact.');\n};\n\nexport const getArtifactUrl = (\n artifactName: ArtifactName,\n artifactVariantString: string,\n) => {\n const artifactFilepath = getArtifactIPFSFilepath(\n artifactName,\n artifactVariantString,\n );\n return `${IPFS_GATEWAY}/ipfs/${MASTER_IPFS_HASH_ARTIFACTS}/${artifactFilepath}`;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.test.js","sourceRoot":"","sources":["../../../../../src/services/dop/core/__tests__/providers.test.ts"],"names":[],"mappings":"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","sourcesContent":["import chai from 'chai';\nimport chaiAsPromised from 'chai-as-promised';\nimport {\n NetworkName,\n FallbackProviderJsonConfig,\n isDefined,\n NETWORK_CONFIG,\n} from 'dop-sharedmodels-
|
|
1
|
+
{"version":3,"file":"providers.test.js","sourceRoot":"","sources":["../../../../../src/services/dop/core/__tests__/providers.test.ts"],"names":[],"mappings":"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","sourcesContent":["import chai from 'chai';\nimport chaiAsPromised from 'chai-as-promised';\nimport {\n NetworkName,\n FallbackProviderJsonConfig,\n isDefined,\n NETWORK_CONFIG,\n} from 'dop-sharedmodels-v5';\nimport {\n MOCK_DB_ENCRYPTION_KEY,\n MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA,\n} from '../../../../tests/mocks.test';\nimport { closeTestEngine, initTestEngine } from '../../../../tests/setup.test';\nimport { getFallbackProviderForNetwork } from '../providers';\nimport { loadProvider } from '../load-provider';\nimport { createDopWallet, walletForID } from '../../wallets/wallets';\nimport {\n getUTXOMerkletreeForNetwork,\n getTXIDMerkletreeForNetwork,\n} from '../merkletree';\nimport {\n DopVersionedSmartContracts,\n RelayAdaptVersionedSmartContracts,\n} from 'dop-engine-v5';\nimport { getTestTXIDVersion, isV2Test } from '../../../../tests/helper.test';\n\nchai.use(chaiAsPromised);\nconst { expect } = chai;\n\nconst MOCK_MNEMONIC_PROVIDERS_ONLY =\n 'pause crystal tornado alcohol genre cement fade large song like bag where';\n\nconst txidVersion = getTestTXIDVersion();\n\ndescribe('providers', () => {\n before(async () => {\n await closeTestEngine();\n await initTestEngine();\n });\n after(async () => {\n await closeTestEngine();\n });\n\n it('Should load provider with json, pull fees, and check created objects', async () => {\n const response = await loadProvider(\n MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA,\n NetworkName.EthereumSepolia,\n 10_000, // pollingInterval\n );\n expect(response.feesSerialized).to.deep.equal({\n encryptFeeV2: '25',\n decryptFeeV2: '25',\n encryptFeeV3: undefined,\n decryptFeeV3: undefined,\n });\n\n expect(getFallbackProviderForNetwork(NetworkName.EthereumSepolia)).to.not.be\n .undefined;\n expect(() =>\n getFallbackProviderForNetwork(NetworkName.EthereumRopsten_DEPRECATED),\n ).to.throw;\n\n expect(getUTXOMerkletreeForNetwork(txidVersion, NetworkName.EthereumSepolia))\n .to.not.be.undefined;\n expect(() =>\n getUTXOMerkletreeForNetwork(\n txidVersion,\n NetworkName.EthereumRopsten_DEPRECATED,\n ),\n ).to.throw;\n\n // expect(getTXIDMerkletreeForNetwork(txidVersion, NetworkName.EthereumSepolia))\n // .to.be.undefined; // Until poi.launchBlock is defined.\n expect(() =>\n getTXIDMerkletreeForNetwork(\n txidVersion,\n NetworkName.EthereumRopsten_DEPRECATED,\n ),\n ).to.throw;\n\n const { chain } = NETWORK_CONFIG[NetworkName.EthereumSepolia];\n expect(\n DopVersionedSmartContracts.getEncryptApprovalContract(\n txidVersion,\n chain,\n ),\n ).to.not.be.undefined;\n\n if (isV2Test()) {\n // TODO-V3: Remove when ready\n expect(\n RelayAdaptVersionedSmartContracts.getRelayAdaptContract(\n txidVersion,\n chain,\n ),\n ).to.not.be.undefined;\n }\n\n const { chain: chainEthereumRopsten } =\n NETWORK_CONFIG[NetworkName.EthereumRopsten_DEPRECATED];\n expect(() =>\n RelayAdaptVersionedSmartContracts.getRelayAdaptContract(\n txidVersion,\n chainEthereumRopsten,\n ),\n ).to.throw;\n\n // Check that new wallet has merkletree.\n const dopWalletInfo = await createDopWallet(\n MOCK_DB_ENCRYPTION_KEY,\n MOCK_MNEMONIC_PROVIDERS_ONLY,\n undefined, // creationBlockNumbers\n );\n if (!isDefined(dopWalletInfo)) {\n throw new Error('Expected dopWalletInfo.');\n }\n const wallet = walletForID(dopWalletInfo.id);\n expect(\n wallet.getUTXOMerkletree(\n txidVersion,\n NETWORK_CONFIG[NetworkName.EthereumSepolia].chain,\n ),\n ).to.not.be.undefined;\n }).timeout(15_000);\n\n it('Should fail with invalid chain ID', async () => {\n await expect(\n loadProvider(\n { chainId: 55 } as FallbackProviderJsonConfig,\n NetworkName.BNBChain,\n 10000, // pollingInterval\n ),\n ).rejectedWith('Invalid chain ID');\n });\n\n it('Should fail with invalid json', async () => {\n await expect(\n loadProvider(\n { chainId: 56 } as FallbackProviderJsonConfig,\n NetworkName.BNBChain,\n 10000, // pollingInterval\n ),\n ).rejectedWith('Invalid fallback provider config for chain 56');\n });\n});\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ArtifactGetter, PublicInputsDop } from 'dop-engine-
|
|
2
|
-
import { Artifact } from 'dop-sharedmodels-
|
|
1
|
+
import { ArtifactGetter, PublicInputsDop } from 'dop-engine-v5';
|
|
2
|
+
import { Artifact } from 'dop-sharedmodels-v5';
|
|
3
3
|
import { ArtifactStore } from '../../artifacts/artifact-store';
|
|
4
4
|
export declare const artifactCache: MapType<Artifact>;
|
|
5
5
|
export declare const setArtifactStore: (store: ArtifactStore) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../src/services/dop/core/artifacts.ts"],"names":[],"mappings":";;;AACA,6DAI6B;AAC7B,6EAAyE;AAEzE,iEAEuC;AAEvC,IAAI,aAA4B,CAAC;AACjC,IAAI,kBAA2B,CAAC;AAEnB,QAAA,aAAa,GAAsB,EAAE,CAAC;AAE5C,MAAM,gBAAgB,GAAG,CAAC,KAAoB,EAAE,EAAE;IACvD,aAAa,GAAG,KAAK,CAAC;AACxB,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AACK,MAAM,qBAAqB,GAAG,CAAC,SAAkB,EAAE,EAAE;IAC1D,kBAAkB,GAAG,SAAS,CAAC;AACjC,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC;AAEK,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAuB,EACJ,EAAE;IACrB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;IAClE,IAAA,0CAAoB,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE9C,IAAI,kBAAkB,EAAE;QACtB,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,+DAA+D;YAC/D,MAAM,IAAI,KAAK,CACb,oGAAoG,UAAU,IAAI,WAAW,GAAG,CACjI,CAAC;SACH;KACF;IAED,MAAM,qBAAqB,GAAG,IAAA,wCAAwB,EACpD,UAAU,EACV,WAAW,CACZ,CAAC;IAEF,OAAO,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;AACzD,CAAC,CAAC;AAvBW,QAAA,YAAY,gBAuBvB;AAEF,MAAM,wBAAwB,GAAG,KAAK,EACpC,qBAA6B,EACV,EAAE;IACrB,sCAAsC;IACtC,MAAM,cAAc,GAAG,qBAAa,CAAC,qBAAqB,CAAC,CAAC;IAC5D,IAAI,IAAA,+BAAS,EAAC,cAAc,CAAC,EAAE;QAC7B,OAAO,cAAc,CAAC;KACvB;IAED,MAAM,UAAU,GAAG,IAAI,wCAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAE7E,kDAAkD;IAClD,IAAI;QACF,MAAM,mBAAmB,GAAG,MAAM,UAAU,CAAC,sBAAsB,CACjE,qBAAqB,CACtB,CAAC;QACF,qBAAa,CAAC,qBAAqB,CAAC,GAAG,mBAAmB,CAAC;QAC3D,OAAO,mBAAmB,CAAC;KAC5B;IAAC,OAAO,GAAG,EAAE;QACZ,uCAAuC;KACxC;IAED,oCAAoC;IACpC,MAAM,UAAU,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC1D,MAAM,mBAAmB,GAAG,MAAM,UAAU,CAAC,sBAAsB,CACjE,qBAAqB,CACtB,CAAC;IACF,qBAAa,CAAC,qBAAqB,CAAC,GAAG,mBAAmB,CAAC;IAC3D,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC;AAEW,QAAA,gCAAgC,GAAmB;IAC9D,oBAAoB,EAApB,0CAAoB;IACpB,YAAY,EAAZ,oBAAY;CACb,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAC9B,eAAuB,EACvB,QAAkB,EAClB,EAAE;IACF,qBAAa,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC;AAC5C,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B;AAEK,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,KAAK,MAAM,GAAG,IAAI,qBAAa,EAAE;QAC/B,IAAI,IAAA,+BAAS,EAAC,qBAAa,CAAC,GAAG,CAAC,CAAC,EAAE;YACjC,OAAO,qBAAa,CAAC,GAAG,CAAC,CAAC;SAC3B;KACF;AACH,CAAC,CAAC;AANW,QAAA,kBAAkB,sBAM7B","sourcesContent":["import { ArtifactGetter, PublicInputsDop } from 'dop-engine-
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../src/services/dop/core/artifacts.ts"],"names":[],"mappings":";;;AACA,6DAI6B;AAC7B,6EAAyE;AAEzE,iEAEuC;AAEvC,IAAI,aAA4B,CAAC;AACjC,IAAI,kBAA2B,CAAC;AAEnB,QAAA,aAAa,GAAsB,EAAE,CAAC;AAE5C,MAAM,gBAAgB,GAAG,CAAC,KAAoB,EAAE,EAAE;IACvD,aAAa,GAAG,KAAK,CAAC;AACxB,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AACK,MAAM,qBAAqB,GAAG,CAAC,SAAkB,EAAE,EAAE;IAC1D,kBAAkB,GAAG,SAAS,CAAC;AACjC,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC;AAEK,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAuB,EACJ,EAAE;IACrB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;IAClE,IAAA,0CAAoB,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE9C,IAAI,kBAAkB,EAAE;QACtB,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,+DAA+D;YAC/D,MAAM,IAAI,KAAK,CACb,oGAAoG,UAAU,IAAI,WAAW,GAAG,CACjI,CAAC;SACH;KACF;IAED,MAAM,qBAAqB,GAAG,IAAA,wCAAwB,EACpD,UAAU,EACV,WAAW,CACZ,CAAC;IAEF,OAAO,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;AACzD,CAAC,CAAC;AAvBW,QAAA,YAAY,gBAuBvB;AAEF,MAAM,wBAAwB,GAAG,KAAK,EACpC,qBAA6B,EACV,EAAE;IACrB,sCAAsC;IACtC,MAAM,cAAc,GAAG,qBAAa,CAAC,qBAAqB,CAAC,CAAC;IAC5D,IAAI,IAAA,+BAAS,EAAC,cAAc,CAAC,EAAE;QAC7B,OAAO,cAAc,CAAC;KACvB;IAED,MAAM,UAAU,GAAG,IAAI,wCAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAE7E,kDAAkD;IAClD,IAAI;QACF,MAAM,mBAAmB,GAAG,MAAM,UAAU,CAAC,sBAAsB,CACjE,qBAAqB,CACtB,CAAC;QACF,qBAAa,CAAC,qBAAqB,CAAC,GAAG,mBAAmB,CAAC;QAC3D,OAAO,mBAAmB,CAAC;KAC5B;IAAC,OAAO,GAAG,EAAE;QACZ,uCAAuC;KACxC;IAED,oCAAoC;IACpC,MAAM,UAAU,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC1D,MAAM,mBAAmB,GAAG,MAAM,UAAU,CAAC,sBAAsB,CACjE,qBAAqB,CACtB,CAAC;IACF,qBAAa,CAAC,qBAAqB,CAAC,GAAG,mBAAmB,CAAC;IAC3D,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC;AAEW,QAAA,gCAAgC,GAAmB;IAC9D,oBAAoB,EAApB,0CAAoB;IACpB,YAAY,EAAZ,oBAAY;CACb,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAC9B,eAAuB,EACvB,QAAkB,EAClB,EAAE;IACF,qBAAa,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC;AAC5C,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B;AAEK,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,KAAK,MAAM,GAAG,IAAI,qBAAa,EAAE;QAC/B,IAAI,IAAA,+BAAS,EAAC,qBAAa,CAAC,GAAG,CAAC,CAAC,EAAE;YACjC,OAAO,qBAAa,CAAC,GAAG,CAAC,CAAC;SAC3B;KACF;AACH,CAAC,CAAC;AANW,QAAA,kBAAkB,sBAM7B","sourcesContent":["import { ArtifactGetter, PublicInputsDop } from 'dop-engine-v5';\nimport {\n Artifact,\n assertArtifactExists,\n isDefined,\n} from 'dop-sharedmodels-v5';\nimport { ArtifactDownloader } from '../../artifacts/artifact-downloader';\nimport { ArtifactStore } from '../../artifacts/artifact-store';\nimport {\n getArtifactVariantString,\n} from '../../artifacts/artifact-util';\n\nlet artifactStore: ArtifactStore;\nlet useNativeArtifacts: boolean;\n\nexport const artifactCache: MapType<Artifact> = {};\n\nexport const setArtifactStore = (store: ArtifactStore) => {\n artifactStore = store;\n};\nexport const setUseNativeArtifacts = (useNative: boolean) => {\n useNativeArtifacts = useNative;\n};\n\nexport const getArtifacts = async (\n inputs: PublicInputsDop,\n): Promise<Artifact> => {\n const nullifiers = inputs.nullifiers.length;\n const commitments = inputs.commitmentsOut.length;\n console.log(\"nullifiers x commitments: \", nullifiers, commitments)\n assertArtifactExists(nullifiers, commitments);\n\n if (useNativeArtifacts) {\n if (commitments > 3) {\n // native-prover-small only has INPUTS (1-10) and OUTPUTS (1-3)\n throw new Error(\n `Native artifacts (small) only support up to 3 circuit outputs. Cannot get artifacts for circuit: ${nullifiers}x${commitments}.`,\n );\n }\n }\n\n const artifactVariantString = getArtifactVariantString(\n nullifiers,\n commitments,\n );\n\n return downloadAndCacheArtifact(artifactVariantString);\n};\n\nconst downloadAndCacheArtifact = async (\n artifactVariantString: string,\n): Promise<Artifact> => {\n // Use artifact in cache if available.\n const cachedArtifact = artifactCache[artifactVariantString];\n if (isDefined(cachedArtifact)) {\n return cachedArtifact;\n }\n\n const downloader = new ArtifactDownloader(artifactStore, useNativeArtifacts);\n\n // Try to pull previously downloaded from storage.\n try {\n const downloadedArtifacts = await downloader.getDownloadedArtifacts(\n artifactVariantString,\n );\n artifactCache[artifactVariantString] = downloadedArtifacts;\n return downloadedArtifacts;\n } catch (err) {\n // No op. Artifacts not yet downloaded.\n }\n\n // Download anew. Throws upon error.\n await downloader.downloadArtifacts(artifactVariantString);\n const downloadedArtifacts = await downloader.getDownloadedArtifacts(\n artifactVariantString,\n );\n artifactCache[artifactVariantString] = downloadedArtifacts;\n return downloadedArtifacts;\n};\n\nexport const artifactGetterDownloadJustInTime: ArtifactGetter = {\n assertArtifactExists,\n getArtifacts,\n};\n\nexport const overrideArtifact = (\n artifactVariant: string,\n artifact: Artifact,\n) => {\n artifactCache[artifactVariant] = artifact;\n};\n\nexport const clearArtifactCache = () => {\n for (const key in artifactCache) {\n if (isDefined(artifactCache[key])) {\n delete artifactCache[key];\n }\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypts.js","sourceRoot":"","sources":["../../../../src/services/dop/core/encrypts.ts"],"names":[],"mappings":";;;AAAA,6DAI6B;AAC7B,qCAAqC;AACrC,iDAAqD;AAY9C,MAAM,cAAc,GAAG,KAAK,EACjC,WAAwB,EACxB,aAAqB,EACG,EAAE;IAC1B,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC,GAAG,CAClD,oCAAoB,CAAC,GAAG,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAyB,EAC9C,WAAW,EACX,WAAW,EACX,aAAa,CACd,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CACH,CAAC;IACF,OAAO,0BAA0B,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB;AAEK,MAAM,yBAAyB,GAAG,KAAK,EAC5C,WAAwB,EACxB,WAAwB,EACxB,aAAqB,EACG,EAAE;IAC1B,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,oCAAc,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAC9D,WAAW,EACX,KAAK,EACL,aAAa,CACd,CAAC;IAEF,OAAO,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;QACzC,MAAM,WAAW,GAAgB;YAC/B,IAAI,EAAE,KAAK,UAAU,CAAC,IAAI,EAAE;YAC5B,cAAc,EAAE,KAAK,UAAU,CAAC,IAAI,EAAE;YACtC,GAAG,EAAE,KAAK,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;YACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;SACpC,CAAC;QACF,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAzBW,QAAA,yBAAyB,6BAyBpC","sourcesContent":["import {\n NETWORK_CONFIG,\n NetworkName,\n TXIDVersion,\n} from 'dop-sharedmodels-
|
|
1
|
+
{"version":3,"file":"encrypts.js","sourceRoot":"","sources":["../../../../src/services/dop/core/encrypts.ts"],"names":[],"mappings":";;;AAAA,6DAI6B;AAC7B,qCAAqC;AACrC,iDAAqD;AAY9C,MAAM,cAAc,GAAG,KAAK,EACjC,WAAwB,EACxB,aAAqB,EACG,EAAE;IAC1B,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC,GAAG,CAClD,oCAAoB,CAAC,GAAG,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAyB,EAC9C,WAAW,EACX,WAAW,EACX,aAAa,CACd,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CACH,CAAC;IACF,OAAO,0BAA0B,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB;AAEK,MAAM,yBAAyB,GAAG,KAAK,EAC5C,WAAwB,EACxB,WAAwB,EACxB,aAAqB,EACG,EAAE;IAC1B,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,oCAAc,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAC9D,WAAW,EACX,KAAK,EACL,aAAa,CACd,CAAC;IAEF,OAAO,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;QACzC,MAAM,WAAW,GAAgB;YAC/B,IAAI,EAAE,KAAK,UAAU,CAAC,IAAI,EAAE;YAC5B,cAAc,EAAE,KAAK,UAAU,CAAC,IAAI,EAAE;YACtC,GAAG,EAAE,KAAK,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;YACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;SACpC,CAAC;QACF,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAzBW,QAAA,yBAAyB,6BAyBpC","sourcesContent":["import {\n NETWORK_CONFIG,\n NetworkName,\n TXIDVersion,\n} from 'dop-sharedmodels-v5';\nimport { getEngine } from './engine';\nimport { ACTIVE_TXID_VERSIONS } from 'dop-engine-v5';\n\nexport type EncryptData = {\n txid: string;\n commitmentHash: string;\n npk: string;\n timestamp: Optional<number>;\n blockNumber: number;\n utxoTree: number;\n utxoIndex: number;\n};\n\nexport const getAllEncrypts = async (\n networkName: NetworkName,\n startingBlock: number,\n): Promise<EncryptData[]> => {\n const encryptsForEachTxidVersion = await Promise.all(\n ACTIVE_TXID_VERSIONS.map(async txidVersion => {\n const encrypts = await getEncryptsForTXIDVersion(\n txidVersion,\n networkName,\n startingBlock,\n );\n\n return encrypts;\n }),\n );\n return encryptsForEachTxidVersion.flat();\n};\n\nexport const getEncryptsForTXIDVersion = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n startingBlock: number,\n): Promise<EncryptData[]> => {\n const engine = getEngine();\n const { chain } = NETWORK_CONFIG[networkName];\n const encryptCommitments = await engine.getAllEncryptCommitments(\n txidVersion,\n chain,\n startingBlock,\n );\n\n return encryptCommitments.map(commitment => {\n const encryptData: EncryptData = {\n txid: `0x${commitment.txid}`,\n commitmentHash: `0x${commitment.hash}`,\n npk: `0x${commitment.preImage.npk}`,\n utxoTree: commitment.utxoTree,\n utxoIndex: commitment.utxoIndex,\n timestamp: commitment.timestamp,\n blockNumber: commitment.blockNumber,\n };\n return encryptData;\n });\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/services/dop/core/engine.ts"],"names":[],"mappings":";;;AACA,6DAAgD;AAEhD,IAAI,WAAgC,CAAC;AAE9B,MAAM,SAAS,GAAG,GAAc,EAAE;IACvC,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;KACpD;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB;AAEK,MAAM,SAAS,GAAG,GAAY,EAAE;IACrC,OAAO,IAAA,+BAAS,EAAC,WAAW,CAAC,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,SAAS,GAAG,CAAC,MAA2B,EAAE,EAAE;IACvD,WAAW,GAAG,MAAM,CAAC;AACvB,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB","sourcesContent":["import { DopEngine } from 'dop-engine-
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/services/dop/core/engine.ts"],"names":[],"mappings":";;;AACA,6DAAgD;AAEhD,IAAI,WAAgC,CAAC;AAE9B,MAAM,SAAS,GAAG,GAAc,EAAE;IACvC,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;KACpD;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB;AAEK,MAAM,SAAS,GAAG,GAAY,EAAE;IACrC,OAAO,IAAA,+BAAS,EAAC,WAAW,CAAC,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,SAAS,GAAG,CAAC,MAA2B,EAAE,EAAE;IACvD,WAAW,GAAG,MAAM,CAAC;AACvB,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB","sourcesContent":["import { DopEngine } from 'dop-engine-v5';\nimport { isDefined } from 'dop-sharedmodels-v5';\n\nlet savedEngine: Optional<DopEngine>;\n\nexport const getEngine = (): DopEngine => {\n if (!savedEngine) {\n throw new Error('DOP Engine not yet initialized.');\n }\n return savedEngine;\n};\n\nexport const hasEngine = (): boolean => {\n return isDefined(savedEngine);\n};\n\nexport const setEngine = (engine: Optional<DopEngine>) => {\n savedEngine = engine;\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AbstractLevelDOWN } from 'abstract-leveldown';
|
|
2
|
-
import { POIList, POIListType } from 'dop-engine-
|
|
3
|
-
import { MerkletreeScanUpdateEvent } from 'dop-sharedmodels-
|
|
2
|
+
import { POIList, POIListType } from 'dop-engine-v5';
|
|
3
|
+
import { MerkletreeScanUpdateEvent } from 'dop-sharedmodels-v5';
|
|
4
4
|
import { ArtifactStore } from '../../artifacts/artifact-store';
|
|
5
5
|
export type EngineDebugger = {
|
|
6
6
|
log: (msg: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/services/dop/core/init.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AbstractLevelDOWN } from 'abstract-leveldown';\nimport {\n DopEngine,\n EngineEvent,\n MerkletreeHistoryScanEventData,\n POIList,\n POIListType,\n UTXOScanDecryptBalancesCompleteEventData,\n AbstractWallet,\n POIMerklerootsValidator,\n} from 'dop-engine-
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/services/dop/core/init.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AbstractLevelDOWN } from 'abstract-leveldown';\nimport {\n DopEngine,\n EngineEvent,\n MerkletreeHistoryScanEventData,\n POIList,\n POIListType,\n UTXOScanDecryptBalancesCompleteEventData,\n AbstractWallet,\n POIMerklerootsValidator,\n} from 'dop-engine-v5';\nimport {\n MerkletreeScanUpdateEvent,\n isDefined,\n type Chain,\n} from 'dop-sharedmodels-v5';\nimport { sendErrorMessage, sendMessage } from '../../../utils/logger';\nimport {\n artifactGetterDownloadJustInTime,\n setArtifactStore,\n setUseNativeArtifacts,\n} from './artifacts';\nimport { ArtifactStore } from '../../artifacts/artifact-store';\nimport { reportAndSanitizeError } from '../../../utils/error';\nimport { quickSyncEventsGraph } from '../quick-sync/quick-sync-events';\nimport { quickSyncDopTransactionsV2 } from '../dop-txids/dop-txid-sync-graph-v2';\nimport { setEngine, getEngine, hasEngine } from './engine';\nimport { onBalancesUpdate } from '../wallets/balance-update';\n\nexport type EngineDebugger = {\n log: (msg: string) => void;\n error: (error: Error) => void;\n verboseScanLogging: boolean;\n};\n\nconst createEngineDebugger = (verboseScanLogging: boolean): EngineDebugger => {\n return {\n log: (msg: string) => sendMessage(msg),\n error: (error: Error) => sendErrorMessage(error),\n verboseScanLogging,\n };\n};\n\nexport const setOnUTXOMerkletreeScanCallback = (\n onUTXOMerkletreeScanCallback: (scanData: MerkletreeScanUpdateEvent) => void,\n) => {\n const engine = getEngine();\n engine.on(\n EngineEvent.UTXOMerkletreeHistoryScanUpdate,\n ({ chain, scanStatus, progress }: MerkletreeHistoryScanEventData) =>\n onUTXOMerkletreeScanCallback({\n scanStatus,\n chain,\n progress: progress ?? 0.0,\n }),\n );\n};\n\nexport const setOnTXIDMerkletreeScanCallback = (\n onTXIDMerkletreeScanCallback: (scanData: MerkletreeScanUpdateEvent) => void,\n) => {\n const engine = getEngine();\n engine.on(\n EngineEvent.TXIDMerkletreeHistoryScanUpdate,\n ({ chain, scanStatus, progress }: MerkletreeHistoryScanEventData) =>\n onTXIDMerkletreeScanCallback({\n scanStatus,\n chain,\n progress: progress ?? 0.0,\n }),\n );\n};\n\nconst setOnUTXOScanDecryptBalancesCompleteListener = () => {\n const engine = getEngine();\n engine.on(\n EngineEvent.UTXOScanDecryptBalancesComplete,\n ({\n txidVersion,\n chain,\n walletIdFilter,\n }: UTXOScanDecryptBalancesCompleteEventData) => {\n const updateWalletBalances = async () => {\n let walletsToUpdate: AbstractWallet[] = Object.values(engine.wallets);\n if (isDefined(walletIdFilter)) {\n walletsToUpdate = walletsToUpdate.filter(wallet =>\n walletIdFilter.includes(wallet.id),\n );\n }\n\n // await onBalancesUpdate calls for each wallet\n await Promise.all(\n walletsToUpdate.map(wallet =>\n onBalancesUpdate(txidVersion, wallet, chain),\n ),\n );\n\n // emit event to notify listeners that UTXOMerkletreeHistoryScan is complete\n engine.emitScanEventHistoryComplete(txidVersion, chain);\n };\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n updateWalletBalances();\n },\n );\n};\n\n/**\n *\n * @param walletSource - Name for your wallet implementation. Encrypted and viewable in private transaction history. Maximum of 16 characters, lowercase.\n * @param db - LevelDOWN compatible database for storing encrypted wallets.\n * @param shouldDebug - Whether to forward Engine debug logs to Logger.\n * @param artifactStore - Persistent store for downloading large artifact files. See Wallet SDK Developer Guide for platform implementations.\n * @param useNativeArtifacts - Whether to download native C++ or web-assembly artifacts. TRUE for mobile. FALSE for nodejs and browser.\n * @param skipMerkletreeScans - Whether to skip merkletree syncs and private balance scans. Only set to TRUE in encrypt-only applications that don't load private wallets or balances.\n * @param poiNodeURLs - List of POI aggregator node URLs, in order of priority.\n * @param customPOILists - POI lists to use for additional wallet protections after default lists.\n * @returns\n */\nexport const startDopEngine = async (\n walletSource: string,\n db: AbstractLevelDOWN,\n shouldDebug: boolean,\n artifactStore: ArtifactStore,\n useNativeArtifacts: boolean,\n skipMerkletreeScans: boolean,\n verboseScanLogging = false,\n): Promise<void> => {\n if (hasEngine()) {\n return;\n }\n try {\n setArtifactStore(artifactStore);\n setUseNativeArtifacts(useNativeArtifacts);\n\n const engine = await DopEngine.initForWallet(\n walletSource,\n db,\n artifactGetterDownloadJustInTime,\n quickSyncEventsGraph,\n quickSyncDopTransactionsV2,\n shouldDebug ? createEngineDebugger(verboseScanLogging) : undefined,\n skipMerkletreeScans,\n );\n setEngine(engine);\n\n setOnUTXOScanDecryptBalancesCompleteListener();\n } catch (err) {\n throw reportAndSanitizeError(startDopEngine.name, err);\n }\n};\n\nexport const stopDopEngine = async () => {\n if (!hasEngine()) {\n return;\n }\n await getEngine()?.unload();\n setEngine(undefined);\n};\n\nexport { POIList, POIListType };\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FallbackProviderJsonConfig, LoadProviderResponse, NetworkName } from 'dop-sharedmodels-
|
|
1
|
+
import { FallbackProviderJsonConfig, LoadProviderResponse, NetworkName } from 'dop-sharedmodels-v5';
|
|
2
2
|
/**
|
|
3
3
|
* Note: The first provider listed in your fallback provider config is used as a polling provider
|
|
4
4
|
* for new DOP events (balance updates).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-provider.js","sourceRoot":"","sources":["../../../../src/services/dop/core/load-provider.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Chain,\n FallbackProviderJsonConfig,\n LoadProviderResponse,\n NETWORK_CONFIG,\n NetworkName,\n TXIDVersion,\n createFallbackProviderFromJsonConfig,\n isDefined,\n} from 'dop-sharedmodels-v3';\nimport { sendMessage } from '../../../utils';\nimport { reportAndSanitizeError } from '../../../utils/error';\nimport { getEngine } from './engine';\nimport {\n PollingJsonRpcProvider,\n DopVersionedSmartContracts,\n createPollingJsonRpcProviderForListeners,\n} from 'dop-engine-v3';\nimport { FallbackProvider } from 'ethers'\nimport {\n fallbackProviderMap,\n pollingProviderMap,\n setFallbackProviderForNetwork,\n setPollingProviderForNetwork,\n} from './providers';\n\nconst createFallbackProviderForNetwork = async (\n networkName: NetworkName,\n fallbackProviderJsonConfig: FallbackProviderJsonConfig,\n): Promise<FallbackProvider> => {\n const existingProvider = fallbackProviderMap[networkName];\n if (existingProvider) {\n return existingProvider;\n }\n const fallbackProvider = createFallbackProviderFromJsonConfig(\n fallbackProviderJsonConfig,\n );\n setFallbackProviderForNetwork(networkName, fallbackProvider);\n return fallbackProvider;\n};\n\nconst createPollingProviderForNetwork = async (\n networkName: NetworkName,\n fallbackProvider: FallbackProvider,\n pollingInterval: number,\n): Promise<PollingJsonRpcProvider> => {\n const existingProvider = pollingProviderMap[networkName];\n if (existingProvider) {\n return existingProvider;\n }\n const network = NETWORK_CONFIG[networkName];\n if (!isDefined(network)) {\n throw new Error('No network found');\n }\n const pollingProvider = await createPollingJsonRpcProviderForListeners(\n fallbackProvider,\n network.chain.id,\n pollingInterval,\n );\n setPollingProviderForNetwork(networkName, pollingProvider);\n return pollingProvider;\n};\n\nconst loadProviderForNetwork = async (\n chain: Chain,\n networkName: NetworkName,\n fallbackProviderJsonConfig: FallbackProviderJsonConfig,\n pollingInterval: number,\n) => {\n sendMessage(`Load provider for network: ${networkName}`);\n\n const fallbackProvider = await createFallbackProviderForNetwork(\n networkName,\n fallbackProviderJsonConfig,\n );\n const pollingProvider = await createPollingProviderForNetwork(\n networkName,\n fallbackProvider,\n pollingInterval\n );\n\n const network = NETWORK_CONFIG[networkName];\n const {\n proxyContract,\n relayAdaptContract,\n poseidonMerkleAccumulatorV3Contract,\n poseidonMerkleVerifierV3Contract,\n tokenVaultV3Contract,\n deploymentBlockPoseidonMerkleAccumulatorV3,\n deploymentBlock,\n publicName,\n supportsV3,\n } = network;\n if (!proxyContract) {\n throw new Error(`Could not find Proxy contract for network: ${publicName}`);\n }\n if (!relayAdaptContract) {\n throw new Error(\n `Could not find Relay Adapt contract for network: ${publicName}`,\n );\n }\n\n const engine = getEngine();\n\n const deploymentBlocks: Record<TXIDVersion, number> = {\n [TXIDVersion.V2_PoseidonMerkle]: deploymentBlock ?? 0,\n [TXIDVersion.V3_PoseidonMerkle]:\n deploymentBlockPoseidonMerkleAccumulatorV3 ?? 0,\n };\n\n // This function will set up the contracts for this chain.\n // Throws if provider does not respond.\n await engine.loadNetwork(\n chain,\n proxyContract,\n relayAdaptContract,\n poseidonMerkleAccumulatorV3Contract,\n poseidonMerkleVerifierV3Contract,\n tokenVaultV3Contract,\n fallbackProvider,\n pollingProvider,\n deploymentBlocks,\n supportsV3,\n );\n};\n\n/**\n * Note: The first provider listed in your fallback provider config is used as a polling provider\n * for new DOP events (balance updates).\n */\nexport const loadProvider = async (\n fallbackProviderJsonConfig: FallbackProviderJsonConfig,\n networkName: NetworkName,\n pollingInterval = 15000,\n): Promise<LoadProviderResponse> => {\n try {\n delete fallbackProviderMap[networkName];\n\n const { chain, supportsV3 } = NETWORK_CONFIG[networkName];\n if (fallbackProviderJsonConfig.chainId !== chain.id) {\n throw new Error('Invalid chain ID');\n }\n\n\n await loadProviderForNetwork(\n chain,\n networkName,\n fallbackProviderJsonConfig,\n pollingInterval,\n );\n\n // const { encrypt: encryptFeeV2, Decrypt: DecryptFeeV2 } =\n // await DopVersionedSmartContracts.fees(\n // TXIDVersion.V2_PoseidonMerkle,\n // chain,\n // );\n\n const encrypt = 25;\n const decrypt = 25;\n\n\n if (supportsV3) {\n // const { encrypt: encryptFeeV3, Decrypt: DecryptFeeV3 } =\n // await DopVersionedSmartContracts.fees(\n // TXIDVersion.V3_PoseidonMerkle,\n // chain,\n // );\n\n const feesSerialized = {\n encryptFeeV2: \"10\",\n decryptFeeV2: \"10\",\n encryptFeeV3: \"10\",\n decryptFeeV3: \"10\",\n };\n\n return { feesSerialized };\n }\n\n // Note: Encrypt and Decrypt fees are in basis points.\n // NFT fee is in wei (though currently 0).\n const feesSerialized = {\n encryptFeeV2: \"10\",\n decryptFeeV2: \"10\",\n encryptFeeV3: undefined,\n decryptFeeV3: undefined,\n };\n\n return { feesSerialized };\n } catch (err) {\n throw reportAndSanitizeError(loadProvider.name, err);\n }\n};\n\nexport const unloadProvider = async (\n networkName: NetworkName,\n): Promise<void> => {\n await fallbackProviderMap[networkName]?.destroy();\n pollingProviderMap[networkName]?.destroy();\n delete fallbackProviderMap[networkName];\n delete pollingProviderMap[networkName];\n};\n\nexport const pauseAllPollingProviders = (\n excludeNetworkName?: NetworkName,\n): void => {\n Object.keys(pollingProviderMap).forEach(networkName => {\n if (networkName === excludeNetworkName) {\n return;\n }\n const pollingProvider = pollingProviderMap[networkName];\n if (isDefined(pollingProvider) && !pollingProvider.paused) {\n pollingProvider.pause();\n }\n });\n};\n\nexport const resumeIsolatedPollingProviderForNetwork = (\n networkName: NetworkName,\n): void => {\n pauseAllPollingProviders(\n networkName, // excludeNetworkName\n );\n const pollingProviderForNetwork = pollingProviderMap[networkName];\n if (\n isDefined(pollingProviderForNetwork) &&\n pollingProviderForNetwork.paused\n ) {\n pollingProviderForNetwork.resume();\n }\n};\n"]}
|
|
1
|
+
{"version":3,"file":"load-provider.js","sourceRoot":"","sources":["../../../../src/services/dop/core/load-provider.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Chain,\n FallbackProviderJsonConfig,\n LoadProviderResponse,\n NETWORK_CONFIG,\n NetworkName,\n TXIDVersion,\n createFallbackProviderFromJsonConfig,\n isDefined,\n} from 'dop-sharedmodels-v5';\nimport { sendMessage } from '../../../utils';\nimport { reportAndSanitizeError } from '../../../utils/error';\nimport { getEngine } from './engine';\nimport {\n PollingJsonRpcProvider,\n DopVersionedSmartContracts,\n createPollingJsonRpcProviderForListeners,\n} from 'dop-engine-v5';\nimport { FallbackProvider } from 'ethers'\nimport {\n fallbackProviderMap,\n pollingProviderMap,\n setFallbackProviderForNetwork,\n setPollingProviderForNetwork,\n} from './providers';\n\nconst createFallbackProviderForNetwork = async (\n networkName: NetworkName,\n fallbackProviderJsonConfig: FallbackProviderJsonConfig,\n): Promise<FallbackProvider> => {\n const existingProvider = fallbackProviderMap[networkName];\n if (existingProvider) {\n return existingProvider;\n }\n const fallbackProvider = createFallbackProviderFromJsonConfig(\n fallbackProviderJsonConfig,\n );\n setFallbackProviderForNetwork(networkName, fallbackProvider);\n return fallbackProvider;\n};\n\nconst createPollingProviderForNetwork = async (\n networkName: NetworkName,\n fallbackProvider: FallbackProvider,\n pollingInterval: number,\n): Promise<PollingJsonRpcProvider> => {\n const existingProvider = pollingProviderMap[networkName];\n if (existingProvider) {\n return existingProvider;\n }\n const network = NETWORK_CONFIG[networkName];\n if (!isDefined(network)) {\n throw new Error('No network found');\n }\n const pollingProvider = await createPollingJsonRpcProviderForListeners(\n fallbackProvider,\n network.chain.id,\n pollingInterval,\n );\n setPollingProviderForNetwork(networkName, pollingProvider);\n return pollingProvider;\n};\n\nconst loadProviderForNetwork = async (\n chain: Chain,\n networkName: NetworkName,\n fallbackProviderJsonConfig: FallbackProviderJsonConfig,\n pollingInterval: number,\n) => {\n sendMessage(`Load provider for network: ${networkName}`);\n\n const fallbackProvider = await createFallbackProviderForNetwork(\n networkName,\n fallbackProviderJsonConfig,\n );\n const pollingProvider = await createPollingProviderForNetwork(\n networkName,\n fallbackProvider,\n pollingInterval\n );\n\n const network = NETWORK_CONFIG[networkName];\n const {\n proxyContract,\n relayAdaptContract,\n poseidonMerkleAccumulatorV3Contract,\n poseidonMerkleVerifierV3Contract,\n tokenVaultV3Contract,\n deploymentBlockPoseidonMerkleAccumulatorV3,\n deploymentBlock,\n publicName,\n supportsV3,\n } = network;\n if (!proxyContract) {\n throw new Error(`Could not find Proxy contract for network: ${publicName}`);\n }\n if (!relayAdaptContract) {\n throw new Error(\n `Could not find Relay Adapt contract for network: ${publicName}`,\n );\n }\n\n const engine = getEngine();\n\n const deploymentBlocks: Record<TXIDVersion, number> = {\n [TXIDVersion.V2_PoseidonMerkle]: deploymentBlock ?? 0,\n [TXIDVersion.V3_PoseidonMerkle]:\n deploymentBlockPoseidonMerkleAccumulatorV3 ?? 0,\n };\n\n // This function will set up the contracts for this chain.\n // Throws if provider does not respond.\n await engine.loadNetwork(\n chain,\n proxyContract,\n relayAdaptContract,\n poseidonMerkleAccumulatorV3Contract,\n poseidonMerkleVerifierV3Contract,\n tokenVaultV3Contract,\n fallbackProvider,\n pollingProvider,\n deploymentBlocks,\n supportsV3,\n );\n};\n\n/**\n * Note: The first provider listed in your fallback provider config is used as a polling provider\n * for new DOP events (balance updates).\n */\nexport const loadProvider = async (\n fallbackProviderJsonConfig: FallbackProviderJsonConfig,\n networkName: NetworkName,\n pollingInterval = 15000,\n): Promise<LoadProviderResponse> => {\n try {\n delete fallbackProviderMap[networkName];\n\n const { chain, supportsV3 } = NETWORK_CONFIG[networkName];\n if (fallbackProviderJsonConfig.chainId !== chain.id) {\n throw new Error('Invalid chain ID');\n }\n\n\n await loadProviderForNetwork(\n chain,\n networkName,\n fallbackProviderJsonConfig,\n pollingInterval,\n );\n\n // const { encrypt: encryptFeeV2, Decrypt: DecryptFeeV2 } =\n // await DopVersionedSmartContracts.fees(\n // TXIDVersion.V2_PoseidonMerkle,\n // chain,\n // );\n\n const encrypt = 25;\n const decrypt = 25;\n\n\n if (supportsV3) {\n // const { encrypt: encryptFeeV3, Decrypt: DecryptFeeV3 } =\n // await DopVersionedSmartContracts.fees(\n // TXIDVersion.V3_PoseidonMerkle,\n // chain,\n // );\n\n const feesSerialized = {\n encryptFeeV2: \"10\",\n decryptFeeV2: \"10\",\n encryptFeeV3: \"10\",\n decryptFeeV3: \"10\",\n };\n\n return { feesSerialized };\n }\n\n // Note: Encrypt and Decrypt fees are in basis points.\n // NFT fee is in wei (though currently 0).\n const feesSerialized = {\n encryptFeeV2: \"10\",\n decryptFeeV2: \"10\",\n encryptFeeV3: undefined,\n decryptFeeV3: undefined,\n };\n\n return { feesSerialized };\n } catch (err) {\n throw reportAndSanitizeError(loadProvider.name, err);\n }\n};\n\nexport const unloadProvider = async (\n networkName: NetworkName,\n): Promise<void> => {\n await fallbackProviderMap[networkName]?.destroy();\n pollingProviderMap[networkName]?.destroy();\n delete fallbackProviderMap[networkName];\n delete pollingProviderMap[networkName];\n};\n\nexport const pauseAllPollingProviders = (\n excludeNetworkName?: NetworkName,\n): void => {\n Object.keys(pollingProviderMap).forEach(networkName => {\n if (networkName === excludeNetworkName) {\n return;\n }\n const pollingProvider = pollingProviderMap[networkName];\n if (isDefined(pollingProvider) && !pollingProvider.paused) {\n pollingProvider.pause();\n }\n });\n};\n\nexport const resumeIsolatedPollingProviderForNetwork = (\n networkName: NetworkName,\n): void => {\n pauseAllPollingProviders(\n networkName, // excludeNetworkName\n );\n const pollingProviderForNetwork = pollingProviderMap[networkName];\n if (\n isDefined(pollingProviderForNetwork) &&\n pollingProviderForNetwork.paused\n ) {\n pollingProviderForNetwork.resume();\n }\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { NetworkName, TXIDVersion } from 'dop-sharedmodels-
|
|
2
|
-
import { NFTTokenData, TXO, TokenData } from 'dop-engine-
|
|
1
|
+
import { NetworkName, TXIDVersion } from 'dop-sharedmodels-v5';
|
|
2
|
+
import { NFTTokenData, TXO, TokenData } from 'dop-engine-v5';
|
|
3
3
|
export declare const getUTXOMerkletreeForNetwork: (txidVersion: TXIDVersion, networkName: NetworkName) => import("dop-engine-v3/dist/merkletree/utxo-merkletree").UTXOMerkletree;
|
|
4
4
|
export declare const getTXIDMerkletreeForNetwork: (txidVersion: TXIDVersion, networkName: NetworkName) => import("dop-engine-v3/dist/merkletree/txid-merkletree").TXIDMerkletree;
|
|
5
5
|
export declare const getSpendableUTXOsForToken: (txidVersion: TXIDVersion, networkName: NetworkName, walletID: string, tokenData: TokenData) => Promise<Optional<TXO[]>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merkletree.js","sourceRoot":"","sources":["../../../../src/services/dop/core/merkletree.ts"],"names":[],"mappings":";;;AAAA,6DAK6B;AAC7B,iDAKuB;AACvB,qCAAqC;AACrC,gDAAiD;AAE1C,MAAM,2BAA2B,GAAG,CACzC,WAAwB,EACxB,WAAwB,EACxB,EAAE;IACF,MAAM,OAAO,GAAG,oCAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,cAAc,GAAG,IAAA,kBAAS,GAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACzE,IAAI,CAAC,IAAA,+BAAS,EAAC,cAAc,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CACb,yCAAyC,OAAO,CAAC,UAAU,EAAE,CAC9D,CAAC;KACH;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAbW,QAAA,2BAA2B,+BAatC;AAEK,MAAM,2BAA2B,GAAG,CACzC,WAAwB,EACxB,WAAwB,EACxB,EAAE;IACF,MAAM,OAAO,GAAG,oCAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,cAAc,GAAG,IAAA,kBAAS,GAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACzE,IAAI,CAAC,IAAA,+BAAS,EAAC,cAAc,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CACb,yCAAyC,OAAO,CAAC,UAAU,EAAE,CAC9D,CAAC;KACH;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAbW,QAAA,2BAA2B,+BAatC;AAEK,MAAM,yBAAyB,GAAG,KAAK,EAC5C,WAAwB,EACxB,WAAwB,EACxB,QAAgB,EAChB,SAAoB,EACM,EAAE;IAC5B,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,oCAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;IAChD,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAC5C,WAAW,EACX,KAAK,EACL,aAAa,CACd,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,gCAAgB,EAAC,SAAS,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;AACpC,CAAC,CAAC;AAhBW,QAAA,yBAAyB,6BAgBpC;AAEK,MAAM,uBAAuB,GAAG,KAAK,EAC1C,WAAwB,EACxB,WAAwB,EACxB,QAAgB,EAChB,YAA0B,EAC1B,EAAE;IACF,MAAM,KAAK,GAAG,MAAM,IAAA,iCAAyB,EAC3C,WAAW,EACX,WAAW,EACX,QAAQ,EACR,YAAY,CACb,CAAC;IACF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,IAAA,mCAA2B,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7E,OAAO,cAAc,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC,CAAC;AAtBW,QAAA,uBAAuB,2BAsBlC","sourcesContent":["import {\n NETWORK_CONFIG,\n NetworkName,\n TXIDVersion,\n isDefined,\n} from 'dop-sharedmodels-
|
|
1
|
+
{"version":3,"file":"merkletree.js","sourceRoot":"","sources":["../../../../src/services/dop/core/merkletree.ts"],"names":[],"mappings":";;;AAAA,6DAK6B;AAC7B,iDAKuB;AACvB,qCAAqC;AACrC,gDAAiD;AAE1C,MAAM,2BAA2B,GAAG,CACzC,WAAwB,EACxB,WAAwB,EACxB,EAAE;IACF,MAAM,OAAO,GAAG,oCAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,cAAc,GAAG,IAAA,kBAAS,GAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACzE,IAAI,CAAC,IAAA,+BAAS,EAAC,cAAc,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CACb,yCAAyC,OAAO,CAAC,UAAU,EAAE,CAC9D,CAAC;KACH;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAbW,QAAA,2BAA2B,+BAatC;AAEK,MAAM,2BAA2B,GAAG,CACzC,WAAwB,EACxB,WAAwB,EACxB,EAAE;IACF,MAAM,OAAO,GAAG,oCAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,cAAc,GAAG,IAAA,kBAAS,GAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACzE,IAAI,CAAC,IAAA,+BAAS,EAAC,cAAc,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CACb,yCAAyC,OAAO,CAAC,UAAU,EAAE,CAC9D,CAAC;KACH;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAbW,QAAA,2BAA2B,+BAatC;AAEK,MAAM,yBAAyB,GAAG,KAAK,EAC5C,WAAwB,EACxB,WAAwB,EACxB,QAAgB,EAChB,SAAoB,EACM,EAAE;IAC5B,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,oCAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;IAChD,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAC5C,WAAW,EACX,KAAK,EACL,aAAa,CACd,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,gCAAgB,EAAC,SAAS,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;AACpC,CAAC,CAAC;AAhBW,QAAA,yBAAyB,6BAgBpC;AAEK,MAAM,uBAAuB,GAAG,KAAK,EAC1C,WAAwB,EACxB,WAAwB,EACxB,QAAgB,EAChB,YAA0B,EAC1B,EAAE;IACF,MAAM,KAAK,GAAG,MAAM,IAAA,iCAAyB,EAC3C,WAAW,EACX,WAAW,EACX,QAAQ,EACR,YAAY,CACb,CAAC;IACF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,IAAA,mCAA2B,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7E,OAAO,cAAc,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC,CAAC;AAtBW,QAAA,uBAAuB,2BAsBlC","sourcesContent":["import {\n NETWORK_CONFIG,\n NetworkName,\n TXIDVersion,\n isDefined,\n} from 'dop-sharedmodels-v5';\nimport {\n NFTTokenData,\n TXO,\n TokenData,\n getTokenDataHash,\n} from 'dop-engine-v5';\nimport { getEngine } from './engine';\nimport { walletForID } from '../wallets/wallets';\n\nexport const getUTXOMerkletreeForNetwork = (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n) => {\n const network = NETWORK_CONFIG[networkName];\n const { chain } = network;\n const utxoMerkletree = getEngine().getUTXOMerkletree(txidVersion, chain);\n if (!isDefined(utxoMerkletree)) {\n throw new Error(\n `MerkleTree not yet loaded for network ${network.publicName}`,\n );\n }\n return utxoMerkletree;\n};\n\nexport const getTXIDMerkletreeForNetwork = (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n) => {\n const network = NETWORK_CONFIG[networkName];\n const { chain } = network;\n const txidMerkletree = getEngine().getTXIDMerkletree(txidVersion, chain);\n if (!isDefined(txidMerkletree)) {\n throw new Error(\n `MerkleTree not yet loaded for network ${network.publicName}`,\n );\n }\n return txidMerkletree;\n};\n\nexport const getSpendableUTXOsForToken = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n walletID: string,\n tokenData: TokenData,\n): Promise<Optional<TXO[]>> => {\n const wallet = walletForID(walletID);\n const chain = NETWORK_CONFIG[networkName].chain;\n const onlySpendable = true;\n const balances = await wallet.getTokenBalances(\n txidVersion,\n chain,\n onlySpendable,\n );\n const tokenHash = getTokenDataHash(tokenData);\n return balances[tokenHash]?.utxos;\n};\n\nexport const getMerkleProofForERC721 = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n walletID: string,\n nftTokenData: NFTTokenData,\n) => {\n const utxos = await getSpendableUTXOsForToken(\n txidVersion,\n networkName,\n walletID,\n nftTokenData,\n );\n if (!utxos || !utxos.length) {\n throw new Error('No spendable UTXOs found for NFT');\n }\n if (utxos.length !== 1) {\n throw new Error('Expected 1 UTXO for NFT');\n }\n\n const { tree, position } = utxos[0];\n const utxoMerkletree = getUTXOMerkletreeForNetwork(txidVersion, networkName);\n return utxoMerkletree.getMerkleProof(tree, position);\n};\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { FormattedCircuitInputsDop, SnarkJSGroth16, Proof, Prover } from 'dop-engine-
|
|
1
|
+
import { FormattedCircuitInputsDop, SnarkJSGroth16, Proof, Prover } from 'dop-engine-v5';
|
|
2
2
|
export declare const getProver: () => Prover;
|
|
3
3
|
export { FormattedCircuitInputsDop, Proof, SnarkJSGroth16 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prover.js","sourceRoot":"","sources":["../../../../src/services/dop/core/prover.ts"],"names":[],"mappings":";;;AAMA,qCAAqC;AACrC,6DAAgD;AAEzC,MAAM,SAAS,GAAG,GAAW,EAAE;IACpC,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,IAAI,CAAC,IAAA,+BAAS,EAAC,MAAM,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;KACH;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC,CAAC;AARW,QAAA,SAAS,aAQpB","sourcesContent":["import {\n FormattedCircuitInputsDop,\n SnarkJSGroth16,\n Proof,\n Prover,\n} from 'dop-engine-
|
|
1
|
+
{"version":3,"file":"prover.js","sourceRoot":"","sources":["../../../../src/services/dop/core/prover.ts"],"names":[],"mappings":";;;AAMA,qCAAqC;AACrC,6DAAgD;AAEzC,MAAM,SAAS,GAAG,GAAW,EAAE;IACpC,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,IAAI,CAAC,IAAA,+BAAS,EAAC,MAAM,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;KACH;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC,CAAC;AARW,QAAA,SAAS,aAQpB","sourcesContent":["import {\n FormattedCircuitInputsDop,\n SnarkJSGroth16,\n Proof,\n Prover,\n} from 'dop-engine-v5';\nimport { getEngine } from './engine';\nimport { isDefined } from 'dop-sharedmodels-v5';\n\nexport const getProver = (): Prover => {\n const engine = getEngine();\n if (!isDefined(engine)) {\n throw new Error(\n 'DOP Engine not yet init. Please reload your app or try again.',\n );\n }\n return engine.prover;\n};\n\nexport { FormattedCircuitInputsDop, Proof, SnarkJSGroth16 };\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { NetworkName } from 'dop-sharedmodels-
|
|
2
|
-
import { PollingJsonRpcProvider } from 'dop-engine-
|
|
1
|
+
import { NetworkName } from 'dop-sharedmodels-v5';
|
|
2
|
+
import { PollingJsonRpcProvider } from 'dop-engine-v5';
|
|
3
3
|
import { FallbackProvider } from 'ethers';
|
|
4
4
|
export declare const fallbackProviderMap: MapType<FallbackProvider>;
|
|
5
5
|
export declare const pollingProviderMap: MapType<PollingJsonRpcProvider>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../../src/services/dop/core/providers.ts"],"names":[],"mappings":";;;AAAA,6DAA6D;AAIhD,QAAA,mBAAmB,GAA8B,EAAE,CAAC;AACpD,QAAA,kBAAkB,GAAoC,EAAE,CAAC;AAE/D,MAAM,6BAA6B,GAAG,CAC3C,WAAwB,EACN,EAAE;IACpB,MAAM,QAAQ,GAAG,2BAAmB,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC,IAAA,+BAAS,EAAC,QAAQ,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC;KACvE;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AARW,QAAA,6BAA6B,iCAQxC;AAEK,MAAM,4BAA4B,GAAG,CAC1C,WAAwB,EACA,EAAE;IAC1B,MAAM,QAAQ,GAAG,0BAAkB,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,IAAA,+BAAS,EAAC,QAAQ,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,+CAA+C,WAAW,EAAE,CAC7D,CAAC;KACH;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAVW,QAAA,4BAA4B,gCAUvC;AAEK,MAAM,6BAA6B,GAAG,CAC3C,WAAwB,EACxB,QAA0B,EACpB,EAAE;IACR,2BAAmB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;AAC9C,CAAC,CAAC;AALW,QAAA,6BAA6B,iCAKxC;AAEK,MAAM,4BAA4B,GAAG,CAC1C,WAAwB,EACxB,QAAgC,EAC1B,EAAE;IACR,0BAAkB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;AAC7C,CAAC,CAAC;AALW,QAAA,4BAA4B,gCAKvC","sourcesContent":["import { NetworkName, isDefined } from 'dop-sharedmodels-
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../../src/services/dop/core/providers.ts"],"names":[],"mappings":";;;AAAA,6DAA6D;AAIhD,QAAA,mBAAmB,GAA8B,EAAE,CAAC;AACpD,QAAA,kBAAkB,GAAoC,EAAE,CAAC;AAE/D,MAAM,6BAA6B,GAAG,CAC3C,WAAwB,EACN,EAAE;IACpB,MAAM,QAAQ,GAAG,2BAAmB,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC,IAAA,+BAAS,EAAC,QAAQ,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC;KACvE;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AARW,QAAA,6BAA6B,iCAQxC;AAEK,MAAM,4BAA4B,GAAG,CAC1C,WAAwB,EACA,EAAE;IAC1B,MAAM,QAAQ,GAAG,0BAAkB,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,IAAA,+BAAS,EAAC,QAAQ,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,+CAA+C,WAAW,EAAE,CAC7D,CAAC;KACH;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAVW,QAAA,4BAA4B,gCAUvC;AAEK,MAAM,6BAA6B,GAAG,CAC3C,WAAwB,EACxB,QAA0B,EACpB,EAAE;IACR,2BAAmB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;AAC9C,CAAC,CAAC;AALW,QAAA,6BAA6B,iCAKxC;AAEK,MAAM,4BAA4B,GAAG,CAC1C,WAAwB,EACxB,QAAgC,EAC1B,EAAE;IACR,0BAAkB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;AAC7C,CAAC,CAAC;AALW,QAAA,4BAA4B,gCAKvC","sourcesContent":["import { NetworkName, isDefined } from 'dop-sharedmodels-v5';\nimport { PollingJsonRpcProvider } from 'dop-engine-v5';\nimport { FallbackProvider } from 'ethers';\n\nexport const fallbackProviderMap: MapType<FallbackProvider> = {};\nexport const pollingProviderMap: MapType<PollingJsonRpcProvider> = {};\n\nexport const getFallbackProviderForNetwork = (\n networkName: NetworkName,\n): FallbackProvider => {\n const provider = fallbackProviderMap[networkName];\n if (!isDefined(provider)) {\n throw new Error(`Provider not yet loaded for network ${networkName}`);\n }\n return provider;\n};\n\nexport const getPollingProviderForNetwork = (\n networkName: NetworkName,\n): PollingJsonRpcProvider => {\n const provider = pollingProviderMap[networkName];\n if (!isDefined(provider)) {\n throw new Error(\n `Polling provider not yet loaded for network ${networkName}`,\n );\n }\n return provider;\n};\n\nexport const setFallbackProviderForNetwork = (\n networkName: NetworkName,\n provider: FallbackProvider,\n): void => {\n fallbackProviderMap[networkName] = provider;\n};\n\nexport const setPollingProviderForNetwork = (\n networkName: NetworkName,\n provider: PollingJsonRpcProvider,\n): void => {\n pollingProviderMap[networkName] = provider;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dop-txid-sync-graph-v2.test.js","sourceRoot":"","sources":["../../../../../src/services/dop/dop-txids/__tests__/dop-txid-sync-graph-v2.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { DopTransactionV2 } from 'dop-engine-v3';\nimport { NetworkName, NETWORK_CONFIG } from 'dop-sharedmodels-v3';\nimport chai from 'chai';\nimport chaiAsPromised from 'chai-as-promised';\nimport {\n getDopTxidsForDecrypts,\n quickSyncDopTransactionsV2,\n} from '../dop-txid-sync-graph-v2';\n\nchai.use(chaiAsPromised);\nconst { expect } = chai;\n\ndescribe('dop-txid-sync-graph', () => {\n it('Should pull dop txs subsquid query - Ethereum', async () => {\n const dopTxs: DopTransactionV2[] =\n await quickSyncDopTransactionsV2(\n NETWORK_CONFIG[NetworkName.Ethereum].chain,\n undefined,\n );\n\n expect(dopTxs).to.be.an('array');\n expect(dopTxs.length).to.equal(5000);\n\n expect(dopTxs[0].commitments).to.deep.equal([\n '0x1afd01a29faf22dcc5678694092a08d38de99fc97d07b9281fa66f956ce43579',\n '0x2ffc716d8ae767995961bbde4a208dbae438783065bbd200f51a8d4e97cc2289',\n '0x078f9824c86b2488714eb76dc15199c3fa21903517d5f3e19ab2035d264400b6',\n ]);\n expect(dopTxs[0].nullifiers).to.deep.equal([\n '0x1e52cee52f67c37a468458671cddde6b56390dcbdc4cf3b770badc0e78d66401',\n '0x0ac9f5ab5bcb5a115a3efdd0475f6c22dc6a6841caf35a52ecf86a802bfce8ee',\n ]);\n expect(dopTxs[0].graphID).to.equal(\n '0x0000000000000000000000000000000000000000000000000000000000e1285000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000000',\n );\n expect(dopTxs[0].boundParamsHash).to.equal(\n '0x2c72a0bcce4f1169dd988204775483938ded5f5899cec84829b1cc667a683784',\n );\n expect(dopTxs[0].txid).to.equal(\n 'f07a9a458f57f1cc9cc2e5a627c3ef611a18b77e10c2bfc133fceca7743f8d0c',\n );\n expect(dopTxs[0].utxoTreeIn).to.equal(0);\n expect(dopTxs[0].utxoTreeOut).to.equal(0);\n expect(dopTxs[0].utxoBatchStartPositionOut).to.equal(2);\n expect(dopTxs[0].decrypt).to.equal(undefined);\n expect(dopTxs[0].blockNumber).to.equal(14755920);\n expect(dopTxs[0].verificationHash).to.equal(\n '0x099cd3ebcadaf6ff470d16bc0186fb5f26cd4103e9970effc9b6679478e11c72',\n );\n }).timeout(20_000);\n\n it('Should pull decrypt dop txids - Ethereum', async () => {\n const decryptDopTxids: string[] = await getDopTxidsForDecrypts(\n NETWORK_CONFIG[NetworkName.Ethereum].chain,\n '0x0b3b7179df1377c0a13058508e7dff2dbe8f73c39d68f569bc90b1c8b277082e',\n );\n\n expect(decryptDopTxids).to.deep.equal([\n '065bcb1a9d4cfa110f05b480f79f27fe2ad672868d3d1bdec05df2ddaec8333d',\n ]);\n }).timeout(20000);\n\n it('Should pull dop txs subsquid query - Polygon', async () => {\n const dopTxs: DopTransactionV2[] =\n await quickSyncDopTransactionsV2(\n NETWORK_CONFIG[NetworkName.Polygon].chain,\n undefined,\n );\n\n expect(dopTxs).to.be.an('array');\n expect(dopTxs.length).to.equal(5000);\n\n expect(dopTxs[0].commitments).to.deep.equal([\n '0x06c764e6221b61792530c5d6d33710b9cd4c4d4f734265a4e9070cf081436079',\n '0x140459c3519d73d56d292fd6d51292980f640623f008a4df063d387a819a7451',\n '0x23303173569d99ffd5799f526bd53cb81073e2d6e9ff8f4b07bed8d948722673',\n ]);\n expect(dopTxs[0].nullifiers).to.deep.equal([\n '0x1e52cee52f67c37a468458671cddde6b56390dcbdc4cf3b770badc0e78d66401',\n ]);\n expect(dopTxs[0].graphID).to.equal(\n '0x0000000000000000000000000000000000000000000000000000000001ae397e00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000',\n );\n expect(dopTxs[0].boundParamsHash).to.equal(\n '0x251fcceba8b19129e88aff1e5214ad6f2a807e4a095075e55873aa59416111a2',\n );\n expect(dopTxs[0].txid).to.equal(\n '65df130da6a571fbcceb8538400f37bcaa4fe508caec7ab05f3b438f303bfe31',\n );\n expect(dopTxs[0].utxoTreeIn).to.equal(0);\n expect(dopTxs[0].utxoTreeOut).to.equal(0);\n expect(dopTxs[0].utxoBatchStartPositionOut).to.equal(2);\n expect(dopTxs[0].decrypt).to.equal(undefined);\n expect(dopTxs[0].blockNumber).to.equal(28195198);\n expect(dopTxs[0].verificationHash).to.equal(\n '0x099cd3ebcadaf6ff470d16bc0186fb5f26cd4103e9970effc9b6679478e11c72',\n );\n }).timeout(20_000);\n\n it('Should pull decrypt dop txids - Polygon', async () => {\n const decryptDopTxids: string[] = await getDopTxidsForDecrypts(\n NETWORK_CONFIG[NetworkName.Polygon].chain,\n '0x7310a30b3a0dcec299917d5cd7ef2feab8c0507c41ec17649f38a21b4093dc32',\n );\n\n expect(decryptDopTxids).to.deep.equal([\n '113827d5fea4ebacffc3ab7289e6185d328c51c5f59ecbcd874d8f73e5638e27',\n ]);\n }).timeout(20000);\n\n it('Should pull dop txs subsquid query - Arbitrum', async () => {\n const dopTxs: DopTransactionV2[] =\n await quickSyncDopTransactionsV2(\n NETWORK_CONFIG[NetworkName.Arbitrum].chain,\n undefined,\n );\n\n expect(dopTxs).to.be.an('array');\n expect(dopTxs.length).to.equal(5000);\n\n expect(dopTxs[0].commitments).to.deep.equal([\n '0x0bb9f2d13f87b8ba19b7f5bb7750148faeb0fed4a97bc6c3e63d7fe2a7b6d63e',\n '0x217fb14374fcc4eca2d92c204bad0b2b36f6787e3268ae4740c992c632f7691c',\n ]);\n expect(dopTxs[0].nullifiers).to.deep.equal([\n '0x25234f8100ee0b86e2f331f255d982ba60d05710ceae8f226f6254addd362b1f',\n ]);\n expect(dopTxs[0].graphID).to.equal(\n '0x00000000000000000000000000000000000000000000000000000000039dd19000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000',\n );\n expect(dopTxs[0].boundParamsHash).to.equal(\n '0x2bb2954938dfcfdcc47253fd59d2225fc98feab293eb1bc80eff5d9d79de05a2',\n );\n expect(dopTxs[0].txid).to.equal(\n 'cb4293e3a81241ef8b6c48285e4860222d9c147da8583aa1d53a7117f230c368',\n );\n expect(dopTxs[0].utxoTreeIn).to.equal(0);\n expect(dopTxs[0].utxoTreeOut).to.equal(0);\n expect(dopTxs[0].utxoBatchStartPositionOut).to.equal(1);\n expect(dopTxs[0].decrypt).to.deep.equal({\n tokenData: {\n tokenType: 0,\n tokenAddress: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',\n tokenSubID: '0x00',\n },\n toAddress: '0x5ad95c537b002770a39dea342c4bb2b68b1497aa',\n value: '1000000000000000',\n });\n expect(dopTxs[0].blockNumber).to.equal(60674448);\n expect(dopTxs[0].verificationHash).to.equal(\n '0x4f7406636df927247b46552673d024567d99fd60e5fb50159ba47a170580308a',\n );\n }).timeout(20_000);\n\n it('Should pull decrypt dop txids - Arbitrum', async () => {\n const decryptDopTxids: string[] = await getDopTxidsForDecrypts(\n NETWORK_CONFIG[NetworkName.Arbitrum].chain,\n '0xcb4293e3a81241ef8b6c48285e4860222d9c147da8583aa1d53a7117f230c368',\n );\n\n expect(decryptDopTxids).to.deep.equal([\n '1bef936762f21323e57539cdf4b87251279b34880881ae003219058dacc258a7',\n ]);\n }).timeout(20000);\n\n it('Should pull dop txs subsquid query - BNBChain', async () => {\n const dopTxs: DopTransactionV2[] =\n await quickSyncDopTransactionsV2(\n NETWORK_CONFIG[NetworkName.BNBChain].chain,\n undefined,\n );\n\n expect(dopTxs).to.be.an('array');\n expect(dopTxs.length).to.equal(5000);\n\n expect(dopTxs[0].commitments).to.deep.equal([\n '0x2f1f83e339c05d14f102088c0c3f2b8f8addbd8497a88ef49a1e9c942bbb0f87',\n '0x275c216c06fd5e68bb65f46f85e93afb563f9bad08b2eaf222a38ce6d848c004',\n ]);\n expect(dopTxs[0].nullifiers).to.deep.equal([\n '0x1866ea0094491975f18fa92ba6fac7c2f562bbc49e975866643108dd15f0a6b2',\n ]);\n expect(dopTxs[0].graphID).to.equal(\n '0x00000000000000000000000000000000000000000000000000000000010f2d7b000000000000000000000000000000000000000000000000000000000000003f0000000000000000000000000000000000000000000000000000000000000000',\n );\n expect(dopTxs[0].boundParamsHash).to.equal(\n '0x0d0cc0770e4915c2b841f394834c0e3b2d5807642c23a9578a1bbc80f8b47f6a',\n );\n expect(dopTxs[0].txid).to.equal(\n '4388f3727fe7f9cfd0d57807f7a2a126fbb7e56a25a17e3e99102931ea2e4b33',\n );\n expect(dopTxs[0].utxoTreeIn).to.equal(0);\n expect(dopTxs[0].utxoTreeOut).to.equal(0);\n expect(dopTxs[0].utxoBatchStartPositionOut).to.equal(4);\n expect(dopTxs[0].decrypt).to.equal(undefined);\n expect(dopTxs[0].blockNumber).to.equal(17771899);\n expect(dopTxs[0].verificationHash).to.equal(\n '0x5052ad94d14b1f0a16fa8ca6680f9736a357cc73798695d3e1247ca95483415c',\n );\n }).timeout(20_000);\n\n it('Should pull decrypt dop txids - BNBChain', async () => {\n const decryptDopTxids: string[] = await getDopTxidsForDecrypts(\n NETWORK_CONFIG[NetworkName.BNBChain].chain,\n '0xcef99c75d555b81625e5e96304716b04bd6900d99b664fda7d5a89265dca3c38',\n );\n\n expect(decryptDopTxids).to.deep.equal([\n '27fe3f9eef756cba48cf2850935c20dc7faf36911fe2cc43b69b4650912e09e0',\n ]);\n }).timeout(20000);\n\n it('Should pull dop txs subsquid query - Sepolia', async () => {\n const dopTxs: DopTransactionV2[] =\n await quickSyncDopTransactionsV2(\n NETWORK_CONFIG[NetworkName.EthereumSepolia].chain,\n undefined,\n );\n\n expect(dopTxs).to.be.an('array');\n expect(dopTxs.length).to.be.greaterThanOrEqual(10);\n\n expect(dopTxs[0].commitments).to.deep.equal([\n '0x213b8672321b8b6d4165528e3146b1c25da4656fd93db74efa3258416e20b5d9',\n '0x14b55264849684c1d549c44b469e1047d67f06bfdb6aa22f1d14e1c545d749a5',\n ]);\n expect(dopTxs[0].nullifiers).to.deep.equal([\n '0x25234f8100ee0b86e2f331f255d982ba60d05710ceae8f226f6254addd362b1f',\n ]);\n expect(dopTxs[0].graphID).to.equal(\n '0x00000000000000000000000000000000000000000000000000000000005b001e000000000000000000000000000000000000000000000000000000000000003b0000000000000000000000000000000000000000000000000000000000000000',\n );\n expect(dopTxs[0].boundParamsHash).to.equal(\n '0x1a2fec90b4354f18153226a457bc24fe480fa816f2cf8ae13419be7938f80b51',\n );\n expect(dopTxs[0].txid).to.equal(\n 'e629e8f89ab98fee9dadacb9323746e4c150dee57917218509e94d9e35cc1db0',\n );\n expect(dopTxs[0].utxoTreeIn).to.equal(0);\n expect(dopTxs[0].utxoTreeOut).to.equal(0);\n expect(dopTxs[0].utxoBatchStartPositionOut).to.equal(1);\n expect(dopTxs[0].decrypt).to.deep.equal({\n tokenData: {\n tokenType: 0,\n tokenAddress: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',\n tokenSubID: '0x00',\n },\n toAddress: '0x7e3d929ebd5bdc84d02bd3205c777578f33a214d',\n value: '10025062656641604',\n });\n expect(dopTxs[0].blockNumber).to.equal(5963806);\n expect(dopTxs[0].verificationHash).to.equal(\n '0x4f7406636df927247b46552673d024567d99fd60e5fb50159ba47a170580308a',\n );\n }).timeout(20_000);\n\n it('Should pull decrypt dop txids - Sepolia', async () => {\n const decryptDopTxids: string[] = await getDopTxidsForDecrypts(\n NETWORK_CONFIG[NetworkName.EthereumSepolia].chain,\n '0xe629e8f89ab98fee9dadacb9323746e4c150dee57917218509e94d9e35cc1db0',\n );\n\n expect(decryptDopTxids).to.deep.equal([\n '1acb0bd1981ecdf3652d3580b72bcb97cbfe635abf66e339d8e6d8577184f65e',\n ]);\n }).timeout(20000);\n});\n"]}
|
|
1
|
+
{"version":3,"file":"dop-txid-sync-graph-v2.test.js","sourceRoot":"","sources":["../../../../../src/services/dop/dop-txids/__tests__/dop-txid-sync-graph-v2.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { DopTransactionV2 } from 'dop-engine-v5';\nimport { NetworkName, NETWORK_CONFIG } from 'dop-sharedmodels-v5';\nimport chai from 'chai';\nimport chaiAsPromised from 'chai-as-promised';\nimport {\n getDopTxidsForDecrypts,\n quickSyncDopTransactionsV2,\n} from '../dop-txid-sync-graph-v2';\n\nchai.use(chaiAsPromised);\nconst { expect } = chai;\n\ndescribe('dop-txid-sync-graph', () => {\n it('Should pull dop txs subsquid query - Ethereum', async () => {\n const dopTxs: DopTransactionV2[] =\n await quickSyncDopTransactionsV2(\n NETWORK_CONFIG[NetworkName.Ethereum].chain,\n undefined,\n );\n\n expect(dopTxs).to.be.an('array');\n expect(dopTxs.length).to.equal(5000);\n\n expect(dopTxs[0].commitments).to.deep.equal([\n '0x1afd01a29faf22dcc5678694092a08d38de99fc97d07b9281fa66f956ce43579',\n '0x2ffc716d8ae767995961bbde4a208dbae438783065bbd200f51a8d4e97cc2289',\n '0x078f9824c86b2488714eb76dc15199c3fa21903517d5f3e19ab2035d264400b6',\n ]);\n expect(dopTxs[0].nullifiers).to.deep.equal([\n '0x1e52cee52f67c37a468458671cddde6b56390dcbdc4cf3b770badc0e78d66401',\n '0x0ac9f5ab5bcb5a115a3efdd0475f6c22dc6a6841caf35a52ecf86a802bfce8ee',\n ]);\n expect(dopTxs[0].graphID).to.equal(\n '0x0000000000000000000000000000000000000000000000000000000000e1285000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000000',\n );\n expect(dopTxs[0].boundParamsHash).to.equal(\n '0x2c72a0bcce4f1169dd988204775483938ded5f5899cec84829b1cc667a683784',\n );\n expect(dopTxs[0].txid).to.equal(\n 'f07a9a458f57f1cc9cc2e5a627c3ef611a18b77e10c2bfc133fceca7743f8d0c',\n );\n expect(dopTxs[0].utxoTreeIn).to.equal(0);\n expect(dopTxs[0].utxoTreeOut).to.equal(0);\n expect(dopTxs[0].utxoBatchStartPositionOut).to.equal(2);\n expect(dopTxs[0].decrypt).to.equal(undefined);\n expect(dopTxs[0].blockNumber).to.equal(14755920);\n expect(dopTxs[0].verificationHash).to.equal(\n '0x099cd3ebcadaf6ff470d16bc0186fb5f26cd4103e9970effc9b6679478e11c72',\n );\n }).timeout(20_000);\n\n it('Should pull decrypt dop txids - Ethereum', async () => {\n const decryptDopTxids: string[] = await getDopTxidsForDecrypts(\n NETWORK_CONFIG[NetworkName.Ethereum].chain,\n '0x0b3b7179df1377c0a13058508e7dff2dbe8f73c39d68f569bc90b1c8b277082e',\n );\n\n expect(decryptDopTxids).to.deep.equal([\n '065bcb1a9d4cfa110f05b480f79f27fe2ad672868d3d1bdec05df2ddaec8333d',\n ]);\n }).timeout(20000);\n\n it('Should pull dop txs subsquid query - Polygon', async () => {\n const dopTxs: DopTransactionV2[] =\n await quickSyncDopTransactionsV2(\n NETWORK_CONFIG[NetworkName.Polygon].chain,\n undefined,\n );\n\n expect(dopTxs).to.be.an('array');\n expect(dopTxs.length).to.equal(5000);\n\n expect(dopTxs[0].commitments).to.deep.equal([\n '0x06c764e6221b61792530c5d6d33710b9cd4c4d4f734265a4e9070cf081436079',\n '0x140459c3519d73d56d292fd6d51292980f640623f008a4df063d387a819a7451',\n '0x23303173569d99ffd5799f526bd53cb81073e2d6e9ff8f4b07bed8d948722673',\n ]);\n expect(dopTxs[0].nullifiers).to.deep.equal([\n '0x1e52cee52f67c37a468458671cddde6b56390dcbdc4cf3b770badc0e78d66401',\n ]);\n expect(dopTxs[0].graphID).to.equal(\n '0x0000000000000000000000000000000000000000000000000000000001ae397e00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000',\n );\n expect(dopTxs[0].boundParamsHash).to.equal(\n '0x251fcceba8b19129e88aff1e5214ad6f2a807e4a095075e55873aa59416111a2',\n );\n expect(dopTxs[0].txid).to.equal(\n '65df130da6a571fbcceb8538400f37bcaa4fe508caec7ab05f3b438f303bfe31',\n );\n expect(dopTxs[0].utxoTreeIn).to.equal(0);\n expect(dopTxs[0].utxoTreeOut).to.equal(0);\n expect(dopTxs[0].utxoBatchStartPositionOut).to.equal(2);\n expect(dopTxs[0].decrypt).to.equal(undefined);\n expect(dopTxs[0].blockNumber).to.equal(28195198);\n expect(dopTxs[0].verificationHash).to.equal(\n '0x099cd3ebcadaf6ff470d16bc0186fb5f26cd4103e9970effc9b6679478e11c72',\n );\n }).timeout(20_000);\n\n it('Should pull decrypt dop txids - Polygon', async () => {\n const decryptDopTxids: string[] = await getDopTxidsForDecrypts(\n NETWORK_CONFIG[NetworkName.Polygon].chain,\n '0x7310a30b3a0dcec299917d5cd7ef2feab8c0507c41ec17649f38a21b4093dc32',\n );\n\n expect(decryptDopTxids).to.deep.equal([\n '113827d5fea4ebacffc3ab7289e6185d328c51c5f59ecbcd874d8f73e5638e27',\n ]);\n }).timeout(20000);\n\n it('Should pull dop txs subsquid query - Arbitrum', async () => {\n const dopTxs: DopTransactionV2[] =\n await quickSyncDopTransactionsV2(\n NETWORK_CONFIG[NetworkName.Arbitrum].chain,\n undefined,\n );\n\n expect(dopTxs).to.be.an('array');\n expect(dopTxs.length).to.equal(5000);\n\n expect(dopTxs[0].commitments).to.deep.equal([\n '0x0bb9f2d13f87b8ba19b7f5bb7750148faeb0fed4a97bc6c3e63d7fe2a7b6d63e',\n '0x217fb14374fcc4eca2d92c204bad0b2b36f6787e3268ae4740c992c632f7691c',\n ]);\n expect(dopTxs[0].nullifiers).to.deep.equal([\n '0x25234f8100ee0b86e2f331f255d982ba60d05710ceae8f226f6254addd362b1f',\n ]);\n expect(dopTxs[0].graphID).to.equal(\n '0x00000000000000000000000000000000000000000000000000000000039dd19000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000',\n );\n expect(dopTxs[0].boundParamsHash).to.equal(\n '0x2bb2954938dfcfdcc47253fd59d2225fc98feab293eb1bc80eff5d9d79de05a2',\n );\n expect(dopTxs[0].txid).to.equal(\n 'cb4293e3a81241ef8b6c48285e4860222d9c147da8583aa1d53a7117f230c368',\n );\n expect(dopTxs[0].utxoTreeIn).to.equal(0);\n expect(dopTxs[0].utxoTreeOut).to.equal(0);\n expect(dopTxs[0].utxoBatchStartPositionOut).to.equal(1);\n expect(dopTxs[0].decrypt).to.deep.equal({\n tokenData: {\n tokenType: 0,\n tokenAddress: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',\n tokenSubID: '0x00',\n },\n toAddress: '0x5ad95c537b002770a39dea342c4bb2b68b1497aa',\n value: '1000000000000000',\n });\n expect(dopTxs[0].blockNumber).to.equal(60674448);\n expect(dopTxs[0].verificationHash).to.equal(\n '0x4f7406636df927247b46552673d024567d99fd60e5fb50159ba47a170580308a',\n );\n }).timeout(20_000);\n\n it('Should pull decrypt dop txids - Arbitrum', async () => {\n const decryptDopTxids: string[] = await getDopTxidsForDecrypts(\n NETWORK_CONFIG[NetworkName.Arbitrum].chain,\n '0xcb4293e3a81241ef8b6c48285e4860222d9c147da8583aa1d53a7117f230c368',\n );\n\n expect(decryptDopTxids).to.deep.equal([\n '1bef936762f21323e57539cdf4b87251279b34880881ae003219058dacc258a7',\n ]);\n }).timeout(20000);\n\n it('Should pull dop txs subsquid query - BNBChain', async () => {\n const dopTxs: DopTransactionV2[] =\n await quickSyncDopTransactionsV2(\n NETWORK_CONFIG[NetworkName.BNBChain].chain,\n undefined,\n );\n\n expect(dopTxs).to.be.an('array');\n expect(dopTxs.length).to.equal(5000);\n\n expect(dopTxs[0].commitments).to.deep.equal([\n '0x2f1f83e339c05d14f102088c0c3f2b8f8addbd8497a88ef49a1e9c942bbb0f87',\n '0x275c216c06fd5e68bb65f46f85e93afb563f9bad08b2eaf222a38ce6d848c004',\n ]);\n expect(dopTxs[0].nullifiers).to.deep.equal([\n '0x1866ea0094491975f18fa92ba6fac7c2f562bbc49e975866643108dd15f0a6b2',\n ]);\n expect(dopTxs[0].graphID).to.equal(\n '0x00000000000000000000000000000000000000000000000000000000010f2d7b000000000000000000000000000000000000000000000000000000000000003f0000000000000000000000000000000000000000000000000000000000000000',\n );\n expect(dopTxs[0].boundParamsHash).to.equal(\n '0x0d0cc0770e4915c2b841f394834c0e3b2d5807642c23a9578a1bbc80f8b47f6a',\n );\n expect(dopTxs[0].txid).to.equal(\n '4388f3727fe7f9cfd0d57807f7a2a126fbb7e56a25a17e3e99102931ea2e4b33',\n );\n expect(dopTxs[0].utxoTreeIn).to.equal(0);\n expect(dopTxs[0].utxoTreeOut).to.equal(0);\n expect(dopTxs[0].utxoBatchStartPositionOut).to.equal(4);\n expect(dopTxs[0].decrypt).to.equal(undefined);\n expect(dopTxs[0].blockNumber).to.equal(17771899);\n expect(dopTxs[0].verificationHash).to.equal(\n '0x5052ad94d14b1f0a16fa8ca6680f9736a357cc73798695d3e1247ca95483415c',\n );\n }).timeout(20_000);\n\n it('Should pull decrypt dop txids - BNBChain', async () => {\n const decryptDopTxids: string[] = await getDopTxidsForDecrypts(\n NETWORK_CONFIG[NetworkName.BNBChain].chain,\n '0xcef99c75d555b81625e5e96304716b04bd6900d99b664fda7d5a89265dca3c38',\n );\n\n expect(decryptDopTxids).to.deep.equal([\n '27fe3f9eef756cba48cf2850935c20dc7faf36911fe2cc43b69b4650912e09e0',\n ]);\n }).timeout(20000);\n\n it('Should pull dop txs subsquid query - Sepolia', async () => {\n const dopTxs: DopTransactionV2[] =\n await quickSyncDopTransactionsV2(\n NETWORK_CONFIG[NetworkName.EthereumSepolia].chain,\n undefined,\n );\n\n expect(dopTxs).to.be.an('array');\n expect(dopTxs.length).to.be.greaterThanOrEqual(10);\n\n expect(dopTxs[0].commitments).to.deep.equal([\n '0x213b8672321b8b6d4165528e3146b1c25da4656fd93db74efa3258416e20b5d9',\n '0x14b55264849684c1d549c44b469e1047d67f06bfdb6aa22f1d14e1c545d749a5',\n ]);\n expect(dopTxs[0].nullifiers).to.deep.equal([\n '0x25234f8100ee0b86e2f331f255d982ba60d05710ceae8f226f6254addd362b1f',\n ]);\n expect(dopTxs[0].graphID).to.equal(\n '0x00000000000000000000000000000000000000000000000000000000005b001e000000000000000000000000000000000000000000000000000000000000003b0000000000000000000000000000000000000000000000000000000000000000',\n );\n expect(dopTxs[0].boundParamsHash).to.equal(\n '0x1a2fec90b4354f18153226a457bc24fe480fa816f2cf8ae13419be7938f80b51',\n );\n expect(dopTxs[0].txid).to.equal(\n 'e629e8f89ab98fee9dadacb9323746e4c150dee57917218509e94d9e35cc1db0',\n );\n expect(dopTxs[0].utxoTreeIn).to.equal(0);\n expect(dopTxs[0].utxoTreeOut).to.equal(0);\n expect(dopTxs[0].utxoBatchStartPositionOut).to.equal(1);\n expect(dopTxs[0].decrypt).to.deep.equal({\n tokenData: {\n tokenType: 0,\n tokenAddress: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',\n tokenSubID: '0x00',\n },\n toAddress: '0x7e3d929ebd5bdc84d02bd3205c777578f33a214d',\n value: '10025062656641604',\n });\n expect(dopTxs[0].blockNumber).to.equal(5963806);\n expect(dopTxs[0].verificationHash).to.equal(\n '0x4f7406636df927247b46552673d024567d99fd60e5fb50159ba47a170580308a',\n );\n }).timeout(20_000);\n\n it('Should pull decrypt dop txids - Sepolia', async () => {\n const decryptDopTxids: string[] = await getDopTxidsForDecrypts(\n NETWORK_CONFIG[NetworkName.EthereumSepolia].chain,\n '0xe629e8f89ab98fee9dadacb9323746e4c150dee57917218509e94d9e35cc1db0',\n );\n\n expect(decryptDopTxids).to.deep.equal([\n '1acb0bd1981ecdf3652d3580b72bcb97cbfe635abf66e339d8e6d8577184f65e',\n ]);\n }).timeout(20000);\n});\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { BlindedCommitment } from 'dop-engine-
|
|
1
|
+
import { BlindedCommitment } from 'dop-engine-v5';
|
|
2
2
|
export { BlindedCommitment };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blinded-commitments.js","sourceRoot":"","sources":["../../../../src/services/dop/dop-txids/blinded-commitments.ts"],"names":[],"mappings":";;;AAAA,iDAAkD;AAEzC,kGAFA,iCAAiB,OAEA","sourcesContent":["import { BlindedCommitment } from 'dop-engine-
|
|
1
|
+
{"version":3,"file":"blinded-commitments.js","sourceRoot":"","sources":["../../../../src/services/dop/dop-txids/blinded-commitments.ts"],"names":[],"mappings":";;;AAAA,iDAAkD;AAEzC,kGAFA,iCAAiB,OAEA","sourcesContent":["import { BlindedCommitment } from 'dop-engine-v5';\n\nexport { BlindedCommitment };\n"]}
|