solc-typed-ast 16.0.0 → 17.0.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.
package/README.md CHANGED
@@ -66,7 +66,7 @@ try {
66
66
  console.log(result);
67
67
  ```
68
68
 
69
- The second argument with the `"auto"` value specifies a compiler selection strategy. If `"auto"` is specified and source code contains valid `pragma solidity` directive, then compiler version will be automatically picked from it. If compile process will not succedd, the execution will fall back to _"compiler guessing"_: trying to compile source with a few different versions of the new and old Solidity compilers. The other option would be to specify a concrete supported compiler version string, like `"0.7.0"` for example. There is also a support for various compiler selection strategies, including used-defined custom ones (`CompilerVersionSelectionStrategy` interface implementations).
69
+ The second argument with the `"auto"` value specifies a compiler selection strategy. If `"auto"` is specified and source code contains valid `pragma solidity` directive, then compiler version will be automatically picked from it. If compile process will not succeed, the execution will fall back to _"compiler guessing"_: trying to compile source with a few different versions of the new and old Solidity compilers. The other option would be to specify a concrete supported compiler version string, like `"0.7.0"` for example. There is also a support for various compiler selection strategies, including used-defined custom ones (`CompilerVersionSelectionStrategy` interface implementations).
70
70
 
71
71
  ### Used compilers
72
72
 
@@ -84,7 +84,7 @@ export SOL_AST_COMPILER_CACHE=~/.compiler_cache
84
84
  sol-ast-compile sample.sol --compiler-kind native --tree
85
85
  ```
86
86
 
87
- #### Invalidation of downloaded compler cache
87
+ #### Invalidation of downloaded compiler cache
88
88
 
89
89
  If there is a need to invalidate the downloaded compiler cache, then follow next steps:
90
90
 
@@ -153,7 +153,7 @@ Use `--help` to see all available features.
153
153
 
154
154
  ## Project overview
155
155
 
156
- The project have following directory structure:
156
+ The project has following directory structure:
157
157
 
158
158
  ```
159
159
  ├── .compiler_cache # Cache of downloaded compilers (by default, if not configured by SOL_AST_COMPILER_CACHE).
@@ -178,7 +178,7 @@ The project have following directory structure:
178
178
  │   └── types # Solc AST typeString parser and AST.
179
179
  └── test # Tests:
180
180
     ├── integration # - Integration test suites.
181
-    ├── samples # - Solidity and compiler ourput JSON samples for the tests.
181
+    ├── samples # - Solidity and compiler output JSON samples for the tests.
182
182
     └── unit # - Unit test suites.
183
183
  ```
184
184
 
@@ -194,7 +194,7 @@ A key points for better understanding:
194
194
 
195
195
  ### Prerequisites
196
196
 
197
- We suggest to use latest NodeJS LTS release `lts/gallium` (v16.14.0) and associated version of NPM. If there is a need to run different NodeJS versions, consider using [NVM](https://github.com/nvm-sh/nvm) or similar tool, that is available for your platform.
197
+ Preinstall NodeJS of [compatible version](/.nvmrc). If there is a need to run different NodeJS versions, consider using [NVM](https://github.com/nvm-sh/nvm) or similar tool for your platform.
198
198
 
199
199
  ### Clone and build
200
200
 
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/compile/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAe9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAmB9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAc9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAkE,CAAC;AAElG,eAAO,MAAM,kBAAkB,UAsB9B,CAAC;AAEF,eAAO,MAAM,cAAc,YAM1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAM5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAgD,CAAC;AAEnF,oBAAY,YAAY;IACpB,IAAI,SAAS;IACb,MAAM,WAAW;CACpB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IACzB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,EAAE,OAAO;IACT,YAAY,gBAAgB;IAC5B,cAAc,kBAAkB;IAChC,GAAG,QAAQ;IACX,YAAY,iBAAiB;IAC7B,mBAAmB,uBAAuB;IAC1C,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,6BAA6B,kCAAkC;IAC/D,wCAAwC,6CAA6C;IACrF,qBAAqB,0BAA0B;IAC/C,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,GAAG,MAAM;CACZ;AAED,eAAO,MAAM,qBAAqB,aAA+C,CAAC;AAElF,eAAO,MAAM,0BAA0B,aAAoD,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/compile/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAe9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAmB9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAc9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAkE,CAAC;AAElG,eAAO,MAAM,kBAAkB,UAuB9B,CAAC;AAEF,eAAO,MAAM,cAAc,YAM1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAM5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAgD,CAAC;AAEnF,oBAAY,YAAY;IACpB,IAAI,SAAS;IACb,MAAM,WAAW;CACpB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IACzB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,EAAE,OAAO;IACT,YAAY,gBAAgB;IAC5B,cAAc,kBAAkB;IAChC,GAAG,QAAQ;IACX,YAAY,iBAAiB;IAC7B,mBAAmB,uBAAuB;IAC1C,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,6BAA6B,kCAAkC;IAC/D,wCAAwC,6CAA6C;IACrF,qBAAqB,0BAA0B;IAC/C,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,GAAG,MAAM;CACZ;AAED,eAAO,MAAM,qBAAqB,aAA+C,CAAC;AAElF,eAAO,MAAM,0BAA0B,aAAoD,CAAC"}
@@ -74,7 +74,8 @@ exports.CompilerVersions08 = [
74
74
  "0.8.17",
75
75
  "0.8.18",
76
76
  "0.8.19",
77
- "0.8.20"
77
+ "0.8.20",
78
+ "0.8.21"
78
79
  ];
79
80
  exports.CompilerSeries = [
80
81
  exports.CompilerVersions04,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/compile/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAC9B,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAErF,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,cAAc,GAAG;IAC1B,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;CACrB,CAAC;AAEW,QAAA,gBAAgB,GAAG;IAC5B,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;CACxB,CAAC;AAEW,QAAA,qBAAqB,GAAG,wBAAgB,CAAC,wBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEnF,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,6BAAa,CAAA;IACb,iCAAiB,CAAA;AACrB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED;;;GAGG;AACH,IAAY,iBAwBX;AAxBD,WAAY,iBAAiB;IACzB,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;IACrB,8BAAS,CAAA;IACT,iDAA4B,CAAA;IAC5B,qDAAgC,CAAA;IAChC,gCAAW,CAAA;IACX,kDAA6B,CAAA;IAC7B,+DAA0C,CAAA;IAC1C,kDAA6B,CAAA;IAC7B,gEAA2C,CAAA;IAC3C,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,gFAA2D,CAAA;IAC3D,oFAA+D,CAAA;IAC/D,0GAAqF,CAAA;IACrF,oEAA+C,CAAA;IAC/C,0DAAqC,CAAA;IACrC,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;IACzB,8BAAS,CAAA;AACb,CAAC,EAxBW,iBAAiB,iCAAjB,iBAAiB,QAwB5B;AAEY,QAAA,qBAAqB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAErE,QAAA,0BAA0B,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/compile/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAC9B,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAErF,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,cAAc,GAAG;IAC1B,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;CACrB,CAAC;AAEW,QAAA,gBAAgB,GAAG;IAC5B,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;CACxB,CAAC;AAEW,QAAA,qBAAqB,GAAG,wBAAgB,CAAC,wBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEnF,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,6BAAa,CAAA;IACb,iCAAiB,CAAA;AACrB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED;;;GAGG;AACH,IAAY,iBAwBX;AAxBD,WAAY,iBAAiB;IACzB,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;IACrB,8BAAS,CAAA;IACT,iDAA4B,CAAA;IAC5B,qDAAgC,CAAA;IAChC,gCAAW,CAAA;IACX,kDAA6B,CAAA;IAC7B,+DAA0C,CAAA;IAC1C,kDAA6B,CAAA;IAC7B,gEAA2C,CAAA;IAC3C,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,gFAA2D,CAAA;IAC3D,oFAA+D,CAAA;IAC/D,0GAAqF,CAAA;IACrF,oEAA+C,CAAA;IAC/C,0DAAqC,CAAA;IACrC,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;IACzB,8BAAS,CAAA;AACb,CAAC,EAxBW,iBAAiB,iCAAjB,iBAAiB,QAwB5B;AAEY,QAAA,qBAAqB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAErE,QAAA,0BAA0B,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/compile/kinds/compiler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAoB,MAAM,IAAI,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAUrC,8BAAsB,QAAQ;aACE,OAAO,EAAE,MAAM;aAAkB,IAAI,EAAE,MAAM;gBAA7C,OAAO,EAAE,MAAM,EAAkB,IAAI,EAAE,MAAM;IAEzE,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;CACvD;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAClC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;CA0ChD;AAED,qBAAa,YAAa,SAAQ,QAAQ;IAChC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;CAQhD;AAED,KAAK,eAAe,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAEjG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CASrF;AAED,wBAAsB,qBAAqB,CAAC,CAAC,SAAS,eAAe,EACjE,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GACX,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAwE3B;AAED,wBAAuB,0BAA0B,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAejG"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/compile/kinds/compiler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAoB,MAAM,IAAI,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAUrC,8BAAsB,QAAQ;aAEN,OAAO,EAAE,MAAM;aACf,IAAI,EAAE,MAAM;gBADZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM;IAGhC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;CACvD;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAClC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;CA0ChD;AAED,qBAAa,YAAa,SAAQ,QAAQ;IAChC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;CAQhD;AAED,KAAK,eAAe,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAEjG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CASrF;AAED,wBAAsB,qBAAqB,CAAC,CAAC,SAAS,eAAe,EACjE,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GACX,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CA6E3B;AAED,wBAAuB,0BAA0B,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAejG"}
@@ -101,8 +101,9 @@ async function getCompilerForVersion(version, kind) {
101
101
  const response = await axios_1.default.get(`${md_1.BINARIES_URL}/${prefix}/${compilerFileName}`, {
102
102
  responseType: "arraybuffer"
103
103
  });
104
+ const buf = Buffer.from(response.data);
104
105
  const hash = crypto_1.default.createHash("sha256");
105
- hash.update(response.data);
106
+ hash.update(buf);
106
107
  const digest = "0x" + hash.digest("hex");
107
108
  (0, misc_1.assert)(digest === build.sha256, `Downloaded ${prefix} compiler ${version} hash ${digest} does not match hash ${build.sha256} from "list.json"`);
108
109
  /**
@@ -110,7 +111,7 @@ async function getCompilerForVersion(version, kind) {
110
111
  * WASM compilers are loaded by NodeJS, so write them as readonly common files.
111
112
  */
112
113
  const permissions = kind === __1.CompilerKind.Native ? 0o555 : 0o444;
113
- await fs_extra_1.default.writeFile(compilerLocalPath, response.data, { mode: permissions });
114
+ await fs_extra_1.default.writeFile(compilerLocalPath, buf, { mode: permissions });
114
115
  }
115
116
  if (kind === __1.CompilerKind.Native) {
116
117
  return new NativeCompiler(version, compilerLocalPath);
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/compile/kinds/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/compile/kinds/compiler.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
+ /// <reference types="node" />
1
2
  import Decimal from "decimal.js";
2
- import { BinaryOperation, EtherUnit, Expression, FunctionCall, Literal, LiteralKind, TimeUnit, UnaryOperation } from "../ast";
3
+ import { BinaryOperation, EtherUnit, Expression, FunctionCall, IndexAccess, Literal, LiteralKind, TimeUnit, UnaryOperation, VariableDeclaration } from "../ast";
3
4
  import { InferType } from "./infer";
4
- export type Value = Decimal | boolean | string | bigint;
5
+ export type Value = Decimal | boolean | string | bigint | Buffer;
5
6
  export declare class EvalError extends Error {
6
7
  expr?: Expression;
7
8
  constructor(msg: string, expr?: Expression);
@@ -9,13 +10,14 @@ export declare class EvalError extends Error {
9
10
  export declare class NonConstantExpressionError extends EvalError {
10
11
  constructor(expr: Expression);
11
12
  }
12
- export declare function isConstant(expr: Expression): boolean;
13
+ export declare function isConstant(expr: Expression | VariableDeclaration): boolean;
13
14
  export declare function evalLiteralImpl(kind: LiteralKind, value: string, subdenomination?: TimeUnit | EtherUnit): Value;
14
15
  export declare function evalUnaryImpl(operator: string, value: Value): Value;
15
16
  export declare function evalBinaryImpl(operator: string, left: Value, right: Value): Value;
16
17
  export declare function evalLiteral(node: Literal): Value;
17
18
  export declare function evalUnary(node: UnaryOperation, inference: InferType): Value;
18
19
  export declare function evalBinary(node: BinaryOperation, inference: InferType): Value;
20
+ export declare function evalIndexAccess(node: IndexAccess, inference: InferType): Value;
19
21
  export declare function evalFunctionCall(node: FunctionCall, inference: InferType): Value;
20
22
  /**
21
23
  * Given a constant expression `expr` evaluate it to a concrete `Value`.
@@ -24,5 +26,5 @@ export declare function evalFunctionCall(node: FunctionCall, inference: InferTyp
24
26
  * @todo The order of some operations changed in some version.
25
27
  * Current implementation does not yet take it into an account.
26
28
  */
27
- export declare function evalConstantExpr(node: Expression, inference: InferType): Value;
29
+ export declare function evalConstantExpr(node: Expression | VariableDeclaration, inference: InferType): Value;
28
30
  //# sourceMappingURL=eval_const.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eval_const.d.ts","sourceRoot":"","sources":["../../src/types/eval_const.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EACH,eAAe,EAGf,SAAS,EACT,UAAU,EACV,YAAY,EAGZ,OAAO,EACP,WAAW,EACX,QAAQ,EAER,cAAc,EAEjB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAUpC,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAExD,qBAAa,SAAU,SAAQ,KAAK;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC;gBAEN,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU;CAK7C;AAED,qBAAa,0BAA2B,SAAQ,SAAS;gBACzC,IAAI,EAAE,UAAU;CAG/B;AA0BD,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CA6DpD;AAED,wBAAgB,eAAe,CAC3B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,QAAQ,GAAG,SAAS,GACvC,KAAK,CAmCP;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAsCnE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAiIjF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAchD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,CAiB3E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,CA2B7E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,CAoBhF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,CA6C9E"}
1
+ {"version":3,"file":"eval_const.d.ts","sourceRoot":"","sources":["../../src/types/eval_const.ts"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EACH,eAAe,EAGf,SAAS,EACT,UAAU,EACV,YAAY,EAGZ,WAAW,EACX,OAAO,EACP,WAAW,EAEX,QAAQ,EAER,cAAc,EACd,mBAAmB,EACtB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAUpC,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,qBAAa,SAAU,SAAQ,KAAK;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC;gBAEN,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU;CAK7C;AAED,qBAAa,0BAA2B,SAAQ,SAAS;gBACzC,IAAI,EAAE,UAAU;CAG/B;AA8BD,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB,GAAG,OAAO,CAwE1E;AAED,wBAAgB,eAAe,CAC3B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,QAAQ,GAAG,SAAS,GACvC,KAAK,CAmCP;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAsCnE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAiIjF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CA8BhD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,CAiB3E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,CA2B7E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,CA4C9E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,CAmDhF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,UAAU,GAAG,mBAAmB,EACtC,SAAS,EAAE,SAAS,GACrB,KAAK,CAoDP"}
@@ -3,7 +3,7 @@ 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.evalConstantExpr = exports.evalFunctionCall = exports.evalBinary = exports.evalUnary = exports.evalLiteral = exports.evalBinaryImpl = exports.evalUnaryImpl = exports.evalLiteralImpl = exports.isConstant = exports.NonConstantExpressionError = exports.EvalError = void 0;
6
+ exports.evalConstantExpr = exports.evalFunctionCall = exports.evalIndexAccess = exports.evalBinary = exports.evalUnary = exports.evalLiteral = exports.evalBinaryImpl = exports.evalUnaryImpl = exports.evalLiteralImpl = exports.isConstant = exports.NonConstantExpressionError = exports.EvalError = void 0;
7
7
  const decimal_js_1 = __importDefault(require("decimal.js"));
8
8
  const ast_1 = require("../ast");
9
9
  const misc_1 = require("../misc");
@@ -42,6 +42,9 @@ function promoteToDec(v) {
42
42
  if (typeof v === "string") {
43
43
  return new decimal_js_1.default(v === "" ? 0 : "0x" + Buffer.from(v, "utf-8").toString("hex"));
44
44
  }
45
+ if (v instanceof Buffer) {
46
+ return new decimal_js_1.default(v.length === 0 ? 0 : "0x" + v.toString("hex"));
47
+ }
45
48
  throw new Error(`Expected number not ${v}`);
46
49
  }
47
50
  function demoteFromDec(d) {
@@ -54,6 +57,12 @@ function isConstant(expr) {
54
57
  if (expr instanceof ast_1.UnaryOperation && isConstant(expr.vSubExpression)) {
55
58
  return true;
56
59
  }
60
+ if (expr instanceof ast_1.VariableDeclaration &&
61
+ expr.constant &&
62
+ expr.vValue &&
63
+ isConstant(expr.vValue)) {
64
+ return true;
65
+ }
57
66
  if (expr instanceof ast_1.BinaryOperation &&
58
67
  isConstant(expr.vLeftExpression) &&
59
68
  isConstant(expr.vRightExpression)) {
@@ -75,14 +84,14 @@ function isConstant(expr) {
75
84
  isConstant(expr.vFalseExpression)) {
76
85
  return true;
77
86
  }
78
- if (expr instanceof ast_1.Identifier) {
79
- const decl = expr.vReferencedDeclaration;
80
- if (decl instanceof ast_1.VariableDeclaration &&
81
- decl.constant &&
82
- decl.vValue &&
83
- isConstant(decl.vValue)) {
84
- return true;
85
- }
87
+ if (expr instanceof ast_1.Identifier || expr instanceof ast_1.MemberAccess) {
88
+ return (expr.vReferencedDeclaration instanceof ast_1.VariableDeclaration &&
89
+ isConstant(expr.vReferencedDeclaration));
90
+ }
91
+ if (expr instanceof ast_1.IndexAccess) {
92
+ return (isConstant(expr.vBaseExpression) &&
93
+ expr.vIndexExpression !== undefined &&
94
+ isConstant(expr.vIndexExpression));
86
95
  }
87
96
  if (expr instanceof ast_1.FunctionCall &&
88
97
  expr.kind === ast_1.FunctionCallKind.TypeConversion &&
@@ -97,7 +106,7 @@ function evalLiteralImpl(kind, value, subdenomination) {
97
106
  return value === "true";
98
107
  }
99
108
  if (kind === ast_1.LiteralKind.HexString) {
100
- return value === "" ? 0n : BigInt("0x" + value);
109
+ return Buffer.from(value, "hex");
101
110
  }
102
111
  if (kind === ast_1.LiteralKind.String || kind === ast_1.LiteralKind.UnicodeString) {
103
112
  return value;
@@ -257,8 +266,25 @@ function evalBinaryImpl(operator, left, right) {
257
266
  }
258
267
  exports.evalBinaryImpl = evalBinaryImpl;
259
268
  function evalLiteral(node) {
269
+ let kind = node.kind;
270
+ /**
271
+ * An example:
272
+ *
273
+ * ```solidity
274
+ * contract Test {
275
+ * bytes4 constant s = "\x75\x32\xea\xac";
276
+ * }
277
+ * ```
278
+ *
279
+ * Note that compiler leaves "null" as string value,
280
+ * so we have to rely on hexadecimal representation instead.
281
+ */
282
+ if ((kind === ast_1.LiteralKind.String || kind === ast_1.LiteralKind.UnicodeString) && node.value == null) {
283
+ kind = ast_1.LiteralKind.HexString;
284
+ }
285
+ const value = kind === ast_1.LiteralKind.HexString ? node.hexValue : node.value;
260
286
  try {
261
- return evalLiteralImpl(node.kind, node.kind === ast_1.LiteralKind.HexString ? node.hexValue : node.value, node.subdenomination);
287
+ return evalLiteralImpl(kind, value, node.subdenomination);
262
288
  }
263
289
  catch (e) {
264
290
  if (e instanceof EvalError) {
@@ -306,14 +332,66 @@ function evalBinary(node, inference) {
306
332
  }
307
333
  }
308
334
  exports.evalBinary = evalBinary;
335
+ function evalIndexAccess(node, inference) {
336
+ const base = evalConstantExpr(node.vBaseExpression, inference);
337
+ const index = evalConstantExpr(node.vIndexExpression, inference);
338
+ if (!(typeof index === "bigint" || index instanceof decimal_js_1.default)) {
339
+ throw new EvalError(`Unexpected non-numeric index into base in expression ${(0, misc_1.pp)(node)}`, node);
340
+ }
341
+ const plainIndex = index instanceof decimal_js_1.default ? index.toNumber() : Number(index);
342
+ if (typeof base === "bigint" || base instanceof decimal_js_1.default) {
343
+ let baseHex = base instanceof decimal_js_1.default ? base.toHex().slice(2) : base.toString(16);
344
+ if (baseHex.length % 2 !== 0) {
345
+ baseHex = "0" + baseHex;
346
+ }
347
+ const indexInHex = plainIndex * 2;
348
+ if (indexInHex >= baseHex.length) {
349
+ throw new EvalError(`Out-of-bounds index access ${indexInHex} (originally ${plainIndex}) to "${baseHex}"`);
350
+ }
351
+ return BigInt("0x" + baseHex.slice(indexInHex, indexInHex + 2));
352
+ }
353
+ if (base instanceof Buffer) {
354
+ const res = base.at(plainIndex);
355
+ if (res === undefined) {
356
+ throw new EvalError(`Out-of-bounds index access ${plainIndex} to ${base.toString("hex")}`);
357
+ }
358
+ return BigInt(res);
359
+ }
360
+ throw new EvalError(`Unable to process ${(0, misc_1.pp)(node)}`, node);
361
+ }
362
+ exports.evalIndexAccess = evalIndexAccess;
309
363
  function evalFunctionCall(node, inference) {
310
- (0, misc_1.assert)(node.kind === ast_1.FunctionCallKind.TypeConversion, 'Expected constant call to be a "{0}", but got "{1}" instead', ast_1.FunctionCallKind.TypeConversion, node.kind);
364
+ if (node.kind !== ast_1.FunctionCallKind.TypeConversion) {
365
+ throw new EvalError(`Expected function call to have kind "${ast_1.FunctionCallKind.TypeConversion}", but got "${node.kind}" instead`, node);
366
+ }
367
+ if (!(node.vExpression instanceof ast_1.ElementaryTypeNameExpression)) {
368
+ throw new EvalError(`Expected function call expression to be an ${ast_1.ElementaryTypeNameExpression.name}, but got "${node.type}" instead`, node);
369
+ }
311
370
  const val = evalConstantExpr(node.vArguments[0], inference);
312
- if (typeof val === "bigint" && node.vExpression instanceof ast_1.ElementaryTypeNameExpression) {
313
- const castT = inference.typeOfElementaryTypeNameExpression(node.vExpression);
314
- const toT = castT.type;
315
- if (toT instanceof ast_2.IntType) {
316
- return (0, utils_1.clampIntToType)(val, toT);
371
+ const castT = inference.typeOfElementaryTypeNameExpression(node.vExpression).type;
372
+ if (typeof val === "bigint") {
373
+ if (castT instanceof ast_2.IntType) {
374
+ return (0, utils_1.clampIntToType)(val, castT);
375
+ }
376
+ if (castT instanceof ast_2.FixedBytesType) {
377
+ return (0, utils_1.clampIntToType)(val, new ast_2.IntType(castT.size * 8, false));
378
+ }
379
+ }
380
+ if (typeof val === "string") {
381
+ if (castT instanceof ast_2.BytesType) {
382
+ return Buffer.from(val, "utf-8");
383
+ }
384
+ if (castT instanceof ast_2.FixedBytesType) {
385
+ const buf = Buffer.from(val, "utf-8");
386
+ return BigInt("0x" + buf.slice(0, castT.size).toString("hex"));
387
+ }
388
+ }
389
+ if (val instanceof Buffer) {
390
+ if (castT instanceof ast_2.StringType) {
391
+ return val.toString("utf-8");
392
+ }
393
+ if (castT instanceof ast_2.FixedBytesType) {
394
+ return BigInt("0x" + val.slice(0, castT.size).toString("hex"));
317
395
  }
318
396
  }
319
397
  return val;
@@ -347,11 +425,14 @@ function evalConstantExpr(node, inference) {
347
425
  ? evalConstantExpr(node.vTrueExpression, inference)
348
426
  : evalConstantExpr(node.vFalseExpression, inference);
349
427
  }
350
- if (node instanceof ast_1.Identifier) {
351
- const decl = node.vReferencedDeclaration;
352
- if (decl instanceof ast_1.VariableDeclaration) {
353
- return evalConstantExpr(decl.vValue, inference);
354
- }
428
+ if (node instanceof ast_1.VariableDeclaration) {
429
+ return evalConstantExpr(node.vValue, inference);
430
+ }
431
+ if (node instanceof ast_1.Identifier || node instanceof ast_1.MemberAccess) {
432
+ return evalConstantExpr(node.vReferencedDeclaration, inference);
433
+ }
434
+ if (node instanceof ast_1.IndexAccess) {
435
+ return evalIndexAccess(node, inference);
355
436
  }
356
437
  if (node instanceof ast_1.FunctionCall) {
357
438
  return evalFunctionCall(node, inference);
@@ -1 +1 @@
1
- {"version":3,"file":"eval_const.js","sourceRoot":"","sources":["../../src/types/eval_const.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eval_const.js","sourceRoot":"","sources":["../../src/types/eval_const.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../../src/types/infer.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,OAAO,EAGP,UAAU,EACV,eAAe,EACf,WAAW,EACX,kBAAkB,EAGlB,4BAA4B,EAE5B,eAAe,EACf,eAAe,EACf,UAAU,EAEV,YAAY,EAGZ,kBAAkB,EAIlB,UAAU,EAGV,WAAW,EACX,gBAAgB,EAChB,OAAO,EAGP,YAAY,EACZ,kBAAkB,EAClB,aAAa,EAKb,cAAc,EACd,eAAe,EACf,QAAQ,EACR,cAAc,EAGd,mBAAmB,EAKtB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,YAAY,EAAyB,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAyD,MAAM,OAAO,CAAC;AACjG,OAAO,EAIH,mBAAmB,EAGnB,SAAS,EACT,SAAS,EAGT,YAAY,EAEZ,cAAc,EACd,OAAO,EAWP,YAAY,EACZ,QAAQ,EAGX,MAAM,OAAO,CAAC;AAwCf;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAA;CAsBrE,CAAC;AA8DF,qBAAa,SAAS;aACU,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;IAE3C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ;IAsC5C;;OAEG;IACH,kBAAkB,CACd,CAAC,EAAE,OAAO,GAAG,cAAc,EAC3B,CAAC,EAAE,OAAO,GAAG,cAAc,GAC5B,OAAO,GAAG,cAAc;IAgE3B;;;;OAIG;IACH,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAgInD,2BAA2B,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,GAAG,QAAQ,GAAG,SAAS;IAoBzF;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ;IAmFtD;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ;IAO9C;;OAEG;IACH,2BAA2B,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ;IAwBzD;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ;IA8BlD;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ;IAc3C,OAAO,CAAC,cAAc;IA0CtB;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAyBnC;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ;IAkDhD,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ;IAsC9C,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,GAAG,QAAQ;IAoBxD;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ;IAoC7C;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ;IAwBzC,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ;IA0I5C,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ;IA4CtC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAwFlC;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ;IAoChD,OAAO,CAAC,sBAAsB;IAmR9B,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ;IA8BrD,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ;IAoDtD,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ;IAyCpD,kCAAkC,CAAC,IAAI,EAAE,4BAA4B,GAAG,YAAY;IAoBpF;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ;IA4DlC;;;;;;;;;;OAUG;IACH,cAAc,CACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,EACzB,YAAY,EAAE,OAAO,GACtB,QAAQ,GAAG,SAAS;IAoJvB;;;OAGG;IACH,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY;IA0ClE;;;OAGG;IACH,6BAA6B,CAAC,IAAI,EAAE,mBAAmB,GAAG,QAAQ;IAclE;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,kBAAkB,EAAE,gBAAgB,UAAQ,GAAG,YAAY;IAmB7E,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS;IAQ/C,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS;IAQ7C;;OAEG;IACH,aAAa,CAAC,CAAC,EAAE,mBAAmB,GAAG,YAAY;IAYnD,6BAA6B,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB;IAQ/D;;;OAGG;IACH,mBAAmB,CAAC,CAAC,EAAE,mBAAmB,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC;IA0EnE;;;;;OAKG;IACH,MAAM,CAAC,kCAAkC,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IA+C7E;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IA8E5C;;;OAGG;IACH,6BAA6B,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAG,QAAQ;IAI1E;;;;;;;;;;;;;;;;OAgBG;IACH,wBAAwB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO;IA0BhD,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,GAAG,OAAO;IAgD1E;;;;;;;;;;;;OAYG;IACH,gBAAgB,CACZ,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,iBAAiB,EACjC,iBAAiB,UAAQ,GAC1B,QAAQ;IA6DX;;;;OAIG;IACH,SAAS,CACL,IAAI,EACE,kBAAkB,GAClB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,mBAAmB,GACnB,cAAc,GACrB,MAAM;IA8DT;;;;;;OAMG;IACH,aAAa,CACT,IAAI,EACE,kBAAkB,GAClB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,mBAAmB,GACnB,cAAc,GACrB,MAAM;IAsBT,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS;IA+B7D;;;;;;;;;;;OAWG;IACH,YAAY,CACR,QAAQ,EAAE,YAAY,GACvB,YAAY,GAAG,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS;IAuCzE,OAAO,CAAC,qBAAqB;IA8C7B,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;CA4CtD"}
1
+ {"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../../src/types/infer.ts"],"names":[],"mappings":"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"}
@@ -1477,13 +1477,6 @@ class InferType {
1477
1477
  (0, misc_1.assert)(this.isABIEncodable(type, encoderVersion), 'Can not ABI-encode type "{0}" with encoder "{1}"', type, encoderVersion);
1478
1478
  if (type instanceof ast_2.ArrayType) {
1479
1479
  const elT = this.toABIEncodedType(type.elementT, encoderVersion);
1480
- if (type.size !== undefined) {
1481
- const elements = [];
1482
- for (let i = 0; i < type.size; i++) {
1483
- elements.push(elT);
1484
- }
1485
- return new ast_2.TupleType(elements);
1486
- }
1487
1480
  return new ast_2.ArrayType(elT, type.size);
1488
1481
  }
1489
1482
  if (type instanceof ast_2.PointerType) {
@@ -1 +1 @@
1
- {"version":3,"file":"infer.js","sourceRoot":"","sources":["../../src/types/infer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infer.js","sourceRoot":"","sources":["../../src/types/infer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solc-typed-ast",
3
- "version": "16.0.0",
3
+ "version": "17.0.0",
4
4
  "description": "A TypeScript library providing a normalized typed Solidity AST along with the utilities necessary to generate the AST (from Solc) and traverse/manipulate it.",
5
5
  "keywords": [],
6
6
  "files": [
@@ -27,36 +27,36 @@
27
27
  "prepare": "npm run build"
28
28
  },
29
29
  "dependencies": {
30
- "axios": "^1.4.0",
30
+ "axios": "^1.5.1",
31
31
  "commander": "^11.0.0",
32
32
  "decimal.js": "^10.4.3",
33
33
  "findup-sync": "^5.0.0",
34
34
  "fs-extra": "^11.1.1",
35
35
  "jsel": "^1.1.6",
36
36
  "semver": "^7.5.4",
37
- "solc": "^0.8.20",
37
+ "solc": "^0.8.21",
38
38
  "src-location": "^1.1.0",
39
- "web3-eth-abi": "^4.0.2"
39
+ "web3-eth-abi": "^4.1.2"
40
40
  },
41
41
  "devDependencies": {
42
- "@types/fs-extra": "^11.0.1",
43
- "@types/mocha": "^10.0.1",
44
- "@types/node": "^16.18.38",
45
- "@types/semver": "^7.5.0",
46
- "@typescript-eslint/eslint-plugin": "^5.61.0",
47
- "@typescript-eslint/parser": "^5.61.0",
48
- "eslint": "^8.44.0",
49
- "eslint-config-prettier": "^8.8.0",
50
- "eslint-plugin-prettier": "^4.2.1",
51
- "expect": "^29.6.1",
42
+ "@types/fs-extra": "^11.0.2",
43
+ "@types/mocha": "^10.0.2",
44
+ "@types/node": "^16.18.55",
45
+ "@types/semver": "^7.5.3",
46
+ "@typescript-eslint/eslint-plugin": "^6.7.3",
47
+ "@typescript-eslint/parser": "^6.7.3",
48
+ "eslint": "^8.50.0",
49
+ "eslint-config-prettier": "^9.0.0",
50
+ "eslint-plugin-prettier": "^5.0.0",
51
+ "expect": "^29.7.0",
52
52
  "mocha": "^10.2.0",
53
53
  "nyc": "^15.1.0",
54
54
  "peggy": "^2.0.1",
55
- "prettier": "2.8.8",
55
+ "prettier": "3.0.3",
56
56
  "ts-node": "^10.9.1",
57
57
  "ts-pegjs": "^3.1.0",
58
- "typedoc": "^0.24.8",
59
- "typescript": "^5.1.6"
58
+ "typedoc": "^0.25.1",
59
+ "typescript": "^5.2.2"
60
60
  },
61
61
  "homepage": "https://consensys.github.io/solc-typed-ast",
62
62
  "bugs": "https://github.com/ConsenSys/solc-typed-ast/issues",