@sentio/sdk 0.1.14 → 0.2.17

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 (117) hide show
  1. package/dist/base-processor-template.d.ts +19 -0
  2. package/dist/base-processor-template.js +80 -0
  3. package/dist/base-processor-template.js.map +1 -0
  4. package/dist/base-processor.d.ts +7 -18
  5. package/dist/base-processor.js +69 -28
  6. package/dist/base-processor.js.map +1 -1
  7. package/dist/bind-options.d.ts +16 -0
  8. package/dist/bind-options.js +20 -0
  9. package/dist/bind-options.js.map +1 -0
  10. package/dist/cli/build.d.ts +3 -1
  11. package/dist/cli/build.js +100 -17
  12. package/dist/cli/build.js.map +1 -1
  13. package/dist/cli/cli.d.ts +1 -2
  14. package/dist/cli/cli.js +9 -15
  15. package/dist/cli/cli.js.map +1 -1
  16. package/dist/cli/config.d.ts +7 -1
  17. package/dist/cli/config.js +4 -1
  18. package/dist/cli/config.js.map +1 -1
  19. package/dist/{processor_server.d.ts → cli/solana-code-gen.d.ts} +0 -0
  20. package/dist/cli/solana-code-gen.js +19 -0
  21. package/dist/cli/solana-code-gen.js.map +1 -0
  22. package/dist/cli/upload.js +4 -2
  23. package/dist/cli/upload.js.map +1 -1
  24. package/dist/gen/processor/protos/processor.d.ts +35 -10
  25. package/dist/gen/processor/protos/processor.js +238 -53
  26. package/dist/gen/processor/protos/processor.js.map +1 -1
  27. package/dist/index.d.ts +2 -0
  28. package/dist/index.js +5 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/numberish.test.d.ts +1 -0
  31. package/dist/numberish.test.js +9 -0
  32. package/dist/numberish.test.js.map +1 -0
  33. package/dist/provider.d.ts +1 -1
  34. package/dist/provider.js +3 -0
  35. package/dist/provider.js.map +1 -1
  36. package/dist/service.d.ts +4 -2
  37. package/dist/service.js +85 -47
  38. package/dist/service.js.map +1 -1
  39. package/dist/solana-processor.d.ts +6 -6
  40. package/dist/solana-processor.js +5 -20
  41. package/dist/solana-processor.js.map +1 -1
  42. package/dist/target-ethers-sentio/codegen.js +56 -15
  43. package/dist/target-ethers-sentio/codegen.js.map +1 -1
  44. package/dist/test-case/clean-test.d.ts +1 -0
  45. package/dist/test-case/clean-test.js +11 -0
  46. package/dist/test-case/clean-test.js.map +1 -0
  47. package/dist/test-case/erc20-template.d.ts +1 -0
  48. package/dist/test-case/erc20-template.js +23 -0
  49. package/dist/test-case/erc20-template.js.map +1 -0
  50. package/dist/test-case/erc20-template.test.d.ts +1 -0
  51. package/dist/test-case/erc20-template.test.js +69 -0
  52. package/dist/test-case/erc20-template.test.js.map +1 -0
  53. package/dist/test-case/erc20.js +22 -6
  54. package/dist/test-case/erc20.js.map +1 -1
  55. package/dist/test-case/erc20.test.d.ts +1 -0
  56. package/dist/test-case/erc20.test.js +143 -0
  57. package/dist/test-case/erc20.test.js.map +1 -0
  58. package/dist/test-case/mirrorworld.d.ts +1 -4
  59. package/dist/test-case/mirrorworld.js +37 -57
  60. package/dist/test-case/mirrorworld.js.map +1 -1
  61. package/dist/test-case/solana.test.d.ts +1 -0
  62. package/dist/test-case/solana.test.js +56 -0
  63. package/dist/test-case/solana.test.js.map +1 -0
  64. package/dist/test-case/types/{ERC20.d.ts → Erc20.d.ts} +0 -0
  65. package/dist/test-case/types/{ERC20.js → Erc20.js} +0 -0
  66. package/dist/test-case/types/{ERC20.js.map → Erc20.js.map} +0 -0
  67. package/dist/test-case/types/erc20_processor.d.ts +9 -8
  68. package/dist/test-case/types/erc20_processor.js +38 -14
  69. package/dist/test-case/types/erc20_processor.js.map +1 -1
  70. package/dist/test-case/types/factories/{ERC20__factory.d.ts → Erc20__factory.d.ts} +0 -0
  71. package/dist/test-case/types/factories/{ERC20__factory.js → Erc20__factory.js} +0 -0
  72. package/dist/test-case/types/factories/{ERC20__factory.js.map → Erc20__factory.js.map} +0 -0
  73. package/dist/test-case/types/game_wallet_processor.d.ts +107 -0
  74. package/dist/test-case/types/game_wallet_processor.js +102 -0
  75. package/dist/test-case/types/game_wallet_processor.js.map +1 -0
  76. package/dist/test-case/types/wormhole_processor.d.ts +16 -0
  77. package/dist/test-case/types/wormhole_processor.js +192 -0
  78. package/dist/test-case/types/wormhole_processor.js.map +1 -0
  79. package/dist/test-case/wormhole-token-bridge.d.ts +1 -0
  80. package/dist/test-case/wormhole-token-bridge.js +7 -0
  81. package/dist/test-case/wormhole-token-bridge.js.map +1 -0
  82. package/package.json +6 -4
  83. package/dist/baseprocessor.d.ts +0 -34
  84. package/dist/baseprocessor.js +0 -110
  85. package/dist/baseprocessor.js.map +0 -1
  86. package/dist/processor_server.js +0 -67
  87. package/dist/processor_server.js.map +0 -1
  88. package/dist/solana_processor.d.ts +0 -25
  89. package/dist/solana_processor.js +0 -84
  90. package/dist/solana_processor.js.map +0 -1
  91. package/dist/test_case/erc20.d.ts +0 -1
  92. package/dist/test_case/erc20.js +0 -22
  93. package/dist/test_case/erc20.js.map +0 -1
  94. package/dist/test_case/mirrorworld.d.ts +0 -4
  95. package/dist/test_case/mirrorworld.js +0 -62
  96. package/dist/test_case/mirrorworld.js.map +0 -1
  97. package/dist/test_case/types/ERC20.d.ts +0 -150
  98. package/dist/test_case/types/ERC20.js +0 -3
  99. package/dist/test_case/types/ERC20.js.map +0 -1
  100. package/dist/test_case/types/common.d.ts +0 -22
  101. package/dist/test_case/types/common.js +0 -3
  102. package/dist/test_case/types/common.js.map +0 -1
  103. package/dist/test_case/types/erc20_processor.d.ts +0 -28
  104. package/dist/test_case/types/erc20_processor.js +0 -58
  105. package/dist/test_case/types/erc20_processor.js.map +0 -1
  106. package/dist/test_case/types/factories/ERC20__factory.d.ts +0 -35
  107. package/dist/test_case/types/factories/ERC20__factory.js +0 -216
  108. package/dist/test_case/types/factories/ERC20__factory.js.map +0 -1
  109. package/dist/test_case/types/factories/index.d.ts +0 -1
  110. package/dist/test_case/types/factories/index.js +0 -9
  111. package/dist/test_case/types/factories/index.js.map +0 -1
  112. package/dist/test_case/types/game_wallet.d.ts +0 -45
  113. package/dist/test_case/types/game_wallet.js +0 -1396
  114. package/dist/test_case/types/game_wallet.js.map +0 -1
  115. package/dist/test_case/types/index.d.ts +0 -3
  116. package/dist/test_case/types/index.js +0 -30
  117. package/dist/test_case/types/index.js.map +0 -1
@@ -0,0 +1,19 @@
1
+ import { Context, ContractWrapper } 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, TContractWrapper extends ContractWrapper<TContract>> {
8
+ id: number;
9
+ constructor();
10
+ bind(options: BindOptions): BaseProcessor<TContract, TContractWrapper>;
11
+ protected abstract bindInternal(options: BindOptions): BaseProcessor<TContract, TContractWrapper>;
12
+ blockHandlers: ((block: Block, ctx: Context<TContract, TContractWrapper>) => void)[];
13
+ eventHandlers: {
14
+ handler: (event: Event, ctx: Context<TContract, TContractWrapper>) => void;
15
+ filter: EventFilter | EventFilter[];
16
+ }[];
17
+ onEvent(handler: (event: Event, ctx: Context<TContract, TContractWrapper>) => void, filter: EventFilter | EventFilter[]): this;
18
+ onBlock(handler: (block: Block, ctx: Context<TContract, TContractWrapper>) => void): this;
19
+ }
@@ -0,0 +1,80 @@
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 long_1 = __importDefault(require("long"));
8
+ const providers_1 = require("@ethersproject/providers");
9
+ class BaseProcessorTemplate {
10
+ id;
11
+ constructor() {
12
+ if (!globalThis.Templates) {
13
+ globalThis.Templates = [];
14
+ }
15
+ this.id = globalThis.Templates.length;
16
+ globalThis.Templates.push(this);
17
+ }
18
+ // static bind(address: string, network: Networkish = 1, name: string = ""): Erc20Processor {
19
+ // if (name === "") {
20
+ // name = Erc20Processor.namer.nextName()
21
+ // }
22
+ // return new Erc20Processor(address, name, network)
23
+ // }
24
+ bind(options) {
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
+ if (!globalThis.TemplatesInstances) {
33
+ globalThis.TemplatesInstances = [];
34
+ }
35
+ const instance = {
36
+ templateId: this.id,
37
+ contract: {
38
+ address: options.address,
39
+ name: options.name || '',
40
+ chainId: options.network ? (0, providers_1.getNetwork)(options.network).chainId.toString() : '1',
41
+ abi: '',
42
+ },
43
+ startBlock: new long_1.default(0),
44
+ endBlock: new long_1.default(0),
45
+ };
46
+ if (options.startBlock) {
47
+ if (typeof options.startBlock === 'number') {
48
+ instance.startBlock = long_1.default.fromNumber(options.startBlock);
49
+ }
50
+ else {
51
+ instance.startBlock = options.startBlock;
52
+ }
53
+ }
54
+ if (options.endBlock) {
55
+ if (typeof options.endBlock === 'number') {
56
+ instance.endBlock = long_1.default.fromNumber(options.endBlock);
57
+ }
58
+ else {
59
+ instance.endBlock = options.endBlock;
60
+ }
61
+ }
62
+ globalThis.TemplatesInstances.push(instance);
63
+ return processor;
64
+ }
65
+ blockHandlers = [];
66
+ eventHandlers = [];
67
+ onEvent(handler, filter) {
68
+ this.eventHandlers.push({
69
+ handler: handler,
70
+ filter: filter,
71
+ });
72
+ return this;
73
+ }
74
+ onBlock(handler) {
75
+ this.blockHandlers.push(handler);
76
+ return this;
77
+ }
78
+ }
79
+ exports.BaseProcessorTemplate = BaseProcessorTemplate;
80
+ //# sourceMappingURL=base-processor-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-processor-template.js","sourceRoot":"","sources":["../src/base-processor-template.ts"],"names":[],"mappings":";;;;;;AAOA,gDAAuB;AACvB,wDAAqD;AAErD,MAAsB,qBAAqB;IAIzC,EAAE,CAAQ;IAEV;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;YACzB,UAAU,CAAC,SAAS,GAAG,EAAE,CAAA;SAC1B;QACD,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAA;QACrC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,6FAA6F;IAC7F,uBAAuB;IACvB,6CAA6C;IAC7C,MAAM;IACN,sDAAsD;IACtD,IAAI;IACG,IAAI,CAAC,OAAoB;QAC9B,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,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;YAClC,UAAU,CAAC,kBAAkB,GAAG,EAAE,CAAA;SACnC;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,IAAI,cAAI,CAAC,CAAC,CAAC;YACvB,QAAQ,EAAE,IAAI,cAAI,CAAC,CAAC,CAAC;SACtB,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,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE5C,OAAO,SAAS,CAAA;IAClB,CAAC;IAID,aAAa,GAA0E,EAAE,CAAA;IACzF,aAAa,GAGP,EAAE,CAAA;IAED,OAAO,CACZ,OAA0E,EAC1E,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,OAA0E;QACvF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAvFD,sDAuFC"}
@@ -1,34 +1,23 @@
1
1
  import { Context, ContractWrapper } from './context';
2
2
  import { Block, Log } from '@ethersproject/abstract-provider';
3
3
  import { BaseContract, EventFilter } from 'ethers';
4
- import { Networkish } from '@ethersproject/networks';
5
4
  import { Event } from '@ethersproject/contracts';
6
5
  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
- };
6
+ import { BindInternalOptions, BindOptions } from './bind-options';
14
7
  declare class EventsHandler {
15
8
  filters: EventFilter[];
16
9
  handler: (event: Log) => Promise<O11yResult>;
17
10
  }
18
- export declare abstract class BaseProcessor<TContract extends BaseContract, TContractWrapper extends ContractWrapper<TContract>> {
11
+ export declare class BaseProcessor<TContract extends BaseContract, TContractWrapper extends ContractWrapper<TContract>> {
19
12
  blockHandlers: ((block: Block) => Promise<O11yResult>)[];
20
13
  eventHandlers: EventsHandler[];
21
14
  contract: TContractWrapper;
22
- network: Network;
23
15
  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;
16
+ config: BindInternalOptions;
17
+ constructor(config: BindOptions, contract: TContractWrapper);
30
18
  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;
19
+ getChainId(): Promise<string>;
20
+ onEvent(handler: (event: Event, ctx: Context<TContract, TContractWrapper>) => void, filter: EventFilter | EventFilter[]): Promise<void>;
21
+ onBlock(handler: (block: Block, ctx: Context<TContract, TContractWrapper>) => void): Promise<this>;
33
22
  }
34
23
  export {};
@@ -6,8 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.BaseProcessor = void 0;
7
7
  const context_1 = require("./context");
8
8
  const long_1 = __importDefault(require("long"));
9
- const providers_1 = require("@ethersproject/providers");
10
9
  const nice_grpc_1 = require("nice-grpc");
10
+ // type IndexConfigure = {
11
+ // startBlock: Long
12
+ // endBlock?: Long
13
+ // chunkSize?: number
14
+ // }
11
15
  class EventsHandler {
12
16
  filters;
13
17
  handler;
@@ -16,44 +20,80 @@ class BaseProcessor {
16
20
  blockHandlers = [];
17
21
  eventHandlers = [];
18
22
  contract;
19
- network;
23
+ // network: Network
20
24
  name;
21
- config = { startBlock: new long_1.default(0) };
22
- constructor(address, name, network = 1) {
23
- this.name = name;
24
- this.network = (0, providers_1.getNetwork)(network);
25
- this.contract = this.bindInternal(address, network);
25
+ config;
26
+ constructor(config, contract) {
27
+ // this.name = name
28
+ // this.network = getNetwork(network)
29
+ this.config = {
30
+ address: config.address,
31
+ name: config.name || '',
32
+ network: config.network ? config.network : 1,
33
+ startBlock: new long_1.default(0),
34
+ };
35
+ if (config.startBlock) {
36
+ if (typeof config.startBlock === 'number') {
37
+ this.config.startBlock = long_1.default.fromNumber(config.startBlock);
38
+ }
39
+ else {
40
+ this.config.startBlock = config.startBlock;
41
+ }
42
+ }
43
+ if (config.endBlock) {
44
+ if (typeof config.endBlock === 'number') {
45
+ this.config.endBlock = long_1.default.fromNumber(config.endBlock);
46
+ }
47
+ else {
48
+ this.config.endBlock = config.endBlock;
49
+ }
50
+ }
51
+ this.contract = contract;
26
52
  if (!globalThis.Processors) {
27
53
  globalThis.Processors = [];
28
54
  }
29
55
  globalThis.Processors.push(this);
30
56
  }
31
- startBlock(startBlock) {
32
- if (typeof startBlock === 'number') {
33
- startBlock = long_1.default.fromNumber(startBlock);
34
- }
35
- this.config.startBlock = startBlock;
36
- return this;
37
- }
38
- endBlock(endBlock) {
39
- if (typeof endBlock === 'number') {
40
- endBlock = long_1.default.fromNumber(endBlock);
41
- }
42
- this.config.endBlock = endBlock;
43
- return this;
44
- }
45
- configure(option) {
46
- this.config = option;
47
- }
57
+ // constructor(address: string, name: string, network: Networkish = 1) {
58
+ // this.name = name
59
+ // // this.network = getNetwork(network)
60
+ // this.contract = this.bindInternal(address, network)
61
+ // if (!globalThis.Processors) {
62
+ // globalThis.Processors = []
63
+ // }
64
+ // globalThis.Processors.push(this)
65
+ // }
66
+ //
67
+ // protected abstract bindInternal(address: string, network: Networkish): TContractWrapper
68
+ // public startBlock(startBlock: Long | number) {
69
+ // if (typeof startBlock === 'number') {
70
+ // startBlock = Long.fromNumber(startBlock)
71
+ // }
72
+ // this.config.startBlock = startBlock
73
+ // return this
74
+ // }
75
+ // public endBlock(endBlock: Long | number) {
76
+ // if (typeof endBlock === 'number') {
77
+ // endBlock = Long.fromNumber(endBlock)
78
+ // }
79
+ // this.config.endBlock = endBlock
80
+ // return this
81
+ // }
82
+ // public configure(option: IndexConfigure) {
83
+ // this.config = option
84
+ // }
48
85
  isBind() {
49
86
  return this.contract._underlineContract.address !== '';
50
87
  }
51
- onEvent(handler, filter) {
88
+ async getChainId() {
89
+ return (await this.contract._underlineContract.provider.getNetwork()).chainId.toString();
90
+ }
91
+ async onEvent(handler, filter) {
52
92
  if (!this.isBind()) {
53
93
  throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INTERNAL, 'processor not bind');
54
94
  }
55
95
  const contract = this.contract;
56
- const chainId = this.network.chainId.toString();
96
+ const chainId = await this.getChainId();
57
97
  let _filters = [];
58
98
  if (Array.isArray(filter)) {
59
99
  _filters = filter;
@@ -89,12 +129,12 @@ class BaseProcessor {
89
129
  },
90
130
  });
91
131
  }
92
- onBlock(handler) {
132
+ async onBlock(handler) {
93
133
  if (!this.isBind()) {
94
134
  throw new nice_grpc_1.ServerError(nice_grpc_1.Status.INTERNAL, 'Registry not bind');
95
135
  }
96
136
  const contract = this.contract;
97
- const chainId = this.network.chainId.toString();
137
+ const chainId = await this.getChainId();
98
138
  this.blockHandlers.push(async function (block) {
99
139
  contract.block = block;
100
140
  const ctx = new context_1.Context(contract, chainId, block, undefined);
@@ -104,6 +144,7 @@ class BaseProcessor {
104
144
  counters: ctx.counters,
105
145
  };
106
146
  });
147
+ return this;
107
148
  }
108
149
  }
109
150
  exports.BaseProcessor = BaseProcessor;
@@ -1 +1 @@
1
- {"version":3,"file":"base-processor.js","sourceRoot":"","sources":["../src/base-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-processor.js","sourceRoot":"","sources":["../src/base-processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
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 class BindInternalOptions {
11
+ address: string;
12
+ network: Networkish;
13
+ name: string;
14
+ startBlock: Long;
15
+ endBlock?: Long;
16
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BindInternalOptions = exports.BindOptions = void 0;
4
+ class BindOptions {
5
+ address;
6
+ network = 1;
7
+ name;
8
+ startBlock;
9
+ endBlock;
10
+ }
11
+ exports.BindOptions = BindOptions;
12
+ class BindInternalOptions {
13
+ address;
14
+ network;
15
+ name;
16
+ startBlock;
17
+ endBlock;
18
+ }
19
+ exports.BindInternalOptions = BindInternalOptions;
20
+ //# sourceMappingURL=bind-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind-options.js","sourceRoot":"","sources":["../src/bind-options.ts"],"names":[],"mappings":";;;AAGA,MAAa,WAAW;IACtB,OAAO,CAAQ;IACf,OAAO,GAAgB,CAAC,CAAA;IACxB,IAAI,CAAS;IACb,UAAU,CAAgB;IAC1B,QAAQ,CAAgB;CACzB;AAND,kCAMC;AAED,MAAa,mBAAmB;IAC9B,OAAO,CAAQ;IACf,OAAO,CAAY;IACnB,IAAI,CAAQ;IACZ,UAAU,CAAM;IAChB,QAAQ,CAAO;CAChB;AAND,kDAMC"}
@@ -1 +1,3 @@
1
- export declare function buildProcessor(onlyGen: boolean, target: string): Promise<void>;
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 CHANGED
@@ -3,47 +3,130 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildProcessor = void 0;
6
+ exports.codeGenSolanaProcessor = exports.buildProcessor = void 0;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const fs_1 = __importDefault(require("fs"));
10
10
  const child_process_1 = require("child_process");
11
- const cli_1 = require("./cli");
12
- async function buildProcessor(onlyGen, target) {
13
- if (target === cli_1.EVM) {
14
- await codeGenEthersProcessor();
11
+ const config_1 = require("./config");
12
+ async function buildProcessor(onlyGen, targets) {
13
+ targets.forEach(async (target) => await buildProcessorForTarget(onlyGen, target));
14
+ const WEBPACK_CONFIG = path_1.default.join(__dirname, 'webpack.config.js');
15
+ await execStep('yarn tsc -p .', 'Compile');
16
+ await execStep('yarn webpack --config=' + WEBPACK_CONFIG, 'Packaging');
17
+ }
18
+ exports.buildProcessor = buildProcessor;
19
+ async function buildProcessorForTarget(onlyGen, target) {
20
+ if (target.chain === config_1.EVM) {
21
+ await codeGenEthersProcessor(target.abisDir ?? path_1.default.join('abis', 'evm'));
15
22
  }
16
- else if (target === cli_1.SOLANA) {
17
- codeGenSolanaProcessor();
23
+ else if (target.chain === config_1.SOLANA) {
24
+ codeGenSolanaProcessor(target.abisDir ?? path_1.default.join('abis', 'solana'));
18
25
  }
19
26
  if (onlyGen) {
20
27
  return;
21
28
  }
22
- const WEBPACK_CONFIG = path_1.default.join(__dirname, 'webpack.config.js');
23
- await execStep('yarn tsc -p .', 'Compile');
24
- await execStep('yarn webpack --config=' + WEBPACK_CONFIG, 'Packaging');
25
29
  }
26
- exports.buildProcessor = buildProcessor;
27
- async function codeGenEthersProcessor() {
30
+ async function codeGenEthersProcessor(abisDir) {
28
31
  const ETHERS_TARGET = path_1.default.join(__dirname, '../target-ethers-sentio');
29
- await execStep('yarn typechain --target ' + ETHERS_TARGET + " --out-dir src/types 'abis/*.json'", 'Type definitions gen');
32
+ await execStep('yarn typechain --target ' + ETHERS_TARGET + ` --out-dir src/types ${path_1.default.join(abisDir, '*.json')}`, 'Type definitions gen');
30
33
  }
31
- function codeGenSolanaProcessor() {
32
- const abisFolder = 'abis';
34
+ function codeGenSolanaProcessor(abisDir, root = '', targetPath = path_1.default.join('src', 'types')) {
35
+ const abisFolder = path_1.default.join(root, abisDir);
33
36
  const abisFiles = fs_1.default.readdirSync(abisFolder);
34
- const typeFolder = 'src/types';
37
+ const typeFolder = path_1.default.join(root, targetPath);
35
38
  for (const file of abisFiles) {
36
39
  if (path_1.default.extname(file) === '.json') {
37
40
  if (!fs_1.default.existsSync(typeFolder)) {
38
41
  fs_1.default.mkdirSync(typeFolder);
39
42
  }
40
43
  const idlContent = fs_1.default.readFileSync(path_1.default.join(abisFolder, file), 'utf-8');
41
- const idlName = JSON.parse(idlContent).name;
44
+ const idlObj = JSON.parse(idlContent);
45
+ const idlName = idlObj.name;
42
46
  const idlFile = path_1.default.join(typeFolder, idlName + '.ts');
43
47
  fs_1.default.writeFileSync(idlFile, `export const ${idlName}_idl = ${idlContent}`);
48
+ fs_1.default.writeFileSync(path_1.default.join(typeFolder, `${idlName}_processor.ts`), codeGenSolanaIdlProcessor(idlObj));
44
49
  }
45
50
  }
46
51
  }
52
+ exports.codeGenSolanaProcessor = codeGenSolanaProcessor;
53
+ function codeGenSolanaIdlProcessor(idlObj) {
54
+ const idlName = idlObj.name;
55
+ const idlNamePascalCase = toPascalCase(idlName);
56
+ const instructions = idlObj.instructions;
57
+ return `import { BorshInstructionCoder, Instruction, Idl, BN } from '@project-serum/anchor'
58
+ import { SolanaBaseProcessor, SolanaContext } from "@sentio/sdk"
59
+ import { ${idlName}_idl } from "./${idlName}"
60
+ import bs58 from 'bs58'
61
+ import { PublicKey } from '@solana/web3.js'
62
+
63
+ export class ${idlNamePascalCase}Processor extends SolanaBaseProcessor {
64
+ static bind(address: string, endpoint: string, name = '${idlNamePascalCase}'): ${idlNamePascalCase}Processor {
65
+ return new ${idlNamePascalCase}Processor(name, address, endpoint)
66
+ }
67
+
68
+ public decodeInstruction(ins: string): Instruction | null {
69
+ const instructionCoder = new BorshInstructionCoder(${idlName}_idl as Idl)
70
+ const decodedIns = instructionCoder.decode(Buffer.from(bs58.decode(ins)))
71
+ return decodedIns
72
+ }
73
+
74
+ ${instructions.map((ins) => codeGenSolanaInstruction(idlNamePascalCase, ins)).join('')}
75
+ }
76
+ `;
77
+ }
78
+ function codeGenSolanaInstruction(idlName, ins) {
79
+ const instructionName = ins.name;
80
+ const argsTypeString = codeGenInstructionArgs(ins.args);
81
+ return `
82
+ on${instructionName.charAt(0).toUpperCase() + instructionName.slice(1)}(handler: (args: ${argsTypeString}, ctx: SolanaContext) => void): ${idlName}Processor {
83
+ this.onInstruction('${instructionName}', (ins: Instruction, ctx) => {
84
+ if (ins) {
85
+ handler(ins.data as ${argsTypeString}, ctx)
86
+ }
87
+ })
88
+ return this
89
+ }
90
+ `;
91
+ }
92
+ function codeGenInstructionArgs(args) {
93
+ return `{ ${args.map((arg) => arg.name + ': ' + mapType(arg.type)).join(', ')} }`;
94
+ }
95
+ // Reference: https://github.com/coral-xyz/anchor/blob/93332766f13e86efbe77c9986722731742317ede/ts/src/program/namespace/types.ts#L104
96
+ function mapType(tpe) {
97
+ switch (tpe) {
98
+ case 'publicKey':
99
+ return 'PublicKey';
100
+ case 'bool':
101
+ return 'boolean';
102
+ case 'string':
103
+ return 'string';
104
+ case 'u8':
105
+ case 'i8':
106
+ case 'u16':
107
+ case 'i16':
108
+ case 'u32':
109
+ case 'i32':
110
+ case 'f32':
111
+ case 'f64':
112
+ return 'number';
113
+ case 'u64':
114
+ case 'i64':
115
+ case 'u128':
116
+ case 'i128':
117
+ return 'BN';
118
+ default:
119
+ return 'any';
120
+ }
121
+ }
122
+ function toPascalCase(str) {
123
+ return `${str}`
124
+ .toLowerCase()
125
+ .replace(new RegExp(/[-_]+/, 'g'), ' ')
126
+ .replace(new RegExp(/[^\w\s]/, 'g'), '')
127
+ .replace(new RegExp(/\s+(.)(\w*)/, 'g'), ($1, $2, $3) => `${$2.toUpperCase() + $3}`)
128
+ .replace(new RegExp(/\w/), (s) => s.toUpperCase());
129
+ }
47
130
  async function execStep(cmd, stepName) {
48
131
  const child = (0, child_process_1.exec)(cmd);
49
132
  console.log(chalk_1.default.blue(stepName + ' begin'));
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"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"}
package/dist/cli/cli.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  #!/usr/bin/env node
2
- export declare const EVM = "evm";
3
- export declare const SOLANA = "solana";
2
+ export {};
package/dist/cli/cli.js CHANGED
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.SOLANA = exports.EVM = void 0;
8
7
  const command_line_args_1 = __importDefault(require("command-line-args"));
9
8
  const command_line_usage_1 = __importDefault(require("command-line-usage"));
10
9
  const fs_1 = __importDefault(require("fs"));
@@ -17,16 +16,13 @@ const key_1 = require("./key");
17
16
  const upload_1 = require("./upload");
18
17
  const chalk_1 = __importDefault(require("chalk"));
19
18
  const build_1 = require("./build");
20
- // Supported target chain, lower case
21
- exports.EVM = 'evm';
22
- exports.SOLANA = 'solana';
23
19
  const mainDefinitions = [{ name: 'command', defaultOption: true }];
24
20
  const mainOptions = (0, command_line_args_1.default)(mainDefinitions, {
25
21
  stopAtFirstUnknown: true,
26
22
  });
27
23
  const argv = mainOptions._unknown || [];
28
24
  // Process configs
29
- let processorConfig = { host: '', project: '', source: '', build: true, target: '' };
25
+ let processorConfig = { host: '', project: '', source: '', build: true, targets: [] };
30
26
  // Fist step, read from project yaml file
31
27
  try {
32
28
  console.log(chalk_1.default.blue('Loading Process config'));
@@ -56,15 +52,13 @@ try {
56
52
  if (!processorConfig.source) {
57
53
  processorConfig.source = 'src/processor.ts';
58
54
  }
59
- if (processorConfig.target) {
60
- processorConfig.target = processorConfig.target.toLowerCase();
61
- if (processorConfig.target !== exports.EVM && processorConfig.target !== exports.SOLANA) {
62
- console.error(`Unsupported target: ${processorConfig.target}, supported target list: [evm, solana].`);
63
- process.exit(1);
64
- }
55
+ if (!processorConfig.targets) {
56
+ console.warn('targets is not defined, use EVM as the default target');
57
+ processorConfig.targets = [];
65
58
  }
66
- else {
67
- processorConfig.target = exports.EVM;
59
+ if (processorConfig.targets.length === 0) {
60
+ // By default evm
61
+ processorConfig.targets.push({ chain: config_1.EVM });
68
62
  }
69
63
  }
70
64
  catch (e) {
@@ -191,10 +185,10 @@ else if (mainOptions.command === 'login') {
191
185
  }
192
186
  }
193
187
  else if (mainOptions.command === 'build') {
194
- (0, build_1.buildProcessor)(false, processorConfig.target);
188
+ (0, build_1.buildProcessor)(false, processorConfig.targets);
195
189
  }
196
190
  else if (mainOptions.command === 'gen') {
197
- (0, build_1.buildProcessor)(true, processorConfig.target);
191
+ (0, build_1.buildProcessor)(true, processorConfig.targets);
198
192
  }
199
193
  else {
200
194
  const usage = (0, command_line_usage_1.default)([
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":";;;;;;;AAEA,0EAA+C;AAC/C,4EAAiD;AACjD,4CAAmB;AACnB,kDAAyB;AACzB,gDAAuB;AACvB,gDAAuB;AAEvB,sDAA0B;AAC1B,qCAA4D;AAC5D,+BAAgC;AAChC,qCAAqC;AACrC,kDAAyB;AACzB,mCAAwC;AAExC,qCAAqC;AACxB,QAAA,GAAG,GAAG,KAAK,CAAA;AACX,QAAA,MAAM,GAAG,QAAQ,CAAA;AAE9B,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;AAClE,MAAM,WAAW,GAAG,IAAA,2BAAe,EAAC,eAAe,EAAE;IACnD,kBAAkB,EAAE,IAAI;CACzB,CAAC,CAAA;AACF,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAA;AAEvC,kBAAkB;AAClB,IAAI,eAAe,GAAwB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;AACzG,yCAAyC;AACzC,IAAI;IACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAA;IACjD,qCAAqC;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAClD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAA;QAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IAED,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IAC9C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAA;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IAED,eAAe,GAAG,iBAAI,CAAC,IAAI,CAAC,YAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAwB,CAAA;IAC1F,IAAI,CAAC,eAAe,CAAC,OAAO,KAAK,SAAS,EAAE;QAC1C,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAA;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IACD,IAAI,eAAe,CAAC,KAAK,KAAK,SAAS,EAAE;QACvC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAA;KAC7B;IACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;QACzB,eAAe,CAAC,IAAI,GAAG,MAAM,CAAA;KAC9B;IAED,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;QAC3B,eAAe,CAAC,MAAM,GAAG,kBAAkB,CAAA;KAC5C;IACD,IAAI,eAAe,CAAC,MAAM,EAAE;QAC1B,eAAe,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;QAC7D,IAAI,eAAe,CAAC,MAAM,KAAK,WAAG,IAAI,eAAe,CAAC,MAAM,KAAK,cAAM,EAAE;YACvE,OAAO,CAAC,KAAK,CAAC,uBAAuB,eAAe,CAAC,MAAM,yCAAyC,CAAC,CAAA;YACrG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAChB;KACF;SAAM;QACL,eAAe,CAAC,MAAM,GAAG,WAAG,CAAA;KAC7B;CACF;AAAC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;CAChB;AAED,IAAI,WAAW,CAAC,OAAO,KAAK,QAAQ,EAAE;IACpC,MAAM,iBAAiB,GAAG;QACxB;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,2BAA2B;SACzC;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,sEAAsE;SACpF;QACD;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,sCAAsC;YACnD,IAAI,EAAE,MAAM;SACb;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mEAAmE;YAChF,IAAI,EAAE,OAAO;SACd;KACF,CAAA;IACD,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5D,IAAI,OAAO,CAAC,IAAI,EAAE;QAChB,MAAM,KAAK,GAAG,IAAA,4BAAgB,EAAC;YAC7B;gBACE,MAAM,EAAE,eAAe;gBACvB,OAAO,EAAE,sCAAsC;aAChD;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,iBAAiB;aAC9B;SACF,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;KACnB;SAAM;QACL,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,eAAe,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;SACpC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,eAAe,CAAC,KAAK,GAAG,KAAK,CAAA;SAC9B;QACD,IAAA,qBAAY,EAAC,eAAe,CAAC,CAAA;QAC7B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAE5B,IAAI,WAAW,GAAG,SAAS,CAAA;QAC3B,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;YACtB,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;SACjC;QACD,IAAA,mBAAU,EAAC,eAAe,EAAE,WAAW,CAAC,CAAA;KACzC;CACF;KAAM,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,EAAE;IAC1C,MAAM,iBAAiB,GAAG;QACxB;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,2BAA2B;SACzC;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,yBAAyB;SACvC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,sCAAsC;YACnD,IAAI,EAAE,MAAM;SACb;KACF,CAAA;IACD,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAE5D,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACvC,MAAM,KAAK,GAAG,IAAA,4BAAgB,EAAC;YAC7B;gBACE,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,uCAAuC;aACjD;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,iBAAiB;aAC9B;SACF,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;KACnB;SAAM;QACL,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,eAAe,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;SACpC;QACD,IAAA,qBAAY,EAAC,eAAe,CAAC,CAAA;QAC7B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAE5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,8BAA8B;YACpC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;aAC9B;SACF,CAAA;QACD,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,eAAK,CAAC,CAAC,CAAC,cAAI,CAAA;QACjD,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;YACxC,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE;gBACzB,IAAA,cAAQ,EAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;gBAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;aAC1C;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;aACnF;QACH,CAAC,CAAC,CAAA;QAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;QAEF,GAAG,CAAC,GAAG,EAAE,CAAA;KACV;CACF;KAAM,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,EAAE;IAC1C,IAAA,sBAAc,EAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;CAC9C;KAAM,IAAI,WAAW,CAAC,OAAO,KAAK,KAAK,EAAE;IACxC,IAAA,sBAAc,EAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;CAC7C;KAAM;IACL,MAAM,KAAK,GAAG,IAAA,4BAAgB,EAAC;QAC7B;YACE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,8CAA8C;SACxD;QACD;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,iEAAiE;gBACjE,uDAAuD;gBACvD,2DAA2D;gBAC3D,gCAAgC;gBAChC,4CAA4C;aAC7C;SACF;KACF,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;CACnB"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@ export interface SentioProjectConfig {
3
3
  host: string;
4
4
  source: string;
5
5
  build: boolean;
6
- target: string;
6
+ targets: Target[];
7
7
  }
8
8
  export declare function FinalizeHost(config: SentioProjectConfig): void;
9
+ export interface Target {
10
+ chain: string;
11
+ abisDir?: string;
12
+ }
13
+ export declare const EVM = "evm";
14
+ export declare const SOLANA = "solana";