@sentio/sdk 0.6.2 → 0.6.3

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 (143) hide show
  1. package/package.json +8 -8
  2. package/dist/base-processor-template.d.ts +0 -20
  3. package/dist/base-processor-template.js +0 -75
  4. package/dist/base-processor-template.js.map +0 -1
  5. package/dist/base-processor.d.ts +0 -22
  6. package/dist/base-processor.js +0 -103
  7. package/dist/base-processor.js.map +0 -1
  8. package/dist/bind-options.d.ts +0 -17
  9. package/dist/bind-options.js +0 -38
  10. package/dist/bind-options.js.map +0 -1
  11. package/dist/binds.d.ts +0 -10
  12. package/dist/binds.js +0 -58
  13. package/dist/binds.js.map +0 -1
  14. package/dist/cli/build.d.ts +0 -3
  15. package/dist/cli/build.js +0 -158
  16. package/dist/cli/build.js.map +0 -1
  17. package/dist/cli/cli.d.ts +0 -2
  18. package/dist/cli/cli.js +0 -212
  19. package/dist/cli/cli.js.map +0 -1
  20. package/dist/cli/config.d.ts +0 -14
  21. package/dist/cli/config.js +0 -24
  22. package/dist/cli/config.js.map +0 -1
  23. package/dist/cli/key.d.ts +0 -2
  24. package/dist/cli/key.js +0 -44
  25. package/dist/cli/key.js.map +0 -1
  26. package/dist/cli/solana-code-gen.d.ts +0 -2
  27. package/dist/cli/solana-code-gen.js +0 -19
  28. package/dist/cli/solana-code-gen.js.map +0 -1
  29. package/dist/cli/upload.d.ts +0 -2
  30. package/dist/cli/upload.js +0 -59
  31. package/dist/cli/upload.js.map +0 -1
  32. package/dist/cli/webpack.config.js +0 -41
  33. package/dist/context.d.ts +0 -39
  34. package/dist/context.js +0 -75
  35. package/dist/context.js.map +0 -1
  36. package/dist/contract-namer.d.ts +0 -6
  37. package/dist/contract-namer.js +0 -20
  38. package/dist/contract-namer.js.map +0 -1
  39. package/dist/error.d.ts +0 -2
  40. package/dist/error.js +0 -39
  41. package/dist/error.js.map +0 -1
  42. package/dist/gen/builtin.d.ts +0 -6
  43. package/dist/gen/builtin.js +0 -3
  44. package/dist/gen/builtin.js.map +0 -1
  45. package/dist/gen/google/protobuf/empty.d.ts +0 -16
  46. package/dist/gen/google/protobuf/empty.js +0 -47
  47. package/dist/gen/google/protobuf/empty.js.map +0 -1
  48. package/dist/gen/processor/protos/processor.d.ts +0 -598
  49. package/dist/gen/processor/protos/processor.js +0 -2424
  50. package/dist/gen/processor/protos/processor.js.map +0 -1
  51. package/dist/index.d.ts +0 -13
  52. package/dist/index.js +0 -54
  53. package/dist/index.js.map +0 -1
  54. package/dist/meter.d.ts +0 -25
  55. package/dist/meter.js +0 -114
  56. package/dist/meter.js.map +0 -1
  57. package/dist/numberish.d.ts +0 -7
  58. package/dist/numberish.js +0 -74
  59. package/dist/numberish.js.map +0 -1
  60. package/dist/numberish.test.d.ts +0 -1
  61. package/dist/numberish.test.js +0 -54
  62. package/dist/numberish.test.js.map +0 -1
  63. package/dist/processor-runner.d.ts +0 -2
  64. package/dist/processor-runner.js +0 -67
  65. package/dist/processor-runner.js.map +0 -1
  66. package/dist/processor-state.d.ts +0 -16
  67. package/dist/processor-state.js +0 -20
  68. package/dist/processor-state.js.map +0 -1
  69. package/dist/provider.d.ts +0 -5
  70. package/dist/provider.js +0 -56
  71. package/dist/provider.js.map +0 -1
  72. package/dist/service.d.ts +0 -22
  73. package/dist/service.js +0 -361
  74. package/dist/service.js.map +0 -1
  75. package/dist/solana/builtin/spl-token-processor.d.ts +0 -25
  76. package/dist/solana/builtin/spl-token-processor.js +0 -152
  77. package/dist/solana/builtin/spl-token-processor.js.map +0 -1
  78. package/dist/solana-processor.d.ts +0 -28
  79. package/dist/solana-processor.js +0 -79
  80. package/dist/solana-processor.js.map +0 -1
  81. package/dist/target-ethers-sentio/codegen.d.ts +0 -2
  82. package/dist/target-ethers-sentio/codegen.js +0 -196
  83. package/dist/target-ethers-sentio/codegen.js.map +0 -1
  84. package/dist/target-ethers-sentio/index.d.ts +0 -5
  85. package/dist/target-ethers-sentio/index.js +0 -33
  86. package/dist/target-ethers-sentio/index.js.map +0 -1
  87. package/dist/test-case/clean-test.d.ts +0 -1
  88. package/dist/test-case/clean-test.js +0 -9
  89. package/dist/test-case/clean-test.js.map +0 -1
  90. package/dist/test-case/erc20-template.d.ts +0 -1
  91. package/dist/test-case/erc20-template.js +0 -23
  92. package/dist/test-case/erc20-template.js.map +0 -1
  93. package/dist/test-case/erc20-template.test.d.ts +0 -1
  94. package/dist/test-case/erc20-template.test.js +0 -69
  95. package/dist/test-case/erc20-template.test.js.map +0 -1
  96. package/dist/test-case/erc20.d.ts +0 -1
  97. package/dist/test-case/erc20.js +0 -42
  98. package/dist/test-case/erc20.js.map +0 -1
  99. package/dist/test-case/erc20.test.d.ts +0 -1
  100. package/dist/test-case/erc20.test.js +0 -154
  101. package/dist/test-case/erc20.test.js.map +0 -1
  102. package/dist/test-case/mirrorworld.d.ts +0 -1
  103. package/dist/test-case/mirrorworld.js +0 -42
  104. package/dist/test-case/mirrorworld.js.map +0 -1
  105. package/dist/test-case/solana.test.d.ts +0 -1
  106. package/dist/test-case/solana.test.js +0 -58
  107. package/dist/test-case/solana.test.js.map +0 -1
  108. package/dist/test-case/types/Erc20.d.ts +0 -150
  109. package/dist/test-case/types/Erc20.js +0 -3
  110. package/dist/test-case/types/Erc20.js.map +0 -1
  111. package/dist/test-case/types/common.d.ts +0 -22
  112. package/dist/test-case/types/common.js +0 -3
  113. package/dist/test-case/types/common.js.map +0 -1
  114. package/dist/test-case/types/erc20_processor.d.ts +0 -39
  115. package/dist/test-case/types/erc20_processor.js +0 -208
  116. package/dist/test-case/types/erc20_processor.js.map +0 -1
  117. package/dist/test-case/types/factories/Erc20__factory.d.ts +0 -35
  118. package/dist/test-case/types/factories/Erc20__factory.js +0 -216
  119. package/dist/test-case/types/factories/Erc20__factory.js.map +0 -1
  120. package/dist/test-case/types/factories/index.d.ts +0 -1
  121. package/dist/test-case/types/factories/index.js +0 -9
  122. package/dist/test-case/types/factories/index.js.map +0 -1
  123. package/dist/test-case/types/game_wallet.d.ts +0 -45
  124. package/dist/test-case/types/game_wallet.js +0 -1396
  125. package/dist/test-case/types/game_wallet.js.map +0 -1
  126. package/dist/test-case/types/game_wallet_processor.d.ts +0 -107
  127. package/dist/test-case/types/game_wallet_processor.js +0 -102
  128. package/dist/test-case/types/game_wallet_processor.js.map +0 -1
  129. package/dist/test-case/types/index.d.ts +0 -3
  130. package/dist/test-case/types/index.js +0 -30
  131. package/dist/test-case/types/index.js.map +0 -1
  132. package/dist/test-case/types/wormhole_processor.d.ts +0 -16
  133. package/dist/test-case/types/wormhole_processor.js +0 -192
  134. package/dist/test-case/types/wormhole_processor.js.map +0 -1
  135. package/dist/test-case/wormhole-token-bridge.d.ts +0 -1
  136. package/dist/test-case/wormhole-token-bridge.js +0 -7
  137. package/dist/test-case/wormhole-token-bridge.js.map +0 -1
  138. package/dist/utils/chainmap.d.ts +0 -4
  139. package/dist/utils/chainmap.js +0 -95
  140. package/dist/utils/chainmap.js.map +0 -1
  141. package/dist/utils/index.d.ts +0 -1
  142. package/dist/utils/index.js +0 -6
  143. package/dist/utils/index.js.map +0 -1
@@ -1,67 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
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
- const processor_state_1 = require("./processor-state");
15
- // import 'log-timestamp'
16
- global.sentio_sdk = require('.');
17
- global.PROCESSOR_STATE = new processor_state_1.ProcessorState();
18
- function tryRequire(name) {
19
- const req = eval('require');
20
- try {
21
- let path;
22
- try {
23
- path = req.resolve(name, { paths: [process.cwd()] });
24
- }
25
- catch {
26
- path = req.resolve(name);
27
- }
28
- const module = { module: req(path), name, path };
29
- console.log('Load successfully: ', name);
30
- return module;
31
- }
32
- catch (err) {
33
- if (err instanceof Error && err.message.startsWith(`Cannot find module '${name}'`)) {
34
- // this error is expected
35
- console.log("Couldn't load (expected): ", name);
36
- return undefined;
37
- }
38
- else {
39
- throw err;
40
- }
41
- }
42
- }
43
- const optionDefinitions = [
44
- { name: 'target', type: String, defaultOption: true },
45
- { name: 'port', alias: 'p', type: String, defaultValue: '4000' },
46
- { name: 'concurrency', type: Number, defaultValue: 4 },
47
- {
48
- name: 'chains-config',
49
- alias: 'c',
50
- type: String,
51
- defaultValue: 'chains-config.json',
52
- },
53
- ];
54
- const options = (0, command_line_args_1.default)(optionDefinitions);
55
- console.log('loading', options.target);
56
- const fullPath = path_1.default.resolve(options['chains-config']);
57
- const chainsConfig = fs_extra_1.default.readJsonSync(fullPath);
58
- (0, provider_1.setProvider)(chainsConfig, options.concurrency);
59
- tryRequire(options.target);
60
- console.log('Start Server', options);
61
- console.log(global.PROCESSOR_STATE.processors.length, ' processors loaded');
62
- console.log(global.PROCESSOR_STATE.solanaProcessors.length, ' solana processors loaded');
63
- const server = (0, nice_grpc_1.createServer)();
64
- const service = new service_1.ProcessorServiceImpl(server.shutdown);
65
- server.add(processor_1.ProcessorDefinition, service);
66
- server.listen('0.0.0.0:' + options.port);
67
- //# sourceMappingURL=processor-runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor-runner.js","sourceRoot":"","sources":["../src/processor-runner.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { BaseProcessor } from './base-processor';
2
- import { BaseContract } from 'ethers';
3
- import { BoundContractView, ContractView } from './context';
4
- import { BaseProcessorTemplate } from './base-processor-template';
5
- import { TemplateInstance } from './gen/processor/protos/processor';
6
- import { Provider } from '@ethersproject/providers';
7
- import { SolanaBaseProcessor } from './solana-processor';
8
- export declare class ProcessorState {
9
- contracts: Map<string, ContractView<BaseContract>>;
10
- processors: BaseProcessor<BaseContract, BoundContractView<BaseContract, any>>[];
11
- processorMap: Map<string, BaseProcessor<any, any>>;
12
- providers: Map<number, Provider>;
13
- templates: BaseProcessorTemplate<BaseContract, BoundContractView<BaseContract, any>>[];
14
- templatesInstances: TemplateInstance[];
15
- solanaProcessors: SolanaBaseProcessor[];
16
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProcessorState = void 0;
4
- class ProcessorState {
5
- // from abiName_address_chainId => contract wrapper
6
- contracts = new Map();
7
- // all evm processors
8
- processors = [];
9
- // from abiName_options to contracts
10
- processorMap = new Map();
11
- // evm providers
12
- providers = new Map();
13
- // evm processor templates
14
- templates = [];
15
- // evm processor template instances spec
16
- templatesInstances = [];
17
- solanaProcessors = [];
18
- }
19
- exports.ProcessorState = ProcessorState;
20
- //# sourceMappingURL=processor-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor-state.js","sourceRoot":"","sources":["../src/processor-state.ts"],"names":[],"mappings":";;;AAQA,MAAa,cAAc;IACzB,mDAAmD;IACnD,SAAS,GAAG,IAAI,GAAG,EAAsC,CAAA;IACzD,qBAAqB;IACrB,UAAU,GAAwE,EAAE,CAAA;IACpF,oCAAoC;IACpC,YAAY,GAAG,IAAI,GAAG,EAAmC,CAAA;IACzD,gBAAgB;IAChB,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAA;IACvC,0BAA0B;IAC1B,SAAS,GAAgF,EAAE,CAAA;IAC3F,wCAAwC;IACxC,kBAAkB,GAAuB,EAAE,CAAA;IAE3C,gBAAgB,GAA0B,EAAE,CAAA;CAC7C;AAfD,wCAeC"}
@@ -1,5 +0,0 @@
1
- import { Provider, StaticJsonRpcProvider } from '@ethersproject/providers';
2
- import { Networkish } from '@ethersproject/networks';
3
- export declare const DummyProvider: StaticJsonRpcProvider;
4
- export declare function getProvider(networkish?: Networkish): Provider;
5
- export declare function setProvider(config: any, concurrency?: number): void;
package/dist/provider.js DELETED
@@ -1,56 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.setProvider = exports.getProvider = exports.DummyProvider = void 0;
7
- const providers_1 = require("@ethersproject/providers");
8
- const p_queue_1 = __importDefault(require("p-queue"));
9
- exports.DummyProvider = new providers_1.StaticJsonRpcProvider(undefined, 1);
10
- function getProvider(networkish) {
11
- if (!networkish) {
12
- networkish = 1;
13
- }
14
- const network = (0, providers_1.getNetwork)(networkish);
15
- if (!global.PROCESSOR_STATE.providers) {
16
- throw Error('Provider not found');
17
- }
18
- const value = global.PROCESSOR_STATE.providers.get(network.chainId);
19
- if (value === undefined) {
20
- throw Error('Provider not found');
21
- }
22
- return value;
23
- }
24
- exports.getProvider = getProvider;
25
- function setProvider(config, concurrency = 4) {
26
- global.PROCESSOR_STATE.providers = new Map();
27
- for (const chainIdStr in config) {
28
- if (isNaN(Number.parseInt(chainIdStr))) {
29
- continue;
30
- }
31
- const chainConfig = config[chainIdStr];
32
- const chainId = Number(chainIdStr);
33
- // let providers: StaticJsonRpcProvider[] = []
34
- // for (const http of chainConfig.Https) {
35
- // providers.push(new StaticJsonRpcProvider(http, chainId))
36
- // }
37
- // random shuffle
38
- // providers = providers.sort(() => Math.random() - 0.5)
39
- // const provider = new FallbackProvider(providers)
40
- const idx = Math.floor(Math.random() * chainConfig.Https.length);
41
- const provider = new QueuedStaticJsonRpcProvider(chainConfig.Https[idx], chainId, concurrency);
42
- global.PROCESSOR_STATE.providers.set(chainId, provider);
43
- }
44
- }
45
- exports.setProvider = setProvider;
46
- class QueuedStaticJsonRpcProvider extends providers_1.StaticJsonRpcProvider {
47
- executor;
48
- constructor(url, network, concurrency) {
49
- super(url, network);
50
- this.executor = new p_queue_1.default({ concurrency: concurrency });
51
- }
52
- send(method, params) {
53
- return this.executor.add(() => super.send(method, params));
54
- }
55
- }
56
- //# sourceMappingURL=provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAsF;AAEtF,sDAA4B;AAGf,QAAA,aAAa,GAAG,IAAI,iCAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;AAEpE,SAAgB,WAAW,CAAC,UAAuB;IACjD,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,CAAC,CAAA;KACf;IACD,MAAM,OAAO,GAAG,IAAA,sBAAU,EAAC,UAAU,CAAC,CAAA;IAEtC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE;QACrC,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAA;KAClC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACnE,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAA;KAClC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAdD,kCAcC;AAED,SAAgB,WAAW,CAAC,MAAW,EAAE,WAAW,GAAG,CAAC;IACtD,MAAM,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAA;IAE9D,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE;QAC/B,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;YACtC,SAAQ;SACT;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;QAElC,8CAA8C;QAC9C,0CAA0C;QAC1C,6DAA6D;QAC7D,IAAI;QACJ,iBAAiB;QACjB,wDAAwD;QAExD,mDAAmD;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChE,MAAM,QAAQ,GAAG,IAAI,2BAA2B,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAE9F,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;KACxD;AACH,CAAC;AAxBD,kCAwBC;AAED,MAAM,2BAA4B,SAAQ,iCAAqB;IAC7D,QAAQ,CAAQ;IAEhB,YAAY,GAA4B,EAAE,OAAmB,EAAE,WAAmB;QAChF,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAM,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,MAAkB;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5D,CAAC;CACF"}
package/dist/service.d.ts DELETED
@@ -1,22 +0,0 @@
1
- import { CallContext } from 'nice-grpc';
2
- import { ProcessBlockRequest, ProcessBlockResponse, ProcessBlocksRequest, ProcessBlocksResponse, ProcessConfigRequest, ProcessConfigResponse, ProcessInstructionRequest, ProcessInstructionResponse, ProcessLogRequest, ProcessLogResponse, ProcessorServiceImplementation, ProcessTransactionRequest, ProcessTransactionResponse, StartRequest } from './gen/processor/protos/processor';
3
- import { DeepPartial } from './gen/builtin';
4
- import { Empty } from './gen/google/protobuf/empty';
5
- export declare class ProcessorServiceImpl implements ProcessorServiceImplementation {
6
- private eventHandlers;
7
- private processorsByChainId;
8
- private started;
9
- private contractConfigs;
10
- private templateInstances;
11
- private readonly shutdownHandler?;
12
- constructor(shutdownHandler?: () => void);
13
- getConfig(request: ProcessConfigRequest, context: CallContext): Promise<DeepPartial<ProcessConfigResponse>>;
14
- configure(): Promise<void>;
15
- start(request: StartRequest, context: CallContext): Promise<DeepPartial<Empty>>;
16
- stop(request: Empty, context: CallContext): Promise<DeepPartial<Empty>>;
17
- processLog(request: ProcessLogRequest, context: CallContext): Promise<DeepPartial<ProcessLogResponse>>;
18
- processTransaction(request: ProcessTransactionRequest, context: CallContext): Promise<DeepPartial<ProcessTransactionResponse>>;
19
- processInstruction(request: ProcessInstructionRequest, context: CallContext): Promise<ProcessInstructionResponse>;
20
- processBlocks(request: ProcessBlocksRequest, context: CallContext): Promise<DeepPartial<ProcessBlocksResponse>>;
21
- processBlock(request: ProcessBlockRequest, context: CallContext): Promise<DeepPartial<ProcessBlockResponse>>;
22
- }
package/dist/service.js DELETED
@@ -1,361 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ProcessorServiceImpl = void 0;
7
- const nice_grpc_1 = require("nice-grpc");
8
- const processor_1 = require("./gen/processor/protos/processor");
9
- const long_1 = __importDefault(require("long"));
10
- const DEFAULT_MAX_BLOCK = long_1.default.ZERO;
11
- class ProcessorServiceImpl {
12
- eventHandlers = [];
13
- // map from chain id to list of processors
14
- // private blockHandlers = new Map<string, ((block: Block) => Promise<O11yResult>)[]>()
15
- processorsByChainId = new Map();
16
- started = false;
17
- contractConfigs;
18
- templateInstances;
19
- shutdownHandler;
20
- constructor(shutdownHandler) {
21
- this.shutdownHandler = shutdownHandler;
22
- }
23
- async getConfig(request, context) {
24
- if (!this.started) {
25
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.UNAVAILABLE, 'Service Not started.');
26
- }
27
- return {
28
- // TODO project setting
29
- contractConfigs: this.contractConfigs,
30
- templateInstances: this.templateInstances,
31
- };
32
- }
33
- async configure() {
34
- this.eventHandlers = [];
35
- this.templateInstances = [];
36
- this.processorsByChainId.clear();
37
- this.contractConfigs = [];
38
- if (global.PROCESSOR_STATE.templatesInstances) {
39
- this.templateInstances = [...global.PROCESSOR_STATE.templatesInstances];
40
- }
41
- if (global.PROCESSOR_STATE.processors) {
42
- for (const processor of global.PROCESSOR_STATE.processors) {
43
- // If server favor incremental update this need to change
44
- // Start basic config for contract
45
- const chainId = processor.getChainId();
46
- this.processorsByChainId.set(chainId, processor);
47
- const contractConfig = {
48
- contract: {
49
- name: processor.config.name,
50
- chainId: chainId,
51
- address: processor.config.address,
52
- abi: '',
53
- },
54
- blockConfig: {
55
- numHandlers: processor.blockHandlers.length,
56
- },
57
- logConfigs: [],
58
- startBlock: processor.config.startBlock,
59
- endBlock: DEFAULT_MAX_BLOCK,
60
- instructionConfig: undefined,
61
- };
62
- if (processor.config.endBlock) {
63
- contractConfig.endBlock = processor.config.endBlock;
64
- }
65
- // Prepare all the event handlers
66
- for (const eventsHandler of processor.eventHandlers) {
67
- // associate id with filter
68
- const handlerId = this.eventHandlers.push(eventsHandler.handler) - 1;
69
- const logConfig = {
70
- handlerId: handlerId,
71
- conditions: [],
72
- };
73
- for (const filter of eventsHandler.filters) {
74
- if (!filter.topics) {
75
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INVALID_ARGUMENT, 'Topic should not be null');
76
- }
77
- const condition = {
78
- topics: [],
79
- };
80
- for (const ts of filter.topics) {
81
- let hashes = [];
82
- if (Array.isArray(ts)) {
83
- hashes = hashes.concat(ts);
84
- }
85
- else if (ts) {
86
- hashes.push(ts);
87
- }
88
- condition.topics.push({ hashes: hashes });
89
- }
90
- logConfig.conditions.push(condition);
91
- }
92
- contractConfig.logConfigs.push(logConfig);
93
- }
94
- // Finish up a contract
95
- this.contractConfigs.push(contractConfig);
96
- }
97
- }
98
- if (global.PROCESSOR_STATE.solanaProcessors) {
99
- for (const solanaProcessor of global.PROCESSOR_STATE.solanaProcessors) {
100
- const contractConfig = {
101
- contract: {
102
- name: solanaProcessor.contractName,
103
- chainId: 'SOL:mainnet',
104
- address: solanaProcessor.address,
105
- abi: '',
106
- },
107
- blockConfig: undefined,
108
- logConfigs: [],
109
- startBlock: solanaProcessor.config.startSlot,
110
- endBlock: DEFAULT_MAX_BLOCK,
111
- instructionConfig: {
112
- innerInstruction: solanaProcessor.processInnerInstruction,
113
- parsedInstruction: solanaProcessor.fromParsedInstruction != null ? true : false,
114
- rawDataInstruction: solanaProcessor.decodeInstruction != null ? true : false,
115
- },
116
- };
117
- this.contractConfigs.push(contractConfig);
118
- }
119
- }
120
- }
121
- async start(request, context) {
122
- if (this.started) {
123
- return {};
124
- }
125
- for (const instance of request.templateInstances) {
126
- const template = global.PROCESSOR_STATE.templates[instance.templateId];
127
- if (!template) {
128
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INVALID_ARGUMENT, 'Invalid template contract:' + instance);
129
- }
130
- if (!instance.contract) {
131
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INVALID_ARGUMENT, 'Contract Empty from:' + instance);
132
- }
133
- template.bind({
134
- name: instance.contract.name,
135
- address: instance.contract.address,
136
- network: Number(instance.contract.chainId),
137
- startBlock: instance.startBlock,
138
- endBlock: instance.endBlock,
139
- });
140
- }
141
- await this.configure();
142
- this.started = true;
143
- return {};
144
- }
145
- async stop(request, context) {
146
- console.log('Server Shutting down in 5 seconds');
147
- if (this.shutdownHandler) {
148
- setTimeout(this.shutdownHandler, 5000);
149
- }
150
- return {};
151
- }
152
- async processLog(request, context) {
153
- if (!this.started) {
154
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.UNAVAILABLE, 'Service Not started.');
155
- }
156
- const resp = {
157
- gauges: [],
158
- counters: [],
159
- };
160
- const promises = [];
161
- for (const l of request.logs) {
162
- if (!l.log) {
163
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INVALID_ARGUMENT, "Log can't be null");
164
- }
165
- // const jsonString = Buffer.from(l.log.raw.buffer).toString("utf-8")
166
- // const jsonString = String.fromCharCode.apply(null, l.log.raw)
167
- try {
168
- const jsonString = Utf8ArrayToStr(l.log.raw);
169
- const log = JSON.parse(jsonString);
170
- const handler = this.eventHandlers[l.handlerId];
171
- const promise = handler(log).catch((e) => {
172
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INTERNAL, 'error processing log: ' + jsonString + '\n' + e.toString());
173
- });
174
- promises.push(promise);
175
- }
176
- catch (e) {
177
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INTERNAL, 'error parse log: ' + l);
178
- }
179
- }
180
- const results = await Promise.all(promises);
181
- for (const res of results) {
182
- resp.counters = resp.counters.concat(res.counters);
183
- resp.gauges = resp.gauges.concat(res.gauges);
184
- }
185
- let updated = false;
186
- if (global.PROCESSOR_STATE.templatesInstances &&
187
- this.templateInstances.length != global.PROCESSOR_STATE.templatesInstances.length) {
188
- await this.configure();
189
- updated = true;
190
- }
191
- recordRuntimeInfo(resp, processor_1.HandlerType.LOG);
192
- return {
193
- result: resp,
194
- configUpdated: updated,
195
- };
196
- }
197
- async processTransaction(request, context) {
198
- if (!this.started) {
199
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.UNAVAILABLE, 'Service not started.');
200
- }
201
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.UNIMPLEMENTED, 'Processing transaction is not suppored.');
202
- }
203
- async processInstruction(request, context) {
204
- if (!this.started) {
205
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.UNAVAILABLE, 'Service not started.');
206
- }
207
- const result = {
208
- gauges: [],
209
- counters: [],
210
- };
211
- // Only have instruction handlers for solana processors
212
- if (global.PROCESSOR_STATE.solanaProcessors) {
213
- for (const instruction of request.instructions) {
214
- if (!instruction) {
215
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INVALID_ARGUMENT, 'instruction cannot be null');
216
- }
217
- for (const processor of global.PROCESSOR_STATE.solanaProcessors) {
218
- if (processor.address === instruction.programAccountId) {
219
- let res;
220
- if (instruction.parsed) {
221
- res = processor.handleInstruction(JSON.parse(instruction.parsed.toString()));
222
- }
223
- else {
224
- res = processor.handleInstruction(instruction.instructionData);
225
- }
226
- if (res) {
227
- try {
228
- res.gauges.forEach((g) => {
229
- if (g.metadata) {
230
- g.metadata.blockNumber = instruction.slot;
231
- }
232
- result.gauges.push(g);
233
- });
234
- res.counters.forEach((c) => {
235
- if (c.metadata) {
236
- c.metadata.blockNumber = instruction.slot;
237
- }
238
- result.counters.push(c);
239
- });
240
- }
241
- catch (e) {
242
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INTERNAL, 'error processing instruction ' + e.toString());
243
- }
244
- }
245
- else {
246
- console.error(`Failed to decode the instruction: ${instruction.instructionData} with slot: ${instruction.slot}`);
247
- }
248
- }
249
- }
250
- }
251
- }
252
- recordRuntimeInfo(result, processor_1.HandlerType.INSTRUCTION);
253
- return {
254
- result,
255
- };
256
- }
257
- async processBlocks(request, context) {
258
- const promises = request.requests.map((req) => this.processBlock(req, context));
259
- const resp = await Promise.all(promises);
260
- return {
261
- response: resp,
262
- };
263
- }
264
- async processBlock(request, context) {
265
- if (!this.started) {
266
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.UNAVAILABLE, 'Service Not started.');
267
- }
268
- if (!request.block) {
269
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INVALID_ARGUMENT, "Block can't be empty");
270
- }
271
- const jsonString = Utf8ArrayToStr(request.block.raw);
272
- const block = JSON.parse(jsonString);
273
- const resp = {
274
- gauges: [],
275
- counters: [],
276
- };
277
- const promises = [];
278
- for (const processor of global.PROCESSOR_STATE.processors) {
279
- if (long_1.default.fromNumber(block.number) < processor.config.startBlock) {
280
- continue;
281
- }
282
- if (processor.config.endBlock &&
283
- processor.config.endBlock > long_1.default.ZERO &&
284
- long_1.default.fromNumber(block.number) > processor.config.endBlock) {
285
- continue;
286
- }
287
- // TODO maybe do a map and construct in start
288
- const chainId = processor.getChainId();
289
- if (chainId !== request.chainId) {
290
- continue;
291
- }
292
- const blockPromises = Promise.all(processor.blockHandlers.map(function (handler) {
293
- return handler(block).catch((e) => {
294
- throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INTERNAL, 'error processing block: ' + jsonString + +'\n' + e.toString());
295
- });
296
- }));
297
- promises.push(blockPromises);
298
- }
299
- const allRes = (await Promise.all(promises)).flat();
300
- for (const res of allRes) {
301
- resp.counters = resp.counters.concat(res.counters);
302
- resp.gauges = resp.gauges.concat(res.gauges);
303
- }
304
- recordRuntimeInfo(resp, processor_1.HandlerType.BLOCK);
305
- return {
306
- result: resp,
307
- };
308
- }
309
- }
310
- exports.ProcessorServiceImpl = ProcessorServiceImpl;
311
- // https://ourcodeworld.com/articles/read/164/how-to-convert-an-uint8array-to-string-in-javascript
312
- /* eslint-disable */
313
- function Utf8ArrayToStr(array) {
314
- let out, i, len, c;
315
- let char2, char3;
316
- out = '';
317
- len = array.length;
318
- i = 0;
319
- while (i < len) {
320
- c = array[i++];
321
- switch (c >> 4) {
322
- case 0:
323
- case 1:
324
- case 2:
325
- case 3:
326
- case 4:
327
- case 5:
328
- case 6:
329
- case 7:
330
- // 0xxxxxxx
331
- out += String.fromCharCode(c);
332
- break;
333
- case 12:
334
- case 13:
335
- // 110x xxxx 10xx xxxx
336
- char2 = array[i++];
337
- out += String.fromCharCode(((c & 0x1f) << 6) | (char2 & 0x3f));
338
- break;
339
- case 14:
340
- // 1110 xxxx 10xx xxxx 10xx xxxx
341
- char2 = array[i++];
342
- char3 = array[i++];
343
- out += String.fromCharCode(((c & 0x0f) << 12) | ((char2 & 0x3f) << 6) | ((char3 & 0x3f) << 0));
344
- break;
345
- }
346
- }
347
- return out;
348
- }
349
- function recordRuntimeInfo(results, handlerType) {
350
- results.gauges.forEach((e) => {
351
- e.runtimeInfo = {
352
- from: handlerType,
353
- };
354
- });
355
- results.counters.forEach((e) => {
356
- e.runtimeInfo = {
357
- from: handlerType,
358
- };
359
- });
360
- }
361
- //# sourceMappingURL=service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { SolanaBaseProcessor } from 'solana-processor';
2
- import { ParsedInstruction } from '@solana/web3.js';
3
- import { ApproveInstructionData, BurnInstructionData, CloseAccountInstructionData, FreezeAccountInstructionData, InitializeAccount2InstructionData, InitializeAccount3InstructionData, InitializeAccountInstructionData, InitializeMintInstructionData, InitializeMultisigInstructionData, MintToInstructionData, RevokeInstructionData, ThawAccountInstructionData, TransferInstructionData } from '@solana/spl-token';
4
- import { SolanaContext } from 'context';
5
- import { Instruction } from '@project-serum/anchor';
6
- export declare class SPLTokenProcessor extends SolanaBaseProcessor {
7
- private TokenInstructionMapCache;
8
- static bind(address: string, endpoint: string, name?: string): SPLTokenProcessor;
9
- fromParsedInstruction: (instruction: ParsedInstruction) => Instruction | null;
10
- onInitializeMint(handler: (data: InitializeMintInstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
11
- onInitializeAccount(hanlder: (data: InitializeAccountInstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
12
- onInitializeAccount2(hanlder: (data: InitializeAccount2InstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
13
- onInitializeAccount3(hanlder: (data: InitializeAccount3InstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
14
- onInitializeMultisig(handler: (data: InitializeMultisigInstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
15
- onTransfer(handler: (data: TransferInstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
16
- onApprovend(handler: (data: ApproveInstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
17
- onRevoke(handler: (data: RevokeInstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
18
- onSetAuthority(handler: (data: any, ctx: SolanaContext) => void): SPLTokenProcessor;
19
- onMintTo(handler: (data: MintToInstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
20
- onBurn(handler: (data: BurnInstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
21
- onCloseAccount(handler: (data: CloseAccountInstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
22
- onFreezeAccount(handler: (data: FreezeAccountInstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
23
- onThawAccount(handler: (data: ThawAccountInstructionData, ctx: SolanaContext) => void): SPLTokenProcessor;
24
- private instructionTypeToTokenInstruction;
25
- }