@sentio/sdk 2.60.0-rc.4 → 2.60.0-rc.6
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/eth/base-processor.d.ts +3 -1
- package/lib/eth/base-processor.d.ts.map +1 -1
- package/lib/eth/base-processor.js +26 -0
- package/lib/eth/base-processor.js.map +1 -1
- package/lib/eth/eth-plugin.d.ts.map +1 -1
- package/lib/eth/eth-plugin.js +37 -3
- package/lib/eth/eth-plugin.js.map +1 -1
- package/lib/iota/builtin/0x1.d.ts +817 -0
- package/lib/iota/builtin/0x1.d.ts.map +1 -0
- package/lib/iota/builtin/0x1.js +4385 -0
- package/lib/iota/builtin/0x1.js.map +1 -0
- package/lib/iota/builtin/0x2.d.ts +4529 -0
- package/lib/iota/builtin/0x2.d.ts.map +1 -0
- package/lib/iota/builtin/0x2.js +17109 -0
- package/lib/iota/builtin/0x2.js.map +1 -0
- package/lib/iota/builtin/0x3.d.ts +2293 -0
- package/lib/iota/builtin/0x3.d.ts.map +1 -0
- package/lib/iota/builtin/0x3.js +6522 -0
- package/lib/iota/builtin/0x3.js.map +1 -0
- package/lib/iota/builtin/index.d.ts +4 -0
- package/lib/iota/builtin/index.d.ts.map +1 -0
- package/lib/iota/builtin/index.js +7 -0
- package/lib/iota/builtin/index.js.map +1 -0
- package/lib/iota/codegen/codegen.d.ts +2 -0
- package/lib/iota/codegen/codegen.d.ts.map +1 -0
- package/lib/iota/codegen/codegen.js +94 -0
- package/lib/iota/codegen/codegen.js.map +1 -0
- package/lib/iota/codegen/index.d.ts +2 -0
- package/lib/iota/codegen/index.d.ts.map +1 -0
- package/lib/iota/codegen/index.js +2 -0
- package/lib/iota/codegen/index.js.map +1 -0
- package/lib/iota/codegen/run.d.ts +2 -0
- package/lib/iota/codegen/run.d.ts.map +1 -0
- package/lib/iota/codegen/run.js +12 -0
- package/lib/iota/codegen/run.js.map +1 -0
- package/lib/iota/context.d.ts +50 -0
- package/lib/iota/context.d.ts.map +1 -0
- package/lib/iota/context.js +134 -0
- package/lib/iota/context.js.map +1 -0
- package/lib/iota/ext/coin.d.ts +17 -0
- package/lib/iota/ext/coin.d.ts.map +1 -0
- package/lib/iota/ext/coin.js +532 -0
- package/lib/iota/ext/coin.js.map +1 -0
- package/lib/iota/ext/index.d.ts +3 -0
- package/lib/iota/ext/index.d.ts.map +1 -0
- package/lib/iota/ext/index.js +3 -0
- package/lib/iota/ext/index.js.map +1 -0
- package/lib/iota/ext/move-dex.d.ts +19 -0
- package/lib/iota/ext/move-dex.d.ts.map +1 -0
- package/lib/iota/ext/move-dex.js +24 -0
- package/lib/iota/ext/move-dex.js.map +1 -0
- package/lib/iota/index.d.ts +11 -0
- package/lib/iota/index.d.ts.map +1 -0
- package/lib/iota/index.js +12 -0
- package/lib/iota/index.js.map +1 -0
- package/lib/iota/iota-object-processor-template.d.ts +44 -0
- package/lib/iota/iota-object-processor-template.d.ts.map +1 -0
- package/lib/iota/iota-object-processor-template.js +171 -0
- package/lib/iota/iota-object-processor-template.js.map +1 -0
- package/lib/iota/iota-object-processor.d.ts +83 -0
- package/lib/iota/iota-object-processor.d.ts.map +1 -0
- package/lib/iota/iota-object-processor.js +193 -0
- package/lib/iota/iota-object-processor.js.map +1 -0
- package/lib/iota/iota-plugin-part.d.ts +12 -0
- package/lib/iota/iota-plugin-part.d.ts.map +1 -0
- package/lib/iota/iota-plugin-part.js +178 -0
- package/lib/iota/iota-plugin-part.js.map +1 -0
- package/lib/iota/iota-plugin.d.ts +3 -0
- package/lib/iota/iota-plugin.d.ts.map +1 -0
- package/lib/iota/iota-plugin.js +4 -0
- package/lib/iota/iota-plugin.js.map +1 -0
- package/lib/iota/iota-processor.d.ts +47 -0
- package/lib/iota/iota-processor.d.ts.map +1 -0
- package/lib/iota/iota-processor.js +223 -0
- package/lib/iota/iota-processor.js.map +1 -0
- package/lib/iota/models.d.ts +12 -0
- package/lib/iota/models.d.ts.map +1 -0
- package/lib/iota/models.js +2 -0
- package/lib/iota/models.js.map +1 -0
- package/lib/iota/move-coder.d.ts +4 -0
- package/lib/iota/move-coder.d.ts.map +1 -0
- package/lib/iota/move-coder.js +12 -0
- package/lib/iota/move-coder.js.map +1 -0
- package/lib/iota/network.d.ts +10 -0
- package/lib/iota/network.d.ts.map +1 -0
- package/lib/iota/network.js +24 -0
- package/lib/iota/network.js.map +1 -0
- package/lib/iota/utils.d.ts +3 -0
- package/lib/iota/utils.d.ts.map +1 -0
- package/lib/iota/utils.js +41 -0
- package/lib/iota/utils.js.map +1 -0
- package/lib/sui/network.d.ts.map +1 -1
- package/lib/sui/network.js +0 -3
- package/lib/sui/network.js.map +1 -1
- package/lib/sui/sui-plugin-part.d.ts +12 -0
- package/lib/sui/sui-plugin-part.d.ts.map +1 -0
- package/lib/sui/sui-plugin-part.js +178 -0
- package/lib/sui/sui-plugin-part.js.map +1 -0
- package/lib/sui/sui-plugin.d.ts +4 -0
- package/lib/sui/sui-plugin.d.ts.map +1 -1
- package/lib/sui/sui-plugin.js +12 -159
- package/lib/sui/sui-plugin.js.map +1 -1
- package/lib/testing/iota-facet.d.ts +14 -0
- package/lib/testing/iota-facet.d.ts.map +1 -0
- package/lib/testing/iota-facet.js +124 -0
- package/lib/testing/iota-facet.js.map +1 -0
- package/lib/testing/test-processor-server.d.ts +2 -0
- package/lib/testing/test-processor-server.d.ts.map +1 -1
- package/lib/testing/test-processor-server.js +3 -0
- package/lib/testing/test-processor-server.js.map +1 -1
- package/package.json +20 -8
- package/src/eth/base-processor.ts +43 -1
- package/src/eth/eth-plugin.ts +41 -3
- package/src/iota/abis/0x1.json +4213 -0
- package/src/iota/abis/0x2.json +26692 -0
- package/src/iota/abis/0x3.json +10598 -0
- package/src/iota/builtin/0x1.ts +6292 -0
- package/src/iota/builtin/0x2.ts +26198 -0
- package/src/iota/builtin/0x3.ts +11144 -0
- package/src/iota/builtin/index.ts +6 -0
- package/src/iota/codegen/codegen.ts +118 -0
- package/src/iota/codegen/index.ts +1 -0
- package/src/iota/codegen/run.ts +13 -0
- package/src/iota/context.ts +200 -0
- package/src/iota/ext/coin.ts +565 -0
- package/src/iota/ext/index.ts +2 -0
- package/src/iota/ext/move-dex.ts +52 -0
- package/src/iota/index.ts +29 -0
- package/src/iota/iota-object-processor-template.ts +277 -0
- package/src/iota/iota-object-processor.ts +386 -0
- package/src/iota/iota-plugin-part.ts +211 -0
- package/src/iota/iota-plugin.ts +2 -0
- package/src/iota/iota-processor.ts +339 -0
- package/src/iota/models.ts +14 -0
- package/src/iota/move-coder.ts +15 -0
- package/src/iota/network.ts +27 -0
- package/src/iota/utils.ts +52 -0
- package/src/sui/network.ts +0 -3
- package/src/sui/sui-plugin-part.ts +211 -0
- package/src/sui/sui-plugin.ts +12 -178
- package/src/testing/iota-facet.ts +143 -0
- package/src/testing/test-processor-server.ts +3 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
import { HandleInterval, MoveAccountFetchConfig, MoveFetchConfig } from '@sentio/protos';
|
2
|
+
import { ListStateStorage } from '@sentio/runtime';
|
3
|
+
import { IotaAddressContext, IotaContext, IotaObjectContext } from './context.js';
|
4
|
+
import { IotaMoveObject, IotaTransactionBlockResponse } from '@iota/iota-sdk/client';
|
5
|
+
import { PromiseOrVoid } from '../core/index.js';
|
6
|
+
import { IotaAddressProcessor, IotaBaseObjectOrAddressProcessor, IotaObjectBindOptions, IotaObjectProcessor, IotaWrappedObjectProcessor } from './iota-object-processor.js';
|
7
|
+
import { IotaBindOptions } from './iota-processor.js';
|
8
|
+
import { TransactionFilter } from '../move/index.js';
|
9
|
+
declare class ObjectHandler<HandlerType> {
|
10
|
+
type?: string;
|
11
|
+
checkpointInterval?: HandleInterval;
|
12
|
+
timeIntervalInMinutes?: HandleInterval;
|
13
|
+
handlerName: string;
|
14
|
+
handler: HandlerType;
|
15
|
+
fetchConfig: MoveAccountFetchConfig;
|
16
|
+
}
|
17
|
+
export declare class IotaAccountProcessorTemplateState extends ListStateStorage<IotaObjectOrAddressProcessorTemplate<any, any, any>> {
|
18
|
+
static INSTANCE: IotaAccountProcessorTemplateState;
|
19
|
+
}
|
20
|
+
export declare abstract class IotaObjectOrAddressProcessorTemplate<HandlerType, OptionType extends IotaObjectBindOptions | IotaBindOptions, ProcessorType extends IotaBaseObjectOrAddressProcessor<HandlerType>> {
|
21
|
+
id: number;
|
22
|
+
objectHandlers: ObjectHandler<HandlerType>[];
|
23
|
+
binds: Set<string>;
|
24
|
+
constructor();
|
25
|
+
protected abstract createProcessor(options: IotaObjectBindOptions | IotaBindOptions): ProcessorType;
|
26
|
+
bind(options: OptionType, ctx: IotaContext): void;
|
27
|
+
unbind(options: OptionType, ctx: IotaContext): void;
|
28
|
+
protected onInterval(handler: HandlerType, timeInterval: HandleInterval | undefined, checkpointInterval: HandleInterval | undefined, type: string | undefined, fetchConfig: Partial<MoveAccountFetchConfig> | undefined): this;
|
29
|
+
onTimeInterval(handler: HandlerType, timeIntervalInMinutes?: number, backfillTimeIntervalInMinutes?: number, type?: string, fetchConfig?: Partial<MoveAccountFetchConfig>): this;
|
30
|
+
onCheckpointInterval(handler: HandlerType, checkpointInterval?: number, backfillCheckpointInterval?: number, type?: string, fetchConfig?: Partial<MoveAccountFetchConfig>): this;
|
31
|
+
}
|
32
|
+
export declare class IotaAddressProcessorTemplate extends IotaObjectOrAddressProcessorTemplate<(objects: IotaMoveObject[], ctx: IotaAddressContext) => PromiseOrVoid, IotaBindOptions, IotaAddressProcessor> {
|
33
|
+
private handlers;
|
34
|
+
createProcessor(options: IotaBindOptions): IotaAddressProcessor;
|
35
|
+
onTransactionBlock(handler: (transaction: IotaTransactionBlockResponse, ctx: IotaContext) => void, filter?: TransactionFilter, fetchConfig?: Partial<MoveFetchConfig>): this;
|
36
|
+
}
|
37
|
+
export declare class IotaObjectProcessorTemplate extends IotaObjectOrAddressProcessorTemplate<(self: IotaMoveObject, dynamicFieldObjects: IotaMoveObject[], ctx: IotaObjectContext) => PromiseOrVoid, IotaObjectBindOptions, IotaObjectProcessor> {
|
38
|
+
createProcessor(options: IotaObjectBindOptions): IotaObjectProcessor;
|
39
|
+
}
|
40
|
+
export declare class IotaWrappedObjectProcessorTemplate extends IotaObjectOrAddressProcessorTemplate<(dynamicFieldObjects: IotaMoveObject[], ctx: IotaObjectContext) => PromiseOrVoid, IotaObjectBindOptions, IotaWrappedObjectProcessor> {
|
41
|
+
createProcessor(options: IotaObjectBindOptions): IotaWrappedObjectProcessor;
|
42
|
+
}
|
43
|
+
export {};
|
44
|
+
//# sourceMappingURL=iota-object-processor-template.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"iota-object-processor-template.d.ts","sourceRoot":"","sources":["../../src/iota/iota-object-processor-template.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,171 @@
|
|
1
|
+
import { ListStateStorage } from '@sentio/runtime';
|
2
|
+
import { DEFAULT_ACCOUNT_FETCH_CONFIG, IotaAccountProcessorState, IotaAddressProcessor, IotaObjectProcessor, IotaWrappedObjectProcessor } from './iota-object-processor.js';
|
3
|
+
import { TemplateInstanceState } from '../core/template.js';
|
4
|
+
import { accountAddressString } from '../move/index.js';
|
5
|
+
import { ServerError, Status } from 'nice-grpc';
|
6
|
+
import { getHandlerName, proxyProcessor } from '../utils/metrics.js';
|
7
|
+
class ObjectHandler {
|
8
|
+
type;
|
9
|
+
checkpointInterval;
|
10
|
+
timeIntervalInMinutes;
|
11
|
+
handlerName;
|
12
|
+
handler;
|
13
|
+
fetchConfig;
|
14
|
+
}
|
15
|
+
export class IotaAccountProcessorTemplateState extends ListStateStorage {
|
16
|
+
static INSTANCE = new IotaAccountProcessorTemplateState();
|
17
|
+
}
|
18
|
+
export class IotaObjectOrAddressProcessorTemplate {
|
19
|
+
id;
|
20
|
+
objectHandlers = [];
|
21
|
+
binds = new Set();
|
22
|
+
constructor() {
|
23
|
+
this.id = IotaAccountProcessorTemplateState.INSTANCE.getValues().length;
|
24
|
+
IotaAccountProcessorTemplateState.INSTANCE.addValue(this);
|
25
|
+
return proxyProcessor(this);
|
26
|
+
}
|
27
|
+
bind(options, ctx) {
|
28
|
+
options.network = options.network || ctx.network;
|
29
|
+
options.startCheckpoint = options.startCheckpoint || ctx.checkpoint;
|
30
|
+
let id = options.objectId || options.address;
|
31
|
+
if (id === '*') {
|
32
|
+
throw new ServerError(Status.INVALID_ARGUMENT, "can't bind template instance with *");
|
33
|
+
}
|
34
|
+
id = accountAddressString(id);
|
35
|
+
const sig = [options.network, id].join('_');
|
36
|
+
if (this.binds.has(sig)) {
|
37
|
+
console.log(`Same object id can be bind to one template only once, ignore duplicate bind: ${sig}`);
|
38
|
+
return;
|
39
|
+
}
|
40
|
+
this.binds.add(sig);
|
41
|
+
const processor = this.createProcessor(options);
|
42
|
+
for (const h of this.objectHandlers) {
|
43
|
+
processor.onInterval(h.handler, h.timeIntervalInMinutes, h.checkpointInterval, h.type, h.fetchConfig, h.handlerName);
|
44
|
+
}
|
45
|
+
const config = processor.config;
|
46
|
+
ctx.update({
|
47
|
+
states: {
|
48
|
+
configUpdated: true
|
49
|
+
}
|
50
|
+
});
|
51
|
+
TemplateInstanceState.INSTANCE.addValue({
|
52
|
+
templateId: this.id,
|
53
|
+
contract: {
|
54
|
+
name: '',
|
55
|
+
chainId: config.network,
|
56
|
+
address: config.address,
|
57
|
+
abi: ''
|
58
|
+
},
|
59
|
+
startBlock: config.startCheckpoint,
|
60
|
+
endBlock: config.endCheckpoint || 0n,
|
61
|
+
baseLabels: config.baseLabels
|
62
|
+
});
|
63
|
+
console.log(`successfully bind template ${sig}`);
|
64
|
+
}
|
65
|
+
unbind(options, ctx) {
|
66
|
+
options.network = options.network || ctx.network;
|
67
|
+
options.startCheckpoint = options.startCheckpoint || ctx.checkpoint;
|
68
|
+
let id = options.objectId || options.address;
|
69
|
+
if (id === '*') {
|
70
|
+
throw new ServerError(Status.INVALID_ARGUMENT, "can't delete template instance bind with *");
|
71
|
+
}
|
72
|
+
id = accountAddressString(id);
|
73
|
+
const sig = [options.network, id].join('_');
|
74
|
+
if (!this.binds.has(sig)) {
|
75
|
+
console.log(`the template instance ${sig} not existed or already unbind`);
|
76
|
+
return;
|
77
|
+
}
|
78
|
+
this.binds.delete(sig);
|
79
|
+
let deleted = 0;
|
80
|
+
const oldTemplateInstances = TemplateInstanceState.INSTANCE.unregister();
|
81
|
+
for (const templateInstance of oldTemplateInstances) {
|
82
|
+
if (templateInstance.contract?.chainId === options.network && templateInstance.contract.address == id) {
|
83
|
+
deleted++;
|
84
|
+
continue;
|
85
|
+
}
|
86
|
+
TemplateInstanceState.INSTANCE.addValue(templateInstance);
|
87
|
+
}
|
88
|
+
if (deleted !== 1) {
|
89
|
+
throw new ServerError(Status.INVALID_ARGUMENT, `Failed to delete template instance ${sig}, deleted ${deleted} times`);
|
90
|
+
}
|
91
|
+
const oldProcessors = IotaAccountProcessorState.INSTANCE.unregister();
|
92
|
+
deleted = 0;
|
93
|
+
for (const processor of oldProcessors) {
|
94
|
+
if (processor.templateId === this.id) {
|
95
|
+
if (processor.config.network == options.network && processor.config.address === id) {
|
96
|
+
deleted++;
|
97
|
+
continue;
|
98
|
+
}
|
99
|
+
}
|
100
|
+
IotaAccountProcessorState.INSTANCE.addValue(processor);
|
101
|
+
}
|
102
|
+
if (deleted !== 1) {
|
103
|
+
throw new ServerError(Status.INVALID_ARGUMENT, `Failed to delete processor for template ${this.id}, ${sig}. deleted ${deleted} times`);
|
104
|
+
}
|
105
|
+
console.log(`successfully unbind template ${sig}`);
|
106
|
+
ctx.update({
|
107
|
+
states: {
|
108
|
+
configUpdated: true
|
109
|
+
}
|
110
|
+
});
|
111
|
+
}
|
112
|
+
onInterval(handler, timeInterval, checkpointInterval, type, fetchConfig) {
|
113
|
+
this.objectHandlers.push({
|
114
|
+
handlerName: getHandlerName(),
|
115
|
+
handler: handler,
|
116
|
+
timeIntervalInMinutes: timeInterval,
|
117
|
+
checkpointInterval: checkpointInterval,
|
118
|
+
type,
|
119
|
+
fetchConfig: { ...DEFAULT_ACCOUNT_FETCH_CONFIG, ...fetchConfig }
|
120
|
+
});
|
121
|
+
return this;
|
122
|
+
}
|
123
|
+
onTimeInterval(handler, timeIntervalInMinutes = 60, backfillTimeIntervalInMinutes = 240, type, fetchConfig) {
|
124
|
+
return this.onInterval(handler, {
|
125
|
+
recentInterval: timeIntervalInMinutes,
|
126
|
+
backfillInterval: backfillTimeIntervalInMinutes
|
127
|
+
}, undefined, type, fetchConfig);
|
128
|
+
}
|
129
|
+
onCheckpointInterval(handler, checkpointInterval = 100000, backfillCheckpointInterval = 400000, type, fetchConfig) {
|
130
|
+
return this.onInterval(handler, undefined, { recentInterval: checkpointInterval, backfillInterval: backfillCheckpointInterval }, type, fetchConfig);
|
131
|
+
}
|
132
|
+
}
|
133
|
+
class AddressTransactionHandler {
|
134
|
+
handler;
|
135
|
+
filter;
|
136
|
+
fetchConfig;
|
137
|
+
}
|
138
|
+
export class IotaAddressProcessorTemplate extends IotaObjectOrAddressProcessorTemplate {
|
139
|
+
handlers = [];
|
140
|
+
createProcessor(options) {
|
141
|
+
const p = IotaAddressProcessor.bind(options);
|
142
|
+
for (const handler of this.handlers) {
|
143
|
+
p.onTransactionBlock(handler.handler, handler.filter, handler.fetchConfig);
|
144
|
+
}
|
145
|
+
p.templateId = this.id;
|
146
|
+
return p;
|
147
|
+
}
|
148
|
+
onTransactionBlock(handler, filter, fetchConfig) {
|
149
|
+
this.handlers.push({
|
150
|
+
handler,
|
151
|
+
filter,
|
152
|
+
fetchConfig
|
153
|
+
});
|
154
|
+
return this;
|
155
|
+
}
|
156
|
+
}
|
157
|
+
export class IotaObjectProcessorTemplate extends IotaObjectOrAddressProcessorTemplate {
|
158
|
+
createProcessor(options) {
|
159
|
+
const p = IotaObjectProcessor.bind(options);
|
160
|
+
p.templateId = this.id;
|
161
|
+
return p;
|
162
|
+
}
|
163
|
+
}
|
164
|
+
export class IotaWrappedObjectProcessorTemplate extends IotaObjectOrAddressProcessorTemplate {
|
165
|
+
createProcessor(options) {
|
166
|
+
const p = IotaWrappedObjectProcessor.bind(options);
|
167
|
+
p.templateId = this.id;
|
168
|
+
return p;
|
169
|
+
}
|
170
|
+
}
|
171
|
+
//# sourceMappingURL=iota-object-processor-template.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"iota-object-processor-template.js","sourceRoot":"","sources":["../../src/iota/iota-object-processor-template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAIlD,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,oBAAoB,EAGpB,mBAAmB,EACnB,0BAA0B,EAC3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAE3D,OAAO,EAAqB,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpE,MAAM,aAAa;IACjB,IAAI,CAAS;IACb,kBAAkB,CAAiB;IACnC,qBAAqB,CAAiB;IACtC,WAAW,CAAQ;IACnB,OAAO,CAAa;IACpB,WAAW,CAAwB;CACpC;AAED,MAAM,OAAO,iCAAkC,SAAQ,gBAEtD;IACC,MAAM,CAAC,QAAQ,GAAG,IAAI,iCAAiC,EAAE,CAAA;;AAG3D,MAAM,OAAgB,oCAAoC;IAKxD,EAAE,CAAQ;IACV,cAAc,GAAiC,EAAE,CAAA;IACjD,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAEzB;QACE,IAAI,CAAC,EAAE,GAAG,iCAAiC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,CAAA;QACvE,iCAAiC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACzD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAID,IAAI,CAAC,OAAmB,EAAE,GAAgB;QACxC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAA;QAChD,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC,UAAU,CAAA;QACnE,IAAI,EAAE,GAAI,OAAiC,CAAC,QAAQ,IAAK,OAA2B,CAAC,OAAO,CAAA;QAE5F,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,gBAAgB,EAAE,qCAAqC,CAAC,CAAA;QACvF,CAAC;QACD,EAAE,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAA;QAE7B,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,gFAAgF,GAAG,EAAE,CAAC,CAAA;YAClG,OAAM;QACR,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACpC,SAAS,CAAC,UAAU,CAClB,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,qBAAqB,EACvB,CAAC,CAAC,kBAAkB,EACpB,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,WAAW,EACb,CAAC,CAAC,WAAW,CACd,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;QAE/B,GAAG,CAAC,MAAM,CAAC;YACT,MAAM,EAAE;gBACN,aAAa,EAAE,IAAI;aACpB;SACF,CAAC,CAAA;QACF,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACtC,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,QAAQ,EAAE;gBACR,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,GAAG,EAAE,EAAE;aACR;YACD,UAAU,EAAE,MAAM,CAAC,eAAe;YAClC,QAAQ,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;YACpC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,OAAmB,EAAE,GAAgB;QAC1C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAA;QAChD,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC,UAAU,CAAA;QACnE,IAAI,EAAE,GAAI,OAAiC,CAAC,QAAQ,IAAK,OAA2B,CAAC,OAAO,CAAA;QAE5F,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,gBAAgB,EAAE,4CAA4C,CAAC,CAAA;QAC9F,CAAC;QACD,EAAE,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAA;QAE7B,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,gCAAgC,CAAC,CAAA;YACzE,OAAM;QACR,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEtB,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;QACxE,KAAK,MAAM,gBAAgB,IAAI,oBAAoB,EAAE,CAAC;YACpD,IAAI,gBAAgB,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACtG,OAAO,EAAE,CAAA;gBACT,SAAQ;YACV,CAAC;YACD,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,WAAW,CACnB,MAAM,CAAC,gBAAgB,EACvB,sCAAsC,GAAG,aAAa,OAAO,QAAQ,CACtE,CAAA;QACH,CAAC;QAED,MAAM,aAAa,GAAG,yBAAyB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;QACrE,OAAO,GAAG,CAAC,CAAA;QACX,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;YACtC,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;gBACrC,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;oBACnF,OAAO,EAAE,CAAA;oBACT,SAAQ;gBACV,CAAC;YACH,CAAC;YACD,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACxD,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,WAAW,CACnB,MAAM,CAAC,gBAAgB,EACvB,2CAA2C,IAAI,CAAC,EAAE,KAAK,GAAG,aAAa,OAAO,QAAQ,CACvF,CAAA;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAA;QAElD,GAAG,CAAC,MAAM,CAAC;YACT,MAAM,EAAE;gBACN,aAAa,EAAE,IAAI;aACpB;SACF,CAAC,CAAA;IACJ,CAAC;IAES,UAAU,CAClB,OAAoB,EACpB,YAAwC,EACxC,kBAA8C,EAC9C,IAAwB,EACxB,WAAwD;QAExD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,WAAW,EAAE,cAAc,EAAE;YAC7B,OAAO,EAAE,OAAO;YAChB,qBAAqB,EAAE,YAAY;YACnC,kBAAkB,EAAE,kBAAkB;YACtC,IAAI;YACJ,WAAW,EAAE,EAAE,GAAG,4BAA4B,EAAE,GAAG,WAAW,EAAE;SACjE,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,cAAc,CACnB,OAAoB,EACpB,qBAAqB,GAAG,EAAE,EAC1B,6BAA6B,GAAG,GAAG,EACnC,IAAa,EACb,WAA6C;QAE7C,OAAO,IAAI,CAAC,UAAU,CACpB,OAAO,EACP;YACE,cAAc,EAAE,qBAAqB;YACrC,gBAAgB,EAAE,6BAA6B;SAChD,EACD,SAAS,EACT,IAAI,EACJ,WAAW,CACZ,CAAA;IACH,CAAC;IAEM,oBAAoB,CACzB,OAAoB,EACpB,kBAAkB,GAAG,MAAM,EAC3B,0BAA0B,GAAG,MAAM,EACnC,IAAa,EACb,WAA6C;QAE7C,OAAO,IAAI,CAAC,UAAU,CACpB,OAAO,EACP,SAAS,EACT,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,EACpF,IAAI,EACJ,WAAW,CACZ,CAAA;IACH,CAAC;CACF;AAED,MAAM,yBAAyB;IAC7B,OAAO,CAAuE;IAC9E,MAAM,CAAoB;IAC1B,WAAW,CAA2B;CACvC;AAED,MAAM,OAAO,4BAA6B,SAAQ,oCAIjD;IACS,QAAQ,GAAgC,EAAE,CAAA;IAElD,eAAe,CAAC,OAAwB;QACtC,MAAM,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QAC5E,CAAC;QACD,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAA;QACtB,OAAO,CAAC,CAAA;IACV,CAAC;IAED,kBAAkB,CAChB,OAA8E,EAC9E,MAA0B,EAC1B,WAAsC;QAEtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,OAAO;YACP,MAAM;YACN,WAAW;SACZ,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,oCAIhD;IACC,eAAe,CAAC,OAA8B;QAC5C,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3C,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAA;QACtB,OAAO,CAAC,CAAA;IACV,CAAC;CACF;AAED,MAAM,OAAO,kCAAmC,SAAQ,oCAIvD;IACC,eAAe,CAAC,OAA8B;QAC5C,MAAM,CAAC,GAAG,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAA;QACtB,OAAO,CAAC,CAAA;IACV,CAAC;CACF"}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
import { Data_SuiCall, Data_SuiObject, Data_SuiObjectChange, HandleInterval, MoveAccountFetchConfig, MoveFetchConfig, MoveOwnerType, ProcessResult } from '@sentio/protos';
|
2
|
+
import { ListStateStorage } from '@sentio/runtime';
|
3
|
+
import { IotaNetwork } from './network.js';
|
4
|
+
import { IotaAddressContext, IotaContext, IotaObjectChangeContext, IotaObjectContext } from './context.js';
|
5
|
+
import { IotaMoveObject, IotaObjectChange, IotaTransactionBlockResponse } from '@iota/iota-sdk/client';
|
6
|
+
import { PromiseOrVoid } from '../core/index.js';
|
7
|
+
import { IndexConfigure, IotaBindOptions } from './iota-processor.js';
|
8
|
+
import { CallHandler, TransactionFilter, ObjectChangeHandler } from '../move/index.js';
|
9
|
+
import { TypeDescriptor } from '@typemove/move';
|
10
|
+
import { TypedIotaMoveObject } from './models.js';
|
11
|
+
export interface IotaObjectBindOptions {
|
12
|
+
objectId: string;
|
13
|
+
network?: IotaNetwork;
|
14
|
+
startCheckpoint?: bigint;
|
15
|
+
endCheckpoint?: bigint;
|
16
|
+
baseLabels?: {
|
17
|
+
[key: string]: string;
|
18
|
+
};
|
19
|
+
}
|
20
|
+
export interface IotaObjectTypeBindOptions<T> {
|
21
|
+
objectType: TypeDescriptor<T>;
|
22
|
+
network?: IotaNetwork;
|
23
|
+
startCheckpoint?: bigint;
|
24
|
+
endCheckpoint?: bigint;
|
25
|
+
baseLabels?: {
|
26
|
+
[key: string]: string;
|
27
|
+
};
|
28
|
+
}
|
29
|
+
interface ObjectHandler {
|
30
|
+
type?: string;
|
31
|
+
checkPointInterval?: HandleInterval;
|
32
|
+
timeIntervalInMinutes?: HandleInterval;
|
33
|
+
fetchConfig: MoveAccountFetchConfig;
|
34
|
+
handler: (resource: Data_SuiObject) => Promise<ProcessResult>;
|
35
|
+
handlerName: string;
|
36
|
+
}
|
37
|
+
export declare const DEFAULT_ACCOUNT_FETCH_CONFIG: MoveAccountFetchConfig;
|
38
|
+
export declare class IotaAccountProcessorState extends ListStateStorage<IotaBaseObjectOrAddressProcessor<any>> {
|
39
|
+
static INSTANCE: IotaAccountProcessorState;
|
40
|
+
}
|
41
|
+
export interface IotaInternalObjectsBindOptions extends IotaBindOptions {
|
42
|
+
ownerType: MoveOwnerType;
|
43
|
+
}
|
44
|
+
export declare abstract class IotaBaseObjectOrAddressProcessor<HandlerType> {
|
45
|
+
config: IndexConfigure;
|
46
|
+
ownerType: MoveOwnerType;
|
47
|
+
templateId: number | undefined;
|
48
|
+
objectHandlers: ObjectHandler[];
|
49
|
+
objectChangeHandlers: ObjectChangeHandler<Data_SuiObjectChange>[];
|
50
|
+
protected constructor(options: IotaInternalObjectsBindOptions);
|
51
|
+
getChainId(): string;
|
52
|
+
protected abstract doHandle(handler: HandlerType, data: Data_SuiObject, ctx: IotaObjectContext): Promise<any>;
|
53
|
+
onInterval(handler: HandlerType, //(resources: IotaMoveObject[], ctx: IotaObjectsContext) => PromiseOrVoid,
|
54
|
+
timeInterval: HandleInterval | undefined, checkpointInterval: HandleInterval | undefined, type: string | undefined, fetchConfig: Partial<MoveAccountFetchConfig> | undefined, handlerName?: string): this;
|
55
|
+
}
|
56
|
+
declare abstract class IotaBaseObjectOrAddressProcessorInternal<HandlerType> extends IotaBaseObjectOrAddressProcessor<HandlerType> {
|
57
|
+
onTimeInterval(handler: HandlerType, timeIntervalInMinutes?: number, backfillTimeIntervalInMinutes?: number, type?: string, fetchConfig?: Partial<MoveAccountFetchConfig>): this;
|
58
|
+
onCheckpointInterval(handler: HandlerType, checkpointInterval?: number, backfillCheckpointInterval?: number, type?: string, fetchConfig?: Partial<MoveAccountFetchConfig>): this;
|
59
|
+
}
|
60
|
+
export declare class IotaAddressProcessor extends IotaBaseObjectOrAddressProcessorInternal<(objects: IotaMoveObject[], ctx: IotaAddressContext) => PromiseOrVoid> {
|
61
|
+
callHandlers: CallHandler<Data_SuiCall>[];
|
62
|
+
static bind(options: IotaBindOptions): IotaAddressProcessor;
|
63
|
+
protected doHandle(handler: (objects: IotaMoveObject[], ctx: IotaObjectContext) => PromiseOrVoid, data: Data_SuiObject, ctx: IotaObjectContext): Promise<any>;
|
64
|
+
onTransactionBlock(handler: (transaction: IotaTransactionBlockResponse, ctx: IotaContext) => PromiseOrVoid, filter?: TransactionFilter, fetchConfig?: Partial<MoveFetchConfig>): this;
|
65
|
+
}
|
66
|
+
export declare class IotaObjectProcessor extends IotaBaseObjectOrAddressProcessorInternal<(self: IotaMoveObject, dynamicFieldObjects: IotaMoveObject[], ctx: IotaObjectContext) => PromiseOrVoid> {
|
67
|
+
static bind(options: IotaObjectBindOptions): IotaObjectProcessor;
|
68
|
+
protected doHandle(handler: (self: IotaMoveObject, dynamicFieldObjects: IotaMoveObject[], ctx: IotaObjectContext) => PromiseOrVoid, data: Data_SuiObject, ctx: IotaObjectContext): Promise<any>;
|
69
|
+
}
|
70
|
+
export declare class IotaObjectTypeProcessor<T> extends IotaBaseObjectOrAddressProcessor<(self: TypedIotaMoveObject<T>, dynamicFieldObjects: IotaMoveObject[], ctx: IotaObjectContext) => PromiseOrVoid> {
|
71
|
+
objectType: TypeDescriptor<T>;
|
72
|
+
static bind<T>(options: IotaObjectTypeBindOptions<T>): IotaObjectTypeProcessor<T>;
|
73
|
+
protected doHandle(handler: (self: TypedIotaMoveObject<T>, dynamicFieldObjects: IotaMoveObject[], ctx: IotaObjectContext) => PromiseOrVoid, data: Data_SuiObject, ctx: IotaObjectContext): Promise<any>;
|
74
|
+
onObjectChange(handler: (changes: IotaObjectChange[], ctx: IotaObjectChangeContext) => PromiseOrVoid): this;
|
75
|
+
onTimeInterval(handler: (self: TypedIotaMoveObject<T>, dynamicFieldObjects: IotaMoveObject[], ctx: IotaObjectContext) => PromiseOrVoid, timeIntervalInMinutes?: number, backfillTimeIntervalInMinutes?: number, fetchConfig?: Partial<MoveAccountFetchConfig>): this;
|
76
|
+
onCheckpointInterval(handler: (self: TypedIotaMoveObject<T>, dynamicFieldObjects: IotaMoveObject[], ctx: IotaObjectContext) => PromiseOrVoid, checkpointInterval?: number, backfillCheckpointInterval?: number, fetchConfig?: Partial<MoveAccountFetchConfig>): this;
|
77
|
+
}
|
78
|
+
export declare class IotaWrappedObjectProcessor extends IotaBaseObjectOrAddressProcessorInternal<(dynamicFieldObjects: IotaMoveObject[], ctx: IotaObjectContext) => PromiseOrVoid> {
|
79
|
+
static bind(options: IotaObjectBindOptions): IotaWrappedObjectProcessor;
|
80
|
+
protected doHandle(handler: (dynamicFieldObjects: IotaMoveObject[], ctx: IotaObjectContext) => PromiseOrVoid, data: Data_SuiObject, ctx: IotaObjectContext): Promise<any>;
|
81
|
+
}
|
82
|
+
export {};
|
83
|
+
//# sourceMappingURL=iota-object-processor.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"iota-object-processor.d.ts","sourceRoot":"","sources":["../../src/iota/iota-object-processor.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,193 @@
|
|
1
|
+
import { MoveFetchConfig, MoveOwnerType } from '@sentio/protos';
|
2
|
+
import { ListStateStorage } from '@sentio/runtime';
|
3
|
+
import { IotaNetwork } from './network.js';
|
4
|
+
import { IotaContext, IotaObjectChangeContext, IotaObjectContext } from './context.js';
|
5
|
+
import { ALL_ADDRESS } from '../core/index.js';
|
6
|
+
import { configure, DEFAULT_FETCH_CONFIG } from './iota-processor.js';
|
7
|
+
import { accountTypeString } from '../move/index.js';
|
8
|
+
import { ServerError, Status } from 'nice-grpc';
|
9
|
+
import { getHandlerName, proxyProcessor } from '../utils/metrics.js';
|
10
|
+
export const DEFAULT_ACCOUNT_FETCH_CONFIG = {
|
11
|
+
owned: false
|
12
|
+
};
|
13
|
+
export class IotaAccountProcessorState extends ListStateStorage {
|
14
|
+
static INSTANCE = new IotaAccountProcessorState();
|
15
|
+
}
|
16
|
+
export class IotaBaseObjectOrAddressProcessor {
|
17
|
+
config;
|
18
|
+
ownerType;
|
19
|
+
templateId;
|
20
|
+
objectHandlers = [];
|
21
|
+
objectChangeHandlers = [];
|
22
|
+
// static bind(options: IotaObjectsBindOptions): IotaBaseObjectsProcessor<any> {
|
23
|
+
// return new IotaBaseObjectsProcessor(options)
|
24
|
+
// }
|
25
|
+
constructor(options) {
|
26
|
+
if (options.ownerType === MoveOwnerType.TYPE) {
|
27
|
+
this.config = {
|
28
|
+
startCheckpoint: options.startCheckpoint || 0n,
|
29
|
+
endCheckpoint: options.endCheckpoint,
|
30
|
+
address: options.address === '*' ? '*' : accountTypeString(options.address),
|
31
|
+
network: options.network || IotaNetwork.MAIN_NET,
|
32
|
+
baseLabels: options.baseLabels
|
33
|
+
};
|
34
|
+
}
|
35
|
+
else {
|
36
|
+
this.config = configure(options);
|
37
|
+
}
|
38
|
+
this.ownerType = options.ownerType;
|
39
|
+
IotaAccountProcessorState.INSTANCE.addValue(this);
|
40
|
+
return proxyProcessor(this);
|
41
|
+
}
|
42
|
+
getChainId() {
|
43
|
+
return this.config.network;
|
44
|
+
}
|
45
|
+
onInterval(handler, //(resources: IotaMoveObject[], ctx: IotaObjectsContext) => PromiseOrVoid,
|
46
|
+
timeInterval, checkpointInterval, type, fetchConfig, handlerName = getHandlerName()) {
|
47
|
+
const processor = this;
|
48
|
+
this.objectHandlers.push({
|
49
|
+
handlerName,
|
50
|
+
handler: async function (data) {
|
51
|
+
const ctx = new IotaObjectContext(processor.config.network, data.objectId, data.objectVersion, data.slot, data.timestamp || new Date(0), processor.config.baseLabels);
|
52
|
+
await processor.doHandle(handler, data, ctx);
|
53
|
+
return ctx.stopAndGetResult();
|
54
|
+
},
|
55
|
+
timeIntervalInMinutes: timeInterval,
|
56
|
+
checkPointInterval: checkpointInterval,
|
57
|
+
type,
|
58
|
+
fetchConfig: { ...DEFAULT_ACCOUNT_FETCH_CONFIG, ...fetchConfig }
|
59
|
+
});
|
60
|
+
return this;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
class IotaBaseObjectOrAddressProcessorInternal extends IotaBaseObjectOrAddressProcessor {
|
64
|
+
onTimeInterval(handler, timeIntervalInMinutes = 60, backfillTimeIntervalInMinutes = 240, type, fetchConfig) {
|
65
|
+
return this.onInterval(handler, {
|
66
|
+
recentInterval: timeIntervalInMinutes,
|
67
|
+
backfillInterval: backfillTimeIntervalInMinutes
|
68
|
+
}, undefined, type, fetchConfig);
|
69
|
+
}
|
70
|
+
onCheckpointInterval(handler, checkpointInterval = 100000, backfillCheckpointInterval = 400000, type, fetchConfig) {
|
71
|
+
return this.onInterval(handler, undefined, { recentInterval: checkpointInterval, backfillInterval: backfillCheckpointInterval }, type, fetchConfig);
|
72
|
+
}
|
73
|
+
}
|
74
|
+
export class IotaAddressProcessor extends IotaBaseObjectOrAddressProcessorInternal {
|
75
|
+
callHandlers = [];
|
76
|
+
static bind(options) {
|
77
|
+
return new IotaAddressProcessor({ ...options, ownerType: MoveOwnerType.ADDRESS });
|
78
|
+
}
|
79
|
+
async doHandle(handler, data, ctx) {
|
80
|
+
return handler(data.rawObjects.map((o) => JSON.parse(o)), ctx);
|
81
|
+
}
|
82
|
+
onTransactionBlock(handler, filter, fetchConfig) {
|
83
|
+
const _fetchConfig = MoveFetchConfig.fromPartial({ ...DEFAULT_FETCH_CONFIG, ...fetchConfig });
|
84
|
+
const _filter = {
|
85
|
+
fromAndToAddress: {
|
86
|
+
from: '',
|
87
|
+
to: this.config.address
|
88
|
+
},
|
89
|
+
...filter
|
90
|
+
};
|
91
|
+
const processor = this;
|
92
|
+
this.callHandlers.push({
|
93
|
+
handlerName: getHandlerName(),
|
94
|
+
handler: async function (data) {
|
95
|
+
if (!data.rawTransaction) {
|
96
|
+
throw new ServerError(Status.INVALID_ARGUMENT, 'transaction is null');
|
97
|
+
}
|
98
|
+
const tx = JSON.parse(data.rawTransaction);
|
99
|
+
const ctx = new IotaContext('object', processor.config.network, processor.config.address, data.timestamp || new Date(0), data.slot, tx, 0, processor.config.baseLabels);
|
100
|
+
if (tx) {
|
101
|
+
await handler(tx, ctx);
|
102
|
+
}
|
103
|
+
return ctx.stopAndGetResult();
|
104
|
+
},
|
105
|
+
filters: [{ ..._filter, function: '' }],
|
106
|
+
fetchConfig: _fetchConfig
|
107
|
+
});
|
108
|
+
return this;
|
109
|
+
}
|
110
|
+
}
|
111
|
+
export class IotaObjectProcessor extends IotaBaseObjectOrAddressProcessorInternal {
|
112
|
+
static bind(options) {
|
113
|
+
return new IotaObjectProcessor({
|
114
|
+
address: options.objectId,
|
115
|
+
network: options.network,
|
116
|
+
startCheckpoint: options.startCheckpoint,
|
117
|
+
endCheckpoint: options.endCheckpoint,
|
118
|
+
ownerType: MoveOwnerType.OBJECT,
|
119
|
+
baseLabels: options.baseLabels
|
120
|
+
});
|
121
|
+
}
|
122
|
+
async doHandle(handler, data, ctx) {
|
123
|
+
if (!data.rawSelf) {
|
124
|
+
console.log(`Iota object not existed in ${ctx.checkpoint}, please specific a start time`);
|
125
|
+
return;
|
126
|
+
}
|
127
|
+
return handler(JSON.parse(data.rawSelf), data.rawObjects.map((o) => JSON.parse(o)), ctx);
|
128
|
+
}
|
129
|
+
}
|
130
|
+
export class IotaObjectTypeProcessor extends IotaBaseObjectOrAddressProcessor {
|
131
|
+
objectType;
|
132
|
+
static bind(options) {
|
133
|
+
const processor = new IotaObjectTypeProcessor({
|
134
|
+
address: ALL_ADDRESS, // current only support on all address
|
135
|
+
network: options.network,
|
136
|
+
startCheckpoint: options.startCheckpoint,
|
137
|
+
endCheckpoint: options.endCheckpoint,
|
138
|
+
ownerType: MoveOwnerType.TYPE,
|
139
|
+
baseLabels: options.baseLabels
|
140
|
+
});
|
141
|
+
processor.objectType = options.objectType;
|
142
|
+
return processor;
|
143
|
+
}
|
144
|
+
async doHandle(handler, data, ctx) {
|
145
|
+
if (!data.rawSelf) {
|
146
|
+
console.log(`Iota object not existed in ${ctx.checkpoint}, please specific a start time`);
|
147
|
+
return;
|
148
|
+
}
|
149
|
+
const object = await ctx.coder.filterAndDecodeObjects(this.objectType, [JSON.parse(data.rawSelf)]);
|
150
|
+
return handler(object[0], data.rawObjects.map((o) => JSON.parse(o)), ctx);
|
151
|
+
}
|
152
|
+
onObjectChange(handler) {
|
153
|
+
if (this.config.network === IotaNetwork.TEST_NET) {
|
154
|
+
throw new ServerError(Status.INVALID_ARGUMENT, 'object change not supported in testnet');
|
155
|
+
}
|
156
|
+
const processor = this;
|
157
|
+
this.objectChangeHandlers.push({
|
158
|
+
handlerName: getHandlerName(),
|
159
|
+
handler: async function (data) {
|
160
|
+
const ctx = new IotaObjectChangeContext(processor.config.network, processor.config.address, data.timestamp || new Date(0), data.slot, data.txDigest, processor.config.baseLabels);
|
161
|
+
await handler(data.rawChanges.map((r) => JSON.parse(r)), ctx);
|
162
|
+
return ctx.stopAndGetResult();
|
163
|
+
},
|
164
|
+
type: this.objectType.getSignature()
|
165
|
+
});
|
166
|
+
return this;
|
167
|
+
}
|
168
|
+
onTimeInterval(handler, timeIntervalInMinutes = 60, backfillTimeIntervalInMinutes = 240, fetchConfig) {
|
169
|
+
return this.onInterval(handler, {
|
170
|
+
recentInterval: timeIntervalInMinutes,
|
171
|
+
backfillInterval: backfillTimeIntervalInMinutes
|
172
|
+
}, undefined, this.objectType.getSignature(), fetchConfig);
|
173
|
+
}
|
174
|
+
onCheckpointInterval(handler, checkpointInterval = 100000, backfillCheckpointInterval = 400000, fetchConfig) {
|
175
|
+
return this.onInterval(handler, undefined, { recentInterval: checkpointInterval, backfillInterval: backfillCheckpointInterval }, this.objectType.qname, fetchConfig);
|
176
|
+
}
|
177
|
+
}
|
178
|
+
export class IotaWrappedObjectProcessor extends IotaBaseObjectOrAddressProcessorInternal {
|
179
|
+
static bind(options) {
|
180
|
+
return new IotaWrappedObjectProcessor({
|
181
|
+
address: options.objectId,
|
182
|
+
network: options.network,
|
183
|
+
startCheckpoint: options.startCheckpoint,
|
184
|
+
endCheckpoint: options.endCheckpoint,
|
185
|
+
ownerType: MoveOwnerType.WRAPPED_OBJECT,
|
186
|
+
baseLabels: options.baseLabels
|
187
|
+
});
|
188
|
+
}
|
189
|
+
async doHandle(handler, data, ctx) {
|
190
|
+
return handler(data.rawObjects.map((o) => JSON.parse(o)), ctx);
|
191
|
+
}
|
192
|
+
}
|
193
|
+
//# sourceMappingURL=iota-object-processor.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"iota-object-processor.js","sourceRoot":"","sources":["../../src/iota/iota-object-processor.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { InitResponse, ProcessConfigResponse, StartRequest } from '@sentio/protos';
|
2
|
+
import { PartitionHandlerManager } from '../core/index.js';
|
3
|
+
import { HandlerRegister } from '../core/handler-register.js';
|
4
|
+
export declare class IotaPluginPart {
|
5
|
+
private handlerRegister;
|
6
|
+
private partitionManager;
|
7
|
+
constructor(handlerRegister: HandlerRegister, partitionManager: PartitionHandlerManager);
|
8
|
+
start(request: StartRequest): Promise<void>;
|
9
|
+
init(config: InitResponse): Promise<void>;
|
10
|
+
configure(config: ProcessConfigResponse, forChainId?: string): Promise<void>;
|
11
|
+
}
|
12
|
+
//# sourceMappingURL=iota-plugin-part.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"iota-plugin-part.d.ts","sourceRoot":"","sources":["../../src/iota/iota-plugin-part.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,YAAY,EAIZ,qBAAqB,EACrB,YAAY,EACb,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAa7D,qBAAa,cAAc;IAEvB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,gBAAgB;gBADhB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,uBAAuB;IAG7C,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B3C,IAAI,CAAC,MAAM,EAAE,YAAY;IAQzB,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,MAAM;CA2InE"}
|