@sentio/sdk 3.9.0-rc.9 → 4.0.0-rc.10
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 +11 -9
- 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/aptos/network.js +1 -1
- package/lib/aptos/network.js.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 -27
- 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 +17 -11
- package/lib/eth/context.js.map +1 -1
- package/lib/eth/eth-plugin.d.ts.map +1 -1
- package/lib/eth/eth-plugin.js +85 -76
- 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 +39 -26
- package/lib/eth/eth.js.map +1 -1
- package/lib/eth/generic-processor.js +1 -1
- package/lib/eth/generic-processor.js.map +1 -1
- package/lib/eth/index.d.ts +2 -2
- package/lib/eth/index.d.ts.map +1 -1
- package/lib/eth/index.js +1 -2
- package/lib/eth/index.js.map +1 -1
- package/lib/eth/provider.d.ts +13 -0
- package/lib/eth/provider.d.ts.map +1 -0
- package/lib/eth/provider.js +164 -0
- package/lib/eth/provider.js.map +1 -0
- 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/network.js +5 -5
- package/lib/fuel/network.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 +6 -6
- 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/network.d.ts.map +1 -1
- package/lib/sui/network.js +11 -6
- package/lib/sui/network.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 +29 -21
- 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 +23 -21
- package/lib/sui/sui-processor.js.map +1 -1
- package/lib/sui/to-client-types.d.ts +4 -0
- package/lib/sui/to-client-types.d.ts.map +1 -0
- package/lib/sui/to-client-types.js +69 -0
- package/lib/sui/to-client-types.js.map +1 -0
- 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 +11 -3
- package/lib/testing/memory-database.d.ts.map +1 -1
- package/lib/testing/memory-database.js +85 -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 +1452 -16
- package/lib/testing/test-processor-server.d.ts.map +1 -1
- package/lib/testing/test-processor-server.js +109 -46
- package/lib/testing/test-processor-server.js.map +1 -1
- package/lib/testing/test-provider.js +1 -1
- package/lib/testing/test-provider.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 +11 -10
- package/src/aptos/data.ts +4 -4
- package/src/aptos/network.ts +1 -1
- package/src/core/base-context.ts +19 -12
- package/src/core/core-plugin.ts +10 -7
- package/src/core/event-logger.ts +63 -35
- 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 +29 -13
- package/src/eth/eth-plugin.ts +137 -127
- package/src/eth/eth.ts +46 -32
- package/src/eth/generic-processor.ts +1 -1
- package/src/eth/index.ts +2 -2
- package/src/eth/provider.ts +193 -0
- 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/network.ts +5 -5
- 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 +6 -6
- 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/network.ts +12 -7
- package/src/sui/sui-object-processor-template.ts +25 -15
- package/src/sui/sui-object-processor.ts +50 -28
- package/src/sui/sui-plugin-part.ts +41 -34
- package/src/sui/sui-plugin.ts +49 -47
- package/src/sui/sui-processor.ts +38 -29
- package/src/sui/to-client-types.ts +75 -0
- 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 +126 -85
- 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 +170 -80
- package/src/testing/test-provider.ts +1 -1
- package/src/utils/price.ts +20 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-processor.d.ts","sourceRoot":"","sources":["../../src/fuel/asset-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAsB,MAAM,YAAY,CAAA;AAC/E,OAAO,
|
|
1
|
+
{"version":3,"file":"asset-processor.d.ts","sourceRoot":"","sources":["../../src/fuel/asset-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAsB,MAAM,YAAY,CAAA;AAC/E,OAAO,EACL,oBAAoB,EAIrB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,WAAW,EAAe,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAM1C,qBAAa,kBAAmB,YAAW,iBAAiB,CAAC,wBAAwB,CAAC;IAiBxE,QAAQ,CAAC,MAAM,EAAE,wBAAwB;IAhBrD,UAAU,EAAE,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAK;IACpD,aAAa,UAAK;IAClB,OAAO,CAAC,QAAQ,CAAU;IAE1B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB;gBAY5C,MAAM,EAAE,wBAAwB;IAI/C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CA8EhH;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,WAAW,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAE3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAExB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAEtB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;KACf,EAAE,CAAA;IACH,EAAE,EAAE;QACF,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;CACJ,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { FuelProcessorState } from './types.js';
|
|
2
|
+
import { FuelAssetHandlerConfig_AssetFilterSchema, timestampDate } from '@sentio/protos';
|
|
3
|
+
import { create } from '@bufbuild/protobuf';
|
|
2
4
|
import { getProvider } from './network.js';
|
|
3
5
|
import { FuelContext } from './context.js';
|
|
4
6
|
import { decodeFuelTransaction } from './transaction.js';
|
|
@@ -35,11 +37,11 @@ export class FuelAssetProcessor {
|
|
|
35
37
|
for (const assetId of assetIds) {
|
|
36
38
|
for (const from of froms) {
|
|
37
39
|
for (const to of tos) {
|
|
38
|
-
filters.push({
|
|
40
|
+
filters.push(create(FuelAssetHandlerConfig_AssetFilterSchema, {
|
|
39
41
|
assetId: assetId,
|
|
40
42
|
fromAddress: from,
|
|
41
43
|
toAddress: to
|
|
42
|
-
});
|
|
44
|
+
}));
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
47
|
}
|
|
@@ -79,7 +81,7 @@ export class FuelAssetProcessor {
|
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
|
-
const ctx = new FuelContext(this.config.chainId, assetId, this.config.name ?? '', call.timestamp
|
|
84
|
+
const ctx = new FuelContext(this.config.chainId, assetId, this.config.name ?? '', call.timestamp ? timestampDate(call.timestamp) : new Date(0), tx, null);
|
|
83
85
|
await handler(transfer, ctx);
|
|
84
86
|
return ctx.stopAndGetResult();
|
|
85
87
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-processor.js","sourceRoot":"","sources":["../../src/fuel/asset-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"asset-processor.js","sourceRoot":"","sources":["../../src/fuel/asset-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/fuel/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAmB,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/fuel/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAmB,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAwB,MAAM,gBAAgB,CAAA;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEhE,qBAAa,QAAQ;IAKjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;gBAJlC,UAAU,EAAE,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC,EAC5D,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,OAAO,EACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA,EAC1B,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,YAAA;CAIrC;AAED,qBAAa,WAAY,SAAQ,WAAW;IAGxC,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI;IACxB,QAAQ,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI;IAC5C,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAPlC,OAAO,CAAC,QAAQ,CAAa;gBAElB,OAAO,EAAE,WAAW,EACpB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,eAAe,GAAG,IAAI,EACnC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKlC,UAAU,IAAI,WAAW;IAIzB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc;CAa5E;AAED,qBAAa,mBAAmB,CAAC,SAAS,SAAS,QAAQ,CAAE,SAAQ,WAAW;IAG5E,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS;gBADxC,OAAO,EAAE,WAAW,EACX,QAAQ,EAAE,SAAS,GAAG,SAAS,EACxC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,eAAe,GAAG,IAAI,EACnC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKzB,IAAI,QAAQ,yCAEX;CACF"}
|
package/lib/fuel/context.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { BaseContext, normalizeLabels } from '../core/index.js';
|
|
2
|
+
import { RecordMetaDataSchema } from '@sentio/protos';
|
|
3
|
+
import { create } from '@bufbuild/protobuf';
|
|
2
4
|
export class FuelCall {
|
|
3
5
|
args;
|
|
4
6
|
logs;
|
|
@@ -32,7 +34,7 @@ export class FuelContext extends BaseContext {
|
|
|
32
34
|
this.logIndex = logIndex;
|
|
33
35
|
}
|
|
34
36
|
getMetaDataInternal(name, labels) {
|
|
35
|
-
return {
|
|
37
|
+
return create(RecordMetaDataSchema, {
|
|
36
38
|
address: this.contractAddress,
|
|
37
39
|
contractName: this.contractName,
|
|
38
40
|
blockNumber: BigInt(this.block?.height?.toString() ?? (this.transaction?.blockNumber || 0)),
|
|
@@ -42,7 +44,7 @@ export class FuelContext extends BaseContext {
|
|
|
42
44
|
name: name,
|
|
43
45
|
logIndex: this.logIndex,
|
|
44
46
|
labels: normalizeLabels(labels)
|
|
45
|
-
};
|
|
47
|
+
});
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
50
|
export class FuelContractContext extends FuelContext {
|
package/lib/fuel/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/fuel/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAU,eAAe,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/fuel/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAU,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvE,OAAO,EAAkB,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAK3C,MAAM,OAAO,QAAQ;IAKR;IACA;IALX,YACE,UAA4D,EAC5D,UAAsB,EACtB,WAAoB,EACX,IAA0B,EAC1B,IAAyB;QADzB,SAAI,GAAJ,IAAI,CAAsB;QAC1B,SAAI,GAAJ,IAAI,CAAqB;QAElC,6CAA6C;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,WAAW;IAG/B;IACA;IACA;IACA;IACA;IACA;IAPH,QAAQ,GAAW,CAAC,CAAC,CAAA;IAC7B,YACW,OAAoB,EACpB,eAAuB,EACvB,YAAoB,EACpB,SAAe,EACf,WAAmC,EACnC,KAAuB;QAEhC,KAAK,CAAC,EAAE,CAAC,CAAA;QAPA,YAAO,GAAP,OAAO,CAAa;QACpB,oBAAe,GAAf,eAAe,CAAQ;QACvB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,cAAS,GAAT,SAAS,CAAM;QACf,gBAAW,GAAX,WAAW,CAAwB;QACnC,UAAK,GAAL,KAAK,CAAkB;IAGlC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,WAAW,CAAC,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAES,mBAAmB,CAAC,IAAY,EAAE,MAAc;QACxD,OAAO,MAAM,CAAC,oBAAoB,EAAE;YAClC,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;YAC3F,gBAAgB,EAAE,CAAC;YACnB,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO;YACpD,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;CACF;AAED,MAAM,OAAO,mBAAgD,SAAQ,WAAW;IAGnE;IAFX,YACE,OAAoB,EACX,QAA+B,EACxC,eAAuB,EACvB,YAAoB,EACpB,SAAe,EACf,WAAmC,EACnC,KAAuB;QAEvB,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;QAP/F,aAAQ,GAAR,QAAQ,CAAuB;IAQ1C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fuel-plugin.d.ts","sourceRoot":"","sources":["../../src/fuel/fuel-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,MAAM,EAAiC,MAAM,iBAAiB,CAAA;AACxH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAEL,WAAW,
|
|
1
|
+
{"version":3,"file":"fuel-plugin.d.ts","sourceRoot":"","sources":["../../src/fuel/fuel-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,MAAM,EAAiC,MAAM,iBAAiB,CAAA;AACxH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAEL,WAAW,EAIX,WAAW,EACX,YAAY,EAEZ,qBAAqB,EACrB,aAAa,EACb,gCAAgC,EAEhC,YAAY,EACb,MAAM,gBAAgB,CAAA;AAQvB,qBAAa,UAAW,SAAQ,MAAM;IACpC,IAAI,EAAE,MAAM,CAAe;IAC3B,eAAe,kBAAwB;IACvC,gBAAgB,0BAAgC;IAE1C,IAAI,CAAC,MAAM,EAAE,YAAY;IAOzB,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,MAAM;IA8FlE,iBAAiB,gBAAmF;IAEpG,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAatD,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAkC1E,KAAK,CAAC,OAAO,EAAE,YAAY;IAU3B,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IA6B5D,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IA4BhE,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CA2BjE"}
|
package/lib/fuel/fuel-plugin.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { errorString, GLOBAL_CONFIG, mergeProcessResults, Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime';
|
|
2
2
|
import { PartitionHandlerManager } from '../core/index.js';
|
|
3
3
|
import { HandlerRegister } from '../core/handler-register.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { ContractConfigSchema, FuelAssetHandlerConfigSchema, FuelReceiptHandlerConfigSchema, FuelTransactionHandlerConfigSchema, HandlerType, OnIntervalConfigSchema, ProcessStreamResponse_PartitionsSchema } from '@sentio/protos';
|
|
5
|
+
import { create } from '@bufbuild/protobuf';
|
|
6
|
+
import { ConnectError, Code } from '@connectrpc/connect';
|
|
6
7
|
import { FuelAssetProcessor } from './asset-processor.js';
|
|
7
8
|
import { FuelProcessorState } from './types.js';
|
|
8
9
|
import { FuelProcessor } from './fuel-processor.js';
|
|
@@ -25,7 +26,7 @@ export class FuelPlugin extends Plugin {
|
|
|
25
26
|
continue;
|
|
26
27
|
}
|
|
27
28
|
const processorConfig = processor.config;
|
|
28
|
-
const contractConfig =
|
|
29
|
+
const contractConfig = create(ContractConfigSchema, {
|
|
29
30
|
processorType: USER_PROCESSOR,
|
|
30
31
|
contract: {
|
|
31
32
|
name: processorConfig.name,
|
|
@@ -42,26 +43,25 @@ export class FuelPlugin extends Plugin {
|
|
|
42
43
|
const handlerName = txHandler.handlerName;
|
|
43
44
|
if (processor instanceof FuelProcessor) {
|
|
44
45
|
// on transaction
|
|
45
|
-
const fetchConfig = {
|
|
46
|
+
const fetchConfig = create(FuelTransactionHandlerConfigSchema, {
|
|
46
47
|
handlerId,
|
|
47
48
|
handlerName
|
|
48
|
-
};
|
|
49
|
+
});
|
|
49
50
|
contractConfig.fuelTransactionConfigs.push(fetchConfig);
|
|
50
51
|
}
|
|
51
52
|
else if (processor instanceof FuelAssetProcessor) {
|
|
52
53
|
const assetConfig = txHandler.assetConfig;
|
|
53
|
-
contractConfig.assetConfigs.push({
|
|
54
|
+
contractConfig.assetConfigs.push(create(FuelAssetHandlerConfigSchema, {
|
|
54
55
|
filters: assetConfig?.filters || [],
|
|
55
56
|
handlerId,
|
|
56
57
|
handlerName
|
|
57
|
-
});
|
|
58
|
+
}));
|
|
58
59
|
}
|
|
59
60
|
else if (processor instanceof FuelGlobalProcessor) {
|
|
60
|
-
const fetchConfig = {
|
|
61
|
+
const fetchConfig = create(FuelTransactionHandlerConfigSchema, {
|
|
61
62
|
handlerId,
|
|
62
|
-
handlerName
|
|
63
|
-
|
|
64
|
-
};
|
|
63
|
+
handlerName
|
|
64
|
+
});
|
|
65
65
|
contractConfig.fuelTransactionConfigs.push(fetchConfig);
|
|
66
66
|
contractConfig.contract.address = '*';
|
|
67
67
|
}
|
|
@@ -71,17 +71,17 @@ export class FuelPlugin extends Plugin {
|
|
|
71
71
|
this.partitionManager.registerPartitionHandler(HandlerType.FUEL_RECEIPT, handlerId, receiptHandler.partitionHandler);
|
|
72
72
|
const handlerName = receiptHandler.handlerName;
|
|
73
73
|
if (processor instanceof FuelProcessor) {
|
|
74
|
-
contractConfig.fuelReceiptConfigs.push({
|
|
74
|
+
contractConfig.fuelReceiptConfigs.push(create(FuelReceiptHandlerConfigSchema, {
|
|
75
75
|
...receiptHandler.receiptConfig,
|
|
76
76
|
handlerId,
|
|
77
77
|
handlerName
|
|
78
|
-
});
|
|
78
|
+
}));
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
for (const blockHandler of processor.blockHandlers) {
|
|
82
82
|
const handlerId = this.handlerRegister.register(blockHandler.handler, chainId);
|
|
83
83
|
this.partitionManager.registerPartitionHandler(HandlerType.FUEL_BLOCK, handlerId, blockHandler.partitionHandler);
|
|
84
|
-
contractConfig.intervalConfigs.push({
|
|
84
|
+
contractConfig.intervalConfigs.push(create(OnIntervalConfigSchema, {
|
|
85
85
|
slot: 0,
|
|
86
86
|
slotInterval: blockHandler.blockInterval,
|
|
87
87
|
minutes: 0,
|
|
@@ -90,17 +90,12 @@ export class FuelPlugin extends Plugin {
|
|
|
90
90
|
handlerName: blockHandler.handlerName,
|
|
91
91
|
fetchConfig: undefined
|
|
92
92
|
// fetchConfig: blockHandler.fetchConfig
|
|
93
|
-
});
|
|
93
|
+
}));
|
|
94
94
|
}
|
|
95
95
|
config.contractConfigs.push(contractConfig);
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
supportedHandlers = [
|
|
99
|
-
HandlerType.FUEL_TRANSACTION,
|
|
100
|
-
HandlerType.FUEL_RECEIPT,
|
|
101
|
-
HandlerType.FUEL_CALL,
|
|
102
|
-
HandlerType.FUEL_BLOCK
|
|
103
|
-
];
|
|
98
|
+
supportedHandlers = [HandlerType.FUEL_TRANSACTION, HandlerType.FUEL_RECEIPT, HandlerType.FUEL_BLOCK];
|
|
104
99
|
processBinding(request) {
|
|
105
100
|
switch (request.handlerType) {
|
|
106
101
|
case HandlerType.FUEL_TRANSACTION:
|
|
@@ -110,44 +105,37 @@ export class FuelPlugin extends Plugin {
|
|
|
110
105
|
case HandlerType.FUEL_BLOCK:
|
|
111
106
|
return this.processBlock(request);
|
|
112
107
|
default:
|
|
113
|
-
throw new
|
|
108
|
+
throw new ConnectError('No handle type registered ' + request.handlerType, Code.InvalidArgument);
|
|
114
109
|
}
|
|
115
110
|
}
|
|
116
111
|
async partition(request) {
|
|
117
112
|
let data;
|
|
118
113
|
switch (request.handlerType) {
|
|
119
114
|
case HandlerType.FUEL_TRANSACTION:
|
|
120
|
-
if (
|
|
121
|
-
throw new
|
|
115
|
+
if (request.data?.value.case !== 'fuelTransaction') {
|
|
116
|
+
throw new ConnectError("fuelTransaction can't be empty", Code.InvalidArgument);
|
|
122
117
|
}
|
|
123
|
-
data = request.data.
|
|
118
|
+
data = request.data.value.value;
|
|
124
119
|
break;
|
|
125
120
|
case HandlerType.FUEL_RECEIPT:
|
|
126
|
-
if (
|
|
127
|
-
throw new
|
|
121
|
+
if (request.data?.value.case !== 'fuelReceipt') {
|
|
122
|
+
throw new ConnectError("fuelReceipt can't be empty", Code.InvalidArgument);
|
|
128
123
|
}
|
|
129
|
-
data = request.data.
|
|
124
|
+
data = request.data.value.value;
|
|
130
125
|
break;
|
|
131
126
|
case HandlerType.FUEL_BLOCK:
|
|
132
|
-
if (
|
|
133
|
-
throw new
|
|
134
|
-
}
|
|
135
|
-
data = request.data.fuelBlock;
|
|
136
|
-
break;
|
|
137
|
-
case HandlerType.FUEL_CALL:
|
|
138
|
-
// FUEL_CALL uses the same data as FUEL_TRANSACTION
|
|
139
|
-
if (!request.data?.fuelTransaction) {
|
|
140
|
-
throw new ServerError(Status.INVALID_ARGUMENT, "fuelTransaction can't be empty for FUEL_CALL");
|
|
127
|
+
if (request.data?.value.case !== 'fuelBlock') {
|
|
128
|
+
throw new ConnectError("fuelBlock can't be empty", Code.InvalidArgument);
|
|
141
129
|
}
|
|
142
|
-
data = request.data.
|
|
130
|
+
data = request.data.value.value;
|
|
143
131
|
break;
|
|
144
132
|
default:
|
|
145
|
-
throw new
|
|
133
|
+
throw new ConnectError('No handle type registered ' + request.handlerType, Code.InvalidArgument);
|
|
146
134
|
}
|
|
147
135
|
const partitions = await this.partitionManager.processPartitionForHandlerType(request.handlerType, request.handlerIds, data);
|
|
148
|
-
return {
|
|
136
|
+
return create(ProcessStreamResponse_PartitionsSchema, {
|
|
149
137
|
partitions
|
|
150
|
-
};
|
|
138
|
+
});
|
|
151
139
|
}
|
|
152
140
|
async start(request) {
|
|
153
141
|
try {
|
|
@@ -156,20 +144,20 @@ export class FuelPlugin extends Plugin {
|
|
|
156
144
|
}
|
|
157
145
|
}
|
|
158
146
|
catch (e) {
|
|
159
|
-
throw new
|
|
147
|
+
throw new ConnectError('error starting FuelPlugin: ' + errorString(e), Code.Internal);
|
|
160
148
|
}
|
|
161
149
|
}
|
|
162
150
|
async processReceipt(binding) {
|
|
163
|
-
const receipt = binding?.data?.
|
|
151
|
+
const receipt = binding?.data?.value.case === 'fuelReceipt' ? binding.data.value.value : undefined;
|
|
164
152
|
if (!receipt?.transaction) {
|
|
165
|
-
throw new
|
|
153
|
+
throw new ConnectError("transaction can't be null", Code.InvalidArgument);
|
|
166
154
|
}
|
|
167
155
|
const promises = [];
|
|
168
156
|
for (const handlerId of binding.handlerIds) {
|
|
169
157
|
const promise = this.handlerRegister
|
|
170
158
|
.getHandlerById(binding.chainId, handlerId)(receipt)
|
|
171
159
|
.catch((e) => {
|
|
172
|
-
throw new
|
|
160
|
+
throw new ConnectError('error processing transaction: ' + JSON.stringify(receipt) + '\n' + errorString(e), Code.Internal);
|
|
173
161
|
});
|
|
174
162
|
if (GLOBAL_CONFIG.execution.sequential) {
|
|
175
163
|
await promise;
|
|
@@ -179,16 +167,16 @@ export class FuelPlugin extends Plugin {
|
|
|
179
167
|
return mergeProcessResults(await Promise.all(promises));
|
|
180
168
|
}
|
|
181
169
|
async processTransaction(binding) {
|
|
182
|
-
if (
|
|
183
|
-
throw new
|
|
170
|
+
if (binding.data?.value.case !== 'fuelTransaction' || !binding.data.value.value.transaction) {
|
|
171
|
+
throw new ConnectError("transaction can't be null", Code.InvalidArgument);
|
|
184
172
|
}
|
|
185
|
-
const fuelTransaction = binding.data.
|
|
173
|
+
const fuelTransaction = binding.data.value.value;
|
|
186
174
|
const promises = [];
|
|
187
175
|
for (const handlerId of binding.handlerIds) {
|
|
188
176
|
const promise = this.handlerRegister
|
|
189
177
|
.getHandlerById(binding.chainId, handlerId)(fuelTransaction)
|
|
190
178
|
.catch((e) => {
|
|
191
|
-
throw new
|
|
179
|
+
throw new ConnectError('error processing transaction: ' + JSON.stringify(fuelTransaction.transaction) + '\n' + errorString(e), Code.Internal);
|
|
192
180
|
});
|
|
193
181
|
if (GLOBAL_CONFIG.execution.sequential) {
|
|
194
182
|
await promise;
|
|
@@ -198,17 +186,17 @@ export class FuelPlugin extends Plugin {
|
|
|
198
186
|
return mergeProcessResults(await Promise.all(promises));
|
|
199
187
|
}
|
|
200
188
|
async processBlock(binding) {
|
|
201
|
-
if (
|
|
202
|
-
throw new
|
|
189
|
+
if (binding.data?.value.case !== 'fuelBlock' || !binding.data.value.value.block) {
|
|
190
|
+
throw new ConnectError("Block can't be empty", Code.InvalidArgument);
|
|
203
191
|
}
|
|
204
|
-
const ethBlock = binding.data.
|
|
192
|
+
const ethBlock = binding.data.value.value;
|
|
205
193
|
const promises = [];
|
|
206
194
|
for (const handlerId of binding.handlerIds) {
|
|
207
195
|
const promise = this.handlerRegister
|
|
208
196
|
.getHandlerById(binding.chainId, handlerId)(ethBlock)
|
|
209
197
|
.catch((e) => {
|
|
210
198
|
console.error('error processing block: ', e);
|
|
211
|
-
throw new
|
|
199
|
+
throw new ConnectError('error processing block: ' + ethBlock.block?.height + '\n' + errorString(e), Code.Internal);
|
|
212
200
|
});
|
|
213
201
|
if (GLOBAL_CONFIG.execution.sequential) {
|
|
214
202
|
await promise;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fuel-plugin.js","sourceRoot":"","sources":["../../src/fuel/fuel-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACxH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"fuel-plugin.js","sourceRoot":"","sources":["../../src/fuel/fuel-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fuel-processor-template.d.ts","sourceRoot":"","sources":["../../src/fuel/fuel-processor-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"fuel-processor-template.d.ts","sourceRoot":"","sources":["../../src/fuel/fuel-processor-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { HandleIntervalSchema, TemplateInstanceSchema } from '@sentio/protos';
|
|
2
|
+
import { create } from '@bufbuild/protobuf';
|
|
1
3
|
import { ListStateStorage, processMetrics } from '@sentio/runtime';
|
|
2
4
|
import { DEFAULT_FUEL_FETCH_CONFIG } from './transaction.js';
|
|
3
5
|
import { getOptionsSignature } from './fuel-processor.js';
|
|
@@ -13,6 +15,8 @@ export class FuelBaseProcessorTemplate {
|
|
|
13
15
|
transactionHandlers = [];
|
|
14
16
|
constructor() {
|
|
15
17
|
this.id = FuelProcessorTemplateProcessorState.INSTANCE.getValues().length;
|
|
18
|
+
// Stored type-erased as the base instantiation; the concrete type parameter only appears in
|
|
19
|
+
// handler parameter positions, which `strictFunctionTypes` checks contravariantly.
|
|
16
20
|
FuelProcessorTemplateProcessorState.INSTANCE.addValue(this);
|
|
17
21
|
return proxyProcessor(this);
|
|
18
22
|
}
|
|
@@ -22,7 +26,7 @@ export class FuelBaseProcessorTemplate {
|
|
|
22
26
|
* @param ctx
|
|
23
27
|
*/
|
|
24
28
|
bind(options, ctx) {
|
|
25
|
-
const instance = {
|
|
29
|
+
const instance = create(TemplateInstanceSchema, {
|
|
26
30
|
templateId: this.id,
|
|
27
31
|
contract: {
|
|
28
32
|
address: options.address,
|
|
@@ -34,7 +38,7 @@ export class FuelBaseProcessorTemplate {
|
|
|
34
38
|
endBlock: BigInt(options.endBlock || 0),
|
|
35
39
|
baseLabels: {}
|
|
36
40
|
// baseLabels: options.baseLabels
|
|
37
|
-
};
|
|
41
|
+
});
|
|
38
42
|
ctx.sendTemplateInstance(instance);
|
|
39
43
|
ctx.update({
|
|
40
44
|
states: {
|
|
@@ -82,17 +86,17 @@ export class FuelBaseProcessorTemplate {
|
|
|
82
86
|
onBlockInterval(handler, blockInterval = 1000, backfillBlockInterval = 4000
|
|
83
87
|
// fetchConfig?: Partial<FuelFetchConfig>
|
|
84
88
|
) {
|
|
85
|
-
return this.onInterval(handler, undefined, {
|
|
89
|
+
return this.onInterval(handler, undefined, create(HandleIntervalSchema, {
|
|
86
90
|
recentInterval: blockInterval,
|
|
87
91
|
backfillInterval: backfillBlockInterval
|
|
88
|
-
}
|
|
92
|
+
})
|
|
89
93
|
// fetchConfig
|
|
90
94
|
);
|
|
91
95
|
}
|
|
92
96
|
onTimeInterval(handler, timeIntervalInMinutes = 60, backfillBlockInterval = 240
|
|
93
97
|
// fetchConfig?: Partial<FuelFetchConfig>
|
|
94
98
|
) {
|
|
95
|
-
return this.onInterval(handler, { recentInterval: timeIntervalInMinutes, backfillInterval: backfillBlockInterval }, undefined
|
|
99
|
+
return this.onInterval(handler, create(HandleIntervalSchema, { recentInterval: timeIntervalInMinutes, backfillInterval: backfillBlockInterval }), undefined
|
|
96
100
|
// fetchConfig
|
|
97
101
|
);
|
|
98
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fuel-processor-template.js","sourceRoot":"","sources":["../../src/fuel/fuel-processor-template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fuel-processor-template.js","sourceRoot":"","sources":["../../src/fuel/fuel-processor-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fuel-processor.d.ts","sourceRoot":"","sources":["../../src/fuel/fuel-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"fuel-processor.d.ts","sourceRoot":"","sources":["../../src/fuel/fuel-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HandleIntervalSchema, ProcessResultSchema, timestampDate } from '@sentio/protos';
|
|
2
|
+
import { create } from '@bufbuild/protobuf';
|
|
2
3
|
import { FuelCall, FuelContext, FuelContractContext } from './context.js';
|
|
3
4
|
import { bn, Contract, InputType, Interface } from 'fuels';
|
|
4
5
|
import { getProvider } from './network.js';
|
|
5
6
|
import { decodeFuelTransaction, decodeFuelTransactionWithAbi, decodeLog, DEFAULT_FUEL_FETCH_CONFIG } from './transaction.js';
|
|
6
7
|
import { FuelProcessorState } from './types.js';
|
|
7
|
-
import {
|
|
8
|
+
import { ConnectError, Code } from '@connectrpc/connect';
|
|
8
9
|
import { getHandlerName, proxyProcessor } from '../utils/metrics.js';
|
|
9
10
|
export class FuelProcessor {
|
|
10
11
|
config;
|
|
@@ -66,7 +67,7 @@ export class FuelProcessor {
|
|
|
66
67
|
}
|
|
67
68
|
: {};
|
|
68
69
|
const tx = await decodeFuelTransactionWithAbi(call.transaction, abiMap, this.provider);
|
|
69
|
-
const ctx = new FuelContractContext(this.config.chainId, this.getContract(tx), this.config.address, this.config.name ?? this.config.address, call.timestamp
|
|
70
|
+
const ctx = new FuelContractContext(this.config.chainId, this.getContract(tx), this.config.address, this.config.name ?? this.config.address, call.timestamp ? timestampDate(call.timestamp) : new Date(0), tx, null);
|
|
70
71
|
await handler(tx, ctx);
|
|
71
72
|
return ctx.stopAndGetResult();
|
|
72
73
|
},
|
|
@@ -122,7 +123,7 @@ export class FuelProcessor {
|
|
|
122
123
|
// const contract = new Contract(this.config.address, abi, this.provider)
|
|
123
124
|
const gqlTransaction = call.transaction;
|
|
124
125
|
const tx = await decodeFuelTransactionWithAbi(gqlTransaction, { [this.config.address]: abi }, this.provider);
|
|
125
|
-
const ctx = new FuelContext(this.config.chainId, this.config.address, this.config.name ?? this.config.address, call.timestamp
|
|
126
|
+
const ctx = new FuelContext(this.config.chainId, this.config.address, this.config.name ?? this.config.address, call.timestamp ? timestampDate(call.timestamp) : new Date(0), tx, null);
|
|
126
127
|
for (const op of tx.operations) {
|
|
127
128
|
for (const call of op.calls || []) {
|
|
128
129
|
if (names.has(call.functionName)) {
|
|
@@ -141,7 +142,7 @@ export class FuelProcessor {
|
|
|
141
142
|
}
|
|
142
143
|
catch (e) {
|
|
143
144
|
console.error(e);
|
|
144
|
-
return
|
|
145
|
+
return create(ProcessResultSchema);
|
|
145
146
|
}
|
|
146
147
|
},
|
|
147
148
|
fetchConfig: {
|
|
@@ -162,7 +163,7 @@ export class FuelProcessor {
|
|
|
162
163
|
const receipt = tx.receipts[index];
|
|
163
164
|
const log = decodeLog(receipt, this.config.abi);
|
|
164
165
|
if (log) {
|
|
165
|
-
const ctx = new FuelContractContext(this.config.chainId, this.getContract(tx), this.config.address, this.config.name ?? this.config.address, timestamp
|
|
166
|
+
const ctx = new FuelContractContext(this.config.chainId, this.getContract(tx), this.config.address, this.config.name ?? this.config.address, timestamp ? timestampDate(timestamp) : new Date(0), tx, null);
|
|
166
167
|
ctx.setLogIndex(index);
|
|
167
168
|
await handler({ receiptIndex: index, ...log }, ctx);
|
|
168
169
|
return ctx.stopAndGetResult();
|
|
@@ -174,11 +175,14 @@ export class FuelProcessor {
|
|
|
174
175
|
catch (e) {
|
|
175
176
|
console.error(e);
|
|
176
177
|
}
|
|
177
|
-
return
|
|
178
|
+
return create(ProcessResultSchema);
|
|
178
179
|
},
|
|
179
180
|
receiptConfig: {
|
|
180
|
-
|
|
181
|
-
|
|
181
|
+
receiptFilter: {
|
|
182
|
+
case: 'log',
|
|
183
|
+
value: {
|
|
184
|
+
logIds: Array.from(logIds)
|
|
185
|
+
}
|
|
182
186
|
}
|
|
183
187
|
},
|
|
184
188
|
partitionHandler: async (data) => {
|
|
@@ -218,20 +222,23 @@ export class FuelProcessor {
|
|
|
218
222
|
const tx = await decodeFuelTransaction(transaction, this.provider);
|
|
219
223
|
const index = Number(receiptIndex);
|
|
220
224
|
const receipt = tx.receipts[index];
|
|
221
|
-
const ctx = new FuelContractContext(this.config.chainId, this.getContract(tx), this.config.address, this.config.name ?? this.config.address, timestamp
|
|
225
|
+
const ctx = new FuelContractContext(this.config.chainId, this.getContract(tx), this.config.address, this.config.name ?? this.config.address, timestamp ? timestampDate(timestamp) : new Date(0), tx, null);
|
|
222
226
|
ctx.setLogIndex(index);
|
|
223
227
|
await handler(receipt, ctx);
|
|
224
228
|
}
|
|
225
229
|
catch (e) {
|
|
226
230
|
console.error(e);
|
|
227
231
|
}
|
|
228
|
-
return
|
|
232
|
+
return create(ProcessResultSchema);
|
|
229
233
|
},
|
|
230
234
|
receiptConfig: {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
+
receiptFilter: {
|
|
236
|
+
case: 'transfer',
|
|
237
|
+
value: {
|
|
238
|
+
from,
|
|
239
|
+
to,
|
|
240
|
+
assetId
|
|
241
|
+
}
|
|
235
242
|
}
|
|
236
243
|
},
|
|
237
244
|
partitionHandler: async (data) => {
|
|
@@ -270,7 +277,7 @@ export class FuelProcessor {
|
|
|
270
277
|
handler: async function (data) {
|
|
271
278
|
const header = data.block;
|
|
272
279
|
if (!header) {
|
|
273
|
-
throw new
|
|
280
|
+
throw new ConnectError('Block is empty', Code.InvalidArgument);
|
|
274
281
|
}
|
|
275
282
|
const block = {
|
|
276
283
|
id: header.id,
|
|
@@ -288,7 +295,7 @@ export class FuelProcessor {
|
|
|
288
295
|
}
|
|
289
296
|
};
|
|
290
297
|
const contract = processor.getContract();
|
|
291
|
-
const ctx = new FuelContractContext(processor.config.chainId, contract, processor.config.address, processor.config.name ?? processor.config.address, data.timestamp
|
|
298
|
+
const ctx = new FuelContractContext(processor.config.chainId, contract, processor.config.address, processor.config.name ?? processor.config.address, data.timestamp ? timestampDate(data.timestamp) : new Date(0), null, block);
|
|
292
299
|
await handler(block, ctx);
|
|
293
300
|
return ctx.stopAndGetResult();
|
|
294
301
|
},
|
|
@@ -323,13 +330,16 @@ export class FuelProcessor {
|
|
|
323
330
|
return this;
|
|
324
331
|
}
|
|
325
332
|
onBlockInterval(handler, blockInterval = 250, backfillBlockInterval = 1000, handlerOptions) {
|
|
326
|
-
return this.onInterval(handler, undefined, {
|
|
333
|
+
return this.onInterval(handler, undefined, create(HandleIntervalSchema, {
|
|
327
334
|
recentInterval: blockInterval,
|
|
328
335
|
backfillInterval: backfillBlockInterval
|
|
329
|
-
}, handlerOptions);
|
|
336
|
+
}), handlerOptions);
|
|
330
337
|
}
|
|
331
338
|
onTimeInterval(handler, timeIntervalInMinutes = 60, backfillTimeIntervalInMinutes = 240, handlerOptions) {
|
|
332
|
-
return this.onInterval(handler,
|
|
339
|
+
return this.onInterval(handler, create(HandleIntervalSchema, {
|
|
340
|
+
recentInterval: timeIntervalInMinutes,
|
|
341
|
+
backfillInterval: backfillTimeIntervalInMinutes
|
|
342
|
+
}), undefined, handlerOptions);
|
|
333
343
|
}
|
|
334
344
|
}
|
|
335
345
|
export function getOptionsSignature(opts) {
|