UNPKG

@omnisat/lasereyes

Version:

Simplifies wallet interactions across various Bitcoin wallets, making it easy for developers to build dApps with Bitcoin support

1,488 lines 6.19 MB
"use client"; import * as hh from "react"; import { createContext as Gje, useMemo as LE, useState as bwe, useEffect as wwe, useCallback as ba, useContext as Zje } from "react"; import { jsx as qe, jsxs as gn } from "react/jsx-runtime"; let FZ = Symbol("clean"), Qh = [], Kg = 0; const Kx = 4; let LZ = (e) => { let t = [], r = { get() { return r.lc || r.listen(() => { })(), r.value; }, lc: 0, listen(n) { return r.lc = t.push(n), () => { for (let o = Kg + Kx; o < Qh.length; ) Qh[o] === n ? Qh.splice(o, Kx) : o += Kx; let i = t.indexOf(n); ~i && (t.splice(i, 1), --r.lc || r.off()); }; }, notify(n, i) { let o = !Qh.length; for (let s of t) Qh.push( s, r.value, n, i ); if (o) { for (Kg = 0; Kg < Qh.length; Kg += Kx) Qh[Kg]( Qh[Kg + 1], Qh[Kg + 2], Qh[Kg + 3] ); Qh.length = 0; } }, /* It will be called on last listener unsubscribing. We will redefine it in onMount and onStop. */ off() { }, set(n) { let i = r.value; i !== n && (r.value = n, r.notify(i)); }, subscribe(n) { let i = r.listen(n); return n(r.value), i; }, value: e }; return process.env.NODE_ENV !== "production" && (r[FZ] = () => { t = [], r.lc = 0, r.off(); }), r; }; const Yje = 5, a3 = 6, Wx = 10; let Qje = (e, t, r, n) => (e.events = e.events || {}, e.events[r + Wx] || (e.events[r + Wx] = n((i) => { e.events[r].reduceRight((o, s) => (s(o), o), { shared: {}, ...i }); })), e.events[r] = e.events[r] || [], e.events[r].push(t), () => { let i = e.events[r], o = i.indexOf(t); i.splice(o, 1), i.length || (delete e.events[r], e.events[r + Wx](), delete e.events[r + Wx]); }), Xje = 1e3, Jje = (e, t) => Qje(e, (n) => { let i = t(n); i && e.events[a3].push(i); }, Yje, (n) => { let i = e.listen; e.listen = (...s) => (!e.lc && !e.active && (e.active = !0, n()), i(...s)); let o = e.off; if (e.events[a3] = [], e.off = () => { o(), setTimeout(() => { if (e.active && !e.lc) { e.active = !1; for (let s of e.events[a3]) s(); e.events[a3] = []; } }, Xje); }, process.env.NODE_ENV !== "production") { let s = e[FZ]; e[FZ] = () => { for (let a of e.events[a3]) a(); e.events[a3] = [], e.active = !1, s(); }; } return () => { e.listen = i, e.off = o; }; }), eDe = (e) => { e.listen(() => { }); }; function Ef(e, t, r) { let n = new Set(t).add(void 0); return e.listen((i, o, s) => { n.has(s) && r(i, o, s); }); } let vwe = (e = {}) => { let t = LZ(e); return t.setKey = function(r, n) { let i = t.value; typeof n > "u" && r in t.value ? (t.value = { ...t.value }, delete t.value[r], t.notify(i, r)) : t.value[r] !== n && (t.value = { ...t.value, [r]: n }, t.notify(i, r)); }, t; }; var tDe = Object.defineProperty, rDe = (e, t, r) => t in e ? tDe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, sr = (e, t, r) => rDe(e, typeof t != "symbol" ? t + "" : t, r); function nDe(e, t) { for (var r = 0; r < t.length; r++) { const n = t[r]; if (typeof n != "string" && !Array.isArray(n)) { for (const i in n) if (i !== "default" && !(i in e)) { const o = Object.getOwnPropertyDescriptor(n, i); o && Object.defineProperty(e, i, o.get ? o : { enumerable: !0, get: () => n[i] }); } } } return Object.freeze(Object.defineProperty(e, Symbol.toStringTag, { value: "Module" })); } const Fd = { /** * The message prefix used for signing Bitcoin messages. */ messagePrefix: `Bitcoin Signed Message: `, /** * The Bech32 prefix used for Bitcoin addresses. */ bech32: "bc", /** * The BIP32 key prefixes for Bitcoin. */ bip32: { /** * The public key prefix for BIP32 extended public keys. */ public: 76067358, /** * The private key prefix for BIP32 extended private keys. */ private: 76066276 }, /** * The prefix for Bitcoin public key hashes. */ pubKeyHash: 0, /** * The prefix for Bitcoin script hashes. */ scriptHash: 5, /** * The prefix for Bitcoin Wallet Import Format (WIF) private keys. */ wif: 128 }, iDe = { messagePrefix: `Bitcoin Signed Message: `, bech32: "tb", bip32: { public: 70617039, private: 70615956 }, pubKeyHash: 111, scriptHash: 196, wif: 239 }; function oDe(e) { if (e.length < 8 || e.length > 72 || e[0] !== 48 || e[1] !== e.length - 2 || e[2] !== 2) return !1; const t = e[3]; if (t === 0 || 5 + t >= e.length || e[4 + t] !== 2) return !1; const r = e[5 + t]; return !(r === 0 || 6 + t + r !== e.length || e[4] & 128 || t > 1 && e[4] === 0 && !(e[5] & 128) || e[t + 6] & 128 || r > 1 && e[t + 6] === 0 && !(e[t + 7] & 128)); } function sDe(e) { if (e.length < 8) throw new Error("DER sequence length is too short"); if (e.length > 72) throw new Error("DER sequence length is too long"); if (e[0] !== 48) throw new Error("Expected DER sequence"); if (e[1] !== e.length - 2) throw new Error("DER sequence length is invalid"); if (e[2] !== 2) throw new Error("Expected DER integer"); const t = e[3]; if (t === 0) throw new Error("R length is zero"); if (5 + t >= e.length) throw new Error("R length is too long"); if (e[4 + t] !== 2) throw new Error("Expected DER integer (2)"); const r = e[5 + t]; if (r === 0) throw new Error("S length is zero"); if (6 + t + r !== e.length) throw new Error("S length is invalid"); if (e[4] & 128) throw new Error("R value is negative"); if (t > 1 && e[4] === 0 && !(e[5] & 128)) throw new Error("R value excessively padded"); if (e[t + 6] & 128) throw new Error("S value is negative"); if (r > 1 && e[t + 6] === 0 && !(e[t + 7] & 128)) throw new Error("S value excessively padded"); return { r: e.slice(4, 4 + t), s: e.slice(6 + t) }; } function aDe(e, t) { const r = e.length, n = t.length; if (r === 0) throw new Error("R length is zero"); if (n === 0) throw new Error("S length is zero"); if (r > 33) throw new Error("R length is too long"); if (n > 33) throw new Error("S length is too long"); if (e[0] & 128) throw new Error("R value is negative"); if (t[0] & 128) throw new Error("S value is negative"); if (r > 1 && e[0] === 0 && !(e[1] & 128)) throw new Error("R value excessively padded"); if (n > 1 && t[0] === 0 && !(t[1] & 128)) throw new Error("S value excessively padded"); const i = new Uint8Array(6 + r + n); return i[0] = 48, i[1] = i.length - 2, i[2] = 2, i[3] = e.length, i.set(e, 4), i[4 + r] = 2, i[5 + r] = t.length, i.set(t, 6 + r), i; } var Pi; (function(e) { e[e.OP_FALSE = 0] = "OP_FALSE", e[e.OP_0 = 0] = "OP_0", e[e.OP_PUSHDATA1 = 76] = "OP_PUSHDATA1", e[e.OP_PUSHDATA2 = 77] = "OP_PUSHDATA2", e[e.OP_PUSHDATA4 = 78] = "OP_PUSHDATA4", e[e.OP_1NEGATE = 79] = "OP_1NEGATE", e[e.OP_RESERVED = 80] = "OP_RESERVED", e[e.OP_TRUE = 81] = "OP_TRUE", e[e.OP_1 = 81] = "OP_1", e[e.OP_2 = 82] = "OP_2", e[e.OP_3 = 83] = "OP_3", e[e.OP_4 = 84] = "OP_4", e[e.OP_5 = 85] = "OP_5", e[e.OP_6 = 86] = "OP_6", e[e.OP_7 = 87] = "OP_7", e[e.OP_8 = 88] = "OP_8", e[e.OP_9 = 89] = "OP_9", e[e.OP_10 = 90] = "OP_10", e[e.OP_11 = 91] = "OP_11", e[e.OP_12 = 92] = "OP_12", e[e.OP_13 = 93] = "OP_13", e[e.OP_14 = 94] = "OP_14", e[e.OP_15 = 95] = "OP_15", e[e.OP_16 = 96] = "OP_16", e[e.OP_NOP = 97] = "OP_NOP", e[e.OP_VER = 98] = "OP_VER", e[e.OP_IF = 99] = "OP_IF", e[e.OP_NOTIF = 100] = "OP_NOTIF", e[e.OP_VERIF = 101] = "OP_VERIF", e[e.OP_VERNOTIF = 102] = "OP_VERNOTIF", e[e.OP_ELSE = 103] = "OP_ELSE", e[e.OP_ENDIF = 104] = "OP_ENDIF", e[e.OP_VERIFY = 105] = "OP_VERIFY", e[e.OP_RETURN = 106] = "OP_RETURN", e[e.OP_TOALTSTACK = 107] = "OP_TOALTSTACK", e[e.OP_FROMALTSTACK = 108] = "OP_FROMALTSTACK", e[e.OP_2DROP = 109] = "OP_2DROP", e[e.OP_2DUP = 110] = "OP_2DUP", e[e.OP_3DUP = 111] = "OP_3DUP", e[e.OP_2OVER = 112] = "OP_2OVER", e[e.OP_2ROT = 113] = "OP_2ROT", e[e.OP_2SWAP = 114] = "OP_2SWAP", e[e.OP_IFDUP = 115] = "OP_IFDUP", e[e.OP_DEPTH = 116] = "OP_DEPTH", e[e.OP_DROP = 117] = "OP_DROP", e[e.OP_DUP = 118] = "OP_DUP", e[e.OP_NIP = 119] = "OP_NIP", e[e.OP_OVER = 120] = "OP_OVER", e[e.OP_PICK = 121] = "OP_PICK", e[e.OP_ROLL = 122] = "OP_ROLL", e[e.OP_ROT = 123] = "OP_ROT", e[e.OP_SWAP = 124] = "OP_SWAP", e[e.OP_TUCK = 125] = "OP_TUCK", e[e.OP_CAT = 126] = "OP_CAT", e[e.OP_SUBSTR = 127] = "OP_SUBSTR", e[e.OP_LEFT = 128] = "OP_LEFT", e[e.OP_RIGHT = 129] = "OP_RIGHT", e[e.OP_SIZE = 130] = "OP_SIZE", e[e.OP_INVERT = 131] = "OP_INVERT", e[e.OP_AND = 132] = "OP_AND", e[e.OP_OR = 133] = "OP_OR", e[e.OP_XOR = 134] = "OP_XOR", e[e.OP_EQUAL = 135] = "OP_EQUAL", e[e.OP_EQUALVERIFY = 136] = "OP_EQUALVERIFY", e[e.OP_RESERVED1 = 137] = "OP_RESERVED1", e[e.OP_RESERVED2 = 138] = "OP_RESERVED2", e[e.OP_1ADD = 139] = "OP_1ADD", e[e.OP_1SUB = 140] = "OP_1SUB", e[e.OP_2MUL = 141] = "OP_2MUL", e[e.OP_2DIV = 142] = "OP_2DIV", e[e.OP_NEGATE = 143] = "OP_NEGATE", e[e.OP_ABS = 144] = "OP_ABS", e[e.OP_NOT = 145] = "OP_NOT", e[e.OP_0NOTEQUAL = 146] = "OP_0NOTEQUAL", e[e.OP_ADD = 147] = "OP_ADD", e[e.OP_SUB = 148] = "OP_SUB", e[e.OP_MUL = 149] = "OP_MUL", e[e.OP_DIV = 150] = "OP_DIV", e[e.OP_MOD = 151] = "OP_MOD", e[e.OP_LSHIFT = 152] = "OP_LSHIFT", e[e.OP_RSHIFT = 153] = "OP_RSHIFT", e[e.OP_BOOLAND = 154] = "OP_BOOLAND", e[e.OP_BOOLOR = 155] = "OP_BOOLOR", e[e.OP_NUMEQUAL = 156] = "OP_NUMEQUAL", e[e.OP_NUMEQUALVERIFY = 157] = "OP_NUMEQUALVERIFY", e[e.OP_NUMNOTEQUAL = 158] = "OP_NUMNOTEQUAL", e[e.OP_LESSTHAN = 159] = "OP_LESSTHAN", e[e.OP_GREATERTHAN = 160] = "OP_GREATERTHAN", e[e.OP_LESSTHANOREQUAL = 161] = "OP_LESSTHANOREQUAL", e[e.OP_GREATERTHANOREQUAL = 162] = "OP_GREATERTHANOREQUAL", e[e.OP_MIN = 163] = "OP_MIN", e[e.OP_MAX = 164] = "OP_MAX", e[e.OP_WITHIN = 165] = "OP_WITHIN", e[e.OP_RIPEMD160 = 166] = "OP_RIPEMD160", e[e.OP_SHA1 = 167] = "OP_SHA1", e[e.OP_SHA256 = 168] = "OP_SHA256", e[e.OP_HASH160 = 169] = "OP_HASH160", e[e.OP_HASH256 = 170] = "OP_HASH256", e[e.OP_CODESEPARATOR = 171] = "OP_CODESEPARATOR", e[e.OP_CHECKSIG = 172] = "OP_CHECKSIG", e[e.OP_CHECKSIGVERIFY = 173] = "OP_CHECKSIGVERIFY", e[e.OP_CHECKMULTISIG = 174] = "OP_CHECKMULTISIG", e[e.OP_CHECKMULTISIGVERIFY = 175] = "OP_CHECKMULTISIGVERIFY", e[e.OP_NOP1 = 176] = "OP_NOP1", e[e.OP_CHECKLOCKTIMEVERIFY = 177] = "OP_CHECKLOCKTIMEVERIFY", e[e.OP_NOP2 = 177] = "OP_NOP2", e[e.OP_CHECKSEQUENCEVERIFY = 178] = "OP_CHECKSEQUENCEVERIFY", e[e.OP_NOP3 = 178] = "OP_NOP3", e[e.OP_NOP4 = 179] = "OP_NOP4", e[e.OP_NOP5 = 180] = "OP_NOP5", e[e.OP_NOP6 = 181] = "OP_NOP6", e[e.OP_NOP7 = 182] = "OP_NOP7", e[e.OP_NOP8 = 183] = "OP_NOP8", e[e.OP_NOP9 = 184] = "OP_NOP9", e[e.OP_NOP10 = 185] = "OP_NOP10", e[e.OP_CHECKSIGADD = 186] = "OP_CHECKSIGADD", e[e.OP_PUBKEYHASH = 253] = "OP_PUBKEYHASH", e[e.OP_PUBKEY = 254] = "OP_PUBKEY", e[e.OP_INVALIDOPCODE = 255] = "OP_INVALIDOPCODE"; })(Pi || (Pi = {})); const lI = "0123456789abcdefABCDEF", fI = lI.split("").map((e) => e.codePointAt(0)), hI = Array(256).fill(!0).map((e, t) => { const r = String.fromCodePoint(t), n = lI.indexOf(r); return n < 0 ? void 0 : n < 16 ? n : n - 6; }), Awe = new TextEncoder(), Ewe = new TextDecoder(); function uDe(e) { return Ewe.decode(e); } function cDe(e) { return Awe.encode(e); } function hs(e) { const t = e.reduce((i, o) => i + o.length, 0), r = new Uint8Array(t); let n = 0; for (const i of e) r.set(i, n), n += i.length; return r; } function on(e) { const t = e || new Uint8Array(); return t.length > 512 ? fDe(t) : lDe(t); } function lDe(e) { let t = ""; for (let r = 0; r < e.length; ++r) t += lI[hI[fI[e[r] >> 4]]], t += lI[hI[fI[e[r] & 15]]]; return t; } function fDe(e) { const t = new Uint8Array(e.length * 2); for (let r = 0; r < e.length; ++r) t[r * 2] = fI[e[r] >> 4], t[r * 2 + 1] = fI[e[r] & 15]; return Ewe.decode(t); } function Pg(e) { const t = Awe.encode(e || ""), r = new Uint8Array(Math.floor(t.length / 2)); let n; for (n = 0; n < r.length; n++) { const i = hI[t[n * 2]], o = hI[t[n * 2 + 1]]; if (i === void 0 || o === void 0) break; r[n] = i << 4 | o; } return n === r.length ? r : r.slice(0, n); } function hDe(e) { return btoa(String.fromCharCode(...e)); } function _we(e) { const t = atob(e), r = new Uint8Array(t.length); for (let n = 0; n < t.length; n++) r[n] = t.charCodeAt(n); return r; } function Ar(e, t) { const r = Math.min(e.length, t.length); for (let n = 0; n < r; ++n) if (e[n] !== t[n]) return e[n] < t[n] ? -1 : 1; return e.length === t.length ? 0 : e.length > t.length ? 1 : -1; } function hf(e, t, r) { if (t + 1 > e.length) throw new Error("Offset is outside the bounds of Uint8Array"); if (r > 255) throw new Error(`The value of "value" is out of range. It must be >= 0 and <= 255. Received ${r}`); return e[t] = r, t + 1; } function dDe(e, t, r, n) { if (t + 2 > e.length) throw new Error("Offset is outside the bounds of Uint8Array"); if (n = n.toUpperCase(), r > 65535) throw new Error(`The value of "value" is out of range. It must be >= 0 and <= 65535. Received ${r}`); return n === "LE" ? (e[t] = r & 255, e[t + 1] = r >> 8 & 255) : (e[t] = r >> 8 & 255, e[t + 1] = r & 255), t + 2; } function J_(e, t, r, n) { if (t + 4 > e.length) throw new Error("Offset is outside the bounds of Uint8Array"); if (n = n.toUpperCase(), r > 4294967295) throw new Error(`The value of "value" is out of range. It must be >= 0 and <= ${4294967295}. Received ${r}`); return n === "LE" ? (e[t] = r & 255, e[t + 1] = r >> 8 & 255, e[t + 2] = r >> 16 & 255, e[t + 3] = r >> 24 & 255) : (e[t] = r >> 24 & 255, e[t + 1] = r >> 16 & 255, e[t + 2] = r >> 8 & 255, e[t + 3] = r & 255), t + 4; } function pDe(e, t, r, n) { if (t + 8 > e.length) throw new Error("Offset is outside the bounds of Uint8Array"); if (n = n.toUpperCase(), r > 0xffffffffffffffffn) throw new Error(`The value of "value" is out of range. It must be >= 0 and <= ${0xffffffffffffffffn}. Received ${r}`); return n === "LE" ? (e[t] = Number(r & 0xffn), e[t + 1] = Number(r >> 8n & 0xffn), e[t + 2] = Number(r >> 16n & 0xffn), e[t + 3] = Number(r >> 24n & 0xffn), e[t + 4] = Number(r >> 32n & 0xffn), e[t + 5] = Number(r >> 40n & 0xffn), e[t + 6] = Number(r >> 48n & 0xffn), e[t + 7] = Number(r >> 56n & 0xffn)) : (e[t] = Number(r >> 56n & 0xffn), e[t + 1] = Number(r >> 48n & 0xffn), e[t + 2] = Number(r >> 40n & 0xffn), e[t + 3] = Number(r >> 32n & 0xffn), e[t + 4] = Number(r >> 24n & 0xffn), e[t + 5] = Number(r >> 16n & 0xffn), e[t + 6] = Number(r >> 8n & 0xffn), e[t + 7] = Number(r & 0xffn)), t + 8; } function o0(e, t) { if (t + 1 > e.length) throw new Error("Offset is outside the bounds of Uint8Array"); return e[t]; } function gDe(e, t, r) { if (t + 2 > e.length) throw new Error("Offset is outside the bounds of Uint8Array"); if (r = r.toUpperCase(), r === "LE") { let n = 0; return n = (n << 8) + e[t + 1], n = (n << 8) + e[t], n; } else { let n = 0; return n = (n << 8) + e[t], n = (n << 8) + e[t + 1], n; } } function xv(e, t, r) { if (t + 4 > e.length) throw new Error("Offset is outside the bounds of Uint8Array"); if (r = r.toUpperCase(), r === "LE") { let n = 0; return n = (n << 8) + e[t + 3] >>> 0, n = (n << 8) + e[t + 2] >>> 0, n = (n << 8) + e[t + 1] >>> 0, n = (n << 8) + e[t] >>> 0, n; } else { let n = 0; return n = (n << 8) + e[t] >>> 0, n = (n << 8) + e[t + 1] >>> 0, n = (n << 8) + e[t + 2] >>> 0, n = (n << 8) + e[t + 3] >>> 0, n; } } function Swe(e, t, r, n) { if (t + 4 > e.length) throw new Error("Offset is outside the bounds of Uint8Array"); if (r > 2147483647 || r < -2147483648) throw new Error(`The value of "value" is out of range. It must be >= -2147483648 and <= 2147483647. Received ${r}`); return n = n.toUpperCase(), n === "LE" ? (e[t] = r & 255, e[t + 1] = r >> 8 & 255, e[t + 2] = r >> 16 & 255, e[t + 3] = r >> 24 & 255) : (e[t] = r >> 24 & 255, e[t + 1] = r >> 16 & 255, e[t + 2] = r >> 8 & 255, e[t + 3] = r & 255), t + 4; } function xwe(e, t, r, n) { if (t + 8 > e.length) throw new Error("Offset is outside the bounds of Uint8Array"); if (r > 0x7fffffffffffffffn || r < -0x8000000000000000n) throw new Error(`The value of "value" is out of range. It must be >= ${-0x8000000000000000n} and <= ${0x7fffffffffffffffn}. Received ${r}`); return n = n.toUpperCase(), n === "LE" ? (e[t] = Number(r & 0xffn), e[t + 1] = Number(r >> 8n & 0xffn), e[t + 2] = Number(r >> 16n & 0xffn), e[t + 3] = Number(r >> 24n & 0xffn), e[t + 4] = Number(r >> 32n & 0xffn), e[t + 5] = Number(r >> 40n & 0xffn), e[t + 6] = Number(r >> 48n & 0xffn), e[t + 7] = Number(r >> 56n & 0xffn)) : (e[t] = Number(r >> 56n & 0xffn), e[t + 1] = Number(r >> 48n & 0xffn), e[t + 2] = Number(r >> 40n & 0xffn), e[t + 3] = Number(r >> 32n & 0xffn), e[t + 4] = Number(r >> 24n & 0xffn), e[t + 5] = Number(r >> 16n & 0xffn), e[t + 6] = Number(r >> 8n & 0xffn), e[t + 7] = Number(r & 0xffn)), t + 8; } function yDe(e, t, r) { if (t + 4 > e.length) throw new Error("Offset is outside the bounds of Uint8Array"); if (r = r.toUpperCase(), r === "LE") { const n = e[t] + (e[t + 1] << 8) + (e[t + 2] << 16) + (e[t + 3] << 24 >>> 0); return e[t + 3] <= 127 ? n : n - 4294967296; } else { const n = (e[t] << 24 >>> 0) + (e[t + 1] << 16) + (e[t + 2] << 8) + e[t + 3]; return e[t] <= 127 ? n : n - 4294967296; } } function kwe(e, t, r) { if (t + 8 > e.length) throw new Error("Offset is outside the bounds of Uint8Array"); r = r.toUpperCase(); let n = 0n; if (r === "LE") return n = (n << 8n) + BigInt(e[t + 7]), n = (n << 8n) + BigInt(e[t + 6]), n = (n << 8n) + BigInt(e[t + 5]), n = (n << 8n) + BigInt(e[t + 4]), n = (n << 8n) + BigInt(e[t + 3]), n = (n << 8n) + BigInt(e[t + 2]), n = (n << 8n) + BigInt(e[t + 1]), n = (n << 8n) + BigInt(e[t]), e[t + 7] <= 127 ? n : n - 0x10000000000000000n; { let i = 0n; return i = (i << 8n) + BigInt(e[t]), i = (i << 8n) + BigInt(e[t + 1]), i = (i << 8n) + BigInt(e[t + 2]), i = (i << 8n) + BigInt(e[t + 3]), i = (i << 8n) + BigInt(e[t + 4]), i = (i << 8n) + BigInt(e[t + 5]), i = (i << 8n) + BigInt(e[t + 6]), i = (i << 8n) + BigInt(e[t + 7]), e[t] <= 127 ? i : i - 0x10000000000000000n; } } function Owe(e) { return e < Pi.OP_PUSHDATA1 ? 1 : e <= 255 ? 2 : e <= 65535 ? 3 : 5; } function mDe(e, t, r) { const n = Owe(t); return n === 1 ? hf(e, r, t) : n === 2 ? (hf(e, r, Pi.OP_PUSHDATA1), hf(e, r + 1, t)) : n === 3 ? (hf(e, r, Pi.OP_PUSHDATA2), dDe(e, r + 1, t, "LE")) : (hf(e, r, Pi.OP_PUSHDATA4), J_(e, r + 1, t, "LE")), n; } function bDe(e, t) { const r = o0(e, t); let n, i; if (r < Pi.OP_PUSHDATA1) n = r, i = 1; else if (r === Pi.OP_PUSHDATA1) { if (t + 2 > e.length) return null; n = o0(e, t + 1), i = 2; } else if (r === Pi.OP_PUSHDATA2) { if (t + 3 > e.length) return null; n = gDe(e, t + 1, "LE"), i = 3; } else { if (t + 5 > e.length) return null; if (r !== Pi.OP_PUSHDATA4) throw new Error("Unexpected opcode"); n = xv(e, t + 1, "LE"), i = 5; } return { opcode: r, number: n, size: i }; } function Bwe(e, t, r) { t = t || 4, r = r === void 0 ? !0 : r; const n = e.length; if (n === 0) return 0; if (n > t) throw new TypeError("Script number overflow"); if (r && !(e[n - 1] & 127) && (n <= 1 || !(e[n - 2] & 128))) throw new Error("Non-minimally encoded script number"); if (n === 5) { const o = xv(e, 0, "LE"), s = o0(e, 4); return s & 128 ? -((s & -129) * 4294967296 + o) : s * 4294967296 + o; } let i = 0; for (let o = 0; o < n; ++o) i |= e[o] << 8 * o; return e[n - 1] & 128 ? -(i & ~(128 << 8 * (n - 1))) : i; } function wDe(e) { return e > 2147483647 ? 5 : e > 8388607 ? 4 : e > 32767 ? 3 : e > 127 ? 2 : e > 0 ? 1 : 0; } function Iwe(e) { let t = Math.abs(e); const r = wDe(t), n = new Uint8Array(r), i = e < 0; for (let o = 0; o < r; ++o) hf(n, o, t & 255), t >>= 8; return n[r - 1] & 128 ? hf(n, r - 1, i ? 128 : 0) : i && (n[r - 1] |= 128), n; } // @__NO_SIDE_EFFECTS__ function Twe(e) { return { lang: void 0, message: void 0, abortEarly: void 0, abortPipeEarly: void 0 }; } // @__NO_SIDE_EFFECTS__ function vDe(e, t) { var r; return (r = void 0) == null ? void 0 : r.get(t); } // @__NO_SIDE_EFFECTS__ function I9(e) { var t, r; const n = typeof e; return n === "string" ? `"${e}"` : n === "number" || n === "bigint" || n === "boolean" ? `${e}` : n === "object" || n === "function" ? (e && ((r = (t = Object.getPrototypeOf(e)) == null ? void 0 : t.constructor) == null ? void 0 : r.name)) ?? "null" : n; } function rc(e, t, r, n, i) { const o = i && "input" in i ? i.input : r.value, s = (i == null ? void 0 : i.expected) ?? e.expects ?? null, a = (i == null ? void 0 : i.received) ?? /* @__PURE__ */ I9(o), c = { kind: e.kind, type: e.type, input: o, expected: s, received: a, message: `Invalid ${t}: ${s ? `Expected ${s} but r` : "R"}eceived ${a}`, requirement: e.requirement, path: i == null ? void 0 : i.path, issues: i == null ? void 0 : i.issues, lang: n.lang, abortEarly: n.abortEarly, abortPipeEarly: n.abortPipeEarly }, l = e.kind === "schema", u = (i == null ? void 0 : i.message) ?? e.message ?? /* @__PURE__ */ vDe(e.reference, c.lang) ?? (l ? (c.lang, void 0) : null) ?? n.message ?? (c.lang, void 0); u !== void 0 && (c.message = typeof u == "function" ? u(c) : u), l && (r.typed = !1), r.issues ? r.issues.push(c) : r.issues = [c]; } // @__NO_SIDE_EFFECTS__ function Fc(e) { return { version: 1, vendor: "valibot", validate(t) { return e["~run"]({ value: t }, /* @__PURE__ */ Twe()); } }; } // @__NO_SIDE_EFFECTS__ function ADe(e, t) { const r = [...new Set(e)]; return r.length > 1 ? `(${r.join(` ${t} `)})` : r[0] ?? "never"; } var EDe = class extends Error { /** * Creates a Valibot error with useful information. * * @param issues The error issues. */ constructor(e) { super(e[0].message), this.name = "ValiError", this.issues = e; } }; // @__NO_SIDE_EFFECTS__ function Pwe(e, t) { return { kind: "validation", type: "every_item", reference: Pwe, async: !1, expects: null, requirement: e, message: t, "~run"(r, n) { return r.typed && !r.value.every(this.requirement) && rc(this, "item", r, n), r; } }; } // @__NO_SIDE_EFFECTS__ function NJ(e) { return { kind: "validation", type: "integer", reference: NJ, async: !1, expects: null, requirement: Number.isInteger, message: e, "~run"(t, r) { return t.typed && !this.requirement(t.value) && rc(this, "integer", t, r), t; } }; } // @__NO_SIDE_EFFECTS__ function $we(e, t) { return { kind: "validation", type: "length", reference: $we, async: !1, expects: `${e}`, requirement: e, message: t, "~run"(r, n) { return r.typed && r.value.length !== this.requirement && rc(this, "length", r, n, { received: `${r.value.length}` }), r; } }; } // @__NO_SIDE_EFFECTS__ function n$(e, t) { return { kind: "validation", type: "max_value", reference: n$, async: !1, expects: `<=${e instanceof Date ? e.toJSON() : /* @__PURE__ */ I9(e)}`, requirement: e, message: t, "~run"(r, n) { return r.typed && !(r.value <= this.requirement) && rc(this, "value", r, n, { received: r.value instanceof Date ? r.value.toJSON() : /* @__PURE__ */ I9(r.value) }), r; } }; } // @__NO_SIDE_EFFECTS__ function i$(e, t) { return { kind: "validation", type: "min_value", reference: i$, async: !1, expects: `>=${e instanceof Date ? e.toJSON() : /* @__PURE__ */ I9(e)}`, requirement: e, message: t, "~run"(r, n) { return r.typed && !(r.value >= this.requirement) && rc(this, "value", r, n, { received: r.value instanceof Date ? r.value.toJSON() : /* @__PURE__ */ I9(r.value) }), r; } }; } // @__NO_SIDE_EFFECTS__ function _De(e, t, r) { return typeof e.fallback == "function" ? e.fallback(t, r) : e.fallback; } // @__NO_SIDE_EFFECTS__ function o$(e, t, r) { return typeof e.default == "function" ? e.default(t, r) : e.default; } // @__NO_SIDE_EFFECTS__ function s$(e, t) { return !e["~run"]({ value: t }, { abortEarly: !0 }).issues; } // @__NO_SIDE_EFFECTS__ function Cwe() { return { kind: "schema", type: "any", reference: Cwe, expects: "any", async: !1, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(e) { return e.typed = !0, e; } }; } // @__NO_SIDE_EFFECTS__ function wl(e, t) { return { kind: "schema", type: "array", reference: wl, expects: "Array", async: !1, item: e, message: t, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(r, n) { var i; const o = r.value; if (Array.isArray(o)) { r.typed = !0, r.value = []; for (let s = 0; s < o.length; s++) { const a = o[s], c = this.item["~run"]({ value: a }, n); if (c.issues) { const l = { type: "array", origin: "value", input: o, key: s, value: a }; for (const u of c.issues) u.path ? u.path.unshift(l) : u.path = [l], (i = r.issues) == null || i.push(u); if (r.issues || (r.issues = c.issues), n.abortEarly) { r.typed = !1; break; } } c.typed || (r.typed = !1), r.value.push(c.value); } } else rc(this, "type", r, n); return r; } }; } // @__NO_SIDE_EFFECTS__ function Nwe(e) { return { kind: "schema", type: "bigint", reference: Nwe, expects: "bigint", async: !1, message: e, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(t, r) { return typeof t.value == "bigint" ? t.typed = !0 : rc(this, "type", t, r), t; } }; } // @__NO_SIDE_EFFECTS__ function Cd(e, t) { return { kind: "schema", type: "custom", reference: Cd, expects: "unknown", async: !1, check: e, message: t, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(r, n) { return this.check(r.value) ? r.typed = !0 : rc(this, "type", r, n), r; } }; } // @__NO_SIDE_EFFECTS__ function a$(e, t) { return { kind: "schema", type: "instance", reference: a$, expects: e.name, async: !1, class: e, message: t, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(r, n) { return r.value instanceof this.class ? r.typed = !0 : rc(this, "type", r, n), r; } }; } // @__NO_SIDE_EFFECTS__ function HZ(e, t) { return { kind: "schema", type: "nullable", reference: HZ, expects: `(${e.expects} | null)`, async: !1, wrapped: e, default: t, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(r, n) { return r.value === null && (this.default !== void 0 && (r.value = /* @__PURE__ */ o$(this, r, n)), r.value === null) ? (r.typed = !0, r) : this.wrapped["~run"](r, n); } }; } // @__NO_SIDE_EFFECTS__ function Rwe(e, t) { return { kind: "schema", type: "nullish", reference: Rwe, expects: `(${e.expects} | null | undefined)`, async: !1, wrapped: e, default: t, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(r, n) { return (r.value === null || r.value === void 0) && (this.default !== void 0 && (r.value = /* @__PURE__ */ o$(this, r, n)), r.value === null || r.value === void 0) ? (r.typed = !0, r) : this.wrapped["~run"](r, n); } }; } // @__NO_SIDE_EFFECTS__ function gh(e) { return { kind: "schema", type: "number", reference: gh, expects: "number", async: !1, message: e, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(t, r) { return typeof t.value == "number" && !isNaN(t.value) ? t.typed = !0 : rc(this, "type", t, r), t; } }; } // @__NO_SIDE_EFFECTS__ function ta(e, t) { return { kind: "schema", type: "object", reference: ta, expects: "Object", async: !1, entries: e, message: t, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(r, n) { var i; const o = r.value; if (o && typeof o == "object") { r.typed = !0, r.value = {}; for (const s in this.entries) { const a = this.entries[s]; if (s in o || (a.type === "exact_optional" || a.type === "optional" || a.type === "nullish") && a.default !== void 0) { const c = s in o ? o[s] : /* @__PURE__ */ o$(a), l = a["~run"]({ value: c }, n); if (l.issues) { const u = { type: "object", origin: "value", input: o, key: s, value: c }; for (const h of l.issues) h.path ? h.path.unshift(u) : h.path = [u], (i = r.issues) == null || i.push(h); if (r.issues || (r.issues = l.issues), n.abortEarly) { r.typed = !1; break; } } l.typed || (r.typed = !1), r.value[s] = l.value; } else if (a.fallback !== void 0) r.value[s] = /* @__PURE__ */ _De(a); else if (a.type !== "exact_optional" && a.type !== "optional" && a.type !== "nullish" && (rc(this, "key", r, n, { input: void 0, expected: `"${s}"`, path: [{ type: "object", origin: "key", input: o, key: s, value: o[s] }] }), n.abortEarly)) break; } } else rc(this, "type", r, n); return r; } }; } // @__NO_SIDE_EFFECTS__ function dI(e, t) { return { kind: "schema", type: "optional", reference: dI, expects: `(${e.expects} | undefined)`, async: !1, wrapped: e, default: t, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(r, n) { return r.value === void 0 && (this.default !== void 0 && (r.value = /* @__PURE__ */ o$(this, r, n)), r.value === void 0) ? (r.typed = !0, r) : this.wrapped["~run"](r, n); } }; } // @__NO_SIDE_EFFECTS__ function w6(e) { return { kind: "schema", type: "string", reference: w6, expects: "string", async: !1, message: e, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(t, r) { return typeof t.value == "string" ? t.typed = !0 : rc(this, "type", t, r), t; } }; } // @__NO_SIDE_EFFECTS__ function Cp(e, t) { return { kind: "schema", type: "tuple", reference: Cp, expects: "Array", async: !1, items: e, message: t, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(r, n) { var i; const o = r.value; if (Array.isArray(o)) { r.typed = !0, r.value = []; for (let s = 0; s < this.items.length; s++) { const a = o[s], c = this.items[s]["~run"]({ value: a }, n); if (c.issues) { const l = { type: "array", origin: "value", input: o, key: s, value: a }; for (const u of c.issues) u.path ? u.path.unshift(l) : u.path = [l], (i = r.issues) == null || i.push(u); if (r.issues || (r.issues = c.issues), n.abortEarly) { r.typed = !1; break; } } c.typed || (r.typed = !1), r.value.push(c.value); } } else rc(this, "type", r, n); return r; } }; } // @__NO_SIDE_EFFECTS__ function Soe(e) { let t; if (e) for (const r of e) t ? t.push(...r.issues) : t = r.issues; return t; } // @__NO_SIDE_EFFECTS__ function RJ(e, t) { return { kind: "schema", type: "union", reference: RJ, expects: /* @__PURE__ */ ADe(e.map((r) => r.expects), "|"), async: !1, options: e, message: t, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(r, n) { let i, o, s; for (const a of this.options) { const c = a["~run"]({ value: r.value }, n); if (c.typed) if (c.issues) o ? o.push(c) : o = [c]; else { i = c; break; } else s ? s.push(c) : s = [c]; } if (i) return i; if (o) { if (o.length === 1) return o[0]; rc(this, "type", r, n, { issues: /* @__PURE__ */ Soe(o) }), r.typed = !0; } else { if ((s == null ? void 0 : s.length) === 1) return s[0]; rc(this, "type", r, n, { issues: /* @__PURE__ */ Soe(s) }); } return r; } }; } function Fs(e, t, r) { const n = e["~run"]({ value: t }, /* @__PURE__ */ Twe()); if (n.issues) throw new EDe(n.issues); return n.value; } // @__NO_SIDE_EFFECTS__ function Cm(e, t) { const r = {}; for (const n in e.entries) r[n] = /* @__PURE__ */ dI(e.entries[n]); return { ...e, entries: r, get "~standard"() { return /* @__PURE__ */ Fc(this); } }; } // @__NO_SIDE_EFFECTS__ function eS(...e) { return { ...e[0], pipe: e, get "~standard"() { return /* @__PURE__ */ Fc(this); }, "~run"(t, r) { for (const n of e) if (n.kind !== "metadata") { if (t.issues && (n.kind === "schema" || n.kind === "transformation")) { t.typed = !1; break; } (!t.issues || !r.abortEarly && !r.abortPipeEarly) && (t = n["~run"](t, r)); } return t; } }; } const xoe = new Uint8Array(32), koe = Pg( "fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f" ), xa = (e) => /* @__PURE__ */ eS(/* @__PURE__ */ a$(Uint8Array), /* @__PURE__ */ $we(e)); function T9(e, t) { return e.length !== t.length ? !1 : e.every((r, n) => Ar(r, t[n]) === 0); } function xd(e) { if (!(e instanceof Uint8Array) || e.length < 33) return !1; const t = e[0], r = e.slice(1, 33); if (Ar(xoe, r) === 0 || Ar(r, koe) >= 0) return !1; if ((t === 2 || t === 3) && e.length === 33) return !0; const n = e.slice(33); return Ar(xoe, n) === 0 || Ar(n, koe) >= 0 ? !1 : t === 4 && e.length === 65; } const AB = 254; function MJ(e) { return !e || !("output" in e) || !(e.output instanceof Uint8Array) ? !1 : e.version !== void 0 ? (e.version & AB) === e.version : !0; } function Mwe(e) { return Array.isArray(e) ? e.length !== 2 ? !1 : e.every((t) => Mwe(t)) : MJ(e); } const SDe = xa(32), xDe = xa(20), Ooe = xa(32), no = /* @__PURE__ */ a$(Uint8Array), kDe = /* @__PURE__ */ eS( /* @__PURE__ */ gh(), /* @__PURE__ */ NJ(), /* @__PURE__ */ i$(0), /* @__PURE__ */ n$(255) ), G1 = /* @__PURE__ */ eS( /* @__PURE__ */ gh(), /* @__PURE__ */ NJ(), /* @__PURE__ */ i$(0), /* @__PURE__ */ n$(4294967295) ), oL = /* @__PURE__ */ eS( /* @__PURE__ */ Nwe(), /* @__PURE__ */ i$(0n), /* @__PURE__ */ n$(0x7fffffffffffffffn) ), Boe = (e) => /* @__PURE__ */ ta( Object.entries(e).reduce( (t, r) => ({ ...t, [r[0]]: /* @__PURE__ */ Rwe(r[1]) }), {} ) ), Ioe = new Uint8Array(1); function Toe(e) { let t = 0; for (; e[t] === 0; ) ++t; return t === e.length ? Ioe : (e = e.slice(t), e[0] & 128 ? hs([Ioe, e]) : e); } function Poe(e) { e[0] === 0 && (e = e.slice(1)); const t = new Uint8Array(32), r = Math.max(0, 32 - e.length); return t.set(e, r), t; } function ODe(e) { const t = o0(e, e.length - 1); if (!zJ(t)) throw new Error("Invalid hashType " + t); const r = sDe(e.subarray(0, -1)), n = Poe(r.r), i = Poe(r.s); return { signature: hs([n, i]), hashType: t }; } function BDe(e, t) { if (Fs( /* @__PURE__ */ ta({ signature: xa(64), hashType: kDe }), { signature: e, hashType: t } ), !zJ(t)) throw new Error("Invalid hashType " + t); const r = new Uint8Array(1); hf(r, 0, t); const n = Toe(e.slice(0, 32)), i = Toe(e.slice(32, 64)); return hs([aDe(n, i), r]); } const IDe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, decode: ODe, encode: BDe }, Symbol.toStringTag, { value: "Module" })), Uwe = Pi.OP_RESERVED, zwe = /* @__PURE__ */ wl(/* @__PURE__ */ RJ([/* @__PURE__ */ a$(Uint8Array), /* @__PURE__ */ gh()])); function TDe(e) { return /* @__PURE__ */ s$(/* @__PURE__ */ gh(), e) && (e === Pi.OP_0 || e >= Pi.OP_1 && e <= Pi.OP_16 || e === Pi.OP_1NEGATE); } function jwe(e) { return /* @__PURE__ */ s$(no, e) || TDe(e); } function UJ(e) { return /* @__PURE__ */ s$(/* @__PURE__ */ eS(/* @__PURE__ */ Cwe(), /* @__PURE__ */ Pwe(jwe)), e); } function Dwe(e) { return e.length - e.filter(jwe).length; } function pI(e) { if (e.length === 0) return Pi.OP_0; if (e.length === 1) { if (e[0] >= 1 && e[0] <= 16) return Uwe + e[0]; if (e[0] === 129) return Pi.OP_1NEGATE; } } function Fwe(e) { return e instanceof Uint8Array; } function PDe(e) { return /* @__PURE__ */ s$(zwe, e); } function gI(e) { return e instanceof Uint8Array; } function ec(e) { if (Fwe(e)) return e; Fs(zwe, e); const t = e.reduce((i, o) => gI(o) ? o.length === 1 && pI(o) !== void 0 ? i + 1 : i + Owe(o.length) + o.length : i + 1, 0), r = new Uint8Array(t); let n = 0; if (e.forEach((i) => { if (gI(i)) { const o = pI(i); if (o !== void 0) { hf(r, n, o), n += 1; return; } n += mDe(r, i.length, n), r.set(i, n), n += i.length; } else hf(r, n, i), n += 1; }), n !== r.length) throw new Error("Could not decode chunks"); return r; } function us(e) { if (PDe(e)) return e; Fs(no, e); const t = []; let r = 0; for (; r < e.length; ) { const n = e[r]; if (n > Pi.OP_0 && n <= Pi.OP_PUSHDATA4) { const i = bDe(e, r); if (i === null || (r += i.size, r + i.number > e.length)) return null; const o = e.slice(r, r + i.number); r += i.number; const s = pI(o); s !== void 0 ? t.push(s) : t.push(o); } else t.push(n), r += 1; } return t; } function $De(e) { if (Fwe(e) && (e = us(e)), !e) throw new Error("Could not convert invalid chunks to ASM"); return e.map((t) => { if (gI(t)) { const r = pI(t); if (r === void 0) return on(t); t = r; } return Pi[t]; }).join(" "); } function CDe(e) { return e = us(e), Fs(/* @__PURE__ */ Cd(UJ), e), e.map((t) => gI(t) ? t : t === Pi.OP_0 ? new Uint8Array(0) : Iwe(t - Uwe)); } function NDe(e) { return xd(e); } function zJ(e) { const t = e & -129; return t > 0 && t < 4; } function _g(e) { return !(e instanceof Uint8Array) || !zJ(e[e.length - 1]) ? !1 : oDe(e.slice(0, -1)); } const HE = IDe; function rn(e, t, r) { Object.defineProperty(e, t, { configurable: !0, enumerable: !0, get() { const n = r.call(this); return this[t] = n, n; }, set(n) { Object.defineProperty(this, t, { configurable: !0, enumerable: !0, value: n, writable: !0 }); } }); } function yh(e) { let t; return () => (t !== void 0 || (t = e()), t); } const J3 = Pi, yI = J3.OP_RESERVED; function $oe(e) { return e <= 16 ? yI + e : Iwe(e); } function Coe(e) { if (typeof e == "number") { const t = e - yI; if (t < 1 || t > 16) throw new TypeError(`Invalid opcode: expected OP_1–OP_16, got ${e}`); return t; } else return Bwe(e); } function Noe(e) { return typeof e == "number" ? e - yI >= 1 && e - yI <= 16 : Number.isInteger(Bwe(e)); } function u$(e, t) { if (!e.input && !e.output && !(e.pubkeys && e.m !== void 0) && !e.signatures) throw new TypeError("Not enough data"); t = Object.assign({ validate: !0 }, t || {}); function r(a) { return _g(a) || (t.allowIncomplete && a === J3.OP_0) !== void 0; } Fs( /* @__PURE__ */ Cm( /* @__PURE__ */ ta({ network: /* @__PURE__ */ ta({}), m: /* @__PURE__ */ gh(), n: /* @__PURE__ */ gh(), output: no, pubkeys: /* @__PURE__ */ wl(/* @__PURE__ */ Cd(xd), "Received invalid pubkey"), signatures: /* @__PURE__ */ wl( /* @__PURE__ */ Cd(r), "Expected signature to be of type isAcceptableSignature" ), input: no }) ), e ); const n = { network: e.network || Fd }; let i = [], o = !1; function s(a) { if (!o) { if (o = !0, i = us(a), i.length < 3) throw new TypeError("Output is invalid"); n.m = Coe(i[0]), n.n = Coe(i[i.length - 2]), n.pubkeys = i.slice(1, -2); } } if (rn(n, "output", () => { if (e.m && n.n && e.pubkeys) return ec( [].concat( $oe(e.m), e.pubkeys, $oe(n.n), J3.OP_CHECKMULTISIG ) ); }), rn(n, "m", () => { if (n.output) return s(n.output), n.m; }), rn(n, "n", () => { if (n.pubkeys) return n.pubkeys.length; }), rn(n, "pubkeys", () => { if (e.output) return s(e.output), n.pubkeys; }), rn(n, "signatures", () => { if (e.input) return us(e.input).slice(1); }), rn(n, "input", () => { if (e.signatures) return ec([J3.OP_0].concat(e.signatures)); }), rn(n, "witness", () => { if (n.input) return []; }), rn(n, "name", () => { if (!(!n.m || !n.n)) return `p2ms(${n.m} of ${n.n})`; }), t.validate) { if (e.output) { if (s(e.output), !Noe(i[0])) throw new TypeError("Output is invalid"); if (!Noe(i[i.length - 2])) throw new TypeError("Output is invalid"); if (i[i.length - 1] !== J3.OP_CHECKMULTISIG) throw new TypeError("Output is invalid"); if (n.m <= 0 || n.n > 20 || n.m > n.n || n.n !== i.length - 3) throw new TypeError("Output is invalid"); if (!n.pubkeys.every((a) => xd(a))) throw new TypeError("Output is invalid"); if (e.m !== void 0 && e.m !== n.m) throw new TypeError("m mismatch"); if (e.n !== void 0 && e.n !== n.n) throw new TypeError("n mismatch"); if (e.pubkeys && !T9(e.pubkeys, n.pubkeys)) throw new TypeError("Pubkeys mismatch"); } if (e.pubkeys) { if (e.n !== void 0 && e.n !== e.pubkeys.length) throw new TypeError("Pubkey count mismatch"); if (n.n = e.pubkeys.length, n.n < n.m) throw new TypeError("Pubkey count cannot be less than m"); } if (e.signatures) { if (e.signatures.length < n.m) throw new TypeError("Not enough signatures provided"); if (e.signatures.length > n.m) throw new TypeError("Too many signatures provided"); } if (e.input) { if (e.input[0] !== J3.OP_0) throw new TypeError("Input is invalid"); if (n.signatures.length === 0 || !n.signatures.every(r)) throw new TypeError("Input has invalid signature(s)"); if (e.signatures && !T9(e.signatures, n.signatures)) throw new TypeError("Signature mismatch"); if (e.m !== void 0 && e.m !== e.signatures.length) throw new TypeError("Signature count mismatch"); } } return Object.assign(n, e); } const Roe = Pi; function Lwe(e, t) { if (!e.input && !e.output && !e.pubkey && !e.input && !e.signature) throw new TypeError("Not enough data"); t = Object.assign({ validate: !0 }, t || {}), Fs( /* @__PURE__ */ Cm( /* @__PURE__ */ ta({ network: /* @__PURE__ */ ta({}), output: no, pubkey: /* @__PURE__ */ Cd(xd, "invalid pubkey"), signature: /* @__PURE__ */ Cd( _g, "Expected signature to be of type isCanonicalScriptSignature" ), input: no }) ), e ); const r = yh(() => us(e.input)), n = { name: "p2pk", network: e.network || Fd }; if (rn(n, "output", () => { if (e.pubkey) return ec([e.pubkey, Roe.OP_CHECKSIG]); }), rn(n, "pubkey", () => { if (e.output) return e.output.slice(1, -1); }), rn(n, "signature", () => { if (e.input) return r()[0]; }), rn(n, "input", () => { if (e.signature) return ec([e.signature]); }), rn(n, "witness", () => { if (n.input) return []; }), t.validate) { if (e.output) { if (e.output[e.output.length - 1] !== Roe.OP_CHECKSIG) throw new TypeError("Output is invalid"); if (!xd(n.pubkey)) throw new TypeError("Output pubkey is invalid"); if (e.pubkey && Ar(e.pubkey, n.pubkey) !== 0) throw new TypeError("Pubkey mismatch"); } if (e.signature && e.input && Ar(e.input, n.input) !== 0) throw new TypeError("Signature mismatch"); if (e.input) { if (r().length !== 1) throw new TypeError("Input is invalid"); if (!_g(n.signature)) throw new TypeError("Input has invalid signature"); } } return Object.assign(n, e); } /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */ function RDe(e) { return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array"; } function Moe(e) { if (!Number.isSafeInteger(e) || e < 0) throw new Error("positive integer expected, got " + e); } function c$(e, ...t) { if (!RDe(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 MDe(e) { if (typeof e != "function" || typeof e.create != "function") throw new Error("Hash should be wrapped by utils.createHasher"); Moe(e.outputLen), Moe(e.blockLen); } function mI(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 UDe(e, t) { c$(e); const r = t.outputLen; if (e.length < r) throw new Error("digestInto() expects output buffer of length at least " + r); } function Nm(...e) { for (let t = 0; t < e.length; t++) e[t].fill(0); } function sL(e) { return new DataView(e.buffer, e.byteOffset, e.byteLength); } function Qd(e, t) { return e << 32 - t | e >>> t; } function Vx(e, t) { return e << t | e >>> 32 - t >>> 0; } function zDe(e) { if (typeof e != "string") throw new Error("string expected"); return new Uint8Array(new TextEncoder().encode(e)); } function jJ(e) { return typeof e == "string" && (e = zDe(e)), c$(e), e; } let Hwe = class { }; function DJ(e) { const t = (n) => e().update(jJ(n)).digest(), r = e(); return t.outputLen = r.outputLen, t.blockLen = r.blockLen, t.create = () => e(), t; } function jDe(e, t, r, n) { if (typeof e.setBigUint64 == "function") return e.setBigUint64(t, r, n); const i = BigInt(32), o = BigInt(4294967295), s = Number(r >> i & o), a = Number(r & o), c = n ? 4 : 0, l = n ? 0 : 4; e.setUint32(t + c, s, n), e.setUint32(t + l, a, n); } function DDe(e, t, r) { return e & t ^ ~e & r; } function FDe(e, t, r) { return e & t ^ e & r ^ t & r; } let FJ = class extends Hwe { constructor(t, r, n, i) { super(), this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.blockLen = t, this.outputLen = r, this.padOffset = n, this.isLE = i, this.buffer = new Uint8Array(t), this.view = sL(this.buffer); } update(t) { mI(this), t = jJ(t), c$(t); const { view: r, buffer: n, blockLen: i } = this, o = t.length; for (let s = 0; s < o; ) { const a = Math.min(i - this.pos, o - s); if (a === i) { const c = sL(t); for (; i <= o - s; s += i) this.process(c, s); continue; } n.set(t.subarray(s, s + a), this.pos), this.pos += a, s += a, this.pos === i && (this.process(r, 0), this.pos = 0); } return this.length += t.length, this.roundClean(), this; } digestInto(t) { mI(this), UDe(t, this), this.finished = !0; const { buffer: r, view: n, blockLen: i, isLE: o } = this; let { pos: s } = this; r[s++] = 128, Nm(this.buffer.subarray(s)), this.padOffset > i - s && (this.process(n, 0), s = 0); for (let h = s; h < i; h++) r[h] = 0; jDe(n, i - 8, BigInt(this.length * 8), o), this.process(n, 0); const a = sL(t), c = this.outputLen; if (c % 4) throw new Error("_sha2: outputLen should be aligned to 32bit"); const l = c / 4, u = this.get(); if (l > u.length) throw new Error("_sha2: outputLen bigger than state"); for (let h = 0; h < l; h++) a.setUint32(4 * h, u[h], o); } digest() { const { buffer: t, outputLen: r } = this; this.digestInto(t); const n = t.slice(0, r); return this.destroy(), n; } _cloneInto(t) { t || (t = new this.constructor()), t.set(...this.get()); const { blockLen: r, buffer: n, length: i, finished: o, destroyed: s, pos: a } = this; return t.destroyed = s, t.finished = o, t.length = i, t.pos = a, i % r && t.buffer.set(n), t; } clone() { return this._cloneInto(); } }; const Wg = /* @__PURE__ */ Uint32Array.from([ 1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225 ]), $u = /* @__PURE__ */ Uint32Array.from([ 1779033703, 4089235720, 3144134277, 2227873595, 1013904242, 4271175723, 2773480762, 1595750129, 1359893119, 2917565137, 2600822924, 725511199, 528734635, 4215389547, 1541459225, 327033209 ]), LDe = /* @__PURE__ */ Uint8Array.from([ 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8 ]), qwe = Uint8Array.from(new Array(16).fill(0).map((e, t) => t)), HDe = qwe.map((e) => (9 * e + 5) % 16), Kwe = /* @__PURE__ */ (() => { cons