@lombard.finance/sdk-solana 2.0.0 → 2.0.1-canary.6
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/index2.cjs
CHANGED
|
@@ -114,13 +114,13 @@ we accept pull requests
|
|
|
114
114
|
https://github.com/browserify/crypto-browserify`)},cryptoBrowserify.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6},cryptoBrowserify}var hasRequiredSha256$3;function requireSha256$3(){return hasRequiredSha256$3||(hasRequiredSha256$3=1,(function(e){(function(){var t="input is invalid type",a=typeof window=="object",s=a?window:{};s.JS_SHA256_NO_WINDOW&&(a=!1);var u=!a&&typeof self=="object",l=!s.JS_SHA256_NO_NODE_JS&&typeof process$1=="object"&&process$1.versions&&process$1.versions.node&&process$1.type!="renderer";l?s=commonjsGlobal$2:u&&(s=self);var p=!s.JS_SHA256_NO_COMMON_JS&&!0&&e.exports,m=!s.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",g="0123456789abcdef".split(""),b=[-2147483648,8388608,32768,128],v=[24,16,8,0],E=[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],M=["hex","array","digest","arrayBuffer"],k=[];(s.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(j){return Object.prototype.toString.call(j)==="[object Array]"}),m&&(s.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(j){return typeof j=="object"&&j.buffer&&j.buffer.constructor===ArrayBuffer});var P=function(j,K){return function(V){return new z(K,!0).update(V)[j]()}},x=function(j){var K=P("hex",j);l&&(K=A(K,j)),K.create=function(){return new z(j)},K.update=function(q){return K.create().update(q)};for(var V=0;V<M.length;++V){var F=M[V];K[F]=P(F,j)}return K},A=function(j,K){var V=requireCryptoBrowserify(),F=requireDist$7().Buffer,q=K?"sha224":"sha256",R;F.from&&!s.JS_SHA256_NO_BUFFER_FROM?R=F.from:R=function(S){return new F(S)};var y=function(S){if(typeof S=="string")return V.createHash(q).update(S,"utf8").digest("hex");if(S==null)throw new Error(t);return S.constructor===ArrayBuffer&&(S=new Uint8Array(S)),Array.isArray(S)||ArrayBuffer.isView(S)||S.constructor===F?V.createHash(q).update(R(S)).digest("hex"):j(S)};return y},O=function(j,K){return function(V,F){return new C(V,K,!0).update(F)[j]()}},D=function(j){var K=O("hex",j);K.create=function(q){return new C(q,j)},K.update=function(q,R){return K.create(q).update(R)};for(var V=0;V<M.length;++V){var F=M[V];K[F]=O(F,j)}return K};function z(j,K){K?(k[0]=k[16]=k[1]=k[2]=k[3]=k[4]=k[5]=k[6]=k[7]=k[8]=k[9]=k[10]=k[11]=k[12]=k[13]=k[14]=k[15]=0,this.blocks=k):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],j?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=j}z.prototype.update=function(j){if(!this.finalized){var K,V=typeof j;if(V!=="string"){if(V==="object"){if(j===null)throw new Error(t);if(m&&j.constructor===ArrayBuffer)j=new Uint8Array(j);else if(!Array.isArray(j)&&(!m||!ArrayBuffer.isView(j)))throw new Error(t)}else throw new Error(t);K=!0}for(var F,q=0,R,y=j.length,S=this.blocks;q<y;){if(this.hashed&&(this.hashed=!1,S[0]=this.block,this.block=S[16]=S[1]=S[2]=S[3]=S[4]=S[5]=S[6]=S[7]=S[8]=S[9]=S[10]=S[11]=S[12]=S[13]=S[14]=S[15]=0),K)for(R=this.start;q<y&&R<64;++q)S[R>>>2]|=j[q]<<v[R++&3];else for(R=this.start;q<y&&R<64;++q)F=j.charCodeAt(q),F<128?S[R>>>2]|=F<<v[R++&3]:F<2048?(S[R>>>2]|=(192|F>>>6)<<v[R++&3],S[R>>>2]|=(128|F&63)<<v[R++&3]):F<55296||F>=57344?(S[R>>>2]|=(224|F>>>12)<<v[R++&3],S[R>>>2]|=(128|F>>>6&63)<<v[R++&3],S[R>>>2]|=(128|F&63)<<v[R++&3]):(F=65536+((F&1023)<<10|j.charCodeAt(++q)&1023),S[R>>>2]|=(240|F>>>18)<<v[R++&3],S[R>>>2]|=(128|F>>>12&63)<<v[R++&3],S[R>>>2]|=(128|F>>>6&63)<<v[R++&3],S[R>>>2]|=(128|F&63)<<v[R++&3]);this.lastByteIndex=R,this.bytes+=R-this.start,R>=64?(this.block=S[16],this.start=R-64,this.hash(),this.hashed=!0):this.start=R}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},z.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var j=this.blocks,K=this.lastByteIndex;j[16]=this.block,j[K>>>2]|=b[K&3],this.block=j[16],K>=56&&(this.hashed||this.hash(),j[0]=this.block,j[16]=j[1]=j[2]=j[3]=j[4]=j[5]=j[6]=j[7]=j[8]=j[9]=j[10]=j[11]=j[12]=j[13]=j[14]=j[15]=0),j[14]=this.hBytes<<3|this.bytes>>>29,j[15]=this.bytes<<3,this.hash()}},z.prototype.hash=function(){var j=this.h0,K=this.h1,V=this.h2,F=this.h3,q=this.h4,R=this.h5,y=this.h6,S=this.h7,w=this.blocks,T,U,N,$,I,_,H,Z,W,G,J;for(T=16;T<64;++T)I=w[T-15],U=(I>>>7|I<<25)^(I>>>18|I<<14)^I>>>3,I=w[T-2],N=(I>>>17|I<<15)^(I>>>19|I<<13)^I>>>10,w[T]=w[T-16]+U+w[T-7]+N<<0;for(J=K&V,T=0;T<64;T+=4)this.first?(this.is224?(Z=300032,I=w[0]-1413257819,S=I-150054599<<0,F=I+24177077<<0):(Z=704751109,I=w[0]-210244248,S=I-1521486534<<0,F=I+143694565<<0),this.first=!1):(U=(j>>>2|j<<30)^(j>>>13|j<<19)^(j>>>22|j<<10),N=(q>>>6|q<<26)^(q>>>11|q<<21)^(q>>>25|q<<7),Z=j&K,$=Z^j&V^J,H=q&R^~q&y,I=S+N+H+E[T]+w[T],_=U+$,S=F+I<<0,F=I+_<<0),U=(F>>>2|F<<30)^(F>>>13|F<<19)^(F>>>22|F<<10),N=(S>>>6|S<<26)^(S>>>11|S<<21)^(S>>>25|S<<7),W=F&j,$=W^F&K^Z,H=S&q^~S&R,I=y+N+H+E[T+1]+w[T+1],_=U+$,y=V+I<<0,V=I+_<<0,U=(V>>>2|V<<30)^(V>>>13|V<<19)^(V>>>22|V<<10),N=(y>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7),G=V&F,$=G^V&j^W,H=y&S^~y&q,I=R+N+H+E[T+2]+w[T+2],_=U+$,R=K+I<<0,K=I+_<<0,U=(K>>>2|K<<30)^(K>>>13|K<<19)^(K>>>22|K<<10),N=(R>>>6|R<<26)^(R>>>11|R<<21)^(R>>>25|R<<7),J=K&V,$=J^K&F^G,H=R&y^~R&S,I=q+N+H+E[T+3]+w[T+3],_=U+$,q=j+I<<0,j=I+_<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+j<<0,this.h1=this.h1+K<<0,this.h2=this.h2+V<<0,this.h3=this.h3+F<<0,this.h4=this.h4+q<<0,this.h5=this.h5+R<<0,this.h6=this.h6+y<<0,this.h7=this.h7+S<<0},z.prototype.hex=function(){this.finalize();var j=this.h0,K=this.h1,V=this.h2,F=this.h3,q=this.h4,R=this.h5,y=this.h6,S=this.h7,w=g[j>>>28&15]+g[j>>>24&15]+g[j>>>20&15]+g[j>>>16&15]+g[j>>>12&15]+g[j>>>8&15]+g[j>>>4&15]+g[j&15]+g[K>>>28&15]+g[K>>>24&15]+g[K>>>20&15]+g[K>>>16&15]+g[K>>>12&15]+g[K>>>8&15]+g[K>>>4&15]+g[K&15]+g[V>>>28&15]+g[V>>>24&15]+g[V>>>20&15]+g[V>>>16&15]+g[V>>>12&15]+g[V>>>8&15]+g[V>>>4&15]+g[V&15]+g[F>>>28&15]+g[F>>>24&15]+g[F>>>20&15]+g[F>>>16&15]+g[F>>>12&15]+g[F>>>8&15]+g[F>>>4&15]+g[F&15]+g[q>>>28&15]+g[q>>>24&15]+g[q>>>20&15]+g[q>>>16&15]+g[q>>>12&15]+g[q>>>8&15]+g[q>>>4&15]+g[q&15]+g[R>>>28&15]+g[R>>>24&15]+g[R>>>20&15]+g[R>>>16&15]+g[R>>>12&15]+g[R>>>8&15]+g[R>>>4&15]+g[R&15]+g[y>>>28&15]+g[y>>>24&15]+g[y>>>20&15]+g[y>>>16&15]+g[y>>>12&15]+g[y>>>8&15]+g[y>>>4&15]+g[y&15];return this.is224||(w+=g[S>>>28&15]+g[S>>>24&15]+g[S>>>20&15]+g[S>>>16&15]+g[S>>>12&15]+g[S>>>8&15]+g[S>>>4&15]+g[S&15]),w},z.prototype.toString=z.prototype.hex,z.prototype.digest=function(){this.finalize();var j=this.h0,K=this.h1,V=this.h2,F=this.h3,q=this.h4,R=this.h5,y=this.h6,S=this.h7,w=[j>>>24&255,j>>>16&255,j>>>8&255,j&255,K>>>24&255,K>>>16&255,K>>>8&255,K&255,V>>>24&255,V>>>16&255,V>>>8&255,V&255,F>>>24&255,F>>>16&255,F>>>8&255,F&255,q>>>24&255,q>>>16&255,q>>>8&255,q&255,R>>>24&255,R>>>16&255,R>>>8&255,R&255,y>>>24&255,y>>>16&255,y>>>8&255,y&255];return this.is224||w.push(S>>>24&255,S>>>16&255,S>>>8&255,S&255),w},z.prototype.array=z.prototype.digest,z.prototype.arrayBuffer=function(){this.finalize();var j=new ArrayBuffer(this.is224?28:32),K=new DataView(j);return K.setUint32(0,this.h0),K.setUint32(4,this.h1),K.setUint32(8,this.h2),K.setUint32(12,this.h3),K.setUint32(16,this.h4),K.setUint32(20,this.h5),K.setUint32(24,this.h6),this.is224||K.setUint32(28,this.h7),j};function C(j,K,V){var F,q=typeof j;if(q==="string"){var R=[],y=j.length,S=0,w;for(F=0;F<y;++F)w=j.charCodeAt(F),w<128?R[S++]=w:w<2048?(R[S++]=192|w>>>6,R[S++]=128|w&63):w<55296||w>=57344?(R[S++]=224|w>>>12,R[S++]=128|w>>>6&63,R[S++]=128|w&63):(w=65536+((w&1023)<<10|j.charCodeAt(++F)&1023),R[S++]=240|w>>>18,R[S++]=128|w>>>12&63,R[S++]=128|w>>>6&63,R[S++]=128|w&63);j=R}else if(q==="object"){if(j===null)throw new Error(t);if(m&&j.constructor===ArrayBuffer)j=new Uint8Array(j);else if(!Array.isArray(j)&&(!m||!ArrayBuffer.isView(j)))throw new Error(t)}else throw new Error(t);j.length>64&&(j=new z(K,!0).update(j).array());var T=[],U=[];for(F=0;F<64;++F){var N=j[F]||0;T[F]=92^N,U[F]=54^N}z.call(this,K,V),this.update(U),this.oKeyPad=T,this.inner=!0,this.sharedMemory=V}C.prototype=new z,C.prototype.finalize=function(){if(z.prototype.finalize.call(this),this.inner){this.inner=!1;var j=this.array();z.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(j),z.prototype.finalize.call(this)}};var L=x();L.sha256=L,L.sha224=x(!0),L.sha256.hmac=D(),L.sha224.hmac=D(!0),p?e.exports=L:(s.sha256=L.sha256,s.sha224=L.sha224)})()})(sha256$7)),sha256$7.exports}var sha256Exports=requireSha256$3();const parseSignaturesFromProof=e=>{if(!e)return{signatures:[],indices:[]};const t=e.startsWith("0x")?e.slice(2):e;if(t.length<128)return{signatures:[],indices:[]};const a=[],s=[];try{const u=Number.parseInt(t.slice(0,64),16);(Number.isNaN(u)||u!==32)&&console.warn(`Unexpected ABI header offset: ${u}`);const l=64,p=t.slice(l,l+64),m=Number.parseInt(p,16);if(Number.isNaN(m)||m<0)return{signatures:[],indices:[]};if(m===0)return{signatures:[],indices:[]};const g=64;if((g+m*32)*2>t.length)return{signatures:[],indices:[]};for(let v=0;v<m;v++){const E=g*2+v*64,M=t.slice(E,E+64),k=Number.parseInt(M,16);if(Number.isNaN(k))return{signatures:[],indices:[]};const P=g+k,x=P*2,A=x+64,D=(P+32)*2,z=D+128;if(A>t.length)return{signatures:[],indices:[]};const C=t.slice(x,A),L=Number.parseInt(C,16);if(Number.isNaN(L)||L!==64){console.warn(`Signature element ${v} length is ${L}, expected 64. Skipping.`);continue}if(z>t.length)return{signatures:[],indices:[]};const j=t.slice(D,z),K=Buffer$1.from(j,"hex");K.length!==64||K.every(F=>F===0)||(a.push(new Uint8Array(K)),s.push(new BN$1(v)))}return{signatures:a,indices:s}}catch(u){const l=u instanceof Error?u.message:String(u);return console.error("Error parsing signature proof:",l),{signatures:[],indices:[]}}},CONSORTIUM_SESSION_SEED=Buffer.from("session"),CONSORTIUM_CONFIG_SEED=Buffer.from("consortium_config"),DEPOSIT_SELECTOR_V1=Buffer.from([206,37,231,194]),GMP_MESSAGE_V1_SELECTOR=Buffer.from([226,136,251,74]);function getConsortiumConfigPDA(e){return PublicKey$1.findProgramAddressSync([CONSORTIUM_CONFIG_SEED],e)[0]}function getConsortiumSessionPDA(e,t,a,s){return PublicKey$1.findProgramAddressSync([CONSORTIUM_SESSION_SEED,s.toBuffer("be",8),t.toBytes(),a],e)[0]}async function fetchCurrentEpoch(e,t){return(await e.account.config.fetch(t)).currentEpoch}async function fetchAssetRouterConfig(e,t){const s=await e.account.config.fetch(t);return{paused:s.paused,nativeMint:s.nativeMint,basculeProgramId:s.bascule??null,basculeGmpProgramId:s.basculeGmp??null,ledgerChainId:new Uint8Array(s.ledgerLchainId)}}async function executeConsortiumSession(e){const{provider:t,connection:a,consortiumProgram:s,consortiumConfigPDA:u,sessionPDA:l,validatedPayloadPDA:p,payloadHashArray:m,params:g,debugLog:b}=e,v=await a.getAccountInfo(p),E=await a.getAccountInfo(l);if(b("Session PDA:",l.toBase58(),"exists:",!!E),b("ValidatedPayload PDA:",p.toBase58(),"exists:",!!v),v){b("ValidatedPayload exists — skipping all consortium steps");return}if(E)b("Session already exists, skipping create_session");else{b("Step 1: create_session...");const x=await s.methods.createSession(m).accounts({payer:t.publicKey,config:u,session:l,systemProgram:SystemProgram.programId}).transaction();await sendAndConfirmTransaction({instruction:x,connection:a,provider:t,debugLabel:"Consortium create_session",skipPreflight:g.skipPreflight??!0}),b("create_session completed")}let M=!1;const k=E||await a.getAccountInfo(l);if(k)try{const x=k.data;if(x.length<20)throw new Error(`session account too short: ${x.length}`);const A=x.readUInt32LE(8),O=12+A;if(x.length<O+8)throw new Error(`session data truncated: need ${O+8}, got ${x.length}`);const D=x.readBigUInt64LE(O);let z=0;for(let C=0;C<A;C++)x[12+C]!==0&&(z+=1);M=D>0n,b("Session weight:",D.toString(),"signed count:",z,"of",A)}catch(x){b("Failed to parse session for signature check:",x instanceof Error?x.message:String(x))}if(M)b("Signatures already posted (weight > 0), skipping step 2");else{b("Step 2: post_session_signatures...");const{signatures:x,indices:A}=parseSignaturesFromProof(g.proofSignature);if(x.length===0||A.length===0)throw new Error("No valid signatures found in the proof");const O=x.map(z=>Array.from(z)),D=await s.methods.postSessionSignatures(m,O,A).accounts({payer:t.publicKey,config:u,session:l}).transaction();await sendAndConfirmTransaction({instruction:D,connection:a,provider:t,debugLabel:"Consortium post_session_signatures",skipPreflight:g.skipPreflight??!0}),b("post_session_signatures completed")}b("Step 3: finalize_session...");const P=await s.methods.finalizeSession(m).accounts({payer:t.publicKey,config:u,session:l,validatedPayload:p,systemProgram:SystemProgram.programId}).transaction();await sendAndConfirmTransaction({instruction:P,connection:a,provider:t,debugLabel:"Consortium finalize_session",skipPreflight:g.skipPreflight??!0}),b("finalize_session completed — ValidatedPayload created")}function computePayloadHash(e){return Buffer.from(sha256Exports.sha256(e),"hex")}async function assertBtcbDepositRecipientMatchesWallet({payloadBytes:e,mint:t,tokenProgramId:a,recipientWallet:s}){const u=new PublicKey$1(e.subarray(36,68)),l=await getAssociatedTokenAddress(t,new PublicKey$1(s),!0,a,ASSOCIATED_TOKEN_PROGRAM_ID);if(!l.equals(u))throw new Error(`Recipient mismatch: payload expects token account ${u.toBase58()} but ATA for wallet ${s} is ${l.toBase58()}.`);return u}function computeDepositIdFromPayload(e){const t=Buffer.alloc(32,0),a=Buffer.from([3,83,79,76]),s=Buffer.concat([t,a,e.subarray(36,68),e.subarray(68,76),e.subarray(76,108),e.subarray(108,112)]),u=sha3Exports.keccak256(new Uint8Array(s));return new Uint8Array(Buffer.from(u,"hex"))}async function claimBtcbFromPayload(e){const{provider:t,connection:a,params:s,payloadBytes:u,payloadHash:l,payloadHashArray:p,assetRouterProgram:m,assetRouterProgramId:g,assetRouterConfigPDA:b,tokenAuthorityPDA:v,validatedPayloadPDA:E,arConfig:M,debugLog:k}=e,[P]=PublicKey$1.findProgramAddressSync([Buffer.from("deposit_payload_spent"),l],g);if(await a.getAccountInfo(P))return k("Payload already spent (tokens already minted)"),ALREADY_MINTED_TX_HASH;await executeConsortiumSession(e);const A=M.nativeMint;k("Native mint from config:",A.toBase58());const O=s.basculeProgram?new PublicKey$1(s.basculeProgram):M.basculeProgramId;k("Bascule program:",(O==null?void 0:O.toBase58())??"not set");const D=await a.getAccountInfo(A);if(!D)throw new Error(`Mint account not found: ${A.toBase58()}`);const z=D.owner;k("Token program:",z.toBase58());const C=await getMint(a,A,void 0,z);if(!C.mintAuthority)throw new Error("Mint has no mint authority");const L=C.mintAuthority;k("Mint authority:",L.toBase58());const j=await assertBtcbDepositRecipientMatchesWallet({payloadBytes:u,mint:A,tokenProgramId:z,recipientWallet:s.recipientAddress});k("Recipient token account:",j.toBase58()),await createOrGetAssociatedTokenAccount({provider:t,connection:a,ownerAddress:s.recipientAddress,mintAddress:A.toBase58(),allowOwnerOffCurve:!0}),k("mint_from_payload...");const K=Array.from(u);let V,F,q;if(O){[V]=PublicKey$1.findProgramAddressSync([Buffer.from("bascule_validator")],g),[F]=PublicKey$1.findProgramAddressSync([Buffer.from("bascule")],O);const w=computeDepositIdFromPayload(u);k("Deposit ID:",Buffer.from(w).toString("hex")),[q]=PublicKey$1.findProgramAddressSync([Buffer.from("deposit"),w],O),k("Asset router program:",g.toBase58()),k("Bascule program:",O.toBase58()),k("Bascule validator PDA:",V.toBase58()),k("Bascule data PDA:",F.toBase58()),k("Bascule deposit PDA:",q.toBase58())}const R=g,y=await m.methods.mintFromPayload(K,p).accountsPartial({payer:t.publicKey,config:b,tokenProgram:z,recipient:j,mint:A,mintAuthority:L,tokenAuthority:v,consortiumValidatedPayload:E,depositPayloadSpent:P,systemProgram:SystemProgram.programId,basculeValidator:V??R,basculeProgram:O??R,basculeData:F??R,basculeDeposit:q??R}).instruction();k("Instruction account count:",y.keys.length);const{signature:S}=await sendAndConfirmTransaction({instruction:y,connection:a,provider:t,debugLabel:"Asset Router mint_from_payload",skipPreflight:s.skipPreflight??!1});return k("BTC.B mint successful! Signature:",S),S}const address="Lomu595CAtJGF6mpnfeAJ7daZfVdHeRkAdKyfqzXqom",metadata$1={name:"mailbox",version:"0.1.0",spec:"0.1.0",description:"The mailbox program supporting the Lombard Ledger General Message Passing protocol"},instructions$1=[{name:"accept_ownership",discriminator:[172,23,43,13,238,213,85,150],accounts:[{name:"payer",signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}}],args:[]},{name:"deliver_message",discriminator:[42,2,185,166,108,228,198,252],accounts:[{name:"deliverer",writable:!0,signer:!0},{name:"config",pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"message_info",writable:!0,pda:{seeds:[{kind:"const",value:[109,101,115,115,97,103,101]},{kind:"arg",path:"payload_hash"}]}},{name:"inbound_message_path"},{name:"consortium_payload"},{name:"consortium_validated_payload",docs:["check that the consortium program has validated the payload"]},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"payload_hash",type:{array:["u8",32]}}]},{name:"disable_inbound_message_path",discriminator:[242,182,70,210,26,33,33,78],accounts:[{name:"admin",writable:!0,signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"inbound_message_path",writable:!0,pda:{seeds:[{kind:"const",value:[105,110,98,111,117,110,100,95,109,101,115,115,97,103,101,95,112,97,116,104]},{kind:"arg",path:"source_chain_id"}]}},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"source_chain_id",type:{array:["u8",32]}}]},{name:"disable_outbound_message_path",discriminator:[57,102,27,150,123,166,38,158],accounts:[{name:"admin",writable:!0,signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"outbound_message_path",writable:!0,pda:{seeds:[{kind:"const",value:[111,117,116,98,111,117,110,100,95,109,101,115,115,97,103,101,95,112,97,116,104]},{kind:"arg",path:"destination_chain_id"}]}},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"destination_chain_id",type:{array:["u8",32]}}]},{name:"enable_inbound_message_path",discriminator:[178,201,217,113,101,52,44,127],accounts:[{name:"admin",writable:!0,signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"inbound_message_path",writable:!0,pda:{seeds:[{kind:"const",value:[105,110,98,111,117,110,100,95,109,101,115,115,97,103,101,95,112,97,116,104]},{kind:"arg",path:"source_chain_id"}]}},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"source_chain_id",type:{array:["u8",32]}},{name:"source_mailbox_address",type:{array:["u8",32]}}]},{name:"enable_outbound_message_path",discriminator:[86,206,215,63,209,234,166,13],accounts:[{name:"admin",writable:!0,signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"outbound_message_path",writable:!0,pda:{seeds:[{kind:"const",value:[111,117,116,98,111,117,110,100,95,109,101,115,115,97,103,101,95,112,97,116,104]},{kind:"arg",path:"destination_chain_id"}]}},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"destination_chain_id",type:{array:["u8",32]}}]},{name:"grant_account_role",discriminator:[166,105,3,49,241,233,230,157],accounts:[{name:"admin",writable:!0,signer:!0},{name:"config",pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"account_roles",writable:!0,pda:{seeds:[{kind:"const",value:[97,99,99,111,117,110,116,95,114,111,108,101,115]},{kind:"arg",path:"account"}]}},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"account",type:"pubkey"},{name:"account_role",type:{defined:{name:"AccountRole"}}}]},{name:"handle_message",discriminator:[91,215,39,71,108,217,94,89],accounts:[{name:"handler",writable:!0,signer:!0},{name:"config",pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"message_info",writable:!0,pda:{seeds:[{kind:"const",value:[109,101,115,115,97,103,101]},{kind:"arg",path:"payload_hash"}]}},{name:"recipient_program"}],args:[{name:"payload_hash",type:{array:["u8",32]}}],returns:{option:"bytes"}},{name:"initialize",discriminator:[175,175,109,31,13,152,155,237],accounts:[{name:"deployer",writable:!0,signer:!0},{name:"program_data",pda:{seeds:[{kind:"const",value:[36,139,239,15,35,69,202,207,115,142,92,67,70,108,102,154,92,112,22,213,14,36,245,236,182,13,241,250,220,135,229,116]}],program:{kind:"const",value:[2,168,246,145,78,136,161,176,226,16,21,62,247,99,174,43,0,194,185,61,22,193,36,210,192,83,122,16,4,128,0,0]}}},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"admin",type:"pubkey"},{name:"consortium",type:"pubkey"},{name:"treasury",type:"pubkey"},{name:"default_max_payload_size",type:"u32"},{name:"fee_per_byte",type:"u64"}]},{name:"pause",discriminator:[211,22,221,251,74,121,193,47],accounts:[{name:"pauser",signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"account_roles",pda:{seeds:[{kind:"const",value:[97,99,99,111,117,110,116,95,114,111,108,101,115]},{kind:"account",path:"pauser"}]}}],args:[]},{name:"revoke_account_roles",discriminator:[88,183,44,133,35,162,233,161],accounts:[{name:"admin",writable:!0,signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"account_roles",writable:!0,pda:{seeds:[{kind:"const",value:[97,99,99,111,117,110,116,95,114,111,108,101,115]},{kind:"arg",path:"account"}]}},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"account",type:"pubkey"}]},{name:"send_message",discriminator:[57,40,34,178,189,10,65,26],accounts:[{name:"fee_payer",writable:!0,signer:!0},{name:"sender_authority",signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"outbound_message_path"},{name:"outbound_message",docs:["so the mailbox program handles its data"],writable:!0,pda:{seeds:[{kind:"const",value:[111,117,116,98,111,117,110,100,95,109,101,115,115,97,103,101]},{kind:"account",path:"config.global_nonce",account:"Config"}]}},{name:"system_program",address:"11111111111111111111111111111111"},{name:"treasury",writable:!0,optional:!0},{name:"sender_config",optional:!0}],args:[{name:"message_body",type:"bytes"},{name:"recipient",type:{array:["u8",32]}},{name:"destination_caller",type:{option:{array:["u8",32]}}},{name:"fee_override",type:"u64"}],returns:{defined:{name:"SendResult"}}},{name:"set_sender_config",discriminator:[131,205,139,221,93,186,118,146],accounts:[{name:"admin",writable:!0,signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"sender_config",writable:!0,pda:{seeds:[{kind:"const",value:[115,101,110,100,101,114,95,99,111,110,102,105,103]},{kind:"arg",path:"sender_program"}]}},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"sender_program",type:"pubkey"},{name:"max_payload_size",type:"u32"},{name:"fee_disabled",type:"bool"}]},{name:"set_treasury",discriminator:[57,97,196,95,195,206,106,136],accounts:[{name:"admin",signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}}],args:[{name:"new_treasury",type:"pubkey"}]},{name:"transfer_ownership",discriminator:[65,177,215,73,53,45,99,47],accounts:[{name:"admin",signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}}],args:[{name:"new_admin",type:"pubkey"}]},{name:"unpause",discriminator:[169,144,4,38,10,141,188,255],accounts:[{name:"admin",signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}}],args:[]},{name:"unset_sender_config",discriminator:[10,248,20,172,121,20,97,86],accounts:[{name:"admin",writable:!0,signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}},{name:"sender_config",writable:!0,pda:{seeds:[{kind:"const",value:[115,101,110,100,101,114,95,99,111,110,102,105,103]},{kind:"arg",path:"sender_program"}]}},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"sender_program",type:"pubkey"}]},{name:"update_config",discriminator:[29,158,252,191,10,83,219,99],accounts:[{name:"admin",signer:!0},{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[109,97,105,108,98,111,120,95,99,111,110,102,105,103]}]}}],args:[{name:"default_max_payload_size",type:{option:"u32"}},{name:"fee_per_byte",type:{option:"u64"}}]}],accounts$1=[{name:"AccountRoles",discriminator:[25,230,229,88,31,135,177,142]},{name:"Config",discriminator:[155,12,170,224,30,250,204,130]},{name:"InboundMessagePath",discriminator:[183,101,83,26,169,221,228,25]},{name:"MessageV1Info",discriminator:[113,42,224,190,65,33,233,178]},{name:"OutboundMessagePath",discriminator:[58,4,19,64,132,71,137,190]},{name:"SenderConfig",discriminator:[0,241,220,77,167,128,79,152]},{name:"SessionPayload",discriminator:[33,115,191,63,132,170,233,102]},{name:"ValidatedPayload",discriminator:[129,8,149,193,22,240,127,36]}],events$1=[{name:"AccountRoleGranted",discriminator:[156,201,253,16,204,194,211,121]},{name:"AccountRolesRevoked",discriminator:[193,45,230,213,88,196,24,174]},{name:"ConfigUpdated",discriminator:[40,241,230,122,11,19,198,194]},{name:"InboundMessagePathStatusChanged",discriminator:[63,7,150,75,197,37,39,168]},{name:"MessageDelivered",discriminator:[206,54,202,10,22,64,153,18]},{name:"MessageHandled",discriminator:[241,188,96,32,20,92,213,251]},{name:"MessageSent",discriminator:[116,70,224,76,128,28,110,55]},{name:"OutboundMessagePathStatusChanged",discriminator:[106,217,122,13,125,45,243,216]},{name:"OwnershipTransferInitiated",discriminator:[181,32,40,60,60,64,235,29]},{name:"OwnershipTransferred",discriminator:[172,61,205,183,250,50,38,98]},{name:"PauserAdded",discriminator:[231,206,109,54,239,205,234,248]},{name:"PauserRemoved",discriminator:[224,157,132,185,123,96,72,220]},{name:"ProgramPaused",discriminator:[247,9,236,38,105,35,112,115]},{name:"SenderConfigSet",discriminator:[48,41,191,185,220,186,107,160]},{name:"SenderConfigUnset",discriminator:[27,176,73,192,0,73,206,177]},{name:"TreasuryChanged",discriminator:[252,2,55,56,106,205,227,47]}],errors$8=[{code:6e3,name:"Unauthorized",msg:"Unauthorized function call"},{code:6001,name:"AccountRoleAlreadyGranted",msg:"Account role already granted"},{code:6002,name:"Paused",msg:"Program is paused"},{code:6003,name:"NotPaused",msg:"Program is not paused"},{code:6004,name:"InvalidPayloadHash",msg:"Invalid payload hash"},{code:6005,name:"InvalidPayloadLength",msg:"Invalid payload size"},{code:6006,name:"PayloadTooLarge",msg:"Payload too large"},{code:6007,name:"InvalidPayloadSelector",msg:"Invalid payload selector"},{code:6008,name:"InvalidMessagePath",msg:"Invalid message path"},{code:6009,name:"PayloadNotFound",msg:"Payload not found"},{code:6010,name:"PayloadAlreadyHandled",msg:"Payload already handled"},{code:6011,name:"InvalidPayloadState",msg:"Invalid payload state"},{code:6012,name:"InsufficientFunds",msg:"Insufficient funds for fee"},{code:6013,name:"InvalidFeeConfiguration",msg:"Invalid fee configuration"},{code:6014,name:"InvalidAdmin",msg:"Invalid admin"},{code:6015,name:"InvalidPauser",msg:"Invalid pauser"},{code:6016,name:"PauserAlreadyExists",msg:"Pauser already exists"},{code:6017,name:"PauserNotFound",msg:"Pauser not found"},{code:6018,name:"InvalidNonce",msg:"Invalid nonce"},{code:6019,name:"BufferIOError",msg:"Buffer IO error"},{code:6020,name:"TreasuryMismatch",msg:"treasury mismatch"},{code:6021,name:"PublicSendWithFeeDisabled",msg:"public send with fee disabled"},{code:6022,name:"InvalidDestinationCaller",msg:"Invalid destination caller"}],types$e=[{name:"AccountRole",type:{kind:"enum",variants:[{name:"Pauser"},{name:"None"}]}},{name:"AccountRoleGranted",type:{kind:"struct",fields:[{name:"account",type:"pubkey"},{name:"account_role",type:{defined:{name:"AccountRole"}}}]}},{name:"AccountRoles",type:{kind:"struct",fields:[{name:"roles",type:{vec:{defined:{name:"AccountRole"}}}}]}},{name:"AccountRolesRevoked",type:{kind:"struct",fields:[{name:"account",type:"pubkey"}]}},{name:"Config",type:{kind:"struct",fields:[{name:"admin",type:"pubkey"},{name:"pending_admin",type:"pubkey"},{name:"treasury",type:"pubkey"},{name:"paused",type:"bool"},{name:"consortium",type:"pubkey"},{name:"global_nonce",type:"u64"},{name:"default_max_payload_size",type:"u32"},{name:"fee_per_byte",type:"u64"}]}},{name:"ConfigUpdated",type:{kind:"struct",fields:[{name:"admin",type:"pubkey"},{name:"default_max_payload_size",type:"u32"},{name:"fee_per_byte",type:"u64"}]}},{name:"InboundMessagePath",type:{kind:"struct",fields:[{name:"identifier",type:{array:["u8",32]}},{name:"source_mailbox_address",type:{array:["u8",32]}},{name:"source_chain_id",type:{array:["u8",32]}}]}},{name:"InboundMessagePathStatusChanged",type:{kind:"struct",fields:[{name:"identifier",type:{array:["u8",32]}},{name:"source_mailbox_address",type:{array:["u8",32]}},{name:"source_chain_id",type:{array:["u8",32]}},{name:"enabled",type:"bool"}]}},{name:"MessageDelivered",type:{kind:"struct",fields:[{name:"payload_hash",type:{array:["u8",32]}},{name:"source_mailbox_address",type:{array:["u8",32]}},{name:"source_chain_id",type:{array:["u8",32]}}]}},{name:"MessageHandled",type:{kind:"struct",fields:[{name:"payload_hash",type:{array:["u8",32]}}]}},{name:"MessageSent",type:{kind:"struct",fields:[{name:"nonce",type:"u64"}]}},{name:"MessageState",docs:["The state of a payload including a GMP message"],type:{kind:"enum",variants:[{name:"Unknown"},{name:"Delivered"},{name:"Handled"}]}},{name:"MessageV1",type:{kind:"struct",fields:[{name:"message_path_identifier",type:{array:["u8",32]}},{name:"nonce",type:"u64"},{name:"sender",type:{array:["u8",32]}},{name:"recipient",type:{array:["u8",32]}},{name:"destination_caller",type:{option:{array:["u8",32]}}},{name:"body",type:"bytes"}]}},{name:"MessageV1Info",type:{kind:"struct",fields:[{name:"status",type:{defined:{name:"MessageState"}}},{name:"message",type:{defined:{name:"MessageV1"}}}]}},{name:"OutboundMessagePath",type:{kind:"struct",fields:[{name:"identifier",type:{array:["u8",32]}},{name:"destination_chain_id",type:{array:["u8",32]}}]}},{name:"OutboundMessagePathStatusChanged",type:{kind:"struct",fields:[{name:"identifier",type:{array:["u8",32]}},{name:"destination_chain_id",type:{array:["u8",32]}},{name:"enabled",type:"bool"}]}},{name:"OwnershipTransferInitiated",type:{kind:"struct",fields:[{name:"new_admin",type:"pubkey"}]}},{name:"OwnershipTransferred",type:{kind:"struct",fields:[{name:"new_admin",type:"pubkey"}]}},{name:"PauserAdded",type:{kind:"struct",fields:[{name:"pauser",type:"pubkey"}]}},{name:"PauserRemoved",type:{kind:"struct",fields:[{name:"pauser",type:"pubkey"}]}},{name:"ProgramPaused",type:{kind:"struct",fields:[{name:"paused",type:"bool"}]}},{name:"SendResult",type:{kind:"struct",fields:[{name:"nonce",type:"u64"},{name:"payload_hash",type:{array:["u8",32]}}]}},{name:"SenderConfig",type:{kind:"struct",fields:[{name:"bump",type:"u8"},{name:"max_payload_size",type:"u32"},{name:"fee_disabled",type:"bool"}]}},{name:"SenderConfigSet",type:{kind:"struct",fields:[{name:"sender_program",type:"pubkey"},{name:"max_payload_size",type:"u32"},{name:"fee_disabled",type:"bool"}]}},{name:"SenderConfigUnset",type:{kind:"struct",fields:[{name:"sender_program",type:"pubkey"}]}},{name:"SessionPayload",type:{kind:"struct",fields:[{name:"payload",type:"bytes"}]}},{name:"TreasuryChanged",type:{kind:"struct",fields:[{name:"old_treasury",type:"pubkey"},{name:"new_treasury",type:"pubkey"}]}},{name:"ValidatedPayload",type:{kind:"struct",fields:[{name:"latest_epoch",type:"u64"}]}}],mailboxIdl={address,metadata:metadata$1,instructions:instructions$1,accounts:accounts$1,events:events$1,errors:errors$8,types:types$e},getMailboxIdl=e=>{const t=getConfig(e);if(!t.mailbox)throw new Error(`Mailbox program not configured for env: ${e}`);const a={...mailboxIdl};return a.address=t.mailbox,a};function computeBasculeGmpMintId(e,t){if(e.length<328)throw new Error(`payload too short for bascule_gmp mint_id: ${e.length} bytes`);if(t.length!==32)throw new Error(`chain_id must be 32 bytes, got ${t.length}`);const a=Buffer.alloc(160);e.copy(a,24,60,68),t.copy(a,32),e.copy(a,64,264,296),e.copy(a,96,232,264),e.copy(a,152,320,328);const s=sha3Exports.keccak256(new Uint8Array(a));return new Uint8Array(Buffer.from(s,"hex"))}async function claimLbtcGmp(e){const{provider:t,connection:a,params:s,config:u,payloadBytes:l,payloadHash:p,payloadHashArray:m,payer:g,assetRouterProgramId:b,consortiumProgramId:v,consortiumProgram:E,assetRouterConfigPDA:M,tokenAuthorityPDA:k,validatedPayloadPDA:P,arConfig:x,debugLog:A}=e;if(l.length<328)throw new Error(`LBTC GMP payload too short: expected >= 328 bytes, got ${l.length}`);const[O]=PublicKey$1.findProgramAddressSync([Buffer.from("message_handled"),p],b);if(await a.getAccountInfo(O))return A("Message already handled (LBTC already minted)"),ALREADY_MINTED_TX_HASH;await executeConsortiumSession(e);const[z]=PublicKey$1.findProgramAddressSync([Buffer.from("session_payload"),g.toBytes(),p],v);if(await a.getAccountInfo(z))A("Session payload already exists, skipping post_session_payload");else{A("post_session_payload...");const Z=await E.methods.postSessionPayload(m,Buffer.from(l),l.length).accounts({payer:t.publicKey,sessionPayload:z,systemProgram:SystemProgram.programId}).transaction();await sendAndConfirmTransaction({instruction:Z,connection:a,provider:t,debugLabel:"Consortium post_session_payload",skipPreflight:s.skipPreflight??!0}),A("post_session_payload completed")}if(!u.mailbox)throw new Error(`Mailbox program not configured for network: ${s.network}`);const L=new PublicKey$1(u.mailbox),j=new Program$1(getMailboxIdl(e.env),e.assetRouterProgram.provider),[K]=PublicKey$1.findProgramAddressSync([Buffer.from("mailbox_config")],L),[V]=PublicKey$1.findProgramAddressSync([Buffer.from("message"),p],L);if(!u.ledgerChainId)throw new Error(`Ledger chain ID not configured for network: ${s.network}`);const F=Buffer.from(u.ledgerChainId,"hex");A("Ledger chain ID:",u.ledgerChainId);const[q]=PublicKey$1.findProgramAddressSync([Buffer.from("inbound_message_path"),F],L);if(A("Inbound message path PDA:",q.toBase58()),await a.getAccountInfo(V))A("Message already delivered, skipping deliver_message");else{A("deliver_message...");const Z=await j.methods.deliverMessage(m).accounts({deliverer:t.publicKey,config:K,messageInfo:V,inboundMessagePath:q,consortiumPayload:z,consortiumValidatedPayload:P,systemProgram:SystemProgram.programId}).transaction();await sendAndConfirmTransaction({instruction:Z,connection:a,provider:t,debugLabel:"Mailbox deliver_message",skipPreflight:s.skipPreflight??!0}),A("deliver_message completed")}A("handle_message...");const y=new PublicKey$1(l.subarray(100,132)),S=new PublicKey$1(l.subarray(232,264)),w=new PublicKey$1(l.subarray(264,296));A("GMP recipient (asset router):",y.toBase58()),A("Mint:",S.toBase58()),A("Token recipient:",w.toBase58());const T=await a.getAccountInfo(S);if(!T)throw new Error(`Mint account not found: ${S.toBase58()}`);const U=T.owner,N=await getMint(a,S,void 0,U);if(!N.mintAuthority)throw new Error("Mint has no mint authority");const $=N.mintAuthority;await createOrGetAssociatedTokenAccount({provider:t,connection:a,ownerAddress:w.toBase58(),mintAddress:S.toBase58(),allowOwnerOffCurve:!0});const I=await j.methods.handleMessage(m).accounts({handler:t.publicKey,config:K,messageInfo:V,recipientProgram:y}).instruction();I.keys.push({pubkey:g,isSigner:!0,isWritable:!0},{pubkey:M,isSigner:!1,isWritable:!1},{pubkey:O,isSigner:!1,isWritable:!0},{pubkey:U,isSigner:!1,isWritable:!1},{pubkey:w,isSigner:!1,isWritable:!0},{pubkey:S,isSigner:!1,isWritable:!0},{pubkey:$,isSigner:!1,isWritable:!1},{pubkey:k,isSigner:!1,isWritable:!1},{pubkey:SystemProgram.programId,isSigner:!1,isWritable:!1});const _=x.basculeGmpProgramId;if(_){A("Bascule GMP program:",_.toBase58());const[Z]=PublicKey$1.findProgramAddressSync([Buffer.from("bascule_validator")],b),[W]=PublicKey$1.findProgramAddressSync([Buffer.from("bascule_gmp_config")],_),[G]=PublicKey$1.findProgramAddressSync([Buffer.from("account_roles"),Z.toBytes()],_);if(!u.solanaRoutingChainId)throw new Error(`Solana routing chain ID not configured for network: ${s.network}`);const J=Buffer.from(u.solanaRoutingChainId,"hex"),ie=computeBasculeGmpMintId(l,J),[Y]=PublicKey$1.findProgramAddressSync([Buffer.from("mint_payload"),Buffer.from(ie)],_);A("Asset router program:",b.toBase58()),A("Bascule GMP program:",_.toBase58()),A("Bascule validator PDA:",Z.toBase58()),A("Bascule GMP config PDA:",W.toBase58()),A("Bascule GMP account roles PDA:",G.toBase58()),A("Bascule GMP mint payload PDA:",Y.toBase58()),I.keys.push({pubkey:Z,isSigner:!1,isWritable:!0},{pubkey:_,isSigner:!1,isWritable:!1},{pubkey:W,isSigner:!1,isWritable:!1},{pubkey:G,isSigner:!1,isWritable:!1},{pubkey:Y,isSigner:!1,isWritable:!0})}else{A("Bascule GMP not enabled, adding placeholder accounts");for(let Z=0;Z<5;Z++)I.keys.push({pubkey:b,isSigner:!1,isWritable:!1})}A("handle_message account count:",I.keys.length),A("handle_message program:",I.programId.toBase58()),A("handle_message data (hex):",Buffer.from(I.data).toString("hex")),I.keys.forEach((Z,W)=>{A(` [${W}] ${Z.pubkey.toBase58()} signer=${Z.isSigner} writable=${Z.isWritable}`)});const{signature:H}=await sendAndConfirmTransaction({instruction:I,connection:a,provider:t,debugLabel:"Mailbox handle_message",skipPreflight:s.skipPreflight??!1});return A("LBTC mint successful! Signature:",H),H}async function claimToken(e,t){var b,v;const{network:a,env:s=DEFAULT_ENV,rawPayload:u,rpcUrl:l,debug:p=!1}=t,{debugLog:m,printLogs:g}=createDebugLogger({debug:p});try{if(!e.publicKey)throw new Error("Wallet not found");const E=getConfig(s);if(!E.assetRouter)throw new Error(`Asset Router not configured for network: ${a}`);if(!E.consortium)throw new Error(`Consortium not configured for network: ${a}`);const M=getConnection(a,l),k={publicKey:new PublicKey$1(e.publicKey),signTransaction:e.signTransaction,signAllTransactions:e.signAllTransactions},P=new AnchorProvider(M,k,{});setProvider(P);const x=new Program$1(getAssetRouterIdl(s),P),A=new Program$1(getConsortiumIdl(s),P),O=new PublicKey$1(E.assetRouter),D=new PublicKey$1(E.consortium),z=u.startsWith("0x")?u.slice(2):u,C=Buffer.from(z,"hex");if(C.length<4)throw new Error(`Payload too short: ${C.length} bytes`);const L=C.subarray(0,4),j=computePayloadHash(C),K=Array.from(j);m("Payload length:",C.length),m("Selector:",Buffer.from(L).toString("hex")),m("Payload hash:",j.toString("hex"));const V=new PublicKey$1(e.publicKey),F=getConsortiumConfigPDA(D),q=await fetchCurrentEpoch(A,F);m("Current consortium epoch:",q.toString());const R=getConsortiumSessionPDA(D,V,j,q),[y]=PublicKey$1.findProgramAddressSync([Buffer.from("validated_payload"),j],D),[S]=PublicKey$1.findProgramAddressSync([Buffer.from("asset_router_config")],O),[w]=PublicKey$1.findProgramAddressSync([Buffer.from("token_authority")],O);m("Asset Router program ID:",O.toBase58()),m("Asset Router config PDA:",S.toBase58());const T=await fetchAssetRouterConfig(x,S);if(m("Asset Router config — paused:",T.paused,"nativeMint:",T.nativeMint.toBase58(),"bascule:",((b=T.basculeProgramId)==null?void 0:b.toBase58())??"null","basculeGmp:",((v=T.basculeGmpProgramId)==null?void 0:v.toBase58())??"null"),T.paused)throw new Error("Asset Router contract is paused");const U={provider:e,params:t,env:s,config:E,connection:M,payloadBytes:C,payloadHash:j,payloadHashArray:K,payer:V,assetRouterProgramId:O,consortiumProgramId:D,assetRouterProgram:x,consortiumProgram:A,consortiumConfigPDA:F,sessionPDA:R,validatedPayloadPDA:y,assetRouterConfigPDA:S,tokenAuthorityPDA:w,arConfig:T,debugLog:m};if(L.equals(DEPOSIT_SELECTOR_V1))return m("Flow: BTC.B direct mint"),await claimBtcbFromPayload(U);if(L.equals(GMP_MESSAGE_V1_SELECTOR))return m("Flow: LBTC GMP via Mailbox"),await claimLbtcGmp(U);throw new Error(`Unknown payload selector: ${Buffer.from(L).toString("hex")}`)}catch(E){throw E instanceof Error&&(E.message=`${E.message}
|
|
115
115
|
|
|
116
116
|
Debug logs:
|
|
117
|
-
${g()}`),E}}const BTC_NATIVE_TOKEN_ADDRESS=(()=>{const e=Buffer.alloc(32,0);return e[31]=1,e})();function validateAmount(e){const t=18446744073709551615n;if(!/^\d+$/.test(e))throw new Error(`Invalid amount "${e}": must be a positive integer string (lamports, no decimals or signs)`);const a=BigInt(e);if(a===0n)throw new Error("Amount must be greater than zero");if(a>t)throw new Error(`Amount ${e} exceeds the u64 maximum (${t})`)}async function deposit(e,t){var E;const{amount:a,recipient:s,network:u,env:l,rpcUrl:p,debug:m=!1,skipPreflight:g=!0}=t,{debugLog:b,printLogs:v}=createDebugLogger({debug:m});try{if(!e.publicKey)throw new Error("Wallet not connected");const M=l??networkToEnv[u]??DEFAULT_ENV,k=getConfig(M);if(!k.assetRouter)throw new Error(`Asset Router not configured for network: ${u}`);if(!k.mailbox)throw new Error(`Mailbox not configured for network: ${u}`);if(!k.solanaRoutingChainId)throw new Error(`Solana routing chain ID not configured for network: ${u}`);const P=t.sourceTokenMint??k.btcbTokenMint;if(!P)throw new Error(`Source token mint not configured for network: ${u}`);const x=t.toLchainId??k.solanaRoutingChainId,A=t.toTokenAddress??k.lbtcTokenMint;if(!A)throw new Error(`Destination token not configured for network: ${u}`);validateAmount(a);const O=getConnection(u,p),D=new PublicKey$1(e.publicKey),z=new PublicKey$1(P),C=new PublicKey$1(s),L=new PublicKey$1(k.assetRouter),j=new PublicKey$1(k.mailbox),K=Buffer.from(k.solanaRoutingChainId,"hex"),V=Buffer.from(x,"hex"),F=new PublicKey$1(A),q=F.toBytes();b("Payer:",D.toBase58()),b("Mint (source, e.g. BTC.b):",z.toBase58()),b("Destination token (e.g. LBTC):",A),b("Recipient (owner):",C.toBase58()),b("Amount:",a);const[R,y]=await Promise.all([getTokenProgramForMint(O,z),getTokenProgramForMint(O,F)]);b("Source token program:",R.toBase58()),b("Destination token program:",y.toBase58());const[S]=PublicKey$1.findProgramAddressSync([Buffer.from("asset_router_config")],L),[w]=PublicKey$1.findProgramAddressSync([Buffer.from("token_route"),K,z.toBuffer(),V,Buffer.from(q)],L),[T]=PublicKey$1.findProgramAddressSync([Buffer.from("messaging_authority")],L);b("Asset Router config PDA:",S.toBase58()),b("Token route PDA:",w.toBase58()),b("Messaging authority PDA:",T.toBase58());const[U]=PublicKey$1.findProgramAddressSync([Buffer.from("mailbox_config")],j);if(!k.ledgerChainId)throw new Error(`Ledger chain ID not configured for network: ${u}`);const N=Buffer.from(k.ledgerChainId,"hex"),[$]=PublicKey$1.findProgramAddressSync([Buffer.from("outbound_message_path"),N],j),[I]=PublicKey$1.findProgramAddressSync([Buffer.from("sender_config"),
|
|
117
|
+
${g()}`),E}}const BTC_NATIVE_TOKEN_ADDRESS=(()=>{const e=Buffer.alloc(32,0);return e[31]=1,e})();function validateAmount(e){const t=18446744073709551615n;if(!/^\d+$/.test(e))throw new Error(`Invalid amount "${e}": must be a positive integer string (lamports, no decimals or signs)`);const a=BigInt(e);if(a===0n)throw new Error("Amount must be greater than zero");if(a>t)throw new Error(`Amount ${e} exceeds the u64 maximum (${t})`)}async function deposit(e,t){var E;const{amount:a,recipient:s,network:u,env:l,rpcUrl:p,debug:m=!1,skipPreflight:g=!0}=t,{debugLog:b,printLogs:v}=createDebugLogger({debug:m});try{if(!e.publicKey)throw new Error("Wallet not connected");const M=l??networkToEnv[u]??DEFAULT_ENV,k=getConfig(M);if(!k.assetRouter)throw new Error(`Asset Router not configured for network: ${u}`);if(!k.mailbox)throw new Error(`Mailbox not configured for network: ${u}`);if(!k.solanaRoutingChainId)throw new Error(`Solana routing chain ID not configured for network: ${u}`);const P=t.sourceTokenMint??k.btcbTokenMint;if(!P)throw new Error(`Source token mint not configured for network: ${u}`);const x=t.toLchainId??k.solanaRoutingChainId,A=t.toTokenAddress??k.lbtcTokenMint;if(!A)throw new Error(`Destination token not configured for network: ${u}`);validateAmount(a);const O=getConnection(u,p),D=new PublicKey$1(e.publicKey),z=new PublicKey$1(P),C=new PublicKey$1(s),L=new PublicKey$1(k.assetRouter),j=new PublicKey$1(k.mailbox),K=Buffer.from(k.solanaRoutingChainId,"hex"),V=Buffer.from(x,"hex"),F=new PublicKey$1(A),q=F.toBytes();b("Payer:",D.toBase58()),b("Mint (source, e.g. BTC.b):",z.toBase58()),b("Destination token (e.g. LBTC):",A),b("Recipient (owner):",C.toBase58()),b("Amount:",a);const[R,y]=await Promise.all([getTokenProgramForMint(O,z),getTokenProgramForMint(O,F)]);b("Source token program:",R.toBase58()),b("Destination token program:",y.toBase58());const[S]=PublicKey$1.findProgramAddressSync([Buffer.from("asset_router_config")],L),[w]=PublicKey$1.findProgramAddressSync([Buffer.from("token_route"),K,z.toBuffer(),V,Buffer.from(q)],L),[T]=PublicKey$1.findProgramAddressSync([Buffer.from("messaging_authority")],L);b("Asset Router config PDA:",S.toBase58()),b("Token route PDA:",w.toBase58()),b("Messaging authority PDA:",T.toBase58());const[U]=PublicKey$1.findProgramAddressSync([Buffer.from("mailbox_config")],j);if(!k.ledgerChainId)throw new Error(`Ledger chain ID not configured for network: ${u}`);const N=Buffer.from(k.ledgerChainId,"hex"),[$]=PublicKey$1.findProgramAddressSync([Buffer.from("outbound_message_path"),N],j),[I]=PublicKey$1.findProgramAddressSync([Buffer.from("sender_config"),T.toBuffer()],j);b("Mailbox config PDA:",U.toBase58()),b("Outbound message path PDA:",$.toBase58()),b("Sender config PDA:",I.toBase58());const[_,H]=await Promise.all([O.getAccountInfo(S),O.getAccountInfo(U)]);if(!_)throw new Error("Asset Router config account not found");if(!H)throw new Error("Mailbox config account not found");if(_.data.length<105)throw new Error(`Asset Router config account data too short: expected >= 105 bytes, got ${_.data.length}`);if(_.data[104]!==0)throw new Error("Asset Router is paused");if(H.data.length<104)throw new Error(`Mailbox config account data too short: expected >= 104 bytes, got ${H.data.length}`);const W=new PublicKey$1(H.data.subarray(72,104));b("Mailbox treasury:",W.toBase58());const G=await getAssociatedTokenAddress(z,D,!1,R,ASSOCIATED_TOKEN_PROGRAM_ID),J=await getAssociatedTokenAddress(F,C,!1,y,ASSOCIATED_TOKEN_PROGRAM_ID);b("Payer token account:",G.toBase58()),b("Recipient token account (payload):",J.toBase58());const ie=await O.getTokenAccountBalance(G),Y=BigInt(ie.value.amount),te=BigInt(a);if(Y<te)throw new Error(`Insufficient balance: have ${ie.value.uiAmountString}, need ${Number(te)/1e8}`);const ee=new Program$1(getAssetRouterIdl(M),{connection:O}),ae=Array.from(V),de=Array.from(q),le=Array.from(J.toBytes()),be=3;for(let ne=0;ne<be;ne++){const pe=await O.getAccountInfo(U);if(!pe)throw new Error("Mailbox config account not found");if(pe.data.length<145)throw new Error(`Mailbox config account data too short: expected >= 145 bytes, got ${pe.data.length}`);const ve=pe.data.readBigUInt64LE(137),qe=Buffer.alloc(8);qe.writeBigUInt64BE(ve);const[$e]=PublicKey$1.findProgramAddressSync([Buffer.from("outbound_message"),qe],j);b(`Attempt ${ne+1}: global nonce=${ve}, outbound_message=${$e.toBase58()}`);const Ce=await ee.methods.deposit(ae,de,le,new BN$1(a)).accounts({payer:D,config:S,tokenRoute:w,payerTokenAccount:G,tokenProgram:R,mint:z,messagingAuthority:T,mailbox:j,mailboxConfig:U,outboundMessagePath:$,outboundMessage:$e,senderConfig:I,treasury:W,systemProgram:SystemProgram.programId}).transaction();b("Instruction account count:",(E=Ce.instructions[0])==null?void 0:E.keys.length);try{const{signature:Ye}=await sendAndConfirmTransaction({instruction:Ce,connection:O,provider:e,debugLabel:"Asset Router deposit",skipPreflight:g});return b("deposit completed, signature:",Ye),Ye}catch(Ye){if(Ye instanceof Error&&Ye.message.includes("0x7d6")&&ne<be-1){b("Nonce stale (ConstraintSeeds), retrying...");continue}throw Ye}}throw new Error("Failed after max nonce retries")}catch(M){throw M instanceof Error&&m&&(M.message=`${M.message}
|
|
118
118
|
|
|
119
119
|
Debug logs:
|
|
120
|
-
${v()}`),SolanaSdkError.wrap(M,ErrorCode$1.DEPOSIT_REJECTED,"deposit operation failed")}}async function redeem(e,t){var E;const{amount:a,recipient:s,network:u,env:l,rpcUrl:p,debug:m=!1,skipPreflight:g=!0}=t,{debugLog:b,printLogs:v}=createDebugLogger({debug:m});try{if(!e.publicKey)throw new Error("Wallet not connected");const M=l??networkToEnv[u]??DEFAULT_ENV,k=getConfig(M);if(!k.assetRouter)throw new Error(`Asset Router not configured for network: ${u}`);if(!k.mailbox)throw new Error(`Mailbox not configured for network: ${u}`);if(!k.solanaRoutingChainId)throw new Error(`Solana routing chain ID not configured for network: ${u}`);const P=t.tokenMint||k.lbtcTokenMint;if(!P)throw new Error(`Source token mint not configured for network: ${u}`);const x=t.toLchainId||k.solanaRoutingChainId,A=t.toTokenAddress||k.btcbTokenMint;if(!A)throw new Error(`Destination token not configured for network: ${u}`);validateAmount(a);const O=getConnection(u,p),D=new PublicKey$1(e.publicKey),z=new PublicKey$1(P),C=new PublicKey$1(s),L=new PublicKey$1(k.assetRouter),j=new PublicKey$1(k.mailbox),K=Buffer.from(k.solanaRoutingChainId,"hex"),V=Buffer.from(x,"hex"),F=new PublicKey$1(A).toBytes();b("Payer:",D.toBase58()),b("Mint (source):",z.toBase58()),b("Destination token (route arg):",A),b("Recipient (owner):",C.toBase58()),b("Amount:",a);const q=await getTokenProgramForMint(O,z);b("Token program:",q.toBase58());const[R]=PublicKey$1.findProgramAddressSync([Buffer.from("asset_router_config")],L),[y]=PublicKey$1.findProgramAddressSync([Buffer.from("token_config"),z.toBuffer()],L),[S]=PublicKey$1.findProgramAddressSync([Buffer.from("token_route"),K,z.toBuffer(),V,Buffer.from(F)],L),[w]=PublicKey$1.findProgramAddressSync([Buffer.from("messaging_authority")],L);b("Asset Router config PDA:",R.toBase58()),b("Token config PDA:",y.toBase58()),b("Token route PDA:",S.toBase58()),b("Messaging authority PDA:",w.toBase58());const[T]=PublicKey$1.findProgramAddressSync([Buffer.from("mailbox_config")],j);if(!k.ledgerChainId)throw new Error(`Ledger chain ID not configured for network: ${u}`);const U=Buffer.from(k.ledgerChainId,"hex"),[N]=PublicKey$1.findProgramAddressSync([Buffer.from("outbound_message_path"),U],j),[$]=PublicKey$1.findProgramAddressSync([Buffer.from("sender_config"),
|
|
120
|
+
${v()}`),SolanaSdkError.wrap(M,ErrorCode$1.DEPOSIT_REJECTED,"deposit operation failed")}}async function redeem(e,t){var E;const{amount:a,recipient:s,network:u,env:l,rpcUrl:p,debug:m=!1,skipPreflight:g=!0}=t,{debugLog:b,printLogs:v}=createDebugLogger({debug:m});try{if(!e.publicKey)throw new Error("Wallet not connected");const M=l??networkToEnv[u]??DEFAULT_ENV,k=getConfig(M);if(!k.assetRouter)throw new Error(`Asset Router not configured for network: ${u}`);if(!k.mailbox)throw new Error(`Mailbox not configured for network: ${u}`);if(!k.solanaRoutingChainId)throw new Error(`Solana routing chain ID not configured for network: ${u}`);const P=t.tokenMint||k.lbtcTokenMint;if(!P)throw new Error(`Source token mint not configured for network: ${u}`);const x=t.toLchainId||k.solanaRoutingChainId,A=t.toTokenAddress||k.btcbTokenMint;if(!A)throw new Error(`Destination token not configured for network: ${u}`);validateAmount(a);const O=getConnection(u,p),D=new PublicKey$1(e.publicKey),z=new PublicKey$1(P),C=new PublicKey$1(s),L=new PublicKey$1(k.assetRouter),j=new PublicKey$1(k.mailbox),K=Buffer.from(k.solanaRoutingChainId,"hex"),V=Buffer.from(x,"hex"),F=new PublicKey$1(A).toBytes();b("Payer:",D.toBase58()),b("Mint (source):",z.toBase58()),b("Destination token (route arg):",A),b("Recipient (owner):",C.toBase58()),b("Amount:",a);const q=await getTokenProgramForMint(O,z);b("Token program:",q.toBase58());const[R]=PublicKey$1.findProgramAddressSync([Buffer.from("asset_router_config")],L),[y]=PublicKey$1.findProgramAddressSync([Buffer.from("token_config"),z.toBuffer()],L),[S]=PublicKey$1.findProgramAddressSync([Buffer.from("token_route"),K,z.toBuffer(),V,Buffer.from(F)],L),[w]=PublicKey$1.findProgramAddressSync([Buffer.from("messaging_authority")],L);b("Asset Router config PDA:",R.toBase58()),b("Token config PDA:",y.toBase58()),b("Token route PDA:",S.toBase58()),b("Messaging authority PDA:",w.toBase58());const[T]=PublicKey$1.findProgramAddressSync([Buffer.from("mailbox_config")],j);if(!k.ledgerChainId)throw new Error(`Ledger chain ID not configured for network: ${u}`);const U=Buffer.from(k.ledgerChainId,"hex"),[N]=PublicKey$1.findProgramAddressSync([Buffer.from("outbound_message_path"),U],j),[$]=PublicKey$1.findProgramAddressSync([Buffer.from("sender_config"),w.toBuffer()],j);b("Mailbox config PDA:",T.toBase58()),b("Outbound message path PDA:",N.toBase58()),b("Sender config PDA:",$.toBase58());const[I,_]=await Promise.all([O.getAccountInfo(R),O.getAccountInfo(T)]);if(!I)throw new Error("Asset Router config account not found");if(!_)throw new Error("Mailbox config account not found");if(I.data.length<137)throw new Error(`Asset Router config account data too short: expected >= 137 bytes (treasury, paused, native_mint), got ${I.data.length}`);const H=new PublicKey$1(I.data.subarray(72,104)),Z=I.data[104]!==0,W=new PublicKey$1(I.data.subarray(105,137));if(Z)throw new Error("Asset Router is paused");if(b("Asset Router treasury:",H.toBase58()),b("Native mint (recipient ATA mint):",W.toBase58()),_.data.length<104)throw new Error(`Mailbox config account data too short: expected >= 104 bytes, got ${_.data.length}`);const G=new PublicKey$1(_.data.subarray(72,104));b("Mailbox treasury:",G.toBase58());const J=await getAssociatedTokenAddress(z,D,!1,q,ASSOCIATED_TOKEN_PROGRAM_ID),ie=await getAssociatedTokenAddress(z,H,!0,q,ASSOCIATED_TOKEN_PROGRAM_ID),Y=await getTokenProgramForMint(O,W),te=await getAssociatedTokenAddress(W,C,!1,Y,ASSOCIATED_TOKEN_PROGRAM_ID);b("Payer token account:",J.toBase58()),b("Treasury token account:",ie.toBase58()),b("Recipient token account (payload):",te.toBase58());const ee=await O.getTokenAccountBalance(J),ae=BigInt(ee.value.amount),de=BigInt(a);if(ae<de)throw new Error(`Insufficient balance: have ${ee.value.uiAmountString}, need ${Number(de)/1e8}`);const le=new Program$1(getAssetRouterIdl(M),{connection:O}),be=Array.from(V),ne=Array.from(F),pe=Array.from(te.toBytes()),ve=3;for(let qe=0;qe<ve;qe++){const $e=await O.getAccountInfo(T);if(!$e)throw new Error("Mailbox config account not found");if($e.data.length<145)throw new Error(`Mailbox config account data too short: expected >= 145 bytes, got ${$e.data.length}`);const Ce=$e.data.readBigUInt64LE(137),Ye=Buffer.alloc(8);Ye.writeBigUInt64BE(Ce);const[Je]=PublicKey$1.findProgramAddressSync([Buffer.from("outbound_message"),Ye],j);b(`Attempt ${qe+1}: global nonce=${Ce}, outbound_message=${Je.toBase58()}`);const oe=await le.methods.redeem(be,ne,pe,new BN$1(a)).accounts({payer:D,config:R,tokenConfig:y,tokenRoute:S,payerTokenAccount:J,tokenProgram:q,mint:z,treasuryTokenAccount:ie,messagingAuthority:w,mailbox:j,mailboxConfig:T,outboundMessagePath:N,outboundMessage:Je,senderConfig:$,treasury:G,systemProgram:SystemProgram.programId}).transaction();b("Instruction account count:",(E=oe.instructions[0])==null?void 0:E.keys.length);try{const{signature:me}=await sendAndConfirmTransaction({instruction:oe,connection:O,provider:e,debugLabel:"Asset Router redeem",skipPreflight:g});return b("redeem completed, signature:",me),me}catch(me){if(me instanceof Error&&me.message.includes("0x7d6")&&qe<ve-1){b("Nonce stale (ConstraintSeeds), retrying...");continue}throw me}}throw new Error("Failed after max nonce retries")}catch(M){throw M instanceof Error&&m&&(M.message=`${M.message}
|
|
121
121
|
|
|
122
122
|
Debug logs:
|
|
123
|
-
${v()}`),SolanaSdkError.wrap(M,ErrorCode$1.REDEEM_REJECTED,"redeem operation failed")}}const r={prod:"prod"};let n=null;const o=async()=>{try{const e=await Promise.resolve().then(()=>require("./index3.cjs")).then(a=>a.index),t=await Promise.resolve().then(()=>index);try{e.initEccLib(t)}catch(a){if(!/already initialized/i.test(String(a)))throw a}return e}catch(e){throw n=null,new Error(`Failed to initialize bitcoinjs-lib: ${e instanceof Error?e.message:String(e)}. Ensure bitcoinjs-lib and @bitcoinerlab/secp256k1 peer dependencies are installed.`)}},c=async()=>(n||(n=o()),n);async function d$1(e,t=r.prod){const a=await c();return`0x${a.address.toOutputScript(e,t===r.prod?a.networks.bitcoin:a.networks.testnet).toString("hex")}`}async function redeemBtcbForBtc(e){var N;const{provider:t,params:a,config:s,connection:u,payer:l,mint:p,tokenProgramId:m,scriptPubKey:g,assetRouterProgramId:b,mailboxProgramId:v,solanaRoutingChainId:E,bitcoinRoutingChainId:M,assetRouterProgram:k,assetRouterConfigPDA:P,mailboxConfigPDA:x,arTreasury:A,mailboxTreasury:O,debugLog:D}=e,{amount:z,skipPreflight:C=!1}=a,[L]=PublicKey$1.findProgramAddressSync([Buffer.from("token_config"),p.toBuffer()],b),[j]=PublicKey$1.findProgramAddressSync([Buffer.from("token_route"),E,p.toBuffer(),M,BTC_NATIVE_TOKEN_ADDRESS],b),[K]=PublicKey$1.findProgramAddressSync([Buffer.from("messaging_authority")],b);if(D("Token config PDA:",L.toBase58()),D("Token route PDA:",j.toBase58()),D("Messaging authority PDA:",K.toBase58()),!s.ledgerChainId)throw new Error(`Ledger chain ID not configured for network: ${a.network}`);const V=Buffer.from(s.ledgerChainId,"hex"),[F]=PublicKey$1.findProgramAddressSync([Buffer.from("outbound_message_path"),V],v),[q]=PublicKey$1.findProgramAddressSync([Buffer.from("sender_config"),
|
|
123
|
+
${v()}`),SolanaSdkError.wrap(M,ErrorCode$1.REDEEM_REJECTED,"redeem operation failed")}}const r={prod:"prod"};let n=null;const o=async()=>{try{const e=await Promise.resolve().then(()=>require("./index3.cjs")).then(a=>a.index),t=await Promise.resolve().then(()=>index);try{e.initEccLib(t)}catch(a){if(!/already initialized/i.test(String(a)))throw a}return e}catch(e){throw n=null,new Error(`Failed to initialize bitcoinjs-lib: ${e instanceof Error?e.message:String(e)}. Ensure bitcoinjs-lib and @bitcoinerlab/secp256k1 peer dependencies are installed.`)}},c=async()=>(n||(n=o()),n);async function d$1(e,t=r.prod){const a=await c();return`0x${a.address.toOutputScript(e,t===r.prod?a.networks.bitcoin:a.networks.testnet).toString("hex")}`}async function redeemBtcbForBtc(e){var N;const{provider:t,params:a,config:s,connection:u,payer:l,mint:p,tokenProgramId:m,scriptPubKey:g,assetRouterProgramId:b,mailboxProgramId:v,solanaRoutingChainId:E,bitcoinRoutingChainId:M,assetRouterProgram:k,assetRouterConfigPDA:P,mailboxConfigPDA:x,arTreasury:A,mailboxTreasury:O,debugLog:D}=e,{amount:z,skipPreflight:C=!1}=a,[L]=PublicKey$1.findProgramAddressSync([Buffer.from("token_config"),p.toBuffer()],b),[j]=PublicKey$1.findProgramAddressSync([Buffer.from("token_route"),E,p.toBuffer(),M,BTC_NATIVE_TOKEN_ADDRESS],b),[K]=PublicKey$1.findProgramAddressSync([Buffer.from("messaging_authority")],b);if(D("Token config PDA:",L.toBase58()),D("Token route PDA:",j.toBase58()),D("Messaging authority PDA:",K.toBase58()),!s.ledgerChainId)throw new Error(`Ledger chain ID not configured for network: ${a.network}`);const V=Buffer.from(s.ledgerChainId,"hex"),[F]=PublicKey$1.findProgramAddressSync([Buffer.from("outbound_message_path"),V],v),[q]=PublicKey$1.findProgramAddressSync([Buffer.from("sender_config"),K.toBuffer()],v);D("Outbound message path PDA:",F.toBase58()),D("Sender config PDA:",q.toBase58());const R=await getAssociatedTokenAddress(p,l,!1,m,ASSOCIATED_TOKEN_PROGRAM_ID),y=await getAssociatedTokenAddress(p,A,!0,m,ASSOCIATED_TOKEN_PROGRAM_ID);D("Payer token account:",R.toBase58()),D("Treasury token account:",y.toBase58());const S=await u.getTokenAccountBalance(R),w=BigInt(S.value.amount),T=BigInt(z);if(w<T)throw new Error(`Insufficient BTC.b balance: have ${S.value.uiAmountString}, need ${Number(T)/1e8}`);const U=3;for(let $=0;$<U;$++){const I=await u.getAccountInfo(x);if(!I)throw new Error("Mailbox config account not found");if(I.data.length<145)throw new Error(`Mailbox config account data too short: expected >= 145 bytes, got ${I.data.length}`);const _=I.data.readBigUInt64LE(137),H=Buffer.alloc(8);H.writeBigUInt64BE(_);const[Z]=PublicKey$1.findProgramAddressSync([Buffer.from("outbound_message"),H],v);D(`Attempt ${$+1}: global nonce=${_}, outbound_message=${Z.toBase58()}`);const W=await k.methods.redeemForBtc(g,new BN$1(z)).accounts({payer:l,config:P,tokenConfig:L,tokenRoute:j,payerTokenAccount:R,tokenProgram:m,mint:p,treasuryTokenAccount:y,messagingAuthority:K,mailbox:v,mailboxConfig:x,outboundMessagePath:F,outboundMessage:Z,senderConfig:q,treasury:O,systemProgram:SystemProgram.programId}).transaction();D("Instruction account count:",(N=W.instructions[0])==null?void 0:N.keys.length);try{const{signature:G}=await sendAndConfirmTransaction({instruction:W,connection:u,provider:t,debugLabel:"Asset Router redeem_for_btc",skipPreflight:C});return D("redeem_for_btc completed, signature:",G),G}catch(G){if(G instanceof Error&&G.message.includes("0x7d6")&&$<U-1){D("Nonce stale (ConstraintSeeds), retrying...");continue}throw G}}throw new Error("Failed after max nonce retries")}async function redeemLbtcForBtc(e){var N;const{provider:t,params:a,config:s,connection:u,payer:l,mint:p,tokenProgramId:m,scriptPubKey:g,assetRouterProgramId:b,mailboxProgramId:v,solanaRoutingChainId:E,bitcoinRoutingChainId:M,assetRouterProgram:k,assetRouterConfigPDA:P,mailboxConfigPDA:x,arTreasury:A,mailboxTreasury:O,debugLog:D}=e,{amount:z,skipPreflight:C=!1}=a,[L]=PublicKey$1.findProgramAddressSync([Buffer.from("token_config"),p.toBuffer()],b),[j]=PublicKey$1.findProgramAddressSync([Buffer.from("token_route"),E,p.toBuffer(),M,BTC_NATIVE_TOKEN_ADDRESS],b),[K]=PublicKey$1.findProgramAddressSync([Buffer.from("messaging_authority")],b);if(D("Token config PDA:",L.toBase58()),D("Token route PDA:",j.toBase58()),D("Messaging authority PDA:",K.toBase58()),!s.ledgerChainId)throw new Error(`Ledger chain ID not configured for network: ${a.network}`);const V=Buffer.from(s.ledgerChainId,"hex"),[F]=PublicKey$1.findProgramAddressSync([Buffer.from("outbound_message_path"),V],v),[q]=PublicKey$1.findProgramAddressSync([Buffer.from("sender_config"),K.toBuffer()],v);D("Outbound message path PDA:",F.toBase58()),D("Sender config PDA:",q.toBase58());const R=await getAssociatedTokenAddress(p,l,!1,m,ASSOCIATED_TOKEN_PROGRAM_ID),y=await getAssociatedTokenAddress(p,A,!0,m,ASSOCIATED_TOKEN_PROGRAM_ID);D("Payer token account:",R.toBase58()),D("Treasury token account:",y.toBase58());const S=await u.getTokenAccountBalance(R),w=BigInt(S.value.amount),T=BigInt(z);if(w<T)throw new Error(`Insufficient LBTC balance: have ${S.value.uiAmountString}, need ${Number(T)/1e8}`);const U=3;for(let $=0;$<U;$++){const I=await u.getAccountInfo(x);if(!I)throw new Error("Mailbox config account not found");if(I.data.length<145)throw new Error(`Mailbox config account data too short: expected >= 145 bytes, got ${I.data.length}`);const _=I.data.readBigUInt64LE(137),H=Buffer.alloc(8);H.writeBigUInt64BE(_);const[Z]=PublicKey$1.findProgramAddressSync([Buffer.from("outbound_message"),H],v);D(`Attempt ${$+1}: global nonce=${_}, outbound_message=${Z.toBase58()}`);const W=await k.methods.redeemForBtc(g,new BN$1(z)).accounts({payer:l,config:P,tokenConfig:L,tokenRoute:j,payerTokenAccount:R,tokenProgram:m,mint:p,treasuryTokenAccount:y,messagingAuthority:K,mailbox:v,mailboxConfig:x,outboundMessagePath:F,outboundMessage:Z,senderConfig:q,treasury:O,systemProgram:SystemProgram.programId}).transaction();D("Instruction account count:",(N=W.instructions[0])==null?void 0:N.keys.length);try{const{signature:G}=await sendAndConfirmTransaction({instruction:W,connection:u,provider:t,debugLabel:"Asset Router redeem_for_btc (LBTC)",skipPreflight:C});return D("LBTC redeem_for_btc completed, signature:",G),G}catch(G){if(G instanceof Error&&G.message.includes("0x7d6")&&$<U-1){D("Nonce stale (ConstraintSeeds), retrying...");continue}throw G}}throw new Error("Failed after max nonce retries")}async function redeemForBtc(e,t){const{amount:a,btcAddress:s,network:u,env:l,rpcUrl:p,debug:m=!1}=t,{debugLog:g,printLogs:b}=createDebugLogger({debug:m});try{if(!e.publicKey)throw new Error("Wallet not connected");const v=l??networkToEnv[u]??DEFAULT_ENV,E=getConfig(v);if(!E.assetRouter)throw new Error(`Asset Router not configured for network: ${u}`);if(!E.mailbox)throw new Error(`Mailbox not configured for network: ${u}`);if(!E.solanaRoutingChainId)throw new Error(`Solana routing chain ID not configured for network: ${u}`);if(!E.bitcoinRoutingChainId)throw new Error(`Bitcoin routing chain ID not configured for network: ${u}`);const M=t.tokenMint;if(![E.lbtcTokenMint,E.btcbTokenMint].filter(N=>N!=null).includes(M))throw new Error(`Unsupported tokenMint for redeemForBtc: ${M}. Use the configured LBTC or BTC.b mint for network: ${u}.`);validateAmount(a);const P=getConnection(u,p),x=new PublicKey$1(e.publicKey),A=new PublicKey$1(M),O=new PublicKey$1(E.assetRouter),D=new PublicKey$1(E.mailbox),z=Buffer.from(E.solanaRoutingChainId,"hex"),C=Buffer.from(E.bitcoinRoutingChainId,"hex");g("Payer:",x.toBase58()),g("Mint:",A.toBase58()),g("Amount:",a),g("BTC address:",s);const L=Buffer.from((await d$1(s,v)).replace(/^0x/,""),"hex");g("Script pubkey length:",L.length);const j=await getTokenProgramForMint(P,A);g("Token program:",j.toBase58());const[K]=PublicKey$1.findProgramAddressSync([Buffer.from("asset_router_config")],O),[V]=PublicKey$1.findProgramAddressSync([Buffer.from("mailbox_config")],D);g("Asset Router config PDA:",K.toBase58()),g("Mailbox config PDA:",V.toBase58());const[F,q]=await Promise.all([P.getAccountInfo(K),P.getAccountInfo(V)]);if(!F)throw new Error("Asset Router config account not found");if(!q)throw new Error("Mailbox config account not found");if(F.data.length<105)throw new Error(`Asset Router config account data too short: expected >= 105 bytes, got ${F.data.length}`);const R=new PublicKey$1(F.data.subarray(72,104));if(F.data[104]!==0)throw new Error("Asset Router is paused");if(g("Asset Router treasury:",R.toBase58()),q.data.length<104)throw new Error(`Mailbox config account data too short: expected >= 104 bytes, got ${q.data.length}`);const S=new PublicKey$1(q.data.subarray(72,104));g("Mailbox treasury:",S.toBase58());const w=new Program$1(getAssetRouterIdl(v),{connection:P}),T={provider:e,params:t,env:v,config:E,connection:P,payer:x,mint:A,tokenProgramId:j,scriptPubKey:L,assetRouterProgramId:O,mailboxProgramId:D,solanaRoutingChainId:z,bitcoinRoutingChainId:C,assetRouterProgram:w,assetRouterConfigPDA:K,mailboxConfigPDA:V,arTreasury:R,mailboxTreasury:S,debugLog:g};return M===E.lbtcTokenMint?(g("Flow: LBTC → BTC redemption"),await redeemLbtcForBtc(T)):(g("Flow: BTC.b → BTC redemption"),await redeemBtcbForBtc(T))}catch(v){throw v instanceof Error&&m&&(v.message=`${v.message}
|
|
124
124
|
|
|
125
125
|
Debug logs:
|
|
126
126
|
${b()}`),SolanaSdkError.wrap(v,ErrorCode$1.REDEEM_REJECTED,"redeem_for_btc operation failed")}}let loadedFunctions=null;async function loadBridgeFunctions(){if(loadedFunctions)return loadedFunctions;const e=await Promise.resolve().then(()=>require("./quoteBridgeFee.cjs")),t=await Promise.resolve().then(()=>require("./sendBridgeTransaction.cjs")),a=await Promise.resolve().then(()=>getOftAmountCanBeSent$1);return loadedFunctions={quoteBridgeFee:e.quoteBridgeFee,sendBridgeTransaction:t.sendBridgeTransaction,getOftAmountCanBeSent:a.getOftAmountCanBeSent},loadedFunctions}var cryptoBrowserifyExports=requireCryptoBrowserify();const index$1=getDefaultExportFromCjs$2(cryptoBrowserifyExports),nodeCrypto=_mergeNamespaces({__proto__:null,default:index$1},[cryptoBrowserifyExports]);/*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) */const _0n$2=BigInt(0),_1n$2=BigInt(1),_2n$2=BigInt(2),_8n$1=BigInt(8),CU_O=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),CURVE$1=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:CU_O,n:CU_O,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")}),POW_2_256$1=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),SQRT_M1=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742");const SQRT_AD_MINUS_ONE=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),INVSQRT_A_MINUS_D=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),ONE_MINUS_D_SQ=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),D_MINUS_ONE_SQ=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");class ExtendedPoint{constructor(t,a,s,u){this.x=t,this.y=a,this.z=s,this.t=u}static fromAffine(t){if(!(t instanceof Point$1))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(Point$1.ZERO)?ExtendedPoint.ZERO:new ExtendedPoint(t.x,t.y,_1n$2,mod$1(t.x*t.y))}static toAffineBatch(t){const a=invertBatch$1(t.map(s=>s.z));return t.map((s,u)=>s.toAffine(a[u]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){assertExtPoint(t);const{x:a,y:s,z:u}=this,{x:l,y:p,z:m}=t,g=mod$1(a*m),b=mod$1(l*u),v=mod$1(s*m),E=mod$1(p*u);return g===b&&v===E}negate(){return new ExtendedPoint(mod$1(-this.x),this.y,this.z,mod$1(-this.t))}double(){const{x:t,y:a,z:s}=this,{a:u}=CURVE$1,l=mod$1,p=l(t*t),m=l(a*a),g=l(_2n$2*l(s*s)),b=l(u*p),v=t+a,E=l(l(v*v)-p-m),M=b+m,k=M-g,P=b-m,x=l(E*k),A=l(M*P),O=l(E*P),D=l(k*M);return new ExtendedPoint(x,A,D,O)}add(t){const{x:a,y:s,z:u,t:l}=this;assertExtPoint(t);const{x:p,y:m,z:g,t:b}=t,{a:v,d:E}=CURVE$1,M=mod$1,k=M(a*p),P=M(s*m),x=M(l*E*b),A=M(u*g),O=M((a+s)*(p+m)-k-P),D=M(A-x),z=M(A+x),C=M(P-v*k),L=M(O*D),j=M(z*C),K=M(O*C),V=M(D*z);return new ExtendedPoint(L,j,V,K)}subtract(t){return this.add(t.negate())}precomputeWindow(t){const a=1+256/t,s=[];let u=this,l=u;for(let p=0;p<a;p++){l=u,s.push(l);for(let m=1;m<2**(t-1);m++)l=l.add(u),s.push(l);u=l.double()}return s}wNAF(t,a){!a&&this.equals(ExtendedPoint.BASE)&&(a=Point$1.BASE);const s=a&&a._WINDOW_SIZE||1;if(256%s)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let u=a&&pointPrecomputes$1.get(a);u||(u=this.precomputeWindow(s),a&&s!==1&&(u=ExtendedPoint.normalizeZ(u),pointPrecomputes$1.set(a,u)));let l=ExtendedPoint.ZERO,p=ExtendedPoint.BASE;const m=1+256/s,g=2**(s-1),b=BigInt(2**s-1),v=2**s,E=BigInt(s);for(let M=0;M<m;M++){const k=M*g;let P=Number(t&b);t>>=E,P>g&&(P-=v,t+=_1n$2);const x=k,A=k+Math.abs(P)-1,O=M%2!==0,D=P<0;P===0?p=p.add(constTimeNegate$1(O,u[x])):l=l.add(constTimeNegate$1(D,u[A]))}return ExtendedPoint.normalizeZ([l,p])[0]}multiply(t,a){return this.wNAF(normalizeScalar$1(t,CURVE$1.l),a)}multiplyUnsafe(t){let a=normalizeScalar$1(t,CURVE$1.l,!1);const s=ExtendedPoint.BASE,u=ExtendedPoint.ZERO;if(a===_0n$2)return u;if(this.equals(u)||a===_1n$2)return this;if(this.equals(s))return this.wNAF(a);let l=u,p=this;for(;a>_0n$2;)a&_1n$2&&(l=l.add(p)),p=p.double(),a>>=_1n$2;return l}isSmallOrder(){return this.multiplyUnsafe(CURVE$1.h).equals(ExtendedPoint.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(CURVE$1.l/_2n$2).double();return CURVE$1.l%_2n$2&&(t=t.add(this)),t.equals(ExtendedPoint.ZERO)}toAffine(t){const{x:a,y:s,z:u}=this,l=this.equals(ExtendedPoint.ZERO);t==null&&(t=l?_8n$1:invert$1(u));const p=mod$1(a*t),m=mod$1(s*t),g=mod$1(u*t);if(l)return Point$1.ZERO;if(g!==_1n$2)throw new Error("invZ was invalid");return new Point$1(p,m)}fromRistrettoBytes(){legacyRist()}toRistrettoBytes(){legacyRist()}fromRistrettoHash(){legacyRist()}}ExtendedPoint.BASE=new ExtendedPoint(CURVE$1.Gx,CURVE$1.Gy,_1n$2,mod$1(CURVE$1.Gx*CURVE$1.Gy));ExtendedPoint.ZERO=new ExtendedPoint(_0n$2,_1n$2,_1n$2,_0n$2);function constTimeNegate$1(e,t){const a=t.negate();return e?a:t}function assertExtPoint(e){if(!(e instanceof ExtendedPoint))throw new TypeError("ExtendedPoint expected")}function assertRstPoint(e){if(!(e instanceof RistrettoPoint))throw new TypeError("RistrettoPoint expected")}function legacyRist(){throw new Error("Legacy method: switch to RistrettoPoint")}class RistrettoPoint{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){const{d:a}=CURVE$1,s=mod$1(SQRT_M1*t*t),u=mod$1((s+_1n$2)*ONE_MINUS_D_SQ);let l=BigInt(-1);const p=mod$1((l-a*s)*mod$1(s+a));let{isValid:m,value:g}=uvRatio(u,p),b=mod$1(g*t);edIsNegative(b)||(b=mod$1(-b)),m||(g=b),m||(l=s);const v=mod$1(l*(s-_1n$2)*D_MINUS_ONE_SQ-p),E=g*g,M=mod$1((g+g)*p),k=mod$1(v*SQRT_AD_MINUS_ONE),P=mod$1(_1n$2-E),x=mod$1(_1n$2+E);return new ExtendedPoint(mod$1(M*x),mod$1(P*k),mod$1(k*x),mod$1(M*P))}static hashToCurve(t){t=ensureBytes$1(t,64);const a=bytes255ToNumberLE(t.slice(0,32)),s=this.calcElligatorRistrettoMap(a),u=bytes255ToNumberLE(t.slice(32,64)),l=this.calcElligatorRistrettoMap(u);return new RistrettoPoint(s.add(l))}static fromHex(t){t=ensureBytes$1(t,32);const{a,d:s}=CURVE$1,u="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",l=bytes255ToNumberLE(t);if(!equalBytes(numberTo32BytesLE(l),t)||edIsNegative(l))throw new Error(u);const p=mod$1(l*l),m=mod$1(_1n$2+a*p),g=mod$1(_1n$2-a*p),b=mod$1(m*m),v=mod$1(g*g),E=mod$1(a*s*b-v),{isValid:M,value:k}=invertSqrt(mod$1(E*v)),P=mod$1(k*g),x=mod$1(k*P*E);let A=mod$1((l+l)*P);edIsNegative(A)&&(A=mod$1(-A));const O=mod$1(m*x),D=mod$1(A*O);if(!M||edIsNegative(D)||O===_0n$2)throw new Error(u);return new RistrettoPoint(new ExtendedPoint(A,O,_1n$2,D))}toRawBytes(){let{x:t,y:a,z:s,t:u}=this.ep;const l=mod$1(mod$1(s+a)*mod$1(s-a)),p=mod$1(t*a),m=mod$1(p*p),{value:g}=invertSqrt(mod$1(l*m)),b=mod$1(g*l),v=mod$1(g*p),E=mod$1(b*v*u);let M;if(edIsNegative(u*E)){let P=mod$1(a*SQRT_M1),x=mod$1(t*SQRT_M1);t=P,a=x,M=mod$1(b*INVSQRT_A_MINUS_D)}else M=v;edIsNegative(t*E)&&(a=mod$1(-a));let k=mod$1((s-a)*M);return edIsNegative(k)&&(k=mod$1(-k)),numberTo32BytesLE(k)}toHex(){return bytesToHex$2(this.toRawBytes())}toString(){return this.toHex()}equals(t){assertRstPoint(t);const a=this.ep,s=t.ep,u=mod$1(a.x*s.y)===mod$1(a.y*s.x),l=mod$1(a.y*s.y)===mod$1(a.x*s.x);return u||l}add(t){return assertRstPoint(t),new RistrettoPoint(this.ep.add(t.ep))}subtract(t){return assertRstPoint(t),new RistrettoPoint(this.ep.subtract(t.ep))}multiply(t){return new RistrettoPoint(this.ep.multiply(t))}multiplyUnsafe(t){return new RistrettoPoint(this.ep.multiplyUnsafe(t))}}RistrettoPoint.BASE=new RistrettoPoint(ExtendedPoint.BASE);RistrettoPoint.ZERO=new RistrettoPoint(ExtendedPoint.ZERO);const pointPrecomputes$1=new WeakMap;let Point$1=class Yr{constructor(t,a){this.x=t,this.y=a}_setWindowSize(t){this._WINDOW_SIZE=t,pointPrecomputes$1.delete(this)}static fromHex(t,a=!0){const{d:s,P:u}=CURVE$1;t=ensureBytes$1(t,32);const l=t.slice();l[31]=t[31]&-129;const p=bytesToNumberLE(l);if(a&&p>=u)throw new Error("Expected 0 < hex < P");if(!a&&p>=POW_2_256$1)throw new Error("Expected 0 < hex < 2**256");const m=mod$1(p*p),g=mod$1(m-_1n$2),b=mod$1(s*m+_1n$2);let{isValid:v,value:E}=uvRatio(g,b);if(!v)throw new Error("Point.fromHex: invalid y coordinate");const M=(E&_1n$2)===_1n$2;return(t[31]&128)!==0!==M&&(E=mod$1(-E)),new Yr(E,p)}static async fromPrivateKey(t){return(await getExtendedPublicKey(t)).point}toRawBytes(){const t=numberTo32BytesLE(this.y);return t[31]|=this.x&_1n$2?128:0,t}toHex(){return bytesToHex$2(this.toRawBytes())}toX25519(){const{y:t}=this,a=mod$1((_1n$2+t)*invert$1(_1n$2-t));return numberTo32BytesLE(a)}isTorsionFree(){return ExtendedPoint.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Yr(mod$1(-this.x),this.y)}add(t){return ExtendedPoint.fromAffine(this).add(ExtendedPoint.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return ExtendedPoint.fromAffine(this).multiply(t,this).toAffine()}};Point$1.BASE=new Point$1(CURVE$1.Gx,CURVE$1.Gy);Point$1.ZERO=new Point$1(_0n$2,_1n$2);let Signature$1=class mn{constructor(t,a){this.r=t,this.s=a,this.assertValidity()}static fromHex(t){const a=ensureBytes$1(t,64),s=Point$1.fromHex(a.slice(0,32),!1),u=bytesToNumberLE(a.slice(32,64));return new mn(s,u)}assertValidity(){const{r:t,s:a}=this;if(!(t instanceof Point$1))throw new Error("Expected Point instance");return normalizeScalar$1(a,CURVE$1.l,!1),this}toRawBytes(){const t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(numberTo32BytesLE(this.s),32),t}toHex(){return bytesToHex$2(this.toRawBytes())}};function isBytes$4(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function abytes$2(e){if(!isBytes$4(e))throw new Error("Uint8Array expected")}function concatBytes$1(...e){if(e.every(abytes$2),e.length===1)return e[0];const t=e.reduce((s,u)=>s+u.length,0),a=new Uint8Array(t);for(let s=0,u=0;s<e.length;s++){const l=e[s];a.set(l,u),u+=l.length}return a}const hexes$2=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function bytesToHex$2(e){abytes$2(e);let t="";for(let a=0;a<e.length;a++)t+=hexes$2[e[a]];return t}const asciis$2={_0:48,_9:57,A:65,F:70,a:97,f:102};function asciiToBase16$2(e){if(e>=asciis$2._0&&e<=asciis$2._9)return e-asciis$2._0;if(e>=asciis$2.A&&e<=asciis$2.F)return e-(asciis$2.A-10);if(e>=asciis$2.a&&e<=asciis$2.f)return e-(asciis$2.a-10)}function hexToBytes$2(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);const t=e.length,a=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const s=new Uint8Array(a);for(let u=0,l=0;u<a;u++,l+=2){const p=asciiToBase16$2(e.charCodeAt(l)),m=asciiToBase16$2(e.charCodeAt(l+1));if(p===void 0||m===void 0){const g=e[l]+e[l+1];throw new Error('hex string expected, got non-hex character "'+g+'" at index '+l)}s[u]=p*16+m}return s}function numberTo32BytesBE(e){const a=e.toString(16).padStart(64,"0");return hexToBytes$2(a)}function numberTo32BytesLE(e){return numberTo32BytesBE(e).reverse()}function edIsNegative(e){return(mod$1(e)&_1n$2)===_1n$2}function bytesToNumberLE(e){return abytes$2(e),BigInt("0x"+bytesToHex$2(Uint8Array.from(e).reverse()))}const MAX_255B=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function bytes255ToNumberLE(e){return mod$1(bytesToNumberLE(e)&MAX_255B)}function mod$1(e,t=CURVE$1.P){const a=e%t;return a>=_0n$2?a:t+a}function invert$1(e,t=CURVE$1.P){if(e===_0n$2||t<=_0n$2)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let a=mod$1(e,t),s=t,u=_0n$2,l=_1n$2;for(;a!==_0n$2;){const m=s/a,g=s%a,b=u-l*m;s=a,a=g,u=l,l=b}if(s!==_1n$2)throw new Error("invert: does not exist");return mod$1(u,t)}function invertBatch$1(e,t=CURVE$1.P){const a=new Array(e.length),s=e.reduce((l,p,m)=>p===_0n$2?l:(a[m]=l,mod$1(l*p,t)),_1n$2),u=invert$1(s,t);return e.reduceRight((l,p,m)=>p===_0n$2?l:(a[m]=mod$1(l*a[m],t),mod$1(l*p,t)),u),a}function pow2$1(e,t){const{P:a}=CURVE$1;let s=e;for(;t-- >_0n$2;)s*=s,s%=a;return s}function pow_2_252_3(e){const{P:t}=CURVE$1,a=BigInt(5),s=BigInt(10),u=BigInt(20),l=BigInt(40),p=BigInt(80),g=e*e%t*e%t,b=pow2$1(g,_2n$2)*g%t,v=pow2$1(b,_1n$2)*e%t,E=pow2$1(v,a)*v%t,M=pow2$1(E,s)*E%t,k=pow2$1(M,u)*M%t,P=pow2$1(k,l)*k%t,x=pow2$1(P,p)*P%t,A=pow2$1(x,p)*P%t,O=pow2$1(A,s)*E%t;return{pow_p_5_8:pow2$1(O,_2n$2)*e%t,b2:g}}function uvRatio(e,t){const a=mod$1(t*t*t),s=mod$1(a*a*t),u=pow_2_252_3(e*s).pow_p_5_8;let l=mod$1(e*a*u);const p=mod$1(t*l*l),m=l,g=mod$1(l*SQRT_M1),b=p===e,v=p===mod$1(-e),E=p===mod$1(-e*SQRT_M1);return b&&(l=m),(v||E)&&(l=g),edIsNegative(l)&&(l=mod$1(-l)),{isValid:b||v,value:l}}function invertSqrt(e){return uvRatio(_1n$2,e)}function modlLE(e){return mod$1(bytesToNumberLE(e),CURVE$1.l)}function equalBytes(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++)if(e[a]!==t[a])return!1;return!0}function ensureBytes$1(e,t){const a=isBytes$4(e)?Uint8Array.from(e):hexToBytes$2(e);if(typeof t=="number"&&a.length!==t)throw new Error(`Expected ${t} bytes`);return a}function normalizeScalar$1(e,t,a=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(a){if(_0n$2<e)return e}else if(_0n$2<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function adjustBytes25519(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function checkPrivateKey(e){if(e=typeof e=="bigint"||typeof e=="number"?numberTo32BytesBE(normalizeScalar$1(e,POW_2_256$1)):ensureBytes$1(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function getKeyFromHash(e){const t=adjustBytes25519(e.slice(0,32)),a=e.slice(32,64),s=modlLE(t),u=Point$1.BASE.multiply(s),l=u.toRawBytes();return{head:t,prefix:a,scalar:s,point:u,pointBytes:l}}let _sha512Sync;async function getExtendedPublicKey(e){return getKeyFromHash(await utils$a.sha512(checkPrivateKey(e)))}async function getPublicKey$1(e){return(await getExtendedPublicKey(e)).pointBytes}async function sign$2(e,t){e=ensureBytes$1(e);const{prefix:a,scalar:s,pointBytes:u}=await getExtendedPublicKey(t),l=modlLE(await utils$a.sha512(a,e)),p=Point$1.BASE.multiply(l),m=modlLE(await utils$a.sha512(p.toRawBytes(),u,e)),g=mod$1(l+m*s,CURVE$1.l);return new Signature$1(p,g).toRawBytes()}function prepareVerification(e,t,a){t=ensureBytes$1(t),a instanceof Point$1||(a=Point$1.fromHex(a,!1));const{r:s,s:u}=e instanceof Signature$1?e.assertValidity():Signature$1.fromHex(e),l=ExtendedPoint.BASE.multiplyUnsafe(u);return{r:s,s:u,SB:l,pub:a,msg:t}}function finishVerification(e,t,a,s){const u=modlLE(s),l=ExtendedPoint.fromAffine(e).multiplyUnsafe(u);return ExtendedPoint.fromAffine(t).add(l).subtract(a).multiplyUnsafe(CURVE$1.h).equals(ExtendedPoint.ZERO)}async function verify$3(e,t,a){const{r:s,SB:u,msg:l,pub:p}=prepareVerification(e,t,a),m=await utils$a.sha512(s.toRawBytes(),p.toRawBytes(),l);return finishVerification(p,s,u,m)}Point$1.BASE._setWindowSize(8);const crypto$3={node:nodeCrypto,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},utils$a={bytesToHex:bytesToHex$2,hexToBytes:hexToBytes$2,concatBytes:concatBytes$1,getExtendedPublicKey,mod:mod$1,invert:invert$1,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=ensureBytes$1(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return mod$1(bytesToNumberLE(e),CURVE$1.l-_1n$2)+_1n$2},randomBytes:(e=32)=>{if(crypto$3.web)return crypto$3.web.getRandomValues(new Uint8Array(e));if(crypto$3.node){const{randomBytes:t}=crypto$3.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>utils$a.randomBytes(32),sha512:async(...e)=>{const t=concatBytes$1(...e);if(crypto$3.web){const a=await crypto$3.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(a)}else{if(crypto$3.node)return Uint8Array.from(crypto$3.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=Point$1.BASE){const a=t.equals(Point$1.BASE)?t:new Point$1(t.x,t.y);return a._setWindowSize(e),a.multiply(_2n$2),a},sha512Sync:void 0};Object.defineProperties(utils$a,{sha512Sync:{configurable:!1,get(){return _sha512Sync},set(e){_sha512Sync||(_sha512Sync=e)}}});/*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) */const _0n$1=BigInt(0),_1n$1=BigInt(1),_2n$1=BigInt(2),_3n=BigInt(3),_8n=BigInt(8),CURVE=Object.freeze({a:_0n$1,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:_1n$1,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),divNearest=(e,t)=>(e+t/_2n$1)/t,endo={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){const{n:t}=CURVE,a=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),s=-_1n$1*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),u=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),l=a,p=BigInt("0x100000000000000000000000000000000"),m=divNearest(l*e,t),g=divNearest(-s*e,t);let b=mod(e-m*a-g*u,t),v=mod(-m*s-g*l,t);const E=b>p,M=v>p;if(E&&(b=t-b),M&&(v=t-v),b>p||v>p)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:E,k1:b,k2neg:M,k2:v}}},fieldLen=32,groupLen=32,hashLen=32,compressedLen=fieldLen+1,uncompressedLen=2*fieldLen+1;function weierstrass$1(e){const{a:t,b:a}=CURVE,s=mod(e*e),u=mod(s*e);return mod(u+t*e+a)}const USE_ENDOMORPHISM=CURVE.a===_0n$1;class ShaError extends Error{constructor(t){super(t)}}function assertJacPoint(e){if(!(e instanceof JacobianPoint))throw new TypeError("JacobianPoint expected")}class JacobianPoint{constructor(t,a,s){this.x=t,this.y=a,this.z=s}static fromAffine(t){if(!(t instanceof Point))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(Point.ZERO)?JacobianPoint.ZERO:new JacobianPoint(t.x,t.y,_1n$1)}static toAffineBatch(t){const a=invertBatch(t.map(s=>s.z));return t.map((s,u)=>s.toAffine(a[u]))}static normalizeZ(t){return JacobianPoint.toAffineBatch(t).map(JacobianPoint.fromAffine)}equals(t){assertJacPoint(t);const{x:a,y:s,z:u}=this,{x:l,y:p,z:m}=t,g=mod(u*u),b=mod(m*m),v=mod(a*b),E=mod(l*g),M=mod(mod(s*m)*b),k=mod(mod(p*u)*g);return v===E&&M===k}negate(){return new JacobianPoint(this.x,mod(-this.y),this.z)}double(){const{x:t,y:a,z:s}=this,u=mod(t*t),l=mod(a*a),p=mod(l*l),m=t+l,g=mod(_2n$1*(mod(m*m)-u-p)),b=mod(_3n*u),v=mod(b*b),E=mod(v-_2n$1*g),M=mod(b*(g-E)-_8n*p),k=mod(_2n$1*a*s);return new JacobianPoint(E,M,k)}add(t){assertJacPoint(t);const{x:a,y:s,z:u}=this,{x:l,y:p,z:m}=t;if(l===_0n$1||p===_0n$1)return this;if(a===_0n$1||s===_0n$1)return t;const g=mod(u*u),b=mod(m*m),v=mod(a*b),E=mod(l*g),M=mod(mod(s*m)*b),k=mod(mod(p*u)*g),P=mod(E-v),x=mod(k-M);if(P===_0n$1)return x===_0n$1?this.double():JacobianPoint.ZERO;const A=mod(P*P),O=mod(P*A),D=mod(v*A),z=mod(x*x-O-_2n$1*D),C=mod(x*(D-z)-M*O),L=mod(u*m*P);return new JacobianPoint(z,C,L)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){const a=JacobianPoint.ZERO;if(typeof t=="bigint"&&t===_0n$1)return a;let s=normalizeScalar(t);if(s===_1n$1)return this;if(!USE_ENDOMORPHISM){let E=a,M=this;for(;s>_0n$1;)s&_1n$1&&(E=E.add(M)),M=M.double(),s>>=_1n$1;return E}let{k1neg:u,k1:l,k2neg:p,k2:m}=endo.splitScalar(s),g=a,b=a,v=this;for(;l>_0n$1||m>_0n$1;)l&_1n$1&&(g=g.add(v)),m&_1n$1&&(b=b.add(v)),v=v.double(),l>>=_1n$1,m>>=_1n$1;return u&&(g=g.negate()),p&&(b=b.negate()),b=new JacobianPoint(mod(b.x*endo.beta),b.y,b.z),g.add(b)}precomputeWindow(t){const a=USE_ENDOMORPHISM?128/t+1:256/t+1,s=[];let u=this,l=u;for(let p=0;p<a;p++){l=u,s.push(l);for(let m=1;m<2**(t-1);m++)l=l.add(u),s.push(l);u=l.double()}return s}wNAF(t,a){!a&&this.equals(JacobianPoint.BASE)&&(a=Point.BASE);const s=a&&a._WINDOW_SIZE||1;if(256%s)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let u=a&&pointPrecomputes.get(a);u||(u=this.precomputeWindow(s),a&&s!==1&&(u=JacobianPoint.normalizeZ(u),pointPrecomputes.set(a,u)));let l=JacobianPoint.ZERO,p=JacobianPoint.BASE;const m=1+(USE_ENDOMORPHISM?128/s:256/s),g=2**(s-1),b=BigInt(2**s-1),v=2**s,E=BigInt(s);for(let M=0;M<m;M++){const k=M*g;let P=Number(t&b);t>>=E,P>g&&(P-=v,t+=_1n$1);const x=k,A=k+Math.abs(P)-1,O=M%2!==0,D=P<0;P===0?p=p.add(constTimeNegate(O,u[x])):l=l.add(constTimeNegate(D,u[A]))}return{p:l,f:p}}multiply(t,a){let s=normalizeScalar(t),u,l;if(USE_ENDOMORPHISM){const{k1neg:p,k1:m,k2neg:g,k2:b}=endo.splitScalar(s);let{p:v,f:E}=this.wNAF(m,a),{p:M,f:k}=this.wNAF(b,a);v=constTimeNegate(p,v),M=constTimeNegate(g,M),M=new JacobianPoint(mod(M.x*endo.beta),M.y,M.z),u=v.add(M),l=E.add(k)}else{const{p,f:m}=this.wNAF(s,a);u=p,l=m}return JacobianPoint.normalizeZ([u,l])[0]}toAffine(t){const{x:a,y:s,z:u}=this,l=this.equals(JacobianPoint.ZERO);t==null&&(t=l?_8n:invert(u));const p=t,m=mod(p*p),g=mod(m*p),b=mod(a*m),v=mod(s*g),E=mod(u*p);if(l)return Point.ZERO;if(E!==_1n$1)throw new Error("invZ was invalid");return new Point(b,v)}}JacobianPoint.BASE=new JacobianPoint(CURVE.Gx,CURVE.Gy,_1n$1);JacobianPoint.ZERO=new JacobianPoint(_0n$1,_1n$1,_0n$1);function constTimeNegate(e,t){const a=t.negate();return e?a:t}const pointPrecomputes=new WeakMap;class Point{constructor(t,a){this.x=t,this.y=a}_setWindowSize(t){this._WINDOW_SIZE=t,pointPrecomputes.delete(this)}hasEvenY(){return this.y%_2n$1===_0n$1}static fromCompressedHex(t){const a=t.length===32,s=bytesToNumber(a?t:t.subarray(1));if(!isValidFieldElement(s))throw new Error("Point is not on curve");const u=weierstrass$1(s);let l=sqrtMod(u);const p=(l&_1n$1)===_1n$1;a?p&&(l=mod(-l)):(t[0]&1)===1!==p&&(l=mod(-l));const m=new Point(s,l);return m.assertValidity(),m}static fromUncompressedHex(t){const a=bytesToNumber(t.subarray(1,fieldLen+1)),s=bytesToNumber(t.subarray(fieldLen+1,fieldLen*2+1)),u=new Point(a,s);return u.assertValidity(),u}static fromHex(t){const a=ensureBytes(t),s=a.length,u=a[0];if(s===fieldLen)return this.fromCompressedHex(a);if(s===compressedLen&&(u===2||u===3))return this.fromCompressedHex(a);if(s===uncompressedLen&&u===4)return this.fromUncompressedHex(a);throw new Error(`Point.fromHex: received invalid point. Expected 32-${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes, not ${s}`)}static fromPrivateKey(t){return Point.BASE.multiply(normalizePrivateKey$1(t))}static fromSignature(t,a,s){const{r:u,s:l}=normalizeSignature(a);if(![0,1,2,3].includes(s))throw new Error("Cannot recover: invalid recovery bit");const p=truncateHash(ensureBytes(t)),{n:m}=CURVE,g=s===2||s===3?u+m:u,b=invert(g,m),v=mod(-p*b,m),E=mod(l*b,m),M=s&1?"03":"02",k=Point.fromHex(M+numTo32bStr(g)),P=Point.BASE.multiplyAndAddUnsafe(k,v,E);if(!P)throw new Error("Cannot recover signature: point at infinify");return P.assertValidity(),P}toRawBytes(t=!1){return hexToBytes$1(this.toHex(t))}toHex(t=!1){const a=numTo32bStr(this.x);return t?`${this.hasEvenY()?"02":"03"}${a}`:`04${a}${numTo32bStr(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const t="Point is not on elliptic curve",{x:a,y:s}=this;if(!isValidFieldElement(a)||!isValidFieldElement(s))throw new Error(t);const u=mod(s*s),l=weierstrass$1(a);if(mod(u-l)!==_0n$1)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Point(this.x,mod(-this.y))}double(){return JacobianPoint.fromAffine(this).double().toAffine()}add(t){return JacobianPoint.fromAffine(this).add(JacobianPoint.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return JacobianPoint.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,a,s){const u=JacobianPoint.fromAffine(this),l=a===_0n$1||a===_1n$1||this!==Point.BASE?u.multiplyUnsafe(a):u.multiply(a),p=JacobianPoint.fromAffine(t).multiplyUnsafe(s),m=l.add(p);return m.equals(JacobianPoint.ZERO)?void 0:m.toAffine()}}Point.BASE=new Point(CURVE.Gx,CURVE.Gy);Point.ZERO=new Point(_0n$1,_0n$1);function sliceDER(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function parseDERInt(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${bytesToHex$1(e)}`);const t=e[1],a=e.subarray(2,t+2);if(!t||a.length!==t)throw new Error("Invalid signature integer: wrong length");if(a[0]===0&&a[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:bytesToNumber(a),left:e.subarray(t+2)}}function parseDERSignature(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${bytesToHex$1(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");const{data:t,left:a}=parseDERInt(e.subarray(2)),{data:s,left:u}=parseDERInt(a);if(u.length)throw new Error(`Invalid signature: left bytes after parsing: ${bytesToHex$1(u)}`);return{r:t,s}}class Signature{constructor(t,a){this.r=t,this.s=a,this.assertValidity()}static fromCompact(t){const a=isBytes$3(t),s="Signature.fromCompact";if(typeof t!="string"&&!a)throw new TypeError(`${s}: Expected string or Uint8Array`);const u=a?bytesToHex$1(t):t;if(u.length!==128)throw new Error(`${s}: Expected 64-byte hex`);return new Signature(hexToNumber(u.slice(0,64)),hexToNumber(u.slice(64,128)))}static fromDER(t){const a=isBytes$3(t);if(typeof t!="string"&&!a)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r:s,s:u}=parseDERSignature(a?t:hexToBytes$1(t));return new Signature(s,u)}static fromHex(t){return this.fromDER(t)}assertValidity(){const{r:t,s:a}=this;if(!isWithinCurveOrder(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!isWithinCurveOrder(a))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const t=CURVE.n>>_1n$1;return this.s>t}normalizeS(){return this.hasHighS()?new Signature(this.r,mod(-this.s,CURVE.n)):this}toDERRawBytes(){return hexToBytes$1(this.toDERHex())}toDERHex(){const t=sliceDER(numberToHexUnpadded(this.s)),a=sliceDER(numberToHexUnpadded(this.r)),s=t.length/2,u=a.length/2,l=numberToHexUnpadded(s),p=numberToHexUnpadded(u);return`30${numberToHexUnpadded(u+s+4)}02${p}${a}02${l}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return hexToBytes$1(this.toCompactHex())}toCompactHex(){return numTo32bStr(this.r)+numTo32bStr(this.s)}}function isBytes$3(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function abytes$1(e){if(!isBytes$3(e))throw new Error("Uint8Array expected")}function concatBytes(...e){if(e.every(abytes$1),e.length===1)return e[0];const t=e.reduce((s,u)=>s+u.length,0),a=new Uint8Array(t);for(let s=0,u=0;s<e.length;s++){const l=e[s];a.set(l,u),u+=l.length}return a}const hexes$1=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function bytesToHex$1(e){abytes$1(e);let t="";for(let a=0;a<e.length;a++)t+=hexes$1[e[a]];return t}const asciis$1={_0:48,_9:57,A:65,F:70,a:97,f:102};function asciiToBase16$1(e){if(e>=asciis$1._0&&e<=asciis$1._9)return e-asciis$1._0;if(e>=asciis$1.A&&e<=asciis$1.F)return e-(asciis$1.A-10);if(e>=asciis$1.a&&e<=asciis$1.f)return e-(asciis$1.a-10)}function hexToBytes$1(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);const t=e.length,a=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const s=new Uint8Array(a);for(let u=0,l=0;u<a;u++,l+=2){const p=asciiToBase16$1(e.charCodeAt(l)),m=asciiToBase16$1(e.charCodeAt(l+1));if(p===void 0||m===void 0){const g=e[l]+e[l+1];throw new Error('hex string expected, got non-hex character "'+g+'" at index '+l)}s[u]=p*16+m}return s}const POW_2_256=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function numTo32bStr(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(_0n$1<=e&&e<POW_2_256))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function numTo32b(e){const t=hexToBytes$1(numTo32bStr(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function numberToHexUnpadded(e){const t=e.toString(16);return t.length&1?`0${t}`:t}function hexToNumber(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function bytesToNumber(e){return hexToNumber(bytesToHex$1(e))}function ensureBytes(e){return isBytes$3(e)?Uint8Array.from(e):hexToBytes$1(e)}function normalizeScalar(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&isWithinCurveOrder(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function mod(e,t=CURVE.P){const a=e%t;return a>=_0n$1?a:t+a}function pow2(e,t){const{P:a}=CURVE;let s=e;for(;t-- >_0n$1;)s*=s,s%=a;return s}function sqrtMod(e){const{P:t}=CURVE,a=BigInt(6),s=BigInt(11),u=BigInt(22),l=BigInt(23),p=BigInt(44),m=BigInt(88),g=e*e*e%t,b=g*g*e%t,v=pow2(b,_3n)*b%t,E=pow2(v,_3n)*b%t,M=pow2(E,_2n$1)*g%t,k=pow2(M,s)*M%t,P=pow2(k,u)*k%t,x=pow2(P,p)*P%t,A=pow2(x,m)*x%t,O=pow2(A,p)*P%t,D=pow2(O,_3n)*b%t,z=pow2(D,l)*k%t,C=pow2(z,a)*g%t,L=pow2(C,_2n$1);if(L*L%t!==e)throw new Error("Cannot find square root");return L}function invert(e,t=CURVE.P){if(e===_0n$1||t<=_0n$1)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let a=mod(e,t),s=t,u=_0n$1,l=_1n$1;for(;a!==_0n$1;){const m=s/a,g=s%a,b=u-l*m;s=a,a=g,u=l,l=b}if(s!==_1n$1)throw new Error("invert: does not exist");return mod(u,t)}function invertBatch(e,t=CURVE.P){const a=new Array(e.length),s=e.reduce((l,p,m)=>p===_0n$1?l:(a[m]=l,mod(l*p,t)),_1n$1),u=invert(s,t);return e.reduceRight((l,p,m)=>p===_0n$1?l:(a[m]=mod(l*a[m],t),mod(l*p,t)),u),a}function bits2int_2(e){const t=e.length*8-groupLen*8,a=bytesToNumber(e);return t>0?a>>BigInt(t):a}function truncateHash(e,t=!1){const a=bits2int_2(e);if(t)return a;const{n:s}=CURVE;return a>=s?a-s:a}let _sha256Sync,_hmacSha256Sync;class HmacDrbg{constructor(t,a){if(this.hashLen=t,this.qByteLen=a,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof a!="number"||a<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return utils$9.hmacSha256(this.k,...t)}hmacSync(...t){return _hmacSha256Sync(this.k,...t)}checkSync(){if(typeof _hmacSha256Sync!="function")throw new ShaError("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0;const a=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);const s=this.v.slice();a.push(s),t+=this.v.length}return concatBytes(...a)}generateSync(){this.checkSync(),this.incr();let t=0;const a=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);const s=this.v.slice();a.push(s),t+=this.v.length}return concatBytes(...a)}}function isWithinCurveOrder(e){return _0n$1<e&&e<CURVE.n}function isValidFieldElement(e){return _0n$1<e&&e<CURVE.P}function kmdToSig(e,t,a,s=!0){const{n:u}=CURVE,l=truncateHash(e,!0);if(!isWithinCurveOrder(l))return;const p=invert(l,u),m=Point.BASE.multiply(l),g=mod(m.x,u);if(g===_0n$1)return;const b=mod(p*mod(t+a*g,u),u);if(b===_0n$1)return;let v=new Signature(g,b),E=(m.x===v.r?0:2)|Number(m.y&_1n$1);return s&&v.hasHighS()&&(v=v.normalizeS(),E^=1),{sig:v,recovery:E}}function normalizePrivateKey$1(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if(typeof e=="string"){if(e.length!==2*groupLen)throw new Error("Expected 32 bytes of private key");t=hexToNumber(e)}else if(isBytes$3(e)){if(e.length!==groupLen)throw new Error("Expected 32 bytes of private key");t=bytesToNumber(e)}else throw new TypeError("Expected valid private key");if(!isWithinCurveOrder(t))throw new Error("Expected private key: 0 < key < n");return t}function normalizePublicKey(e){return e instanceof Point?(e.assertValidity(),e):Point.fromHex(e)}function normalizeSignature(e){if(e instanceof Signature)return e.assertValidity(),e;try{return Signature.fromDER(e)}catch{return Signature.fromCompact(e)}}function getPublicKey(e,t=!1){return Point.fromPrivateKey(e).toRawBytes(t)}function bits2int(e){const t=e.length>fieldLen?e.slice(0,fieldLen):e;return bytesToNumber(t)}function bits2octets(e){const t=bits2int(e),a=mod(t,CURVE.n);return int2octets(a<_0n$1?t:a)}function int2octets(e){return numTo32b(e)}function initSigArgs(e,t,a){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);const s=ensureBytes(e),u=normalizePrivateKey$1(t),l=[int2octets(u),bits2octets(s)];if(a!=null){a===!0&&(a=utils$9.randomBytes(fieldLen));const g=ensureBytes(a);if(g.length!==fieldLen)throw new Error(`sign: Expected ${fieldLen} bytes of extra data`);l.push(g)}const p=concatBytes(...l),m=bits2int(s);return{seed:p,m,d:u}}function finalizeSig(e,t){const{sig:a,recovery:s}=e,{der:u,recovered:l}=Object.assign({canonical:!0,der:!0},t),p=u?a.toDERRawBytes():a.toCompactRawBytes();return l?[p,s]:p}async function sign$1(e,t,a={}){const{seed:s,m:u,d:l}=initSigArgs(e,t,a.extraEntropy),p=new HmacDrbg(hashLen,groupLen);await p.reseed(s);let m;for(;!(m=kmdToSig(await p.generate(),u,l,a.canonical));)await p.reseed();return finalizeSig(m,a)}const vopts={strict:!0};function verify$2(e,t,a,s=vopts){let u;try{u=normalizeSignature(e),t=ensureBytes(t)}catch{return!1}const{r:l,s:p}=u;if(s.strict&&u.hasHighS())return!1;const m=truncateHash(t);let g;try{g=normalizePublicKey(a)}catch{return!1}const{n:b}=CURVE,v=invert(p,b),E=mod(m*v,b),M=mod(l*v,b),k=Point.BASE.multiplyAndAddUnsafe(g,E,M);return k?mod(k.x,b)===l:!1}Point.BASE._setWindowSize(8);const crypto$2={node:nodeCrypto,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},TAGGED_HASH_PREFIXES={},utils$9={bytesToHex:bytesToHex$1,hexToBytes:hexToBytes$1,concatBytes,mod,invert,isValidPrivateKey(e){try{return normalizePrivateKey$1(e),!0}catch{return!1}},_bigintTo32Bytes:numTo32b,_normalizePrivateKey:normalizePrivateKey$1,hashToPrivateKey:e=>{e=ensureBytes(e);const t=groupLen+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");const a=mod(bytesToNumber(e),CURVE.n-_1n$1)+_1n$1;return numTo32b(a)},randomBytes:(e=32)=>{if(crypto$2.web)return crypto$2.web.getRandomValues(new Uint8Array(e));if(crypto$2.node){const{randomBytes:t}=crypto$2.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>utils$9.hashToPrivateKey(utils$9.randomBytes(groupLen+8)),precompute(e=8,t=Point.BASE){const a=t===Point.BASE?t:new Point(t.x,t.y);return a._setWindowSize(e),a.multiply(_3n),a},sha256:async(...e)=>{if(crypto$2.web){const t=await crypto$2.web.subtle.digest("SHA-256",concatBytes(...e));return new Uint8Array(t)}else if(crypto$2.node){const{createHash:t}=crypto$2.node,a=t("sha256");return e.forEach(s=>a.update(s)),Uint8Array.from(a.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(e,...t)=>{if(crypto$2.web){const a=await crypto$2.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),s=concatBytes(...t),u=await crypto$2.web.subtle.sign("HMAC",a,s);return new Uint8Array(u)}else if(crypto$2.node){const{createHmac:a}=crypto$2.node,s=a("sha256",e);return t.forEach(u=>s.update(u)),Uint8Array.from(s.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(e,...t)=>{let a=TAGGED_HASH_PREFIXES[e];if(a===void 0){const s=await utils$9.sha256(Uint8Array.from(e,u=>u.charCodeAt(0)));a=concatBytes(s,s),TAGGED_HASH_PREFIXES[e]=a}return utils$9.sha256(a,...t)},taggedHashSync:(e,...t)=>{if(typeof _sha256Sync!="function")throw new ShaError("sha256Sync is undefined, you need to set it");let a=TAGGED_HASH_PREFIXES[e];if(a===void 0){const s=_sha256Sync(Uint8Array.from(e,u=>u.charCodeAt(0)));a=concatBytes(s,s),TAGGED_HASH_PREFIXES[e]=a}return _sha256Sync(a,...t)},_JacobianPoint:JacobianPoint};Object.defineProperties(utils$9,{sha256Sync:{configurable:!1,get(){return _sha256Sync},set(e){_sha256Sync||(_sha256Sync=e)}},hmacSha256Sync:{configurable:!1,get(){return _hmacSha256Sync},set(e){_hmacSha256Sync||(_hmacSha256Sync=e)}}});/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function isBytes$2(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function abytes(e,...t){if(!isBytes$2(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 isArrayOf(e,t){return Array.isArray(t)?t.length===0?!0:e?t.every(a=>typeof a=="string"):t.every(a=>Number.isSafeInteger(a)):!1}function afn(e){if(typeof e!="function")throw new Error("function expected");return!0}function astr(e,t){if(typeof t!="string")throw new Error(`${e}: string expected`);return!0}function anumber(e){if(!Number.isSafeInteger(e))throw new Error(`invalid integer: ${e}`)}function aArr(e){if(!Array.isArray(e))throw new Error("array expected")}function astrArr(e,t){if(!isArrayOf(!0,t))throw new Error(`${e}: array of strings expected`)}function anumArr(e,t){if(!isArrayOf(!1,t))throw new Error(`${e}: array of numbers expected`)}function chain(...e){const t=l=>l,a=(l,p)=>m=>l(p(m)),s=e.map(l=>l.encode).reduceRight(a,t),u=e.map(l=>l.decode).reduce(a,t);return{encode:s,decode:u}}function alphabet(e){const t=typeof e=="string"?e.split(""):e,a=t.length;astrArr("alphabet",t);const s=new Map(t.map((u,l)=>[u,l]));return{encode:u=>(aArr(u),u.map(l=>{if(!Number.isSafeInteger(l)||l<0||l>=a)throw new Error(`alphabet.encode: digit index outside alphabet "${l}". Allowed: ${e}`);return t[l]})),decode:u=>(aArr(u),u.map(l=>{astr("alphabet.decode",l);const p=s.get(l);if(p===void 0)throw new Error(`Unknown letter: "${l}". Allowed: ${e}`);return p}))}}function join(e=""){return astr("join",e),{encode:t=>(astrArr("join.decode",t),t.join(e)),decode:t=>(astr("join.decode",t),t.split(e))}}function padding(e,t="="){return anumber(e),astr("padding",t),{encode(a){for(astrArr("padding.encode",a);a.length*e%8;)a.push(t);return a},decode(a){astrArr("padding.decode",a);let s=a.length;if(s*e%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;s>0&&a[s-1]===t;s--)if((s-1)*e%8===0)throw new Error("padding: invalid, string has too much padding");return a.slice(0,s)}}}function convertRadix(e,t,a){if(t<2)throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(a<2)throw new Error(`convertRadix: invalid to=${a}, base cannot be less than 2`);if(aArr(e),!e.length)return[];let s=0;const u=[],l=Array.from(e,m=>{if(anumber(m),m<0||m>=t)throw new Error(`invalid integer: ${m}`);return m}),p=l.length;for(;;){let m=0,g=!0;for(let b=s;b<p;b++){const v=l[b],E=t*m,M=E+v;if(!Number.isSafeInteger(M)||E/t!==m||M-v!==E)throw new Error("convertRadix: carry overflow");const k=M/a;m=M%a;const P=Math.floor(k);if(l[b]=P,!Number.isSafeInteger(P)||P*a+m!==M)throw new Error("convertRadix: carry overflow");if(g)P?g=!1:s=b;else continue}if(u.push(m),g)break}for(let m=0;m<e.length-1&&e[m]===0;m++)u.push(0);return u.reverse()}const gcd=(e,t)=>t===0?e:gcd(t,e%t),radix2carry=(e,t)=>e+(t-gcd(e,t)),powers=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function convertRadix2(e,t,a,s){if(aArr(e),t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(a<=0||a>32)throw new Error(`convertRadix2: wrong to=${a}`);if(radix2carry(t,a)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${a} carryBits=${radix2carry(t,a)}`);let u=0,l=0;const p=powers[t],m=powers[a]-1,g=[];for(const b of e){if(anumber(b),b>=p)throw new Error(`convertRadix2: invalid data word=${b} from=${t}`);if(u=u<<t|b,l+t>32)throw new Error(`convertRadix2: carry overflow pos=${l} from=${t}`);for(l+=t;l>=a;l-=a)g.push((u>>l-a&m)>>>0);const v=powers[l];if(v===void 0)throw new Error("invalid carry");u&=v-1}if(u=u<<a-l&m,!s&&l>=t)throw new Error("Excess padding");if(!s&&u>0)throw new Error(`Non-zero padding: ${u}`);return s&&l>0&&g.push(u>>>0),g}function radix(e){anumber(e);const t=2**8;return{encode:a=>{if(!isBytes$2(a))throw new Error("radix.encode input should be Uint8Array");return convertRadix(Array.from(a),t,e)},decode:a=>(anumArr("radix.decode",a),Uint8Array.from(convertRadix(a,e,t)))}}function radix2(e,t=!1){if(anumber(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(radix2carry(8,e)>32||radix2carry(e,8)>32)throw new Error("radix2: carry overflow");return{encode:a=>{if(!isBytes$2(a))throw new Error("radix2.encode input should be Uint8Array");return convertRadix2(Array.from(a),8,e,!t)},decode:a=>(anumArr("radix2.decode",a),Uint8Array.from(convertRadix2(a,e,8,t)))}}function checksum(e,t){return anumber(e),afn(t),{encode(a){if(!isBytes$2(a))throw new Error("checksum.encode: input should be Uint8Array");const s=t(a).slice(0,e),u=new Uint8Array(a.length+e);return u.set(a),u.set(s,a.length),u},decode(a){if(!isBytes$2(a))throw new Error("checksum.decode: input should be Uint8Array");const s=a.slice(0,-e),u=a.slice(-e),l=t(s).slice(0,e);for(let p=0;p<e;p++)if(l[p]!==u[p])throw new Error("Invalid checksum");return s}}}const hasBase64Builtin=typeof Uint8Array.from([]).toBase64=="function"&&typeof Uint8Array.fromBase64=="function",decodeBase64Builtin=(e,t)=>{astr("base64",e);const a=/^[A-Za-z0-9=+/]+$/,s="base64";if(e.length>0&&!a.test(e))throw new Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:s,lastChunkHandling:"strict"})},base64$2=hasBase64Builtin?{encode(e){return abytes(e),e.toBase64()},decode(e){return decodeBase64Builtin(e)}}:chain(radix2(6),alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),padding(6),join("")),genBase58=e=>chain(radix(58),alphabet(e),join("")),base58$1=genBase58("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),createBase58check=e=>chain(checksum(4,t=>e(e(t))),base58$1),base58check=createBase58check;var pathBrowserify,hasRequiredPathBrowserify;function requirePathBrowserify(){if(hasRequiredPathBrowserify)return pathBrowserify;hasRequiredPathBrowserify=1;function e(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}function t(u,l){for(var p="",m=0,g=-1,b=0,v,E=0;E<=u.length;++E){if(E<u.length)v=u.charCodeAt(E);else{if(v===47)break;v=47}if(v===47){if(!(g===E-1||b===1))if(g!==E-1&&b===2){if(p.length<2||m!==2||p.charCodeAt(p.length-1)!==46||p.charCodeAt(p.length-2)!==46){if(p.length>2){var M=p.lastIndexOf("/");if(M!==p.length-1){M===-1?(p="",m=0):(p=p.slice(0,M),m=p.length-1-p.lastIndexOf("/")),g=E,b=0;continue}}else if(p.length===2||p.length===1){p="",m=0,g=E,b=0;continue}}l&&(p.length>0?p+="/..":p="..",m=2)}else p.length>0?p+="/"+u.slice(g+1,E):p=u.slice(g+1,E),m=E-g-1;g=E,b=0}else v===46&&b!==-1?++b:b=-1}return p}function a(u,l){var p=l.dir||l.root,m=l.base||(l.name||"")+(l.ext||"");return p?p===l.root?p+m:p+u+m:m}var s={resolve:function(){for(var l="",p=!1,m,g=arguments.length-1;g>=-1&&!p;g--){var b;g>=0?b=arguments[g]:(m===void 0&&(m=process$1.cwd()),b=m),e(b),b.length!==0&&(l=b+"/"+l,p=b.charCodeAt(0)===47)}return l=t(l,!p),p?l.length>0?"/"+l:"/":l.length>0?l:"."},normalize:function(l){if(e(l),l.length===0)return".";var p=l.charCodeAt(0)===47,m=l.charCodeAt(l.length-1)===47;return l=t(l,!p),l.length===0&&!p&&(l="."),l.length>0&&m&&(l+="/"),p?"/"+l:l},isAbsolute:function(l){return e(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,p=0;p<arguments.length;++p){var m=arguments[p];e(m),m.length>0&&(l===void 0?l=m:l+="/"+m)}return l===void 0?".":s.normalize(l)},relative:function(l,p){if(e(l),e(p),l===p||(l=s.resolve(l),p=s.resolve(p),l===p))return"";for(var m=1;m<l.length&&l.charCodeAt(m)===47;++m);for(var g=l.length,b=g-m,v=1;v<p.length&&p.charCodeAt(v)===47;++v);for(var E=p.length,M=E-v,k=b<M?b:M,P=-1,x=0;x<=k;++x){if(x===k){if(M>k){if(p.charCodeAt(v+x)===47)return p.slice(v+x+1);if(x===0)return p.slice(v+x)}else b>k&&(l.charCodeAt(m+x)===47?P=x:x===0&&(P=0));break}var A=l.charCodeAt(m+x),O=p.charCodeAt(v+x);if(A!==O)break;A===47&&(P=x)}var D="";for(x=m+P+1;x<=g;++x)(x===g||l.charCodeAt(x)===47)&&(D.length===0?D+="..":D+="/..");return D.length>0?D+p.slice(v+P):(v+=P,p.charCodeAt(v)===47&&++v,p.slice(v))},_makeLong:function(l){return l},dirname:function(l){if(e(l),l.length===0)return".";for(var p=l.charCodeAt(0),m=p===47,g=-1,b=!0,v=l.length-1;v>=1;--v)if(p=l.charCodeAt(v),p===47){if(!b){g=v;break}}else b=!1;return g===-1?m?"/":".":m&&g===1?"//":l.slice(0,g)},basename:function(l,p){if(p!==void 0&&typeof p!="string")throw new TypeError('"ext" argument must be a string');e(l);var m=0,g=-1,b=!0,v;if(p!==void 0&&p.length>0&&p.length<=l.length){if(p.length===l.length&&p===l)return"";var E=p.length-1,M=-1;for(v=l.length-1;v>=0;--v){var k=l.charCodeAt(v);if(k===47){if(!b){m=v+1;break}}else M===-1&&(b=!1,M=v+1),E>=0&&(k===p.charCodeAt(E)?--E===-1&&(g=v):(E=-1,g=M))}return m===g?g=M:g===-1&&(g=l.length),l.slice(m,g)}else{for(v=l.length-1;v>=0;--v)if(l.charCodeAt(v)===47){if(!b){m=v+1;break}}else g===-1&&(b=!1,g=v+1);return g===-1?"":l.slice(m,g)}},extname:function(l){e(l);for(var p=-1,m=0,g=-1,b=!0,v=0,E=l.length-1;E>=0;--E){var M=l.charCodeAt(E);if(M===47){if(!b){m=E+1;break}continue}g===-1&&(b=!1,g=E+1),M===46?p===-1?p=E:v!==1&&(v=1):p!==-1&&(v=-1)}return p===-1||g===-1||v===0||v===1&&p===g-1&&p===m+1?"":l.slice(p,g)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return a("/",l)},parse:function(l){e(l);var p={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return p;var m=l.charCodeAt(0),g=m===47,b;g?(p.root="/",b=1):b=0;for(var v=-1,E=0,M=-1,k=!0,P=l.length-1,x=0;P>=b;--P){if(m=l.charCodeAt(P),m===47){if(!k){E=P+1;break}continue}M===-1&&(k=!1,M=P+1),m===46?v===-1?v=P:x!==1&&(x=1):v!==-1&&(x=-1)}return v===-1||M===-1||x===0||x===1&&v===M-1&&v===E+1?M!==-1&&(E===0&&g?p.base=p.name=l.slice(1,M):p.base=p.name=l.slice(E,M)):(E===0&&g?(p.name=l.slice(1,v),p.base=l.slice(1,M)):(p.name=l.slice(E,v),p.base=l.slice(E,M)),p.ext=l.slice(v,M)),E>0?p.dir=l.slice(0,E-1):g&&(p.dir="/"),p},sep:"/",delimiter:":",win32:null,posix:null};return s.posix=s,pathBrowserify=s,pathBrowserify}requirePathBrowserify();var keccak$1,hasRequiredKeccak$1;function requireKeccak$1(){if(hasRequiredKeccak$1)return keccak$1;hasRequiredKeccak$1=1;const{Transform:e}=requireReadableBrowser$2();return keccak$1=t=>class gn extends e{constructor(s,u,l,p,m){super(m),this._rate=s,this._capacity=u,this._delimitedSuffix=l,this._hashBitLength=p,this._options=m,this._state=new t,this._state.initialize(s,u),this._finalized=!1}_transform(s,u,l){let p=null;try{this.update(s,u)}catch(m){p=m}l(p)}_flush(s){let u=null;try{this.push(this.digest())}catch(l){u=l}s(u)}update(s,u){if(!Buffer.isBuffer(s)&&typeof s!="string")throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Digest already called");return Buffer.isBuffer(s)||(s=Buffer.from(s,u)),this._state.absorb(s),this}digest(s){if(this._finalized)throw new Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);let u=this._state.squeeze(this._hashBitLength/8);return s!==void 0&&(u=u.toString(s)),this._resetState(),u}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){const s=new gn(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(s._state),s._finalized=this._finalized,s}},keccak$1}var shake,hasRequiredShake;function requireShake(){if(hasRequiredShake)return shake;hasRequiredShake=1;const{Transform:e}=requireReadableBrowser$2();return shake=t=>class yn extends e{constructor(s,u,l,p){super(p),this._rate=s,this._capacity=u,this._delimitedSuffix=l,this._options=p,this._state=new t,this._state.initialize(s,u),this._finalized=!1}_transform(s,u,l){let p=null;try{this.update(s,u)}catch(m){p=m}l(p)}_flush(){}_read(s){this.push(this.squeeze(s))}update(s,u){if(!Buffer.isBuffer(s)&&typeof s!="string")throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Squeeze already called");return Buffer.isBuffer(s)||(s=Buffer.from(s,u)),this._state.absorb(s),this}squeeze(s,u){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));let l=this._state.squeeze(s);return u!==void 0&&(l=l.toString(u)),l}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){const s=new yn(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(s._state),s._finalized=this._finalized,s}},shake}var api,hasRequiredApi;function requireApi(){if(hasRequiredApi)return api;hasRequiredApi=1;const e=requireKeccak$1(),t=requireShake();return api=function(a){const s=e(a),u=t(a);return function(l,p){switch(typeof l=="string"?l.toLowerCase():l){case"keccak224":return new s(1152,448,null,224,p);case"keccak256":return new s(1088,512,null,256,p);case"keccak384":return new s(832,768,null,384,p);case"keccak512":return new s(576,1024,null,512,p);case"sha3-224":return new s(1152,448,6,224,p);case"sha3-256":return new s(1088,512,6,256,p);case"sha3-384":return new s(832,768,6,384,p);case"sha3-512":return new s(576,1024,6,512,p);case"shake128":return new u(1344,256,31,p);case"shake256":return new u(1088,512,31,p);default:throw new Error("Invald algorithm: "+l)}}},api}var keccakStateUnroll={},hasRequiredKeccakStateUnroll;function requireKeccakStateUnroll(){if(hasRequiredKeccakStateUnroll)return keccakStateUnroll;hasRequiredKeccakStateUnroll=1;const e=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648];return keccakStateUnroll.p1600=function(t){for(let a=0;a<24;++a){const s=t[0]^t[10]^t[20]^t[30]^t[40],u=t[1]^t[11]^t[21]^t[31]^t[41],l=t[2]^t[12]^t[22]^t[32]^t[42],p=t[3]^t[13]^t[23]^t[33]^t[43],m=t[4]^t[14]^t[24]^t[34]^t[44],g=t[5]^t[15]^t[25]^t[35]^t[45],b=t[6]^t[16]^t[26]^t[36]^t[46],v=t[7]^t[17]^t[27]^t[37]^t[47],E=t[8]^t[18]^t[28]^t[38]^t[48],M=t[9]^t[19]^t[29]^t[39]^t[49];let k=E^(l<<1|p>>>31),P=M^(p<<1|l>>>31);const x=t[0]^k,A=t[1]^P,O=t[10]^k,D=t[11]^P,z=t[20]^k,C=t[21]^P,L=t[30]^k,j=t[31]^P,K=t[40]^k,V=t[41]^P;k=s^(m<<1|g>>>31),P=u^(g<<1|m>>>31);const F=t[2]^k,q=t[3]^P,R=t[12]^k,y=t[13]^P,S=t[22]^k,w=t[23]^P,T=t[32]^k,U=t[33]^P,N=t[42]^k,$=t[43]^P;k=l^(b<<1|v>>>31),P=p^(v<<1|b>>>31);const I=t[4]^k,_=t[5]^P,H=t[14]^k,Z=t[15]^P,W=t[24]^k,G=t[25]^P,J=t[34]^k,ie=t[35]^P,Y=t[44]^k,te=t[45]^P;k=m^(E<<1|M>>>31),P=g^(M<<1|E>>>31);const ee=t[6]^k,ae=t[7]^P,de=t[16]^k,le=t[17]^P,be=t[26]^k,ne=t[27]^P,pe=t[36]^k,ve=t[37]^P,qe=t[46]^k,$e=t[47]^P;k=b^(s<<1|u>>>31),P=v^(u<<1|s>>>31);const Ce=t[8]^k,Ye=t[9]^P,Je=t[18]^k,oe=t[19]^P,me=t[28]^k,ye=t[29]^P,Pe=t[38]^k,we=t[39]^P,_e=t[48]^k,Me=t[49]^P,Fe=x,Se=A,ue=D<<4|O>>>28,Ae=O<<4|D>>>28,Te=z<<3|C>>>29,Be=C<<3|z>>>29,Ue=j<<9|L>>>23,Ie=L<<9|j>>>23,ke=K<<18|V>>>14,tt=V<<18|K>>>14,Ke=F<<1|q>>>31,Ee=q<<1|F>>>31,Xe=y<<12|R>>>20,De=R<<12|y>>>20,Oe=S<<10|w>>>22,Ve=w<<10|S>>>22,je=U<<13|T>>>19,it=T<<13|U>>>19,at=N<<2|$>>>30,Re=$<<2|N>>>30,he=_<<30|I>>>2,Ne=I<<30|_>>>2,B=H<<6|Z>>>26,X=Z<<6|H>>>26,Q=G<<11|W>>>21,fe=W<<11|G>>>21,ce=J<<15|ie>>>17,se=ie<<15|J>>>17,ze=te<<29|Y>>>3,Ge=Y<<29|te>>>3,rt=ee<<28|ae>>>4,et=ae<<28|ee>>>4,ot=le<<23|de>>>9,dt=de<<23|le>>>9,lt=be<<25|ne>>>7,It=ne<<25|be>>>7,pt=pe<<21|ve>>>11,vt=ve<<21|pe>>>11,Et=$e<<24|qe>>>8,wt=qe<<24|$e>>>8,Tt=Ce<<27|Ye>>>5,xt=Ye<<27|Ce>>>5,kt=Je<<20|oe>>>12,Pt=oe<<20|Je>>>12,mt=ye<<7|me>>>25,_t=me<<7|ye>>>25,gt=Pe<<8|we>>>24,yt=we<<8|Pe>>>24,St=_e<<14|Me>>>18,ht=Me<<14|_e>>>18;t[0]=Fe^~Xe&Q,t[1]=Se^~De&fe,t[10]=rt^~kt&Te,t[11]=et^~Pt&Be,t[20]=Ke^~B<,t[21]=Ee^~X&It,t[30]=Tt^~ue&Oe,t[31]=xt^~Ae&Ve,t[40]=he^~ot&mt,t[41]=Ne^~dt&_t,t[2]=Xe^~Q&pt,t[3]=De^~fe&vt,t[12]=kt^~Te&je,t[13]=Pt^~Be&it,t[22]=B^~lt>,t[23]=X^~It&yt,t[32]=ue^~Oe&ce,t[33]=Ae^~Ve&se,t[42]=ot^~mt&Ue,t[43]=dt^~_t&Ie,t[4]=Q^~pt&St,t[5]=fe^~vt&ht,t[14]=Te^~je&ze,t[15]=Be^~it&Ge,t[24]=lt^~gt&ke,t[25]=It^~yt&tt,t[34]=Oe^~ce&Et,t[35]=Ve^~se&wt,t[44]=mt^~Ue&at,t[45]=_t^~Ie&Re,t[6]=pt^~St&Fe,t[7]=vt^~ht&Se,t[16]=je^~ze&rt,t[17]=it^~Ge&et,t[26]=gt^~ke&Ke,t[27]=yt^~tt&Ee,t[36]=ce^~Et&Tt,t[37]=se^~wt&xt,t[46]=Ue^~at&he,t[47]=Ie^~Re&Ne,t[8]=St^~Fe&Xe,t[9]=ht^~Se&De,t[18]=ze^~rt&kt,t[19]=Ge^~et&Pt,t[28]=ke^~Ke&B,t[29]=tt^~Ee&X,t[38]=Et^~Tt&ue,t[39]=wt^~xt&Ae,t[48]=at^~he&ot,t[49]=Re^~Ne&dt,t[0]^=e[a*2],t[1]^=e[a*2+1]}},keccakStateUnroll}var keccak,hasRequiredKeccak;function requireKeccak(){if(hasRequiredKeccak)return keccak;hasRequiredKeccak=1;const e=requireKeccakStateUnroll();function t(){this.state=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.blockSize=null,this.count=0,this.squeezing=!1}return t.prototype.initialize=function(a,s){for(let u=0;u<50;++u)this.state[u]=0;this.blockSize=a/8,this.count=0,this.squeezing=!1},t.prototype.absorb=function(a){for(let s=0;s<a.length;++s)this.state[~~(this.count/4)]^=a[s]<<8*(this.count%4),this.count+=1,this.count===this.blockSize&&(e.p1600(this.state),this.count=0)},t.prototype.absorbLastFewBits=function(a){this.state[~~(this.count/4)]^=a<<8*(this.count%4),(a&128)!==0&&this.count===this.blockSize-1&&e.p1600(this.state),this.state[~~((this.blockSize-1)/4)]^=128<<8*((this.blockSize-1)%4),e.p1600(this.state),this.count=0,this.squeezing=!0},t.prototype.squeeze=function(a){this.squeezing||this.absorbLastFewBits(1);const s=Buffer.alloc(a);for(let u=0;u<a;++u)s[u]=this.state[~~(this.count/4)]>>>8*(this.count%4)&255,this.count+=1,this.count===this.blockSize&&(e.p1600(this.state),this.count=0);return s},t.prototype.copy=function(a){for(let s=0;s<50;++s)a.state[s]=this.state[s];a.blockSize=this.blockSize,a.count=this.count,a.squeezing=this.squeezing},keccak=t,keccak}var js,hasRequiredJs;function requireJs(){return hasRequiredJs||(hasRequiredJs=1,js=requireApi()(requireKeccak())),js}var keccak256_1,hasRequiredKeccak256;function requireKeccak256(){if(hasRequiredKeccak256)return keccak256_1;hasRequiredKeccak256=1;var e=keccak256_1&&keccak256_1.__importDefault||function(k){return k&&k.__esModule?k:{default:k}};const t=e(requireBn$7()),a=e(requireDist$7()),s=e(requireJs()),u=a.default.Buffer;function l(k){return k=p(k),(0,s.default)("keccak256").update(k).digest()}function p(k){if(!u.isBuffer(k))if(Array.isArray(k))k=u.from(k);else if(typeof k=="string")m(k)?k=u.from(g(b(k)),"hex"):k=u.from(k);else if(typeof k=="number")k=E(k);else if(k==null)k=u.allocUnsafe(0);else if(t.default.isBN(k))k=k.toArrayLike(u);else if(k.toArray)k=u.from(k.toArray());else throw new Error("invalid type");return k}function m(k,P){return!(typeof k!="string"||!k.match(/^0x[0-9A-Fa-f]*$/))}function g(k){if(typeof k!="string")throw new Error(`while padding to even, value must be string, is currently ${typeof k}, while padToEven.`);return k.length%2&&(k=`0${k}`),k}function b(k){return typeof k!="string"?k:v(k)?k.slice(2):k}function v(k){if(typeof k!="string")throw new Error("value must be type 'string', is currently type "+typeof k+", while checking isHexPrefixed.");return k.slice(0,2)==="0x"}function E(k){const P=M(k);return u.from(g(P.slice(2)),"hex")}function M(k){return`0x${k.toString(16)}`}return typeof window<"u"&&(window.keccak256=l),keccak256_1=l,keccak256_1}var keccak256Exports=requireKeccak256();const KECCAK256=getDefaultExportFromCjs$2(keccak256Exports);var dist$5={},hasRequiredDist$5;function requireDist$5(){if(hasRequiredDist$5)return dist$5;hasRequiredDist$5=1,Object.defineProperty(dist$5,"__esModule",{value:!0}),dist$5.bech32m=dist$5.bech32=void 0;const e="qpzry9x8gf2tvdw0s3jn54khce6mua7l",t={};for(let b=0;b<e.length;b++){const v=e.charAt(b);t[v]=b}function a(b){const v=b>>25;return(b&33554431)<<5^-(v>>0&1)&996825010^-(v>>1&1)&642813549^-(v>>2&1)&513874426^-(v>>3&1)&1027748829^-(v>>4&1)&705979059}function s(b){let v=1;for(let E=0;E<b.length;++E){const M=b.charCodeAt(E);if(M<33||M>126)return"Invalid prefix ("+b+")";v=a(v)^M>>5}v=a(v);for(let E=0;E<b.length;++E){const M=b.charCodeAt(E);v=a(v)^M&31}return v}function u(b,v,E,M){let k=0,P=0;const x=(1<<E)-1,A=[];for(let O=0;O<b.length;++O)for(k=k<<v|b[O],P+=v;P>=E;)P-=E,A.push(k>>P&x);if(M)P>0&&A.push(k<<E-P&x);else{if(P>=v)return"Excess padding";if(k<<E-P&x)return"Non-zero padding"}return A}function l(b){return u(b,8,5,!0)}function p(b){const v=u(b,5,8,!1);if(Array.isArray(v))return v}function m(b){const v=u(b,5,8,!1);if(Array.isArray(v))return v;throw new Error(v)}function g(b){let v;b==="bech32"?v=1:v=734539939;function E(x,A,O){if(O=O||90,x.length+7+A.length>O)throw new TypeError("Exceeds length limit");x=x.toLowerCase();let D=s(x);if(typeof D=="string")throw new Error(D);let z=x+"1";for(let C=0;C<A.length;++C){const L=A[C];if(L>>5!==0)throw new Error("Non 5-bit word");D=a(D)^L,z+=e.charAt(L)}for(let C=0;C<6;++C)D=a(D);D^=v;for(let C=0;C<6;++C){const L=D>>(5-C)*5&31;z+=e.charAt(L)}return z}function M(x,A){if(A=A||90,x.length<8)return x+" too short";if(x.length>A)return"Exceeds length limit";const O=x.toLowerCase(),D=x.toUpperCase();if(x!==O&&x!==D)return"Mixed-case string "+x;x=O;const z=x.lastIndexOf("1");if(z===-1)return"No separator character for "+x;if(z===0)return"Missing prefix for "+x;const C=x.slice(0,z),L=x.slice(z+1);if(L.length<6)return"Data too short";let j=s(C);if(typeof j=="string")return j;const K=[];for(let V=0;V<L.length;++V){const F=L.charAt(V),q=t[F];if(q===void 0)return"Unknown character "+F;j=a(j)^q,!(V+6>=L.length)&&K.push(q)}return j!==v?"Invalid checksum for "+x:{prefix:C,words:K}}function k(x,A){const O=M(x,A);if(typeof O=="object")return O}function P(x,A){const O=M(x,A);if(typeof O=="object")return O;throw new Error(O)}return{decodeUnsafe:k,decode:P,encode:E,toWords:l,fromWordsUnsafe:p,fromWords:m}}return dist$5.bech32=g("bech32"),dist$5.bech32m=g("bech32m"),dist$5}var distExports$1=requireDist$5(),browser$3,hasRequiredBrowser$3;function requireBrowser$3(){return hasRequiredBrowser$3||(hasRequiredBrowser$3=1,browser$3=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}),browser$3}var browserExports$1=requireBrowser$3();const WebSocket$1=getDefaultExportFromCjs$2(browserExports$1);requireRipemd160();var re={exports:{}},constants,hasRequiredConstants;function requireConstants(){if(hasRequiredConstants)return constants;hasRequiredConstants=1;const e="2.0.0",t=256,a=Number.MAX_SAFE_INTEGER||9007199254740991,s=16,u=t-6;return constants={MAX_LENGTH:t,MAX_SAFE_COMPONENT_LENGTH:s,MAX_SAFE_BUILD_LENGTH:u,MAX_SAFE_INTEGER:a,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},constants}var debug_1,hasRequiredDebug;function requireDebug(){return hasRequiredDebug||(hasRequiredDebug=1,debug_1=typeof process$1=="object"&&process$1.env&&process$1.env.NODE_DEBUG&&/\bsemver\b/i.test(process$1.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{}),debug_1}var hasRequiredRe;function requireRe(){return hasRequiredRe||(hasRequiredRe=1,(function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:a,MAX_SAFE_BUILD_LENGTH:s,MAX_LENGTH:u}=requireConstants(),l=requireDebug();t=e.exports={};const p=t.re=[],m=t.safeRe=[],g=t.src=[],b=t.safeSrc=[],v=t.t={};let E=0;const M="[a-zA-Z0-9-]",k=[["\\s",1],["\\d",u],[M,s]],P=A=>{for(const[O,D]of k)A=A.split(`${O}*`).join(`${O}{0,${D}}`).split(`${O}+`).join(`${O}{1,${D}}`);return A},x=(A,O,D)=>{const z=P(O),C=E++;l(A,C,O),v[A]=C,g[C]=O,b[C]=z,p[C]=new RegExp(O,D?"g":void 0),m[C]=new RegExp(z,D?"g":void 0)};x("NUMERICIDENTIFIER","0|[1-9]\\d*"),x("NUMERICIDENTIFIERLOOSE","\\d+"),x("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${M}*`),x("MAINVERSION",`(${g[v.NUMERICIDENTIFIER]})\\.(${g[v.NUMERICIDENTIFIER]})\\.(${g[v.NUMERICIDENTIFIER]})`),x("MAINVERSIONLOOSE",`(${g[v.NUMERICIDENTIFIERLOOSE]})\\.(${g[v.NUMERICIDENTIFIERLOOSE]})\\.(${g[v.NUMERICIDENTIFIERLOOSE]})`),x("PRERELEASEIDENTIFIER",`(?:${g[v.NONNUMERICIDENTIFIER]}|${g[v.NUMERICIDENTIFIER]})`),x("PRERELEASEIDENTIFIERLOOSE",`(?:${g[v.NONNUMERICIDENTIFIER]}|${g[v.NUMERICIDENTIFIERLOOSE]})`),x("PRERELEASE",`(?:-(${g[v.PRERELEASEIDENTIFIER]}(?:\\.${g[v.PRERELEASEIDENTIFIER]})*))`),x("PRERELEASELOOSE",`(?:-?(${g[v.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${g[v.PRERELEASEIDENTIFIERLOOSE]})*))`),x("BUILDIDENTIFIER",`${M}+`),x("BUILD",`(?:\\+(${g[v.BUILDIDENTIFIER]}(?:\\.${g[v.BUILDIDENTIFIER]})*))`),x("FULLPLAIN",`v?${g[v.MAINVERSION]}${g[v.PRERELEASE]}?${g[v.BUILD]}?`),x("FULL",`^${g[v.FULLPLAIN]}$`),x("LOOSEPLAIN",`[v=\\s]*${g[v.MAINVERSIONLOOSE]}${g[v.PRERELEASELOOSE]}?${g[v.BUILD]}?`),x("LOOSE",`^${g[v.LOOSEPLAIN]}$`),x("GTLT","((?:<|>)?=?)"),x("XRANGEIDENTIFIERLOOSE",`${g[v.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),x("XRANGEIDENTIFIER",`${g[v.NUMERICIDENTIFIER]}|x|X|\\*`),x("XRANGEPLAIN",`[v=\\s]*(${g[v.XRANGEIDENTIFIER]})(?:\\.(${g[v.XRANGEIDENTIFIER]})(?:\\.(${g[v.XRANGEIDENTIFIER]})(?:${g[v.PRERELEASE]})?${g[v.BUILD]}?)?)?`),x("XRANGEPLAINLOOSE",`[v=\\s]*(${g[v.XRANGEIDENTIFIERLOOSE]})(?:\\.(${g[v.XRANGEIDENTIFIERLOOSE]})(?:\\.(${g[v.XRANGEIDENTIFIERLOOSE]})(?:${g[v.PRERELEASELOOSE]})?${g[v.BUILD]}?)?)?`),x("XRANGE",`^${g[v.GTLT]}\\s*${g[v.XRANGEPLAIN]}$`),x("XRANGELOOSE",`^${g[v.GTLT]}\\s*${g[v.XRANGEPLAINLOOSE]}$`),x("COERCEPLAIN",`(^|[^\\d])(\\d{1,${a}})(?:\\.(\\d{1,${a}}))?(?:\\.(\\d{1,${a}}))?`),x("COERCE",`${g[v.COERCEPLAIN]}(?:$|[^\\d])`),x("COERCEFULL",g[v.COERCEPLAIN]+`(?:${g[v.PRERELEASE]})?(?:${g[v.BUILD]})?(?:$|[^\\d])`),x("COERCERTL",g[v.COERCE],!0),x("COERCERTLFULL",g[v.COERCEFULL],!0),x("LONETILDE","(?:~>?)"),x("TILDETRIM",`(\\s*)${g[v.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",x("TILDE",`^${g[v.LONETILDE]}${g[v.XRANGEPLAIN]}$`),x("TILDELOOSE",`^${g[v.LONETILDE]}${g[v.XRANGEPLAINLOOSE]}$`),x("LONECARET","(?:\\^)"),x("CARETTRIM",`(\\s*)${g[v.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",x("CARET",`^${g[v.LONECARET]}${g[v.XRANGEPLAIN]}$`),x("CARETLOOSE",`^${g[v.LONECARET]}${g[v.XRANGEPLAINLOOSE]}$`),x("COMPARATORLOOSE",`^${g[v.GTLT]}\\s*(${g[v.LOOSEPLAIN]})$|^$`),x("COMPARATOR",`^${g[v.GTLT]}\\s*(${g[v.FULLPLAIN]})$|^$`),x("COMPARATORTRIM",`(\\s*)${g[v.GTLT]}\\s*(${g[v.LOOSEPLAIN]}|${g[v.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",x("HYPHENRANGE",`^\\s*(${g[v.XRANGEPLAIN]})\\s+-\\s+(${g[v.XRANGEPLAIN]})\\s*$`),x("HYPHENRANGELOOSE",`^\\s*(${g[v.XRANGEPLAINLOOSE]})\\s+-\\s+(${g[v.XRANGEPLAINLOOSE]})\\s*$`),x("STAR","(<|>)?=?\\s*\\*"),x("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),x("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(re,re.exports)),re.exports}var parseOptions_1,hasRequiredParseOptions;function requireParseOptions(){if(hasRequiredParseOptions)return parseOptions_1;hasRequiredParseOptions=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return parseOptions_1=s=>s?typeof s!="object"?e:s:t,parseOptions_1}var identifiers,hasRequiredIdentifiers;function requireIdentifiers(){if(hasRequiredIdentifiers)return identifiers;hasRequiredIdentifiers=1;const e=/^[0-9]+$/,t=(s,u)=>{if(typeof s=="number"&&typeof u=="number")return s===u?0:s<u?-1:1;const l=e.test(s),p=e.test(u);return l&&p&&(s=+s,u=+u),s===u?0:l&&!p?-1:p&&!l?1:s<u?-1:1};return identifiers={compareIdentifiers:t,rcompareIdentifiers:(s,u)=>t(u,s)},identifiers}var semver$1,hasRequiredSemver$1;function requireSemver$1(){if(hasRequiredSemver$1)return semver$1;hasRequiredSemver$1=1;const e=requireDebug(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:a}=requireConstants(),{safeRe:s,t:u}=requireRe(),l=requireParseOptions(),{compareIdentifiers:p}=requireIdentifiers();class m{constructor(b,v){if(v=l(v),b instanceof m){if(b.loose===!!v.loose&&b.includePrerelease===!!v.includePrerelease)return b;b=b.version}else if(typeof b!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof b}".`);if(b.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",b,v),this.options=v,this.loose=!!v.loose,this.includePrerelease=!!v.includePrerelease;const E=b.trim().match(v.loose?s[u.LOOSE]:s[u.FULL]);if(!E)throw new TypeError(`Invalid Version: ${b}`);if(this.raw=b,this.major=+E[1],this.minor=+E[2],this.patch=+E[3],this.major>a||this.major<0)throw new TypeError("Invalid major version");if(this.minor>a||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>a||this.patch<0)throw new TypeError("Invalid patch version");E[4]?this.prerelease=E[4].split(".").map(M=>{if(/^[0-9]+$/.test(M)){const k=+M;if(k>=0&&k<a)return k}return M}):this.prerelease=[],this.build=E[5]?E[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(b){if(e("SemVer.compare",this.version,this.options,b),!(b instanceof m)){if(typeof b=="string"&&b===this.version)return 0;b=new m(b,this.options)}return b.version===this.version?0:this.compareMain(b)||this.comparePre(b)}compareMain(b){return b instanceof m||(b=new m(b,this.options)),this.major<b.major?-1:this.major>b.major?1:this.minor<b.minor?-1:this.minor>b.minor?1:this.patch<b.patch?-1:this.patch>b.patch?1:0}comparePre(b){if(b instanceof m||(b=new m(b,this.options)),this.prerelease.length&&!b.prerelease.length)return-1;if(!this.prerelease.length&&b.prerelease.length)return 1;if(!this.prerelease.length&&!b.prerelease.length)return 0;let v=0;do{const E=this.prerelease[v],M=b.prerelease[v];if(e("prerelease compare",v,E,M),E===void 0&&M===void 0)return 0;if(M===void 0)return 1;if(E===void 0)return-1;if(E===M)continue;return p(E,M)}while(++v)}compareBuild(b){b instanceof m||(b=new m(b,this.options));let v=0;do{const E=this.build[v],M=b.build[v];if(e("build compare",v,E,M),E===void 0&&M===void 0)return 0;if(M===void 0)return 1;if(E===void 0)return-1;if(E===M)continue;return p(E,M)}while(++v)}inc(b,v,E){if(b.startsWith("pre")){if(!v&&E===!1)throw new Error("invalid increment argument: identifier is empty");if(v){const M=`-${v}`.match(this.options.loose?s[u.PRERELEASELOOSE]:s[u.PRERELEASE]);if(!M||M[1]!==v)throw new Error(`invalid identifier: ${v}`)}}switch(b){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",v,E);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",v,E);break;case"prepatch":this.prerelease.length=0,this.inc("patch",v,E),this.inc("pre",v,E);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",v,E),this.inc("pre",v,E);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const M=Number(E)?1:0;if(this.prerelease.length===0)this.prerelease=[M];else{let k=this.prerelease.length;for(;--k>=0;)typeof this.prerelease[k]=="number"&&(this.prerelease[k]++,k=-2);if(k===-1){if(v===this.prerelease.join(".")&&E===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(M)}}if(v){let k=[v,M];E===!1&&(k=[v]),p(this.prerelease[0],v)===0?isNaN(this.prerelease[1])&&(this.prerelease=k):this.prerelease=k}break}default:throw new Error(`invalid increment argument: ${b}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return semver$1=m,semver$1}var parse_1,hasRequiredParse;function requireParse(){if(hasRequiredParse)return parse_1;hasRequiredParse=1;const e=requireSemver$1();return parse_1=(a,s,u=!1)=>{if(a instanceof e)return a;try{return new e(a,s)}catch(l){if(!u)return null;throw l}},parse_1}var valid_1,hasRequiredValid$1;function requireValid$1(){if(hasRequiredValid$1)return valid_1;hasRequiredValid$1=1;const e=requireParse();return valid_1=(a,s)=>{const u=e(a,s);return u?u.version:null},valid_1}var clean_1,hasRequiredClean;function requireClean(){if(hasRequiredClean)return clean_1;hasRequiredClean=1;const e=requireParse();return clean_1=(a,s)=>{const u=e(a.trim().replace(/^[=v]+/,""),s);return u?u.version:null},clean_1}var inc_1,hasRequiredInc;function requireInc(){if(hasRequiredInc)return inc_1;hasRequiredInc=1;const e=requireSemver$1();return inc_1=(a,s,u,l,p)=>{typeof u=="string"&&(p=l,l=u,u=void 0);try{return new e(a instanceof e?a.version:a,u).inc(s,l,p).version}catch{return null}},inc_1}var diff_1,hasRequiredDiff;function requireDiff(){if(hasRequiredDiff)return diff_1;hasRequiredDiff=1;const e=requireParse();return diff_1=(a,s)=>{const u=e(a,null,!0),l=e(s,null,!0),p=u.compare(l);if(p===0)return null;const m=p>0,g=m?u:l,b=m?l:u,v=!!g.prerelease.length;if(!!b.prerelease.length&&!v){if(!b.patch&&!b.minor)return"major";if(b.compareMain(g)===0)return b.minor&&!b.patch?"minor":"patch"}const M=v?"pre":"";return u.major!==l.major?M+"major":u.minor!==l.minor?M+"minor":u.patch!==l.patch?M+"patch":"prerelease"},diff_1}var major_1,hasRequiredMajor;function requireMajor(){if(hasRequiredMajor)return major_1;hasRequiredMajor=1;const e=requireSemver$1();return major_1=(a,s)=>new e(a,s).major,major_1}var minor_1,hasRequiredMinor;function requireMinor(){if(hasRequiredMinor)return minor_1;hasRequiredMinor=1;const e=requireSemver$1();return minor_1=(a,s)=>new e(a,s).minor,minor_1}var patch_1,hasRequiredPatch;function requirePatch(){if(hasRequiredPatch)return patch_1;hasRequiredPatch=1;const e=requireSemver$1();return patch_1=(a,s)=>new e(a,s).patch,patch_1}var prerelease_1,hasRequiredPrerelease;function requirePrerelease(){if(hasRequiredPrerelease)return prerelease_1;hasRequiredPrerelease=1;const e=requireParse();return prerelease_1=(a,s)=>{const u=e(a,s);return u&&u.prerelease.length?u.prerelease:null},prerelease_1}var compare_1,hasRequiredCompare;function requireCompare(){if(hasRequiredCompare)return compare_1;hasRequiredCompare=1;const e=requireSemver$1();return compare_1=(a,s,u)=>new e(a,u).compare(new e(s,u)),compare_1}var rcompare_1,hasRequiredRcompare;function requireRcompare(){if(hasRequiredRcompare)return rcompare_1;hasRequiredRcompare=1;const e=requireCompare();return rcompare_1=(a,s,u)=>e(s,a,u),rcompare_1}var compareLoose_1,hasRequiredCompareLoose;function requireCompareLoose(){if(hasRequiredCompareLoose)return compareLoose_1;hasRequiredCompareLoose=1;const e=requireCompare();return compareLoose_1=(a,s)=>e(a,s,!0),compareLoose_1}var compareBuild_1,hasRequiredCompareBuild;function requireCompareBuild(){if(hasRequiredCompareBuild)return compareBuild_1;hasRequiredCompareBuild=1;const e=requireSemver$1();return compareBuild_1=(a,s,u)=>{const l=new e(a,u),p=new e(s,u);return l.compare(p)||l.compareBuild(p)},compareBuild_1}var sort_1,hasRequiredSort;function requireSort(){if(hasRequiredSort)return sort_1;hasRequiredSort=1;const e=requireCompareBuild();return sort_1=(a,s)=>a.sort((u,l)=>e(u,l,s)),sort_1}var rsort_1,hasRequiredRsort;function requireRsort(){if(hasRequiredRsort)return rsort_1;hasRequiredRsort=1;const e=requireCompareBuild();return rsort_1=(a,s)=>a.sort((u,l)=>e(l,u,s)),rsort_1}var gt_1,hasRequiredGt;function requireGt(){if(hasRequiredGt)return gt_1;hasRequiredGt=1;const e=requireCompare();return gt_1=(a,s,u)=>e(a,s,u)>0,gt_1}var lt_1,hasRequiredLt;function requireLt(){if(hasRequiredLt)return lt_1;hasRequiredLt=1;const e=requireCompare();return lt_1=(a,s,u)=>e(a,s,u)<0,lt_1}var eq_1,hasRequiredEq;function requireEq(){if(hasRequiredEq)return eq_1;hasRequiredEq=1;const e=requireCompare();return eq_1=(a,s,u)=>e(a,s,u)===0,eq_1}var neq_1,hasRequiredNeq;function requireNeq(){if(hasRequiredNeq)return neq_1;hasRequiredNeq=1;const e=requireCompare();return neq_1=(a,s,u)=>e(a,s,u)!==0,neq_1}var gte_1,hasRequiredGte;function requireGte(){if(hasRequiredGte)return gte_1;hasRequiredGte=1;const e=requireCompare();return gte_1=(a,s,u)=>e(a,s,u)>=0,gte_1}var lte_1,hasRequiredLte;function requireLte(){if(hasRequiredLte)return lte_1;hasRequiredLte=1;const e=requireCompare();return lte_1=(a,s,u)=>e(a,s,u)<=0,lte_1}var cmp_1,hasRequiredCmp;function requireCmp(){if(hasRequiredCmp)return cmp_1;hasRequiredCmp=1;const e=requireEq(),t=requireNeq(),a=requireGt(),s=requireGte(),u=requireLt(),l=requireLte();return cmp_1=(m,g,b,v)=>{switch(g){case"===":return typeof m=="object"&&(m=m.version),typeof b=="object"&&(b=b.version),m===b;case"!==":return typeof m=="object"&&(m=m.version),typeof b=="object"&&(b=b.version),m!==b;case"":case"=":case"==":return e(m,b,v);case"!=":return t(m,b,v);case">":return a(m,b,v);case">=":return s(m,b,v);case"<":return u(m,b,v);case"<=":return l(m,b,v);default:throw new TypeError(`Invalid operator: ${g}`)}},cmp_1}var coerce_1,hasRequiredCoerce;function requireCoerce(){if(hasRequiredCoerce)return coerce_1;hasRequiredCoerce=1;const e=requireSemver$1(),t=requireParse(),{safeRe:a,t:s}=requireRe();return coerce_1=(l,p)=>{if(l instanceof e)return l;if(typeof l=="number"&&(l=String(l)),typeof l!="string")return null;p=p||{};let m=null;if(!p.rtl)m=l.match(p.includePrerelease?a[s.COERCEFULL]:a[s.COERCE]);else{const k=p.includePrerelease?a[s.COERCERTLFULL]:a[s.COERCERTL];let P;for(;(P=k.exec(l))&&(!m||m.index+m[0].length!==l.length);)(!m||P.index+P[0].length!==m.index+m[0].length)&&(m=P),k.lastIndex=P.index+P[1].length+P[2].length;k.lastIndex=-1}if(m===null)return null;const g=m[2],b=m[3]||"0",v=m[4]||"0",E=p.includePrerelease&&m[5]?`-${m[5]}`:"",M=p.includePrerelease&&m[6]?`+${m[6]}`:"";return t(`${g}.${b}.${v}${E}${M}`,p)},coerce_1}var lrucache,hasRequiredLrucache;function requireLrucache(){if(hasRequiredLrucache)return lrucache;hasRequiredLrucache=1;class e{constructor(){this.max=1e3,this.map=new Map}get(a){const s=this.map.get(a);if(s!==void 0)return this.map.delete(a),this.map.set(a,s),s}delete(a){return this.map.delete(a)}set(a,s){if(!this.delete(a)&&s!==void 0){if(this.map.size>=this.max){const l=this.map.keys().next().value;this.delete(l)}this.map.set(a,s)}return this}}return lrucache=e,lrucache}var range,hasRequiredRange;function requireRange(){if(hasRequiredRange)return range;hasRequiredRange=1;const e=/\s+/g;class t{constructor(T,U){if(U=u(U),T instanceof t)return T.loose===!!U.loose&&T.includePrerelease===!!U.includePrerelease?T:new t(T.raw,U);if(T instanceof l)return this.raw=T.value,this.set=[[T]],this.formatted=void 0,this;if(this.options=U,this.loose=!!U.loose,this.includePrerelease=!!U.includePrerelease,this.raw=T.trim().replace(e," "),this.set=this.raw.split("||").map(N=>this.parseRange(N.trim())).filter(N=>N.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const N=this.set[0];if(this.set=this.set.filter($=>!x($[0])),this.set.length===0)this.set=[N];else if(this.set.length>1){for(const $ of this.set)if($.length===1&&A($[0])){this.set=[$];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let T=0;T<this.set.length;T++){T>0&&(this.formatted+="||");const U=this.set[T];for(let N=0;N<U.length;N++)N>0&&(this.formatted+=" "),this.formatted+=U[N].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(T){const N=((this.options.includePrerelease&&k)|(this.options.loose&&P))+":"+T,$=s.get(N);if($)return $;const I=this.options.loose,_=I?g[b.HYPHENRANGELOOSE]:g[b.HYPHENRANGE];T=T.replace(_,y(this.options.includePrerelease)),p("hyphen replace",T),T=T.replace(g[b.COMPARATORTRIM],v),p("comparator trim",T),T=T.replace(g[b.TILDETRIM],E),p("tilde trim",T),T=T.replace(g[b.CARETTRIM],M),p("caret trim",T);let H=T.split(" ").map(J=>D(J,this.options)).join(" ").split(/\s+/).map(J=>R(J,this.options));I&&(H=H.filter(J=>(p("loose invalid filter",J,this.options),!!J.match(g[b.COMPARATORLOOSE])))),p("range list",H);const Z=new Map,W=H.map(J=>new l(J,this.options));for(const J of W){if(x(J))return[J];Z.set(J.value,J)}Z.size>1&&Z.has("")&&Z.delete("");const G=[...Z.values()];return s.set(N,G),G}intersects(T,U){if(!(T instanceof t))throw new TypeError("a Range is required");return this.set.some(N=>O(N,U)&&T.set.some($=>O($,U)&&N.every(I=>$.every(_=>I.intersects(_,U)))))}test(T){if(!T)return!1;if(typeof T=="string")try{T=new m(T,this.options)}catch{return!1}for(let U=0;U<this.set.length;U++)if(S(this.set[U],T,this.options))return!0;return!1}}range=t;const a=requireLrucache(),s=new a,u=requireParseOptions(),l=requireComparator(),p=requireDebug(),m=requireSemver$1(),{safeRe:g,t:b,comparatorTrimReplace:v,tildeTrimReplace:E,caretTrimReplace:M}=requireRe(),{FLAG_INCLUDE_PRERELEASE:k,FLAG_LOOSE:P}=requireConstants(),x=w=>w.value==="<0.0.0-0",A=w=>w.value==="",O=(w,T)=>{let U=!0;const N=w.slice();let $=N.pop();for(;U&&N.length;)U=N.every(I=>$.intersects(I,T)),$=N.pop();return U},D=(w,T)=>(w=w.replace(g[b.BUILD],""),p("comp",w,T),w=j(w,T),p("caret",w),w=C(w,T),p("tildes",w),w=V(w,T),p("xrange",w),w=q(w,T),p("stars",w),w),z=w=>!w||w.toLowerCase()==="x"||w==="*",C=(w,T)=>w.trim().split(/\s+/).map(U=>L(U,T)).join(" "),L=(w,T)=>{const U=T.loose?g[b.TILDELOOSE]:g[b.TILDE];return w.replace(U,(N,$,I,_,H)=>{p("tilde",w,N,$,I,_,H);let Z;return z($)?Z="":z(I)?Z=`>=${$}.0.0 <${+$+1}.0.0-0`:z(_)?Z=`>=${$}.${I}.0 <${$}.${+I+1}.0-0`:H?(p("replaceTilde pr",H),Z=`>=${$}.${I}.${_}-${H} <${$}.${+I+1}.0-0`):Z=`>=${$}.${I}.${_} <${$}.${+I+1}.0-0`,p("tilde return",Z),Z})},j=(w,T)=>w.trim().split(/\s+/).map(U=>K(U,T)).join(" "),K=(w,T)=>{p("caret",w,T);const U=T.loose?g[b.CARETLOOSE]:g[b.CARET],N=T.includePrerelease?"-0":"";return w.replace(U,($,I,_,H,Z)=>{p("caret",w,$,I,_,H,Z);let W;return z(I)?W="":z(_)?W=`>=${I}.0.0${N} <${+I+1}.0.0-0`:z(H)?I==="0"?W=`>=${I}.${_}.0${N} <${I}.${+_+1}.0-0`:W=`>=${I}.${_}.0${N} <${+I+1}.0.0-0`:Z?(p("replaceCaret pr",Z),I==="0"?_==="0"?W=`>=${I}.${_}.${H}-${Z} <${I}.${_}.${+H+1}-0`:W=`>=${I}.${_}.${H}-${Z} <${I}.${+_+1}.0-0`:W=`>=${I}.${_}.${H}-${Z} <${+I+1}.0.0-0`):(p("no pr"),I==="0"?_==="0"?W=`>=${I}.${_}.${H}${N} <${I}.${_}.${+H+1}-0`:W=`>=${I}.${_}.${H}${N} <${I}.${+_+1}.0-0`:W=`>=${I}.${_}.${H} <${+I+1}.0.0-0`),p("caret return",W),W})},V=(w,T)=>(p("replaceXRanges",w,T),w.split(/\s+/).map(U=>F(U,T)).join(" ")),F=(w,T)=>{w=w.trim();const U=T.loose?g[b.XRANGELOOSE]:g[b.XRANGE];return w.replace(U,(N,$,I,_,H,Z)=>{p("xRange",w,N,$,I,_,H,Z);const W=z(I),G=W||z(_),J=G||z(H),ie=J;return $==="="&&ie&&($=""),Z=T.includePrerelease?"-0":"",W?$===">"||$==="<"?N="<0.0.0-0":N="*":$&&ie?(G&&(_=0),H=0,$===">"?($=">=",G?(I=+I+1,_=0,H=0):(_=+_+1,H=0)):$==="<="&&($="<",G?I=+I+1:_=+_+1),$==="<"&&(Z="-0"),N=`${$+I}.${_}.${H}${Z}`):G?N=`>=${I}.0.0${Z} <${+I+1}.0.0-0`:J&&(N=`>=${I}.${_}.0${Z} <${I}.${+_+1}.0-0`),p("xRange return",N),N})},q=(w,T)=>(p("replaceStars",w,T),w.trim().replace(g[b.STAR],"")),R=(w,T)=>(p("replaceGTE0",w,T),w.trim().replace(g[T.includePrerelease?b.GTE0PRE:b.GTE0],"")),y=w=>(T,U,N,$,I,_,H,Z,W,G,J,ie)=>(z(N)?U="":z($)?U=`>=${N}.0.0${w?"-0":""}`:z(I)?U=`>=${N}.${$}.0${w?"-0":""}`:_?U=`>=${U}`:U=`>=${U}${w?"-0":""}`,z(W)?Z="":z(G)?Z=`<${+W+1}.0.0-0`:z(J)?Z=`<${W}.${+G+1}.0-0`:ie?Z=`<=${W}.${G}.${J}-${ie}`:w?Z=`<${W}.${G}.${+J+1}-0`:Z=`<=${Z}`,`${U} ${Z}`.trim()),S=(w,T,U)=>{for(let N=0;N<w.length;N++)if(!w[N].test(T))return!1;if(T.prerelease.length&&!U.includePrerelease){for(let N=0;N<w.length;N++)if(p(w[N].semver),w[N].semver!==l.ANY&&w[N].semver.prerelease.length>0){const $=w[N].semver;if($.major===T.major&&$.minor===T.minor&&$.patch===T.patch)return!0}return!1}return!0};return range}var comparator,hasRequiredComparator;function requireComparator(){if(hasRequiredComparator)return comparator;hasRequiredComparator=1;const e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(v,E){if(E=a(E),v instanceof t){if(v.loose===!!E.loose)return v;v=v.value}v=v.trim().split(/\s+/).join(" "),p("comparator",v,E),this.options=E,this.loose=!!E.loose,this.parse(v),this.semver===e?this.value="":this.value=this.operator+this.semver.version,p("comp",this)}parse(v){const E=this.options.loose?s[u.COMPARATORLOOSE]:s[u.COMPARATOR],M=v.match(E);if(!M)throw new TypeError(`Invalid comparator: ${v}`);this.operator=M[1]!==void 0?M[1]:"",this.operator==="="&&(this.operator=""),M[2]?this.semver=new m(M[2],this.options.loose):this.semver=e}toString(){return this.value}test(v){if(p("Comparator.test",v,this.options.loose),this.semver===e||v===e)return!0;if(typeof v=="string")try{v=new m(v,this.options)}catch{return!1}return l(v,this.operator,this.semver,this.options)}intersects(v,E){if(!(v instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new g(v.value,E).test(this.value):v.operator===""?v.value===""?!0:new g(this.value,E).test(v.semver):(E=a(E),E.includePrerelease&&(this.value==="<0.0.0-0"||v.value==="<0.0.0-0")||!E.includePrerelease&&(this.value.startsWith("<0.0.0")||v.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&v.operator.startsWith(">")||this.operator.startsWith("<")&&v.operator.startsWith("<")||this.semver.version===v.semver.version&&this.operator.includes("=")&&v.operator.includes("=")||l(this.semver,"<",v.semver,E)&&this.operator.startsWith(">")&&v.operator.startsWith("<")||l(this.semver,">",v.semver,E)&&this.operator.startsWith("<")&&v.operator.startsWith(">")))}}comparator=t;const a=requireParseOptions(),{safeRe:s,t:u}=requireRe(),l=requireCmp(),p=requireDebug(),m=requireSemver$1(),g=requireRange();return comparator}var satisfies_1,hasRequiredSatisfies;function requireSatisfies(){if(hasRequiredSatisfies)return satisfies_1;hasRequiredSatisfies=1;const e=requireRange();return satisfies_1=(a,s,u)=>{try{s=new e(s,u)}catch{return!1}return s.test(a)},satisfies_1}var toComparators_1,hasRequiredToComparators;function requireToComparators(){if(hasRequiredToComparators)return toComparators_1;hasRequiredToComparators=1;const e=requireRange();return toComparators_1=(a,s)=>new e(a,s).set.map(u=>u.map(l=>l.value).join(" ").trim().split(" ")),toComparators_1}var maxSatisfying_1,hasRequiredMaxSatisfying;function requireMaxSatisfying(){if(hasRequiredMaxSatisfying)return maxSatisfying_1;hasRequiredMaxSatisfying=1;const e=requireSemver$1(),t=requireRange();return maxSatisfying_1=(s,u,l)=>{let p=null,m=null,g=null;try{g=new t(u,l)}catch{return null}return s.forEach(b=>{g.test(b)&&(!p||m.compare(b)===-1)&&(p=b,m=new e(p,l))}),p},maxSatisfying_1}var minSatisfying_1,hasRequiredMinSatisfying;function requireMinSatisfying(){if(hasRequiredMinSatisfying)return minSatisfying_1;hasRequiredMinSatisfying=1;const e=requireSemver$1(),t=requireRange();return minSatisfying_1=(s,u,l)=>{let p=null,m=null,g=null;try{g=new t(u,l)}catch{return null}return s.forEach(b=>{g.test(b)&&(!p||m.compare(b)===1)&&(p=b,m=new e(p,l))}),p},minSatisfying_1}var minVersion_1,hasRequiredMinVersion;function requireMinVersion(){if(hasRequiredMinVersion)return minVersion_1;hasRequiredMinVersion=1;const e=requireSemver$1(),t=requireRange(),a=requireGt();return minVersion_1=(u,l)=>{u=new t(u,l);let p=new e("0.0.0");if(u.test(p)||(p=new e("0.0.0-0"),u.test(p)))return p;p=null;for(let m=0;m<u.set.length;++m){const g=u.set[m];let b=null;g.forEach(v=>{const E=new e(v.semver.version);switch(v.operator){case">":E.prerelease.length===0?E.patch++:E.prerelease.push(0),E.raw=E.format();case"":case">=":(!b||a(E,b))&&(b=E);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${v.operator}`)}}),b&&(!p||a(p,b))&&(p=b)}return p&&u.test(p)?p:null},minVersion_1}var valid,hasRequiredValid;function requireValid(){if(hasRequiredValid)return valid;hasRequiredValid=1;const e=requireRange();return valid=(a,s)=>{try{return new e(a,s).range||"*"}catch{return null}},valid}var outside_1,hasRequiredOutside;function requireOutside(){if(hasRequiredOutside)return outside_1;hasRequiredOutside=1;const e=requireSemver$1(),t=requireComparator(),{ANY:a}=t,s=requireRange(),u=requireSatisfies(),l=requireGt(),p=requireLt(),m=requireLte(),g=requireGte();return outside_1=(v,E,M,k)=>{v=new e(v,k),E=new s(E,k);let P,x,A,O,D;switch(M){case">":P=l,x=m,A=p,O=">",D=">=";break;case"<":P=p,x=g,A=l,O="<",D="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(u(v,E,k))return!1;for(let z=0;z<E.set.length;++z){const C=E.set[z];let L=null,j=null;if(C.forEach(K=>{K.semver===a&&(K=new t(">=0.0.0")),L=L||K,j=j||K,P(K.semver,L.semver,k)?L=K:A(K.semver,j.semver,k)&&(j=K)}),L.operator===O||L.operator===D||(!j.operator||j.operator===O)&&x(v,j.semver))return!1;if(j.operator===D&&A(v,j.semver))return!1}return!0},outside_1}var gtr_1,hasRequiredGtr;function requireGtr(){if(hasRequiredGtr)return gtr_1;hasRequiredGtr=1;const e=requireOutside();return gtr_1=(a,s,u)=>e(a,s,">",u),gtr_1}var ltr_1,hasRequiredLtr;function requireLtr(){if(hasRequiredLtr)return ltr_1;hasRequiredLtr=1;const e=requireOutside();return ltr_1=(a,s,u)=>e(a,s,"<",u),ltr_1}var intersects_1,hasRequiredIntersects;function requireIntersects(){if(hasRequiredIntersects)return intersects_1;hasRequiredIntersects=1;const e=requireRange();return intersects_1=(a,s,u)=>(a=new e(a,u),s=new e(s,u),a.intersects(s,u)),intersects_1}var simplify,hasRequiredSimplify;function requireSimplify(){if(hasRequiredSimplify)return simplify;hasRequiredSimplify=1;const e=requireSatisfies(),t=requireCompare();return simplify=(a,s,u)=>{const l=[];let p=null,m=null;const g=a.sort((M,k)=>t(M,k,u));for(const M of g)e(M,s,u)?(m=M,p||(p=M)):(m&&l.push([p,m]),m=null,p=null);p&&l.push([p,null]);const b=[];for(const[M,k]of l)M===k?b.push(M):!k&&M===g[0]?b.push("*"):k?M===g[0]?b.push(`<=${k}`):b.push(`${M} - ${k}`):b.push(`>=${M}`);const v=b.join(" || "),E=typeof s.raw=="string"?s.raw:String(s);return v.length<E.length?v:s},simplify}var subset_1,hasRequiredSubset;function requireSubset(){if(hasRequiredSubset)return subset_1;hasRequiredSubset=1;const e=requireRange(),t=requireComparator(),{ANY:a}=t,s=requireSatisfies(),u=requireCompare(),l=(E,M,k={})=>{if(E===M)return!0;E=new e(E,k),M=new e(M,k);let P=!1;e:for(const x of E.set){for(const A of M.set){const O=g(x,A,k);if(P=P||O!==null,O)continue e}if(P)return!1}return!0},p=[new t(">=0.0.0-0")],m=[new t(">=0.0.0")],g=(E,M,k)=>{if(E===M)return!0;if(E.length===1&&E[0].semver===a){if(M.length===1&&M[0].semver===a)return!0;k.includePrerelease?E=p:E=m}if(M.length===1&&M[0].semver===a){if(k.includePrerelease)return!0;M=m}const P=new Set;let x,A;for(const V of E)V.operator===">"||V.operator===">="?x=b(x,V,k):V.operator==="<"||V.operator==="<="?A=v(A,V,k):P.add(V.semver);if(P.size>1)return null;let O;if(x&&A){if(O=u(x.semver,A.semver,k),O>0)return null;if(O===0&&(x.operator!==">="||A.operator!=="<="))return null}for(const V of P){if(x&&!s(V,String(x),k)||A&&!s(V,String(A),k))return null;for(const F of M)if(!s(V,String(F),k))return!1;return!0}let D,z,C,L,j=A&&!k.includePrerelease&&A.semver.prerelease.length?A.semver:!1,K=x&&!k.includePrerelease&&x.semver.prerelease.length?x.semver:!1;j&&j.prerelease.length===1&&A.operator==="<"&&j.prerelease[0]===0&&(j=!1);for(const V of M){if(L=L||V.operator===">"||V.operator===">=",C=C||V.operator==="<"||V.operator==="<=",x){if(K&&V.semver.prerelease&&V.semver.prerelease.length&&V.semver.major===K.major&&V.semver.minor===K.minor&&V.semver.patch===K.patch&&(K=!1),V.operator===">"||V.operator===">="){if(D=b(x,V,k),D===V&&D!==x)return!1}else if(x.operator===">="&&!s(x.semver,String(V),k))return!1}if(A){if(j&&V.semver.prerelease&&V.semver.prerelease.length&&V.semver.major===j.major&&V.semver.minor===j.minor&&V.semver.patch===j.patch&&(j=!1),V.operator==="<"||V.operator==="<="){if(z=v(A,V,k),z===V&&z!==A)return!1}else if(A.operator==="<="&&!s(A.semver,String(V),k))return!1}if(!V.operator&&(A||x)&&O!==0)return!1}return!(x&&C&&!A&&O!==0||A&&L&&!x&&O!==0||K||j)},b=(E,M,k)=>{if(!E)return M;const P=u(E.semver,M.semver,k);return P>0?E:P<0||M.operator===">"&&E.operator===">="?M:E},v=(E,M,k)=>{if(!E)return M;const P=u(E.semver,M.semver,k);return P<0?E:P>0||M.operator==="<"&&E.operator==="<="?M:E};return subset_1=l,subset_1}var semver,hasRequiredSemver;function requireSemver(){if(hasRequiredSemver)return semver;hasRequiredSemver=1;const e=requireRe(),t=requireConstants(),a=requireSemver$1(),s=requireIdentifiers(),u=requireParse(),l=requireValid$1(),p=requireClean(),m=requireInc(),g=requireDiff(),b=requireMajor(),v=requireMinor(),E=requirePatch(),M=requirePrerelease(),k=requireCompare(),P=requireRcompare(),x=requireCompareLoose(),A=requireCompareBuild(),O=requireSort(),D=requireRsort(),z=requireGt(),C=requireLt(),L=requireEq(),j=requireNeq(),K=requireGte(),V=requireLte(),F=requireCmp(),q=requireCoerce(),R=requireComparator(),y=requireRange(),S=requireSatisfies(),w=requireToComparators(),T=requireMaxSatisfying(),U=requireMinSatisfying(),N=requireMinVersion(),$=requireValid(),I=requireOutside(),_=requireGtr(),H=requireLtr(),Z=requireIntersects(),W=requireSimplify(),G=requireSubset();return semver={parse:u,valid:l,clean:p,inc:m,diff:g,major:b,minor:v,patch:E,prerelease:M,compare:k,rcompare:P,compareLoose:x,compareBuild:A,sort:O,rsort:D,gt:z,lt:C,eq:L,neq:j,gte:K,lte:V,cmp:F,coerce:q,Comparator:R,Range:y,satisfies:S,toComparators:w,maxSatisfying:T,minSatisfying:U,minVersion:N,validRange:$,outside:I,gtr:_,ltr:H,intersects:Z,simplifyRange:W,subset:G,SemVer:a,re:e.re,src:e.src,tokens:e.t,SEMVER_SPEC_VERSION:t.SEMVER_SPEC_VERSION,RELEASE_TYPES:t.RELEASE_TYPES,compareIdentifiers:s.compareIdentifiers,rcompareIdentifiers:s.rcompareIdentifiers},semver}requireSemver();var dist$4={},secp256k1$1={},sha2={},_md={},utils$8={},crypto$1={},hasRequiredCrypto;function requireCrypto(){return hasRequiredCrypto||(hasRequiredCrypto=1,Object.defineProperty(crypto$1,"__esModule",{value:!0}),crypto$1.crypto=void 0,crypto$1.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0),crypto$1}var hasRequiredUtils$8;function requireUtils$8(){return hasRequiredUtils$8||(hasRequiredUtils$8=1,(function(e){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(e,"__esModule",{value:!0}),e.wrapXOFConstructorWithOpts=e.wrapConstructorWithOpts=e.wrapConstructor=e.Hash=e.nextTick=e.swap32IfBE=e.byteSwapIfBE=e.swap8IfBE=e.isLE=void 0,e.isBytes=a,e.anumber=s,e.abytes=u,e.ahash=l,e.aexists=p,e.aoutput=m,e.u8=g,e.u32=b,e.clean=v,e.createView=E,e.rotr=M,e.rotl=k,e.byteSwap=P,e.byteSwap32=x,e.bytesToHex=D,e.hexToBytes=L,e.asyncLoop=K,e.utf8ToBytes=V,e.bytesToUtf8=F,e.toBytes=q,e.kdfInputToBytes=R,e.concatBytes=y,e.checkOpts=S,e.createHasher=T,e.createOptHasher=U,e.createXOFer=N,e.randomBytes=$;const t=requireCrypto();function a(I){return I instanceof Uint8Array||ArrayBuffer.isView(I)&&I.constructor.name==="Uint8Array"}function s(I){if(!Number.isSafeInteger(I)||I<0)throw new Error("positive integer expected, got "+I)}function u(I,..._){if(!a(I))throw new Error("Uint8Array expected");if(_.length>0&&!_.includes(I.length))throw new Error("Uint8Array expected of length "+_+", got length="+I.length)}function l(I){if(typeof I!="function"||typeof I.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");s(I.outputLen),s(I.blockLen)}function p(I,_=!0){if(I.destroyed)throw new Error("Hash instance has been destroyed");if(_&&I.finished)throw new Error("Hash#digest() has already been called")}function m(I,_){u(I);const H=_.outputLen;if(I.length<H)throw new Error("digestInto() expects output buffer of length at least "+H)}function g(I){return new Uint8Array(I.buffer,I.byteOffset,I.byteLength)}function b(I){return new Uint32Array(I.buffer,I.byteOffset,Math.floor(I.byteLength/4))}function v(...I){for(let _=0;_<I.length;_++)I[_].fill(0)}function E(I){return new DataView(I.buffer,I.byteOffset,I.byteLength)}function M(I,_){return I<<32-_|I>>>_}function k(I,_){return I<<_|I>>>32-_>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function P(I){return I<<24&4278190080|I<<8&16711680|I>>>8&65280|I>>>24&255}e.swap8IfBE=e.isLE?I=>I:I=>P(I),e.byteSwapIfBE=e.swap8IfBE;function x(I){for(let _=0;_<I.length;_++)I[_]=P(I[_]);return I}e.swap32IfBE=e.isLE?I=>I:x;const A=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",O=Array.from({length:256},(I,_)=>_.toString(16).padStart(2,"0"));function D(I){if(u(I),A)return I.toHex();let _="";for(let H=0;H<I.length;H++)_+=O[I[H]];return _}const z={_0:48,_9:57,A:65,F:70,a:97,f:102};function C(I){if(I>=z._0&&I<=z._9)return I-z._0;if(I>=z.A&&I<=z.F)return I-(z.A-10);if(I>=z.a&&I<=z.f)return I-(z.a-10)}function L(I){if(typeof I!="string")throw new Error("hex string expected, got "+typeof I);if(A)return Uint8Array.fromHex(I);const _=I.length,H=_/2;if(_%2)throw new Error("hex string expected, got unpadded hex of length "+_);const Z=new Uint8Array(H);for(let W=0,G=0;W<H;W++,G+=2){const J=C(I.charCodeAt(G)),ie=C(I.charCodeAt(G+1));if(J===void 0||ie===void 0){const Y=I[G]+I[G+1];throw new Error('hex string expected, got non-hex character "'+Y+'" at index '+G)}Z[W]=J*16+ie}return Z}const j=async()=>{};e.nextTick=j;async function K(I,_,H){let Z=Date.now();for(let W=0;W<I;W++){H(W);const G=Date.now()-Z;G>=0&&G<_||(await(0,e.nextTick)(),Z+=G)}}function V(I){if(typeof I!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(I))}function F(I){return new TextDecoder().decode(I)}function q(I){return typeof I=="string"&&(I=V(I)),u(I),I}function R(I){return typeof I=="string"&&(I=V(I)),u(I),I}function y(...I){let _=0;for(let Z=0;Z<I.length;Z++){const W=I[Z];u(W),_+=W.length}const H=new Uint8Array(_);for(let Z=0,W=0;Z<I.length;Z++){const G=I[Z];H.set(G,W),W+=G.length}return H}function S(I,_){if(_!==void 0&&{}.toString.call(_)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(I,_)}class w{}e.Hash=w;function T(I){const _=Z=>I().update(q(Z)).digest(),H=I();return _.outputLen=H.outputLen,_.blockLen=H.blockLen,_.create=()=>I(),_}function U(I){const _=(Z,W)=>I(W).update(q(Z)).digest(),H=I({});return _.outputLen=H.outputLen,_.blockLen=H.blockLen,_.create=Z=>I(Z),_}function N(I){const _=(Z,W)=>I(W).update(q(Z)).digest(),H=I({});return _.outputLen=H.outputLen,_.blockLen=H.blockLen,_.create=Z=>I(Z),_}e.wrapConstructor=T,e.wrapConstructorWithOpts=U,e.wrapXOFConstructorWithOpts=N;function $(I=32){if(t.crypto&&typeof t.crypto.getRandomValues=="function")return t.crypto.getRandomValues(new Uint8Array(I));if(t.crypto&&typeof t.crypto.randomBytes=="function")return Uint8Array.from(t.crypto.randomBytes(I));throw new Error("crypto.getRandomValues must be defined")}})(utils$8)),utils$8}var hasRequired_md;function require_md(){if(hasRequired_md)return _md;hasRequired_md=1,Object.defineProperty(_md,"__esModule",{value:!0}),_md.SHA512_IV=_md.SHA384_IV=_md.SHA224_IV=_md.SHA256_IV=_md.HashMD=void 0,_md.setBigUint64=t,_md.Chi=a,_md.Maj=s;const e=requireUtils$8();function t(l,p,m,g){if(typeof l.setBigUint64=="function")return l.setBigUint64(p,m,g);const b=BigInt(32),v=BigInt(4294967295),E=Number(m>>b&v),M=Number(m&v),k=g?4:0,P=g?0:4;l.setUint32(p+k,E,g),l.setUint32(p+P,M,g)}function a(l,p,m){return l&p^~l&m}function s(l,p,m){return l&p^l&m^p&m}class u extends e.Hash{constructor(p,m,g,b){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=p,this.outputLen=m,this.padOffset=g,this.isLE=b,this.buffer=new Uint8Array(p),this.view=(0,e.createView)(this.buffer)}update(p){(0,e.aexists)(this),p=(0,e.toBytes)(p),(0,e.abytes)(p);const{view:m,buffer:g,blockLen:b}=this,v=p.length;for(let E=0;E<v;){const M=Math.min(b-this.pos,v-E);if(M===b){const k=(0,e.createView)(p);for(;b<=v-E;E+=b)this.process(k,E);continue}g.set(p.subarray(E,E+M),this.pos),this.pos+=M,E+=M,this.pos===b&&(this.process(m,0),this.pos=0)}return this.length+=p.length,this.roundClean(),this}digestInto(p){(0,e.aexists)(this),(0,e.aoutput)(p,this),this.finished=!0;const{buffer:m,view:g,blockLen:b,isLE:v}=this;let{pos:E}=this;m[E++]=128,(0,e.clean)(this.buffer.subarray(E)),this.padOffset>b-E&&(this.process(g,0),E=0);for(let A=E;A<b;A++)m[A]=0;t(g,b-8,BigInt(this.length*8),v),this.process(g,0);const M=(0,e.createView)(p),k=this.outputLen;if(k%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const P=k/4,x=this.get();if(P>x.length)throw new Error("_sha2: outputLen bigger than state");for(let A=0;A<P;A++)M.setUint32(4*A,x[A],v)}digest(){const{buffer:p,outputLen:m}=this;this.digestInto(p);const g=p.slice(0,m);return this.destroy(),g}_cloneInto(p){p||(p=new this.constructor),p.set(...this.get());const{blockLen:m,buffer:g,length:b,finished:v,destroyed:E,pos:M}=this;return p.destroyed=E,p.finished=v,p.length=b,p.pos=M,b%m&&p.buffer.set(g),p}clone(){return this._cloneInto()}}return _md.HashMD=u,_md.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),_md.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),_md.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),_md.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),_md}var _u64={},hasRequired_u64;function require_u64(){if(hasRequired_u64)return _u64;hasRequired_u64=1,Object.defineProperty(_u64,"__esModule",{value:!0}),_u64.toBig=_u64.shrSL=_u64.shrSH=_u64.rotrSL=_u64.rotrSH=_u64.rotrBL=_u64.rotrBH=_u64.rotr32L=_u64.rotr32H=_u64.rotlSL=_u64.rotlSH=_u64.rotlBL=_u64.rotlBH=_u64.add5L=_u64.add5H=_u64.add4L=_u64.add4H=_u64.add3L=_u64.add3H=void 0,_u64.add=O,_u64.fromBig=a,_u64.split=s;const e=BigInt(2**32-1),t=BigInt(32);function a(F,q=!1){return q?{h:Number(F&e),l:Number(F>>t&e)}:{h:Number(F>>t&e)|0,l:Number(F&e)|0}}function s(F,q=!1){const R=F.length;let y=new Uint32Array(R),S=new Uint32Array(R);for(let w=0;w<R;w++){const{h:T,l:U}=a(F[w],q);[y[w],S[w]]=[T,U]}return[y,S]}const u=(F,q)=>BigInt(F>>>0)<<t|BigInt(q>>>0);_u64.toBig=u;const l=(F,q,R)=>F>>>R;_u64.shrSH=l;const p=(F,q,R)=>F<<32-R|q>>>R;_u64.shrSL=p;const m=(F,q,R)=>F>>>R|q<<32-R;_u64.rotrSH=m;const g=(F,q,R)=>F<<32-R|q>>>R;_u64.rotrSL=g;const b=(F,q,R)=>F<<64-R|q>>>R-32;_u64.rotrBH=b;const v=(F,q,R)=>F>>>R-32|q<<64-R;_u64.rotrBL=v;const E=(F,q)=>q;_u64.rotr32H=E;const M=(F,q)=>F;_u64.rotr32L=M;const k=(F,q,R)=>F<<R|q>>>32-R;_u64.rotlSH=k;const P=(F,q,R)=>q<<R|F>>>32-R;_u64.rotlSL=P;const x=(F,q,R)=>q<<R-32|F>>>64-R;_u64.rotlBH=x;const A=(F,q,R)=>F<<R-32|q>>>64-R;_u64.rotlBL=A;function O(F,q,R,y){const S=(q>>>0)+(y>>>0);return{h:F+R+(S/2**32|0)|0,l:S|0}}const D=(F,q,R)=>(F>>>0)+(q>>>0)+(R>>>0);_u64.add3L=D;const z=(F,q,R,y)=>q+R+y+(F/2**32|0)|0;_u64.add3H=z;const C=(F,q,R,y)=>(F>>>0)+(q>>>0)+(R>>>0)+(y>>>0);_u64.add4L=C;const L=(F,q,R,y,S)=>q+R+y+S+(F/2**32|0)|0;_u64.add4H=L;const j=(F,q,R,y,S)=>(F>>>0)+(q>>>0)+(R>>>0)+(y>>>0)+(S>>>0);_u64.add5L=j;const K=(F,q,R,y,S,w)=>q+R+y+S+w+(F/2**32|0)|0;_u64.add5H=K;const V={fromBig:a,split:s,toBig:u,shrSH:l,shrSL:p,rotrSH:m,rotrSL:g,rotrBH:b,rotrBL:v,rotr32H:E,rotr32L:M,rotlSH:k,rotlSL:P,rotlBH:x,rotlBL:A,add:O,add3L:D,add3H:z,add4L:C,add4H:L,add5H:K,add5L:j};return _u64.default=V,_u64}var hasRequiredSha2;function requireSha2(){if(hasRequiredSha2)return sha2;hasRequiredSha2=1,Object.defineProperty(sha2,"__esModule",{value:!0}),sha2.sha512_224=sha2.sha512_256=sha2.sha384=sha2.sha512=sha2.sha224=sha2.sha256=sha2.SHA512_256=sha2.SHA512_224=sha2.SHA384=sha2.SHA512=sha2.SHA224=sha2.SHA256=void 0;const e=require_md(),t=require_u64(),a=requireUtils$8(),s=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]),u=new Uint32Array(64);class l extends e.HashMD{constructor(z=32){super(64,z,8,!1),this.A=e.SHA256_IV[0]|0,this.B=e.SHA256_IV[1]|0,this.C=e.SHA256_IV[2]|0,this.D=e.SHA256_IV[3]|0,this.E=e.SHA256_IV[4]|0,this.F=e.SHA256_IV[5]|0,this.G=e.SHA256_IV[6]|0,this.H=e.SHA256_IV[7]|0}get(){const{A:z,B:C,C:L,D:j,E:K,F:V,G:F,H:q}=this;return[z,C,L,j,K,V,F,q]}set(z,C,L,j,K,V,F,q){this.A=z|0,this.B=C|0,this.C=L|0,this.D=j|0,this.E=K|0,this.F=V|0,this.G=F|0,this.H=q|0}process(z,C){for(let S=0;S<16;S++,C+=4)u[S]=z.getUint32(C,!1);for(let S=16;S<64;S++){const w=u[S-15],T=u[S-2],U=(0,a.rotr)(w,7)^(0,a.rotr)(w,18)^w>>>3,N=(0,a.rotr)(T,17)^(0,a.rotr)(T,19)^T>>>10;u[S]=N+u[S-7]+U+u[S-16]|0}let{A:L,B:j,C:K,D:V,E:F,F:q,G:R,H:y}=this;for(let S=0;S<64;S++){const w=(0,a.rotr)(F,6)^(0,a.rotr)(F,11)^(0,a.rotr)(F,25),T=y+w+(0,e.Chi)(F,q,R)+s[S]+u[S]|0,N=((0,a.rotr)(L,2)^(0,a.rotr)(L,13)^(0,a.rotr)(L,22))+(0,e.Maj)(L,j,K)|0;y=R,R=q,q=F,F=V+T|0,V=K,K=j,j=L,L=T+N|0}L=L+this.A|0,j=j+this.B|0,K=K+this.C|0,V=V+this.D|0,F=F+this.E|0,q=q+this.F|0,R=R+this.G|0,y=y+this.H|0,this.set(L,j,K,V,F,q,R,y)}roundClean(){(0,a.clean)(u)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,a.clean)(this.buffer)}}sha2.SHA256=l;class p extends l{constructor(){super(28),this.A=e.SHA224_IV[0]|0,this.B=e.SHA224_IV[1]|0,this.C=e.SHA224_IV[2]|0,this.D=e.SHA224_IV[3]|0,this.E=e.SHA224_IV[4]|0,this.F=e.SHA224_IV[5]|0,this.G=e.SHA224_IV[6]|0,this.H=e.SHA224_IV[7]|0}}sha2.SHA224=p;const m=t.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(D=>BigInt(D))),g=m[0],b=m[1],v=new Uint32Array(80),E=new Uint32Array(80);class M extends e.HashMD{constructor(z=64){super(128,z,16,!1),this.Ah=e.SHA512_IV[0]|0,this.Al=e.SHA512_IV[1]|0,this.Bh=e.SHA512_IV[2]|0,this.Bl=e.SHA512_IV[3]|0,this.Ch=e.SHA512_IV[4]|0,this.Cl=e.SHA512_IV[5]|0,this.Dh=e.SHA512_IV[6]|0,this.Dl=e.SHA512_IV[7]|0,this.Eh=e.SHA512_IV[8]|0,this.El=e.SHA512_IV[9]|0,this.Fh=e.SHA512_IV[10]|0,this.Fl=e.SHA512_IV[11]|0,this.Gh=e.SHA512_IV[12]|0,this.Gl=e.SHA512_IV[13]|0,this.Hh=e.SHA512_IV[14]|0,this.Hl=e.SHA512_IV[15]|0}get(){const{Ah:z,Al:C,Bh:L,Bl:j,Ch:K,Cl:V,Dh:F,Dl:q,Eh:R,El:y,Fh:S,Fl:w,Gh:T,Gl:U,Hh:N,Hl:$}=this;return[z,C,L,j,K,V,F,q,R,y,S,w,T,U,N,$]}set(z,C,L,j,K,V,F,q,R,y,S,w,T,U,N,$){this.Ah=z|0,this.Al=C|0,this.Bh=L|0,this.Bl=j|0,this.Ch=K|0,this.Cl=V|0,this.Dh=F|0,this.Dl=q|0,this.Eh=R|0,this.El=y|0,this.Fh=S|0,this.Fl=w|0,this.Gh=T|0,this.Gl=U|0,this.Hh=N|0,this.Hl=$|0}process(z,C){for(let H=0;H<16;H++,C+=4)v[H]=z.getUint32(C),E[H]=z.getUint32(C+=4);for(let H=16;H<80;H++){const Z=v[H-15]|0,W=E[H-15]|0,G=t.rotrSH(Z,W,1)^t.rotrSH(Z,W,8)^t.shrSH(Z,W,7),J=t.rotrSL(Z,W,1)^t.rotrSL(Z,W,8)^t.shrSL(Z,W,7),ie=v[H-2]|0,Y=E[H-2]|0,te=t.rotrSH(ie,Y,19)^t.rotrBH(ie,Y,61)^t.shrSH(ie,Y,6),ee=t.rotrSL(ie,Y,19)^t.rotrBL(ie,Y,61)^t.shrSL(ie,Y,6),ae=t.add4L(J,ee,E[H-7],E[H-16]),de=t.add4H(ae,G,te,v[H-7],v[H-16]);v[H]=de|0,E[H]=ae|0}let{Ah:L,Al:j,Bh:K,Bl:V,Ch:F,Cl:q,Dh:R,Dl:y,Eh:S,El:w,Fh:T,Fl:U,Gh:N,Gl:$,Hh:I,Hl:_}=this;for(let H=0;H<80;H++){const Z=t.rotrSH(S,w,14)^t.rotrSH(S,w,18)^t.rotrBH(S,w,41),W=t.rotrSL(S,w,14)^t.rotrSL(S,w,18)^t.rotrBL(S,w,41),G=S&T^~S&N,J=w&U^~w&$,ie=t.add5L(_,W,J,b[H],E[H]),Y=t.add5H(ie,I,Z,G,g[H],v[H]),te=ie|0,ee=t.rotrSH(L,j,28)^t.rotrBH(L,j,34)^t.rotrBH(L,j,39),ae=t.rotrSL(L,j,28)^t.rotrBL(L,j,34)^t.rotrBL(L,j,39),de=L&K^L&F^K&F,le=j&V^j&q^V&q;I=N|0,_=$|0,N=T|0,$=U|0,T=S|0,U=w|0,{h:S,l:w}=t.add(R|0,y|0,Y|0,te|0),R=F|0,y=q|0,F=K|0,q=V|0,K=L|0,V=j|0;const be=t.add3L(te,ae,le);L=t.add3H(be,Y,ee,de),j=be|0}({h:L,l:j}=t.add(this.Ah|0,this.Al|0,L|0,j|0)),{h:K,l:V}=t.add(this.Bh|0,this.Bl|0,K|0,V|0),{h:F,l:q}=t.add(this.Ch|0,this.Cl|0,F|0,q|0),{h:R,l:y}=t.add(this.Dh|0,this.Dl|0,R|0,y|0),{h:S,l:w}=t.add(this.Eh|0,this.El|0,S|0,w|0),{h:T,l:U}=t.add(this.Fh|0,this.Fl|0,T|0,U|0),{h:N,l:$}=t.add(this.Gh|0,this.Gl|0,N|0,$|0),{h:I,l:_}=t.add(this.Hh|0,this.Hl|0,I|0,_|0),this.set(L,j,K,V,F,q,R,y,S,w,T,U,N,$,I,_)}roundClean(){(0,a.clean)(v,E)}destroy(){(0,a.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}sha2.SHA512=M;class k extends M{constructor(){super(48),this.Ah=e.SHA384_IV[0]|0,this.Al=e.SHA384_IV[1]|0,this.Bh=e.SHA384_IV[2]|0,this.Bl=e.SHA384_IV[3]|0,this.Ch=e.SHA384_IV[4]|0,this.Cl=e.SHA384_IV[5]|0,this.Dh=e.SHA384_IV[6]|0,this.Dl=e.SHA384_IV[7]|0,this.Eh=e.SHA384_IV[8]|0,this.El=e.SHA384_IV[9]|0,this.Fh=e.SHA384_IV[10]|0,this.Fl=e.SHA384_IV[11]|0,this.Gh=e.SHA384_IV[12]|0,this.Gl=e.SHA384_IV[13]|0,this.Hh=e.SHA384_IV[14]|0,this.Hl=e.SHA384_IV[15]|0}}sha2.SHA384=k;const P=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),x=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class A extends M{constructor(){super(28),this.Ah=P[0]|0,this.Al=P[1]|0,this.Bh=P[2]|0,this.Bl=P[3]|0,this.Ch=P[4]|0,this.Cl=P[5]|0,this.Dh=P[6]|0,this.Dl=P[7]|0,this.Eh=P[8]|0,this.El=P[9]|0,this.Fh=P[10]|0,this.Fl=P[11]|0,this.Gh=P[12]|0,this.Gl=P[13]|0,this.Hh=P[14]|0,this.Hl=P[15]|0}}sha2.SHA512_224=A;class O extends M{constructor(){super(32),this.Ah=x[0]|0,this.Al=x[1]|0,this.Bh=x[2]|0,this.Bl=x[3]|0,this.Ch=x[4]|0,this.Cl=x[5]|0,this.Dh=x[6]|0,this.Dl=x[7]|0,this.Eh=x[8]|0,this.El=x[9]|0,this.Fh=x[10]|0,this.Fl=x[11]|0,this.Gh=x[12]|0,this.Gl=x[13]|0,this.Hh=x[14]|0,this.Hl=x[15]|0}}return sha2.SHA512_256=O,sha2.sha256=(0,a.createHasher)(()=>new l),sha2.sha224=(0,a.createHasher)(()=>new p),sha2.sha512=(0,a.createHasher)(()=>new M),sha2.sha384=(0,a.createHasher)(()=>new k),sha2.sha512_256=(0,a.createHasher)(()=>new O),sha2.sha512_224=(0,a.createHasher)(()=>new A),sha2}var _shortw_utils={},weierstrass={},hmac$2={},hasRequiredHmac$1;function requireHmac$1(){return hasRequiredHmac$1||(hasRequiredHmac$1=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hmac=e.HMAC=void 0;const t=requireUtils$8();class a extends t.Hash{constructor(l,p){super(),this.finished=!1,this.destroyed=!1,(0,t.ahash)(l);const m=(0,t.toBytes)(p);if(this.iHash=l.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;const g=this.blockLen,b=new Uint8Array(g);b.set(m.length>g?l.create().update(m).digest():m);for(let v=0;v<b.length;v++)b[v]^=54;this.iHash.update(b),this.oHash=l.create();for(let v=0;v<b.length;v++)b[v]^=106;this.oHash.update(b),(0,t.clean)(b)}update(l){return(0,t.aexists)(this),this.iHash.update(l),this}digestInto(l){(0,t.aexists)(this),(0,t.abytes)(l,this.outputLen),this.finished=!0,this.iHash.digestInto(l),this.oHash.update(l),this.oHash.digestInto(l),this.destroy()}digest(){const l=new Uint8Array(this.oHash.outputLen);return this.digestInto(l),l}_cloneInto(l){l||(l=Object.create(Object.getPrototypeOf(this),{}));const{oHash:p,iHash:m,finished:g,destroyed:b,blockLen:v,outputLen:E}=this;return l=l,l.finished=g,l.destroyed=b,l.blockLen=v,l.outputLen=E,l.oHash=p._cloneInto(l.oHash),l.iHash=m._cloneInto(l.iHash),l}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}e.HMAC=a;const s=(u,l,p)=>new a(u,l).update(p).digest();e.hmac=s,e.hmac.create=(u,l)=>new a(u,l)})(hmac$2)),hmac$2}var utils$7={},hasRequiredUtils$7;function requireUtils$7(){return hasRequiredUtils$7||(hasRequiredUtils$7=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.notImplemented=e.bitMask=e.utf8ToBytes=e.randomBytes=e.isBytes=e.hexToBytes=e.concatBytes=e.bytesToUtf8=e.bytesToHex=e.anumber=e.abytes=void 0,e.abool=l,e._abool2=p,e._abytes2=m,e.numberToHexUnpadded=g,e.hexToNumber=b,e.bytesToNumberBE=v,e.bytesToNumberLE=E,e.numberToBytesBE=M,e.numberToBytesLE=k,e.numberToVarBytesBE=P,e.ensureBytes=x,e.equalBytes=A,e.copyBytes=O,e.asciiToBytes=D,e.inRange=C,e.aInRange=L,e.bitLen=j,e.bitGet=K,e.bitSet=V,e.createHmacDrbg=q,e.validateObject=y,e.isHash=S,e._validateObject=w,e.memoized=U;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const t=requireUtils$8();var a=requireUtils$8();Object.defineProperty(e,"abytes",{enumerable:!0,get:function(){return a.abytes}}),Object.defineProperty(e,"anumber",{enumerable:!0,get:function(){return a.anumber}}),Object.defineProperty(e,"bytesToHex",{enumerable:!0,get:function(){return a.bytesToHex}}),Object.defineProperty(e,"bytesToUtf8",{enumerable:!0,get:function(){return a.bytesToUtf8}}),Object.defineProperty(e,"concatBytes",{enumerable:!0,get:function(){return a.concatBytes}}),Object.defineProperty(e,"hexToBytes",{enumerable:!0,get:function(){return a.hexToBytes}}),Object.defineProperty(e,"isBytes",{enumerable:!0,get:function(){return a.isBytes}}),Object.defineProperty(e,"randomBytes",{enumerable:!0,get:function(){return a.randomBytes}}),Object.defineProperty(e,"utf8ToBytes",{enumerable:!0,get:function(){return a.utf8ToBytes}});const s=BigInt(0),u=BigInt(1);function l(N,$){if(typeof $!="boolean")throw new Error(N+" boolean expected, got "+$)}function p(N,$=""){if(typeof N!="boolean"){const I=$&&`"${$}"`;throw new Error(I+"expected boolean, got type="+typeof N)}return N}function m(N,$,I=""){const _=(0,t.isBytes)(N),H=N==null?void 0:N.length,Z=$!==void 0;if(!_||Z&&H!==$){const W=I&&`"${I}" `,G=Z?` of length ${$}`:"",J=_?`length=${H}`:`type=${typeof N}`;throw new Error(W+"expected Uint8Array"+G+", got "+J)}return N}function g(N){const $=N.toString(16);return $.length&1?"0"+$:$}function b(N){if(typeof N!="string")throw new Error("hex string expected, got "+typeof N);return N===""?s:BigInt("0x"+N)}function v(N){return b((0,t.bytesToHex)(N))}function E(N){return(0,t.abytes)(N),b((0,t.bytesToHex)(Uint8Array.from(N).reverse()))}function M(N,$){return(0,t.hexToBytes)(N.toString(16).padStart($*2,"0"))}function k(N,$){return M(N,$).reverse()}function P(N){return(0,t.hexToBytes)(g(N))}function x(N,$,I){let _;if(typeof $=="string")try{_=(0,t.hexToBytes)($)}catch(Z){throw new Error(N+" must be hex string or Uint8Array, cause: "+Z)}else if((0,t.isBytes)($))_=Uint8Array.from($);else throw new Error(N+" must be hex string or Uint8Array");const H=_.length;if(typeof I=="number"&&H!==I)throw new Error(N+" of length "+I+" expected, got "+H);return _}function A(N,$){if(N.length!==$.length)return!1;let I=0;for(let _=0;_<N.length;_++)I|=N[_]^$[_];return I===0}function O(N){return Uint8Array.from(N)}function D(N){return Uint8Array.from(N,($,I)=>{const _=$.charCodeAt(0);if($.length!==1||_>127)throw new Error(`string contains non-ASCII character "${N[I]}" with code ${_} at position ${I}`);return _})}const z=N=>typeof N=="bigint"&&s<=N;function C(N,$,I){return z(N)&&z($)&&z(I)&&$<=N&&N<I}function L(N,$,I,_){if(!C($,I,_))throw new Error("expected valid "+N+": "+I+" <= n < "+_+", got "+$)}function j(N){let $;for($=0;N>s;N>>=u,$+=1);return $}function K(N,$){return N>>BigInt($)&u}function V(N,$,I){return N|(I?u:s)<<BigInt($)}const F=N=>(u<<BigInt(N))-u;e.bitMask=F;function q(N,$,I){if(typeof N!="number"||N<2)throw new Error("hashLen must be a number");if(typeof $!="number"||$<2)throw new Error("qByteLen must be a number");if(typeof I!="function")throw new Error("hmacFn must be a function");const _=ae=>new Uint8Array(ae),H=ae=>Uint8Array.of(ae);let Z=_(N),W=_(N),G=0;const J=()=>{Z.fill(1),W.fill(0),G=0},ie=(...ae)=>I(W,Z,...ae),Y=(ae=_(0))=>{W=ie(H(0),ae),Z=ie(),ae.length!==0&&(W=ie(H(1),ae),Z=ie())},te=()=>{if(G++>=1e3)throw new Error("drbg: tried 1000 values");let ae=0;const de=[];for(;ae<$;){Z=ie();const le=Z.slice();de.push(le),ae+=Z.length}return(0,t.concatBytes)(...de)};return(ae,de)=>{J(),Y(ae);let le;for(;!(le=de(te()));)Y();return J(),le}}const R={bigint:N=>typeof N=="bigint",function:N=>typeof N=="function",boolean:N=>typeof N=="boolean",string:N=>typeof N=="string",stringOrUint8Array:N=>typeof N=="string"||(0,t.isBytes)(N),isSafeInteger:N=>Number.isSafeInteger(N),array:N=>Array.isArray(N),field:(N,$)=>$.Fp.isValid(N),hash:N=>typeof N=="function"&&Number.isSafeInteger(N.outputLen)};function y(N,$,I={}){const _=(H,Z,W)=>{const G=R[Z];if(typeof G!="function")throw new Error("invalid validator function");const J=N[H];if(!(W&&J===void 0)&&!G(J,N))throw new Error("param "+String(H)+" is invalid. Expected "+Z+", got "+J)};for(const[H,Z]of Object.entries($))_(H,Z,!1);for(const[H,Z]of Object.entries(I))_(H,Z,!0);return N}function S(N){return typeof N=="function"&&Number.isSafeInteger(N.outputLen)}function w(N,$,I={}){if(!N||typeof N!="object")throw new Error("expected valid options object");function _(H,Z,W){const G=N[H];if(W&&G===void 0)return;const J=typeof G;if(J!==Z||G===null)throw new Error(`param "${H}" is invalid: expected ${Z}, got ${J}`)}Object.entries($).forEach(([H,Z])=>_(H,Z,!1)),Object.entries(I).forEach(([H,Z])=>_(H,Z,!0))}const T=()=>{throw new Error("not implemented")};e.notImplemented=T;function U(N){const $=new WeakMap;return(I,..._)=>{const H=$.get(I);if(H!==void 0)return H;const Z=N(I,..._);return $.set(I,Z),Z}}})(utils$7)),utils$7}var curve$1={},modular={},hasRequiredModular;function requireModular(){if(hasRequiredModular)return modular;hasRequiredModular=1,Object.defineProperty(modular,"__esModule",{value:!0}),modular.isNegativeLE=void 0,modular.mod=E,modular.pow=M,modular.pow2=k,modular.invert=P,modular.tonelliShanks=z,modular.FpSqrt=C,modular.validateField=K,modular.FpPow=V,modular.FpInvertBatch=F,modular.FpDiv=q,modular.FpLegendre=R,modular.FpIsSquare=y,modular.nLength=S,modular.Field=w,modular.FpSqrtOdd=T,modular.FpSqrtEven=U,modular.hashToPrivateScalar=N,modular.getFieldBytesLength=$,modular.getMinHashLength=I,modular.mapHashToField=_;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const e=requireUtils$7(),t=BigInt(0),a=BigInt(1),s=BigInt(2),u=BigInt(3),l=BigInt(4),p=BigInt(5),m=BigInt(7),g=BigInt(8),b=BigInt(9),v=BigInt(16);function E(H,Z){const W=H%Z;return W>=t?W:Z+W}function M(H,Z,W){return V(w(W),H,Z)}function k(H,Z,W){let G=H;for(;Z-- >t;)G*=G,G%=W;return G}function P(H,Z){if(H===t)throw new Error("invert: expected non-zero number");if(Z<=t)throw new Error("invert: expected positive modulus, got "+Z);let W=E(H,Z),G=Z,J=t,ie=a;for(;W!==t;){const te=G/W,ee=G%W,ae=J-ie*te;G=W,W=ee,J=ie,ie=ae}if(G!==a)throw new Error("invert: does not exist");return E(J,Z)}function x(H,Z,W){if(!H.eql(H.sqr(Z),W))throw new Error("Cannot find square root")}function A(H,Z){const W=(H.ORDER+a)/l,G=H.pow(Z,W);return x(H,G,Z),G}function O(H,Z){const W=(H.ORDER-p)/g,G=H.mul(Z,s),J=H.pow(G,W),ie=H.mul(Z,J),Y=H.mul(H.mul(ie,s),J),te=H.mul(ie,H.sub(Y,H.ONE));return x(H,te,Z),te}function D(H){const Z=w(H),W=z(H),G=W(Z,Z.neg(Z.ONE)),J=W(Z,G),ie=W(Z,Z.neg(G)),Y=(H+m)/v;return(te,ee)=>{let ae=te.pow(ee,Y),de=te.mul(ae,G);const le=te.mul(ae,J),be=te.mul(ae,ie),ne=te.eql(te.sqr(de),ee),pe=te.eql(te.sqr(le),ee);ae=te.cmov(ae,de,ne),de=te.cmov(be,le,pe);const ve=te.eql(te.sqr(de),ee),qe=te.cmov(ae,de,ve);return x(te,qe,ee),qe}}function z(H){if(H<u)throw new Error("sqrt is not defined for small field");let Z=H-a,W=0;for(;Z%s===t;)Z/=s,W++;let G=s;const J=w(H);for(;R(J,G)===1;)if(G++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(W===1)return A;let ie=J.pow(G,Z);const Y=(Z+a)/s;return function(ee,ae){if(ee.is0(ae))return ae;if(R(ee,ae)!==1)throw new Error("Cannot find square root");let de=W,le=ee.mul(ee.ONE,ie),be=ee.pow(ae,Z),ne=ee.pow(ae,Y);for(;!ee.eql(be,ee.ONE);){if(ee.is0(be))return ee.ZERO;let pe=1,ve=ee.sqr(be);for(;!ee.eql(ve,ee.ONE);)if(pe++,ve=ee.sqr(ve),pe===de)throw new Error("Cannot find square root");const qe=a<<BigInt(de-pe-1),$e=ee.pow(le,qe);de=pe,le=ee.sqr($e),be=ee.mul(be,le),ne=ee.mul(ne,$e)}return ne}}function C(H){return H%l===u?A:H%g===p?O:H%v===b?D(H):z(H)}const L=(H,Z)=>(E(H,Z)&a)===a;modular.isNegativeLE=L;const j=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function K(H){const Z={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},W=j.reduce((G,J)=>(G[J]="function",G),Z);return(0,e._validateObject)(H,W),H}function V(H,Z,W){if(W<t)throw new Error("invalid exponent, negatives unsupported");if(W===t)return H.ONE;if(W===a)return Z;let G=H.ONE,J=Z;for(;W>t;)W&a&&(G=H.mul(G,J)),J=H.sqr(J),W>>=a;return G}function F(H,Z,W=!1){const G=new Array(Z.length).fill(W?H.ZERO:void 0),J=Z.reduce((Y,te,ee)=>H.is0(te)?Y:(G[ee]=Y,H.mul(Y,te)),H.ONE),ie=H.inv(J);return Z.reduceRight((Y,te,ee)=>H.is0(te)?Y:(G[ee]=H.mul(Y,G[ee]),H.mul(Y,te)),ie),G}function q(H,Z,W){return H.mul(Z,typeof W=="bigint"?P(W,H.ORDER):H.inv(W))}function R(H,Z){const W=(H.ORDER-a)/s,G=H.pow(Z,W),J=H.eql(G,H.ONE),ie=H.eql(G,H.ZERO),Y=H.eql(G,H.neg(H.ONE));if(!J&&!ie&&!Y)throw new Error("invalid Legendre symbol result");return J?1:ie?0:-1}function y(H,Z){return R(H,Z)===1}function S(H,Z){Z!==void 0&&(0,e.anumber)(Z);const W=Z!==void 0?Z:H.toString(2).length,G=Math.ceil(W/8);return{nBitLength:W,nByteLength:G}}function w(H,Z,W=!1,G={}){if(H<=t)throw new Error("invalid field: expected ORDER > 0, got "+H);let J,ie,Y=!1,te;if(typeof Z=="object"&&Z!=null){if(G.sqrt||W)throw new Error("cannot specify opts in two arguments");const be=Z;be.BITS&&(J=be.BITS),be.sqrt&&(ie=be.sqrt),typeof be.isLE=="boolean"&&(W=be.isLE),typeof be.modFromBytes=="boolean"&&(Y=be.modFromBytes),te=be.allowedLengths}else typeof Z=="number"&&(J=Z),G.sqrt&&(ie=G.sqrt);const{nBitLength:ee,nByteLength:ae}=S(H,J);if(ae>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let de;const le=Object.freeze({ORDER:H,isLE:W,BITS:ee,BYTES:ae,MASK:(0,e.bitMask)(ee),ZERO:t,ONE:a,allowedLengths:te,create:be=>E(be,H),isValid:be=>{if(typeof be!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof be);return t<=be&&be<H},is0:be=>be===t,isValidNot0:be=>!le.is0(be)&&le.isValid(be),isOdd:be=>(be&a)===a,neg:be=>E(-be,H),eql:(be,ne)=>be===ne,sqr:be=>E(be*be,H),add:(be,ne)=>E(be+ne,H),sub:(be,ne)=>E(be-ne,H),mul:(be,ne)=>E(be*ne,H),pow:(be,ne)=>V(le,be,ne),div:(be,ne)=>E(be*P(ne,H),H),sqrN:be=>be*be,addN:(be,ne)=>be+ne,subN:(be,ne)=>be-ne,mulN:(be,ne)=>be*ne,inv:be=>P(be,H),sqrt:ie||(be=>(de||(de=C(H)),de(le,be))),toBytes:be=>W?(0,e.numberToBytesLE)(be,ae):(0,e.numberToBytesBE)(be,ae),fromBytes:(be,ne=!0)=>{if(te){if(!te.includes(be.length)||be.length>ae)throw new Error("Field.fromBytes: expected "+te+" bytes, got "+be.length);const ve=new Uint8Array(ae);ve.set(be,W?0:ve.length-be.length),be=ve}if(be.length!==ae)throw new Error("Field.fromBytes: expected "+ae+" bytes, got "+be.length);let pe=W?(0,e.bytesToNumberLE)(be):(0,e.bytesToNumberBE)(be);if(Y&&(pe=E(pe,H)),!ne&&!le.isValid(pe))throw new Error("invalid field element: outside of range 0..ORDER");return pe},invertBatch:be=>F(le,be),cmov:(be,ne,pe)=>pe?ne:be});return Object.freeze(le)}function T(H,Z){if(!H.isOdd)throw new Error("Field doesn't have isOdd");const W=H.sqrt(Z);return H.isOdd(W)?W:H.neg(W)}function U(H,Z){if(!H.isOdd)throw new Error("Field doesn't have isOdd");const W=H.sqrt(Z);return H.isOdd(W)?H.neg(W):W}function N(H,Z,W=!1){H=(0,e.ensureBytes)("privateHash",H);const G=H.length,J=S(Z).nByteLength+8;if(J<24||G<J||G>1024)throw new Error("hashToPrivateScalar: expected "+J+"-1024 bytes of input, got "+G);const ie=W?(0,e.bytesToNumberLE)(H):(0,e.bytesToNumberBE)(H);return E(ie,Z-a)+a}function $(H){if(typeof H!="bigint")throw new Error("field order must be bigint");const Z=H.toString(2).length;return Math.ceil(Z/8)}function I(H){const Z=$(H);return Z+Math.ceil(Z/2)}function _(H,Z,W=!1){const G=H.length,J=$(Z),ie=I(Z);if(G<16||G<ie||G>1024)throw new Error("expected "+ie+"-1024 bytes of input, got "+G);const Y=W?(0,e.bytesToNumberLE)(H):(0,e.bytesToNumberBE)(H),te=E(Y,Z-a)+a;return W?(0,e.numberToBytesLE)(te,J):(0,e.numberToBytesBE)(te,J)}return modular}var hasRequiredCurve$1;function requireCurve$1(){if(hasRequiredCurve$1)return curve$1;hasRequiredCurve$1=1,Object.defineProperty(curve$1,"__esModule",{value:!0}),curve$1.wNAF=void 0,curve$1.negateCt=u,curve$1.normalizeZ=l,curve$1.mulEndoUnsafe=A,curve$1.pippenger=O,curve$1.precomputeMSMUnsafe=D,curve$1.validateBasic=z,curve$1._createCurveFields=L;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const e=requireUtils$7(),t=requireModular(),a=BigInt(0),s=BigInt(1);function u(j,K){const V=K.negate();return j?V:K}function l(j,K){const V=(0,t.FpInvertBatch)(j.Fp,K.map(F=>F.Z));return K.map((F,q)=>j.fromAffine(F.toAffine(V[q])))}function p(j,K){if(!Number.isSafeInteger(j)||j<=0||j>K)throw new Error("invalid window size, expected [1.."+K+"], got W="+j)}function m(j,K){p(j,K);const V=Math.ceil(K/j)+1,F=2**(j-1),q=2**j,R=(0,e.bitMask)(j),y=BigInt(j);return{windows:V,windowSize:F,mask:R,maxNumber:q,shiftBy:y}}function g(j,K,V){const{windowSize:F,mask:q,maxNumber:R,shiftBy:y}=V;let S=Number(j&q),w=j>>y;S>F&&(S-=R,w+=s);const T=K*F,U=T+Math.abs(S)-1,N=S===0,$=S<0,I=K%2!==0;return{nextN:w,offset:U,isZero:N,isNeg:$,isNegF:I,offsetF:T}}function b(j,K){if(!Array.isArray(j))throw new Error("array expected");j.forEach((V,F)=>{if(!(V instanceof K))throw new Error("invalid point at index "+F)})}function v(j,K){if(!Array.isArray(j))throw new Error("array of scalars expected");j.forEach((V,F)=>{if(!K.isValid(V))throw new Error("invalid scalar at index "+F)})}const E=new WeakMap,M=new WeakMap;function k(j){return M.get(j)||1}function P(j){if(j!==a)throw new Error("invalid wNAF")}class x{constructor(K,V){this.BASE=K.BASE,this.ZERO=K.ZERO,this.Fn=K.Fn,this.bits=V}_unsafeLadder(K,V,F=this.ZERO){let q=K;for(;V>a;)V&s&&(F=F.add(q)),q=q.double(),V>>=s;return F}precomputeWindow(K,V){const{windows:F,windowSize:q}=m(V,this.bits),R=[];let y=K,S=y;for(let w=0;w<F;w++){S=y,R.push(S);for(let T=1;T<q;T++)S=S.add(y),R.push(S);y=S.double()}return R}wNAF(K,V,F){if(!this.Fn.isValid(F))throw new Error("invalid scalar");let q=this.ZERO,R=this.BASE;const y=m(K,this.bits);for(let S=0;S<y.windows;S++){const{nextN:w,offset:T,isZero:U,isNeg:N,isNegF:$,offsetF:I}=g(F,S,y);F=w,U?R=R.add(u($,V[I])):q=q.add(u(N,V[T]))}return P(F),{p:q,f:R}}wNAFUnsafe(K,V,F,q=this.ZERO){const R=m(K,this.bits);for(let y=0;y<R.windows&&F!==a;y++){const{nextN:S,offset:w,isZero:T,isNeg:U}=g(F,y,R);if(F=S,!T){const N=V[w];q=q.add(U?N.negate():N)}}return P(F),q}getPrecomputes(K,V,F){let q=E.get(V);return q||(q=this.precomputeWindow(V,K),K!==1&&(typeof F=="function"&&(q=F(q)),E.set(V,q))),q}cached(K,V,F){const q=k(K);return this.wNAF(q,this.getPrecomputes(q,K,F),V)}unsafe(K,V,F,q){const R=k(K);return R===1?this._unsafeLadder(K,V,q):this.wNAFUnsafe(R,this.getPrecomputes(R,K,F),V,q)}createCache(K,V){p(V,this.bits),M.set(K,V),E.delete(K)}hasCache(K){return k(K)!==1}}curve$1.wNAF=x;function A(j,K,V,F){let q=K,R=j.ZERO,y=j.ZERO;for(;V>a||F>a;)V&s&&(R=R.add(q)),F&s&&(y=y.add(q)),q=q.double(),V>>=s,F>>=s;return{p1:R,p2:y}}function O(j,K,V,F){b(V,j),v(F,K);const q=V.length,R=F.length;if(q!==R)throw new Error("arrays of points and scalars must have equal length");const y=j.ZERO,S=(0,e.bitLen)(BigInt(q));let w=1;S>12?w=S-3:S>4?w=S-2:S>0&&(w=2);const T=(0,e.bitMask)(w),U=new Array(Number(T)+1).fill(y),N=Math.floor((K.BITS-1)/w)*w;let $=y;for(let I=N;I>=0;I-=w){U.fill(y);for(let H=0;H<R;H++){const Z=F[H],W=Number(Z>>BigInt(I)&T);U[W]=U[W].add(V[H])}let _=y;for(let H=U.length-1,Z=y;H>0;H--)Z=Z.add(U[H]),_=_.add(Z);if($=$.add(_),I!==0)for(let H=0;H<w;H++)$=$.double()}return $}function D(j,K,V,F){p(F,K.BITS),b(V,j);const q=j.ZERO,R=2**F-1,y=Math.ceil(K.BITS/F),S=(0,e.bitMask)(F),w=V.map(T=>{const U=[];for(let N=0,$=T;N<R;N++)U.push($),$=$.add(T);return U});return T=>{if(v(T,K),T.length>V.length)throw new Error("array of scalars must be smaller than array of points");let U=q;for(let N=0;N<y;N++){if(U!==q)for(let I=0;I<F;I++)U=U.double();const $=BigInt(y*F-(N+1)*F);for(let I=0;I<T.length;I++){const _=T[I],H=Number(_>>$&S);H&&(U=U.add(w[I][H-1]))}}return U}}function z(j){return(0,t.validateField)(j.Fp),(0,e.validateObject)(j,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...(0,t.nLength)(j.n,j.nBitLength),...j,p:j.Fp.ORDER})}function C(j,K,V){if(K){if(K.ORDER!==j)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return(0,t.validateField)(K),K}else return(0,t.Field)(j,{isLE:V})}function L(j,K,V={},F){if(F===void 0&&(F=j==="edwards"),!K||typeof K!="object")throw new Error(`expected valid ${j} CURVE object`);for(const w of["p","n","h"]){const T=K[w];if(!(typeof T=="bigint"&&T>a))throw new Error(`CURVE.${w} must be positive bigint`)}const q=C(K.p,V.Fp,F),R=C(K.n,V.Fn,F),S=["Gx","Gy","a",j==="weierstrass"?"b":"d"];for(const w of S)if(!q.isValid(K[w]))throw new Error(`CURVE.${w} must be valid field element of CURVE.Fp`);return K=Object.freeze(Object.assign({},K)),{CURVE:K,Fp:q,Fn:R}}return curve$1}var hasRequiredWeierstrass;function requireWeierstrass(){return hasRequiredWeierstrass||(hasRequiredWeierstrass=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DER=e.DERErr=void 0,e._splitEndoScalar=m,e._normFnElement=A,e.weierstrassN=O,e.SWUFpSqrtRatio=z,e.mapToCurveSimpleSWU=C,e.ecdh=j,e.ecdsa=K,e.weierstrassPoints=V,e._legacyHelperEquat=R,e.weierstrass=w;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const t=requireHmac$1(),a=requireUtils$8(),s=requireUtils$7(),u=requireCurve$1(),l=requireModular(),p=(T,U)=>(T+(T>=0?U:-U)/k)/U;function m(T,U,N){const[[$,I],[_,H]]=U,Z=p(H*T,N),W=p(-I*T,N);let G=T-Z*$-W*_,J=-Z*I-W*H;const ie=G<E,Y=J<E;ie&&(G=-G),Y&&(J=-J);const te=(0,s.bitMask)(Math.ceil((0,s.bitLen)(N)/2))+M;if(G<E||G>=te||J<E||J>=te)throw new Error("splitScalar (endomorphism): failed, k="+T);return{k1neg:ie,k1:G,k2neg:Y,k2:J}}function g(T){if(!["compact","recovered","der"].includes(T))throw new Error('Signature format must be "compact", "recovered", or "der"');return T}function b(T,U){const N={};for(let $ of Object.keys(U))N[$]=T[$]===void 0?U[$]:T[$];return(0,s._abool2)(N.lowS,"lowS"),(0,s._abool2)(N.prehash,"prehash"),N.format!==void 0&&g(N.format),N}class v extends Error{constructor(U=""){super(U)}}e.DERErr=v,e.DER={Err:v,_tlv:{encode:(T,U)=>{const{Err:N}=e.DER;if(T<0||T>256)throw new N("tlv.encode: wrong tag");if(U.length&1)throw new N("tlv.encode: unpadded data");const $=U.length/2,I=(0,s.numberToHexUnpadded)($);if(I.length/2&128)throw new N("tlv.encode: long form length too big");const _=$>127?(0,s.numberToHexUnpadded)(I.length/2|128):"";return(0,s.numberToHexUnpadded)(T)+_+I+U},decode(T,U){const{Err:N}=e.DER;let $=0;if(T<0||T>256)throw new N("tlv.encode: wrong tag");if(U.length<2||U[$++]!==T)throw new N("tlv.decode: wrong tlv");const I=U[$++],_=!!(I&128);let H=0;if(!_)H=I;else{const W=I&127;if(!W)throw new N("tlv.decode(long): indefinite length not supported");if(W>4)throw new N("tlv.decode(long): byte length is too big");const G=U.subarray($,$+W);if(G.length!==W)throw new N("tlv.decode: length bytes not complete");if(G[0]===0)throw new N("tlv.decode(long): zero leftmost byte");for(const J of G)H=H<<8|J;if($+=W,H<128)throw new N("tlv.decode(long): not minimal encoding")}const Z=U.subarray($,$+H);if(Z.length!==H)throw new N("tlv.decode: wrong value length");return{v:Z,l:U.subarray($+H)}}},_int:{encode(T){const{Err:U}=e.DER;if(T<E)throw new U("integer: negative integers are not allowed");let N=(0,s.numberToHexUnpadded)(T);if(Number.parseInt(N[0],16)&8&&(N="00"+N),N.length&1)throw new U("unexpected DER parsing assertion: unpadded hex");return N},decode(T){const{Err:U}=e.DER;if(T[0]&128)throw new U("invalid signature integer: negative");if(T[0]===0&&!(T[1]&128))throw new U("invalid signature integer: unnecessary leading zero");return(0,s.bytesToNumberBE)(T)}},toSig(T){const{Err:U,_int:N,_tlv:$}=e.DER,I=(0,s.ensureBytes)("signature",T),{v:_,l:H}=$.decode(48,I);if(H.length)throw new U("invalid signature: left bytes after parsing");const{v:Z,l:W}=$.decode(2,_),{v:G,l:J}=$.decode(2,W);if(J.length)throw new U("invalid signature: left bytes after parsing");return{r:N.decode(Z),s:N.decode(G)}},hexFromSig(T){const{_tlv:U,_int:N}=e.DER,$=U.encode(2,N.encode(T.r)),I=U.encode(2,N.encode(T.s)),_=$+I;return U.encode(48,_)}};const E=BigInt(0),M=BigInt(1),k=BigInt(2),P=BigInt(3),x=BigInt(4);function A(T,U){const{BYTES:N}=T;let $;if(typeof U=="bigint")$=U;else{let I=(0,s.ensureBytes)("private key",U);try{$=T.fromBytes(I)}catch{throw new Error(`invalid private key: expected ui8a of size ${N}, got ${typeof U}`)}}if(!T.isValidNot0($))throw new Error("invalid private key: out of range [1..N-1]");return $}function O(T,U={}){const N=(0,u._createCurveFields)("weierstrass",T,U),{Fp:$,Fn:I}=N;let _=N.CURVE;const{h:H,n:Z}=_;(0,s._validateObject)(U,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:W}=U;if(W&&(!$.is0(_.a)||typeof W.beta!="bigint"||!Array.isArray(W.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const G=L($,I);function J(){if(!$.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function ie(me,ye,Pe){const{x:we,y:_e}=ye.toAffine(),Me=$.toBytes(we);if((0,s._abool2)(Pe,"isCompressed"),Pe){J();const Fe=!$.isOdd(_e);return(0,s.concatBytes)(D(Fe),Me)}else return(0,s.concatBytes)(Uint8Array.of(4),Me,$.toBytes(_e))}function Y(me){(0,s._abytes2)(me,void 0,"Point");const{publicKey:ye,publicKeyUncompressed:Pe}=G,we=me.length,_e=me[0],Me=me.subarray(1);if(we===ye&&(_e===2||_e===3)){const Fe=$.fromBytes(Me);if(!$.isValid(Fe))throw new Error("bad point: is not on curve, wrong x");const Se=ae(Fe);let ue;try{ue=$.sqrt(Se)}catch(Be){const Ue=Be instanceof Error?": "+Be.message:"";throw new Error("bad point: is not on curve, sqrt error"+Ue)}J();const Ae=$.isOdd(ue);return(_e&1)===1!==Ae&&(ue=$.neg(ue)),{x:Fe,y:ue}}else if(we===Pe&&_e===4){const Fe=$.BYTES,Se=$.fromBytes(Me.subarray(0,Fe)),ue=$.fromBytes(Me.subarray(Fe,Fe*2));if(!de(Se,ue))throw new Error("bad point: is not on curve");return{x:Se,y:ue}}else throw new Error(`bad point: got length ${we}, expected compressed=${ye} or uncompressed=${Pe}`)}const te=U.toBytes||ie,ee=U.fromBytes||Y;function ae(me){const ye=$.sqr(me),Pe=$.mul(ye,me);return $.add($.add(Pe,$.mul(me,_.a)),_.b)}function de(me,ye){const Pe=$.sqr(ye),we=ae(me);return $.eql(Pe,we)}if(!de(_.Gx,_.Gy))throw new Error("bad curve params: generator point");const le=$.mul($.pow(_.a,P),x),be=$.mul($.sqr(_.b),BigInt(27));if($.is0($.add(le,be)))throw new Error("bad curve params: a or b");function ne(me,ye,Pe=!1){if(!$.isValid(ye)||Pe&&$.is0(ye))throw new Error(`bad point coordinate ${me}`);return ye}function pe(me){if(!(me instanceof Ye))throw new Error("ProjectivePoint expected")}function ve(me){if(!W||!W.basises)throw new Error("no endo");return m(me,W.basises,I.ORDER)}const qe=(0,s.memoized)((me,ye)=>{const{X:Pe,Y:we,Z:_e}=me;if($.eql(_e,$.ONE))return{x:Pe,y:we};const Me=me.is0();ye==null&&(ye=Me?$.ONE:$.inv(_e));const Fe=$.mul(Pe,ye),Se=$.mul(we,ye),ue=$.mul(_e,ye);if(Me)return{x:$.ZERO,y:$.ZERO};if(!$.eql(ue,$.ONE))throw new Error("invZ was invalid");return{x:Fe,y:Se}}),$e=(0,s.memoized)(me=>{if(me.is0()){if(U.allowInfinityPoint&&!$.is0(me.Y))return;throw new Error("bad point: ZERO")}const{x:ye,y:Pe}=me.toAffine();if(!$.isValid(ye)||!$.isValid(Pe))throw new Error("bad point: x or y not field elements");if(!de(ye,Pe))throw new Error("bad point: equation left != right");if(!me.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function Ce(me,ye,Pe,we,_e){return Pe=new Ye($.mul(Pe.X,me),Pe.Y,Pe.Z),ye=(0,u.negateCt)(we,ye),Pe=(0,u.negateCt)(_e,Pe),ye.add(Pe)}class Ye{constructor(ye,Pe,we){this.X=ne("x",ye),this.Y=ne("y",Pe,!0),this.Z=ne("z",we),Object.freeze(this)}static CURVE(){return _}static fromAffine(ye){const{x:Pe,y:we}=ye||{};if(!ye||!$.isValid(Pe)||!$.isValid(we))throw new Error("invalid affine point");if(ye instanceof Ye)throw new Error("projective point not allowed");return $.is0(Pe)&&$.is0(we)?Ye.ZERO:new Ye(Pe,we,$.ONE)}static fromBytes(ye){const Pe=Ye.fromAffine(ee((0,s._abytes2)(ye,void 0,"point")));return Pe.assertValidity(),Pe}static fromHex(ye){return Ye.fromBytes((0,s.ensureBytes)("pointHex",ye))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(ye=8,Pe=!0){return oe.createCache(this,ye),Pe||this.multiply(P),this}assertValidity(){$e(this)}hasEvenY(){const{y:ye}=this.toAffine();if(!$.isOdd)throw new Error("Field doesn't support isOdd");return!$.isOdd(ye)}equals(ye){pe(ye);const{X:Pe,Y:we,Z:_e}=this,{X:Me,Y:Fe,Z:Se}=ye,ue=$.eql($.mul(Pe,Se),$.mul(Me,_e)),Ae=$.eql($.mul(we,Se),$.mul(Fe,_e));return ue&&Ae}negate(){return new Ye(this.X,$.neg(this.Y),this.Z)}double(){const{a:ye,b:Pe}=_,we=$.mul(Pe,P),{X:_e,Y:Me,Z:Fe}=this;let Se=$.ZERO,ue=$.ZERO,Ae=$.ZERO,Te=$.mul(_e,_e),Be=$.mul(Me,Me),Ue=$.mul(Fe,Fe),Ie=$.mul(_e,Me);return Ie=$.add(Ie,Ie),Ae=$.mul(_e,Fe),Ae=$.add(Ae,Ae),Se=$.mul(ye,Ae),ue=$.mul(we,Ue),ue=$.add(Se,ue),Se=$.sub(Be,ue),ue=$.add(Be,ue),ue=$.mul(Se,ue),Se=$.mul(Ie,Se),Ae=$.mul(we,Ae),Ue=$.mul(ye,Ue),Ie=$.sub(Te,Ue),Ie=$.mul(ye,Ie),Ie=$.add(Ie,Ae),Ae=$.add(Te,Te),Te=$.add(Ae,Te),Te=$.add(Te,Ue),Te=$.mul(Te,Ie),ue=$.add(ue,Te),Ue=$.mul(Me,Fe),Ue=$.add(Ue,Ue),Te=$.mul(Ue,Ie),Se=$.sub(Se,Te),Ae=$.mul(Ue,Be),Ae=$.add(Ae,Ae),Ae=$.add(Ae,Ae),new Ye(Se,ue,Ae)}add(ye){pe(ye);const{X:Pe,Y:we,Z:_e}=this,{X:Me,Y:Fe,Z:Se}=ye;let ue=$.ZERO,Ae=$.ZERO,Te=$.ZERO;const Be=_.a,Ue=$.mul(_.b,P);let Ie=$.mul(Pe,Me),ke=$.mul(we,Fe),tt=$.mul(_e,Se),Ke=$.add(Pe,we),Ee=$.add(Me,Fe);Ke=$.mul(Ke,Ee),Ee=$.add(Ie,ke),Ke=$.sub(Ke,Ee),Ee=$.add(Pe,_e);let Xe=$.add(Me,Se);return Ee=$.mul(Ee,Xe),Xe=$.add(Ie,tt),Ee=$.sub(Ee,Xe),Xe=$.add(we,_e),ue=$.add(Fe,Se),Xe=$.mul(Xe,ue),ue=$.add(ke,tt),Xe=$.sub(Xe,ue),Te=$.mul(Be,Ee),ue=$.mul(Ue,tt),Te=$.add(ue,Te),ue=$.sub(ke,Te),Te=$.add(ke,Te),Ae=$.mul(ue,Te),ke=$.add(Ie,Ie),ke=$.add(ke,Ie),tt=$.mul(Be,tt),Ee=$.mul(Ue,Ee),ke=$.add(ke,tt),tt=$.sub(Ie,tt),tt=$.mul(Be,tt),Ee=$.add(Ee,tt),Ie=$.mul(ke,Ee),Ae=$.add(Ae,Ie),Ie=$.mul(Xe,Ee),ue=$.mul(Ke,ue),ue=$.sub(ue,Ie),Ie=$.mul(Ke,ke),Te=$.mul(Xe,Te),Te=$.add(Te,Ie),new Ye(ue,Ae,Te)}subtract(ye){return this.add(ye.negate())}is0(){return this.equals(Ye.ZERO)}multiply(ye){const{endo:Pe}=U;if(!I.isValidNot0(ye))throw new Error("invalid scalar: out of range");let we,_e;const Me=Fe=>oe.cached(this,Fe,Se=>(0,u.normalizeZ)(Ye,Se));if(Pe){const{k1neg:Fe,k1:Se,k2neg:ue,k2:Ae}=ve(ye),{p:Te,f:Be}=Me(Se),{p:Ue,f:Ie}=Me(Ae);_e=Be.add(Ie),we=Ce(Pe.beta,Te,Ue,Fe,ue)}else{const{p:Fe,f:Se}=Me(ye);we=Fe,_e=Se}return(0,u.normalizeZ)(Ye,[we,_e])[0]}multiplyUnsafe(ye){const{endo:Pe}=U,we=this;if(!I.isValid(ye))throw new Error("invalid scalar: out of range");if(ye===E||we.is0())return Ye.ZERO;if(ye===M)return we;if(oe.hasCache(this))return this.multiply(ye);if(Pe){const{k1neg:_e,k1:Me,k2neg:Fe,k2:Se}=ve(ye),{p1:ue,p2:Ae}=(0,u.mulEndoUnsafe)(Ye,we,Me,Se);return Ce(Pe.beta,ue,Ae,_e,Fe)}else return oe.unsafe(we,ye)}multiplyAndAddUnsafe(ye,Pe,we){const _e=this.multiplyUnsafe(Pe).add(ye.multiplyUnsafe(we));return _e.is0()?void 0:_e}toAffine(ye){return qe(this,ye)}isTorsionFree(){const{isTorsionFree:ye}=U;return H===M?!0:ye?ye(Ye,this):oe.unsafe(this,Z).is0()}clearCofactor(){const{clearCofactor:ye}=U;return H===M?this:ye?ye(Ye,this):this.multiplyUnsafe(H)}isSmallOrder(){return this.multiplyUnsafe(H).is0()}toBytes(ye=!0){return(0,s._abool2)(ye,"isCompressed"),this.assertValidity(),te(Ye,this,ye)}toHex(ye=!0){return(0,s.bytesToHex)(this.toBytes(ye))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(ye=!0){return this.toBytes(ye)}_setWindowSize(ye){this.precompute(ye)}static normalizeZ(ye){return(0,u.normalizeZ)(Ye,ye)}static msm(ye,Pe){return(0,u.pippenger)(Ye,I,ye,Pe)}static fromPrivateKey(ye){return Ye.BASE.multiply(A(I,ye))}}Ye.BASE=new Ye(_.Gx,_.Gy,$.ONE),Ye.ZERO=new Ye($.ZERO,$.ONE,$.ZERO),Ye.Fp=$,Ye.Fn=I;const Je=I.BITS,oe=new u.wNAF(Ye,U.endo?Math.ceil(Je/2):Je);return Ye.BASE.precompute(8),Ye}function D(T){return Uint8Array.of(T?2:3)}function z(T,U){const N=T.ORDER;let $=E;for(let ee=N-M;ee%k===E;ee/=k)$+=M;const I=$,_=k<<I-M-M,H=_*k,Z=(N-M)/H,W=(Z-M)/k,G=H-M,J=_,ie=T.pow(U,Z),Y=T.pow(U,(Z+M)/k);let te=(ee,ae)=>{let de=ie,le=T.pow(ae,G),be=T.sqr(le);be=T.mul(be,ae);let ne=T.mul(ee,be);ne=T.pow(ne,W),ne=T.mul(ne,le),le=T.mul(ne,ae),be=T.mul(ne,ee);let pe=T.mul(be,le);ne=T.pow(pe,J);let ve=T.eql(ne,T.ONE);le=T.mul(be,Y),ne=T.mul(pe,de),be=T.cmov(le,be,ve),pe=T.cmov(ne,pe,ve);for(let qe=I;qe>M;qe--){let $e=qe-k;$e=k<<$e-M;let Ce=T.pow(pe,$e);const Ye=T.eql(Ce,T.ONE);le=T.mul(be,de),de=T.mul(de,de),Ce=T.mul(pe,de),be=T.cmov(le,be,Ye),pe=T.cmov(Ce,pe,Ye)}return{isValid:ve,value:be}};if(T.ORDER%x===P){const ee=(T.ORDER-P)/x,ae=T.sqrt(T.neg(U));te=(de,le)=>{let be=T.sqr(le);const ne=T.mul(de,le);be=T.mul(be,ne);let pe=T.pow(be,ee);pe=T.mul(pe,ne);const ve=T.mul(pe,ae),qe=T.mul(T.sqr(pe),le),$e=T.eql(qe,de);let Ce=T.cmov(ve,pe,$e);return{isValid:$e,value:Ce}}}return te}function C(T,U){(0,l.validateField)(T);const{A:N,B:$,Z:I}=U;if(!T.isValid(N)||!T.isValid($)||!T.isValid(I))throw new Error("mapToCurveSimpleSWU: invalid opts");const _=z(T,I);if(!T.isOdd)throw new Error("Field does not have .isOdd()");return H=>{let Z,W,G,J,ie,Y,te,ee;Z=T.sqr(H),Z=T.mul(Z,I),W=T.sqr(Z),W=T.add(W,Z),G=T.add(W,T.ONE),G=T.mul(G,$),J=T.cmov(I,T.neg(W),!T.eql(W,T.ZERO)),J=T.mul(J,N),W=T.sqr(G),Y=T.sqr(J),ie=T.mul(Y,N),W=T.add(W,ie),W=T.mul(W,G),Y=T.mul(Y,J),ie=T.mul(Y,$),W=T.add(W,ie),te=T.mul(Z,G);const{isValid:ae,value:de}=_(W,Y);ee=T.mul(Z,H),ee=T.mul(ee,de),te=T.cmov(te,G,ae),ee=T.cmov(ee,de,ae);const le=T.isOdd(H)===T.isOdd(ee);ee=T.cmov(T.neg(ee),ee,le);const be=(0,l.FpInvertBatch)(T,[J],!0)[0];return te=T.mul(te,be),{x:te,y:ee}}}function L(T,U){return{secretKey:U.BYTES,publicKey:1+T.BYTES,publicKeyUncompressed:1+2*T.BYTES,publicKeyHasPrefix:!0,signature:2*U.BYTES}}function j(T,U={}){const{Fn:N}=T,$=U.randomBytes||s.randomBytes,I=Object.assign(L(T.Fp,N),{seed:(0,l.getMinHashLength)(N.ORDER)});function _(te){try{return!!A(N,te)}catch{return!1}}function H(te,ee){const{publicKey:ae,publicKeyUncompressed:de}=I;try{const le=te.length;return ee===!0&&le!==ae||ee===!1&&le!==de?!1:!!T.fromBytes(te)}catch{return!1}}function Z(te=$(I.seed)){return(0,l.mapHashToField)((0,s._abytes2)(te,I.seed,"seed"),N.ORDER)}function W(te,ee=!0){return T.BASE.multiply(A(N,te)).toBytes(ee)}function G(te){const ee=Z(te);return{secretKey:ee,publicKey:W(ee)}}function J(te){if(typeof te=="bigint")return!1;if(te instanceof T)return!0;const{secretKey:ee,publicKey:ae,publicKeyUncompressed:de}=I;if(N.allowedLengths||ee===ae)return;const le=(0,s.ensureBytes)("key",te).length;return le===ae||le===de}function ie(te,ee,ae=!0){if(J(te)===!0)throw new Error("first arg must be private key");if(J(ee)===!1)throw new Error("second arg must be public key");const de=A(N,te);return T.fromHex(ee).multiply(de).toBytes(ae)}return Object.freeze({getPublicKey:W,getSharedSecret:ie,keygen:G,Point:T,utils:{isValidSecretKey:_,isValidPublicKey:H,randomSecretKey:Z,isValidPrivateKey:_,randomPrivateKey:Z,normPrivateKeyToScalar:te=>A(N,te),precompute(te=8,ee=T.BASE){return ee.precompute(te,!1)}},lengths:I})}function K(T,U,N={}){(0,a.ahash)(U),(0,s._validateObject)(N,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const $=N.randomBytes||s.randomBytes,I=N.hmac||((Pe,...we)=>(0,t.hmac)(U,Pe,(0,s.concatBytes)(...we))),{Fp:_,Fn:H}=T,{ORDER:Z,BITS:W}=H,{keygen:G,getPublicKey:J,getSharedSecret:ie,utils:Y,lengths:te}=j(T,N),ee={prehash:!1,lowS:typeof N.lowS=="boolean"?N.lowS:!1,format:void 0,extraEntropy:!1},ae="compact";function de(Pe){const we=Z>>M;return Pe>we}function le(Pe,we){if(!H.isValidNot0(we))throw new Error(`invalid signature ${Pe}: out of range 1..Point.Fn.ORDER`);return we}function be(Pe,we){g(we);const _e=te.signature,Me=we==="compact"?_e:we==="recovered"?_e+1:void 0;return(0,s._abytes2)(Pe,Me,`${we} signature`)}class ne{constructor(we,_e,Me){this.r=le("r",we),this.s=le("s",_e),Me!=null&&(this.recovery=Me),Object.freeze(this)}static fromBytes(we,_e=ae){be(we,_e);let Me;if(_e==="der"){const{r:Ae,s:Te}=e.DER.toSig((0,s._abytes2)(we));return new ne(Ae,Te)}_e==="recovered"&&(Me=we[0],_e="compact",we=we.subarray(1));const Fe=H.BYTES,Se=we.subarray(0,Fe),ue=we.subarray(Fe,Fe*2);return new ne(H.fromBytes(Se),H.fromBytes(ue),Me)}static fromHex(we,_e){return this.fromBytes((0,s.hexToBytes)(we),_e)}addRecoveryBit(we){return new ne(this.r,this.s,we)}recoverPublicKey(we){const _e=_.ORDER,{r:Me,s:Fe,recovery:Se}=this;if(Se==null||![0,1,2,3].includes(Se))throw new Error("recovery id invalid");if(Z*k<_e&&Se>1)throw new Error("recovery id is ambiguous for h>1 curve");const Ae=Se===2||Se===3?Me+Z:Me;if(!_.isValid(Ae))throw new Error("recovery id 2 or 3 invalid");const Te=_.toBytes(Ae),Be=T.fromBytes((0,s.concatBytes)(D((Se&1)===0),Te)),Ue=H.inv(Ae),Ie=ve((0,s.ensureBytes)("msgHash",we)),ke=H.create(-Ie*Ue),tt=H.create(Fe*Ue),Ke=T.BASE.multiplyUnsafe(ke).add(Be.multiplyUnsafe(tt));if(Ke.is0())throw new Error("point at infinify");return Ke.assertValidity(),Ke}hasHighS(){return de(this.s)}toBytes(we=ae){if(g(we),we==="der")return(0,s.hexToBytes)(e.DER.hexFromSig(this));const _e=H.toBytes(this.r),Me=H.toBytes(this.s);if(we==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return(0,s.concatBytes)(Uint8Array.of(this.recovery),_e,Me)}return(0,s.concatBytes)(_e,Me)}toHex(we){return(0,s.bytesToHex)(this.toBytes(we))}assertValidity(){}static fromCompact(we){return ne.fromBytes((0,s.ensureBytes)("sig",we),"compact")}static fromDER(we){return ne.fromBytes((0,s.ensureBytes)("sig",we),"der")}normalizeS(){return this.hasHighS()?new ne(this.r,H.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return(0,s.bytesToHex)(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return(0,s.bytesToHex)(this.toBytes("compact"))}}const pe=N.bits2int||function(we){if(we.length>8192)throw new Error("input is too large");const _e=(0,s.bytesToNumberBE)(we),Me=we.length*8-W;return Me>0?_e>>BigInt(Me):_e},ve=N.bits2int_modN||function(we){return H.create(pe(we))},qe=(0,s.bitMask)(W);function $e(Pe){return(0,s.aInRange)("num < 2^"+W,Pe,E,qe),H.toBytes(Pe)}function Ce(Pe,we){return(0,s._abytes2)(Pe,void 0,"message"),we?(0,s._abytes2)(U(Pe),void 0,"prehashed message"):Pe}function Ye(Pe,we,_e){if(["recovered","canonical"].some(ke=>ke in _e))throw new Error("sign() legacy options not supported");const{lowS:Me,prehash:Fe,extraEntropy:Se}=b(_e,ee);Pe=Ce(Pe,Fe);const ue=ve(Pe),Ae=A(H,we),Te=[$e(Ae),$e(ue)];if(Se!=null&&Se!==!1){const ke=Se===!0?$(te.secretKey):Se;Te.push((0,s.ensureBytes)("extraEntropy",ke))}const Be=(0,s.concatBytes)(...Te),Ue=ue;function Ie(ke){const tt=pe(ke);if(!H.isValidNot0(tt))return;const Ke=H.inv(tt),Ee=T.BASE.multiply(tt).toAffine(),Xe=H.create(Ee.x);if(Xe===E)return;const De=H.create(Ke*H.create(Ue+Xe*Ae));if(De===E)return;let Oe=(Ee.x===Xe?0:2)|Number(Ee.y&M),Ve=De;return Me&&de(De)&&(Ve=H.neg(De),Oe^=1),new ne(Xe,Ve,Oe)}return{seed:Be,k2sig:Ie}}function Je(Pe,we,_e={}){Pe=(0,s.ensureBytes)("message",Pe);const{seed:Me,k2sig:Fe}=Ye(Pe,we,_e);return(0,s.createHmacDrbg)(U.outputLen,H.BYTES,I)(Me,Fe)}function oe(Pe){let we;const _e=typeof Pe=="string"||(0,s.isBytes)(Pe),Me=!_e&&Pe!==null&&typeof Pe=="object"&&typeof Pe.r=="bigint"&&typeof Pe.s=="bigint";if(!_e&&!Me)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(Me)we=new ne(Pe.r,Pe.s);else if(_e){try{we=ne.fromBytes((0,s.ensureBytes)("sig",Pe),"der")}catch(Fe){if(!(Fe instanceof e.DER.Err))throw Fe}if(!we)try{we=ne.fromBytes((0,s.ensureBytes)("sig",Pe),"compact")}catch{return!1}}return we||!1}function me(Pe,we,_e,Me={}){const{lowS:Fe,prehash:Se,format:ue}=b(Me,ee);if(_e=(0,s.ensureBytes)("publicKey",_e),we=Ce((0,s.ensureBytes)("message",we),Se),"strict"in Me)throw new Error("options.strict was renamed to lowS");const Ae=ue===void 0?oe(Pe):ne.fromBytes((0,s.ensureBytes)("sig",Pe),ue);if(Ae===!1)return!1;try{const Te=T.fromBytes(_e);if(Fe&&Ae.hasHighS())return!1;const{r:Be,s:Ue}=Ae,Ie=ve(we),ke=H.inv(Ue),tt=H.create(Ie*ke),Ke=H.create(Be*ke),Ee=T.BASE.multiplyUnsafe(tt).add(Te.multiplyUnsafe(Ke));return Ee.is0()?!1:H.create(Ee.x)===Be}catch{return!1}}function ye(Pe,we,_e={}){const{prehash:Me}=b(_e,ee);return we=Ce(we,Me),ne.fromBytes(Pe,"recovered").recoverPublicKey(we).toBytes()}return Object.freeze({keygen:G,getPublicKey:J,getSharedSecret:ie,utils:Y,lengths:te,Point:T,sign:Je,verify:me,recoverPublicKey:ye,Signature:ne,hash:U})}function V(T){const{CURVE:U,curveOpts:N}=F(T),$=O(U,N);return y(T,$)}function F(T){const U={a:T.a,b:T.b,p:T.Fp.ORDER,n:T.n,h:T.h,Gx:T.Gx,Gy:T.Gy},N=T.Fp;let $=T.allowedPrivateKeyLengths?Array.from(new Set(T.allowedPrivateKeyLengths.map(H=>Math.ceil(H/2)))):void 0;const I=(0,l.Field)(U.n,{BITS:T.nBitLength,allowedLengths:$,modFromBytes:T.wrapPrivateKey}),_={Fp:N,Fn:I,allowInfinityPoint:T.allowInfinityPoint,endo:T.endo,isTorsionFree:T.isTorsionFree,clearCofactor:T.clearCofactor,fromBytes:T.fromBytes,toBytes:T.toBytes};return{CURVE:U,curveOpts:_}}function q(T){const{CURVE:U,curveOpts:N}=F(T),$={hmac:T.hmac,randomBytes:T.randomBytes,lowS:T.lowS,bits2int:T.bits2int,bits2int_modN:T.bits2int_modN};return{CURVE:U,curveOpts:N,hash:T.hash,ecdsaOpts:$}}function R(T,U,N){function $(I){const _=T.sqr(I),H=T.mul(_,I);return T.add(T.add(H,T.mul(I,U)),N)}return $}function y(T,U){const{Fp:N,Fn:$}=U;function I(H){return(0,s.inRange)(H,M,$.ORDER)}const _=R(N,T.a,T.b);return Object.assign({},{CURVE:T,Point:U,ProjectivePoint:U,normPrivateKeyToScalar:H=>A($,H),weierstrassEquation:_,isWithinCurveOrder:I})}function S(T,U){const N=U.Point;return Object.assign({},U,{ProjectivePoint:N,CURVE:Object.assign({},T,(0,l.nLength)(N.Fn.ORDER,N.Fn.BITS))})}function w(T){const{CURVE:U,curveOpts:N,hash:$,ecdsaOpts:I}=q(T),_=O(U,N),H=K(_,$,I);return S(T,H)}})(weierstrass)),weierstrass}var hasRequired_shortw_utils;function require_shortw_utils(){if(hasRequired_shortw_utils)return _shortw_utils;hasRequired_shortw_utils=1,Object.defineProperty(_shortw_utils,"__esModule",{value:!0}),_shortw_utils.getHash=t,_shortw_utils.createCurve=a;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const e=requireWeierstrass();function t(s){return{hash:s}}function a(s,u){const l=p=>(0,e.weierstrass)({...s,hash:p});return{...l(u),create:l}}return _shortw_utils}var hashToCurve={},hasRequiredHashToCurve;function requireHashToCurve(){return hasRequiredHashToCurve||(hasRequiredHashToCurve=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._DST_scalar=void 0,e.expand_message_xmd=g,e.expand_message_xof=b,e.hash_to_field=v,e.isogenyMap=E,e.createHasher=M;const t=requireUtils$7(),a=requireModular(),s=t.bytesToNumberBE;function u(k,P){if(p(k),p(P),k<0||k>=1<<8*P)throw new Error("invalid I2OSP input: "+k);const x=Array.from({length:P}).fill(0);for(let A=P-1;A>=0;A--)x[A]=k&255,k>>>=8;return new Uint8Array(x)}function l(k,P){const x=new Uint8Array(k.length);for(let A=0;A<k.length;A++)x[A]=k[A]^P[A];return x}function p(k){if(!Number.isSafeInteger(k))throw new Error("number expected")}function m(k){if(!(0,t.isBytes)(k)&&typeof k!="string")throw new Error("DST must be Uint8Array or string");return typeof k=="string"?(0,t.utf8ToBytes)(k):k}function g(k,P,x,A){(0,t.abytes)(k),p(x),P=m(P),P.length>255&&(P=A((0,t.concatBytes)((0,t.utf8ToBytes)("H2C-OVERSIZE-DST-"),P)));const{outputLen:O,blockLen:D}=A,z=Math.ceil(x/O);if(x>65535||z>255)throw new Error("expand_message_xmd: invalid lenInBytes");const C=(0,t.concatBytes)(P,u(P.length,1)),L=u(0,D),j=u(x,2),K=new Array(z),V=A((0,t.concatBytes)(L,k,j,u(0,1),C));K[0]=A((0,t.concatBytes)(V,u(1,1),C));for(let q=1;q<=z;q++){const R=[l(V,K[q-1]),u(q+1,1),C];K[q]=A((0,t.concatBytes)(...R))}return(0,t.concatBytes)(...K).slice(0,x)}function b(k,P,x,A,O){if((0,t.abytes)(k),p(x),P=m(P),P.length>255){const D=Math.ceil(2*A/8);P=O.create({dkLen:D}).update((0,t.utf8ToBytes)("H2C-OVERSIZE-DST-")).update(P).digest()}if(x>65535||P.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return O.create({dkLen:x}).update(k).update(u(x,2)).update(P).update(u(P.length,1)).digest()}function v(k,P,x){(0,t._validateObject)(x,{p:"bigint",m:"number",k:"number",hash:"function"});const{p:A,k:O,m:D,hash:z,expand:C,DST:L}=x;if(!(0,t.isHash)(x.hash))throw new Error("expected valid hash");(0,t.abytes)(k),p(P);const j=A.toString(2).length,K=Math.ceil((j+O)/8),V=P*D*K;let F;if(C==="xmd")F=g(k,L,V,z);else if(C==="xof")F=b(k,L,V,O,z);else if(C==="_internal_pass")F=k;else throw new Error('expand must be "xmd" or "xof"');const q=new Array(P);for(let R=0;R<P;R++){const y=new Array(D);for(let S=0;S<D;S++){const w=K*(S+R*D),T=F.subarray(w,w+K);y[S]=(0,a.mod)(s(T),A)}q[R]=y}return q}function E(k,P){const x=P.map(A=>Array.from(A).reverse());return(A,O)=>{const[D,z,C,L]=x.map(V=>V.reduce((F,q)=>k.add(k.mul(F,A),q))),[j,K]=(0,a.FpInvertBatch)(k,[z,L],!0);return A=k.mul(D,j),O=k.mul(O,k.mul(C,K)),{x:A,y:O}}}e._DST_scalar=(0,t.utf8ToBytes)("HashToScalar-");function M(k,P,x){if(typeof P!="function")throw new Error("mapToCurve() must be defined");function A(D){return k.fromAffine(P(D))}function O(D){const z=D.clearCofactor();return z.equals(k.ZERO)?k.ZERO:(z.assertValidity(),z)}return{defaults:x,hashToCurve(D,z){const C=Object.assign({},x,z),L=v(D,2,C),j=A(L[0]),K=A(L[1]);return O(j.add(K))},encodeToCurve(D,z){const C=x.encodeDST?{DST:x.encodeDST}:{},L=Object.assign({},x,C,z),j=v(D,1,L),K=A(j[0]);return O(K)},mapToCurve(D){if(!Array.isArray(D))throw new Error("expected array of bigints");for(const z of D)if(typeof z!="bigint")throw new Error("expected array of bigints");return O(A(D))},hashToScalar(D,z){const C=k.Fn.ORDER,L=Object.assign({},x,{p:C,m:1,DST:e._DST_scalar},z);return v(D,1,L)[0][0]}}}})(hashToCurve)),hashToCurve}var hasRequiredSecp256k1$1;function requireSecp256k1$1(){return hasRequiredSecp256k1$1||(hasRequiredSecp256k1$1=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.encodeToCurve=e.hashToCurve=e.secp256k1_hasher=e.schnorr=e.secp256k1=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const t=requireSha2(),a=requireUtils$8(),s=require_shortw_utils(),u=requireHashToCurve(),l=requireModular(),p=requireWeierstrass(),m=requireUtils$7(),g={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},b={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},v=BigInt(0),E=BigInt(1),M=BigInt(2);function k(S){const w=g.p,T=BigInt(3),U=BigInt(6),N=BigInt(11),$=BigInt(22),I=BigInt(23),_=BigInt(44),H=BigInt(88),Z=S*S*S%w,W=Z*Z*S%w,G=(0,l.pow2)(W,T,w)*W%w,J=(0,l.pow2)(G,T,w)*W%w,ie=(0,l.pow2)(J,M,w)*Z%w,Y=(0,l.pow2)(ie,N,w)*ie%w,te=(0,l.pow2)(Y,$,w)*Y%w,ee=(0,l.pow2)(te,_,w)*te%w,ae=(0,l.pow2)(ee,H,w)*ee%w,de=(0,l.pow2)(ae,_,w)*te%w,le=(0,l.pow2)(de,T,w)*W%w,be=(0,l.pow2)(le,I,w)*Y%w,ne=(0,l.pow2)(be,U,w)*Z%w,pe=(0,l.pow2)(ne,M,w);if(!P.eql(P.sqr(pe),S))throw new Error("Cannot find square root");return pe}const P=(0,l.Field)(g.p,{sqrt:k});e.secp256k1=(0,s.createCurve)({...g,Fp:P,lowS:!0,endo:b},t.sha256);const x={};function A(S,...w){let T=x[S];if(T===void 0){const U=(0,t.sha256)((0,m.utf8ToBytes)(S));T=(0,m.concatBytes)(U,U),x[S]=T}return(0,t.sha256)((0,m.concatBytes)(T,...w))}const O=S=>S.toBytes(!0).slice(1),D=e.secp256k1.Point,z=S=>S%M===v;function C(S){const{Fn:w,BASE:T}=D,U=(0,p._normFnElement)(w,S),N=T.multiply(U);return{scalar:z(N.y)?U:w.neg(U),bytes:O(N)}}function L(S){const w=P;if(!w.isValidNot0(S))throw new Error("invalid x: Fail if x ≥ p");const T=w.create(S*S),U=w.create(T*S+BigInt(7));let N=w.sqrt(U);z(N)||(N=w.neg(N));const $=D.fromAffine({x:S,y:N});return $.assertValidity(),$}const j=m.bytesToNumberBE;function K(...S){return D.Fn.create(j(A("BIP0340/challenge",...S)))}function V(S){return C(S).bytes}function F(S,w,T=(0,a.randomBytes)(32)){const{Fn:U}=D,N=(0,m.ensureBytes)("message",S),{bytes:$,scalar:I}=C(w),_=(0,m.ensureBytes)("auxRand",T,32),H=U.toBytes(I^j(A("BIP0340/aux",_))),Z=A("BIP0340/nonce",H,$,N),{bytes:W,scalar:G}=C(Z),J=K(W,$,N),ie=new Uint8Array(64);if(ie.set(W,0),ie.set(U.toBytes(U.create(G+J*I)),32),!q(ie,N,$))throw new Error("sign: Invalid signature produced");return ie}function q(S,w,T){const{Fn:U,BASE:N}=D,$=(0,m.ensureBytes)("signature",S,64),I=(0,m.ensureBytes)("message",w),_=(0,m.ensureBytes)("publicKey",T,32);try{const H=L(j(_)),Z=j($.subarray(0,32));if(!(0,m.inRange)(Z,E,g.p))return!1;const W=j($.subarray(32,64));if(!(0,m.inRange)(W,E,g.n))return!1;const G=K(U.toBytes(Z),O(H),I),J=N.multiplyUnsafe(W).add(H.multiplyUnsafe(U.neg(G))),{x:ie,y:Y}=J.toAffine();return!(J.is0()||!z(Y)||ie!==Z)}catch{return!1}}e.schnorr=(()=>{const T=(N=(0,a.randomBytes)(48))=>(0,l.mapHashToField)(N,g.n);e.secp256k1.utils.randomSecretKey;function U(N){const $=T(N);return{secretKey:$,publicKey:V($)}}return{keygen:U,getPublicKey:V,sign:F,verify:q,Point:D,utils:{randomSecretKey:T,randomPrivateKey:T,taggedHash:A,lift_x:L,pointToBytes:O,numberToBytesBE:m.numberToBytesBE,bytesToNumberBE:m.bytesToNumberBE,mod:l.mod},lengths:{secretKey:32,publicKey:32,publicKeyHasPrefix:!1,signature:64,seed:48}}})();const R=(0,u.isogenyMap)(P,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(S=>S.map(w=>BigInt(w)))),y=(0,p.mapToCurveSimpleSWU)(P,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:P.create(BigInt("-11"))});e.secp256k1_hasher=(0,u.createHasher)(e.secp256k1.Point,S=>{const{x:w,y:T}=y(P.create(S[0]));return R(w,T)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:P.ORDER,m:1,k:128,expand:"xmd",hash:t.sha256}),e.hashToCurve=e.secp256k1_hasher.hashToCurve,e.encodeToCurve=e.secp256k1_hasher.encodeToCurve})(secp256k1$1)),secp256k1$1}var utils$6={},hasRequiredUtils$6;function requireUtils$6(){if(hasRequiredUtils$6)return utils$6;hasRequiredUtils$6=1,Object.defineProperty(utils$6,"__esModule",{value:!0}),utils$6.isHash=utils$6.validateObject=utils$6.memoized=utils$6.notImplemented=utils$6.createHmacDrbg=utils$6.bitMask=utils$6.bitSet=utils$6.bitGet=utils$6.bitLen=utils$6.aInRange=utils$6.inRange=utils$6.asciiToBytes=utils$6.copyBytes=utils$6.equalBytes=utils$6.ensureBytes=utils$6.numberToVarBytesBE=utils$6.numberToBytesLE=utils$6.numberToBytesBE=utils$6.bytesToNumberLE=utils$6.bytesToNumberBE=utils$6.hexToNumber=utils$6.numberToHexUnpadded=utils$6.abool=utils$6.utf8ToBytes=utils$6.randomBytes=utils$6.isBytes=utils$6.hexToBytes=utils$6.concatBytes=utils$6.bytesToUtf8=utils$6.bytesToHex=utils$6.anumber=utils$6.abytes=void 0;const e=requireUtils$7();return utils$6.abytes=e.abytes,utils$6.anumber=e.anumber,utils$6.bytesToHex=e.bytesToHex,utils$6.bytesToUtf8=e.bytesToUtf8,utils$6.concatBytes=e.concatBytes,utils$6.hexToBytes=e.hexToBytes,utils$6.isBytes=e.isBytes,utils$6.randomBytes=e.randomBytes,utils$6.utf8ToBytes=e.utf8ToBytes,utils$6.abool=e.abool,utils$6.numberToHexUnpadded=e.numberToHexUnpadded,utils$6.hexToNumber=e.hexToNumber,utils$6.bytesToNumberBE=e.bytesToNumberBE,utils$6.bytesToNumberLE=e.bytesToNumberLE,utils$6.numberToBytesBE=e.numberToBytesBE,utils$6.numberToBytesLE=e.numberToBytesLE,utils$6.numberToVarBytesBE=e.numberToVarBytesBE,utils$6.ensureBytes=e.ensureBytes,utils$6.equalBytes=e.equalBytes,utils$6.copyBytes=e.copyBytes,utils$6.asciiToBytes=e.asciiToBytes,utils$6.inRange=e.inRange,utils$6.aInRange=e.aInRange,utils$6.bitLen=e.bitLen,utils$6.bitGet=e.bitGet,utils$6.bitSet=e.bitSet,utils$6.bitMask=e.bitMask,utils$6.createHmacDrbg=e.createHmacDrbg,utils$6.notImplemented=e.notImplemented,utils$6.memoized=e.memoized,utils$6.validateObject=e.validateObject,utils$6.isHash=e.isHash,utils$6}var hasRequiredDist$4;function requireDist$4(){if(hasRequiredDist$4)return dist$4;hasRequiredDist$4=1;var e=requireSecp256k1$1(),t=requireModular(),a=requireUtils$6();function s(Me){var Fe=Object.create(null);return Me&&Object.keys(Me).forEach(function(Se){if(Se!=="default"){var ue=Object.getOwnPropertyDescriptor(Me,Se);Object.defineProperty(Fe,Se,ue.get?ue:{enumerable:!0,get:function(){return Me[Se]}})}}),Fe.default=Me,Object.freeze(Fe)}var u=s(t),l=s(a);const p=e.secp256k1.ProjectivePoint,m="Expected Private",g="Expected Point",b="Expected Tweak",v="Expected Hash",E="Expected Signature",M="Expected Extra Data (32 bytes)",k="Expected Scalar",P="Bad Recovery Id",x=32,A=32,O=new Uint8Array([255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,186,174,220,230,175,72,160,59,191,210,94,140,208,54,65,65]),D=32,z=new Uint8Array(32),C=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,69,81,35,25,80,183,95,196,64,45,161,114,47,201,186,238]),L=BigInt(1);function j(Me){return Me instanceof Uint8Array}function K(Me,Fe){for(let Se=0;Se<32;++Se)if(Me[Se]!==Fe[Se])return Me[Se]<Fe[Se]?-1:1;return 0}function V(Me){return K(Me,z)===0}function F(Me){return!(!(Me instanceof Uint8Array)||Me.length!==A||K(Me,O)>=0)}function q(Me){return Me instanceof Uint8Array&&Me.length===64&&K(Me.subarray(0,32),O)<0&&K(Me.subarray(32,64),O)<0}function R(Me){return j(Me)&&Me.length===64&&K(Me.subarray(0,32),C)<0}function y(Me){return!(V(Me.subarray(0,32))||V(Me.subarray(32,64)))}function S(Me){return Me instanceof Uint8Array&&Me.length===x}function w(Me){return Me===void 0||Me instanceof Uint8Array&&Me.length===D}function T(Me){let Fe;if(typeof Me=="bigint")Fe=Me;else if(typeof Me=="number"&&Number.isSafeInteger(Me)&&Me>=0)Fe=BigInt(Me);else if(typeof Me=="string"){if(Me.length!==64)throw new Error("Expected 32 bytes of private scalar");Fe=l.hexToNumber(Me)}else if(Me instanceof Uint8Array){if(Me.length!==32)throw new Error("Expected 32 bytes of private scalar");Fe=l.bytesToNumberBE(Me)}else throw new TypeError("Expected valid private scalar");if(Fe<0)throw new Error("Expected private scalar >= 0");return Fe}function U(Me){return e.secp256k1.utils.normPrivateKeyToScalar(Me)}function N(Me,Fe){const Se=U(Me),ue=T(Fe),Ae=l.numberToBytesBE(u.mod(Se+ue,e.secp256k1.CURVE.n),32);return e.secp256k1.utils.isValidPrivateKey(Ae)?Ae:null}function $(Me,Fe){const Se=U(Me),ue=T(Fe),Ae=l.numberToBytesBE(u.mod(Se-ue,e.secp256k1.CURVE.n),32);return e.secp256k1.utils.isValidPrivateKey(Ae)?Ae:null}function I(Me){const Fe=U(Me),Se=l.numberToBytesBE(e.secp256k1.CURVE.n-Fe,32);return e.secp256k1.utils.isValidPrivateKey(Se)?Se:null}function _(Me,Fe,Se){const ue=J(Me),Ae=T(Fe),Te=p.BASE.multiplyAndAddUnsafe(ue,Ae,L);if(!Te)throw new Error("Tweaked point at infinity");return Te.toRawBytes(Se)}function H(Me,Fe,Se){const ue=J(Me),Ae=typeof Fe=="string"?Fe:l.bytesToHex(Fe),Te=l.hexToNumber(Ae);return ue.multiply(Te).toRawBytes(Se)}function Z(Me,Fe){return Me===void 0?Fe!==void 0?te(Fe):!0:!!Me}function W(Me){try{return Me()}catch{return null}}function G(Me){return e.schnorr.utils.lift_x(l.bytesToNumberBE(Me))}function J(Me){return Me.length===32?G(Me):p.fromHex(Me)}function ie(Me,Fe){if(Me.length===32!==Fe)return!1;try{return Fe?!!G(Me):!!p.fromHex(Me)}catch{return!1}}function Y(Me){return ie(Me,!1)}function te(Me){return ie(Me,!1)&&Me.length===33}function ee(Me){return e.secp256k1.utils.isValidPrivateKey(Me)}function ae(Me){return ie(Me,!0)}function de(Me,Fe){if(!ae(Me))throw new Error(g);if(!F(Fe))throw new Error(b);return W(()=>{const Se=_(Me,Fe,!0);return{parity:Se[0]%2===1?1:0,xOnlyPubkey:Se.slice(1)}})}function le(Me){if(!Y(Me))throw new Error(g);return Me.slice(1,33)}function be(Me,Fe){if(!ee(Me))throw new Error(m);return W(()=>e.secp256k1.getPublicKey(Me,Z(Fe)))}function ne(Me){if(!ee(Me))throw new Error(m);return le(be(Me))}function pe(Me,Fe){if(!Y(Me))throw new Error(g);return J(Me).toRawBytes(Z(Fe,Me))}function ve(Me,Fe,Se){if(!Y(Me))throw new Error(g);if(!F(Fe))throw new Error(b);return W(()=>H(Me,Fe,Z(Se,Me)))}function qe(Me,Fe,Se){if(!Y(Me)||!Y(Fe))throw new Error(g);return W(()=>{const ue=J(Me),Ae=J(Fe);return ue.equals(Ae.negate())?null:ue.add(Ae).toRawBytes(Z(Se,Me))})}function $e(Me,Fe,Se){if(!Y(Me))throw new Error(g);if(!F(Fe))throw new Error(b);return W(()=>_(Me,Fe,Z(Se,Me)))}function Ce(Me,Fe){if(!ee(Me))throw new Error(m);if(!F(Fe))throw new Error(b);return W(()=>N(Me,Fe))}function Ye(Me,Fe){if(!ee(Me))throw new Error(m);if(!F(Fe))throw new Error(b);return W(()=>$(Me,Fe))}function Je(Me){if(!ee(Me))throw new Error(m);return I(Me)}function oe(Me,Fe,Se){if(!ee(Fe))throw new Error(m);if(!S(Me))throw new Error(k);if(!w(Se))throw new Error(M);return e.secp256k1.sign(Me,Fe,{extraEntropy:Se}).toCompactRawBytes()}function me(Me,Fe,Se){if(!ee(Fe))throw new Error(m);if(!S(Me))throw new Error(k);if(!w(Se))throw new Error(M);const ue=e.secp256k1.sign(Me,Fe,{extraEntropy:Se});return{signature:ue.toCompactRawBytes(),recoveryId:ue.recovery}}function ye(Me,Fe,Se){if(!ee(Fe))throw new Error(m);if(!S(Me))throw new Error(k);if(!w(Se))throw new Error(M);return e.schnorr.sign(Me,Fe,Se)}function Pe(Me,Fe,Se,ue){if(!S(Me))throw new Error(v);if(!q(Fe)||!y(Fe))throw new Error(E);if(Se&2&&!R(Fe))throw new Error(P);if(!ae(Fe.subarray(0,32)))throw new Error(E);const Te=e.secp256k1.Signature.fromCompact(Fe).addRecoveryBit(Se).recoverPublicKey(Me);if(!Te)throw new Error(E);return Te.toRawBytes(Z(ue))}function we(Me,Fe,Se,ue){if(!Y(Fe))throw new Error(g);if(!q(Se))throw new Error(E);if(!S(Me))throw new Error(k);return e.secp256k1.verify(Se,Me,Fe,{lowS:ue})}function _e(Me,Fe,Se){if(!ae(Fe))throw new Error(g);if(!q(Se))throw new Error(E);if(!S(Me))throw new Error(k);return e.schnorr.verify(Se,Me,Fe)}return dist$4.isPoint=Y,dist$4.isPointCompressed=te,dist$4.isPrivate=ee,dist$4.isXOnlyPoint=ae,dist$4.pointAdd=qe,dist$4.pointAddScalar=$e,dist$4.pointCompress=pe,dist$4.pointFromScalar=be,dist$4.pointMultiply=ve,dist$4.privateAdd=Ce,dist$4.privateNegate=Je,dist$4.privateSub=Ye,dist$4.recover=Pe,dist$4.sign=oe,dist$4.signRecoverable=me,dist$4.signSchnorr=ye,dist$4.verify=we,dist$4.verifySchnorr=_e,dist$4.xOnlyPointAddTweak=de,dist$4.xOnlyPointFromPoint=le,dist$4.xOnlyPointFromScalar=ne,dist$4}var distExports=requireDist$4();const ecc=getDefaultExportFromCjs$2(distExports),index=_mergeNamespaces({__proto__:null,default:ecc},[distExports]),Rho160=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Id160=Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)),Pi160=Id160.map(e=>(9*e+5)%16),idxLR=(()=>{const a=[[Id160],[Pi160]];for(let s=0;s<4;s++)for(let u of a)u.push(u[s].map(l=>Rho160[l]));return a})(),idxL=idxLR[0],idxR=idxLR[1],shifts160=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>Uint8Array.from(e)),shiftsL160=idxL.map((e,t)=>e.map(a=>shifts160[t][a])),shiftsR160=idxR.map((e,t)=>e.map(a=>shifts160[t][a])),Kl160=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),Kr160=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function ripemd_f(e,t,a,s){return e===0?t^a^s:e===1?t&a|~t&s:e===2?(t|~a)^s:e===3?t&s|a&~s:t^(a|~s)}const BUF_160=new Uint32Array(16);let RIPEMD160$2=class extends HashMD{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:t,h1:a,h2:s,h3:u,h4:l}=this;return[t,a,s,u,l]}set(t,a,s,u,l){this.h0=t|0,this.h1=a|0,this.h2=s|0,this.h3=u|0,this.h4=l|0}process(t,a){for(let k=0;k<16;k++,a+=4)BUF_160[k]=t.getUint32(a,!0);let s=this.h0|0,u=s,l=this.h1|0,p=l,m=this.h2|0,g=m,b=this.h3|0,v=b,E=this.h4|0,M=E;for(let k=0;k<5;k++){const P=4-k,x=Kl160[k],A=Kr160[k],O=idxL[k],D=idxR[k],z=shiftsL160[k],C=shiftsR160[k];for(let L=0;L<16;L++){const j=rotl(s+ripemd_f(k,l,m,b)+BUF_160[O[L]]+x,z[L])+E|0;s=E,E=b,b=rotl(m,10)|0,m=l,l=j}for(let L=0;L<16;L++){const j=rotl(u+ripemd_f(P,p,g,v)+BUF_160[D[L]]+A,C[L])+M|0;u=M,M=v,v=rotl(g,10)|0,g=p,p=j}}this.set(this.h1+m+v|0,this.h2+b+M|0,this.h3+E+u|0,this.h4+s+p|0,this.h0+l+g|0)}roundClean(){clean(BUF_160)}destroy(){this.destroyed=!0,clean(this.buffer),this.set(0,0,0,0,0)}};const ripemd160$2=createHasher(()=>new RIPEMD160$2),ripemd160$1=ripemd160$2,sha512$4=sha512$7;function hash160(e){return ripemd160$1(sha256$8(e))}function hmacSHA512(e,t){return hmac$4(sha512$4,e,t)}const HEX_STRINGS="0123456789abcdefABCDEF";HEX_STRINGS.split("").map(e=>e.codePointAt(0));const HEX_CODEPOINTS=Array(256).fill(!0).map((e,t)=>{const a=String.fromCodePoint(t),s=HEX_STRINGS.indexOf(a);return s<0?void 0:s<16?s:s-6}),ENCODER=new TextEncoder;new TextDecoder;function fromUtf8(e){return ENCODER.encode(e)}function concat(e){const t=e.reduce((u,l)=>u+l.length,0),a=new Uint8Array(t);let s=0;for(const u of e)a.set(u,s),s+=u.length;return a}function fromHex(e){const t=ENCODER.encode(e||""),a=new Uint8Array(Math.floor(t.length/2));let s;for(s=0;s<a.length;s++){const u=HEX_CODEPOINTS[t[s*2]],l=HEX_CODEPOINTS[t[s*2+1]];if(u===void 0||l===void 0)break;a[s]=u<<4|l}return s===a.length?a:a.slice(0,s)}function compare$1(e,t){const a=Math.min(e.length,t.length);for(let s=0;s<a;++s)if(e[s]!==t[s])return e[s]<t[s]?-1:1;return e.length===t.length?0:e.length>t.length?1:-1}function writeUInt8(e,t,a){if(t+1>e.length)throw new Error("Offset is outside the bounds of Uint8Array");if(a>255)throw new Error(`The value of "value" is out of range. It must be >= 0 and <= 255. Received ${a}`);e[t]=a}function writeUInt32(e,t,a,s){if(t+4>e.length)throw new Error("Offset is outside the bounds of Uint8Array");if(s=s.toUpperCase(),a>4294967295)throw new Error(`The value of "value" is out of range. It must be >= 0 and <= ${4294967295}. Received ${a}`);s==="LE"?(e[t]=a&255,e[t+1]=a>>8&255,e[t+2]=a>>16&255,e[t+3]=a>>24&255):(e[t]=a>>24&255,e[t+1]=a>>16&255,e[t+2]=a>>8&255,e[t+3]=a&255)}function readUInt32(e,t,a){if(t+4>e.length)throw new Error("Offset is outside the bounds of Uint8Array");if(a=a.toUpperCase(),a==="LE"){let s=0;return s=(s<<8)+e[t+3]>>>0,s=(s<<8)+e[t+2]>>>0,s=(s<<8)+e[t+1]>>>0,s=(s<<8)+e[t]>>>0,s}else{let s=0;return s=(s<<8)+e[t]>>>0,s=(s<<8)+e[t+1]>>>0,s=(s<<8)+e[t+2]>>>0,s=(s<<8)+e[t+3]>>>0,s}}const h=e=>fromHex(e);function testEcc(e){if(assert(e.isPoint(h("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),assert(!e.isPoint(h("030000000000000000000000000000000000000000000000000000000000000005"))),assert(e.isPrivate(h("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),assert(e.isPrivate(h("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),assert(!e.isPrivate(h("0000000000000000000000000000000000000000000000000000000000000000"))),assert(!e.isPrivate(h("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),assert(!e.isPrivate(h("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),assert(compare$1(e.pointFromScalar(h("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af")),h("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))===0),e.xOnlyPointAddTweak){assert(e.xOnlyPointAddTweak(h("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),h("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===null);let t=e.xOnlyPointAddTweak(h("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),h("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));assert(compare$1(t.xOnlyPubkey,h("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))===0&&t.parity===1),t=e.xOnlyPointAddTweak(h("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),h("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47"))}assert(compare$1(e.pointAddScalar(h("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),h("0000000000000000000000000000000000000000000000000000000000000003")),h("02c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"))===0),assert(compare$1(e.privateAdd(h("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),h("0000000000000000000000000000000000000000000000000000000000000002")),h("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===0),e.privateNegate&&(assert(compare$1(e.privateNegate(h("0000000000000000000000000000000000000000000000000000000000000001")),h("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===0),assert(compare$1(e.privateNegate(h("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e")),h("0000000000000000000000000000000000000000000000000000000000000003"))===0),assert(compare$1(e.privateNegate(h("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af")),h("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792"))===0)),assert(compare$1(e.sign(h("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),h("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140")),h("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))===0),assert(e.verify(h("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),h("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),h("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&assert(compare$1(e.signSchnorr(h("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),h("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),h("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906")),h("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))===0),e.verifySchnorr&&assert(e.verifySchnorr(h("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),h("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),h("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}function assert(e){if(!e)throw new Error("ecc library invalid")}var store;function getGlobalConfig(e){return{lang:(e==null?void 0:e.lang)??(store==null?void 0:store.lang),message:e==null?void 0:e.message,abortEarly:(e==null?void 0:e.abortEarly)??(store==null?void 0:store.abortEarly),abortPipeEarly:(e==null?void 0:e.abortPipeEarly)??(store==null?void 0:store.abortPipeEarly)}}var store2;function getGlobalMessage(e){return store2==null?void 0:store2.get(e)}var store3;function getSchemaMessage(e){return store3==null?void 0:store3.get(e)}var store4;function getSpecificMessage(e,t){var a;return(a=store4==null?void 0:store4.get(e))==null?void 0:a.get(t)}function _stringify(e){var a,s;const t=typeof e;return t==="string"?`"${e}"`:t==="number"||t==="bigint"||t==="boolean"?`${e}`:t==="object"||t==="function"?(e&&((s=(a=Object.getPrototypeOf(e))==null?void 0:a.constructor)==null?void 0:s.name))??"null":t}function _addIssue(e,t,a,s,u){const l=u&&"input"in u?u.input:a.value,p=(u==null?void 0:u.expected)??e.expects??null,m=(u==null?void 0:u.received)??_stringify(l),g={kind:e.kind,type:e.type,input:l,expected:p,received:m,message:`Invalid ${t}: ${p?`Expected ${p} but r`:"R"}eceived ${m}`,requirement:e.requirement,path:u==null?void 0:u.path,issues:u==null?void 0:u.issues,lang:s.lang,abortEarly:s.abortEarly,abortPipeEarly:s.abortPipeEarly},b=e.kind==="schema",v=(u==null?void 0:u.message)??e.message??getSpecificMessage(e.reference,g.lang)??(b?getSchemaMessage(g.lang):null)??s.message??getGlobalMessage(g.lang);v&&(g.message=typeof v=="function"?v(g):v),b&&(a.typed=!1),a.issues?a.issues.push(g):a.issues=[g]}var ValiError=class extends Error{constructor(t){super(t[0].message);Rt(this,"issues");this.name="ValiError",this.issues=t}};function integer(e){return{kind:"validation",type:"integer",reference:integer,async:!1,expects:null,requirement:Number.isInteger,message:e,_run(t,a){return t.typed&&!this.requirement(t.value)&&_addIssue(this,"integer",t,a),t}}}function length(e,t){return{kind:"validation",type:"length",reference:length,async:!1,expects:`${e}`,requirement:e,message:t,_run(a,s){return a.typed&&a.value.length!==this.requirement&&_addIssue(this,"length",a,s,{received:`${a.value.length}`}),a}}}function maxValue(e,t){return{kind:"validation",type:"max_value",reference:maxValue,async:!1,expects:`<=${e instanceof Date?e.toJSON():_stringify(e)}`,requirement:e,message:t,_run(a,s){return a.typed&&a.value>this.requirement&&_addIssue(this,"value",a,s,{received:a.value instanceof Date?a.value.toJSON():_stringify(a.value)}),a}}}function minValue(e,t){return{kind:"validation",type:"min_value",reference:minValue,async:!1,expects:`>=${e instanceof Date?e.toJSON():_stringify(e)}`,requirement:e,message:t,_run(a,s){return a.typed&&a.value<this.requirement&&_addIssue(this,"value",a,s,{received:a.value instanceof Date?a.value.toJSON():_stringify(a.value)}),a}}}function regex(e,t){return{kind:"validation",type:"regex",reference:regex,async:!1,expects:`${e}`,requirement:e,message:t,_run(a,s){return a.typed&&!this.requirement.test(a.value)&&_addIssue(this,"format",a,s),a}}}function instance(e,t){return{kind:"schema",type:"instance",reference:instance,expects:e.name,async:!1,class:e,message:t,_run(a,s){return a.value instanceof this.class?a.typed=!0:_addIssue(this,"type",a,s),a}}}function number$1(e){return{kind:"schema",type:"number",reference:number$1,expects:"number",async:!1,message:e,_run(t,a){return typeof t.value=="number"&&!isNaN(t.value)?t.typed=!0:_addIssue(this,"type",t,a),t}}}function object(e,t){return{kind:"schema",type:"object",reference:object,expects:"Object",async:!1,entries:e,message:t,_run(a,s){var l;const u=a.value;if(u&&typeof u=="object"){a.typed=!0,a.value={};for(const p in this.entries){const m=u[p],g=this.entries[p]._run({typed:!1,value:m},s);if(g.issues){const b={type:"object",origin:"value",input:u,key:p,value:m};for(const v of g.issues)v.path?v.path.unshift(b):v.path=[b],(l=a.issues)==null||l.push(v);if(a.issues||(a.issues=g.issues),s.abortEarly){a.typed=!1;break}}g.typed||(a.typed=!1),(g.value!==void 0||p in u)&&(a.value[p]=g.value)}}else _addIssue(this,"type",a,s);return a}}}function string$2(e){return{kind:"schema",type:"string",reference:string$2,expects:"string",async:!1,message:e,_run(t,a){return typeof t.value=="string"?t.typed=!0:_addIssue(this,"type",t,a),t}}}function parse(e,t,a){const s=e._run({typed:!1,value:t},getGlobalConfig(a));if(s.issues)throw new ValiError(s.issues);return s.value}function pipe(...e){return{...e[0],pipe:e,_run(t,a){for(const s of e)if(s.kind!=="metadata"){if(t.issues&&(s.kind==="schema"||s.kind==="transformation")){t.typed=!1;break}(!t.issues||!a.abortEarly&&!a.abortPipeEarly)&&(t=s._run(t,a))}return t}}}const Uint32Schema=pipe(number$1(),integer(),minValue(0),maxValue(4294967295)),Uint31Schema=pipe(number$1(),integer(),minValue(0),maxValue(2147483647)),Uint8Schema=pipe(number$1(),integer(),minValue(0),maxValue(255)),Buffer256Bit=pipe(instance(Uint8Array),length(32)),Buffer33Bytes=pipe(instance(Uint8Array),length(33)),NetworkSchema=object({wif:Uint8Schema,bip32:object({public:Uint32Schema,private:Uint32Schema})}),Bip32PathSchema=pipe(string$2(),regex(/^(m\/)?(\d+'?\/)*\d+'?$/));function bs58checkBase(e){function t(l){var p=Uint8Array.from(l),m=e(p),g=p.length+4,b=new Uint8Array(g);return b.set(p,0),b.set(m.subarray(0,4),p.length),bs58$4.encode(b)}function a(l){var p=l.slice(0,-4),m=l.slice(-4),g=e(p);if(!(m[0]^g[0]|m[1]^g[1]|m[2]^g[2]|m[3]^g[3]))return p}function s(l){var p=bs58$4.decodeUnsafe(l);if(p!=null)return a(p)}function u(l){var p=bs58$4.decode(l),m=a(p);if(m==null)throw new Error("Invalid checksum");return m}return{encode:t,decode:u,decodeUnsafe:s}}function sha256x2(e){return sha256$8(sha256$8(e))}const bs58Check=bs58checkBase(sha256x2);function encodeRaw(e,t,a){if(t.length!==32)throw new TypeError("Invalid privateKey length");var s=new Uint8Array(34),u=new DataView(s.buffer);return u.setUint8(0,e),s.set(t,1),s[33]=1,s}function encode$1(e){return bs58Check.encode(encodeRaw(e.version,e.privateKey))}const _bs58check=base58check(sha256$8),bs58check={encode:e=>_bs58check.encode(e),decode:e=>_bs58check.decode(e)};function BIP32Factory(e){testEcc(e);const t={messagePrefix:`Bitcoin Signed Message:
|
package/dist/index2.js
CHANGED
|
@@ -54426,7 +54426,7 @@ async function deposit(e, t) {
|
|
|
54426
54426
|
[Buffer.from("outbound_message_path"), N],
|
|
54427
54427
|
j
|
|
54428
54428
|
), [I] = PublicKey$1.findProgramAddressSync(
|
|
54429
|
-
[Buffer.from("sender_config"),
|
|
54429
|
+
[Buffer.from("sender_config"), T.toBuffer()],
|
|
54430
54430
|
j
|
|
54431
54431
|
);
|
|
54432
54432
|
b("Mailbox config PDA:", U.toBase58()), b(
|
|
@@ -54608,7 +54608,7 @@ async function redeem(e, t) {
|
|
|
54608
54608
|
[Buffer.from("outbound_message_path"), U],
|
|
54609
54609
|
j
|
|
54610
54610
|
), [$] = PublicKey$1.findProgramAddressSync(
|
|
54611
|
-
[Buffer.from("sender_config"),
|
|
54611
|
+
[Buffer.from("sender_config"), w.toBuffer()],
|
|
54612
54612
|
j
|
|
54613
54613
|
);
|
|
54614
54614
|
b("Mailbox config PDA:", T.toBase58()), b("Outbound message path PDA:", N.toBase58()), b("Sender config PDA:", $.toBase58());
|
|
@@ -54802,7 +54802,7 @@ async function redeemBtcbForBtc(e) {
|
|
|
54802
54802
|
[Buffer.from("outbound_message_path"), V],
|
|
54803
54803
|
v
|
|
54804
54804
|
), [q] = PublicKey$1.findProgramAddressSync(
|
|
54805
|
-
[Buffer.from("sender_config"),
|
|
54805
|
+
[Buffer.from("sender_config"), K.toBuffer()],
|
|
54806
54806
|
v
|
|
54807
54807
|
);
|
|
54808
54808
|
D("Outbound message path PDA:", F.toBase58()), D("Sender config PDA:", q.toBase58());
|
|
@@ -54922,7 +54922,7 @@ async function redeemLbtcForBtc(e) {
|
|
|
54922
54922
|
[Buffer.from("outbound_message_path"), V],
|
|
54923
54923
|
v
|
|
54924
54924
|
), [q] = PublicKey$1.findProgramAddressSync(
|
|
54925
|
-
[Buffer.from("sender_config"),
|
|
54925
|
+
[Buffer.from("sender_config"), K.toBuffer()],
|
|
54926
54926
|
v
|
|
54927
54927
|
);
|
|
54928
54928
|
D("Outbound message path PDA:", F.toBase58()), D("Sender config PDA:", q.toBase58());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lombard.finance/sdk-solana",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1-canary.6",
|
|
4
4
|
"description": "Solana integration for the Lombard SDK - stake BTC and manage LBTC on Solana",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"@layerzerolabs/lz-definitions": "^3.0.87",
|
|
65
65
|
"@layerzerolabs/lz-v2-utilities": "^3.0.87",
|
|
66
66
|
"@layerzerolabs/oft-v2-solana-sdk": "^3.0.87",
|
|
67
|
-
"@lombard.finance/sdk-common": "4.0.0",
|
|
67
|
+
"@lombard.finance/sdk-common": "4.0.0-canary.6",
|
|
68
68
|
"@metaplex-foundation/umi": "^0.9.2",
|
|
69
69
|
"@metaplex-foundation/umi-bundle-defaults": "^0.9.2",
|
|
70
70
|
"@metaplex-foundation/umi-signer-wallet-adapters": "^0.9.2",
|
|
@@ -172,7 +172,7 @@ export async function deposit(
|
|
|
172
172
|
mailboxProgramId,
|
|
173
173
|
);
|
|
174
174
|
const [senderConfigPDA] = PublicKey.findProgramAddressSync(
|
|
175
|
-
[Buffer.from('sender_config'),
|
|
175
|
+
[Buffer.from('sender_config'), messagingAuthorityPDA.toBuffer()],
|
|
176
176
|
mailboxProgramId,
|
|
177
177
|
);
|
|
178
178
|
|
|
@@ -169,7 +169,7 @@ export async function redeem(
|
|
|
169
169
|
mailboxProgramId,
|
|
170
170
|
);
|
|
171
171
|
const [senderConfigPDA] = PublicKey.findProgramAddressSync(
|
|
172
|
-
[Buffer.from('sender_config'),
|
|
172
|
+
[Buffer.from('sender_config'), messagingAuthorityPDA.toBuffer()],
|
|
173
173
|
mailboxProgramId,
|
|
174
174
|
);
|
|
175
175
|
|
|
@@ -61,7 +61,7 @@ export async function redeemBtcbForBtc(ctx: RedeemContext): Promise<string> {
|
|
|
61
61
|
mailboxProgramId,
|
|
62
62
|
);
|
|
63
63
|
const [senderConfigPDA] = PublicKey.findProgramAddressSync(
|
|
64
|
-
[Buffer.from('sender_config'),
|
|
64
|
+
[Buffer.from('sender_config'), messagingAuthorityPDA.toBuffer()],
|
|
65
65
|
mailboxProgramId,
|
|
66
66
|
);
|
|
67
67
|
|
|
@@ -61,7 +61,7 @@ export async function redeemLbtcForBtc(ctx: RedeemContext): Promise<string> {
|
|
|
61
61
|
mailboxProgramId,
|
|
62
62
|
);
|
|
63
63
|
const [senderConfigPDA] = PublicKey.findProgramAddressSync(
|
|
64
|
-
[Buffer.from('sender_config'),
|
|
64
|
+
[Buffer.from('sender_config'), messagingAuthorityPDA.toBuffer()],
|
|
65
65
|
mailboxProgramId,
|
|
66
66
|
);
|
|
67
67
|
|