@sentio/sdk 2.60.0-rc.4 → 2.60.0-rc.5

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.
Files changed (133) hide show
  1. package/lib/iota/builtin/0x1.d.ts +817 -0
  2. package/lib/iota/builtin/0x1.d.ts.map +1 -0
  3. package/lib/iota/builtin/0x1.js +4385 -0
  4. package/lib/iota/builtin/0x1.js.map +1 -0
  5. package/lib/iota/builtin/0x2.d.ts +4529 -0
  6. package/lib/iota/builtin/0x2.d.ts.map +1 -0
  7. package/lib/iota/builtin/0x2.js +17109 -0
  8. package/lib/iota/builtin/0x2.js.map +1 -0
  9. package/lib/iota/builtin/0x3.d.ts +2293 -0
  10. package/lib/iota/builtin/0x3.d.ts.map +1 -0
  11. package/lib/iota/builtin/0x3.js +6522 -0
  12. package/lib/iota/builtin/0x3.js.map +1 -0
  13. package/lib/iota/builtin/index.d.ts +4 -0
  14. package/lib/iota/builtin/index.d.ts.map +1 -0
  15. package/lib/iota/builtin/index.js +7 -0
  16. package/lib/iota/builtin/index.js.map +1 -0
  17. package/lib/iota/codegen/codegen.d.ts +2 -0
  18. package/lib/iota/codegen/codegen.d.ts.map +1 -0
  19. package/lib/iota/codegen/codegen.js +94 -0
  20. package/lib/iota/codegen/codegen.js.map +1 -0
  21. package/lib/iota/codegen/index.d.ts +2 -0
  22. package/lib/iota/codegen/index.d.ts.map +1 -0
  23. package/lib/iota/codegen/index.js +2 -0
  24. package/lib/iota/codegen/index.js.map +1 -0
  25. package/lib/iota/codegen/run.d.ts +2 -0
  26. package/lib/iota/codegen/run.d.ts.map +1 -0
  27. package/lib/iota/codegen/run.js +12 -0
  28. package/lib/iota/codegen/run.js.map +1 -0
  29. package/lib/iota/context.d.ts +50 -0
  30. package/lib/iota/context.d.ts.map +1 -0
  31. package/lib/iota/context.js +134 -0
  32. package/lib/iota/context.js.map +1 -0
  33. package/lib/iota/ext/coin.d.ts +17 -0
  34. package/lib/iota/ext/coin.d.ts.map +1 -0
  35. package/lib/iota/ext/coin.js +532 -0
  36. package/lib/iota/ext/coin.js.map +1 -0
  37. package/lib/iota/ext/index.d.ts +3 -0
  38. package/lib/iota/ext/index.d.ts.map +1 -0
  39. package/lib/iota/ext/index.js +3 -0
  40. package/lib/iota/ext/index.js.map +1 -0
  41. package/lib/iota/ext/move-dex.d.ts +19 -0
  42. package/lib/iota/ext/move-dex.d.ts.map +1 -0
  43. package/lib/iota/ext/move-dex.js +24 -0
  44. package/lib/iota/ext/move-dex.js.map +1 -0
  45. package/lib/iota/index.d.ts +11 -0
  46. package/lib/iota/index.d.ts.map +1 -0
  47. package/lib/iota/index.js +12 -0
  48. package/lib/iota/index.js.map +1 -0
  49. package/lib/iota/iota-object-processor-template.d.ts +44 -0
  50. package/lib/iota/iota-object-processor-template.d.ts.map +1 -0
  51. package/lib/iota/iota-object-processor-template.js +171 -0
  52. package/lib/iota/iota-object-processor-template.js.map +1 -0
  53. package/lib/iota/iota-object-processor.d.ts +83 -0
  54. package/lib/iota/iota-object-processor.d.ts.map +1 -0
  55. package/lib/iota/iota-object-processor.js +193 -0
  56. package/lib/iota/iota-object-processor.js.map +1 -0
  57. package/lib/iota/iota-plugin-part.d.ts +12 -0
  58. package/lib/iota/iota-plugin-part.d.ts.map +1 -0
  59. package/lib/iota/iota-plugin-part.js +178 -0
  60. package/lib/iota/iota-plugin-part.js.map +1 -0
  61. package/lib/iota/iota-plugin.d.ts +3 -0
  62. package/lib/iota/iota-plugin.d.ts.map +1 -0
  63. package/lib/iota/iota-plugin.js +4 -0
  64. package/lib/iota/iota-plugin.js.map +1 -0
  65. package/lib/iota/iota-processor.d.ts +47 -0
  66. package/lib/iota/iota-processor.d.ts.map +1 -0
  67. package/lib/iota/iota-processor.js +223 -0
  68. package/lib/iota/iota-processor.js.map +1 -0
  69. package/lib/iota/models.d.ts +12 -0
  70. package/lib/iota/models.d.ts.map +1 -0
  71. package/lib/iota/models.js +2 -0
  72. package/lib/iota/models.js.map +1 -0
  73. package/lib/iota/move-coder.d.ts +4 -0
  74. package/lib/iota/move-coder.d.ts.map +1 -0
  75. package/lib/iota/move-coder.js +12 -0
  76. package/lib/iota/move-coder.js.map +1 -0
  77. package/lib/iota/network.d.ts +10 -0
  78. package/lib/iota/network.d.ts.map +1 -0
  79. package/lib/iota/network.js +24 -0
  80. package/lib/iota/network.js.map +1 -0
  81. package/lib/iota/utils.d.ts +3 -0
  82. package/lib/iota/utils.d.ts.map +1 -0
  83. package/lib/iota/utils.js +41 -0
  84. package/lib/iota/utils.js.map +1 -0
  85. package/lib/sui/network.d.ts.map +1 -1
  86. package/lib/sui/network.js +0 -3
  87. package/lib/sui/network.js.map +1 -1
  88. package/lib/sui/sui-plugin-part.d.ts +12 -0
  89. package/lib/sui/sui-plugin-part.d.ts.map +1 -0
  90. package/lib/sui/sui-plugin-part.js +178 -0
  91. package/lib/sui/sui-plugin-part.js.map +1 -0
  92. package/lib/sui/sui-plugin.d.ts +4 -0
  93. package/lib/sui/sui-plugin.d.ts.map +1 -1
  94. package/lib/sui/sui-plugin.js +12 -159
  95. package/lib/sui/sui-plugin.js.map +1 -1
  96. package/lib/testing/iota-facet.d.ts +14 -0
  97. package/lib/testing/iota-facet.d.ts.map +1 -0
  98. package/lib/testing/iota-facet.js +124 -0
  99. package/lib/testing/iota-facet.js.map +1 -0
  100. package/lib/testing/test-processor-server.d.ts +2 -0
  101. package/lib/testing/test-processor-server.d.ts.map +1 -1
  102. package/lib/testing/test-processor-server.js +3 -0
  103. package/lib/testing/test-processor-server.js.map +1 -1
  104. package/package.json +20 -8
  105. package/src/iota/abis/0x1.json +4213 -0
  106. package/src/iota/abis/0x2.json +26692 -0
  107. package/src/iota/abis/0x3.json +10598 -0
  108. package/src/iota/builtin/0x1.ts +6292 -0
  109. package/src/iota/builtin/0x2.ts +26198 -0
  110. package/src/iota/builtin/0x3.ts +11144 -0
  111. package/src/iota/builtin/index.ts +6 -0
  112. package/src/iota/codegen/codegen.ts +118 -0
  113. package/src/iota/codegen/index.ts +1 -0
  114. package/src/iota/codegen/run.ts +13 -0
  115. package/src/iota/context.ts +200 -0
  116. package/src/iota/ext/coin.ts +565 -0
  117. package/src/iota/ext/index.ts +2 -0
  118. package/src/iota/ext/move-dex.ts +52 -0
  119. package/src/iota/index.ts +29 -0
  120. package/src/iota/iota-object-processor-template.ts +277 -0
  121. package/src/iota/iota-object-processor.ts +386 -0
  122. package/src/iota/iota-plugin-part.ts +211 -0
  123. package/src/iota/iota-plugin.ts +2 -0
  124. package/src/iota/iota-processor.ts +339 -0
  125. package/src/iota/models.ts +14 -0
  126. package/src/iota/move-coder.ts +15 -0
  127. package/src/iota/network.ts +27 -0
  128. package/src/iota/utils.ts +52 -0
  129. package/src/sui/network.ts +0 -3
  130. package/src/sui/sui-plugin-part.ts +211 -0
  131. package/src/sui/sui-plugin.ts +12 -178
  132. package/src/testing/iota-facet.ts +143 -0
  133. 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":"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"}
@@ -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"}