sol-dbg 0.0.9 → 0.1.1

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.
@@ -27,4 +27,5 @@ export declare function decodeMsgData(callee: FunctionDefinition | VariableDecla
27
27
  * @see https://docs.soliditylang.org/en/latest/abi-spec.html
28
28
  */
29
29
  export declare function toABIEncodedType(type: TypeNode, infer: InferType, encoderVersion: ABIEncoderVersion): TypeNode;
30
+ export declare function isABITypeStaticSized(type: TypeNode): boolean;
30
31
  //# sourceMappingURL=abi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/debug/abi.ts"],"names":[],"mappings":";AAAA,OAAO,EAOH,YAAY,IAAI,eAAe,EAI/B,kBAAkB,EAClB,SAAS,EAOT,QAAQ,EAGR,mBAAmB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;AAG/C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,GAAG,QAAQ,CAmCjF;AA6CD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CACzB,MAAM,EAAE,kBAAkB,GAAG,mBAAmB,EAChD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EACzD,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,iBAAiB,GAClC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CAuCvC;AA4CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,iBAAiB,GAClC,QAAQ,CAyDV"}
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/debug/abi.ts"],"names":[],"mappings":";AAAA,OAAO,EAOH,YAAY,IAAI,eAAe,EAI/B,kBAAkB,EAClB,SAAS,EAOT,QAAQ,EAGR,mBAAmB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;AAG/C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,GAAG,QAAQ,CAmCjF;AA6CD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CACzB,MAAM,EAAE,kBAAkB,GAAG,mBAAmB,EAChD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EACzD,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,iBAAiB,GAClC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CAuCvC;AA6CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,iBAAiB,GAClC,QAAQ,CAyDV;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAkC5D"}
package/dist/debug/abi.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toABIEncodedType = exports.decodeMsgData = exports.changeToLocation = void 0;
3
+ exports.isABITypeStaticSized = exports.toABIEncodedType = exports.decodeMsgData = exports.changeToLocation = void 0;
4
4
  const solc_typed_ast_1 = require("solc-typed-ast");
5
5
  const abi_1 = require("solc-typed-ast/dist/types/abi");
6
6
  const utils_1 = require("../utils");
@@ -182,4 +182,32 @@ function toABIEncodedType(type, infer, encoderVersion) {
182
182
  return type;
183
183
  }
184
184
  exports.toABIEncodedType = toABIEncodedType;
185
+ function isABITypeStaticSized(type) {
186
+ if (type instanceof solc_typed_ast_1.ArrayType) {
187
+ return type.size !== undefined && isABITypeStaticSized(type.elementT);
188
+ }
189
+ if (type instanceof solc_typed_ast_1.PointerType) {
190
+ return isABITypeStaticSized(type.to);
191
+ }
192
+ if (type instanceof solc_typed_ast_1.TupleType) {
193
+ for (const elT of type.elements) {
194
+ (0, solc_typed_ast_1.assert)(elT !== null, ``);
195
+ if (!isABITypeStaticSized(elT)) {
196
+ return false;
197
+ }
198
+ }
199
+ return true;
200
+ }
201
+ if (type instanceof solc_typed_ast_1.StringType || type instanceof solc_typed_ast_1.BytesType) {
202
+ return false;
203
+ }
204
+ if (type instanceof solc_typed_ast_1.IntType ||
205
+ type instanceof solc_typed_ast_1.AddressType ||
206
+ type instanceof solc_typed_ast_1.BoolType ||
207
+ type instanceof solc_typed_ast_1.FixedBytesType) {
208
+ return true;
209
+ }
210
+ throw new Error(`NYI isABITypeStaticSized(${type.pp()})`);
211
+ }
212
+ exports.isABITypeStaticSized = isABITypeStaticSized;
185
213
  //# sourceMappingURL=abi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../src/debug/abi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../src/debug/abi.ts"],"names":[],"mappings":";;;AAAA,mDAuBwB;AACxB,uDAAkE;AAElE,oCAA+C;AAE/C,SAAgB,gBAAgB,CAAC,GAAa,EAAE,MAAuB;IACnE,IAAI,GAAG,YAAY,4BAAW,EAAE;QAC5B,OAAO,IAAI,4BAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;KAC9E;IAED,IAAI,GAAG,YAAY,0BAAS,EAAE;QAC1B,OAAO,IAAI,0BAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;KAC1E;IAED,IAAI,GAAG,YAAY,4BAAW,EAAE;QAC5B,IAAA,uBAAM,EACF,MAAM,KAAK,6BAAe,CAAC,OAAO,EAClC,iCAAiC,GAAG,CAAC,EAAE,EAAE,OAAO,MAAM,EAAE,CAC3D,CAAC;QAEF,OAAO,GAAG,CAAC;KACd;IAED,IAAI,GAAG,YAAY,0BAAS,EAAE;QAC1B,OAAO,IAAI,0BAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAe,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;KAC9F;IAED,IACI,GAAG,YAAY,wBAAO;QACtB,GAAG,YAAY,yBAAQ;QACvB,GAAG,YAAY,4BAAW;QAC1B,GAAG,YAAY,+BAAc;QAC7B,GAAG,YAAY,2BAAU;QACzB,GAAG,YAAY,0BAAS;QACxB,GAAG,YAAY,gCAAe,EAChC;QACE,OAAO,GAAG,CAAC;KACd;IAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAClE,CAAC;AAnCD,4CAmCC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAAa;IACpC,IACI,GAAG,YAAY,wBAAO;QACtB,GAAG,YAAY,4BAAW;QAC1B,GAAG,YAAY,+BAAc;QAC7B,GAAG,YAAY,yBAAQ;QACvB,GAAG,YAAY,4BAAW,EAC5B;QACE,OAAO,EAAE,CAAC;KACb;IAED,IAAI,GAAG,YAAY,gCAAe,EAAE;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC;QAE3B,IACI,GAAG,YAAY,+BAAc;YAC7B,GAAG,YAAY,mCAAkB;YACjC,GAAG,YAAY,+CAA8B,EAC/C;YACE,OAAO,EAAE,CAAC;SACb;QAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;KACjE;IAED,IAAI,GAAG,YAAY,0BAAS,EAAE;QAC1B,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE;YAC5B,IAAA,uBAAM,EAAC,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;SACjC;QAED,OAAO,GAAG,CAAC;KACd;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,aAAa,CACzB,MAAgD,EAChD,IAAY,EACZ,IAAyD,EACzD,KAAgB,EAChB,cAAiC;IAEjC,MAAM,GAAG,GAA0C,EAAE,CAAC;IAEtD,MAAM,QAAQ,GACV,MAAM,YAAY,mCAAkB;QAChC,CAAC,CAAC,IAAA,2BAAmB,EAAC,MAAM,EAAE,KAAK,CAAC;QACpC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtC,IAAA,uBAAM,EACF,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC7C,qBAAqB,QAAQ,gBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAClE,CAAC;IAEF,MAAM,OAAO,GACT,MAAM,YAAY,mCAAkB;QAChC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI;YACX,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC;SAC9C,CAAC;QACJ,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAElF,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IAExB,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,OAAO,EAAE;QACxC,MAAM,GAAG,GAAG,gBAAgB,CAAC,YAAY,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,GAAG,GACL,SAAS,GAAG,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAErF,SAAS,IAAI,UAAU,CAAC;QAExB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1D,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;KACzB;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AA7CD,sCA6CC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,qBAAqB,CAAC,GAAa;IACxC,IACI,GAAG,YAAY,4BAAW;QAC1B,GAAG,YAAY,0BAAS;QACxB,GAAG,YAAY,2BAAU;QACzB,GAAG,YAAY,0BAAS,EAC1B;QACE,OAAO,IAAI,CAAC;KACf;IAED,0CAA0C;IAC1C,IAAI,GAAG,YAAY,0BAAS,EAAE;QAC1B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE;YAC5B,IAAA,uBAAM,EAAC,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;YAEzB,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAC5B,IAAc,EACd,KAAgB,EAChB,cAAiC;IAEjC,IAAI,IAAI,YAAY,4BAAW,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;KACtD;IAED,IAAI,IAAI,YAAY,0BAAS,EAAE;QAC3B,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAE/E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YACzB,MAAM,QAAQ,GAAG,EAAE,CAAC;YAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBAChC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAClC;YAED,OAAO,IAAI,0BAAS,CAAC,QAAQ,CAAC,CAAC;SAClC;QAED,OAAO,IAAI,0BAAS,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KACpD;IAED,IAAI,IAAI,YAAY,4BAAW,EAAE;QAC7B,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAE7D,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,4BAAW,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;KACjF;IAED,IAAI,IAAI,YAAY,gCAAe,EAAE;QACjC,IAAI,IAAI,CAAC,UAAU,YAAY,+CAA8B,EAAE;YAC3D,OAAO,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SACnE;QAED,IAAI,IAAI,CAAC,UAAU,YAAY,mCAAkB,EAAE;YAC/C,OAAO,IAAI,4BAAW,CAAC,KAAK,CAAC,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,UAAU,YAAY,+BAAc,EAAE;YAC3C,OAAO,IAAA,8BAAa,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACzC;QAED,IAAI,IAAI,CAAC,UAAU,YAAY,iCAAgB,EAAE;YAC7C,IAAA,uBAAM,EACF,cAAc,KAAK,uBAAiB,CAAC,EAAE,EACvC,mEAAmE,CACtE,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpD,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAC9C,CAAC;YAEF,OAAO,IAAI,0BAAS,CAChB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAC3E,CAAC;SACL;KACJ;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AA7DD,4CA6DC;AAED,SAAgB,oBAAoB,CAAC,IAAc;IAC/C,IAAI,IAAI,YAAY,0BAAS,EAAE;QAC3B,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACzE;IAED,IAAI,IAAI,YAAY,4BAAW,EAAE;QAC7B,OAAO,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACxC;IAED,IAAI,IAAI,YAAY,0BAAS,EAAE;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC7B,IAAA,uBAAM,EAAC,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE;gBAC5B,OAAO,KAAK,CAAC;aAChB;SACJ;QAED,OAAO,IAAI,CAAC;KACf;IAED,IAAI,IAAI,YAAY,2BAAU,IAAI,IAAI,YAAY,0BAAS,EAAE;QACzD,OAAO,KAAK,CAAC;KAChB;IAED,IACI,IAAI,YAAY,wBAAO;QACvB,IAAI,YAAY,4BAAW;QAC3B,IAAI,YAAY,yBAAQ;QACxB,IAAI,YAAY,+BAAc,EAChC;QACE,OAAO,IAAI,CAAC;KACf;IAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC;AAlCD,oDAkCC"}
@@ -2,6 +2,5 @@ import { ArrayType, InferType, TypeNode } from "solc-typed-ast";
2
2
  import { CalldataLocation } from "..";
3
3
  import { Memory } from "../..";
4
4
  export declare function cd_decodeArrayContents(abiType: ArrayType, origType: ArrayType | undefined, arrOffset: bigint, numLen: number, calldata: Memory, infer: InferType): undefined | [any[], number];
5
- export declare function isABITypeStaticSized(type: TypeNode): boolean;
6
5
  export declare function cd_decodeValue(abiType: TypeNode, origType: TypeNode | undefined, loc: CalldataLocation, calldata: Memory, callDataBaseOff: bigint | undefined, infer: InferType): undefined | [any, number];
7
6
  //# sourceMappingURL=calldata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calldata.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/calldata.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,SAAS,EAMT,SAAS,EAMT,QAAQ,EAEX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAoD,MAAM,IAAI,CAAC;AACxF,OAAO,EAKH,MAAM,EAET,MAAM,OAAO,CAAC;AAwHf,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,SAAS,GAAG,SAAS,EAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,GACjB,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CA+B7B;AA4LD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAkC5D;AAED,wBAAgB,cAAc,CAC1B,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,EAChB,eAAe,oBAAY,EAC3B,KAAK,EAAE,SAAS,GACjB,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAsE3B"}
1
+ {"version":3,"file":"calldata.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/calldata.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,SAAS,EAMT,SAAS,EAMT,QAAQ,EAEX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,gBAAgB,EAKnB,MAAM,IAAI,CAAC;AACZ,OAAO,EAKH,MAAM,EAET,MAAM,OAAO,CAAC;AAwHf,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,SAAS,GAAG,SAAS,EAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,GACjB,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CA+B7B;AA4LD,wBAAgB,cAAc,CAC1B,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,EAChB,eAAe,oBAAY,EAC3B,KAAK,EAAE,SAAS,GACjB,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAsE3B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cd_decodeValue = exports.isABITypeStaticSized = exports.cd_decodeArrayContents = void 0;
3
+ exports.cd_decodeValue = exports.cd_decodeArrayContents = void 0;
4
4
  const ethereumjs_util_1 = require("ethereumjs-util");
5
5
  const solc_typed_ast_1 = require("solc-typed-ast");
6
6
  const __1 = require("..");
@@ -194,34 +194,6 @@ function cd_decodePointer(abiType, origType, loc, calldata, callDataBaseOff, inf
194
194
  }
195
195
  return [pointedToValue[0], size];
196
196
  }
197
- function isABITypeStaticSized(type) {
198
- if (type instanceof solc_typed_ast_1.ArrayType) {
199
- return type.size !== undefined && isABITypeStaticSized(type.elementT);
200
- }
201
- if (type instanceof solc_typed_ast_1.PointerType) {
202
- return isABITypeStaticSized(type.to);
203
- }
204
- if (type instanceof solc_typed_ast_1.TupleType) {
205
- for (const elT of type.elements) {
206
- (0, solc_typed_ast_1.assert)(elT !== null, ``);
207
- if (!isABITypeStaticSized(elT)) {
208
- return false;
209
- }
210
- }
211
- return true;
212
- }
213
- if (type instanceof solc_typed_ast_1.StringType || type instanceof solc_typed_ast_1.BytesType) {
214
- return false;
215
- }
216
- if (type instanceof solc_typed_ast_1.IntType ||
217
- type instanceof solc_typed_ast_1.AddressType ||
218
- type instanceof solc_typed_ast_1.BoolType ||
219
- type instanceof solc_typed_ast_1.FixedBytesType) {
220
- return true;
221
- }
222
- throw new Error(`NYI isABITypeStaticSized(${type.pp()})`);
223
- }
224
- exports.isABITypeStaticSized = isABITypeStaticSized;
225
197
  function cd_decodeValue(abiType, origType, loc, calldata, callDataBaseOff = BigInt(4), infer) {
226
198
  /*
227
199
  console.error(
@@ -256,7 +228,7 @@ function cd_decodeValue(abiType, origType, loc, calldata, callDataBaseOff = BigI
256
228
  if (abiType instanceof solc_typed_ast_1.PointerType) {
257
229
  (0, solc_typed_ast_1.assert)(origType === undefined || origType instanceof solc_typed_ast_1.PointerType, `Unexpected original type {0}`, origType);
258
230
  // Fixed-sized data types are emitted inline, not in the dynamic region
259
- if (isABITypeStaticSized(abiType)) {
231
+ if ((0, __1.isABITypeStaticSized)(abiType)) {
260
232
  const origPointedToType = origType === undefined ? undefined : origType.to;
261
233
  return cd_decodeValue(abiType.to, origPointedToType, loc, calldata, callDataBaseOff, infer);
262
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"calldata.js","sourceRoot":"","sources":["../../../src/debug/decoding/calldata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calldata.js","sourceRoot":"","sources":["../../../src/debug/decoding/calldata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /// <reference types="node" />
2
+ import VM from "@ethereumjs/vm";
3
+ import { ExecResult } from "@ethereumjs/vm/dist/evm/evm";
4
+ import { PrecompileInput } from "@ethereumjs/vm/dist/evm/precompiles";
5
+ import { Address } from "ethereumjs-util";
6
+ import Interpreter from "@ethereumjs/vm/dist/evm/interpreter";
7
+ import EEI from "@ethereumjs/vm/dist/evm/eei";
8
+ import EventEmitter from "events";
9
+ /**
10
+ * Each test/cases/debug session is associated with a unique VM. And there are
11
+ * multiple interpreter instances per VM. We keep 1 event emitter per VM, so
12
+ * that after we are done working with some VM, we don't unnecessarily invoke
13
+ * its callbacks.
14
+ */
15
+ export declare const interpRunListeners: Map<VM, EventEmitter>;
16
+ export declare const FoundryCheatcodesAddress: Address;
17
+ export declare const WARP_SELECTOR: string;
18
+ export declare const ROLL_SELECTOR: string;
19
+ export declare const LOAD_SELECTOR: string;
20
+ export declare const STORE_SELECTOR: string;
21
+ export declare const SIGN_SELECTOR: string;
22
+ export declare const ADDR_SELECTOR: string;
23
+ export declare const DEAL_SELECTOR: string;
24
+ export declare const PRANK_SELECTOR01: string;
25
+ export declare const PRANK_SELECTOR02: string;
26
+ export declare const START_PRANK_SELECTOR01: string;
27
+ export declare const START_PRANK_SELECTOR02: string;
28
+ export declare const STOP_PRANK_SELECTOR: string;
29
+ export declare const FAIL_LOC: string;
30
+ export declare const FAIL_MSG_DATA: string;
31
+ export interface FoundryPrank {
32
+ sender: Address;
33
+ origin: Address | undefined;
34
+ once: boolean;
35
+ }
36
+ /**
37
+ * Helper class attached to each VM object, that contains state relevant to Foundry cheatcodes.
38
+ */
39
+ export declare class FoundryContext {
40
+ timeWarp: bigint | undefined;
41
+ rollBockNum: bigint | undefined;
42
+ failCalled: boolean;
43
+ /**
44
+ * We keep track of the current stack of EEI objects, in order to keep track
45
+ * of any pranks (pending and current). Its easier to attach pranks to EEI
46
+ * objects, as there is a unique EEI object for each external call in the
47
+ * trace, and pranks are scoped to external calls.
48
+ */
49
+ private eeiStack;
50
+ getEEI(): EEI;
51
+ getPendingPrank(): FoundryPrank | undefined;
52
+ setPendingPrank(prank: FoundryPrank | undefined): void;
53
+ /**
54
+ * Get the set of pranks attached to the callframe related to eei.
55
+ * Note that for flexibility we allow more than 1 prank, but in practice
56
+ * foundry restricts this to only 1 prank at a time.
57
+ */
58
+ private getPranks;
59
+ /**
60
+ * Add a prank to a call frame identified by `eei`.
61
+ */
62
+ addPrank(eei: EEI, prank: FoundryPrank): void;
63
+ /**
64
+ * Clear all active and pending pranks.
65
+ */
66
+ clearPranks(): void;
67
+ /**
68
+ * Look through the current pranks to see if we should override sender and/or origin.
69
+ * If `recurse` is false, only look at the top most call frame (the behavior for msg.sender pranks).
70
+ * If `recurse` is true, look down the call stack (the behavior for tx.origin pranks)
71
+ */
72
+ matchPrank(recurse: boolean): [Address | undefined, Address | undefined];
73
+ /**
74
+ * Callback from the hooks in the interpreter to keep track of the
75
+ * eei stack
76
+ */
77
+ beforeInterpRunCB(interp: Interpreter): void;
78
+ /**
79
+ * Callback from the hooks in the interpreter to keep track of the
80
+ * eei stack
81
+ */
82
+ afterInterpRunCB(): void;
83
+ }
84
+ export declare function getFoundryCtx(vm: VM): FoundryContext;
85
+ export declare function setFoundryCtx(vm: VM, ctx: FoundryContext): void;
86
+ /**
87
+ * Foundry cheatcodes precompile contract deployed at 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D.
88
+ */
89
+ export declare function FoundryCheatcodePrecompile(input: PrecompileInput): Promise<ExecResult>;
90
+ //# sourceMappingURL=foundry_cheatcodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foundry_cheatcodes.d.ts","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAiB,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACH,OAAO,EAMV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,WAGN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,GAAG,MAAM,6BAA6B,CAAC;AAC9C,OAAO,YAAY,MAAM,QAAQ,CAAC;AAQlC;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,uBAA8B,CAAC;AAwB9D,eAAO,MAAM,wBAAwB,SAEpC,CAAC;AAEF,eAAO,MAAM,aAAa,QAEN,CAAC;AACrB,eAAO,MAAM,aAAa,QAEN,CAAC;AACrB,eAAO,MAAM,aAAa,QAEN,CAAC;AACrB,eAAO,MAAM,cAAc,QAEP,CAAC;AACrB,eAAO,MAAM,aAAa,QAEN,CAAC;AACrB,eAAO,MAAM,aAAa,QAEN,CAAC;AACrB,eAAO,MAAM,aAAa,QAEN,CAAC;AACrB,eAAO,MAAM,gBAAgB,QAET,CAAC;AACrB,eAAO,MAAM,gBAAgB,QAET,CAAC;AACrB,eAAO,MAAM,sBAAsB,QAEf,CAAC;AACrB,eAAO,MAAM,sBAAsB,QAEf,CAAC;AACrB,eAAO,MAAM,mBAAmB,QAEZ,CAAC;AAErB,eAAO,MAAM,QAAQ,QAAqE,CAAC;AAC3F,eAAO,MAAM,aAAa,QAKR,CAAC;AAEnB,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,cAAc;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IACzC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAa;IAC5C,UAAU,UAAS;IAE1B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAa;IAGtB,MAAM,IAAI,GAAG;IAKb,eAAe,IAAI,YAAY,GAAG,SAAS;IAS3C,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAQ7D;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAOpD;;OAEG;IACI,WAAW,IAAI,IAAI;IAO1B;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAyB/E;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAe5C;;;OAGG;IACH,gBAAgB,IAAI,IAAI;CAG3B;AAGD,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,cAAc,CAEpD;AAGD,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAE/D;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAyN5F"}