@sentio/sdk 2.60.0-rc.9 → 2.60.1-rc.1
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/core/core-plugin.d.ts +1 -0
- package/lib/core/core-plugin.d.ts.map +1 -1
- package/lib/core/core-plugin.js +6 -2
- package/lib/core/core-plugin.js.map +1 -1
- package/lib/core/handler-register.d.ts.map +1 -1
- package/lib/core/handler-register.js +18 -2
- package/lib/core/handler-register.js.map +1 -1
- package/package.json +4 -4
- package/src/core/core-plugin.ts +8 -3
- package/src/core/handler-register.ts +20 -2
@@ -4,5 +4,6 @@ export declare class CorePlugin extends Plugin {
|
|
4
4
|
name: string;
|
5
5
|
configure(config: ProcessConfigResponse): Promise<void>;
|
6
6
|
init(config: InitResponse): Promise<void>;
|
7
|
+
initStartupConfig(config: InitResponse | ProcessConfigResponse): void;
|
7
8
|
}
|
8
9
|
//# sourceMappingURL=core-plugin.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core-plugin.d.ts","sourceRoot":"","sources":["../../src/core/core-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAQpE,qBAAa,UAAW,SAAQ,MAAM;IACpC,IAAI,EAAE,MAAM,CAAe;IAErB,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"core-plugin.d.ts","sourceRoot":"","sources":["../../src/core/core-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAQpE,qBAAa,UAAW,SAAQ,MAAM;IACpC,IAAI,EAAE,MAAM,CAAe;IAErB,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,qBAAqB,GAAG,IAAI;CAuCtE"}
|
package/lib/core/core-plugin.js
CHANGED
@@ -9,6 +9,12 @@ export class CorePlugin extends Plugin {
|
|
9
9
|
async configure(config) {
|
10
10
|
// This syntax is to copy values instead of using references
|
11
11
|
config.templateInstances = [...TemplateInstanceState.INSTANCE.getValues()];
|
12
|
+
this.initStartupConfig(config);
|
13
|
+
}
|
14
|
+
async init(config) {
|
15
|
+
this.initStartupConfig(config);
|
16
|
+
}
|
17
|
+
initStartupConfig(config) {
|
12
18
|
for (const metric of MetricState.INSTANCE.getValues()) {
|
13
19
|
config.metricConfigs.push({
|
14
20
|
...metric.config
|
@@ -37,8 +43,6 @@ export class CorePlugin extends Plugin {
|
|
37
43
|
.join('\n\n')
|
38
44
|
};
|
39
45
|
}
|
40
|
-
}
|
41
|
-
async init(config) {
|
42
46
|
if (DatabaseSchemaState.INSTANCE.getValues().length > 0) {
|
43
47
|
config.dbSchema = {
|
44
48
|
gqlSchema: DatabaseSchemaState.INSTANCE.getValues()
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core-plugin.js","sourceRoot":"","sources":["../../src/core/core-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAGvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,OAAO,UAAW,SAAQ,MAAM;IACpC,IAAI,GAAW,YAAY,CAAA;IAE3B,KAAK,CAAC,SAAS,CAAC,MAA6B;QAC3C,4DAA4D;QAC5D,MAAM,CAAC,iBAAiB,GAAG,CAAC,GAAG,qBAAqB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;QAE1E,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACtD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxB,GAAG,MAAM,CAAC,MAAM;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACzD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxB,GAAG,MAAM,CAAC,MAAM;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1D,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC1B,GAAG,KAAK,CAAC,MAAM;aAChB,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1D,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,QAAQ,GAAG;gBAChB,SAAS,EAAE,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE;qBAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;qBACpB,IAAI,CAAC,MAAM,CAAC;aAChB,CAAA;QACH,CAAC;
|
1
|
+
{"version":3,"file":"core-plugin.js","sourceRoot":"","sources":["../../src/core/core-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAGvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,OAAO,UAAW,SAAQ,MAAM;IACpC,IAAI,GAAW,YAAY,CAAA;IAE3B,KAAK,CAAC,SAAS,CAAC,MAA6B;QAC3C,4DAA4D;QAC5D,MAAM,CAAC,iBAAiB,GAAG,CAAC,GAAG,qBAAqB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;QAE1E,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAoB;QAC7B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAED,iBAAiB,CAAC,MAA4C;QAC5D,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACtD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxB,GAAG,MAAM,CAAC,MAAM;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACzD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxB,GAAG,MAAM,CAAC,MAAM;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1D,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC1B,GAAG,KAAK,CAAC,MAAM;aAChB,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1D,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,QAAQ,GAAG;gBAChB,SAAS,EAAE,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE;qBAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;qBACpB,IAAI,CAAC,MAAM,CAAC;aAChB,CAAA;QACH,CAAC;QACD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,QAAQ,GAAG;gBAChB,SAAS,EAAE,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE;qBAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;qBACpB,IAAI,CAAC,MAAM,CAAC;aAChB,CAAA;QACH,CAAC;IACH,CAAC;CACF;AAED,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handler-register.d.ts","sourceRoot":"","sources":["../../src/core/handler-register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;
|
1
|
+
{"version":3,"file":"handler-register.d.ts","sourceRoot":"","sources":["../../src/core/handler-register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AAqCxE,qBAAa,eAAe;IAC1B,OAAO,CAAC,cAAc,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAuC;IAEvD;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM;IAmBrE;;OAEG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe;IAQ3C,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;CAiB/B"}
|
@@ -2,8 +2,24 @@ import { ServerError, Status } from 'nice-grpc';
|
|
2
2
|
import { ChainId } from '@sentio/chain';
|
3
3
|
const chainToNumber = new Map();
|
4
4
|
const numberToChain = new Map();
|
5
|
+
const generateHash = (s) => {
|
6
|
+
let hash = 0;
|
7
|
+
for (const char of s) {
|
8
|
+
hash = (hash << 5) - hash + char.charCodeAt(0);
|
9
|
+
hash |= 0; // Constrain to 32bit integer
|
10
|
+
}
|
11
|
+
return Math.abs(hash);
|
12
|
+
};
|
5
13
|
for (const chainId of Object.values(ChainId)) {
|
6
|
-
|
14
|
+
let num = parseInt(chainId);
|
15
|
+
if (isNaN(num)) {
|
16
|
+
// If the chainId is not a number, generate a hash
|
17
|
+
num = generateHash(chainId);
|
18
|
+
}
|
19
|
+
if (numberToChain.has(num)) {
|
20
|
+
// If the number is already used for another chain, throw an error, this should not happen
|
21
|
+
throw new Error(`Chain ID ${chainId}'s number ${num} conflicts with existing chain ID ${numberToChain.get(num)}`);
|
22
|
+
}
|
7
23
|
chainToNumber.set(chainId, num);
|
8
24
|
numberToChain.set(num, chainId);
|
9
25
|
}
|
@@ -19,7 +35,7 @@ export class HandlerRegister {
|
|
19
35
|
const chainNum = chainToNumber.get(chainId) || 0;
|
20
36
|
const entries = this.handlerByChain.get(chainNum) || [];
|
21
37
|
const len = entries.length;
|
22
|
-
const id = chainNum * MAX_HANDLER_PER_CHAIN + len + 1;
|
38
|
+
const id = chainNum * MAX_HANDLER_PER_CHAIN + len + 1;
|
23
39
|
const entry = {
|
24
40
|
id,
|
25
41
|
handler,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handler-register.js","sourceRoot":"","sources":["../../src/core/handler-register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAWvC,MAAM,aAAa,GAAwB,IAAI,GAAG,EAAE,CAAA;AACpD,MAAM,aAAa,GAAwB,IAAI,GAAG,EAAE,CAAA;AAEpD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,
|
1
|
+
{"version":3,"file":"handler-register.js","sourceRoot":"","sources":["../../src/core/handler-register.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentio/sdk",
|
3
|
-
"version": "2.60.
|
3
|
+
"version": "2.60.1-rc.1",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -66,7 +66,7 @@
|
|
66
66
|
"@sentio/abi-wan-kanabi": "2.2.2-1",
|
67
67
|
"@sentio/api": "1.0.2",
|
68
68
|
"@sentio/bigdecimal": "9.1.1-patch.3",
|
69
|
-
"@sentio/chain": "~3.
|
69
|
+
"@sentio/chain": "~3.3.0",
|
70
70
|
"@sentio/ethers-v6": "^1.0.29",
|
71
71
|
"@solana/web3.js": "1.98.2",
|
72
72
|
"@typemove/aptos": "~1.10.0",
|
@@ -97,8 +97,8 @@
|
|
97
97
|
"typechain": "^8.3.2",
|
98
98
|
"utility-types": "^3.11.0",
|
99
99
|
"yaml": "^2.3.4",
|
100
|
-
"@sentio/
|
101
|
-
"@sentio/
|
100
|
+
"@sentio/runtime": "^2.60.1-rc.1",
|
101
|
+
"@sentio/protos": "2.60.1-rc.1"
|
102
102
|
},
|
103
103
|
"peerDependencies": {
|
104
104
|
"@sentio/tsup": "^8.3.5-rc.1"
|
package/src/core/core-plugin.ts
CHANGED
@@ -14,6 +14,14 @@ export class CorePlugin extends Plugin {
|
|
14
14
|
// This syntax is to copy values instead of using references
|
15
15
|
config.templateInstances = [...TemplateInstanceState.INSTANCE.getValues()]
|
16
16
|
|
17
|
+
this.initStartupConfig(config)
|
18
|
+
}
|
19
|
+
|
20
|
+
async init(config: InitResponse): Promise<void> {
|
21
|
+
this.initStartupConfig(config)
|
22
|
+
}
|
23
|
+
|
24
|
+
initStartupConfig(config: InitResponse | ProcessConfigResponse): void {
|
17
25
|
for (const metric of MetricState.INSTANCE.getValues()) {
|
18
26
|
config.metricConfigs.push({
|
19
27
|
...metric.config
|
@@ -44,9 +52,6 @@ export class CorePlugin extends Plugin {
|
|
44
52
|
.join('\n\n')
|
45
53
|
}
|
46
54
|
}
|
47
|
-
}
|
48
|
-
|
49
|
-
async init(config: InitResponse): Promise<void> {
|
50
55
|
if (DatabaseSchemaState.INSTANCE.getValues().length > 0) {
|
51
56
|
config.dbSchema = {
|
52
57
|
gqlSchema: DatabaseSchemaState.INSTANCE.getValues()
|
@@ -13,8 +13,26 @@ interface HandlerEntry {
|
|
13
13
|
const chainToNumber: Map<string, number> = new Map()
|
14
14
|
const numberToChain: Map<number, string> = new Map()
|
15
15
|
|
16
|
+
const generateHash = (s: string) => {
|
17
|
+
let hash = 0
|
18
|
+
for (const char of s) {
|
19
|
+
hash = (hash << 5) - hash + char.charCodeAt(0)
|
20
|
+
hash |= 0 // Constrain to 32bit integer
|
21
|
+
}
|
22
|
+
return Math.abs(hash)
|
23
|
+
}
|
24
|
+
|
16
25
|
for (const chainId of Object.values(ChainId)) {
|
17
|
-
|
26
|
+
let num = parseInt(chainId)
|
27
|
+
if (isNaN(num)) {
|
28
|
+
// If the chainId is not a number, generate a hash
|
29
|
+
num = generateHash(chainId)
|
30
|
+
}
|
31
|
+
|
32
|
+
if (numberToChain.has(num)) {
|
33
|
+
// If the number is already used for another chain, throw an error, this should not happen
|
34
|
+
throw new Error(`Chain ID ${chainId}'s number ${num} conflicts with existing chain ID ${numberToChain.get(num)}`)
|
35
|
+
}
|
18
36
|
chainToNumber.set(chainId, num)
|
19
37
|
numberToChain.set(num, chainId)
|
20
38
|
}
|
@@ -34,7 +52,7 @@ export class HandlerRegister {
|
|
34
52
|
const entries = this.handlerByChain.get(chainNum) || []
|
35
53
|
|
36
54
|
const len = entries.length
|
37
|
-
const id = chainNum * MAX_HANDLER_PER_CHAIN + len + 1
|
55
|
+
const id = chainNum * MAX_HANDLER_PER_CHAIN + len + 1
|
38
56
|
|
39
57
|
const entry: HandlerEntry = {
|
40
58
|
id,
|