@subsquid/evm-typegen 2.1.1 → 3.2.0

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.
@@ -7,18 +7,18 @@ export declare class LogEvent<Args> {
7
7
  private abi;
8
8
  readonly topic: string;
9
9
  private fragment;
10
- constructor(abi: ethers.utils.Interface, topic: string);
10
+ constructor(abi: ethers.Interface, topic: string);
11
11
  decode(rec: LogRecord): Args;
12
12
  }
13
13
  export declare class Func<Args extends any[], FieldArgs, Result> {
14
14
  private abi;
15
15
  readonly sighash: string;
16
16
  private fragment;
17
- constructor(abi: ethers.utils.Interface, sighash: string);
18
- decode(input: ethers.utils.BytesLike): Args & FieldArgs;
17
+ constructor(abi: ethers.Interface, sighash: string);
18
+ decode(input: ethers.BytesLike): Args & FieldArgs;
19
19
  encode(args: Args): string;
20
- decodeResult(output: ethers.utils.BytesLike): Result;
21
- tryDecodeResult(output: ethers.utils.BytesLike): Result | undefined;
20
+ decodeResult(output: ethers.BytesLike): Result;
21
+ tryDecodeResult(output: ethers.BytesLike): Result | undefined;
22
22
  }
23
23
  export declare function isFunctionResultDecodingError(val: unknown): val is Error & {
24
24
  data: string;
@@ -1 +1 @@
1
- {"version":3,"file":"abi.support.d.ts","sourceRoot":"","sources":["../src/abi.support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAGhC,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACf;AAGD,qBAAa,QAAQ,CAAC,IAAI;IAGV,OAAO,CAAC,GAAG;aAA0C,KAAK,EAAE,MAAM;IAF9E,OAAO,CAAC,QAAQ,CAA4B;gBAExB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAkB,KAAK,EAAE,MAAM;IAI9E,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;CAG/B;AAGD,qBAAa,IAAI,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM;IAGvC,OAAO,CAAC,GAAG;aAA0C,OAAO,EAAE,MAAM;IAFhF,OAAO,CAAC,QAAQ,CAA+B;gBAE3B,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAkB,OAAO,EAAE,MAAM;IAIhF,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,GAAG,SAAS;IAIvD,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAI1B,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM;IAKpD,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,GAAG,SAAS;CAOtE;AAGD,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,KAAK,GAAG;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAOzF;AAGD,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,KAAK,CAAA;CAChB;AAGD,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,KAAK,CAAA;IACb,KAAK,EAAE,KAAK,CAAA;CACf;AAGD,MAAM,WAAW,KAAK;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAGD,MAAM,WAAW,KAAK;IAClB,MAAM,EAAG;QACL,IAAI,EAAE,CAAC,CAAC,GAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;KAClE,CAAA;CACJ;AAGD,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM;gBAClC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM;IAetD,QAAQ,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ1H"}
1
+ {"version":3,"file":"abi.support.d.ts","sourceRoot":"","sources":["../src/abi.support.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAGhC,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACf;AAGD,qBAAa,QAAQ,CAAC,IAAI;IAGV,OAAO,CAAC,GAAG;aAAoC,KAAK,EAAE,MAAM;IAFxE,OAAO,CAAC,QAAQ,CAAsB;gBAElB,GAAG,EAAE,MAAM,CAAC,SAAS,EAAkB,KAAK,EAAE,MAAM;IAMxE,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;CAG/B;AAGD,qBAAa,IAAI,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM;IAGvC,OAAO,CAAC,GAAG;aAAoC,OAAO,EAAE,MAAM;IAF1E,OAAO,CAAC,QAAQ,CAAyB;gBAErB,GAAG,EAAE,MAAM,CAAC,SAAS,EAAkB,OAAO,EAAE,MAAM;IAM1E,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,GAAG,IAAI,GAAG,SAAS;IAIjD,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAI1B,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,GAAG,MAAM;IAK9C,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,GAAG,MAAM,GAAG,SAAS;CAOhE;AAGD,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,KAAK,GAAG;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAOzF;AAGD,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,KAAK,CAAA;CAChB;AAGD,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,KAAK,CAAA;IACb,KAAK,EAAE,KAAK,CAAA;CACf;AAGD,MAAM,WAAW,KAAK;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAGD,MAAM,WAAW,KAAK;IAClB,MAAM,EAAG;QACL,IAAI,EAAE,CAAC,CAAC,GAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;KAClE,CAAA;CACJ;AAGD,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM;gBAClC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM;IAetD,QAAQ,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ1H"}
@@ -22,14 +22,20 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  exports.ContractBase = exports.isFunctionResultDecodingError = exports.Func = exports.LogEvent = void 0;
30
+ const assert_1 = __importDefault(require("assert"));
27
31
  const ethers = __importStar(require("ethers"));
28
32
  class LogEvent {
29
33
  constructor(abi, topic) {
30
34
  this.abi = abi;
31
35
  this.topic = topic;
32
- this.fragment = abi.getEvent(topic);
36
+ let fragment = abi.getEvent(topic);
37
+ (0, assert_1.default)(fragment != null, 'Missing fragment');
38
+ this.fragment = fragment;
33
39
  }
34
40
  decode(rec) {
35
41
  return this.abi.decodeEventLog(this.fragment, rec.data, rec.topics);
@@ -40,7 +46,9 @@ class Func {
40
46
  constructor(abi, sighash) {
41
47
  this.abi = abi;
42
48
  this.sighash = sighash;
43
- this.fragment = abi.getFunction(sighash);
49
+ let fragment = abi.getFunction(sighash);
50
+ (0, assert_1.default)(fragment != null, 'Missing fragment');
51
+ this.fragment = fragment;
44
52
  }
45
53
  decode(input) {
46
54
  return this.abi.decodeFunctionData(this.fragment, input);
@@ -77,14 +85,14 @@ class ContractBase {
77
85
  this._chain = ctx._chain;
78
86
  if (typeof blockOrAddress === 'string') {
79
87
  this.blockHeight = ctx.block.height;
80
- this.address = ethers.utils.getAddress(blockOrAddress);
88
+ this.address = ethers.getAddress(blockOrAddress);
81
89
  }
82
90
  else {
83
91
  if (address == null) {
84
92
  throw new Error('missing contract address');
85
93
  }
86
94
  this.blockHeight = blockOrAddress.height;
87
- this.address = ethers.utils.getAddress(address);
95
+ this.address = ethers.getAddress(address);
88
96
  }
89
97
  }
90
98
  async eth_call(func, args) {
@@ -1 +1 @@
1
- {"version":3,"file":"abi.support.js","sourceRoot":"","sources":["../src/abi.support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abi.support.js","sourceRoot":"","sources":["../src/abi.support.ts"],"names":[],"mappings":"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"}
package/lib/main.js CHANGED
@@ -26,15 +26,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const abi_1 = require("@ethersproject/abi");
30
- const address_1 = require("@ethersproject/address");
29
+ const fs = __importStar(require("fs"));
30
+ const ethers = __importStar(require("ethers"));
31
+ const path_1 = __importDefault(require("path"));
32
+ const commander_1 = require("commander");
31
33
  const logger_1 = require("@subsquid/logger");
32
34
  const util_internal_1 = require("@subsquid/util-internal");
33
35
  const util_internal_code_printer_1 = require("@subsquid/util-internal-code-printer");
34
36
  const validator = __importStar(require("@subsquid/util-internal-commander"));
35
- const commander_1 = require("commander");
36
- const fs = __importStar(require("fs"));
37
- const path_1 = __importDefault(require("path"));
38
37
  const typegen_1 = require("./typegen");
39
38
  const fetch_1 = require("./util/fetch");
40
39
  const LOG = (0, logger_1.createLogger)('sqd:evm-typegen');
@@ -93,7 +92,7 @@ squid-evm-typegen src/abi 0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413#contract
93
92
  for (let spec of specs) {
94
93
  LOG.info(`processing ${spec.src}`);
95
94
  let abi_json = await read(spec, opts);
96
- let abi = new abi_1.Interface(abi_json);
95
+ let abi = new ethers.Interface(abi_json);
97
96
  new typegen_1.Typegen(dest, abi, spec.name, LOG).generate();
98
97
  }
99
98
  }, err => LOG.fatal(err));
@@ -155,7 +154,7 @@ function specArgument(value, prev) {
155
154
  function parseSpec(spec) {
156
155
  let [src, fragment] = splitFragment(spec);
157
156
  if (src.startsWith('0x')) {
158
- if (!(0, address_1.isAddress)(src))
157
+ if (!ethers.isAddress(src))
159
158
  throw new commander_1.InvalidArgumentError('Invalid contract address');
160
159
  return {
161
160
  kind: 'address',
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import * as ethers from 'ethers';
2
1
  import { ContractBase, Func } from './abi.support';
3
2
  type AnyFunc = Func<any, {}, any>;
4
3
  type Call = [address: string, bytes: string];
@@ -12,7 +11,7 @@ export type MulticallResult<T> = {
12
11
  };
13
12
  export declare class Multicall extends ContractBase {
14
13
  static aggregate: Func<[calls: Call[]], {}, {
15
- blockNumber: ethers.ethers.BigNumber;
14
+ blockNumber: bigint;
16
15
  returnData: string[];
17
16
  }>;
18
17
  static try_aggregate: Func<[requireSuccess: boolean, calls: [target: string, callData: string][]], {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"multicall.d.ts","sourceRoot":"","sources":["../src/multicall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAC,YAAY,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAoDhD,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;AACjC,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAa5C,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC7B,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,EAAE,CAAC,CAAA;CACX,GAAG;IACA,OAAO,EAAE,KAAK,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAA;CACpB,CAAA;AAGD,qBAAa,SAAU,SAAQ,YAAY;IACvC,MAAM,CAAC,SAAS;;;OAAY;IAC5B,MAAM,CAAC,aAAa;;;SAAgB;IAEpC,SAAS,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,EAAE,EACb,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,EAAE,CAAC;IAEf,SAAS,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EACtC,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,EAAE,CAAC;IAEf,SAAS,CACL,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EACtD,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,EAAE,CAAC;IAgBjB,YAAY,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,EAAE,EACb,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhC,YAAY,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EACtC,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhC,YAAY,CACR,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EACtD,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;IA2BlC,OAAO,CAAC,SAAS;CA2CpB"}
1
+ {"version":3,"file":"multicall.d.ts","sourceRoot":"","sources":["../src/multicall.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAoDhD,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;AACjC,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAa5C,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC7B,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,EAAE,CAAC,CAAA;CACX,GAAG;IACA,OAAO,EAAE,KAAK,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAA;CACpB,CAAA;AAGD,qBAAa,SAAU,SAAQ,YAAY;IACvC,MAAM,CAAC,SAAS;;;OAAY;IAC5B,MAAM,CAAC,aAAa;;;SAAgB;IAEpC,SAAS,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,EAAE,EACb,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,EAAE,CAAC;IAEf,SAAS,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EACtC,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,EAAE,CAAC;IAEf,SAAS,CACL,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EACtD,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,EAAE,CAAC;IAgBjB,YAAY,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,EAAE,EACb,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhC,YAAY,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EACtC,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhC,YAAY,CACR,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EACtD,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;IA2BlC,OAAO,CAAC,SAAS;CA2CpB"}
package/lib/multicall.js CHANGED
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.Multicall = void 0;
27
27
  const ethers = __importStar(require("ethers"));
28
28
  const abi_support_1 = require("./abi.support");
29
- const abi = new ethers.utils.Interface([
29
+ const abi = new ethers.Interface([
30
30
  {
31
31
  type: 'function',
32
32
  name: 'aggregate',
@@ -73,8 +73,8 @@ const abi = new ethers.utils.Interface([
73
73
  ]
74
74
  }
75
75
  ]);
76
- const aggregate = new abi_support_1.Func(abi, abi.getSighash('aggregate'));
77
- const try_aggregate = new abi_support_1.Func(abi, abi.getSighash('tryAggregate'));
76
+ const aggregate = new abi_support_1.Func(abi, abi.getFunction('aggregate').selector);
77
+ const try_aggregate = new abi_support_1.Func(abi, abi.getFunction('tryAggregate').selector);
78
78
  class Multicall extends abi_support_1.ContractBase {
79
79
  async aggregate(...args) {
80
80
  let [calls, funcs, page] = this.makeCalls(args);
@@ -1 +1 @@
1
- {"version":3,"file":"multicall.js","sourceRoot":"","sources":["../src/multicall.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgC;AAChC,+CAAgD;AAGhD,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IACnC;QACI,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE;oBACR,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC;oBACjC,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAC;iBACpC;aACJ;SACJ;QACD,OAAO,EAAE;YACL,EAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAC;YACtC,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAC;SACxC;KACJ;IACD;QACI,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE;YACJ,EAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAC;YACtC;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE;oBACR,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC;oBACjC,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAC;iBACpC;aACJ;SACJ;QACD,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE;oBACR,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAC;oBAC/B,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAC;iBACtC;aACJ;SACJ;KACJ;CACJ,CAAC,CAAA;AAOF,MAAM,SAAS,GAAG,IAAI,kBAAI,CACtB,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CACnC,CAAA;AAGD,MAAM,aAAa,GAAG,IAAI,kBAAI,CAC1B,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CACtC,CAAA;AAaD,MAAa,SAAU,SAAQ,0BAAY;IAsBvC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAW;QAC1B,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;QACvB,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAC/C,IAAI,EAAC,UAAU,EAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1E,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC5B,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;gBAC/B,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;aAC3C;SACJ;QACD,OAAO,OAAO,CAAA;IAClB,CAAC;IAoBD,KAAK,CAAC,YAAY,CAAC,GAAG,IAAW;QAC7B,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;QACvB,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAC/C,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;YACjF,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC5B,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;gBAC5B,IAAI,GAAG,CAAC,OAAO,EAAE;oBACb,IAAI;wBACA,OAAO,CAAC,CAAC,CAAC,GAAG;4BACT,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;yBAC/C,CAAA;qBACJ;oBAAC,OAAM,GAAQ,EAAE;wBACd,OAAO,CAAC,CAAC,CAAC,GAAG,EAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAC,CAAA;qBAC5D;iBACJ;qBAAM;oBACH,OAAO,CAAC,CAAC,CAAC,GAAG,EAAC,OAAO,EAAE,KAAK,EAAC,CAAA;iBAChC;aACJ;SACJ;QACD,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,SAAS,CAAC,IAAW;QACzB,IAAI,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAA;QACzF,QAAO,IAAI,CAAC,MAAM,EAAE;YAChB,KAAK,CAAC,CAAC,CAAC;gBACJ,IAAI,IAAI,GAAoD,IAAI,CAAC,CAAC,CAAC,CAAA;gBACnE,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;oBACnC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;oBACvC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;iBAClB;gBACD,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;aAC9B;YACD,KAAK,CAAC,CAAC,CAAC;gBACJ,IAAI,IAAI,GAAY,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC3B,IAAI,IAAI,GAAqC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpD,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;oBAC7B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;oBACvC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;iBAClB;gBACD,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;aAC9B;YACD,KAAK,CAAC,CAAC,CAAC;gBACJ,IAAI,IAAI,GAAY,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC3B,IAAI,OAAO,GAAW,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC7B,IAAI,IAAI,GAAY,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC3B,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;oBAClB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;oBACvC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;iBAClB;gBACD,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;aAC9B;YACD;gBACI,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;SACxD;IACL,CAAC;;AAzHL,8BA0HC;AAzHU,mBAAS,GAAG,SAAS,CAAA;AACrB,uBAAa,GAAG,aAAa,CAAA;AA2HxC,QAAQ,CAAC,CAAC,cAAc,CAAC,IAAY,EAAE,IAAY;IAC/C,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,OAAO,IAAI,EAAE;QACT,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC/B,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;QACpB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAChB,IAAI,IAAI,IAAI,CAAA;QACZ,IAAI,GAAG,EAAE,CAAA;KACZ;AACL,CAAC"}
1
+ {"version":3,"file":"multicall.js","sourceRoot":"","sources":["../src/multicall.ts"],"names":[],"mappings":"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"}
package/lib/typegen.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Interface } from '@ethersproject/abi';
1
+ import * as ethers from 'ethers';
2
2
  import { Logger } from '@subsquid/logger';
3
3
  import { OutDir } from '@subsquid/util-internal-code-printer';
4
4
  export declare class Typegen {
@@ -7,7 +7,7 @@ export declare class Typegen {
7
7
  private basename;
8
8
  private log;
9
9
  private out;
10
- constructor(dest: OutDir, abi: Interface, basename: string, log: Logger);
10
+ constructor(dest: OutDir, abi: ethers.Interface, basename: string, log: Logger);
11
11
  generate(): void;
12
12
  private writeAbi;
13
13
  private generateEvents;
@@ -18,5 +18,7 @@ export declare class Typegen {
18
18
  private getOverloads;
19
19
  private functionOverloads;
20
20
  private eventOverloads;
21
+ private getFunctions;
22
+ private getEvents;
21
23
  }
22
24
  //# sourceMappingURL=typegen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typegen.d.ts","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,SAAS,EAAC,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAEvC,OAAO,EAAa,MAAM,EAAC,MAAM,sCAAsC,CAAA;AAIvE,qBAAa,OAAO;IAGJ,OAAO,CAAC,IAAI;IAAU,OAAO,CAAC,GAAG;IAAa,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,GAAG;IAF/F,OAAO,CAAC,GAAG,CAAY;gBAEH,IAAI,EAAE,MAAM,EAAU,GAAG,EAAE,SAAS,EAAU,QAAQ,EAAE,MAAM,EAAU,GAAG,EAAE,MAAM;IAIvG,QAAQ,IAAI,IAAI;IAgBhB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;CAOzB"}
1
+ {"version":3,"file":"typegen.d.ts","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAEvC,OAAO,EAAa,MAAM,EAAC,MAAM,sCAAsC,CAAA;AAIvE,qBAAa,OAAO;IAGJ,OAAO,CAAC,IAAI;IAAU,OAAO,CAAC,GAAG;IAAoB,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,GAAG;IAFtG,OAAO,CAAC,GAAG,CAAY;gBAEH,IAAI,EAAE,MAAM,EAAU,GAAG,EAAE,MAAM,CAAC,SAAS,EAAU,QAAQ,EAAE,MAAM,EAAU,GAAG,EAAE,MAAM;IAI9G,QAAQ,IAAI,IAAI;IAgBhB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,SAAS;CAGpB"}
package/lib/typegen.js CHANGED
@@ -1,16 +1,39 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
2
18
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
19
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
20
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
21
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
22
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
23
  };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
8
31
  var __metadata = (this && this.__metadata) || function (k, v) {
9
32
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
33
  };
11
34
  Object.defineProperty(exports, "__esModule", { value: true });
12
35
  exports.Typegen = void 0;
13
- const abi_1 = require("@ethersproject/abi");
36
+ const ethers = __importStar(require("ethers"));
14
37
  const util_internal_1 = require("@subsquid/util-internal");
15
38
  const types_1 = require("./util/types");
16
39
  class Typegen {
@@ -26,7 +49,7 @@ class Typegen {
26
49
  this.out.line("import {LogEvent, Func, ContractBase} from './abi.support'");
27
50
  this.out.line(`import {ABI_JSON} from './${this.basename}.abi'`);
28
51
  this.out.line();
29
- this.out.line("export const abi = new ethers.utils.Interface(ABI_JSON);");
52
+ this.out.line("export const abi = new ethers.Interface(ABI_JSON);");
30
53
  this.generateEvents();
31
54
  this.generateFunctions();
32
55
  this.generateContract();
@@ -36,39 +59,38 @@ class Typegen {
36
59
  }
37
60
  writeAbi() {
38
61
  let out = this.dest.file(this.basename + '.abi.ts');
39
- let json = this.abi.format('json');
62
+ let json = this.abi.formatJson();
40
63
  json = JSON.stringify(JSON.parse(json), null, 4);
41
64
  out.line(`export const ABI_JSON = ${json}`);
42
65
  out.write();
43
66
  this.log.info(`saved ${out.file}`);
44
67
  }
45
68
  generateEvents() {
46
- let events = Object.values(this.abi.events);
69
+ let events = this.getEvents();
47
70
  if (events.length == 0) {
48
71
  return;
49
72
  }
50
73
  this.out.line();
51
74
  this.out.block(`export const events =`, () => {
52
75
  for (let e of events) {
53
- let topic = this.abi.getEventTopic(e);
54
76
  this.out.line(`${this.getPropName(e)}: new LogEvent<${(0, types_1.getFullTupleType)(e.inputs)}>(`);
55
- this.out.indentation(() => this.out.line(`abi, '${topic}'`));
77
+ this.out.indentation(() => this.out.line(`abi, '${e.topicHash}'`));
56
78
  this.out.line('),');
57
79
  }
58
80
  });
59
81
  }
60
82
  generateFunctions() {
61
- let functions = Object.values(this.abi.functions);
83
+ let functions = this.getFunctions();
62
84
  if (functions.length == 0) {
63
85
  return;
64
86
  }
65
87
  this.out.line();
66
88
  this.out.block(`export const functions =`, () => {
67
89
  for (let f of functions) {
68
- let sighash = this.abi.getSighash(f);
90
+ let sighash = f.selector;
69
91
  let pArgs = (0, types_1.getTupleType)(f.inputs);
70
92
  let pArgStruct = (0, types_1.getStructType)(f.inputs);
71
- let pResult = (0, types_1.getReturnType)(f.outputs || []);
93
+ let pResult = (0, types_1.getReturnType)(f.outputs);
72
94
  this.out.line(`${this.getPropName(f)}: new Func<${pArgs}, ${pArgStruct}, ${pResult}>(`);
73
95
  this.out.indentation(() => this.out.line(`abi, '${sighash}'`));
74
96
  this.out.line('),');
@@ -78,7 +100,7 @@ class Typegen {
78
100
  generateContract() {
79
101
  this.out.line();
80
102
  this.out.block(`export class Contract extends ContractBase`, () => {
81
- let functions = Object.values(this.abi.functions);
103
+ let functions = this.getFunctions();
82
104
  for (let f of functions) {
83
105
  if (f.constant && f.outputs?.length) {
84
106
  this.out.line();
@@ -109,7 +131,7 @@ class Typegen {
109
131
  }
110
132
  }
111
133
  getOverloads(item) {
112
- if (item instanceof abi_1.EventFragment) {
134
+ if (item instanceof ethers.EventFragment) {
113
135
  return this.eventOverloads()[item.name];
114
136
  }
115
137
  else {
@@ -118,18 +140,24 @@ class Typegen {
118
140
  }
119
141
  functionOverloads() {
120
142
  let overloads = {};
121
- for (let item of Object.values(this.abi.functions)) {
143
+ for (let item of this.getFunctions()) {
122
144
  overloads[item.name] = (overloads[item.name] || 0) + 1;
123
145
  }
124
146
  return overloads;
125
147
  }
126
148
  eventOverloads() {
127
149
  let overloads = {};
128
- for (let item of Object.values(this.abi.events)) {
150
+ for (let item of this.getEvents()) {
129
151
  overloads[item.name] = (overloads[item.name] || 0) + 1;
130
152
  }
131
153
  return overloads;
132
154
  }
155
+ getFunctions() {
156
+ return this.abi.fragments.filter(f => f.type === 'function');
157
+ }
158
+ getEvents() {
159
+ return this.abi.fragments.filter(f => f.type === 'event');
160
+ }
133
161
  }
134
162
  __decorate([
135
163
  util_internal_1.def,
@@ -143,5 +171,17 @@ __decorate([
143
171
  __metadata("design:paramtypes", []),
144
172
  __metadata("design:returntype", Object)
145
173
  ], Typegen.prototype, "eventOverloads", null);
174
+ __decorate([
175
+ util_internal_1.def,
176
+ __metadata("design:type", Function),
177
+ __metadata("design:paramtypes", []),
178
+ __metadata("design:returntype", Array)
179
+ ], Typegen.prototype, "getFunctions", null);
180
+ __decorate([
181
+ util_internal_1.def,
182
+ __metadata("design:type", Function),
183
+ __metadata("design:paramtypes", []),
184
+ __metadata("design:returntype", Array)
185
+ ], Typegen.prototype, "getEvents", null);
146
186
  exports.Typegen = Typegen;
147
187
  //# sourceMappingURL=typegen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typegen.js","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typegen.js","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":"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"}
package/lib/util/fetch.js CHANGED
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GET = void 0;
4
4
  const logger_1 = require("@subsquid/logger");
5
- const util_internal_http_client_1 = require("@subsquid/util-internal-http-client");
6
- const http = new util_internal_http_client_1.HttpClient({
5
+ const http_client_1 = require("@subsquid/http-client");
6
+ const http = new http_client_1.HttpClient({
7
7
  log: (0, logger_1.createLogger)('sqd:evm-typegen:fetch'),
8
8
  retryAttempts: 3
9
9
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/util/fetch.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAC7C,mFAA8D;AAG9D,MAAM,IAAI,GAAG,IAAI,sCAAU,CAAC;IACxB,GAAG,EAAE,IAAA,qBAAY,EAAC,uBAAuB,CAAC;IAC1C,aAAa,EAAE,CAAC;CACnB,CAAC,CAAA;AAGF,SAAgB,GAAG,CAAQ,GAAW;IAClC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAFD,kBAEC"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/util/fetch.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAC7C,uDAAgD;AAGhD,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC;IACxB,GAAG,EAAE,IAAA,qBAAY,EAAC,uBAAuB,CAAC;IAC1C,aAAa,EAAE,CAAC;CACnB,CAAC,CAAA;AAGF,SAAgB,GAAG,CAAQ,GAAW;IAClC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAFD,kBAEC"}
@@ -1,7 +1,7 @@
1
- import type { ParamType } from '@ethersproject/abi';
1
+ import type { ParamType } from 'ethers';
2
2
  export declare function getType(param: ParamType): string;
3
- export declare function getFullTupleType(params: ParamType[]): string;
4
- export declare function getTupleType(params: ParamType[]): string;
5
- export declare function getStructType(params: ParamType[]): string;
6
- export declare function getReturnType(outputs: ParamType[]): string;
3
+ export declare function getFullTupleType(params: ReadonlyArray<ParamType>): string;
4
+ export declare function getTupleType(params: ReadonlyArray<ParamType>): string;
5
+ export declare function getStructType(params: ReadonlyArray<ParamType>): string;
6
+ export declare function getReturnType(outputs: ReadonlyArray<ParamType>): string;
7
7
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAA;AAIjD,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA2BhD;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAQ5D;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAIxD;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAUzD;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,UAEjD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAA;AAIrC,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA6BhD;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,MAAM,CAQzE;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,MAAM,CAIrE;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,MAAM,CAUtE;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,UAE9D"}
package/lib/util/types.js CHANGED
@@ -1,12 +1,18 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.getReturnType = exports.getStructType = exports.getTupleType = exports.getFullTupleType = exports.getType = void 0;
7
+ const assert_1 = __importDefault(require("assert"));
4
8
  // taken from: https://github.com/ethers-io/ethers.js/blob/948f77050dae884fe88932fd88af75560aac9d78/packages/cli/src.ts/typescript.ts#L10
5
9
  function getType(param) {
6
10
  if (param.baseType === 'array') {
11
+ (0, assert_1.default)(param.arrayChildren != null, 'Missing children for array type');
7
12
  return 'Array<' + getType(param.arrayChildren) + '>';
8
13
  }
9
14
  if (param.baseType === 'tuple') {
15
+ (0, assert_1.default)(param.components != null, 'Missing components for tuple type');
10
16
  return getFullTupleType(param.components);
11
17
  }
12
18
  if (param.type === 'address' || param.type === 'string') {
@@ -17,7 +23,7 @@ function getType(param) {
17
23
  }
18
24
  let match = param.type.match(/^(u?int)([0-9]+)$/);
19
25
  if (match) {
20
- return parseInt(match[2]) < 53 ? 'number' : 'ethers.BigNumber';
26
+ return parseInt(match[2]) < 53 ? 'number' : 'bigint';
21
27
  }
22
28
  if (param.type.substring(0, 5) === 'bytes') {
23
29
  return 'string';
@@ -42,7 +48,7 @@ function getTupleType(params) {
42
48
  }).join(', ') + ']';
43
49
  }
44
50
  exports.getTupleType = getTupleType;
45
- // https://github.com/ethers-io/ethers.js/blob/948f77050dae884fe88932fd88af75560aac9d78/packages/abi/src.ts/coders/tuple.ts#L29
51
+ // https://github.com/ethers-io/ethers.js/blob/278f84174409b470fa7992e1f8b5693e6e5d2dac/src.ts/abi/coders/tuple.ts#L36
46
52
  function getStructType(params) {
47
53
  let array = [];
48
54
  let counts = {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subsquid/evm-typegen",
3
- "version": "2.1.1",
3
+ "version": "3.2.0",
4
4
  "description": "CLI for generating typescript types and decode implementations for evm logs",
5
5
  "license": "GPL-3.0-or-later",
6
6
  "repository": "git@github.com:subsquid/squid.git",
@@ -16,18 +16,18 @@
16
16
  "squid-evm-typegen": "bin/run.js"
17
17
  },
18
18
  "dependencies": {
19
- "@ethersproject/abi": "^5.7.0",
20
- "@ethersproject/address": "^5.7.0",
21
- "@subsquid/logger": "^0.3.1",
22
- "@subsquid/util-internal": "^1.1.0",
23
- "@subsquid/util-internal-code-printer": "^0.1.1",
24
- "@subsquid/util-internal-commander": "^0.0.2",
25
- "@subsquid/util-internal-http-client": "^0.1.0",
26
- "commander": "^10.0.0"
19
+ "@subsquid/http-client": "^1.2.0",
20
+ "@subsquid/logger": "^1.2.0",
21
+ "@subsquid/util-internal": "^2.3.0",
22
+ "@subsquid/util-internal-code-printer": "^1.2.0",
23
+ "@subsquid/util-internal-commander": "^1.2.0",
24
+ "commander": "^10.0.1"
25
+ },
26
+ "peerDependencies": {
27
+ "ethers": "^6.5.1"
27
28
  },
28
29
  "devDependencies": {
29
- "@types/node": "^16.18.12",
30
- "ethers": "^5.7.2",
30
+ "@types/node": "^18.16.17",
31
31
  "typescript": "~4.9.5"
32
32
  },
33
33
  "scripts": {
@@ -1,3 +1,4 @@
1
+ import assert from 'assert'
1
2
  import * as ethers from 'ethers'
2
3
 
3
4
 
@@ -8,10 +9,12 @@ export interface LogRecord {
8
9
 
9
10
 
10
11
  export class LogEvent<Args> {
11
- private fragment: ethers.utils.EventFragment
12
+ private fragment: ethers.EventFragment
12
13
 
13
- constructor(private abi: ethers.utils.Interface, public readonly topic: string) {
14
- this.fragment = abi.getEvent(topic)
14
+ constructor(private abi: ethers.Interface, public readonly topic: string) {
15
+ let fragment = abi.getEvent(topic)
16
+ assert(fragment != null, 'Missing fragment')
17
+ this.fragment = fragment
15
18
  }
16
19
 
17
20
  decode(rec: LogRecord): Args {
@@ -21,13 +24,15 @@ export class LogEvent<Args> {
21
24
 
22
25
 
23
26
  export class Func<Args extends any[], FieldArgs, Result> {
24
- private fragment: ethers.utils.FunctionFragment
27
+ private fragment: ethers.FunctionFragment
25
28
 
26
- constructor(private abi: ethers.utils.Interface, public readonly sighash: string) {
27
- this.fragment = abi.getFunction(sighash)
29
+ constructor(private abi: ethers.Interface, public readonly sighash: string) {
30
+ let fragment = abi.getFunction(sighash)
31
+ assert(fragment != null, 'Missing fragment')
32
+ this.fragment = fragment
28
33
  }
29
34
 
30
- decode(input: ethers.utils.BytesLike): Args & FieldArgs {
35
+ decode(input: ethers.BytesLike): Args & FieldArgs {
31
36
  return this.abi.decodeFunctionData(this.fragment, input) as any as Args & FieldArgs
32
37
  }
33
38
 
@@ -35,12 +40,12 @@ export class Func<Args extends any[], FieldArgs, Result> {
35
40
  return this.abi.encodeFunctionData(this.fragment, args)
36
41
  }
37
42
 
38
- decodeResult(output: ethers.utils.BytesLike): Result {
43
+ decodeResult(output: ethers.BytesLike): Result {
39
44
  const decoded = this.abi.decodeFunctionResult(this.fragment, output)
40
45
  return decoded.length > 1 ? decoded : decoded[0]
41
46
  }
42
47
 
43
- tryDecodeResult(output: ethers.utils.BytesLike): Result | undefined {
48
+ tryDecodeResult(output: ethers.BytesLike): Result | undefined {
44
49
  try {
45
50
  return this.decodeResult(output)
46
51
  } catch(err: any) {
@@ -94,13 +99,13 @@ export class ContractBase {
94
99
  this._chain = ctx._chain
95
100
  if (typeof blockOrAddress === 'string') {
96
101
  this.blockHeight = ctx.block.height
97
- this.address = ethers.utils.getAddress(blockOrAddress)
102
+ this.address = ethers.getAddress(blockOrAddress)
98
103
  } else {
99
104
  if (address == null) {
100
105
  throw new Error('missing contract address')
101
106
  }
102
107
  this.blockHeight = blockOrAddress.height
103
- this.address = ethers.utils.getAddress(address)
108
+ this.address = ethers.getAddress(address)
104
109
  }
105
110
  }
106
111
 
package/src/main.ts CHANGED
@@ -1,12 +1,11 @@
1
- import {Interface} from '@ethersproject/abi'
2
- import {isAddress} from '@ethersproject/address'
1
+ import * as fs from 'fs'
2
+ import * as ethers from 'ethers'
3
+ import path from 'path'
4
+ import {InvalidArgumentError, program} from 'commander'
3
5
  import {createLogger} from '@subsquid/logger'
4
6
  import {runProgram, wait} from '@subsquid/util-internal'
5
7
  import {OutDir} from '@subsquid/util-internal-code-printer'
6
8
  import * as validator from '@subsquid/util-internal-commander'
7
- import {InvalidArgumentError, program} from 'commander'
8
- import * as fs from 'fs'
9
- import path from 'path'
10
9
  import {Typegen} from './typegen'
11
10
  import {GET} from './util/fetch'
12
11
 
@@ -88,7 +87,7 @@ squid-evm-typegen src/abi 0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413#contract
88
87
  for (let spec of specs) {
89
88
  LOG.info(`processing ${spec.src}`)
90
89
  let abi_json = await read(spec, opts)
91
- let abi = new Interface(abi_json)
90
+ let abi = new ethers.Interface(abi_json)
92
91
  new Typegen(dest, abi, spec.name, LOG).generate()
93
92
  }
94
93
  }, err => LOG.fatal(err))
@@ -160,7 +159,7 @@ function specArgument(value: string, prev?: Spec[]): Spec[] {
160
159
  function parseSpec(spec: string): Spec {
161
160
  let [src, fragment] = splitFragment(spec)
162
161
  if (src.startsWith('0x')) {
163
- if (!isAddress(src)) throw new InvalidArgumentError('Invalid contract address')
162
+ if (!ethers.isAddress(src)) throw new InvalidArgumentError('Invalid contract address')
164
163
  return {
165
164
  kind: 'address',
166
165
  src,
package/src/multicall.ts CHANGED
@@ -2,7 +2,7 @@ import * as ethers from 'ethers'
2
2
  import {ContractBase, Func} from './abi.support'
3
3
 
4
4
 
5
- const abi = new ethers.utils.Interface([
5
+ const abi = new ethers.Interface([
6
6
  {
7
7
  type: 'function',
8
8
  name: 'aggregate',
@@ -55,13 +55,13 @@ type AnyFunc = Func<any, {}, any>
55
55
  type Call = [address: string, bytes: string]
56
56
 
57
57
 
58
- const aggregate = new Func<[calls: Call[]], {}, {blockNumber: ethers.BigNumber, returnData: string[]}>(
59
- abi, abi.getSighash('aggregate')
58
+ const aggregate = new Func<[calls: Call[]], {}, {blockNumber: bigint, returnData: string[]}>(
59
+ abi, abi.getFunction('aggregate')!.selector
60
60
  )
61
61
 
62
62
 
63
63
  const try_aggregate = new Func<[requireSuccess: boolean, calls: Array<[target: string, callData: string]>], {}, Array<{success: boolean, returnData: string}>>(
64
- abi, abi.getSighash('tryAggregate')
64
+ abi, abi.getFunction('tryAggregate')!.selector
65
65
  )
66
66
 
67
67
 
package/src/typegen.ts CHANGED
@@ -1,4 +1,4 @@
1
- import {EventFragment, FunctionFragment, Interface} from '@ethersproject/abi'
1
+ import * as ethers from 'ethers'
2
2
  import {Logger} from '@subsquid/logger'
3
3
  import {def} from '@subsquid/util-internal'
4
4
  import {FileOutput, OutDir} from '@subsquid/util-internal-code-printer'
@@ -8,7 +8,7 @@ import {getFullTupleType, getReturnType, getStructType, getTupleType, getType} f
8
8
  export class Typegen {
9
9
  private out: FileOutput
10
10
 
11
- constructor(private dest: OutDir, private abi: Interface, private basename: string, private log: Logger) {
11
+ constructor(private dest: OutDir, private abi: ethers.Interface, private basename: string, private log: Logger) {
12
12
  this.out = dest.file(basename + '.ts')
13
13
  }
14
14
 
@@ -17,7 +17,7 @@ export class Typegen {
17
17
  this.out.line("import {LogEvent, Func, ContractBase} from './abi.support'")
18
18
  this.out.line(`import {ABI_JSON} from './${this.basename}.abi'`)
19
19
  this.out.line()
20
- this.out.line("export const abi = new ethers.utils.Interface(ABI_JSON);")
20
+ this.out.line("export const abi = new ethers.Interface(ABI_JSON);")
21
21
 
22
22
  this.generateEvents()
23
23
  this.generateFunctions()
@@ -30,7 +30,7 @@ export class Typegen {
30
30
 
31
31
  private writeAbi() {
32
32
  let out = this.dest.file(this.basename + '.abi.ts')
33
- let json = this.abi.format('json') as string
33
+ let json = this.abi.formatJson()
34
34
  json = JSON.stringify(JSON.parse(json), null, 4)
35
35
  out.line(`export const ABI_JSON = ${json}`)
36
36
  out.write()
@@ -38,33 +38,32 @@ export class Typegen {
38
38
  }
39
39
 
40
40
  private generateEvents() {
41
- let events = Object.values(this.abi.events)
41
+ let events = this.getEvents()
42
42
  if (events.length == 0) {
43
43
  return
44
44
  }
45
45
  this.out.line()
46
46
  this.out.block(`export const events =`, () => {
47
47
  for (let e of events) {
48
- let topic = this.abi.getEventTopic(e)
49
48
  this.out.line(`${this.getPropName(e)}: new LogEvent<${getFullTupleType(e.inputs)}>(`)
50
- this.out.indentation(() => this.out.line(`abi, '${topic}'`))
49
+ this.out.indentation(() => this.out.line(`abi, '${e.topicHash}'`))
51
50
  this.out.line('),')
52
51
  }
53
52
  })
54
53
  }
55
54
 
56
55
  private generateFunctions() {
57
- let functions = Object.values(this.abi.functions)
56
+ let functions = this.getFunctions()
58
57
  if (functions.length == 0) {
59
58
  return
60
59
  }
61
60
  this.out.line()
62
61
  this.out.block(`export const functions =`, () => {
63
62
  for (let f of functions) {
64
- let sighash = this.abi.getSighash(f)
63
+ let sighash = f.selector
65
64
  let pArgs = getTupleType(f.inputs)
66
65
  let pArgStruct = getStructType(f.inputs)
67
- let pResult = getReturnType(f.outputs || [])
66
+ let pResult = getReturnType(f.outputs)
68
67
  this.out.line(`${this.getPropName(f)}: new Func<${pArgs}, ${pArgStruct}, ${pResult}>(`)
69
68
  this.out.indentation(() => this.out.line(`abi, '${sighash}'`))
70
69
  this.out.line('),')
@@ -75,7 +74,7 @@ export class Typegen {
75
74
  private generateContract() {
76
75
  this.out.line()
77
76
  this.out.block(`export class Contract extends ContractBase`, () => {
78
- let functions = Object.values(this.abi.functions)
77
+ let functions = this.getFunctions()
79
78
  for (let f of functions) {
80
79
  if (f.constant && f.outputs?.length) {
81
80
  this.out.line()
@@ -89,7 +88,7 @@ export class Typegen {
89
88
  })
90
89
  }
91
90
 
92
- private getRef(item: EventFragment | FunctionFragment): string {
91
+ private getRef(item: ethers.EventFragment | ethers.FunctionFragment): string {
93
92
  let key = this.getPropName(item)
94
93
  if (key[0] == "'") {
95
94
  return `[${key}]`
@@ -98,7 +97,7 @@ export class Typegen {
98
97
  }
99
98
  }
100
99
 
101
- private getPropName(item: EventFragment | FunctionFragment): string {
100
+ private getPropName(item: ethers.EventFragment | ethers.FunctionFragment): string {
102
101
  if (this.getOverloads(item) == 1) {
103
102
  return item.name
104
103
  } else {
@@ -106,8 +105,8 @@ export class Typegen {
106
105
  }
107
106
  }
108
107
 
109
- private getOverloads(item: EventFragment | FunctionFragment): number {
110
- if (item instanceof EventFragment) {
108
+ private getOverloads(item: ethers.EventFragment | ethers.FunctionFragment): number {
109
+ if (item instanceof ethers.EventFragment) {
111
110
  return this.eventOverloads()[item.name]
112
111
  } else {
113
112
  return this.functionOverloads()[item.name]
@@ -117,7 +116,7 @@ export class Typegen {
117
116
  @def
118
117
  private functionOverloads(): Record<string, number> {
119
118
  let overloads: Record<string, number> = {}
120
- for (let item of Object.values(this.abi.functions)) {
119
+ for (let item of this.getFunctions()) {
121
120
  overloads[item.name] = (overloads[item.name] || 0) + 1
122
121
  }
123
122
  return overloads
@@ -126,9 +125,19 @@ export class Typegen {
126
125
  @def
127
126
  private eventOverloads(): Record<string, number> {
128
127
  let overloads: Record<string, number> = {}
129
- for (let item of Object.values(this.abi.events)) {
128
+ for (let item of this.getEvents()) {
130
129
  overloads[item.name] = (overloads[item.name] || 0) + 1
131
130
  }
132
131
  return overloads
133
132
  }
133
+
134
+ @def
135
+ private getFunctions(): ethers.FunctionFragment[] {
136
+ return this.abi.fragments.filter(f => f.type === 'function') as ethers.FunctionFragment[]
137
+ }
138
+
139
+ @def
140
+ private getEvents(): ethers.EventFragment[] {
141
+ return this.abi.fragments.filter(f => f.type === 'event') as ethers.EventFragment[]
142
+ }
134
143
  }
package/src/util/fetch.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import {createLogger} from '@subsquid/logger'
2
- import {HttpClient} from '@subsquid/util-internal-http-client'
2
+ import {HttpClient} from '@subsquid/http-client'
3
3
 
4
4
 
5
5
  const http = new HttpClient({
package/src/util/types.ts CHANGED
@@ -1,13 +1,16 @@
1
- import type {ParamType} from '@ethersproject/abi'
1
+ import assert from 'assert'
2
+ import type {ParamType} from 'ethers'
2
3
 
3
4
 
4
5
  // taken from: https://github.com/ethers-io/ethers.js/blob/948f77050dae884fe88932fd88af75560aac9d78/packages/cli/src.ts/typescript.ts#L10
5
6
  export function getType(param: ParamType): string {
6
7
  if (param.baseType === 'array') {
8
+ assert(param.arrayChildren != null, 'Missing children for array type')
7
9
  return 'Array<' + getType(param.arrayChildren) + '>'
8
10
  }
9
11
 
10
12
  if (param.baseType === 'tuple') {
13
+ assert(param.components != null, 'Missing components for tuple type')
11
14
  return getFullTupleType(param.components)
12
15
  }
13
16
 
@@ -21,7 +24,7 @@ export function getType(param: ParamType): string {
21
24
 
22
25
  let match = param.type.match(/^(u?int)([0-9]+)$/)
23
26
  if (match) {
24
- return parseInt(match[2]) < 53 ? 'number' : 'ethers.BigNumber'
27
+ return parseInt(match[2]) < 53 ? 'number' : 'bigint'
25
28
  }
26
29
 
27
30
  if (param.type.substring(0, 5) === 'bytes') {
@@ -32,7 +35,7 @@ export function getType(param: ParamType): string {
32
35
  }
33
36
 
34
37
 
35
- export function getFullTupleType(params: ParamType[]): string {
38
+ export function getFullTupleType(params: ReadonlyArray<ParamType>): string {
36
39
  let tuple = getTupleType(params)
37
40
  let struct = getStructType(params)
38
41
  if (struct == '{}') {
@@ -43,15 +46,15 @@ export function getFullTupleType(params: ParamType[]): string {
43
46
  }
44
47
 
45
48
 
46
- export function getTupleType(params: ParamType[]): string {
49
+ export function getTupleType(params: ReadonlyArray<ParamType>): string {
47
50
  return '[' + params.map(p => {
48
51
  return p.name ? `${p.name}: ${getType(p)}` : `_: ${getType(p)}`
49
52
  }).join(', ') + ']'
50
53
  }
51
54
 
52
55
 
53
- // https://github.com/ethers-io/ethers.js/blob/948f77050dae884fe88932fd88af75560aac9d78/packages/abi/src.ts/coders/tuple.ts#L29
54
- export function getStructType(params: ParamType[]): string {
56
+ // https://github.com/ethers-io/ethers.js/blob/278f84174409b470fa7992e1f8b5693e6e5d2dac/src.ts/abi/coders/tuple.ts#L36
57
+ export function getStructType(params: ReadonlyArray<ParamType>): string {
55
58
  let array: any = []
56
59
  let counts: Record<string, number> = {}
57
60
  for (let p of params) {
@@ -64,6 +67,6 @@ export function getStructType(params: ParamType[]): string {
64
67
  }
65
68
 
66
69
 
67
- export function getReturnType(outputs: ParamType[]) {
70
+ export function getReturnType(outputs: ReadonlyArray<ParamType>) {
68
71
  return outputs.length == 1 ? getType(outputs[0]) : getFullTupleType(outputs)
69
72
  }