@tuwaio/satellite-evm 0.0.4 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +21 -37
- package/dist/index.d.ts +21 -37
- package/dist/index.js +1 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +17 -18
- package/dist/_esm-4WQYADT7.mjs +0 -10
- package/dist/_esm-4WQYADT7.mjs.map +0 -1
- package/dist/ccip-NIHGPDTQ.mjs +0 -2
- package/dist/ccip-NIHGPDTQ.mjs.map +0 -1
- package/dist/chunk-6R4Y2ZVK.mjs +0 -2
- package/dist/chunk-6R4Y2ZVK.mjs.map +0 -1
- package/dist/chunk-J3JCN55Z.mjs +0 -36
- package/dist/chunk-J3JCN55Z.mjs.map +0 -1
- package/dist/chunk-LHUJBWEN.mjs +0 -9
- package/dist/chunk-LHUJBWEN.mjs.map +0 -1
- package/dist/secp256k1-P3GTARIT.mjs +0 -10
- package/dist/secp256k1-P3GTARIT.mjs.map +0 -1
package/dist/chunk-LHUJBWEN.mjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import*as s from'crypto';var l=s&&typeof s=="object"&&"webcrypto"in s?s.webcrypto:s&&typeof s=="object"&&"randomBytes"in s?s:void 0;function N(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function E(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function x(t,...e){if(!N(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function q(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");E(t.outputLen),E(t.blockLen);}function J(t,e=true){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Q(t,e){x(t);let n=e.outputLen;if(t.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function Y(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Z(...t){for(let e=0;e<t.length;e++)t[e].fill(0);}function $(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function tt(t,e){return t<<32-e|t>>>e}var v=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function V(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function F(t){for(let e=0;e<t.length;e++)t[e]=V(t[e]);return t}var et=v?t=>t:F;function j(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function D(t){return typeof t=="string"&&(t=j(t)),x(t),t}function nt(...t){let e=0;for(let r=0;r<t.length;r++){let o=t[r];x(o),e+=o.length;}let n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){let i=t[r];n.set(i,o),o+=i.length;}return n}var U=class{};function rt(t){let e=r=>t().update(D(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function ot(t=32){if(l&&typeof l.getRandomValues=="function")return l.getRandomValues(new Uint8Array(t));if(l&&typeof l.randomBytes=="function")return Uint8Array.from(l.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}var m=BigInt(0),b=BigInt(1);function A(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function B(t){if(!A(t))throw new Error("Uint8Array expected")}function ft(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function ct(t){let e=t.toString(16);return e.length&1?"0"+e:e}function S(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?m:BigInt("0x"+t)}var I=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",R=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function T(t){if(B(t),I)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=R[t[n]];return e}var p={_0:48,_9:57,A:65,F:70,a:97,f:102};function H(t){if(t>=p._0&&t<=p._9)return t-p._0;if(t>=p.A&&t<=p.F)return t-(p.A-10);if(t>=p.a&&t<=p.f)return t-(p.a-10)}function _(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(I)return Uint8Array.fromHex(t);let e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(n);for(let o=0,i=0;o<n;o++,i+=2){let u=H(t.charCodeAt(i)),f=H(t.charCodeAt(i+1));if(u===void 0||f===void 0){let a=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+a+'" at index '+i)}r[o]=u*16+f;}return r}function ut(t){return S(T(t))}function st(t){return B(t),S(T(Uint8Array.from(t).reverse()))}function C(t,e){return _(t.toString(16).padStart(e*2,"0"))}function pt(t,e){return C(t,e).reverse()}function at(t,e,n){let r;if(typeof e=="string")try{r=_(e);}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(A(e))r=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let o=r.length;if(typeof n=="number"&&o!==n)throw new Error(t+" of length "+n+" expected, got "+o);return r}function M(...t){let e=0;for(let r=0;r<t.length;r++){let o=t[r];B(o),e+=o.length;}let n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){let i=t[r];n.set(i,o),o+=i.length;}return n}function lt(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}var w=t=>typeof t=="bigint"&&m<=t;function W(t,e,n){return w(t)&&w(e)&&w(n)&&e<=t&&t<n}function dt(t,e,n,r){if(!W(e,n,r))throw new Error("expected valid "+t+": "+n+" <= n < "+r+", got "+e)}function gt(t){let e;for(e=0;t>m;t>>=b,e+=1);return e}var yt=t=>(b<<BigInt(t))-b,h=t=>new Uint8Array(t),L=t=>Uint8Array.from(t);function xt(t,e,n){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=h(t),o=h(t),i=0,u=()=>{r.fill(1),o.fill(0),i=0;},f=(...c)=>n(o,r,...c),a=(c=h(0))=>{o=f(L([0]),c),r=f(),c.length!==0&&(o=f(L([1]),c),r=f());},O=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let c=0,d=[];for(;c<e;){r=f();let g=r.slice();d.push(g),c+=r.length;}return M(...d)};return (c,d)=>{u(),a(c);let g;for(;!(g=d(O()));)a();return u(),g}}var X={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||A(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function wt(t,e,n={}){let r=(o,i,u)=>{let f=X[i];if(typeof f!="function")throw new Error("invalid validator function");let a=t[o];if(!(u&&a===void 0)&&!f(a,t))throw new Error("param "+String(o)+" is invalid. Expected "+i+", got "+a)};for(let[o,i]of Object.entries(e))r(o,i,false);for(let[o,i]of Object.entries(n))r(o,i,true);return t}function ht(t){let e=new WeakMap;return (n,...r)=>{let o=e.get(n);if(o!==void 0)return o;let i=t(n,...r);return e.set(n,i),i}}var y=BigInt(4294967295),k=BigInt(32);function z(t,e=false){return e?{h:Number(t&y),l:Number(t>>k&y)}:{h:Number(t>>k&y)|0,l:Number(t&y)|0}}function mt(t,e=false){let n=t.length,r=new Uint32Array(n),o=new Uint32Array(n);for(let i=0;i<n;i++){let{h:u,l:f}=z(t[i],e);[r[i],o[i]]=[u,f];}return [r,o]}var At=(t,e,n)=>t<<n|e>>>32-n,Bt=(t,e,n)=>e<<n|t>>>32-n,Et=(t,e,n)=>e<<n-32|t>>>64-n,Ut=(t,e,n)=>t<<n-32|e>>>64-n;/*! Bundled license information:
|
|
2
|
-
|
|
3
|
-
@noble/hashes/esm/utils.js:
|
|
4
|
-
(*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
5
|
-
|
|
6
|
-
@noble/curves/esm/abstract/utils.js:
|
|
7
|
-
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
8
|
-
*/export{ut as A,st as B,C,pt as D,at as E,M as F,lt as G,W as H,dt as I,gt as J,yt as K,xt as L,wt as M,ht as N,mt as a,At as b,Bt as c,Et as d,Ut as e,E as f,x as g,q as h,J as i,Q as j,Y as k,Z as l,$ as m,tt as n,et as o,D as p,nt as q,U as r,rt as s,ot as t,A as u,B as v,ft as w,ct as x,T as y,_ as z};//# sourceMappingURL=chunk-LHUJBWEN.mjs.map
|
|
9
|
-
//# sourceMappingURL=chunk-LHUJBWEN.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/src/cryptoNode.ts","../../../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/src/utils.ts","../../../node_modules/.pnpm/@noble+curves@1.9.1/node_modules/@noble/curves/src/abstract/utils.ts","../../../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/src/_u64.ts"],"names":["crypto","nc","isBytes","a","anumber","n","abytes","b","lengths","ahash","h","aexists","instance","checkFinished","aoutput","out","min","u32","arr","clean","arrays","i","createView","rotr","word","shift","isLE","byteSwap","byteSwap32","swap32IfBE","u","utf8ToBytes","str","toBytes","data","concatBytes","sum","res","pad","Hash","createHasher","hashCons","hashC","msg","tmp","randomBytes","bytesLength","_0n","_1n","item","abool","title","value","numberToHexUnpadded","num","hex","hexToNumber","hasHexBuiltin","hexes","_","bytesToHex","bytes","asciis","asciiToBase16","ch","hexToBytes","hl","al","array","ai","hi","n1","n2","char","bytesToNumberBE","bytesToNumberLE","numberToBytesBE","len","numberToBytesLE","ensureBytes","expectedLength","e","isPosBig","inRange","max","aInRange","bitLen","bitMask","u8n","u8fr","createHmacDrbg","hashLen","qByteLen","hmacFn","v","k","reset","reseed","seed","gen","sl","pred","validatorFns","val","object","validateObject","validators","optValidators","checkField","fieldName","type","isOptional","checkVal","memoized","fn","map","arg","args","computed","U32_MASK64","_32n","fromBig","le","split","lst","Ah","Al","l","rotlSH","s","rotlSL","rotlBH","rotlBL"],"mappings":"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","file":"chunk-LHUJBWEN.mjs","sourcesContent":["/**\n * Internal webcrypto alias.\n * We prefer WebCrypto aka globalThis.crypto, which exists in node.js 16+.\n * Falls back to Node.js built-in crypto for Node.js <=v14.\n * See utils.ts for details.\n * @module\n */\n// @ts-ignore\nimport * as nc from 'node:crypto';\nexport const crypto: any =\n nc && typeof nc === 'object' && 'webcrypto' in nc\n ? (nc.webcrypto as any)\n : nc && typeof nc === 'object' && 'randomBytes' in nc\n ? nc\n : undefined;\n","/**\n * Utilities for hex, bytes, CSPRNG.\n * @module\n */\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated (2025-04-30), we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\n\n/** Checks if something is Uint8Array. Be careful: nodejs Buffer will return true. */\nexport function isBytes(a: unknown): a is Uint8Array {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n\n/** Asserts something is positive integer. */\nexport function anumber(n: number): void {\n if (!Number.isSafeInteger(n) || n < 0) throw new Error('positive integer expected, got ' + n);\n}\n\n/** Asserts something is Uint8Array. */\nexport function abytes(b: Uint8Array | undefined, ...lengths: number[]): void {\n if (!isBytes(b)) throw new Error('Uint8Array expected');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error('Uint8Array expected of length ' + lengths + ', got length=' + b.length);\n}\n\n/** Asserts something is hash */\nexport function ahash(h: IHash): void {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new Error('Hash should be wrapped by utils.createHasher');\n anumber(h.outputLen);\n anumber(h.blockLen);\n}\n\n/** Asserts a hash instance has not been destroyed / finished */\nexport function aexists(instance: any, checkFinished = true): void {\n if (instance.destroyed) throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished) throw new Error('Hash#digest() has already been called');\n}\n\n/** Asserts output is properly-sized byte array */\nexport function aoutput(out: any, instance: any): void {\n abytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error('digestInto() expects output buffer of length at least ' + min);\n }\n}\n\n/** Generic type encompassing 8/16/32-byte arrays - but not 64-byte. */\n// prettier-ignore\nexport type TypedArray = Int8Array | Uint8ClampedArray | Uint8Array |\n Uint16Array | Int16Array | Uint32Array | Int32Array;\n\n/** Cast u8 / u16 / u32 to u8. */\nexport function u8(arr: TypedArray): Uint8Array {\n return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n\n/** Cast u8 / u16 / u32 to u32. */\nexport function u32(arr: TypedArray): Uint32Array {\n return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n}\n\n/** Zeroize a byte array. Warning: JS provides no guarantees. */\nexport function clean(...arrays: TypedArray[]): void {\n for (let i = 0; i < arrays.length; i++) {\n arrays[i].fill(0);\n }\n}\n\n/** Create DataView of an array for easy byte-level manipulation. */\nexport function createView(arr: TypedArray): DataView {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n\n/** The rotate right (circular right shift) operation for uint32 */\nexport function rotr(word: number, shift: number): number {\n return (word << (32 - shift)) | (word >>> shift);\n}\n\n/** The rotate left (circular left shift) operation for uint32 */\nexport function rotl(word: number, shift: number): number {\n return (word << shift) | ((word >>> (32 - shift)) >>> 0);\n}\n\n/** Is current platform little-endian? Most are. Big-Endian platform: IBM */\nexport const isLE: boolean = /* @__PURE__ */ (() =>\n new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)();\n\n/** The byte swap operation for uint32 */\nexport function byteSwap(word: number): number {\n return (\n ((word << 24) & 0xff000000) |\n ((word << 8) & 0xff0000) |\n ((word >>> 8) & 0xff00) |\n ((word >>> 24) & 0xff)\n );\n}\n/** Conditionally byte swap if on a big-endian platform */\nexport const swap8IfBE: (n: number) => number = isLE\n ? (n: number) => n\n : (n: number) => byteSwap(n);\n\n/** @deprecated */\nexport const byteSwapIfBE: typeof swap8IfBE = swap8IfBE;\n/** In place byte swap for Uint32Array */\nexport function byteSwap32(arr: Uint32Array): Uint32Array {\n for (let i = 0; i < arr.length; i++) {\n arr[i] = byteSwap(arr[i]);\n }\n return arr;\n}\n\nexport const swap32IfBE: (u: Uint32Array) => Uint32Array = isLE\n ? (u: Uint32Array) => u\n : byteSwap32;\n\n// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex\nconst hasHexBuiltin: boolean = /* @__PURE__ */ (() =>\n // @ts-ignore\n typeof Uint8Array.from([]).toHex === 'function' && typeof Uint8Array.fromHex === 'function')();\n\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) =>\n i.toString(16).padStart(2, '0')\n);\n\n/**\n * Convert byte array to hex string. Uses built-in function, when available.\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes: Uint8Array): string {\n abytes(bytes);\n // @ts-ignore\n if (hasHexBuiltin) return bytes.toHex();\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 } as const;\nfunction asciiToBase16(ch: number): number | undefined {\n if (ch >= asciis._0 && ch <= asciis._9) return ch - asciis._0; // '2' => 50-48\n if (ch >= asciis.A && ch <= asciis.F) return ch - (asciis.A - 10); // 'B' => 66-(65-10)\n if (ch >= asciis.a && ch <= asciis.f) return ch - (asciis.a - 10); // 'b' => 98-(97-10)\n return;\n}\n\n/**\n * Convert hex string to byte array. Uses built-in function, when available.\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex: string): Uint8Array {\n if (typeof hex !== 'string') throw new Error('hex string expected, got ' + typeof hex);\n // @ts-ignore\n if (hasHexBuiltin) return Uint8Array.fromHex(hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2) throw new Error('hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163\n }\n return array;\n}\n\n/**\n * There is no setImmediate in browser and setTimeout is slow.\n * Call of async fn will return Promise, which will be fullfiled only on\n * next scheduler queue processing step and this is exactly what we need.\n */\nexport const nextTick = async (): Promise<void> => {};\n\n/** Returns control to thread each 'tick' ms to avoid blocking. */\nexport async function asyncLoop(\n iters: number,\n tick: number,\n cb: (i: number) => void\n): Promise<void> {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick) continue;\n await nextTick();\n ts += diff;\n }\n}\n\n// Global symbols, but ts doesn't see them: https://github.com/microsoft/TypeScript/issues/31535\ndeclare const TextEncoder: any;\ndeclare const TextDecoder: any;\n\n/**\n * Converts string to bytes using UTF8 encoding.\n * @example utf8ToBytes('abc') // Uint8Array.from([97, 98, 99])\n */\nexport function utf8ToBytes(str: string): Uint8Array {\n if (typeof str !== 'string') throw new Error('string expected');\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n\n/**\n * Converts bytes to string using UTF8 encoding.\n * @example bytesToUtf8(Uint8Array.from([97, 98, 99])) // 'abc'\n */\nexport function bytesToUtf8(bytes: Uint8Array): string {\n return new TextDecoder().decode(bytes);\n}\n\n/** Accepted input of hash functions. Strings are converted to byte arrays. */\nexport type Input = string | Uint8Array;\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data: Input): Uint8Array {\n if (typeof data === 'string') data = utf8ToBytes(data);\n abytes(data);\n return data;\n}\n\n/** KDFs can accept string or Uint8Array for user convenience. */\nexport type KDFInput = string | Uint8Array;\n/**\n * Helper for KDFs: consumes uint8array or string.\n * When string is passed, does utf8 decoding, using TextDecoder.\n */\nexport function kdfInputToBytes(data: KDFInput): Uint8Array {\n if (typeof data === 'string') data = utf8ToBytes(data);\n abytes(data);\n return data;\n}\n\n/** Copies several Uint8Arrays into one. */\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n abytes(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n\ntype EmptyObj = {};\nexport function checkOpts<T1 extends EmptyObj, T2 extends EmptyObj>(\n defaults: T1,\n opts?: T2\n): T1 & T2 {\n if (opts !== undefined && {}.toString.call(opts) !== '[object Object]')\n throw new Error('options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged as T1 & T2;\n}\n\n/** Hash interface. */\nexport type IHash = {\n (data: Uint8Array): Uint8Array;\n blockLen: number;\n outputLen: number;\n create: any;\n};\n\n/** For runtime check if class implements interface */\nexport abstract class Hash<T extends Hash<T>> {\n abstract blockLen: number; // Bytes per block\n abstract outputLen: number; // Bytes in output\n abstract update(buf: Input): this;\n // Writes digest into buf\n abstract digestInto(buf: Uint8Array): void;\n abstract digest(): Uint8Array;\n /**\n * Resets internal state. Makes Hash instance unusable.\n * Reset is impossible for keyed hashes if key is consumed into state. If digest is not consumed\n * by user, they will need to manually call `destroy()` when zeroing is necessary.\n */\n abstract destroy(): void;\n /**\n * Clones hash instance. Unsafe: doesn't check whether `to` is valid. Can be used as `clone()`\n * when no options are passed.\n * Reasons to use `_cloneInto` instead of clone: 1) performance 2) reuse instance => all internal\n * buffers are overwritten => causes buffer overwrite which is used for digest in some cases.\n * There are no guarantees for clean-up because it's impossible in JS.\n */\n abstract _cloneInto(to?: T): T;\n // Safe version that clones internal state\n abstract clone(): T;\n}\n\n/**\n * XOF: streaming API to read digest in chunks.\n * Same as 'squeeze' in keccak/k12 and 'seek' in blake3, but more generic name.\n * When hash used in XOF mode it is up to user to call '.destroy' afterwards, since we cannot\n * destroy state, next call can require more bytes.\n */\nexport type HashXOF<T extends Hash<T>> = Hash<T> & {\n xof(bytes: number): Uint8Array; // Read 'bytes' bytes from digest stream\n xofInto(buf: Uint8Array): Uint8Array; // read buf.length bytes from digest stream into buf\n};\n\n/** Hash function */\nexport type CHash = ReturnType<typeof createHasher>;\n/** Hash function with output */\nexport type CHashO = ReturnType<typeof createOptHasher>;\n/** XOF with output */\nexport type CHashXO = ReturnType<typeof createXOFer>;\n\n/** Wraps hash function, creating an interface on top of it */\nexport function createHasher<T extends Hash<T>>(\n hashCons: () => Hash<T>\n): {\n (msg: Input): Uint8Array;\n outputLen: number;\n blockLen: number;\n create(): Hash<T>;\n} {\n const hashC = (msg: Input): Uint8Array => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\n\nexport function createOptHasher<H extends Hash<H>, T extends Object>(\n hashCons: (opts?: T) => Hash<H>\n): {\n (msg: Input, opts?: T): Uint8Array;\n outputLen: number;\n blockLen: number;\n create(opts?: T): Hash<H>;\n} {\n const hashC = (msg: Input, opts?: T): Uint8Array => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({} as T);\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts?: T) => hashCons(opts);\n return hashC;\n}\n\nexport function createXOFer<H extends HashXOF<H>, T extends Object>(\n hashCons: (opts?: T) => HashXOF<H>\n): {\n (msg: Input, opts?: T): Uint8Array;\n outputLen: number;\n blockLen: number;\n create(opts?: T): HashXOF<H>;\n} {\n const hashC = (msg: Input, opts?: T): Uint8Array => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({} as T);\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts?: T) => hashCons(opts);\n return hashC;\n}\nexport const wrapConstructor: typeof createHasher = createHasher;\nexport const wrapConstructorWithOpts: typeof createOptHasher = createOptHasher;\nexport const wrapXOFConstructorWithOpts: typeof createXOFer = createXOFer;\n\n/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */\nexport function randomBytes(bytesLength = 32): Uint8Array {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n // Legacy Node.js compatibility\n if (crypto && typeof crypto.randomBytes === 'function') {\n return Uint8Array.from(crypto.randomBytes(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n","/**\n * Hex, bytes and number utilities.\n * @module\n */\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n\n// 100 lines of code in the file are duplicated from noble-hashes (utils).\n// This is OK: `abstract` directory does not use noble-hashes.\n// User may opt-in into using different hashing library. This way, noble-hashes\n// won't be included into their bundle.\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nexport type Hex = Uint8Array | string; // hex strings are accepted for simplicity\nexport type PrivKey = Hex | bigint; // bigints are accepted to ease learning curve\nexport type CHash = {\n (message: Uint8Array | string): Uint8Array;\n blockLen: number;\n outputLen: number;\n create(opts?: { dkLen?: number }): any; // For shake\n};\nexport type FHash = (message: Uint8Array | string) => Uint8Array;\n\nexport function isBytes(a: unknown): a is Uint8Array {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n\nexport function abytes(item: unknown): void {\n if (!isBytes(item)) throw new Error('Uint8Array expected');\n}\n\nexport function abool(title: string, value: boolean): void {\n if (typeof value !== 'boolean') throw new Error(title + ' boolean expected, got ' + value);\n}\n\n// Used in weierstrass, der\nexport function numberToHexUnpadded(num: number | bigint): string {\n const hex = num.toString(16);\n return hex.length & 1 ? '0' + hex : hex;\n}\n\nexport function hexToNumber(hex: string): bigint {\n if (typeof hex !== 'string') throw new Error('hex string expected, got ' + typeof hex);\n return hex === '' ? _0n : BigInt('0x' + hex); // Big Endian\n}\n\n// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex\nconst hasHexBuiltin: boolean =\n // @ts-ignore\n typeof Uint8Array.from([]).toHex === 'function' && typeof Uint8Array.fromHex === 'function';\n\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) =>\n i.toString(16).padStart(2, '0')\n);\n\n/**\n * Convert byte array to hex string. Uses built-in function, when available.\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes: Uint8Array): string {\n abytes(bytes);\n // @ts-ignore\n if (hasHexBuiltin) return bytes.toHex();\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 } as const;\nfunction asciiToBase16(ch: number): number | undefined {\n if (ch >= asciis._0 && ch <= asciis._9) return ch - asciis._0; // '2' => 50-48\n if (ch >= asciis.A && ch <= asciis.F) return ch - (asciis.A - 10); // 'B' => 66-(65-10)\n if (ch >= asciis.a && ch <= asciis.f) return ch - (asciis.a - 10); // 'b' => 98-(97-10)\n return;\n}\n\n/**\n * Convert hex string to byte array. Uses built-in function, when available.\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex: string): Uint8Array {\n if (typeof hex !== 'string') throw new Error('hex string expected, got ' + typeof hex);\n // @ts-ignore\n if (hasHexBuiltin) return Uint8Array.fromHex(hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2) throw new Error('hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163\n }\n return array;\n}\n\n// BE: Big Endian, LE: Little Endian\nexport function bytesToNumberBE(bytes: Uint8Array): bigint {\n return hexToNumber(bytesToHex(bytes));\n}\nexport function bytesToNumberLE(bytes: Uint8Array): bigint {\n abytes(bytes);\n return hexToNumber(bytesToHex(Uint8Array.from(bytes).reverse()));\n}\n\nexport function numberToBytesBE(n: number | bigint, len: number): Uint8Array {\n return hexToBytes(n.toString(16).padStart(len * 2, '0'));\n}\nexport function numberToBytesLE(n: number | bigint, len: number): Uint8Array {\n return numberToBytesBE(n, len).reverse();\n}\n// Unpadded, rarely used\nexport function numberToVarBytesBE(n: number | bigint): Uint8Array {\n return hexToBytes(numberToHexUnpadded(n));\n}\n\n/**\n * Takes hex string or Uint8Array, converts to Uint8Array.\n * Validates output length.\n * Will throw error for other types.\n * @param title descriptive title for an error e.g. 'private key'\n * @param hex hex string or Uint8Array\n * @param expectedLength optional, will compare to result array's length\n * @returns\n */\nexport function ensureBytes(title: string, hex: Hex, expectedLength?: number): Uint8Array {\n let res: Uint8Array;\n if (typeof hex === 'string') {\n try {\n res = hexToBytes(hex);\n } catch (e) {\n throw new Error(title + ' must be hex string or Uint8Array, cause: ' + e);\n }\n } else if (isBytes(hex)) {\n // Uint8Array.from() instead of hash.slice() because node.js Buffer\n // is instance of Uint8Array, and its slice() creates **mutable** copy\n res = Uint8Array.from(hex);\n } else {\n throw new Error(title + ' must be hex string or Uint8Array');\n }\n const len = res.length;\n if (typeof expectedLength === 'number' && len !== expectedLength)\n throw new Error(title + ' of length ' + expectedLength + ' expected, got ' + len);\n return res;\n}\n\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n abytes(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n\n// Compares 2 u8a-s in kinda constant time\nexport function equalBytes(a: Uint8Array, b: Uint8Array): boolean {\n if (a.length !== b.length) return false;\n let diff = 0;\n for (let i = 0; i < a.length; i++) diff |= a[i] ^ b[i];\n return diff === 0;\n}\n\n// Global symbols in both browsers and Node.js since v11\n// See https://github.com/microsoft/TypeScript/issues/31535\ndeclare const TextEncoder: any;\n\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str: string): Uint8Array {\n if (typeof str !== 'string') throw new Error('string expected');\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n\n// Is positive bigint\nconst isPosBig = (n: bigint) => typeof n === 'bigint' && _0n <= n;\n\nexport function inRange(n: bigint, min: bigint, max: bigint): boolean {\n return isPosBig(n) && isPosBig(min) && isPosBig(max) && min <= n && n < max;\n}\n\n/**\n * Asserts min <= n < max. NOTE: It's < max and not <= max.\n * @example\n * aInRange('x', x, 1n, 256n); // would assume x is in (1n..255n)\n */\nexport function aInRange(title: string, n: bigint, min: bigint, max: bigint): void {\n // Why min <= n < max and not a (min < n < max) OR b (min <= n <= max)?\n // consider P=256n, min=0n, max=P\n // - a for min=0 would require -1: `inRange('x', x, -1n, P)`\n // - b would commonly require subtraction: `inRange('x', x, 0n, P - 1n)`\n // - our way is the cleanest: `inRange('x', x, 0n, P)\n if (!inRange(n, min, max))\n throw new Error('expected valid ' + title + ': ' + min + ' <= n < ' + max + ', got ' + n);\n}\n\n// Bit operations\n\n/**\n * Calculates amount of bits in a bigint.\n * Same as `n.toString(2).length`\n * TODO: merge with nLength in modular\n */\nexport function bitLen(n: bigint): number {\n let len;\n for (len = 0; n > _0n; n >>= _1n, len += 1);\n return len;\n}\n\n/**\n * Gets single bit at position.\n * NOTE: first bit position is 0 (same as arrays)\n * Same as `!!+Array.from(n.toString(2)).reverse()[pos]`\n */\nexport function bitGet(n: bigint, pos: number): bigint {\n return (n >> BigInt(pos)) & _1n;\n}\n\n/**\n * Sets single bit at position.\n */\nexport function bitSet(n: bigint, pos: number, value: boolean): bigint {\n return n | ((value ? _1n : _0n) << BigInt(pos));\n}\n\n/**\n * Calculate mask for N bits. Not using ** operator with bigints because of old engines.\n * Same as BigInt(`0b${Array(i).fill('1').join('')}`)\n */\nexport const bitMask = (n: number): bigint => (_1n << BigInt(n)) - _1n;\n\n// DRBG\n\nconst u8n = (len: number) => new Uint8Array(len); // creates Uint8Array\nconst u8fr = (arr: ArrayLike<number>) => Uint8Array.from(arr); // another shortcut\ntype Pred<T> = (v: Uint8Array) => T | undefined;\n/**\n * Minimal HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n * @returns function that will call DRBG until 2nd arg returns something meaningful\n * @example\n * const drbg = createHmacDRBG<Key>(32, 32, hmac);\n * drbg(seed, bytesToKey); // bytesToKey must return Key or undefined\n */\nexport function createHmacDrbg<T>(\n hashLen: number,\n qByteLen: number,\n hmacFn: (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array\n): (seed: Uint8Array, predicate: Pred<T>) => T {\n if (typeof hashLen !== 'number' || hashLen < 2) throw new Error('hashLen must be a number');\n if (typeof qByteLen !== 'number' || qByteLen < 2) throw new Error('qByteLen must be a number');\n if (typeof hmacFn !== 'function') throw new Error('hmacFn must be a function');\n // Step B, Step C: set hashLen to 8*ceil(hlen/8)\n let v = u8n(hashLen); // Minimal non-full-spec HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n let k = u8n(hashLen); // Steps B and C of RFC6979 3.2: set hashLen, in our case always same\n let i = 0; // Iterations counter, will throw when over 1000\n const reset = () => {\n v.fill(1);\n k.fill(0);\n i = 0;\n };\n const h = (...b: Uint8Array[]) => hmacFn(k, v, ...b); // hmac(k)(v, ...values)\n const reseed = (seed = u8n(0)) => {\n // HMAC-DRBG reseed() function. Steps D-G\n k = h(u8fr([0x00]), seed); // k = hmac(k || v || 0x00 || seed)\n v = h(); // v = hmac(k || v)\n if (seed.length === 0) return;\n k = h(u8fr([0x01]), seed); // k = hmac(k || v || 0x01 || seed)\n v = h(); // v = hmac(k || v)\n };\n const gen = () => {\n // HMAC-DRBG generate() function\n if (i++ >= 1000) throw new Error('drbg: tried 1000 values');\n let len = 0;\n const out: Uint8Array[] = [];\n while (len < qByteLen) {\n v = h();\n const sl = v.slice();\n out.push(sl);\n len += v.length;\n }\n return concatBytes(...out);\n };\n const genUntil = (seed: Uint8Array, pred: Pred<T>): T => {\n reset();\n reseed(seed); // Steps D-G\n let res: T | undefined = undefined; // Step H: grind until k is in [1..n-1]\n while (!(res = pred(gen()))) reseed();\n reset();\n return res;\n };\n return genUntil;\n}\n\n// Validating curves and fields\n\nconst validatorFns = {\n bigint: (val: any): boolean => typeof val === 'bigint',\n function: (val: any): boolean => typeof val === 'function',\n boolean: (val: any): boolean => typeof val === 'boolean',\n string: (val: any): boolean => typeof val === 'string',\n stringOrUint8Array: (val: any): boolean => typeof val === 'string' || isBytes(val),\n isSafeInteger: (val: any): boolean => Number.isSafeInteger(val),\n array: (val: any): boolean => Array.isArray(val),\n field: (val: any, object: any): any => (object as any).Fp.isValid(val),\n hash: (val: any): boolean => typeof val === 'function' && Number.isSafeInteger(val.outputLen),\n} as const;\ntype Validator = keyof typeof validatorFns;\ntype ValMap<T extends Record<string, any>> = { [K in keyof T]?: Validator };\n// type Record<K extends string | number | symbol, T> = { [P in K]: T; }\n\nexport function validateObject<T extends Record<string, any>>(\n object: T,\n validators: ValMap<T>,\n optValidators: ValMap<T> = {}\n): T {\n const checkField = (fieldName: keyof T, type: Validator, isOptional: boolean) => {\n const checkVal = validatorFns[type];\n if (typeof checkVal !== 'function') throw new Error('invalid validator function');\n\n const val = object[fieldName as keyof typeof object];\n if (isOptional && val === undefined) return;\n if (!checkVal(val, object)) {\n throw new Error(\n 'param ' + String(fieldName) + ' is invalid. Expected ' + type + ', got ' + val\n );\n }\n };\n for (const [fieldName, type] of Object.entries(validators)) checkField(fieldName, type!, false);\n for (const [fieldName, type] of Object.entries(optValidators)) checkField(fieldName, type!, true);\n return object;\n}\n// validate type tests\n// const o: { a: number; b: number; c: number } = { a: 1, b: 5, c: 6 };\n// const z0 = validateObject(o, { a: 'isSafeInteger' }, { c: 'bigint' }); // Ok!\n// // Should fail type-check\n// const z1 = validateObject(o, { a: 'tmp' }, { c: 'zz' });\n// const z2 = validateObject(o, { a: 'isSafeInteger' }, { c: 'zz' });\n// const z3 = validateObject(o, { test: 'boolean', z: 'bug' });\n// const z4 = validateObject(o, { a: 'boolean', z: 'bug' });\n\n/**\n * throws not implemented error\n */\nexport const notImplemented = (): never => {\n throw new Error('not implemented');\n};\n\n/**\n * Memoizes (caches) computation result.\n * Uses WeakMap: the value is going auto-cleaned by GC after last reference is removed.\n */\nexport function memoized<T extends object, R, O extends any[]>(\n fn: (arg: T, ...args: O) => R\n): (arg: T, ...args: O) => R {\n const map = new WeakMap<T, R>();\n return (arg: T, ...args: O): R => {\n const val = map.get(arg);\n if (val !== undefined) return val;\n const computed = fn(arg, ...args);\n map.set(arg, computed);\n return computed;\n };\n}\n","/**\n * Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array.\n * @todo re-check https://issues.chromium.org/issues/42212588\n * @module\n */\nconst U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\n\nfunction fromBig(\n n: bigint,\n le = false\n): {\n h: number;\n l: number;\n} {\n if (le) return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\n\nfunction split(lst: bigint[], le = false): Uint32Array[] {\n const len = lst.length;\n let Ah = new Uint32Array(len);\n let Al = new Uint32Array(len);\n for (let i = 0; i < len; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\n\nconst toBig = (h: number, l: number): bigint => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h: number, _l: number, s: number): number => h >>> s;\nconst shrSL = (h: number, l: number, s: number): number => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h: number, l: number, s: number): number => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h: number, l: number, s: number): number => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h: number, l: number, s: number): number => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h: number, l: number, s: number): number => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h: number, l: number): number => l;\nconst rotr32L = (h: number, _l: number): number => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h: number, l: number, s: number): number => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h: number, l: number, s: number): number => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h: number, l: number, s: number): number => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h: number, l: number, s: number): number => (h << (s - 32)) | (l >>> (64 - s));\n\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(\n Ah: number,\n Al: number,\n Bh: number,\n Bl: number\n): {\n h: number;\n l: number;\n} {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al: number, Bl: number, Cl: number): number => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low: number, Ah: number, Bh: number, Ch: number): number =>\n (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al: number, Bl: number, Cl: number, Dl: number): number =>\n (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low: number, Ah: number, Bh: number, Ch: number, Dh: number): number =>\n (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al: number, Bl: number, Cl: number, Dl: number, El: number): number =>\n (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number): number =>\n (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n\n// prettier-ignore\nexport {\n add, add3H, add3L, add4H, add4L, add5H, add5L, fromBig, rotlBH, rotlBL, rotlSH, rotlSL, rotr32H, rotr32L, rotrBH, rotrBL, rotrSH, rotrSL, shrSH, shrSL, split, toBig\n};\n// prettier-ignore\nconst u64: { fromBig: typeof fromBig; split: typeof split; toBig: (h: number, l: number) => bigint; shrSH: (h: number, _l: number, s: number) => number; shrSL: (h: number, l: number, s: number) => number; rotrSH: (h: number, l: number, s: number) => number; rotrSL: (h: number, l: number, s: number) => number; rotrBH: (h: number, l: number, s: number) => number; rotrBL: (h: number, l: number, s: number) => number; rotr32H: (_h: number, l: number) => number; rotr32L: (h: number, _l: number) => number; rotlSH: (h: number, l: number, s: number) => number; rotlSL: (h: number, l: number, s: number) => number; rotlBH: (h: number, l: number, s: number) => number; rotlBL: (h: number, l: number, s: number) => number; add: typeof add; add3L: (Al: number, Bl: number, Cl: number) => number; add3H: (low: number, Ah: number, Bh: number, Ch: number) => number; add4L: (Al: number, Bl: number, Cl: number, Dl: number) => number; add4H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number) => number; add5H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number) => number; add5L: (Al: number, Bl: number, Cl: number, Dl: number, El: number) => number; } = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import {s,n,l,D as D$1,C,K,B,A,r,m,i,p,g,j,M,v,G,F,N,I,E,z,u,L,w,y,H,x,J,t,f,q,h}from'./chunk-LHUJBWEN.mjs';import'./chunk-6R4Y2ZVK.mjs';function nn(e,n,t,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(n,t,r);let i=BigInt(32),s=BigInt(4294967295),c=Number(t>>i&s),a=Number(t&s),o=r?4:0,f=r?0:4;e.setUint32(n+o,c,r),e.setUint32(n+f,a,r);}function _e(e,n,t){return e&n^~e&t}function He(e,n,t){return e&n^e&t^n&t}var Vt=class extends r{constructor(n,t,r,i){super(),this.finished=false,this.length=0,this.pos=0,this.destroyed=false,this.blockLen=n,this.outputLen=t,this.padOffset=r,this.isLE=i,this.buffer=new Uint8Array(n),this.view=m(this.buffer);}update(n){i(this),n=p(n),g(n);let{view:t,buffer:r,blockLen:i$1}=this,s=n.length;for(let c=0;c<s;){let a=Math.min(i$1-this.pos,s-c);if(a===i$1){let o=m(n);for(;i$1<=s-c;c+=i$1)this.process(o,c);continue}r.set(n.subarray(c,c+a),this.pos),this.pos+=a,c+=a,this.pos===i$1&&(this.process(t,0),this.pos=0);}return this.length+=n.length,this.roundClean(),this}digestInto(n){i(this),j(n,this),this.finished=true;let{buffer:t,view:r,blockLen:i$1,isLE:s}=this,{pos:c}=this;t[c++]=128,l(this.buffer.subarray(c)),this.padOffset>i$1-c&&(this.process(r,0),c=0);for(let h=c;h<i$1;h++)t[h]=0;nn(r,i$1-8,BigInt(this.length*8),s),this.process(r,0);let a=m(n),o=this.outputLen;if(o%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=o/4,l$1=this.get();if(f>l$1.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<f;h++)a.setUint32(4*h,l$1[h],s);}digest(){let{buffer:n,outputLen:t}=this;this.digestInto(n);let r=n.slice(0,t);return this.destroy(),r}_cloneInto(n){n||(n=new this.constructor),n.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:s,destroyed:c,pos:a}=this;return n.destroyed=c,n.finished=s,n.length=i,n.pos=a,i%t&&n.buffer.set(r),n}clone(){return this._cloneInto()}},et=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var rn=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]),ot=new Uint32Array(64),te=class extends Vt{constructor(n=32){super(64,n,8,false),this.A=et[0]|0,this.B=et[1]|0,this.C=et[2]|0,this.D=et[3]|0,this.E=et[4]|0,this.F=et[5]|0,this.G=et[6]|0,this.H=et[7]|0;}get(){let{A:n,B:t,C:r,D:i,E:s,F:c,G:a,H:o}=this;return [n,t,r,i,s,c,a,o]}set(n,t,r,i,s,c,a,o){this.A=n|0,this.B=t|0,this.C=r|0,this.D=i|0,this.E=s|0,this.F=c|0,this.G=a|0,this.H=o|0;}process(n$1,t){for(let h=0;h<16;h++,t+=4)ot[h]=n$1.getUint32(t,false);for(let h=16;h<64;h++){let E=ot[h-15],y=ot[h-2],I=n(E,7)^n(E,18)^E>>>3,b=n(y,17)^n(y,19)^y>>>10;ot[h]=b+ot[h-7]+I+ot[h-16]|0;}let{A:r,B:i,C:s,D:c,E:a,F:o,G:f,H:l}=this;for(let h=0;h<64;h++){let E=n(a,6)^n(a,11)^n(a,25),y=l+E+_e(a,o,f)+rn[h]+ot[h]|0,b=(n(r,2)^n(r,13)^n(r,22))+He(r,i,s)|0;l=f,f=o,o=a,a=c+y|0,c=s,s=i,i=r,r=y+b|0;}r=r+this.A|0,i=i+this.B|0,s=s+this.C|0,c=c+this.D|0,a=a+this.E|0,o=o+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(r,i,s,c,a,o,f,l);}roundClean(){l(ot);}destroy(){this.set(0,0,0,0,0,0,0,0),l(this.buffer);}};var At=s(()=>new te);var Mt=class extends r{constructor(n,t){super(),this.finished=false,this.destroyed=false,h(n);let r=p(t);if(this.iHash=n.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 i=this.blockLen,s=new Uint8Array(i);s.set(r.length>i?n.create().update(r).digest():r);for(let c=0;c<s.length;c++)s[c]^=54;this.iHash.update(s),this.oHash=n.create();for(let c=0;c<s.length;c++)s[c]^=106;this.oHash.update(s),l(s);}update(n){return i(this),this.iHash.update(n),this}digestInto(n){i(this),g(n,this.outputLen),this.finished=true,this.iHash.digestInto(n),this.oHash.update(n),this.oHash.digestInto(n),this.destroy();}digest(){let n=new Uint8Array(this.oHash.outputLen);return this.digestInto(n),n}_cloneInto(n){n||(n=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:r,finished:i,destroyed:s,blockLen:c,outputLen:a}=this;return n=n,n.finished=i,n.destroyed=s,n.blockLen=c,n.outputLen=a,n.oHash=t._cloneInto(n.oHash),n.iHash=r._cloneInto(n.iHash),n}clone(){return this._cloneInto()}destroy(){this.destroyed=true,this.oHash.destroy(),this.iHash.destroy();}},ee=(e,n,t)=>new Mt(e,n).update(t).digest();ee.create=(e,n)=>new Mt(e,n);var P=BigInt(0),D=BigInt(1),ut=BigInt(2),on=BigInt(3),qe=BigInt(4),Le=BigInt(5),Ne=BigInt(8);function Z(e,n){let t=e%n;return t>=P?t:n+t}function Y(e,n,t){let r=e;for(;n-- >P;)r*=r,r%=t;return r}function Dt(e,n){if(e===P)throw new Error("invert: expected non-zero number");if(n<=P)throw new Error("invert: expected positive modulus, got "+n);let t=Z(e,n),r=n,i=P,c=D;for(;t!==P;){let f=r/t,l=r%t,h=i-c*f;r=t,t=l,i=c,c=h;}if(r!==D)throw new Error("invert: does not exist");return Z(i,n)}function Re(e,n){let t=(e.ORDER+D)/qe,r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw new Error("Cannot find square root");return r}function sn(e,n){let t=(e.ORDER-Le)/Ne,r=e.mul(n,ut),i=e.pow(r,t),s=e.mul(n,i),c=e.mul(e.mul(s,ut),i),a=e.mul(s,e.sub(c,e.ONE));if(!e.eql(e.sqr(a),n))throw new Error("Cannot find square root");return a}function cn(e){if(e<BigInt(3))throw new Error("sqrt is not defined for small field");let n=e-D,t=0;for(;n%ut===P;)n/=ut,t++;let r=ut,i=It(e);for(;Oe(i,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(t===1)return Re;let s=i.pow(r,n),c=(n+D)/ut;return function(o,f){if(o.is0(f))return f;if(Oe(o,f)!==1)throw new Error("Cannot find square root");let l=t,h=o.mul(o.ONE,s),E=o.pow(f,n),y=o.pow(f,c);for(;!o.eql(E,o.ONE);){if(o.is0(E))return o.ZERO;let I=1,b=o.sqr(E);for(;!o.eql(b,o.ONE);)if(I++,b=o.sqr(b),I===l)throw new Error("Cannot find square root");let C=D<<BigInt(l-I-1),_=o.pow(h,C);l=I,h=o.sqr(_),E=o.mul(E,h),y=o.mul(y,_);}return y}}function an(e){return e%qe===on?Re:e%Ne===Le?sn:cn(e)}var fn=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function zt(e){let n={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=fn.reduce((r,i)=>(r[i]="function",r),n);return M(e,t)}function dn(e,n,t){if(t<P)throw new Error("invalid exponent, negatives unsupported");if(t===P)return e.ONE;if(t===D)return n;let r=e.ONE,i=n;for(;t>P;)t&D&&(r=e.mul(r,i)),i=e.sqr(i),t>>=D;return r}function yt(e,n,t=false){let r=new Array(n.length).fill(t?e.ZERO:void 0),i=n.reduce((c,a,o)=>e.is0(a)?c:(r[o]=c,e.mul(c,a)),e.ONE),s=e.inv(i);return n.reduceRight((c,a,o)=>e.is0(a)?c:(r[o]=e.mul(c,r[o]),e.mul(c,a)),s),r}function Oe(e,n){let t=(e.ORDER-D)/ut,r=e.pow(n,t),i=e.eql(r,e.ONE),s=e.eql(r,e.ZERO),c=e.eql(r,e.neg(e.ONE));if(!i&&!s&&!c)throw new Error("invalid Legendre symbol result");return i?1:s?0:-1}function ne(e,n){n!==void 0&&f(n);let t=n!==void 0?n:e.toString(2).length,r=Math.ceil(t/8);return {nBitLength:t,nByteLength:r}}function It(e,n,t=false,r={}){if(e<=P)throw new Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:i,nByteLength:s}=ne(e,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let c,a=Object.freeze({ORDER:e,isLE:t,BITS:i,BYTES:s,MASK:K(i),ZERO:P,ONE:D,create:o=>Z(o,e),isValid:o=>{if(typeof o!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof o);return P<=o&&o<e},is0:o=>o===P,isOdd:o=>(o&D)===D,neg:o=>Z(-o,e),eql:(o,f)=>o===f,sqr:o=>Z(o*o,e),add:(o,f)=>Z(o+f,e),sub:(o,f)=>Z(o-f,e),mul:(o,f)=>Z(o*f,e),pow:(o,f)=>dn(a,o,f),div:(o,f)=>Z(o*Dt(f,e),e),sqrN:o=>o*o,addN:(o,f)=>o+f,subN:(o,f)=>o-f,mulN:(o,f)=>o*f,inv:o=>Dt(o,e),sqrt:r.sqrt||(o=>(c||(c=an(e)),c(a,o))),toBytes:o=>t?D$1(o,s):C(o,s),fromBytes:o=>{if(o.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+o.length);return t?B(o):A(o)},invertBatch:o=>yt(a,o),cmov:(o,f,l)=>l?f:o});return Object.freeze(a)}function Te(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let n=e.toString(2).length;return Math.ceil(n/8)}function re(e){let n=Te(e);return n+Math.ceil(n/2)}function Ce(e,n,t=false){let r=e.length,i=Te(n),s=re(n);if(r<16||r<s||r>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+r);let c=t?B(e):A(e),a=Z(c,n-D)+D;return t?D$1(a,i):C(a,i)}var Ue=BigInt(0),ae=BigInt(1);function oe(e,n){let t=n.negate();return e?t:n}function Ze(e,n){if(!Number.isSafeInteger(e)||e<=0||e>n)throw new Error("invalid window size, expected [1.."+n+"], got W="+e)}function se(e,n){Ze(e,n);let t=Math.ceil(n/e)+1,r=2**(e-1),i=2**e,s=K(e),c=BigInt(e);return {windows:t,windowSize:r,mask:s,maxNumber:i,shiftBy:c}}function ke(e,n,t){let{windowSize:r,mask:i,maxNumber:s,shiftBy:c}=t,a=Number(e&i),o=e>>c;a>r&&(a-=s,o+=ae);let f=n*r,l=f+Math.abs(a)-1,h=a===0,E=a<0,y=n%2!==0;return {nextN:o,offset:l,isZero:h,isNeg:E,isNegF:y,offsetF:f}}function ln(e,n){if(!Array.isArray(e))throw new Error("array expected");e.forEach((t,r)=>{if(!(t instanceof n))throw new Error("invalid point at index "+r)});}function un(e,n){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((t,r)=>{if(!n.isValid(t))throw new Error("invalid scalar at index "+r)});}var ie=new WeakMap,Ve=new WeakMap;function ce(e){return Ve.get(e)||1}function Me(e,n){return {constTimeNegate:oe,hasPrecomputes(t){return ce(t)!==1},unsafeLadder(t,r,i=e.ZERO){let s=t;for(;r>Ue;)r&ae&&(i=i.add(s)),s=s.double(),r>>=ae;return i},precomputeWindow(t,r){let{windows:i,windowSize:s}=se(r,n),c=[],a=t,o=a;for(let f=0;f<i;f++){o=a,c.push(o);for(let l=1;l<s;l++)o=o.add(a),c.push(o);a=o.double();}return c},wNAF(t,r,i){let s=e.ZERO,c=e.BASE,a=se(t,n);for(let o=0;o<a.windows;o++){let{nextN:f,offset:l,isZero:h,isNeg:E,isNegF:y,offsetF:I}=ke(i,o,a);i=f,h?c=c.add(oe(y,r[I])):s=s.add(oe(E,r[l]));}return {p:s,f:c}},wNAFUnsafe(t,r,i,s=e.ZERO){let c=se(t,n);for(let a=0;a<c.windows&&i!==Ue;a++){let{nextN:o,offset:f,isZero:l,isNeg:h}=ke(i,a,c);if(i=o,!l){let E=r[f];s=s.add(h?E.negate():E);}}return s},getPrecomputes(t,r,i){let s=ie.get(r);return s||(s=this.precomputeWindow(r,t),t!==1&&ie.set(r,i(s))),s},wNAFCached(t,r,i){let s=ce(t);return this.wNAF(s,this.getPrecomputes(s,t,i),r)},wNAFCachedUnsafe(t,r,i,s){let c=ce(t);return c===1?this.unsafeLadder(t,r,s):this.wNAFUnsafe(c,this.getPrecomputes(c,t,i),r,s)},setWindowSize(t,r){Ze(r,n),Ve.set(t,r),ie.delete(t);}}}function De(e,n,t,r){ln(t,e),un(r,n);let i=t.length,s=r.length;if(i!==s)throw new Error("arrays of points and scalars must have equal length");let c=e.ZERO,a=J(BigInt(i)),o=1;a>12?o=a-3:a>4?o=a-2:a>0&&(o=2);let f=K(o),l=new Array(Number(f)+1).fill(c),h=Math.floor((n.BITS-1)/o)*o,E=c;for(let y=h;y>=0;y-=o){l.fill(c);for(let b=0;b<s;b++){let C=r[b],_=Number(C>>BigInt(y)&f);l[_]=l[_].add(t[b]);}let I=c;for(let b=l.length-1,C=c;b>0;b--)C=C.add(l[b]),I=I.add(C);if(E=E.add(I),y!==0)for(let b=0;b<o;b++)E=E.double();}return E}function fe(e){return zt(e.Fp),M(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ne(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}function ze(e){e.lowS!==void 0&&w("lowS",e.lowS),e.prehash!==void 0&&w("prehash",e.prehash);}function hn(e){let n=fe(e);M(n,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:t,Fp:r,a:i}=n;if(t){if(!r.eql(i,r.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...n})}var le=class extends Error{constructor(n=""){super(n);}},nt={Err:le,_tlv:{encode:(e,n)=>{let{Err:t}=nt;if(e<0||e>256)throw new t("tlv.encode: wrong tag");if(n.length&1)throw new t("tlv.encode: unpadded data");let r=n.length/2,i=x(r);if(i.length/2&128)throw new t("tlv.encode: long form length too big");let s=r>127?x(i.length/2|128):"";return x(e)+s+i+n},decode(e,n){let{Err:t}=nt,r=0;if(e<0||e>256)throw new t("tlv.encode: wrong tag");if(n.length<2||n[r++]!==e)throw new t("tlv.decode: wrong tlv");let i=n[r++],s=!!(i&128),c=0;if(!s)c=i;else {let o=i&127;if(!o)throw new t("tlv.decode(long): indefinite length not supported");if(o>4)throw new t("tlv.decode(long): byte length is too big");let f=n.subarray(r,r+o);if(f.length!==o)throw new t("tlv.decode: length bytes not complete");if(f[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(let l of f)c=c<<8|l;if(r+=o,c<128)throw new t("tlv.decode(long): not minimal encoding")}let a=n.subarray(r,r+c);if(a.length!==c)throw new t("tlv.decode: wrong value length");return {v:a,l:n.subarray(r+c)}}},_int:{encode(e){let{Err:n}=nt;if(e<Q)throw new n("integer: negative integers are not allowed");let t=x(e);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new n("unexpected DER parsing assertion: unpadded hex");return t},decode(e){let{Err:n}=nt;if(e[0]&128)throw new n("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new n("invalid signature integer: unnecessary leading zero");return A(e)}},toSig(e){let{Err:n,_int:t,_tlv:r}=nt,i=E("signature",e),{v:s,l:c}=r.decode(48,i);if(c.length)throw new n("invalid signature: left bytes after parsing");let{v:a,l:o}=r.decode(2,s),{v:f,l}=r.decode(2,o);if(l.length)throw new n("invalid signature: left bytes after parsing");return {r:t.decode(a),s:t.decode(f)}},hexFromSig(e){let{_tlv:n,_int:t}=nt,r=n.encode(2,t.encode(e.r)),i=n.encode(2,t.encode(e.s)),s=r+i;return n.encode(48,s)}};function de(e,n){return y(C(e,n))}var Q=BigInt(0),U=BigInt(1),st=BigInt(2),_t=BigInt(3),ue=BigInt(4);function xn(e){let n=hn(e),{Fp:t}=n,r=It(n.n,n.nBitLength),i=n.toBytes||((w,d,m)=>{let g=d.toAffine();return F(Uint8Array.from([4]),t.toBytes(g.x),t.toBytes(g.y))}),s=n.fromBytes||(w=>{let d=w.subarray(1),m=t.fromBytes(d.subarray(0,t.BYTES)),g=t.fromBytes(d.subarray(t.BYTES,2*t.BYTES));return {x:m,y:g}});function c(w){let{a:d,b:m}=n,g=t.sqr(w),B=t.mul(g,w);return t.add(t.add(B,t.mul(w,d)),m)}function a(w,d){let m=t.sqr(d),g=c(w);return t.eql(m,g)}if(!a(n.Gx,n.Gy))throw new Error("bad curve params: generator point");let o=t.mul(t.pow(n.a,_t),ue),f=t.mul(t.sqr(n.b),BigInt(27));if(t.is0(t.add(o,f)))throw new Error("bad curve params: a or b");function l(w){return H(w,U,n.n)}function h(w){let{allowedPrivateKeyLengths:d,nByteLength:m,wrapPrivateKey:g,n:B}=n;if(d&&typeof w!="bigint"){if(u(w)&&(w=y(w)),typeof w!="string"||!d.includes(w.length))throw new Error("invalid private key");w=w.padStart(m*2,"0");}let H;try{H=typeof w=="bigint"?w:A(E("private key",w,m));}catch{throw new Error("invalid private key, expected hex or "+m+" bytes, got "+typeof w)}return g&&(H=Z(H,B)),I("private key",H,U,B),H}function E$1(w){if(!(w instanceof b))throw new Error("ProjectivePoint expected")}let y$1=N((w,d)=>{let{px:m,py:g,pz:B}=w;if(t.eql(B,t.ONE))return {x:m,y:g};let H=w.is0();d==null&&(d=H?t.ONE:t.inv(B));let R=t.mul(m,d),T=t.mul(g,d),v=t.mul(B,d);if(H)return {x:t.ZERO,y:t.ZERO};if(!t.eql(v,t.ONE))throw new Error("invZ was invalid");return {x:R,y:T}}),I$1=N(w=>{if(w.is0()){if(n.allowInfinityPoint&&!t.is0(w.py))return;throw new Error("bad point: ZERO")}let{x:d,y:m}=w.toAffine();if(!t.isValid(d)||!t.isValid(m))throw new Error("bad point: x or y not FE");if(!a(d,m))throw new Error("bad point: equation left != right");if(!w.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return true});class b{constructor(d,m,g){if(d==null||!t.isValid(d))throw new Error("x required");if(m==null||!t.isValid(m)||t.is0(m))throw new Error("y required");if(g==null||!t.isValid(g))throw new Error("z required");this.px=d,this.py=m,this.pz=g,Object.freeze(this);}static fromAffine(d){let{x:m,y:g}=d||{};if(!d||!t.isValid(m)||!t.isValid(g))throw new Error("invalid affine point");if(d instanceof b)throw new Error("projective point not allowed");let B=H=>t.eql(H,t.ZERO);return B(m)&&B(g)?b.ZERO:new b(m,g,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let m=yt(t,d.map(g=>g.pz));return d.map((g,B)=>g.toAffine(m[B])).map(b.fromAffine)}static fromHex(d){let m=b.fromAffine(s(E("pointHex",d)));return m.assertValidity(),m}static fromPrivateKey(d){return b.BASE.multiply(h(d))}static msm(d,m){return De(b,r,d,m)}_setWindowSize(d){N$1.setWindowSize(this,d);}assertValidity(){I$1(this);}hasEvenY(){let{y:d}=this.toAffine();if(t.isOdd)return !t.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){E$1(d);let{px:m,py:g,pz:B}=this,{px:H,py:R,pz:T}=d,v=t.eql(t.mul(m,T),t.mul(H,B)),L=t.eql(t.mul(g,T),t.mul(R,B));return v&&L}negate(){return new b(this.px,t.neg(this.py),this.pz)}double(){let{a:d,b:m}=n,g=t.mul(m,_t),{px:B,py:H,pz:R}=this,T=t.ZERO,v=t.ZERO,L=t.ZERO,S=t.mul(B,B),M=t.mul(H,H),x=t.mul(R,R),u=t.mul(B,H);return u=t.add(u,u),L=t.mul(B,R),L=t.add(L,L),T=t.mul(d,L),v=t.mul(g,x),v=t.add(T,v),T=t.sub(M,v),v=t.add(M,v),v=t.mul(T,v),T=t.mul(u,T),L=t.mul(g,L),x=t.mul(d,x),u=t.sub(S,x),u=t.mul(d,u),u=t.add(u,L),L=t.add(S,S),S=t.add(L,S),S=t.add(S,x),S=t.mul(S,u),v=t.add(v,S),x=t.mul(H,R),x=t.add(x,x),S=t.mul(x,u),T=t.sub(T,S),L=t.mul(x,M),L=t.add(L,L),L=t.add(L,L),new b(T,v,L)}add(d){E$1(d);let{px:m,py:g,pz:B}=this,{px:H,py:R,pz:T}=d,v=t.ZERO,L=t.ZERO,S=t.ZERO,M=n.a,x=t.mul(n.b,_t),u=t.mul(m,H),p=t.mul(g,R),q=t.mul(B,T),A=t.add(m,g),O=t.add(H,R);A=t.mul(A,O),O=t.add(u,p),A=t.sub(A,O),O=t.add(m,B);let k=t.add(H,T);return O=t.mul(O,k),k=t.add(u,q),O=t.sub(O,k),k=t.add(g,B),v=t.add(R,T),k=t.mul(k,v),v=t.add(p,q),k=t.sub(k,v),S=t.mul(M,O),v=t.mul(x,q),S=t.add(v,S),v=t.sub(p,S),S=t.add(p,S),L=t.mul(v,S),p=t.add(u,u),p=t.add(p,u),q=t.mul(M,q),O=t.mul(x,O),p=t.add(p,q),q=t.sub(u,q),q=t.mul(M,q),O=t.add(O,q),u=t.mul(p,O),L=t.add(L,u),u=t.mul(k,O),v=t.mul(A,v),v=t.sub(v,u),u=t.mul(A,p),S=t.mul(k,S),S=t.add(S,u),new b(v,L,S)}subtract(d){return this.add(d.negate())}is0(){return this.equals(b.ZERO)}wNAF(d){return N$1.wNAFCached(this,d,b.normalizeZ)}multiplyUnsafe(d){let{endo:m,n:g}=n;I("scalar",d,Q,g);let B=b.ZERO;if(d===Q)return B;if(this.is0()||d===U)return this;if(!m||N$1.hasPrecomputes(this))return N$1.wNAFCachedUnsafe(this,d,b.normalizeZ);let{k1neg:H,k1:R,k2neg:T,k2:v}=m.splitScalar(d),L=B,S=B,M=this;for(;R>Q||v>Q;)R&U&&(L=L.add(M)),v&U&&(S=S.add(M)),M=M.double(),R>>=U,v>>=U;return H&&(L=L.negate()),T&&(S=S.negate()),S=new b(t.mul(S.px,m.beta),S.py,S.pz),L.add(S)}multiply(d){let{endo:m,n:g}=n;I("scalar",d,U,g);let B,H;if(m){let{k1neg:R,k1:T,k2neg:v,k2:L}=m.splitScalar(d),{p:S,f:M}=this.wNAF(T),{p:x,f:u}=this.wNAF(L);S=N$1.constTimeNegate(R,S),x=N$1.constTimeNegate(v,x),x=new b(t.mul(x.px,m.beta),x.py,x.pz),B=S.add(x),H=M.add(u);}else {let{p:R,f:T}=this.wNAF(d);B=R,H=T;}return b.normalizeZ([B,H])[0]}multiplyAndAddUnsafe(d,m,g){let B=b.BASE,H=(T,v)=>v===Q||v===U||!T.equals(B)?T.multiplyUnsafe(v):T.multiply(v),R=H(this,m).add(H(d,g));return R.is0()?void 0:R}toAffine(d){return y$1(this,d)}isTorsionFree(){let{h:d,isTorsionFree:m}=n;if(d===U)return true;if(m)return m(b,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:m}=n;return d===U?this:m?m(b,this):this.multiplyUnsafe(n.h)}toRawBytes(d=true){return w("isCompressed",d),this.assertValidity(),i(b,this,d)}toHex(d=true){return w("isCompressed",d),y(this.toRawBytes(d))}}b.BASE=new b(n.Gx,n.Gy,t.ONE),b.ZERO=new b(t.ZERO,t.ONE,t.ZERO);let{endo:C,nBitLength:_}=n,N$1=Me(b,C?Math.ceil(_/2):_);return {CURVE:n,ProjectivePoint:b,normPrivateKeyToScalar:h,weierstrassEquation:c,isWithinCurveOrder:l}}function bn(e){let n=fe(e);return M(n,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:true,...n})}function Pe(e){let n=bn(e),{Fp:t,n:r,nByteLength:i,nBitLength:s}=n,c=t.BYTES+1,a=2*t.BYTES+1;function o(x){return Z(x,r)}function f(x){return Dt(x,r)}let{ProjectivePoint:l,normPrivateKeyToScalar:h,weierstrassEquation:E$1,isWithinCurveOrder:y}=xn({...n,toBytes(x,u,p){let q=u.toAffine(),A=t.toBytes(q.x),O=F;return w("isCompressed",p),p?O(Uint8Array.from([u.hasEvenY()?2:3]),A):O(Uint8Array.from([4]),A,t.toBytes(q.y))},fromBytes(x){let u=x.length,p=x[0],q=x.subarray(1);if(u===c&&(p===2||p===3)){let A$1=A(q);if(!H(A$1,U,t.ORDER))throw new Error("Point is not on curve");let O=E$1(A$1),k;try{k=t.sqrt(O);}catch(W){let G=W instanceof Error?": "+W.message:"";throw new Error("Point is not on curve"+G)}let z=(k&U)===U;return (p&1)===1!==z&&(k=t.neg(k)),{x:A$1,y:k}}else if(u===a&&p===4){let A=t.fromBytes(q.subarray(0,t.BYTES)),O=t.fromBytes(q.subarray(t.BYTES,2*t.BYTES));return {x:A,y:O}}else {let A=c,O=a;throw new Error("invalid Point, expected length of "+A+", or uncompressed "+O+", got "+u)}}});function I$1(x){let u=r>>U;return x>u}function b(x){return I$1(x)?o(-x):x}let C$1=(x,u,p)=>A(x.slice(u,p));class _{constructor(u,p,q){I("r",u,U,r),I("s",p,U,r),this.r=u,this.s=p,q!=null&&(this.recovery=q),Object.freeze(this);}static fromCompact(u){let p=i;return u=E("compactSignature",u,p*2),new _(C$1(u,0,p),C$1(u,p,2*p))}static fromDER(u){let{r:p,s:q}=nt.toSig(E("DER",u));return new _(p,q)}assertValidity(){}addRecoveryBit(u){return new _(this.r,this.s,u)}recoverPublicKey(u){let{r:p,s:q,recovery:A}=this,O=B(E("msgHash",u));if(A==null||![0,1,2,3].includes(A))throw new Error("recovery id invalid");let k=A===2||A===3?p+n.n:p;if(k>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let z=(A&1)===0?"02":"03",J=l.fromHex(z+de(k,t.BYTES)),W=f(k),G=o(-O*W),ht=o(q*W),rt=l.BASE.multiplyAndAddUnsafe(J,G,ht);if(!rt)throw new Error("point at infinify");return rt.assertValidity(),rt}hasHighS(){return I$1(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return z(this.toDERHex())}toDERHex(){return nt.hexFromSig(this)}toCompactRawBytes(){return z(this.toCompactHex())}toCompactHex(){let u=i;return de(this.r,u)+de(this.s,u)}}let N={isValidPrivateKey(x){try{return h(x),!0}catch{return false}},normPrivateKeyToScalar:h,randomPrivateKey:()=>{let x=re(n.n);return Ce(n.randomBytes(x),n.n)},precompute(x=8,u=l.BASE){return u._setWindowSize(x),u.multiply(BigInt(3)),u}};function w$1(x,u=true){return l.fromPrivateKey(x).toRawBytes(u)}function d(x){if(typeof x=="bigint")return false;if(x instanceof l)return true;let p=E("key",x).length,q=t.BYTES,A=q+1,O=2*q+1;if(!(n.allowedPrivateKeyLengths||i===A))return p===A||p===O}function m(x,u,p=true){if(d(x)===true)throw new Error("first arg must be private key");if(d(u)===false)throw new Error("second arg must be public key");return l.fromHex(u).multiply(h(x)).toRawBytes(p)}let g=n.bits2int||function(x){if(x.length>8192)throw new Error("input is too large");let u=A(x),p=x.length*8-s;return p>0?u>>BigInt(p):u},B=n.bits2int_modN||function(x){return o(g(x))},H$1=K(s);function R(x){return I("num < 2^"+s,x,Q,H$1),C(x,i)}function T(x,u,p=v){if(["recovered","canonical"].some(at=>at in p))throw new Error("sign() legacy options not supported");let{hash:q,randomBytes:A}=n,{lowS:O,prehash:k,extraEntropy:z}=p;O==null&&(O=true),x=E("msgHash",x),ze(p),k&&(x=E("prehashed msgHash",q(x)));let J=B(x),W=h(u),G=[R(W),R(J)];if(z!=null&&z!==false){let at=z===true?A(t.BYTES):z;G.push(E("extraEntropy",at));}let ht=F(...G),rt=J;function Yt(at){let xt=g(at);if(!y(xt))return;let Wt=f(xt),Bt=l.BASE.multiply(xt).toAffine(),ft=o(Bt.x);if(ft===Q)return;let vt=o(Wt*o(rt+ft*W));if(vt===Q)return;let bt=(Bt.x===ft?0:2)|Number(Bt.y&U),pe=vt;return O&&I$1(vt)&&(pe=b(vt),bt^=1),new _(ft,pe,bt)}return {seed:ht,k2sig:Yt}}let v={lowS:n.lowS,prehash:false},L$1={lowS:n.lowS,prehash:false};function S(x,u,p=v){let{seed:q,k2sig:A}=T(x,u,p),O=n;return L(O.hash.outputLen,O.nByteLength,O.hmac)(q,A)}l.BASE._setWindowSize(8);function M(x,u$1,p,q=L$1){let A=x;u$1=E("msgHash",u$1),p=E("publicKey",p);let{lowS:O,prehash:k,format:z}=q;if(ze(q),"strict"in q)throw new Error("options.strict was renamed to lowS");if(z!==void 0&&z!=="compact"&&z!=="der")throw new Error("format must be compact or der");let J=typeof A=="string"||u(A),W=!J&&!z&&typeof A=="object"&&A!==null&&typeof A.r=="bigint"&&typeof A.s=="bigint";if(!J&&!W)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let G,ht;try{if(W&&(G=new _(A.r,A.s)),J){try{z!=="compact"&&(G=_.fromDER(A));}catch(bt){if(!(bt instanceof nt.Err))throw bt}!G&&z!=="der"&&(G=_.fromCompact(A));}ht=l.fromHex(p);}catch{return false}if(!G||O&&G.hasHighS())return false;k&&(u$1=n.hash(u$1));let{r:rt,s:Yt}=G,at=B(u$1),xt=f(Yt),Wt=o(at*xt),Bt=o(rt*xt),ft=l.BASE.multiplyAndAddUnsafe(ht,Wt,Bt)?.toAffine();return ft?o(ft.x)===rt:false}return {CURVE:n,getPublicKey:w$1,getSharedSecret:m,sign:S,verify:M,ProjectivePoint:l,Signature:_,utils:N}}function mn(e,n){let t=e.ORDER,r=Q;for(let I=t-U;I%st===Q;I/=st)r+=U;let i=r,s=st<<i-U-U,c=s*st,a=(t-U)/c,o=(a-U)/st,f=c-U,l=s,h=e.pow(n,a),E=e.pow(n,(a+U)/st),y=(I,b)=>{let C=h,_=e.pow(b,f),N=e.sqr(_);N=e.mul(N,b);let w=e.mul(I,N);w=e.pow(w,o),w=e.mul(w,_),_=e.mul(w,b),N=e.mul(w,I);let d=e.mul(N,_);w=e.pow(d,l);let m=e.eql(w,e.ONE);_=e.mul(N,E),w=e.mul(d,C),N=e.cmov(_,N,m),d=e.cmov(w,d,m);for(let g=i;g>U;g--){let B=g-st;B=st<<B-U;let H=e.pow(d,B),R=e.eql(H,e.ONE);_=e.mul(N,C),C=e.mul(C,C),H=e.mul(d,C),N=e.cmov(_,N,R),d=e.cmov(H,d,R);}return {isValid:m,value:N}};if(e.ORDER%ue===_t){let I=(e.ORDER-_t)/ue,b=e.sqrt(e.neg(n));y=(C,_)=>{let N=e.sqr(_),w=e.mul(C,_);N=e.mul(N,w);let d=e.pow(N,I);d=e.mul(d,w);let m=e.mul(d,b),g=e.mul(e.sqr(d),_),B=e.eql(g,C),H=e.cmov(m,d,B);return {isValid:B,value:H}};}return y}function Ge(e,n){if(zt(e),!e.isValid(n.A)||!e.isValid(n.B)||!e.isValid(n.Z))throw new Error("mapToCurveSimpleSWU: invalid opts");let t=mn(e,n.Z);if(!e.isOdd)throw new Error("Fp.isOdd is not implemented!");return r=>{let i,s,c,a,o,f,l,h;i=e.sqr(r),i=e.mul(i,n.Z),s=e.sqr(i),s=e.add(s,i),c=e.add(s,e.ONE),c=e.mul(c,n.B),a=e.cmov(n.Z,e.neg(s),!e.eql(s,e.ZERO)),a=e.mul(a,n.A),s=e.sqr(c),f=e.sqr(a),o=e.mul(f,n.A),s=e.add(s,o),s=e.mul(s,c),f=e.mul(f,a),o=e.mul(f,n.B),s=e.add(s,o),l=e.mul(i,c);let{isValid:E,value:y}=t(s,f);h=e.mul(i,r),h=e.mul(h,y),l=e.cmov(l,c,E),h=e.cmov(h,y,E);let I=e.isOdd(r)===e.isOdd(h);h=e.cmov(e.neg(h),h,I);let b=yt(e,[a],true)[0];return l=e.mul(l,b),{x:l,y:h}}}function wn(e){return {hash:e,hmac:(n,...t)=>ee(e,n,q(...t)),randomBytes:t}}function je(e,n){let t=r=>Pe({...e,...wn(r)});return {...t(n),create:t}}var gn=A;function it(e,n){if(Ht(e),Ht(n),e<0||e>=1<<8*n)throw new Error("invalid I2OSP input: "+e);let t=Array.from({length:n}).fill(0);for(let r=n-1;r>=0;r--)t[r]=e&255,e>>>=8;return new Uint8Array(t)}function pn(e,n){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e[r]^n[r];return t}function Ht(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function yn(e,n,t,r){v(e),v(n),Ht(t),n.length>255&&(n=r(F(G("H2C-OVERSIZE-DST-"),n)));let{outputLen:i,blockLen:s}=r,c=Math.ceil(t/i);if(t>65535||c>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=F(n,it(n.length,1)),o=it(0,s),f=it(t,2),l=new Array(c),h=r(F(o,e,f,it(0,1),a));l[0]=r(F(h,it(1,1),a));for(let y=1;y<=c;y++){let I=[pn(h,l[y-1]),it(y+1,1),a];l[y]=r(F(...I));}return F(...l).slice(0,t)}function En(e,n,t,r,i){if(v(e),v(n),Ht(t),n.length>255){let s=Math.ceil(2*r/8);n=i.create({dkLen:s}).update(G("H2C-OVERSIZE-DST-")).update(n).digest();}if(t>65535||n.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return i.create({dkLen:t}).update(e).update(it(t,2)).update(n).update(it(n.length,1)).digest()}function Ke(e,n,t){M(t,{DST:"stringOrUint8Array",p:"bigint",m:"isSafeInteger",k:"isSafeInteger",hash:"hash"});let{p:r,k:i,m:s,hash:c,expand:a,DST:o}=t;v(e),Ht(n);let f=typeof o=="string"?G(o):o,l=r.toString(2).length,h=Math.ceil((l+i)/8),E=n*s*h,y;if(a==="xmd")y=yn(e,f,E,c);else if(a==="xof")y=En(e,f,E,i,c);else if(a==="_internal_pass")y=e;else throw new Error('expand must be "xmd" or "xof"');let I=new Array(n);for(let b=0;b<n;b++){let C=new Array(s);for(let _=0;_<s;_++){let N=h*(_+b*s),w=y.subarray(N,N+h);C[_]=Z(gn(w),r);}I[b]=C;}return I}function Ye(e,n){let t=n.map(r=>Array.from(r).reverse());return (r,i)=>{let[s,c,a,o]=t.map(h=>h.reduce((E,y)=>e.add(e.mul(E,r),y))),[f,l]=yt(e,[c,o],true);return r=e.mul(s,f),i=e.mul(i,e.mul(a,l)),{x:r,y:i}}}function We(e,n,t){if(typeof n!="function")throw new Error("mapToCurve() must be defined");function r(s){return e.fromAffine(n(s))}function i(s){let c=s.clearCofactor();return c.equals(e.ZERO)?e.ZERO:(c.assertValidity(),c)}return {defaults:t,hashToCurve(s,c){let a=Ke(s,2,{...t,DST:t.DST,...c}),o=r(a[0]),f=r(a[1]);return i(o.add(f))},encodeToCurve(s,c){let a=Ke(s,1,{...t,DST:t.encodeDST,...c});return i(r(a[0]))},mapToCurve(s){if(!Array.isArray(s))throw new Error("expected array of bigints");for(let c of s)if(typeof c!="bigint")throw new Error("expected array of bigints");return i(r(s))}}}var Lt=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Pt=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),me=BigInt(0),Ot=BigInt(1),Gt=BigInt(2),Xe=(e,n)=>(e+n/Gt)/n;function Je(e){let n=Lt,t=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),c=BigInt(23),a=BigInt(44),o=BigInt(88),f=e*e*e%n,l=f*f*e%n,h=Y(l,t,n)*l%n,E=Y(h,t,n)*l%n,y=Y(E,Gt,n)*f%n,I=Y(y,i,n)*y%n,b=Y(I,s,n)*I%n,C=Y(b,a,n)*b%n,_=Y(C,o,n)*C%n,N=Y(_,a,n)*b%n,w=Y(N,t,n)*l%n,d=Y(w,c,n)*I%n,m=Y(d,r,n)*f%n,g=Y(m,Gt,n);if(!ct.eql(ct.sqr(g),e))throw new Error("Cannot find square root");return g}var ct=It(Lt,void 0,void 0,{sqrt:Je}),Kt=je({a:me,b:BigInt(7),Fp:ct,n:Pt,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:true,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let n=Pt,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-Ot*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=t,c=BigInt("0x100000000000000000000000000000000"),a=Xe(s*e,n),o=Xe(-r*e,n),f=Z(e-a*t-o*i,n),l=Z(-a*r-o*s,n),h=f>c,E=l>c;if(h&&(f=n-f),E&&(l=n-l),f>c||l>c)throw new Error("splitScalar: Endomorphism failed, k="+e);return {k1neg:h,k1:f,k2neg:E,k2:l}}}},At),Qe={};function jt(e,...n){let t=Qe[e];if(t===void 0){let r=At(Uint8Array.from(e,i=>i.charCodeAt(0)));t=F(r,r),Qe[e]=t;}return At(F(t,...n))}var we=e=>e.toRawBytes(true).slice(1),xe=e=>C(e,32),he=e=>Z(e,Lt),qt=e=>Z(e,Pt),ge=Kt.ProjectivePoint,Bn=(e,n,t)=>ge.BASE.multiplyAndAddUnsafe(e,n,t);function be(e){let n=Kt.utils.normPrivateKeyToScalar(e),t=ge.fromPrivateKey(n);return {scalar:t.hasEvenY()?n:qt(-n),bytes:we(t)}}function $e(e){I("x",e,Ot,Lt);let n=he(e*e),t=he(n*e+BigInt(7)),r=Je(t);r%Gt!==me&&(r=he(-r));let i=new ge(e,r,Ot);return i.assertValidity(),i}var Et=A;function Fe(...e){return qt(Et(jt("BIP0340/challenge",...e)))}function vn(e){return be(e).bytes}function Sn(e,n,t$1=t(32)){let r=E("message",e),{bytes:i,scalar:s}=be(n),c=E("auxRand",t$1,32),a=xe(s^Et(jt("BIP0340/aux",c))),o=jt("BIP0340/nonce",a,i,r),f=qt(Et(o));if(f===me)throw new Error("sign failed: k is zero");let{bytes:l,scalar:h}=be(f),E$1=Fe(l,i,r),y=new Uint8Array(64);if(y.set(l,0),y.set(xe(qt(h+E$1*s)),32),!tn(y,r,i))throw new Error("sign: Invalid signature produced");return y}function tn(e,n,t){let r=E("signature",e,64),i=E("message",n),s=E("publicKey",t,32);try{let c=$e(Et(s)),a=Et(r.subarray(0,32));if(!H(a,Ot,Lt))return !1;let o=Et(r.subarray(32,64));if(!H(o,Ot,Pt))return !1;let f=Fe(xe(a),we(c),i),l=Bn(c,o,qt(-f));return !(!l||!l.hasEvenY()||l.toAffine().x!==a)}catch{return false}}var cr={getPublicKey:vn,sign:Sn,verify:tn,utils:{randomPrivateKey:Kt.utils.randomPrivateKey,lift_x:$e,pointToBytes:we,numberToBytesBE:C,bytesToNumberBE:A,taggedHash:jt,mod:Z}},An=Ye(ct,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(n=>BigInt(n)))),In=Ge(ct,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:ct.create(BigInt("-11"))}),en=We(Kt.ProjectivePoint,e=>{let{x:n,y:t}=In(ct.create(e[0]));return An(n,t)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:ct.ORDER,m:1,k:128,expand:"xmd",hash:At}),ar=en.hashToCurve,fr=en.encodeToCurve;/*! Bundled license information:
|
|
2
|
-
|
|
3
|
-
@noble/curves/esm/abstract/modular.js:
|
|
4
|
-
@noble/curves/esm/abstract/curve.js:
|
|
5
|
-
@noble/curves/esm/abstract/weierstrass.js:
|
|
6
|
-
@noble/curves/esm/_shortw_utils.js:
|
|
7
|
-
@noble/curves/esm/secp256k1.js:
|
|
8
|
-
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
9
|
-
*/export{fr as encodeToCurve,ar as hashToCurve,cr as schnorr,Kt as secp256k1,en as secp256k1_hasher};//# sourceMappingURL=secp256k1-P3GTARIT.mjs.map
|
|
10
|
-
//# sourceMappingURL=secp256k1-P3GTARIT.mjs.map
|