dop-wallet-v6 1.2.1 → 1.2.3
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 +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 +2 -2
- 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 +1 -1
- package/dist/services/artifacts/artifact-util.js.map +1 -1
- package/dist/services/dop/core/__tests__/providers.test.js +2 -2
- 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 +1 -1
- 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 +2 -2
- 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 +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 +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 +2 -2
- package/dist/services/dop/core/load-provider.js.map +1 -1
- package/dist/services/dop/core/merkletree.d.ts +3 -3
- package/dist/services/dop/core/merkletree.js +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 +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 +1 -1
- package/dist/services/dop/core/providers.js.map +1 -1
- package/dist/services/dop/dop-txids/__tests__/dop-txid-sync-graph-v2.test.js +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 +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 +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 +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 +2 -2
- 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 +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 +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 +2 -2
- 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 +2 -2
- 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 +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 +2 -2
- 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 +2 -2
- package/dist/services/dop/quick-sync/V3/graph-type-formatters-v3.js +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 +2 -2
- 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 +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 +2 -2
- 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 +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 +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 +1 -1
- package/dist/services/dop/util/crypto.js.map +1 -1
- package/dist/services/dop/wallets/__tests__/balances-live.test.js +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 +2 -2
- package/dist/services/dop/wallets/__tests__/balances-update.test.js.map +1 -1
- package/dist/services/dop/wallets/__tests__/balances.test.js +2 -2
- package/dist/services/dop/wallets/__tests__/balances.test.js.map +1 -1
- package/dist/services/dop/wallets/__tests__/wallets.test.js +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 +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 +2 -2
- package/dist/services/dop/wallets/wallets.js.map +1 -1
- package/dist/services/ethers/ethers-util.js +1 -1
- package/dist/services/ethers/ethers-util.js.map +1 -1
- package/dist/services/transactions/__tests__/proof-cache.test.js +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 +2 -2
- 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 +2 -2
- package/dist/services/transactions/__tests__/tx-encrypt-base-token.test.js.map +1 -1
- package/dist/services/transactions/__tests__/tx-gas-details.test.js +1 -1
- package/dist/services/transactions/__tests__/tx-gas-details.test.js.map +1 -1
- package/dist/services/transactions/__tests__/tx-notes.test.js +1 -1
- package/dist/services/transactions/__tests__/tx-notes.test.js.map +1 -1
- package/dist/services/transactions/__tests__/tx-transfer.test.js +2 -2
- 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 +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 +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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +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 +2 -2
- 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 +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 +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 +2 -2
- 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 +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 +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 +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 +1 -1
- 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 +2 -2
- package/dist/tests/setup.test.js +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 +1 -1
- package/dist/tests/stubs/engine-stubs.test.js.map +1 -1
- package/dist/utils/blocked-address.js +1 -1
- package/dist/utils/blocked-address.js.map +1 -1
- package/dist/utils/error.js +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 +1 -1
- package/dist/utils/gas-price.js.map +1 -1
- package/package.json +1 -1
|
@@ -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,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setPollingProviderForNetwork = exports.setFallbackProviderForNetwork = exports.getPollingProviderForNetwork = exports.getFallbackProviderForNetwork = exports.pollingProviderMap = exports.fallbackProviderMap = void 0;
|
|
4
|
-
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-
|
|
4
|
+
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
|
|
5
5
|
exports.fallbackProviderMap = {};
|
|
6
6
|
exports.pollingProviderMap = {};
|
|
7
7
|
const getFallbackProviderForNetwork = (networkName) => {
|
|
@@ -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"]}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-
|
|
6
|
+
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
|
|
7
7
|
const chai_1 = __importDefault(require("chai"));
|
|
8
8
|
const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
|
|
9
9
|
const dop_txid_sync_graph_v2_1 = require("../dop-txid-sync-graph-v2");
|
|
@@ -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,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BlindedCommitment = void 0;
|
|
4
|
-
const dop_engine_v3_1 = require("dop-engine-
|
|
4
|
+
const dop_engine_v3_1 = require("dop-engine-v5");
|
|
5
5
|
Object.defineProperty(exports, "BlindedCommitment", { enumerable: true, get: function () { return dop_engine_v3_1.BlindedCommitment; } });
|
|
6
6
|
//# sourceMappingURL=blinded-commitments.js.map
|
|
@@ -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"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DopTransactionV2 } from 'dop-engine-
|
|
1
|
+
import { DopTransactionV2 } from 'dop-engine-v5';
|
|
2
2
|
import { GetDopTransactionsAfterGraphIDQuery } from './graphql';
|
|
3
3
|
export type GraphDopTransactions = GetDopTransactionsAfterGraphIDQuery['transactions'];
|
|
4
4
|
export declare const formatDopTransactions: (txs: (Pick<import("./graphql").Transaction, "blockNumber" | "id" | "transactionHash" | "blockTimestamp" | "nullifiers" | "commitments" | "boundParamsHash" | "utxoTreeIn" | "utxoTreeOut" | "utxoBatchStartPositionOut" | "hasDecrypt" | "decryptToAddress" | "decryptValue" | "verificationHash"> & {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatDopTransactions = void 0;
|
|
4
|
-
const dop_engine_v3_1 = require("dop-engine-
|
|
4
|
+
const dop_engine_v3_1 = require("dop-engine-v5");
|
|
5
5
|
const ethers_1 = require("ethers");
|
|
6
6
|
const shared_formatters_1 = require("../quick-sync/shared-formatters");
|
|
7
7
|
const formatDopTransactions = (txs) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dop-txid-graph-type-formatters.js","sourceRoot":"","sources":["../../../../src/services/dop/dop-txids/dop-txid-graph-type-formatters.ts"],"names":[],"mappings":";;;AAAA,iDAKuB;AAEvB,mCAAoC;AACpC,uEAAkF;AAK3E,MAAM,qBAAqB,GAAG,CACnC,GAAyB,EACL,EAAE;IACtB,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAClB,MAAM,OAAO,GAAgC,EAAE,CAAC,UAAU;YACxD,CAAC,CAAC;gBACE,SAAS,EAAE;oBACT,SAAS,EAAE,IAAA,mDAA+B,EACxC,EAAE,CAAC,YAAY,CAAC,SAAS,CAC1B;oBACD,YAAY,EAAE,IAAA,mBAAU,EAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC;oBACtD,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU;iBACvC;gBACD,SAAS,EAAE,EAAE,CAAC,gBAAgB;gBAC9B,KAAK,EAAE,EAAE,CAAC,YAAY;aACvB;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,cAAc,GAAqB;YACvC,OAAO,EAAE,qCAAqB,CAAC,EAAE;YACjC,OAAO,EAAE,EAAE,CAAC,EAAE;YACd,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAC3C,yBAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,0BAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CACpE;YACD,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CACxC,yBAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,0BAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CACnE;YACD,eAAe,EAAE,yBAAS,CAAC,kBAAkB,CAC3C,EAAE,CAAC,eAAe,EAClB,0BAAU,CAAC,QAAQ,EACnB,IAAI,CACL;YACD,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC;YACnC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC;YACpC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;YACjC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC;YACnC,yBAAyB,EAAE,MAAM,CAAC,EAAE,CAAC,yBAAyB,CAAC;YAC/D,IAAI,EAAE,yBAAS,CAAC,kBAAkB,CAChC,EAAE,CAAC,eAAe,EAClB,0BAAU,CAAC,QAAQ,EACnB,KAAK,CACN;YACD,OAAO;YACP,gBAAgB,EAAE,yBAAS,CAAC,kBAAkB,CAC5C,EAAE,CAAC,gBAAgB,EACnB,0BAAU,CAAC,QAAQ,EACnB,IAAI,CACL;SACF,CAAC;QACF,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAnDW,QAAA,qBAAqB,yBAmDhC","sourcesContent":["import {\n ByteLength,\n DopTransactionV2,\n DopTransactionVersion,\n ByteUtils,\n} from 'dop-engine-
|
|
1
|
+
{"version":3,"file":"dop-txid-graph-type-formatters.js","sourceRoot":"","sources":["../../../../src/services/dop/dop-txids/dop-txid-graph-type-formatters.ts"],"names":[],"mappings":";;;AAAA,iDAKuB;AAEvB,mCAAoC;AACpC,uEAAkF;AAK3E,MAAM,qBAAqB,GAAG,CACnC,GAAyB,EACL,EAAE;IACtB,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAClB,MAAM,OAAO,GAAgC,EAAE,CAAC,UAAU;YACxD,CAAC,CAAC;gBACE,SAAS,EAAE;oBACT,SAAS,EAAE,IAAA,mDAA+B,EACxC,EAAE,CAAC,YAAY,CAAC,SAAS,CAC1B;oBACD,YAAY,EAAE,IAAA,mBAAU,EAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC;oBACtD,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU;iBACvC;gBACD,SAAS,EAAE,EAAE,CAAC,gBAAgB;gBAC9B,KAAK,EAAE,EAAE,CAAC,YAAY;aACvB;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,cAAc,GAAqB;YACvC,OAAO,EAAE,qCAAqB,CAAC,EAAE;YACjC,OAAO,EAAE,EAAE,CAAC,EAAE;YACd,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAC3C,yBAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,0BAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CACpE;YACD,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CACxC,yBAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,0BAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CACnE;YACD,eAAe,EAAE,yBAAS,CAAC,kBAAkB,CAC3C,EAAE,CAAC,eAAe,EAClB,0BAAU,CAAC,QAAQ,EACnB,IAAI,CACL;YACD,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC;YACnC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC;YACpC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;YACjC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC;YACnC,yBAAyB,EAAE,MAAM,CAAC,EAAE,CAAC,yBAAyB,CAAC;YAC/D,IAAI,EAAE,yBAAS,CAAC,kBAAkB,CAChC,EAAE,CAAC,eAAe,EAClB,0BAAU,CAAC,QAAQ,EACnB,KAAK,CACN;YACD,OAAO;YACP,gBAAgB,EAAE,yBAAS,CAAC,kBAAkB,CAC5C,EAAE,CAAC,gBAAgB,EACnB,0BAAU,CAAC,QAAQ,EACnB,IAAI,CACL;SACF,CAAC;QACF,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAnDW,QAAA,qBAAqB,yBAmDhC","sourcesContent":["import {\n ByteLength,\n DopTransactionV2,\n DopTransactionVersion,\n ByteUtils,\n} from 'dop-engine-v5';\nimport { GetDopTransactionsAfterGraphIDQuery } from './graphql';\nimport { getAddress } from 'ethers';\nimport { graphTokenTypeToEngineTokenType } from '../quick-sync/shared-formatters';\n\nexport type GraphDopTransactions =\n GetDopTransactionsAfterGraphIDQuery['transactions'];\n\nexport const formatDopTransactions = (\n txs: GraphDopTransactions,\n): DopTransactionV2[] => {\n return txs.map(tx => {\n const decrypt: DopTransactionV2['decrypt'] = tx.hasDecrypt\n ? {\n tokenData: {\n tokenType: graphTokenTypeToEngineTokenType(\n tx.decryptToken.tokenType,\n ),\n tokenAddress: getAddress(tx.decryptToken.tokenAddress),\n tokenSubID: tx.decryptToken.tokenSubID,\n },\n toAddress: tx.decryptToAddress,\n value: tx.decryptValue,\n }\n : undefined;\n\n const dopTransaction: DopTransactionV2 = {\n version: DopTransactionVersion.V2,\n graphID: tx.id,\n commitments: tx.commitments.map(commitment =>\n ByteUtils.formatToByteLength(commitment, ByteLength.UINT_256, true),\n ),\n nullifiers: tx.nullifiers.map(nullifier =>\n ByteUtils.formatToByteLength(nullifier, ByteLength.UINT_256, true),\n ),\n boundParamsHash: ByteUtils.formatToByteLength(\n tx.boundParamsHash,\n ByteLength.UINT_256,\n true,\n ),\n blockNumber: Number(tx.blockNumber),\n timestamp: Number(tx.blockTimestamp),\n utxoTreeIn: Number(tx.utxoTreeIn),\n utxoTreeOut: Number(tx.utxoTreeOut),\n utxoBatchStartPositionOut: Number(tx.utxoBatchStartPositionOut),\n txid: ByteUtils.formatToByteLength(\n tx.transactionHash,\n ByteLength.UINT_256,\n false,\n ),\n decrypt,\n verificationHash: ByteUtils.formatToByteLength(\n tx.verificationHash,\n ByteLength.UINT_256,\n true,\n ),\n };\n return dopTransaction;\n });\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NetworkName, TXIDVersion } from 'dop-sharedmodels-
|
|
1
|
+
import { NetworkName, TXIDVersion } from 'dop-sharedmodels-v5';
|
|
2
2
|
export declare const validateDopTxidMerkleroot: (txidVersion: TXIDVersion, networkName: NetworkName, tree: number, index: number, merkleroot: string) => Promise<boolean>;
|
|
3
3
|
export declare const validateDopTxidOccurredBeforeBlockNumber: (txidVersion: TXIDVersion, networkName: NetworkName, tree: number, index: number, blockNumber: number) => Promise<boolean>;
|
|
4
4
|
export declare const validateDopTxidExists: (txidVersion: TXIDVersion, networkName: NetworkName, dopTxid: string) => Promise<boolean>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getDopTxidMerkleroot = exports.getLatestDopTxidData = exports.resetDopTxidsAfterTxidIndex = exports.fullResetTXIDMerkletreesV2 = exports.syncDopTransactionsV2 = exports.getGlobalUTXOTreePositionForDopTransactionCommitment = exports.validateDopTxidExists = exports.validateDopTxidOccurredBeforeBlockNumber = exports.validateDopTxidMerkleroot = void 0;
|
|
4
|
-
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-
|
|
4
|
+
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
|
|
5
5
|
const core_1 = require("../core");
|
|
6
6
|
const validateDopTxidMerkleroot = async (txidVersion, networkName, tree, index, merkleroot) => {
|
|
7
7
|
const chain = dop_sharedmodels_v3_1.NETWORK_CONFIG[networkName].chain;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dop-txid-merkletrees.js","sourceRoot":"","sources":["../../../../src/services/dop/dop-txids/dop-txid-merkletrees.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n NETWORK_CONFIG,\n NetworkName,\n TXIDVersion,\n isDefined,\n} from 'dop-sharedmodels-
|
|
1
|
+
{"version":3,"file":"dop-txid-merkletrees.js","sourceRoot":"","sources":["../../../../src/services/dop/dop-txids/dop-txid-merkletrees.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n NETWORK_CONFIG,\n NetworkName,\n TXIDVersion,\n isDefined,\n} from 'dop-sharedmodels-v5';\nimport { getEngine, getTXIDMerkletreeForNetwork } from '../core';\n\nexport const validateDopTxidMerkleroot = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n tree: number,\n index: number,\n merkleroot: string,\n): Promise<boolean> => {\n const chain = NETWORK_CONFIG[networkName].chain;\n const engine = getEngine();\n const txidMerkletree = engine.getTXIDMerkletree(txidVersion, chain);\n const historicalMerkleroot = await txidMerkletree.getHistoricalMerkleroot(\n tree,\n index,\n );\n return historicalMerkleroot === merkleroot;\n};\n\nexport const validateDopTxidOccurredBeforeBlockNumber = (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n tree: number,\n index: number,\n blockNumber: number,\n): Promise<boolean> => {\n const chain = NETWORK_CONFIG[networkName].chain;\n const engine = getEngine();\n const txidMerkletree = engine.getTXIDMerkletree(txidVersion, chain);\n return txidMerkletree.dopTxidOccurredBeforeBlockNumber(\n tree,\n index,\n blockNumber,\n );\n};\n\nexport const validateDopTxidExists = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n dopTxid: string,\n) => {\n const txidMerkletree = getTXIDMerkletreeForNetwork(txidVersion, networkName);\n const dopTransaction = await txidMerkletree.getDopTransactionByTxid(\n dopTxid,\n );\n return isDefined(dopTransaction);\n};\n\nexport const getGlobalUTXOTreePositionForDopTransactionCommitment = (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n tree: number,\n index: number,\n commitmentHash: string,\n): Promise<number> => {\n const chain = NETWORK_CONFIG[networkName].chain;\n const engine = getEngine();\n const txidMerkletree = engine.getTXIDMerkletree(txidVersion, chain);\n return txidMerkletree.getGlobalUTXOTreePositionForDopTransactionCommitment(\n tree,\n index,\n commitmentHash,\n );\n};\n\nexport const syncDopTransactionsV2 = async (\n networkName: NetworkName,\n): Promise<void> => {\n const chain = NETWORK_CONFIG[networkName].chain;\n return getEngine().syncDopTransactionsV2(chain, 'manual trigger');\n};\n\nexport const fullResetTXIDMerkletreesV2 = async (networkName: NetworkName) => {\n const chain = NETWORK_CONFIG[networkName].chain;\n return getEngine().fullResetTXIDMerkletreesV2(chain);\n};\n\nexport const resetDopTxidsAfterTxidIndex = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n txidIndex: number,\n): Promise<void> => {\n const chain = NETWORK_CONFIG[networkName].chain;\n return getEngine().resetDopTxidsAfterTxidIndex(\n txidVersion,\n chain,\n txidIndex,\n );\n};\n\nexport const getLatestDopTxidData = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n): Promise<{\n txidIndex: number;\n merkleroot: string;\n}> => {\n const chain = NETWORK_CONFIG[networkName].chain;\n return getEngine().getLatestDopTxidData(txidVersion, chain);\n};\n\nexport const getDopTxidMerkleroot = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n tree: number,\n index: number,\n) => {\n const chain = NETWORK_CONFIG[networkName].chain;\n const engine = getEngine();\n const txidMerkletree = engine.getTXIDMerkletree(txidVersion, chain);\n const historicalMerkleroot = await txidMerkletree.getHistoricalMerkleroot(\n tree,\n index,\n );\n return historicalMerkleroot;\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Chain, DopTransaction, DopTransactionV2 } from 'dop-engine-
|
|
1
|
+
import { Chain, DopTransaction, DopTransactionV2 } from 'dop-engine-v5';
|
|
2
2
|
export declare const getDopTxDataForDecrypts: (chain: Chain, txid: string) => Promise<{
|
|
3
3
|
dopTransaction: DopTransactionV2;
|
|
4
4
|
dopTxid: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.quickSyncDopTransactionsV2 = exports.getDopTransactionsForTxid = exports.getDopTransactionDataForDecryptToAddress = exports.getDopTxidsForDecrypts = exports.getDopTxDataForDecrypts = void 0;
|
|
4
|
-
const dop_engine_v3_1 = require("dop-engine-
|
|
5
|
-
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-
|
|
4
|
+
const dop_engine_v3_1 = require("dop-engine-v5");
|
|
5
|
+
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
|
|
6
6
|
const graphql_1 = require("./graphql");
|
|
7
7
|
const runtime_1 = require("@graphql-mesh/runtime");
|
|
8
8
|
const dop_txid_graph_type_formatters_1 = require("./dop-txid-graph-type-formatters");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dop-txid-sync-graph-v2.js","sourceRoot":"","sources":["../../../../src/services/dop/dop-txids/dop-txid-sync-graph-v2.ts"],"names":[],"mappings":";;;AAAA,iDAKuB;AACvB,6DAM6B;AAC7B,uCAAmD;AACnD,mDAA8D;AAC9D,qFAG0C;AAC1C,mDAA0D;AAE1D,MAAM,MAAM,GAA0B,EAAE,CAAC;AAEzC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,MAAM,+BAA+B,GAAG,CAAC,WAAwB,EAAU,EAAE;IAC3E,QAAQ,WAAW,EAAE;QACnB,KAAK,iCAAW,CAAC,QAAQ;YACvB,OAAO,cAAc,CAAC;QACxB,KAAK,iCAAW,CAAC,eAAe;YAC9B,OAAO,aAAa,CAAC;QACvB,KAAK,iCAAW,CAAC,QAAQ;YACvB,OAAO,SAAS,CAAC;QACnB,KAAK,iCAAW,CAAC,QAAQ;YACvB,OAAO,cAAc,CAAC;QACxB,KAAK,iCAAW,CAAC,MAAM;YACrB,OAAO,YAAY,CAAC;QACtB,KAAK,iCAAW,CAAC,OAAO;YACtB,OAAO,WAAW,CAAC;QACrB,KAAK,iCAAW,CAAC,WAAW,CAAC;QAC7B,KAAK,iCAAW,CAAC,wBAAwB,CAAC;QAC1C,KAAK,iCAAW,CAAC,yBAAyB,CAAC;QAC3C,KAAK,iCAAW,CAAC,yBAAyB,CAAC;QAC3C,KAAK,iCAAW,CAAC,0BAA0B,CAAC;QAC5C,KAAK,iCAAW,CAAC,OAAO,CAAC;QACzB;YACE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KACnE;AACH,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,KAAK,EAC1C,KAAY,EACZ,IAAY,EAMZ,EAAE;IACF,MAAM,OAAO,GAAG,IAAA,qCAAe,EAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAyB,CACzC,MAAM,GAAG,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC,CAC7C,CAAC,YAAY,CAAC;IAEf,MAAM,mBAAmB,GAGnB,YAAY;SACf,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;SAC7C,GAAG,CAAC,WAAW,CAAC,EAAE;QACjB,MAAM,cAAc,GAAG,IAAA,sDAAqB,EAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAA,sCAAsB,EAAC,WAAW,CAAC,CAAC;QACpD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC;AAhCW,QAAA,uBAAuB,2BAgClC;AAEK,MAAM,sBAAsB,GAAG,KAAK,EACzC,KAAY,EACZ,IAAY,EACO,EAAE;IACrB,MAAM,OAAO,GAAG,IAAA,qCAAe,EAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAyB,CACzC,MAAM,GAAG,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC,CAC7C,CAAC,YAAY,CAAC;IAEf,MAAM,mBAAmB,GAAa,YAAY;SAC/C,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;SAC7C,GAAG,CAAC,WAAW,CAAC,EAAE;QACjB,MAAM,OAAO,GAAG,IAAA,sCAAsB,EAAC,WAAW,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEL,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC;AAvBW,QAAA,sBAAsB,0BAuBjC;AAEK,MAAM,wCAAwC,GAAG,KAAK,EAC3D,KAAY,EACZ,gBAAwB,EASxB,EAAE;IACF,MAAM,OAAO,GAAG,IAAA,qCAAe,EAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAyB,CACzC,MAAM,GAAG,CAAC,oCAAoC,CAAC;QAC7C,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CACH,CAAC,YAAY,CAAC;IACf,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAClD,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEpE,YAAY;SACT,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;SAC7C,OAAO,CAAC,WAAW,CAAC,EAAE;QACrB,MAAM,OAAO,GAAG,IAAA,sCAAsB,EAAC,WAAW,CAAC,CAAC;QACpD,uBAAuB,CAAC,GAAG,CACzB,OAAO,EACP,IAAA,sDAAqB,EAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CACxC,CAAC;QACF,IAAI,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE;YAClD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAChC,WAAW,CAAC,eAAe,CAChB,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;SAC1D;aAAM;YACL,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;SAC3D;IACH,CAAC,CAAC,CAAC;IACL,MAAM,mBAAmB,GAMnB,EAAE,CAAC;IACT,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QACvC,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI;YACJ,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACvC,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5D,IAAI,CAAC,cAAc,EAAE;oBACnB,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,EAAE,CAClD,CAAC;iBACH;gBACD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;YACrC,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC;AApEW,QAAA,wCAAwC,4CAoEnD;AAEK,MAAM,yBAAyB,GAAG,KAAK,EAC5C,KAAY,EACZ,IAAY,EACe,EAAE;IAC7B,MAAM,OAAO,GAAG,IAAA,qCAAe,EAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,eAAe,GAAyB,CAC5C,MAAM,GAAG,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC,CAC7C,CAAC,YAAY,CAAC;IAEf,MAAM,uBAAuB,GAC3B,IAAA,iCAAoB,EAAC,eAAe,CAAC,CAAC;IAExC,MAAM,wBAAwB,GAC5B,IAAA,sDAAqB,EAAC,uBAAuB,CAAC,CAAC;IAEjD,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AAtBW,QAAA,yBAAyB,6BAsBpC;AAEK,MAAM,0BAA0B,GAAG,KAAK,EAC7C,KAAY,EACZ,aAA+B,EACF,EAAE;IAC/B,MAAM,OAAO,GAAG,IAAA,qCAAe,EAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,eAAe,GACnB,MAAM,mBAAmB,CACvB,KAAK,EAAE,EAAU,EAAE,EAAE,CACnB,CACE,MAAM,GAAG,CAAC,8BAA8B,CAAC;QACvC,KAAK,EAAE,EAAE;KACV,CAAC,CACH,CAAC,YAAY,EAChB,aAAa,IAAI,MAAM,CACxB,CAAC;IAEJ,MAAM,uBAAuB,GAC3B,IAAA,iCAAoB,EAAC,eAAe,CAAC,CAAC;IAExC,MAAM,wBAAwB,GAC5B,IAAA,sDAAqB,EAAC,uBAAuB,CAAC,CAAC;IAEjD,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AA7BW,QAAA,0BAA0B,8BA6BrC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,KAA4C,EAC5C,EAAU,EACV,cAA4B,EAAE,EACP,EAAE;IACzB,MAAM,UAAU,GAAG,MAAM,IAAA,oCAAc,EACrC,KAAK,CAAC,EAAE,CAAC,EACT,KAAK,EACL,IAAI,KAAK,CAAC,yDAAyD,CAAC,CACrE,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO,WAAW,CAAC;KACpB;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEpD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,IAAI,iBAAiB,CAAC;IAC3D,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzD,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC;IACnD,mHAAmH;IACnH,IAAI,CAAC,SAAS,IAAI,eAAe,EAAE;QACjC,MAAM,IAAA,2BAAK,EAAC,GAAG,CAAC,CAAC;QACjB,OAAO,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;KAChE;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,WAAwB,EACD,EAAE;IACzB,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,IAAA,+BAAS,EAAC,cAAc,CAAC,EAAE;QAC7B,OAAO,cAAc,CAAC;KACvB;IACD,MAAM,UAAU,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,GAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAC1D,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CACb,2CAA2C,WAAW,WAAW,eAAe,CAAC,MAAM,EAAE,CAC1F,CAAC;KACH;IACD,WAAW,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3C,IAAI;QACF,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAO,EAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CACb,oJAAoJ,EACpJ,EAAE,KAAK,EAAE,CACV,CAAC;KACH;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,WAAwB,EACxB,aAA8B,EAC9B,EAAE;IACF,MAAM,aAAa,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC,IAAI,CACzD,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAChE,CAAC;IACF,OAAO,IAAA,gBAAM,EAAoC,CAAC,GAAG,IAAI,EAAE,EAAE,CAC3D,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAC1D,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {\n Chain,\n DopTransaction,\n DopTransactionV2,\n getDopTransactionIDHex,\n} from 'dop-engine-v3';\nimport {\n NetworkName,\n delay,\n isDefined,\n networkForChain,\n promiseTimeout,\n} from 'dop-sharedmodels-v3';\nimport { getMeshOptions, getSdk } from './graphql';\nimport { MeshInstance, getMesh } from '@graphql-mesh/runtime';\nimport {\n GraphDopTransactions,\n formatDopTransactions,\n} from './dop-txid-graph-type-formatters';\nimport { removeDuplicatesByID } from '../util/graph-util';\n\nconst meshes: MapType<MeshInstance> = {};\n\nconst MAX_QUERY_RESULTS = 5000;\n\nconst txsSubgraphSourceNameForNetwork = (networkName: NetworkName): string => {\n switch (networkName) {\n case NetworkName.Ethereum:\n return 'txs-ethereum';\n case NetworkName.EthereumSepolia:\n return 'txs-sepolia';\n case NetworkName.BNBChain:\n return 'txs-bsc';\n case NetworkName.Arbitrum:\n return 'txs-arbitrum';\n case NetworkName.Xlayer:\n return 'txs-xlayer';\n case NetworkName.Polygon:\n return 'txs-matic';\n case NetworkName.PolygonAmoy:\n case NetworkName.PolygonMumbai_DEPRECATED:\n case NetworkName.ArbitrumGoerli_DEPRECATED:\n case NetworkName.EthereumGoerli_DEPRECATED:\n case NetworkName.EthereumRopsten_DEPRECATED:\n case NetworkName.Hardhat:\n default:\n throw new Error('No dop-transaction subsquid for this network');\n }\n};\n\nexport const getDopTxDataForDecrypts = async (\n chain: Chain,\n txid: string,\n): Promise<\n {\n dopTransaction: DopTransactionV2;\n dopTxid: string;\n }[]\n> => {\n const network = networkForChain(chain);\n if (!network) {\n return [];\n }\n\n const sdk = getBuiltGraphSDK(network.name);\n\n const transactions: GraphDopTransactions = (\n await sdk.GetDopTransactionsByTxid({ txid })\n ).transactions;\n\n const dopTxidsForDecrypts: {\n dopTransaction: DopTransactionV2;\n dopTxid: string;\n }[] = transactions\n .filter(transaction => transaction.hasDecrypt)\n .map(transaction => {\n const dopTransaction = formatDopTransactions([transaction])[0];\n const dopTxid = getDopTransactionIDHex(transaction);\n return { dopTxid, dopTransaction };\n });\n\n return dopTxidsForDecrypts;\n};\n\nexport const getDopTxidsForDecrypts = async (\n chain: Chain,\n txid: string,\n): Promise<string[]> => {\n const network = networkForChain(chain);\n if (!network) {\n return [];\n }\n\n const sdk = getBuiltGraphSDK(network.name);\n\n const transactions: GraphDopTransactions = (\n await sdk.GetDopTransactionsByTxid({ txid })\n ).transactions;\n\n const dopTxidsForDecrypts: string[] = transactions\n .filter(transaction => transaction.hasDecrypt)\n .map(transaction => {\n const dopTxid = getDopTransactionIDHex(transaction);\n return dopTxid;\n });\n\n return dopTxidsForDecrypts;\n};\n\nexport const getDopTransactionDataForDecryptToAddress = async (\n chain: Chain,\n decryptToAddress: string,\n): Promise<\n {\n txid: string;\n transactionDatas: {\n dopTransaction: DopTransactionV2;\n dopTxid: string;\n }[];\n }[]\n> => {\n const network = networkForChain(chain);\n if (!network) {\n return [];\n }\n\n const sdk = getBuiltGraphSDK(network.name);\n\n const transactions: GraphDopTransactions = (\n await sdk.GetDopTransactionsByDecryptToAddress({\n address: decryptToAddress,\n })\n ).transactions;\n const uniqueTxidMap = new Map<string, string[]>();\n const dopTxidToTransactionMap = new Map<string, DopTransactionV2>();\n\n transactions\n .filter(transaction => transaction.hasDecrypt)\n .forEach(transaction => {\n const dopTxid = getDopTransactionIDHex(transaction);\n dopTxidToTransactionMap.set(\n dopTxid,\n formatDopTransactions([transaction])[0],\n );\n if (uniqueTxidMap.has(transaction.transactionHash)) {\n const dopTxids = uniqueTxidMap.get(\n transaction.transactionHash,\n ) as string[];\n dopTxids.push(dopTxid);\n uniqueTxidMap.set(transaction.transactionHash, dopTxids);\n } else {\n uniqueTxidMap.set(transaction.transactionHash, [dopTxid]);\n }\n });\n const dopTxidsForDecrypts: {\n txid: string;\n transactionDatas: {\n dopTransaction: DopTransactionV2;\n dopTxid: string;\n }[];\n }[] = [];\n uniqueTxidMap.forEach((dopTxids, txid) => {\n dopTxidsForDecrypts.push({\n txid,\n transactionDatas: dopTxids.map(dopTxid => {\n const dopTransaction = dopTxidToTransactionMap.get(dopTxid);\n if (!dopTransaction) {\n throw new Error(\n `Could not find dop transaction for txid ${txid}`,\n );\n }\n return { dopTransaction, dopTxid };\n }),\n });\n });\n\n return dopTxidsForDecrypts;\n};\n\nexport const getDopTransactionsForTxid = async (\n chain: Chain,\n txid: string,\n): Promise<DopTransaction[]> => {\n const network = networkForChain(chain);\n if (!network) {\n return [];\n }\n\n const sdk = getBuiltGraphSDK(network.name);\n\n const dopTransactions: GraphDopTransactions = (\n await sdk.GetDopTransactionsByTxid({ txid })\n ).transactions;\n\n const filteredDopTransactions: GraphDopTransactions =\n removeDuplicatesByID(dopTransactions);\n\n const formattedDopTransactions: DopTransaction[] =\n formatDopTransactions(filteredDopTransactions);\n\n return formattedDopTransactions;\n};\n\nexport const quickSyncDopTransactionsV2 = async (\n chain: Chain,\n latestGraphID: Optional<string>,\n): Promise<DopTransactionV2[]> => {\n const network = networkForChain(chain);\n if (!network) {\n return [];\n }\n\n const sdk = getBuiltGraphSDK(network.name);\n\n const dopTransactions: GraphDopTransactions =\n await autoPaginatingQuery(\n async (id: string) =>\n (\n await sdk.GetDopTransactionsAfterGraphID({\n idLow: id,\n })\n ).transactions,\n latestGraphID ?? '0x00',\n );\n\n const filteredDopTransactions: GraphDopTransactions =\n removeDuplicatesByID(dopTransactions);\n\n const formattedDopTransactions: DopTransactionV2[] =\n formatDopTransactions(filteredDopTransactions);\n\n return formattedDopTransactions;\n};\n\nconst autoPaginatingQuery = async <ReturnType extends { id: string }>(\n query: (id: string) => Promise<ReturnType[]>,\n id: string,\n prevResults: ReturnType[] = [],\n): Promise<ReturnType[]> => {\n const newResults = await promiseTimeout(\n query(id),\n 20000,\n new Error('Timeout querying Graph for QuickSync of DOP-TXID Events'),\n );\n if (newResults.length === 0) {\n return prevResults;\n }\n\n const totalResults = prevResults.concat(newResults);\n\n const overLimit = totalResults.length >= MAX_QUERY_RESULTS;\n const lastResult = totalResults[totalResults.length - 1];\n\n const shouldQueryMore = newResults.length === 5000;\n // console.log(\"SHOULD QUERY MORE\", shouldQueryMore, \"OVER LIMIT\", overLimit, \"TOTAL RESULTS\", totalResults.length)\n if (!overLimit && shouldQueryMore) {\n await delay(250);\n return autoPaginatingQuery(query, lastResult.id, totalResults);\n }\n\n return totalResults;\n};\n\nconst getBuiltGraphClient = async (\n networkName: NetworkName,\n): Promise<MeshInstance> => {\n const meshForNetwork = meshes[networkName];\n if (isDefined(meshForNetwork)) {\n return meshForNetwork;\n }\n const sourceName = txsSubgraphSourceNameForNetwork(networkName);\n const meshOptions = await getMeshOptions();\n const filteredSources = meshOptions.sources.filter(source => {\n return source.name === sourceName;\n });\n if (filteredSources.length !== 1) {\n throw new Error(\n `Expected exactly one source for network ${networkName}, found ${filteredSources.length}`,\n );\n }\n meshOptions.sources = [filteredSources[0]];\n\n try {\n const mesh = await getMesh(meshOptions);\n meshes[networkName] = mesh;\n const id = mesh.pubsub.subscribe('destroy', () => {\n meshes[networkName] = undefined;\n mesh.pubsub.unsubscribe(id);\n });\n return mesh;\n } catch (cause) {\n throw new Error(\n `ERROR getting mesh - if error includes \"can't generate schema,\" make sure to check the filepaths for source schema imports in the built index file`,\n { cause },\n );\n }\n};\n\nconst getBuiltGraphSDK = <TGlobalContext, TOperationContext>(\n networkName: NetworkName,\n globalContext?: TGlobalContext,\n) => {\n const sdkRequester$ = getBuiltGraphClient(networkName).then(\n ({ sdkRequesterFactory }) => sdkRequesterFactory(globalContext),\n );\n return getSdk<TOperationContext, TGlobalContext>((...args) =>\n sdkRequester$.then(sdkRequester => sdkRequester(...args)),\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"dop-txid-sync-graph-v2.js","sourceRoot":"","sources":["../../../../src/services/dop/dop-txids/dop-txid-sync-graph-v2.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Chain,\n DopTransaction,\n DopTransactionV2,\n getDopTransactionIDHex,\n} from 'dop-engine-v5';\nimport {\n NetworkName,\n delay,\n isDefined,\n networkForChain,\n promiseTimeout,\n} from 'dop-sharedmodels-v5';\nimport { getMeshOptions, getSdk } from './graphql';\nimport { MeshInstance, getMesh } from '@graphql-mesh/runtime';\nimport {\n GraphDopTransactions,\n formatDopTransactions,\n} from './dop-txid-graph-type-formatters';\nimport { removeDuplicatesByID } from '../util/graph-util';\n\nconst meshes: MapType<MeshInstance> = {};\n\nconst MAX_QUERY_RESULTS = 5000;\n\nconst txsSubgraphSourceNameForNetwork = (networkName: NetworkName): string => {\n switch (networkName) {\n case NetworkName.Ethereum:\n return 'txs-ethereum';\n case NetworkName.EthereumSepolia:\n return 'txs-sepolia';\n case NetworkName.BNBChain:\n return 'txs-bsc';\n case NetworkName.Arbitrum:\n return 'txs-arbitrum';\n case NetworkName.Xlayer:\n return 'txs-xlayer';\n case NetworkName.Polygon:\n return 'txs-matic';\n case NetworkName.PolygonAmoy:\n case NetworkName.PolygonMumbai_DEPRECATED:\n case NetworkName.ArbitrumGoerli_DEPRECATED:\n case NetworkName.EthereumGoerli_DEPRECATED:\n case NetworkName.EthereumRopsten_DEPRECATED:\n case NetworkName.Hardhat:\n default:\n throw new Error('No dop-transaction subsquid for this network');\n }\n};\n\nexport const getDopTxDataForDecrypts = async (\n chain: Chain,\n txid: string,\n): Promise<\n {\n dopTransaction: DopTransactionV2;\n dopTxid: string;\n }[]\n> => {\n const network = networkForChain(chain);\n if (!network) {\n return [];\n }\n\n const sdk = getBuiltGraphSDK(network.name);\n\n const transactions: GraphDopTransactions = (\n await sdk.GetDopTransactionsByTxid({ txid })\n ).transactions;\n\n const dopTxidsForDecrypts: {\n dopTransaction: DopTransactionV2;\n dopTxid: string;\n }[] = transactions\n .filter(transaction => transaction.hasDecrypt)\n .map(transaction => {\n const dopTransaction = formatDopTransactions([transaction])[0];\n const dopTxid = getDopTransactionIDHex(transaction);\n return { dopTxid, dopTransaction };\n });\n\n return dopTxidsForDecrypts;\n};\n\nexport const getDopTxidsForDecrypts = async (\n chain: Chain,\n txid: string,\n): Promise<string[]> => {\n const network = networkForChain(chain);\n if (!network) {\n return [];\n }\n\n const sdk = getBuiltGraphSDK(network.name);\n\n const transactions: GraphDopTransactions = (\n await sdk.GetDopTransactionsByTxid({ txid })\n ).transactions;\n\n const dopTxidsForDecrypts: string[] = transactions\n .filter(transaction => transaction.hasDecrypt)\n .map(transaction => {\n const dopTxid = getDopTransactionIDHex(transaction);\n return dopTxid;\n });\n\n return dopTxidsForDecrypts;\n};\n\nexport const getDopTransactionDataForDecryptToAddress = async (\n chain: Chain,\n decryptToAddress: string,\n): Promise<\n {\n txid: string;\n transactionDatas: {\n dopTransaction: DopTransactionV2;\n dopTxid: string;\n }[];\n }[]\n> => {\n const network = networkForChain(chain);\n if (!network) {\n return [];\n }\n\n const sdk = getBuiltGraphSDK(network.name);\n\n const transactions: GraphDopTransactions = (\n await sdk.GetDopTransactionsByDecryptToAddress({\n address: decryptToAddress,\n })\n ).transactions;\n const uniqueTxidMap = new Map<string, string[]>();\n const dopTxidToTransactionMap = new Map<string, DopTransactionV2>();\n\n transactions\n .filter(transaction => transaction.hasDecrypt)\n .forEach(transaction => {\n const dopTxid = getDopTransactionIDHex(transaction);\n dopTxidToTransactionMap.set(\n dopTxid,\n formatDopTransactions([transaction])[0],\n );\n if (uniqueTxidMap.has(transaction.transactionHash)) {\n const dopTxids = uniqueTxidMap.get(\n transaction.transactionHash,\n ) as string[];\n dopTxids.push(dopTxid);\n uniqueTxidMap.set(transaction.transactionHash, dopTxids);\n } else {\n uniqueTxidMap.set(transaction.transactionHash, [dopTxid]);\n }\n });\n const dopTxidsForDecrypts: {\n txid: string;\n transactionDatas: {\n dopTransaction: DopTransactionV2;\n dopTxid: string;\n }[];\n }[] = [];\n uniqueTxidMap.forEach((dopTxids, txid) => {\n dopTxidsForDecrypts.push({\n txid,\n transactionDatas: dopTxids.map(dopTxid => {\n const dopTransaction = dopTxidToTransactionMap.get(dopTxid);\n if (!dopTransaction) {\n throw new Error(\n `Could not find dop transaction for txid ${txid}`,\n );\n }\n return { dopTransaction, dopTxid };\n }),\n });\n });\n\n return dopTxidsForDecrypts;\n};\n\nexport const getDopTransactionsForTxid = async (\n chain: Chain,\n txid: string,\n): Promise<DopTransaction[]> => {\n const network = networkForChain(chain);\n if (!network) {\n return [];\n }\n\n const sdk = getBuiltGraphSDK(network.name);\n\n const dopTransactions: GraphDopTransactions = (\n await sdk.GetDopTransactionsByTxid({ txid })\n ).transactions;\n\n const filteredDopTransactions: GraphDopTransactions =\n removeDuplicatesByID(dopTransactions);\n\n const formattedDopTransactions: DopTransaction[] =\n formatDopTransactions(filteredDopTransactions);\n\n return formattedDopTransactions;\n};\n\nexport const quickSyncDopTransactionsV2 = async (\n chain: Chain,\n latestGraphID: Optional<string>,\n): Promise<DopTransactionV2[]> => {\n const network = networkForChain(chain);\n if (!network) {\n return [];\n }\n\n const sdk = getBuiltGraphSDK(network.name);\n\n const dopTransactions: GraphDopTransactions =\n await autoPaginatingQuery(\n async (id: string) =>\n (\n await sdk.GetDopTransactionsAfterGraphID({\n idLow: id,\n })\n ).transactions,\n latestGraphID ?? '0x00',\n );\n\n const filteredDopTransactions: GraphDopTransactions =\n removeDuplicatesByID(dopTransactions);\n\n const formattedDopTransactions: DopTransactionV2[] =\n formatDopTransactions(filteredDopTransactions);\n\n return formattedDopTransactions;\n};\n\nconst autoPaginatingQuery = async <ReturnType extends { id: string }>(\n query: (id: string) => Promise<ReturnType[]>,\n id: string,\n prevResults: ReturnType[] = [],\n): Promise<ReturnType[]> => {\n const newResults = await promiseTimeout(\n query(id),\n 20000,\n new Error('Timeout querying Graph for QuickSync of DOP-TXID Events'),\n );\n if (newResults.length === 0) {\n return prevResults;\n }\n\n const totalResults = prevResults.concat(newResults);\n\n const overLimit = totalResults.length >= MAX_QUERY_RESULTS;\n const lastResult = totalResults[totalResults.length - 1];\n\n const shouldQueryMore = newResults.length === 5000;\n // console.log(\"SHOULD QUERY MORE\", shouldQueryMore, \"OVER LIMIT\", overLimit, \"TOTAL RESULTS\", totalResults.length)\n if (!overLimit && shouldQueryMore) {\n await delay(250);\n return autoPaginatingQuery(query, lastResult.id, totalResults);\n }\n\n return totalResults;\n};\n\nconst getBuiltGraphClient = async (\n networkName: NetworkName,\n): Promise<MeshInstance> => {\n const meshForNetwork = meshes[networkName];\n if (isDefined(meshForNetwork)) {\n return meshForNetwork;\n }\n const sourceName = txsSubgraphSourceNameForNetwork(networkName);\n const meshOptions = await getMeshOptions();\n const filteredSources = meshOptions.sources.filter(source => {\n return source.name === sourceName;\n });\n if (filteredSources.length !== 1) {\n throw new Error(\n `Expected exactly one source for network ${networkName}, found ${filteredSources.length}`,\n );\n }\n meshOptions.sources = [filteredSources[0]];\n\n try {\n const mesh = await getMesh(meshOptions);\n meshes[networkName] = mesh;\n const id = mesh.pubsub.subscribe('destroy', () => {\n meshes[networkName] = undefined;\n mesh.pubsub.unsubscribe(id);\n });\n return mesh;\n } catch (cause) {\n throw new Error(\n `ERROR getting mesh - if error includes \"can't generate schema,\" make sure to check the filepaths for source schema imports in the built index file`,\n { cause },\n );\n }\n};\n\nconst getBuiltGraphSDK = <TGlobalContext, TOperationContext>(\n networkName: NetworkName,\n globalContext?: TGlobalContext,\n) => {\n const sdkRequester$ = getBuiltGraphClient(networkName).then(\n ({ sdkRequesterFactory }) => sdkRequesterFactory(globalContext),\n );\n return getSdk<TOperationContext, TGlobalContext>((...args) =>\n sdkRequester$.then(sdkRequester => sdkRequester(...args)),\n );\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Chain } from 'dop-engine-
|
|
2
|
-
import { TransactionHistoryItem, TransactionHistoryItemCategory } from 'dop-sharedmodels-
|
|
1
|
+
import { Chain } from 'dop-engine-v5';
|
|
2
|
+
import { TransactionHistoryItem, TransactionHistoryItemCategory } from 'dop-sharedmodels-v5';
|
|
3
3
|
export declare const categoryForTransactionHistoryItem: (historyItem: TransactionHistoryItem) => TransactionHistoryItemCategory;
|
|
4
4
|
export declare const getWalletTransactionHistory: (chain: Chain, dopWalletID: string, startingBlock: Optional<number>) => Promise<TransactionHistoryItem[]>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getWalletTransactionHistory = exports.categoryForTransactionHistoryItem = void 0;
|
|
4
|
-
const dop_engine_v3_1 = require("dop-engine-
|
|
5
|
-
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-
|
|
4
|
+
const dop_engine_v3_1 = require("dop-engine-v5");
|
|
5
|
+
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
|
|
6
6
|
const bytes_1 = require("../util/bytes");
|
|
7
7
|
const error_1 = require("../../../utils/error");
|
|
8
8
|
const wallets_1 = require("../wallets/wallets");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-history.js","sourceRoot":"","sources":["../../../../src/services/dop/history/transaction-history.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n TransactionHistoryTransferTokenAmount,\n TransactionHistoryTokenAmount,\n TransactionHistoryEntry,\n Chain,\n TransactionHistoryReceiveTokenAmount,\n TokenType,\n ByteLength,\n ByteUtils,\n TransactionHistoryDecryptTokenAmount,\n WalletBalanceBucket,\n} from 'dop-engine-v3';\nimport {\n TransactionHistoryItem,\n DopHistoryERC20Amount,\n DopHistorySendERC20Amount,\n DopHistoryReceiveERC20Amount,\n DopHistorySendNFTAmount,\n DopHistoryNFTAmount,\n DopHistoryReceiveNFTAmount,\n DopHistoryDecryptERC20Amount,\n DopHistoryDecryptNFTAmount,\n TransactionHistoryItemCategory,\n DopWalletBalanceBucket,\n} from 'dop-sharedmodels-v3';\nimport { parseDopTokenAddress } from '../util/bytes';\nimport { reportAndSanitizeError } from '../../../utils/error';\nimport { walletForID } from '../wallets/wallets';\n\nconst getDopBalanceBucketFromEngineBalanceBucket = (\n balanceBucket: WalletBalanceBucket,\n): DopWalletBalanceBucket => {\n switch (balanceBucket) {\n case WalletBalanceBucket.Spendable:\n return DopWalletBalanceBucket.Spendable;\n case WalletBalanceBucket.EncryptBlocked:\n return DopWalletBalanceBucket.EncryptBlocked;\n case WalletBalanceBucket.EncryptPending:\n return DopWalletBalanceBucket.EncryptPending;\n case WalletBalanceBucket.ProofSubmitted:\n return DopWalletBalanceBucket.ProofSubmitted;\n case WalletBalanceBucket.Spent:\n return DopWalletBalanceBucket.Spent;\n default:\n return DopWalletBalanceBucket.Spendable;\n }\n throw new Error('Unrecognized WalletBalanceBucket');\n};\n\nconst transactionHistoryReceiveTokenAmountToDopERC20Amount = (\n transactionHistoryReceiveTokenAmount: TransactionHistoryReceiveTokenAmount,\n): DopHistoryReceiveERC20Amount => {\n return {\n ...transactionHistoryTokenAmountToDopERC20Amount(\n transactionHistoryReceiveTokenAmount,\n ),\n memoText: transactionHistoryReceiveTokenAmount.memoText,\n senderAddress: transactionHistoryReceiveTokenAmount.senderAddress,\n encryptFee: transactionHistoryReceiveTokenAmount.encryptFee,\n balanceBucket: getDopBalanceBucketFromEngineBalanceBucket(\n transactionHistoryReceiveTokenAmount.balanceBucket,\n ),\n };\n};\n\nconst transactionHistoryReceiveNFTToDopNFTAmount = (\n transactionHistoryReceiveTokenAmount: TransactionHistoryReceiveTokenAmount,\n): DopHistoryReceiveNFTAmount => {\n return {\n ...transactionHistoryNFTToDopNFTAmount(\n transactionHistoryReceiveTokenAmount,\n ),\n memoText: transactionHistoryReceiveTokenAmount.memoText,\n senderAddress: transactionHistoryReceiveTokenAmount.senderAddress,\n encryptFee: transactionHistoryReceiveTokenAmount.encryptFee,\n balanceBucket: getDopBalanceBucketFromEngineBalanceBucket(\n transactionHistoryReceiveTokenAmount.balanceBucket,\n ),\n };\n};\n\nconst transactionHistoryTransferTokenAmountToDopERC20Amount = (\n transactionHistoryTokenAmount: TransactionHistoryTransferTokenAmount,\n): DopHistorySendERC20Amount => {\n return {\n ...transactionHistoryTokenAmountToDopERC20Amount(\n transactionHistoryTokenAmount,\n ),\n recipientAddress: transactionHistoryTokenAmount.recipientAddress,\n memoText: transactionHistoryTokenAmount.memoText,\n walletSource: transactionHistoryTokenAmount.walletSource,\n };\n};\n\nconst transactionHistoryDecryptTokenAmountToDopERC20Amount = (\n transactionHistoryDecryptTokenAmount: TransactionHistoryDecryptTokenAmount,\n): DopHistoryDecryptERC20Amount => {\n return {\n ...transactionHistoryTransferTokenAmountToDopERC20Amount(\n transactionHistoryDecryptTokenAmount,\n ),\n decryptFee: transactionHistoryDecryptTokenAmount.decryptFee,\n };\n};\n\nconst transactionHistoryTransferNFTToDopNFTAmount = (\n transactionHistoryNFT: TransactionHistoryTransferTokenAmount,\n): DopHistorySendNFTAmount => {\n return {\n ...transactionHistoryNFTToDopNFTAmount(transactionHistoryNFT),\n memoText: transactionHistoryNFT.memoText,\n walletSource: transactionHistoryNFT.walletSource,\n recipientAddress: transactionHistoryNFT.recipientAddress,\n };\n};\n\nconst transactionHistoryDecryptNFTToDopNFTAmount = (\n transactionHistoryNFT: TransactionHistoryDecryptTokenAmount,\n): DopHistoryDecryptNFTAmount => {\n return {\n ...transactionHistoryTransferNFTToDopNFTAmount(transactionHistoryNFT),\n decryptFee: transactionHistoryNFT.decryptFee,\n };\n};\n\nconst transactionHistoryTokenAmountToDopERC20Amount = (\n transactionHistoryTokenAmount: TransactionHistoryTokenAmount,\n): DopHistoryERC20Amount => {\n return {\n tokenAddress: parseDopTokenAddress(\n transactionHistoryTokenAmount.tokenData.tokenAddress,\n ).toLowerCase(),\n amount: transactionHistoryTokenAmount.amount,\n };\n};\n\nconst transactionHistoryNFTToDopNFTAmount = (\n transactionHistoryNFT: TransactionHistoryTokenAmount,\n): DopHistoryNFTAmount => {\n return {\n nftAddress: parseDopTokenAddress(\n transactionHistoryNFT.tokenData.tokenAddress,\n ).toLowerCase(),\n nftTokenType: transactionHistoryNFT.tokenData.tokenType as 1 | 2,\n tokenSubID: transactionHistoryNFT.tokenData.tokenSubID,\n amount: transactionHistoryNFT.amount,\n };\n};\n\nconst filterERC20 = (tokenAmount: TransactionHistoryTokenAmount) => {\n return tokenAmount.tokenData.tokenType === TokenType.ERC20;\n};\n\nconst filterNFT = (tokenAmount: TransactionHistoryTokenAmount) => {\n switch (tokenAmount.tokenData.tokenType) {\n case TokenType.ERC20:\n return false;\n case TokenType.ERC721:\n case TokenType.ERC1155:\n return tokenAmount.amount > BigInt(0);\n }\n};\n\nconst receiveERC20AmountsHaveEncryptFee = (\n receiveERC20Amounts: DopHistoryReceiveERC20Amount[],\n): boolean => {\n return receiveERC20Amounts.find(amount => amount.encryptFee) != null;\n};\n\nexport const categoryForTransactionHistoryItem = (\n historyItem: TransactionHistoryItem,\n): TransactionHistoryItemCategory => {\n const hasTransferNFTs = historyItem.transferNFTAmounts.length > 0;\n const hasReceiveNFTs = historyItem.receiveNFTAmounts.length > 0;\n const hasDecryptNFTs = historyItem.decryptNFTAmounts.length > 0;\n if (hasTransferNFTs || hasReceiveNFTs || hasDecryptNFTs) {\n // Some kind of NFT Transfer. Unhandled case.\n return TransactionHistoryItemCategory.Unknown;\n }\n\n const hasTransferERC20s = historyItem.transferERC20Amounts.length > 0;\n const hasReceiveERC20s = historyItem.receiveERC20Amounts.length > 0;\n const hasDecryptERC20s = historyItem.decryptERC20Amounts.length > 0;\n\n if (hasTransferERC20s && !hasReceiveERC20s && !hasDecryptERC20s) {\n // Only transfer erc20s.\n return TransactionHistoryItemCategory.TransferSendERC20s;\n }\n\n if (!hasTransferERC20s && hasReceiveERC20s && !hasDecryptERC20s) {\n // Only receive erc20s.\n const hasEncryptFee = receiveERC20AmountsHaveEncryptFee(\n historyItem.receiveERC20Amounts,\n );\n if (hasEncryptFee) {\n // Note: Encrypt fees were added to contract events in Mar 2023.\n // Prior encrypts will show as TransferReceiveERC20s without fees.\n return TransactionHistoryItemCategory.EncryptERC20s;\n }\n return TransactionHistoryItemCategory.TransferReceiveERC20s;\n }\n\n if (!hasTransferERC20s && !hasReceiveERC20s && hasDecryptERC20s) {\n // Only decrypt erc20s.\n return TransactionHistoryItemCategory.DecryptERC20s;\n }\n\n return TransactionHistoryItemCategory.Unknown;\n};\n\nconst serializeTransactionHistory = (\n transactionHistory: TransactionHistoryEntry[],\n): TransactionHistoryItem[] => {\n const historyItemsUncategorized: TransactionHistoryItem[] =\n transactionHistory.map(historyEntry => ({\n txidVersion: historyEntry.txidVersion,\n txid: ByteUtils.formatToByteLength(historyEntry.txid, ByteLength.UINT_256, true),\n blockNumber: historyEntry.blockNumber,\n timestamp: historyEntry.timestamp,\n transferERC20Amounts: historyEntry.transferTokenAmounts\n .filter(filterERC20)\n .map(transactionHistoryTransferTokenAmountToDopERC20Amount),\n broadcasterFeeERC20Amount: undefined,\n changeERC20Amounts: historyEntry.changeTokenAmounts\n .filter(filterERC20)\n .map(transactionHistoryTokenAmountToDopERC20Amount),\n receiveERC20Amounts: historyEntry.receiveTokenAmounts\n .filter(filterERC20)\n .map(transactionHistoryReceiveTokenAmountToDopERC20Amount),\n decryptERC20Amounts: historyEntry.decryptTokenAmounts\n .filter(filterERC20)\n .map(transactionHistoryDecryptTokenAmountToDopERC20Amount),\n receiveNFTAmounts: historyEntry.receiveTokenAmounts\n .filter(filterNFT)\n .map(transactionHistoryReceiveNFTToDopNFTAmount),\n transferNFTAmounts: historyEntry.transferTokenAmounts\n .filter(filterNFT)\n .map(transactionHistoryTransferNFTToDopNFTAmount),\n decryptNFTAmounts: historyEntry.decryptTokenAmounts\n .filter(filterNFT)\n .map(transactionHistoryDecryptNFTToDopNFTAmount),\n version: historyEntry.version,\n category: TransactionHistoryItemCategory.Unknown,\n }));\n\n // Add category for items based on token types.\n return historyItemsUncategorized.map(historyItem => ({\n ...historyItem,\n category: categoryForTransactionHistoryItem(historyItem),\n }));\n};\n\nexport const getWalletTransactionHistory = async (\n chain: Chain,\n dopWalletID: string,\n startingBlock: Optional<number>,\n): Promise<TransactionHistoryItem[]> => {\n try {\n const wallet = walletForID(dopWalletID);\n const transactionHistory = await wallet.getTransactionHistory(\n chain,\n startingBlock,\n );\n return serializeTransactionHistory(transactionHistory);\n } catch (err) {\n reportAndSanitizeError(getWalletTransactionHistory.name, err);\n throw new Error('Could not load DOP wallet transaction history.', {\n cause: err,\n });\n }\n};"]}
|
|
1
|
+
{"version":3,"file":"transaction-history.js","sourceRoot":"","sources":["../../../../src/services/dop/history/transaction-history.ts"],"names":[],"mappings":";;;AAAA,iDAWuB;AACvB,6DAY6B;AAC7B,yCAAqD;AACrD,gDAA8D;AAC9D,gDAAiD;AAEjD,MAAM,0CAA0C,GAAG,CACjD,aAAkC,EACV,EAAE;IAC1B,QAAQ,aAAa,EAAE;QACrB,KAAK,mCAAmB,CAAC,SAAS;YAChC,OAAO,4CAAsB,CAAC,SAAS,CAAC;QAC1C,KAAK,mCAAmB,CAAC,cAAc;YACrC,OAAO,4CAAsB,CAAC,cAAc,CAAC;QAC/C,KAAK,mCAAmB,CAAC,cAAc;YACrC,OAAO,4CAAsB,CAAC,cAAc,CAAC;QAC/C,KAAK,mCAAmB,CAAC,cAAc;YACrC,OAAO,4CAAsB,CAAC,cAAc,CAAC;QAC/C,KAAK,mCAAmB,CAAC,KAAK;YAC5B,OAAO,4CAAsB,CAAC,KAAK,CAAC;QACtC;YACA,OAAO,4CAAsB,CAAC,SAAS,CAAC;KACzC;IACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,oDAAoD,GAAG,CAC3D,oCAA0E,EAC5C,EAAE;IAChC,OAAO;QACL,GAAG,6CAA6C,CAC9C,oCAAoC,CACrC;QACD,QAAQ,EAAE,oCAAoC,CAAC,QAAQ;QACvD,aAAa,EAAE,oCAAoC,CAAC,aAAa;QACjE,UAAU,EAAE,oCAAoC,CAAC,UAAU;QAC3D,aAAa,EAAE,0CAA0C,CACvD,oCAAoC,CAAC,aAAa,CACnD;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0CAA0C,GAAG,CACjD,oCAA0E,EAC9C,EAAE;IAC9B,OAAO;QACL,GAAG,mCAAmC,CACpC,oCAAoC,CACrC;QACD,QAAQ,EAAE,oCAAoC,CAAC,QAAQ;QACvD,aAAa,EAAE,oCAAoC,CAAC,aAAa;QACjE,UAAU,EAAE,oCAAoC,CAAC,UAAU;QAC3D,aAAa,EAAE,0CAA0C,CACvD,oCAAoC,CAAC,aAAa,CACnD;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qDAAqD,GAAG,CAC5D,6BAAoE,EACzC,EAAE;IAC7B,OAAO;QACL,GAAG,6CAA6C,CAC9C,6BAA6B,CAC9B;QACD,gBAAgB,EAAE,6BAA6B,CAAC,gBAAgB;QAChE,QAAQ,EAAE,6BAA6B,CAAC,QAAQ;QAChD,YAAY,EAAE,6BAA6B,CAAC,YAAY;KACzD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oDAAoD,GAAG,CAC3D,oCAA0E,EAC5C,EAAE;IAChC,OAAO;QACL,GAAG,qDAAqD,CACtD,oCAAoC,CACrC;QACD,UAAU,EAAE,oCAAoC,CAAC,UAAU;KAC5D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,2CAA2C,GAAG,CAClD,qBAA4D,EACnC,EAAE;IAC3B,OAAO;QACL,GAAG,mCAAmC,CAAC,qBAAqB,CAAC;QAC7D,QAAQ,EAAE,qBAAqB,CAAC,QAAQ;QACxC,YAAY,EAAE,qBAAqB,CAAC,YAAY;QAChD,gBAAgB,EAAE,qBAAqB,CAAC,gBAAgB;KACzD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0CAA0C,GAAG,CACjD,qBAA2D,EAC/B,EAAE;IAC9B,OAAO;QACL,GAAG,2CAA2C,CAAC,qBAAqB,CAAC;QACrE,UAAU,EAAE,qBAAqB,CAAC,UAAU;KAC7C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,6CAA6C,GAAG,CACpD,6BAA4D,EACrC,EAAE;IACzB,OAAO;QACL,YAAY,EAAE,IAAA,4BAAoB,EAChC,6BAA6B,CAAC,SAAS,CAAC,YAAY,CACrD,CAAC,WAAW,EAAE;QACf,MAAM,EAAE,6BAA6B,CAAC,MAAM;KAC7C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mCAAmC,GAAG,CAC1C,qBAAoD,EAC/B,EAAE;IACvB,OAAO;QACL,UAAU,EAAE,IAAA,4BAAoB,EAC9B,qBAAqB,CAAC,SAAS,CAAC,YAAY,CAC7C,CAAC,WAAW,EAAE;QACf,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,SAAkB;QAChE,UAAU,EAAE,qBAAqB,CAAC,SAAS,CAAC,UAAU;QACtD,MAAM,EAAE,qBAAqB,CAAC,MAAM;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,WAA0C,EAAE,EAAE;IACjE,OAAO,WAAW,CAAC,SAAS,CAAC,SAAS,KAAK,yBAAS,CAAC,KAAK,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,WAA0C,EAAE,EAAE;IAC/D,QAAQ,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE;QACvC,KAAK,yBAAS,CAAC,KAAK;YAClB,OAAO,KAAK,CAAC;QACf,KAAK,yBAAS,CAAC,MAAM,CAAC;QACtB,KAAK,yBAAS,CAAC,OAAO;YACpB,OAAO,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;KACzC;AACH,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CACxC,mBAAmD,EAC1C,EAAE;IACX,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;AACvE,CAAC,CAAC;AAEK,MAAM,iCAAiC,GAAG,CAC/C,WAAmC,EACH,EAAE;IAClC,MAAM,eAAe,GAAG,WAAW,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,IAAI,eAAe,IAAI,cAAc,IAAI,cAAc,EAAE;QACvD,6CAA6C;QAC7C,OAAO,oDAA8B,CAAC,OAAO,CAAC;KAC/C;IAED,MAAM,iBAAiB,GAAG,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;IACtE,MAAM,gBAAgB,GAAG,WAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,MAAM,gBAAgB,GAAG,WAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpE,IAAI,iBAAiB,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,EAAE;QAC/D,wBAAwB;QACxB,OAAO,oDAA8B,CAAC,kBAAkB,CAAC;KAC1D;IAED,IAAI,CAAC,iBAAiB,IAAI,gBAAgB,IAAI,CAAC,gBAAgB,EAAE;QAC/D,uBAAuB;QACvB,MAAM,aAAa,GAAG,iCAAiC,CACrD,WAAW,CAAC,mBAAmB,CAChC,CAAC;QACF,IAAI,aAAa,EAAE;YACjB,gEAAgE;YAChE,kEAAkE;YAClE,OAAO,oDAA8B,CAAC,aAAa,CAAC;SACrD;QACD,OAAO,oDAA8B,CAAC,qBAAqB,CAAC;KAC7D;IAED,IAAI,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,EAAE;QAC/D,uBAAuB;QACvB,OAAO,oDAA8B,CAAC,aAAa,CAAC;KACrD;IAED,OAAO,oDAA8B,CAAC,OAAO,CAAC;AAChD,CAAC,CAAC;AAvCW,QAAA,iCAAiC,qCAuC5C;AAEF,MAAM,2BAA2B,GAAG,CAClC,kBAA6C,EACnB,EAAE;IAC5B,MAAM,yBAAyB,GAC7B,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACtC,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,IAAI,EAAE,yBAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,EAAE,0BAAU,CAAC,QAAQ,EAAE,IAAI,CAAC;QAChF,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,oBAAoB,EAAE,YAAY,CAAC,oBAAoB;aACpD,MAAM,CAAC,WAAW,CAAC;aACnB,GAAG,CAAC,qDAAqD,CAAC;QAC7D,yBAAyB,EAAE,SAAS;QACpC,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;aAChD,MAAM,CAAC,WAAW,CAAC;aACnB,GAAG,CAAC,6CAA6C,CAAC;QACrD,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;aAClD,MAAM,CAAC,WAAW,CAAC;aACnB,GAAG,CAAC,oDAAoD,CAAC;QAC5D,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;aAClD,MAAM,CAAC,WAAW,CAAC;aACnB,GAAG,CAAC,oDAAoD,CAAC;QAC5D,iBAAiB,EAAE,YAAY,CAAC,mBAAmB;aAChD,MAAM,CAAC,SAAS,CAAC;aACjB,GAAG,CAAC,0CAA0C,CAAC;QAClD,kBAAkB,EAAE,YAAY,CAAC,oBAAoB;aAClD,MAAM,CAAC,SAAS,CAAC;aACjB,GAAG,CAAC,2CAA2C,CAAC;QACnD,iBAAiB,EAAE,YAAY,CAAC,mBAAmB;aAChD,MAAM,CAAC,SAAS,CAAC;aACjB,GAAG,CAAC,0CAA0C,CAAC;QAClD,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,QAAQ,EAAE,oDAA8B,CAAC,OAAO;KACjD,CAAC,CAAC,CAAC;IAEN,+CAA+C;IAC/C,OAAO,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACnD,GAAG,WAAW;QACd,QAAQ,EAAE,IAAA,yCAAiC,EAAC,WAAW,CAAC;KACzD,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEK,MAAM,2BAA2B,GAAG,KAAK,EAC9C,KAAY,EACZ,WAAmB,EACnB,aAA+B,EACI,EAAE;IACrC,IAAI;QACF,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,WAAW,CAAC,CAAC;QACxC,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAC3D,KAAK,EACL,aAAa,CACd,CAAC;QACF,OAAO,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;KACxD;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,8BAAsB,EAAC,mCAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,gDAAgD,EAAE;YAChE,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;KACJ;AACH,CAAC,CAAC;AAlBW,QAAA,2BAA2B,+BAkBtC","sourcesContent":["import {\n TransactionHistoryTransferTokenAmount,\n TransactionHistoryTokenAmount,\n TransactionHistoryEntry,\n Chain,\n TransactionHistoryReceiveTokenAmount,\n TokenType,\n ByteLength,\n ByteUtils,\n TransactionHistoryDecryptTokenAmount,\n WalletBalanceBucket,\n} from 'dop-engine-v5';\nimport {\n TransactionHistoryItem,\n DopHistoryERC20Amount,\n DopHistorySendERC20Amount,\n DopHistoryReceiveERC20Amount,\n DopHistorySendNFTAmount,\n DopHistoryNFTAmount,\n DopHistoryReceiveNFTAmount,\n DopHistoryDecryptERC20Amount,\n DopHistoryDecryptNFTAmount,\n TransactionHistoryItemCategory,\n DopWalletBalanceBucket,\n} from 'dop-sharedmodels-v5';\nimport { parseDopTokenAddress } from '../util/bytes';\nimport { reportAndSanitizeError } from '../../../utils/error';\nimport { walletForID } from '../wallets/wallets';\n\nconst getDopBalanceBucketFromEngineBalanceBucket = (\n balanceBucket: WalletBalanceBucket,\n): DopWalletBalanceBucket => {\n switch (balanceBucket) {\n case WalletBalanceBucket.Spendable:\n return DopWalletBalanceBucket.Spendable;\n case WalletBalanceBucket.EncryptBlocked:\n return DopWalletBalanceBucket.EncryptBlocked;\n case WalletBalanceBucket.EncryptPending:\n return DopWalletBalanceBucket.EncryptPending;\n case WalletBalanceBucket.ProofSubmitted:\n return DopWalletBalanceBucket.ProofSubmitted;\n case WalletBalanceBucket.Spent:\n return DopWalletBalanceBucket.Spent;\n default:\n return DopWalletBalanceBucket.Spendable;\n }\n throw new Error('Unrecognized WalletBalanceBucket');\n};\n\nconst transactionHistoryReceiveTokenAmountToDopERC20Amount = (\n transactionHistoryReceiveTokenAmount: TransactionHistoryReceiveTokenAmount,\n): DopHistoryReceiveERC20Amount => {\n return {\n ...transactionHistoryTokenAmountToDopERC20Amount(\n transactionHistoryReceiveTokenAmount,\n ),\n memoText: transactionHistoryReceiveTokenAmount.memoText,\n senderAddress: transactionHistoryReceiveTokenAmount.senderAddress,\n encryptFee: transactionHistoryReceiveTokenAmount.encryptFee,\n balanceBucket: getDopBalanceBucketFromEngineBalanceBucket(\n transactionHistoryReceiveTokenAmount.balanceBucket,\n ),\n };\n};\n\nconst transactionHistoryReceiveNFTToDopNFTAmount = (\n transactionHistoryReceiveTokenAmount: TransactionHistoryReceiveTokenAmount,\n): DopHistoryReceiveNFTAmount => {\n return {\n ...transactionHistoryNFTToDopNFTAmount(\n transactionHistoryReceiveTokenAmount,\n ),\n memoText: transactionHistoryReceiveTokenAmount.memoText,\n senderAddress: transactionHistoryReceiveTokenAmount.senderAddress,\n encryptFee: transactionHistoryReceiveTokenAmount.encryptFee,\n balanceBucket: getDopBalanceBucketFromEngineBalanceBucket(\n transactionHistoryReceiveTokenAmount.balanceBucket,\n ),\n };\n};\n\nconst transactionHistoryTransferTokenAmountToDopERC20Amount = (\n transactionHistoryTokenAmount: TransactionHistoryTransferTokenAmount,\n): DopHistorySendERC20Amount => {\n return {\n ...transactionHistoryTokenAmountToDopERC20Amount(\n transactionHistoryTokenAmount,\n ),\n recipientAddress: transactionHistoryTokenAmount.recipientAddress,\n memoText: transactionHistoryTokenAmount.memoText,\n walletSource: transactionHistoryTokenAmount.walletSource,\n };\n};\n\nconst transactionHistoryDecryptTokenAmountToDopERC20Amount = (\n transactionHistoryDecryptTokenAmount: TransactionHistoryDecryptTokenAmount,\n): DopHistoryDecryptERC20Amount => {\n return {\n ...transactionHistoryTransferTokenAmountToDopERC20Amount(\n transactionHistoryDecryptTokenAmount,\n ),\n decryptFee: transactionHistoryDecryptTokenAmount.decryptFee,\n };\n};\n\nconst transactionHistoryTransferNFTToDopNFTAmount = (\n transactionHistoryNFT: TransactionHistoryTransferTokenAmount,\n): DopHistorySendNFTAmount => {\n return {\n ...transactionHistoryNFTToDopNFTAmount(transactionHistoryNFT),\n memoText: transactionHistoryNFT.memoText,\n walletSource: transactionHistoryNFT.walletSource,\n recipientAddress: transactionHistoryNFT.recipientAddress,\n };\n};\n\nconst transactionHistoryDecryptNFTToDopNFTAmount = (\n transactionHistoryNFT: TransactionHistoryDecryptTokenAmount,\n): DopHistoryDecryptNFTAmount => {\n return {\n ...transactionHistoryTransferNFTToDopNFTAmount(transactionHistoryNFT),\n decryptFee: transactionHistoryNFT.decryptFee,\n };\n};\n\nconst transactionHistoryTokenAmountToDopERC20Amount = (\n transactionHistoryTokenAmount: TransactionHistoryTokenAmount,\n): DopHistoryERC20Amount => {\n return {\n tokenAddress: parseDopTokenAddress(\n transactionHistoryTokenAmount.tokenData.tokenAddress,\n ).toLowerCase(),\n amount: transactionHistoryTokenAmount.amount,\n };\n};\n\nconst transactionHistoryNFTToDopNFTAmount = (\n transactionHistoryNFT: TransactionHistoryTokenAmount,\n): DopHistoryNFTAmount => {\n return {\n nftAddress: parseDopTokenAddress(\n transactionHistoryNFT.tokenData.tokenAddress,\n ).toLowerCase(),\n nftTokenType: transactionHistoryNFT.tokenData.tokenType as 1 | 2,\n tokenSubID: transactionHistoryNFT.tokenData.tokenSubID,\n amount: transactionHistoryNFT.amount,\n };\n};\n\nconst filterERC20 = (tokenAmount: TransactionHistoryTokenAmount) => {\n return tokenAmount.tokenData.tokenType === TokenType.ERC20;\n};\n\nconst filterNFT = (tokenAmount: TransactionHistoryTokenAmount) => {\n switch (tokenAmount.tokenData.tokenType) {\n case TokenType.ERC20:\n return false;\n case TokenType.ERC721:\n case TokenType.ERC1155:\n return tokenAmount.amount > BigInt(0);\n }\n};\n\nconst receiveERC20AmountsHaveEncryptFee = (\n receiveERC20Amounts: DopHistoryReceiveERC20Amount[],\n): boolean => {\n return receiveERC20Amounts.find(amount => amount.encryptFee) != null;\n};\n\nexport const categoryForTransactionHistoryItem = (\n historyItem: TransactionHistoryItem,\n): TransactionHistoryItemCategory => {\n const hasTransferNFTs = historyItem.transferNFTAmounts.length > 0;\n const hasReceiveNFTs = historyItem.receiveNFTAmounts.length > 0;\n const hasDecryptNFTs = historyItem.decryptNFTAmounts.length > 0;\n if (hasTransferNFTs || hasReceiveNFTs || hasDecryptNFTs) {\n // Some kind of NFT Transfer. Unhandled case.\n return TransactionHistoryItemCategory.Unknown;\n }\n\n const hasTransferERC20s = historyItem.transferERC20Amounts.length > 0;\n const hasReceiveERC20s = historyItem.receiveERC20Amounts.length > 0;\n const hasDecryptERC20s = historyItem.decryptERC20Amounts.length > 0;\n\n if (hasTransferERC20s && !hasReceiveERC20s && !hasDecryptERC20s) {\n // Only transfer erc20s.\n return TransactionHistoryItemCategory.TransferSendERC20s;\n }\n\n if (!hasTransferERC20s && hasReceiveERC20s && !hasDecryptERC20s) {\n // Only receive erc20s.\n const hasEncryptFee = receiveERC20AmountsHaveEncryptFee(\n historyItem.receiveERC20Amounts,\n );\n if (hasEncryptFee) {\n // Note: Encrypt fees were added to contract events in Mar 2023.\n // Prior encrypts will show as TransferReceiveERC20s without fees.\n return TransactionHistoryItemCategory.EncryptERC20s;\n }\n return TransactionHistoryItemCategory.TransferReceiveERC20s;\n }\n\n if (!hasTransferERC20s && !hasReceiveERC20s && hasDecryptERC20s) {\n // Only decrypt erc20s.\n return TransactionHistoryItemCategory.DecryptERC20s;\n }\n\n return TransactionHistoryItemCategory.Unknown;\n};\n\nconst serializeTransactionHistory = (\n transactionHistory: TransactionHistoryEntry[],\n): TransactionHistoryItem[] => {\n const historyItemsUncategorized: TransactionHistoryItem[] =\n transactionHistory.map(historyEntry => ({\n txidVersion: historyEntry.txidVersion,\n txid: ByteUtils.formatToByteLength(historyEntry.txid, ByteLength.UINT_256, true),\n blockNumber: historyEntry.blockNumber,\n timestamp: historyEntry.timestamp,\n transferERC20Amounts: historyEntry.transferTokenAmounts\n .filter(filterERC20)\n .map(transactionHistoryTransferTokenAmountToDopERC20Amount),\n broadcasterFeeERC20Amount: undefined,\n changeERC20Amounts: historyEntry.changeTokenAmounts\n .filter(filterERC20)\n .map(transactionHistoryTokenAmountToDopERC20Amount),\n receiveERC20Amounts: historyEntry.receiveTokenAmounts\n .filter(filterERC20)\n .map(transactionHistoryReceiveTokenAmountToDopERC20Amount),\n decryptERC20Amounts: historyEntry.decryptTokenAmounts\n .filter(filterERC20)\n .map(transactionHistoryDecryptTokenAmountToDopERC20Amount),\n receiveNFTAmounts: historyEntry.receiveTokenAmounts\n .filter(filterNFT)\n .map(transactionHistoryReceiveNFTToDopNFTAmount),\n transferNFTAmounts: historyEntry.transferTokenAmounts\n .filter(filterNFT)\n .map(transactionHistoryTransferNFTToDopNFTAmount),\n decryptNFTAmounts: historyEntry.decryptTokenAmounts\n .filter(filterNFT)\n .map(transactionHistoryDecryptNFTToDopNFTAmount),\n version: historyEntry.version,\n category: TransactionHistoryItemCategory.Unknown,\n }));\n\n // Add category for items based on token types.\n return historyItemsUncategorized.map(historyItem => ({\n ...historyItem,\n category: categoryForTransactionHistoryItem(historyItem),\n }));\n};\n\nexport const getWalletTransactionHistory = async (\n chain: Chain,\n dopWalletID: string,\n startingBlock: Optional<number>,\n): Promise<TransactionHistoryItem[]> => {\n try {\n const wallet = walletForID(dopWalletID);\n const transactionHistory = await wallet.getTransactionHistory(\n chain,\n startingBlock,\n );\n return serializeTransactionHistory(transactionHistory);\n } catch (err) {\n reportAndSanitizeError(getWalletTransactionHistory.name, err);\n throw new Error('Could not load DOP wallet transaction history.', {\n cause: err,\n });\n }\n};"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Network, TXIDVersion } from 'dop-sharedmodels-
|
|
1
|
+
import { Network, TXIDVersion } from 'dop-sharedmodels-v5';
|
|
2
2
|
import { ContractTransaction } from 'ethers';
|
|
3
3
|
export declare const extractFirstNoteERC20AmountMapFromTransactionRequest: (dopWalletID: string, txidVersion: TXIDVersion, network: Network, transactionRequest: ContractTransaction, useRelayAdapt: boolean) => Promise<MapType<bigint>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractFirstNoteERC20AmountMapFromTransactionRequest = void 0;
|
|
4
|
-
const dop_engine_v3_1 = require("dop-engine-
|
|
4
|
+
const dop_engine_v3_1 = require("dop-engine-v5");
|
|
5
5
|
const wallets_1 = require("../wallets/wallets");
|
|
6
6
|
const extractFirstNoteERC20AmountMapFromTransactionRequest = (dopWalletID, txidVersion, network, transactionRequest, useRelayAdapt) => {
|
|
7
7
|
const chain = network.chain;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-transaction-data.js","sourceRoot":"","sources":["../../../../src/services/dop/process/extract-transaction-data.ts"],"names":[],"mappings":";;;AAAA,iDAA2D;AAG3D,gDAAiD;AAE1C,MAAM,oDAAoD,GAAG,CAClE,WAAmB,EACnB,WAAwB,EACxB,OAAgB,EAChB,kBAAuC,EACvC,aAAsB,EACI,EAAE;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE5B,IAAI,eAAuB,CAAC;IAC5B,IAAI,aAAa,EAAE;QACjB,eAAe,GAAG,0CAA0B,CAAC,qBAAqB,CAChE,WAAW,EACX,KAAK,CACN,CAAC,OAAO,CAAC;KACX;SAAM;QACL,eAAe,GAAG,0CAA0B,CAAC,WAAW,CACtD,WAAW,EACX,KAAK,CACN,CAAC,OAAO,CAAC;KACX;IAED,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,WAAW,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,8BAA8B,CAC1C,WAAW,EACX,KAAK,EACL,kBAAkB,EAClB,aAAa,EACb,eAAe,CAChB,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,oDAAoD,wDA8B/D","sourcesContent":["import { DopVersionedSmartContracts } from 'dop-engine-
|
|
1
|
+
{"version":3,"file":"extract-transaction-data.js","sourceRoot":"","sources":["../../../../src/services/dop/process/extract-transaction-data.ts"],"names":[],"mappings":";;;AAAA,iDAA2D;AAG3D,gDAAiD;AAE1C,MAAM,oDAAoD,GAAG,CAClE,WAAmB,EACnB,WAAwB,EACxB,OAAgB,EAChB,kBAAuC,EACvC,aAAsB,EACI,EAAE;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE5B,IAAI,eAAuB,CAAC;IAC5B,IAAI,aAAa,EAAE;QACjB,eAAe,GAAG,0CAA0B,CAAC,qBAAqB,CAChE,WAAW,EACX,KAAK,CACN,CAAC,OAAO,CAAC;KACX;SAAM;QACL,eAAe,GAAG,0CAA0B,CAAC,WAAW,CACtD,WAAW,EACX,KAAK,CACN,CAAC,OAAO,CAAC;KACX;IAED,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,WAAW,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,8BAA8B,CAC1C,WAAW,EACX,KAAK,EACL,kBAAkB,EAClB,aAAa,EACb,eAAe,CAChB,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,oDAAoD,wDA8B/D","sourcesContent":["import { DopVersionedSmartContracts } from 'dop-engine-v5';\nimport { Network, TXIDVersion } from 'dop-sharedmodels-v5';\nimport { ContractTransaction } from 'ethers';\nimport { walletForID } from '../wallets/wallets';\n\nexport const extractFirstNoteERC20AmountMapFromTransactionRequest = (\n dopWalletID: string,\n txidVersion: TXIDVersion,\n network: Network,\n transactionRequest: ContractTransaction,\n useRelayAdapt: boolean,\n): Promise<MapType<bigint>> => {\n const chain = network.chain;\n\n let contractAddress: string;\n if (useRelayAdapt) {\n contractAddress = DopVersionedSmartContracts.getRelayAdaptContract(\n txidVersion,\n chain,\n ).address;\n } else {\n contractAddress = DopVersionedSmartContracts.getVerifier(\n txidVersion,\n chain,\n ).address;\n }\n\n const wallet = walletForID(dopWalletID);\n return wallet.extractFirstNoteERC20AmountMap(\n txidVersion,\n chain,\n transactionRequest,\n useRelayAdapt,\n contractAddress,\n );\n};\n"]}
|
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
/* eslint-disable no-bitwise */
|
|
7
|
-
const dop_engine_v3_1 = require("dop-engine-
|
|
8
|
-
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-
|
|
7
|
+
const dop_engine_v3_1 = require("dop-engine-v5");
|
|
8
|
+
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
|
|
9
9
|
const chai_1 = __importDefault(require("chai"));
|
|
10
10
|
const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
|
|
11
11
|
const quick_sync_events_1 = require("../../quick-sync-events");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-sync-events-graph-v2.test.js","sourceRoot":"","sources":["../../../../../../src/services/dop/quick-sync/V2/__tests__/quick-sync-events-graph-v2.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-bitwise */\nimport { Chain, CommitmentEvent, TXIDVersion } from 'dop-engine-v3';\nimport { NetworkName, NETWORK_CONFIG } from 'dop-sharedmodels-v3';\nimport chai from 'chai';\nimport chaiAsPromised from 'chai-as-promised';\nimport { quickSyncEventsGraph } from '../../quick-sync-events';\nimport { isV2Test } from '../../../../../tests/helper.test';\n\nchai.use(chaiAsPromised);\nconst { expect } = chai;\n\nconst txidVersion = TXIDVersion.V2_PoseidonMerkle;\n\nconst ETH_CHAIN: Chain = NETWORK_CONFIG[NetworkName.Ethereum].chain;\nconst EXPECTED_COMMITMENT_GROUP_EVENTS_ETH = 20_000;\nconst EXPECTED_NULLIFIER_EVENTS_ETH = 27_000;\nconst EXPECTED_DECRYPT_EVENTS_ETH = 10_000;\n\nconst POLYGON_CHAIN: Chain = NETWORK_CONFIG[NetworkName.Polygon].chain;\nconst EXPECTED_COMMITMENT_GROUP_EVENTS_POLYGON = 20_000;\nconst EXPECTED_NULLIFIER_EVENTS_POLYGON = 30_000;\nconst EXPECTED_DECRYPT_EVENTS_POLYGON = 10_000;\n\nconst BNB_CHAIN: Chain = NETWORK_CONFIG[NetworkName.BNBChain].chain;\nconst EXPECTED_COMMITMENT_GROUP_EVENTS_BNB = 9_000;\nconst EXPECTED_NULLIFIER_EVENTS_BNB = 12_000;\nconst EXPECTED_DECRYPT_EVENTS_BNB = 4_000;\n\nconst ARBITRUM_CHAIN: Chain = NETWORK_CONFIG[NetworkName.Arbitrum].chain;\nconst EXPECTED_COMMITMENT_GROUP_EVENTS_ARBITRUM = 17_000;\nconst EXPECTED_NULLIFIER_EVENTS_ARBITRUM = 22_000;\nconst EXPECTED_DECRYPT_EVENTS_ARBITRUM = 9_000;\n\nconst SEPOLIA_CHAIN: Chain = NETWORK_CONFIG[NetworkName.EthereumSepolia].chain;\nconst EXPECTED_COMMITMENT_GROUP_EVENTS_SEPOLIA = 1;\nconst EXPECTED_NULLIFIER_EVENTS_SEPOLIA = 1;\nconst EXPECTED_DECRYPT_EVENTS_SEPOLIA = 1;\n\nconst assertContiguousCommitmentEvents = (\n commitmentEvents: CommitmentEvent[],\n shouldThrow: boolean,\n) => {\n // Track unique events by their actual start positions\n const positionMap = new Map<number, Set<number>>();\n};\n\ndescribe('quick-sync-events-graph-v2', () => {\n it('[V2] Should make sure Graph V2 query has no data gaps in commitments - Ethereum', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n const eventLog = await quickSyncEventsGraph(\n txidVersion,\n ETH_CHAIN,\n 14858124,\n );\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.be.at.least(\n EXPECTED_COMMITMENT_GROUP_EVENTS_ETH,\n );\n expect(eventLog.nullifierEvents.length).to.be.at.least(\n EXPECTED_NULLIFIER_EVENTS_ETH,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_ETH,\n );\n\n const shouldThrow = true;\n assertContiguousCommitmentEvents(eventLog.commitmentEvents, shouldThrow);\n }).timeout(200_000);\n\n it('[V2] Should make sure Graph V2 query has no data gaps in commitments - Polygon', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n\n const eventLog = await quickSyncEventsGraph(txidVersion, POLYGON_CHAIN, 0);\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.be.at.least(\n EXPECTED_COMMITMENT_GROUP_EVENTS_POLYGON,\n );\n expect(eventLog.nullifierEvents.length).to.be.at.least(\n EXPECTED_NULLIFIER_EVENTS_POLYGON,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_POLYGON,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_POLYGON,\n );\n\n const shouldThrow = true;\n assertContiguousCommitmentEvents(eventLog.commitmentEvents, shouldThrow);\n }).timeout(200_000);\n\n it('[V2] Should make sure Graph V2 query has no data gaps in commitments - BNB Smart Chain', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n\n const eventLog = await quickSyncEventsGraph(txidVersion, BNB_CHAIN, 0);\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.be.at.least(\n EXPECTED_COMMITMENT_GROUP_EVENTS_BNB,\n );\n expect(eventLog.nullifierEvents.length).to.be.at.least(\n EXPECTED_NULLIFIER_EVENTS_BNB,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_BNB,\n );\n\n const shouldThrow = true;\n assertContiguousCommitmentEvents(eventLog.commitmentEvents, shouldThrow);\n }).timeout(200_000);\n\n it('[V2] Should make sure Graph V2 query has no data gaps in commitments - Arbitrum', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n\n const eventLog = await quickSyncEventsGraph(txidVersion, ARBITRUM_CHAIN, 0);\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.be.at.least(\n EXPECTED_COMMITMENT_GROUP_EVENTS_ARBITRUM,\n );\n expect(eventLog.nullifierEvents.length).to.be.at.least(\n EXPECTED_NULLIFIER_EVENTS_ARBITRUM,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_ARBITRUM,\n );\n\n const shouldThrow = true;\n assertContiguousCommitmentEvents(eventLog.commitmentEvents, shouldThrow);\n }).timeout(200_000);\n\n it('[V2] Should make sure Graph V2 query has no data gaps in commitments - Sepolia', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n\n const eventLog = await quickSyncEventsGraph(txidVersion, SEPOLIA_CHAIN, 0);\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.be.at.least(\n EXPECTED_COMMITMENT_GROUP_EVENTS_SEPOLIA,\n );\n expect(eventLog.nullifierEvents.length).to.be.at.least(\n EXPECTED_NULLIFIER_EVENTS_SEPOLIA,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_SEPOLIA,\n );\n\n const shouldThrow = true;\n assertContiguousCommitmentEvents(eventLog.commitmentEvents, shouldThrow);\n }).timeout(90_000);\n\n it('[V2] Should run live Dop Event Log fetch for Polygon with high starting block', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n\n const eventLog = await quickSyncEventsGraph(\n txidVersion,\n POLYGON_CHAIN,\n 100000000,\n );\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.nullifierEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.equal(0);\n expect(eventLog.nullifierEvents.length).to.equal(0);\n expect(eventLog.decryptEvents.length).to.equal(0);\n }).timeout(200_000);\n});\n"]}
|
|
1
|
+
{"version":3,"file":"quick-sync-events-graph-v2.test.js","sourceRoot":"","sources":["../../../../../../src/services/dop/quick-sync/V2/__tests__/quick-sync-events-graph-v2.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-bitwise */\nimport { Chain, CommitmentEvent, TXIDVersion } from 'dop-engine-v5';\nimport { NetworkName, NETWORK_CONFIG } from 'dop-sharedmodels-v5';\nimport chai from 'chai';\nimport chaiAsPromised from 'chai-as-promised';\nimport { quickSyncEventsGraph } from '../../quick-sync-events';\nimport { isV2Test } from '../../../../../tests/helper.test';\n\nchai.use(chaiAsPromised);\nconst { expect } = chai;\n\nconst txidVersion = TXIDVersion.V2_PoseidonMerkle;\n\nconst ETH_CHAIN: Chain = NETWORK_CONFIG[NetworkName.Ethereum].chain;\nconst EXPECTED_COMMITMENT_GROUP_EVENTS_ETH = 20_000;\nconst EXPECTED_NULLIFIER_EVENTS_ETH = 27_000;\nconst EXPECTED_DECRYPT_EVENTS_ETH = 10_000;\n\nconst POLYGON_CHAIN: Chain = NETWORK_CONFIG[NetworkName.Polygon].chain;\nconst EXPECTED_COMMITMENT_GROUP_EVENTS_POLYGON = 20_000;\nconst EXPECTED_NULLIFIER_EVENTS_POLYGON = 30_000;\nconst EXPECTED_DECRYPT_EVENTS_POLYGON = 10_000;\n\nconst BNB_CHAIN: Chain = NETWORK_CONFIG[NetworkName.BNBChain].chain;\nconst EXPECTED_COMMITMENT_GROUP_EVENTS_BNB = 9_000;\nconst EXPECTED_NULLIFIER_EVENTS_BNB = 12_000;\nconst EXPECTED_DECRYPT_EVENTS_BNB = 4_000;\n\nconst ARBITRUM_CHAIN: Chain = NETWORK_CONFIG[NetworkName.Arbitrum].chain;\nconst EXPECTED_COMMITMENT_GROUP_EVENTS_ARBITRUM = 17_000;\nconst EXPECTED_NULLIFIER_EVENTS_ARBITRUM = 22_000;\nconst EXPECTED_DECRYPT_EVENTS_ARBITRUM = 9_000;\n\nconst SEPOLIA_CHAIN: Chain = NETWORK_CONFIG[NetworkName.EthereumSepolia].chain;\nconst EXPECTED_COMMITMENT_GROUP_EVENTS_SEPOLIA = 1;\nconst EXPECTED_NULLIFIER_EVENTS_SEPOLIA = 1;\nconst EXPECTED_DECRYPT_EVENTS_SEPOLIA = 1;\n\nconst assertContiguousCommitmentEvents = (\n commitmentEvents: CommitmentEvent[],\n shouldThrow: boolean,\n) => {\n // Track unique events by their actual start positions\n const positionMap = new Map<number, Set<number>>();\n};\n\ndescribe('quick-sync-events-graph-v2', () => {\n it('[V2] Should make sure Graph V2 query has no data gaps in commitments - Ethereum', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n const eventLog = await quickSyncEventsGraph(\n txidVersion,\n ETH_CHAIN,\n 14858124,\n );\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.be.at.least(\n EXPECTED_COMMITMENT_GROUP_EVENTS_ETH,\n );\n expect(eventLog.nullifierEvents.length).to.be.at.least(\n EXPECTED_NULLIFIER_EVENTS_ETH,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_ETH,\n );\n\n const shouldThrow = true;\n assertContiguousCommitmentEvents(eventLog.commitmentEvents, shouldThrow);\n }).timeout(200_000);\n\n it('[V2] Should make sure Graph V2 query has no data gaps in commitments - Polygon', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n\n const eventLog = await quickSyncEventsGraph(txidVersion, POLYGON_CHAIN, 0);\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.be.at.least(\n EXPECTED_COMMITMENT_GROUP_EVENTS_POLYGON,\n );\n expect(eventLog.nullifierEvents.length).to.be.at.least(\n EXPECTED_NULLIFIER_EVENTS_POLYGON,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_POLYGON,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_POLYGON,\n );\n\n const shouldThrow = true;\n assertContiguousCommitmentEvents(eventLog.commitmentEvents, shouldThrow);\n }).timeout(200_000);\n\n it('[V2] Should make sure Graph V2 query has no data gaps in commitments - BNB Smart Chain', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n\n const eventLog = await quickSyncEventsGraph(txidVersion, BNB_CHAIN, 0);\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.be.at.least(\n EXPECTED_COMMITMENT_GROUP_EVENTS_BNB,\n );\n expect(eventLog.nullifierEvents.length).to.be.at.least(\n EXPECTED_NULLIFIER_EVENTS_BNB,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_BNB,\n );\n\n const shouldThrow = true;\n assertContiguousCommitmentEvents(eventLog.commitmentEvents, shouldThrow);\n }).timeout(200_000);\n\n it('[V2] Should make sure Graph V2 query has no data gaps in commitments - Arbitrum', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n\n const eventLog = await quickSyncEventsGraph(txidVersion, ARBITRUM_CHAIN, 0);\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.be.at.least(\n EXPECTED_COMMITMENT_GROUP_EVENTS_ARBITRUM,\n );\n expect(eventLog.nullifierEvents.length).to.be.at.least(\n EXPECTED_NULLIFIER_EVENTS_ARBITRUM,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_ARBITRUM,\n );\n\n const shouldThrow = true;\n assertContiguousCommitmentEvents(eventLog.commitmentEvents, shouldThrow);\n }).timeout(200_000);\n\n it('[V2] Should make sure Graph V2 query has no data gaps in commitments - Sepolia', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n\n const eventLog = await quickSyncEventsGraph(txidVersion, SEPOLIA_CHAIN, 0);\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.be.at.least(\n EXPECTED_COMMITMENT_GROUP_EVENTS_SEPOLIA,\n );\n expect(eventLog.nullifierEvents.length).to.be.at.least(\n EXPECTED_NULLIFIER_EVENTS_SEPOLIA,\n );\n expect(eventLog.decryptEvents.length).to.be.at.least(\n EXPECTED_DECRYPT_EVENTS_SEPOLIA,\n );\n\n const shouldThrow = true;\n assertContiguousCommitmentEvents(eventLog.commitmentEvents, shouldThrow);\n }).timeout(90_000);\n\n it('[V2] Should run live Dop Event Log fetch for Polygon with high starting block', async function run() {\n if (!isV2Test()) {\n this.skip();\n return;\n }\n\n const eventLog = await quickSyncEventsGraph(\n txidVersion,\n POLYGON_CHAIN,\n 100000000,\n );\n expect(eventLog).to.be.an('object');\n expect(eventLog.commitmentEvents).to.be.an('array');\n expect(eventLog.nullifierEvents).to.be.an('array');\n expect(eventLog.commitmentEvents.length).to.equal(0);\n expect(eventLog.nullifierEvents.length).to.equal(0);\n expect(eventLog.decryptEvents.length).to.equal(0);\n }).timeout(200_000);\n});\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Nullifier, DecryptStoredEvent, CommitmentEvent } from 'dop-engine-
|
|
1
|
+
import { Nullifier, DecryptStoredEvent, CommitmentEvent } from 'dop-engine-v5';
|
|
2
2
|
import { Nullifier as GraphNullifierV2, Decrypt as GraphDecryptV2, LegacyGeneratedCommitment as GraphLegacyGeneratedCommitmentV2, LegacyEncryptedCommitment as GraphLegacyEncryptedCommitmentV2, EncryptCommitment as GraphEncryptCommitmentV2, TransactCommitment as GraphTransactCommitmentV2 } from './graphql';
|
|
3
3
|
export type GraphCommitmentV2 = GraphLegacyEncryptedCommitmentV2 | GraphLegacyGeneratedCommitmentV2 | GraphEncryptCommitmentV2 | GraphTransactCommitmentV2;
|
|
4
4
|
export type GraphCommitmentBatchV2 = {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatGraphCommitmentEventsV2 = exports.formatGraphDecryptEventsV2 = exports.formatGraphNullifierEventsV2 = void 0;
|
|
4
|
-
const dop_engine_v3_1 = require("dop-engine-
|
|
4
|
+
const dop_engine_v3_1 = require("dop-engine-v5");
|
|
5
5
|
const ethers_1 = require("ethers");
|
|
6
|
-
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-
|
|
6
|
+
const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
|
|
7
7
|
const shared_formatters_1 = require("../shared-formatters");
|
|
8
8
|
const formatGraphNullifierEventsV2 = (nullifiers) => {
|
|
9
9
|
return nullifiers.map(nullifier => {
|