Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@qevm/abi

Package Overview
Dependencies
Maintainers
3
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@qevm/abi - npm Package Compare versions

Comparing version
5.7.2
to
5.7.3
+8
lib/coders/function.d.ts
import { Coder, Reader, Writer } from "./abstract-coder";
export declare class FunctionCoder extends Coder {
constructor(localName: string);
defaultValue(): string;
encode(writer: Writer, value: string): number;
decode(reader: Reader): any;
}
//# sourceMappingURL=function.d.ts.map
{"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src.ts/coders/function.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,aAAc,SAAQ,KAAK;gBACxB,SAAS,EAAE,MAAM;IAK7B,YAAY,IAAI,MAAM;IAKtB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IA8B7C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAe9B"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FunctionCoder = void 0;
const bytes_1 = require("@qevm/bytes");
const address_1 = require("@qevm/address");
const abstract_coder_1 = require("./abstract-coder");
class FunctionCoder extends abstract_coder_1.Coder {
constructor(localName) {
// type "function" is NOT dynamic, occupies 64 bytes (2 words)
super("function", "function", localName, false);
}
defaultValue() {
// 32-byte zero address + 4-byte zero selector = 72 hex chars
return "0x" + "00".repeat(32) + "00000000";
}
encode(writer, value) {
// Expected format: "0x" + 64 hex (address) + 8 hex (selector)
// Total: 74 chars including "0x"
let hex = value;
if (hex.startsWith("0x")) {
hex = hex.substring(2);
}
if (hex.length !== 72) {
this._throwError("invalid function value (expected 72 hex chars after 0x)", value);
}
const addressHex = "0x" + hex.substring(0, 64);
const selectorHex = "0x" + hex.substring(64, 72);
// Validate address
(0, address_1.getAddress)(addressHex);
// Word 0: full 32-byte address (right-aligned = as uint256)
writer.writeValue(addressHex);
// Word 1: 4-byte selector right-aligned in 32-byte word
writer.writeValue(selectorHex);
return writer.length;
}
decode(reader) {
// Read 2 words (64 bytes)
const addressValue = reader.readValue(); // word 0: address
const selectorValue = reader.readValue(); // word 1: selector (masked to 4 bytes)
const addressHex = (0, bytes_1.hexZeroPad)(addressValue.toHexString(), 32).substring(2); // 64 hex chars
const selectorHex = (0, bytes_1.hexZeroPad)(selectorValue.mask(32).toHexString(), 4).substring(2); // 8 hex chars
return reader.coerce(this.name, "0x" + addressHex + selectorHex);
}
}
exports.FunctionCoder = FunctionCoder;
//# sourceMappingURL=function.js.map
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../src.ts/coders/function.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,uCAAyC;AACzC,2CAA2C;AAE3C,qDAAyD;AAEzD,MAAa,aAAc,SAAQ,sBAAK;IACpC,YAAY,SAAiB;QACzB,8DAA8D;QAC9D,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,YAAY;QACR,6DAA6D;QAC7D,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAa;QAChC,8DAA8D;QAC9D,iCAAiC;QACjC,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CACZ,yDAAyD,EACzD,KAAK,CACR,CAAC;QACN,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjD,mBAAmB;QACnB,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC;QAEvB,4DAA4D;QAC5D,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE9B,wDAAwD;QACxD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE/B,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,0BAA0B;QAC1B,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB;QAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,uCAAuC;QAEjF,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CACnE,CAAC,CACJ,CAAC,CAAC,eAAe;QAClB,MAAM,WAAW,GAAG,IAAA,kBAAU,EAC1B,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EACpC,CAAC,CACJ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc;QAE9B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;IACrE,CAAC;CACJ;AAxDD,sCAwDC"}
"use strict";
import { hexZeroPad } from "@qevm/bytes";
import { getAddress } from "@qevm/address";
import { Coder, Reader, Writer } from "./abstract-coder";
export class FunctionCoder extends Coder {
constructor(localName: string) {
// type "function" is NOT dynamic, occupies 64 bytes (2 words)
super("function", "function", localName, false);
}
defaultValue(): string {
// 32-byte zero address + 4-byte zero selector = 72 hex chars
return "0x" + "00".repeat(32) + "00000000";
}
encode(writer: Writer, value: string): number {
// Expected format: "0x" + 64 hex (address) + 8 hex (selector)
// Total: 74 chars including "0x"
let hex = value;
if (hex.startsWith("0x")) {
hex = hex.substring(2);
}
if (hex.length !== 72) {
this._throwError(
"invalid function value (expected 72 hex chars after 0x)",
value,
);
}
const addressHex = "0x" + hex.substring(0, 64);
const selectorHex = "0x" + hex.substring(64, 72);
// Validate address
getAddress(addressHex);
// Word 0: full 32-byte address (right-aligned = as uint256)
writer.writeValue(addressHex);
// Word 1: 4-byte selector right-aligned in 32-byte word
writer.writeValue(selectorHex);
return writer.length;
}
decode(reader: Reader): any {
// Read 2 words (64 bytes)
const addressValue = reader.readValue(); // word 0: address
const selectorValue = reader.readValue(); // word 1: selector (masked to 4 bytes)
const addressHex = hexZeroPad(addressValue.toHexString(), 32).substring(
2,
); // 64 hex chars
const selectorHex = hexZeroPad(
selectorValue.mask(32).toHexString(),
4,
).substring(2); // 8 hex chars
return reader.coerce(this.name, "0x" + addressHex + selectorHex);
}
}
+1
-1

@@ -1,2 +0,2 @@

export declare const version = "abi/5.7.0";
export declare const version = "abi/5.7.3";
//# sourceMappingURL=_version.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.version = void 0;
exports.version = "abi/5.7.0";
exports.version = "abi/5.7.3";
//# sourceMappingURL=_version.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"abi-coder.d.ts","sourceRoot":"","sources":["../src.ts/abi-coder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,SAAS,EAAE,MAAM,aAAa,CAAC;AAOlD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAWxE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;AAE3D,qBAAa,QAAQ;IACjB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;gBAEpB,UAAU,CAAC,EAAE,UAAU;IAInC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK;IA4ClC,YAAY,IAAI,MAAM;IAEtB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM;IAI1D,UAAU,IAAI,MAAM;IAIpB,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM;IAMjE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM;IAgBpF,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM;CAK7F;AAED,eAAO,MAAM,eAAe,EAAE,QAAyB,CAAC"}
{"version":3,"file":"abi-coder.d.ts","sourceRoot":"","sources":["../src.ts/abi-coder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,SAAS,EAAE,MAAM,aAAa,CAAC;AAOlD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAYxE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxC,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;AAE3D,qBAAa,QAAQ;IACjB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;gBAEpB,UAAU,CAAC,EAAE,UAAU;IAInC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK;IA4DlC,YAAY,IAAI,MAAM;IAItB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM;IAS1D,UAAU,IAAI,MAAM;IAIpB,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM;IAQjE,MAAM,CACF,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,EACxC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAC3B,MAAM;IAsBT,MAAM,CACF,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,EACxC,IAAI,EAAE,SAAS,EACf,KAAK,CAAC,EAAE,OAAO,GAChB,MAAM;CAOZ;AAED,eAAO,MAAM,eAAe,EAAE,QAAyB,CAAC"}

@@ -5,26 +5,26 @@ "use strict";

// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI
var bytes_1 = require("@qevm/bytes");
var properties_1 = require("@ethersproject/properties");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
var abstract_coder_1 = require("./coders/abstract-coder");
var address_1 = require("./coders/address");
var array_1 = require("./coders/array");
var boolean_1 = require("./coders/boolean");
var bytes_2 = require("./coders/bytes");
var fixed_bytes_1 = require("./coders/fixed-bytes");
var null_1 = require("./coders/null");
var number_1 = require("./coders/number");
var string_1 = require("./coders/string");
var tuple_1 = require("./coders/tuple");
var fragments_1 = require("./fragments");
var paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);
var paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);
var AbiCoder = /** @class */ (function () {
function AbiCoder(coerceFunc) {
const bytes_1 = require("@qevm/bytes");
const properties_1 = require("@qevm/properties");
const logger_1 = require("@qevm/logger");
const _version_1 = require("./_version");
const logger = new logger_1.Logger(_version_1.version);
const abstract_coder_1 = require("./coders/abstract-coder");
const address_1 = require("./coders/address");
const array_1 = require("./coders/array");
const boolean_1 = require("./coders/boolean");
const bytes_2 = require("./coders/bytes");
const fixed_bytes_1 = require("./coders/fixed-bytes");
const null_1 = require("./coders/null");
const number_1 = require("./coders/number");
const string_1 = require("./coders/string");
const tuple_1 = require("./coders/tuple");
const function_1 = require("./coders/function");
const fragments_1 = require("./fragments");
const paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);
const paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);
class AbiCoder {
constructor(coerceFunc) {
(0, properties_1.defineReadOnly)(this, "coerceFunc", coerceFunc || null);
}
AbiCoder.prototype._getCoder = function (param) {
var _this = this;
_getCoder(param) {
switch (param.baseType) {

@@ -42,5 +42,7 @@ case "address":

case "tuple":
return new tuple_1.TupleCoder((param.components || []).map(function (component) {
return _this._getCoder(component);
return new tuple_1.TupleCoder((param.components || []).map((component) => {
return this._getCoder(component);
}), param.name);
case "function":
return new function_1.FunctionCoder(param.name);
case "":

@@ -50,9 +52,9 @@ return new null_1.NullCoder(param.name);

// u?int[0-9]*
var match = param.type.match(paramTypeNumber);
let match = param.type.match(paramTypeNumber);
if (match) {
var size = parseInt(match[2] || "256");
if (size === 0 || size > 256 || (size % 8) !== 0) {
let size = parseInt(match[2] || "256");
if (size === 0 || size > 256 || size % 8 !== 0) {
logger.throwArgumentError("invalid " + match[1] + " bit length", "param", param);
}
return new number_1.NumberCoder(size / 8, (match[1] === "int"), param.name);
return new number_1.NumberCoder(size / 8, match[1] === "int", param.name);
}

@@ -62,3 +64,3 @@ // bytes[0-9]+

if (match) {
var size = parseInt(match[1]);
let size = parseInt(match[1]);
if (size === 0 || size > 32) {

@@ -70,40 +72,38 @@ logger.throwArgumentError("invalid bytes length", "param", param);

return logger.throwArgumentError("invalid type", "type", param.type);
};
AbiCoder.prototype._getWordSize = function () { return 32; };
AbiCoder.prototype._getReader = function (data, allowLoose) {
}
_getWordSize() {
return 32;
}
_getReader(data, allowLoose) {
return new abstract_coder_1.Reader(data, this._getWordSize(), this.coerceFunc, allowLoose);
};
AbiCoder.prototype._getWriter = function () {
}
_getWriter() {
return new abstract_coder_1.Writer(this._getWordSize());
};
AbiCoder.prototype.getDefaultValue = function (types) {
var _this = this;
var coders = types.map(function (type) { return _this._getCoder(fragments_1.ParamType.from(type)); });
var coder = new tuple_1.TupleCoder(coders, "_");
}
getDefaultValue(types) {
const coders = types.map((type) => this._getCoder(fragments_1.ParamType.from(type)));
const coder = new tuple_1.TupleCoder(coders, "_");
return coder.defaultValue();
};
AbiCoder.prototype.encode = function (types, values) {
var _this = this;
}
encode(types, values) {
if (types.length !== values.length) {
logger.throwError("types/values length mismatch", logger_1.Logger.errors.INVALID_ARGUMENT, {
count: { types: types.length, values: values.length },
value: { types: types, values: values }
value: { types: types, values: values },
});
}
var coders = types.map(function (type) { return _this._getCoder(fragments_1.ParamType.from(type)); });
var coder = (new tuple_1.TupleCoder(coders, "_"));
var writer = this._getWriter();
const coders = types.map((type) => this._getCoder(fragments_1.ParamType.from(type)));
const coder = new tuple_1.TupleCoder(coders, "_");
const writer = this._getWriter();
coder.encode(writer, values);
return writer.data;
};
AbiCoder.prototype.decode = function (types, data, loose) {
var _this = this;
var coders = types.map(function (type) { return _this._getCoder(fragments_1.ParamType.from(type)); });
var coder = new tuple_1.TupleCoder(coders, "_");
}
decode(types, data, loose) {
const coders = types.map((type) => this._getCoder(fragments_1.ParamType.from(type)));
const coder = new tuple_1.TupleCoder(coders, "_");
return coder.decode(this._getReader((0, bytes_1.arrayify)(data), loose));
};
return AbiCoder;
}());
}
}
exports.AbiCoder = AbiCoder;
exports.defaultAbiCoder = new AbiCoder();
//# sourceMappingURL=abi-coder.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"abi-coder.js","sourceRoot":"","sources":["../src.ts/abi-coder.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"abi-coder.js","sourceRoot":"","sources":["../src.ts/abi-coder.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,mEAAmE;AAEnE,uCAAkD;AAClD,iDAAkD;AAElD,yCAAsC;AACtC,yCAAqC;AACrC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,kBAAO,CAAC,CAAC;AAEnC,4DAAwE;AACxE,8CAAgD;AAChD,0CAA4C;AAC5C,8CAAgD;AAChD,0CAA4C;AAC5C,sDAAuD;AACvD,wCAA0C;AAC1C,4CAA8C;AAC9C,4CAA8C;AAC9C,0CAA4C;AAC5C,gDAAkD;AAElD,2CAAwC;AAExC,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACrD,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAIxD,MAAa,QAAQ;IAGjB,YAAY,UAAuB;QAC/B,IAAA,2BAAc,EAAC,IAAI,EAAE,YAAY,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,KAAgB;QACtB,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,SAAS;gBACV,OAAO,IAAI,sBAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,MAAM;gBACP,OAAO,IAAI,sBAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,QAAQ;gBACT,OAAO,IAAI,oBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,OAAO;gBACR,OAAO,IAAI,kBAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,KAAK,OAAO;gBACR,OAAO,IAAI,kBAAU,CACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,EACnC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,IAAI,CACb,CAAC;YACN,KAAK,OAAO;gBACR,OAAO,IAAI,kBAAU,CACjB,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;oBACvC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC,CAAC,EACF,KAAK,CAAC,IAAI,CACb,CAAC;YACN,KAAK,UAAU;gBACX,OAAO,IAAI,wBAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,EAAE;gBACH,OAAO,IAAI,gBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,cAAc;QACd,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;YACvC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,kBAAkB,CACrB,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,EACrC,OAAO,EACP,KAAK,CACR,CAAC;YACN,CAAC;YACD,OAAO,IAAI,oBAAW,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,cAAc;QACd,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;gBAC1B,MAAM,CAAC,kBAAkB,CACrB,sBAAsB,EACtB,OAAO,EACP,KAAK,CACR,CAAC;YACN,CAAC;YACD,OAAO,IAAI,6BAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,YAAY;QACR,OAAO,EAAE,CAAC;IACd,CAAC;IAED,UAAU,CAAC,IAAgB,EAAE,UAAoB;QAC7C,OAAO,IAAI,uBAAM,CACb,IAAI,EACJ,IAAI,CAAC,YAAY,EAAE,EACnB,IAAI,CAAC,UAAU,EACf,UAAU,CACb,CAAC;IACN,CAAC;IAED,UAAU;QACN,OAAO,IAAI,uBAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe,CAAC,KAAwC;QACpD,MAAM,MAAM,GAAiB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,IAAI,CAAC,SAAS,CAAC,qBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACvC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,kBAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,YAAY,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CACF,KAAwC,EACxC,MAA0B;QAE1B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,CAAC,UAAU,CACb,8BAA8B,EAC9B,eAAM,CAAC,MAAM,CAAC,gBAAgB,EAC9B;gBACI,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;gBACrD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;aAC1C,CACJ,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,IAAI,CAAC,SAAS,CAAC,qBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACvC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,kBAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,CACF,KAAwC,EACxC,IAAe,EACf,KAAe;QAEf,MAAM,MAAM,GAAiB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,IAAI,CAAC,SAAS,CAAC,qBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACvC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,kBAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;CACJ;AAhID,4BAgIC;AAEY,QAAA,eAAe,GAAa,IAAI,QAAQ,EAAE,CAAC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"abstract-coder.d.ts","sourceRoot":"","sources":["../../src.ts/coders/abstract-coder.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"abstract-coder.d.ts","sourceRoot":"","sources":["../../src.ts/coders/abstract-coder.ts"],"names":[],"mappings":"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"}

@@ -5,17 +5,17 @@ "use strict";

exports.checkResultErrors = checkResultErrors;
var bytes_1 = require("@qevm/bytes");
var bignumber_1 = require("@qevm/bignumber");
var properties_1 = require("@ethersproject/properties");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("../_version");
var logger = new logger_1.Logger(_version_1.version);
const bytes_1 = require("@qevm/bytes");
const bignumber_1 = require("@qevm/bignumber");
const properties_1 = require("@qevm/properties");
const logger_1 = require("@qevm/logger");
const _version_1 = require("../_version");
const logger = new logger_1.Logger(_version_1.version);
function checkResultErrors(result) {
// Find the first error (if any)
var errors = [];
var checkErrors = function (path, object) {
const errors = [];
const checkErrors = function (path, object) {
if (!Array.isArray(object)) {
return;
}
for (var key in object) {
var childPath = path.slice();
for (let key in object) {
const childPath = path.slice();
childPath.push(key);

@@ -33,4 +33,4 @@ try {

}
var Coder = /** @class */ (function () {
function Coder(name, type, localName, dynamic) {
class Coder {
constructor(name, type, localName, dynamic) {
// @TODO: defineReadOnly these

@@ -42,10 +42,9 @@ this.name = name;

}
Coder.prototype._throwError = function (message, value) {
_throwError(message, value) {
logger.throwArgumentError(message, this.localName, value);
};
return Coder;
}());
}
}
exports.Coder = Coder;
var Writer = /** @class */ (function () {
function Writer(wordSize) {
class Writer {
constructor(wordSize) {
(0, properties_1.defineReadOnly)(this, "wordSize", wordSize || 32);

@@ -56,26 +55,20 @@ this._data = [];

}
Object.defineProperty(Writer.prototype, "data", {
get: function () {
return (0, bytes_1.hexConcat)(this._data);
},
enumerable: false,
configurable: true
});
Object.defineProperty(Writer.prototype, "length", {
get: function () { return this._dataLength; },
enumerable: false,
configurable: true
});
Writer.prototype._writeData = function (data) {
get data() {
return (0, bytes_1.hexConcat)(this._data);
}
get length() {
return this._dataLength;
}
_writeData(data) {
this._data.push(data);
this._dataLength += data.length;
return data.length;
};
Writer.prototype.appendWriter = function (writer) {
}
appendWriter(writer) {
return this._writeData((0, bytes_1.concat)(writer._data));
};
}
// Arrayish items; padded on the right to wordSize
Writer.prototype.writeBytes = function (value) {
var bytes = (0, bytes_1.arrayify)(value);
var paddingOffset = bytes.length % this.wordSize;
writeBytes(value) {
let bytes = (0, bytes_1.arrayify)(value);
const paddingOffset = bytes.length % this.wordSize;
if (paddingOffset) {

@@ -85,34 +78,35 @@ bytes = (0, bytes_1.concat)([bytes, this._padding.slice(paddingOffset)]);

return this._writeData(bytes);
};
Writer.prototype._getValue = function (value) {
var bytes = (0, bytes_1.arrayify)(bignumber_1.BigNumber.from(value));
}
_getValue(value) {
let bytes = (0, bytes_1.arrayify)(bignumber_1.BigNumber.from(value));
if (bytes.length > this.wordSize) {
logger.throwError("value out-of-bounds", logger_1.Logger.errors.BUFFER_OVERRUN, {
length: this.wordSize,
offset: bytes.length
offset: bytes.length,
});
}
if (bytes.length % this.wordSize) {
bytes = (0, bytes_1.concat)([this._padding.slice(bytes.length % this.wordSize), bytes]);
bytes = (0, bytes_1.concat)([
this._padding.slice(bytes.length % this.wordSize),
bytes,
]);
}
return bytes;
};
}
// BigNumberish items; padded on the left to wordSize
Writer.prototype.writeValue = function (value) {
writeValue(value) {
return this._writeData(this._getValue(value));
};
Writer.prototype.writeUpdatableValue = function () {
var _this = this;
var offset = this._data.length;
}
writeUpdatableValue() {
const offset = this._data.length;
this._data.push(this._padding);
this._dataLength += this.wordSize;
return function (value) {
_this._data[offset] = _this._getValue(value);
return (value) => {
this._data[offset] = this._getValue(value);
};
};
return Writer;
}());
}
}
exports.Writer = Writer;
var Reader = /** @class */ (function () {
function Reader(data, wordSize, coerceFunc, allowLoose) {
class Reader {
constructor(data, wordSize, coerceFunc, allowLoose) {
(0, properties_1.defineReadOnly)(this, "_data", (0, bytes_1.arrayify)(data));

@@ -124,15 +118,11 @@ (0, properties_1.defineReadOnly)(this, "wordSize", wordSize || 32);

}
Object.defineProperty(Reader.prototype, "data", {
get: function () { return (0, bytes_1.hexlify)(this._data); },
enumerable: false,
configurable: true
});
Object.defineProperty(Reader.prototype, "consumed", {
get: function () { return this._offset; },
enumerable: false,
configurable: true
});
get data() {
return (0, bytes_1.hexlify)(this._data);
}
get consumed() {
return this._offset;
}
// The default Coerce function
Reader.coerce = function (name, value) {
var match = name.match("^u?int([0-9]+)$");
static coerce(name, value) {
let match = name.match("^u?int([0-9]+)$");
if (match && parseInt(match[1]) <= 48) {

@@ -142,4 +132,4 @@ value = value.toNumber();

return value;
};
Reader.prototype.coerce = function (name, value) {
}
coerce(name, value) {
if (this._coerceFunc) {

@@ -149,7 +139,9 @@ return this._coerceFunc(name, value);

return Reader.coerce(name, value);
};
Reader.prototype._peekBytes = function (offset, length, loose) {
var alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;
}
_peekBytes(offset, length, loose) {
let alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;
if (this._offset + alignedLength > this._data.length) {
if (this.allowLoose && loose && this._offset + length <= this._data.length) {
if (this.allowLoose &&
loose &&
this._offset + length <= this._data.length) {
alignedLength = length;

@@ -160,3 +152,3 @@ }

length: this._data.length,
offset: this._offset + alignedLength
offset: this._offset + alignedLength,
});

@@ -166,18 +158,17 @@ }

return this._data.slice(this._offset, this._offset + alignedLength);
};
Reader.prototype.subReader = function (offset) {
}
subReader(offset) {
return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose);
};
Reader.prototype.readBytes = function (length, loose) {
var bytes = this._peekBytes(0, length, !!loose);
}
readBytes(length, loose) {
let bytes = this._peekBytes(0, length, !!loose);
this._offset += bytes.length;
// @TODO: Make sure the length..end bytes are all 0?
return bytes.slice(0, length);
};
Reader.prototype.readValue = function () {
}
readValue() {
return bignumber_1.BigNumber.from(this.readBytes(this.wordSize));
};
return Reader;
}());
}
}
exports.Reader = Reader;
//# sourceMappingURL=abstract-coder.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"abstract-coder.js","sourceRoot":"","sources":["../../src.ts/coders/abstract-coder.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"abstract-coder.js","sourceRoot":"","sources":["../../src.ts/coders/abstract-coder.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src.ts/coders/address.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,YAAa,SAAQ,KAAK;gBAEvB,SAAS,EAAE,MAAM;IAI7B,YAAY,IAAI,MAAM;IAItB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAS7C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAG9B"}
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src.ts/coders/address.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,YAAa,SAAQ,KAAK;gBACvB,SAAS,EAAE,MAAM;IAI7B,YAAY,IAAI,MAAM;IAItB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAS7C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAG9B"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AddressCoder = void 0;
var address_1 = require("@qevm/address");
var bytes_1 = require("@qevm/bytes");
var abstract_coder_1 = require("./abstract-coder");
var AddressCoder = /** @class */ (function (_super) {
__extends(AddressCoder, _super);
function AddressCoder(localName) {
return _super.call(this, "address", "address", localName, false) || this;
const address_1 = require("@qevm/address");
const bytes_1 = require("@qevm/bytes");
const abstract_coder_1 = require("./abstract-coder");
class AddressCoder extends abstract_coder_1.Coder {
constructor(localName) {
super("address", "address", localName, false);
}
AddressCoder.prototype.defaultValue = function () {
return "0x0000000000000000000000000000000000000000";
};
AddressCoder.prototype.encode = function (writer, value) {
defaultValue() {
return "0x0000000000000000000000000000000000000000000000000000000000000000";
}
encode(writer, value) {
try {

@@ -38,9 +22,8 @@ value = (0, address_1.getAddress)(value);

return writer.writeValue(value);
};
AddressCoder.prototype.decode = function (reader) {
return (0, address_1.getAddress)((0, bytes_1.hexZeroPad)(reader.readValue().toHexString(), 20));
};
return AddressCoder;
}(abstract_coder_1.Coder));
}
decode(reader) {
return (0, address_1.getAddress)((0, bytes_1.hexZeroPad)(reader.readValue().toHexString(), 32));
}
}
exports.AddressCoder = AddressCoder;
//# sourceMappingURL=address.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src.ts/coders/address.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,yCAA2C;AAC3C,qCAAyC;AAEzC,mDAAyD;AAEzD;IAAkC,gCAAK;IAEnC,sBAAY,SAAiB;QACzB,OAAA,MAAK,YAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAC;IAClD,CAAC;IAED,mCAAY,GAAZ;QACI,OAAO,4CAA4C,CAAC;IACxD,CAAC;IAED,6BAAM,GAAN,UAAO,MAAc,EAAE,KAAa;QAChC,IAAI,CAAC;YACD,KAAK,GAAG,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,6BAAM,GAAN,UAAO,MAAc;QACjB,OAAO,IAAA,oBAAU,EAAC,IAAA,kBAAU,EAAC,MAAM,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IACL,mBAAC;AAAD,CAAC,AAtBD,CAAkC,sBAAK,GAsBtC;AAtBY,oCAAY"}
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src.ts/coders/address.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,2CAA2C;AAC3C,uCAAyC;AAEzC,qDAAyD;AAEzD,MAAa,YAAa,SAAQ,sBAAK;IACnC,YAAY,SAAiB;QACzB,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,YAAY;QACR,OAAO,oEAAoE,CAAC;IAChF,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAa;QAChC,IAAI,CAAC;YACD,KAAK,GAAG,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,IAAA,oBAAU,EAAC,IAAA,kBAAU,EAAC,MAAM,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;CACJ;AArBD,oCAqBC"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AnonymousCoder = void 0;
var abstract_coder_1 = require("./abstract-coder");
const abstract_coder_1 = require("./abstract-coder");
// Clones the functionality of an existing Coder, but without a localName
var AnonymousCoder = /** @class */ (function (_super) {
__extends(AnonymousCoder, _super);
function AnonymousCoder(coder) {
var _this = _super.call(this, coder.name, coder.type, undefined, coder.dynamic) || this;
_this.coder = coder;
return _this;
class AnonymousCoder extends abstract_coder_1.Coder {
constructor(coder) {
super(coder.name, coder.type, undefined, coder.dynamic);
this.coder = coder;
}
AnonymousCoder.prototype.defaultValue = function () {
defaultValue() {
return this.coder.defaultValue();
};
AnonymousCoder.prototype.encode = function (writer, value) {
}
encode(writer, value) {
return this.coder.encode(writer, value);
};
AnonymousCoder.prototype.decode = function (reader) {
}
decode(reader) {
return this.coder.decode(reader);
};
return AnonymousCoder;
}(abstract_coder_1.Coder));
}
}
exports.AnonymousCoder = AnonymousCoder;
//# sourceMappingURL=anonymous.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"anonymous.js","sourceRoot":"","sources":["../../src.ts/coders/anonymous.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,mDAAyD;AAEzD,yEAAyE;AACzE;IAAoC,kCAAK;IAGrC,wBAAY,KAAY;QACpB,YAAA,MAAK,YAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAC;QACxD,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;;IACvB,CAAC;IAED,qCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,+BAAM,GAAN,UAAO,MAAc,EAAE,KAAU;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,+BAAM,GAAN,UAAO,MAAc;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACL,qBAAC;AAAD,CAAC,AAnBD,CAAoC,sBAAK,GAmBxC;AAnBY,wCAAc"}
{"version":3,"file":"anonymous.js","sourceRoot":"","sources":["../../src.ts/coders/anonymous.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,qDAAyD;AAEzD,yEAAyE;AACzE,MAAa,cAAe,SAAQ,sBAAK;IAGrC,YAAY,KAAY;QACpB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAU;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;CACJ;AAnBD,wCAmBC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src.ts/coders/array.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGjE,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;IAAE,CAAE,IAAI,EAAE,MAAM,GAAI,GAAG,CAAA;CAAE,GAAG,MAAM,CAuEzH;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAmFnE;AAGD,qBAAa,UAAW,SAAQ,KAAK;IACjC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAS3D,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC;IAW1B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM;IAoBjD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAsB9B"}
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src.ts/coders/array.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGjE,wBAAgB,IAAI,CAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,EAC5B,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAC7C,MAAM,CAkFR;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAqGnE;AAED,qBAAa,UAAW,SAAQ,KAAK;IACjC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAS3D,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC;IAW1B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM;IA0BjD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CA4B9B"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });

@@ -21,16 +6,16 @@ exports.ArrayCoder = void 0;

exports.unpack = unpack;
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("../_version");
var logger = new logger_1.Logger(_version_1.version);
var abstract_coder_1 = require("./abstract-coder");
var anonymous_1 = require("./anonymous");
const logger_1 = require("@qevm/logger");
const _version_1 = require("../_version");
const logger = new logger_1.Logger(_version_1.version);
const abstract_coder_1 = require("./abstract-coder");
const anonymous_1 = require("./anonymous");
function pack(writer, coders, values) {
var arrayValues = null;
let arrayValues = null;
if (Array.isArray(values)) {
arrayValues = values;
}
else if (values && typeof (values) === "object") {
var unique_1 = {};
arrayValues = coders.map(function (coder) {
var name = coder.localName;
else if (values && typeof values === "object") {
let unique = {};
arrayValues = coders.map((coder) => {
const name = coder.localName;
if (!name) {

@@ -40,13 +25,13 @@ logger.throwError("cannot encode object for signature with missing names", logger_1.Logger.errors.INVALID_ARGUMENT, {

coder: coder,
value: values
value: values,
});
}
if (unique_1[name]) {
if (unique[name]) {
logger.throwError("cannot encode object for signature with duplicate names", logger_1.Logger.errors.INVALID_ARGUMENT, {
argument: "values",
coder: coder,
value: values
value: values,
});
}
unique_1[name] = true;
unique[name] = true;
return values[name];

@@ -61,16 +46,16 @@ });

}
var staticWriter = new abstract_coder_1.Writer(writer.wordSize);
var dynamicWriter = new abstract_coder_1.Writer(writer.wordSize);
var updateFuncs = [];
coders.forEach(function (coder, index) {
var value = arrayValues[index];
let staticWriter = new abstract_coder_1.Writer(writer.wordSize);
let dynamicWriter = new abstract_coder_1.Writer(writer.wordSize);
let updateFuncs = [];
coders.forEach((coder, index) => {
let value = arrayValues[index];
if (coder.dynamic) {
// Get current dynamic offset (for the future pointer)
var dynamicOffset_1 = dynamicWriter.length;
let dynamicOffset = dynamicWriter.length;
// Encode the dynamic value into the dynamicWriter
coder.encode(dynamicWriter, value);
// Prepare to populate the correct offset once we are done
var updateFunc_1 = staticWriter.writeUpdatableValue();
updateFuncs.push(function (baseOffset) {
updateFunc_1(baseOffset + dynamicOffset_1);
let updateFunc = staticWriter.writeUpdatableValue();
updateFuncs.push((baseOffset) => {
updateFunc(baseOffset + dynamicOffset);
});

@@ -83,4 +68,6 @@ }

// Backfill all the dynamic offsets, now that we know the static length
updateFuncs.forEach(function (func) { func(staticWriter.length); });
var length = writer.appendWriter(staticWriter);
updateFuncs.forEach((func) => {
func(staticWriter.length);
});
let length = writer.appendWriter(staticWriter);
length += writer.appendWriter(dynamicWriter);

@@ -90,10 +77,10 @@ return length;

function unpack(reader, coders) {
var values = [];
let values = [];
// A reader anchored to this base
var baseReader = reader.subReader(0);
coders.forEach(function (coder) {
var value = null;
let baseReader = reader.subReader(0);
coders.forEach((coder) => {
let value = null;
if (coder.dynamic) {
var offset = reader.readValue();
var offsetReader = baseReader.subReader(offset.toNumber());
let offset = reader.readValue();
let offsetReader = baseReader.subReader(offset.toNumber());
try {

@@ -133,4 +120,4 @@ value = coder.decode(offsetReader);

// We only output named properties for uniquely named coders
var uniqueNames = coders.reduce(function (accum, coder) {
var name = coder.localName;
const uniqueNames = coders.reduce((accum, coder) => {
const name = coder.localName;
if (name) {

@@ -145,4 +132,4 @@ if (!accum[name]) {

// Add any named parameters (i.e. tuples)
coders.forEach(function (coder, index) {
var name = coder.localName;
coders.forEach((coder, index) => {
let name = coder.localName;
if (!name || uniqueNames[name] !== 1) {

@@ -157,7 +144,9 @@ return;

}
var value = values[index];
const value = values[index];
if (value instanceof Error) {
Object.defineProperty(values, name, {
enumerable: true,
get: function () { throw value; }
get: () => {
throw value;
},
});

@@ -169,41 +158,37 @@ }

});
var _loop_1 = function (i) {
var value = values[i];
for (let i = 0; i < values.length; i++) {
const value = values[i];
if (value instanceof Error) {
Object.defineProperty(values, i, {
enumerable: true,
get: function () { throw value; }
get: () => {
throw value;
},
});
}
};
for (var i = 0; i < values.length; i++) {
_loop_1(i);
}
return Object.freeze(values);
}
var ArrayCoder = /** @class */ (function (_super) {
__extends(ArrayCoder, _super);
function ArrayCoder(coder, length, localName) {
var _this = this;
var type = (coder.type + "[" + (length >= 0 ? length : "") + "]");
var dynamic = (length === -1 || coder.dynamic);
_this = _super.call(this, "array", type, localName, dynamic) || this;
_this.coder = coder;
_this.length = length;
return _this;
class ArrayCoder extends abstract_coder_1.Coder {
constructor(coder, length, localName) {
const type = coder.type + "[" + (length >= 0 ? length : "") + "]";
const dynamic = length === -1 || coder.dynamic;
super("array", type, localName, dynamic);
this.coder = coder;
this.length = length;
}
ArrayCoder.prototype.defaultValue = function () {
defaultValue() {
// Verifies the child coder is valid (even if the array is dynamic or 0-length)
var defaultChild = this.coder.defaultValue();
var result = [];
for (var i = 0; i < this.length; i++) {
const defaultChild = this.coder.defaultValue();
const result = [];
for (let i = 0; i < this.length; i++) {
result.push(defaultChild);
}
return result;
};
ArrayCoder.prototype.encode = function (writer, value) {
}
encode(writer, value) {
if (!Array.isArray(value)) {
this._throwError("expected array value", value);
}
var count = this.length;
let count = this.length;
if (count === -1) {

@@ -213,11 +198,11 @@ count = value.length;

}
logger.checkArgumentCount(value.length, count, "coder array" + (this.localName ? (" " + this.localName) : ""));
var coders = [];
for (var i = 0; i < value.length; i++) {
logger.checkArgumentCount(value.length, count, "coder array" + (this.localName ? " " + this.localName : ""));
let coders = [];
for (let i = 0; i < value.length; i++) {
coders.push(this.coder);
}
return pack(writer, coders, value);
};
ArrayCoder.prototype.decode = function (reader) {
var count = this.length;
}
decode(reader) {
let count = this.length;
if (count === -1) {

@@ -233,15 +218,14 @@ count = reader.readValue().toNumber();

length: reader._data.length,
count: count
count: count,
});
}
}
var coders = [];
for (var i = 0; i < count; i++) {
let coders = [];
for (let i = 0; i < count; i++) {
coders.push(new anonymous_1.AnonymousCoder(this.coder));
}
return reader.coerce(this.name, unpack(reader, coders));
};
return ArrayCoder;
}(abstract_coder_1.Coder));
}
}
exports.ArrayCoder = ArrayCoder;
//# sourceMappingURL=array.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src.ts/coders/array.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src.ts/coders/array.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AASb,oBAsFC;AAED,wBAqGC;AApMD,yCAAsC;AACtC,0CAAsC;AACtC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,kBAAO,CAAC,CAAC;AAEnC,qDAAiE;AACjE,2CAA6C;AAE7C,SAAgB,IAAI,CAChB,MAAc,EACd,MAA4B,EAC5B,MAA4C;IAE5C,IAAI,WAAW,GAAe,IAAI,CAAC;IAEnC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,WAAW,GAAG,MAAM,CAAC;IACzB,CAAC;SAAM,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9C,IAAI,MAAM,GAAgC,EAAE,CAAC;QAE7C,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;YAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,CAAC,UAAU,CACb,uDAAuD,EACvD,eAAM,CAAC,MAAM,CAAC,gBAAgB,EAC9B;oBACI,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,MAAM;iBAChB,CACJ,CAAC;YACN,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,UAAU,CACb,yDAAyD,EACzD,eAAM,CAAC,MAAM,CAAC,gBAAgB,EAC9B;oBACI,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,MAAM;iBAChB,CACJ,CAAC;YACN,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAEpB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,CAAC,kBAAkB,CACrB,6BAA6B,EAC7B,OAAO,EACP,MAAM,CACT,CAAC;IACN,CAAC;IAED,IAAI,YAAY,GAAG,IAAI,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,aAAa,GAAG,IAAI,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhD,IAAI,WAAW,GAAwC,EAAE,CAAC;IAC1D,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC5B,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,sDAAsD;YACtD,IAAI,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;YAEzC,kDAAkD;YAClD,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAEnC,0DAA0D;YAC1D,IAAI,UAAU,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAC;YACpD,WAAW,CAAC,IAAI,CAAC,CAAC,UAAkB,EAAE,EAAE;gBACpC,UAAU,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,uEAAuE;IACvE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,MAAM,CAAC,MAAc,EAAE,MAAoB;IACvD,IAAI,MAAM,GAAQ,EAAE,CAAC;IAErB,iCAAiC;IACjC,IAAI,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAErC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,IAAI,KAAK,GAAQ,IAAI,CAAC;QAEtB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,2BAA2B;gBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,eAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC9C,MAAM,KAAK,CAAC;gBAChB,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC;gBACd,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC5B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC7B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC5B,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,2BAA2B;gBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,eAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC9C,MAAM,KAAK,CAAC;gBAChB,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC;gBACd,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC5B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC7B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC7B,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;QAC7B,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,EAC2B,EAAE,CACjC,CAAC;IAEF,yCAAyC;IACzC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAY,EAAE,KAAa,EAAE,EAAE;QAC3C,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpB,IAAI,GAAG,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;gBAChC,UAAU,EAAE,IAAI;gBAChB,GAAG,EAAE,GAAG,EAAE;oBACN,MAAM,KAAK,CAAC;gBAChB,CAAC;aACJ,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC7B,UAAU,EAAE,IAAI;gBAChB,GAAG,EAAE,GAAG,EAAE;oBACN,MAAM,KAAK,CAAC;gBAChB,CAAC;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,MAAa,UAAW,SAAQ,sBAAK;IAIjC,YAAY,KAAY,EAAE,MAAc,EAAE,SAAiB;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC;QAC/C,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,YAAY;QACR,+EAA+E;QAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAE/C,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAiB;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAExB,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YACrB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,CAAC,kBAAkB,CACrB,KAAK,CAAC,MAAM,EACZ,KAAK,EACL,aAAa,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/D,CAAC;QAEF,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;YAEtC,sDAAsD;YACtD,wDAAwD;YACxD,yDAAyD;YACzD,sDAAsD;YACtD,4DAA4D;YAC5D,IAAI,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,CAAC,UAAU,CACb,0BAA0B,EAC1B,eAAM,CAAC,MAAM,CAAC,cAAc,EAC5B;oBACI,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBAC3B,KAAK,EAAE,KAAK;iBACf,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,0BAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;CACJ;AA9ED,gCA8EC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src.ts/coders/boolean.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,YAAa,SAAQ,KAAK;gBAEvB,SAAS,EAAE,MAAM;IAI7B,YAAY,IAAI,OAAO;IAIvB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;IAI9C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAG9B"}
{"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src.ts/coders/boolean.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,YAAa,SAAQ,KAAK;gBACvB,SAAS,EAAE,MAAM;IAI7B,YAAY,IAAI,OAAO;IAIvB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;IAI9C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAG9B"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.BooleanCoder = void 0;
var abstract_coder_1 = require("./abstract-coder");
var BooleanCoder = /** @class */ (function (_super) {
__extends(BooleanCoder, _super);
function BooleanCoder(localName) {
return _super.call(this, "bool", "bool", localName, false) || this;
const abstract_coder_1 = require("./abstract-coder");
class BooleanCoder extends abstract_coder_1.Coder {
constructor(localName) {
super("bool", "bool", localName, false);
}
BooleanCoder.prototype.defaultValue = function () {
defaultValue() {
return false;
};
BooleanCoder.prototype.encode = function (writer, value) {
}
encode(writer, value) {
return writer.writeValue(value ? 1 : 0);
};
BooleanCoder.prototype.decode = function (reader) {
}
decode(reader) {
return reader.coerce(this.type, !reader.readValue().isZero());
};
return BooleanCoder;
}(abstract_coder_1.Coder));
}
}
exports.BooleanCoder = BooleanCoder;
//# sourceMappingURL=boolean.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../src.ts/coders/boolean.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,mDAAyD;AAEzD;IAAkC,gCAAK;IAEnC,sBAAY,SAAiB;QACzB,OAAA,MAAK,YAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAC;IAC5C,CAAC;IAED,mCAAY,GAAZ;QACI,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,6BAAM,GAAN,UAAO,MAAc,EAAE,KAAc;QACjC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,6BAAM,GAAN,UAAO,MAAc;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IACL,mBAAC;AAAD,CAAC,AAjBD,CAAkC,sBAAK,GAiBtC;AAjBY,oCAAY"}
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../src.ts/coders/boolean.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,qDAAyD;AAEzD,MAAa,YAAa,SAAQ,sBAAK;IACnC,YAAY,SAAiB;QACzB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,YAAY;QACR,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAc;QACjC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;CACJ;AAhBD,oCAgBC"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.BytesCoder = exports.DynamicBytesCoder = void 0;
var bytes_1 = require("@qevm/bytes");
var abstract_coder_1 = require("./abstract-coder");
var DynamicBytesCoder = /** @class */ (function (_super) {
__extends(DynamicBytesCoder, _super);
function DynamicBytesCoder(type, localName) {
return _super.call(this, type, type, localName, true) || this;
const bytes_1 = require("@qevm/bytes");
const abstract_coder_1 = require("./abstract-coder");
class DynamicBytesCoder extends abstract_coder_1.Coder {
constructor(type, localName) {
super(type, type, localName, true);
}
DynamicBytesCoder.prototype.defaultValue = function () {
defaultValue() {
return "0x";
};
DynamicBytesCoder.prototype.encode = function (writer, value) {
}
encode(writer, value) {
value = (0, bytes_1.arrayify)(value);
var length = writer.writeValue(value.length);
let length = writer.writeValue(value.length);
length += writer.writeBytes(value);
return length;
};
DynamicBytesCoder.prototype.decode = function (reader) {
}
decode(reader) {
return reader.readBytes(reader.readValue().toNumber(), true);
};
return DynamicBytesCoder;
}(abstract_coder_1.Coder));
}
}
exports.DynamicBytesCoder = DynamicBytesCoder;
var BytesCoder = /** @class */ (function (_super) {
__extends(BytesCoder, _super);
function BytesCoder(localName) {
return _super.call(this, "bytes", localName) || this;
class BytesCoder extends DynamicBytesCoder {
constructor(localName) {
super("bytes", localName);
}
BytesCoder.prototype.decode = function (reader) {
return reader.coerce(this.name, (0, bytes_1.hexlify)(_super.prototype.decode.call(this, reader)));
};
return BytesCoder;
}(DynamicBytesCoder));
decode(reader) {
return reader.coerce(this.name, (0, bytes_1.hexlify)(super.decode(reader)));
}
}
exports.BytesCoder = BytesCoder;
//# sourceMappingURL=bytes.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src.ts/coders/bytes.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,qCAAgD;AAEhD,mDAAyD;AAEzD;IAAuC,qCAAK;IACxC,2BAAY,IAAY,EAAE,SAAiB;QACxC,OAAA,MAAK,YAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAC;IACtC,CAAC;IAED,wCAAY,GAAZ;QACI,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kCAAM,GAAN,UAAO,MAAc,EAAE,KAAU;QAC7B,KAAK,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;QACxB,IAAI,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,kCAAM,GAAN,UAAO,MAAc;QACjB,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IACL,wBAAC;AAAD,CAAC,AAnBD,CAAuC,sBAAK,GAmB3C;AAnBY,8CAAiB;AAqB9B;IAAgC,8BAAiB;IAC7C,oBAAY,SAAiB;QACzB,OAAA,MAAK,YAAC,OAAO,EAAE,SAAS,CAAC,SAAC;IAC9B,CAAC;IAED,2BAAM,GAAN,UAAO,MAAc;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,eAAO,EAAC,gBAAK,CAAC,MAAM,YAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IACL,iBAAC;AAAD,CAAC,AARD,CAAgC,iBAAiB,GAQhD;AARY,gCAAU"}
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src.ts/coders/bytes.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,uCAAgD;AAEhD,qDAAyD;AAEzD,MAAa,iBAAkB,SAAQ,sBAAK;IACxC,YAAY,IAAY,EAAE,SAAiB;QACvC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAU;QAC7B,KAAK,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;QACxB,IAAI,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;CACJ;AAnBD,8CAmBC;AAED,MAAa,UAAW,SAAQ,iBAAiB;IAC7C,YAAY,SAAiB;QACzB,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;CACJ;AARD,gCAQC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"fixed-bytes.d.ts","sourceRoot":"","sources":["../../src.ts/coders/fixed-bytes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,SAAS,EAAW,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGzD,qBAAa,eAAgB,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM3C,YAAY,IAAI,MAAM;IAItB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM;IAMhD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAG9B"}
{"version":3,"file":"fixed-bytes.d.ts","sourceRoot":"","sources":["../../src.ts/coders/fixed-bytes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,SAAS,EAAW,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGzD,qBAAa,eAAgB,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM3C,YAAY,IAAI,MAAM;IAOtB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM;IAQhD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAG9B"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.FixedBytesCoder = void 0;
var bytes_1 = require("@qevm/bytes");
var abstract_coder_1 = require("./abstract-coder");
const bytes_1 = require("@qevm/bytes");
const abstract_coder_1 = require("./abstract-coder");
// @TODO: Merge this with bytes
var FixedBytesCoder = /** @class */ (function (_super) {
__extends(FixedBytesCoder, _super);
function FixedBytesCoder(size, localName) {
var _this = this;
var name = "bytes" + String(size);
_this = _super.call(this, name, name, localName, false) || this;
_this.size = size;
return _this;
class FixedBytesCoder extends abstract_coder_1.Coder {
constructor(size, localName) {
let name = "bytes" + String(size);
super(name, name, localName, false);
this.size = size;
}
FixedBytesCoder.prototype.defaultValue = function () {
return ("0x0000000000000000000000000000000000000000000000000000000000000000").substring(0, 2 + this.size * 2);
};
FixedBytesCoder.prototype.encode = function (writer, value) {
var data = (0, bytes_1.arrayify)(value);
defaultValue() {
return "0x0000000000000000000000000000000000000000000000000000000000000000".substring(0, 2 + this.size * 2);
}
encode(writer, value) {
let data = (0, bytes_1.arrayify)(value);
if (data.length !== this.size) {

@@ -40,9 +22,8 @@ this._throwError("incorrect data length", value);

return writer.writeBytes(data);
};
FixedBytesCoder.prototype.decode = function (reader) {
}
decode(reader) {
return reader.coerce(this.name, (0, bytes_1.hexlify)(reader.readBytes(this.size)));
};
return FixedBytesCoder;
}(abstract_coder_1.Coder));
}
}
exports.FixedBytesCoder = FixedBytesCoder;
//# sourceMappingURL=fixed-bytes.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"fixed-bytes.js","sourceRoot":"","sources":["../../src.ts/coders/fixed-bytes.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,qCAA2D;AAE3D,mDAAyD;AAEzD,+BAA+B;AAC/B;IAAqC,mCAAK;IAGtC,yBAAY,IAAY,EAAE,SAAiB;QAA3C,iBAIC;QAHG,IAAI,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,QAAA,MAAK,YAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAC;QACpC,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;IACrB,CAAC;IAED,sCAAY,GAAZ;QACI,OAAO,CAAC,oEAAoE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAClH,CAAC;IAED,gCAAM,GAAN,UAAO,MAAc,EAAE,KAAgB;QACnC,IAAI,IAAI,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC;QACpF,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,gCAAM,GAAN,UAAO,MAAc;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,eAAO,EAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IACL,sBAAC;AAAD,CAAC,AAtBD,CAAqC,sBAAK,GAsBzC;AAtBY,0CAAe"}
{"version":3,"file":"fixed-bytes.js","sourceRoot":"","sources":["../../src.ts/coders/fixed-bytes.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,uCAA2D;AAE3D,qDAAyD;AAEzD,+BAA+B;AAC/B,MAAa,eAAgB,SAAQ,sBAAK;IAGtC,YAAY,IAAY,EAAE,SAAiB;QACvC,IAAI,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,YAAY;QACR,OAAO,oEAAoE,CAAC,SAAS,CACjF,CAAC,EACD,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CACpB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAgB;QACnC,IAAI,IAAI,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,eAAO,EAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;CACJ;AA3BD,0CA2BC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"null.d.ts","sourceRoot":"","sources":["../../src.ts/coders/null.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,SAAU,SAAQ,KAAK;gBAEpB,SAAS,EAAE,MAAM;IAI7B,YAAY,IAAI,IAAI;IAIpB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM;IAK1C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAI9B"}
{"version":3,"file":"null.d.ts","sourceRoot":"","sources":["../../src.ts/coders/null.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,SAAU,SAAQ,KAAK;gBACpB,SAAS,EAAE,MAAM;IAI7B,YAAY,IAAI,IAAI;IAIpB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM;IAO1C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAI9B"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.NullCoder = void 0;
var abstract_coder_1 = require("./abstract-coder");
var NullCoder = /** @class */ (function (_super) {
__extends(NullCoder, _super);
function NullCoder(localName) {
return _super.call(this, "null", "", localName, false) || this;
const abstract_coder_1 = require("./abstract-coder");
class NullCoder extends abstract_coder_1.Coder {
constructor(localName) {
super("null", "", localName, false);
}
NullCoder.prototype.defaultValue = function () {
defaultValue() {
return null;
};
NullCoder.prototype.encode = function (writer, value) {
}
encode(writer, value) {
if (value != null) {

@@ -33,10 +17,9 @@ this._throwError("not null", value);

return writer.writeBytes([]);
};
NullCoder.prototype.decode = function (reader) {
}
decode(reader) {
reader.readBytes(0);
return reader.coerce(this.name, null);
};
return NullCoder;
}(abstract_coder_1.Coder));
}
}
exports.NullCoder = NullCoder;
//# sourceMappingURL=null.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"null.js","sourceRoot":"","sources":["../../src.ts/coders/null.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,mDAAyD;AAEzD;IAA+B,6BAAK;IAEhC,mBAAY,SAAiB;QACzB,OAAA,MAAK,YAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAC;IACxC,CAAC;IAED,gCAAY,GAAZ;QACI,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,0BAAM,GAAN,UAAO,MAAc,EAAE,KAAU;QAC7B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC;QAC3D,OAAO,MAAM,CAAC,UAAU,CAAC,EAAG,CAAC,CAAC;IAClC,CAAC;IAED,0BAAM,GAAN,UAAO,MAAc;QACjB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IACL,gBAAC;AAAD,CAAC,AAnBD,CAA+B,sBAAK,GAmBnC;AAnBY,8BAAS"}
{"version":3,"file":"null.js","sourceRoot":"","sources":["../../src.ts/coders/null.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,qDAAyD;AAEzD,MAAa,SAAU,SAAQ,sBAAK;IAChC,YAAY,SAAiB;QACzB,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAU;QAC7B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;CACJ;AApBD,8BAoBC"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.NumberCoder = void 0;
var bignumber_1 = require("@qevm/bignumber");
var constants_1 = require("@qevm/constants");
var abstract_coder_1 = require("./abstract-coder");
var NumberCoder = /** @class */ (function (_super) {
__extends(NumberCoder, _super);
function NumberCoder(size, signed, localName) {
var _this = this;
var name = ((signed ? "int" : "uint") + (size * 8));
_this = _super.call(this, name, name, localName, false) || this;
_this.size = size;
_this.signed = signed;
return _this;
const bignumber_1 = require("@qevm/bignumber");
const constants_1 = require("@qevm/constants");
const abstract_coder_1 = require("./abstract-coder");
class NumberCoder extends abstract_coder_1.Coder {
constructor(size, signed, localName) {
const name = (signed ? "int" : "uint") + size * 8;
super(name, name, localName, false);
this.size = size;
this.signed = signed;
}
NumberCoder.prototype.defaultValue = function () {
defaultValue() {
return 0;
};
NumberCoder.prototype.encode = function (writer, value) {
var v = bignumber_1.BigNumber.from(value);
}
encode(writer, value) {
let v = bignumber_1.BigNumber.from(value);
// Check bounds are safe for encoding
var maxUintValue = constants_1.MaxUint256.mask(writer.wordSize * 8);
let maxUintValue = constants_1.MaxUint256.mask(writer.wordSize * 8);
if (this.signed) {
var bounds = maxUintValue.mask(this.size * 8 - 1);
let bounds = maxUintValue.mask(this.size * 8 - 1);
if (v.gt(bounds) || v.lt(bounds.add(constants_1.One).mul(constants_1.NegativeOne))) {

@@ -53,5 +35,5 @@ this._throwError("value out-of-bounds", value);

return writer.writeValue(v);
};
NumberCoder.prototype.decode = function (reader) {
var value = reader.readValue().mask(this.size * 8);
}
decode(reader) {
let value = reader.readValue().mask(this.size * 8);
if (this.signed) {

@@ -61,6 +43,5 @@ value = value.fromTwos(this.size * 8);

return reader.coerce(this.name, value);
};
return NumberCoder;
}(abstract_coder_1.Coder));
}
}
exports.NumberCoder = NumberCoder;
//# sourceMappingURL=number.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"number.js","sourceRoot":"","sources":["../../src.ts/coders/number.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,6CAA0D;AAC1D,6CAAqE;AAErE,mDAAyD;AAEzD;IAAiC,+BAAK;IAIlC,qBAAY,IAAY,EAAE,MAAe,EAAE,SAAiB;QAA5D,iBAMC;QALG,IAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,QAAA,MAAK,YAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAC;QAEpC,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;IACzB,CAAC;IAED,kCAAY,GAAZ;QACI,OAAO,CAAC,CAAC;IACb,CAAC;IAED,4BAAM,GAAN,UAAO,MAAc,EAAE,KAAmB;QACtC,IAAI,CAAC,GAAG,qBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9B,qCAAqC;QACrC,IAAI,YAAY,GAAG,sBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,eAAG,CAAC,CAAC,GAAG,CAAC,uBAAW,CAAC,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,CAAC,gBAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,4BAAM,GAAN,UAAO,MAAc;QACjB,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACL,kBAAC;AAAD,CAAC,AAhDD,CAAiC,sBAAK,GAgDrC;AAhDY,kCAAW"}
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../src.ts/coders/number.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,+CAA0D;AAC1D,+CAAqE;AAErE,qDAAyD;AAEzD,MAAa,WAAY,SAAQ,sBAAK;IAIlC,YAAY,IAAY,EAAE,MAAe,EAAE,SAAiB;QACxD,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,YAAY;QACR,OAAO,CAAC,CAAC;IACb,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAmB;QACtC,IAAI,CAAC,GAAG,qBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9B,qCAAqC;QACrC,IAAI,YAAY,GAAG,sBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,eAAG,CAAC,CAAC,GAAG,CAAC,uBAAW,CAAC,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,CAAC,gBAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;CACJ;AAhDD,kCAgDC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src.ts/coders/string.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,WAAY,SAAQ,iBAAiB;gBAElC,SAAS,EAAE,MAAM;IAI7B,YAAY,IAAI,MAAM;IAItB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM;IAI1C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAG9B"}
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src.ts/coders/string.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,WAAY,SAAQ,iBAAiB;gBAClC,SAAS,EAAE,MAAM;IAI7B,YAAY,IAAI,MAAM;IAItB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM;IAI1C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAG9B"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.StringCoder = void 0;
var strings_1 = require("@qevm/strings");
var bytes_1 = require("./bytes");
var StringCoder = /** @class */ (function (_super) {
__extends(StringCoder, _super);
function StringCoder(localName) {
return _super.call(this, "string", localName) || this;
const strings_1 = require("@qevm/strings");
const bytes_1 = require("./bytes");
class StringCoder extends bytes_1.DynamicBytesCoder {
constructor(localName) {
super("string", localName);
}
StringCoder.prototype.defaultValue = function () {
defaultValue() {
return "";
};
StringCoder.prototype.encode = function (writer, value) {
return _super.prototype.encode.call(this, writer, (0, strings_1.toUtf8Bytes)(value));
};
StringCoder.prototype.decode = function (reader) {
return (0, strings_1.toUtf8String)(_super.prototype.decode.call(this, reader));
};
return StringCoder;
}(bytes_1.DynamicBytesCoder));
}
encode(writer, value) {
return super.encode(writer, (0, strings_1.toUtf8Bytes)(value));
}
decode(reader) {
return (0, strings_1.toUtf8String)(super.decode(reader));
}
}
exports.StringCoder = StringCoder;
//# sourceMappingURL=string.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src.ts/coders/string.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,yCAA0D;AAG1D,iCAA4C;AAE5C;IAAiC,+BAAiB;IAE9C,qBAAY,SAAiB;QACzB,OAAA,MAAK,YAAC,QAAQ,EAAE,SAAS,CAAC,SAAC;IAC/B,CAAC;IAED,kCAAY,GAAZ;QACI,OAAO,EAAE,CAAC;IACd,CAAC;IAED,4BAAM,GAAN,UAAO,MAAc,EAAE,KAAU;QAC7B,OAAO,gBAAK,CAAC,MAAM,YAAC,MAAM,EAAE,IAAA,qBAAW,EAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,4BAAM,GAAN,UAAO,MAAc;QACjB,OAAO,IAAA,sBAAY,EAAC,gBAAK,CAAC,MAAM,YAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IACL,kBAAC;AAAD,CAAC,AAjBD,CAAiC,yBAAiB,GAiBjD;AAjBY,kCAAW"}
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src.ts/coders/string.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,2CAA0D;AAG1D,mCAA4C;AAE5C,MAAa,WAAY,SAAQ,yBAAiB;IAC9C,YAAY,SAAiB;QACzB,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,YAAY;QACR,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAU;QAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAA,qBAAW,EAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,IAAA,sBAAY,EAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;CACJ;AAhBD,kCAgBC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../src.ts/coders/tuple.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGzD,qBAAa,UAAW,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAElB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM;IAanD,YAAY,IAAI,GAAG;IA+BnB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;QAAE,CAAE,IAAI,EAAE,MAAM,GAAI,GAAG,CAAA;KAAE,GAAG,MAAM;IAI7E,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAG9B"}
{"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../src.ts/coders/tuple.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGzD,qBAAa,UAAW,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAElB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM;IAenD,YAAY,IAAI,GAAG;IA0CnB,MAAM,CACF,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAC5C,MAAM;IAIT,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CAG9B"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.TupleCoder = void 0;
var abstract_coder_1 = require("./abstract-coder");
var array_1 = require("./array");
var TupleCoder = /** @class */ (function (_super) {
__extends(TupleCoder, _super);
function TupleCoder(coders, localName) {
var _this = this;
var dynamic = false;
var types = [];
coders.forEach(function (coder) {
const abstract_coder_1 = require("./abstract-coder");
const array_1 = require("./array");
class TupleCoder extends abstract_coder_1.Coder {
constructor(coders, localName) {
let dynamic = false;
const types = [];
coders.forEach((coder) => {
if (coder.dynamic) {

@@ -33,15 +16,14 @@ dynamic = true;

});
var type = ("tuple(" + types.join(",") + ")");
_this = _super.call(this, "tuple", type, localName, dynamic) || this;
_this.coders = coders;
return _this;
const type = "tuple(" + types.join(",") + ")";
super("tuple", type, localName, dynamic);
this.coders = coders;
}
TupleCoder.prototype.defaultValue = function () {
var values = [];
this.coders.forEach(function (coder) {
defaultValue() {
const values = [];
this.coders.forEach((coder) => {
values.push(coder.defaultValue());
});
// We only output named properties for uniquely named coders
var uniqueNames = this.coders.reduce(function (accum, coder) {
var name = coder.localName;
const uniqueNames = this.coders.reduce((accum, coder) => {
const name = coder.localName;
if (name) {

@@ -56,4 +38,4 @@ if (!accum[name]) {

// Add named values
this.coders.forEach(function (coder, index) {
var name = coder.localName;
this.coders.forEach((coder, index) => {
let name = coder.localName;
if (!name || uniqueNames[name] !== 1) {

@@ -71,12 +53,11 @@ return;

return Object.freeze(values);
};
TupleCoder.prototype.encode = function (writer, value) {
}
encode(writer, value) {
return (0, array_1.pack)(writer, this.coders, value);
};
TupleCoder.prototype.decode = function (reader) {
}
decode(reader) {
return reader.coerce(this.name, (0, array_1.unpack)(reader, this.coders));
};
return TupleCoder;
}(abstract_coder_1.Coder));
}
}
exports.TupleCoder = TupleCoder;
//# sourceMappingURL=tuple.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../src.ts/coders/tuple.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,mDAAyD;AACzD,iCAAuC;AAEvC;IAAgC,8BAAK;IAGjC,oBAAY,MAAoB,EAAE,SAAiB;QAAnD,iBAWC;QAVG,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;YACjB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC;YAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAM,IAAI,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QAEhD,QAAA,MAAK,YAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAC;QACzC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;IACzB,CAAC;IAED,iCAAY,GAAZ;QACI,IAAM,MAAM,GAAQ,EAAG,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;YACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,4DAA4D;QAC5D,IAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,KAAK;YAChD,IAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;YAC7B,IAAI,IAAI,EAAE,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,EAAgC,EAAG,CAAC,CAAC;QAEtC,mBAAmB;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAY,EAAE,KAAa;YAC5C,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;YAC3B,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAAC,IAAI,GAAG,SAAS,CAAC;YAAC,CAAC;YAE5C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAErC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,2BAAM,GAAN,UAAO,MAAc,EAAE,KAA6C;QAChE,OAAO,IAAA,YAAI,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,2BAAM,GAAN,UAAO,MAAc;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,cAAM,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;IACL,iBAAC;AAAD,CAAC,AAtDD,CAAgC,sBAAK,GAsDpC;AAtDY,gCAAU"}
{"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../src.ts/coders/tuple.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,qDAAyD;AACzD,mCAAuC;AAEvC,MAAa,UAAW,SAAQ,sBAAK;IAGjC,YAAY,MAAoB,EAAE,SAAiB;QAC/C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAE9C,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,YAAY;QACR,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,4DAA4D;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAClC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACb,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;YAC7B,IAAI,IAAI,EAAE,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,EAC2B,EAAE,CACjC,CAAC;QAEF,mBAAmB;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAY,EAAE,KAAa,EAAE,EAAE;YAChD,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;YAC3B,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO;YACX,CAAC;YAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpB,IAAI,GAAG,SAAS,CAAC;YACrB,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACvB,OAAO;YACX,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CACF,MAAc,EACd,KAA2C;QAE3C,OAAO,IAAA,YAAI,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,cAAM,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;CACJ;AAtED,gCAsEC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"fragments.d.ts","sourceRoot":"","sources":["../src.ts/fragments.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"fragments.d.ts","sourceRoot":"","sources":["../src.ts/fragments.ts"],"names":[],"mappings":"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"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.ErrorFragment = exports.FunctionFragment = exports.ConstructorFragment = exports.EventFragment = exports.Fragment = exports.ParamType = exports.FormatTypes = void 0;
var bignumber_1 = require("@qevm/bignumber");
var properties_1 = require("@ethersproject/properties");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
;
var _constructorGuard = {};
var ModifiersBytes = { calldata: true, memory: true, storage: true };
var ModifiersNest = { calldata: true, memory: true };
const bignumber_1 = require("@qevm/bignumber");
const properties_1 = require("@qevm/properties");
const logger_1 = require("@qevm/logger");
const _version_1 = require("./_version");
const logger = new logger_1.Logger(_version_1.version);
const _constructorGuard = {};
let ModifiersBytes = {
calldata: true,
memory: true,
storage: true,
};
let ModifiersNest = {
calldata: true,
memory: true,
};
function checkModifier(type, name) {

@@ -51,9 +42,14 @@ if (type === "bytes" || type === "string") {

function parseParamType(param, allowIndexed) {
var originalParam = param;
let originalParam = param;
function throwError(i) {
logger.throwArgumentError("unexpected character at position ".concat(i), "param", param);
logger.throwArgumentError(`unexpected character at position ${i}`, "param", param);
}
param = param.replace(/\s/g, " ");
function newNode(parent) {
var node = { type: "", name: "", parent: parent, state: { allowType: true } };
let node = {
type: "",
name: "",
parent: parent,
state: { allowType: true },
};
if (allowIndexed) {

@@ -64,6 +60,6 @@ node.indexed = false;

}
var parent = { type: "", name: "", state: { allowType: true } };
var node = parent;
for (var i = 0; i < param.length; i++) {
var c = param[i];
let parent = { type: "", name: "", state: { allowType: true } };
let node = parent;
for (let i = 0; i < param.length; i++) {
let c = param[i];
switch (c) {

@@ -95,3 +91,3 @@ case "(":

node.type = verifyType(node.type);
var child = node;
let child = node;
node = node.parent;

@@ -119,3 +115,3 @@ if (!node) {

node.type = verifyType(node.type);
var sibling = newNode(node.parent);
let sibling = newNode(node.parent);
//{ type: "", name: "", parent: node.parent, state: { allowType: true } };

@@ -216,3 +212,3 @@ node.parent.components.push(sibling);

function populate(object, params) {
for (var key in params) {
for (let key in params) {
(0, properties_1.defineReadOnly)(object, key, params[key]);

@@ -229,14 +225,14 @@ }

// JSON-format a la Solidity
json: "json"
json: "json",
});
var paramTypeArray = new RegExp(/^(.*)\[([0-9]*)\]$/);
var ParamType = /** @class */ (function () {
function ParamType(constructorGuard, params) {
const paramTypeArray = new RegExp(/^(.*)\[([0-9]*)\]$/);
class ParamType {
constructor(constructorGuard, params) {
if (constructorGuard !== _constructorGuard) {
logger.throwError("use fromString", logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new ParamType()"
operation: "new ParamType()",
});
}
populate(this, params);
var match = this.type.match(paramTypeArray);
let match = this.type.match(paramTypeArray);
if (match) {

@@ -247,5 +243,5 @@ populate(this, {

type: match[1],
components: this.components
components: this.components,
}),
baseType: "array"
baseType: "array",
});

@@ -257,3 +253,3 @@ }

arrayChildren: null,
baseType: ((this.components != null) ? "tuple" : this.type)
baseType: this.components != null ? "tuple" : this.type,
});

@@ -268,3 +264,3 @@ }

// - full: "tuple(uint256 foo, address bar) indexed baz"
ParamType.prototype.format = function (format) {
format(format) {
if (!format) {

@@ -277,19 +273,22 @@ format = exports.FormatTypes.sighash;

if (format === exports.FormatTypes.json) {
var result_1 = {
type: ((this.baseType === "tuple") ? "tuple" : this.type),
name: (this.name || undefined)
let result = {
type: this.baseType === "tuple" ? "tuple" : this.type,
name: this.name || undefined,
};
if (typeof (this.indexed) === "boolean") {
result_1.indexed = this.indexed;
if (typeof this.indexed === "boolean") {
result.indexed = this.indexed;
}
if (this.components) {
result_1.components = this.components.map(function (comp) { return JSON.parse(comp.format(format)); });
result.components = this.components.map((comp) => JSON.parse(comp.format(format)));
}
return JSON.stringify(result_1);
return JSON.stringify(result);
}
var result = "";
let result = "";
// Array
if (this.baseType === "array") {
result += this.arrayChildren.format(format);
result += "[" + (this.arrayLength < 0 ? "" : String(this.arrayLength)) + "]";
result +=
"[" +
(this.arrayLength < 0 ? "" : String(this.arrayLength)) +
"]";
}

@@ -301,3 +300,8 @@ else {

}
result += "(" + this.components.map(function (comp) { return comp.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ")";
result +=
"(" +
this.components
.map((comp) => comp.format(format))
.join(format === exports.FormatTypes.full ? ", " : ",") +
")";
}

@@ -317,10 +321,10 @@ else {

return result;
};
ParamType.from = function (value, allowIndexed) {
if (typeof (value) === "string") {
}
static from(value, allowIndexed) {
if (typeof value === "string") {
return ParamType.fromString(value, allowIndexed);
}
return ParamType.fromObject(value);
};
ParamType.fromObject = function (value) {
}
static fromObject(value) {
if (ParamType.isParamType(value)) {

@@ -330,9 +334,11 @@ return value;

return new ParamType(_constructorGuard, {
name: (value.name || null),
name: value.name || null,
type: verifyType(value.type),
indexed: ((value.indexed == null) ? null : !!value.indexed),
components: (value.components ? value.components.map(ParamType.fromObject) : null)
indexed: value.indexed == null ? null : !!value.indexed,
components: value.components
? value.components.map(ParamType.fromObject)
: null,
});
};
ParamType.fromString = function (value, allowIndexed) {
}
static fromString(value, allowIndexed) {
function ParamTypify(node) {

@@ -343,22 +349,20 @@ return ParamType.fromObject({

indexed: node.indexed,
components: node.components
components: node.components,
});
}
return ParamTypify(parseParamType(value, !!allowIndexed));
};
ParamType.isParamType = function (value) {
}
static isParamType(value) {
return !!(value != null && value._isParamType);
};
return ParamType;
}());
}
}
exports.ParamType = ParamType;
;
function parseParams(value, allowIndex) {
return splitNesting(value).map(function (param) { return ParamType.fromString(param, allowIndex); });
return splitNesting(value).map((param) => ParamType.fromString(param, allowIndex));
}
var Fragment = /** @class */ (function () {
function Fragment(constructorGuard, params) {
class Fragment {
constructor(constructorGuard, params) {
if (constructorGuard !== _constructorGuard) {
logger.throwError("use a static from method", logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new Fragment()"
operation: "new Fragment()",
});

@@ -370,12 +374,12 @@ }

}
Fragment.from = function (value) {
static from(value) {
if (Fragment.isFragment(value)) {
return value;
}
if (typeof (value) === "string") {
if (typeof value === "string") {
return Fragment.fromString(value);
}
return Fragment.fromObject(value);
};
Fragment.fromObject = function (value) {
}
static fromObject(value) {
if (Fragment.isFragment(value)) {

@@ -399,7 +403,10 @@ return value;

return logger.throwArgumentError("invalid fragment object", "value", value);
};
Fragment.fromString = function (value) {
}
static fromString(value) {
// Make sure the "returns" is surrounded by a space and all whitespace is exactly one space
value = value.replace(/\s/g, " ");
value = value.replace(/\(/g, " (").replace(/\)/g, ") ").replace(/\s+/g, " ");
value = value
.replace(/\(/g, " (")
.replace(/\)/g, ") ")
.replace(/\s+/g, " ");
value = value.trim();

@@ -419,15 +426,10 @@ if (value.split(" ")[0] === "event") {

return logger.throwArgumentError("unsupported fragment", "value", value);
};
Fragment.isFragment = function (value) {
}
static isFragment(value) {
return !!(value && value._isFragment);
};
return Fragment;
}());
}
}
exports.Fragment = Fragment;
var EventFragment = /** @class */ (function (_super) {
__extends(EventFragment, _super);
function EventFragment() {
return _super !== null && _super.apply(this, arguments) || this;
}
EventFragment.prototype.format = function (format) {
class EventFragment extends Fragment {
format(format) {
if (!format) {

@@ -444,10 +446,16 @@ format = exports.FormatTypes.sighash;

name: this.name,
inputs: this.inputs.map(function (input) { return JSON.parse(input.format(format)); })
inputs: this.inputs.map((input) => JSON.parse(input.format(format))),
});
}
var result = "";
let result = "";
if (format !== exports.FormatTypes.sighash) {
result += "event ";
}
result += this.name + "(" + this.inputs.map(function (input) { return input.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ") ";
result +=
this.name +
"(" +
this.inputs
.map((input) => input.format(format))
.join(format === exports.FormatTypes.full ? ", " : ",") +
") ";
if (format !== exports.FormatTypes.sighash) {

@@ -459,10 +467,10 @@ if (this.anonymous) {

return result.trim();
};
EventFragment.from = function (value) {
if (typeof (value) === "string") {
}
static from(value) {
if (typeof value === "string") {
return EventFragment.fromString(value);
}
return EventFragment.fromObject(value);
};
EventFragment.fromObject = function (value) {
}
static fromObject(value) {
if (EventFragment.isEventFragment(value)) {

@@ -474,17 +482,17 @@ return value;

}
var params = {
const params = {
name: verifyIdentifier(value.name),
anonymous: value.anonymous,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),
type: "event"
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [],
type: "event",
};
return new EventFragment(_constructorGuard, params);
};
EventFragment.fromString = function (value) {
var match = value.match(regexParen);
}
static fromString(value) {
let match = value.match(regexParen);
if (!match) {
logger.throwArgumentError("invalid event string", "value", value);
}
var anonymous = false;
match[3].split(" ").forEach(function (modifier) {
let anonymous = false;
match[3].split(" ").forEach((modifier) => {
switch (modifier.trim()) {

@@ -504,14 +512,13 @@ case "anonymous":

inputs: parseParams(match[2], true),
type: "event"
type: "event",
});
};
EventFragment.isEventFragment = function (value) {
return (value && value._isFragment && value.type === "event");
};
return EventFragment;
}(Fragment));
}
static isEventFragment(value) {
return value && value._isFragment && value.type === "event";
}
}
exports.EventFragment = EventFragment;
function parseGas(value, params) {
params.gas = null;
var comps = value.split("@");
let comps = value.split("@");
if (comps.length !== 1) {

@@ -533,3 +540,3 @@ if (comps.length > 2) {

params.stateMutability = "nonpayable";
value.split(" ").forEach(function (modifier) {
value.split(" ").forEach((modifier) => {
switch (modifier.trim()) {

@@ -565,6 +572,6 @@ case "constant":

function verifyState(value) {
var result = {
let result = {
constant: false,
payable: true,
stateMutability: "payable"
stateMutability: "payable",
};

@@ -574,13 +581,17 @@ if (value.stateMutability != null) {

// Set (and check things are consistent) the constant property
result.constant = (result.stateMutability === "view" || result.stateMutability === "pure");
result.constant =
result.stateMutability === "view" ||
result.stateMutability === "pure";
if (value.constant != null) {
if ((!!value.constant) !== result.constant) {
logger.throwArgumentError("cannot have constant function with mutability " + result.stateMutability, "value", value);
if (!!value.constant !== result.constant) {
logger.throwArgumentError("cannot have constant function with mutability " +
result.stateMutability, "value", value);
}
}
// Set (and check things are consistent) the payable property
result.payable = (result.stateMutability === "payable");
result.payable = result.stateMutability === "payable";
if (value.payable != null) {
if ((!!value.payable) !== result.payable) {
logger.throwArgumentError("cannot have payable function with mutability " + result.stateMutability, "value", value);
if (!!value.payable !== result.payable) {
logger.throwArgumentError("cannot have payable function with mutability " +
result.stateMutability, "value", value);
}

@@ -592,3 +603,5 @@ }

// If payable we can assume non-constant; otherwise we can't assume
if (value.constant == null && !result.payable && value.type !== "constructor") {
if (value.constant == null &&
!result.payable &&
value.type !== "constructor") {
logger.throwArgumentError("unable to determine stateMutability", "value", value);

@@ -601,3 +614,3 @@ }

else {
result.stateMutability = (result.payable ? "payable" : "nonpayable");
result.stateMutability = result.payable ? "payable" : "nonpayable";
}

@@ -611,3 +624,3 @@ if (result.payable && result.constant) {

result.payable = !result.constant;
result.stateMutability = (result.constant ? "view" : "payable");
result.stateMutability = result.constant ? "view" : "payable";
}

@@ -619,8 +632,4 @@ else if (value.type !== "constructor") {

}
var ConstructorFragment = /** @class */ (function (_super) {
__extends(ConstructorFragment, _super);
function ConstructorFragment() {
return _super !== null && _super.apply(this, arguments) || this;
}
ConstructorFragment.prototype.format = function (format) {
class ConstructorFragment extends Fragment {
format(format) {
if (!format) {

@@ -635,6 +644,8 @@ format = exports.FormatTypes.sighash;

type: "constructor",
stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability : undefined),
stateMutability: this.stateMutability !== "nonpayable"
? this.stateMutability
: undefined,
payable: this.payable,
gas: (this.gas ? this.gas.toNumber() : undefined),
inputs: this.inputs.map(function (input) { return JSON.parse(input.format(format)); })
gas: this.gas ? this.gas.toNumber() : undefined,
inputs: this.inputs.map((input) => JSON.parse(input.format(format))),
});

@@ -644,6 +655,10 @@ }

logger.throwError("cannot format a constructor for sighash", logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
operation: "format(sighash)"
operation: "format(sighash)",
});
}
var result = "constructor(" + this.inputs.map(function (input) { return input.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ") ";
let result = "constructor(" +
this.inputs
.map((input) => input.format(format))
.join(format === exports.FormatTypes.full ? ", " : ",") +
") ";
if (this.stateMutability && this.stateMutability !== "nonpayable") {

@@ -653,10 +668,10 @@ result += this.stateMutability + " ";

return result.trim();
};
ConstructorFragment.from = function (value) {
if (typeof (value) === "string") {
}
static from(value) {
if (typeof value === "string") {
return ConstructorFragment.fromString(value);
}
return ConstructorFragment.fromObject(value);
};
ConstructorFragment.fromObject = function (value) {
}
static fromObject(value) {
if (ConstructorFragment.isConstructorFragment(value)) {

@@ -668,20 +683,20 @@ return value;

}
var state = verifyState(value);
let state = verifyState(value);
if (state.constant) {
logger.throwArgumentError("constructor cannot be constant", "value", value);
}
var params = {
const params = {
name: null,
type: value.type,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [],
payable: state.payable,
stateMutability: state.stateMutability,
gas: (value.gas ? bignumber_1.BigNumber.from(value.gas) : null)
gas: value.gas ? bignumber_1.BigNumber.from(value.gas) : null,
};
return new ConstructorFragment(_constructorGuard, params);
};
ConstructorFragment.fromString = function (value) {
var params = { type: "constructor" };
}
static fromString(value) {
let params = { type: "constructor" };
value = parseGas(value, params);
var parens = value.match(regexParen);
let parens = value.match(regexParen);
if (!parens || parens[1].trim() !== "constructor") {

@@ -693,15 +708,10 @@ logger.throwArgumentError("invalid constructor string", "value", value);

return ConstructorFragment.fromObject(params);
};
ConstructorFragment.isConstructorFragment = function (value) {
return (value && value._isFragment && value.type === "constructor");
};
return ConstructorFragment;
}(Fragment));
}
static isConstructorFragment(value) {
return value && value._isFragment && value.type === "constructor";
}
}
exports.ConstructorFragment = ConstructorFragment;
var FunctionFragment = /** @class */ (function (_super) {
__extends(FunctionFragment, _super);
function FunctionFragment() {
return _super !== null && _super.apply(this, arguments) || this;
}
FunctionFragment.prototype.format = function (format) {
class FunctionFragment extends ConstructorFragment {
format(format) {
if (!format) {

@@ -718,18 +728,26 @@ format = exports.FormatTypes.sighash;

constant: this.constant,
stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability : undefined),
stateMutability: this.stateMutability !== "nonpayable"
? this.stateMutability
: undefined,
payable: this.payable,
gas: (this.gas ? this.gas.toNumber() : undefined),
inputs: this.inputs.map(function (input) { return JSON.parse(input.format(format)); }),
outputs: this.outputs.map(function (output) { return JSON.parse(output.format(format)); }),
gas: this.gas ? this.gas.toNumber() : undefined,
inputs: this.inputs.map((input) => JSON.parse(input.format(format))),
outputs: this.outputs.map((output) => JSON.parse(output.format(format))),
});
}
var result = "";
let result = "";
if (format !== exports.FormatTypes.sighash) {
result += "function ";
}
result += this.name + "(" + this.inputs.map(function (input) { return input.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ") ";
result +=
this.name +
"(" +
this.inputs
.map((input) => input.format(format))
.join(format === exports.FormatTypes.full ? ", " : ",") +
") ";
if (format !== exports.FormatTypes.sighash) {
if (this.stateMutability) {
if (this.stateMutability !== "nonpayable") {
result += (this.stateMutability + " ");
result += this.stateMutability + " ";
}

@@ -741,3 +759,8 @@ }

if (this.outputs && this.outputs.length) {
result += "returns (" + this.outputs.map(function (output) { return output.format(format); }).join(", ") + ") ";
result +=
"returns (" +
this.outputs
.map((output) => output.format(format))
.join(", ") +
") ";
}

@@ -749,10 +772,10 @@ if (this.gas != null) {

return result.trim();
};
FunctionFragment.from = function (value) {
if (typeof (value) === "string") {
}
static from(value) {
if (typeof value === "string") {
return FunctionFragment.fromString(value);
}
return FunctionFragment.fromObject(value);
};
FunctionFragment.fromObject = function (value) {
}
static fromObject(value) {
if (FunctionFragment.isFunctionFragment(value)) {

@@ -764,23 +787,25 @@ return value;

}
var state = verifyState(value);
var params = {
let state = verifyState(value);
const params = {
type: value.type,
name: verifyIdentifier(value.name),
constant: state.constant,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),
outputs: (value.outputs ? value.outputs.map(ParamType.fromObject) : []),
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [],
outputs: value.outputs
? value.outputs.map(ParamType.fromObject)
: [],
payable: state.payable,
stateMutability: state.stateMutability,
gas: (value.gas ? bignumber_1.BigNumber.from(value.gas) : null)
gas: value.gas ? bignumber_1.BigNumber.from(value.gas) : null,
};
return new FunctionFragment(_constructorGuard, params);
};
FunctionFragment.fromString = function (value) {
var params = { type: "function" };
}
static fromString(value) {
let params = { type: "function" };
value = parseGas(value, params);
var comps = value.split(" returns ");
let comps = value.split(" returns ");
if (comps.length > 2) {
logger.throwArgumentError("invalid function string", "value", value);
}
var parens = comps[0].match(regexParen);
let parens = comps[0].match(regexParen);
if (!parens) {

@@ -797,3 +822,3 @@ logger.throwArgumentError("invalid function signature", "value", value);

if (comps.length > 1) {
var returns = comps[1].match(regexParen);
let returns = comps[1].match(regexParen);
if (returns[1].trim() != "" || returns[3].trim() != "") {

@@ -808,8 +833,7 @@ logger.throwArgumentError("unexpected tokens", "value", value);

return FunctionFragment.fromObject(params);
};
FunctionFragment.isFunctionFragment = function (value) {
return (value && value._isFragment && value.type === "function");
};
return FunctionFragment;
}(ConstructorFragment));
}
static isFunctionFragment(value) {
return value && value._isFragment && value.type === "function";
}
}
exports.FunctionFragment = FunctionFragment;

@@ -819,14 +843,10 @@ //export class StructFragment extends Fragment {

function checkForbidden(fragment) {
var sig = fragment.format();
const sig = fragment.format();
if (sig === "Error(string)" || sig === "Panic(uint256)") {
logger.throwArgumentError("cannot specify user defined ".concat(sig, " error"), "fragment", fragment);
logger.throwArgumentError(`cannot specify user defined ${sig} error`, "fragment", fragment);
}
return fragment;
}
var ErrorFragment = /** @class */ (function (_super) {
__extends(ErrorFragment, _super);
function ErrorFragment() {
return _super !== null && _super.apply(this, arguments) || this;
}
ErrorFragment.prototype.format = function (format) {
class ErrorFragment extends Fragment {
format(format) {
if (!format) {

@@ -842,19 +862,25 @@ format = exports.FormatTypes.sighash;

name: this.name,
inputs: this.inputs.map(function (input) { return JSON.parse(input.format(format)); }),
inputs: this.inputs.map((input) => JSON.parse(input.format(format))),
});
}
var result = "";
let result = "";
if (format !== exports.FormatTypes.sighash) {
result += "error ";
}
result += this.name + "(" + this.inputs.map(function (input) { return input.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ") ";
result +=
this.name +
"(" +
this.inputs
.map((input) => input.format(format))
.join(format === exports.FormatTypes.full ? ", " : ",") +
") ";
return result.trim();
};
ErrorFragment.from = function (value) {
if (typeof (value) === "string") {
}
static from(value) {
if (typeof value === "string") {
return ErrorFragment.fromString(value);
}
return ErrorFragment.fromObject(value);
};
ErrorFragment.fromObject = function (value) {
}
static fromObject(value) {
if (ErrorFragment.isErrorFragment(value)) {

@@ -866,12 +892,12 @@ return value;

}
var params = {
const params = {
type: value.type,
name: verifyIdentifier(value.name),
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : [])
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [],
};
return checkForbidden(new ErrorFragment(_constructorGuard, params));
};
ErrorFragment.fromString = function (value) {
var params = { type: "error" };
var parens = value.match(regexParen);
}
static fromString(value) {
let params = { type: "error" };
let parens = value.match(regexParen);
if (!parens) {

@@ -886,8 +912,7 @@ logger.throwArgumentError("invalid error signature", "value", value);

return checkForbidden(ErrorFragment.fromObject(params));
};
ErrorFragment.isErrorFragment = function (value) {
return (value && value._isFragment && value.type === "error");
};
return ErrorFragment;
}(Fragment));
}
static isErrorFragment(value) {
return value && value._isFragment && value.type === "error";
}
}
exports.ErrorFragment = ErrorFragment;

@@ -906,17 +931,17 @@ function verifyType(type) {

// See: https://github.com/ethereum/solidity/blob/1f8f1a3db93a548d0555e3e14cfc55a10e25b60e/docs/grammar/SolidityLexer.g4#L234
var regexIdentifier = new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");
const regexIdentifier = new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");
function verifyIdentifier(value) {
if (!value || !value.match(regexIdentifier)) {
logger.throwArgumentError("invalid identifier \"".concat(value, "\""), "value", value);
logger.throwArgumentError(`invalid identifier "${value}"`, "value", value);
}
return value;
}
var regexParen = new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");
const regexParen = new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");
function splitNesting(value) {
value = value.trim();
var result = [];
var accum = "";
var depth = 0;
for (var offset = 0; offset < value.length; offset++) {
var c = value[offset];
let result = [];
let accum = "";
let depth = 0;
for (let offset = 0; offset < value.length; offset++) {
let c = value[offset];
if (c === "," && depth === 0) {

@@ -923,0 +948,0 @@ result.push(accum);

@@ -1,1 +0,1 @@

{"version":3,"file":"fragments.js","sourceRoot":"","sources":["../src.ts/fragments.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,6CAA4C;AAC5C,wDAA2D;AAE3D,gDAA+C;AAC/C,uCAAqC;AACrC,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC,kBAAO,CAAC,CAAC;AAwBlC,CAAC;AAEF,IAAM,iBAAiB,GAAG,EAAG,CAAC;AAqB9B,IAAI,cAAc,GAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACpG,IAAI,aAAa,GAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACpF,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY;IAC7C,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACpD,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IAC7C,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,oFAAoF;AACpF,SAAS,cAAc,CAAC,KAAa,EAAE,YAAqB;IAExD,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,SAAS,UAAU,CAAC,CAAS;QACzB,MAAM,CAAC,kBAAkB,CAAC,2CAAqC,CAAC,CAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACzF,CAAC;IACD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAElC,SAAS,OAAO,CAAC,MAAiB;QAC9B,IAAI,IAAI,GAAc,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;QACzF,IAAI,YAAY,EAAE,CAAC;YAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAAC,CAAC;QAC3C,OAAO,IAAI,CAAA;IACf,CAAC;IAED,IAAI,MAAM,GAAc,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;IAC3E,IAAI,IAAI,GAAG,MAAM,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,QAAQ,CAAC,EAAE,CAAC;YACR,KAAK,GAAG;gBACJ,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;oBAC3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;gBACxB,CAAC;qBAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;oBACjC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC,UAAU,GAAG,CAAE,OAAO,CAAC,IAAI,CAAC,CAAE,CAAC;gBACpC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YAEV,KAAK,GAAG;gBACJ,OAAO,IAAI,CAAC,KAAK,CAAC;gBAElB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;wBAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAAC,CAAC;oBACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBACnB,CAAC;gBAED,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBAAC,CAAC;gBAE5D,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAElC,IAAI,KAAK,GAAG,IAAI,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;oBAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAC7B,OAAO,KAAK,CAAC,MAAM,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC7B,MAAM;YAEV,KAAK,GAAG;gBACJ,OAAO,IAAI,CAAC,KAAK,CAAC;gBAElB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;wBAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAAC,CAAC;oBACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBACnB,CAAC;gBAED,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBAAC,CAAC;gBAE5D,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAElC,IAAI,OAAO,GAAc,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7C,0EAA0E;gBAC3E,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC,MAAM,CAAC;gBACnB,IAAI,GAAG,OAAO,CAAC;gBACf,MAAM;YAEV,iBAAiB;YACjB,KAAK,GAAG;gBAEJ,iEAAiE;gBACjE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBACvB,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;wBACnB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;wBAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;wBAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;oBAClC,CAAC;gBACL,CAAC;gBAED,oCAAoC;gBACpC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBACvB,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;wBACnB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;gCAAC,UAAU,CAAC,CAAC,CAAC,CAAC;4BAAC,CAAC;4BACrC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gCAAC,UAAU,CAAC,CAAC,CAAC,CAAC;4BAAC,CAAC;4BACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;4BACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;wBACnB,CAAC;6BAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC7C,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;wBACnB,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;wBACjC,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,MAAM;YAEV,KAAK,GAAG;gBACJ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAE9C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBAEf,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC5B,MAAM;YAEV,KAAK,GAAG;gBACJ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAE7C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBAEf,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC5B,MAAM;YAEV;gBACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC9B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;gBACjC,CAAC;qBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;oBACf,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACjC,CAAC;qBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACJ,UAAU,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC;QACR,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IAEjF,OAAO,MAAM,CAAC,KAAK,CAAC;IAEpB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;YAAC,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,MAAW,EAAE,MAAW;IACtC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QAAC,IAAA,2BAAc,EAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAAC,CAAC;AACzE,CAAC;AAEY,QAAA,WAAW,GAAiC,MAAM,CAAC,MAAM,CAAC;IACnE,gFAAgF;IAChF,OAAO,EAAE,SAAS;IAElB,iFAAiF;IACjF,OAAO,EAAE,SAAS;IAElB,wDAAwD;IACxD,IAAI,EAAE,MAAM;IAEZ,4BAA4B;IAC5B,IAAI,EAAE,MAAM;CACf,CAAC,CAAC;AAEH,IAAM,cAAc,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAExD;IA0BI,mBAAY,gBAAqB,EAAE,MAAW;QAC1C,IAAI,gBAAgB,KAAK,iBAAiB,EAAE,CAAC;YAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,eAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBACnH,SAAS,EAAE,iBAAiB;aAC/B,CAAC,CAAC;QAAC,CAAC;QACL,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEvB,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE,CAAC;YACR,QAAQ,CAAC,IAAI,EAAE;gBACX,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBACvC,aAAa,EAAE,SAAS,CAAC,UAAU,CAAC;oBAChC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC9B,CAAC;gBACF,QAAQ,EAAE,OAAO;aACpB,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,IAAI,EAAE;gBACX,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aAC7D,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,gCAAgC;IAChC,mCAAmC;IACnC,gDAAgD;IAChD,6DAA6D;IAC7D,0BAAM,GAAN,UAAO,MAAe;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,MAAM,GAAG,mBAAW,CAAC,OAAO,CAAC;QAAC,CAAC;QAC9C,IAAI,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,MAAM,KAAK,mBAAW,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,QAAM,GAAQ;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxD,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;aACjC,CAAC;YACF,IAAI,OAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;gBAAC,QAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAAC,CAAC;YAC1E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,QAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAA/B,CAA+B,CAAC,CAAC;YACvF,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAM,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,QAAQ;QACR,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,GAAG,CAAC;QAChF,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC5B,IAAI,MAAM,KAAK,mBAAW,CAAC,OAAO,EAAE,CAAC;oBACjC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC;gBACxB,CAAC;gBACD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAC/B,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAnB,CAAmB,CAChC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC;YACxB,CAAC;QACL,CAAC;QAED,IAAI,MAAM,KAAK,mBAAW,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAAC,MAAM,IAAI,UAAU,CAAC;YAAC,CAAC;YACpD,IAAI,MAAM,KAAK,mBAAW,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,cAAI,GAAX,UAAY,KAA4C,EAAE,YAAsB;QAC5E,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEM,oBAAU,GAAjB,UAAkB,KAAmC;QACjD,IAAI,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAEnD,OAAO,IAAI,SAAS,CAAC,iBAAiB,EAAE;YACpC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;YAC1B,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAC1D,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,CAAC,CAAC,IAAI,CAAC;SACpF,CAAC,CAAC;IACP,CAAC;IAEM,oBAAU,GAAjB,UAAkB,KAAa,EAAE,YAAsB;QACnD,SAAS,WAAW,CAAC,IAAe;YAChC,OAAO,SAAS,CAAC,UAAU,CAAC;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC9B,CAAC,CAAC;QACP,CAAC;QAED,OAAO,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEM,qBAAW,GAAlB,UAAmB,KAAU;QACzB,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IACL,gBAAC;AAAD,CAAC,AA5ID,IA4IC;AA5IY,8BAAS;AA4IrB,CAAC;AAEF,SAAS,WAAW,CAAC,KAAa,EAAE,UAAmB;IACnD,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,EAAvC,CAAuC,CAAC,CAAC;AACvF,CAAC;AAUD;IAQI,kBAAY,gBAAqB,EAAE,MAAW;QAC1C,IAAI,gBAAgB,KAAK,iBAAiB,EAAE,CAAC;YACzC,MAAM,CAAC,UAAU,CAAC,0BAA0B,EAAE,eAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBAC/E,SAAS,EAAE,gBAAgB;aAC9B,CAAC,CAAC;QACP,CAAC;QACD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAIM,aAAI,GAAX,UAAY,KAAuC;QAC/C,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAEjD,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAEM,mBAAU,GAAjB,UAAkB,KAA8B;QAC5C,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAEjD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,UAAU;gBACX,OAAO,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9C,KAAK,OAAO;gBACR,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC3C,KAAK,aAAa;gBACd,OAAO,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACjD,KAAK,OAAO;gBACR,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC3C,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS;gBACV,uFAAuF;gBACvF,OAAO,IAAI,CAAC;QACpB,CAAC;QAED,OAAO,MAAM,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;IAEM,mBAAU,GAAjB,UAAkB,KAAa;QAC3B,2FAA2F;QAC3F,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7E,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAErB,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YACnC,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YAC5C,OAAO,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;YACtD,OAAO,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YAC1C,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IAEM,mBAAU,GAAjB,UAAkB,KAAU;QACxB,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IACL,eAAC;AAAD,CAAC,AA5ED,IA4EC;AA5EqB,4BAAQ;AAkF9B;IAAmC,iCAAQ;IAA3C;;IA4FA,CAAC;IAzFG,8BAAM,GAAN,UAAO,MAAe;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,MAAM,GAAG,mBAAW,CAAC,OAAO,CAAC;QAAC,CAAC;QAC9C,IAAI,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,MAAM,KAAK,mBAAW,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC;gBAClB,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAhC,CAAgC,CAAC;aACvE,CAAC,CAAC;QACP,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,MAAM,KAAK,mBAAW,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,QAAQ,CAAC;QACvB,CAAC;QAED,MAAM,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CACvC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAApB,CAAoB,CAClC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAEzD,IAAI,MAAM,KAAK,mBAAW,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM,IAAI,YAAY,CAAC;YAC3B,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEM,kBAAI,GAAX,UAAY,KAA4C;QACpD,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEM,wBAAU,GAAjB,UAAkB,KAAmC;QACjD,IAAI,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAE3D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;QAED,IAAM,MAAM,GAA8B;YACtC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,IAAI,EAAE,OAAO;SAChB,CAAC;QAEF,OAAO,IAAI,aAAa,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAEM,wBAAU,GAAjB,UAAkB,KAAa;QAE3B,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ;YACjC,QAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,KAAK,WAAW;oBACZ,SAAS,GAAG,IAAI,CAAC;oBACjB,MAAM;gBACV,KAAK,EAAE;oBACH,MAAM;gBACV;oBACI,MAAM,CAAC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAAC;YACrD,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC,UAAU,CAAC;YAC5B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACrB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YACnC,IAAI,EAAE,OAAO;SAChB,CAAC,CAAC;IACP,CAAC;IAEM,6BAAe,GAAtB,UAAuB,KAAU;QAC7B,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAClE,CAAC;IACL,oBAAC;AAAD,CAAC,AA5FD,CAAmC,QAAQ,GA4F1C;AA5FY,sCAAa;AA8F1B,SAAS,QAAQ,CAAC,KAAa,EAAE,MAAW;IACxC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC;IAElB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,kBAAkB,CAAC,sCAAsC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,kBAAkB,CAAC,0CAA0C,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,CAAC,GAAG,GAAG,qBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,MAAW;IAC9C,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,MAAM,CAAC,eAAe,GAAG,YAAY,CAAC;IAEtC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ;QAC9B,QAAQ,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACtB,KAAK,UAAU;gBACX,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,MAAM;YACV,KAAK,SAAS;gBACV,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,MAAM,CAAC,eAAe,GAAG,SAAS,CAAC;gBACnC,MAAM;YACV,KAAK,YAAY;gBACb,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,MAAM,CAAC,eAAe,GAAG,YAAY,CAAC;gBACtC,MAAM;YACV,KAAK,MAAM;gBACP,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC;gBAChC,MAAM;YACV,KAAK,MAAM;gBACP,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC;gBAChC,MAAM;YACV,KAAK,UAAU,CAAC;YAChB,KAAK,QAAQ,CAAC;YACd,KAAK,EAAE;gBACH,MAAM;YACV;gBACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAAC;QACrD,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAeD,SAAS,WAAW,CAAC,KAAsB;IACvC,IAAI,MAAM,GAAQ;QACd,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,SAAS;KAC7B,CAAC;IAEF,IAAI,KAAK,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;QAChC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAE/C,8DAA8D;QAC9D,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,MAAM,IAAI,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,CAAC;QAC3F,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACzC,MAAM,CAAC,kBAAkB,CAAC,gDAAgD,GAAG,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACzH,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,CAAC,kBAAkB,CAAC,+CAA+C,GAAG,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACxH,CAAC;QACL,CAAC;IAEL,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAEjC,mEAAmE;QACnE,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC5E,MAAM,CAAC,kBAAkB,CAAC,qCAAqC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QAEnC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,eAAe,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA,CAAC,CAAC,YAAY,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,kBAAkB,CAAC,uCAAuC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACvF,CAAC;IAEL,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAChC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QAClC,MAAM,CAAC,eAAe,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAA,CAAC,CAAC,SAAS,CAAC,CAAC;IAEnE,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACtC,MAAM,CAAC,kBAAkB,CAAC,qCAAqC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAQD;IAAyC,uCAAQ;IAAjD;;IAyFA,CAAC;IApFG,oCAAM,GAAN,UAAO,MAAe;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,MAAM,GAAG,mBAAW,CAAC,OAAO,CAAC;QAAC,CAAC;QAC9C,IAAI,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,MAAM,KAAK,mBAAW,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC;gBAClB,IAAI,EAAE,aAAa;gBACnB,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAA,CAAC,CAAC,SAAS,CAAC;gBAC5F,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC,SAAS,CAAC;gBAChD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAhC,CAAgC,CAAC;aACvE,CAAC,CAAC;QACP,CAAC;QAED,IAAI,MAAM,KAAK,mBAAW,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,CAAC,UAAU,CAAC,yCAAyC,EAAE,eAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBAC9F,SAAS,EAAE,iBAAiB;aAC/B,CAAC,CAAC;QACP,CAAC;QAED,IAAI,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CACzC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAApB,CAAoB,CAClC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAEzD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,KAAK,YAAY,EAAE,CAAC;YAChE,MAAM,IAAI,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QACzC,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEM,wBAAI,GAAX,UAAY,KAAkD;QAC1D,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAEM,8BAAU,GAAjB,UAAkB,KAAyC;QACvD,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAEvE,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC/B,MAAM,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,CAAC,kBAAkB,CAAC,gCAAgC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAChF,CAAC;QAED,IAAM,MAAM,GAAoC;YAC5C,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC;YACnE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,IAAI,CAAC;SACrD,CAAC;QAEF,OAAO,IAAI,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEM,8BAAU,GAAjB,UAAkB,KAAa;QAC3B,IAAI,MAAM,GAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAE1C,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;YAChD,MAAM,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAErD,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAEzC,OAAO,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAEM,yCAAqB,GAA5B,UAA6B,KAAU;QACnC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IACxE,CAAC;IACL,0BAAC;AAAD,CAAC,AAzFD,CAAyC,QAAQ,GAyFhD;AAzFY,kDAAmB;AAgGhC;IAAsC,oCAAmB;IAAzD;;IA4HA,CAAC;IAxHG,iCAAM,GAAN,UAAO,MAAe;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,MAAM,GAAG,mBAAW,CAAC,OAAO,CAAC;QAAC,CAAC;QAC9C,IAAI,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,MAAM,KAAK,mBAAW,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC;gBAClB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAA,CAAC,CAAC,SAAS,CAAC;gBAC5F,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC,SAAS,CAAC;gBAChD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAhC,CAAgC,CAAC;gBACpE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAjC,CAAiC,CAAC;aAC3E,CAAC,CAAC;QACP,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,MAAM,KAAK,mBAAW,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,WAAW,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CACvC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAApB,CAAoB,CAClC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAEzD,IAAI,MAAM,KAAK,mBAAW,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,eAAe,KAAK,YAAY,EAAE,CAAC;oBACxC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvB,MAAM,IAAI,OAAO,CAAC;YACtB,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CACpC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAArB,CAAqB,CACpC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;YAC9C,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEM,qBAAI,GAAX,UAAY,KAA+C;QACvD,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAEM,2BAAU,GAAjB,UAAkB,KAAsC;QACpD,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAEjE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAM,MAAM,GAAiC;YACzC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC;YACnE,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,CAAC,CAAC,EAAG,CAAC;YACvE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,IAAI,CAAC;SACrD,CAAC;QAEF,OAAO,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAEM,2BAAU,GAAjB,UAAkB,KAAa;QAC3B,IAAI,MAAM,GAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACvC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEhC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAEnD,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9C,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAEzC,kBAAkB;QAClB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;gBACrD,MAAM,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,OAAO,GAAG,EAAG,CAAC;QACzB,CAAC;QAED,OAAO,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAEM,mCAAkB,GAAzB,UAA0B,KAAU;QAChC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACrE,CAAC;IACL,uBAAC;AAAD,CAAC,AA5HD,CAAsC,mBAAmB,GA4HxD;AA5HY,4CAAgB;AA8H7B,gDAAgD;AAChD,GAAG;AAEH,SAAS,cAAc,CAAC,QAAuB;IAC3C,IAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC9B,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;QACtD,MAAM,CAAC,kBAAkB,CAAC,sCAAgC,GAAG,WAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;IAAmC,iCAAQ;IAA3C;;IAuEA,CAAC;IArEG,8BAAM,GAAN,UAAO,MAAe;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,MAAM,GAAG,mBAAW,CAAC,OAAO,CAAC;QAAC,CAAC;QAC9C,IAAI,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,MAAM,KAAK,mBAAW,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC;gBAClB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAhC,CAAgC,CAAC;aACvE,CAAC,CAAC;QACP,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,MAAM,KAAK,mBAAW,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,QAAQ,CAAC;QACvB,CAAC;QAED,MAAM,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CACvC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAApB,CAAoB,CAClC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAEzD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEM,kBAAI,GAAX,UAAY,KAA4C;QACpD,IAAI,OAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEM,wBAAU,GAAjB,UAAkB,KAAmC;QACjD,IAAI,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAE3D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;QAED,IAAM,MAAM,GAAyB;YACjC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC;QAEF,OAAO,cAAc,CAAC,IAAI,aAAa,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC;IAEM,wBAAU,GAAjB,UAAkB,KAAa;QAC3B,IAAI,MAAM,GAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAEpC,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAEnD,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9C,OAAO,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEM,6BAAe,GAAtB,UAAuB,KAAU;QAC7B,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAClE,CAAC;IACL,oBAAC;AAAD,CAAC,AAvED,CAAmC,QAAQ,GAuE1C;AAvEY,sCAAa;AAyE1B,SAAS,UAAU,CAAC,IAAY;IAE5B,yDAAyD;IACzD,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAChC,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACtC,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,2BAA2B;IAE3B,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,6HAA6H;AAC7H,IAAM,eAAe,GAAG,IAAI,MAAM,CAAC,4BAA4B,CAAC,CAAC;AACjE,SAAS,gBAAgB,CAAC,KAAa;IACnC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,kBAAkB,CAAC,+BAAwB,KAAK,OAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,IAAM,UAAU,GAAG,IAAI,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAE9D,SAAS,YAAY,CAAC,KAAa;IAC/B,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAErB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,GAAG,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACJ,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACZ,KAAK,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnB,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAElC,OAAO,MAAM,CAAC;AAClB,CAAC"}
{"version":3,"file":"fragments.js","sourceRoot":"","sources":["../src.ts/fragments.ts"],"names":[],"mappings":"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"}
import { ConstructorFragment, ErrorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, JsonFragment, JsonFragmentType, ParamType } from "./fragments";
import { AbiCoder, CoerceFunc, defaultAbiCoder } from "./abi-coder";
import { checkResultErrors, Indexed, Interface, LogDescription, Result, TransactionDescription } from "./interface";
export { ConstructorFragment, ErrorFragment, EventFragment, Fragment, FunctionFragment, ParamType, FormatTypes, AbiCoder, defaultAbiCoder, Interface, Indexed, CoerceFunc, JsonFragment, JsonFragmentType, Result, checkResultErrors, LogDescription, TransactionDescription };
export { ConstructorFragment, ErrorFragment, EventFragment, Fragment, FunctionFragment, ParamType, FormatTypes, AbiCoder, defaultAbiCoder, Interface, Indexed, CoerceFunc, JsonFragment, JsonFragmentType, Result, checkResultErrors, LogDescription, TransactionDescription, };
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpK,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAEpH,OAAO,EACH,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,WAAW,EAEX,QAAQ,EACR,eAAe,EAEf,SAAS,EACT,OAAO,EAKP,UAAU,EACV,YAAY,EACZ,gBAAgB,EAEhB,MAAM,EACN,iBAAiB,EAEjB,cAAc,EACd,sBAAsB,EACzB,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACH,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,cAAc,EACd,MAAM,EACN,sBAAsB,EACzB,MAAM,aAAa,CAAC;AAErB,OAAO,EACH,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,QAAQ,EACR,eAAe,EACf,SAAS,EACT,OAAO,EAIP,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,sBAAsB,GACzB,CAAC"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TransactionDescription = exports.LogDescription = exports.checkResultErrors = exports.Indexed = exports.Interface = exports.defaultAbiCoder = exports.AbiCoder = exports.FormatTypes = exports.ParamType = exports.FunctionFragment = exports.Fragment = exports.EventFragment = exports.ErrorFragment = exports.ConstructorFragment = void 0;
var fragments_1 = require("./fragments");
const fragments_1 = require("./fragments");
Object.defineProperty(exports, "ConstructorFragment", { enumerable: true, get: function () { return fragments_1.ConstructorFragment; } });

@@ -12,6 +12,6 @@ Object.defineProperty(exports, "ErrorFragment", { enumerable: true, get: function () { return fragments_1.ErrorFragment; } });

Object.defineProperty(exports, "ParamType", { enumerable: true, get: function () { return fragments_1.ParamType; } });
var abi_coder_1 = require("./abi-coder");
const abi_coder_1 = require("./abi-coder");
Object.defineProperty(exports, "AbiCoder", { enumerable: true, get: function () { return abi_coder_1.AbiCoder; } });
Object.defineProperty(exports, "defaultAbiCoder", { enumerable: true, get: function () { return abi_coder_1.defaultAbiCoder; } });
var interface_1 = require("./interface");
const interface_1 = require("./interface");
Object.defineProperty(exports, "checkResultErrors", { enumerable: true, get: function () { return interface_1.checkResultErrors; } });

@@ -18,0 +18,0 @@ Object.defineProperty(exports, "Indexed", { enumerable: true, get: function () { return interface_1.Indexed; } });

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,yCAAoK;AAKhK,oGALK,+BAAmB,OAKL;AACnB,8FAN0B,yBAAa,OAM1B;AACb,8FAPyC,yBAAa,OAOzC;AAIb,4FAXwD,uBAAW,OAWxD;AAHX,yFARqE,oBAAQ,OAQrE;AACR,iGAT+E,4BAAgB,OAS/E;AAChB,0FAViI,qBAAS,OAUjI;AATb,yCAAoE;AAYhE,yFAZK,oBAAQ,OAYL;AACR,gGAb2B,2BAAe,OAa3B;AAZnB,yCAAoH;AAyBhH,kGAzBK,6BAAiB,OAyBL;AAVjB,wFAfwB,mBAAO,OAexB;AADP,0FAdiC,qBAAS,OAcjC;AAaT,+FA3B4C,0BAAc,OA2B5C;AACd,uGA5BoE,kCAAsB,OA4BpE"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,2CAUqB;AAYjB,oGArBA,+BAAmB,OAqBA;AACnB,8FArBA,yBAAa,OAqBA;AACb,8FArBA,yBAAa,OAqBA;AAIb,4FAxBA,uBAAW,OAwBA;AAHX,yFApBA,oBAAQ,OAoBA;AACR,iGApBA,4BAAgB,OAoBA;AAChB,0FAlBA,qBAAS,OAkBA;AAhBb,2CAAoE;AAkBhE,yFAlBK,oBAAQ,OAkBL;AACR,gGAnB2B,2BAAe,OAmB3B;AAlBnB,2CAOqB;AAqBjB,kGA3BA,6BAAiB,OA2BA;AARjB,wFAlBA,mBAAO,OAkBA;AADP,0FAhBA,qBAAS,OAgBA;AAUT,+FAzBA,0BAAc,OAyBA;AACd,uGAxBA,kCAAsB,OAwBA"}
import { BigNumber, BigNumberish } from "@qevm/bignumber";
import { BytesLike } from "@qevm/bytes";
import { Description } from "@ethersproject/properties";
import { Description } from "@qevm/properties";
import { AbiCoder } from "./abi-coder";

@@ -5,0 +5,0 @@ import { checkResultErrors, Result } from "./coders/abstract-coder";

@@ -1,1 +0,1 @@

{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src.ts/interface.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src.ts/interface.ts"],"names":[],"mappings":"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"}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.Interface = exports.Indexed = exports.ErrorDescription = exports.TransactionDescription = exports.LogDescription = exports.checkResultErrors = void 0;
var address_1 = require("@qevm/address");
var bignumber_1 = require("@qevm/bignumber");
var bytes_1 = require("@qevm/bytes");
var hash_1 = require("@qevm/hash");
var keccak256_1 = require("@qevm/keccak256");
var properties_1 = require("@ethersproject/properties");
var abi_coder_1 = require("./abi-coder");
var abstract_coder_1 = require("./coders/abstract-coder");
const address_1 = require("@qevm/address");
const bignumber_1 = require("@qevm/bignumber");
const bytes_1 = require("@qevm/bytes");
const hash_1 = require("@qevm/hash");
const keccak256_1 = require("@qevm/keccak256");
const properties_1 = require("@qevm/properties");
const abi_coder_1 = require("./abi-coder");
const abstract_coder_1 = require("./coders/abstract-coder");
Object.defineProperty(exports, "checkResultErrors", { enumerable: true, get: function () { return abstract_coder_1.checkResultErrors; } });
var fragments_1 = require("./fragments");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
var LogDescription = /** @class */ (function (_super) {
__extends(LogDescription, _super);
function LogDescription() {
return _super !== null && _super.apply(this, arguments) || this;
}
return LogDescription;
}(properties_1.Description));
const fragments_1 = require("./fragments");
const logger_1 = require("@qevm/logger");
const _version_1 = require("./_version");
const logger = new logger_1.Logger(_version_1.version);
class LogDescription extends properties_1.Description {
}
exports.LogDescription = LogDescription;
var TransactionDescription = /** @class */ (function (_super) {
__extends(TransactionDescription, _super);
function TransactionDescription() {
return _super !== null && _super.apply(this, arguments) || this;
}
return TransactionDescription;
}(properties_1.Description));
class TransactionDescription extends properties_1.Description {
}
exports.TransactionDescription = TransactionDescription;
var ErrorDescription = /** @class */ (function (_super) {
__extends(ErrorDescription, _super);
function ErrorDescription() {
return _super !== null && _super.apply(this, arguments) || this;
}
return ErrorDescription;
}(properties_1.Description));
class ErrorDescription extends properties_1.Description {
}
exports.ErrorDescription = ErrorDescription;
var Indexed = /** @class */ (function (_super) {
__extends(Indexed, _super);
function Indexed() {
return _super !== null && _super.apply(this, arguments) || this;
class Indexed extends properties_1.Description {
static isIndexed(value) {
return !!(value && value._isIndexed);
}
Indexed.isIndexed = function (value) {
return !!(value && value._isIndexed);
};
return Indexed;
}(properties_1.Description));
}
exports.Indexed = Indexed;
var BuiltinErrors = {
"0x08c379a0": { signature: "Error(string)", name: "Error", inputs: ["string"], reason: true },
"0x4e487b71": { signature: "Panic(uint256)", name: "Panic", inputs: ["uint256"] }
const BuiltinErrors = {
"0x08c379a0": {
signature: "Error(string)",
name: "Error",
inputs: ["string"],
reason: true,
},
"0x4e487b71": {
signature: "Panic(uint256)",
name: "Panic",
inputs: ["uint256"],
},
};
function wrapAccessError(property, error) {
var wrap = new Error("deferred error during ABI decoding triggered accessing ".concat(property));
const wrap = new Error(`deferred error during ABI decoding triggered accessing ${property}`);
wrap.error = error;

@@ -89,8 +63,6 @@ return wrap;

*/
var Interface = /** @class */ (function () {
function Interface(fragments) {
var _newTarget = this.constructor;
var _this = this;
var abi = [];
if (typeof (fragments) === "string") {
class Interface {
constructor(fragments) {
let abi = [];
if (typeof fragments === "string") {
abi = JSON.parse(fragments);

@@ -101,6 +73,8 @@ }

}
(0, properties_1.defineReadOnly)(this, "fragments", abi.map(function (fragment) {
(0, properties_1.defineReadOnly)(this, "fragments", abi
.map((fragment) => {
return fragments_1.Fragment.from(fragment);
}).filter(function (fragment) { return (fragment != null); }));
(0, properties_1.defineReadOnly)(this, "_abiCoder", (0, properties_1.getStatic)(_newTarget, "getAbiCoder")());
})
.filter((fragment) => fragment != null));
(0, properties_1.defineReadOnly)(this, "_abiCoder", (0, properties_1.getStatic)(new.target, "getAbiCoder")());
(0, properties_1.defineReadOnly)(this, "functions", {});

@@ -111,7 +85,7 @@ (0, properties_1.defineReadOnly)(this, "errors", {});

// Add all fragments by their signature
this.fragments.forEach(function (fragment) {
var bucket = null;
this.fragments.forEach((fragment) => {
let bucket = null;
switch (fragment.type) {
case "constructor":
if (_this.deploy) {
if (this.deploy) {
logger.warn("duplicate definition - constructor");

@@ -121,3 +95,3 @@ return;

//checkNames(fragment, "input", fragment.inputs);
(0, properties_1.defineReadOnly)(_this, "deploy", fragment);
(0, properties_1.defineReadOnly)(this, "deploy", fragment);
return;

@@ -127,10 +101,10 @@ case "function":

//checkNames(fragment, "output", (<FunctionFragment>fragment).outputs);
bucket = _this.functions;
bucket = this.functions;
break;
case "event":
//checkNames(fragment, "input", fragment.inputs);
bucket = _this.events;
bucket = this.events;
break;
case "error":
bucket = _this.errors;
bucket = this.errors;
break;

@@ -140,3 +114,3 @@ default:

}
var signature = fragment.format();
let signature = fragment.format();
if (bucket[signature]) {

@@ -152,3 +126,3 @@ logger.warn("duplicate definition - " + signature);

payable: false,
type: "constructor"
type: "constructor",
}));

@@ -158,3 +132,3 @@ }

}
Interface.prototype.format = function (format) {
format(format) {
if (!format) {

@@ -166,28 +140,28 @@ format = fragments_1.FormatTypes.full;

}
var abi = this.fragments.map(function (fragment) { return fragment.format(format); });
const abi = this.fragments.map((fragment) => fragment.format(format));
// We need to re-bundle the JSON fragments a bit
if (format === fragments_1.FormatTypes.json) {
return JSON.stringify(abi.map(function (j) { return JSON.parse(j); }));
return JSON.stringify(abi.map((j) => JSON.parse(j)));
}
return abi;
};
}
// Sub-classes can override these to handle other blockchains
Interface.getAbiCoder = function () {
static getAbiCoder() {
return abi_coder_1.defaultAbiCoder;
};
Interface.getAddress = function (address) {
}
static getAddress(address) {
return (0, address_1.getAddress)(address);
};
Interface.getSighash = function (fragment) {
}
static getSighash(fragment) {
return (0, bytes_1.hexDataSlice)((0, hash_1.id)(fragment.format()), 0, 4);
};
Interface.getEventTopic = function (eventFragment) {
}
static getEventTopic(eventFragment) {
return (0, hash_1.id)(eventFragment.format());
};
}
// Find a function definition by any means necessary (unless it is ambiguous)
Interface.prototype.getFunction = function (nameOrSignatureOrSighash) {
getFunction(nameOrSignatureOrSighash) {
if ((0, bytes_1.isHexString)(nameOrSignatureOrSighash)) {
for (var name_1 in this.functions) {
if (nameOrSignatureOrSighash === this.getSighash(name_1)) {
return this.functions[name_1];
for (const name in this.functions) {
if (nameOrSignatureOrSighash === this.getSighash(name)) {
return this.functions[name];
}

@@ -199,9 +173,9 @@ }

if (nameOrSignatureOrSighash.indexOf("(") === -1) {
var name_2 = nameOrSignatureOrSighash.trim();
var matching = Object.keys(this.functions).filter(function (f) { return (f.split("(" /* fix:) */)[0] === name_2); });
const name = nameOrSignatureOrSighash.trim();
const matching = Object.keys(this.functions).filter((f) => f.split("(" /* fix:) */)[0] === name);
if (matching.length === 0) {
logger.throwArgumentError("no matching function", "name", name_2);
logger.throwArgumentError("no matching function", "name", name);
}
else if (matching.length > 1) {
logger.throwArgumentError("multiple matching functions", "name", name_2);
logger.throwArgumentError("multiple matching functions", "name", name);
}

@@ -211,3 +185,3 @@ return this.functions[matching[0]];

// Normalize the signature and lookup the function
var result = this.functions[fragments_1.FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
const result = this.functions[fragments_1.FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
if (!result) {

@@ -217,10 +191,10 @@ logger.throwArgumentError("no matching function", "signature", nameOrSignatureOrSighash);

return result;
};
}
// Find an event definition by any means necessary (unless it is ambiguous)
Interface.prototype.getEvent = function (nameOrSignatureOrTopic) {
getEvent(nameOrSignatureOrTopic) {
if ((0, bytes_1.isHexString)(nameOrSignatureOrTopic)) {
var topichash = nameOrSignatureOrTopic.toLowerCase();
for (var name_3 in this.events) {
if (topichash === this.getEventTopic(name_3)) {
return this.events[name_3];
const topichash = nameOrSignatureOrTopic.toLowerCase();
for (const name in this.events) {
if (topichash === this.getEventTopic(name)) {
return this.events[name];
}

@@ -232,9 +206,9 @@ }

if (nameOrSignatureOrTopic.indexOf("(") === -1) {
var name_4 = nameOrSignatureOrTopic.trim();
var matching = Object.keys(this.events).filter(function (f) { return (f.split("(" /* fix:) */)[0] === name_4); });
const name = nameOrSignatureOrTopic.trim();
const matching = Object.keys(this.events).filter((f) => f.split("(" /* fix:) */)[0] === name);
if (matching.length === 0) {
logger.throwArgumentError("no matching event", "name", name_4);
logger.throwArgumentError("no matching event", "name", name);
}
else if (matching.length > 1) {
logger.throwArgumentError("multiple matching events", "name", name_4);
logger.throwArgumentError("multiple matching events", "name", name);
}

@@ -244,3 +218,3 @@ return this.events[matching[0]];

// Normalize the signature and lookup the function
var result = this.events[fragments_1.EventFragment.fromString(nameOrSignatureOrTopic).format()];
const result = this.events[fragments_1.EventFragment.fromString(nameOrSignatureOrTopic).format()];
if (!result) {

@@ -250,11 +224,11 @@ logger.throwArgumentError("no matching event", "signature", nameOrSignatureOrTopic);

return result;
};
}
// Find a function definition by any means necessary (unless it is ambiguous)
Interface.prototype.getError = function (nameOrSignatureOrSighash) {
getError(nameOrSignatureOrSighash) {
if ((0, bytes_1.isHexString)(nameOrSignatureOrSighash)) {
var getSighash = (0, properties_1.getStatic)(this.constructor, "getSighash");
for (var name_5 in this.errors) {
var error = this.errors[name_5];
const getSighash = (0, properties_1.getStatic)(this.constructor, "getSighash");
for (const name in this.errors) {
const error = this.errors[name];
if (nameOrSignatureOrSighash === getSighash(error)) {
return this.errors[name_5];
return this.errors[name];
}

@@ -266,9 +240,9 @@ }

if (nameOrSignatureOrSighash.indexOf("(") === -1) {
var name_6 = nameOrSignatureOrSighash.trim();
var matching = Object.keys(this.errors).filter(function (f) { return (f.split("(" /* fix:) */)[0] === name_6); });
const name = nameOrSignatureOrSighash.trim();
const matching = Object.keys(this.errors).filter((f) => f.split("(" /* fix:) */)[0] === name);
if (matching.length === 0) {
logger.throwArgumentError("no matching error", "name", name_6);
logger.throwArgumentError("no matching error", "name", name);
}
else if (matching.length > 1) {
logger.throwArgumentError("multiple matching errors", "name", name_6);
logger.throwArgumentError("multiple matching errors", "name", name);
}

@@ -278,3 +252,3 @@ return this.errors[matching[0]];

// Normalize the signature and lookup the function
var result = this.errors[fragments_1.FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
const result = this.errors[fragments_1.FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
if (!result) {

@@ -284,6 +258,6 @@ logger.throwArgumentError("no matching error", "signature", nameOrSignatureOrSighash);

return result;
};
}
// Get the sighash (the bytes4 selector) used by Solidity to identify a function
Interface.prototype.getSighash = function (fragment) {
if (typeof (fragment) === "string") {
getSighash(fragment) {
if (typeof fragment === "string") {
try {

@@ -302,31 +276,31 @@ fragment = this.getFunction(fragment);

return (0, properties_1.getStatic)(this.constructor, "getSighash")(fragment);
};
}
// Get the topic (the bytes32 hash) used by Solidity to identify an event
Interface.prototype.getEventTopic = function (eventFragment) {
if (typeof (eventFragment) === "string") {
getEventTopic(eventFragment) {
if (typeof eventFragment === "string") {
eventFragment = this.getEvent(eventFragment);
}
return (0, properties_1.getStatic)(this.constructor, "getEventTopic")(eventFragment);
};
Interface.prototype._decodeParams = function (params, data) {
}
_decodeParams(params, data) {
return this._abiCoder.decode(params, data);
};
Interface.prototype._encodeParams = function (params, values) {
}
_encodeParams(params, values) {
return this._abiCoder.encode(params, values);
};
Interface.prototype.encodeDeploy = function (values) {
}
encodeDeploy(values) {
return this._encodeParams(this.deploy.inputs, values || []);
};
Interface.prototype.decodeErrorResult = function (fragment, data) {
if (typeof (fragment) === "string") {
}
decodeErrorResult(fragment, data) {
if (typeof fragment === "string") {
fragment = this.getError(fragment);
}
var bytes = (0, bytes_1.arrayify)(data);
const bytes = (0, bytes_1.arrayify)(data);
if ((0, bytes_1.hexlify)(bytes.slice(0, 4)) !== this.getSighash(fragment)) {
logger.throwArgumentError("data signature does not match error ".concat(fragment.name, "."), "data", (0, bytes_1.hexlify)(bytes));
logger.throwArgumentError(`data signature does not match error ${fragment.name}.`, "data", (0, bytes_1.hexlify)(bytes));
}
return this._decodeParams(fragment.inputs, bytes.slice(4));
};
Interface.prototype.encodeErrorResult = function (fragment, values) {
if (typeof (fragment) === "string") {
}
encodeErrorResult(fragment, values) {
if (typeof fragment === "string") {
fragment = this.getError(fragment);

@@ -336,19 +310,19 @@ }

this.getSighash(fragment),
this._encodeParams(fragment.inputs, values || [])
this._encodeParams(fragment.inputs, values || []),
]));
};
}
// Decode the data for a function call (e.g. tx.data)
Interface.prototype.decodeFunctionData = function (functionFragment, data) {
if (typeof (functionFragment) === "string") {
decodeFunctionData(functionFragment, data) {
if (typeof functionFragment === "string") {
functionFragment = this.getFunction(functionFragment);
}
var bytes = (0, bytes_1.arrayify)(data);
const bytes = (0, bytes_1.arrayify)(data);
if ((0, bytes_1.hexlify)(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) {
logger.throwArgumentError("data signature does not match function ".concat(functionFragment.name, "."), "data", (0, bytes_1.hexlify)(bytes));
logger.throwArgumentError(`data signature does not match function ${functionFragment.name}.`, "data", (0, bytes_1.hexlify)(bytes));
}
return this._decodeParams(functionFragment.inputs, bytes.slice(4));
};
}
// Encode the data for a function call (e.g. tx.data)
Interface.prototype.encodeFunctionData = function (functionFragment, values) {
if (typeof (functionFragment) === "string") {
encodeFunctionData(functionFragment, values) {
if (typeof functionFragment === "string") {
functionFragment = this.getFunction(functionFragment);

@@ -358,16 +332,16 @@ }

this.getSighash(functionFragment),
this._encodeParams(functionFragment.inputs, values || [])
this._encodeParams(functionFragment.inputs, values || []),
]));
};
}
// Decode the result from a function call (e.g. from eth_call)
Interface.prototype.decodeFunctionResult = function (functionFragment, data) {
if (typeof (functionFragment) === "string") {
decodeFunctionResult(functionFragment, data) {
if (typeof functionFragment === "string") {
functionFragment = this.getFunction(functionFragment);
}
var bytes = (0, bytes_1.arrayify)(data);
var reason = null;
var message = "";
var errorArgs = null;
var errorName = null;
var errorSignature = null;
let bytes = (0, bytes_1.arrayify)(data);
let reason = null;
let message = "";
let errorArgs = null;
let errorName = null;
let errorSignature = null;
switch (bytes.length % this._abiCoder._getWordSize()) {

@@ -381,4 +355,4 @@ case 0:

case 4: {
var selector = (0, bytes_1.hexlify)(bytes.slice(0, 4));
var builtin = BuiltinErrors[selector];
const selector = (0, bytes_1.hexlify)(bytes.slice(0, 4));
const builtin = BuiltinErrors[selector];
if (builtin) {

@@ -392,6 +366,6 @@ errorArgs = this._abiCoder.decode(builtin.inputs, bytes.slice(4));

if (errorName === "Error") {
message = "; VM Exception while processing transaction: reverted with reason string ".concat(JSON.stringify(errorArgs[0]));
message = `; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(errorArgs[0])}`;
}
else if (errorName === "Panic") {
message = "; VM Exception while processing transaction: reverted with panic code ".concat(errorArgs[0]);
message = `; VM Exception while processing transaction: reverted with panic code ${errorArgs[0]}`;
}

@@ -401,3 +375,3 @@ }

try {
var error = this.getError(selector);
const error = this.getError(selector);
errorArgs = this._abiCoder.decode(error.inputs, bytes.slice(4));

@@ -415,19 +389,18 @@ errorName = error.name;

data: (0, bytes_1.hexlify)(data),
errorArgs: errorArgs,
errorName: errorName,
errorSignature: errorSignature,
reason: reason
errorArgs,
errorName,
errorSignature,
reason,
});
};
}
// Encode the result for a function call (e.g. for eth_call)
Interface.prototype.encodeFunctionResult = function (functionFragment, values) {
if (typeof (functionFragment) === "string") {
encodeFunctionResult(functionFragment, values) {
if (typeof functionFragment === "string") {
functionFragment = this.getFunction(functionFragment);
}
return (0, bytes_1.hexlify)(this._abiCoder.encode(functionFragment.outputs, values || []));
};
}
// Create the filter for the event with search criteria (e.g. for eth_filterLog)
Interface.prototype.encodeFilterTopics = function (eventFragment, values) {
var _this = this;
if (typeof (eventFragment) === "string") {
encodeFilterTopics(eventFragment, values) {
if (typeof eventFragment === "string") {
eventFragment = this.getEvent(eventFragment);

@@ -438,10 +411,10 @@ }

argument: "values",
value: values
value: values,
});
}
var topics = [];
let topics = [];
if (!eventFragment.anonymous) {
topics.push(this.getEventTopic(eventFragment));
}
var encodeTopic = function (param, value) {
const encodeTopic = (param, value) => {
if (param.type === "string") {

@@ -453,4 +426,4 @@ return (0, hash_1.id)(value);

}
if (param.type === "bool" && typeof (value) === "boolean") {
value = (value ? "0x01" : "0x00");
if (param.type === "bool" && typeof value === "boolean") {
value = value ? "0x01" : "0x00";
}

@@ -462,11 +435,11 @@ if (param.type.match(/^u?int/)) {

if (param.type === "address") {
_this._abiCoder.encode(["address"], [value]);
this._abiCoder.encode(["address"], [value]);
}
return (0, bytes_1.hexZeroPad)((0, bytes_1.hexlify)(value), 32);
};
values.forEach(function (value, index) {
var param = eventFragment.inputs[index];
values.forEach((value, index) => {
let param = eventFragment.inputs[index];
if (!param.indexed) {
if (value != null) {
logger.throwArgumentError("cannot filter non-indexed parameters; must be null", ("contract." + param.name), value);
logger.throwArgumentError("cannot filter non-indexed parameters; must be null", "contract." + param.name, value);
}

@@ -478,7 +451,8 @@ return;

}
else if (param.baseType === "array" || param.baseType === "tuple") {
logger.throwArgumentError("filtering with tuples or arrays not supported", ("contract." + param.name), value);
else if (param.baseType === "array" ||
param.baseType === "tuple") {
logger.throwArgumentError("filtering with tuples or arrays not supported", "contract." + param.name, value);
}
else if (Array.isArray(value)) {
topics.push(value.map(function (value) { return encodeTopic(param, value); }));
topics.push(value.map((value) => encodeTopic(param, value)));
}

@@ -494,11 +468,10 @@ else {

return topics;
};
Interface.prototype.encodeEventLog = function (eventFragment, values) {
var _this = this;
if (typeof (eventFragment) === "string") {
}
encodeEventLog(eventFragment, values) {
if (typeof eventFragment === "string") {
eventFragment = this.getEvent(eventFragment);
}
var topics = [];
var dataTypes = [];
var dataValues = [];
const topics = [];
const dataTypes = [];
const dataValues = [];
if (!eventFragment.anonymous) {

@@ -510,4 +483,4 @@ topics.push(this.getEventTopic(eventFragment));

}
eventFragment.inputs.forEach(function (param, index) {
var value = values[index];
eventFragment.inputs.forEach((param, index) => {
const value = values[index];
if (param.indexed) {

@@ -520,3 +493,4 @@ if (param.type === "string") {

}
else if (param.baseType === "tuple" || param.baseType === "array") {
else if (param.baseType === "tuple" ||
param.baseType === "array") {
// @TODO

@@ -526,3 +500,3 @@ throw new Error("not implemented");

else {
topics.push(_this._abiCoder.encode([param.type], [value]));
topics.push(this._abiCoder.encode([param.type], [value]));
}

@@ -537,24 +511,35 @@ }

data: this._abiCoder.encode(dataTypes, dataValues),
topics: topics
topics: topics,
};
};
}
// Decode a filter for the event and the search criteria
Interface.prototype.decodeEventLog = function (eventFragment, data, topics) {
if (typeof (eventFragment) === "string") {
decodeEventLog(eventFragment, data, topics) {
if (typeof eventFragment === "string") {
eventFragment = this.getEvent(eventFragment);
}
if (topics != null && !eventFragment.anonymous) {
var topicHash = this.getEventTopic(eventFragment);
if (!(0, bytes_1.isHexString)(topics[0], 32) || topics[0].toLowerCase() !== topicHash) {
logger.throwError("fragment/topic mismatch", logger_1.Logger.errors.INVALID_ARGUMENT, { argument: "topics[0]", expected: topicHash, value: topics[0] });
let topicHash = this.getEventTopic(eventFragment);
if (!(0, bytes_1.isHexString)(topics[0], 32) ||
topics[0].toLowerCase() !== topicHash) {
logger.throwError("fragment/topic mismatch", logger_1.Logger.errors.INVALID_ARGUMENT, {
argument: "topics[0]",
expected: topicHash,
value: topics[0],
});
}
topics = topics.slice(1);
}
var indexed = [];
var nonIndexed = [];
var dynamic = [];
eventFragment.inputs.forEach(function (param, index) {
let indexed = [];
let nonIndexed = [];
let dynamic = [];
eventFragment.inputs.forEach((param, index) => {
if (param.indexed) {
if (param.type === "string" || param.type === "bytes" || param.baseType === "tuple" || param.baseType === "array") {
indexed.push(fragments_1.ParamType.fromObject({ type: "bytes32", name: param.name }));
if (param.type === "string" ||
param.type === "bytes" ||
param.baseType === "tuple" ||
param.baseType === "array") {
indexed.push(fragments_1.ParamType.fromObject({
type: "bytes32",
name: param.name,
}));
dynamic.push(true);

@@ -572,13 +557,21 @@ }

});
var resultIndexed = (topics != null) ? this._abiCoder.decode(indexed, (0, bytes_1.concat)(topics)) : null;
var resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true);
var result = [];
var nonIndexedIndex = 0, indexedIndex = 0;
eventFragment.inputs.forEach(function (param, index) {
let resultIndexed = topics != null
? this._abiCoder.decode(indexed, (0, bytes_1.concat)(topics))
: null;
let resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true);
let result = [];
let nonIndexedIndex = 0, indexedIndex = 0;
eventFragment.inputs.forEach((param, index) => {
if (param.indexed) {
if (resultIndexed == null) {
result[index] = new Indexed({ _isIndexed: true, hash: null });
result[index] = new Indexed({
_isIndexed: true,
hash: null,
});
}
else if (dynamic[index]) {
result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] });
result[index] = new Indexed({
_isIndexed: true,
hash: resultIndexed[indexedIndex++],
});
}

@@ -604,34 +597,35 @@ else {

if (param.name && result[param.name] == null) {
var value_1 = result[index];
const value = result[index];
// Make error named values throw on access
if (value_1 instanceof Error) {
if (value instanceof Error) {
Object.defineProperty(result, param.name, {
enumerable: true,
get: function () { throw wrapAccessError("property ".concat(JSON.stringify(param.name)), value_1); }
get: () => {
throw wrapAccessError(`property ${JSON.stringify(param.name)}`, value);
},
});
}
else {
result[param.name] = value_1;
result[param.name] = value;
}
}
});
var _loop_1 = function (i) {
var value = result[i];
// Make all error indexed values throw on access
for (let i = 0; i < result.length; i++) {
const value = result[i];
if (value instanceof Error) {
Object.defineProperty(result, i, {
enumerable: true,
get: function () { throw wrapAccessError("index ".concat(i), value); }
get: () => {
throw wrapAccessError(`index ${i}`, value);
},
});
}
};
// Make all error indexed values throw on access
for (var i = 0; i < result.length; i++) {
_loop_1(i);
}
return Object.freeze(result);
};
}
// Given a transaction, find the matching function fragment (if any) and
// determine all its properties and call parameters
Interface.prototype.parseTransaction = function (tx) {
var fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase());
parseTransaction(tx) {
let fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase());
if (!fragment) {

@@ -648,3 +642,3 @@ return null;

});
};
}
// @TODO

@@ -654,4 +648,4 @@ //parseCallResult(data: BytesLike): ??

// determine all its properties and values
Interface.prototype.parseLog = function (log) {
var fragment = this.getEvent(log.topics[0]);
parseLog(log) {
let fragment = this.getEvent(log.topics[0]);
if (!fragment || fragment.anonymous) {

@@ -668,8 +662,8 @@ return null;

topic: this.getEventTopic(fragment),
args: this.decodeEventLog(fragment, log.data, log.topics)
args: this.decodeEventLog(fragment, log.data, log.topics),
});
};
Interface.prototype.parseError = function (data) {
var hexData = (0, bytes_1.hexlify)(data);
var fragment = this.getError(hexData.substring(0, 10).toLowerCase());
}
parseError(data) {
const hexData = (0, bytes_1.hexlify)(data);
let fragment = this.getError(hexData.substring(0, 10).toLowerCase());
if (!fragment) {

@@ -685,3 +679,3 @@ return null;

});
};
}
/*

@@ -698,8 +692,7 @@ static from(value: Array<Fragment | string | JsonAbi> | string | Interface) {

*/
Interface.isInterface = function (value) {
static isInterface(value) {
return !!(value && value._isInterface);
};
return Interface;
}());
}
}
exports.Interface = Interface;
//# sourceMappingURL=interface.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"interface.js","sourceRoot":"","sources":["../src.ts/interface.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../src.ts/interface.ts"],"names":[],"mappings":"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"}
{
"author": "Eugene Kuleshov",
"dependencies": {
"@qevm/address": "^5.7.0",
"@qevm/bignumber": "^5.7.0",
"@qevm/bytes": "5.7.1",
"@qevm/constants": "^5.7.0",
"@qevm/hash": "^5.7.1",
"@qevm/keccak256": "^5.7.0",
"@ethersproject/logger": "^5.7.0",
"@ethersproject/properties": "^5.7.0",
"@qevm/strings": "^5.7.0"
},
"description": "Utilities and Classes for parsing, formatting and managing Ethereum ABIs.",
"keywords": [
"Ethereum",
"qethers"
],
"license": "MIT",
"main": "./lib/index.js",
"module": "./lib.esm/index.js",
"name": "@qevm/abi",
"publishConfig": {
"access": "public"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"sideEffects": false,
"tarballHash": "0x76f6fd1617e7f7aacd876957111e5368a7e53b8aebf572b30f0f1a0cd2b4a603",
"types": "./lib/index.d.ts",
"version": "5.7.2"
"contributors": [
"Eugene Kuleshov <kulevgen32@gmail.com>",
"Richard Moore <me@ricmoo.com>"
],
"dependencies": {
"@qevm/address": "^5.7.3",
"@qevm/bignumber": "^5.7.1",
"@qevm/bytes": "^5.7.2",
"@qevm/constants": "^5.7.2",
"@qevm/hash": "^5.7.4",
"@qevm/keccak256": "^5.7.1",
"@qevm/logger": "^5.7.1",
"@qevm/properties": "^5.7.1",
"@qevm/strings": "^5.7.2"
},
"description": "Utilities and Classes for parsing, formatting and managing QuantumEVM ABIs.",
"keywords": [
"QEVM",
"QuantumEVM",
"qethers"
],
"license": "MIT",
"main": "./lib/index.js",
"module": "./lib.esm/index.js",
"name": "@qevm/abi",
"publishConfig": {
"access": "public"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"sideEffects": false,
"tarballHash": "0x76f6fd1617e7f7aacd876957111e5368a7e53b8aebf572b30f0f1a0cd2b4a603",
"types": "./lib/index.d.ts",
"version": "5.7.3"
}

@@ -1,5 +0,5 @@

Ethereum ABI Coder
QuantumEVM ABI Coder
==================
This sub-module is part of the [ethers project](https://github.com/ethers-io/ethers.js).
This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

@@ -9,3 +9,2 @@ It is responsible for encoding and decoding the Application Binary Interface (ABI)

For more information, see the [documentation](https://docs.ethers.io/v5/api/utils/abi/).

@@ -15,3 +14,3 @@ Importing

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/ethers),
Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

@@ -18,0 +17,0 @@

@@ -1,1 +0,1 @@

export const version = "abi/5.7.0";
export const version = "abi/5.7.3";

@@ -6,5 +6,5 @@ "use strict";

import { arrayify, BytesLike } from "@qevm/bytes";
import { defineReadOnly } from "@ethersproject/properties";
import { defineReadOnly } from "@qevm/properties";
import { Logger } from "@ethersproject/logger";
import { Logger } from "@qevm/logger";
import { version } from "./_version";

@@ -23,10 +23,9 @@ const logger = new Logger(version);

import { TupleCoder } from "./coders/tuple";
import { FunctionCoder } from "./coders/function";
import { ParamType } from "./fragments";
const paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);
const paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);
export type CoerceFunc = (type: string, value: any) => any;

@@ -42,3 +41,2 @@

_getCoder(param: ParamType): Coder {
switch (param.baseType) {

@@ -54,7 +52,16 @@ case "address":

case "array":
return new ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name);
return new ArrayCoder(
this._getCoder(param.arrayChildren),
param.arrayLength,
param.name,
);
case "tuple":
return new TupleCoder((param.components || []).map((component) => {
return this._getCoder(component);
}), param.name);
return new TupleCoder(
(param.components || []).map((component) => {
return this._getCoder(component);
}),
param.name,
);
case "function":
return new FunctionCoder(param.name);
case "":

@@ -68,6 +75,10 @@ return new NullCoder(param.name);

let size = parseInt(match[2] || "256");
if (size === 0 || size > 256 || (size % 8) !== 0) {
logger.throwArgumentError("invalid " + match[1] + " bit length", "param", param);
if (size === 0 || size > 256 || size % 8 !== 0) {
logger.throwArgumentError(
"invalid " + match[1] + " bit length",
"param",
param,
);
}
return new NumberCoder(size / 8, (match[1] === "int"), param.name);
return new NumberCoder(size / 8, match[1] === "int", param.name);
}

@@ -80,3 +91,7 @@

if (size === 0 || size > 32) {
logger.throwArgumentError("invalid bytes length", "param", param);
logger.throwArgumentError(
"invalid bytes length",
"param",
param,
);
}

@@ -89,6 +104,13 @@ return new FixedBytesCoder(size, param.name);

_getWordSize(): number { return 32; }
_getWordSize(): number {
return 32;
}
_getReader(data: Uint8Array, allowLoose?: boolean): Reader {
return new Reader(data, this._getWordSize(), this.coerceFunc, allowLoose);
return new Reader(
data,
this._getWordSize(),
this.coerceFunc,
allowLoose,
);
}

@@ -101,3 +123,5 @@

getDefaultValue(types: ReadonlyArray<string | ParamType>): Result {
const coders: Array<Coder> = types.map((type) => this._getCoder(ParamType.from(type)));
const coders: Array<Coder> = types.map((type) =>
this._getCoder(ParamType.from(type)),
);
const coder = new TupleCoder(coders, "_");

@@ -107,12 +131,21 @@ return coder.defaultValue();

encode(types: ReadonlyArray<string | ParamType>, values: ReadonlyArray<any>): string {
encode(
types: ReadonlyArray<string | ParamType>,
values: ReadonlyArray<any>,
): string {
if (types.length !== values.length) {
logger.throwError("types/values length mismatch", Logger.errors.INVALID_ARGUMENT, {
count: { types: types.length, values: values.length },
value: { types: types, values: values }
});
logger.throwError(
"types/values length mismatch",
Logger.errors.INVALID_ARGUMENT,
{
count: { types: types.length, values: values.length },
value: { types: types, values: values },
},
);
}
const coders = types.map((type) => this._getCoder(ParamType.from(type)));
const coder = (new TupleCoder(coders, "_"));
const coders = types.map((type) =>
this._getCoder(ParamType.from(type)),
);
const coder = new TupleCoder(coders, "_");

@@ -124,4 +157,10 @@ const writer = this._getWriter();

decode(types: ReadonlyArray<string | ParamType>, data: BytesLike, loose?: boolean): Result {
const coders: Array<Coder> = types.map((type) => this._getCoder(ParamType.from(type)));
decode(
types: ReadonlyArray<string | ParamType>,
data: BytesLike,
loose?: boolean,
): Result {
const coders: Array<Coder> = types.map((type) =>
this._getCoder(ParamType.from(type)),
);
const coder = new TupleCoder(coders, "_");

@@ -133,2 +172,1 @@ return coder.decode(this._getReader(arrayify(data), loose));

export const defaultAbiCoder: AbiCoder = new AbiCoder();

@@ -5,5 +5,5 @@ "use strict";

import { BigNumber, BigNumberish } from "@qevm/bignumber";
import { defineReadOnly } from "@ethersproject/properties";
import { defineReadOnly } from "@qevm/properties";
import { Logger } from "@ethersproject/logger";
import { Logger } from "@qevm/logger";
import { version } from "../_version";

@@ -16,8 +16,15 @@ const logger = new Logger(version);

export function checkResultErrors(result: Result): Array<{ path: Array<string | number>, error: Error }> {
export function checkResultErrors(
result: Result,
): Array<{ path: Array<string | number>; error: Error }> {
// Find the first error (if any)
const errors: Array<{ path: Array<string | number>, error: Error }> = [ ];
const errors: Array<{ path: Array<string | number>; error: Error }> = [];
const checkErrors = function(path: Array<string | number>, object: any): void {
if (!Array.isArray(object)) { return; }
const checkErrors = function (
path: Array<string | number>,
object: any,
): void {
if (!Array.isArray(object)) {
return;
}
for (let key in object) {

@@ -28,3 +35,3 @@ const childPath = path.slice();

try {
checkErrors(childPath, object[key]);
checkErrors(childPath, object[key]);
} catch (error) {

@@ -34,7 +41,6 @@ errors.push({ path: childPath, error: error });

}
}
checkErrors([ ], result);
};
checkErrors([], result);
return errors;
}

@@ -45,3 +51,2 @@

export abstract class Coder {
// The coder name:

@@ -64,3 +69,8 @@ // - address, uint256, tuple, array, etc.

constructor(name: string, type: string, localName: string, dynamic: boolean) {
constructor(
name: string,
type: string,
localName: string,
dynamic: boolean,
) {
// @TODO: defineReadOnly these

@@ -92,3 +102,3 @@ this.name = name;

defineReadOnly(this, "wordSize", wordSize || 32);
this._data = [ ];
this._data = [];
this._dataLength = 0;

@@ -101,3 +111,5 @@ this._padding = new Uint8Array(wordSize);

}
get length(): number { return this._dataLength; }
get length(): number {
return this._dataLength;
}

@@ -119,3 +131,3 @@ _writeData(data: Uint8Array): number {

if (paddingOffset) {
bytes = concat([ bytes, this._padding.slice(paddingOffset) ])
bytes = concat([bytes, this._padding.slice(paddingOffset)]);
}

@@ -128,9 +140,16 @@ return this._writeData(bytes);

if (bytes.length > this.wordSize) {
logger.throwError("value out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
length: this.wordSize,
offset: bytes.length
});
logger.throwError(
"value out-of-bounds",
Logger.errors.BUFFER_OVERRUN,
{
length: this.wordSize,
offset: bytes.length,
},
);
}
if (bytes.length % this.wordSize) {
bytes = concat([ this._padding.slice(bytes.length % this.wordSize), bytes ]);
bytes = concat([
this._padding.slice(bytes.length % this.wordSize),
bytes,
]);
}

@@ -164,3 +183,8 @@ return bytes;

constructor(data: BytesLike, wordSize?: number, coerceFunc?: CoerceFunc, allowLoose?: boolean) {
constructor(
data: BytesLike,
wordSize?: number,
coerceFunc?: CoerceFunc,
allowLoose?: boolean,
) {
defineReadOnly(this, "_data", arrayify(data));

@@ -174,4 +198,8 @@ defineReadOnly(this, "wordSize", wordSize || 32);

get data(): string { return hexlify(this._data); }
get consumed(): number { return this._offset; }
get data(): string {
return hexlify(this._data);
}
get consumed(): number {
return this._offset;
}

@@ -181,3 +209,5 @@ // The default Coerce function

let match = name.match("^u?int([0-9]+)$");
if (match && parseInt(match[1]) <= 48) { value = value.toNumber(); }
if (match && parseInt(match[1]) <= 48) {
value = value.toNumber();
}
return value;

@@ -187,3 +217,5 @@ }

coerce(name: string, value: any): any {
if (this._coerceFunc) { return this._coerceFunc(name, value); }
if (this._coerceFunc) {
return this._coerceFunc(name, value);
}
return Reader.coerce(name, value);

@@ -195,16 +227,29 @@ }

if (this._offset + alignedLength > this._data.length) {
if (this.allowLoose && loose && this._offset + length <= this._data.length) {
if (
this.allowLoose &&
loose &&
this._offset + length <= this._data.length
) {
alignedLength = length;
} else {
logger.throwError("data out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
length: this._data.length,
offset: this._offset + alignedLength
});
logger.throwError(
"data out-of-bounds",
Logger.errors.BUFFER_OVERRUN,
{
length: this._data.length,
offset: this._offset + alignedLength,
},
);
}
}
return this._data.slice(this._offset, this._offset + alignedLength)
return this._data.slice(this._offset, this._offset + alignedLength);
}
subReader(offset: number): Reader {
return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose);
return new Reader(
this._data.slice(this._offset + offset),
this.wordSize,
this._coerceFunc,
this.allowLoose,
);
}

@@ -211,0 +256,0 @@

@@ -9,3 +9,2 @@ "use strict";

export class AddressCoder extends Coder {
constructor(localName: string) {

@@ -16,3 +15,3 @@ super("address", "address", localName, false);

defaultValue(): string {
return "0x0000000000000000000000000000000000000000";
return "0x0000000000000000000000000000000000000000000000000000000000000000";
}

@@ -22,3 +21,3 @@

try {
value = getAddress(value)
value = getAddress(value);
} catch (error) {

@@ -31,5 +30,4 @@ this._throwError(error.message, value);

decode(reader: Reader): any {
return getAddress(hexZeroPad(reader.readValue().toHexString(), 20));
return getAddress(hexZeroPad(reader.readValue().toHexString(), 32));
}
}
"use strict";
import { Logger } from "@ethersproject/logger";
import { Logger } from "@qevm/logger";
import { version } from "../_version";

@@ -10,27 +10,38 @@ const logger = new Logger(version);

export function pack(writer: Writer, coders: ReadonlyArray<Coder>, values: Array<any> | { [ name: string ]: any }): number {
export function pack(
writer: Writer,
coders: ReadonlyArray<Coder>,
values: Array<any> | { [name: string]: any },
): number {
let arrayValues: Array<any> = null;
if (Array.isArray(values)) {
arrayValues = values;
arrayValues = values;
} else if (values && typeof values === "object") {
let unique: { [name: string]: boolean } = {};
} else if (values && typeof(values) === "object") {
let unique: { [ name: string ]: boolean } = { };
arrayValues = coders.map((coder) => {
const name = coder.localName;
if (!name) {
logger.throwError("cannot encode object for signature with missing names", Logger.errors.INVALID_ARGUMENT, {
argument: "values",
coder: coder,
value: values
});
logger.throwError(
"cannot encode object for signature with missing names",
Logger.errors.INVALID_ARGUMENT,
{
argument: "values",
coder: coder,
value: values,
},
);
}
if (unique[name]) {
logger.throwError("cannot encode object for signature with duplicate names", Logger.errors.INVALID_ARGUMENT, {
argument: "values",
coder: coder,
value: values
});
logger.throwError(
"cannot encode object for signature with duplicate names",
Logger.errors.INVALID_ARGUMENT,
{
argument: "values",
coder: coder,
value: values,
},
);
}

@@ -42,3 +53,2 @@

});
} else {

@@ -49,3 +59,7 @@ logger.throwArgumentError("invalid tuple value", "tuple", values);

if (coders.length !== arrayValues.length) {
logger.throwArgumentError("types/value length mismatch", "tuple", values);
logger.throwArgumentError(
"types/value length mismatch",
"tuple",
values,
);
}

@@ -72,3 +86,2 @@

});
} else {

@@ -80,3 +93,5 @@ coder.encode(staticWriter, value);

// Backfill all the dynamic offsets, now that we know the static length
updateFuncs.forEach((func) => { func(staticWriter.length); });
updateFuncs.forEach((func) => {
func(staticWriter.length);
});

@@ -104,3 +119,5 @@ let length = writer.appendWriter(staticWriter);

// Cannot recover from this
if (error.code === Logger.errors.BUFFER_OVERRUN) { throw error; }
if (error.code === Logger.errors.BUFFER_OVERRUN) {
throw error;
}
value = error;

@@ -111,3 +128,2 @@ value.baseType = coder.name;

}
} else {

@@ -118,3 +134,5 @@ try {

// Cannot recover from this
if (error.code === Logger.errors.BUFFER_OVERRUN) { throw error; }
if (error.code === Logger.errors.BUFFER_OVERRUN) {
throw error;
}
value = error;

@@ -133,10 +151,15 @@ value.baseType = coder.name;

// We only output named properties for uniquely named coders
const uniqueNames = coders.reduce((accum, coder) => {
const name = coder.localName;
if (name) {
if (!accum[name]) { accum[name] = 0; }
accum[name]++;
}
return accum;
}, <{ [ name: string ]: number }>{ });
const uniqueNames = coders.reduce(
(accum, coder) => {
const name = coder.localName;
if (name) {
if (!accum[name]) {
accum[name] = 0;
}
accum[name]++;
}
return accum;
},
<{ [name: string]: number }>{},
);

@@ -146,7 +169,13 @@ // Add any named parameters (i.e. tuples)

let name = coder.localName;
if (!name || uniqueNames[name] !== 1) { return; }
if (!name || uniqueNames[name] !== 1) {
return;
}
if (name === "length") { name = "_length"; }
if (name === "length") {
name = "_length";
}
if (values[name] != null) { return; }
if (values[name] != null) {
return;
}

@@ -158,3 +187,5 @@ const value = values[index];

enumerable: true,
get: () => { throw value; }
get: () => {
throw value;
},
});

@@ -171,3 +202,5 @@ } else {

enumerable: true,
get: () => { throw value; }
get: () => {
throw value;
},
});

@@ -180,3 +213,2 @@ }

export class ArrayCoder extends Coder {

@@ -187,4 +219,4 @@ readonly coder: Coder;

constructor(coder: Coder, length: number, localName: string) {
const type = (coder.type + "[" + (length >= 0 ? length: "") + "]");
const dynamic = (length === -1 || coder.dynamic);
const type = coder.type + "[" + (length >= 0 ? length : "") + "]";
const dynamic = length === -1 || coder.dynamic;
super("array", type, localName, dynamic);

@@ -219,6 +251,12 @@

logger.checkArgumentCount(value.length, count, "coder array" + (this.localName? (" "+ this.localName): ""));
logger.checkArgumentCount(
value.length,
count,
"coder array" + (this.localName ? " " + this.localName : ""),
);
let coders = [];
for (let i = 0; i < value.length; i++) { coders.push(this.coder); }
for (let i = 0; i < value.length; i++) {
coders.push(this.coder);
}

@@ -239,10 +277,16 @@ return pack(writer, coders, value);

if (count * 32 > reader._data.length) {
logger.throwError("insufficient data length", Logger.errors.BUFFER_OVERRUN, {
length: reader._data.length,
count: count
});
logger.throwError(
"insufficient data length",
Logger.errors.BUFFER_OVERRUN,
{
length: reader._data.length,
count: count,
},
);
}
}
let coders = [];
for (let i = 0; i < count; i++) { coders.push(new AnonymousCoder(this.coder)); }
for (let i = 0; i < count; i++) {
coders.push(new AnonymousCoder(this.coder));
}

@@ -252,2 +296,1 @@ return reader.coerce(this.name, unpack(reader, coders));

}

@@ -6,3 +6,2 @@ "use strict";

export class BooleanCoder extends Coder {
constructor(localName: string) {

@@ -17,3 +16,3 @@ super("bool", "bool", localName, false);

encode(writer: Writer, value: boolean): number {
return writer.writeValue(value ? 1: 0);
return writer.writeValue(value ? 1 : 0);
}

@@ -25,2 +24,1 @@

}

@@ -9,3 +9,3 @@ "use strict";

constructor(type: string, localName: string) {
super(type, type, localName, true);
super(type, type, localName, true);
}

@@ -38,3 +38,1 @@

}

@@ -18,3 +18,6 @@ "use strict";

defaultValue(): string {
return ("0x0000000000000000000000000000000000000000000000000000000000000000").substring(0, 2 + this.size * 2);
return "0x0000000000000000000000000000000000000000000000000000000000000000".substring(
0,
2 + this.size * 2,
);
}

@@ -24,3 +27,5 @@

let data = arrayify(value);
if (data.length !== this.size) { this._throwError("incorrect data length", value); }
if (data.length !== this.size) {
this._throwError("incorrect data length", value);
}
return writer.writeBytes(data);

@@ -27,0 +32,0 @@ }

@@ -6,3 +6,2 @@ "use strict";

export class NullCoder extends Coder {
constructor(localName: string) {

@@ -17,4 +16,6 @@ super("null", "", localName, false);

encode(writer: Writer, value: any): number {
if (value != null) { this._throwError("not null", value); }
return writer.writeBytes([ ]);
if (value != null) {
this._throwError("not null", value);
}
return writer.writeBytes([]);
}

@@ -21,0 +22,0 @@

@@ -13,3 +13,3 @@ "use strict";

constructor(size: number, signed: boolean, localName: string) {
const name = ((signed ? "int": "uint") + (size * 8));
const name = (signed ? "int" : "uint") + size * 8;
super(name, name, localName, false);

@@ -58,2 +58,1 @@

}

@@ -9,3 +9,2 @@ "use strict";

export class StringCoder extends DynamicBytesCoder {
constructor(localName: string) {

@@ -12,0 +11,0 @@ super("string", localName);

@@ -13,6 +13,8 @@ "use strict";

coders.forEach((coder) => {
if (coder.dynamic) { dynamic = true; }
if (coder.dynamic) {
dynamic = true;
}
types.push(coder.type);
});
const type = ("tuple(" + types.join(",") + ")");
const type = "tuple(" + types.join(",") + ")";

@@ -24,3 +26,3 @@ super("tuple", type, localName, dynamic);

defaultValue(): any {
const values: any = [ ];
const values: any = [];
this.coders.forEach((coder) => {

@@ -31,10 +33,15 @@ values.push(coder.defaultValue());

// We only output named properties for uniquely named coders
const uniqueNames = this.coders.reduce((accum, coder) => {
const name = coder.localName;
if (name) {
if (!accum[name]) { accum[name] = 0; }
accum[name]++;
}
return accum;
}, <{ [ name: string ]: number }>{ });
const uniqueNames = this.coders.reduce(
(accum, coder) => {
const name = coder.localName;
if (name) {
if (!accum[name]) {
accum[name] = 0;
}
accum[name]++;
}
return accum;
},
<{ [name: string]: number }>{},
);

@@ -44,7 +51,13 @@ // Add named values

let name = coder.localName;
if (!name || uniqueNames[name] !== 1) { return; }
if (!name || uniqueNames[name] !== 1) {
return;
}
if (name === "length") { name = "_length"; }
if (name === "length") {
name = "_length";
}
if (values[name] != null) { return; }
if (values[name] != null) {
return;
}

@@ -57,3 +70,6 @@ values[name] = values[index];

encode(writer: Writer, value: Array<any> | { [ name: string ]: any }): number {
encode(
writer: Writer,
value: Array<any> | { [name: string]: any },
): number {
return pack(writer, this.coders, value);

@@ -66,2 +82,1 @@ }

}
"use strict";
import { BigNumber } from "@qevm/bignumber";
import { defineReadOnly } from "@ethersproject/properties";
import { defineReadOnly } from "@qevm/properties";
import { Logger } from "@ethersproject/logger";
import { Logger } from "@qevm/logger";
import { version } from "./_version";

@@ -32,13 +32,13 @@ const logger = new Logger(version);

readonly gas?: string;
};
}
const _constructorGuard = { };
const _constructorGuard = {};
// AST Node parser state
type ParseState = {
allowArray?: boolean,
allowName?: boolean,
allowParams?: boolean,
allowType?: boolean,
readArray?: boolean,
allowArray?: boolean;
allowName?: boolean;
allowParams?: boolean;
allowType?: boolean;
readArray?: boolean;
};

@@ -48,19 +48,32 @@

type ParseNode = {
parent?: any,
type?: string,
name?: string,
state?: ParseState,
indexed?: boolean,
components?: Array<ParseNode>
parent?: any;
type?: string;
name?: string;
state?: ParseState;
indexed?: boolean;
components?: Array<ParseNode>;
};
let ModifiersBytes: { [ name: string ]: boolean } = { calldata: true, memory: true, storage: true };
let ModifiersNest: { [ name: string ]: boolean } = { calldata: true, memory: true };
let ModifiersBytes: { [name: string]: boolean } = {
calldata: true,
memory: true,
storage: true,
};
let ModifiersNest: { [name: string]: boolean } = {
calldata: true,
memory: true,
};
function checkModifier(type: string, name: string): boolean {
if (type === "bytes" || type === "string") {
if (ModifiersBytes[name]) { return true; }
if (ModifiersBytes[name]) {
return true;
}
} else if (type === "address") {
if (name === "payable") { return true; }
if (name === "payable") {
return true;
}
} else if (type.indexOf("[") >= 0 || type === "tuple") {
if (ModifiersNest[name]) { return true; }
if (ModifiersNest[name]) {
return true;
}
}

@@ -75,6 +88,9 @@ if (ModifiersBytes[name] || name === "payable") {

function parseParamType(param: string, allowIndexed: boolean): ParseNode {
let originalParam = param;
function throwError(i: number) {
logger.throwArgumentError(`unexpected character at position ${ i }`, "param", param);
logger.throwArgumentError(
`unexpected character at position ${i}`,
"param",
param,
);
}

@@ -84,5 +100,12 @@ param = param.replace(/\s/g, " ");

function newNode(parent: ParseNode): ParseNode {
let node: ParseNode = { type: "", name: "", parent: parent, state: { allowType: true } };
if (allowIndexed) { node.indexed = false; }
return node
let node: ParseNode = {
type: "",
name: "",
parent: parent,
state: { allowType: true },
};
if (allowIndexed) {
node.indexed = false;
}
return node;
}

@@ -104,3 +127,3 @@

node.type = verifyType(node.type);
node.components = [ newNode(node) ];
node.components = [newNode(node)];
node = node.components[0];

@@ -113,3 +136,5 @@ break;

if (node.name === "indexed") {
if (!allowIndexed) { throwError(i); }
if (!allowIndexed) {
throwError(i);
}
node.indexed = true;

@@ -119,3 +144,5 @@ node.name = "";

if (checkModifier(node.type, node.name)) { node.name = ""; }
if (checkModifier(node.type, node.name)) {
node.name = "";
}

@@ -126,3 +153,5 @@ node.type = verifyType(node.type);

node = node.parent;
if (!node) { throwError(i); }
if (!node) {
throwError(i);
}
delete child.parent;

@@ -138,3 +167,5 @@ node.state.allowParams = false;

if (node.name === "indexed") {
if (!allowIndexed) { throwError(i); }
if (!allowIndexed) {
throwError(i);
}
node.indexed = true;

@@ -144,3 +175,5 @@ node.name = "";

if (checkModifier(node.type, node.name)) { node.name = ""; }
if (checkModifier(node.type, node.name)) {
node.name = "";
}

@@ -150,3 +183,3 @@ node.type = verifyType(node.type);

let sibling: ParseNode = newNode(node.parent);
//{ type: "", name: "", parent: node.parent, state: { allowType: true } };
//{ type: "", name: "", parent: node.parent, state: { allowType: true } };
node.parent.components.push(sibling);

@@ -159,3 +192,2 @@ delete node.parent;

case " ":
// If reading type, the type is done and may read a param or name

@@ -175,4 +207,8 @@ if (node.state.allowType) {

if (node.name === "indexed") {
if (!allowIndexed) { throwError(i); }
if (node.indexed) { throwError(i); }
if (!allowIndexed) {
throwError(i);
}
if (node.indexed) {
throwError(i);
}
node.indexed = true;

@@ -191,3 +227,5 @@ node.name = "";

case "[":
if (!node.state.allowArray) { throwError(i); }
if (!node.state.allowArray) {
throwError(i);
}

@@ -202,3 +240,5 @@ node.type += c;

case "]":
if (!node.state.readArray) { throwError(i); }
if (!node.state.readArray) {
throwError(i);
}

@@ -224,7 +264,9 @@ node.type += c;

throwError(i);
}
}
}
}
if (node.parent) { logger.throwArgumentError("unexpected eof", "param", param); }
if (node.parent) {
logger.throwArgumentError("unexpected eof", "param", param);
}

@@ -234,4 +276,8 @@ delete parent.state;

if (node.name === "indexed") {
if (!allowIndexed) { throwError(originalParam.length - 7); }
if (node.indexed) { throwError(originalParam.length - 7); }
if (!allowIndexed) {
throwError(originalParam.length - 7);
}
if (node.indexed) {
throwError(originalParam.length - 7);
}
node.indexed = true;

@@ -249,6 +295,8 @@ node.name = "";

function populate(object: any, params: any) {
for (let key in params) { defineReadOnly(object, key, params[key]); }
for (let key in params) {
defineReadOnly(object, key, params[key]);
}
}
export const FormatTypes: { [ name: string ]: string } = Object.freeze({
export const FormatTypes: { [name: string]: string } = Object.freeze({
// Bare formatting, as is needed for computing a sighash of an event or function

@@ -264,3 +312,3 @@ sighash: "sighash",

// JSON-format a la Solidity
json: "json"
json: "json",
});

@@ -271,3 +319,2 @@

export class ParamType {
// The local name of the parameter (of null if unbound)

@@ -298,5 +345,11 @@ readonly name: string;

constructor(constructorGuard: any, params: any) {
if (constructorGuard !== _constructorGuard) { logger.throwError("use fromString", Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new ParamType()"
}); }
if (constructorGuard !== _constructorGuard) {
logger.throwError(
"use fromString",
Logger.errors.UNSUPPORTED_OPERATION,
{
operation: "new ParamType()",
},
);
}
populate(this, params);

@@ -310,5 +363,5 @@

type: match[1],
components: this.components
components: this.components,
}),
baseType: "array"
baseType: "array",
});

@@ -319,3 +372,3 @@ } else {

arrayChildren: null,
baseType: ((this.components != null) ? "tuple": this.type)
baseType: this.components != null ? "tuple" : this.type,
});

@@ -334,3 +387,5 @@ }

format(format?: string): string {
if (!format) { format = FormatTypes.sighash; }
if (!format) {
format = FormatTypes.sighash;
}
if (!FormatTypes[format]) {

@@ -342,8 +397,12 @@ logger.throwArgumentError("invalid format type", "format", format);

let result: any = {
type: ((this.baseType === "tuple") ? "tuple": this.type),
name: (this.name || undefined)
type: this.baseType === "tuple" ? "tuple" : this.type,
name: this.name || undefined,
};
if (typeof(this.indexed) === "boolean") { result.indexed = this.indexed; }
if (typeof this.indexed === "boolean") {
result.indexed = this.indexed;
}
if (this.components) {
result.components = this.components.map((comp) => JSON.parse(comp.format(format)));
result.components = this.components.map((comp) =>
JSON.parse(comp.format(format)),
);
}

@@ -358,3 +417,6 @@ return JSON.stringify(result);

result += this.arrayChildren.format(format);
result += "[" + (this.arrayLength < 0 ? "": String(this.arrayLength)) + "]";
result +=
"[" +
(this.arrayLength < 0 ? "" : String(this.arrayLength)) +
"]";
} else {

@@ -365,5 +427,8 @@ if (this.baseType === "tuple") {

}
result += "(" + this.components.map(
(comp) => comp.format(format)
).join((format === FormatTypes.full) ? ", ": ",") + ")";
result +=
"(" +
this.components
.map((comp) => comp.format(format))
.join(format === FormatTypes.full ? ", " : ",") +
")";
} else {

@@ -375,3 +440,5 @@ result += this.type;

if (format !== FormatTypes.sighash) {
if (this.indexed === true) { result += " indexed"; }
if (this.indexed === true) {
result += " indexed";
}
if (format === FormatTypes.full && this.name) {

@@ -385,4 +452,7 @@ result += " " + this.name;

static from(value: string | JsonFragmentType | ParamType, allowIndexed?: boolean): ParamType {
if (typeof(value) === "string") {
static from(
value: string | JsonFragmentType | ParamType,
allowIndexed?: boolean,
): ParamType {
if (typeof value === "string") {
return ParamType.fromString(value, allowIndexed);

@@ -394,9 +464,13 @@ }

static fromObject(value: JsonFragmentType | ParamType): ParamType {
if (ParamType.isParamType(value)) { return value; }
if (ParamType.isParamType(value)) {
return value;
}
return new ParamType(_constructorGuard, {
name: (value.name || null),
name: value.name || null,
type: verifyType(value.type),
indexed: ((value.indexed == null) ? null: !!value.indexed),
components: (value.components ? value.components.map(ParamType.fromObject): null)
indexed: value.indexed == null ? null : !!value.indexed,
components: value.components
? value.components.map(ParamType.fromObject)
: null,
});

@@ -411,3 +485,3 @@ }

indexed: node.indexed,
components: node.components
components: node.components,
});

@@ -422,9 +496,11 @@ }

}
};
}
function parseParams(value: string, allowIndex: boolean): Array<ParamType> {
return splitNesting(value).map((param) => ParamType.fromString(param, allowIndex));
return splitNesting(value).map((param) =>
ParamType.fromString(param, allowIndex),
);
}
type TypeCheck<T> = { -readonly [ K in keyof T ]: T[K] };
type TypeCheck<T> = { -readonly [K in keyof T]: T[K] };

@@ -438,3 +514,2 @@ interface _Fragment {

export abstract class Fragment {
readonly type: string;

@@ -448,5 +523,9 @@ readonly name: string;

if (constructorGuard !== _constructorGuard) {
logger.throwError("use a static from method", Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new Fragment()"
});
logger.throwError(
"use a static from method",
Logger.errors.UNSUPPORTED_OPERATION,
{
operation: "new Fragment()",
},
);
}

@@ -463,5 +542,7 @@ populate(this, params);

static from(value: Fragment | JsonFragment | string): Fragment {
if (Fragment.isFragment(value)) { return value; }
if (Fragment.isFragment(value)) {
return value;
}
if (typeof(value) === "string") {
if (typeof value === "string") {
return Fragment.fromString(value);

@@ -474,3 +555,5 @@ }

static fromObject(value: Fragment | JsonFragment): Fragment {
if (Fragment.isFragment(value)) { return value; }
if (Fragment.isFragment(value)) {
return value;
}

@@ -492,3 +575,7 @@ switch (value.type) {

return logger.throwArgumentError("invalid fragment object", "value", value);
return logger.throwArgumentError(
"invalid fragment object",
"value",
value,
);
}

@@ -499,7 +586,10 @@

value = value.replace(/\s/g, " ");
value = value.replace(/\(/g, " (").replace(/\)/g, ") ").replace(/\s+/g, " ");
value = value
.replace(/\(/g, " (")
.replace(/\)/g, ") ")
.replace(/\s+/g, " ");
value = value.trim();
if (value.split(" ")[0] === "event") {
return EventFragment.fromString(value.substring(5).trim());
return EventFragment.fromString(value.substring(5).trim());
} else if (value.split(" ")[0] === "function") {

@@ -510,6 +600,10 @@ return FunctionFragment.fromString(value.substring(8).trim());

} else if (value.split(" ")[0] === "error") {
return ErrorFragment.fromString(value.substring(5).trim());
return ErrorFragment.fromString(value.substring(5).trim());
}
return logger.throwArgumentError("unsupported fragment", "value", value);
return logger.throwArgumentError(
"unsupported fragment",
"value",
value,
);
}

@@ -530,3 +624,5 @@

format(format?: string): string {
if (!format) { format = FormatTypes.sighash; }
if (!format) {
format = FormatTypes.sighash;
}
if (!FormatTypes[format]) {

@@ -541,3 +637,5 @@ logger.throwArgumentError("invalid format type", "format", format);

name: this.name,
inputs: this.inputs.map((input) => JSON.parse(input.format(format)))
inputs: this.inputs.map((input) =>
JSON.parse(input.format(format)),
),
});

@@ -552,5 +650,9 @@ }

result += this.name + "(" + this.inputs.map(
(input) => input.format(format)
).join((format === FormatTypes.full) ? ", ": ",") + ") ";
result +=
this.name +
"(" +
this.inputs
.map((input) => input.format(format))
.join(format === FormatTypes.full ? ", " : ",") +
") ";

@@ -567,3 +669,3 @@ if (format !== FormatTypes.sighash) {

static from(value: EventFragment | JsonFragment | string): EventFragment {
if (typeof(value) === "string") {
if (typeof value === "string") {
return EventFragment.fromString(value);

@@ -575,3 +677,5 @@ }

static fromObject(value: JsonFragment | EventFragment): EventFragment {
if (EventFragment.isEventFragment(value)) { return value; }
if (EventFragment.isEventFragment(value)) {
return value;
}

@@ -585,4 +689,4 @@ if (value.type !== "event") {

anonymous: value.anonymous,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),
type: "event"
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [],
type: "event",
};

@@ -594,3 +698,2 @@

static fromString(value: string): EventFragment {
let match = value.match(regexParen);

@@ -603,3 +706,3 @@ if (!match) {

match[3].split(" ").forEach((modifier) => {
switch(modifier.trim()) {
switch (modifier.trim()) {
case "anonymous":

@@ -619,3 +722,3 @@ anonymous = true;

inputs: parseParams(match[2], true),
type: "event"
type: "event",
});

@@ -625,3 +728,3 @@ }

static isEventFragment(value: any): value is EventFragment {
return (value && value._isFragment && value.type === "event");
return value && value._isFragment && value.type === "event";
}

@@ -636,6 +739,14 @@ }

if (comps.length > 2) {
logger.throwArgumentError("invalid human-readable ABI signature", "value", value);
logger.throwArgumentError(
"invalid human-readable ABI signature",
"value",
value,
);
}
if (!comps[1].match(/^[0-9]+$/)) {
logger.throwArgumentError("invalid human-readable ABI signature gas", "value", value);
logger.throwArgumentError(
"invalid human-readable ABI signature gas",
"value",
value,
);
}

@@ -702,3 +813,3 @@ params.gas = BigNumber.from(comps[1]);

payable: true,
stateMutability: "payable"
stateMutability: "payable",
};

@@ -710,6 +821,13 @@

// Set (and check things are consistent) the constant property
result.constant = (result.stateMutability === "view" || result.stateMutability === "pure");
result.constant =
result.stateMutability === "view" ||
result.stateMutability === "pure";
if (value.constant != null) {
if ((!!value.constant) !== result.constant) {
logger.throwArgumentError("cannot have constant function with mutability " + result.stateMutability, "value", value);
if (!!value.constant !== result.constant) {
logger.throwArgumentError(
"cannot have constant function with mutability " +
result.stateMutability,
"value",
value,
);
}

@@ -719,9 +837,13 @@ }

// Set (and check things are consistent) the payable property
result.payable = (result.stateMutability === "payable");
result.payable = result.stateMutability === "payable";
if (value.payable != null) {
if ((!!value.payable) !== result.payable) {
logger.throwArgumentError("cannot have payable function with mutability " + result.stateMutability, "value", value);
if (!!value.payable !== result.payable) {
logger.throwArgumentError(
"cannot have payable function with mutability " +
result.stateMutability,
"value",
value,
);
}
}
} else if (value.payable != null) {

@@ -731,4 +853,12 @@ result.payable = !!value.payable;

// If payable we can assume non-constant; otherwise we can't assume
if (value.constant == null && !result.payable && value.type !== "constructor") {
logger.throwArgumentError("unable to determine stateMutability", "value", value);
if (
value.constant == null &&
!result.payable &&
value.type !== "constructor"
) {
logger.throwArgumentError(
"unable to determine stateMutability",
"value",
value,
);
}

@@ -741,16 +871,22 @@

} else {
result.stateMutability = (result.payable ? "payable": "nonpayable");
result.stateMutability = result.payable ? "payable" : "nonpayable";
}
if (result.payable && result.constant) {
logger.throwArgumentError("cannot have constant payable function", "value", value);
logger.throwArgumentError(
"cannot have constant payable function",
"value",
value,
);
}
} else if (value.constant != null) {
result.constant = !!value.constant;
result.payable = !result.constant;
result.stateMutability = (result.constant ? "view": "payable");
result.stateMutability = result.constant ? "view" : "payable";
} else if (value.type !== "constructor") {
logger.throwArgumentError("unable to determine stateMutability", "value", value);
logger.throwArgumentError(
"unable to determine stateMutability",
"value",
value,
);
}

@@ -773,3 +909,5 @@

format(format?: string): string {
if (!format) { format = FormatTypes.sighash; }
if (!format) {
format = FormatTypes.sighash;
}
if (!FormatTypes[format]) {

@@ -782,6 +920,11 @@ logger.throwArgumentError("invalid format type", "format", format);

type: "constructor",
stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability: undefined),
stateMutability:
this.stateMutability !== "nonpayable"
? this.stateMutability
: undefined,
payable: this.payable,
gas: (this.gas ? this.gas.toNumber(): undefined),
inputs: this.inputs.map((input) => JSON.parse(input.format(format)))
gas: this.gas ? this.gas.toNumber() : undefined,
inputs: this.inputs.map((input) =>
JSON.parse(input.format(format)),
),
});

@@ -791,10 +934,17 @@ }

if (format === FormatTypes.sighash) {
logger.throwError("cannot format a constructor for sighash", Logger.errors.UNSUPPORTED_OPERATION, {
operation: "format(sighash)"
});
logger.throwError(
"cannot format a constructor for sighash",
Logger.errors.UNSUPPORTED_OPERATION,
{
operation: "format(sighash)",
},
);
}
let result = "constructor(" + this.inputs.map(
(input) => input.format(format)
).join((format === FormatTypes.full) ? ", ": ",") + ") ";
let result =
"constructor(" +
this.inputs
.map((input) => input.format(format))
.join(format === FormatTypes.full ? ", " : ",") +
") ";

@@ -808,4 +958,6 @@ if (this.stateMutability && this.stateMutability !== "nonpayable") {

static from(value: ConstructorFragment | JsonFragment | string): ConstructorFragment {
if (typeof(value) === "string") {
static from(
value: ConstructorFragment | JsonFragment | string,
): ConstructorFragment {
if (typeof value === "string") {
return ConstructorFragment.fromString(value);

@@ -816,7 +968,15 @@ }

static fromObject(value: ConstructorFragment | JsonFragment): ConstructorFragment {
if (ConstructorFragment.isConstructorFragment(value)) { return value; }
static fromObject(
value: ConstructorFragment | JsonFragment,
): ConstructorFragment {
if (ConstructorFragment.isConstructorFragment(value)) {
return value;
}
if (value.type !== "constructor") {
logger.throwArgumentError("invalid constructor object", "value", value);
logger.throwArgumentError(
"invalid constructor object",
"value",
value,
);
}

@@ -826,3 +986,7 @@

if (state.constant) {
logger.throwArgumentError("constructor cannot be constant", "value", value);
logger.throwArgumentError(
"constructor cannot be constant",
"value",
value,
);
}

@@ -833,6 +997,6 @@

type: value.type,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): []),
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [],
payable: state.payable,
stateMutability: state.stateMutability,
gas: (value.gas ? BigNumber.from(value.gas): null)
gas: value.gas ? BigNumber.from(value.gas) : null,
};

@@ -850,3 +1014,7 @@

if (!parens || parens[1].trim() !== "constructor") {
logger.throwArgumentError("invalid constructor string", "value", value);
logger.throwArgumentError(
"invalid constructor string",
"value",
value,
);
}

@@ -862,3 +1030,3 @@

static isConstructorFragment(value: any): value is ConstructorFragment {
return (value && value._isFragment && value.type === "constructor");
return value && value._isFragment && value.type === "constructor";
}

@@ -877,3 +1045,5 @@ }

format(format?: string): string {
if (!format) { format = FormatTypes.sighash; }
if (!format) {
format = FormatTypes.sighash;
}
if (!FormatTypes[format]) {

@@ -888,7 +1058,14 @@ logger.throwArgumentError("invalid format type", "format", format);

constant: this.constant,
stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability: undefined),
stateMutability:
this.stateMutability !== "nonpayable"
? this.stateMutability
: undefined,
payable: this.payable,
gas: (this.gas ? this.gas.toNumber(): undefined),
inputs: this.inputs.map((input) => JSON.parse(input.format(format))),
outputs: this.outputs.map((output) => JSON.parse(output.format(format))),
gas: this.gas ? this.gas.toNumber() : undefined,
inputs: this.inputs.map((input) =>
JSON.parse(input.format(format)),
),
outputs: this.outputs.map((output) =>
JSON.parse(output.format(format)),
),
});

@@ -903,5 +1080,9 @@ }

result += this.name + "(" + this.inputs.map(
(input) => input.format(format)
).join((format === FormatTypes.full) ? ", ": ",") + ") ";
result +=
this.name +
"(" +
this.inputs
.map((input) => input.format(format))
.join(format === FormatTypes.full ? ", " : ",") +
") ";

@@ -911,3 +1092,3 @@ if (format !== FormatTypes.sighash) {

if (this.stateMutability !== "nonpayable") {
result += (this.stateMutability + " ");
result += this.stateMutability + " ";
}

@@ -919,5 +1100,8 @@ } else if (this.constant) {

if (this.outputs && this.outputs.length) {
result += "returns (" + this.outputs.map(
(output) => output.format(format)
).join(", ") + ") ";
result +=
"returns (" +
this.outputs
.map((output) => output.format(format))
.join(", ") +
") ";
}

@@ -933,4 +1117,6 @@

static from(value: FunctionFragment | JsonFragment | string): FunctionFragment {
if (typeof(value) === "string") {
static from(
value: FunctionFragment | JsonFragment | string,
): FunctionFragment {
if (typeof value === "string") {
return FunctionFragment.fromString(value);

@@ -941,7 +1127,15 @@ }

static fromObject(value: FunctionFragment | JsonFragment): FunctionFragment {
if (FunctionFragment.isFunctionFragment(value)) { return value; }
static fromObject(
value: FunctionFragment | JsonFragment,
): FunctionFragment {
if (FunctionFragment.isFunctionFragment(value)) {
return value;
}
if (value.type !== "function") {
logger.throwArgumentError("invalid function object", "value", value);
logger.throwArgumentError(
"invalid function object",
"value",
value,
);
}

@@ -955,7 +1149,9 @@

constant: state.constant,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): []),
outputs: (value.outputs ? value.outputs.map(ParamType.fromObject): [ ]),
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [],
outputs: value.outputs
? value.outputs.map(ParamType.fromObject)
: [],
payable: state.payable,
stateMutability: state.stateMutability,
gas: (value.gas ? BigNumber.from(value.gas): null)
gas: value.gas ? BigNumber.from(value.gas) : null,
};

@@ -972,3 +1168,7 @@

if (comps.length > 2) {
logger.throwArgumentError("invalid function string", "value", value);
logger.throwArgumentError(
"invalid function string",
"value",
value,
);
}

@@ -978,7 +1178,13 @@

if (!parens) {
logger.throwArgumentError("invalid function signature", "value", value);
logger.throwArgumentError(
"invalid function signature",
"value",
value,
);
}
params.name = parens[1].trim();
if (params.name) { verifyIdentifier(params.name); }
if (params.name) {
verifyIdentifier(params.name);
}

@@ -991,3 +1197,3 @@ params.inputs = parseParams(parens[2], false);

if (comps.length > 1) {
let returns = comps[1].match(regexParen);
let returns = comps[1].match(regexParen);
if (returns[1].trim() != "" || returns[3].trim() != "") {

@@ -998,3 +1204,3 @@ logger.throwArgumentError("unexpected tokens", "value", value);

} else {
params.outputs = [ ];
params.outputs = [];
}

@@ -1006,3 +1212,3 @@

static isFunctionFragment(value: any): value is FunctionFragment {
return (value && value._isFragment && value.type === "function");
return value && value._isFragment && value.type === "function";
}

@@ -1017,3 +1223,7 @@ }

if (sig === "Error(string)" || sig === "Panic(uint256)") {
logger.throwArgumentError(`cannot specify user defined ${ sig } error`, "fragment", fragment);
logger.throwArgumentError(
`cannot specify user defined ${sig} error`,
"fragment",
fragment,
);
}

@@ -1024,5 +1234,6 @@ return fragment;

export class ErrorFragment extends Fragment {
format(format?: string): string {
if (!format) { format = FormatTypes.sighash; }
if (!format) {
format = FormatTypes.sighash;
}
if (!FormatTypes[format]) {

@@ -1036,3 +1247,5 @@ logger.throwArgumentError("invalid format type", "format", format);

name: this.name,
inputs: this.inputs.map((input) => JSON.parse(input.format(format))),
inputs: this.inputs.map((input) =>
JSON.parse(input.format(format)),
),
});

@@ -1047,5 +1260,9 @@ }

result += this.name + "(" + this.inputs.map(
(input) => input.format(format)
).join((format === FormatTypes.full) ? ", ": ",") + ") ";
result +=
this.name +
"(" +
this.inputs
.map((input) => input.format(format))
.join(format === FormatTypes.full ? ", " : ",") +
") ";

@@ -1056,3 +1273,3 @@ return result.trim();

static from(value: ErrorFragment | JsonFragment | string): ErrorFragment {
if (typeof(value) === "string") {
if (typeof value === "string") {
return ErrorFragment.fromString(value);

@@ -1064,3 +1281,5 @@ }

static fromObject(value: ErrorFragment | JsonFragment): ErrorFragment {
if (ErrorFragment.isErrorFragment(value)) { return value; }
if (ErrorFragment.isErrorFragment(value)) {
return value;
}

@@ -1074,3 +1293,3 @@ if (value.type !== "error") {

name: verifyIdentifier(value.name),
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): [])
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [],
};

@@ -1086,7 +1305,13 @@

if (!parens) {
logger.throwArgumentError("invalid error signature", "value", value);
logger.throwArgumentError(
"invalid error signature",
"value",
value,
);
}
params.name = parens[1].trim();
if (params.name) { verifyIdentifier(params.name); }
if (params.name) {
verifyIdentifier(params.name);
}

@@ -1099,3 +1324,3 @@ params.inputs = parseParams(parens[2], false);

static isErrorFragment(value: any): value is ErrorFragment {
return (value && value._isFragment && value.type === "error");
return value && value._isFragment && value.type === "error";
}

@@ -1105,3 +1330,2 @@ }

function verifyType(type: string): string {
// These need to be transformed to their full description

@@ -1123,3 +1347,7 @@ if (type.match(/^uint($|[^1-9])/)) {

if (!value || !value.match(regexIdentifier)) {
logger.throwArgumentError(`invalid identifier "${ value }"`, "value", value);
logger.throwArgumentError(
`invalid identifier "${value}"`,
"value",
value,
);
}

@@ -1149,3 +1377,7 @@ return value;

if (depth === -1) {
logger.throwArgumentError("unbalanced parenthesis", "value", value);
logger.throwArgumentError(
"unbalanced parenthesis",
"value",
value,
);
}

@@ -1155,6 +1387,7 @@ }

}
if (accum) { result.push(accum); }
if (accum) {
result.push(accum);
}
return result;
}
"use strict";
import { ConstructorFragment, ErrorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, JsonFragment, JsonFragmentType, ParamType } from "./fragments";
import {
ConstructorFragment,
ErrorFragment,
EventFragment,
FormatTypes,
Fragment,
FunctionFragment,
JsonFragment,
JsonFragmentType,
ParamType,
} from "./fragments";
import { AbiCoder, CoerceFunc, defaultAbiCoder } from "./abi-coder";
import { checkResultErrors, Indexed, Interface, LogDescription, Result, TransactionDescription } from "./interface";
import {
checkResultErrors,
Indexed,
Interface,
LogDescription,
Result,
TransactionDescription,
} from "./interface";

@@ -15,6 +32,4 @@ export {

FormatTypes,
AbiCoder,
defaultAbiCoder,
Interface,

@@ -25,12 +40,9 @@ Indexed,

// Types
CoerceFunc,
JsonFragment,
JsonFragmentType,
Result,
checkResultErrors,
LogDescription,
TransactionDescription
TransactionDescription,
};

@@ -5,12 +5,29 @@ "use strict";

import { BigNumber, BigNumberish } from "@qevm/bignumber";
import { arrayify, BytesLike, concat, hexDataSlice, hexlify, hexZeroPad, isHexString } from "@qevm/bytes";
import {
arrayify,
BytesLike,
concat,
hexDataSlice,
hexlify,
hexZeroPad,
isHexString,
} from "@qevm/bytes";
import { id } from "@qevm/hash";
import { keccak256 } from "@qevm/keccak256"
import { defineReadOnly, Description, getStatic } from "@ethersproject/properties";
import { keccak256 } from "@qevm/keccak256";
import { defineReadOnly, Description, getStatic } from "@qevm/properties";
import { AbiCoder, defaultAbiCoder } from "./abi-coder";
import { checkResultErrors, Result } from "./coders/abstract-coder";
import { ConstructorFragment, ErrorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, JsonFragment, ParamType } from "./fragments";
import {
ConstructorFragment,
ErrorFragment,
EventFragment,
FormatTypes,
Fragment,
FunctionFragment,
JsonFragment,
ParamType,
} from "./fragments";
import { Logger } from "@ethersproject/logger";
import { Logger } from "@qevm/logger";
import { version } from "./_version";

@@ -26,3 +43,3 @@ const logger = new Logger(version);

readonly topic: string;
readonly args: Result
readonly args: Result;
}

@@ -56,9 +73,23 @@

const BuiltinErrors: Record<string, { signature: string, inputs: Array<string>, name: string, reason?: boolean }> = {
"0x08c379a0": { signature: "Error(string)", name: "Error", inputs: [ "string" ], reason: true },
"0x4e487b71": { signature: "Panic(uint256)", name: "Panic", inputs: [ "uint256" ] }
}
const BuiltinErrors: Record<
string,
{ signature: string; inputs: Array<string>; name: string; reason?: boolean }
> = {
"0x08c379a0": {
signature: "Error(string)",
name: "Error",
inputs: ["string"],
reason: true,
},
"0x4e487b71": {
signature: "Panic(uint256)",
name: "Panic",
inputs: ["uint256"],
},
};
function wrapAccessError(property: string, error: Error): Error {
const wrap = new Error(`deferred error during ABI decoding triggered accessing ${ property }`);
const wrap = new Error(
`deferred error during ABI decoding triggered accessing ${property}`,
);
(<any>wrap).error = error;

@@ -84,6 +115,6 @@ return wrap;

readonly errors: { [ name: string ]: ErrorFragment };
readonly events: { [ name: string ]: EventFragment };
readonly functions: { [ name: string ]: FunctionFragment };
readonly structs: { [ name: string ]: any };
readonly errors: { [name: string]: ErrorFragment };
readonly events: { [name: string]: EventFragment };
readonly functions: { [name: string]: FunctionFragment };
readonly structs: { [name: string]: any };

@@ -96,5 +127,7 @@ readonly deploy: ConstructorFragment;

constructor(fragments: string | ReadonlyArray<Fragment | JsonFragment | string>) {
let abi: ReadonlyArray<Fragment | JsonFragment | string> = [ ];
if (typeof(fragments) === "string") {
constructor(
fragments: string | ReadonlyArray<Fragment | JsonFragment | string>,
) {
let abi: ReadonlyArray<Fragment | JsonFragment | string> = [];
if (typeof fragments === "string") {
abi = JSON.parse(fragments);

@@ -105,16 +138,26 @@ } else {

defineReadOnly(this, "fragments", abi.map((fragment) => {
return Fragment.from(fragment);
}).filter((fragment) => (fragment != null)));
defineReadOnly(
this,
"fragments",
abi
.map((fragment) => {
return Fragment.from(fragment);
})
.filter((fragment) => fragment != null),
);
defineReadOnly(this, "_abiCoder", getStatic<() => AbiCoder>(new.target, "getAbiCoder")());
defineReadOnly(
this,
"_abiCoder",
getStatic<() => AbiCoder>(new.target, "getAbiCoder")(),
);
defineReadOnly(this, "functions", { });
defineReadOnly(this, "errors", { });
defineReadOnly(this, "events", { });
defineReadOnly(this, "structs", { });
defineReadOnly(this, "functions", {});
defineReadOnly(this, "errors", {});
defineReadOnly(this, "events", {});
defineReadOnly(this, "structs", {});
// Add all fragments by their signature
this.fragments.forEach((fragment) => {
let bucket: { [ name: string ]: Fragment } = null;
let bucket: { [name: string]: Fragment } = null;
switch (fragment.type) {

@@ -127,3 +170,7 @@ case "constructor":

//checkNames(fragment, "input", fragment.inputs);
defineReadOnly(this, "deploy", <ConstructorFragment>fragment);
defineReadOnly(
this,
"deploy",
<ConstructorFragment>fragment,
);
return;

@@ -157,6 +204,10 @@ case "function":

if (!this.deploy) {
defineReadOnly(this, "deploy", ConstructorFragment.from({
payable: false,
type: "constructor"
}));
defineReadOnly(
this,
"deploy",
ConstructorFragment.from({
payable: false,
type: "constructor",
}),
);
}

@@ -168,5 +219,11 @@

format(format?: string): string | Array<string> {
if (!format) { format = FormatTypes.full; }
if (!format) {
format = FormatTypes.full;
}
if (format === FormatTypes.sighash) {
logger.throwArgumentError("interface does not support formatting sighash", "format", format);
logger.throwArgumentError(
"interface does not support formatting sighash",
"format",
format,
);
}

@@ -178,3 +235,3 @@

if (format === FormatTypes.json) {
return JSON.stringify(abi.map((j) => JSON.parse(j)));
return JSON.stringify(abi.map((j) => JSON.parse(j)));
}

@@ -210,3 +267,7 @@

}
logger.throwArgumentError("no matching function", "sighash", nameOrSignatureOrSighash);
logger.throwArgumentError(
"no matching function",
"sighash",
nameOrSignatureOrSighash,
);
}

@@ -217,7 +278,13 @@

const name = nameOrSignatureOrSighash.trim();
const matching = Object.keys(this.functions).filter((f) => (f.split("("/* fix:) */)[0] === name));
const matching = Object.keys(this.functions).filter(
(f) => f.split("(" /* fix:) */)[0] === name,
);
if (matching.length === 0) {
logger.throwArgumentError("no matching function", "name", name);
} else if (matching.length > 1) {
logger.throwArgumentError("multiple matching functions", "name", name);
logger.throwArgumentError(
"multiple matching functions",
"name",
name,
);
}

@@ -229,5 +296,12 @@

// Normalize the signature and lookup the function
const result = this.functions[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
const result =
this.functions[
FunctionFragment.fromString(nameOrSignatureOrSighash).format()
];
if (!result) {
logger.throwArgumentError("no matching function", "signature", nameOrSignatureOrSighash);
logger.throwArgumentError(
"no matching function",
"signature",
nameOrSignatureOrSighash,
);
}

@@ -246,3 +320,7 @@ return result;

}
logger.throwArgumentError("no matching event", "topichash", topichash);
logger.throwArgumentError(
"no matching event",
"topichash",
topichash,
);
}

@@ -253,7 +331,13 @@

const name = nameOrSignatureOrTopic.trim();
const matching = Object.keys(this.events).filter((f) => (f.split("("/* fix:) */)[0] === name));
const matching = Object.keys(this.events).filter(
(f) => f.split("(" /* fix:) */)[0] === name,
);
if (matching.length === 0) {
logger.throwArgumentError("no matching event", "name", name);
} else if (matching.length > 1) {
logger.throwArgumentError("multiple matching events", "name", name);
logger.throwArgumentError(
"multiple matching events",
"name",
name,
);
}

@@ -265,5 +349,12 @@

// Normalize the signature and lookup the function
const result = this.events[EventFragment.fromString(nameOrSignatureOrTopic).format()];
const result =
this.events[
EventFragment.fromString(nameOrSignatureOrTopic).format()
];
if (!result) {
logger.throwArgumentError("no matching event", "signature", nameOrSignatureOrTopic);
logger.throwArgumentError(
"no matching event",
"signature",
nameOrSignatureOrTopic,
);
}

@@ -276,3 +367,5 @@ return result;

if (isHexString(nameOrSignatureOrSighash)) {
const getSighash = getStatic<(f: ErrorFragment | FunctionFragment) => string>(this.constructor, "getSighash");
const getSighash = getStatic<
(f: ErrorFragment | FunctionFragment) => string
>(this.constructor, "getSighash");
for (const name in this.errors) {

@@ -284,3 +377,7 @@ const error = this.errors[name];

}
logger.throwArgumentError("no matching error", "sighash", nameOrSignatureOrSighash);
logger.throwArgumentError(
"no matching error",
"sighash",
nameOrSignatureOrSighash,
);
}

@@ -291,7 +388,13 @@

const name = nameOrSignatureOrSighash.trim();
const matching = Object.keys(this.errors).filter((f) => (f.split("("/* fix:) */)[0] === name));
const matching = Object.keys(this.errors).filter(
(f) => f.split("(" /* fix:) */)[0] === name,
);
if (matching.length === 0) {
logger.throwArgumentError("no matching error", "name", name);
} else if (matching.length > 1) {
logger.throwArgumentError("multiple matching errors", "name", name);
logger.throwArgumentError(
"multiple matching errors",
"name",
name,
);
}

@@ -303,5 +406,12 @@

// Normalize the signature and lookup the function
const result = this.errors[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
const result =
this.errors[
FunctionFragment.fromString(nameOrSignatureOrSighash).format()
];
if (!result) {
logger.throwArgumentError("no matching error", "signature", nameOrSignatureOrSighash);
logger.throwArgumentError(
"no matching error",
"signature",
nameOrSignatureOrSighash,
);
}

@@ -313,3 +423,3 @@ return result;

getSighash(fragment: ErrorFragment | FunctionFragment | string): string {
if (typeof(fragment) === "string") {
if (typeof fragment === "string") {
try {

@@ -326,3 +436,6 @@ fragment = this.getFunction(fragment);

return getStatic<(f: ErrorFragment | FunctionFragment) => string>(this.constructor, "getSighash")(fragment);
return getStatic<(f: ErrorFragment | FunctionFragment) => string>(
this.constructor,
"getSighash",
)(fragment);
}

@@ -332,24 +445,32 @@

getEventTopic(eventFragment: EventFragment | string): string {
if (typeof(eventFragment) === "string") {
if (typeof eventFragment === "string") {
eventFragment = this.getEvent(eventFragment);
}
return getStatic<(e: EventFragment) => string>(this.constructor, "getEventTopic")(eventFragment);
return getStatic<(e: EventFragment) => string>(
this.constructor,
"getEventTopic",
)(eventFragment);
}
_decodeParams(params: ReadonlyArray<ParamType>, data: BytesLike): Result {
return this._abiCoder.decode(params, data)
return this._abiCoder.decode(params, data);
}
_encodeParams(params: ReadonlyArray<ParamType>, values: ReadonlyArray<any>): string {
return this._abiCoder.encode(params, values)
_encodeParams(
params: ReadonlyArray<ParamType>,
values: ReadonlyArray<any>,
): string {
return this._abiCoder.encode(params, values);
}
encodeDeploy(values?: ReadonlyArray<any>): string {
return this._encodeParams(this.deploy.inputs, values || [ ]);
return this._encodeParams(this.deploy.inputs, values || []);
}
decodeErrorResult(fragment: ErrorFragment | string, data: BytesLike): Result {
if (typeof(fragment) === "string") {
decodeErrorResult(
fragment: ErrorFragment | string,
data: BytesLike,
): Result {
if (typeof fragment === "string") {
fragment = this.getError(fragment);

@@ -361,3 +482,7 @@ }

if (hexlify(bytes.slice(0, 4)) !== this.getSighash(fragment)) {
logger.throwArgumentError(`data signature does not match error ${ fragment.name }.`, "data", hexlify(bytes));
logger.throwArgumentError(
`data signature does not match error ${fragment.name}.`,
"data",
hexlify(bytes),
);
}

@@ -368,16 +493,24 @@

encodeErrorResult(fragment: ErrorFragment | string, values?: ReadonlyArray<any>): string {
if (typeof(fragment) === "string") {
encodeErrorResult(
fragment: ErrorFragment | string,
values?: ReadonlyArray<any>,
): string {
if (typeof fragment === "string") {
fragment = this.getError(fragment);
}
return hexlify(concat([
this.getSighash(fragment),
this._encodeParams(fragment.inputs, values || [ ])
]));
return hexlify(
concat([
this.getSighash(fragment),
this._encodeParams(fragment.inputs, values || []),
]),
);
}
// Decode the data for a function call (e.g. tx.data)
decodeFunctionData(functionFragment: FunctionFragment | string, data: BytesLike): Result {
if (typeof(functionFragment) === "string") {
decodeFunctionData(
functionFragment: FunctionFragment | string,
data: BytesLike,
): Result {
if (typeof functionFragment === "string") {
functionFragment = this.getFunction(functionFragment);

@@ -389,3 +522,7 @@ }

if (hexlify(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) {
logger.throwArgumentError(`data signature does not match function ${ functionFragment.name }.`, "data", hexlify(bytes));
logger.throwArgumentError(
`data signature does not match function ${functionFragment.name}.`,
"data",
hexlify(bytes),
);
}

@@ -397,16 +534,24 @@

// Encode the data for a function call (e.g. tx.data)
encodeFunctionData(functionFragment: FunctionFragment | string, values?: ReadonlyArray<any>): string {
if (typeof(functionFragment) === "string") {
encodeFunctionData(
functionFragment: FunctionFragment | string,
values?: ReadonlyArray<any>,
): string {
if (typeof functionFragment === "string") {
functionFragment = this.getFunction(functionFragment);
}
return hexlify(concat([
this.getSighash(functionFragment),
this._encodeParams(functionFragment.inputs, values || [ ])
]));
return hexlify(
concat([
this.getSighash(functionFragment),
this._encodeParams(functionFragment.inputs, values || []),
]),
);
}
// Decode the result from a function call (e.g. from eth_call)
decodeFunctionResult(functionFragment: FunctionFragment | string, data: BytesLike): Result {
if (typeof(functionFragment) === "string") {
decodeFunctionResult(
functionFragment: FunctionFragment | string,
data: BytesLike,
): Result {
if (typeof functionFragment === "string") {
functionFragment = this.getFunction(functionFragment);

@@ -425,4 +570,7 @@ }

try {
return this._abiCoder.decode(functionFragment.outputs, bytes);
} catch (error) { }
return this._abiCoder.decode(
functionFragment.outputs,
bytes,
);
} catch (error) {}
break;

@@ -434,10 +582,15 @@

if (builtin) {
errorArgs = this._abiCoder.decode(builtin.inputs, bytes.slice(4));
errorArgs = this._abiCoder.decode(
builtin.inputs,
bytes.slice(4),
);
errorName = builtin.name;
errorSignature = builtin.signature;
if (builtin.reason) { reason = errorArgs[0]; }
if (builtin.reason) {
reason = errorArgs[0];
}
if (errorName === "Error") {
message = `; VM Exception while processing transaction: reverted with reason string ${ JSON.stringify(errorArgs[0]) }`;
message = `; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(errorArgs[0])}`;
} else if (errorName === "Panic") {
message = `; VM Exception while processing transaction: reverted with panic code ${ errorArgs[0] }`;
message = `; VM Exception while processing transaction: reverted with panic code ${errorArgs[0]}`;
}

@@ -447,6 +600,9 @@ } else {

const error = this.getError(selector);
errorArgs = this._abiCoder.decode(error.inputs, bytes.slice(4));
errorArgs = this._abiCoder.decode(
error.inputs,
bytes.slice(4),
);
errorName = error.name;
errorSignature = error.format();
} catch (error) { }
} catch (error) {}
}

@@ -457,20 +613,36 @@ break;

return logger.throwError("call revert exception" + message, Logger.errors.CALL_EXCEPTION, {
method: functionFragment.format(),
data: hexlify(data), errorArgs, errorName, errorSignature, reason
});
return logger.throwError(
"call revert exception" + message,
Logger.errors.CALL_EXCEPTION,
{
method: functionFragment.format(),
data: hexlify(data),
errorArgs,
errorName,
errorSignature,
reason,
},
);
}
// Encode the result for a function call (e.g. for eth_call)
encodeFunctionResult(functionFragment: FunctionFragment | string, values?: ReadonlyArray<any>): string {
if (typeof(functionFragment) === "string") {
encodeFunctionResult(
functionFragment: FunctionFragment | string,
values?: ReadonlyArray<any>,
): string {
if (typeof functionFragment === "string") {
functionFragment = this.getFunction(functionFragment);
}
return hexlify(this._abiCoder.encode(functionFragment.outputs, values || [ ]));
return hexlify(
this._abiCoder.encode(functionFragment.outputs, values || []),
);
}
// Create the filter for the event with search criteria (e.g. for eth_filterLog)
encodeFilterTopics(eventFragment: EventFragment | string, values: ReadonlyArray<any>): Array<string | Array<string>> {
if (typeof(eventFragment) === "string") {
encodeFilterTopics(
eventFragment: EventFragment | string,
values: ReadonlyArray<any>,
): Array<string | Array<string>> {
if (typeof eventFragment === "string") {
eventFragment = this.getEvent(eventFragment);

@@ -480,20 +652,26 @@ }

if (values.length > eventFragment.inputs.length) {
logger.throwError("too many arguments for " + eventFragment.format(), Logger.errors.UNEXPECTED_ARGUMENT, {
argument: "values",
value: values
})
logger.throwError(
"too many arguments for " + eventFragment.format(),
Logger.errors.UNEXPECTED_ARGUMENT,
{
argument: "values",
value: values,
},
);
}
let topics: Array<string | Array<string>> = [];
if (!eventFragment.anonymous) { topics.push(this.getEventTopic(eventFragment)); }
if (!eventFragment.anonymous) {
topics.push(this.getEventTopic(eventFragment));
}
const encodeTopic = (param: ParamType, value: any): string => {
if (param.type === "string") {
return id(value);
return id(value);
} else if (param.type === "bytes") {
return keccak256(hexlify(value));
return keccak256(hexlify(value));
}
if (param.type === "bool" && typeof(value) === "boolean") {
value = (value ? "0x01": "0x00");
if (param.type === "bool" && typeof value === "boolean") {
value = value ? "0x01" : "0x00";
}

@@ -506,3 +684,5 @@

// Check addresses are valid
if (param.type === "address") { this._abiCoder.encode( [ "address" ], [ value ]); }
if (param.type === "address") {
this._abiCoder.encode(["address"], [value]);
}
return hexZeroPad(hexlify(value), 32);

@@ -512,3 +692,2 @@ };

values.forEach((value, index) => {
let param = (<EventFragment>eventFragment).inputs[index];

@@ -518,3 +697,7 @@

if (value != null) {
logger.throwArgumentError("cannot filter non-indexed parameters; must be null", ("contract." + param.name), value);
logger.throwArgumentError(
"cannot filter non-indexed parameters; must be null",
"contract." + param.name,
value,
);
}

@@ -526,4 +709,11 @@ return;

topics.push(null);
} else if (param.baseType === "array" || param.baseType === "tuple") {
logger.throwArgumentError("filtering with tuples or arrays not supported", ("contract." + param.name), value);
} else if (
param.baseType === "array" ||
param.baseType === "tuple"
) {
logger.throwArgumentError(
"filtering with tuples or arrays not supported",
"contract." + param.name,
value,
);
} else if (Array.isArray(value)) {

@@ -544,11 +734,14 @@ topics.push(value.map((value) => encodeTopic(param, value)));

encodeEventLog(eventFragment: EventFragment | string, values: ReadonlyArray<any>): { data: string, topics: Array<string> } {
if (typeof(eventFragment) === "string") {
encodeEventLog(
eventFragment: EventFragment | string,
values: ReadonlyArray<any>,
): { data: string; topics: Array<string> } {
if (typeof eventFragment === "string") {
eventFragment = this.getEvent(eventFragment);
}
const topics: Array<string> = [ ];
const topics: Array<string> = [];
const dataTypes: Array<ParamType> = [ ];
const dataValues: Array<string> = [ ];
const dataTypes: Array<ParamType> = [];
const dataValues: Array<string> = [];

@@ -560,3 +753,7 @@ if (!eventFragment.anonymous) {

if (values.length !== eventFragment.inputs.length) {
logger.throwArgumentError("event arguments/values mismatch", "values", values);
logger.throwArgumentError(
"event arguments/values mismatch",
"values",
values,
);
}

@@ -568,10 +765,13 @@

if (param.type === "string") {
topics.push(id(value))
topics.push(id(value));
} else if (param.type === "bytes") {
topics.push(keccak256(value))
} else if (param.baseType === "tuple" || param.baseType === "array") {
topics.push(keccak256(value));
} else if (
param.baseType === "tuple" ||
param.baseType === "array"
) {
// @TODO
throw new Error("not implemented");
} else {
topics.push(this._abiCoder.encode([ param.type] , [ value ]));
topics.push(this._abiCoder.encode([param.type], [value]));
}

@@ -585,4 +785,4 @@ } else {

return {
data: this._abiCoder.encode(dataTypes , dataValues),
topics: topics
data: this._abiCoder.encode(dataTypes, dataValues),
topics: topics,
};

@@ -592,4 +792,8 @@ }

// Decode a filter for the event and the search criteria
decodeEventLog(eventFragment: EventFragment | string, data: BytesLike, topics?: ReadonlyArray<string>): Result {
if (typeof(eventFragment) === "string") {
decodeEventLog(
eventFragment: EventFragment | string,
data: BytesLike,
topics?: ReadonlyArray<string>,
): Result {
if (typeof eventFragment === "string") {
eventFragment = this.getEvent(eventFragment);

@@ -600,4 +804,15 @@ }

let topicHash = this.getEventTopic(eventFragment);
if (!isHexString(topics[0], 32) || topics[0].toLowerCase() !== topicHash) {
logger.throwError("fragment/topic mismatch", Logger.errors.INVALID_ARGUMENT, { argument: "topics[0]", expected: topicHash, value: topics[0] });
if (
!isHexString(topics[0], 32) ||
topics[0].toLowerCase() !== topicHash
) {
logger.throwError(
"fragment/topic mismatch",
Logger.errors.INVALID_ARGUMENT,
{
argument: "topics[0]",
expected: topicHash,
value: topics[0],
},
);
}

@@ -613,4 +828,14 @@ topics = topics.slice(1);

if (param.indexed) {
if (param.type === "string" || param.type === "bytes" || param.baseType === "tuple" || param.baseType === "array") {
indexed.push(ParamType.fromObject({ type: "bytes32", name: param.name }));
if (
param.type === "string" ||
param.type === "bytes" ||
param.baseType === "tuple" ||
param.baseType === "array"
) {
indexed.push(
ParamType.fromObject({
type: "bytes32",
name: param.name,
}),
);
dynamic.push(true);

@@ -627,15 +852,23 @@ } else {

let resultIndexed = (topics != null) ? this._abiCoder.decode(indexed, concat(topics)): null;
let resultIndexed =
topics != null
? this._abiCoder.decode(indexed, concat(topics))
: null;
let resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true);
let result: (Array<any> & { [ key: string ]: any }) = [ ];
let nonIndexedIndex = 0, indexedIndex = 0;
let result: Array<any> & { [key: string]: any } = [];
let nonIndexedIndex = 0,
indexedIndex = 0;
eventFragment.inputs.forEach((param, index) => {
if (param.indexed) {
if (resultIndexed == null) {
result[index] = new Indexed({ _isIndexed: true, hash: null });
result[index] = new Indexed({
_isIndexed: true,
hash: null,
});
} else if (dynamic[index]) {
result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] });
result[index] = new Indexed({
_isIndexed: true,
hash: resultIndexed[indexedIndex++],
});
} else {

@@ -664,3 +897,8 @@ try {

enumerable: true,
get: () => { throw wrapAccessError(`property ${ JSON.stringify(param.name) }`, value); }
get: () => {
throw wrapAccessError(
`property ${JSON.stringify(param.name)}`,
value,
);
},
});

@@ -679,3 +917,5 @@ } else {

enumerable: true,
get: () => { throw wrapAccessError(`index ${ i }`, value); }
get: () => {
throw wrapAccessError(`index ${i}`, value);
},
});

@@ -690,9 +930,17 @@ }

// determine all its properties and call parameters
parseTransaction(tx: { data: string, value?: BigNumberish }): TransactionDescription {
let fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase())
parseTransaction(tx: {
data: string;
value?: BigNumberish;
}): TransactionDescription {
let fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase());
if (!fragment) { return null; }
if (!fragment) {
return null;
}
return new TransactionDescription({
args: this._abiCoder.decode(fragment.inputs, "0x" + tx.data.substring(10)),
args: this._abiCoder.decode(
fragment.inputs,
"0x" + tx.data.substring(10),
),
functionFragment: fragment,

@@ -711,6 +959,8 @@ name: fragment.name,

// determine all its properties and values
parseLog(log: { topics: Array<string>, data: string}): LogDescription {
parseLog(log: { topics: Array<string>; data: string }): LogDescription {
let fragment = this.getEvent(log.topics[0]);
if (!fragment || fragment.anonymous) { return null; }
if (!fragment || fragment.anonymous) {
return null;
}

@@ -721,4 +971,3 @@ // @TODO: If anonymous, and the only method, and the input count matches, should we parse?

return new LogDescription({
return new LogDescription({
eventFragment: fragment,

@@ -728,3 +977,3 @@ name: fragment.name,

topic: this.getEventTopic(fragment),
args: this.decodeEventLog(fragment, log.data, log.topics)
args: this.decodeEventLog(fragment, log.data, log.topics),
});

@@ -735,8 +984,13 @@ }

const hexData = hexlify(data);
let fragment = this.getError(hexData.substring(0, 10).toLowerCase())
let fragment = this.getError(hexData.substring(0, 10).toLowerCase());
if (!fragment) { return null; }
if (!fragment) {
return null;
}
return new ErrorDescription({
args: this._abiCoder.decode(fragment.inputs, "0x" + hexData.substring(10)),
args: this._abiCoder.decode(
fragment.inputs,
"0x" + hexData.substring(10),
),
errorFragment: fragment,

@@ -749,3 +1003,2 @@ name: fragment.name,

/*

@@ -767,2 +1020,1 @@ static from(value: Array<Fragment | string | JsonAbi> | string | Interface) {

}