@sentio/sdk-bundle 3.0.0-rc.8 → 3.0.0-rc.9
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/builtin/0x1.js +7 -7
- package/lib/aptos/builtin/0x3.js +8 -8
- package/lib/aptos/builtin/0x4.js +8 -8
- package/lib/aptos/builtin/index.js +9 -9
- package/lib/aptos/ext/index.js +7 -7
- package/lib/aptos/index.js +8 -8
- package/lib/{chunk-FT7S2CGD.js → chunk-2STWNSTL.js} +6 -6
- package/lib/{chunk-74VTUWN5.js → chunk-3ITGIG2T.js} +2 -2
- package/lib/{chunk-5SQBZ4LR.js → chunk-6LNXUEZ2.js} +4 -4
- package/lib/{chunk-WO6QPFGW.js → chunk-A5XHFKLN.js} +3 -3
- package/lib/{chunk-DQNREDX5.js → chunk-A66R5WXL.js} +5 -5
- package/lib/{chunk-OCXO3PBF.js → chunk-A74JLBVG.js} +6 -6
- package/lib/{chunk-N35JDDYB.js → chunk-BSJMBZ47.js} +120 -95
- package/lib/chunk-BSJMBZ47.js.map +1 -0
- package/lib/{chunk-OJINQKTV.js → chunk-F6XB3TYA.js} +2 -2
- package/lib/{chunk-H5JBH4LJ.js → chunk-FEELEM4F.js} +30 -28
- package/lib/chunk-FEELEM4F.js.map +1 -0
- package/lib/{chunk-T5ZH3BWD.js → chunk-IJ2DRUCB.js} +5 -5
- package/lib/{chunk-RWJIGDIS.js → chunk-LC6AHMNQ.js} +4 -4
- package/lib/{chunk-6SG2I5XX.js → chunk-NXC6YEPV.js} +30 -11
- package/lib/chunk-NXC6YEPV.js.map +1 -0
- package/lib/{chunk-SHNNOF36.js → chunk-OZUIEBIK.js} +5 -5
- package/lib/{chunk-J4VTG7YT.js → chunk-PCOINDOU.js} +3 -3
- package/lib/{chunk-XPRPNWPT.js → chunk-QZHJK3ZR.js} +3 -3
- package/lib/{chunk-4XHQG44H.js → chunk-RORSIMFS.js} +61 -58
- package/lib/{chunk-4XHQG44H.js.map → chunk-RORSIMFS.js.map} +1 -1
- package/lib/{chunk-4GJF7CRE.js → chunk-WXR4GY67.js} +29 -30
- package/lib/chunk-WXR4GY67.js.map +1 -0
- package/lib/{chunk-DBR2IYO3.js → chunk-Y55RCY7T.js} +2 -2
- package/lib/{chunk-2KHS7L34.js → chunk-YAIMQUJB.js} +3 -3
- package/lib/core/index.js +1 -1
- package/lib/eth/builtin/eacaggregatorproxy.js +2 -2
- package/lib/eth/builtin/erc1155.js +3 -3
- package/lib/eth/builtin/erc20.js +2 -2
- package/lib/eth/builtin/erc721.js +2 -2
- package/lib/eth/builtin/index.js +4 -4
- package/lib/eth/builtin/weth9.js +3 -3
- package/lib/eth/index.js +2 -2
- package/lib/fuel/index.js +2 -2
- package/lib/index.js +1 -1
- package/lib/iota/builtin/0x1.js +9 -9
- package/lib/iota/builtin/0x2.js +10 -10
- package/lib/iota/builtin/0x3.js +11 -11
- package/lib/iota/builtin/index.js +11 -11
- package/lib/iota/ext/index.js +5 -5
- package/lib/iota/index.js +9 -9
- package/lib/move/index.js +2 -2
- package/lib/solana/builtin/index.js +3 -3
- package/lib/solana/index.js +3 -3
- package/lib/stark/index.js +5 -9
- package/lib/stark/index.js.map +1 -1
- package/lib/store/index.js +1 -1
- package/lib/sui/builtin/0x1.js +9 -9
- package/lib/sui/builtin/0x2.js +10 -10
- package/lib/sui/builtin/0x3.js +11 -11
- package/lib/sui/builtin/index.js +11 -11
- package/lib/sui/ext/index.js +5 -5
- package/lib/sui/index.js +9 -9
- package/lib/testing/index.js +67 -20
- package/lib/testing/index.js.map +1 -1
- package/lib/utils/index.js +2 -2
- package/package.json +2 -2
- package/lib/chunk-4GJF7CRE.js.map +0 -1
- package/lib/chunk-6SG2I5XX.js.map +0 -1
- package/lib/chunk-H5JBH4LJ.js.map +0 -1
- package/lib/chunk-N35JDDYB.js.map +0 -1
- /package/lib/{chunk-FT7S2CGD.js.map → chunk-2STWNSTL.js.map} +0 -0
- /package/lib/{chunk-74VTUWN5.js.map → chunk-3ITGIG2T.js.map} +0 -0
- /package/lib/{chunk-5SQBZ4LR.js.map → chunk-6LNXUEZ2.js.map} +0 -0
- /package/lib/{chunk-WO6QPFGW.js.map → chunk-A5XHFKLN.js.map} +0 -0
- /package/lib/{chunk-DQNREDX5.js.map → chunk-A66R5WXL.js.map} +0 -0
- /package/lib/{chunk-OCXO3PBF.js.map → chunk-A74JLBVG.js.map} +0 -0
- /package/lib/{chunk-OJINQKTV.js.map → chunk-F6XB3TYA.js.map} +0 -0
- /package/lib/{chunk-T5ZH3BWD.js.map → chunk-IJ2DRUCB.js.map} +0 -0
- /package/lib/{chunk-RWJIGDIS.js.map → chunk-LC6AHMNQ.js.map} +0 -0
- /package/lib/{chunk-SHNNOF36.js.map → chunk-OZUIEBIK.js.map} +0 -0
- /package/lib/{chunk-J4VTG7YT.js.map → chunk-PCOINDOU.js.map} +0 -0
- /package/lib/{chunk-XPRPNWPT.js.map → chunk-QZHJK3ZR.js.map} +0 -0
- /package/lib/{chunk-DBR2IYO3.js.map → chunk-Y55RCY7T.js.map} +0 -0
- /package/lib/{chunk-2KHS7L34.js.map → chunk-YAIMQUJB.js.map} +0 -0
|
@@ -18,7 +18,6 @@ import {
|
|
|
18
18
|
ProcessResult,
|
|
19
19
|
Provider,
|
|
20
20
|
ReceiptType,
|
|
21
|
-
TemplateInstanceState,
|
|
22
21
|
TransactionCoder,
|
|
23
22
|
TransactionResponse,
|
|
24
23
|
arrayify,
|
|
@@ -26,7 +25,7 @@ import {
|
|
|
26
25
|
bn,
|
|
27
26
|
deserializeReceipt,
|
|
28
27
|
normalizeLabels
|
|
29
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-NXC6YEPV.js";
|
|
30
29
|
import {
|
|
31
30
|
require_lib
|
|
32
31
|
} from "./chunk-6B74I6XD.js";
|
|
@@ -991,9 +990,6 @@ var FuelPlugin = class extends Plugin {
|
|
|
991
990
|
throw new import_nice_grpc2.ServerError(import_nice_grpc2.Status.INTERNAL, "error starting FuelPlugin: " + errorString(e));
|
|
992
991
|
}
|
|
993
992
|
}
|
|
994
|
-
stateDiff(config) {
|
|
995
|
-
return TemplateInstanceState.INSTANCE.getValues().length !== config.templateInstances.length;
|
|
996
|
-
}
|
|
997
993
|
async processReceipt(binding) {
|
|
998
994
|
const receipt = binding?.data?.fuelLog;
|
|
999
995
|
if (!receipt?.transaction) {
|
|
@@ -1069,7 +1065,7 @@ PluginManager.INSTANCE.register(new FuelPlugin());
|
|
|
1069
1065
|
import("node:process").then((p) => p.stdout.write(""));
|
|
1070
1066
|
|
|
1071
1067
|
// src/fuel/fuel-processor-template.ts
|
|
1072
|
-
import { ListStateStorage } from "@sentio/runtime";
|
|
1068
|
+
import { ListStateStorage, processMetrics } from "@sentio/runtime";
|
|
1073
1069
|
var FuelProcessorTemplateProcessorState = class _FuelProcessorTemplateProcessorState extends ListStateStorage {
|
|
1074
1070
|
static {
|
|
1075
1071
|
__name(this, "FuelProcessorTemplateProcessorState");
|
|
@@ -1081,7 +1077,7 @@ var FuelBaseProcessorTemplate = class {
|
|
|
1081
1077
|
__name(this, "FuelBaseProcessorTemplate");
|
|
1082
1078
|
}
|
|
1083
1079
|
id;
|
|
1084
|
-
|
|
1080
|
+
instances = /* @__PURE__ */ new Set();
|
|
1085
1081
|
blockHandlers = [];
|
|
1086
1082
|
logHandlers = [];
|
|
1087
1083
|
transactionHandlers = [];
|
|
@@ -1096,25 +1092,6 @@ var FuelBaseProcessorTemplate = class {
|
|
|
1096
1092
|
* @param ctx
|
|
1097
1093
|
*/
|
|
1098
1094
|
bind(options, ctx) {
|
|
1099
|
-
const sig = getOptionsSignature({
|
|
1100
|
-
address: options.address,
|
|
1101
|
-
chainId: ctx.chainId
|
|
1102
|
-
});
|
|
1103
|
-
if (this.binds.has(sig)) {
|
|
1104
|
-
console.log(`Same address can be bind to one template only once, ignore duplicate bind: ${sig}`);
|
|
1105
|
-
return;
|
|
1106
|
-
}
|
|
1107
|
-
this.binds.add(sig);
|
|
1108
|
-
const processor = this.bindInternal({ ...options, chainId: ctx.chainId });
|
|
1109
|
-
for (const eh of this.logHandlers) {
|
|
1110
|
-
processor.onLog(eh.logIdFilter, eh.handler, eh.handlerOptions, eh.handlerName);
|
|
1111
|
-
}
|
|
1112
|
-
for (const bh of this.blockHandlers) {
|
|
1113
|
-
processor.onInterval(bh.handler, bh.timeIntervalInMinutes, bh.blockInterval, bh.handlerOptions, bh.handlerName);
|
|
1114
|
-
}
|
|
1115
|
-
for (const th of this.transactionHandlers) {
|
|
1116
|
-
processor.onTransaction(th.handler, th.handlerOptions, th.handlerName);
|
|
1117
|
-
}
|
|
1118
1095
|
const instance = {
|
|
1119
1096
|
templateId: this.id,
|
|
1120
1097
|
contract: {
|
|
@@ -1128,12 +1105,37 @@ var FuelBaseProcessorTemplate = class {
|
|
|
1128
1105
|
baseLabels: {}
|
|
1129
1106
|
// baseLabels: options.baseLabels
|
|
1130
1107
|
};
|
|
1131
|
-
|
|
1108
|
+
ctx.sendTemplateInstance(instance);
|
|
1132
1109
|
ctx.update({
|
|
1133
1110
|
states: {
|
|
1134
1111
|
configUpdated: true
|
|
1135
1112
|
}
|
|
1136
1113
|
});
|
|
1114
|
+
processMetrics.processor_template_instance_count.add(1, {
|
|
1115
|
+
chain_id: ctx.chainId,
|
|
1116
|
+
template: this.constructor.name
|
|
1117
|
+
});
|
|
1118
|
+
}
|
|
1119
|
+
startInstance(options, ctx) {
|
|
1120
|
+
const sig = getOptionsSignature({
|
|
1121
|
+
address: options.address,
|
|
1122
|
+
chainId: ctx.chainId
|
|
1123
|
+
});
|
|
1124
|
+
if (this.instances.has(sig)) {
|
|
1125
|
+
console.debug(`Same address can be bind to one template only once, ignore duplicate bind: ${sig}`);
|
|
1126
|
+
return;
|
|
1127
|
+
}
|
|
1128
|
+
this.instances.add(sig);
|
|
1129
|
+
const processor = this.bindInternal({ ...options, chainId: ctx.chainId });
|
|
1130
|
+
for (const eh of this.logHandlers) {
|
|
1131
|
+
processor.onLog(eh.logIdFilter, eh.handler, eh.handlerOptions, eh.handlerName);
|
|
1132
|
+
}
|
|
1133
|
+
for (const bh of this.blockHandlers) {
|
|
1134
|
+
processor.onInterval(bh.handler, bh.timeIntervalInMinutes, bh.blockInterval, bh.handlerOptions, bh.handlerName);
|
|
1135
|
+
}
|
|
1136
|
+
for (const th of this.transactionHandlers) {
|
|
1137
|
+
processor.onTransaction(th.handler, th.handlerOptions, th.handlerName);
|
|
1138
|
+
}
|
|
1137
1139
|
}
|
|
1138
1140
|
onLog(logIdFilter, handler, handlerOptions = {}) {
|
|
1139
1141
|
this.logHandlers.push({
|
|
@@ -1250,4 +1252,4 @@ export {
|
|
|
1250
1252
|
FuelAbstractProcessor,
|
|
1251
1253
|
TypedCall
|
|
1252
1254
|
};
|
|
1253
|
-
//# sourceMappingURL=chunk-
|
|
1255
|
+
//# sourceMappingURL=chunk-FEELEM4F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/fuel/fuel-plugin.ts","../src/fuel/types.ts","../src/fuel/network.ts","../src/fuel/context.ts","../src/fuel/transaction.ts","../src/fuel/fuel-processor.ts","../src/fuel/asset-processor.ts","../src/fuel/global-processor.ts","../src/fuel/fuel-processor-template.ts","../src/fuel/base-processor.ts","../src/fuel/index.ts"],"sourcesContent":["import { errorString, GLOBAL_CONFIG, mergeProcessResults, Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime'\nimport { PartitionHandlerManager } from '../core/index.js'\nimport { HandlerRegister } from '../core/handler-register.js'\nimport {\n ContractConfig,\n DataBinding,\n HandlerType,\n InitResponse,\n ProcessConfigResponse,\n ProcessResult,\n ProcessStreamResponse_Partitions,\n StartRequest\n} from '@sentio/protos'\n\nimport { ServerError, Status } from 'nice-grpc'\nimport { FuelAssetProcessor } from './asset-processor.js'\nimport { FuelProcessorState } from './types.js'\nimport { FuelProcessor } from './fuel-processor.js'\nimport { FuelGlobalProcessor } from './global-processor.js'\n\nexport class FuelPlugin extends Plugin {\n name: string = 'FuelPlugin'\n handlerRegister = new HandlerRegister()\n partitionManager = new PartitionHandlerManager()\n\n async init(config: InitResponse) {\n for (const fuelProcessor of FuelProcessorState.INSTANCE.getValues()) {\n const chainId = fuelProcessor.config.chainId\n config.chainIds.push(chainId)\n }\n }\n\n async configure(config: ProcessConfigResponse, forChainId?: string) {\n this.handlerRegister.clear(forChainId as any)\n\n for (const processor of FuelProcessorState.INSTANCE.getValues()) {\n const chainId = processor.config.chainId\n if (forChainId !== undefined && forChainId !== chainId.toString()) {\n continue\n }\n const processorConfig = processor.config\n const contractConfig = ContractConfig.fromPartial({\n processorType: USER_PROCESSOR,\n contract: {\n name: processorConfig.name,\n chainId: processorConfig.chainId.toString(),\n address: processorConfig.address || '*',\n abi: ''\n },\n startBlock: processorConfig.startBlock,\n endBlock: processorConfig.endBlock\n })\n for (const txHandler of processor.txHandlers) {\n const handlerId = this.handlerRegister.register(txHandler.handler, chainId)\n this.partitionManager.registerPartitionHandler(\n HandlerType.FUEL_TRANSACTION,\n handlerId,\n txHandler.partitionHandler\n )\n const handlerName = txHandler.handlerName\n if (processor instanceof FuelProcessor) {\n // on transaction\n const fetchConfig = {\n handlerId,\n handlerName\n }\n contractConfig.fuelTransactionConfigs.push(fetchConfig)\n } else if (processor instanceof FuelAssetProcessor) {\n const assetConfig = txHandler.assetConfig\n contractConfig.assetConfigs.push({\n filters: assetConfig?.filters || [],\n handlerId,\n handlerName\n })\n } else if (processor instanceof FuelGlobalProcessor) {\n const fetchConfig = {\n handlerId,\n handlerName,\n filters: []\n }\n contractConfig.fuelTransactionConfigs.push(fetchConfig)\n contractConfig.contract!.address = '*'\n }\n }\n\n for (const receiptHandler of processor.receiptHandlers ?? []) {\n const handlerId = this.handlerRegister.register(receiptHandler.handler, chainId)\n this.partitionManager.registerPartitionHandler(\n HandlerType.FUEL_RECEIPT,\n handlerId,\n receiptHandler.partitionHandler\n )\n const handlerName = receiptHandler.handlerName\n if (processor instanceof FuelProcessor) {\n contractConfig.fuelReceiptConfigs.push({\n ...receiptHandler.receiptConfig,\n handlerId,\n handlerName\n })\n }\n }\n\n for (const blockHandler of processor.blockHandlers) {\n const handlerId = this.handlerRegister.register(blockHandler.handler, chainId)\n this.partitionManager.registerPartitionHandler(HandlerType.FUEL_BLOCK, handlerId, blockHandler.partitionHandler)\n contractConfig.intervalConfigs.push({\n slot: 0,\n slotInterval: blockHandler.blockInterval,\n minutes: 0,\n minutesInterval: blockHandler.timeIntervalInMinutes,\n handlerId: handlerId,\n handlerName: blockHandler.handlerName,\n fetchConfig: undefined\n // fetchConfig: blockHandler.fetchConfig\n })\n }\n\n config.contractConfigs.push(contractConfig)\n }\n }\n\n supportedHandlers = [\n HandlerType.FUEL_TRANSACTION,\n HandlerType.FUEL_RECEIPT,\n HandlerType.FUEL_CALL,\n HandlerType.FUEL_BLOCK\n ]\n\n processBinding(request: DataBinding): Promise<ProcessResult> {\n switch (request.handlerType) {\n case HandlerType.FUEL_TRANSACTION:\n return this.processTransaction(request)\n case HandlerType.FUEL_RECEIPT:\n return this.processReceipt(request)\n case HandlerType.FUEL_BLOCK:\n return this.processBlock(request)\n default:\n throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType)\n }\n }\n\n async partition(request: DataBinding): Promise<ProcessStreamResponse_Partitions> {\n let data: any\n switch (request.handlerType) {\n case HandlerType.FUEL_TRANSACTION:\n if (!request.data?.fuelTransaction) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"fuelTransaction can't be empty\")\n }\n data = request.data.fuelTransaction\n break\n case HandlerType.FUEL_RECEIPT:\n if (!request.data?.fuelLog) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"fuelReceipt can't be empty\")\n }\n data = request.data.fuelLog\n break\n case HandlerType.FUEL_BLOCK:\n if (!request.data?.fuelBlock) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"fuelBlock can't be empty\")\n }\n data = request.data.fuelBlock\n break\n case HandlerType.FUEL_CALL:\n // FUEL_CALL uses the same data as FUEL_TRANSACTION\n if (!request.data?.fuelTransaction) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"fuelTransaction can't be empty for FUEL_CALL\")\n }\n data = request.data.fuelTransaction\n break\n default:\n throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType)\n }\n const partitions = await this.partitionManager.processPartitionForHandlerType(\n request.handlerType,\n request.handlerIds,\n data\n )\n return {\n partitions\n }\n }\n\n async start(request: StartRequest) {\n try {\n for (const processor of FuelProcessorState.INSTANCE.getValues()) {\n await processor.configure()\n }\n } catch (e) {\n throw new ServerError(Status.INTERNAL, 'error starting FuelPlugin: ' + errorString(e))\n }\n }\n\n async processReceipt(binding: DataBinding): Promise<ProcessResult> {\n const receipt = binding?.data?.fuelLog\n\n if (!receipt?.transaction) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"transaction can't be null\")\n }\n\n const promises: Promise<ProcessResult>[] = []\n\n for (const handlerId of binding.handlerIds) {\n const promise = this.handlerRegister\n .getHandlerById(\n binding.chainId,\n handlerId\n )(receipt)\n .catch((e: any) => {\n throw new ServerError(\n Status.INTERNAL,\n 'error processing transaction: ' + JSON.stringify(receipt) + '\\n' + errorString(e)\n )\n })\n if (GLOBAL_CONFIG.execution.sequential) {\n await promise\n }\n promises.push(promise)\n }\n return mergeProcessResults(await Promise.all(promises))\n }\n\n async processTransaction(binding: DataBinding): Promise<ProcessResult> {\n if (!binding.data?.fuelTransaction?.transaction) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"transaction can't be null\")\n }\n const fuelTransaction = binding.data.fuelTransaction\n\n const promises: Promise<ProcessResult>[] = []\n\n for (const handlerId of binding.handlerIds) {\n const promise = this.handlerRegister\n .getHandlerById(\n binding.chainId,\n handlerId\n )(fuelTransaction)\n .catch((e: any) => {\n throw new ServerError(\n Status.INTERNAL,\n 'error processing transaction: ' + JSON.stringify(fuelTransaction.transaction) + '\\n' + errorString(e)\n )\n })\n if (GLOBAL_CONFIG.execution.sequential) {\n await promise\n }\n promises.push(promise)\n }\n return mergeProcessResults(await Promise.all(promises))\n }\n\n async processBlock(binding: DataBinding): Promise<ProcessResult> {\n if (!binding.data?.fuelBlock?.block) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"Block can't be empty\")\n }\n const ethBlock = binding.data.fuelBlock\n\n const promises: Promise<ProcessResult>[] = []\n for (const handlerId of binding.handlerIds) {\n const promise = this.handlerRegister\n .getHandlerById(\n binding.chainId,\n handlerId\n )(ethBlock)\n .catch((e: any) => {\n console.error('error processing block: ', e)\n throw new ServerError(\n Status.INTERNAL,\n 'error processing block: ' + ethBlock.block?.height + '\\n' + errorString(e)\n )\n })\n if (GLOBAL_CONFIG.execution.sequential) {\n await promise\n }\n promises.push(promise)\n }\n return mergeProcessResults(await Promise.all(promises))\n }\n}\n\nPluginManager.INSTANCE.register(new FuelPlugin())\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","import { MapStateStorage } from '@sentio/runtime'\nimport {\n Data_FuelBlock,\n Data_FuelReceipt,\n Data_FuelTransaction,\n FuelAssetHandlerConfig,\n FuelCallHandlerConfig,\n FuelReceiptHandlerConfig,\n HandleInterval,\n OnIntervalConfig,\n ProcessResult\n} from '@sentio/protos'\nimport { Block, TransactionSummary } from 'fuels'\n\nexport interface FuelBaseProcessor<T> {\n configure(): Promise<void>\n config: T\n txHandlers: CallHandler<Data_FuelTransaction>[]\n blockHandlers: BlockHandler[]\n receiptHandlers?: ReceiptHandler[]\n}\n\nexport class FuelProcessorState extends MapStateStorage<FuelBaseProcessor<any>> {\n static INSTANCE = new FuelProcessorState()\n}\n\nexport type CallHandler<T> = {\n handlerName: string\n handler: (call: T) => Promise<ProcessResult>\n fetchConfig?: Partial<FuelCallHandlerConfig>\n assetConfig?: Partial<FuelAssetHandlerConfig>\n partitionHandler?: (call: T) => Promise<string | undefined>\n}\n\nexport type ReceiptHandler = {\n handlerName: string\n handler: (receipt: Data_FuelReceipt) => Promise<ProcessResult>\n receiptConfig?: Partial<FuelReceiptHandlerConfig>\n partitionHandler?: (receipt: Data_FuelReceipt) => Promise<string | undefined>\n}\n\nexport type BlockHandler = {\n blockInterval?: HandleInterval\n timeIntervalInMinutes?: HandleInterval\n handler: (block: Data_FuelBlock) => Promise<ProcessResult>\n handlerName: string\n fetchConfig?: Partial<OnIntervalConfig>\n partitionHandler?: (block: Data_FuelBlock) => Promise<string | undefined>\n}\n\nexport interface FuelLog<T> {\n logId: string\n data: T\n receiptIndex: number\n}\n\nexport type FuelTransaction = TransactionSummary & {\n blockNumber?: string\n logs?: FuelLog<any>[]\n sender?: string\n}\n\nexport type FuelBlock = Omit<Block, 'transactionIds'>\n\nexport type ContractTransferFilter = {\n assetId?: string\n from?: string\n to?: string\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","import { FuelChainId } from '@sentio/chain'\nimport { Endpoints } from '@sentio/runtime'\nimport { Provider } from 'fuels'\n\nexport type FuelNetwork = FuelChainId\nexport const FuelNetwork = <const>{\n MAIN_NET: FuelChainId.FUEL_MAINNET,\n TEST_NET: FuelChainId.FUEL_TESTNET\n}\n\nexport function getRpcEndpoint(network: FuelNetwork): string {\n switch (network) {\n case FuelNetwork.TEST_NET:\n return 'https://testnet.fuel.network/v1/graphql'\n }\n return 'https://mainnet.fuel.network/v1/graphql'\n}\n\nexport async function getProvider(network: FuelNetwork): Promise<Provider> {\n let chainServer = Endpoints.INSTANCE.chainServer.get(network)\n if (!chainServer) {\n chainServer = getRpcEndpoint(network)\n // throw new ServerError(Status.INTERNAL, 'RPC endpoint not provided')\n }\n return new Provider(chainServer)\n // return Provider.create(chainServer)\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","import { BaseContext, Labels, normalizeLabels } from '../core/index.js'\nimport { FuelChainId } from '@sentio/chain'\nimport { RecordMetaData } from '@sentio/protos'\nimport type { CallResult, Contract } from 'fuels'\nimport { InvocationScopeLike } from 'fuels'\nimport { FuelBlock, FuelLog, FuelTransaction } from './types.js'\n\nexport class FuelCall {\n constructor(\n funcScopes: InvocationScopeLike | Array<InvocationScopeLike>,\n callResult: CallResult,\n isMultiCall: boolean,\n readonly args?: Record<string, any>,\n readonly logs?: FuelLog<unknown>[]\n ) {\n // super(funcScopes, callResult, isMultiCall)\n }\n}\n\nexport class FuelContext extends BaseContext {\n private logIndex: number = -1\n constructor(\n readonly chainId: FuelChainId,\n readonly contractAddress: string,\n readonly contractName: string,\n readonly timestamp: Date,\n readonly transaction: FuelTransaction | null,\n readonly block: FuelBlock | null\n ) {\n super({})\n }\n\n getChainId(): FuelChainId {\n return this.chainId\n }\n\n setLogIndex(logIndex: number): void {\n this.logIndex = logIndex\n }\n\n protected getMetaDataInternal(name: string, labels: Labels): RecordMetaData {\n return {\n address: this.contractAddress,\n contractName: this.contractName,\n blockNumber: BigInt(this.block?.height?.toString() ?? (this.transaction?.blockNumber || 0)),\n transactionIndex: 0,\n transactionHash: this.transaction?.id || '', // TODO\n chainId: this.getChainId(),\n name: name,\n logIndex: this.logIndex,\n labels: normalizeLabels(labels)\n }\n }\n}\n\nexport class FuelContractContext<TContract extends Contract> extends FuelContext {\n constructor(\n chainId: FuelChainId,\n readonly contract: TContract | undefined,\n contractAddress: string,\n contractName: string,\n timestamp: Date,\n transaction: FuelTransaction | null,\n block: FuelBlock | null\n ) {\n super(chainId, contract?.id?.toString() ?? contractAddress, contractName, timestamp, transaction, block)\n }\n\n get provider() {\n return this.contract?.provider\n }\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","import {\n AbiMap,\n arrayify,\n assembleTransactionSummary,\n BigNumberCoder,\n bn,\n Input,\n InputType,\n Interface,\n JsonAbi,\n deserializeReceipt,\n Provider,\n ReceiptType,\n TransactionCoder,\n TransactionResponse\n} from 'fuels'\nimport { FuelLog, FuelTransaction } from './types.js'\n\nexport type FuelFetchConfig = {\n includeFailed?: boolean\n}\n\nexport const DEFAULT_FUEL_FETCH_CONFIG: FuelFetchConfig = {\n includeFailed: false\n}\n\nfunction findSenderFromInputs(inputs: Input[] | undefined, baseAssetId: string): string | undefined {\n for (const input of inputs || []) {\n if (input.type == InputType.Coin && input.assetId == baseAssetId) {\n return input.owner\n }\n }\n return undefined\n}\n\nexport async function decodeFuelTransaction(gqlTransaction: any, provider: Provider): Promise<FuelTransaction> {\n const rawPayload = arrayify(gqlTransaction.rawPayload)\n const receipts = gqlTransaction?.status.receipts?.map(deserializeReceipt) || []\n let decodedTransaction: any\n try {\n const [d] = new TransactionCoder().decode(rawPayload, 0)\n decodedTransaction = d\n } catch (e) {\n // If the transaction cannot be decoded, we log the payload in hex and rethrow it\n console.error('Failed to decode transaction payload:', e, 'payload', Buffer.from(rawPayload).toString('hex'))\n throw e\n }\n const { gasCosts, feeParameters, txParameters, baseAssetId } = (await provider.getChain()).consensusParameters\n const blockNumber = gqlTransaction.status?.block?.header?.height\n const { gasPriceFactor, gasPerByte } = feeParameters\n const { maxInputs, maxGasPerTx } = txParameters\n const gqlTransactionStatus = {\n type: gqlTransaction.status?.__typename,\n ...gqlTransaction.status\n }\n return {\n ...assembleTransactionSummary({\n id: gqlTransaction.id,\n receipts,\n transaction: decodedTransaction,\n transactionBytes: rawPayload,\n gqlTransactionStatus,\n gasPerByte: bn(gasPerByte),\n gasPriceFactor: bn(gasPriceFactor),\n maxInputs,\n gasCosts,\n gasPrice: bn(gqlTransaction.gasPrice),\n maxGasPerTx,\n baseAssetId\n }),\n blockNumber,\n sender: findSenderFromInputs(decodedTransaction.inputs, baseAssetId)\n }\n}\n\nexport function decodeLog(receipt: any | undefined, abi: JsonAbi) {\n try {\n if (receipt && (receipt.type === ReceiptType.LogData || receipt.type === ReceiptType.Log)) {\n const interfaceToUse = new Interface(abi)\n const data = receipt.type === ReceiptType.Log ? new BigNumberCoder('u64').encode(receipt.val0) : receipt.data\n const logId: string = receipt.rb.toString()\n const [decodedLog] = interfaceToUse.decodeLog(data, logId)\n return { logId, data: decodedLog }\n }\n return null\n } catch (e) {\n console.error(\n 'Failed to decode log',\n e,\n 'Please make sure you provide the correct abi.',\n e,\n 'receipt',\n receipt,\n 'abi',\n abi\n )\n throw e\n }\n}\n\nexport async function decodeFuelTransactionWithAbi(\n gqlTransaction: any,\n abiMap: AbiMap,\n provider: Provider\n): Promise<FuelTransaction> {\n const rawPayload = arrayify(gqlTransaction.rawPayload)\n const [decodedTransaction] = new TransactionCoder().decode(rawPayload, 0)\n\n const receipts = gqlTransaction?.status.receipts?.map(deserializeReceipt) || []\n\n // const {\n // consensusParameters: {\n // feeParameters: { gasPerByte, gasPriceFactor },\n // txParameters: { maxInputs, maxGasPerTx },\n // gasCosts\n // }\n // } = provider.getChain()\n //\n const gqlTransactionStatus = {\n type: gqlTransaction.status?.__typename,\n ...gqlTransaction.status\n }\n\n const blockNumber = gqlTransactionStatus?.block?.header?.height\n const abi = Object.values(abiMap)[0]\n const logs = [] as FuelLog<any>[]\n ;(receipts as any[]).forEach((receipt, idx) => {\n try {\n const log = decodeLog(receipt, abi)\n if (log) {\n logs.push({ ...log, receiptIndex: idx })\n }\n } catch (e) {\n console.warn('Failed to decode log', e)\n }\n })\n const txResponse = new TransactionResponse(\n gqlTransaction.status.transactionId,\n provider,\n await provider.getChainId(),\n {\n main: Object.values(abiMap)[0],\n otherContractsAbis: {}\n }\n )\n\n // @ts-ignore - hack\n txResponse.gqlTransaction = {\n ...gqlTransaction,\n status: gqlTransactionStatus\n }\n const summary = await txResponse.getTransactionSummary()\n\n return {\n /*...assembleTransactionSummary({\n id: gqlTransaction.id,\n receipts,\n transaction: decodedTransaction,\n transactionBytes: rawPayload,\n gqlTransactionStatus,\n gasPerByte: bn(gasPerByte),\n gasPriceFactor: bn(gasPriceFactor),\n abiMap,\n maxInputs,\n gasCosts,\n maxGasPerTx,\n gasPrice: bn(gqlTransaction.gasPrice)\n }),*/\n ...summary,\n blockNumber,\n logs,\n sender: findSenderFromInputs(decodedTransaction.inputs, (await provider.getChain()).consensusParameters.baseAssetId)\n }\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","import {\n Data_FuelBlock,\n Data_FuelTransaction,\n Data_FuelReceipt,\n FuelCallFilter,\n HandleInterval,\n ProcessResult\n} from '@sentio/protos'\nimport { FuelCall, FuelContext, FuelContractContext } from './context.js'\nimport { bn, Contract, InputType, Interface, JsonAbi, Provider, ReceiptTransfer, ReceiptTransferOut } from 'fuels'\nimport { FuelNetwork, getProvider } from './network.js'\nimport {\n decodeFuelTransaction,\n decodeFuelTransactionWithAbi,\n decodeLog,\n DEFAULT_FUEL_FETCH_CONFIG,\n FuelFetchConfig\n} from './transaction.js'\nimport {\n BlockHandler,\n CallHandler,\n ContractTransferFilter,\n FuelBaseProcessor,\n FuelBlock,\n FuelLog,\n FuelProcessorState,\n FuelTransaction,\n ReceiptHandler\n} from './types.js'\nimport { PromiseOrVoid, HandlerOptions } from '../core/index.js'\nimport { ServerError, Status } from 'nice-grpc'\nimport { getHandlerName, proxyProcessor } from '../utils/metrics.js'\n\nexport class FuelProcessor<TContract extends Contract> implements FuelBaseProcessor<FuelProcessorConfig> {\n txHandlers: CallHandler<Data_FuelTransaction>[] = []\n blockHandlers: BlockHandler[] = []\n receiptHandlers: ReceiptHandler[] = []\n\n private provider: Provider\n\n static bind(config: FuelProcessorConfig): FuelProcessor<any> {\n const processor = new FuelProcessor(config)\n addFuelProcessor(config, processor)\n return processor\n }\n\n constructor(readonly config: FuelProcessorConfig) {\n return proxyProcessor(this)\n }\n\n latestGasPrice: string | undefined\n\n async configure() {\n this.provider = await getProvider(this.config.chainId)\n this.provider.getLatestGasPrice = async () => {\n // avoid flood the endpoint, cache the latest gas price\n if (this.latestGasPrice) {\n return bn(this.latestGasPrice)\n }\n const { latestGasPrice } = await this.provider.operations.getLatestGasPrice()\n this.latestGasPrice = latestGasPrice?.gasPrice\n return bn(latestGasPrice.gasPrice)\n }\n if (this.config.address === '*') {\n return\n }\n }\n\n private getContract(tx?: FuelTransaction) {\n let contract: undefined | TContract\n let contractId = tx?.transaction?.inputContract?.contractID\n if (!contractId) {\n for (const input of tx?.transaction?.inputs ?? []) {\n if (input.type == InputType.Contract) {\n contractId = input.contractID\n break\n }\n }\n }\n\n if (contractId) {\n contract = new Contract(contractId, this.config.abi, this.provider) as TContract\n } else if (this.config.address != '*') {\n contract = new Contract(this.config.address, this.config.abi!, this.provider) as TContract\n }\n return contract\n }\n\n public onTransaction(\n handler: (transaction: FuelTransaction, ctx: FuelContractContext<TContract>) => PromiseOrVoid,\n handlerOptions?: HandlerOptions<FuelFetchConfig, FuelTransaction>,\n handlerName = getHandlerName()\n ) {\n const callHandler = {\n handlerName,\n handler: async (call: Data_FuelTransaction) => {\n const abiMap = this.config.abi\n ? {\n [this.config.address]: this.config.abi\n }\n : {}\n const tx = await decodeFuelTransactionWithAbi(call.transaction, abiMap, this.provider)\n\n const ctx = new FuelContractContext(\n this.config.chainId,\n this.getContract(tx),\n this.config.address,\n this.config.name ?? this.config.address,\n call.timestamp || new Date(0),\n tx,\n null\n )\n await handler(tx, ctx)\n return ctx.stopAndGetResult()\n },\n fetchConfig: {\n filters: [],\n ...handlerOptions\n },\n partitionHandler: async (call: Data_FuelTransaction): Promise<string | undefined> => {\n const p = handlerOptions?.partitionKey\n if (!p) return undefined\n if (typeof p === 'function') {\n const abiMap = this.config.abi\n ? {\n [this.config.address]: this.config.abi\n }\n : {}\n const tx = await decodeFuelTransactionWithAbi(call.transaction, abiMap, this.provider)\n return p(tx)\n }\n return p\n }\n }\n this.txHandlers.push(callHandler)\n return this\n }\n\n // hide onCall for now\n private onCall(\n nameFilter: string | string[],\n handler: (call: FuelCall, ctx: FuelContext) => void | Promise<void>,\n config: FuelFetchConfig = DEFAULT_FUEL_FETCH_CONFIG\n ) {\n const names = new Set(Array.isArray(nameFilter) ? nameFilter : [nameFilter])\n\n if (!this.config.abi) {\n throw new Error('ABI must be provided to use onCall')\n }\n const abi = this.config.abi\n\n const filters: Record<string, FuelCallFilter> = {}\n const abiInterface = new Interface(abi)\n for (const name of names) {\n try {\n const func = abiInterface.functions[name]\n const filter = bn(func.selector, 'hex').toString()\n filters[func.name] = {\n function: filter,\n includeFailed: !!config.includeFailed\n }\n } catch (e) {\n console.error(e)\n }\n }\n\n const callHandler = {\n handlerName: getHandlerName(),\n handler: async (call: Data_FuelTransaction) => {\n try {\n // const contract = new Contract(this.config.address, abi, this.provider)\n const gqlTransaction = call.transaction\n const tx = await decodeFuelTransactionWithAbi(gqlTransaction, { [this.config.address]: abi }, this.provider)\n\n const ctx = new FuelContext(\n this.config.chainId,\n this.config.address,\n this.config.name ?? this.config.address,\n call.timestamp || new Date(0),\n tx,\n null\n )\n for (const op of tx.operations) {\n for (const call of op.calls || []) {\n if (names.has(call.functionName)) {\n const fn = this.getContract(tx)?.functions[call.functionName]\n if (!fn) {\n continue\n }\n const args = Object.values(call.argumentsProvided || {})\n const scope = fn(...args)\n const invocationResult = new FuelCall(scope, tx, false, call.argumentsProvided, tx.logs)\n await handler(invocationResult, ctx)\n }\n }\n }\n\n return ctx.stopAndGetResult()\n } catch (e) {\n console.error(e)\n return ProcessResult.fromPartial({})\n }\n },\n fetchConfig: {\n filters: Object.values(filters)\n }\n }\n this.txHandlers.push(callHandler)\n return this\n }\n\n public onLog<T>(\n logIdFilter: string | string[],\n handler: (logs: FuelLog<T>, ctx: FuelContractContext<TContract>) => PromiseOrVoid,\n handlerOptions?: HandlerOptions<object, FuelLog<T>>,\n handlerName = getHandlerName()\n ) {\n const logIds = new Set(Array.isArray(logIdFilter) ? logIdFilter : [logIdFilter])\n\n const logHandler = {\n handlerName,\n handler: async ({ transaction, receiptIndex, timestamp }: Data_FuelReceipt) => {\n try {\n const tx = await decodeFuelTransaction(transaction, this.provider)\n const index = Number(receiptIndex)\n const receipt = tx.receipts[index]\n const log = decodeLog(receipt, this.config.abi)\n if (log) {\n const ctx = new FuelContractContext(\n this.config.chainId,\n this.getContract(tx),\n this.config.address,\n this.config.name ?? this.config.address,\n timestamp || new Date(0),\n tx,\n null\n )\n ctx.setLogIndex(index)\n await handler({ receiptIndex: index, ...log }, ctx)\n return ctx.stopAndGetResult()\n } else {\n console.error(`Log with receipt index ${receiptIndex} not found in tx`)\n }\n } catch (e) {\n console.error(e)\n }\n\n return ProcessResult.fromPartial({})\n },\n receiptConfig: {\n log: {\n logIds: Array.from(logIds)\n }\n },\n partitionHandler: async (data: Data_FuelReceipt): Promise<string | undefined> => {\n const p = handlerOptions?.partitionKey\n if (!p) return undefined\n if (typeof p === 'function') {\n try {\n const tx = await decodeFuelTransaction(data.transaction, this.provider)\n const index = Number(data.receiptIndex)\n const receipt = tx.receipts[index]\n const log = decodeLog(receipt, this.config.abi)\n if (log) {\n return p({ receiptIndex: index, ...log })\n }\n } catch (e) {\n console.error(e)\n }\n return undefined\n }\n return p\n }\n } as ReceiptHandler\n this.receiptHandlers.push(logHandler)\n return this\n }\n\n /*\n * handle 'Transfer' and 'TransferOut' receipt for a specific contract id\n */\n public onTransfer(\n filter: ContractTransferFilter,\n handler: (transfer: ReceiptTransfer | ReceiptTransferOut, ctx: FuelContractContext<TContract>) => PromiseOrVoid,\n handlerOptions?: HandlerOptions<object, ReceiptTransfer | ReceiptTransferOut>\n ) {\n const { from, to, assetId } = filter\n const h = {\n handlerName: getHandlerName(),\n handler: async ({ transaction, receiptIndex, timestamp }: Data_FuelReceipt) => {\n try {\n const tx = await decodeFuelTransaction(transaction, this.provider)\n const index = Number(receiptIndex)\n const receipt = tx.receipts[index] as ReceiptTransfer | ReceiptTransferOut\n const ctx = new FuelContractContext(\n this.config.chainId,\n this.getContract(tx),\n this.config.address,\n this.config.name ?? this.config.address,\n timestamp || new Date(0),\n tx,\n null\n )\n ctx.setLogIndex(index)\n await handler(receipt, ctx)\n } catch (e) {\n console.error(e)\n }\n\n return ProcessResult.fromPartial({})\n },\n receiptConfig: {\n transfer: {\n from,\n to,\n assetId\n }\n },\n partitionHandler: async (data: Data_FuelReceipt): Promise<string | undefined> => {\n const p = handlerOptions?.partitionKey\n if (!p) return undefined\n if (typeof p === 'function') {\n try {\n const tx = await decodeFuelTransaction(data.transaction, this.provider)\n const index = Number(data.receiptIndex)\n const receipt = tx.receipts[index] as ReceiptTransfer | ReceiptTransferOut\n return p(receipt)\n } catch (e) {\n console.error(e)\n }\n return undefined\n }\n return p\n }\n } as ReceiptHandler\n this.receiptHandlers.push(h)\n return this\n }\n\n public onInterval(\n handler: (block: FuelBlock, ctx: FuelContractContext<TContract>) => PromiseOrVoid,\n timeInterval: HandleInterval | undefined,\n blockInterval: HandleInterval | undefined,\n handlerOptions?: HandlerOptions<object, FuelBlock>,\n handlerName = getHandlerName()\n ): this {\n if (timeInterval) {\n if (timeInterval.backfillInterval < timeInterval.recentInterval) {\n timeInterval.backfillInterval = timeInterval.recentInterval\n }\n }\n\n const processor = this\n\n this.blockHandlers.push({\n blockInterval,\n timeIntervalInMinutes: timeInterval,\n handlerName,\n handler: async function (data: Data_FuelBlock) {\n const header = data.block\n if (!header) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Block is empty')\n }\n\n const block: FuelBlock = {\n id: header.id,\n height: bn(header.height),\n time: header.time,\n header: {\n applicationHash: header.applicationHash,\n daHeight: bn(header.daHeight),\n eventInboxRoot: header.eventInboxRoot,\n messageOutboxRoot: header.messageOutboxRoot,\n prevRoot: header.prevRoot,\n stateTransitionBytecodeVersion: header.stateTransitionBytecodeVersion,\n transactionsCount: header.transactionsCount,\n transactionsRoot: header.transactionsRoot\n }\n }\n const contract = processor.getContract()\n const ctx = new FuelContractContext(\n processor.config.chainId,\n contract,\n processor.config.address,\n processor.config.name ?? processor.config.address,\n data.timestamp || new Date(0),\n null,\n block\n )\n await handler(block, ctx)\n return ctx.stopAndGetResult()\n },\n partitionHandler: async (data: Data_FuelBlock): Promise<string | undefined> => {\n const p = handlerOptions?.partitionKey\n if (!p) return undefined\n if (typeof p === 'function') {\n const header = data.block\n if (!header) return undefined\n const block: FuelBlock = {\n id: header.id,\n height: bn(header.height),\n time: header.time,\n header: {\n applicationHash: header.applicationHash,\n daHeight: bn(header.daHeight),\n eventInboxRoot: header.eventInboxRoot,\n messageOutboxRoot: header.messageOutboxRoot,\n prevRoot: header.prevRoot,\n stateTransitionBytecodeVersion: header.stateTransitionBytecodeVersion,\n transactionsCount: header.transactionsCount,\n transactionsRoot: header.transactionsRoot\n }\n }\n return p(block)\n }\n return p\n }\n })\n return this\n }\n\n public onBlockInterval(\n handler: (block: FuelBlock, ctx: FuelContractContext<TContract>) => PromiseOrVoid,\n blockInterval = 250,\n backfillBlockInterval = 1000,\n handlerOptions?: HandlerOptions<object, FuelBlock>\n ): this {\n return this.onInterval(\n handler,\n undefined,\n {\n recentInterval: blockInterval,\n backfillInterval: backfillBlockInterval\n },\n handlerOptions\n )\n }\n\n public onTimeInterval(\n handler: (block: FuelBlock, ctx: FuelContractContext<TContract>) => PromiseOrVoid,\n timeIntervalInMinutes = 60,\n backfillTimeIntervalInMinutes = 240,\n handlerOptions?: HandlerOptions<object, FuelBlock>\n ): this {\n return this.onInterval(\n handler,\n { recentInterval: timeIntervalInMinutes, backfillInterval: backfillTimeIntervalInMinutes },\n undefined,\n handlerOptions\n )\n }\n}\n\nexport type FuelProcessorConfig = {\n address: string\n name?: string\n chainId: FuelNetwork\n startBlock?: bigint\n endBlock?: bigint\n abi: JsonAbi\n}\n\nexport function getOptionsSignature(opts: Omit<FuelProcessorConfig, 'abi'>): string {\n const sig = [opts.address]\n if (opts.chainId) {\n sig.push(opts.chainId)\n }\n if (opts.name) {\n sig.push(opts.name)\n }\n if (opts.startBlock) {\n sig.push(opts.startBlock.toString())\n }\n if (opts.endBlock) {\n sig.push(opts.endBlock.toString())\n }\n return sig.join('_')\n}\n\n// Dedup processor that bind multiple times\nexport function getFuelProcessor(opts: Omit<FuelProcessorConfig, 'abi'>) {\n const sig = getOptionsSignature(opts)\n return FuelProcessorState.INSTANCE.getValue(sig)\n}\n\nexport function addFuelProcessor(opts: Omit<FuelProcessorConfig, 'abi'>, processor: FuelBaseProcessor<any>) {\n const sig = getOptionsSignature(opts)\n\n FuelProcessorState.INSTANCE.getOrSetValue(sig, processor)\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","import { CallHandler, FuelBaseProcessor, FuelProcessorState } from './types.js'\nimport { Data_FuelReceipt, Data_FuelTransaction, FuelAssetHandlerConfig_AssetFilter } from '@sentio/protos'\nimport { FuelNetwork, getProvider } from './network.js'\nimport { FuelContext } from './context.js'\nimport { decodeFuelTransaction } from './transaction.js'\nimport { Provider, InputType, OutputType } from 'fuels'\nimport { getOptionsSignature } from './fuel-processor.js'\nimport { getHandlerName, proxyProcessor } from '../utils/metrics.js'\n\nexport class FuelAssetProcessor implements FuelBaseProcessor<FuelAssetProcessorConfig> {\n txHandlers: CallHandler<Data_FuelTransaction | Data_FuelReceipt>[] = []\n blockHandlers = []\n private provider: Provider\n\n static bind(config: FuelAssetProcessorConfig): FuelAssetProcessor {\n const processor = new FuelAssetProcessor(config)\n const sig =\n 'assets_' +\n getOptionsSignature({\n ...config,\n address: '*'\n })\n FuelProcessorState.INSTANCE.getOrSetValue(sig, processor)\n return processor\n }\n\n constructor(readonly config: FuelAssetProcessorConfig) {\n return proxyProcessor(this)\n }\n\n async configure(): Promise<void> {\n this.provider = await getProvider(this.config.chainId)\n }\n\n onTransfer(filter: TransferFilter, handler: (transfers: FuelTransfer, ctx: FuelContext) => void | Promise<void>) {\n const filters: FuelAssetHandlerConfig_AssetFilter[] = []\n\n const assetIds = arrayify(filter.assetId)\n const froms = arrayify(filter.from)\n const tos = arrayify(filter.to)\n\n for (const assetId of assetIds) {\n for (const from of froms) {\n for (const to of tos) {\n filters.push({\n assetId: assetId,\n fromAddress: from,\n toAddress: to\n })\n }\n }\n }\n\n const callHandler = {\n handlerName: getHandlerName(),\n handler: async (call: Data_FuelTransaction) => {\n const gqlTransaction = call.transaction\n const tx = await decodeFuelTransaction(gqlTransaction, this.provider)\n\n const transfer: FuelTransfer = {\n from: [],\n to: []\n }\n let assetId = ''\n for (const input of tx.transaction.inputs || []) {\n if (input.type == InputType.Coin) {\n transfer.from.push({\n address: input.owner,\n assetId: input.assetId,\n amount: BigInt(input.amount.toString(10))\n })\n assetId = input.assetId\n }\n }\n\n for (const output of tx.transaction.outputs || []) {\n switch (output.type) {\n case OutputType.Change:\n case OutputType.Coin:\n case OutputType.Variable:\n const value = output.amount.toString(10)\n transfer.to.push({\n address: output.to,\n amount: BigInt(value),\n assetId: output.assetId\n })\n if (assetId == '') {\n assetId = output.assetId\n }\n }\n }\n\n const ctx = new FuelContext(\n this.config.chainId,\n assetId,\n this.config.name ?? '',\n call.timestamp || new Date(0),\n tx,\n null\n )\n await handler(transfer, ctx)\n return ctx.stopAndGetResult()\n },\n assetConfig: {\n filters\n }\n }\n this.txHandlers.push(callHandler)\n return this\n }\n}\n\nexport type FuelAssetProcessorConfig = {\n name?: string\n chainId: FuelNetwork\n startBlock?: bigint\n endBlock?: bigint\n}\n\nexport type TransferFilter = {\n // The account address that is sending the asset\n from?: string | string[]\n // The account address that is receiving the asset\n to?: string | string[]\n // The asset id of the asset being transferred\n assetId?: string | string[]\n}\n\nexport type FuelTransfer = {\n from: {\n assetId: string\n address: string\n amount: bigint\n }[]\n to: {\n address: string\n amount: bigint\n assetId: string\n }[]\n}\n\nfunction arrayify(value?: string | string[]): Array<string | undefined> {\n if (value) {\n if (Array.isArray(value)) {\n return value.length > 0 ? value : [undefined]\n }\n return [value]\n }\n return [undefined]\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","import { CallHandler, FuelBaseProcessor, FuelBlock, FuelProcessorState, FuelTransaction } from './types.js'\nimport { Data_FuelTransaction } from '@sentio/protos'\nimport { Provider, bn } from 'fuels'\nimport { getProvider } from './network.js'\nimport { decodeFuelTransaction, DEFAULT_FUEL_FETCH_CONFIG, FuelFetchConfig } from './transaction.js'\nimport { FuelContext } from './context.js'\nimport { FuelProcessorConfig, getOptionsSignature } from './fuel-processor.js'\nimport { mergeProcessResults } from '@sentio/runtime'\nimport { ALL_ADDRESS } from '../core/index.js'\nimport { getHandlerName, proxyProcessor } from '../utils/metrics.js'\n\ntype GlobalFuelProcessorConfig = Omit<FuelProcessorConfig, 'address' | 'abi'>\n\nexport class FuelGlobalProcessor implements FuelBaseProcessor<GlobalFuelProcessorConfig> {\n txHandlers: CallHandler<Data_FuelTransaction>[] = []\n blockHandlers = []\n\n private provider: Provider\n\n static bind(config: GlobalFuelProcessorConfig): FuelGlobalProcessor {\n const processor = new FuelGlobalProcessor(config)\n const sig =\n 'global_' +\n getOptionsSignature({\n ...config,\n address: ALL_ADDRESS\n })\n FuelProcessorState.INSTANCE.getOrSetValue(sig, processor)\n return processor\n }\n\n constructor(readonly config: GlobalFuelProcessorConfig) {\n return proxyProcessor(this)\n }\n\n async configure() {\n this.provider = await getProvider(this.config.chainId)\n }\n\n public onTransaction(\n handler: (transaction: FuelTransaction, ctx: FuelContext) => void | Promise<void>,\n config: FuelFetchConfig = DEFAULT_FUEL_FETCH_CONFIG\n ) {\n const callHandler = {\n handlerName: getHandlerName(),\n handler: async (call: Data_FuelTransaction) => {\n let tx: FuelTransaction\n try {\n tx = await decodeFuelTransaction(call.transaction, this.provider)\n } catch (e) {\n console.error('error decoding transaction', e)\n return mergeProcessResults([])\n }\n const header = call.transaction?.status.block.header\n const ctx = new FuelContext(\n this.config.chainId,\n ALL_ADDRESS,\n this.config.name ?? '*',\n call.timestamp || new Date(0),\n tx,\n header\n ? ({\n header: {\n daHeight: bn(header.daHeight)\n }\n } as FuelBlock)\n : null\n )\n await handler(tx, ctx)\n return ctx.stopAndGetResult()\n },\n fetchConfig: {\n filters: [],\n ...config\n }\n }\n this.txHandlers.push(callHandler)\n return this\n }\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","import { FuelContext, FuelContractContext } from './context.js'\nimport { HandleInterval, TemplateInstance } from '@sentio/protos'\nimport { PromiseOrVoid } from '../core/promises.js'\nimport { ListStateStorage, processMetrics } from '@sentio/runtime'\nimport { Contract } from 'fuels'\nimport { FuelBlock, FuelLog, FuelTransaction } from './types.js'\nimport { DEFAULT_FUEL_FETCH_CONFIG, FuelFetchConfig } from './transaction.js'\nimport { FuelProcessor, FuelProcessorConfig, getOptionsSignature } from './fuel-processor.js'\nimport { getHandlerName, proxyProcessor } from '../utils/metrics.js'\nimport { HandlerOptions } from '../core/index.js'\n\nexport class FuelProcessorTemplateProcessorState extends ListStateStorage<FuelBaseProcessorTemplate<Contract>> {\n static INSTANCE = new FuelProcessorTemplateProcessorState()\n}\n\nexport abstract class FuelBaseProcessorTemplate<TContract extends Contract> {\n id: number\n instances = new Set<string>()\n blockHandlers: {\n handlerName: string\n handler: (block: FuelBlock, ctx: FuelContractContext<TContract>) => PromiseOrVoid\n blockInterval?: HandleInterval\n timeIntervalInMinutes?: HandleInterval\n handlerOptions?: HandlerOptions<object, FuelBlock>\n // fetchConfig?: FuelFetchConfig\n }[] = []\n\n logHandlers: {\n logIdFilter: string | string[]\n handlerName: string\n handler: (logs: FuelLog<any>, ctx: FuelContractContext<TContract>) => PromiseOrVoid\n handlerOptions?: HandlerOptions<object, FuelLog<any>>\n // fetchConfig?: FuelFetchConfig\n }[] = []\n\n transactionHandlers: {\n handlerName: string\n handler: (transaction: FuelTransaction, ctx: FuelContractContext<TContract>) => PromiseOrVoid\n handlerOptions?: HandlerOptions<FuelFetchConfig, FuelTransaction>\n }[] = []\n\n constructor() {\n this.id = FuelProcessorTemplateProcessorState.INSTANCE.getValues().length\n FuelProcessorTemplateProcessorState.INSTANCE.addValue(this)\n return proxyProcessor(this)\n }\n\n /**\n * Bind template using {@param options}, using {@param ctx}'s network value if not provided in the option\n * @param options\n * @param ctx\n */\n public bind(options: Omit<Omit<FuelProcessorConfig, 'chainId'>, 'abi'>, ctx: FuelContext): void {\n const instance: TemplateInstance = {\n templateId: this.id,\n contract: {\n address: options.address,\n name: options.name || '',\n chainId: ctx.chainId,\n abi: ''\n },\n startBlock: BigInt(options.startBlock || 0),\n endBlock: BigInt(options.endBlock || 0),\n baseLabels: {}\n // baseLabels: options.baseLabels\n }\n\n ctx.sendTemplateInstance(instance)\n\n ctx.update({\n states: {\n configUpdated: true\n }\n })\n\n processMetrics.processor_template_instance_count.add(1, {\n chain_id: ctx.chainId,\n template: this.constructor.name\n })\n }\n\n public startInstance(options: Omit<Omit<FuelProcessorConfig, 'chainId'>, 'abi'>, ctx: FuelContext): void {\n const sig = getOptionsSignature({\n address: options.address,\n chainId: ctx.chainId\n })\n if (this.instances.has(sig)) {\n console.debug(`Same address can be bind to one template only once, ignore duplicate bind: ${sig}`)\n return\n }\n this.instances.add(sig)\n\n const processor = this.bindInternal({ ...options, chainId: ctx.chainId })\n\n for (const eh of this.logHandlers) {\n processor.onLog(eh.logIdFilter, eh.handler, eh.handlerOptions, eh.handlerName)\n }\n for (const bh of this.blockHandlers) {\n processor.onInterval(bh.handler, bh.timeIntervalInMinutes, bh.blockInterval, bh.handlerOptions, bh.handlerName)\n }\n for (const th of this.transactionHandlers) {\n processor.onTransaction(th.handler, th.handlerOptions, th.handlerName)\n }\n }\n\n protected onLog<T>(\n logIdFilter: string | string[],\n handler: (logs: FuelLog<T>, ctx: FuelContractContext<TContract>) => PromiseOrVoid,\n handlerOptions: HandlerOptions<object, FuelLog<T>> = {}\n // fetchConfig?: Partial<FuelFetchConfig>\n ) {\n this.logHandlers.push({\n logIdFilter,\n handlerName: getHandlerName(),\n handler,\n handlerOptions\n // fetchConfig: { ...fetchConfig}\n })\n return this\n }\n\n public onBlockInterval(\n handler: (block: FuelBlock, ctx: FuelContractContext<TContract>) => PromiseOrVoid,\n blockInterval = 1000,\n backfillBlockInterval = 4000\n // fetchConfig?: Partial<FuelFetchConfig>\n ) {\n return this.onInterval(\n handler,\n undefined,\n {\n recentInterval: blockInterval,\n backfillInterval: backfillBlockInterval\n }\n // fetchConfig\n )\n }\n\n public onTimeInterval(\n handler: (block: FuelBlock, ctx: FuelContractContext<TContract>) => PromiseOrVoid,\n timeIntervalInMinutes = 60,\n backfillBlockInterval = 240\n // fetchConfig?: Partial<FuelFetchConfig>\n ) {\n return this.onInterval(\n handler,\n { recentInterval: timeIntervalInMinutes, backfillInterval: backfillBlockInterval },\n undefined\n // fetchConfig\n )\n }\n\n public onInterval(\n handler: (block: FuelBlock, ctx: FuelContractContext<TContract>) => PromiseOrVoid,\n timeInterval: HandleInterval | undefined,\n blockInterval: HandleInterval | undefined,\n handlerOptions: HandlerOptions<object, FuelBlock> = {}\n // fetchConfig?: FuelFetchConfig\n ) {\n this.blockHandlers.push({\n handlerName: getHandlerName(),\n handler,\n timeIntervalInMinutes: timeInterval,\n blockInterval,\n handlerOptions\n // fetchConfig: { ...fetchConfig }\n })\n return this\n }\n\n protected onTransaction(\n handler: (transaction: FuelTransaction, ctx: FuelContractContext<TContract>) => PromiseOrVoid,\n handlerOptions: HandlerOptions<FuelFetchConfig, FuelTransaction> = DEFAULT_FUEL_FETCH_CONFIG\n ) {\n this.transactionHandlers.push({\n handlerName: getHandlerName(),\n handler,\n handlerOptions\n })\n return this\n }\n\n protected abstract bindInternal(options: Omit<FuelProcessorConfig, 'abi'>): FuelProcessor<TContract>\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","import { FuelProcessor, FuelProcessorConfig } from './fuel-processor.js'\nimport { Contract, JsonAbi } from 'fuels'\n// import { FuelCall } from './context.js'\nimport { FuelChainId } from '@sentio/chain'\nimport { FuelLog } from './types.js'\nimport { proxyProcessor } from '../utils/metrics.js'\n\nexport abstract class FuelAbstractProcessor<TContract extends Contract> extends FuelProcessor<TContract> {\n protected constructor(abi: JsonAbi, config?: Omit<FuelProcessorConfig, 'abi'>) {\n if (!config) {\n config = {\n chainId: FuelChainId.FUEL_MAINNET,\n address: '*'\n }\n }\n super({\n ...config,\n abi\n })\n return proxyProcessor(this)\n }\n}\n\nexport class TypedCall<T extends Array<any>, R> {\n args: T\n returnValue: R\n argsObject?: Record<string, any>\n logs?: FuelLog<unknown>[]\n\n // constructor(call: FuelCall) {\n // this.args = call.args as T\n // this.returnValue = call.value as R\n // this.argsObject = call.args\n // this.logs = call.logs\n // }\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","export { FuelPlugin } from './fuel-plugin.js'\nexport * from './context.js'\nexport * from './fuel-processor.js'\nexport * from './fuel-processor-template.js'\nexport * from './network.js'\nexport * from './transaction.js'\nexport * from './base-processor.js'\nexport * from './asset-processor.js'\nexport * from './types.js'\nexport * from './global-processor.js'\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));"],"mappings":"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","names":["mergeProcessResults","import_nice_grpc","call","arrayify","mergeProcessResults","FuelChainId","FuelChainId"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as createRequireSdkShim } from 'module'; const require = createRequireSdkShim(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
loadAllTypes
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-LC6AHMNQ.js";
|
|
5
5
|
import {
|
|
6
6
|
SuiBaseProcessor,
|
|
7
7
|
ZERO_ADDRESS2 as ZERO_ADDRESS,
|
|
@@ -18,15 +18,15 @@ import {
|
|
|
18
18
|
transactionArgumentOrPureU642 as transactionArgumentOrPureU64,
|
|
19
19
|
transactionArgumentOrPureU82 as transactionArgumentOrPureU8,
|
|
20
20
|
transactionArgumentOrVec2 as transactionArgumentOrVec
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-BSJMBZ47.js";
|
|
22
22
|
import {
|
|
23
23
|
SuiNetwork,
|
|
24
24
|
Transaction
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-YAIMQUJB.js";
|
|
26
26
|
import {
|
|
27
27
|
ANY_TYPE,
|
|
28
28
|
TypeDescriptor
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-F6XB3TYA.js";
|
|
30
30
|
import {
|
|
31
31
|
__export,
|
|
32
32
|
__name
|
|
@@ -18273,4 +18273,4 @@ export {
|
|
|
18273
18273
|
loadAllTypes2 as loadAllTypes,
|
|
18274
18274
|
x2_exports
|
|
18275
18275
|
};
|
|
18276
|
-
//# sourceMappingURL=chunk-
|
|
18276
|
+
//# sourceMappingURL=chunk-IJ2DRUCB.js.map
|
|
@@ -13,15 +13,15 @@ import {
|
|
|
13
13
|
transactionArgumentOrPureU642 as transactionArgumentOrPureU64,
|
|
14
14
|
transactionArgumentOrPureU82 as transactionArgumentOrPureU8,
|
|
15
15
|
transactionArgumentOrVec2 as transactionArgumentOrVec
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-BSJMBZ47.js";
|
|
17
17
|
import {
|
|
18
18
|
SuiNetwork,
|
|
19
19
|
Transaction
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-YAIMQUJB.js";
|
|
21
21
|
import {
|
|
22
22
|
ANY_TYPE,
|
|
23
23
|
TypeDescriptor
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-F6XB3TYA.js";
|
|
25
25
|
import {
|
|
26
26
|
__export,
|
|
27
27
|
__name
|
|
@@ -5106,4 +5106,4 @@ export {
|
|
|
5106
5106
|
loadAllTypes,
|
|
5107
5107
|
x1_exports
|
|
5108
5108
|
};
|
|
5109
|
-
//# sourceMappingURL=chunk-
|
|
5109
|
+
//# sourceMappingURL=chunk-LC6AHMNQ.js.map
|
|
@@ -63707,6 +63707,13 @@ var NotificationType;
|
|
|
63707
63707
|
NotificationType2[NotificationType2["BILLING_USAGE"] = 304] = "BILLING_USAGE";
|
|
63708
63708
|
NotificationType2[NotificationType2["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
|
|
63709
63709
|
})(NotificationType || (NotificationType = {}));
|
|
63710
|
+
var ChatType;
|
|
63711
|
+
(function(ChatType2) {
|
|
63712
|
+
ChatType2[ChatType2["CHAT_TYPE_UNSPECIFIED"] = 0] = "CHAT_TYPE_UNSPECIFIED";
|
|
63713
|
+
ChatType2[ChatType2["CHAT_TYPE_CHAT"] = 1] = "CHAT_TYPE_CHAT";
|
|
63714
|
+
ChatType2[ChatType2["CHAT_TYPE_ACTION"] = 2] = "CHAT_TYPE_ACTION";
|
|
63715
|
+
ChatType2[ChatType2["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
|
|
63716
|
+
})(ChatType || (ChatType = {}));
|
|
63710
63717
|
var UsageTracker_CustomSkus_SkuOp;
|
|
63711
63718
|
(function(UsageTracker_CustomSkus_SkuOp2) {
|
|
63712
63719
|
UsageTracker_CustomSkus_SkuOp2[UsageTracker_CustomSkus_SkuOp2["MIN"] = 0] = "MIN";
|
|
@@ -71812,7 +71819,7 @@ var EntityUpdateData_FieldsEntry = {
|
|
|
71812
71819
|
}
|
|
71813
71820
|
};
|
|
71814
71821
|
function createBaseTPLRequest() {
|
|
71815
|
-
return { templates: [] };
|
|
71822
|
+
return { templates: [], remove: false };
|
|
71816
71823
|
}
|
|
71817
71824
|
__name(createBaseTPLRequest, "createBaseTPLRequest");
|
|
71818
71825
|
var TPLRequest = {
|
|
@@ -71820,6 +71827,9 @@ var TPLRequest = {
|
|
|
71820
71827
|
for (const v of message.templates) {
|
|
71821
71828
|
TemplateInstance.encode(v, writer.uint32(10).fork()).ldelim();
|
|
71822
71829
|
}
|
|
71830
|
+
if (message.remove !== false) {
|
|
71831
|
+
writer.uint32(16).bool(message.remove);
|
|
71832
|
+
}
|
|
71823
71833
|
return writer;
|
|
71824
71834
|
},
|
|
71825
71835
|
decode(input, length) {
|
|
@@ -71835,6 +71845,12 @@ var TPLRequest = {
|
|
|
71835
71845
|
}
|
|
71836
71846
|
message.templates.push(TemplateInstance.decode(reader, reader.uint32()));
|
|
71837
71847
|
continue;
|
|
71848
|
+
case 2:
|
|
71849
|
+
if (tag !== 16) {
|
|
71850
|
+
break;
|
|
71851
|
+
}
|
|
71852
|
+
message.remove = reader.bool();
|
|
71853
|
+
continue;
|
|
71838
71854
|
}
|
|
71839
71855
|
if ((tag & 7) === 4 || tag === 0) {
|
|
71840
71856
|
break;
|
|
@@ -71845,7 +71861,8 @@ var TPLRequest = {
|
|
|
71845
71861
|
},
|
|
71846
71862
|
fromJSON(object) {
|
|
71847
71863
|
return {
|
|
71848
|
-
templates: globalThis.Array.isArray(object?.templates) ? object.templates.map((e) => TemplateInstance.fromJSON(e)) : []
|
|
71864
|
+
templates: globalThis.Array.isArray(object?.templates) ? object.templates.map((e) => TemplateInstance.fromJSON(e)) : [],
|
|
71865
|
+
remove: isSet4(object.remove) ? globalThis.Boolean(object.remove) : false
|
|
71849
71866
|
};
|
|
71850
71867
|
},
|
|
71851
71868
|
toJSON(message) {
|
|
@@ -71853,6 +71870,9 @@ var TPLRequest = {
|
|
|
71853
71870
|
if (message.templates?.length) {
|
|
71854
71871
|
obj.templates = message.templates.map((e) => TemplateInstance.toJSON(e));
|
|
71855
71872
|
}
|
|
71873
|
+
if (message.remove !== false) {
|
|
71874
|
+
obj.remove = message.remove;
|
|
71875
|
+
}
|
|
71856
71876
|
return obj;
|
|
71857
71877
|
},
|
|
71858
71878
|
create(base) {
|
|
@@ -71861,6 +71881,7 @@ var TPLRequest = {
|
|
|
71861
71881
|
fromPartial(object) {
|
|
71862
71882
|
const message = createBaseTPLRequest();
|
|
71863
71883
|
message.templates = object.templates?.map((e) => TemplateInstance.fromPartial(e)) || [];
|
|
71884
|
+
message.remove = object.remove ?? false;
|
|
71864
71885
|
return message;
|
|
71865
71886
|
}
|
|
71866
71887
|
};
|
|
@@ -77704,6 +77725,12 @@ var BaseContext = class {
|
|
|
77704
77725
|
this._store = new Store(dbContext);
|
|
77705
77726
|
}
|
|
77706
77727
|
}
|
|
77728
|
+
sendTemplateInstance(instance, unbind = false) {
|
|
77729
|
+
const store = PluginManager3.INSTANCE.dbContextLocalStorage.getStore();
|
|
77730
|
+
if (store && "sendTemplateRequest" in store) {
|
|
77731
|
+
store?.sendTemplateRequest([instance], unbind);
|
|
77732
|
+
}
|
|
77733
|
+
}
|
|
77707
77734
|
};
|
|
77708
77735
|
import("node:process").then((p) => p.stdout.write(""));
|
|
77709
77736
|
|
|
@@ -77741,19 +77768,12 @@ import("node:process").then((p) => p.stdout.write(""));
|
|
|
77741
77768
|
|
|
77742
77769
|
// src/core/core-plugin.ts
|
|
77743
77770
|
import { Plugin, PluginManager as PluginManager4 } from "@sentio/runtime";
|
|
77744
|
-
|
|
77745
|
-
// src/core/template.ts
|
|
77746
|
-
import { TemplateInstanceState } from "@sentio/runtime";
|
|
77747
|
-
import("node:process").then((p) => p.stdout.write(""));
|
|
77748
|
-
|
|
77749
|
-
// src/core/core-plugin.ts
|
|
77750
77771
|
var CorePlugin = class extends Plugin {
|
|
77751
77772
|
static {
|
|
77752
77773
|
__name(this, "CorePlugin");
|
|
77753
77774
|
}
|
|
77754
77775
|
name = "CorePlugin";
|
|
77755
77776
|
async configure(config) {
|
|
77756
|
-
config.templateInstances = [...TemplateInstanceState.INSTANCE.getValues()];
|
|
77757
77777
|
this.initStartupConfig(config);
|
|
77758
77778
|
}
|
|
77759
77779
|
async init(config) {
|
|
@@ -78124,7 +78144,6 @@ export {
|
|
|
78124
78144
|
getStore,
|
|
78125
78145
|
BaseContext,
|
|
78126
78146
|
Exporter,
|
|
78127
|
-
TemplateInstanceState,
|
|
78128
78147
|
CorePlugin,
|
|
78129
78148
|
ALL_ADDRESS,
|
|
78130
78149
|
mergeHandlerOptions,
|
|
@@ -78174,4 +78193,4 @@ long/index.js:
|
|
|
78174
78193
|
* SPDX-License-Identifier: Apache-2.0
|
|
78175
78194
|
*)
|
|
78176
78195
|
*/
|
|
78177
|
-
//# sourceMappingURL=chunk-
|
|
78196
|
+
//# sourceMappingURL=chunk-NXC6YEPV.js.map
|