@capxul/cli 4.20.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +107 -0
- package/dist/esm-DUNJOL6b.mjs +4092 -0
- package/dist/esm-DUNJOL6b.mjs.map +1 -0
- package/dist/lib-BOge5QZP.mjs +2154 -0
- package/dist/lib-BOge5QZP.mjs.map +1 -0
- package/dist/lib-C4fpnzyy.mjs +6991 -0
- package/dist/lib-C4fpnzyy.mjs.map +1 -0
- package/dist/lib-C8ENT9j6.mjs +1764 -0
- package/dist/lib-C8ENT9j6.mjs.map +1 -0
- package/dist/lib-DH_xJGSE.mjs +3642 -0
- package/dist/lib-DH_xJGSE.mjs.map +1 -0
- package/dist/lib-DVGoRCJN.mjs +12226 -0
- package/dist/lib-DVGoRCJN.mjs.map +1 -0
- package/dist/main.mjs +49748 -0
- package/dist/main.mjs.map +1 -0
- package/dist/secp256k1-Cc9JhcTQ.mjs +2219 -0
- package/dist/secp256k1-Cc9JhcTQ.mjs.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,2154 @@
|
|
|
1
|
+
import { _ as __commonJSMin, n as require_lib$2, r as require_lib$1, t as require_lib$3 } from "./main.mjs";
|
|
2
|
+
import { a as require_lib$4, i as require_lib$5, n as require_lib$6, t as require_lib$7 } from "./lib-DH_xJGSE.mjs";
|
|
3
|
+
import { r as require_lib$8, t as require_lib$9 } from "./lib-C8ENT9j6.mjs";
|
|
4
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/_version.js
|
|
5
|
+
var require__version = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.version = void 0;
|
|
8
|
+
exports.version = "abi/5.8.0";
|
|
9
|
+
}));
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/fragments.js
|
|
12
|
+
var require_fragments = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
13
|
+
var __extends = exports && exports.__extends || (function() {
|
|
14
|
+
var extendStatics = function(d, b) {
|
|
15
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
16
|
+
d.__proto__ = b;
|
|
17
|
+
} || function(d, b) {
|
|
18
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
19
|
+
};
|
|
20
|
+
return extendStatics(d, b);
|
|
21
|
+
};
|
|
22
|
+
return function(d, b) {
|
|
23
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
24
|
+
extendStatics(d, b);
|
|
25
|
+
function __() {
|
|
26
|
+
this.constructor = d;
|
|
27
|
+
}
|
|
28
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
29
|
+
};
|
|
30
|
+
})();
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
exports.ErrorFragment = exports.FunctionFragment = exports.ConstructorFragment = exports.EventFragment = exports.Fragment = exports.ParamType = exports.FormatTypes = void 0;
|
|
33
|
+
var bignumber_1 = require_lib$4();
|
|
34
|
+
var properties_1 = require_lib$5();
|
|
35
|
+
var logger_1 = require_lib$1();
|
|
36
|
+
var _version_1 = require__version();
|
|
37
|
+
var logger = new logger_1.Logger(_version_1.version);
|
|
38
|
+
var _constructorGuard = {};
|
|
39
|
+
var ModifiersBytes = {
|
|
40
|
+
calldata: true,
|
|
41
|
+
memory: true,
|
|
42
|
+
storage: true
|
|
43
|
+
};
|
|
44
|
+
var ModifiersNest = {
|
|
45
|
+
calldata: true,
|
|
46
|
+
memory: true
|
|
47
|
+
};
|
|
48
|
+
function checkModifier(type, name) {
|
|
49
|
+
if (type === "bytes" || type === "string") {
|
|
50
|
+
if (ModifiersBytes[name]) return true;
|
|
51
|
+
} else if (type === "address") {
|
|
52
|
+
if (name === "payable") return true;
|
|
53
|
+
} else if (type.indexOf("[") >= 0 || type === "tuple") {
|
|
54
|
+
if (ModifiersNest[name]) return true;
|
|
55
|
+
}
|
|
56
|
+
if (ModifiersBytes[name] || name === "payable") logger.throwArgumentError("invalid modifier", "name", name);
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
function parseParamType(param, allowIndexed) {
|
|
60
|
+
var originalParam = param;
|
|
61
|
+
function throwError(i) {
|
|
62
|
+
logger.throwArgumentError("unexpected character at position " + i, "param", param);
|
|
63
|
+
}
|
|
64
|
+
param = param.replace(/\s/g, " ");
|
|
65
|
+
function newNode(parent) {
|
|
66
|
+
var node = {
|
|
67
|
+
type: "",
|
|
68
|
+
name: "",
|
|
69
|
+
parent,
|
|
70
|
+
state: { allowType: true }
|
|
71
|
+
};
|
|
72
|
+
if (allowIndexed) node.indexed = false;
|
|
73
|
+
return node;
|
|
74
|
+
}
|
|
75
|
+
var parent = {
|
|
76
|
+
type: "",
|
|
77
|
+
name: "",
|
|
78
|
+
state: { allowType: true }
|
|
79
|
+
};
|
|
80
|
+
var node = parent;
|
|
81
|
+
for (var i = 0; i < param.length; i++) {
|
|
82
|
+
var c = param[i];
|
|
83
|
+
switch (c) {
|
|
84
|
+
case "(":
|
|
85
|
+
if (node.state.allowType && node.type === "") node.type = "tuple";
|
|
86
|
+
else if (!node.state.allowParams) throwError(i);
|
|
87
|
+
node.state.allowType = false;
|
|
88
|
+
node.type = verifyType(node.type);
|
|
89
|
+
node.components = [newNode(node)];
|
|
90
|
+
node = node.components[0];
|
|
91
|
+
break;
|
|
92
|
+
case ")":
|
|
93
|
+
delete node.state;
|
|
94
|
+
if (node.name === "indexed") {
|
|
95
|
+
if (!allowIndexed) throwError(i);
|
|
96
|
+
node.indexed = true;
|
|
97
|
+
node.name = "";
|
|
98
|
+
}
|
|
99
|
+
if (checkModifier(node.type, node.name)) node.name = "";
|
|
100
|
+
node.type = verifyType(node.type);
|
|
101
|
+
var child = node;
|
|
102
|
+
node = node.parent;
|
|
103
|
+
if (!node) throwError(i);
|
|
104
|
+
delete child.parent;
|
|
105
|
+
node.state.allowParams = false;
|
|
106
|
+
node.state.allowName = true;
|
|
107
|
+
node.state.allowArray = true;
|
|
108
|
+
break;
|
|
109
|
+
case ",":
|
|
110
|
+
delete node.state;
|
|
111
|
+
if (node.name === "indexed") {
|
|
112
|
+
if (!allowIndexed) throwError(i);
|
|
113
|
+
node.indexed = true;
|
|
114
|
+
node.name = "";
|
|
115
|
+
}
|
|
116
|
+
if (checkModifier(node.type, node.name)) node.name = "";
|
|
117
|
+
node.type = verifyType(node.type);
|
|
118
|
+
var sibling = newNode(node.parent);
|
|
119
|
+
node.parent.components.push(sibling);
|
|
120
|
+
delete node.parent;
|
|
121
|
+
node = sibling;
|
|
122
|
+
break;
|
|
123
|
+
case " ":
|
|
124
|
+
if (node.state.allowType) {
|
|
125
|
+
if (node.type !== "") {
|
|
126
|
+
node.type = verifyType(node.type);
|
|
127
|
+
delete node.state.allowType;
|
|
128
|
+
node.state.allowName = true;
|
|
129
|
+
node.state.allowParams = true;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (node.state.allowName) {
|
|
133
|
+
if (node.name !== "") {
|
|
134
|
+
if (node.name === "indexed") {
|
|
135
|
+
if (!allowIndexed) throwError(i);
|
|
136
|
+
if (node.indexed) throwError(i);
|
|
137
|
+
node.indexed = true;
|
|
138
|
+
node.name = "";
|
|
139
|
+
} else if (checkModifier(node.type, node.name)) node.name = "";
|
|
140
|
+
else node.state.allowName = false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
break;
|
|
144
|
+
case "[":
|
|
145
|
+
if (!node.state.allowArray) throwError(i);
|
|
146
|
+
node.type += c;
|
|
147
|
+
node.state.allowArray = false;
|
|
148
|
+
node.state.allowName = false;
|
|
149
|
+
node.state.readArray = true;
|
|
150
|
+
break;
|
|
151
|
+
case "]":
|
|
152
|
+
if (!node.state.readArray) throwError(i);
|
|
153
|
+
node.type += c;
|
|
154
|
+
node.state.readArray = false;
|
|
155
|
+
node.state.allowArray = true;
|
|
156
|
+
node.state.allowName = true;
|
|
157
|
+
break;
|
|
158
|
+
default: if (node.state.allowType) {
|
|
159
|
+
node.type += c;
|
|
160
|
+
node.state.allowParams = true;
|
|
161
|
+
node.state.allowArray = true;
|
|
162
|
+
} else if (node.state.allowName) {
|
|
163
|
+
node.name += c;
|
|
164
|
+
delete node.state.allowArray;
|
|
165
|
+
} else if (node.state.readArray) node.type += c;
|
|
166
|
+
else throwError(i);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
if (node.parent) logger.throwArgumentError("unexpected eof", "param", param);
|
|
170
|
+
delete parent.state;
|
|
171
|
+
if (node.name === "indexed") {
|
|
172
|
+
if (!allowIndexed) throwError(originalParam.length - 7);
|
|
173
|
+
if (node.indexed) throwError(originalParam.length - 7);
|
|
174
|
+
node.indexed = true;
|
|
175
|
+
node.name = "";
|
|
176
|
+
} else if (checkModifier(node.type, node.name)) node.name = "";
|
|
177
|
+
parent.type = verifyType(parent.type);
|
|
178
|
+
return parent;
|
|
179
|
+
}
|
|
180
|
+
function populate(object, params) {
|
|
181
|
+
for (var key in params) (0, properties_1.defineReadOnly)(object, key, params[key]);
|
|
182
|
+
}
|
|
183
|
+
exports.FormatTypes = Object.freeze({
|
|
184
|
+
sighash: "sighash",
|
|
185
|
+
minimal: "minimal",
|
|
186
|
+
full: "full",
|
|
187
|
+
json: "json"
|
|
188
|
+
});
|
|
189
|
+
var paramTypeArray = /* @__PURE__ */ new RegExp(/^(.*)\[([0-9]*)\]$/);
|
|
190
|
+
var ParamType = function() {
|
|
191
|
+
function ParamType(constructorGuard, params) {
|
|
192
|
+
if (constructorGuard !== _constructorGuard) logger.throwError("use fromString", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: "new ParamType()" });
|
|
193
|
+
populate(this, params);
|
|
194
|
+
var match = this.type.match(paramTypeArray);
|
|
195
|
+
if (match) populate(this, {
|
|
196
|
+
arrayLength: parseInt(match[2] || "-1"),
|
|
197
|
+
arrayChildren: ParamType.fromObject({
|
|
198
|
+
type: match[1],
|
|
199
|
+
components: this.components
|
|
200
|
+
}),
|
|
201
|
+
baseType: "array"
|
|
202
|
+
});
|
|
203
|
+
else populate(this, {
|
|
204
|
+
arrayLength: null,
|
|
205
|
+
arrayChildren: null,
|
|
206
|
+
baseType: this.components != null ? "tuple" : this.type
|
|
207
|
+
});
|
|
208
|
+
this._isParamType = true;
|
|
209
|
+
Object.freeze(this);
|
|
210
|
+
}
|
|
211
|
+
ParamType.prototype.format = function(format) {
|
|
212
|
+
if (!format) format = exports.FormatTypes.sighash;
|
|
213
|
+
if (!exports.FormatTypes[format]) logger.throwArgumentError("invalid format type", "format", format);
|
|
214
|
+
if (format === exports.FormatTypes.json) {
|
|
215
|
+
var result_1 = {
|
|
216
|
+
type: this.baseType === "tuple" ? "tuple" : this.type,
|
|
217
|
+
name: this.name || void 0
|
|
218
|
+
};
|
|
219
|
+
if (typeof this.indexed === "boolean") result_1.indexed = this.indexed;
|
|
220
|
+
if (this.components) result_1.components = this.components.map(function(comp) {
|
|
221
|
+
return JSON.parse(comp.format(format));
|
|
222
|
+
});
|
|
223
|
+
return JSON.stringify(result_1);
|
|
224
|
+
}
|
|
225
|
+
var result = "";
|
|
226
|
+
if (this.baseType === "array") {
|
|
227
|
+
result += this.arrayChildren.format(format);
|
|
228
|
+
result += "[" + (this.arrayLength < 0 ? "" : String(this.arrayLength)) + "]";
|
|
229
|
+
} else if (this.baseType === "tuple") {
|
|
230
|
+
if (format !== exports.FormatTypes.sighash) result += this.type;
|
|
231
|
+
result += "(" + this.components.map(function(comp) {
|
|
232
|
+
return comp.format(format);
|
|
233
|
+
}).join(format === exports.FormatTypes.full ? ", " : ",") + ")";
|
|
234
|
+
} else result += this.type;
|
|
235
|
+
if (format !== exports.FormatTypes.sighash) {
|
|
236
|
+
if (this.indexed === true) result += " indexed";
|
|
237
|
+
if (format === exports.FormatTypes.full && this.name) result += " " + this.name;
|
|
238
|
+
}
|
|
239
|
+
return result;
|
|
240
|
+
};
|
|
241
|
+
ParamType.from = function(value, allowIndexed) {
|
|
242
|
+
if (typeof value === "string") return ParamType.fromString(value, allowIndexed);
|
|
243
|
+
return ParamType.fromObject(value);
|
|
244
|
+
};
|
|
245
|
+
ParamType.fromObject = function(value) {
|
|
246
|
+
if (ParamType.isParamType(value)) return value;
|
|
247
|
+
return new ParamType(_constructorGuard, {
|
|
248
|
+
name: value.name || null,
|
|
249
|
+
type: verifyType(value.type),
|
|
250
|
+
indexed: value.indexed == null ? null : !!value.indexed,
|
|
251
|
+
components: value.components ? value.components.map(ParamType.fromObject) : null
|
|
252
|
+
});
|
|
253
|
+
};
|
|
254
|
+
ParamType.fromString = function(value, allowIndexed) {
|
|
255
|
+
function ParamTypify(node) {
|
|
256
|
+
return ParamType.fromObject({
|
|
257
|
+
name: node.name,
|
|
258
|
+
type: node.type,
|
|
259
|
+
indexed: node.indexed,
|
|
260
|
+
components: node.components
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
return ParamTypify(parseParamType(value, !!allowIndexed));
|
|
264
|
+
};
|
|
265
|
+
ParamType.isParamType = function(value) {
|
|
266
|
+
return !!(value != null && value._isParamType);
|
|
267
|
+
};
|
|
268
|
+
return ParamType;
|
|
269
|
+
}();
|
|
270
|
+
exports.ParamType = ParamType;
|
|
271
|
+
function parseParams(value, allowIndex) {
|
|
272
|
+
return splitNesting(value).map(function(param) {
|
|
273
|
+
return ParamType.fromString(param, allowIndex);
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
var Fragment = function() {
|
|
277
|
+
function Fragment(constructorGuard, params) {
|
|
278
|
+
if (constructorGuard !== _constructorGuard) logger.throwError("use a static from method", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: "new Fragment()" });
|
|
279
|
+
populate(this, params);
|
|
280
|
+
this._isFragment = true;
|
|
281
|
+
Object.freeze(this);
|
|
282
|
+
}
|
|
283
|
+
Fragment.from = function(value) {
|
|
284
|
+
if (Fragment.isFragment(value)) return value;
|
|
285
|
+
if (typeof value === "string") return Fragment.fromString(value);
|
|
286
|
+
return Fragment.fromObject(value);
|
|
287
|
+
};
|
|
288
|
+
Fragment.fromObject = function(value) {
|
|
289
|
+
if (Fragment.isFragment(value)) return value;
|
|
290
|
+
switch (value.type) {
|
|
291
|
+
case "function": return FunctionFragment.fromObject(value);
|
|
292
|
+
case "event": return EventFragment.fromObject(value);
|
|
293
|
+
case "constructor": return ConstructorFragment.fromObject(value);
|
|
294
|
+
case "error": return ErrorFragment.fromObject(value);
|
|
295
|
+
case "fallback":
|
|
296
|
+
case "receive": return null;
|
|
297
|
+
}
|
|
298
|
+
return logger.throwArgumentError("invalid fragment object", "value", value);
|
|
299
|
+
};
|
|
300
|
+
Fragment.fromString = function(value) {
|
|
301
|
+
value = value.replace(/\s/g, " ");
|
|
302
|
+
value = value.replace(/\(/g, " (").replace(/\)/g, ") ").replace(/\s+/g, " ");
|
|
303
|
+
value = value.trim();
|
|
304
|
+
if (value.split(" ")[0] === "event") return EventFragment.fromString(value.substring(5).trim());
|
|
305
|
+
else if (value.split(" ")[0] === "function") return FunctionFragment.fromString(value.substring(8).trim());
|
|
306
|
+
else if (value.split("(")[0].trim() === "constructor") return ConstructorFragment.fromString(value.trim());
|
|
307
|
+
else if (value.split(" ")[0] === "error") return ErrorFragment.fromString(value.substring(5).trim());
|
|
308
|
+
return logger.throwArgumentError("unsupported fragment", "value", value);
|
|
309
|
+
};
|
|
310
|
+
Fragment.isFragment = function(value) {
|
|
311
|
+
return !!(value && value._isFragment);
|
|
312
|
+
};
|
|
313
|
+
return Fragment;
|
|
314
|
+
}();
|
|
315
|
+
exports.Fragment = Fragment;
|
|
316
|
+
var EventFragment = function(_super) {
|
|
317
|
+
__extends(EventFragment, _super);
|
|
318
|
+
function EventFragment() {
|
|
319
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
320
|
+
}
|
|
321
|
+
EventFragment.prototype.format = function(format) {
|
|
322
|
+
if (!format) format = exports.FormatTypes.sighash;
|
|
323
|
+
if (!exports.FormatTypes[format]) logger.throwArgumentError("invalid format type", "format", format);
|
|
324
|
+
if (format === exports.FormatTypes.json) return JSON.stringify({
|
|
325
|
+
type: "event",
|
|
326
|
+
anonymous: this.anonymous,
|
|
327
|
+
name: this.name,
|
|
328
|
+
inputs: this.inputs.map(function(input) {
|
|
329
|
+
return JSON.parse(input.format(format));
|
|
330
|
+
})
|
|
331
|
+
});
|
|
332
|
+
var result = "";
|
|
333
|
+
if (format !== exports.FormatTypes.sighash) result += "event ";
|
|
334
|
+
result += this.name + "(" + this.inputs.map(function(input) {
|
|
335
|
+
return input.format(format);
|
|
336
|
+
}).join(format === exports.FormatTypes.full ? ", " : ",") + ") ";
|
|
337
|
+
if (format !== exports.FormatTypes.sighash) {
|
|
338
|
+
if (this.anonymous) result += "anonymous ";
|
|
339
|
+
}
|
|
340
|
+
return result.trim();
|
|
341
|
+
};
|
|
342
|
+
EventFragment.from = function(value) {
|
|
343
|
+
if (typeof value === "string") return EventFragment.fromString(value);
|
|
344
|
+
return EventFragment.fromObject(value);
|
|
345
|
+
};
|
|
346
|
+
EventFragment.fromObject = function(value) {
|
|
347
|
+
if (EventFragment.isEventFragment(value)) return value;
|
|
348
|
+
if (value.type !== "event") logger.throwArgumentError("invalid event object", "value", value);
|
|
349
|
+
return new EventFragment(_constructorGuard, {
|
|
350
|
+
name: verifyIdentifier(value.name),
|
|
351
|
+
anonymous: value.anonymous,
|
|
352
|
+
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [],
|
|
353
|
+
type: "event"
|
|
354
|
+
});
|
|
355
|
+
};
|
|
356
|
+
EventFragment.fromString = function(value) {
|
|
357
|
+
var match = value.match(regexParen);
|
|
358
|
+
if (!match) logger.throwArgumentError("invalid event string", "value", value);
|
|
359
|
+
var anonymous = false;
|
|
360
|
+
match[3].split(" ").forEach(function(modifier) {
|
|
361
|
+
switch (modifier.trim()) {
|
|
362
|
+
case "anonymous":
|
|
363
|
+
anonymous = true;
|
|
364
|
+
break;
|
|
365
|
+
case "": break;
|
|
366
|
+
default: logger.warn("unknown modifier: " + modifier);
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
return EventFragment.fromObject({
|
|
370
|
+
name: match[1].trim(),
|
|
371
|
+
anonymous,
|
|
372
|
+
inputs: parseParams(match[2], true),
|
|
373
|
+
type: "event"
|
|
374
|
+
});
|
|
375
|
+
};
|
|
376
|
+
EventFragment.isEventFragment = function(value) {
|
|
377
|
+
return value && value._isFragment && value.type === "event";
|
|
378
|
+
};
|
|
379
|
+
return EventFragment;
|
|
380
|
+
}(Fragment);
|
|
381
|
+
exports.EventFragment = EventFragment;
|
|
382
|
+
function parseGas(value, params) {
|
|
383
|
+
params.gas = null;
|
|
384
|
+
var comps = value.split("@");
|
|
385
|
+
if (comps.length !== 1) {
|
|
386
|
+
if (comps.length > 2) logger.throwArgumentError("invalid human-readable ABI signature", "value", value);
|
|
387
|
+
if (!comps[1].match(/^[0-9]+$/)) logger.throwArgumentError("invalid human-readable ABI signature gas", "value", value);
|
|
388
|
+
params.gas = bignumber_1.BigNumber.from(comps[1]);
|
|
389
|
+
return comps[0];
|
|
390
|
+
}
|
|
391
|
+
return value;
|
|
392
|
+
}
|
|
393
|
+
function parseModifiers(value, params) {
|
|
394
|
+
params.constant = false;
|
|
395
|
+
params.payable = false;
|
|
396
|
+
params.stateMutability = "nonpayable";
|
|
397
|
+
value.split(" ").forEach(function(modifier) {
|
|
398
|
+
switch (modifier.trim()) {
|
|
399
|
+
case "constant":
|
|
400
|
+
params.constant = true;
|
|
401
|
+
break;
|
|
402
|
+
case "payable":
|
|
403
|
+
params.payable = true;
|
|
404
|
+
params.stateMutability = "payable";
|
|
405
|
+
break;
|
|
406
|
+
case "nonpayable":
|
|
407
|
+
params.payable = false;
|
|
408
|
+
params.stateMutability = "nonpayable";
|
|
409
|
+
break;
|
|
410
|
+
case "pure":
|
|
411
|
+
params.constant = true;
|
|
412
|
+
params.stateMutability = "pure";
|
|
413
|
+
break;
|
|
414
|
+
case "view":
|
|
415
|
+
params.constant = true;
|
|
416
|
+
params.stateMutability = "view";
|
|
417
|
+
break;
|
|
418
|
+
case "external":
|
|
419
|
+
case "public":
|
|
420
|
+
case "": break;
|
|
421
|
+
default: console.log("unknown modifier: " + modifier);
|
|
422
|
+
}
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
function verifyState(value) {
|
|
426
|
+
var result = {
|
|
427
|
+
constant: false,
|
|
428
|
+
payable: true,
|
|
429
|
+
stateMutability: "payable"
|
|
430
|
+
};
|
|
431
|
+
if (value.stateMutability != null) {
|
|
432
|
+
result.stateMutability = value.stateMutability;
|
|
433
|
+
result.constant = result.stateMutability === "view" || result.stateMutability === "pure";
|
|
434
|
+
if (value.constant != null) {
|
|
435
|
+
if (!!value.constant !== result.constant) logger.throwArgumentError("cannot have constant function with mutability " + result.stateMutability, "value", value);
|
|
436
|
+
}
|
|
437
|
+
result.payable = result.stateMutability === "payable";
|
|
438
|
+
if (value.payable != null) {
|
|
439
|
+
if (!!value.payable !== result.payable) logger.throwArgumentError("cannot have payable function with mutability " + result.stateMutability, "value", value);
|
|
440
|
+
}
|
|
441
|
+
} else if (value.payable != null) {
|
|
442
|
+
result.payable = !!value.payable;
|
|
443
|
+
if (value.constant == null && !result.payable && value.type !== "constructor") logger.throwArgumentError("unable to determine stateMutability", "value", value);
|
|
444
|
+
result.constant = !!value.constant;
|
|
445
|
+
if (result.constant) result.stateMutability = "view";
|
|
446
|
+
else result.stateMutability = result.payable ? "payable" : "nonpayable";
|
|
447
|
+
if (result.payable && result.constant) logger.throwArgumentError("cannot have constant payable function", "value", value);
|
|
448
|
+
} else if (value.constant != null) {
|
|
449
|
+
result.constant = !!value.constant;
|
|
450
|
+
result.payable = !result.constant;
|
|
451
|
+
result.stateMutability = result.constant ? "view" : "payable";
|
|
452
|
+
} else if (value.type !== "constructor") logger.throwArgumentError("unable to determine stateMutability", "value", value);
|
|
453
|
+
return result;
|
|
454
|
+
}
|
|
455
|
+
var ConstructorFragment = function(_super) {
|
|
456
|
+
__extends(ConstructorFragment, _super);
|
|
457
|
+
function ConstructorFragment() {
|
|
458
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
459
|
+
}
|
|
460
|
+
ConstructorFragment.prototype.format = function(format) {
|
|
461
|
+
if (!format) format = exports.FormatTypes.sighash;
|
|
462
|
+
if (!exports.FormatTypes[format]) logger.throwArgumentError("invalid format type", "format", format);
|
|
463
|
+
if (format === exports.FormatTypes.json) return JSON.stringify({
|
|
464
|
+
type: "constructor",
|
|
465
|
+
stateMutability: this.stateMutability !== "nonpayable" ? this.stateMutability : void 0,
|
|
466
|
+
payable: this.payable,
|
|
467
|
+
gas: this.gas ? this.gas.toNumber() : void 0,
|
|
468
|
+
inputs: this.inputs.map(function(input) {
|
|
469
|
+
return JSON.parse(input.format(format));
|
|
470
|
+
})
|
|
471
|
+
});
|
|
472
|
+
if (format === exports.FormatTypes.sighash) logger.throwError("cannot format a constructor for sighash", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: "format(sighash)" });
|
|
473
|
+
var result = "constructor(" + this.inputs.map(function(input) {
|
|
474
|
+
return input.format(format);
|
|
475
|
+
}).join(format === exports.FormatTypes.full ? ", " : ",") + ") ";
|
|
476
|
+
if (this.stateMutability && this.stateMutability !== "nonpayable") result += this.stateMutability + " ";
|
|
477
|
+
return result.trim();
|
|
478
|
+
};
|
|
479
|
+
ConstructorFragment.from = function(value) {
|
|
480
|
+
if (typeof value === "string") return ConstructorFragment.fromString(value);
|
|
481
|
+
return ConstructorFragment.fromObject(value);
|
|
482
|
+
};
|
|
483
|
+
ConstructorFragment.fromObject = function(value) {
|
|
484
|
+
if (ConstructorFragment.isConstructorFragment(value)) return value;
|
|
485
|
+
if (value.type !== "constructor") logger.throwArgumentError("invalid constructor object", "value", value);
|
|
486
|
+
var state = verifyState(value);
|
|
487
|
+
if (state.constant) logger.throwArgumentError("constructor cannot be constant", "value", value);
|
|
488
|
+
return new ConstructorFragment(_constructorGuard, {
|
|
489
|
+
name: null,
|
|
490
|
+
type: value.type,
|
|
491
|
+
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [],
|
|
492
|
+
payable: state.payable,
|
|
493
|
+
stateMutability: state.stateMutability,
|
|
494
|
+
gas: value.gas ? bignumber_1.BigNumber.from(value.gas) : null
|
|
495
|
+
});
|
|
496
|
+
};
|
|
497
|
+
ConstructorFragment.fromString = function(value) {
|
|
498
|
+
var params = { type: "constructor" };
|
|
499
|
+
value = parseGas(value, params);
|
|
500
|
+
var parens = value.match(regexParen);
|
|
501
|
+
if (!parens || parens[1].trim() !== "constructor") logger.throwArgumentError("invalid constructor string", "value", value);
|
|
502
|
+
params.inputs = parseParams(parens[2].trim(), false);
|
|
503
|
+
parseModifiers(parens[3].trim(), params);
|
|
504
|
+
return ConstructorFragment.fromObject(params);
|
|
505
|
+
};
|
|
506
|
+
ConstructorFragment.isConstructorFragment = function(value) {
|
|
507
|
+
return value && value._isFragment && value.type === "constructor";
|
|
508
|
+
};
|
|
509
|
+
return ConstructorFragment;
|
|
510
|
+
}(Fragment);
|
|
511
|
+
exports.ConstructorFragment = ConstructorFragment;
|
|
512
|
+
var FunctionFragment = function(_super) {
|
|
513
|
+
__extends(FunctionFragment, _super);
|
|
514
|
+
function FunctionFragment() {
|
|
515
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
516
|
+
}
|
|
517
|
+
FunctionFragment.prototype.format = function(format) {
|
|
518
|
+
if (!format) format = exports.FormatTypes.sighash;
|
|
519
|
+
if (!exports.FormatTypes[format]) logger.throwArgumentError("invalid format type", "format", format);
|
|
520
|
+
if (format === exports.FormatTypes.json) return JSON.stringify({
|
|
521
|
+
type: "function",
|
|
522
|
+
name: this.name,
|
|
523
|
+
constant: this.constant,
|
|
524
|
+
stateMutability: this.stateMutability !== "nonpayable" ? this.stateMutability : void 0,
|
|
525
|
+
payable: this.payable,
|
|
526
|
+
gas: this.gas ? this.gas.toNumber() : void 0,
|
|
527
|
+
inputs: this.inputs.map(function(input) {
|
|
528
|
+
return JSON.parse(input.format(format));
|
|
529
|
+
}),
|
|
530
|
+
outputs: this.outputs.map(function(output) {
|
|
531
|
+
return JSON.parse(output.format(format));
|
|
532
|
+
})
|
|
533
|
+
});
|
|
534
|
+
var result = "";
|
|
535
|
+
if (format !== exports.FormatTypes.sighash) result += "function ";
|
|
536
|
+
result += this.name + "(" + this.inputs.map(function(input) {
|
|
537
|
+
return input.format(format);
|
|
538
|
+
}).join(format === exports.FormatTypes.full ? ", " : ",") + ") ";
|
|
539
|
+
if (format !== exports.FormatTypes.sighash) {
|
|
540
|
+
if (this.stateMutability) {
|
|
541
|
+
if (this.stateMutability !== "nonpayable") result += this.stateMutability + " ";
|
|
542
|
+
} else if (this.constant) result += "view ";
|
|
543
|
+
if (this.outputs && this.outputs.length) result += "returns (" + this.outputs.map(function(output) {
|
|
544
|
+
return output.format(format);
|
|
545
|
+
}).join(", ") + ") ";
|
|
546
|
+
if (this.gas != null) result += "@" + this.gas.toString() + " ";
|
|
547
|
+
}
|
|
548
|
+
return result.trim();
|
|
549
|
+
};
|
|
550
|
+
FunctionFragment.from = function(value) {
|
|
551
|
+
if (typeof value === "string") return FunctionFragment.fromString(value);
|
|
552
|
+
return FunctionFragment.fromObject(value);
|
|
553
|
+
};
|
|
554
|
+
FunctionFragment.fromObject = function(value) {
|
|
555
|
+
if (FunctionFragment.isFunctionFragment(value)) return value;
|
|
556
|
+
if (value.type !== "function") logger.throwArgumentError("invalid function object", "value", value);
|
|
557
|
+
var state = verifyState(value);
|
|
558
|
+
return new FunctionFragment(_constructorGuard, {
|
|
559
|
+
type: value.type,
|
|
560
|
+
name: verifyIdentifier(value.name),
|
|
561
|
+
constant: state.constant,
|
|
562
|
+
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [],
|
|
563
|
+
outputs: value.outputs ? value.outputs.map(ParamType.fromObject) : [],
|
|
564
|
+
payable: state.payable,
|
|
565
|
+
stateMutability: state.stateMutability,
|
|
566
|
+
gas: value.gas ? bignumber_1.BigNumber.from(value.gas) : null
|
|
567
|
+
});
|
|
568
|
+
};
|
|
569
|
+
FunctionFragment.fromString = function(value) {
|
|
570
|
+
var params = { type: "function" };
|
|
571
|
+
value = parseGas(value, params);
|
|
572
|
+
var comps = value.split(" returns ");
|
|
573
|
+
if (comps.length > 2) logger.throwArgumentError("invalid function string", "value", value);
|
|
574
|
+
var parens = comps[0].match(regexParen);
|
|
575
|
+
if (!parens) logger.throwArgumentError("invalid function signature", "value", value);
|
|
576
|
+
params.name = parens[1].trim();
|
|
577
|
+
if (params.name) verifyIdentifier(params.name);
|
|
578
|
+
params.inputs = parseParams(parens[2], false);
|
|
579
|
+
parseModifiers(parens[3].trim(), params);
|
|
580
|
+
if (comps.length > 1) {
|
|
581
|
+
var returns = comps[1].match(regexParen);
|
|
582
|
+
if (returns[1].trim() != "" || returns[3].trim() != "") logger.throwArgumentError("unexpected tokens", "value", value);
|
|
583
|
+
params.outputs = parseParams(returns[2], false);
|
|
584
|
+
} else params.outputs = [];
|
|
585
|
+
return FunctionFragment.fromObject(params);
|
|
586
|
+
};
|
|
587
|
+
FunctionFragment.isFunctionFragment = function(value) {
|
|
588
|
+
return value && value._isFragment && value.type === "function";
|
|
589
|
+
};
|
|
590
|
+
return FunctionFragment;
|
|
591
|
+
}(ConstructorFragment);
|
|
592
|
+
exports.FunctionFragment = FunctionFragment;
|
|
593
|
+
function checkForbidden(fragment) {
|
|
594
|
+
var sig = fragment.format();
|
|
595
|
+
if (sig === "Error(string)" || sig === "Panic(uint256)") logger.throwArgumentError("cannot specify user defined " + sig + " error", "fragment", fragment);
|
|
596
|
+
return fragment;
|
|
597
|
+
}
|
|
598
|
+
var ErrorFragment = function(_super) {
|
|
599
|
+
__extends(ErrorFragment, _super);
|
|
600
|
+
function ErrorFragment() {
|
|
601
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
602
|
+
}
|
|
603
|
+
ErrorFragment.prototype.format = function(format) {
|
|
604
|
+
if (!format) format = exports.FormatTypes.sighash;
|
|
605
|
+
if (!exports.FormatTypes[format]) logger.throwArgumentError("invalid format type", "format", format);
|
|
606
|
+
if (format === exports.FormatTypes.json) return JSON.stringify({
|
|
607
|
+
type: "error",
|
|
608
|
+
name: this.name,
|
|
609
|
+
inputs: this.inputs.map(function(input) {
|
|
610
|
+
return JSON.parse(input.format(format));
|
|
611
|
+
})
|
|
612
|
+
});
|
|
613
|
+
var result = "";
|
|
614
|
+
if (format !== exports.FormatTypes.sighash) result += "error ";
|
|
615
|
+
result += this.name + "(" + this.inputs.map(function(input) {
|
|
616
|
+
return input.format(format);
|
|
617
|
+
}).join(format === exports.FormatTypes.full ? ", " : ",") + ") ";
|
|
618
|
+
return result.trim();
|
|
619
|
+
};
|
|
620
|
+
ErrorFragment.from = function(value) {
|
|
621
|
+
if (typeof value === "string") return ErrorFragment.fromString(value);
|
|
622
|
+
return ErrorFragment.fromObject(value);
|
|
623
|
+
};
|
|
624
|
+
ErrorFragment.fromObject = function(value) {
|
|
625
|
+
if (ErrorFragment.isErrorFragment(value)) return value;
|
|
626
|
+
if (value.type !== "error") logger.throwArgumentError("invalid error object", "value", value);
|
|
627
|
+
return checkForbidden(new ErrorFragment(_constructorGuard, {
|
|
628
|
+
type: value.type,
|
|
629
|
+
name: verifyIdentifier(value.name),
|
|
630
|
+
inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : []
|
|
631
|
+
}));
|
|
632
|
+
};
|
|
633
|
+
ErrorFragment.fromString = function(value) {
|
|
634
|
+
var params = { type: "error" };
|
|
635
|
+
var parens = value.match(regexParen);
|
|
636
|
+
if (!parens) logger.throwArgumentError("invalid error signature", "value", value);
|
|
637
|
+
params.name = parens[1].trim();
|
|
638
|
+
if (params.name) verifyIdentifier(params.name);
|
|
639
|
+
params.inputs = parseParams(parens[2], false);
|
|
640
|
+
return checkForbidden(ErrorFragment.fromObject(params));
|
|
641
|
+
};
|
|
642
|
+
ErrorFragment.isErrorFragment = function(value) {
|
|
643
|
+
return value && value._isFragment && value.type === "error";
|
|
644
|
+
};
|
|
645
|
+
return ErrorFragment;
|
|
646
|
+
}(Fragment);
|
|
647
|
+
exports.ErrorFragment = ErrorFragment;
|
|
648
|
+
function verifyType(type) {
|
|
649
|
+
if (type.match(/^uint($|[^1-9])/)) type = "uint256" + type.substring(4);
|
|
650
|
+
else if (type.match(/^int($|[^1-9])/)) type = "int256" + type.substring(3);
|
|
651
|
+
return type;
|
|
652
|
+
}
|
|
653
|
+
var regexIdentifier = /* @__PURE__ */ new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");
|
|
654
|
+
function verifyIdentifier(value) {
|
|
655
|
+
if (!value || !value.match(regexIdentifier)) logger.throwArgumentError("invalid identifier \"" + value + "\"", "value", value);
|
|
656
|
+
return value;
|
|
657
|
+
}
|
|
658
|
+
var regexParen = /* @__PURE__ */ new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");
|
|
659
|
+
function splitNesting(value) {
|
|
660
|
+
value = value.trim();
|
|
661
|
+
var result = [];
|
|
662
|
+
var accum = "";
|
|
663
|
+
var depth = 0;
|
|
664
|
+
for (var offset = 0; offset < value.length; offset++) {
|
|
665
|
+
var c = value[offset];
|
|
666
|
+
if (c === "," && depth === 0) {
|
|
667
|
+
result.push(accum);
|
|
668
|
+
accum = "";
|
|
669
|
+
} else {
|
|
670
|
+
accum += c;
|
|
671
|
+
if (c === "(") depth++;
|
|
672
|
+
else if (c === ")") {
|
|
673
|
+
depth--;
|
|
674
|
+
if (depth === -1) logger.throwArgumentError("unbalanced parenthesis", "value", value);
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
if (accum) result.push(accum);
|
|
679
|
+
return result;
|
|
680
|
+
}
|
|
681
|
+
}));
|
|
682
|
+
//#endregion
|
|
683
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/coders/abstract-coder.js
|
|
684
|
+
var require_abstract_coder = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
685
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
686
|
+
exports.Reader = exports.Writer = exports.Coder = exports.checkResultErrors = void 0;
|
|
687
|
+
var bytes_1 = require_lib$2();
|
|
688
|
+
var bignumber_1 = require_lib$4();
|
|
689
|
+
var properties_1 = require_lib$5();
|
|
690
|
+
var logger_1 = require_lib$1();
|
|
691
|
+
var _version_1 = require__version();
|
|
692
|
+
var logger = new logger_1.Logger(_version_1.version);
|
|
693
|
+
function checkResultErrors(result) {
|
|
694
|
+
var errors = [];
|
|
695
|
+
var checkErrors = function(path, object) {
|
|
696
|
+
if (!Array.isArray(object)) return;
|
|
697
|
+
for (var key in object) {
|
|
698
|
+
var childPath = path.slice();
|
|
699
|
+
childPath.push(key);
|
|
700
|
+
try {
|
|
701
|
+
checkErrors(childPath, object[key]);
|
|
702
|
+
} catch (error) {
|
|
703
|
+
errors.push({
|
|
704
|
+
path: childPath,
|
|
705
|
+
error
|
|
706
|
+
});
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
};
|
|
710
|
+
checkErrors([], result);
|
|
711
|
+
return errors;
|
|
712
|
+
}
|
|
713
|
+
exports.checkResultErrors = checkResultErrors;
|
|
714
|
+
exports.Coder = function() {
|
|
715
|
+
function Coder(name, type, localName, dynamic) {
|
|
716
|
+
this.name = name;
|
|
717
|
+
this.type = type;
|
|
718
|
+
this.localName = localName;
|
|
719
|
+
this.dynamic = dynamic;
|
|
720
|
+
}
|
|
721
|
+
Coder.prototype._throwError = function(message, value) {
|
|
722
|
+
logger.throwArgumentError(message, this.localName, value);
|
|
723
|
+
};
|
|
724
|
+
return Coder;
|
|
725
|
+
}();
|
|
726
|
+
exports.Writer = function() {
|
|
727
|
+
function Writer(wordSize) {
|
|
728
|
+
(0, properties_1.defineReadOnly)(this, "wordSize", wordSize || 32);
|
|
729
|
+
this._data = [];
|
|
730
|
+
this._dataLength = 0;
|
|
731
|
+
this._padding = new Uint8Array(wordSize);
|
|
732
|
+
}
|
|
733
|
+
Object.defineProperty(Writer.prototype, "data", {
|
|
734
|
+
get: function() {
|
|
735
|
+
return (0, bytes_1.hexConcat)(this._data);
|
|
736
|
+
},
|
|
737
|
+
enumerable: false,
|
|
738
|
+
configurable: true
|
|
739
|
+
});
|
|
740
|
+
Object.defineProperty(Writer.prototype, "length", {
|
|
741
|
+
get: function() {
|
|
742
|
+
return this._dataLength;
|
|
743
|
+
},
|
|
744
|
+
enumerable: false,
|
|
745
|
+
configurable: true
|
|
746
|
+
});
|
|
747
|
+
Writer.prototype._writeData = function(data) {
|
|
748
|
+
this._data.push(data);
|
|
749
|
+
this._dataLength += data.length;
|
|
750
|
+
return data.length;
|
|
751
|
+
};
|
|
752
|
+
Writer.prototype.appendWriter = function(writer) {
|
|
753
|
+
return this._writeData((0, bytes_1.concat)(writer._data));
|
|
754
|
+
};
|
|
755
|
+
Writer.prototype.writeBytes = function(value) {
|
|
756
|
+
var bytes = (0, bytes_1.arrayify)(value);
|
|
757
|
+
var paddingOffset = bytes.length % this.wordSize;
|
|
758
|
+
if (paddingOffset) bytes = (0, bytes_1.concat)([bytes, this._padding.slice(paddingOffset)]);
|
|
759
|
+
return this._writeData(bytes);
|
|
760
|
+
};
|
|
761
|
+
Writer.prototype._getValue = function(value) {
|
|
762
|
+
var bytes = (0, bytes_1.arrayify)(bignumber_1.BigNumber.from(value));
|
|
763
|
+
if (bytes.length > this.wordSize) logger.throwError("value out-of-bounds", logger_1.Logger.errors.BUFFER_OVERRUN, {
|
|
764
|
+
length: this.wordSize,
|
|
765
|
+
offset: bytes.length
|
|
766
|
+
});
|
|
767
|
+
if (bytes.length % this.wordSize) bytes = (0, bytes_1.concat)([this._padding.slice(bytes.length % this.wordSize), bytes]);
|
|
768
|
+
return bytes;
|
|
769
|
+
};
|
|
770
|
+
Writer.prototype.writeValue = function(value) {
|
|
771
|
+
return this._writeData(this._getValue(value));
|
|
772
|
+
};
|
|
773
|
+
Writer.prototype.writeUpdatableValue = function() {
|
|
774
|
+
var _this = this;
|
|
775
|
+
var offset = this._data.length;
|
|
776
|
+
this._data.push(this._padding);
|
|
777
|
+
this._dataLength += this.wordSize;
|
|
778
|
+
return function(value) {
|
|
779
|
+
_this._data[offset] = _this._getValue(value);
|
|
780
|
+
};
|
|
781
|
+
};
|
|
782
|
+
return Writer;
|
|
783
|
+
}();
|
|
784
|
+
exports.Reader = function() {
|
|
785
|
+
function Reader(data, wordSize, coerceFunc, allowLoose) {
|
|
786
|
+
(0, properties_1.defineReadOnly)(this, "_data", (0, bytes_1.arrayify)(data));
|
|
787
|
+
(0, properties_1.defineReadOnly)(this, "wordSize", wordSize || 32);
|
|
788
|
+
(0, properties_1.defineReadOnly)(this, "_coerceFunc", coerceFunc);
|
|
789
|
+
(0, properties_1.defineReadOnly)(this, "allowLoose", allowLoose);
|
|
790
|
+
this._offset = 0;
|
|
791
|
+
}
|
|
792
|
+
Object.defineProperty(Reader.prototype, "data", {
|
|
793
|
+
get: function() {
|
|
794
|
+
return (0, bytes_1.hexlify)(this._data);
|
|
795
|
+
},
|
|
796
|
+
enumerable: false,
|
|
797
|
+
configurable: true
|
|
798
|
+
});
|
|
799
|
+
Object.defineProperty(Reader.prototype, "consumed", {
|
|
800
|
+
get: function() {
|
|
801
|
+
return this._offset;
|
|
802
|
+
},
|
|
803
|
+
enumerable: false,
|
|
804
|
+
configurable: true
|
|
805
|
+
});
|
|
806
|
+
Reader.coerce = function(name, value) {
|
|
807
|
+
var match = name.match("^u?int([0-9]+)$");
|
|
808
|
+
if (match && parseInt(match[1]) <= 48) value = value.toNumber();
|
|
809
|
+
return value;
|
|
810
|
+
};
|
|
811
|
+
Reader.prototype.coerce = function(name, value) {
|
|
812
|
+
if (this._coerceFunc) return this._coerceFunc(name, value);
|
|
813
|
+
return Reader.coerce(name, value);
|
|
814
|
+
};
|
|
815
|
+
Reader.prototype._peekBytes = function(offset, length, loose) {
|
|
816
|
+
var alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;
|
|
817
|
+
if (this._offset + alignedLength > this._data.length) {
|
|
818
|
+
if (this.allowLoose && loose && this._offset + length <= this._data.length) alignedLength = length;
|
|
819
|
+
else logger.throwError("data out-of-bounds", logger_1.Logger.errors.BUFFER_OVERRUN, {
|
|
820
|
+
length: this._data.length,
|
|
821
|
+
offset: this._offset + alignedLength
|
|
822
|
+
});
|
|
823
|
+
}
|
|
824
|
+
return this._data.slice(this._offset, this._offset + alignedLength);
|
|
825
|
+
};
|
|
826
|
+
Reader.prototype.subReader = function(offset) {
|
|
827
|
+
return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose);
|
|
828
|
+
};
|
|
829
|
+
Reader.prototype.readBytes = function(length, loose) {
|
|
830
|
+
var bytes = this._peekBytes(0, length, !!loose);
|
|
831
|
+
this._offset += bytes.length;
|
|
832
|
+
return bytes.slice(0, length);
|
|
833
|
+
};
|
|
834
|
+
Reader.prototype.readValue = function() {
|
|
835
|
+
return bignumber_1.BigNumber.from(this.readBytes(this.wordSize));
|
|
836
|
+
};
|
|
837
|
+
return Reader;
|
|
838
|
+
}();
|
|
839
|
+
}));
|
|
840
|
+
//#endregion
|
|
841
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/coders/address.js
|
|
842
|
+
var require_address = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
843
|
+
var __extends = exports && exports.__extends || (function() {
|
|
844
|
+
var extendStatics = function(d, b) {
|
|
845
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
846
|
+
d.__proto__ = b;
|
|
847
|
+
} || function(d, b) {
|
|
848
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
849
|
+
};
|
|
850
|
+
return extendStatics(d, b);
|
|
851
|
+
};
|
|
852
|
+
return function(d, b) {
|
|
853
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
854
|
+
extendStatics(d, b);
|
|
855
|
+
function __() {
|
|
856
|
+
this.constructor = d;
|
|
857
|
+
}
|
|
858
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
859
|
+
};
|
|
860
|
+
})();
|
|
861
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
862
|
+
exports.AddressCoder = void 0;
|
|
863
|
+
var address_1 = require_lib$6();
|
|
864
|
+
var bytes_1 = require_lib$2();
|
|
865
|
+
exports.AddressCoder = function(_super) {
|
|
866
|
+
__extends(AddressCoder, _super);
|
|
867
|
+
function AddressCoder(localName) {
|
|
868
|
+
return _super.call(this, "address", "address", localName, false) || this;
|
|
869
|
+
}
|
|
870
|
+
AddressCoder.prototype.defaultValue = function() {
|
|
871
|
+
return "0x0000000000000000000000000000000000000000";
|
|
872
|
+
};
|
|
873
|
+
AddressCoder.prototype.encode = function(writer, value) {
|
|
874
|
+
try {
|
|
875
|
+
value = (0, address_1.getAddress)(value);
|
|
876
|
+
} catch (error) {
|
|
877
|
+
this._throwError(error.message, value);
|
|
878
|
+
}
|
|
879
|
+
return writer.writeValue(value);
|
|
880
|
+
};
|
|
881
|
+
AddressCoder.prototype.decode = function(reader) {
|
|
882
|
+
return (0, address_1.getAddress)((0, bytes_1.hexZeroPad)(reader.readValue().toHexString(), 20));
|
|
883
|
+
};
|
|
884
|
+
return AddressCoder;
|
|
885
|
+
}(require_abstract_coder().Coder);
|
|
886
|
+
}));
|
|
887
|
+
//#endregion
|
|
888
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/coders/anonymous.js
|
|
889
|
+
var require_anonymous = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
890
|
+
var __extends = exports && exports.__extends || (function() {
|
|
891
|
+
var extendStatics = function(d, b) {
|
|
892
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
893
|
+
d.__proto__ = b;
|
|
894
|
+
} || function(d, b) {
|
|
895
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
896
|
+
};
|
|
897
|
+
return extendStatics(d, b);
|
|
898
|
+
};
|
|
899
|
+
return function(d, b) {
|
|
900
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
901
|
+
extendStatics(d, b);
|
|
902
|
+
function __() {
|
|
903
|
+
this.constructor = d;
|
|
904
|
+
}
|
|
905
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
906
|
+
};
|
|
907
|
+
})();
|
|
908
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
909
|
+
exports.AnonymousCoder = void 0;
|
|
910
|
+
exports.AnonymousCoder = function(_super) {
|
|
911
|
+
__extends(AnonymousCoder, _super);
|
|
912
|
+
function AnonymousCoder(coder) {
|
|
913
|
+
var _this = _super.call(this, coder.name, coder.type, void 0, coder.dynamic) || this;
|
|
914
|
+
_this.coder = coder;
|
|
915
|
+
return _this;
|
|
916
|
+
}
|
|
917
|
+
AnonymousCoder.prototype.defaultValue = function() {
|
|
918
|
+
return this.coder.defaultValue();
|
|
919
|
+
};
|
|
920
|
+
AnonymousCoder.prototype.encode = function(writer, value) {
|
|
921
|
+
return this.coder.encode(writer, value);
|
|
922
|
+
};
|
|
923
|
+
AnonymousCoder.prototype.decode = function(reader) {
|
|
924
|
+
return this.coder.decode(reader);
|
|
925
|
+
};
|
|
926
|
+
return AnonymousCoder;
|
|
927
|
+
}(require_abstract_coder().Coder);
|
|
928
|
+
}));
|
|
929
|
+
//#endregion
|
|
930
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/coders/array.js
|
|
931
|
+
var require_array = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
932
|
+
var __extends = exports && exports.__extends || (function() {
|
|
933
|
+
var extendStatics = function(d, b) {
|
|
934
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
935
|
+
d.__proto__ = b;
|
|
936
|
+
} || function(d, b) {
|
|
937
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
938
|
+
};
|
|
939
|
+
return extendStatics(d, b);
|
|
940
|
+
};
|
|
941
|
+
return function(d, b) {
|
|
942
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
943
|
+
extendStatics(d, b);
|
|
944
|
+
function __() {
|
|
945
|
+
this.constructor = d;
|
|
946
|
+
}
|
|
947
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
948
|
+
};
|
|
949
|
+
})();
|
|
950
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
951
|
+
exports.ArrayCoder = exports.unpack = exports.pack = void 0;
|
|
952
|
+
var logger_1 = require_lib$1();
|
|
953
|
+
var _version_1 = require__version();
|
|
954
|
+
var logger = new logger_1.Logger(_version_1.version);
|
|
955
|
+
var abstract_coder_1 = require_abstract_coder();
|
|
956
|
+
var anonymous_1 = require_anonymous();
|
|
957
|
+
function pack(writer, coders, values) {
|
|
958
|
+
var arrayValues = null;
|
|
959
|
+
if (Array.isArray(values)) arrayValues = values;
|
|
960
|
+
else if (values && typeof values === "object") {
|
|
961
|
+
var unique_1 = {};
|
|
962
|
+
arrayValues = coders.map(function(coder) {
|
|
963
|
+
var name = coder.localName;
|
|
964
|
+
if (!name) logger.throwError("cannot encode object for signature with missing names", logger_1.Logger.errors.INVALID_ARGUMENT, {
|
|
965
|
+
argument: "values",
|
|
966
|
+
coder,
|
|
967
|
+
value: values
|
|
968
|
+
});
|
|
969
|
+
if (unique_1[name]) logger.throwError("cannot encode object for signature with duplicate names", logger_1.Logger.errors.INVALID_ARGUMENT, {
|
|
970
|
+
argument: "values",
|
|
971
|
+
coder,
|
|
972
|
+
value: values
|
|
973
|
+
});
|
|
974
|
+
unique_1[name] = true;
|
|
975
|
+
return values[name];
|
|
976
|
+
});
|
|
977
|
+
} else logger.throwArgumentError("invalid tuple value", "tuple", values);
|
|
978
|
+
if (coders.length !== arrayValues.length) logger.throwArgumentError("types/value length mismatch", "tuple", values);
|
|
979
|
+
var staticWriter = new abstract_coder_1.Writer(writer.wordSize);
|
|
980
|
+
var dynamicWriter = new abstract_coder_1.Writer(writer.wordSize);
|
|
981
|
+
var updateFuncs = [];
|
|
982
|
+
coders.forEach(function(coder, index) {
|
|
983
|
+
var value = arrayValues[index];
|
|
984
|
+
if (coder.dynamic) {
|
|
985
|
+
var dynamicOffset_1 = dynamicWriter.length;
|
|
986
|
+
coder.encode(dynamicWriter, value);
|
|
987
|
+
var updateFunc_1 = staticWriter.writeUpdatableValue();
|
|
988
|
+
updateFuncs.push(function(baseOffset) {
|
|
989
|
+
updateFunc_1(baseOffset + dynamicOffset_1);
|
|
990
|
+
});
|
|
991
|
+
} else coder.encode(staticWriter, value);
|
|
992
|
+
});
|
|
993
|
+
updateFuncs.forEach(function(func) {
|
|
994
|
+
func(staticWriter.length);
|
|
995
|
+
});
|
|
996
|
+
var length = writer.appendWriter(staticWriter);
|
|
997
|
+
length += writer.appendWriter(dynamicWriter);
|
|
998
|
+
return length;
|
|
999
|
+
}
|
|
1000
|
+
exports.pack = pack;
|
|
1001
|
+
function unpack(reader, coders) {
|
|
1002
|
+
var values = [];
|
|
1003
|
+
var baseReader = reader.subReader(0);
|
|
1004
|
+
coders.forEach(function(coder) {
|
|
1005
|
+
var value = null;
|
|
1006
|
+
if (coder.dynamic) {
|
|
1007
|
+
var offset = reader.readValue();
|
|
1008
|
+
var offsetReader = baseReader.subReader(offset.toNumber());
|
|
1009
|
+
try {
|
|
1010
|
+
value = coder.decode(offsetReader);
|
|
1011
|
+
} catch (error) {
|
|
1012
|
+
if (error.code === logger_1.Logger.errors.BUFFER_OVERRUN) throw error;
|
|
1013
|
+
value = error;
|
|
1014
|
+
value.baseType = coder.name;
|
|
1015
|
+
value.name = coder.localName;
|
|
1016
|
+
value.type = coder.type;
|
|
1017
|
+
}
|
|
1018
|
+
} else try {
|
|
1019
|
+
value = coder.decode(reader);
|
|
1020
|
+
} catch (error) {
|
|
1021
|
+
if (error.code === logger_1.Logger.errors.BUFFER_OVERRUN) throw error;
|
|
1022
|
+
value = error;
|
|
1023
|
+
value.baseType = coder.name;
|
|
1024
|
+
value.name = coder.localName;
|
|
1025
|
+
value.type = coder.type;
|
|
1026
|
+
}
|
|
1027
|
+
if (value != void 0) values.push(value);
|
|
1028
|
+
});
|
|
1029
|
+
var uniqueNames = coders.reduce(function(accum, coder) {
|
|
1030
|
+
var name = coder.localName;
|
|
1031
|
+
if (name) {
|
|
1032
|
+
if (!accum[name]) accum[name] = 0;
|
|
1033
|
+
accum[name]++;
|
|
1034
|
+
}
|
|
1035
|
+
return accum;
|
|
1036
|
+
}, {});
|
|
1037
|
+
coders.forEach(function(coder, index) {
|
|
1038
|
+
var name = coder.localName;
|
|
1039
|
+
if (!name || uniqueNames[name] !== 1) return;
|
|
1040
|
+
if (name === "length") name = "_length";
|
|
1041
|
+
if (values[name] != null) return;
|
|
1042
|
+
var value = values[index];
|
|
1043
|
+
if (value instanceof Error) Object.defineProperty(values, name, {
|
|
1044
|
+
enumerable: true,
|
|
1045
|
+
get: function() {
|
|
1046
|
+
throw value;
|
|
1047
|
+
}
|
|
1048
|
+
});
|
|
1049
|
+
else values[name] = value;
|
|
1050
|
+
});
|
|
1051
|
+
var _loop_1 = function(i) {
|
|
1052
|
+
var value = values[i];
|
|
1053
|
+
if (value instanceof Error) Object.defineProperty(values, i, {
|
|
1054
|
+
enumerable: true,
|
|
1055
|
+
get: function() {
|
|
1056
|
+
throw value;
|
|
1057
|
+
}
|
|
1058
|
+
});
|
|
1059
|
+
};
|
|
1060
|
+
for (var i = 0; i < values.length; i++) _loop_1(i);
|
|
1061
|
+
return Object.freeze(values);
|
|
1062
|
+
}
|
|
1063
|
+
exports.unpack = unpack;
|
|
1064
|
+
exports.ArrayCoder = function(_super) {
|
|
1065
|
+
__extends(ArrayCoder, _super);
|
|
1066
|
+
function ArrayCoder(coder, length, localName) {
|
|
1067
|
+
var _this = this;
|
|
1068
|
+
var type = coder.type + "[" + (length >= 0 ? length : "") + "]";
|
|
1069
|
+
var dynamic = length === -1 || coder.dynamic;
|
|
1070
|
+
_this = _super.call(this, "array", type, localName, dynamic) || this;
|
|
1071
|
+
_this.coder = coder;
|
|
1072
|
+
_this.length = length;
|
|
1073
|
+
return _this;
|
|
1074
|
+
}
|
|
1075
|
+
ArrayCoder.prototype.defaultValue = function() {
|
|
1076
|
+
var defaultChild = this.coder.defaultValue();
|
|
1077
|
+
var result = [];
|
|
1078
|
+
for (var i = 0; i < this.length; i++) result.push(defaultChild);
|
|
1079
|
+
return result;
|
|
1080
|
+
};
|
|
1081
|
+
ArrayCoder.prototype.encode = function(writer, value) {
|
|
1082
|
+
if (!Array.isArray(value)) this._throwError("expected array value", value);
|
|
1083
|
+
var count = this.length;
|
|
1084
|
+
if (count === -1) {
|
|
1085
|
+
count = value.length;
|
|
1086
|
+
writer.writeValue(value.length);
|
|
1087
|
+
}
|
|
1088
|
+
logger.checkArgumentCount(value.length, count, "coder array" + (this.localName ? " " + this.localName : ""));
|
|
1089
|
+
var coders = [];
|
|
1090
|
+
for (var i = 0; i < value.length; i++) coders.push(this.coder);
|
|
1091
|
+
return pack(writer, coders, value);
|
|
1092
|
+
};
|
|
1093
|
+
ArrayCoder.prototype.decode = function(reader) {
|
|
1094
|
+
var count = this.length;
|
|
1095
|
+
if (count === -1) {
|
|
1096
|
+
count = reader.readValue().toNumber();
|
|
1097
|
+
if (count * 32 > reader._data.length) logger.throwError("insufficient data length", logger_1.Logger.errors.BUFFER_OVERRUN, {
|
|
1098
|
+
length: reader._data.length,
|
|
1099
|
+
count
|
|
1100
|
+
});
|
|
1101
|
+
}
|
|
1102
|
+
var coders = [];
|
|
1103
|
+
for (var i = 0; i < count; i++) coders.push(new anonymous_1.AnonymousCoder(this.coder));
|
|
1104
|
+
return reader.coerce(this.name, unpack(reader, coders));
|
|
1105
|
+
};
|
|
1106
|
+
return ArrayCoder;
|
|
1107
|
+
}(abstract_coder_1.Coder);
|
|
1108
|
+
}));
|
|
1109
|
+
//#endregion
|
|
1110
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/coders/boolean.js
|
|
1111
|
+
var require_boolean = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1112
|
+
var __extends = exports && exports.__extends || (function() {
|
|
1113
|
+
var extendStatics = function(d, b) {
|
|
1114
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
1115
|
+
d.__proto__ = b;
|
|
1116
|
+
} || function(d, b) {
|
|
1117
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
1118
|
+
};
|
|
1119
|
+
return extendStatics(d, b);
|
|
1120
|
+
};
|
|
1121
|
+
return function(d, b) {
|
|
1122
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
1123
|
+
extendStatics(d, b);
|
|
1124
|
+
function __() {
|
|
1125
|
+
this.constructor = d;
|
|
1126
|
+
}
|
|
1127
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
1128
|
+
};
|
|
1129
|
+
})();
|
|
1130
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1131
|
+
exports.BooleanCoder = void 0;
|
|
1132
|
+
exports.BooleanCoder = function(_super) {
|
|
1133
|
+
__extends(BooleanCoder, _super);
|
|
1134
|
+
function BooleanCoder(localName) {
|
|
1135
|
+
return _super.call(this, "bool", "bool", localName, false) || this;
|
|
1136
|
+
}
|
|
1137
|
+
BooleanCoder.prototype.defaultValue = function() {
|
|
1138
|
+
return false;
|
|
1139
|
+
};
|
|
1140
|
+
BooleanCoder.prototype.encode = function(writer, value) {
|
|
1141
|
+
return writer.writeValue(value ? 1 : 0);
|
|
1142
|
+
};
|
|
1143
|
+
BooleanCoder.prototype.decode = function(reader) {
|
|
1144
|
+
return reader.coerce(this.type, !reader.readValue().isZero());
|
|
1145
|
+
};
|
|
1146
|
+
return BooleanCoder;
|
|
1147
|
+
}(require_abstract_coder().Coder);
|
|
1148
|
+
}));
|
|
1149
|
+
//#endregion
|
|
1150
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/coders/bytes.js
|
|
1151
|
+
var require_bytes = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1152
|
+
var __extends = exports && exports.__extends || (function() {
|
|
1153
|
+
var extendStatics = function(d, b) {
|
|
1154
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
1155
|
+
d.__proto__ = b;
|
|
1156
|
+
} || function(d, b) {
|
|
1157
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
1158
|
+
};
|
|
1159
|
+
return extendStatics(d, b);
|
|
1160
|
+
};
|
|
1161
|
+
return function(d, b) {
|
|
1162
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
1163
|
+
extendStatics(d, b);
|
|
1164
|
+
function __() {
|
|
1165
|
+
this.constructor = d;
|
|
1166
|
+
}
|
|
1167
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
1168
|
+
};
|
|
1169
|
+
})();
|
|
1170
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1171
|
+
exports.BytesCoder = exports.DynamicBytesCoder = void 0;
|
|
1172
|
+
var bytes_1 = require_lib$2();
|
|
1173
|
+
var DynamicBytesCoder = function(_super) {
|
|
1174
|
+
__extends(DynamicBytesCoder, _super);
|
|
1175
|
+
function DynamicBytesCoder(type, localName) {
|
|
1176
|
+
return _super.call(this, type, type, localName, true) || this;
|
|
1177
|
+
}
|
|
1178
|
+
DynamicBytesCoder.prototype.defaultValue = function() {
|
|
1179
|
+
return "0x";
|
|
1180
|
+
};
|
|
1181
|
+
DynamicBytesCoder.prototype.encode = function(writer, value) {
|
|
1182
|
+
value = (0, bytes_1.arrayify)(value);
|
|
1183
|
+
var length = writer.writeValue(value.length);
|
|
1184
|
+
length += writer.writeBytes(value);
|
|
1185
|
+
return length;
|
|
1186
|
+
};
|
|
1187
|
+
DynamicBytesCoder.prototype.decode = function(reader) {
|
|
1188
|
+
return reader.readBytes(reader.readValue().toNumber(), true);
|
|
1189
|
+
};
|
|
1190
|
+
return DynamicBytesCoder;
|
|
1191
|
+
}(require_abstract_coder().Coder);
|
|
1192
|
+
exports.DynamicBytesCoder = DynamicBytesCoder;
|
|
1193
|
+
exports.BytesCoder = function(_super) {
|
|
1194
|
+
__extends(BytesCoder, _super);
|
|
1195
|
+
function BytesCoder(localName) {
|
|
1196
|
+
return _super.call(this, "bytes", localName) || this;
|
|
1197
|
+
}
|
|
1198
|
+
BytesCoder.prototype.decode = function(reader) {
|
|
1199
|
+
return reader.coerce(this.name, (0, bytes_1.hexlify)(_super.prototype.decode.call(this, reader)));
|
|
1200
|
+
};
|
|
1201
|
+
return BytesCoder;
|
|
1202
|
+
}(DynamicBytesCoder);
|
|
1203
|
+
}));
|
|
1204
|
+
//#endregion
|
|
1205
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/coders/fixed-bytes.js
|
|
1206
|
+
var require_fixed_bytes = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1207
|
+
var __extends = exports && exports.__extends || (function() {
|
|
1208
|
+
var extendStatics = function(d, b) {
|
|
1209
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
1210
|
+
d.__proto__ = b;
|
|
1211
|
+
} || function(d, b) {
|
|
1212
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
1213
|
+
};
|
|
1214
|
+
return extendStatics(d, b);
|
|
1215
|
+
};
|
|
1216
|
+
return function(d, b) {
|
|
1217
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
1218
|
+
extendStatics(d, b);
|
|
1219
|
+
function __() {
|
|
1220
|
+
this.constructor = d;
|
|
1221
|
+
}
|
|
1222
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
1223
|
+
};
|
|
1224
|
+
})();
|
|
1225
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1226
|
+
exports.FixedBytesCoder = void 0;
|
|
1227
|
+
var bytes_1 = require_lib$2();
|
|
1228
|
+
exports.FixedBytesCoder = function(_super) {
|
|
1229
|
+
__extends(FixedBytesCoder, _super);
|
|
1230
|
+
function FixedBytesCoder(size, localName) {
|
|
1231
|
+
var _this = this;
|
|
1232
|
+
var name = "bytes" + String(size);
|
|
1233
|
+
_this = _super.call(this, name, name, localName, false) || this;
|
|
1234
|
+
_this.size = size;
|
|
1235
|
+
return _this;
|
|
1236
|
+
}
|
|
1237
|
+
FixedBytesCoder.prototype.defaultValue = function() {
|
|
1238
|
+
return "0x0000000000000000000000000000000000000000000000000000000000000000".substring(0, 2 + this.size * 2);
|
|
1239
|
+
};
|
|
1240
|
+
FixedBytesCoder.prototype.encode = function(writer, value) {
|
|
1241
|
+
var data = (0, bytes_1.arrayify)(value);
|
|
1242
|
+
if (data.length !== this.size) this._throwError("incorrect data length", value);
|
|
1243
|
+
return writer.writeBytes(data);
|
|
1244
|
+
};
|
|
1245
|
+
FixedBytesCoder.prototype.decode = function(reader) {
|
|
1246
|
+
return reader.coerce(this.name, (0, bytes_1.hexlify)(reader.readBytes(this.size)));
|
|
1247
|
+
};
|
|
1248
|
+
return FixedBytesCoder;
|
|
1249
|
+
}(require_abstract_coder().Coder);
|
|
1250
|
+
}));
|
|
1251
|
+
//#endregion
|
|
1252
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/coders/null.js
|
|
1253
|
+
var require_null = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1254
|
+
var __extends = exports && exports.__extends || (function() {
|
|
1255
|
+
var extendStatics = function(d, b) {
|
|
1256
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
1257
|
+
d.__proto__ = b;
|
|
1258
|
+
} || function(d, b) {
|
|
1259
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
1260
|
+
};
|
|
1261
|
+
return extendStatics(d, b);
|
|
1262
|
+
};
|
|
1263
|
+
return function(d, b) {
|
|
1264
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
1265
|
+
extendStatics(d, b);
|
|
1266
|
+
function __() {
|
|
1267
|
+
this.constructor = d;
|
|
1268
|
+
}
|
|
1269
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
1270
|
+
};
|
|
1271
|
+
})();
|
|
1272
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1273
|
+
exports.NullCoder = void 0;
|
|
1274
|
+
exports.NullCoder = function(_super) {
|
|
1275
|
+
__extends(NullCoder, _super);
|
|
1276
|
+
function NullCoder(localName) {
|
|
1277
|
+
return _super.call(this, "null", "", localName, false) || this;
|
|
1278
|
+
}
|
|
1279
|
+
NullCoder.prototype.defaultValue = function() {
|
|
1280
|
+
return null;
|
|
1281
|
+
};
|
|
1282
|
+
NullCoder.prototype.encode = function(writer, value) {
|
|
1283
|
+
if (value != null) this._throwError("not null", value);
|
|
1284
|
+
return writer.writeBytes([]);
|
|
1285
|
+
};
|
|
1286
|
+
NullCoder.prototype.decode = function(reader) {
|
|
1287
|
+
reader.readBytes(0);
|
|
1288
|
+
return reader.coerce(this.name, null);
|
|
1289
|
+
};
|
|
1290
|
+
return NullCoder;
|
|
1291
|
+
}(require_abstract_coder().Coder);
|
|
1292
|
+
}));
|
|
1293
|
+
//#endregion
|
|
1294
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/coders/number.js
|
|
1295
|
+
var require_number = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1296
|
+
var __extends = exports && exports.__extends || (function() {
|
|
1297
|
+
var extendStatics = function(d, b) {
|
|
1298
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
1299
|
+
d.__proto__ = b;
|
|
1300
|
+
} || function(d, b) {
|
|
1301
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
1302
|
+
};
|
|
1303
|
+
return extendStatics(d, b);
|
|
1304
|
+
};
|
|
1305
|
+
return function(d, b) {
|
|
1306
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
1307
|
+
extendStatics(d, b);
|
|
1308
|
+
function __() {
|
|
1309
|
+
this.constructor = d;
|
|
1310
|
+
}
|
|
1311
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
1312
|
+
};
|
|
1313
|
+
})();
|
|
1314
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1315
|
+
exports.NumberCoder = void 0;
|
|
1316
|
+
var bignumber_1 = require_lib$4();
|
|
1317
|
+
var constants_1 = require_lib$7();
|
|
1318
|
+
exports.NumberCoder = function(_super) {
|
|
1319
|
+
__extends(NumberCoder, _super);
|
|
1320
|
+
function NumberCoder(size, signed, localName) {
|
|
1321
|
+
var _this = this;
|
|
1322
|
+
var name = (signed ? "int" : "uint") + size * 8;
|
|
1323
|
+
_this = _super.call(this, name, name, localName, false) || this;
|
|
1324
|
+
_this.size = size;
|
|
1325
|
+
_this.signed = signed;
|
|
1326
|
+
return _this;
|
|
1327
|
+
}
|
|
1328
|
+
NumberCoder.prototype.defaultValue = function() {
|
|
1329
|
+
return 0;
|
|
1330
|
+
};
|
|
1331
|
+
NumberCoder.prototype.encode = function(writer, value) {
|
|
1332
|
+
var v = bignumber_1.BigNumber.from(value);
|
|
1333
|
+
var maxUintValue = constants_1.MaxUint256.mask(writer.wordSize * 8);
|
|
1334
|
+
if (this.signed) {
|
|
1335
|
+
var bounds = maxUintValue.mask(this.size * 8 - 1);
|
|
1336
|
+
if (v.gt(bounds) || v.lt(bounds.add(constants_1.One).mul(constants_1.NegativeOne))) this._throwError("value out-of-bounds", value);
|
|
1337
|
+
} else if (v.lt(constants_1.Zero) || v.gt(maxUintValue.mask(this.size * 8))) this._throwError("value out-of-bounds", value);
|
|
1338
|
+
v = v.toTwos(this.size * 8).mask(this.size * 8);
|
|
1339
|
+
if (this.signed) v = v.fromTwos(this.size * 8).toTwos(8 * writer.wordSize);
|
|
1340
|
+
return writer.writeValue(v);
|
|
1341
|
+
};
|
|
1342
|
+
NumberCoder.prototype.decode = function(reader) {
|
|
1343
|
+
var value = reader.readValue().mask(this.size * 8);
|
|
1344
|
+
if (this.signed) value = value.fromTwos(this.size * 8);
|
|
1345
|
+
return reader.coerce(this.name, value);
|
|
1346
|
+
};
|
|
1347
|
+
return NumberCoder;
|
|
1348
|
+
}(require_abstract_coder().Coder);
|
|
1349
|
+
}));
|
|
1350
|
+
//#endregion
|
|
1351
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/coders/string.js
|
|
1352
|
+
var require_string = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1353
|
+
var __extends = exports && exports.__extends || (function() {
|
|
1354
|
+
var extendStatics = function(d, b) {
|
|
1355
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
1356
|
+
d.__proto__ = b;
|
|
1357
|
+
} || function(d, b) {
|
|
1358
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
1359
|
+
};
|
|
1360
|
+
return extendStatics(d, b);
|
|
1361
|
+
};
|
|
1362
|
+
return function(d, b) {
|
|
1363
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
1364
|
+
extendStatics(d, b);
|
|
1365
|
+
function __() {
|
|
1366
|
+
this.constructor = d;
|
|
1367
|
+
}
|
|
1368
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
1369
|
+
};
|
|
1370
|
+
})();
|
|
1371
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1372
|
+
exports.StringCoder = void 0;
|
|
1373
|
+
var strings_1 = require_lib$8();
|
|
1374
|
+
exports.StringCoder = function(_super) {
|
|
1375
|
+
__extends(StringCoder, _super);
|
|
1376
|
+
function StringCoder(localName) {
|
|
1377
|
+
return _super.call(this, "string", localName) || this;
|
|
1378
|
+
}
|
|
1379
|
+
StringCoder.prototype.defaultValue = function() {
|
|
1380
|
+
return "";
|
|
1381
|
+
};
|
|
1382
|
+
StringCoder.prototype.encode = function(writer, value) {
|
|
1383
|
+
return _super.prototype.encode.call(this, writer, (0, strings_1.toUtf8Bytes)(value));
|
|
1384
|
+
};
|
|
1385
|
+
StringCoder.prototype.decode = function(reader) {
|
|
1386
|
+
return (0, strings_1.toUtf8String)(_super.prototype.decode.call(this, reader));
|
|
1387
|
+
};
|
|
1388
|
+
return StringCoder;
|
|
1389
|
+
}(require_bytes().DynamicBytesCoder);
|
|
1390
|
+
}));
|
|
1391
|
+
//#endregion
|
|
1392
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/coders/tuple.js
|
|
1393
|
+
var require_tuple = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1394
|
+
var __extends = exports && exports.__extends || (function() {
|
|
1395
|
+
var extendStatics = function(d, b) {
|
|
1396
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
1397
|
+
d.__proto__ = b;
|
|
1398
|
+
} || function(d, b) {
|
|
1399
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
1400
|
+
};
|
|
1401
|
+
return extendStatics(d, b);
|
|
1402
|
+
};
|
|
1403
|
+
return function(d, b) {
|
|
1404
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
1405
|
+
extendStatics(d, b);
|
|
1406
|
+
function __() {
|
|
1407
|
+
this.constructor = d;
|
|
1408
|
+
}
|
|
1409
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
1410
|
+
};
|
|
1411
|
+
})();
|
|
1412
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1413
|
+
exports.TupleCoder = void 0;
|
|
1414
|
+
var abstract_coder_1 = require_abstract_coder();
|
|
1415
|
+
var array_1 = require_array();
|
|
1416
|
+
exports.TupleCoder = function(_super) {
|
|
1417
|
+
__extends(TupleCoder, _super);
|
|
1418
|
+
function TupleCoder(coders, localName) {
|
|
1419
|
+
var _this = this;
|
|
1420
|
+
var dynamic = false;
|
|
1421
|
+
var types = [];
|
|
1422
|
+
coders.forEach(function(coder) {
|
|
1423
|
+
if (coder.dynamic) dynamic = true;
|
|
1424
|
+
types.push(coder.type);
|
|
1425
|
+
});
|
|
1426
|
+
var type = "tuple(" + types.join(",") + ")";
|
|
1427
|
+
_this = _super.call(this, "tuple", type, localName, dynamic) || this;
|
|
1428
|
+
_this.coders = coders;
|
|
1429
|
+
return _this;
|
|
1430
|
+
}
|
|
1431
|
+
TupleCoder.prototype.defaultValue = function() {
|
|
1432
|
+
var values = [];
|
|
1433
|
+
this.coders.forEach(function(coder) {
|
|
1434
|
+
values.push(coder.defaultValue());
|
|
1435
|
+
});
|
|
1436
|
+
var uniqueNames = this.coders.reduce(function(accum, coder) {
|
|
1437
|
+
var name = coder.localName;
|
|
1438
|
+
if (name) {
|
|
1439
|
+
if (!accum[name]) accum[name] = 0;
|
|
1440
|
+
accum[name]++;
|
|
1441
|
+
}
|
|
1442
|
+
return accum;
|
|
1443
|
+
}, {});
|
|
1444
|
+
this.coders.forEach(function(coder, index) {
|
|
1445
|
+
var name = coder.localName;
|
|
1446
|
+
if (!name || uniqueNames[name] !== 1) return;
|
|
1447
|
+
if (name === "length") name = "_length";
|
|
1448
|
+
if (values[name] != null) return;
|
|
1449
|
+
values[name] = values[index];
|
|
1450
|
+
});
|
|
1451
|
+
return Object.freeze(values);
|
|
1452
|
+
};
|
|
1453
|
+
TupleCoder.prototype.encode = function(writer, value) {
|
|
1454
|
+
return (0, array_1.pack)(writer, this.coders, value);
|
|
1455
|
+
};
|
|
1456
|
+
TupleCoder.prototype.decode = function(reader) {
|
|
1457
|
+
return reader.coerce(this.name, (0, array_1.unpack)(reader, this.coders));
|
|
1458
|
+
};
|
|
1459
|
+
return TupleCoder;
|
|
1460
|
+
}(abstract_coder_1.Coder);
|
|
1461
|
+
}));
|
|
1462
|
+
//#endregion
|
|
1463
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/abi-coder.js
|
|
1464
|
+
var require_abi_coder = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1465
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1466
|
+
exports.defaultAbiCoder = exports.AbiCoder = void 0;
|
|
1467
|
+
var bytes_1 = require_lib$2();
|
|
1468
|
+
var properties_1 = require_lib$5();
|
|
1469
|
+
var logger_1 = require_lib$1();
|
|
1470
|
+
var _version_1 = require__version();
|
|
1471
|
+
var logger = new logger_1.Logger(_version_1.version);
|
|
1472
|
+
var abstract_coder_1 = require_abstract_coder();
|
|
1473
|
+
var address_1 = require_address();
|
|
1474
|
+
var array_1 = require_array();
|
|
1475
|
+
var boolean_1 = require_boolean();
|
|
1476
|
+
var bytes_2 = require_bytes();
|
|
1477
|
+
var fixed_bytes_1 = require_fixed_bytes();
|
|
1478
|
+
var null_1 = require_null();
|
|
1479
|
+
var number_1 = require_number();
|
|
1480
|
+
var string_1 = require_string();
|
|
1481
|
+
var tuple_1 = require_tuple();
|
|
1482
|
+
var fragments_1 = require_fragments();
|
|
1483
|
+
var paramTypeBytes = /* @__PURE__ */ new RegExp(/^bytes([0-9]*)$/);
|
|
1484
|
+
var paramTypeNumber = /* @__PURE__ */ new RegExp(/^(u?int)([0-9]*)$/);
|
|
1485
|
+
var AbiCoder = function() {
|
|
1486
|
+
function AbiCoder(coerceFunc) {
|
|
1487
|
+
(0, properties_1.defineReadOnly)(this, "coerceFunc", coerceFunc || null);
|
|
1488
|
+
}
|
|
1489
|
+
AbiCoder.prototype._getCoder = function(param) {
|
|
1490
|
+
var _this = this;
|
|
1491
|
+
switch (param.baseType) {
|
|
1492
|
+
case "address": return new address_1.AddressCoder(param.name);
|
|
1493
|
+
case "bool": return new boolean_1.BooleanCoder(param.name);
|
|
1494
|
+
case "string": return new string_1.StringCoder(param.name);
|
|
1495
|
+
case "bytes": return new bytes_2.BytesCoder(param.name);
|
|
1496
|
+
case "array": return new array_1.ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name);
|
|
1497
|
+
case "tuple": return new tuple_1.TupleCoder((param.components || []).map(function(component) {
|
|
1498
|
+
return _this._getCoder(component);
|
|
1499
|
+
}), param.name);
|
|
1500
|
+
case "": return new null_1.NullCoder(param.name);
|
|
1501
|
+
}
|
|
1502
|
+
var match = param.type.match(paramTypeNumber);
|
|
1503
|
+
if (match) {
|
|
1504
|
+
var size = parseInt(match[2] || "256");
|
|
1505
|
+
if (size === 0 || size > 256 || size % 8 !== 0) logger.throwArgumentError("invalid " + match[1] + " bit length", "param", param);
|
|
1506
|
+
return new number_1.NumberCoder(size / 8, match[1] === "int", param.name);
|
|
1507
|
+
}
|
|
1508
|
+
match = param.type.match(paramTypeBytes);
|
|
1509
|
+
if (match) {
|
|
1510
|
+
var size = parseInt(match[1]);
|
|
1511
|
+
if (size === 0 || size > 32) logger.throwArgumentError("invalid bytes length", "param", param);
|
|
1512
|
+
return new fixed_bytes_1.FixedBytesCoder(size, param.name);
|
|
1513
|
+
}
|
|
1514
|
+
return logger.throwArgumentError("invalid type", "type", param.type);
|
|
1515
|
+
};
|
|
1516
|
+
AbiCoder.prototype._getWordSize = function() {
|
|
1517
|
+
return 32;
|
|
1518
|
+
};
|
|
1519
|
+
AbiCoder.prototype._getReader = function(data, allowLoose) {
|
|
1520
|
+
return new abstract_coder_1.Reader(data, this._getWordSize(), this.coerceFunc, allowLoose);
|
|
1521
|
+
};
|
|
1522
|
+
AbiCoder.prototype._getWriter = function() {
|
|
1523
|
+
return new abstract_coder_1.Writer(this._getWordSize());
|
|
1524
|
+
};
|
|
1525
|
+
AbiCoder.prototype.getDefaultValue = function(types) {
|
|
1526
|
+
var _this = this;
|
|
1527
|
+
var coders = types.map(function(type) {
|
|
1528
|
+
return _this._getCoder(fragments_1.ParamType.from(type));
|
|
1529
|
+
});
|
|
1530
|
+
return new tuple_1.TupleCoder(coders, "_").defaultValue();
|
|
1531
|
+
};
|
|
1532
|
+
AbiCoder.prototype.encode = function(types, values) {
|
|
1533
|
+
var _this = this;
|
|
1534
|
+
if (types.length !== values.length) logger.throwError("types/values length mismatch", logger_1.Logger.errors.INVALID_ARGUMENT, {
|
|
1535
|
+
count: {
|
|
1536
|
+
types: types.length,
|
|
1537
|
+
values: values.length
|
|
1538
|
+
},
|
|
1539
|
+
value: {
|
|
1540
|
+
types,
|
|
1541
|
+
values
|
|
1542
|
+
}
|
|
1543
|
+
});
|
|
1544
|
+
var coders = types.map(function(type) {
|
|
1545
|
+
return _this._getCoder(fragments_1.ParamType.from(type));
|
|
1546
|
+
});
|
|
1547
|
+
var coder = new tuple_1.TupleCoder(coders, "_");
|
|
1548
|
+
var writer = this._getWriter();
|
|
1549
|
+
coder.encode(writer, values);
|
|
1550
|
+
return writer.data;
|
|
1551
|
+
};
|
|
1552
|
+
AbiCoder.prototype.decode = function(types, data, loose) {
|
|
1553
|
+
var _this = this;
|
|
1554
|
+
var coders = types.map(function(type) {
|
|
1555
|
+
return _this._getCoder(fragments_1.ParamType.from(type));
|
|
1556
|
+
});
|
|
1557
|
+
return new tuple_1.TupleCoder(coders, "_").decode(this._getReader((0, bytes_1.arrayify)(data), loose));
|
|
1558
|
+
};
|
|
1559
|
+
return AbiCoder;
|
|
1560
|
+
}();
|
|
1561
|
+
exports.AbiCoder = AbiCoder;
|
|
1562
|
+
exports.defaultAbiCoder = new AbiCoder();
|
|
1563
|
+
}));
|
|
1564
|
+
//#endregion
|
|
1565
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/interface.js
|
|
1566
|
+
var require_interface = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1567
|
+
var __extends = exports && exports.__extends || (function() {
|
|
1568
|
+
var extendStatics = function(d, b) {
|
|
1569
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) {
|
|
1570
|
+
d.__proto__ = b;
|
|
1571
|
+
} || function(d, b) {
|
|
1572
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
1573
|
+
};
|
|
1574
|
+
return extendStatics(d, b);
|
|
1575
|
+
};
|
|
1576
|
+
return function(d, b) {
|
|
1577
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
1578
|
+
extendStatics(d, b);
|
|
1579
|
+
function __() {
|
|
1580
|
+
this.constructor = d;
|
|
1581
|
+
}
|
|
1582
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
1583
|
+
};
|
|
1584
|
+
})();
|
|
1585
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1586
|
+
exports.Interface = exports.Indexed = exports.ErrorDescription = exports.TransactionDescription = exports.LogDescription = exports.checkResultErrors = void 0;
|
|
1587
|
+
var address_1 = require_lib$6();
|
|
1588
|
+
var bignumber_1 = require_lib$4();
|
|
1589
|
+
var bytes_1 = require_lib$2();
|
|
1590
|
+
var hash_1 = require_lib$9();
|
|
1591
|
+
var keccak256_1 = require_lib$3();
|
|
1592
|
+
var properties_1 = require_lib$5();
|
|
1593
|
+
var abi_coder_1 = require_abi_coder();
|
|
1594
|
+
var abstract_coder_1 = require_abstract_coder();
|
|
1595
|
+
Object.defineProperty(exports, "checkResultErrors", {
|
|
1596
|
+
enumerable: true,
|
|
1597
|
+
get: function() {
|
|
1598
|
+
return abstract_coder_1.checkResultErrors;
|
|
1599
|
+
}
|
|
1600
|
+
});
|
|
1601
|
+
var fragments_1 = require_fragments();
|
|
1602
|
+
var logger_1 = require_lib$1();
|
|
1603
|
+
var _version_1 = require__version();
|
|
1604
|
+
var logger = new logger_1.Logger(_version_1.version);
|
|
1605
|
+
var LogDescription = function(_super) {
|
|
1606
|
+
__extends(LogDescription, _super);
|
|
1607
|
+
function LogDescription() {
|
|
1608
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
1609
|
+
}
|
|
1610
|
+
return LogDescription;
|
|
1611
|
+
}(properties_1.Description);
|
|
1612
|
+
exports.LogDescription = LogDescription;
|
|
1613
|
+
var TransactionDescription = function(_super) {
|
|
1614
|
+
__extends(TransactionDescription, _super);
|
|
1615
|
+
function TransactionDescription() {
|
|
1616
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
1617
|
+
}
|
|
1618
|
+
return TransactionDescription;
|
|
1619
|
+
}(properties_1.Description);
|
|
1620
|
+
exports.TransactionDescription = TransactionDescription;
|
|
1621
|
+
var ErrorDescription = function(_super) {
|
|
1622
|
+
__extends(ErrorDescription, _super);
|
|
1623
|
+
function ErrorDescription() {
|
|
1624
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
1625
|
+
}
|
|
1626
|
+
return ErrorDescription;
|
|
1627
|
+
}(properties_1.Description);
|
|
1628
|
+
exports.ErrorDescription = ErrorDescription;
|
|
1629
|
+
var Indexed = function(_super) {
|
|
1630
|
+
__extends(Indexed, _super);
|
|
1631
|
+
function Indexed() {
|
|
1632
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
1633
|
+
}
|
|
1634
|
+
Indexed.isIndexed = function(value) {
|
|
1635
|
+
return !!(value && value._isIndexed);
|
|
1636
|
+
};
|
|
1637
|
+
return Indexed;
|
|
1638
|
+
}(properties_1.Description);
|
|
1639
|
+
exports.Indexed = Indexed;
|
|
1640
|
+
var BuiltinErrors = {
|
|
1641
|
+
"0x08c379a0": {
|
|
1642
|
+
signature: "Error(string)",
|
|
1643
|
+
name: "Error",
|
|
1644
|
+
inputs: ["string"],
|
|
1645
|
+
reason: true
|
|
1646
|
+
},
|
|
1647
|
+
"0x4e487b71": {
|
|
1648
|
+
signature: "Panic(uint256)",
|
|
1649
|
+
name: "Panic",
|
|
1650
|
+
inputs: ["uint256"]
|
|
1651
|
+
}
|
|
1652
|
+
};
|
|
1653
|
+
function wrapAccessError(property, error) {
|
|
1654
|
+
var wrap = /* @__PURE__ */ new Error("deferred error during ABI decoding triggered accessing " + property);
|
|
1655
|
+
wrap.error = error;
|
|
1656
|
+
return wrap;
|
|
1657
|
+
}
|
|
1658
|
+
exports.Interface = function() {
|
|
1659
|
+
function Interface(fragments) {
|
|
1660
|
+
var _newTarget = this.constructor;
|
|
1661
|
+
var _this = this;
|
|
1662
|
+
var abi = [];
|
|
1663
|
+
if (typeof fragments === "string") abi = JSON.parse(fragments);
|
|
1664
|
+
else abi = fragments;
|
|
1665
|
+
(0, properties_1.defineReadOnly)(this, "fragments", abi.map(function(fragment) {
|
|
1666
|
+
return fragments_1.Fragment.from(fragment);
|
|
1667
|
+
}).filter(function(fragment) {
|
|
1668
|
+
return fragment != null;
|
|
1669
|
+
}));
|
|
1670
|
+
(0, properties_1.defineReadOnly)(this, "_abiCoder", (0, properties_1.getStatic)(_newTarget, "getAbiCoder")());
|
|
1671
|
+
(0, properties_1.defineReadOnly)(this, "functions", {});
|
|
1672
|
+
(0, properties_1.defineReadOnly)(this, "errors", {});
|
|
1673
|
+
(0, properties_1.defineReadOnly)(this, "events", {});
|
|
1674
|
+
(0, properties_1.defineReadOnly)(this, "structs", {});
|
|
1675
|
+
this.fragments.forEach(function(fragment) {
|
|
1676
|
+
var bucket = null;
|
|
1677
|
+
switch (fragment.type) {
|
|
1678
|
+
case "constructor":
|
|
1679
|
+
if (_this.deploy) {
|
|
1680
|
+
logger.warn("duplicate definition - constructor");
|
|
1681
|
+
return;
|
|
1682
|
+
}
|
|
1683
|
+
(0, properties_1.defineReadOnly)(_this, "deploy", fragment);
|
|
1684
|
+
return;
|
|
1685
|
+
case "function":
|
|
1686
|
+
bucket = _this.functions;
|
|
1687
|
+
break;
|
|
1688
|
+
case "event":
|
|
1689
|
+
bucket = _this.events;
|
|
1690
|
+
break;
|
|
1691
|
+
case "error":
|
|
1692
|
+
bucket = _this.errors;
|
|
1693
|
+
break;
|
|
1694
|
+
default: return;
|
|
1695
|
+
}
|
|
1696
|
+
var signature = fragment.format();
|
|
1697
|
+
if (bucket[signature]) {
|
|
1698
|
+
logger.warn("duplicate definition - " + signature);
|
|
1699
|
+
return;
|
|
1700
|
+
}
|
|
1701
|
+
bucket[signature] = fragment;
|
|
1702
|
+
});
|
|
1703
|
+
if (!this.deploy) (0, properties_1.defineReadOnly)(this, "deploy", fragments_1.ConstructorFragment.from({
|
|
1704
|
+
payable: false,
|
|
1705
|
+
type: "constructor"
|
|
1706
|
+
}));
|
|
1707
|
+
(0, properties_1.defineReadOnly)(this, "_isInterface", true);
|
|
1708
|
+
}
|
|
1709
|
+
Interface.prototype.format = function(format) {
|
|
1710
|
+
if (!format) format = fragments_1.FormatTypes.full;
|
|
1711
|
+
if (format === fragments_1.FormatTypes.sighash) logger.throwArgumentError("interface does not support formatting sighash", "format", format);
|
|
1712
|
+
var abi = this.fragments.map(function(fragment) {
|
|
1713
|
+
return fragment.format(format);
|
|
1714
|
+
});
|
|
1715
|
+
if (format === fragments_1.FormatTypes.json) return JSON.stringify(abi.map(function(j) {
|
|
1716
|
+
return JSON.parse(j);
|
|
1717
|
+
}));
|
|
1718
|
+
return abi;
|
|
1719
|
+
};
|
|
1720
|
+
Interface.getAbiCoder = function() {
|
|
1721
|
+
return abi_coder_1.defaultAbiCoder;
|
|
1722
|
+
};
|
|
1723
|
+
Interface.getAddress = function(address) {
|
|
1724
|
+
return (0, address_1.getAddress)(address);
|
|
1725
|
+
};
|
|
1726
|
+
Interface.getSighash = function(fragment) {
|
|
1727
|
+
return (0, bytes_1.hexDataSlice)((0, hash_1.id)(fragment.format()), 0, 4);
|
|
1728
|
+
};
|
|
1729
|
+
Interface.getEventTopic = function(eventFragment) {
|
|
1730
|
+
return (0, hash_1.id)(eventFragment.format());
|
|
1731
|
+
};
|
|
1732
|
+
Interface.prototype.getFunction = function(nameOrSignatureOrSighash) {
|
|
1733
|
+
if ((0, bytes_1.isHexString)(nameOrSignatureOrSighash)) {
|
|
1734
|
+
for (var name_1 in this.functions) if (nameOrSignatureOrSighash === this.getSighash(name_1)) return this.functions[name_1];
|
|
1735
|
+
logger.throwArgumentError("no matching function", "sighash", nameOrSignatureOrSighash);
|
|
1736
|
+
}
|
|
1737
|
+
if (nameOrSignatureOrSighash.indexOf("(") === -1) {
|
|
1738
|
+
var name_2 = nameOrSignatureOrSighash.trim();
|
|
1739
|
+
var matching = Object.keys(this.functions).filter(function(f) {
|
|
1740
|
+
return f.split("(")[0] === name_2;
|
|
1741
|
+
});
|
|
1742
|
+
if (matching.length === 0) logger.throwArgumentError("no matching function", "name", name_2);
|
|
1743
|
+
else if (matching.length > 1) logger.throwArgumentError("multiple matching functions", "name", name_2);
|
|
1744
|
+
return this.functions[matching[0]];
|
|
1745
|
+
}
|
|
1746
|
+
var result = this.functions[fragments_1.FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
|
|
1747
|
+
if (!result) logger.throwArgumentError("no matching function", "signature", nameOrSignatureOrSighash);
|
|
1748
|
+
return result;
|
|
1749
|
+
};
|
|
1750
|
+
Interface.prototype.getEvent = function(nameOrSignatureOrTopic) {
|
|
1751
|
+
if ((0, bytes_1.isHexString)(nameOrSignatureOrTopic)) {
|
|
1752
|
+
var topichash = nameOrSignatureOrTopic.toLowerCase();
|
|
1753
|
+
for (var name_3 in this.events) if (topichash === this.getEventTopic(name_3)) return this.events[name_3];
|
|
1754
|
+
logger.throwArgumentError("no matching event", "topichash", topichash);
|
|
1755
|
+
}
|
|
1756
|
+
if (nameOrSignatureOrTopic.indexOf("(") === -1) {
|
|
1757
|
+
var name_4 = nameOrSignatureOrTopic.trim();
|
|
1758
|
+
var matching = Object.keys(this.events).filter(function(f) {
|
|
1759
|
+
return f.split("(")[0] === name_4;
|
|
1760
|
+
});
|
|
1761
|
+
if (matching.length === 0) logger.throwArgumentError("no matching event", "name", name_4);
|
|
1762
|
+
else if (matching.length > 1) logger.throwArgumentError("multiple matching events", "name", name_4);
|
|
1763
|
+
return this.events[matching[0]];
|
|
1764
|
+
}
|
|
1765
|
+
var result = this.events[fragments_1.EventFragment.fromString(nameOrSignatureOrTopic).format()];
|
|
1766
|
+
if (!result) logger.throwArgumentError("no matching event", "signature", nameOrSignatureOrTopic);
|
|
1767
|
+
return result;
|
|
1768
|
+
};
|
|
1769
|
+
Interface.prototype.getError = function(nameOrSignatureOrSighash) {
|
|
1770
|
+
if ((0, bytes_1.isHexString)(nameOrSignatureOrSighash)) {
|
|
1771
|
+
var getSighash = (0, properties_1.getStatic)(this.constructor, "getSighash");
|
|
1772
|
+
for (var name_5 in this.errors) {
|
|
1773
|
+
var error = this.errors[name_5];
|
|
1774
|
+
if (nameOrSignatureOrSighash === getSighash(error)) return this.errors[name_5];
|
|
1775
|
+
}
|
|
1776
|
+
logger.throwArgumentError("no matching error", "sighash", nameOrSignatureOrSighash);
|
|
1777
|
+
}
|
|
1778
|
+
if (nameOrSignatureOrSighash.indexOf("(") === -1) {
|
|
1779
|
+
var name_6 = nameOrSignatureOrSighash.trim();
|
|
1780
|
+
var matching = Object.keys(this.errors).filter(function(f) {
|
|
1781
|
+
return f.split("(")[0] === name_6;
|
|
1782
|
+
});
|
|
1783
|
+
if (matching.length === 0) logger.throwArgumentError("no matching error", "name", name_6);
|
|
1784
|
+
else if (matching.length > 1) logger.throwArgumentError("multiple matching errors", "name", name_6);
|
|
1785
|
+
return this.errors[matching[0]];
|
|
1786
|
+
}
|
|
1787
|
+
var result = this.errors[fragments_1.FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
|
|
1788
|
+
if (!result) logger.throwArgumentError("no matching error", "signature", nameOrSignatureOrSighash);
|
|
1789
|
+
return result;
|
|
1790
|
+
};
|
|
1791
|
+
Interface.prototype.getSighash = function(fragment) {
|
|
1792
|
+
if (typeof fragment === "string") try {
|
|
1793
|
+
fragment = this.getFunction(fragment);
|
|
1794
|
+
} catch (error) {
|
|
1795
|
+
try {
|
|
1796
|
+
fragment = this.getError(fragment);
|
|
1797
|
+
} catch (_) {
|
|
1798
|
+
throw error;
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1801
|
+
return (0, properties_1.getStatic)(this.constructor, "getSighash")(fragment);
|
|
1802
|
+
};
|
|
1803
|
+
Interface.prototype.getEventTopic = function(eventFragment) {
|
|
1804
|
+
if (typeof eventFragment === "string") eventFragment = this.getEvent(eventFragment);
|
|
1805
|
+
return (0, properties_1.getStatic)(this.constructor, "getEventTopic")(eventFragment);
|
|
1806
|
+
};
|
|
1807
|
+
Interface.prototype._decodeParams = function(params, data) {
|
|
1808
|
+
return this._abiCoder.decode(params, data);
|
|
1809
|
+
};
|
|
1810
|
+
Interface.prototype._encodeParams = function(params, values) {
|
|
1811
|
+
return this._abiCoder.encode(params, values);
|
|
1812
|
+
};
|
|
1813
|
+
Interface.prototype.encodeDeploy = function(values) {
|
|
1814
|
+
return this._encodeParams(this.deploy.inputs, values || []);
|
|
1815
|
+
};
|
|
1816
|
+
Interface.prototype.decodeErrorResult = function(fragment, data) {
|
|
1817
|
+
if (typeof fragment === "string") fragment = this.getError(fragment);
|
|
1818
|
+
var bytes = (0, bytes_1.arrayify)(data);
|
|
1819
|
+
if ((0, bytes_1.hexlify)(bytes.slice(0, 4)) !== this.getSighash(fragment)) logger.throwArgumentError("data signature does not match error " + fragment.name + ".", "data", (0, bytes_1.hexlify)(bytes));
|
|
1820
|
+
return this._decodeParams(fragment.inputs, bytes.slice(4));
|
|
1821
|
+
};
|
|
1822
|
+
Interface.prototype.encodeErrorResult = function(fragment, values) {
|
|
1823
|
+
if (typeof fragment === "string") fragment = this.getError(fragment);
|
|
1824
|
+
return (0, bytes_1.hexlify)((0, bytes_1.concat)([this.getSighash(fragment), this._encodeParams(fragment.inputs, values || [])]));
|
|
1825
|
+
};
|
|
1826
|
+
Interface.prototype.decodeFunctionData = function(functionFragment, data) {
|
|
1827
|
+
if (typeof functionFragment === "string") functionFragment = this.getFunction(functionFragment);
|
|
1828
|
+
var bytes = (0, bytes_1.arrayify)(data);
|
|
1829
|
+
if ((0, bytes_1.hexlify)(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) logger.throwArgumentError("data signature does not match function " + functionFragment.name + ".", "data", (0, bytes_1.hexlify)(bytes));
|
|
1830
|
+
return this._decodeParams(functionFragment.inputs, bytes.slice(4));
|
|
1831
|
+
};
|
|
1832
|
+
Interface.prototype.encodeFunctionData = function(functionFragment, values) {
|
|
1833
|
+
if (typeof functionFragment === "string") functionFragment = this.getFunction(functionFragment);
|
|
1834
|
+
return (0, bytes_1.hexlify)((0, bytes_1.concat)([this.getSighash(functionFragment), this._encodeParams(functionFragment.inputs, values || [])]));
|
|
1835
|
+
};
|
|
1836
|
+
Interface.prototype.decodeFunctionResult = function(functionFragment, data) {
|
|
1837
|
+
if (typeof functionFragment === "string") functionFragment = this.getFunction(functionFragment);
|
|
1838
|
+
var bytes = (0, bytes_1.arrayify)(data);
|
|
1839
|
+
var reason = null;
|
|
1840
|
+
var message = "";
|
|
1841
|
+
var errorArgs = null;
|
|
1842
|
+
var errorName = null;
|
|
1843
|
+
var errorSignature = null;
|
|
1844
|
+
switch (bytes.length % this._abiCoder._getWordSize()) {
|
|
1845
|
+
case 0:
|
|
1846
|
+
try {
|
|
1847
|
+
return this._abiCoder.decode(functionFragment.outputs, bytes);
|
|
1848
|
+
} catch (error) {}
|
|
1849
|
+
break;
|
|
1850
|
+
case 4:
|
|
1851
|
+
var selector = (0, bytes_1.hexlify)(bytes.slice(0, 4));
|
|
1852
|
+
var builtin = BuiltinErrors[selector];
|
|
1853
|
+
if (builtin) {
|
|
1854
|
+
errorArgs = this._abiCoder.decode(builtin.inputs, bytes.slice(4));
|
|
1855
|
+
errorName = builtin.name;
|
|
1856
|
+
errorSignature = builtin.signature;
|
|
1857
|
+
if (builtin.reason) reason = errorArgs[0];
|
|
1858
|
+
if (errorName === "Error") message = "; VM Exception while processing transaction: reverted with reason string " + JSON.stringify(errorArgs[0]);
|
|
1859
|
+
else if (errorName === "Panic") message = "; VM Exception while processing transaction: reverted with panic code " + errorArgs[0];
|
|
1860
|
+
} else try {
|
|
1861
|
+
var error = this.getError(selector);
|
|
1862
|
+
errorArgs = this._abiCoder.decode(error.inputs, bytes.slice(4));
|
|
1863
|
+
errorName = error.name;
|
|
1864
|
+
errorSignature = error.format();
|
|
1865
|
+
} catch (error) {}
|
|
1866
|
+
}
|
|
1867
|
+
return logger.throwError("call revert exception" + message, logger_1.Logger.errors.CALL_EXCEPTION, {
|
|
1868
|
+
method: functionFragment.format(),
|
|
1869
|
+
data: (0, bytes_1.hexlify)(data),
|
|
1870
|
+
errorArgs,
|
|
1871
|
+
errorName,
|
|
1872
|
+
errorSignature,
|
|
1873
|
+
reason
|
|
1874
|
+
});
|
|
1875
|
+
};
|
|
1876
|
+
Interface.prototype.encodeFunctionResult = function(functionFragment, values) {
|
|
1877
|
+
if (typeof functionFragment === "string") functionFragment = this.getFunction(functionFragment);
|
|
1878
|
+
return (0, bytes_1.hexlify)(this._abiCoder.encode(functionFragment.outputs, values || []));
|
|
1879
|
+
};
|
|
1880
|
+
Interface.prototype.encodeFilterTopics = function(eventFragment, values) {
|
|
1881
|
+
var _this = this;
|
|
1882
|
+
if (typeof eventFragment === "string") eventFragment = this.getEvent(eventFragment);
|
|
1883
|
+
if (values.length > eventFragment.inputs.length) logger.throwError("too many arguments for " + eventFragment.format(), logger_1.Logger.errors.UNEXPECTED_ARGUMENT, {
|
|
1884
|
+
argument: "values",
|
|
1885
|
+
value: values
|
|
1886
|
+
});
|
|
1887
|
+
var topics = [];
|
|
1888
|
+
if (!eventFragment.anonymous) topics.push(this.getEventTopic(eventFragment));
|
|
1889
|
+
var encodeTopic = function(param, value) {
|
|
1890
|
+
if (param.type === "string") return (0, hash_1.id)(value);
|
|
1891
|
+
else if (param.type === "bytes") return (0, keccak256_1.keccak256)((0, bytes_1.hexlify)(value));
|
|
1892
|
+
if (param.type === "bool" && typeof value === "boolean") value = value ? "0x01" : "0x00";
|
|
1893
|
+
if (param.type.match(/^u?int/)) value = bignumber_1.BigNumber.from(value).toHexString();
|
|
1894
|
+
if (param.type === "address") _this._abiCoder.encode(["address"], [value]);
|
|
1895
|
+
return (0, bytes_1.hexZeroPad)((0, bytes_1.hexlify)(value), 32);
|
|
1896
|
+
};
|
|
1897
|
+
values.forEach(function(value, index) {
|
|
1898
|
+
var param = eventFragment.inputs[index];
|
|
1899
|
+
if (!param.indexed) {
|
|
1900
|
+
if (value != null) logger.throwArgumentError("cannot filter non-indexed parameters; must be null", "contract." + param.name, value);
|
|
1901
|
+
return;
|
|
1902
|
+
}
|
|
1903
|
+
if (value == null) topics.push(null);
|
|
1904
|
+
else if (param.baseType === "array" || param.baseType === "tuple") logger.throwArgumentError("filtering with tuples or arrays not supported", "contract." + param.name, value);
|
|
1905
|
+
else if (Array.isArray(value)) topics.push(value.map(function(value) {
|
|
1906
|
+
return encodeTopic(param, value);
|
|
1907
|
+
}));
|
|
1908
|
+
else topics.push(encodeTopic(param, value));
|
|
1909
|
+
});
|
|
1910
|
+
while (topics.length && topics[topics.length - 1] === null) topics.pop();
|
|
1911
|
+
return topics;
|
|
1912
|
+
};
|
|
1913
|
+
Interface.prototype.encodeEventLog = function(eventFragment, values) {
|
|
1914
|
+
var _this = this;
|
|
1915
|
+
if (typeof eventFragment === "string") eventFragment = this.getEvent(eventFragment);
|
|
1916
|
+
var topics = [];
|
|
1917
|
+
var dataTypes = [];
|
|
1918
|
+
var dataValues = [];
|
|
1919
|
+
if (!eventFragment.anonymous) topics.push(this.getEventTopic(eventFragment));
|
|
1920
|
+
if (values.length !== eventFragment.inputs.length) logger.throwArgumentError("event arguments/values mismatch", "values", values);
|
|
1921
|
+
eventFragment.inputs.forEach(function(param, index) {
|
|
1922
|
+
var value = values[index];
|
|
1923
|
+
if (param.indexed) {
|
|
1924
|
+
if (param.type === "string") topics.push((0, hash_1.id)(value));
|
|
1925
|
+
else if (param.type === "bytes") topics.push((0, keccak256_1.keccak256)(value));
|
|
1926
|
+
else if (param.baseType === "tuple" || param.baseType === "array") throw new Error("not implemented");
|
|
1927
|
+
else topics.push(_this._abiCoder.encode([param.type], [value]));
|
|
1928
|
+
} else {
|
|
1929
|
+
dataTypes.push(param);
|
|
1930
|
+
dataValues.push(value);
|
|
1931
|
+
}
|
|
1932
|
+
});
|
|
1933
|
+
return {
|
|
1934
|
+
data: this._abiCoder.encode(dataTypes, dataValues),
|
|
1935
|
+
topics
|
|
1936
|
+
};
|
|
1937
|
+
};
|
|
1938
|
+
Interface.prototype.decodeEventLog = function(eventFragment, data, topics) {
|
|
1939
|
+
if (typeof eventFragment === "string") eventFragment = this.getEvent(eventFragment);
|
|
1940
|
+
if (topics != null && !eventFragment.anonymous) {
|
|
1941
|
+
var topicHash = this.getEventTopic(eventFragment);
|
|
1942
|
+
if (!(0, bytes_1.isHexString)(topics[0], 32) || topics[0].toLowerCase() !== topicHash) logger.throwError("fragment/topic mismatch", logger_1.Logger.errors.INVALID_ARGUMENT, {
|
|
1943
|
+
argument: "topics[0]",
|
|
1944
|
+
expected: topicHash,
|
|
1945
|
+
value: topics[0]
|
|
1946
|
+
});
|
|
1947
|
+
topics = topics.slice(1);
|
|
1948
|
+
}
|
|
1949
|
+
var indexed = [];
|
|
1950
|
+
var nonIndexed = [];
|
|
1951
|
+
var dynamic = [];
|
|
1952
|
+
eventFragment.inputs.forEach(function(param, index) {
|
|
1953
|
+
if (param.indexed) {
|
|
1954
|
+
if (param.type === "string" || param.type === "bytes" || param.baseType === "tuple" || param.baseType === "array") {
|
|
1955
|
+
indexed.push(fragments_1.ParamType.fromObject({
|
|
1956
|
+
type: "bytes32",
|
|
1957
|
+
name: param.name
|
|
1958
|
+
}));
|
|
1959
|
+
dynamic.push(true);
|
|
1960
|
+
} else {
|
|
1961
|
+
indexed.push(param);
|
|
1962
|
+
dynamic.push(false);
|
|
1963
|
+
}
|
|
1964
|
+
} else {
|
|
1965
|
+
nonIndexed.push(param);
|
|
1966
|
+
dynamic.push(false);
|
|
1967
|
+
}
|
|
1968
|
+
});
|
|
1969
|
+
var resultIndexed = topics != null ? this._abiCoder.decode(indexed, (0, bytes_1.concat)(topics)) : null;
|
|
1970
|
+
var resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true);
|
|
1971
|
+
var result = [];
|
|
1972
|
+
var nonIndexedIndex = 0, indexedIndex = 0;
|
|
1973
|
+
eventFragment.inputs.forEach(function(param, index) {
|
|
1974
|
+
if (param.indexed) {
|
|
1975
|
+
if (resultIndexed == null) result[index] = new Indexed({
|
|
1976
|
+
_isIndexed: true,
|
|
1977
|
+
hash: null
|
|
1978
|
+
});
|
|
1979
|
+
else if (dynamic[index]) result[index] = new Indexed({
|
|
1980
|
+
_isIndexed: true,
|
|
1981
|
+
hash: resultIndexed[indexedIndex++]
|
|
1982
|
+
});
|
|
1983
|
+
else try {
|
|
1984
|
+
result[index] = resultIndexed[indexedIndex++];
|
|
1985
|
+
} catch (error) {
|
|
1986
|
+
result[index] = error;
|
|
1987
|
+
}
|
|
1988
|
+
} else try {
|
|
1989
|
+
result[index] = resultNonIndexed[nonIndexedIndex++];
|
|
1990
|
+
} catch (error) {
|
|
1991
|
+
result[index] = error;
|
|
1992
|
+
}
|
|
1993
|
+
if (param.name && result[param.name] == null) {
|
|
1994
|
+
var value_1 = result[index];
|
|
1995
|
+
if (value_1 instanceof Error) Object.defineProperty(result, param.name, {
|
|
1996
|
+
enumerable: true,
|
|
1997
|
+
get: function() {
|
|
1998
|
+
throw wrapAccessError("property " + JSON.stringify(param.name), value_1);
|
|
1999
|
+
}
|
|
2000
|
+
});
|
|
2001
|
+
else result[param.name] = value_1;
|
|
2002
|
+
}
|
|
2003
|
+
});
|
|
2004
|
+
var _loop_1 = function(i) {
|
|
2005
|
+
var value = result[i];
|
|
2006
|
+
if (value instanceof Error) Object.defineProperty(result, i, {
|
|
2007
|
+
enumerable: true,
|
|
2008
|
+
get: function() {
|
|
2009
|
+
throw wrapAccessError("index " + i, value);
|
|
2010
|
+
}
|
|
2011
|
+
});
|
|
2012
|
+
};
|
|
2013
|
+
for (var i = 0; i < result.length; i++) _loop_1(i);
|
|
2014
|
+
return Object.freeze(result);
|
|
2015
|
+
};
|
|
2016
|
+
Interface.prototype.parseTransaction = function(tx) {
|
|
2017
|
+
var fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase());
|
|
2018
|
+
if (!fragment) return null;
|
|
2019
|
+
return new TransactionDescription({
|
|
2020
|
+
args: this._abiCoder.decode(fragment.inputs, "0x" + tx.data.substring(10)),
|
|
2021
|
+
functionFragment: fragment,
|
|
2022
|
+
name: fragment.name,
|
|
2023
|
+
signature: fragment.format(),
|
|
2024
|
+
sighash: this.getSighash(fragment),
|
|
2025
|
+
value: bignumber_1.BigNumber.from(tx.value || "0")
|
|
2026
|
+
});
|
|
2027
|
+
};
|
|
2028
|
+
Interface.prototype.parseLog = function(log) {
|
|
2029
|
+
var fragment = this.getEvent(log.topics[0]);
|
|
2030
|
+
if (!fragment || fragment.anonymous) return null;
|
|
2031
|
+
return new LogDescription({
|
|
2032
|
+
eventFragment: fragment,
|
|
2033
|
+
name: fragment.name,
|
|
2034
|
+
signature: fragment.format(),
|
|
2035
|
+
topic: this.getEventTopic(fragment),
|
|
2036
|
+
args: this.decodeEventLog(fragment, log.data, log.topics)
|
|
2037
|
+
});
|
|
2038
|
+
};
|
|
2039
|
+
Interface.prototype.parseError = function(data) {
|
|
2040
|
+
var hexData = (0, bytes_1.hexlify)(data);
|
|
2041
|
+
var fragment = this.getError(hexData.substring(0, 10).toLowerCase());
|
|
2042
|
+
if (!fragment) return null;
|
|
2043
|
+
return new ErrorDescription({
|
|
2044
|
+
args: this._abiCoder.decode(fragment.inputs, "0x" + hexData.substring(10)),
|
|
2045
|
+
errorFragment: fragment,
|
|
2046
|
+
name: fragment.name,
|
|
2047
|
+
signature: fragment.format(),
|
|
2048
|
+
sighash: this.getSighash(fragment)
|
|
2049
|
+
});
|
|
2050
|
+
};
|
|
2051
|
+
Interface.isInterface = function(value) {
|
|
2052
|
+
return !!(value && value._isInterface);
|
|
2053
|
+
};
|
|
2054
|
+
return Interface;
|
|
2055
|
+
}();
|
|
2056
|
+
}));
|
|
2057
|
+
//#endregion
|
|
2058
|
+
//#region ../../node_modules/.pnpm/@ethersproject+abi@5.8.0/node_modules/@ethersproject/abi/lib/index.js
|
|
2059
|
+
var require_lib = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
2060
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2061
|
+
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;
|
|
2062
|
+
var fragments_1 = require_fragments();
|
|
2063
|
+
Object.defineProperty(exports, "ConstructorFragment", {
|
|
2064
|
+
enumerable: true,
|
|
2065
|
+
get: function() {
|
|
2066
|
+
return fragments_1.ConstructorFragment;
|
|
2067
|
+
}
|
|
2068
|
+
});
|
|
2069
|
+
Object.defineProperty(exports, "ErrorFragment", {
|
|
2070
|
+
enumerable: true,
|
|
2071
|
+
get: function() {
|
|
2072
|
+
return fragments_1.ErrorFragment;
|
|
2073
|
+
}
|
|
2074
|
+
});
|
|
2075
|
+
Object.defineProperty(exports, "EventFragment", {
|
|
2076
|
+
enumerable: true,
|
|
2077
|
+
get: function() {
|
|
2078
|
+
return fragments_1.EventFragment;
|
|
2079
|
+
}
|
|
2080
|
+
});
|
|
2081
|
+
Object.defineProperty(exports, "FormatTypes", {
|
|
2082
|
+
enumerable: true,
|
|
2083
|
+
get: function() {
|
|
2084
|
+
return fragments_1.FormatTypes;
|
|
2085
|
+
}
|
|
2086
|
+
});
|
|
2087
|
+
Object.defineProperty(exports, "Fragment", {
|
|
2088
|
+
enumerable: true,
|
|
2089
|
+
get: function() {
|
|
2090
|
+
return fragments_1.Fragment;
|
|
2091
|
+
}
|
|
2092
|
+
});
|
|
2093
|
+
Object.defineProperty(exports, "FunctionFragment", {
|
|
2094
|
+
enumerable: true,
|
|
2095
|
+
get: function() {
|
|
2096
|
+
return fragments_1.FunctionFragment;
|
|
2097
|
+
}
|
|
2098
|
+
});
|
|
2099
|
+
Object.defineProperty(exports, "ParamType", {
|
|
2100
|
+
enumerable: true,
|
|
2101
|
+
get: function() {
|
|
2102
|
+
return fragments_1.ParamType;
|
|
2103
|
+
}
|
|
2104
|
+
});
|
|
2105
|
+
var abi_coder_1 = require_abi_coder();
|
|
2106
|
+
Object.defineProperty(exports, "AbiCoder", {
|
|
2107
|
+
enumerable: true,
|
|
2108
|
+
get: function() {
|
|
2109
|
+
return abi_coder_1.AbiCoder;
|
|
2110
|
+
}
|
|
2111
|
+
});
|
|
2112
|
+
Object.defineProperty(exports, "defaultAbiCoder", {
|
|
2113
|
+
enumerable: true,
|
|
2114
|
+
get: function() {
|
|
2115
|
+
return abi_coder_1.defaultAbiCoder;
|
|
2116
|
+
}
|
|
2117
|
+
});
|
|
2118
|
+
var interface_1 = require_interface();
|
|
2119
|
+
Object.defineProperty(exports, "checkResultErrors", {
|
|
2120
|
+
enumerable: true,
|
|
2121
|
+
get: function() {
|
|
2122
|
+
return interface_1.checkResultErrors;
|
|
2123
|
+
}
|
|
2124
|
+
});
|
|
2125
|
+
Object.defineProperty(exports, "Indexed", {
|
|
2126
|
+
enumerable: true,
|
|
2127
|
+
get: function() {
|
|
2128
|
+
return interface_1.Indexed;
|
|
2129
|
+
}
|
|
2130
|
+
});
|
|
2131
|
+
Object.defineProperty(exports, "Interface", {
|
|
2132
|
+
enumerable: true,
|
|
2133
|
+
get: function() {
|
|
2134
|
+
return interface_1.Interface;
|
|
2135
|
+
}
|
|
2136
|
+
});
|
|
2137
|
+
Object.defineProperty(exports, "LogDescription", {
|
|
2138
|
+
enumerable: true,
|
|
2139
|
+
get: function() {
|
|
2140
|
+
return interface_1.LogDescription;
|
|
2141
|
+
}
|
|
2142
|
+
});
|
|
2143
|
+
Object.defineProperty(exports, "TransactionDescription", {
|
|
2144
|
+
enumerable: true,
|
|
2145
|
+
get: function() {
|
|
2146
|
+
return interface_1.TransactionDescription;
|
|
2147
|
+
}
|
|
2148
|
+
});
|
|
2149
|
+
}));
|
|
2150
|
+
//#endregion
|
|
2151
|
+
export default require_lib();
|
|
2152
|
+
export {};
|
|
2153
|
+
|
|
2154
|
+
//# sourceMappingURL=lib-BOge5QZP.mjs.map
|