@gearbox-protocol/deploy-tools 5.46.1 → 5.46.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +1794 -642
- 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
|
-
function strictImpl(strict, serialize) {
|
|
142006
|
-
return strict === true ? `throw Error('fast-redact: primitives cannot be redacted')` : serialize === false ? `return o` : `return this.serialize(o)`;
|
|
142007
|
-
}
|
|
142008
|
-
}
|
|
142009
|
-
});
|
|
142010
|
-
|
|
142011
|
-
// ../../node_modules/fast-redact/lib/modifiers.js
|
|
142012
|
-
var require_modifiers = __commonJS({
|
|
142013
|
-
"../../node_modules/fast-redact/lib/modifiers.js"(exports2, module2) {
|
|
142014
|
-
"use strict";
|
|
142015
|
-
module2.exports = {
|
|
142016
|
-
groupRedact,
|
|
142017
|
-
groupRestore,
|
|
142018
|
-
nestedRedact,
|
|
142019
|
-
nestedRestore
|
|
142020
|
-
};
|
|
142021
|
-
function groupRestore({ keys: keys2, values, target }) {
|
|
142022
|
-
if (target == null || typeof target === "string") return;
|
|
142023
|
-
const length = keys2.length;
|
|
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;
|
|
142047
141906
|
}
|
|
141907
|
+
current = current[key];
|
|
142048
141908
|
}
|
|
142049
|
-
|
|
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;
|
|
141925
|
+
}
|
|
141926
|
+
}
|
|
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;
|
|
141935
|
+
}
|
|
141936
|
+
if (typeof current[key] !== "object" || current[key] === null) {
|
|
141937
|
+
return false;
|
|
141938
|
+
}
|
|
141939
|
+
current = current[key];
|
|
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];
|
|
142057
141957
|
}
|
|
142058
|
-
current[path12[0]] = value;
|
|
142059
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
|
-
} else {
|
|
142124
|
-
ov = wcov[k];
|
|
142125
|
-
}
|
|
142126
|
-
nv = i !== lastPathIndex ? ov : isCensorFct ? censorFctTakesPath ? censor(ov, [...path12, originalKey, ...afterPath]) : censor(ov) : censor;
|
|
142127
|
-
if (kIsWc) {
|
|
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);
|
|
142143
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);
|
|
142049
|
+
}
|
|
142050
|
+
}
|
|
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);
|
|
142144
142056
|
}
|
|
142145
|
-
wc = null;
|
|
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);
|
|
@@ -188796,6 +188660,7 @@ var require_webSocket = __commonJS({
|
|
|
188796
188660
|
});
|
|
188797
188661
|
const body = {
|
|
188798
188662
|
jsonrpc: "2.0",
|
|
188663
|
+
id: null,
|
|
188799
188664
|
method: "net_version",
|
|
188800
188665
|
params: []
|
|
188801
188666
|
};
|
|
@@ -225139,6 +225004,60 @@ var require_g = __commonJS({
|
|
|
225139
225004
|
}
|
|
225140
225005
|
});
|
|
225141
225006
|
|
|
225007
|
+
// ../../node_modules/viem/_cjs/chains/definitions/0gGalileoTestnet.js
|
|
225008
|
+
var require_gGalileoTestnet = __commonJS({
|
|
225009
|
+
"../../node_modules/viem/_cjs/chains/definitions/0gGalileoTestnet.js"(exports2) {
|
|
225010
|
+
"use strict";
|
|
225011
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
225012
|
+
exports2.zeroGGalileoTestnet = void 0;
|
|
225013
|
+
var defineChain_js_1 = require_defineChain();
|
|
225014
|
+
exports2.zeroGGalileoTestnet = (0, defineChain_js_1.defineChain)({
|
|
225015
|
+
id: 16601,
|
|
225016
|
+
name: "0G Galileo Testnet",
|
|
225017
|
+
nativeCurrency: { name: "A0GI", symbol: "A0GI", decimals: 18 },
|
|
225018
|
+
rpcUrls: {
|
|
225019
|
+
default: {
|
|
225020
|
+
http: ["https://evmrpc-testnet.0g.ai"]
|
|
225021
|
+
}
|
|
225022
|
+
},
|
|
225023
|
+
blockExplorers: {
|
|
225024
|
+
default: {
|
|
225025
|
+
name: "0G BlockChain Explorer",
|
|
225026
|
+
url: "https://chainscan-galileo.0g.ai"
|
|
225027
|
+
}
|
|
225028
|
+
},
|
|
225029
|
+
testnet: true
|
|
225030
|
+
});
|
|
225031
|
+
}
|
|
225032
|
+
});
|
|
225033
|
+
|
|
225034
|
+
// ../../node_modules/viem/_cjs/chains/definitions/0gMainnet.js
|
|
225035
|
+
var require_gMainnet = __commonJS({
|
|
225036
|
+
"../../node_modules/viem/_cjs/chains/definitions/0gMainnet.js"(exports2) {
|
|
225037
|
+
"use strict";
|
|
225038
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
225039
|
+
exports2.zeroGMainnet = void 0;
|
|
225040
|
+
var defineChain_js_1 = require_defineChain();
|
|
225041
|
+
exports2.zeroGMainnet = (0, defineChain_js_1.defineChain)({
|
|
225042
|
+
id: 16661,
|
|
225043
|
+
name: "0G Mainnet",
|
|
225044
|
+
nativeCurrency: { name: "0G", symbol: "0G", decimals: 18 },
|
|
225045
|
+
rpcUrls: {
|
|
225046
|
+
default: {
|
|
225047
|
+
http: ["https://evmrpc.0g.ai"]
|
|
225048
|
+
}
|
|
225049
|
+
},
|
|
225050
|
+
blockExplorers: {
|
|
225051
|
+
default: {
|
|
225052
|
+
name: "0G BlockChain Explorer",
|
|
225053
|
+
url: "https://chainscan.0g.ai"
|
|
225054
|
+
}
|
|
225055
|
+
},
|
|
225056
|
+
testnet: false
|
|
225057
|
+
});
|
|
225058
|
+
}
|
|
225059
|
+
});
|
|
225060
|
+
|
|
225142
225061
|
// ../../node_modules/viem/_cjs/chains/definitions/5ireChain.js
|
|
225143
225062
|
var require_ireChain = __commonJS({
|
|
225144
225063
|
"../../node_modules/viem/_cjs/chains/definitions/5ireChain.js"(exports2) {
|
|
@@ -235114,6 +235033,68 @@ var require_jocTestnet = __commonJS({
|
|
|
235114
235033
|
}
|
|
235115
235034
|
});
|
|
235116
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
|
+
|
|
235117
235098
|
// ../../node_modules/viem/_cjs/chains/definitions/juneo.js
|
|
235118
235099
|
var require_juneo = __commonJS({
|
|
235119
235100
|
"../../node_modules/viem/_cjs/chains/definitions/juneo.js"(exports2) {
|
|
@@ -236647,6 +236628,31 @@ var require_liskSepolia = __commonJS({
|
|
|
236647
236628
|
}
|
|
236648
236629
|
});
|
|
236649
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
|
+
|
|
236650
236656
|
// ../../node_modules/viem/_cjs/chains/definitions/localhost.js
|
|
236651
236657
|
var require_localhost = __commonJS({
|
|
236652
236658
|
"../../node_modules/viem/_cjs/chains/definitions/localhost.js"(exports2) {
|
|
@@ -237304,6 +237310,37 @@ var require_mantraDuKongEVMTestnet = __commonJS({
|
|
|
237304
237310
|
}
|
|
237305
237311
|
});
|
|
237306
237312
|
|
|
237313
|
+
// ../../node_modules/viem/_cjs/chains/definitions/mantraEVM.js
|
|
237314
|
+
var require_mantraEVM = __commonJS({
|
|
237315
|
+
"../../node_modules/viem/_cjs/chains/definitions/mantraEVM.js"(exports2) {
|
|
237316
|
+
"use strict";
|
|
237317
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
237318
|
+
exports2.mantraEVM = void 0;
|
|
237319
|
+
var defineChain_js_1 = require_defineChain();
|
|
237320
|
+
exports2.mantraEVM = (0, defineChain_js_1.defineChain)({
|
|
237321
|
+
id: 5888,
|
|
237322
|
+
name: "MANTRA EVM",
|
|
237323
|
+
nativeCurrency: {
|
|
237324
|
+
decimals: 18,
|
|
237325
|
+
name: "OM",
|
|
237326
|
+
symbol: "OM"
|
|
237327
|
+
},
|
|
237328
|
+
rpcUrls: {
|
|
237329
|
+
default: {
|
|
237330
|
+
http: ["https://evm.mantrachain.io"],
|
|
237331
|
+
webSocket: ["https://evm.mantrachain.io/ws"]
|
|
237332
|
+
}
|
|
237333
|
+
},
|
|
237334
|
+
blockExplorers: {
|
|
237335
|
+
default: {
|
|
237336
|
+
name: "MANTRA Scan",
|
|
237337
|
+
url: "https://mantrascan.io/mainnet"
|
|
237338
|
+
}
|
|
237339
|
+
}
|
|
237340
|
+
});
|
|
237341
|
+
}
|
|
237342
|
+
});
|
|
237343
|
+
|
|
237307
237344
|
// ../../node_modules/viem/_cjs/chains/definitions/mapProtocol.js
|
|
237308
237345
|
var require_mapProtocol = __commonJS({
|
|
237309
237346
|
"../../node_modules/viem/_cjs/chains/definitions/mapProtocol.js"(exports2) {
|
|
@@ -239911,6 +239948,12 @@ var require_plasma = __commonJS({
|
|
|
239911
239948
|
name: "PlasmaScan",
|
|
239912
239949
|
url: "https://plasmascan.to"
|
|
239913
239950
|
}
|
|
239951
|
+
},
|
|
239952
|
+
contracts: {
|
|
239953
|
+
multicall3: {
|
|
239954
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
239955
|
+
blockCreated: 0
|
|
239956
|
+
}
|
|
239914
239957
|
}
|
|
239915
239958
|
});
|
|
239916
239959
|
}
|
|
@@ -239936,7 +239979,13 @@ var require_plasmaDevnet = __commonJS({
|
|
|
239936
239979
|
http: ["https://devnet-rpc.plasma.to"]
|
|
239937
239980
|
}
|
|
239938
239981
|
},
|
|
239939
|
-
testnet: true
|
|
239982
|
+
testnet: true,
|
|
239983
|
+
contracts: {
|
|
239984
|
+
multicall3: {
|
|
239985
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
239986
|
+
blockCreated: 0
|
|
239987
|
+
}
|
|
239988
|
+
}
|
|
239940
239989
|
});
|
|
239941
239990
|
}
|
|
239942
239991
|
});
|
|
@@ -239967,6 +240016,12 @@ var require_plasmaTestnet = __commonJS({
|
|
|
239967
240016
|
url: "https://testnet.plasmascan.to"
|
|
239968
240017
|
}
|
|
239969
240018
|
},
|
|
240019
|
+
contracts: {
|
|
240020
|
+
multicall3: {
|
|
240021
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
240022
|
+
blockCreated: 0
|
|
240023
|
+
}
|
|
240024
|
+
},
|
|
239970
240025
|
testnet: true
|
|
239971
240026
|
});
|
|
239972
240027
|
}
|
|
@@ -243428,6 +243483,37 @@ var require_sophonTestnet = __commonJS({
|
|
|
243428
243483
|
}
|
|
243429
243484
|
});
|
|
243430
243485
|
|
|
243486
|
+
// ../../node_modules/viem/_cjs/chains/definitions/sova.js
|
|
243487
|
+
var require_sova = __commonJS({
|
|
243488
|
+
"../../node_modules/viem/_cjs/chains/definitions/sova.js"(exports2) {
|
|
243489
|
+
"use strict";
|
|
243490
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
243491
|
+
exports2.sova = void 0;
|
|
243492
|
+
var defineChain_js_1 = require_defineChain();
|
|
243493
|
+
exports2.sova = (0, defineChain_js_1.defineChain)({
|
|
243494
|
+
id: 100021,
|
|
243495
|
+
name: "Sova",
|
|
243496
|
+
nativeCurrency: {
|
|
243497
|
+
decimals: 18,
|
|
243498
|
+
name: "Ether",
|
|
243499
|
+
symbol: "ETH"
|
|
243500
|
+
},
|
|
243501
|
+
rpcUrls: {
|
|
243502
|
+
default: {
|
|
243503
|
+
http: ["https://rpc.sova.io"]
|
|
243504
|
+
}
|
|
243505
|
+
},
|
|
243506
|
+
blockExplorers: {
|
|
243507
|
+
default: {
|
|
243508
|
+
name: "Sova Block Explorer",
|
|
243509
|
+
url: "hhttps://explorer.sova.io"
|
|
243510
|
+
}
|
|
243511
|
+
},
|
|
243512
|
+
testnet: false
|
|
243513
|
+
});
|
|
243514
|
+
}
|
|
243515
|
+
});
|
|
243516
|
+
|
|
243431
243517
|
// ../../node_modules/viem/_cjs/chains/definitions/sovaSepolia.js
|
|
243432
243518
|
var require_sovaSepolia = __commonJS({
|
|
243433
243519
|
"../../node_modules/viem/_cjs/chains/definitions/sovaSepolia.js"(exports2) {
|
|
@@ -246573,7 +246659,7 @@ var require_zetachain = __commonJS({
|
|
|
246573
246659
|
blockExplorers: {
|
|
246574
246660
|
default: {
|
|
246575
246661
|
name: "ZetaScan",
|
|
246576
|
-
url: "https://
|
|
246662
|
+
url: "https://zetascan.com"
|
|
246577
246663
|
}
|
|
246578
246664
|
},
|
|
246579
246665
|
testnet: false
|
|
@@ -246610,7 +246696,7 @@ var require_zetachainAthensTestnet = __commonJS({
|
|
|
246610
246696
|
blockExplorers: {
|
|
246611
246697
|
default: {
|
|
246612
246698
|
name: "ZetaScan",
|
|
246613
|
-
url: "https://
|
|
246699
|
+
url: "https://testnet.zetascan.com"
|
|
246614
246700
|
}
|
|
246615
246701
|
},
|
|
246616
246702
|
testnet: true
|
|
@@ -247397,23 +247483,31 @@ var require_chains2 = __commonJS({
|
|
|
247397
247483
|
"../../node_modules/viem/_cjs/chains/index.js"(exports2) {
|
|
247398
247484
|
"use strict";
|
|
247399
247485
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
247400
|
-
exports2.
|
|
247401
|
-
exports2.
|
|
247402
|
-
exports2.
|
|
247403
|
-
exports2.
|
|
247404
|
-
exports2.
|
|
247405
|
-
exports2.
|
|
247406
|
-
exports2.
|
|
247407
|
-
exports2.
|
|
247408
|
-
exports2.
|
|
247409
|
-
exports2.
|
|
247410
|
-
exports2.
|
|
247411
|
-
exports2.
|
|
247412
|
-
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 = void 0;
|
|
247486
|
+
exports2.basecampTestnet = exports2.basePreconf = exports2.base = exports2.bahamut = exports2.b3Sepolia = exports2.b3 = exports2.avalancheFuji = exports2.avalanche = exports2.autheoTestnet = exports2.auroria = exports2.auroraTestnet = exports2.aurora = exports2.atletaOlympia = exports2.astarZkyoto = exports2.astarZkEVM = exports2.astar = exports2.assetChainTestnet = exports2.assetChain = exports2.artheraTestnet = exports2.arthera = exports2.artelaTestnet = exports2.areum = exports2.areonNetworkTestnet = exports2.areonNetwork = exports2.arenaz = exports2.arbitrumSepolia = exports2.arbitrumNova = exports2.arbitrumGoerli = exports2.arbitrum = exports2.apexTestnet = exports2.apeChain = exports2.anvil = exports2.ancient8Sepolia = exports2.ancient8 = exports2.alienxHalTestnet = exports2.alienx = exports2.alephZeroTestnet = exports2.alephZero = exports2.aioz = exports2.agungTestnet = exports2.adf = exports2.acria = exports2.acala = exports2.abstractTestnet = exports2.abstract = exports2.abey = exports2.fireChain = exports2.zeroGMainnet = exports2.zeroGGalileoTestnet = exports2.zeroG = void 0;
|
|
247487
|
+
exports2.chang = exports2.celoSepolia = exports2.celoAlfajores = exports2.celo = exports2.canto = exports2.cannon = exports2.bxnTestnet = exports2.bxn = exports2.btrTestnet = exports2.btr = exports2.bsquaredTestnet = exports2.bsquared = exports2.bscTestnet = exports2.bscGreenfield = exports2.bsc = exports2.bronosTestnet = exports2.bronos = exports2.bounceBitTestnet = exports2.bounceBit = exports2.botanixTestnet = exports2.botanix = exports2.boolBetaMainnet = exports2.bobSepolia = exports2.bobaSepolia = exports2.boba = exports2.bob = exports2.blastSepolia = exports2.blast = exports2.bitTorrentTestnet = exports2.bitTorrent = exports2.bitrock = exports2.bitlayerTestnet = exports2.bitlayer = exports2.bitkubTestnet = exports2.bitkub = exports2.bitgert = exports2.birdlayer = exports2.bifrost = exports2.bevmMainnet = exports2.berachainTestnetbArtio = exports2.berachainTestnet = exports2.berachainBepolia = exports2.berachain = exports2.bearNetworkChainTestnet = exports2.bearNetworkChainMainnet = exports2.beamTestnet = exports2.beam = exports2.baseSepoliaPreconf = exports2.baseSepolia = exports2.baseGoerli = void 0;
|
|
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;
|
|
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;
|
|
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;
|
|
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;
|
|
247413
247499
|
var _0g_js_1 = require_g();
|
|
247414
247500
|
Object.defineProperty(exports2, "zeroG", { enumerable: true, get: function() {
|
|
247415
247501
|
return _0g_js_1.zeroG;
|
|
247416
247502
|
} });
|
|
247503
|
+
var _0gGalileoTestnet_js_1 = require_gGalileoTestnet();
|
|
247504
|
+
Object.defineProperty(exports2, "zeroGGalileoTestnet", { enumerable: true, get: function() {
|
|
247505
|
+
return _0gGalileoTestnet_js_1.zeroGGalileoTestnet;
|
|
247506
|
+
} });
|
|
247507
|
+
var _0gMainnet_js_1 = require_gMainnet();
|
|
247508
|
+
Object.defineProperty(exports2, "zeroGMainnet", { enumerable: true, get: function() {
|
|
247509
|
+
return _0gMainnet_js_1.zeroGMainnet;
|
|
247510
|
+
} });
|
|
247417
247511
|
var _5ireChain_js_1 = require_ireChain();
|
|
247418
247512
|
Object.defineProperty(exports2, "fireChain", { enumerable: true, get: function() {
|
|
247419
247513
|
return _5ireChain_js_1.fireChain;
|
|
@@ -248496,6 +248590,14 @@ var require_chains2 = __commonJS({
|
|
|
248496
248590
|
Object.defineProperty(exports2, "jocTestnet", { enumerable: true, get: function() {
|
|
248497
248591
|
return jocTestnet_js_1.jocTestnet;
|
|
248498
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
|
+
} });
|
|
248499
248601
|
var juneo_js_1 = require_juneo();
|
|
248500
248602
|
Object.defineProperty(exports2, "juneo", { enumerable: true, get: function() {
|
|
248501
248603
|
return juneo_js_1.juneo;
|
|
@@ -248668,6 +248770,10 @@ var require_chains2 = __commonJS({
|
|
|
248668
248770
|
Object.defineProperty(exports2, "liskSepolia", { enumerable: true, get: function() {
|
|
248669
248771
|
return liskSepolia_js_1.liskSepolia;
|
|
248670
248772
|
} });
|
|
248773
|
+
var loadAlphanet_js_1 = require_loadAlphanet();
|
|
248774
|
+
Object.defineProperty(exports2, "loadAlphanet", { enumerable: true, get: function() {
|
|
248775
|
+
return loadAlphanet_js_1.loadAlphanet;
|
|
248776
|
+
} });
|
|
248671
248777
|
var localhost_js_1 = require_localhost();
|
|
248672
248778
|
Object.defineProperty(exports2, "localhost", { enumerable: true, get: function() {
|
|
248673
248779
|
return localhost_js_1.localhost;
|
|
@@ -248744,6 +248850,10 @@ var require_chains2 = __commonJS({
|
|
|
248744
248850
|
Object.defineProperty(exports2, "mantraDuKongEVMTestnet", { enumerable: true, get: function() {
|
|
248745
248851
|
return mantraDuKongEVMTestnet_js_1.mantraDuKongEVMTestnet;
|
|
248746
248852
|
} });
|
|
248853
|
+
var mantraEVM_js_1 = require_mantraEVM();
|
|
248854
|
+
Object.defineProperty(exports2, "mantraEVM", { enumerable: true, get: function() {
|
|
248855
|
+
return mantraEVM_js_1.mantraEVM;
|
|
248856
|
+
} });
|
|
248747
248857
|
var mapProtocol_js_1 = require_mapProtocol();
|
|
248748
248858
|
Object.defineProperty(exports2, "mapProtocol", { enumerable: true, get: function() {
|
|
248749
248859
|
return mapProtocol_js_1.mapProtocol;
|
|
@@ -249444,6 +249554,10 @@ var require_chains2 = __commonJS({
|
|
|
249444
249554
|
Object.defineProperty(exports2, "sophonTestnet", { enumerable: true, get: function() {
|
|
249445
249555
|
return sophonTestnet_js_1.sophonTestnet;
|
|
249446
249556
|
} });
|
|
249557
|
+
var sova_js_1 = require_sova();
|
|
249558
|
+
Object.defineProperty(exports2, "sova", { enumerable: true, get: function() {
|
|
249559
|
+
return sova_js_1.sova;
|
|
249560
|
+
} });
|
|
249447
249561
|
var sovaSepolia_js_1 = require_sovaSepolia();
|
|
249448
249562
|
Object.defineProperty(exports2, "sovaSepolia", { enumerable: true, get: function() {
|
|
249449
249563
|
return sovaSepolia_js_1.sovaSepolia;
|
|
@@ -297177,6 +297291,940 @@ var require_id4 = __commonJS({
|
|
|
297177
297291
|
}
|
|
297178
297292
|
});
|
|
297179
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
|
+
|
|
297180
298228
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/ethers/lib.commonjs/hash/namehash.js
|
|
297181
298229
|
var require_namehash4 = __commonJS({
|
|
297182
298230
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/ethers/lib.commonjs/hash/namehash.js"(exports2) {
|
|
@@ -297185,7 +298233,7 @@ var require_namehash4 = __commonJS({
|
|
|
297185
298233
|
exports2.dnsEncode = exports2.namehash = exports2.isValidName = exports2.ensNormalize = void 0;
|
|
297186
298234
|
var index_js_1 = require_crypto5();
|
|
297187
298235
|
var index_js_2 = require_utils31();
|
|
297188
|
-
var ens_normalize_1 =
|
|
298236
|
+
var ens_normalize_1 = require_dist5();
|
|
297189
298237
|
var Zeros = new Uint8Array(32);
|
|
297190
298238
|
Zeros.fill(0);
|
|
297191
298239
|
function checkComponent(comp) {
|
|
@@ -317513,7 +318561,7 @@ var require_semver4 = __commonJS({
|
|
|
317513
318561
|
});
|
|
317514
318562
|
|
|
317515
318563
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/parse.js
|
|
317516
|
-
var
|
|
318564
|
+
var require_parse2 = __commonJS({
|
|
317517
318565
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/parse.js"(exports2, module2) {
|
|
317518
318566
|
var SemVer = require_semver4();
|
|
317519
318567
|
var parse4 = (version5, options, throwErrors = false) => {
|
|
@@ -317536,7 +318584,7 @@ var require_parse3 = __commonJS({
|
|
|
317536
318584
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/valid.js
|
|
317537
318585
|
var require_valid3 = __commonJS({
|
|
317538
318586
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/valid.js"(exports2, module2) {
|
|
317539
|
-
var parse4 =
|
|
318587
|
+
var parse4 = require_parse2();
|
|
317540
318588
|
var valid = (version5, options) => {
|
|
317541
318589
|
const v = parse4(version5, options);
|
|
317542
318590
|
return v ? v.version : null;
|
|
@@ -317548,7 +318596,7 @@ var require_valid3 = __commonJS({
|
|
|
317548
318596
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/clean.js
|
|
317549
318597
|
var require_clean2 = __commonJS({
|
|
317550
318598
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/clean.js"(exports2, module2) {
|
|
317551
|
-
var parse4 =
|
|
318599
|
+
var parse4 = require_parse2();
|
|
317552
318600
|
var clean2 = (version5, options) => {
|
|
317553
318601
|
const s = parse4(version5.trim().replace(/^[=v]+/, ""), options);
|
|
317554
318602
|
return s ? s.version : null;
|
|
@@ -317583,7 +318631,7 @@ var require_inc2 = __commonJS({
|
|
|
317583
318631
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/diff.js
|
|
317584
318632
|
var require_diff2 = __commonJS({
|
|
317585
318633
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/diff.js"(exports2, module2) {
|
|
317586
|
-
var parse4 =
|
|
318634
|
+
var parse4 = require_parse2();
|
|
317587
318635
|
var diff = (version1, version22) => {
|
|
317588
318636
|
const v1 = parse4(version1, null, true);
|
|
317589
318637
|
const v2 = parse4(version22, null, true);
|
|
@@ -317653,7 +318701,7 @@ var require_patch2 = __commonJS({
|
|
|
317653
318701
|
// ../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/prerelease.js
|
|
317654
318702
|
var require_prerelease2 = __commonJS({
|
|
317655
318703
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/prerelease.js"(exports2, module2) {
|
|
317656
|
-
var parse4 =
|
|
318704
|
+
var parse4 = require_parse2();
|
|
317657
318705
|
var prerelease = (version5, options) => {
|
|
317658
318706
|
const parsed = parse4(version5, options);
|
|
317659
318707
|
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
|
|
@@ -317827,7 +318875,7 @@ var require_cmp2 = __commonJS({
|
|
|
317827
318875
|
var require_coerce2 = __commonJS({
|
|
317828
318876
|
"../../node_modules/@ethereum-sourcify/lib-sourcify/node_modules/semver/functions/coerce.js"(exports2, module2) {
|
|
317829
318877
|
var SemVer = require_semver4();
|
|
317830
|
-
var parse4 =
|
|
318878
|
+
var parse4 = require_parse2();
|
|
317831
318879
|
var { safeRe: re, t } = require_re2();
|
|
317832
318880
|
var coerce = (version5, options) => {
|
|
317833
318881
|
if (version5 instanceof SemVer) {
|
|
@@ -318862,7 +319910,7 @@ var require_semver5 = __commonJS({
|
|
|
318862
319910
|
var constants = require_constants13();
|
|
318863
319911
|
var SemVer = require_semver4();
|
|
318864
319912
|
var identifiers = require_identifiers2();
|
|
318865
|
-
var parse4 =
|
|
319913
|
+
var parse4 = require_parse2();
|
|
318866
319914
|
var valid = require_valid3();
|
|
318867
319915
|
var clean2 = require_clean2();
|
|
318868
319916
|
var inc = require_inc2();
|
|
@@ -319196,7 +320244,7 @@ var require_ipfsHash = __commonJS({
|
|
|
319196
320244
|
});
|
|
319197
320245
|
|
|
319198
320246
|
// ../../node_modules/@fairdatasociety/bmt-js/dist/index.js
|
|
319199
|
-
var
|
|
320247
|
+
var require_dist6 = __commonJS({
|
|
319200
320248
|
"../../node_modules/@fairdatasociety/bmt-js/dist/index.js"(exports, module) {
|
|
319201
320249
|
!(function(Q, B) {
|
|
319202
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();
|
|
@@ -320006,7 +321054,7 @@ var require_swarmHash = __commonJS({
|
|
|
320006
321054
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
320007
321055
|
exports2.swarmBzzr1Hash = swarmBzzr1Hash;
|
|
320008
321056
|
exports2.swarmBzzr0Hash = swarmBzzr0Hash;
|
|
320009
|
-
var bmt_js_1 =
|
|
321057
|
+
var bmt_js_1 = require_dist6();
|
|
320010
321058
|
var ethers_1 = require_lib41();
|
|
320011
321059
|
function swarmBzzr1Hash(file2) {
|
|
320012
321060
|
const encoder5 = new TextEncoder();
|
|
@@ -378017,6 +379065,12 @@ var plasma = /* @__PURE__ */ defineChain({
|
|
|
378017
379065
|
name: "PlasmaScan",
|
|
378018
379066
|
url: "https://plasmascan.to"
|
|
378019
379067
|
}
|
|
379068
|
+
},
|
|
379069
|
+
contracts: {
|
|
379070
|
+
multicall3: {
|
|
379071
|
+
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
379072
|
+
blockCreated: 0
|
|
379073
|
+
}
|
|
378020
379074
|
}
|
|
378021
379075
|
});
|
|
378022
379076
|
|
|
@@ -393069,7 +394123,9 @@ var chains = {
|
|
|
393069
394123
|
Plasma: defineChain({
|
|
393070
394124
|
...plasma,
|
|
393071
394125
|
network: "Plasma",
|
|
393072
|
-
defaultMarketConfigurators: {
|
|
394126
|
+
defaultMarketConfigurators: {
|
|
394127
|
+
"0x7a133fbd01736fd076158307c9476cc3877f1af5": "Invariant Group"
|
|
394128
|
+
},
|
|
393073
394129
|
isPublic: true,
|
|
393074
394130
|
wellKnownToken: {
|
|
393075
394131
|
address: "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb",
|
|
@@ -416294,7 +417350,7 @@ function createAdapter(sdk, args) {
|
|
|
416294
417350
|
}
|
|
416295
417351
|
} catch (e) {
|
|
416296
417352
|
sdk.logger?.warn(
|
|
416297
|
-
`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}`
|
|
416298
417354
|
);
|
|
416299
417355
|
}
|
|
416300
417356
|
}
|
|
@@ -416649,6 +417705,12 @@ var AbstractPriceFeedContract = class extends BaseContract {
|
|
|
416649
417705
|
}
|
|
416650
417706
|
return this.#answer;
|
|
416651
417707
|
}
|
|
417708
|
+
updateAnswer(answer) {
|
|
417709
|
+
if (this.#answer === void 0) {
|
|
417710
|
+
throw new PartialPriceFeedInitError(this.#args);
|
|
417711
|
+
}
|
|
417712
|
+
this.#answer = answer;
|
|
417713
|
+
}
|
|
416652
417714
|
get priceFeedType() {
|
|
416653
417715
|
return this.contractType;
|
|
416654
417716
|
}
|
|
@@ -422438,22 +423500,36 @@ var RedstoneUpdater = class extends SDKConstruct {
|
|
|
422438
423500
|
);
|
|
422439
423501
|
const parsed = import_protocol.RedstonePayload.parse(toBytes(`0x${dataPayload}`));
|
|
422440
423502
|
const packagesByDataFeedId = groupDataPackages(parsed.signedDataPackages);
|
|
422441
|
-
|
|
423503
|
+
const result = [];
|
|
423504
|
+
for (const dataFeedId of dataFeedsIds) {
|
|
422442
423505
|
const signedDataPackages = packagesByDataFeedId[dataFeedId];
|
|
422443
423506
|
if (!signedDataPackages) {
|
|
423507
|
+
if (this.#ignoreMissingFeeds) {
|
|
423508
|
+
this.#logger?.warn(`cannot find data packages for ${dataFeedId}`);
|
|
423509
|
+
continue;
|
|
423510
|
+
}
|
|
422444
423511
|
throw new Error(`cannot find data packages for ${dataFeedId}`);
|
|
422445
423512
|
}
|
|
422446
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
|
+
}
|
|
422447
423520
|
throw new Error(
|
|
422448
423521
|
`got ${signedDataPackages.length} data packages for ${dataFeedId}, but expected ${uniqueSignersCount}`
|
|
422449
423522
|
);
|
|
422450
423523
|
}
|
|
422451
|
-
|
|
422452
|
-
|
|
422453
|
-
|
|
422454
|
-
|
|
423524
|
+
result.push(
|
|
423525
|
+
getCalldataWithTimestamp(
|
|
423526
|
+
dataFeedId,
|
|
423527
|
+
signedDataPackages,
|
|
423528
|
+
wrapper.getUnsignedMetadata()
|
|
423529
|
+
)
|
|
422455
423530
|
);
|
|
422456
|
-
}
|
|
423531
|
+
}
|
|
423532
|
+
return result;
|
|
422457
423533
|
}
|
|
422458
423534
|
};
|
|
422459
423535
|
function groupDataPackages(signedDataPackages) {
|
|
@@ -422702,9 +423778,10 @@ var PriceFeedRegister = class extends SDKConstruct {
|
|
|
422702
423778
|
mustGet(address) {
|
|
422703
423779
|
return this.#feeds.mustGet(address);
|
|
422704
423780
|
}
|
|
422705
|
-
|
|
423781
|
+
upsert(data) {
|
|
422706
423782
|
const existing = this.#feeds.get(data.baseParams.addr);
|
|
422707
423783
|
if (existing?.loaded) {
|
|
423784
|
+
existing.updateAnswer(data.answer);
|
|
422708
423785
|
return existing;
|
|
422709
423786
|
}
|
|
422710
423787
|
const feed = this.create(data);
|
|
@@ -423024,7 +424101,7 @@ var PriceOracleBaseContract = class extends BaseContract {
|
|
|
423024
424101
|
}
|
|
423025
424102
|
for (const node of tree) {
|
|
423026
424103
|
this.#priceFeedTree.upsert(node.baseParams.addr, node);
|
|
423027
|
-
this.sdk.priceFeeds.
|
|
424104
|
+
this.sdk.priceFeeds.upsert(node);
|
|
423028
424105
|
}
|
|
423029
424106
|
for (const entry of entries) {
|
|
423030
424107
|
const { token, priceFeed, reserve, stalenessPeriod } = entry;
|
|
@@ -424104,7 +425181,7 @@ var MarketRegister = class extends SDKConstruct {
|
|
|
424104
425181
|
}
|
|
424105
425182
|
return this.#marketFilter;
|
|
424106
425183
|
}
|
|
424107
|
-
async syncState(
|
|
425184
|
+
async syncState(ignoreUpdateablePrices) {
|
|
424108
425185
|
const dirty = this.markets.some((m) => m.dirty) || this.marketConfigurators.some((c) => c.dirty);
|
|
424109
425186
|
if (dirty) {
|
|
424110
425187
|
this.#logger?.debug(
|
|
@@ -424112,9 +425189,10 @@ var MarketRegister = class extends SDKConstruct {
|
|
|
424112
425189
|
);
|
|
424113
425190
|
await this.#loadMarkets(
|
|
424114
425191
|
[...this.marketFilter.configurators],
|
|
424115
|
-
[...this.marketFilter.pools]
|
|
425192
|
+
[...this.marketFilter.pools],
|
|
425193
|
+
ignoreUpdateablePrices
|
|
424116
425194
|
);
|
|
424117
|
-
} else if (!
|
|
425195
|
+
} else if (!ignoreUpdateablePrices) {
|
|
424118
425196
|
await this.updatePrices();
|
|
424119
425197
|
}
|
|
424120
425198
|
}
|
|
@@ -424705,7 +425783,11 @@ var GearboxSDK = class _GearboxSDK {
|
|
|
424705
425783
|
* @returns
|
|
424706
425784
|
*/
|
|
424707
425785
|
async syncState(opts) {
|
|
424708
|
-
let {
|
|
425786
|
+
let {
|
|
425787
|
+
blockNumber,
|
|
425788
|
+
timestamp,
|
|
425789
|
+
ignoreUpdateablePrices = this.#attachConfig?.ignoreUpdateablePrices
|
|
425790
|
+
} = opts ?? {};
|
|
424709
425791
|
if (this.#attachConfig?.redstone?.historicTimestamp || this.#attachConfig?.pyth?.historicTimestamp) {
|
|
424710
425792
|
throw new Error(
|
|
424711
425793
|
"syncState is not supported with redstone or pyth historicTimestamp"
|
|
@@ -424722,64 +425804,77 @@ var GearboxSDK = class _GearboxSDK {
|
|
|
424722
425804
|
return;
|
|
424723
425805
|
}
|
|
424724
425806
|
if (this.#syncing) {
|
|
424725
|
-
this.logger?.warn(
|
|
425807
|
+
this.logger?.warn(
|
|
425808
|
+
`cannot sync to ${blockNumber}, already syncing at ${this.currentBlock}`
|
|
425809
|
+
);
|
|
424726
425810
|
return;
|
|
424727
425811
|
}
|
|
424728
425812
|
this.#syncing = true;
|
|
424729
|
-
|
|
424730
|
-
this.
|
|
424731
|
-
|
|
424732
|
-
|
|
424733
|
-
|
|
424734
|
-
|
|
424735
|
-
|
|
424736
|
-
|
|
424737
|
-
|
|
424738
|
-
|
|
424739
|
-
|
|
424740
|
-
|
|
424741
|
-
|
|
424742
|
-
|
|
424743
|
-
|
|
424744
|
-
|
|
424745
|
-
|
|
424746
|
-
|
|
424747
|
-
|
|
424748
|
-
|
|
424749
|
-
|
|
424750
|
-
|
|
424751
|
-
|
|
424752
|
-
|
|
424753
|
-
|
|
424754
|
-
|
|
424755
|
-
|
|
424756
|
-
|
|
424757
|
-
|
|
424758
|
-
|
|
424759
|
-
|
|
424760
|
-
|
|
424761
|
-
|
|
424762
|
-
|
|
424763
|
-
|
|
424764
|
-
|
|
424765
|
-
|
|
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}`);
|
|
424766
425863
|
}
|
|
424767
|
-
|
|
424768
|
-
|
|
424769
|
-
|
|
424770
|
-
|
|
424771
|
-
|
|
424772
|
-
|
|
424773
|
-
|
|
424774
|
-
|
|
424775
|
-
|
|
424776
|
-
|
|
424777
|
-
|
|
424778
|
-
|
|
424779
|
-
|
|
424780
|
-
|
|
424781
|
-
`synced state to block ${blockNumber} (delta ${delta}s)`
|
|
424782
|
-
);
|
|
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
|
+
}
|
|
424783
425878
|
}
|
|
424784
425879
|
get provider() {
|
|
424785
425880
|
return this.#provider;
|
|
@@ -445501,11 +446596,14 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445501
446596
|
}
|
|
445502
446597
|
logger2?.debug(
|
|
445503
446598
|
{
|
|
445504
|
-
minDebt: this.sdk.tokensMeta.formatBN(underlying, minDebt
|
|
446599
|
+
minDebt: this.sdk.tokensMeta.formatBN(underlying, minDebt, {
|
|
446600
|
+
symbol: true
|
|
446601
|
+
}),
|
|
445505
446602
|
leverage: leverage.toString(),
|
|
445506
446603
|
expectedUnderlyingBalance: this.sdk.tokensMeta.formatBN(
|
|
445507
446604
|
underlying,
|
|
445508
|
-
expectedUnderlyingBalance
|
|
446605
|
+
expectedUnderlyingBalance,
|
|
446606
|
+
{ symbol: true }
|
|
445509
446607
|
)
|
|
445510
446608
|
},
|
|
445511
446609
|
"looking for open strategy"
|
|
@@ -445518,7 +446616,7 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445518
446616
|
});
|
|
445519
446617
|
if (borrowerBalance < minDebt) {
|
|
445520
446618
|
this.#logger?.warn(
|
|
445521
|
-
`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 })}`
|
|
445522
446620
|
);
|
|
445523
446621
|
if (this.#allowMint) {
|
|
445524
446622
|
borrowerBalance = await this.#tryMint(
|
|
@@ -445529,7 +446627,7 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445529
446627
|
}
|
|
445530
446628
|
}
|
|
445531
446629
|
this.#logger?.debug(
|
|
445532
|
-
`borrower balance in underlying: ${this.sdk.tokensMeta.formatBN(underlying, borrowerBalance
|
|
446630
|
+
`borrower balance in underlying: ${this.sdk.tokensMeta.formatBN(underlying, borrowerBalance, { symbol: true })}`
|
|
445533
446631
|
);
|
|
445534
446632
|
const strategy = await this.sdk.routerFor(cm).findOpenStrategyPath({
|
|
445535
446633
|
creditManager: cm.creditManager,
|
|
@@ -445604,7 +446702,7 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445604
446702
|
amount = amount > cm.creditFacade.maxDebt ? cm.creditFacade.maxDebt : amount;
|
|
445605
446703
|
minAvailableByPool[cm.pool] = (minAvailableByPool[cm.pool] ?? 0n) + amount;
|
|
445606
446704
|
this.#logger?.debug(
|
|
445607
|
-
`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)}%)`
|
|
445608
446706
|
);
|
|
445609
446707
|
}
|
|
445610
446708
|
let totalUSD = 0n;
|
|
@@ -445618,9 +446716,11 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445618
446716
|
minAvailable,
|
|
445619
446717
|
pool.availableLiquidity,
|
|
445620
446718
|
diff
|
|
445621
|
-
].map(
|
|
446719
|
+
].map(
|
|
446720
|
+
(v) => this.sdk.tokensMeta.formatBN(pool.underlying, v, { symbol: true })
|
|
446721
|
+
);
|
|
445622
446722
|
this.#logger?.debug(
|
|
445623
|
-
`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}`
|
|
445624
446724
|
);
|
|
445625
446725
|
if (diff > 0n) {
|
|
445626
446726
|
deposits.push([pool, diff]);
|
|
@@ -445633,7 +446733,15 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445633
446733
|
);
|
|
445634
446734
|
const depositor = await this.#getDepositor();
|
|
445635
446735
|
this.#logger?.debug(`depositor: ${depositor.address}`);
|
|
445636
|
-
|
|
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
|
+
}
|
|
445637
446745
|
const results = [];
|
|
445638
446746
|
for (const [pool, amount] of deposits) {
|
|
445639
446747
|
const result = await this.#depositToPool(pool, depositor, amount);
|
|
@@ -445651,7 +446759,9 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445651
446759
|
};
|
|
445652
446760
|
let txHash;
|
|
445653
446761
|
try {
|
|
445654
|
-
const amnt = this.sdk.tokensMeta.formatBN(pool.underlying, amount
|
|
446762
|
+
const amnt = this.sdk.tokensMeta.formatBN(pool.underlying, amount, {
|
|
446763
|
+
symbol: true
|
|
446764
|
+
});
|
|
445655
446765
|
this.#logger?.debug(`depositing ${amnt} into pool ${poolName}`);
|
|
445656
446766
|
let allowance = await this.#anvil.readContract({
|
|
445657
446767
|
address: underlying,
|
|
@@ -445661,7 +446771,7 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445661
446771
|
});
|
|
445662
446772
|
if (allowance < amount) {
|
|
445663
446773
|
this.#logger?.warn(
|
|
445664
|
-
`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}`
|
|
445665
446775
|
);
|
|
445666
446776
|
if (this.#allowMint) {
|
|
445667
446777
|
allowance = await this.#tryMint(
|
|
@@ -445672,7 +446782,7 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445672
446782
|
}
|
|
445673
446783
|
}
|
|
445674
446784
|
this.#logger?.debug(
|
|
445675
|
-
`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 })}`
|
|
445676
446786
|
);
|
|
445677
446787
|
txHash = await this.#anvil.writeContract({
|
|
445678
446788
|
account: depositor,
|
|
@@ -445730,14 +446840,11 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445730
446840
|
* @param amount
|
|
445731
446841
|
*/
|
|
445732
446842
|
async #tryMint(token, dest, amount) {
|
|
445733
|
-
const
|
|
445734
|
-
const amnt = this.sdk.tokensMeta.formatBN(token, amount);
|
|
446843
|
+
const amnt = this.sdk.tokensMeta.formatBN(token, amount, { symbol: true });
|
|
445735
446844
|
try {
|
|
445736
446845
|
await this.#mint(token, dest, amount);
|
|
445737
446846
|
} catch (e) {
|
|
445738
|
-
this.#logger?.warn(
|
|
445739
|
-
`failed to mint ${amnt} ${symbol2} to ${dest.address}: ${e}`
|
|
445740
|
-
);
|
|
446847
|
+
this.#logger?.warn(`failed to mint ${amnt} to ${dest.address}: ${e}`);
|
|
445741
446848
|
}
|
|
445742
446849
|
return await this.#anvil.readContract({
|
|
445743
446850
|
address: token,
|
|
@@ -445759,8 +446866,46 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445759
446866
|
await this.#anvil.impersonateAccount({ address: owner });
|
|
445760
446867
|
await this.#anvil.setBalance({
|
|
445761
446868
|
address: owner,
|
|
445762
|
-
value: parseEther("
|
|
446869
|
+
value: parseEther("1000000")
|
|
445763
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) {
|
|
445764
446909
|
let hash4 = await this.#anvil.writeContract({
|
|
445765
446910
|
account: owner,
|
|
445766
446911
|
address: token,
|
|
@@ -445769,11 +446914,13 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445769
446914
|
args: [amount],
|
|
445770
446915
|
chain: this.#anvil.chain
|
|
445771
446916
|
});
|
|
445772
|
-
this.#logger?.debug(
|
|
446917
|
+
this.#logger?.debug(
|
|
446918
|
+
`mint ${this.sdk.tokensMeta.formatBN(token, amount, { symbol: true })} to ${owner} in tx ${hash4}`
|
|
446919
|
+
);
|
|
445773
446920
|
let receipt = await this.#anvil.waitForTransactionReceipt({ hash: hash4 });
|
|
445774
446921
|
if (receipt.status === "reverted") {
|
|
445775
446922
|
throw new Error(
|
|
445776
|
-
`failed to mint ${
|
|
446923
|
+
`failed to mint ${this.sdk.tokensMeta.formatBN(token, amount, { symbol: true })} to ${owner} in tx ${hash4}: reverted`
|
|
445777
446924
|
);
|
|
445778
446925
|
}
|
|
445779
446926
|
hash4 = await this.#anvil.writeContract({
|
|
@@ -445781,19 +446928,18 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
445781
446928
|
address: token,
|
|
445782
446929
|
abi: ierc20Abi,
|
|
445783
446930
|
functionName: "transfer",
|
|
445784
|
-
args: [dest
|
|
446931
|
+
args: [dest, amount],
|
|
445785
446932
|
chain: this.#anvil.chain
|
|
445786
446933
|
});
|
|
445787
446934
|
this.#logger?.debug(
|
|
445788
|
-
`transfer ${
|
|
446935
|
+
`transfer ${this.sdk.tokensMeta.formatBN(token, amount, { symbol: true })} from ${owner} to ${dest} in tx ${hash4}`
|
|
445789
446936
|
);
|
|
445790
446937
|
receipt = await this.#anvil.waitForTransactionReceipt({ hash: hash4 });
|
|
445791
446938
|
if (receipt.status === "reverted") {
|
|
445792
446939
|
throw new Error(
|
|
445793
|
-
`failed to transfer ${
|
|
446940
|
+
`failed to transfer ${this.sdk.tokensMeta.formatBN(token, amount, { symbol: true })} from ${owner} to ${dest} in tx ${hash4}: reverted`
|
|
445794
446941
|
);
|
|
445795
446942
|
}
|
|
445796
|
-
await this.#anvil.stopImpersonatingAccount({ address: owner });
|
|
445797
446943
|
}
|
|
445798
446944
|
/**
|
|
445799
446945
|
* Creates borrower wallet,
|
|
@@ -446060,17 +447206,23 @@ var AccountOpener = class extends SDKConstruct {
|
|
|
446060
447206
|
const desiredQuota = this.#calcQuota(amount, debt, collateralLT);
|
|
446061
447207
|
logger2?.debug(
|
|
446062
447208
|
{
|
|
446063
|
-
desiredQuota: this.sdk.tokensMeta.formatBN(underlying, desiredQuota
|
|
447209
|
+
desiredQuota: this.sdk.tokensMeta.formatBN(underlying, desiredQuota, {
|
|
447210
|
+
symbol: true
|
|
447211
|
+
}),
|
|
446064
447212
|
availableQuota: this.sdk.tokensMeta.formatBN(
|
|
446065
447213
|
underlying,
|
|
446066
|
-
availableQuota
|
|
447214
|
+
availableQuota,
|
|
447215
|
+
{ symbol: true }
|
|
446067
447216
|
),
|
|
446068
447217
|
collateralAmount: this.sdk.tokensMeta.formatBN(
|
|
446069
447218
|
collateral,
|
|
446070
|
-
collateralAmount
|
|
447219
|
+
collateralAmount,
|
|
447220
|
+
{ symbol: true }
|
|
446071
447221
|
),
|
|
446072
|
-
amount: this.sdk.tokensMeta.formatBN(underlying, amount
|
|
446073
|
-
|
|
447222
|
+
amount: this.sdk.tokensMeta.formatBN(underlying, amount, {
|
|
447223
|
+
symbol: true
|
|
447224
|
+
}),
|
|
447225
|
+
debt: this.sdk.tokensMeta.formatBN(underlying, debt, { symbol: true }),
|
|
446074
447226
|
lt: Number(collateralLT)
|
|
446075
447227
|
},
|
|
446076
447228
|
"calculated quota"
|
|
@@ -454016,7 +455168,7 @@ function getRenderer(opts) {
|
|
|
454016
455168
|
var package_default = {
|
|
454017
455169
|
name: "@gearbox-protocol/deploy-tools",
|
|
454018
455170
|
description: "Gearbox deploy tools",
|
|
454019
|
-
version: "5.46.
|
|
455171
|
+
version: "5.46.3",
|
|
454020
455172
|
homepage: "https://gearbox.fi",
|
|
454021
455173
|
keywords: [
|
|
454022
455174
|
"gearbox"
|
|
@@ -454056,11 +455208,11 @@ var package_default = {
|
|
|
454056
455208
|
"@gearbox-protocol/deploy-tools-node": "0.0.0",
|
|
454057
455209
|
"@gearbox-protocol/deploy-tools-shared": "0.0.0",
|
|
454058
455210
|
"@gearbox-protocol/deploy-tools-types": "0.0.0",
|
|
454059
|
-
"@gearbox-protocol/sdk": "9.
|
|
455211
|
+
"@gearbox-protocol/sdk": "9.9.6",
|
|
454060
455212
|
"@gearbox-protocol/sdk-gov": "2.37.0",
|
|
454061
455213
|
"@types/lodash-es": "^4.17.12",
|
|
454062
455214
|
"@types/node": "^24.5.2",
|
|
454063
|
-
"@types/react": "^19.1.
|
|
455215
|
+
"@types/react": "^19.1.15",
|
|
454064
455216
|
"@types/react-dom": "^19.1.9",
|
|
454065
455217
|
abitype: "^1.1.1",
|
|
454066
455218
|
chalk: "^5.6.2",
|
|
@@ -454069,14 +455221,14 @@ var package_default = {
|
|
|
454069
455221
|
esbuild: "^0.25.10",
|
|
454070
455222
|
"lodash-es": "^4.17.21",
|
|
454071
455223
|
"p-retry": "^7.0.0",
|
|
454072
|
-
pino: "^9.
|
|
455224
|
+
pino: "^9.12.0",
|
|
454073
455225
|
"pino-pretty": "^13.1.1",
|
|
454074
455226
|
queue: "^7.0.0",
|
|
454075
455227
|
react: "^19.1.1",
|
|
454076
455228
|
"react-dom": "^19.1.1",
|
|
454077
455229
|
table: "^6.9.0",
|
|
454078
|
-
tsx: "^4.20.
|
|
454079
|
-
viem: "^2.37.
|
|
455230
|
+
tsx: "^4.20.6",
|
|
455231
|
+
viem: "^2.37.9",
|
|
454080
455232
|
yaml: "^2.8.1",
|
|
454081
455233
|
zod: "^4.1.11"
|
|
454082
455234
|
}
|