@0xtorch/evm 0.0.69 → 0.0.70
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/_cjs/logic/analyzeTransaction/getDataFromDatasource.js +9 -3
- package/_cjs/logic/analyzeTransaction/getDataFromDatasource.js.map +1 -1
- package/_cjs/logic/analyzeTransaction/index.js +3 -1
- package/_cjs/logic/analyzeTransaction/index.js.map +1 -1
- package/_esm/logic/analyzeTransaction/getDataFromDatasource.js +10 -4
- package/_esm/logic/analyzeTransaction/getDataFromDatasource.js.map +1 -1
- package/_esm/logic/analyzeTransaction/index.js +3 -1
- package/_esm/logic/analyzeTransaction/index.js.map +1 -1
- package/_types/logic/analyzeTransaction/getDataFromDatasource.d.ts +2 -1
- package/_types/logic/analyzeTransaction/getDataFromDatasource.d.ts.map +1 -1
- package/_types/logic/analyzeTransaction/index.d.ts.map +1 -1
- package/logic/analyzeTransaction/createActions/tests/tx-1-0xa5e6747ff365166bc618b7d8ee0cf512bc5d01095ca20d6b68ebac53a1e452d3.json +1 -1
- package/logic/analyzeTransaction/getDataFromDatasource.ts +33 -7
- package/logic/analyzeTransaction/index.ts +3 -1
- package/package.json +1 -1
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getDataFromDatasource = void 0;
|
|
4
4
|
const utils_1 = require("../../utils");
|
|
5
|
-
const getDataFromDatasource = async ({ transaction, datasource, }) => {
|
|
5
|
+
const getDataFromDatasource = async ({ transaction, datasource, accountIds, }) => {
|
|
6
6
|
const erc20TransferAddresses = new Set(transaction.erc20Transfers.map((transfer) => transfer.address));
|
|
7
7
|
const nftIds = new Set([
|
|
8
|
-
...transaction.erc721Transfers
|
|
9
|
-
|
|
8
|
+
...transaction.erc721Transfers
|
|
9
|
+
.filter(({ from, to }) => accountIds.has((0, utils_1.createEvmAddressId)({ chainId: transaction.chainId, address: from })) ||
|
|
10
|
+
accountIds.has((0, utils_1.createEvmAddressId)({ chainId: transaction.chainId, address: to })))
|
|
11
|
+
.map(({ address, tokenId }) => (0, utils_1.createErc721NftId)({ chainId: transaction.chainId, address, tokenId })),
|
|
12
|
+
...transaction.erc1155Transfers
|
|
13
|
+
.filter(({ from, to }) => accountIds.has((0, utils_1.createEvmAddressId)({ chainId: transaction.chainId, address: from })) ||
|
|
14
|
+
accountIds.has((0, utils_1.createEvmAddressId)({ chainId: transaction.chainId, address: to })))
|
|
15
|
+
.map(({ address, tokenId }) => (0, utils_1.createErc1155NftId)({ chainId: transaction.chainId, address, tokenId })),
|
|
10
16
|
]);
|
|
11
17
|
const rawAddresses = new Set([
|
|
12
18
|
transaction.from,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDataFromDatasource.js","sourceRoot":"","sources":["../../../logic/analyzeTransaction/getDataFromDatasource.ts"],"names":[],"mappings":";;;AAKA,
|
|
1
|
+
{"version":3,"file":"getDataFromDatasource.js","sourceRoot":"","sources":["../../../logic/analyzeTransaction/getDataFromDatasource.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,11 @@ const createActions_1 = require("./createActions");
|
|
|
5
5
|
const decodeTransaction_1 = require("./decodeTransaction");
|
|
6
6
|
const getDataFromDatasource_1 = require("./getDataFromDatasource");
|
|
7
7
|
const analyzeTransaction = async ({ chain, transaction, datasource, accountIds, }) => {
|
|
8
|
+
const accountIdSet = new Set(accountIds);
|
|
8
9
|
const { addresses, erc20Tokens, eventAbis, functionAbis, jsonAnalyzers, nfts, } = await (0, getDataFromDatasource_1.getDataFromDatasource)({
|
|
9
10
|
transaction,
|
|
10
11
|
datasource,
|
|
12
|
+
accountIds: accountIdSet,
|
|
11
13
|
});
|
|
12
14
|
const transactionDecoded = (0, decodeTransaction_1.decodeTransaction)({
|
|
13
15
|
transaction,
|
|
@@ -20,7 +22,7 @@ const analyzeTransaction = async ({ chain, transaction, datasource, accountIds,
|
|
|
20
22
|
const actions = (0, createActions_1.createActions)({
|
|
21
23
|
chain,
|
|
22
24
|
transaction: transactionDecoded,
|
|
23
|
-
accountIds:
|
|
25
|
+
accountIds: accountIdSet,
|
|
24
26
|
jsonAnalyzers,
|
|
25
27
|
});
|
|
26
28
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../logic/analyzeTransaction/index.ts"],"names":[],"mappings":";;;AAKA,mDAA+C;AAC/C,2DAAuD;AACvD,mEAA+D;AAcxD,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,KAAK,EACL,WAAW,EACX,UAAU,EACV,UAAU,GACmB,EAA0C,EAAE;IACzE,MAAM,EACJ,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,IAAI,GACL,GAAG,MAAM,IAAA,6CAAqB,EAAC;QAC9B,WAAW;QACX,UAAU;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../logic/analyzeTransaction/index.ts"],"names":[],"mappings":";;;AAKA,mDAA+C;AAC/C,2DAAuD;AACvD,mEAA+D;AAcxD,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,KAAK,EACL,WAAW,EACX,UAAU,EACV,UAAU,GACmB,EAA0C,EAAE;IACzE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IACxC,MAAM,EACJ,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,IAAI,GACL,GAAG,MAAM,IAAA,6CAAqB,EAAC;QAC9B,WAAW;QACX,UAAU;QACV,UAAU,EAAE,YAAY;KACzB,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,IAAA,qCAAiB,EAAC;QAC3C,WAAW;QACX,SAAS;QACT,WAAW;QACX,SAAS;QACT,YAAY;QACZ,IAAI;KACL,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC;QAC5B,KAAK;QACL,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,YAAY;QACxB,aAAa;KACd,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EAAE,kBAAkB;QAC/B,OAAO;KACR,CAAA;AACH,CAAC,CAAA;AAxCY,QAAA,kBAAkB,sBAwC9B"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import { createErc721NftId, createErc1155NftId } from '../../utils';
|
|
2
|
-
export const getDataFromDatasource = async ({ transaction, datasource, }) => {
|
|
1
|
+
import { createErc721NftId, createErc1155NftId, createEvmAddressId, } from '../../utils';
|
|
2
|
+
export const getDataFromDatasource = async ({ transaction, datasource, accountIds, }) => {
|
|
3
3
|
// Fetch data from datasource
|
|
4
4
|
const erc20TransferAddresses = new Set(transaction.erc20Transfers.map((transfer) => transfer.address));
|
|
5
5
|
const nftIds = new Set([
|
|
6
|
-
...transaction.erc721Transfers
|
|
7
|
-
|
|
6
|
+
...transaction.erc721Transfers
|
|
7
|
+
.filter(({ from, to }) => accountIds.has(createEvmAddressId({ chainId: transaction.chainId, address: from })) ||
|
|
8
|
+
accountIds.has(createEvmAddressId({ chainId: transaction.chainId, address: to })))
|
|
9
|
+
.map(({ address, tokenId }) => createErc721NftId({ chainId: transaction.chainId, address, tokenId })),
|
|
10
|
+
...transaction.erc1155Transfers
|
|
11
|
+
.filter(({ from, to }) => accountIds.has(createEvmAddressId({ chainId: transaction.chainId, address: from })) ||
|
|
12
|
+
accountIds.has(createEvmAddressId({ chainId: transaction.chainId, address: to })))
|
|
13
|
+
.map(({ address, tokenId }) => createErc1155NftId({ chainId: transaction.chainId, address, tokenId })),
|
|
8
14
|
]);
|
|
9
15
|
const rawAddresses = new Set([
|
|
10
16
|
transaction.from,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDataFromDatasource.js","sourceRoot":"","sources":["../../../logic/analyzeTransaction/getDataFromDatasource.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"getDataFromDatasource.js","sourceRoot":"","sources":["../../../logic/analyzeTransaction/getDataFromDatasource.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,11 @@ import { createActions } from './createActions';
|
|
|
2
2
|
import { decodeTransaction } from './decodeTransaction';
|
|
3
3
|
import { getDataFromDatasource } from './getDataFromDatasource';
|
|
4
4
|
export const analyzeTransaction = async ({ chain, transaction, datasource, accountIds, }) => {
|
|
5
|
+
const accountIdSet = new Set(accountIds);
|
|
5
6
|
const { addresses, erc20Tokens, eventAbis, functionAbis, jsonAnalyzers, nfts, } = await getDataFromDatasource({
|
|
6
7
|
transaction,
|
|
7
8
|
datasource,
|
|
9
|
+
accountIds: accountIdSet,
|
|
8
10
|
});
|
|
9
11
|
const transactionDecoded = decodeTransaction({
|
|
10
12
|
transaction,
|
|
@@ -17,7 +19,7 @@ export const analyzeTransaction = async ({ chain, transaction, datasource, accou
|
|
|
17
19
|
const actions = createActions({
|
|
18
20
|
chain,
|
|
19
21
|
transaction: transactionDecoded,
|
|
20
|
-
accountIds:
|
|
22
|
+
accountIds: accountIdSet,
|
|
21
23
|
jsonAnalyzers,
|
|
22
24
|
});
|
|
23
25
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../logic/analyzeTransaction/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAc/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,KAAK,EACL,WAAW,EACX,UAAU,EACV,UAAU,GACmB,EAA0C,EAAE;IACzE,MAAM,EACJ,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,IAAI,GACL,GAAG,MAAM,qBAAqB,CAAC;QAC9B,WAAW;QACX,UAAU;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../logic/analyzeTransaction/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAc/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,KAAK,EACL,WAAW,EACX,UAAU,EACV,UAAU,GACmB,EAA0C,EAAE;IACzE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IACxC,MAAM,EACJ,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,IAAI,GACL,GAAG,MAAM,qBAAqB,CAAC;QAC9B,WAAW;QACX,UAAU;QACV,UAAU,EAAE,YAAY;KACzB,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;QAC3C,WAAW;QACX,SAAS;QACT,WAAW;QACX,SAAS;QACT,YAAY;QACZ,IAAI;KACL,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,KAAK;QACL,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,YAAY;QACxB,aAAa;KACd,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EAAE,kBAAkB;QAC/B,OAAO;KACR,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -6,6 +6,7 @@ import type { TransactionDetail } from '../../types/transactionDetail';
|
|
|
6
6
|
type GetDataFromDatasourceParameters = {
|
|
7
7
|
transaction: TransactionDetail;
|
|
8
8
|
datasource: AnalyzeDataSource;
|
|
9
|
+
accountIds: Set<string>;
|
|
9
10
|
};
|
|
10
11
|
type GetDataFromDatasourceReturnTypes = {
|
|
11
12
|
addresses: readonly EvmAddress[];
|
|
@@ -19,6 +20,6 @@ type GetDataFromDatasourceReturnTypes = {
|
|
|
19
20
|
jsonAnalyzers: readonly unknown[];
|
|
20
21
|
nfts: readonly Nft[];
|
|
21
22
|
};
|
|
22
|
-
export declare const getDataFromDatasource: ({ transaction, datasource, }: GetDataFromDatasourceParameters) => Promise<GetDataFromDatasourceReturnTypes>;
|
|
23
|
+
export declare const getDataFromDatasource: ({ transaction, datasource, accountIds, }: GetDataFromDatasourceParameters) => Promise<GetDataFromDatasourceReturnTypes>;
|
|
23
24
|
export {};
|
|
24
25
|
//# sourceMappingURL=getDataFromDatasource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDataFromDatasource.d.ts","sourceRoot":"","sources":["../../../logic/analyzeTransaction/getDataFromDatasource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"getDataFromDatasource.d.ts","sourceRoot":"","sources":["../../../logic/analyzeTransaction/getDataFromDatasource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAOtE,KAAK,+BAA+B,GAAG;IACrC,WAAW,EAAE,iBAAiB,CAAA;IAC9B,UAAU,EAAE,iBAAiB,CAAA;IAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACxB,CAAA;AAED,KAAK,gCAAgC,GAAG;IACtC,SAAS,EAAE,SAAS,UAAU,EAAE,CAAA;IAChC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;IAClC,SAAS,EAAE,SAAS;QAClB,SAAS,EAAE,QAAQ,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,GAAG,EAAE,MAAM,CAAA;KACZ,EAAE,CAAA;IACH,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;IAE/B,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;IACjC,IAAI,EAAE,SAAS,GAAG,EAAE,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,qBAAqB,6CAI/B,+BAA+B,KAAG,OAAO,CAAC,gCAAgC,CAuF5E,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../logic/analyzeTransaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAKtE,KAAK,4BAA4B,GAAG;IAClC,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,EAAE,iBAAiB,CAAA;IAC9B,UAAU,EAAE,iBAAiB,CAAA;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,KAAK,6BAA6B,GAAG;IACnC,WAAW,EAAE,kBAAkB,CAAA;IAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,kBAAkB,oDAK5B,4BAA4B,KAAG,OAAO,CAAC,6BAA6B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../logic/analyzeTransaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAKtE,KAAK,4BAA4B,GAAG;IAClC,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,EAAE,iBAAiB,CAAA;IAC9B,UAAU,EAAE,iBAAiB,CAAA;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,KAAK,6BAA6B,GAAG;IACnC,WAAW,EAAE,kBAAkB,CAAA;IAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,kBAAkB,oDAK5B,4BAA4B,KAAG,OAAO,CAAC,6BAA6B,CAmCtE,CAAA"}
|
|
@@ -3,11 +3,16 @@ import type { Erc20Token, LowerHex } from '../../types'
|
|
|
3
3
|
import type { EvmAddress } from '../../types/address'
|
|
4
4
|
import type { AnalyzeDataSource } from '../../types/analyzeDataSource'
|
|
5
5
|
import type { TransactionDetail } from '../../types/transactionDetail'
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
createErc721NftId,
|
|
8
|
+
createErc1155NftId,
|
|
9
|
+
createEvmAddressId,
|
|
10
|
+
} from '../../utils'
|
|
7
11
|
|
|
8
12
|
type GetDataFromDatasourceParameters = {
|
|
9
13
|
transaction: TransactionDetail
|
|
10
14
|
datasource: AnalyzeDataSource
|
|
15
|
+
accountIds: Set<string>
|
|
11
16
|
}
|
|
12
17
|
|
|
13
18
|
type GetDataFromDatasourceReturnTypes = {
|
|
@@ -27,18 +32,39 @@ type GetDataFromDatasourceReturnTypes = {
|
|
|
27
32
|
export const getDataFromDatasource = async ({
|
|
28
33
|
transaction,
|
|
29
34
|
datasource,
|
|
35
|
+
accountIds,
|
|
30
36
|
}: GetDataFromDatasourceParameters): Promise<GetDataFromDatasourceReturnTypes> => {
|
|
31
37
|
// Fetch data from datasource
|
|
32
38
|
const erc20TransferAddresses = new Set(
|
|
33
39
|
transaction.erc20Transfers.map((transfer) => transfer.address),
|
|
34
40
|
)
|
|
35
41
|
const nftIds = new Set([
|
|
36
|
-
...transaction.erc721Transfers
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
...transaction.erc721Transfers
|
|
43
|
+
.filter(
|
|
44
|
+
({ from, to }) =>
|
|
45
|
+
accountIds.has(
|
|
46
|
+
createEvmAddressId({ chainId: transaction.chainId, address: from }),
|
|
47
|
+
) ||
|
|
48
|
+
accountIds.has(
|
|
49
|
+
createEvmAddressId({ chainId: transaction.chainId, address: to }),
|
|
50
|
+
),
|
|
51
|
+
)
|
|
52
|
+
.map(({ address, tokenId }) =>
|
|
53
|
+
createErc721NftId({ chainId: transaction.chainId, address, tokenId }),
|
|
54
|
+
),
|
|
55
|
+
...transaction.erc1155Transfers
|
|
56
|
+
.filter(
|
|
57
|
+
({ from, to }) =>
|
|
58
|
+
accountIds.has(
|
|
59
|
+
createEvmAddressId({ chainId: transaction.chainId, address: from }),
|
|
60
|
+
) ||
|
|
61
|
+
accountIds.has(
|
|
62
|
+
createEvmAddressId({ chainId: transaction.chainId, address: to }),
|
|
63
|
+
),
|
|
64
|
+
)
|
|
65
|
+
.map(({ address, tokenId }) =>
|
|
66
|
+
createErc1155NftId({ chainId: transaction.chainId, address, tokenId }),
|
|
67
|
+
),
|
|
42
68
|
])
|
|
43
69
|
const rawAddresses = new Set([
|
|
44
70
|
transaction.from,
|
|
@@ -25,6 +25,7 @@ export const analyzeTransaction = async ({
|
|
|
25
25
|
datasource,
|
|
26
26
|
accountIds,
|
|
27
27
|
}: AnalyzeTransactionParameters): Promise<AnalyzeTransactionReturnTypes> => {
|
|
28
|
+
const accountIdSet = new Set(accountIds)
|
|
28
29
|
const {
|
|
29
30
|
addresses,
|
|
30
31
|
erc20Tokens,
|
|
@@ -35,6 +36,7 @@ export const analyzeTransaction = async ({
|
|
|
35
36
|
} = await getDataFromDatasource({
|
|
36
37
|
transaction,
|
|
37
38
|
datasource,
|
|
39
|
+
accountIds: accountIdSet,
|
|
38
40
|
})
|
|
39
41
|
|
|
40
42
|
const transactionDecoded = decodeTransaction({
|
|
@@ -49,7 +51,7 @@ export const analyzeTransaction = async ({
|
|
|
49
51
|
const actions = createActions({
|
|
50
52
|
chain,
|
|
51
53
|
transaction: transactionDecoded,
|
|
52
|
-
accountIds:
|
|
54
|
+
accountIds: accountIdSet,
|
|
53
55
|
jsonAnalyzers,
|
|
54
56
|
})
|
|
55
57
|
|