@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
package/package.json CHANGED
@@ -2,9 +2,10 @@
2
2
  "name": "@sentio/sdk",
3
3
  "license": "Apache-2.0",
4
4
  "scripts": {
5
- "compile": "tsc --build tsconfig.json && cp src/cli/webpack.config.js dist/cli",
6
- "build": "yarn compile && yarn gen_test_abi",
7
- "pub": "yarn build && yarn publish --no-git-tag-version --access public",
5
+ "compile_target": "yarn tsc -b src/target-ethers-sentio/tsconfig.json",
6
+ "compile": "tsc -p . && cp src/cli/webpack.config.js dist/cli",
7
+ "build": "yarn compile_target && yarn gen_bultin_evm && yarn gen_test_abi && yarn compile",
8
+ "pub": "rm -rf dist && yarn build && yarn publish --no-git-tag-version --access public",
8
9
  "start_ts": "ts-node --files src/processor-runner.ts ../examples/x2y2/src/processor.ts",
9
10
  "start_ts_solana": "ts-node --files src/processor-runner.ts ../examples/mirrorworld/src/processor.ts",
10
11
  "start": "ts-node --files src/processor-runner.ts ../examples/x2y2/dist/lib.js",
@@ -12,15 +13,15 @@
12
13
  "ts-start": "ts-node --files src/processor-runner.ts ../examples/wormhole/src/processor.ts",
13
14
  "cli": "yarn build && node dist/cli/cli.js",
14
15
  "test": "ts-mocha --paths src/**/*.test.ts src/*.test.ts",
15
- "gen_test_abi": "yarn gen_evm_abi && yarn gen_solana_abi",
16
- "gen_evm_abi": "typechain --target dist/target-ethers-sentio --out-dir src/test-case/types 'src/test-case/abis/*.json'",
16
+ "gen_test_abi": "yarn gen_solana_abi",
17
+ "gen_bultin_evm": "typechain --target dist/target-ethers-sentio --out-dir src/builtin/internal 'src/abis/*.json'",
17
18
  "gen_solana_abi": "ts-node src/cli/solana-code-gen.ts src/test-case types"
18
19
  },
19
20
  "bin": {
20
21
  "processor-runner": "./dist/processor-runner.js",
21
22
  "sentio": "./dist/cli/cli.js"
22
23
  },
23
- "version": "0.6.2",
24
+ "version": "0.6.4",
24
25
  "dependencies": {
25
26
  "@ethersproject/providers": "~5.7.0",
26
27
  "@project-serum/anchor": "^0.25.0",
@@ -39,7 +40,6 @@
39
40
  "fs-extra": "^10.1.0",
40
41
  "google-protobuf": "^3.15.8",
41
42
  "js-yaml": "^4.1.0",
42
- "log-timestamp": "^0.3.0",
43
43
  "nice-grpc": "^2.0.0",
44
44
  "node-fetch": "2",
45
45
  "p-queue": "^6.6.2",
@@ -64,7 +64,7 @@
64
64
  "ts-mocha": "^10.0.0",
65
65
  "ts-node": "^10.8.0",
66
66
  "tsconfig-paths": "^4.0.0",
67
- "typescript": "~4.7.4"
67
+ "typescript": "^4.8.0"
68
68
  },
69
69
  "files": [
70
70
  "dist/**/*"
@@ -1,20 +0,0 @@
1
- import { BoundContractView, Context, ContractView } from './context';
2
- import { Block } from '@ethersproject/abstract-provider';
3
- import { BaseContract, EventFilter } from 'ethers';
4
- import { Event } from '@ethersproject/contracts';
5
- import { BaseProcessor } from './base-processor';
6
- import { BindOptions } from './bind-options';
7
- export declare abstract class BaseProcessorTemplate<TContract extends BaseContract, TBoundTContractView extends BoundContractView<TContract, ContractView<TContract>>> {
8
- id: number;
9
- binds: Set<string>;
10
- blockHandlers: ((block: Block, ctx: Context<TContract, TBoundTContractView>) => void)[];
11
- eventHandlers: {
12
- handler: (event: Event, ctx: Context<TContract, TBoundTContractView>) => void;
13
- filter: EventFilter | EventFilter[];
14
- }[];
15
- constructor();
16
- bind(options: BindOptions): BaseProcessor<TContract, TBoundTContractView> | undefined;
17
- onEvent(handler: (event: Event, ctx: Context<TContract, TBoundTContractView>) => void, filter: EventFilter | EventFilter[]): this;
18
- onBlock(handler: (block: Block, ctx: Context<TContract, TBoundTContractView>) => void): this;
19
- protected abstract bindInternal(options: BindOptions): BaseProcessor<TContract, TBoundTContractView>;
20
- }
@@ -1,75 +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.BaseProcessorTemplate = void 0;
7
- const bind_options_1 = require("./bind-options");
8
- const long_1 = __importDefault(require("long"));
9
- const providers_1 = require("@ethersproject/providers");
10
- class BaseProcessorTemplate {
11
- id;
12
- binds = new Set();
13
- blockHandlers = [];
14
- eventHandlers = [];
15
- constructor() {
16
- this.id = global.PROCESSOR_STATE.templates.length;
17
- global.PROCESSOR_STATE.templates.push(this);
18
- }
19
- bind(options) {
20
- const sig = (0, bind_options_1.getOptionsSignature)(options);
21
- if (this.binds.has(sig)) {
22
- return;
23
- }
24
- this.binds.add(sig);
25
- const processor = this.bindInternal(options);
26
- for (const eh of this.eventHandlers) {
27
- processor.onEvent(eh.handler, eh.filter);
28
- }
29
- for (const bh of this.blockHandlers) {
30
- processor.onBlock(bh);
31
- }
32
- const instance = {
33
- templateId: this.id,
34
- contract: {
35
- address: options.address,
36
- name: options.name || '',
37
- chainId: options.network ? (0, providers_1.getNetwork)(options.network).chainId.toString() : '1',
38
- abi: '',
39
- },
40
- startBlock: long_1.default.ZERO,
41
- endBlock: long_1.default.ZERO,
42
- };
43
- if (options.startBlock) {
44
- if (typeof options.startBlock === 'number') {
45
- instance.startBlock = long_1.default.fromNumber(options.startBlock);
46
- }
47
- else {
48
- instance.startBlock = options.startBlock;
49
- }
50
- }
51
- if (options.endBlock) {
52
- if (typeof options.endBlock === 'number') {
53
- instance.endBlock = long_1.default.fromNumber(options.endBlock);
54
- }
55
- else {
56
- instance.endBlock = options.endBlock;
57
- }
58
- }
59
- global.PROCESSOR_STATE.templatesInstances.push(instance);
60
- return processor;
61
- }
62
- onEvent(handler, filter) {
63
- this.eventHandlers.push({
64
- handler: handler,
65
- filter: filter,
66
- });
67
- return this;
68
- }
69
- onBlock(handler) {
70
- this.blockHandlers.push(handler);
71
- return this;
72
- }
73
- }
74
- exports.BaseProcessorTemplate = BaseProcessorTemplate;
75
- //# sourceMappingURL=base-processor-template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-processor-template.js","sourceRoot":"","sources":["../src/base-processor-template.ts"],"names":[],"mappings":";;;;;;AAKA,iDAAiE;AAEjE,gDAAuB;AACvB,wDAAqD;AAErD,MAAsB,qBAAqB;IAIzC,EAAE,CAAQ;IACV,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IACzB,aAAa,GAA6E,EAAE,CAAA;IAC5F,aAAa,GAGP,EAAE,CAAA;IAER;QACE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAA;QACjD,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC;IAEM,IAAI,CAAC,OAAoB;QAC9B,MAAM,GAAG,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAA;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACvB,OAAM;SACP;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAE5C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE;YACnC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;SACzC;QACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE;YACnC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;SACtB;QAED,MAAM,QAAQ,GAAqB;YACjC,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;gBACxB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,sBAAU,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG;gBAC/E,GAAG,EAAE,EAAE;aACR;YACD,UAAU,EAAE,cAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,cAAI,CAAC,IAAI;SACpB,CAAA;QACD,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE;gBAC1C,QAAQ,CAAC,UAAU,GAAG,cAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;aAC1D;iBAAM;gBACL,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;aACzC;SACF;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACxC,QAAQ,CAAC,QAAQ,GAAG,cAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;aACtD;iBAAM;gBACL,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;aACrC;SACF;QACD,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAExD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEM,OAAO,CACZ,OAA6E,EAC7E,MAAmC;QAEnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YACtB,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,MAAM;SACf,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,OAAO,CAAC,OAA6E;QAC1F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;CAGF;AAhFD,sDAgFC"}
@@ -1,22 +0,0 @@
1
- import { BoundContractView, Context, ContractView } from './context';
2
- import { Block, Log } from '@ethersproject/abstract-provider';
3
- import { BaseContract, EventFilter } from 'ethers';
4
- import { Event } from '@ethersproject/contracts';
5
- import { O11yResult } from './gen/processor/protos/processor';
6
- import { BindInternalOptions, BindOptions } from './bind-options';
7
- declare class EventsHandler {
8
- filters: EventFilter[];
9
- handler: (event: Log) => Promise<O11yResult>;
10
- }
11
- export declare abstract class BaseProcessor<TContract extends BaseContract, TBoundContractView extends BoundContractView<TContract, ContractView<TContract>>> {
12
- blockHandlers: ((block: Block) => Promise<O11yResult>)[];
13
- eventHandlers: EventsHandler[];
14
- name: string;
15
- config: BindInternalOptions;
16
- constructor(config: BindOptions);
17
- protected abstract CreateBoundContractView(): TBoundContractView;
18
- getChainId(): string;
19
- onEvent(handler: (event: Event, ctx: Context<TContract, TBoundContractView>) => void, filter: EventFilter | EventFilter[]): this;
20
- onBlock(handler: (block: Block, ctx: Context<TContract, TBoundContractView>) => void): this;
21
- }
22
- export {};
@@ -1,103 +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.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
- name;
18
- config;
19
- constructor(config) {
20
- this.config = {
21
- address: config.address,
22
- name: config.name || '',
23
- network: config.network ? config.network : 1,
24
- startBlock: new long_1.default(0),
25
- };
26
- if (config.startBlock) {
27
- if (typeof config.startBlock === 'number') {
28
- this.config.startBlock = long_1.default.fromNumber(config.startBlock);
29
- }
30
- else {
31
- this.config.startBlock = config.startBlock;
32
- }
33
- }
34
- if (config.endBlock) {
35
- if (typeof config.endBlock === 'number') {
36
- this.config.endBlock = long_1.default.fromNumber(config.endBlock);
37
- }
38
- else {
39
- this.config.endBlock = config.endBlock;
40
- }
41
- }
42
- }
43
- // public isBind() {
44
- // return this.contract.rawContract.address !== ''
45
- // }
46
- getChainId() {
47
- return (0, providers_1.getNetwork)(this.config.network).chainId.toString();
48
- }
49
- onEvent(handler, filter) {
50
- const chainId = this.getChainId();
51
- let _filters = [];
52
- if (Array.isArray(filter)) {
53
- _filters = filter;
54
- }
55
- else {
56
- _filters.push(filter);
57
- }
58
- const contractView = this.CreateBoundContractView();
59
- this.eventHandlers.push({
60
- filters: _filters,
61
- handler: async function (log) {
62
- const ctx = new context_1.Context(contractView, chainId, undefined, log);
63
- // let event: Event = <Event>deepCopy(log);
64
- const event = log;
65
- const parsed = contractView.rawContract.interface.parseLog(log);
66
- if (parsed) {
67
- event.args = parsed.args;
68
- event.decode = (data, topics) => {
69
- return contractView.rawContract.interface.decodeEventLog(parsed.eventFragment, data, topics);
70
- };
71
- event.event = parsed.name;
72
- event.eventSignature = parsed.signature;
73
- // TODO fix this bug
74
- await handler(event, ctx);
75
- return {
76
- gauges: ctx.gauges,
77
- counters: ctx.counters,
78
- };
79
- }
80
- return {
81
- gauges: [],
82
- counters: [],
83
- };
84
- },
85
- });
86
- return this;
87
- }
88
- onBlock(handler) {
89
- const chainId = this.getChainId();
90
- const contractView = this.CreateBoundContractView();
91
- this.blockHandlers.push(async function (block) {
92
- const ctx = new context_1.Context(contractView, chainId, block, undefined);
93
- await handler(block, ctx);
94
- return {
95
- gauges: ctx.gauges,
96
- counters: ctx.counters,
97
- };
98
- });
99
- return this;
100
- }
101
- }
102
- exports.BaseProcessor = BaseProcessor;
103
- //# sourceMappingURL=base-processor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-processor.js","sourceRoot":"","sources":["../src/base-processor.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAoE;AAMpE,gDAAuB;AAEvB,wDAAqD;AAErD,MAAM,aAAa;IACjB,OAAO,CAAe;IACtB,OAAO,CAAqC;CAC7C;AAED,MAAsB,aAAa;IAIjC,aAAa,GAA8C,EAAE,CAAA;IAC7D,aAAa,GAAoB,EAAE,CAAA;IAEnC,IAAI,CAAQ;IACZ,MAAM,CAAqB;IAE3B,YAAY,MAAmB;QAC7B,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5C,UAAU,EAAE,IAAI,cAAI,CAAC,CAAC,CAAC;SACxB,CAAA;QACD,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;gBACzC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;aAC5D;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;aAC3C;SACF;QACD,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,cAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;aACxD;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;aACvC;SACF;IACH,CAAC;IAID,oBAAoB;IACpB,oDAAoD;IACpD,IAAI;IAEG,UAAU;QACf,OAAO,IAAA,sBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;IAC3D,CAAC;IAEM,OAAO,CACZ,OAA4E,EAC5E,MAAmC;QAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAEjC,IAAI,QAAQ,GAAkB,EAAE,CAAA;QAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,QAAQ,GAAG,MAAM,CAAA;SAClB;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SACtB;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;QACnD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YACtB,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,KAAK,WAAW,GAAG;gBAC1B,MAAM,GAAG,GAAG,IAAI,iBAAO,CAAgC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;gBAC7F,2CAA2C;gBAC3C,MAAM,KAAK,GAAiB,GAAG,CAAA;gBAE/B,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAC/D,IAAI,MAAM,EAAE;oBACV,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;oBACxB,KAAK,CAAC,MAAM,GAAG,CAAC,IAAe,EAAE,MAAmB,EAAE,EAAE;wBACtD,OAAO,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;oBAC9F,CAAC,CAAA;oBACD,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAA;oBACzB,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,SAAS,CAAA;oBAEvC,oBAAoB;oBACpB,MAAM,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;oBACzB,OAAO;wBACL,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;qBACvB,CAAA;iBACF;gBACD,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,EAAE;iBACb,CAAA;YACH,CAAC;SACF,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,OAAO,CAAC,OAA4E;QACzF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAEnD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,WAAW,KAAY;YAClD,MAAM,GAAG,GAAG,IAAI,iBAAO,CAAgC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;YAC/F,MAAM,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YACzB,OAAO;gBACL,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAA;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAxGD,sCAwGC"}
@@ -1,17 +0,0 @@
1
- import { Networkish } from '@ethersproject/networks';
2
- import Long from 'long';
3
- export declare class BindOptions {
4
- address: string;
5
- network?: Networkish;
6
- name?: string;
7
- startBlock?: Long | number;
8
- endBlock?: Long | number;
9
- }
10
- export declare function getOptionsSignature(opts: BindOptions): string;
11
- export declare class BindInternalOptions {
12
- address: string;
13
- network: Networkish;
14
- name: string;
15
- startBlock: Long;
16
- endBlock?: Long;
17
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BindInternalOptions = exports.getOptionsSignature = exports.BindOptions = void 0;
4
- const providers_1 = require("@ethersproject/providers");
5
- class BindOptions {
6
- address;
7
- network = 1;
8
- name;
9
- startBlock;
10
- endBlock;
11
- }
12
- exports.BindOptions = BindOptions;
13
- function getOptionsSignature(opts) {
14
- const sig = [opts.address];
15
- if (opts.network) {
16
- sig.push((0, providers_1.getNetwork)(opts.network).chainId.toString());
17
- }
18
- if (opts.name) {
19
- sig.push(opts.name);
20
- }
21
- if (opts.startBlock) {
22
- sig.push(opts.startBlock.toString());
23
- }
24
- if (opts.endBlock) {
25
- sig.push(opts.endBlock.toString());
26
- }
27
- return sig.join('_');
28
- }
29
- exports.getOptionsSignature = getOptionsSignature;
30
- class BindInternalOptions {
31
- address;
32
- network;
33
- name;
34
- startBlock;
35
- endBlock;
36
- }
37
- exports.BindInternalOptions = BindInternalOptions;
38
- //# sourceMappingURL=bind-options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bind-options.js","sourceRoot":"","sources":["../src/bind-options.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AAErD,MAAa,WAAW;IACtB,OAAO,CAAQ;IACf,OAAO,GAAgB,CAAC,CAAA;IACxB,IAAI,CAAS;IACb,UAAU,CAAgB;IAC1B,QAAQ,CAAgB;CACzB;AAND,kCAMC;AAED,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,IAAI,CAAC,OAAO,EAAE;QAChB,GAAG,CAAC,IAAI,CAAC,IAAA,sBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;KACtD;IACD,IAAI,IAAI,CAAC,IAAI,EAAE;QACb,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACpB;IACD,IAAI,IAAI,CAAC,UAAU,EAAE;QACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;KACrC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;KACnC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAfD,kDAeC;AAED,MAAa,mBAAmB;IAC9B,OAAO,CAAQ;IACf,OAAO,CAAY;IACnB,IAAI,CAAQ;IACZ,UAAU,CAAM;IAChB,QAAQ,CAAO;CAChB;AAND,kDAMC"}
package/dist/binds.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { BindOptions } from './bind-options';
2
- import { BaseProcessor } from './base-processor';
3
- import { Networkish } from '@ethersproject/networks';
4
- import { ContractView } from './context';
5
- import { BaseContract } from 'ethers';
6
- export declare function getContractName(abiName: string, contractName: string | undefined, address: string, network?: Networkish): string;
7
- export declare function getProcessor(abiName: string, opts: BindOptions): BaseProcessor<any, any> | undefined;
8
- export declare function addProcessor(abiName: string, opts: BindOptions, processor: BaseProcessor<any, any>): void;
9
- export declare function getContractByABI(abiName: string, address: string, network: Networkish): ContractView<BaseContract> | undefined;
10
- export declare function addContractByABI(abiName: string, address: string, network: Networkish, contract: ContractView<BaseContract>): Map<string, ContractView<BaseContract>>;
package/dist/binds.js DELETED
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addContractByABI = exports.getContractByABI = exports.addProcessor = exports.getProcessor = exports.getContractName = void 0;
4
- const bind_options_1 = require("./bind-options");
5
- const providers_1 = require("@ethersproject/providers");
6
- const contract_namer_1 = require("./contract-namer");
7
- function getKey(abiName, address, network) {
8
- const chainId = (0, providers_1.getNetwork)(network).chainId.toString();
9
- return [abiName, address.toLowerCase(), chainId].join('_');
10
- }
11
- const addressToName = new Map();
12
- const namerMap = new Map();
13
- // Get contract name by ABI, and other options
14
- // If there is contract using same ABI and different (address, network) pair
15
- // It will be renamed as ABI, ABI_1, ABI_2
16
- // Otherwise just use same contract name
17
- function getContractName(abiName, contractName, address, network = 1) {
18
- const key = getKey(abiName, address, network);
19
- let name = addressToName.get(key);
20
- if (name) {
21
- return name;
22
- }
23
- if (contractName) {
24
- addressToName.set(key, contractName);
25
- return contractName;
26
- }
27
- let namer = namerMap.get(abiName);
28
- if (!namer) {
29
- namer = new contract_namer_1.ContractNamer(abiName);
30
- namerMap.set(abiName, namer);
31
- }
32
- name = namer.nextName();
33
- addressToName.set(key, name);
34
- return name;
35
- }
36
- exports.getContractName = getContractName;
37
- function getProcessor(abiName, opts) {
38
- const sig = abiName + '_' + (0, bind_options_1.getOptionsSignature)(opts);
39
- return global.PROCESSOR_STATE.processorMap.get(sig);
40
- }
41
- exports.getProcessor = getProcessor;
42
- function addProcessor(abiName, opts, processor) {
43
- const sig = abiName + '_' + (0, bind_options_1.getOptionsSignature)(opts);
44
- global.PROCESSOR_STATE.processors.push(processor);
45
- global.PROCESSOR_STATE.processorMap.set(sig, processor);
46
- }
47
- exports.addProcessor = addProcessor;
48
- function getContractByABI(abiName, address, network) {
49
- const key = getKey(abiName, address, network);
50
- return global.PROCESSOR_STATE.contracts.get(key);
51
- }
52
- exports.getContractByABI = getContractByABI;
53
- function addContractByABI(abiName, address, network, contract) {
54
- const key = getKey(abiName, address, network);
55
- return global.PROCESSOR_STATE.contracts.set(key, contract);
56
- }
57
- exports.addContractByABI = addContractByABI;
58
- //# sourceMappingURL=binds.js.map
package/dist/binds.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"binds.js","sourceRoot":"","sources":["../src/binds.ts"],"names":[],"mappings":";;;AAAA,iDAAiE;AAGjE,wDAAqD;AAGrD,qDAAgD;AAEhD,SAAS,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,OAAmB;IACnE,MAAM,OAAO,GAAG,IAAA,sBAAU,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;IACtD,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;AAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAA;AAEjD,8CAA8C;AAC9C,4EAA4E;AAC5E,0CAA0C;AAC1C,wCAAwC;AACxC,SAAgB,eAAe,CAC7B,OAAe,EACf,YAAgC,EAChC,OAAe,EACf,UAAsB,CAAC;IAEvB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,IAAI,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,CAAA;KACZ;IACD,IAAI,YAAY,EAAE;QAChB,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;QACpC,OAAO,YAAY,CAAA;KACpB;IAED,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK,EAAE;QACV,KAAK,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,CAAA;QAClC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;KAC7B;IACD,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IACvB,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC5B,OAAO,IAAI,CAAA;AACb,CAAC;AAxBD,0CAwBC;AAED,SAAgB,YAAY,CAAC,OAAe,EAAE,IAAiB;IAC7D,MAAM,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,IAAA,kCAAmB,EAAC,IAAI,CAAC,CAAA;IACrD,OAAO,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC;AAHD,oCAGC;AAED,SAAgB,YAAY,CAAC,OAAe,EAAE,IAAiB,EAAE,SAAkC;IACjG,MAAM,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,IAAA,kCAAmB,EAAC,IAAI,CAAC,CAAA;IAErD,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjD,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;AACzD,CAAC;AALD,oCAKC;AAED,SAAgB,gBAAgB,CAAC,OAAe,EAAE,OAAe,EAAE,OAAmB;IACpF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,OAAO,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAClD,CAAC;AAHD,4CAGC;AAED,SAAgB,gBAAgB,CAC9B,OAAe,EACf,OAAe,EACf,OAAmB,EACnB,QAAoC;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,OAAO,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AAC5D,CAAC;AARD,4CAQC"}
@@ -1,3 +0,0 @@
1
- import { Target } from './config';
2
- export declare function buildProcessor(onlyGen: boolean, targets: Target[]): Promise<void>;
3
- export declare function codeGenSolanaProcessor(abisDir: string, root?: string, targetPath?: string): void;
package/dist/cli/build.js DELETED
@@ -1,158 +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.codeGenSolanaProcessor = exports.buildProcessor = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const path_1 = __importDefault(require("path"));
9
- const fs_1 = __importDefault(require("fs"));
10
- const child_process_1 = require("child_process");
11
- const config_1 = require("./config");
12
- async function buildProcessor(onlyGen, targets) {
13
- await installDeps();
14
- // targets.forEach(async (target) => await buildProcessorForTarget(onlyGen, target))
15
- for (const target of targets) {
16
- await buildProcessorForTarget(onlyGen, target);
17
- }
18
- if (!onlyGen) {
19
- const WEBPACK_CONFIG = path_1.default.join(__dirname, 'webpack.config.js');
20
- await execStep('yarn tsc -p .', 'Compile');
21
- await execStep('yarn webpack --config=' + WEBPACK_CONFIG, 'Packaging');
22
- }
23
- }
24
- exports.buildProcessor = buildProcessor;
25
- async function buildProcessorForTarget(onlyGen, target) {
26
- if (target.chain === config_1.EVM) {
27
- await codeGenEthersProcessor(target.abisDir ?? path_1.default.join('abis', 'evm'));
28
- }
29
- else if (target.chain === config_1.SOLANA) {
30
- codeGenSolanaProcessor(target.abisDir ?? path_1.default.join('abis', 'solana'));
31
- }
32
- if (onlyGen) {
33
- return;
34
- }
35
- }
36
- async function installDeps() {
37
- await execStep('yarn install --ignore-scripts', 'Yarn Install');
38
- }
39
- async function codeGenEthersProcessor(abisDir) {
40
- const ETHERS_TARGET = path_1.default.join(__dirname, '../target-ethers-sentio');
41
- await execStep('yarn typechain --target ' + ETHERS_TARGET + ` --out-dir src/types ${path_1.default.join(abisDir, '*.json')}`, 'Type definitions gen');
42
- }
43
- function codeGenSolanaProcessor(abisDir, root = '', targetPath = path_1.default.join('src', 'types')) {
44
- const abisFolder = path_1.default.join(root, abisDir);
45
- const abisFiles = fs_1.default.readdirSync(abisFolder);
46
- const typeFolder = path_1.default.join(root, targetPath);
47
- for (const file of abisFiles) {
48
- if (path_1.default.extname(file) === '.json') {
49
- if (!fs_1.default.existsSync(typeFolder)) {
50
- fs_1.default.mkdirSync(typeFolder);
51
- }
52
- const idlContent = fs_1.default.readFileSync(path_1.default.join(abisFolder, file), 'utf-8');
53
- const idlObj = JSON.parse(idlContent);
54
- const idlName = idlObj.name;
55
- const idlFile = path_1.default.join(typeFolder, idlName + '.ts');
56
- fs_1.default.writeFileSync(idlFile, `export const ${idlName}_idl = ${idlContent}`);
57
- fs_1.default.writeFileSync(path_1.default.join(typeFolder, `${idlName}_processor.ts`), codeGenSolanaIdlProcessor(idlObj));
58
- }
59
- }
60
- }
61
- exports.codeGenSolanaProcessor = codeGenSolanaProcessor;
62
- function codeGenSolanaIdlProcessor(idlObj) {
63
- const idlName = idlObj.name;
64
- const idlNamePascalCase = toPascalCase(idlName);
65
- const instructions = idlObj.instructions;
66
- return `import { BorshInstructionCoder, Instruction, Idl, BN } from '@project-serum/anchor'
67
- import { SolanaBaseProcessor, SolanaContext } from "@sentio/sdk"
68
- import { ${idlName}_idl } from "./${idlName}"
69
- import bs58 from 'bs58'
70
- import { PublicKey } from '@solana/web3.js'
71
-
72
- export class ${idlNamePascalCase}Processor extends SolanaBaseProcessor {
73
- static bind(address: string, endpoint: string, name = '${idlNamePascalCase}'): ${idlNamePascalCase}Processor {
74
- return new ${idlNamePascalCase}Processor(name, address, endpoint)
75
- }
76
-
77
- decodeInstruction: (rawInstruction: string) => Instruction | null = (rawInstruction) => {
78
- const instructionCoder = new BorshInstructionCoder(${idlName}_idl as Idl)
79
- const decodedIns = instructionCoder.decode(Buffer.from(bs58.decode(rawInstruction)))
80
- return decodedIns
81
- }
82
-
83
- ${instructions.map((ins) => codeGenSolanaInstruction(idlNamePascalCase, ins)).join('')}
84
- }
85
- `;
86
- }
87
- function codeGenSolanaInstruction(idlName, ins) {
88
- const instructionName = ins.name;
89
- const argsTypeString = codeGenInstructionArgs(ins.args);
90
- return `
91
- on${instructionName.charAt(0).toUpperCase() + instructionName.slice(1)}(handler: (args: ${argsTypeString}, ctx: SolanaContext) => void): ${idlName}Processor {
92
- this.onInstruction('${instructionName}', (ins: Instruction, ctx) => {
93
- if (ins) {
94
- handler(ins.data as ${argsTypeString}, ctx)
95
- }
96
- })
97
- return this
98
- }
99
- `;
100
- }
101
- function codeGenInstructionArgs(args) {
102
- return `{ ${args.map((arg) => arg.name + ': ' + mapType(arg.type)).join(', ')} }`;
103
- }
104
- // Reference: https://github.com/coral-xyz/anchor/blob/93332766f13e86efbe77c9986722731742317ede/ts/src/program/namespace/types.ts#L104
105
- function mapType(tpe) {
106
- switch (tpe) {
107
- case 'publicKey':
108
- return 'PublicKey';
109
- case 'bool':
110
- return 'boolean';
111
- case 'string':
112
- return 'string';
113
- case 'u8':
114
- case 'i8':
115
- case 'u16':
116
- case 'i16':
117
- case 'u32':
118
- case 'i32':
119
- case 'f32':
120
- case 'f64':
121
- return 'number';
122
- case 'u64':
123
- case 'i64':
124
- case 'u128':
125
- case 'i128':
126
- return 'BN';
127
- default:
128
- return 'any';
129
- }
130
- }
131
- function toPascalCase(str) {
132
- return `${str}`
133
- .toLowerCase()
134
- .replace(new RegExp(/[-_]+/, 'g'), ' ')
135
- .replace(new RegExp(/[^\w\s]/, 'g'), '')
136
- .replace(new RegExp(/\s+(.)(\w*)/, 'g'), ($1, $2, $3) => `${$2.toUpperCase() + $3}`)
137
- .replace(new RegExp(/\w/), (s) => s.toUpperCase());
138
- }
139
- async function execStep(cmd, stepName) {
140
- const child = (0, child_process_1.exec)(cmd);
141
- console.log(chalk_1.default.blue(stepName + ' begin'));
142
- if (!child.stdout || !child.stderr) {
143
- console.error(chalk_1.default.red(stepName + ' failed'));
144
- process.exit(1);
145
- }
146
- child.stdout.pipe(process.stdout);
147
- child.stderr.pipe(process.stderr);
148
- await new Promise((resolve) => {
149
- child.on('close', resolve);
150
- });
151
- if (child.exitCode) {
152
- console.error(chalk_1.default.red(stepName + ' failed'));
153
- process.exit(child.exitCode);
154
- }
155
- console.log(chalk_1.default.blue(stepName + ' success'));
156
- console.log();
157
- }
158
- //# sourceMappingURL=build.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"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"}
package/dist/cli/cli.d.ts DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};