@qevm/abi 5.7.1 → 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 +12 -7
- package/lib/abi-coder.js.map +1 -1
- package/lib/coders/abstract-coder.d.ts.map +1 -1
- package/lib/coders/abstract-coder.js +20 -9
- package/lib/coders/abstract-coder.js.map +1 -1
- package/lib/coders/address.d.ts.map +1 -1
- package/lib/coders/address.js +2 -2
- package/lib/coders/address.js.map +1 -1
- package/lib/coders/array.d.ts.map +1 -1
- package/lib/coders/array.js +17 -11
- package/lib/coders/array.js.map +1 -1
- package/lib/coders/boolean.d.ts.map +1 -1
- package/lib/coders/boolean.js.map +1 -1
- package/lib/coders/bytes.js.map +1 -1
- package/lib/coders/fixed-bytes.d.ts.map +1 -1
- package/lib/coders/fixed-bytes.js +1 -1
- 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.map +1 -1
- package/lib/coders/number.js +1 -1
- package/lib/coders/number.js.map +1 -1
- package/lib/coders/string.d.ts.map +1 -1
- package/lib/coders/string.js +1 -1
- package/lib/coders/string.js.map +1 -1
- package/lib/coders/tuple.d.ts.map +1 -1
- package/lib/coders/tuple.js +1 -1
- package/lib/coders/tuple.js.map +1 -1
- package/lib/fragments.d.ts.map +1 -1
- package/lib/fragments.js +127 -65
- 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.map +1 -1
- package/lib/interface.d.ts +1 -1
- package/lib/interface.d.ts.map +1 -1
- package/lib/interface.js +84 -44
- 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 +1 -2
- 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/lib/fragments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragments.js","sourceRoot":"","sources":["../src.ts/fragments.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fragments.js","sourceRoot":"","sources":["../src.ts/fragments.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ConstructorFragment, ErrorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, JsonFragment, JsonFragmentType, ParamType } from "./fragments";
|
|
2
2
|
import { AbiCoder, CoerceFunc, defaultAbiCoder } from "./abi-coder";
|
|
3
3
|
import { checkResultErrors, Indexed, Interface, LogDescription, Result, TransactionDescription } from "./interface";
|
|
4
|
-
export { ConstructorFragment, ErrorFragment, EventFragment, Fragment, FunctionFragment, ParamType, FormatTypes, AbiCoder, defaultAbiCoder, Interface, Indexed, CoerceFunc, JsonFragment, JsonFragmentType, Result, checkResultErrors, LogDescription, TransactionDescription };
|
|
4
|
+
export { ConstructorFragment, ErrorFragment, EventFragment, Fragment, FunctionFragment, ParamType, FormatTypes, AbiCoder, defaultAbiCoder, Interface, Indexed, CoerceFunc, JsonFragment, JsonFragmentType, Result, checkResultErrors, LogDescription, TransactionDescription, };
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"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"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,
|
|
1
|
+
{"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"}
|
package/lib/interface.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BigNumber, BigNumberish } from "@qevm/bignumber";
|
|
2
2
|
import { BytesLike } from "@qevm/bytes";
|
|
3
|
-
import { Description } from "@
|
|
3
|
+
import { Description } from "@qevm/properties";
|
|
4
4
|
import { AbiCoder } from "./abi-coder";
|
|
5
5
|
import { checkResultErrors, Result } from "./coders/abstract-coder";
|
|
6
6
|
import { ConstructorFragment, ErrorFragment, EventFragment, Fragment, FunctionFragment, JsonFragment, ParamType } from "./fragments";
|
package/lib/interface.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src.ts/interface.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src.ts/interface.ts"],"names":[],"mappings":"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"}
|
package/lib/interface.js
CHANGED
|
@@ -5,13 +5,13 @@ const address_1 = require("@qevm/address");
|
|
|
5
5
|
const bignumber_1 = require("@qevm/bignumber");
|
|
6
6
|
const bytes_1 = require("@qevm/bytes");
|
|
7
7
|
const hash_1 = require("@qevm/hash");
|
|
8
|
-
const keccak256_1 = require("@
|
|
9
|
-
const properties_1 = require("@
|
|
8
|
+
const keccak256_1 = require("@qevm/keccak256");
|
|
9
|
+
const properties_1 = require("@qevm/properties");
|
|
10
10
|
const abi_coder_1 = require("./abi-coder");
|
|
11
11
|
const abstract_coder_1 = require("./coders/abstract-coder");
|
|
12
12
|
Object.defineProperty(exports, "checkResultErrors", { enumerable: true, get: function () { return abstract_coder_1.checkResultErrors; } });
|
|
13
13
|
const fragments_1 = require("./fragments");
|
|
14
|
-
const logger_1 = require("@
|
|
14
|
+
const logger_1 = require("@qevm/logger");
|
|
15
15
|
const _version_1 = require("./_version");
|
|
16
16
|
const logger = new logger_1.Logger(_version_1.version);
|
|
17
17
|
class LogDescription extends properties_1.Description {
|
|
@@ -30,8 +30,17 @@ class Indexed extends properties_1.Description {
|
|
|
30
30
|
}
|
|
31
31
|
exports.Indexed = Indexed;
|
|
32
32
|
const BuiltinErrors = {
|
|
33
|
-
"0x08c379a0": {
|
|
34
|
-
|
|
33
|
+
"0x08c379a0": {
|
|
34
|
+
signature: "Error(string)",
|
|
35
|
+
name: "Error",
|
|
36
|
+
inputs: ["string"],
|
|
37
|
+
reason: true,
|
|
38
|
+
},
|
|
39
|
+
"0x4e487b71": {
|
|
40
|
+
signature: "Panic(uint256)",
|
|
41
|
+
name: "Panic",
|
|
42
|
+
inputs: ["uint256"],
|
|
43
|
+
},
|
|
35
44
|
};
|
|
36
45
|
function wrapAccessError(property, error) {
|
|
37
46
|
const wrap = new Error(`deferred error during ABI decoding triggered accessing ${property}`);
|
|
@@ -54,15 +63,17 @@ function checkNames(fragment: Fragment, type: "input" | "output", params: Array<
|
|
|
54
63
|
class Interface {
|
|
55
64
|
constructor(fragments) {
|
|
56
65
|
let abi = [];
|
|
57
|
-
if (typeof
|
|
66
|
+
if (typeof fragments === "string") {
|
|
58
67
|
abi = JSON.parse(fragments);
|
|
59
68
|
}
|
|
60
69
|
else {
|
|
61
70
|
abi = fragments;
|
|
62
71
|
}
|
|
63
|
-
(0, properties_1.defineReadOnly)(this, "fragments", abi
|
|
72
|
+
(0, properties_1.defineReadOnly)(this, "fragments", abi
|
|
73
|
+
.map((fragment) => {
|
|
64
74
|
return fragments_1.Fragment.from(fragment);
|
|
65
|
-
})
|
|
75
|
+
})
|
|
76
|
+
.filter((fragment) => fragment != null));
|
|
66
77
|
(0, properties_1.defineReadOnly)(this, "_abiCoder", (0, properties_1.getStatic)(new.target, "getAbiCoder")());
|
|
67
78
|
(0, properties_1.defineReadOnly)(this, "functions", {});
|
|
68
79
|
(0, properties_1.defineReadOnly)(this, "errors", {});
|
|
@@ -106,7 +117,7 @@ class Interface {
|
|
|
106
117
|
if (!this.deploy) {
|
|
107
118
|
(0, properties_1.defineReadOnly)(this, "deploy", fragments_1.ConstructorFragment.from({
|
|
108
119
|
payable: false,
|
|
109
|
-
type: "constructor"
|
|
120
|
+
type: "constructor",
|
|
110
121
|
}));
|
|
111
122
|
}
|
|
112
123
|
(0, properties_1.defineReadOnly)(this, "_isInterface", true);
|
|
@@ -151,7 +162,7 @@ class Interface {
|
|
|
151
162
|
// It is a bare name, look up the function (will return null if ambiguous)
|
|
152
163
|
if (nameOrSignatureOrSighash.indexOf("(") === -1) {
|
|
153
164
|
const name = nameOrSignatureOrSighash.trim();
|
|
154
|
-
const matching = Object.keys(this.functions).filter((f) =>
|
|
165
|
+
const matching = Object.keys(this.functions).filter((f) => f.split("(" /* fix:) */)[0] === name);
|
|
155
166
|
if (matching.length === 0) {
|
|
156
167
|
logger.throwArgumentError("no matching function", "name", name);
|
|
157
168
|
}
|
|
@@ -181,7 +192,7 @@ class Interface {
|
|
|
181
192
|
// It is a bare name, look up the function (will return null if ambiguous)
|
|
182
193
|
if (nameOrSignatureOrTopic.indexOf("(") === -1) {
|
|
183
194
|
const name = nameOrSignatureOrTopic.trim();
|
|
184
|
-
const matching = Object.keys(this.events).filter((f) =>
|
|
195
|
+
const matching = Object.keys(this.events).filter((f) => f.split("(" /* fix:) */)[0] === name);
|
|
185
196
|
if (matching.length === 0) {
|
|
186
197
|
logger.throwArgumentError("no matching event", "name", name);
|
|
187
198
|
}
|
|
@@ -212,7 +223,7 @@ class Interface {
|
|
|
212
223
|
// It is a bare name, look up the function (will return null if ambiguous)
|
|
213
224
|
if (nameOrSignatureOrSighash.indexOf("(") === -1) {
|
|
214
225
|
const name = nameOrSignatureOrSighash.trim();
|
|
215
|
-
const matching = Object.keys(this.errors).filter((f) =>
|
|
226
|
+
const matching = Object.keys(this.errors).filter((f) => f.split("(" /* fix:) */)[0] === name);
|
|
216
227
|
if (matching.length === 0) {
|
|
217
228
|
logger.throwArgumentError("no matching error", "name", name);
|
|
218
229
|
}
|
|
@@ -230,7 +241,7 @@ class Interface {
|
|
|
230
241
|
}
|
|
231
242
|
// Get the sighash (the bytes4 selector) used by Solidity to identify a function
|
|
232
243
|
getSighash(fragment) {
|
|
233
|
-
if (typeof
|
|
244
|
+
if (typeof fragment === "string") {
|
|
234
245
|
try {
|
|
235
246
|
fragment = this.getFunction(fragment);
|
|
236
247
|
}
|
|
@@ -247,7 +258,7 @@ class Interface {
|
|
|
247
258
|
}
|
|
248
259
|
// Get the topic (the bytes32 hash) used by Solidity to identify an event
|
|
249
260
|
getEventTopic(eventFragment) {
|
|
250
|
-
if (typeof
|
|
261
|
+
if (typeof eventFragment === "string") {
|
|
251
262
|
eventFragment = this.getEvent(eventFragment);
|
|
252
263
|
}
|
|
253
264
|
return (0, properties_1.getStatic)(this.constructor, "getEventTopic")(eventFragment);
|
|
@@ -262,7 +273,7 @@ class Interface {
|
|
|
262
273
|
return this._encodeParams(this.deploy.inputs, values || []);
|
|
263
274
|
}
|
|
264
275
|
decodeErrorResult(fragment, data) {
|
|
265
|
-
if (typeof
|
|
276
|
+
if (typeof fragment === "string") {
|
|
266
277
|
fragment = this.getError(fragment);
|
|
267
278
|
}
|
|
268
279
|
const bytes = (0, bytes_1.arrayify)(data);
|
|
@@ -272,17 +283,17 @@ class Interface {
|
|
|
272
283
|
return this._decodeParams(fragment.inputs, bytes.slice(4));
|
|
273
284
|
}
|
|
274
285
|
encodeErrorResult(fragment, values) {
|
|
275
|
-
if (typeof
|
|
286
|
+
if (typeof fragment === "string") {
|
|
276
287
|
fragment = this.getError(fragment);
|
|
277
288
|
}
|
|
278
289
|
return (0, bytes_1.hexlify)((0, bytes_1.concat)([
|
|
279
290
|
this.getSighash(fragment),
|
|
280
|
-
this._encodeParams(fragment.inputs, values || [])
|
|
291
|
+
this._encodeParams(fragment.inputs, values || []),
|
|
281
292
|
]));
|
|
282
293
|
}
|
|
283
294
|
// Decode the data for a function call (e.g. tx.data)
|
|
284
295
|
decodeFunctionData(functionFragment, data) {
|
|
285
|
-
if (typeof
|
|
296
|
+
if (typeof functionFragment === "string") {
|
|
286
297
|
functionFragment = this.getFunction(functionFragment);
|
|
287
298
|
}
|
|
288
299
|
const bytes = (0, bytes_1.arrayify)(data);
|
|
@@ -293,17 +304,17 @@ class Interface {
|
|
|
293
304
|
}
|
|
294
305
|
// Encode the data for a function call (e.g. tx.data)
|
|
295
306
|
encodeFunctionData(functionFragment, values) {
|
|
296
|
-
if (typeof
|
|
307
|
+
if (typeof functionFragment === "string") {
|
|
297
308
|
functionFragment = this.getFunction(functionFragment);
|
|
298
309
|
}
|
|
299
310
|
return (0, bytes_1.hexlify)((0, bytes_1.concat)([
|
|
300
311
|
this.getSighash(functionFragment),
|
|
301
|
-
this._encodeParams(functionFragment.inputs, values || [])
|
|
312
|
+
this._encodeParams(functionFragment.inputs, values || []),
|
|
302
313
|
]));
|
|
303
314
|
}
|
|
304
315
|
// Decode the result from a function call (e.g. from eth_call)
|
|
305
316
|
decodeFunctionResult(functionFragment, data) {
|
|
306
|
-
if (typeof
|
|
317
|
+
if (typeof functionFragment === "string") {
|
|
307
318
|
functionFragment = this.getFunction(functionFragment);
|
|
308
319
|
}
|
|
309
320
|
let bytes = (0, bytes_1.arrayify)(data);
|
|
@@ -350,25 +361,29 @@ class Interface {
|
|
|
350
361
|
}
|
|
351
362
|
return logger.throwError("call revert exception" + message, logger_1.Logger.errors.CALL_EXCEPTION, {
|
|
352
363
|
method: functionFragment.format(),
|
|
353
|
-
data: (0, bytes_1.hexlify)(data),
|
|
364
|
+
data: (0, bytes_1.hexlify)(data),
|
|
365
|
+
errorArgs,
|
|
366
|
+
errorName,
|
|
367
|
+
errorSignature,
|
|
368
|
+
reason,
|
|
354
369
|
});
|
|
355
370
|
}
|
|
356
371
|
// Encode the result for a function call (e.g. for eth_call)
|
|
357
372
|
encodeFunctionResult(functionFragment, values) {
|
|
358
|
-
if (typeof
|
|
373
|
+
if (typeof functionFragment === "string") {
|
|
359
374
|
functionFragment = this.getFunction(functionFragment);
|
|
360
375
|
}
|
|
361
376
|
return (0, bytes_1.hexlify)(this._abiCoder.encode(functionFragment.outputs, values || []));
|
|
362
377
|
}
|
|
363
378
|
// Create the filter for the event with search criteria (e.g. for eth_filterLog)
|
|
364
379
|
encodeFilterTopics(eventFragment, values) {
|
|
365
|
-
if (typeof
|
|
380
|
+
if (typeof eventFragment === "string") {
|
|
366
381
|
eventFragment = this.getEvent(eventFragment);
|
|
367
382
|
}
|
|
368
383
|
if (values.length > eventFragment.inputs.length) {
|
|
369
384
|
logger.throwError("too many arguments for " + eventFragment.format(), logger_1.Logger.errors.UNEXPECTED_ARGUMENT, {
|
|
370
385
|
argument: "values",
|
|
371
|
-
value: values
|
|
386
|
+
value: values,
|
|
372
387
|
});
|
|
373
388
|
}
|
|
374
389
|
let topics = [];
|
|
@@ -382,8 +397,8 @@ class Interface {
|
|
|
382
397
|
else if (param.type === "bytes") {
|
|
383
398
|
return (0, keccak256_1.keccak256)((0, bytes_1.hexlify)(value));
|
|
384
399
|
}
|
|
385
|
-
if (param.type === "bool" && typeof
|
|
386
|
-
value =
|
|
400
|
+
if (param.type === "bool" && typeof value === "boolean") {
|
|
401
|
+
value = value ? "0x01" : "0x00";
|
|
387
402
|
}
|
|
388
403
|
if (param.type.match(/^u?int/)) {
|
|
389
404
|
value = bignumber_1.BigNumber.from(value).toHexString();
|
|
@@ -398,15 +413,16 @@ class Interface {
|
|
|
398
413
|
let param = eventFragment.inputs[index];
|
|
399
414
|
if (!param.indexed) {
|
|
400
415
|
if (value != null) {
|
|
401
|
-
logger.throwArgumentError("cannot filter non-indexed parameters; must be null",
|
|
416
|
+
logger.throwArgumentError("cannot filter non-indexed parameters; must be null", "contract." + param.name, value);
|
|
402
417
|
}
|
|
403
418
|
return;
|
|
404
419
|
}
|
|
405
420
|
if (value == null) {
|
|
406
421
|
topics.push(null);
|
|
407
422
|
}
|
|
408
|
-
else if (param.baseType === "array" ||
|
|
409
|
-
|
|
423
|
+
else if (param.baseType === "array" ||
|
|
424
|
+
param.baseType === "tuple") {
|
|
425
|
+
logger.throwArgumentError("filtering with tuples or arrays not supported", "contract." + param.name, value);
|
|
410
426
|
}
|
|
411
427
|
else if (Array.isArray(value)) {
|
|
412
428
|
topics.push(value.map((value) => encodeTopic(param, value)));
|
|
@@ -422,7 +438,7 @@ class Interface {
|
|
|
422
438
|
return topics;
|
|
423
439
|
}
|
|
424
440
|
encodeEventLog(eventFragment, values) {
|
|
425
|
-
if (typeof
|
|
441
|
+
if (typeof eventFragment === "string") {
|
|
426
442
|
eventFragment = this.getEvent(eventFragment);
|
|
427
443
|
}
|
|
428
444
|
const topics = [];
|
|
@@ -443,7 +459,8 @@ class Interface {
|
|
|
443
459
|
else if (param.type === "bytes") {
|
|
444
460
|
topics.push((0, keccak256_1.keccak256)(value));
|
|
445
461
|
}
|
|
446
|
-
else if (param.baseType === "tuple" ||
|
|
462
|
+
else if (param.baseType === "tuple" ||
|
|
463
|
+
param.baseType === "array") {
|
|
447
464
|
// @TODO
|
|
448
465
|
throw new Error("not implemented");
|
|
449
466
|
}
|
|
@@ -458,18 +475,23 @@ class Interface {
|
|
|
458
475
|
});
|
|
459
476
|
return {
|
|
460
477
|
data: this._abiCoder.encode(dataTypes, dataValues),
|
|
461
|
-
topics: topics
|
|
478
|
+
topics: topics,
|
|
462
479
|
};
|
|
463
480
|
}
|
|
464
481
|
// Decode a filter for the event and the search criteria
|
|
465
482
|
decodeEventLog(eventFragment, data, topics) {
|
|
466
|
-
if (typeof
|
|
483
|
+
if (typeof eventFragment === "string") {
|
|
467
484
|
eventFragment = this.getEvent(eventFragment);
|
|
468
485
|
}
|
|
469
486
|
if (topics != null && !eventFragment.anonymous) {
|
|
470
487
|
let topicHash = this.getEventTopic(eventFragment);
|
|
471
|
-
if (!(0, bytes_1.isHexString)(topics[0], 32) ||
|
|
472
|
-
|
|
488
|
+
if (!(0, bytes_1.isHexString)(topics[0], 32) ||
|
|
489
|
+
topics[0].toLowerCase() !== topicHash) {
|
|
490
|
+
logger.throwError("fragment/topic mismatch", logger_1.Logger.errors.INVALID_ARGUMENT, {
|
|
491
|
+
argument: "topics[0]",
|
|
492
|
+
expected: topicHash,
|
|
493
|
+
value: topics[0],
|
|
494
|
+
});
|
|
473
495
|
}
|
|
474
496
|
topics = topics.slice(1);
|
|
475
497
|
}
|
|
@@ -478,8 +500,14 @@ class Interface {
|
|
|
478
500
|
let dynamic = [];
|
|
479
501
|
eventFragment.inputs.forEach((param, index) => {
|
|
480
502
|
if (param.indexed) {
|
|
481
|
-
if (param.type === "string" ||
|
|
482
|
-
|
|
503
|
+
if (param.type === "string" ||
|
|
504
|
+
param.type === "bytes" ||
|
|
505
|
+
param.baseType === "tuple" ||
|
|
506
|
+
param.baseType === "array") {
|
|
507
|
+
indexed.push(fragments_1.ParamType.fromObject({
|
|
508
|
+
type: "bytes32",
|
|
509
|
+
name: param.name,
|
|
510
|
+
}));
|
|
483
511
|
dynamic.push(true);
|
|
484
512
|
}
|
|
485
513
|
else {
|
|
@@ -492,17 +520,25 @@ class Interface {
|
|
|
492
520
|
dynamic.push(false);
|
|
493
521
|
}
|
|
494
522
|
});
|
|
495
|
-
let resultIndexed =
|
|
523
|
+
let resultIndexed = topics != null
|
|
524
|
+
? this._abiCoder.decode(indexed, (0, bytes_1.concat)(topics))
|
|
525
|
+
: null;
|
|
496
526
|
let resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true);
|
|
497
527
|
let result = [];
|
|
498
528
|
let nonIndexedIndex = 0, indexedIndex = 0;
|
|
499
529
|
eventFragment.inputs.forEach((param, index) => {
|
|
500
530
|
if (param.indexed) {
|
|
501
531
|
if (resultIndexed == null) {
|
|
502
|
-
result[index] = new Indexed({
|
|
532
|
+
result[index] = new Indexed({
|
|
533
|
+
_isIndexed: true,
|
|
534
|
+
hash: null,
|
|
535
|
+
});
|
|
503
536
|
}
|
|
504
537
|
else if (dynamic[index]) {
|
|
505
|
-
result[index] = new Indexed({
|
|
538
|
+
result[index] = new Indexed({
|
|
539
|
+
_isIndexed: true,
|
|
540
|
+
hash: resultIndexed[indexedIndex++],
|
|
541
|
+
});
|
|
506
542
|
}
|
|
507
543
|
else {
|
|
508
544
|
try {
|
|
@@ -528,7 +564,9 @@ class Interface {
|
|
|
528
564
|
if (value instanceof Error) {
|
|
529
565
|
Object.defineProperty(result, param.name, {
|
|
530
566
|
enumerable: true,
|
|
531
|
-
get: () => {
|
|
567
|
+
get: () => {
|
|
568
|
+
throw wrapAccessError(`property ${JSON.stringify(param.name)}`, value);
|
|
569
|
+
},
|
|
532
570
|
});
|
|
533
571
|
}
|
|
534
572
|
else {
|
|
@@ -542,7 +580,9 @@ class Interface {
|
|
|
542
580
|
if (value instanceof Error) {
|
|
543
581
|
Object.defineProperty(result, i, {
|
|
544
582
|
enumerable: true,
|
|
545
|
-
get: () => {
|
|
583
|
+
get: () => {
|
|
584
|
+
throw wrapAccessError(`index ${i}`, value);
|
|
585
|
+
},
|
|
546
586
|
});
|
|
547
587
|
}
|
|
548
588
|
}
|
|
@@ -581,7 +621,7 @@ class Interface {
|
|
|
581
621
|
name: fragment.name,
|
|
582
622
|
signature: fragment.format(),
|
|
583
623
|
topic: this.getEventTopic(fragment),
|
|
584
|
-
args: this.decodeEventLog(fragment, log.data, log.topics)
|
|
624
|
+
args: this.decodeEventLog(fragment, log.data, log.topics),
|
|
585
625
|
});
|
|
586
626
|
}
|
|
587
627
|
parseError(data) {
|