@subql/node-ethereum 3.5.1 → 3.5.2-0
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.
|
@@ -10,7 +10,7 @@ function filterBlocksProcessor(block, filter, address) {
|
|
|
10
10
|
if ((filter === null || filter === void 0 ? void 0 : filter.modulo) && block.number % filter.modulo !== 0) {
|
|
11
11
|
return false;
|
|
12
12
|
}
|
|
13
|
-
if (filter.timestamp) {
|
|
13
|
+
if (filter === null || filter === void 0 ? void 0 : filter.timestamp) {
|
|
14
14
|
return filterBlockTimestamp(block, filter);
|
|
15
15
|
}
|
|
16
16
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.ethereum.js","sourceRoot":"","sources":["../../src/ethereum/block.ethereum.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAEnC,gDAA6C;AAY7C,4CAKyB;AAEzB,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,gBAAgB,CAAC,CAAC;AAE3C,SAAgB,qBAAqB,CACnC,KAAoB,EACpB,MAA2B,EAC3B,OAAgB;IAEhB,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACxD,OAAO,KAAK,CAAC;KACd;IACD,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"block.ethereum.js","sourceRoot":"","sources":["../../src/ethereum/block.ethereum.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { getLogger } from '@subql/node-core';\nimport {\n EthereumBlock,\n EthereumTransactionFilter,\n EthereumLog,\n EthereumLogFilter,\n EthereumBlockFilter,\n EthereumTransaction,\n LightEthereumLog,\n} from '@subql/types-ethereum';\nimport { SubqlProjectBlockFilter } from '../configure/SubqueryProject';\nimport { BlockContent } from '../indexer/types';\nimport {\n eventToTopic,\n functionToSighash,\n hexStringEq,\n stringNormalizedEq,\n} from '../utils/string';\n\nconst logger = getLogger('block.ethereum');\n\nexport function filterBlocksProcessor(\n block: EthereumBlock,\n filter: EthereumBlockFilter,\n address?: string,\n): boolean {\n if (filter?.modulo && block.number % filter.modulo !== 0) {\n return false;\n }\n if (filter?.timestamp) {\n return filterBlockTimestamp(block, filter as SubqlProjectBlockFilter);\n }\n return true;\n}\n\nexport function filterBlockTimestamp(\n block: EthereumBlock,\n filter: SubqlProjectBlockFilter,\n): boolean {\n const unixTimestamp = Number(block.timestamp) * 1000; // Multiply to add MS\n if (unixTimestamp > filter.cronSchedule.next) {\n logger.info(\n `Block with timestamp ${new Date(\n unixTimestamp,\n ).toString()} is about to be indexed`,\n );\n logger.info(\n `Next block will be indexed at ${new Date(\n filter.cronSchedule.next,\n ).toString()}`,\n );\n filter.cronSchedule.schedule.prev();\n return true;\n } else {\n filter.cronSchedule.schedule.prev();\n return false;\n }\n}\n\nexport function filterTransactionsProcessor(\n transaction: EthereumTransaction,\n filter: EthereumTransactionFilter,\n address?: string,\n): boolean {\n if (!filter) return true;\n\n if (\n filter.to === null &&\n !(transaction.to === null || transaction.to === undefined)\n ) {\n return false;\n }\n\n if (filter.to && !stringNormalizedEq(filter.to, transaction.to)) {\n return false;\n }\n if (filter.from && !stringNormalizedEq(filter.from, transaction.from)) {\n return false;\n }\n if (\n address &&\n filter.to === undefined &&\n !stringNormalizedEq(address, transaction.to)\n ) {\n return false;\n }\n if (\n filter.function &&\n transaction.input.indexOf(functionToSighash(filter.function)) !== 0\n ) {\n return false;\n }\n return true;\n}\n\nexport function filterLogsProcessor(\n log: EthereumLog | LightEthereumLog,\n filter: EthereumLogFilter,\n address?: string,\n): boolean {\n if (address && !stringNormalizedEq(address, log.address)) {\n return false;\n }\n\n if (!filter) return true;\n\n if (filter.topics) {\n for (let i = 0; i < Math.min(filter.topics.length, 4); i++) {\n const topic = filter.topics[i];\n if (!topic) {\n continue;\n }\n\n if (!log.topics[i]) {\n return false;\n }\n\n if (topic === '!null') {\n return true;\n }\n\n if (!hexStringEq(eventToTopic(topic), log.topics[i])) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport function isFullBlock(block: BlockContent): block is EthereumBlock {\n // Light etherum block just contains transaction hashes for transactions. If the block has no transactions then both types would be the same\n return typeof (block as EthereumBlock).transactions[0] !== 'string';\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subql/node-ethereum",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.2-0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Ian He",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"@subql/common-ethereum": "3.2.0",
|
|
30
30
|
"@subql/node-core": "^7.0.8-0",
|
|
31
31
|
"@subql/testing": "^2.0.2",
|
|
32
|
-
"@subql/types-ethereum": "3.2.
|
|
32
|
+
"@subql/types-ethereum": "3.2.2-0",
|
|
33
33
|
"cacheable-lookup": "6",
|
|
34
34
|
"cron-converter": "^1.0.2",
|
|
35
35
|
"ethers": "^5.7.0",
|
|
@@ -65,5 +65,6 @@
|
|
|
65
65
|
"files": [
|
|
66
66
|
"/dist",
|
|
67
67
|
"/bin"
|
|
68
|
-
]
|
|
68
|
+
],
|
|
69
|
+
"stableVersion": "3.5.1"
|
|
69
70
|
}
|