@sentio/sdk 0.1.6 → 0.1.10

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 (77) hide show
  1. package/dist/base-processor.d.ts +34 -0
  2. package/dist/base-processor.js +110 -0
  3. package/dist/base-processor.js.map +1 -0
  4. package/dist/baseprocessor.d.ts +34 -0
  5. package/dist/baseprocessor.js +110 -0
  6. package/dist/baseprocessor.js.map +1 -0
  7. package/dist/cli/build.d.ts +1 -1
  8. package/dist/cli/build.js +47 -9
  9. package/dist/cli/build.js.map +1 -1
  10. package/dist/cli/cli.d.ts +2 -1
  11. package/dist/cli/cli.js +17 -3
  12. package/dist/cli/cli.js.map +1 -1
  13. package/dist/cli/config.d.ts +1 -0
  14. package/dist/cli/config.js.map +1 -1
  15. package/dist/cli/upload.js +4 -3
  16. package/dist/cli/upload.js.map +1 -1
  17. package/dist/cli/webpack.config.js +14 -5
  18. package/dist/contract-namer.d.ts +6 -0
  19. package/dist/contract-namer.js +20 -0
  20. package/dist/contract-namer.js.map +1 -0
  21. package/dist/index.d.ts +4 -2
  22. package/dist/index.js +8 -3
  23. package/dist/index.js.map +1 -1
  24. package/dist/processor.d.ts +1 -33
  25. package/dist/processor.js +52 -95
  26. package/dist/processor.js.map +1 -1
  27. package/dist/processor_server.js +2 -1
  28. package/dist/processor_server.js.map +1 -1
  29. package/dist/service.js +97 -79
  30. package/dist/service.js.map +1 -1
  31. package/dist/solana-processor.d.ts +25 -0
  32. package/dist/solana-processor.js +84 -0
  33. package/dist/solana-processor.js.map +1 -0
  34. package/dist/solana_processor.d.ts +1 -1
  35. package/dist/solana_processor.js +3 -3
  36. package/dist/solana_processor.js.map +1 -1
  37. package/dist/target-ethers-sentio/codegen.js +8 -4
  38. package/dist/target-ethers-sentio/codegen.js.map +1 -1
  39. package/dist/target-ethers-sentio/index.js +1 -1
  40. package/dist/target-ethers-sentio/index.js.map +1 -1
  41. package/dist/test-case/erc20.d.ts +1 -0
  42. package/dist/test-case/erc20.js +24 -0
  43. package/dist/test-case/erc20.js.map +1 -0
  44. package/dist/test-case/mirrorworld.d.ts +4 -0
  45. package/dist/test-case/mirrorworld.js +62 -0
  46. package/dist/test-case/mirrorworld.js.map +1 -0
  47. package/dist/test-case/types/ERC20.d.ts +150 -0
  48. package/dist/test-case/types/ERC20.js +3 -0
  49. package/dist/test-case/types/ERC20.js.map +1 -0
  50. package/dist/test-case/types/common.d.ts +22 -0
  51. package/dist/test-case/types/common.js +3 -0
  52. package/dist/test-case/types/common.js.map +1 -0
  53. package/dist/test-case/types/erc20_processor.d.ts +28 -0
  54. package/dist/test-case/types/erc20_processor.js +58 -0
  55. package/dist/test-case/types/erc20_processor.js.map +1 -0
  56. package/dist/test-case/types/factories/ERC20__factory.d.ts +35 -0
  57. package/dist/test-case/types/factories/ERC20__factory.js +216 -0
  58. package/dist/test-case/types/factories/ERC20__factory.js.map +1 -0
  59. package/dist/test-case/types/factories/index.d.ts +1 -0
  60. package/dist/test-case/types/factories/index.js +9 -0
  61. package/dist/test-case/types/factories/index.js.map +1 -0
  62. package/dist/test-case/types/game_wallet.d.ts +45 -0
  63. package/dist/test-case/types/game_wallet.js +1396 -0
  64. package/dist/test-case/types/game_wallet.js.map +1 -0
  65. package/dist/test-case/types/index.d.ts +3 -0
  66. package/dist/test-case/types/index.js +30 -0
  67. package/dist/test-case/types/index.js.map +1 -0
  68. package/dist/test_case/mirrorworld.d.ts +1 -1
  69. package/dist/test_case/mirrorworld.js +8 -35
  70. package/dist/test_case/mirrorworld.js.map +1 -1
  71. package/dist/test_case/types/erc20_processor.d.ts +2 -1
  72. package/dist/test_case/types/erc20_processor.js +4 -0
  73. package/dist/test_case/types/erc20_processor.js.map +1 -1
  74. package/dist/test_case/types/game_wallet.d.ts +45 -0
  75. package/dist/test_case/types/game_wallet.js +1396 -0
  76. package/dist/test_case/types/game_wallet.js.map +1 -0
  77. package/package.json +8 -7
@@ -1,34 +1,2 @@
1
- import { Context, ContractWrapper } from './context';
2
- import { Block, Log } from '@ethersproject/abstract-provider';
3
- import { BaseContract, EventFilter } from 'ethers';
4
- import { Networkish } from '@ethersproject/networks';
5
- import { Event } from '@ethersproject/contracts';
6
- import { O11yResult } from './gen/processor/protos/processor';
7
- import Long from 'long';
8
- import { Network } from '@ethersproject/providers';
9
- declare type IndexConfigure = {
10
- startBlock: Long;
11
- endBlock?: Long;
12
- chunkSize?: number;
13
- };
14
- declare class EventsHandler {
15
- filters: EventFilter[];
16
- handler: (event: Log) => Promise<O11yResult>;
17
- }
18
- export declare abstract class BaseProcessor<TContract extends BaseContract, TContractWrapper extends ContractWrapper<TContract>> {
19
- blockHandlers: ((block: Block) => Promise<O11yResult>)[];
20
- eventHandlers: EventsHandler[];
21
- contract: TContractWrapper;
22
- network: Network;
23
- name: string;
24
- config: IndexConfigure;
25
- constructor(address: string, name: string, network?: Networkish);
26
- protected abstract bindInternal(address: string, network: Networkish): TContractWrapper;
27
- startBlock(startBlock: Long | number): this;
28
- endBlock(endBlock: Long | number): this;
29
- configure(option: IndexConfigure): void;
30
- isBind(): boolean;
31
- onEvent(handler: (event: Event, ctx: Context<TContract, TContractWrapper>) => void, filter: EventFilter | EventFilter[]): void;
32
- onBlock(handler: (block: Block, ctx: Context<TContract, TContractWrapper>) => void): void;
33
- }
1
+ #!/usr/bin/env node
34
2
  export {};
package/dist/processor.js CHANGED
@@ -1,109 +1,66 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
5
  };
5
6
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BaseProcessor = void 0;
7
- const context_1 = require("./context");
8
- const long_1 = __importDefault(require("long"));
9
- const providers_1 = require("@ethersproject/providers");
10
- class EventsHandler {
11
- filters;
12
- handler;
13
- }
14
- class BaseProcessor {
15
- blockHandlers = [];
16
- eventHandlers = [];
17
- contract;
18
- network;
19
- name;
20
- config = { startBlock: new long_1.default(0) };
21
- constructor(address, name, network = 1) {
22
- this.name = name;
23
- this.network = (0, providers_1.getNetwork)(network);
24
- this.contract = this.bindInternal(address, network);
25
- if (!globalThis.Processors) {
26
- globalThis.Processors = [];
7
+ const command_line_args_1 = __importDefault(require("command-line-args"));
8
+ const nice_grpc_1 = require("nice-grpc");
9
+ const processor_1 = require("./gen/processor/protos/processor");
10
+ const service_1 = require("./service");
11
+ const provider_1 = require("./provider");
12
+ const path_1 = __importDefault(require("path"));
13
+ const fs_extra_1 = __importDefault(require("fs-extra"));
14
+ // import 'log-timestamp'
15
+ global.sentio_sdk = require('.');
16
+ function tryRequire(name) {
17
+ const req = eval('require');
18
+ try {
19
+ let path;
20
+ try {
21
+ path = req.resolve(name, { paths: [process.cwd()] });
27
22
  }
28
- globalThis.Processors.push(this);
29
- }
30
- startBlock(startBlock) {
31
- if (typeof startBlock === 'number') {
32
- startBlock = long_1.default.fromNumber(startBlock);
23
+ catch {
24
+ path = req.resolve(name);
33
25
  }
34
- this.config.startBlock = startBlock;
35
- return this;
26
+ const module = { module: req(path), name, path };
27
+ console.log('Load successfully: ', name);
28
+ return module;
36
29
  }
37
- endBlock(endBlock) {
38
- if (typeof endBlock === 'number') {
39
- endBlock = long_1.default.fromNumber(endBlock);
40
- }
41
- this.config.endBlock = endBlock;
42
- return this;
43
- }
44
- configure(option) {
45
- this.config = option;
46
- }
47
- isBind() {
48
- return this.contract._underlineContract.address != '';
49
- }
50
- onEvent(handler, filter) {
51
- if (!this.isBind()) {
52
- throw new Error('processor not bind');
53
- }
54
- const contract = this.contract;
55
- const chainId = this.network.chainId;
56
- let _filters = [];
57
- if (Array.isArray(filter)) {
58
- _filters = filter;
30
+ catch (err) {
31
+ if (err instanceof Error && err.message.startsWith(`Cannot find module '${name}'`)) {
32
+ // this error is expected
33
+ console.log("Couldn't load (expected): ", name);
34
+ return undefined;
59
35
  }
60
36
  else {
61
- _filters.push(filter);
62
- }
63
- this.eventHandlers.push({
64
- filters: _filters,
65
- handler: async function (log) {
66
- const ctx = new context_1.Context(contract, chainId, undefined, log);
67
- // let event: Event = <Event>deepCopy(log);
68
- const event = log;
69
- const parsed = contract._underlineContract.interface.parseLog(log);
70
- if (parsed) {
71
- event.args = parsed.args;
72
- event.decode = (data, topics) => {
73
- return contract._underlineContract.interface.decodeEventLog(parsed.eventFragment, data, topics);
74
- };
75
- event.event = parsed.name;
76
- event.eventSignature = parsed.signature;
77
- // TODO fix this bug
78
- await handler(event, ctx);
79
- return {
80
- histograms: ctx.histograms,
81
- counters: ctx.counters,
82
- };
83
- }
84
- return {
85
- histograms: [],
86
- counters: [],
87
- };
88
- },
89
- });
90
- }
91
- onBlock(handler) {
92
- if (!this.isBind()) {
93
- throw new Error('Registry not bind');
37
+ throw err;
94
38
  }
95
- const contract = this.contract;
96
- const chainId = this.network.chainId;
97
- this.blockHandlers.push(async function (block) {
98
- contract.block = block;
99
- const ctx = new context_1.Context(contract, chainId, block, undefined);
100
- await handler(block, ctx);
101
- return {
102
- histograms: ctx.histograms,
103
- counters: ctx.counters,
104
- };
105
- });
106
39
  }
107
40
  }
108
- exports.BaseProcessor = BaseProcessor;
41
+ const optionDefinitions = [
42
+ { name: 'target', type: String, defaultOption: true },
43
+ { name: 'port', alias: 'p', type: Number, defaultValue: '4000' },
44
+ {
45
+ name: 'chains-config',
46
+ alias: 'c',
47
+ type: String,
48
+ defaultValue: 'chains-config.json',
49
+ },
50
+ ];
51
+ const options = (0, command_line_args_1.default)(optionDefinitions);
52
+ console.log('loading', options.target);
53
+ const fullPath = path_1.default.resolve(options['chains-config']);
54
+ const chainsConfig = fs_extra_1.default.readJsonSync(fullPath);
55
+ (0, provider_1.setProvider)(chainsConfig);
56
+ tryRequire(options.target);
57
+ console.log('Start Server', options);
58
+ if (globalThis.Processors)
59
+ console.log(globalThis.Processors.length, ' processors loaded');
60
+ if (globalThis.SolanaProcessors)
61
+ console.log(globalThis.SolanaProcessors.length, ' solana processors loaded');
62
+ const processor = (0, nice_grpc_1.createServer)();
63
+ const service = new service_1.ProcessorServiceImpl(processor.shutdown);
64
+ processor.add(processor_1.ProcessorDefinition, service);
65
+ processor.listen('0.0.0.0:' + options.port);
109
66
  //# sourceMappingURL=processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":";;;;;;AAEA,0EAA+C;AAC/C,yCAAwC;AACxC,gEAAsE;AACtE,uCAAgD;AAChD,yCAAwC;AAExC,gDAAuB;AACvB,wDAAyB;AAEzB,yBAAyB;AAEzB,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;AAEhC,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAE3B,IAAI;QACF,IAAI,IAAY,CAAA;QAChB,IAAI;YACF,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;SACrD;QAAC,MAAM;YACN,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SACzB;QAED,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;QACxC,OAAO,MAAM,CAAA;KACd;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,uBAAuB,IAAI,GAAG,CAAC,EAAE;YAClF,yBAAyB;YACzB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA;YAC/C,OAAO,SAAS,CAAA;SACjB;aAAM;YACL,MAAM,GAAG,CAAA;SACV;KACF;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG;IACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE;IACrD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;IAChE;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,oBAAoB;KACnC;CACF,CAAA;AAED,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,iBAAiB,CAAC,CAAA;AAElD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AAEtC,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;AACvD,MAAM,YAAY,GAAG,kBAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;AAE9C,IAAA,sBAAW,EAAC,YAAY,CAAC,CAAA;AAEzB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAE1B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AAEpC,IAAI,UAAU,CAAC,UAAU;IAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAC1F,IAAI,UAAU,CAAC,gBAAgB;IAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAA;AAC7G,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAA;AAEhC,MAAM,OAAO,GAAG,IAAI,8BAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;AAC5D,SAAS,CAAC,GAAG,CAAC,+BAAmB,EAAE,OAAO,CAAC,CAAA;AAE3C,SAAS,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -56,7 +56,8 @@ const chainsConfig = fs_extra_1.default.readJsonSync(fullPath);
56
56
  (0, provider_1.setProvider)(chainsConfig);
57
57
  tryRequire(options.target);
58
58
  console.log('Start Server', options);
59
- console.log(globalThis.Processors.length, ' processors loaded');
59
+ if (globalThis.Processors)
60
+ console.log(globalThis.Processors.length, ' processors loaded');
60
61
  if (globalThis.SolanaProcessors)
61
62
  console.log(globalThis.SolanaProcessors.length, ' solana processors loaded');
62
63
  const processor_server = (0, nice_grpc_1.createServer)();
@@ -1 +1 @@
1
- {"version":3,"file":"processor_server.js","sourceRoot":"","sources":["../src/processor_server.ts"],"names":[],"mappings":";;;;;;AAEA,0EAA+C;AAC/C,yCAAwC;AACxC,gEAAsE;AACtE,uCAAgD;AAChD,yCAAwC;AAExC,gDAAuB;AACvB,wDAAyB;AAEzB,yBAAyB;AAEzB,aAAa;AACb,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;AAEhC,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAE3B,IAAI;QACF,IAAI,IAAY,CAAA;QAChB,IAAI;YACF,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;SACrD;QAAC,MAAM;YACN,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SACzB;QAED,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;QACxC,OAAO,MAAM,CAAA;KACd;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,uBAAuB,IAAI,GAAG,CAAC,EAAE;YAClF,yBAAyB;YACzB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA;YAC/C,OAAO,SAAS,CAAA;SACjB;aAAM;YACL,MAAM,GAAG,CAAA;SACV;KACF;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG;IACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE;IACrD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;IAChE;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,oBAAoB;KACnC;CACF,CAAA;AAED,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,iBAAiB,CAAC,CAAA;AAElD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AAEtC,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;AACvD,MAAM,YAAY,GAAG,kBAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;AAE9C,IAAA,sBAAW,EAAC,YAAY,CAAC,CAAA;AAEzB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAE1B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AAEpC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAC/D,IAAI,UAAU,CAAC,gBAAgB;IAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAA;AAC7G,MAAM,gBAAgB,GAAG,IAAA,wBAAY,GAAE,CAAA;AAEvC,MAAM,OAAO,GAAG,IAAI,8BAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnE,gBAAgB,CAAC,GAAG,CAAC,+BAAmB,EAAE,OAAO,CAAC,CAAA;AAElD,gBAAgB,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"processor_server.js","sourceRoot":"","sources":["../src/processor_server.ts"],"names":[],"mappings":";;;;;;AAEA,0EAA+C;AAC/C,yCAAwC;AACxC,gEAAsE;AACtE,uCAAgD;AAChD,yCAAwC;AAExC,gDAAuB;AACvB,wDAAyB;AAEzB,yBAAyB;AAEzB,aAAa;AACb,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;AAEhC,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAE3B,IAAI;QACF,IAAI,IAAY,CAAA;QAChB,IAAI;YACF,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;SACrD;QAAC,MAAM;YACN,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SACzB;QAED,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;QACxC,OAAO,MAAM,CAAA;KACd;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,uBAAuB,IAAI,GAAG,CAAC,EAAE;YAClF,yBAAyB;YACzB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA;YAC/C,OAAO,SAAS,CAAA;SACjB;aAAM;YACL,MAAM,GAAG,CAAA;SACV;KACF;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG;IACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE;IACrD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;IAChE;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,oBAAoB;KACnC;CACF,CAAA;AAED,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,iBAAiB,CAAC,CAAA;AAElD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AAEtC,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;AACvD,MAAM,YAAY,GAAG,kBAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;AAE9C,IAAA,sBAAW,EAAC,YAAY,CAAC,CAAA;AAEzB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAE1B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AAEpC,IAAI,UAAU,CAAC,UAAU;IAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAC1F,IAAI,UAAU,CAAC,gBAAgB;IAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAA;AAC7G,MAAM,gBAAgB,GAAG,IAAA,wBAAY,GAAE,CAAA;AAEvC,MAAM,OAAO,GAAG,IAAI,8BAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnE,gBAAgB,CAAC,GAAG,CAAC,+BAAmB,EAAE,OAAO,CAAC,CAAA;AAElD,gBAAgB,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA"}
package/dist/service.js CHANGED
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ProcessorServiceImpl = void 0;
7
+ const nice_grpc_1 = require("nice-grpc");
7
8
  const long_1 = __importDefault(require("long"));
8
9
  const MAX_BLOCK = new long_1.default(0);
9
10
  class ProcessorServiceImpl {
@@ -17,7 +18,7 @@ class ProcessorServiceImpl {
17
18
  }
18
19
  async getConfig(request, context) {
19
20
  if (!this.started) {
20
- throw new Error('Service Not started.');
21
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.UNAVAILABLE, 'Service Not started.');
21
22
  }
22
23
  return {
23
24
  // TODO project setting
@@ -28,73 +29,75 @@ class ProcessorServiceImpl {
28
29
  if (this.started) {
29
30
  return {};
30
31
  }
31
- for (const processor of globalThis.Processors) {
32
- // Start basic config for contract
33
- const chainId = processor.network.chainId;
34
- const contractConfig = {
35
- contract: {
36
- name: processor.name,
37
- chainId: chainId,
38
- address: processor.contract._underlineContract.address,
39
- },
40
- blockConfig: {
41
- numHandlers: processor.blockHandlers.length,
42
- },
43
- logConfigs: [],
44
- startBlock: processor.config.startBlock,
45
- endBlock: MAX_BLOCK,
46
- chunkSize: 1,
47
- instructionConfig: [],
48
- transactionConfig: [],
49
- };
50
- if (processor.config.endBlock) {
51
- contractConfig.endBlock = processor.config.endBlock;
52
- }
53
- if (processor.config.chunkSize) {
54
- contractConfig.chunkSize = processor.config.chunkSize;
55
- }
56
- // Prepare all the event handlers
57
- for (const eventsHandler of processor.eventHandlers) {
58
- // associate id with filter
59
- const handlerId = this.eventHandlers.push(eventsHandler.handler) - 1;
60
- const logConfig = {
61
- handlerId: handlerId,
62
- conditions: [],
32
+ if (globalThis.Processors) {
33
+ for (const processor of globalThis.Processors) {
34
+ // Start basic config for contract
35
+ const chainId = processor.network.chainId;
36
+ const contractConfig = {
37
+ contract: {
38
+ name: processor.name,
39
+ chainId: chainId,
40
+ address: processor.contract._underlineContract.address,
41
+ },
42
+ blockConfig: {
43
+ numHandlers: processor.blockHandlers.length,
44
+ },
45
+ logConfigs: [],
46
+ startBlock: processor.config.startBlock,
47
+ endBlock: MAX_BLOCK,
48
+ chunkSize: 1,
49
+ instructionConfig: [],
50
+ transactionConfig: [],
63
51
  };
64
- for (const filter of eventsHandler.filters) {
65
- if (!filter.topics) {
66
- throw new Error('Topic should not be null');
67
- }
68
- const condition = {
69
- topics: [],
52
+ if (processor.config.endBlock) {
53
+ contractConfig.endBlock = processor.config.endBlock;
54
+ }
55
+ if (processor.config.chunkSize) {
56
+ contractConfig.chunkSize = processor.config.chunkSize;
57
+ }
58
+ // Prepare all the event handlers
59
+ for (const eventsHandler of processor.eventHandlers) {
60
+ // associate id with filter
61
+ const handlerId = this.eventHandlers.push(eventsHandler.handler) - 1;
62
+ const logConfig = {
63
+ handlerId: handlerId,
64
+ conditions: [],
70
65
  };
71
- for (const ts of filter.topics) {
72
- let hashes = [];
73
- if (Array.isArray(ts)) {
74
- hashes = hashes.concat(ts);
66
+ for (const filter of eventsHandler.filters) {
67
+ if (!filter.topics) {
68
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INVALID_ARGUMENT, 'Topic should not be null');
75
69
  }
76
- else if (ts != null) {
77
- hashes.push(ts);
70
+ const condition = {
71
+ topics: [],
72
+ };
73
+ for (const ts of filter.topics) {
74
+ let hashes = [];
75
+ if (Array.isArray(ts)) {
76
+ hashes = hashes.concat(ts);
77
+ }
78
+ else if (ts) {
79
+ hashes.push(ts);
80
+ }
81
+ condition.topics.push({ hashes: hashes });
78
82
  }
79
- condition.topics.push({ hashes: hashes });
83
+ logConfig.conditions.push(condition);
80
84
  }
81
- logConfig.conditions.push(condition);
85
+ contractConfig.logConfigs.push(logConfig);
82
86
  }
83
- contractConfig.logConfigs.push(logConfig);
84
- }
85
- // Prepare all the block handlers
86
- let handlersForChain = this.blockHandlers.get(chainId);
87
- if (handlersForChain === undefined) {
88
- handlersForChain = [];
89
- this.blockHandlers.set(chainId, handlersForChain);
90
- }
91
- for (const blockHandler of processor.blockHandlers) {
92
- handlersForChain.push(blockHandler);
87
+ // Prepare all the block handlers
88
+ let handlersForChain = this.blockHandlers.get(chainId);
89
+ if (handlersForChain === undefined) {
90
+ handlersForChain = [];
91
+ this.blockHandlers.set(chainId, handlersForChain);
92
+ }
93
+ for (const blockHandler of processor.blockHandlers) {
94
+ handlersForChain.push(blockHandler);
95
+ }
96
+ // Finish up a contract
97
+ this.contractConfigs.push(contractConfig);
93
98
  }
94
- // Finish up a contract
95
- this.contractConfigs.push(contractConfig);
96
99
  }
97
- if (globalThis.SolanaProcessors != null) {
100
+ if (globalThis.SolanaProcessors) {
98
101
  for (const solanaProcessor of globalThis.SolanaProcessors) {
99
102
  const contractConfig = {
100
103
  contract: {
@@ -125,7 +128,7 @@ class ProcessorServiceImpl {
125
128
  }
126
129
  async processLog(request, context) {
127
130
  if (!this.started) {
128
- throw new Error('Service Not started.');
131
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.UNAVAILABLE, 'Service Not started.');
129
132
  }
130
133
  const resp = {
131
134
  histograms: [],
@@ -133,15 +136,20 @@ class ProcessorServiceImpl {
133
136
  };
134
137
  for (const l of request.logs) {
135
138
  if (!l.log) {
136
- throw new Error("Log can't be null");
139
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INVALID_ARGUMENT, "Log can't be null");
137
140
  }
138
141
  // const jsonString = Buffer.from(l.log.raw.buffer).toString("utf-8")
139
142
  // const jsonString = String.fromCharCode.apply(null, l.log.raw)
140
143
  const jsonString = Utf8ArrayToStr(l.log.raw);
141
144
  const log = JSON.parse(jsonString);
142
- const res = await this.eventHandlers[l.handlerId](log);
143
- resp.counters = resp.counters.concat(res.counters);
144
- resp.histograms = resp.histograms.concat(res.histograms);
145
+ try {
146
+ const res = await this.eventHandlers[l.handlerId](log);
147
+ resp.counters = resp.counters.concat(res.counters);
148
+ resp.histograms = resp.histograms.concat(res.histograms);
149
+ }
150
+ catch (e) {
151
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INTERNAL, e);
152
+ }
145
153
  }
146
154
  return {
147
155
  result: resp,
@@ -149,10 +157,10 @@ class ProcessorServiceImpl {
149
157
  }
150
158
  async processTransaction(request, context) {
151
159
  if (!this.started) {
152
- throw new Error('Service not started.');
160
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.UNAVAILABLE, 'Service not started.');
153
161
  }
154
162
  if (!request.transaction) {
155
- throw new Error('Transaction cannot be empty');
163
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INVALID_ARGUMENT, 'Transaction cannot be empty');
156
164
  }
157
165
  // const txn = request.transaction.txHash
158
166
  const result = {
@@ -160,7 +168,7 @@ class ProcessorServiceImpl {
160
168
  counters: [],
161
169
  };
162
170
  // Only have transaction handlers for solana processors
163
- if (globalThis.SolanaProcessors != null) {
171
+ if (globalThis.SolanaProcessors) {
164
172
  for (const processor of globalThis.SolanaProcessors) {
165
173
  if (processor.address === request.transaction.programAccountId) {
166
174
  for (const transactionHandler of processor.transactionHandlers) {
@@ -177,23 +185,28 @@ class ProcessorServiceImpl {
177
185
  }
178
186
  async processInstruction(request, context) {
179
187
  if (!this.started) {
180
- throw new Error('Service not started.');
188
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.UNAVAILABLE, 'Service not started.');
181
189
  }
182
190
  if (!request.instruction) {
183
- throw new Error('instruction cannot be empty');
191
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INVALID_ARGUMENT, 'instruction cannot be empty');
184
192
  }
185
193
  const result = {
186
194
  histograms: [],
187
195
  counters: [],
188
196
  };
189
197
  // Only have instruction handlers for solana processors
190
- if (globalThis.SolanaProcessors != null) {
198
+ if (globalThis.SolanaProcessors) {
191
199
  for (const processor of globalThis.SolanaProcessors) {
192
200
  if (processor.address === request.instruction.programAccountId) {
193
201
  for (const instructionHandler of processor.instructionHandlers) {
194
- const res = await instructionHandler(request.instruction.instructionData);
195
- result.histograms = res.histograms;
196
- result.counters = res.counters;
202
+ try {
203
+ const res = await instructionHandler(request.instruction.instructionData);
204
+ result.histograms = res.histograms;
205
+ result.counters = res.counters;
206
+ }
207
+ catch (e) {
208
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INTERNAL, e);
209
+ }
197
210
  }
198
211
  }
199
212
  }
@@ -204,10 +217,10 @@ class ProcessorServiceImpl {
204
217
  }
205
218
  async processBlock(request, context) {
206
219
  if (!this.started) {
207
- throw new Error('Service Not started.');
220
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.UNAVAILABLE, 'Service Not started.');
208
221
  }
209
222
  if (!request.block) {
210
- throw new Error("Block can't be empty");
223
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INVALID_ARGUMENT, "Block can't be empty");
211
224
  }
212
225
  const jsonString = Utf8ArrayToStr(request.block.raw);
213
226
  const block = JSON.parse(jsonString);
@@ -224,9 +237,14 @@ class ProcessorServiceImpl {
224
237
  continue;
225
238
  }
226
239
  for (const handler of processor.blockHandlers) {
227
- const res = await handler(block);
228
- resp.counters = resp.counters.concat(res.counters);
229
- resp.histograms = resp.histograms.concat(res.histograms);
240
+ try {
241
+ const res = await handler(block);
242
+ resp.counters = resp.counters.concat(res.counters);
243
+ resp.histograms = resp.histograms.concat(res.histograms);
244
+ }
245
+ catch (e) {
246
+ throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INTERNAL, e.stack.toString());
247
+ }
230
248
  }
231
249
  }
232
250
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { O11yResult, Transaction } from './gen/processor/protos/processor';
2
+ import { SolanaContext } from './context';
3
+ import { ParsedTransactionWithMeta, Connection } from '@solana/web3.js';
4
+ import Long from 'long';
5
+ declare type IndexConfigure = {
6
+ startSlot: Long;
7
+ endSlot?: Long;
8
+ };
9
+ export declare class SolanaBaseProcessor {
10
+ transactionHandlers: ((txn: Transaction) => Promise<O11yResult>)[];
11
+ instructionHandlers: ((instruction: string) => Promise<O11yResult>)[];
12
+ address: string;
13
+ endpoint: string;
14
+ connection: Connection;
15
+ contractName: string;
16
+ config: IndexConfigure;
17
+ constructor(contractName: string, address: string, endpoint: string);
18
+ bind(address: string): void;
19
+ onTransaction(handler: (txn: ParsedTransactionWithMeta, ctx: SolanaContext) => void): this;
20
+ onInstruction(handler: (instruction: string, ctx: SolanaContext) => void): this;
21
+ isBind(): boolean;
22
+ startSlot(startSlot: Long | number): this;
23
+ endBlock(endBlock: Long | number): this;
24
+ }
25
+ export {};