Skip to content

Instantly share code, notes, and snippets.

@kriskowal
Last active June 27, 2026 15:59
Show Gist options
  • Select an option

  • Save kriskowal/dac81e95eeecb4ad024e6278f8bed212 to your computer and use it in GitHub Desktop.

Select an option

Save kriskowal/dac81e95eeecb4ad024e6278f8bed212 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
({
imports: $h͏_imports,
liveVar: $h͏_live,
onceVar: $h͏_once,
import: $h͏_import,
importMeta: $h͏____meta,
}) =>
(function () {
"use strict";
$h͏_imports([]);
$h͏_live.q5();
$h͏_live.j5();
$h͏_live.Zye();
$h͏_live.e_();
$h͏_live.t_();
$h͏_live.JI();
$h͏_live.o_();
var LI = Object.create;
var jp = Object.defineProperty;
var qI = Object.getOwnPropertyDescriptor;
var jI = Object.getOwnPropertyNames;
var GI = Object.getPrototypeOf,
QI = Object.prototype.hasOwnProperty;
var St = (e, t) => () => (e && (t = e((e = 0))), t);
var lo = (e, t) => () => (
t || e((t = { exports: {} }).exports, t),
t.exports
),
T0 = (e, t) => {
for (var r in t) jp(e, r, { get: t[r], enumerable: !0 });
},
zI = (e, t, r, o) => {
if ((t && typeof t == "object") || typeof t == "function")
for (let n of jI(t))
!QI.call(e, n) &&
n !== r &&
jp(e, n, {
get: () => t[n],
enumerable: !(o = qI(t, n)) || o.enumerable,
});
return e;
};
var Pd = (e, t, r) => (
(r = e != null ? LI(GI(e)) : {}),
zI(
t || !e || !e.__esModule
? jp(r, "default", { value: e, enumerable: !0 })
: r,
e,
)
);
var GS = lo((Nl) => {
"use strict";
Object.defineProperty(Nl, "__esModule", { value: !0 });
Nl.toAscii = mE;
Nl.fromAscii = fE;
function mE(e) {
let t = (r) =>
r.split("").map((o) => {
let n = o.charCodeAt(0);
if (n < 32 || n > 126)
throw new Error(
`Cannot encode character that is out of printable ASCII range: ${n}`,
);
return n;
});
return Uint8Array.from(t(e));
}
function fE(e) {
return ((r) =>
r.map((o) => {
if (o < 32 || o > 126)
throw new Error(
`Cannot decode character that is out of printable ASCII range: ${o}`,
);
return String.fromCharCode(o);
}))(Array.from(e)).join("");
}
});
var YS = lo((Bl) => {
"use strict";
Bl.byteLength = gE;
Bl.toByteArray = bE;
Bl.fromByteArray = xE;
var Co = [],
Ir = [],
yE = typeof Uint8Array < "u" ? Uint8Array : Array,
Mf = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
for (Ps = 0, QS = Mf.length; Ps < QS; ++Ps)
((Co[Ps] = Mf[Ps]), (Ir[Mf.charCodeAt(Ps)] = Ps));
var Ps, QS;
Ir[45] = 62;
Ir[95] = 63;
function zS(e) {
var t = e.length;
if (t % 4 > 0)
throw new Error("Invalid string. Length must be a multiple of 4");
var r = e.indexOf("=");
r === -1 && (r = t);
var o = r === t ? 0 : 4 - (r % 4);
return [r, o];
}
function gE(e) {
var t = zS(e),
r = t[0],
o = t[1];
return ((r + o) * 3) / 4 - o;
}
function hE(e, t, r) {
return ((t + r) * 3) / 4 - r;
}
function bE(e) {
var t,
r = zS(e),
o = r[0],
n = r[1],
a = new yE(hE(e, o, n)),
i = 0,
c = n > 0 ? o - 4 : o,
d;
for (d = 0; d < c; d += 4)
((t =
(Ir[e.charCodeAt(d)] << 18) |
(Ir[e.charCodeAt(d + 1)] << 12) |
(Ir[e.charCodeAt(d + 2)] << 6) |
Ir[e.charCodeAt(d + 3)]),
(a[i++] = (t >> 16) & 255),
(a[i++] = (t >> 8) & 255),
(a[i++] = t & 255));
return (
n === 2 &&
((t = (Ir[e.charCodeAt(d)] << 2) | (Ir[e.charCodeAt(d + 1)] >> 4)),
(a[i++] = t & 255)),
n === 1 &&
((t =
(Ir[e.charCodeAt(d)] << 10) |
(Ir[e.charCodeAt(d + 1)] << 4) |
(Ir[e.charCodeAt(d + 2)] >> 2)),
(a[i++] = (t >> 8) & 255),
(a[i++] = t & 255)),
a
);
}
function vE(e) {
return (
Co[(e >> 18) & 63] +
Co[(e >> 12) & 63] +
Co[(e >> 6) & 63] +
Co[e & 63]
);
}
function SE(e, t, r) {
for (var o, n = [], a = t; a < r; a += 3)
((o =
((e[a] << 16) & 16711680) +
((e[a + 1] << 8) & 65280) +
(e[a + 2] & 255)),
n.push(vE(o)));
return n.join("");
}
function xE(e) {
for (
var t, r = e.length, o = r % 3, n = [], a = 16383, i = 0, c = r - o;
i < c;
i += a
)
n.push(SE(e, i, i + a > c ? c : i + a));
return (
o === 1
? ((t = e[r - 1]), n.push(Co[t >> 2] + Co[(t << 4) & 63] + "=="))
: o === 2 &&
((t = (e[r - 2] << 8) + e[r - 1]),
n.push(
Co[t >> 10] + Co[(t >> 4) & 63] + Co[(t << 2) & 63] + "=",
)),
n.join("")
);
}
});
var XS = lo((Ro) => {
"use strict";
var AE =
(Ro && Ro.__createBinding) ||
(Object.create
? function (e, t, r, o) {
o === void 0 && (o = r);
var n = Object.getOwnPropertyDescriptor(t, r);
((!n ||
("get" in n
? !t.__esModule
: n.writable || n.configurable)) &&
(n = {
enumerable: !0,
get: function () {
return t[r];
},
}),
Object.defineProperty(e, o, n));
}
: function (e, t, r, o) {
(o === void 0 && (o = r), (e[o] = t[r]));
}),
wE =
(Ro && Ro.__setModuleDefault) ||
(Object.create
? function (e, t) {
Object.defineProperty(e, "default", {
enumerable: !0,
value: t,
});
}
: function (e, t) {
e.default = t;
}),
PE =
(Ro && Ro.__importStar) ||
(function () {
var e = function (t) {
return (
(e =
Object.getOwnPropertyNames ||
function (r) {
var o = [];
for (var n in r)
Object.prototype.hasOwnProperty.call(r, n) &&
(o[o.length] = n);
return o;
}),
e(t)
);
};
return function (t) {
if (t && t.__esModule) return t;
var r = {};
if (t != null)
for (var o = e(t), n = 0; n < o.length; n++)
o[n] !== "default" && AE(r, t, o[n]);
return (wE(r, t), r);
};
})();
Object.defineProperty(Ro, "__esModule", { value: !0 });
Ro.toBase64 = kE;
Ro.fromBase64 = IE;
var ZS = PE(YS());
function kE(e) {
return ZS.fromByteArray(e);
}
function IE(e) {
if (!e.match(/^[a-zA-Z0-9+/]*={0,2}$/))
throw new Error("Invalid base64 string format");
return ZS.toByteArray(e);
}
});
var ox = lo((tq, rx) => {
"use strict";
var $l = "qpzry9x8gf2tvdw0s3jn54khce6mua7l",
$f = {};
for (Rc = 0; Rc < $l.length; Rc++) {
if (((Ml = $l.charAt(Rc)), $f[Ml] !== void 0))
throw new TypeError(Ml + " is ambiguous");
$f[Ml] = Rc;
}
var Ml, Rc;
function Ga(e) {
var t = e >> 25;
return (
((e & 33554431) << 5) ^
(-((t >> 0) & 1) & 996825010) ^
(-((t >> 1) & 1) & 642813549) ^
(-((t >> 2) & 1) & 513874426) ^
(-((t >> 3) & 1) & 1027748829) ^
(-((t >> 4) & 1) & 705979059)
);
}
function ex(e) {
for (var t = 1, r = 0; r < e.length; ++r) {
var o = e.charCodeAt(r);
if (o < 33 || o > 126) return "Invalid prefix (" + e + ")";
t = Ga(t) ^ (o >> 5);
}
for (t = Ga(t), r = 0; r < e.length; ++r) {
var n = e.charCodeAt(r);
t = Ga(t) ^ (n & 31);
}
return t;
}
function TE(e, t, r) {
if (((r = r || 90), e.length + 7 + t.length > r))
throw new TypeError("Exceeds length limit");
e = e.toLowerCase();
var o = ex(e);
if (typeof o == "string") throw new Error(o);
for (var n = e + "1", a = 0; a < t.length; ++a) {
var i = t[a];
if (i >> 5 !== 0) throw new Error("Non 5-bit word");
((o = Ga(o) ^ i), (n += $l.charAt(i)));
}
for (a = 0; a < 6; ++a) o = Ga(o);
for (o ^= 1, a = 0; a < 6; ++a) {
var c = (o >> ((5 - a) * 5)) & 31;
n += $l.charAt(c);
}
return n;
}
function tx(e, t) {
if (((t = t || 90), e.length < 8)) return e + " too short";
if (e.length > t) return "Exceeds length limit";
var r = e.toLowerCase(),
o = e.toUpperCase();
if (e !== r && e !== o) return "Mixed-case string " + e;
e = r;
var n = e.lastIndexOf("1");
if (n === -1) return "No separator character for " + e;
if (n === 0) return "Missing prefix for " + e;
var a = e.slice(0, n),
i = e.slice(n + 1);
if (i.length < 6) return "Data too short";
var c = ex(a);
if (typeof c == "string") return c;
for (var d = [], l = 0; l < i.length; ++l) {
var u = i.charAt(l),
p = $f[u];
if (p === void 0) return "Unknown character " + u;
((c = Ga(c) ^ p), !(l + 6 >= i.length) && d.push(p));
}
return c !== 1 ? "Invalid checksum for " + e : { prefix: a, words: d };
}
function UE() {
var e = tx.apply(null, arguments);
if (typeof e == "object") return e;
}
function CE(e) {
var t = tx.apply(null, arguments);
if (typeof t == "object") return t;
throw new Error(t);
}
function _l(e, t, r, o) {
for (
var n = 0, a = 0, i = (1 << r) - 1, c = [], d = 0;
d < e.length;
++d
)
for (n = (n << t) | e[d], a += t; a >= r; )
((a -= r), c.push((n >> a) & i));
if (o) a > 0 && c.push((n << (r - a)) & i);
else {
if (a >= t) return "Excess padding";
if ((n << (r - a)) & i) return "Non-zero padding";
}
return c;
}
function RE(e) {
var t = _l(e, 8, 5, !0);
if (Array.isArray(t)) return t;
}
function OE(e) {
var t = _l(e, 8, 5, !0);
if (Array.isArray(t)) return t;
throw new Error(t);
}
function EE(e) {
var t = _l(e, 5, 8, !1);
if (Array.isArray(t)) return t;
}
function DE(e) {
var t = _l(e, 5, 8, !1);
if (Array.isArray(t)) return t;
throw new Error(t);
}
rx.exports = {
decodeUnsafe: UE,
decode: CE,
encode: TE,
toWordsUnsafe: RE,
toWords: OE,
fromWordsUnsafe: EE,
fromWords: DE,
};
});
var ax = lo((qr) => {
"use strict";
var NE =
(qr && qr.__createBinding) ||
(Object.create
? function (e, t, r, o) {
o === void 0 && (o = r);
var n = Object.getOwnPropertyDescriptor(t, r);
((!n ||
("get" in n
? !t.__esModule
: n.writable || n.configurable)) &&
(n = {
enumerable: !0,
get: function () {
return t[r];
},
}),
Object.defineProperty(e, o, n));
}
: function (e, t, r, o) {
(o === void 0 && (o = r), (e[o] = t[r]));
}),
BE =
(qr && qr.__setModuleDefault) ||
(Object.create
? function (e, t) {
Object.defineProperty(e, "default", {
enumerable: !0,
value: t,
});
}
: function (e, t) {
e.default = t;
}),
ME =
(qr && qr.__importStar) ||
(function () {
var e = function (t) {
return (
(e =
Object.getOwnPropertyNames ||
function (r) {
var o = [];
for (var n in r)
Object.prototype.hasOwnProperty.call(r, n) &&
(o[o.length] = n);
return o;
}),
e(t)
);
};
return function (t) {
if (t && t.__esModule) return t;
var r = {};
if (t != null)
for (var o = e(t), n = 0; n < o.length; n++)
o[n] !== "default" && NE(r, t, o[n]);
return (BE(r, t), r);
};
})();
Object.defineProperty(qr, "__esModule", { value: !0 });
qr.toBech32 = nx;
qr.fromBech32 = sx;
qr.normalizeBech32 = $E;
var Fl = ME(ox());
function nx(e, t, r) {
return Fl.encode(e, Fl.toWords(t), r);
}
function sx(e, t = 1 / 0) {
let r = Fl.decode(e, t);
return {
prefix: r.prefix,
data: new Uint8Array(Fl.fromWords(r.words)),
};
}
function $E(e) {
let { prefix: t, data: r } = sx(e);
return nx(t, r);
}
});
var ix = lo((Kl) => {
"use strict";
Object.defineProperty(Kl, "__esModule", { value: !0 });
Kl.toHex = _E;
Kl.fromHex = FE;
function _E(e) {
let t = "";
for (let r of e) t += ("0" + r.toString(16)).slice(-2);
return t;
}
function FE(e) {
if (e.length % 2 !== 0)
throw new Error("hex string length must be a multiple of 2");
let t = new Uint8Array(e.length / 2);
for (let r = 0; r < t.length; r++) {
let o = 2 * r,
n = e.slice(o, o + 2);
if (!n.match(/[0-9a-f]{2}/i))
throw new Error("hex string contains invalid characters");
t[r] = parseInt(n, 16);
}
return t;
}
});
var cx = lo((Jl) => {
"use strict";
Object.defineProperty(Jl, "__esModule", { value: !0 });
Jl.fromRfc3339 = JE;
Jl.toRfc3339 = VE;
var KE =
/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(\.\d{1,9})?((?:[+-]\d{2}:\d{2})|Z)$/;
function Qa(e, t = 2) {
return e.toString().padStart(t, "0");
}
function JE(e) {
let t = KE.exec(e);
if (!t) throw new Error("Date string is not in RFC3339 format");
let r = +t[1],
o = +t[2],
n = +t[3],
a = +t[4],
i = +t[5],
c = +t[6],
d = t[7] ? Math.floor(+t[7] * 1e3) : 0,
l,
u,
p;
t[8] === "Z"
? ((l = 1), (u = 0), (p = 0))
: ((l = t[8].substring(0, 1) === "-" ? -1 : 1),
(u = +t[8].substring(1, 3)),
(p = +t[8].substring(4, 6)));
let y = l * (u * 60 + p) * 60,
b = new Date();
return (
b.setUTCFullYear(r, o - 1, n),
b.setUTCHours(a, i, c, d),
new Date(b.getTime() - y * 1e3)
);
}
function VE(e) {
let t = e.getUTCFullYear(),
r = Qa(e.getUTCMonth() + 1),
o = Qa(e.getUTCDate()),
n = Qa(e.getUTCHours()),
a = Qa(e.getUTCMinutes()),
i = Qa(e.getUTCSeconds()),
c = Qa(e.getUTCMilliseconds(), 3);
return `${t}-${r}-${o}T${n}:${a}:${i}.${c}Z`;
}
});
var dx = lo((Vl) => {
"use strict";
Object.defineProperty(Vl, "__esModule", { value: !0 });
Vl.toUtf8 = HE;
Vl.fromUtf8 = WE;
function HE(e) {
return new TextEncoder().encode(e);
}
function WE(e, t = !1) {
let r = !t;
return new TextDecoder("utf-8", { fatal: r }).decode(e);
}
});
var Hl = lo((ze) => {
"use strict";
Object.defineProperty(ze, "__esModule", { value: !0 });
ze.toUtf8 =
ze.fromUtf8 =
ze.toRfc3339 =
ze.fromRfc3339 =
ze.toHex =
ze.fromHex =
ze.toBech32 =
ze.normalizeBech32 =
ze.fromBech32 =
ze.toBase64 =
ze.fromBase64 =
ze.toAscii =
ze.fromAscii =
void 0;
var lx = GS();
Object.defineProperty(ze, "fromAscii", {
enumerable: !0,
get: function () {
return lx.fromAscii;
},
});
Object.defineProperty(ze, "toAscii", {
enumerable: !0,
get: function () {
return lx.toAscii;
},
});
var ux = XS();
Object.defineProperty(ze, "fromBase64", {
enumerable: !0,
get: function () {
return ux.fromBase64;
},
});
Object.defineProperty(ze, "toBase64", {
enumerable: !0,
get: function () {
return ux.toBase64;
},
});
var _f = ax();
Object.defineProperty(ze, "fromBech32", {
enumerable: !0,
get: function () {
return _f.fromBech32;
},
});
Object.defineProperty(ze, "normalizeBech32", {
enumerable: !0,
get: function () {
return _f.normalizeBech32;
},
});
Object.defineProperty(ze, "toBech32", {
enumerable: !0,
get: function () {
return _f.toBech32;
},
});
var px = ix();
Object.defineProperty(ze, "fromHex", {
enumerable: !0,
get: function () {
return px.fromHex;
},
});
Object.defineProperty(ze, "toHex", {
enumerable: !0,
get: function () {
return px.toHex;
},
});
var mx = cx();
Object.defineProperty(ze, "fromRfc3339", {
enumerable: !0,
get: function () {
return mx.fromRfc3339;
},
});
Object.defineProperty(ze, "toRfc3339", {
enumerable: !0,
get: function () {
return mx.toRfc3339;
},
});
var fx = dx();
Object.defineProperty(ze, "fromUtf8", {
enumerable: !0,
get: function () {
return fx.fromUtf8;
},
});
Object.defineProperty(ze, "toUtf8", {
enumerable: !0,
get: function () {
return fx.toUtf8;
},
});
});
function Sy(e) {
if (!Number.isSafeInteger(e) || e < 0)
throw new Error(`positive integer expected, not ${e}`);
}
function nD(e) {
return (
e instanceof Uint8Array ||
(e != null &&
typeof e == "object" &&
e.constructor.name === "Uint8Array")
);
}
function Xa(e, ...t) {
if (!nD(e)) throw new Error("Uint8Array expected");
if (t.length > 0 && !t.includes(e.length))
throw new Error(
`Uint8Array expected of length ${t}, not of length=${e.length}`,
);
}
function ei(e, t = !0) {
if (e.destroyed) throw new Error("Hash instance has been destroyed");
if (t && e.finished)
throw new Error("Hash#digest() has already been called");
}
function cu(e, t) {
Xa(e);
let r = t.outputLen;
if (e.length < r)
throw new Error(
`digestInto() expects output buffer of length at least ${r}`,
);
}
var du = St(() => {});
function Ay(e) {
for (let t = 0; t < e.length; t++) e[t] = sD(e[t]);
}
function uu(e) {
Xa(e);
let t = "";
for (let r = 0; r < e.length; r++) t += aD[e[r]];
return t;
}
function fA(e) {
if (e >= en._0 && e <= en._9) return e - en._0;
if (e >= en._A && e <= en._F) return e - (en._A - 10);
if (e >= en._a && e <= en._f) return e - (en._a - 10);
}
function Or(e) {
if (typeof e != "string")
throw new Error("hex string expected, got " + typeof e);
let t = e.length,
r = t / 2;
if (t % 2)
throw new Error(
"padded hex string expected, got unpadded hex of length " + t,
);
let o = new Uint8Array(r);
for (let n = 0, a = 0; n < r; n++, a += 2) {
let i = fA(e.charCodeAt(a)),
c = fA(e.charCodeAt(a + 1));
if (i === void 0 || c === void 0) {
let d = e[a] + e[a + 1];
throw new Error(
'hex string expected, got non-hex character "' +
d +
'" at index ' +
a,
);
}
o[n] = i * 16 + c;
}
return o;
}
function iD(e) {
if (typeof e != "string")
throw new Error(`utf8ToBytes expected string, got ${typeof e}`);
return new Uint8Array(new TextEncoder().encode(e));
}
function ri(e) {
return (typeof e == "string" && (e = iD(e)), Xa(e), e);
}
function pu(e) {
let t = (o) => e().update(ri(o)).digest(),
r = e();
return (
(t.outputLen = r.outputLen),
(t.blockLen = r.blockLen),
(t.create = () => e()),
t
);
}
function gA(e) {
let t = (o, n) => e(n).update(ri(o)).digest(),
r = e({});
return (
(t.outputLen = r.outputLen),
(t.blockLen = r.blockLen),
(t.create = (o) => e(o)),
t
);
}
var yA,
lu,
zr,
xy,
sD,
aD,
en,
ti,
XQ,
No = St(() => {
du();
((yA = (e) =>
new Uint32Array(
e.buffer,
e.byteOffset,
Math.floor(e.byteLength / 4),
)),
(lu = (e) => new DataView(e.buffer, e.byteOffset, e.byteLength)),
(zr = (e, t) => (e << (32 - t)) | (e >>> t)),
(xy = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68),
(sD = (e) =>
((e << 24) & 4278190080) |
((e << 8) & 16711680) |
((e >>> 8) & 65280) |
((e >>> 24) & 255)));
aD = Array.from({ length: 256 }, (e, t) =>
t.toString(16).padStart(2, "0"),
);
en = { _0: 48, _9: 57, _A: 65, _F: 70, _a: 97, _f: 102 };
((ti = class {
clone() {
return this._cloneInto();
}
}),
(XQ = {}.toString));
});
var pa,
D1 = St(() => {
pa =
typeof globalThis == "object" && "crypto" in globalThis
? globalThis.crypto
: void 0;
});
function yn(e) {
return (
e instanceof Uint8Array ||
(ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array")
);
}
function qc(e) {
if (!Number.isSafeInteger(e) || e < 0)
throw new Error("positive integer expected, got " + e);
}
function Wt(e, ...t) {
if (!yn(e)) throw new Error("Uint8Array expected");
if (t.length > 0 && !t.includes(e.length))
throw new Error(
"Uint8Array expected of length " + t + ", got length=" + e.length,
);
}
function Ku(e) {
if (typeof e != "function" || typeof e.create != "function")
throw new Error("Hash should be wrapped by utils.createHasher");
(qc(e.outputLen), qc(e.blockLen));
}
function yi(e, t = !0) {
if (e.destroyed) throw new Error("Hash instance has been destroyed");
if (t && e.finished)
throw new Error("Hash#digest() has already been called");
}
function B1(e, t) {
Wt(e);
let r = t.outputLen;
if (e.length < r)
throw new Error(
"digestInto() expects output buffer of length at least " + r,
);
}
function ma(...e) {
for (let t = 0; t < e.length; t++) e[t].fill(0);
}
function Ju(e) {
return new DataView(e.buffer, e.byteOffset, e.byteLength);
}
function Xr(e, t) {
return (e << (32 - t)) | (e >>> t);
}
function gn(e) {
if ((Wt(e), M1)) return e.toHex();
let t = "";
for (let r = 0; r < e.length; r++) t += _B[e[r]];
return t;
}
function N1(e) {
if (e >= fn._0 && e <= fn._9) return e - fn._0;
if (e >= fn.A && e <= fn.F) return e - (fn.A - 10);
if (e >= fn.a && e <= fn.f) return e - (fn.a - 10);
}
function fa(e) {
if (typeof e != "string")
throw new Error("hex string expected, got " + typeof e);
if (M1) return Uint8Array.fromHex(e);
let t = e.length,
r = t / 2;
if (t % 2)
throw new Error("hex string expected, got unpadded hex of length " + t);
let o = new Uint8Array(r);
for (let n = 0, a = 0; n < r; n++, a += 2) {
let i = N1(e.charCodeAt(a)),
c = N1(e.charCodeAt(a + 1));
if (i === void 0 || c === void 0) {
let d = e[a] + e[a + 1];
throw new Error(
'hex string expected, got non-hex character "' +
d +
'" at index ' +
a,
);
}
o[n] = i * 16 + c;
}
return o;
}
function hn(e) {
if (typeof e != "string") throw new Error("string expected");
return new Uint8Array(new TextEncoder().encode(e));
}
function jc(e) {
return (typeof e == "string" && (e = hn(e)), Wt(e), e);
}
function ut(...e) {
let t = 0;
for (let o = 0; o < e.length; o++) {
let n = e[o];
(Wt(n), (t += n.length));
}
let r = new Uint8Array(t);
for (let o = 0, n = 0; o < e.length; o++) {
let a = e[o];
(r.set(a, n), (n += a.length));
}
return r;
}
function $1(e) {
let t = (o) => e().update(jc(o)).digest(),
r = e();
return (
(t.outputLen = r.outputLen),
(t.blockLen = r.blockLen),
(t.create = () => e()),
t
);
}
function ya(e = 32) {
if (pa && typeof pa.getRandomValues == "function")
return pa.getRandomValues(new Uint8Array(e));
if (pa && typeof pa.randomBytes == "function")
return Uint8Array.from(pa.randomBytes(e));
throw new Error("crypto.getRandomValues must be defined");
}
var M1,
_B,
fn,
fi,
Qn = St(() => {
D1();
((M1 =
typeof Uint8Array.from([]).toHex == "function" &&
typeof Uint8Array.fromHex == "function"),
(_B = Array.from({ length: 256 }, (e, t) =>
t.toString(16).padStart(2, "0"),
)));
fn = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };
fi = class {};
});
function Gc(e, t = "") {
if (typeof e != "boolean") {
let r = t && `"${t}"`;
throw new Error(r + "expected boolean, got type=" + typeof e);
}
return e;
}
function zn(e, t, r = "") {
let o = yn(e),
n = e?.length,
a = t !== void 0;
if (!o || (a && n !== t)) {
let i = r && `"${r}" `,
c = a ? ` of length ${t}` : "",
d = o ? `length=${n}` : `type=${typeof e}`;
throw new Error(i + "expected Uint8Array" + c + ", got " + d);
}
return e;
}
function Qc(e) {
let t = e.toString(16);
return t.length & 1 ? "0" + t : t;
}
function _1(e) {
if (typeof e != "string")
throw new Error("hex string expected, got " + typeof e);
return e === "" ? Eg : BigInt("0x" + e);
}
function eo(e) {
return _1(gn(e));
}
function Dg(e) {
return (Wt(e), _1(gn(Uint8Array.from(e).reverse())));
}
function gi(e, t) {
return fa(e.toString(16).padStart(t * 2, "0"));
}
function Ng(e, t) {
return gi(e, t).reverse();
}
function it(e, t, r) {
let o;
if (typeof t == "string")
try {
o = fa(t);
} catch (a) {
throw new Error(e + " must be hex string or Uint8Array, cause: " + a);
}
else if (yn(t)) o = Uint8Array.from(t);
else throw new Error(e + " must be hex string or Uint8Array");
let n = o.length;
if (typeof r == "number" && n !== r)
throw new Error(e + " of length " + r + " expected, got " + n);
return o;
}
function zc(e, t, r) {
return Rg(e) && Rg(t) && Rg(r) && t <= e && e < r;
}
function F1(e, t, r, o) {
if (!zc(t, r, o))
throw new Error(
"expected valid " + e + ": " + r + " <= n < " + o + ", got " + t,
);
}
function Vu(e) {
let t;
for (t = 0; e > Eg; e >>= Og, t += 1);
return t;
}
function K1(e, t, r) {
if (typeof e != "number" || e < 2)
throw new Error("hashLen must be a number");
if (typeof t != "number" || t < 2)
throw new Error("qByteLen must be a number");
if (typeof r != "function") throw new Error("hmacFn must be a function");
let o = (b) => new Uint8Array(b),
n = (b) => Uint8Array.of(b),
a = o(e),
i = o(e),
c = 0,
d = () => {
(a.fill(1), i.fill(0), (c = 0));
},
l = (...b) => r(i, a, ...b),
u = (b = o(0)) => {
((i = l(n(0), b)),
(a = l()),
b.length !== 0 && ((i = l(n(1), b)), (a = l())));
},
p = () => {
if (c++ >= 1e3) throw new Error("drbg: tried 1000 values");
let b = 0,
m = [];
for (; b < t; ) {
a = l();
let v = a.slice();
(m.push(v), (b += a.length));
}
return ut(...m);
};
return (b, m) => {
(d(), u(b));
let v;
for (; !(v = m(p())); ) u();
return (d(), v);
};
}
function J1(e) {
return typeof e == "function" && Number.isSafeInteger(e.outputLen);
}
function ga(e, t, r = {}) {
if (!e || typeof e != "object")
throw new Error("expected valid options object");
function o(n, a, i) {
let c = e[n];
if (i && c === void 0) return;
let d = typeof c;
if (d !== a || c === null)
throw new Error(`param "${n}" is invalid: expected ${a}, got ${d}`);
}
(Object.entries(t).forEach(([n, a]) => o(n, a, !1)),
Object.entries(r).forEach(([n, a]) => o(n, a, !0)));
}
function Bg(e) {
let t = new WeakMap();
return (r, ...o) => {
let n = t.get(r);
if (n !== void 0) return n;
let a = e(r, ...o);
return (t.set(r, a), a);
};
}
var Eg,
Og,
Rg,
Yn,
hi = St(() => {
Qn();
Qn();
((Eg = BigInt(0)), (Og = BigInt(1)));
Rg = (e) => typeof e == "bigint" && Eg <= e;
Yn = (e) => (Og << BigInt(e)) - Og;
});
function FB(e, t = !1) {
return t
? { h: Number(e & Hu), l: Number((e >> V1) & Hu) }
: { h: Number((e >> V1) & Hu) | 0, l: Number(e & Hu) | 0 };
}
function H1(e, t = !1) {
let r = new Uint32Array(e.length),
o = new Uint32Array(e.length);
for (let n = 0; n < e.length; n++) {
let { h: a, l: i } = FB(e[n], t);
[r[n], o[n]] = [a, i];
}
return [r, o];
}
var Hu,
V1,
W1,
L1,
q1,
j1,
G1 = St(() => {
((Hu = BigInt(4294967295)), (V1 = BigInt(32)));
((W1 = (e, t, r) => (e << r) | (t >>> (32 - r))),
(L1 = (e, t, r) => (t << r) | (e >>> (32 - r))),
(q1 = (e, t, r) => (t << (r - 32)) | (e >>> (64 - r))),
(j1 = (e, t, r) => (e << (r - 32)) | (t >>> (64 - r))));
});
function jB(e, t = 24) {
let r = new Uint32Array(10);
for (let o = 24 - t; o < 24; o++) {
for (let i = 0; i < 10; i++)
r[i] = e[i] ^ e[i + 10] ^ e[i + 20] ^ e[i + 30] ^ e[i + 40];
for (let i = 0; i < 10; i += 2) {
let c = (i + 8) % 10,
d = (i + 2) % 10,
l = r[d],
u = r[d + 1],
p = Q1(l, u, 1) ^ r[c],
y = z1(l, u, 1) ^ r[c + 1];
for (let b = 0; b < 50; b += 10)
((e[i + b] ^= p), (e[i + b + 1] ^= y));
}
let n = e[2],
a = e[3];
for (let i = 0; i < 24; i++) {
let c = Z1[i],
d = Q1(n, a, c),
l = z1(n, a, c),
u = Y1[i];
((n = e[u]), (a = e[u + 1]), (e[u] = d), (e[u + 1] = l));
}
for (let i = 0; i < 50; i += 10) {
for (let c = 0; c < 10; c++) r[c] = e[i + c];
for (let c = 0; c < 10; c++)
e[i + c] ^= ~r[(c + 2) % 10] & r[(c + 4) % 10];
}
((e[0] ^= LB[o]), (e[1] ^= qB[o]));
}
r.fill(0);
}
var Y1,
Z1,
X1,
KB,
Yc,
JB,
VB,
HB,
WB,
LB,
qB,
Q1,
z1,
Wu,
Zn,
vae,
Sae,
xae,
Aae,
wae,
Br,
Pae,
kae,
eP,
Iae,
Tae,
bi = St(() => {
du();
G1();
No();
((Y1 = []),
(Z1 = []),
(X1 = []),
(KB = BigInt(0)),
(Yc = BigInt(1)),
(JB = BigInt(2)),
(VB = BigInt(7)),
(HB = BigInt(256)),
(WB = BigInt(113)));
for (let e = 0, t = Yc, r = 1, o = 0; e < 24; e++) {
(([r, o] = [o, (2 * r + 3 * o) % 5]),
Y1.push(2 * (5 * o + r)),
Z1.push((((e + 1) * (e + 2)) / 2) % 64));
let n = KB;
for (let a = 0; a < 7; a++)
((t = ((t << Yc) ^ ((t >> VB) * WB)) % HB),
t & JB && (n ^= Yc << ((Yc << BigInt(a)) - Yc)));
X1.push(n);
}
(([LB, qB] = H1(X1, !0)),
(Q1 = (e, t, r) => (r > 32 ? q1(e, t, r) : W1(e, t, r))),
(z1 = (e, t, r) => (r > 32 ? j1(e, t, r) : L1(e, t, r))));
((Wu = class e extends ti {
constructor(t, r, o, n = !1, a = 24) {
if (
(super(),
(this.blockLen = t),
(this.suffix = r),
(this.outputLen = o),
(this.enableXOF = n),
(this.rounds = a),
(this.pos = 0),
(this.posOut = 0),
(this.finished = !1),
(this.destroyed = !1),
Sy(o),
0 >= this.blockLen || this.blockLen >= 200)
)
throw new Error("Sha3 supports only keccak-f1600 function");
((this.state = new Uint8Array(200)),
(this.state32 = yA(this.state)));
}
keccak() {
(xy || Ay(this.state32),
jB(this.state32, this.rounds),
xy || Ay(this.state32),
(this.posOut = 0),
(this.pos = 0));
}
update(t) {
ei(this);
let { blockLen: r, state: o } = this;
t = ri(t);
let n = t.length;
for (let a = 0; a < n; ) {
let i = Math.min(r - this.pos, n - a);
for (let c = 0; c < i; c++) o[this.pos++] ^= t[a++];
this.pos === r && this.keccak();
}
return this;
}
finish() {
if (this.finished) return;
this.finished = !0;
let { state: t, suffix: r, pos: o, blockLen: n } = this;
((t[o] ^= r),
(r & 128) !== 0 && o === n - 1 && this.keccak(),
(t[n - 1] ^= 128),
this.keccak());
}
writeInto(t) {
(ei(this, !1), Xa(t), this.finish());
let r = this.state,
{ blockLen: o } = this;
for (let n = 0, a = t.length; n < a; ) {
this.posOut >= o && this.keccak();
let i = Math.min(o - this.posOut, a - n);
(t.set(r.subarray(this.posOut, this.posOut + i), n),
(this.posOut += i),
(n += i));
}
return t;
}
xofInto(t) {
if (!this.enableXOF)
throw new Error("XOF is not possible for this instance");
return this.writeInto(t);
}
xof(t) {
return (Sy(t), this.xofInto(new Uint8Array(t)));
}
digestInto(t) {
if ((cu(t, this), this.finished))
throw new Error("digest() was already called");
return (this.writeInto(t), this.destroy(), t);
}
digest() {
return this.digestInto(new Uint8Array(this.outputLen));
}
destroy() {
((this.destroyed = !0), this.state.fill(0));
}
_cloneInto(t) {
let {
blockLen: r,
suffix: o,
outputLen: n,
rounds: a,
enableXOF: i,
} = this;
return (
t || (t = new e(r, o, n, i, a)),
t.state32.set(this.state32),
(t.pos = this.pos),
(t.posOut = this.posOut),
(t.finished = this.finished),
(t.rounds = a),
(t.suffix = o),
(t.outputLen = n),
(t.enableXOF = i),
(t.destroyed = this.destroyed),
t
);
}
}),
(Zn = (e, t, r) => pu(() => new Wu(t, e, r))),
(vae = Zn(6, 144, 224 / 8)),
(Sae = Zn(6, 136, 256 / 8)),
(xae = Zn(6, 104, 384 / 8)),
(Aae = Zn(6, 72, 512 / 8)),
(wae = Zn(1, 144, 224 / 8)),
(Br = Zn(1, 136, 256 / 8)),
(Pae = Zn(1, 104, 384 / 8)),
(kae = Zn(1, 72, 512 / 8)),
(eP = (e, t, r) =>
gA((o = {}) => new Wu(t, e, o.dkLen === void 0 ? r : o.dkLen, !0))),
(Iae = eP(31, 168, 128 / 8)),
(Tae = eP(31, 136, 256 / 8)));
});
function GB(e, t) {
return e.exec(t)?.groups;
}
function Fg(e) {
let t = e.type;
if (tP.test(e.type) && "components" in e) {
t = "(";
let r = e.components.length;
for (let n = 0; n < r; n++) {
let a = e.components[n];
((t += Fg(a)), n < r - 1 && (t += ", "));
}
let o = GB(tP, e.type);
return ((t += `)${o?.array ?? ""}`), Fg({ ...e, type: t }));
}
return (
"indexed" in e && e.indexed && (t = `${t} indexed`),
e.name ? `${t} ${e.name}` : t
);
}
function Zc(e) {
let t = "",
r = e.length;
for (let o = 0; o < r; o++) {
let n = e[o];
((t += Fg(n)), o !== r - 1 && (t += ", "));
}
return t;
}
function QB(e) {
return e.type === "function"
? `function ${e.name}(${Zc(e.inputs)})${e.stateMutability && e.stateMutability !== "nonpayable" ? ` ${e.stateMutability}` : ""}${e.outputs?.length ? ` returns (${Zc(e.outputs)})` : ""}`
: e.type === "event"
? `event ${e.name}(${Zc(e.inputs)})`
: e.type === "error"
? `error ${e.name}(${Zc(e.inputs)})`
: e.type === "constructor"
? `constructor(${Zc(e.inputs)})${e.stateMutability === "payable" ? " payable" : ""}`
: e.type === "fallback"
? `fallback() external${e.stateMutability === "payable" ? " payable" : ""}`
: "receive() external payable";
}
function cP(e, t) {
return t?.(e)
? e
: e && typeof e == "object" && "cause" in e && e.cause !== void 0
? cP(e.cause, t)
: t
? null
: e;
}
function Jg(e, { includeName: t = !1 } = {}) {
if (e.type !== "function" && e.type !== "event" && e.type !== "error")
throw new oM(e.type);
return `${e.name}(${dP(e.inputs, { includeName: t })})`;
}
function dP(e, { includeName: t = !1 } = {}) {
return e
? e.map((r) => zB(r, { includeName: t })).join(t ? ", " : ",")
: "";
}
function zB(e, { includeName: t }) {
return e.type.startsWith("tuple")
? `(${dP(e.components, { includeName: t })})${e.type.slice(5)}`
: e.type + (t && e.name ? ` ${e.name}` : "");
}
function to(e, { strict: t = !0 } = {}) {
return !e || typeof e != "string"
? !1
: t
? /^0x[0-9a-fA-F]*$/.test(e)
: e.startsWith("0x");
}
function Nt(e) {
return to(e, { strict: !1 }) ? Math.ceil((e.length - 2) / 2) : e.length;
}
function mP(e, t, r, { strict: o } = {}) {
return to(e, { strict: !1 })
? sM(e, t, r, { strict: o })
: nM(e, t, r, { strict: o });
}
function fP(e, t) {
if (typeof t == "number" && t > 0 && t > Nt(e) - 1)
throw new uP({ offset: t, position: "start", size: Nt(e) });
}
function yP(e, t, r) {
if (typeof t == "number" && typeof r == "number" && Nt(e) !== r - t)
throw new uP({ offset: r, position: "end", size: Nt(e) });
}
function nM(e, t, r, { strict: o } = {}) {
fP(e, t);
let n = e.slice(t, r);
return (o && yP(n, t, r), n);
}
function sM(e, t, r, { strict: o } = {}) {
fP(e, t);
let n = `0x${e.replace("0x", "").slice((t ?? 0) * 2, (r ?? e.length) * 2)}`;
return (o && yP(n, t, r), n);
}
function vi(e, { dir: t, size: r = 32 } = {}) {
return typeof e == "string"
? Xn(e, { dir: t, size: r })
: aM(e, { dir: t, size: r });
}
function Xn(e, { dir: t, size: r = 32 } = {}) {
if (r === null) return e;
let o = e.replace("0x", "");
if (o.length > r * 2)
throw new pP({
size: Math.ceil(o.length / 2),
targetSize: r,
type: "hex",
});
return `0x${o[t === "right" ? "padEnd" : "padStart"](r * 2, "0")}`;
}
function aM(e, { dir: t, size: r = 32 } = {}) {
if (r === null) return e;
if (e.length > r)
throw new pP({ size: e.length, targetSize: r, type: "bytes" });
let o = new Uint8Array(r);
for (let n = 0; n < r; n++) {
let a = t === "right";
o[a ? n : r - n - 1] = e[a ? n : e.length - n - 1];
}
return o;
}
function Si(e, { size: t }) {
if (Nt(e) > t) throw new iM({ givenSize: Nt(e), maxSize: t });
}
function qu(e, t = {}) {
let { signed: r } = t;
t.size && Si(e, { size: t.size });
let o = BigInt(e);
if (!r) return o;
let n = (e.length - 2) / 2,
a = (1n << (BigInt(n) * 8n - 1n)) - 1n;
return o <= a ? o : o - BigInt(`0x${"f".padStart(n * 2, "f")}`) - 1n;
}
function hP(e, t = {}) {
return Number(qu(e, t));
}
function xi(e, t = {}) {
return typeof e == "number" || typeof e == "bigint"
? vn(e, t)
: typeof e == "string"
? SP(e, t)
: typeof e == "boolean"
? bP(e, t)
: vP(e, t);
}
function bP(e, t = {}) {
let r = `0x${Number(e)}`;
return typeof t.size == "number"
? (Si(r, { size: t.size }), vi(r, { size: t.size }))
: r;
}
function vP(e, t = {}) {
let r = "";
for (let n = 0; n < e.length; n++) r += cM[e[n]];
let o = `0x${r}`;
return typeof t.size == "number"
? (Si(o, { size: t.size }), vi(o, { dir: "right", size: t.size }))
: o;
}
function vn(e, t = {}) {
let { signed: r, size: o } = t,
n = BigInt(e),
a;
o
? r
? (a = (1n << (BigInt(o) * 8n - 1n)) - 1n)
: (a = 2n ** (BigInt(o) * 8n) - 1n)
: typeof e == "number" && (a = BigInt(Number.MAX_SAFE_INTEGER));
let i = typeof a == "bigint" && r ? -a - 1n : 0;
if ((a && n > a) || n < i) {
let d = typeof e == "bigint" ? "n" : "";
throw new gP({
max: a ? `${a}${d}` : void 0,
min: `${i}${d}`,
signed: r,
size: o,
value: `${e}${d}`,
});
}
let c = `0x${(r && n < 0 ? (1n << BigInt(o * 8)) + BigInt(n) : n).toString(16)}`;
return o ? vi(c, { size: o }) : c;
}
function SP(e, t = {}) {
let r = dM.encode(e);
return vP(r, t);
}
function xP(e, t = {}) {
return typeof e == "number" || typeof e == "bigint"
? pM(e, t)
: typeof e == "boolean"
? uM(e, t)
: to(e)
? AP(e, t)
: wP(e, t);
}
function uM(e, t = {}) {
let r = new Uint8Array(1);
return (
(r[0] = Number(e)),
typeof t.size == "number"
? (Si(r, { size: t.size }), vi(r, { size: t.size }))
: r
);
}
function oP(e) {
if (e >= bn.zero && e <= bn.nine) return e - bn.zero;
if (e >= bn.A && e <= bn.F) return e - (bn.A - 10);
if (e >= bn.a && e <= bn.f) return e - (bn.a - 10);
}
function AP(e, t = {}) {
let r = e;
t.size &&
(Si(r, { size: t.size }), (r = vi(r, { dir: "right", size: t.size })));
let o = r.slice(2);
o.length % 2 && (o = `0${o}`);
let n = o.length / 2,
a = new Uint8Array(n);
for (let i = 0, c = 0; i < n; i++) {
let d = oP(o.charCodeAt(c++)),
l = oP(o.charCodeAt(c++));
if (d === void 0 || l === void 0)
throw new De(
`Invalid byte sequence ("${o[c - 2]}${o[c - 1]}" in "${o}").`,
);
a[i] = d * 16 + l;
}
return a;
}
function pM(e, t) {
let r = vn(e, t);
return AP(r);
}
function wP(e, t = {}) {
let r = lM.encode(e);
return typeof t.size == "number"
? (Si(r, { size: t.size }), vi(r, { dir: "right", size: t.size }))
: r;
}
function ro(e, t) {
let r = t || "hex",
o = Br(to(e, { strict: !1 }) ? xP(e) : e);
return r === "bytes" ? o : xi(o);
}
function fM(e) {
return mM(e);
}
function yM(e) {
let t = !0,
r = "",
o = 0,
n = "",
a = !1;
for (let i = 0; i < e.length; i++) {
let c = e[i];
if (
(["(", ")", ","].includes(c) && (t = !0),
c === "(" && o++,
c === ")" && o--,
!!t)
) {
if (o === 0) {
if (c === " " && ["event", "function", ""].includes(n)) n = "";
else if (((n += c), c === ")")) {
a = !0;
break;
}
continue;
}
if (c === " ") {
e[i - 1] !== "," && r !== "," && r !== ",(" && ((r = ""), (t = !1));
continue;
}
((n += c), (r += c));
}
}
if (!a) throw new De("Unable to normalize signature.");
return n;
}
function PP(e) {
return fM(gM(e));
}
function es(e, t) {
let { strict: r = !0 } = t ?? {},
o = `${e}.${r}`;
if ($g.has(o)) return $g.get(o);
let n = hM.test(e)
? e.toLowerCase() === e
? !0
: r
? Gu(e) === e
: !0
: !1;
return ($g.set(o, n), n);
}
function Gu(e, t) {
if (_g.has(`${e}.${t}`)) return _g.get(`${e}.${t}`);
let r = t ? `${t}${e.toLowerCase()}` : e.substring(2).toLowerCase(),
o = ro(wP(r), "bytes"),
n = (t ? r.substring(`${t}0x`.length) : r).split("");
for (let i = 0; i < 40; i += 2)
(o[i >> 1] >> 4 >= 8 && n[i] && (n[i] = n[i].toUpperCase()),
(o[i >> 1] & 15) >= 8 &&
n[i + 1] &&
(n[i + 1] = n[i + 1].toUpperCase()));
let a = `0x${n.join("")}`;
return (_g.set(`${e}.${t}`, a), a);
}
function Qu(e, t) {
if (!es(e, { strict: !1 })) throw new ju({ address: e });
return Gu(e, t);
}
function ts(e) {
return typeof e[0] == "string" ? TP(e) : SM(e);
}
function SM(e) {
let t = 0;
for (let n of e) t += n.length;
let r = new Uint8Array(t),
o = 0;
for (let n of e) (r.set(n, o), (o += n.length));
return r;
}
function TP(e) {
return `0x${e.reduce((t, r) => t + r.replace("0x", ""), "")}`;
}
function oo(e, t) {
if (e.length !== t.length)
throw new XB({ expectedLength: e.length, givenLength: t.length });
let r = xM({ params: e, values: t }),
o = Lg(r);
return o.length === 0 ? "0x" : o;
}
function xM({ params: e, values: t }) {
let r = [];
for (let o = 0; o < e.length; o++)
r.push(Wg({ param: e[o], value: t[o] }));
return r;
}
function Wg({ param: e, value: t }) {
let r = CM(e.type);
if (r) {
let [o, n] = r;
return wM(t, { length: o, param: { ...e, type: n } });
}
if (e.type === "tuple") return UM(t, { param: e });
if (e.type === "address") return AM(t);
if (e.type === "bool") return kM(t);
if (e.type.startsWith("uint") || e.type.startsWith("int")) {
let o = e.type.startsWith("int"),
[, , n = "256"] = Hg.exec(e.type) ?? [];
return IM(t, { signed: o, size: Number(n) });
}
if (e.type.startsWith("bytes")) return PM(t, { param: e });
if (e.type === "string") return TM(t);
throw new tM(e.type, { docsPath: "/docs/contract/encodeAbiParameters" });
}
function Lg(e) {
let t = 0;
for (let a = 0; a < e.length; a++) {
let { dynamic: i, encoded: c } = e[a];
i ? (t += 32) : (t += Nt(c));
}
let r = [],
o = [],
n = 0;
for (let a = 0; a < e.length; a++) {
let { dynamic: i, encoded: c } = e[a];
i
? (r.push(vn(t + n, { size: 32 })), o.push(c), (n += Nt(c)))
: r.push(c);
}
return ts([...r, ...o]);
}
function AM(e) {
if (!es(e)) throw new ju({ address: e });
return { dynamic: !1, encoded: Xn(e.toLowerCase()) };
}
function wM(e, { length: t, param: r }) {
let o = t === null;
if (!Array.isArray(e)) throw new rM(e);
if (!o && e.length !== t)
throw new YB({
expectedLength: t,
givenLength: e.length,
type: `${r.type}[${t}]`,
});
let n = !1,
a = [];
for (let i = 0; i < e.length; i++) {
let c = Wg({ param: r, value: e[i] });
(c.dynamic && (n = !0), a.push(c));
}
if (o || n) {
let i = Lg(a);
if (o) {
let c = vn(a.length, { size: 32 });
return { dynamic: !0, encoded: a.length > 0 ? ts([c, i]) : c };
}
if (n) return { dynamic: !0, encoded: i };
}
return { dynamic: !1, encoded: ts(a.map(({ encoded: i }) => i)) };
}
function PM(e, { param: t }) {
let [, r] = t.type.split("bytes"),
o = Nt(e);
if (!r) {
let n = e;
return (
o % 32 !== 0 &&
(n = Xn(n, {
dir: "right",
size: Math.ceil((e.length - 2) / 2 / 32) * 32,
})),
{ dynamic: !0, encoded: ts([Xn(vn(o, { size: 32 })), n]) }
);
}
if (o !== Number.parseInt(r, 10))
throw new ZB({ expectedSize: Number.parseInt(r, 10), value: e });
return { dynamic: !1, encoded: Xn(e, { dir: "right" }) };
}
function kM(e) {
if (typeof e != "boolean")
throw new De(
`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`,
);
return { dynamic: !1, encoded: Xn(bP(e)) };
}
function IM(e, { signed: t, size: r = 256 }) {
if (typeof r == "number") {
let o = 2n ** (BigInt(r) - (t ? 1n : 0n)) - 1n,
n = t ? -o - 1n : 0n;
if (e > o || e < n)
throw new gP({
max: o.toString(),
min: n.toString(),
signed: t,
size: r / 8,
value: e.toString(),
});
}
return { dynamic: !1, encoded: vn(e, { size: 32, signed: t }) };
}
function TM(e) {
let t = SP(e),
r = Math.ceil(Nt(t) / 32),
o = [];
for (let n = 0; n < r; n++)
o.push(Xn(mP(t, n * 32, (n + 1) * 32), { dir: "right" }));
return { dynamic: !0, encoded: ts([Xn(vn(Nt(t), { size: 32 })), ...o]) };
}
function UM(e, { param: t }) {
let r = !1,
o = [];
for (let n = 0; n < t.components.length; n++) {
let a = t.components[n],
i = Array.isArray(e) ? n : a.name,
c = Wg({ param: a, value: e[i] });
(o.push(c), c.dynamic && (r = !0));
}
return {
dynamic: r,
encoded: r ? Lg(o) : ts(o.map(({ encoded: n }) => n)),
};
}
function CM(e) {
let t = e.match(/^(.*)\[(\d+)?\]$/);
return t ? [t[2] ? Number(t[2]) : null, t[1]] : void 0;
}
function OM(e) {
let { abi: t, args: r = [], name: o } = e,
n = to(o, { strict: !1 }),
a = t.filter((c) =>
n
? c.type === "function"
? kP(c) === o
: c.type === "event"
? RM(c) === o
: !1
: "name" in c && c.name === o,
);
if (a.length === 0) return;
if (a.length === 1) return a[0];
let i;
for (let c of a) {
if (!("inputs" in c)) continue;
if (!r || r.length === 0) {
if (!c.inputs || c.inputs.length === 0) return c;
continue;
}
if (!c.inputs || c.inputs.length === 0 || c.inputs.length !== r.length)
continue;
if (
r.every((l, u) => {
let p = "inputs" in c && c.inputs[u];
return p ? Vg(l, p) : !1;
})
) {
if (i && "inputs" in i && i.inputs) {
let l = RP(c.inputs, i.inputs, r);
if (l)
throw new eM(
{ abiItem: c, type: l[0] },
{ abiItem: i, type: l[1] },
);
}
i = c;
}
}
return i || a[0];
}
function Vg(e, t) {
let r = typeof e,
o = t.type;
switch (o) {
case "address":
return es(e, { strict: !1 });
case "bool":
return r === "boolean";
case "function":
return r === "string";
case "string":
return r === "string";
default:
return o === "tuple" && "components" in t
? Object.values(t.components).every((n, a) =>
Vg(Object.values(e)[a], n),
)
: /^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(
o,
)
? r === "number" || r === "bigint"
: /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(o)
? r === "string" || e instanceof Uint8Array
: /[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(o)
? Array.isArray(e) &&
e.every((n) =>
Vg(n, { ...t, type: o.replace(/(\[[0-9]{0,}\])$/, "") }),
)
: !1;
}
}
function RP(e, t, r) {
for (let o in e) {
let n = e[o],
a = t[o];
if (
n.type === "tuple" &&
a.type === "tuple" &&
"components" in n &&
"components" in a
)
return RP(n.components, a.components, r[o]);
let i = [n.type, a.type];
if (
i.includes("address") && i.includes("bytes20")
? !0
: i.includes("address") && i.includes("string")
? es(r[o], { strict: !1 })
: i.includes("address") && i.includes("bytes")
? es(r[o], { strict: !1 })
: !1
)
return i;
}
}
function DM(e, t) {
let r = e.toString(),
o = r.startsWith("-");
(o && (r = r.slice(1)), (r = r.padStart(t, "0")));
let [n, a] = [r.slice(0, r.length - t), r.slice(r.length - t)];
return (
(a = a.replace(/(0+)$/, "")),
`${o ? "-" : ""}${n || "0"}${a ? `.${a}` : ""}`
);
}
function Lu(e, t = "wei") {
return DM(e, EM[t]);
}
function NM(e) {
let { abi: t, args: r, functionName: o } = e,
n = t[0];
if (o) {
let a = OM({ abi: t, args: r, name: o });
if (!a) throw new rP(o, { docsPath: sP });
n = a;
}
if (n.type !== "function") throw new rP(void 0, { docsPath: sP });
return { abi: [n], functionName: kP(Jg(n)) };
}
function Xc(e) {
let { args: t } = e,
{ abi: r, functionName: o } =
e.abi.length === 1 && e.functionName?.startsWith("0x") ? e : NM(e),
n = r[0],
a = o,
i = "inputs" in n && n.inputs ? oo(n.inputs, t ?? []) : void 0;
return TP([a, i ?? "0x"]);
}
var tP,
aP,
Cae,
Rae,
iP,
Mg,
De,
YB,
ZB,
XB,
rP,
eM,
lP,
tM,
rM,
oM,
uP,
pP,
gP,
iM,
cM,
dM,
lM,
bn,
mM,
gM,
kP,
ju,
IP,
hM,
$g,
_g,
nP,
bM,
vM,
Eae,
UP,
Hg,
CP,
RM,
EM,
sP,
OP,
BM,
MM,
$M,
_M,
FM,
KM,
JM,
VM,
HM,
WM,
Dae,
Nae,
Bae,
Mae,
$ae,
_ae,
Fae,
Kae,
Jae,
Vae,
Hae,
Wae,
Lae,
qae,
jae,
Gae,
Qae,
zae,
Yae,
Zae,
Xae,
eie,
tie,
rie,
oie,
nie,
sie,
aie,
iie,
cie,
die,
lie,
uie,
pie,
mie,
fie,
yie,
gie,
hie,
bie,
vie,
Sie,
xie,
Aie,
wie,
Pie,
kie,
Iie,
Tie,
Uie,
Cie,
Rie,
Oie,
Eie,
Die,
Nie,
Bie,
Mie,
$ie,
_ie,
Fie,
Kie,
Jie,
Vie,
Hie,
Wie,
Lie,
qie,
jie,
Gie,
Qie,
zie,
Yie,
Zie,
Xie,
ece,
tce,
rce,
oce,
nce,
sce,
ace,
ice,
cce,
dce,
lce,
uce,
pce,
mce,
fce,
yce,
gce,
hce,
bce,
vce,
Sce,
ed = St(() => {
"use strict";
bi();
tP = /^tuple(?<array>(\[(\d*)\])*)$/;
((aP = [
{
inputs: [{ name: "dns", type: "bytes" }],
name: "DNSDecodingFailed",
type: "error",
},
{
inputs: [{ name: "ens", type: "string" }],
name: "DNSEncodingFailed",
type: "error",
},
{ inputs: [], name: "EmptyAddress", type: "error" },
{
inputs: [
{ name: "status", type: "uint16" },
{ name: "message", type: "string" },
],
name: "HttpError",
type: "error",
},
{ inputs: [], name: "InvalidBatchGatewayResponse", type: "error" },
{
inputs: [{ name: "errorData", type: "bytes" }],
name: "ResolverError",
type: "error",
},
{
inputs: [
{ name: "name", type: "bytes" },
{ name: "resolver", type: "address" },
],
name: "ResolverNotContract",
type: "error",
},
{
inputs: [{ name: "name", type: "bytes" }],
name: "ResolverNotFound",
type: "error",
},
{
inputs: [
{ name: "primary", type: "string" },
{ name: "primaryAddress", type: "bytes" },
],
name: "ReverseAddressMismatch",
type: "error",
},
{
inputs: [
{ internalType: "bytes4", name: "selector", type: "bytes4" },
],
name: "UnsupportedResolverProfile",
type: "error",
},
]),
(Cae = [
...aP,
{
name: "resolveWithGateways",
type: "function",
stateMutability: "view",
inputs: [
{ name: "name", type: "bytes" },
{ name: "data", type: "bytes" },
{ name: "gateways", type: "string[]" },
],
outputs: [
{ name: "", type: "bytes" },
{ name: "address", type: "address" },
],
},
]),
(Rae = [
...aP,
{
name: "reverseWithGateways",
type: "function",
stateMutability: "view",
inputs: [
{ type: "bytes", name: "reverseName" },
{ type: "uint256", name: "coinType" },
{ type: "string[]", name: "gateways" },
],
outputs: [
{ type: "string", name: "resolvedName" },
{ type: "address", name: "resolver" },
{ type: "address", name: "reverseResolver" },
],
},
]),
(iP = "2.41.2"),
(Mg = {
getDocsUrl: ({ docsBaseUrl: e, docsPath: t = "", docsSlug: r }) =>
t ? `${e ?? "https://viem.sh"}${t}${r ? `#${r}` : ""}` : void 0,
version: `viem@${iP}`,
}),
(De = class Kg extends Error {
constructor(t, r = {}) {
let o =
r.cause instanceof Kg
? r.cause.details
: r.cause?.message
? r.cause.message
: r.details,
n = (r.cause instanceof Kg && r.cause.docsPath) || r.docsPath,
a = Mg.getDocsUrl?.({ ...r, docsPath: n }),
i = [
t || "An error occurred.",
"",
...(r.metaMessages ? [...r.metaMessages, ""] : []),
...(a ? [`Docs: ${a}`] : []),
...(o ? [`Details: ${o}`] : []),
...(Mg.version ? [`Version: ${Mg.version}`] : []),
].join(`
`);
(super(i, r.cause ? { cause: r.cause } : void 0),
Object.defineProperty(this, "details", {
enumerable: !0,
configurable: !0,
writable: !0,
value: void 0,
}),
Object.defineProperty(this, "docsPath", {
enumerable: !0,
configurable: !0,
writable: !0,
value: void 0,
}),
Object.defineProperty(this, "metaMessages", {
enumerable: !0,
configurable: !0,
writable: !0,
value: void 0,
}),
Object.defineProperty(this, "shortMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value: void 0,
}),
Object.defineProperty(this, "version", {
enumerable: !0,
configurable: !0,
writable: !0,
value: void 0,
}),
Object.defineProperty(this, "name", {
enumerable: !0,
configurable: !0,
writable: !0,
value: "BaseError",
}),
(this.details = o),
(this.docsPath = n),
(this.metaMessages = r.metaMessages),
(this.name = r.name ?? this.name),
(this.shortMessage = t),
(this.version = iP));
}
walk(t) {
return cP(this, t);
}
}));
((YB = class extends De {
constructor({ expectedLength: e, givenLength: t, type: r }) {
super(
[
`ABI encoding array length mismatch for type ${r}.`,
`Expected length: ${e}`,
`Given length: ${t}`,
].join(`
`),
{ name: "AbiEncodingArrayLengthMismatchError" },
);
}
}),
(ZB = class extends De {
constructor({ expectedSize: e, value: t }) {
super(
`Size of bytes "${t}" (bytes${Nt(t)}) does not match expected size (bytes${e}).`,
{ name: "AbiEncodingBytesSizeMismatchError" },
);
}
}),
(XB = class extends De {
constructor({ expectedLength: e, givenLength: t }) {
super(
[
"ABI encoding params/values length mismatch.",
`Expected length (params): ${e}`,
`Given length (values): ${t}`,
].join(`
`),
{ name: "AbiEncodingLengthMismatchError" },
);
}
}),
(rP = class extends De {
constructor(e, { docsPath: t } = {}) {
super(
[
`Function ${e ? `"${e}" ` : ""}not found on ABI.`,
"Make sure you are using the correct ABI and that the function exists on it.",
].join(`
`),
{ docsPath: t, name: "AbiFunctionNotFoundError" },
);
}
}),
(eM = class extends De {
constructor(e, t) {
super("Found ambiguous types in overloaded ABI items.", {
metaMessages: [
`\`${e.type}\` in \`${Jg(e.abiItem)}\`, and`,
`\`${t.type}\` in \`${Jg(t.abiItem)}\``,
"",
"These types encode differently and cannot be distinguished at runtime.",
"Remove one of the ambiguous items in the ABI.",
],
name: "AbiItemAmbiguityError",
});
}
}),
(lP = class extends De {
constructor({ expectedSize: e, givenSize: t }) {
super(`Expected bytes${e}, got bytes${t}.`, {
name: "BytesSizeMismatchError",
});
}
}),
(tM = class extends De {
constructor(e, { docsPath: t }) {
super(
[
`Type "${e}" is not a valid encoding type.`,
"Please provide a valid ABI type.",
].join(`
`),
{ docsPath: t, name: "InvalidAbiEncodingType" },
);
}
}),
(rM = class extends De {
constructor(e) {
super(
[`Value "${e}" is not a valid array.`].join(`
`),
{ name: "InvalidArrayError" },
);
}
}),
(oM = class extends De {
constructor(e) {
super(
[
`"${e}" is not a valid definition type.`,
'Valid types: "function", "event", "error"',
].join(`
`),
{ name: "InvalidDefinitionTypeError" },
);
}
}),
(uP = class extends De {
constructor({ offset: e, position: t, size: r }) {
super(
`Slice ${t === "start" ? "starting" : "ending"} at offset "${e}" is out-of-bounds (size: ${r}).`,
{ name: "SliceOffsetOutOfBoundsError" },
);
}
}),
(pP = class extends De {
constructor({ size: e, targetSize: t, type: r }) {
super(
`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,
{ name: "SizeExceedsPaddingSizeError" },
);
}
}));
((gP = class extends De {
constructor({ max: e, min: t, signed: r, size: o, value: n }) {
super(
`Number "${n}" is not in safe ${o ? `${o * 8}-bit ${r ? "signed" : "unsigned"} ` : ""}integer range ${e ? `(${t} to ${e})` : `(above ${t})`}`,
{ name: "IntegerOutOfRangeError" },
);
}
}),
(iM = class extends De {
constructor({ givenSize: e, maxSize: t }) {
super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`, {
name: "SizeOverflowError",
});
}
}));
cM = Array.from({ length: 256 }, (e, t) =>
t.toString(16).padStart(2, "0"),
);
dM = new TextEncoder();
lM = new TextEncoder();
bn = { zero: 48, nine: 57, A: 65, F: 70, a: 97, f: 102 };
mM = (e) => ro(xP(e));
gM = (e) => {
let t = typeof e == "string" ? e : QB(e);
return yM(t);
};
((kP = (e) => mP(PP(e), 0, 4)),
(ju = class extends De {
constructor({ address: e }) {
super(`Address "${e}" is invalid.`, {
metaMessages: [
"- Address must be a hex value of 20 bytes (40 hex characters).",
"- Address must match its checksum counterpart.",
],
name: "InvalidAddressError",
});
}
}),
(IP = class extends Map {
constructor(e) {
(super(),
Object.defineProperty(this, "maxSize", {
enumerable: !0,
configurable: !0,
writable: !0,
value: void 0,
}),
(this.maxSize = e));
}
get(e) {
let t = super.get(e);
return (
super.has(e) &&
t !== void 0 &&
(this.delete(e), super.set(e, t)),
t
);
}
set(e, t) {
if ((super.set(e, t), this.maxSize && this.size > this.maxSize)) {
let r = this.keys().next().value;
r && this.delete(r);
}
return this;
}
}),
(hM = /^0x[a-fA-F0-9]{40}$/),
($g = new IP(8192)));
_g = new IP(8192);
((nP = class extends De {
constructor({ offset: e }) {
super(`Offset \`${e}\` cannot be negative.`, {
name: "NegativeOffsetError",
});
}
}),
(bM = class extends De {
constructor({ length: e, position: t }) {
super(
`Position \`${t}\` is out of bounds (\`0 < position < ${e}\`).`,
{ name: "PositionOutOfBoundsError" },
);
}
}),
(vM = class extends De {
constructor({ count: e, limit: t }) {
super(
`Recursive read limit of \`${t}\` exceeded (recursive read count: \`${e}\`).`,
{ name: "RecursiveReadLimitExceededError" },
);
}
}),
(Eae = {
bytes: new Uint8Array(),
dataView: new DataView(new ArrayBuffer(0)),
position: 0,
positionReadCount: new Map(),
recursiveReadCount: 0,
recursiveReadLimit: Number.POSITIVE_INFINITY,
assertReadLimit() {
if (this.recursiveReadCount >= this.recursiveReadLimit)
throw new vM({
count: this.recursiveReadCount + 1,
limit: this.recursiveReadLimit,
});
},
assertPosition(e) {
if (e < 0 || e > this.bytes.length - 1)
throw new bM({ length: this.bytes.length, position: e });
},
decrementPosition(e) {
if (e < 0) throw new nP({ offset: e });
let t = this.position - e;
(this.assertPosition(t), (this.position = t));
},
getReadCount(e) {
return this.positionReadCount.get(e || this.position) || 0;
},
incrementPosition(e) {
if (e < 0) throw new nP({ offset: e });
let t = this.position + e;
(this.assertPosition(t), (this.position = t));
},
inspectByte(e) {
let t = e ?? this.position;
return (this.assertPosition(t), this.bytes[t]);
},
inspectBytes(e, t) {
let r = t ?? this.position;
return (
this.assertPosition(r + e - 1),
this.bytes.subarray(r, r + e)
);
},
inspectUint8(e) {
let t = e ?? this.position;
return (this.assertPosition(t), this.bytes[t]);
},
inspectUint16(e) {
let t = e ?? this.position;
return (this.assertPosition(t + 1), this.dataView.getUint16(t));
},
inspectUint24(e) {
let t = e ?? this.position;
return (
this.assertPosition(t + 2),
(this.dataView.getUint16(t) << 8) +
this.dataView.getUint8(t + 2)
);
},
inspectUint32(e) {
let t = e ?? this.position;
return (this.assertPosition(t + 3), this.dataView.getUint32(t));
},
pushByte(e) {
(this.assertPosition(this.position),
(this.bytes[this.position] = e),
this.position++);
},
pushBytes(e) {
(this.assertPosition(this.position + e.length - 1),
this.bytes.set(e, this.position),
(this.position += e.length));
},
pushUint8(e) {
(this.assertPosition(this.position),
(this.bytes[this.position] = e),
this.position++);
},
pushUint16(e) {
(this.assertPosition(this.position + 1),
this.dataView.setUint16(this.position, e),
(this.position += 2));
},
pushUint24(e) {
(this.assertPosition(this.position + 2),
this.dataView.setUint16(this.position, e >> 8),
this.dataView.setUint8(this.position + 2, e & 255),
(this.position += 3));
},
pushUint32(e) {
(this.assertPosition(this.position + 3),
this.dataView.setUint32(this.position, e),
(this.position += 4));
},
readByte() {
(this.assertReadLimit(), this._touch());
let e = this.inspectByte();
return (this.position++, e);
},
readBytes(e, t) {
(this.assertReadLimit(), this._touch());
let r = this.inspectBytes(e);
return ((this.position += t ?? e), r);
},
readUint8() {
(this.assertReadLimit(), this._touch());
let e = this.inspectUint8();
return ((this.position += 1), e);
},
readUint16() {
(this.assertReadLimit(), this._touch());
let e = this.inspectUint16();
return ((this.position += 2), e);
},
readUint24() {
(this.assertReadLimit(), this._touch());
let e = this.inspectUint24();
return ((this.position += 3), e);
},
readUint32() {
(this.assertReadLimit(), this._touch());
let e = this.inspectUint32();
return ((this.position += 4), e);
},
get remaining() {
return this.bytes.length - this.position;
},
setPosition(e) {
let t = this.position;
return (
this.assertPosition(e),
(this.position = e),
() => (this.position = t)
);
},
_touch() {
if (this.recursiveReadLimit === Number.POSITIVE_INFINITY) return;
let e = this.getReadCount();
(this.positionReadCount.set(this.position, e + 1),
e > 0 && this.recursiveReadCount++);
},
}));
((UP = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/),
(Hg =
/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/));
((CP = (e, t, r) =>
JSON.stringify(
e,
(o, n) => {
let a = typeof n == "bigint" ? n.toString() : n;
return typeof t == "function" ? t(o, a) : a;
},
r,
)),
(RM = PP));
EM = { ether: -9, wei: 9 };
sP = "/docs/contract/encodeFunctionData";
OP = class extends De {
constructor({ cause: e, message: t } = {}) {
let r = t
?.replace("execution reverted: ", "")
?.replace("execution reverted", "");
super(
`Execution reverted ${r ? `with reason: ${r}` : "for an unknown reason"}.`,
{ cause: e, name: "ExecutionRevertedError" },
);
}
};
Object.defineProperty(OP, "code", {
enumerable: !0,
configurable: !0,
writable: !0,
value: 3,
});
Object.defineProperty(OP, "nodeMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value: /execution reverted/,
});
BM = class extends De {
constructor({ cause: e, maxFeePerGas: t } = {}) {
super(
`The fee cap (\`maxFeePerGas\`${t ? ` = ${Lu(t)} gwei` : ""}) cannot be higher than the maximum allowed value (2^256-1).`,
{ cause: e, name: "FeeCapTooHighError" },
);
}
};
Object.defineProperty(BM, "nodeMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value:
/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/,
});
MM = class extends De {
constructor({ cause: e, maxFeePerGas: t } = {}) {
super(
`The fee cap (\`maxFeePerGas\`${t ? ` = ${Lu(t)}` : ""} gwei) cannot be lower than the block base fee.`,
{ cause: e, name: "FeeCapTooLowError" },
);
}
};
Object.defineProperty(MM, "nodeMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value:
/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/,
});
$M = class extends De {
constructor({ cause: e, nonce: t } = {}) {
super(
`Nonce provided for the transaction ${t ? `(${t}) ` : ""}is higher than the next one expected.`,
{ cause: e, name: "NonceTooHighError" },
);
}
};
Object.defineProperty($M, "nodeMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value: /nonce too high/,
});
_M = class extends De {
constructor({ cause: e, nonce: t } = {}) {
super(
[
`Nonce provided for the transaction ${t ? `(${t}) ` : ""}is lower than the current nonce of the account.`,
"Try increasing the nonce or find the latest nonce with `getTransactionCount`.",
].join(`
`),
{ cause: e, name: "NonceTooLowError" },
);
}
};
Object.defineProperty(_M, "nodeMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value: /nonce too low|transaction already imported|already known/,
});
FM = class extends De {
constructor({ cause: e, nonce: t } = {}) {
super(
`Nonce provided for the transaction ${t ? `(${t}) ` : ""}exceeds the maximum allowed nonce.`,
{ cause: e, name: "NonceMaxValueError" },
);
}
};
Object.defineProperty(FM, "nodeMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value: /nonce has max value/,
});
KM = class extends De {
constructor({ cause: e } = {}) {
super(
[
"The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.",
].join(`
`),
{
cause: e,
metaMessages: [
"This error could arise when the account does not have enough funds to:",
" - pay for the total gas fee,",
" - pay for the value to send.",
" ",
"The cost of the transaction is calculated as `gas * gas fee + value`, where:",
" - `gas` is the amount of gas needed for transaction to execute,",
" - `gas fee` is the gas fee,",
" - `value` is the amount of ether to send to the recipient.",
],
name: "InsufficientFundsError",
},
);
}
};
Object.defineProperty(KM, "nodeMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value:
/insufficient funds|exceeds transaction sender account balance/,
});
JM = class extends De {
constructor({ cause: e, gas: t } = {}) {
super(
`The amount of gas ${t ? `(${t}) ` : ""}provided for the transaction exceeds the limit allowed for the block.`,
{ cause: e, name: "IntrinsicGasTooHighError" },
);
}
};
Object.defineProperty(JM, "nodeMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value: /intrinsic gas too high|gas limit reached/,
});
VM = class extends De {
constructor({ cause: e, gas: t } = {}) {
super(
`The amount of gas ${t ? `(${t}) ` : ""}provided for the transaction is too low.`,
{ cause: e, name: "IntrinsicGasTooLowError" },
);
}
};
Object.defineProperty(VM, "nodeMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value: /intrinsic gas too low/,
});
HM = class extends De {
constructor({ cause: e }) {
super("The transaction type is not supported for this chain.", {
cause: e,
name: "TransactionTypeNotSupportedError",
});
}
};
Object.defineProperty(HM, "nodeMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value: /transaction type not valid/,
});
WM = class extends De {
constructor({
cause: e,
maxPriorityFeePerGas: t,
maxFeePerGas: r,
} = {}) {
super(
[
`The provided tip (\`maxPriorityFeePerGas\`${t ? ` = ${Lu(t)} gwei` : ""}) cannot be higher than the fee cap (\`maxFeePerGas\`${r ? ` = ${Lu(r)} gwei` : ""}).`,
].join(`
`),
{ cause: e, name: "TipAboveFeeCapError" },
);
}
};
Object.defineProperty(WM, "nodeMessage", {
enumerable: !0,
configurable: !0,
writable: !0,
value:
/max priority fee per gas higher than max fee per gas|tip higher than fee cap/,
});
((Dae = 2n ** (8n - 1n) - 1n),
(Nae = 2n ** (16n - 1n) - 1n),
(Bae = 2n ** (24n - 1n) - 1n),
(Mae = 2n ** (32n - 1n) - 1n),
($ae = 2n ** (40n - 1n) - 1n),
(_ae = 2n ** (48n - 1n) - 1n),
(Fae = 2n ** (56n - 1n) - 1n),
(Kae = 2n ** (64n - 1n) - 1n),
(Jae = 2n ** (72n - 1n) - 1n),
(Vae = 2n ** (80n - 1n) - 1n),
(Hae = 2n ** (88n - 1n) - 1n),
(Wae = 2n ** (96n - 1n) - 1n),
(Lae = 2n ** (104n - 1n) - 1n),
(qae = 2n ** (112n - 1n) - 1n),
(jae = 2n ** (120n - 1n) - 1n),
(Gae = 2n ** (128n - 1n) - 1n),
(Qae = 2n ** (136n - 1n) - 1n),
(zae = 2n ** (144n - 1n) - 1n),
(Yae = 2n ** (152n - 1n) - 1n),
(Zae = 2n ** (160n - 1n) - 1n),
(Xae = 2n ** (168n - 1n) - 1n),
(eie = 2n ** (176n - 1n) - 1n),
(tie = 2n ** (184n - 1n) - 1n),
(rie = 2n ** (192n - 1n) - 1n),
(oie = 2n ** (200n - 1n) - 1n),
(nie = 2n ** (208n - 1n) - 1n),
(sie = 2n ** (216n - 1n) - 1n),
(aie = 2n ** (224n - 1n) - 1n),
(iie = 2n ** (232n - 1n) - 1n),
(cie = 2n ** (240n - 1n) - 1n),
(die = 2n ** (248n - 1n) - 1n),
(lie = 2n ** (256n - 1n) - 1n),
(uie = -(2n ** (8n - 1n))),
(pie = -(2n ** (16n - 1n))),
(mie = -(2n ** (24n - 1n))),
(fie = -(2n ** (32n - 1n))),
(yie = -(2n ** (40n - 1n))),
(gie = -(2n ** (48n - 1n))),
(hie = -(2n ** (56n - 1n))),
(bie = -(2n ** (64n - 1n))),
(vie = -(2n ** (72n - 1n))),
(Sie = -(2n ** (80n - 1n))),
(xie = -(2n ** (88n - 1n))),
(Aie = -(2n ** (96n - 1n))),
(wie = -(2n ** (104n - 1n))),
(Pie = -(2n ** (112n - 1n))),
(kie = -(2n ** (120n - 1n))),
(Iie = -(2n ** (128n - 1n))),
(Tie = -(2n ** (136n - 1n))),
(Uie = -(2n ** (144n - 1n))),
(Cie = -(2n ** (152n - 1n))),
(Rie = -(2n ** (160n - 1n))),
(Oie = -(2n ** (168n - 1n))),
(Eie = -(2n ** (176n - 1n))),
(Die = -(2n ** (184n - 1n))),
(Nie = -(2n ** (192n - 1n))),
(Bie = -(2n ** (200n - 1n))),
(Mie = -(2n ** (208n - 1n))),
($ie = -(2n ** (216n - 1n))),
(_ie = -(2n ** (224n - 1n))),
(Fie = -(2n ** (232n - 1n))),
(Kie = -(2n ** (240n - 1n))),
(Jie = -(2n ** (248n - 1n))),
(Vie = -(2n ** (256n - 1n))),
(Hie = 2n ** 8n - 1n),
(Wie = 2n ** 16n - 1n),
(Lie = 2n ** 24n - 1n),
(qie = 2n ** 32n - 1n),
(jie = 2n ** 40n - 1n),
(Gie = 2n ** 48n - 1n),
(Qie = 2n ** 56n - 1n),
(zie = 2n ** 64n - 1n),
(Yie = 2n ** 72n - 1n),
(Zie = 2n ** 80n - 1n),
(Xie = 2n ** 88n - 1n),
(ece = 2n ** 96n - 1n),
(tce = 2n ** 104n - 1n),
(rce = 2n ** 112n - 1n),
(oce = 2n ** 120n - 1n),
(nce = 2n ** 128n - 1n),
(sce = 2n ** 136n - 1n),
(ace = 2n ** 144n - 1n),
(ice = 2n ** 152n - 1n),
(cce = 2n ** 160n - 1n),
(dce = 2n ** 168n - 1n),
(lce = 2n ** 176n - 1n),
(uce = 2n ** 184n - 1n),
(pce = 2n ** 192n - 1n),
(mce = 2n ** 200n - 1n),
(fce = 2n ** 208n - 1n),
(yce = 2n ** 216n - 1n),
(gce = 2n ** 224n - 1n),
(hce = 2n ** 232n - 1n),
(bce = 2n ** 240n - 1n),
(vce = 2n ** 248n - 1n),
(Sce = 2n ** 256n - 1n));
});
function LM(e, t, r, o) {
if (typeof e.setBigUint64 == "function") return e.setBigUint64(t, r, o);
let n = BigInt(32),
a = BigInt(4294967295),
i = Number((r >> n) & a),
c = Number(r & a),
d = o ? 4 : 0,
l = o ? 0 : 4;
(e.setUint32(t + d, i, o), e.setUint32(t + l, c, o));
}
function EP(e, t, r) {
return (e & t) ^ (~e & r);
}
function DP(e, t, r) {
return (e & t) ^ (e & r) ^ (t & r);
}
var zu,
Sn,
NP = St(() => {
Qn();
((zu = class extends fi {
constructor(t, r, o, n) {
(super(),
(this.finished = !1),
(this.length = 0),
(this.pos = 0),
(this.destroyed = !1),
(this.blockLen = t),
(this.outputLen = r),
(this.padOffset = o),
(this.isLE = n),
(this.buffer = new Uint8Array(t)),
(this.view = Ju(this.buffer)));
}
update(t) {
(yi(this), (t = jc(t)), Wt(t));
let { view: r, buffer: o, blockLen: n } = this,
a = t.length;
for (let i = 0; i < a; ) {
let c = Math.min(n - this.pos, a - i);
if (c === n) {
let d = Ju(t);
for (; n <= a - i; i += n) this.process(d, i);
continue;
}
(o.set(t.subarray(i, i + c), this.pos),
(this.pos += c),
(i += c),
this.pos === n && (this.process(r, 0), (this.pos = 0)));
}
return ((this.length += t.length), this.roundClean(), this);
}
digestInto(t) {
(yi(this), B1(t, this), (this.finished = !0));
let { buffer: r, view: o, blockLen: n, isLE: a } = this,
{ pos: i } = this;
((r[i++] = 128),
ma(this.buffer.subarray(i)),
this.padOffset > n - i && (this.process(o, 0), (i = 0)));
for (let p = i; p < n; p++) r[p] = 0;
(LM(o, n - 8, BigInt(this.length * 8), a), this.process(o, 0));
let c = Ju(t),
d = this.outputLen;
if (d % 4)
throw new Error("_sha2: outputLen should be aligned to 32bit");
let l = d / 4,
u = this.get();
if (l > u.length)
throw new Error("_sha2: outputLen bigger than state");
for (let p = 0; p < l; p++) c.setUint32(4 * p, u[p], a);
}
digest() {
let { buffer: t, outputLen: r } = this;
this.digestInto(t);
let o = t.slice(0, r);
return (this.destroy(), o);
}
_cloneInto(t) {
(t || (t = new this.constructor()), t.set(...this.get()));
let {
blockLen: r,
buffer: o,
length: n,
finished: a,
destroyed: i,
pos: c,
} = this;
return (
(t.destroyed = i),
(t.finished = a),
(t.length = n),
(t.pos = c),
n % r && t.buffer.set(o),
t
);
}
clone() {
return this._cloneInto();
}
}),
(Sn = Uint32Array.from([
1779033703, 3144134277, 1013904242, 2773480762, 1359893119,
2600822924, 528734635, 1541459225,
])));
});
var qM,
rs,
qg,
td,
BP = St(() => {
NP();
Qn();
((qM = Uint32Array.from([
1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993,
2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987,
1925078388, 2162078206, 2614888103, 3248222580, 3835390401,
4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692,
1996064986, 2554220882, 2821834349, 2952996808, 3210313671,
3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912,
1294757372, 1396182291, 1695183700, 1986661051, 2177026350,
2456956037, 2730485921, 2820302411, 3259730800, 3345764771,
3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616,
659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779,
1955562222, 2024104815, 2227730452, 2361852424, 2428436474,
2756734187, 3204031479, 3329325298,
])),
(rs = new Uint32Array(64)),
(qg = class extends zu {
constructor(t = 32) {
(super(64, t, 8, !1),
(this.A = Sn[0] | 0),
(this.B = Sn[1] | 0),
(this.C = Sn[2] | 0),
(this.D = Sn[3] | 0),
(this.E = Sn[4] | 0),
(this.F = Sn[5] | 0),
(this.G = Sn[6] | 0),
(this.H = Sn[7] | 0));
}
get() {
let { A: t, B: r, C: o, D: n, E: a, F: i, G: c, H: d } = this;
return [t, r, o, n, a, i, c, d];
}
set(t, r, o, n, a, i, c, d) {
((this.A = t | 0),
(this.B = r | 0),
(this.C = o | 0),
(this.D = n | 0),
(this.E = a | 0),
(this.F = i | 0),
(this.G = c | 0),
(this.H = d | 0));
}
process(t, r) {
for (let p = 0; p < 16; p++, r += 4) rs[p] = t.getUint32(r, !1);
for (let p = 16; p < 64; p++) {
let y = rs[p - 15],
b = rs[p - 2],
m = Xr(y, 7) ^ Xr(y, 18) ^ (y >>> 3),
v = Xr(b, 17) ^ Xr(b, 19) ^ (b >>> 10);
rs[p] = (v + rs[p - 7] + m + rs[p - 16]) | 0;
}
let { A: o, B: n, C: a, D: i, E: c, F: d, G: l, H: u } = this;
for (let p = 0; p < 64; p++) {
let y = Xr(c, 6) ^ Xr(c, 11) ^ Xr(c, 25),
b = (u + y + EP(c, d, l) + qM[p] + rs[p]) | 0,
v = ((Xr(o, 2) ^ Xr(o, 13) ^ Xr(o, 22)) + DP(o, n, a)) | 0;
((u = l),
(l = d),
(d = c),
(c = (i + b) | 0),
(i = a),
(a = n),
(n = o),
(o = (b + v) | 0));
}
((o = (o + this.A) | 0),
(n = (n + this.B) | 0),
(a = (a + this.C) | 0),
(i = (i + this.D) | 0),
(c = (c + this.E) | 0),
(d = (d + this.F) | 0),
(l = (l + this.G) | 0),
(u = (u + this.H) | 0),
this.set(o, n, a, i, c, d, l, u));
}
roundClean() {
ma(rs);
}
destroy() {
(this.set(0, 0, 0, 0, 0, 0, 0, 0), ma(this.buffer));
}
}),
(td = $1(() => new qg())));
});
var Yu,
jg,
MP = St(() => {
Qn();
((Yu = class extends fi {
constructor(t, r) {
(super(), (this.finished = !1), (this.destroyed = !1), Ku(t));
let o = jc(r);
if (
((this.iHash = t.create()),
typeof this.iHash.update != "function")
)
throw new Error(
"Expected instance of class which extends utils.Hash",
);
((this.blockLen = this.iHash.blockLen),
(this.outputLen = this.iHash.outputLen));
let n = this.blockLen,
a = new Uint8Array(n);
a.set(o.length > n ? t.create().update(o).digest() : o);
for (let i = 0; i < a.length; i++) a[i] ^= 54;
(this.iHash.update(a), (this.oHash = t.create()));
for (let i = 0; i < a.length; i++) a[i] ^= 106;
(this.oHash.update(a), ma(a));
}
update(t) {
return (yi(this), this.iHash.update(t), this);
}
digestInto(t) {
(yi(this),
Wt(t, this.outputLen),
(this.finished = !0),
this.iHash.digestInto(t),
this.oHash.update(t),
this.oHash.digestInto(t),
this.destroy());
}
digest() {
let t = new Uint8Array(this.oHash.outputLen);
return (this.digestInto(t), t);
}
_cloneInto(t) {
t || (t = Object.create(Object.getPrototypeOf(this), {}));
let {
oHash: r,
iHash: o,
finished: n,
destroyed: a,
blockLen: i,
outputLen: c,
} = this;
return (
(t = t),
(t.finished = n),
(t.destroyed = a),
(t.blockLen = i),
(t.outputLen = c),
(t.oHash = r._cloneInto(t.oHash)),
(t.iHash = o._cloneInto(t.iHash)),
t
);
}
clone() {
return this._cloneInto();
}
destroy() {
((this.destroyed = !0), this.oHash.destroy(), this.iHash.destroy());
}
}),
(jg = (e, t, r) => new Yu(e, t).update(r).digest()));
jg.create = (e, t) => new Yu(e, t);
});
function Lt(e, t) {
let r = e % t;
return r >= qt ? r : t + r;
}
function pr(e, t, r) {
let o = e;
for (; t-- > qt; ) ((o *= o), (o %= r));
return o;
}
function $P(e, t) {
if (e === qt) throw new Error("invert: expected non-zero number");
if (t <= qt)
throw new Error("invert: expected positive modulus, got " + t);
let r = Lt(e, t),
o = t,
n = qt,
a = Bt,
i = Bt,
c = qt;
for (; r !== qt; ) {
let l = o / r,
u = o % r,
p = n - i * l,
y = a - c * l;
((o = r), (r = u), (n = i), (a = c), (i = p), (c = y));
}
if (o !== Bt) throw new Error("invert: does not exist");
return Lt(n, t);
}
function Gg(e, t, r) {
if (!e.eql(e.sqr(t), r)) throw new Error("Cannot find square root");
}
function WP(e, t) {
let r = (e.ORDER + Bt) / KP,
o = e.pow(t, r);
return (Gg(e, o, t), o);
}
function QM(e, t) {
let r = (e.ORDER - JP) / VP,
o = e.mul(t, ha),
n = e.pow(o, r),
a = e.mul(t, n),
i = e.mul(e.mul(a, ha), n),
c = e.mul(a, e.sub(i, e.ONE));
return (Gg(e, c, t), c);
}
function zM(e) {
let t = os(e),
r = LP(e),
o = r(t, t.neg(t.ONE)),
n = r(t, o),
a = r(t, t.neg(o)),
i = (e + jM) / HP;
return (c, d) => {
let l = c.pow(d, i),
u = c.mul(l, o),
p = c.mul(l, n),
y = c.mul(l, a),
b = c.eql(c.sqr(u), d),
m = c.eql(c.sqr(p), d);
((l = c.cmov(l, u, b)), (u = c.cmov(y, p, m)));
let v = c.eql(c.sqr(u), d),
h = c.cmov(l, u, v);
return (Gg(c, h, d), h);
};
}
function LP(e) {
if (e < FP) throw new Error("sqrt is not defined for small field");
let t = e - Bt,
r = 0;
for (; t % ha === qt; ) ((t /= ha), r++);
let o = ha,
n = os(e);
for (; _P(n, o) === 1; )
if (o++ > 1e3)
throw new Error("Cannot find square root: probably non-prime P");
if (r === 1) return WP;
let a = n.pow(o, t),
i = (t + Bt) / ha;
return function (d, l) {
if (d.is0(l)) return l;
if (_P(d, l) !== 1) throw new Error("Cannot find square root");
let u = r,
p = d.mul(d.ONE, a),
y = d.pow(l, t),
b = d.pow(l, i);
for (; !d.eql(y, d.ONE); ) {
if (d.is0(y)) return d.ZERO;
let m = 1,
v = d.sqr(y);
for (; !d.eql(v, d.ONE); )
if ((m++, (v = d.sqr(v)), m === u))
throw new Error("Cannot find square root");
let h = Bt << BigInt(u - m - 1),
g = d.pow(p, h);
((u = m), (p = d.sqr(g)), (y = d.mul(y, p)), (b = d.mul(b, g)));
}
return b;
};
}
function YM(e) {
return e % KP === FP
? WP
: e % VP === JP
? QM
: e % HP === GM
? zM(e)
: LP(e);
}
function Zu(e) {
let t = {
ORDER: "bigint",
MASK: "bigint",
BYTES: "number",
BITS: "number",
},
r = ZM.reduce((o, n) => ((o[n] = "function"), o), t);
return (ga(e, r), e);
}
function XM(e, t, r) {
if (r < qt) throw new Error("invalid exponent, negatives unsupported");
if (r === qt) return e.ONE;
if (r === Bt) return t;
let o = e.ONE,
n = t;
for (; r > qt; )
(r & Bt && (o = e.mul(o, n)), (n = e.sqr(n)), (r >>= Bt));
return o;
}
function ba(e, t, r = !1) {
let o = new Array(t.length).fill(r ? e.ZERO : void 0),
n = t.reduce(
(i, c, d) => (e.is0(c) ? i : ((o[d] = i), e.mul(i, c))),
e.ONE,
),
a = e.inv(n);
return (
t.reduceRight(
(i, c, d) => (e.is0(c) ? i : ((o[d] = e.mul(i, o[d])), e.mul(i, c))),
a,
),
o
);
}
function _P(e, t) {
let r = (e.ORDER - Bt) / ha,
o = e.pow(t, r),
n = e.eql(o, e.ONE),
a = e.eql(o, e.ZERO),
i = e.eql(o, e.neg(e.ONE));
if (!n && !a && !i) throw new Error("invalid Legendre symbol result");
return n ? 1 : a ? 0 : -1;
}
function Xu(e, t) {
t !== void 0 && qc(t);
let r = t !== void 0 ? t : e.toString(2).length,
o = Math.ceil(r / 8);
return { nBitLength: r, nByteLength: o };
}
function os(e, t, r = !1, o = {}) {
if (e <= qt)
throw new Error("invalid field: expected ORDER > 0, got " + e);
let n,
a,
i = !1,
c;
if (typeof t == "object" && t != null) {
if (o.sqrt || r)
throw new Error("cannot specify opts in two arguments");
let y = t;
(y.BITS && (n = y.BITS),
y.sqrt && (a = y.sqrt),
typeof y.isLE == "boolean" && (r = y.isLE),
typeof y.modFromBytes == "boolean" && (i = y.modFromBytes),
(c = y.allowedLengths));
} else (typeof t == "number" && (n = t), o.sqrt && (a = o.sqrt));
let { nBitLength: d, nByteLength: l } = Xu(e, n);
if (l > 2048)
throw new Error("invalid field: expected ORDER of <= 2048 bytes");
let u,
p = Object.freeze({
ORDER: e,
isLE: r,
BITS: d,
BYTES: l,
MASK: Yn(d),
ZERO: qt,
ONE: Bt,
allowedLengths: c,
create: (y) => Lt(y, e),
isValid: (y) => {
if (typeof y != "bigint")
throw new Error(
"invalid field element: expected bigint, got " + typeof y,
);
return qt <= y && y < e;
},
is0: (y) => y === qt,
isValidNot0: (y) => !p.is0(y) && p.isValid(y),
isOdd: (y) => (y & Bt) === Bt,
neg: (y) => Lt(-y, e),
eql: (y, b) => y === b,
sqr: (y) => Lt(y * y, e),
add: (y, b) => Lt(y + b, e),
sub: (y, b) => Lt(y - b, e),
mul: (y, b) => Lt(y * b, e),
pow: (y, b) => XM(p, y, b),
div: (y, b) => Lt(y * $P(b, e), e),
sqrN: (y) => y * y,
addN: (y, b) => y + b,
subN: (y, b) => y - b,
mulN: (y, b) => y * b,
inv: (y) => $P(y, e),
sqrt: a || ((y) => (u || (u = YM(e)), u(p, y))),
toBytes: (y) => (r ? Ng(y, l) : gi(y, l)),
fromBytes: (y, b = !0) => {
if (c) {
if (!c.includes(y.length) || y.length > l)
throw new Error(
"Field.fromBytes: expected " + c + " bytes, got " + y.length,
);
let v = new Uint8Array(l);
(v.set(y, r ? 0 : v.length - y.length), (y = v));
}
if (y.length !== l)
throw new Error(
"Field.fromBytes: expected " + l + " bytes, got " + y.length,
);
let m = r ? Dg(y) : eo(y);
if ((i && (m = Lt(m, e)), !b && !p.isValid(m)))
throw new Error(
"invalid field element: outside of range 0..ORDER",
);
return m;
},
invertBatch: (y) => ba(p, y),
cmov: (y, b, m) => (m ? b : y),
});
return Object.freeze(p);
}
function qP(e) {
if (typeof e != "bigint") throw new Error("field order must be bigint");
let t = e.toString(2).length;
return Math.ceil(t / 8);
}
function Qg(e) {
let t = qP(e);
return t + Math.ceil(t / 2);
}
function ep(e, t, r = !1) {
let o = e.length,
n = qP(t),
a = Qg(t);
if (o < 16 || o < a || o > 1024)
throw new Error("expected " + a + "-1024 bytes of input, got " + o);
let i = r ? Dg(e) : eo(e),
c = Lt(i, t - Bt) + Bt;
return r ? Ng(c, n) : gi(c, n);
}
var qt,
Bt,
ha,
FP,
KP,
JP,
jM,
VP,
GM,
HP,
ZM,
rd = St(() => {
hi();
((qt = BigInt(0)),
(Bt = BigInt(1)),
(ha = BigInt(2)),
(FP = BigInt(3)),
(KP = BigInt(4)),
(JP = BigInt(5)),
(jM = BigInt(7)),
(VP = BigInt(8)),
(GM = BigInt(9)),
(HP = BigInt(16)));
ZM = [
"create",
"isValid",
"is0",
"neg",
"inv",
"sqrt",
"sqr",
"eql",
"add",
"sub",
"mul",
"pow",
"div",
"addN",
"subN",
"mulN",
"sqrN",
];
});
function od(e, t) {
let r = t.negate();
return e ? r : t;
}
function rp(e, t) {
let r = ba(
e.Fp,
t.map((o) => o.Z),
);
return t.map((o, n) => e.fromAffine(o.toAffine(r[n])));
}
function zP(e, t) {
if (!Number.isSafeInteger(e) || e <= 0 || e > t)
throw new Error(
"invalid window size, expected [1.." + t + "], got W=" + e,
);
}
function zg(e, t) {
zP(e, t);
let r = Math.ceil(t / e) + 1,
o = 2 ** (e - 1),
n = 2 ** e,
a = Yn(e),
i = BigInt(e);
return { windows: r, windowSize: o, mask: a, maxNumber: n, shiftBy: i };
}
function jP(e, t, r) {
let { windowSize: o, mask: n, maxNumber: a, shiftBy: i } = r,
c = Number(e & n),
d = e >> i;
c > o && ((c -= a), (d += va));
let l = t * o,
u = l + Math.abs(c) - 1,
p = c === 0,
y = c < 0,
b = t % 2 !== 0;
return {
nextN: d,
offset: u,
isZero: p,
isNeg: y,
isNegF: b,
offsetF: l,
};
}
function e$(e, t) {
if (!Array.isArray(e)) throw new Error("array expected");
e.forEach((r, o) => {
if (!(r instanceof t)) throw new Error("invalid point at index " + o);
});
}
function t$(e, t) {
if (!Array.isArray(e)) throw new Error("array of scalars expected");
e.forEach((r, o) => {
if (!t.isValid(r)) throw new Error("invalid scalar at index " + o);
});
}
function Zg(e) {
return YP.get(e) || 1;
}
function GP(e) {
if (e !== Ai) throw new Error("invalid wNAF");
}
function ZP(e, t, r, o) {
let n = t,
a = e.ZERO,
i = e.ZERO;
for (; r > Ai || o > Ai; )
(r & va && (a = a.add(n)),
o & va && (i = i.add(n)),
(n = n.double()),
(r >>= va),
(o >>= va));
return { p1: a, p2: i };
}
function XP(e, t, r, o) {
(e$(r, e), t$(o, t));
let n = r.length,
a = o.length;
if (n !== a)
throw new Error("arrays of points and scalars must have equal length");
let i = e.ZERO,
c = Vu(BigInt(n)),
d = 1;
c > 12 ? (d = c - 3) : c > 4 ? (d = c - 2) : c > 0 && (d = 2);
let l = Yn(d),
u = new Array(Number(l) + 1).fill(i),
p = Math.floor((t.BITS - 1) / d) * d,
y = i;
for (let b = p; b >= 0; b -= d) {
u.fill(i);
for (let v = 0; v < a; v++) {
let h = o[v],
g = Number((h >> BigInt(b)) & l);
u[g] = u[g].add(r[v]);
}
let m = i;
for (let v = u.length - 1, h = i; v > 0; v--)
((h = h.add(u[v])), (m = m.add(h)));
if (((y = y.add(m)), b !== 0))
for (let v = 0; v < d; v++) y = y.double();
}
return y;
}
function QP(e, t, r) {
if (t) {
if (t.ORDER !== e)
throw new Error("Field.ORDER must match order: Fp == p, Fn == n");
return (Zu(t), t);
} else return os(e, { isLE: r });
}
function ek(e, t, r = {}, o) {
if ((o === void 0 && (o = e === "edwards"), !t || typeof t != "object"))
throw new Error(`expected valid ${e} CURVE object`);
for (let d of ["p", "n", "h"]) {
let l = t[d];
if (!(typeof l == "bigint" && l > Ai))
throw new Error(`CURVE.${d} must be positive bigint`);
}
let n = QP(t.p, r.Fp, o),
a = QP(t.n, r.Fn, o),
c = ["Gx", "Gy", "a", e === "weierstrass" ? "b" : "d"];
for (let d of c)
if (!n.isValid(t[d]))
throw new Error(`CURVE.${d} must be valid field element of CURVE.Fp`);
return (
(t = Object.freeze(Object.assign({}, t))),
{ CURVE: t, Fp: n, Fn: a }
);
}
var Ai,
va,
Yg,
YP,
tp,
tk = St(() => {
hi();
rd();
((Ai = BigInt(0)), (va = BigInt(1)));
((Yg = new WeakMap()), (YP = new WeakMap()));
tp = class {
constructor(t, r) {
((this.BASE = t.BASE),
(this.ZERO = t.ZERO),
(this.Fn = t.Fn),
(this.bits = r));
}
_unsafeLadder(t, r, o = this.ZERO) {
let n = t;
for (; r > Ai; )
(r & va && (o = o.add(n)), (n = n.double()), (r >>= va));
return o;
}
precomputeWindow(t, r) {
let { windows: o, windowSize: n } = zg(r, this.bits),
a = [],
i = t,
c = i;
for (let d = 0; d < o; d++) {
((c = i), a.push(c));
for (let l = 1; l < n; l++) ((c = c.add(i)), a.push(c));
i = c.double();
}
return a;
}
wNAF(t, r, o) {
if (!this.Fn.isValid(o)) throw new Error("invalid scalar");
let n = this.ZERO,
a = this.BASE,
i = zg(t, this.bits);
for (let c = 0; c < i.windows; c++) {
let {
nextN: d,
offset: l,
isZero: u,
isNeg: p,
isNegF: y,
offsetF: b,
} = jP(o, c, i);
((o = d),
u ? (a = a.add(od(y, r[b]))) : (n = n.add(od(p, r[l]))));
}
return (GP(o), { p: n, f: a });
}
wNAFUnsafe(t, r, o, n = this.ZERO) {
let a = zg(t, this.bits);
for (let i = 0; i < a.windows && o !== Ai; i++) {
let { nextN: c, offset: d, isZero: l, isNeg: u } = jP(o, i, a);
if (((o = c), !l)) {
let p = r[d];
n = n.add(u ? p.negate() : p);
}
}
return (GP(o), n);
}
getPrecomputes(t, r, o) {
let n = Yg.get(r);
return (
n ||
((n = this.precomputeWindow(r, t)),
t !== 1 &&
(typeof o == "function" && (n = o(n)), Yg.set(r, n))),
n
);
}
cached(t, r, o) {
let n = Zg(t);
return this.wNAF(n, this.getPrecomputes(n, t, o), r);
}
unsafe(t, r, o, n) {
let a = Zg(t);
return a === 1
? this._unsafeLadder(t, r, n)
: this.wNAFUnsafe(a, this.getPrecomputes(a, t, o), r, n);
}
createCache(t, r) {
(zP(r, this.bits), YP.set(t, r), Yg.delete(t));
}
hasCache(t) {
return Zg(t) !== 1;
}
};
});
function r$(e, t, r) {
let [[o, n], [a, i]] = t,
c = rk(i * e, r),
d = rk(-n * e, r),
l = e - c * o - d * a,
u = -c * n - d * i,
p = l < no,
y = u < no;
(p && (l = -l), y && (u = -u));
let b = Yn(Math.ceil(Vu(r) / 2)) + Mt;
if (l < no || l >= b || u < no || u >= b)
throw new Error("splitScalar (endomorphism): failed, k=" + e);
return { k1neg: p, k1: l, k2neg: y, k2: u };
}
function eh(e) {
if (!["compact", "recovered", "der"].includes(e))
throw new Error(
'Signature format must be "compact", "recovered", or "der"',
);
return e;
}
function Xg(e, t) {
let r = {};
for (let o of Object.keys(t)) r[o] = e[o] === void 0 ? t[o] : e[o];
return (
Gc(r.lowS, "lowS"),
Gc(r.prehash, "prehash"),
r.format !== void 0 && eh(r.format),
r
);
}
function ns(e, t) {
let { BYTES: r } = e,
o;
if (typeof t == "bigint") o = t;
else {
let n = it("private key", t);
try {
o = e.fromBytes(n);
} catch {
throw new Error(
`invalid private key: expected ui8a of size ${r}, got ${typeof t}`,
);
}
}
if (!e.isValidNot0(o))
throw new Error("invalid private key: out of range [1..N-1]");
return o;
}
function o$(e, t = {}) {
let r = ek("weierstrass", e, t),
{ Fp: o, Fn: n } = r,
a = r.CURVE,
{ h: i, n: c } = a;
ga(
t,
{},
{
allowInfinityPoint: "boolean",
clearCofactor: "function",
isTorsionFree: "function",
fromBytes: "function",
toBytes: "function",
endo: "object",
wrapPrivateKey: "boolean",
},
);
let { endo: d } = t;
if (
d &&
(!o.is0(a.a) || typeof d.beta != "bigint" || !Array.isArray(d.basises))
)
throw new Error(
'invalid endo: expected "beta": bigint and "basises": array',
);
let l = sk(o, n);
function u() {
if (!o.isOdd)
throw new Error(
"compression is not supported: Field does not have .isOdd()",
);
}
function p(_, T, R) {
let { x: N, y: F } = T.toAffine(),
H = o.toBytes(N);
if ((Gc(R, "isCompressed"), R)) {
u();
let q = !o.isOdd(F);
return ut(ok(q), H);
} else return ut(Uint8Array.of(4), H, o.toBytes(F));
}
function y(_) {
zn(_, void 0, "Point");
let { publicKey: T, publicKeyUncompressed: R } = l,
N = _.length,
F = _[0],
H = _.subarray(1);
if (N === T && (F === 2 || F === 3)) {
let q = o.fromBytes(H);
if (!o.isValid(q))
throw new Error("bad point: is not on curve, wrong x");
let ne = v(q),
ee;
try {
ee = o.sqrt(ne);
} catch (W) {
let Y = W instanceof Error ? ": " + W.message : "";
throw new Error("bad point: is not on curve, sqrt error" + Y);
}
u();
let Q = o.isOdd(ee);
return (((F & 1) === 1) !== Q && (ee = o.neg(ee)), { x: q, y: ee });
} else if (N === R && F === 4) {
let q = o.BYTES,
ne = o.fromBytes(H.subarray(0, q)),
ee = o.fromBytes(H.subarray(q, q * 2));
if (!h(ne, ee)) throw new Error("bad point: is not on curve");
return { x: ne, y: ee };
} else
throw new Error(
`bad point: got length ${N}, expected compressed=${T} or uncompressed=${R}`,
);
}
let b = t.toBytes || p,
m = t.fromBytes || y;
function v(_) {
let T = o.sqr(_),
R = o.mul(T, _);
return o.add(o.add(R, o.mul(_, a.a)), a.b);
}
function h(_, T) {
let R = o.sqr(T),
N = v(_);
return o.eql(R, N);
}
if (!h(a.Gx, a.Gy)) throw new Error("bad curve params: generator point");
let g = o.mul(o.pow(a.a, wi), rh),
S = o.mul(o.sqr(a.b), BigInt(27));
if (o.is0(o.add(g, S))) throw new Error("bad curve params: a or b");
function w(_, T, R = !1) {
if (!o.isValid(T) || (R && o.is0(T)))
throw new Error(`bad point coordinate ${_}`);
return T;
}
function I(_) {
if (!(_ instanceof k)) throw new Error("ProjectivePoint expected");
}
function E(_) {
if (!d || !d.basises) throw new Error("no endo");
return r$(_, d.basises, n.ORDER);
}
let K = Bg((_, T) => {
let { X: R, Y: N, Z: F } = _;
if (o.eql(F, o.ONE)) return { x: R, y: N };
let H = _.is0();
T == null && (T = H ? o.ONE : o.inv(F));
let q = o.mul(R, T),
ne = o.mul(N, T),
ee = o.mul(F, T);
if (H) return { x: o.ZERO, y: o.ZERO };
if (!o.eql(ee, o.ONE)) throw new Error("invZ was invalid");
return { x: q, y: ne };
}),
J = Bg((_) => {
if (_.is0()) {
if (t.allowInfinityPoint && !o.is0(_.Y)) return;
throw new Error("bad point: ZERO");
}
let { x: T, y: R } = _.toAffine();
if (!o.isValid(T) || !o.isValid(R))
throw new Error("bad point: x or y not field elements");
if (!h(T, R)) throw new Error("bad point: equation left != right");
if (!_.isTorsionFree())
throw new Error("bad point: not in prime-order subgroup");
return !0;
});
function P(_, T, R, N, F) {
return (
(R = new k(o.mul(R.X, _), R.Y, R.Z)),
(T = od(N, T)),
(R = od(F, R)),
T.add(R)
);
}
class k {
constructor(T, R, N) {
((this.X = w("x", T)),
(this.Y = w("y", R, !0)),
(this.Z = w("z", N)),
Object.freeze(this));
}
static CURVE() {
return a;
}
static fromAffine(T) {
let { x: R, y: N } = T || {};
if (!T || !o.isValid(R) || !o.isValid(N))
throw new Error("invalid affine point");
if (T instanceof k) throw new Error("projective point not allowed");
return o.is0(R) && o.is0(N) ? k.ZERO : new k(R, N, o.ONE);
}
static fromBytes(T) {
let R = k.fromAffine(m(zn(T, void 0, "point")));
return (R.assertValidity(), R);
}
static fromHex(T) {
return k.fromBytes(it("pointHex", T));
}
get x() {
return this.toAffine().x;
}
get y() {
return this.toAffine().y;
}
precompute(T = 8, R = !0) {
return (D.createCache(this, T), R || this.multiply(wi), this);
}
assertValidity() {
J(this);
}
hasEvenY() {
let { y: T } = this.toAffine();
if (!o.isOdd) throw new Error("Field doesn't support isOdd");
return !o.isOdd(T);
}
equals(T) {
I(T);
let { X: R, Y: N, Z: F } = this,
{ X: H, Y: q, Z: ne } = T,
ee = o.eql(o.mul(R, ne), o.mul(H, F)),
Q = o.eql(o.mul(N, ne), o.mul(q, F));
return ee && Q;
}
negate() {
return new k(this.X, o.neg(this.Y), this.Z);
}
double() {
let { a: T, b: R } = a,
N = o.mul(R, wi),
{ X: F, Y: H, Z: q } = this,
ne = o.ZERO,
ee = o.ZERO,
Q = o.ZERO,
L = o.mul(F, F),
W = o.mul(H, H),
Y = o.mul(q, q),
j = o.mul(F, H);
return (
(j = o.add(j, j)),
(Q = o.mul(F, q)),
(Q = o.add(Q, Q)),
(ne = o.mul(T, Q)),
(ee = o.mul(N, Y)),
(ee = o.add(ne, ee)),
(ne = o.sub(W, ee)),
(ee = o.add(W, ee)),
(ee = o.mul(ne, ee)),
(ne = o.mul(j, ne)),
(Q = o.mul(N, Q)),
(Y = o.mul(T, Y)),
(j = o.sub(L, Y)),
(j = o.mul(T, j)),
(j = o.add(j, Q)),
(Q = o.add(L, L)),
(L = o.add(Q, L)),
(L = o.add(L, Y)),
(L = o.mul(L, j)),
(ee = o.add(ee, L)),
(Y = o.mul(H, q)),
(Y = o.add(Y, Y)),
(L = o.mul(Y, j)),
(ne = o.sub(ne, L)),
(Q = o.mul(Y, W)),
(Q = o.add(Q, Q)),
(Q = o.add(Q, Q)),
new k(ne, ee, Q)
);
}
add(T) {
I(T);
let { X: R, Y: N, Z: F } = this,
{ X: H, Y: q, Z: ne } = T,
ee = o.ZERO,
Q = o.ZERO,
L = o.ZERO,
W = a.a,
Y = o.mul(a.b, wi),
j = o.mul(R, H),
X = o.mul(N, q),
z = o.mul(F, ne),
te = o.add(R, N),
oe = o.add(H, q);
((te = o.mul(te, oe)),
(oe = o.add(j, X)),
(te = o.sub(te, oe)),
(oe = o.add(R, F)));
let ie = o.add(H, ne);
return (
(oe = o.mul(oe, ie)),
(ie = o.add(j, z)),
(oe = o.sub(oe, ie)),
(ie = o.add(N, F)),
(ee = o.add(q, ne)),
(ie = o.mul(ie, ee)),
(ee = o.add(X, z)),
(ie = o.sub(ie, ee)),
(L = o.mul(W, oe)),
(ee = o.mul(Y, z)),
(L = o.add(ee, L)),
(ee = o.sub(X, L)),
(L = o.add(X, L)),
(Q = o.mul(ee, L)),
(X = o.add(j, j)),
(X = o.add(X, j)),
(z = o.mul(W, z)),
(oe = o.mul(Y, oe)),
(X = o.add(X, z)),
(z = o.sub(j, z)),
(z = o.mul(W, z)),
(oe = o.add(oe, z)),
(j = o.mul(X, oe)),
(Q = o.add(Q, j)),
(j = o.mul(ie, oe)),
(ee = o.mul(te, ee)),
(ee = o.sub(ee, j)),
(j = o.mul(te, X)),
(L = o.mul(ie, L)),
(L = o.add(L, j)),
new k(ee, Q, L)
);
}
subtract(T) {
return this.add(T.negate());
}
is0() {
return this.equals(k.ZERO);
}
multiply(T) {
let { endo: R } = t;
if (!n.isValidNot0(T))
throw new Error("invalid scalar: out of range");
let N,
F,
H = (q) => D.cached(this, q, (ne) => rp(k, ne));
if (R) {
let { k1neg: q, k1: ne, k2neg: ee, k2: Q } = E(T),
{ p: L, f: W } = H(ne),
{ p: Y, f: j } = H(Q);
((F = W.add(j)), (N = P(R.beta, L, Y, q, ee)));
} else {
let { p: q, f: ne } = H(T);
((N = q), (F = ne));
}
return rp(k, [N, F])[0];
}
multiplyUnsafe(T) {
let { endo: R } = t,
N = this;
if (!n.isValid(T)) throw new Error("invalid scalar: out of range");
if (T === no || N.is0()) return k.ZERO;
if (T === Mt) return N;
if (D.hasCache(this)) return this.multiply(T);
if (R) {
let { k1neg: F, k1: H, k2neg: q, k2: ne } = E(T),
{ p1: ee, p2: Q } = ZP(k, N, H, ne);
return P(R.beta, ee, Q, F, q);
} else return D.unsafe(N, T);
}
multiplyAndAddUnsafe(T, R, N) {
let F = this.multiplyUnsafe(R).add(T.multiplyUnsafe(N));
return F.is0() ? void 0 : F;
}
toAffine(T) {
return K(this, T);
}
isTorsionFree() {
let { isTorsionFree: T } = t;
return i === Mt ? !0 : T ? T(k, this) : D.unsafe(this, c).is0();
}
clearCofactor() {
let { clearCofactor: T } = t;
return i === Mt ? this : T ? T(k, this) : this.multiplyUnsafe(i);
}
isSmallOrder() {
return this.multiplyUnsafe(i).is0();
}
toBytes(T = !0) {
return (Gc(T, "isCompressed"), this.assertValidity(), b(k, this, T));
}
toHex(T = !0) {
return gn(this.toBytes(T));
}
toString() {
return `<Point ${this.is0() ? "ZERO" : this.toHex()}>`;
}
get px() {
return this.X;
}
get py() {
return this.X;
}
get pz() {
return this.Z;
}
toRawBytes(T = !0) {
return this.toBytes(T);
}
_setWindowSize(T) {
this.precompute(T);
}
static normalizeZ(T) {
return rp(k, T);
}
static msm(T, R) {
return XP(k, n, T, R);
}
static fromPrivateKey(T) {
return k.BASE.multiply(ns(n, T));
}
}
((k.BASE = new k(a.Gx, a.Gy, o.ONE)),
(k.ZERO = new k(o.ZERO, o.ONE, o.ZERO)),
(k.Fp = o),
(k.Fn = n));
let U = n.BITS,
D = new tp(k, t.endo ? Math.ceil(U / 2) : U);
return (k.BASE.precompute(8), k);
}
function ok(e) {
return Uint8Array.of(e ? 2 : 3);
}
function n$(e, t) {
let r = e.ORDER,
o = no;
for (let m = r - Mt; m % Ko === no; m /= Ko) o += Mt;
let n = o,
a = Ko << (n - Mt - Mt),
i = a * Ko,
c = (r - Mt) / i,
d = (c - Mt) / Ko,
l = i - Mt,
u = a,
p = e.pow(t, c),
y = e.pow(t, (c + Mt) / Ko),
b = (m, v) => {
let h = p,
g = e.pow(v, l),
S = e.sqr(g);
S = e.mul(S, v);
let w = e.mul(m, S);
((w = e.pow(w, d)),
(w = e.mul(w, g)),
(g = e.mul(w, v)),
(S = e.mul(w, m)));
let I = e.mul(S, g);
w = e.pow(I, u);
let E = e.eql(w, e.ONE);
((g = e.mul(S, y)),
(w = e.mul(I, h)),
(S = e.cmov(g, S, E)),
(I = e.cmov(w, I, E)));
for (let K = n; K > Mt; K--) {
let J = K - Ko;
J = Ko << (J - Mt);
let P = e.pow(I, J),
k = e.eql(P, e.ONE);
((g = e.mul(S, h)),
(h = e.mul(h, h)),
(P = e.mul(I, h)),
(S = e.cmov(g, S, k)),
(I = e.cmov(P, I, k)));
}
return { isValid: E, value: S };
};
if (e.ORDER % rh === wi) {
let m = (e.ORDER - wi) / rh,
v = e.sqrt(e.neg(t));
b = (h, g) => {
let S = e.sqr(g),
w = e.mul(h, g);
S = e.mul(S, w);
let I = e.pow(S, m);
I = e.mul(I, w);
let E = e.mul(I, v),
K = e.mul(e.sqr(I), g),
J = e.eql(K, h),
P = e.cmov(E, I, J);
return { isValid: J, value: P };
};
}
return b;
}
function nk(e, t) {
Zu(e);
let { A: r, B: o, Z: n } = t;
if (!e.isValid(r) || !e.isValid(o) || !e.isValid(n))
throw new Error("mapToCurveSimpleSWU: invalid opts");
let a = n$(e, n);
if (!e.isOdd) throw new Error("Field does not have .isOdd()");
return (i) => {
let c, d, l, u, p, y, b, m;
((c = e.sqr(i)),
(c = e.mul(c, n)),
(d = e.sqr(c)),
(d = e.add(d, c)),
(l = e.add(d, e.ONE)),
(l = e.mul(l, o)),
(u = e.cmov(n, e.neg(d), !e.eql(d, e.ZERO))),
(u = e.mul(u, r)),
(d = e.sqr(l)),
(y = e.sqr(u)),
(p = e.mul(y, r)),
(d = e.add(d, p)),
(d = e.mul(d, l)),
(y = e.mul(y, u)),
(p = e.mul(y, o)),
(d = e.add(d, p)),
(b = e.mul(c, l)));
let { isValid: v, value: h } = a(d, y);
((m = e.mul(c, i)),
(m = e.mul(m, h)),
(b = e.cmov(b, l, v)),
(m = e.cmov(m, h, v)));
let g = e.isOdd(i) === e.isOdd(m);
m = e.cmov(e.neg(m), m, g);
let S = ba(e, [u], !0)[0];
return ((b = e.mul(b, S)), { x: b, y: m });
};
}
function sk(e, t) {
return {
secretKey: t.BYTES,
publicKey: 1 + e.BYTES,
publicKeyUncompressed: 1 + 2 * e.BYTES,
publicKeyHasPrefix: !0,
signature: 2 * t.BYTES,
};
}
function s$(e, t = {}) {
let { Fn: r } = e,
o = t.randomBytes || ya,
n = Object.assign(sk(e.Fp, r), { seed: Qg(r.ORDER) });
function a(b) {
try {
return !!ns(r, b);
} catch {
return !1;
}
}
function i(b, m) {
let { publicKey: v, publicKeyUncompressed: h } = n;
try {
let g = b.length;
return (m === !0 && g !== v) || (m === !1 && g !== h)
? !1
: !!e.fromBytes(b);
} catch {
return !1;
}
}
function c(b = o(n.seed)) {
return ep(zn(b, n.seed, "seed"), r.ORDER);
}
function d(b, m = !0) {
return e.BASE.multiply(ns(r, b)).toBytes(m);
}
function l(b) {
let m = c(b);
return { secretKey: m, publicKey: d(m) };
}
function u(b) {
if (typeof b == "bigint") return !1;
if (b instanceof e) return !0;
let { secretKey: m, publicKey: v, publicKeyUncompressed: h } = n;
if (r.allowedLengths || m === v) return;
let g = it("key", b).length;
return g === v || g === h;
}
function p(b, m, v = !0) {
if (u(b) === !0) throw new Error("first arg must be private key");
if (u(m) === !1) throw new Error("second arg must be public key");
let h = ns(r, b);
return e.fromHex(m).multiply(h).toBytes(v);
}
return Object.freeze({
getPublicKey: d,
getSharedSecret: p,
keygen: l,
Point: e,
utils: {
isValidSecretKey: a,
isValidPublicKey: i,
randomSecretKey: c,
isValidPrivateKey: a,
randomPrivateKey: c,
normPrivateKeyToScalar: (b) => ns(r, b),
precompute(b = 8, m = e.BASE) {
return m.precompute(b, !1);
},
},
lengths: n,
});
}
function a$(e, t, r = {}) {
(Ku(t),
ga(
r,
{},
{
hmac: "function",
lowS: "boolean",
randomBytes: "function",
bits2int: "function",
bits2int_modN: "function",
},
));
let o = r.randomBytes || ya,
n = r.hmac || ((R, ...N) => jg(t, R, ut(...N))),
{ Fp: a, Fn: i } = e,
{ ORDER: c, BITS: d } = i,
{
keygen: l,
getPublicKey: u,
getSharedSecret: p,
utils: y,
lengths: b,
} = s$(e, r),
m = {
prehash: !1,
lowS: typeof r.lowS == "boolean" ? r.lowS : !1,
format: void 0,
extraEntropy: !1,
},
v = "compact";
function h(R) {
let N = c >> Mt;
return R > N;
}
function g(R, N) {
if (!i.isValidNot0(N))
throw new Error(
`invalid signature ${R}: out of range 1..Point.Fn.ORDER`,
);
return N;
}
function S(R, N) {
eh(N);
let F = b.signature,
H = N === "compact" ? F : N === "recovered" ? F + 1 : void 0;
return zn(R, H, `${N} signature`);
}
class w {
constructor(N, F, H) {
((this.r = g("r", N)),
(this.s = g("s", F)),
H != null && (this.recovery = H),
Object.freeze(this));
}
static fromBytes(N, F = v) {
S(N, F);
let H;
if (F === "der") {
let { r: Q, s: L } = xn.toSig(zn(N));
return new w(Q, L);
}
F === "recovered" &&
((H = N[0]), (F = "compact"), (N = N.subarray(1)));
let q = i.BYTES,
ne = N.subarray(0, q),
ee = N.subarray(q, q * 2);
return new w(i.fromBytes(ne), i.fromBytes(ee), H);
}
static fromHex(N, F) {
return this.fromBytes(fa(N), F);
}
addRecoveryBit(N) {
return new w(this.r, this.s, N);
}
recoverPublicKey(N) {
let F = a.ORDER,
{ r: H, s: q, recovery: ne } = this;
if (ne == null || ![0, 1, 2, 3].includes(ne))
throw new Error("recovery id invalid");
if (c * Ko < F && ne > 1)
throw new Error("recovery id is ambiguous for h>1 curve");
let Q = ne === 2 || ne === 3 ? H + c : H;
if (!a.isValid(Q)) throw new Error("recovery id 2 or 3 invalid");
let L = a.toBytes(Q),
W = e.fromBytes(ut(ok((ne & 1) === 0), L)),
Y = i.inv(Q),
j = E(it("msgHash", N)),
X = i.create(-j * Y),
z = i.create(q * Y),
te = e.BASE.multiplyUnsafe(X).add(W.multiplyUnsafe(z));
if (te.is0()) throw new Error("point at infinify");
return (te.assertValidity(), te);
}
hasHighS() {
return h(this.s);
}
toBytes(N = v) {
if ((eh(N), N === "der")) return fa(xn.hexFromSig(this));
let F = i.toBytes(this.r),
H = i.toBytes(this.s);
if (N === "recovered") {
if (this.recovery == null)
throw new Error("recovery bit must be present");
return ut(Uint8Array.of(this.recovery), F, H);
}
return ut(F, H);
}
toHex(N) {
return gn(this.toBytes(N));
}
assertValidity() {}
static fromCompact(N) {
return w.fromBytes(it("sig", N), "compact");
}
static fromDER(N) {
return w.fromBytes(it("sig", N), "der");
}
normalizeS() {
return this.hasHighS()
? new w(this.r, i.neg(this.s), this.recovery)
: this;
}
toDERRawBytes() {
return this.toBytes("der");
}
toDERHex() {
return gn(this.toBytes("der"));
}
toCompactRawBytes() {
return this.toBytes("compact");
}
toCompactHex() {
return gn(this.toBytes("compact"));
}
}
let I =
r.bits2int ||
function (N) {
if (N.length > 8192) throw new Error("input is too large");
let F = eo(N),
H = N.length * 8 - d;
return H > 0 ? F >> BigInt(H) : F;
},
E =
r.bits2int_modN ||
function (N) {
return i.create(I(N));
},
K = Yn(d);
function J(R) {
return (F1("num < 2^" + d, R, no, K), i.toBytes(R));
}
function P(R, N) {
return (
zn(R, void 0, "message"),
N ? zn(t(R), void 0, "prehashed message") : R
);
}
function k(R, N, F) {
if (["recovered", "canonical"].some((X) => X in F))
throw new Error("sign() legacy options not supported");
let { lowS: H, prehash: q, extraEntropy: ne } = Xg(F, m);
R = P(R, q);
let ee = E(R),
Q = ns(i, N),
L = [J(Q), J(ee)];
if (ne != null && ne !== !1) {
let X = ne === !0 ? o(b.secretKey) : ne;
L.push(it("extraEntropy", X));
}
let W = ut(...L),
Y = ee;
function j(X) {
let z = I(X);
if (!i.isValidNot0(z)) return;
let te = i.inv(z),
oe = e.BASE.multiply(z).toAffine(),
ie = i.create(oe.x);
if (ie === no) return;
let ue = i.create(te * i.create(Y + ie * Q));
if (ue === no) return;
let ge = (oe.x === ie ? 0 : 2) | Number(oe.y & Mt),
Fe = ue;
return (
H && h(ue) && ((Fe = i.neg(ue)), (ge ^= 1)),
new w(ie, Fe, ge)
);
}
return { seed: W, k2sig: j };
}
function U(R, N, F = {}) {
R = it("message", R);
let { seed: H, k2sig: q } = k(R, N, F);
return K1(t.outputLen, i.BYTES, n)(H, q);
}
function D(R) {
let N,
F = typeof R == "string" || yn(R),
H =
!F &&
R !== null &&
typeof R == "object" &&
typeof R.r == "bigint" &&
typeof R.s == "bigint";
if (!F && !H)
throw new Error(
"invalid signature, expected Uint8Array, hex string or Signature instance",
);
if (H) N = new w(R.r, R.s);
else if (F) {
try {
N = w.fromBytes(it("sig", R), "der");
} catch (q) {
if (!(q instanceof xn.Err)) throw q;
}
if (!N)
try {
N = w.fromBytes(it("sig", R), "compact");
} catch {
return !1;
}
}
return N || !1;
}
function _(R, N, F, H = {}) {
let { lowS: q, prehash: ne, format: ee } = Xg(H, m);
if (
((F = it("publicKey", F)),
(N = P(it("message", N), ne)),
"strict" in H)
)
throw new Error("options.strict was renamed to lowS");
let Q = ee === void 0 ? D(R) : w.fromBytes(it("sig", R), ee);
if (Q === !1) return !1;
try {
let L = e.fromBytes(F);
if (q && Q.hasHighS()) return !1;
let { r: W, s: Y } = Q,
j = E(N),
X = i.inv(Y),
z = i.create(j * X),
te = i.create(W * X),
oe = e.BASE.multiplyUnsafe(z).add(L.multiplyUnsafe(te));
return oe.is0() ? !1 : i.create(oe.x) === W;
} catch {
return !1;
}
}
function T(R, N, F = {}) {
let { prehash: H } = Xg(F, m);
return (
(N = P(N, H)),
w.fromBytes(R, "recovered").recoverPublicKey(N).toBytes()
);
}
return Object.freeze({
keygen: l,
getPublicKey: u,
getSharedSecret: p,
utils: y,
lengths: b,
Point: e,
sign: U,
verify: _,
recoverPublicKey: T,
Signature: w,
hash: t,
});
}
function i$(e) {
let t = {
a: e.a,
b: e.b,
p: e.Fp.ORDER,
n: e.n,
h: e.h,
Gx: e.Gx,
Gy: e.Gy,
},
r = e.Fp,
o = e.allowedPrivateKeyLengths
? Array.from(
new Set(e.allowedPrivateKeyLengths.map((i) => Math.ceil(i / 2))),
)
: void 0,
n = os(t.n, {
BITS: e.nBitLength,
allowedLengths: o,
modFromBytes: e.wrapPrivateKey,
}),
a = {
Fp: r,
Fn: n,
allowInfinityPoint: e.allowInfinityPoint,
endo: e.endo,
isTorsionFree: e.isTorsionFree,
clearCofactor: e.clearCofactor,
fromBytes: e.fromBytes,
toBytes: e.toBytes,
};
return { CURVE: t, curveOpts: a };
}
function c$(e) {
let { CURVE: t, curveOpts: r } = i$(e),
o = {
hmac: e.hmac,
randomBytes: e.randomBytes,
lowS: e.lowS,
bits2int: e.bits2int,
bits2int_modN: e.bits2int_modN,
};
return { CURVE: t, curveOpts: r, hash: e.hash, ecdsaOpts: o };
}
function d$(e, t) {
let r = t.Point;
return Object.assign({}, t, {
ProjectivePoint: r,
CURVE: Object.assign({}, e, Xu(r.Fn.ORDER, r.Fn.BITS)),
});
}
function ak(e) {
let { CURVE: t, curveOpts: r, hash: o, ecdsaOpts: n } = c$(e),
a = o$(t, r),
i = a$(a, o, n);
return d$(e, i);
}
var rk,
th,
xn,
no,
Mt,
Ko,
wi,
rh,
oh = St(() => {
MP();
Qn();
hi();
tk();
rd();
rk = (e, t) => (e + (e >= 0 ? t : -t) / Ko) / t;
((th = class extends Error {
constructor(t = "") {
super(t);
}
}),
(xn = {
Err: th,
_tlv: {
encode: (e, t) => {
let { Err: r } = xn;
if (e < 0 || e > 256) throw new r("tlv.encode: wrong tag");
if (t.length & 1) throw new r("tlv.encode: unpadded data");
let o = t.length / 2,
n = Qc(o);
if ((n.length / 2) & 128)
throw new r("tlv.encode: long form length too big");
let a = o > 127 ? Qc((n.length / 2) | 128) : "";
return Qc(e) + a + n + t;
},
decode(e, t) {
let { Err: r } = xn,
o = 0;
if (e < 0 || e > 256) throw new r("tlv.encode: wrong tag");
if (t.length < 2 || t[o++] !== e)
throw new r("tlv.decode: wrong tlv");
let n = t[o++],
a = !!(n & 128),
i = 0;
if (!a) i = n;
else {
let d = n & 127;
if (!d)
throw new r(
"tlv.decode(long): indefinite length not supported",
);
if (d > 4)
throw new r("tlv.decode(long): byte length is too big");
let l = t.subarray(o, o + d);
if (l.length !== d)
throw new r("tlv.decode: length bytes not complete");
if (l[0] === 0)
throw new r("tlv.decode(long): zero leftmost byte");
for (let u of l) i = (i << 8) | u;
if (((o += d), i < 128))
throw new r("tlv.decode(long): not minimal encoding");
}
let c = t.subarray(o, o + i);
if (c.length !== i)
throw new r("tlv.decode: wrong value length");
return { v: c, l: t.subarray(o + i) };
},
},
_int: {
encode(e) {
let { Err: t } = xn;
if (e < no)
throw new t("integer: negative integers are not allowed");
let r = Qc(e);
if (
(Number.parseInt(r[0], 16) & 8 && (r = "00" + r),
r.length & 1)
)
throw new t("unexpected DER parsing assertion: unpadded hex");
return r;
},
decode(e) {
let { Err: t } = xn;
if (e[0] & 128)
throw new t("invalid signature integer: negative");
if (e[0] === 0 && !(e[1] & 128))
throw new t(
"invalid signature integer: unnecessary leading zero",
);
return eo(e);
},
},
toSig(e) {
let { Err: t, _int: r, _tlv: o } = xn,
n = it("signature", e),
{ v: a, l: i } = o.decode(48, n);
if (i.length)
throw new t("invalid signature: left bytes after parsing");
let { v: c, l: d } = o.decode(2, a),
{ v: l, l: u } = o.decode(2, d);
if (u.length)
throw new t("invalid signature: left bytes after parsing");
return { r: r.decode(c), s: r.decode(l) };
},
hexFromSig(e) {
let { _tlv: t, _int: r } = xn,
o = t.encode(2, r.encode(e.r)),
n = t.encode(2, r.encode(e.s)),
a = o + n;
return t.encode(48, a);
},
}),
(no = BigInt(0)),
(Mt = BigInt(1)),
(Ko = BigInt(2)),
(wi = BigInt(3)),
(rh = BigInt(4)));
});
function ik(e, t) {
let r = (o) => ak({ ...e, hash: o });
return { ...r(t), create: r };
}
var ck = St(() => {
oh();
});
function ss(e, t) {
if ((nd(e), nd(t), e < 0 || e >= 1 << (8 * t)))
throw new Error("invalid I2OSP input: " + e);
let r = Array.from({ length: t }).fill(0);
for (let o = t - 1; o >= 0; o--) ((r[o] = e & 255), (e >>>= 8));
return new Uint8Array(r);
}
function u$(e, t) {
let r = new Uint8Array(e.length);
for (let o = 0; o < e.length; o++) r[o] = e[o] ^ t[o];
return r;
}
function nd(e) {
if (!Number.isSafeInteger(e)) throw new Error("number expected");
}
function dk(e) {
if (!yn(e) && typeof e != "string")
throw new Error("DST must be Uint8Array or string");
return typeof e == "string" ? hn(e) : e;
}
function p$(e, t, r, o) {
(Wt(e),
nd(r),
(t = dk(t)),
t.length > 255 && (t = o(ut(hn("H2C-OVERSIZE-DST-"), t))));
let { outputLen: n, blockLen: a } = o,
i = Math.ceil(r / n);
if (r > 65535 || i > 255)
throw new Error("expand_message_xmd: invalid lenInBytes");
let c = ut(t, ss(t.length, 1)),
d = ss(0, a),
l = ss(r, 2),
u = new Array(i),
p = o(ut(d, e, l, ss(0, 1), c));
u[0] = o(ut(p, ss(1, 1), c));
for (let b = 1; b <= i; b++) {
let m = [u$(p, u[b - 1]), ss(b + 1, 1), c];
u[b] = o(ut(...m));
}
return ut(...u).slice(0, r);
}
function m$(e, t, r, o, n) {
if ((Wt(e), nd(r), (t = dk(t)), t.length > 255)) {
let a = Math.ceil((2 * o) / 8);
t = n
.create({ dkLen: a })
.update(hn("H2C-OVERSIZE-DST-"))
.update(t)
.digest();
}
if (r > 65535 || t.length > 255)
throw new Error("expand_message_xof: invalid lenInBytes");
return n
.create({ dkLen: r })
.update(e)
.update(ss(r, 2))
.update(t)
.update(ss(t.length, 1))
.digest();
}
function nh(e, t, r) {
ga(r, { p: "bigint", m: "number", k: "number", hash: "function" });
let { p: o, k: n, m: a, hash: i, expand: c, DST: d } = r;
if (!J1(r.hash)) throw new Error("expected valid hash");
(Wt(e), nd(t));
let l = o.toString(2).length,
u = Math.ceil((l + n) / 8),
p = t * a * u,
y;
if (c === "xmd") y = p$(e, d, p, i);
else if (c === "xof") y = m$(e, d, p, n, i);
else if (c === "_internal_pass") y = e;
else throw new Error('expand must be "xmd" or "xof"');
let b = new Array(t);
for (let m = 0; m < t; m++) {
let v = new Array(a);
for (let h = 0; h < a; h++) {
let g = u * (h + m * a),
S = y.subarray(g, g + u);
v[h] = Lt(l$(S), o);
}
b[m] = v;
}
return b;
}
function lk(e, t) {
let r = t.map((o) => Array.from(o).reverse());
return (o, n) => {
let [a, i, c, d] = r.map((p) =>
p.reduce((y, b) => e.add(e.mul(y, o), b)),
),
[l, u] = ba(e, [i, d], !0);
return ((o = e.mul(a, l)), (n = e.mul(n, e.mul(c, u))), { x: o, y: n });
};
}
function uk(e, t, r) {
if (typeof t != "function")
throw new Error("mapToCurve() must be defined");
function o(a) {
return e.fromAffine(t(a));
}
function n(a) {
let i = a.clearCofactor();
return i.equals(e.ZERO) ? e.ZERO : (i.assertValidity(), i);
}
return {
defaults: r,
hashToCurve(a, i) {
let c = Object.assign({}, r, i),
d = nh(a, 2, c),
l = o(d[0]),
u = o(d[1]);
return n(l.add(u));
},
encodeToCurve(a, i) {
let c = r.encodeDST ? { DST: r.encodeDST } : {},
d = Object.assign({}, r, c, i),
l = nh(a, 1, d),
u = o(l[0]);
return n(u);
},
mapToCurve(a) {
if (!Array.isArray(a)) throw new Error("expected array of bigints");
for (let i of a)
if (typeof i != "bigint")
throw new Error("expected array of bigints");
return n(o(a));
},
hashToScalar(a, i) {
let c = e.Fn.ORDER,
d = Object.assign({}, r, { p: c, m: 1, DST: f$ }, i);
return nh(a, 1, d)[0][0];
},
};
}
var l$,
f$,
pk = St(() => {
hi();
rd();
l$ = eo;
f$ = hn("HashToScalar-");
});
var vk = {};
T0(vk, {
encodeToCurve: () => w$,
hashToCurve: () => A$,
schnorr: () => v$,
secp256k1: () => np,
secp256k1_hasher: () => dh,
});
function h$(e) {
let t = Pi.p,
r = BigInt(3),
o = BigInt(6),
n = BigInt(11),
a = BigInt(22),
i = BigInt(23),
c = BigInt(44),
d = BigInt(88),
l = (e * e * e) % t,
u = (l * l * e) % t,
p = (pr(u, r, t) * u) % t,
y = (pr(p, r, t) * u) % t,
b = (pr(y, sh, t) * l) % t,
m = (pr(b, n, t) * b) % t,
v = (pr(m, a, t) * m) % t,
h = (pr(v, c, t) * v) % t,
g = (pr(h, d, t) * h) % t,
S = (pr(g, c, t) * v) % t,
w = (pr(S, r, t) * u) % t,
I = (pr(w, i, t) * m) % t,
E = (pr(I, o, t) * l) % t,
K = pr(E, sh, t);
if (!An.eql(An.sqr(K), e)) throw new Error("Cannot find square root");
return K;
}
function op(e, ...t) {
let r = fk[e];
if (r === void 0) {
let o = td(hn(e));
((r = ut(o, o)), (fk[e] = r));
}
return td(ut(r, ...t));
}
function ah(e) {
let { Fn: t, BASE: r } = ki,
o = ns(t, e),
n = r.multiply(o);
return { scalar: ch(n.y) ? o : t.neg(o), bytes: ih(n) };
}
function gk(e) {
let t = An;
if (!t.isValidNot0(e)) throw new Error("invalid x: Fail if x \u2265 p");
let r = t.create(e * e),
o = t.create(r * e + BigInt(7)),
n = t.sqrt(o);
ch(n) || (n = t.neg(n));
let a = ki.fromAffine({ x: e, y: n });
return (a.assertValidity(), a);
}
function hk(...e) {
return ki.Fn.create(sd(op("BIP0340/challenge", ...e)));
}
function yk(e) {
return ah(e).bytes;
}
function b$(e, t, r = ya(32)) {
let { Fn: o } = ki,
n = it("message", e),
{ bytes: a, scalar: i } = ah(t),
c = it("auxRand", r, 32),
d = o.toBytes(i ^ sd(op("BIP0340/aux", c))),
l = op("BIP0340/nonce", d, a, n),
{ bytes: u, scalar: p } = ah(l),
y = hk(u, a, n),
b = new Uint8Array(64);
if (
(b.set(u, 0), b.set(o.toBytes(o.create(p + y * i)), 32), !bk(b, n, a))
)
throw new Error("sign: Invalid signature produced");
return b;
}
function bk(e, t, r) {
let { Fn: o, BASE: n } = ki,
a = it("signature", e, 64),
i = it("message", t),
c = it("publicKey", r, 32);
try {
let d = gk(sd(c)),
l = sd(a.subarray(0, 32));
if (!zc(l, mk, Pi.p)) return !1;
let u = sd(a.subarray(32, 64));
if (!zc(u, mk, Pi.n)) return !1;
let p = hk(o.toBytes(l), ih(d), i),
y = n.multiplyUnsafe(u).add(d.multiplyUnsafe(o.neg(p))),
{ x: b, y: m } = y.toAffine();
return !(y.is0() || !ch(m) || b !== l);
} catch {
return !1;
}
}
var Pi,
y$,
g$,
mk,
sh,
An,
np,
fk,
ih,
ki,
ch,
sd,
v$,
S$,
x$,
dh,
A$,
w$,
Sk = St(() => {
BP();
Qn();
ck();
pk();
rd();
oh();
hi();
((Pi = {
p: BigInt(
"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
),
n: BigInt(
"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
),
h: BigInt(1),
a: BigInt(0),
b: BigInt(7),
Gx: BigInt(
"0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
),
Gy: BigInt(
"0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
),
}),
(y$ = {
beta: BigInt(
"0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",
),
basises: [
[
BigInt("0x3086d221a7d46bcde86c90e49284eb15"),
-BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),
],
[
BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),
BigInt("0x3086d221a7d46bcde86c90e49284eb15"),
],
],
}),
(g$ = BigInt(0)),
(mk = BigInt(1)),
(sh = BigInt(2)));
((An = os(Pi.p, { sqrt: h$ })),
(np = ik({ ...Pi, Fp: An, lowS: !0, endo: y$ }, td)),
(fk = {}));
((ih = (e) => e.toBytes(!0).slice(1)),
(ki = np.Point),
(ch = (e) => e % sh === g$));
sd = eo;
((v$ = (() => {
let r = (n = ya(48)) => ep(n, Pi.n);
np.utils.randomSecretKey;
function o(n) {
let a = r(n);
return { secretKey: a, publicKey: yk(a) };
}
return {
keygen: o,
getPublicKey: yk,
sign: b$,
verify: bk,
Point: ki,
utils: {
randomSecretKey: r,
randomPrivateKey: r,
taggedHash: op,
lift_x: gk,
pointToBytes: ih,
numberToBytesBE: gi,
bytesToNumberBE: eo,
mod: Lt,
},
lengths: {
secretKey: 32,
publicKey: 32,
publicKeyHasPrefix: !1,
signature: 64,
seed: 48,
},
};
})()),
(S$ = lk(
An,
[
[
"0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7",
"0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581",
"0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262",
"0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c",
],
[
"0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b",
"0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14",
"0x0000000000000000000000000000000000000000000000000000000000000001",
],
[
"0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c",
"0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3",
"0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931",
"0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84",
],
[
"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b",
"0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573",
"0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f",
"0x0000000000000000000000000000000000000000000000000000000000000001",
],
].map((e) => e.map((t) => BigInt(t))),
)),
(x$ = nk(An, {
A: BigInt(
"0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533",
),
B: BigInt("1771"),
Z: An.create(BigInt("-11")),
})),
(dh = uk(
np.Point,
(e) => {
let { x: t, y: r } = x$(An.create(e[0]));
return S$(t, r);
},
{
DST: "secp256k1_XMD:SHA-256_SSWU_RO_",
encodeDST: "secp256k1_XMD:SHA-256_SSWU_NU_",
p: An.ORDER,
m: 1,
k: 128,
expand: "xmd",
hash: td,
},
)),
(A$ = dh.hashToCurve),
(w$ = dh.encodeToCurve));
});
var cp = St(() => {
"use strict";
});
var b2 = lo((Ri) => {
"use strict";
Object.defineProperty(Ri, "__esModule", { value: !0 });
Ri.bech32m = Ri.bech32 = void 0;
var hp = "qpzry9x8gf2tvdw0s3jn54khce6mua7l",
g2 = {};
for (let e = 0; e < hp.length; e++) {
let t = hp.charAt(e);
g2[t] = e;
}
function Ci(e) {
let t = e >> 25;
return (
((e & 33554431) << 5) ^
(-((t >> 0) & 1) & 996825010) ^
(-((t >> 1) & 1) & 642813549) ^
(-((t >> 2) & 1) & 513874426) ^
(-((t >> 3) & 1) & 1027748829) ^
(-((t >> 4) & 1) & 705979059)
);
}
function y2(e) {
let t = 1;
for (let r = 0; r < e.length; ++r) {
let o = e.charCodeAt(r);
if (o < 33 || o > 126) return "Invalid prefix (" + e + ")";
t = Ci(t) ^ (o >> 5);
}
t = Ci(t);
for (let r = 0; r < e.length; ++r) {
let o = e.charCodeAt(r);
t = Ci(t) ^ (o & 31);
}
return t;
}
function $h(e, t, r, o) {
let n = 0,
a = 0,
i = (1 << r) - 1,
c = [];
for (let d = 0; d < e.length; ++d)
for (n = (n << t) | e[d], a += t; a >= r; )
((a -= r), c.push((n >> a) & i));
if (o) a > 0 && c.push((n << (r - a)) & i);
else {
if (a >= t) return "Excess padding";
if ((n << (r - a)) & i) return "Non-zero padding";
}
return c;
}
function h8(e) {
return $h(e, 8, 5, !0);
}
function b8(e) {
let t = $h(e, 5, 8, !1);
if (Array.isArray(t)) return t;
}
function v8(e) {
let t = $h(e, 5, 8, !1);
if (Array.isArray(t)) return t;
throw new Error(t);
}
function h2(e) {
let t;
e === "bech32" ? (t = 1) : (t = 734539939);
function r(i, c, d) {
if (((d = d || 90), i.length + 7 + c.length > d))
throw new TypeError("Exceeds length limit");
i = i.toLowerCase();
let l = y2(i);
if (typeof l == "string") throw new Error(l);
let u = i + "1";
for (let p = 0; p < c.length; ++p) {
let y = c[p];
if (y >> 5 !== 0) throw new Error("Non 5-bit word");
((l = Ci(l) ^ y), (u += hp.charAt(y)));
}
for (let p = 0; p < 6; ++p) l = Ci(l);
l ^= t;
for (let p = 0; p < 6; ++p) {
let y = (l >> ((5 - p) * 5)) & 31;
u += hp.charAt(y);
}
return u;
}
function o(i, c) {
if (((c = c || 90), i.length < 8)) return i + " too short";
if (i.length > c) return "Exceeds length limit";
let d = i.toLowerCase(),
l = i.toUpperCase();
if (i !== d && i !== l) return "Mixed-case string " + i;
i = d;
let u = i.lastIndexOf("1");
if (u === -1) return "No separator character for " + i;
if (u === 0) return "Missing prefix for " + i;
let p = i.slice(0, u),
y = i.slice(u + 1);
if (y.length < 6) return "Data too short";
let b = y2(p);
if (typeof b == "string") return b;
let m = [];
for (let v = 0; v < y.length; ++v) {
let h = y.charAt(v),
g = g2[h];
if (g === void 0) return "Unknown character " + h;
((b = Ci(b) ^ g), !(v + 6 >= y.length) && m.push(g));
}
return b !== t
? "Invalid checksum for " + i
: { prefix: p, words: m };
}
function n(i, c) {
let d = o(i, c);
if (typeof d == "object") return d;
}
function a(i, c) {
let d = o(i, c);
if (typeof d == "object") return d;
throw new Error(d);
}
return {
decodeUnsafe: n,
decode: a,
encode: r,
toWords: h8,
fromWordsUnsafe: b8,
fromWords: v8,
};
}
Ri.bech32 = h2("bech32");
Ri.bech32m = h2("bech32m");
});
var kd = globalThis.assert;
if (kd === void 0)
throw Error(
"Cannot initialize @endo/errors, missing globalThis.assert, import 'ses' before '@endo/errors'",
);
var U0 = [
"typeof",
"error",
"fail",
"equal",
"string",
"note",
"details",
"Fail",
"quote",
"makeAssert",
].filter((e) => kd[e] === void 0);
if (U0.length > 0)
throw Error(
`Cannot initialize @endo/errors, missing globalThis.assert methods ${U0.join(", ")}`,
);
var {
bare: YI,
details: V,
error: Se,
Fail: f,
makeAssert: s_,
note: Ze,
quote: x,
...ZI
} = kd,
xe = (e, t, r, o) => kd(e, t, r, o);
Object.assign(xe, ZI);
var tt = YI || x;
var R0 = globalThis,
{
Object: XI,
Reflect: eT,
Array: O0,
String: tT,
JSON: rT,
Error: oT,
} = R0,
{ freeze: ls } = XI,
{ apply: nT } = eT,
Gp =
(e) =>
(t, ...r) =>
nT(e, t, r),
sT = Gp(O0.prototype.push),
C0 = Gp(O0.prototype.includes),
aT = Gp(tT.prototype.split),
ds = rT.stringify,
Id = (e, ...t) => {
let r = e[0];
for (let o = 0; o < t.length; o += 1) r = `${r}${t[o]}${e[o + 1]}`;
throw oT(r);
},
E0 = (e, t = !1) => {
let r = [],
o = (c, d, l = void 0) => {
(typeof c == "string" ||
Id`Environment option name ${ds(c)} must be a string.`,
typeof d == "string" ||
Id`Environment option default setting ${ds(d)} must be a string.`);
let u = d,
p = e.process || void 0,
y = (typeof p == "object" && p.env) || void 0;
if (typeof y == "object" && c in y) {
t || sT(r, c);
let b = y[c];
(typeof b == "string" ||
Id`Environment option named ${ds(c)}, if present, must have a corresponding string value, got ${ds(b)}`,
(u = b));
}
return (
l === void 0 ||
u === d ||
C0(l, u) ||
Id`Unrecognized ${ds(c)} value ${ds(u)}. Expected one of ${ds([d, ...l])}`,
u
);
};
ls(o);
let n = (c) => {
let d = o(c, "");
return ls(d === "" ? [] : aT(d, ","));
};
ls(n);
let a = (c, d) => C0(n(c), d),
i = () => ls([...r]);
return (
ls(i),
ls({
getEnvironmentOption: o,
getEnvironmentOptionsList: n,
environmentOptionsListHas: a,
getCapturedEnvironmentOptionNames: i,
})
);
};
ls(E0);
var {
getEnvironmentOption: hr,
getEnvironmentOptionsList: i_,
environmentOptionsListHas: Pa,
} = E0(R0, !0);
var { quote: Tn, Fail: Td } = assert,
{ hasOwn: iT, freeze: Bi, entries: D0 } = Object,
N0 = (e) => typeof e == "object" && e !== null && !Array.isArray(e),
Qp = (e) => {
for (let t of ["Alleged: ", "DebugName: "])
if (e.startsWith(t)) return e.slice(t.length);
return e;
},
ka = (e) => {
let t = JSON.parse(hr(e, "null"));
if (t === null) return;
let r,
o = () => t;
Bi(o);
let n = (c = t) => {
N0(c) || Td`Expected ${Tn(e)} option to be a JSON breakpoints record`;
let d = { __proto__: null };
for (let [l, u] of D0(c)) {
(l === Qp(l) ||
Td`Just use simple tag ${Tn(Qp(l))} rather than ${Tn(l)}`,
N0(u) ||
Td`Expected ${Tn(e)} option's ${Tn(l)} to be a JSON methods breakpoints record`);
for (let [p, y] of D0(u)) {
y === "*" ||
(typeof y == "number" && Number.isSafeInteger(y) && y >= 0) ||
Td`Expected ${Tn(e)} option's ${Tn(l)}.${Tn(p)} to be "*" or a non-negative integer`;
let b = iT(d, p) ? d[p] : (d[p] = { __proto__: null });
b[l] = y;
}
}
((t = c), (r = d));
};
Bi(n);
let a = (c, d) => {
if (d == null) return !1;
let l = r[d] || r["*"];
if (l === void 0) return !1;
let u = Qp(c[Symbol.toStringTag]),
p = l[u];
return p === void 0 && ((u = "*"), (p = l[u]), p === void 0)
? !1
: p === "*" || p === 0
? !0
: (assert(typeof p == "number" && p >= 1), (l[u] = p - 1), !1);
};
Bi(a);
let i = Bi({
getBreakpoints: o,
setBreakpoints: n,
shouldBreakpoint: a,
});
return (i.setBreakpoints(), i);
};
Bi(ka);
var { details: f_, quote: y_, Fail: g_ } = assert,
{
getOwnPropertyDescriptors: cT,
getPrototypeOf: dT,
freeze: lT,
} = Object,
{ apply: h_, ownKeys: uT } = Reflect;
var b_ = ka("ENDO_DELIVERY_BREAKPOINTS"),
pT = (e) => !e || (typeof e != "object" && typeof e != "function"),
mT = (e, t) => {
if (typeof e == typeof t) {
let r = String(e),
o = String(t);
return r < o ? -1 : r > o ? 1 : 0;
}
return typeof e == "symbol"
? (assert(typeof t == "string"), -1)
: (assert(typeof e == "string"), assert(typeof t == "symbol"), 1);
},
_r = (e) => {
let t = e,
r = new Set();
for (; t !== null && t !== Object.prototype; ) {
let o = cT(t);
for (let n of uT(o)) typeof e[n] == "function" && r.add(n);
if (pT(e)) break;
t = dT(t);
}
return harden([...r].sort(mT));
};
lT(_r);
var { isArray: fT } = Array,
{ prototype: B0 } = Function,
{
getOwnPropertyDescriptor: M0,
getPrototypeOf: zp,
hasOwn: yT,
isFrozen: gT,
prototype: hT,
} = Object,
{ apply: bT } = Reflect,
{ toStringTag: vT } = Symbol,
ST = zp(Uint8Array.prototype),
$0 = M0(ST, vT);
assert($0);
var _0 = $0.get;
assert(typeof _0 == "function");
var Je = (e) => !e || (typeof e != "object" && typeof e != "function");
harden(Je);
var F0 = (e) => !!e && (typeof e == "object" || typeof e == "function");
harden(F0);
var Yp = (e) => bT(_0, e, []) !== void 0;
harden(Yp);
var ct = Symbol.for("passStyle"),
Te = (e, t) => (assert(e, t), !0);
harden(Te);
var ve =
(e) =>
(r, ...o) =>
e(!1, V(r, ...o));
harden(ve);
var uo = (e, t, r, o) => {
let n = M0(e, t);
return (n !== void 0 || (o && ve(o)`${x(t)} property expected: ${e}`)) &&
(yT(n, "value") ||
(o && ve(o)`${x(t)} must not be an accessor property: ${e}`)) &&
(r
? n.enumerable ||
(o && ve(o)`${x(t)} must be an enumerable property: ${e}`)
: !n.enumerable ||
(o && ve(o)`${x(t)} must not be an enumerable property: ${e}`))
? n
: void 0;
};
harden(uo);
var $e = (e) => e[Symbol.toStringTag];
harden($e);
var Ud = (e, t, r, o) =>
t === r || (!!o && ve(o)`Expected ${x(r)}, not ${x(t)}: ${e}`);
harden(Ud);
var K0 = (e) => {
let t = (r, o, n) =>
(!Je(r) ||
(!!n && ve(n)`A non-object cannot be a tagRecord: ${r}`)) &&
(gT(r) || (!!n && ve(n)`A tagRecord must be frozen: ${r}`)) &&
(!fT(r) || (!!n && ve(n)`An array cannot be a tagRecord: ${r}`)) &&
Ud(r, uo(r, ct, !1, n).value, o, n) &&
(typeof uo(r, Symbol.toStringTag, !1, n).value == "string" ||
(!!n &&
ve(
n,
)`A [Symbol.toStringTag]-named property must be a string: ${r}`)) &&
e(r, zp(r), n);
return harden(t);
},
Mi = K0(
(e, t, r) =>
t === hT ||
(!!r &&
r(!1, V`A tagRecord must inherit from Object.prototype: ${e}`)),
);
harden(Mi);
var Zp = K0(
(e, t, r) =>
t === B0 ||
(t !== null && zp(t) === B0) ||
(!!r &&
r(
!1,
V`For functions, a tagRecord must inherit from Function.prototype: ${e}`,
)),
);
harden(Zp);
var Od = (e) => typeof e == "function" && !(ct in e);
harden(Od);
var xT = (e) =>
typeof e == "string" || typeof e == "symbol" || typeof e == "number";
harden(xT);
var Ed = (e) => _r(e);
harden(Ed);
var { ownKeys: Cd } = Reflect,
{ isArray: AT } = Array,
{
getPrototypeOf: J0,
isFrozen: wT,
prototype: V0,
getOwnPropertyDescriptors: W0,
hasOwn: PT,
} = Object,
Rd = (e, t) =>
(typeof e == "string" ||
(!!t &&
ve(t)`For now, interface ${e} must be a string; unimplemented`)) &&
(e === "Remotable" ||
e.startsWith("Alleged: ") ||
e.startsWith("DebugName: ") ||
(!!t &&
ve(
t,
)`For now, iface ${x(e)} must be "Remotable" or begin with "Alleged: " or "DebugName: "; unimplemented`)),
Xp = (e) => Rd(e, Te);
harden(Xp);
var kT = (e, t) => {
!Je(e) || f`Remotables must be objects or functions: ${e}`;
let r = J0(e);
if (r === V0 || r === null || r === Function.prototype)
return !!t && ve(t)`Remotables must be explicitly declared: ${x(e)}`;
if (typeof e == "object") {
let d = J0(r);
if (d !== V0 && d !== null) return em(r, t);
if (!Mi(r, "remotable", t)) return !1;
} else if (typeof e == "function" && !Zp(r, "remotable", t)) return !1;
let o = ct,
n = Symbol.toStringTag,
{
[o]: a,
[n]: { value: i },
...c
} = W0(r);
return (
(Cd(c).length === 0 ||
(!!t &&
ve(t)`Unexpected properties on Remotable Proto ${Cd(c)}`)) &&
Rd(i, t)
);
},
H0 = new WeakSet(),
em = (e, t) => {
if (H0.has(e)) return !0;
if (!wT(e))
return !!t && ve(t)`cannot serialize non-frozen objects like ${e}`;
if (!$i.canBeValid(e, t)) return !1;
let r = kT(e, t);
return (r && H0.add(e), r);
},
po = (e) => {
if (!(Je(e) || e[ct] !== "remotable" || !em(e))) return $e(e);
};
harden(po);
var $i = harden({
styleName: "remotable",
canBeValid: (e, t = void 0) => {
if (
!(
(!Je(e) ||
(!!t && ve(t)`cannot serialize non-objects as Remotable ${e}`)) &&
(!AT(e) ||
(!!t && ve(t)`cannot serialize arrays as Remotable ${e}`))
)
)
return !1;
let o = W0(e);
if (typeof e == "object")
return Cd(o).every(
(n) =>
(PT(o[n], "value") ||
(!!t &&
ve(
t,
)`cannot serialize Remotables with accessors like ${x(String(n))} in ${e}`)) &&
((n === Symbol.toStringTag && Rd(e[n], t)) ||
((Od(e[n]) ||
(!!t &&
ve(
t,
)`cannot serialize Remotables with non-methods like ${x(String(n))} in ${e}`)) &&
(n !== ct ||
(!!t && ve(t)`A pass-by-remote cannot shadow ${x(ct)}`)))),
);
if (typeof e == "function") {
let { name: n, length: a, [Symbol.toStringTag]: i, ...c } = o,
d = Cd(c);
return (
((n && typeof n.value == "string") ||
(!!t && ve(t)`Far function name must be a string, in ${e}`)) &&
((a && typeof a.value == "number") ||
(!!t && ve(t)`Far function length must be a number, in ${e}`)) &&
(i === void 0 ||
((typeof i.value == "string" ||
(!!t &&
ve(
t,
)`Far function @@toStringTag must be a string, in ${e}`)) &&
Rd(i.value, t))) &&
(d.length === 0 ||
(!!t &&
ve(
t,
)`Far functions unexpected properties besides .name and .length ${d}`))
);
}
return !!t && ve(t)`unrecognized typeof ${e}`;
},
assertRestValid: (e) => em(e, Te),
every: (e, t) => !0,
});
var { prototype: L0 } = Function,
{
getPrototypeOf: q0,
setPrototypeOf: IT,
create: TT,
isFrozen: UT,
prototype: j0,
} = Object,
CT = (e, t) => {
let r = q0(e);
return (
typeof e == "object"
? (r === null && (r = j0),
r === j0 ||
f`For now, remotables cannot inherit from anything unusual, in ${e}`)
: typeof e == "function"
? (r !== null ||
f`Original function must not inherit from null: ${e}`,
r === L0 ||
q0(r) === L0 ||
f`Far functions must originally inherit from Function.prototype, in ${e}`)
: f`unrecognized typeof ${e}`,
harden(
TT(r, {
[ct]: { value: "remotable" },
[Symbol.toStringTag]: { value: t },
}),
)
);
},
G0 = (e) => $i.canBeValid(e, Te),
Ia = (e = "Remotable", t = void 0, r = {}) => {
(Xp(e),
assert(e),
t === void 0 || f`Remotable props not yet implemented ${t}`,
G0(r),
!(ct in r) || f`Remotable ${r} is already marked as a ${x(r[ct])}`,
harden.isFake || !UT(r) || f`Remotable ${r} is already frozen`);
let o = CT(r, e),
n = (a) => {
(IT(a, o), harden(a), G0(a));
};
return (n({}), n(r), assert(e !== void 0), r);
};
harden(Ia);
var us = "__getMethodNames__",
RT = harden({
[us]() {
return _r(this);
},
})[us],
OT = harden({
value: RT,
enumerable: !1,
configurable: !1,
writable: !1,
}),
se = (e, t = void 0) => {
let r = t === void 0 ? {} : t;
return (
typeof r == "object" &&
!(us in r) &&
Object.defineProperty(r, us, OT),
Ia(`Alleged: ${e}`, void 0, r)
);
};
harden(se);
var Q0 = (e, t) => (po(t) !== void 0 ? t : se(e, (...r) => t(...r)));
harden(Q0);
var _i = (e, t) =>
se("mapped iterable", {
[Symbol.iterator]: () => {
let r = e[Symbol.iterator]();
return se("mapped iterator", {
next: () => {
let { value: o, done: n } = r.next(),
a = n ? o : t(o);
return harden({ value: a, done: n });
},
});
},
});
harden(_i);
var Ta = (e, t) =>
se("filtered iterable", {
[Symbol.iterator]: () => {
let r = e[Symbol.iterator]();
return se("filtered iterator", {
next: () => {
for (;;) {
let o = r.next(),
{ value: n, done: a } = o;
if (a || t(n)) return o;
}
},
});
},
});
harden(Ta);
var {
getPrototypeOf: ET,
getOwnPropertyDescriptors: DT,
hasOwn: NT,
entries: BT,
} = Object,
z0 = new Map([
["Error", Error],
["EvalError", EvalError],
["RangeError", RangeError],
["ReferenceError", ReferenceError],
["SyntaxError", SyntaxError],
["TypeError", TypeError],
["URIError", URIError],
]);
typeof AggregateError < "u" && z0.set("AggregateError", AggregateError);
var br = (e) => z0.get(e);
harden(br);
var Dd = (e, t = void 0) =>
e instanceof Error || (!!t && ve(t)`Error expected: ${e}`);
harden(Dd);
var mo = (e) => Dd(e);
harden(mo);
var Nd = (e, t, r, o = void 0) => {
if (t.enumerable)
return (
!!o &&
ve(
o,
)`Passable Error ${x(e)} own property must not be enumerable: ${t}`
);
if (!NT(t, "value"))
return (
!!o &&
ve(
o,
)`Passable Error ${x(e)} own property must be a data property: ${t}`
);
let { value: n } = t;
switch (e) {
case "message":
case "stack":
return (
typeof n == "string" ||
(!!o &&
ve(o)`Passable Error ${x(e)} own property must be a string: ${n}`)
);
case "cause":
return Ua(n, r, o);
case "errors":
return !Array.isArray(n) || r(n) !== "copyArray"
? !!o &&
ve(
o,
)`Passable Error ${x(e)} own property must be a copyArray: ${n}`
: n.every((a) => Ua(a, r, o));
default:
break;
}
return !!o && ve(o)`Passable Error has extra unpassed property ${x(e)}`;
};
harden(Nd);
var Ua = (e, t, r = void 0) => {
if (!Dd(e, r)) return !1;
let o = ET(e),
{ name: n } = o,
a = br(n);
if (a === void 0 || a.prototype !== o)
return (
!!r &&
ve(
r,
)`Passable Error must inherit from an error class .prototype: ${e}`
);
let i = DT(e);
return "message" in i
? BT(i).every(([c, d]) => Nd(c, d, t, r))
: !!r &&
ve(
r,
)`Passable Error must have an own "message" string property: ${e}`;
};
harden(Ua);
var Y0 = harden({
styleName: "error",
canBeValid: Dd,
assertRestValid: (e, t) => Ua(e, t, Te),
});
var { ownKeys: MT } = Reflect,
Z0 = new Map(
MT(Symbol)
.filter((e) => typeof e == "string" && typeof Symbol[e] == "symbol")
.filter(
(e) => (
!e.startsWith("@@") ||
f`Did not expect Symbol to have a symbol-valued property name starting with "@@" ${x(e)}`,
!0
),
)
.map((e) => [Symbol[e], `@@${e}`]),
),
ps = (e) =>
typeof e == "symbol" &&
(typeof Symbol.keyFor(e) == "string" || Z0.has(e));
harden(ps);
var Un = (e) =>
ps(e) ||
f`Only registered symbols or well-known symbols are passable: ${x(e)}`;
harden(Un);
var _t = (e) => {
let t = Symbol.keyFor(e);
return t === void 0 ? Z0.get(e) : t.startsWith("@@") ? `@@${t}` : t;
};
harden(_t);
var X0 = /^@@(.*)$/;
harden(X0);
var Fr = (e) => {
typeof e == "string" || f`${x(e)} must be a string, not ${x(typeof e)}`;
let t = X0.exec(e);
if (t) {
let r = t[1];
if (r.startsWith("@@")) return Symbol.for(r);
{
let o = Symbol[r];
if (typeof o == "symbol") return o;
f`Reserved for well known symbol ${x(r)}: ${x(e)}`;
}
}
return Symbol.for(e);
};
harden(Fr);
var $T = !!String.prototype.isWellFormed,
tm = $T
? (e) => typeof e == "string" && e.isWellFormed()
: (e) => {
if (typeof e != "string") return !1;
for (let t of e) {
let r = t.codePointAt(0);
if (r >= 55296 && r <= 57343) return !1;
}
return !0;
};
harden(tm);
var rm = (e) => {
tm(e) || f`Expected well-formed unicode string: ${e}`;
};
harden(rm);
var _T =
hr("ONLY_WELL_FORMED_STRINGS_PASSABLE", "disabled", ["enabled"]) ===
"enabled",
Bd = (e) => {
(typeof e == "string" || f`Expected string ${e}`, !_T || rm(e));
};
harden(Bd);
var om = () => {
let e,
t,
r = (a) => {
e ? (e(a), (e = null), (t = null)) : assert(e === null);
},
o = (a) => {
t ? (t(a), (e = null), (t = null)) : assert(t === null);
},
n = (a, i) => {
(assert(e === void 0 && t === void 0), (e = a), (t = i));
};
return harden({ resolve: r, reject: o, executor: n });
};
harden(om);
var FT = (e) => !e || (typeof e != "object" && typeof e != "function"),
eb = new WeakMap(),
tb = (e) => {
if (!e || e.settled) return new Set();
let { deferreds: t } = e;
return (
Object.assign(e, { deferreds: void 0, settled: !0 }),
Object.freeze(e),
t
);
},
rb = (e) => {
if (FT(e)) return harden({ settled: !0 });
let t = eb.get(e);
return (
t ||
((t = { deferreds: new Set(), settled: !1 }),
eb.set(e, t),
Promise.resolve(e).then(
(r) => {
for (let { resolve: o } of tb(t)) o(r);
},
(r) => {
for (let { reject: o } of tb(t)) o(r);
},
)),
t
);
},
{ race: ob } = {
race(e) {
let t,
r = [],
o = this;
return new o((a, i) => {
t = { resolve: a, reject: i };
for (let c of e) {
r.push(c);
let { settled: d, deferreds: l } = rb(c);
d ? o.resolve(c).then(a, i) : l.add(t);
}
}).finally(() => {
for (let a of r) {
let { deferreds: i } = rb(a);
i && i.delete(t);
}
});
},
};
function rr(e) {
return Promise.resolve(e) === e;
}
harden(rr);
var nb = globalThis.HandledPromise || Promise;
function xt() {
let { resolve: e, reject: t, executor: r } = om(),
o = new nb(r);
return harden({ promise: o, resolve: e, reject: t });
}
harden(xt);
function KT(e) {
return harden(ob.call(nb, e));
}
harden(KT);
var { getPrototypeOf: JT } = Object,
{ ownKeys: VT } = Reflect,
{ isArray: HT, prototype: WT } = Array,
sb = harden({
styleName: "copyArray",
canBeValid: (e, t = void 0) =>
HT(e) || (!!t && t(!1, V`Array expected: ${e}`)),
assertRestValid: (e, t) => {
JT(e) === WT || assert.fail(V`Malformed array: ${e}`, TypeError);
let r = uo(e, "length", !1, Te).value;
for (let o = 0; o < r; o += 1) t(uo(e, o, !0, Te).value);
VT(e).length === r + 1 ||
assert.fail(V`Arrays must not have non-indexes: ${e}`, TypeError);
},
});
var { getPrototypeOf: ab, getOwnPropertyDescriptor: LT } = Object,
{ ownKeys: qT, apply: jT } = Reflect,
GT = () => {
let e = new ArrayBuffer(0);
if (e.sliceToImmutable === void 0)
return {
immutableArrayBufferPrototype: null,
immutableGetter: () => !1,
};
let t = e.sliceToImmutable(),
r = ab(t),
o = LT(r, "immutable").get;
return { immutableArrayBufferPrototype: r, immutableGetter: o };
},
{ immutableArrayBufferPrototype: QT, immutableGetter: zT } = GT(),
ib = harden({
styleName: "byteArray",
canBeValid: (e, t = void 0) =>
(e instanceof ArrayBuffer && e.immutable) ||
(!!t && t(!1, V`Immutable ArrayBuffer expected: ${e}`)),
assertRestValid: (e, t) => {
(ab(e) === QT || assert.fail(V`Malformed ByteArray ${e}`, TypeError),
jT(zT, e, []) || f`Must be an immutable ArrayBuffer: ${e}`,
qT(e).length === 0 ||
assert.fail(
V`ByteArrays must not have own properties: ${e}`,
TypeError,
));
},
});
var { ownKeys: cb } = Reflect,
{ getPrototypeOf: YT, prototype: ZT } = Object,
XT = (e, t = void 0) =>
YT(e) === ZT ||
(!!t && ve(t)`Records must inherit from Object.prototype: ${e}`),
eU = (e, t, r, o = void 0) =>
(typeof t == "string" ||
(!!o &&
ve(o)`Records can only have string-named properties: ${e}`)) &&
(!Od(r) ||
(!!o &&
ve(
o,
)`Records cannot contain non-far functions because they may be methods of an implicit Remotable: ${e}`)),
db = harden({
styleName: "copyRecord",
canBeValid: (e, t = void 0) =>
XT(e, t) && cb(e).every((r) => eU(e, r, e[r], t)),
assertRestValid: (e, t) => {
for (let r of cb(e)) {
let { value: o } = uo(e, r, !0, Te);
t(o);
}
},
});
var { ownKeys: lb } = Reflect,
{ getOwnPropertyDescriptors: tU } = Object,
ub = harden({
styleName: "tagged",
canBeValid: (e, t = void 0) => Ud(e, e[ct], "tagged", t),
assertRestValid: (e, t) => {
Mi(e, "tagged", Te);
let r = ct,
o = Symbol.toStringTag,
{ [r]: n, [o]: a, payload: i, ...c } = tU(e);
(lb(c).length === 0 ||
f`Unexpected properties on tagged record ${lb(c)}`,
t(uo(e, "payload", !0, Te).value));
},
});
var {
isFrozen: yb,
getPrototypeOf: nm,
getOwnPropertyDescriptor: rU,
hasOwn: pb,
} = Object,
{ ownKeys: mb } = Reflect,
{ toStringTag: fb } = Symbol,
oU = (e, t) => {
let r = mb(e);
if (r.length === 0) return !0;
let o = r.filter(
(a) => typeof a != "symbol" || !pb(Promise.prototype, a),
);
if (o.length !== 0)
return ve(t)`${e} - Must not have any own properties: ${x(o)}`;
let n = (a) => {
if (a === fb) {
let c = rU(e, fb);
return (
assert(c !== void 0),
(pb(c, "value") ||
ve(
t,
)`Own @@toStringTag must be a data property, not an accessor: ${x(c)}`) &&
(typeof c.value == "string" ||
ve(
t,
)`Own @@toStringTag value must be a string: ${x(c.value)}`) &&
(!c.enumerable ||
ve(t)`Own @@toStringTag must not be enumerable: ${x(c)}`)
);
}
let i = e[a];
if (i === void 0 || typeof i == "number") return !0;
if (
typeof i == "object" &&
i !== null &&
yb(i) &&
nm(i) === Object.prototype
) {
let c = mb(i);
if (
c.length === 0 ||
(c.length === 1 && c[0] === "destroyed" && i.destroyed === !1)
)
return !0;
}
return ve(
t,
)`Unexpected Node async_hooks additions to promise: ${e}.${x(String(a))} is ${i}`;
};
return r.every(n);
},
sm = (e, t) =>
(yb(e) || ve(t)`${e} - Must be frozen`) &&
(rr(e) || ve(t)`${e} - Must be a promise`) &&
(nm(e) === Promise.prototype ||
ve(t)`${e} - Must inherit from Promise.prototype: ${x(nm(e))}`) &&
oU(e, t);
harden(sm);
var nU = (e) => sm(e, (t) => t);
harden(nU);
var gb = (e) => sm(e, Te);
var { ownKeys: sU } = Reflect,
{ isFrozen: hb, getOwnPropertyDescriptors: aU, values: iU } = Object,
cU = (e) => {
let t = {
__proto__: null,
copyArray: void 0,
byteArray: void 0,
copyRecord: void 0,
tagged: void 0,
error: void 0,
remotable: void 0,
};
for (let r of e) {
let { styleName: o } = r;
(o in t || f`Unrecognized helper: ${x(o)}`,
t[o] === void 0 || f`conflicting helpers for ${x(o)}`,
(t[o] = r));
}
for (let r of sU(t)) t[r] !== void 0 || f`missing helper for ${x(r)}`;
return harden(t);
},
am = (e, t, r) => {
(e.canBeValid(t, Te), e.assertRestValid(t, r));
},
dU = (e) => {
let t = cU(e),
r = t.remotable,
o = new WeakMap(),
n = (a) => {
let i = new Set(),
c = (l) => {
let u = !Je(l);
if (u) {
let y = o.get(l);
if (y) return y;
(!i.has(l) || f`Pass-by-copy data cannot be cyclic ${l}`,
i.add(l));
}
let p = d(l);
return (u && (o.set(l, p), i.delete(l)), p);
},
d = (l) => {
let u = typeof l;
switch (u) {
case "undefined":
case "boolean":
case "number":
case "bigint":
return u;
case "string":
return (Bd(l), "string");
case "symbol":
return (Un(l), "symbol");
case "object": {
if (l === null) return "null";
if (
(hb(l) ||
assert.fail(
Yp(l)
? V`Cannot pass mutable typed arrays like ${l}.`
: V`Cannot pass non-frozen objects like ${l}. Use harden()`,
),
rr(l))
)
return (gb(l), "promise");
typeof l.then != "function" ||
f`Cannot pass non-promise thenables`;
let p = l[ct];
if (p !== void 0) {
assert.typeof(p, "string");
let y = t[p];
return (
y !== void 0 || f`Unrecognized PassStyle: ${x(p)}`,
am(y, l, c),
p
);
}
for (let y of e)
if (y.canBeValid(l))
return (y.assertRestValid(l, c), y.styleName);
return (am(r, l, c), "remotable");
}
case "function":
return (
hb(l) ||
f`Cannot pass non-frozen objects like ${l}. Use harden()`,
typeof l.then != "function" ||
f`Cannot pass non-promise thenables`,
am(r, l, c),
"remotable"
);
default:
throw assert.fail(
V`Unrecognized typeof ${x(u)}`,
TypeError,
);
}
};
return c(a);
};
return harden(n);
},
lU = Symbol.for("@endo passStyleOf"),
ce = (globalThis && globalThis[lU]) || dU([sb, ib, db, ub, Y0, $i]),
fo = (e) => {
ce(e);
};
harden(fo);
var or = (e) => {
try {
return ce(e) !== void 0;
} catch {
return !1;
}
};
harden(or);
var bb = (e, t) => Nd(e, t, ce),
Fi = (e) => {
if ((harden(e), Ua(e, ce))) return e;
let { name: t, message: r } = e,
{ cause: o, errors: n } = aU(e),
a,
i;
(o && bb("cause", o) && (a = o.value),
n && bb("errors", n) && (i = n.value));
let c = br(`${t}`) || Error,
d = Se(`${r}`, c, { cause: a, errors: i });
return (
harden(d),
Ze(d, V`copied from error ${e}`),
ce(d) === "error" || f`Expected ${d} to be a passable error`,
d
);
};
harden(Fi);
var Wo = (e) => {
if ((harden(e), mo(e))) return Fi(e);
if (!Je(e)) {
let t = ce(e);
switch (t) {
case "copyArray": {
let r = e;
for (let o of r)
o === Wo(o) ||
f`nested toThrowable coercion not yet supported ${o}`;
break;
}
case "copyRecord": {
let r = e;
for (let o of iU(r))
o === Wo(o) ||
f`nested toThrowable coercion not yet supported ${o}`;
break;
}
case "tagged": {
let r = e,
{ payload: o } = r;
o === Wo(o) ||
f`nested toThrowable coercion not yet supported ${o}`;
break;
}
case "error": {
let r = e;
r === Wo(r) ||
f`nested toThrowable coercion not yet supported ${r}`;
break;
}
default:
throw f`A ${x(t)} is not throwable: ${e}`;
}
}
return e;
};
harden(Wo);
var { create: uU, prototype: pU } = Object,
Ce = (e, t) => (
typeof e == "string" ||
f`The tag of a tagged record must be a string: ${e}`,
fo(harden(t)),
harden(
uU(pU, {
[ct]: { value: "tagged" },
[Symbol.toStringTag]: { value: e },
payload: { value: t, enumerable: !0 },
}),
)
);
harden(Ce);
var Xe = (e, t) => e;
harden(Xe);
var vb = (e) => ce(e) === "copyArray";
harden(vb);
var mU = (e) => ce(e) === "byteArray";
harden(mU);
var Sb = (e) => ce(e) === "copyRecord";
harden(Sb);
var Ki = (e) => ce(e) === "remotable";
harden(Ki);
var xb = (e, t = "Alleged array") => {
let r = ce(e);
r === "copyArray" ||
f`${x(t)} ${e} must be a pass-by-copy array, not ${x(r)}`;
};
harden(xb);
var fU = (e, t = "Alleged byteArray") => {
let r = ce(e);
r === "byteArray" ||
f`${x(t)} ${e} must be a pass-by-copy binary data, not ${x(r)}`;
};
harden(fU);
var vr = (e, t = "Alleged record") => {
let r = ce(e);
r === "copyRecord" ||
f`${x(t)} ${e} must be a pass-by-copy record, not ${x(r)}`;
};
harden(vr);
var yo = (e, t = "Alleged remotable") => {
let r = ce(e);
r === "remotable" || f`${x(t)} ${e} must be a remotable, not ${x(r)}`;
};
harden(yo);
var Ab = (e, t) => {
let r;
try {
r = ce(e);
} catch (o) {
return t !== Xe && t(!1, V`Not even Passable: ${x(o)}: ${e}`);
}
switch (r) {
case "undefined":
case "null":
case "boolean":
case "number":
case "bigint":
case "string":
case "byteArray":
case "symbol":
return !0;
default:
return t !== Xe && t(!1, V`A ${x(r)} cannot be an atom: ${e}`);
}
},
ms = (e) => Ab(e, Xe);
harden(ms);
var wb = (e) => {
Ab(e, Te);
};
harden(wb);
var Ca,
Md = 0,
Ji = 0,
Pb = Pa("DEBUG", "track-turns"),
yU = hr("TRACK_TURNS", "disabled", ["enabled"]) === "enabled",
gU = (e) => (t) => {
(t instanceof Error && globalThis.assert.note(t, e),
Pb && console.log("REJECTED at top of event loop", t));
},
hU =
(e, t, r) =>
(...o) => {
((Ca = t), (Md += 1), (Ji = 0));
try {
let n;
try {
n = e(...o);
} catch (i) {
throw (
i instanceof Error &&
globalThis.assert.note(i, r`Thrown from: ${Ca}:${Md}.${Ji}`),
Pb && console.log("THROWN to top of event loop", i),
i
);
}
let a = r`Rejection from: ${Ca}:${Md}.${Ji}`;
return (Promise.resolve(n).catch(gU(a)), n);
} finally {
Ca = void 0;
}
},
kb = (e) => {
if (!yU || typeof globalThis > "u" || !globalThis.assert) return e;
let { details: t, note: r } = globalThis.assert;
Ji += 1;
let o = Error(`Event: ${Md}.${Ji}`);
return (
Ca !== void 0 && r(o, t`Caused by: ${Ca}`),
e.map((n) => n && hU(n, o, t))
);
};
var { details: bU, quote: $d, Fail: vU, error: SU } = assert,
{ assign: xU, freeze: Tb } = Object,
Cn = ka("ENDO_SEND_BREAKPOINTS"),
im = {
set(e, t, r) {
return !1;
},
isExtensible(e) {
return !1;
},
setPrototypeOf(e, t) {
return !1;
},
deleteProperty(e, t) {
return !1;
},
},
AU = (e, t) =>
harden({
...im,
get: (r, o, n) =>
harden(
{
[o](...a) {
if (this !== n)
return t.reject(
SU(
bU`Unexpected receiver for "${$d(o)}" method of E(${$d(e)})`,
),
);
if (Cn && Cn.shouldBreakpoint(e, o)) debugger;
return t.applyMethod(e, o, a);
},
}[o],
),
apply: (r, o, n = []) => {
if (Cn && Cn.shouldBreakpoint(e, void 0)) debugger;
return t.applyFunction(e, n);
},
has: (r, o) => !0,
}),
wU = (e, t) =>
harden({
...im,
get: (r, o, n) =>
harden(
{
[o](...a) {
if (
(this === n ||
vU`Unexpected receiver for "${$d(o)}" method of E.sendOnly(${$d(e)})`,
Cn && Cn.shouldBreakpoint(e, o))
)
debugger;
t.applyMethodSendOnly(e, o, a);
},
}[o],
),
apply: (r, o, n = []) => {
if (Cn && Cn.shouldBreakpoint(e, void 0)) debugger;
t.applyFunctionSendOnly(e, n);
},
has: (r, o) => !0,
}),
PU = (e, t) =>
harden({ ...im, has: (r, o) => !0, get: (r, o) => t.get(e, o) }),
Ib = Tb(() => {}),
kU = Tb({ __proto__: null }),
IU = (e) =>
harden(
xU((t) => new Proxy(Ib, AU(t, e)), {
get: (t) => new Proxy(kU, PU(t, e)),
resolve: e.resolve,
sendOnly: (t) => new Proxy(Ib, wU(t, e)),
when: (t, r, o) => e.resolve(t).then(...kb([r, o])),
}),
),
Ub = IU;
var TU = HandledPromise,
O = Ub(TU);
var { ownKeys: UU } = Reflect,
{ fromEntries: CU } = Object,
Lo = async (e) => {
if (ms(e)) return e;
if (rr(e)) return O.when(e, (r) => Lo(r));
let t = ce(e);
switch (t) {
case "copyRecord": {
let r = e,
o = UU(r),
n = o.map((a) => Lo(r[a]));
return O.when(Promise.all(n), (a) =>
harden(CU(a.map((i, c) => [o[c], i]))),
);
}
case "copyArray": {
let o = e.map((n) => Lo(n));
return O.when(Promise.all(o), (n) => harden(n));
}
case "byteArray":
return e;
case "tagged": {
let r = e,
o = $e(r);
return O.when(Lo(r.payload), (n) => Ce(o, n));
}
case "remotable":
return e;
case "error":
return e;
case "promise": {
let r = e;
return O.when(r, (o) => Lo(o));
}
default:
throw assert.fail(V`Unexpected passStyle ${x(t)}`, TypeError);
}
};
harden(Lo);
var { ownKeys: dm } = Reflect,
{ isArray: Rb } = Array,
{
getOwnPropertyDescriptors: RU,
defineProperties: OU,
is: EU,
entries: DU,
fromEntries: Ob,
freeze: NU,
hasOwn: Vi,
} = Object,
Ie = "@qclass";
var Eb = (e) => Vi(e, Ie),
cm = (e, t) => !Je(e) && !Rb(e) && Eb(e) && e[Ie] === t,
BU = (e) => f`remotable unexpected: ${e}`,
MU = (e) => f`promise unexpected: ${e}`,
$U = (e) => f`error object unexpected: ${e}`,
lm = (e = {}) => {
let {
encodeRemotableToCapData: t = BU,
encodePromiseToCapData: r = MU,
encodeErrorToCapData: o = $U,
} = e,
n = (i) => {
let c = ce(i);
switch (c) {
case "null":
case "boolean":
case "string":
return i;
case "undefined":
return { [Ie]: "undefined" };
case "number":
return Number.isNaN(i)
? { [Ie]: "NaN" }
: i === 1 / 0
? { [Ie]: "Infinity" }
: i === -1 / 0
? { [Ie]: "-Infinity" }
: EU(i, -0)
? 0
: i;
case "bigint":
return { [Ie]: "bigint", digits: String(i) };
case "symbol": {
Un(i);
let d = _t(i);
return { [Ie]: "symbol", name: d };
}
case "copyRecord": {
if (Vi(i, Ie)) {
let { [Ie]: l, ...u } = i,
p = { [Ie]: "hilbert", original: n(l) };
return (dm(u).length >= 1 && (p.rest = n(NU(u))), p);
}
let d = dm(i).sort();
return Ob(d.map((l) => [l, n(i[l])]));
}
case "copyArray":
return i.map(n);
case "byteArray":
throw f`marsal of byteArray not yet implemented: ${i}`;
case "tagged":
return { [Ie]: "tagged", tag: $e(i), payload: n(i.payload) };
case "remotable": {
let d = t(i, n);
if (cm(d, "slot")) return d;
throw f`internal: Remotable encoding must be an object with ${x(Ie)} ${x("slot")}: ${d}`;
}
case "promise": {
let d = r(i, n);
if (cm(d, "slot")) return d;
throw f`internal: Promise encoding must be an object with ${x(Ie, "slot")}: ${d}`;
}
case "error": {
let d = o(i, n);
if (cm(d, "error")) return d;
throw f`internal: Error encoding must be an object with ${x(Ie, "error")}: ${d}`;
}
default:
throw assert.fail(
V`internal: Unrecognized passStyle ${x(c)}`,
TypeError,
);
}
},
a = (i) => (mo(i) ? harden(o(i, n)) : harden(n(i)));
return harden(a);
};
harden(lm);
var Cb = (e) => f`remotable or promise unexpected: ${e}`,
_U = (e) => f`error unexpected: ${e}`,
Db = (e = {}) => {
let {
decodeRemotableFromCapData: t = Cb,
decodePromiseFromCapData: r = Cb,
decodeErrorFromCapData: o = _U,
} = e;
t === r ||
f`An implementation restriction for now: If either decodeRemotableFromCapData or decodePromiseFromCapData is provided, both must be provided and they must be the same: ${x(t)} vs ${x(r)}`;
let n = (a) => {
if (Je(a)) return a;
if (Rb(a)) return a.map((i) => n(i));
if (Eb(a)) {
let i = a[Ie];
switch (
(typeof i == "string" ||
f`invalid ${x(Ie)} typeof ${x(typeof i)}`,
i)
) {
case "undefined":
return;
case "NaN":
return NaN;
case "Infinity":
return 1 / 0;
case "-Infinity":
return -1 / 0;
case "bigint": {
let { digits: c } = a;
return (
typeof c == "string" ||
f`invalid digits typeof ${x(typeof c)}`,
BigInt(c)
);
}
case "@@asyncIterator":
return Symbol.asyncIterator;
case "symbol": {
let { name: c } = a;
return Fr(c);
}
case "tagged": {
let { tag: c, payload: d } = a;
return Ce(c, n(d));
}
case "slot":
return t(a, n);
case "error": {
let c = o(a, n);
if (ce(c) === "error") return c;
throw f`internal: decodeErrorFromCapData option must return an error: ${c}`;
}
case "hilbert": {
let { original: c, rest: d } = a;
Vi(a, "original") || f`Invalid Hilbert Hotel encoding ${a}`;
let l = { [Ie]: n(c) };
if (Vi(a, "rest")) {
if (
!(typeof d == "object" && d !== null && dm(d).length >= 1)
)
throw f`Rest encoding must be a non-empty object: ${d}`;
let p = n(d);
(!Vi(p, Ie) ||
f`Rest must not contain its own definition of ${x(Ie)}`,
OU(l, RU(p)));
}
return l;
}
case "ibid":
throw f`The capData protocol no longer supports ${x(Ie)} ${x(i)}`;
default:
throw assert.fail(V`unrecognized ${x(Ie)} ${x(i)}`, TypeError);
}
} else {
assert(typeof a == "object" && a !== null);
let i = ([d, l]) => (
typeof d == "string" ||
f`Property ${x(d)} of ${a} must be a string`,
[d, n(l)]
),
c = DU(a).map(i);
return Ob(c);
}
};
return harden(n);
};
function Ra(e) {
return typeof e == "bigint"
? e >= 0
: typeof e != "number"
? !1
: Number.isSafeInteger(e) && e >= 0;
}
function Re(e) {
if (typeof e == "bigint") {
if (e < 0n) throw RangeError(`${e} is negative`);
return e;
}
if (typeof e == "number") {
if (!Number.isSafeInteger(e))
throw RangeError(`${e} is not a safe integer`);
if (e < 0) throw RangeError(`${e} is negative`);
return BigInt(e);
}
throw TypeError(`${e} is a ${typeof e} but must be a bigint or a number`);
}
var { entries: FU, fromEntries: KU } = Object,
Ne = (e, t) => {
let o = FU(e).map(([n, a]) => [n, t(a, n)]);
return harden(KU(o));
};
harden(Ne);
var { ownKeys: um } = Reflect,
{ isArray: JU } = Array,
{ is: VU, entries: HU, fromEntries: Nb, hasOwn: pm } = Object,
WU = 33,
LU = 45,
mm = (e) => {
if (e === "") return !1;
let t = e.charCodeAt(0);
return WU <= t && t <= LU;
},
qU = (e) => f`remotable unexpected: ${e}`,
jU = (e) => f`promise unexpected: ${e}`,
GU = (e) => f`error object unexpected: ${x(e)}`,
fm = (e = {}) => {
let {
encodeRemotableToSmallcaps: t = qU,
encodePromiseToSmallcaps: r = jU,
encodeErrorToSmallcaps: o = GU,
} = e,
n = (c) => {
(typeof c == "object" && pm(c, "#error")) ||
f`internal: Error encoding must have "#error" property: ${x(c)}`;
let d = c["#error"];
(typeof d == "string" && (!mm(d) || d.charAt(0) === "!")) ||
f`internal: Error encoding must have string message: ${x(d)}`;
},
a = (c) => {
let d = ce(c);
switch (d) {
case "null":
case "boolean":
return c;
case "string":
return mm(c) ? `!${c}` : c;
case "undefined":
return "#undefined";
case "number":
return Number.isNaN(c)
? "#NaN"
: c === 1 / 0
? "#Infinity"
: c === -1 / 0
? "#-Infinity"
: VU(c, -0)
? 0
: c;
case "bigint": {
let l = String(c);
return c < 0n ? l : `+${l}`;
}
case "symbol":
return (Un(c), `%${_t(c)}`);
case "copyRecord": {
let l = um(c).sort();
return Nb(l.map((u) => [a(u), a(c[u])]));
}
case "copyArray":
return c.map(a);
case "byteArray":
throw f`marsal of byteArray not yet implemented: ${c}`;
case "tagged":
return { "#tag": a($e(c)), payload: a(c.payload) };
case "remotable": {
let l = t(c, a);
if (typeof l == "string" && l.charAt(0) === "$") return l;
throw f`internal: Remotable encoding must start with "$": ${l}`;
}
case "promise": {
let l = r(c, a);
if (typeof l == "string" && l.charAt(0) === "&") return l;
throw f`internal: Promise encoding must start with "&": ${l}`;
}
case "error": {
let l = o(c, a);
return (n(l), l);
}
default:
throw assert.fail(
V`internal: Unrecognized passStyle ${x(d)}`,
TypeError,
);
}
},
i = (c) => {
if (mo(c)) {
let d = harden(o(c, a));
return (n(d), d);
}
return harden(a(c));
};
return harden(i);
};
harden(fm);
var QU = (e) => f`remotable unexpected: ${e}`,
zU = (e) => f`promise unexpected: ${e}`,
YU = (e) => f`error unexpected: ${x(e)}`,
Bb = (e = {}) => {
let {
decodeRemotableFromSmallcaps: t = QU,
decodePromiseFromSmallcaps: r = zU,
decodeErrorFromSmallcaps: o = YU,
} = e,
n = (a) => {
switch (typeof a) {
case "boolean":
case "number":
return a;
case "string": {
if (!mm(a)) return a;
let i = a.charAt(0);
switch (i) {
case "!":
return a.slice(1);
case "%":
return Fr(a.slice(1));
case "#":
switch (a) {
case "#undefined":
return;
case "#NaN":
return NaN;
case "#Infinity":
return 1 / 0;
case "#-Infinity":
return -1 / 0;
default:
throw assert.fail(
V`unknown constant "${x(a)}"`,
TypeError,
);
}
case "+":
case "-":
return BigInt(a);
case "$": {
let c = t(a, n);
return (
ce(c) !== "remotable" &&
f`internal: decodeRemotableFromSmallcaps option must return a remotable: ${c}`,
c
);
}
case "&": {
let c = r(a, n);
return (
ce(c) !== "promise" &&
f`internal: decodePromiseFromSmallcaps option must return a promise: ${c}`,
c
);
}
default:
throw f`Special char ${x(i)} reserved for future use: ${a}`;
}
}
case "object": {
if (a === null) return a;
if (JU(a)) return a.map((d) => n(d));
if (pm(a, "#tag")) {
let { "#tag": d, payload: l, ...u } = a;
return (
typeof d == "string" ||
f`Value of "#tag", the tag, must be a string: ${a}`,
um(u).length === 0 ||
f`#tag record unexpected properties: ${x(um(u))}`,
Ce(n(d), n(l))
);
}
if (pm(a, "#error")) {
let d = o(a, n);
return (
ce(d) === "error" ||
f`internal: decodeErrorFromSmallcaps option must return an error: ${d}`,
d
);
}
let i = ([d, l]) => {
(typeof d == "string" ||
f`Property name ${x(d)} of ${a} must be a string`,
d.charAt(0) !== "#" ||
f`Unrecognized record type ${x(d)}: ${a}`);
let u = n(d);
return (
typeof u == "string" ||
f`Decoded property name ${u} from ${a} must be a string`,
[u, n(l)]
);
},
c = HU(a).map(i);
return Nb(c);
}
default:
throw assert.fail(
V`internal: unrecognized JSON typeof ${x(typeof a)}: ${a}`,
TypeError,
);
}
};
return harden(n);
};
var { defineProperties: ZU, hasOwn: XU } = Object,
{ isArray: eC } = Array,
{ ownKeys: Mb } = Reflect,
tC = (e) => e,
rC = (e, t) => e,
At = (
e = tC,
t = rC,
{
errorTagging: r = "on",
marshalName: o = "anon-marshal",
errorIdNum: n = 1e4,
marshalSaveError: a = (c) =>
console.log("Temporary logging of sent error", c),
serializeBodyFormat: i = "capdata",
} = {},
) => {
(assert.typeof(o, "string"),
r === "on" ||
r === "off" ||
f`The errorTagging option can only be "on" or "off" ${r}`);
let c = () => ((n += 1), `error:${o}#${n}`),
d = (p) => {
let y = [],
b = new Map(),
m = (h) => {
let g = b.get(h);
if (g !== void 0)
return (
assert.typeof(g, "number"),
harden({ index: g, repeat: !0 })
);
g = y.length;
let S = e(h);
return (
y.push(S),
b.set(h, g),
harden({ index: g, repeat: !1 })
);
},
v = (h, g) => {
let S = g(`${h.message}`);
assert.typeof(S, "string");
let w = g(`${h.name}`);
if ((assert.typeof(w, "string"), r === "on")) {
let I = g(c());
return (
assert.typeof(I, "string"),
Ze(h, V`Sent as ${I}`),
a(h),
harden({ errorId: I, message: S, name: w })
);
} else return harden({ message: S, name: w });
};
if (i === "capdata") {
let h = (J, P = void 0) => {
let { index: k, repeat: U } = m(J);
return U === !0 || P === void 0
? harden({ [Ie]: "slot", index: k })
: harden({ [Ie]: "slot", iface: P, index: k });
},
E = lm({
encodeRemotableToCapData: (J, P) => h(J, po(J)),
encodePromiseToCapData: (J, P) => h(J),
encodeErrorToCapData: (J, P) => {
let k = v(J, P);
return harden({ [Ie]: "error", ...k });
},
})(p),
K = JSON.stringify(E);
return harden({ body: K, slots: y });
} else if (i === "smallcaps") {
let h = (J, P, k = void 0) => {
let { index: U, repeat: D } = m(P);
return D === !0 || k === void 0
? `${J}${U}`
: `${J}${U}.${k}`;
},
E = fm({
encodeRemotableToSmallcaps: (J, P) => h("$", J, po(J)),
encodePromiseToSmallcaps: (J, P) => h("&", J),
encodeErrorToSmallcaps: (J, P) => {
let k = v(J, P),
{ message: U, ...D } = k;
return harden({ "#error": U, ...D });
},
})(p),
K = JSON.stringify(E);
return harden({ body: `#${K}`, slots: y });
} else throw f`Unrecognized serializeBodyFormat: ${x(i)}`;
},
l = (p) => {
let y = new Map(),
b = (J) => {
let { iface: P = void 0, index: k, ...U } = J;
Mb(U).length === 0 ||
f`unexpected encoded slot properties ${x(Mb(U))}`;
let D = y.get(k);
if (D) return D;
let _ = p[Number(Re(k))],
T = t(_, P);
return (y.set(k, T), T);
},
m = (J, P) => {
let {
errorId: k = void 0,
message: U,
name: D,
cause: _ = void 0,
errors: T = void 0,
...R
} = J,
N = P(D),
F = P(U),
H = k && P(k);
if (typeof N != "string")
throw f`invalid error name typeof ${x(typeof N)}`;
if (typeof F != "string")
throw f`invalid error message typeof ${x(typeof F)}`;
let q = br(N) || Error,
ee = {
errorName:
H === void 0
? `Remote${q.name}`
: `Remote${q.name}(${H})`,
sanitize: !1,
};
(_ && (ee.cause = P(_)), T && (ee.errors = P(T)));
let Q = Se(F, q, ee),
L = Ne(R, (W) => ({
value: P(W),
writable: !1,
enumerable: !1,
configurable: !1,
}));
return (ZU(Q, L), harden(Q), Fi(Q));
},
v = (J, P) => {
let { [Ie]: k, ...U } = J;
return b(U);
},
g = Db({
decodeRemotableFromCapData: v,
decodePromiseFromCapData: v,
decodeErrorFromCapData: (J, P) => {
let { [Ie]: k, ...U } = J;
return m(U, P);
},
}),
S = (J) => (P, k) => {
assert(P.charAt(0) === J);
let U = P.indexOf("."),
D = Number(P.slice(1, U < 0 ? void 0 : U)),
_ = U < 0 ? void 0 : P.slice(U + 1);
return b({ iface: _, index: D });
},
w = S("$"),
I = S("&"),
K = Bb({
decodeRemotableFromSmallcaps: w,
decodePromiseFromSmallcaps: I,
decodeErrorFromSmallcaps: (J, P) => {
let { "#error": k, ...U } = J;
return (
!XU(U, "message") ||
f`unexpected encoded error property ${x("message")}`,
m({ message: k, ...U }, P)
);
},
});
return harden({ reviveFromCapData: g, reviveFromSmallcaps: K });
},
u = (p) => {
let { body: y, slots: b } = p;
(typeof y == "string" ||
f`unserialize() given non-capdata (.body is ${y}, not string)`,
eC(p.slots) ||
f`unserialize() given non-capdata (.slots are not Array)`);
let { reviveFromCapData: m, reviveFromSmallcaps: v } = l(b),
h;
if (y.charAt(0) === "#") {
let g = y.slice(1),
S = harden(JSON.parse(g));
h = harden(v(S));
} else {
let g = harden(JSON.parse(y));
h = harden(m(g));
}
return (fo(h), h);
};
return harden({
toCapData: d,
fromCapData: u,
serialize: d,
unserialize: u,
});
};
var { freeze: $b } = Object,
oC = (e) => f`Marshal's stringify rejects presences and promises ${e}`,
nC = (e, t) => f`Marshal's parse must not encode any slots ${e}`,
sC = harden({
get: (e, t, r) => {
if (t === "length") return 0;
throw f`Marshal's parse must not encode any slot positions ${t}`;
},
}),
aC = $b([]),
iC = new Proxy(aC, sC),
{ serialize: cC, unserialize: dC } = At(oC, nC, {
errorTagging: "off",
serializeBodyFormat: "capdata",
}),
_b = (e) => cC(e).body;
harden(_b);
var Fb = (e) => dC($b({ body: e, slots: iC }));
harden(Fb);
var { ownKeys: _d } = Reflect,
{ isArray: Hi } = Array,
{ stringify: Wi } = JSON,
lC = () => {
let e = [],
t = 0,
r = !1,
o = () => (
(r = !1),
e.push(
`
`,
" ".repeat(t),
)
);
return harden({
open: (n) => ((t += 1), r && e.push(" "), (r = !1), e.push(n)),
line: o,
next: (n) => (
r && n !== "," && n !== ")" && e.push(" "),
(r = !0),
e.push(n)
),
close: (n) => (assert(t >= 1), (t -= 1), o(), e.push(n)),
done: () => (assert.equal(t, 0), e.join("")),
});
},
uC = /^(?:\w\w|<<|>>|\+\+|--|<!|->)$/,
Kb = () => {
let e = [];
return harden({
open: (t) => e.push(t),
line: () => e.length,
next: (t) => {
if (e.length >= 1) {
let r = e[e.length - 1];
if (r.length >= 1 && t.length >= 1) {
let o = `${r[r.length - 1]}${t[0]}`;
uC.test(o) && e.push(" ");
}
}
return e.push(t);
},
close: (t) => (
e.length >= 1 && e[e.length - 1] === "," && e.pop(),
e.push(t)
),
done: () => e.join(""),
});
},
ym = /^[a-zA-Z]\w*$/;
harden(ym);
var Jb = /^@@(.*)$/;
harden(Jb);
var Li = (e, t = !1, r = []) => {
let o = (l) => {
if (!Je(l))
if ((assert.typeof(l, "object"), assert(l !== null), Ie in l)) {
let u = l[Ie];
switch (
(typeof u == "string" ||
f`invalid qclass typeof ${x(typeof u)}`,
assert(!Hi(l)),
l["@qclass"])
) {
case "undefined":
case "NaN":
case "Infinity":
case "-Infinity":
return;
case "bigint": {
let { digits: p } = l;
typeof p == "string" ||
f`invalid digits typeof ${x(typeof p)}`;
return;
}
case "@@asyncIterator":
return;
case "symbol": {
let { name: p } = l;
assert.typeof(p, "string");
let y = Fr(p);
assert.typeof(y, "symbol");
return;
}
case "tagged": {
let { tag: p, payload: y } = l;
(assert.typeof(p, "string"), o(y));
return;
}
case "slot": {
let { index: p, iface: y } = l;
(assert.typeof(p, "number"),
Re(p),
y !== void 0 && assert.typeof(y, "string"));
return;
}
case "hilbert": {
let { original: p, rest: y } = l;
if (
("original" in l || f`Invalid Hilbert Hotel encoding ${l}`,
o(p),
"rest" in l)
) {
if (typeof y != "object")
throw f`Rest ${y} encoding must be an object`;
if (y === null)
throw f`Rest ${y} encoding must not be null`;
if (Hi(y)) throw f`Rest ${y} encoding must not be an array`;
if (Ie in y)
throw f`Rest encoding ${y} must not contain ${x(Ie)}`;
let b = _d(y);
for (let m of b)
(typeof m == "string" ||
f`Property name ${m} of ${l} must be a string`,
o(y[m]));
}
return;
}
case "error": {
let { name: p, message: y } = l;
if (typeof p != "string")
throw f`invalid error name typeof ${x(typeof p)}`;
(br(p) !== void 0 ||
f`Must be the name of an Error constructor ${p}`,
typeof y == "string" ||
f`invalid error message typeof ${x(typeof y)}`);
return;
}
default:
assert.fail(V`unrecognized ${x(Ie)} ${x(u)}`, TypeError);
}
} else if (Hi(l)) {
let { length: u } = l;
for (let p = 0; p < u; p += 1) o(l[p]);
} else {
let u = _d(l);
for (let p of u) {
if (typeof p != "string")
throw f`Property name ${p} of ${l} must be a string`;
o(l[p]);
}
}
},
a = (t ? lC : Kb)(),
i = (l) => d(l),
c = (l, u) => {
(a.line(),
l === "__proto__"
? a.next('["__proto__"]:')
: ym.test(l)
? a.next(`${l}:`)
: a.next(`${Wi(l)}:`),
i(u),
a.next(","));
},
d = (l) => {
if (Je(l)) return a.next(Wi(l));
if ((assert.typeof(l, "object"), assert(l !== null), Ie in l)) {
let u = l[Ie];
switch (
(assert.typeof(u, "string"), assert(!Hi(l)), l["@qclass"])
) {
case "undefined":
case "NaN":
case "Infinity":
case "-Infinity":
return a.next(u);
case "bigint": {
let { digits: p } = l;
return (assert.typeof(p, "string"), a.next(`${BigInt(p)}n`));
}
case "@@asyncIterator":
return a.next("Symbol.asyncIterator");
case "symbol": {
let { name: p } = l;
assert.typeof(p, "string");
let y = Fr(p);
assert.typeof(y, "symbol");
let b = _t(y);
if (b === void 0) {
let m = Jb.exec(p);
assert(m !== null);
let v = m[1];
return (
assert(Symbol[v] === y),
assert(ym.test(v)),
a.next(`Symbol.${v}`)
);
}
return a.next(`passableSymbolForName(${Wi(b)})`);
}
case "tagged": {
let { tag: p, payload: y } = l;
return (
a.next(`makeTagged(${Wi(p)}`),
a.next(","),
i(y),
a.next(")")
);
}
case "slot": {
let { iface: p } = l,
y = Number(Re(l.index)),
b = (m) => {
let v = a;
try {
return ((a = Kb()), i(m), a.done());
} finally {
a = v;
}
};
if (y < r.length) {
let m = b(r[y]);
return p === void 0
? a.next(`slotToVal(${m})`)
: a.next(`slotToVal(${m},${b(p)})`);
}
return p === void 0
? a.next(`slot(${y})`)
: a.next(`slot(${y},${b(p)})`);
}
case "hilbert": {
let { original: p, rest: y } = l;
if ((a.open("{"), c(Ie, p), "rest" in l)) {
(assert.typeof(y, "object"), assert(y !== null));
let b = _d(y);
for (let m of b) {
if (typeof m != "string")
throw f`Property name ${x(m)} of ${y} must be a string`;
c(m, y[m]);
}
}
return a.close("}");
}
case "error": {
let {
name: p,
message: y,
cause: b = void 0,
errors: m = void 0,
} = l;
return (
b === void 0 ||
f`error cause not yet implemented in marshal-justin`,
p !== "AggregateError" ||
f`AggregateError not yet implemented in marshal-justin`,
m === void 0 ||
f`error errors not yet implemented in marshal-justin`,
a.next(`${p}(${Wi(y)})`)
);
}
default:
throw assert.fail(V`unrecognized ${x(Ie)} ${x(u)}`, TypeError);
}
} else if (Hi(l)) {
let { length: u } = l;
if (u === 0) return a.next("[]");
a.open("[");
for (let p = 0; p < u; p += 1) (a.line(), i(l[p]), a.next(","));
return a.close("]");
} else {
let u = _d(l);
if (u.length === 0) return a.next("{}");
a.open("{");
for (let p of u) c(p, l[p]);
return a.close("}");
}
};
return (o(e), i(e), a.done());
};
harden(Li);
var gm = (e, t = !0) => {
let r = 0,
o = (d) => `s${r++}`,
{ toCapData: n } = At(o),
{ body: a, slots: i } = n(e),
c = JSON.parse(a);
return Li(c, t, i);
};
harden(gm);
var Sr = (e) => `\`${gm(harden(e), !0)}\``;
harden(Sr);
var { isArray: pC } = Array,
{ fromEntries: mC, is: vm } = Object,
{ ownKeys: fC } = Reflect,
yC = /[\x00-\x1F]/,
ft = (e, t) => (t === 0 ? e : e.substring(t)),
Ft = (e) => harden(fC(e).sort().reverse());
harden(Ft);
var xr = (e, t) => harden(t.map((r) => e[r]));
harden(xr);
var Vb = Array(16)
.fill(void 0)
.map((e, t) => "0".repeat(t)),
Sm = (e, t) => {
let r = `${e}`,
o = t - r.length;
return o === 0 ? r : (assert(o > 0 && o < Vb.length), `${Vb[o]}${r}`);
};
harden(Sm);
var xm = new Float64Array(1),
Lb = new BigUint64Array(xm.buffer),
gC = "fff8000000000000",
hC = (e) => {
if (vm(e, -0)) e = 0;
else if (vm(e, NaN)) return `f${gC}`;
xm[0] = e;
let t = Lb[0];
return (
e < 0 ? (t ^= 0xffffffffffffffffn) : (t ^= 0x8000000000000000n),
`f${Sm(t.toString(16), 16)}`
);
},
bC = (e, t = 0) => {
e.charAt(t) === "f" || f`Encoded number expected: ${e}`;
let r = BigInt(`0x${ft(e, t + 1)}`);
(e.charAt(t + 1) < "8"
? (r ^= 0xffffffffffffffffn)
: (r ^= 0x8000000000000000n),
(Lb[0] = r));
let o = xm[0];
return (!vm(o, -0) || f`Unexpected negative zero: ${ft(e, t)}`, o);
},
vC = (e) => {
let r = (e < 0n ? -e : e).toString().length,
o = r.toString().length;
return e < 0n
? `n${"#".repeat(o - 1)}${(10 ** o - r).toString().padStart(o, "0")}:${(10n ** BigInt(r) + e).toString().padStart(r, "0")}`
: `p${"~".repeat(o - 1)}${r}:${e}`;
},
SC = /([0-9]+)(:([0-9]+$|)|)/s,
xC = (e) => {
let t = e.charAt(0);
t === "p" || t === "n" || f`Encoded bigint expected: ${e}`;
let {
index: r,
1: o,
2: n,
3: a,
} = e.match(SC) || f`Digit count expected: ${e}`;
o.length === r || f`Unary-prefixed decimal digit count expected: ${e}`;
let i = parseInt(o, 10);
(t === "n" && (i = 10 ** r - i),
n.charAt(0) === ":" || f`Separator expected: ${e}`,
a.length === i || f`Fixed-length digit sequence expected: ${e}`);
let c = BigInt(a);
return (t === "n" && (c = -(10n ** BigInt(i) - c)), c);
},
Am = Array(34)
.fill(void 0)
.map((e, t) => {
switch (String.fromCharCode(t)) {
case " ":
return "!_";
case "!":
return "!|";
default:
return `!${String.fromCharCode(t + 33)}`;
}
});
Am[94] = "_@";
Am[95] = "__";
var AC = (e) => e.replace(/[\0-!^_]/g, (t) => Am[t.charCodeAt(0)]),
Hb = (e) =>
e.replace(/([\0-!_])(.|\n)?/g, (t, r, o) => {
switch (t) {
case "!_":
return " ";
case "!|":
return "!";
case "_@":
return "^";
case "__":
return "_";
default: {
let n = o;
return (
(r === "!" && o !== void 0 && n >= "!" && n <= "@") ||
f`invalid string escape: ${x(t)}`,
String.fromCharCode(n.charCodeAt(0) - 33)
);
}
}
}),
wC = (e) => e,
PC = (e) => e,
kC = (e, t) => {
let r = ["^"];
for (let o of e) {
let n = t(o);
r.push(n, " ");
}
return r.join("");
},
hm = (e, t, r = 0) => {
let o = [],
n = 0,
a = r + 1,
i = r + 1;
for (let { 0: c, index: d } of e.matchAll(/[\^ ]/g)) {
let l = d;
(l <= r
? l === r && (c === "^" || f`Encoded array expected: ${ft(e, r)}`)
: c === "^"
? (n += 1)
: (l === a &&
((n -= 1),
n >= 0 ||
f`unexpected array element terminator: ${e.slice(r, l + 2)}`),
n === 0 && (o.push(t(e.slice(i, l))), (i = l + 1))),
(a = l + 1));
}
return (
n === 0 || f`unterminated array: ${ft(e, r)}`,
a === e.length || f`unterminated array element: ${ft(e, i)}`,
harden(o)
);
},
IC = (e, t) => {
let r = ["["];
for (let o of e) {
let n = t(o);
for (let a of n) ((a === "\0" || a === "") && r.push(""), r.push(a));
r.push("\0");
}
return r.join("");
},
TC = (e, t, r = 0) => {
let o = [],
n = [],
a = r + 1,
i = !1;
for (let c of e) {
if (a > 0)
((a -= 1),
a === 0 && (c === "[" || f`Encoded array expected: ${ft(e, r)}`));
else if (i)
(c === "\0" ||
c === "" ||
f`Unexpected character after u0001 escape: ${c}`,
n.push(c));
else if (c === "\0") {
let d = n.join("");
n.length = 0;
let l = t(d);
o.push(l);
} else if (c === "") {
i = !0;
continue;
} else n.push(c);
i = !1;
}
return (
!i || f`unexpected end of encoding ${ft(e, r)}`,
n.length === 0 || f`encoding terminated early: ${ft(e, r)}`,
harden(o)
);
},
UC = (e, t) => (
f`encodePassable(byteArray) not yet implemented: ${e}`,
""
),
CC = (e, t, r) => {
let o = Ft(e),
n = xr(e, o);
return `(${t(harden([o, n]), r)}`;
},
RC = (e, t, r, o = 0) => {
assert(e.charAt(o) === "(");
let n = t(e, r, o + 1);
n.length === 2 || f`expected keys,values pair: ${ft(e, o)}`;
let [a, i] = n;
(ce(a) === "copyArray" &&
ce(i) === "copyArray" &&
a.length === i.length &&
a.every((l) => typeof l == "string")) ||
f`not a valid record encoding: ${ft(e, o)}`;
let c = a.map((l, u) => [l, i[u]]),
d = harden(mC(c));
return (vr(d, "decoded record"), d);
},
OC = (e, t, r) => `:${t(harden([$e(e), e.payload]), r)}`,
EC = (e, t, r, o = 0) => {
assert(e.charAt(o) === ":");
let n = t(e, r, o + 1);
n.length === 2 || f`expected tag,payload pair: ${ft(e, o)}`;
let [a, i] = n;
return (
ce(a) === "string" || f`not a valid tagged encoding: ${ft(e, o)}`,
Ce(a, i)
);
},
DC = (e, t) => (o, n) => {
let a = e(o, n);
return (
(typeof a == "string" && a.charAt(0) === "r") ||
f`Remotable encoding must start with "r": ${a}`,
t(a, "Remotable"),
a
);
},
NC = (e, t) => (o, n) => {
let a = e(o, n);
return (
(typeof a == "string" && a.charAt(0) === "?") ||
f`Promise encoding must start with "?": ${a}`,
t(a, "Promise"),
a
);
},
BC = (e, t) => (o, n) => {
let a = e(o, n);
return (
(typeof a == "string" && a.charAt(0) === "!") ||
f`Error encoding must start with "!": ${a}`,
t(a, "Error"),
a
);
},
Wb = (e, t, r) => {
let {
encodeRemotable: o,
encodePromise: n,
encodeError: a,
verifyEncoding: i = () => {},
} = r,
c = DC(o, i),
d = NC(n, i),
l = BC(a, i),
u = (p) => {
if (mo(p)) return l(p, u);
let y = ce(p);
switch (y) {
case "null":
return "v";
case "undefined":
return "z";
case "number":
return hC(p);
case "string":
return `s${e(p)}`;
case "boolean":
return `b${p}`;
case "bigint":
return vC(p);
case "remotable":
return c(p, u);
case "error":
return l(p, u);
case "promise":
return d(p, u);
case "symbol": {
let b = _t(p);
return (assert.typeof(b, "string"), `y${e(b)}`);
}
case "copyArray":
return t(p, u);
case "byteArray":
return UC(p, u);
case "copyRecord":
return CC(p, t, u);
case "tagged":
return OC(p, t, u);
default:
throw f`a ${x(y)} cannot be used as a collection passable`;
}
};
return u;
},
MC = {
decodeRemotable: (e, t) => {},
decodePromise: (e, t) => {},
decodeError: (e, t) => {},
},
bm = (e, t, r) => {
let { decodeRemotable: o, decodePromise: n, decodeError: a } = r,
i = (c, d = 0) => {
switch (c.charAt(d)) {
case "v":
return null;
case "z":
return;
case "f":
return bC(c, d);
case "s":
return e(ft(c, d + 1));
case "b": {
let l = ft(c, d + 1);
if (l === "true") return !0;
if (l === "false") return !1;
throw f`expected encoded boolean to be "btrue" or "bfalse": ${l}`;
}
case "n":
case "p":
return xC(ft(c, d));
case "r":
return o(ft(c, d), i);
case "?":
return n(ft(c, d), i);
case "!":
return a(ft(c, d), i);
case "y": {
let l = e(ft(c, d + 1));
return Fr(l);
}
case "[":
case "^":
return t(c, i, d);
case "(":
return RC(c, t, i, d);
case ":":
return EC(c, t, i, d);
default:
throw f`invalid database key: ${ft(c, d)}`;
}
};
return i;
},
Oa = (e = {}) => {
let {
encodeRemotable: t = (m, v) => f`remotable unexpected: ${m}`,
encodePromise: r = (m, v) => f`promise unexpected: ${m}`,
encodeError: o = (m, v) => f`error unexpected: ${m}`,
format: n = "legacyOrdered",
decodeRemotable: a = (m, v) => f`remotable unexpected: ${m}`,
decodePromise: i = (m, v) => f`promise unexpected: ${m}`,
decodeError: c = (m, v) => f`error unexpected: ${m}`,
} = e,
d,
l = {
encodeRemotable: t,
encodePromise: r,
encodeError: o,
format: n,
};
if (n === "compactOrdered") {
let m = bm(Hb, hm, MC),
h = Wb(AC, kC, {
...l,
verifyEncoding: (g, S) => {
!g.match(yC) ||
f`${tt(S)} encoding must not contain a C0 control character: ${g}`;
let w = hm(`^v ${g} v `, m);
(pC(w) && w.length === 3 && w[0] === null && w[2] === null) ||
f`${tt(S)} encoding must be embeddable: ${g}`;
},
});
d = (g) => `~${h(g)}`;
} else if (n === "legacyOrdered") d = Wb(wC, IC, l);
else throw f`Unrecognized format: ${x(n)}`;
let u = { decodeRemotable: a, decodePromise: i, decodeError: c },
p = bm(Hb, hm, u),
y = bm(PC, TC, u),
b = (m) => (m.charAt(0) === "~" ? p(m, 1) : y(m));
return harden({ encodePassable: d, decodePassable: b });
};
harden(Oa);
var qb = (e) => {
let { encodePassable: t } = Oa(e);
return t;
};
harden(qb);
var jb = (e) => {
let { decodePassable: t } = Oa(e);
return t;
};
harden(jb);
var Gb = (e) => e.charAt(0) === "r";
harden(Gb);
var Fd = {
error: "!",
copyRecord: "(",
tagged: ":",
promise: "?",
copyArray: "[^",
byteArray: "a",
boolean: "b",
number: "f",
bigint: "np",
remotable: "r",
string: "s",
null: "v",
symbol: "y",
undefined: "z",
};
Object.setPrototypeOf(Fd, null);
harden(Fd);
var { isNaN: Kd } = Number,
{ entries: $C, fromEntries: _C, setPrototypeOf: FC, is: KC } = Object,
Qb = hr("ENDO_RANK_STRINGS", "utf16-code-unit-order", [
"unicode-code-point-order",
"error-if-order-choice-matters",
]),
JC = (e, t) => e === t || KC(e, t),
qi = (e, t) => (e < t ? -1 : e === t ? 0 : 1);
harden(qi);
var Jd = (e, t) => {
let r = e[Symbol.iterator](),
o = t[Symbol.iterator]();
for (;;) {
let { value: n } = r.next(),
{ value: a } = o.next();
if (n === void 0 && a === void 0) return 0;
if (n === void 0) return -1;
if (a === void 0) return 1;
let i = n.codePointAt(0),
c = a.codePointAt(0);
if (i < c) return -1;
if (i > c) return 1;
}
};
harden(Jd);
var Ea = (e, t) =>
e < t
? -1
: e > t
? 1
: Kd(e) === Kd(t)
? 0
: Kd(t)
? -1
: (assert(Kd(e)), 1),
ji = _C(
$C(Fd)
.sort(([e, t], [r, o]) => qi(t, o))
.map(([e, t], r) => {
t === t.split("").sort().join("") ||
f`unsorted prefixes for passStyle ${x(e)}: ${x(t)}`;
let o = [
t.charAt(0),
String.fromCharCode(t.charCodeAt(t.length - 1) + 1),
];
return [e, { index: r, cover: o }];
}),
);
FC(ji, null);
harden(ji);
var st = (e) => ji[e].cover;
harden(st);
var Vd = new WeakMap(),
zb = new WeakMap(),
Zb = (e = (t, r) => NaN) => {
let t = (n, a) => {
if (JC(n, a)) return 0;
let i = ce(n),
c = ce(a);
if (i !== c) return Ea(ji[i].index, ji[c].index);
switch (i) {
case "remotable":
return e(n, a);
case "undefined":
case "null":
case "error":
case "promise":
return 0;
case "boolean":
case "bigint":
return qi(n, a);
case "string":
switch (Qb) {
case "utf16-code-unit-order":
return qi(n, a);
case "unicode-code-point-order":
return Jd(n, a);
case "error-if-order-choice-matters": {
let d = qi(n, a),
l = Jd(n, a);
return (
d === l ||
f`Comparisons differed: ${n} vs ${a}, ${x(d)} vs ${x(l)}`,
d
);
}
default:
throw f`Unexpected ENDO_RANK_STRINGS ${x(Qb)}`;
}
case "symbol":
return t(_t(n), _t(a));
case "number":
return Ea(n, a);
case "copyRecord": {
let d = Ft(n),
l = Ft(a),
u = t(d, l);
if (u !== 0) return u;
let p = xr(n, d),
y = xr(a, l);
return t(p, y);
}
case "copyArray": {
let d = Math.min(n.length, a.length);
for (let l = 0; l < d; l += 1) {
let u = t(n[l], a[l]);
if (u !== 0) return u;
}
return t(n.length, a.length);
}
case "byteArray": {
let { byteLength: d } = n,
{ byteLength: l } = a;
if (d < l) return -1;
if (d > l) return 1;
let u =
Object.getPrototypeOf(n) === ArrayBuffer.prototype
? new Uint8Array(n)
: new Uint8Array(n.slice(0)),
p =
Object.getPrototypeOf(a) === ArrayBuffer.prototype
? new Uint8Array(a)
: new Uint8Array(a.slice(0));
for (let y = 0; y < d; y += 1) {
let b = u[y],
m = p[y];
if (b < m) return -1;
if (b > m) return 1;
}
return 0;
}
case "tagged": {
let d = t($e(n), $e(a));
return d !== 0 ? d : t(n.payload, a.payload);
}
default:
throw f`Unrecognized passStyle: ${x(i)}`;
}
},
r = (n, a) => t(n, a) || 0,
o = (n, a) => r(a, n);
return (
Vd.set(r, new WeakSet()),
Vd.set(o, new WeakSet()),
zb.set(r, o),
zb.set(o, r),
harden({ comparator: r, antiComparator: o })
);
};
var Rn = (e, t) => {
let r = Vd.get(t);
if ((assert(r !== void 0), r.has(e))) return !0;
assert(ce(e) === "copyArray");
for (let o = 1; o < e.length; o += 1)
if (t(e[o - 1], e[o]) >= 1) return !1;
return (r.add(e), !0);
};
harden(Rn);
var go = (e, t) => Rn(e, t) || f`Must be rank sorted: ${e} vs ${wt(e, t)}`;
harden(go);
var wt = (e, t) => {
let r;
if (Array.isArray(e)) {
if ((harden(e), Rn(e, t))) return e;
r = [...e];
} else r = Array.from(e, harden);
let o = r.sort(t);
if (t(!0, void 0) > 0) {
let a = o.length - 1;
for (; a >= 0 && o[a] === void 0; ) a -= 1;
let i = o.length - a - 1;
i > 0 && i < o.length && (o.copyWithin(i, 0), o.fill(void 0, 0, i));
}
harden(o);
let n = Vd.get(t);
return (assert(n !== void 0), n.add(o), o);
};
harden(wt);
var Yb = (e, t, r, o = "leftMost") => {
go(e, t);
let n = 0,
a = e.length;
for (; n < a; ) {
let i = Math.floor((n + a) / 2),
c = t(e[i], r);
c <= -1 || (c === 0 && o === "rightMost")
? (n = i + 1)
: (assert(c >= 1 || (c === 0 && o === "leftMost")), (a = i));
}
return o === "leftMost" ? n : a - 1;
},
VC = (e, t, [r, o]) => {
go(e, t);
let n = Yb(e, t, r, "leftMost"),
a = Yb(e, t, o, "rightMost");
return [n, a];
};
harden(VC);
var W4 = harden(["", "{"]),
HC = (e, [t, r]) =>
harden({
[Symbol.iterator]: () => {
let n = t;
return harden({
next: () => {
if (n <= r) {
let a = e[n];
return ((n += 1), harden({ value: [n, a], done: !1 }));
} else return harden({ value: void 0, done: !0 });
},
});
},
});
harden(HC);
var Xb = (e, t, r) => (e(t, r) >= 0 ? t : r),
ev = (e, t, r) => (e(t, r) <= 0 ? t : r),
Hd = (e, t) => {
let r = ([o, n], [a, i]) => [ev(e, o, a), Xb(e, n, i)];
return t.reduce(r, ["{", ""]);
};
harden(Hd);
var wm = (e, t) => {
let r = ([o, n], [a, i]) => [Xb(e, o, a), ev(e, n, i)];
return t.reduce(r, ["", "{"]);
},
{ comparator: nr, antiComparator: Pt } = Zb(),
Qt = (e = !1) => {
let t = 0,
r = e ? WeakMap : Map,
o = new r(),
n = (i) => (o.has(i) ? o.get(i) : ((t += 1), o.set(i, t), t));
return Zb((i, c) => nr(n(i), n(c)));
};
harden(Qt);
var tv = (e, t, r) => {
((t = t || Qt().antiComparator), (e = wt(e, t)));
let { length: o } = e;
for (let n = 1; n < o; n += 1) {
let a = e[n - 1],
i = e[n];
if (t(a, i) === 0) return r(!1, V`value has duplicate keys: ${a}`);
}
return !0;
},
rv = (e, t = void 0) => {
tv(e, t, Te);
},
Gi = (e, t) =>
ce(e) !== "copyArray"
? t(!1, V`The keys of a copySet or copyMap must be a copyArray: ${e}`)
: Rn(e, Pt)
? tv(e, void 0, t)
: t(
!1,
V`The keys of a copySet or copyMap must be sorted in reverse rank order: ${e}`,
);
harden(Gi);
var ov = (e) => {
Gi(e, Te);
};
harden(ov);
var Da = (e) => {
let t = wt(e, Pt);
return (ov(t), t);
};
harden(Da);
var Qi = (e) => Ce("copySet", Da(e));
harden(Qi);
var nv = (e, t, r) => {
((t = t || Qt().antiComparator), (e = wt(e, t)));
let { length: o } = e;
for (let n = 1; n < o; n += 1) {
let a = e[n - 1][0],
i = e[n][0];
if (t(a, i) === 0) return r(!1, V`value has duplicate keys: ${a}`);
}
return !0;
},
sv = (e, t = void 0) => {
nv(e, t, Te);
},
Wd = (e, t) => {
if (ce(e) !== "copyArray")
return t(!1, V`The entries of a copyBag must be a copyArray: ${e}`);
if (!Rn(e, Pt))
return t(
!1,
V`The entries of a copyBag must be sorted in reverse rank order: ${e}`,
);
for (let r of e) {
if (
ce(r) !== "copyArray" ||
r.length !== 2 ||
typeof r[1] != "bigint"
)
return t(
!1,
V`Each entry of a copyBag must be pair of a key and a bigint representing a count: ${r}`,
);
if (r[1] < 1)
return t(
!1,
V`Each entry of a copyBag must have a positive count: ${r}`,
);
}
return nv(e, void 0, t);
};
harden(Wd);
var av = (e) => {
Wd(e, Te);
};
harden(av);
var Ld = (e) => {
let t = wt(e, Pt);
return (av(t), t);
};
harden(Ld);
var zi = (e) => Ce("copyBag", Ld(e));
harden(zi);
var { ownKeys: WC } = Reflect,
qd = (e, t) => {
if (ms(e)) return !0;
let r = ce(e);
return r === "remotable"
? !0
: t(!1, V`A ${x(r)} cannot be a scalar key: ${e}`);
},
LC = (e) => qd(e, Xe);
harden(LC);
var fs = (e) => {
qd(e, Te);
};
harden(fs);
var iv = new WeakSet(),
sr = (e, t) => {
if (ms(e) || iv.has(e)) return !0;
let r = QC(e, t);
return (r && iv.add(e), r);
};
harden(sr);
var ho = (e) => sr(e, Xe);
harden(ho);
var bo = (e) => {
sr(e, Te);
};
harden(bo);
var cv = new WeakSet(),
Na = (e, t) => {
if (cv.has(e)) return !0;
let r =
((ce(e) === "tagged" && $e(e) === "copySet") ||
t(!1, V`Not a copySet: ${e}`)) &&
Gi(e.payload, t) &&
sr(e.payload, t);
return (r && cv.add(e), r);
};
harden(Na);
var Ba = (e) => Na(e, Xe);
harden(Ba);
var jd = (e) => {
Na(e, Te);
};
harden(jd);
var vo = (e) => (jd(e), e.payload);
harden(vo);
var qC = (e, t) => vo(e).every((r, o) => t(r, o));
harden(qC);
var Ar = (e) => {
let t = Qi(e);
return (jd(t), t);
};
harden(Ar);
var dv = new WeakSet(),
Ma = (e, t) => {
if (dv.has(e)) return !0;
let r =
((ce(e) === "tagged" && $e(e) === "copyBag") ||
t(!1, V`Not a copyBag: ${e}`)) &&
Wd(e.payload, t) &&
sr(e.payload, t);
return (r && dv.add(e), r);
};
harden(Ma);
var uv = (e) => Ma(e, Xe);
harden(uv);
var Gd = (e) => {
Ma(e, Te);
};
harden(Gd);
var On = (e) => (Gd(e), e.payload);
harden(On);
var jC = (e, t) => On(e).every((r, o) => t(r, o));
harden(jC);
var qo = (e) => {
let t = zi(e);
return (Gd(t), t);
};
harden(qo);
var Pm = (e) => {
let t = Qt().antiComparator,
r = wt(e, t),
o = [];
for (let n = 0; n < r.length; ) {
let a = r[n],
i = n + 1;
for (; i < r.length && t(a, r[i]) === 0; ) i += 1;
(o.push([a, BigInt(i - n)]), (n = i));
}
return qo(o);
};
harden(Pm);
var lv = new WeakSet(),
$a = (e, t) => {
if (lv.has(e)) return !0;
if (!(ce(e) === "tagged" && $e(e) === "copyMap"))
return t(!1, V`Not a copyMap: ${e}`);
let { payload: r } = e;
if (ce(r) !== "copyRecord")
return t(!1, V`A copyMap's payload must be a record: ${e}`);
let { keys: o, values: n, ...a } = r,
i =
(WC(a).length === 0 ||
t(
!1,
V`A copyMap's payload must only have .keys and .values: ${e}`,
)) &&
Gi(o, t) &&
sr(o, t) &&
(ce(n) === "copyArray" ||
t(!1, V`A copyMap's .values must be a copyArray: ${e}`)) &&
(o.length === n.length ||
t(
!1,
V`A copyMap must have the same number of keys and values: ${e}`,
));
return (i && lv.add(e), i);
};
harden($a);
var _a = (e) => $a(e, Xe);
harden(_a);
var ys = (e) => {
$a(e, Te);
};
harden(ys);
var Qd = (e) => (ys(e), e.payload.keys);
harden(Qd);
var pv = (e) => (ys(e), e.payload.values);
harden(pv);
var Yi = (e) => {
ys(e);
let {
payload: { keys: t, values: r },
} = e;
return harden(t.map((o, n) => [o, r[n]]));
};
harden(Yi);
var gs = (e) => {
ys(e);
let {
payload: { keys: t, values: r },
} = e,
{ length: o } = t;
return se("CopyMap entries iterable", {
[Symbol.iterator]: () => {
let n = 0;
return se("CopyMap entries iterator", {
next: () => {
let a;
return n < o
? ((a = harden({ done: !1, value: [t[n], r[n]] })), (n += 1), a)
: ((a = harden({ done: !0, value: void 0 })), a);
},
});
},
});
};
harden(gs);
var GC = (e, t) => Qd(e).every((r, o) => t(r, o));
harden(GC);
var mv = (e, t) => pv(e).every((r, o) => t(r, o));
harden(mv);
var zd = (e) => Ce("copySet", e.payload.keys);
harden(zd);
var jo = (e) => {
let t = wt(e, Pt),
r = t.map(([a, i]) => a),
o = t.map(([a, i]) => i),
n = Ce("copyMap", { keys: r, values: o });
return (ys(n), n);
};
harden(jo);
var QC = (e, t) => {
let r = (n) => sr(n, t),
o = ce(e);
switch (o) {
case "remotable":
return !0;
case "copyRecord":
return Object.values(e).every(r);
case "copyArray":
return e.every(r);
case "tagged": {
let n = $e(e);
switch (n) {
case "copySet":
return Na(e, t);
case "copyBag":
return Ma(e, t);
case "copyMap":
return $a(e, t) && mv(e, r);
default:
return (
t !== Xe &&
t(!1, V`A passable tagged ${x(n)} is not a key: ${e}`)
);
}
}
case "error":
case "promise":
return t(!1, V`A ${x(o)} cannot be a key`);
default:
throw f`unexpected passStyle ${x(o)}: ${e}`;
}
};
var Fa = (e) => {
let t = harden({ [Symbol.iterator]: () => t, next: e });
return t;
};
harden(Fa);
var km = (e) => {
let { length: t } = e,
r = 0;
return Fa(() => {
let o;
return r < t
? ((o = e[r]), (r += 1), harden({ done: !1, value: o }))
: harden({ done: !0, value: o });
});
};
harden(km);
var Im = (e, t, r) => {
go(e, t);
let { length: o } = e,
n = 0,
a;
return Fa(() => {
if (a) {
let i = a.next();
if (!i.done) return i;
a = void 0;
}
if (n < o) {
let i = e[n],
c = n + 1;
for (; c < o && t(i[0], e[c][0]) === 0; ) c += 1;
if (c === n + 1) return ((n = c), harden({ done: !1, value: i }));
let d = e.slice(n, c);
n = c;
let l = wt(d, r);
for (let u = 1; u < l.length; u += 1) {
let [p] = l[u - 1],
[y] = l[u];
Math.sign(r(p, y)) || f`Duplicate entry key: ${p}`;
}
return ((a = km(l)), a.next());
}
return harden({ done: !0, value: void 0 });
});
};
harden(Im);
var Yd = (e, t, r, o) => {
let n = r(e),
a = r(t),
i = Qt().antiComparator,
c = Im(n, Pt, i),
d = Im(a, Pt, i),
l,
u,
p,
y,
b,
m,
v = [void 0, void 0],
h = () => {
!l || f`Internal: nextX must not be called once done`;
let S = p;
return (({ done: l, value: [u, p] = v } = c.next()), S);
};
h();
let g = () => {
!y || f`Internal: nextY must not be called once done`;
let S = m;
return (({ done: y, value: [b, m] = v } = d.next()), S);
};
return (
g(),
Fa(() => {
let S = !1,
w;
if (l && y) ((S = !0), (w = [void 0, o, o]));
else if (l) w = [b, o, g()];
else if (y) w = [u, h(), o];
else {
let I = i(u, b);
if (I === 0) w = [u, h(), g()];
else if (I < 0) w = [u, h(), o];
else if (I > 0) w = [b, o, g()];
else throw f`Unexpected key comparison ${x(I)} for ${u} vs ${b}`;
}
return harden({ done: S, value: w });
})
);
};
harden(Yd);
var Zi = (e, t, r) =>
harden((o, n) => {
let a = Yd(o, n, e, t),
i = !1,
c = !1;
for (let [d, l, u] of a) {
let p = r(l, u);
if (p !== 0) {
if (p < 0) c = !0;
else if (p > 0) i = !0;
else
return (
Number.isNaN(p) ||
f`Unexpected value comparison ${x(p)} for ${l} vs ${u}`,
NaN
);
if (i && c) return NaN;
}
}
return i ? 1 : c ? -1 : 0;
});
harden(Zi);
var Zd = Zi((e) => harden(vo(e).map((t) => [t, 1])), 0, Ea);
harden(Zd);
var Xd = Zi(On, 0n, Ea);
harden(Xd);
var Xi = Symbol("absent"),
zC = Zi(Yi, Xi, (e, t) => {
if (e === Xi && t === Xi)
throw f`Internal: Unexpected absent entry pair`;
return e === Xi ? -1 : t === Xi ? 1 : Kr(e, t);
});
harden(zC);
var Kr = (e, t) => {
(bo(e), bo(t));
let r = ce(e),
o = ce(t);
if (r !== o) return NaN;
switch (r) {
case "undefined":
case "null":
case "boolean":
case "bigint":
case "string":
case "byteArray":
case "symbol":
return nr(e, t);
case "number": {
let n = nr(e, t);
return n === 0
? 0
: Number.isNaN(e) || Number.isNaN(t)
? (assert(!Number.isNaN(e) || !Number.isNaN(t)), NaN)
: n;
}
case "remotable":
return e === t ? 0 : NaN;
case "copyArray": {
let n = Math.min(e.length, t.length);
for (let a = 0; a < n; a += 1) {
let i = Kr(e[a], t[a]);
if (i !== 0) return i;
}
return nr(e.length, t.length);
}
case "copyRecord": {
let n = Ft(e),
a = Ft(t);
if (!ar(n, a)) return NaN;
let i = xr(e, n),
c = xr(t, a),
d = 0;
for (let l = 0; l < i.length; l += 1) {
let u = Kr(i[l], c[l]);
if (Number.isNaN(u)) return NaN;
if (d !== u && u !== 0)
if (d === 0) d = u;
else
return (
assert((d === -1 && u === 1) || (d === 1 && u === -1)),
NaN
);
}
return d;
}
case "tagged": {
let n = $e(e),
a = $e(t);
if (n !== a) return NaN;
switch (n) {
case "copySet":
return Zd(e, t);
case "copyBag":
return Xd(e, t);
case "copyMap":
throw f`Map comparison not yet implemented: ${e} vs ${t}`;
default:
throw f`unexpected tag ${x(n)}: ${e}`;
}
}
default:
throw f`unexpected passStyle ${x(r)}: ${e}`;
}
};
harden(Kr);
var ec = (e, t) => Kr(e, t) < 0;
harden(ec);
var tc = (e, t) => Kr(e, t) <= 0;
harden(tc);
var ar = (e, t) => Kr(e, t) === 0;
harden(ar);
var rc = (e, t) => Kr(e, t) >= 0;
harden(rc);
var oc = (e, t) => Kr(e, t) > 0;
harden(oc);
var fv = (e, t, r) => {
go(e, t);
let { length: o } = e,
n = 0,
a;
return harden({
[Symbol.iterator]: () =>
harden({
next: () => {
if (a) {
let i = a.next();
if (i.done) a = void 0;
else return i;
}
if (n < o) {
let i = e[n],
c = n + 1;
for (; c < o && t(i, e[c]) === 0; ) c += 1;
if (c === n + 1)
return ((n = c), harden({ done: !1, value: i }));
let d = e.slice(n, c);
n = c;
let l = wt(d, r);
return (rv(l, r), (a = l[Symbol.iterator]()), a.next());
} else return harden({ done: !0, value: null });
},
}),
});
},
yv = (e, t) => {
let r = Qt().antiComparator,
o = fv(e, Pt, r),
n = fv(t, Pt, r);
return harden({
[Symbol.iterator]: () => {
let a,
i,
c,
d,
l = o[Symbol.iterator](),
u = () => {
(!i || f`Internal: nextX should not be called once done`,
({ done: i, value: a } = l.next()));
};
u();
let p = n[Symbol.iterator](),
y = () => {
(!d || f`Internal: nextY should not be called once done`,
({ done: d, value: c } = p.next()));
};
return (
y(),
harden({
next: () => {
let b = !1,
m;
if (i && d) ((b = !0), (m = [null, 0n, 0n]));
else if (i) ((m = [c, 0n, 1n]), y());
else if (d) ((m = [a, 1n, 0n]), u());
else {
let v = r(a, c);
v === 0
? ((m = [a, 1n, 1n]), u(), y())
: v < 0
? ((m = [a, 1n, 0n]), u())
: (v > 0 || f`Internal: Unexpected comp ${x(v)}`,
(m = [c, 0n, 1n]),
y());
}
return harden({ done: b, value: m });
},
})
);
},
});
};
harden(yv);
var YC = (e) => {
for (let [t, r, o] of e) if (r === 0n) return !1;
return !0;
},
ZC = (e) => {
for (let [t, r, o] of e) if (r >= 1n && o >= 1n) return !1;
return !0;
},
XC = (e) => {
let t = !1,
r = !1;
for (let [o, n, a] of e)
if ((n === 0n && (t = !0), a === 0n && (r = !0), r && t)) return NaN;
return r
? 1
: t
? -1
: ((!r && !t) || f`Internal: Unexpected lone pair ${x([r, t])}`, 0);
},
e3 = (e) => {
let t = [];
for (let [r, o, n] of e)
(o >= 0n || n >= 0n || f`Internal: Unexpected count ${x(n)}`,
t.push(r));
return t;
},
t3 = (e) => {
let t = [];
for (let [r, o, n] of e)
(o === 0n || n === 0n || f`Sets must not have common elements: ${r}`,
o >= 1n || n >= 1n || f`Internal: Unexpected count ${x(n)}`,
t.push(r));
return t;
},
r3 = (e) => {
let t = [];
for (let [r, o, n] of e) o >= 1n && n >= 1n && t.push(r);
return t;
},
o3 = (e) => {
let t = [];
for (let [r, o, n] of e)
(o >= 1n || f`right element ${r} was not in left`,
n === 0n && t.push(r));
return t;
},
hs = (e) => (t, r) => e(yv(t, r)),
nc = hs(YC),
Tm = hs(ZC),
el = hs(XC),
Um = hs(e3),
sc = hs(t3),
Cm = hs(r3),
ac = hs(o3),
gv = (e) => (t, r) => e(t.payload, r.payload),
tl = (e) => (t, r) => Qi(e(t.payload, r.payload)),
rl = gv(nc),
hv = gv(Tm),
bv = tl(Um),
ol = tl(sc),
vv = tl(Cm),
nl = tl(ac);
var Sv = (e, t, r) => {
go(e, t);
let { length: o } = e,
n = 0,
a;
return harden({
[Symbol.iterator]: () =>
harden({
next: () => {
if (a) {
let i = a.next();
if (i.done) a = void 0;
else return i;
}
if (n < o) {
let i = e[n],
c = n + 1;
for (; c < o && t(i[0], e[c][0]) === 0; ) c += 1;
if (c === n + 1)
return ((n = c), harden({ done: !1, value: i }));
let d = e.slice(n, c);
n = c;
let l = wt(d, r);
return (sv(l, r), (a = l[Symbol.iterator]()), a.next());
} else return harden({ done: !0, value: [null, 0n] });
},
}),
});
},
xv = (e, t) => {
let r = Qt().antiComparator,
o = Sv(e, Pt, r),
n = Sv(t, Pt, r);
return harden({
[Symbol.iterator]: () => {
let a,
i,
c,
d,
l,
u,
p = o[Symbol.iterator](),
y = () => {
(!c || f`Internal: nextX should not be called once done`,
({
done: c,
value: [a, i],
} = p.next()));
};
y();
let b = n[Symbol.iterator](),
m = () => {
(!u || f`Internal: nextY should not be called once done`,
({
done: u,
value: [d, l],
} = b.next()));
};
return (
m(),
harden({
next: () => {
let v = !1,
h;
if (c && u) ((v = !0), (h = [null, 0n, 0n]));
else if (c) ((h = [d, 0n, l]), m());
else if (u) ((h = [a, i, 0n]), y());
else {
let g = r(a, d);
g === 0
? ((h = [a, i, l]), y(), m())
: g < 0
? ((h = [a, i, 0n]), y())
: (g > 0 || f`Internal: Unexpected comp ${x(g)}`,
(h = [d, 0n, l]),
m());
}
return harden({ done: v, value: h });
},
})
);
},
});
};
harden(xv);
var n3 = (e) => {
for (let [t, r, o] of e) if (r < o) return !1;
return !0;
},
s3 = (e) => {
for (let [t, r, o] of e) if (r >= 1n && o >= 1n) return !1;
return !0;
},
a3 = (e) => {
let t = [];
for (let [r, o, n] of e) t.push([r, o + n]);
return t;
},
i3 = (e) => {
let t = [];
for (let [r, o, n] of e) {
let a = o <= n ? o : n;
t.push([r, a]);
}
return t;
},
c3 = (e) => {
let t = [];
for (let [r, o, n] of e) {
let a = o - n;
(a >= 0n || f`right element ${r} was not in left`,
a >= 1n && t.push([r, a]));
}
return t;
},
ic = (e) => (t, r) => e(xv(t, r)),
d3 = ic(n3),
l3 = ic(s3),
u3 = ic(a3),
p3 = ic(i3),
m3 = ic(c3),
Av = (e) => (t, r) => e(t.payload, r.payload),
Rm = (e) => (t, r) => zi(e(t.payload, r.payload)),
sl = Av(d3),
BK = Av(l3),
al = Rm(u3),
wv = Rm(p3),
il = Rm(m3);
var Jr = (e, t, r = void 0, o = void 0) => {
typeof t == "number" && (t = `[${t}]`);
let n = Se(`${t}: ${e.message}`, r, o);
throw (Ze(n, V`Caused by ${e}`), n);
};
harden(Jr);
var Ka = (e, t, r = void 0) => {
if (r === void 0) return e(...t);
let o;
try {
o = e(...t);
} catch (n) {
Jr(n, r);
}
return rr(o) ? O.when(o, void 0, (n) => Jr(n, r)) : o;
};
harden(Ka);
var { fromEntries: f3 } = Object,
{ ownKeys: y3 } = Reflect,
So = (e) => {
let t = [...e],
r = harden(f3(t));
if (y3(r).length === t.length) return r;
let o = new Set();
for (let [n, a] of t)
(o.has(n) && f`collision on property name ${x(n)}: ${t}`, o.add(n));
throw f`internal: failed to create object from unique entries`;
};
harden(So);
var wr = (e, t) => {
let r = new Set(t);
return e.filter((o) => !r.has(o));
};
harden(wr);
var { entries: Om, values: g3, hasOwn: Pv } = Object,
{ ownKeys: Em } = Reflect,
kv = new WeakSet(),
kt,
h3 = harden({
decimalDigitsLimit: 100,
stringLengthLimit: 1e5,
symbolNameLengthLimit: 100,
numPropertiesLimit: 80,
propertyNameLengthLimit: 100,
arrayLengthLimit: 1e4,
byteLengthLimit: 1e5,
numSetElementsLimit: 1e4,
numUniqueBagElementsLimit: 1e4,
numMapEntriesLimit: 5e3,
}),
Vr = (e = {}) => harden({ __proto__: h3, ...e }),
Hr = (e, t, r, o) => {
if ((assert(Array.isArray(t)), !Array.isArray(e)))
return r(!1, V`${x(o)} payload must be an array: ${e}`);
let n = t.length;
if (!(e.length === n || e.length === n + 1))
return r(!1, V`${x(o)} payload unexpected size: ${e}`);
let a = e[n];
return (
(e = harden(e.slice(0, n))),
v3(e, t, r, o)
? a === void 0
? !0
: (ce(a) === "copyRecord" ||
r(!1, V`Limits must be a record: ${x(a)}`)) &&
Om(a).every(
([i, c]) =>
ce(c) === "number" ||
r(!1, V`Value of limit ${x(i)} but be a number: ${x(c)}`),
)
: !1
);
},
cl = (e, t, r) =>
Math.floor(Math.log10(Math.abs(Number(e)))) + 1 <= t
? !0
: r(!1, V`bigint ${e} must not have more than ${t} digits`),
b3 = () => {
let e = (A) => Ni[A],
t = (A) => R3[A],
r = new Map([
["null", null],
["undefined", void 0],
]),
o = new WeakMap(),
n = (A, C, M) => {
let Z = e(C);
if (Z) return Z.checkIsWellFormed(A.payload, M);
{
let ae = t(C);
if (ae !== void 0) return m(A.payload, ae, M, C);
}
switch (C) {
case "copySet":
return Na(A, M);
case "copyBag":
return Ma(A, M);
case "copyMap":
return $a(A, M);
default:
return M(!1, V`cannot check unrecognized tag ${x(C)}: ${A}`);
}
},
a = (A, C = Xe) => {
let M = ce(A);
if (M !== "tagged") return M;
if (o.has(A)) return o.get(A);
let Z = $e(A);
if (n(A, Z, C)) return (o.set(A, Z), Z);
C !== Xe && C(!1, V`cannot check unrecognized tag ${x(Z)}`);
};
harden(a);
let i = (A, C, M) => {
if (r.has(C)) return l(A, r.get(C), M);
let Z = a(A, M);
return C === Z
? !0
: (M !== Xe && M(!1, V`${tt(Z)} ${A} - Must be a ${tt(C)}`), !1);
},
c = (A, C) => i(A, C, Xe),
d = (A) =>
A === void 0 || (c(A, "match:kind") && A.payload === "undefined"),
l = (A, C, M) =>
ho(A) && ar(A, C) ? !0 : M !== Xe && M(!1, V`${A} - Must be: ${C}`),
u = (A, C) => {
if (ho(A) || kv.has(A)) return !0;
let M = p(A, C);
return (M && kv.add(A), M);
},
p = (A, C) => {
let M = (ae) => u(ae, C),
Z = a(A, C);
switch (Z) {
case void 0:
return !1;
case "copyRecord":
return g3(A).every(M);
case "copyArray":
return A.every(M);
case "copyMap":
return u(A.values, C);
case "error":
case "promise":
return C(!1, V`A ${x(Z)} cannot be a pattern`);
default:
return e(Z) !== void 0
? !0
: C(!1, V`A passable of kind ${x(Z)} is not a pattern: ${A}`);
}
},
y = (A) => u(A, Xe),
b = (A) => {
u(A, Te);
},
m = (A, C, M, Z = void 0) => Ka(v, [A, C, M], Z),
v = (A, C, M) => {
let Z = a(C, M),
ae = a(A);
switch (Z) {
case void 0:
return f`pattern expected: ${C}`;
case "promise":
return f`promises cannot be patterns: ${C}`;
case "error":
return f`errors cannot be patterns: ${C}`;
case "undefined":
case "null":
case "boolean":
case "number":
case "bigint":
case "string":
case "symbol":
case "byteArray":
case "copySet":
case "copyBag":
case "remotable":
return l(A, C, M);
case "copyArray": {
if (ho(C)) return l(A, C, M);
if (ae !== "copyArray")
return M(
!1,
V`${A} - Must be a copyArray to match a copyArray pattern: ${Sr(C)}`,
);
let { length: me } = C;
return A.length !== me
? M(
!1,
V`Array ${A} - Must be as long as copyArray pattern: ${Sr(C)}`,
)
: C.every((be, Pe) => m(A[Pe], be, M, Pe));
}
case "copyRecord": {
if (ho(C)) return l(A, C, M);
if (ae !== "copyRecord")
return M(
!1,
V`${A} - Must be a copyRecord to match a copyRecord pattern: ${Sr(C)}`,
);
let me = Ft(A),
be = Ft(C),
Pe = wr(be, me);
if (Pe.length >= 1)
return M(!1, V`${A} - Must have missing properties ${x(Pe)}`);
let We = wr(me, be);
if (We.length >= 1)
return M(
!1,
V`${A} - Must not have unexpected properties: ${x(We)}`,
);
let gt = xr(A, me),
Et = xr(C, be);
return be.every((In, wd) => m(gt[wd], Et[wd], M, In));
}
case "copyMap": {
if (ho(C)) return l(A, C, M);
if (ae !== "copyMap")
return M(
!1,
V`${A} - Must be a copyMap to match a copyMap pattern: ${Sr(C)}`,
);
let me = zd(C),
be = zd(A);
if (!m(be, me, M)) return !1;
let Pe = [],
We = [],
gt = Yd(C, A, Yi, void 0);
for (let [Et, In, wd] of gt) (Pe.push(In), We.push(wd));
return m(harden(We), harden(Pe), M);
}
default: {
let me = e(Z);
if (me) return me.checkMatches(A, C.payload, M);
throw f`internal: should have recognized ${x(Z)} `;
}
}
},
h = (A, C) => m(A, C, Xe),
g = (A, C, M = void 0) => {
let Z;
try {
if (m(A, C, Xe, void 0)) return;
} catch (me) {
Z = me;
}
m(A, C, Te, M);
let ae = Se(
V`internal: ${M}: inconsistent pattern match: ${Sr(C)}`,
);
throw (Z !== void 0 && Ze(ae, V`caused by ${Z}`), ae);
},
S = (A, C) => {
if (ho(A)) {
let Z = C(A);
if (Z !== void 0) return [Z, `${Z}~`];
}
let M = ce(A);
switch (M) {
case "copyArray":
break;
case "copyRecord":
break;
case "tagged": {
let Z = $e(A),
ae = e(Z);
if (ae) return ae.getRankCover(A.payload, C);
switch (Z) {
case "copySet":
break;
case "copyMap":
break;
default:
break;
}
break;
}
default:
break;
}
return st(M);
},
w = (A, C, M, Z = "") =>
c(C, "match:any")
? !0
: A.every((ae, me) => m(ae, C, M, `${Z}[${me}]`)),
I = se("match:any helper", {
checkMatches: (A, C, M) => !0,
checkIsWellFormed: (A, C) =>
A === void 0 ||
C(!1, V`match:any payload: ${A} - Must be undefined`),
getRankCover: (A, C) => ["", "{"],
}),
E = se("match:and helper", {
checkMatches: (A, C, M) => C.every((Z) => m(A, Z, M)),
checkIsWellFormed: (A, C) => {
let M = (Z) => u(Z, C);
return (
(ce(A) === "copyArray" ||
C(!1, V`Needs array of sub-patterns: ${Sr(A)}`)) &&
A.every(M)
);
},
getRankCover: (A, C) =>
wm(
nr,
A.map((M) => S(M, C)),
),
}),
K = se("match:or helper", {
checkMatches: (A, C, M) => {
let { length: Z } = C;
if (Z === 0)
return M(!1, V`${A} - no pattern disjuncts to match: ${Sr(C)}`);
let ae = C.length === 2 ? C.findIndex((me) => d(me)) : -1;
return ae !== -1
? A === void 0 || m(A, C[1 - ae], M)
: C.some((me) => h(A, me))
? !0
: M(!1, V`${A} - Must match one of ${Sr(C)}`);
},
checkIsWellFormed: E.checkIsWellFormed,
getRankCover: (A, C) =>
Hd(
nr,
A.map((M) => S(M, C)),
),
}),
J = se("match:not helper", {
checkMatches: (A, C, M) =>
h(A, C)
? M(!1, V`${A} - Must fail negated pattern: ${Sr(C)}`)
: !0,
checkIsWellFormed: u,
getRankCover: (A, C) => ["", "{"],
}),
P = se("match:scalar helper", {
checkMatches: (A, C, M) => qd(A, M),
checkIsWellFormed: I.checkIsWellFormed,
getRankCover: (A, C) => ["a", "z~"],
}),
k = se("match:key helper", {
checkMatches: (A, C, M) => sr(A, M),
checkIsWellFormed: I.checkIsWellFormed,
getRankCover: (A, C) => ["a", "z~"],
}),
U = se("match:pattern helper", {
checkMatches: (A, C, M) => u(A, M),
checkIsWellFormed: I.checkIsWellFormed,
getRankCover: (A, C) => ["a", "z~"],
}),
D = se("match:kind helper", {
checkMatches: i,
checkIsWellFormed: (A, C) =>
typeof A == "string" ||
C(
!1,
V`match:kind: payload: ${A} - A kind name must be a string`,
),
getRankCover: (A, C) => {
let M;
switch (A) {
case "copySet":
case "copyMap": {
M = "tagged";
break;
}
default: {
M = A;
break;
}
}
return st(M);
},
}),
_ = se("match:tagged helper", {
checkMatches: (A, [C, M], Z) =>
ce(A) !== "tagged"
? Z(!1, V`Expected tagged object, not ${x(ce(A))}: ${A}`)
: m($e(A), C, Z, "tag") && m(A.payload, M, Z, "payload"),
checkIsWellFormed: (A, C) =>
m(
A,
harden([kt.pattern(), kt.pattern()]),
C,
"match:tagged payload",
),
getRankCover: (A, C) => st("tagged"),
}),
T = se("match:bigint helper", {
checkMatches: (A, [C = void 0], M) => {
let { decimalDigitsLimit: Z } = Vr(C);
return i(A, "bigint", M) && cl(A, Z, M);
},
checkIsWellFormed: (A, C) =>
Hr(A, harden([]), C, "match:bigint payload"),
getRankCover: (A, C) => st("bigint"),
}),
R = se("match:nat helper", {
checkMatches: (A, [C = void 0], M) => {
let { decimalDigitsLimit: Z } = Vr(C);
return (
i(A, "bigint", M) &&
M(A >= 0n, V`${A} - Must be non-negative`) &&
cl(A, Z, M)
);
},
checkIsWellFormed: (A, C) =>
Hr(A, harden([]), C, "match:nat payload"),
getRankCover: (A, C) => st("bigint"),
}),
N = se("match:string helper", {
checkMatches: (A, [C = void 0], M) => {
let { stringLengthLimit: Z } = Vr(C);
return (
i(A, "string", M) &&
(A.length <= Z ||
M(!1, V`string ${A} must not be bigger than ${Z}`))
);
},
checkIsWellFormed: (A, C) =>
Hr(A, harden([]), C, "match:string payload"),
getRankCover: (A, C) => st("string"),
}),
F = se("match:symbol helper", {
checkMatches: (A, [C = void 0], M) => {
let { symbolNameLengthLimit: Z } = Vr(C);
if (!i(A, "symbol", M)) return !1;
let ae = _t(A);
if (typeof ae != "string")
throw f`internal: Passable symbol ${A} must have a passable name`;
return M(
ae.length <= Z,
V`Symbol name ${x(ae)} must not be bigger than ${Z}`,
);
},
checkIsWellFormed: (A, C) =>
Hr(A, harden([]), C, "match:symbol payload"),
getRankCover: (A, C) => st("symbol"),
}),
H = se("match:remotable helper", {
checkMatches: (A, C, M) => {
if (c(A, "remotable")) return !0;
if (M === Xe) return !1;
let { label: Z } = C,
ae = ce(A),
me = ae !== "tagged" ? tt(ae) : x($e(A));
return M(!1, V`${A} - Must be a remotable ${tt(Z)}, not ${me}`);
},
checkIsWellFormed: (A, C) =>
m(
A,
harden({ label: kt.string() }),
C,
"match:remotable payload",
),
getRankCover: (A, C) => st("remotable"),
}),
q = se("match:lte helper", {
checkMatches: (A, C, M) =>
tc(A, C) || M(!1, V`${A} - Must be <= ${C}`),
checkIsWellFormed: sr,
getRankCover: (A, C) => {
let M = ce(A),
[Z, ae] = st(M),
me = `${C(A)}~`;
return (me !== void 0 && (ae = me), [Z, ae]);
},
}),
ne = se("match:lt helper", {
checkMatches: (A, C, M) =>
ec(A, C) || M(!1, V`${A} - Must be < ${C}`),
checkIsWellFormed: sr,
getRankCover: q.getRankCover,
}),
ee = se("match:gte helper", {
checkMatches: (A, C, M) =>
rc(A, C) || M(!1, V`${A} - Must be >= ${C}`),
checkIsWellFormed: sr,
getRankCover: (A, C) => {
let M = ce(A),
[Z, ae] = st(M),
me = C(A);
return (me !== void 0 && (Z = me), [Z, ae]);
},
}),
Q = se("match:gt helper", {
checkMatches: (A, C, M) =>
oc(A, C) || M(!1, V`${A} - Must be > ${C}`),
checkIsWellFormed: sr,
getRankCover: ee.getRankCover,
}),
L = se("match:recordOf helper", {
checkMatches: (A, [C, M, Z = void 0], ae) => {
let { numPropertiesLimit: me, propertyNameLengthLimit: be } =
Vr(Z);
return (
i(A, "copyRecord", ae) &&
ae(
Em(A).length <= me,
V`Must not have more than ${x(me)} properties: ${A}`,
) &&
Om(A).every(
([Pe, We]) =>
Ka(
ae,
[
Pe.length <= be,
V`Property name must not be longer than ${x(be)}`,
],
Pe,
) && m(harden([Pe, We]), harden([C, M]), ae, Pe),
)
);
},
checkIsWellFormed: (A, C) =>
Hr(
A,
harden([kt.pattern(), kt.pattern()]),
C,
"match:recordOf payload",
),
getRankCover: (A) => st("copyRecord"),
}),
W = se("match:arrayOf helper", {
checkMatches: (A, [C, M = void 0], Z) => {
let { arrayLengthLimit: ae } = Vr(M);
return (
i(A, "copyArray", Z) &&
(A.length <= ae ||
Z(!1, V`Array length ${A.length} must be <= limit ${ae}`)) &&
w(A, C, Z)
);
},
checkIsWellFormed: (A, C) =>
Hr(A, harden([kt.pattern()]), C, "match:arrayOf payload"),
getRankCover: () => st("copyArray"),
}),
Y = se("match:byteArray helper", {
checkMatches: (A, [C = void 0], M) => {
let { byteLengthLimit: Z } = Vr(C);
return (
i(A, "byteArray", M) &&
(A.byteLength <= Z ||
M(!1, V`byteArray ${A} must not be bigger than ${Z}`))
);
},
checkIsWellFormed: (A, C) =>
Hr(A, harden([]), C, "match:byteArray payload"),
getRankCover: (A, C) => st("byteArray"),
}),
j = se("match:setOf helper", {
checkMatches: (A, [C, M = void 0], Z) => {
let { numSetElementsLimit: ae } = Vr(M);
return (
i(A, "copySet", Z) &&
Z(
A.payload.length < ae,
V`Set must not have more than ${x(ae)} elements: ${A.payload.length}`,
) &&
w(A.payload, C, Z, "set elements")
);
},
checkIsWellFormed: (A, C) =>
Hr(A, harden([kt.pattern()]), C, "match:setOf payload"),
getRankCover: () => st("tagged"),
}),
X = se("match:bagOf helper", {
checkMatches: (A, [C, M, Z = void 0], ae) => {
let { numUniqueBagElementsLimit: me, decimalDigitsLimit: be } =
Vr(Z);
return (
i(A, "copyBag", ae) &&
ae(
A.payload.length <= me,
V`Bag must not have more than ${x(me)} unique elements: ${A}`,
) &&
A.payload.every(
([Pe, We], gt) =>
m(Pe, C, ae, `bag keys[${gt}]`) &&
Ka(cl, [We, be, ae], `bag counts[${gt}]`) &&
m(We, M, ae, `bag counts[${gt}]`),
)
);
},
checkIsWellFormed: (A, C) =>
Hr(
A,
harden([kt.pattern(), kt.pattern()]),
C,
"match:bagOf payload",
),
getRankCover: () => st("tagged"),
}),
z = (A, C, M, Z = void 0, ae = void 0, me = Xe) => {
let be = 0n;
for (let Pe = A.length - 1; Pe >= 0; Pe -= 1) {
let We = A[Pe];
if (be < M)
h(We, C) ? ((be += 1n), Z && Z.push(We)) : ae && ae.push(We);
else {
if (ae === void 0) break;
ae.push(We);
}
}
return me(be >= M, V`Has only ${x(be)} matches, but needs ${x(M)}`);
},
te = (A, C, M, Z = void 0, ae = void 0, me = Xe) => {
let be = 0n;
for (let Pe = A.length - 1; Pe >= 0; Pe -= 1) {
let [We, gt] = A[Pe],
Et = M - be;
if (Et >= 1n)
h(We, C)
? gt <= Et
? ((be += gt), Z && Z.push([We, gt]))
: ((be += Et),
Z && Z.push([We, Et]),
ae && ae.push([We, gt - Et]))
: ae && ae.push([We, gt]);
else {
if (ae === void 0) break;
ae.push([We, gt]);
}
}
return me(be >= M, V`Has only ${x(be)} matches, but needs ${x(M)}`);
},
oe = (A, C, M, Z = !1, ae = !1, me = Xe) => {
let be = Z ? [] : void 0,
Pe = ae ? [] : void 0,
We = a(A);
switch (We) {
case "copyArray":
return z(A, C, M, be, Pe, me) ? [be, Pe] : !1;
case "copySet":
return z(A.payload, C, M, be, Pe, me)
? [be && Ar(be), Pe && Ar(Pe)]
: !1;
case "copyBag":
return te(A.payload, C, M, be, Pe, me)
? [be && qo(be), Pe && qo(Pe)]
: !1;
default:
return me(!1, V`unexpected ${x(We)}`);
}
},
ie = se("M.containerHas helper", {
checkMatches: (A, [C, M, Z = void 0], ae) => {
let me = a(A, ae),
{ decimalDigitsLimit: be } = Vr(Z);
return Ka(cl, [M, be, ae], `${me} matches`)
? !!oe(A, C, M, !1, !1, ae)
: !1;
},
checkIsWellFormed: (A, C) =>
Hr(
A,
harden([kt.pattern(), kt.gte(1n)]),
C,
"M.containerHas payload",
),
getRankCover: () => st("tagged"),
}),
ue = se("match:mapOf helper", {
checkMatches: (A, [C, M, Z = void 0], ae) => {
let { numMapEntriesLimit: me } = Vr(Z);
return (
i(A, "copyMap", ae) &&
ae(
A.payload.keys.length <= me,
V`CopyMap must have no more than ${x(me)} entries: ${A}`,
) &&
w(A.payload.keys, C, ae, "map keys") &&
w(A.payload.values, M, ae, "map values")
);
},
checkIsWellFormed: (A, C) =>
Hr(
A,
harden([kt.pattern(), kt.pattern()]),
C,
"match:mapOf payload",
),
getRankCover: (A) => st("tagged"),
}),
ge = (A, C, M) => {
let Z = C.length,
ae = M.length,
me = A.slice(0, Z),
be = A.slice(Z, Z + ae),
Pe = A.slice(Z + ae);
return harden({
requiredSpecimen: me,
optionalSpecimen: be,
restSpecimen: Pe,
});
},
Fe = (A, C) => harden(A.slice(0, C).map((M) => kt.opt(M))),
Ke = se("match:splitArray helper", {
checkMatches: (A, [C, M = [], Z = kt.any()], ae) => {
if (!i(A, "copyArray", ae)) return !1;
let {
requiredSpecimen: me,
optionalSpecimen: be,
restSpecimen: Pe,
} = ge(A, C, M),
We = Fe(M, be.length),
gt = 0;
return (
(me.length === C.length ||
ae(
!1,
V`Expected at least ${x(C.length)} arguments: ${A}`,
)) &&
C.every((Et, In) => m(me[In], Et, ae, `arg ${gt++}`)) &&
We.every((Et, In) => m(be[In], Et, ae, `arg ${gt++}?`)) &&
m(Pe, Z, ae, "...rest")
);
},
checkIsWellFormed: (A, C) => {
if (ce(A) === "copyArray" && (A.length >= 1 || A.length <= 3)) {
let [M, Z = void 0, ae = void 0] = A;
if (
y(M) &&
ce(M) === "copyArray" &&
(Z === void 0 || (y(Z) && ce(Z) === "copyArray")) &&
(ae === void 0 || y(ae))
)
return !0;
}
return C(
!1,
V`Must be an array of a requiredPatt array, an optional optionalPatt array, and an optional restPatt: ${x(A)}`,
);
},
getRankCover: ([A, C = void 0, M = void 0]) => st("copyArray"),
}),
vt = (A, C, M) => {
let Z = [],
ae = [],
me = [];
for (let [be, Pe] of Om(A))
Pv(C, be)
? Z.push([be, Pe])
: Pv(M, be)
? ae.push([be, Pe])
: me.push([be, Pe]);
return harden({
requiredSpecimen: So(Z),
optionalSpecimen: So(ae),
restSpecimen: So(me),
});
},
tr = (A, C) => So(C.map((M) => [M, kt.opt(A[M])])),
Gt = se("match:splitRecord helper", {
checkMatches: (A, [C, M = {}, Z = kt.any()], ae) => {
if (!i(A, "copyRecord", ae)) return !1;
let {
requiredSpecimen: me,
optionalSpecimen: be,
restSpecimen: Pe,
} = vt(A, C, M),
We = Em(be),
gt = tr(M, We);
return (
m(me, C, ae) &&
We.every((Et) => m(be[Et], gt[Et], ae, `${Et}?`)) &&
m(Pe, Z, ae, "...rest")
);
},
checkIsWellFormed: (A, C) => {
if (ce(A) === "copyArray" && (A.length >= 1 || A.length <= 3)) {
let [M, Z = void 0, ae = void 0] = A;
if (
y(M) &&
ce(M) === "copyRecord" &&
(Z === void 0 || (y(Z) && ce(Z) === "copyRecord")) &&
(ae === void 0 || y(ae))
)
return !0;
}
return C(
!1,
V`Must be an array of a requiredPatt record, an optional optionalPatt record, and an optional restPatt: ${x(A)}`,
);
},
getRankCover: ([A, C = void 0, M = void 0]) => st(ce(A)),
}),
Ni = harden({
"match:any": I,
"match:and": E,
"match:or": K,
"match:not": J,
"match:scalar": P,
"match:key": k,
"match:pattern": U,
"match:kind": D,
"match:tagged": _,
"match:bigint": T,
"match:nat": R,
"match:string": N,
"match:symbol": F,
"match:remotable": H,
"match:lt": ne,
"match:lte": q,
"match:gte": ee,
"match:gt": Q,
"match:arrayOf": W,
"match:byteArray": Y,
"match:recordOf": L,
"match:setOf": j,
"match:bagOf": X,
"match:containerHas": ie,
"match:mapOf": ue,
"match:splitArray": Ke,
"match:splitRecord": Gt,
}),
mt = (A, C) => {
let M = Ce(A, C);
return (b(M), M);
},
Mr = (A) => mt("match:kind", A),
yr = mt("match:any", void 0),
Jp = mt("match:scalar", void 0),
xd = mt("match:key", void 0),
Vp = mt("match:pattern", void 0),
Hp = Mr("boolean"),
Ad = Mr("number"),
k0 = Ce("match:bigint", []),
ye = Ce("match:nat", []),
he = Ce("match:string", []),
Me = Ce("match:symbol", []),
He = Ce("match:recordOf", [yr, yr]),
nt = Ce("match:arrayOf", [yr]),
gr = Ce("match:byteArray", []),
Ho = Ce("match:setOf", [yr]),
cs = Ce("match:bagOf", [yr, yr]),
Wp = Ce("match:mapOf", [yr, yr]),
Lp = Mr("remotable"),
qp = Mr("error"),
VI = Mr("promise"),
HI = Mr("undefined"),
$r = (A, C) => (
C[C.length - 1] === void 0 &&
(C = harden(C.slice(0, C.length - 1))),
mt(A, C)
),
WI = (A = void 0) =>
A === void 0 ? Lp : mt("match:remotable", harden({ label: A })),
I0 = (A, C, M = void 0, Z = void 0) =>
Z ? [C, M || A, Z] : M ? [C, M] : [C],
Oe = harden({
any: () => yr,
and: (...A) => mt("match:and", A),
or: (...A) => mt("match:or", A),
not: (A) => mt("match:not", A),
scalar: () => Jp,
key: () => xd,
pattern: () => Vp,
kind: Mr,
tagged: (A = Oe.string(), C = Oe.any()) =>
mt("match:tagged", harden([A, C])),
boolean: () => Hp,
number: () => Ad,
bigint: (A = void 0) => (A ? $r("match:bigint", [A]) : k0),
nat: (A = void 0) => (A ? $r("match:nat", [A]) : ye),
string: (A = void 0) => (A ? $r("match:string", [A]) : he),
symbol: (A = void 0) => (A ? $r("match:symbol", [A]) : Me),
record: (A = void 0) =>
A ? Oe.recordOf(Oe.any(), Oe.any(), A) : He,
array: (A = void 0) => (A ? Oe.arrayOf(Oe.any(), A) : nt),
byteArray: (A = void 0) => (A ? $r("match:byteArray", [A]) : gr),
set: (A = void 0) => (A ? Oe.setOf(Oe.any(), A) : Ho),
bag: (A = void 0) => (A ? Oe.bagOf(Oe.any(), Oe.any(), A) : cs),
map: (A = void 0) => (A ? Oe.mapOf(Oe.any(), Oe.any(), A) : Wp),
remotable: WI,
error: () => qp,
promise: () => VI,
undefined: () => HI,
null: () => null,
lt: (A) => mt("match:lt", A),
lte: (A) => mt("match:lte", A),
eq: (A) => (bo(A), A === void 0 ? Oe.undefined() : A),
neq: (A) => Oe.not(Oe.eq(A)),
gte: (A) => mt("match:gte", A),
gt: (A) => mt("match:gt", A),
recordOf: (A = Oe.any(), C = Oe.any(), M = void 0) =>
$r("match:recordOf", [A, C, M]),
arrayOf: (A = Oe.any(), C = void 0) => $r("match:arrayOf", [A, C]),
setOf: (A = Oe.any(), C = void 0) => $r("match:setOf", [A, C]),
bagOf: (A = Oe.any(), C = Oe.any(), M = void 0) =>
$r("match:bagOf", [A, C, M]),
containerHas: (A = Oe.any(), C = 1n, M = void 0) =>
$r("match:containerHas", [A, C, M]),
mapOf: (A = Oe.any(), C = Oe.any(), M = void 0) =>
$r("match:mapOf", [A, C, M]),
splitArray: (A, C = void 0, M = void 0) =>
mt("match:splitArray", I0([], A, C, M)),
splitRecord: (A, C = void 0, M = void 0) =>
mt("match:splitRecord", I0({}, A, C, M)),
split: (A, C = void 0) =>
ce(harden(A)) === "copyArray"
? Oe.splitArray(A, C && [], C)
: Oe.splitRecord(A, C && {}, C),
partial: (A, C = void 0) =>
ce(harden(A)) === "copyArray"
? Oe.splitArray([], A, C)
: Oe.splitRecord({}, A, C),
eref: (A) => Oe.or(A, Oe.promise()),
opt: (A) => Oe.or(Oe.undefined(), A),
interface: (A, C, M) => C3(A, C, M),
call: (...A) => ll("sync", A),
callWhen: (...A) => ll("async", A),
await: (A) => w3(A),
raw: () => k3(),
});
return harden({
checkMatches: m,
matches: h,
mustMatch: g,
assertPattern: b,
isPattern: y,
getRankCover: S,
M: Oe,
kindOf: a,
containerHasSplit: oe,
});
},
{
checkMatches: v3,
matches: Ve,
mustMatch: Be,
assertPattern: zt,
isPattern: Iv,
getRankCover: Tv,
M: s,
kindOf: S3,
containerHasSplit: x3,
} = b3();
kt = s;
var A3 = harden({ argGuard: s.pattern() }),
dc = s.kind("guard:awaitArgGuard"),
lc = (e) => Ve(e, dc);
harden(lc);
var uc = (e) => {
Be(e, dc, "awaitArgGuard");
};
harden(uc);
var w3 = (e) => {
let t = Ce("guard:awaitArgGuard", { argGuard: e });
return (uc(t), t);
},
P3 = s.record(),
pc = s.kind("guard:rawGuard"),
Ja = (e) => Ve(e, pc);
var k3 = () => Ce("guard:rawGuard", {}),
xo = s.or(pc, s.pattern()),
cc = s.arrayOf(xo),
I3 = s.or(pc, dc, s.pattern()),
dl = s.arrayOf(I3),
T3 = harden({
callKind: "sync",
argGuards: cc,
optionalArgGuards: s.opt(cc),
restArgGuard: s.opt(xo),
returnGuard: xo,
}),
U3 = harden({
callKind: "async",
argGuards: dl,
optionalArgGuards: s.opt(dl),
restArgGuard: s.opt(xo),
returnGuard: xo,
}),
Dm = s.or(T3, U3),
bs = s.kind("guard:methodGuard"),
Nm = (e) => {
Be(e, bs, "methodGuard");
};
harden(Nm);
var ll = (e, t, r = void 0, o = void 0) =>
harden({
optional: (...n) => (
r === void 0 || f`Can only have one set of optional guards`,
o === void 0 || f`optional arg guards must come before rest arg`,
ll(e, t, n)
),
rest: (n) => (
o === void 0 || f`Can only have one rest arg`,
ll(e, t, r, n)
),
returns: (n = s.undefined()) => {
let a = Ce("guard:methodGuard", {
callKind: e,
argGuards: t,
optionalArgGuards: r,
restArgGuard: o,
returnGuard: n,
});
return (Nm(a), a);
},
}),
Bm = s.splitRecord(
{ interfaceName: s.string(), methodGuards: s.recordOf(s.string(), bs) },
{
defaultGuards: s.or(s.undefined(), "passable", "raw"),
sloppy: s.boolean(),
symbolMethodGuards: s.mapOf(s.symbol(), bs),
},
),
Mm = s.kind("guard:interfaceGuard"),
$m = (e) => {
Be(e, Mm, "interfaceGuard");
};
harden($m);
var C3 = (e, t, r = {}) => {
let { sloppy: o = !1, defaultGuards: n = o ? "passable" : void 0 } = r,
a = {},
i = [];
for (let d of Em(t)) {
let l = t[d];
typeof d == "symbol" ? i.push([d, l]) : (a[d] = l);
}
let c = Ce("guard:interfaceGuard", {
interfaceName: e,
methodGuards: a,
...(i.length ? { symbolMethodGuards: jo(i) } : {}),
defaultGuards: n,
});
return ($m(c), c);
},
R3 = harden({
"guard:awaitArgGuard": A3,
"guard:rawGuard": P3,
"guard:methodGuard": Dm,
"guard:interfaceGuard": Bm,
});
var _m = harden({ klass: "awaitArg", argGuard: s.pattern() }),
mc = (e) => {
if (Ve(e, _m)) {
let { klass: t, ...r } = e;
return r;
}
return (uc(e), e.payload);
};
harden(mc);
var O3 = s.splitRecord(
{
klass: "methodGuard",
callKind: "sync",
argGuards: cc,
returnGuard: xo,
},
{ optionalArgGuards: cc, restArgGuard: xo },
),
E3 = s.or(pc, dc, _m, s.pattern()),
D3 = s.arrayOf(E3),
N3 = s.splitRecord(
{
klass: "methodGuard",
callKind: "async",
argGuards: D3,
returnGuard: xo,
},
{ optionalArgGuards: dl, restArgGuard: xo },
),
Fm = s.or(O3, N3),
Uv = (e) => (Ve(e, _m) ? s.await(mc(e).argGuard) : e),
fc = (e) => {
if (Ve(e, bs)) return e.payload;
Be(e, Fm, "legacyMethodGuard");
let { klass: t, callKind: r, returnGuard: o, restArgGuard: n } = e,
{ argGuards: a, optionalArgGuards: i } = e;
r === "async" && ((a = a.map(Uv)), (i = i && i.map(Uv)));
let c = harden({
callKind: r,
argGuards: a,
optionalArgGuards: i,
restArgGuard: n,
returnGuard: o,
});
return (Be(c, Dm, "internalMethodGuardAdaptor"), c);
};
harden(fc);
var B3 = s.splitRecord(
{
klass: "Interface",
interfaceName: s.string(),
methodGuards: s.recordOf(s.string(), s.or(bs, Fm)),
},
{
defaultGuards: s.or(s.undefined(), "passable", "raw"),
sloppy: s.boolean(),
symbolMethodGuards: s.mapOf(s.symbol(), bs),
},
),
M3 = (e) => {
if (Ve(e, Fm)) {
let {
callKind: t,
argGuards: r,
optionalArgGuards: o = [],
restArgGuard: n = s.any(),
returnGuard: a,
} = fc(e);
return (t === "sync" ? s.call : s.callWhen)(...r)
.optional(...o)
.rest(n)
.returns(a);
}
return e;
},
Ao = (e) => {
if (Ve(e, Mm)) return e.payload;
Be(e, B3, "legacyInterfaceGuard");
let { klass: t, interfaceName: r, methodGuards: o, ...n } = e;
o = Ne(o, M3);
let a = harden({ interfaceName: r, methodGuards: o, ...n });
return (Be(a, Bm, "internalInterfaceGuardAdaptor"), a);
};
harden(Ao);
var $3 = jo([]),
ul = (e) => {
let { methodGuards: t, symbolMethodGuards: r = $3 } = Ao(e);
return harden([...Reflect.ownKeys(t), ...Qd(r)]);
};
harden(ul);
var Km = (e, t, r = void 0, o = "key") => {
let n = (a) => e.has(a) || f`${x(o)} not found: ${a}`;
return harden({
has: (a) => e.has(a),
add: (a) => {
(t(a), e.add(a));
},
delete: (a) => {
(n(a), r !== void 0 && r(a), e.delete(a));
},
addAll: (a) => {
typeof a[Symbol.iterator] != "function" &&
(Object.isFrozen(a) && Ba(a)
? (a = vo(a))
: f`provided data source is not iterable: ${a}`);
for (let i of a) (t(i), e.add(i));
},
});
},
yc = (e = "key", { longLived: t = !0, keyShape: r = void 0 } = {}) => {
let o = new (t ? WeakSet : Set)();
r !== void 0 && zt(r);
let n = (a) => {
(harden(a),
ce(a) === "remotable" ||
f`Only remotables can be keys of scalar WeakStores: ${a}`,
r !== void 0 && Be(a, r, "weakSetStore key"));
};
return se(`scalar WeakSetStore of ${x(e)}`, { ...Km(o, n, void 0, e) });
};
harden(yc);
var gc = (e, t, r, o, n, a = "key") => {
let i = 0,
c,
d = (y, b = void 0) => {
(o(y, b), (i += 1), (c = void 0));
},
l = (y) => n && n(y),
u = () => (c === void 0 && (c = harden([...e()].sort(r))), c),
p = se("Iterable of keys", {
[Symbol.iterator]: () => {
let y = i;
u();
let b = c.length,
m = 0;
return se("Iterator of keys", {
next: () => {
for (y === i || f`Store ${x(a)} cursor stale`; ; )
if (m < b) {
let v = c[m];
if (((m += 1), t(v))) return harden({ done: !1, value: v });
} else return harden({ done: !0, value: void 0 });
},
});
},
});
return harden({
assertUpdateOnAdd: d,
assertUpdateOnDelete: l,
iterableKeys: p,
});
};
harden(gc);
var En = (e, t, r) => (e.has(t) || e.init(t, r(t)), e.get(t));
harden(En);
var Cv = (e) => {
let t = new Map(),
r = (o, n, a) => {
if (e.has(o)) return Promise.resolve(e.get(o));
if (!t.has(o)) {
let c = n(o)
.then((d) => (e.init(o, d), d))
.then((d) => (a ? a(o, d).then(() => d) : d))
.finally(() => {
t.delete(o);
});
t.set(o, c);
}
let i = t.get(o);
return (assert(i), i);
};
return harden({ provideAsync: r });
};
harden(Cv);
var _3 = (e, t, r) => {
if (e.has(t)) {
let o = e.get(t);
e.set(t, harden([...o, r]));
} else e.init(t, harden([r]));
};
harden(_3);
var F3 = (e, t, r, o = "key") => {
let {
assertUpdateOnAdd: n,
assertUpdateOnDelete: a,
iterableKeys: i,
} = gc(
() => e.keys(),
(d) => e.has(d),
nr,
t,
r,
o,
),
c = (d) => (d === void 0 ? i : Ta(i, (l) => Ve(l, d)));
return harden({
...Km(e, n, a, o),
keys: c,
values: c,
snapshot: (d = void 0) => Ar(c(d)),
getSize: (d = void 0) => (d === void 0 ? e.size : [...c(d)].length),
clear: (d = void 0) => {
d === void 0 && e.clear();
for (let l of c(d)) e.delete(l);
},
});
},
hc = (e = "key", { keyShape: t } = {}) => {
let r = new Set();
t !== void 0 && zt(t);
let o = (n) => {
(harden(n), fs(n), t !== void 0 && Be(n, t, "setStore key"));
};
return se(`scalar SetStore of ${x(e)}`, { ...F3(r, o, void 0, e) });
};
harden(hc);
var Jm = (e, t, r, o = void 0, n = "key") => {
let a = (c) => !e.has(c) || f`${x(n)} already registered: ${c}`,
i = (c) => e.has(c) || f`${x(n)} not found: ${c}`;
return harden({
has: (c) => e.has(c),
get: (c) => (i(c), e.get(c)),
init: (c, d) => {
(a(c), t(c, d), e.set(c, d));
},
set: (c, d) => {
(i(c), r(c, d), e.set(c, d));
},
delete: (c) => {
(i(c), o !== void 0 && o(c), e.delete(c));
},
addAll: (c) => {
typeof c[Symbol.iterator] != "function" &&
(Object.isFrozen(c) && _a(c)
? (c = gs(c))
: f`provided data source is not iterable: ${c}`);
for (let [d, l] of c) (t(d, l), e.set(d, l));
},
});
},
vs = (
e = "key",
{
longLived: t = !0,
keyShape: r = void 0,
valueShape: o = void 0,
} = {},
) => {
let n = t ? new WeakMap() : new Map();
(r !== void 0 && zt(r), o !== void 0 && zt(o));
let a = (c, d) => {
(harden(d), fo(d), o !== void 0 && Be(d, o, "weakMapStore value"));
},
i = (c, d) => {
(harden(c),
ce(c) === "remotable" ||
f`Only remotables can be keys of scalar WeakMapStores: ${c}`,
r !== void 0 && Be(c, r, "weakMapStore key"),
a(c, d));
};
return se(`scalar WeakMapStore of ${x(e)}`, {
...Jm(n, i, a, void 0, e),
});
};
harden(vs);
var K3 = (e, t, r, o, n = "key") => {
let {
assertUpdateOnAdd: a,
assertUpdateOnDelete: i,
iterableKeys: c,
} = gc(
() => e.keys(),
(p) => e.has(p),
nr,
t,
o,
n,
),
d = (p, y) =>
p === void 0 && y === void 0
? c
: Ta(
c,
(m) =>
!(
(p !== void 0 && !Ve(m, p)) ||
(y !== void 0 && !Ve(e.get(m), y))
),
),
l = (p, y) => _i(d(p, y), (b) => e.get(b)),
u = (p, y) => _i(d(p, y), (b) => [b, e.get(b)]);
return harden({
...Jm(e, a, r, i, n),
keys: d,
values: l,
entries: u,
snapshot: (p = void 0, y = void 0) => jo(u(p, y)),
getSize: (p = void 0, y = void 0) =>
p === void 0 && y === void 0 ? e.size : [...d(p, y)].length,
clear: (p = void 0, y = void 0) => {
p === void 0 && y === void 0 && e.clear();
for (let b of d(p, y)) e.delete(b);
},
});
},
Go = (e = "key", { keyShape: t, valueShape: r } = {}) => {
let o = new Map();
(t !== void 0 && zt(t), r !== void 0 && zt(r));
let n = (i, c) => {
(harden(c), fo(c), r !== void 0 && Be(c, r, "mapStore value"));
},
a = (i, c) => {
(harden(i),
fs(i),
t !== void 0 && Be(i, t, "mapStore key"),
n(i, c));
};
return se(`scalar MapStore of ${x(e)}`, { ...K3(o, a, n, void 0, e) });
};
harden(Go);
var Ss = "__getInterfaceGuard__";
var { apply: Ev, ownKeys: pl } = Reflect,
{ defineProperties: J3, fromEntries: V3, hasOwn: H3 } = Object,
Rv = s.call().rest(s.raw()).returns(s.raw()),
ml = "<redacted raw arg>",
Vm = s.call().rest(s.any()).returns(s.any()),
Dv = (e, t, r = void 0) => {
let {
declaredLen: o,
hasRestArgGuard: n,
restArgGuardIsRaw: a,
paramsPattern: i,
redactedIndices: c,
} = t,
d = e;
if (a && e.length > o) {
let l = e.length - o,
u = Array(l).fill(ml);
d = [...e.slice(0, o), ...u];
} else c.length > 0 && c[0] < e.length && (d = [...e]);
for (let l of c) {
if (l >= d.length) break;
d[l] = ml;
}
return (
Be(harden(d), i, r),
n ||
e.length <= o ||
f`${x(r)} accepts at most ${x(o)} arguments, not ${x(e.length)}: ${e}`,
e
);
},
Nv = (e) => {
let { argGuards: t, optionalArgGuards: r = [], restArgGuard: o } = e,
n = [...t, ...r],
a = [];
for (let l = 0; l < n.length; l += 1)
Ja(n[l]) && ((n[l] = ml), a.push(l));
let i = o;
Ja(i) && (i = s.arrayOf(ml));
let c = harden({
...e,
argGuards: n.slice(0, t.length),
optionalArgGuards: n.slice(t.length),
restArgGuard: i,
}),
d = s.splitArray(c.argGuards, c.optionalArgGuards, c.restArgGuard);
return harden({
declaredLen: n.length,
hasRestArgGuard: o !== void 0,
restArgGuardIsRaw: o !== i,
paramsPattern: d,
redactedIndices: a,
matchableMethodGuardPayload: c,
});
},
W3 = (e, t, r, o) => {
let { returnGuard: n } = r,
a = Ja(n),
i = Nv(r),
{ syncMethod: c } = {
syncMethod(...d) {
try {
let l = e(this),
u = Dv(d, i, o),
p = Ev(t, l, u);
return (a || Be(harden(p), n, `${o}: result`), p);
} catch (l) {
throw Wo(l);
}
},
};
return c;
},
L3 = (e) => {
let { argGuards: t, optionalArgGuards: r = [], restArgGuard: o } = e;
!lc(o) || f`Rest args may not be awaited: ${o}`;
let n = [...t, ...r],
a = [];
for (let i = 0; i < n.length; i += 1) {
let c = n[i];
lc(c) && ((n[i] = mc(c).argGuard), a.push(i));
}
return {
awaitIndexes: a,
rawMethodGuardPayload: {
...e,
argGuards: n.slice(0, t.length),
optionalArgGuards: n.slice(t.length),
},
};
},
q3 = (e, t, r, o) => {
let { returnGuard: n } = r,
a = Ja(n),
{ awaitIndexes: i, rawMethodGuardPayload: c } = L3(r),
d = Nv(c),
{ asyncMethod: l } = {
asyncMethod(...u) {
let p = [];
for (let v of i) {
if (v >= u.length) break;
p.push(u[v]);
}
let y = Promise.all(p),
b = [...u],
m = O.when(y, (v) => {
for (let S = 0; S < v.length; S += 1) b[i[S]] = v[S];
let h = e(this),
g = Dv(b, d, o);
return Ev(t, h, g);
});
return O.when(
m,
(v) => (a || Be(harden(v), n, `${o}: result`), v),
).catch((v) => Promise.reject(Wo(v)));
},
};
return l;
},
j3 = (e, t, r, o) => {
let n = fc(r),
{ callKind: a } = n;
return a === "sync"
? W3(e, t, n, o)
: (assert(a === "async"), q3(e, t, n, o));
},
Ov = (e, t, r, o) => {
assert.typeof(r, "function");
let a = j3(
(i) => {
i || f`Method ${e} called without 'this' object`;
let c = t(i);
if (c === void 0)
throw f`${x(e)} may only be applied to a valid instance: ${i}`;
return c;
},
r,
o,
e,
);
return (J3(a, { name: { value: e }, length: { value: r.length } }), a);
},
fl = (e, t, r, o = !1, n = void 0) => {
let a = {},
i = Ed(r).filter((l) => {
if (l !== "constructor") return !0;
let u = r.constructor;
return !(u.prototype && u.prototype.constructor === u);
}),
c,
d;
if (n) {
let {
interfaceName: l,
methodGuards: u,
symbolMethodGuards: p,
sloppy: y,
defaultGuards: b = y ? "passable" : d,
} = Ao(n);
((c = harden({ ...u, ...(p && V3(gs(p))) })), (d = b));
{
let m = pl(c),
v = wr(m, i);
if (
(v.length === 0 || f`methods ${x(v)} not implemented by ${x(e)}`,
d === void 0)
) {
let h = wr(i, m);
h.length === 0 || f`methods ${x(h)} not guarded by ${x(l)}`;
}
}
}
for (let l of i) {
let u = r[l],
{ shiftedMethod: p } = {
shiftedMethod(...m) {
return u(this, ...m);
},
},
y = o ? u : p,
b = c && c[l];
if (!b)
switch (d) {
case void 0: {
o ? (b = Vm) : (b = Rv);
break;
}
case "passable": {
b = Vm;
break;
}
case "raw": {
b = Rv;
break;
}
default:
throw f`Unrecognized defaultGuards ${x(d)}`;
}
a[l] = Ov(`In ${x(l)} method of (${e})`, t, y, b);
}
if (!H3(a, Ss)) {
let l = {
[Ss]() {
return n;
},
}[Ss];
a[Ss] = Ov(`In ${x(Ss)} method of (${e})`, t, l, Vm);
}
return se(e, a);
};
harden(fl);
var Bv = (e, t, r, o = !1, n = void 0) => {
let a = pl(r).sort();
if (
(a.length > 1 || f`A multi-facet object must have multiple facets`, n)
) {
let u = pl(n),
p = wr(a, u);
p.length === 0 || f`Interfaces ${x(p)} not implemented by ${x(e)}`;
let y = wr(u, a);
y.length === 0 ||
f`Facets ${x(y)} of ${x(e)} not guarded by interfaces`;
}
let i = pl(t),
c = wr(a, i);
c.length === 0 || f`Contexts ${x(c)} not implemented by ${x(e)}`;
let d = wr(i, a);
return (
d.length === 0 || f`Facets ${x(d)} of ${x(e)} missing contexts`,
Ne(r, (u, p) => fl(`${e} ${String(p)}`, t[p], u, o, n && n[p]))
);
};
var {
create: G3,
seal: $v,
freeze: _v,
defineProperty: Q3,
values: Mv,
} = Object,
z3 = Pa("DEBUG", "label-instances"),
Fv = (e, t) => {
let r = G3(e);
return (
z3 &&
Q3(r, Symbol.toStringTag, {
value: `${e[Symbol.toStringTag]}#${t}`,
writable: !1,
enumerable: !1,
configurable: !1,
}),
harden(r)
);
},
Y3 = harden({}),
Va = () => Y3,
bc = (e, t, r, o, n = {}) => {
harden(o);
let {
finish: a = void 0,
receiveAmplifier: i = void 0,
receiveInstanceTester: c = void 0,
} = n;
i === void 0 ||
f`Only facets of an exo class kit can be amplified ${x(e)}`;
let d = new WeakMap(),
l = fl(e, (y) => d.get(y), o, !0, t),
u = 0,
p = (...y) => {
let b = $v(r(...y));
u += 1;
let m = Fv(l, u),
v = _v({ state: b, self: m });
return (d.set(m, v), a && a(v), m);
};
if (c) {
let y = (b, m = void 0) => (
m === void 0 ||
f`facetName can only be used with an exo class kit: ${x(e)} has no facet ${x(m)}`,
d.has(b)
);
(harden(y), c(y));
}
return harden(p);
};
harden(bc);
var yl = (e, t, r, o, n = {}) => {
harden(o);
let {
finish: a = void 0,
receiveAmplifier: i = void 0,
receiveInstanceTester: c = void 0,
} = n,
d = Ne(o, () => new WeakMap()),
l = Ne(d, (b) => (m) => b.get(m)),
u = Bv(e, l, o, !0, t),
p = 0,
y = (...b) => {
let v = { state: $v(r(...b)), facets: null };
p += 1;
let h = Ne(u, (g, S) => {
let w = Fv(g, p);
return (d[S].set(w, v), w);
});
return ((v.facets = h), _v(v), a && a(v), v.facets);
};
if (i) {
let b = (m) => {
for (let v of Mv(d))
if (v.has(m)) {
let { facets: h } = v.get(m);
return h;
}
throw f`Must be a facet of ${x(e)}: ${m}`;
};
(harden(b), i(b));
}
if (c) {
let b = (m, v = void 0) => {
if (v === void 0) return Mv(d).some((g) => g.has(m));
assert.typeof(v, "string");
let h = d[v];
return (
h !== void 0 || f`exo class kit ${x(e)} has no facet named ${x(v)}`,
h.has(m)
);
};
(harden(b), c(b));
}
return harden(y);
};
harden(yl);
var gl = (e, t, r, o = void 0) => bc(e, t, Va, r, o)();
harden(gl);
var Kv = (e = "key") => {
let t = new Map(),
r = (n) => !t.has(n) || f`${x(e)} already registered: ${n}`,
o = (n) => t.has(n) || f`${x(e)} not found: ${n}`;
return harden({
has: (n) => t.has(n),
init: (n, a) => {
(r(n), t.set(n, a));
},
get: (n) => (o(n), t.get(n)),
set: (n, a) => {
(o(n), t.set(n, a));
},
delete: (n) => {
(o(n), t.delete(n));
},
keys: () => t.keys(),
values: () => t.values(),
entries: () => t.entries(),
getSize: () => t.size,
clear: () => t.clear(),
});
};
harden(Kv);
var Jv = (e = "key") => {
let t = new WeakMap(),
r = (n) => !t.has(n) || f`${x(e)} already registered: ${n}`,
o = (n) => t.has(n) || f`${x(e)} not found: ${n}`;
return harden({
has: (n) => t.has(n),
init: (n, a) => {
(r(n), t.set(n, a));
},
get: (n) => (o(n), t.get(n)),
set: (n, a) => {
(o(n), t.set(n, a));
},
delete: (n) => {
(o(n), t.delete(n));
},
});
};
harden(Jv);
var Kt = Be;
var Vv = 0n,
Hv = harden({
doCoerce: (e) => (
assert.typeof(e, "bigint"),
Ra(e) || f`value ${e} must be a natural number`,
Re(e)
),
doMakeEmpty: () => Vv,
doIsEmpty: (e) => e === Vv,
doIsGTE: (e, t) => e >= t,
doIsEqual: (e, t) => e === t,
doAdd: (e, t) => e + t,
doSubtract: (e, t) => Re(e - t),
});
var Z3 = harden([]),
Wv = harden({
doCoerce: (e) => ((e = Da(e)), bo(e), e),
doMakeEmpty: () => Z3,
doIsEmpty: (e) => ce(e) === "copyArray" && e.length === 0,
doIsGTE: nc,
doIsEqual: (e, t) => el(e, t) === 0,
doAdd: sc,
doSubtract: ac,
});
var X3 = Ar([]),
Lv = harden({
doCoerce: (e) => (Kt(e, s.set(), "set of amount"), e),
doMakeEmpty: () => X3,
doIsEmpty: (e) => vo(e).length === 0,
doIsGTE: rl,
doIsEqual: ar,
doAdd: ol,
doSubtract: nl,
});
var eR = qo([]),
qv = harden({
doCoerce: (e) => (Kt(e, s.bag(), "bag of amount"), e),
doMakeEmpty: () => eR,
doIsEmpty: (e) => On(e).length === 0,
doIsGTE: sl,
doIsEqual: ar,
doAdd: al,
doSubtract: il,
});
var Dn = {
NAT: "nat",
SET: "set",
COPY_SET: "copySet",
COPY_BAG: "copyBag",
};
harden(Dn);
var jv = harden(Object.values(Dn).sort()),
Sl = (e) => {
jv.includes(e) || f`The assetKind ${e} must be one of ${x(jv)}`;
};
harden(Sl);
var Gv = { nat: Hv, set: Wv, copySet: Lv, copyBag: qv },
Wm = (e) => {
let t = ce(e);
if (t === "bigint") return "nat";
if (t === "copyArray") return "set";
if (Ve(e, s.set())) return "copySet";
if (Ve(e, s.bag())) return "copyBag";
throw f`value ${e} must be a bigint, copySet, copyBag, or an array, not ${x(t)}`;
},
vl = (e) => Gv[Wm(e)],
Hm = (e, t) => {
t !== void 0 &&
(yo(t, "brand"),
e === t ||
f`amount's brand ${x(e)} did not match expected brand ${x(t)}`);
},
hl = (e, t, r = void 0) => {
(vr(e, "leftAmount"), vr(t, "rightAmount"));
let { value: o, brand: n } = e,
{ value: a, brand: i } = t;
(yo(n, "leftBrand"),
yo(i, "rightBrand"),
Hm(n, r),
Hm(i, r),
n === i ||
f`Brands in left ${x(n)} and right ${x(i)} should match but do not`);
let c = vl(o),
d = vl(a);
return (
c === d ||
f`The left ${e} and right amount ${t} had different assetKinds`,
c
);
},
bl = (e, t, r) => [e.doCoerce(t.value), e.doCoerce(r.value)],
vc = (e, t, r = void 0) => {
let o = hl(e, t, r);
return o.doIsGTE(...bl(o, e, t));
},
Le = {
make: (e, t) => {
yo(e, "brand");
let o = vl(t).doCoerce(t);
return harden({ brand: e, value: o });
},
coerce: (e, t) => {
(yo(e, "brand"), vr(t, "amount"));
let { brand: r, value: o } = t;
return (
e === r ||
f`The brand in the allegedAmount ${t} in 'coerce' didn't match the specified brand ${e}.`,
Le.make(e, o)
);
},
getValue: (e, t) => Le.coerce(e, t).value,
makeEmpty: (e, t = "nat") => {
(yo(e, "brand"), Sl(t));
let r = Gv[t].doMakeEmpty();
return harden({ brand: e, value: r });
},
makeEmptyFromAmount: (e) => {
vr(e, "amount");
let { brand: t, value: r } = e,
o = Wm(r);
return Le.makeEmpty(t, o);
},
isEmpty: (e, t = void 0) => {
vr(e, "amount");
let { brand: r, value: o } = e;
(yo(r, "brand"), Hm(r, t));
let n = vl(o);
return n.doIsEmpty(n.doCoerce(o));
},
isGTE: vc,
isEqual: (e, t, r = void 0) => {
let o = hl(e, t, r);
return o.doIsEqual(...bl(o, e, t));
},
add: (e, t, r = void 0) => {
let o = hl(e, t, r),
n = o.doAdd(...bl(o, e, t));
return harden({ brand: e.brand, value: n });
},
subtract: (e, t, r = void 0) => {
let o = hl(e, t, r),
n = o.doSubtract(...bl(o, e, t));
return harden({ brand: e.brand, value: n });
},
min: (e, t, r = void 0) =>
vc(e, t, r) ? t : vc(t, e, r) ? e : f`${e} and ${t} are incomparable`,
max: (e, t, r = void 0) =>
vc(e, t, r) ? e : vc(t, e) ? t : f`${e} and ${t} are incomparable`,
};
harden(Le);
var tR = (e) => {
vr(e, "amount");
let { value: t } = e;
return Wm(t);
};
harden(tR);
var Ha;
if ("VatData" in globalThis)
(globalThis.VatData || f`VatData defined in global as null or undefined`,
(Ha = globalThis.VatData));
else {
let e = () => f`VatData unavailable`;
Ha = {
defineKind: e,
defineKindMulti: e,
defineDurableKind: e,
defineDurableKindMulti: e,
makeKindHandle: e,
providePromiseWatcher: e,
watchPromise: e,
makeScalarBigMapStore: e,
makeScalarBigWeakMapStore: e,
makeScalarBigSetStore: e,
makeScalarBigWeakSetStore: e,
canBeDurable: e,
};
}
var Qv = Ha;
var {
defineKind: rR,
defineKindMulti: oR,
defineDurableKind: nR,
defineDurableKindMulti: sR,
} = Ha,
{
makeKindHandle: aR,
providePromiseWatcher: iR,
watchPromise: Lm,
makeScalarBigMapStore: qm,
makeScalarBigWeakMapStore: jm,
makeScalarBigSetStore: cR,
makeScalarBigWeakSetStore: dR,
canBeDurable: Wa,
} = Ha,
Pr =
(e, t) =>
(...r) =>
e(...r)[t];
harden(Pr);
var zv = (e, t) => {
Object.assign(e, t);
};
harden(zv);
var wo = En,
lR = (e) => {
let {
makeScalarBigMapStore: t,
makeScalarBigWeakMapStore: r,
makeScalarBigSetStore: o,
makeScalarBigWeakSetStore: n,
} = e,
a = (l, u, p = {}) => wo(l, u, () => t(u, { durable: !0, ...p }));
harden(a);
let i = (l, u, p = {}) => wo(l, u, () => r(u, { durable: !0, ...p }));
harden(i);
let c = (l, u, p = {}) => wo(l, u, () => o(u, { durable: !0, ...p }));
harden(c);
let d = (l, u, p = {}) => wo(l, u, () => n(u, { durable: !0, ...p }));
return (
harden(d),
harden({
provideDurableMapStore: a,
provideDurableWeakMapStore: i,
provideDurableSetStore: c,
provideDurableWeakSetStore: d,
})
);
},
uR = lR(Ha),
{
provideDurableMapStore: Gm,
provideDurableWeakMapStore: Qm,
provideDurableSetStore: zm,
provideDurableWeakSetStore: Ym,
} = uR;
var Yv =
(e) =>
(t, ...r) =>
e(...r);
harden(Yv);
var pR = (e) => {
let {
defineKind: t,
defineKindMulti: r,
defineDurableKind: o,
defineDurableKindMulti: n,
makeKindHandle: a,
} = e,
i = (g, S) => wo(g, `${S}_kindHandle`, () => a(S));
harden(i);
let c = (g, S, w, I, E = void 0) => o(i(g, S), w, I, E);
harden(c);
let d = (g, S, w, I, E = void 0) => n(i(g, S), w, I, E);
harden(d);
let l = (g, S, w, I, E) =>
t(g, w, I, { ...E, thisfulMethods: !0, interfaceGuard: S });
harden(l);
let u = (g, S, w, I, E) =>
r(g, w, I, { ...E, thisfulMethods: !0, interfaceGuardKit: S });
harden(u);
let p = (g, S, w, I, E) =>
o(g, w, I, { ...E, thisfulMethods: !0, interfaceGuard: S });
harden(p);
let y = (g, S, w, I, E) =>
n(g, w, I, { ...E, thisfulMethods: !0, interfaceGuardKit: S });
harden(y);
let b = (g, S, w, I, E, K = void 0) => p(i(g, S), w, I, E, K);
harden(b);
let m = (g, S, w, I, E, K = void 0) => y(i(g, S), w, I, E, K);
harden(m);
let v = (g, S, w, I, E = void 0) => {
let K = b(g, S, w, Va, I, E);
return wo(g, `${S}_singleton`, () => K());
};
harden(v);
let h = (g, S, w, I = void 0) => v(g, S, void 0, w, I);
return (
harden(h),
harden({
defineVirtualExoClass: l,
defineVirtualExoClassKit: u,
defineDurableExoClass: p,
defineDurableExoClassKit: y,
prepareExoClass: b,
prepareExoClassKit: m,
prepareExo: v,
prepareSingleton: h,
provideKindHandle: i,
prepareKind: c,
prepareKindMulti: d,
})
);
},
Zv = pR(Qv),
{
defineVirtualExoClass: mR,
defineVirtualExoClassKit: fR,
defineDurableExoClass: yR,
defineDurableExoClassKit: gR,
prepareExoClass: Sc,
prepareExoClassKit: xc,
prepareExo: Zm,
prepareSingleton: hR,
} = Zv,
{ provideKindHandle: bR, prepareKind: vR, prepareKindMulti: SR } = Zv;
var Xv = (e) => harden([e]);
harden(Xv);
var Ac = (e, t, r = void 0) => {
let o = t.detached().setStore(`${e} used keys`),
n = (c) => {
(typeof c == "string" || f`key ${c} must be a string`,
!o.has(c) ||
f`key ${c} has already been used in this zone and incarnation`,
o.add(c));
},
a =
(c, d = Xv) =>
(u, ...p) => {
for (let y of d(u)) n(y);
return c(u, ...p);
},
i = (c, d) => {
if ((n(c), r && r.has(c))) return r.get(c);
let l = d(c);
return (
t.isStorable(l) || f`maker return value ${l} is not storable`,
r && r.init(c, l),
l
);
};
return harden({ makeOnce: i, wrapProvider: a });
};
harden(Ac);
var Xm = (e) => `${e}_kindHandle`,
xR = (e) => `${e}_singleton`,
Yt = {
exoClass: (e) => harden([Xm(e)]),
exoClassKit: (e) => harden([Xm(e)]),
exo: (e) => harden([Xm(e), xR(e)]),
store: (e) => harden([e]),
zone: (e) => harden([e]),
};
harden(Yt);
var { apply: AR } = Reflect,
xl = s.call(s.raw()).rest(s.raw()).returns(),
Po = s.interface("PromiseWatcher", { onFulfilled: xl, onRejected: xl }),
mH = s.interface("PromiseWatcherFulfilled", { onFulfilled: xl }),
fH = s.interface("PromiseWatcherRejected", { onRejected: xl }),
eS = (e, t, r) => {
let o = e[t];
return o
? (assert.typeof(o, "function"),
(a) => {
AR(o, e, [a, ...r]);
})
: void 0;
},
ef = (e, t, ...r) => {
Promise.resolve(e) === e || f`watchPromise only watches promises`;
let o = eS(t, "onFulfilled", r),
n = eS(t, "onRejected", r);
(o ||
n ||
f`promise watcher must implement at least one handler method`,
O.when(e, o, n));
};
harden(ef);
var tS = (e) => or(e) && Wa(e);
harden(tS);
var rS = (e) =>
se("durableStores", {
detached: () => wR,
isStorable: tS,
mapStore: (a, i) => {
let c = e();
return Gm(c, a, i);
},
setStore: (a, i) => zm(e(), a, i),
weakMapStore: (a, i) => Qm(e(), a, i),
weakSetStore: (a, i) => Ym(e(), a, i),
}),
wR = rS(() => Go("detached")),
xs = (e, t = "durableZone") => {
e || f`baggage required`;
let r = rS(() => e),
{ makeOnce: o, wrapProvider: n } = Ac(t, r, e),
a = (...u) => Sc(e, ...u),
i = (...u) => xc(e, ...u),
c = (...u) => Zm(e, ...u),
d = n(r.mapStore, Yt.zone),
l = (u, p = {}) => {
let y = d(u, p);
return xs(y, `${t}.${u}`);
};
return se("durableZone", {
exo: n(c, Yt.exo),
exoClass: n(a, Yt.exoClass),
exoClassKit: n(i, Yt.exoClassKit),
subZone: l,
makeOnce: o,
watchPromise: Lm,
detached: r.detached,
isStorable: r.isStorable,
mapStore: n(r.mapStore, Yt.store),
setStore: n(r.setStore, Yt.store),
weakMapStore: n(r.weakMapStore, Yt.store),
weakSetStore: n(r.weakSetStore, Yt.store),
});
};
harden(xs);
var ot = s.remotable("Brand"),
ir = s.remotable("Issuer"),
Zt = s.remotable("Payment"),
sS = s.remotable("Purse"),
PR = s.remotable("DepositFacet"),
kR = s.remotable("Notifier"),
IR = s.remotable("Mint"),
aS = s.nat(),
iS = s.set(),
cS = s.arrayOf(s.key()),
dS = s.bag(),
TR = s.or(aS, iS, cS, dS),
et = { brand: ot, value: TR };
harden(et);
var oS = s.pattern(),
UR = { numerator: et, denominator: et };
harden(UR);
var CR = (e) => Ve(e, aS);
harden(CR);
var RR = (e) => Ve(e, iS);
harden(RR);
var OR = (e) => Ve(e, cS);
harden(OR);
var ER = (e) => Ve(e, dS);
harden(ER);
var nS = 100,
As = s.or("nat", "set", "copySet", "copyBag"),
ko = s.splitRecord(
{},
{ decimalPlaces: s.and(s.gte(-nS), s.lte(nS)), assetKind: As },
{},
),
tf = {
brand: ot,
mint: IR,
mintRecoveryPurse: sS,
issuer: ir,
displayInfo: ko,
};
harden(tf);
var lS = s.interface("Brand", {
isMyIssuer: s.callWhen(s.await(ir)).returns(s.boolean()),
getAllegedName: s.call().returns(s.string()),
getDisplayInfo: s.call().returns(ko),
getAmountShape: s.call().returns(s.pattern()),
}),
rf = (e = ot, t = As, r = et) => {
let o = s.interface("Issuer", {
getBrand: s.call().returns(e),
getAllegedName: s.call().returns(s.string()),
getAssetKind: s.call().returns(t),
getDisplayInfo: s.call().returns(ko),
makeEmptyPurse: s.call().returns(sS),
isLive: s.callWhen(s.await(Zt)).returns(s.boolean()),
getAmountOf: s.callWhen(s.await(Zt)).returns(r),
burn: s.callWhen(s.await(Zt)).optional(oS).returns(r),
}),
n = s.interface("Mint", {
getIssuer: s.call().returns(ir),
mintPayment: s.call(r).returns(Zt),
}),
a = s.interface("Payment", { getAllegedBrand: s.call().returns(e) }),
i = s.interface("Purse", {
getAllegedBrand: s.call().returns(e),
getCurrentAmount: s.call().returns(r),
getCurrentAmountNotifier: s.call().returns(kR),
deposit: s.call(Zt).optional(oS).returns(r),
getDepositFacet: s.call().returns(PR),
withdraw: s.call(r).returns(Zt),
getRecoverySet: s.call().returns(s.setOf(Zt)),
recoverAll: s.call().returns(r),
}),
c = s.interface("DepositFacet", {
receive: Ao(i).methodGuards.deposit,
}),
d = { purse: i, depositFacet: c };
return (
harden(d),
harden({ IssuerI: o, MintI: n, PaymentI: a, PurseIKit: d })
);
};
harden(rf);
var uS = (e, t) => {
(Kt(e, ko, "displayInfo"),
e.assetKind !== void 0 &&
(e.assetKind === t ||
f`displayInfo.assetKind was present (${e.assetKind}) and did not match the assetKind argument (${t})`));
let r = harden({ ...e, assetKind: t });
return (
r.decimalPlaces !== void 0 &&
(Number.isSafeInteger(r.decimalPlaces) ||
f`decimalPlaces ${r.decimalPlaces} is not a safe integer`),
r
);
};
var of = (e, t, r, o) =>
e.exoClass(`${t} payment`, o, Va, {
getAllegedBrand() {
return r;
},
});
harden(of);
var La = () => {},
wl = (e) => {
let t = harden(Promise.reject(e));
return (O.when(t, La, La), t);
},
sf = wl(harden(Error("Cannot read past end of iteration."))),
DR = s.interface("Publisher", {
publish: s.call(s.any()).returns(),
finish: s.call(s.any()).returns(),
fail: s.call(s.any()).returns(),
}),
NR = s.or(s.bigint(), s.number()),
af = s.interface("Subscriber", {
subscribeAfter: s.call().optional(s.bigint()).returns(s.promise()),
getUpdateSince: s.call().optional(NR).returns(s.promise()),
}),
BR = harden({ publisher: DR, subscriber: af }),
MR = s.interface("ForkableAsyncIterableIterator", {
fork: s.call().returns(s.any()),
[Symbol.asyncIterator]: s.call().returns(s.any()),
next: s.callWhen().returns(s.any()),
}),
$R = s.interface("IterableEachTopic", {
subscribeAfter: Ao(af).methodGuards.subscribeAfter,
[Symbol.asyncIterator]: s
.call()
.returns(s.remotable("ForkableAsyncIterableIterator")),
}),
_R = s.interface("IterableLatestTopic", {
getUpdateSince: Ao(af).methodGuards.getUpdateSince,
[Symbol.asyncIterator]: s
.call()
.returns(s.remotable("ForkableAsyncIterableIterator")),
}),
FR = (e) => {
let t = new WeakMap();
return (r) => {
let o = r;
if (t.has(o)) return t.get(o);
let n = e(r);
return (t.set(o, n), n);
};
},
pS = (e) => {
let {
head: { value: t, done: r },
publishCount: o,
} = e;
return r
? harden({ value: t, updateCount: void 0 })
: harden({ value: t, updateCount: o });
},
Nn = () => {
let e, t;
({ promise: e, resolve: t } = xt());
let r = 0n,
o = e,
n = (d, l, u) => {
if (t === void 0)
throw Error("Cannot update state after termination.");
((r += 1n), (o = e));
let p = t;
(d ? ((e = sf), (t = void 0)) : ({ promise: e, resolve: t } = xt()),
p(
u ||
harden({
head: { value: l, done: d },
publishCount: r,
tail: e,
}),
));
},
a = FR(pS),
i = se("Subscriber", {
subscribeAfter: (d = -1n) => {
if ((assert.typeof(d, "bigint"), d === r)) return e;
if (d < r) return o;
throw Error(
"subscribeAfter argument must be a previously-issued publishCount.",
);
},
getUpdateSince: (d) =>
d === void 0
? i.subscribeAfter().then(a)
: ((d = BigInt(d)),
i.subscribeAfter(d).then(() => i.getUpdateSince())),
}),
c = se("Publisher", {
publish: (d) => {
n(!1, d);
},
finish: (d) => {
n(!0, d);
},
fail: (d) => {
n(!0, void 0, wl(d));
},
});
return harden({ publisher: c, subscriber: i });
};
harden(Nn);
var KR = harden({
valueDurability: s.any(),
publishCount: s.any(),
status: s.any(),
hasValue: s.any(),
value: s.any(),
}),
JR = (e = {}) => {
let { valueDurability: t = "mandatory" } = e;
return (
assert.equal(t, "mandatory"),
{
valueDurability: t,
publishCount: 0n,
status: "live",
hasValue: !1,
value: void 0,
}
);
},
cf = (e) => e.publisher,
Al = new WeakMap(),
VR = (e, t, r) => {
let o = cf(t),
n = Al.get(o),
a = n && n.currentP;
if (a) return a;
let { publishCount: i, status: c, hasValue: d, value: l } = e;
if (!d) return (assert(c === "live"), r);
if (c === "live" || c === "finished") {
let u = harden({
head: { value: l, done: c !== "live" },
publishCount: i,
tail: r,
});
return O.resolve(u);
} else {
if (c === "failed") return wl(l);
throw f`Invalid durable promise kit status: ${x(c)}`;
}
},
mS = (e, t) => {
let r = cf(t),
o = Al.get(r);
if (o) return o;
let { status: n } = e,
a,
i;
if (n === "live")
(({ promise: a, resolve: i } = xt()), O.when(a, La, La));
else if (n === "finished" || n === "failed") a = sf;
else throw f`Invalid durable promise kit status: ${x(n)}`;
let c = harden({ currentP: void 0, tailP: a, tailR: i });
return (Al.set(r, c), c);
},
nf = (e, t, r = "live") => {
let { state: o, facets: n } = e,
{ valueDurability: a, status: i } = o;
if (i !== "live") throw Error("Cannot update state after termination.");
let c = r !== "live";
(c || a === "mandatory") &&
(Wa(t) || f`Cannot accept non-durable value: ${t}`);
let { tailP: d, tailR: l } = mS(o, n);
assert.typeof(l, "function");
let u = o.publishCount + 1n;
o.publishCount = u;
let p, y;
c
? ((o.status = r), (p = sf), (y = void 0))
: (({ promise: p, resolve: y } = xt()), O.when(p, La, La));
let b;
if (r === "failed") {
((o.hasValue = !0), (o.value = t));
let m = wl(t);
l(m);
} else
(c || (a !== "ignored" && Wa(t))
? ((o.hasValue = !0), (o.value = t))
: ((o.hasValue = !1), (o.value = void 0), (b = d)),
l(
harden({ head: { value: t, done: c }, publishCount: u, tail: p }),
));
Al.set(cf(n), harden({ currentP: b, tailP: p, tailR: y }));
},
Pl = (e, t) => {
let r = pS;
return xc(
e,
t,
BR,
JR,
{
publisher: {
publish(o) {
nf(this, o);
},
finish(o) {
nf(this, o, "finished");
},
fail(o) {
nf(this, o, "failed");
},
},
subscriber: {
subscribeAfter(o = -1n) {
let { state: n, facets: a } = this,
{ publishCount: i } = n,
{ currentP: c, tailP: d } = mS(n, a);
if (o === i) return d;
if (o < i) return c || VR(n, a, d);
throw Error(
"subscribeAfter argument must be a previously-issued publishCount.",
);
},
getUpdateSince(o) {
let {
facets: { subscriber: n },
} = this;
return o === void 0
? n.subscribeAfter().then(r)
: ((o = BigInt(o)),
n.subscribeAfter(o).then(() => n.getUpdateSince()));
},
},
},
{ stateShape: KR },
);
};
harden(Pl);
var wc = s.remotable("Subscriber");
var { isFrozen: fS } = Object,
HR = harden({
name: "vatUpgraded",
upgradeMessage: s.string(),
incarnationNumber: s.number(),
}),
WR = (e, t) =>
harden({
name: "vatUpgraded",
upgradeMessage: e,
incarnationNumber: t,
});
harden(WR);
var Bn = (e) => e != null && fS(e) && Ve(e, HR);
harden(Bn);
var kl = (e) =>
e != null && fS(e) && Ve(e, s.error()) && e.message === "vat terminated";
harden(kl);
var qa = () => {},
df = async (e, t = []) => {
let r,
o = -1 / 0;
await null;
for (let n = 0; ; n += 1)
try {
return await (n < t.length ? t[n] : e());
} catch (a) {
if (Bn(a)) {
r || (r = a);
let { incarnationNumber: i } = a;
if (i > o) {
o = i;
continue;
}
}
if (!Je(a) && r && r !== a)
try {
Ze(a, V`Attempting to recover from disconnection: ${r}`);
} catch {}
throw a;
}
};
var yS = (e, t) => {
let r = se("EachIterator", {
[Symbol.asyncIterator]: () => r,
next: () => {
let { head: o, publishCount: n, tail: a } = O.get(t);
return (
(t = df(async () => {
let c = await n;
assert.typeof(c, "bigint");
let d = await O(e).subscribeAfter(c),
l = d.publishCount;
return (
l !== c + 1n &&
f`eachIterator broken by gap from publishCount ${c} to ${l}`,
d
);
}, [a])),
O.when(n, qa, qa),
O.when(t, qa, qa),
o
);
},
fork: () => yS(e, t),
});
return r;
},
ja = (e) =>
se("EachIterable", {
[Symbol.asyncIterator]: () => {
let r = df(() => O(e).subscribeAfter());
return yS(e, r);
},
});
harden(ja);
var gS = (e, t, r) => {
let o = Promise.resolve(),
n = async () => {
if (r) return r;
let { value: i, updateCount: c } = await df(() =>
O(e).getUpdateSince(t),
);
return (
(t = c),
c === void 0
? ((r = harden({ done: !0, value: i })), r)
: harden({ done: !1, value: i })
);
},
a = se("LatestIterator", {
fork: () => gS(e, t, r),
[Symbol.asyncIterator]: () => a,
next: async () => {
if (r) return r;
let i = o.then(n);
return ((o = i.then(qa, qa)), i);
},
});
return a;
},
LR = (e) => gS(e),
Pc = (e) => se("LatestIterable", { [Symbol.asyncIterator]: () => LR(e) });
harden(Pc);
var Il = (e) => {
let t = se("notifier", {
...Pc(e),
getUpdateSince: async (r) => O(e).getUpdateSince(r),
getSharableNotifierInternals: async () => e,
getStoreKey: () => harden({ notifier: t }),
});
return t;
},
lf = (e) => {
let t = harden({
getUpdateSince: (o = void 0) => O(e).getUpdateSince(o),
});
return se("notifier", { ...Il(t), ...t });
};
harden(lf);
var uf = (...e) => {
let { publisher: t, subscriber: r } = Nn(),
o = lf(r),
n = se("updater", {
updateState: (a) => t.publish(a),
finish: (a) => t.finish(a),
fail: (a) => t.fail(a),
});
return (
xe(e.length <= 1, "too many arguments"),
e.length === 1 && n.updateState(e[0]),
harden({ notifier: o, updater: n })
);
},
hS = (e) => {
let t = O(e)[Symbol.asyncIterator](),
r,
o = 0n,
n,
a = !1,
i = se("baseNotifier", {
getUpdateSince(d = -1n) {
if (d < o) {
if (n) return Promise.resolve(n);
} else if (d !== o)
throw Error(
"getUpdateSince argument must be a previously-issued updateCount.",
);
if (a) return (xe(n !== void 0), Promise.resolve(n));
if (!r) {
let l = O(t).next();
r = O.when(
l,
({ done: u, value: p }) => (
xe(!a),
u && (a = !0),
(o += 1n),
(n = harden({ value: p, updateCount: u ? void 0 : o })),
(r = void 0),
n
),
(u) => ((a = !0), (n = l), (r = void 0), n),
);
}
return r;
},
});
return se("notifier", { ...Il(i), ...i });
};
harden(hS);
var Tl = (e) => {
let t = e.subscribeAfter();
return se("PinnedHistoryTopic", {
subscribeAfter: async (r = -1n) =>
r === -1n ? t : e.subscribeAfter(r),
getUpdateSince: async (r = void 0) => e.getUpdateSince(r),
});
};
harden(Tl);
var pf = (e) => {
let t = se("Subscription", {
...ja(e),
subscribeAfter: async (r) => O(e).subscribeAfter(r),
getSharableSubscriptionInternals: async () => e,
getStoreKey: () => harden({ subscription: t }),
});
return t;
};
harden(pf);
var mf = () => {
let { publisher: e, subscriber: t } = Nn(),
r = Tl(t),
o = pf(r),
n = se("publication", {
updateState: (a) => e.publish(a),
finish: (a) => e.finish(a),
fail: (a) => e.fail(a),
});
return harden({ publication: n, subscription: o });
};
harden(mf);
var bS = (e, t) =>
new Promise((r, o) => {
let n = () => {
O.when(
O(e).next(),
({ value: a, done: i }) => {
i
? (t.finish && t.finish(a), r(void 0))
: (t.updateState && t.updateState(a), n());
},
(a) => {
(t.fail && t.fail(a), r(void 0));
},
).catch(o);
};
n();
}),
ff = (e, t) => {
let r = O(e)[Symbol.asyncIterator]();
return bS(r, t);
};
var { freeze: vS, entries: qR } = Object,
Wr = (e) => {
if (e === null || typeof e != "object")
throw TypeError("keyMirror expects a record of string keys.");
let t = { __proto__: null };
for (let [r, o] of qR(e)) {
if (o !== null && o !== r)
throw TypeError(
`Value for key "${r}" must be null or the key string; got ${String(o)}.`,
);
t[r] = r;
}
return vS(t);
};
vS(Wr);
var jR = {
BANK: "bank",
CORE: "core",
DIBC: "dibc",
STORAGE: "storage",
PROVISION: "provision",
PROVISION_SMART_WALLET: "provisionWallet",
VLOCALCHAIN: "vlocalchain",
VTRANSFER: "vtransfer",
WALLET: "wallet",
};
harden(jR);
var GR = { vbankPort: "bank", vibcPort: "dibc" };
harden(GR);
var QR = Wr({ depositFacet: null });
harden(QR);
var zR = {
reserve: {
module: "vbank/reserve",
address: "agoric1ae0lmtzlgrcnla9xjkpaarq5d5dfez63h3nucl",
},
provision: {
module: "vbank/provision",
address: "agoric1megzytg65cyrgzs6fvzxgrcqvwwl7ugpt62346",
},
};
harden(zR);
var SS = 1,
Ae = (e, t = !0) => {
let r = (n, a = t) => Ae(`${e}.${n}`, a),
o = `----- ${e},${SS} `;
switch (((SS += 1), t)) {
case !1: {
let n = (...a) => {};
return harden(Object.assign(n, { sub: r }));
}
case "verbose": {
let n = (a, ...i) => {
typeof a?.log == "function"
? console.info(o, ...i)
: console.info(o, a, ...i);
};
return harden(Object.assign(n, { sub: r }));
}
default: {
let n = (a, ...i) => {
typeof a?.log == "function"
? a.log(o, ...i)
: console.info(o, a, ...i);
};
return harden(Object.assign(n, { sub: r }));
}
}
};
harden(Ae);
var Lr = (e, t = `unexpected ${x(e)}`) => {
if (e != null) return e;
assert.fail(t);
};
harden(Lr);
var { defineProperty: bW } = Object;
var Io = Object.entries,
Qo = Object.fromEntries,
YR = Function.prototype.call.bind(Array.prototype.map),
yf = ["debug", "log", "info", "warn", "error"];
Object.freeze(yf);
var xS = (e, t, r, o) => {
if (r && typeof t == "string") {
let l = o(e, t, r);
if (l !== e) return l;
}
if (typeof e != "object" || !e) return e;
let n = !1,
a = e,
i = ([l, u]) => {
let p = xS(u, l, a, o);
return ((n ||= p !== u), [l, p]);
},
c = Io(a).map(i);
return n ? Qo(c) : e;
},
gf = (e, t) => xS(e, void 0, void 0, t);
var AS = (e, t) => {
let r = Io(e),
n = YR(r, ([i, c]) => [i, t(c, i)]);
return Qo(n);
};
var To = (e, t, r) => {
let o = e.get(t);
if (o !== void 0 || e.has(t)) return o;
let n = r(t);
return (e.set(t, n), n);
};
var wS = (e) => f`${e} is not pure data`,
PS = At(wS, wS, { serializeBodyFormat: "smallcaps" });
harden(PS);
var { create: ZR, fromEntries: XR } = Object,
{ apply: eO } = Reflect,
tO = (e) => _r(e);
harden(tO);
var rO = (e) =>
harden(
ZR(
e,
XR(
_r(e).map((t) => [
t,
{ value: (...r) => eO(e[t], e, r), enumerable: !0 },
]),
),
),
);
harden(rO);
var Ul = [5, 10, 25, 50, 100, 250, 500, 1e3, 2500, 5e3, 1e4, 1 / 0],
oO = Ul.map((e) => e / 1e3),
TW = {
swingset_crank_processing_time: {
description: "Processing time per crank (ms)",
unit: "ms",
boundaries: Array.of(1, 11, 21, 31, 41, 51, 61, 71, 81, 91, 1 / 0),
},
swingset_block_processing_seconds: {
description: "Processing time per block",
unit: "s",
boundaries: oO,
},
swingset_vat_startup: {
description: "Vat startup time (ms)",
unit: "ms",
boundaries: Ul,
},
swingset_vat_delivery: {
description: "Vat delivery time (ms)",
unit: "ms",
boundaries: Ul,
},
swingset_meter_usage: {
description: "Vat meter usage",
unit: "ms",
boundaries: Ul,
},
},
Uo = {
unit: "s",
advice: {
explicitBucketBoundaries: [
0.1, 0.2, 0.3, 0.4, 0.5, 1, 2, 3, 4, 5, 6, 7, 10, 15, 30,
],
},
},
UW = {
swingsetRunSeconds: {
description: "Per-block time spent executing SwingSet",
...Uo,
},
swingsetChainSaveSeconds: {
description:
"Per-block time spent propagating SwingSet state into cosmos",
...Uo,
},
swingsetCommitSeconds: {
description:
"Per-block time spent committing SwingSet state to host storage",
...Uo,
},
cosmosCommitSeconds: {
description: "Per-block time spent committing cosmos state",
...Uo,
},
fullCommitSeconds: {
description:
"Per-block time spent committing state, inclusive of COMMIT_BLOCK processing plus time spent [outside of cosmic-swingset] before and after it",
...Uo,
},
interBlockSeconds: {
description: "Time spent idle between blocks",
...Uo,
},
afterCommitHangoverSeconds: {
description:
"Per-block time spent waiting for previous-block afterCommit work",
...Uo,
},
blockLagSeconds: {
description: "The delay of each block from its expected begin time",
...Uo,
advice: {
...Uo.advice,
explicitBucketBoundaries: [
...Uo.advice.explicitBucketBoundaries,
60,
120,
180,
240,
300,
600,
3600,
],
},
},
};
var nO = { Counter: "counter", Gauge: "gauge" },
sO = [
{
key: "syscalls",
name: "swingset_all_syscall_total",
description: "Total number of SwingSet kernel calls",
},
{
key: "syscallSend",
name: "swingset_syscall_total",
sub: { dimension: "syscall", value: "send" },
description: "Total number of SwingSet message send kernel calls",
},
{
key: "syscallCallNow",
name: "swingset_syscall_total",
sub: { dimension: "syscall", value: "callNow" },
description:
"Total number of SwingSet synchronous device kernel calls",
},
{
key: "syscallSubscribe",
name: "swingset_syscall_total",
sub: { dimension: "syscall", value: "subscribe" },
description:
"Total number of SwingSet promise subscription kernel calls",
},
{
key: "syscallResolve",
name: "swingset_syscall_total",
sub: { dimension: "syscall", value: "resolve" },
description:
"Total number of SwingSet promise resolution kernel calls",
},
{
key: "syscallExit",
name: "swingset_syscall_total",
sub: { dimension: "syscall", value: "exit" },
description: "Total number of SwingSet vat exit kernel calls",
},
{
key: "syscallVatstoreGet",
name: "swingset_syscall_total",
sub: { dimension: "syscall", value: "vatstoreGet" },
description: "Total number of SwingSet vatstore get kernel calls",
},
{
key: "syscallVatstoreSet",
name: "swingset_syscall_total",
sub: { dimension: "syscall", value: "vatstoreSet" },
description: "Total number of SwingSet vatstore set kernel calls",
},
{
key: "syscallVatstoreGetNextKey",
name: "swingset_syscall_total",
sub: { dimension: "syscall", value: "vatstoreGetNext" },
description:
"Total number of SwingSet vatstore getNextKey kernel calls",
},
{
key: "syscallVatstoreDelete",
name: "swingset_syscall_total",
sub: { dimension: "syscall", value: "vatstoreDelete" },
description: "Total number of SwingSet vatstore delete kernel calls",
},
{
key: "syscallDropImports",
name: "swingset_syscall_total",
sub: { dimension: "syscall", value: "dropImports" },
description: "Total number of SwingSet drop imports kernel calls",
},
{
key: "dispatches",
name: "swingset_dispatch_total",
description: "Total number of SwingSet vat calls",
},
{
key: "dispatchDeliver",
name: "swingset_dispatch_deliver_total",
description: "Total number of SwingSet vat message deliveries",
},
{
key: "dispatchNotify",
name: "swingset_dispatch_notify_total",
description: "Total number of SwingSet vat promise notifications",
},
],
aO = [
{
key: "kernelObjects",
name: "swingset_kernel_objects",
description: "Active kernel objects",
},
{
key: "kernelDevices",
name: "swingset_kernel_devices",
description: "Active kernel devices",
},
{
key: "kernelPromises",
name: "swingset_kernel_promises",
description: "Active kernel promises",
},
{
key: "kpUnresolved",
name: "swingset_unresolved_kernel_promises",
description: "Unresolved kernel promises",
},
{
key: "kpFulfilled",
name: "swingset_fulfilled_kernel_promises",
description: "Fulfilled kernel promises",
},
{
key: "kpRejected",
name: "swingset_rejected_kernel_promises",
description: "Rejected kernel promises",
},
{
key: "runQueueLength",
name: "swingset_run_queue_length",
consensus: !0,
description: "Length of the kernel run queue",
},
{
key: "acceptanceQueueLength",
name: "swingset_acceptance_queue_length",
consensus: !0,
description: "Length of the kernel acceptance queue",
},
{
key: "promiseQueuesLength",
name: "swingset_promise_queues_length",
consensus: !0,
description: "Combined length of all kernel promise queues",
},
{
key: "clistEntries",
name: "swingset_clist_entries",
description: "Number of entries in the kernel c-list",
},
{
key: "vats",
name: "swingset_vats",
description: "Number of active vats",
},
],
{ Counter: iO, Gauge: cO } = nO,
dO = harden([
...sO.map((e) => ({ ...e, metricType: iO })),
...aO.map((e) => ({ ...e, metricType: cO })),
]),
hf = new Map();
for (let { key: e } of dO) hf.set(e, (hf.get(e) || 0) + 1);
var kS = [...hf.entries()].flatMap(([e, t]) => (t > 1 ? [e] : []));
if (kS.length > 0) {
let e = `Duplicate kernel stats keys ${JSON.stringify(kS)}`;
throw Error(e);
}
var lO = (e, t) => {
let r = +e - +t,
o =
(Number.isFinite(r) && r) ||
(e === t
? 0
: Number(BigInt(e) - BigInt(t)) || e.length - t.length);
return Math.sign(o);
},
Cl = (e, t) => (e > t ? 1 : e < t ? -1 : 0),
IS = /([0-9]+)/,
Rl = new Map(),
uO = (e, t) => {
Rl.size || Promise.resolve().then(() => Rl.clear());
let r = To(Rl, e, () => e.split(IS)),
o = To(Rl, t, () => t.split(IS)),
n = 0;
for (; n + 1 < r.length; n += 2)
if (n + 1 < o.length) {
let a = Cl(r[n], o[n]) || lO(r[n + 1], o[n + 1]);
if (a) return a;
} else return Cl(`${r[n]}${r[n + 1]}`, o[n]);
return o.length > r.length
? Cl(r[n], `${o[n]}${o[n + 1]}`)
: Cl(r[n], o[n]);
};
harden(uO);
var { getOwnPropertyDescriptors: pO, create: mO, fromEntries: fO } = Object,
{ ownKeys: yO } = Reflect,
TS = (e, t, r = Object.prototype) => {
let o = pO(e),
a = yO(e)
.map((i) => [i, t(o[i], i)])
.filter(([i, c]) => c !== void 0);
return harden(mO(r, fO(a)));
};
harden(TS);
var bf = Object.freeze,
Ol = () => {
let { promise: e, resolve: t } = xt();
return {
put(r) {
let { resolve: o, promise: n } = xt();
(t(bf({ value: r, promise: n })), (t = o));
},
get() {
let r = e.then((o) => o.value);
return ((e = e.then((o) => o.promise)), harden(r));
},
};
};
harden(Ol);
var vf = (e, t) => {
let r = harden({
next(o) {
return (t.put(bf({ value: o, done: !1 })), e.get());
},
return(o) {
return (t.put(bf({ value: o, done: !0 })), e.get());
},
throw(o) {
return (t.put(harden(Promise.reject(o))), e.get());
},
[Symbol.asyncIterator]() {
return r;
},
});
return r;
};
harden(vf);
var gO = () => {
let e = Ol(),
t = Ol(),
r = vf(t, e),
o = vf(e, t);
return harden([o, r]);
};
harden(gO);
var hO = async (e, t, r) => {
let o = (a) =>
O.when(
a,
(i) => (i.done ? e.return(i.value) : n(e.next(i.value))),
(i) => e.throw(i),
),
n = (a) =>
O.when(
a,
(i) => (i.done ? t.return(i.value) : o(t.next(i.value))),
(i) => t.throw(i),
);
await o(t.next(r));
};
harden(hO);
var bO = (e, t) => {
let r = e.next(t),
o;
return harden({
async next(a) {
return o === void 0 && ((o = await r), o.done) ? o : e.next(a);
},
async return(a) {
return o === void 0 && ((o = await r), o.done) ? o : e.return(a);
},
async throw(a) {
if (o === void 0 && ((o = await r), o.done)) throw a;
return e.throw(a);
},
});
};
harden(bO);
var vO = (e, t) => {
async function* r() {
for await (let o of e) yield t(o);
return void 0;
}
return (harden(r), harden(r()));
};
harden(vO);
var SO = (e, t) => {
let r = harden({
async next(o) {
return e.next(t(o));
},
async throw(o) {
return e.throw(o);
},
async return(o) {
return e.return(o);
},
[Symbol.asyncIterator]() {
return r;
},
});
return r;
};
harden(SO);
var Sf = (e) => harden(new Promise(e));
harden(Sf);
var xO = (e) => harden(new Map(e));
harden(xO);
var AO = (e) => harden(new Set(e));
harden(AO);
var wO = (e) => harden(new WeakMap(e));
harden(wO);
var PO = (e) => harden(new WeakSet(e));
harden(PO);
var xf = (e) =>
harden({
[Symbol.asyncIterator]: () => harden({ next: async () => harden(e()) }),
});
harden(xf);
var kO = (e) =>
Sf((t, r) => {
let o = async () => {
if (!(await e())) {
t(void 0);
return;
}
o().catch(r);
};
o().catch(r);
});
harden(kO);
var { fromEntries: US, keys: IO, values: TO } = Object,
UO = (e) => {
let t = US(yf.map((r) => [r, e(r)]));
return harden(t);
};
harden(UO);
var CS = async (e) => (!Je(e) || f`param must be an object`, Lo(e));
var RS = (e, t) => (
t.startsWith(e) || f`${t} is missing prefix ${x(e)}`,
t.slice(e.length)
);
var kc = (e) => {
let t = [];
for (let [r, o] of Object.entries(e)) o === void 0 && t.push(r);
t.length > 0 && f`missing ${x(t)}`;
};
var CO = harden({ done: !1, value: void 0 }),
a7 = harden({ done: !0, value: void 0 }),
i7 = xf(() => CO);
var RO = (e, t) => harden(e.map((r, o) => [r, t[+o]])),
OS = async (e) => {
let t = await Promise.all(TO(e));
return harden(US(RO(IO(e), t)));
};
var zo = Be;
var ES = s.remotable("StorageNode"),
m7 = s.interface("helper", {}, { defaultGuards: "passable" }),
f7 = s.or(s.number(), s.string());
var Mn = se("heapStores", {
detached: () => Mn,
isStorable: or,
setStore: hc,
mapStore: Go,
weakMapStore: vs,
weakSetStore: yc,
}),
Yo = (e = "heapZone") => {
let { makeOnce: t, wrapProvider: r } = Ac(e, Mn),
o = (n, a) => Yo(`${e}.${n}`);
return se("heapZone", {
exo: r(gl, Yt.exo),
exoClass: r(bc, Yt.exoClass),
exoClassKit: r(yl, Yt.exoClassKit),
subZone: r(o),
makeOnce: t,
watchPromise: ef,
detached: Mn.detached,
isStorable: Mn.isStorable,
mapStore: r(Mn.mapStore),
setStore: r(Mn.setStore),
weakMapStore: r(Mn.weakMapStore),
weakSetStore: r(Mn.weakSetStore),
});
};
harden(Yo);
var { fromEntries: OO } = Object,
{ ownKeys: EO } = Reflect,
DO = EO,
NO = (e) => {
switch (typeof e) {
case "string":
case "number":
case "symbol":
return !0;
default:
return !1;
}
},
DS = (e, ...t) => {
let { target: r, methodName: o, bound: n } = e;
return o === void 0 ? r(...n, ...t) : r[o](...n, ...t);
};
harden(DS);
var Ic = (e, ...t) => {
let { target: r, methodName: o, bound: n } = e;
return o === void 0 ? O(r)(...n, ...t) : O(r)[o](...n, ...t);
};
harden(Ic);
var BO = (e, ...t) => (
typeof e == "function" ||
f`sync function callback target must be a function: ${e}`,
harden({ target: e, bound: t, isSync: !0 })
);
harden(BO);
var Af = (e, ...t) => (
!Je(e) || f`function callback target must be a function presence: ${e}`,
harden({ target: e, bound: t })
);
harden(Af);
var NS = (e, t, ...r) => (
!Je(e) || f`sync method callback target must be an object: ${e}`,
typeof t == "string" ||
ps(t) ||
f`method name must be a string or passable symbol: ${t}`,
harden({ target: e, methodName: t, bound: r, isSync: !0 })
);
harden(NS);
var BS = (e, t, ...r) => (
!Je(e) || f`method callback target must be an object: ${e}`,
typeof t == "string" ||
ps(t) ||
f`method name must be a string or passable symbol: ${t}`,
harden({ target: e, methodName: t, bound: r })
);
harden(BS);
var MS = (e) => {
if (Je(e)) return !1;
let { target: t, methodName: r, bound: o } = e;
return (
!Je(t) &&
(r === void 0 || typeof r == "string" || ps(r)) &&
Array.isArray(o)
);
};
harden(MS);
var $S = (e, t, { interfaceGuard: r, tag: o = "Attenuator" } = {}) => {
let n = OO(
t.map((i) => {
if (!NO(i)) throw f`key ${x(i)} is not a PropertyKey`;
let c = {
[i](...d) {
let l = this.state.cbs[i];
if (!l) {
let u = Se(`unimplemented ${x(o)} method ${x(i)}`);
if (this.state.isSync) throw u;
return Promise.reject(u);
}
return l.isSync ? DS(l, ...d) : Ic(l, ...d);
},
}[i];
return [i, c];
}),
);
return e.exoClass(
o,
r,
({ target: i = null, isSync: c = !1, overrides: d = {} }) => {
let l = {},
u = new Set(t);
for (let p of DO(d)) {
(u.has(p) ||
f`${x(o)} overrides[${x(p)}] not allowed by methodNames`,
u.delete(p));
let y = d[p];
(y == null ||
MS(y) ||
f`${x(o)} overrides[${x(p)}] is not a callback; got ${y}`,
(l[p] = y));
}
for (let p of u) c ? (l[p] = NS(i, p)) : (l[p] = BS(i, p));
return harden({ cbs: l, isSync: c });
},
n,
);
};
harden($S);
var MO = (e, t, r = {}) => {
let o = ul(t);
return $S(e, o, { ...r, interfaceGuard: t });
};
harden(MO);
var Q7 = harden({ blockHeight: s.string(), values: s.array() }),
_O = s.interface("StorageNode", {
setValue: s.callWhen(s.string()).returns(),
getPath: s.call().returns(s.string()),
getStoreKey: s.callWhen().returns(s.record()),
makeChildNode: s
.call(s.string())
.optional(s.splitRecord({}, { sequence: s.boolean() }, {}))
.returns(s.remotable("StorageNode")),
}),
FO = (e) =>
e &&
typeof e == "object" &&
Array.isArray(e.values) &&
typeof e.blockHeight == "string" &&
/^0$|^[1-9][0-9]*$/.test(e.blockHeight);
harden(FO);
var KO = /^[a-zA-Z0-9_-]{1,100}$/,
_S = (e) => {
KO.test(e) ||
f`Path segment names must consist of 1 to 100 characters limited to ASCII alphanumerics, underscores, and/or dashes: ${e}`;
};
harden(_S);
var JO = (e) => {
let t = e.exoClass(
"ChainStorageNode",
_O,
(r, o, { sequence: n = !1 } = {}) => (
assert.typeof(o, "string"),
assert.typeof(n, "boolean"),
harden({ path: o, messenger: r, sequence: n })
),
{
getPath() {
return this.state.path;
},
async getStoreKey() {
let { path: r, messenger: o } = this.state;
return Ic(o, { method: "getStoreKey", args: [r] });
},
makeChildNode(r, o = {}) {
let { sequence: n, path: a, messenger: i } = this.state;
_S(r);
let c = { sequence: n, ...o };
return t(i, `${a}.${r}`, c);
},
async setValue(r) {
let { sequence: o, path: n, messenger: a } = this.state;
assert.typeof(r, "string");
let i;
(!o && !r ? (i = [n]) : (i = [n, r]),
await Ic(a, { method: o ? "append" : "set", args: [i] }));
},
},
);
return t;
},
VO = JO(Yo());
function HO(e, t, r = {}) {
let o = Af(e);
return VO(o, t, r);
}
var WO = () =>
HO(
se("NullMessenger", () => null),
"null",
);
async function LO(e, t) {
let o = (await e) || WO();
return O(o).makeChildNode(t);
}
harden(LO);
var wf = (e, t) => async (r) => {
let o = await O(t).toCapData(r),
n = JSON.stringify(o);
return O(e).setValue(n);
};
var qO = async (e, t) => {
let r = ja(e)[Symbol.asyncIterator](),
o = !1;
for (await null; !o; ) {
let { value: n, done: a } = await r.next();
(await t(n), (o = !!a));
}
},
jO = (e, t, r) => {
kc({ subscriber: e, storageNode: t, marshaller: r });
let o = wf(t, r);
qO(e, o).catch((i) => {
console.error("StoredSubscriber failed to iterate", i);
});
let n = se("unserializer", {
fromCapData: (i) => O(r).fromCapData(i),
unserialize: (i) => O(r).fromCapData(i),
});
return se("StoredSubscriber", {
subscribeAfter: (i) => e.subscribeAfter(i),
getUpdateSince: (i) => e.getUpdateSince(i),
getPath: () => O(t).getPath(),
getStoreKey: () => O(t).getStoreKey(),
getUnserializer: () => n,
});
},
GO = (
e,
t,
r = At(void 0, void 0, {
marshalSaveError: () => {},
serializeBodyFormat: "smallcaps",
}),
) => {
let o = se("unserializer", {
fromCapData: (l) => O(r).fromCapData(l),
unserialize: (l) => O(r).fromCapData(l),
}),
n = !1,
a,
i = (l) => {
((n = !0), (a = l));
},
c = (l) => {
if ((assert(t), n)) throw a;
O(r)
.toCapData(l)
.then((u) => {
let p = JSON.stringify(u);
return O(t).setValue(p);
})
.catch(i);
};
return (
t && ff(e, { updateState: c, finish: c }).catch(i),
se("StoredSubscription", {
getStoreKey: async () => {
if (!t) return harden({ subscription: e });
let l = await O(t).getStoreKey();
return harden({ ...l, subscription: e });
},
getUnserializer: () => o,
getSharableSubscriptionInternals: () =>
e.getSharableSubscriptionInternals(),
[Symbol.asyncIterator]: () => e[Symbol.asyncIterator](),
subscribeAfter: (l) => e.subscribeAfter(l),
})
);
};
harden(GO);
var QO = (e, t) => {
let { publisher: r, subscriber: o } = Nn();
return { publisher: r, subscriber: jO(o, e, t) };
};
harden(QO);
var Pf = () => {
let e = jm("transientNotiferKits"),
t = (n) => En(e, n, () => uf(n.getCurrentAmount()));
return {
provideNotifier: (n) => t(n).notifier,
update: (n, a) => {
if (e.has(n)) {
let { updater: i } = e.get(n);
i.updateState(a);
}
},
};
};
harden(Pf);
var Tc = (e, t) =>
harden({
getAmount: () => e[t],
increment: (r) => {
e[t] = Le.add(e[t], r);
},
decrement: (r) =>
Le.isGTE(e[t], r) ? ((e[t] = Le.subtract(e[t], r)), !0) : !1,
});
harden(Tc);
var YO = Ar([]),
kf = (e, t, r, o, n, a, i, c) => {
let d = o.getAmountShape(),
{ provideNotifier: l, update: u } = Pf(),
p = (v) => {
let { recoverySet: h } = v;
if (i === "hasRecoverySets") return h;
(i === "noRecoverySets" ||
f`recoverSetsState must be noRecoverySets if it isn't hasRecoverSets`,
c !== void 0 || f`paymentRecoverySets must always be defined`,
h.getSize() === 0 ||
f`With noRecoverySets, recoverySet must be empty`);
},
{ depositInternal: y, withdrawInternal: b } = a,
m = e.exoClassKit(
`${t} Purse`,
n,
() => {
let v = Le.makeEmpty(o, r),
h = e.detached().setStore("recovery set");
return { currentBalance: v, recoverySet: h };
},
{
purse: {
deposit(v, h = void 0) {
let { state: g } = this,
{ purse: S } = this.facets,
w = Tc(g, "currentBalance"),
I = y(w, v, h);
return (u(S, w.getAmount()), I);
},
withdraw(v) {
let { state: h } = this,
{ purse: g } = this.facets,
S = p(h),
w = Tc(h, "currentBalance"),
I = b(w, v, S);
return (u(g, w.getAmount()), I);
},
getCurrentAmount() {
let { state: v } = this;
return Tc(v, "currentBalance").getAmount();
},
getCurrentAmountNotifier() {
return l(this.facets.purse);
},
getAllegedBrand() {
return o;
},
getDepositFacet() {
return this.facets.depositFacet;
},
getRecoverySet() {
let { state: v } = this,
h = p(v);
return h === void 0 ? YO : h.snapshot();
},
recoverAll() {
let { state: v, facets: h } = this,
g = Le.makeEmpty(o, r),
S = p(v);
if (S === void 0) return g;
for (let w of S.keys()) {
let I = h.purse.deposit(w);
g = Le.add(g, I, o);
}
return (
S.getSize() === 0 ||
f`internal: Remaining unrecovered payments: ${h.purse.getRecoverySet()}`,
g
);
},
},
depositFacet: {
receive(...v) {
return this.facets.purse.deposit(...v);
},
},
},
{
stateShape: {
currentBalance: d,
recoverySet: s.remotable("recoverySet"),
},
},
);
return () => m().purse;
};
harden(kf);
var ZO = (e, t, r) => {
let o;
switch (t) {
case "nat": {
((o = s.nat()),
r === void 0 ||
f`Fungible assets cannot have an elementShape: ${x(r)}`);
break;
}
case "set": {
r === void 0
? (o = s.arrayOf(s.key()))
: (o = s.arrayOf(s.and(s.key(), r)));
break;
}
case "copySet": {
r === void 0 ? (o = s.set()) : (o = s.setOf(r));
break;
}
case "copyBag": {
r === void 0 ? (o = s.bag()) : (o = s.bagOf(r));
break;
}
default:
f`unexpected asset kind ${x(t)}`;
}
return harden({ brand: e, value: o });
},
If = (e, t, r, o, n, a, i = void 0) => {
let c = e.exo(`${t} brand`, lS, {
isMyIssuer(T) {
return T === k;
},
getAllegedName() {
return t;
},
getDisplayInfo() {
return o;
},
getAmountShape() {
return d;
},
}),
d = ZO(c, r, n),
{ IssuerI: l, MintI: u, PaymentI: p, PurseIKit: y } = rf(c, r, d),
b = of(e, t, c, p),
m = (T) => {
if (i !== void 0)
try {
i(T);
} catch (R) {
throw (Ze(R, V`Caused by: ${T}`), R);
}
throw T;
},
v = e.weakMapStore("paymentLedger", { valueShape: d }),
h = e.weakMapStore("paymentRecoverySets"),
g = (T, R, N = void 0) => {
(a === "noRecoverySets" &&
(N === void 0 ||
f`when recoverSetsState === 'noRecoverySets', optRecoverySet must be empty`),
N !== void 0 && !Le.isEmpty(R) && (N.add(T), h.init(T, N)),
v.init(T, R));
},
S = (T) => {
if ((v.delete(T), h.has(T))) {
let R = h.get(T);
(h.delete(T), R.delete(T));
}
},
w = (T) => Le.coerce(c, T),
I = (T, R) => {
R !== void 0 && Be(T, R, "amount");
},
E = (T) => {
v.has(T) ||
f`${T} was not a live payment for brand ${x(c)}. It could be a used-up payment, a payment for another brand, or it might not be a payment at all.`;
},
K = (T, R, N = void 0) => {
(!rr(R) ||
assert.fail(
"deposit does not accept promises as first argument. Instead of passing the promise (deposit(paymentPromise)), consider unwrapping the promise first: E.when(paymentPromise, (actualPayment => deposit(actualPayment))",
TypeError,
),
E(R));
let F = v.get(R);
I(F, N);
try {
(S(R), T.increment(F));
} catch (H) {
throw (m(H), H);
}
return F;
},
J = (T, R, N = void 0) => {
R = w(R);
let F = b();
T.decrement(R) ||
f`Withdrawal of ${R} failed because the purse only contained ${T.getAmount()}`;
try {
g(F, R, N);
} catch (H) {
throw (m(H), H);
}
return F;
},
P = kf(
e,
t,
r,
c,
y,
harden({ depositInternal: K, withdrawInternal: J }),
a,
h,
),
k = e.exo(`${t} issuer`, l, {
getBrand() {
return c;
},
getAllegedName() {
return t;
},
getAssetKind() {
return r;
},
getDisplayInfo() {
return o;
},
makeEmptyPurse() {
return P();
},
isLive(T) {
return v.has(T);
},
getAmountOf(T) {
return (E(T), v.get(T));
},
burn(T, R = void 0) {
E(T);
let N = v.get(T);
I(N, R);
try {
S(T);
} catch (F) {
throw (m(F), F);
}
return N;
},
}),
U = e.makeOnce("mintRecoveryPurse", () => P()),
D = e.exo(`${t} mint`, u, {
getIssuer() {
return k;
},
mintPayment(T) {
((T = w(T)), Be(T, d, "minted amount"));
let R = b();
g(R, T, void 0);
let N = U.getCurrentAmount();
U.deposit(R, T);
let F = U.withdraw(T),
H = U.getCurrentAmount();
return (assert(ar(N, H)), F);
},
});
return harden({ issuer: k, mint: D, brand: c, mintRecoveryPurse: U });
};
harden(If);
var Uf = (
{ name: e, assetKind: t, displayInfo: r, elementShape: o },
n,
a,
i = void 0,
) => {
(xe.typeof(e, "string"), Sl(t));
let c = uS(r, t);
(i !== void 0 && xe.typeof(i, "function"), o !== void 0 && zt(o));
let {
issuer: d,
mint: l,
brand: u,
mintRecoveryPurse: p,
} = If(n, e, t, c, o, a, i);
return harden({
brand: u,
issuer: d,
mint: l,
mintRecoveryPurse: p,
displayInfo: c,
});
};
harden(Uf);
var Cf = "issuer",
Tf = "recoverySetsState",
FS = (e, t = void 0, r = void 0) => {
let o = e.get(Cf),
n = xs(e),
a = e.has(Tf) ? e.get(Tf) : "hasRecoverySets";
return (
a === "noRecoverySets" &&
r === "hasRecoverySets" &&
f`Cannot (yet?) upgrade from 'noRecoverySets' to 'hasRecoverySets'`,
Uf(o, n, r || a, t)
);
};
harden(FS);
var XO = (e) => e.has(Cf),
Rf = (
e,
t,
r = Dn.NAT,
o = harden({}),
n = void 0,
{ elementShape: a = void 0, recoverySetsOption: i = void 0 } = {},
) => {
let c = harden({
name: t,
assetKind: r,
displayInfo: o,
elementShape: a,
});
e.init(Cf, c);
let d = xs(e),
l = i || "hasRecoverySets";
return (e.init(Tf, l), Uf(c, d, l, n));
};
harden(Rf);
var eE = (e, t, r = Dn.NAT, o = harden({}), n = void 0, a = {}) => {
if (XO(e)) {
let { elementShape: i = void 0, recoverySetsOption: c = void 0 } = a;
return FS(e, n, c);
} else return Rf(e, t, r, o, n, a);
};
harden(eE);
var KS = (
e,
t = Dn.NAT,
r = harden({}),
o = void 0,
{ elementShape: n = void 0, recoverySetsOption: a = void 0 } = {},
) =>
Rf(qm("dropped issuer kit", { durable: !0 }), e, t, r, o, {
elementShape: n,
recoverySetsOption: a,
});
harden(KS);
var { freeze: tE } = Object,
ws = "=",
kr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
El = {};
for (let e = 0; e < kr.length; e += 1) {
let t = kr[e];
El[t] = e;
}
tE(El);
var rE = (e) => {
let t = "",
r = 0,
o = 0;
for (let n = 0; n < e.length; n += 1) {
let a = e[n];
((r = (r << 8) | a),
(o += 8),
o === 24 &&
((t +=
kr[(r >>> 18) & 63] +
kr[(r >>> 12) & 63] +
kr[(r >>> 6) & 63] +
kr[(r >>> 0) & 63]),
(r = 0),
(o = 0)));
}
switch (o) {
case 0:
break;
case 8:
t += kr[(r >>> 2) & 63] + kr[(r << 4) & 63] + ws + ws;
break;
case 16:
t +=
kr[(r >>> 10) & 63] + kr[(r >>> 4) & 63] + kr[(r << 2) & 63] + ws;
break;
default:
throw Error(`internal: bad quantum ${o}`);
}
return t;
},
Ee = globalThis.Base64 !== void 0 ? globalThis.Base64.encode : rE;
var oE = (e, t = "<unknown>") => {
let r = new Uint8Array(Math.ceil((e.length * 4) / 3)),
o = 0,
n = 0,
a = 0,
i = 0;
for (; a < e.length && e[a] !== ws; ) {
let c = El[e[a]];
if (c === void 0)
throw Error(`Invalid base64 character ${e[a]} in string ${t}`);
((o = (o << 6) | c),
(n += 6),
n >= 8 &&
((n -= 8), (r[i] = o >>> n), (i += 1), (o &= (1 << n) - 1)),
(a += 1));
}
for (; n > 0; ) {
if (a === e.length || e[a] !== ws)
throw Error(`Missing padding at offset ${a} of string ${t}`);
((a += 1), (n -= 2));
}
if (a < e.length)
throw Error(
`Base64 string has trailing garbage ${e.substr(a)} in string ${t}`,
);
return r.subarray(0, i);
},
nE =
(e) =>
(...t) => {
let r = e(...t);
return r instanceof Uint8Array ? r : new Uint8Array(r);
},
ke = globalThis.Base64 !== void 0 ? nE(globalThis.Base64.decode) : oE;
var Of = (e) => {
let t = ke(e);
return String.fromCharCode(...t);
};
var sE = (e) =>
typeof e == "string"
? Uint8Array.from(e, (t) => {
let r = t.charCodeAt(0);
return (
r <= 255 || f`character cannot be coerced to an octet: ${t}`,
r
);
})
: e instanceof Uint8Array
? new Uint8Array(e.buffer, e.byteOffset, e.byteLength)
: new Uint8Array(e);
function JS(e) {
let t = sE(e);
return String.fromCharCode(...t);
}
function VS(e) {
return JS(ke(e));
}
var Uc = {
Data: s.string(),
Bytes: s.string(),
Endpoint: s.string(),
Vow: s.tagged("Vow", harden({ vowV0: s.remotable("VowV0") })),
ConnectionHandler: s.remotable("ConnectionHandler"),
Connection: s.remotable("Connection"),
InboundAttempt: s.remotable("InboundAttempt"),
Listener: s.remotable("Listener"),
ListenHandler: s.remotable("ListenHandler"),
Port: s.remotable("Port"),
ProtocolHandler: s.remotable("ProtocolHandler"),
ProtocolImpl: s.remotable("ProtocolImpl"),
},
Ef = s.splitRecord({}, { relativeTimeoutNs: s.bigint() }),
de = {
...Uc,
Vow$: (e) => s.or(e, Uc.Vow),
AttemptDescription: s.splitRecord(
{ handler: Uc.ConnectionHandler },
{ remoteAddress: Uc.Endpoint, localAddress: Uc.Endpoint },
),
Opts: Ef,
},
dt = harden({
...de,
ConnectionI: {
connection: s.interface("Connection", {
send: s
.callWhen(de.Data)
.optional(de.Opts)
.returns(de.Vow$(de.Bytes)),
close: s.callWhen().returns(de.Vow$(s.undefined())),
getLocalAddress: s.call().returns(de.Endpoint),
getRemoteAddress: s.call().returns(de.Endpoint),
}),
openConnectionAckWatcher: s.interface("OpenConnectionAckWatcher", {
onFulfilled: s.call(s.any()).rest(s.any()).returns(s.any()),
}),
rethrowUnlessMissingWatcher: s.interface(
"RethrowUnlessMissingWatcher",
{ onRejected: s.call(s.any()).rest(s.any()).returns(s.any()) },
),
sinkWatcher: s.interface("SinkWatcher", {
onFulfilled: s.call(s.any()).rest(s.any()).returns(),
}),
},
InboundAttemptI: {
inboundAttempt: s.interface("InboundAttempt", {
accept: s
.callWhen(de.AttemptDescription)
.returns(de.Vow$(de.Connection)),
getLocalAddress: s.call().returns(de.Endpoint),
getRemoteAddress: s.call().returns(de.Endpoint),
close: s.callWhen().returns(de.Vow$(s.undefined())),
}),
inboundAttemptAcceptWatcher: s.interface(
"InboundAttemptAcceptWatcher",
{ onFulfilled: s.call(s.any()).rest(s.any()).returns(s.any()) },
),
rethrowUnlessMissingWatcher: s.interface(
"RethrowUnlessMissingWatcher",
{ onRejected: s.call(s.any()).rest(s.any()).returns(s.any()) },
),
sinkWatcher: s.interface("SinkWatcher", {
onFulfilled: s.call(s.any()).rest(s.any()).returns(),
}),
},
PortI: {
port: s.interface("Port", {
getLocalAddress: s.call().returns(de.Endpoint),
addListener: s
.callWhen(de.Listener)
.returns(de.Vow$(s.undefined())),
connect: s
.callWhen(de.Endpoint)
.optional(de.ConnectionHandler)
.returns(de.Vow$(de.Connection)),
removeListener: s
.callWhen(de.Listener)
.returns(de.Vow$(s.undefined())),
revoke: s.callWhen().returns(de.Vow$(s.undefined())),
}),
portAddListenerWatcher: s.interface("PortAddListenerWatcher", {
onFulfilled: s.call(s.any()).rest(s.any()).returns(s.any()),
}),
portRemoveListenerWatcher: s.interface("PortRemoveListenerWatcher", {
onFulfilled: s.call(s.any()).rest(s.any()).returns(s.any()),
}),
portConnectWatcher: s.interface("PortConnectWatcher", {
onFulfilled: s.call(s.any()).rest(s.any()).returns(s.any()),
}),
portRevokeWatcher: s.interface("PortRevokeWatcher", {
onFulfilled: s.call(s.any()).rest(s.any()).returns(s.any()),
}),
portRevokeCleanupWatcher: s.interface("PortRevokeCleanupWatcher", {
onFulfilled: s.call(s.any()).rest(s.any()).returns(s.any()),
}),
rethrowUnlessMissingWatcher: s.interface(
"RethrowUnlessMissingWatcher",
{ onRejected: s.call(s.any()).rest(s.any()).returns(s.any()) },
),
sinkWatcher: s.interface("SinkWatcher", {
onFulfilled: s.call(s.any()).rest(s.any()).returns(),
onRejected: s.call(s.any()).rest(s.any()).returns(s.any()),
}),
},
ProtocolHandlerI: {
protocolHandler: s.interface("ProtocolHandler", {
onCreate: s
.callWhen(s.remotable(), de.ProtocolHandler)
.returns(de.Vow$(s.undefined())),
generatePortID: s
.callWhen(de.Endpoint, de.ProtocolHandler)
.returns(de.Vow$(s.string())),
onBind: s
.callWhen(de.Port, de.Endpoint, de.ProtocolHandler)
.returns(de.Vow$(s.undefined())),
onListen: s
.callWhen(
de.Port,
de.Endpoint,
de.ListenHandler,
de.ProtocolHandler,
)
.returns(de.Vow$(s.undefined())),
onListenRemove: s
.callWhen(
de.Port,
de.Endpoint,
de.ListenHandler,
de.ProtocolHandler,
)
.returns(de.Vow$(s.undefined())),
onInstantiate: s
.callWhen(de.Port, de.Endpoint, de.Endpoint, de.ProtocolHandler)
.returns(de.Vow$(de.Endpoint)),
onConnect: s
.callWhen(
de.Port,
de.Endpoint,
de.Endpoint,
de.ConnectionHandler,
de.ProtocolHandler,
)
.returns(de.Vow$(de.AttemptDescription)),
onRevoke: s
.callWhen(de.Port, de.Endpoint, de.ProtocolHandler)
.returns(de.Vow$(s.undefined())),
}),
protocolHandlerAcceptWatcher: s.interface(
"ProtocolHandlerAcceptWatcher",
{ onFulfilled: s.call(s.any()).rest(s.any()).returns(s.any()) },
),
protocolHandlerInstantiateWatcher: s.interface(
"ProtocolHandlerInstantiateWatcher",
{ onFulfilled: s.call(s.any()).rest(s.any()).returns(s.any()) },
),
protocolHandlerConnectWatcher: s.interface(
"ProtocolHandlerConnectWatcher",
{ onFulfilled: s.call(s.any()).rest(s.any()).returns(s.any()) },
),
rethrowUnlessMissingWatcher: s.interface(
"RethrowUnlessMissingWatcher",
{ onRejected: s.call(s.any()).rest(s.any()).returns(s.any()) },
),
},
ProtocolImplI: s.interface("ProtocolImpl", {
bindPort: s.callWhen(de.Endpoint).returns(de.Vow$(de.Port)),
inbound: s
.callWhen(de.Endpoint, de.Endpoint)
.returns(de.Vow$(de.InboundAttempt)),
outbound: s
.callWhen(de.Port, de.Endpoint, de.ConnectionHandler)
.returns(de.Vow$(de.Connection)),
}),
});
var aE = () => {};
harden(aE);
var iE = "closed-by-finalizer";
var cE = { NOT_REVOKED: 0, REVOKING: 1, REVOKED: 2 };
harden(cE);
var dE = (e, { watch: t }) => {
let r = e.mapStore("objToFinalizerInfo");
return e.exo("NetworkFinalizer", void 0, {
has(o) {
return r.has(o);
},
initConnection(o, n) {
r.init(o, harden({ conn: o, handler: n }));
},
initCloser(o) {
r.init(o, harden({ closer: o }));
},
finalize(o) {
if (!r.has(o)) return;
let n = r.get(o);
if ("conn" in n) {
let { conn: a, handler: i } = n;
return (r.delete(o), t(O(i).onClose(a, iE, i)));
} else if ("closer" in n) {
let { closer: a } = n;
return (r.delete(o), t(O(a).close()));
}
},
unpin(o) {
r.delete(o);
},
});
};
harden(dE);
var FL = s.interface("Router", {
getRoutes: s.call(dt.Endpoint).returns(s.arrayOf([s.string(), s.any()])),
register: s.call(s.string(), s.any()).returns(s.undefined()),
unregister: s.call(s.string(), s.any()).returns(s.undefined()),
});
var Nf =
/^(?<hops>\/ibc-hop\/[^/]+)*\/ibc-port\/(?<portID>[^/]+)(\/(?<order>ordered|unordered)\/(?<version>[^/]+)(\/ibc-channel\/(?<channelID>[^/]+))?)?$/s;
harden(Nf);
var Df = ["ordered", "unordered", "ORDERED", "UNORDERED"];
harden(Df);
var HS = (e) => e.replaceAll("/", "\\x2f");
harden(HS);
var WS = (e) => e.replaceAll("\\x2f", "/");
harden(WS);
var LS = (e) => {
let t = e.match(Nf);
if (!(t && t.groups))
throw TypeError(
`IBC address ${e} must be '(/ibc-hop/CONNECTION)*/ibc-port/PORT/(ordered|unordered)/VERSION(/ibc-channel/CHANNEL_ID)?'`,
);
return t;
},
qS = (e) => {
let t = [];
for (; e; ) {
let r = e.match(/^\/ibc-hop\/(?<hop>[^/]+)/);
if (!r || !r.groups)
throw Error(
`internal: ${JSON.stringify(e)} did not begin with "/ibc-hop/XXX"`,
);
e = e.slice(r[0].length);
let o = r.groups.hop;
(assert(typeof o == "string" && o.startsWith("connection-")),
t.push(o));
}
return t;
};
harden(qS);
var Cc = (e) => {
let t = LS(e);
if (!t.groups)
throw Error("Unexpected error, validateRemoteIbcAddress should throw.");
let r = qS(t.groups.hops),
{ portID: o, version: n, channelID: a, order: i } = t.groups;
return {
hops: r,
portID: o,
...(i && { order: i.toUpperCase() }),
...(n && { version: WS(n) }),
...(a && { channelID: a }),
};
};
harden(Cc);
var Bf = ({
hops: e = [],
portID: t,
order: r,
version: o,
channelID: n,
}) => {
let a = (c) => typeof c == "string" && c && !c.includes("/"),
i = "";
assert(Array.isArray(e), "hops must be an array");
for (let c of e)
(assert(a(c), `invalid hop ${c}`), (i += `/ibc-hop/${c}`));
if (
(assert(a(t), `invalid portID ${t}`),
(i += `/ibc-port/${t}`),
r !== void 0)
) {
(assert(a(r), `invalid order ${r}`),
assert(
Df.includes(r),
`invalid order ${r}; ${r} not found in ${JSON.stringify(Df)}`,
));
let c = r.toLowerCase();
(assert(typeof o == "string" && o, "missing version"),
(i += `/${c}/${HS(o)}`),
n !== void 0 &&
(assert(a(n), `invalid channelID ${n}`),
(i += `/ibc-channel/${n}`)));
}
return i;
};
harden(Bf);
var jS = (e, t = !1) => {
let r = LS(e);
if (!(r && r.groups))
throw TypeError(
`Remote address ${e} must be '(/ibc-hop/CONNECTION)*/ibc-port/PORT/(ordered|unordered)/VERSION'`,
);
if (r.groups.channelID)
throw TypeError(
`Remote address ${e} must not include channelID; found ${r.groups.channelID}`,
);
return t ? r : !0;
};
harden(jS);
var lE = (e) => {
jS(e);
let { hops: t, portID: r, order: o, version: n } = Cc(e);
return (
assert(o !== void 0, "missing order"),
assert(n !== void 0, "missing version"),
{ rPortID: r, order: o, version: n, hops: t }
);
};
harden(lE);
var uE = (e) => {
let t = e.match(Nf);
if (!(t && t.groups))
throw TypeError(
`Invalid port specification ${e}; expected "/ibc-port/PORT"`,
);
for (let r of Object.keys(t.groups))
if (r !== "portID" && t.groups[r] !== void 0)
throw TypeError(
`Invalid port specification ${e}; unexpected ${r}=${t.groups[r]}`,
);
return t.groups.portID;
};
harden(uE);
var Dl = (e, t, r, o, n) =>
Bf({
hops: e,
portID: t,
order: r,
version: o,
...(n && { channelID: n }),
});
harden(Dl);
var pE = (e, t, r) => Bf({ portID: e, order: t, version: r });
harden(pE);
var Wl = Pd(Hl(), 1);
function LE(e) {
if (e.length >= 255) throw new TypeError("Alphabet too long");
let t = new Uint8Array(256);
for (let l = 0; l < t.length; l++) t[l] = 255;
for (let l = 0; l < e.length; l++) {
let u = e.charAt(l),
p = u.charCodeAt(0);
if (t[p] !== 255) throw new TypeError(u + " is ambiguous");
t[p] = l;
}
let r = e.length,
o = e.charAt(0),
n = Math.log(r) / Math.log(256),
a = Math.log(256) / Math.log(r);
function i(l) {
if (
(l instanceof Uint8Array ||
(ArrayBuffer.isView(l)
? (l = new Uint8Array(l.buffer, l.byteOffset, l.byteLength))
: Array.isArray(l) && (l = Uint8Array.from(l))),
!(l instanceof Uint8Array))
)
throw new TypeError("Expected Uint8Array");
if (l.length === 0) return "";
let u = 0,
p = 0,
y = 0,
b = l.length;
for (; y !== b && l[y] === 0; ) (y++, u++);
let m = ((b - y) * a + 1) >>> 0,
v = new Uint8Array(m);
for (; y !== b; ) {
let S = l[y],
w = 0;
for (let I = m - 1; (S !== 0 || w < p) && I !== -1; I--, w++)
((S += (256 * v[I]) >>> 0),
(v[I] = (S % r) >>> 0),
(S = (S / r) >>> 0));
if (S !== 0) throw new Error("Non-zero carry");
((p = w), y++);
}
let h = m - p;
for (; h !== m && v[h] === 0; ) h++;
let g = o.repeat(u);
for (; h < m; ++h) g += e.charAt(v[h]);
return g;
}
function c(l) {
if (typeof l != "string") throw new TypeError("Expected String");
if (l.length === 0) return new Uint8Array();
let u = 0,
p = 0,
y = 0;
for (; l[u] === o; ) (p++, u++);
let b = ((l.length - u) * n + 1) >>> 0,
m = new Uint8Array(b);
for (; u < l.length; ) {
let S = l.charCodeAt(u);
if (S > 255) return;
let w = t[S];
if (w === 255) return;
let I = 0;
for (let E = b - 1; (w !== 0 || I < y) && E !== -1; E--, I++)
((w += (r * m[E]) >>> 0),
(m[E] = (w % 256) >>> 0),
(w = (w / 256) >>> 0));
if (w !== 0) throw new Error("Non-zero carry");
((y = I), u++);
}
let v = b - y;
for (; v !== b && m[v] === 0; ) v++;
let h = new Uint8Array(p + (b - v)),
g = p;
for (; v !== b; ) h[g++] = m[v++];
return h;
}
function d(l) {
let u = c(l);
if (u) return u;
throw new Error("Non-base" + r + " character");
}
return { encode: i, decodeUnsafe: c, decode: d };
}
var yx = LE;
var qE = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",
gx = yx(qE);
var Ff = (
e,
t,
{
version: r = "ics27-1",
encoding: o = "proto3",
ordering: n = "ordered",
txType: a = "sdk_multi_msg",
} = {},
) => {
(e || f`hostConnectionId is required`,
t || f`controllerConnectionId is required`);
let i = JSON.stringify({
version: r,
controllerConnectionId: t,
hostConnectionId: e,
address: "",
encoding: o,
txType: a,
});
return Dl([t], "icahost", n, i);
};
harden(Ff);
var Kf = "icq-1",
Jf = (e, t = Kf) => (
e || f`controllerConnectionId is required`,
Dl([e], "icqhost", "unordered", t)
);
harden(Jf);
var Vf = (e) => {
try {
let t = e?.match(/{.*?}/)?.[0],
r = t ? JSON.parse(t) : void 0;
return r?.address?.length ? r.address : void 0;
} catch {
return;
}
};
harden(Vf);
var hx = (e) => {
assert(e, "address is required");
let t = e.lastIndexOf("1");
return t === -1
? f`No separator character for ${x(e)}`
: t === 0
? f`Missing prefix for ${x(e)}`
: e.slice(0, t);
},
qe = (e, t) => e.toLowerCase() === t?.toLowerCase();
harden(qe);
var Dt = (e) =>
typeof e == "string" ? e : `cosmos:${e.chainId}:${e.value}`;
harden(Dt);
var Oc = (e) =>
typeof e == "string"
? jr(e)
: {
namespace: "cosmos",
reference: e.chainId,
accountAddress: e.value,
};
harden(Oc);
var jr = (e) => {
let t = e.split(":");
t.length === 3 || f`malformed CAIP-10 accountId: ${x(e)}`;
let [r, o, n] = t;
return { namespace: r, reference: o, accountAddress: n };
};
harden(jr);
var Hf = (e) => {
let { namespace: t, reference: r } = Oc(e);
return `${t}:${r}`;
},
bx = (e) => {
if (typeof e != "string") return !1;
try {
let t = (0, Wl.fromBech32)(e);
return !!t && t.data.length > 0;
} catch {
return !1;
}
};
harden(bx);
function jE(e) {
bx(e) || f`Expected a valid Bech32 address, got ${x(e)}`;
}
harden(jE);
var Ll = (e) => {
let t = e.replace(/^0x/, ""),
r = 64 - t.length,
o = "0".repeat(r) + t;
return (0, Wl.fromHex)(o);
},
GE = (e) => gx.decode(e),
Wf = (e) => {
let { namespace: t, accountAddress: r } = jr(e);
switch (t) {
case "eip155":
return Ll(r);
case "solana":
return GE(r);
default:
throw new Error(`namespace ${t} not supported`);
}
};
var Lf = () => {};
harden(Lf);
var le = s.tagged("Vow", s.splitRecord({ vowV0: s.remotable("VowV0") })),
cr = (e) => or(e) && Ve(e, le);
harden(cr);
var $n = (e) => (cr(e) ? e.payload : void 0);
harden($n);
var ht = (e) => {
let t = $n(e);
if (t === void 0) return e;
let { vowV0: r } = t;
return r;
};
harden(ht);
var Ec = (e) => {
let t = (r) => {
let o;
try {
o = r();
} catch (i) {
o = Promise.reject(i);
}
if (cr(o)) return o;
let { vow: n, resolver: a } = e();
return (a.resolve(o), n);
};
return harden(t);
};
harden(Ec);
var { details: vx } = assert,
Sx = () => {};
harden(Sx);
var qf = (e, t) => {
let r = new WeakMap(),
o = new WeakMap(),
n = (d, l) => {
let u = r.get(d);
return (
u || ((u = xt()), u.promise.catch(Sx)),
(u = harden({ ...u, ...l })),
r.set(d, u),
u
);
},
a = (d) => {
let l = n(d);
if (l.resolve) {
let { resolve: u, reject: p, ...y } = l;
r.set(d, harden(y));
}
return l;
},
i = e.exoClassKit(
"VowInternalsKit",
{
vowV0: s.interface("VowV0", {
shorten: s.call().returns(s.promise()),
}),
resolver: s.interface("VowResolver", {
resolve: s.call().optional(s.raw()).returns(),
reject: s.call().optional(s.raw()).returns(),
}),
watchNextStep: Po,
},
() => ({
value: void 0,
stepStatus: null,
isStoredValue: !1,
vowIsHandled: !1,
extra: void 0,
}),
{
vowV0: {
async shorten() {
let {
stepStatus: d,
isStoredValue: l,
value: u,
vowIsHandled: p,
} = this.state,
{ resolver: y, vowV0: b } = this.facets;
switch (d) {
case "fulfilled": {
if ((p === !1 && (this.state.vowIsHandled = !0), l))
return u;
if (o.has(y)) return o.get(y);
throw u;
}
case "rejected":
throw (
p === !1 &&
((this.state.vowIsHandled = !0), t?.handle(b)),
o.has(y) ? o.get(y) : u
);
case null:
case "pending":
return n(this.facets.resolver, { potentiallyHandled: !0 })
.promise;
default:
throw TypeError(`unexpected stepStatus ${d}`);
}
},
},
resolver: {
resolve(d) {
let { stepStatus: l } = this.state;
if (l !== null) return;
this.state.stepStatus = "pending";
let { resolver: u } = this.facets,
{ resolve: p } = a(u);
(p && p(d),
e.watchPromise(
HandledPromise.resolve(d),
this.facets.watchNextStep,
));
},
reject(d) {
let { stepStatus: l } = this.state;
if (l !== null) return;
this.state.stepStatus = "rejected";
let { resolver: u, watchNextStep: p } = this.facets,
{ reject: y } = a(u);
(y && y(d), p.onRejected(d));
},
},
watchNextStep: {
onFulfilled(d) {
this.state.stepStatus = "fulfilled";
let { resolver: l } = this.facets,
{ resolve: u } = a(l);
(harden(d),
u && u(d),
(this.state.isStoredValue = e.isStorable(d)),
this.state.isStoredValue
? (this.state.value = d)
: (o.set(l, d),
(this.state.value = assert.error(
vx`Vow fulfillment value was not stored: ${d}`,
))));
},
onRejected(d) {
this.state.stepStatus = "rejected";
let { resolver: l, vowV0: u } = this.facets,
{ reject: p, potentiallyHandled: y } = a(l);
(harden(d),
p && p(d),
this.state.vowIsHandled === !1 &&
(y ? (this.state.vowIsHandled = !0) : t?.reject(u, d)),
(this.state.isStoredValue = e.isStorable(d)),
this.state.isStoredValue
? (this.state.value = d)
: (o.set(l, d),
(this.state.value = assert.error(
vx`Vow rejection reason was not stored: ${d}`,
))));
},
},
},
);
return () => {
let { resolver: d, vowV0: l } = i(),
u = Ce("Vow", harden({ vowV0: l }));
return harden({ resolver: d, vow: u });
};
};
harden(qf);
var { Fail: QE, bare: zE, details: YE } = assert,
jf = s.tagged("Vow", harden({ vowV0: s.remotable("VowV0") })),
Gf = (e, { watch: t, when: r, makeVowKit: o, isRetryableReason: n }) => {
let a = e.detached(),
i = new WeakMap(),
c = e.exoClassKit(
"WatchUtils",
{
utils: s.interface("Utils", {
all: s.call(s.arrayOf(s.any())).returns(jf),
allSettled: s.call(s.arrayOf(s.any())).returns(jf),
asPromise: s.call(s.raw()).rest(s.raw()).returns(s.promise()),
}),
watcher: s.interface("Watcher", {
onFulfilled: s.call(s.raw()).rest(s.raw()).returns(s.raw()),
onRejected: s.call(s.raw()).rest(s.raw()).returns(s.raw()),
}),
helper: s.interface("Helper", {
createVow: s.call(s.arrayOf(s.any()), s.boolean()).returns(jf),
processResult: s
.call(s.raw())
.rest(s.raw())
.returns(s.undefined()),
}),
retryRejectionPromiseWatcher: Po,
},
() => ({ nextId: 0n, idToVowState: a.mapStore("idToVowState") }),
{
utils: {
all(l) {
return this.facets.helper.createVow(l, !1);
},
allSettled(l) {
return this.facets.helper.createVow(l, !0);
},
asPromise(l, ...u) {
let p = t(l, ...u),
y = r(p);
return (
e.watchPromise(y, this.facets.retryRejectionPromiseWatcher),
y
);
},
},
watcher: {
onFulfilled(l, u) {
this.facets.helper.processResult(l, u, "fulfilled");
},
onRejected(l, u) {
this.facets.helper.processResult(l, u, "rejected");
},
},
helper: {
createVow(l, u) {
let { nextId: p, idToVowState: y } = this.state,
b = o();
for (let m = 0; m < l.length; m += 1)
t(l[m], this.facets.watcher, {
id: p,
index: m,
numResults: l.length,
isAllSettled: u,
});
return (
l.length > 0
? ((this.state.nextId += 1n),
y.init(
p,
harden({
resolver: b.resolver,
remaining: l.length,
resultsMap: a.mapStore("resultsMap"),
isAllSettled: u,
}),
),
To(i, this.facets.utils, () => new Map()).set(
p,
new Map(),
))
: b.resolver.resolve(harden([])),
b.vow
);
},
processResult(
l,
{ id: u, index: p, numResults: y, isAllSettled: b },
m,
) {
let { idToVowState: v } = this.state;
if (!v.has(u)) return;
let h = To(i, this.facets.utils, () => new Map()),
{ remaining: g, resultsMap: S, resolver: w } = v.get(u);
if (!b && m === "rejected") {
(v.delete(u), h.delete(u), w.reject(l));
return;
}
let I = b
? harden({
status: m,
[m === "fulfilled" ? "value" : "reason"]: l,
})
: l,
E = To(h, u, () => new Map());
e.isStorable(I) ? S.init(p, I) : E.set(p, I);
let K = harden({
remaining: g - 1,
resultsMap: S,
resolver: w,
isAllSettled: b,
});
if (K.remaining > 0) {
v.set(u, K);
return;
}
(v.delete(u), h.delete(u));
let J = new Array(y),
P = 0;
for (let k = 0; k < y; k += 1)
E.has(k)
? (J[k] = E.get(k))
: S.has(k)
? (J[k] = S.get(k))
: ((P += 1),
(J[k] = b
? {
status: "rejected",
reason: "Unstorable result was lost",
}
: void 0));
P > 0 && !b
? w.reject(
assert.error(YE`${P} unstorable results were lost`),
)
: w.resolve(harden(J));
},
},
retryRejectionPromiseWatcher: {
onFulfilled(l) {},
onRejected(l, u) {
n(l, void 0) && QE`Pending ${zE(u)} could not retry; ${l}`;
},
},
},
);
return () => {
let { utils: l } = c();
return harden(l);
};
};
harden(Gf);
var { apply: ZE } = Reflect,
XE = (e) => (t, r) => {
let o,
n = $n(t);
(n ? (o = O(n.vowV0).shorten()) : (o = O.resolve(t)),
e.watchPromise(o, r));
},
xx = async (e, t, r, o, n = []) => {
await null;
try {
let a = o,
i = t && t[r];
if (i) a = ZE(i, t, [o, ...n]);
else if (r === "onRejected") throw o;
if (e) {
e.resolve(a);
return;
}
await a;
} catch (a) {
if (e) {
e.reject(a);
return;
}
throw a;
}
},
e6 = (e, t, r) => {
let o = new WeakMap(),
n = (a) => {
let i = o.get(a);
return (i || ((i = new WeakSet()), o.set(a, i)), i);
};
return e.exoClass(
"PromiseWatcher",
Po,
(a, i, c) => ({
vow: void 0,
priorRetryValue: void 0,
resolver: a,
watcher: i,
watcherArgs: harden(c),
}),
{
onFulfilled(a) {
let { watcher: i, watcherArgs: c, resolver: d } = this.state;
if (!d)
throw Error("Unexpected multiple calls to PromiseWatcher");
let l = $n(a);
if (l) {
let u = n(this.self);
if (u.has(l.vowV0))
return this.self.onRejected(
Error("Vow resolution cycle detected"),
);
(u.add(l.vowV0), (this.state.vow = a), r(a, this.self));
return;
}
(o.delete(this.self),
(this.state.priorRetryValue = void 0),
(this.state.watcher = void 0),
(this.state.resolver = void 0),
xx(d, i, "onFulfilled", a, c));
},
onRejected(a) {
let {
vow: i,
watcher: c,
watcherArgs: d,
resolver: l,
priorRetryValue: u,
} = this.state;
if (!l)
throw Error("Unexpected multiple calls to PromiseWatcher");
let p = t(a, u);
if (p && ((this.state.priorRetryValue = p), i)) {
r(i, this.self);
return;
}
(o.delete(this.self),
(this.state.priorRetryValue = void 0),
(this.state.resolver = void 0),
(this.state.watcher = void 0),
xx(l, c, "onRejected", a, d));
},
},
);
},
Qf = (e, t, r = (o, n) => {}) => {
let o = XE(e),
n = e6(e, r, o),
a = (i, c, ...d) => {
let { resolver: l, vow: u } = t(),
p = n(l, c, d),
y = O.resolve(i);
return (e.watchPromise(y, p), u);
};
return (harden(a), a);
};
harden(Qf);
var t6 = (e, t) => () => {
(e?.catch(Lf), t?.resolve());
},
Ax = (e) => {
let t = new WeakMap(),
r = e.exo(
"UpgradeRejectionWatcher",
s.interface("UpgradeRejectionWatcher", {
onRejected: s.call(s.raw(), s.raw()).returns(),
}),
{
onRejected(n, a) {
throw assert.error(
V`VOW_REJECTION ${a} not handled before upgrade ${n}`,
);
},
},
);
return e.exo(
"VowRejectionTracker",
s.interface("VowRejectionTracker", {
handle: s.call(s.remotable()).returns(),
reject: s.call(s.remotable(), s.raw()).returns(),
}),
{
handle(n) {
let a = t.get(n);
if (!a) {
console.warn(
assert.error(
V`Now handling a VOW_REJECTION from a prior incarnation for ${n}`,
),
);
return;
}
(t.delete(n), a());
},
reject(n, a) {
if (t.has(n)) return;
harden(a);
let i = e.isStorable(a)
? a
: assert.error(V`Vow rejection reason was not stored: ${a}`),
c = xt();
e.watchPromise(c.promise, r, i);
let d = Promise.reject(a),
l = t6(d, c);
t.set(n, l);
},
},
);
};
var { defineProperties: r6 } = Object,
o6 = harden({
flow: s.interface("Flow", {
restart: s.call().returns(),
getOutcome: s.call().returns(le),
}),
resultWatcher: Po,
}),
n6 = s.interface("RetryableFlowAdmin", {
getFlowForOutcomeVow: s.call(le).returns(s.opt(s.remotable("flow"))),
}),
zf = (e, t) => {
let { makeVowKit: r, isRetryableReason: o } = t,
n = Ec(r),
a = e.mapStore("retryableFlowForOutcomeVow", {
keyShape: s.remotable("toPassableCap"),
valueShape: s.remotable("flow"),
}),
i = (l, u, p) => {
typeof p == "function" ||
f`retryableFunc must be a callable function ${p}`;
let y = l.exoClassKit(
u,
o6,
(m) => (
harden(m),
{
activationArgs: m,
outcomeKit: r(),
lastRetryReason: void 0,
runs: 0n,
isDone: !1,
}
),
{
flow: {
restart() {
let { state: m, facets: v } = this,
{ activationArgs: h, isDone: g } = m,
{ flow: S, resultWatcher: w } = v;
!g || f`Cannot restart a done retryable flow ${S}`;
let I = m.runs + 1n;
m.runs = I;
let E;
try {
E = Promise.resolve(p(...h));
} catch (K) {
E = Promise.reject(K);
}
e.watchPromise(harden(E), w, I);
},
getOutcome() {
let { state: m } = this,
{ outcomeKit: v } = m;
return v.vow;
},
},
resultWatcher: {
onFulfilled(m, v) {
let { state: h } = this,
{ runs: g, outcomeKit: S } = h;
v === g &&
(!h.isDone ||
f`Cannot resolve a done retryable flow ${this.facets.flow}`,
S.resolver.resolve(m),
a.delete(ht(S.vow)),
(h.isDone = !0));
},
onRejected(m, v) {
let { state: h } = this,
{ runs: g, outcomeKit: S } = h;
if (v !== g) return;
!h.isDone ||
f`Cannot reject a done retryable flow ${this.facets.flow}`;
let w = o(m, h.lastRetryReason);
w
? ((h.lastRetryReason = w), this.facets.flow.restart())
: (S.resolver.reject(m),
a.delete(ht(S.vow)),
(h.isDone = !0));
},
},
},
),
b = (m) => {
let v = y(m),
{ flow: h } = v,
g = h.getOutcome();
return (a.init(ht(g), h), h.restart(), v);
};
return harden(b);
},
c = (l, u, p) => {
let y = i(l, u, p),
b = `${u}_retryable`,
m = {
[b](...v) {
return n(() => {
l.isStorable(harden(v)) ||
f`retryable arguments must be storable ${v}`;
let { flow: h } = y(v);
return h.getOutcome();
});
},
}[b];
return (r6(m, { length: { value: p.length } }), harden(m));
},
d = e.exo("AdminRetryableFlow", n6, {
getFlowForOutcomeVow(l) {
return a.get(ht(l));
},
});
return harden({
prepareRetryableFlowKit: i,
adminRetryableFlow: d,
retryable: c,
});
};
harden(zf);
var Yf = (e = () => !1) => {
let t = async (o) => {
await null;
let n = await o,
a = $n(n),
i,
c = new WeakSet();
for (; a; ) {
let { vowV0: l } = a;
if (c.has(l)) throw Error("Vow resolution cycle detected");
try {
let u = await O(l).shorten();
(c.add(l), (i = void 0), (n = u));
} catch (u) {
let p = e(u, i);
if (!p) throw u;
i = p;
}
a = $n(n);
}
return n;
},
r = (o, n, a) => {
let i = t(o);
return n == null && a == null ? i : O.resolve(i).then(n, a);
};
return (harden(r), r);
};
harden(Yf);
var Zf = (e, t = {}) => {
let { isRetryableReason: r = () => !1 } = t,
o = Ax(e),
n = qf(e, o),
a = Yf(r),
i = Qf(e, n, r),
d = Gf(e, { watch: i, when: a, makeVowKit: n, isRetryableReason: r })(),
l = Ec(n),
{ retryable: u } = zf(e, { makeVowKit: n, isRetryableReason: r }),
p = (v) => d.all(v),
y = p,
b = (v) => d.allSettled(v),
m = (v, ...h) => d.asPromise(v, ...h);
return harden({
when: a,
watch: i,
makeVowKit: n,
all: p,
allVows: y,
allSettled: b,
asVow: l,
asPromise: m,
retryable: u,
retriable: u,
});
};
harden(Zf);
var za,
ql = 0,
Dc = 0,
wx = Pa("DEBUG", "track-turns"),
s6 = hr("TRACK_TURNS", "disabled", ["enabled"]) === "enabled",
a6 = (e) => (t) => {
(t instanceof Error && Ze(t, e),
wx && console.log("REJECTED at top of event loop", t));
},
i6 =
(e, t) =>
(...r) => {
((za = t), (ql += 1), (Dc = 0));
try {
let o;
try {
o = e(...r);
} catch (a) {
throw (
a instanceof Error && Ze(a, V`Thrown from: ${za}:${ql}.${Dc}`),
wx && console.log("THROWN to top of event loop", a),
a
);
}
let n = V`Rejection from: ${za}:${ql}.${Dc}`;
return (Promise.resolve(o).catch(a6(n)), o);
} finally {
za = void 0;
}
},
Px = (e) => {
if (!s6 || typeof globalThis > "u" || !globalThis.assert) return e;
Dc += 1;
let t = Error(`Event: ${ql}.${Dc}`);
return (
za !== void 0 && Ze(t, V`Caused by: ${za}`),
e.map((r) => r && i6(r, t))
);
};
var { hasOwn: c6, freeze: Nc, entries: kx } = Object,
Ix = (e) => typeof e == "object" && e !== null && !Array.isArray(e),
Xf = (e) => {
for (let t of ["Alleged: ", "DebugName: "])
if (e.startsWith(t)) return e.slice(t.length);
return e;
},
ey = (e) => {
let t = JSON.parse(hr(e, "null"));
if (t === null) return;
let r,
o = () => t;
Nc(o);
let n = (c = t) => {
Ix(c) || f`Expected ${x(e)} option to be a JSON breakpoints record`;
let d = { __proto__: null };
for (let [l, u] of kx(c)) {
(l === Xf(l) ||
f`Just use simple tag ${x(Xf(l))} rather than ${x(l)}`,
Ix(u) ||
f`Expected ${x(e)} option's ${x(l)} to be a JSON methods breakpoints record`);
for (let [p, y] of kx(u)) {
y === "*" ||
(typeof y == "number" && Number.isSafeInteger(y) && y >= 0) ||
f`Expected ${x(e)} option's ${x(l)}.${x(p)} to be "*" or a non-negative integer`;
let b = c6(d, p) ? d[p] : (d[p] = { __proto__: null });
b[l] = y;
}
}
((t = c), (r = d));
};
Nc(n);
let a = (c, d) => {
if (d == null) return !1;
let l = r[d] || r["*"];
if (l === void 0) return !1;
let u = Xf(c[Symbol.toStringTag]),
p = l[u];
return p === void 0 && ((u = "*"), (p = l[u]), p === void 0)
? !1
: p === "*" || p === 0
? !0
: (assert(typeof p == "number" && p >= 1), (l[u] = p - 1), !1);
};
Nc(a);
let i = Nc({
getBreakpoints: o,
setBreakpoints: n,
shouldBreakpoint: a,
});
return (i.setBreakpoints(), i);
};
Nc(ey);
var { assign: d6, create: l6 } = Object,
_n = ey("ENDO_SEND_BREAKPOINTS"),
ry = {
set(e, t, r) {
return !1;
},
isExtensible(e) {
return !1;
},
setPrototypeOf(e, t) {
return !1;
},
deleteProperty(e, t) {
return !1;
},
},
u6 = (e, t, r) =>
harden({
...ry,
get: (o, n, a) =>
harden(
{
[n](...i) {
if (this !== a)
return t.reject(
Se(
V`Unexpected receiver for "${x(n)}" method of E(${x(e)})`,
),
);
if (_n && _n.shouldBreakpoint(e, n)) debugger;
return r(t.applyMethod(r(e), n, i));
},
}[n],
),
apply: (o, n, a = []) => {
if (_n && _n.shouldBreakpoint(e, void 0)) debugger;
return r(t.applyFunction(r(e), a));
},
has: (o, n) => !0,
}),
p6 = (e, t, r) =>
harden({
...ry,
get: (o, n, a) =>
harden(
{
[n](...i) {
if (
(this === a ||
f`Unexpected receiver for "${x(n)}" method of E.sendOnly(${x(e)})`,
_n && _n.shouldBreakpoint(e, n))
)
debugger;
t.applyMethodSendOnly(r(e), n, i);
},
}[n],
),
apply: (o, n, a = []) => {
if (_n && _n.shouldBreakpoint(e, void 0)) debugger;
t.applyFunctionSendOnly(r(e), a);
},
has: (o, n) => !0,
}),
m6 = (e, t, r) =>
harden({ ...ry, has: (o, n) => !0, get: (o, n) => t.get(r(e), n) }),
ty = (e) => HandledPromise.resolve(e),
f6 = (e, t = {}) => {
let { additional: r = {}, unwrap: o = ty } = t;
return harden(
d6(
(n) => harden(new Proxy(() => {}, u6(n, e, o))),
{
get: (n) => harden(new Proxy(l6(null), m6(n, e, o))),
resolve: (n) => ty(o(n)),
sendOnly: (n) => harden(new Proxy(() => {}, p6(n, e, o))),
when: (n, a, i) => {
let c = ty(o(n));
return a == null && i == null ? c : c.then(...Px([a, i]));
},
},
r,
),
);
},
oy = f6;
var y6 = (e, t) => {
if (
(Bn(e) && (!Bn(t) || e.incarnationNumber > t.incarnationNumber)) ||
(kl(e) && !kl(t))
)
return e;
},
g6 = harden({ isRetryableReason: y6 }),
Fn = (e, t = {}) => Zf(e, { ...g6, ...t });
harden(Fn);
var Tx = Fn(Yo()),
Kn = oy(globalThis.HandledPromise, {
unwrap: Tx.when,
additional: { when: Tx.when },
});
var Gl = s.interface("OutboundConnectionHandler", {
onOpen: s
.callWhen(s.any(), s.string(), s.string(), s.any())
.returns(s.any()),
onClose: s.callWhen(s.any(), s.any(), s.any()).returns(s.any()),
}),
je = { chainId: s.string(), encoding: s.string(), value: s.string() };
harden(je);
var h6 = {
namespace: s.string(),
reference: s.string(),
accountAddress: s.string(),
};
harden(h6);
var Ya = s.or(s.string(), je),
ks = { typeUrl: s.string(), value: s.string() };
harden(ks);
var jl = s.string(),
b6 = s.splitRecord({
portId: s.string(),
channelId: jl,
counterPartyPortId: s.string(),
counterPartyChannelId: jl,
ordering: s.scalar(),
state: s.scalar(),
version: s.string(),
}),
Ux = s.string(),
Ql = s.splitRecord({
id: Ux,
client_id: s.string(),
state: s.scalar(),
counterparty: { client_id: s.string(), connection_id: Ux },
transferChannel: b6,
}),
Sj = s.splitRecord({
base: s.string(),
name: s.string(),
display: s.string(),
symbol: s.string(),
denom_units: s.arrayOf(
s.splitRecord({ denom: s.string(), exponent: s.number() }),
),
}),
Cx = { namespace: s.string(), reference: s.string() },
Rx = { cctpDestinationDomain: s.number() },
Ox = s.splitRecord(Cx, Rx);
harden(Ox);
var Ex = s.splitRecord(
{ chainId: s.string(), bech32Prefix: s.string(), ...Cx },
{
connections: s.record(),
icqEnabled: s.boolean(),
pfmEnabled: s.boolean(),
stakingTokens: s.arrayOf({ denom: s.string() }),
...Rx,
},
);
harden(Ex);
var Oo = s.or(Ex, Ox);
harden(Oo);
var Za = s.string(),
Bc = { amount: s.string(), denom: Za };
harden(Bc);
var sy = {
chain: s.remotable("Chain"),
base: s.remotable("Chain"),
brand: s.or(s.remotable("Brand"), s.undefined()),
baseDenom: s.string(),
};
harden(sy);
var Zo = s.splitRecord(
{ chainName: s.string(), baseName: s.string(), baseDenom: s.string() },
{ brand: ot },
);
harden(Zo);
var bt = { denom: Za, value: s.nat() };
harden(bt);
var Ut = { brand: s.remotable("Brand"), value: s.nat() };
harden(Ut);
var Jt = s.or(Ut, bt),
ay = s.splitRecord({ validator: je, amount: Jt }, { delegator: je }),
Mc = s.splitRecord(
{ path: s.string(), data: s.string() },
{ height: s.string(), prove: s.boolean() },
),
$c = s.splitRecord({ "@type": s.string() }),
Dx = s.splitRecord(
{},
{ progressTracker: s.remotable("ProgressTracker") },
),
Nx = s.and(Dx, s.splitRecord({}, { sendOpts: Ef })),
_c = {
getChainInfo: s.call().returns(le),
makeAccount: s.call().optional(Dx).returns(le),
};
harden(_c);
var iy = { seconds: s.string(), nanos: s.number() };
harden(iy);
var Bx = s.splitRecord(
{},
{
memo: s.string(),
timeoutHeight: s.bigint(),
extensionOptions: s.arrayOf(s.any()),
nonCriticalExtensionOptions: s.arrayOf(s.any()),
},
),
Gr = s.and(Nx, s.splitRecord({}, { txOpts: Bx })),
zl = s.and(Gr, Bx),
v6 = s.splitRecord({}, { height: s.bigint(), prove: s.boolean() }),
Jn = s.and(Nx, s.splitRecord({}, { queryOpts: v6 }));
var cy = s.and(s.recordOf(s.string(), Ut), s.not({})),
dy = {
agoricNames: s.remotable("AgoricNames"),
localchain: s.remotable("Localchain"),
orchestrationService: s.remotable("OrchestrationService"),
storageNode: s.remotable("StorageNode"),
timerService: s.remotable("TimerService"),
};
harden(dy);
var ny = {
receiver: s.string(),
port: "transfer",
channel: s.string(),
timeout: s.string(),
retries: s.number(),
};
harden(ny);
var ly = { forward: s.splitRecord(ny, { next: { forward: ny } }) };
harden(ly);
var uy = s.splitRecord(
{},
{ timeout: s.string(), retries: s.number(), intermediateRecipient: je },
{},
),
Xo = s.and(
s.splitRecord(
{},
{
timeoutTimestamp: s.bigint(),
timeoutHeight: {
revisionHeight: s.bigint(),
revisionNumber: s.bigint(),
},
timeoutRelativeSeconds: s.bigint(),
memo: s.string(),
forwardOpts: uy,
},
),
Gr,
);
function Mx(e) {
let t = 0,
r = 0;
for (let o = 0; o < e.length; ++o)
((r = e.charCodeAt(o)),
r < 128
? (t += 1)
: r < 2048
? (t += 2)
: (r & 64512) === 55296 && (e.charCodeAt(o + 1) & 64512) === 56320
? (++o, (t += 4))
: (t += 3));
return t;
}
function $x(e, t, r) {
if (r - t < 1) return "";
let o = [],
n = [],
a = 0,
i;
for (; t < r; )
((i = e[t++]),
i < 128
? (o[a++] = i)
: i > 191 && i < 224
? (o[a++] = ((i & 31) << 6) | (e[t++] & 63))
: i > 239 && i < 365
? ((i =
(((i & 7) << 18) |
((e[t++] & 63) << 12) |
((e[t++] & 63) << 6) |
(e[t++] & 63)) -
65536),
(o[a++] = 55296 + (i >> 10)),
(o[a++] = 56320 + (i & 1023)))
: (o[a++] =
((i & 15) << 12) | ((e[t++] & 63) << 6) | (e[t++] & 63)),
a > 8191 &&
((n || (n = [])).push(String.fromCharCode(...o)), (a = 0)));
return n
? (a && n.push(String.fromCharCode(...o.slice(0, a))), n.join(""))
: String.fromCharCode(...o.slice(0, a));
}
function _x(e, t, r) {
let o = r,
n,
a;
for (let i = 0; i < e.length; ++i)
((n = e.charCodeAt(i)),
n < 128
? (t[r++] = n)
: n < 2048
? ((t[r++] = (n >> 6) | 192), (t[r++] = (n & 63) | 128))
: (n & 64512) === 55296 &&
((a = e.charCodeAt(i + 1)) & 64512) === 56320
? ((n = 65536 + ((n & 1023) << 10) + (a & 1023)),
++i,
(t[r++] = (n >> 18) | 240),
(t[r++] = ((n >> 12) & 63) | 128),
(t[r++] = ((n >> 6) & 63) | 128),
(t[r++] = (n & 63) | 128))
: ((t[r++] = (n >> 12) | 224),
(t[r++] = ((n >> 6) & 63) | 128),
(t[r++] = (n & 63) | 128)));
return r - o;
}
function Fc() {
let e = 0,
t = 0;
for (let o = 0; o < 28; o += 7) {
let n = this.buf[this.pos++];
if (((e |= (n & 127) << o), (n & 128) == 0))
return (this.assertBounds(), [e, t]);
}
let r = this.buf[this.pos++];
if (((e |= (r & 15) << 28), (t = (r & 112) >> 4), (r & 128) == 0))
return (this.assertBounds(), [e, t]);
for (let o = 3; o <= 31; o += 7) {
let n = this.buf[this.pos++];
if (((t |= (n & 127) << o), (n & 128) == 0))
return (this.assertBounds(), [e, t]);
}
throw new Error("invalid varint");
}
var Yl = 4294967296;
function Kc(e) {
let t = e[0] === "-";
t && (e = e.slice(1));
let r = 1e6,
o = 0,
n = 0;
function a(i, c) {
let d = Number(e.slice(i, c));
((n *= r),
(o = o * r + d),
o >= Yl && ((n = n + ((o / Yl) | 0)), (o = o % Yl)));
}
return (
a(-24, -18),
a(-18, -12),
a(-12, -6),
a(-6),
t ? Kx(o, n) : py(o, n)
);
}
function Zl(e, t) {
let r = py(e, t),
o = r.hi & 2147483648;
o && (r = Kx(r.lo, r.hi));
let n = Xl(r.lo, r.hi);
return o ? "-" + n : n;
}
function Xl(e, t) {
if ((({ lo: e, hi: t } = S6(e, t)), t <= 2097151))
return String(Yl * t + e);
let r = e & 16777215,
o = ((e >>> 24) | (t << 8)) & 16777215,
n = (t >> 16) & 65535,
a = r + o * 6777216 + n * 6710656,
i = o + n * 8147497,
c = n * 2,
d = 1e7;
return (
a >= d && ((i += Math.floor(a / d)), (a %= d)),
i >= d && ((c += Math.floor(i / d)), (i %= d)),
c.toString() + Fx(i) + Fx(a)
);
}
function S6(e, t) {
return { lo: e >>> 0, hi: t >>> 0 };
}
function py(e, t) {
return { lo: e | 0, hi: t | 0 };
}
function Kx(e, t) {
return ((t = ~t), e ? (e = ~e + 1) : (t += 1), py(e, t));
}
var Fx = (e) => {
let t = String(e);
return "0000000".slice(t.length) + t;
};
function Jx() {
let e = this.buf[this.pos++],
t = e & 127;
if ((e & 128) == 0) return (this.assertBounds(), t);
if (((e = this.buf[this.pos++]), (t |= (e & 127) << 7), (e & 128) == 0))
return (this.assertBounds(), t);
if (((e = this.buf[this.pos++]), (t |= (e & 127) << 14), (e & 128) == 0))
return (this.assertBounds(), t);
if (((e = this.buf[this.pos++]), (t |= (e & 127) << 21), (e & 128) == 0))
return (this.assertBounds(), t);
((e = this.buf[this.pos++]), (t |= (e & 15) << 28));
for (let r = 5; (e & 128) !== 0 && r < 10; r++) e = this.buf[this.pos++];
if ((e & 128) != 0) throw new Error("invalid varint");
return (this.assertBounds(), t >>> 0);
}
function Vx(e, t) {
let r = t >> 31;
return (
(t = (((t << 1) | (e >>> 31)) ^ r) >>> 0),
(e = ((e << 1) ^ r) >>> 0),
[e, t]
);
}
function Hx(e, t) {
let r = -(e & 1);
return (
(e = (((e >>> 1) | (t << 31)) ^ r) >>> 0),
(t = ((t >>> 1) ^ r) >>> 0),
[e, t]
);
}
function Wx(e, t) {
return (e[t] | (e[t + 1] << 8) | (e[t + 2] << 16)) + e[t + 3] * 16777216;
}
function Lx(e, t) {
return (e[t] | (e[t + 1] << 8) | (e[t + 2] << 16)) + (e[t + 3] << 24);
}
function qx(e, t, r) {
for (; e > 127; ) ((t[r++] = (e & 127) | 128), (e >>>= 7));
t[r] = e;
}
function eu(e, t, r) {
for (; e.hi; )
((t[r++] = (e.lo & 127) | 128),
(e.lo = ((e.lo >>> 7) | (e.hi << 25)) >>> 0),
(e.hi >>>= 7));
for (; e.lo > 127; ) ((t[r++] = (e.lo & 127) | 128), (e.lo = e.lo >>> 7));
t[r++] = e.lo;
}
function my(e, t) {
let r = e,
o = ((e >>> 28) | (t << 4)) >>> 0,
n = t >>> 24;
return n === 0
? o === 0
? r < 16384
? r < 128
? 1
: 2
: r < 2097152
? 3
: 4
: o < 16384
? o < 128
? 5
: 6
: o < 2097152
? 7
: 8
: n < 128
? 9
: 10;
}
function tu(e, t, r) {
((t[r] = e & 255),
(t[r + 1] = (e >>> 8) & 255),
(t[r + 2] = (e >>> 16) & 255),
(t[r + 3] = e >>> 24));
}
function ru(e, t, r) {
t[r] = e & 255;
}
var x6 = ((e) => (
(e[(e.Varint = 0)] = "Varint"),
(e[(e.Fixed64 = 1)] = "Fixed64"),
(e[(e.Bytes = 2)] = "Bytes"),
(e[(e.Fixed32 = 5)] = "Fixed32"),
e
))(x6 || {}),
$ = class {
buf;
pos;
type;
len;
assertBounds() {
if (this.pos > this.len) throw new RangeError("premature EOF");
}
constructor(t) {
((this.buf = t ? new Uint8Array(t) : new Uint8Array(0)),
(this.pos = 0),
(this.type = 0),
(this.len = this.buf.length));
}
tag() {
let t = this.uint32(),
r = t >>> 3,
o = t & 7;
if (r <= 0 || o < 0 || o > 5)
throw new Error("illegal tag: field no " + r + " wire type " + o);
return [r, o, t];
}
skip(t) {
if (typeof t == "number") {
if (this.pos + t > this.len) throw jx(this, t);
this.pos += t;
} else
do if (this.pos >= this.len) throw jx(this);
while (this.buf[this.pos++] & 128);
return this;
}
skipType(t) {
switch (t) {
case 0:
this.skip();
break;
case 1:
this.skip(8);
break;
case 2:
this.skip(this.uint32());
break;
case 3:
for (; (t = this.uint32() & 7) !== 4; ) this.skipType(t);
break;
case 5:
this.skip(4);
break;
default:
throw Error("invalid wire type " + t + " at offset " + this.pos);
}
return this;
}
uint32() {
return Jx.bind(this)();
}
int32() {
return this.uint32() | 0;
}
sint32() {
let t = this.uint32();
return t % 2 === 1 ? (t + 1) / -2 : t / 2;
}
fixed32() {
let t = Wx(this.buf, this.pos);
return ((this.pos += 4), t);
}
sfixed32() {
let t = Lx(this.buf, this.pos);
return ((this.pos += 4), t);
}
int64() {
let [t, r] = Fc.bind(this)();
return BigInt(Zl(t, r));
}
uint64() {
let [t, r] = Fc.bind(this)();
return BigInt(Xl(t, r));
}
sint64() {
let [t, r] = Fc.bind(this)();
return (([t, r] = Hx(t, r)), BigInt(Zl(t, r)));
}
fixed64() {
let t = this.sfixed32(),
r = this.sfixed32();
return BigInt(Xl(t, r));
}
sfixed64() {
let t = this.sfixed32(),
r = this.sfixed32();
return BigInt(Zl(t, r));
}
float() {
throw new Error("float not supported");
}
double() {
throw new Error("double not supported");
}
bool() {
let [t, r] = Fc.bind(this)();
return t !== 0 || r !== 0;
}
bytes() {
let t = this.uint32(),
r = this.pos;
return (
(this.pos += t),
this.assertBounds(),
this.buf.subarray(r, r + t)
);
}
string() {
let t = this.bytes();
return $x(t, 0, t.length);
}
},
Is = class {
fn;
len;
val;
next;
constructor(t, r, o) {
((this.fn = t), (this.len = r), (this.val = o));
}
proceed(t, r) {
this.fn && this.fn(this.val, t, r);
}
},
fy = class {
head;
tail;
len;
next;
constructor(t) {
((this.head = t.head),
(this.tail = t.tail),
(this.len = t.len),
(this.next = t.states));
}
},
re = class e {
len = 0;
head;
tail;
states;
constructor() {
((this.head = new Is(null, 0, 0)),
(this.tail = this.head),
(this.states = null));
}
static create() {
return new e();
}
static alloc(t) {
return typeof Uint8Array < "u"
? w6((r) => new Uint8Array(r), Uint8Array.prototype.subarray)(t)
: new Array(t);
}
_push(t, r, o) {
return (
(this.tail = this.tail.next = new Is(t, r, o)),
(this.len += r),
this
);
}
finish() {
let t = this.head.next,
r = 0,
o = e.alloc(this.len);
for (; t; ) (t.proceed(o, r), (r += t.len), (t = t.next));
return o;
}
fork() {
return (
(this.states = new fy(this)),
(this.head = this.tail = new Is(null, 0, 0)),
(this.len = 0),
this
);
}
reset() {
return (
this.states
? ((this.head = this.states.head),
(this.tail = this.states.tail),
(this.len = this.states.len),
(this.states = this.states.next))
: ((this.head = this.tail = new Is(null, 0, 0)), (this.len = 0)),
this
);
}
ldelim() {
let t = this.head,
r = this.tail,
o = this.len;
return (
this.reset().uint32(o),
o && ((this.tail.next = t.next), (this.tail = r), (this.len += o)),
this
);
}
tag(t, r) {
return this.uint32(((t << 3) | r) >>> 0);
}
uint32(t) {
return (
(this.len += (this.tail = this.tail.next =
new Is(
qx,
(t = t >>> 0) < 128
? 1
: t < 16384
? 2
: t < 2097152
? 3
: t < 268435456
? 4
: 5,
t,
)).len),
this
);
}
int32(t) {
return t < 0 ? this._push(eu, 10, Kc(t.toString())) : this.uint32(t);
}
sint32(t) {
return this.uint32(((t << 1) ^ (t >> 31)) >>> 0);
}
int64(t) {
let { lo: r, hi: o } = Kc(t.toString());
return this._push(eu, my(r, o), { lo: r, hi: o });
}
uint64 = e.prototype.int64;
sint64(t) {
let { lo: r, hi: o } = Kc(t.toString());
return (
([r, o] = Vx(r, o)),
this._push(eu, my(r, o), { lo: r, hi: o })
);
}
fixed64(t) {
let { lo: r, hi: o } = Kc(t.toString());
return this._push(tu, 4, r)._push(tu, 4, o);
}
sfixed64 = e.prototype.fixed64;
bool(t) {
return this._push(ru, 1, t ? 1 : 0);
}
fixed32(t) {
return this._push(tu, 4, t >>> 0);
}
sfixed32 = e.prototype.fixed32;
float(t) {
throw new Error("float not supported" + t);
}
double(t) {
throw new Error("double not supported" + t);
}
bytes(t) {
let r = t.length >>> 0;
return r ? this.uint32(r)._push(A6, r, t) : this._push(ru, 1, 0);
}
string(t) {
let r = Mx(t);
return r ? this.uint32(r)._push(_x, r, t) : this._push(ru, 1, 0);
}
};
function A6(e, t, r) {
if (typeof Uint8Array < "u") t.set(e, r);
else for (let o = 0; o < e.length; ++o) t[r + o] = e[o];
}
function w6(e, t, r) {
let o = r || 8192,
n = o >>> 1,
a = null,
i = o;
return function (c) {
if (c < 1 || c > n) return e(c);
i + c > o && ((a = e(o)), (i = 0));
let d = t.call(a, i, (i += c));
return (i & 7 && (i = (i | 7) + 1), d);
};
}
function jx(e, t) {
return RangeError(
"index out of range: " + e.pos + " + " + (t || 1) + " > " + e.len,
);
}
function B(e) {
return e != null;
}
function Gx(e) {
let t = k6(e.getTime() / 1e3),
r = (e.getTime() % 1e3) * 1e6;
return { seconds: t, nanos: r };
}
function Tr(e) {
let t = Number(e.seconds) * 1e3;
return ((t += e.nanos / 1e6), new Date(t));
}
var P6 = (e) => ({
seconds: B(e.seconds) ? BigInt(e.seconds.toString()) : BigInt(0),
nanos: B(e.nanos) ? Number(e.nanos) : 0,
});
function Ur(e) {
return e instanceof Date
? Gx(e)
: typeof e == "string"
? Gx(new Date(e))
: P6(e);
}
function k6(e) {
return BigInt(Math.trunc(e));
}
function Qx() {
return {
$typeUrl: "/google.protobuf.Any",
typeUrl: "",
value: new Uint8Array(),
};
}
var fe = {
typeUrl: "/google.protobuf.Any",
is(e) {
return (
e &&
(e.$typeUrl === fe.typeUrl ||
(typeof e.typeUrl == "string" &&
(e.value instanceof Uint8Array || typeof e.value == "string")))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === fe.typeUrl ||
(typeof e.type_url == "string" &&
(e.value instanceof Uint8Array || typeof e.value == "string")))
);
},
encode(e, t = re.create()) {
return (
e.typeUrl !== "" && t.uint32(10).string(e.typeUrl),
e.value.length !== 0 && t.uint32(18).bytes(e.value),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Qx();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.typeUrl = r.string();
break;
case 2:
n.value = r.bytes();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
typeUrl: B(e.typeUrl) ? String(e.typeUrl) : "",
value: B(e.value) ? ke(e.value) : new Uint8Array(),
};
},
toJSON(e) {
let t = {};
return (
e.typeUrl !== void 0 && (t.typeUrl = e.typeUrl),
e.value !== void 0 &&
(t.value = Ee(e.value !== void 0 ? e.value : new Uint8Array())),
t
);
},
fromPartial(e) {
let t = Qx();
return (
(t.typeUrl = e.typeUrl ?? ""),
(t.value = e.value ?? new Uint8Array()),
t
);
},
fromProtoMsg(e) {
return fe.decode(e.value);
},
toProto(e) {
return fe.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/google.protobuf.Any",
value: fe.encode(e).finish(),
};
},
};
function zx() {
return { seconds: BigInt(0), nanos: 0 };
}
var we = {
typeUrl: "/google.protobuf.Timestamp",
is(e) {
return (
e &&
(e.$typeUrl === we.typeUrl ||
(typeof e.seconds == "bigint" && typeof e.nanos == "number"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === we.typeUrl ||
(typeof e.seconds == "bigint" && typeof e.nanos == "number"))
);
},
encode(e, t = re.create()) {
return (
e.seconds !== BigInt(0) && t.uint32(8).int64(e.seconds),
e.nanos !== 0 && t.uint32(16).int32(e.nanos),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = zx();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.seconds = r.int64();
break;
case 2:
n.nanos = r.int32();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
seconds: B(e.seconds) ? BigInt(e.seconds.toString()) : BigInt(0),
nanos: B(e.nanos) ? Number(e.nanos) : 0,
};
},
toJSON(e) {
let t = {};
return (
e.seconds !== void 0 &&
(t.seconds = (e.seconds || BigInt(0)).toString()),
e.nanos !== void 0 && (t.nanos = Math.round(e.nanos)),
t
);
},
fromPartial(e) {
let t = zx();
return (
(t.seconds =
e.seconds !== void 0 && e.seconds !== null
? BigInt(e.seconds.toString())
: BigInt(0)),
(t.nanos = e.nanos ?? 0),
t
);
},
fromProtoMsg(e) {
return we.decode(e.value);
},
toProto(e) {
return we.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/google.protobuf.Timestamp",
value: we.encode(e).finish(),
};
},
};
var T6 = ((e) => (
(e[(e.SIGN_MODE_UNSPECIFIED = 0)] = "SIGN_MODE_UNSPECIFIED"),
(e[(e.SIGN_MODE_DIRECT = 1)] = "SIGN_MODE_DIRECT"),
(e[(e.SIGN_MODE_TEXTUAL = 2)] = "SIGN_MODE_TEXTUAL"),
(e[(e.SIGN_MODE_DIRECT_AUX = 3)] = "SIGN_MODE_DIRECT_AUX"),
(e[(e.SIGN_MODE_LEGACY_AMINO_JSON = 127)] =
"SIGN_MODE_LEGACY_AMINO_JSON"),
(e[(e.SIGN_MODE_EIP_191 = 191)] = "SIGN_MODE_EIP_191"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))(T6 || {});
var Cr = class e {
static fromUserInput(t, r) {
e.verifyFractionalDigits(r);
let o = t.match(/[^0-9.]/);
if (o) throw new Error(`Invalid character at position ${o.index + 1}`);
let n, a;
if (t === "") ((n = "0"), (a = ""));
else if (t.search(/\./) === -1) ((n = t), (a = ""));
else {
let c = t.split(".");
switch (c.length) {
case 0:
case 1:
throw new Error(
"Fewer than two elements in split result. This must not happen here.",
);
case 2:
if (!c[1]) throw new Error("Fractional part missing");
((n = c[0]), (a = c[1].replace(/0+$/, "")));
break;
default:
throw new Error("More than one separator found");
}
}
if (a.length > r)
throw new Error("Got more fractional digits than supported");
let i = `${n}${a.padEnd(r, "0")}`;
return new e(i, r);
}
static fromAtomics(t, r) {
return (e.verifyFractionalDigits(r), new e(t, r));
}
static verifyFractionalDigits(t) {
if (!Number.isInteger(t))
throw new Error("Fractional digits is not an integer");
if (t < 0) throw new Error("Fractional digits must not be negative");
if (t > 30) throw new Error("Fractional digits must not exceed 30");
}
get atomics() {
return this.data.atomics.toString();
}
get fractionalDigits() {
return this.data.fractionalDigits;
}
data;
constructor(t, r) {
if (!t.match(/^[0-9]+$/))
throw new Error(
"Invalid string format. Only non-negative integers in decimal representation supported.",
);
this.data = { atomics: BigInt(t), fractionalDigits: r };
}
toString() {
let t = BigInt(10) ** BigInt(this.data.fractionalDigits),
r = this.data.atomics / t,
o = this.data.atomics % t;
if (o === 0n) return r.toString();
{
let n = o
.toString()
.padStart(this.data.fractionalDigits, "0")
.replace(/0+$/, "");
return `${r.toString()}.${n}`;
}
}
};
function Yx() {
return { denom: "", amount: "" };
}
var G = {
typeUrl: "/cosmos.base.v1beta1.Coin",
annotations: {
"amino.dont_omitempty": { amount: !0 },
"gogoproto.nullable": { amount: !1 },
typeUrlFromField: { amount: "cosmos.Int" },
},
aminoType: "cosmos-sdk/Coin",
is(e) {
return (
e &&
(e.$typeUrl === G.typeUrl ||
(typeof e.denom == "string" && typeof e.amount == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === G.typeUrl ||
(typeof e.denom == "string" && typeof e.amount == "string"))
);
},
encode(e, t = re.create()) {
return (
e.denom !== "" && t.uint32(10).string(e.denom),
e.amount !== "" && t.uint32(18).string(e.amount),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Yx();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.denom = r.string();
break;
case 2:
n.amount = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
denom: B(e.denom) ? String(e.denom) : "",
amount: B(e.amount) ? String(e.amount) : "",
};
},
toJSON(e) {
let t = {};
return (
e.denom !== void 0 && (t.denom = e.denom),
e.amount !== void 0 && (t.amount = e.amount),
t
);
},
fromPartial(e) {
let t = Yx();
return ((t.denom = e.denom ?? ""), (t.amount = e.amount ?? ""), t);
},
fromProtoMsg(e) {
return G.decode(e.value);
},
toProto(e) {
return G.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.base.v1beta1.Coin",
value: G.encode(e).finish(),
};
},
};
function Zx() {
return { denom: "", amount: "" };
}
var Ye = {
typeUrl: "/cosmos.base.v1beta1.DecCoin",
annotations: {
"gogoproto.nullable": { amount: !1 },
typeUrlFromField: { amount: "cosmos.Dec" },
},
aminoType: "cosmos-sdk/DecCoin",
is(e) {
return (
e &&
(e.$typeUrl === Ye.typeUrl ||
(typeof e.denom == "string" && typeof e.amount == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Ye.typeUrl ||
(typeof e.denom == "string" && typeof e.amount == "string"))
);
},
encode(e, t = re.create()) {
return (
e.denom !== "" && t.uint32(10).string(e.denom),
e.amount !== "" &&
t.uint32(18).string(Cr.fromUserInput(e.amount, 18).atomics),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Zx();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.denom = r.string();
break;
case 2:
n.amount = Cr.fromAtomics(r.string(), 18).toString();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
denom: B(e.denom) ? String(e.denom) : "",
amount: B(e.amount) ? String(e.amount) : "",
};
},
toJSON(e) {
let t = {};
return (
e.denom !== void 0 && (t.denom = e.denom),
e.amount !== void 0 && (t.amount = e.amount),
t
);
},
fromPartial(e) {
let t = Zx();
return ((t.denom = e.denom ?? ""), (t.amount = e.amount ?? ""), t);
},
fromProtoMsg(e) {
return Ye.decode(e.value);
},
toProto(e) {
return Ye.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.base.v1beta1.DecCoin",
value: Ye.encode(e).finish(),
};
},
};
function Xx() {
return {
messages: [],
memo: "",
timeoutHeight: BigInt(0),
unordered: !1,
timeoutTimestamp: void 0,
extensionOptions: [],
nonCriticalExtensionOptions: [],
};
}
var Ts = {
typeUrl: "/cosmos.tx.v1beta1.TxBody",
annotations: {
"gogoproto.nullable": { timeoutTimestamp: !0 },
typeUrlFromField: { timeoutTimestamp: () => we },
},
aminoType: "cosmos-sdk/TxBody",
is(e) {
return (
e &&
(e.$typeUrl === Ts.typeUrl ||
(Array.isArray(e.messages) &&
(!e.messages.length || fe.is(e.messages[0])) &&
typeof e.memo == "string" &&
typeof e.timeoutHeight == "bigint" &&
typeof e.unordered == "boolean" &&
Array.isArray(e.extensionOptions) &&
(!e.extensionOptions.length || fe.is(e.extensionOptions[0])) &&
Array.isArray(e.nonCriticalExtensionOptions) &&
(!e.nonCriticalExtensionOptions.length ||
fe.is(e.nonCriticalExtensionOptions[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Ts.typeUrl ||
(Array.isArray(e.messages) &&
(!e.messages.length || fe.isSDK(e.messages[0])) &&
typeof e.memo == "string" &&
typeof e.timeout_height == "bigint" &&
typeof e.unordered == "boolean" &&
Array.isArray(e.extension_options) &&
(!e.extension_options.length ||
fe.isSDK(e.extension_options[0])) &&
Array.isArray(e.non_critical_extension_options) &&
(!e.non_critical_extension_options.length ||
fe.isSDK(e.non_critical_extension_options[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.messages) fe.encode(r, t.uint32(10).fork()).ldelim();
(e.memo !== "" && t.uint32(18).string(e.memo),
e.timeoutHeight !== BigInt(0) && t.uint32(24).uint64(e.timeoutHeight),
e.unordered === !0 && t.uint32(32).bool(e.unordered),
e.timeoutTimestamp !== void 0 &&
we.encode(e.timeoutTimestamp, t.uint32(42).fork()).ldelim());
for (let r of e.extensionOptions)
fe.encode(r, t.uint32(8186).fork()).ldelim();
for (let r of e.nonCriticalExtensionOptions)
fe.encode(r, t.uint32(16378).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Xx();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.messages.push(fe.decode(r, r.uint32()));
break;
case 2:
n.memo = r.string();
break;
case 3:
n.timeoutHeight = r.uint64();
break;
case 4:
n.unordered = r.bool();
break;
case 5:
n.timeoutTimestamp = we.decode(r, r.uint32());
break;
case 1023:
n.extensionOptions.push(fe.decode(r, r.uint32()));
break;
case 2047:
n.nonCriticalExtensionOptions.push(fe.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
messages: Array.isArray(e?.messages)
? e.messages.map((t) => fe.fromJSON(t))
: [],
memo: B(e.memo) ? String(e.memo) : "",
timeoutHeight: B(e.timeoutHeight)
? BigInt(e.timeoutHeight.toString())
: BigInt(0),
unordered: B(e.unordered) ? !!e.unordered : !1,
timeoutTimestamp: B(e.timeoutTimestamp)
? Ur(e.timeoutTimestamp)
: void 0,
extensionOptions: Array.isArray(e?.extensionOptions)
? e.extensionOptions.map((t) => fe.fromJSON(t))
: [],
nonCriticalExtensionOptions: Array.isArray(
e?.nonCriticalExtensionOptions,
)
? e.nonCriticalExtensionOptions.map((t) => fe.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.messages
? (t.messages = e.messages.map((r) => (r ? fe.toJSON(r) : void 0)))
: (t.messages = []),
e.memo !== void 0 && (t.memo = e.memo),
e.timeoutHeight !== void 0 &&
(t.timeoutHeight = (e.timeoutHeight || BigInt(0)).toString()),
e.unordered !== void 0 && (t.unordered = e.unordered),
e.timeoutTimestamp !== void 0 &&
(t.timeoutTimestamp = Tr(e.timeoutTimestamp).toISOString()),
e.extensionOptions
? (t.extensionOptions = e.extensionOptions.map((r) =>
r ? fe.toJSON(r) : void 0,
))
: (t.extensionOptions = []),
e.nonCriticalExtensionOptions
? (t.nonCriticalExtensionOptions =
e.nonCriticalExtensionOptions.map((r) =>
r ? fe.toJSON(r) : void 0,
))
: (t.nonCriticalExtensionOptions = []),
t
);
},
fromPartial(e) {
let t = Xx();
return (
(t.messages = e.messages?.map((r) => fe.fromPartial(r)) || []),
(t.memo = e.memo ?? ""),
(t.timeoutHeight =
e.timeoutHeight !== void 0 && e.timeoutHeight !== null
? BigInt(e.timeoutHeight.toString())
: BigInt(0)),
(t.unordered = e.unordered ?? !1),
(t.timeoutTimestamp =
e.timeoutTimestamp !== void 0 && e.timeoutTimestamp !== null
? we.fromPartial(e.timeoutTimestamp)
: void 0),
(t.extensionOptions =
e.extensionOptions?.map((r) => fe.fromPartial(r)) || []),
(t.nonCriticalExtensionOptions =
e.nonCriticalExtensionOptions?.map((r) => fe.fromPartial(r)) || []),
t
);
},
fromProtoMsg(e) {
return Ts.decode(e.value);
},
toProto(e) {
return Ts.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.tx.v1beta1.TxBody",
value: Ts.encode(e).finish(),
};
},
};
function eA() {
return { type: "", key: new Uint8Array(), data: new Uint8Array() };
}
var Rr = {
typeUrl: "/tendermint.crypto.ProofOp",
is(e) {
return (
e &&
(e.$typeUrl === Rr.typeUrl ||
(typeof e.type == "string" &&
(e.key instanceof Uint8Array || typeof e.key == "string") &&
(e.data instanceof Uint8Array || typeof e.data == "string")))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Rr.typeUrl ||
(typeof e.type == "string" &&
(e.key instanceof Uint8Array || typeof e.key == "string") &&
(e.data instanceof Uint8Array || typeof e.data == "string")))
);
},
encode(e, t = re.create()) {
return (
e.type !== "" && t.uint32(10).string(e.type),
e.key.length !== 0 && t.uint32(18).bytes(e.key),
e.data.length !== 0 && t.uint32(26).bytes(e.data),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = eA();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.type = r.string();
break;
case 2:
n.key = r.bytes();
break;
case 3:
n.data = r.bytes();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
type: B(e.type) ? String(e.type) : "",
key: B(e.key) ? ke(e.key) : new Uint8Array(),
data: B(e.data) ? ke(e.data) : new Uint8Array(),
};
},
toJSON(e) {
let t = {};
return (
e.type !== void 0 && (t.type = e.type),
e.key !== void 0 &&
(t.key = Ee(e.key !== void 0 ? e.key : new Uint8Array())),
e.data !== void 0 &&
(t.data = Ee(e.data !== void 0 ? e.data : new Uint8Array())),
t
);
},
fromPartial(e) {
let t = eA();
return (
(t.type = e.type ?? ""),
(t.key = e.key ?? new Uint8Array()),
(t.data = e.data ?? new Uint8Array()),
t
);
},
fromProtoMsg(e) {
return Rr.decode(e.value);
},
toProto(e) {
return Rr.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/tendermint.crypto.ProofOp",
value: Rr.encode(e).finish(),
};
},
};
function tA() {
return { ops: [] };
}
var Qr = {
typeUrl: "/tendermint.crypto.ProofOps",
is(e) {
return (
e &&
(e.$typeUrl === Qr.typeUrl ||
(Array.isArray(e.ops) && (!e.ops.length || Rr.is(e.ops[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Qr.typeUrl ||
(Array.isArray(e.ops) && (!e.ops.length || Rr.isSDK(e.ops[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.ops) Rr.encode(r, t.uint32(10).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = tA();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.ops.push(Rr.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
ops: Array.isArray(e?.ops) ? e.ops.map((t) => Rr.fromJSON(t)) : [],
};
},
toJSON(e) {
let t = {};
return (
e.ops
? (t.ops = e.ops.map((r) => (r ? Rr.toJSON(r) : void 0)))
: (t.ops = []),
t
);
},
fromPartial(e) {
let t = tA();
return ((t.ops = e.ops?.map((r) => Rr.fromPartial(r)) || []), t);
},
fromProtoMsg(e) {
return Qr.decode(e.value);
},
toProto(e) {
return Qr.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/tendermint.crypto.ProofOps",
value: Qr.encode(e).finish(),
};
},
};
var R6 = ((e) => (
(e[(e.BLOCK_ID_FLAG_UNKNOWN = 0)] = "BLOCK_ID_FLAG_UNKNOWN"),
(e[(e.BLOCK_ID_FLAG_ABSENT = 1)] = "BLOCK_ID_FLAG_ABSENT"),
(e[(e.BLOCK_ID_FLAG_COMMIT = 2)] = "BLOCK_ID_FLAG_COMMIT"),
(e[(e.BLOCK_ID_FLAG_NIL = 3)] = "BLOCK_ID_FLAG_NIL"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))(R6 || {});
var D6 = ((e) => (
(e[(e.NEW = 0)] = "NEW"),
(e[(e.RECHECK = 1)] = "RECHECK"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))(D6 || {});
var N6 = ((e) => (
(e[(e.UNKNOWN = 0)] = "UNKNOWN"),
(e[(e.ACCEPT = 1)] = "ACCEPT"),
(e[(e.ABORT = 2)] = "ABORT"),
(e[(e.REJECT = 3)] = "REJECT"),
(e[(e.REJECT_FORMAT = 4)] = "REJECT_FORMAT"),
(e[(e.REJECT_SENDER = 5)] = "REJECT_SENDER"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))(N6 || {});
var B6 = ((e) => (
(e[(e.UNKNOWN = 0)] = "UNKNOWN"),
(e[(e.ACCEPT = 1)] = "ACCEPT"),
(e[(e.ABORT = 2)] = "ABORT"),
(e[(e.RETRY = 3)] = "RETRY"),
(e[(e.RETRY_SNAPSHOT = 4)] = "RETRY_SNAPSHOT"),
(e[(e.REJECT_SNAPSHOT = 5)] = "REJECT_SNAPSHOT"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))(B6 || {});
var M6 = ((e) => (
(e[(e.UNKNOWN = 0)] = "UNKNOWN"),
(e[(e.ACCEPT = 1)] = "ACCEPT"),
(e[(e.REJECT = 2)] = "REJECT"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))(M6 || {});
var $6 = ((e) => (
(e[(e.UNKNOWN = 0)] = "UNKNOWN"),
(e[(e.ACCEPT = 1)] = "ACCEPT"),
(e[(e.REJECT = 2)] = "REJECT"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))($6 || {});
var _6 = ((e) => (
(e[(e.UNKNOWN = 0)] = "UNKNOWN"),
(e[(e.DUPLICATE_VOTE = 1)] = "DUPLICATE_VOTE"),
(e[(e.LIGHT_CLIENT_ATTACK = 2)] = "LIGHT_CLIENT_ATTACK"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))(_6 || {});
function rA() {
return { data: new Uint8Array(), path: "", height: BigInt(0), prove: !1 };
}
var It = {
typeUrl: "/tendermint.abci.RequestQuery",
is(e) {
return (
e &&
(e.$typeUrl === It.typeUrl ||
((e.data instanceof Uint8Array || typeof e.data == "string") &&
typeof e.path == "string" &&
typeof e.height == "bigint" &&
typeof e.prove == "boolean"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === It.typeUrl ||
((e.data instanceof Uint8Array || typeof e.data == "string") &&
typeof e.path == "string" &&
typeof e.height == "bigint" &&
typeof e.prove == "boolean"))
);
},
encode(e, t = re.create()) {
return (
e.data.length !== 0 && t.uint32(10).bytes(e.data),
e.path !== "" && t.uint32(18).string(e.path),
e.height !== BigInt(0) && t.uint32(24).int64(e.height),
e.prove === !0 && t.uint32(32).bool(e.prove),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = rA();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.data = r.bytes();
break;
case 2:
n.path = r.string();
break;
case 3:
n.height = r.int64();
break;
case 4:
n.prove = r.bool();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
data: B(e.data) ? ke(e.data) : new Uint8Array(),
path: B(e.path) ? String(e.path) : "",
height: B(e.height) ? BigInt(e.height.toString()) : BigInt(0),
prove: B(e.prove) ? !!e.prove : !1,
};
},
toJSON(e) {
let t = {};
return (
e.data !== void 0 &&
(t.data = Ee(e.data !== void 0 ? e.data : new Uint8Array())),
e.path !== void 0 && (t.path = e.path),
e.height !== void 0 &&
(t.height = (e.height || BigInt(0)).toString()),
e.prove !== void 0 && (t.prove = e.prove),
t
);
},
fromPartial(e) {
let t = rA();
return (
(t.data = e.data ?? new Uint8Array()),
(t.path = e.path ?? ""),
(t.height =
e.height !== void 0 && e.height !== null
? BigInt(e.height.toString())
: BigInt(0)),
(t.prove = e.prove ?? !1),
t
);
},
fromProtoMsg(e) {
return It.decode(e.value);
},
toProto(e) {
return It.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/tendermint.abci.RequestQuery",
value: It.encode(e).finish(),
};
},
};
function oA() {
return {
code: 0,
log: "",
info: "",
index: BigInt(0),
key: new Uint8Array(),
value: new Uint8Array(),
proofOps: void 0,
height: BigInt(0),
codespace: "",
};
}
var Vt = {
typeUrl: "/tendermint.abci.ResponseQuery",
is(e) {
return (
e &&
(e.$typeUrl === Vt.typeUrl ||
(typeof e.code == "number" &&
typeof e.log == "string" &&
typeof e.info == "string" &&
typeof e.index == "bigint" &&
(e.key instanceof Uint8Array || typeof e.key == "string") &&
(e.value instanceof Uint8Array || typeof e.value == "string") &&
typeof e.height == "bigint" &&
typeof e.codespace == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Vt.typeUrl ||
(typeof e.code == "number" &&
typeof e.log == "string" &&
typeof e.info == "string" &&
typeof e.index == "bigint" &&
(e.key instanceof Uint8Array || typeof e.key == "string") &&
(e.value instanceof Uint8Array || typeof e.value == "string") &&
typeof e.height == "bigint" &&
typeof e.codespace == "string"))
);
},
encode(e, t = re.create()) {
return (
e.code !== 0 && t.uint32(8).uint32(e.code),
e.log !== "" && t.uint32(26).string(e.log),
e.info !== "" && t.uint32(34).string(e.info),
e.index !== BigInt(0) && t.uint32(40).int64(e.index),
e.key.length !== 0 && t.uint32(50).bytes(e.key),
e.value.length !== 0 && t.uint32(58).bytes(e.value),
e.proofOps !== void 0 &&
Qr.encode(e.proofOps, t.uint32(66).fork()).ldelim(),
e.height !== BigInt(0) && t.uint32(72).int64(e.height),
e.codespace !== "" && t.uint32(82).string(e.codespace),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = oA();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.code = r.uint32();
break;
case 3:
n.log = r.string();
break;
case 4:
n.info = r.string();
break;
case 5:
n.index = r.int64();
break;
case 6:
n.key = r.bytes();
break;
case 7:
n.value = r.bytes();
break;
case 8:
n.proofOps = Qr.decode(r, r.uint32());
break;
case 9:
n.height = r.int64();
break;
case 10:
n.codespace = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
code: B(e.code) ? Number(e.code) : 0,
log: B(e.log) ? String(e.log) : "",
info: B(e.info) ? String(e.info) : "",
index: B(e.index) ? BigInt(e.index.toString()) : BigInt(0),
key: B(e.key) ? ke(e.key) : new Uint8Array(),
value: B(e.value) ? ke(e.value) : new Uint8Array(),
proofOps: B(e.proofOps) ? Qr.fromJSON(e.proofOps) : void 0,
height: B(e.height) ? BigInt(e.height.toString()) : BigInt(0),
codespace: B(e.codespace) ? String(e.codespace) : "",
};
},
toJSON(e) {
let t = {};
return (
e.code !== void 0 && (t.code = Math.round(e.code)),
e.log !== void 0 && (t.log = e.log),
e.info !== void 0 && (t.info = e.info),
e.index !== void 0 && (t.index = (e.index || BigInt(0)).toString()),
e.key !== void 0 &&
(t.key = Ee(e.key !== void 0 ? e.key : new Uint8Array())),
e.value !== void 0 &&
(t.value = Ee(e.value !== void 0 ? e.value : new Uint8Array())),
e.proofOps !== void 0 &&
(t.proofOps = e.proofOps ? Qr.toJSON(e.proofOps) : void 0),
e.height !== void 0 &&
(t.height = (e.height || BigInt(0)).toString()),
e.codespace !== void 0 && (t.codespace = e.codespace),
t
);
},
fromPartial(e) {
let t = oA();
return (
(t.code = e.code ?? 0),
(t.log = e.log ?? ""),
(t.info = e.info ?? ""),
(t.index =
e.index !== void 0 && e.index !== null
? BigInt(e.index.toString())
: BigInt(0)),
(t.key = e.key ?? new Uint8Array()),
(t.value = e.value ?? new Uint8Array()),
(t.proofOps =
e.proofOps !== void 0 && e.proofOps !== null
? Qr.fromPartial(e.proofOps)
: void 0),
(t.height =
e.height !== void 0 && e.height !== null
? BigInt(e.height.toString())
: BigInt(0)),
(t.codespace = e.codespace ?? ""),
t
);
},
fromProtoMsg(e) {
return Vt.decode(e.value);
},
toProto(e) {
return Vt.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/tendermint.abci.ResponseQuery",
value: Vt.encode(e).finish(),
};
},
};
function nA() {
return { requests: [] };
}
var Us = {
typeUrl: "/icq.v1.CosmosQuery",
is(e) {
return (
e &&
(e.$typeUrl === Us.typeUrl ||
(Array.isArray(e.requests) &&
(!e.requests.length || It.is(e.requests[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Us.typeUrl ||
(Array.isArray(e.requests) &&
(!e.requests.length || It.isSDK(e.requests[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.requests) It.encode(r, t.uint32(10).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = nA();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.requests.push(It.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
requests: Array.isArray(e?.requests)
? e.requests.map((t) => It.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.requests
? (t.requests = e.requests.map((r) => (r ? It.toJSON(r) : void 0)))
: (t.requests = []),
t
);
},
fromPartial(e) {
let t = nA();
return (
(t.requests = e.requests?.map((r) => It.fromPartial(r)) || []),
t
);
},
fromProtoMsg(e) {
return Us.decode(e.value);
},
toProto(e) {
return Us.encode(e).finish();
},
toProtoMsg(e) {
return { typeUrl: "/icq.v1.CosmosQuery", value: Us.encode(e).finish() };
},
};
function sA() {
return { responses: [] };
}
var Cs = {
typeUrl: "/icq.v1.CosmosResponse",
is(e) {
return (
e &&
(e.$typeUrl === Cs.typeUrl ||
(Array.isArray(e.responses) &&
(!e.responses.length || Vt.is(e.responses[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Cs.typeUrl ||
(Array.isArray(e.responses) &&
(!e.responses.length || Vt.isSDK(e.responses[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.responses) Vt.encode(r, t.uint32(10).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = sA();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.responses.push(Vt.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
responses: Array.isArray(e?.responses)
? e.responses.map((t) => Vt.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.responses
? (t.responses = e.responses.map((r) =>
r ? Vt.toJSON(r) : void 0,
))
: (t.responses = []),
t
);
},
fromPartial(e) {
let t = sA();
return (
(t.responses = e.responses?.map((r) => Vt.fromPartial(r)) || []),
t
);
},
fromProtoMsg(e) {
return Cs.decode(e.value);
},
toProto(e) {
return Cs.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/icq.v1.CosmosResponse",
value: Cs.encode(e).finish(),
};
},
};
var F6 =
/^\/(?<serviceName>\w+(?:\.\w+)*)\.Query(?<methodName>\w+)Request$/,
K6 = (e) => {
let t = e.match(F6);
if (!(t && t.groups))
throw TypeError(`Invalid typeUrl: ${e}. Must be a Query Request.`);
let { serviceName: r, methodName: o } = t.groups;
return `/${r}.Query/${o}`;
},
Eo = (e, t = {}) =>
It.toJSON(It.fromPartial({ path: K6(e.typeUrl), data: e.value, ...t }));
var J6 = (e) =>
new Map(
Object.entries(e).map(([t, r]) => [t, new Map(Object.entries(r))]),
);
var aA = (e) => {
if (typeof e == "function") return e();
if (typeof e == "object" && e !== null) return e;
},
ou = (e) => (typeof e == "string" ? e : aA(e)?.typeUrl),
iA = (e, t = new Map()) => {
let r = new Map(t),
o = new Set(),
n = (a) => {
let i = aA(a);
if (!i || o.has(i.typeUrl)) return;
o.add(i.typeUrl);
let { annotations: c } = i;
if (c) {
r.has(i.typeUrl) || r.set(i.typeUrl, J6(c));
for (let d of Object.values(c.typeUrlFromField ?? {})) n(d);
}
};
return (n(e), r);
},
V6 = { "cosmos.Int": (e) => `${BigInt(e || 0)}` },
cA = new Map(Object.entries(V6));
var { freeze: Do } = Object,
yy = (e, t, r, o) => {
let n = ou(t);
if (n == null || !n.startsWith("/")) return r;
let a = { ...(typeof r == "object" && r) },
i = o.get(n)?.get("typeUrlFromField");
for (let [c, d] of Object.entries(a)) {
let l = d,
u = i?.get(c);
(l && (l = yy(e, u, l, o)), (a[c] = l), e(a, c, o, u));
}
return (Do(a), a);
},
nu = (e, t, r) => {
let o = ou(e);
if (o == null) return t;
if (!o.startsWith("/")) {
let l = cA.get(o);
return l ? l(t) : t;
}
let n = { ...(typeof t == "object" && t) },
a = r.get(o),
i = a?.get("typeUrlFromField"),
c = a?.get("gogoproto.nullable"),
d = new Set(
[...(c?.entries() ?? [])].flatMap(([l, u]) => (u ? [] : [l])),
);
for (let [l, u] of Object.entries(n)) {
if (c?.get(l) !== !1) continue;
d.delete(l);
let p = nu(i?.get(l), u, r);
p != null && (n[l] = p);
}
for (let l of d.keys()) {
let u = nu(i?.get(l), n[l], r);
u != null && (n[l] = u);
}
return (Do(n), n);
},
H6 = (e, t, r, o) => {
let n = ou(o),
a = n ? r.get(n)?.get("gogoproto.nullable") : void 0;
e[t] == null && a?.get(t) === !1 ? (e[t] = {}) : e[t] || delete e[t];
},
W6 = (e, t, r, o) => {
e[t] === void 0 && delete e[t];
},
dA = (e, t) => {
let r = t.get(e.typeUrl),
o = r?.get("gogoproto.embed"),
n = [...(r?.get("gogoproto.nullable")?.entries() ?? [])].flatMap(
([l, u]) => (u ? [] : [l]),
);
Do(n);
let a = (l) => {
let u = { ...(typeof l == "object" && Object(l)) };
for (let [b, m] of o?.entries() ?? [])
u[m] == null && (u[m] = u[b] ?? u);
let p = nu(e.typeUrl, u, t),
y = e.fromPartial(p ?? u);
return (Do(y), y);
},
i = (l) => {
let u = a(l),
p = yy(H6, e.typeUrl, u, t);
return (Do(p), p ?? u);
},
c = (l) => {
let u = d(l),
p = yy(W6, e.typeUrl, u, t);
return Do(p);
},
d = (l) => {
let u = { ...l };
for (let y of o?.keys() ?? []) {
let b = u[y] ?? u;
if (Object(b) === b) {
for (let [m, v] of Object.entries(b))
u[m] == null && (u[m] = v);
delete u[y];
}
}
let p = nu(e.typeUrl, u, t);
return Do(p);
};
return Do({
encoderInputFromGogo3: a,
gogo3FromDecoderOutput: d,
packedFromGogo3: i,
strippedFromDecoderOutput: c,
});
},
L6 = (e) => {
if ("@type" in e) {
let { "@type": t, ...r } = e;
return { typeUrl: t, value: r };
} else if ("$typeUrl" in e) {
let { $typeUrl: t, ...r } = e;
return { typeUrl: t, value: r };
} else if ("typeUrl" in e) {
let { typeUrl: t, value: r } = e;
return { typeUrl: t, value: r instanceof Uint8Array ? r : { ...r } };
} else if ("type" in e) {
let { type: t, value: r } = e;
return { typeUrl: t, value: r };
}
throw TypeError(`Unrecognized input: ${e}`);
},
q6 = (e, t) => {
let { gogo3FromDecoderOutput: r, encoderInputFromGogo3: o } = dA(e, t),
n = {
typeUrl: e.typeUrl,
annotations: e.annotations,
encode(a, i) {
return e.encode(o(a), i);
},
decode(a, i) {
return r(e.decode(a, i));
},
fromJSON(a) {
return r(e.fromJSON(a));
},
toJSON(a) {
return e.toJSON(o(a));
},
fromPartial(a) {
return o(a);
},
fromProtoMsg(a) {
return r(e.fromProtoMsg(a));
},
toProto(a) {
return e.toProto(o(a));
},
toProtoMsg(a) {
return e.toProtoMsg(o(a));
},
};
return (Do(n), n);
};
var pe = (e, t = new Map()) => {
let r = iA(e, t),
o = q6(e, r),
{ strippedFromDecoderOutput: n, packedFromGogo3: a } = dA(o, r),
i = {
...o,
typedJson(c) {
let d = a(c);
return { "@type": e.typeUrl, ...(typeof d == "object" && d) };
},
fromTyped(c) {
let { typeUrl: d, value: l } = L6(c);
if (d !== e.typeUrl)
throw TypeError(`Invalid typeUrl: ${d}. Must be ${e.typeUrl}.`);
return l instanceof Uint8Array
? o.fromProtoMsg({ typeUrl: d, value: l })
: n(l);
},
};
return (Do(i), i);
};
var gy = ((e) => (
(e[(e.TYPE_UNSPECIFIED = 0)] = "TYPE_UNSPECIFIED"),
(e[(e.TYPE_EXECUTE_TX = 1)] = "TYPE_EXECUTE_TX"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))(gy || {});
var j6 = pe(Ts),
G6 = pe(fe),
Q6 = pe(It),
z6 = pe(Vt),
lA = pe(Us),
Y6 = pe(Cs);
function hy(e, t) {
let r = e.map(G6.fromJSON);
t?.unordered &&
(t?.timeoutTimestamp ||
f`unordered packets must have a timeout timestamp`);
let o = j6.toProto({ messages: r, ...t });
return JSON.stringify({
type: gy.TYPE_EXECUTE_TX,
data: Ee(o),
memo: "",
});
}
harden(hy);
function by(e) {
let t = lA
.encode(lA.fromPartial({ requests: e.map(Q6.fromJSON) }))
.finish();
return JSON.stringify({ data: Ee(t), memo: "" });
}
harden(by);
function su(e) {
let { result: t, error: r } = JSON.parse(e);
if (t) return t;
throw r ? Error(r) : f`expected either result or error: ${e}`;
}
harden(su);
function vy(e) {
let t = su(e),
{ data: r } = JSON.parse(Of(t)),
{ responses: o = [] } = Y6.decode(ke(r));
return harden(o.map(z6.toJSON));
}
harden(vy);
var au = Ae("IcaAccountKit"),
Z6 = "UNPARSABLE_CHAIN_ADDRESS",
X6 = s.interface("IcaAccount", {
getAddress: s.call().returns(je),
getLocalAddress: s.call().returns(s.string()),
getRemoteAddress: s.call().returns(s.string()),
getPort: s.call().returns(s.remotable("Port")),
executeTx: s.call(s.arrayOf(s.record())).returns(le),
executeEncodedTx: s.call(s.arrayOf(ks)).optional(zl).returns(le),
deactivate: s.call().returns(le),
reactivate: s.call().returns(le),
}),
uA = (e, { watch: t, asVow: r }) =>
e.exoClassKit(
"IcaAccountKit",
{
account: X6,
connectionHandler: Gl,
parseTxPacketWatcher: s.interface("ParseTxPacketWatcher", {
onFulfilled: s
.call(s.string())
.optional(s.arrayOf(s.undefined()))
.returns(s.string()),
}),
},
(o, n, a) => ({
chainId: o,
port: n,
connection: void 0,
requestedRemoteAddress: a,
remoteAddress: void 0,
chainAddress: void 0,
localAddress: void 0,
isInitiatingClose: !1,
}),
{
parseTxPacketWatcher: {
onFulfilled(o) {
return su(o);
},
},
account: {
getAddress() {
return Lr(
this.state.chainAddress,
"ICA channel creation acknowledgement not yet received.",
);
},
getLocalAddress() {
return Lr(
this.state.localAddress,
"local address not available",
);
},
getRemoteAddress() {
return Lr(
this.state.remoteAddress,
"remote address not available",
);
},
getPort() {
return this.state.port;
},
executeTx() {
return r(() => f`not yet implemented`);
},
executeEncodedTx(o, n = {}) {
return r(() => {
let { connection: a } = this.state;
if (!a) throw f`Account not available or deactivated.`;
let { sendOpts: i, txOpts: c, ...d } = n,
l = { ...d, ...c };
return t(
O(a).send(hy(o, l), i),
this.facets.parseTxPacketWatcher,
);
});
},
deactivate() {
return r(() => {
let { connection: o } = this.state;
if (!o) throw f`Account not available or deactivated.`;
return ((this.state.isInitiatingClose = !0), O(o).close());
});
},
reactivate() {
return r(() => {
let {
connection: o,
port: n,
requestedRemoteAddress: a,
} = this.state;
if (o) throw f`Account is already active.`;
return t(O(n).connect(a, this.facets.connectionHandler));
});
},
},
connectionHandler: {
async onOpen(o, n, a) {
(au(`ICA Channel Opened for ${n} at ${a}`),
(this.state.connection = o),
(this.state.remoteAddress = a),
(this.state.localAddress = n));
let i = Vf(a);
(i ||
console.error(
"\u26A0\uFE0F failed to parse chain address",
a,
),
(this.state.chainAddress = harden({
value: i || Z6,
chainId: this.state.chainId,
encoding: "bech32",
})));
},
async onClose(o, n) {
(au(`ICA Channel closed. Reason: ${n}`),
(this.state.connection = void 0),
(this.state.localAddress = void 0),
(this.state.remoteAddress = void 0),
this.state.isInitiatingClose === !0
? (au(
"Account deactivated by holder. Skipping reactivation.",
),
(this.state.isInitiatingClose = !1))
: (au(
"Account closed unexpectedly. Automatically reactivating.",
),
t(this.facets.account.reactivate())));
},
},
},
);
var pA = Ae("Orchestration:ICQConnection"),
eD = s.interface("ICQConnection", {
getLocalAddress: s.call().returns(s.string()),
getRemoteAddress: s.call().returns(s.string()),
query: s.call(s.arrayOf(Mc)).returns(le),
}),
mA = (e, { watch: t, asVow: r }) =>
e.exoClassKit(
"ICQConnectionKit",
{
connection: eD,
connectionHandler: Gl,
parseQueryPacketWatcher: s.interface("ParseQueryPacketWatcher", {
onFulfilled: s
.call(s.string())
.optional(s.arrayOf(s.undefined()))
.returns(s.arrayOf(s.record())),
}),
},
(o) => ({
port: o,
connection: void 0,
remoteAddress: void 0,
localAddress: void 0,
}),
{
connection: {
getLocalAddress() {
return Lr(
this.state.localAddress,
"local address not available",
);
},
getRemoteAddress() {
return Lr(
this.state.remoteAddress,
"remote address not available",
);
},
query(o) {
return r(() => {
let { connection: n } = this.state;
if (!n) throw f`connection not available`;
return t(
O(n).send(by(o)),
this.facets.parseQueryPacketWatcher,
);
});
},
},
parseQueryPacketWatcher: {
onFulfilled(o) {
return vy(o);
},
},
connectionHandler: {
async onOpen(o, n, a) {
(pA(`ICQ Channel Opened for ${n} at ${a}`),
(this.state.connection = o),
(this.state.remoteAddress = a),
(this.state.localAddress = n));
},
async onClose(o, n) {
pA(`ICQ Channel closed. Reason: ${n}`);
},
},
},
);
var { Vow$: iu } = dt,
tD = (e, t) => `${e}:${t || Kf}`,
rD = (e, { watch: t, asVow: r }, o, n) =>
e.exoClassKit(
"Orchestration",
{
requestICAChannelWatcher: s.interface("RequestICAChannelWatcher", {
onFulfilled: s
.call(s.remotable("Port"))
.optional({ chainId: s.string(), remoteConnAddr: s.string() })
.returns(iu(dt.Connection)),
}),
requestICQChannelWatcher: s.interface("RequestICQChannelWatcher", {
onFulfilled: s
.call(s.remotable("Port"))
.optional({
remoteConnAddr: s.string(),
icqLookupKey: s.string(),
})
.returns(iu(dt.Connection)),
}),
channelOpenWatcher: s.interface("ChannelOpenWatcher", {
onFulfilled: s
.call(s.remotable("Connection"))
.optional(
s.splitRecord(
{ connectionKit: s.record(), returnFacet: s.string() },
{ icqLookupKey: s.string() },
),
)
.returns(s.remotable("ConnectionKit Holder facet")),
}),
public: s.interface("CosmosInterchainService", {
makeAccount: s
.call(s.string(), s.string(), s.string())
.optional(s.record())
.returns(iu(s.remotable("IcaAccountKit"))),
provideICQConnection: s
.call(s.string())
.optional(s.string())
.returns(iu(s.remotable("ICQConnection"))),
}),
},
(a) => (
Be(a?.portAllocator, s.remotable("PortAllocator")),
{
icqConnections: e.detached().mapStore("ICQConnections"),
sharedICQPort: void 0,
reserved: void 0,
...a,
}
),
{
requestICAChannelWatcher: {
onFulfilled(a, { chainId: i, remoteConnAddr: c }) {
let d = o(i, a, c);
return t(
O(a).connect(c, d.connectionHandler),
this.facets.channelOpenWatcher,
{ returnFacet: "account", connectionKit: d },
);
},
},
requestICQChannelWatcher: {
onFulfilled(a, { remoteConnAddr: i, icqLookupKey: c }) {
this.state.sharedICQPort || (this.state.sharedICQPort = a);
let d = n(a);
return t(
O(a).connect(i, d.connectionHandler),
this.facets.channelOpenWatcher,
{
connectionKit: d,
returnFacet: "connection",
icqLookupKey: c,
},
);
},
},
channelOpenWatcher: {
onFulfilled(
a,
{ connectionKit: i, returnFacet: c, icqLookupKey: d },
) {
return (d && this.state.icqConnections.init(d, i), i[c]);
},
},
public: {
makeAccount(a, i, c, d) {
let l = Ff(i, c, d),
{ portAllocator: u } = this.state;
return t(
O(u).allocateICAControllerPort(),
this.facets.requestICAChannelWatcher,
{ chainId: a, remoteConnAddr: l },
);
},
provideICQConnection(a, i) {
let c = tD(a, i);
if (this.state.icqConnections.has(c))
return r(() => this.state.icqConnections.get(c).connection);
let d = Jf(a, i),
{ portAllocator: l, sharedICQPort: u } = this.state,
p = u || O(l).allocateICQControllerPort();
return t(p, this.facets.requestICQChannelWatcher, {
remoteConnAddr: d,
icqLookupKey: c,
});
},
},
},
{
stateShape: {
icqConnections: s.remotable("icqConnections mapStore"),
sharedICQPort: s.or(s.remotable("Port"), s.undefined()),
portAllocator: s.remotable("PortAllocator"),
reserved: s.any(),
},
},
),
oD = (e, t) => {
let r = uA(e, t),
o = mA(e, t),
n = rD(e, t, r, o);
return Pr(n, "public");
};
harden(oD);
du();
No();
function cD(e, t, r, o) {
if (typeof e.setBigUint64 == "function") return e.setBigUint64(t, r, o);
let n = BigInt(32),
a = BigInt(4294967295),
i = Number((r >> n) & a),
c = Number(r & a),
d = o ? 4 : 0,
l = o ? 0 : 4;
(e.setUint32(t + d, i, o), e.setUint32(t + l, c, o));
}
var hA = (e, t, r) => (e & t) ^ (~e & r),
bA = (e, t, r) => (e & t) ^ (e & r) ^ (t & r),
mu = class extends ti {
constructor(t, r, o, n) {
(super(),
(this.blockLen = t),
(this.outputLen = r),
(this.padOffset = o),
(this.isLE = n),
(this.finished = !1),
(this.length = 0),
(this.pos = 0),
(this.destroyed = !1),
(this.buffer = new Uint8Array(t)),
(this.view = lu(this.buffer)));
}
update(t) {
ei(this);
let { view: r, buffer: o, blockLen: n } = this;
t = ri(t);
let a = t.length;
for (let i = 0; i < a; ) {
let c = Math.min(n - this.pos, a - i);
if (c === n) {
let d = lu(t);
for (; n <= a - i; i += n) this.process(d, i);
continue;
}
(o.set(t.subarray(i, i + c), this.pos),
(this.pos += c),
(i += c),
this.pos === n && (this.process(r, 0), (this.pos = 0)));
}
return ((this.length += t.length), this.roundClean(), this);
}
digestInto(t) {
(ei(this), cu(t, this), (this.finished = !0));
let { buffer: r, view: o, blockLen: n, isLE: a } = this,
{ pos: i } = this;
((r[i++] = 128),
this.buffer.subarray(i).fill(0),
this.padOffset > n - i && (this.process(o, 0), (i = 0)));
for (let p = i; p < n; p++) r[p] = 0;
(cD(o, n - 8, BigInt(this.length * 8), a), this.process(o, 0));
let c = lu(t),
d = this.outputLen;
if (d % 4)
throw new Error("_sha2: outputLen should be aligned to 32bit");
let l = d / 4,
u = this.get();
if (l > u.length)
throw new Error("_sha2: outputLen bigger than state");
for (let p = 0; p < l; p++) c.setUint32(4 * p, u[p], a);
}
digest() {
let { buffer: t, outputLen: r } = this;
this.digestInto(t);
let o = t.slice(0, r);
return (this.destroy(), o);
}
_cloneInto(t) {
(t || (t = new this.constructor()), t.set(...this.get()));
let {
blockLen: r,
buffer: o,
length: n,
finished: a,
destroyed: i,
pos: c,
} = this;
return (
(t.length = n),
(t.pos = c),
(t.finished = a),
(t.destroyed = i),
n % r && t.buffer.set(o),
t
);
}
};
No();
var dD = new Uint32Array([
1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993,
2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987,
1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774,
264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986,
2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711,
113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291,
1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411,
3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344,
430227734, 506948616, 659060556, 883997877, 958139571, 1322822218,
1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424,
2428436474, 2756734187, 3204031479, 3329325298,
]),
Vn = new Uint32Array([
1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924,
528734635, 1541459225,
]),
Hn = new Uint32Array(64),
wy = class extends mu {
constructor() {
(super(64, 32, 8, !1),
(this.A = Vn[0] | 0),
(this.B = Vn[1] | 0),
(this.C = Vn[2] | 0),
(this.D = Vn[3] | 0),
(this.E = Vn[4] | 0),
(this.F = Vn[5] | 0),
(this.G = Vn[6] | 0),
(this.H = Vn[7] | 0));
}
get() {
let { A: t, B: r, C: o, D: n, E: a, F: i, G: c, H: d } = this;
return [t, r, o, n, a, i, c, d];
}
set(t, r, o, n, a, i, c, d) {
((this.A = t | 0),
(this.B = r | 0),
(this.C = o | 0),
(this.D = n | 0),
(this.E = a | 0),
(this.F = i | 0),
(this.G = c | 0),
(this.H = d | 0));
}
process(t, r) {
for (let p = 0; p < 16; p++, r += 4) Hn[p] = t.getUint32(r, !1);
for (let p = 16; p < 64; p++) {
let y = Hn[p - 15],
b = Hn[p - 2],
m = zr(y, 7) ^ zr(y, 18) ^ (y >>> 3),
v = zr(b, 17) ^ zr(b, 19) ^ (b >>> 10);
Hn[p] = (v + Hn[p - 7] + m + Hn[p - 16]) | 0;
}
let { A: o, B: n, C: a, D: i, E: c, F: d, G: l, H: u } = this;
for (let p = 0; p < 64; p++) {
let y = zr(c, 6) ^ zr(c, 11) ^ zr(c, 25),
b = (u + y + hA(c, d, l) + dD[p] + Hn[p]) | 0,
v = ((zr(o, 2) ^ zr(o, 13) ^ zr(o, 22)) + bA(o, n, a)) | 0;
((u = l),
(l = d),
(d = c),
(c = (i + b) | 0),
(i = a),
(a = n),
(n = o),
(o = (b + v) | 0));
}
((o = (o + this.A) | 0),
(n = (n + this.B) | 0),
(a = (a + this.C) | 0),
(i = (i + this.D) | 0),
(c = (c + this.E) | 0),
(d = (d + this.F) | 0),
(l = (l + this.G) | 0),
(u = (u + this.H) | 0),
this.set(o, n, a, i, c, d, l, u));
}
roundClean() {
Hn.fill(0);
}
destroy() {
(this.set(0, 0, 0, 0, 0, 0, 0, 0), this.buffer.fill(0));
}
};
var Py = pu(() => new wy());
var vA = (e, t, r) => {
let o = (i, c) => {
if (c === void 0) return n(i);
try {
return n(i);
} catch (d) {
Jr(d, c);
}
},
n = (i) => {
if (Je(i)) return i;
let c = ce(i);
switch (c) {
case "copyArray":
return i.map((d, l) => o(d, l));
case "copyRecord":
return Ne(i, (d, l) => o(d, l));
case "tagged": {
if (cr(i)) return t(i);
let d = $e(i),
{ payload: l } = i;
return Ce(d, o(l, `${d} payload`));
}
case "error":
return r(i);
case "remotable":
return e(i);
case "promise":
return t(i);
default:
throw f`unexpected passStyle ${x(c)}`;
}
},
a = (i, c = void 0) => o(harden(i), c);
return harden(a);
},
ky = (e, t, r) => {
let o = vA(
(a) => {
if (e.hasGuest(a)) return e.guestToHost(a);
throw f`cannot yet send guest remotables ${a}`;
},
(a) => {
if (e.hasGuest(a)) return e.guestToHost(a);
throw f`cannot yet send guest promises ${a}`;
},
(a) => {
let i = harden(Se(a.message, br(a.name)));
return (Ze(i, V`from guest error ${a}`), i);
},
),
n = vA(
(a) => {
if (e.hasHost(a)) return e.hostToGuest(a);
let i = t(a);
return e.unwrapInit(i, a);
},
(a) => {
if (e.hasHost(a)) return e.hostToGuest(a);
let i = r(a);
return e.unwrapInit(i, a);
},
(a) => {
let i = harden(Se(a.message, br(a.name)));
return (Ze(i, V`from host error ${a}`), i);
},
);
return harden({ guestToHost: o, hostToGuest: n });
};
harden(ky);
var { is: lD } = Object,
Iy = (e) => {
let t = (o, n, a) => {
a === void 0 && r(o, n);
try {
r(o, n);
} catch (i) {
Jr(i, a);
}
},
r = (o, n) => {
if (Je(o)) {
lD(o, n) || f`unequal ${o} vs ${n}`;
return;
}
if (e.hasGuest(o) && e.guestToHost(o) === n) return;
let a = ce(o);
if (a === "promise" && cr(n))
throw f`guest promises not yet passable`;
let i = ce(n);
switch ((a === i || f`unequal passStyles ${x(a)} vs ${x(i)}`, a)) {
case "copyArray": {
(t(o.length, n.length, "length"),
o.forEach((c, d) => t(c, n[d], d)));
return;
}
case "copyRecord": {
let c = Ft(o),
d = Ft(n);
t(c, d, "propertyNames");
for (let l of c) t(o[l], n[l], l);
return;
}
case "tagged": {
(t($e(o), $e(n), "tag"), t(o.payload, n.payload, "payload"));
return;
}
case "error": {
(t(o.name, n.name, "error name"),
Ze(o, V`replay of error ${n}`),
Ze(n, V`replayed as error ${o}`));
return;
}
case "remotable":
throw f`cannot yet send guest remotables to host ${o} vs ${n}`;
case "promise":
throw f`cannot yet send guest promises to host ${o} vs ${n}`;
default:
throw f`unexpected passStyle ${x(a)}`;
}
};
return harden(t);
};
harden(Iy);
var { fromEntries: uD, defineProperties: SA, assign: pD } = Object,
Ty = (e) => {
let t = Object.fromEntries(
Object.entries(e).filter(([r]) => !r.startsWith("__")),
);
return mD(t);
},
mD = ({
log: e,
bijection: t,
vowTools: r,
watchWake: o,
panic: n,
__eventualSendForTesting: a,
}) => {
let { when: i, makeVowKit: c } = r,
d = Iy(t),
l = new WeakMap(),
u = !1,
p = (W, ...Y) => n(Se(V(W, ...Y))),
y = (W) => {
(Number.isSafeInteger(W) ||
f`generation expected integer; got ${W}`,
W >= 0 || f`generation expected non-negative; got ${W}`);
},
b = (W, Y) => {
let j = D(W),
X = l.get(j);
(!X || X === "settled") &&
f`doFulfill should only be called on a registered unresolved promise`;
let z = D(Y);
(X.resolve(z), l.set(j, "settled"));
},
m = (W, Y) => {
let j = D(W),
X = l.get(j);
(!X || X === "settled") &&
f`doReject should only be called on a registered unresolved promise`;
let z = D(Y);
(X.reject(z), l.set(j, "settled"));
},
v = (W, Y) => {
ne(W);
let j = D(Y);
return harden({ kind: "return", result: j });
},
h = (W, Y) => {
ne(W);
let j = D(Y);
return harden({ kind: "throw", problem: j });
},
g = (W, Y, j, X) => {
let z;
try {
((z = Y ? W[Y](...j) : W(...j)),
D(z, `converting ${Y || "host"} result`));
} catch (te) {
return N(T, harden(["doThrow", X, te]));
}
return N(T, harden(["doReturn", X, z]));
},
S = (W, Y, j, X) => {
if (u || !t.hasGuest(W)) {
let te =
F.length === 0 ? "" : ` with non-empty callstack ${x(F)};`;
f`Called from a previous run: ${W}${tt(te)}`;
}
let z;
try {
let te = harden(["checkCall", W, Y, j, X]);
if (e.isReplaying()) {
let oe = e.nextEntry();
(d(
te,
oe,
`replay ${X}:
${x(te)}
vs ${x(oe)}
`,
),
(z = q(X)));
} else {
let oe = U(te);
e.pushEntry(oe);
let [ie, ...ue] = oe;
(q(X), (z = g(...ue)));
}
} catch (te) {
throw n(te);
}
switch (z.kind) {
case "return":
return z.result;
case "throw":
throw z.problem;
default:
throw p`unexpected outcome kind ${x(z.kind)}`;
}
},
w = (W, Y, j) => {
try {
Y === void 0 ? Kn.sendOnly(W)(...j) : Kn.sendOnly(W)[Y](...j);
} catch (X) {
throw p`internal: eventual sendOnly synchronously failed ${X}`;
}
},
I = (W, Y, j, X, z, te) => {
let { vow: oe, resolver: ie } = z;
try {
let ue = Y === void 0 ? Kn(W)(...j) : Kn(W)[Y](...j);
ie.resolve(ue);
} catch (ue) {
throw p`internal: eventual send synchronously failed ${ue}`;
}
try {
let ue = harden(["doReturn", X, oe]);
e.pushEntry(ue);
let ge = k(oe, te);
return (v(X, oe), harden({ kind: "return", result: ge }));
} catch (ue) {
throw n(ue);
}
},
E = harden({
applyMethodSendOnly(W, Y, j) {
a ||
p`guest eventual applyMethodSendOnly not yet supported: ${W}.${tt(Y)}`;
let X = e.getIndex();
(u || !t.hasGuest(W)) && f`Sent from a previous run: ${W}`;
try {
let z = harden(["checkSendOnly", W, Y, j, X]);
if (e.isReplaying()) {
let te = e.nextEntry();
try {
d(z, te);
} catch (oe) {
Jr(
oe,
`replay ${X}:
${x(z)}
vs ${x(te)}
`,
);
}
} else {
let te = U(z);
e.pushEntry(te);
let [oe, ie, ue, ge, Fe] = te;
w(ie, Y, ge);
}
} catch (z) {
throw n(z);
}
},
applyMethod(W, Y, j, X) {
a ||
p`guest eventual applyMethod not yet supported: ${W}.${tt(Y)} -> ${tt(X)}`;
let z = e.getIndex();
(u || !t.hasGuest(W)) && f`Sent from a previous run: ${W}`;
let te = c(),
oe = t.unwrapInit(X, te.vow);
oe === X ||
f`internal: guestReturnedP should not unwrap: ${oe} vs ${X}`;
let ie;
try {
let ue = harden(["checkSend", W, Y, j, z]);
if (e.isReplaying()) {
let ge = e.nextEntry();
try {
d(ue, ge);
} catch (Fe) {
Jr(
Fe,
`replay ${z}:
${x(ue)}
vs ${x(ge)}
`,
);
}
ie = q(z);
} else {
let ge = U(ue);
e.pushEntry(ge);
let [Fe, Ke, vt, tr, Gt] = ge;
(q(z), (ie = I(Ke, Y, tr, z, te, X)));
}
} catch (ue) {
throw n(ue);
}
switch (ie.kind) {
case "return":
return ie.result;
case "throw":
throw ie.problem;
default:
throw p`unexpected outcome kind ${x(ie.kind)}`;
}
},
applyFunctionSendOnly(W, Y) {
return (
a ||
p`guest eventual applyFunctionSendOnly not yet supported: ${W}`,
E.applyMethodSendOnly(W, void 0, Y)
);
},
applyFunction(W, Y, j) {
return (
a ||
p`guest eventual applyFunction not yet supported: ${W} -> ${tt(j)}`,
E.applyMethod(W, void 0, Y, j)
);
},
getSendOnly(W, Y) {
throw p`guest eventual getSendOnly not yet supported: ${W}.${tt(Y)}`;
},
get(W, Y, j) {
throw p`guest eventual get not yet supported: ${W}.${tt(Y)} -> ${tt(j)}`;
},
}),
K = (W, Y) => {
let j;
if (
(new HandledPromise((z, te, oe) => {
j = oe(E);
}),
typeof j != "object")
)
throw f`presence expected to be object ${j}`;
pD(j, uD(Y));
let X = Ia(W, void 0, j);
return (
X === j ||
f`Remotable expected to make presence in place: ${j} vs ${X}`,
X
);
},
J = () => {
let W,
Y,
j = new HandledPromise((X, z, te) => {
((W = X), (Y = z));
}, E);
return harden({ promise: j, resolve: W, reject: Y });
},
P = (W) => {
let Y,
j = (te = void 0) => {
let oe = (...ie) => {
let ue = e.getIndex();
return S(Y, te, ie, ue);
};
return (
te
? SA(oe, {
name: { value: String(W[te].name || te) },
length: { value: Number(W[te].length || 0) },
})
: SA(oe, {
name: { value: String(W.name || "anon") },
length: { value: Number(W.length || 0) },
}),
oe
);
},
z = `${String(po(W) || "remotable")} guest wrapper`;
if (typeof W == "function")
throw (
(Y = Ia(z, void 0, j())),
f`host far functions not yet passable`
);
{
let oe = _r(W).map((ie) => [ie, j(ie)]);
Y = K(z, oe);
}
return ((W = void 0), Y);
};
harden(P);
let k = (W, Y = void 0) => {
cr(W) || f`vow expected ${W}`;
let { promise: j, resolve: X, reject: z } = J();
return (
(Y ??= j),
l.set(Y, harden({ resolve: X, reject: z })),
o(W),
i(
W,
async (te) => {
if (
(await e.promiseReplayDone(), !u && l.get(Y) !== "settled")
) {
let oe = harden(["doFulfill", W, te]);
e.pushEntry(oe);
try {
R(_, oe);
} catch {}
}
},
async (te) => {
if (
(await e.promiseReplayDone(), !u && l.get(Y) !== "settled")
) {
let oe = harden(["doReject", W, te]);
e.pushEntry(oe);
try {
R(_, oe);
} catch {}
}
},
),
j
);
};
harden(k);
let { guestToHost: U, hostToGuest: D } = ky(t, P, k),
_ = harden({ startGeneration: y, doFulfill: b, doReject: m }),
T = harden({ doReturn: v, doThrow: h }),
R = (W, [Y, ...j]) => {
try {
return (Y in W || f`unexpected dispatch op: ${x(Y)}`, W[Y](...j));
} catch (X) {
throw n(X);
}
},
N = (W, Y) => (e.pushEntry(Y), R(W, Y)),
F = [],
H = !1,
q = (W) => {
for (F.push(W); e.isReplaying() && !u; ) {
let Y = e.nextUnfilteredEntry(),
j = R(T, Y);
if (H)
return (
j || f`only unnest with an outcome: ${x(Y[0])}`,
(H = !1),
j
);
}
H = !1;
},
ne = (W) => {
(!u || f`This membrane stopped. Restart with new membrane ${L}`,
F.length >= 1 || f`Unmatched unnest: ${x(W)}`);
let Y = F.pop();
(Y === W || f`Unexpected unnest: ${x(W)} vs ${x(Y)}`,
(H = !0),
F.length === 0 && O.when(void 0, ee));
},
ee = () => {
for (; e.isReplaying() && !u; ) {
F.length === 0 || f`wake only with empty callStack: ${x(F)}`;
let W = e.peekEntry();
if (!(W[0] in _)) return;
(e.nextUnfilteredEntry(), R(_, W));
}
},
L = se("replayMembrane", {
hostToGuest: D,
guestToHost: U,
wake: ee,
stop: () => {
u = !0;
},
});
return L;
};
harden(Ty);
var xA = s.or("Running", "Sleeping", "Replaying", "Failed", "Done"),
oi = s.or(s.string(), s.symbol()),
Bo = s.or(
["startGeneration", s.number()],
["doFulfill", le, s.any()],
["doReject", le, s.any()],
["doReturn", s.number(), s.any()],
["doThrow", s.number(), s.any()],
[
"checkCall",
s.remotable("host target"),
s.opt(oi),
s.arrayOf(s.any()),
s.number(),
],
[
"checkSendOnly",
s.or(s.remotable("host target"), le),
s.opt(oi),
s.arrayOf(s.any()),
s.number(),
],
[
"checkSend",
s.or(s.remotable("host target"), le),
s.opt(oi),
s.arrayOf(s.any()),
s.number(),
],
);
var ni = (e) => {
let t = new WeakMap();
return harden({
for(r) {
return (t.has(r) || t.set(r, e(r)), t.get(r));
},
resetFor(r) {
return t.delete(r);
},
});
};
harden(ni);
var fD = s.interface("LogStore", {
reset: s.call().returns(),
dispose: s.call().returns(),
getUnfilteredIndex: s.call().returns(s.number()),
getIndex: s.call().returns(s.number()),
getLength: s.call().returns(s.number()),
isReplaying: s.call().returns(s.boolean()),
peekEntry: s.call().returns(Bo),
nextEntry: s.call().returns(Bo),
nextUnfilteredEntry: s.call().returns(Bo),
pushEntry: s.call(Bo).returns(s.number()),
dumpUnfiltered: s.call().returns(s.arrayOf(Bo)),
dump: s.call().returns(s.arrayOf(Bo)),
promiseReplayDone: s.call().returns(s.promise()),
}),
yD = (e) => {
let t = e.mapStore("LogStoreMetadata"),
r = "generation";
if (!t.has(r)) return (t.init(r, 0), 0);
let o = t.get(r) + 1;
return (t.set(r, o), o);
},
AA = (e) => {
let t = harden([["startGeneration", yD(e)]]),
r = (n) => n[0] !== "startGeneration",
o = ni((n) => {
let a = {
index: 0,
unfilteredIndex: 0,
initialPush: t,
replayDoneKit: xt(),
};
return (n.getLength() === 0 && a.replayDoneKit.resolve(void 0), a);
});
return e.exoClass(
"LogStore",
fD,
() => ({
mapStore: e
.detached()
.mapStore("logMapStore", {
keyShape: s.number(),
valueShape: Bo,
}),
}),
{
reset() {
let { self: n } = this;
o.resetFor(n);
},
dispose() {
let { state: n, self: a } = this,
{ mapStore: i } = n;
(o.resetFor(a), i.clear());
},
getUnfilteredIndex() {
let { self: n } = this;
return o.for(n).unfilteredIndex;
},
getIndex() {
let { self: n } = this;
return o.for(n).index;
},
getLength() {
let { state: n } = this,
{ mapStore: a } = n;
return a.getSize();
},
isReplaying() {
let { state: n, self: a } = this,
{ mapStore: i } = n;
return o.for(a).unfilteredIndex < i.getSize();
},
peekEntry() {
let { state: n, self: a } = this,
{ mapStore: i } = n,
c = o.for(a);
return (
a.isReplaying() ||
f`No longer replaying: ${x(c.unfilteredIndex)} vs ${x(i.getSize())}`,
i.get(c.unfilteredIndex)
);
},
nextUnfilteredEntry() {
let { self: n } = this,
a = o.for(n),
i = n.peekEntry();
return (
(a.unfilteredIndex += 1),
r(i) && (a.index += 1),
n.isReplaying() || a.replayDoneKit.resolve(void 0),
i
);
},
nextEntry() {
let { self: n } = this,
a = n.nextUnfilteredEntry();
for (; !r(a); )
(n.isReplaying() || f`Unexpected entry at log tail: ${a}`,
(a = n.nextUnfilteredEntry()));
return a;
},
pushEntry(n) {
let { state: a, self: i } = this,
{ mapStore: c } = a,
d = o.for(i);
!i.isReplaying() ||
f`still replaying: ${x(d.unfilteredIndex)} vs ${x(c.getSize())}`;
let l = (u) => {
(d.unfilteredIndex === c.getSize() ||
f`internal: unfilteredIndex confusion ${x(d.unfilteredIndex)} vs ${x(c.getSize())}`,
c.init(d.unfilteredIndex, u),
(d.unfilteredIndex += 1),
r(u) && (d.index += 1),
d.unfilteredIndex === c.getSize() ||
f`internal: unfilteredIndex confusion ${x(d.unfilteredIndex)} vs ${x(c.getSize())}`);
};
if (d.initialPush) {
let u = d.initialPush;
d.initialPush = void 0;
for (let p of u) l(p);
}
return (l(n), d.unfilteredIndex);
},
dumpUnfiltered() {
let { state: n } = this,
{ mapStore: a } = n,
i = a.getSize(),
c = [];
for (let d = 0; d < i; d += 1) c.push(a.get(d));
return harden(c);
},
dump() {
let { self: n } = this;
return harden(n.dumpUnfiltered().filter(r));
},
promiseReplayDone() {
let { self: n } = this;
return o.for(n).replayDoneKit.promise;
},
},
);
};
var gD = s.interface("Bijection", {
reset: s.call().returns(),
unwrapInit: s.call(s.raw(), s.any()).returns(s.raw()),
hasGuest: s.call(s.raw()).returns(s.boolean()),
hasHost: s.call(s.any()).returns(s.boolean()),
has: s.call(s.raw(), s.any()).returns(s.boolean()),
guestToHost: s.call(s.raw()).returns(s.any()),
hostToGuest: s.call(s.any()).returns(s.raw()),
}),
Uy = (e) => (or(e) ? ht(e) : e),
wA = (e) => {
let t = new Map();
return se(e, {
init: (r, o) => {
let n = Uy(r);
(!t.has(n) ||
f`${tt(e)} key already bound: ${r} -> ${t.get(n)} vs ${o}`,
t.set(n, o));
},
has: (r) => t.has(Uy(r)),
get: (r) => {
let o = Uy(r);
return (t.has(o) || f`${tt(e)} key not found: ${r}`, t.get(o));
},
});
},
Cy = (e, t = (r, o) => o) => {
let r = ni(() => wA("guestToHost")),
o = ni(() => wA("hostToGuest"));
return e.exoClass("Bijection", gD, () => ({}), {
reset() {
let { self: n } = this;
(r.resetFor(n), o.resetFor(n));
},
unwrapInit(n, a) {
harden(n);
let { self: i } = this,
c = r.for(i),
d = o.for(i),
l = t(a, n);
return (
!d.has(a) ||
f`hostToGuest key already bound: ${a} -> ${d.get(a)} vs ${l}`,
c.init(l, a),
d.init(a, l),
i.has(l, a) || f`internal: ${n} <-> ${a}`,
n !== l &&
(!c.has(n) || f`hidden guest wrapper already bound ${n}`,
c.init(n, a)),
l
);
},
hasGuest(n) {
harden(n);
let { self: a } = this;
return r.for(a).has(n);
},
hasHost(n) {
let { self: a } = this;
return o.for(a).has(n);
},
has(n, a) {
harden(n);
let { self: i } = this,
c = r.for(i),
d = o.for(i);
return c.has(n)
? (ht(c.get(n)) === ht(a) ||
f`internal: g->h ${n} -> ${a} vs ${c.get(n)}`,
d.get(a) === n || f`internal h->g: ${a} -> ${n} vs ${d.get(a)}`,
!0)
: (!d.has(a) || f`internal: unexpected h->g ${a} -> ${d.get(a)}`,
!1);
},
guestToHost(n) {
harden(n);
let { self: a } = this;
return r.for(a).get(n);
},
hostToGuest(n) {
let { self: a } = this;
return o.for(a).get(n);
},
});
};
harden(Cy);
var {
getOwnPropertyDescriptor: hD,
getOwnPropertyDescriptors: bD,
create: vD,
fromEntries: IA,
entries: TA,
prototype: SD,
} = Object,
{ ownKeys: PA } = Reflect,
xD = s.interface("FunctionWrapper", {
apply: s.call(s.array()).returns(s.any()),
}),
AD = s.interface("StateAccessor", {
get: s.call(oi).returns(s.any()),
set: s.call(oi, s.any()).returns(),
}),
kA = s.interface("Unwrapper", {
unwrap: s.call(s.remotable("guestWrapped")).returns(s.raw()),
}),
wD = (e) => {
let t = e[us](),
r = (o) =>
TA({
[o](...n) {
return e[o](...n);
},
})[0];
return IA(t.map(r));
},
Ry = (e, t = {}) => {
let { vowTools: r = Fn(e) } = t,
{ makeVowKit: o } = r,
n = e.exo("FunctionUnwrapper", kA, {
unwrap(b) {
return se("UnwrappedFunction", (...m) => b.apply(m));
},
}),
a = e.exoClass("StateUnwrapper", kA, (b) => ({ keys: b }), {
unwrap(b) {
let { state: m } = this,
{ keys: v } = m;
return harden(
vD(
SD,
IA(
v.flatMap((h) =>
TA(
bD({
get [h]() {
return b.get(h);
},
set [h](g) {
b.set(h, g);
},
}),
),
),
),
),
);
},
}),
i = (b) => {
if ((harden(b), rr(b))) return "promise";
if (e.isStorable(b)) return "storable";
if (or(b) && Ki(b)) return "far";
if (typeof b == "function") return "function";
if (typeof b == "object") {
if (b === null) throw f`internal: null is always storable`;
if (Array.isArray(b)) return "array";
let m = PA(b);
m.length >= 1 || f`empty record should be storable ${b}`;
let v = hD(b, m[0]);
return "value" in v
? "record"
: ("get" in v || f`internal: unexpected descriptor ${v}`,
"state");
} else throw f`unexpected endowment ${b}`;
};
harden(i);
let c = e.weakMapStore("unwrapMap", {
keyShape: s.remotable("wrapped"),
valueShape: s.remotable("unwrapper"),
}),
d = (b) => (cr(b) || Ki(b) ? c.has(ht(b)) : !1),
l = (b) => c.get(ht(b)),
u = (b, m) => {
let v = ht(b);
d(b) ? c.set(v, m) : c.init(v, m);
},
p = (b, m, v) => {
switch (i(v)) {
case "promise": {
let g = v,
{ vow: S, resolver: w } = o();
return (
O.when(
g,
(I) => {
w.resolve(I);
},
(I) => {
Bn(I) || w.reject(I);
},
),
S
);
}
case "storable":
return v;
case "far": {
let S = wD(v);
return b.exo(
m,
s.interface("FarWrapped", {}, { defaultGuards: "raw" }),
S,
);
}
case "function": {
let g = v,
S = b.exo(m, xD, {
apply(w) {
return g(...w);
},
});
return (u(S, n), S);
}
case "array": {
let g = v,
S = b.subZone(m);
return g.map((w, I) => p(S, `${I}`, w));
}
case "record": {
let g = v,
S = b.subZone(m);
return Ne(g, (w, I) => p(S, String(I), w));
}
case "state": {
let g = v,
S = harden(PA(g)),
w = b.exo(m, AD, {
get(E) {
return g[E];
},
set(E, K) {
g[E] = K;
},
}),
I = a(S);
return (u(w, I), w);
}
default:
throw f`unexpected endowment ${v}`;
}
},
y = (b, m) => (d(b) ? l(b).unwrap(m) : m);
return harden({ prepareEndowment: p, unwrap: y });
};
harden(Ry);
var { defineProperties: PD } = Object,
kD = harden({
flow: s.interface("Flow", {
getFlowState: s.call().returns(xA),
restart: s.call().optional(s.boolean()).returns(),
wake: s.call().returns(),
getOutcome: s.call().returns(le),
dump: s.call().returns(s.arrayOf(Bo)),
getOptFatalProblem: s.call().returns(s.opt(s.error())),
}),
admin: s.interface("FlowAdmin", {
reset: s.call().returns(),
complete: s.call().returns(),
panic: s.call(s.error()).returns(s.not(s.any())),
}),
wakeWatcher: Po,
}),
ID = s.interface("AsyncFlowAdmin", {
getFailures: s
.call()
.returns(s.mapOf(s.remotable("asyncFlow"), s.error())),
wakeAll: s.call().returns(),
getFlowForOutcomeVow: s.call(le).returns(s.opt(s.remotable("flow"))),
}),
Oy = (e, t = {}) => {
let {
vowTools: r = Fn(e),
makeLogStore: o = AA(e),
endowmentTools: { prepareEndowment: n, unwrap: a } = Ry(e, {
vowTools: r,
}),
makeBijection: i = Cy(e, a),
panicHandler: c = (K) => {
throw K;
},
} = t,
{ watch: d, makeVowKit: l } = r,
u = e.mapStore("asyncFuncFailures", {
keyShape: s.remotable("flow"),
valueShape: s.error(),
}),
p = e.setStore("asyncFuncEagerWakers", {
keyShape: s.remotable("flow"),
}),
y = vs("membraneFor", {
keyShape: s.remotable("flow"),
valueShape: s.remotable("membrane"),
}),
b = (K) => y.has(K),
m = (K) => y.get(K),
v = (K, J) => y.init(K, J),
h = (K) => y.delete(K),
g = e.mapStore("flowForOutcomeVow", {
keyShape: s.remotable("toPassableCap"),
valueShape: s.remotable("flow"),
}),
S = (K, J, P, k = {}) => {
typeof P == "function" ||
f`guestAsyncFunc must be a callable function ${P}`;
let { startEager: U = !0 } = k,
D = K.exoClassKit(
J,
kD,
(T) => {
harden(T);
let R = o(),
N = i();
return {
activationArgs: T,
log: R,
bijection: N,
outcomeKit: l(),
isDone: !1,
};
},
{
flow: {
getFlowState() {
let { state: T, facets: R } = this,
{ log: N, outcomeKit: F, isDone: H } = T,
{ flow: q } = R;
return H
? (!b(q) ||
f`Done flow must drop membrane ${q} ${m(q)}`,
!u.has(q) ||
f`Done flow must not be in failures ${q} ${u.get(q)}`,
!p.has(q) ||
f`Done flow must not be in eagerWakers ${q}`,
!g.has(F.vow) ||
f`Done flow must drop flow lookup from vow ${F.vow}`,
(N.getIndex() === 0 && N.getLength() === 0) ||
f`Done flow must empty log ${q} ${N}`,
"Done")
: u.has(q)
? "Failed"
: b(q)
? N.isReplaying()
? "Replaying"
: "Running"
: (N.getIndex() === 0 ||
f`Sleeping flow must play from log start ${q} ${N.getIndex()}`,
"Sleeping");
},
restart(T = U) {
let { state: R, facets: N } = this,
{
activationArgs: F,
log: H,
bijection: q,
outcomeKit: ne,
} = R,
{ flow: ee, admin: Q, wakeWatcher: L } = N;
(ee.getFlowState() !== "Done" ||
f`Cannot restart a done flow ${ee}`,
Q.reset(),
T ? p.add(ee) : p.has(ee) && p.delete(ee));
let Y = (ie) => {
(K.isStorable(ie) ||
f`vowish must be storable in this zone (usually, must be durable): ${ie}`,
K.isStorable(L) ||
f`wakeWatcher must be storable in this zone (usually, must be durable): ${L}`,
d(ie, L));
},
j = (ie) => Q.panic(ie),
X = Ty({
log: H,
bijection: q,
vowTools: r,
watchWake: Y,
panic: j,
});
v(ee, X);
let z = X.hostToGuest(F),
te = ee.getFlowState();
(te === "Running" ||
te === "Replaying" ||
f`Restarted flow must be Running or Replaying ${ee}`,
X.wake());
let oe = (async () => P(...z))();
if (ee.getFlowState() !== "Failed") {
let ie = q.unwrapInit(oe, ne.vow);
ie === oe ||
f`internal: promises should not be unwrapped ${ie}`;
}
O.when(
oe,
(ie) => {
q.hasGuest(oe) &&
(!H.isReplaying() ||
j(
Se(
V`guest fulfilled with ${ie} before finishing replay`,
),
),
ne.resolver.resolve(X.guestToHost(ie)),
Q.complete());
},
(ie) => {
q.hasGuest(oe) &&
(!H.isReplaying() ||
j(
Se(
V`guest rejected with ${ie} before finishing replay`,
),
),
ne.resolver.reject(X.guestToHost(ie)),
Q.complete());
},
)
.then(
() => {
if (ee.getFlowState() === "Failed")
throw ee.getOptFatalProblem();
},
(ie) => {
if (ee.getFlowState() === "Failed")
throw ee.getOptFatalProblem();
let ue = Se(
V`internal: unexpected error in guest completion handling ${ie}`,
);
try {
j(ue);
} catch {
throw ue;
}
},
)
.catch(c);
},
wake() {
let { facets: T } = this,
{ flow: R } = T,
N = R.getFlowState();
switch (N) {
case "Done":
case "Failed":
return;
case "Running":
case "Replaying": {
m(R).wake();
return;
}
case "Sleeping": {
R.restart();
return;
}
default:
throw f`unexpected flowState ${x(N)}`;
}
},
getOutcome() {
let { state: T } = this,
{ outcomeKit: R } = T;
return R.vow;
},
dump() {
let { state: T } = this,
{ log: R } = T;
return R.dump();
},
getOptFatalProblem() {
let { facets: T } = this,
{ flow: R } = T;
return u.has(R) ? u.get(R) : void 0;
},
},
admin: {
reset() {
let { state: T, facets: R } = this,
{ bijection: N, log: F } = T,
{ flow: H } = R;
(!T.isDone || f`Cannot reset a done flow`,
u.has(H) && u.delete(H),
b(H) && (m(H).stop(), h(H)),
F.reset(),
N.reset());
},
complete() {
let { state: T, facets: R } = this,
{ log: N } = T,
{ flow: F, admin: H } = R;
(H.reset(),
p.has(F) && p.delete(F),
g.delete(ht(F.getOutcome())),
(T.isDone = !0),
N.dispose(),
F.getFlowState() === "Done" ||
f`Complete flow must be Done ${F}`);
},
panic(T) {
let { state: R, facets: N } = this,
{ bijection: F, log: H } = R,
{ flow: q } = N;
if (u.has(q)) {
let ee = u.get(q);
(Ze(ee, V`doubly failed somehow with ${T}`), (T = ee));
} else u.init(q, T);
(b(q) && (m(q).stop(), h(q)),
H.reset(),
F.reset(),
q.getFlowState() === "Failed" ||
f`Panicked flow must be Failed ${q}`);
let ne = Se(
V`In a Failed state: see getFailures() or getOptFatalProblem() for more information`,
);
throw (Ze(ne, V`due to ${T}`), ne);
},
},
wakeWatcher: {
onFulfilled(T) {
let { facets: R } = this;
R.flow.wake();
},
onRejected(T) {
let { facets: R } = this;
R.flow.wake();
},
},
},
),
_ = (T) => {
let R = D(T),
{ flow: N } = R,
F = N.getOutcome();
return (g.init(ht(F), N), N.restart(), R);
};
return harden(_);
},
w = (K, J, P, k = void 0) => {
let U = S(K, J, P, k),
D = `${J}_hostFlow`,
_ = {
[D](...T) {
let { flow: R } = U(T);
return R.getOutcome();
},
}[D];
return (PD(_, { length: { value: P.length } }), harden(_));
},
I = e.exo("AdminAsyncFlow", ID, {
getFailures() {
return u.snapshot();
},
wakeAll() {
let K = [...u.keys()],
J = [...p.keys()];
for (let P of K) P.restart();
for (let P of J) P.wake();
},
getFlowForOutcomeVow(K) {
return g.get(ht(K));
},
}),
E = O.when(null, () => I.wakeAll());
return harden({
prepareAsyncFlowKit: S,
asyncFlow: w,
adminAsyncFlow: I,
allWokenP: E,
prepareEndowment: n,
});
};
harden(Oy);
var { Error: CA, TypeError: TD, WeakMap: UD } = globalThis,
{ parse: CD, stringify: RD } = JSON,
{ isSafeInteger: OD } = Number,
{ freeze: tn } = Object,
{ toStringTag: ED } = Symbol,
RA = Symbol("UNKNOWN_KEY"),
OA = (e, t) => {
let r = RD(e);
return CD(r, t);
},
DD = (e, t) => tn(t),
ND = (e) => OA(e, DD),
BD = (e, t, r) => {
let o = e?.next,
n = { id: t, next: o, prev: e, data: r };
return ((e.next = n), (o.prev = n), n);
},
Ey = (e, t, r = t.next) => {
if (e === t || e === r) return;
let { prev: o, next: n } = e;
((o.next = n),
(n.prev = o),
(e.prev = t),
(e.next = r),
(t.next = e),
(r.prev = e));
},
UA = (e, t, r) => {
if (t !== RA) {
e.data.delete(t);
return;
}
if (e.data.clear) {
e.data.clear();
return;
}
if (!r) throw CA("internal: makeMap is required with UNKNOWN_KEY");
e.data = r();
},
MD = tn({ totalQueryCount: 0, totalHitCount: 0 }),
fu = (e, t = {}) => {
if (!OD(e) || e < 0)
throw TD(
"capacity must be a non-negative safe integer number <= 2**53 - 1",
);
let r = ((h) => {
try {
return (h(), h);
} catch {
return () => new h();
}
})(t.makeMap ?? UD),
o = r().clear === void 0 ? "WeakCacheMap" : "CacheMap",
n = r(),
a = {
id: 0,
next: void 0,
prev: void 0,
data: {
has: () => {
throw CA("internal: sentinel head cell has no data");
},
},
};
((a.next = a), (a.prev = a));
let i = 0,
c = OA(MD),
d = () => ND(c),
l = (h) => {
c.totalQueryCount += 1;
let g = n.get(h);
if (g?.data.has(h)) return ((c.totalHitCount += 1), Ey(g, a), g);
},
u = (h) => l(h) !== void 0;
tn(u);
let p = (h) => l(h)?.data.get(h);
tn(p);
let y = (h, g) => {
let S = l(h);
return S
? (S.data.set(h, g), m)
: (i < e
? ((S = BD(a, i + 1, r())), (i += 1), S.data.set(h, g))
: e > 0 &&
((S = a.prev), UA(S, RA, r), S.data.set(h, g), Ey(S, a)),
S && n.set(h, S),
m);
};
tn(y);
let { delete: b } = {
delete: (h) => {
let g = n.get(h);
return g?.data.has(h)
? (Ey(g, a.prev), UA(g, h), n.delete(h), !0)
: (n.delete(h), !1);
},
};
tn(b);
let m = { has: u, get: p, set: y, delete: b, [ED]: o };
return (tn(m), tn({ cache: m, getMetrics: d }));
};
tn(fu);
var EA = "Alleged: ",
$D = "SEVERED: ",
DA = (e) => (
typeof e == "string" && e.startsWith(EA) && (e = e.slice(EA.length)),
se(`${$D}${e}`, {})
);
var Rs = class {
#e;
[Symbol.toStringTag] = "Alleged: SlotWrapper";
constructor(t, r) {
(r == null || r === "Remotable"
? (r = "Remotable")
: r.startsWith("Alleged: ") || (r = `Alleged: ${r}`),
(this.#e = t),
(this[Symbol.toStringTag] = r));
}
static getSlot(t) {
return t.#e;
}
};
Object.defineProperties(Rs.prototype, {
[ct]: { value: "remotable" },
[Symbol.toStringTag]: { value: "Alleged: SlotWrapper" },
});
Reflect.deleteProperty(Rs.prototype, "constructor");
harden(Rs);
var NA = (e, t) => harden(new Rs(e, t)),
_D = Rs.getSlot,
FD = 50,
BA = (e) => fu(FD, { makeMap: e ? WeakMap : Map }).cache,
KD = (
e,
{
serializeBodyFormat: t = "smallcaps",
errorTagging: r = "off",
...o
} = {},
{
valToSlot: n = BA(!0),
slotToVal: a = BA(!1),
cacheSeveredVal: i = !1,
} = {},
) => {
let c = harden({ serializeBodyFormat: t, errorTagging: r, ...o }),
d = At(void 0, (S, w) => S ?? DA(w), c),
l = new Map(),
u = _D,
y = At(
u,
(S, w) => {
if (S == null) return NA(S, w);
let I = l.get(S);
return (I || ((I = NA(S, w)), l.set(S, I)), I);
},
c,
),
b = async (S, w) => {
let I = !1,
{ length: E } = S,
K = Array.from({ length: E }),
J = Array.from({ length: E });
for (let [P, k] of S.entries())
if (k === null) {
let U = k;
((K[P] = U), (J[P] = U));
} else if (k !== void 0) {
let U = a?.get(k);
U !== void 0
? (n?.set(U, k), (J[P] = U))
: ((I = !0), (K[P] = w(P)));
}
if ((await null, I)) {
harden(K);
let P = y.toCapData(K),
k = await O(e).fromCapData(P);
for (let [U, D] of k.entries())
if (D != null) {
let _ = S[U];
(a?.set(_, D), n?.set(D, _), (J[U] = D));
} else if (J[U] === void 0) {
let _ = S[U];
console.warn(
"\u26A0\uFE0F Unresolved local slot in wrapped marshaller",
{ index: U, slot: _ },
);
}
}
return harden(J);
},
m = async (S) => {
if (S.length === 0) return S;
let w = !1,
{ length: I } = S,
E = Array.from({ length: I }),
K = Array.from({ length: I });
for (let [J, P] of S.entries())
if (P === null) {
let k = P;
((K[J] = k), (E[J] = k));
} else if (P !== void 0) {
let k = n?.get(P);
k !== void 0
? (k !== null && a?.set(k, P), (E[J] = k))
: ((w = !0), (K[J] = P));
}
if ((await null, w)) {
let J = await O(e).toCapData(K);
try {
let P = y.fromCapData(J);
for (let [k, U] of P.entries())
if (U != null) {
let D = u(U),
_ = S[k];
((E[k] = D),
D != null && a?.set(D, _),
(D != null || i) && n?.set(_, D));
} else if (E[k] === void 0) {
let D = S[k];
console.warn(
"\u26A0\uFE0F Unresolved local slot in wrapped marshaller",
{ index: k, cap: D },
);
}
} finally {
l.clear();
}
}
return harden(E);
},
v = (S) => {
let { slots: w } = S;
return (E) => {
let K = w[E],
J = l.get(K);
if ((J || y.fromCapData(S), (J = l.get(K)), !J))
throw f`Marshaller didn't create wrapper for slot ${x(K)} (index=${x(E)})`;
return J;
};
},
h = async (S) => {
let w = d.toCapData(S),
I = await m(w.slots);
return harden({ ...w, slots: I });
},
g = async (S) => {
let w = v(S);
await null;
try {
let I = await b(S.slots, w);
return d.fromCapData({ ...S, slots: I });
} finally {
l.clear();
}
};
return se("wrapped remote marshaller", {
toCapData: h,
fromCapData: g,
serialize: h,
unserialize: g,
});
};
var MA = KD;
var $A = (e, t) =>
Sc(
e,
"Recorder",
s.interface("Recorder", {
getStorageNode: s.call().returns(ES),
getStoragePath: s.call().returns(s.promise()),
write: s.call(s.any()).returns(s.promise()),
writeFinal: s.call(s.any()).returns(s.promise()),
}),
(o, n, a = s.any()) => ({
closed: !1,
publisher: o,
storageNode: n,
storagePath: void 0,
valueShape: a,
}),
{
getStorageNode() {
return this.state.storageNode;
},
async getStoragePath() {
let { storagePath: o } = this.state;
if ((await null, o !== void 0)) return o;
let n = await O(this.state.storageNode).getPath();
return ((this.state.storagePath = n), n);
},
async write(o) {
let {
closed: n,
publisher: a,
storageNode: i,
valueShape: c,
} = this.state;
(!n || f`cannot write to closed recorder`, Kt(o, c));
let d = await O(t).toCapData(o),
l = JSON.stringify(d);
return (await O(i).setValue(l), a.publish(o));
},
async writeFinal(o) {
let {
closed: n,
publisher: a,
storageNode: i,
valueShape: c,
} = this.state;
(!n || f`cannot write to closed recorder`, Kt(o, c));
let d = await O(t).toCapData(o),
l = JSON.stringify(d);
return (
await O(i).setValue(l),
(this.state.closed = !0),
a.finish(o)
);
},
},
);
harden($A);
var JD =
({ makeRecorder: e, makeDurablePublishKit: t }) =>
(o, n) => {
let { subscriber: a, publisher: i } = t(),
c = e(i, o, n);
return harden({ subscriber: a, recorder: c });
},
_A =
({ makeRecorder: e, makeDurablePublishKit: t }) =>
(o, n) => {
let { publisher: a, subscriber: i } = t(),
c = O.when(o, (d) => e(a, d, n));
return { subscriber: i, recorderP: c };
};
harden(_A);
var FA = (e, t) => {
let r = Pl(e, "Durable Publish Kit"),
o = $A(e, t),
n = JD({ makeRecorder: o, makeDurablePublishKit: r }),
a = _A({ makeRecorder: o, makeDurablePublishKit: r });
return {
makeDurablePublishKit: r,
makeRecorder: o,
makeRecorderKit: n,
makeERecorderKit: a,
};
},
VD = { recorder: s.remotable(), subscriber: s.remotable() };
harden(VD);
var si = (e) => `${e.namespace}:${e.reference}`;
var HD = "pfm",
ai = {
Chain: "chain",
ChainAssets: "chainAssets",
ChainConnection: "chainConnection",
};
harden(ai);
var jY = ai.Chain,
GY = ai.ChainConnection,
QY = ai.ChainAssets,
yu = "_",
KA = (e) => e.replaceAll(yu, `${yu}${yu}`),
Os = (e, t) => {
let r = KA(e),
o = KA(t);
return [r, o].sort().join(yu);
},
HA = (e) => {
let { transferChannel: t } = e;
return harden({
id: e.counterparty.connection_id,
client_id: e.counterparty.client_id,
counterparty: { client_id: e.client_id, connection_id: e.id },
state: e.state,
transferChannel: {
...t,
channelId: t.counterPartyChannelId,
counterPartyChannelId: t.channelId,
portId: t.counterPartyPortId,
counterPartyPortId: t.portId,
},
});
},
JA = (e, t, r) => {
let o = Os(e, t);
return e < t ? [o, r] : [o, HA(r)];
},
Jc = (e, t, r) => (e < t ? r : HA(r)),
VA = s.or(
s.string(),
s.splitRecord({ chainId: s.string() }, void 0, s.any()),
),
WD = harden({ retries: 3, timeout: "10m" }),
Vc = s.splitRecord(
{
sourcePort: s.string(),
sourceChannel: jl,
token: Bc,
receiver: s.string(),
},
{ forwardInfo: ly },
{},
),
LD = s.interface("ChainHub", {
registerChain: s.call(s.string(), Oo).returns(),
updateChain: s.call(s.string(), Oo).returns(),
getChainInfo: s.call(s.string()).returns(le),
getChainInfoByChainId: s.call(s.string()).returns(Oo),
registerConnection: s.call(s.string(), s.string(), Ql).returns(),
updateConnection: s.call(s.string(), s.string(), Ql).returns(),
getConnectionInfo: s.call(VA, VA).returns(le),
getChainsAndConnection: s.call(s.string(), s.string()).returns(le),
registerAsset: s.call(s.string(), Zo).returns(),
updateAsset: s.call(s.string(), Zo).returns(),
getAsset: s
.call(s.string(), s.string())
.returns(s.or(Zo, s.undefined())),
getDenom: s.call(ot).returns(s.or(s.string(), s.undefined())),
coerceCosmosAddress: s.call(Ya).returns(je),
resolveAccountId: s.call(s.string()).returns(s.string()),
makeTransferRoute: s
.call(Ya, bt, s.string())
.optional(uy)
.returns(s.or(s.undefined(), Vc)),
isEmpty: s.call().returns(s.boolean()),
}),
WA = (e, t, r, { chainInfoValueShape: o = Oo } = {}) => {
let n = e.mapStore("chainInfos", {
keyShape: s.string(),
valueShape: o,
}),
a = e.mapStore("connectionInfos", {
keyShape: s.string(),
valueShape: Ql,
}),
i = e.mapStore("denom", { keyShape: s.string(), valueShape: Zo }),
c = e.mapStore("brandDenom", {
keyShape: ot,
valueShape: s.string(),
}),
d = e.mapStore("bech32PrefixToChainName", {
keyShape: s.string(),
valueShape: s.string(),
}),
l = e.mapStore("chainIdToChainName", {
keyShape: s.string(),
valueShape: s.string(),
}),
u = (h, g) => `${g}:${h}`,
p = (h) => {
let g = hx(h);
if (!d.has(g))
throw Se(`Chain info not found for bech32Prefix ${x(g)}`);
let S = d.get(g),
{ chainId: w } = n.get(S);
return w;
},
y = r.retryable(e, "lookupChainInfo", async (h) => {
await null;
try {
let g = await O(t).lookup(ai.Chain, h);
return (
n.has(h) ||
(n.init(h, g),
l.init(si(g), h),
g.bech32Prefix && d.init(g.bech32Prefix, h)),
g
);
} catch (g) {
throw (
console.error("lookupChainInfo", h, "error", g),
Se(`chain not found:${h}`)
);
}
}),
b = r.retryable(e, "lookupConnectionInfo", async (h, g) => {
await null;
let S = Os(h, g);
try {
let w = await O(t).lookup(ai.ChainConnection, S);
return (a.has(S) || a.init(S, w), Jc(h, g, w));
} catch (w) {
throw (
console.error("lookupConnectionInfo", h, g, "error", w),
Se(`connection not found: ${h}<->${g}`)
);
}
}),
m = r.retryable(e, "lookupChainsAndConnection", async (h, g) => {
let [S, w] = await r.asPromise(
r.allVows([v.getChainInfo(h), v.getChainInfo(g)]),
),
I =
S.namespace === "cosmos" && w.namespace === "cosmos"
? await r.asPromise(v.getConnectionInfo(S, w))
: void 0;
return [S, w, I];
}),
v = e.exo("ChainHub", LD, {
registerChain(h, g) {
(n.init(h, g),
l.init(si(g), h),
g.namespace === "cosmos" &&
g.bech32Prefix &&
d.init(g.bech32Prefix, h));
},
updateChain(h, g) {
if (!n.has(h)) throw Se(`Chain ${x(h)} not registered`);
let S = n.get(h);
(l.has(si(S)) && l.delete(si(S)),
S.bech32Prefix && d.delete(S.bech32Prefix),
n.set(h, g),
l.init(si(g), h),
g.bech32Prefix && d.init(g.bech32Prefix, h));
},
getChainInfo(h) {
return (
h.includes(":") &&
f`${h} must be a bare chain name. Maybe try getChainInfoByChainId()`,
n.has(h) ? r.asVow(() => n.get(h)) : y(h)
);
},
getChainInfoByChainId(h) {
l.has(h) || f`Chain name not found for ${x(h)}`;
let g = l.get(h);
return (
n.has(g) || f`Chain Info not found for ${x(h)}`,
n.get(g)
);
},
registerConnection(h, g, S) {
let [w, I] = JA(h, g, S);
a.init(w, I);
},
updateConnection(h, g, S) {
let w = Os(h, g);
if (!a.has(w))
throw Se(`Connection ${x(h)}<->${x(g)} not registered`);
let [I, E] = JA(h, g, S);
a.set(w, E);
},
getConnectionInfo(h, g) {
let S = typeof h == "string" ? h : h.chainId,
w = typeof g == "string" ? g : g.chainId,
I = Os(S, w);
return a.has(I) ? r.asVow(() => Jc(S, w, a.get(I))) : b(S, w);
},
getChainsAndConnection(h, g) {
return m(h, g);
},
registerAsset(h, g) {
let { chainName: S, baseName: w } = g;
(n.has(S) || f`must register chain ${x(S)} first`,
n.has(w) || f`must register chain ${x(w)} first`);
let I = u(h, g.chainName);
(i.has(I) && f`already registered ${x(h)} on ${x(S)}`,
i.init(I, g),
g.brand &&
(S === "agoric" ||
f`brands only registerable for agoric-held assets`,
c.init(g.brand, h)));
},
updateAsset(h, g) {
let { baseName: S, brand: w, chainName: I } = g,
E = u(h, I);
if (!i.has(E))
throw Se(`Asset ${x(h)} on ${x(I)} not registered`);
if (!n.has(I)) throw Se(`Chain ${x(I)} not registered`);
if (!n.has(S)) throw Se(`Chain ${x(S)} not registered`);
if (w && I !== "agoric")
throw Se("Brands only registerable for agoric-held assets");
let K = i.get(E);
(K.brand && c.delete(K.brand), i.set(E, g), w && c.init(w, h));
},
getAsset(h, g) {
let S = u(h, g);
if (i.has(S)) return i.get(S);
},
getDenom(h) {
if (c.has(h)) return c.get(h);
},
resolveAccountId(h) {
return h.split(":").length === 3 ? h : `cosmos:${p(h)}:${h}`;
},
coerceCosmosAddress(h) {
if (typeof h != "string") return h;
let g = h.split(":");
if (g.length === 3)
return (
assert.equal(g[0], "cosmos"),
harden({ chainId: g[1], encoding: "bech32", value: g[2] })
);
assert.equal(g.length, 1);
let S = h,
w = p(S);
return harden({ chainId: w, value: S, encoding: "bech32" });
},
makeTransferRoute(h, g, S, w) {
n.has(S) || f`chain info not found for holding chain: ${x(S)}`;
let I = v.getAsset(g.denom, S);
I ||
f`no denom detail for: ${x(g.denom)} on ${x(S)}. ensure it is registered in chainHub.`;
let { baseName: E, chainName: K } = I;
(K === S ||
f`cannot transfer asset ${x(g.denom)}. held on ${x(K)} not ${x(S)}.`,
n.has(E) || f`chain info not found for issuing chain: ${x(E)}`);
let J = n.get(E);
if (J.namespace !== "cosmos")
throw f`Only cosmos supported; got ${x(J.namespace)}`;
let { chainId: P, pfmEnabled: k } = J,
U = n.get(S);
if (U.namespace !== "cosmos")
throw f`Only cosmos supported; got ${x(U.namespace)}`;
let { chainId: D } = U,
_ = v.coerceCosmosAddress(h);
if (P === _.chainId || E === S) {
let ee = Os(D, _.chainId);
a.has(ee) ||
f`no connection info found for ${D}<->${_.chainId}`;
let { transferChannel: Q } = Jc(D, _.chainId, a.get(ee));
return harden({
sourcePort: Q.portId,
sourceChannel: Q.channelId,
token: { amount: String(g.value), denom: g.denom },
receiver: _.value,
});
}
k || f`pfm not enabled on issuing chain: ${x(E)}`;
let T = Os(D, P);
a.has(T) || f`no connection info found for ${D}<->${P}`;
let R = Os(P, _.chainId);
a.has(R) || f`no connection info found for ${P}<->${_.chainId}`;
let N = Jc(D, P, a.get(T)),
F = Jc(P, _.chainId, a.get(R)),
{ intermediateRecipient: H, ...q } = w ?? {},
ne = harden({
forward: {
receiver: _.value,
port: F.transferChannel.portId,
channel: F.transferChannel.channelId,
...WD,
...q,
},
});
return harden({
sourcePort: N.transferChannel.portId,
sourceChannel: N.transferChannel.channelId,
token: { amount: String(g.value), denom: g.denom },
receiver: H?.value || HD,
forwardInfo: ne,
});
},
isEmpty() {
return (
n.getSize() === 0 && a.getSize() === 0 && i.getSize() === 0
);
},
});
return v;
};
var gu = (e, t) => {
if (typeof t == "string") return t;
let r = e.getDenom(t);
if (!r) throw Se(`No denom for brand ${t}`);
return r;
},
LA = (e, t) => {
if ("denom" in t) return t;
let r = gu(e, t.brand);
return harden({ denom: r, value: t.value });
},
Es = (e, t) => {
let r = "denom" in t ? t.denom : gu(e, t.brand);
return harden({ denom: r, amount: String(t.value) });
};
var qD = ((e) => (
(e[(e.SIGNED_MSG_TYPE_UNKNOWN = 0)] = "SIGNED_MSG_TYPE_UNKNOWN"),
(e[(e.SIGNED_MSG_TYPE_PREVOTE = 1)] = "SIGNED_MSG_TYPE_PREVOTE"),
(e[(e.SIGNED_MSG_TYPE_PRECOMMIT = 2)] = "SIGNED_MSG_TYPE_PRECOMMIT"),
(e[(e.SIGNED_MSG_TYPE_PROPOSAL = 32)] = "SIGNED_MSG_TYPE_PROPOSAL"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))(qD || {});
function qA() {
return { msgType: "", data: new Uint8Array() };
}
var Er = {
typeUrl: "/cosmos.base.abci.v1beta1.MsgData",
aminoType: "cosmos-sdk/MsgData",
is(e) {
return (
e &&
(e.$typeUrl === Er.typeUrl ||
(typeof e.msgType == "string" &&
(e.data instanceof Uint8Array || typeof e.data == "string")))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Er.typeUrl ||
(typeof e.msg_type == "string" &&
(e.data instanceof Uint8Array || typeof e.data == "string")))
);
},
encode(e, t = re.create()) {
return (
e.msgType !== "" && t.uint32(10).string(e.msgType),
e.data.length !== 0 && t.uint32(18).bytes(e.data),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = qA();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.msgType = r.string();
break;
case 2:
n.data = r.bytes();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
msgType: B(e.msgType) ? String(e.msgType) : "",
data: B(e.data) ? ke(e.data) : new Uint8Array(),
};
},
toJSON(e) {
let t = {};
return (
e.msgType !== void 0 && (t.msgType = e.msgType),
e.data !== void 0 &&
(t.data = Ee(e.data !== void 0 ? e.data : new Uint8Array())),
t
);
},
fromPartial(e) {
let t = qA();
return (
(t.msgType = e.msgType ?? ""),
(t.data = e.data ?? new Uint8Array()),
t
);
},
fromProtoMsg(e) {
return Er.decode(e.value);
},
toProto(e) {
return Er.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.base.abci.v1beta1.MsgData",
value: Er.encode(e).finish(),
};
},
};
function jA() {
return { data: [], msgResponses: [] };
}
var Ds = {
typeUrl: "/cosmos.base.abci.v1beta1.TxMsgData",
aminoType: "cosmos-sdk/TxMsgData",
is(e) {
return (
e &&
(e.$typeUrl === Ds.typeUrl ||
(Array.isArray(e.data) &&
(!e.data.length || Er.is(e.data[0])) &&
Array.isArray(e.msgResponses) &&
(!e.msgResponses.length || fe.is(e.msgResponses[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Ds.typeUrl ||
(Array.isArray(e.data) &&
(!e.data.length || Er.isSDK(e.data[0])) &&
Array.isArray(e.msg_responses) &&
(!e.msg_responses.length || fe.isSDK(e.msg_responses[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.data) Er.encode(r, t.uint32(10).fork()).ldelim();
for (let r of e.msgResponses)
fe.encode(r, t.uint32(18).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = jA();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.data.push(Er.decode(r, r.uint32()));
break;
case 2:
n.msgResponses.push(fe.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
data: Array.isArray(e?.data) ? e.data.map((t) => Er.fromJSON(t)) : [],
msgResponses: Array.isArray(e?.msgResponses)
? e.msgResponses.map((t) => fe.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.data
? (t.data = e.data.map((r) => (r ? Er.toJSON(r) : void 0)))
: (t.data = []),
e.msgResponses
? (t.msgResponses = e.msgResponses.map((r) =>
r ? fe.toJSON(r) : void 0,
))
: (t.msgResponses = []),
t
);
},
fromPartial(e) {
let t = jA();
return (
(t.data = e.data?.map((r) => Er.fromPartial(r)) || []),
(t.msgResponses =
e.msgResponses?.map((r) => fe.fromPartial(r)) || []),
t
);
},
fromProtoMsg(e) {
return Ds.decode(e.value);
},
toProto(e) {
return Ds.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.base.abci.v1beta1.TxMsgData",
value: Ds.encode(e).finish(),
};
},
};
var GD = pe(Ds),
hu = 10n * 60n,
GA = (e, t) => {
try {
let { msgResponses: r } = GD.decode(ke(e));
return t.map(
(n, a) => (
(n.typeUrl && r[a].typeUrl === n.typeUrl) ||
assert.Fail`mismatched response type: expected ${n.typeUrl}, got ${r[a].typeUrl}`,
n.fromProtoMsg(r[a])
),
);
} catch (r) {
throw Se(`bad response: ${e}`, void 0, { cause: r });
}
};
var Wn = (e) => ({ denom: e.denom, value: BigInt(e.amount) }),
bu = (e) => ({ denom: e.denom, value: BigInt(e.amount.split(".")[0]) }),
Dy = (e, t) => ({
encoding: "bech32",
value: e.validatorAddress,
chainId: t,
}),
Ny = ({ chainId: e }, t) => ({
delegator: {
chainId: e,
encoding: "bech32",
value: t.delegation.delegatorAddress,
},
validator: Dy(t.delegation, e),
amount: Wn(t.balance),
});
var { Vow$: By } = dt,
ii = (e) => s.or(By(e), s.promise()),
ci = ({ watch: e }) => {
let t = {
helper: {
pickVowProp(r, o) {
return e(r, this.facets.pickDataWatcher, o);
},
pickVowIndex(r, o) {
return e(r, this.facets.pickDataWatcher, o);
},
overrideVow(r, o) {
return e(r, this.facets.overrideVowWatcher, o);
},
voidVow(r) {
return e(r, this.facets.overrideVowWatcher);
},
},
helperShapes: {
pickVowIndex: s
.call(By(s.array()), s.number())
.returns(ii(s.any())),
pickVowProp: s
.call(By(s.record()), s.or(s.string(), s.number()))
.returns(ii(s.any())),
voidVow: s.call(ii(s.any())).returns(ii(s.undefined())),
overrideVow: s
.call(ii(s.any()))
.optional(s.any())
.returns(ii(s.any())),
},
watchers: {
pickDataWatcher: {
onFulfilled(r, o) {
return harden(r[o]);
},
},
overrideVowWatcher: {
onFulfilled(r, o) {
return o;
},
},
},
watcherShapes: {
pickDataWatcher: s.interface("pickArrayDataWatcher", {
onFulfilled: s
.call(s.or(s.array(), s.record()), s.or(s.number(), s.string()))
.returns(s.any()),
}),
overrideVowWatcher: s.interface("overrideVowWatcher", {
onFulfilled: s.call(s.any()).optional(s.any()).returns(s.any()),
}),
},
makeTombstonedFacets: (r, o) =>
Object.fromEntries(
r.map((n) => [
n,
Object.fromEntries(
o.map((a) => [
a,
() => {
throw Error(
`${n} is retired. Retry your request to switch to a supported code path.`,
);
},
]),
),
]),
),
makeTombstonedFacetShapes: (r, o) =>
Object.fromEntries(
r.map((n) => [
n,
s.interface(
n,
Object.fromEntries(
o.map((a) => [a, s.call().rest(s.any()).returns()]),
),
),
]),
),
makeTombstonedWatchers: (r) =>
t.makeTombstonedFacets(r, ["onFulfilled"]),
makeTombstonedWatcherShapes: (r) =>
t.makeTombstonedFacetShapes(r, ["onFulfilled"]),
};
return t;
};
var QD = s.splitRecord(
{ subscriber: wc, storagePath: s.or(s.promise(), s.string()) },
{ description: s.string() },
),
My = s.recordOf(s.string(), QD);
var { Vow$: vu } = dt,
$y = s.splitRecord({ start: s.number(), end: s.number() });
harden($y);
var Su = {
getAddress: s.call().returns(je),
getBalance: s.call(s.or(ot, s.string())).returns(vu(bt)),
getBalances: s.call().returns(vu(s.arrayOf(bt))),
send: s.call(Ya, Jt).optional(s.record()).returns(le),
sendAll: s.call(je, s.arrayOf(Jt)).optional(s.record()).returns(le),
transfer: s.call(Ya, Jt).optional(Xo).returns(le),
transferSteps: s.call(Jt, s.any()).returns(le),
asContinuingOffer: s
.call()
.returns(
vu({
publicSubscribers: My,
invitationMakers: s.any(),
holder: s.remotable(),
}),
),
getPublicTopics: s.call().returns(vu(My)),
makeProgressTracker: s.call().returns(s.remotable("ProgressTracker")),
},
zD = (e, t, r) =>
harden([
{
op: "transfer",
src: [
"ibc",
["chain", e],
["port", r.portId],
["channel", r.channelId],
],
dst: [
"ibc",
["chain", t],
["port", r.counterPartyPortId],
["channel", r.counterPartyChannelId],
],
seq: { status: "pending" },
incomplete: !0,
},
]),
QA = (e, t) => {
let r = e.seq;
return (
Object(r)?.status === "pending" ||
f`expected entry.seq ${r} to be pending`,
t != null || f`expected sequence ${t} to be non-nullish`,
{ ...e, seq: t }
);
},
YD = (e, t) => {
e.length === 1 || f`expected single traffic entry to finish`;
let [{ incomplete: r, ...o }] = e;
return (
r || f`expected incomplete traffic entry`,
o.op === "transfer" ||
f`expected transfer traffic entry, got ${o.op}`,
o.src[0] === "ibc" ||
f`expected ibc source in transfer traffic entry`,
o.dst[0] === "ibc" || f`expected ibc dest in transfer traffic entry`,
harden([QA(o, t)])
);
},
ZD = (e) =>
harden([
{
op: "ICA",
src: ["ibc"],
dst: ["ibc", ["chain", e]],
seq: { status: "pending" },
incomplete: !0,
},
]),
XD = (e, t, r, o, n) => {
e.length === 1 || f`expected single traffic entry to finish`;
let [{ incomplete: a, ...i }] = e;
(a || f`expected incomplete traffic entry`,
i.op === "ICA" || f`expected ICA traffic entry`,
i.src.length === 1 ||
f`expected source length 1 in ICA traffic entry`,
i.src[0] === "ibc" || f`expected ibc source in ICA traffic entry`);
let c = [
...i.src,
["chain", t],
["port", r.portID],
["channel", r.channelID],
];
(i.dst.length === 2 || f`expected dest length 2 in ICA traffic entry`,
i.dst[0] === "ibc" || f`expected ibc dest in ICA traffic entry`);
let d = [...i.dst, ["port", o.portID], ["channel", o.channelID]];
return [QA({ ...i, src: c, dst: d }, n)];
},
Mo = {
IbcTransfer: { start: zD, finish: YD },
IbcICA: { start: ZD, finish: XD },
};
harden(Mo);
var di = (e, t) => {
let r = e ?? [],
o = r.length,
n = o + t.length;
return harden({ traffic: [...r, ...t], slice: { start: o, end: n } });
};
harden(di);
var li = (e, t, r) => {
let o = e ?? [],
n = t ?? { start: 0, end: o.length },
a = harden(o.slice(n.start, n.end));
a.length > 0 || f`no traffic entries to finish`;
let i = harden(r(a));
i.length === a.length ||
f`traffic entry transform must not change length; expected ${a.length}, got ${i.length}`;
let c = o.slice(0, n.start),
d = o.slice(n.end);
return harden([...c, ...i, ...d]);
};
harden(li);
var zA = s.remotable("TimerBrand"),
YA = s.nat(),
ZA = s.nat(),
Hc = { timerBrand: zA, absValue: YA };
harden(Hc);
var Wc = { timerBrand: zA, relValue: ZA };
harden(Wc);
var xu = s.or(Hc, YA),
cX = s.or(Wc, ZA),
dX = s.remotable("TimerService");
var _y = (e, t) =>
e === void 0
? t === void 0
? void 0
: t
: (t === void 0 ||
e === t ||
f`TimerBrands must match: ${x(e)} vs ${x(t)}`,
e),
Au = (e, t) => {
let r = typeof e == "bigint" ? void 0 : e.timerBrand,
o = typeof t == "bigint" ? void 0 : t.timerBrand;
return _y(r, o);
},
ew = (e, t, r) => {
Re(r);
let o = Au(e, t);
return o ? harden({ timerBrand: o, absValue: r }) : r;
},
Ln = (e, t, r) => {
Re(r);
let o = Au(e, t);
return o ? harden({ timerBrand: o, relValue: r }) : r;
},
$o = (e) =>
typeof e == "bigint" ? Re(e) : (Kt(e, Hc, "timestamp"), Re(e.absValue)),
Ct = (e) =>
typeof e == "bigint" ? Re(e) : (Kt(e, Wc, "relative"), Re(e.relValue)),
eN = (e, t) => harden({ absValue: e, timerBrand: t }),
tN = (e, t) => harden({ relValue: e, timerBrand: t }),
rN = (e, t) => {
if (
(t || f`must have a brand`,
typeof e == "number" && (e = Re(e)),
typeof e == "bigint")
)
return eN(e, t);
{
let { timerBrand: r } = e;
return (Kt(e, Hc, "timestamp"), _y(r, t), e);
}
},
oN = (e, t) => {
if (
(t || f`must have a brand`,
typeof e == "number" && (e = Re(e)),
typeof e == "bigint")
)
return tN(e, t);
{
let { timerBrand: r } = e;
return (Kt(e, Wc, "relativeTime"), _y(r, t), e);
}
},
nN = (e, t) => ew(e, t, $o(e) + Ct(t)),
sN = (e, t) => Ln(e, t, Ct(e) + Ct(t)),
aN = (e, t) => Ln(e, t, $o(e) - $o(t)),
iN = (e, t) => {
let r = $o(e),
o = $o(t);
return Ln(e, t, r > o ? r - o : 0n);
},
cN = (e, t) => ew(e, t, $o(e) - Ct(t)),
dN = (e, t) => Ln(e, t, Ct(e) - Ct(t)),
lN = (e) => Ct(e) === 0n,
uN = (e, t) => Ln(e, t, Ct(e) * t),
pN = (e, t) => Ln(e, t, Ct(e) / t),
mN = (e, t) => (Au(e, t), Ct(e) / Ct(t)),
fN = (e, t) => Ln(e, t, $o(e) % Ct(t)),
yN = (e, t) => Ln(e, t, Ct(e) % Ct(t)),
XA = (e, t, r, o) => (
Au(e, t),
r < o ? -1 : r === o ? 0 : (assert(r > o), 1)
),
Fy = harden({
absValue: $o,
relValue: Ct,
coerceTimestampRecord: rN,
coerceRelativeTimeRecord: oN,
addAbsRel: nN,
addRelRel: sN,
subtractAbsAbs: aN,
clampedSubtractAbsAbs: iN,
subtractAbsRel: cN,
subtractRelRel: dN,
isRelZero: lN,
multiplyRelNat: uN,
divideRelNat: pN,
divideRelRel: mN,
modAbsRel: fN,
modRelRel: yN,
compareAbs: (e, t) => XA(e, t, $o(e), $o(t)),
compareRel: (e, t) => XA(e, t, Ct(e), Ct(t)),
});
var gN = 60n;
var hN = 1000000000n;
function wu(e) {
let t = harden({
async getTimeoutTimestampNS(r = gN * 5n) {
let o = await O(e).getCurrentTimestamp(),
n = Fy.coerceRelativeTimeRecord(r, o.timerBrand);
return Fy.addAbsRel(o, n).absValue * hN;
},
vowOrValueFromOpts(r) {
return r && "timeoutTimestamp" in r
? r.timeoutTimestamp
: r && "timeoutHeight" in r
? 0n
: t.getTimeoutTimestampNS(
r && "timeoutRelativeSeconds" in r
? r.timeoutRelativeSeconds
: void 0,
);
},
});
return t;
}
function tw() {
return {
from: "",
amount: "",
destinationDomain: 0,
mintRecipient: new Uint8Array(),
burnToken: "",
};
}
var Ns = {
typeUrl: "/circle.cctp.v1.MsgDepositForBurn",
annotations: { "gogoproto.nullable": { amount: !1 } },
aminoType: "cctp/DepositForBurn",
is(e) {
return (
e &&
(e.$typeUrl === Ns.typeUrl ||
(typeof e.from == "string" &&
typeof e.amount == "string" &&
typeof e.destinationDomain == "number" &&
(e.mintRecipient instanceof Uint8Array ||
typeof e.mintRecipient == "string") &&
typeof e.burnToken == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Ns.typeUrl ||
(typeof e.from == "string" &&
typeof e.amount == "string" &&
typeof e.destination_domain == "number" &&
(e.mint_recipient instanceof Uint8Array ||
typeof e.mint_recipient == "string") &&
typeof e.burn_token == "string"))
);
},
encode(e, t = re.create()) {
return (
e.from !== "" && t.uint32(10).string(e.from),
e.amount !== "" && t.uint32(18).string(e.amount),
e.destinationDomain !== 0 && t.uint32(24).uint32(e.destinationDomain),
e.mintRecipient.length !== 0 && t.uint32(34).bytes(e.mintRecipient),
e.burnToken !== "" && t.uint32(42).string(e.burnToken),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = tw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.from = r.string();
break;
case 2:
n.amount = r.string();
break;
case 3:
n.destinationDomain = r.uint32();
break;
case 4:
n.mintRecipient = r.bytes();
break;
case 5:
n.burnToken = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
from: B(e.from) ? String(e.from) : "",
amount: B(e.amount) ? String(e.amount) : "",
destinationDomain: B(e.destinationDomain)
? Number(e.destinationDomain)
: 0,
mintRecipient: B(e.mintRecipient)
? ke(e.mintRecipient)
: new Uint8Array(),
burnToken: B(e.burnToken) ? String(e.burnToken) : "",
};
},
toJSON(e) {
let t = {};
return (
e.from !== void 0 && (t.from = e.from),
e.amount !== void 0 && (t.amount = e.amount),
e.destinationDomain !== void 0 &&
(t.destinationDomain = Math.round(e.destinationDomain)),
e.mintRecipient !== void 0 &&
(t.mintRecipient = Ee(
e.mintRecipient !== void 0 ? e.mintRecipient : new Uint8Array(),
)),
e.burnToken !== void 0 && (t.burnToken = e.burnToken),
t
);
},
fromPartial(e) {
let t = tw();
return (
(t.from = e.from ?? ""),
(t.amount = e.amount ?? ""),
(t.destinationDomain = e.destinationDomain ?? 0),
(t.mintRecipient = e.mintRecipient ?? new Uint8Array()),
(t.burnToken = e.burnToken ?? ""),
t
);
},
fromProtoMsg(e) {
return Ns.decode(e.value);
},
toProto(e) {
return Ns.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/circle.cctp.v1.MsgDepositForBurn",
value: Ns.encode(e).finish(),
};
},
};
function rw() {
return { nonce: BigInt(0) };
}
var Bs = {
typeUrl: "/circle.cctp.v1.MsgDepositForBurnResponse",
is(e) {
return e && (e.$typeUrl === Bs.typeUrl || typeof e.nonce == "bigint");
},
isSDK(e) {
return e && (e.$typeUrl === Bs.typeUrl || typeof e.nonce == "bigint");
},
encode(e, t = re.create()) {
return (e.nonce !== BigInt(0) && t.uint32(8).uint64(e.nonce), t);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = rw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.nonce = r.uint64();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return { nonce: B(e.nonce) ? BigInt(e.nonce.toString()) : BigInt(0) };
},
toJSON(e) {
let t = {};
return (
e.nonce !== void 0 && (t.nonce = (e.nonce || BigInt(0)).toString()),
t
);
},
fromPartial(e) {
let t = rw();
return (
(t.nonce =
e.nonce !== void 0 && e.nonce !== null
? BigInt(e.nonce.toString())
: BigInt(0)),
t
);
},
fromProtoMsg(e) {
return Bs.decode(e.value);
},
toProto(e) {
return Bs.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/circle.cctp.v1.MsgDepositForBurnResponse",
value: Bs.encode(e).finish(),
};
},
};
function ow() {
return {
from: "",
amount: "",
destinationDomain: 0,
mintRecipient: new Uint8Array(),
burnToken: "",
destinationCaller: new Uint8Array(),
};
}
var Ms = {
typeUrl: "/circle.cctp.v1.MsgDepositForBurnWithCaller",
annotations: { "gogoproto.nullable": { amount: !1 } },
aminoType: "cctp/DepositForBurnWithCaller",
is(e) {
return (
e &&
(e.$typeUrl === Ms.typeUrl ||
(typeof e.from == "string" &&
typeof e.amount == "string" &&
typeof e.destinationDomain == "number" &&
(e.mintRecipient instanceof Uint8Array ||
typeof e.mintRecipient == "string") &&
typeof e.burnToken == "string" &&
(e.destinationCaller instanceof Uint8Array ||
typeof e.destinationCaller == "string")))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Ms.typeUrl ||
(typeof e.from == "string" &&
typeof e.amount == "string" &&
typeof e.destination_domain == "number" &&
(e.mint_recipient instanceof Uint8Array ||
typeof e.mint_recipient == "string") &&
typeof e.burn_token == "string" &&
(e.destination_caller instanceof Uint8Array ||
typeof e.destination_caller == "string")))
);
},
encode(e, t = re.create()) {
return (
e.from !== "" && t.uint32(10).string(e.from),
e.amount !== "" && t.uint32(18).string(e.amount),
e.destinationDomain !== 0 && t.uint32(24).uint32(e.destinationDomain),
e.mintRecipient.length !== 0 && t.uint32(34).bytes(e.mintRecipient),
e.burnToken !== "" && t.uint32(42).string(e.burnToken),
e.destinationCaller.length !== 0 &&
t.uint32(50).bytes(e.destinationCaller),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = ow();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.from = r.string();
break;
case 2:
n.amount = r.string();
break;
case 3:
n.destinationDomain = r.uint32();
break;
case 4:
n.mintRecipient = r.bytes();
break;
case 5:
n.burnToken = r.string();
break;
case 6:
n.destinationCaller = r.bytes();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
from: B(e.from) ? String(e.from) : "",
amount: B(e.amount) ? String(e.amount) : "",
destinationDomain: B(e.destinationDomain)
? Number(e.destinationDomain)
: 0,
mintRecipient: B(e.mintRecipient)
? ke(e.mintRecipient)
: new Uint8Array(),
burnToken: B(e.burnToken) ? String(e.burnToken) : "",
destinationCaller: B(e.destinationCaller)
? ke(e.destinationCaller)
: new Uint8Array(),
};
},
toJSON(e) {
let t = {};
return (
e.from !== void 0 && (t.from = e.from),
e.amount !== void 0 && (t.amount = e.amount),
e.destinationDomain !== void 0 &&
(t.destinationDomain = Math.round(e.destinationDomain)),
e.mintRecipient !== void 0 &&
(t.mintRecipient = Ee(
e.mintRecipient !== void 0 ? e.mintRecipient : new Uint8Array(),
)),
e.burnToken !== void 0 && (t.burnToken = e.burnToken),
e.destinationCaller !== void 0 &&
(t.destinationCaller = Ee(
e.destinationCaller !== void 0
? e.destinationCaller
: new Uint8Array(),
)),
t
);
},
fromPartial(e) {
let t = ow();
return (
(t.from = e.from ?? ""),
(t.amount = e.amount ?? ""),
(t.destinationDomain = e.destinationDomain ?? 0),
(t.mintRecipient = e.mintRecipient ?? new Uint8Array()),
(t.burnToken = e.burnToken ?? ""),
(t.destinationCaller = e.destinationCaller ?? new Uint8Array()),
t
);
},
fromProtoMsg(e) {
return Ms.decode(e.value);
},
toProto(e) {
return Ms.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/circle.cctp.v1.MsgDepositForBurnWithCaller",
value: Ms.encode(e).finish(),
};
},
};
function nw() {
return { nonce: BigInt(0) };
}
var $s = {
typeUrl: "/circle.cctp.v1.MsgDepositForBurnWithCallerResponse",
is(e) {
return e && (e.$typeUrl === $s.typeUrl || typeof e.nonce == "bigint");
},
isSDK(e) {
return e && (e.$typeUrl === $s.typeUrl || typeof e.nonce == "bigint");
},
encode(e, t = re.create()) {
return (e.nonce !== BigInt(0) && t.uint32(8).uint64(e.nonce), t);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = nw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.nonce = r.uint64();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return { nonce: B(e.nonce) ? BigInt(e.nonce.toString()) : BigInt(0) };
},
toJSON(e) {
let t = {};
return (
e.nonce !== void 0 && (t.nonce = (e.nonce || BigInt(0)).toString()),
t
);
},
fromPartial(e) {
let t = nw();
return (
(t.nonce =
e.nonce !== void 0 && e.nonce !== null
? BigInt(e.nonce.toString())
: BigInt(0)),
t
);
},
fromProtoMsg(e) {
return $s.decode(e.value);
},
toProto(e) {
return $s.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/circle.cctp.v1.MsgDepositForBurnWithCallerResponse",
value: $s.encode(e).finish(),
};
},
};
function sw() {
return {
key: new Uint8Array(),
offset: BigInt(0),
limit: BigInt(0),
countTotal: !1,
reverse: !1,
};
}
var Ge = {
typeUrl: "/cosmos.base.query.v1beta1.PageRequest",
aminoType: "cosmos-sdk/PageRequest",
is(e) {
return (
e &&
(e.$typeUrl === Ge.typeUrl ||
((e.key instanceof Uint8Array || typeof e.key == "string") &&
typeof e.offset == "bigint" &&
typeof e.limit == "bigint" &&
typeof e.countTotal == "boolean" &&
typeof e.reverse == "boolean"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Ge.typeUrl ||
((e.key instanceof Uint8Array || typeof e.key == "string") &&
typeof e.offset == "bigint" &&
typeof e.limit == "bigint" &&
typeof e.count_total == "boolean" &&
typeof e.reverse == "boolean"))
);
},
encode(e, t = re.create()) {
return (
e.key.length !== 0 && t.uint32(10).bytes(e.key),
e.offset !== BigInt(0) && t.uint32(16).uint64(e.offset),
e.limit !== BigInt(0) && t.uint32(24).uint64(e.limit),
e.countTotal === !0 && t.uint32(32).bool(e.countTotal),
e.reverse === !0 && t.uint32(40).bool(e.reverse),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = sw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.key = r.bytes();
break;
case 2:
n.offset = r.uint64();
break;
case 3:
n.limit = r.uint64();
break;
case 4:
n.countTotal = r.bool();
break;
case 5:
n.reverse = r.bool();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
key: B(e.key) ? ke(e.key) : new Uint8Array(),
offset: B(e.offset) ? BigInt(e.offset.toString()) : BigInt(0),
limit: B(e.limit) ? BigInt(e.limit.toString()) : BigInt(0),
countTotal: B(e.countTotal) ? !!e.countTotal : !1,
reverse: B(e.reverse) ? !!e.reverse : !1,
};
},
toJSON(e) {
let t = {};
return (
e.key !== void 0 &&
(t.key = Ee(e.key !== void 0 ? e.key : new Uint8Array())),
e.offset !== void 0 &&
(t.offset = (e.offset || BigInt(0)).toString()),
e.limit !== void 0 && (t.limit = (e.limit || BigInt(0)).toString()),
e.countTotal !== void 0 && (t.countTotal = e.countTotal),
e.reverse !== void 0 && (t.reverse = e.reverse),
t
);
},
fromPartial(e) {
let t = sw();
return (
(t.key = e.key ?? new Uint8Array()),
(t.offset =
e.offset !== void 0 && e.offset !== null
? BigInt(e.offset.toString())
: BigInt(0)),
(t.limit =
e.limit !== void 0 && e.limit !== null
? BigInt(e.limit.toString())
: BigInt(0)),
(t.countTotal = e.countTotal ?? !1),
(t.reverse = e.reverse ?? !1),
t
);
},
fromProtoMsg(e) {
return Ge.decode(e.value);
},
toProto(e) {
return Ge.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.base.query.v1beta1.PageRequest",
value: Ge.encode(e).finish(),
};
},
};
function aw() {
return { nextKey: new Uint8Array(), total: BigInt(0) };
}
var Qe = {
typeUrl: "/cosmos.base.query.v1beta1.PageResponse",
aminoType: "cosmos-sdk/PageResponse",
is(e) {
return (
e &&
(e.$typeUrl === Qe.typeUrl ||
((e.nextKey instanceof Uint8Array ||
typeof e.nextKey == "string") &&
typeof e.total == "bigint"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Qe.typeUrl ||
((e.next_key instanceof Uint8Array ||
typeof e.next_key == "string") &&
typeof e.total == "bigint"))
);
},
encode(e, t = re.create()) {
return (
e.nextKey.length !== 0 && t.uint32(10).bytes(e.nextKey),
e.total !== BigInt(0) && t.uint32(16).uint64(e.total),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = aw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.nextKey = r.bytes();
break;
case 2:
n.total = r.uint64();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
nextKey: B(e.nextKey) ? ke(e.nextKey) : new Uint8Array(),
total: B(e.total) ? BigInt(e.total.toString()) : BigInt(0),
};
},
toJSON(e) {
let t = {};
return (
e.nextKey !== void 0 &&
(t.nextKey = Ee(
e.nextKey !== void 0 ? e.nextKey : new Uint8Array(),
)),
e.total !== void 0 && (t.total = (e.total || BigInt(0)).toString()),
t
);
},
fromPartial(e) {
let t = aw();
return (
(t.nextKey = e.nextKey ?? new Uint8Array()),
(t.total =
e.total !== void 0 && e.total !== null
? BigInt(e.total.toString())
: BigInt(0)),
t
);
},
fromProtoMsg(e) {
return Qe.decode(e.value);
},
toProto(e) {
return Qe.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.base.query.v1beta1.PageResponse",
value: Qe.encode(e).finish(),
};
},
};
function iw() {
return { address: "", denom: "" };
}
var rn = {
typeUrl: "/cosmos.bank.v1beta1.QueryBalanceRequest",
aminoType: "cosmos-sdk/QueryBalanceRequest",
is(e) {
return (
e &&
(e.$typeUrl === rn.typeUrl ||
(typeof e.address == "string" && typeof e.denom == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === rn.typeUrl ||
(typeof e.address == "string" && typeof e.denom == "string"))
);
},
encode(e, t = re.create()) {
return (
e.address !== "" && t.uint32(10).string(e.address),
e.denom !== "" && t.uint32(18).string(e.denom),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = iw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.address = r.string();
break;
case 2:
n.denom = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
address: B(e.address) ? String(e.address) : "",
denom: B(e.denom) ? String(e.denom) : "",
};
},
toJSON(e) {
let t = {};
return (
e.address !== void 0 && (t.address = e.address),
e.denom !== void 0 && (t.denom = e.denom),
t
);
},
fromPartial(e) {
let t = iw();
return ((t.address = e.address ?? ""), (t.denom = e.denom ?? ""), t);
},
fromProtoMsg(e) {
return rn.decode(e.value);
},
toProto(e) {
return rn.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.bank.v1beta1.QueryBalanceRequest",
value: rn.encode(e).finish(),
};
},
};
function cw() {
return { balance: void 0 };
}
var _s = {
typeUrl: "/cosmos.bank.v1beta1.QueryBalanceResponse",
aminoType: "cosmos-sdk/QueryBalanceResponse",
is(e) {
return e && e.$typeUrl === _s.typeUrl;
},
isSDK(e) {
return e && e.$typeUrl === _s.typeUrl;
},
encode(e, t = re.create()) {
return (
e.balance !== void 0 &&
G.encode(e.balance, t.uint32(10).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = cw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.balance = G.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return { balance: B(e.balance) ? G.fromJSON(e.balance) : void 0 };
},
toJSON(e) {
let t = {};
return (
e.balance !== void 0 &&
(t.balance = e.balance ? G.toJSON(e.balance) : void 0),
t
);
},
fromPartial(e) {
let t = cw();
return (
(t.balance =
e.balance !== void 0 && e.balance !== null
? G.fromPartial(e.balance)
: void 0),
t
);
},
fromProtoMsg(e) {
return _s.decode(e.value);
},
toProto(e) {
return _s.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.bank.v1beta1.QueryBalanceResponse",
value: _s.encode(e).finish(),
};
},
};
function dw() {
return { address: "", pagination: void 0, resolveDenom: !1 };
}
var on = {
typeUrl: "/cosmos.bank.v1beta1.QueryAllBalancesRequest",
aminoType: "cosmos-sdk/QueryAllBalancesRequest",
is(e) {
return (
e &&
(e.$typeUrl === on.typeUrl ||
(typeof e.address == "string" &&
typeof e.resolveDenom == "boolean"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === on.typeUrl ||
(typeof e.address == "string" &&
typeof e.resolve_denom == "boolean"))
);
},
encode(e, t = re.create()) {
return (
e.address !== "" && t.uint32(10).string(e.address),
e.pagination !== void 0 &&
Ge.encode(e.pagination, t.uint32(18).fork()).ldelim(),
e.resolveDenom === !0 && t.uint32(24).bool(e.resolveDenom),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = dw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.address = r.string();
break;
case 2:
n.pagination = Ge.decode(r, r.uint32());
break;
case 3:
n.resolveDenom = r.bool();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
address: B(e.address) ? String(e.address) : "",
pagination: B(e.pagination) ? Ge.fromJSON(e.pagination) : void 0,
resolveDenom: B(e.resolveDenom) ? !!e.resolveDenom : !1,
};
},
toJSON(e) {
let t = {};
return (
e.address !== void 0 && (t.address = e.address),
e.pagination !== void 0 &&
(t.pagination = e.pagination ? Ge.toJSON(e.pagination) : void 0),
e.resolveDenom !== void 0 && (t.resolveDenom = e.resolveDenom),
t
);
},
fromPartial(e) {
let t = dw();
return (
(t.address = e.address ?? ""),
(t.pagination =
e.pagination !== void 0 && e.pagination !== null
? Ge.fromPartial(e.pagination)
: void 0),
(t.resolveDenom = e.resolveDenom ?? !1),
t
);
},
fromProtoMsg(e) {
return on.decode(e.value);
},
toProto(e) {
return on.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.bank.v1beta1.QueryAllBalancesRequest",
value: on.encode(e).finish(),
};
},
};
function lw() {
return { balances: [], pagination: void 0 };
}
var Fs = {
typeUrl: "/cosmos.bank.v1beta1.QueryAllBalancesResponse",
aminoType: "cosmos-sdk/QueryAllBalancesResponse",
is(e) {
return (
e &&
(e.$typeUrl === Fs.typeUrl ||
(Array.isArray(e.balances) &&
(!e.balances.length || G.is(e.balances[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Fs.typeUrl ||
(Array.isArray(e.balances) &&
(!e.balances.length || G.isSDK(e.balances[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.balances) G.encode(r, t.uint32(10).fork()).ldelim();
return (
e.pagination !== void 0 &&
Qe.encode(e.pagination, t.uint32(18).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = lw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.balances.push(G.decode(r, r.uint32()));
break;
case 2:
n.pagination = Qe.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
balances: Array.isArray(e?.balances)
? e.balances.map((t) => G.fromJSON(t))
: [],
pagination: B(e.pagination) ? Qe.fromJSON(e.pagination) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.balances
? (t.balances = e.balances.map((r) => (r ? G.toJSON(r) : void 0)))
: (t.balances = []),
e.pagination !== void 0 &&
(t.pagination = e.pagination ? Qe.toJSON(e.pagination) : void 0),
t
);
},
fromPartial(e) {
let t = lw();
return (
(t.balances = e.balances?.map((r) => G.fromPartial(r)) || []),
(t.pagination =
e.pagination !== void 0 && e.pagination !== null
? Qe.fromPartial(e.pagination)
: void 0),
t
);
},
fromProtoMsg(e) {
return Fs.decode(e.value);
},
toProto(e) {
return Fs.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.bank.v1beta1.QueryAllBalancesResponse",
value: Fs.encode(e).finish(),
};
},
};
function uw() {
return { fromAddress: "", toAddress: "", amount: [] };
}
var nn = {
typeUrl: "/cosmos.bank.v1beta1.MsgSend",
aminoType: "cosmos-sdk/MsgSend",
is(e) {
return (
e &&
(e.$typeUrl === nn.typeUrl ||
(typeof e.fromAddress == "string" &&
typeof e.toAddress == "string" &&
Array.isArray(e.amount) &&
(!e.amount.length || G.is(e.amount[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === nn.typeUrl ||
(typeof e.from_address == "string" &&
typeof e.to_address == "string" &&
Array.isArray(e.amount) &&
(!e.amount.length || G.isSDK(e.amount[0]))))
);
},
encode(e, t = re.create()) {
(e.fromAddress !== "" && t.uint32(10).string(e.fromAddress),
e.toAddress !== "" && t.uint32(18).string(e.toAddress));
for (let r of e.amount) G.encode(r, t.uint32(26).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = uw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.fromAddress = r.string();
break;
case 2:
n.toAddress = r.string();
break;
case 3:
n.amount.push(G.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
fromAddress: B(e.fromAddress) ? String(e.fromAddress) : "",
toAddress: B(e.toAddress) ? String(e.toAddress) : "",
amount: Array.isArray(e?.amount)
? e.amount.map((t) => G.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.fromAddress !== void 0 && (t.fromAddress = e.fromAddress),
e.toAddress !== void 0 && (t.toAddress = e.toAddress),
e.amount
? (t.amount = e.amount.map((r) => (r ? G.toJSON(r) : void 0)))
: (t.amount = []),
t
);
},
fromPartial(e) {
let t = uw();
return (
(t.fromAddress = e.fromAddress ?? ""),
(t.toAddress = e.toAddress ?? ""),
(t.amount = e.amount?.map((r) => G.fromPartial(r)) || []),
t
);
},
fromProtoMsg(e) {
return nn.decode(e.value);
},
toProto(e) {
return nn.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.bank.v1beta1.MsgSend",
value: nn.encode(e).finish(),
};
},
};
function pw() {
return {};
}
var Ks = {
typeUrl: "/cosmos.bank.v1beta1.MsgSendResponse",
aminoType: "cosmos-sdk/MsgSendResponse",
is(e) {
return e && e.$typeUrl === Ks.typeUrl;
},
isSDK(e) {
return e && e.$typeUrl === Ks.typeUrl;
},
encode(e, t = re.create()) {
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = pw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {};
},
toJSON(e) {
return {};
},
fromPartial(e) {
return pw();
},
fromProtoMsg(e) {
return Ks.decode(e.value);
},
toProto(e) {
return Ks.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.bank.v1beta1.MsgSendResponse",
value: Ks.encode(e).finish(),
};
},
};
function mw() {
return { validatorAddress: "", reward: [] };
}
var dr = {
typeUrl: "/cosmos.distribution.v1beta1.DelegationDelegatorReward",
aminoType: "cosmos-sdk/DelegationDelegatorReward",
is(e) {
return (
e &&
(e.$typeUrl === dr.typeUrl ||
(typeof e.validatorAddress == "string" &&
Array.isArray(e.reward) &&
(!e.reward.length || Ye.is(e.reward[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === dr.typeUrl ||
(typeof e.validator_address == "string" &&
Array.isArray(e.reward) &&
(!e.reward.length || Ye.isSDK(e.reward[0]))))
);
},
encode(e, t = re.create()) {
e.validatorAddress !== "" && t.uint32(10).string(e.validatorAddress);
for (let r of e.reward) Ye.encode(r, t.uint32(18).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = mw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.validatorAddress = r.string();
break;
case 2:
n.reward.push(Ye.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
validatorAddress: B(e.validatorAddress)
? String(e.validatorAddress)
: "",
reward: Array.isArray(e?.reward)
? e.reward.map((t) => Ye.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.validatorAddress !== void 0 &&
(t.validatorAddress = e.validatorAddress),
e.reward
? (t.reward = e.reward.map((r) => (r ? Ye.toJSON(r) : void 0)))
: (t.reward = []),
t
);
},
fromPartial(e) {
let t = mw();
return (
(t.validatorAddress = e.validatorAddress ?? ""),
(t.reward = e.reward?.map((r) => Ye.fromPartial(r)) || []),
t
);
},
fromProtoMsg(e) {
return dr.decode(e.value);
},
toProto(e) {
return dr.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.distribution.v1beta1.DelegationDelegatorReward",
value: dr.encode(e).finish(),
};
},
};
function fw() {
return { delegatorAddress: "", validatorAddress: "" };
}
var Js = {
typeUrl: "/cosmos.distribution.v1beta1.QueryDelegationRewardsRequest",
aminoType: "cosmos-sdk/QueryDelegationRewardsRequest",
is(e) {
return (
e &&
(e.$typeUrl === Js.typeUrl ||
(typeof e.delegatorAddress == "string" &&
typeof e.validatorAddress == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Js.typeUrl ||
(typeof e.delegator_address == "string" &&
typeof e.validator_address == "string"))
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddress !== "" && t.uint32(10).string(e.delegatorAddress),
e.validatorAddress !== "" && t.uint32(18).string(e.validatorAddress),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = fw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddress = r.string();
break;
case 2:
n.validatorAddress = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddress: B(e.delegatorAddress)
? String(e.delegatorAddress)
: "",
validatorAddress: B(e.validatorAddress)
? String(e.validatorAddress)
: "",
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddress !== void 0 &&
(t.delegatorAddress = e.delegatorAddress),
e.validatorAddress !== void 0 &&
(t.validatorAddress = e.validatorAddress),
t
);
},
fromPartial(e) {
let t = fw();
return (
(t.delegatorAddress = e.delegatorAddress ?? ""),
(t.validatorAddress = e.validatorAddress ?? ""),
t
);
},
fromProtoMsg(e) {
return Js.decode(e.value);
},
toProto(e) {
return Js.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.distribution.v1beta1.QueryDelegationRewardsRequest",
value: Js.encode(e).finish(),
};
},
};
function yw() {
return { rewards: [] };
}
var Vs = {
typeUrl: "/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse",
aminoType: "cosmos-sdk/QueryDelegationRewardsResponse",
is(e) {
return (
e &&
(e.$typeUrl === Vs.typeUrl ||
(Array.isArray(e.rewards) &&
(!e.rewards.length || Ye.is(e.rewards[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Vs.typeUrl ||
(Array.isArray(e.rewards) &&
(!e.rewards.length || Ye.isSDK(e.rewards[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.rewards) Ye.encode(r, t.uint32(10).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = yw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.rewards.push(Ye.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
rewards: Array.isArray(e?.rewards)
? e.rewards.map((t) => Ye.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.rewards
? (t.rewards = e.rewards.map((r) => (r ? Ye.toJSON(r) : void 0)))
: (t.rewards = []),
t
);
},
fromPartial(e) {
let t = yw();
return (
(t.rewards = e.rewards?.map((r) => Ye.fromPartial(r)) || []),
t
);
},
fromProtoMsg(e) {
return Vs.decode(e.value);
},
toProto(e) {
return Vs.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl:
"/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse",
value: Vs.encode(e).finish(),
};
},
};
function gw() {
return { delegatorAddress: "" };
}
var Hs = {
typeUrl:
"/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest",
aminoType: "cosmos-sdk/QueryDelegationTotalRewardsRequest",
is(e) {
return (
e &&
(e.$typeUrl === Hs.typeUrl || typeof e.delegatorAddress == "string")
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Hs.typeUrl || typeof e.delegator_address == "string")
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddress !== "" && t.uint32(10).string(e.delegatorAddress),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = gw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddress = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddress: B(e.delegatorAddress)
? String(e.delegatorAddress)
: "",
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddress !== void 0 &&
(t.delegatorAddress = e.delegatorAddress),
t
);
},
fromPartial(e) {
let t = gw();
return ((t.delegatorAddress = e.delegatorAddress ?? ""), t);
},
fromProtoMsg(e) {
return Hs.decode(e.value);
},
toProto(e) {
return Hs.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl:
"/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest",
value: Hs.encode(e).finish(),
};
},
};
function hw() {
return { rewards: [], total: [] };
}
var Ws = {
typeUrl:
"/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse",
aminoType: "cosmos-sdk/QueryDelegationTotalRewardsResponse",
is(e) {
return (
e &&
(e.$typeUrl === Ws.typeUrl ||
(Array.isArray(e.rewards) &&
(!e.rewards.length || dr.is(e.rewards[0])) &&
Array.isArray(e.total) &&
(!e.total.length || Ye.is(e.total[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Ws.typeUrl ||
(Array.isArray(e.rewards) &&
(!e.rewards.length || dr.isSDK(e.rewards[0])) &&
Array.isArray(e.total) &&
(!e.total.length || Ye.isSDK(e.total[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.rewards) dr.encode(r, t.uint32(10).fork()).ldelim();
for (let r of e.total) Ye.encode(r, t.uint32(18).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = hw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.rewards.push(dr.decode(r, r.uint32()));
break;
case 2:
n.total.push(Ye.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
rewards: Array.isArray(e?.rewards)
? e.rewards.map((t) => dr.fromJSON(t))
: [],
total: Array.isArray(e?.total)
? e.total.map((t) => Ye.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.rewards
? (t.rewards = e.rewards.map((r) => (r ? dr.toJSON(r) : void 0)))
: (t.rewards = []),
e.total
? (t.total = e.total.map((r) => (r ? Ye.toJSON(r) : void 0)))
: (t.total = []),
t
);
},
fromPartial(e) {
let t = hw();
return (
(t.rewards = e.rewards?.map((r) => dr.fromPartial(r)) || []),
(t.total = e.total?.map((r) => Ye.fromPartial(r)) || []),
t
);
},
fromProtoMsg(e) {
return Ws.decode(e.value);
},
toProto(e) {
return Ws.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl:
"/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse",
value: Ws.encode(e).finish(),
};
},
};
function bw() {
return { delegatorAddress: "", validatorAddress: "" };
}
var Ls = {
typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
aminoType: "cosmos-sdk/MsgWithdrawDelegationReward",
is(e) {
return (
e &&
(e.$typeUrl === Ls.typeUrl ||
(typeof e.delegatorAddress == "string" &&
typeof e.validatorAddress == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Ls.typeUrl ||
(typeof e.delegator_address == "string" &&
typeof e.validator_address == "string"))
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddress !== "" && t.uint32(10).string(e.delegatorAddress),
e.validatorAddress !== "" && t.uint32(18).string(e.validatorAddress),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = bw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddress = r.string();
break;
case 2:
n.validatorAddress = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddress: B(e.delegatorAddress)
? String(e.delegatorAddress)
: "",
validatorAddress: B(e.validatorAddress)
? String(e.validatorAddress)
: "",
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddress !== void 0 &&
(t.delegatorAddress = e.delegatorAddress),
e.validatorAddress !== void 0 &&
(t.validatorAddress = e.validatorAddress),
t
);
},
fromPartial(e) {
let t = bw();
return (
(t.delegatorAddress = e.delegatorAddress ?? ""),
(t.validatorAddress = e.validatorAddress ?? ""),
t
);
},
fromProtoMsg(e) {
return Ls.decode(e.value);
},
toProto(e) {
return Ls.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
value: Ls.encode(e).finish(),
};
},
};
function vw() {
return { amount: [] };
}
var qs = {
typeUrl:
"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse",
aminoType: "cosmos-sdk/MsgWithdrawDelegatorRewardResponse",
is(e) {
return (
e &&
(e.$typeUrl === qs.typeUrl ||
(Array.isArray(e.amount) &&
(!e.amount.length || G.is(e.amount[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === qs.typeUrl ||
(Array.isArray(e.amount) &&
(!e.amount.length || G.isSDK(e.amount[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.amount) G.encode(r, t.uint32(10).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = vw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.amount.push(G.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
amount: Array.isArray(e?.amount)
? e.amount.map((t) => G.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.amount
? (t.amount = e.amount.map((r) => (r ? G.toJSON(r) : void 0)))
: (t.amount = []),
t
);
},
fromPartial(e) {
let t = vw();
return ((t.amount = e.amount?.map((r) => G.fromPartial(r)) || []), t);
},
fromProtoMsg(e) {
return qs.decode(e.value);
},
toProto(e) {
return qs.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl:
"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse",
value: qs.encode(e).finish(),
};
},
};
var ui = class e {
static registry = {};
static aminoProtoMapping = {};
static existingTypeUrls = [];
static registerExistingTypeUrl(t) {
return e.existingTypeUrls.includes(t)
? !1
: (e.existingTypeUrls.push(t), !0);
}
static registerAminoProtoMapping(t, r) {
e.aminoProtoMapping[t] = r;
}
static register(t, r) {
e.registry[t] = r;
}
static getDecoder(t) {
return e.registry[t];
}
static getDecoderByInstance(t) {
if (t == null) return null;
let r = t;
if (r.$typeUrl) return e.getDecoder(r.$typeUrl);
for (let o in e.registry)
if (Object.prototype.hasOwnProperty.call(e.registry, o)) {
let n = e.registry[o];
if (
n.is(t) ||
(n.isSDK && n.isSDK(t)) ||
(n.isAmino && n.isAmino(t))
)
return n;
}
return null;
}
static getDecoderByAminoType(t) {
if (t == null) return null;
let r = e.aminoProtoMapping[t];
return r ? e.getDecoder(r) : null;
}
static wrapAny(t) {
if (fe.is(t)) return t;
let r = _o(t);
return { typeUrl: r.typeUrl, value: r.encode(t).finish() };
}
static unwrapAny(t) {
let r;
if (fe.is(t)) r = t;
else {
let n = t instanceof $ ? t : new $(t);
r = fe.decode(n, n.uint32());
}
let o = e.getDecoder(r.typeUrl);
return o ? o.decode(r.value) : r;
}
static fromJSON(t) {
return _o(t).fromJSON(t);
}
static toJSON(t) {
return _o(t).toJSON(t);
}
static fromPartial(t) {
let r = _o(t);
return r ? r.fromPartial(t) : t;
}
static fromSDK(t) {
return _o(t).fromSDK(t);
}
static fromSDKJSON(t) {
return _o(t).fromSDKJSON(t);
}
static toSDK(t) {
return _o(t).toSDK(t);
}
static fromAmino(t) {
return _o(t).fromAmino(t);
}
static fromAminoMsg(t) {
let r = e.getDecoderByAminoType(t.type);
if (!r)
throw new Error(`There's no decoder for the amino type ${t.type}`);
return r.fromAminoMsg(t);
}
static toAmino(t) {
let r, o;
return (
fe.is(t)
? ((r = e.unwrapAny(t)),
(o = e.getDecoder(t.typeUrl)),
o || (o = fe))
: ((r = t), (o = _o(t))),
o.toAmino(r)
);
}
static toAminoMsg(t) {
let r, o;
return (
fe.is(t)
? ((r = e.unwrapAny(t)),
(o = e.getDecoder(t.typeUrl)),
o || (o = fe))
: ((r = t), (o = _o(t))),
o.toAminoMsg(r)
);
}
};
function _o(e) {
let t = ui.getDecoderByInstance(e);
if (!t)
throw new Error(
`There's no decoder for the instance ${JSON.stringify(e)}`,
);
return t;
}
ui.register(fe.typeUrl, fe);
var xN = ((e) => (
(e[(e.BOND_STATUS_UNSPECIFIED = 0)] = "BOND_STATUS_UNSPECIFIED"),
(e[(e.BOND_STATUS_UNBONDED = 1)] = "BOND_STATUS_UNBONDED"),
(e[(e.BOND_STATUS_UNBONDING = 2)] = "BOND_STATUS_UNBONDING"),
(e[(e.BOND_STATUS_BONDED = 3)] = "BOND_STATUS_BONDED"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))(xN || {});
var AN = ((e) => (
(e[(e.INFRACTION_UNSPECIFIED = 0)] = "INFRACTION_UNSPECIFIED"),
(e[(e.INFRACTION_DOUBLE_SIGN = 1)] = "INFRACTION_DOUBLE_SIGN"),
(e[(e.INFRACTION_DOWNTIME = 2)] = "INFRACTION_DOWNTIME"),
(e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"),
e
))(AN || {});
function Sw() {
return { delegatorAddress: "", validatorAddress: "", shares: "" };
}
var Xt = {
typeUrl: "/cosmos.staking.v1beta1.Delegation",
annotations: {
"gogoproto.nullable": { shares: !1 },
typeUrlFromField: { shares: "cosmos.Dec" },
},
aminoType: "cosmos-sdk/Delegation",
is(e) {
return (
e &&
(e.$typeUrl === Xt.typeUrl ||
(typeof e.delegatorAddress == "string" &&
typeof e.validatorAddress == "string" &&
typeof e.shares == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Xt.typeUrl ||
(typeof e.delegator_address == "string" &&
typeof e.validator_address == "string" &&
typeof e.shares == "string"))
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddress !== "" && t.uint32(10).string(e.delegatorAddress),
e.validatorAddress !== "" && t.uint32(18).string(e.validatorAddress),
e.shares !== "" &&
t.uint32(26).string(Cr.fromUserInput(e.shares, 18).atomics),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Sw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddress = r.string();
break;
case 2:
n.validatorAddress = r.string();
break;
case 3:
n.shares = Cr.fromAtomics(r.string(), 18).toString();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddress: B(e.delegatorAddress)
? String(e.delegatorAddress)
: "",
validatorAddress: B(e.validatorAddress)
? String(e.validatorAddress)
: "",
shares: B(e.shares) ? String(e.shares) : "",
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddress !== void 0 &&
(t.delegatorAddress = e.delegatorAddress),
e.validatorAddress !== void 0 &&
(t.validatorAddress = e.validatorAddress),
e.shares !== void 0 && (t.shares = e.shares),
t
);
},
fromPartial(e) {
let t = Sw();
return (
(t.delegatorAddress = e.delegatorAddress ?? ""),
(t.validatorAddress = e.validatorAddress ?? ""),
(t.shares = e.shares ?? ""),
t
);
},
fromProtoMsg(e) {
return Xt.decode(e.value);
},
toProto(e) {
return Xt.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.Delegation",
value: Xt.encode(e).finish(),
};
},
};
function xw() {
return { delegatorAddress: "", validatorAddress: "", entries: [] };
}
var at = {
typeUrl: "/cosmos.staking.v1beta1.UnbondingDelegation",
aminoType: "cosmos-sdk/UnbondingDelegation",
is(e) {
return (
e &&
(e.$typeUrl === at.typeUrl ||
(typeof e.delegatorAddress == "string" &&
typeof e.validatorAddress == "string" &&
Array.isArray(e.entries) &&
(!e.entries.length || Dr.is(e.entries[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === at.typeUrl ||
(typeof e.delegator_address == "string" &&
typeof e.validator_address == "string" &&
Array.isArray(e.entries) &&
(!e.entries.length || Dr.isSDK(e.entries[0]))))
);
},
encode(e, t = re.create()) {
(e.delegatorAddress !== "" && t.uint32(10).string(e.delegatorAddress),
e.validatorAddress !== "" && t.uint32(18).string(e.validatorAddress));
for (let r of e.entries) Dr.encode(r, t.uint32(26).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = xw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddress = r.string();
break;
case 2:
n.validatorAddress = r.string();
break;
case 3:
n.entries.push(Dr.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddress: B(e.delegatorAddress)
? String(e.delegatorAddress)
: "",
validatorAddress: B(e.validatorAddress)
? String(e.validatorAddress)
: "",
entries: Array.isArray(e?.entries)
? e.entries.map((t) => Dr.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddress !== void 0 &&
(t.delegatorAddress = e.delegatorAddress),
e.validatorAddress !== void 0 &&
(t.validatorAddress = e.validatorAddress),
e.entries
? (t.entries = e.entries.map((r) => (r ? Dr.toJSON(r) : void 0)))
: (t.entries = []),
t
);
},
fromPartial(e) {
let t = xw();
return (
(t.delegatorAddress = e.delegatorAddress ?? ""),
(t.validatorAddress = e.validatorAddress ?? ""),
(t.entries = e.entries?.map((r) => Dr.fromPartial(r)) || []),
t
);
},
fromProtoMsg(e) {
return at.decode(e.value);
},
toProto(e) {
return at.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.UnbondingDelegation",
value: at.encode(e).finish(),
};
},
};
function Aw() {
return {
creationHeight: BigInt(0),
completionTime: we.fromPartial({}),
initialBalance: "",
balance: "",
unbondingId: BigInt(0),
unbondingOnHoldRefCount: BigInt(0),
};
}
var Dr = {
typeUrl: "/cosmos.staking.v1beta1.UnbondingDelegationEntry",
annotations: {
"amino.dont_omitempty": { completionTime: !0 },
"gogoproto.nullable": {
balance: !1,
completionTime: !1,
initialBalance: !1,
},
typeUrlFromField: {
balance: "cosmos.Int",
completionTime: () => we,
initialBalance: "cosmos.Int",
},
},
aminoType: "cosmos-sdk/UnbondingDelegationEntry",
is(e) {
return (
e &&
(e.$typeUrl === Dr.typeUrl ||
(typeof e.creationHeight == "bigint" &&
we.is(e.completionTime) &&
typeof e.initialBalance == "string" &&
typeof e.balance == "string" &&
typeof e.unbondingId == "bigint" &&
typeof e.unbondingOnHoldRefCount == "bigint"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Dr.typeUrl ||
(typeof e.creation_height == "bigint" &&
we.isSDK(e.completion_time) &&
typeof e.initial_balance == "string" &&
typeof e.balance == "string" &&
typeof e.unbonding_id == "bigint" &&
typeof e.unbonding_on_hold_ref_count == "bigint"))
);
},
encode(e, t = re.create()) {
return (
e.creationHeight !== BigInt(0) && t.uint32(8).int64(e.creationHeight),
e.completionTime !== void 0 &&
we.encode(e.completionTime, t.uint32(18).fork()).ldelim(),
e.initialBalance !== "" && t.uint32(26).string(e.initialBalance),
e.balance !== "" && t.uint32(34).string(e.balance),
e.unbondingId !== BigInt(0) && t.uint32(40).uint64(e.unbondingId),
e.unbondingOnHoldRefCount !== BigInt(0) &&
t.uint32(48).int64(e.unbondingOnHoldRefCount),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Aw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.creationHeight = r.int64();
break;
case 2:
n.completionTime = we.decode(r, r.uint32());
break;
case 3:
n.initialBalance = r.string();
break;
case 4:
n.balance = r.string();
break;
case 5:
n.unbondingId = r.uint64();
break;
case 6:
n.unbondingOnHoldRefCount = r.int64();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
creationHeight: B(e.creationHeight)
? BigInt(e.creationHeight.toString())
: BigInt(0),
completionTime: B(e.completionTime) ? Ur(e.completionTime) : void 0,
initialBalance: B(e.initialBalance) ? String(e.initialBalance) : "",
balance: B(e.balance) ? String(e.balance) : "",
unbondingId: B(e.unbondingId)
? BigInt(e.unbondingId.toString())
: BigInt(0),
unbondingOnHoldRefCount: B(e.unbondingOnHoldRefCount)
? BigInt(e.unbondingOnHoldRefCount.toString())
: BigInt(0),
};
},
toJSON(e) {
let t = {};
return (
e.creationHeight !== void 0 &&
(t.creationHeight = (e.creationHeight || BigInt(0)).toString()),
e.completionTime !== void 0 &&
(t.completionTime = Tr(e.completionTime).toISOString()),
e.initialBalance !== void 0 && (t.initialBalance = e.initialBalance),
e.balance !== void 0 && (t.balance = e.balance),
e.unbondingId !== void 0 &&
(t.unbondingId = (e.unbondingId || BigInt(0)).toString()),
e.unbondingOnHoldRefCount !== void 0 &&
(t.unbondingOnHoldRefCount = (
e.unbondingOnHoldRefCount || BigInt(0)
).toString()),
t
);
},
fromPartial(e) {
let t = Aw();
return (
(t.creationHeight =
e.creationHeight !== void 0 && e.creationHeight !== null
? BigInt(e.creationHeight.toString())
: BigInt(0)),
(t.completionTime =
e.completionTime !== void 0 && e.completionTime !== null
? we.fromPartial(e.completionTime)
: void 0),
(t.initialBalance = e.initialBalance ?? ""),
(t.balance = e.balance ?? ""),
(t.unbondingId =
e.unbondingId !== void 0 && e.unbondingId !== null
? BigInt(e.unbondingId.toString())
: BigInt(0)),
(t.unbondingOnHoldRefCount =
e.unbondingOnHoldRefCount !== void 0 &&
e.unbondingOnHoldRefCount !== null
? BigInt(e.unbondingOnHoldRefCount.toString())
: BigInt(0)),
t
);
},
fromProtoMsg(e) {
return Dr.decode(e.value);
},
toProto(e) {
return Dr.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.UnbondingDelegationEntry",
value: Dr.encode(e).finish(),
};
},
};
function ww() {
return {
creationHeight: BigInt(0),
completionTime: we.fromPartial({}),
initialBalance: "",
sharesDst: "",
unbondingId: BigInt(0),
unbondingOnHoldRefCount: BigInt(0),
};
}
var lt = {
typeUrl: "/cosmos.staking.v1beta1.RedelegationEntry",
annotations: {
"amino.dont_omitempty": { completionTime: !0 },
"gogoproto.nullable": {
completionTime: !1,
initialBalance: !1,
sharesDst: !1,
},
typeUrlFromField: {
completionTime: () => we,
initialBalance: "cosmos.Int",
sharesDst: "cosmos.Dec",
},
},
aminoType: "cosmos-sdk/RedelegationEntry",
is(e) {
return (
e &&
(e.$typeUrl === lt.typeUrl ||
(typeof e.creationHeight == "bigint" &&
we.is(e.completionTime) &&
typeof e.initialBalance == "string" &&
typeof e.sharesDst == "string" &&
typeof e.unbondingId == "bigint" &&
typeof e.unbondingOnHoldRefCount == "bigint"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === lt.typeUrl ||
(typeof e.creation_height == "bigint" &&
we.isSDK(e.completion_time) &&
typeof e.initial_balance == "string" &&
typeof e.shares_dst == "string" &&
typeof e.unbonding_id == "bigint" &&
typeof e.unbonding_on_hold_ref_count == "bigint"))
);
},
encode(e, t = re.create()) {
return (
e.creationHeight !== BigInt(0) && t.uint32(8).int64(e.creationHeight),
e.completionTime !== void 0 &&
we.encode(e.completionTime, t.uint32(18).fork()).ldelim(),
e.initialBalance !== "" && t.uint32(26).string(e.initialBalance),
e.sharesDst !== "" &&
t.uint32(34).string(Cr.fromUserInput(e.sharesDst, 18).atomics),
e.unbondingId !== BigInt(0) && t.uint32(40).uint64(e.unbondingId),
e.unbondingOnHoldRefCount !== BigInt(0) &&
t.uint32(48).int64(e.unbondingOnHoldRefCount),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = ww();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.creationHeight = r.int64();
break;
case 2:
n.completionTime = we.decode(r, r.uint32());
break;
case 3:
n.initialBalance = r.string();
break;
case 4:
n.sharesDst = Cr.fromAtomics(r.string(), 18).toString();
break;
case 5:
n.unbondingId = r.uint64();
break;
case 6:
n.unbondingOnHoldRefCount = r.int64();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
creationHeight: B(e.creationHeight)
? BigInt(e.creationHeight.toString())
: BigInt(0),
completionTime: B(e.completionTime) ? Ur(e.completionTime) : void 0,
initialBalance: B(e.initialBalance) ? String(e.initialBalance) : "",
sharesDst: B(e.sharesDst) ? String(e.sharesDst) : "",
unbondingId: B(e.unbondingId)
? BigInt(e.unbondingId.toString())
: BigInt(0),
unbondingOnHoldRefCount: B(e.unbondingOnHoldRefCount)
? BigInt(e.unbondingOnHoldRefCount.toString())
: BigInt(0),
};
},
toJSON(e) {
let t = {};
return (
e.creationHeight !== void 0 &&
(t.creationHeight = (e.creationHeight || BigInt(0)).toString()),
e.completionTime !== void 0 &&
(t.completionTime = Tr(e.completionTime).toISOString()),
e.initialBalance !== void 0 && (t.initialBalance = e.initialBalance),
e.sharesDst !== void 0 && (t.sharesDst = e.sharesDst),
e.unbondingId !== void 0 &&
(t.unbondingId = (e.unbondingId || BigInt(0)).toString()),
e.unbondingOnHoldRefCount !== void 0 &&
(t.unbondingOnHoldRefCount = (
e.unbondingOnHoldRefCount || BigInt(0)
).toString()),
t
);
},
fromPartial(e) {
let t = ww();
return (
(t.creationHeight =
e.creationHeight !== void 0 && e.creationHeight !== null
? BigInt(e.creationHeight.toString())
: BigInt(0)),
(t.completionTime =
e.completionTime !== void 0 && e.completionTime !== null
? we.fromPartial(e.completionTime)
: void 0),
(t.initialBalance = e.initialBalance ?? ""),
(t.sharesDst = e.sharesDst ?? ""),
(t.unbondingId =
e.unbondingId !== void 0 && e.unbondingId !== null
? BigInt(e.unbondingId.toString())
: BigInt(0)),
(t.unbondingOnHoldRefCount =
e.unbondingOnHoldRefCount !== void 0 &&
e.unbondingOnHoldRefCount !== null
? BigInt(e.unbondingOnHoldRefCount.toString())
: BigInt(0)),
t
);
},
fromProtoMsg(e) {
return lt.decode(e.value);
},
toProto(e) {
return lt.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.RedelegationEntry",
value: lt.encode(e).finish(),
};
},
};
function Pw() {
return {
delegatorAddress: "",
validatorSrcAddress: "",
validatorDstAddress: "",
entries: [],
};
}
var er = {
typeUrl: "/cosmos.staking.v1beta1.Redelegation",
aminoType: "cosmos-sdk/Redelegation",
is(e) {
return (
e &&
(e.$typeUrl === er.typeUrl ||
(typeof e.delegatorAddress == "string" &&
typeof e.validatorSrcAddress == "string" &&
typeof e.validatorDstAddress == "string" &&
Array.isArray(e.entries) &&
(!e.entries.length || lt.is(e.entries[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === er.typeUrl ||
(typeof e.delegator_address == "string" &&
typeof e.validator_src_address == "string" &&
typeof e.validator_dst_address == "string" &&
Array.isArray(e.entries) &&
(!e.entries.length || lt.isSDK(e.entries[0]))))
);
},
encode(e, t = re.create()) {
(e.delegatorAddress !== "" && t.uint32(10).string(e.delegatorAddress),
e.validatorSrcAddress !== "" &&
t.uint32(18).string(e.validatorSrcAddress),
e.validatorDstAddress !== "" &&
t.uint32(26).string(e.validatorDstAddress));
for (let r of e.entries) lt.encode(r, t.uint32(34).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Pw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddress = r.string();
break;
case 2:
n.validatorSrcAddress = r.string();
break;
case 3:
n.validatorDstAddress = r.string();
break;
case 4:
n.entries.push(lt.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddress: B(e.delegatorAddress)
? String(e.delegatorAddress)
: "",
validatorSrcAddress: B(e.validatorSrcAddress)
? String(e.validatorSrcAddress)
: "",
validatorDstAddress: B(e.validatorDstAddress)
? String(e.validatorDstAddress)
: "",
entries: Array.isArray(e?.entries)
? e.entries.map((t) => lt.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddress !== void 0 &&
(t.delegatorAddress = e.delegatorAddress),
e.validatorSrcAddress !== void 0 &&
(t.validatorSrcAddress = e.validatorSrcAddress),
e.validatorDstAddress !== void 0 &&
(t.validatorDstAddress = e.validatorDstAddress),
e.entries
? (t.entries = e.entries.map((r) => (r ? lt.toJSON(r) : void 0)))
: (t.entries = []),
t
);
},
fromPartial(e) {
let t = Pw();
return (
(t.delegatorAddress = e.delegatorAddress ?? ""),
(t.validatorSrcAddress = e.validatorSrcAddress ?? ""),
(t.validatorDstAddress = e.validatorDstAddress ?? ""),
(t.entries = e.entries?.map((r) => lt.fromPartial(r)) || []),
t
);
},
fromProtoMsg(e) {
return er.decode(e.value);
},
toProto(e) {
return er.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.Redelegation",
value: er.encode(e).finish(),
};
},
};
function kw() {
return { delegation: Xt.fromPartial({}), balance: G.fromPartial({}) };
}
var Tt = {
typeUrl: "/cosmos.staking.v1beta1.DelegationResponse",
annotations: {
"amino.dont_omitempty": { balance: !0, delegation: !0 },
"gogoproto.nullable": { balance: !1, delegation: !1 },
typeUrlFromField: { balance: () => G, delegation: () => Xt },
},
aminoType: "cosmos-sdk/DelegationResponse",
is(e) {
return (
e &&
(e.$typeUrl === Tt.typeUrl ||
(Xt.is(e.delegation) && G.is(e.balance)))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Tt.typeUrl ||
(Xt.isSDK(e.delegation) && G.isSDK(e.balance)))
);
},
encode(e, t = re.create()) {
return (
e.delegation !== void 0 &&
Xt.encode(e.delegation, t.uint32(10).fork()).ldelim(),
e.balance !== void 0 &&
G.encode(e.balance, t.uint32(18).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = kw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegation = Xt.decode(r, r.uint32());
break;
case 2:
n.balance = G.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegation: B(e.delegation) ? Xt.fromJSON(e.delegation) : void 0,
balance: B(e.balance) ? G.fromJSON(e.balance) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.delegation !== void 0 &&
(t.delegation = e.delegation ? Xt.toJSON(e.delegation) : void 0),
e.balance !== void 0 &&
(t.balance = e.balance ? G.toJSON(e.balance) : void 0),
t
);
},
fromPartial(e) {
let t = kw();
return (
(t.delegation =
e.delegation !== void 0 && e.delegation !== null
? Xt.fromPartial(e.delegation)
: void 0),
(t.balance =
e.balance !== void 0 && e.balance !== null
? G.fromPartial(e.balance)
: void 0),
t
);
},
fromProtoMsg(e) {
return Tt.decode(e.value);
},
toProto(e) {
return Tt.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.DelegationResponse",
value: Tt.encode(e).finish(),
};
},
};
function Iw() {
return { redelegationEntry: lt.fromPartial({}), balance: "" };
}
var Nr = {
typeUrl: "/cosmos.staking.v1beta1.RedelegationEntryResponse",
annotations: {
"amino.dont_omitempty": { redelegationEntry: !0 },
"gogoproto.nullable": { balance: !1, redelegationEntry: !1 },
typeUrlFromField: {
balance: "cosmos.Int",
redelegationEntry: () => lt,
},
},
aminoType: "cosmos-sdk/RedelegationEntryResponse",
is(e) {
return (
e &&
(e.$typeUrl === Nr.typeUrl ||
(lt.is(e.redelegationEntry) && typeof e.balance == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Nr.typeUrl ||
(lt.isSDK(e.redelegation_entry) && typeof e.balance == "string"))
);
},
encode(e, t = re.create()) {
return (
e.redelegationEntry !== void 0 &&
lt.encode(e.redelegationEntry, t.uint32(10).fork()).ldelim(),
e.balance !== "" && t.uint32(34).string(e.balance),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Iw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.redelegationEntry = lt.decode(r, r.uint32());
break;
case 4:
n.balance = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
redelegationEntry: B(e.redelegationEntry)
? lt.fromJSON(e.redelegationEntry)
: void 0,
balance: B(e.balance) ? String(e.balance) : "",
};
},
toJSON(e) {
let t = {};
return (
e.redelegationEntry !== void 0 &&
(t.redelegationEntry = e.redelegationEntry
? lt.toJSON(e.redelegationEntry)
: void 0),
e.balance !== void 0 && (t.balance = e.balance),
t
);
},
fromPartial(e) {
let t = Iw();
return (
(t.redelegationEntry =
e.redelegationEntry !== void 0 && e.redelegationEntry !== null
? lt.fromPartial(e.redelegationEntry)
: void 0),
(t.balance = e.balance ?? ""),
t
);
},
fromProtoMsg(e) {
return Nr.decode(e.value);
},
toProto(e) {
return Nr.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.RedelegationEntryResponse",
value: Nr.encode(e).finish(),
};
},
};
function Tw() {
return { redelegation: er.fromPartial({}), entries: [] };
}
var lr = {
typeUrl: "/cosmos.staking.v1beta1.RedelegationResponse",
annotations: {
"amino.dont_omitempty": { redelegation: !0 },
"gogoproto.nullable": { redelegation: !1 },
typeUrlFromField: { redelegation: () => er },
},
aminoType: "cosmos-sdk/RedelegationResponse",
is(e) {
return (
e &&
(e.$typeUrl === lr.typeUrl ||
(er.is(e.redelegation) &&
Array.isArray(e.entries) &&
(!e.entries.length || Nr.is(e.entries[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === lr.typeUrl ||
(er.isSDK(e.redelegation) &&
Array.isArray(e.entries) &&
(!e.entries.length || Nr.isSDK(e.entries[0]))))
);
},
encode(e, t = re.create()) {
e.redelegation !== void 0 &&
er.encode(e.redelegation, t.uint32(10).fork()).ldelim();
for (let r of e.entries) Nr.encode(r, t.uint32(18).fork()).ldelim();
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Tw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.redelegation = er.decode(r, r.uint32());
break;
case 2:
n.entries.push(Nr.decode(r, r.uint32()));
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
redelegation: B(e.redelegation)
? er.fromJSON(e.redelegation)
: void 0,
entries: Array.isArray(e?.entries)
? e.entries.map((t) => Nr.fromJSON(t))
: [],
};
},
toJSON(e) {
let t = {};
return (
e.redelegation !== void 0 &&
(t.redelegation = e.redelegation
? er.toJSON(e.redelegation)
: void 0),
e.entries
? (t.entries = e.entries.map((r) => (r ? Nr.toJSON(r) : void 0)))
: (t.entries = []),
t
);
},
fromPartial(e) {
let t = Tw();
return (
(t.redelegation =
e.redelegation !== void 0 && e.redelegation !== null
? er.fromPartial(e.redelegation)
: void 0),
(t.entries = e.entries?.map((r) => Nr.fromPartial(r)) || []),
t
);
},
fromProtoMsg(e) {
return lr.decode(e.value);
},
toProto(e) {
return lr.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.RedelegationResponse",
value: lr.encode(e).finish(),
};
},
};
function Uw() {
return { delegatorAddr: "", validatorAddr: "" };
}
var js = {
typeUrl: "/cosmos.staking.v1beta1.QueryDelegationRequest",
aminoType: "cosmos-sdk/QueryDelegationRequest",
is(e) {
return (
e &&
(e.$typeUrl === js.typeUrl ||
(typeof e.delegatorAddr == "string" &&
typeof e.validatorAddr == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === js.typeUrl ||
(typeof e.delegator_addr == "string" &&
typeof e.validator_addr == "string"))
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddr !== "" && t.uint32(10).string(e.delegatorAddr),
e.validatorAddr !== "" && t.uint32(18).string(e.validatorAddr),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Uw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddr = r.string();
break;
case 2:
n.validatorAddr = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddr: B(e.delegatorAddr) ? String(e.delegatorAddr) : "",
validatorAddr: B(e.validatorAddr) ? String(e.validatorAddr) : "",
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddr !== void 0 && (t.delegatorAddr = e.delegatorAddr),
e.validatorAddr !== void 0 && (t.validatorAddr = e.validatorAddr),
t
);
},
fromPartial(e) {
let t = Uw();
return (
(t.delegatorAddr = e.delegatorAddr ?? ""),
(t.validatorAddr = e.validatorAddr ?? ""),
t
);
},
fromProtoMsg(e) {
return js.decode(e.value);
},
toProto(e) {
return js.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.QueryDelegationRequest",
value: js.encode(e).finish(),
};
},
};
function Cw() {
return { delegationResponse: void 0 };
}
var Gs = {
typeUrl: "/cosmos.staking.v1beta1.QueryDelegationResponse",
aminoType: "cosmos-sdk/QueryDelegationResponse",
is(e) {
return e && e.$typeUrl === Gs.typeUrl;
},
isSDK(e) {
return e && e.$typeUrl === Gs.typeUrl;
},
encode(e, t = re.create()) {
return (
e.delegationResponse !== void 0 &&
Tt.encode(e.delegationResponse, t.uint32(10).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Cw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegationResponse = Tt.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegationResponse: B(e.delegationResponse)
? Tt.fromJSON(e.delegationResponse)
: void 0,
};
},
toJSON(e) {
let t = {};
return (
e.delegationResponse !== void 0 &&
(t.delegationResponse = e.delegationResponse
? Tt.toJSON(e.delegationResponse)
: void 0),
t
);
},
fromPartial(e) {
let t = Cw();
return (
(t.delegationResponse =
e.delegationResponse !== void 0 && e.delegationResponse !== null
? Tt.fromPartial(e.delegationResponse)
: void 0),
t
);
},
fromProtoMsg(e) {
return Gs.decode(e.value);
},
toProto(e) {
return Gs.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.QueryDelegationResponse",
value: Gs.encode(e).finish(),
};
},
};
function Rw() {
return { delegatorAddr: "", validatorAddr: "" };
}
var Qs = {
typeUrl: "/cosmos.staking.v1beta1.QueryUnbondingDelegationRequest",
aminoType: "cosmos-sdk/QueryUnbondingDelegationRequest",
is(e) {
return (
e &&
(e.$typeUrl === Qs.typeUrl ||
(typeof e.delegatorAddr == "string" &&
typeof e.validatorAddr == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Qs.typeUrl ||
(typeof e.delegator_addr == "string" &&
typeof e.validator_addr == "string"))
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddr !== "" && t.uint32(10).string(e.delegatorAddr),
e.validatorAddr !== "" && t.uint32(18).string(e.validatorAddr),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Rw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddr = r.string();
break;
case 2:
n.validatorAddr = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddr: B(e.delegatorAddr) ? String(e.delegatorAddr) : "",
validatorAddr: B(e.validatorAddr) ? String(e.validatorAddr) : "",
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddr !== void 0 && (t.delegatorAddr = e.delegatorAddr),
e.validatorAddr !== void 0 && (t.validatorAddr = e.validatorAddr),
t
);
},
fromPartial(e) {
let t = Rw();
return (
(t.delegatorAddr = e.delegatorAddr ?? ""),
(t.validatorAddr = e.validatorAddr ?? ""),
t
);
},
fromProtoMsg(e) {
return Qs.decode(e.value);
},
toProto(e) {
return Qs.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.QueryUnbondingDelegationRequest",
value: Qs.encode(e).finish(),
};
},
};
function Ow() {
return { unbond: at.fromPartial({}) };
}
var zs = {
typeUrl: "/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse",
annotations: {
"amino.dont_omitempty": { unbond: !0 },
"gogoproto.nullable": { unbond: !1 },
typeUrlFromField: { unbond: () => at },
},
aminoType: "cosmos-sdk/QueryUnbondingDelegationResponse",
is(e) {
return e && (e.$typeUrl === zs.typeUrl || at.is(e.unbond));
},
isSDK(e) {
return e && (e.$typeUrl === zs.typeUrl || at.isSDK(e.unbond));
},
encode(e, t = re.create()) {
return (
e.unbond !== void 0 &&
at.encode(e.unbond, t.uint32(10).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Ow();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.unbond = at.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return { unbond: B(e.unbond) ? at.fromJSON(e.unbond) : void 0 };
},
toJSON(e) {
let t = {};
return (
e.unbond !== void 0 &&
(t.unbond = e.unbond ? at.toJSON(e.unbond) : void 0),
t
);
},
fromPartial(e) {
let t = Ow();
return (
(t.unbond =
e.unbond !== void 0 && e.unbond !== null
? at.fromPartial(e.unbond)
: void 0),
t
);
},
fromProtoMsg(e) {
return zs.decode(e.value);
},
toProto(e) {
return zs.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse",
value: zs.encode(e).finish(),
};
},
};
function Ew() {
return { delegatorAddr: "", pagination: void 0 };
}
var Ys = {
typeUrl: "/cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest",
aminoType: "cosmos-sdk/QueryDelegatorDelegationsRequest",
is(e) {
return (
e && (e.$typeUrl === Ys.typeUrl || typeof e.delegatorAddr == "string")
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Ys.typeUrl || typeof e.delegator_addr == "string")
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddr !== "" && t.uint32(10).string(e.delegatorAddr),
e.pagination !== void 0 &&
Ge.encode(e.pagination, t.uint32(18).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Ew();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddr = r.string();
break;
case 2:
n.pagination = Ge.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddr: B(e.delegatorAddr) ? String(e.delegatorAddr) : "",
pagination: B(e.pagination) ? Ge.fromJSON(e.pagination) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddr !== void 0 && (t.delegatorAddr = e.delegatorAddr),
e.pagination !== void 0 &&
(t.pagination = e.pagination ? Ge.toJSON(e.pagination) : void 0),
t
);
},
fromPartial(e) {
let t = Ew();
return (
(t.delegatorAddr = e.delegatorAddr ?? ""),
(t.pagination =
e.pagination !== void 0 && e.pagination !== null
? Ge.fromPartial(e.pagination)
: void 0),
t
);
},
fromProtoMsg(e) {
return Ys.decode(e.value);
},
toProto(e) {
return Ys.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest",
value: Ys.encode(e).finish(),
};
},
};
function Dw() {
return { delegationResponses: [], pagination: void 0 };
}
var Zs = {
typeUrl: "/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse",
aminoType: "cosmos-sdk/QueryDelegatorDelegationsResponse",
is(e) {
return (
e &&
(e.$typeUrl === Zs.typeUrl ||
(Array.isArray(e.delegationResponses) &&
(!e.delegationResponses.length ||
Tt.is(e.delegationResponses[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Zs.typeUrl ||
(Array.isArray(e.delegation_responses) &&
(!e.delegation_responses.length ||
Tt.isSDK(e.delegation_responses[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.delegationResponses)
Tt.encode(r, t.uint32(10).fork()).ldelim();
return (
e.pagination !== void 0 &&
Qe.encode(e.pagination, t.uint32(18).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Dw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegationResponses.push(Tt.decode(r, r.uint32()));
break;
case 2:
n.pagination = Qe.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegationResponses: Array.isArray(e?.delegationResponses)
? e.delegationResponses.map((t) => Tt.fromJSON(t))
: [],
pagination: B(e.pagination) ? Qe.fromJSON(e.pagination) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.delegationResponses
? (t.delegationResponses = e.delegationResponses.map((r) =>
r ? Tt.toJSON(r) : void 0,
))
: (t.delegationResponses = []),
e.pagination !== void 0 &&
(t.pagination = e.pagination ? Qe.toJSON(e.pagination) : void 0),
t
);
},
fromPartial(e) {
let t = Dw();
return (
(t.delegationResponses =
e.delegationResponses?.map((r) => Tt.fromPartial(r)) || []),
(t.pagination =
e.pagination !== void 0 && e.pagination !== null
? Qe.fromPartial(e.pagination)
: void 0),
t
);
},
fromProtoMsg(e) {
return Zs.decode(e.value);
},
toProto(e) {
return Zs.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse",
value: Zs.encode(e).finish(),
};
},
};
function Nw() {
return { delegatorAddr: "", pagination: void 0 };
}
var Xs = {
typeUrl:
"/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest",
aminoType: "cosmos-sdk/QueryDelegatorUnbondingDelegationsRequest",
is(e) {
return (
e && (e.$typeUrl === Xs.typeUrl || typeof e.delegatorAddr == "string")
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Xs.typeUrl || typeof e.delegator_addr == "string")
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddr !== "" && t.uint32(10).string(e.delegatorAddr),
e.pagination !== void 0 &&
Ge.encode(e.pagination, t.uint32(18).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Nw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddr = r.string();
break;
case 2:
n.pagination = Ge.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddr: B(e.delegatorAddr) ? String(e.delegatorAddr) : "",
pagination: B(e.pagination) ? Ge.fromJSON(e.pagination) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddr !== void 0 && (t.delegatorAddr = e.delegatorAddr),
e.pagination !== void 0 &&
(t.pagination = e.pagination ? Ge.toJSON(e.pagination) : void 0),
t
);
},
fromPartial(e) {
let t = Nw();
return (
(t.delegatorAddr = e.delegatorAddr ?? ""),
(t.pagination =
e.pagination !== void 0 && e.pagination !== null
? Ge.fromPartial(e.pagination)
: void 0),
t
);
},
fromProtoMsg(e) {
return Xs.decode(e.value);
},
toProto(e) {
return Xs.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl:
"/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest",
value: Xs.encode(e).finish(),
};
},
};
function Bw() {
return { unbondingResponses: [], pagination: void 0 };
}
var ea = {
typeUrl:
"/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse",
aminoType: "cosmos-sdk/QueryDelegatorUnbondingDelegationsResponse",
is(e) {
return (
e &&
(e.$typeUrl === ea.typeUrl ||
(Array.isArray(e.unbondingResponses) &&
(!e.unbondingResponses.length || at.is(e.unbondingResponses[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === ea.typeUrl ||
(Array.isArray(e.unbonding_responses) &&
(!e.unbonding_responses.length ||
at.isSDK(e.unbonding_responses[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.unbondingResponses)
at.encode(r, t.uint32(10).fork()).ldelim();
return (
e.pagination !== void 0 &&
Qe.encode(e.pagination, t.uint32(18).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Bw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.unbondingResponses.push(at.decode(r, r.uint32()));
break;
case 2:
n.pagination = Qe.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
unbondingResponses: Array.isArray(e?.unbondingResponses)
? e.unbondingResponses.map((t) => at.fromJSON(t))
: [],
pagination: B(e.pagination) ? Qe.fromJSON(e.pagination) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.unbondingResponses
? (t.unbondingResponses = e.unbondingResponses.map((r) =>
r ? at.toJSON(r) : void 0,
))
: (t.unbondingResponses = []),
e.pagination !== void 0 &&
(t.pagination = e.pagination ? Qe.toJSON(e.pagination) : void 0),
t
);
},
fromPartial(e) {
let t = Bw();
return (
(t.unbondingResponses =
e.unbondingResponses?.map((r) => at.fromPartial(r)) || []),
(t.pagination =
e.pagination !== void 0 && e.pagination !== null
? Qe.fromPartial(e.pagination)
: void 0),
t
);
},
fromProtoMsg(e) {
return ea.decode(e.value);
},
toProto(e) {
return ea.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl:
"/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse",
value: ea.encode(e).finish(),
};
},
};
function Mw() {
return {
delegatorAddr: "",
srcValidatorAddr: "",
dstValidatorAddr: "",
pagination: void 0,
};
}
var ta = {
typeUrl: "/cosmos.staking.v1beta1.QueryRedelegationsRequest",
aminoType: "cosmos-sdk/QueryRedelegationsRequest",
is(e) {
return (
e &&
(e.$typeUrl === ta.typeUrl ||
(typeof e.delegatorAddr == "string" &&
typeof e.srcValidatorAddr == "string" &&
typeof e.dstValidatorAddr == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === ta.typeUrl ||
(typeof e.delegator_addr == "string" &&
typeof e.src_validator_addr == "string" &&
typeof e.dst_validator_addr == "string"))
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddr !== "" && t.uint32(10).string(e.delegatorAddr),
e.srcValidatorAddr !== "" && t.uint32(18).string(e.srcValidatorAddr),
e.dstValidatorAddr !== "" && t.uint32(26).string(e.dstValidatorAddr),
e.pagination !== void 0 &&
Ge.encode(e.pagination, t.uint32(34).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Mw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddr = r.string();
break;
case 2:
n.srcValidatorAddr = r.string();
break;
case 3:
n.dstValidatorAddr = r.string();
break;
case 4:
n.pagination = Ge.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddr: B(e.delegatorAddr) ? String(e.delegatorAddr) : "",
srcValidatorAddr: B(e.srcValidatorAddr)
? String(e.srcValidatorAddr)
: "",
dstValidatorAddr: B(e.dstValidatorAddr)
? String(e.dstValidatorAddr)
: "",
pagination: B(e.pagination) ? Ge.fromJSON(e.pagination) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddr !== void 0 && (t.delegatorAddr = e.delegatorAddr),
e.srcValidatorAddr !== void 0 &&
(t.srcValidatorAddr = e.srcValidatorAddr),
e.dstValidatorAddr !== void 0 &&
(t.dstValidatorAddr = e.dstValidatorAddr),
e.pagination !== void 0 &&
(t.pagination = e.pagination ? Ge.toJSON(e.pagination) : void 0),
t
);
},
fromPartial(e) {
let t = Mw();
return (
(t.delegatorAddr = e.delegatorAddr ?? ""),
(t.srcValidatorAddr = e.srcValidatorAddr ?? ""),
(t.dstValidatorAddr = e.dstValidatorAddr ?? ""),
(t.pagination =
e.pagination !== void 0 && e.pagination !== null
? Ge.fromPartial(e.pagination)
: void 0),
t
);
},
fromProtoMsg(e) {
return ta.decode(e.value);
},
toProto(e) {
return ta.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.QueryRedelegationsRequest",
value: ta.encode(e).finish(),
};
},
};
function $w() {
return { redelegationResponses: [], pagination: void 0 };
}
var ra = {
typeUrl: "/cosmos.staking.v1beta1.QueryRedelegationsResponse",
aminoType: "cosmos-sdk/QueryRedelegationsResponse",
is(e) {
return (
e &&
(e.$typeUrl === ra.typeUrl ||
(Array.isArray(e.redelegationResponses) &&
(!e.redelegationResponses.length ||
lr.is(e.redelegationResponses[0]))))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === ra.typeUrl ||
(Array.isArray(e.redelegation_responses) &&
(!e.redelegation_responses.length ||
lr.isSDK(e.redelegation_responses[0]))))
);
},
encode(e, t = re.create()) {
for (let r of e.redelegationResponses)
lr.encode(r, t.uint32(10).fork()).ldelim();
return (
e.pagination !== void 0 &&
Qe.encode(e.pagination, t.uint32(18).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = $w();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.redelegationResponses.push(lr.decode(r, r.uint32()));
break;
case 2:
n.pagination = Qe.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
redelegationResponses: Array.isArray(e?.redelegationResponses)
? e.redelegationResponses.map((t) => lr.fromJSON(t))
: [],
pagination: B(e.pagination) ? Qe.fromJSON(e.pagination) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.redelegationResponses
? (t.redelegationResponses = e.redelegationResponses.map((r) =>
r ? lr.toJSON(r) : void 0,
))
: (t.redelegationResponses = []),
e.pagination !== void 0 &&
(t.pagination = e.pagination ? Qe.toJSON(e.pagination) : void 0),
t
);
},
fromPartial(e) {
let t = $w();
return (
(t.redelegationResponses =
e.redelegationResponses?.map((r) => lr.fromPartial(r)) || []),
(t.pagination =
e.pagination !== void 0 && e.pagination !== null
? Qe.fromPartial(e.pagination)
: void 0),
t
);
},
fromProtoMsg(e) {
return ra.decode(e.value);
},
toProto(e) {
return ra.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.QueryRedelegationsResponse",
value: ra.encode(e).finish(),
};
},
};
function _w() {
return {
delegatorAddress: "",
validatorAddress: "",
amount: G.fromPartial({}),
};
}
var sn = {
typeUrl: "/cosmos.staking.v1beta1.MsgDelegate",
annotations: {
"amino.dont_omitempty": { amount: !0 },
"gogoproto.nullable": { amount: !1 },
typeUrlFromField: { amount: () => G },
},
aminoType: "cosmos-sdk/MsgDelegate",
is(e) {
return (
e &&
(e.$typeUrl === sn.typeUrl ||
(typeof e.delegatorAddress == "string" &&
typeof e.validatorAddress == "string" &&
G.is(e.amount)))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === sn.typeUrl ||
(typeof e.delegator_address == "string" &&
typeof e.validator_address == "string" &&
G.isSDK(e.amount)))
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddress !== "" && t.uint32(10).string(e.delegatorAddress),
e.validatorAddress !== "" && t.uint32(18).string(e.validatorAddress),
e.amount !== void 0 &&
G.encode(e.amount, t.uint32(26).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = _w();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddress = r.string();
break;
case 2:
n.validatorAddress = r.string();
break;
case 3:
n.amount = G.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddress: B(e.delegatorAddress)
? String(e.delegatorAddress)
: "",
validatorAddress: B(e.validatorAddress)
? String(e.validatorAddress)
: "",
amount: B(e.amount) ? G.fromJSON(e.amount) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddress !== void 0 &&
(t.delegatorAddress = e.delegatorAddress),
e.validatorAddress !== void 0 &&
(t.validatorAddress = e.validatorAddress),
e.amount !== void 0 &&
(t.amount = e.amount ? G.toJSON(e.amount) : void 0),
t
);
},
fromPartial(e) {
let t = _w();
return (
(t.delegatorAddress = e.delegatorAddress ?? ""),
(t.validatorAddress = e.validatorAddress ?? ""),
(t.amount =
e.amount !== void 0 && e.amount !== null
? G.fromPartial(e.amount)
: void 0),
t
);
},
fromProtoMsg(e) {
return sn.decode(e.value);
},
toProto(e) {
return sn.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.MsgDelegate",
value: sn.encode(e).finish(),
};
},
};
function Fw() {
return {};
}
var oa = {
typeUrl: "/cosmos.staking.v1beta1.MsgDelegateResponse",
aminoType: "cosmos-sdk/MsgDelegateResponse",
is(e) {
return e && e.$typeUrl === oa.typeUrl;
},
isSDK(e) {
return e && e.$typeUrl === oa.typeUrl;
},
encode(e, t = re.create()) {
return t;
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Fw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {};
},
toJSON(e) {
return {};
},
fromPartial(e) {
return Fw();
},
fromProtoMsg(e) {
return oa.decode(e.value);
},
toProto(e) {
return oa.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.MsgDelegateResponse",
value: oa.encode(e).finish(),
};
},
};
function Kw() {
return {
delegatorAddress: "",
validatorSrcAddress: "",
validatorDstAddress: "",
amount: G.fromPartial({}),
};
}
var na = {
typeUrl: "/cosmos.staking.v1beta1.MsgBeginRedelegate",
annotations: {
"amino.dont_omitempty": { amount: !0 },
"gogoproto.nullable": { amount: !1 },
typeUrlFromField: { amount: () => G },
},
aminoType: "cosmos-sdk/MsgBeginRedelegate",
is(e) {
return (
e &&
(e.$typeUrl === na.typeUrl ||
(typeof e.delegatorAddress == "string" &&
typeof e.validatorSrcAddress == "string" &&
typeof e.validatorDstAddress == "string" &&
G.is(e.amount)))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === na.typeUrl ||
(typeof e.delegator_address == "string" &&
typeof e.validator_src_address == "string" &&
typeof e.validator_dst_address == "string" &&
G.isSDK(e.amount)))
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddress !== "" && t.uint32(10).string(e.delegatorAddress),
e.validatorSrcAddress !== "" &&
t.uint32(18).string(e.validatorSrcAddress),
e.validatorDstAddress !== "" &&
t.uint32(26).string(e.validatorDstAddress),
e.amount !== void 0 &&
G.encode(e.amount, t.uint32(34).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Kw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddress = r.string();
break;
case 2:
n.validatorSrcAddress = r.string();
break;
case 3:
n.validatorDstAddress = r.string();
break;
case 4:
n.amount = G.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddress: B(e.delegatorAddress)
? String(e.delegatorAddress)
: "",
validatorSrcAddress: B(e.validatorSrcAddress)
? String(e.validatorSrcAddress)
: "",
validatorDstAddress: B(e.validatorDstAddress)
? String(e.validatorDstAddress)
: "",
amount: B(e.amount) ? G.fromJSON(e.amount) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddress !== void 0 &&
(t.delegatorAddress = e.delegatorAddress),
e.validatorSrcAddress !== void 0 &&
(t.validatorSrcAddress = e.validatorSrcAddress),
e.validatorDstAddress !== void 0 &&
(t.validatorDstAddress = e.validatorDstAddress),
e.amount !== void 0 &&
(t.amount = e.amount ? G.toJSON(e.amount) : void 0),
t
);
},
fromPartial(e) {
let t = Kw();
return (
(t.delegatorAddress = e.delegatorAddress ?? ""),
(t.validatorSrcAddress = e.validatorSrcAddress ?? ""),
(t.validatorDstAddress = e.validatorDstAddress ?? ""),
(t.amount =
e.amount !== void 0 && e.amount !== null
? G.fromPartial(e.amount)
: void 0),
t
);
},
fromProtoMsg(e) {
return na.decode(e.value);
},
toProto(e) {
return na.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.MsgBeginRedelegate",
value: na.encode(e).finish(),
};
},
};
function Jw() {
return { completionTime: we.fromPartial({}) };
}
var sa = {
typeUrl: "/cosmos.staking.v1beta1.MsgBeginRedelegateResponse",
annotations: {
"amino.dont_omitempty": { completionTime: !0 },
"gogoproto.nullable": { completionTime: !1 },
typeUrlFromField: { completionTime: () => we },
},
aminoType: "cosmos-sdk/MsgBeginRedelegateResponse",
is(e) {
return e && (e.$typeUrl === sa.typeUrl || we.is(e.completionTime));
},
isSDK(e) {
return e && (e.$typeUrl === sa.typeUrl || we.isSDK(e.completion_time));
},
encode(e, t = re.create()) {
return (
e.completionTime !== void 0 &&
we.encode(e.completionTime, t.uint32(10).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Jw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.completionTime = we.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
completionTime: B(e.completionTime) ? Ur(e.completionTime) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.completionTime !== void 0 &&
(t.completionTime = Tr(e.completionTime).toISOString()),
t
);
},
fromPartial(e) {
let t = Jw();
return (
(t.completionTime =
e.completionTime !== void 0 && e.completionTime !== null
? we.fromPartial(e.completionTime)
: void 0),
t
);
},
fromProtoMsg(e) {
return sa.decode(e.value);
},
toProto(e) {
return sa.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.MsgBeginRedelegateResponse",
value: sa.encode(e).finish(),
};
},
};
function Vw() {
return {
delegatorAddress: "",
validatorAddress: "",
amount: G.fromPartial({}),
};
}
var an = {
typeUrl: "/cosmos.staking.v1beta1.MsgUndelegate",
annotations: {
"amino.dont_omitempty": { amount: !0 },
"gogoproto.nullable": { amount: !1 },
typeUrlFromField: { amount: () => G },
},
aminoType: "cosmos-sdk/MsgUndelegate",
is(e) {
return (
e &&
(e.$typeUrl === an.typeUrl ||
(typeof e.delegatorAddress == "string" &&
typeof e.validatorAddress == "string" &&
G.is(e.amount)))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === an.typeUrl ||
(typeof e.delegator_address == "string" &&
typeof e.validator_address == "string" &&
G.isSDK(e.amount)))
);
},
encode(e, t = re.create()) {
return (
e.delegatorAddress !== "" && t.uint32(10).string(e.delegatorAddress),
e.validatorAddress !== "" && t.uint32(18).string(e.validatorAddress),
e.amount !== void 0 &&
G.encode(e.amount, t.uint32(26).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Vw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.delegatorAddress = r.string();
break;
case 2:
n.validatorAddress = r.string();
break;
case 3:
n.amount = G.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
delegatorAddress: B(e.delegatorAddress)
? String(e.delegatorAddress)
: "",
validatorAddress: B(e.validatorAddress)
? String(e.validatorAddress)
: "",
amount: B(e.amount) ? G.fromJSON(e.amount) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.delegatorAddress !== void 0 &&
(t.delegatorAddress = e.delegatorAddress),
e.validatorAddress !== void 0 &&
(t.validatorAddress = e.validatorAddress),
e.amount !== void 0 &&
(t.amount = e.amount ? G.toJSON(e.amount) : void 0),
t
);
},
fromPartial(e) {
let t = Vw();
return (
(t.delegatorAddress = e.delegatorAddress ?? ""),
(t.validatorAddress = e.validatorAddress ?? ""),
(t.amount =
e.amount !== void 0 && e.amount !== null
? G.fromPartial(e.amount)
: void 0),
t
);
},
fromProtoMsg(e) {
return an.decode(e.value);
},
toProto(e) {
return an.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.MsgUndelegate",
value: an.encode(e).finish(),
};
},
};
function Hw() {
return { completionTime: we.fromPartial({}), amount: G.fromPartial({}) };
}
var aa = {
typeUrl: "/cosmos.staking.v1beta1.MsgUndelegateResponse",
annotations: {
"amino.dont_omitempty": { amount: !0, completionTime: !0 },
"gogoproto.nullable": { amount: !1, completionTime: !1 },
typeUrlFromField: { amount: () => G, completionTime: () => we },
},
aminoType: "cosmos-sdk/MsgUndelegateResponse",
is(e) {
return (
e &&
(e.$typeUrl === aa.typeUrl ||
(we.is(e.completionTime) && G.is(e.amount)))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === aa.typeUrl ||
(we.isSDK(e.completion_time) && G.isSDK(e.amount)))
);
},
encode(e, t = re.create()) {
return (
e.completionTime !== void 0 &&
we.encode(e.completionTime, t.uint32(10).fork()).ldelim(),
e.amount !== void 0 &&
G.encode(e.amount, t.uint32(18).fork()).ldelim(),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Hw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.completionTime = we.decode(r, r.uint32());
break;
case 2:
n.amount = G.decode(r, r.uint32());
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
completionTime: B(e.completionTime) ? Ur(e.completionTime) : void 0,
amount: B(e.amount) ? G.fromJSON(e.amount) : void 0,
};
},
toJSON(e) {
let t = {};
return (
e.completionTime !== void 0 &&
(t.completionTime = Tr(e.completionTime).toISOString()),
e.amount !== void 0 &&
(t.amount = e.amount ? G.toJSON(e.amount) : void 0),
t
);
},
fromPartial(e) {
let t = Hw();
return (
(t.completionTime =
e.completionTime !== void 0 && e.completionTime !== null
? we.fromPartial(e.completionTime)
: void 0),
(t.amount =
e.amount !== void 0 && e.amount !== null
? G.fromPartial(e.amount)
: void 0),
t
);
},
fromProtoMsg(e) {
return aa.decode(e.value);
},
toProto(e) {
return aa.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/cosmos.staking.v1beta1.MsgUndelegateResponse",
value: aa.encode(e).finish(),
};
},
};
function Ww() {
return { revisionNumber: BigInt(0), revisionHeight: BigInt(0) };
}
var Ht = {
typeUrl: "/ibc.core.client.v1.Height",
aminoType: "cosmos-sdk/Height",
is(e) {
return (
e &&
(e.$typeUrl === Ht.typeUrl ||
(typeof e.revisionNumber == "bigint" &&
typeof e.revisionHeight == "bigint"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === Ht.typeUrl ||
(typeof e.revision_number == "bigint" &&
typeof e.revision_height == "bigint"))
);
},
encode(e, t = re.create()) {
return (
e.revisionNumber !== BigInt(0) &&
t.uint32(8).uint64(e.revisionNumber),
e.revisionHeight !== BigInt(0) &&
t.uint32(16).uint64(e.revisionHeight),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Ww();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.revisionNumber = r.uint64();
break;
case 2:
n.revisionHeight = r.uint64();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
revisionNumber: B(e.revisionNumber)
? BigInt(e.revisionNumber.toString())
: BigInt(0),
revisionHeight: B(e.revisionHeight)
? BigInt(e.revisionHeight.toString())
: BigInt(0),
};
},
toJSON(e) {
let t = {};
return (
e.revisionNumber !== void 0 &&
(t.revisionNumber = (e.revisionNumber || BigInt(0)).toString()),
e.revisionHeight !== void 0 &&
(t.revisionHeight = (e.revisionHeight || BigInt(0)).toString()),
t
);
},
fromPartial(e) {
let t = Ww();
return (
(t.revisionNumber =
e.revisionNumber !== void 0 && e.revisionNumber !== null
? BigInt(e.revisionNumber.toString())
: BigInt(0)),
(t.revisionHeight =
e.revisionHeight !== void 0 && e.revisionHeight !== null
? BigInt(e.revisionHeight.toString())
: BigInt(0)),
t
);
},
fromProtoMsg(e) {
return Ht.decode(e.value);
},
toProto(e) {
return Ht.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/ibc.core.client.v1.Height",
value: Ht.encode(e).finish(),
};
},
};
function Lw() {
return {
sourcePort: "",
sourceChannel: "",
token: G.fromPartial({}),
sender: "",
receiver: "",
timeoutHeight: Ht.fromPartial({}),
timeoutTimestamp: BigInt(0),
memo: "",
encoding: "",
};
}
var cn = {
typeUrl: "/ibc.applications.transfer.v1.MsgTransfer",
annotations: {
"amino.dont_omitempty": { timeoutHeight: !0, token: !0 },
"gogoproto.nullable": { timeoutHeight: !1, token: !1 },
typeUrlFromField: { timeoutHeight: () => Ht, token: () => G },
},
aminoType: "cosmos-sdk/MsgTransfer",
is(e) {
return (
e &&
(e.$typeUrl === cn.typeUrl ||
(typeof e.sourcePort == "string" &&
typeof e.sourceChannel == "string" &&
G.is(e.token) &&
typeof e.sender == "string" &&
typeof e.receiver == "string" &&
Ht.is(e.timeoutHeight) &&
typeof e.timeoutTimestamp == "bigint" &&
typeof e.memo == "string" &&
typeof e.encoding == "string"))
);
},
isSDK(e) {
return (
e &&
(e.$typeUrl === cn.typeUrl ||
(typeof e.source_port == "string" &&
typeof e.source_channel == "string" &&
G.isSDK(e.token) &&
typeof e.sender == "string" &&
typeof e.receiver == "string" &&
Ht.isSDK(e.timeout_height) &&
typeof e.timeout_timestamp == "bigint" &&
typeof e.memo == "string" &&
typeof e.encoding == "string"))
);
},
encode(e, t = re.create()) {
return (
e.sourcePort !== "" && t.uint32(10).string(e.sourcePort),
e.sourceChannel !== "" && t.uint32(18).string(e.sourceChannel),
e.token !== void 0 && G.encode(e.token, t.uint32(26).fork()).ldelim(),
e.sender !== "" && t.uint32(34).string(e.sender),
e.receiver !== "" && t.uint32(42).string(e.receiver),
e.timeoutHeight !== void 0 &&
Ht.encode(e.timeoutHeight, t.uint32(50).fork()).ldelim(),
e.timeoutTimestamp !== BigInt(0) &&
t.uint32(56).uint64(e.timeoutTimestamp),
e.memo !== "" && t.uint32(66).string(e.memo),
e.encoding !== "" && t.uint32(74).string(e.encoding),
t
);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = Lw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.sourcePort = r.string();
break;
case 2:
n.sourceChannel = r.string();
break;
case 3:
n.token = G.decode(r, r.uint32());
break;
case 4:
n.sender = r.string();
break;
case 5:
n.receiver = r.string();
break;
case 6:
n.timeoutHeight = Ht.decode(r, r.uint32());
break;
case 7:
n.timeoutTimestamp = r.uint64();
break;
case 8:
n.memo = r.string();
break;
case 9:
n.encoding = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
sourcePort: B(e.sourcePort) ? String(e.sourcePort) : "",
sourceChannel: B(e.sourceChannel) ? String(e.sourceChannel) : "",
token: B(e.token) ? G.fromJSON(e.token) : void 0,
sender: B(e.sender) ? String(e.sender) : "",
receiver: B(e.receiver) ? String(e.receiver) : "",
timeoutHeight: B(e.timeoutHeight)
? Ht.fromJSON(e.timeoutHeight)
: void 0,
timeoutTimestamp: B(e.timeoutTimestamp)
? BigInt(e.timeoutTimestamp.toString())
: BigInt(0),
memo: B(e.memo) ? String(e.memo) : "",
encoding: B(e.encoding) ? String(e.encoding) : "",
};
},
toJSON(e) {
let t = {};
return (
e.sourcePort !== void 0 && (t.sourcePort = e.sourcePort),
e.sourceChannel !== void 0 && (t.sourceChannel = e.sourceChannel),
e.token !== void 0 &&
(t.token = e.token ? G.toJSON(e.token) : void 0),
e.sender !== void 0 && (t.sender = e.sender),
e.receiver !== void 0 && (t.receiver = e.receiver),
e.timeoutHeight !== void 0 &&
(t.timeoutHeight = e.timeoutHeight
? Ht.toJSON(e.timeoutHeight)
: void 0),
e.timeoutTimestamp !== void 0 &&
(t.timeoutTimestamp = (e.timeoutTimestamp || BigInt(0)).toString()),
e.memo !== void 0 && (t.memo = e.memo),
e.encoding !== void 0 && (t.encoding = e.encoding),
t
);
},
fromPartial(e) {
let t = Lw();
return (
(t.sourcePort = e.sourcePort ?? ""),
(t.sourceChannel = e.sourceChannel ?? ""),
(t.token =
e.token !== void 0 && e.token !== null
? G.fromPartial(e.token)
: void 0),
(t.sender = e.sender ?? ""),
(t.receiver = e.receiver ?? ""),
(t.timeoutHeight =
e.timeoutHeight !== void 0 && e.timeoutHeight !== null
? Ht.fromPartial(e.timeoutHeight)
: void 0),
(t.timeoutTimestamp =
e.timeoutTimestamp !== void 0 && e.timeoutTimestamp !== null
? BigInt(e.timeoutTimestamp.toString())
: BigInt(0)),
(t.memo = e.memo ?? ""),
(t.encoding = e.encoding ?? ""),
t
);
},
fromProtoMsg(e) {
return cn.decode(e.value);
},
toProto(e) {
return cn.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/ibc.applications.transfer.v1.MsgTransfer",
value: cn.encode(e).finish(),
};
},
};
function qw() {
return { sequence: BigInt(0) };
}
var ia = {
typeUrl: "/ibc.applications.transfer.v1.MsgTransferResponse",
aminoType: "cosmos-sdk/MsgTransferResponse",
is(e) {
return (
e && (e.$typeUrl === ia.typeUrl || typeof e.sequence == "bigint")
);
},
isSDK(e) {
return (
e && (e.$typeUrl === ia.typeUrl || typeof e.sequence == "bigint")
);
},
encode(e, t = re.create()) {
return (e.sequence !== BigInt(0) && t.uint32(8).uint64(e.sequence), t);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = qw();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.sequence = r.uint64();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return {
sequence: B(e.sequence) ? BigInt(e.sequence.toString()) : BigInt(0),
};
},
toJSON(e) {
let t = {};
return (
e.sequence !== void 0 &&
(t.sequence = (e.sequence || BigInt(0)).toString()),
t
);
},
fromPartial(e) {
let t = qw();
return (
(t.sequence =
e.sequence !== void 0 && e.sequence !== null
? BigInt(e.sequence.toString())
: BigInt(0)),
t
);
},
fromProtoMsg(e) {
return ia.decode(e.value);
},
toProto(e) {
return ia.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/ibc.applications.transfer.v1.MsgTransferResponse",
value: ia.encode(e).finish(),
};
},
};
var Ky = pe(Ns),
PN = pe(Bs);
var Jy = pe(Ms),
kN = pe($s);
var Pu = pe(nn),
IN = pe(Ks);
var Vy = pe(Ls);
var TN = pe(qs),
Hy = pe(on),
Wy = pe(Fs);
var Ly = pe(rn),
qy = pe(_s);
var jy = pe(Js);
var Gy = pe(Vs),
Qy = pe(Hs),
zy = pe(Ws);
var Yy = pe(js),
Zy = pe(Gs);
var Xy = pe(Ys),
eg = pe(Zs);
var tg = pe(Xs),
rg = pe(ea);
var og = pe(ta),
ng = pe(ra);
var sg = pe(Qs),
ag = pe(zs);
var ig = pe(na),
UN = pe(sa);
var cg = pe(sn),
CN = pe(oa);
var dg = pe(an),
RN = pe(aa);
var lg = pe(cn),
ON = pe(ia);
var jw = pe(fe),
EN = { toJSON: (e) => jw.toJSON(e) },
dn = Object.freeze({ ...jw, ...EN });
var Gw = {
[Ky.typeUrl]: PN,
[Jy.typeUrl]: kN,
[dg.typeUrl]: RN,
[ig.typeUrl]: UN,
[cg.typeUrl]: CN,
[Vy.typeUrl]: TN,
[Pu.typeUrl]: IN,
[lg.typeUrl]: ON,
[Ly.typeUrl]: qy,
[Hy.typeUrl]: Wy,
[Yy.typeUrl]: Zy,
[Xy.typeUrl]: eg,
[tg.typeUrl]: rg,
[og.typeUrl]: ng,
[sg.typeUrl]: ag,
[jy.typeUrl]: Gy,
[Qy.typeUrl]: zy,
};
var Qw = ["redelegationQueryWatcher", "transferWatcher"],
rt = Ae("CosmosOrchAccount"),
{ Vow$: un } = dt,
pi = (e) => s.or(un(e), s.promise()),
ln = (e, t) => {
try {
let r = ke(t.key || t.value);
return e.decode(r);
} catch (r) {
throw Se(`Failed to parse ${e.typeUrl} from result ${x(t)}`, void 0, {
cause: r,
});
}
},
DN = {
delegate: s.call(je, Jt).optional(Gr).returns(le),
redelegate: s.call(je, je, Jt).optional(Gr).returns(le),
undelegate: s.call(s.arrayOf(ay)).optional(Gr).returns(le),
withdrawReward: s
.call(je)
.optional(Gr)
.returns(un(s.arrayOf(bt))),
withdrawRewards: s
.call()
.optional(Gr)
.returns(un(s.arrayOf(bt))),
},
NN = {
getDelegation: s.call(je).optional(Jn).returns(le),
getDelegations: s.call().optional(Jn).returns(le),
getUnbondingDelegation: s.call(je).optional(Jn).returns(le),
getUnbondingDelegations: s.call().optional(Jn).returns(le),
getRedelegations: s.call().optional(Jn).returns(le),
getReward: s.call(je).optional(Jn).returns(le),
getRewards: s.call().optional(Jn).returns(le),
},
BN = {
depositForBurn: s
.call(s.string(), Jt)
.optional(s.string(), Gr)
.returns(le),
},
MN = {
deactivate: s.call().returns(le),
reactivate: s.call().returns(le),
executeEncodedTx: s
.call(s.arrayOf(ks))
.optional(zl)
.returns(pi(s.string())),
executeTxProto3: s
.call(s.arrayOf(ks))
.optional(Gr)
.returns(pi(s.array())),
executeTxProto3Undecoded: s
.call(s.arrayOf(ks))
.optional(Gr)
.returns(pi(s.string())),
},
$N = s.interface("IcaAccountHolder", {
...BN,
...Su,
...DN,
...NN,
...MN,
}),
zw = { account: ["Staking Account holder status", s.any()] },
Yw = s.interface("invitationMakers", {
Delegate: s.call(je, Jt).returns(s.promise()),
Redelegate: s.call(je, je, Jt).returns(s.promise()),
WithdrawReward: s.call(je).returns(s.promise()),
Undelegate: s.call(s.arrayOf(ay)).returns(s.promise()),
DeactivateAccount: s.call().returns(s.promise()),
ReactivateAccount: s.call().returns(s.promise()),
TransferAccount: s.call().returns(s.promise()),
Send: s.call().returns(s.promise()),
SendAll: s.call().returns(s.promise()),
Transfer: s.call().returns(s.promise()),
});
harden(Yw);
var _N = (
e,
{
chainHub: t,
makeProgressTracker: r,
makeRecorderKit: o,
timerService: n,
vowTools: a,
zcf: i,
},
) => {
e.makeOnce("icaAccountToDetails", () => null);
let { watch: c, asVow: d, when: l, allVows: u } = a,
p = ci({ watch: c }),
y = wu(n);
return e.exoClassKit(
"Cosmos Orchestration Account Holder",
{
attachTxMetaWatcher: s.interface("attachTxMetaWatcher", {
onFulfilled: s
.call(
s.arrayOf(s.any()),
pi(s.splitRecord({ result: pi(s.any()), meta: s.record() })),
s.string(),
)
.returns(pi(s.any())),
}),
transferWithMetaWatcher: s.interface("transferWithMetaWatcher", {
onFulfilled: s
.call([s.record(), s.nat()])
.optional({
destination: je,
opts: s.or(s.undefined(), Xo),
token: { denom: s.string(), amount: s.string() },
})
.returns(un({ result: un(s.any()), meta: s.record() })),
}),
parseTransferWatcher: s.interface("parseTransferWatcher", {
onFulfilled: s
.call([s.string(), s.record()], s.record())
.returns(un(s.record())),
}),
undelegateWatcher: s.interface("undelegateWatcher", {
onFulfilled: s
.call(s.string())
.optional(s.arrayOf(s.undefined()))
.returns(un(s.promise())),
}),
withdrawRewardWatcher: s.interface("withdrawRewardWatcher", {
onFulfilled: s
.call(s.string())
.optional(s.arrayOf(s.undefined()))
.returns(s.arrayOf(bt)),
}),
...p.makeTombstonedWatcherShapes(Qw),
...p.watcherShapes,
helper: s.interface("helper", {
...p.helperShapes,
owned: s.call().returns(s.remotable()),
getUpdater: s.call().returns(s.remotable()),
amountToCoin: s.call(Jt).returns(s.record()),
}),
updateTxProgressWatcher: s.interface("updateTxProgressWatcher", {
onFulfilled: s
.call(
s.arrayOf(s.any()),
s.splitRecord(
{
progressTracker: s.remotable("ProgressTracker"),
protocol: s.string(),
},
{ trafficeSlice: $y },
),
)
.returns(),
}),
returnVoidWatcher: s.interface("returnVoidWatcher", {
onFulfilled: s.call().rest(s.any()).returns(s.undefined()),
}),
decodeResponsesWatcher: s.interface("decodeResponsesWatcher", {
onFulfilled: s
.call(s.string(), s.arrayOf(s.string()))
.returns(s.arrayOf(s.any())),
}),
balanceQueryWatcher: s.interface("balanceQueryWatcher", {
onFulfilled: s
.call(s.arrayOf(s.record()))
.optional(s.arrayOf(s.undefined()))
.returns(s.or(s.record(), s.undefined())),
}),
allBalancesQueryWatcher: s.interface("allBalancesQueryWatcher", {
onFulfilled: s
.call(s.arrayOf(s.record()))
.returns(s.arrayOf(s.record())),
}),
decodedUndelegateWatcher: s.interface("decodedUndelegateWatcher", {
onFulfilled: s.call(s.arrayOf(s.any())).returns(un(s.promise())),
}),
decodedWithdrawRewardWatcher: s.interface(
"decodedWithdrawRewardWatcher",
{
onFulfilled: s
.call(s.splitRecord({ amount: s.arrayOf(Bc) }))
.optional(s.arrayOf(s.undefined()))
.returns(s.arrayOf(bt)),
},
),
beginTransferWatcher: s.interface("beginTransferWatcher", {
onFulfilled: s
.call([s.any(), s.opt(s.nat())])
.optional({
destination: je,
opts: s.opt(Xo),
token: { denom: s.string(), amount: s.string() },
})
.returns(un(s.any())),
}),
fillSequenceWatcher: s.interface("fillSequenceWatcher", {
onFulfilled: s
.call([s.splitRecord({ sequence: s.bigint() })], s.record())
.returns(),
}),
delegationQueryWatcher: s.interface("delegationQueryWatcher", {
onFulfilled: s.call(s.arrayOf(s.record())).returns(s.record()),
}),
delegationsQueryWatcher: s.interface("delegationsQueryWatcher", {
onFulfilled: s
.call(s.arrayOf(s.record()))
.returns(s.arrayOf(s.record())),
}),
unbondingDelegationQueryWatcher: s.interface(
"unbondingDelegationQueryWatcher",
{
onFulfilled: s.call(s.arrayOf(s.record())).returns(s.record()),
},
),
unbondingDelegationsQueryWatcher: s.interface(
"unbondingDelegationsQueryWatcher",
{
onFulfilled: s
.call(s.arrayOf(s.record()))
.returns(s.arrayOf(s.record())),
},
),
redelegationsQueryWatcher: s.interface(
"redelegationsQueryWatcher",
{
onFulfilled: s
.call(s.arrayOf(s.record()))
.returns(s.arrayOf(s.record())),
},
),
rewardQueryWatcher: s.interface("rewardQueryWatcher", {
onFulfilled: s
.call(s.arrayOf(s.record()))
.returns(s.arrayOf(s.record())),
}),
rewardsQueryWatcher: s.interface("rewardsQueryWatcher", {
onFulfilled: s.call(s.arrayOf(s.record())).returns(s.record()),
}),
holder: $N,
invitationMakers: Yw,
},
({ chainAddress: m, localAddress: v, remoteAddress: h }, g) => {
rt("cosmos orch acct init", {
chainAddress: m,
localAddress: v,
remoteAddress: h,
});
let { storageNode: S } = g,
w = S ? o(S, zw.account[1]) : void 0;
w && O(w.recorder).write({ localAddress: v, remoteAddress: h });
let { account: I, icqConnection: E, timer: K } = g;
return {
account: I,
chainAddress: m,
icqConnection: E,
localAddress: v,
remoteAddress: h,
timer: K,
topicKit: w,
};
},
{
attachTxMetaWatcher: {
onFulfilled(m, { result: v, meta: h }, g) {
return { result: v, meta: h };
},
},
parseTransferWatcher: {
onFulfilled() {
return { result: c(null), meta: {} };
},
},
transferWithMetaWatcher: {
onFulfilled(m, v) {
let h = this.facets.beginTransferWatcher.onFulfilled(m, v);
return harden({ result: h, meta: {} });
},
},
undelegateWatcher: {
onFulfilled(m) {
let v = this.facets.decodeResponsesWatcher.onFulfilled(m, [
"/cosmos.staking.v1beta1.MsgUndelegate",
]);
return this.facets.decodedUndelegateWatcher.onFulfilled(v);
},
},
withdrawRewardWatcher: {
onFulfilled(m) {
let [v] = this.facets.decodeResponsesWatcher.onFulfilled(m, [
"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
]);
return this.facets.decodedWithdrawRewardWatcher.onFulfilled(v);
},
},
...p.makeTombstonedWatchers(Qw),
...p.watchers,
helper: {
...p.helper,
owned() {
let { account: m } = this.state;
if (!m) throw f`Using account holder after transfer`;
return m;
},
getUpdater() {
if (!this.state.topicKit) throw f`no topicKit`;
return this.state.topicKit.recorder;
},
amountToCoin(m) {
return (
!("brand" in m) ||
f`'amountToCoin' not working for ${x(m.brand)} until #10449; use 'DenomAmount' for now`,
Es(t, m)
);
},
},
updateTxProgressWatcher: {
onFulfilled(
[m, v, h],
{ progressTracker: g, trafficSlice: S, protocol: w },
) {
let I = Cc(v),
E = Cc(h),
K = { status: "unknown" },
J = g.getCurrentProgressReport(),
P = li(J.traffic, S, (U) =>
Mo.IbcICA.finish(
U,
`${m.namespace}:${m.reference}`,
I,
E,
K,
),
),
k = harden({ ...J, traffic: P });
g.update(k);
},
},
balanceQueryWatcher: {
onFulfilled([m]) {
let { balance: v } = ln(qy, m);
if (!v) throw f`Result lacked balance key: ${m}`;
return harden(Wn(v));
},
},
delegationQueryWatcher: {
onFulfilled([m]) {
let { delegationResponse: v } = ln(Zy, m);
if (!v) throw f`Result lacked delegationResponse key: ${m}`;
let { chainAddress: h } = this.state;
return harden(Ny(h, v));
},
},
delegationsQueryWatcher: {
onFulfilled([m]) {
let { delegationResponses: v } = ln(eg, m);
if (!v) throw f`Result lacked delegationResponses key: ${m}`;
let { chainAddress: h } = this.state;
return harden(v.map((g) => Ny(h, g)));
},
},
unbondingDelegationQueryWatcher: {
onFulfilled([m]) {
let { unbond: v } = ln(ag, m);
if (!v) throw f`Result lacked unbond key: ${m}`;
return harden(v);
},
},
unbondingDelegationsQueryWatcher: {
onFulfilled([m]) {
let { unbondingResponses: v } = ln(rg, m);
if (!v) throw f`Result lacked unbondingResponses key: ${m}`;
return harden(v);
},
},
redelegationsQueryWatcher: {
onFulfilled([m]) {
let { redelegationResponses: v } = ln(ng, m);
if (!v) throw f`Result lacked redelegationsResponses key: ${m}`;
return harden(v);
},
},
rewardQueryWatcher: {
onFulfilled([m]) {
let { rewards: v } = ln(Gy, m);
if (!v) throw f`Result lacked rewards key: ${m}`;
return harden(v.map(bu));
},
},
rewardsQueryWatcher: {
onFulfilled([m]) {
let { rewards: v, total: h } = ln(zy, m);
if (!v || !h) throw f`Result lacked rewards or total key: ${m}`;
let { chainAddress: g } = this.state;
return harden({
rewards: v.map((S) => ({
validator: Dy(S, g.chainId),
reward: S.reward.map(bu),
})),
total: h.map(bu),
});
},
},
allBalancesQueryWatcher: {
onFulfilled([m]) {
let { balances: v } = ln(Wy, m);
if (!v) throw f`Result lacked balances key: ${x(m)}`;
return harden(v.map((h) => Wn(h)));
},
},
decodedUndelegateWatcher: {
onFulfilled(m) {
rt("undelegate responses", m);
let v = m.reduce((h, g) => {
let S = g?.completionTime?.seconds ?? 0n;
return S > h ? S : h;
}, 0n);
return (
v || f`No completion time in responses ${m}`,
c(O(this.state.timer).wakeAt(v + hu))
);
},
},
returnVoidWatcher: {
onFulfilled(...m) {
rt("Voiding result", m);
},
},
decodedWithdrawRewardWatcher: {
onFulfilled(m) {
rt("withdrawReward response", m);
let { amount: v } = m;
return harden(v.map(Wn));
},
},
decodeResponsesWatcher: {
onFulfilled(m, v) {
let h = v.map(
(S) =>
Gw[S] || {
fromProtoMsg(w) {
return w;
},
},
),
g = GA(m, h);
return harden(g);
},
},
beginTransferWatcher: {
onFulfilled(
[{ transferChannel: m }, v],
{ opts: h = {}, token: g, destination: S },
) {
let { chainAddress: w } = this.state,
{ holder: I } = this.facets,
{ timeoutHeight: E, timeoutTimestamp: K, memo: J, ...P } = h,
k = I.executeTxProto3(
[
dn.toJSON(
lg.toProtoMsg({
sourcePort: m.portId,
sourceChannel: m.channelId,
token: g,
sender: w.value,
receiver: S.value,
timeoutHeight: E,
timeoutTimestamp: v,
memo: J,
}),
),
],
P,
),
{ progressTracker: U } = P;
if (U) {
let D = U.getCurrentProgressReport(),
{ traffic: _, slice: T } = di(
D.traffic,
Mo.IbcTransfer.start(
`cosmos:${w.chainId}`,
`cosmos:${S.chainId}`,
m,
),
),
R = harden({ ...D, traffic: _ });
(U.update(R),
c(k, this.facets.fillSequenceWatcher, {
progressTracker: U,
trafficSlice: T,
}));
}
return this.facets.helper.overrideVow(k, "FOLLOW_TRAFFIC");
},
},
fillSequenceWatcher: {
onFulfilled(
[{ sequence: m }],
{ progressTracker: v, trafficSlice: h },
) {
let g = v.getCurrentProgressReport();
rt("fillSequenceWatcher", {
sequence: m,
priorReport: g,
trafficSlice: h,
});
let S = li(g.traffic, h, (I) => Mo.IbcTransfer.finish(I, m)),
w = harden({ ...g, traffic: S });
v.update(w);
},
},
invitationMakers: {
Delegate(m, v) {
return (
rt("Delegate", m, v),
i.makeInvitation(
(h) => (h.exit(), c(this.facets.holder.delegate(m, v))),
"Delegate",
)
);
},
Redelegate(m, v, h) {
return (
rt("Redelegate", m, v, h),
i.makeInvitation(
(g) => (
g.exit(),
c(this.facets.holder.redelegate(m, v, h))
),
"Redelegate",
)
);
},
WithdrawReward(m) {
return (
rt("WithdrawReward", m),
i.makeInvitation(
(v) => (v.exit(), c(this.facets.holder.withdrawReward(m))),
"WithdrawReward",
)
);
},
Undelegate(m) {
return (
rt("Undelegate", m),
i.makeInvitation(
(v) => (v.exit(), c(this.facets.holder.undelegate(m))),
"Undelegate",
)
);
},
DeactivateAccount() {
return i.makeInvitation(
(m) => (m.exit(), c(this.facets.holder.deactivate())),
"DeactivateAccount",
);
},
ReactivateAccount() {
return i.makeInvitation(
(m) => (m.exit(), c(this.facets.holder.reactivate())),
"ReactivateAccount",
);
},
Send() {
let m = (v, { toAccount: h, amount: g, opts: S }) => (
v.exit(),
c(this.facets.holder.send(h, g, S))
);
return i.makeInvitation(m, "Send");
},
SendAll() {
let m = (v, { toAccount: h, amounts: g, opts: S }) => (
v.exit(),
c(this.facets.holder.sendAll(h, g, S))
);
return i.makeInvitation(m, "SendAll");
},
TransferAccount() {
throw Error("not yet implemented");
},
Transfer() {
let m = (v, { amount: h, destination: g, opts: S }) => (
v.exit(),
c(this.facets.holder.transfer(g, h, S))
);
return i.makeInvitation(m, "Transfer");
},
},
holder: {
makeProgressTracker() {
return r();
},
asContinuingOffer() {
return d(async () => {
await null;
let { holder: m, invitationMakers: v } = this.facets,
h = v;
return harden({
publicSubscribers: await l(m.getPublicTopics()),
invitationMakers: h,
});
});
},
getPublicTopics() {
return d(async () => {
await null;
let { topicKit: m } = this.state;
if (!m) throw f`No topicKit; storageNode not provided`;
return harden({
account: {
description: zw.account[0],
subscriber: m.subscriber,
storagePath: await m.recorder.getStoragePath(),
},
});
});
},
getAddress() {
return this.state.chainAddress;
},
delegate(m, v, h) {
return d(() => {
rt("delegate", m, v);
let { helper: g, holder: S } = this.facets,
{ chainAddress: w } = this.state,
I = g.amountToCoin(v),
E = S.executeTxProto3(
[
dn.toJSON(
cg.toProtoMsg({
delegatorAddress: w.value,
validatorAddress: m.value,
amount: I,
}),
),
],
h,
);
return g.pickVowIndex(E, 0);
});
},
redelegate(m, v, h, g) {
return d(() => {
rt("redelegate", m, v, h);
let { helper: S, holder: w } = this.facets,
{ chainAddress: I } = this.state,
E = w.executeTxProto3(
[
dn.toJSON(
ig.toProtoMsg({
delegatorAddress: I.value,
validatorSrcAddress: m.value,
validatorDstAddress: v.value,
amount: S.amountToCoin(h),
}),
),
],
g,
);
return S.pickVowIndex(E, 0);
});
},
withdrawReward(m, v) {
return d(() => {
rt("withdrawReward", m);
let { helper: h, holder: g } = this.facets,
{ chainAddress: S } = this.state,
w = Vy.toProtoMsg({
delegatorAddress: S.value,
validatorAddress: m.value,
}),
I = g.executeTxProto3([dn.toJSON(w)], v),
E = h.pickVowIndex(I, 0);
return c(E, this.facets.decodedWithdrawRewardWatcher);
});
},
getBalance(m, v) {
return d(() => {
let { chainAddress: h, icqConnection: g } = this.state;
if (!g)
throw f`Queries not available for chain ${x(h.chainId)}`;
let S = O(g).query([
Eo(
Ly.toProtoMsg({ address: h.value, denom: gu(t, m) }),
v?.queryOpts,
),
]);
return c(S, this.facets.balanceQueryWatcher);
});
},
getBalances(m) {
return d(() => {
let { chainAddress: v, icqConnection: h } = this.state;
if (!h)
throw f`Queries not available for chain ${x(v.chainId)}`;
let g = O(h).query([
Eo(Hy.toProtoMsg({ address: v.value }), m?.queryOpts),
]);
return c(g, this.facets.allBalancesQueryWatcher);
});
},
send(m, v, h) {
return d(() => {
rt("send", m, v, h);
let g = t.coerceCosmosAddress(m),
{ chainAddress: S } = this.state;
g.chainId === S.chainId ||
f`bank/send cannot send to a different chain ${x(g.chainId)}`;
let { helper: w, holder: I } = this.facets,
E = I.executeTxProto3(
[
dn.toJSON(
Pu.toProtoMsg({
fromAddress: S.value,
toAddress: g.value,
amount: [w.amountToCoin(v)],
}),
),
],
h,
);
return w.pickVowIndex(E, 0);
});
},
sendAll(m, v, h) {
return d(() => {
rt("sendAll", m, v);
let { helper: g, holder: S } = this.facets,
{ chainAddress: w } = this.state,
I = S.executeTxProto3(
[
dn.toJSON(
Pu.toProtoMsg({
fromAddress: w.value,
toAddress: m.value,
amount: v.map((E) => g.amountToCoin(E)),
}),
),
],
h,
);
return g.pickVowIndex(I, 0);
});
},
transfer(m, v, h) {
return (
rt("transfer", m, v, h),
d(() => {
let g = t.coerceCosmosAddress(m),
{ helper: S } = this.facets,
w = S.amountToCoin(v),
I = c(t.getConnectionInfo(this.state.chainAddress, g));
return c(
u([I, y.vowOrValueFromOpts(h)]),
this.facets.beginTransferWatcher,
{ opts: h, token: w, destination: g },
);
})
);
},
transferSteps(m, v) {
return (
console.log("transferSteps got", m, v),
d(() => f`not yet implemented`)
);
},
withdrawRewards() {
return d(() => f`Not Implemented. Try using withdrawReward.`);
},
undelegate(m, v) {
return d(() => {
rt("undelegate", m);
let { holder: h } = this.facets,
{ chainAddress: g } = this.state;
m.every((I) =>
I.delegator ? I.delegator.value === g.value : !0,
) || f`Some delegation record is for another delegator`;
let S = h.executeTxProto3(
m.map(({ validator: I, amount: E }) =>
dn.toJSON(
dg.toProtoMsg({
delegatorAddress: g.value,
validatorAddress: I.value,
amount: Es(t, E),
}),
),
),
v,
),
w = c(S, this.facets.decodedUndelegateWatcher);
return c(w, this.facets.returnVoidWatcher);
});
},
deactivate() {
return d(() => c(O(this.facets.helper.owned()).deactivate()));
},
reactivate() {
return d(() => c(O(this.facets.helper.owned()).reactivate()));
},
getDelegation(m, v) {
return d(() => {
rt("getDelegation", m);
let { chainAddress: h, icqConnection: g } = this.state;
if (!g)
throw f`Queries not available for chain ${x(h.chainId)}`;
let S = O(g).query([
Eo(
Yy.toProtoMsg({
delegatorAddr: h.value,
validatorAddr: m.value,
}),
v?.queryOpts,
),
]);
return c(S, this.facets.delegationQueryWatcher);
});
},
getDelegations(m) {
return d(() => {
rt("getDelegations");
let { chainAddress: v, icqConnection: h } = this.state;
if (!h)
throw f`Queries not available for chain ${x(v.chainId)}`;
let g = O(h).query([
Eo(Xy.toProtoMsg({ delegatorAddr: v.value }), m?.queryOpts),
]);
return c(g, this.facets.delegationsQueryWatcher);
});
},
getUnbondingDelegation(m, v) {
return d(() => {
rt("getUnbondingDelegation", m);
let { chainAddress: h, icqConnection: g } = this.state;
if (!g)
throw f`Queries not available for chain ${x(h.chainId)}`;
let S = O(g).query([
Eo(
sg.toProtoMsg({
delegatorAddr: h.value,
validatorAddr: m.value,
}),
v?.queryOpts,
),
]);
return c(S, this.facets.unbondingDelegationQueryWatcher);
});
},
getUnbondingDelegations(m) {
return d(() => {
rt("getUnbondingDelegations");
let { chainAddress: v, icqConnection: h } = this.state;
if (!h)
throw f`Queries not available for chain ${x(v.chainId)}`;
let g = O(h).query([
Eo(tg.toProtoMsg({ delegatorAddr: v.value }), m?.queryOpts),
]);
return c(g, this.facets.unbondingDelegationsQueryWatcher);
});
},
getRedelegations(m) {
return d(() => {
rt("getRedelegations");
let { chainAddress: v, icqConnection: h } = this.state;
if (!h)
throw f`Queries not available for chain ${x(v.chainId)}`;
let g = O(h).query([
Eo(
og.toProtoMsg({
delegatorAddr: v.value,
dstValidatorAddr: "",
srcValidatorAddr: "",
}),
m?.queryOpts,
),
]);
return c(g, this.facets.redelegationsQueryWatcher);
});
},
getReward(m, v) {
return d(() => {
rt("getReward", m);
let { chainAddress: h, icqConnection: g } = this.state;
if (!g)
throw f`Queries not available for chain ${x(h.chainId)}`;
let S = O(g).query([
Eo(
jy.toProtoMsg({
delegatorAddress: h.value,
validatorAddress: m.value,
}),
v?.queryOpts,
),
]);
return c(S, this.facets.rewardQueryWatcher);
});
},
getRewards(m) {
return d(() => {
rt("getRewards");
let { chainAddress: v, icqConnection: h } = this.state;
if (!h)
throw f`Queries not available for chain ${x(v.chainId)}`;
let g = O(h).query([
Eo(
Qy.toProtoMsg({ delegatorAddress: v.value }),
m?.queryOpts,
),
]);
return c(g, this.facets.rewardsQueryWatcher);
});
},
executeEncodedTx(m, v = {}) {
return d(() => {
let { progressTracker: h } = v,
{ helper: g } = this.facets,
S = g.owned();
if (h) {
let { chainAddress: w } = this.state,
I = t.getChainInfo("agoric"),
E = O(S).getLocalAddress(),
K = `cosmos:${w.chainId}`,
J = O(S).getRemoteAddress(),
P = h.getCurrentProgressReport(),
{ traffic: k, slice: U } = di(
P.traffic,
Mo.IbcICA.start(K),
),
D = { ...P, traffic: k };
(h.update(harden(D)),
c(u([I, E, J]), this.facets.updateTxProgressWatcher, {
progressTracker: h,
protocol: "ibc",
trafficSlice: U,
}));
}
return O(S).executeEncodedTx(m, v);
});
},
executeTxProto3Undecoded(m, v = {}) {
let { holder: h } = this.facets,
{ txOpts: g, ...S } = v;
return h.executeEncodedTx(m, { ...S, ...g });
},
executeTxProto3(m, v = {}) {
let { holder: h } = this.facets,
g = m.map((w) => w.typeUrl);
return c(
h.executeTxProto3Undecoded(m, v),
this.facets.decodeResponsesWatcher,
g,
);
},
depositForBurn(m, v, h, g = {}) {
return (
rt("depositForBurn", { destination: m, amount: v }),
d(() => {
let { helper: S, holder: w } = this.facets,
{ chainAddress: I } = this.state,
E = jr(m),
K = `${E.namespace}:${E.reference}`,
{ cctpDestinationDomain: J } = t.getChainInfoByChainId(K);
if (typeof J != "number")
throw f`${x(K)} does not have "cctpDestinationDomain" set in ChainInfo`;
let P = {
amount: S.amountToCoin(v)?.amount,
from: I.value,
destinationDomain: J,
mintRecipient: Wf(m),
burnToken: "uusdc",
},
k = h
? (jr(h).namespace === E.namespace ||
f`caller ${x(h)} must be in same namespace as destination ${x(m)}`,
Wf(h))
: void 0,
U = w.executeTxProto3(
[
dn.toJSON(
k
? Jy.toProtoMsg({ ...P, destinationCaller: k })
: Ky.toProtoMsg(P),
),
],
g,
);
return S.pickVowIndex(U, 0);
})
);
},
},
},
);
},
Zw = (
e,
{
chainHub: t,
makeProgressTracker: r,
makeRecorderKit: o,
timerService: n,
vowTools: a,
zcf: i,
},
) => {
let c = _N(e, {
chainHub: t,
makeProgressTracker: r,
makeRecorderKit: o,
timerService: n,
vowTools: a,
zcf: i,
});
return (...d) => c(...d).holder;
};
var Xw = (
e,
{
makeLocalOrchestrationAccountKit: t,
agoricNames: r,
localchain: o,
storageNode: n,
vowTools: { allVows: a, watch: i, asVow: c },
},
) =>
e.exoClassKit(
"LocalChainFacade",
{
public: s.interface("LocalChainFacade", {
..._c,
query: s.call(s.arrayOf($c)).returns(le),
getVBankAssetInfo: s.call().optional(s.boolean()).returns(le),
}),
vbankAssetValuesWatcher: s.interface("vbankAssetValuesWatcher", {
onFulfilled: s
.call(s.arrayOf(s.record()))
.optional(s.arrayOf(s.undefined()))
.returns(le),
}),
makeAccountWatcher: s.interface("makeAccountWatcher", {
onFulfilled: s
.call([s.remotable("LCA Account"), s.string()])
.optional(s.arrayOf(s.undefined()))
.returns(le),
}),
makeChildNodeWatcher: s.interface("makeChildNodeWatcher", {
onFulfilled: s
.call(s.or(s.remotable(), s.undefined()))
.optional({ account: s.remotable(), address: s.string() })
.returns(s.remotable()),
}),
},
(d) => ({ localChainInfo: d, vbankAssets: void 0 }),
{
public: {
getChainInfo() {
return i(this.state.localChainInfo);
},
makeAccount() {
let d = O(o).makeAccount();
return i(
a([d, Kn(d).getAddress()]),
this.facets.makeAccountWatcher,
);
},
query(d) {
return i(O(o).queryMany(d));
},
getVBankAssetInfo() {
return c(() => {
let { vbankAssets: d } = this.state;
if (d) return d;
let l = O(r).lookup("vbankAsset"),
u = O(l).values(),
{ vbankAssetValuesWatcher: p } = this.facets;
return i(u, p);
});
},
},
vbankAssetValuesWatcher: {
onFulfilled(d) {
let { state: l } = this;
return c(() => ((l.vbankAssets = d), d));
},
},
makeAccountWatcher: {
onFulfilled([d, l]) {
let u = n ? O(n).makeChildNode(l) : void 0;
return i(u, this.facets.makeChildNodeWatcher, {
account: d,
address: l,
});
},
},
makeChildNodeWatcher: {
onFulfilled(d, { account: l, address: u }) {
let { localChainInfo: p } = this.state,
{ holder: y } = t({
account: l,
address: harden({
value: u,
encoding: "bech32",
chainId: p.chainId,
}),
storageNode: d,
});
return y;
},
},
},
);
harden(Xw);
var ug = (e, t) => {
let r = Xw(e, t);
return Pr(r, "public");
};
harden(ug);
function e1() {
return { trace: "" };
}
var ca = {
typeUrl: "/ibc.applications.transfer.v1.QueryDenomHashRequest",
aminoType: "cosmos-sdk/QueryDenomHashRequest",
is(e) {
return e && (e.$typeUrl === ca.typeUrl || typeof e.trace == "string");
},
isSDK(e) {
return e && (e.$typeUrl === ca.typeUrl || typeof e.trace == "string");
},
encode(e, t = re.create()) {
return (e.trace !== "" && t.uint32(10).string(e.trace), t);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = e1();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.trace = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return { trace: B(e.trace) ? String(e.trace) : "" };
},
toJSON(e) {
let t = {};
return (e.trace !== void 0 && (t.trace = e.trace), t);
},
fromPartial(e) {
let t = e1();
return ((t.trace = e.trace ?? ""), t);
},
fromProtoMsg(e) {
return ca.decode(e.value);
},
toProto(e) {
return ca.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/ibc.applications.transfer.v1.QueryDenomHashRequest",
value: ca.encode(e).finish(),
};
},
};
function t1() {
return { hash: "" };
}
var da = {
typeUrl: "/ibc.applications.transfer.v1.QueryDenomHashResponse",
aminoType: "cosmos-sdk/QueryDenomHashResponse",
is(e) {
return e && (e.$typeUrl === da.typeUrl || typeof e.hash == "string");
},
isSDK(e) {
return e && (e.$typeUrl === da.typeUrl || typeof e.hash == "string");
},
encode(e, t = re.create()) {
return (e.hash !== "" && t.uint32(10).string(e.hash), t);
},
decode(e, t) {
let r = e instanceof $ ? e : new $(e),
o = t === void 0 ? r.len : r.pos + t,
n = t1();
for (; r.pos < o; ) {
let a = r.uint32();
switch (a >>> 3) {
case 1:
n.hash = r.string();
break;
default:
r.skipType(a & 7);
break;
}
}
return n;
},
fromJSON(e) {
return { hash: B(e.hash) ? String(e.hash) : "" };
},
toJSON(e) {
let t = {};
return (e.hash !== void 0 && (t.hash = e.hash), t);
},
fromPartial(e) {
let t = t1();
return ((t.hash = e.hash ?? ""), t);
},
fromProtoMsg(e) {
return da.decode(e.value);
},
toProto(e) {
return da.encode(e).finish();
},
toProtoMsg(e) {
return {
typeUrl: "/ibc.applications.transfer.v1.QueryDenomHashResponse",
value: da.encode(e).finish(),
};
},
};
var qn = Ae("PacketTools"),
{ toCapData: FN } = At(void 0, void 0, {
marshalName: "JustEncoder",
serializeBodyFormat: "capdata",
}),
ku = (e) => {
let { body: t } = FN(e);
return Li(JSON.parse(t), !1);
},
r1 = [],
{ Vow$: mi } = dt,
Iu = (e) => s.or(mi(e), s.promise()),
KN = () => {};
harden(KN);
var pg = (e, t) => {
let { allVows: r, makeVowKit: o, watch: n, when: a } = t,
i = ci(t),
c = e.exoClassKit(
"PacketToolsKit",
{
packetWasSentWithMetaWatcher: s.interface(
"packetWasSentWithMetaWatcher",
{
onFulfilled: s
.call(
{
eventPattern: s.pattern(),
resultV: mi(s.any()),
meta: s.record(),
},
s.record(),
)
.returns(mi({ result: s.any(), meta: s.record() })),
},
),
...i.makeTombstonedWatcherShapes(r1),
public: s.interface("PacketTools", {
sendThenWaitForAck: s
.call(Iu(s.remotable("PacketSender")))
.optional(s.any())
.returns(Iu(s.any())),
matchFirstPacket: s.call(s.any()).returns(Iu(s.any())),
monitorTransfers: s
.call(s.remotable("TargetApp"))
.returns(Iu(s.any())),
}),
pickDataWatcher: i.watcherShapes.pickDataWatcher,
tap: s.interface("tap", {
receiveUpcall: s.callWhen(s.any()).returns(s.any()),
}),
monitorRegistration: s.interface("monitorRegistration", {
updateTargetApp: s
.callWhen(s.await(s.remotable("TargetApp")))
.returns(),
revoke: s.callWhen().returns(),
}),
watchPacketMatch: s.interface("watchPacketMatch", {
onFulfilled: s.call(s.any(), s.record()).returns(s.any()),
}),
watchPacketPattern: s.interface("watchPacketPattern", {
onFulfilled: s.call(s.any(), s.record()).returns(s.any()),
onRejected: s.call(s.any(), s.record()).returns(s.any()),
}),
watchDecrPendingPatterns: s.interface("watchDecrPendingPatterns", {
onFulfilled: s.call(s.any()).returns(s.any()),
onRejected: s.call(s.any()).returns(s.any()),
}),
sendPacketWatcher: s.interface("sendPacketWatcher", {
onFulfilled: s
.call([s.record(), s.remotable("PacketSender")], s.record())
.returns(s.any()),
}),
packetWasSentWatcher: s.interface("packetWasSentWatcher", {
onFulfilled: s
.call(
{ eventPattern: s.pattern(), resultV: mi(s.any()) },
s.record(),
)
.returns(s.any()),
}),
utils: s.interface("utils", {
pickVowProp: i.helperShapes.pickVowProp,
subscribeToTransfers: s.call().returns(s.promise()),
unsubscribeFromTransfers: s.call().returns(s.undefined()),
incrPendingPatterns: s.call().returns(mi(s.undefined())),
decrPendingPatterns: s.call().returns(mi(s.undefined())),
}),
rejectResolverAndRethrowWatcher: s.interface(
"rejectResolverWatcher",
{
onRejected: s
.call(s.any(), { resolver: s.remotable("resolver") })
.returns(s.any()),
},
),
},
(l) => {
let u = e.detached().mapStore("resolverToPattern");
return {
lca: l,
reg: null,
resolverToPattern: u,
upcallQueue: null,
pending: 0,
extra: null,
monitor: null,
};
},
{
packetWasSentWithMetaWatcher: {
onFulfilled({ eventPattern: l, resultV: u, meta: p }, y) {
let b = this.facets.packetWasSentWatcher.onFulfilled(
{ eventPattern: l, resultV: u },
y,
);
return harden({ result: b, meta: p });
},
},
...i.makeTombstonedWatchers(r1),
public: {
async monitorTransfers(l) {
let u = this.facets.monitorRegistration;
return (await u.updateTargetApp(l), u);
},
matchFirstPacket(l) {
return n(
this.facets.utils.incrPendingPatterns(),
this.facets.watchPacketMatch,
{ patternP: l },
);
},
sendThenWaitForAck(l, u = {}) {
let p = o(),
y = n(
r([this.facets.public.matchFirstPacket(p.vow), l]),
this.facets.sendPacketWatcher,
{ opts: u },
),
b = n(y, this.facets.packetWasSentWatcher, {
opts: u,
patternResolver: p.resolver,
});
return n(b, this.facets.rejectResolverAndRethrowWatcher, {
resolver: p.resolver,
});
},
},
pickDataWatcher: i.watchers.pickDataWatcher,
monitorRegistration: {
async updateTargetApp(l) {
((this.state.monitor = await l),
await this.facets.utils.subscribeToTransfers());
},
async revoke() {
this.state.monitor = null;
},
},
tap: {
async receiveUpcall(l) {
let {
monitor: u,
resolverToPattern: p,
upcallQueue: y,
pending: b,
} = this.state;
(qn(
`Trying ${p.getSize()} current patterns and ${b} pending patterns against`,
ku(l),
),
u && O(u).receiveUpcall(l));
for (let [m, v] of p.entries())
if (Ve(l, v)) {
(qn("Matched pattern:", ku(v)), m.resolve(l), p.delete(m));
return;
}
(y &&
(qn("Stashing object in upcallQueue"),
(this.state.upcallQueue = harden(y.concat(l)))),
qn("No match yet."));
},
},
sendPacketWatcher: {
onFulfilled([{ match: l }, u], p) {
return n(O(u).sendPacket(l, p.opts));
},
},
packetWasSentWatcher: {
onFulfilled({ eventPattern: l, resultV: u }, p) {
let { patternResolver: y } = p;
return (y.resolve(l), u);
},
},
rejectResolverAndRethrowWatcher: {
onRejected(l, { resolver: u }) {
throw (u.reject(l), l);
},
},
watchPacketMatch: {
onFulfilled(l, { patternP: u }) {
let { vow: p, resolver: y } = o(),
b = n(
u,
this.facets.watchPacketPattern,
harden({ resolver: y }),
);
return (
n(b, this.facets.watchDecrPendingPatterns),
harden({ match: p, resolver: y })
);
},
},
watchDecrPendingPatterns: {
onFulfilled() {
return this.facets.utils.decrPendingPatterns();
},
onRejected() {
return this.facets.utils.decrPendingPatterns();
},
},
watchPacketPattern: {
onFulfilled(l, { resolver: u }) {
let { resolverToPattern: p, upcallQueue: y } = this.state;
if ((qn("watchPacketPattern onFulfilled", ku(l)), !y)) {
(qn("No upcall queue yet. Save the pattern for later."),
p.init(u, l));
return;
}
let b = y.findIndex((m) => Ve(m, l));
if (b < 0) {
(qn("No match yet. Save the pattern for later."),
p.init(u, l));
return;
}
(qn(
"Success! Remove the matched object from the queue.",
ku(y[b]),
),
u.resolve(y[b]),
(this.state.upcallQueue = harden(
y.slice(0, b).concat(y.slice(b + 1)),
)));
},
onRejected(l, { resolver: u }) {
u.reject(l);
},
},
utils: {
pickVowProp: i.helper.pickVowProp,
incrPendingPatterns() {
let { pending: l, reg: u, upcallQueue: p } = this.state;
return (
(this.state.pending += 1),
p || (this.state.upcallQueue = harden([])),
u || l > 0
? n(void 0)
: n(this.facets.utils.subscribeToTransfers())
);
},
decrPendingPatterns() {
if (((this.state.pending -= 1), !(this.state.pending > 0)))
return (
(this.state.pending = 0),
(this.state.upcallQueue = null),
n(this.facets.utils.unsubscribeFromTransfers())
);
},
subscribeToTransfers() {
let { lca: l, reg: u } = this.state;
if (u) return a(u);
let { tap: p } = this.facets,
y = n(O(l).monitorTransfers(p));
return ((this.state.reg = y), a(y));
},
unsubscribeFromTransfers() {
let { reg: l, monitor: u } = this.state;
},
},
},
{
finish(l) {
l.facets.utils.subscribeToTransfers();
},
},
);
return Pr(c, "public");
};
harden(pg);
var JN = "",
Tu = btoa(JN),
VN = Ae("IBCP"),
{ Fail: pn, bare: HN } = assert,
{ Vow$: mg } = dt,
o1 = (e) => {
let t = [];
try {
let n = BigInt(e);
n > 0n && t.push(n);
} catch {}
let r = Number(e);
r > 0 && Number.isSafeInteger(r) && t.push(r);
let o = String(e);
switch (
(o && t.push(o), t.find((n) => n === e) || t.push(e), t.length)
) {
case 0:
throw pn`sequence ${e} is not valid`;
case 1:
return t[0];
default:
return s.or(...t);
}
};
harden(o1);
var n1 = (e, { watch: t, makeIBCReplyKit: r }) => {
let o = e.exoClassKit(
"IBCTransferSenderKit",
{
public: s.interface("IBCTransferSender", {
sendPacket: s.call(mg(s.any()), s.record()).returns(mg(s.record())),
}),
responseWatcher: s.interface("responseWatcher", {
onFulfilled: s.call([s.record()], s.record()).returns(s.any()),
}),
verifyTransferSuccess: s.interface("verifyTransferSuccess", {
onFulfilled: s.call(s.any()).returns(s.string()),
}),
},
(n, a) => ({ txExecutor: n, transferMsg: harden(a) }),
{
public: {
sendPacket(n, a) {
let { txExecutor: i, transferMsg: c } = this.state;
return t(O(i).executeTx([c]), this.facets.responseWatcher, {
opts: a,
match: n,
});
},
},
responseWatcher: {
onFulfilled([{ sequence: n }], a) {
let { match: i, opts: c } = a,
{ transferMsg: d } = this.state;
VN("sequence", n, d);
let l = s.splitRecord({
source_port: d.sourcePort,
source_channel: d.sourceChannel,
sequence: o1(n),
}),
{ resultV: u, ...p } = r(l, i, { opName: "transfer", ...c }),
y = t(u, this.facets.verifyTransferSuccess),
{ progressTracker: b, trafficSlice: m } = c || {};
if (b) {
let v = b.getCurrentProgressReport(),
h = li(v.traffic, m, (S) => Mo.IbcTransfer.finish(S, n)),
g = harden({ ...v, traffic: h });
b.update(g);
}
return harden({ ...p, resultV: y });
},
},
verifyTransferSuccess: {
onFulfilled(n) {
let a;
try {
a = JSON.parse(n);
} catch {
pn`ICS20-1 transfer ack data is not JSON: ${n}`;
}
let { result: i, error: c } = a;
if (
(c === void 0 || pn`ICS20-1 transfer error ${c}`,
i ?? pn`Missing result in ICS20-1 transfer ack ${a}`,
i === Tu)
)
return Tu;
let d = (p) => {
try {
return JSON.parse(atob(p));
} catch {
pn`Decoding of base64-encoded ack obj object failed: ${JSON.stringify(p)}`;
}
},
l = d(i);
return (
(l?.ibc_ack && d(l.ibc_ack))?.result === Tu ||
pn`ICS20-1 transfer unsuccessful with ack result: ${l}`,
Tu
);
},
},
},
);
return (...n) => o(...n).public;
};
harden(n1);
var s1 = (e, t) => {
let { watch: r } = t,
o = e.exo(
"ibcResultWatcher",
s.interface("processIBCWatcher", {
onFulfilled: s
.call(
s.splitRecord(
{ event: s.string() },
{ acknowledgement: s.string() },
),
s.splitRecord({}, { opName: s.string(), timeout: s.record() }),
)
.returns(mg(s.string())),
}),
{
onFulfilled(a, { opName: i = "unknown" }) {
let { event: c } = a;
switch (c) {
case "acknowledgementPacket": {
let { acknowledgement: d } = a;
return (
d || pn`acknowledgementPacket missing 'acknowledgement'`,
VS(d)
);
}
case "timeoutPacket":
throw pn`${HN(i)} operation received timeout packet`;
default:
throw pn`Unexpected event: ${c}`;
}
},
},
);
return (a, i, c) => {
let d = s.or(
s.splitRecord({
event: "acknowledgementPacket",
packet: a,
acknowledgement: s.string(),
}),
s.splitRecord({ event: "timeoutPacket", packet: a }),
),
l = r(i, o, c);
return harden({ eventPattern: d, resultV: l });
};
};
harden(s1);
var fg = (e, t) => {
let r = s1(e, t),
o = n1(e, { makeIBCReplyKit: r, ...t });
return harden({ makeIBCTransferSender: o, makeIBCReplyKit: r });
};
harden(fg);
var { details: yg } = assert,
WN = pe(cn),
LN = pe(ca),
qN = pe(da),
jN = pe(on),
GN = pe(rn),
QN = pe(sn),
zN = pe(an),
a1 = pe(nn),
i1 = [],
Fo = Ae("LocalOrchAccount"),
{ Vow$: la } = dt,
Uu = (e) => s.or(la(e), s.promise()),
YN = (e) =>
Array.isArray(e)
? (assert(
e.length > 0,
yg`Expected result to be a nonempty array, got ${e}`,
),
e[0])
: { reply: e },
ZN = s.interface("holder", {
...Su,
delegate: s.call(s.string(), et).returns(le),
undelegate: s.call(s.string(), et).returns(le),
deposit: s.call(Zt).returns(le),
withdraw: s.call(et).returns(la(Zt)),
executeTx: s.call(s.arrayOf(s.record())).returns(la(s.record())),
sendThenWaitForAck: s
.call(Uu(s.remotable("PacketSender")))
.optional(s.any())
.returns(Uu(s.any())),
matchFirstPacket: s.call(s.any()).returns(Uu(s.any())),
monitorTransfers: s.call(s.remotable("TargetApp")).returns(Uu(s.any())),
parseInboundTransfer: s
.call(s.recordOf(s.string(), s.any()))
.returns(
la({
amount: bt,
fromAccount: s.string(),
toAccount: s.string(),
extra: s.recordOf(s.string(), s.any()),
}),
),
}),
c1 = { account: ["Account holder status", s.any()] },
d1 = "denomination trace not found",
l1 = (
e,
{
makeRecorderKit: t,
makeProgressTracker: r,
zcf: o,
timerService: n,
vowTools: a,
chainHub: i,
localchain: c,
zoeTools: d,
},
) => {
let { watch: l, asVow: u, when: p } = a,
y = ci({ watch: l }),
{ makeIBCTransferSender: b } = fg(e.subZone("ibcTools"), a),
m = pg(e.subZone("packetTools"), a),
v = wu(n);
return e.exoClassKit(
"Local Orchestration Account Kit",
{
transferWithMetaWatcher: s.interface("transferWatcher", {
onFulfilled: s
.call([s.record(), s.record(), s.record(), s.nat()])
.optional({ opts: s.opt(Xo), route: Vc })
.returns(la(s.record())),
}),
...y.makeTombstonedWatcherShapes(i1),
...y.watcherShapes,
helper: s.interface("helper", {
...y.helperShapes,
amountToCoin: s.call(Jt).returns(s.record()),
}),
holder: ZN,
undelegateWatcher: s.interface("undelegateWatcher", {
onFulfilled: s
.call([s.splitRecord({ completionTime: iy })])
.optional(s.arrayOf(s.undefined()))
.returns(le),
}),
transferWatcher: s.interface("transferWatcher", {
onFulfilled: s
.call(s.array())
.optional({ opts: s.opt(Xo), route: Vc })
.returns(la(s.record())),
}),
transferConnectionWatcher: s.interface(
"transferConnectionWatcher",
{
onFulfilled: s
.call([s.record(), s.record(), s.nat()])
.optional({ opts: s.opt(Xo), route: Vc })
.returns(la(s.record())),
},
),
extractFirstResultWatcher: s.interface(
"extractFirstResultWatcher",
{
onFulfilled: s
.call([s.record()])
.optional(s.arrayOf(s.undefined()))
.returns(s.any()),
},
),
returnVoidWatcher: s.interface("returnVoidWatcher", {
onFulfilled: s
.call(s.any())
.optional(s.any())
.returns(s.undefined()),
}),
seatExiterHandler: s.interface("seatExiterHandler", {
onFulfilled: s
.call(s.undefined(), s.remotable())
.returns(s.undefined()),
onRejected: s
.call(s.error(), s.remotable())
.returns(s.undefined()),
}),
getBalanceWatcher: s.interface("getBalanceWatcher", {
onFulfilled: s.call(et, Za).returns(bt),
}),
queryBalanceWatcher: s.interface("queryBalanceWatcher", {
onFulfilled: s.call($c).returns(bt),
}),
queryBalancesWatcher: s.interface("queryBalancesWatcher", {
onFulfilled: s.call($c).returns(s.arrayOf(bt)),
}),
parseInboundTransferWatcher: s.interface(
"parseInboundTransferWatcher",
{
onFulfilled: s.call(s.any(), s.record()).returns(s.record()),
onRejected: s.call(s.any(), s.record()).returns(s.record()),
},
),
invitationMakers: s.interface("invitationMakers", {
CloseAccount: s.call().returns(s.promise()),
Delegate: s.call(s.string(), et).returns(s.promise()),
Deposit: s.call().returns(s.promise()),
Send: s.call().returns(s.promise()),
SendAll: s.call().returns(s.promise()),
Transfer: s.call().returns(s.promise()),
Undelegate: s.call(s.string(), et).returns(s.promise()),
Withdraw: s.call().returns(s.promise()),
}),
},
({ account: g, address: S, storageNode: w }) => {
let I = w ? t(w, c1.account[1]) : void 0;
I && O(I.recorder).write("");
let E = m(g);
return { account: g, address: S, packetTools: E, topicKit: I };
},
{
transferWithMetaWatcher: {
onFulfilled(g, S) {
let w = this.facets.transferWatcher.onFulfilled(g, S);
return harden({ result: w, meta: {} });
},
},
...y.makeTombstonedWatcherShapes(i1),
...y.watchers,
helper: {
...y.helper,
amountToCoin(g) {
return Es(i, g);
},
},
invitationMakers: {
Delegate(g, S) {
return (
Fo("Delegate", g, S),
o.makeInvitation(
(w) => (w.exit(), l(this.facets.holder.delegate(g, S))),
"Delegate",
)
);
},
Deposit() {
return (
Fo("Deposit"),
o.makeInvitation(
(g) => {
let { give: S } = g.getProposal();
return l(
d.localTransfer(g, this.state.account, S),
this.facets.seatExiterHandler,
g,
);
},
"Deposit",
void 0,
s.splitRecord({ give: cy, want: {} }),
)
);
},
Undelegate(g, S) {
return (
Fo("Undelegate", g, S),
o.makeInvitation(
(w) => (w.exit(), l(this.facets.holder.undelegate(g, S))),
"Undelegate",
)
);
},
CloseAccount() {
throw Error("not yet implemented");
},
Send() {
let g = (S, { toAccount: w, amount: I }) => (
S.exit(),
l(this.facets.holder.send(w, I))
);
return o.makeInvitation(g, "Send");
},
SendAll() {
let g = (S, { toAccount: w, amounts: I }) => (
S.exit(),
l(this.facets.holder.sendAll(w, I))
);
return o.makeInvitation(g, "SendAll");
},
Transfer() {
let g = (S, { amount: w, destination: I, opts: E }) => (
S.exit(),
l(this.facets.holder.transfer(I, w, E))
);
return o.makeInvitation(g, "Transfer");
},
Withdraw() {
return (
Fo("Withdraw"),
o.makeInvitation(
(g) => {
let { want: S } = g.getProposal();
return l(
d.withdrawToSeat(this.state.account, g, S),
this.facets.seatExiterHandler,
g,
);
},
"Withdraw",
void 0,
s.splitRecord({ give: {}, want: cy }),
)
);
},
},
undelegateWatcher: {
onFulfilled(g) {
let { completionTime: S } = g[0];
return l(
O(n).wakeAt(BigInt(S.seconds) + hu),
this.facets.returnVoidWatcher,
);
},
},
transferConnectionWatcher: {
onFulfilled([g, S, w], I) {
return l(
a.allVows([g, S, i.getConnectionInfo(g, S), w]),
this.facets.transferWatcher,
I,
);
},
},
transferWatcher: {
onFulfilled(
[g, S, { transferChannel: w }, I],
{ opts: E, route: K },
) {
let { forwardInfo: J, ...P } = K;
(assert.equal(
P.sourcePort,
w.portId,
yg`sourcePort ${x(P.sourcePort)} must match the portId ${x(w.portId)}`,
),
assert.equal(
P.sourceChannel,
w.channelId,
yg`sourceChannel ${x(P.sourceChannel)} must match the channelId ${x(w.channelId)}`,
));
let {
timeoutHeight: k,
timeoutTimestamp: U,
memo: D,
..._
} = E || {},
T = D;
J &&
(T = JSON.stringify({
forward: {
...J.forward,
...(T === void 0 ? {} : { next: T }),
},
}));
let R = WN.typedJson({
...P,
sender: this.state.address.value,
timeoutHeight: k,
timeoutTimestamp: I,
memo: T,
}),
{ holder: N } = this.facets,
F = b(N, R),
H,
q = E?.progressTracker;
if (q) {
let ne = q.getCurrentProgressReport(),
{ traffic: ee, slice: Q } = di(
ne.traffic,
Mo.IbcTransfer.start(
`${g.namespace}:${g.reference}`,
`${S.namespace}:${S.reference}`,
w,
),
);
H = Q;
let L = { ...ne, traffic: ee };
q.update(L);
}
return N.sendThenWaitForAck(F, { ..._, trafficSlice: H });
},
},
extractFirstResultWatcher: {
onFulfilled(g) {
return (
g.length === 1 || f`expected exactly one result; got ${g}`,
g[0]
);
},
},
returnVoidWatcher: { onFulfilled() {} },
getBalanceWatcher: {
onFulfilled(g, S) {
return harden({ denom: S, value: g.value });
},
},
seatExiterHandler: {
onFulfilled(g, S) {
S.exit();
},
onRejected(g, S) {
throw (S.exit(g), g);
},
},
queryBalanceWatcher: {
onFulfilled(g) {
let { balance: S } = g;
if (!S || !S?.denom) throw f`Expected balance ${x(g)};`;
return harden(Wn(S));
},
},
queryBalancesWatcher: {
onFulfilled(g) {
let { balances: S } = g;
if (!S || !Array.isArray(S))
throw f`Expected balances ${x(g)};`;
return harden(S.map(Wn));
},
},
parseInboundTransferWatcher: {
onFulfilled(g, S) {
let { error: w, reply: I } = YN(g);
if (w) {
if (w.includes(d1)) return S;
throw Error(`IBC denom trace query failed: ${w}`);
}
let K = `ibc/${qN.fromTyped(I).hash}`,
{ amount: J, ...P } = S,
{ denom: k, ...U } = J;
return harden({ ...P, amount: { ...U, denom: K } });
},
onRejected(g, S) {
if (g instanceof Error && String(g.message).includes(d1))
return S;
throw g;
},
},
holder: {
makeProgressTracker() {
return r();
},
asContinuingOffer() {
return u(async () => {
await null;
let { holder: g, invitationMakers: S } = this.facets,
w = S;
return harden({
publicSubscribers: await p(g.getPublicTopics()),
invitationMakers: w,
});
});
},
getBalance(g) {
return u(() => {
let [S, w] =
typeof g == "string"
? [i.getAsset(g, "agoric")?.brand, g]
: [g, i.getDenom(g)];
if (!w) throw f`No denom for brand: ${g}`;
return S
? l(
O(this.state.account).getBalance(S),
this.facets.getBalanceWatcher,
w,
)
: l(
O(c).query(
GN.typedJson({
address: this.state.address.value,
denom: w,
}),
),
this.facets.queryBalanceWatcher,
);
});
},
getBalances() {
return l(
O(c).query(
jN.typedJson({ address: this.state.address.value }),
),
this.facets.queryBalancesWatcher,
);
},
getPublicTopics() {
return u(async () => {
await null;
let { topicKit: g } = this.state;
if (!g) throw f`No topicKit; storageNode not provided`;
return harden({
account: {
description: c1.account[0],
subscriber: g.subscriber,
storagePath: await g.recorder.getStoragePath(),
},
});
});
},
delegate(g, S) {
let { account: w } = this.state,
I = Es(i, S);
return l(
O(w).executeTx([
QN.typedJson({
amount: I,
validatorAddress: g,
delegatorAddress: this.state.address.value,
}),
]),
this.facets.extractFirstResultWatcher,
);
},
undelegate(g, S) {
let w = Es(i, S),
{ account: I } = this.state;
return l(
O(I).executeTx([
zN.typedJson({
amount: w,
validatorAddress: g,
delegatorAddress: this.state.address.value,
}),
]),
this.facets.undelegateWatcher,
);
},
deposit(g) {
return l(O(this.state.account).deposit(g));
},
withdraw(g) {
return l(O(this.state.account).withdraw(g));
},
executeTx(g) {
return l(O(this.state.account).executeTx(g));
},
getAddress() {
return this.state.address;
},
send(g, S, w = {}) {
return u(() => {
Fo("send", g, S);
let I = i.coerceCosmosAddress(g);
I.chainId === this.state.address.chainId ||
f`bank/send cannot send to a different chain ${x(I.chainId)}`;
let { helper: E } = this.facets;
return l(
O(this.state.account).executeTx([
a1.typedJson({
amount: [E.amountToCoin(S)],
toAddress: I.value,
fromAddress: this.state.address.value,
}),
]),
this.facets.returnVoidWatcher,
);
});
},
sendAll(g, S) {
return u(() => {
Fo("sendAll", g, S);
let { helper: w } = this.facets;
return l(
O(this.state.account).executeTx([
a1.typedJson({
amount: S.map((I) => w.amountToCoin(I)),
toAddress: g.value,
fromAddress: this.state.address.value,
}),
]),
this.facets.returnVoidWatcher,
);
});
},
transfer(g, S, w) {
return u(() => {
Fo("Transferring funds over IBC");
let I = LA(i, S),
{ forwardOpts: E, ...K } = w ?? {},
J = "agoric",
P = i.makeTransferRoute(g, I, J, E);
Fo("got transfer route", P);
let k = i.getAsset(I.denom, J);
assert(k);
let { baseName: U } = k,
D = i.getChainInfoByChainId(Hf(this.state.address)),
_ =
J === U
? i.getChainInfoByChainId(Hf(g))
: i.getChainInfo(U);
return l(
a.allVows([D, _, v.vowOrValueFromOpts(w)]),
this.facets.transferConnectionWatcher,
{ opts: K, route: P },
);
});
},
parseInboundTransfer(g) {
return (
Fo("parseInboundTransfer", g),
u(() => {
let S = g,
w = JSON.parse(atob(S.data)),
{ denom: I, sender: E, receiver: K, amount: J } = w,
P = (D) =>
harden({
amount: { value: BigInt(J), denom: D },
fromAccount: E,
toAccount: K,
extra: { ...w },
}),
k,
U = `${S.source_port}/${S.source_channel}/`;
return (
Fo({ transferDenom: I, prefix: U }),
I.startsWith(U)
? (k = I.slice(U.length))
: (k = `${S.destination_port}/${S.destination_channel}/${I}`),
l(
O(c).queryMany([LN.typedJson({ trace: k })]),
this.facets.parseInboundTransferWatcher,
P(k),
)
);
})
);
},
transferSteps(g, S) {
return u(() => {
throw (
console.log("transferSteps got", g, S),
f`not yet implemented`
);
});
},
sendThenWaitForAck(g, S) {
return l(O(this.state.packetTools).sendThenWaitForAck(g, S));
},
matchFirstPacket(g) {
return l(O(this.state.packetTools).matchFirstPacket(g));
},
monitorTransfers(g) {
return l(O(this.state.packetTools).monitorTransfers(g));
},
},
},
);
};
var Cu = {
promiseFromVow: async (e) => {
let t = await e;
return (
!cr(t) ||
assert.Fail`Unexpected Vow ${t}; only use progress utilities within async flows (withOrchestration)`,
t
);
},
reduceProgressReports: async (e, t, r) => {
let { promiseFromVow: o } = Cu,
n = await o(e.exposePublicationInternals()),
a = harden(r);
for (;;) {
let i = await o(t(n?.value ?? null, a));
if ((harden(i), i == null ? (n = null) : (a = i), n == null))
return a;
n = (await o(n?.tail)) ?? null;
}
},
};
harden(Cu);
var gg = (e, { vowTools: { makeVowKit: t } }) => {
let r = e.exoClassKit(
"ProgressTrackerKit",
void 0,
() => {
let { vow: n, resolver: a } = t();
return {
currentPublication: harden({ value: {}, tail: n }),
done: !1,
tailResolver: a,
};
},
{
helper: {},
public: {
getCurrentProgressReport() {
let { currentPublication: n } = this.state;
return n.value;
},
update(n) {
let {
currentPublication: a,
tailResolver: i,
done: c,
} = this.state;
if (c) return a.value;
let { vow: d, resolver: l } = t(),
u = harden({ value: n, tail: d });
return (
(this.state.currentPublication = u),
i.resolve(u),
(this.state.tailResolver = l),
n
);
},
finish() {
let {
currentPublication: n,
tailResolver: a,
done: i,
} = this.state;
return (
i || (a.resolve(null), (this.state.done = !0)),
n.value
);
},
exposePublicationInternals() {
return this.state.currentPublication;
},
},
},
),
o = () => r().public;
return harden(o);
};
harden(gg);
var { Vow$: XN } = dt,
eB = Ae("Orchestrator"),
tB = s.interface("Orchestrator", {
getChain: s.call(s.string()).returns(XN(s.remotable("ChainFacade"))),
getDenomInfo: s.call(Za, s.string()).returns(sy),
asAmount: s.call(bt).returns(et),
}),
u1 = (
e,
{
chainHub: t,
makeLocalChainFacade: r,
makeRemoteChainFacade: o,
vowTools: { watch: n, asVow: a },
},
) => {
let i = Go("chainName");
return e.exoClassKit(
"Orchestrator",
{
orchestrator: tB,
makeLocalChainFacadeWatcher: s.interface(
"makeLocalChainFacadeWatcher",
{ onFulfilled: s.call(s.record()).returns(s.remotable()) },
),
makeRemoteChainFacadeWatcher: s.interface(
"makeRemoteChainFacadeWatcher",
{
onFulfilled: s
.call(s.any(), s.string())
.optional(s.arrayOf(s.undefined()))
.returns(s.remotable()),
},
),
},
() => (eB("making an Orchestrator"), {}),
{
makeLocalChainFacadeWatcher: {
onFulfilled(c) {
let d = r(c);
return (i.set("agoric", harden({ value: d, pending: !1 })), d);
},
},
makeRemoteChainFacadeWatcher: {
onFulfilled([c, d, l], u) {
let p = o(d, l);
return (i.set(u, harden({ value: p, pending: !1 })), p);
},
},
orchestrator: {
getChain(c) {
return a(() => {
if (i.has(c)) {
let l = i.get(c);
return l.pending ? l.vow : l.value;
}
let d =
c === "agoric"
? n(
t.getChainInfo("agoric"),
this.facets.makeLocalChainFacadeWatcher,
)
: n(
t.getChainsAndConnection("agoric", c),
this.facets.makeRemoteChainFacadeWatcher,
c,
);
return (i.init(c, harden({ vow: d, pending: !0 })), d);
});
},
getDenomInfo(c, d) {
let l = t.getAsset(c, d);
if (!l) throw f`No denom detail for ${x(c)}`;
let { chainName: u, baseName: p, baseDenom: y, brand: b } = l;
i.has(u) ||
f`use getChain(${x(u)}) before getDenomInfo(${x(c)})`;
let m = i.get(u);
if (m.pending)
throw f`wait until getChain(${x(u)}) completes before getDenomInfo(${x(c)})`;
let v = m.value;
i.has(p) ||
f`use getChain(${x(p)}) before getDenomInfo(${x(c)})`;
let h = i.get(p);
if (h.pending)
throw f`wait until getChain(${x(p)}) completes before getDenomInfo(${x(c)})`;
let g = h.value;
return harden({ chain: v, base: g, brand: b, baseDenom: y });
},
asAmount: () => f`not yet implemented`,
},
},
);
};
harden(u1);
var p1 = (e, t) => {
let r = u1(e, t);
return Pr(r, "orchestrator");
};
var rB = Ae("RemoteChainFacade"),
m1 = (
e,
{
makeCosmosOrchestrationAccount: t,
orchestration: r,
storageNode: o,
timer: n,
vowTools: { allVows: a, asVow: i, watch: c },
},
) =>
e.exoClassKit(
"RemoteChainFacade",
{
public: s.interface("RemoteChainFacade", {
..._c,
query: s.call(s.arrayOf(Mc)).returns(le),
}),
makeICQConnectionQueryWatcher: s.interface(
"makeICQConnectionQueryWatcher",
{ onFulfilled: s.call(s.remotable(), s.arrayOf(Mc)).returns(le) },
),
makeAccountAndProvideQueryConnWatcher: s.interface(
"makeAccountAndProvideQueryConnWatcher",
{
onFulfilled: s
.call([s.remotable(), s.or(s.remotable(), s.undefined())])
.returns(le),
},
),
getAddressesWatcher: s.interface("getAddressWatcher", {
onFulfilled: s
.call([je, s.string(), s.string()], s.remotable())
.returns(le),
}),
makeChildNodeWatcher: s.interface("makeChildNodeWatcher", {
onFulfilled: s
.call(s.or(s.remotable(), s.undefined()), {
account: s.remotable(),
chainAddress: je,
localAddress: s.string(),
remoteAddress: s.string(),
})
.returns(s.remotable()),
}),
},
(d, l) => (
rB("making a RemoteChainFacade"),
{ remoteChainInfo: d, connectionInfo: l, icqConnection: void 0 }
),
{
public: {
getChainInfo() {
return c(this.state.remoteChainInfo);
},
makeAccount() {
return i(() => {
let { remoteChainInfo: d, connectionInfo: l } = this.state;
if (d.namespace !== "cosmos")
throw f`only supported on 'cosmos' chains, not ${d.namespace}`;
if (!l) throw f`IBC connection info not found`;
let u =
d?.icqEnabled && !this.state.icqConnection
? O(r).provideICQConnection(l.id)
: void 0,
p = O(r).makeAccount(
d.chainId,
l.counterparty.connection_id,
l.id,
);
return c(
a([p, u]),
this.facets.makeAccountAndProvideQueryConnWatcher,
);
});
},
query(d) {
return i(() => {
let {
remoteChainInfo: { icqEnabled: l, chainId: u },
connectionInfo: p,
} = this.state;
if (!l) throw f`Queries not available for chain ${x(u)}`;
if (!p) throw f`IBC connection info not found`;
return this.state.icqConnection
? c(O(this.state.icqConnection).query(d))
: c(
O(r).provideICQConnection(p.id),
this.facets.makeICQConnectionQueryWatcher,
d,
);
});
},
},
makeAccountAndProvideQueryConnWatcher: {
onFulfilled([d, l]) {
return (
l &&
!this.state.icqConnection &&
(this.state.icqConnection = l),
c(
a([
O(d).getAddress(),
O(d).getLocalAddress(),
O(d).getRemoteAddress(),
]),
this.facets.getAddressesWatcher,
d,
)
);
},
},
makeICQConnectionQueryWatcher: {
onFulfilled(d, l) {
return (
this.state.icqConnection || (this.state.icqConnection = d),
c(O(d).query(l))
);
},
},
getAddressesWatcher: {
onFulfilled([d, l, u], p) {
let y = o ? O(o).makeChildNode(d.value) : void 0;
return c(y, this.facets.makeChildNodeWatcher, {
account: p,
chainAddress: d,
localAddress: l,
remoteAddress: u,
});
},
},
makeChildNodeWatcher: {
onFulfilled(
d,
{
account: l,
chainAddress: u,
localAddress: p,
remoteAddress: y,
},
) {
let { icqConnection: b } = this.state;
return t(
{ chainAddress: u, localAddress: p, remoteAddress: y },
{ account: l, storageNode: d, icqConnection: b, timer: n },
);
},
},
},
);
harden(m1);
var hg = (e, t) => {
let r = m1(e, t);
return Pr(r, "public");
};
harden(hg);
var bg = ({
zone: e,
timerService: t,
zcf: r,
orchestrationService: o,
makeOrchestrator: n,
vowTools: a,
asyncFlowTools: i,
}) => {
kc({
zone: e,
timerService: t,
zcf: r,
orchestrationService: o,
makeOrchestrator: n,
vowTools: a,
asyncFlowTools: i,
});
let { prepareEndowment: c, asyncFlow: d } = i,
l = (p, y, b) => {
let m = e.subZone(p),
[v] = c(m, "endowments", [y]),
h = d(m, "asyncFlow", b);
gf(
v,
(S) =>
S === r &&
assert.fail(
"do not use zcf in orchestration context; try zcfTools",
),
);
let g = (...S) => {
let w = n();
return h(w, v, ...S);
};
return harden(g);
},
u = (p, y) => {
let b = new Map(
Object.entries(p).map(([h, g]) => [g, (...S) => v[h](...S)]),
),
m = gf(y, (h) => b.get(h) || h),
v = Ne(p, (h, g) => l(String(g), m, h));
return { ...v };
};
return harden({ orchestrate: l, orchestrateAll: u });
};
harden(bg);
var Lc = harden({
add: (e, t) => Re(e) + Re(t),
subtract: (e, t) => Re(Re(e) - Re(t)),
multiply: (e, t) => Re(e) * Re(t),
floorDivide: (e, t) => Re(e) / Re(t),
ceilDivide: (e, t) => ((t = Re(t)), Re(Re(e) + t - 1n) / t),
bankersDivide: (e, t) => {
((e = Re(e)), (t = Re(t)));
let r = e / t,
o = e % t;
return o * 2n > t || (o * 2n === t && r % 2n === 1n) ? r + 1n : r;
},
isGTE: (e, t) => Re(e) >= Re(t),
});
var { subtract: poe, add: moe, multiply: foe, floorDivide: yoe } = Lc;
var f1 = (e, t) => {
let r = e,
o = new Map(t);
return harden({
canTransitionTo: (n) => o.get(r).includes(n),
transitionTo: (n) => {
(xe(o.get(r).includes(n)), (r = n));
},
getStatus: (n) => r,
});
};
harden(f1);
var ur = s.string(),
ua = s.remotable("InvitationHandle"),
Zr = s.remotable("Invitation"),
Rt = s.remotable("InstanceHandle"),
mn = s.remotable("Installation"),
Yr = s.remotable("Seat"),
jn = s.recordOf(ur, et),
oB = s.recordOf(ur, s.pattern()),
vg = s.recordOf(ur, s.eref(Zt)),
Ru = s.recordOf(ur, ir),
h1 = s.recordOf(ur, s.eref(ir)),
Ou = s.recordOf(ur, ot),
Sg = s.splitRecord(
{ brand: ot, issuer: ir, assetKind: As },
{ displayInfo: ko },
),
Eu = { issuers: Ru, brands: Ou };
harden(Eu);
var b1 = { installation: mn, instance: Rt, terms: s.splitRecord(Eu) };
harden(b1);
var woe = s.interface("Handle", {}),
nB = (e) => s.remotable(`${e}Handle`),
sB = nB("timer"),
v1 = {
want: oB,
give: jn,
exit: s.splitRecord(
{},
{
onDemand: null,
waived: null,
afterDeadline: { timer: s.eref(sB), deadline: xu },
},
{},
),
};
harden(v1);
var Du = s.splitRecord({}, v1, {}),
Poe = s.splitRecord({ give: {}, want: {}, exit: { onDemand: null } }),
aB = (e) => {
let [t] = Object.keys(e);
return t === "onDemand";
};
harden(aB);
var iB = (e) => {
let [t] = Object.keys(e);
return t === "waived";
};
harden(iB);
var cB = (e) => {
let [t] = Object.keys(e);
return t === "afterDeadline";
};
harden(cB);
var koe = s.splitRecord({
description: s.string(),
handle: ua,
instance: Rt,
installation: mn,
}),
S1 = s.interface("OfferHandler", {
handle: s.call(Yr).optional(s.any()).returns(s.any()),
}),
dB = s.arrayOf({ seatHandle: Yr, allocation: jn }),
y1 = s.remotable("ZoeMint"),
Ioe = s.interface("ZoeMint", {
getIssuerRecord: s.call().returns(Sg),
mintAndEscrow: s.call(et).returns(),
withdrawAndBurn: s.call(et).returns(),
}),
x1 = s.remotable("FeeMintAccess"),
Toe = s.interface("Exit Object", { exit: s.call().returns() }),
A1 = s.remotable("ExitObj"),
lB = s.remotable("InstanceAdmin"),
Uoe = s.interface("InstanceAdmin", {
makeInvitation: s
.call(ua, s.string())
.optional(s.record(), s.pattern())
.returns(Zr),
saveIssuer: s.callWhen(s.await(ir), ur).returns(Sg),
makeNoEscrowSeat: s.call(jn, Du, A1, Yr).returns(Yr),
exitAllSeats: s.call(s.any()).returns(),
failAllSeats: s.call(s.any()).returns(),
exitSeat: s.call(Yr, s.any()).returns(),
failSeat: s.call(Yr, s.any()).returns(),
makeZoeMint: s
.call(ur)
.optional(As, ko, s.splitRecord({}, { elementShape: s.pattern() }))
.returns(s.remotable("zoeMint")),
registerFeeMint: s.call(ur, x1).returns(s.remotable("feeMint")),
replaceAllocations: s.call(dB).returns(),
stopAcceptingOffers: s.call().returns(),
setOfferFilter: s.call(s.arrayOf(s.string())).returns(),
getOfferFilter: s.call().returns(s.arrayOf(s.string())),
getExitSubscriber: s.call(Yr).returns(wc),
isBlocked: s.call(s.string()).returns(s.boolean()),
repairContractCompletionWatcher: s.call().returns(),
}),
uB = {
instanceStorageManager: s.interface("InstanceStorageManager", {
getTerms: s.call().returns(s.splitRecord(Eu)),
getIssuers: s.call().returns(Ru),
getBrands: s.call().returns(Ou),
getInstallation: s.call().returns(mn),
getInvitationIssuer: s.call().returns(ir),
saveIssuer: s.call(ir, ur).returns(s.promise()),
makeZoeMint: s
.call(ur)
.optional(As, ko, s.splitRecord({}, { elementShape: s.pattern() }))
.returns(s.eref(y1)),
registerFeeMint: s.call(ur, x1).returns(s.remotable("feeMint")),
getInstanceRecord: s.call().returns(b1),
getIssuerRecords: s.call().returns(s.arrayOf(Sg)),
getWithdrawFacet: s.call().returns(s.remotable("WithdrawFacet")),
initInstanceAdmin: s
.call(Rt, s.remotable("instanceAdmin"))
.returns(s.promise()),
deleteInstanceAdmin: s.call(lB).returns(),
makeInvitation: s
.call(ua, s.string())
.optional(s.record(), s.pattern())
.returns(Zt),
getRoot: s.call().returns(s.any()),
getAdminNode: s.call().returns(s.remotable("adminNode")),
}),
withdrawFacet: s.interface("WithdrawFacet", {
withdrawPayments: s.call(jn).returns(vg),
}),
helpers: s.interface("InstanceStorageManager helper", {
wrapIssuerKitWithZoeMint: s
.call(ur, tf, s.remotable("adminNode"))
.returns(y1),
}),
};
harden(uB);
var w1 = s.remotable("bundleCap"),
g1 = s.and(
s.splitRecord({ moduleFormat: s.any() }),
s.recordOf(s.string(), s.string({ stringLengthLimit: 1 / 0 })),
),
pB = s.splitRecord(
{ installation: mn },
{
bundle: s.recordOf(
s.string(),
s.string({ stringLengthLimit: 1 / 0 }),
),
bundleCap: w1,
bundleID: s.string(),
},
{},
),
mB = {
zoeServiceDataAccess: s.interface("ZoeService dataAccess", {
getTerms: s.call(Rt).returns(s.splitRecord(Eu)),
getIssuers: s.call(Rt).returns(Ru),
getBrands: s.call(Rt).returns(Ou),
getInstallation: s
.call(Rt)
.returns(s.eref(s.remotable("Installation"))),
getInvitationIssuer: s.call().returns(ir),
getBundleIDFromInstallation: s.call(mn).returns(s.eref(s.string())),
installBundle: s.call(g1).optional(s.string()).returns(s.promise()),
installBundleID: s
.call(s.string())
.optional(s.string())
.returns(s.promise()),
getPublicFacet: s
.call(Rt)
.returns(s.eref(s.remotable("PublicFacet"))),
getOfferFilter: s.call(Rt).returns(s.arrayOf(s.string())),
getProposalShapeForInvitation: s.call(ua).returns(s.opt(s.pattern())),
}),
makeOfferAccess: s.interface("ZoeStorage makeOffer access", {
getAssetKindByBrand: s.call(ot).returns(As),
getInstanceAdmin: s.call(Rt).returns(s.remotable("instanceAdmin")),
getProposalShapeForInvitation: s.call(ua).returns(s.opt(s.pattern())),
getInvitationIssuer: s.call().returns(ir),
depositPayments: s.call(Du, vg).returns(s.promise()),
}),
startInstanceAccess: s.interface("ZoeStorage startInstance access", {
makeZoeInstanceStorageManager: s
.call(mn, s.any(), h1, Rt, s.or(w1, g1), s.string())
.returns(s.promise()),
unwrapInstallation: s.callWhen(s.eref(mn)).returns(pB),
}),
invitationIssuerAccess: s.interface("ZoeStorage invitationIssuer", {
getInvitationIssuer: s.call().returns(ir),
}),
};
harden(mB);
var Coe = s.interface("ZoeService", {
install: s.call(s.any()).optional(s.string()).returns(s.promise()),
installBundleID: s
.call(s.string())
.optional(s.string())
.returns(s.promise()),
startInstance: s
.call(s.eref(mn))
.optional(h1, s.record(), s.record(), s.string())
.returns(s.promise()),
offer: s
.call(s.eref(Zr))
.optional(Du, vg, s.any())
.returns(s.promise()),
getOfferFilter: s.callWhen(s.await(Rt)).returns(s.arrayOf(s.string())),
getInvitationIssuer: s.call().returns(s.promise()),
getFeeIssuer: s.call().returns(s.promise()),
getBrands: s.callWhen(s.await(Rt)).returns(Ou),
getIssuers: s.callWhen(s.await(Rt)).returns(Ru),
getPublicFacet: s
.callWhen(s.await(Rt))
.returns(s.remotable("PublicFacet")),
getTerms: s.callWhen(s.await(Rt)).returns(s.any()),
getInstallationForInstance: s
.callWhen(s.await(Rt))
.returns(s.eref(s.remotable("Installation"))),
getBundleIDFromInstallation: s
.callWhen(s.await(mn))
.returns(s.eref(s.string())),
getInstallation: s.call(s.eref(Zr)).returns(s.promise()),
getInstance: s.call(s.eref(Zr)).returns(s.promise()),
getConfiguration: s
.call()
.returns({
feeIssuerConfig: {
name: s.string(),
assetKind: "nat",
displayInfo: ko,
},
}),
getInvitationDetails: s.call(s.eref(Zr)).returns(s.any()),
getProposalShapeForInvitation: s.call(ua).returns(s.opt(s.pattern())),
}),
Roe = s.interface("ZcfAdminFacet", {
getVatShutdownPromise: s.call().returns(s.promise()),
restartContract: s.call().optional(s.any()).returns(s.promise()),
upgradeContract: s
.call(s.string())
.optional(s.any())
.returns(s.promise()),
terminateContract: s.call(s.error()).returns(s.promise()),
}),
fB = s.splitRecord(
{ proposal: Du, initialAllocation: jn, seatHandle: Yr },
{ offerArgs: s.any() },
),
Ooe = s.interface("HandleOffer", {
handleOffer: s
.call(ua, fB)
.returns({ offerResultPromise: s.promise(), exitObj: A1 }),
}),
yB = { quoteAmount: et, quotePayment: s.eref(Zt) };
harden(yB);
var Boe = s.splitArray(
harden([s.opt(Yr), s.opt(Yr), s.opt(jn)]),
harden([s.opt(jn)]),
);
var xg = (e, t = void 0, r = void 0, o = void 0, n = void 0) =>
e.atomicRearrange(harden([[t, r, o, n]]));
var P1 = (e = {}, t) => {
let r = ([o, n]) => {
if (t[o] === void 0) return 0;
let a = t[o];
return Le.isGTE(a, n) ? 1 : 0;
};
return Object.entries(e).every(r) ? 1 : 0;
},
Ag = (e, t) => P1(e.want, t),
gB = (e, t) => P1(e.give, t);
function hB(e, t) {
return gB(e, t) > 0 || Ag(e, t) > 0;
}
harden(hB);
harden(Ag);
var SB = "Deposit and reallocation successful.",
Nu = async (e, t, r, o) => {
!t.hasExited() || f`The recipientSeat cannot have exited.`;
let n = (l) => (xg(e, l, t, r), l.exit(), SB),
a = e.makeInvitation(n, "temporary seat for deposit"),
i = harden({ give: r });
harden(o);
let c = e.getZoeService(),
d = O(c).offer(a, i, o);
return O(d).getOfferResult();
};
var {
multiply: Xoe,
floorDivide: ene,
ceilDivide: tne,
bankersDivide: rne,
add: one,
subtract: nne,
} = Lc;
var xB = (e) => {
let t = new WeakMap();
return (r) => {
if (t.has(r)) return t.get(r);
let o = e(r);
return (t.set(r, o), o);
};
};
harden(xB);
var AB = (e, t, r) => wo(t, r, () => e.makeEmptySeatKit().zcfSeat);
harden(AB);
var wB = (e, t) => {
let r = Object.keys(t);
if (e.has(r[0])) {
let a = Ne(t, (i, c) => e.get(c));
return Promise.resolve(harden(a));
}
let n = Ne(t, (a) => a());
return OS(n).then((a) => {
for (let [i, c] of Object.entries(a)) e.init(i, c);
return a;
});
};
harden(wB);
var Bu = (e, t, r = {}) =>
harden({
...So(
t.map((o) => [
o,
{
[o](...n) {
let { underlying: a } = this.state;
return (a !== void 0 || f`${x(e)} revoked`, a[o](...n));
},
}[o],
]),
),
...r,
});
harden(Bu);
var k1 = (e, t, r, o = {}) => {
let {
uInterfaceName: n = t,
extraMethodGuards: a = {},
extraMethods: i = {},
} = o,
c = s.interface(`${n}_attenuator`, a, { defaultGuards: "raw" }),
d = `${t}_attenuator`;
return e.exoClass(d, c, (l) => ({ underlying: l }), Bu(d, r, i), {
stateShape: { underlying: s.opt(s.remotable("underlying")) },
});
};
harden(k1);
var PB = /^(Alleged: |DebugName: )/,
kB = (e, t, r = void 0) => {
let o = Yo(),
n = (e[Symbol.toStringTag] || "Underlying").replace(PB, "");
return k1(o, n, t, r)(e);
};
harden(kB);
var wg = (e, t, r, o = {}) => {
let {
uInterfaceName: n = t,
extraMethodGuards: a = {},
extraMethods: i = {},
} = o,
c = harden({
revoker: s.interface(`${n}_revoker`, {
revoke: s.call().returns(s.boolean()),
}),
revocable: s.interface(`${n}_revocable`, a, { defaultGuards: "raw" }),
}),
d = `${t}_caretaker`,
l,
u = e.exoClassKit(
d,
c,
(b) => ({ underlying: b }),
{
revoker: {
revoke() {
let { state: b } = this;
return b.underlying === void 0
? !1
: ((b.underlying = void 0), !0);
},
},
revocable: Bu(d, r, i),
},
{
stateShape: { underlying: s.opt(s.remotable("underlying")) },
receiveAmplifier: (b) => {
l = b;
},
},
),
p = (b) => u(b).revocable,
y = (b) => {
let m = l(b);
return m === void 0 ? !1 : m.revoker.revoke();
};
return harden({ revoke: y, makeRevocable: p, makeRevocableKit: u });
};
harden(wg);
var IB = s.splitRecord({ give: {}, want: {}, exit: { onDemand: null } }),
TB = (e, t, r, o, n = {}) => {
let { uInterfaceName: a = r } = n,
{ revoke: i, makeRevocable: c } = wg(e, r, o, {
uInterfaceName: a,
extraMethodGuards: {
makeTransferInvitation: s.call().returns(s.promise()),
},
extraMethods: {
makeTransferInvitation() {
let { underlying: u } = this.state,
{ revocable: p } = this.facets,
y = u.getInvitationCustomDetails(),
b = d(u),
m = t(b, "transfer", y, IB);
return (i(p), m);
},
},
}),
d = e.exoClass("TransferHandler", S1, (u) => ({ underlying: u }), {
handle(u) {
let { underlying: p } = this.state,
y = c(p);
return (u.exit(), y);
},
}),
l = (u) => c(u);
return harden(l);
};
harden(TB);
var Nne = Ae("PA", !1);
var Gn = s.call(et, et).returns(s.promise()),
Bne = s.interface("PriceAuthority", {
getQuoteIssuer: s.call(ot, ot).returns(s.promise()),
getTimerService: s.call(ot, ot).returns(s.promise()),
quoteGiven: s.call(et, ot).returns(s.promise()),
quoteWanted: s.call(ot, et).returns(s.promise()),
makeQuoteNotifier: s.call(et, ot).returns(s.promise()),
quoteAtTime: s.call(xu, et, ot).returns(s.promise()),
quoteWhenLT: Gn,
quoteWhenLTE: Gn,
quoteWhenGTE: Gn,
quoteWhenGT: Gn,
mutableQuoteWhenLT: Gn,
mutableQuoteWhenLTE: Gn,
mutableQuoteWhenGTE: Gn,
mutableQuoteWhenGT: Gn,
});
var UB = async (e) => {
let r = (await O(e).getDisplayInfo()).decimalPlaces ?? 0;
return Le.make(e, 10n ** Re(r));
};
harden(UB);
var I1 = Ae("ZoeTools"),
{ assign: T1, keys: Pg, values: U1 } = Object,
C1 = (e, { when: t, allVows: r, allSettled: o, asVow: n }) => {
let a = (c, d, l) =>
n(async () => {
!c.hasExited() || f`The seat cannot have exited.`;
let { zcfSeat: u, userSeat: p } = e.makeEmptySeatKit(),
y = await p;
(e.atomicRearrange(harden([[c, u, l]])), u.exit());
let b = await Promise.all(Pg(l).map((v) => O(y).getPayout(v))),
m = await t(o(b.map((v) => O(d).deposit(v))));
if (m.find((v) => v.status === "rejected")) {
let v = U1(l),
h = [],
g = m.map((E, K) =>
E.status === "rejected"
? (h.push(E.reason), b[K])
: O(d).withdraw(v[K]),
),
S = await t(r(g)),
w = harden(
Pg(l).reduce((E, K, J) => T1(E, { [K]: S[J] }), {}),
),
I = await Nu(e, c, l, w);
throw (
I1("localTransfer depositResponse", I),
Se(`One or more deposits failed ${x(h)}`)
);
}
}),
i = (c, d, l) =>
n(async () => {
!d.hasExited() || f`The seat cannot have exited.`;
let u = await t(o(U1(l).map((m) => O(c).withdraw(m))));
if (u.find((m) => m.status === "rejected")) {
let m = [],
v = [];
for (let h of u)
h.status === "fulfilled"
? m.push(O(c).deposit(h.value))
: v.push(h.reason);
throw (
await t(r(m)),
Se(`One or more withdrawals failed ${x(v)}`)
);
}
let p = u,
y = harden(
Pg(l).reduce((m, v, h) => T1(m, { [v]: p[h].value }), {}),
),
b = await Nu(e, d, l, y);
I1("withdrawToSeat depositResponse", b);
});
return harden({ localTransfer: a, withdrawToSeat: i });
};
var CB = s.remotable("OfferHandler"),
R1 = (e, t) =>
harden({
makeInvitation(r, o, n, a) {
return (Be(r, CB), t.watch(e.makeInvitation(r, o, n, a)));
},
atomicRearrange(r) {
e.atomicRearrange(r);
},
assertUniqueKeyword(r) {
e.assertUniqueKeyword(r);
},
});
var O1 = (e, t, r, o, n = {}) => {
let a = (() => {
let P = xs(t);
return {
asyncFlow: P.subZone("asyncFlow"),
orchestration: P.subZone("orchestration"),
chainHub: P.subZone("chainHub"),
vows: P.subZone("vows"),
contract: P.subZone("contract"),
};
})(),
{ agoricNames: i, timerService: c, localchain: d } = r,
l = Fn(a.vows),
u = WA(a.chainHub, i, l, {
chainInfoValueShape: n.chainInfoValueShape,
}),
p = C1(e, l),
y = R1(e, l),
b = MA(o),
{ makeRecorderKit: m } = FA(t, b),
v = gg(a.orchestration, { vowTools: l }),
h = l1(a.orchestration, {
makeProgressTracker: v,
makeRecorderKit: m,
zcf: e,
timerService: c,
vowTools: l,
chainHub: u,
localchain: d,
zoeTools: p,
}),
g = Oy(a.asyncFlow, { vowTools: l }),
S = Zw(a.orchestration, {
chainHub: u,
makeProgressTracker: v,
makeRecorderKit: m,
timerService: c,
vowTools: l,
zcf: e,
}),
w = hg(a.orchestration, {
makeCosmosOrchestrationAccount: S,
orchestration: r.orchestrationService,
storageNode: r.storageNode,
timer: r.timerService,
vowTools: l,
}),
I = ug(a.orchestration, {
makeLocalOrchestrationAccountKit: h,
localchain: r.localchain,
storageNode: r.storageNode,
agoricNames: i,
orchestration: r.orchestrationService,
timer: r.timerService,
vowTools: l,
}),
E = p1(a.orchestration, {
chainHub: u,
makeLocalChainFacade: I,
makeRemoteChainFacade: w,
vowTools: l,
}),
K = (P) =>
bg({
zone: P,
zcf: e,
makeOrchestrator: E,
asyncFlowTools: g,
vowTools: l,
...r,
}),
J = K(a.contract.subZone("orchestration"));
return (
e.setTestJig(() => ({ baggage: t, chainHub: u })),
{
...J,
makeOrchestrateKit: K,
baggage: t,
cachingMarshaller: b,
chainHub: u,
vowTools: l,
asyncFlowTools: g,
zcfTools: y,
zoeTools: p,
zone: a.contract,
}
);
};
harden(O1);
var Mu = (e, t) => async (r, o, n) => {
let { marshaller: a, ...i } = o,
{ storageNode: c, ...d } = i,
{ publishAccountInfo: l, chainInfoValueShape: u } = t ?? {},
{ zone: p, ...y } = O1(r, n, l ? i : d, a, { chainInfoValueShape: u }),
[b] = await Promise.all([e(r, o, p, y), y.asyncFlowTools.allWokenP]);
return b;
};
harden(Mu);
var RB = { omniflixhub: !0, osmosis: !0 };
harden(RB);
var OB = {
agoric: !0,
celestia: !0,
cosmoshub: !0,
juno: !0,
neutron: !0,
noble: !0,
omniflixhub: !0,
osmosis: !0,
secretnetwork: !0,
stargaze: !0,
stride: !0,
umee: !0,
};
harden(OB);
var EB = {
celestia: !0,
cosmoshub: !0,
dydx: !0,
juno: !0,
neutron: !0,
noble: !0,
omniflixhub: !0,
osmosis: !0,
secretnetwork: !0,
stargaze: !0,
stride: !0,
umee: !0,
};
harden(EB);
var kg = (e, t, r, o, { log: n = () => {} } = {}) => {
if ((n("chainHub: registering chains", Object.keys(r || {})), !r)) return;
let a = {};
for (let [c, d] of Object.entries(r))
if (d.namespace === "cosmos") {
let { connections: l, ...u } = d;
(e.registerChain(c, u), l && (a[u.chainId] = l));
} else e.registerChain(c, d);
let i = new Set();
for (let [c, d] of Object.entries(a))
for (let [l, u] of Object.entries(d)) {
let p = [c, l].sort().join("<->");
i.has(p) || (e.registerConnection(c, l, u), i.add(p));
}
if (
(n("chainHub: registered connections", [...i].sort()),
n(
"chainHub: registering assets",
o?.map(([c, { chainName: d }]) => `${d}: ${c}`),
),
!!o)
)
for (let [c, d] of o) {
let { brandKey: l, ...u } = d,
p = l ? { ...u, brand: t[l] } : u;
e.registerAsset(c, p);
}
};
var Tg = { features: { useProgressTracker: !0 } };
harden(Tg);
var Ug = Wr({
Aave: null,
Compound: null,
USDN: null,
Beefy: null,
ERC4626: null,
});
harden(Ug);
var DB = {
Supply: "supply",
Withdraw: "withdraw",
DepositForBurn: "depositforburn",
};
harden(DB);
var _e = Wr({
Arbitrum: null,
Avalanche: null,
Base: null,
Ethereum: null,
Optimism: null,
});
harden(_e);
var $u = {
mainnet: {
Arbitrum: 42161n,
Avalanche: 43114n,
Base: 8453n,
Ethereum: 1n,
Optimism: 10n,
},
testnet: {
Arbitrum: 421614n,
Avalanche: 43113n,
Base: 84532n,
Ethereum: 11155111n,
Optimism: 11155420n,
},
local: {},
};
harden($u);
var _u = Wr({
Arbitrum: "Arbitrum",
Avalanche: "Avalanche",
Base: "Base",
Ethereum: "Ethereum",
Optimism: "Optimism",
agoric: "agoric",
noble: "noble",
});
harden(_u);
var Ig = (e) => `eip155:${e}`,
NB = {
mainnet: {
...Ne($u.mainnet, Ig),
agoric: "cosmos:agoric-3",
noble: "cosmos:noble-1",
},
testnet: {
...Ne($u.testnet, Ig),
agoric: "cosmos:agoricdev-25",
noble: "cosmos:grand-1",
},
local: { ...Ne($u.local, Ig) },
};
harden(NB);
var BB = {
mainnet: {
Arbitrum: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
Avalanche: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
Base: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
Ethereum: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
Optimism: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
agoric:
"ibc/FE98AAD68F02F03565E9FA39A5E627946699B2B07115889ED812D8BA639576A9",
noble: "usdc",
},
testnet: {
Arbitrum: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",
Avalanche: "0x5425890298aed601595a70AB815c96711a31Bc65",
Base: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
Ethereum: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
Optimism: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7",
agoric:
"ibc/75F84596DDE9EE93010620701FFED959F3FFA1D0979F6773DE994FFEEA7D32F3",
noble: "usdc",
},
local: {},
};
harden(BB);
var MB = { Preset: "preset", PreserveExistingProportions: "pep" };
harden(MB);
var Cg = 100n,
$B = s.splitRecord({}, { useProgressTracker: s.boolean() }),
E1 = s.splitRecord({}, { features: $B }),
Fu = "&planner";
ed();
var k$ = class extends De {
constructor({ domain: e }) {
super(`Invalid domain "${CP(e)}".`, {
metaMessages: ["Must be a valid EIP-712 domain."],
});
}
},
I$ = class extends De {
constructor({ primaryType: e, types: t }) {
super(
`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(t))}\`.`,
{
docsPath: "/api/glossary/Errors#typeddatainvalidprimarytypeerror",
metaMessages: [
"Check that the primary type is a key in `types`.",
],
},
);
}
},
T$ = class extends De {
constructor({ type: e }) {
super(`Struct type "${e}" is invalid.`, {
metaMessages: ["Struct type must not be a Solidity type."],
name: "InvalidStructTypeError",
});
}
};
function Ak(e) {
let { domain: t = {}, message: r, primaryType: o } = e,
n = { EIP712Domain: ap({ domain: t }), ...e.types };
sp({ domain: t, message: r, primaryType: o, types: n });
let a = ["0x1901"];
return (
t && a.push(U$({ domain: t, types: n })),
o !== "EIP712Domain" &&
a.push(ad({ data: r, primaryType: o, types: n })),
ro(ts(a))
);
}
function U$({ domain: e, types: t }) {
return ad({ data: e, primaryType: "EIP712Domain", types: t });
}
function ad({ data: e, primaryType: t, types: r }) {
let o = wk({ data: e, primaryType: t, types: r });
return ro(o);
}
function wk({ data: e, primaryType: t, types: r }) {
let o = [{ type: "bytes32" }],
n = [C$({ primaryType: t, types: r })];
for (let a of r[t]) {
let [i, c] = kk({
types: r,
name: a.name,
type: a.type,
value: e[a.name],
});
(o.push(i), n.push(c));
}
return oo(o, n);
}
function C$({ primaryType: e, types: t }) {
let r = xi(R$({ primaryType: e, types: t }));
return ro(r);
}
function R$({ primaryType: e, types: t }) {
let r = "",
o = Pk({ primaryType: e, types: t });
o.delete(e);
let n = [e, ...Array.from(o).sort()];
for (let a of n)
r += `${a}(${t[a].map(({ name: i, type: c }) => `${c} ${i}`).join(",")})`;
return r;
}
function Pk({ primaryType: e, types: t }, r = new Set()) {
let n = e.match(/^\w*/u)?.[0];
if (r.has(n) || t[n] === void 0) return r;
r.add(n);
for (let a of t[n]) Pk({ primaryType: a.type, types: t }, r);
return r;
}
function kk({ types: e, name: t, type: r, value: o }) {
if (e[r] !== void 0)
return [
{ type: "bytes32" },
ro(wk({ data: o, primaryType: r, types: e })),
];
if (r === "bytes") return [{ type: "bytes32" }, ro(o)];
if (r === "string") return [{ type: "bytes32" }, ro(xi(o))];
if (r.lastIndexOf("]") === r.length - 1) {
let n = r.slice(0, r.lastIndexOf("[")),
a = o.map((i) => kk({ name: t, type: n, types: e, value: i }));
return [
{ type: "bytes32" },
ro(
oo(
a.map(([i]) => i),
a.map(([, i]) => i),
),
),
];
}
return [{ type: r }, o];
}
function sp(e) {
let { domain: t, message: r, primaryType: o, types: n } = e,
a = (i, c) => {
for (let d of i) {
let { name: l, type: u } = d,
p = c[l],
y = u.match(Hg);
if (y && (typeof p == "number" || typeof p == "bigint")) {
let [v, h, g] = y;
vn(p, { signed: h === "int", size: Number.parseInt(g, 10) / 8 });
}
if (u === "address" && typeof p == "string" && !es(p))
throw new ju({ address: p });
let b = u.match(UP);
if (b) {
let [v, h] = b;
if (h && Nt(p) !== Number.parseInt(h, 10))
throw new lP({
expectedSize: Number.parseInt(h, 10),
givenSize: Nt(p),
});
}
let m = n[u];
m && (O$(u), a(m, p));
}
};
if (n.EIP712Domain && t) {
if (typeof t != "object") throw new k$({ domain: t });
a(n.EIP712Domain, t);
}
if (o !== "EIP712Domain")
if (n[o]) a(n[o], r);
else throw new I$({ primaryType: o, types: n });
}
function ap({ domain: e }) {
return [
typeof e?.name == "string" && { name: "name", type: "string" },
e?.version && { name: "version", type: "string" },
(typeof e?.chainId == "number" || typeof e?.chainId == "bigint") && {
name: "chainId",
type: "uint256",
},
e?.verifyingContract && { name: "verifyingContract", type: "address" },
e?.salt && { name: "salt", type: "bytes32" },
].filter(Boolean);
}
function O$(e) {
if (
e === "address" ||
e === "bool" ||
e === "string" ||
e.startsWith("bytes") ||
e.startsWith("uint") ||
e.startsWith("int")
)
throw new T$({ type: e });
}
function E$(e) {
let t = ro(`0x${e.substring(4)}`).substring(26);
return Gu(`0x${t}`);
}
async function D$({ hash: e, signature: t }) {
let r = to(e) ? e : xi(e),
{ secp256k1: o } = await Promise.resolve().then(() => (Sk(), vk));
return `0x${(() => {
if (typeof t == "object" && "r" in t && "s" in t) {
let { r: l, s: u, v: p, yParity: y } = t,
b = Number(y ?? p),
m = xk(b);
return new o.Signature(qu(l), qu(u)).addRecoveryBit(m);
}
let i = to(t) ? t : xi(t);
if (Nt(i) !== 65) throw new Error("invalid signature length");
let c = hP(`0x${i.slice(130)}`),
d = xk(c);
return o.Signature.fromCompact(i.substring(2, 130)).addRecoveryBit(d);
})()
.recoverPublicKey(r.substring(2))
.toHex(!1)}`;
}
function xk(e) {
if (e === 0 || e === 1) return e;
if (e === 27) return 0;
if (e === 28) return 1;
throw new Error("Invalid yParityOrV value");
}
async function N$({ hash: e, signature: t }) {
return E$(await D$({ hash: e, signature: t }));
}
async function ip(e) {
let { domain: t, message: r, primaryType: o, signature: n, types: a } = e;
return N$({
hash: Ak({ domain: t, message: r, primaryType: o, types: a }),
signature: n,
});
}
ed();
cp();
ed();
cp();
function Ik({ primaryType: e, types: t }) {
let r = "",
o = Tk({ primaryType: e, types: t });
o.delete(e);
let n = [e, ...Array.from(o).sort()];
for (let a of n)
r += `${a}(${t[a].map(({ name: i, type: c }) => `${c} ${i}`).join(",")})`;
return r;
}
function Tk({ primaryType: e, types: t }, r = new Set()) {
let n = e.match(/^\w*/u)?.[0];
if (r.has(n) || t[n] === void 0) return r;
r.add(n);
for (let a of t[n]) Tk({ primaryType: a.type, types: t }, r);
return r;
}
var Uk = "Permit2";
var Ck = [
{ name: "name", type: "string" },
{ name: "chainId", type: "uint256" },
{ name: "verifyingContract", type: "address" },
],
lh = [
{ name: "permitted", type: "TokenPermissions" },
{ name: "spender", type: "address" },
{ name: "nonce", type: "uint256" },
{ name: "deadline", type: "uint256" },
],
uh = [
{ name: "permitted", type: "TokenPermissions[]" },
{ name: "spender", type: "address" },
{ name: "nonce", type: "uint256" },
{ name: "deadline", type: "uint256" },
],
dp = [
{ name: "token", type: "address" },
{ name: "amount", type: "uint256" },
];
function Rk(e) {
return {
EIP712Domain: Ck,
PermitWitnessTransferFrom: [...lh, ...(e ? [e.witnessField] : [])],
TokenPermissions: dp,
...e?.witnessTypes,
};
}
function Ok(e) {
return {
EIP712Domain: Ck,
PermitBatchWitnessTransferFrom: [...uh, ...(e ? [e.witnessField] : [])],
TokenPermissions: dp,
...e?.witnessTypes,
};
}
var Ek = Wr({
PermitBatchWitnessTransferFrom: null,
PermitWitnessTransferFrom: null,
}),
ph = (e) => e in Ek,
Dk = (e) => {
let t = Object.keys(e).filter(ph);
if (t.length !== 1)
throw new Error(
`Exactly one of the following types must be defined: ${Object.keys(Ek).join(", ")}`,
);
return t[0];
},
B$ = {
PermitBatchWitnessTransferFrom: uh,
PermitWitnessTransferFrom: lh,
},
M$ = {
PermitBatchWitnessTransferFrom: Ok,
PermitWitnessTransferFrom: Rk,
},
Nk = (e) => {
let { encodeType: t } = e,
r = AS(M$, (n, a) => {
let i = n(void 0),
c = t({ primaryType: a, types: i });
return `${c.substring(0, c.indexOf(")"))},`;
});
return (n) => {
let a = Dk(n),
i = t({ primaryType: a, types: n }),
c = r[a];
if (!i.startsWith(c))
throw new Error(`${a} must start with expected base fields`);
return i.substring(c.length);
};
},
Bk = ({ TokenPermissions: e }) => {
for (let [t, { name: r, type: o }] of dp.entries())
if (e[t].name !== r || e[t].type !== o)
throw new Error(
`TokenPermissions field at index ${t} must be \`${o} ${r}\``,
);
};
function Mk(e, t) {
if (!e) throw new Error("Missing domain in permit2 data");
let { chainId: r, verifyingContract: o, name: n } = e;
if (n !== Uk) throw new Error(`Invalid permit2 domain name: ${n}`);
if (typeof r != "bigint" || !o)
throw new Error(
"Permit2 domain must include chainId and verifyingContract",
);
if (t) {
let a = String(r),
i = t[a];
if (!qe(o, i))
throw new Error(
`Invalid verifying contract for chain ID ${r}: ${o} (expected ${i})`,
);
}
}
var mh = (e) => {
let t = Dk(e),
r = e[t],
o = B$[t];
if (r.length !== o.length + 1)
throw new Error(`${t} must have ${o.length + 1} fields`);
for (let [n, { name: a, type: i }] of o.entries())
if (r[n].name !== a || r[n].type !== i)
throw new Error(`${t} field at index ${n} must be \`${i} ${a}\``);
return r[r.length - 1];
},
lp = [
{ name: "token", type: "address" },
{ name: "amount", type: "uint256" },
],
$k = "struct ISignatureTransfer.TokenPermissions",
id = [
{ name: "permitted", type: "tuple", internalType: $k, components: lp },
{ name: "nonce", type: "uint256" },
{ name: "deadline", type: "uint256" },
],
cd = "struct ISignatureTransfer.PermitTransferFrom",
$$ = [
{
name: "permitted",
type: "tuple[]",
internalType: `${$k}[]`,
components: lp,
},
{ name: "nonce", type: "uint256" },
{ name: "deadline", type: "uint256" },
],
_$ = "struct ISignatureTransfer.PermitBatchTransferFrom",
_k = [
{ name: "to", type: "address" },
{ name: "requestedAmount", type: "uint256" },
],
Fk = "struct ISignatureTransfer.SignatureTransferDetails",
fh = [
{ name: "permit", type: "tuple", internalType: cd, components: id },
{
name: "transferDetails",
type: "tuple",
internalType: Fk,
components: _k,
},
{ name: "owner", type: "address" },
{ name: "witness", type: "bytes32" },
{ name: "witnessTypeString", type: "string" },
{ name: "signature", type: "bytes" },
],
ele = [
{ name: "permit", type: "tuple", internalType: _$, components: $$ },
{
name: "transferDetails",
type: "tuple[]",
internalType: `${Fk}[]`,
components: _k,
},
{ name: "owner", type: "address" },
{ name: "witness", type: "bytes32" },
{ name: "witnessTypeString", type: "string" },
{ name: "signature", type: "bytes" },
],
Kk = {
name: "permitWitnessTransferFrom",
inputs: fh,
outputs: [],
stateMutability: "nonpayable",
type: "function",
};
var dd = "Ymax",
Jk = "1";
var Ii = { name: "portfolio", type: "uint256" };
var yh = {
OpenPortfolio: [{ name: "allocations", type: "Allocation[]" }],
Rebalance: [Ii],
SetTargetAllocation: [
{ name: "allocations", type: "Allocation[]" },
Ii,
],
Deposit: [Ii],
Withdraw: [{ name: "withdraw", type: "Asset" }, Ii],
Grant: [
{ name: "accountHolder", type: "string" },
{ name: "permissions", type: "PortfolioPermissions" },
Ii,
],
SetAutoFeatures: [
{ name: "features", type: "PortfolioAutoFeatures" },
Ii,
],
},
F$ = {
Allocation: [
{ name: "instrument", type: "string" },
{ name: "portion", type: "uint256" },
],
Asset: lp,
PortfolioPermissions: [{ name: "allocation", type: "bool" }],
PortfolioAutoFeatures: [{ name: "rebalance", type: "bool" }],
};
var K$ = (e, t) => ({ [e]: t, ...F$ });
var gh = (e) => K$(e, yh[e]);
function Vk(e) {
if (e.name !== dd)
throw new Error(`Invalid Ymax domain name: ${e.name} (expected ${dd})`);
if (e.version !== Jk)
throw new Error(
`Invalid Ymax domain version: ${e.version} (expected ${Jk})`,
);
}
function hh(e, t) {
if (
(Vk(e), typeof e.chainId != "bigint" || e.verifyingContract === void 0)
)
throw new Error(
"Ymax domain must include chain ID and verifying contract",
);
if (t) {
let o = String(e.chainId);
if (!(o in t))
throw new Error(`Unknown chain ID in Ymax domain: ${e.chainId}`);
if (!qe(e.verifyingContract, t[o]))
throw new Error(
`Invalid verifying contract for chain ID ${e.chainId}: ${e.verifyingContract} (expected ${t[o]})`,
);
}
}
function bh(e) {
if (!(e in yh))
throw new Error(
`Unknown Ymax operation type: ${e} (expected one of ${Object.keys(yh).join(", ")})`,
);
}
var Hk = (e) => {
let t =
e.startsWith(dd) && e.substring(dd.length).match(/^V(\d+)(\w+)$/u);
if (!t) throw new Error(`Invalid witness field type name: ${e}`);
let [, r, o] = t,
n = { name: dd, version: r };
return (Vk(n), bh(o), { domain: n, primaryType: o });
};
var Wk = (e) => {
let {
isHex: t,
hashStruct: r,
recoverTypedDataAddress: o,
validateTypedData: n,
encodeType: a,
getTypesForEIP712Domain: i,
} = e;
for (let b of [t, r, o, n, a, i])
if (typeof b != "function")
throw new Error(`Expected viemUtils.${b} to be a function`);
let c = Nk({ encodeType: a }),
d = (b, m) => {
let { domain: v, ...h } = b;
if (m)
throw new Error(
"Contract address validation expected to be validated separately",
);
bh(h.primaryType);
let { nonce: g, deadline: S, ...w } = h.message,
I = w,
E = h.primaryType;
return (
n({ types: gh(E), message: I, primaryType: E }),
{ operation: E, domain: v, data: I }
);
},
l = (b) => {
let m = b,
v = mh(m.types),
h = m.message[v.name],
{ primaryType: g, domain: S } = Hk(v.type),
w = BigInt(b.domain.chainId),
I = g;
n({ types: gh(I), message: h, primaryType: I });
let E = m.message.spender;
return {
operation: I,
domain: { ...S, chainId: w, verifyingContract: E },
data: h,
};
},
u = (b, m = b.address, v = b.signature) => {
let h = b;
if (!t(v)) throw new Error(`Invalid signature format: ${v}`);
if (!m) throw new Error("Missing owner address");
let g = mh(h.types);
Bk(h.types);
let { [g.name]: S, ...w } = h.message,
I = r({ primaryType: g.type, types: h.types, data: S }),
E = c(h.types),
{ spender: K, ...J } = w,
P = {
permit: J,
owner: m,
witness: I,
witnessTypeString: E,
signature: v,
};
return {
chainId: BigInt(b.domain.chainId),
token: w.permitted.token,
amount: w.permitted.amount,
permit2Payload: P,
spender: K,
};
},
p = (b, m = {}) => {
let { address: v, domain: h, ...g } = b,
{ nonce: S, deadline: w } = g.message;
if (!h) throw new Error("Missing domain in typed data");
if (
(n({
...g,
domain: h,
types: { ...g.types, EIP712Domain: i({ domain: h }) },
}),
ph(b.primaryType))
) {
let { signature: I, ...E } = g;
Mk(h, m.permit2);
let K = { ...E, domain: h },
J = u(K, v, I),
P = l(K);
return (
m.ymaxRepresentative && hh(P.domain, m.ymaxRepresentative),
{
...P,
permitDetails: J,
evmWalletAddress: v,
nonce: S,
deadline: w,
}
);
} else {
let I = g;
return (
hh(h, m.ymaxRepresentative),
{
...d({ ...I, domain: h }),
evmWalletAddress: v,
nonce: S,
deadline: w,
}
);
}
};
return {
extractOperationDetailsFromStandaloneData: d,
extractOperationDetailsFromPermit2WitnessData: l,
extractPermitDetails: u,
extractOperationDetailsFromDataWithAddress: p,
extractOperationDetailsFromSignedData: async (b, m) => {
let v = await o(b);
if (b.address && !qe(v, b.address))
throw new Error(
`Recovered address does not match provided address ${b.address}`,
);
return p({ ...b, address: v }, { ymaxRepresentative: m });
},
};
};
var Lk = Ae("PEWH"),
J$ = 60n * 60n * 24n,
V$ = (e) => {
let { decodePassable: t, encodePassable: r } = Oa({
format: "compactOrdered",
}),
o = (p) => r(harden([p.deadline, p.walletOwner, p.nonce])),
n = (p) => {
let [y, b, m] = t(p);
return { deadline: y, walletOwner: b, nonce: m };
},
a = (p) => r(harden([p.walletOwner, p.nonce, p.deadline])),
i = (p) => r(harden([p.walletOwner, p.nonce])),
c = e.setStore("noncesByDeadline", { keyShape: s.string() }),
d = e.setStore("noncesByOwner", { keyShape: s.string() }),
l = (p) => {
let y = i(p);
for (let b of d.keys(s.gte(y))) {
if (!b.startsWith(y)) break;
f`Nonce ${x(p.nonce)} for wallet ${x(p.walletOwner)} already used and not yet expired`;
}
(c.add(o(p)), d.add(a(p)));
},
u = (p) => {
for (let y of c.keys()) {
let b = n(y);
if (p <= b.deadline) break;
(c.delete(o(b)), d.delete(a(b)));
}
};
return harden({ insertNonce: l, removeExpiredNonces: u });
},
H$ = (e) => {
try {
let t = ce(e);
switch (t) {
case "bigint":
case "boolean":
case "null":
case "number":
case "string":
case "undefined":
case "symbol":
case "byteArray":
return e;
case "copyArray":
case "copyRecord":
case "tagged":
return e;
case "error":
case "remotable":
case "promise":
return;
default:
return t ? e : void 0;
}
} catch {
return;
}
},
W$ = (
e,
{
vowTools: { asVow: t, watch: r, when: o },
portfolioContractPublicFacet: n,
publishStatus: a,
},
) => {
let i = e.exoClassKit("OperationOutcomeHandlers", void 0, (d) => d, {
OpenOutcomeWatcher: {
async onFulfilled({ evmHandler: d }) {
await null;
try {
let l = await O(d).getReaderFacet(),
u = await O(l).getPortfolioId(),
{
wallet: { portfolios: p },
storageNode: y,
} = this.state;
p.init(BigInt(u), d);
let b = await Promise.all(
[...p.values()].map(async (m) => {
let v = O(m).getReaderFacet();
return await o(O(v).getStoragePath());
}),
);
return (
a(O(y).makeChildNode("portfolio"), b),
this.facets.BasicOutcomeWatcher.onFulfilled(`portfolio${u}`)
);
} catch (l) {
return this.facets.BasicOutcomeWatcher.onRejected(l);
}
},
onRejected(d) {
return this.facets.BasicOutcomeWatcher.onRejected(d);
},
},
BasicOutcomeWatcher: {
onFulfilled(d) {
let { storageNode: l, nonce: u, deadline: p } = this.state;
a(l, {
updated: "messageUpdate",
nonce: u,
deadline: p,
status: "ok",
result: H$(d),
});
},
onRejected(d) {
let { storageNode: l, nonce: u, deadline: p } = this.state;
a(l, {
updated: "messageUpdate",
nonce: u,
deadline: p,
status: "error",
error: String(d),
});
},
},
}),
c = ({
wallet: d,
storageNode: l,
address: u,
operationDetails: p,
nonce: y,
deadline: b,
}) =>
t(async () => {
a(l, {
updated: "messageUpdate",
nonce: y,
deadline: b,
status: "pending",
});
let { BasicOutcomeWatcher: m, OpenOutcomeWatcher: v } = i({
wallet: d,
storageNode: l,
nonce: y,
deadline: b,
});
await null;
try {
let h =
p.operation !== "OpenPortfolio" ? p.data.portfolio : void 0,
g = h !== void 0 ? d.portfolios.get(BigInt(h)) : void 0;
switch (
(await O(n).validateEVMMessageDomain(p.domain, g),
p.operation)
) {
case "OpenPortfolio": {
let { permitDetails: S, data: w } = p;
if (!S)
throw f`Missing permit details for OpenPortfolio operation`;
let I = O(n).openPortfolioFromEVM(w, S);
return r(I, v);
}
case "Rebalance": {
let { permitDetails: S } = p,
w = O(g).rebalance(void 0, S);
return r(w, m);
}
case "SetTargetAllocation": {
let {
data: { allocations: S },
permitDetails: w,
} = p,
I = O(g).rebalance(S, w);
return r(I, m);
}
case "Deposit": {
let { permitDetails: S } = p;
if (!S)
throw f`Missing permit details for Deposit operation`;
let w = O(g).deposit(S);
return r(w, m);
}
case "Withdraw": {
let {
data: { withdraw: S },
domain: w,
} = p,
I = O(g).withdraw({
withdrawDetails: S,
domain: w,
address: u,
});
return r(I, m);
}
case "Grant": {
let {
data: { accountHolder: S, permissions: w },
} = p,
I = O(g).grant(S, w);
return r(I, m);
}
case "SetAutoFeatures": {
let {
data: { features: S },
} = p,
w = O(g).setAutoFeatures(S);
return r(w, m);
}
default:
f`Unsupported operation: ${x(p.operation)}`;
}
} catch (h) {
return m.onRejected(h);
}
});
return harden({ handleOperation: c });
},
L$ = s.splitRecord(
{
domain: s.any(),
types: s.record(),
primaryType: s.string(),
message: s.record(),
signature: s.any(),
},
{ verifiedSigner: s.string() },
),
q$ = (
e,
{
vowTools: t,
storageNode: r,
timerService: o,
permit2Addresses: n,
handleOperation: a,
insertNonce: i,
removeExpiredNonces: c,
getWalletForAddress: d,
},
) => {
let { extractOperationDetailsFromDataWithAddress: l } = Wk({
isHex: to,
hashStruct: ad,
recoverTypedDataAddress: ip,
validateTypedData: sp,
encodeType: Ik,
getTypesForEIP712Domain: ap,
}),
u = s.interface("EVMWalletMessageHandler", {
handleMessage: s.call(L$).returns(le),
});
return e.exoClass(
"messageHandler",
u,
() => ({}),
{
handleMessage(p) {
return t.asVow(async () => {
Lk("handleMessage", p);
let { verifiedSigner: y, ...b } = p,
m = await (y ? Qu(y) : ip(b)),
v = { ...b, address: m },
h = l(v, { permit2: n });
Lk("extracted details", h);
let { nonce: g, deadline: S, ...w } = h,
{ absValue: I } = await O(o).getCurrentTimestamp();
if ((c(I), I > S))
throw f`Deadline has already passed: ${x(S)} vs ${x(I)}`;
(S < I + J$ ||
f`Deadline too far in the future: ${x(S)} vs ${x(I)}`,
i({ walletOwner: m, nonce: g, deadline: S }));
let E = d(m),
K = await O(r).makeChildNode(m);
return (
harden(w),
a({
wallet: E,
storageNode: K,
address: m,
operationDetails: w,
nonce: g,
deadline: S,
})
);
});
},
},
{ stateShape: {} },
);
},
qk = (
e,
{
storageNode: t,
vowTools: r,
timerService: o,
portfolioContractPublicFacet: n,
publishStatus: a,
permit2Addresses: i,
},
) => {
let c = e.mapStore("wallets"),
d = (b) =>
En(c, b, () =>
harden({ portfolios: e.detached().mapStore("portfolios") }),
),
{ insertNonce: l, removeExpiredNonces: u } = V$(e),
{ handleOperation: p } = W$(e, {
vowTools: r,
portfolioContractPublicFacet: n,
publishStatus: a,
}),
y = q$(e, {
vowTools: r,
storageNode: t,
timerService: o,
permit2Addresses: i,
handleOperation: p,
insertNonce: l,
removeExpiredNonces: u,
getWalletForAddress: d,
});
return harden({ makeEVMWalletMessageHandler: y });
};
var j$ = {
Aave_Arbitrum: "Aave_Arbitrum",
Aave_Avalanche: "Aave_Avalanche",
Aave_Base: "Aave_Base",
Aave_Ethereum: "Aave_Ethereum",
Aave_Optimism: "Aave_Optimism",
Beefy_compoundUsdc_Arbitrum: "Beefy_compoundUsdc_Arbitrum",
Beefy_compoundUsdc_Optimism: "Beefy_compoundUsdc_Optimism",
Beefy_morphoGauntletUsdc_Ethereum: "Beefy_morphoGauntletUsdc_Ethereum",
Beefy_morphoSeamlessUsdc_Base: "Beefy_morphoSeamlessUsdc_Base",
Beefy_morphoSmokehouseUsdc_Ethereum:
"Beefy_morphoSmokehouseUsdc_Ethereum",
Beefy_re7_Avalanche: "Beefy_re7_Avalanche",
Compound_Arbitrum: "Compound_Arbitrum",
Compound_Base: "Compound_Base",
Compound_Ethereum: "Compound_Ethereum",
Compound_Optimism: "Compound_Optimism",
ERC4626_vaultU2_Ethereum: "ERC4626_vaultU2_Ethereum",
ERC4626_morphoClearstarHighYieldUsdc_Ethereum:
"ERC4626_morphoClearstarHighYieldUsdc_Ethereum",
ERC4626_morphoClearstarUsdcCore_Ethereum:
"ERC4626_morphoClearstarUsdcCore_Ethereum",
ERC4626_morphoGauntletUsdcRwa_Ethereum:
"ERC4626_morphoGauntletUsdcRwa_Ethereum",
ERC4626_morphoSteakhouseHighYieldInstant_Ethereum:
"ERC4626_morphoSteakhouseHighYieldInstant_Ethereum",
ERC4626_morphoClearstarInstitutionalUsdc_Ethereum:
"ERC4626_morphoClearstarInstitutionalUsdc_Ethereum",
ERC4626_morphoClearstarUsdcReactor_Ethereum:
"ERC4626_morphoClearstarUsdcReactor_Ethereum",
ERC4626_morphoAlphaUsdcCore_Ethereum:
"ERC4626_morphoAlphaUsdcCore_Ethereum",
ERC4626_morphoResolvUsdc_Ethereum: "ERC4626_morphoResolvUsdc_Ethereum",
ERC4626_morphoGauntletUsdcFrontier_Ethereum:
"ERC4626_morphoGauntletUsdcFrontier_Ethereum",
ERC4626_morphoHyperithmUsdcMidcurve_Ethereum:
"ERC4626_morphoHyperithmUsdcMidcurve_Ethereum",
ERC4626_morphoHyperithmUsdcDegen_Ethereum:
"ERC4626_morphoHyperithmUsdcDegen_Ethereum",
ERC4626_morphoGauntletUsdcCore_Ethereum:
"ERC4626_morphoGauntletUsdcCore_Ethereum",
ERC4626_morphoSteakhousePrimeUsdc_Base:
"ERC4626_morphoSteakhousePrimeUsdc_Base",
ERC4626_morphoSteakhouseUsdc_Base: "ERC4626_morphoSteakhouseUsdc_Base",
ERC4626_morphoGauntletUsdcPrime_Base:
"ERC4626_morphoGauntletUsdcPrime_Base",
ERC4626_morphoSeamlessUsdcVault_Base:
"ERC4626_morphoSeamlessUsdcVault_Base",
ERC4626_morphoSteakhouseHighYieldUsdc_Arbitrum:
"ERC4626_morphoSteakhouseHighYieldUsdc_Arbitrum",
ERC4626_morphoGauntletUsdcCore_Arbitrum:
"ERC4626_morphoGauntletUsdcCore_Arbitrum",
ERC4626_morphoHyperithmUsdc_Arbitrum:
"ERC4626_morphoHyperithmUsdc_Arbitrum",
ERC4626_morphoGauntletUsdcPrime_Optimism:
"ERC4626_morphoGauntletUsdcPrime_Optimism",
USDN: "USDN",
USDNVault: "USDNVault",
};
harden(j$);
var G$ = (e) => Object(e) !== e,
jk = (e) => {
if (G$(e)) return e;
let t = e;
Object.freeze(t);
for (let r of Reflect.ownKeys(t)) jk(t[r]);
return e;
},
Rle = jk({
debug: !0,
environment: "prod",
chains: [
{ name: "agoric", control: "local" },
{ name: "noble", control: "ibc" },
{ name: "Arbitrum", control: "axelar" },
{ name: "Avalanche", control: "axelar" },
{ name: "Base", control: "axelar" },
{ name: "Ethereum", control: "axelar" },
{ name: "Optimism", control: "axelar" },
],
pools: [
{ pool: "Aave_Arbitrum", chain: "Arbitrum", protocol: "Aave" },
{ pool: "Aave_Avalanche", chain: "Avalanche", protocol: "Aave" },
{ pool: "Aave_Base", chain: "Base", protocol: "Aave" },
{ pool: "Aave_Ethereum", chain: "Ethereum", protocol: "Aave" },
{ pool: "Aave_Optimism", chain: "Optimism", protocol: "Aave" },
{
pool: "Beefy_re7_Avalanche",
chain: "Avalanche",
protocol: "Beefy",
},
{
pool: "Beefy_morphoGauntletUsdc_Ethereum",
chain: "Ethereum",
protocol: "Beefy",
},
{
pool: "Beefy_morphoSmokehouseUsdc_Ethereum",
chain: "Ethereum",
protocol: "Beefy",
},
{
pool: "Beefy_morphoSeamlessUsdc_Base",
chain: "Base",
protocol: "Beefy",
},
{
pool: "Beefy_compoundUsdc_Optimism",
chain: "Optimism",
protocol: "Beefy",
},
{
pool: "Beefy_compoundUsdc_Arbitrum",
chain: "Arbitrum",
protocol: "Beefy",
},
{
pool: "ERC4626_morphoClearstarHighYieldUsdc_Ethereum",
chain: "Ethereum",
protocol: "ERC4626",
blockDepositReason: "AT_CAPACITY",
blockWithdrawReason: "LOW_LIQUIDITY",
},
{
pool: "ERC4626_morphoSeamlessUsdcVault_Base",
chain: "Base",
protocol: "ERC4626",
blockDepositReason: "AT_CAPACITY",
},
{
pool: "Compound_Arbitrum",
chain: "Arbitrum",
protocol: "Compound",
},
{ pool: "Compound_Base", chain: "Base", protocol: "Compound" },
{
pool: "Compound_Ethereum",
chain: "Ethereum",
protocol: "Compound",
},
{
pool: "Compound_Optimism",
chain: "Optimism",
protocol: "Compound",
},
{ pool: "USDN", chain: "noble", protocol: "USDN" },
{ pool: "USDNVault", chain: "noble", protocol: "USDN" },
],
localPlaces: [
{ id: "<Deposit>", chain: "agoric" },
{ id: "<Cash>", chain: "agoric" },
{ id: "+agoric", chain: "agoric" },
],
links: [
{
src: "@noble",
dest: "USDN",
transfer: "local",
variableFeeBps: 10,
timeSec: 0,
feeMode: "toUSDN",
},
{
src: "@noble",
dest: "USDNVault",
transfer: "local",
variableFeeBps: 10,
timeSec: 0,
feeMode: "toUSDN",
},
{
src: "@Arbitrum",
dest: "@agoric",
transfer: "cctpToNoble",
variableFeeBps: 0,
timeSec: 1080,
feeMode: "evmToNoble",
},
{
src: "@Avalanche",
dest: "@agoric",
transfer: "cctpToNoble",
variableFeeBps: 0,
timeSec: 30,
feeMode: "evmToNoble",
},
{
src: "@Ethereum",
dest: "@agoric",
transfer: "cctpToNoble",
variableFeeBps: 0,
timeSec: 1080,
feeMode: "evmToNoble",
},
{
src: "@Optimism",
dest: "@agoric",
transfer: "cctpToNoble",
variableFeeBps: 0,
timeSec: 1080,
feeMode: "evmToNoble",
},
{
src: "@Base",
dest: "@agoric",
transfer: "cctpToNoble",
variableFeeBps: 0,
timeSec: 1080,
feeMode: "evmToNoble",
},
{
src: "@noble",
dest: "@Arbitrum",
transfer: "cctpFromNoble",
variableFeeBps: 0,
timeSec: 20,
min: 1000000n,
feeMode: "makeEvmAccount",
},
{
src: "@noble",
dest: "@Avalanche",
transfer: "cctpFromNoble",
variableFeeBps: 0,
timeSec: 20,
min: 1000000n,
feeMode: "makeEvmAccount",
},
{
src: "@noble",
dest: "@Ethereum",
transfer: "cctpFromNoble",
variableFeeBps: 0,
timeSec: 20,
min: 1000000n,
feeMode: "makeEvmAccount",
},
{
src: "@noble",
dest: "@Optimism",
transfer: "cctpFromNoble",
variableFeeBps: 0,
timeSec: 20,
min: 1000000n,
feeMode: "makeEvmAccount",
},
{
src: "@noble",
dest: "@Base",
transfer: "cctpFromNoble",
variableFeeBps: 0,
timeSec: 20,
min: 1000000n,
feeMode: "makeEvmAccount",
},
{
src: "@agoric",
dest: "@noble",
transfer: "ibc",
variableFeeBps: 0,
timeSec: 10,
},
{
src: "@noble",
dest: "@agoric",
transfer: "ibc",
variableFeeBps: 0,
timeSec: 10,
},
{
src: "@Arbitrum",
dest: "@Ethereum",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Ethereum",
dest: "@Arbitrum",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Arbitrum",
dest: "@Base",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Base",
dest: "@Arbitrum",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Arbitrum",
dest: "@Avalanche",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 30,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Avalanche",
dest: "@Arbitrum",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Arbitrum",
dest: "@Optimism",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Optimism",
dest: "@Arbitrum",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Base",
dest: "@Ethereum",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Ethereum",
dest: "@Base",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Base",
dest: "@Avalanche",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 30,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Avalanche",
dest: "@Base",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Base",
dest: "@Optimism",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Optimism",
dest: "@Base",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Ethereum",
dest: "@Avalanche",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 30,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Avalanche",
dest: "@Ethereum",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Ethereum",
dest: "@Optimism",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Optimism",
dest: "@Ethereum",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Avalanche",
dest: "@Optimism",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 60,
min: 100000n,
feeMode: "evmToEvm",
},
{
src: "@Optimism",
dest: "@Avalanche",
transfer: "cctpV2",
variableFeeBps: 0,
timeSec: 30,
min: 100000n,
feeMode: "evmToEvm",
},
],
});
var Gk
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment