@sentio/sdk 3.9.0-rc.9 → 4.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/aptos/aptos-plugin.d.ts +1 -1
- package/lib/aptos/aptos-plugin.d.ts.map +1 -1
- package/lib/aptos/aptos-plugin.js +43 -42
- package/lib/aptos/aptos-plugin.js.map +1 -1
- package/lib/aptos/aptos-processor.d.ts +4 -4
- package/lib/aptos/aptos-processor.d.ts.map +1 -1
- package/lib/aptos/aptos-processor.js +25 -25
- package/lib/aptos/aptos-processor.js.map +1 -1
- package/lib/aptos/aptos-resource-processor-template.d.ts +1 -1
- package/lib/aptos/aptos-resource-processor-template.d.ts.map +1 -1
- package/lib/aptos/aptos-resource-processor-template.js +10 -5
- package/lib/aptos/aptos-resource-processor-template.js.map +1 -1
- package/lib/aptos/context.d.ts +1 -1
- package/lib/aptos/context.d.ts.map +1 -1
- package/lib/aptos/context.js +8 -6
- package/lib/aptos/context.js.map +1 -1
- package/lib/aptos/data.d.ts +4 -4
- package/lib/aptos/data.d.ts.map +1 -1
- package/lib/core/base-context.d.ts +3 -2
- package/lib/core/base-context.d.ts.map +1 -1
- package/lib/core/base-context.js +12 -11
- package/lib/core/base-context.js.map +1 -1
- package/lib/core/core-plugin.d.ts.map +1 -1
- package/lib/core/core-plugin.js +6 -4
- package/lib/core/core-plugin.js.map +1 -1
- package/lib/core/event-logger.d.ts +10 -2
- package/lib/core/event-logger.d.ts.map +1 -1
- package/lib/core/event-logger.js +42 -26
- package/lib/core/event-logger.js.map +1 -1
- package/lib/core/exporter.d.ts.map +1 -1
- package/lib/core/exporter.js +5 -3
- package/lib/core/exporter.js.map +1 -1
- package/lib/core/handler-options.d.ts +1 -1
- package/lib/core/handler-options.d.ts.map +1 -1
- package/lib/core/handler-register.d.ts +1 -1
- package/lib/core/handler-register.d.ts.map +1 -1
- package/lib/core/handler-register.js +2 -2
- package/lib/core/handler-register.js.map +1 -1
- package/lib/core/meter.d.ts +4 -3
- package/lib/core/meter.d.ts.map +1 -1
- package/lib/core/meter.js +5 -4
- package/lib/core/meter.js.map +1 -1
- package/lib/core/normalization.d.ts +1 -1
- package/lib/core/normalization.d.ts.map +1 -1
- package/lib/core/normalization.js +41 -31
- package/lib/core/normalization.js.map +1 -1
- package/lib/core/numberish.d.ts +1 -1
- package/lib/core/numberish.d.ts.map +1 -1
- package/lib/core/numberish.js +35 -30
- package/lib/core/numberish.js.map +1 -1
- package/lib/core/partition-handler-manager.d.ts +1 -1
- package/lib/core/partition-handler-manager.d.ts.map +1 -1
- package/lib/core/partition-handler-manager.js +10 -9
- package/lib/core/partition-handler-manager.js.map +1 -1
- package/lib/cosmos/context.d.ts.map +1 -1
- package/lib/cosmos/context.js +4 -2
- package/lib/cosmos/context.js.map +1 -1
- package/lib/cosmos/cosmos-plugin.d.ts.map +1 -1
- package/lib/cosmos/cosmos-plugin.js +11 -10
- package/lib/cosmos/cosmos-plugin.js.map +1 -1
- package/lib/cosmos/cosmos-processor.js.map +1 -1
- package/lib/eth/abi-decoder/decode-worker.js +2 -2
- package/lib/eth/abi-decoder/decode-worker.js.map +1 -1
- package/lib/eth/account-processor.d.ts +2 -2
- package/lib/eth/account-processor.d.ts.map +1 -1
- package/lib/eth/account-processor.js +10 -9
- package/lib/eth/account-processor.js.map +1 -1
- package/lib/eth/base-processor-template.d.ts +3 -3
- package/lib/eth/base-processor-template.d.ts.map +1 -1
- package/lib/eth/base-processor-template.js +14 -8
- package/lib/eth/base-processor-template.js.map +1 -1
- package/lib/eth/base-processor.d.ts +3 -3
- package/lib/eth/base-processor.d.ts.map +1 -1
- package/lib/eth/base-processor.js +53 -46
- package/lib/eth/base-processor.js.map +1 -1
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +48 -46
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc1155-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc1155-processor.js +18 -16
- package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc20-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc20-processor.js +38 -36
- package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc20bytes-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc20bytes-processor.js +20 -18
- package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc721-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc721-processor.js +30 -28
- package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
- package/lib/eth/builtin/internal/weth9-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/weth9-processor.js +24 -22
- package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
- package/lib/eth/codegen/file.d.ts.map +1 -1
- package/lib/eth/codegen/file.js +2 -1
- package/lib/eth/codegen/file.js.map +1 -1
- package/lib/eth/codegen/function-calls.js +1 -1
- package/lib/eth/context.d.ts +1 -1
- package/lib/eth/context.d.ts.map +1 -1
- package/lib/eth/context.js +12 -10
- package/lib/eth/context.js.map +1 -1
- package/lib/eth/eth-plugin.d.ts.map +1 -1
- package/lib/eth/eth-plugin.js +83 -75
- package/lib/eth/eth-plugin.js.map +1 -1
- package/lib/eth/eth.d.ts +6 -6
- package/lib/eth/eth.d.ts.map +1 -1
- package/lib/eth/eth.js +22 -14
- package/lib/eth/eth.js.map +1 -1
- package/lib/eth/index.d.ts +1 -1
- package/lib/eth/index.d.ts.map +1 -1
- package/lib/eth/index.js +0 -1
- package/lib/eth/index.js.map +1 -1
- package/lib/fuel/asset-processor.d.ts +2 -2
- package/lib/fuel/asset-processor.d.ts.map +1 -1
- package/lib/fuel/asset-processor.js +5 -3
- package/lib/fuel/asset-processor.js.map +1 -1
- package/lib/fuel/context.d.ts.map +1 -1
- package/lib/fuel/context.js +4 -2
- package/lib/fuel/context.js.map +1 -1
- package/lib/fuel/fuel-plugin.d.ts.map +1 -1
- package/lib/fuel/fuel-plugin.js +41 -53
- package/lib/fuel/fuel-plugin.js.map +1 -1
- package/lib/fuel/fuel-processor-template.d.ts.map +1 -1
- package/lib/fuel/fuel-processor-template.js +9 -5
- package/lib/fuel/fuel-processor-template.js.map +1 -1
- package/lib/fuel/fuel-processor.d.ts.map +1 -1
- package/lib/fuel/fuel-processor.js +30 -20
- package/lib/fuel/fuel-processor.js.map +1 -1
- package/lib/fuel/global-processor.d.ts.map +1 -1
- package/lib/fuel/global-processor.js +2 -1
- package/lib/fuel/global-processor.js.map +1 -1
- package/lib/fuel/types.d.ts +10 -4
- package/lib/fuel/types.d.ts.map +1 -1
- package/lib/fuel/types.js.map +1 -1
- package/lib/iota/context.d.ts +1 -1
- package/lib/iota/context.d.ts.map +1 -1
- package/lib/iota/context.js +8 -6
- package/lib/iota/context.js.map +1 -1
- package/lib/iota/iota-object-processor-template.d.ts +1 -1
- package/lib/iota/iota-object-processor-template.d.ts.map +1 -1
- package/lib/iota/iota-object-processor-template.js +17 -12
- package/lib/iota/iota-object-processor-template.js.map +1 -1
- package/lib/iota/iota-object-processor.d.ts +1 -1
- package/lib/iota/iota-object-processor.d.ts.map +1 -1
- package/lib/iota/iota-object-processor.js +23 -16
- package/lib/iota/iota-object-processor.js.map +1 -1
- package/lib/iota/iota-plugin-part.d.ts +1 -1
- package/lib/iota/iota-plugin-part.d.ts.map +1 -1
- package/lib/iota/iota-plugin-part.js +16 -15
- package/lib/iota/iota-plugin-part.js.map +1 -1
- package/lib/iota/iota-processor.d.ts +3 -3
- package/lib/iota/iota-processor.d.ts.map +1 -1
- package/lib/iota/iota-processor.js +20 -19
- package/lib/iota/iota-processor.js.map +1 -1
- package/lib/iota/network.js +2 -2
- package/lib/iota/network.js.map +1 -1
- package/lib/move/filter.d.ts +1 -1
- package/lib/move/filter.d.ts.map +1 -1
- package/lib/move/index.d.ts +1 -1
- package/lib/move/index.d.ts.map +1 -1
- package/lib/move/index.js +0 -1
- package/lib/move/index.js.map +1 -1
- package/lib/solana/builtin/types.d.ts +4 -4
- package/lib/solana/codegen/codegen.d.ts +1 -1
- package/lib/solana/codegen/codegen.d.ts.map +1 -1
- package/lib/solana/codegen/codegen.js +2 -2
- package/lib/solana/codegen/codegen.js.map +1 -1
- package/lib/solana/solana-context.d.ts.map +1 -1
- package/lib/solana/solana-context.js +4 -3
- package/lib/solana/solana-context.js.map +1 -1
- package/lib/solana/solana-plugin.d.ts.map +1 -1
- package/lib/solana/solana-plugin.js +19 -18
- package/lib/solana/solana-plugin.js.map +1 -1
- package/lib/solana/solana-processor.d.ts +2 -2
- package/lib/solana/solana-processor.d.ts.map +1 -1
- package/lib/solana/solana-processor.js +8 -3
- package/lib/solana/solana-processor.js.map +1 -1
- package/lib/store/cache.d.ts.map +1 -1
- package/lib/store/cache.js +22 -17
- package/lib/store/cache.js.map +1 -1
- package/lib/store/codegen.js +2 -2
- package/lib/store/codegen.js.map +1 -1
- package/lib/store/convert.d.ts +1 -1
- package/lib/store/convert.d.ts.map +1 -1
- package/lib/store/convert.js +67 -104
- package/lib/store/convert.js.map +1 -1
- package/lib/store/decorators.d.ts +1 -1
- package/lib/store/decorators.d.ts.map +1 -1
- package/lib/store/decorators.js +3 -1
- package/lib/store/decorators.js.map +1 -1
- package/lib/store/store.d.ts.map +1 -1
- package/lib/store/store.js +24 -16
- package/lib/store/store.js.map +1 -1
- package/lib/store/types.js +24 -32
- package/lib/store/types.js.map +1 -1
- package/lib/store/util.d.ts +1 -1
- package/lib/store/util.d.ts.map +1 -1
- package/lib/store/util.js +13 -17
- package/lib/store/util.js.map +1 -1
- package/lib/sui/context.d.ts +1 -1
- package/lib/sui/context.d.ts.map +1 -1
- package/lib/sui/context.js +8 -6
- package/lib/sui/context.js.map +1 -1
- package/lib/sui/sui-object-processor-template.d.ts +1 -1
- package/lib/sui/sui-object-processor-template.d.ts.map +1 -1
- package/lib/sui/sui-object-processor-template.js +17 -12
- package/lib/sui/sui-object-processor-template.js.map +1 -1
- package/lib/sui/sui-object-processor.d.ts +1 -1
- package/lib/sui/sui-object-processor.d.ts.map +1 -1
- package/lib/sui/sui-object-processor.js +23 -16
- package/lib/sui/sui-object-processor.js.map +1 -1
- package/lib/sui/sui-plugin-part.d.ts +1 -1
- package/lib/sui/sui-plugin-part.d.ts.map +1 -1
- package/lib/sui/sui-plugin-part.js +16 -15
- package/lib/sui/sui-plugin-part.js.map +1 -1
- package/lib/sui/sui-plugin.d.ts +1 -1
- package/lib/sui/sui-plugin.d.ts.map +1 -1
- package/lib/sui/sui-plugin.js +35 -34
- package/lib/sui/sui-plugin.js.map +1 -1
- package/lib/sui/sui-processor.d.ts +3 -3
- package/lib/sui/sui-processor.d.ts.map +1 -1
- package/lib/sui/sui-processor.js +20 -19
- package/lib/sui/sui-processor.js.map +1 -1
- package/lib/testing/aptos-facet.d.ts.map +1 -1
- package/lib/testing/aptos-facet.js +18 -11
- package/lib/testing/aptos-facet.js.map +1 -1
- package/lib/testing/cosmos-facet.d.ts.map +1 -1
- package/lib/testing/cosmos-facet.js +10 -6
- package/lib/testing/cosmos-facet.js.map +1 -1
- package/lib/testing/eth-facet.d.ts +1 -1
- package/lib/testing/eth-facet.d.ts.map +1 -1
- package/lib/testing/eth-facet.js +34 -18
- package/lib/testing/eth-facet.js.map +1 -1
- package/lib/testing/fuel-facet.d.ts.map +1 -1
- package/lib/testing/fuel-facet.js +28 -18
- package/lib/testing/fuel-facet.js.map +1 -1
- package/lib/testing/iota-facet.d.ts.map +1 -1
- package/lib/testing/iota-facet.js +32 -20
- package/lib/testing/iota-facet.js.map +1 -1
- package/lib/testing/memory-database.d.ts +1 -1
- package/lib/testing/memory-database.d.ts.map +1 -1
- package/lib/testing/memory-database.js +82 -69
- package/lib/testing/memory-database.js.map +1 -1
- package/lib/testing/metric-utils.d.ts +2 -2
- package/lib/testing/metric-utils.d.ts.map +1 -1
- package/lib/testing/metric-utils.js +13 -12
- package/lib/testing/metric-utils.js.map +1 -1
- package/lib/testing/solana-facet.d.ts +3 -2
- package/lib/testing/solana-facet.d.ts.map +1 -1
- package/lib/testing/solana-facet.js +8 -5
- package/lib/testing/solana-facet.js.map +1 -1
- package/lib/testing/sui-facet.d.ts.map +1 -1
- package/lib/testing/sui-facet.js +30 -20
- package/lib/testing/sui-facet.js.map +1 -1
- package/lib/testing/test-processor-server.d.ts +19 -13
- package/lib/testing/test-processor-server.d.ts.map +1 -1
- package/lib/testing/test-processor-server.js +22 -20
- package/lib/testing/test-processor-server.js.map +1 -1
- package/lib/utils/price.d.ts +1 -1
- package/lib/utils/price.d.ts.map +1 -1
- package/lib/utils/price.js +19 -12
- package/lib/utils/price.js.map +1 -1
- package/package.json +10 -12
- package/src/aptos/aptos-plugin.ts +105 -91
- package/src/aptos/aptos-processor.ts +42 -34
- package/src/aptos/aptos-resource-processor-template.ts +15 -6
- package/src/aptos/context.ts +8 -7
- package/src/aptos/data.ts +4 -4
- package/src/core/base-context.ts +19 -12
- package/src/core/core-plugin.ts +10 -7
- package/src/core/event-logger.ts +63 -34
- package/src/core/exporter.ts +5 -4
- package/src/core/handler-options.ts +1 -1
- package/src/core/handler-register.ts +3 -3
- package/src/core/meter.ts +9 -7
- package/src/core/normalization.ts +53 -31
- package/src/core/numberish.ts +46 -30
- package/src/core/partition-handler-manager.ts +13 -11
- package/src/cosmos/context.ts +4 -3
- package/src/cosmos/cosmos-plugin.ts +19 -15
- package/src/cosmos/cosmos-processor.ts +2 -2
- package/src/eth/abi-decoder/decode-worker.ts +2 -2
- package/src/eth/account-processor.ts +21 -12
- package/src/eth/base-processor-template.ts +27 -11
- package/src/eth/base-processor.ts +77 -65
- package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +177 -116
- package/src/eth/builtin/internal/erc1155-processor.ts +73 -38
- package/src/eth/builtin/internal/erc20-processor.ts +152 -91
- package/src/eth/builtin/internal/erc20bytes-processor.ts +80 -46
- package/src/eth/builtin/internal/erc721-processor.ts +109 -65
- package/src/eth/builtin/internal/weth9-processor.ts +95 -56
- package/src/eth/codegen/file.ts +2 -1
- package/src/eth/codegen/function-calls.ts +1 -1
- package/src/eth/context.ts +18 -11
- package/src/eth/eth-plugin.ts +135 -118
- package/src/eth/eth.ts +29 -20
- package/src/eth/index.ts +1 -1
- package/src/fuel/asset-processor.ts +16 -8
- package/src/fuel/context.ts +4 -3
- package/src/fuel/fuel-plugin.ts +71 -73
- package/src/fuel/fuel-processor-template.ts +10 -7
- package/src/fuel/fuel-processor.ts +35 -23
- package/src/fuel/global-processor.ts +3 -3
- package/src/fuel/types.ts +10 -4
- package/src/iota/context.ts +8 -7
- package/src/iota/iota-object-processor-template.ts +25 -15
- package/src/iota/iota-object-processor.ts +33 -22
- package/src/iota/iota-plugin-part.ts +41 -34
- package/src/iota/iota-processor.ts +35 -27
- package/src/iota/network.ts +2 -2
- package/src/move/filter.ts +1 -1
- package/src/move/index.ts +1 -1
- package/src/solana/codegen/codegen.ts +2 -2
- package/src/solana/solana-context.ts +4 -3
- package/src/solana/solana-plugin.ts +27 -24
- package/src/solana/solana-processor.ts +23 -11
- package/src/store/cache.ts +22 -18
- package/src/store/codegen.ts +2 -2
- package/src/store/convert.ts +68 -104
- package/src/store/decorators.ts +3 -2
- package/src/store/store.ts +31 -23
- package/src/store/types.ts +24 -33
- package/src/store/util.ts +13 -18
- package/src/sui/context.ts +8 -7
- package/src/sui/sui-object-processor-template.ts +25 -15
- package/src/sui/sui-object-processor.ts +33 -22
- package/src/sui/sui-plugin-part.ts +41 -34
- package/src/sui/sui-plugin.ts +49 -47
- package/src/sui/sui-processor.ts +35 -27
- package/src/testing/aptos-facet.ts +18 -11
- package/src/testing/cosmos-facet.ts +10 -6
- package/src/testing/eth-facet.ts +40 -18
- package/src/testing/fuel-facet.ts +28 -18
- package/src/testing/iota-facet.ts +32 -20
- package/src/testing/memory-database.ts +109 -82
- package/src/testing/metric-utils.ts +15 -14
- package/src/testing/solana-facet.ts +11 -6
- package/src/testing/sui-facet.ts +30 -20
- package/src/testing/test-processor-server.ts +64 -58
- package/src/utils/price.ts +20 -13
|
@@ -96,7 +96,7 @@ export function generateBoundFunctionCallEncoder(fn, includeArgTypes) {
|
|
|
96
96
|
${declName ?? fn.name}(${generateInputTypes(fn.inputs, {
|
|
97
97
|
useStructs: true
|
|
98
98
|
})}overrides?: Overrides): EthCallParam {
|
|
99
|
-
return this.view.encodeCall.${declName}(${fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''}{chainId: this.context.chainId.toString(), address: this.context.address, blockTag: this.context.getBlockTag(overrides)})
|
|
99
|
+
return this.view.encodeCall.${declName}(${fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''}create(EthCallContextSchema, {chainId: this.context.chainId.toString(), address: this.context.address, blockTag: this.context.getBlockTag(overrides)}))
|
|
100
100
|
}
|
|
101
101
|
`
|
|
102
102
|
];
|
package/lib/eth/context.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseContract, Overrides } from 'ethers';
|
|
2
2
|
import { LogParams, BlockParams, TransactionReceiptParams, TransactionResponseParams } from 'ethers/providers';
|
|
3
|
-
import { EthCallContext, PreparedData, RecordMetaData } from '@sentio/protos';
|
|
3
|
+
import { type EthCallContext, type PreparedData, type RecordMetaData } from '@sentio/protos';
|
|
4
4
|
import { Trace } from './eth.js';
|
|
5
5
|
import { Labels } from '../core/index.js';
|
|
6
6
|
import { BaseContext } from '../core/base-context.js';
|
package/lib/eth/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/eth/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAE9G,OAAO,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/eth/context.ts"],"names":[],"mappings":"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"}
|
package/lib/eth/context.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { EthCallContextSchema, RecordMetaDataSchema } from '@sentio/protos';
|
|
2
|
+
import { create } from '@bufbuild/protobuf';
|
|
1
3
|
import { normalizeLabels } from '../core/index.js';
|
|
2
4
|
import { BaseContext } from '../core/base-context.js';
|
|
3
5
|
export class EthContext extends BaseContext {
|
|
@@ -43,7 +45,7 @@ export class EthContext extends BaseContext {
|
|
|
43
45
|
}
|
|
44
46
|
getMetaDataInternal(name, labels) {
|
|
45
47
|
if (this.log) {
|
|
46
|
-
return {
|
|
48
|
+
return create(RecordMetaDataSchema, {
|
|
47
49
|
address: this.address,
|
|
48
50
|
contractName: this.getContractName(),
|
|
49
51
|
blockNumber: BigInt(this.blockNumber),
|
|
@@ -53,10 +55,10 @@ export class EthContext extends BaseContext {
|
|
|
53
55
|
chainId: this.chainId,
|
|
54
56
|
name: name,
|
|
55
57
|
labels: normalizeLabels(labels)
|
|
56
|
-
};
|
|
58
|
+
});
|
|
57
59
|
}
|
|
58
60
|
if (this.trace) {
|
|
59
|
-
return {
|
|
61
|
+
return create(RecordMetaDataSchema, {
|
|
60
62
|
address: this.address,
|
|
61
63
|
contractName: this.getContractName(),
|
|
62
64
|
blockNumber: BigInt(this.blockNumber),
|
|
@@ -66,10 +68,10 @@ export class EthContext extends BaseContext {
|
|
|
66
68
|
chainId: this.chainId.toString(),
|
|
67
69
|
name: name,
|
|
68
70
|
labels: normalizeLabels(labels)
|
|
69
|
-
};
|
|
71
|
+
});
|
|
70
72
|
}
|
|
71
73
|
if (this.transaction) {
|
|
72
|
-
return {
|
|
74
|
+
return create(RecordMetaDataSchema, {
|
|
73
75
|
address: this.address,
|
|
74
76
|
contractName: this.getContractName(),
|
|
75
77
|
blockNumber: BigInt(this.blockNumber),
|
|
@@ -79,10 +81,10 @@ export class EthContext extends BaseContext {
|
|
|
79
81
|
chainId: this.chainId.toString(),
|
|
80
82
|
name: name,
|
|
81
83
|
labels: normalizeLabels(labels)
|
|
82
|
-
};
|
|
84
|
+
});
|
|
83
85
|
}
|
|
84
86
|
if (this.block) {
|
|
85
|
-
return {
|
|
87
|
+
return create(RecordMetaDataSchema, {
|
|
86
88
|
address: this.address,
|
|
87
89
|
contractName: this.getContractName(),
|
|
88
90
|
blockNumber: BigInt(this.blockNumber),
|
|
@@ -92,7 +94,7 @@ export class EthContext extends BaseContext {
|
|
|
92
94
|
chainId: this.chainId.toString(),
|
|
93
95
|
name: name,
|
|
94
96
|
labels: normalizeLabels(labels)
|
|
95
|
-
};
|
|
97
|
+
});
|
|
96
98
|
}
|
|
97
99
|
throw new Error("Invaid ctx argument can't happen");
|
|
98
100
|
}
|
|
@@ -105,11 +107,11 @@ export class EthContext extends BaseContext {
|
|
|
105
107
|
return blockTagWithOverride;
|
|
106
108
|
}
|
|
107
109
|
getEthCallContext() {
|
|
108
|
-
return {
|
|
110
|
+
return create(EthCallContextSchema, {
|
|
109
111
|
chainId: this.chainId,
|
|
110
112
|
blockTag: '0x' + this.blockNumber.toString(16),
|
|
111
113
|
address: this.address
|
|
112
|
-
};
|
|
114
|
+
});
|
|
113
115
|
}
|
|
114
116
|
}
|
|
115
117
|
export class AccountContext extends EthContext {
|
package/lib/eth/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/eth/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/eth/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth-plugin.d.ts","sourceRoot":"","sources":["../../src/eth/eth-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,MAAM,EAGP,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAGL,WAAW,EACX,WAAW,EACX,YAAY,
|
|
1
|
+
{"version":3,"file":"eth-plugin.d.ts","sourceRoot":"","sources":["../../src/eth/eth-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,MAAM,EAGP,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAGL,WAAW,EACX,WAAW,EACX,YAAY,EAIZ,YAAY,EAGZ,qBAAqB,EACrB,aAAa,EACb,gCAAgC,EAEhC,YAAY,EAIb,MAAM,gBAAgB,CAAA;AAWvB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,qBAAa,SAAU,SAAQ,MAAM;IACnC,IAAI,EAAE,MAAM,CAAc;IAC1B,eAAe,kBAAwB;IAEvC,gBAAgB,0BAAgC;IAE1C,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IASzC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,MAAM;IAsSlE,iBAAiB,gBAAmG;IAEpH,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAgB9F,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAwC1E,KAAK,CAAC,OAAO,EAAE,YAAY;IA6B3B,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAqBhG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBlG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBlG,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CAwB/G"}
|
package/lib/eth/eth-plugin.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { errorString, getProvider, GLOBAL_CONFIG, mergeProcessResults, Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime';
|
|
2
2
|
import { PartitionHandlerManager } from '../core/index.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { AccountConfigSchema, ContractConfigSchema, HandlerType, LogFilterSchema, LogHandlerConfigSchema, OnIntervalConfigSchema, PreprocessResultSchema, ProcessStreamResponse_PartitionsSchema, TopicSchema, TraceHandlerConfigSchema, TransactionHandlerConfigSchema } from '@sentio/protos';
|
|
4
|
+
import { create } from '@bufbuild/protobuf';
|
|
5
|
+
import { ConnectError, Code } from '@connectrpc/connect';
|
|
5
6
|
import { EthProcessorState } from './binds.js';
|
|
6
7
|
import { AccountProcessorState } from './account-processor-state.js';
|
|
7
8
|
import { ProcessorTemplateProcessorState } from './base-processor-template.js';
|
|
@@ -36,7 +37,7 @@ export class EthPlugin extends Plugin {
|
|
|
36
37
|
const provider = getProvider(chainId);
|
|
37
38
|
const startBlock = await timeOrBlockToBlockNumber(provider, processor.config.start);
|
|
38
39
|
const endBlock = processor.config.end ? await timeOrBlockToBlockNumber(provider, processor.config.end) : undefined;
|
|
39
|
-
const contractConfig =
|
|
40
|
+
const contractConfig = create(ContractConfigSchema, {
|
|
40
41
|
processorType: USER_PROCESSOR,
|
|
41
42
|
contract: {
|
|
42
43
|
name: processor.config.name,
|
|
@@ -52,7 +53,7 @@ export class EthPlugin extends Plugin {
|
|
|
52
53
|
const handlerId = this.handlerRegister.register(blockHandler.handler, chainId);
|
|
53
54
|
this.partitionManager.registerPartitionHandler(HandlerType.ETH_BLOCK, handlerId, blockHandler.partitionHandler);
|
|
54
55
|
// TODO wrap the block handler into one
|
|
55
|
-
contractConfig.intervalConfigs.push({
|
|
56
|
+
contractConfig.intervalConfigs.push(create(OnIntervalConfigSchema, {
|
|
56
57
|
slot: 0,
|
|
57
58
|
slotInterval: blockHandler.blockInterval,
|
|
58
59
|
minutes: 0,
|
|
@@ -60,19 +61,19 @@ export class EthPlugin extends Plugin {
|
|
|
60
61
|
handlerId: handlerId,
|
|
61
62
|
handlerName: blockHandler.handlerName,
|
|
62
63
|
fetchConfig: blockHandler.fetchConfig
|
|
63
|
-
});
|
|
64
|
+
}));
|
|
64
65
|
}
|
|
65
66
|
// Step 2. Prepare all trace handlers
|
|
66
67
|
for (const traceHandler of processor.traceHandlers) {
|
|
67
68
|
const handlerId = this.handlerRegister.register(traceHandler.handler, chainId);
|
|
68
69
|
this.partitionManager.registerPartitionHandler(HandlerType.ETH_TRACE, handlerId, traceHandler.partitionHandler);
|
|
69
70
|
for (const signature of traceHandler.signatures) {
|
|
70
|
-
contractConfig.traceConfigs.push({
|
|
71
|
+
contractConfig.traceConfigs.push(create(TraceHandlerConfigSchema, {
|
|
71
72
|
signature: signature,
|
|
72
73
|
handlerId: handlerId,
|
|
73
74
|
handlerName: traceHandler.handlerName,
|
|
74
75
|
fetchConfig: traceHandler.fetchConfig
|
|
75
|
-
});
|
|
76
|
+
}));
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
// Step 3. Prepare all the event handlers
|
|
@@ -80,22 +81,23 @@ export class EthPlugin extends Plugin {
|
|
|
80
81
|
// associate id with filter
|
|
81
82
|
const handlerId = this.handlerRegister.register(eventsHandler.handler, chainId);
|
|
82
83
|
this.partitionManager.registerPartitionHandler(HandlerType.ETH_LOG, handlerId, eventsHandler.partitionHandler);
|
|
83
|
-
const logConfig = {
|
|
84
|
+
const logConfig = create(LogHandlerConfigSchema, {
|
|
84
85
|
handlerId: handlerId,
|
|
85
86
|
handlerName: eventsHandler.handlerName,
|
|
86
87
|
filters: [],
|
|
87
88
|
fetchConfig: eventsHandler.fetchConfig
|
|
88
|
-
};
|
|
89
|
+
});
|
|
89
90
|
for (const filter of eventsHandler.filters) {
|
|
90
91
|
const topics = await filter.getTopicFilter();
|
|
91
92
|
// if (!filter.topics) {
|
|
92
|
-
// throw new
|
|
93
|
+
// throw new ConnectError('Topic should not be null', Code.InvalidArgument)
|
|
93
94
|
// }
|
|
94
|
-
const logFilter = {
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
const logFilter = create(LogFilterSchema, {
|
|
96
|
+
addressOrType: contractConfig.contract?.address
|
|
97
|
+
? { case: 'address', value: validateAndNormalizeAddress(contractConfig.contract.address) }
|
|
98
|
+
: undefined,
|
|
97
99
|
topics: []
|
|
98
|
-
};
|
|
100
|
+
});
|
|
99
101
|
for (const ts of topics) {
|
|
100
102
|
let hashes = [];
|
|
101
103
|
if (Array.isArray(ts)) {
|
|
@@ -104,7 +106,7 @@ export class EthPlugin extends Plugin {
|
|
|
104
106
|
else if (ts) {
|
|
105
107
|
hashes.push(ts);
|
|
106
108
|
}
|
|
107
|
-
logFilter.topics.push({ hashes: hashes });
|
|
109
|
+
logFilter.topics.push(create(TopicSchema, { hashes: hashes }));
|
|
108
110
|
}
|
|
109
111
|
logConfig.filters.push(logFilter);
|
|
110
112
|
}
|
|
@@ -129,7 +131,7 @@ export class EthPlugin extends Plugin {
|
|
|
129
131
|
startBlock = processor.config.start?.block != undefined ? BigInt(processor.config.start.block) : undefined;
|
|
130
132
|
endBlock = processor.config.end?.block != undefined ? BigInt(processor.config.end.block) : undefined;
|
|
131
133
|
}
|
|
132
|
-
const contractConfig =
|
|
134
|
+
const contractConfig = create(ContractConfigSchema, {
|
|
133
135
|
processorType: USER_PROCESSOR,
|
|
134
136
|
contract: {
|
|
135
137
|
name: processor.config.name,
|
|
@@ -142,7 +144,7 @@ export class EthPlugin extends Plugin {
|
|
|
142
144
|
});
|
|
143
145
|
for (const blockHandler of processor.blockHandlers) {
|
|
144
146
|
const handlerId = this.handlerRegister.register(blockHandler.handler, chainId);
|
|
145
|
-
contractConfig.intervalConfigs.push({
|
|
147
|
+
contractConfig.intervalConfigs.push(create(OnIntervalConfigSchema, {
|
|
146
148
|
slot: 0,
|
|
147
149
|
slotInterval: blockHandler.blockInterval,
|
|
148
150
|
minutes: 0,
|
|
@@ -150,58 +152,61 @@ export class EthPlugin extends Plugin {
|
|
|
150
152
|
handlerId: handlerId,
|
|
151
153
|
handlerName: blockHandler.handlerName,
|
|
152
154
|
fetchConfig: blockHandler.fetchConfig
|
|
153
|
-
});
|
|
155
|
+
}));
|
|
154
156
|
}
|
|
155
157
|
for (const transactionHandler of processor.transactionHandler) {
|
|
156
158
|
const handlerId = this.handlerRegister.register(transactionHandler.handler, chainId);
|
|
157
159
|
this.partitionManager.registerPartitionHandler(HandlerType.ETH_TRANSACTION, handlerId, transactionHandler.partitionHandler);
|
|
158
|
-
contractConfig.transactionConfig.push({
|
|
160
|
+
contractConfig.transactionConfig.push(create(TransactionHandlerConfigSchema, {
|
|
159
161
|
handlerId: handlerId,
|
|
160
162
|
handlerName: transactionHandler.handlerName,
|
|
161
163
|
fetchConfig: transactionHandler.fetchConfig
|
|
162
|
-
});
|
|
164
|
+
}));
|
|
163
165
|
}
|
|
164
166
|
for (const traceHandler of processor.traceHandlers) {
|
|
165
167
|
const handlerId = this.handlerRegister.register(traceHandler.handler, chainId);
|
|
166
168
|
for (const signature of traceHandler.signatures) {
|
|
167
|
-
contractConfig.traceConfigs.push({
|
|
169
|
+
contractConfig.traceConfigs.push(create(TraceHandlerConfigSchema, {
|
|
168
170
|
signature: signature,
|
|
169
171
|
handlerId: handlerId,
|
|
170
172
|
handlerName: traceHandler.handlerName,
|
|
171
173
|
fetchConfig: traceHandler.fetchConfig
|
|
172
|
-
});
|
|
174
|
+
}));
|
|
173
175
|
}
|
|
174
176
|
}
|
|
175
177
|
for (const eventsHandler of processor.eventHandlers) {
|
|
176
178
|
// associate id with filter
|
|
177
179
|
const handlerId = this.handlerRegister.register(eventsHandler.handler, processor.getChainId());
|
|
178
|
-
const logConfig = {
|
|
180
|
+
const logConfig = create(LogHandlerConfigSchema, {
|
|
179
181
|
handlerId: handlerId,
|
|
180
182
|
handlerName: eventsHandler.handlerName,
|
|
181
183
|
filters: [],
|
|
182
184
|
fetchConfig: eventsHandler.fetchConfig
|
|
183
|
-
};
|
|
185
|
+
});
|
|
184
186
|
if (!eventsHandler.filters || eventsHandler.filters.length === 0) {
|
|
185
187
|
// if no filter, then we assume all logs
|
|
186
|
-
logConfig.filters.push({
|
|
188
|
+
logConfig.filters.push(create(LogFilterSchema, {
|
|
187
189
|
topics: []
|
|
188
|
-
});
|
|
190
|
+
}));
|
|
189
191
|
}
|
|
190
192
|
else {
|
|
191
193
|
for (const filter of eventsHandler.filters) {
|
|
192
194
|
const topics = await filter.getTopicFilter();
|
|
193
195
|
// if (!filter.topics) {
|
|
194
|
-
// throw new
|
|
196
|
+
// throw new ConnectError('Topic should not be null', Code.InvalidArgument)
|
|
195
197
|
// }
|
|
196
198
|
let address = undefined;
|
|
197
199
|
if (filter.address) {
|
|
198
200
|
address = filter.address.toString();
|
|
199
201
|
}
|
|
200
|
-
const logFilter = {
|
|
201
|
-
|
|
202
|
-
|
|
202
|
+
const logFilter = create(LogFilterSchema, {
|
|
203
|
+
addressOrType: filter.addressType != undefined
|
|
204
|
+
? { case: 'addressType', value: filter.addressType }
|
|
205
|
+
: address
|
|
206
|
+
? { case: 'address', value: validateAndNormalizeAddress(address) }
|
|
207
|
+
: undefined,
|
|
203
208
|
topics: []
|
|
204
|
-
};
|
|
209
|
+
});
|
|
205
210
|
for (const ts of topics) {
|
|
206
211
|
let hashes = [];
|
|
207
212
|
if (Array.isArray(ts)) {
|
|
@@ -210,7 +215,7 @@ export class EthPlugin extends Plugin {
|
|
|
210
215
|
else if (ts) {
|
|
211
216
|
hashes.push(ts);
|
|
212
217
|
}
|
|
213
|
-
logFilter.topics.push({ hashes: hashes });
|
|
218
|
+
logFilter.topics.push(create(TopicSchema, { hashes: hashes }));
|
|
214
219
|
}
|
|
215
220
|
logConfig.filters.push(logFilter);
|
|
216
221
|
}
|
|
@@ -224,7 +229,7 @@ export class EthPlugin extends Plugin {
|
|
|
224
229
|
if (forChainId !== undefined && forChainId !== processor.getChainId().toString()) {
|
|
225
230
|
continue;
|
|
226
231
|
}
|
|
227
|
-
const accountConfig =
|
|
232
|
+
const accountConfig = create(AccountConfigSchema, {
|
|
228
233
|
address: validateAndNormalizeAddress(processor.config.address),
|
|
229
234
|
chainId: processor.getChainId().toString(),
|
|
230
235
|
startBlock: processor.config.startBlock ? BigInt(processor.config.startBlock) : 0n
|
|
@@ -233,23 +238,26 @@ export class EthPlugin extends Plugin {
|
|
|
233
238
|
for (const eventsHandler of processor.eventHandlers) {
|
|
234
239
|
// associate id with filter
|
|
235
240
|
const handlerId = this.handlerRegister.register(eventsHandler.handler, processor.getChainId());
|
|
236
|
-
const logConfig = {
|
|
241
|
+
const logConfig = create(LogHandlerConfigSchema, {
|
|
237
242
|
handlerId: handlerId,
|
|
238
243
|
handlerName: eventsHandler.handlerName,
|
|
239
244
|
filters: [],
|
|
240
245
|
fetchConfig: eventsHandler.fetchConfig
|
|
241
|
-
};
|
|
246
|
+
});
|
|
242
247
|
for (const filter of eventsHandler.filters) {
|
|
243
248
|
const topics = await filter.getTopicFilter();
|
|
244
249
|
let address = undefined;
|
|
245
250
|
if (filter.address) {
|
|
246
251
|
address = filter.address.toString();
|
|
247
252
|
}
|
|
248
|
-
const logFilter = {
|
|
249
|
-
|
|
250
|
-
|
|
253
|
+
const logFilter = create(LogFilterSchema, {
|
|
254
|
+
addressOrType: filter.addressType
|
|
255
|
+
? { case: 'addressType', value: filter.addressType }
|
|
256
|
+
: address
|
|
257
|
+
? { case: 'address', value: validateAndNormalizeAddress(address) }
|
|
258
|
+
: undefined,
|
|
251
259
|
topics: []
|
|
252
|
-
};
|
|
260
|
+
});
|
|
253
261
|
for (const ts of topics) {
|
|
254
262
|
let hashes = [];
|
|
255
263
|
if (Array.isArray(ts)) {
|
|
@@ -258,7 +266,7 @@ export class EthPlugin extends Plugin {
|
|
|
258
266
|
else if (ts) {
|
|
259
267
|
hashes.push(ts);
|
|
260
268
|
}
|
|
261
|
-
logFilter.topics.push({ hashes: hashes });
|
|
269
|
+
logFilter.topics.push(create(TopicSchema, { hashes: hashes }));
|
|
262
270
|
}
|
|
263
271
|
logConfig.filters.push(logFilter);
|
|
264
272
|
}
|
|
@@ -282,43 +290,43 @@ export class EthPlugin extends Plugin {
|
|
|
282
290
|
case HandlerType.ETH_TRANSACTION:
|
|
283
291
|
return this.processTransaction(request, preparedData);
|
|
284
292
|
default:
|
|
285
|
-
throw new
|
|
293
|
+
throw new ConnectError('No handle type registered ' + request.handlerType, Code.InvalidArgument);
|
|
286
294
|
}
|
|
287
295
|
}
|
|
288
296
|
async partition(request) {
|
|
289
297
|
let data;
|
|
290
298
|
switch (request.handlerType) {
|
|
291
299
|
case HandlerType.ETH_LOG:
|
|
292
|
-
if (
|
|
293
|
-
throw new
|
|
300
|
+
if (request.data?.value.case !== 'ethLog' || !request.data.value.value) {
|
|
301
|
+
throw new ConnectError("ethLog can't be empty", Code.InvalidArgument);
|
|
294
302
|
}
|
|
295
|
-
data = request.data.
|
|
303
|
+
data = request.data.value.value;
|
|
296
304
|
break;
|
|
297
305
|
case HandlerType.ETH_TRACE:
|
|
298
|
-
if (
|
|
299
|
-
throw new
|
|
306
|
+
if (request.data?.value.case !== 'ethTrace' || !request.data.value.value) {
|
|
307
|
+
throw new ConnectError("ethTrace can't be empty", Code.InvalidArgument);
|
|
300
308
|
}
|
|
301
|
-
data = request.data.
|
|
309
|
+
data = request.data.value.value;
|
|
302
310
|
break;
|
|
303
311
|
case HandlerType.ETH_BLOCK:
|
|
304
|
-
if (
|
|
305
|
-
throw new
|
|
312
|
+
if (request.data?.value.case !== 'ethBlock' || !request.data.value.value) {
|
|
313
|
+
throw new ConnectError("ethBlock can't be empty", Code.InvalidArgument);
|
|
306
314
|
}
|
|
307
|
-
data = request.data.
|
|
315
|
+
data = request.data.value.value;
|
|
308
316
|
break;
|
|
309
317
|
case HandlerType.ETH_TRANSACTION:
|
|
310
|
-
if (
|
|
311
|
-
throw new
|
|
318
|
+
if (request.data?.value.case !== 'ethTransaction' || !request.data.value.value) {
|
|
319
|
+
throw new ConnectError("ethTransaction can't be empty", Code.InvalidArgument);
|
|
312
320
|
}
|
|
313
|
-
data = request.data.
|
|
321
|
+
data = request.data.value.value;
|
|
314
322
|
break;
|
|
315
323
|
default:
|
|
316
|
-
throw new
|
|
324
|
+
throw new ConnectError('No handle type registered ' + request.handlerType, Code.InvalidArgument);
|
|
317
325
|
}
|
|
318
326
|
const partitions = await this.partitionManager.processPartitionForHandlerType(request.handlerType, request.handlerIds, data);
|
|
319
|
-
return {
|
|
327
|
+
return create(ProcessStreamResponse_PartitionsSchema, {
|
|
320
328
|
partitions
|
|
321
|
-
};
|
|
329
|
+
});
|
|
322
330
|
}
|
|
323
331
|
async start(request) {
|
|
324
332
|
const allowedChainIds = new Set(Object.values(EthChainId));
|
|
@@ -328,10 +336,10 @@ export class EthPlugin extends Plugin {
|
|
|
328
336
|
}
|
|
329
337
|
const template = ProcessorTemplateProcessorState.INSTANCE.getValues()[instance.templateId];
|
|
330
338
|
if (!template) {
|
|
331
|
-
throw new
|
|
339
|
+
throw new ConnectError('Invalid template contract:' + instance, Code.InvalidArgument);
|
|
332
340
|
}
|
|
333
341
|
if (!instance.contract) {
|
|
334
|
-
throw new
|
|
342
|
+
throw new ConnectError('Contract Empty from:' + instance, Code.InvalidArgument);
|
|
335
343
|
}
|
|
336
344
|
const ctx = new NoopContext(instance.contract.chainId);
|
|
337
345
|
template.startInstance({
|
|
@@ -344,16 +352,16 @@ export class EthPlugin extends Plugin {
|
|
|
344
352
|
}
|
|
345
353
|
}
|
|
346
354
|
async processLog(request, preparedData) {
|
|
347
|
-
if (
|
|
348
|
-
throw new
|
|
355
|
+
if (request.data?.value.case !== 'ethLog' || !request.data.value.value.rawLog) {
|
|
356
|
+
throw new ConnectError("Log can't be null", Code.InvalidArgument);
|
|
349
357
|
}
|
|
350
|
-
const ethLog = request.data.
|
|
358
|
+
const ethLog = request.data.value.value;
|
|
351
359
|
const promises = [];
|
|
352
360
|
for (const handlerId of request.handlerIds) {
|
|
353
361
|
const handler = this.handlerRegister.getHandlerById(request.chainId, handlerId);
|
|
354
362
|
const promise = handler(ethLog, preparedData).catch((e) => {
|
|
355
363
|
console.error('error processing log: ', e);
|
|
356
|
-
throw new
|
|
364
|
+
throw new ConnectError('error processing log: ' + ethLog.rawLog + '\n' + errorString(e), Code.Internal);
|
|
357
365
|
});
|
|
358
366
|
if (GLOBAL_CONFIG.execution.sequential) {
|
|
359
367
|
await promise;
|
|
@@ -363,17 +371,17 @@ export class EthPlugin extends Plugin {
|
|
|
363
371
|
return mergeProcessResults(await Promise.all(promises));
|
|
364
372
|
}
|
|
365
373
|
async processTrace(binding, preparedData) {
|
|
366
|
-
if (
|
|
367
|
-
throw new
|
|
374
|
+
if (binding.data?.value.case !== 'ethTrace' || !binding.data.value.value.rawTrace) {
|
|
375
|
+
throw new ConnectError("Trace can't be null", Code.InvalidArgument);
|
|
368
376
|
}
|
|
369
|
-
const ethTrace = binding.data.
|
|
377
|
+
const ethTrace = binding.data.value.value;
|
|
370
378
|
const promises = [];
|
|
371
379
|
for (const handlerId of binding.handlerIds) {
|
|
372
380
|
const promise = this.handlerRegister
|
|
373
381
|
.getHandlerById(binding.chainId, handlerId)(ethTrace, preparedData)
|
|
374
382
|
.catch((e) => {
|
|
375
383
|
console.error('error processing trace: ', e);
|
|
376
|
-
throw new
|
|
384
|
+
throw new ConnectError('error processing trace: ' + ethTrace.rawTrace + '\n' + errorString(e), Code.Internal);
|
|
377
385
|
});
|
|
378
386
|
if (GLOBAL_CONFIG.execution.sequential) {
|
|
379
387
|
await promise;
|
|
@@ -383,17 +391,17 @@ export class EthPlugin extends Plugin {
|
|
|
383
391
|
return mergeProcessResults(await Promise.all(promises));
|
|
384
392
|
}
|
|
385
393
|
async processBlock(binding, preparedData) {
|
|
386
|
-
if (
|
|
387
|
-
throw new
|
|
394
|
+
if (binding.data?.value.case !== 'ethBlock' || !binding.data.value.value.rawBlock) {
|
|
395
|
+
throw new ConnectError("Block can't be empty", Code.InvalidArgument);
|
|
388
396
|
}
|
|
389
|
-
const ethBlock = binding.data.
|
|
397
|
+
const ethBlock = binding.data.value.value;
|
|
390
398
|
const promises = [];
|
|
391
399
|
for (const handlerId of binding.handlerIds) {
|
|
392
400
|
const promise = this.handlerRegister
|
|
393
401
|
.getHandlerById(binding.chainId, handlerId)(ethBlock, preparedData)
|
|
394
402
|
.catch((e) => {
|
|
395
403
|
console.error('error processing block: ', e);
|
|
396
|
-
throw new
|
|
404
|
+
throw new ConnectError('error processing block: ' + errorString(e), Code.Internal);
|
|
397
405
|
});
|
|
398
406
|
if (GLOBAL_CONFIG.execution.sequential) {
|
|
399
407
|
await promise;
|
|
@@ -403,16 +411,16 @@ export class EthPlugin extends Plugin {
|
|
|
403
411
|
return mergeProcessResults(await Promise.all(promises));
|
|
404
412
|
}
|
|
405
413
|
async processTransaction(binding, preparedData) {
|
|
406
|
-
if (
|
|
407
|
-
throw new
|
|
414
|
+
if (binding.data?.value.case !== 'ethTransaction' || !binding.data.value.value.rawTransaction) {
|
|
415
|
+
throw new ConnectError("transaction can't be null", Code.InvalidArgument);
|
|
408
416
|
}
|
|
409
|
-
const ethTransaction = binding.data.
|
|
417
|
+
const ethTransaction = binding.data.value.value;
|
|
410
418
|
const promises = [];
|
|
411
419
|
for (const handlerId of binding.handlerIds) {
|
|
412
420
|
const promise = this.handlerRegister
|
|
413
421
|
.getHandlerById(binding.chainId, handlerId)(ethTransaction, preparedData)
|
|
414
422
|
.catch((e) => {
|
|
415
|
-
throw new
|
|
423
|
+
throw new ConnectError('error processing transaction: ' + ethTransaction.rawTransaction + '\n' + errorString(e), Code.Internal);
|
|
416
424
|
});
|
|
417
425
|
if (GLOBAL_CONFIG.execution.sequential) {
|
|
418
426
|
await promise;
|
|
@@ -432,7 +440,7 @@ class NoopContext extends EthContext {
|
|
|
432
440
|
}
|
|
433
441
|
}
|
|
434
442
|
function mergePreprocessResults(results) {
|
|
435
|
-
const res = { ethCallParams: [] };
|
|
443
|
+
const res = create(PreprocessResultSchema, { ethCallParams: [] });
|
|
436
444
|
for (const r of results) {
|
|
437
445
|
res.ethCallParams = res.ethCallParams.concat(r.ethCallParams);
|
|
438
446
|
}
|