@sentio/sdk 1.27.7 → 1.27.9
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/cli/upload.js +7 -1
- package/lib/cli/upload.js.map +1 -1
- package/lib/core/base-processor-template.d.ts +8 -1
- package/lib/core/base-processor-template.js +11 -2
- package/lib/core/base-processor-template.js.map +1 -1
- package/lib/core/base-processor.d.ts +9 -1
- package/lib/core/base-processor.js +24 -5
- package/lib/core/base-processor.js.map +1 -1
- package/lib/gen/processor/protos/processor.d.ts +3 -2
- package/lib/gen/processor/protos/processor.js +38 -21
- package/lib/gen/processor/protos/processor.js.map +1 -1
- package/lib/service.js +11 -5
- package/lib/service.js.map +1 -1
- package/lib/testing/test-processor-server.js +1 -1
- package/lib/testing/test-processor-server.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/upload.ts +6 -1
- package/src/core/base-processor-template.ts +29 -3
- package/src/core/base-processor.ts +43 -11
- package/src/gen/processor/protos/processor.ts +44 -23
- package/src/service.ts +11 -5
- package/src/testing/test-processor-server.ts +1 -1
- package/templates/evm/src/processor.ts +1 -1
@@ -150,6 +150,7 @@ export interface ProcessConfigResponse {
|
|
150
150
|
export interface ContractConfig {
|
151
151
|
contract: ContractInfo | undefined;
|
152
152
|
blockConfigs: BlockHandlerConfig[];
|
153
|
+
intervalConfigs: OnIntervalConfig[];
|
153
154
|
logConfigs: LogHandlerConfig[];
|
154
155
|
traceConfigs: TraceHandlerConfig[];
|
155
156
|
aptosEventConfigs: AptosEventHandlerConfig[];
|
@@ -230,8 +231,8 @@ export interface AccountConfig {
|
|
230
231
|
chainId: string;
|
231
232
|
address: string;
|
232
233
|
startBlock: Long;
|
233
|
-
|
234
|
-
|
234
|
+
intervalConfigs: OnIntervalConfig[];
|
235
|
+
aptosIntervalConfigs: AptosOnIntervalConfig[];
|
235
236
|
}
|
236
237
|
|
237
238
|
export interface OnIntervalConfig {
|
@@ -759,6 +760,7 @@ function createBaseContractConfig(): ContractConfig {
|
|
759
760
|
return {
|
760
761
|
contract: undefined,
|
761
762
|
blockConfigs: [],
|
763
|
+
intervalConfigs: [],
|
762
764
|
logConfigs: [],
|
763
765
|
traceConfigs: [],
|
764
766
|
aptosEventConfigs: [],
|
@@ -781,6 +783,9 @@ export const ContractConfig = {
|
|
781
783
|
for (const v of message.blockConfigs) {
|
782
784
|
BlockHandlerConfig.encode(v!, writer.uint32(58).fork()).ldelim();
|
783
785
|
}
|
786
|
+
for (const v of message.intervalConfigs) {
|
787
|
+
OnIntervalConfig.encode(v!, writer.uint32(90).fork()).ldelim();
|
788
|
+
}
|
784
789
|
for (const v of message.logConfigs) {
|
785
790
|
LogHandlerConfig.encode(v!, writer.uint32(26).fork()).ldelim();
|
786
791
|
}
|
@@ -826,6 +831,11 @@ export const ContractConfig = {
|
|
826
831
|
BlockHandlerConfig.decode(reader, reader.uint32())
|
827
832
|
);
|
828
833
|
break;
|
834
|
+
case 11:
|
835
|
+
message.intervalConfigs.push(
|
836
|
+
OnIntervalConfig.decode(reader, reader.uint32())
|
837
|
+
);
|
838
|
+
break;
|
829
839
|
case 3:
|
830
840
|
message.logConfigs.push(
|
831
841
|
LogHandlerConfig.decode(reader, reader.uint32())
|
@@ -877,6 +887,9 @@ export const ContractConfig = {
|
|
877
887
|
blockConfigs: Array.isArray(object?.blockConfigs)
|
878
888
|
? object.blockConfigs.map((e: any) => BlockHandlerConfig.fromJSON(e))
|
879
889
|
: [],
|
890
|
+
intervalConfigs: Array.isArray(object?.intervalConfigs)
|
891
|
+
? object.intervalConfigs.map((e: any) => OnIntervalConfig.fromJSON(e))
|
892
|
+
: [],
|
880
893
|
logConfigs: Array.isArray(object?.logConfigs)
|
881
894
|
? object.logConfigs.map((e: any) => LogHandlerConfig.fromJSON(e))
|
882
895
|
: [],
|
@@ -921,6 +934,13 @@ export const ContractConfig = {
|
|
921
934
|
} else {
|
922
935
|
obj.blockConfigs = [];
|
923
936
|
}
|
937
|
+
if (message.intervalConfigs) {
|
938
|
+
obj.intervalConfigs = message.intervalConfigs.map((e) =>
|
939
|
+
e ? OnIntervalConfig.toJSON(e) : undefined
|
940
|
+
);
|
941
|
+
} else {
|
942
|
+
obj.intervalConfigs = [];
|
943
|
+
}
|
924
944
|
if (message.logConfigs) {
|
925
945
|
obj.logConfigs = message.logConfigs.map((e) =>
|
926
946
|
e ? LogHandlerConfig.toJSON(e) : undefined
|
@@ -970,6 +990,8 @@ export const ContractConfig = {
|
|
970
990
|
: undefined;
|
971
991
|
message.blockConfigs =
|
972
992
|
object.blockConfigs?.map((e) => BlockHandlerConfig.fromPartial(e)) || [];
|
993
|
+
message.intervalConfigs =
|
994
|
+
object.intervalConfigs?.map((e) => OnIntervalConfig.fromPartial(e)) || [];
|
973
995
|
message.logConfigs =
|
974
996
|
object.logConfigs?.map((e) => LogHandlerConfig.fromPartial(e)) || [];
|
975
997
|
message.traceConfigs =
|
@@ -1427,8 +1449,8 @@ function createBaseAccountConfig(): AccountConfig {
|
|
1427
1449
|
chainId: "",
|
1428
1450
|
address: "",
|
1429
1451
|
startBlock: Long.UZERO,
|
1430
|
-
|
1431
|
-
|
1452
|
+
intervalConfigs: [],
|
1453
|
+
aptosIntervalConfigs: [],
|
1432
1454
|
};
|
1433
1455
|
}
|
1434
1456
|
|
@@ -1446,10 +1468,10 @@ export const AccountConfig = {
|
|
1446
1468
|
if (!message.startBlock.isZero()) {
|
1447
1469
|
writer.uint32(24).uint64(message.startBlock);
|
1448
1470
|
}
|
1449
|
-
for (const v of message.
|
1471
|
+
for (const v of message.intervalConfigs) {
|
1450
1472
|
OnIntervalConfig.encode(v!, writer.uint32(34).fork()).ldelim();
|
1451
1473
|
}
|
1452
|
-
for (const v of message.
|
1474
|
+
for (const v of message.aptosIntervalConfigs) {
|
1453
1475
|
AptosOnIntervalConfig.encode(v!, writer.uint32(42).fork()).ldelim();
|
1454
1476
|
}
|
1455
1477
|
return writer;
|
@@ -1472,12 +1494,12 @@ export const AccountConfig = {
|
|
1472
1494
|
message.startBlock = reader.uint64() as Long;
|
1473
1495
|
break;
|
1474
1496
|
case 4:
|
1475
|
-
message.
|
1497
|
+
message.intervalConfigs.push(
|
1476
1498
|
OnIntervalConfig.decode(reader, reader.uint32())
|
1477
1499
|
);
|
1478
1500
|
break;
|
1479
1501
|
case 5:
|
1480
|
-
message.
|
1502
|
+
message.aptosIntervalConfigs.push(
|
1481
1503
|
AptosOnIntervalConfig.decode(reader, reader.uint32())
|
1482
1504
|
);
|
1483
1505
|
break;
|
@@ -1496,11 +1518,11 @@ export const AccountConfig = {
|
|
1496
1518
|
startBlock: isSet(object.startBlock)
|
1497
1519
|
? Long.fromValue(object.startBlock)
|
1498
1520
|
: Long.UZERO,
|
1499
|
-
|
1500
|
-
? object.
|
1521
|
+
intervalConfigs: Array.isArray(object?.intervalConfigs)
|
1522
|
+
? object.intervalConfigs.map((e: any) => OnIntervalConfig.fromJSON(e))
|
1501
1523
|
: [],
|
1502
|
-
|
1503
|
-
? object.
|
1524
|
+
aptosIntervalConfigs: Array.isArray(object?.aptosIntervalConfigs)
|
1525
|
+
? object.aptosIntervalConfigs.map((e: any) =>
|
1504
1526
|
AptosOnIntervalConfig.fromJSON(e)
|
1505
1527
|
)
|
1506
1528
|
: [],
|
@@ -1513,19 +1535,19 @@ export const AccountConfig = {
|
|
1513
1535
|
message.address !== undefined && (obj.address = message.address);
|
1514
1536
|
message.startBlock !== undefined &&
|
1515
1537
|
(obj.startBlock = (message.startBlock || Long.UZERO).toString());
|
1516
|
-
if (message.
|
1517
|
-
obj.
|
1538
|
+
if (message.intervalConfigs) {
|
1539
|
+
obj.intervalConfigs = message.intervalConfigs.map((e) =>
|
1518
1540
|
e ? OnIntervalConfig.toJSON(e) : undefined
|
1519
1541
|
);
|
1520
1542
|
} else {
|
1521
|
-
obj.
|
1543
|
+
obj.intervalConfigs = [];
|
1522
1544
|
}
|
1523
|
-
if (message.
|
1524
|
-
obj.
|
1545
|
+
if (message.aptosIntervalConfigs) {
|
1546
|
+
obj.aptosIntervalConfigs = message.aptosIntervalConfigs.map((e) =>
|
1525
1547
|
e ? AptosOnIntervalConfig.toJSON(e) : undefined
|
1526
1548
|
);
|
1527
1549
|
} else {
|
1528
|
-
obj.
|
1550
|
+
obj.aptosIntervalConfigs = [];
|
1529
1551
|
}
|
1530
1552
|
return obj;
|
1531
1553
|
},
|
@@ -1538,11 +1560,10 @@ export const AccountConfig = {
|
|
1538
1560
|
object.startBlock !== undefined && object.startBlock !== null
|
1539
1561
|
? Long.fromValue(object.startBlock)
|
1540
1562
|
: Long.UZERO;
|
1541
|
-
message.
|
1542
|
-
object.
|
1543
|
-
|
1544
|
-
|
1545
|
-
object.onAptosIntervalConfigs?.map((e) =>
|
1563
|
+
message.intervalConfigs =
|
1564
|
+
object.intervalConfigs?.map((e) => OnIntervalConfig.fromPartial(e)) || [];
|
1565
|
+
message.aptosIntervalConfigs =
|
1566
|
+
object.aptosIntervalConfigs?.map((e) =>
|
1546
1567
|
AptosOnIntervalConfig.fromPartial(e)
|
1547
1568
|
) || [];
|
1548
1569
|
return message;
|
package/src/service.ts
CHANGED
@@ -141,6 +141,7 @@ export class ProcessorServiceImpl implements ProcessorServiceImplementation {
|
|
141
141
|
abi: '',
|
142
142
|
},
|
143
143
|
blockConfigs: [],
|
144
|
+
intervalConfigs: [],
|
144
145
|
logConfigs: [],
|
145
146
|
traceConfigs: [],
|
146
147
|
startBlock: processor.config.startBlock,
|
@@ -155,10 +156,12 @@ export class ProcessorServiceImpl implements ProcessorServiceImplementation {
|
|
155
156
|
|
156
157
|
// Step 1. Prepare all the block handlers
|
157
158
|
for (const blockHandler of processor.blockHandlers) {
|
158
|
-
const handlerId = this.blockHandlers.push(blockHandler) - 1
|
159
|
+
const handlerId = this.blockHandlers.push(blockHandler.handler) - 1
|
159
160
|
// TODO wrap the block handler into one
|
160
161
|
|
161
|
-
contractConfig.
|
162
|
+
contractConfig.intervalConfigs.push({
|
163
|
+
slot: blockHandler.blockInterval || 1,
|
164
|
+
minutes: blockHandler.timeIntervalInMinutes || 0,
|
162
165
|
handlerId: handlerId,
|
163
166
|
})
|
164
167
|
}
|
@@ -220,6 +223,7 @@ export class ProcessorServiceImpl implements ProcessorServiceImplementation {
|
|
220
223
|
blockConfigs: [],
|
221
224
|
logConfigs: [],
|
222
225
|
traceConfigs: [],
|
226
|
+
intervalConfigs: [],
|
223
227
|
startBlock: solanaProcessor.config.startSlot,
|
224
228
|
endBlock: DEFAULT_MAX_BLOCK,
|
225
229
|
instructionConfig: {
|
@@ -245,6 +249,7 @@ export class ProcessorServiceImpl implements ProcessorServiceImplementation {
|
|
245
249
|
},
|
246
250
|
blockConfigs: [],
|
247
251
|
logConfigs: [],
|
252
|
+
intervalConfigs: [],
|
248
253
|
traceConfigs: [],
|
249
254
|
startBlock: suiProcessor.config.startSeqNumber,
|
250
255
|
endBlock: DEFAULT_MAX_BLOCK,
|
@@ -266,6 +271,7 @@ export class ProcessorServiceImpl implements ProcessorServiceImplementation {
|
|
266
271
|
abi: '',
|
267
272
|
},
|
268
273
|
blockConfigs: [],
|
274
|
+
intervalConfigs: [],
|
269
275
|
logConfigs: [],
|
270
276
|
traceConfigs: [],
|
271
277
|
startBlock: Long.fromString(aptosProcessor.config.startVersion.toString()),
|
@@ -313,12 +319,12 @@ export class ProcessorServiceImpl implements ProcessorServiceImplementation {
|
|
313
319
|
address: aptosProcessor.config.address,
|
314
320
|
chainId: aptosProcessor.getChainId(),
|
315
321
|
startBlock: Long.fromValue(aptosProcessor.config.startVersion.toString()),
|
316
|
-
|
317
|
-
|
322
|
+
aptosIntervalConfigs: [],
|
323
|
+
intervalConfigs: [],
|
318
324
|
}
|
319
325
|
for (const handler of aptosProcessor.resourcesHandlers) {
|
320
326
|
const handlerId = this.aptosResourceHandlers.push(handler.handler) - 1
|
321
|
-
accountConfig.
|
327
|
+
accountConfig.aptosIntervalConfigs.push({
|
322
328
|
intervalConfig: {
|
323
329
|
handlerId: handlerId,
|
324
330
|
minutes: handler.timeIntervalInMinutes || 0,
|
@@ -231,7 +231,7 @@ export class TestProcessorServer implements ProcessorServiceImplementation {
|
|
231
231
|
continue
|
232
232
|
}
|
233
233
|
|
234
|
-
for (const config of contract.
|
234
|
+
for (const config of contract.intervalConfigs) {
|
235
235
|
binding.handlerIds.push(config.handlerId)
|
236
236
|
}
|
237
237
|
}
|
@@ -9,7 +9,7 @@ const rewardPerBlock = new Gauge('reward_per_block', {
|
|
9
9
|
})
|
10
10
|
const tokenCounter = new Counter('token')
|
11
11
|
|
12
|
-
X2y2Processor.bind({ address: '0xB329e39Ebefd16f40d38f07643652cE17Ca5Bac1' }).
|
12
|
+
X2y2Processor.bind({ address: '0xB329e39Ebefd16f40d38f07643652cE17Ca5Bac1' }).onBlockInterval(async (_, ctx) => {
|
13
13
|
const phase = (await ctx.contract.currentPhase()).toString()
|
14
14
|
const reward = token.scaleDown(await ctx.contract.rewardPerBlockForStaking(), 18)
|
15
15
|
rewardPerBlock.record(ctx, reward, { phase })
|