@gearbox-protocol/deploy-tools 5.46.2 → 5.47.0
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/dist/index.mjs +1654 -635
- package/package.json +6 -6
package/dist/index.mjs
CHANGED
|
@@ -4470,7 +4470,7 @@ var init_size = __esm({
|
|
|
4470
4470
|
var version2;
|
|
4471
4471
|
var init_version2 = __esm({
|
|
4472
4472
|
"../../node_modules/viem/_esm/errors/version.js"() {
|
|
4473
|
-
version2 = "2.37.
|
|
4473
|
+
version2 = "2.37.9";
|
|
4474
4474
|
}
|
|
4475
4475
|
});
|
|
4476
4476
|
|
|
@@ -114816,9 +114816,9 @@ var require_id2 = __commonJS({
|
|
|
114816
114816
|
}
|
|
114817
114817
|
});
|
|
114818
114818
|
|
|
114819
|
-
// ../../node_modules/@adraffy/ens-normalize/dist/index.cjs
|
|
114819
|
+
// ../../node_modules/@gearbox-protocol/sdk-gov/node_modules/@adraffy/ens-normalize/dist/index.cjs
|
|
114820
114820
|
var require_dist2 = __commonJS({
|
|
114821
|
-
"../../node_modules/@adraffy/ens-normalize/dist/index.cjs"(exports2) {
|
|
114821
|
+
"../../node_modules/@gearbox-protocol/sdk-gov/node_modules/@adraffy/ens-normalize/dist/index.cjs"(exports2) {
|
|
114822
114822
|
"use strict";
|
|
114823
114823
|
var COMPRESSED$1 = "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";
|
|
114824
114824
|
var FENCED = /* @__PURE__ */ new Map([[8217, "apostrophe"], [8260, "fraction slash"], [12539, "middle dot"]]);
|
|
@@ -141823,541 +141823,407 @@ var require_caller = __commonJS({
|
|
|
141823
141823
|
}
|
|
141824
141824
|
});
|
|
141825
141825
|
|
|
141826
|
-
// ../../node_modules/
|
|
141827
|
-
var
|
|
141828
|
-
"../../node_modules/
|
|
141829
|
-
|
|
141830
|
-
|
|
141831
|
-
|
|
141832
|
-
|
|
141833
|
-
|
|
141834
|
-
|
|
141835
|
-
}
|
|
141836
|
-
|
|
141837
|
-
|
|
141838
|
-
|
|
141839
|
-
|
|
141840
|
-
|
|
141841
|
-
|
|
141842
|
-
|
|
141843
|
-
|
|
141844
|
-
|
|
141845
|
-
|
|
141846
|
-
|
|
141847
|
-
|
|
141848
|
-
const o = new Proxy({}, { get: () => o, set: () => { throw Error() } });
|
|
141849
|
-
const \u3007 = null;
|
|
141850
|
-
o${expr}
|
|
141851
|
-
if ([o${expr}].length !== 1) throw Error()`)();
|
|
141852
|
-
} catch (e) {
|
|
141853
|
-
throw Error(ERR_INVALID_PATH(s));
|
|
141826
|
+
// ../../node_modules/slow-redact/index.js
|
|
141827
|
+
var require_slow_redact = __commonJS({
|
|
141828
|
+
"../../node_modules/slow-redact/index.js"(exports2, module2) {
|
|
141829
|
+
function deepClone(obj) {
|
|
141830
|
+
if (obj === null || typeof obj !== "object") {
|
|
141831
|
+
return obj;
|
|
141832
|
+
}
|
|
141833
|
+
if (obj instanceof Date) {
|
|
141834
|
+
return new Date(obj.getTime());
|
|
141835
|
+
}
|
|
141836
|
+
if (obj instanceof Array) {
|
|
141837
|
+
const cloned = [];
|
|
141838
|
+
for (let i = 0; i < obj.length; i++) {
|
|
141839
|
+
cloned[i] = deepClone(obj[i]);
|
|
141840
|
+
}
|
|
141841
|
+
return cloned;
|
|
141842
|
+
}
|
|
141843
|
+
if (typeof obj === "object") {
|
|
141844
|
+
const cloned = Object.create(Object.getPrototypeOf(obj));
|
|
141845
|
+
for (const key in obj) {
|
|
141846
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
141847
|
+
cloned[key] = deepClone(obj[key]);
|
|
141854
141848
|
}
|
|
141855
|
-
});
|
|
141856
|
-
};
|
|
141857
|
-
}
|
|
141858
|
-
}
|
|
141859
|
-
});
|
|
141860
|
-
|
|
141861
|
-
// ../../node_modules/fast-redact/lib/rx.js
|
|
141862
|
-
var require_rx = __commonJS({
|
|
141863
|
-
"../../node_modules/fast-redact/lib/rx.js"(exports2, module2) {
|
|
141864
|
-
"use strict";
|
|
141865
|
-
module2.exports = /[^.[\]]+|\[((?:.)*?)\]/g;
|
|
141866
|
-
}
|
|
141867
|
-
});
|
|
141868
|
-
|
|
141869
|
-
// ../../node_modules/fast-redact/lib/parse.js
|
|
141870
|
-
var require_parse = __commonJS({
|
|
141871
|
-
"../../node_modules/fast-redact/lib/parse.js"(exports2, module2) {
|
|
141872
|
-
"use strict";
|
|
141873
|
-
var rx = require_rx();
|
|
141874
|
-
module2.exports = parse4;
|
|
141875
|
-
function parse4({ paths }) {
|
|
141876
|
-
const wildcards = [];
|
|
141877
|
-
var wcLen = 0;
|
|
141878
|
-
const secret = paths.reduce(function(o, strPath, ix) {
|
|
141879
|
-
var path12 = strPath.match(rx).map((p) => p.replace(/'|"|`/g, ""));
|
|
141880
|
-
const leadingBracket = strPath[0] === "[";
|
|
141881
|
-
path12 = path12.map((p) => {
|
|
141882
|
-
if (p[0] === "[") return p.substr(1, p.length - 2);
|
|
141883
|
-
else return p;
|
|
141884
|
-
});
|
|
141885
|
-
const star = path12.indexOf("*");
|
|
141886
|
-
if (star > -1) {
|
|
141887
|
-
const before = path12.slice(0, star);
|
|
141888
|
-
const beforeStr = before.join(".");
|
|
141889
|
-
const after = path12.slice(star + 1, path12.length);
|
|
141890
|
-
const nested = after.length > 0;
|
|
141891
|
-
wcLen++;
|
|
141892
|
-
wildcards.push({
|
|
141893
|
-
before,
|
|
141894
|
-
beforeStr,
|
|
141895
|
-
after,
|
|
141896
|
-
nested
|
|
141897
|
-
});
|
|
141898
|
-
} else {
|
|
141899
|
-
o[strPath] = {
|
|
141900
|
-
path: path12,
|
|
141901
|
-
val: void 0,
|
|
141902
|
-
precensored: false,
|
|
141903
|
-
circle: "",
|
|
141904
|
-
escPath: JSON.stringify(strPath),
|
|
141905
|
-
leadingBracket
|
|
141906
|
-
};
|
|
141907
141849
|
}
|
|
141908
|
-
return
|
|
141909
|
-
}, {});
|
|
141910
|
-
return { wildcards, wcLen, secret };
|
|
141911
|
-
}
|
|
141912
|
-
}
|
|
141913
|
-
});
|
|
141914
|
-
|
|
141915
|
-
// ../../node_modules/fast-redact/lib/redactor.js
|
|
141916
|
-
var require_redactor = __commonJS({
|
|
141917
|
-
"../../node_modules/fast-redact/lib/redactor.js"(exports2, module2) {
|
|
141918
|
-
"use strict";
|
|
141919
|
-
var rx = require_rx();
|
|
141920
|
-
module2.exports = redactor;
|
|
141921
|
-
function redactor({ secret, serialize, wcLen, strict, isCensorFct, censorFctTakesPath }, state) {
|
|
141922
|
-
const redact = Function("o", `
|
|
141923
|
-
if (typeof o !== 'object' || o == null) {
|
|
141924
|
-
${strictImpl(strict, serialize)}
|
|
141925
|
-
}
|
|
141926
|
-
const { censor, secret } = this
|
|
141927
|
-
const originalSecret = {}
|
|
141928
|
-
const secretKeys = Object.keys(secret)
|
|
141929
|
-
for (var i = 0; i < secretKeys.length; i++) {
|
|
141930
|
-
originalSecret[secretKeys[i]] = secret[secretKeys[i]]
|
|
141931
|
-
}
|
|
141932
|
-
|
|
141933
|
-
${redactTmpl(secret, isCensorFct, censorFctTakesPath)}
|
|
141934
|
-
this.compileRestore()
|
|
141935
|
-
${dynamicRedactTmpl(wcLen > 0, isCensorFct, censorFctTakesPath)}
|
|
141936
|
-
this.secret = originalSecret
|
|
141937
|
-
${resultTmpl(serialize)}
|
|
141938
|
-
`).bind(state);
|
|
141939
|
-
redact.state = state;
|
|
141940
|
-
if (serialize === false) {
|
|
141941
|
-
redact.restore = (o) => state.restore(o);
|
|
141942
|
-
}
|
|
141943
|
-
return redact;
|
|
141944
|
-
}
|
|
141945
|
-
function redactTmpl(secret, isCensorFct, censorFctTakesPath) {
|
|
141946
|
-
return Object.keys(secret).map((path12) => {
|
|
141947
|
-
const { escPath, leadingBracket, path: arrPath } = secret[path12];
|
|
141948
|
-
const skip = leadingBracket ? 1 : 0;
|
|
141949
|
-
const delim = leadingBracket ? "" : ".";
|
|
141950
|
-
const hops = [];
|
|
141951
|
-
var match2;
|
|
141952
|
-
while ((match2 = rx.exec(path12)) !== null) {
|
|
141953
|
-
const [, ix] = match2;
|
|
141954
|
-
const { index: index2, input } = match2;
|
|
141955
|
-
if (index2 > skip) hops.push(input.substring(0, index2 - (ix ? 0 : 1)));
|
|
141956
|
-
}
|
|
141957
|
-
var existence = hops.map((p) => `o${delim}${p}`).join(" && ");
|
|
141958
|
-
if (existence.length === 0) existence += `o${delim}${path12} != null`;
|
|
141959
|
-
else existence += ` && o${delim}${path12} != null`;
|
|
141960
|
-
const circularDetection = `
|
|
141961
|
-
switch (true) {
|
|
141962
|
-
${hops.reverse().map((p) => `
|
|
141963
|
-
case o${delim}${p} === censor:
|
|
141964
|
-
secret[${escPath}].circle = ${JSON.stringify(p)}
|
|
141965
|
-
break
|
|
141966
|
-
`).join("\n")}
|
|
141850
|
+
return cloned;
|
|
141967
141851
|
}
|
|
141968
|
-
|
|
141969
|
-
|
|
141970
|
-
|
|
141971
|
-
|
|
141972
|
-
|
|
141973
|
-
|
|
141974
|
-
|
|
141852
|
+
return obj;
|
|
141853
|
+
}
|
|
141854
|
+
function parsePath(path12) {
|
|
141855
|
+
const parts = [];
|
|
141856
|
+
let current = "";
|
|
141857
|
+
let inBrackets = false;
|
|
141858
|
+
let inQuotes = false;
|
|
141859
|
+
let quoteChar = "";
|
|
141860
|
+
for (let i = 0; i < path12.length; i++) {
|
|
141861
|
+
const char = path12[i];
|
|
141862
|
+
if (!inBrackets && char === ".") {
|
|
141863
|
+
if (current) {
|
|
141864
|
+
parts.push(current);
|
|
141865
|
+
current = "";
|
|
141866
|
+
}
|
|
141867
|
+
} else if (char === "[") {
|
|
141868
|
+
if (current) {
|
|
141869
|
+
parts.push(current);
|
|
141870
|
+
current = "";
|
|
141871
|
+
}
|
|
141872
|
+
inBrackets = true;
|
|
141873
|
+
} else if (char === "]" && inBrackets) {
|
|
141874
|
+
parts.push(current);
|
|
141875
|
+
current = "";
|
|
141876
|
+
inBrackets = false;
|
|
141877
|
+
inQuotes = false;
|
|
141878
|
+
} else if ((char === '"' || char === "'") && inBrackets) {
|
|
141879
|
+
if (!inQuotes) {
|
|
141880
|
+
inQuotes = true;
|
|
141881
|
+
quoteChar = char;
|
|
141882
|
+
} else if (char === quoteChar) {
|
|
141883
|
+
inQuotes = false;
|
|
141884
|
+
quoteChar = "";
|
|
141885
|
+
} else {
|
|
141886
|
+
current += char;
|
|
141887
|
+
}
|
|
141975
141888
|
} else {
|
|
141976
|
-
|
|
141977
|
-
o${delim}${path12} = ${isCensorFct ? `censor(${censorArgs})` : "censor"}
|
|
141978
|
-
${circularDetection}
|
|
141889
|
+
current += char;
|
|
141979
141890
|
}
|
|
141980
141891
|
}
|
|
141981
|
-
|
|
141982
|
-
|
|
141983
|
-
}
|
|
141984
|
-
function dynamicRedactTmpl(hasWildcards, isCensorFct, censorFctTakesPath) {
|
|
141985
|
-
return hasWildcards === true ? `
|
|
141986
|
-
{
|
|
141987
|
-
const { wildcards, wcLen, groupRedact, nestedRedact } = this
|
|
141988
|
-
for (var i = 0; i < wcLen; i++) {
|
|
141989
|
-
const { before, beforeStr, after, nested } = wildcards[i]
|
|
141990
|
-
if (nested === true) {
|
|
141991
|
-
secret[beforeStr] = secret[beforeStr] || []
|
|
141992
|
-
nestedRedact(secret[beforeStr], o, before, after, censor, ${isCensorFct}, ${censorFctTakesPath})
|
|
141993
|
-
} else secret[beforeStr] = groupRedact(o, before, censor, ${isCensorFct}, ${censorFctTakesPath})
|
|
141892
|
+
if (current) {
|
|
141893
|
+
parts.push(current);
|
|
141994
141894
|
}
|
|
141895
|
+
return parts;
|
|
141995
141896
|
}
|
|
141996
|
-
|
|
141997
|
-
|
|
141998
|
-
|
|
141999
|
-
|
|
142000
|
-
|
|
142001
|
-
|
|
142002
|
-
|
|
142003
|
-
|
|
142004
|
-
|
|
142005
|
-
|
|
142006
|
-
|
|
142007
|
-
|
|
142008
|
-
|
|
142009
|
-
|
|
142010
|
-
|
|
142011
|
-
|
|
142012
|
-
|
|
142013
|
-
|
|
142014
|
-
|
|
142015
|
-
|
|
142016
|
-
|
|
142017
|
-
|
|
142018
|
-
|
|
142019
|
-
|
|
142020
|
-
|
|
142021
|
-
|
|
142022
|
-
|
|
142023
|
-
|
|
142024
|
-
for (var i = 0; i < length; i++) {
|
|
142025
|
-
const k = keys2[i];
|
|
142026
|
-
target[k] = values[i];
|
|
142027
|
-
}
|
|
142028
|
-
}
|
|
142029
|
-
function groupRedact(o, path12, censor, isCensorFct, censorFctTakesPath) {
|
|
142030
|
-
const target = get2(o, path12);
|
|
142031
|
-
if (target == null || typeof target === "string") return { keys: null, values: null, target, flat: true };
|
|
142032
|
-
const keys2 = Object.keys(target);
|
|
142033
|
-
const keysLength = keys2.length;
|
|
142034
|
-
const pathLength = path12.length;
|
|
142035
|
-
const pathWithKey = censorFctTakesPath ? [...path12] : void 0;
|
|
142036
|
-
const values = new Array(keysLength);
|
|
142037
|
-
for (var i = 0; i < keysLength; i++) {
|
|
142038
|
-
const key = keys2[i];
|
|
142039
|
-
values[i] = target[key];
|
|
142040
|
-
if (censorFctTakesPath) {
|
|
142041
|
-
pathWithKey[pathLength] = key;
|
|
142042
|
-
target[key] = censor(target[key], pathWithKey);
|
|
142043
|
-
} else if (isCensorFct) {
|
|
142044
|
-
target[key] = censor(target[key]);
|
|
142045
|
-
} else {
|
|
142046
|
-
target[key] = censor;
|
|
141897
|
+
function setValue(obj, parts, value) {
|
|
141898
|
+
let current = obj;
|
|
141899
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
141900
|
+
const key = parts[i];
|
|
141901
|
+
if (typeof current !== "object" || current === null || !(key in current)) {
|
|
141902
|
+
return false;
|
|
141903
|
+
}
|
|
141904
|
+
if (typeof current[key] !== "object" || current[key] === null) {
|
|
141905
|
+
return false;
|
|
141906
|
+
}
|
|
141907
|
+
current = current[key];
|
|
141908
|
+
}
|
|
141909
|
+
const lastKey = parts[parts.length - 1];
|
|
141910
|
+
if (lastKey === "*") {
|
|
141911
|
+
if (Array.isArray(current)) {
|
|
141912
|
+
for (let i = 0; i < current.length; i++) {
|
|
141913
|
+
current[i] = value;
|
|
141914
|
+
}
|
|
141915
|
+
} else if (typeof current === "object" && current !== null) {
|
|
141916
|
+
for (const key in current) {
|
|
141917
|
+
if (Object.prototype.hasOwnProperty.call(current, key)) {
|
|
141918
|
+
current[key] = value;
|
|
141919
|
+
}
|
|
141920
|
+
}
|
|
141921
|
+
}
|
|
141922
|
+
} else {
|
|
141923
|
+
if (typeof current === "object" && current !== null && lastKey in current && Object.prototype.hasOwnProperty.call(current, lastKey)) {
|
|
141924
|
+
current[lastKey] = value;
|
|
142047
141925
|
}
|
|
142048
141926
|
}
|
|
142049
|
-
return
|
|
141927
|
+
return true;
|
|
142050
141928
|
}
|
|
142051
|
-
function
|
|
142052
|
-
|
|
142053
|
-
|
|
142054
|
-
|
|
142055
|
-
|
|
142056
|
-
|
|
141929
|
+
function removeKey(obj, parts) {
|
|
141930
|
+
let current = obj;
|
|
141931
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
141932
|
+
const key = parts[i];
|
|
141933
|
+
if (typeof current !== "object" || current === null || !(key in current)) {
|
|
141934
|
+
return false;
|
|
142057
141935
|
}
|
|
142058
|
-
current[
|
|
141936
|
+
if (typeof current[key] !== "object" || current[key] === null) {
|
|
141937
|
+
return false;
|
|
141938
|
+
}
|
|
141939
|
+
current = current[key];
|
|
142059
141940
|
}
|
|
141941
|
+
const lastKey = parts[parts.length - 1];
|
|
141942
|
+
if (lastKey === "*") {
|
|
141943
|
+
if (Array.isArray(current)) {
|
|
141944
|
+
for (let i = 0; i < current.length; i++) {
|
|
141945
|
+
current[i] = void 0;
|
|
141946
|
+
}
|
|
141947
|
+
} else if (typeof current === "object" && current !== null) {
|
|
141948
|
+
for (const key in current) {
|
|
141949
|
+
if (Object.prototype.hasOwnProperty.call(current, key)) {
|
|
141950
|
+
delete current[key];
|
|
141951
|
+
}
|
|
141952
|
+
}
|
|
141953
|
+
}
|
|
141954
|
+
} else {
|
|
141955
|
+
if (typeof current === "object" && current !== null && lastKey in current && Object.prototype.hasOwnProperty.call(current, lastKey)) {
|
|
141956
|
+
delete current[lastKey];
|
|
141957
|
+
}
|
|
141958
|
+
}
|
|
141959
|
+
return true;
|
|
142060
141960
|
}
|
|
142061
|
-
function
|
|
142062
|
-
|
|
142063
|
-
|
|
142064
|
-
|
|
142065
|
-
|
|
142066
|
-
|
|
142067
|
-
|
|
142068
|
-
|
|
141961
|
+
function getValue2(obj, parts) {
|
|
141962
|
+
let current = obj;
|
|
141963
|
+
for (const part of parts) {
|
|
141964
|
+
if (current === null || current === void 0) {
|
|
141965
|
+
return void 0;
|
|
141966
|
+
}
|
|
141967
|
+
if (typeof current !== "object" || current === null) {
|
|
141968
|
+
return void 0;
|
|
141969
|
+
}
|
|
141970
|
+
current = current[part];
|
|
142069
141971
|
}
|
|
142070
|
-
return
|
|
141972
|
+
return current;
|
|
142071
141973
|
}
|
|
142072
|
-
function
|
|
142073
|
-
|
|
141974
|
+
function redactPaths(obj, paths, censor, remove = false) {
|
|
141975
|
+
for (const path12 of paths) {
|
|
141976
|
+
const parts = parsePath(path12);
|
|
141977
|
+
if (parts.includes("*")) {
|
|
141978
|
+
redactWildcardPath(obj, parts, censor, path12, remove);
|
|
141979
|
+
} else {
|
|
141980
|
+
if (remove) {
|
|
141981
|
+
removeKey(obj, parts);
|
|
141982
|
+
} else {
|
|
141983
|
+
const actualCensor = typeof censor === "function" ? censor(getValue2(obj, parts), parts) : censor;
|
|
141984
|
+
setValue(obj, parts, actualCensor);
|
|
141985
|
+
}
|
|
141986
|
+
}
|
|
141987
|
+
}
|
|
142074
141988
|
}
|
|
142075
|
-
function
|
|
142076
|
-
const
|
|
142077
|
-
|
|
142078
|
-
|
|
142079
|
-
|
|
142080
|
-
|
|
142081
|
-
|
|
142082
|
-
|
|
142083
|
-
|
|
142084
|
-
var wc = null;
|
|
142085
|
-
var kIsWc;
|
|
142086
|
-
var wcov;
|
|
142087
|
-
var consecutive = false;
|
|
142088
|
-
var level = 0;
|
|
142089
|
-
var depth = 0;
|
|
142090
|
-
var redactPathCurrent = tree();
|
|
142091
|
-
ov = n = o[k];
|
|
142092
|
-
if (typeof n !== "object") return;
|
|
142093
|
-
while (n != null && ++i < afterPathLen) {
|
|
142094
|
-
depth += 1;
|
|
142095
|
-
k = afterPath[i];
|
|
142096
|
-
oov = ov;
|
|
142097
|
-
if (k !== "*" && !wc && !(typeof n === "object" && k in n)) {
|
|
142098
|
-
break;
|
|
141989
|
+
function redactWildcardPath(obj, parts, censor, originalPath, remove = false) {
|
|
141990
|
+
const wildcardIndex = parts.indexOf("*");
|
|
141991
|
+
if (wildcardIndex === parts.length - 1) {
|
|
141992
|
+
const parentParts = parts.slice(0, -1);
|
|
141993
|
+
let current = obj;
|
|
141994
|
+
for (const part of parentParts) {
|
|
141995
|
+
if (current === null || current === void 0) return;
|
|
141996
|
+
if (typeof current !== "object" || current === null) return;
|
|
141997
|
+
current = current[part];
|
|
142099
141998
|
}
|
|
142100
|
-
if (
|
|
142101
|
-
if (
|
|
142102
|
-
|
|
141999
|
+
if (Array.isArray(current)) {
|
|
142000
|
+
if (remove) {
|
|
142001
|
+
for (let i = 0; i < current.length; i++) {
|
|
142002
|
+
current[i] = void 0;
|
|
142003
|
+
}
|
|
142004
|
+
} else {
|
|
142005
|
+
for (let i = 0; i < current.length; i++) {
|
|
142006
|
+
const indexPath = [...parentParts, i.toString()];
|
|
142007
|
+
const actualCensor = typeof censor === "function" ? censor(current[i], indexPath) : censor;
|
|
142008
|
+
current[i] = actualCensor;
|
|
142009
|
+
}
|
|
142103
142010
|
}
|
|
142104
|
-
|
|
142105
|
-
if (
|
|
142106
|
-
|
|
142011
|
+
} else if (typeof current === "object" && current !== null) {
|
|
142012
|
+
if (remove) {
|
|
142013
|
+
const keysToDelete = [];
|
|
142014
|
+
for (const key in current) {
|
|
142015
|
+
if (Object.prototype.hasOwnProperty.call(current, key)) {
|
|
142016
|
+
keysToDelete.push(key);
|
|
142017
|
+
}
|
|
142018
|
+
}
|
|
142019
|
+
for (const key of keysToDelete) {
|
|
142020
|
+
delete current[key];
|
|
142021
|
+
}
|
|
142022
|
+
} else {
|
|
142023
|
+
for (const key in current) {
|
|
142024
|
+
const keyPath = [...parentParts, key];
|
|
142025
|
+
const actualCensor = typeof censor === "function" ? censor(current[key], keyPath) : censor;
|
|
142026
|
+
current[key] = actualCensor;
|
|
142027
|
+
}
|
|
142107
142028
|
}
|
|
142108
142029
|
}
|
|
142109
|
-
|
|
142110
|
-
|
|
142111
|
-
|
|
142112
|
-
|
|
142113
|
-
|
|
142114
|
-
|
|
142115
|
-
|
|
142116
|
-
|
|
142117
|
-
|
|
142118
|
-
|
|
142119
|
-
|
|
142120
|
-
|
|
142121
|
-
|
|
142122
|
-
|
|
142123
|
-
|
|
142124
|
-
|
|
142125
|
-
|
|
142126
|
-
|
|
142127
|
-
|
|
142128
|
-
const rv = restoreInstr(node(redactPathCurrent, wck, depth), ov, o[originalKey]);
|
|
142129
|
-
store.push(rv);
|
|
142130
|
-
n[wck] = nv;
|
|
142131
|
-
} else {
|
|
142132
|
-
if (wcov[k] === nv) {
|
|
142133
|
-
} else if (nv === void 0 && censor !== void 0 || has2(wcov, k) && nv === ov) {
|
|
142134
|
-
redactPathCurrent = node(redactPathCurrent, wck, depth);
|
|
142135
|
-
} else {
|
|
142136
|
-
redactPathCurrent = node(redactPathCurrent, wck, depth);
|
|
142137
|
-
const rv = restoreInstr(node(redactPathCurrent, k, depth + 1), ov, o[originalKey]);
|
|
142138
|
-
store.push(rv);
|
|
142139
|
-
wcov[k] = nv;
|
|
142140
|
-
}
|
|
142141
|
-
}
|
|
142142
|
-
}
|
|
142030
|
+
} else {
|
|
142031
|
+
redactIntermediateWildcard(obj, parts, censor, wildcardIndex, originalPath, remove);
|
|
142032
|
+
}
|
|
142033
|
+
}
|
|
142034
|
+
function redactIntermediateWildcard(obj, parts, censor, wildcardIndex, originalPath, remove = false) {
|
|
142035
|
+
const beforeWildcard = parts.slice(0, wildcardIndex);
|
|
142036
|
+
const afterWildcard = parts.slice(wildcardIndex + 1);
|
|
142037
|
+
const pathArray = [];
|
|
142038
|
+
function traverse(current, pathLength) {
|
|
142039
|
+
if (pathLength === beforeWildcard.length) {
|
|
142040
|
+
if (Array.isArray(current)) {
|
|
142041
|
+
for (let i = 0; i < current.length; i++) {
|
|
142042
|
+
pathArray[pathLength] = i.toString();
|
|
142043
|
+
traverse(current[i], pathLength + 1);
|
|
142044
|
+
}
|
|
142045
|
+
} else if (typeof current === "object" && current !== null) {
|
|
142046
|
+
for (const key in current) {
|
|
142047
|
+
pathArray[pathLength] = key;
|
|
142048
|
+
traverse(current[key], pathLength + 1);
|
|
142143
142049
|
}
|
|
142144
142050
|
}
|
|
142145
|
-
|
|
142051
|
+
} else if (pathLength < beforeWildcard.length) {
|
|
142052
|
+
const nextKey = beforeWildcard[pathLength];
|
|
142053
|
+
if (current && typeof current === "object" && current !== null && nextKey in current) {
|
|
142054
|
+
pathArray[pathLength] = nextKey;
|
|
142055
|
+
traverse(current[nextKey], pathLength + 1);
|
|
142056
|
+
}
|
|
142146
142057
|
} else {
|
|
142147
|
-
|
|
142148
|
-
|
|
142149
|
-
nv = i !== lastPathIndex ? ov : isCensorFct ? censorFctTakesPath ? censor(ov, [...path12, originalKey, ...afterPath]) : censor(ov) : censor;
|
|
142150
|
-
if (has2(n, k) && nv === ov || nv === void 0 && censor !== void 0) {
|
|
142058
|
+
if (remove) {
|
|
142059
|
+
removeKey(current, afterWildcard);
|
|
142151
142060
|
} else {
|
|
142152
|
-
const
|
|
142153
|
-
|
|
142154
|
-
|
|
142061
|
+
const fullPath = [...pathArray.slice(0, pathLength), ...afterWildcard];
|
|
142062
|
+
const actualCensor = typeof censor === "function" ? censor(getValue2(current, afterWildcard), fullPath) : censor;
|
|
142063
|
+
setValue(current, afterWildcard, actualCensor);
|
|
142155
142064
|
}
|
|
142156
|
-
n = n[k];
|
|
142157
142065
|
}
|
|
142158
|
-
|
|
142159
|
-
|
|
142066
|
+
}
|
|
142067
|
+
if (beforeWildcard.length === 0) {
|
|
142068
|
+
traverse(obj, 0);
|
|
142069
|
+
} else {
|
|
142070
|
+
let current = obj;
|
|
142071
|
+
for (let i = 0; i < beforeWildcard.length; i++) {
|
|
142072
|
+
const part = beforeWildcard[i];
|
|
142073
|
+
if (current === null || current === void 0) return;
|
|
142074
|
+
if (typeof current !== "object" || current === null) return;
|
|
142075
|
+
current = current[part];
|
|
142076
|
+
pathArray[i] = part;
|
|
142077
|
+
}
|
|
142078
|
+
if (current !== null && current !== void 0) {
|
|
142079
|
+
traverse(current, beforeWildcard.length);
|
|
142160
142080
|
}
|
|
142161
142081
|
}
|
|
142162
142082
|
}
|
|
142163
|
-
function
|
|
142164
|
-
|
|
142165
|
-
|
|
142166
|
-
var n = o;
|
|
142167
|
-
while (n != null && ++i < l) {
|
|
142168
|
-
n = n[p[i]];
|
|
142083
|
+
function buildPathStructure(pathsToClone) {
|
|
142084
|
+
if (pathsToClone.length === 0) {
|
|
142085
|
+
return null;
|
|
142169
142086
|
}
|
|
142170
|
-
|
|
142171
|
-
|
|
142172
|
-
|
|
142173
|
-
|
|
142174
|
-
|
|
142175
|
-
|
|
142176
|
-
|
|
142177
|
-
|
|
142178
|
-
ov = wcov[k];
|
|
142087
|
+
const pathStructure = /* @__PURE__ */ new Map();
|
|
142088
|
+
for (const path12 of pathsToClone) {
|
|
142089
|
+
const parts = parsePath(path12);
|
|
142090
|
+
let current = pathStructure;
|
|
142091
|
+
for (let i = 0; i < parts.length; i++) {
|
|
142092
|
+
const part = parts[i];
|
|
142093
|
+
if (!current.has(part)) {
|
|
142094
|
+
current.set(part, /* @__PURE__ */ new Map());
|
|
142179
142095
|
}
|
|
142180
|
-
|
|
142181
|
-
|
|
142182
|
-
|
|
142183
|
-
|
|
142184
|
-
|
|
142185
|
-
|
|
142186
|
-
|
|
142187
|
-
|
|
142096
|
+
current = current.get(part);
|
|
142097
|
+
}
|
|
142098
|
+
}
|
|
142099
|
+
return pathStructure;
|
|
142100
|
+
}
|
|
142101
|
+
function selectiveClone(obj, pathStructure) {
|
|
142102
|
+
if (!pathStructure) {
|
|
142103
|
+
return obj;
|
|
142104
|
+
}
|
|
142105
|
+
function cloneSelectively(source, pathMap, depth = 0) {
|
|
142106
|
+
if (!pathMap || pathMap.size === 0) {
|
|
142107
|
+
return source;
|
|
142108
|
+
}
|
|
142109
|
+
if (source === null || typeof source !== "object") {
|
|
142110
|
+
return source;
|
|
142111
|
+
}
|
|
142112
|
+
if (source instanceof Date) {
|
|
142113
|
+
return new Date(source.getTime());
|
|
142114
|
+
}
|
|
142115
|
+
if (Array.isArray(source)) {
|
|
142116
|
+
const cloned2 = [];
|
|
142117
|
+
for (let i = 0; i < source.length; i++) {
|
|
142118
|
+
const indexStr = i.toString();
|
|
142119
|
+
if (pathMap.has(indexStr) || pathMap.has("*")) {
|
|
142120
|
+
cloned2[i] = cloneSelectively(source[i], pathMap.get(indexStr) || pathMap.get("*"));
|
|
142188
142121
|
} else {
|
|
142189
|
-
|
|
142190
|
-
store.push(rv);
|
|
142191
|
-
wcov[k] = nv;
|
|
142122
|
+
cloned2[i] = source[i];
|
|
142192
142123
|
}
|
|
142193
142124
|
}
|
|
142125
|
+
return cloned2;
|
|
142194
142126
|
}
|
|
142195
|
-
|
|
142196
|
-
|
|
142197
|
-
|
|
142198
|
-
|
|
142199
|
-
|
|
142127
|
+
const cloned = Object.create(Object.getPrototypeOf(source));
|
|
142128
|
+
for (const key in source) {
|
|
142129
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
142130
|
+
if (pathMap.has(key) || pathMap.has("*")) {
|
|
142131
|
+
cloned[key] = cloneSelectively(source[key], pathMap.get(key) || pathMap.get("*"));
|
|
142132
|
+
} else {
|
|
142133
|
+
cloned[key] = source[key];
|
|
142134
|
+
}
|
|
142135
|
+
}
|
|
142200
142136
|
}
|
|
142137
|
+
return cloned;
|
|
142201
142138
|
}
|
|
142139
|
+
return cloneSelectively(obj, pathStructure);
|
|
142202
142140
|
}
|
|
142203
|
-
function
|
|
142204
|
-
|
|
142205
|
-
|
|
142206
|
-
function node(parent, key, depth) {
|
|
142207
|
-
if (parent.depth === depth) {
|
|
142208
|
-
return node(parent.parent, key, depth);
|
|
142141
|
+
function validatePath(path12) {
|
|
142142
|
+
if (typeof path12 !== "string") {
|
|
142143
|
+
throw new Error("Paths must be (non-empty) strings");
|
|
142209
142144
|
}
|
|
142210
|
-
|
|
142211
|
-
|
|
142212
|
-
|
|
142213
|
-
|
|
142214
|
-
|
|
142215
|
-
}
|
|
142216
|
-
|
|
142217
|
-
|
|
142218
|
-
|
|
142219
|
-
|
|
142220
|
-
let
|
|
142221
|
-
|
|
142222
|
-
|
|
142223
|
-
path12
|
|
142224
|
-
|
|
142225
|
-
|
|
142226
|
-
|
|
142227
|
-
|
|
142228
|
-
|
|
142229
|
-
|
|
142230
|
-
|
|
142231
|
-
|
|
142232
|
-
|
|
142233
|
-
|
|
142234
|
-
|
|
142235
|
-
|
|
142236
|
-
|
|
142237
|
-
|
|
142238
|
-
|
|
142239
|
-
if (this.restore) {
|
|
142240
|
-
this.restore.state.secret = this.secret;
|
|
142241
|
-
return;
|
|
142145
|
+
if (path12 === "") {
|
|
142146
|
+
throw new Error("Invalid redaction path ()");
|
|
142147
|
+
}
|
|
142148
|
+
if (path12.includes("..")) {
|
|
142149
|
+
throw new Error(`Invalid redaction path (${path12})`);
|
|
142150
|
+
}
|
|
142151
|
+
if (path12.includes(",")) {
|
|
142152
|
+
throw new Error(`Invalid redaction path (${path12})`);
|
|
142153
|
+
}
|
|
142154
|
+
let bracketCount = 0;
|
|
142155
|
+
let inQuotes = false;
|
|
142156
|
+
let quoteChar = "";
|
|
142157
|
+
for (let i = 0; i < path12.length; i++) {
|
|
142158
|
+
const char = path12[i];
|
|
142159
|
+
if ((char === '"' || char === "'") && bracketCount > 0) {
|
|
142160
|
+
if (!inQuotes) {
|
|
142161
|
+
inQuotes = true;
|
|
142162
|
+
quoteChar = char;
|
|
142163
|
+
} else if (char === quoteChar) {
|
|
142164
|
+
inQuotes = false;
|
|
142165
|
+
quoteChar = "";
|
|
142166
|
+
}
|
|
142167
|
+
} else if (char === "[" && !inQuotes) {
|
|
142168
|
+
bracketCount++;
|
|
142169
|
+
} else if (char === "]" && !inQuotes) {
|
|
142170
|
+
bracketCount--;
|
|
142171
|
+
if (bracketCount < 0) {
|
|
142172
|
+
throw new Error(`Invalid redaction path (${path12})`);
|
|
142173
|
+
}
|
|
142242
142174
|
}
|
|
142243
|
-
const { secret, wcLen } = this;
|
|
142244
|
-
const paths = Object.keys(secret);
|
|
142245
|
-
const resetters = resetTmpl(secret, paths);
|
|
142246
|
-
const hasWildcards = wcLen > 0;
|
|
142247
|
-
const state = hasWildcards ? { secret, groupRestore, nestedRestore } : { secret };
|
|
142248
|
-
this.restore = Function(
|
|
142249
|
-
"o",
|
|
142250
|
-
restoreTmpl(resetters, paths, hasWildcards)
|
|
142251
|
-
).bind(state);
|
|
142252
|
-
this.restore.state = state;
|
|
142253
|
-
};
|
|
142254
|
-
}
|
|
142255
|
-
function resetTmpl(secret, paths) {
|
|
142256
|
-
return paths.map((path12) => {
|
|
142257
|
-
const { circle, escPath, leadingBracket } = secret[path12];
|
|
142258
|
-
const delim = leadingBracket ? "" : ".";
|
|
142259
|
-
const reset2 = circle ? `o.${circle} = secret[${escPath}].val` : `o${delim}${path12} = secret[${escPath}].val`;
|
|
142260
|
-
const clear = `secret[${escPath}].val = undefined`;
|
|
142261
|
-
return `
|
|
142262
|
-
if (secret[${escPath}].val !== undefined) {
|
|
142263
|
-
try { ${reset2} } catch (e) {}
|
|
142264
|
-
${clear}
|
|
142265
142175
|
}
|
|
142266
|
-
|
|
142267
|
-
|
|
142268
|
-
}
|
|
142269
|
-
function restoreTmpl(resetters, paths, hasWildcards) {
|
|
142270
|
-
const dynamicReset = hasWildcards === true ? `
|
|
142271
|
-
const keys = Object.keys(secret)
|
|
142272
|
-
const len = keys.length
|
|
142273
|
-
for (var i = len - 1; i >= ${paths.length}; i--) {
|
|
142274
|
-
const k = keys[i]
|
|
142275
|
-
const o = secret[k]
|
|
142276
|
-
if (o) {
|
|
142277
|
-
if (o.flat === true) this.groupRestore(o)
|
|
142278
|
-
else this.nestedRestore(o)
|
|
142279
|
-
secret[k] = null
|
|
142176
|
+
if (bracketCount !== 0) {
|
|
142177
|
+
throw new Error(`Invalid redaction path (${path12})`);
|
|
142280
142178
|
}
|
|
142281
142179
|
}
|
|
142282
|
-
|
|
142283
|
-
|
|
142284
|
-
|
|
142285
|
-
|
|
142286
|
-
|
|
142287
|
-
|
|
142288
|
-
|
|
142180
|
+
function validatePaths(paths) {
|
|
142181
|
+
if (!Array.isArray(paths)) {
|
|
142182
|
+
throw new TypeError("paths must be an array");
|
|
142183
|
+
}
|
|
142184
|
+
for (const path12 of paths) {
|
|
142185
|
+
validatePath(path12);
|
|
142186
|
+
}
|
|
142289
142187
|
}
|
|
142290
|
-
|
|
142291
|
-
});
|
|
142292
|
-
|
|
142293
|
-
// ../../node_modules/fast-redact/lib/state.js
|
|
142294
|
-
var require_state2 = __commonJS({
|
|
142295
|
-
"../../node_modules/fast-redact/lib/state.js"(exports2, module2) {
|
|
142296
|
-
"use strict";
|
|
142297
|
-
module2.exports = state;
|
|
142298
|
-
function state(o) {
|
|
142188
|
+
function slowRedact(options = {}) {
|
|
142299
142189
|
const {
|
|
142300
|
-
|
|
142301
|
-
censor,
|
|
142302
|
-
|
|
142303
|
-
|
|
142304
|
-
|
|
142305
|
-
|
|
142306
|
-
|
|
142307
|
-
|
|
142308
|
-
|
|
142309
|
-
|
|
142310
|
-
|
|
142311
|
-
|
|
142312
|
-
|
|
142313
|
-
|
|
142314
|
-
|
|
142315
|
-
}
|
|
142316
|
-
|
|
142317
|
-
|
|
142318
|
-
|
|
142319
|
-
|
|
142320
|
-
|
|
142321
|
-
|
|
142322
|
-
|
|
142323
|
-
|
|
142324
|
-
|
|
142325
|
-
|
|
142326
|
-
|
|
142327
|
-
|
|
142328
|
-
|
|
142329
|
-
|
|
142330
|
-
|
|
142331
|
-
|
|
142332
|
-
|
|
142333
|
-
|
|
142334
|
-
|
|
142335
|
-
function fastRedact(opts = {}) {
|
|
142336
|
-
const paths = Array.from(new Set(opts.paths || []));
|
|
142337
|
-
const serialize = "serialize" in opts ? opts.serialize === false ? opts.serialize : typeof opts.serialize === "function" ? opts.serialize : JSON.stringify : JSON.stringify;
|
|
142338
|
-
const remove = opts.remove;
|
|
142339
|
-
if (remove === true && serialize !== JSON.stringify) {
|
|
142340
|
-
throw Error("fast-redact \u2013 remove option may only be set when serializer is JSON.stringify");
|
|
142341
|
-
}
|
|
142342
|
-
const censor = remove === true ? void 0 : "censor" in opts ? opts.censor : DEFAULT_CENSOR;
|
|
142343
|
-
const isCensorFct = typeof censor === "function";
|
|
142344
|
-
const censorFctTakesPath = isCensorFct && censor.length > 1;
|
|
142345
|
-
if (paths.length === 0) return serialize || noop;
|
|
142346
|
-
validate6({ paths, serialize, censor });
|
|
142347
|
-
const { wildcards, wcLen, secret } = parse4({ paths, censor });
|
|
142348
|
-
const compileRestore = restorer();
|
|
142349
|
-
const strict = "strict" in opts ? opts.strict : true;
|
|
142350
|
-
return redactor({ secret, wcLen, serialize, strict, isCensorFct, censorFctTakesPath }, state({
|
|
142351
|
-
secret,
|
|
142352
|
-
censor,
|
|
142353
|
-
compileRestore,
|
|
142354
|
-
serialize,
|
|
142355
|
-
groupRedact,
|
|
142356
|
-
nestedRedact,
|
|
142357
|
-
wildcards,
|
|
142358
|
-
wcLen
|
|
142359
|
-
}));
|
|
142190
|
+
paths = [],
|
|
142191
|
+
censor = "[REDACTED]",
|
|
142192
|
+
serialize = JSON.stringify,
|
|
142193
|
+
strict = true,
|
|
142194
|
+
remove = false
|
|
142195
|
+
} = options;
|
|
142196
|
+
validatePaths(paths);
|
|
142197
|
+
const pathStructure = buildPathStructure(paths);
|
|
142198
|
+
return function redact(obj) {
|
|
142199
|
+
if (strict && (obj === null || typeof obj !== "object")) {
|
|
142200
|
+
if (obj === null || obj === void 0) {
|
|
142201
|
+
return serialize ? serialize(obj) : obj;
|
|
142202
|
+
}
|
|
142203
|
+
if (typeof obj !== "object") {
|
|
142204
|
+
return serialize ? serialize(obj) : obj;
|
|
142205
|
+
}
|
|
142206
|
+
}
|
|
142207
|
+
const cloned = selectiveClone(obj, pathStructure);
|
|
142208
|
+
const original = obj;
|
|
142209
|
+
let actualCensor = censor;
|
|
142210
|
+
if (typeof censor === "function") {
|
|
142211
|
+
actualCensor = censor;
|
|
142212
|
+
}
|
|
142213
|
+
redactPaths(cloned, paths, actualCensor, remove);
|
|
142214
|
+
if (serialize === false) {
|
|
142215
|
+
cloned.restore = function() {
|
|
142216
|
+
return deepClone(original);
|
|
142217
|
+
};
|
|
142218
|
+
return cloned;
|
|
142219
|
+
}
|
|
142220
|
+
if (typeof serialize === "function") {
|
|
142221
|
+
return serialize(cloned);
|
|
142222
|
+
}
|
|
142223
|
+
return JSON.stringify(cloned);
|
|
142224
|
+
};
|
|
142360
142225
|
}
|
|
142226
|
+
module2.exports = slowRedact;
|
|
142361
142227
|
}
|
|
142362
142228
|
});
|
|
142363
142229
|
|
|
@@ -142436,17 +142302,13 @@ var require_symbols = __commonJS({
|
|
|
142436
142302
|
var require_redaction = __commonJS({
|
|
142437
142303
|
"../../node_modules/pino/lib/redaction.js"(exports2, module2) {
|
|
142438
142304
|
"use strict";
|
|
142439
|
-
var
|
|
142305
|
+
var slowRedact = require_slow_redact();
|
|
142440
142306
|
var { redactFmtSym, wildcardFirstSym } = require_symbols();
|
|
142441
|
-
var
|
|
142442
|
-
var validate6 = validator({
|
|
142443
|
-
ERR_PATHS_MUST_BE_STRINGS: () => "pino \u2013 redacted paths must be strings",
|
|
142444
|
-
ERR_INVALID_PATH: (s) => `pino \u2013 redact paths array contains an invalid path (${s})`
|
|
142445
|
-
});
|
|
142307
|
+
var rx = /[^.[\]]+|\[([^[\]]*?)\]/g;
|
|
142446
142308
|
var CENSOR = "[Redacted]";
|
|
142447
142309
|
var strict = false;
|
|
142448
142310
|
function redaction(opts, serialize) {
|
|
142449
|
-
const { paths, censor } = handle(opts);
|
|
142311
|
+
const { paths, censor, remove } = handle(opts);
|
|
142450
142312
|
const shape = paths.reduce((o, str) => {
|
|
142451
142313
|
rx.lastIndex = 0;
|
|
142452
142314
|
const first = rx.exec(str);
|
|
@@ -142479,7 +142341,7 @@ var require_redaction = __commonJS({
|
|
|
142479
142341
|
return o;
|
|
142480
142342
|
}, {});
|
|
142481
142343
|
const result = {
|
|
142482
|
-
[redactFmtSym]:
|
|
142344
|
+
[redactFmtSym]: slowRedact({ paths, censor, serialize, strict, remove })
|
|
142483
142345
|
};
|
|
142484
142346
|
const topCensor = (...args) => {
|
|
142485
142347
|
return typeof censor === "function" ? serialize(censor(...args)) : serialize(censor);
|
|
@@ -142491,11 +142353,12 @@ var require_redaction = __commonJS({
|
|
|
142491
142353
|
const wrappedCensor = typeof censor === "function" ? (value, path12) => {
|
|
142492
142354
|
return censor(value, [k, ...path12]);
|
|
142493
142355
|
} : censor;
|
|
142494
|
-
o[k] =
|
|
142356
|
+
o[k] = slowRedact({
|
|
142495
142357
|
paths: shape[k],
|
|
142496
142358
|
censor: wrappedCensor,
|
|
142497
142359
|
serialize,
|
|
142498
|
-
strict
|
|
142360
|
+
strict,
|
|
142361
|
+
remove
|
|
142499
142362
|
});
|
|
142500
142363
|
}
|
|
142501
142364
|
return o;
|
|
@@ -142504,7 +142367,6 @@ var require_redaction = __commonJS({
|
|
|
142504
142367
|
function handle(opts) {
|
|
142505
142368
|
if (Array.isArray(opts)) {
|
|
142506
142369
|
opts = { paths: opts, censor: CENSOR };
|
|
142507
|
-
validate6(opts);
|
|
142508
142370
|
return opts;
|
|
142509
142371
|
}
|
|
142510
142372
|
let { paths, censor = CENSOR, remove } = opts;
|
|
@@ -142512,8 +142374,7 @@ var require_redaction = __commonJS({
|
|
|
142512
142374
|
throw Error("pino \u2013 redact must contain an array of strings");
|
|
142513
142375
|
}
|
|
142514
142376
|
if (remove === true) censor = void 0;
|
|
142515
|
-
|
|
142516
|
-
return { paths, censor };
|
|
142377
|
+
return { paths, censor, remove };
|
|
142517
142378
|
}
|
|
142518
142379
|
module2.exports = redaction;
|
|
142519
142380
|
}
|
|
@@ -144617,7 +144478,7 @@ var require_levels = __commonJS({
|
|
|
144617
144478
|
var require_meta = __commonJS({
|
|
144618
144479
|
"../../node_modules/pino/lib/meta.js"(exports2, module2) {
|
|
144619
144480
|
"use strict";
|
|
144620
|
-
module2.exports = { version: "9.
|
|
144481
|
+
module2.exports = { version: "9.12.0" };
|
|
144621
144482
|
}
|
|
144622
144483
|
});
|
|
144623
144484
|
|
|
@@ -146721,7 +146582,7 @@ var require_semver = __commonJS({
|
|
|
146721
146582
|
});
|
|
146722
146583
|
|
|
146723
146584
|
// ../../node_modules/semver/functions/parse.js
|
|
146724
|
-
var
|
|
146585
|
+
var require_parse = __commonJS({
|
|
146725
146586
|
"../../node_modules/semver/functions/parse.js"(exports2, module2) {
|
|
146726
146587
|
"use strict";
|
|
146727
146588
|
var SemVer = require_semver();
|
|
@@ -146746,7 +146607,7 @@ var require_parse2 = __commonJS({
|
|
|
146746
146607
|
var require_valid = __commonJS({
|
|
146747
146608
|
"../../node_modules/semver/functions/valid.js"(exports2, module2) {
|
|
146748
146609
|
"use strict";
|
|
146749
|
-
var parse4 =
|
|
146610
|
+
var parse4 = require_parse();
|
|
146750
146611
|
var valid = (version5, options) => {
|
|
146751
146612
|
const v = parse4(version5, options);
|
|
146752
146613
|
return v ? v.version : null;
|
|
@@ -146759,7 +146620,7 @@ var require_valid = __commonJS({
|
|
|
146759
146620
|
var require_clean = __commonJS({
|
|
146760
146621
|
"../../node_modules/semver/functions/clean.js"(exports2, module2) {
|
|
146761
146622
|
"use strict";
|
|
146762
|
-
var parse4 =
|
|
146623
|
+
var parse4 = require_parse();
|
|
146763
146624
|
var clean2 = (version5, options) => {
|
|
146764
146625
|
const s = parse4(version5.trim().replace(/^[=v]+/, ""), options);
|
|
146765
146626
|
return s ? s.version : null;
|
|
@@ -146796,7 +146657,7 @@ var require_inc = __commonJS({
|
|
|
146796
146657
|
var require_diff = __commonJS({
|
|
146797
146658
|
"../../node_modules/semver/functions/diff.js"(exports2, module2) {
|
|
146798
146659
|
"use strict";
|
|
146799
|
-
var parse4 =
|
|
146660
|
+
var parse4 = require_parse();
|
|
146800
146661
|
var diff = (version1, version22) => {
|
|
146801
146662
|
const v1 = parse4(version1, null, true);
|
|
146802
146663
|
const v2 = parse4(version22, null, true);
|
|
@@ -146870,7 +146731,7 @@ var require_patch = __commonJS({
|
|
|
146870
146731
|
var require_prerelease = __commonJS({
|
|
146871
146732
|
"../../node_modules/semver/functions/prerelease.js"(exports2, module2) {
|
|
146872
146733
|
"use strict";
|
|
146873
|
-
var parse4 =
|
|
146734
|
+
var parse4 = require_parse();
|
|
146874
146735
|
var prerelease = (version5, options) => {
|
|
146875
146736
|
const parsed = parse4(version5, options);
|
|
146876
146737
|
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
|
|
@@ -147058,7 +146919,7 @@ var require_coerce = __commonJS({
|
|
|
147058
146919
|
"../../node_modules/semver/functions/coerce.js"(exports2, module2) {
|
|
147059
146920
|
"use strict";
|
|
147060
146921
|
var SemVer = require_semver();
|
|
147061
|
-
var parse4 =
|
|
146922
|
+
var parse4 = require_parse();
|
|
147062
146923
|
var { safeRe: re, t } = require_re();
|
|
147063
146924
|
var coerce = (version5, options) => {
|
|
147064
146925
|
if (version5 instanceof SemVer) {
|
|
@@ -148109,7 +147970,7 @@ var require_semver2 = __commonJS({
|
|
|
148109
147970
|
var constants = require_constants7();
|
|
148110
147971
|
var SemVer = require_semver();
|
|
148111
147972
|
var identifiers = require_identifiers();
|
|
148112
|
-
var parse4 =
|
|
147973
|
+
var parse4 = require_parse();
|
|
148113
147974
|
var valid = require_valid();
|
|
148114
147975
|
var clean2 = require_clean();
|
|
148115
147976
|
var inc = require_inc();
|
|
@@ -153006,7 +152867,8 @@ var require_filesystem = __commonJS({
|
|
|
153006
152867
|
const buffer2 = Buffer.alloc(MAX_LENGTH);
|
|
153007
152868
|
fs3.read(fd, buffer2, 0, MAX_LENGTH, 0, (_, bytesRead) => {
|
|
153008
152869
|
resolve2(buffer2.subarray(0, bytesRead));
|
|
153009
|
-
fs3.close(fd)
|
|
152870
|
+
fs3.close(fd, () => {
|
|
152871
|
+
});
|
|
153010
152872
|
});
|
|
153011
152873
|
}
|
|
153012
152874
|
});
|
|
@@ -168046,7 +167908,7 @@ var require_version28 = __commonJS({
|
|
|
168046
167908
|
"use strict";
|
|
168047
167909
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
168048
167910
|
exports2.version = void 0;
|
|
168049
|
-
exports2.version = "2.37.
|
|
167911
|
+
exports2.version = "2.37.9";
|
|
168050
167912
|
}
|
|
168051
167913
|
});
|
|
168052
167914
|
|
|
@@ -188762,6 +188624,8 @@ var require_webSocket = __commonJS({
|
|
|
188762
188624
|
onClose();
|
|
188763
188625
|
}
|
|
188764
188626
|
function onMessage({ data }) {
|
|
188627
|
+
if (typeof data === "string" && data.trim().length === 0)
|
|
188628
|
+
return;
|
|
188765
188629
|
try {
|
|
188766
188630
|
const _data = JSON.parse(data);
|
|
188767
188631
|
onResponse(_data);
|
|
@@ -235169,6 +235033,68 @@ var require_jocTestnet = __commonJS({
|
|
|
235169
235033
|
}
|
|
235170
235034
|
});
|
|
235171
235035
|
|
|
235036
|
+
// ../../node_modules/viem/_cjs/chains/definitions/jovay.js
|
|
235037
|
+
var require_jovay = __commonJS({
|
|
235038
|
+
"../../node_modules/viem/_cjs/chains/definitions/jovay.js"(exports2) {
|
|
235039
|
+
"use strict";
|
|
235040
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
235041
|
+
exports2.jovay = void 0;
|
|
235042
|
+
var defineChain_js_1 = require_defineChain();
|
|
235043
|
+
exports2.jovay = (0, defineChain_js_1.defineChain)({
|
|
235044
|
+
id: 5734951,
|
|
235045
|
+
name: "Jovay Mainnet",
|
|
235046
|
+
nativeCurrency: {
|
|
235047
|
+
decimals: 18,
|
|
235048
|
+
name: "Ether",
|
|
235049
|
+
symbol: "ETH"
|
|
235050
|
+
},
|
|
235051
|
+
rpcUrls: {
|
|
235052
|
+
default: {
|
|
235053
|
+
http: ["https://api.zan.top/public/jovay-mainnet"]
|
|
235054
|
+
}
|
|
235055
|
+
},
|
|
235056
|
+
blockExplorers: {
|
|
235057
|
+
default: {
|
|
235058
|
+
name: "Jovay Explorer",
|
|
235059
|
+
url: "https://explorer.jovay.io"
|
|
235060
|
+
}
|
|
235061
|
+
},
|
|
235062
|
+
testnet: false
|
|
235063
|
+
});
|
|
235064
|
+
}
|
|
235065
|
+
});
|
|
235066
|
+
|
|
235067
|
+
// ../../node_modules/viem/_cjs/chains/definitions/jovaySepolia.js
|
|
235068
|
+
var require_jovaySepolia = __commonJS({
|
|
235069
|
+
"../../node_modules/viem/_cjs/chains/definitions/jovaySepolia.js"(exports2) {
|
|
235070
|
+
"use strict";
|
|
235071
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
235072
|
+
exports2.jovaySepolia = void 0;
|
|
235073
|
+
var defineChain_js_1 = require_defineChain();
|
|
235074
|
+
exports2.jovaySepolia = (0, defineChain_js_1.defineChain)({
|
|
235075
|
+
id: 2019775,
|
|
235076
|
+
name: "Jovay Sepolia Testnet",
|
|
235077
|
+
nativeCurrency: {
|
|
235078
|
+
decimals: 18,
|
|
235079
|
+
name: "Ether",
|
|
235080
|
+
symbol: "ETH"
|
|
235081
|
+
},
|
|
235082
|
+
rpcUrls: {
|
|
235083
|
+
default: {
|
|
235084
|
+
http: ["https://api.zan.top/public/jovay-testnet"]
|
|
235085
|
+
}
|
|
235086
|
+
},
|
|
235087
|
+
blockExplorers: {
|
|
235088
|
+
default: {
|
|
235089
|
+
name: "Jovay Testnet Explorer",
|
|
235090
|
+
url: "https://sepolia-explorer.jovay.io/l2"
|
|
235091
|
+
}
|
|
235092
|
+
},
|
|
235093
|
+
testnet: true
|
|
235094
|
+
});
|
|
235095
|
+
}
|
|
235096
|
+
});
|
|
235097
|
+
|
|
235172
235098
|
// ../../node_modules/viem/_cjs/chains/definitions/juneo.js
|
|
235173
235099
|
var require_juneo = __commonJS({
|
|
235174
235100
|
"../../node_modules/viem/_cjs/chains/definitions/juneo.js"(exports2) {
|
|
@@ -236702,6 +236628,31 @@ var require_liskSepolia = __commonJS({
|
|
|
236702
236628
|
}
|
|
236703
236629
|
});
|
|
236704
236630
|
|
|
236631
|
+
// ../../node_modules/viem/_cjs/chains/definitions/loadAlphanet.js
|
|
236632
|
+
var require_loadAlphanet = __commonJS({
|
|
236633
|
+
"../../node_modules/viem/_cjs/chains/definitions/loadAlphanet.js"(exports2) {
|
|
236634
|
+
"use strict";
|
|
236635
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
236636
|
+
exports2.loadAlphanet = void 0;
|
|
236637
|
+
var defineChain_js_1 = require_defineChain();
|
|
236638
|
+
exports2.loadAlphanet = (0, defineChain_js_1.defineChain)({
|
|
236639
|
+
id: 9496,
|
|
236640
|
+
name: "Load Alphanet",
|
|
236641
|
+
nativeCurrency: { name: "Testnet LOAD", symbol: "tLOAD", decimals: 18 },
|
|
236642
|
+
rpcUrls: {
|
|
236643
|
+
default: { http: ["https://alphanet.load.network"] }
|
|
236644
|
+
},
|
|
236645
|
+
blockExplorers: {
|
|
236646
|
+
default: {
|
|
236647
|
+
name: "Load Alphanet Explorer",
|
|
236648
|
+
url: "https://explorer.load.network"
|
|
236649
|
+
}
|
|
236650
|
+
},
|
|
236651
|
+
testnet: true
|
|
236652
|
+
});
|
|
236653
|
+
}
|
|
236654
|
+
});
|
|
236655
|
+
|
|
236705
236656
|
// ../../node_modules/viem/_cjs/chains/definitions/localhost.js
|
|
236706
236657
|
var require_localhost = __commonJS({
|
|
236707
236658
|
"../../node_modules/viem/_cjs/chains/definitions/localhost.js"(exports2) {
|
|
@@ -239997,6 +239948,12 @@ var require_plasma = __commonJS({
|
|
|
239997
239948
|
name: "PlasmaScan",
|
|
239998
239949
|
url: "https://plasmascan.to"
|
|
239999
239950
|
}
|
|
239951
|
+
},
|
|
239952
|
+
contracts: {
|
|
239953
|
+
multicall3: {
|
|
239954
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
239955
|
+
blockCreated: 0
|
|
239956
|
+
}
|
|
240000
239957
|
}
|
|
240001
239958
|
});
|
|
240002
239959
|
}
|
|
@@ -240022,7 +239979,13 @@ var require_plasmaDevnet = __commonJS({
|
|
|
240022
239979
|
http: ["https://devnet-rpc.plasma.to"]
|
|
240023
239980
|
}
|
|
240024
239981
|
},
|
|
240025
|
-
testnet: true
|
|
239982
|
+
testnet: true,
|
|
239983
|
+
contracts: {
|
|
239984
|
+
multicall3: {
|
|
239985
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
239986
|
+
blockCreated: 0
|
|
239987
|
+
}
|
|
239988
|
+
}
|
|
240026
239989
|
});
|
|
240027
239990
|
}
|
|
240028
239991
|
});
|
|
@@ -240053,6 +240016,12 @@ var require_plasmaTestnet = __commonJS({
|
|
|
240053
240016
|
url: "https://testnet.plasmascan.to"
|
|
240054
240017
|
}
|
|
240055
240018
|
},
|
|
240019
|
+
contracts: {
|
|
240020
|
+
multicall3: {
|
|
240021
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
240022
|
+
blockCreated: 0
|
|
240023
|
+
}
|
|
240024
|
+
},
|
|
240056
240025
|
testnet: true
|
|
240057
240026
|
});
|
|
240058
240027
|
}
|
|
@@ -247519,14 +247488,14 @@ var require_chains2 = __commonJS({
|
|
|
247519
247488
|
exports2.edexaTestnet = exports2.edexa = exports2.dymension = exports2.dustboyIoT = exports2.dreyerxTestnet = exports2.dreyerxMainnet = exports2.dosChainTestnet = exports2.dosChain = exports2.donatuz = exports2.dogechain = exports2.dodochainTestnet = exports2.disChain = exports2.diode = exports2.dfk = exports2.degen = exports2.defichainEvmTestnet = exports2.defichainEvm = exports2.dchainTestnet = exports2.dchain = exports2.dbkchain = exports2.darwinia = exports2.dailyNetworkTestnet = exports2.dailyNetwork = exports2.cyberTestnet = exports2.cyber = exports2.curtis = exports2.crossfi = exports2.crossbell = exports2.cronoszkEVMTestnet = exports2.cronoszkEVM = exports2.cronosTestnet = exports2.cronos = exports2.creditCoin3Testnet = exports2.creditCoin3Mainnet = exports2.creditCoin3Devnet = exports2.creatorTestnet = exports2.crab = exports2.cornTestnet = exports2.corn = exports2.coreTestnet2 = exports2.coreTestnet1 = exports2.coreDao = exports2.confluxESpaceTestnet = exports2.confluxESpace = exports2.coinex = exports2.coinbit = exports2.classic = exports2.citreaTestnet = exports2.chips = exports2.chiliz = void 0;
|
|
247520
247489
|
exports2.forma = exports2.form = exports2.fluentTestnet = exports2.fluenceTestnet = exports2.fluenceStage = exports2.fluence = exports2.flowTestnet = exports2.flowPreviewnet = exports2.flowMainnet = exports2.flareTestnet = exports2.flare = exports2.flame = exports2.filecoinHyperspace = exports2.filecoinCalibration = exports2.filecoin = exports2.fibo = exports2.fantomTestnet = exports2.fantomSonicTestnet = exports2.fantom = exports2.exsatTestnet = exports2.exsat = exports2.expanse = exports2.excelonMainnet = exports2.evmosTestnet = exports2.evmos = exports2.etp = exports2.ethernity = exports2.etherlinkTestnet = exports2.etherlink = exports2.eteria = exports2.eosTestnet = exports2.eos = exports2.eon = exports2.enuls = exports2.eniTestnet = exports2.eni = exports2.energy = exports2.elysiumTestnet = exports2.electroneumTestnet = exports2.electroneum = exports2.elastosTestnet = exports2.elastos = exports2.ektaTestnet = exports2.ekta = exports2.eduChainTestnet = exports2.eduChain = exports2.edgewareTestnet = exports2.edgeware = exports2.edgelessTestnet = exports2.edgeless = void 0;
|
|
247521
247490
|
exports2.humanity = exports2.huddle01Testnet = exports2.huddle01Mainnet = exports2.hpb = exports2.hoodi = exports2.holesky = exports2.hemiSepolia = exports2.hemi = exports2.hela = exports2.hederaTestnet = exports2.hederaPreviewnet = exports2.hedera = exports2.haustTestnet = exports2.hashkeyTestnet = exports2.hashkey = exports2.harmonyOne = exports2.hardhat = exports2.haqqTestedge2 = exports2.haqqMainnet = exports2.happychainTestnet = exports2.ham = exports2.guruTestnet = exports2.guruNetwork = exports2.gunz = exports2.gravity = exports2.graphiteTestnet = exports2.graphite = exports2.goerli = exports2.godwoken = exports2.goChain = exports2.gobi = exports2.goat = exports2.gnosisChiado = exports2.gnosis = exports2.glideL2Protocol = exports2.glideL1Protocol = exports2.genesys = exports2.geist = exports2.garnet = exports2.fusionTestnet = exports2.fusion = exports2.fuseSparknet = exports2.fuse = exports2.funkiSepolia = exports2.funkiMainnet = exports2.fraxtalTestnet = exports2.fraxtal = exports2.foundry = exports2.forta = exports2.formTestnet = void 0;
|
|
247522
|
-
exports2.
|
|
247523
|
-
exports2.
|
|
247524
|
-
exports2.
|
|
247525
|
-
exports2.
|
|
247526
|
-
exports2.
|
|
247527
|
-
exports2.
|
|
247528
|
-
exports2.
|
|
247529
|
-
exports2.zoraTestnet = exports2.zoraSepolia = exports2.zora = exports2.zksyncSepoliaTestnet = exports2.zkSyncSepoliaTestnet = exports2.zksyncLocalNode = exports2.zkSyncLocalNode = exports2.zksyncLocalHyperchainL1 = exports2.zksyncLocalHyperchain = exports2.zksyncLocalCustomHyperchain = exports2.zksyncInMemoryNode = exports2.zkSyncInMemoryNode = exports2.zksync = exports2.zkSync = exports2.zkLinkNovaSepoliaTestnet = exports2.zkLinkNova = exports2.zkFairTestnet = exports2.zkFair = exports2.zircuitTestnet = exports2.zircuitGarfieldTestnet = exports2.zircuit = exports2.zilliqaTestnet = exports2.zilliqa = exports2.zhejiang = exports2.zetachainAthensTestnet = exports2.zetachain = exports2.zeroNetwork = exports2.zeniq = exports2.zenchainTestnet = exports2.yooldoVerseTestnet = exports2.yooldoVerse = exports2.xrSepolia = exports2.xrplevmTestnet = exports2.xrplevmDevnet = exports2.xrOne = void 0;
|
|
247491
|
+
exports2.kinto = exports2.kcc = exports2.kavaTestnet = exports2.kava = exports2.katana = exports2.karura = exports2.kardiaChain = exports2.kakarotStarknetSepolia = exports2.kakarotSepolia = exports2.kairos = exports2.kaia = exports2.juneoUSDT1Chain = exports2.juneoUSD1Chain = exports2.juneoSocotraTestnet = exports2.juneoSGD1Chain = exports2.juneomBTC1Chain = exports2.juneoLTC1Chain = exports2.juneoLINK1Chain = exports2.juneoGLD1Chain = exports2.juneoEUR1Chain = exports2.juneoDOGE1Chain = exports2.juneoDAI1Chain = exports2.juneoBCH1Chain = exports2.juneo = exports2.jovaySepolia = exports2.jovay = exports2.jocTestnet = exports2.jocMainnet = exports2.jbcTestnet = exports2.jbc = exports2.iSunCoin = exports2.iotexTestnet = exports2.iotex = exports2.iotaTestnet = exports2.iota = exports2.inkSepolia = exports2.ink = exports2.initVerseGenesis = exports2.initVerse = exports2.inEVM = exports2.immutableZkEvmTestnet = exports2.immutableZkEvm = exports2.idchain = exports2.icbNetwork = exports2.hyperliquidEvmTestnet = exports2.hychainTestnet = exports2.hychain = exports2.humanodeTestnet5 = exports2.humanode = exports2.humanityTestnet = void 0;
|
|
247492
|
+
exports2.merlin = exports2.formicarium = exports2.memecore = exports2.meld = exports2.mekong = exports2.megaethTestnet = exports2.mchVerse = exports2.matchainTestnet = exports2.matchain = exports2.mapProtocol = exports2.mantraEVM = exports2.mantraDuKongEVMTestnet = exports2.mantleTestnet = exports2.mantleSepoliaTestnet = exports2.mantle = exports2.mantaTestnet = exports2.mantaSepoliaTestnet = exports2.manta = exports2.mandala = exports2.mainnet = exports2.lyra = exports2.lycan = exports2.lumozTestnet = exports2.lumoz = exports2.lumiaTestnet = exports2.lumiaMainnet = exports2.luksoTestnet = exports2.lukso = exports2.loop = exports2.localhost = exports2.loadAlphanet = exports2.liskSepolia = exports2.lisk = exports2.lineaTestnet = exports2.lineaSepolia = exports2.lineaGoerli = exports2.linea = exports2.lightlinkPhoenix = exports2.lightlinkPegasus = exports2.lestnet = exports2.lensTestnet = exports2.lens = exports2.lavita = exports2.l3xTestnet = exports2.l3x = exports2.kromaSepolia = exports2.kroma = exports2.koi = exports2.klaytnBaobab = exports2.klaytn = void 0;
|
|
247493
|
+
exports2.optimism = exports2.openledger = exports2.opBNBTestnet = exports2.opBNB = exports2.oortMainnetDev = exports2.oneWorld = exports2.omniOmega = exports2.omni = exports2.omax = exports2.okc = exports2.odysseyTestnet = exports2.oasys = exports2.oasisTestnet = exports2.nibiru = exports2.nexilix = exports2.nexi = exports2.newton = exports2.neoxT4 = exports2.neoxMainnet = exports2.neonMainnet = exports2.neonDevnet = exports2.nearTestnet = exports2.near = exports2.nautilus = exports2.nahmii = exports2.morphSepolia = exports2.morphHolesky = exports2.morph = exports2.moonriver = exports2.moonbeamDev = exports2.moonbeam = exports2.moonbaseAlpha = exports2.monadTestnet = exports2.modeTestnet = exports2.mode = exports2.mitosisTestnet = exports2.mintSepoliaTestnet = exports2.mint = exports2.mevTestnet = exports2.mev = exports2.metisSepolia = exports2.metisGoerli = exports2.metis = exports2.meterTestnet = exports2.meter = exports2.metalL2 = exports2.metadium = exports2.metachainIstanbul = exports2.metachain = exports2.merlinErigonTestnet = void 0;
|
|
247494
|
+
exports2.riseTestnet = exports2.reyaNetwork = exports2.rei = exports2.redstone = exports2.reddioSepolia = exports2.reddio = exports2.redbellyTestnet = exports2.redbellyMainnet = exports2.real = exports2.qTestnet = exports2.qMainnet = exports2.ql1 = exports2.pyrope = exports2.pumpfiTestnet = exports2.pulsechainV4 = exports2.pulsechain = exports2.premiumBlockTestnet = exports2.polynomialSepolia = exports2.polynomial = exports2.polygonZkEvmTestnet = exports2.polygonZkEvmCardona = exports2.polygonZkEvm = exports2.polygonMumbai = exports2.polygonAmoy = exports2.polygon = exports2.polterTestnet = exports2.plumeTestnet = exports2.plumeSepolia = exports2.plumeMainnet = exports2.plumeDevnet = exports2.plume = exports2.plinga = exports2.playfiAlbireo = exports2.plasmaTestnet = exports2.plasmaDevnet = exports2.plasma = exports2.planq = exports2.phoenix = exports2.pgnTestnet = exports2.pgn = exports2.peaq = exports2.palmTestnet = exports2.palm = exports2.otimDevnet = exports2.orderlySepolia = exports2.orderly = exports2.optopiaTestnet = exports2.optopia = exports2.optimismSepolia = exports2.optimismGoerli = void 0;
|
|
247495
|
+
exports2.skaleTitan = exports2.skaleRazor = exports2.skaleNebulaTestnet = exports2.skaleNebula = exports2.skaleHumanProtocol = exports2.skaleExorde = exports2.skaleEuropaTestnet = exports2.skaleEuropa = exports2.skaleCryptoColosseum = exports2.skaleCryptoBlades = exports2.skaleCalypsoTestnet = exports2.skaleCalypso = exports2.skaleBlockBrawlers = exports2.sixProtocol = exports2.siliconSepolia = exports2.silicon = exports2.sidraChain = exports2.shimmerTestnet = exports2.shimmer = exports2.shiden = exports2.shibariumTestnet = exports2.shibarium = exports2.shardeumSphinx = exports2.shardeum = exports2.shapeSepolia = exports2.shape = exports2.sepolia = exports2.seiTestnet = exports2.seismicDevnet = exports2.seiDevnet = exports2.sei = exports2.scrollSepolia = exports2.satoshiVMTestnet = exports2.satoshiVM = exports2.sapphireTestnet = exports2.sapphire = exports2.sanko = exports2.saigon = exports2.saga = exports2.saakuru = exports2.rss3Sepolia = exports2.rss3 = exports2.rootstockTestnet = exports2.rootstock = exports2.rootPorcini = exports2.root = exports2.ronin = exports2.rolluxTestnet = exports2.rollux = exports2.rivalz = void 0;
|
|
247496
|
+
exports2.telosTestnet = exports2.telos = exports2.telcoinTestnet = exports2.teaSepolia = exports2.taraxaTestnet = exports2.taraxa = exports2.taikoTestnetSepolia = exports2.taikoKatla = exports2.taikoJolnir = exports2.taikoHekla = exports2.taiko = exports2.tacSPB = exports2.tac = exports2.syscoinTestnet = exports2.syscoin = exports2.swissdlt = exports2.swellchainTestnet = exports2.swellchain = exports2.swanSaturnTestnet = exports2.swanProximaTestnet = exports2.swan = exports2.superseedSepolia = exports2.superseed = exports2.superposition = exports2.superlumio = exports2.stratis = exports2.storyTestnet = exports2.storyOdyssey = exports2.storyAeneid = exports2.story = exports2.step = exports2.statusNetworkSepolia = exports2.statusSepolia = exports2.spicy = exports2.sovaSepolia = exports2.sova = exports2.sophonTestnet = exports2.sophon = exports2.sonicTestnet = exports2.sonicBlazeTestnet = exports2.sonic = exports2.songbirdTestnet = exports2.songbird = exports2.soneiumMinato = exports2.soneium = exports2.somniaTestnet = exports2.snaxTestnet = exports2.snax = exports2.sketchpad = exports2.skaleTitanTestnet = void 0;
|
|
247497
|
+
exports2.x1Testnet = exports2.xLayer = exports2.xdcTestnet = exports2.xdc = exports2.xaiTestnet = exports2.xai = exports2.worldLand = exports2.worldchainSepolia = exports2.worldchain = exports2.wmcTestnet = exports2.whitechainTestnet = exports2.whitechain = exports2.westendAssetHub = exports2.wemixTestnet = exports2.wemix = exports2.weaveVMAlphanet = exports2.wanchainTestnet = exports2.wanchain = exports2.visionTestnet = exports2.vision = exports2.victionTestnet = exports2.viction = exports2.velas = exports2.vechain = exports2.vanar = exports2.unreal = exports2.uniqueQuartz = exports2.uniqueOpal = exports2.unique = exports2.unichainSepolia = exports2.unichain = exports2.ultronTestnet = exports2.ultron = exports2.ultraTestnet = exports2.ultra = exports2.ubiq = exports2.tronShasta = exports2.tron = exports2.treasureTopaz = exports2.treasure = exports2.tomb = exports2.tiktrixTestnet = exports2.thunderTestnet = exports2.thunderCore = exports2.thetaTestnet = exports2.theta = exports2.that = exports2.thaiChain = exports2.ternoa = exports2.tenet = void 0;
|
|
247498
|
+
exports2.zoraTestnet = exports2.zoraSepolia = exports2.zora = exports2.zksyncSepoliaTestnet = exports2.zkSyncSepoliaTestnet = exports2.zksyncLocalNode = exports2.zkSyncLocalNode = exports2.zksyncLocalHyperchainL1 = exports2.zksyncLocalHyperchain = exports2.zksyncLocalCustomHyperchain = exports2.zksyncInMemoryNode = exports2.zkSyncInMemoryNode = exports2.zksync = exports2.zkSync = exports2.zkLinkNovaSepoliaTestnet = exports2.zkLinkNova = exports2.zkFairTestnet = exports2.zkFair = exports2.zircuitTestnet = exports2.zircuitGarfieldTestnet = exports2.zircuit = exports2.zilliqaTestnet = exports2.zilliqa = exports2.zhejiang = exports2.zetachainAthensTestnet = exports2.zetachain = exports2.zeroNetwork = exports2.zeniq = exports2.zenchainTestnet = exports2.yooldoVerseTestnet = exports2.yooldoVerse = exports2.xrSepolia = exports2.xrplevmTestnet = exports2.xrplevmDevnet = exports2.xrOne = exports2.xphereTestnet = exports2.xphereMainnet = exports2.xLayerTestnet = void 0;
|
|
247530
247499
|
var _0g_js_1 = require_g();
|
|
247531
247500
|
Object.defineProperty(exports2, "zeroG", { enumerable: true, get: function() {
|
|
247532
247501
|
return _0g_js_1.zeroG;
|
|
@@ -248621,6 +248590,14 @@ var require_chains2 = __commonJS({
|
|
|
248621
248590
|
Object.defineProperty(exports2, "jocTestnet", { enumerable: true, get: function() {
|
|
248622
248591
|
return jocTestnet_js_1.jocTestnet;
|
|
248623
248592
|
} });
|
|
248593
|
+
var jovay_js_1 = require_jovay();
|
|
248594
|
+
Object.defineProperty(exports2, "jovay", { enumerable: true, get: function() {
|
|
248595
|
+
return jovay_js_1.jovay;
|
|
248596
|
+
} });
|
|
248597
|
+
var jovaySepolia_js_1 = require_jovaySepolia();
|
|
248598
|
+
Object.defineProperty(exports2, "jovaySepolia", { enumerable: true, get: function() {
|
|
248599
|
+
return jovaySepolia_js_1.jovaySepolia;
|
|
248600
|
+
} });
|
|
248624
248601
|
var juneo_js_1 = require_juneo();
|
|
248625
248602
|
Object.defineProperty(exports2, "juneo", { enumerable: true, get: function() {
|
|
248626
248603
|
return juneo_js_1.juneo;
|
|
@@ -248793,6 +248770,10 @@ var require_chains2 = __commonJS({
|
|
|
248793
248770
|
Object.defineProperty(exports2, "liskSepolia", { enumerable: true, get: function() {
|
|
248794
248771
|
return liskSepolia_js_1.liskSepolia;
|
|
248795
248772
|
} });
|
|
248773
|
+
var loadAlphanet_js_1 = require_loadAlphanet();
|
|
248774
|
+
Object.defineProperty(exports2, "loadAlphanet", { enumerable: true, get: function() {
|
|
248775
|
+
return loadAlphanet_js_1.loadAlphanet;
|
|
248776
|
+
} });
|
|
248796
248777
|
var localhost_js_1 = require_localhost();
|
|
248797
248778
|
Object.defineProperty(exports2, "localhost", { enumerable: true, get: function() {
|
|
248798
248779
|
return localhost_js_1.localhost;
|
|
@@ -297310,6 +297291,940 @@ var require_id4 = __commonJS({
|
|
|
297310
297291
|
}
|
|
297311
297292
|
});
|
|
297312
297293
|
|
|
297294
|
+
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/@adraffy/ens-normalize/dist/index.cjs
|
|
297295
|
+
var require_dist5 = __commonJS({
|
|
297296
|
+
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/@adraffy/ens-normalize/dist/index.cjs"(exports2) {
|
|
297297
|
+
"use strict";
|
|
297298
|
+
var COMPRESSED$1 = "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";
|
|
297299
|
+
var FENCED = /* @__PURE__ */ new Map([[8217, "apostrophe"], [8260, "fraction slash"], [12539, "middle dot"]]);
|
|
297300
|
+
var NSM_MAX = 4;
|
|
297301
|
+
function decode_arithmetic(bytes) {
|
|
297302
|
+
let pos = 0;
|
|
297303
|
+
function u16() {
|
|
297304
|
+
return bytes[pos++] << 8 | bytes[pos++];
|
|
297305
|
+
}
|
|
297306
|
+
let symbol_count = u16();
|
|
297307
|
+
let total = 1;
|
|
297308
|
+
let acc = [0, 1];
|
|
297309
|
+
for (let i = 1; i < symbol_count; i++) {
|
|
297310
|
+
acc.push(total += u16());
|
|
297311
|
+
}
|
|
297312
|
+
let skip = u16();
|
|
297313
|
+
let pos_payload = pos;
|
|
297314
|
+
pos += skip;
|
|
297315
|
+
let read_width = 0;
|
|
297316
|
+
let read_buffer = 0;
|
|
297317
|
+
function read_bit() {
|
|
297318
|
+
if (read_width == 0) {
|
|
297319
|
+
read_buffer = read_buffer << 8 | bytes[pos++];
|
|
297320
|
+
read_width = 8;
|
|
297321
|
+
}
|
|
297322
|
+
return read_buffer >> --read_width & 1;
|
|
297323
|
+
}
|
|
297324
|
+
const N = 31;
|
|
297325
|
+
const FULL = 2 ** N;
|
|
297326
|
+
const HALF = FULL >>> 1;
|
|
297327
|
+
const QRTR = HALF >> 1;
|
|
297328
|
+
const MASK = FULL - 1;
|
|
297329
|
+
let register = 0;
|
|
297330
|
+
for (let i = 0; i < N; i++) register = register << 1 | read_bit();
|
|
297331
|
+
let symbols = [];
|
|
297332
|
+
let low = 0;
|
|
297333
|
+
let range2 = FULL;
|
|
297334
|
+
while (true) {
|
|
297335
|
+
let value = Math.floor(((register - low + 1) * total - 1) / range2);
|
|
297336
|
+
let start = 0;
|
|
297337
|
+
let end = symbol_count;
|
|
297338
|
+
while (end - start > 1) {
|
|
297339
|
+
let mid = start + end >>> 1;
|
|
297340
|
+
if (value < acc[mid]) {
|
|
297341
|
+
end = mid;
|
|
297342
|
+
} else {
|
|
297343
|
+
start = mid;
|
|
297344
|
+
}
|
|
297345
|
+
}
|
|
297346
|
+
if (start == 0) break;
|
|
297347
|
+
symbols.push(start);
|
|
297348
|
+
let a = low + Math.floor(range2 * acc[start] / total);
|
|
297349
|
+
let b = low + Math.floor(range2 * acc[start + 1] / total) - 1;
|
|
297350
|
+
while (((a ^ b) & HALF) == 0) {
|
|
297351
|
+
register = register << 1 & MASK | read_bit();
|
|
297352
|
+
a = a << 1 & MASK;
|
|
297353
|
+
b = b << 1 & MASK | 1;
|
|
297354
|
+
}
|
|
297355
|
+
while (a & ~b & QRTR) {
|
|
297356
|
+
register = register & HALF | register << 1 & MASK >>> 1 | read_bit();
|
|
297357
|
+
a = a << 1 ^ HALF;
|
|
297358
|
+
b = (b ^ HALF) << 1 | HALF | 1;
|
|
297359
|
+
}
|
|
297360
|
+
low = a;
|
|
297361
|
+
range2 = 1 + b - a;
|
|
297362
|
+
}
|
|
297363
|
+
let offset = symbol_count - 4;
|
|
297364
|
+
return symbols.map((x) => {
|
|
297365
|
+
switch (x - offset) {
|
|
297366
|
+
case 3:
|
|
297367
|
+
return offset + 65792 + (bytes[pos_payload++] << 16 | bytes[pos_payload++] << 8 | bytes[pos_payload++]);
|
|
297368
|
+
case 2:
|
|
297369
|
+
return offset + 256 + (bytes[pos_payload++] << 8 | bytes[pos_payload++]);
|
|
297370
|
+
case 1:
|
|
297371
|
+
return offset + bytes[pos_payload++];
|
|
297372
|
+
default:
|
|
297373
|
+
return x - 1;
|
|
297374
|
+
}
|
|
297375
|
+
});
|
|
297376
|
+
}
|
|
297377
|
+
function read_payload(v) {
|
|
297378
|
+
let pos = 0;
|
|
297379
|
+
return () => v[pos++];
|
|
297380
|
+
}
|
|
297381
|
+
function read_compressed_payload(s) {
|
|
297382
|
+
return read_payload(decode_arithmetic(unsafe_atob(s)));
|
|
297383
|
+
}
|
|
297384
|
+
function unsafe_atob(s) {
|
|
297385
|
+
let lookup = [];
|
|
297386
|
+
[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((c, i) => lookup[c.charCodeAt(0)] = i);
|
|
297387
|
+
let n = s.length;
|
|
297388
|
+
let ret = new Uint8Array(6 * n >> 3);
|
|
297389
|
+
for (let i = 0, pos = 0, width = 0, carry = 0; i < n; i++) {
|
|
297390
|
+
carry = carry << 6 | lookup[s.charCodeAt(i)];
|
|
297391
|
+
width += 6;
|
|
297392
|
+
if (width >= 8) {
|
|
297393
|
+
ret[pos++] = carry >> (width -= 8);
|
|
297394
|
+
}
|
|
297395
|
+
}
|
|
297396
|
+
return ret;
|
|
297397
|
+
}
|
|
297398
|
+
function signed(i) {
|
|
297399
|
+
return i & 1 ? ~i >> 1 : i >> 1;
|
|
297400
|
+
}
|
|
297401
|
+
function read_deltas(n, next) {
|
|
297402
|
+
let v = Array(n);
|
|
297403
|
+
for (let i = 0, x = 0; i < n; i++) v[i] = x += signed(next());
|
|
297404
|
+
return v;
|
|
297405
|
+
}
|
|
297406
|
+
function read_sorted(next, prev = 0) {
|
|
297407
|
+
let ret = [];
|
|
297408
|
+
while (true) {
|
|
297409
|
+
let x = next();
|
|
297410
|
+
let n = next();
|
|
297411
|
+
if (!n) break;
|
|
297412
|
+
prev += x;
|
|
297413
|
+
for (let i = 0; i < n; i++) {
|
|
297414
|
+
ret.push(prev + i);
|
|
297415
|
+
}
|
|
297416
|
+
prev += n + 1;
|
|
297417
|
+
}
|
|
297418
|
+
return ret;
|
|
297419
|
+
}
|
|
297420
|
+
function read_sorted_arrays(next) {
|
|
297421
|
+
return read_array_while(() => {
|
|
297422
|
+
let v = read_sorted(next);
|
|
297423
|
+
if (v.length) return v;
|
|
297424
|
+
});
|
|
297425
|
+
}
|
|
297426
|
+
function read_mapped(next) {
|
|
297427
|
+
let ret = [];
|
|
297428
|
+
while (true) {
|
|
297429
|
+
let w = next();
|
|
297430
|
+
if (w == 0) break;
|
|
297431
|
+
ret.push(read_linear_table(w, next));
|
|
297432
|
+
}
|
|
297433
|
+
while (true) {
|
|
297434
|
+
let w = next() - 1;
|
|
297435
|
+
if (w < 0) break;
|
|
297436
|
+
ret.push(read_replacement_table(w, next));
|
|
297437
|
+
}
|
|
297438
|
+
return ret.flat();
|
|
297439
|
+
}
|
|
297440
|
+
function read_array_while(next) {
|
|
297441
|
+
let v = [];
|
|
297442
|
+
while (true) {
|
|
297443
|
+
let x = next(v.length);
|
|
297444
|
+
if (!x) break;
|
|
297445
|
+
v.push(x);
|
|
297446
|
+
}
|
|
297447
|
+
return v;
|
|
297448
|
+
}
|
|
297449
|
+
function read_transposed(n, w, next) {
|
|
297450
|
+
let m = Array(n).fill().map(() => []);
|
|
297451
|
+
for (let i = 0; i < w; i++) {
|
|
297452
|
+
read_deltas(n, next).forEach((x, j) => m[j].push(x));
|
|
297453
|
+
}
|
|
297454
|
+
return m;
|
|
297455
|
+
}
|
|
297456
|
+
function read_linear_table(w, next) {
|
|
297457
|
+
let dx = 1 + next();
|
|
297458
|
+
let dy = next();
|
|
297459
|
+
let vN = read_array_while(next);
|
|
297460
|
+
let m = read_transposed(vN.length, 1 + w, next);
|
|
297461
|
+
return m.flatMap((v, i) => {
|
|
297462
|
+
let [x, ...ys] = v;
|
|
297463
|
+
return Array(vN[i]).fill().map((_, j) => {
|
|
297464
|
+
let j_dy = j * dy;
|
|
297465
|
+
return [x + j * dx, ys.map((y) => y + j_dy)];
|
|
297466
|
+
});
|
|
297467
|
+
});
|
|
297468
|
+
}
|
|
297469
|
+
function read_replacement_table(w, next) {
|
|
297470
|
+
let n = 1 + next();
|
|
297471
|
+
let m = read_transposed(n, 1 + w, next);
|
|
297472
|
+
return m.map((v) => [v[0], v.slice(1)]);
|
|
297473
|
+
}
|
|
297474
|
+
function read_trie(next) {
|
|
297475
|
+
let ret = [];
|
|
297476
|
+
let sorted = read_sorted(next);
|
|
297477
|
+
expand(decode4([]), []);
|
|
297478
|
+
return ret;
|
|
297479
|
+
function decode4(Q) {
|
|
297480
|
+
let S = next();
|
|
297481
|
+
let B = read_array_while(() => {
|
|
297482
|
+
let cps = read_sorted(next).map((i) => sorted[i]);
|
|
297483
|
+
if (cps.length) return decode4(cps);
|
|
297484
|
+
});
|
|
297485
|
+
return { S, B, Q };
|
|
297486
|
+
}
|
|
297487
|
+
function expand({ S, B }, cps, saved) {
|
|
297488
|
+
if (S & 4 && saved === cps[cps.length - 1]) return;
|
|
297489
|
+
if (S & 2) saved = cps[cps.length - 1];
|
|
297490
|
+
if (S & 1) ret.push(cps);
|
|
297491
|
+
for (let br of B) {
|
|
297492
|
+
for (let cp of br.Q) {
|
|
297493
|
+
expand(br, [...cps, cp], saved);
|
|
297494
|
+
}
|
|
297495
|
+
}
|
|
297496
|
+
}
|
|
297497
|
+
}
|
|
297498
|
+
function hex_cp(cp) {
|
|
297499
|
+
return cp.toString(16).toUpperCase().padStart(2, "0");
|
|
297500
|
+
}
|
|
297501
|
+
function quote_cp(cp) {
|
|
297502
|
+
return `{${hex_cp(cp)}}`;
|
|
297503
|
+
}
|
|
297504
|
+
function explode_cp(s) {
|
|
297505
|
+
let cps = [];
|
|
297506
|
+
for (let pos = 0, len = s.length; pos < len; ) {
|
|
297507
|
+
let cp = s.codePointAt(pos);
|
|
297508
|
+
pos += cp < 65536 ? 1 : 2;
|
|
297509
|
+
cps.push(cp);
|
|
297510
|
+
}
|
|
297511
|
+
return cps;
|
|
297512
|
+
}
|
|
297513
|
+
function str_from_cps(cps) {
|
|
297514
|
+
const chunk = 4096;
|
|
297515
|
+
let len = cps.length;
|
|
297516
|
+
if (len < chunk) return String.fromCodePoint(...cps);
|
|
297517
|
+
let buf = [];
|
|
297518
|
+
for (let i = 0; i < len; ) {
|
|
297519
|
+
buf.push(String.fromCodePoint(...cps.slice(i, i += chunk)));
|
|
297520
|
+
}
|
|
297521
|
+
return buf.join("");
|
|
297522
|
+
}
|
|
297523
|
+
function compare_arrays(a, b) {
|
|
297524
|
+
let n = a.length;
|
|
297525
|
+
let c = n - b.length;
|
|
297526
|
+
for (let i = 0; c == 0 && i < n; i++) c = a[i] - b[i];
|
|
297527
|
+
return c;
|
|
297528
|
+
}
|
|
297529
|
+
var COMPRESSED = "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";
|
|
297530
|
+
var S0 = 44032;
|
|
297531
|
+
var L0 = 4352;
|
|
297532
|
+
var V0 = 4449;
|
|
297533
|
+
var T0 = 4519;
|
|
297534
|
+
var L_COUNT = 19;
|
|
297535
|
+
var V_COUNT = 21;
|
|
297536
|
+
var T_COUNT = 28;
|
|
297537
|
+
var N_COUNT = V_COUNT * T_COUNT;
|
|
297538
|
+
var S_COUNT = L_COUNT * N_COUNT;
|
|
297539
|
+
var S1 = S0 + S_COUNT;
|
|
297540
|
+
var L1 = L0 + L_COUNT;
|
|
297541
|
+
var V1 = V0 + V_COUNT;
|
|
297542
|
+
var T1 = T0 + T_COUNT;
|
|
297543
|
+
function unpack_cc(packed) {
|
|
297544
|
+
return packed >> 24 & 255;
|
|
297545
|
+
}
|
|
297546
|
+
function unpack_cp(packed) {
|
|
297547
|
+
return packed & 16777215;
|
|
297548
|
+
}
|
|
297549
|
+
var SHIFTED_RANK;
|
|
297550
|
+
var EXCLUSIONS;
|
|
297551
|
+
var DECOMP;
|
|
297552
|
+
var RECOMP;
|
|
297553
|
+
function init$1() {
|
|
297554
|
+
let r = read_compressed_payload(COMPRESSED);
|
|
297555
|
+
SHIFTED_RANK = new Map(read_sorted_arrays(r).flatMap((v, i) => v.map((x) => [x, i + 1 << 24])));
|
|
297556
|
+
EXCLUSIONS = new Set(read_sorted(r));
|
|
297557
|
+
DECOMP = /* @__PURE__ */ new Map();
|
|
297558
|
+
RECOMP = /* @__PURE__ */ new Map();
|
|
297559
|
+
for (let [cp, cps] of read_mapped(r)) {
|
|
297560
|
+
if (!EXCLUSIONS.has(cp) && cps.length == 2) {
|
|
297561
|
+
let [a, b] = cps;
|
|
297562
|
+
let bucket = RECOMP.get(a);
|
|
297563
|
+
if (!bucket) {
|
|
297564
|
+
bucket = /* @__PURE__ */ new Map();
|
|
297565
|
+
RECOMP.set(a, bucket);
|
|
297566
|
+
}
|
|
297567
|
+
bucket.set(b, cp);
|
|
297568
|
+
}
|
|
297569
|
+
DECOMP.set(cp, cps.reverse());
|
|
297570
|
+
}
|
|
297571
|
+
}
|
|
297572
|
+
function is_hangul(cp) {
|
|
297573
|
+
return cp >= S0 && cp < S1;
|
|
297574
|
+
}
|
|
297575
|
+
function compose_pair(a, b) {
|
|
297576
|
+
if (a >= L0 && a < L1 && b >= V0 && b < V1) {
|
|
297577
|
+
return S0 + (a - L0) * N_COUNT + (b - V0) * T_COUNT;
|
|
297578
|
+
} else if (is_hangul(a) && b > T0 && b < T1 && (a - S0) % T_COUNT == 0) {
|
|
297579
|
+
return a + (b - T0);
|
|
297580
|
+
} else {
|
|
297581
|
+
let recomp = RECOMP.get(a);
|
|
297582
|
+
if (recomp) {
|
|
297583
|
+
recomp = recomp.get(b);
|
|
297584
|
+
if (recomp) {
|
|
297585
|
+
return recomp;
|
|
297586
|
+
}
|
|
297587
|
+
}
|
|
297588
|
+
return -1;
|
|
297589
|
+
}
|
|
297590
|
+
}
|
|
297591
|
+
function decomposed(cps) {
|
|
297592
|
+
if (!SHIFTED_RANK) init$1();
|
|
297593
|
+
let ret = [];
|
|
297594
|
+
let buf = [];
|
|
297595
|
+
let check_order = false;
|
|
297596
|
+
function add2(cp) {
|
|
297597
|
+
let cc = SHIFTED_RANK.get(cp);
|
|
297598
|
+
if (cc) {
|
|
297599
|
+
check_order = true;
|
|
297600
|
+
cp |= cc;
|
|
297601
|
+
}
|
|
297602
|
+
ret.push(cp);
|
|
297603
|
+
}
|
|
297604
|
+
for (let cp of cps) {
|
|
297605
|
+
while (true) {
|
|
297606
|
+
if (cp < 128) {
|
|
297607
|
+
ret.push(cp);
|
|
297608
|
+
} else if (is_hangul(cp)) {
|
|
297609
|
+
let s_index = cp - S0;
|
|
297610
|
+
let l_index = s_index / N_COUNT | 0;
|
|
297611
|
+
let v_index = s_index % N_COUNT / T_COUNT | 0;
|
|
297612
|
+
let t_index = s_index % T_COUNT;
|
|
297613
|
+
add2(L0 + l_index);
|
|
297614
|
+
add2(V0 + v_index);
|
|
297615
|
+
if (t_index > 0) add2(T0 + t_index);
|
|
297616
|
+
} else {
|
|
297617
|
+
let mapped = DECOMP.get(cp);
|
|
297618
|
+
if (mapped) {
|
|
297619
|
+
buf.push(...mapped);
|
|
297620
|
+
} else {
|
|
297621
|
+
add2(cp);
|
|
297622
|
+
}
|
|
297623
|
+
}
|
|
297624
|
+
if (!buf.length) break;
|
|
297625
|
+
cp = buf.pop();
|
|
297626
|
+
}
|
|
297627
|
+
}
|
|
297628
|
+
if (check_order && ret.length > 1) {
|
|
297629
|
+
let prev_cc = unpack_cc(ret[0]);
|
|
297630
|
+
for (let i = 1; i < ret.length; i++) {
|
|
297631
|
+
let cc = unpack_cc(ret[i]);
|
|
297632
|
+
if (cc == 0 || prev_cc <= cc) {
|
|
297633
|
+
prev_cc = cc;
|
|
297634
|
+
continue;
|
|
297635
|
+
}
|
|
297636
|
+
let j = i - 1;
|
|
297637
|
+
while (true) {
|
|
297638
|
+
let tmp = ret[j + 1];
|
|
297639
|
+
ret[j + 1] = ret[j];
|
|
297640
|
+
ret[j] = tmp;
|
|
297641
|
+
if (!j) break;
|
|
297642
|
+
prev_cc = unpack_cc(ret[--j]);
|
|
297643
|
+
if (prev_cc <= cc) break;
|
|
297644
|
+
}
|
|
297645
|
+
prev_cc = unpack_cc(ret[i]);
|
|
297646
|
+
}
|
|
297647
|
+
}
|
|
297648
|
+
return ret;
|
|
297649
|
+
}
|
|
297650
|
+
function composed_from_decomposed(v) {
|
|
297651
|
+
let ret = [];
|
|
297652
|
+
let stack = [];
|
|
297653
|
+
let prev_cp = -1;
|
|
297654
|
+
let prev_cc = 0;
|
|
297655
|
+
for (let packed of v) {
|
|
297656
|
+
let cc = unpack_cc(packed);
|
|
297657
|
+
let cp = unpack_cp(packed);
|
|
297658
|
+
if (prev_cp == -1) {
|
|
297659
|
+
if (cc == 0) {
|
|
297660
|
+
prev_cp = cp;
|
|
297661
|
+
} else {
|
|
297662
|
+
ret.push(cp);
|
|
297663
|
+
}
|
|
297664
|
+
} else if (prev_cc > 0 && prev_cc >= cc) {
|
|
297665
|
+
if (cc == 0) {
|
|
297666
|
+
ret.push(prev_cp, ...stack);
|
|
297667
|
+
stack.length = 0;
|
|
297668
|
+
prev_cp = cp;
|
|
297669
|
+
} else {
|
|
297670
|
+
stack.push(cp);
|
|
297671
|
+
}
|
|
297672
|
+
prev_cc = cc;
|
|
297673
|
+
} else {
|
|
297674
|
+
let composed = compose_pair(prev_cp, cp);
|
|
297675
|
+
if (composed >= 0) {
|
|
297676
|
+
prev_cp = composed;
|
|
297677
|
+
} else if (prev_cc == 0 && cc == 0) {
|
|
297678
|
+
ret.push(prev_cp);
|
|
297679
|
+
prev_cp = cp;
|
|
297680
|
+
} else {
|
|
297681
|
+
stack.push(cp);
|
|
297682
|
+
prev_cc = cc;
|
|
297683
|
+
}
|
|
297684
|
+
}
|
|
297685
|
+
}
|
|
297686
|
+
if (prev_cp >= 0) {
|
|
297687
|
+
ret.push(prev_cp, ...stack);
|
|
297688
|
+
}
|
|
297689
|
+
return ret;
|
|
297690
|
+
}
|
|
297691
|
+
function nfd(cps) {
|
|
297692
|
+
return decomposed(cps).map(unpack_cp);
|
|
297693
|
+
}
|
|
297694
|
+
function nfc(cps) {
|
|
297695
|
+
return composed_from_decomposed(decomposed(cps));
|
|
297696
|
+
}
|
|
297697
|
+
var HYPHEN = 45;
|
|
297698
|
+
var STOP = 46;
|
|
297699
|
+
var STOP_CH = ".";
|
|
297700
|
+
var FE0F = 65039;
|
|
297701
|
+
var UNIQUE_PH = 1;
|
|
297702
|
+
var Array_from = (x) => Array.from(x);
|
|
297703
|
+
function group_has_cp(g, cp) {
|
|
297704
|
+
return g.P.has(cp) || g.Q.has(cp);
|
|
297705
|
+
}
|
|
297706
|
+
var Emoji = class extends Array {
|
|
297707
|
+
get is_emoji() {
|
|
297708
|
+
return true;
|
|
297709
|
+
}
|
|
297710
|
+
// free tagging system
|
|
297711
|
+
};
|
|
297712
|
+
var MAPPED;
|
|
297713
|
+
var IGNORED;
|
|
297714
|
+
var CM;
|
|
297715
|
+
var NSM;
|
|
297716
|
+
var ESCAPE;
|
|
297717
|
+
var NFC_CHECK;
|
|
297718
|
+
var GROUPS;
|
|
297719
|
+
var WHOLE_VALID;
|
|
297720
|
+
var WHOLE_MAP;
|
|
297721
|
+
var VALID;
|
|
297722
|
+
var EMOJI_LIST;
|
|
297723
|
+
var EMOJI_ROOT;
|
|
297724
|
+
function init() {
|
|
297725
|
+
if (MAPPED) return;
|
|
297726
|
+
let r = read_compressed_payload(COMPRESSED$1);
|
|
297727
|
+
const read_sorted_array = () => read_sorted(r);
|
|
297728
|
+
const read_sorted_set = () => new Set(read_sorted_array());
|
|
297729
|
+
const set_add_many = (set2, v) => v.forEach((x) => set2.add(x));
|
|
297730
|
+
MAPPED = new Map(read_mapped(r));
|
|
297731
|
+
IGNORED = read_sorted_set();
|
|
297732
|
+
CM = read_sorted_array();
|
|
297733
|
+
NSM = new Set(read_sorted_array().map((i) => CM[i]));
|
|
297734
|
+
CM = new Set(CM);
|
|
297735
|
+
ESCAPE = read_sorted_set();
|
|
297736
|
+
NFC_CHECK = read_sorted_set();
|
|
297737
|
+
let chunks = read_sorted_arrays(r);
|
|
297738
|
+
let unrestricted = r();
|
|
297739
|
+
const read_chunked = () => {
|
|
297740
|
+
let set2 = /* @__PURE__ */ new Set();
|
|
297741
|
+
read_sorted_array().forEach((i) => set_add_many(set2, chunks[i]));
|
|
297742
|
+
set_add_many(set2, read_sorted_array());
|
|
297743
|
+
return set2;
|
|
297744
|
+
};
|
|
297745
|
+
GROUPS = read_array_while((i) => {
|
|
297746
|
+
let N = read_array_while(r).map((x) => x + 96);
|
|
297747
|
+
if (N.length) {
|
|
297748
|
+
let R = i >= unrestricted;
|
|
297749
|
+
N[0] -= 32;
|
|
297750
|
+
N = str_from_cps(N);
|
|
297751
|
+
if (R) N = `Restricted[${N}]`;
|
|
297752
|
+
let P = read_chunked();
|
|
297753
|
+
let Q = read_chunked();
|
|
297754
|
+
let M = !r();
|
|
297755
|
+
return { N, P, Q, M, R };
|
|
297756
|
+
}
|
|
297757
|
+
});
|
|
297758
|
+
WHOLE_VALID = read_sorted_set();
|
|
297759
|
+
WHOLE_MAP = /* @__PURE__ */ new Map();
|
|
297760
|
+
let wholes = read_sorted_array().concat(Array_from(WHOLE_VALID)).sort((a, b) => a - b);
|
|
297761
|
+
wholes.forEach((cp, i) => {
|
|
297762
|
+
let d = r();
|
|
297763
|
+
let w = wholes[i] = d ? wholes[i - d] : { V: [], M: /* @__PURE__ */ new Map() };
|
|
297764
|
+
w.V.push(cp);
|
|
297765
|
+
if (!WHOLE_VALID.has(cp)) {
|
|
297766
|
+
WHOLE_MAP.set(cp, w);
|
|
297767
|
+
}
|
|
297768
|
+
});
|
|
297769
|
+
for (let { V, M } of new Set(WHOLE_MAP.values())) {
|
|
297770
|
+
let recs = [];
|
|
297771
|
+
for (let cp of V) {
|
|
297772
|
+
let gs = GROUPS.filter((g) => group_has_cp(g, cp));
|
|
297773
|
+
let rec = recs.find(({ G }) => gs.some((g) => G.has(g)));
|
|
297774
|
+
if (!rec) {
|
|
297775
|
+
rec = { G: /* @__PURE__ */ new Set(), V: [] };
|
|
297776
|
+
recs.push(rec);
|
|
297777
|
+
}
|
|
297778
|
+
rec.V.push(cp);
|
|
297779
|
+
set_add_many(rec.G, gs);
|
|
297780
|
+
}
|
|
297781
|
+
let union2 = recs.flatMap((x) => Array_from(x.G));
|
|
297782
|
+
for (let { G, V: V2 } of recs) {
|
|
297783
|
+
let complement = new Set(union2.filter((g) => !G.has(g)));
|
|
297784
|
+
for (let cp of V2) {
|
|
297785
|
+
M.set(cp, complement);
|
|
297786
|
+
}
|
|
297787
|
+
}
|
|
297788
|
+
}
|
|
297789
|
+
VALID = /* @__PURE__ */ new Set();
|
|
297790
|
+
let multi = /* @__PURE__ */ new Set();
|
|
297791
|
+
const add_to_union = (cp) => VALID.has(cp) ? multi.add(cp) : VALID.add(cp);
|
|
297792
|
+
for (let g of GROUPS) {
|
|
297793
|
+
for (let cp of g.P) add_to_union(cp);
|
|
297794
|
+
for (let cp of g.Q) add_to_union(cp);
|
|
297795
|
+
}
|
|
297796
|
+
for (let cp of VALID) {
|
|
297797
|
+
if (!WHOLE_MAP.has(cp) && !multi.has(cp)) {
|
|
297798
|
+
WHOLE_MAP.set(cp, UNIQUE_PH);
|
|
297799
|
+
}
|
|
297800
|
+
}
|
|
297801
|
+
set_add_many(VALID, nfd(VALID));
|
|
297802
|
+
EMOJI_LIST = read_trie(r).map((v) => Emoji.from(v)).sort(compare_arrays);
|
|
297803
|
+
EMOJI_ROOT = /* @__PURE__ */ new Map();
|
|
297804
|
+
for (let cps of EMOJI_LIST) {
|
|
297805
|
+
let prev = [EMOJI_ROOT];
|
|
297806
|
+
for (let cp of cps) {
|
|
297807
|
+
let next = prev.map((node) => {
|
|
297808
|
+
let child = node.get(cp);
|
|
297809
|
+
if (!child) {
|
|
297810
|
+
child = /* @__PURE__ */ new Map();
|
|
297811
|
+
node.set(cp, child);
|
|
297812
|
+
}
|
|
297813
|
+
return child;
|
|
297814
|
+
});
|
|
297815
|
+
if (cp === FE0F) {
|
|
297816
|
+
prev.push(...next);
|
|
297817
|
+
} else {
|
|
297818
|
+
prev = next;
|
|
297819
|
+
}
|
|
297820
|
+
}
|
|
297821
|
+
for (let x of prev) {
|
|
297822
|
+
x.V = cps;
|
|
297823
|
+
}
|
|
297824
|
+
}
|
|
297825
|
+
}
|
|
297826
|
+
function quoted_cp(cp) {
|
|
297827
|
+
return (should_escape(cp) ? "" : `${bidi_qq(safe_str_from_cps([cp]))} `) + quote_cp(cp);
|
|
297828
|
+
}
|
|
297829
|
+
function bidi_qq(s) {
|
|
297830
|
+
return `"${s}"\u200E`;
|
|
297831
|
+
}
|
|
297832
|
+
function check_label_extension(cps) {
|
|
297833
|
+
if (cps.length >= 4 && cps[2] == HYPHEN && cps[3] == HYPHEN) {
|
|
297834
|
+
throw new Error(`invalid label extension: "${str_from_cps(cps.slice(0, 4))}"`);
|
|
297835
|
+
}
|
|
297836
|
+
}
|
|
297837
|
+
function check_leading_underscore(cps) {
|
|
297838
|
+
const UNDERSCORE = 95;
|
|
297839
|
+
for (let i = cps.lastIndexOf(UNDERSCORE); i > 0; ) {
|
|
297840
|
+
if (cps[--i] !== UNDERSCORE) {
|
|
297841
|
+
throw new Error("underscore allowed only at start");
|
|
297842
|
+
}
|
|
297843
|
+
}
|
|
297844
|
+
}
|
|
297845
|
+
function check_fenced(cps) {
|
|
297846
|
+
let cp = cps[0];
|
|
297847
|
+
let prev = FENCED.get(cp);
|
|
297848
|
+
if (prev) throw error_placement(`leading ${prev}`);
|
|
297849
|
+
let n = cps.length;
|
|
297850
|
+
let last = -1;
|
|
297851
|
+
for (let i = 1; i < n; i++) {
|
|
297852
|
+
cp = cps[i];
|
|
297853
|
+
let match2 = FENCED.get(cp);
|
|
297854
|
+
if (match2) {
|
|
297855
|
+
if (last == i) throw error_placement(`${prev} + ${match2}`);
|
|
297856
|
+
last = i + 1;
|
|
297857
|
+
prev = match2;
|
|
297858
|
+
}
|
|
297859
|
+
}
|
|
297860
|
+
if (last == n) throw error_placement(`trailing ${prev}`);
|
|
297861
|
+
}
|
|
297862
|
+
function safe_str_from_cps(cps, max = Infinity, quoter = quote_cp) {
|
|
297863
|
+
let buf = [];
|
|
297864
|
+
if (is_combining_mark(cps[0])) buf.push("\u25CC");
|
|
297865
|
+
if (cps.length > max) {
|
|
297866
|
+
max >>= 1;
|
|
297867
|
+
cps = [...cps.slice(0, max), 8230, ...cps.slice(-max)];
|
|
297868
|
+
}
|
|
297869
|
+
let prev = 0;
|
|
297870
|
+
let n = cps.length;
|
|
297871
|
+
for (let i = 0; i < n; i++) {
|
|
297872
|
+
let cp = cps[i];
|
|
297873
|
+
if (should_escape(cp)) {
|
|
297874
|
+
buf.push(str_from_cps(cps.slice(prev, i)));
|
|
297875
|
+
buf.push(quoter(cp));
|
|
297876
|
+
prev = i + 1;
|
|
297877
|
+
}
|
|
297878
|
+
}
|
|
297879
|
+
buf.push(str_from_cps(cps.slice(prev, n)));
|
|
297880
|
+
return buf.join("");
|
|
297881
|
+
}
|
|
297882
|
+
function is_combining_mark(cp) {
|
|
297883
|
+
init();
|
|
297884
|
+
return CM.has(cp);
|
|
297885
|
+
}
|
|
297886
|
+
function should_escape(cp) {
|
|
297887
|
+
init();
|
|
297888
|
+
return ESCAPE.has(cp);
|
|
297889
|
+
}
|
|
297890
|
+
function ens_emoji() {
|
|
297891
|
+
init();
|
|
297892
|
+
return EMOJI_LIST.map((x) => x.slice());
|
|
297893
|
+
}
|
|
297894
|
+
function ens_normalize_fragment(frag, decompose) {
|
|
297895
|
+
init();
|
|
297896
|
+
let nf = decompose ? nfd : nfc;
|
|
297897
|
+
return frag.split(STOP_CH).map((label) => str_from_cps(tokens_from_str(explode_cp(label), nf, filter_fe0f).flat())).join(STOP_CH);
|
|
297898
|
+
}
|
|
297899
|
+
function ens_normalize(name) {
|
|
297900
|
+
return flatten(split2(name, nfc, filter_fe0f));
|
|
297901
|
+
}
|
|
297902
|
+
function ens_beautify(name) {
|
|
297903
|
+
let labels = split2(name, nfc, (x) => x);
|
|
297904
|
+
for (let { type, output, error: error45 } of labels) {
|
|
297905
|
+
if (error45) break;
|
|
297906
|
+
if (type !== "Greek") array_replace(output, 958, 926);
|
|
297907
|
+
}
|
|
297908
|
+
return flatten(labels);
|
|
297909
|
+
}
|
|
297910
|
+
function array_replace(v, a, b) {
|
|
297911
|
+
let prev = 0;
|
|
297912
|
+
while (true) {
|
|
297913
|
+
let next = v.indexOf(a, prev);
|
|
297914
|
+
if (next < 0) break;
|
|
297915
|
+
v[next] = b;
|
|
297916
|
+
prev = next + 1;
|
|
297917
|
+
}
|
|
297918
|
+
}
|
|
297919
|
+
function ens_split(name, preserve_emoji) {
|
|
297920
|
+
return split2(name, nfc, preserve_emoji ? (x) => x.slice() : filter_fe0f);
|
|
297921
|
+
}
|
|
297922
|
+
function split2(name, nf, ef) {
|
|
297923
|
+
if (!name) return [];
|
|
297924
|
+
init();
|
|
297925
|
+
let offset = 0;
|
|
297926
|
+
return name.split(STOP_CH).map((label) => {
|
|
297927
|
+
let input = explode_cp(label);
|
|
297928
|
+
let info = {
|
|
297929
|
+
input,
|
|
297930
|
+
offset
|
|
297931
|
+
// codepoint, not substring!
|
|
297932
|
+
};
|
|
297933
|
+
offset += input.length + 1;
|
|
297934
|
+
try {
|
|
297935
|
+
let tokens = info.tokens = tokens_from_str(input, nf, ef);
|
|
297936
|
+
let token_count = tokens.length;
|
|
297937
|
+
let type;
|
|
297938
|
+
if (!token_count) {
|
|
297939
|
+
throw new Error(`empty label`);
|
|
297940
|
+
}
|
|
297941
|
+
let norm = info.output = tokens.flat();
|
|
297942
|
+
check_leading_underscore(norm);
|
|
297943
|
+
let emoji3 = info.emoji = token_count > 1 || tokens[0].is_emoji;
|
|
297944
|
+
if (!emoji3 && norm.every((cp) => cp < 128)) {
|
|
297945
|
+
check_label_extension(norm);
|
|
297946
|
+
type = "ASCII";
|
|
297947
|
+
} else {
|
|
297948
|
+
let chars = tokens.flatMap((x) => x.is_emoji ? [] : x);
|
|
297949
|
+
if (!chars.length) {
|
|
297950
|
+
type = "Emoji";
|
|
297951
|
+
} else {
|
|
297952
|
+
if (CM.has(norm[0])) throw error_placement("leading combining mark");
|
|
297953
|
+
for (let i = 1; i < token_count; i++) {
|
|
297954
|
+
let cps = tokens[i];
|
|
297955
|
+
if (!cps.is_emoji && CM.has(cps[0])) {
|
|
297956
|
+
throw error_placement(`emoji + combining mark: "${str_from_cps(tokens[i - 1])} + ${safe_str_from_cps([cps[0]])}"`);
|
|
297957
|
+
}
|
|
297958
|
+
}
|
|
297959
|
+
check_fenced(norm);
|
|
297960
|
+
let unique = Array_from(new Set(chars));
|
|
297961
|
+
let [g] = determine_group(unique);
|
|
297962
|
+
check_group(g, chars);
|
|
297963
|
+
check_whole(g, unique);
|
|
297964
|
+
type = g.N;
|
|
297965
|
+
}
|
|
297966
|
+
}
|
|
297967
|
+
info.type = type;
|
|
297968
|
+
} catch (err) {
|
|
297969
|
+
info.error = err;
|
|
297970
|
+
}
|
|
297971
|
+
return info;
|
|
297972
|
+
});
|
|
297973
|
+
}
|
|
297974
|
+
function check_whole(group, unique) {
|
|
297975
|
+
let maker;
|
|
297976
|
+
let shared = [];
|
|
297977
|
+
for (let cp of unique) {
|
|
297978
|
+
let whole = WHOLE_MAP.get(cp);
|
|
297979
|
+
if (whole === UNIQUE_PH) return;
|
|
297980
|
+
if (whole) {
|
|
297981
|
+
let set2 = whole.M.get(cp);
|
|
297982
|
+
maker = maker ? maker.filter((g) => set2.has(g)) : Array_from(set2);
|
|
297983
|
+
if (!maker.length) return;
|
|
297984
|
+
} else {
|
|
297985
|
+
shared.push(cp);
|
|
297986
|
+
}
|
|
297987
|
+
}
|
|
297988
|
+
if (maker) {
|
|
297989
|
+
for (let g of maker) {
|
|
297990
|
+
if (shared.every((cp) => group_has_cp(g, cp))) {
|
|
297991
|
+
throw new Error(`whole-script confusable: ${group.N}/${g.N}`);
|
|
297992
|
+
}
|
|
297993
|
+
}
|
|
297994
|
+
}
|
|
297995
|
+
}
|
|
297996
|
+
function determine_group(unique) {
|
|
297997
|
+
let groups = GROUPS;
|
|
297998
|
+
for (let cp of unique) {
|
|
297999
|
+
let gs = groups.filter((g) => group_has_cp(g, cp));
|
|
298000
|
+
if (!gs.length) {
|
|
298001
|
+
if (!GROUPS.some((g) => group_has_cp(g, cp))) {
|
|
298002
|
+
throw error_disallowed(cp);
|
|
298003
|
+
} else {
|
|
298004
|
+
throw error_group_member(groups[0], cp);
|
|
298005
|
+
}
|
|
298006
|
+
}
|
|
298007
|
+
groups = gs;
|
|
298008
|
+
if (gs.length == 1) break;
|
|
298009
|
+
}
|
|
298010
|
+
return groups;
|
|
298011
|
+
}
|
|
298012
|
+
function flatten(split3) {
|
|
298013
|
+
return split3.map(({ input, error: error45, output }) => {
|
|
298014
|
+
if (error45) {
|
|
298015
|
+
let msg = error45.message;
|
|
298016
|
+
throw new Error(split3.length == 1 ? msg : `Invalid label ${bidi_qq(safe_str_from_cps(input, 63))}: ${msg}`);
|
|
298017
|
+
}
|
|
298018
|
+
return str_from_cps(output);
|
|
298019
|
+
}).join(STOP_CH);
|
|
298020
|
+
}
|
|
298021
|
+
function error_disallowed(cp) {
|
|
298022
|
+
return new Error(`disallowed character: ${quoted_cp(cp)}`);
|
|
298023
|
+
}
|
|
298024
|
+
function error_group_member(g, cp) {
|
|
298025
|
+
let quoted = quoted_cp(cp);
|
|
298026
|
+
let gg = GROUPS.find((g2) => g2.P.has(cp));
|
|
298027
|
+
if (gg) {
|
|
298028
|
+
quoted = `${gg.N} ${quoted}`;
|
|
298029
|
+
}
|
|
298030
|
+
return new Error(`illegal mixture: ${g.N} + ${quoted}`);
|
|
298031
|
+
}
|
|
298032
|
+
function error_placement(where) {
|
|
298033
|
+
return new Error(`illegal placement: ${where}`);
|
|
298034
|
+
}
|
|
298035
|
+
function check_group(g, cps) {
|
|
298036
|
+
for (let cp of cps) {
|
|
298037
|
+
if (!group_has_cp(g, cp)) {
|
|
298038
|
+
throw error_group_member(g, cp);
|
|
298039
|
+
}
|
|
298040
|
+
}
|
|
298041
|
+
if (g.M) {
|
|
298042
|
+
let decomposed2 = nfd(cps);
|
|
298043
|
+
for (let i = 1, e = decomposed2.length; i < e; i++) {
|
|
298044
|
+
if (NSM.has(decomposed2[i])) {
|
|
298045
|
+
let j = i + 1;
|
|
298046
|
+
for (let cp; j < e && NSM.has(cp = decomposed2[j]); j++) {
|
|
298047
|
+
for (let k = i; k < j; k++) {
|
|
298048
|
+
if (decomposed2[k] == cp) {
|
|
298049
|
+
throw new Error(`duplicate non-spacing marks: ${quoted_cp(cp)}`);
|
|
298050
|
+
}
|
|
298051
|
+
}
|
|
298052
|
+
}
|
|
298053
|
+
if (j - i > NSM_MAX) {
|
|
298054
|
+
throw new Error(`excessive non-spacing marks: ${bidi_qq(safe_str_from_cps(decomposed2.slice(i - 1, j)))} (${j - i}/${NSM_MAX})`);
|
|
298055
|
+
}
|
|
298056
|
+
i = j;
|
|
298057
|
+
}
|
|
298058
|
+
}
|
|
298059
|
+
}
|
|
298060
|
+
}
|
|
298061
|
+
function tokens_from_str(input, nf, ef) {
|
|
298062
|
+
let ret = [];
|
|
298063
|
+
let chars = [];
|
|
298064
|
+
input = input.slice().reverse();
|
|
298065
|
+
while (input.length) {
|
|
298066
|
+
let emoji3 = consume_emoji_reversed(input);
|
|
298067
|
+
if (emoji3) {
|
|
298068
|
+
if (chars.length) {
|
|
298069
|
+
ret.push(nf(chars));
|
|
298070
|
+
chars = [];
|
|
298071
|
+
}
|
|
298072
|
+
ret.push(ef(emoji3));
|
|
298073
|
+
} else {
|
|
298074
|
+
let cp = input.pop();
|
|
298075
|
+
if (VALID.has(cp)) {
|
|
298076
|
+
chars.push(cp);
|
|
298077
|
+
} else {
|
|
298078
|
+
let cps = MAPPED.get(cp);
|
|
298079
|
+
if (cps) {
|
|
298080
|
+
chars.push(...cps);
|
|
298081
|
+
} else if (!IGNORED.has(cp)) {
|
|
298082
|
+
throw error_disallowed(cp);
|
|
298083
|
+
}
|
|
298084
|
+
}
|
|
298085
|
+
}
|
|
298086
|
+
}
|
|
298087
|
+
if (chars.length) {
|
|
298088
|
+
ret.push(nf(chars));
|
|
298089
|
+
}
|
|
298090
|
+
return ret;
|
|
298091
|
+
}
|
|
298092
|
+
function filter_fe0f(cps) {
|
|
298093
|
+
return cps.filter((cp) => cp != FE0F);
|
|
298094
|
+
}
|
|
298095
|
+
function consume_emoji_reversed(cps, eaten) {
|
|
298096
|
+
let node = EMOJI_ROOT;
|
|
298097
|
+
let emoji3;
|
|
298098
|
+
let pos = cps.length;
|
|
298099
|
+
while (pos) {
|
|
298100
|
+
node = node.get(cps[--pos]);
|
|
298101
|
+
if (!node) break;
|
|
298102
|
+
let { V } = node;
|
|
298103
|
+
if (V) {
|
|
298104
|
+
emoji3 = V;
|
|
298105
|
+
if (eaten) eaten.push(...cps.slice(pos).reverse());
|
|
298106
|
+
cps.length = pos;
|
|
298107
|
+
}
|
|
298108
|
+
}
|
|
298109
|
+
return emoji3;
|
|
298110
|
+
}
|
|
298111
|
+
var TY_VALID = "valid";
|
|
298112
|
+
var TY_MAPPED = "mapped";
|
|
298113
|
+
var TY_IGNORED = "ignored";
|
|
298114
|
+
var TY_DISALLOWED = "disallowed";
|
|
298115
|
+
var TY_EMOJI = "emoji";
|
|
298116
|
+
var TY_NFC = "nfc";
|
|
298117
|
+
var TY_STOP = "stop";
|
|
298118
|
+
function ens_tokenize(name, {
|
|
298119
|
+
nf = true
|
|
298120
|
+
// collapse unnormalized runs into a single token
|
|
298121
|
+
} = {}) {
|
|
298122
|
+
init();
|
|
298123
|
+
let input = explode_cp(name).reverse();
|
|
298124
|
+
let eaten = [];
|
|
298125
|
+
let tokens = [];
|
|
298126
|
+
while (input.length) {
|
|
298127
|
+
let emoji3 = consume_emoji_reversed(input, eaten);
|
|
298128
|
+
if (emoji3) {
|
|
298129
|
+
tokens.push({
|
|
298130
|
+
type: TY_EMOJI,
|
|
298131
|
+
emoji: emoji3.slice(),
|
|
298132
|
+
// copy emoji
|
|
298133
|
+
input: eaten,
|
|
298134
|
+
cps: filter_fe0f(emoji3)
|
|
298135
|
+
});
|
|
298136
|
+
eaten = [];
|
|
298137
|
+
} else {
|
|
298138
|
+
let cp = input.pop();
|
|
298139
|
+
if (cp == STOP) {
|
|
298140
|
+
tokens.push({ type: TY_STOP, cp });
|
|
298141
|
+
} else if (VALID.has(cp)) {
|
|
298142
|
+
tokens.push({ type: TY_VALID, cps: [cp] });
|
|
298143
|
+
} else if (IGNORED.has(cp)) {
|
|
298144
|
+
tokens.push({ type: TY_IGNORED, cp });
|
|
298145
|
+
} else {
|
|
298146
|
+
let cps = MAPPED.get(cp);
|
|
298147
|
+
if (cps) {
|
|
298148
|
+
tokens.push({ type: TY_MAPPED, cp, cps: cps.slice() });
|
|
298149
|
+
} else {
|
|
298150
|
+
tokens.push({ type: TY_DISALLOWED, cp });
|
|
298151
|
+
}
|
|
298152
|
+
}
|
|
298153
|
+
}
|
|
298154
|
+
}
|
|
298155
|
+
if (nf) {
|
|
298156
|
+
for (let i = 0, start = -1; i < tokens.length; i++) {
|
|
298157
|
+
let token = tokens[i];
|
|
298158
|
+
if (is_valid_or_mapped(token.type)) {
|
|
298159
|
+
if (requires_check(token.cps)) {
|
|
298160
|
+
let end = i + 1;
|
|
298161
|
+
for (let pos = end; pos < tokens.length; pos++) {
|
|
298162
|
+
let { type, cps: cps2 } = tokens[pos];
|
|
298163
|
+
if (is_valid_or_mapped(type)) {
|
|
298164
|
+
if (!requires_check(cps2)) break;
|
|
298165
|
+
end = pos + 1;
|
|
298166
|
+
} else if (type !== TY_IGNORED) {
|
|
298167
|
+
break;
|
|
298168
|
+
}
|
|
298169
|
+
}
|
|
298170
|
+
if (start < 0) start = i;
|
|
298171
|
+
let slice4 = tokens.slice(start, end);
|
|
298172
|
+
let cps0 = slice4.flatMap((x) => is_valid_or_mapped(x.type) ? x.cps : []);
|
|
298173
|
+
let cps = nfc(cps0);
|
|
298174
|
+
if (compare_arrays(cps, cps0)) {
|
|
298175
|
+
tokens.splice(start, end - start, {
|
|
298176
|
+
type: TY_NFC,
|
|
298177
|
+
input: cps0,
|
|
298178
|
+
// there are 3 states: tokens0 ==(process)=> input ==(nfc)=> tokens/cps
|
|
298179
|
+
cps,
|
|
298180
|
+
tokens0: collapse_valid_tokens(slice4),
|
|
298181
|
+
tokens: ens_tokenize(str_from_cps(cps), { nf: false })
|
|
298182
|
+
});
|
|
298183
|
+
i = start;
|
|
298184
|
+
} else {
|
|
298185
|
+
i = end - 1;
|
|
298186
|
+
}
|
|
298187
|
+
start = -1;
|
|
298188
|
+
} else {
|
|
298189
|
+
start = i;
|
|
298190
|
+
}
|
|
298191
|
+
} else if (token.type !== TY_IGNORED) {
|
|
298192
|
+
start = -1;
|
|
298193
|
+
}
|
|
298194
|
+
}
|
|
298195
|
+
}
|
|
298196
|
+
return collapse_valid_tokens(tokens);
|
|
298197
|
+
}
|
|
298198
|
+
function is_valid_or_mapped(type) {
|
|
298199
|
+
return type == TY_VALID || type == TY_MAPPED;
|
|
298200
|
+
}
|
|
298201
|
+
function requires_check(cps) {
|
|
298202
|
+
return cps.some((cp) => NFC_CHECK.has(cp));
|
|
298203
|
+
}
|
|
298204
|
+
function collapse_valid_tokens(tokens) {
|
|
298205
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
298206
|
+
if (tokens[i].type == TY_VALID) {
|
|
298207
|
+
let j = i + 1;
|
|
298208
|
+
while (j < tokens.length && tokens[j].type == TY_VALID) j++;
|
|
298209
|
+
tokens.splice(i, j - i, { type: TY_VALID, cps: tokens.slice(i, j).flatMap((x) => x.cps) });
|
|
298210
|
+
}
|
|
298211
|
+
}
|
|
298212
|
+
return tokens;
|
|
298213
|
+
}
|
|
298214
|
+
exports2.ens_beautify = ens_beautify;
|
|
298215
|
+
exports2.ens_emoji = ens_emoji;
|
|
298216
|
+
exports2.ens_normalize = ens_normalize;
|
|
298217
|
+
exports2.ens_normalize_fragment = ens_normalize_fragment;
|
|
298218
|
+
exports2.ens_split = ens_split;
|
|
298219
|
+
exports2.ens_tokenize = ens_tokenize;
|
|
298220
|
+
exports2.is_combining_mark = is_combining_mark;
|
|
298221
|
+
exports2.nfc = nfc;
|
|
298222
|
+
exports2.nfd = nfd;
|
|
298223
|
+
exports2.safe_str_from_cps = safe_str_from_cps;
|
|
298224
|
+
exports2.should_escape = should_escape;
|
|
298225
|
+
}
|
|
298226
|
+
});
|
|
298227
|
+
|
|
297313
298228
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/ethers/lib.commonjs/hash/namehash.js
|
|
297314
298229
|
var require_namehash4 = __commonJS({
|
|
297315
298230
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/ethers/lib.commonjs/hash/namehash.js"(exports2) {
|
|
@@ -297318,7 +298233,7 @@ var require_namehash4 = __commonJS({
|
|
|
297318
298233
|
exports2.dnsEncode = exports2.namehash = exports2.isValidName = exports2.ensNormalize = void 0;
|
|
297319
298234
|
var index_js_1 = require_crypto5();
|
|
297320
298235
|
var index_js_2 = require_utils31();
|
|
297321
|
-
var ens_normalize_1 =
|
|
298236
|
+
var ens_normalize_1 = require_dist5();
|
|
297322
298237
|
var Zeros = new Uint8Array(32);
|
|
297323
298238
|
Zeros.fill(0);
|
|
297324
298239
|
function checkComponent(comp) {
|
|
@@ -317646,7 +318561,7 @@ var require_semver4 = __commonJS({
|
|
|
317646
318561
|
});
|
|
317647
318562
|
|
|
317648
318563
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/parse.js
|
|
317649
|
-
var
|
|
318564
|
+
var require_parse2 = __commonJS({
|
|
317650
318565
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/parse.js"(exports2, module2) {
|
|
317651
318566
|
var SemVer = require_semver4();
|
|
317652
318567
|
var parse4 = (version5, options, throwErrors = false) => {
|
|
@@ -317669,7 +318584,7 @@ var require_parse3 = __commonJS({
|
|
|
317669
318584
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/valid.js
|
|
317670
318585
|
var require_valid3 = __commonJS({
|
|
317671
318586
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/valid.js"(exports2, module2) {
|
|
317672
|
-
var parse4 =
|
|
318587
|
+
var parse4 = require_parse2();
|
|
317673
318588
|
var valid = (version5, options) => {
|
|
317674
318589
|
const v = parse4(version5, options);
|
|
317675
318590
|
return v ? v.version : null;
|
|
@@ -317681,7 +318596,7 @@ var require_valid3 = __commonJS({
|
|
|
317681
318596
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/clean.js
|
|
317682
318597
|
var require_clean2 = __commonJS({
|
|
317683
318598
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/clean.js"(exports2, module2) {
|
|
317684
|
-
var parse4 =
|
|
318599
|
+
var parse4 = require_parse2();
|
|
317685
318600
|
var clean2 = (version5, options) => {
|
|
317686
318601
|
const s = parse4(version5.trim().replace(/^[=v]+/, ""), options);
|
|
317687
318602
|
return s ? s.version : null;
|
|
@@ -317716,7 +318631,7 @@ var require_inc2 = __commonJS({
|
|
|
317716
318631
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/diff.js
|
|
317717
318632
|
var require_diff2 = __commonJS({
|
|
317718
318633
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/diff.js"(exports2, module2) {
|
|
317719
|
-
var parse4 =
|
|
318634
|
+
var parse4 = require_parse2();
|
|
317720
318635
|
var diff = (version1, version22) => {
|
|
317721
318636
|
const v1 = parse4(version1, null, true);
|
|
317722
318637
|
const v2 = parse4(version22, null, true);
|
|
@@ -317786,7 +318701,7 @@ var require_patch2 = __commonJS({
|
|
|
317786
318701
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/prerelease.js
|
|
317787
318702
|
var require_prerelease2 = __commonJS({
|
|
317788
318703
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/prerelease.js"(exports2, module2) {
|
|
317789
|
-
var parse4 =
|
|
318704
|
+
var parse4 = require_parse2();
|
|
317790
318705
|
var prerelease = (version5, options) => {
|
|
317791
318706
|
const parsed = parse4(version5, options);
|
|
317792
318707
|
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
|
|
@@ -317960,7 +318875,7 @@ var require_cmp2 = __commonJS({
|
|
|
317960
318875
|
var require_coerce2 = __commonJS({
|
|
317961
318876
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/coerce.js"(exports2, module2) {
|
|
317962
318877
|
var SemVer = require_semver4();
|
|
317963
|
-
var parse4 =
|
|
318878
|
+
var parse4 = require_parse2();
|
|
317964
318879
|
var { safeRe: re, t } = require_re2();
|
|
317965
318880
|
var coerce = (version5, options) => {
|
|
317966
318881
|
if (version5 instanceof SemVer) {
|
|
@@ -318995,7 +319910,7 @@ var require_semver5 = __commonJS({
|
|
|
318995
319910
|
var constants = require_constants13();
|
|
318996
319911
|
var SemVer = require_semver4();
|
|
318997
319912
|
var identifiers = require_identifiers2();
|
|
318998
|
-
var parse4 =
|
|
319913
|
+
var parse4 = require_parse2();
|
|
318999
319914
|
var valid = require_valid3();
|
|
319000
319915
|
var clean2 = require_clean2();
|
|
319001
319916
|
var inc = require_inc2();
|
|
@@ -319329,7 +320244,7 @@ var require_ipfsHash = __commonJS({
|
|
|
319329
320244
|
});
|
|
319330
320245
|
|
|
319331
320246
|
// ../../node_modules/@fairdatasociety/bmt-js/dist/index.js
|
|
319332
|
-
var
|
|
320247
|
+
var require_dist6 = __commonJS({
|
|
319333
320248
|
"../../node_modules/@fairdatasociety/bmt-js/dist/index.js"(exports, module) {
|
|
319334
320249
|
!(function(Q, B) {
|
|
319335
320250
|
"object" == typeof exports && "object" == typeof module ? module.exports = B() : "function" == typeof define && define.amd ? define([], B) : "object" == typeof exports ? exports.BmtJs = B() : Q.BmtJs = B();
|
|
@@ -320139,7 +321054,7 @@ var require_swarmHash = __commonJS({
|
|
|
320139
321054
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
320140
321055
|
exports2.swarmBzzr1Hash = swarmBzzr1Hash;
|
|
320141
321056
|
exports2.swarmBzzr0Hash = swarmBzzr0Hash;
|
|
320142
|
-
var bmt_js_1 =
|
|
321057
|
+
var bmt_js_1 = require_dist6();
|
|
320143
321058
|
var ethers_1 = require_lib41();
|
|
320144
321059
|
function swarmBzzr1Hash(file2) {
|
|
320145
321060
|
const encoder5 = new TextEncoder();
|
|
@@ -378150,6 +379065,12 @@ var plasma = /* @__PURE__ */ defineChain({
|
|
|
378150
379065
|
name: "PlasmaScan",
|
|
378151
379066
|
url: "https://plasmascan.to"
|
|
378152
379067
|
}
|
|
379068
|
+
},
|
|
379069
|
+
contracts: {
|
|
379070
|
+
multicall3: {
|
|
379071
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
379072
|
+
blockCreated: 0
|
|
379073
|
+
}
|
|
378153
379074
|
}
|
|
378154
379075
|
});
|
|
378155
379076
|
|
|
@@ -393202,7 +394123,9 @@ var chains = {
|
|
|
393202
394123
|
Plasma: defineChain({
|
|
393203
394124
|
...plasma,
|
|
393204
394125
|
network: "Plasma",
|
|
393205
|
-
defaultMarketConfigurators: {
|
|
394126
|
+
defaultMarketConfigurators: {
|
|
394127
|
+
"0x7a133fbd01736fd076158307c9476cc3877f1af5": "Invariant Group"
|
|
394128
|
+
},
|
|
393206
394129
|
isPublic: true,
|
|
393207
394130
|
wellKnownToken: {
|
|
393208
394131
|
address: "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb",
|
|
@@ -416427,7 +417350,7 @@ function createAdapter(sdk, args) {
|
|
|
416427
417350
|
}
|
|
416428
417351
|
} catch (e) {
|
|
416429
417352
|
sdk.logger?.warn(
|
|
416430
|
-
`plugin ${name} error while trying to create ${adapterType} v${args.baseParams.version}: ${e}`
|
|
417353
|
+
`plugin ${name} error while trying to create ${adapterType} v${args.baseParams.version} at ${args.baseParams.addr}: ${e}`
|
|
416431
417354
|
);
|
|
416432
417355
|
}
|
|
416433
417356
|
}
|
|
@@ -416782,6 +417705,12 @@ var AbstractPriceFeedContract = class extends BaseContract {
|
|
|
416782
417705
|
}
|
|
416783
417706
|
return this.#answer;
|
|
416784
417707
|
}
|
|
417708
|
+
updateAnswer(answer) {
|
|
417709
|
+
if (this.#answer === void 0) {
|
|
417710
|
+
throw new PartialPriceFeedInitError(this.#args);
|
|
417711
|
+
}
|
|
417712
|
+
this.#answer = answer;
|
|
417713
|
+
}
|
|
416785
417714
|
get priceFeedType() {
|
|
416786
417715
|
return this.contractType;
|
|
416787
417716
|
}
|
|
@@ -422571,22 +423500,36 @@ var RedstoneUpdater = class extends SDKConstruct {
|
|
|
422571
423500
|
);
|
|
422572
423501
|
const parsed = import_protocol.RedstonePayload.parse(toBytes(`0x${dataPayload}`));
|
|
422573
423502
|
const packagesByDataFeedId = groupDataPackages(parsed.signedDataPackages);
|
|
422574
|
-
|
|
423503
|
+
const result = [];
|
|
423504
|
+
for (const dataFeedId of dataFeedsIds) {
|
|
422575
423505
|
const signedDataPackages = packagesByDataFeedId[dataFeedId];
|
|
422576
423506
|
if (!signedDataPackages) {
|
|
423507
|
+
if (this.#ignoreMissingFeeds) {
|
|
423508
|
+
this.#logger?.warn(`cannot find data packages for ${dataFeedId}`);
|
|
423509
|
+
continue;
|
|
423510
|
+
}
|
|
422577
423511
|
throw new Error(`cannot find data packages for ${dataFeedId}`);
|
|
422578
423512
|
}
|
|
422579
423513
|
if (signedDataPackages.length !== uniqueSignersCount) {
|
|
423514
|
+
if (this.#ignoreMissingFeeds) {
|
|
423515
|
+
this.#logger?.warn(
|
|
423516
|
+
`got ${signedDataPackages.length} data packages for ${dataFeedId}, but expected ${uniqueSignersCount}`
|
|
423517
|
+
);
|
|
423518
|
+
continue;
|
|
423519
|
+
}
|
|
422580
423520
|
throw new Error(
|
|
422581
423521
|
`got ${signedDataPackages.length} data packages for ${dataFeedId}, but expected ${uniqueSignersCount}`
|
|
422582
423522
|
);
|
|
422583
423523
|
}
|
|
422584
|
-
|
|
422585
|
-
|
|
422586
|
-
|
|
422587
|
-
|
|
423524
|
+
result.push(
|
|
423525
|
+
getCalldataWithTimestamp(
|
|
423526
|
+
dataFeedId,
|
|
423527
|
+
signedDataPackages,
|
|
423528
|
+
wrapper.getUnsignedMetadata()
|
|
423529
|
+
)
|
|
422588
423530
|
);
|
|
422589
|
-
}
|
|
423531
|
+
}
|
|
423532
|
+
return result;
|
|
422590
423533
|
}
|
|
422591
423534
|
};
|
|
422592
423535
|
function groupDataPackages(signedDataPackages) {
|
|
@@ -422835,9 +423778,10 @@ var PriceFeedRegister = class extends SDKConstruct {
|
|
|
422835
423778
|
mustGet(address) {
|
|
422836
423779
|
return this.#feeds.mustGet(address);
|
|
422837
423780
|
}
|
|
422838
|
-
|
|
423781
|
+
upsert(data) {
|
|
422839
423782
|
const existing = this.#feeds.get(data.baseParams.addr);
|
|
422840
423783
|
if (existing?.loaded) {
|
|
423784
|
+
existing.updateAnswer(data.answer);
|
|
422841
423785
|
return existing;
|
|
422842
423786
|
}
|
|
422843
423787
|
const feed = this.create(data);
|
|
@@ -423157,7 +424101,7 @@ var PriceOracleBaseContract = class extends BaseContract {
|
|
|
423157
424101
|
}
|
|
423158
424102
|
for (const node of tree) {
|
|
423159
424103
|
this.#priceFeedTree.upsert(node.baseParams.addr, node);
|
|
423160
|
-
this.sdk.priceFeeds.
|
|
424104
|
+
this.sdk.priceFeeds.upsert(node);
|
|
423161
424105
|
}
|
|
423162
424106
|
for (const entry of entries) {
|
|
423163
424107
|
const { token, priceFeed, reserve, stalenessPeriod } = entry;
|
|
@@ -424237,7 +425181,7 @@ var MarketRegister = class extends SDKConstruct {
|
|
|
424237
425181
|
}
|
|
424238
425182
|
return this.#marketFilter;
|
|
424239
425183
|
}
|
|
424240
|
-
async syncState(
|
|
425184
|
+
async syncState(ignoreUpdateablePrices) {
|
|
424241
425185
|
const dirty = this.markets.some((m) => m.dirty) || this.marketConfigurators.some((c) => c.dirty);
|
|
424242
425186
|
if (dirty) {
|
|
424243
425187
|
this.#logger?.debug(
|
|
@@ -424245,9 +425189,10 @@ var MarketRegister = class extends SDKConstruct {
|
|
|
424245
425189
|
);
|
|
424246
425190
|
await this.#loadMarkets(
|
|
424247
425191
|
[...this.marketFilter.configurators],
|
|
424248
|
-
[...this.marketFilter.pools]
|
|
425192
|
+
[...this.marketFilter.pools],
|
|
425193
|
+
ignoreUpdateablePrices
|
|
424249
425194
|
);
|
|
424250
|
-
} else if (!
|
|
425195
|
+
} else if (!ignoreUpdateablePrices) {
|
|
424251
425196
|
await this.updatePrices();
|
|
424252
425197
|
}
|
|
424253
425198
|
}
|
|
@@ -424838,7 +425783,11 @@ var GearboxSDK = class _GearboxSDK {
|
|
|
424838
425783
|
* @returns
|
|
424839
425784
|
*/
|
|
424840
425785
|
async syncState(opts) {
|
|
424841
|
-
let {
|
|
425786
|
+
let {
|
|
425787
|
+
blockNumber,
|
|
425788
|
+
timestamp,
|
|
425789
|
+
ignoreUpdateablePrices = this.#attachConfig?.ignoreUpdateablePrices
|
|
425790
|
+
} = opts ?? {};
|
|
424842
425791
|
if (this.#attachConfig?.redstone?.historicTimestamp || this.#attachConfig?.pyth?.historicTimestamp) {
|
|
424843
425792
|
throw new Error(
|
|
424844
425793
|
"syncState is not supported with redstone or pyth historicTimestamp"
|
|
@@ -424855,64 +425804,77 @@ var GearboxSDK = class _GearboxSDK {
|
|
|
424855
425804
|
return;
|
|
424856
425805
|
}
|
|
424857
425806
|
if (this.#syncing) {
|
|
424858
|
-
this.logger?.warn(
|
|
425807
|
+
this.logger?.warn(
|
|
425808
|
+
`cannot sync to ${blockNumber}, already syncing at ${this.currentBlock}`
|
|
425809
|
+
);
|
|
424859
425810
|
return;
|
|
424860
425811
|
}
|
|
424861
425812
|
this.#syncing = true;
|
|
424862
|
-
|
|
424863
|
-
this.
|
|
424864
|
-
|
|
424865
|
-
|
|
424866
|
-
|
|
424867
|
-
|
|
424868
|
-
|
|
424869
|
-
|
|
424870
|
-
|
|
424871
|
-
|
|
424872
|
-
|
|
424873
|
-
|
|
424874
|
-
|
|
424875
|
-
|
|
424876
|
-
|
|
424877
|
-
|
|
424878
|
-
|
|
424879
|
-
|
|
424880
|
-
|
|
424881
|
-
|
|
424882
|
-
|
|
424883
|
-
|
|
424884
|
-
|
|
424885
|
-
|
|
424886
|
-
|
|
424887
|
-
|
|
424888
|
-
|
|
424889
|
-
|
|
424890
|
-
|
|
424891
|
-
|
|
424892
|
-
|
|
424893
|
-
|
|
424894
|
-
|
|
424895
|
-
|
|
424896
|
-
|
|
424897
|
-
|
|
424898
|
-
|
|
425813
|
+
const prevBlock = this.currentBlock;
|
|
425814
|
+
const prevTimestamp = this.timestamp;
|
|
425815
|
+
try {
|
|
425816
|
+
let delta = Math.floor(Date.now() / 1e3) - Number(timestamp);
|
|
425817
|
+
this.logger?.debug(
|
|
425818
|
+
`syncing state to block ${blockNumber} (delta ${delta}s )...`
|
|
425819
|
+
);
|
|
425820
|
+
const watchAddresses = [
|
|
425821
|
+
...Array.from(this.marketRegister.watchAddresses),
|
|
425822
|
+
this.addressProvider.address
|
|
425823
|
+
];
|
|
425824
|
+
const fromBlock = this.currentBlock + 1n;
|
|
425825
|
+
this.logger?.debug(
|
|
425826
|
+
`getting logs from ${watchAddresses.length} addresses in [${fromBlock}:${blockNumber}]`
|
|
425827
|
+
);
|
|
425828
|
+
const logs = await getLogsSafe(this.provider.publicClient, {
|
|
425829
|
+
fromBlock,
|
|
425830
|
+
toBlock: blockNumber,
|
|
425831
|
+
address: watchAddresses
|
|
425832
|
+
});
|
|
425833
|
+
for (const log2 of logs) {
|
|
425834
|
+
const contract = this.contracts.get(log2.address);
|
|
425835
|
+
if (contract) {
|
|
425836
|
+
const event = parseEventLogs({
|
|
425837
|
+
abi: contract.abi,
|
|
425838
|
+
logs: [log2]
|
|
425839
|
+
})[0];
|
|
425840
|
+
contract.processLog(event);
|
|
425841
|
+
}
|
|
425842
|
+
}
|
|
425843
|
+
this.#currentBlock = blockNumber;
|
|
425844
|
+
this.#timestamp = timestamp;
|
|
425845
|
+
await this.marketRegister.syncState(ignoreUpdateablePrices);
|
|
425846
|
+
await this.#hooks.triggerHooks("syncState", { blockNumber, timestamp });
|
|
425847
|
+
const pluginsList = TypedObjectUtils.entries(this.plugins);
|
|
425848
|
+
const pluginResponse = await Promise.allSettled(
|
|
425849
|
+
pluginsList.map(([name, plugin]) => {
|
|
425850
|
+
if (plugin.syncState) {
|
|
425851
|
+
this.logger?.debug(`syncing plugin ${name}`);
|
|
425852
|
+
return plugin.syncState();
|
|
425853
|
+
}
|
|
425854
|
+
return void 0;
|
|
425855
|
+
})
|
|
425856
|
+
);
|
|
425857
|
+
pluginResponse.forEach((r, i) => {
|
|
425858
|
+
const [name, plugin] = pluginsList[i];
|
|
425859
|
+
if (plugin.syncState && r.status === "fulfilled") {
|
|
425860
|
+
this.logger?.debug(`synced plugin ${name}`);
|
|
425861
|
+
} else if (plugin.syncState && r.status === "rejected") {
|
|
425862
|
+
this.logger?.error(r.reason, `failed to sync plugin ${name}`);
|
|
424899
425863
|
}
|
|
424900
|
-
|
|
424901
|
-
|
|
424902
|
-
|
|
424903
|
-
|
|
424904
|
-
|
|
424905
|
-
|
|
424906
|
-
|
|
424907
|
-
|
|
424908
|
-
|
|
424909
|
-
|
|
424910
|
-
|
|
424911
|
-
|
|
424912
|
-
|
|
424913
|
-
|
|
424914
|
-
`synced state to block ${blockNumber} (delta ${delta}s)`
|
|
424915
|
-
);
|
|
425864
|
+
});
|
|
425865
|
+
delta = Math.floor(Date.now() / 1e3) - Number(timestamp);
|
|
425866
|
+
this.logger?.debug(
|
|
425867
|
+
`synced state to block ${blockNumber} (delta ${delta}s)`
|
|
425868
|
+
);
|
|
425869
|
+
} catch (e) {
|
|
425870
|
+
this.logger?.error(
|
|
425871
|
+
`sync state to block ${blockNumber} with ts ${timestamp} failed, reverting to old block ${prevBlock} with ts ${prevTimestamp}: ${e}`
|
|
425872
|
+
);
|
|
425873
|
+
this.#currentBlock = prevBlock;
|
|
425874
|
+
this.#timestamp = prevTimestamp;
|
|
425875
|
+
} finally {
|
|
425876
|
+
this.#syncing = false;
|
|
425877
|
+
}
|
|
424916
425878
|
}
|
|
424917
425879
|
get provider() {
|
|
424918
425880
|
return this.#provider;
|
|
@@ -445634,11 +446596,14 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445634
446596
|
}
|
|
445635
446597
|
logger2?.debug(
|
|
445636
446598
|
{
|
|
445637
|
-
minDebt: this.sdk.tokensMeta.formatBN(underlying, minDebt
|
|
446599
|
+
minDebt: this.sdk.tokensMeta.formatBN(underlying, minDebt, {
|
|
446600
|
+
symbol: true
|
|
446601
|
+
}),
|
|
445638
446602
|
leverage: leverage.toString(),
|
|
445639
446603
|
expectedUnderlyingBalance: this.sdk.tokensMeta.formatBN(
|
|
445640
446604
|
underlying,
|
|
445641
|
-
expectedUnderlyingBalance
|
|
446605
|
+
expectedUnderlyingBalance,
|
|
446606
|
+
{ symbol: true }
|
|
445642
446607
|
)
|
|
445643
446608
|
},
|
|
445644
446609
|
"looking for open strategy"
|
|
@@ -445651,7 +446616,7 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445651
446616
|
});
|
|
445652
446617
|
if (borrowerBalance < minDebt) {
|
|
445653
446618
|
this.#logger?.warn(
|
|
445654
|
-
`borrower balance in underlying: ${this.sdk.tokensMeta.formatBN(underlying, borrowerBalance)} is less than the minimum debt: ${this.sdk.tokensMeta.formatBN(underlying, minDebt)}`
|
|
446619
|
+
`borrower balance in underlying: ${this.sdk.tokensMeta.formatBN(underlying, borrowerBalance, { symbol: true })} is less than the minimum debt: ${this.sdk.tokensMeta.formatBN(underlying, minDebt, { symbol: true })}`
|
|
445655
446620
|
);
|
|
445656
446621
|
if (this.#allowMint) {
|
|
445657
446622
|
borrowerBalance = await this.#tryMint(
|
|
@@ -445662,7 +446627,7 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445662
446627
|
}
|
|
445663
446628
|
}
|
|
445664
446629
|
this.#logger?.debug(
|
|
445665
|
-
`borrower balance in underlying: ${this.sdk.tokensMeta.formatBN(underlying, borrowerBalance
|
|
446630
|
+
`borrower balance in underlying: ${this.sdk.tokensMeta.formatBN(underlying, borrowerBalance, { symbol: true })}`
|
|
445666
446631
|
);
|
|
445667
446632
|
const strategy = await this.sdk.routerFor(cm).findOpenStrategyPath({
|
|
445668
446633
|
creditManager: cm.creditManager,
|
|
@@ -445737,7 +446702,7 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445737
446702
|
amount = amount > cm.creditFacade.maxDebt ? cm.creditFacade.maxDebt : amount;
|
|
445738
446703
|
minAvailableByPool[cm.pool] = (minAvailableByPool[cm.pool] ?? 0n) + amount;
|
|
445739
446704
|
this.#logger?.debug(
|
|
445740
|
-
`target #${i + 1} (${this.labelAddress(t.target)}) needs ${this.sdk.tokensMeta.formatBN(cm.underlying, amount
|
|
446705
|
+
`target #${i + 1} (${this.labelAddress(t.target)}) needs ${this.sdk.tokensMeta.formatBN(cm.underlying, amount, { symbol: true })} in pool (leverage: ${Number(leverage / PERCENTAGE_FACTOR)}%)`
|
|
445741
446706
|
);
|
|
445742
446707
|
}
|
|
445743
446708
|
let totalUSD = 0n;
|
|
@@ -445751,9 +446716,11 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445751
446716
|
minAvailable,
|
|
445752
446717
|
pool.availableLiquidity,
|
|
445753
446718
|
diff
|
|
445754
|
-
].map(
|
|
446719
|
+
].map(
|
|
446720
|
+
(v) => this.sdk.tokensMeta.formatBN(pool.underlying, v, { symbol: true })
|
|
446721
|
+
);
|
|
445755
446722
|
this.#logger?.debug(
|
|
445756
|
-
`Pool ${this.labelAddress(pool.address)} has ${availableS} liquidity, needs ${diffS} more for the minimum of ${minS}
|
|
446723
|
+
`Pool ${this.labelAddress(pool.address)} has ${availableS} liquidity, needs ${diffS} more for the minimum of ${minS}`
|
|
445757
446724
|
);
|
|
445758
446725
|
if (diff > 0n) {
|
|
445759
446726
|
deposits.push([pool, diff]);
|
|
@@ -445766,7 +446733,15 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445766
446733
|
);
|
|
445767
446734
|
const depositor = await this.#getDepositor();
|
|
445768
446735
|
this.#logger?.debug(`depositor: ${depositor.address}`);
|
|
445769
|
-
|
|
446736
|
+
try {
|
|
446737
|
+
await this.#claimFromFaucet(depositor, "depositor", totalUSD);
|
|
446738
|
+
} catch (e) {
|
|
446739
|
+
if (this.#allowMint) {
|
|
446740
|
+
this.#logger?.error(`depositor failed to claim from faucet: ${e}`);
|
|
446741
|
+
} else {
|
|
446742
|
+
throw e;
|
|
446743
|
+
}
|
|
446744
|
+
}
|
|
445770
446745
|
const results = [];
|
|
445771
446746
|
for (const [pool, amount] of deposits) {
|
|
445772
446747
|
const result = await this.#depositToPool(pool, depositor, amount);
|
|
@@ -445784,7 +446759,9 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445784
446759
|
};
|
|
445785
446760
|
let txHash;
|
|
445786
446761
|
try {
|
|
445787
|
-
const amnt = this.sdk.tokensMeta.formatBN(pool.underlying, amount
|
|
446762
|
+
const amnt = this.sdk.tokensMeta.formatBN(pool.underlying, amount, {
|
|
446763
|
+
symbol: true
|
|
446764
|
+
});
|
|
445788
446765
|
this.#logger?.debug(`depositing ${amnt} into pool ${poolName}`);
|
|
445789
446766
|
let allowance = await this.#anvil.readContract({
|
|
445790
446767
|
address: underlying,
|
|
@@ -445794,7 +446771,7 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445794
446771
|
});
|
|
445795
446772
|
if (allowance < amount) {
|
|
445796
446773
|
this.#logger?.warn(
|
|
445797
|
-
`depositor balance in underlying: ${this.sdk.tokensMeta.formatBN(pool.underlying, allowance)} is less than the amount to deposit: ${amnt}`
|
|
446774
|
+
`depositor balance in underlying: ${this.sdk.tokensMeta.formatBN(pool.underlying, allowance, { symbol: true })} is less than the amount to deposit: ${amnt}`
|
|
445798
446775
|
);
|
|
445799
446776
|
if (this.#allowMint) {
|
|
445800
446777
|
allowance = await this.#tryMint(
|
|
@@ -445805,7 +446782,7 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445805
446782
|
}
|
|
445806
446783
|
}
|
|
445807
446784
|
this.#logger?.debug(
|
|
445808
|
-
`depositor balance in underlying: ${this.sdk.tokensMeta.formatBN(pool.underlying, allowance)}`
|
|
446785
|
+
`depositor balance in underlying: ${this.sdk.tokensMeta.formatBN(pool.underlying, allowance, { symbol: true })}`
|
|
445809
446786
|
);
|
|
445810
446787
|
txHash = await this.#anvil.writeContract({
|
|
445811
446788
|
account: depositor,
|
|
@@ -445863,14 +446840,11 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445863
446840
|
* @param amount
|
|
445864
446841
|
*/
|
|
445865
446842
|
async #tryMint(token, dest, amount) {
|
|
445866
|
-
const
|
|
445867
|
-
const amnt = this.sdk.tokensMeta.formatBN(token, amount);
|
|
446843
|
+
const amnt = this.sdk.tokensMeta.formatBN(token, amount, { symbol: true });
|
|
445868
446844
|
try {
|
|
445869
446845
|
await this.#mint(token, dest, amount);
|
|
445870
446846
|
} catch (e) {
|
|
445871
|
-
this.#logger?.warn(
|
|
445872
|
-
`failed to mint ${amnt} ${symbol2} to ${dest.address}: ${e}`
|
|
445873
|
-
);
|
|
446847
|
+
this.#logger?.warn(`failed to mint ${amnt} to ${dest.address}: ${e}`);
|
|
445874
446848
|
}
|
|
445875
446849
|
return await this.#anvil.readContract({
|
|
445876
446850
|
address: token,
|
|
@@ -445892,8 +446866,46 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445892
446866
|
await this.#anvil.impersonateAccount({ address: owner });
|
|
445893
446867
|
await this.#anvil.setBalance({
|
|
445894
446868
|
address: owner,
|
|
445895
|
-
value: parseEther("
|
|
446869
|
+
value: parseEther("1000000")
|
|
445896
446870
|
});
|
|
446871
|
+
try {
|
|
446872
|
+
await this.#mintDirectly(owner, token, amount, dest.address);
|
|
446873
|
+
} catch (e) {
|
|
446874
|
+
this.#logger?.warn(
|
|
446875
|
+
`failed to mint directly ${amnt} ${symbol2} to ${dest.address}: ${e}`
|
|
446876
|
+
);
|
|
446877
|
+
try {
|
|
446878
|
+
await this.#mintAndTransfer(owner, token, amount, dest.address);
|
|
446879
|
+
} catch (e2) {
|
|
446880
|
+
this.#logger?.warn(
|
|
446881
|
+
`failed to mint and transfer ${amnt} ${symbol2} to ${dest.address}: ${e2}`
|
|
446882
|
+
);
|
|
446883
|
+
}
|
|
446884
|
+
}
|
|
446885
|
+
await this.#anvil.stopImpersonatingAccount({ address: owner });
|
|
446886
|
+
}
|
|
446887
|
+
async #mintDirectly(owner, token, amount, dest) {
|
|
446888
|
+
const hash4 = await this.#anvil.writeContract({
|
|
446889
|
+
account: owner,
|
|
446890
|
+
address: token,
|
|
446891
|
+
abi: parseAbi([
|
|
446892
|
+
"function mint(address to, uint256 amount) returns (bool)"
|
|
446893
|
+
]),
|
|
446894
|
+
functionName: "mint",
|
|
446895
|
+
args: [dest, amount],
|
|
446896
|
+
chain: this.#anvil.chain
|
|
446897
|
+
});
|
|
446898
|
+
this.#logger?.debug(
|
|
446899
|
+
`mint ${this.sdk.tokensMeta.formatBN(token, amount, { symbol: true })} to ${owner} in tx ${hash4}`
|
|
446900
|
+
);
|
|
446901
|
+
const receipt = await this.#anvil.waitForTransactionReceipt({ hash: hash4 });
|
|
446902
|
+
if (receipt.status === "reverted") {
|
|
446903
|
+
throw new Error(
|
|
446904
|
+
`failed to mint ${this.sdk.tokensMeta.formatBN(token, amount, { symbol: true })} to ${owner} in tx ${hash4}: reverted`
|
|
446905
|
+
);
|
|
446906
|
+
}
|
|
446907
|
+
}
|
|
446908
|
+
async #mintAndTransfer(owner, token, amount, dest) {
|
|
445897
446909
|
let hash4 = await this.#anvil.writeContract({
|
|
445898
446910
|
account: owner,
|
|
445899
446911
|
address: token,
|
|
@@ -445902,11 +446914,13 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445902
446914
|
args: [amount],
|
|
445903
446915
|
chain: this.#anvil.chain
|
|
445904
446916
|
});
|
|
445905
|
-
this.#logger?.debug(
|
|
446917
|
+
this.#logger?.debug(
|
|
446918
|
+
`mint ${this.sdk.tokensMeta.formatBN(token, amount, { symbol: true })} to ${owner} in tx ${hash4}`
|
|
446919
|
+
);
|
|
445906
446920
|
let receipt = await this.#anvil.waitForTransactionReceipt({ hash: hash4 });
|
|
445907
446921
|
if (receipt.status === "reverted") {
|
|
445908
446922
|
throw new Error(
|
|
445909
|
-
`failed to mint ${
|
|
446923
|
+
`failed to mint ${this.sdk.tokensMeta.formatBN(token, amount, { symbol: true })} to ${owner} in tx ${hash4}: reverted`
|
|
445910
446924
|
);
|
|
445911
446925
|
}
|
|
445912
446926
|
hash4 = await this.#anvil.writeContract({
|
|
@@ -445914,19 +446928,18 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445914
446928
|
address: token,
|
|
445915
446929
|
abi: ierc20Abi,
|
|
445916
446930
|
functionName: "transfer",
|
|
445917
|
-
args: [dest
|
|
446931
|
+
args: [dest, amount],
|
|
445918
446932
|
chain: this.#anvil.chain
|
|
445919
446933
|
});
|
|
445920
446934
|
this.#logger?.debug(
|
|
445921
|
-
`transfer ${
|
|
446935
|
+
`transfer ${this.sdk.tokensMeta.formatBN(token, amount, { symbol: true })} from ${owner} to ${dest} in tx ${hash4}`
|
|
445922
446936
|
);
|
|
445923
446937
|
receipt = await this.#anvil.waitForTransactionReceipt({ hash: hash4 });
|
|
445924
446938
|
if (receipt.status === "reverted") {
|
|
445925
446939
|
throw new Error(
|
|
445926
|
-
`failed to transfer ${
|
|
446940
|
+
`failed to transfer ${this.sdk.tokensMeta.formatBN(token, amount, { symbol: true })} from ${owner} to ${dest} in tx ${hash4}: reverted`
|
|
445927
446941
|
);
|
|
445928
446942
|
}
|
|
445929
|
-
await this.#anvil.stopImpersonatingAccount({ address: owner });
|
|
445930
446943
|
}
|
|
445931
446944
|
/**
|
|
445932
446945
|
* Creates borrower wallet,
|
|
@@ -446193,17 +447206,23 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
446193
447206
|
const desiredQuota = this.#calcQuota(amount, debt, collateralLT);
|
|
446194
447207
|
logger2?.debug(
|
|
446195
447208
|
{
|
|
446196
|
-
desiredQuota: this.sdk.tokensMeta.formatBN(underlying, desiredQuota
|
|
447209
|
+
desiredQuota: this.sdk.tokensMeta.formatBN(underlying, desiredQuota, {
|
|
447210
|
+
symbol: true
|
|
447211
|
+
}),
|
|
446197
447212
|
availableQuota: this.sdk.tokensMeta.formatBN(
|
|
446198
447213
|
underlying,
|
|
446199
|
-
availableQuota
|
|
447214
|
+
availableQuota,
|
|
447215
|
+
{ symbol: true }
|
|
446200
447216
|
),
|
|
446201
447217
|
collateralAmount: this.sdk.tokensMeta.formatBN(
|
|
446202
447218
|
collateral,
|
|
446203
|
-
collateralAmount
|
|
447219
|
+
collateralAmount,
|
|
447220
|
+
{ symbol: true }
|
|
446204
447221
|
),
|
|
446205
|
-
amount: this.sdk.tokensMeta.formatBN(underlying, amount
|
|
446206
|
-
|
|
447222
|
+
amount: this.sdk.tokensMeta.formatBN(underlying, amount, {
|
|
447223
|
+
symbol: true
|
|
447224
|
+
}),
|
|
447225
|
+
debt: this.sdk.tokensMeta.formatBN(underlying, debt, { symbol: true }),
|
|
446207
447226
|
lt: Number(collateralLT)
|
|
446208
447227
|
},
|
|
446209
447228
|
"calculated quota"
|
|
@@ -454149,7 +455168,7 @@ function getRenderer(opts) {
|
|
|
454149
455168
|
var package_default = {
|
|
454150
455169
|
name: "@gearbox-protocol/deploy-tools",
|
|
454151
455170
|
description: "Gearbox deploy tools",
|
|
454152
|
-
version: "5.
|
|
455171
|
+
version: "5.47.0",
|
|
454153
455172
|
homepage: "https://gearbox.fi",
|
|
454154
455173
|
keywords: [
|
|
454155
455174
|
"gearbox"
|
|
@@ -454189,11 +455208,11 @@ var package_default = {
|
|
|
454189
455208
|
"@gearbox-protocol/deploy-tools-node": "0.0.0",
|
|
454190
455209
|
"@gearbox-protocol/deploy-tools-shared": "0.0.0",
|
|
454191
455210
|
"@gearbox-protocol/deploy-tools-types": "0.0.0",
|
|
454192
|
-
"@gearbox-protocol/sdk": "9.
|
|
455211
|
+
"@gearbox-protocol/sdk": "9.9.6",
|
|
454193
455212
|
"@gearbox-protocol/sdk-gov": "2.37.0",
|
|
454194
455213
|
"@types/lodash-es": "^4.17.12",
|
|
454195
455214
|
"@types/node": "^24.5.2",
|
|
454196
|
-
"@types/react": "^19.1.
|
|
455215
|
+
"@types/react": "^19.1.15",
|
|
454197
455216
|
"@types/react-dom": "^19.1.9",
|
|
454198
455217
|
abitype: "^1.1.1",
|
|
454199
455218
|
chalk: "^5.6.2",
|
|
@@ -454202,14 +455221,14 @@ var package_default = {
|
|
|
454202
455221
|
esbuild: "^0.25.10",
|
|
454203
455222
|
"lodash-es": "^4.17.21",
|
|
454204
455223
|
"p-retry": "^7.0.0",
|
|
454205
|
-
pino: "^9.
|
|
455224
|
+
pino: "^9.12.0",
|
|
454206
455225
|
"pino-pretty": "^13.1.1",
|
|
454207
455226
|
queue: "^7.0.0",
|
|
454208
455227
|
react: "^19.1.1",
|
|
454209
455228
|
"react-dom": "^19.1.1",
|
|
454210
455229
|
table: "^6.9.0",
|
|
454211
|
-
tsx: "^4.20.
|
|
454212
|
-
viem: "^2.37.
|
|
455230
|
+
tsx: "^4.20.6",
|
|
455231
|
+
viem: "^2.37.9",
|
|
454213
455232
|
yaml: "^2.8.1",
|
|
454214
455233
|
zod: "^4.1.11"
|
|
454215
455234
|
}
|