@qevm/abi 5.7.2 → 5.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -4
- package/lib/_version.d.ts +1 -1
- package/lib/_version.js +1 -1
- package/lib/abi-coder.d.ts.map +1 -1
- package/lib/abi-coder.js +54 -54
- package/lib/abi-coder.js.map +1 -1
- package/lib/coders/abstract-coder.d.ts.map +1 -1
- package/lib/coders/abstract-coder.js +75 -84
- package/lib/coders/abstract-coder.js.map +1 -1
- package/lib/coders/address.d.ts.map +1 -1
- package/lib/coders/address.js +15 -32
- package/lib/coders/address.js.map +1 -1
- package/lib/coders/anonymous.js +12 -30
- package/lib/coders/anonymous.js.map +1 -1
- package/lib/coders/array.d.ts.map +1 -1
- package/lib/coders/array.js +71 -87
- package/lib/coders/array.js.map +1 -1
- package/lib/coders/boolean.d.ts.map +1 -1
- package/lib/coders/boolean.js +11 -28
- package/lib/coders/boolean.js.map +1 -1
- package/lib/coders/bytes.js +20 -39
- package/lib/coders/bytes.js.map +1 -1
- package/lib/coders/fixed-bytes.d.ts.map +1 -1
- package/lib/coders/fixed-bytes.js +16 -35
- package/lib/coders/fixed-bytes.js.map +1 -1
- package/lib/coders/function.d.ts +8 -0
- package/lib/coders/function.d.ts.map +1 -0
- package/lib/coders/function.js +46 -0
- package/lib/coders/function.js.map +1 -0
- package/lib/coders/null.d.ts.map +1 -1
- package/lib/coders/null.js +11 -28
- package/lib/coders/null.js.map +1 -1
- package/lib/coders/number.js +20 -39
- package/lib/coders/number.js.map +1 -1
- package/lib/coders/string.d.ts.map +1 -1
- package/lib/coders/string.js +14 -31
- package/lib/coders/string.js.map +1 -1
- package/lib/coders/tuple.d.ts.map +1 -1
- package/lib/coders/tuple.js +23 -42
- package/lib/coders/tuple.js.map +1 -1
- package/lib/fragments.d.ts.map +1 -1
- package/lib/fragments.js +256 -231
- package/lib/fragments.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/interface.d.ts +1 -1
- package/lib/interface.d.ts.map +1 -1
- package/lib/interface.js +240 -247
- package/lib/interface.js.map +1 -1
- package/package.json +35 -31
- package/src.ts/_version.ts +1 -1
- package/src.ts/abi-coder.ts +64 -26
- package/src.ts/coders/abstract-coder.ts +78 -33
- package/src.ts/coders/address.ts +3 -5
- package/src.ts/coders/array.ts +90 -47
- package/src.ts/coders/boolean.ts +1 -3
- package/src.ts/coders/bytes.ts +1 -3
- package/src.ts/coders/fixed-bytes.ts +7 -2
- package/src.ts/coders/function.ts +64 -0
- package/src.ts/coders/null.ts +4 -3
- package/src.ts/coders/number.ts +1 -2
- package/src.ts/coders/string.ts +0 -1
- package/src.ts/coders/tuple.ts +31 -16
- package/src.ts/fragments.ts +411 -178
- package/src.ts/index.ts +20 -8
- package/src.ts/interface.ts +405 -153
package/README.md
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
QuantumEVM ABI Coder
|
|
2
2
|
==================
|
|
3
3
|
|
|
4
|
-
This sub-module is part of the [ethers project](https://github.com/ethers-io/ethers.js).
|
|
4
|
+
This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).
|
|
5
5
|
|
|
6
6
|
It is responsible for encoding and decoding the Application Binary Interface (ABI)
|
|
7
7
|
used by most smart contracts to interoperate between other smart contracts and clients.
|
|
8
8
|
|
|
9
|
-
For more information, see the [documentation](https://docs.ethers.io/v5/api/utils/abi/).
|
|
10
9
|
|
|
11
10
|
Importing
|
|
12
11
|
---------
|
|
13
12
|
|
|
14
|
-
Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/
|
|
13
|
+
Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
|
|
15
14
|
but for those with more specific needs, individual components can be imported.
|
|
16
15
|
|
|
17
16
|
```javascript
|
package/lib/_version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "abi/5.7.
|
|
1
|
+
export declare const version = "abi/5.7.3";
|
|
2
2
|
//# sourceMappingURL=_version.d.ts.map
|
package/lib/_version.js
CHANGED
package/lib/abi-coder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;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"}
|
package/lib/abi-coder.js
CHANGED
|
@@ -2,30 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.defaultAbiCoder = exports.AbiCoder = void 0;
|
|
4
4
|
// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
5
|
+
const bytes_1 = require("@qevm/bytes");
|
|
6
|
+
const properties_1 = require("@qevm/properties");
|
|
7
|
+
const logger_1 = require("@qevm/logger");
|
|
8
|
+
const _version_1 = require("./_version");
|
|
9
|
+
const logger = new logger_1.Logger(_version_1.version);
|
|
10
|
+
const abstract_coder_1 = require("./coders/abstract-coder");
|
|
11
|
+
const address_1 = require("./coders/address");
|
|
12
|
+
const array_1 = require("./coders/array");
|
|
13
|
+
const boolean_1 = require("./coders/boolean");
|
|
14
|
+
const bytes_2 = require("./coders/bytes");
|
|
15
|
+
const fixed_bytes_1 = require("./coders/fixed-bytes");
|
|
16
|
+
const null_1 = require("./coders/null");
|
|
17
|
+
const number_1 = require("./coders/number");
|
|
18
|
+
const string_1 = require("./coders/string");
|
|
19
|
+
const tuple_1 = require("./coders/tuple");
|
|
20
|
+
const function_1 = require("./coders/function");
|
|
21
|
+
const fragments_1 = require("./fragments");
|
|
22
|
+
const paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);
|
|
23
|
+
const paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);
|
|
24
|
+
class AbiCoder {
|
|
25
|
+
constructor(coerceFunc) {
|
|
25
26
|
(0, properties_1.defineReadOnly)(this, "coerceFunc", coerceFunc || null);
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
-
var _this = this;
|
|
28
|
+
_getCoder(param) {
|
|
29
29
|
switch (param.baseType) {
|
|
30
30
|
case "address":
|
|
31
31
|
return new address_1.AddressCoder(param.name);
|
|
@@ -38,67 +38,67 @@ var AbiCoder = /** @class */ (function () {
|
|
|
38
38
|
case "array":
|
|
39
39
|
return new array_1.ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name);
|
|
40
40
|
case "tuple":
|
|
41
|
-
return new tuple_1.TupleCoder((param.components || []).map(
|
|
42
|
-
return
|
|
41
|
+
return new tuple_1.TupleCoder((param.components || []).map((component) => {
|
|
42
|
+
return this._getCoder(component);
|
|
43
43
|
}), param.name);
|
|
44
|
+
case "function":
|
|
45
|
+
return new function_1.FunctionCoder(param.name);
|
|
44
46
|
case "":
|
|
45
47
|
return new null_1.NullCoder(param.name);
|
|
46
48
|
}
|
|
47
49
|
// u?int[0-9]*
|
|
48
|
-
|
|
50
|
+
let match = param.type.match(paramTypeNumber);
|
|
49
51
|
if (match) {
|
|
50
|
-
|
|
51
|
-
if (size === 0 || size > 256 ||
|
|
52
|
+
let size = parseInt(match[2] || "256");
|
|
53
|
+
if (size === 0 || size > 256 || size % 8 !== 0) {
|
|
52
54
|
logger.throwArgumentError("invalid " + match[1] + " bit length", "param", param);
|
|
53
55
|
}
|
|
54
|
-
return new number_1.NumberCoder(size / 8,
|
|
56
|
+
return new number_1.NumberCoder(size / 8, match[1] === "int", param.name);
|
|
55
57
|
}
|
|
56
58
|
// bytes[0-9]+
|
|
57
59
|
match = param.type.match(paramTypeBytes);
|
|
58
60
|
if (match) {
|
|
59
|
-
|
|
61
|
+
let size = parseInt(match[1]);
|
|
60
62
|
if (size === 0 || size > 32) {
|
|
61
63
|
logger.throwArgumentError("invalid bytes length", "param", param);
|
|
62
64
|
}
|
|
63
65
|
return new fixed_bytes_1.FixedBytesCoder(size, param.name);
|
|
64
66
|
}
|
|
65
67
|
return logger.throwArgumentError("invalid type", "type", param.type);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
}
|
|
69
|
+
_getWordSize() {
|
|
70
|
+
return 32;
|
|
71
|
+
}
|
|
72
|
+
_getReader(data, allowLoose) {
|
|
69
73
|
return new abstract_coder_1.Reader(data, this._getWordSize(), this.coerceFunc, allowLoose);
|
|
70
|
-
}
|
|
71
|
-
|
|
74
|
+
}
|
|
75
|
+
_getWriter() {
|
|
72
76
|
return new abstract_coder_1.Writer(this._getWordSize());
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
var coder = new tuple_1.TupleCoder(coders, "_");
|
|
77
|
+
}
|
|
78
|
+
getDefaultValue(types) {
|
|
79
|
+
const coders = types.map((type) => this._getCoder(fragments_1.ParamType.from(type)));
|
|
80
|
+
const coder = new tuple_1.TupleCoder(coders, "_");
|
|
78
81
|
return coder.defaultValue();
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
var _this = this;
|
|
82
|
+
}
|
|
83
|
+
encode(types, values) {
|
|
82
84
|
if (types.length !== values.length) {
|
|
83
85
|
logger.throwError("types/values length mismatch", logger_1.Logger.errors.INVALID_ARGUMENT, {
|
|
84
86
|
count: { types: types.length, values: values.length },
|
|
85
|
-
value: { types: types, values: values }
|
|
87
|
+
value: { types: types, values: values },
|
|
86
88
|
});
|
|
87
89
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
const coders = types.map((type) => this._getCoder(fragments_1.ParamType.from(type)));
|
|
91
|
+
const coder = new tuple_1.TupleCoder(coders, "_");
|
|
92
|
+
const writer = this._getWriter();
|
|
91
93
|
coder.encode(writer, values);
|
|
92
94
|
return writer.data;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
var coder = new tuple_1.TupleCoder(coders, "_");
|
|
95
|
+
}
|
|
96
|
+
decode(types, data, loose) {
|
|
97
|
+
const coders = types.map((type) => this._getCoder(fragments_1.ParamType.from(type)));
|
|
98
|
+
const coder = new tuple_1.TupleCoder(coders, "_");
|
|
98
99
|
return coder.decode(this._getReader((0, bytes_1.arrayify)(data), loose));
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
}());
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
102
|
exports.AbiCoder = AbiCoder;
|
|
103
103
|
exports.defaultAbiCoder = new AbiCoder();
|
|
104
104
|
//# sourceMappingURL=abi-coder.js.map
|
package/lib/abi-coder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abi-coder.js","sourceRoot":"","sources":["../src.ts/abi-coder.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,mEAAmE;AAEnE,
|
|
1
|
+
{"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 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-coder.d.ts","sourceRoot":"","sources":["../../src.ts/coders/abstract-coder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,SAAS,EAA8B,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAO1D,MAAM,WAAW,MAAO,SAAQ,aAAa,CAAC,GAAG,CAAC;IAC9C,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"abstract-coder.d.ts","sourceRoot":"","sources":["../../src.ts/coders/abstract-coder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,SAAS,EAA8B,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAO1D,MAAM,WAAW,MAAO,SAAQ,aAAa,CAAC,GAAG,CAAC;IAC9C,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,MAAM,GACf,KAAK,CAAC;IAAE,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAyBvD;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;AAE3D,8BAAsB,KAAK;IAGvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAItB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAItB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAK3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAGtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO;IASpB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAI9C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM;IACnD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;IAEpC,QAAQ,CAAC,YAAY,IAAI,GAAG;CAC/B;AAED,qBAAa,MAAM;IACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;gBAET,QAAQ,CAAC,EAAE,MAAM;IAO7B,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAMpC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKpC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IASpC,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU;IAsB1C,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM;IAIvC,mBAAmB,IAAI,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI;CAQvD;AAED,qBAAa,MAAM;IACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE7B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IAEjC,OAAO,EAAE,MAAM,CAAC;gBAGZ,IAAI,EAAE,SAAS,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,UAAU,EACvB,UAAU,CAAC,EAAE,OAAO;IAUxB,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,QAAQ,IAAI,MAAM,CAErB;IAGD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAQ5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAOrC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU;IAuBvE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IASjC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU;IAOtD,SAAS,IAAI,SAAS;CAGzB"}
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Reader = exports.Writer = exports.Coder = void 0;
|
|
4
4
|
exports.checkResultErrors = checkResultErrors;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
const bytes_1 = require("@qevm/bytes");
|
|
6
|
+
const bignumber_1 = require("@qevm/bignumber");
|
|
7
|
+
const properties_1 = require("@qevm/properties");
|
|
8
|
+
const logger_1 = require("@qevm/logger");
|
|
9
|
+
const _version_1 = require("../_version");
|
|
10
|
+
const logger = new logger_1.Logger(_version_1.version);
|
|
11
11
|
function checkResultErrors(result) {
|
|
12
12
|
// Find the first error (if any)
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const errors = [];
|
|
14
|
+
const checkErrors = function (path, object) {
|
|
15
15
|
if (!Array.isArray(object)) {
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
|
-
for (
|
|
19
|
-
|
|
18
|
+
for (let key in object) {
|
|
19
|
+
const childPath = path.slice();
|
|
20
20
|
childPath.push(key);
|
|
21
21
|
try {
|
|
22
22
|
checkErrors(childPath, object[key]);
|
|
@@ -29,145 +29,136 @@ function checkResultErrors(result) {
|
|
|
29
29
|
checkErrors([], result);
|
|
30
30
|
return errors;
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
class Coder {
|
|
33
|
+
constructor(name, type, localName, dynamic) {
|
|
34
34
|
// @TODO: defineReadOnly these
|
|
35
35
|
this.name = name;
|
|
36
36
|
this.type = type;
|
|
37
37
|
this.localName = localName;
|
|
38
38
|
this.dynamic = dynamic;
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
_throwError(message, value) {
|
|
41
41
|
logger.throwArgumentError(message, this.localName, value);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
}());
|
|
42
|
+
}
|
|
43
|
+
}
|
|
45
44
|
exports.Coder = Coder;
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
class Writer {
|
|
46
|
+
constructor(wordSize) {
|
|
48
47
|
(0, properties_1.defineReadOnly)(this, "wordSize", wordSize || 32);
|
|
49
48
|
this._data = [];
|
|
50
49
|
this._dataLength = 0;
|
|
51
50
|
this._padding = new Uint8Array(wordSize);
|
|
52
51
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
Object.defineProperty(Writer.prototype, "length", {
|
|
61
|
-
get: function () { return this._dataLength; },
|
|
62
|
-
enumerable: false,
|
|
63
|
-
configurable: true
|
|
64
|
-
});
|
|
65
|
-
Writer.prototype._writeData = function (data) {
|
|
52
|
+
get data() {
|
|
53
|
+
return (0, bytes_1.hexConcat)(this._data);
|
|
54
|
+
}
|
|
55
|
+
get length() {
|
|
56
|
+
return this._dataLength;
|
|
57
|
+
}
|
|
58
|
+
_writeData(data) {
|
|
66
59
|
this._data.push(data);
|
|
67
60
|
this._dataLength += data.length;
|
|
68
61
|
return data.length;
|
|
69
|
-
}
|
|
70
|
-
|
|
62
|
+
}
|
|
63
|
+
appendWriter(writer) {
|
|
71
64
|
return this._writeData((0, bytes_1.concat)(writer._data));
|
|
72
|
-
}
|
|
65
|
+
}
|
|
73
66
|
// Arrayish items; padded on the right to wordSize
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
67
|
+
writeBytes(value) {
|
|
68
|
+
let bytes = (0, bytes_1.arrayify)(value);
|
|
69
|
+
const paddingOffset = bytes.length % this.wordSize;
|
|
77
70
|
if (paddingOffset) {
|
|
78
71
|
bytes = (0, bytes_1.concat)([bytes, this._padding.slice(paddingOffset)]);
|
|
79
72
|
}
|
|
80
73
|
return this._writeData(bytes);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
|
|
74
|
+
}
|
|
75
|
+
_getValue(value) {
|
|
76
|
+
let bytes = (0, bytes_1.arrayify)(bignumber_1.BigNumber.from(value));
|
|
84
77
|
if (bytes.length > this.wordSize) {
|
|
85
78
|
logger.throwError("value out-of-bounds", logger_1.Logger.errors.BUFFER_OVERRUN, {
|
|
86
79
|
length: this.wordSize,
|
|
87
|
-
offset: bytes.length
|
|
80
|
+
offset: bytes.length,
|
|
88
81
|
});
|
|
89
82
|
}
|
|
90
83
|
if (bytes.length % this.wordSize) {
|
|
91
|
-
bytes = (0, bytes_1.concat)([
|
|
84
|
+
bytes = (0, bytes_1.concat)([
|
|
85
|
+
this._padding.slice(bytes.length % this.wordSize),
|
|
86
|
+
bytes,
|
|
87
|
+
]);
|
|
92
88
|
}
|
|
93
89
|
return bytes;
|
|
94
|
-
}
|
|
90
|
+
}
|
|
95
91
|
// BigNumberish items; padded on the left to wordSize
|
|
96
|
-
|
|
92
|
+
writeValue(value) {
|
|
97
93
|
return this._writeData(this._getValue(value));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
var offset = this._data.length;
|
|
94
|
+
}
|
|
95
|
+
writeUpdatableValue() {
|
|
96
|
+
const offset = this._data.length;
|
|
102
97
|
this._data.push(this._padding);
|
|
103
98
|
this._dataLength += this.wordSize;
|
|
104
|
-
return
|
|
105
|
-
|
|
99
|
+
return (value) => {
|
|
100
|
+
this._data[offset] = this._getValue(value);
|
|
106
101
|
};
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
}());
|
|
102
|
+
}
|
|
103
|
+
}
|
|
110
104
|
exports.Writer = Writer;
|
|
111
|
-
|
|
112
|
-
|
|
105
|
+
class Reader {
|
|
106
|
+
constructor(data, wordSize, coerceFunc, allowLoose) {
|
|
113
107
|
(0, properties_1.defineReadOnly)(this, "_data", (0, bytes_1.arrayify)(data));
|
|
114
108
|
(0, properties_1.defineReadOnly)(this, "wordSize", wordSize || 32);
|
|
115
109
|
(0, properties_1.defineReadOnly)(this, "_coerceFunc", coerceFunc);
|
|
116
110
|
(0, properties_1.defineReadOnly)(this, "allowLoose", allowLoose);
|
|
117
111
|
this._offset = 0;
|
|
118
112
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
get: function () { return this._offset; },
|
|
126
|
-
enumerable: false,
|
|
127
|
-
configurable: true
|
|
128
|
-
});
|
|
113
|
+
get data() {
|
|
114
|
+
return (0, bytes_1.hexlify)(this._data);
|
|
115
|
+
}
|
|
116
|
+
get consumed() {
|
|
117
|
+
return this._offset;
|
|
118
|
+
}
|
|
129
119
|
// The default Coerce function
|
|
130
|
-
|
|
131
|
-
|
|
120
|
+
static coerce(name, value) {
|
|
121
|
+
let match = name.match("^u?int([0-9]+)$");
|
|
132
122
|
if (match && parseInt(match[1]) <= 48) {
|
|
133
123
|
value = value.toNumber();
|
|
134
124
|
}
|
|
135
125
|
return value;
|
|
136
|
-
}
|
|
137
|
-
|
|
126
|
+
}
|
|
127
|
+
coerce(name, value) {
|
|
138
128
|
if (this._coerceFunc) {
|
|
139
129
|
return this._coerceFunc(name, value);
|
|
140
130
|
}
|
|
141
131
|
return Reader.coerce(name, value);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
|
|
132
|
+
}
|
|
133
|
+
_peekBytes(offset, length, loose) {
|
|
134
|
+
let alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;
|
|
145
135
|
if (this._offset + alignedLength > this._data.length) {
|
|
146
|
-
if (this.allowLoose &&
|
|
136
|
+
if (this.allowLoose &&
|
|
137
|
+
loose &&
|
|
138
|
+
this._offset + length <= this._data.length) {
|
|
147
139
|
alignedLength = length;
|
|
148
140
|
}
|
|
149
141
|
else {
|
|
150
142
|
logger.throwError("data out-of-bounds", logger_1.Logger.errors.BUFFER_OVERRUN, {
|
|
151
143
|
length: this._data.length,
|
|
152
|
-
offset: this._offset + alignedLength
|
|
144
|
+
offset: this._offset + alignedLength,
|
|
153
145
|
});
|
|
154
146
|
}
|
|
155
147
|
}
|
|
156
148
|
return this._data.slice(this._offset, this._offset + alignedLength);
|
|
157
|
-
}
|
|
158
|
-
|
|
149
|
+
}
|
|
150
|
+
subReader(offset) {
|
|
159
151
|
return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
|
|
152
|
+
}
|
|
153
|
+
readBytes(length, loose) {
|
|
154
|
+
let bytes = this._peekBytes(0, length, !!loose);
|
|
163
155
|
this._offset += bytes.length;
|
|
164
156
|
// @TODO: Make sure the length..end bytes are all 0?
|
|
165
157
|
return bytes.slice(0, length);
|
|
166
|
-
}
|
|
167
|
-
|
|
158
|
+
}
|
|
159
|
+
readValue() {
|
|
168
160
|
return bignumber_1.BigNumber.from(this.readBytes(this.wordSize));
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
}());
|
|
161
|
+
}
|
|
162
|
+
}
|
|
172
163
|
exports.Reader = Reader;
|
|
173
164
|
//# sourceMappingURL=abstract-coder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-coder.js","sourceRoot":"","sources":["../../src.ts/coders/abstract-coder.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAcb,
|
|
1
|
+
{"version":3,"file":"abstract-coder.js","sourceRoot":"","sources":["../../src.ts/coders/abstract-coder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;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"}
|
package/lib/coders/address.js
CHANGED
|
@@ -1,33 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.AddressCoder = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return _super.call(this, "address", "address", localName, false) || this;
|
|
4
|
+
const address_1 = require("@qevm/address");
|
|
5
|
+
const bytes_1 = require("@qevm/bytes");
|
|
6
|
+
const abstract_coder_1 = require("./abstract-coder");
|
|
7
|
+
class AddressCoder extends abstract_coder_1.Coder {
|
|
8
|
+
constructor(localName) {
|
|
9
|
+
super("address", "address", localName, false);
|
|
26
10
|
}
|
|
27
|
-
|
|
28
|
-
return "
|
|
29
|
-
}
|
|
30
|
-
|
|
11
|
+
defaultValue() {
|
|
12
|
+
return "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
13
|
+
}
|
|
14
|
+
encode(writer, value) {
|
|
31
15
|
try {
|
|
32
16
|
value = (0, address_1.getAddress)(value);
|
|
33
17
|
}
|
|
@@ -35,11 +19,10 @@ var AddressCoder = /** @class */ (function (_super) {
|
|
|
35
19
|
this._throwError(error.message, value);
|
|
36
20
|
}
|
|
37
21
|
return writer.writeValue(value);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return (0, address_1.getAddress)((0, bytes_1.hexZeroPad)(reader.readValue().toHexString(),
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
}(abstract_coder_1.Coder));
|
|
22
|
+
}
|
|
23
|
+
decode(reader) {
|
|
24
|
+
return (0, address_1.getAddress)((0, bytes_1.hexZeroPad)(reader.readValue().toHexString(), 32));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
44
27
|
exports.AddressCoder = AddressCoder;
|
|
45
28
|
//# sourceMappingURL=address.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src.ts/coders/address.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC
|
|
1
|
+
{"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"}
|