@gardenfi/core 2.1.5 → 2.1.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/{ccip-Bl2m4Anc.js → ccip-B5TohNtA.js} +1 -1
- package/dist/{ccip-BXstJDhZ.cjs → ccip-FG4vhh8P.cjs} +1 -1
- package/dist/{index-DHc690yk.js → index-B8_BsK0E.js} +2518 -2477
- package/dist/{index-aZ0Oo9H_.cjs → index-BebZgqj-.cjs} +41 -41
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{secp256k1-K4G9CZR-.cjs → secp256k1-CO0Q3cOC.cjs} +1 -1
- package/dist/{secp256k1-B-JGp8yu.js → secp256k1-CskzT-oQ.js} +1 -1
- package/package.json +2 -2
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`);super(s),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),r.cause&&(this.cause=r.cause),this.details=n,this.docsPath=i,this.metaMessages=r.metaMessages,this.shortMessage=t}};function Jt(e,t){const r=e.exec(t);return r==null?void 0:r.groups}const cf=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,uf=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,ff=/^\(.+?\).*?$/,Bc=/^tuple(?<array>(\[(\d*)\])*)$/;function ra(e){let t=e.type;if(Bc.test(e.type)&&"components"in e){t="(";const r=e.components.length;for(let i=0;i<r;i++){const s=e.components[i];t+=ra(s),i<r-1&&(t+=", ")}const n=Jt(Bc,e.type);return t+=`)${(n==null?void 0:n.array)??""}`,ra({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Bn(e){let t="";const r=e.length;for(let n=0;n<r;n++){const i=e[n];t+=ra(i),n!==r-1&&(t+=", ")}return t}function ih(e){var t;return e.type==="function"?`function ${e.name}(${Bn(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${(t=e.outputs)!=null&&t.length?` returns (${Bn(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${Bn(e.inputs)})`:e.type==="error"?`error ${e.name}(${Bn(e.inputs)})`:e.type==="constructor"?`constructor(${Bn(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}const df=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function sh(e){return df.test(e)}function oh(e){return Jt(df,e)}const lf=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function ah(e){return lf.test(e)}function ch(e){return Jt(lf,e)}const hf=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function uh(e){return hf.test(e)}function fh(e){return Jt(hf,e)}const pf=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function yf(e){return pf.test(e)}function dh(e){return Jt(pf,e)}const mf=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function lh(e){return mf.test(e)}function hh(e){return Jt(mf,e)}const bf=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function ph(e){return bf.test(e)}function yh(e){return Jt(bf,e)}const mh=/^receive\(\) external payable$/;function bh(e){return mh.test(e)}const gh=new Set(["indexed"]),na=new Set(["calldata","memory","storage"]);class wh extends yt{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}}class _h extends yt{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}class vh extends yt{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class Eh extends yt{constructor({param:t,name:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}}class xh extends yt{constructor({param:t,type:r,modifier:n}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${n}" not allowed${r?` in "${r}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class Ah extends yt{constructor({param:t,type:r,modifier:n}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${n}" not allowed${r?` in "${r}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${n}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class Sh extends yt{constructor({abiParameter:t}){super("Invalid ABI parameter.",{details:JSON.stringify(t,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class En extends yt{constructor({signature:t,type:r}){super(`Invalid ${r} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class Ph extends yt{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class Th extends yt{constructor({signature:t}){super("Invalid struct signature.",{details:t,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}class kh extends yt{constructor({type:t}){super("Circular reference detected.",{metaMessages:[`Struct "${t}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}class Ih extends yt{constructor({current:t,depth:r}){super("Unbalanced parentheses.",{metaMessages:[`"${t.trim()}" has too many ${r>0?"opening":"closing"} parentheses.`],details:`Depth "${r}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}function Bh(e,t,r){let n="";if(r)for(const i of Object.entries(r)){if(!i)continue;let s="";for(const o of i[1])s+=`[${o.type}${o.name?`:${o.name}`:""}]`;n+=`(${i[0]}{${s}})`}return t?`${t}:${e}${n}`:e}const yo=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function Ch(e,t={}){if(uh(e))return Oh(e,t);if(ah(e))return Rh(e,t);if(sh(e))return Uh(e,t);if(lh(e))return Fh(e,t);if(ph(e))return Nh(e);if(bh(e))return{type:"receive",stateMutability:"payable"};throw new Ph({signature:e})}function Oh(e,t={}){const r=fh(e);if(!r)throw new En({signature:e,type:"function"});const n=gt(r.parameters),i=[],s=n.length;for(let a=0;a<s;a++)i.push(Rr(n[a],{modifiers:na,structs:t,type:"function"}));const o=[];if(r.returns){const a=gt(r.returns),c=a.length;for(let f=0;f<c;f++)o.push(Rr(a[f],{modifiers:na,structs:t,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:i,outputs:o}}function Rh(e,t={}){const r=ch(e);if(!r)throw new En({signature:e,type:"event"});const n=gt(r.parameters),i=[],s=n.length;for(let o=0;o<s;o++)i.push(Rr(n[o],{modifiers:gh,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:i}}function Uh(e,t={}){const r=oh(e);if(!r)throw new En({signature:e,type:"error"});const n=gt(r.parameters),i=[],s=n.length;for(let o=0;o<s;o++)i.push(Rr(n[o],{structs:t,type:"error"}));return{name:r.name,type:"error",inputs:i}}function Fh(e,t={}){const r=hh(e);if(!r)throw new En({signature:e,type:"constructor"});const n=gt(r.parameters),i=[],s=n.length;for(let o=0;o<s;o++)i.push(Rr(n[o],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:i}}function Nh(e){const t=yh(e);if(!t)throw new En({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}const Lh=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Mh=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,$h=/^u?int$/;function Rr(e,t){var h,y;const r=Bh(e,t==null?void 0:t.type,t==null?void 0:t.structs);if(yo.has(r))return yo.get(r);const n=ff.test(e),i=Jt(n?Mh:Lh,e);if(!i)throw new vh({param:e});if(i.name&&Dh(i.name))throw new Eh({param:e,name:i.name});const s=i.name?{name:i.name}:{},o=i.modifier==="indexed"?{indexed:!0}:{},a=(t==null?void 0:t.structs)??{};let c,f={};if(n){c="tuple";const p=gt(i.type),g=[],_=p.length;for(let x=0;x<_;x++)g.push(Rr(p[x],{structs:a}));f={components:g}}else if(i.type in a)c="tuple",f={components:a[i.type]};else if($h.test(i.type))c=`${i.type}256`;else if(c=i.type,(t==null?void 0:t.type)!=="struct"&&!gf(c))throw new _h({type:c});if(i.modifier){if(!((y=(h=t==null?void 0:t.modifiers)==null?void 0:h.has)!=null&&y.call(h,i.modifier)))throw new xh({param:e,type:t==null?void 0:t.type,modifier:i.modifier});if(na.has(i.modifier)&&!jh(c,!!i.array))throw new Ah({param:e,type:t==null?void 0:t.type,modifier:i.modifier})}const l={type:`${c}${i.array??""}`,...s,...o,...f};return yo.set(r,l),l}function gt(e,t=[],r="",n=0){const i=e.trim().length;for(let s=0;s<i;s++){const o=e[s],a=e.slice(s+1);switch(o){case",":return n===0?gt(a,[...t,r.trim()]):gt(a,t,`${r}${o}`,n);case"(":return gt(a,t,`${r}${o}`,n+1);case")":return gt(a,t,`${r}${o}`,n-1);default:return gt(a,t,`${r}${o}`,n)}}if(r==="")return t;if(n!==0)throw new Ih({current:r,depth:n});return t.push(r.trim()),t}function gf(e){return e==="address"||e==="bool"||e==="function"||e==="string"||cf.test(e)||uf.test(e)}const Hh=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function Dh(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||cf.test(e)||uf.test(e)||Hh.test(e)}function jh(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}function Gh(e){const t={},r=e.length;for(let o=0;o<r;o++){const a=e[o];if(!yf(a))continue;const c=dh(a);if(!c)throw new En({signature:a,type:"struct"});const f=c.properties.split(";"),l=[],h=f.length;for(let y=0;y<h;y++){const g=f[y].trim();if(!g)continue;const _=Rr(g,{type:"struct"});l.push(_)}if(!l.length)throw new Th({signature:a});t[c.name]=l}const n={},i=Object.entries(t),s=i.length;for(let o=0;o<s;o++){const[a,c]=i[o];n[a]=wf(c,t)}return n}const zh=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function wf(e,t,r=new Set){const n=[],i=e.length;for(let s=0;s<i;s++){const o=e[s];if(ff.test(o.type))n.push(o);else{const c=Jt(zh,o.type);if(!(c!=null&&c.type))throw new Sh({abiParameter:o});const{array:f,type:l}=c;if(l in t){if(r.has(l))throw new kh({type:l});n.push({...o,type:`tuple${f??""}`,components:wf(t[l]??[],t,new Set([...r,l]))})}else if(gf(l))n.push(o);else throw new wh({type:l})}}return n}function _f(e){const t=Gh(e),r=[],n=e.length;for(let i=0;i<n;i++){const s=e[i];yf(s)||r.push(Ch(s,t))}return r}function oe(e,t,r){const n=e[t.name];if(typeof n=="function")return n;const i=e[r];return typeof i=="function"?i:s=>t(e,s)}function It(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new i0(e.type);return`${e.name}(${Bs(e.inputs,{includeName:t})})`}function Bs(e,{includeName:t=!1}={}){return e?e.map(r=>qh(r,{includeName:t})).join(t?", ":","):""}function qh(e,{includeName:t}){return e.type.startsWith("tuple")?`(${Bs(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}function qt(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Ie(e){return qt(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}const vf="2.28.0";let Cn={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${vf}`};class L extends Error{constructor(t,r={}){var a;const n=(()=>{var c;return r.cause instanceof L?r.cause.details:(c=r.cause)!=null&&c.message?r.cause.message:r.details})(),i=r.cause instanceof L&&r.cause.docsPath||r.docsPath,s=(a=Cn.getDocsUrl)==null?void 0:a.call(Cn,{...r,docsPath:i}),o=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...n?[`Details: ${n}`]:[],...Cn.version?[`Version: ${Cn.version}`]:[]].join(`
|
|
3
|
-
`);super(o,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=n,this.docsPath=i,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=t,this.version=
|
|
4
|
-
`),{docsPath:t,name:"AbiConstructorNotFoundError"})}}class
|
|
5
|
-
`),{docsPath:t,name:"AbiConstructorParamsNotFoundError"})}}class
|
|
6
|
-
`),{metaMessages:[`Params: (${
|
|
7
|
-
`),{name:"AbiEncodingArrayLengthMismatchError"})}}class
|
|
8
|
-
`),{name:"AbiEncodingLengthMismatchError"})}}class
|
|
9
|
-
`),{docsPath:r,name:"AbiErrorInputsNotFoundError"})}}class
|
|
10
|
-
`),{docsPath:r,name:"AbiErrorNotFoundError"})}}class
|
|
11
|
-
`),{docsPath:r,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=t}}class
|
|
12
|
-
`),{docsPath:r,name:"AbiEventSignatureNotFoundError"})}}class
|
|
13
|
-
`),{docsPath:r,name:"AbiEventNotFoundError"})}}class
|
|
14
|
-
`),{docsPath:r,name:"AbiFunctionNotFoundError"})}}class
|
|
15
|
-
`),{docsPath:r,name:"AbiFunctionOutputsNotFoundError"})}}class
|
|
16
|
-
`),{docsPath:r,name:"AbiFunctionSignatureNotFoundError"})}}class
|
|
17
|
-
`),{metaMessages:[`Params: (${
|
|
18
|
-
`),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}}class
|
|
19
|
-
`),{docsPath:r,name:"InvalidAbiEncodingType"})}}class
|
|
20
|
-
`),{docsPath:r,name:"InvalidAbiDecodingType"})}}class
|
|
21
|
-
`),{name:"InvalidArrayError"})}}class
|
|
22
|
-
`),{name:"InvalidDefinitionTypeError"})}}class s0 extends L{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}class kf extends L{constructor({offset:t,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}}class If extends L{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}}class Rc extends L{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${r} ${n} long, but is ${t} ${n} long.`,{name:"InvalidBytesLengthError"})}}function xn(e,{dir:t,size:r=32}={}){return typeof e=="string"?hr(e,{dir:t,size:r}):o0(e,{dir:t,size:r})}function hr(e,{dir:t,size:r=32}={}){if(r===null)return e;const n=e.replace("0x","");if(n.length>r*2)throw new If({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function o0(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new If({size:e.length,targetSize:r,type:"bytes"});const n=new Uint8Array(r);for(let i=0;i<r;i++){const s=t==="right";n[s?i:r-i-1]=e[s?i:e.length-i-1]}return n}class Bf extends L{constructor({max:t,min:r,signed:n,size:i,value:s}){super(`Number "${s}" is not in safe ${i?`${i*8}-bit ${n?"signed":"unsigned"} `:""}integer range ${t?`(${r} to ${t})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}}class a0 extends L{constructor(t){super(`Bytes value "${t}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}}class c0 extends L{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function Ur(e,{dir:t="left"}={}){let r=typeof e=="string"?e.replace("0x",""):e,n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),typeof e=="string"?(r.length===1&&t==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}function Bt(e,{size:t}){if(Ie(e)>t)throw new c0({givenSize:Ie(e),maxSize:t})}function pt(e,t={}){const{signed:r}=t;t.size&&Bt(e,{size:t.size});const n=BigInt(e);if(!r)return n;const i=(e.length-2)/2,s=(1n<<BigInt(i)*8n-1n)-1n;return n<=s?n:n-BigInt(`0x${"f".padStart(i*2,"f")}`)-1n}function Vt(e,t={}){return Number(pt(e,t))}const u0=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function J(e,t={}){return typeof e=="number"||typeof e=="bigint"?Q(e,t):typeof e=="string"?Cs(e,t):typeof e=="boolean"?Cf(e,t):Ze(e,t)}function Cf(e,t={}){const r=`0x${Number(e)}`;return typeof t.size=="number"?(Bt(r,{size:t.size}),xn(r,{size:t.size})):r}function Ze(e,t={}){let r="";for(let i=0;i<e.length;i++)r+=u0[e[i]];const n=`0x${r}`;return typeof t.size=="number"?(Bt(n,{size:t.size}),xn(n,{dir:"right",size:t.size})):n}function Q(e,t={}){const{signed:r,size:n}=t,i=BigInt(e);let s;n?r?s=(1n<<BigInt(n)*8n-1n)-1n:s=2n**(BigInt(n)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof s=="bigint"&&r?-s-1n:0;if(s&&i>s||i<o){const c=typeof e=="bigint"?"n":"";throw new Bf({max:s?`${s}${c}`:void 0,min:`${o}${c}`,signed:r,size:n,value:`${e}${c}`})}const a=`0x${(r&&i<0?(1n<<BigInt(n*8))+BigInt(i):i).toString(16)}`;return n?xn(a,{size:n}):a}const f0=new TextEncoder;function Cs(e,t={}){const r=f0.encode(e);return Ze(r,t)}const d0=new TextEncoder;function Bi(e,t={}){return typeof e=="number"||typeof e=="bigint"?h0(e,t):typeof e=="boolean"?l0(e,t):qt(e)?Wt(e,t):Of(e,t)}function l0(e,t={}){const r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(Bt(r,{size:t.size}),xn(r,{size:t.size})):r}const Ut={zero:48,nine:57,A:65,F:70,a:97,f:102};function Uc(e){if(e>=Ut.zero&&e<=Ut.nine)return e-Ut.zero;if(e>=Ut.A&&e<=Ut.F)return e-(Ut.A-10);if(e>=Ut.a&&e<=Ut.f)return e-(Ut.a-10)}function Wt(e,t={}){let r=e;t.size&&(Bt(r,{size:t.size}),r=xn(r,{dir:"right",size:t.size}));let n=r.slice(2);n.length%2&&(n=`0${n}`);const i=n.length/2,s=new Uint8Array(i);for(let o=0,a=0;o<i;o++){const c=Uc(n.charCodeAt(a++)),f=Uc(n.charCodeAt(a++));if(c===void 0||f===void 0)throw new L(`Invalid byte sequence ("${n[a-2]}${n[a-1]}" in "${n}").`);s[o]=c*16+f}return s}function h0(e,t){const r=Q(e,t);return Wt(r)}function Of(e,t={}){const r=d0.encode(e);return typeof t.size=="number"?(Bt(r,{size:t.size}),xn(r,{dir:"right",size:t.size})):r}function vs(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function p0(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ci(e,...t){if(!p0(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 y0(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");vs(e.outputLen),vs(e.blockLen)}function ei(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Rf(e,t){Ci(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}const Ki=BigInt(2**32-1),Fc=BigInt(32);function m0(e,t=!1){return t?{h:Number(e&Ki),l:Number(e>>Fc&Ki)}:{h:Number(e>>Fc&Ki)|0,l:Number(e&Ki)|0}}function b0(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:s,l:o}=m0(e[i],t);[r[i],n[i]]=[s,o]}return[r,n]}const g0=(e,t,r)=>e<<r|t>>>32-r,w0=(e,t,r)=>t<<r|e>>>32-r,_0=(e,t,r)=>t<<r-32|e>>>64-r,v0=(e,t,r)=>e<<r-32|t>>>64-r,Kr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function E0(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function mo(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function _t(e,t){return e<<32-t|e>>>t}const Nc=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function x0(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Lc(e){for(let t=0;t<e.length;t++)e[t]=x0(e[t])}typeof Uint8Array.from([]).toHex=="function"&&Uint8Array.fromHex;function A0(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function Os(e){return typeof e=="string"&&(e=A0(e)),Ci(e),e}function S0(...e){let t=0;for(let n=0;n<e.length;n++){const i=e[n];Ci(i),t+=i.length}const r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){const s=e[n];r.set(s,i),i+=s.length}return r}let La=class{clone(){return this._cloneInto()}};function Uf(e){const t=n=>e().update(Os(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function P0(e=32){if(Kr&&typeof Kr.getRandomValues=="function")return Kr.getRandomValues(new Uint8Array(e));if(Kr&&typeof Kr.randomBytes=="function")return Uint8Array.from(Kr.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}const Ff=[],Nf=[],Lf=[],T0=BigInt(0),On=BigInt(1),k0=BigInt(2),I0=BigInt(7),B0=BigInt(256),C0=BigInt(113);for(let e=0,t=On,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Ff.push(2*(5*n+r)),Nf.push((e+1)*(e+2)/2%64);let i=T0;for(let s=0;s<7;s++)t=(t<<On^(t>>I0)*C0)%B0,t&k0&&(i^=On<<(On<<BigInt(s))-On);Lf.push(i)}const[O0,R0]=b0(Lf,!0),Mc=(e,t,r)=>r>32?_0(e,t,r):g0(e,t,r),$c=(e,t,r)=>r>32?v0(e,t,r):w0(e,t,r);function U0(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let o=0;o<10;o++)r[o]=e[o]^e[o+10]^e[o+20]^e[o+30]^e[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,f=r[c],l=r[c+1],h=Mc(f,l,1)^r[a],y=$c(f,l,1)^r[a+1];for(let p=0;p<50;p+=10)e[o+p]^=h,e[o+p+1]^=y}let i=e[2],s=e[3];for(let o=0;o<24;o++){const a=Nf[o],c=Mc(i,s,a),f=$c(i,s,a),l=Ff[o];i=e[l],s=e[l+1],e[l]=c,e[l+1]=f}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)r[a]=e[o+a];for(let a=0;a<10;a++)e[o+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=O0[n],e[1]^=R0[n]}r.fill(0)}class Ma extends La{constructor(t,r,n,i=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=r,this.outputLen=n,this.enableXOF=i,this.rounds=s,vs(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=E0(this.state)}keccak(){Nc||Lc(this.state32),U0(this.state32,this.rounds),Nc||Lc(this.state32),this.posOut=0,this.pos=0}update(t){ei(this);const{blockLen:r,state:n}=this;t=Os(t);const i=t.length;for(let s=0;s<i;){const o=Math.min(r-this.pos,i-s);for(let a=0;a<o;a++)n[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:r,pos:n,blockLen:i}=this;t[n]^=r,r&128&&n===i-1&&this.keccak(),t[i-1]^=128,this.keccak()}writeInto(t){ei(this,!1),Ci(t),this.finish();const r=this.state,{blockLen:n}=this;for(let i=0,s=t.length;i<s;){this.posOut>=n&&this.keccak();const o=Math.min(n-this.posOut,s-i);t.set(r.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return vs(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Rf(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:r,suffix:n,outputLen:i,rounds:s,enableXOF:o}=this;return t||(t=new Ma(r,n,i,o,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=n,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}}const F0=(e,t,r)=>Uf(()=>new Ma(t,e,r)),N0=F0(1,136,256/8);function An(e,t){const r=t||"hex",n=N0(qt(e,{strict:!1})?Bi(e):e);return r==="bytes"?n:J(n)}const L0=e=>An(Bi(e));function M0(e){return L0(e)}function $0(e){let t=!0,r="",n=0,i="",s=!1;for(let o=0;o<e.length;o++){const a=e[o];if(["(",")",","].includes(a)&&(t=!0),a==="("&&n++,a===")"&&n--,!!t){if(n===0){if(a===" "&&["event","function",""].includes(i))i="";else if(i+=a,a===")"){s=!0;break}continue}if(a===" "){e[o-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}i+=a,r+=a}}if(!s)throw new L("Unable to normalize signature.");return i}const H0=e=>{const t=typeof e=="string"?e:ih(e);return $0(t)};function Mf(e){return M0(H0(e))}const Rs=Mf;class et extends L{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class Us extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}const bo=new Us(8192);function Oi(e,t){if(bo.has(`${e}.${t}`))return bo.get(`${e}.${t}`);const r=e.substring(2).toLowerCase(),n=An(Of(r),"bytes"),i=r.split("");for(let o=0;o<40;o+=2)n[o>>1]>>4>=8&&i[o]&&(i[o]=i[o].toUpperCase()),(n[o>>1]&15)>=8&&i[o+1]&&(i[o+1]=i[o+1].toUpperCase());const s=`0x${i.join("")}`;return bo.set(`${e}.${t}`,s),s}function D0(e,t){if(!Fe(e,{strict:!1}))throw new et({address:e});return Oi(e,t)}const j0=/^0x[a-fA-F0-9]{40}$/,go=new Us(8192);function Fe(e,t){const{strict:r=!0}=t??{},n=`${e}.${r}`;if(go.has(n))return go.get(n);const i=j0.test(e)?e.toLowerCase()===e?!0:r?Oi(e)===e:!0:!1;return go.set(n,i),i}function Fr(e){return typeof e[0]=="string"?Ct(e):G0(e)}function G0(e){let t=0;for(const i of e)t+=i.length;const r=new Uint8Array(t);let n=0;for(const i of e)r.set(i,n),n+=i.length;return r}function Ct(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function hn(e,t,r,{strict:n}={}){return qt(e,{strict:!1})?z0(e,t,r,{strict:n}):Df(e,t,r,{strict:n})}function $f(e,t){if(typeof t=="number"&&t>0&&t>Ie(e)-1)throw new kf({offset:t,position:"start",size:Ie(e)})}function Hf(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Ie(e)!==r-t)throw new kf({offset:r,position:"end",size:Ie(e)})}function Df(e,t,r,{strict:n}={}){$f(e,t);const i=e.slice(t,r);return n&&Hf(i,t,r),i}function z0(e,t,r,{strict:n}={}){$f(e,t);const i=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&Hf(i,t,r),i}const q0=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,jf=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function Fs(e,t){if(e.length!==t.length)throw new Yh({expectedLength:e.length,givenLength:t.length});const r=V0({params:e,values:t}),n=Ha(r);return n.length===0?"0x":n}function V0({params:e,values:t}){const r=[];for(let n=0;n<e.length;n++)r.push($a({param:e[n],value:t[n]}));return r}function $a({param:e,value:t}){const r=Da(e.type);if(r){const[n,i]=r;return K0(t,{length:n,param:{...e,type:i}})}if(e.type==="tuple")return Z0(t,{param:e});if(e.type==="address")return W0(t);if(e.type==="bool")return X0(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){const n=e.type.startsWith("int"),[,,i="256"]=jf.exec(e.type)??[];return J0(t,{signed:n,size:Number(i)})}if(e.type.startsWith("bytes"))return Y0(t,{param:e});if(e.type==="string")return Q0(t);throw new r0(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function Ha(e){let t=0;for(let s=0;s<e.length;s++){const{dynamic:o,encoded:a}=e[s];o?t+=32:t+=Ie(a)}const r=[],n=[];let i=0;for(let s=0;s<e.length;s++){const{dynamic:o,encoded:a}=e[s];o?(r.push(Q(t+i,{size:32})),n.push(a),i+=Ie(a)):r.push(a)}return Fr([...r,...n])}function W0(e){if(!Fe(e))throw new et({address:e});return{dynamic:!1,encoded:hr(e.toLowerCase())}}function K0(e,{length:t,param:r}){const n=t===null;if(!Array.isArray(e))throw new Tf(e);if(!n&&e.length!==t)throw new Wh({expectedLength:t,givenLength:e.length,type:`${r.type}[${t}]`});let i=!1;const s=[];for(let o=0;o<e.length;o++){const a=$a({param:r,value:e[o]});a.dynamic&&(i=!0),s.push(a)}if(n||i){const o=Ha(s);if(n){const a=Q(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?Fr([a,o]):a}}if(i)return{dynamic:!0,encoded:o}}return{dynamic:!1,encoded:Fr(s.map(({encoded:o})=>o))}}function Y0(e,{param:t}){const[,r]=t.type.split("bytes"),n=Ie(e);if(!r){let i=e;return n%32!==0&&(i=hr(i,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Fr([hr(Q(n,{size:32})),i])}}if(n!==Number.parseInt(r))throw new Kh({expectedSize:Number.parseInt(r),value:e});return{dynamic:!1,encoded:hr(e,{dir:"right"})}}function X0(e){if(typeof e!="boolean")throw new L(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:hr(Cf(e))}}function J0(e,{signed:t,size:r=256}){if(typeof r=="number"){const n=2n**(BigInt(r)-(t?1n:0n))-1n,i=t?-n-1n:0n;if(e>n||e<i)throw new Bf({max:n.toString(),min:i.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:Q(e,{size:32,signed:t})}}function Q0(e){const t=Cs(e),r=Math.ceil(Ie(t)/32),n=[];for(let i=0;i<r;i++)n.push(hr(hn(t,i*32,(i+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Fr([hr(Q(Ie(t),{size:32})),...n])}}function Z0(e,{param:t}){let r=!1;const n=[];for(let i=0;i<t.components.length;i++){const s=t.components[i],o=Array.isArray(e)?i:s.name,a=$a({param:s,value:e[o]});n.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?Ha(n):Fr(n.map(({encoded:i})=>i))}}function Da(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const Ns=e=>hn(Mf(e),0,4);function Sn(e){const{abi:t,args:r=[],name:n}=e,i=qt(n,{strict:!1}),s=t.filter(a=>i?a.type==="function"?Ns(a)===n:a.type==="event"?Rs(a)===n:!1:"name"in a&&a.name===n);if(s.length===0)return;if(s.length===1)return s[0];let o;for(const a of s){if(!("inputs"in a))continue;if(!r||r.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==r.length)continue;if(r.every((f,l)=>{const h="inputs"in a&&a.inputs[l];return h?ia(f,h):!1})){if(o&&"inputs"in o&&o.inputs){const f=Gf(a.inputs,o.inputs,r);if(f)throw new e0({abiItem:a,type:f[0]},{abiItem:o,type:f[1]})}o=a}}return o||s[0]}function ia(e,t){const r=typeof e,n=t.type;switch(n){case"address":return Fe(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in t?Object.values(t.components).every((i,s)=>ia(Object.values(e)[s],i)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n)?r==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(e)&&e.every(i=>ia(i,{...t,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Gf(e,t,r){for(const n in e){const i=e[n],s=t[n];if(i.type==="tuple"&&s.type==="tuple"&&"components"in i&&"components"in s)return Gf(i.components,s.components,r[n]);const o=[i.type,s.type];if(o.includes("address")&&o.includes("bytes20")?!0:o.includes("address")&&o.includes("string")?Fe(r[n],{strict:!1}):o.includes("address")&&o.includes("bytes")?Fe(r[n],{strict:!1}):!1)return o}}const Hc="/docs/contract/encodeEventTopics";function ja(e){var c;const{abi:t,eventName:r,args:n}=e;let i=t[0];if(r){const f=Sn({abi:t,name:r});if(!f)throw new Oc(r,{docsPath:Hc});i=f}if(i.type!=="event")throw new Oc(void 0,{docsPath:Hc});const s=It(i),o=Rs(s);let a=[];if(n&&"inputs"in i){const f=(c=i.inputs)==null?void 0:c.filter(h=>"indexed"in h&&h.indexed),l=Array.isArray(n)?n:Object.values(n).length>0?(f==null?void 0:f.map(h=>n[h.name]))??[]:[];l.length>0&&(a=(f==null?void 0:f.map((h,y)=>Array.isArray(l[y])?l[y].map((p,g)=>Dc({param:h,value:l[y][g]})):typeof l[y]<"u"&&l[y]!==null?Dc({param:h,value:l[y]}):null))??[])}return[o,...a]}function Dc({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return An(Bi(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new s0(e.type);return Fs([e],[t])}function ep(e,{method:t}){var n,i;const r={};return e.transport.type==="fallback"&&((i=(n=e.transport).onResponse)==null||i.call(n,({method:s,response:o,status:a,transport:c})=>{a==="success"&&t===s&&(r[o]=c.request)})),s=>r[s]||e.request}async function zf(e,t){const{address:r,abi:n,args:i,eventName:s,fromBlock:o,strict:a,toBlock:c}=t,f=ep(e,{method:"eth_newFilter"}),l=s?ja({abi:n,args:i,eventName:s}):void 0,h=await e.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof o=="bigint"?Q(o):o,toBlock:typeof c=="bigint"?Q(c):c,topics:l}]});return{abi:n,args:i,eventName:s,id:h,request:f(h),strict:!!a,type:"event"}}function Ne(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}const jc="/docs/contract/encodeFunctionData";function tp(e){const{abi:t,args:r,functionName:n}=e;let i=t[0];if(n){const s=Sn({abi:t,args:r,name:n});if(!s)throw new Zn(n,{docsPath:jc});i=s}if(i.type!=="function")throw new Zn(void 0,{docsPath:jc});return{abi:[i],functionName:Ns(It(i))}}function Pn(e){const{args:t}=e,{abi:r,functionName:n}=(()=>{var a;return e.abi.length===1&&((a=e.functionName)!=null&&a.startsWith("0x"))?e:tp(e)})(),i=r[0],s=n,o="inputs"in i&&i.inputs?Fs(i.inputs,t??[]):void 0;return Ct([s,o??"0x"])}const rp={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},qf={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},np={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"};class Gc extends L{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class Vf extends L{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class ip extends L{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const sp={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new ip({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Vf({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Gc({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Gc({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function Ga(e,{recursiveReadLimit:t=8192}={}){const r=Object.create(sp);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}function op(e,t={}){typeof t.size<"u"&&Bt(e,{size:t.size});const r=Ze(e,t);return pt(r,t)}function ap(e,t={}){let r=e;if(typeof t.size<"u"&&(Bt(r,{size:t.size}),r=Ur(r)),r.length>1||r[0]>1)throw new a0(r);return!!r[0]}function jt(e,t={}){typeof t.size<"u"&&Bt(e,{size:t.size});const r=Ze(e,t);return Vt(r,t)}function cp(e,t={}){let r=e;return typeof t.size<"u"&&(Bt(r,{size:t.size}),r=Ur(r,{dir:"right"})),new TextDecoder().decode(r)}function Ri(e,t){const r=typeof t=="string"?Wt(t):t,n=Ga(r);if(Ie(r)===0&&e.length>0)throw new Fa;if(Ie(t)&&Ie(t)<32)throw new xf({data:typeof t=="string"?t:Ze(t),params:e,size:Ie(t)});let i=0;const s=[];for(let o=0;o<e.length;++o){const a=e[o];n.setPosition(i);const[c,f]=sn(n,a,{staticPosition:0});i+=f,s.push(c)}return s}function sn(e,t,{staticPosition:r}){const n=Da(t.type);if(n){const[i,s]=n;return fp(e,{...t,type:s},{length:i,staticPosition:r})}if(t.type==="tuple")return pp(e,t,{staticPosition:r});if(t.type==="address")return up(e);if(t.type==="bool")return dp(e);if(t.type.startsWith("bytes"))return lp(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return hp(e,t);if(t.type==="string")return yp(e,{staticPosition:r});throw new n0(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}const zc=32,sa=32;function up(e){const t=e.readBytes(32);return[Oi(Ze(Df(t,-20))),32]}function fp(e,t,{length:r,staticPosition:n}){if(!r){const o=jt(e.readBytes(sa)),a=n+o,c=a+zc;e.setPosition(a);const f=jt(e.readBytes(zc)),l=ti(t);let h=0;const y=[];for(let p=0;p<f;++p){e.setPosition(c+(l?p*32:h));const[g,_]=sn(e,t,{staticPosition:c});h+=_,y.push(g)}return e.setPosition(n+32),[y,32]}if(ti(t)){const o=jt(e.readBytes(sa)),a=n+o,c=[];for(let f=0;f<r;++f){e.setPosition(a+f*32);const[l]=sn(e,t,{staticPosition:a});c.push(l)}return e.setPosition(n+32),[c,32]}let i=0;const s=[];for(let o=0;o<r;++o){const[a,c]=sn(e,t,{staticPosition:n+i});i+=c,s.push(a)}return[s,i]}function dp(e){return[ap(e.readBytes(32),{size:32}),32]}function lp(e,t,{staticPosition:r}){const[n,i]=t.type.split("bytes");if(!i){const o=jt(e.readBytes(32));e.setPosition(r+o);const a=jt(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];const c=e.readBytes(a);return e.setPosition(r+32),[Ze(c),32]}return[Ze(e.readBytes(Number.parseInt(i),32)),32]}function hp(e,t){const r=t.type.startsWith("int"),n=Number.parseInt(t.type.split("int")[1]||"256"),i=e.readBytes(32);return[n>48?op(i,{signed:r}):jt(i,{signed:r}),32]}function pp(e,t,{staticPosition:r}){const n=t.components.length===0||t.components.some(({name:o})=>!o),i=n?[]:{};let s=0;if(ti(t)){const o=jt(e.readBytes(sa)),a=r+o;for(let c=0;c<t.components.length;++c){const f=t.components[c];e.setPosition(a+s);const[l,h]=sn(e,f,{staticPosition:a});s+=h,i[n?c:f==null?void 0:f.name]=l}return e.setPosition(r+32),[i,32]}for(let o=0;o<t.components.length;++o){const a=t.components[o],[c,f]=sn(e,a,{staticPosition:r});i[n?o:a==null?void 0:a.name]=c,s+=f}return[i,s]}function yp(e,{staticPosition:t}){const r=jt(e.readBytes(32)),n=t+r;e.setPosition(n);const i=jt(e.readBytes(32));if(i===0)return e.setPosition(t+32),["",32];const s=e.readBytes(i,32),o=cp(Ur(s));return e.setPosition(t+32),[o,32]}function ti(e){var n;const{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return(n=e.components)==null?void 0:n.some(ti);const r=Da(e.type);return!!(r&&ti({...e,type:r[1]}))}function Wf(e){const{abi:t,data:r}=e,n=hn(r,0,4);if(n==="0x")throw new Fa;const s=[...t||[],qf,np].find(o=>o.type==="error"&&n===Ns(It(o)));if(!s)throw new Af(n,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Ri(s.inputs,hn(r,4)):void 0,errorName:s.name}}const rt=(e,t,r)=>JSON.stringify(e,(n,i)=>typeof i=="bigint"?i.toString():i,r);function Kf({abiItem:e,args:t,includeFunctionName:r=!0,includeName:n=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${r?e.name:""}(${e.inputs.map((i,s)=>`${n&&i.name?`${i.name}: `:""}${typeof t[s]=="object"?rt(t[s]):t[s]}`).join(", ")})`}const mp={gwei:9,wei:18},bp={ether:-9,wei:9};function Yf(e,t){let r=e.toString();const n=r.startsWith("-");n&&(r=r.slice(1)),r=r.padStart(t,"0");let[i,s]=[r.slice(0,r.length-t),r.slice(r.length-t)];return s=s.replace(/(0+)$/,""),`${n?"-":""}${i||"0"}${s?`.${s}`:""}`}function za(e,t="wei"){return Yf(e,mp[t])}function nt(e,t="wei"){return Yf(e,bp[t])}class gp extends L{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}}class wp extends L{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function qc(e){return e.reduce((t,{slot:r,value:n})=>`${t} ${r}: ${n}
|
|
23
|
-
`,"")}function
|
|
1
|
+
"use strict";var Jl=Object.defineProperty;var Ql=(e,t,r)=>t in e?Jl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Wr=(e,t,r)=>Ql(e,typeof t!="symbol"?t+"":t,r);const le=require("@gardenfi/orderbook"),q=require("@gardenfi/utils"),ln=require("@catalogfi/wallets"),of=require("varuint-bitcoin"),Zl=require("tiny-secp256k1"),af=require("bitcoinjs-lib"),eh=require("bignumber.js"),Oe=require("starknet");function Ua(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const Ic=Ua(of),Or=Ua(Zl),ce=Ua(af);var cf=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},ho=(e,t,r)=>(cf(e,t,"read from private field"),r?r.call(e):t.get(e)),po=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},yo=(e,t,r,n)=>(cf(e,t,"write to private field"),t.set(e,r),r);const th=e=>new Promise(t=>setTimeout(t,e));class rh{constructor(t,r){this.maxRetries=Math.max(t,0),this.delay=r}async retry(t){let r=0,n;for(;r<this.maxRetries+1;)try{return await t()}catch(i){r++,n=i,await th(this.delay*r)}throw n}}const nh=e=>{try{return JSON.parse(e)}catch{return e}};class Dt{static async _postWithFallback(t,r){let n="";for(const i of t)try{const s=await fetch(i,{method:"POST",...r});if(s.status>=500){n=await(s.text()||s.json());continue}return await this.parse(s)}catch(s){n=Bc(s);continue}throw new Error(n||"All APIs failed")}static async postWithFallback(t,r){return await Ki(r).retry(()=>this._postWithFallback(t,r))}static async _getWithFallback(t,r){let n="";for(const i of t)try{const s=await fetch(i,r);if(s.status>=500){n=await(s.text()||s.json());continue}return await this.parse(s)}catch(s){n=Bc(s);continue}throw new Error(n||"All APIs failed")}static async getWithFallback(t,r){return await Ki(r).retry(()=>this._getWithFallback(t,r))}static async _get(t,r){return await this.parse(await fetch(t,r))}static async get(t,r){return await Ki(r).retry(()=>this._get(t,r))}static async _post(t,r){return await this.parse(await fetch(t,{method:"POST",...r}))}static async post(t,r){return await Ki(r).retry(()=>this._post(t,r))}static async parse(t){const r=await t.text();if(t.status>=200&&t.status<300)return nh(r);throw new Error(r)}}function Bc(e){return(e==null?void 0:e.message)||(e==null?void 0:e.toString())||"unknown error"}const Ki=e=>new rh((e==null?void 0:e.retryCount)??2,(e==null?void 0:e.retryDelay)??1e3),nn=e=>e.startsWith("0x")?e:`0x${e}`,kr=e=>e.startsWith("0x")?e.slice(2):e;var us,fs,ds;let ta=class{constructor(t,r,n=void 0){po(this,us,void 0),po(this,fs,void 0),po(this,ds,void 0),yo(this,us,t),yo(this,ds,n),yo(this,fs,r)}get ok(){return ho(this,us)}get error(){return ho(this,ds)}get val(){return ho(this,fs)}};us=new WeakMap,fs=new WeakMap,ds=new WeakMap;const ie=e=>new ta(!0,e),G=(e,...t)=>{if(typeof e=="string"&&t&&t.length>0){let r=[e,...t].map(n=>{if(n){if(n instanceof Error)return n.message;if(typeof n=="string")return n;if(n!=null&&n.toString)return n.toString()}});return new ta(!1,null,r.filter(n=>n!==void 0).join(" "))}return new ta(!1,null,e)};var Ce=(e=>(e.Idle="Idle",e.Initiate="Initiate",e.Redeem="Redeem",e.Refund="Refund",e))(Ce||{});const ih="1.0.8";let yt=class ra extends Error{constructor(t,r={}){var o;const n=r.cause instanceof ra?r.cause.details:(o=r.cause)!=null&&o.message?r.cause.message:r.details,i=r.cause instanceof ra&&r.cause.docsPath||r.docsPath,s=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...n?[`Details: ${n}`]:[],`Version: abitype@${ih}`].join(`
|
|
2
|
+
`);super(s),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),r.cause&&(this.cause=r.cause),this.details=n,this.docsPath=i,this.metaMessages=r.metaMessages,this.shortMessage=t}};function Jt(e,t){const r=e.exec(t);return r==null?void 0:r.groups}const uf=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ff=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,df=/^\(.+?\).*?$/,Cc=/^tuple(?<array>(\[(\d*)\])*)$/;function na(e){let t=e.type;if(Cc.test(e.type)&&"components"in e){t="(";const r=e.components.length;for(let i=0;i<r;i++){const s=e.components[i];t+=na(s),i<r-1&&(t+=", ")}const n=Jt(Cc,e.type);return t+=`)${(n==null?void 0:n.array)??""}`,na({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Cn(e){let t="";const r=e.length;for(let n=0;n<r;n++){const i=e[n];t+=na(i),n!==r-1&&(t+=", ")}return t}function sh(e){var t;return e.type==="function"?`function ${e.name}(${Cn(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${(t=e.outputs)!=null&&t.length?` returns (${Cn(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${Cn(e.inputs)})`:e.type==="error"?`error ${e.name}(${Cn(e.inputs)})`:e.type==="constructor"?`constructor(${Cn(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}const lf=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function oh(e){return lf.test(e)}function ah(e){return Jt(lf,e)}const hf=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function ch(e){return hf.test(e)}function uh(e){return Jt(hf,e)}const pf=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function fh(e){return pf.test(e)}function dh(e){return Jt(pf,e)}const yf=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function mf(e){return yf.test(e)}function lh(e){return Jt(yf,e)}const bf=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function hh(e){return bf.test(e)}function ph(e){return Jt(bf,e)}const gf=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function yh(e){return gf.test(e)}function mh(e){return Jt(gf,e)}const bh=/^receive\(\) external payable$/;function gh(e){return bh.test(e)}const wh=new Set(["indexed"]),ia=new Set(["calldata","memory","storage"]);class _h extends yt{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}}class vh extends yt{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}class Eh extends yt{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class xh extends yt{constructor({param:t,name:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}}class Ah extends yt{constructor({param:t,type:r,modifier:n}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${n}" not allowed${r?` in "${r}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class Sh extends yt{constructor({param:t,type:r,modifier:n}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${n}" not allowed${r?` in "${r}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${n}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class Ph extends yt{constructor({abiParameter:t}){super("Invalid ABI parameter.",{details:JSON.stringify(t,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class xn extends yt{constructor({signature:t,type:r}){super(`Invalid ${r} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class Th extends yt{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class kh extends yt{constructor({signature:t}){super("Invalid struct signature.",{details:t,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}class Ih extends yt{constructor({type:t}){super("Circular reference detected.",{metaMessages:[`Struct "${t}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}class Bh extends yt{constructor({current:t,depth:r}){super("Unbalanced parentheses.",{metaMessages:[`"${t.trim()}" has too many ${r>0?"opening":"closing"} parentheses.`],details:`Depth "${r}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}function Ch(e,t,r){let n="";if(r)for(const i of Object.entries(r)){if(!i)continue;let s="";for(const o of i[1])s+=`[${o.type}${o.name?`:${o.name}`:""}]`;n+=`(${i[0]}{${s}})`}return t?`${t}:${e}${n}`:e}const mo=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function Oh(e,t={}){if(fh(e))return Rh(e,t);if(ch(e))return Fh(e,t);if(oh(e))return Uh(e,t);if(hh(e))return Nh(e,t);if(yh(e))return Lh(e);if(gh(e))return{type:"receive",stateMutability:"payable"};throw new Th({signature:e})}function Rh(e,t={}){const r=dh(e);if(!r)throw new xn({signature:e,type:"function"});const n=gt(r.parameters),i=[],s=n.length;for(let a=0;a<s;a++)i.push(Rr(n[a],{modifiers:ia,structs:t,type:"function"}));const o=[];if(r.returns){const a=gt(r.returns),c=a.length;for(let f=0;f<c;f++)o.push(Rr(a[f],{modifiers:ia,structs:t,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:i,outputs:o}}function Fh(e,t={}){const r=uh(e);if(!r)throw new xn({signature:e,type:"event"});const n=gt(r.parameters),i=[],s=n.length;for(let o=0;o<s;o++)i.push(Rr(n[o],{modifiers:wh,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:i}}function Uh(e,t={}){const r=ah(e);if(!r)throw new xn({signature:e,type:"error"});const n=gt(r.parameters),i=[],s=n.length;for(let o=0;o<s;o++)i.push(Rr(n[o],{structs:t,type:"error"}));return{name:r.name,type:"error",inputs:i}}function Nh(e,t={}){const r=ph(e);if(!r)throw new xn({signature:e,type:"constructor"});const n=gt(r.parameters),i=[],s=n.length;for(let o=0;o<s;o++)i.push(Rr(n[o],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:i}}function Lh(e){const t=mh(e);if(!t)throw new xn({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}const Mh=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,$h=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Hh=/^u?int$/;function Rr(e,t){var h,y;const r=Ch(e,t==null?void 0:t.type,t==null?void 0:t.structs);if(mo.has(r))return mo.get(r);const n=df.test(e),i=Jt(n?$h:Mh,e);if(!i)throw new Eh({param:e});if(i.name&&jh(i.name))throw new xh({param:e,name:i.name});const s=i.name?{name:i.name}:{},o=i.modifier==="indexed"?{indexed:!0}:{},a=(t==null?void 0:t.structs)??{};let c,f={};if(n){c="tuple";const p=gt(i.type),g=[],_=p.length;for(let x=0;x<_;x++)g.push(Rr(p[x],{structs:a}));f={components:g}}else if(i.type in a)c="tuple",f={components:a[i.type]};else if(Hh.test(i.type))c=`${i.type}256`;else if(c=i.type,(t==null?void 0:t.type)!=="struct"&&!wf(c))throw new vh({type:c});if(i.modifier){if(!((y=(h=t==null?void 0:t.modifiers)==null?void 0:h.has)!=null&&y.call(h,i.modifier)))throw new Ah({param:e,type:t==null?void 0:t.type,modifier:i.modifier});if(ia.has(i.modifier)&&!Gh(c,!!i.array))throw new Sh({param:e,type:t==null?void 0:t.type,modifier:i.modifier})}const l={type:`${c}${i.array??""}`,...s,...o,...f};return mo.set(r,l),l}function gt(e,t=[],r="",n=0){const i=e.trim().length;for(let s=0;s<i;s++){const o=e[s],a=e.slice(s+1);switch(o){case",":return n===0?gt(a,[...t,r.trim()]):gt(a,t,`${r}${o}`,n);case"(":return gt(a,t,`${r}${o}`,n+1);case")":return gt(a,t,`${r}${o}`,n-1);default:return gt(a,t,`${r}${o}`,n)}}if(r==="")return t;if(n!==0)throw new Bh({current:r,depth:n});return t.push(r.trim()),t}function wf(e){return e==="address"||e==="bool"||e==="function"||e==="string"||uf.test(e)||ff.test(e)}const Dh=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function jh(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||uf.test(e)||ff.test(e)||Dh.test(e)}function Gh(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}function zh(e){const t={},r=e.length;for(let o=0;o<r;o++){const a=e[o];if(!mf(a))continue;const c=lh(a);if(!c)throw new xn({signature:a,type:"struct"});const f=c.properties.split(";"),l=[],h=f.length;for(let y=0;y<h;y++){const g=f[y].trim();if(!g)continue;const _=Rr(g,{type:"struct"});l.push(_)}if(!l.length)throw new kh({signature:a});t[c.name]=l}const n={},i=Object.entries(t),s=i.length;for(let o=0;o<s;o++){const[a,c]=i[o];n[a]=_f(c,t)}return n}const qh=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function _f(e,t,r=new Set){const n=[],i=e.length;for(let s=0;s<i;s++){const o=e[s];if(df.test(o.type))n.push(o);else{const c=Jt(qh,o.type);if(!(c!=null&&c.type))throw new Ph({abiParameter:o});const{array:f,type:l}=c;if(l in t){if(r.has(l))throw new Ih({type:l});n.push({...o,type:`tuple${f??""}`,components:_f(t[l]??[],t,new Set([...r,l]))})}else if(wf(l))n.push(o);else throw new _h({type:l})}}return n}function vf(e){const t=zh(e),r=[],n=e.length;for(let i=0;i<n;i++){const s=e[i];mf(s)||r.push(Oh(s,t))}return r}function oe(e,t,r){const n=e[t.name];if(typeof n=="function")return n;const i=e[r];return typeof i=="function"?i:s=>t(e,s)}function Bt(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new s0(e.type);return`${e.name}(${Cs(e.inputs,{includeName:t})})`}function Cs(e,{includeName:t=!1}={}){return e?e.map(r=>Vh(r,{includeName:t})).join(t?", ":","):""}function Vh(e,{includeName:t}){return e.type.startsWith("tuple")?`(${Cs(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}function qt(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Ie(e){return qt(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}const Ef="2.28.0";let On={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${Ef}`};class L extends Error{constructor(t,r={}){var a;const n=(()=>{var c;return r.cause instanceof L?r.cause.details:(c=r.cause)!=null&&c.message?r.cause.message:r.details})(),i=r.cause instanceof L&&r.cause.docsPath||r.docsPath,s=(a=On.getDocsUrl)==null?void 0:a.call(On,{...r,docsPath:i}),o=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...n?[`Details: ${n}`]:[],...On.version?[`Version: ${On.version}`]:[]].join(`
|
|
3
|
+
`);super(o,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=n,this.docsPath=i,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=t,this.version=Ef}walk(t){return xf(this,t)}}function xf(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?xf(e.cause,t):t?null:e}class Wh extends L{constructor({docsPath:t}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join(`
|
|
4
|
+
`),{docsPath:t,name:"AbiConstructorNotFoundError"})}}class Oc extends L{constructor({docsPath:t}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join(`
|
|
5
|
+
`),{docsPath:t,name:"AbiConstructorParamsNotFoundError"})}}class Af extends L{constructor({data:t,params:r,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`
|
|
6
|
+
`),{metaMessages:[`Params: (${Cs(r,{includeName:!0})})`,`Data: ${t} (${n} bytes)`],name:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t,this.params=r,this.size=n}}class Na extends L{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}}class Kh extends L{constructor({expectedLength:t,givenLength:r,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${t}`,`Given length: ${r}`].join(`
|
|
7
|
+
`),{name:"AbiEncodingArrayLengthMismatchError"})}}class Yh extends L{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${Ie(r)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class Xh extends L{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${r}`].join(`
|
|
8
|
+
`),{name:"AbiEncodingLengthMismatchError"})}}class Jh extends L{constructor(t,{docsPath:r}){super([`Arguments (\`args\`) were provided to "${t}", but "${t}" on the ABI does not contain any parameters (\`inputs\`).`,"Cannot encode error result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the inputs exist on it."].join(`
|
|
9
|
+
`),{docsPath:r,name:"AbiErrorInputsNotFoundError"})}}class Qh extends L{constructor(t,{docsPath:r}={}){super([`Error ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join(`
|
|
10
|
+
`),{docsPath:r,name:"AbiErrorNotFoundError"})}}class Sf extends L{constructor(t,{docsPath:r}){super([`Encoded error signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${t}.`].join(`
|
|
11
|
+
`),{docsPath:r,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=t}}class Zh extends L{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}}class Pf extends L{constructor(t,{docsPath:r}){super([`Encoded event signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${t}.`].join(`
|
|
12
|
+
`),{docsPath:r,name:"AbiEventSignatureNotFoundError"})}}class Rc extends L{constructor(t,{docsPath:r}={}){super([`Event ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(`
|
|
13
|
+
`),{docsPath:r,name:"AbiEventNotFoundError"})}}class ei extends L{constructor(t,{docsPath:r}={}){super([`Function ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
|
|
14
|
+
`),{docsPath:r,name:"AbiFunctionNotFoundError"})}}class Tf extends L{constructor(t,{docsPath:r}){super([`Function "${t}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join(`
|
|
15
|
+
`),{docsPath:r,name:"AbiFunctionOutputsNotFoundError"})}}class e0 extends L{constructor(t,{docsPath:r}){super([`Encoded function signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${t}.`].join(`
|
|
16
|
+
`),{docsPath:r,name:"AbiFunctionSignatureNotFoundError"})}}class t0 extends L{constructor(t,r){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${Bt(t.abiItem)}\`, and`,`\`${r.type}\` in \`${Bt(r.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}class r0 extends L{constructor({expectedSize:t,givenSize:r}){super(`Expected bytes${t}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}}class Es extends L{constructor({abiItem:t,data:r,params:n,size:i}){super([`Data size of ${i} bytes is too small for non-indexed event parameters.`].join(`
|
|
17
|
+
`),{metaMessages:[`Params: (${Cs(n,{includeName:!0})})`,`Data: ${r} (${i} bytes)`],name:"DecodeLogDataMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t,this.data=r,this.params=n,this.size=i}}class La extends L{constructor({abiItem:t,param:r}){super([`Expected a topic for indexed event parameter${r.name?` "${r.name}"`:""} on event "${Bt(t,{includeName:!0})}".`].join(`
|
|
18
|
+
`),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}}class n0 extends L{constructor(t,{docsPath:r}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
|
|
19
|
+
`),{docsPath:r,name:"InvalidAbiEncodingType"})}}class i0 extends L{constructor(t,{docsPath:r}){super([`Type "${t}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(`
|
|
20
|
+
`),{docsPath:r,name:"InvalidAbiDecodingType"})}}class kf extends L{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
|
|
21
|
+
`),{name:"InvalidArrayError"})}}class s0 extends L{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
|
|
22
|
+
`),{name:"InvalidDefinitionTypeError"})}}class o0 extends L{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}class If extends L{constructor({offset:t,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}}class Bf extends L{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}}class Fc extends L{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${r} ${n} long, but is ${t} ${n} long.`,{name:"InvalidBytesLengthError"})}}function An(e,{dir:t,size:r=32}={}){return typeof e=="string"?hr(e,{dir:t,size:r}):a0(e,{dir:t,size:r})}function hr(e,{dir:t,size:r=32}={}){if(r===null)return e;const n=e.replace("0x","");if(n.length>r*2)throw new Bf({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function a0(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new Bf({size:e.length,targetSize:r,type:"bytes"});const n=new Uint8Array(r);for(let i=0;i<r;i++){const s=t==="right";n[s?i:r-i-1]=e[s?i:e.length-i-1]}return n}class Cf extends L{constructor({max:t,min:r,signed:n,size:i,value:s}){super(`Number "${s}" is not in safe ${i?`${i*8}-bit ${n?"signed":"unsigned"} `:""}integer range ${t?`(${r} to ${t})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}}class c0 extends L{constructor(t){super(`Bytes value "${t}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}}class u0 extends L{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function Fr(e,{dir:t="left"}={}){let r=typeof e=="string"?e.replace("0x",""):e,n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),typeof e=="string"?(r.length===1&&t==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}function Ct(e,{size:t}){if(Ie(e)>t)throw new u0({givenSize:Ie(e),maxSize:t})}function pt(e,t={}){const{signed:r}=t;t.size&&Ct(e,{size:t.size});const n=BigInt(e);if(!r)return n;const i=(e.length-2)/2,s=(1n<<BigInt(i)*8n-1n)-1n;return n<=s?n:n-BigInt(`0x${"f".padStart(i*2,"f")}`)-1n}function Vt(e,t={}){return Number(pt(e,t))}const f0=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function J(e,t={}){return typeof e=="number"||typeof e=="bigint"?Q(e,t):typeof e=="string"?Os(e,t):typeof e=="boolean"?Of(e,t):Ze(e,t)}function Of(e,t={}){const r=`0x${Number(e)}`;return typeof t.size=="number"?(Ct(r,{size:t.size}),An(r,{size:t.size})):r}function Ze(e,t={}){let r="";for(let i=0;i<e.length;i++)r+=f0[e[i]];const n=`0x${r}`;return typeof t.size=="number"?(Ct(n,{size:t.size}),An(n,{dir:"right",size:t.size})):n}function Q(e,t={}){const{signed:r,size:n}=t,i=BigInt(e);let s;n?r?s=(1n<<BigInt(n)*8n-1n)-1n:s=2n**(BigInt(n)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof s=="bigint"&&r?-s-1n:0;if(s&&i>s||i<o){const c=typeof e=="bigint"?"n":"";throw new Cf({max:s?`${s}${c}`:void 0,min:`${o}${c}`,signed:r,size:n,value:`${e}${c}`})}const a=`0x${(r&&i<0?(1n<<BigInt(n*8))+BigInt(i):i).toString(16)}`;return n?An(a,{size:n}):a}const d0=new TextEncoder;function Os(e,t={}){const r=d0.encode(e);return Ze(r,t)}const l0=new TextEncoder;function Ci(e,t={}){return typeof e=="number"||typeof e=="bigint"?p0(e,t):typeof e=="boolean"?h0(e,t):qt(e)?Wt(e,t):Rf(e,t)}function h0(e,t={}){const r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(Ct(r,{size:t.size}),An(r,{size:t.size})):r}const Ft={zero:48,nine:57,A:65,F:70,a:97,f:102};function Uc(e){if(e>=Ft.zero&&e<=Ft.nine)return e-Ft.zero;if(e>=Ft.A&&e<=Ft.F)return e-(Ft.A-10);if(e>=Ft.a&&e<=Ft.f)return e-(Ft.a-10)}function Wt(e,t={}){let r=e;t.size&&(Ct(r,{size:t.size}),r=An(r,{dir:"right",size:t.size}));let n=r.slice(2);n.length%2&&(n=`0${n}`);const i=n.length/2,s=new Uint8Array(i);for(let o=0,a=0;o<i;o++){const c=Uc(n.charCodeAt(a++)),f=Uc(n.charCodeAt(a++));if(c===void 0||f===void 0)throw new L(`Invalid byte sequence ("${n[a-2]}${n[a-1]}" in "${n}").`);s[o]=c*16+f}return s}function p0(e,t){const r=Q(e,t);return Wt(r)}function Rf(e,t={}){const r=l0.encode(e);return typeof t.size=="number"?(Ct(r,{size:t.size}),An(r,{dir:"right",size:t.size})):r}function xs(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function y0(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Oi(e,...t){if(!y0(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 m0(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");xs(e.outputLen),xs(e.blockLen)}function ti(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Ff(e,t){Oi(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}const Yi=BigInt(2**32-1),Nc=BigInt(32);function b0(e,t=!1){return t?{h:Number(e&Yi),l:Number(e>>Nc&Yi)}:{h:Number(e>>Nc&Yi)|0,l:Number(e&Yi)|0}}function g0(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:s,l:o}=b0(e[i],t);[r[i],n[i]]=[s,o]}return[r,n]}const w0=(e,t,r)=>e<<r|t>>>32-r,_0=(e,t,r)=>t<<r|e>>>32-r,v0=(e,t,r)=>t<<r-32|e>>>64-r,E0=(e,t,r)=>e<<r-32|t>>>64-r,Kr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function x0(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function bo(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function vt(e,t){return e<<32-t|e>>>t}const Lc=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function A0(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Mc(e){for(let t=0;t<e.length;t++)e[t]=A0(e[t])}typeof Uint8Array.from([]).toHex=="function"&&Uint8Array.fromHex;function S0(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function Rs(e){return typeof e=="string"&&(e=S0(e)),Oi(e),e}function P0(...e){let t=0;for(let n=0;n<e.length;n++){const i=e[n];Oi(i),t+=i.length}const r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){const s=e[n];r.set(s,i),i+=s.length}return r}let Ma=class{clone(){return this._cloneInto()}};function Uf(e){const t=n=>e().update(Rs(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function T0(e=32){if(Kr&&typeof Kr.getRandomValues=="function")return Kr.getRandomValues(new Uint8Array(e));if(Kr&&typeof Kr.randomBytes=="function")return Uint8Array.from(Kr.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}const Nf=[],Lf=[],Mf=[],k0=BigInt(0),Rn=BigInt(1),I0=BigInt(2),B0=BigInt(7),C0=BigInt(256),O0=BigInt(113);for(let e=0,t=Rn,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Nf.push(2*(5*n+r)),Lf.push((e+1)*(e+2)/2%64);let i=k0;for(let s=0;s<7;s++)t=(t<<Rn^(t>>B0)*O0)%C0,t&I0&&(i^=Rn<<(Rn<<BigInt(s))-Rn);Mf.push(i)}const[R0,F0]=g0(Mf,!0),$c=(e,t,r)=>r>32?v0(e,t,r):w0(e,t,r),Hc=(e,t,r)=>r>32?E0(e,t,r):_0(e,t,r);function U0(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let o=0;o<10;o++)r[o]=e[o]^e[o+10]^e[o+20]^e[o+30]^e[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,f=r[c],l=r[c+1],h=$c(f,l,1)^r[a],y=Hc(f,l,1)^r[a+1];for(let p=0;p<50;p+=10)e[o+p]^=h,e[o+p+1]^=y}let i=e[2],s=e[3];for(let o=0;o<24;o++){const a=Lf[o],c=$c(i,s,a),f=Hc(i,s,a),l=Nf[o];i=e[l],s=e[l+1],e[l]=c,e[l+1]=f}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)r[a]=e[o+a];for(let a=0;a<10;a++)e[o+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=R0[n],e[1]^=F0[n]}r.fill(0)}class $a extends Ma{constructor(t,r,n,i=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=r,this.outputLen=n,this.enableXOF=i,this.rounds=s,xs(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=x0(this.state)}keccak(){Lc||Mc(this.state32),U0(this.state32,this.rounds),Lc||Mc(this.state32),this.posOut=0,this.pos=0}update(t){ti(this);const{blockLen:r,state:n}=this;t=Rs(t);const i=t.length;for(let s=0;s<i;){const o=Math.min(r-this.pos,i-s);for(let a=0;a<o;a++)n[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:r,pos:n,blockLen:i}=this;t[n]^=r,r&128&&n===i-1&&this.keccak(),t[i-1]^=128,this.keccak()}writeInto(t){ti(this,!1),Oi(t),this.finish();const r=this.state,{blockLen:n}=this;for(let i=0,s=t.length;i<s;){this.posOut>=n&&this.keccak();const o=Math.min(n-this.posOut,s-i);t.set(r.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return xs(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Ff(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:r,suffix:n,outputLen:i,rounds:s,enableXOF:o}=this;return t||(t=new $a(r,n,i,o,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=n,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}}const N0=(e,t,r)=>Uf(()=>new $a(t,e,r)),L0=N0(1,136,256/8);function Sn(e,t){const r=t||"hex",n=L0(qt(e,{strict:!1})?Ci(e):e);return r==="bytes"?n:J(n)}const M0=e=>Sn(Ci(e));function $0(e){return M0(e)}function H0(e){let t=!0,r="",n=0,i="",s=!1;for(let o=0;o<e.length;o++){const a=e[o];if(["(",")",","].includes(a)&&(t=!0),a==="("&&n++,a===")"&&n--,!!t){if(n===0){if(a===" "&&["event","function",""].includes(i))i="";else if(i+=a,a===")"){s=!0;break}continue}if(a===" "){e[o-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}i+=a,r+=a}}if(!s)throw new L("Unable to normalize signature.");return i}const D0=e=>{const t=typeof e=="string"?e:sh(e);return H0(t)};function $f(e){return $0(D0(e))}const Fs=$f;class et extends L{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class Us extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}const go=new Us(8192);function Ri(e,t){if(go.has(`${e}.${t}`))return go.get(`${e}.${t}`);const r=e.substring(2).toLowerCase(),n=Sn(Rf(r),"bytes"),i=r.split("");for(let o=0;o<40;o+=2)n[o>>1]>>4>=8&&i[o]&&(i[o]=i[o].toUpperCase()),(n[o>>1]&15)>=8&&i[o+1]&&(i[o+1]=i[o+1].toUpperCase());const s=`0x${i.join("")}`;return go.set(`${e}.${t}`,s),s}function j0(e,t){if(!Ue(e,{strict:!1}))throw new et({address:e});return Ri(e,t)}const G0=/^0x[a-fA-F0-9]{40}$/,wo=new Us(8192);function Ue(e,t){const{strict:r=!0}=t??{},n=`${e}.${r}`;if(wo.has(n))return wo.get(n);const i=G0.test(e)?e.toLowerCase()===e?!0:r?Ri(e)===e:!0:!1;return wo.set(n,i),i}function Ur(e){return typeof e[0]=="string"?Ot(e):z0(e)}function z0(e){let t=0;for(const i of e)t+=i.length;const r=new Uint8Array(t);let n=0;for(const i of e)r.set(i,n),n+=i.length;return r}function Ot(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function hn(e,t,r,{strict:n}={}){return qt(e,{strict:!1})?q0(e,t,r,{strict:n}):jf(e,t,r,{strict:n})}function Hf(e,t){if(typeof t=="number"&&t>0&&t>Ie(e)-1)throw new If({offset:t,position:"start",size:Ie(e)})}function Df(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Ie(e)!==r-t)throw new If({offset:r,position:"end",size:Ie(e)})}function jf(e,t,r,{strict:n}={}){Hf(e,t);const i=e.slice(t,r);return n&&Df(i,t,r),i}function q0(e,t,r,{strict:n}={}){Hf(e,t);const i=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&Df(i,t,r),i}const V0=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Gf=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function Ns(e,t){if(e.length!==t.length)throw new Xh({expectedLength:e.length,givenLength:t.length});const r=W0({params:e,values:t}),n=Da(r);return n.length===0?"0x":n}function W0({params:e,values:t}){const r=[];for(let n=0;n<e.length;n++)r.push(Ha({param:e[n],value:t[n]}));return r}function Ha({param:e,value:t}){const r=ja(e.type);if(r){const[n,i]=r;return Y0(t,{length:n,param:{...e,type:i}})}if(e.type==="tuple")return ep(t,{param:e});if(e.type==="address")return K0(t);if(e.type==="bool")return J0(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){const n=e.type.startsWith("int"),[,,i="256"]=Gf.exec(e.type)??[];return Q0(t,{signed:n,size:Number(i)})}if(e.type.startsWith("bytes"))return X0(t,{param:e});if(e.type==="string")return Z0(t);throw new n0(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function Da(e){let t=0;for(let s=0;s<e.length;s++){const{dynamic:o,encoded:a}=e[s];o?t+=32:t+=Ie(a)}const r=[],n=[];let i=0;for(let s=0;s<e.length;s++){const{dynamic:o,encoded:a}=e[s];o?(r.push(Q(t+i,{size:32})),n.push(a),i+=Ie(a)):r.push(a)}return Ur([...r,...n])}function K0(e){if(!Ue(e))throw new et({address:e});return{dynamic:!1,encoded:hr(e.toLowerCase())}}function Y0(e,{length:t,param:r}){const n=t===null;if(!Array.isArray(e))throw new kf(e);if(!n&&e.length!==t)throw new Kh({expectedLength:t,givenLength:e.length,type:`${r.type}[${t}]`});let i=!1;const s=[];for(let o=0;o<e.length;o++){const a=Ha({param:r,value:e[o]});a.dynamic&&(i=!0),s.push(a)}if(n||i){const o=Da(s);if(n){const a=Q(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?Ur([a,o]):a}}if(i)return{dynamic:!0,encoded:o}}return{dynamic:!1,encoded:Ur(s.map(({encoded:o})=>o))}}function X0(e,{param:t}){const[,r]=t.type.split("bytes"),n=Ie(e);if(!r){let i=e;return n%32!==0&&(i=hr(i,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ur([hr(Q(n,{size:32})),i])}}if(n!==Number.parseInt(r))throw new Yh({expectedSize:Number.parseInt(r),value:e});return{dynamic:!1,encoded:hr(e,{dir:"right"})}}function J0(e){if(typeof e!="boolean")throw new L(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:hr(Of(e))}}function Q0(e,{signed:t,size:r=256}){if(typeof r=="number"){const n=2n**(BigInt(r)-(t?1n:0n))-1n,i=t?-n-1n:0n;if(e>n||e<i)throw new Cf({max:n.toString(),min:i.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:Q(e,{size:32,signed:t})}}function Z0(e){const t=Os(e),r=Math.ceil(Ie(t)/32),n=[];for(let i=0;i<r;i++)n.push(hr(hn(t,i*32,(i+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Ur([hr(Q(Ie(t),{size:32})),...n])}}function ep(e,{param:t}){let r=!1;const n=[];for(let i=0;i<t.components.length;i++){const s=t.components[i],o=Array.isArray(e)?i:s.name,a=Ha({param:s,value:e[o]});n.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?Da(n):Ur(n.map(({encoded:i})=>i))}}function ja(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const Ls=e=>hn($f(e),0,4);function Pn(e){const{abi:t,args:r=[],name:n}=e,i=qt(n,{strict:!1}),s=t.filter(a=>i?a.type==="function"?Ls(a)===n:a.type==="event"?Fs(a)===n:!1:"name"in a&&a.name===n);if(s.length===0)return;if(s.length===1)return s[0];let o;for(const a of s){if(!("inputs"in a))continue;if(!r||r.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==r.length)continue;if(r.every((f,l)=>{const h="inputs"in a&&a.inputs[l];return h?sa(f,h):!1})){if(o&&"inputs"in o&&o.inputs){const f=zf(a.inputs,o.inputs,r);if(f)throw new t0({abiItem:a,type:f[0]},{abiItem:o,type:f[1]})}o=a}}return o||s[0]}function sa(e,t){const r=typeof e,n=t.type;switch(n){case"address":return Ue(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in t?Object.values(t.components).every((i,s)=>sa(Object.values(e)[s],i)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n)?r==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(e)&&e.every(i=>sa(i,{...t,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function zf(e,t,r){for(const n in e){const i=e[n],s=t[n];if(i.type==="tuple"&&s.type==="tuple"&&"components"in i&&"components"in s)return zf(i.components,s.components,r[n]);const o=[i.type,s.type];if(o.includes("address")&&o.includes("bytes20")?!0:o.includes("address")&&o.includes("string")?Ue(r[n],{strict:!1}):o.includes("address")&&o.includes("bytes")?Ue(r[n],{strict:!1}):!1)return o}}const Dc="/docs/contract/encodeEventTopics";function Ga(e){var c;const{abi:t,eventName:r,args:n}=e;let i=t[0];if(r){const f=Pn({abi:t,name:r});if(!f)throw new Rc(r,{docsPath:Dc});i=f}if(i.type!=="event")throw new Rc(void 0,{docsPath:Dc});const s=Bt(i),o=Fs(s);let a=[];if(n&&"inputs"in i){const f=(c=i.inputs)==null?void 0:c.filter(h=>"indexed"in h&&h.indexed),l=Array.isArray(n)?n:Object.values(n).length>0?(f==null?void 0:f.map(h=>n[h.name]))??[]:[];l.length>0&&(a=(f==null?void 0:f.map((h,y)=>Array.isArray(l[y])?l[y].map((p,g)=>jc({param:h,value:l[y][g]})):typeof l[y]<"u"&&l[y]!==null?jc({param:h,value:l[y]}):null))??[])}return[o,...a]}function jc({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return Sn(Ci(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new o0(e.type);return Ns([e],[t])}function tp(e,{method:t}){var n,i;const r={};return e.transport.type==="fallback"&&((i=(n=e.transport).onResponse)==null||i.call(n,({method:s,response:o,status:a,transport:c})=>{a==="success"&&t===s&&(r[o]=c.request)})),s=>r[s]||e.request}async function qf(e,t){const{address:r,abi:n,args:i,eventName:s,fromBlock:o,strict:a,toBlock:c}=t,f=tp(e,{method:"eth_newFilter"}),l=s?Ga({abi:n,args:i,eventName:s}):void 0,h=await e.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof o=="bigint"?Q(o):o,toBlock:typeof c=="bigint"?Q(c):c,topics:l}]});return{abi:n,args:i,eventName:s,id:h,request:f(h),strict:!!a,type:"event"}}function Ne(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}const Gc="/docs/contract/encodeFunctionData";function rp(e){const{abi:t,args:r,functionName:n}=e;let i=t[0];if(n){const s=Pn({abi:t,args:r,name:n});if(!s)throw new ei(n,{docsPath:Gc});i=s}if(i.type!=="function")throw new ei(void 0,{docsPath:Gc});return{abi:[i],functionName:Ls(Bt(i))}}function Tn(e){const{args:t}=e,{abi:r,functionName:n}=(()=>{var a;return e.abi.length===1&&((a=e.functionName)!=null&&a.startsWith("0x"))?e:rp(e)})(),i=r[0],s=n,o="inputs"in i&&i.inputs?Ns(i.inputs,t??[]):void 0;return Ot([s,o??"0x"])}const np={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},Vf={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},ip={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"};class zc extends L{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class Wf extends L{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class sp extends L{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const op={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new sp({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Wf({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new zc({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new zc({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function za(e,{recursiveReadLimit:t=8192}={}){const r=Object.create(op);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}function ap(e,t={}){typeof t.size<"u"&&Ct(e,{size:t.size});const r=Ze(e,t);return pt(r,t)}function cp(e,t={}){let r=e;if(typeof t.size<"u"&&(Ct(r,{size:t.size}),r=Fr(r)),r.length>1||r[0]>1)throw new c0(r);return!!r[0]}function jt(e,t={}){typeof t.size<"u"&&Ct(e,{size:t.size});const r=Ze(e,t);return Vt(r,t)}function up(e,t={}){let r=e;return typeof t.size<"u"&&(Ct(r,{size:t.size}),r=Fr(r,{dir:"right"})),new TextDecoder().decode(r)}function Fi(e,t){const r=typeof t=="string"?Wt(t):t,n=za(r);if(Ie(r)===0&&e.length>0)throw new Na;if(Ie(t)&&Ie(t)<32)throw new Af({data:typeof t=="string"?t:Ze(t),params:e,size:Ie(t)});let i=0;const s=[];for(let o=0;o<e.length;++o){const a=e[o];n.setPosition(i);const[c,f]=sn(n,a,{staticPosition:0});i+=f,s.push(c)}return s}function sn(e,t,{staticPosition:r}){const n=ja(t.type);if(n){const[i,s]=n;return dp(e,{...t,type:s},{length:i,staticPosition:r})}if(t.type==="tuple")return yp(e,t,{staticPosition:r});if(t.type==="address")return fp(e);if(t.type==="bool")return lp(e);if(t.type.startsWith("bytes"))return hp(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return pp(e,t);if(t.type==="string")return mp(e,{staticPosition:r});throw new i0(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}const qc=32,oa=32;function fp(e){const t=e.readBytes(32);return[Ri(Ze(jf(t,-20))),32]}function dp(e,t,{length:r,staticPosition:n}){if(!r){const o=jt(e.readBytes(oa)),a=n+o,c=a+qc;e.setPosition(a);const f=jt(e.readBytes(qc)),l=ri(t);let h=0;const y=[];for(let p=0;p<f;++p){e.setPosition(c+(l?p*32:h));const[g,_]=sn(e,t,{staticPosition:c});h+=_,y.push(g)}return e.setPosition(n+32),[y,32]}if(ri(t)){const o=jt(e.readBytes(oa)),a=n+o,c=[];for(let f=0;f<r;++f){e.setPosition(a+f*32);const[l]=sn(e,t,{staticPosition:a});c.push(l)}return e.setPosition(n+32),[c,32]}let i=0;const s=[];for(let o=0;o<r;++o){const[a,c]=sn(e,t,{staticPosition:n+i});i+=c,s.push(a)}return[s,i]}function lp(e){return[cp(e.readBytes(32),{size:32}),32]}function hp(e,t,{staticPosition:r}){const[n,i]=t.type.split("bytes");if(!i){const o=jt(e.readBytes(32));e.setPosition(r+o);const a=jt(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];const c=e.readBytes(a);return e.setPosition(r+32),[Ze(c),32]}return[Ze(e.readBytes(Number.parseInt(i),32)),32]}function pp(e,t){const r=t.type.startsWith("int"),n=Number.parseInt(t.type.split("int")[1]||"256"),i=e.readBytes(32);return[n>48?ap(i,{signed:r}):jt(i,{signed:r}),32]}function yp(e,t,{staticPosition:r}){const n=t.components.length===0||t.components.some(({name:o})=>!o),i=n?[]:{};let s=0;if(ri(t)){const o=jt(e.readBytes(oa)),a=r+o;for(let c=0;c<t.components.length;++c){const f=t.components[c];e.setPosition(a+s);const[l,h]=sn(e,f,{staticPosition:a});s+=h,i[n?c:f==null?void 0:f.name]=l}return e.setPosition(r+32),[i,32]}for(let o=0;o<t.components.length;++o){const a=t.components[o],[c,f]=sn(e,a,{staticPosition:r});i[n?o:a==null?void 0:a.name]=c,s+=f}return[i,s]}function mp(e,{staticPosition:t}){const r=jt(e.readBytes(32)),n=t+r;e.setPosition(n);const i=jt(e.readBytes(32));if(i===0)return e.setPosition(t+32),["",32];const s=e.readBytes(i,32),o=up(Fr(s));return e.setPosition(t+32),[o,32]}function ri(e){var n;const{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return(n=e.components)==null?void 0:n.some(ri);const r=ja(e.type);return!!(r&&ri({...e,type:r[1]}))}function Kf(e){const{abi:t,data:r}=e,n=hn(r,0,4);if(n==="0x")throw new Na;const s=[...t||[],Vf,ip].find(o=>o.type==="error"&&n===Ls(Bt(o)));if(!s)throw new Sf(n,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Fi(s.inputs,hn(r,4)):void 0,errorName:s.name}}const rt=(e,t,r)=>JSON.stringify(e,(n,i)=>typeof i=="bigint"?i.toString():i,r);function Yf({abiItem:e,args:t,includeFunctionName:r=!0,includeName:n=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${r?e.name:""}(${e.inputs.map((i,s)=>`${n&&i.name?`${i.name}: `:""}${typeof t[s]=="object"?rt(t[s]):t[s]}`).join(", ")})`}const bp={gwei:9,wei:18},gp={ether:-9,wei:9};function Xf(e,t){let r=e.toString();const n=r.startsWith("-");n&&(r=r.slice(1)),r=r.padStart(t,"0");let[i,s]=[r.slice(0,r.length-t),r.slice(r.length-t)];return s=s.replace(/(0+)$/,""),`${n?"-":""}${i||"0"}${s?`.${s}`:""}`}function qa(e,t="wei"){return Xf(e,bp[t])}function nt(e,t="wei"){return Xf(e,gp[t])}class wp extends L{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}}class _p extends L{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function Vc(e){return e.reduce((t,{slot:r,value:n})=>`${t} ${r}: ${n}
|
|
23
|
+
`,"")}function vp(e){return e.reduce((t,{address:r,...n})=>{let i=`${t} ${r}:
|
|
24
24
|
`;return n.nonce&&(i+=` nonce: ${n.nonce}
|
|
25
25
|
`),n.balance&&(i+=` balance: ${n.balance}
|
|
26
26
|
`),n.code&&(i+=` code: ${n.code}
|
|
27
27
|
`),n.state&&(i+=` state:
|
|
28
|
-
`,i+=
|
|
29
|
-
`,i+=
|
|
28
|
+
`,i+=Vc(n.state)),n.stateDiff&&(i+=` stateDiff:
|
|
29
|
+
`,i+=Vc(n.stateDiff)),i},` State Override:
|
|
30
30
|
`).slice(0,-1)}function Ui(e){const t=Object.entries(e).map(([n,i])=>i===void 0||i===!1?null:[n,i]).filter(Boolean),r=t.reduce((n,[i])=>Math.max(n,i.length),0);return t.map(([n,i])=>` ${`${n}:`.padEnd(r+1)} ${i}`).join(`
|
|
31
|
-
`)}class
|
|
32
|
-
`),{name:"FeeConflictError"})}}class
|
|
33
|
-
${
|
|
34
|
-
`):`The contract function "${n}" reverted.`,{cause:s,metaMessages:a,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=o,this.raw=r,this.reason=c,this.signature=f}}class
|
|
35
|
-
`)})}}Object.defineProperty(
|
|
36
|
-
`)})}}Object.defineProperty(pn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class oi extends it{constructor(t){super(t,{code:oi.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(oi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class ai extends it{constructor(t){super(t,{code:ai.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}}Object.defineProperty(ai,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class ci extends it{constructor(t){super(t,{code:ci.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}}Object.defineProperty(ci,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class Ir extends it{constructor(t,{method:r}={}){super(t,{code:Ir.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}}Object.defineProperty(Ir,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class yn extends it{constructor(t){super(t,{code:yn.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}}Object.defineProperty(yn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class ui extends it{constructor(t){super(t,{code:ui.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}}Object.defineProperty(ui,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class an extends ct{constructor(t){super(t,{code:an.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}}Object.defineProperty(an,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class fi extends ct{constructor(t){super(t,{code:fi.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}}Object.defineProperty(fi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class di extends ct{constructor(t,{method:r}={}){super(t,{code:di.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}}Object.defineProperty(di,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class li extends ct{constructor(t){super(t,{code:li.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}}Object.defineProperty(li,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class hi extends ct{constructor(t){super(t,{code:hi.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}}Object.defineProperty(hi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class pi extends ct{constructor(t){super(t,{code:pi.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}}Object.defineProperty(pi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class yi extends ct{constructor(t){super(t,{code:yi.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty(yi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class mi extends ct{constructor(t){super(t,{code:mi.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}}Object.defineProperty(mi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});class bi extends ct{constructor(t){super(t,{code:bi.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}}Object.defineProperty(bi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});class gi extends ct{constructor(t){super(t,{code:gi.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}}Object.defineProperty(gi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});class wi extends ct{constructor(t){super(t,{code:wi.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}}Object.defineProperty(wi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});class _i extends ct{constructor(t){super(t,{code:_i.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}}Object.defineProperty(_i,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});class vi extends ct{constructor(t){super(t,{code:vi.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(vi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});class Rp extends it{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}const Up=3;function Ms(e,{abi:t,address:r,args:n,docsPath:i,functionName:s,sender:o}){const a=e instanceof Xf?e:e instanceof L?e.walk(g=>"data"in g)||e.walk():{},{code:c,data:f,details:l,message:h,shortMessage:y}=a,p=e instanceof Fa?new Bp({functionName:s}):[Up,Nr.code].includes(c)&&(f||l||h||y)?new Ip({abi:t,data:typeof f=="object"?f.data:f,functionName:s,message:a instanceof qa?l:y??h}):e;return new kp(p,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:s,sender:o})}function Fp(e){const t=An(`0x${e.substring(4)}`).substring(26);return Oi(`0x${t}`)}async function Np({hash:e,signature:t}){const r=qt(e)?e:J(e),{secp256k1:n}=await Promise.resolve().then(()=>require("./secp256k1-K4G9CZR-.cjs"));return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){const{r:f,s:l,v:h,yParity:y}=t,p=Number(y??h),g=Wc(p);return new n.Signature(pt(f),pt(l)).addRecoveryBit(g)}const o=qt(t)?t:J(t),a=Vt(`0x${o.slice(130)}`),c=Wc(a);return n.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Wc(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw new Error("Invalid yParityOrV value")}async function Lp({hash:e,signature:t}){return Fp(await Np({hash:e,signature:t}))}function mr(e,t="hex"){const r=Jf(e),n=Ga(new Uint8Array(r.length));return r.encode(n),t==="hex"?Ze(n.bytes):n.bytes}function Jf(e){return Array.isArray(e)?Mp(e.map(t=>Jf(t))):$p(e)}function Mp(e){const t=e.reduce((i,s)=>i+s.length,0),r=Qf(t);return{length:t<=55?1+t:1+r+t,encode(i){t<=55?i.pushByte(192+t):(i.pushByte(247+r),r===1?i.pushUint8(t):r===2?i.pushUint16(t):r===3?i.pushUint24(t):i.pushUint32(t));for(const{encode:s}of e)s(i)}}}function $p(e){const t=typeof e=="string"?Wt(e):e,r=Qf(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(i){t.length===1&&t[0]<128?i.pushBytes(t):t.length<=55?(i.pushByte(128+t.length),i.pushBytes(t)):(i.pushByte(183+r),r===1?i.pushUint8(t.length):r===2?i.pushUint16(t.length):r===3?i.pushUint24(t.length):i.pushUint32(t.length),i.pushBytes(t))}}}function Qf(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new L("Length is too large.")}function Hp(e){const{chainId:t,nonce:r,to:n}=e,i=e.contractAddress??e.address,s=An(Ct(["0x05",mr([t?Q(t):"0x",i,r?Q(r):"0x"])]));return n==="bytes"?Wt(s):s}async function Zf(e){const{authorization:t,signature:r}=e;return Lp({hash:Hp(t),signature:r??t})}class Dp extends L{constructor(t,{account:r,docsPath:n,chain:i,data:s,gas:o,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:f,nonce:l,to:h,value:y}){var g;const p=Ui({from:r==null?void 0:r.address,to:h,value:typeof y<"u"&&`${za(y)} ${((g=i==null?void 0:i.nativeCurrency)==null?void 0:g.symbol)||"ETH"}`,data:s,gas:o,gasPrice:typeof a<"u"&&`${nt(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${nt(c)} gwei`,maxPriorityFeePerGas:typeof f<"u"&&`${nt(f)} gwei`,nonce:l});super(t.shortMessage,{cause:t,docsPath:n,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",p].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}class rn extends L{constructor({cause:t,message:r}={}){var i;const n=(i=r==null?void 0:r.replace("execution reverted: ",""))==null?void 0:i.replace("execution reverted","");super(`Execution reverted ${n?`with reason: ${n}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}}Object.defineProperty(rn,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(rn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class Lr extends L{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${nt(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(Lr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class oa extends L{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${nt(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}}Object.defineProperty(oa,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class aa extends L{constructor({cause:t,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}}Object.defineProperty(aa,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class ca extends L{constructor({cause:t,nonce:r}={}){super([`Nonce provided for the transaction ${r?`(${r}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
|
|
37
|
-
`),{cause:t,name:"NonceTooLowError"})}}Object.defineProperty(
|
|
38
|
-
`),{cause:t,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(
|
|
39
|
-
`),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(Ei,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class $s extends L{constructor({cause:t}){super(`An error occurred while executing: ${t==null?void 0:t.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}function Va(e,t){const r=(e.details||"").toLowerCase(),n=e instanceof L?e.walk(i=>(i==null?void 0:i.code)===rn.code):e;return n instanceof L?new rn({cause:e,message:n.details}):rn.nodeMessage.test(r)?new rn({cause:e,message:e.details}):Lr.nodeMessage.test(r)?new Lr({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas}):oa.nodeMessage.test(r)?new oa({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas}):aa.nodeMessage.test(r)?new aa({cause:e,nonce:t==null?void 0:t.nonce}):ca.nodeMessage.test(r)?new ca({cause:e,nonce:t==null?void 0:t.nonce}):ua.nodeMessage.test(r)?new ua({cause:e,nonce:t==null?void 0:t.nonce}):fa.nodeMessage.test(r)?new fa({cause:e}):da.nodeMessage.test(r)?new da({cause:e,gas:t==null?void 0:t.gas}):la.nodeMessage.test(r)?new la({cause:e,gas:t==null?void 0:t.gas}):ha.nodeMessage.test(r)?new ha({cause:e}):Ei.nodeMessage.test(r)?new Ei({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas,maxPriorityFeePerGas:t==null?void 0:t.maxPriorityFeePerGas}):new $s({cause:e})}function jp(e,{docsPath:t,...r}){const n=(()=>{const i=Va(e,r);return i instanceof $s?e:i})();return new Dp(n,{docsPath:t,...r})}function Wa(e,{format:t}){if(!t)return{};const r={};function n(s){const o=Object.keys(s);for(const a of o)a in e&&(r[a]=e[a]),s[a]&&typeof s[a]=="object"&&!Array.isArray(s[a])&&n(s[a])}const i=t(e||{});return n(i),r}function Ka(e,t){return({exclude:r,format:n})=>({exclude:r,format:i=>{const s=t(i);if(r)for(const o of r)delete s[o];return{...s,...n(i)}},type:e})}const Gp={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function Hs(e){const t={};return typeof e.authorizationList<"u"&&(t.authorizationList=zp(e.authorizationList)),typeof e.accessList<"u"&&(t.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(t.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?t.blobs=e.blobs.map(r=>Ze(r)):t.blobs=e.blobs),typeof e.data<"u"&&(t.data=e.data),typeof e.from<"u"&&(t.from=e.from),typeof e.gas<"u"&&(t.gas=Q(e.gas)),typeof e.gasPrice<"u"&&(t.gasPrice=Q(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(t.maxFeePerBlobGas=Q(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(t.maxFeePerGas=Q(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(t.maxPriorityFeePerGas=Q(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(t.nonce=Q(e.nonce)),typeof e.to<"u"&&(t.to=e.to),typeof e.type<"u"&&(t.type=Gp[e.type]),typeof e.value<"u"&&(t.value=Q(e.value)),t}function zp(e){return e.map(t=>({address:t.address,r:t.r?Q(BigInt(t.r)):t.r,s:t.s?Q(BigInt(t.s)):t.s,chainId:Q(t.chainId),nonce:Q(t.nonce),...typeof t.yParity<"u"?{yParity:Q(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:Q(t.v)}:{}}))}function Kc(e){if(!(!e||e.length===0))return e.reduce((t,{slot:r,value:n})=>{if(r.length!==66)throw new Rc({size:r.length,targetSize:66,type:"hex"});if(n.length!==66)throw new Rc({size:n.length,targetSize:66,type:"hex"});return t[r]=n,t},{})}function qp(e){const{balance:t,nonce:r,state:n,stateDiff:i,code:s}=e,o={};if(s!==void 0&&(o.code=s),t!==void 0&&(o.balance=Q(t)),r!==void 0&&(o.nonce=Q(r)),n!==void 0&&(o.state=Kc(n)),i!==void 0){if(o.state)throw new wp;o.stateDiff=Kc(i)}return o}function ed(e){if(!e)return;const t={};for(const{address:r,...n}of e){if(!Fe(r,{strict:!1}))throw new et({address:r});if(t[r])throw new gp({address:r});t[r]=qp(n)}return t}const Ds=2n**256n-1n;function Fi(e){const{account:t,gasPrice:r,maxFeePerGas:n,maxPriorityFeePerGas:i,to:s}=e,o=t?Ne(t):void 0;if(o&&!Fe(o.address))throw new et({address:o.address});if(s&&!Fe(s))throw new et({address:s});if(typeof r<"u"&&(typeof n<"u"||typeof i<"u"))throw new vp;if(n&&n>Ds)throw new Lr({maxFeePerGas:n});if(i&&n&&i>n)throw new Ei({maxFeePerGas:n,maxPriorityFeePerGas:i})}class Vp extends L{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class Ya extends L{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class Wp extends L{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${nt(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class Kp extends L{constructor({blockHash:t,blockNumber:r}){let n="Block";t&&(n=`Block at hash "${t}"`),r&&(n=`Block at number "${r}"`),super(`${n} could not be found.`,{name:"BlockNotFoundError"})}}const td={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Xa(e){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?Vt(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?Vt(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?td[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(t.authorizationList=Xp(e.authorizationList)),t.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof t.v=="bigint"){if(t.v===0n||t.v===27n)return 0;if(t.v===1n||t.v===28n)return 1;if(t.v>=35n)return t.v%2n===0n?1:0}})(),t.type==="legacy"&&(delete t.accessList,delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas,delete t.yParity),t.type==="eip2930"&&(delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas),t.type==="eip1559"&&delete t.maxFeePerBlobGas,t}const Yp=Ka("transaction",Xa);function Xp(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function rd(e){const t=(e.transactions??[]).map(r=>typeof r=="string"?r:Xa(r));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const Jp=Ka("block",rd);async function Es(e,{blockHash:t,blockNumber:r,blockTag:n,includeTransactions:i}={}){var l,h,y;const s=n??"latest",o=i??!1,a=r!==void 0?Q(r):void 0;let c=null;if(t?c=await e.request({method:"eth_getBlockByHash",params:[t,o]},{dedupe:!0}):c=await e.request({method:"eth_getBlockByNumber",params:[a||s,o]},{dedupe:!!a}),!c)throw new Kp({blockHash:t,blockNumber:r});return(((y=(h=(l=e.chain)==null?void 0:l.formatters)==null?void 0:h.block)==null?void 0:y.format)||rd)(c)}async function nd(e){const t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function Qp(e,t){var s,o;const{block:r,chain:n=e.chain,request:i}=t||{};try{const a=((s=n==null?void 0:n.fees)==null?void 0:s.maxPriorityFeePerGas)??((o=n==null?void 0:n.fees)==null?void 0:o.defaultPriorityFee);if(typeof a=="function"){const f=r||await oe(e,Es,"getBlock")({}),l=await a({block:f,client:e,request:i});if(l===null)throw new Error;return l}if(typeof a<"u")return a;const c=await e.request({method:"eth_maxPriorityFeePerGas"});return pt(c)}catch{const[a,c]=await Promise.all([r?Promise.resolve(r):oe(e,Es,"getBlock")({}),oe(e,nd,"getGasPrice")({})]);if(typeof a.baseFeePerGas!="bigint")throw new Ya;const f=c-a.baseFeePerGas;return f<0n?0n:f}}async function Yc(e,t){var y,p;const{block:r,chain:n=e.chain,request:i,type:s="eip1559"}=t||{},o=await(async()=>{var g,_;return typeof((g=n==null?void 0:n.fees)==null?void 0:g.baseFeeMultiplier)=="function"?n.fees.baseFeeMultiplier({block:r,client:e,request:i}):((_=n==null?void 0:n.fees)==null?void 0:_.baseFeeMultiplier)??1.2})();if(o<1)throw new Vp;const c=10**(((y=o.toString().split(".")[1])==null?void 0:y.length)??0),f=g=>g*BigInt(Math.ceil(o*c))/BigInt(c),l=r||await oe(e,Es,"getBlock")({});if(typeof((p=n==null?void 0:n.fees)==null?void 0:p.estimateFeesPerGas)=="function"){const g=await n.fees.estimateFeesPerGas({block:r,client:e,multiply:f,request:i,type:s});if(g!==null)return g}if(s==="eip1559"){if(typeof l.baseFeePerGas!="bigint")throw new Ya;const g=typeof(i==null?void 0:i.maxPriorityFeePerGas)=="bigint"?i.maxPriorityFeePerGas:await Qp(e,{block:l,chain:n,request:i}),_=f(l.baseFeePerGas);return{maxFeePerGas:(i==null?void 0:i.maxFeePerGas)??_+g,maxPriorityFeePerGas:g}}return{gasPrice:(i==null?void 0:i.gasPrice)??f(await oe(e,nd,"getGasPrice")({}))}}async function id(e,{address:t,blockTag:r="latest",blockNumber:n}){const i=await e.request({method:"eth_getTransactionCount",params:[t,n?Q(n):r]},{dedupe:!!n});return Vt(i)}function Ja(e){const{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),n=typeof e.blobs[0]=="string"?e.blobs.map(s=>Wt(s)):e.blobs,i=[];for(const s of n)i.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?i:i.map(s=>Ze(s))}function Qa(e){const{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),n=typeof e.blobs[0]=="string"?e.blobs.map(o=>Wt(o)):e.blobs,i=typeof e.commitments[0]=="string"?e.commitments.map(o=>Wt(o)):e.commitments,s=[];for(let o=0;o<n.length;o++){const a=n[o],c=i[o];s.push(Uint8Array.from(t.computeBlobKzgProof(a,c)))}return r==="bytes"?s:s.map(o=>Ze(o))}function Zp(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);const i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),c=n?4:0,f=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+f,a,n)}function ey(e,t,r){return e&t^~e&r}function ty(e,t,r){return e&t^e&r^t&r}let ry=class extends La{constructor(t,r,n,i){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.buffer=new Uint8Array(t),this.view=mo(this.buffer)}update(t){ei(this);const{view:r,buffer:n,blockLen:i}=this;t=Os(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const c=mo(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ei(this),Rf(t,this),this.finished=!0;const{buffer:r,view:n,blockLen:i,isLE:s}=this;let{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let h=o;h<i;h++)r[h]=0;Zp(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=mo(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const f=c/4,l=this.get();if(f>l.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<f;h++)a.setUint32(4*h,l[h],s)}digest(){const{buffer:t,outputLen:r}=this;this.digestInto(t);const n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}};const ny=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),rr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),nr=new Uint32Array(64);let iy=class extends ry{constructor(t=32){super(64,t,8,!1),this.A=rr[0]|0,this.B=rr[1]|0,this.C=rr[2]|0,this.D=rr[3]|0,this.E=rr[4]|0,this.F=rr[5]|0,this.G=rr[6]|0,this.H=rr[7]|0}get(){const{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[t,r,n,i,s,o,a,c]}set(t,r,n,i,s,o,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,r){for(let h=0;h<16;h++,r+=4)nr[h]=t.getUint32(r,!1);for(let h=16;h<64;h++){const y=nr[h-15],p=nr[h-2],g=_t(y,7)^_t(y,18)^y>>>3,_=_t(p,17)^_t(p,19)^p>>>10;nr[h]=_+nr[h-7]+g+nr[h-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:f,H:l}=this;for(let h=0;h<64;h++){const y=_t(a,6)^_t(a,11)^_t(a,25),p=l+y+ey(a,c,f)+ny[h]+nr[h]|0,_=(_t(n,2)^_t(n,13)^_t(n,22))+ty(n,i,s)|0;l=f,f=c,c=a,a=o+p|0,o=s,s=i,i=n,n=p+_|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(n,i,s,o,a,c,f,l)}roundClean(){nr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const sd=Uf(()=>new iy);function Vn(e,t){const r=t||"hex",n=sd(qt(e,{strict:!1})?Bi(e):e);return r==="bytes"?n:J(n)}function sy(e){const{commitment:t,version:r=1}=e,n=e.to??(typeof t=="string"?"hex":"bytes"),i=Vn(t,"bytes");return i.set([r],0),n==="bytes"?i:Ze(i)}function od(e){const{commitments:t,version:r}=e,n=e.to??(typeof t[0]=="string"?"hex":"bytes"),i=[];for(const s of t)i.push(sy({commitment:s,to:n,version:r}));return i}const Xc=6,ad=32,Za=4096,cd=ad*Za,Jc=cd*Xc-1-1*Za*Xc,ud=1;class oy extends L{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class fd extends L{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class ay extends L{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class cy extends L{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${ud}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}function uy(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?Wt(e.data):e.data,n=Ie(r);if(!n)throw new fd;if(n>Jc)throw new oy({maxSize:Jc,size:n});const i=[];let s=!0,o=0;for(;s;){const a=Ga(new Uint8Array(cd));let c=0;for(;c<Za;){const f=r.slice(o,o+(ad-1));if(a.pushByte(0),a.pushBytes(f),f.length<31){a.pushByte(128),s=!1;break}c++,o+=31}i.push(a)}return t==="bytes"?i.map(a=>a.bytes):i.map(a=>Ze(a.bytes))}function dd(e){const{data:t,kzg:r,to:n}=e,i=e.blobs??uy({data:t,to:n}),s=e.commitments??Ja({blobs:i,kzg:r,to:n}),o=e.proofs??Qa({blobs:i,commitments:s,kzg:r,to:n}),a=[];for(let c=0;c<i.length;c++)a.push({blob:i[c],commitment:s[c],proof:o[c]});return a}function ld(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new xp({transaction:e})}async function Ni(e){const t=await e.request({method:"eth_chainId"},{dedupe:!0});return Vt(t)}const hd=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Qc=new Map;async function ec(e,t){const{account:r=e.account,blobs:n,chain:i,gas:s,kzg:o,nonce:a,nonceManager:c,parameters:f=hd,type:l}=t,h=r&&Ne(r),y={...t,...h?{from:h==null?void 0:h.address}:{}};let p;async function g(){return p||(p=await oe(e,Es,"getBlock")({blockTag:"latest"}),p)}let _;async function x(){return _||(i?i.id:typeof t.chainId<"u"?t.chainId:(_=await oe(e,Ni,"getChainId")({}),_))}if(f.includes("nonce")&&typeof a>"u"&&h)if(c){const k=await x();y.nonce=await c.consume({address:h.address,chainId:k,client:e})}else y.nonce=await oe(e,id,"getTransactionCount")({address:h.address,blockTag:"pending"});if((f.includes("blobVersionedHashes")||f.includes("sidecars"))&&n&&o){const k=Ja({blobs:n,kzg:o});if(f.includes("blobVersionedHashes")){const T=od({commitments:k,to:"hex"});y.blobVersionedHashes=T}if(f.includes("sidecars")){const T=Qa({blobs:n,commitments:k,kzg:o}),A=dd({blobs:n,commitments:k,proofs:T,to:"hex"});y.sidecars=A}}if(f.includes("chainId")&&(y.chainId=await x()),(f.includes("fees")||f.includes("type"))&&typeof l>"u")try{y.type=ld(y)}catch{let k=Qc.get(e.uid);if(typeof k>"u"){const T=await g();k=typeof(T==null?void 0:T.baseFeePerGas)=="bigint",Qc.set(e.uid,k)}y.type=k?"eip1559":"legacy"}if(f.includes("fees"))if(y.type!=="legacy"&&y.type!=="eip2930"){if(typeof y.maxFeePerGas>"u"||typeof y.maxPriorityFeePerGas>"u"){const k=await g(),{maxFeePerGas:T,maxPriorityFeePerGas:A}=await Yc(e,{block:k,chain:i,request:y});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<A)throw new Wp({maxPriorityFeePerGas:A});y.maxPriorityFeePerGas=A,y.maxFeePerGas=T}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new Ya;if(typeof t.gasPrice>"u"){const k=await g(),{gasPrice:T}=await Yc(e,{block:k,chain:i,request:y,type:"legacy"});y.gasPrice=T}}return f.includes("gas")&&typeof s>"u"&&(y.gas=await oe(e,pd,"estimateGas")({...y,account:h&&{address:h.address,type:"json-rpc"}})),Fi(y),delete y.parameters,y}async function fy(e,{address:t,blockNumber:r,blockTag:n="latest"}){const i=r?Q(r):void 0,s=await e.request({method:"eth_getBalance",params:[t,i||n]});return BigInt(s)}async function pd(e,t){var i,s,o;const{account:r=e.account}=t,n=r?Ne(r):void 0;try{let V=function(ne){const{block:pe,request:_e,rpcStateOverride:Te}=ne;return e.request({method:"eth_estimateGas",params:Te?[_e,pe??"latest",Te]:pe?[_e,pe]:[_e]})};const{accessList:a,authorizationList:c,blobs:f,blobVersionedHashes:l,blockNumber:h,blockTag:y,data:p,gas:g,gasPrice:_,maxFeePerBlobGas:x,maxFeePerGas:k,maxPriorityFeePerGas:T,nonce:A,value:E,stateOverride:I,...S}=await ec(e,{...t,parameters:(n==null?void 0:n.type)==="local"?void 0:["blobVersionedHashes"]}),$=(h?Q(h):void 0)||y,B=ed(I),W=await(async()=>{if(S.to)return S.to;if(c&&c.length>0)return await Zf({authorization:c[0]}).catch(()=>{throw new L("`to` is required. Could not infer from `authorizationList`")})})();Fi(t);const R=(o=(s=(i=e.chain)==null?void 0:i.formatters)==null?void 0:s.transactionRequest)==null?void 0:o.format,j=(R||Hs)({...Wa(S,{format:R}),from:n==null?void 0:n.address,accessList:a,authorizationList:c,blobs:f,blobVersionedHashes:l,data:p,gas:g,gasPrice:_,maxFeePerBlobGas:x,maxFeePerGas:k,maxPriorityFeePerGas:T,nonce:A,to:W,value:E});let X=BigInt(await V({block:$,request:j,rpcStateOverride:B}));if(c){const ne=await fy(e,{address:j.from}),pe=await Promise.all(c.map(async _e=>{const{address:Te}=_e,We=await V({block:$,request:{authorizationList:void 0,data:p,from:n==null?void 0:n.address,to:Te,value:Q(ne)},rpcStateOverride:B}).catch(()=>100000n);return 2n*BigInt(We)}));X+=pe.reduce((_e,Te)=>_e+Te,0n)}return X}catch(a){throw jp(a,{...t,account:n,chain:e.chain})}}async function dy(e,t){const{abi:r,address:n,args:i,functionName:s,dataSuffix:o,...a}=t,c=Pn({abi:r,args:i,functionName:s});try{return await oe(e,pd,"estimateGas")({data:`${c}${o?o.replace("0x",""):""}`,to:n,...a})}catch(f){const l=a.account?Ne(a.account):void 0;throw Ms(f,{abi:r,address:n,args:i,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:l==null?void 0:l.address})}}function tc(e,t){if(!Fe(e,{strict:!1}))throw new et({address:e});if(!Fe(t,{strict:!1}))throw new et({address:t});return e.toLowerCase()===t.toLowerCase()}const Zc="/docs/contract/decodeEventLog";function yd(e){const{abi:t,data:r,strict:n,topics:i}=e,s=n??!0,[o,...a]=i;if(!o)throw new Qh({docsPath:Zc});const c=t.length===1?t[0]:t.find(_=>_.type==="event"&&o===Rs(It(_)));if(!(c&&"name"in c)||c.type!=="event")throw new Sf(o,{docsPath:Zc});const{name:f,inputs:l}=c,h=l==null?void 0:l.some(_=>!("name"in _&&_.name));let y=h?[]:{};const p=l.filter(_=>"indexed"in _&&_.indexed);for(let _=0;_<p.length;_++){const x=p[_],k=a[_];if(!k)throw new Na({abiItem:c,param:x});y[h?_:x.name||_]=ly({param:x,value:k})}const g=l.filter(_=>!("indexed"in _&&_.indexed));if(g.length>0){if(r&&r!=="0x")try{const _=Ri(g,r);if(_)if(h)y=[...y,..._];else for(let x=0;x<g.length;x++)y[g[x].name]=_[x]}catch(_){if(s)throw _ instanceof xf||_ instanceof Vf?new _s({abiItem:c,data:r,params:g,size:Ie(r)}):_}else if(s)throw new _s({abiItem:c,data:"0x",params:g,size:0})}return{eventName:f,args:Object.values(y).length>0?y:void 0}}function ly({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Ri([e],t)||[])[0]}function md(e){const{abi:t,args:r,logs:n,strict:i=!0}=e,s=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return n.map(o=>{var a;try{const c=t.find(l=>l.type==="event"&&o.topics[0]===Rs(l));if(!c)return null;const f=yd({...o,abi:[c],strict:i});return s&&!s.includes(f.eventName)||!hy({args:f.args,inputs:c.inputs,matchArgs:r})?null:{...f,...o}}catch(c){let f,l;if(c instanceof Sf)return null;if(c instanceof _s||c instanceof Na){if(i)return null;f=c.abiItem.name,l=(a=c.abiItem.inputs)==null?void 0:a.some(h=>!("name"in h&&h.name))}return{...o,args:l?[]:{},eventName:f}}}).filter(Boolean)}function hy(e){const{args:t,inputs:r,matchArgs:n}=e;if(!n)return!0;if(!t)return!1;function i(s,o,a){try{return s.type==="address"?tc(o,a):s.type==="string"||s.type==="bytes"?An(Bi(o))===a:o===a}catch{return!1}}return Array.isArray(t)&&Array.isArray(n)?n.every((s,o)=>{if(s==null)return!0;const a=r[o];return a?(Array.isArray(s)?s:[s]).some(f=>i(a,f,t[o])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof n=="object"&&!Array.isArray(n)?Object.entries(n).every(([s,o])=>{if(o==null)return!0;const a=r.find(f=>f.name===s);return a?(Array.isArray(o)?o:[o]).some(f=>i(a,f,t[s])):!1}):!1}function xi(e,{args:t,eventName:r}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...r?{args:t,eventName:r}:{}}}async function py(e,{address:t,blockHash:r,fromBlock:n,toBlock:i,event:s,events:o,args:a,strict:c}={}){const f=c??!1,l=o??(s?[s]:void 0);let h=[];l&&(h=[l.flatMap(_=>ja({abi:[_],eventName:_.name,args:o?void 0:a}))],s&&(h=h[0]));let y;r?y=await e.request({method:"eth_getLogs",params:[{address:t,topics:h,blockHash:r}]}):y=await e.request({method:"eth_getLogs",params:[{address:t,topics:h,fromBlock:typeof n=="bigint"?Q(n):n,toBlock:typeof i=="bigint"?Q(i):i}]});const p=y.map(g=>xi(g));return l?md({abi:l,args:a,logs:p,strict:f}):p}async function bd(e,t){const{abi:r,address:n,args:i,blockHash:s,eventName:o,fromBlock:a,toBlock:c,strict:f}=t,l=o?Sn({abi:r,name:o}):void 0,h=l?void 0:r.filter(y=>y.type==="event");return oe(e,py,"getLogs")({address:n,args:i,blockHash:s,event:l,events:h,fromBlock:a,toBlock:c,strict:f})}const wo="/docs/contract/decodeFunctionResult";function rc(e){const{abi:t,args:r,functionName:n,data:i}=e;let s=t[0];if(n){const a=Sn({abi:t,args:r,name:n});if(!a)throw new Zn(n,{docsPath:wo});s=a}if(s.type!=="function")throw new Zn(void 0,{docsPath:wo});if(!s.outputs)throw new Pf(s.name,{docsPath:wo});const o=Ri(s.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}const eu=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"}],yy=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],my="0x82ad56cb",by="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",gy="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe";class pa extends L{constructor({blockNumber:t,chain:r,contract:n}){super(`Chain "${r.name}" does not support contract "${n.name}".`,{metaMessages:["This could be due to any of the following:",...t&&n.blockCreated&&n.blockCreated>t?[`- The contract "${n.name}" was not deployed until block ${n.blockCreated} (current block ${t}).`]:[`- The chain does not have the contract "${n.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}class wy extends L{constructor({chain:t,currentChainId:r}){super(`The current chain of the wallet (id: ${r}) does not match the target chain for the transaction (id: ${t.id} – ${t.name}).`,{metaMessages:[`Current Chain ID: ${r}`,`Expected Chain ID: ${t.id} – ${t.name}`],name:"ChainMismatchError"})}}class _y extends L{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(`
|
|
40
|
-
`),{name:"ChainNotFoundError"})}}class
|
|
41
|
-
`),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}}class fs extends L{constructor({docsPath:t,metaMessages:r,type:n}){super(`Account type "${n}" is not supported.`,{docsPath:t,metaMessages:r,name:"AccountTypeNotSupportedError"})}}function Ed({chain:e,currentChainId:t}){if(!e)throw new _y;if(t!==e.id)throw new wy({chain:e,currentChainId:t})}function xd(e,{docsPath:t,...r}){const n=(()=>{const i=Va(e,r);return i instanceof $s?e:i})();return new Sp(n,{docsPath:t,...r})}async function Ad(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}const xo=new Us(128);async function sc(e,t){var k,T,A,E;const{account:r=e.account,chain:n=e.chain,accessList:i,authorizationList:s,blobs:o,data:a,gas:c,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:h,maxPriorityFeePerGas:y,nonce:p,value:g,..._}=t;if(typeof r>"u")throw new wr({docsPath:"/docs/actions/wallet/sendTransaction"});const x=r?Ne(r):null;try{Fi(t);const I=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Zf({authorization:s[0]}).catch(()=>{throw new L("`to` is required. Could not infer from `authorizationList`.")})})();if((x==null?void 0:x.type)==="json-rpc"||x===null){let S;n!==null&&(S=await oe(e,Ni,"getChainId")({}),Ed({currentChainId:S,chain:n}));const N=(A=(T=(k=e.chain)==null?void 0:k.formatters)==null?void 0:T.transactionRequest)==null?void 0:A.format,B=(N||Hs)({...Wa(_,{format:N}),accessList:i,authorizationList:s,blobs:o,chainId:S,data:a,from:x==null?void 0:x.address,gas:c,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:h,maxPriorityFeePerGas:y,nonce:p,to:I,value:g}),W=xo.get(e.uid),R=W?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:R,params:[B]},{retryCount:0})}catch(D){if(W===!1)throw D;const j=D;if(j.name==="InvalidInputRpcError"||j.name==="InvalidParamsRpcError"||j.name==="MethodNotFoundRpcError"||j.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[B]},{retryCount:0}).then(V=>(xo.set(e.uid,!0),V)).catch(V=>{const X=V;throw X.name==="MethodNotFoundRpcError"||X.name==="MethodNotSupportedRpcError"?(xo.set(e.uid,!1),j):X});throw j}}if((x==null?void 0:x.type)==="local"){const S=await oe(e,ec,"prepareTransactionRequest")({account:x,accessList:i,authorizationList:s,blobs:o,chain:n,data:a,gas:c,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:h,maxPriorityFeePerGas:y,nonce:p,nonceManager:x.nonceManager,parameters:[...hd,"sidecars"],value:g,..._,to:I}),N=(E=n==null?void 0:n.serializers)==null?void 0:E.transaction,$=await x.signTransaction(S,{serializer:N});return await oe(e,Ad,"sendRawTransaction")({serializedTransaction:$})}throw(x==null?void 0:x.type)==="smart"?new fs({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new fs({docsPath:"/docs/actions/wallet/sendTransaction",type:x==null?void 0:x.type})}catch(I){throw I instanceof fs?I:xd(I,{...t,account:x,chain:t.chain||void 0})}}async function Sd(e,t){const{abi:r,account:n=e.account,address:i,args:s,dataSuffix:o,functionName:a,...c}=t;if(typeof n>"u")throw new wr({docsPath:"/docs/contract/writeContract"});const f=n?Ne(n):null,l=Pn({abi:r,args:s,functionName:a});try{return await oe(e,sc,"sendTransaction")({data:`${l}${o?o.replace("0x",""):""}`,to:i,account:f,...c})}catch(h){throw Ms(h,{abi:r,address:i,args:s,docsPath:"/docs/contract/writeContract",functionName:a,sender:f==null?void 0:f.address})}}function Ao({abi:e,address:t,client:r}){const n=r,[i,s]=n?"public"in n&&"wallet"in n?[n.public,n.wallet]:"public"in n?[n.public,void 0]:"wallet"in n?[void 0,n.wallet]:[n,n]:[void 0,void 0],o=i!=null,a=s!=null,c={};let f=!1,l=!1,h=!1;for(const y of e)if(y.type==="function"?y.stateMutability==="view"||y.stateMutability==="pure"?f=!0:l=!0:y.type==="event"&&(h=!0),f&&l&&h)break;return o&&(f&&(c.read=new Proxy({},{get(y,p){return(...g)=>{const{args:_,options:x}=Yi(g);return oe(i,ky,"readContract")({abi:e,address:t,functionName:p,args:_,...x})}}})),l&&(c.simulate=new Proxy({},{get(y,p){return(...g)=>{const{args:_,options:x}=Yi(g);return oe(i,Iy,"simulateContract")({abi:e,address:t,functionName:p,args:_,...x})}}})),h&&(c.createEventFilter=new Proxy({},{get(y,p){return(...g)=>{const _=e.find(T=>T.type==="event"&&T.name===p),{args:x,options:k}=So(g,_);return oe(i,zf,"createContractEventFilter")({abi:e,address:t,eventName:p,args:x,...k})}}}),c.getEvents=new Proxy({},{get(y,p){return(...g)=>{const _=e.find(T=>T.type==="event"&&T.name===p),{args:x,options:k}=So(g,_);return oe(i,bd,"getContractEvents")({abi:e,address:t,eventName:p,args:x,...k})}}}),c.watchEvent=new Proxy({},{get(y,p){return(...g)=>{const _=e.find(T=>T.type==="event"&&T.name===p),{args:x,options:k}=So(g,_);return oe(i,$y,"watchContractEvent")({abi:e,address:t,eventName:p,args:x,...k})}}}))),a&&l&&(c.write=new Proxy({},{get(y,p){return(...g)=>{const{args:_,options:x}=Yi(g);return oe(s,Sd,"writeContract")({abi:e,address:t,functionName:p,args:_,...x})}}})),(o||a)&&l&&(c.estimateGas=new Proxy({},{get(y,p){return(...g)=>{const{args:_,options:x}=Yi(g);return oe(i??s,dy,"estimateContractGas")({abi:e,address:t,functionName:p,args:_,...x,account:x.account??s.account})}}})),c.address=t,c.abi=e,c}function Yi(e){const t=e.length&&Array.isArray(e[0]),r=t?e[0]:[],n=(t?e[1]:e[0])??{};return{args:r,options:n}}function So(e,t){let r=!1;Array.isArray(e[0])?r=!0:e.length===1?r=t.inputs.some(s=>s.indexed):e.length===2&&(r=!0);const n=r?e[0]:void 0,i=(r?e[1]:e[0])??{};return{args:n,options:i}}const Pd={"0x0":"reverted","0x1":"success"};function Hy(e){const t={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(r=>xi(r)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Vt(e.transactionIndex):null,status:e.status?Pd[e.status]:null,type:e.type?td[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}const Dy=Ka("transactionReceipt",Hy);async function Td(e,t){const{atomic:r=!1,chainId:n,receipts:i,version:s="2.0.0",...o}=await e.request({method:"wallet_getCallsStatus",params:[t.id]}),[a,c]=(()=>{const f=o.status;return f>=100&&f<200?["pending",f]:f>=200&&f<300?["success",f]:f>=300&&f<700?["failure",f]:f==="CONFIRMED"?["success",200]:f==="PENDING"?["pending",100]:[void 0,f]})();return{...o,atomic:r,chainId:n?Vt(n):void 0,receipts:(i==null?void 0:i.map(f=>({...f,blockNumber:pt(f.blockNumber),gasUsed:pt(f.gasUsed),status:Pd[f.status]})))??[],statusCode:c,status:a,version:s}}async function jy(e,t){const{id:r,pollingInterval:n=e.pollingInterval,status:i=({statusCode:y})=>y>=200,timeout:s=6e4}=t,o=rt(["waitForCallsStatus",e.uid,r]),{promise:a,resolve:c,reject:f}=wd();let l;const h=ya(o,{resolve:c,reject:f},y=>{const p=vd(async()=>{const g=_=>{clearTimeout(l),p(),_(),h()};try{const _=await Td(e,{id:r});if(!i(_))return;g(()=>y.resolve(_))}catch(_){g(()=>y.reject(_))}},{interval:n,emitOnBegin:!0});return p});return l=s?setTimeout(()=>{h(),clearTimeout(l),f(new Gy({id:r}))},s):void 0,await a}class Gy extends L{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const ba=256;let Xi=ba,Ji;function kd(e=11){if(!Ji||Xi+e>ba*2){Ji="",Xi=0;for(let t=0;t<ba;t++)Ji+=(256+Math.random()*256|0).toString(16).substring(1)}return Ji.substring(Xi,Xi+++e)}function zy(e){const{batch:t,cacheTime:r=e.pollingInterval??4e3,ccipRead:n,key:i="base",name:s="Base Client",pollingInterval:o=4e3,type:a="base"}=e,c=e.chain,f=e.account?Ne(e.account):void 0,{config:l,request:h,value:y}=e.transport({chain:c,pollingInterval:o}),p={...l,...y},g={account:f,batch:t,cacheTime:r,ccipRead:n,chain:c,key:i,name:s,pollingInterval:o,request:h,transport:p,type:a,uid:kd()};function _(x){return k=>{const T=k(x);for(const E in g)delete T[E];const A={...x,...T};return Object.assign(A,{extend:_(A)})}}return Object.assign(g,{extend:_(g)})}const Qi=new Us(8192);function qy(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(Qi.get(r))return Qi.get(r);const n=e().finally(()=>Qi.delete(r));return Qi.set(r,n),n}function Vy(e,{delay:t=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((i,s)=>{const o=async({count:a=0}={})=>{const c=async({error:f})=>{const l=typeof t=="function"?t({count:a,error:f}):t;l&&await ma(l),o({count:a+1})};try{const f=await e();i(f)}catch(f){if(a<r&&await n({count:a,error:f}))return c({error:f});s(f)}};o()})}function Wy(e,t={}){return async(r,n={})=>{var h;const{dedupe:i=!1,methods:s,retryDelay:o=150,retryCount:a=3,uid:c}={...t,...n},{method:f}=r;if((h=s==null?void 0:s.exclude)!=null&&h.includes(f))throw new Ir(new Error("method not supported"),{method:f});if(s!=null&&s.include&&!s.include.includes(f))throw new Ir(new Error("method not supported"),{method:f});const l=i?Cs(`${c}.${rt(r)}`):void 0;return qy(()=>Vy(async()=>{try{return await e(r)}catch(y){const p=y;switch(p.code){case ri.code:throw new ri(p);case ni.code:throw new ni(p);case ii.code:throw new ii(p,{method:r.method});case si.code:throw new si(p);case Nr.code:throw new Nr(p);case pn.code:throw new pn(p);case oi.code:throw new oi(p);case ai.code:throw new ai(p);case ci.code:throw new ci(p);case Ir.code:throw new Ir(p,{method:r.method});case yn.code:throw new yn(p);case ui.code:throw new ui(p);case an.code:throw new an(p);case fi.code:throw new fi(p);case di.code:throw new di(p);case li.code:throw new li(p);case hi.code:throw new hi(p);case pi.code:throw new pi(p);case yi.code:throw new yi(p);case mi.code:throw new mi(p);case bi.code:throw new bi(p);case gi.code:throw new gi(p);case wi.code:throw new wi(p);case _i.code:throw new _i(p);case vi.code:throw new vi(p);case 5e3:throw new an(p);default:throw y instanceof L?y:new Rp(p)}}},{delay:({count:y,error:p})=>{var g;if(p&&p instanceof on){const _=(g=p==null?void 0:p.headers)==null?void 0:g.get("Retry-After");if(_!=null&&_.match(/\d/))return Number.parseInt(_)*1e3}return~~(1<<y)*o},retryCount:a,shouldRetry:({error:y})=>Ky(y)}),{enabled:i,id:l})}}function Ky(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===yn.code||e.code===Nr.code:e instanceof on&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function Id({key:e,methods:t,name:r,request:n,retryCount:i=3,retryDelay:s=150,timeout:o,type:a},c){const f=kd();return{config:{key:e,methods:t,name:r,request:n,retryCount:i,retryDelay:s,timeout:o,type:a},request:Wy(n,{methods:t,retryCount:i,retryDelay:s,uid:f}),value:c}}function ru(e,t={}){const{key:r="custom",methods:n,name:i="Custom Provider",retryDelay:s}=t;return({retryCount:o})=>Id({key:r,methods:n,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:s,type:"custom"})}class Yy extends L{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function Xy(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:n}){return new Promise((i,s)=>{(async()=>{let o;try{const a=new AbortController;r>0&&(o=setTimeout(()=>{n&&a.abort()},r)),i(await e({signal:(a==null?void 0:a.signal)||null}))}catch(a){(a==null?void 0:a.name)==="AbortError"&&s(t),s(a)}finally{clearTimeout(o)}})()})}function Jy(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const nu=Jy();function Qy(e,t={}){return{async request(r){var h;const{body:n,onRequest:i=t.onRequest,onResponse:s=t.onResponse,timeout:o=t.timeout??1e4}=r,a={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:c,method:f,signal:l}=a;try{const y=await Xy(async({signal:g})=>{const _={...a,body:Array.isArray(n)?rt(n.map(A=>({jsonrpc:"2.0",id:A.id??nu.take(),...A}))):rt({jsonrpc:"2.0",id:n.id??nu.take(),...n}),headers:{"Content-Type":"application/json",...c},method:f||"POST",signal:l||(o>0?g:null)},x=new Request(e,_),k=await(i==null?void 0:i(x,_))??{..._,url:e};return await fetch(k.url??e,k)},{errorInstance:new Vc({body:n,url:e}),timeout:o,signal:!0});s&&await s(y);let p;if((h=y.headers.get("Content-Type"))!=null&&h.startsWith("application/json"))p=await y.json();else{p=await y.text();try{p=JSON.parse(p||"{}")}catch(g){if(y.ok)throw g;p={error:p}}}if(!y.ok)throw new on({body:n,details:rt(p.error)||y.statusText,headers:y.headers,status:y.status,url:e});return p}catch(y){throw y instanceof on||y instanceof Vc?y:new on({body:n,cause:y,url:e})}}}}function Zy(e,t={}){const{batch:r,fetchOptions:n,key:i="http",methods:s,name:o="HTTP JSON-RPC",onFetchRequest:a,onFetchResponse:c,retryDelay:f,raw:l}=t;return({chain:h,retryCount:y,timeout:p})=>{const{batchSize:g=1e3,wait:_=0}=typeof r=="object"?r:{},x=t.retryCount??y,k=p??t.timeout??1e4,T=h==null?void 0:h.rpcUrls.default.http[0];if(!T)throw new Yy;const A=Qy(T,{fetchOptions:n,onRequest:a,onResponse:c,timeout:k});return Id({key:i,methods:s,name:o,async request({method:E,params:I}){const S={method:E,params:I},{schedule:N}=_d({id:T,wait:_,shouldSplitBatch(R){return R.length>g},fn:R=>A.request({body:R}),sort:(R,D)=>R.id-D.id}),$=async R=>r?N(R):[await A.request({body:R})],[{error:B,result:W}]=await $(S);if(l)return{error:B,result:W};if(B)throw new qa({body:S,error:B,url:T});return W},retryCount:x,retryDelay:f,timeout:k,type:"http"},{fetchOptions:n,url:T})}}function Ot(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}class em extends L{constructor({domain:t}){super(`Invalid domain "${rt(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class tm extends L{constructor({primaryType:t,types:r}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class rm extends L{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function nm(e){const{domain:t,message:r,primaryType:n,types:i}=e,s=(c,f)=>{const l={...f};for(const h of c){const{name:y,type:p}=h;p==="address"&&(l[y]=l[y].toLowerCase())}return l},o=i.EIP712Domain?t?s(i.EIP712Domain,t):{}:{},a=(()=>{if(n!=="EIP712Domain")return s(i[n],r)})();return rt({domain:o,message:a,primaryType:n,types:i})}function im(e){const{domain:t,message:r,primaryType:n,types:i}=e,s=(o,a)=>{for(const c of o){const{name:f,type:l}=c,h=a[f],y=l.match(jf);if(y&&(typeof h=="number"||typeof h=="bigint")){const[_,x,k]=y;Q(h,{signed:x==="int",size:Number.parseInt(k)/8})}if(l==="address"&&typeof h=="string"&&!Fe(h))throw new et({address:h});const p=l.match(q0);if(p){const[_,x]=p;if(x&&Ie(h)!==Number.parseInt(x))throw new t0({expectedSize:Number.parseInt(x),givenSize:Ie(h)})}const g=i[l];g&&(om(l),s(g,h))}};if(i.EIP712Domain&&t){if(typeof t!="object")throw new em({domain:t});s(i.EIP712Domain,t)}if(n!=="EIP712Domain")if(i[n])s(i[n],r);else throw new tm({primaryType:n,types:i})}function sm({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},(typeof(e==null?void 0:e.chainId)=="number"||typeof(e==null?void 0:e.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function om(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new rm({type:e})}function am(e){const{authorizationList:t}=e;if(t)for(const r of t){const{chainId:n}=r,i=r.address;if(!Fe(i))throw new et({address:i});if(n<0)throw new js({chainId:n})}oc(e)}function cm(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new fd;for(const r of t){const n=Ie(r),i=Vt(hn(r,0,1));if(n!==32)throw new ay({hash:r,size:n});if(i!==ud)throw new cy({hash:r,version:i})}}oc(e)}function oc(e){const{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:n,to:i}=e;if(t<=0)throw new js({chainId:t});if(i&&!Fe(i))throw new et({address:i});if(n&&n>Ds)throw new Lr({maxFeePerGas:n});if(r&&n&&r>n)throw new Ei({maxFeePerGas:n,maxPriorityFeePerGas:r})}function um(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(t<=0)throw new js({chainId:t});if(s&&!Fe(s))throw new et({address:s});if(r||i)throw new L("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>Ds)throw new Lr({maxFeePerGas:n})}function fm(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(s&&!Fe(s))throw new et({address:s});if(typeof t<"u"&&t<=0)throw new js({chainId:t});if(r||i)throw new L("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>Ds)throw new Lr({maxFeePerGas:n})}function Gs(e){if(!e||e.length===0)return[];const t=[];for(let r=0;r<e.length;r++){const{address:n,storageKeys:i}=e[r];for(let s=0;s<i.length;s++)if(i[s].length-2!==64)throw new Ap({storageKey:i[s]});if(!Fe(n,{strict:!1}))throw new et({address:n});t.push([n,i])}return t}function dm(e,t){const r=ld(e);return r==="eip1559"?pm(e,t):r==="eip2930"?ym(e,t):r==="eip4844"?hm(e,t):r==="eip7702"?lm(e,t):mm(e,t)}function lm(e,t){const{authorizationList:r,chainId:n,gas:i,nonce:s,to:o,value:a,maxFeePerGas:c,maxPriorityFeePerGas:f,accessList:l,data:h}=e;am(e);const y=Gs(l),p=bm(r);return Ct(["0x04",mr([J(n),s?J(s):"0x",f?J(f):"0x",c?J(c):"0x",i?J(i):"0x",o??"0x",a?J(a):"0x",h??"0x",y,p,...Li(e,t)])])}function hm(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:f,accessList:l,data:h}=e;cm(e);let y=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(typeof y>"u"||typeof p>"u")){const A=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(S=>Ze(S)),E=e.kzg,I=Ja({blobs:A,kzg:E});if(typeof y>"u"&&(y=od({commitments:I})),typeof p>"u"){const S=Qa({blobs:A,commitments:I,kzg:E});p=dd({blobs:A,commitments:I,proofs:S})}}const g=Gs(l),_=[J(r),i?J(i):"0x",f?J(f):"0x",c?J(c):"0x",n?J(n):"0x",s??"0x",o?J(o):"0x",h??"0x",g,a?J(a):"0x",y??[],...Li(e,t)],x=[],k=[],T=[];if(p)for(let A=0;A<p.length;A++){const{blob:E,commitment:I,proof:S}=p[A];x.push(E),k.push(I),T.push(S)}return Ct(["0x03",mr(p?[_,x,k,T]:_)])}function pm(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:f,data:l}=e;oc(e);const h=Gs(f),y=[J(r),i?J(i):"0x",c?J(c):"0x",a?J(a):"0x",n?J(n):"0x",s??"0x",o?J(o):"0x",l??"0x",h,...Li(e,t)];return Ct(["0x02",mr(y)])}function ym(e,t){const{chainId:r,gas:n,data:i,nonce:s,to:o,value:a,accessList:c,gasPrice:f}=e;um(e);const l=Gs(c),h=[J(r),s?J(s):"0x",f?J(f):"0x",n?J(n):"0x",o??"0x",a?J(a):"0x",i??"0x",l,...Li(e,t)];return Ct(["0x01",mr(h)])}function mm(e,t){const{chainId:r=0,gas:n,data:i,nonce:s,to:o,value:a,gasPrice:c}=e;fm(e);let f=[s?J(s):"0x",c?J(c):"0x",n?J(n):"0x",o??"0x",a?J(a):"0x",i??"0x"];if(t){const l=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+t.v-27n);const p=27n+(t.v===27n?0n:1n);if(t.v!==p)throw new Ep({v:t.v});return p})(),h=Ur(t.r),y=Ur(t.s);f=[...f,J(l),h==="0x00"?"0x":h,y==="0x00"?"0x":y]}else r>0&&(f=[...f,J(r),"0x","0x"]);return mr(f)}function Li(e,t){const r=t??e,{v:n,yParity:i}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof n>"u"&&typeof i>"u")return[];const s=Ur(r.r),o=Ur(r.s);return[typeof i=="number"?i?J(1):"0x":n===0n?"0x":n===1n?J(1):n===27n?"0x":J(1),s==="0x00"?"0x":s,o==="0x00"?"0x":o]}function bm(e){if(!e||e.length===0)return[];const t=[];for(const r of e){const{chainId:n,nonce:i,...s}=r,o=r.address;t.push([n?J(n):"0x",o,i?J(i):"0x",...Li({},s)])}return t}var br=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function gm(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function wm(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var mn={},Qt={},_r={};Object.defineProperty(_r,"__esModule",{value:!0});_r.anumber=ga;_r.abytes=Bd;_r.ahash=vm;_r.aexists=Em;_r.aoutput=xm;function ga(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function _m(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Bd(e,...t){if(!_m(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 vm(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ga(e.outputLen),ga(e.blockLen)}function Em(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function xm(e,t){Bd(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}var Mi={},zs={};Object.defineProperty(zs,"__esModule",{value:!0});zs.crypto=void 0;zs.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;(function(e){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(e,"__esModule",{value:!0}),e.Hash=e.nextTick=e.byteSwapIfBE=e.isLE=void 0,e.isBytes=n,e.u8=i,e.u32=s,e.createView=o,e.rotr=a,e.rotl=c,e.byteSwap=f,e.byteSwap32=l,e.bytesToHex=y,e.hexToBytes=_,e.asyncLoop=k,e.utf8ToBytes=T,e.toBytes=A,e.concatBytes=E,e.checkOpts=S,e.wrapConstructor=N,e.wrapConstructorWithOpts=$,e.wrapXOFConstructorWithOpts=B,e.randomBytes=W;const t=zs,r=_r;function n(R){return R instanceof Uint8Array||ArrayBuffer.isView(R)&&R.constructor.name==="Uint8Array"}function i(R){return new Uint8Array(R.buffer,R.byteOffset,R.byteLength)}function s(R){return new Uint32Array(R.buffer,R.byteOffset,Math.floor(R.byteLength/4))}function o(R){return new DataView(R.buffer,R.byteOffset,R.byteLength)}function a(R,D){return R<<32-D|R>>>D}function c(R,D){return R<<D|R>>>32-D>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function f(R){return R<<24&4278190080|R<<8&16711680|R>>>8&65280|R>>>24&255}e.byteSwapIfBE=e.isLE?R=>R:R=>f(R);function l(R){for(let D=0;D<R.length;D++)R[D]=f(R[D])}const h=Array.from({length:256},(R,D)=>D.toString(16).padStart(2,"0"));function y(R){(0,r.abytes)(R);let D="";for(let j=0;j<R.length;j++)D+=h[R[j]];return D}const p={_0:48,_9:57,A:65,F:70,a:97,f:102};function g(R){if(R>=p._0&&R<=p._9)return R-p._0;if(R>=p.A&&R<=p.F)return R-(p.A-10);if(R>=p.a&&R<=p.f)return R-(p.a-10)}function _(R){if(typeof R!="string")throw new Error("hex string expected, got "+typeof R);const D=R.length,j=D/2;if(D%2)throw new Error("hex string expected, got unpadded hex of length "+D);const V=new Uint8Array(j);for(let X=0,ne=0;X<j;X++,ne+=2){const pe=g(R.charCodeAt(ne)),_e=g(R.charCodeAt(ne+1));if(pe===void 0||_e===void 0){const Te=R[ne]+R[ne+1];throw new Error('hex string expected, got non-hex character "'+Te+'" at index '+ne)}V[X]=pe*16+_e}return V}const x=async()=>{};e.nextTick=x;async function k(R,D,j){let V=Date.now();for(let X=0;X<R;X++){j(X);const ne=Date.now()-V;ne>=0&&ne<D||(await(0,e.nextTick)(),V+=ne)}}function T(R){if(typeof R!="string")throw new Error("utf8ToBytes expected string, got "+typeof R);return new Uint8Array(new TextEncoder().encode(R))}function A(R){return typeof R=="string"&&(R=T(R)),(0,r.abytes)(R),R}function E(...R){let D=0;for(let V=0;V<R.length;V++){const X=R[V];(0,r.abytes)(X),D+=X.length}const j=new Uint8Array(D);for(let V=0,X=0;V<R.length;V++){const ne=R[V];j.set(ne,X),X+=ne.length}return j}class I{clone(){return this._cloneInto()}}e.Hash=I;function S(R,D){if(D!==void 0&&{}.toString.call(D)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(R,D)}function N(R){const D=V=>R().update(A(V)).digest(),j=R();return D.outputLen=j.outputLen,D.blockLen=j.blockLen,D.create=()=>R(),D}function $(R){const D=(V,X)=>R(X).update(A(V)).digest(),j=R({});return D.outputLen=j.outputLen,D.blockLen=j.blockLen,D.create=V=>R(V),D}function B(R){const D=(V,X)=>R(X).update(A(V)).digest(),j=R({});return D.outputLen=j.outputLen,D.blockLen=j.blockLen,D.create=V=>R(V),D}function W(R=32){if(t.crypto&&typeof t.crypto.getRandomValues=="function")return t.crypto.getRandomValues(new Uint8Array(R));if(t.crypto&&typeof t.crypto.randomBytes=="function")return t.crypto.randomBytes(R);throw new Error("crypto.getRandomValues must be defined")}})(Mi);Object.defineProperty(Qt,"__esModule",{value:!0});Qt.HashMD=void 0;Qt.setBigUint64=Cd;Qt.Chi=Am;Qt.Maj=Sm;const Po=_r,Rn=Mi;function Cd(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);const i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),c=n?4:0,f=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+f,a,n)}function Am(e,t,r){return e&t^~e&r}function Sm(e,t,r){return e&t^e&r^t&r}class Pm extends Rn.Hash{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=(0,Rn.createView)(this.buffer)}update(t){(0,Po.aexists)(this);const{view:r,buffer:n,blockLen:i}=this;t=(0,Rn.toBytes)(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const c=(0,Rn.createView)(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){(0,Po.aexists)(this),(0,Po.aoutput)(t,this),this.finished=!0;const{buffer:r,view:n,blockLen:i,isLE:s}=this;let{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let h=o;h<i;h++)r[h]=0;Cd(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=(0,Rn.createView)(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const f=c/4,l=this.get();if(f>l.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<f;h++)a.setUint32(4*h,l[h],s)}digest(){const{buffer:t,outputLen:r}=this;this.digestInto(t);const n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}}Qt.HashMD=Pm;Object.defineProperty(mn,"__esModule",{value:!0});mn.ripemd160=mn.RIPEMD160=void 0;const Tm=Qt,Wn=Mi,km=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Od=new Uint8Array(new Array(16).fill(0).map((e,t)=>t)),Im=Od.map(e=>(9*e+5)%16);let ac=[Od],cc=[Im];for(let e=0;e<4;e++)for(let t of[ac,cc])t.push(t[e].map(r=>km[r]));const Rd=[[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=>new Uint8Array(e)),Bm=ac.map((e,t)=>e.map(r=>Rd[t][r])),Cm=cc.map((e,t)=>e.map(r=>Rd[t][r])),Om=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),Rm=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]);function iu(e,t,r,n){return e===0?t^r^n:e===1?t&r|~t&n:e===2?(t|~r)^n:e===3?t&n|r&~n:t^(r|~n)}const Zi=new Uint32Array(16);let Ud=class extends Tm.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:r,h2:n,h3:i,h4:s}=this;return[t,r,n,i,s]}set(t,r,n,i,s){this.h0=t|0,this.h1=r|0,this.h2=n|0,this.h3=i|0,this.h4=s|0}process(t,r){for(let p=0;p<16;p++,r+=4)Zi[p]=t.getUint32(r,!0);let n=this.h0|0,i=n,s=this.h1|0,o=s,a=this.h2|0,c=a,f=this.h3|0,l=f,h=this.h4|0,y=h;for(let p=0;p<5;p++){const g=4-p,_=Om[p],x=Rm[p],k=ac[p],T=cc[p],A=Bm[p],E=Cm[p];for(let I=0;I<16;I++){const S=(0,Wn.rotl)(n+iu(p,s,a,f)+Zi[k[I]]+_,A[I])+h|0;n=h,h=f,f=(0,Wn.rotl)(a,10)|0,a=s,s=S}for(let I=0;I<16;I++){const S=(0,Wn.rotl)(i+iu(g,o,c,l)+Zi[T[I]]+x,E[I])+y|0;i=y,y=l,l=(0,Wn.rotl)(c,10)|0,c=o,o=S}}this.set(this.h1+a+l|0,this.h2+f+y|0,this.h3+h+i|0,this.h4+n+o|0,this.h0+s+c|0)}roundClean(){Zi.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}};mn.RIPEMD160=Ud;mn.ripemd160=(0,Wn.wrapConstructor)(()=>new Ud);var Gt={};Object.defineProperty(Gt,"__esModule",{value:!0});Gt.sha224=Gt.sha256=Gt.SHA256=void 0;const To=Qt,lt=Mi,Um=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ir=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),sr=new Uint32Array(64);class uc extends To.HashMD{constructor(){super(64,32,8,!1),this.A=ir[0]|0,this.B=ir[1]|0,this.C=ir[2]|0,this.D=ir[3]|0,this.E=ir[4]|0,this.F=ir[5]|0,this.G=ir[6]|0,this.H=ir[7]|0}get(){const{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[t,r,n,i,s,o,a,c]}set(t,r,n,i,s,o,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,r){for(let h=0;h<16;h++,r+=4)sr[h]=t.getUint32(r,!1);for(let h=16;h<64;h++){const y=sr[h-15],p=sr[h-2],g=(0,lt.rotr)(y,7)^(0,lt.rotr)(y,18)^y>>>3,_=(0,lt.rotr)(p,17)^(0,lt.rotr)(p,19)^p>>>10;sr[h]=_+sr[h-7]+g+sr[h-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:f,H:l}=this;for(let h=0;h<64;h++){const y=(0,lt.rotr)(a,6)^(0,lt.rotr)(a,11)^(0,lt.rotr)(a,25),p=l+y+(0,To.Chi)(a,c,f)+Um[h]+sr[h]|0,_=((0,lt.rotr)(n,2)^(0,lt.rotr)(n,13)^(0,lt.rotr)(n,22))+(0,To.Maj)(n,i,s)|0;l=f,f=c,c=a,a=o+p|0,o=s,s=i,i=n,n=p+_|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(n,i,s,o,a,c,f,l)}roundClean(){sr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}Gt.SHA256=uc;class Fm extends uc{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}Gt.sha256=(0,lt.wrapConstructor)(()=>new uc);Gt.sha224=(0,lt.wrapConstructor)(()=>new Fm);async function Nm(e,{chain:t}){const{id:r,name:n,nativeCurrency:i,rpcUrls:s,blockExplorers:o}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:Q(r),chainName:n,nativeCurrency:i,rpcUrls:s.default.http,blockExplorerUrls:o?Object.values(o).map(({url:a})=>a):void 0}]},{dedupe:!0,retryCount:0})}function Lm(e,t){const{abi:r,args:n,bytecode:i,...s}=t,o=nc({abi:r,args:n,bytecode:i});return sc(e,{...s,...s.authorizationList?{to:null}:{},data:o})}async function Mm(e){var r;return((r=e.account)==null?void 0:r.type)==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(n=>Oi(n))}async function $m(e,t={}){const{account:r=e.account,chainId:n}=t,i=r?Ne(r):void 0,s=await e.request({method:"wallet_getCapabilities",params:[i==null?void 0:i.address]}),o={};for(const[a,c]of Object.entries(s))o[Number(a)]=c;return typeof n=="number"?o[n]:o}async function Hm(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}async function Fd(e,t){var c;const{account:r=e.account,chainId:n,nonce:i}=t;if(!r)throw new wr({docsPath:"/docs/eip7702/prepareAuthorization"});const s=Ne(r),o=(()=>{if(t.executor)return t.executor==="self"?t.executor:Ne(t.executor)})(),a={address:t.contractAddress??t.address,chainId:n,nonce:i};return typeof a.chainId>"u"&&(a.chainId=((c=e.chain)==null?void 0:c.id)??await oe(e,Ni,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await oe(e,id,"getTransactionCount")({address:s.address,blockTag:"pending"}),(o==="self"||o!=null&&o.address&&tc(o.address,s.address))&&(a.nonce+=1)),a}async function Dm(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>D0(r))}async function jm(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function Gm(e,t){const{account:r=e.account,capabilities:n,chain:i=e.chain,forceAtomic:s=!1,id:o,version:a="2.0.0"}=t;if(typeof r>"u")throw new wr({docsPath:"/experimental/eip5792/sendCalls"});const c=r?Ne(r):null,f=t.calls.map(l=>{const h=l;return{data:h.abi?Pn({abi:h.abi,functionName:h.functionName,args:h.args}):h.data,to:h.to,value:h.value?Q(h.value):void 0}});try{const l=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:s,calls:f,capabilities:n,chainId:Q(i.id),from:c==null?void 0:c.address,id:o,version:a}]},{retryCount:0});return typeof l=="string"?{id:l}:l}catch(l){throw xd(l,{...t,account:c,chain:t.chain})}}async function zm(e,t){const{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}async function qm(e,t){const{account:r=e.account}=t;if(!r)throw new wr({docsPath:"/docs/eip7702/signAuthorization"});const n=Ne(r);if(!n.signAuthorization)throw new fs({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:n.type});const i=await Fd(e,t);return n.signAuthorization(i)}async function Vm(e,{account:t=e.account,message:r}){if(!t)throw new wr({docsPath:"/docs/actions/wallet/signMessage"});const n=Ne(t);if(n.signMessage)return n.signMessage({message:r});const i=typeof r=="string"?Cs(r):r.raw instanceof Uint8Array?J(r.raw):r.raw;return e.request({method:"personal_sign",params:[i,n.address]},{retryCount:0})}async function Wm(e,t){var f,l,h,y;const{account:r=e.account,chain:n=e.chain,...i}=t;if(!r)throw new wr({docsPath:"/docs/actions/wallet/signTransaction"});const s=Ne(r);Fi({account:s,...t});const o=await oe(e,Ni,"getChainId")({});n!==null&&Ed({currentChainId:o,chain:n});const a=(n==null?void 0:n.formatters)||((f=e.chain)==null?void 0:f.formatters),c=((l=a==null?void 0:a.transactionRequest)==null?void 0:l.format)||Hs;return s.signTransaction?s.signTransaction({...i,chainId:o},{serializer:(y=(h=e.chain)==null?void 0:h.serializers)==null?void 0:y.transaction}):await e.request({method:"eth_signTransaction",params:[{...c(i),chainId:Q(o),from:s.address}]},{retryCount:0})}async function Km(e,t){const{account:r=e.account,domain:n,message:i,primaryType:s}=t;if(!r)throw new wr({docsPath:"/docs/actions/wallet/signTypedData"});const o=Ne(r),a={EIP712Domain:sm({domain:n}),...t.types};if(im({domain:n,message:i,primaryType:s,types:a}),o.signTypedData)return o.signTypedData({domain:n,message:i,primaryType:s,types:a});const c=nm({domain:n,message:i,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[o.address,c]},{retryCount:0})}async function Ym(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:Q(t)}]},{retryCount:0})}async function Xm(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}function Jm(e){return{addChain:t=>Nm(e,t),deployContract:t=>Lm(e,t),getAddresses:()=>Mm(e),getCallsStatus:t=>Td(e,t),getCapabilities:()=>$m(e),getChainId:()=>Ni(e),getPermissions:()=>Hm(e),prepareAuthorization:t=>Fd(e,t),prepareTransactionRequest:t=>ec(e,t),requestAddresses:()=>Dm(e),requestPermissions:t=>jm(e,t),sendCalls:t=>Gm(e,t),sendRawTransaction:t=>Ad(e,t),sendTransaction:t=>sc(e,t),showCallsStatus:t=>zm(e,t),signAuthorization:t=>qm(e,t),signMessage:t=>Vm(e,t),signTransaction:t=>Wm(e,t),signTypedData:t=>Km(e,t),switchChain:t=>Ym(e,t),waitForCallsStatus:t=>jy(e,t),watchAsset:t=>Xm(e,t),writeContract:t=>Sd(e,t)}}function ko(e){const{key:t="wallet",name:r="Wallet Client",transport:n}=e;return zy({...e,key:t,name:r,transport:n,type:"walletClient"}).extend(Jm)}const ds={mainnet:{orderbook:"https://api.garden.finance",auth:"https://api.garden.finance/auth",quote:"https://api.garden.finance/quote",info:"https://api.garden.finance/info",evmRelay:"https://api.garden.finance/relayer",starknetRelay:"https://api.garden.finance/starknet"},testnet:{orderbook:"https://testnet.api.garden.finance",auth:"https://testnet.api.garden.finance/auth",quote:"https://testnet.api.garden.finance/quote",info:"https://testnet.api.garden.finance/info",evmRelay:"https://testnet.api.garden.finance/relayer",starknetRelay:"https://testnet.api.garden.finance/starknet"},localnet:{orderbook:"",auth:"",quote:"",info:"",evmRelay:"",starknetRelay:""}},Ai={[q.Network.MAINNET]:{chainId:"0x534e5f4d41494e",nodeUrl:"https://starknet-mainnet.public.blastapi.io/rpc/v0_8"},[q.Network.TESTNET]:{chainId:"0x534e5f5345504f4c4941",nodeUrl:"https://starknet-sepolia.public.blastapi.io/rpc/v0_8"}},su={chain:le.SupportedAssets.mainnet.base_cbBTC.chain,asset:le.SupportedAssets.mainnet.base_cbBTC.atomicSwapAddress};function ou(e){const t=typeof e=="string"?e:e.environment,r=t===q.Environment.MAINNET?ds.mainnet:q.Environment.TESTNET?ds.testnet:ds.localnet;return{api:typeof e=="string"?r:{...r,...e},environment:t}}function wa(e){return typeof e=="string"&&(e=Buffer.from(e,"hex")),e.length===32?e:e.subarray(1,33)}function Pr(e,t){if(!e)throw new Error(t)}function Qm(e){return Buffer.concat([Uint8Array.from([192]),Zm(e)])}function Zm(e){const t=kc.encodingLength(e.length),r=Buffer.allocUnsafe(t);return kc.encode(e.length,r),Buffer.concat([r,e])}function eb(e,t){if(e.compare(t)>0){const r=e;e=t,t=r}return[e,t]}const fr=e=>e.length===64?e:e.slice(2),tb=e=>{if(!e)return!1;try{const t=Buffer.from(e,"hex");return Or.isPoint(t)}catch{return!1}},_a=(e,t,r,n)=>e+":"+t.toLowerCase()+"::"+r+":"+n.toLowerCase();function rb(e,t){if(!e)return!1;const r=t===q.Environment.MAINNET?ce.networks.bitcoin:t===q.Environment.TESTNET?ce.networks.testnet:ce.networks.regtest;if(!r)return!1;ce.initEccLib(Or);try{return ce.address.toOutputScript(e,r),!0}catch{return!1}}const nb=e=>{switch(e){case q.Environment.MAINNET:return ln.BitcoinNetwork.Mainnet;case q.Environment.TESTNET:return ln.BitcoinNetwork.Testnet;default:throw new Error(`Invalid bitcoin network ${e}`)}},ib=e=>{const t=e.toLowerCase().replace("0x","");return/^[0-9a-f]+$/.test(t)},sb=e=>{if(typeof e=="object"&&"r"in e&&"s"in e)return q.Ok([e.r.toString(),e.s.toString()]);if(Array.isArray(e)){const t=e.map(r=>typeof r=="string"&&r.startsWith("0x")&&ib(r)?BigInt(r).toString():r);return q.Ok(t)}return q.Err("Invalid signature format")};var we=(e=>(e.Created="Created",e.Matched="Matched",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.CounterPartyInitiateDetected="CounterPartyInitiateDetected",e.CounterPartyInitiated="CounterPartyInitiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.CounterPartyRedeemDetected="CounterPartyRedeemDetected",e.CounterPartyRedeemed="CounterPartyRedeemed",e.Completed="Completed",e.CounterPartySwapExpired="CounterPartySwapExpired",e.Expired="Expired",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.CounterPartyRefundDetected="CounterPartyRefundDetected",e.CounterPartyRefunded="CounterPartyRefunded",e.Cancelled="Cancelled",e.DeadLineExceeded="DeadLineExceeded",e))(we||{}),xe=(e=>(e.Idle="Idle",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.Expired="Expired",e))(xe||{});const fc=(e,t,r)=>{const n=va(e.source_swap,t),i=va(e.destination_swap,r);if(i===xe.RedeemDetected)return we.RedeemDetected;if(i===xe.Redeemed)return we.Redeemed;if(n===xe.Refunded)return we.Refunded;if(n===xe.RefundDetected)return we.RefundDetected;if(i===xe.Expired)return we.CounterPartySwapExpired;if(n===xe.Expired)return we.Expired;if(i===xe.Refunded)return we.CounterPartyRefunded;if(i===xe.RefundDetected)return we.CounterPartyRefundDetected;const s=Number(e.create_order.additional_data.deadline);return i===xe.Initiated?we.CounterPartyInitiated:i===xe.InitiateDetected?we.CounterPartyInitiateDetected:Si(s,12)?we.DeadLineExceeded:n===xe.Initiated?we.Initiated:Si(s,1)?we.DeadLineExceeded:n===xe.InitiateDetected?we.InitiateDetected:n===xe.Redeemed?we.CounterPartyRedeemed:n===xe.RedeemDetected?we.CounterPartyRedeemDetected:we.Matched},va=(e,t)=>{if(e.redeem_tx_hash)return Number(e.redeem_block_number)?xe.Redeemed:xe.RedeemDetected;if(e.refund_tx_hash)return Number(e.refund_block_number)?xe.Refunded:xe.RefundDetected;if(Number(e.initiate_block_number)){const r=Number(e.initiate_block_number)+e.timelock;if(t>r)return xe.Expired}return e.initiate_tx_hash?Number(e.initiate_block_number)?xe.Initiated:xe.InitiateDetected:xe.Idle},ob=(e,t,r)=>{const n=fc(e,t,r);return dc(n)},dc=e=>{switch(e){case we.Matched:return Ce.Initiate;case we.CounterPartyInitiated:case we.CounterPartyInitiateDetected:case we.RedeemDetected:return Ce.Redeem;case we.Expired:return Ce.Refund;default:return Ce.Idle}},Si=(e,t=0)=>{const r=Date.now(),n=e*1e3+t*36e5;return r>=n},ab=e=>e.filter(t=>!Nd(t)),Nd=e=>{const{source_swap:t,create_order:r}=e,{initiate_tx_hash:n,initiate_block_number:i}=t,{deadline:s}=r.additional_data;return n&&Number(i)?!1:n&&!Number(i)?Si(Number(s),12):n?!1:Si(Number(s),1)},cb=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),ub=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),fb=Buffer.concat([cb,ub]),db=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),au={failedToCreateInternalPubkey:"failed to create internal pubkey"};function lb(){const e=of.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),t=Or.pointMultiply(Buffer.concat([Buffer.from("04","hex"),fb]),e);if(!t)throw new Error(au.failedToCreateInternalPubkey);const r=Or.pointAdd(db,t);if(!r)throw new Error(au.failedToCreateInternalPubkey);return wa(Buffer.from(r))}var Ae={},Ve={},Zt={},qs={};qs.byteLength=yb;qs.toByteArray=bb;qs.fromByteArray=_b;var kt=[],ht=[],hb=typeof Uint8Array<"u"?Uint8Array:Array,Io="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Yr=0,pb=Io.length;Yr<pb;++Yr)kt[Yr]=Io[Yr],ht[Io.charCodeAt(Yr)]=Yr;ht[45]=62;ht[95]=63;function Ld(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function yb(e){var t=Ld(e),r=t[0],n=t[1];return(r+n)*3/4-n}function mb(e,t,r){return(t+r)*3/4-r}function bb(e){var t,r=Ld(e),n=r[0],i=r[1],s=new hb(mb(e,n,i)),o=0,a=i>0?n-4:n,c;for(c=0;c<a;c+=4)t=ht[e.charCodeAt(c)]<<18|ht[e.charCodeAt(c+1)]<<12|ht[e.charCodeAt(c+2)]<<6|ht[e.charCodeAt(c+3)],s[o++]=t>>16&255,s[o++]=t>>8&255,s[o++]=t&255;return i===2&&(t=ht[e.charCodeAt(c)]<<2|ht[e.charCodeAt(c+1)]>>4,s[o++]=t&255),i===1&&(t=ht[e.charCodeAt(c)]<<10|ht[e.charCodeAt(c+1)]<<4|ht[e.charCodeAt(c+2)]>>2,s[o++]=t>>8&255,s[o++]=t&255),s}function gb(e){return kt[e>>18&63]+kt[e>>12&63]+kt[e>>6&63]+kt[e&63]}function wb(e,t,r){for(var n,i=[],s=t;s<r;s+=3)n=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(e[s+2]&255),i.push(gb(n));return i.join("")}function _b(e){for(var t,r=e.length,n=r%3,i=[],s=16383,o=0,a=r-n;o<a;o+=s)i.push(wb(e,o,o+s>a?a:o+s));return n===1?(t=e[r-1],i.push(kt[t>>2]+kt[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(kt[t>>10]+kt[t>>4&63]+kt[t<<2&63]+"=")),i.join("")}var lc={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */lc.read=function(e,t,r,n,i){var s,o,a=i*8-n-1,c=(1<<a)-1,f=c>>1,l=-7,h=r?i-1:0,y=r?-1:1,p=e[t+h];for(h+=y,s=p&(1<<-l)-1,p>>=-l,l+=a;l>0;s=s*256+e[t+h],h+=y,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=n;l>0;o=o*256+e[t+h],h+=y,l-=8);if(s===0)s=1-f;else{if(s===c)return o?NaN:(p?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-f}return(p?-1:1)*o*Math.pow(2,s-n)};lc.write=function(e,t,r,n,i,s){var o,a,c,f=s*8-i-1,l=(1<<f)-1,h=l>>1,y=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:s-1,g=n?1:-1,_=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+h>=1?t+=y/c:t+=y*Math.pow(2,1-h),t*c>=2&&(o++,c/=2),o+h>=l?(a=0,o=l):o+h>=1?(a=(t*c-1)*Math.pow(2,i),o=o+h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=a&255,p+=g,a/=256,i-=8);for(o=o<<i|a,f+=i;f>0;e[r+p]=o&255,p+=g,o/=256,f-=8);e[r+p-g]|=_*128};/*!
|
|
31
|
+
`)}class Ep extends L{constructor(){super(["Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.","Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others."].join(`
|
|
32
|
+
`),{name:"FeeConflictError"})}}class xp extends L{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class Ap extends L{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Ui(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class Sp extends L{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}class Pp extends L{constructor(t,{account:r,docsPath:n,chain:i,data:s,gas:o,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:f,nonce:l,to:h,value:y}){var g;const p=Ui({chain:i&&`${i==null?void 0:i.name} (id: ${i==null?void 0:i.id})`,from:r==null?void 0:r.address,to:h,value:typeof y<"u"&&`${qa(y)} ${((g=i==null?void 0:i.nativeCurrency)==null?void 0:g.symbol)||"ETH"}`,data:s,gas:o,gasPrice:typeof a<"u"&&`${nt(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${nt(c)} gwei`,maxPriorityFeePerGas:typeof f<"u"&&`${nt(f)} gwei`,nonce:l});super(t.shortMessage,{cause:t,docsPath:n,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Request Arguments:",p].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}const Tp=e=>e,Ms=e=>e;class kp extends L{constructor(t,{account:r,docsPath:n,chain:i,data:s,gas:o,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:f,nonce:l,to:h,value:y,stateOverride:p}){var x;const g=r?Ne(r):void 0;let _=Ui({from:g==null?void 0:g.address,to:h,value:typeof y<"u"&&`${qa(y)} ${((x=i==null?void 0:i.nativeCurrency)==null?void 0:x.symbol)||"ETH"}`,data:s,gas:o,gasPrice:typeof a<"u"&&`${nt(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${nt(c)} gwei`,maxPriorityFeePerGas:typeof f<"u"&&`${nt(f)} gwei`,nonce:l});p&&(_+=`
|
|
33
|
+
${vp(p)}`),super(t.shortMessage,{cause:t,docsPath:n,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",_].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}class Ip extends L{constructor(t,{abi:r,args:n,contractAddress:i,docsPath:s,functionName:o,sender:a}){const c=Pn({abi:r,args:n,name:o}),f=c?Yf({abiItem:c,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=c?Bt(c,{includeName:!0}):void 0,h=Ui({address:i&&Tp(i),function:l,args:f&&f!=="()"&&`${[...Array((o==null?void 0:o.length)??0).keys()].map(()=>" ").join("")}${f}`,sender:a});super(t.shortMessage||`An unknown error occurred while executing the contract function "${o}".`,{cause:t,docsPath:s,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],h&&"Contract Call:",h].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=r,this.args=n,this.cause=t,this.contractAddress=i,this.functionName=o,this.sender=a}}class Bp extends L{constructor({abi:t,data:r,functionName:n,message:i}){let s,o,a,c;if(r&&r!=="0x")try{o=Kf({abi:t,data:r});const{abiItem:l,errorName:h,args:y}=o;if(h==="Error")c=y[0];else if(h==="Panic"){const[p]=y;c=np[p]}else{const p=l?Bt(l,{includeName:!0}):void 0,g=l&&y?Yf({abiItem:l,args:y,includeFunctionName:!1,includeName:!1}):void 0;a=[p?`Error: ${p}`:"",g&&g!=="()"?` ${[...Array((h==null?void 0:h.length)??0).keys()].map(()=>" ").join("")}${g}`:""]}}catch(l){s=l}else i&&(c=i);let f;s instanceof Sf&&(f=s.signature,a=[`Unable to decode signature "${f}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${f}.`]),super(c&&c!=="execution reverted"||f?[`The contract function "${n}" reverted with the following ${f?"signature":"reason"}:`,c||f].join(`
|
|
34
|
+
`):`The contract function "${n}" reverted.`,{cause:s,metaMessages:a,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=o,this.raw=r,this.reason=c,this.signature=f}}class Cp extends L{constructor({functionName:t}){super(`The contract function "${t}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${t}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}}class Op extends L{constructor({factory:t}){super(`Deployment for counterfactual contract call failed${t?` for factory "${t}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}}class Jf extends L{constructor({data:t,message:r}){super(r||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t}}class on extends L{constructor({body:t,cause:r,details:n,headers:i,status:s,url:o}){super("HTTP request failed.",{cause:r,details:n,metaMessages:[s&&`Status: ${s}`,`URL: ${Ms(o)}`,t&&`Request body: ${rt(t)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=t,this.headers=i,this.status=s,this.url=o}}class Va extends L{constructor({body:t,error:r,url:n}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${Ms(n)}`,`Request body: ${rt(t)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=r.code,this.data=r.data}}class Wc extends L{constructor({body:t,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${Ms(r)}`,`Request body: ${rt(t)}`],name:"TimeoutError"})}}const Rp=-1;class it extends L{constructor(t,{code:r,docsPath:n,metaMessages:i,name:s,shortMessage:o}){super(o,{cause:t,docsPath:n,metaMessages:i||(t==null?void 0:t.metaMessages),name:s||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=s||t.name,this.code=t instanceof Va?t.code:r??Rp}}class ct extends it{constructor(t,r){super(t,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}}class ni extends it{constructor(t){super(t,{code:ni.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}}Object.defineProperty(ni,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class ii extends it{constructor(t){super(t,{code:ii.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}}Object.defineProperty(ii,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class si extends it{constructor(t,{method:r}={}){super(t,{code:si.code,name:"MethodNotFoundRpcError",shortMessage:`The method${r?` "${r}"`:""} does not exist / is not available.`})}}Object.defineProperty(si,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class oi extends it{constructor(t){super(t,{code:oi.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
|
|
35
|
+
`)})}}Object.defineProperty(oi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class Nr extends it{constructor(t){super(t,{code:Nr.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}}Object.defineProperty(Nr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class pn extends it{constructor(t){super(t,{code:pn.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
|
|
36
|
+
`)})}}Object.defineProperty(pn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class ai extends it{constructor(t){super(t,{code:ai.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(ai,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class ci extends it{constructor(t){super(t,{code:ci.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}}Object.defineProperty(ci,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class ui extends it{constructor(t){super(t,{code:ui.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}}Object.defineProperty(ui,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class Ir extends it{constructor(t,{method:r}={}){super(t,{code:Ir.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}}Object.defineProperty(Ir,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class yn extends it{constructor(t){super(t,{code:yn.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}}Object.defineProperty(yn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class fi extends it{constructor(t){super(t,{code:fi.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}}Object.defineProperty(fi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class an extends ct{constructor(t){super(t,{code:an.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}}Object.defineProperty(an,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class di extends ct{constructor(t){super(t,{code:di.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}}Object.defineProperty(di,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class li extends ct{constructor(t,{method:r}={}){super(t,{code:li.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}}Object.defineProperty(li,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class hi extends ct{constructor(t){super(t,{code:hi.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}}Object.defineProperty(hi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class pi extends ct{constructor(t){super(t,{code:pi.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}}Object.defineProperty(pi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class yi extends ct{constructor(t){super(t,{code:yi.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}}Object.defineProperty(yi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class mi extends ct{constructor(t){super(t,{code:mi.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty(mi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class bi extends ct{constructor(t){super(t,{code:bi.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}}Object.defineProperty(bi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});class gi extends ct{constructor(t){super(t,{code:gi.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}}Object.defineProperty(gi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});class wi extends ct{constructor(t){super(t,{code:wi.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}}Object.defineProperty(wi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});class _i extends ct{constructor(t){super(t,{code:_i.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}}Object.defineProperty(_i,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});class vi extends ct{constructor(t){super(t,{code:vi.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}}Object.defineProperty(vi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});class Ei extends ct{constructor(t){super(t,{code:Ei.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(Ei,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});class Fp extends it{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}const Up=3;function $s(e,{abi:t,address:r,args:n,docsPath:i,functionName:s,sender:o}){const a=e instanceof Jf?e:e instanceof L?e.walk(g=>"data"in g)||e.walk():{},{code:c,data:f,details:l,message:h,shortMessage:y}=a,p=e instanceof Na?new Cp({functionName:s}):[Up,Nr.code].includes(c)&&(f||l||h||y)?new Bp({abi:t,data:typeof f=="object"?f.data:f,functionName:s,message:a instanceof Va?l:y??h}):e;return new Ip(p,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:s,sender:o})}function Np(e){const t=Sn(`0x${e.substring(4)}`).substring(26);return Ri(`0x${t}`)}async function Lp({hash:e,signature:t}){const r=qt(e)?e:J(e),{secp256k1:n}=await Promise.resolve().then(()=>require("./secp256k1-CO0Q3cOC.cjs"));return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){const{r:f,s:l,v:h,yParity:y}=t,p=Number(y??h),g=Kc(p);return new n.Signature(pt(f),pt(l)).addRecoveryBit(g)}const o=qt(t)?t:J(t),a=Vt(`0x${o.slice(130)}`),c=Kc(a);return n.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Kc(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw new Error("Invalid yParityOrV value")}async function Mp({hash:e,signature:t}){return Np(await Lp({hash:e,signature:t}))}function mr(e,t="hex"){const r=Qf(e),n=za(new Uint8Array(r.length));return r.encode(n),t==="hex"?Ze(n.bytes):n.bytes}function Qf(e){return Array.isArray(e)?$p(e.map(t=>Qf(t))):Hp(e)}function $p(e){const t=e.reduce((i,s)=>i+s.length,0),r=Zf(t);return{length:t<=55?1+t:1+r+t,encode(i){t<=55?i.pushByte(192+t):(i.pushByte(247+r),r===1?i.pushUint8(t):r===2?i.pushUint16(t):r===3?i.pushUint24(t):i.pushUint32(t));for(const{encode:s}of e)s(i)}}}function Hp(e){const t=typeof e=="string"?Wt(e):e,r=Zf(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(i){t.length===1&&t[0]<128?i.pushBytes(t):t.length<=55?(i.pushByte(128+t.length),i.pushBytes(t)):(i.pushByte(183+r),r===1?i.pushUint8(t.length):r===2?i.pushUint16(t.length):r===3?i.pushUint24(t.length):i.pushUint32(t.length),i.pushBytes(t))}}}function Zf(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new L("Length is too large.")}function Dp(e){const{chainId:t,nonce:r,to:n}=e,i=e.contractAddress??e.address,s=Sn(Ot(["0x05",mr([t?Q(t):"0x",i,r?Q(r):"0x"])]));return n==="bytes"?Wt(s):s}async function ed(e){const{authorization:t,signature:r}=e;return Mp({hash:Dp(t),signature:r??t})}class jp extends L{constructor(t,{account:r,docsPath:n,chain:i,data:s,gas:o,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:f,nonce:l,to:h,value:y}){var g;const p=Ui({from:r==null?void 0:r.address,to:h,value:typeof y<"u"&&`${qa(y)} ${((g=i==null?void 0:i.nativeCurrency)==null?void 0:g.symbol)||"ETH"}`,data:s,gas:o,gasPrice:typeof a<"u"&&`${nt(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${nt(c)} gwei`,maxPriorityFeePerGas:typeof f<"u"&&`${nt(f)} gwei`,nonce:l});super(t.shortMessage,{cause:t,docsPath:n,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",p].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}class rn extends L{constructor({cause:t,message:r}={}){var i;const n=(i=r==null?void 0:r.replace("execution reverted: ",""))==null?void 0:i.replace("execution reverted","");super(`Execution reverted ${n?`with reason: ${n}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}}Object.defineProperty(rn,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(rn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class Lr extends L{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${nt(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(Lr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class aa extends L{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${nt(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}}Object.defineProperty(aa,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class ca extends L{constructor({cause:t,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}}Object.defineProperty(ca,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class ua extends L{constructor({cause:t,nonce:r}={}){super([`Nonce provided for the transaction ${r?`(${r}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
|
|
37
|
+
`),{cause:t,name:"NonceTooLowError"})}}Object.defineProperty(ua,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class fa extends L{constructor({cause:t,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}}Object.defineProperty(fa,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class da extends L{constructor({cause:t}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
|
|
38
|
+
`),{cause:t,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(da,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class la extends L{constructor({cause:t,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(la,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class ha extends L{constructor({cause:t,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(ha,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class pa extends L{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(pa,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class xi extends L{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${nt(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${nt(n)} gwei`:""}).`].join(`
|
|
39
|
+
`),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(xi,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class Hs extends L{constructor({cause:t}){super(`An error occurred while executing: ${t==null?void 0:t.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}function Wa(e,t){const r=(e.details||"").toLowerCase(),n=e instanceof L?e.walk(i=>(i==null?void 0:i.code)===rn.code):e;return n instanceof L?new rn({cause:e,message:n.details}):rn.nodeMessage.test(r)?new rn({cause:e,message:e.details}):Lr.nodeMessage.test(r)?new Lr({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas}):aa.nodeMessage.test(r)?new aa({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas}):ca.nodeMessage.test(r)?new ca({cause:e,nonce:t==null?void 0:t.nonce}):ua.nodeMessage.test(r)?new ua({cause:e,nonce:t==null?void 0:t.nonce}):fa.nodeMessage.test(r)?new fa({cause:e,nonce:t==null?void 0:t.nonce}):da.nodeMessage.test(r)?new da({cause:e}):la.nodeMessage.test(r)?new la({cause:e,gas:t==null?void 0:t.gas}):ha.nodeMessage.test(r)?new ha({cause:e,gas:t==null?void 0:t.gas}):pa.nodeMessage.test(r)?new pa({cause:e}):xi.nodeMessage.test(r)?new xi({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas,maxPriorityFeePerGas:t==null?void 0:t.maxPriorityFeePerGas}):new Hs({cause:e})}function Gp(e,{docsPath:t,...r}){const n=(()=>{const i=Wa(e,r);return i instanceof Hs?e:i})();return new jp(n,{docsPath:t,...r})}function Ka(e,{format:t}){if(!t)return{};const r={};function n(s){const o=Object.keys(s);for(const a of o)a in e&&(r[a]=e[a]),s[a]&&typeof s[a]=="object"&&!Array.isArray(s[a])&&n(s[a])}const i=t(e||{});return n(i),r}function Ya(e,t){return({exclude:r,format:n})=>({exclude:r,format:i=>{const s=t(i);if(r)for(const o of r)delete s[o];return{...s,...n(i)}},type:e})}const zp={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function Ds(e){const t={};return typeof e.authorizationList<"u"&&(t.authorizationList=qp(e.authorizationList)),typeof e.accessList<"u"&&(t.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(t.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?t.blobs=e.blobs.map(r=>Ze(r)):t.blobs=e.blobs),typeof e.data<"u"&&(t.data=e.data),typeof e.from<"u"&&(t.from=e.from),typeof e.gas<"u"&&(t.gas=Q(e.gas)),typeof e.gasPrice<"u"&&(t.gasPrice=Q(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(t.maxFeePerBlobGas=Q(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(t.maxFeePerGas=Q(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(t.maxPriorityFeePerGas=Q(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(t.nonce=Q(e.nonce)),typeof e.to<"u"&&(t.to=e.to),typeof e.type<"u"&&(t.type=zp[e.type]),typeof e.value<"u"&&(t.value=Q(e.value)),t}function qp(e){return e.map(t=>({address:t.address,r:t.r?Q(BigInt(t.r)):t.r,s:t.s?Q(BigInt(t.s)):t.s,chainId:Q(t.chainId),nonce:Q(t.nonce),...typeof t.yParity<"u"?{yParity:Q(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:Q(t.v)}:{}}))}function Yc(e){if(!(!e||e.length===0))return e.reduce((t,{slot:r,value:n})=>{if(r.length!==66)throw new Fc({size:r.length,targetSize:66,type:"hex"});if(n.length!==66)throw new Fc({size:n.length,targetSize:66,type:"hex"});return t[r]=n,t},{})}function Vp(e){const{balance:t,nonce:r,state:n,stateDiff:i,code:s}=e,o={};if(s!==void 0&&(o.code=s),t!==void 0&&(o.balance=Q(t)),r!==void 0&&(o.nonce=Q(r)),n!==void 0&&(o.state=Yc(n)),i!==void 0){if(o.state)throw new _p;o.stateDiff=Yc(i)}return o}function td(e){if(!e)return;const t={};for(const{address:r,...n}of e){if(!Ue(r,{strict:!1}))throw new et({address:r});if(t[r])throw new wp({address:r});t[r]=Vp(n)}return t}const js=2n**256n-1n;function Ni(e){const{account:t,gasPrice:r,maxFeePerGas:n,maxPriorityFeePerGas:i,to:s}=e,o=t?Ne(t):void 0;if(o&&!Ue(o.address))throw new et({address:o.address});if(s&&!Ue(s))throw new et({address:s});if(typeof r<"u"&&(typeof n<"u"||typeof i<"u"))throw new Ep;if(n&&n>js)throw new Lr({maxFeePerGas:n});if(i&&n&&i>n)throw new xi({maxFeePerGas:n,maxPriorityFeePerGas:i})}class Wp extends L{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class Xa extends L{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class Kp extends L{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${nt(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class Yp extends L{constructor({blockHash:t,blockNumber:r}){let n="Block";t&&(n=`Block at hash "${t}"`),r&&(n=`Block at number "${r}"`),super(`${n} could not be found.`,{name:"BlockNotFoundError"})}}const rd={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Ja(e){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?Vt(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?Vt(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?rd[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(t.authorizationList=Jp(e.authorizationList)),t.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof t.v=="bigint"){if(t.v===0n||t.v===27n)return 0;if(t.v===1n||t.v===28n)return 1;if(t.v>=35n)return t.v%2n===0n?1:0}})(),t.type==="legacy"&&(delete t.accessList,delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas,delete t.yParity),t.type==="eip2930"&&(delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas),t.type==="eip1559"&&delete t.maxFeePerBlobGas,t}const Xp=Ya("transaction",Ja);function Jp(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function nd(e){const t=(e.transactions??[]).map(r=>typeof r=="string"?r:Ja(r));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const Qp=Ya("block",nd);async function As(e,{blockHash:t,blockNumber:r,blockTag:n,includeTransactions:i}={}){var l,h,y;const s=n??"latest",o=i??!1,a=r!==void 0?Q(r):void 0;let c=null;if(t?c=await e.request({method:"eth_getBlockByHash",params:[t,o]},{dedupe:!0}):c=await e.request({method:"eth_getBlockByNumber",params:[a||s,o]},{dedupe:!!a}),!c)throw new Yp({blockHash:t,blockNumber:r});return(((y=(h=(l=e.chain)==null?void 0:l.formatters)==null?void 0:h.block)==null?void 0:y.format)||nd)(c)}async function id(e){const t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function Zp(e,t){var s,o;const{block:r,chain:n=e.chain,request:i}=t||{};try{const a=((s=n==null?void 0:n.fees)==null?void 0:s.maxPriorityFeePerGas)??((o=n==null?void 0:n.fees)==null?void 0:o.defaultPriorityFee);if(typeof a=="function"){const f=r||await oe(e,As,"getBlock")({}),l=await a({block:f,client:e,request:i});if(l===null)throw new Error;return l}if(typeof a<"u")return a;const c=await e.request({method:"eth_maxPriorityFeePerGas"});return pt(c)}catch{const[a,c]=await Promise.all([r?Promise.resolve(r):oe(e,As,"getBlock")({}),oe(e,id,"getGasPrice")({})]);if(typeof a.baseFeePerGas!="bigint")throw new Xa;const f=c-a.baseFeePerGas;return f<0n?0n:f}}async function Xc(e,t){var y,p;const{block:r,chain:n=e.chain,request:i,type:s="eip1559"}=t||{},o=await(async()=>{var g,_;return typeof((g=n==null?void 0:n.fees)==null?void 0:g.baseFeeMultiplier)=="function"?n.fees.baseFeeMultiplier({block:r,client:e,request:i}):((_=n==null?void 0:n.fees)==null?void 0:_.baseFeeMultiplier)??1.2})();if(o<1)throw new Wp;const c=10**(((y=o.toString().split(".")[1])==null?void 0:y.length)??0),f=g=>g*BigInt(Math.ceil(o*c))/BigInt(c),l=r||await oe(e,As,"getBlock")({});if(typeof((p=n==null?void 0:n.fees)==null?void 0:p.estimateFeesPerGas)=="function"){const g=await n.fees.estimateFeesPerGas({block:r,client:e,multiply:f,request:i,type:s});if(g!==null)return g}if(s==="eip1559"){if(typeof l.baseFeePerGas!="bigint")throw new Xa;const g=typeof(i==null?void 0:i.maxPriorityFeePerGas)=="bigint"?i.maxPriorityFeePerGas:await Zp(e,{block:l,chain:n,request:i}),_=f(l.baseFeePerGas);return{maxFeePerGas:(i==null?void 0:i.maxFeePerGas)??_+g,maxPriorityFeePerGas:g}}return{gasPrice:(i==null?void 0:i.gasPrice)??f(await oe(e,id,"getGasPrice")({}))}}async function sd(e,{address:t,blockTag:r="latest",blockNumber:n}){const i=await e.request({method:"eth_getTransactionCount",params:[t,n?Q(n):r]},{dedupe:!!n});return Vt(i)}function Qa(e){const{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),n=typeof e.blobs[0]=="string"?e.blobs.map(s=>Wt(s)):e.blobs,i=[];for(const s of n)i.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?i:i.map(s=>Ze(s))}function Za(e){const{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),n=typeof e.blobs[0]=="string"?e.blobs.map(o=>Wt(o)):e.blobs,i=typeof e.commitments[0]=="string"?e.commitments.map(o=>Wt(o)):e.commitments,s=[];for(let o=0;o<n.length;o++){const a=n[o],c=i[o];s.push(Uint8Array.from(t.computeBlobKzgProof(a,c)))}return r==="bytes"?s:s.map(o=>Ze(o))}function ey(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);const i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),c=n?4:0,f=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+f,a,n)}function ty(e,t,r){return e&t^~e&r}function ry(e,t,r){return e&t^e&r^t&r}let ny=class extends Ma{constructor(t,r,n,i){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.buffer=new Uint8Array(t),this.view=bo(this.buffer)}update(t){ti(this);const{view:r,buffer:n,blockLen:i}=this;t=Rs(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const c=bo(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ti(this),Ff(t,this),this.finished=!0;const{buffer:r,view:n,blockLen:i,isLE:s}=this;let{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let h=o;h<i;h++)r[h]=0;ey(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=bo(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const f=c/4,l=this.get();if(f>l.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<f;h++)a.setUint32(4*h,l[h],s)}digest(){const{buffer:t,outputLen:r}=this;this.digestInto(t);const n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}};const iy=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),rr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),nr=new Uint32Array(64);let sy=class extends ny{constructor(t=32){super(64,t,8,!1),this.A=rr[0]|0,this.B=rr[1]|0,this.C=rr[2]|0,this.D=rr[3]|0,this.E=rr[4]|0,this.F=rr[5]|0,this.G=rr[6]|0,this.H=rr[7]|0}get(){const{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[t,r,n,i,s,o,a,c]}set(t,r,n,i,s,o,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,r){for(let h=0;h<16;h++,r+=4)nr[h]=t.getUint32(r,!1);for(let h=16;h<64;h++){const y=nr[h-15],p=nr[h-2],g=vt(y,7)^vt(y,18)^y>>>3,_=vt(p,17)^vt(p,19)^p>>>10;nr[h]=_+nr[h-7]+g+nr[h-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:f,H:l}=this;for(let h=0;h<64;h++){const y=vt(a,6)^vt(a,11)^vt(a,25),p=l+y+ty(a,c,f)+iy[h]+nr[h]|0,_=(vt(n,2)^vt(n,13)^vt(n,22))+ry(n,i,s)|0;l=f,f=c,c=a,a=o+p|0,o=s,s=i,i=n,n=p+_|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(n,i,s,o,a,c,f,l)}roundClean(){nr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const od=Uf(()=>new sy);function Wn(e,t){const r=t||"hex",n=od(qt(e,{strict:!1})?Ci(e):e);return r==="bytes"?n:J(n)}function oy(e){const{commitment:t,version:r=1}=e,n=e.to??(typeof t=="string"?"hex":"bytes"),i=Wn(t,"bytes");return i.set([r],0),n==="bytes"?i:Ze(i)}function ad(e){const{commitments:t,version:r}=e,n=e.to??(typeof t[0]=="string"?"hex":"bytes"),i=[];for(const s of t)i.push(oy({commitment:s,to:n,version:r}));return i}const Jc=6,cd=32,ec=4096,ud=cd*ec,Qc=ud*Jc-1-1*ec*Jc,fd=1;class ay extends L{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class dd extends L{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class cy extends L{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class uy extends L{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${fd}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}function fy(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?Wt(e.data):e.data,n=Ie(r);if(!n)throw new dd;if(n>Qc)throw new ay({maxSize:Qc,size:n});const i=[];let s=!0,o=0;for(;s;){const a=za(new Uint8Array(ud));let c=0;for(;c<ec;){const f=r.slice(o,o+(cd-1));if(a.pushByte(0),a.pushBytes(f),f.length<31){a.pushByte(128),s=!1;break}c++,o+=31}i.push(a)}return t==="bytes"?i.map(a=>a.bytes):i.map(a=>Ze(a.bytes))}function ld(e){const{data:t,kzg:r,to:n}=e,i=e.blobs??fy({data:t,to:n}),s=e.commitments??Qa({blobs:i,kzg:r,to:n}),o=e.proofs??Za({blobs:i,commitments:s,kzg:r,to:n}),a=[];for(let c=0;c<i.length;c++)a.push({blob:i[c],commitment:s[c],proof:o[c]});return a}function hd(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new Ap({transaction:e})}async function Li(e){const t=await e.request({method:"eth_chainId"},{dedupe:!0});return Vt(t)}const pd=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Zc=new Map;async function tc(e,t){const{account:r=e.account,blobs:n,chain:i,gas:s,kzg:o,nonce:a,nonceManager:c,parameters:f=pd,type:l}=t,h=r&&Ne(r),y={...t,...h?{from:h==null?void 0:h.address}:{}};let p;async function g(){return p||(p=await oe(e,As,"getBlock")({blockTag:"latest"}),p)}let _;async function x(){return _||(i?i.id:typeof t.chainId<"u"?t.chainId:(_=await oe(e,Li,"getChainId")({}),_))}if(f.includes("nonce")&&typeof a>"u"&&h)if(c){const k=await x();y.nonce=await c.consume({address:h.address,chainId:k,client:e})}else y.nonce=await oe(e,sd,"getTransactionCount")({address:h.address,blockTag:"pending"});if((f.includes("blobVersionedHashes")||f.includes("sidecars"))&&n&&o){const k=Qa({blobs:n,kzg:o});if(f.includes("blobVersionedHashes")){const T=ad({commitments:k,to:"hex"});y.blobVersionedHashes=T}if(f.includes("sidecars")){const T=Za({blobs:n,commitments:k,kzg:o}),A=ld({blobs:n,commitments:k,proofs:T,to:"hex"});y.sidecars=A}}if(f.includes("chainId")&&(y.chainId=await x()),(f.includes("fees")||f.includes("type"))&&typeof l>"u")try{y.type=hd(y)}catch{let k=Zc.get(e.uid);if(typeof k>"u"){const T=await g();k=typeof(T==null?void 0:T.baseFeePerGas)=="bigint",Zc.set(e.uid,k)}y.type=k?"eip1559":"legacy"}if(f.includes("fees"))if(y.type!=="legacy"&&y.type!=="eip2930"){if(typeof y.maxFeePerGas>"u"||typeof y.maxPriorityFeePerGas>"u"){const k=await g(),{maxFeePerGas:T,maxPriorityFeePerGas:A}=await Xc(e,{block:k,chain:i,request:y});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<A)throw new Kp({maxPriorityFeePerGas:A});y.maxPriorityFeePerGas=A,y.maxFeePerGas=T}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new Xa;if(typeof t.gasPrice>"u"){const k=await g(),{gasPrice:T}=await Xc(e,{block:k,chain:i,request:y,type:"legacy"});y.gasPrice=T}}return f.includes("gas")&&typeof s>"u"&&(y.gas=await oe(e,yd,"estimateGas")({...y,account:h&&{address:h.address,type:"json-rpc"}})),Ni(y),delete y.parameters,y}async function dy(e,{address:t,blockNumber:r,blockTag:n="latest"}){const i=r?Q(r):void 0,s=await e.request({method:"eth_getBalance",params:[t,i||n]});return BigInt(s)}async function yd(e,t){var i,s,o;const{account:r=e.account}=t,n=r?Ne(r):void 0;try{let V=function(ne){const{block:pe,request:_e,rpcStateOverride:Te}=ne;return e.request({method:"eth_estimateGas",params:Te?[_e,pe??"latest",Te]:pe?[_e,pe]:[_e]})};const{accessList:a,authorizationList:c,blobs:f,blobVersionedHashes:l,blockNumber:h,blockTag:y,data:p,gas:g,gasPrice:_,maxFeePerBlobGas:x,maxFeePerGas:k,maxPriorityFeePerGas:T,nonce:A,value:E,stateOverride:I,...S}=await tc(e,{...t,parameters:(n==null?void 0:n.type)==="local"?void 0:["blobVersionedHashes"]}),$=(h?Q(h):void 0)||y,B=td(I),W=await(async()=>{if(S.to)return S.to;if(c&&c.length>0)return await ed({authorization:c[0]}).catch(()=>{throw new L("`to` is required. Could not infer from `authorizationList`")})})();Ni(t);const R=(o=(s=(i=e.chain)==null?void 0:i.formatters)==null?void 0:s.transactionRequest)==null?void 0:o.format,j=(R||Ds)({...Ka(S,{format:R}),from:n==null?void 0:n.address,accessList:a,authorizationList:c,blobs:f,blobVersionedHashes:l,data:p,gas:g,gasPrice:_,maxFeePerBlobGas:x,maxFeePerGas:k,maxPriorityFeePerGas:T,nonce:A,to:W,value:E});let X=BigInt(await V({block:$,request:j,rpcStateOverride:B}));if(c){const ne=await dy(e,{address:j.from}),pe=await Promise.all(c.map(async _e=>{const{address:Te}=_e,We=await V({block:$,request:{authorizationList:void 0,data:p,from:n==null?void 0:n.address,to:Te,value:Q(ne)},rpcStateOverride:B}).catch(()=>100000n);return 2n*BigInt(We)}));X+=pe.reduce((_e,Te)=>_e+Te,0n)}return X}catch(a){throw Gp(a,{...t,account:n,chain:e.chain})}}async function ly(e,t){const{abi:r,address:n,args:i,functionName:s,dataSuffix:o,...a}=t,c=Tn({abi:r,args:i,functionName:s});try{return await oe(e,yd,"estimateGas")({data:`${c}${o?o.replace("0x",""):""}`,to:n,...a})}catch(f){const l=a.account?Ne(a.account):void 0;throw $s(f,{abi:r,address:n,args:i,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:l==null?void 0:l.address})}}function rc(e,t){if(!Ue(e,{strict:!1}))throw new et({address:e});if(!Ue(t,{strict:!1}))throw new et({address:t});return e.toLowerCase()===t.toLowerCase()}const eu="/docs/contract/decodeEventLog";function md(e){const{abi:t,data:r,strict:n,topics:i}=e,s=n??!0,[o,...a]=i;if(!o)throw new Zh({docsPath:eu});const c=t.length===1?t[0]:t.find(_=>_.type==="event"&&o===Fs(Bt(_)));if(!(c&&"name"in c)||c.type!=="event")throw new Pf(o,{docsPath:eu});const{name:f,inputs:l}=c,h=l==null?void 0:l.some(_=>!("name"in _&&_.name));let y=h?[]:{};const p=l.filter(_=>"indexed"in _&&_.indexed);for(let _=0;_<p.length;_++){const x=p[_],k=a[_];if(!k)throw new La({abiItem:c,param:x});y[h?_:x.name||_]=hy({param:x,value:k})}const g=l.filter(_=>!("indexed"in _&&_.indexed));if(g.length>0){if(r&&r!=="0x")try{const _=Fi(g,r);if(_)if(h)y=[...y,..._];else for(let x=0;x<g.length;x++)y[g[x].name]=_[x]}catch(_){if(s)throw _ instanceof Af||_ instanceof Wf?new Es({abiItem:c,data:r,params:g,size:Ie(r)}):_}else if(s)throw new Es({abiItem:c,data:"0x",params:g,size:0})}return{eventName:f,args:Object.values(y).length>0?y:void 0}}function hy({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Fi([e],t)||[])[0]}function bd(e){const{abi:t,args:r,logs:n,strict:i=!0}=e,s=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return n.map(o=>{var a;try{const c=t.find(l=>l.type==="event"&&o.topics[0]===Fs(l));if(!c)return null;const f=md({...o,abi:[c],strict:i});return s&&!s.includes(f.eventName)||!py({args:f.args,inputs:c.inputs,matchArgs:r})?null:{...f,...o}}catch(c){let f,l;if(c instanceof Pf)return null;if(c instanceof Es||c instanceof La){if(i)return null;f=c.abiItem.name,l=(a=c.abiItem.inputs)==null?void 0:a.some(h=>!("name"in h&&h.name))}return{...o,args:l?[]:{},eventName:f}}}).filter(Boolean)}function py(e){const{args:t,inputs:r,matchArgs:n}=e;if(!n)return!0;if(!t)return!1;function i(s,o,a){try{return s.type==="address"?rc(o,a):s.type==="string"||s.type==="bytes"?Sn(Ci(o))===a:o===a}catch{return!1}}return Array.isArray(t)&&Array.isArray(n)?n.every((s,o)=>{if(s==null)return!0;const a=r[o];return a?(Array.isArray(s)?s:[s]).some(f=>i(a,f,t[o])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof n=="object"&&!Array.isArray(n)?Object.entries(n).every(([s,o])=>{if(o==null)return!0;const a=r.find(f=>f.name===s);return a?(Array.isArray(o)?o:[o]).some(f=>i(a,f,t[s])):!1}):!1}function Ai(e,{args:t,eventName:r}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...r?{args:t,eventName:r}:{}}}async function yy(e,{address:t,blockHash:r,fromBlock:n,toBlock:i,event:s,events:o,args:a,strict:c}={}){const f=c??!1,l=o??(s?[s]:void 0);let h=[];l&&(h=[l.flatMap(_=>Ga({abi:[_],eventName:_.name,args:o?void 0:a}))],s&&(h=h[0]));let y;r?y=await e.request({method:"eth_getLogs",params:[{address:t,topics:h,blockHash:r}]}):y=await e.request({method:"eth_getLogs",params:[{address:t,topics:h,fromBlock:typeof n=="bigint"?Q(n):n,toBlock:typeof i=="bigint"?Q(i):i}]});const p=y.map(g=>Ai(g));return l?bd({abi:l,args:a,logs:p,strict:f}):p}async function gd(e,t){const{abi:r,address:n,args:i,blockHash:s,eventName:o,fromBlock:a,toBlock:c,strict:f}=t,l=o?Pn({abi:r,name:o}):void 0,h=l?void 0:r.filter(y=>y.type==="event");return oe(e,yy,"getLogs")({address:n,args:i,blockHash:s,event:l,events:h,fromBlock:a,toBlock:c,strict:f})}const _o="/docs/contract/decodeFunctionResult";function nc(e){const{abi:t,args:r,functionName:n,data:i}=e;let s=t[0];if(n){const a=Pn({abi:t,args:r,name:n});if(!a)throw new ei(n,{docsPath:_o});s=a}if(s.type!=="function")throw new ei(void 0,{docsPath:_o});if(!s.outputs)throw new Tf(s.name,{docsPath:_o});const o=Fi(s.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}const tu=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"}],my=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],by="0x82ad56cb",gy="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",wy="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe";class ya extends L{constructor({blockNumber:t,chain:r,contract:n}){super(`Chain "${r.name}" does not support contract "${n.name}".`,{metaMessages:["This could be due to any of the following:",...t&&n.blockCreated&&n.blockCreated>t?[`- The contract "${n.name}" was not deployed until block ${n.blockCreated} (current block ${t}).`]:[`- The chain does not have the contract "${n.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}class _y extends L{constructor({chain:t,currentChainId:r}){super(`The current chain of the wallet (id: ${r}) does not match the target chain for the transaction (id: ${t.id} – ${t.name}).`,{metaMessages:[`Current Chain ID: ${r}`,`Expected Chain ID: ${t.id} – ${t.name}`],name:"ChainMismatchError"})}}class vy extends L{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(`
|
|
40
|
+
`),{name:"ChainNotFoundError"})}}class wd extends L{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}class Gs extends L{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}const vo="/docs/contract/encodeDeployData";function ic(e){const{abi:t,args:r,bytecode:n}=e;if(!r||r.length===0)return n;const i=t.find(o=>"type"in o&&o.type==="constructor");if(!i)throw new Wh({docsPath:vo});if(!("inputs"in i))throw new Oc({docsPath:vo});if(!i.inputs||i.inputs.length===0)throw new Oc({docsPath:vo});const s=Ns(i.inputs,r);return Ot([n,s])}function Ey({blockNumber:e,chain:t,contract:r}){var i;const n=(i=t==null?void 0:t.contracts)==null?void 0:i[r];if(!n)throw new ya({chain:t,contract:{name:r}});if(e&&n.blockCreated&&n.blockCreated>e)throw new ya({blockNumber:e,chain:t,contract:{name:r,blockCreated:n.blockCreated}});return n.address}function xy(e,{docsPath:t,...r}){const n=(()=>{const i=Wa(e,r);return i instanceof Hs?e:i})();return new kp(n,{docsPath:t,...r})}function _d(){let e=()=>{},t=()=>{};return{promise:new Promise((n,i)=>{e=n,t=i}),resolve:e,reject:t}}const Eo=new Map;function vd({fn:e,id:t,shouldSplitBatch:r,wait:n=0,sort:i}){const s=async()=>{const l=c();o();const h=l.map(({args:y})=>y);h.length!==0&&e(h).then(y=>{i&&Array.isArray(y)&&y.sort(i);for(let p=0;p<l.length;p++){const{resolve:g}=l[p];g==null||g([y[p],y])}}).catch(y=>{for(let p=0;p<l.length;p++){const{reject:g}=l[p];g==null||g(y)}})},o=()=>Eo.delete(t),a=()=>c().map(({args:l})=>l),c=()=>Eo.get(t)||[],f=l=>Eo.set(t,[...c(),l]);return{flush:o,async schedule(l){const{promise:h,resolve:y,reject:p}=_d();return(r==null?void 0:r([...a(),l]))&&s(),c().length>0?(f({args:l,resolve:y,reject:p}),h):(f({args:l,resolve:y,reject:p}),setTimeout(s,n),h)}}}async function sc(e,t){var R,D,j,V;const{account:r=e.account,batch:n=!!((R=e.batch)!=null&&R.multicall),blockNumber:i,blockTag:s="latest",accessList:o,blobs:a,code:c,data:f,factory:l,factoryData:h,gas:y,gasPrice:p,maxFeePerBlobGas:g,maxFeePerGas:_,maxPriorityFeePerGas:x,nonce:k,to:T,value:A,stateOverride:E,...I}=t,S=r?Ne(r):void 0;if(c&&(l||h))throw new L("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(c&&T)throw new L("Cannot provide both `code` & `to` as parameters.");const N=c&&f,$=l&&h&&T&&f,B=N||$,W=N?Py({code:c,data:f}):$?Ty({data:f,factory:l,factoryData:h,to:T}):f;try{Ni(t);const ne=(i?Q(i):void 0)||s,pe=td(E),_e=(V=(j=(D=e.chain)==null?void 0:D.formatters)==null?void 0:j.transactionRequest)==null?void 0:V.format,We=(_e||Ds)({...Ka(I,{format:_e}),from:S==null?void 0:S.address,accessList:o,blobs:a,data:W,gas:y,gasPrice:p,maxFeePerBlobGas:g,maxFeePerGas:_,maxPriorityFeePerGas:x,nonce:k,to:B?void 0:T,value:A});if(n&&Ay({request:We})&&!pe)try{return await Sy(e,{...We,blockNumber:i,blockTag:s})}catch(me){if(!(me instanceof wd)&&!(me instanceof ya))throw me}const fe=await e.request({method:"eth_call",params:pe?[We,ne,pe]:[We,ne]});return fe==="0x"?{data:void 0}:{data:fe}}catch(X){const ne=ky(X),{offchainLookup:pe,offchainLookupSignature:_e}=await Promise.resolve().then(()=>require("./ccip-FG4vhh8P.cjs"));if(e.ccipRead!==!1&&(ne==null?void 0:ne.slice(0,10))===_e&&T)return{data:await pe(e,{data:ne,to:T})};throw B&&(ne==null?void 0:ne.slice(0,10))==="0x101bb98d"?new Op({factory:l}):xy(X,{...t,account:S,chain:e.chain})}}function Ay({request:e}){const{data:t,to:r,...n}=e;return!(!t||t.startsWith(by)||!r||Object.values(n).filter(i=>typeof i<"u").length>0)}async function Sy(e,t){var _;const{batchSize:r=1024,wait:n=0}=typeof((_=e.batch)==null?void 0:_.multicall)=="object"?e.batch.multicall:{},{blockNumber:i,blockTag:s="latest",data:o,multicallAddress:a,to:c}=t;let f=a;if(!f){if(!e.chain)throw new wd;f=Ey({blockNumber:i,chain:e.chain,contract:"multicall3"})}const h=(i?Q(i):void 0)||s,{schedule:y}=vd({id:`${e.uid}.${h}`,wait:n,shouldSplitBatch(x){return x.reduce((T,{data:A})=>T+(A.length-2),0)>r*2},fn:async x=>{const k=x.map(E=>({allowFailure:!0,callData:E.data,target:E.to})),T=Tn({abi:tu,args:[k],functionName:"aggregate3"}),A=await e.request({method:"eth_call",params:[{data:T,to:f},h]});return nc({abi:tu,args:[k],functionName:"aggregate3",data:A||"0x"})}}),[{returnData:p,success:g}]=await y({data:o,to:c});if(!g)throw new Jf({data:p});return p==="0x"?{data:void 0}:{data:p}}function Py(e){const{code:t,data:r}=e;return ic({abi:vf(["constructor(bytes, bytes)"]),bytecode:gy,args:[t,r]})}function Ty(e){const{data:t,factory:r,factoryData:n,to:i}=e;return ic({abi:vf(["constructor(address, bytes, address, bytes)"]),bytecode:wy,args:[i,t,r,n]})}function ky(e){var r;if(!(e instanceof L))return;const t=e.walk();return typeof(t==null?void 0:t.data)=="object"?(r=t.data)==null?void 0:r.data:t.data}async function Iy(e,t){const{abi:r,address:n,args:i,functionName:s,...o}=t,a=Tn({abi:r,args:i,functionName:s});try{const{data:c}=await oe(e,sc,"call")({...o,data:a,to:n});return nc({abi:r,args:i,functionName:s,data:c||"0x"})}catch(c){throw $s(c,{abi:r,address:n,args:i,docsPath:"/docs/contract/readContract",functionName:s})}}async function By(e,t){const{abi:r,address:n,args:i,dataSuffix:s,functionName:o,...a}=t,c=a.account?Ne(a.account):e.account,f=Tn({abi:r,args:i,functionName:o});try{const{data:l}=await oe(e,sc,"call")({batch:!1,data:`${f}${s?s.replace("0x",""):""}`,to:n,...a,account:c}),h=nc({abi:r,args:i,functionName:o,data:l||"0x"}),y=r.filter(p=>"name"in p&&p.name===t.functionName);return{result:h,request:{abi:y,address:n,args:i,dataSuffix:s,functionName:o,...a,account:c}}}catch(l){throw $s(l,{abi:r,address:n,args:i,docsPath:"/docs/contract/simulateContract",functionName:o,sender:c==null?void 0:c.address})}}const xo=new Map,ru=new Map;let Cy=0;function ma(e,t,r){const n=++Cy,i=()=>xo.get(e)||[],s=()=>{const l=i();xo.set(e,l.filter(h=>h.id!==n))},o=()=>{const l=i();if(!l.some(y=>y.id===n))return;const h=ru.get(e);l.length===1&&h&&h(),s()},a=i();if(xo.set(e,[...a,{id:n,fns:t}]),a&&a.length>0)return o;const c={};for(const l in t)c[l]=(...h)=>{var p,g;const y=i();if(y.length!==0)for(const _ of y)(g=(p=_.fns)[l])==null||g.call(p,...h)};const f=r(c);return typeof f=="function"&&ru.set(e,f),o}async function ba(e){return new Promise(t=>setTimeout(t,e))}function Ed(e,{emitOnBegin:t,initialWaitTime:r,interval:n}){let i=!0;const s=()=>i=!1;return(async()=>{let a;a=await e({unpoll:s});const c=await(r==null?void 0:r(a))??n;await ba(c);const f=async()=>{i&&(await e({unpoll:s}),await ba(n),f())};f()})(),s}const Oy=new Map,Ry=new Map;function Fy(e){const t=(i,s)=>({clear:()=>s.delete(i),get:()=>s.get(i),set:o=>s.set(i,o)}),r=t(e,Oy),n=t(e,Ry);return{clear:()=>{r.clear(),n.clear()},promise:r,response:n}}async function Uy(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){const n=Fy(t),i=n.response.get();if(i&&r>0&&new Date().getTime()-i.created.getTime()<r)return i.data;let s=n.promise.get();s||(s=e(),n.promise.set(s));try{const o=await s;return n.response.set({created:new Date,data:o}),o}finally{n.promise.clear()}}const Ny=e=>`blockNumber.${e}`;async function Ly(e,{cacheTime:t=e.cacheTime}={}){const r=await Uy(()=>e.request({method:"eth_blockNumber"}),{cacheKey:Ny(e.uid),cacheTime:t});return BigInt(r)}async function My(e,{filter:t}){const r="strict"in t&&t.strict,n=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof n[0]=="string")return n;const i=n.map(s=>Ai(s));return!("abi"in t)||!t.abi?i:bd({abi:t.abi,logs:i,strict:r})}async function $y(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function Hy(e,t){const{abi:r,address:n,args:i,batch:s=!0,eventName:o,fromBlock:a,onError:c,onLogs:f,poll:l,pollingInterval:h=e.pollingInterval,strict:y}=t;return(typeof l<"u"?l:typeof a=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="fallback"&&e.transport.transports[0].config.type==="webSocket"))?(()=>{const x=y??!1,k=rt(["watchContractEvent",n,i,s,e.uid,o,h,x,a]);return ma(k,{onLogs:f,onError:c},T=>{let A;a!==void 0&&(A=a-1n);let E,I=!1;const S=Ed(async()=>{var N;if(!I){try{E=await oe(e,qf,"createContractEventFilter")({abi:r,address:n,args:i,eventName:o,strict:x,fromBlock:a})}catch{}I=!0;return}try{let $;if(E)$=await oe(e,My,"getFilterChanges")({filter:E});else{const B=await oe(e,Ly,"getBlockNumber")({});A&&A<B?$=await oe(e,gd,"getContractEvents")({abi:r,address:n,args:i,eventName:o,fromBlock:A+1n,toBlock:B,strict:x}):$=[],A=B}if($.length===0)return;if(s)T.onLogs($);else for(const B of $)T.onLogs([B])}catch($){E&&$ instanceof pn&&(I=!1),(N=T.onError)==null||N.call(T,$)}},{emitOnBegin:!0,interval:h});return async()=>{E&&await oe(e,$y,"uninstallFilter")({filter:E}),S()}})})():(()=>{const x=y??!1,k=rt(["watchContractEvent",n,i,s,e.uid,o,h,x]);let T=!0,A=()=>T=!1;return ma(k,{onLogs:f,onError:c},E=>((async()=>{try{const I=(()=>{if(e.transport.type==="fallback"){const $=e.transport.transports.find(B=>B.config.type==="webSocket");return $?$.value:e.transport}return e.transport})(),S=o?Ga({abi:r,eventName:o,args:i}):[],{unsubscribe:N}=await I.subscribe({params:["logs",{address:n,topics:S}],onData($){var W;if(!T)return;const B=$.result;try{const{eventName:R,args:D}=md({abi:r,data:B.data,topics:B.topics,strict:y}),j=Ai(B,{args:D,eventName:R});E.onLogs([j])}catch(R){let D,j;if(R instanceof Es||R instanceof La){if(y)return;D=R.abiItem.name,j=(W=R.abiItem.inputs)==null?void 0:W.some(X=>!("name"in X&&X.name))}const V=Ai(B,{args:j?[]:{},eventName:D});E.onLogs([V])}},onError($){var B;(B=E.onError)==null||B.call(E,$)}});A=N,T||A()}catch(I){c==null||c(I)}})(),()=>A()))})()}class wr extends L{constructor({docsPath:t}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
|
|
41
|
+
`),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}}class ls extends L{constructor({docsPath:t,metaMessages:r,type:n}){super(`Account type "${n}" is not supported.`,{docsPath:t,metaMessages:r,name:"AccountTypeNotSupportedError"})}}function xd({chain:e,currentChainId:t}){if(!e)throw new vy;if(t!==e.id)throw new _y({chain:e,currentChainId:t})}function Ad(e,{docsPath:t,...r}){const n=(()=>{const i=Wa(e,r);return i instanceof Hs?e:i})();return new Pp(n,{docsPath:t,...r})}async function Sd(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}const Ao=new Us(128);async function oc(e,t){var k,T,A,E;const{account:r=e.account,chain:n=e.chain,accessList:i,authorizationList:s,blobs:o,data:a,gas:c,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:h,maxPriorityFeePerGas:y,nonce:p,value:g,..._}=t;if(typeof r>"u")throw new wr({docsPath:"/docs/actions/wallet/sendTransaction"});const x=r?Ne(r):null;try{Ni(t);const I=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await ed({authorization:s[0]}).catch(()=>{throw new L("`to` is required. Could not infer from `authorizationList`.")})})();if((x==null?void 0:x.type)==="json-rpc"||x===null){let S;n!==null&&(S=await oe(e,Li,"getChainId")({}),xd({currentChainId:S,chain:n}));const N=(A=(T=(k=e.chain)==null?void 0:k.formatters)==null?void 0:T.transactionRequest)==null?void 0:A.format,B=(N||Ds)({...Ka(_,{format:N}),accessList:i,authorizationList:s,blobs:o,chainId:S,data:a,from:x==null?void 0:x.address,gas:c,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:h,maxPriorityFeePerGas:y,nonce:p,to:I,value:g}),W=Ao.get(e.uid),R=W?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:R,params:[B]},{retryCount:0})}catch(D){if(W===!1)throw D;const j=D;if(j.name==="InvalidInputRpcError"||j.name==="InvalidParamsRpcError"||j.name==="MethodNotFoundRpcError"||j.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[B]},{retryCount:0}).then(V=>(Ao.set(e.uid,!0),V)).catch(V=>{const X=V;throw X.name==="MethodNotFoundRpcError"||X.name==="MethodNotSupportedRpcError"?(Ao.set(e.uid,!1),j):X});throw j}}if((x==null?void 0:x.type)==="local"){const S=await oe(e,tc,"prepareTransactionRequest")({account:x,accessList:i,authorizationList:s,blobs:o,chain:n,data:a,gas:c,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:h,maxPriorityFeePerGas:y,nonce:p,nonceManager:x.nonceManager,parameters:[...pd,"sidecars"],value:g,..._,to:I}),N=(E=n==null?void 0:n.serializers)==null?void 0:E.transaction,$=await x.signTransaction(S,{serializer:N});return await oe(e,Sd,"sendRawTransaction")({serializedTransaction:$})}throw(x==null?void 0:x.type)==="smart"?new ls({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new ls({docsPath:"/docs/actions/wallet/sendTransaction",type:x==null?void 0:x.type})}catch(I){throw I instanceof ls?I:Ad(I,{...t,account:x,chain:t.chain||void 0})}}async function Pd(e,t){const{abi:r,account:n=e.account,address:i,args:s,dataSuffix:o,functionName:a,...c}=t;if(typeof n>"u")throw new wr({docsPath:"/docs/contract/writeContract"});const f=n?Ne(n):null,l=Tn({abi:r,args:s,functionName:a});try{return await oe(e,oc,"sendTransaction")({data:`${l}${o?o.replace("0x",""):""}`,to:i,account:f,...c})}catch(h){throw $s(h,{abi:r,address:i,args:s,docsPath:"/docs/contract/writeContract",functionName:a,sender:f==null?void 0:f.address})}}function So({abi:e,address:t,client:r}){const n=r,[i,s]=n?"public"in n&&"wallet"in n?[n.public,n.wallet]:"public"in n?[n.public,void 0]:"wallet"in n?[void 0,n.wallet]:[n,n]:[void 0,void 0],o=i!=null,a=s!=null,c={};let f=!1,l=!1,h=!1;for(const y of e)if(y.type==="function"?y.stateMutability==="view"||y.stateMutability==="pure"?f=!0:l=!0:y.type==="event"&&(h=!0),f&&l&&h)break;return o&&(f&&(c.read=new Proxy({},{get(y,p){return(...g)=>{const{args:_,options:x}=Xi(g);return oe(i,Iy,"readContract")({abi:e,address:t,functionName:p,args:_,...x})}}})),l&&(c.simulate=new Proxy({},{get(y,p){return(...g)=>{const{args:_,options:x}=Xi(g);return oe(i,By,"simulateContract")({abi:e,address:t,functionName:p,args:_,...x})}}})),h&&(c.createEventFilter=new Proxy({},{get(y,p){return(...g)=>{const _=e.find(T=>T.type==="event"&&T.name===p),{args:x,options:k}=Po(g,_);return oe(i,qf,"createContractEventFilter")({abi:e,address:t,eventName:p,args:x,...k})}}}),c.getEvents=new Proxy({},{get(y,p){return(...g)=>{const _=e.find(T=>T.type==="event"&&T.name===p),{args:x,options:k}=Po(g,_);return oe(i,gd,"getContractEvents")({abi:e,address:t,eventName:p,args:x,...k})}}}),c.watchEvent=new Proxy({},{get(y,p){return(...g)=>{const _=e.find(T=>T.type==="event"&&T.name===p),{args:x,options:k}=Po(g,_);return oe(i,Hy,"watchContractEvent")({abi:e,address:t,eventName:p,args:x,...k})}}}))),a&&l&&(c.write=new Proxy({},{get(y,p){return(...g)=>{const{args:_,options:x}=Xi(g);return oe(s,Pd,"writeContract")({abi:e,address:t,functionName:p,args:_,...x})}}})),(o||a)&&l&&(c.estimateGas=new Proxy({},{get(y,p){return(...g)=>{const{args:_,options:x}=Xi(g);return oe(i??s,ly,"estimateContractGas")({abi:e,address:t,functionName:p,args:_,...x,account:x.account??s.account})}}})),c.address=t,c.abi=e,c}function Xi(e){const t=e.length&&Array.isArray(e[0]),r=t?e[0]:[],n=(t?e[1]:e[0])??{};return{args:r,options:n}}function Po(e,t){let r=!1;Array.isArray(e[0])?r=!0:e.length===1?r=t.inputs.some(s=>s.indexed):e.length===2&&(r=!0);const n=r?e[0]:void 0,i=(r?e[1]:e[0])??{};return{args:n,options:i}}const Td={"0x0":"reverted","0x1":"success"};function Dy(e){const t={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(r=>Ai(r)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Vt(e.transactionIndex):null,status:e.status?Td[e.status]:null,type:e.type?rd[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}const jy=Ya("transactionReceipt",Dy);async function kd(e,t){const{atomic:r=!1,chainId:n,receipts:i,version:s="2.0.0",...o}=await e.request({method:"wallet_getCallsStatus",params:[t.id]}),[a,c]=(()=>{const f=o.status;return f>=100&&f<200?["pending",f]:f>=200&&f<300?["success",f]:f>=300&&f<700?["failure",f]:f==="CONFIRMED"?["success",200]:f==="PENDING"?["pending",100]:[void 0,f]})();return{...o,atomic:r,chainId:n?Vt(n):void 0,receipts:(i==null?void 0:i.map(f=>({...f,blockNumber:pt(f.blockNumber),gasUsed:pt(f.gasUsed),status:Td[f.status]})))??[],statusCode:c,status:a,version:s}}async function Gy(e,t){const{id:r,pollingInterval:n=e.pollingInterval,status:i=({statusCode:y})=>y>=200,timeout:s=6e4}=t,o=rt(["waitForCallsStatus",e.uid,r]),{promise:a,resolve:c,reject:f}=_d();let l;const h=ma(o,{resolve:c,reject:f},y=>{const p=Ed(async()=>{const g=_=>{clearTimeout(l),p(),_(),h()};try{const _=await kd(e,{id:r});if(!i(_))return;g(()=>y.resolve(_))}catch(_){g(()=>y.reject(_))}},{interval:n,emitOnBegin:!0});return p});return l=s?setTimeout(()=>{h(),clearTimeout(l),f(new zy({id:r}))},s):void 0,await a}class zy extends L{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const ga=256;let Ji=ga,Qi;function Id(e=11){if(!Qi||Ji+e>ga*2){Qi="",Ji=0;for(let t=0;t<ga;t++)Qi+=(256+Math.random()*256|0).toString(16).substring(1)}return Qi.substring(Ji,Ji+++e)}function qy(e){const{batch:t,cacheTime:r=e.pollingInterval??4e3,ccipRead:n,key:i="base",name:s="Base Client",pollingInterval:o=4e3,type:a="base"}=e,c=e.chain,f=e.account?Ne(e.account):void 0,{config:l,request:h,value:y}=e.transport({chain:c,pollingInterval:o}),p={...l,...y},g={account:f,batch:t,cacheTime:r,ccipRead:n,chain:c,key:i,name:s,pollingInterval:o,request:h,transport:p,type:a,uid:Id()};function _(x){return k=>{const T=k(x);for(const E in g)delete T[E];const A={...x,...T};return Object.assign(A,{extend:_(A)})}}return Object.assign(g,{extend:_(g)})}const Zi=new Us(8192);function Vy(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(Zi.get(r))return Zi.get(r);const n=e().finally(()=>Zi.delete(r));return Zi.set(r,n),n}function Wy(e,{delay:t=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((i,s)=>{const o=async({count:a=0}={})=>{const c=async({error:f})=>{const l=typeof t=="function"?t({count:a,error:f}):t;l&&await ba(l),o({count:a+1})};try{const f=await e();i(f)}catch(f){if(a<r&&await n({count:a,error:f}))return c({error:f});s(f)}};o()})}function Ky(e,t={}){return async(r,n={})=>{var h;const{dedupe:i=!1,methods:s,retryDelay:o=150,retryCount:a=3,uid:c}={...t,...n},{method:f}=r;if((h=s==null?void 0:s.exclude)!=null&&h.includes(f))throw new Ir(new Error("method not supported"),{method:f});if(s!=null&&s.include&&!s.include.includes(f))throw new Ir(new Error("method not supported"),{method:f});const l=i?Os(`${c}.${rt(r)}`):void 0;return Vy(()=>Wy(async()=>{try{return await e(r)}catch(y){const p=y;switch(p.code){case ni.code:throw new ni(p);case ii.code:throw new ii(p);case si.code:throw new si(p,{method:r.method});case oi.code:throw new oi(p);case Nr.code:throw new Nr(p);case pn.code:throw new pn(p);case ai.code:throw new ai(p);case ci.code:throw new ci(p);case ui.code:throw new ui(p);case Ir.code:throw new Ir(p,{method:r.method});case yn.code:throw new yn(p);case fi.code:throw new fi(p);case an.code:throw new an(p);case di.code:throw new di(p);case li.code:throw new li(p);case hi.code:throw new hi(p);case pi.code:throw new pi(p);case yi.code:throw new yi(p);case mi.code:throw new mi(p);case bi.code:throw new bi(p);case gi.code:throw new gi(p);case wi.code:throw new wi(p);case _i.code:throw new _i(p);case vi.code:throw new vi(p);case Ei.code:throw new Ei(p);case 5e3:throw new an(p);default:throw y instanceof L?y:new Fp(p)}}},{delay:({count:y,error:p})=>{var g;if(p&&p instanceof on){const _=(g=p==null?void 0:p.headers)==null?void 0:g.get("Retry-After");if(_!=null&&_.match(/\d/))return Number.parseInt(_)*1e3}return~~(1<<y)*o},retryCount:a,shouldRetry:({error:y})=>Yy(y)}),{enabled:i,id:l})}}function Yy(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===yn.code||e.code===Nr.code:e instanceof on&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function Bd({key:e,methods:t,name:r,request:n,retryCount:i=3,retryDelay:s=150,timeout:o,type:a},c){const f=Id();return{config:{key:e,methods:t,name:r,request:n,retryCount:i,retryDelay:s,timeout:o,type:a},request:Ky(n,{methods:t,retryCount:i,retryDelay:s,uid:f}),value:c}}function nu(e,t={}){const{key:r="custom",methods:n,name:i="Custom Provider",retryDelay:s}=t;return({retryCount:o})=>Bd({key:r,methods:n,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:s,type:"custom"})}class Xy extends L{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function Jy(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:n}){return new Promise((i,s)=>{(async()=>{let o;try{const a=new AbortController;r>0&&(o=setTimeout(()=>{n&&a.abort()},r)),i(await e({signal:(a==null?void 0:a.signal)||null}))}catch(a){(a==null?void 0:a.name)==="AbortError"&&s(t),s(a)}finally{clearTimeout(o)}})()})}function Qy(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const iu=Qy();function Zy(e,t={}){return{async request(r){var h;const{body:n,onRequest:i=t.onRequest,onResponse:s=t.onResponse,timeout:o=t.timeout??1e4}=r,a={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:c,method:f,signal:l}=a;try{const y=await Jy(async({signal:g})=>{const _={...a,body:Array.isArray(n)?rt(n.map(A=>({jsonrpc:"2.0",id:A.id??iu.take(),...A}))):rt({jsonrpc:"2.0",id:n.id??iu.take(),...n}),headers:{"Content-Type":"application/json",...c},method:f||"POST",signal:l||(o>0?g:null)},x=new Request(e,_),k=await(i==null?void 0:i(x,_))??{..._,url:e};return await fetch(k.url??e,k)},{errorInstance:new Wc({body:n,url:e}),timeout:o,signal:!0});s&&await s(y);let p;if((h=y.headers.get("Content-Type"))!=null&&h.startsWith("application/json"))p=await y.json();else{p=await y.text();try{p=JSON.parse(p||"{}")}catch(g){if(y.ok)throw g;p={error:p}}}if(!y.ok)throw new on({body:n,details:rt(p.error)||y.statusText,headers:y.headers,status:y.status,url:e});return p}catch(y){throw y instanceof on||y instanceof Wc?y:new on({body:n,cause:y,url:e})}}}}function em(e,t={}){const{batch:r,fetchOptions:n,key:i="http",methods:s,name:o="HTTP JSON-RPC",onFetchRequest:a,onFetchResponse:c,retryDelay:f,raw:l}=t;return({chain:h,retryCount:y,timeout:p})=>{const{batchSize:g=1e3,wait:_=0}=typeof r=="object"?r:{},x=t.retryCount??y,k=p??t.timeout??1e4,T=h==null?void 0:h.rpcUrls.default.http[0];if(!T)throw new Xy;const A=Zy(T,{fetchOptions:n,onRequest:a,onResponse:c,timeout:k});return Bd({key:i,methods:s,name:o,async request({method:E,params:I}){const S={method:E,params:I},{schedule:N}=vd({id:T,wait:_,shouldSplitBatch(R){return R.length>g},fn:R=>A.request({body:R}),sort:(R,D)=>R.id-D.id}),$=async R=>r?N(R):[await A.request({body:R})],[{error:B,result:W}]=await $(S);if(l)return{error:B,result:W};if(B)throw new Va({body:S,error:B,url:T});return W},retryCount:x,retryDelay:f,timeout:k,type:"http"},{fetchOptions:n,url:T})}}function wt(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}class tm extends L{constructor({domain:t}){super(`Invalid domain "${rt(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class rm extends L{constructor({primaryType:t,types:r}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class nm extends L{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function im(e){const{domain:t,message:r,primaryType:n,types:i}=e,s=(c,f)=>{const l={...f};for(const h of c){const{name:y,type:p}=h;p==="address"&&(l[y]=l[y].toLowerCase())}return l},o=i.EIP712Domain?t?s(i.EIP712Domain,t):{}:{},a=(()=>{if(n!=="EIP712Domain")return s(i[n],r)})();return rt({domain:o,message:a,primaryType:n,types:i})}function sm(e){const{domain:t,message:r,primaryType:n,types:i}=e,s=(o,a)=>{for(const c of o){const{name:f,type:l}=c,h=a[f],y=l.match(Gf);if(y&&(typeof h=="number"||typeof h=="bigint")){const[_,x,k]=y;Q(h,{signed:x==="int",size:Number.parseInt(k)/8})}if(l==="address"&&typeof h=="string"&&!Ue(h))throw new et({address:h});const p=l.match(V0);if(p){const[_,x]=p;if(x&&Ie(h)!==Number.parseInt(x))throw new r0({expectedSize:Number.parseInt(x),givenSize:Ie(h)})}const g=i[l];g&&(am(l),s(g,h))}};if(i.EIP712Domain&&t){if(typeof t!="object")throw new tm({domain:t});s(i.EIP712Domain,t)}if(n!=="EIP712Domain")if(i[n])s(i[n],r);else throw new rm({primaryType:n,types:i})}function om({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},(typeof(e==null?void 0:e.chainId)=="number"||typeof(e==null?void 0:e.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function am(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new nm({type:e})}function cm(e){const{authorizationList:t}=e;if(t)for(const r of t){const{chainId:n}=r,i=r.address;if(!Ue(i))throw new et({address:i});if(n<0)throw new Gs({chainId:n})}ac(e)}function um(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new dd;for(const r of t){const n=Ie(r),i=Vt(hn(r,0,1));if(n!==32)throw new cy({hash:r,size:n});if(i!==fd)throw new uy({hash:r,version:i})}}ac(e)}function ac(e){const{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:n,to:i}=e;if(t<=0)throw new Gs({chainId:t});if(i&&!Ue(i))throw new et({address:i});if(n&&n>js)throw new Lr({maxFeePerGas:n});if(r&&n&&r>n)throw new xi({maxFeePerGas:n,maxPriorityFeePerGas:r})}function fm(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(t<=0)throw new Gs({chainId:t});if(s&&!Ue(s))throw new et({address:s});if(r||i)throw new L("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>js)throw new Lr({maxFeePerGas:n})}function dm(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(s&&!Ue(s))throw new et({address:s});if(typeof t<"u"&&t<=0)throw new Gs({chainId:t});if(r||i)throw new L("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>js)throw new Lr({maxFeePerGas:n})}function zs(e){if(!e||e.length===0)return[];const t=[];for(let r=0;r<e.length;r++){const{address:n,storageKeys:i}=e[r];for(let s=0;s<i.length;s++)if(i[s].length-2!==64)throw new Sp({storageKey:i[s]});if(!Ue(n,{strict:!1}))throw new et({address:n});t.push([n,i])}return t}function lm(e,t){const r=hd(e);return r==="eip1559"?ym(e,t):r==="eip2930"?mm(e,t):r==="eip4844"?pm(e,t):r==="eip7702"?hm(e,t):bm(e,t)}function hm(e,t){const{authorizationList:r,chainId:n,gas:i,nonce:s,to:o,value:a,maxFeePerGas:c,maxPriorityFeePerGas:f,accessList:l,data:h}=e;cm(e);const y=zs(l),p=gm(r);return Ot(["0x04",mr([J(n),s?J(s):"0x",f?J(f):"0x",c?J(c):"0x",i?J(i):"0x",o??"0x",a?J(a):"0x",h??"0x",y,p,...Mi(e,t)])])}function pm(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:f,accessList:l,data:h}=e;um(e);let y=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(typeof y>"u"||typeof p>"u")){const A=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(S=>Ze(S)),E=e.kzg,I=Qa({blobs:A,kzg:E});if(typeof y>"u"&&(y=ad({commitments:I})),typeof p>"u"){const S=Za({blobs:A,commitments:I,kzg:E});p=ld({blobs:A,commitments:I,proofs:S})}}const g=zs(l),_=[J(r),i?J(i):"0x",f?J(f):"0x",c?J(c):"0x",n?J(n):"0x",s??"0x",o?J(o):"0x",h??"0x",g,a?J(a):"0x",y??[],...Mi(e,t)],x=[],k=[],T=[];if(p)for(let A=0;A<p.length;A++){const{blob:E,commitment:I,proof:S}=p[A];x.push(E),k.push(I),T.push(S)}return Ot(["0x03",mr(p?[_,x,k,T]:_)])}function ym(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:f,data:l}=e;ac(e);const h=zs(f),y=[J(r),i?J(i):"0x",c?J(c):"0x",a?J(a):"0x",n?J(n):"0x",s??"0x",o?J(o):"0x",l??"0x",h,...Mi(e,t)];return Ot(["0x02",mr(y)])}function mm(e,t){const{chainId:r,gas:n,data:i,nonce:s,to:o,value:a,accessList:c,gasPrice:f}=e;fm(e);const l=zs(c),h=[J(r),s?J(s):"0x",f?J(f):"0x",n?J(n):"0x",o??"0x",a?J(a):"0x",i??"0x",l,...Mi(e,t)];return Ot(["0x01",mr(h)])}function bm(e,t){const{chainId:r=0,gas:n,data:i,nonce:s,to:o,value:a,gasPrice:c}=e;dm(e);let f=[s?J(s):"0x",c?J(c):"0x",n?J(n):"0x",o??"0x",a?J(a):"0x",i??"0x"];if(t){const l=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+t.v-27n);const p=27n+(t.v===27n?0n:1n);if(t.v!==p)throw new xp({v:t.v});return p})(),h=Fr(t.r),y=Fr(t.s);f=[...f,J(l),h==="0x00"?"0x":h,y==="0x00"?"0x":y]}else r>0&&(f=[...f,J(r),"0x","0x"]);return mr(f)}function Mi(e,t){const r=t??e,{v:n,yParity:i}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof n>"u"&&typeof i>"u")return[];const s=Fr(r.r),o=Fr(r.s);return[typeof i=="number"?i?J(1):"0x":n===0n?"0x":n===1n?J(1):n===27n?"0x":J(1),s==="0x00"?"0x":s,o==="0x00"?"0x":o]}function gm(e){if(!e||e.length===0)return[];const t=[];for(const r of e){const{chainId:n,nonce:i,...s}=r,o=r.address;t.push([n?J(n):"0x",o,i?J(i):"0x",...Mi({},s)])}return t}var br=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wm(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function _m(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var mn={},Qt={},_r={};Object.defineProperty(_r,"__esModule",{value:!0});_r.anumber=wa;_r.abytes=Cd;_r.ahash=Em;_r.aexists=xm;_r.aoutput=Am;function wa(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function vm(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Cd(e,...t){if(!vm(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 Em(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");wa(e.outputLen),wa(e.blockLen)}function xm(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Am(e,t){Cd(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}var $i={},qs={};Object.defineProperty(qs,"__esModule",{value:!0});qs.crypto=void 0;qs.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;(function(e){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(e,"__esModule",{value:!0}),e.Hash=e.nextTick=e.byteSwapIfBE=e.isLE=void 0,e.isBytes=n,e.u8=i,e.u32=s,e.createView=o,e.rotr=a,e.rotl=c,e.byteSwap=f,e.byteSwap32=l,e.bytesToHex=y,e.hexToBytes=_,e.asyncLoop=k,e.utf8ToBytes=T,e.toBytes=A,e.concatBytes=E,e.checkOpts=S,e.wrapConstructor=N,e.wrapConstructorWithOpts=$,e.wrapXOFConstructorWithOpts=B,e.randomBytes=W;const t=qs,r=_r;function n(R){return R instanceof Uint8Array||ArrayBuffer.isView(R)&&R.constructor.name==="Uint8Array"}function i(R){return new Uint8Array(R.buffer,R.byteOffset,R.byteLength)}function s(R){return new Uint32Array(R.buffer,R.byteOffset,Math.floor(R.byteLength/4))}function o(R){return new DataView(R.buffer,R.byteOffset,R.byteLength)}function a(R,D){return R<<32-D|R>>>D}function c(R,D){return R<<D|R>>>32-D>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function f(R){return R<<24&4278190080|R<<8&16711680|R>>>8&65280|R>>>24&255}e.byteSwapIfBE=e.isLE?R=>R:R=>f(R);function l(R){for(let D=0;D<R.length;D++)R[D]=f(R[D])}const h=Array.from({length:256},(R,D)=>D.toString(16).padStart(2,"0"));function y(R){(0,r.abytes)(R);let D="";for(let j=0;j<R.length;j++)D+=h[R[j]];return D}const p={_0:48,_9:57,A:65,F:70,a:97,f:102};function g(R){if(R>=p._0&&R<=p._9)return R-p._0;if(R>=p.A&&R<=p.F)return R-(p.A-10);if(R>=p.a&&R<=p.f)return R-(p.a-10)}function _(R){if(typeof R!="string")throw new Error("hex string expected, got "+typeof R);const D=R.length,j=D/2;if(D%2)throw new Error("hex string expected, got unpadded hex of length "+D);const V=new Uint8Array(j);for(let X=0,ne=0;X<j;X++,ne+=2){const pe=g(R.charCodeAt(ne)),_e=g(R.charCodeAt(ne+1));if(pe===void 0||_e===void 0){const Te=R[ne]+R[ne+1];throw new Error('hex string expected, got non-hex character "'+Te+'" at index '+ne)}V[X]=pe*16+_e}return V}const x=async()=>{};e.nextTick=x;async function k(R,D,j){let V=Date.now();for(let X=0;X<R;X++){j(X);const ne=Date.now()-V;ne>=0&&ne<D||(await(0,e.nextTick)(),V+=ne)}}function T(R){if(typeof R!="string")throw new Error("utf8ToBytes expected string, got "+typeof R);return new Uint8Array(new TextEncoder().encode(R))}function A(R){return typeof R=="string"&&(R=T(R)),(0,r.abytes)(R),R}function E(...R){let D=0;for(let V=0;V<R.length;V++){const X=R[V];(0,r.abytes)(X),D+=X.length}const j=new Uint8Array(D);for(let V=0,X=0;V<R.length;V++){const ne=R[V];j.set(ne,X),X+=ne.length}return j}class I{clone(){return this._cloneInto()}}e.Hash=I;function S(R,D){if(D!==void 0&&{}.toString.call(D)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(R,D)}function N(R){const D=V=>R().update(A(V)).digest(),j=R();return D.outputLen=j.outputLen,D.blockLen=j.blockLen,D.create=()=>R(),D}function $(R){const D=(V,X)=>R(X).update(A(V)).digest(),j=R({});return D.outputLen=j.outputLen,D.blockLen=j.blockLen,D.create=V=>R(V),D}function B(R){const D=(V,X)=>R(X).update(A(V)).digest(),j=R({});return D.outputLen=j.outputLen,D.blockLen=j.blockLen,D.create=V=>R(V),D}function W(R=32){if(t.crypto&&typeof t.crypto.getRandomValues=="function")return t.crypto.getRandomValues(new Uint8Array(R));if(t.crypto&&typeof t.crypto.randomBytes=="function")return t.crypto.randomBytes(R);throw new Error("crypto.getRandomValues must be defined")}})($i);Object.defineProperty(Qt,"__esModule",{value:!0});Qt.HashMD=void 0;Qt.setBigUint64=Od;Qt.Chi=Sm;Qt.Maj=Pm;const To=_r,Fn=$i;function Od(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);const i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),c=n?4:0,f=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+f,a,n)}function Sm(e,t,r){return e&t^~e&r}function Pm(e,t,r){return e&t^e&r^t&r}class Tm extends Fn.Hash{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=(0,Fn.createView)(this.buffer)}update(t){(0,To.aexists)(this);const{view:r,buffer:n,blockLen:i}=this;t=(0,Fn.toBytes)(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const c=(0,Fn.createView)(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){(0,To.aexists)(this),(0,To.aoutput)(t,this),this.finished=!0;const{buffer:r,view:n,blockLen:i,isLE:s}=this;let{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let h=o;h<i;h++)r[h]=0;Od(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=(0,Fn.createView)(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const f=c/4,l=this.get();if(f>l.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<f;h++)a.setUint32(4*h,l[h],s)}digest(){const{buffer:t,outputLen:r}=this;this.digestInto(t);const n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}}Qt.HashMD=Tm;Object.defineProperty(mn,"__esModule",{value:!0});mn.ripemd160=mn.RIPEMD160=void 0;const km=Qt,Kn=$i,Im=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Rd=new Uint8Array(new Array(16).fill(0).map((e,t)=>t)),Bm=Rd.map(e=>(9*e+5)%16);let cc=[Rd],uc=[Bm];for(let e=0;e<4;e++)for(let t of[cc,uc])t.push(t[e].map(r=>Im[r]));const Fd=[[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=>new Uint8Array(e)),Cm=cc.map((e,t)=>e.map(r=>Fd[t][r])),Om=uc.map((e,t)=>e.map(r=>Fd[t][r])),Rm=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),Fm=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]);function su(e,t,r,n){return e===0?t^r^n:e===1?t&r|~t&n:e===2?(t|~r)^n:e===3?t&n|r&~n:t^(r|~n)}const es=new Uint32Array(16);let Ud=class extends km.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:r,h2:n,h3:i,h4:s}=this;return[t,r,n,i,s]}set(t,r,n,i,s){this.h0=t|0,this.h1=r|0,this.h2=n|0,this.h3=i|0,this.h4=s|0}process(t,r){for(let p=0;p<16;p++,r+=4)es[p]=t.getUint32(r,!0);let n=this.h0|0,i=n,s=this.h1|0,o=s,a=this.h2|0,c=a,f=this.h3|0,l=f,h=this.h4|0,y=h;for(let p=0;p<5;p++){const g=4-p,_=Rm[p],x=Fm[p],k=cc[p],T=uc[p],A=Cm[p],E=Om[p];for(let I=0;I<16;I++){const S=(0,Kn.rotl)(n+su(p,s,a,f)+es[k[I]]+_,A[I])+h|0;n=h,h=f,f=(0,Kn.rotl)(a,10)|0,a=s,s=S}for(let I=0;I<16;I++){const S=(0,Kn.rotl)(i+su(g,o,c,l)+es[T[I]]+x,E[I])+y|0;i=y,y=l,l=(0,Kn.rotl)(c,10)|0,c=o,o=S}}this.set(this.h1+a+l|0,this.h2+f+y|0,this.h3+h+i|0,this.h4+n+o|0,this.h0+s+c|0)}roundClean(){es.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}};mn.RIPEMD160=Ud;mn.ripemd160=(0,Kn.wrapConstructor)(()=>new Ud);var Gt={};Object.defineProperty(Gt,"__esModule",{value:!0});Gt.sha224=Gt.sha256=Gt.SHA256=void 0;const ko=Qt,lt=$i,Um=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ir=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),sr=new Uint32Array(64);class fc extends ko.HashMD{constructor(){super(64,32,8,!1),this.A=ir[0]|0,this.B=ir[1]|0,this.C=ir[2]|0,this.D=ir[3]|0,this.E=ir[4]|0,this.F=ir[5]|0,this.G=ir[6]|0,this.H=ir[7]|0}get(){const{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[t,r,n,i,s,o,a,c]}set(t,r,n,i,s,o,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,r){for(let h=0;h<16;h++,r+=4)sr[h]=t.getUint32(r,!1);for(let h=16;h<64;h++){const y=sr[h-15],p=sr[h-2],g=(0,lt.rotr)(y,7)^(0,lt.rotr)(y,18)^y>>>3,_=(0,lt.rotr)(p,17)^(0,lt.rotr)(p,19)^p>>>10;sr[h]=_+sr[h-7]+g+sr[h-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:f,H:l}=this;for(let h=0;h<64;h++){const y=(0,lt.rotr)(a,6)^(0,lt.rotr)(a,11)^(0,lt.rotr)(a,25),p=l+y+(0,ko.Chi)(a,c,f)+Um[h]+sr[h]|0,_=((0,lt.rotr)(n,2)^(0,lt.rotr)(n,13)^(0,lt.rotr)(n,22))+(0,ko.Maj)(n,i,s)|0;l=f,f=c,c=a,a=o+p|0,o=s,s=i,i=n,n=p+_|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(n,i,s,o,a,c,f,l)}roundClean(){sr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}Gt.SHA256=fc;class Nm extends fc{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}Gt.sha256=(0,lt.wrapConstructor)(()=>new fc);Gt.sha224=(0,lt.wrapConstructor)(()=>new Nm);async function Lm(e,{chain:t}){const{id:r,name:n,nativeCurrency:i,rpcUrls:s,blockExplorers:o}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:Q(r),chainName:n,nativeCurrency:i,rpcUrls:s.default.http,blockExplorerUrls:o?Object.values(o).map(({url:a})=>a):void 0}]},{dedupe:!0,retryCount:0})}function Mm(e,t){const{abi:r,args:n,bytecode:i,...s}=t,o=ic({abi:r,args:n,bytecode:i});return oc(e,{...s,...s.authorizationList?{to:null}:{},data:o})}async function $m(e){var r;return((r=e.account)==null?void 0:r.type)==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(n=>Ri(n))}async function Hm(e,t={}){const{account:r=e.account,chainId:n}=t,i=r?Ne(r):void 0,s=await e.request({method:"wallet_getCapabilities",params:[i==null?void 0:i.address]}),o={};for(const[a,c]of Object.entries(s))o[Number(a)]=c;return typeof n=="number"?o[n]:o}async function Dm(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}async function Nd(e,t){var c;const{account:r=e.account,chainId:n,nonce:i}=t;if(!r)throw new wr({docsPath:"/docs/eip7702/prepareAuthorization"});const s=Ne(r),o=(()=>{if(t.executor)return t.executor==="self"?t.executor:Ne(t.executor)})(),a={address:t.contractAddress??t.address,chainId:n,nonce:i};return typeof a.chainId>"u"&&(a.chainId=((c=e.chain)==null?void 0:c.id)??await oe(e,Li,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await oe(e,sd,"getTransactionCount")({address:s.address,blockTag:"pending"}),(o==="self"||o!=null&&o.address&&rc(o.address,s.address))&&(a.nonce+=1)),a}async function jm(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>j0(r))}async function Gm(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function zm(e,t){const{account:r=e.account,capabilities:n,chain:i=e.chain,forceAtomic:s=!1,id:o,version:a="2.0.0"}=t;if(typeof r>"u")throw new wr({docsPath:"/experimental/eip5792/sendCalls"});const c=r?Ne(r):null,f=t.calls.map(l=>{const h=l;return{data:h.abi?Tn({abi:h.abi,functionName:h.functionName,args:h.args}):h.data,to:h.to,value:h.value?Q(h.value):void 0}});try{const l=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:s,calls:f,capabilities:n,chainId:Q(i.id),from:c==null?void 0:c.address,id:o,version:a}]},{retryCount:0});return typeof l=="string"?{id:l}:l}catch(l){throw Ad(l,{...t,account:c,chain:t.chain})}}async function qm(e,t){const{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}async function Vm(e,t){const{account:r=e.account}=t;if(!r)throw new wr({docsPath:"/docs/eip7702/signAuthorization"});const n=Ne(r);if(!n.signAuthorization)throw new ls({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:n.type});const i=await Nd(e,t);return n.signAuthorization(i)}async function Wm(e,{account:t=e.account,message:r}){if(!t)throw new wr({docsPath:"/docs/actions/wallet/signMessage"});const n=Ne(t);if(n.signMessage)return n.signMessage({message:r});const i=typeof r=="string"?Os(r):r.raw instanceof Uint8Array?J(r.raw):r.raw;return e.request({method:"personal_sign",params:[i,n.address]},{retryCount:0})}async function Km(e,t){var f,l,h,y;const{account:r=e.account,chain:n=e.chain,...i}=t;if(!r)throw new wr({docsPath:"/docs/actions/wallet/signTransaction"});const s=Ne(r);Ni({account:s,...t});const o=await oe(e,Li,"getChainId")({});n!==null&&xd({currentChainId:o,chain:n});const a=(n==null?void 0:n.formatters)||((f=e.chain)==null?void 0:f.formatters),c=((l=a==null?void 0:a.transactionRequest)==null?void 0:l.format)||Ds;return s.signTransaction?s.signTransaction({...i,chainId:o},{serializer:(y=(h=e.chain)==null?void 0:h.serializers)==null?void 0:y.transaction}):await e.request({method:"eth_signTransaction",params:[{...c(i),chainId:Q(o),from:s.address}]},{retryCount:0})}async function Ym(e,t){const{account:r=e.account,domain:n,message:i,primaryType:s}=t;if(!r)throw new wr({docsPath:"/docs/actions/wallet/signTypedData"});const o=Ne(r),a={EIP712Domain:om({domain:n}),...t.types};if(sm({domain:n,message:i,primaryType:s,types:a}),o.signTypedData)return o.signTypedData({domain:n,message:i,primaryType:s,types:a});const c=im({domain:n,message:i,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[o.address,c]},{retryCount:0})}async function Xm(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:Q(t)}]},{retryCount:0})}async function Jm(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}function Qm(e){return{addChain:t=>Lm(e,t),deployContract:t=>Mm(e,t),getAddresses:()=>$m(e),getCallsStatus:t=>kd(e,t),getCapabilities:()=>Hm(e),getChainId:()=>Li(e),getPermissions:()=>Dm(e),prepareAuthorization:t=>Nd(e,t),prepareTransactionRequest:t=>tc(e,t),requestAddresses:()=>jm(e),requestPermissions:t=>Gm(e,t),sendCalls:t=>zm(e,t),sendRawTransaction:t=>Sd(e,t),sendTransaction:t=>oc(e,t),showCallsStatus:t=>qm(e,t),signAuthorization:t=>Vm(e,t),signMessage:t=>Wm(e,t),signTransaction:t=>Km(e,t),signTypedData:t=>Ym(e,t),switchChain:t=>Xm(e,t),waitForCallsStatus:t=>Gy(e,t),watchAsset:t=>Jm(e,t),writeContract:t=>Pd(e,t)}}function Io(e){const{key:t="wallet",name:r="Wallet Client",transport:n}=e;return qy({...e,key:t,name:r,transport:n,type:"walletClient"}).extend(Qm)}const hs={mainnet:{orderbook:"https://api.garden.finance",auth:"https://api.garden.finance/auth",quote:"https://api.garden.finance/quote",info:"https://api.garden.finance/info",evmRelay:"https://api.garden.finance/relayer",starknetRelay:"https://api.garden.finance/starknet"},testnet:{orderbook:"https://testnet.api.garden.finance",auth:"https://testnet.api.garden.finance/auth",quote:"https://testnet.api.garden.finance/quote",info:"https://testnet.api.garden.finance/info",evmRelay:"https://testnet.api.garden.finance/relayer",starknetRelay:"https://testnet.api.garden.finance/starknet"},localnet:{orderbook:"",auth:"",quote:"",info:"",evmRelay:"",starknetRelay:""}},Si={[q.Network.MAINNET]:{chainId:"0x534e5f4d41494e",nodeUrl:"https://starknet-mainnet.public.blastapi.io/rpc/v0_8"},[q.Network.TESTNET]:{chainId:"0x534e5f5345504f4c4941",nodeUrl:"https://starknet-sepolia.public.blastapi.io/rpc/v0_8"}},ou={chain:le.SupportedAssets.mainnet.base_cbBTC.chain,asset:le.SupportedAssets.mainnet.base_cbBTC.atomicSwapAddress};function au(e){const t=typeof e=="string"?e:e.environment,r=t===q.Environment.MAINNET?hs.mainnet:q.Environment.TESTNET?hs.testnet:hs.localnet;return{api:typeof e=="string"?r:{...r,...e},environment:t}}function _a(e){return typeof e=="string"&&(e=Buffer.from(e,"hex")),e.length===32?e:e.subarray(1,33)}function Pr(e,t){if(!e)throw new Error(t)}function Zm(e){return Buffer.concat([Uint8Array.from([192]),eb(e)])}function eb(e){const t=Ic.encodingLength(e.length),r=Buffer.allocUnsafe(t);return Ic.encode(e.length,r),Buffer.concat([r,e])}function tb(e,t){if(e.compare(t)>0){const r=e;e=t,t=r}return[e,t]}const fr=e=>e.length===64?e:e.slice(2),rb=e=>{if(!e)return!1;try{const t=Buffer.from(e,"hex");return Or.isPoint(t)}catch{return!1}},va=(e,t,r,n)=>e+":"+t.toLowerCase()+"::"+r+":"+n.toLowerCase();function nb(e,t){if(!e)return!1;const r=t===q.Environment.MAINNET?ce.networks.bitcoin:t===q.Environment.TESTNET?ce.networks.testnet:ce.networks.regtest;if(!r)return!1;ce.initEccLib(Or);try{return ce.address.toOutputScript(e,r),!0}catch{return!1}}const ib=e=>{switch(e){case q.Environment.MAINNET:return ln.BitcoinNetwork.Mainnet;case q.Environment.TESTNET:return ln.BitcoinNetwork.Testnet;default:throw new Error(`Invalid bitcoin network ${e}`)}},sb=e=>{const t=e.toLowerCase().replace("0x","");return/^[0-9a-f]+$/.test(t)},ob=e=>{if(typeof e=="object"&&"r"in e&&"s"in e)return q.Ok([e.r.toString(),e.s.toString()]);if(Array.isArray(e)){const t=e.map(r=>typeof r=="string"&&r.startsWith("0x")&&sb(r)?BigInt(r).toString():r);return q.Ok(t)}return q.Err("Invalid signature format")};var we=(e=>(e.Created="Created",e.Matched="Matched",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.CounterPartyInitiateDetected="CounterPartyInitiateDetected",e.CounterPartyInitiated="CounterPartyInitiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.CounterPartyRedeemDetected="CounterPartyRedeemDetected",e.CounterPartyRedeemed="CounterPartyRedeemed",e.Completed="Completed",e.CounterPartySwapExpired="CounterPartySwapExpired",e.Expired="Expired",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.CounterPartyRefundDetected="CounterPartyRefundDetected",e.CounterPartyRefunded="CounterPartyRefunded",e.Cancelled="Cancelled",e.DeadLineExceeded="DeadLineExceeded",e))(we||{}),xe=(e=>(e.Idle="Idle",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.Expired="Expired",e))(xe||{});const dc=(e,t,r)=>{const n=Ea(e.source_swap,t),i=Ea(e.destination_swap,r);if(i===xe.RedeemDetected)return we.RedeemDetected;if(i===xe.Redeemed)return we.Redeemed;if(n===xe.Refunded)return we.Refunded;if(n===xe.RefundDetected)return we.RefundDetected;if(i===xe.Expired)return we.CounterPartySwapExpired;if(n===xe.Expired)return we.Expired;if(i===xe.Refunded)return we.CounterPartyRefunded;if(i===xe.RefundDetected)return we.CounterPartyRefundDetected;const s=Number(e.create_order.additional_data.deadline);return i===xe.Initiated?we.CounterPartyInitiated:i===xe.InitiateDetected?we.CounterPartyInitiateDetected:Pi(s,12)?we.DeadLineExceeded:n===xe.Initiated?we.Initiated:Pi(s,1)?we.DeadLineExceeded:n===xe.InitiateDetected?we.InitiateDetected:n===xe.Redeemed?we.CounterPartyRedeemed:n===xe.RedeemDetected?we.CounterPartyRedeemDetected:we.Matched},Ea=(e,t)=>{if(e.redeem_tx_hash)return Number(e.redeem_block_number)?xe.Redeemed:xe.RedeemDetected;if(e.refund_tx_hash)return Number(e.refund_block_number)?xe.Refunded:xe.RefundDetected;if(Number(e.initiate_block_number)){const r=Number(e.initiate_block_number)+e.timelock;if(t>r)return xe.Expired}return e.initiate_tx_hash?Number(e.initiate_block_number)?xe.Initiated:xe.InitiateDetected:xe.Idle},ab=(e,t,r)=>{const n=dc(e,t,r);return lc(n)},lc=e=>{switch(e){case we.Matched:return Ce.Initiate;case we.CounterPartyInitiated:case we.CounterPartyInitiateDetected:case we.RedeemDetected:return Ce.Redeem;case we.Expired:return Ce.Refund;default:return Ce.Idle}},Pi=(e,t=0)=>{const r=Date.now(),n=e*1e3+t*36e5;return r>=n},cb=e=>e.filter(t=>!Ld(t)),Ld=e=>{const{source_swap:t,create_order:r}=e,{initiate_tx_hash:n,initiate_block_number:i}=t,{deadline:s}=r.additional_data;return n&&Number(i)?!1:n&&!Number(i)?Pi(Number(s),12):n?!1:Pi(Number(s),1)},ub=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),fb=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),db=Buffer.concat([ub,fb]),lb=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),cu={failedToCreateInternalPubkey:"failed to create internal pubkey"};function hb(){const e=af.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),t=Or.pointMultiply(Buffer.concat([Buffer.from("04","hex"),db]),e);if(!t)throw new Error(cu.failedToCreateInternalPubkey);const r=Or.pointAdd(lb,t);if(!r)throw new Error(cu.failedToCreateInternalPubkey);return _a(Buffer.from(r))}var Ae={},Ve={},Zt={},Vs={};Vs.byteLength=mb;Vs.toByteArray=gb;Vs.fromByteArray=vb;var It=[],ht=[],pb=typeof Uint8Array<"u"?Uint8Array:Array,Bo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Yr=0,yb=Bo.length;Yr<yb;++Yr)It[Yr]=Bo[Yr],ht[Bo.charCodeAt(Yr)]=Yr;ht[45]=62;ht[95]=63;function Md(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function mb(e){var t=Md(e),r=t[0],n=t[1];return(r+n)*3/4-n}function bb(e,t,r){return(t+r)*3/4-r}function gb(e){var t,r=Md(e),n=r[0],i=r[1],s=new pb(bb(e,n,i)),o=0,a=i>0?n-4:n,c;for(c=0;c<a;c+=4)t=ht[e.charCodeAt(c)]<<18|ht[e.charCodeAt(c+1)]<<12|ht[e.charCodeAt(c+2)]<<6|ht[e.charCodeAt(c+3)],s[o++]=t>>16&255,s[o++]=t>>8&255,s[o++]=t&255;return i===2&&(t=ht[e.charCodeAt(c)]<<2|ht[e.charCodeAt(c+1)]>>4,s[o++]=t&255),i===1&&(t=ht[e.charCodeAt(c)]<<10|ht[e.charCodeAt(c+1)]<<4|ht[e.charCodeAt(c+2)]>>2,s[o++]=t>>8&255,s[o++]=t&255),s}function wb(e){return It[e>>18&63]+It[e>>12&63]+It[e>>6&63]+It[e&63]}function _b(e,t,r){for(var n,i=[],s=t;s<r;s+=3)n=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(e[s+2]&255),i.push(wb(n));return i.join("")}function vb(e){for(var t,r=e.length,n=r%3,i=[],s=16383,o=0,a=r-n;o<a;o+=s)i.push(_b(e,o,o+s>a?a:o+s));return n===1?(t=e[r-1],i.push(It[t>>2]+It[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(It[t>>10]+It[t>>4&63]+It[t<<2&63]+"=")),i.join("")}var hc={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */hc.read=function(e,t,r,n,i){var s,o,a=i*8-n-1,c=(1<<a)-1,f=c>>1,l=-7,h=r?i-1:0,y=r?-1:1,p=e[t+h];for(h+=y,s=p&(1<<-l)-1,p>>=-l,l+=a;l>0;s=s*256+e[t+h],h+=y,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=n;l>0;o=o*256+e[t+h],h+=y,l-=8);if(s===0)s=1-f;else{if(s===c)return o?NaN:(p?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-f}return(p?-1:1)*o*Math.pow(2,s-n)};hc.write=function(e,t,r,n,i,s){var o,a,c,f=s*8-i-1,l=(1<<f)-1,h=l>>1,y=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:s-1,g=n?1:-1,_=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+h>=1?t+=y/c:t+=y*Math.pow(2,1-h),t*c>=2&&(o++,c/=2),o+h>=l?(a=0,o=l):o+h>=1?(a=(t*c-1)*Math.pow(2,i),o=o+h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=a&255,p+=g,a/=256,i-=8);for(o=o<<i|a,f+=i;f>0;e[r+p]=o&255,p+=g,o/=256,f-=8);e[r+p-g]|=_*128};/*!
|
|
42
42
|
* The buffer module from node.js, for the browser.
|
|
43
43
|
*
|
|
44
44
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
45
45
|
* @license MIT
|
|
46
|
-
*/(function(e){const t=qs,r=lc,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=a,e.SlowBuffer=T,e.INSPECT_MAX_BYTES=50;const i=2147483647;e.kMaxLength=i,a.TYPED_ARRAY_SUPPORT=s(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{const m=new Uint8Array(1),u={foo:function(){return 42}};return Object.setPrototypeOf(u,Uint8Array.prototype),Object.setPrototypeOf(m,u),m.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function o(m){if(m>i)throw new RangeError('The value "'+m+'" is invalid for option "size"');const u=new Uint8Array(m);return Object.setPrototypeOf(u,a.prototype),u}function a(m,u,d){if(typeof m=="number"){if(typeof u=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return h(m)}return c(m,u,d)}a.poolSize=8192;function c(m,u,d){if(typeof m=="string")return y(m,u);if(ArrayBuffer.isView(m))return g(m);if(m==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof m);if(ot(m,ArrayBuffer)||m&&ot(m.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ot(m,SharedArrayBuffer)||m&&ot(m.buffer,SharedArrayBuffer)))return _(m,u,d);if(typeof m=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const b=m.valueOf&&m.valueOf();if(b!=null&&b!==m)return a.from(b,u,d);const P=x(m);if(P)return P;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof m[Symbol.toPrimitive]=="function")return a.from(m[Symbol.toPrimitive]("string"),u,d);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof m)}a.from=function(m,u,d){return c(m,u,d)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function f(m){if(typeof m!="number")throw new TypeError('"size" argument must be of type number');if(m<0)throw new RangeError('The value "'+m+'" is invalid for option "size"')}function l(m,u,d){return f(m),m<=0?o(m):u!==void 0?typeof d=="string"?o(m).fill(u,d):o(m).fill(u):o(m)}a.alloc=function(m,u,d){return l(m,u,d)};function h(m){return f(m),o(m<0?0:k(m)|0)}a.allocUnsafe=function(m){return h(m)},a.allocUnsafeSlow=function(m){return h(m)};function y(m,u){if((typeof u!="string"||u==="")&&(u="utf8"),!a.isEncoding(u))throw new TypeError("Unknown encoding: "+u);const d=A(m,u)|0;let b=o(d);const P=b.write(m,u);return P!==d&&(b=b.slice(0,P)),b}function p(m){const u=m.length<0?0:k(m.length)|0,d=o(u);for(let b=0;b<u;b+=1)d[b]=m[b]&255;return d}function g(m){if(ot(m,Uint8Array)){const u=new Uint8Array(m);return _(u.buffer,u.byteOffset,u.byteLength)}return p(m)}function _(m,u,d){if(u<0||m.byteLength<u)throw new RangeError('"offset" is outside of buffer bounds');if(m.byteLength<u+(d||0))throw new RangeError('"length" is outside of buffer bounds');let b;return u===void 0&&d===void 0?b=new Uint8Array(m):d===void 0?b=new Uint8Array(m,u):b=new Uint8Array(m,u,d),Object.setPrototypeOf(b,a.prototype),b}function x(m){if(a.isBuffer(m)){const u=k(m.length)|0,d=o(u);return d.length===0||m.copy(d,0,0,u),d}if(m.length!==void 0)return typeof m.length!="number"||Ar(m.length)?o(0):p(m);if(m.type==="Buffer"&&Array.isArray(m.data))return p(m.data)}function k(m){if(m>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return m|0}function T(m){return+m!=m&&(m=0),a.alloc(+m)}a.isBuffer=function(u){return u!=null&&u._isBuffer===!0&&u!==a.prototype},a.compare=function(u,d){if(ot(u,Uint8Array)&&(u=a.from(u,u.offset,u.byteLength)),ot(d,Uint8Array)&&(d=a.from(d,d.offset,d.byteLength)),!a.isBuffer(u)||!a.isBuffer(d))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(u===d)return 0;let b=u.length,P=d.length;for(let U=0,F=Math.min(b,P);U<F;++U)if(u[U]!==d[U]){b=u[U],P=d[U];break}return b<P?-1:P<b?1:0},a.isEncoding=function(u){switch(String(u).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(u,d){if(!Array.isArray(u))throw new TypeError('"list" argument must be an Array of Buffers');if(u.length===0)return a.alloc(0);let b;if(d===void 0)for(d=0,b=0;b<u.length;++b)d+=u[b].length;const P=a.allocUnsafe(d);let U=0;for(b=0;b<u.length;++b){let F=u[b];if(ot(F,Uint8Array))U+F.length>P.length?(a.isBuffer(F)||(F=a.from(F)),F.copy(P,U)):Uint8Array.prototype.set.call(P,F,U);else if(a.isBuffer(F))F.copy(P,U);else throw new TypeError('"list" argument must be an Array of Buffers');U+=F.length}return P};function A(m,u){if(a.isBuffer(m))return m.length;if(ArrayBuffer.isView(m)||ot(m,ArrayBuffer))return m.byteLength;if(typeof m!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof m);const d=m.length,b=arguments.length>2&&arguments[2]===!0;if(!b&&d===0)return 0;let P=!1;for(;;)switch(u){case"ascii":case"latin1":case"binary":return d;case"utf8":case"utf-8":return ae(m).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return d*2;case"hex":return d>>>1;case"base64":return kn(m).length;default:if(P)return b?-1:ae(m).length;u=(""+u).toLowerCase(),P=!0}}a.byteLength=A;function E(m,u,d){let b=!1;if((u===void 0||u<0)&&(u=0),u>this.length||((d===void 0||d>this.length)&&(d=this.length),d<=0)||(d>>>=0,u>>>=0,d<=u))return"";for(m||(m="utf8");;)switch(m){case"hex":return Te(this,u,d);case"utf8":case"utf-8":return V(this,u,d);case"ascii":return pe(this,u,d);case"latin1":case"binary":return _e(this,u,d);case"base64":return j(this,u,d);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return We(this,u,d);default:if(b)throw new TypeError("Unknown encoding: "+m);m=(m+"").toLowerCase(),b=!0}}a.prototype._isBuffer=!0;function I(m,u,d){const b=m[u];m[u]=m[d],m[d]=b}a.prototype.swap16=function(){const u=this.length;if(u%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let d=0;d<u;d+=2)I(this,d,d+1);return this},a.prototype.swap32=function(){const u=this.length;if(u%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let d=0;d<u;d+=4)I(this,d,d+3),I(this,d+1,d+2);return this},a.prototype.swap64=function(){const u=this.length;if(u%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let d=0;d<u;d+=8)I(this,d,d+7),I(this,d+1,d+6),I(this,d+2,d+5),I(this,d+3,d+4);return this},a.prototype.toString=function(){const u=this.length;return u===0?"":arguments.length===0?V(this,0,u):E.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(u){if(!a.isBuffer(u))throw new TypeError("Argument must be a Buffer");return this===u?!0:a.compare(this,u)===0},a.prototype.inspect=function(){let u="";const d=e.INSPECT_MAX_BYTES;return u=this.toString("hex",0,d).replace(/(.{2})/g,"$1 ").trim(),this.length>d&&(u+=" ... "),"<Buffer "+u+">"},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(u,d,b,P,U){if(ot(u,Uint8Array)&&(u=a.from(u,u.offset,u.byteLength)),!a.isBuffer(u))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof u);if(d===void 0&&(d=0),b===void 0&&(b=u?u.length:0),P===void 0&&(P=0),U===void 0&&(U=this.length),d<0||b>u.length||P<0||U>this.length)throw new RangeError("out of range index");if(P>=U&&d>=b)return 0;if(P>=U)return-1;if(d>=b)return 1;if(d>>>=0,b>>>=0,P>>>=0,U>>>=0,this===u)return 0;let F=U-P,re=b-d;const Se=Math.min(F,re),Ee=this.slice(P,U),Pe=u.slice(d,b);for(let de=0;de<Se;++de)if(Ee[de]!==Pe[de]){F=Ee[de],re=Pe[de];break}return F<re?-1:re<F?1:0};function S(m,u,d,b,P){if(m.length===0)return-1;if(typeof d=="string"?(b=d,d=0):d>2147483647?d=2147483647:d<-2147483648&&(d=-2147483648),d=+d,Ar(d)&&(d=P?0:m.length-1),d<0&&(d=m.length+d),d>=m.length){if(P)return-1;d=m.length-1}else if(d<0)if(P)d=0;else return-1;if(typeof u=="string"&&(u=a.from(u,b)),a.isBuffer(u))return u.length===0?-1:N(m,u,d,b,P);if(typeof u=="number")return u=u&255,typeof Uint8Array.prototype.indexOf=="function"?P?Uint8Array.prototype.indexOf.call(m,u,d):Uint8Array.prototype.lastIndexOf.call(m,u,d):N(m,[u],d,b,P);throw new TypeError("val must be string, number or Buffer")}function N(m,u,d,b,P){let U=1,F=m.length,re=u.length;if(b!==void 0&&(b=String(b).toLowerCase(),b==="ucs2"||b==="ucs-2"||b==="utf16le"||b==="utf-16le")){if(m.length<2||u.length<2)return-1;U=2,F/=2,re/=2,d/=2}function Se(Pe,de){return U===1?Pe[de]:Pe.readUInt16BE(de*U)}let Ee;if(P){let Pe=-1;for(Ee=d;Ee<F;Ee++)if(Se(m,Ee)===Se(u,Pe===-1?0:Ee-Pe)){if(Pe===-1&&(Pe=Ee),Ee-Pe+1===re)return Pe*U}else Pe!==-1&&(Ee-=Ee-Pe),Pe=-1}else for(d+re>F&&(d=F-re),Ee=d;Ee>=0;Ee--){let Pe=!0;for(let de=0;de<re;de++)if(Se(m,Ee+de)!==Se(u,de)){Pe=!1;break}if(Pe)return Ee}return-1}a.prototype.includes=function(u,d,b){return this.indexOf(u,d,b)!==-1},a.prototype.indexOf=function(u,d,b){return S(this,u,d,b,!0)},a.prototype.lastIndexOf=function(u,d,b){return S(this,u,d,b,!1)};function $(m,u,d,b){d=Number(d)||0;const P=m.length-d;b?(b=Number(b),b>P&&(b=P)):b=P;const U=u.length;b>U/2&&(b=U/2);let F;for(F=0;F<b;++F){const re=parseInt(u.substr(F*2,2),16);if(Ar(re))return F;m[d+F]=re}return F}function B(m,u,d,b){return Vr(ae(u,m.length-d),m,d,b)}function W(m,u,d,b){return Vr(tr(u),m,d,b)}function R(m,u,d,b){return Vr(kn(u),m,d,b)}function D(m,u,d,b){return Vr(qr(u,m.length-d),m,d,b)}a.prototype.write=function(u,d,b,P){if(d===void 0)P="utf8",b=this.length,d=0;else if(b===void 0&&typeof d=="string")P=d,b=this.length,d=0;else if(isFinite(d))d=d>>>0,isFinite(b)?(b=b>>>0,P===void 0&&(P="utf8")):(P=b,b=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const U=this.length-d;if((b===void 0||b>U)&&(b=U),u.length>0&&(b<0||d<0)||d>this.length)throw new RangeError("Attempt to write outside buffer bounds");P||(P="utf8");let F=!1;for(;;)switch(P){case"hex":return $(this,u,d,b);case"utf8":case"utf-8":return B(this,u,d,b);case"ascii":case"latin1":case"binary":return W(this,u,d,b);case"base64":return R(this,u,d,b);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,u,d,b);default:if(F)throw new TypeError("Unknown encoding: "+P);P=(""+P).toLowerCase(),F=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function j(m,u,d){return u===0&&d===m.length?t.fromByteArray(m):t.fromByteArray(m.slice(u,d))}function V(m,u,d){d=Math.min(m.length,d);const b=[];let P=u;for(;P<d;){const U=m[P];let F=null,re=U>239?4:U>223?3:U>191?2:1;if(P+re<=d){let Se,Ee,Pe,de;switch(re){case 1:U<128&&(F=U);break;case 2:Se=m[P+1],(Se&192)===128&&(de=(U&31)<<6|Se&63,de>127&&(F=de));break;case 3:Se=m[P+1],Ee=m[P+2],(Se&192)===128&&(Ee&192)===128&&(de=(U&15)<<12|(Se&63)<<6|Ee&63,de>2047&&(de<55296||de>57343)&&(F=de));break;case 4:Se=m[P+1],Ee=m[P+2],Pe=m[P+3],(Se&192)===128&&(Ee&192)===128&&(Pe&192)===128&&(de=(U&15)<<18|(Se&63)<<12|(Ee&63)<<6|Pe&63,de>65535&&de<1114112&&(F=de))}}F===null?(F=65533,re=1):F>65535&&(F-=65536,b.push(F>>>10&1023|55296),F=56320|F&1023),b.push(F),P+=re}return ne(b)}const X=4096;function ne(m){const u=m.length;if(u<=X)return String.fromCharCode.apply(String,m);let d="",b=0;for(;b<u;)d+=String.fromCharCode.apply(String,m.slice(b,b+=X));return d}function pe(m,u,d){let b="";d=Math.min(m.length,d);for(let P=u;P<d;++P)b+=String.fromCharCode(m[P]&127);return b}function _e(m,u,d){let b="";d=Math.min(m.length,d);for(let P=u;P<d;++P)b+=String.fromCharCode(m[P]);return b}function Te(m,u,d){const b=m.length;(!u||u<0)&&(u=0),(!d||d<0||d>b)&&(d=b);let P="";for(let U=u;U<d;++U)P+=In[m[U]];return P}function We(m,u,d){const b=m.slice(u,d);let P="";for(let U=0;U<b.length-1;U+=2)P+=String.fromCharCode(b[U]+b[U+1]*256);return P}a.prototype.slice=function(u,d){const b=this.length;u=~~u,d=d===void 0?b:~~d,u<0?(u+=b,u<0&&(u=0)):u>b&&(u=b),d<0?(d+=b,d<0&&(d=0)):d>b&&(d=b),d<u&&(d=u);const P=this.subarray(u,d);return Object.setPrototypeOf(P,a.prototype),P};function fe(m,u,d){if(m%1!==0||m<0)throw new RangeError("offset is not uint");if(m+u>d)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(u,d,b){u=u>>>0,d=d>>>0,b||fe(u,d,this.length);let P=this[u],U=1,F=0;for(;++F<d&&(U*=256);)P+=this[u+F]*U;return P},a.prototype.readUintBE=a.prototype.readUIntBE=function(u,d,b){u=u>>>0,d=d>>>0,b||fe(u,d,this.length);let P=this[u+--d],U=1;for(;d>0&&(U*=256);)P+=this[u+--d]*U;return P},a.prototype.readUint8=a.prototype.readUInt8=function(u,d){return u=u>>>0,d||fe(u,1,this.length),this[u]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(u,d){return u=u>>>0,d||fe(u,2,this.length),this[u]|this[u+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(u,d){return u=u>>>0,d||fe(u,2,this.length),this[u]<<8|this[u+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),(this[u]|this[u+1]<<8|this[u+2]<<16)+this[u+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),this[u]*16777216+(this[u+1]<<16|this[u+2]<<8|this[u+3])},a.prototype.readBigUInt64LE=ft(function(u){u=u>>>0,M(u,"offset");const d=this[u],b=this[u+7];(d===void 0||b===void 0)&&z(u,this.length-8);const P=d+this[++u]*2**8+this[++u]*2**16+this[++u]*2**24,U=this[++u]+this[++u]*2**8+this[++u]*2**16+b*2**24;return BigInt(P)+(BigInt(U)<<BigInt(32))}),a.prototype.readBigUInt64BE=ft(function(u){u=u>>>0,M(u,"offset");const d=this[u],b=this[u+7];(d===void 0||b===void 0)&&z(u,this.length-8);const P=d*2**24+this[++u]*2**16+this[++u]*2**8+this[++u],U=this[++u]*2**24+this[++u]*2**16+this[++u]*2**8+b;return(BigInt(P)<<BigInt(32))+BigInt(U)}),a.prototype.readIntLE=function(u,d,b){u=u>>>0,d=d>>>0,b||fe(u,d,this.length);let P=this[u],U=1,F=0;for(;++F<d&&(U*=256);)P+=this[u+F]*U;return U*=128,P>=U&&(P-=Math.pow(2,8*d)),P},a.prototype.readIntBE=function(u,d,b){u=u>>>0,d=d>>>0,b||fe(u,d,this.length);let P=d,U=1,F=this[u+--P];for(;P>0&&(U*=256);)F+=this[u+--P]*U;return U*=128,F>=U&&(F-=Math.pow(2,8*d)),F},a.prototype.readInt8=function(u,d){return u=u>>>0,d||fe(u,1,this.length),this[u]&128?(255-this[u]+1)*-1:this[u]},a.prototype.readInt16LE=function(u,d){u=u>>>0,d||fe(u,2,this.length);const b=this[u]|this[u+1]<<8;return b&32768?b|4294901760:b},a.prototype.readInt16BE=function(u,d){u=u>>>0,d||fe(u,2,this.length);const b=this[u+1]|this[u]<<8;return b&32768?b|4294901760:b},a.prototype.readInt32LE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),this[u]|this[u+1]<<8|this[u+2]<<16|this[u+3]<<24},a.prototype.readInt32BE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),this[u]<<24|this[u+1]<<16|this[u+2]<<8|this[u+3]},a.prototype.readBigInt64LE=ft(function(u){u=u>>>0,M(u,"offset");const d=this[u],b=this[u+7];(d===void 0||b===void 0)&&z(u,this.length-8);const P=this[u+4]+this[u+5]*2**8+this[u+6]*2**16+(b<<24);return(BigInt(P)<<BigInt(32))+BigInt(d+this[++u]*2**8+this[++u]*2**16+this[++u]*2**24)}),a.prototype.readBigInt64BE=ft(function(u){u=u>>>0,M(u,"offset");const d=this[u],b=this[u+7];(d===void 0||b===void 0)&&z(u,this.length-8);const P=(d<<24)+this[++u]*2**16+this[++u]*2**8+this[++u];return(BigInt(P)<<BigInt(32))+BigInt(this[++u]*2**24+this[++u]*2**16+this[++u]*2**8+b)}),a.prototype.readFloatLE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),r.read(this,u,!0,23,4)},a.prototype.readFloatBE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),r.read(this,u,!1,23,4)},a.prototype.readDoubleLE=function(u,d){return u=u>>>0,d||fe(u,8,this.length),r.read(this,u,!0,52,8)},a.prototype.readDoubleBE=function(u,d){return u=u>>>0,d||fe(u,8,this.length),r.read(this,u,!1,52,8)};function me(m,u,d,b,P,U){if(!a.isBuffer(m))throw new TypeError('"buffer" argument must be a Buffer instance');if(u>P||u<U)throw new RangeError('"value" argument is out of bounds');if(d+b>m.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(u,d,b,P){if(u=+u,d=d>>>0,b=b>>>0,!P){const re=Math.pow(2,8*b)-1;me(this,u,d,b,re,0)}let U=1,F=0;for(this[d]=u&255;++F<b&&(U*=256);)this[d+F]=u/U&255;return d+b},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(u,d,b,P){if(u=+u,d=d>>>0,b=b>>>0,!P){const re=Math.pow(2,8*b)-1;me(this,u,d,b,re,0)}let U=b-1,F=1;for(this[d+U]=u&255;--U>=0&&(F*=256);)this[d+U]=u/F&255;return d+b},a.prototype.writeUint8=a.prototype.writeUInt8=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,1,255,0),this[d]=u&255,d+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,2,65535,0),this[d]=u&255,this[d+1]=u>>>8,d+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,2,65535,0),this[d]=u>>>8,this[d+1]=u&255,d+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,4,4294967295,0),this[d+3]=u>>>24,this[d+2]=u>>>16,this[d+1]=u>>>8,this[d]=u&255,d+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,4,4294967295,0),this[d]=u>>>24,this[d+1]=u>>>16,this[d+2]=u>>>8,this[d+3]=u&255,d+4};function st(m,u,d,b,P){v(u,b,P,m,d,7);let U=Number(u&BigInt(4294967295));m[d++]=U,U=U>>8,m[d++]=U,U=U>>8,m[d++]=U,U=U>>8,m[d++]=U;let F=Number(u>>BigInt(32)&BigInt(4294967295));return m[d++]=F,F=F>>8,m[d++]=F,F=F>>8,m[d++]=F,F=F>>8,m[d++]=F,d}function er(m,u,d,b,P){v(u,b,P,m,d,7);let U=Number(u&BigInt(4294967295));m[d+7]=U,U=U>>8,m[d+6]=U,U=U>>8,m[d+5]=U,U=U>>8,m[d+4]=U;let F=Number(u>>BigInt(32)&BigInt(4294967295));return m[d+3]=F,F=F>>8,m[d+2]=F,F=F>>8,m[d+1]=F,F=F>>8,m[d]=F,d+8}a.prototype.writeBigUInt64LE=ft(function(u,d=0){return st(this,u,d,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=ft(function(u,d=0){return er(this,u,d,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(u,d,b,P){if(u=+u,d=d>>>0,!P){const Se=Math.pow(2,8*b-1);me(this,u,d,b,Se-1,-Se)}let U=0,F=1,re=0;for(this[d]=u&255;++U<b&&(F*=256);)u<0&&re===0&&this[d+U-1]!==0&&(re=1),this[d+U]=(u/F>>0)-re&255;return d+b},a.prototype.writeIntBE=function(u,d,b,P){if(u=+u,d=d>>>0,!P){const Se=Math.pow(2,8*b-1);me(this,u,d,b,Se-1,-Se)}let U=b-1,F=1,re=0;for(this[d+U]=u&255;--U>=0&&(F*=256);)u<0&&re===0&&this[d+U+1]!==0&&(re=1),this[d+U]=(u/F>>0)-re&255;return d+b},a.prototype.writeInt8=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,1,127,-128),u<0&&(u=255+u+1),this[d]=u&255,d+1},a.prototype.writeInt16LE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,2,32767,-32768),this[d]=u&255,this[d+1]=u>>>8,d+2},a.prototype.writeInt16BE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,2,32767,-32768),this[d]=u>>>8,this[d+1]=u&255,d+2},a.prototype.writeInt32LE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,4,2147483647,-2147483648),this[d]=u&255,this[d+1]=u>>>8,this[d+2]=u>>>16,this[d+3]=u>>>24,d+4},a.prototype.writeInt32BE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,4,2147483647,-2147483648),u<0&&(u=4294967295+u+1),this[d]=u>>>24,this[d+1]=u>>>16,this[d+2]=u>>>8,this[d+3]=u&255,d+4},a.prototype.writeBigInt64LE=ft(function(u,d=0){return st(this,u,d,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=ft(function(u,d=0){return er(this,u,d,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Rt(m,u,d,b,P,U){if(d+b>m.length)throw new RangeError("Index out of range");if(d<0)throw new RangeError("Index out of range")}function O(m,u,d,b,P){return u=+u,d=d>>>0,P||Rt(m,u,d,4),r.write(m,u,d,b,23,4),d+4}a.prototype.writeFloatLE=function(u,d,b){return O(this,u,d,!0,b)},a.prototype.writeFloatBE=function(u,d,b){return O(this,u,d,!1,b)};function C(m,u,d,b,P){return u=+u,d=d>>>0,P||Rt(m,u,d,8),r.write(m,u,d,b,52,8),d+8}a.prototype.writeDoubleLE=function(u,d,b){return C(this,u,d,!0,b)},a.prototype.writeDoubleBE=function(u,d,b){return C(this,u,d,!1,b)},a.prototype.copy=function(u,d,b,P){if(!a.isBuffer(u))throw new TypeError("argument should be a Buffer");if(b||(b=0),!P&&P!==0&&(P=this.length),d>=u.length&&(d=u.length),d||(d=0),P>0&&P<b&&(P=b),P===b||u.length===0||this.length===0)return 0;if(d<0)throw new RangeError("targetStart out of bounds");if(b<0||b>=this.length)throw new RangeError("Index out of range");if(P<0)throw new RangeError("sourceEnd out of bounds");P>this.length&&(P=this.length),u.length-d<P-b&&(P=u.length-d+b);const U=P-b;return this===u&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(d,b,P):Uint8Array.prototype.set.call(u,this.subarray(b,P),d),U},a.prototype.fill=function(u,d,b,P){if(typeof u=="string"){if(typeof d=="string"?(P=d,d=0,b=this.length):typeof b=="string"&&(P=b,b=this.length),P!==void 0&&typeof P!="string")throw new TypeError("encoding must be a string");if(typeof P=="string"&&!a.isEncoding(P))throw new TypeError("Unknown encoding: "+P);if(u.length===1){const F=u.charCodeAt(0);(P==="utf8"&&F<128||P==="latin1")&&(u=F)}}else typeof u=="number"?u=u&255:typeof u=="boolean"&&(u=Number(u));if(d<0||this.length<d||this.length<b)throw new RangeError("Out of range index");if(b<=d)return this;d=d>>>0,b=b===void 0?this.length:b>>>0,u||(u=0);let U;if(typeof u=="number")for(U=d;U<b;++U)this[U]=u;else{const F=a.isBuffer(u)?u:a.from(u,P),re=F.length;if(re===0)throw new TypeError('The value "'+u+'" is invalid for argument "value"');for(U=0;U<b-d;++U)this[U+d]=F[U%re]}return this};const H={};function K(m,u,d){H[m]=class extends d{constructor(){super(),Object.defineProperty(this,"message",{value:u.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${m}]`,this.stack,delete this.name}get code(){return m}set code(P){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:P,writable:!0})}toString(){return`${this.name} [${m}]: ${this.message}`}}}K("ERR_BUFFER_OUT_OF_BOUNDS",function(m){return m?`${m} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),K("ERR_INVALID_ARG_TYPE",function(m,u){return`The "${m}" argument must be of type number. Received type ${typeof u}`},TypeError),K("ERR_OUT_OF_RANGE",function(m,u,d){let b=`The value of "${m}" is out of range.`,P=d;return Number.isInteger(d)&&Math.abs(d)>2**32?P=Z(String(d)):typeof d=="bigint"&&(P=String(d),(d>BigInt(2)**BigInt(32)||d<-(BigInt(2)**BigInt(32)))&&(P=Z(P)),P+="n"),b+=` It must be ${u}. Received ${P}`,b},RangeError);function Z(m){let u="",d=m.length;const b=m[0]==="-"?1:0;for(;d>=b+4;d-=3)u=`_${m.slice(d-3,d)}${u}`;return`${m.slice(0,d)}${u}`}function w(m,u,d){M(u,"offset"),(m[u]===void 0||m[u+d]===void 0)&&z(u,m.length-(d+1))}function v(m,u,d,b,P,U){if(m>d||m<u){const F=typeof u=="bigint"?"n":"";let re;throw u===0||u===BigInt(0)?re=`>= 0${F} and < 2${F} ** ${(U+1)*8}${F}`:re=`>= -(2${F} ** ${(U+1)*8-1}${F}) and < 2 ** ${(U+1)*8-1}${F}`,new H.ERR_OUT_OF_RANGE("value",re,m)}w(b,P,U)}function M(m,u){if(typeof m!="number")throw new H.ERR_INVALID_ARG_TYPE(u,"number",m)}function z(m,u,d){throw Math.floor(m)!==m?(M(m,d),new H.ERR_OUT_OF_RANGE("offset","an integer",m)):u<0?new H.ERR_BUFFER_OUT_OF_BOUNDS:new H.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${u}`,m)}const ve=/[^+/0-9A-Za-z-_]/g;function ee(m){if(m=m.split("=")[0],m=m.trim().replace(ve,""),m.length<2)return"";for(;m.length%4!==0;)m=m+"=";return m}function ae(m,u){u=u||1/0;let d;const b=m.length;let P=null;const U=[];for(let F=0;F<b;++F){if(d=m.charCodeAt(F),d>55295&&d<57344){if(!P){if(d>56319){(u-=3)>-1&&U.push(239,191,189);continue}else if(F+1===b){(u-=3)>-1&&U.push(239,191,189);continue}P=d;continue}if(d<56320){(u-=3)>-1&&U.push(239,191,189),P=d;continue}d=(P-55296<<10|d-56320)+65536}else P&&(u-=3)>-1&&U.push(239,191,189);if(P=null,d<128){if((u-=1)<0)break;U.push(d)}else if(d<2048){if((u-=2)<0)break;U.push(d>>6|192,d&63|128)}else if(d<65536){if((u-=3)<0)break;U.push(d>>12|224,d>>6&63|128,d&63|128)}else if(d<1114112){if((u-=4)<0)break;U.push(d>>18|240,d>>12&63|128,d>>6&63|128,d&63|128)}else throw new Error("Invalid code point")}return U}function tr(m){const u=[];for(let d=0;d<m.length;++d)u.push(m.charCodeAt(d)&255);return u}function qr(m,u){let d,b,P;const U=[];for(let F=0;F<m.length&&!((u-=2)<0);++F)d=m.charCodeAt(F),b=d>>8,P=d%256,U.push(P),U.push(b);return U}function kn(m){return t.toByteArray(ee(m))}function Vr(m,u,d,b){let P;for(P=0;P<b&&!(P+d>=u.length||P>=m.length);++P)u[P+d]=m[P];return P}function ot(m,u){return m instanceof u||m!=null&&m.constructor!=null&&m.constructor.name!=null&&m.constructor.name===u.name}function Ar(m){return m!==m}const In=function(){const m="0123456789abcdef",u=new Array(256);for(let d=0;d<16;++d){const b=d*16;for(let P=0;P<16;++P)u[b+P]=m[d]+m[P]}return u}();function ft(m){return typeof BigInt>"u"?Sr:m}function Sr(){throw new Error("BigInt not supported")}})(Zt);var Pi={Array:function(e){return e!=null&&e.constructor===Array},Boolean:function(e){return typeof e=="boolean"},Function:function(e){return typeof e=="function"},Nil:function(e){return e==null},Number:function(e){return typeof e=="number"},Object:function(e){return typeof e=="object"},String:function(e){return typeof e=="string"},"":function(){return!0}};Pi.Null=Pi.Nil;for(var cu in Pi)Pi[cu].toJSON=(function(e){return e}).bind(null,cu);var hc=Pi,Br=hc;function Md(e){return e.name||e.toString().match(/function (.*?)\s*\(/)[1]}function pc(e){return Br.Nil(e)?"":Md(e.constructor)}function vb(e){return Br.Function(e)?"":Br.String(e)?JSON.stringify(e):e&&Br.Object(e)?"":e}function yc(e,t){Error.captureStackTrace&&Error.captureStackTrace(e,t)}function xs(e){return Br.Function(e)?e.toJSON?e.toJSON():Md(e):Br.Array(e)?"Array":e&&Br.Object(e)?"Object":e!==void 0?e:""}function $d(e,t,r){var n=vb(t);return"Expected "+xs(e)+", got"+(r!==""?" "+r:"")+(n!==""?" "+n:"")}function Kt(e,t,r){r=r||pc(t),this.message=$d(e,t,r),yc(this,Kt),this.__type=e,this.__value=t,this.__valueTypeName=r}Kt.prototype=Object.create(Error.prototype);Kt.prototype.constructor=Kt;function Eb(e,t,r,n,i){var s='" of type ';return t==="key"&&(s='" with key type '),$d('property "'+xs(r)+s+xs(e),n,i)}function cn(e,t,r,n,i){e?(i=i||pc(n),this.message=Eb(e,r,t,n,i)):this.message='Unexpected property "'+t+'"',yc(this,Kt),this.__label=r,this.__property=t,this.__type=e,this.__value=n,this.__valueTypeName=i}cn.prototype=Object.create(Error.prototype);cn.prototype.constructor=Kt;function xb(e,t){return new Kt(e,{},t)}function Ab(e,t,r){return e instanceof cn?(t=t+"."+e.__property,e=new cn(e.__type,t,e.__label,e.__value,e.__valueTypeName)):e instanceof Kt&&(e=new cn(e.__type,t,r,e.__value,e.__valueTypeName)),yc(e),e}var Hd={TfTypeError:Kt,TfPropertyTypeError:cn,tfCustomError:xb,tfSubError:Ab,tfJSON:xs,getValueTypeName:pc},Bo,uu;function Sb(){if(uu)return Bo;uu=1;var e=hc,t=Hd;function r(S){return Buffer.isBuffer(S)}function n(S){return typeof S=="string"&&/^([0-9a-f]{2})+$/i.test(S)}function i(S,N){var $=S.toJSON();function B(W){if(!S(W))return!1;if(W.length===N)return!0;throw t.tfCustomError($+"(Length: "+N+")",$+"(Length: "+W.length+")")}return B.toJSON=function(){return $},B}var s=i.bind(null,e.Array),o=i.bind(null,r),a=i.bind(null,n),c=i.bind(null,e.String);function f(S,N,$){$=$||e.Number;function B(W,R){return $(W,R)&&W>S&&W<N}return B.toJSON=function(){return`${$.toJSON()} between [${S}, ${N}]`},B}var l=Math.pow(2,53)-1;function h(S){return typeof S=="number"&&isFinite(S)}function y(S){return S<<24>>24===S}function p(S){return S<<16>>16===S}function g(S){return(S|0)===S}function _(S){return typeof S=="number"&&S>=-l&&S<=l&&Math.floor(S)===S}function x(S){return(S&255)===S}function k(S){return(S&65535)===S}function T(S){return S>>>0===S}function A(S){return typeof S=="number"&&S>=0&&S<=l&&Math.floor(S)===S}var E={ArrayN:s,Buffer:r,BufferN:o,Finite:h,Hex:n,HexN:a,Int8:y,Int16:p,Int32:g,Int53:_,Range:f,StringN:c,UInt8:x,UInt16:k,UInt32:T,UInt53:A};for(var I in E)E[I].toJSON=(function(S){return S}).bind(null,I);return Bo=E,Bo}var $i=Hd,Me=hc,Ft=$i.tfJSON,Dd=$i.TfTypeError,jd=$i.TfPropertyTypeError,Un=$i.tfSubError,Pb=$i.getValueTypeName,Ht={arrayOf:function(t,r){t=Pt(t),r=r||{};function n(i,s){return!Me.Array(i)||Me.Nil(i)||r.minLength!==void 0&&i.length<r.minLength||r.maxLength!==void 0&&i.length>r.maxLength||r.length!==void 0&&i.length!==r.length?!1:i.every(function(o,a){try{return Qe(t,o,s)}catch(c){throw Un(c,a)}})}return n.toJSON=function(){var i="["+Ft(t)+"]";return r.length!==void 0?i+="{"+r.length+"}":(r.minLength!==void 0||r.maxLength!==void 0)&&(i+="{"+(r.minLength===void 0?0:r.minLength)+","+(r.maxLength===void 0?1/0:r.maxLength)+"}"),i},n},maybe:function e(t){t=Pt(t);function r(n,i){return Me.Nil(n)||t(n,i,e)}return r.toJSON=function(){return"?"+Ft(t)},r},map:function(t,r){t=Pt(t),r&&(r=Pt(r));function n(i,s){if(!Me.Object(i)||Me.Nil(i))return!1;for(var o in i){try{r&&Qe(r,o,s)}catch(c){throw Un(c,o,"key")}try{var a=i[o];Qe(t,a,s)}catch(c){throw Un(c,o)}}return!0}return r?n.toJSON=function(){return"{"+Ft(r)+": "+Ft(t)+"}"}:n.toJSON=function(){return"{"+Ft(t)+"}"},n},object:function(t){var r={};for(var n in t)r[n]=Pt(t[n]);function i(s,o){if(!Me.Object(s)||Me.Nil(s))return!1;var a;try{for(a in r){var c=r[a],f=s[a];Qe(c,f,o)}}catch(l){throw Un(l,a)}if(o){for(a in s)if(!r[a])throw new jd(void 0,a)}return!0}return i.toJSON=function(){return Ft(r)},i},anyOf:function(){var t=[].slice.call(arguments).map(Pt);function r(n,i){return t.some(function(s){try{return Qe(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(Ft).join("|")},r},allOf:function(){var t=[].slice.call(arguments).map(Pt);function r(n,i){return t.every(function(s){try{return Qe(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(Ft).join(" & ")},r},quacksLike:function(t){function r(n){return t===Pb(n)}return r.toJSON=function(){return t},r},tuple:function(){var t=[].slice.call(arguments).map(Pt);function r(n,i){return Me.Nil(n)||Me.Nil(n.length)||i&&n.length!==t.length?!1:t.every(function(s,o){try{return Qe(s,n[o],i)}catch(a){throw Un(a,o)}})}return r.toJSON=function(){return"("+t.map(Ft).join(", ")+")"},r},value:function(t){function r(n){return n===t}return r.toJSON=function(){return t},r}};Ht.oneOf=Ht.anyOf;function Pt(e){if(Me.String(e))return e[0]==="?"?Ht.maybe(e.slice(1)):Me[e]||Ht.quacksLike(e);if(e&&Me.Object(e)){if(Me.Array(e)){if(e.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return Ht.arrayOf(e[0])}return Ht.object(e)}else if(Me.Function(e))return e;return Ht.value(e)}function Qe(e,t,r,n){if(Me.Function(e)){if(e(t,r))return!0;throw new Dd(n||e,t)}return Qe(Pt(e),t,r)}for(var pr in Me)Qe[pr]=Me[pr];for(pr in Ht)Qe[pr]=Ht[pr];var fu=Sb();for(pr in fu)Qe[pr]=fu[pr];Qe.compile=Pt;Qe.TfTypeError=Dd;Qe.TfPropertyTypeError=jd;var Gd=Qe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.oneOf=e.Null=e.BufferN=e.Function=e.UInt32=e.UInt8=e.tuple=e.maybe=e.Hex=e.Buffer=e.String=e.Boolean=e.Array=e.Number=e.Hash256bit=e.Hash160bit=e.Buffer256bit=e.isTaptree=e.isTapleaf=e.TAPLEAF_VERSION_MASK=e.Satoshi=e.isPoint=e.stacksEqual=e.typeforce=void 0;const t=Zt;e.typeforce=Gd;const r=t.Buffer.alloc(32,0),n=t.Buffer.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex");function i(l,h){return l.length!==h.length?!1:l.every((y,p)=>y.equals(h[p]))}e.stacksEqual=i;function s(l){if(!t.Buffer.isBuffer(l)||l.length<33)return!1;const h=l[0],y=l.slice(1,33);if(y.compare(r)===0||y.compare(n)>=0)return!1;if((h===2||h===3)&&l.length===33)return!0;const p=l.slice(33);return p.compare(r)===0||p.compare(n)>=0?!1:h===4&&l.length===65}e.isPoint=s;const o=21*1e14;function a(l){return e.typeforce.UInt53(l)&&l<=o}e.Satoshi=a,e.TAPLEAF_VERSION_MASK=254;function c(l){return!l||!("output"in l)||!t.Buffer.isBuffer(l.output)?!1:l.version!==void 0?(l.version&e.TAPLEAF_VERSION_MASK)===l.version:!0}e.isTapleaf=c;function f(l){return(0,e.Array)(l)?l.length!==2?!1:l.every(h=>f(h)):c(l)}e.isTaptree=f,e.Buffer256bit=e.typeforce.BufferN(32),e.Hash160bit=e.typeforce.BufferN(20),e.Hash256bit=e.typeforce.BufferN(32),e.Number=e.typeforce.Number,e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.String=e.typeforce.String,e.Buffer=e.typeforce.Buffer,e.Hex=e.typeforce.Hex,e.maybe=e.typeforce.maybe,e.tuple=e.typeforce.tuple,e.UInt8=e.typeforce.UInt8,e.UInt32=e.typeforce.UInt32,e.Function=e.typeforce.Function,e.BufferN=e.typeforce.BufferN,e.Null=e.typeforce.Null,e.oneOf=e.typeforce.oneOf})(Ve);var Hi={},$e={};Object.defineProperty($e,"__esModule",{value:!0});$e.BufferReader=$e.BufferWriter=$e.cloneBuffer=$e.reverseBuffer=$e.writeUInt64LE=$e.readUInt64LE=$e.varuint=void 0;const Cr=Ve,{typeforce:zd}=Cr,Ti=sf;$e.varuint=Ti;function qd(e,t){if(typeof e!="number")throw new Error("cannot write a non-number as a number");if(e<0)throw new Error("specified a negative value for writing an unsigned value");if(e>t)throw new Error("RangeError: value out of range");if(Math.floor(e)!==e)throw new Error("value has a fractional component")}function Vd(e,t){const r=e.readUInt32LE(t);let n=e.readUInt32LE(t+4);return n*=4294967296,qd(n+r,9007199254740991),n+r}$e.readUInt64LE=Vd;function Wd(e,t,r){return qd(t,9007199254740991),e.writeInt32LE(t&-1,r),e.writeUInt32LE(Math.floor(t/4294967296),r+4),r+8}$e.writeUInt64LE=Wd;function Tb(e){if(e.length<1)return e;let t=e.length-1,r=0;for(let n=0;n<e.length/2;n++)r=e[n],e[n]=e[t],e[t]=r,t--;return e}$e.reverseBuffer=Tb;function kb(e){const t=Buffer.allocUnsafe(e.length);return e.copy(t),t}$e.cloneBuffer=kb;class mc{static withCapacity(t){return new mc(Buffer.alloc(t))}constructor(t,r=0){this.buffer=t,this.offset=r,zd(Cr.tuple(Cr.Buffer,Cr.UInt32),[t,r])}writeUInt8(t){this.offset=this.buffer.writeUInt8(t,this.offset)}writeInt32(t){this.offset=this.buffer.writeInt32LE(t,this.offset)}writeUInt32(t){this.offset=this.buffer.writeUInt32LE(t,this.offset)}writeUInt64(t){this.offset=Wd(this.buffer,t,this.offset)}writeVarInt(t){Ti.encode(t,this.buffer,this.offset),this.offset+=Ti.encode.bytes}writeSlice(t){if(this.buffer.length<this.offset+t.length)throw new Error("Cannot write slice out of bounds");this.offset+=t.copy(this.buffer,this.offset)}writeVarSlice(t){this.writeVarInt(t.length),this.writeSlice(t)}writeVector(t){this.writeVarInt(t.length),t.forEach(r=>this.writeVarSlice(r))}end(){if(this.buffer.length===this.offset)return this.buffer;throw new Error(`buffer size ${this.buffer.length}, offset ${this.offset}`)}}$e.BufferWriter=mc;class Ib{constructor(t,r=0){this.buffer=t,this.offset=r,zd(Cr.tuple(Cr.Buffer,Cr.UInt32),[t,r])}readUInt8(){const t=this.buffer.readUInt8(this.offset);return this.offset++,t}readInt32(){const t=this.buffer.readInt32LE(this.offset);return this.offset+=4,t}readUInt32(){const t=this.buffer.readUInt32LE(this.offset);return this.offset+=4,t}readUInt64(){const t=Vd(this.buffer,this.offset);return this.offset+=8,t}readVarInt(){const t=Ti.decode(this.buffer,this.offset);return this.offset+=Ti.decode.bytes,t}readSlice(t){if(this.buffer.length<this.offset+t)throw new Error("Cannot read slice out of bounds");const r=this.buffer.slice(this.offset,this.offset+t);return this.offset+=t,r}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const t=this.readVarInt(),r=[];for(let n=0;n<t;n++)r.push(this.readVarSlice());return r}}$e.BufferReader=Ib;var vr={},bn={};Object.defineProperty(bn,"__esModule",{value:!0});bn.sha1=bn.SHA1=void 0;const Co=Qt,ls=Mi,Fn=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),or=new Uint32Array(80);class Kd extends Co.HashMD{constructor(){super(64,20,8,!1),this.A=Fn[0]|0,this.B=Fn[1]|0,this.C=Fn[2]|0,this.D=Fn[3]|0,this.E=Fn[4]|0}get(){const{A:t,B:r,C:n,D:i,E:s}=this;return[t,r,n,i,s]}set(t,r,n,i,s){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0}process(t,r){for(let c=0;c<16;c++,r+=4)or[c]=t.getUint32(r,!1);for(let c=16;c<80;c++)or[c]=(0,ls.rotl)(or[c-3]^or[c-8]^or[c-14]^or[c-16],1);let{A:n,B:i,C:s,D:o,E:a}=this;for(let c=0;c<80;c++){let f,l;c<20?(f=(0,Co.Chi)(i,s,o),l=1518500249):c<40?(f=i^s^o,l=1859775393):c<60?(f=(0,Co.Maj)(i,s,o),l=2400959708):(f=i^s^o,l=3395469782);const h=(0,ls.rotl)(n,5)+f+a+l+or[c]|0;a=o,o=s,s=(0,ls.rotl)(i,30),i=n,n=h}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,this.set(n,i,s,o,a)}roundClean(){or.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}}bn.SHA1=Kd;bn.sha1=(0,ls.wrapConstructor)(()=>new Kd);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.taggedHash=e.TAGGED_HASH_PREFIXES=e.TAGS=e.hash256=e.hash160=e.sha256=e.sha1=e.ripemd160=void 0;const t=mn,r=bn,n=Gt;function i(l){return Buffer.from((0,t.ripemd160)(Uint8Array.from(l)))}e.ripemd160=i;function s(l){return Buffer.from((0,r.sha1)(Uint8Array.from(l)))}e.sha1=s;function o(l){return Buffer.from((0,n.sha256)(Uint8Array.from(l)))}e.sha256=o;function a(l){return Buffer.from((0,t.ripemd160)((0,n.sha256)(Uint8Array.from(l))))}e.hash160=a;function c(l){return Buffer.from((0,n.sha256)((0,n.sha256)(Uint8Array.from(l))))}e.hash256=c,e.TAGS=["BIP0340/challenge","BIP0340/aux","BIP0340/nonce","TapLeaf","TapBranch","TapSighash","TapTweak","KeyAgg list","KeyAgg coefficient"],e.TAGGED_HASH_PREFIXES={"BIP0340/challenge":Buffer.from([123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124,123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124]),"BIP0340/aux":Buffer.from([241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144,241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144]),"BIP0340/nonce":Buffer.from([7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47,7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47]),TapLeaf:Buffer.from([174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238,174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238]),TapBranch:Buffer.from([25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21,25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21]),TapSighash:Buffer.from([244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49,244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49]),TapTweak:Buffer.from([232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233,232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233]),"KeyAgg list":Buffer.from([72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240,72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240]),"KeyAgg coefficient":Buffer.from([191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129,191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129])};function f(l,h){return o(Buffer.concat([e.TAGGED_HASH_PREFIXES[l],h]))}e.taggedHash=f})(vr);var Oo={},zt={};Object.defineProperty(zt,"__esModule",{value:!0});zt.encode=zt.decode=zt.check=void 0;function Bb(e){if(e.length<8||e.length>72||e[0]!==48||e[1]!==e.length-2||e[2]!==2)return!1;const t=e[3];if(t===0||5+t>=e.length||e[4+t]!==2)return!1;const r=e[5+t];return!(r===0||6+t+r!==e.length||e[4]&128||t>1&&e[4]===0&&!(e[5]&128)||e[t+6]&128||r>1&&e[t+6]===0&&!(e[t+7]&128))}zt.check=Bb;function Cb(e){if(e.length<8)throw new Error("DER sequence length is too short");if(e.length>72)throw new Error("DER sequence length is too long");if(e[0]!==48)throw new Error("Expected DER sequence");if(e[1]!==e.length-2)throw new Error("DER sequence length is invalid");if(e[2]!==2)throw new Error("Expected DER integer");const t=e[3];if(t===0)throw new Error("R length is zero");if(5+t>=e.length)throw new Error("R length is too long");if(e[4+t]!==2)throw new Error("Expected DER integer (2)");const r=e[5+t];if(r===0)throw new Error("S length is zero");if(6+t+r!==e.length)throw new Error("S length is invalid");if(e[4]&128)throw new Error("R value is negative");if(t>1&&e[4]===0&&!(e[5]&128))throw new Error("R value excessively padded");if(e[t+6]&128)throw new Error("S value is negative");if(r>1&&e[t+6]===0&&!(e[t+7]&128))throw new Error("S value excessively padded");return{r:e.slice(4,4+t),s:e.slice(6+t)}}zt.decode=Cb;function Ob(e,t){const r=e.length,n=t.length;if(r===0)throw new Error("R length is zero");if(n===0)throw new Error("S length is zero");if(r>33)throw new Error("R length is too long");if(n>33)throw new Error("S length is too long");if(e[0]&128)throw new Error("R value is negative");if(t[0]&128)throw new Error("S value is negative");if(r>1&&e[0]===0&&!(e[1]&128))throw new Error("R value excessively padded");if(n>1&&t[0]===0&&!(t[1]&128))throw new Error("S value excessively padded");const i=Buffer.allocUnsafe(6+r+n);return i[0]=48,i[1]=i.length-2,i[2]=2,i[3]=e.length,e.copy(i,4),i[4+r]=2,i[5+r]=t.length,t.copy(i,6+r),i}zt.encode=Ob;var Mr={};Object.defineProperty(Mr,"__esModule",{value:!0});Mr.REVERSE_OPS=Mr.OPS=void 0;const Ea={OP_FALSE:0,OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_RESERVED:80,OP_TRUE:81,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_VER:98,OP_IF:99,OP_NOTIF:100,OP_VERIF:101,OP_VERNOTIF:102,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_CAT:126,OP_SUBSTR:127,OP_LEFT:128,OP_RIGHT:129,OP_SIZE:130,OP_INVERT:131,OP_AND:132,OP_OR:133,OP_XOR:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_RESERVED1:137,OP_RESERVED2:138,OP_1ADD:139,OP_1SUB:140,OP_2MUL:141,OP_2DIV:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_MUL:149,OP_DIV:150,OP_MOD:151,OP_LSHIFT:152,OP_RSHIFT:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_NOP2:177,OP_CHECKLOCKTIMEVERIFY:177,OP_NOP3:178,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_CHECKSIGADD:186,OP_PUBKEYHASH:253,OP_PUBKEY:254,OP_INVALIDOPCODE:255};Mr.OPS=Ea;const Yd={};Mr.REVERSE_OPS=Yd;for(const e of Object.keys(Ea)){const t=Ea[e];Yd[t]=e}var yr={};Object.defineProperty(yr,"__esModule",{value:!0});yr.decode=yr.encode=yr.encodingLength=void 0;const lr=Mr;function Xd(e){return e<lr.OPS.OP_PUSHDATA1?1:e<=255?2:e<=65535?3:5}yr.encodingLength=Xd;function Rb(e,t,r){const n=Xd(t);return n===1?e.writeUInt8(t,r):n===2?(e.writeUInt8(lr.OPS.OP_PUSHDATA1,r),e.writeUInt8(t,r+1)):n===3?(e.writeUInt8(lr.OPS.OP_PUSHDATA2,r),e.writeUInt16LE(t,r+1)):(e.writeUInt8(lr.OPS.OP_PUSHDATA4,r),e.writeUInt32LE(t,r+1)),n}yr.encode=Rb;function Ub(e,t){const r=e.readUInt8(t);let n,i;if(r<lr.OPS.OP_PUSHDATA1)n=r,i=1;else if(r===lr.OPS.OP_PUSHDATA1){if(t+2>e.length)return null;n=e.readUInt8(t+1),i=2}else if(r===lr.OPS.OP_PUSHDATA2){if(t+3>e.length)return null;n=e.readUInt16LE(t+1),i=3}else{if(t+5>e.length)return null;if(r!==lr.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");n=e.readUInt32LE(t+1),i=5}return{opcode:r,number:n,size:i}}yr.decode=Ub;var gn={};Object.defineProperty(gn,"__esModule",{value:!0});gn.encode=gn.decode=void 0;function Fb(e,t,r){t=t||4,r=r===void 0?!0:r;const n=e.length;if(n===0)return 0;if(n>t)throw new TypeError("Script number overflow");if(r&&!(e[n-1]&127)&&(n<=1||!(e[n-2]&128)))throw new Error("Non-minimally encoded script number");if(n===5){const s=e.readUInt32LE(0),o=e.readUInt8(4);return o&128?-((o&-129)*4294967296+s):o*4294967296+s}let i=0;for(let s=0;s<n;++s)i|=e[s]<<8*s;return e[n-1]&128?-(i&~(128<<8*(n-1))):i}gn.decode=Fb;function Nb(e){return e>2147483647?5:e>8388607?4:e>32767?3:e>127?2:e>0?1:0}function Lb(e){let t=Math.abs(e);const r=Nb(t),n=Buffer.allocUnsafe(r),i=e<0;for(let s=0;s<r;++s)n.writeUInt8(t&255,s),t>>=8;return n[r-1]&128?n.writeUInt8(i?128:0,r-1):i&&(n[r-1]|=128),n}gn.encode=Lb;var Tr={},du;function Mb(){if(du)return Tr;du=1,Object.defineProperty(Tr,"__esModule",{value:!0}),Tr.encode=Tr.decode=void 0;const e=zt,t=ut(),r=Ve,{typeforce:n}=r,i=Buffer.alloc(1,0);function s(f){let l=0;for(;f[l]===0;)++l;return l===f.length?i:(f=f.slice(l),f[0]&128?Buffer.concat([i,f],1+f.length):f)}function o(f){f[0]===0&&(f=f.slice(1));const l=Buffer.alloc(32,0),h=Math.max(0,32-f.length);return f.copy(l,h),l}function a(f){const l=f.readUInt8(f.length-1);if(!(0,t.isDefinedHashType)(l))throw new Error("Invalid hashType "+l);const h=e.decode(f.slice(0,-1)),y=o(h.r),p=o(h.s);return{signature:Buffer.concat([y,p],64),hashType:l}}Tr.decode=a;function c(f,l){if(n({signature:r.BufferN(64),hashType:r.UInt8},{signature:f,hashType:l}),!(0,t.isDefinedHashType)(l))throw new Error("Invalid hashType "+l);const h=Buffer.allocUnsafe(1);h.writeUInt8(l,0);const y=s(f.slice(0,32)),p=s(f.slice(32,64));return Buffer.concat([e.encode(y,p),h])}return Tr.encode=c,Tr}var lu;function ut(){return lu||(lu=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.signature=e.number=e.isCanonicalScriptSignature=e.isDefinedHashType=e.isCanonicalPubKey=e.toStack=e.fromASM=e.toASM=e.decompile=e.compile=e.countNonPushOnlyOPs=e.isPushOnly=e.OPS=void 0;const t=zt,r=Mr;Object.defineProperty(e,"OPS",{enumerable:!0,get:function(){return r.OPS}});const n=yr,i=gn,s=Mb(),o=Ve,{typeforce:a}=o,c=r.OPS.OP_RESERVED;function f(B){return o.Number(B)&&(B===r.OPS.OP_0||B>=r.OPS.OP_1&&B<=r.OPS.OP_16||B===r.OPS.OP_1NEGATE)}function l(B){return o.Buffer(B)||f(B)}function h(B){return o.Array(B)&&B.every(l)}e.isPushOnly=h;function y(B){return B.length-B.filter(l).length}e.countNonPushOnlyOPs=y;function p(B){if(B.length===0)return r.OPS.OP_0;if(B.length===1){if(B[0]>=1&&B[0]<=16)return c+B[0];if(B[0]===129)return r.OPS.OP_1NEGATE}}function g(B){return Buffer.isBuffer(B)}function _(B){return o.Array(B)}function x(B){return Buffer.isBuffer(B)}function k(B){if(g(B))return B;a(o.Array,B);const W=B.reduce((j,V)=>x(V)?V.length===1&&p(V)!==void 0?j+1:j+n.encodingLength(V.length)+V.length:j+1,0),R=Buffer.allocUnsafe(W);let D=0;if(B.forEach(j=>{if(x(j)){const V=p(j);if(V!==void 0){R.writeUInt8(V,D),D+=1;return}D+=n.encode(R,j.length,D),j.copy(R,D),D+=j.length}else R.writeUInt8(j,D),D+=1}),D!==R.length)throw new Error("Could not decode chunks");return R}e.compile=k;function T(B){if(_(B))return B;a(o.Buffer,B);const W=[];let R=0;for(;R<B.length;){const D=B[R];if(D>r.OPS.OP_0&&D<=r.OPS.OP_PUSHDATA4){const j=n.decode(B,R);if(j===null||(R+=j.size,R+j.number>B.length))return null;const V=B.slice(R,R+j.number);R+=j.number;const X=p(V);X!==void 0?W.push(X):W.push(V)}else W.push(D),R+=1}return W}e.decompile=T;function A(B){if(g(B)&&(B=T(B)),!B)throw new Error("Could not convert invalid chunks to ASM");return B.map(W=>{if(x(W)){const R=p(W);if(R===void 0)return W.toString("hex");W=R}return r.REVERSE_OPS[W]}).join(" ")}e.toASM=A;function E(B){return a(o.String,B),k(B.split(" ").map(W=>r.OPS[W]!==void 0?r.OPS[W]:(a(o.Hex,W),Buffer.from(W,"hex"))))}e.fromASM=E;function I(B){return B=T(B),a(h,B),B.map(W=>x(W)?W:W===r.OPS.OP_0?Buffer.allocUnsafe(0):i.encode(W-c))}e.toStack=I;function S(B){return o.isPoint(B)}e.isCanonicalPubKey=S;function N(B){const W=B&-129;return W>0&&W<4}e.isDefinedHashType=N;function $(B){return!Buffer.isBuffer(B)||!N(B[B.length-1])?!1:t.check(B.slice(0,-1))}e.isCanonicalScriptSignature=$,e.number=i,e.signature=s}(Oo)),Oo}Object.defineProperty(Hi,"__esModule",{value:!0});Hi.Transaction=void 0;const Be=$e,Ke=vr,hu=ut(),$b=ut(),se=Ve,{typeforce:vt}=se;function At(e){const t=e.length;return Be.varuint.encodingLength(t)+t}function Hb(e){const t=e.length;return Be.varuint.encodingLength(t)+e.reduce((r,n)=>r+At(n),0)}const dr=Buffer.allocUnsafe(0),Ro=[],Uo=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),pu=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),Db=Buffer.from("ffffffffffffffff","hex"),jb={script:dr,valueBuffer:Db};function Gb(e){return e.value!==void 0}class te{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(t,r){const n=new Be.BufferReader(t),i=new te;i.version=n.readInt32();const s=n.readUInt8(),o=n.readUInt8();let a=!1;s===te.ADVANCED_TRANSACTION_MARKER&&o===te.ADVANCED_TRANSACTION_FLAG?a=!0:n.offset-=2;const c=n.readVarInt();for(let l=0;l<c;++l)i.ins.push({hash:n.readSlice(32),index:n.readUInt32(),script:n.readVarSlice(),sequence:n.readUInt32(),witness:Ro});const f=n.readVarInt();for(let l=0;l<f;++l)i.outs.push({value:n.readUInt64(),script:n.readVarSlice()});if(a){for(let l=0;l<c;++l)i.ins[l].witness=n.readVector();if(!i.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(i.locktime=n.readUInt32(),r)return i;if(n.offset!==t.length)throw new Error("Transaction has unexpected data");return i}static fromHex(t){return te.fromBuffer(Buffer.from(t,"hex"),!1)}static isCoinbaseHash(t){vt(se.Hash256bit,t);for(let r=0;r<32;++r)if(t[r]!==0)return!1;return!0}isCoinbase(){return this.ins.length===1&&te.isCoinbaseHash(this.ins[0].hash)}addInput(t,r,n,i){return vt(se.tuple(se.Hash256bit,se.UInt32,se.maybe(se.UInt32),se.maybe(se.Buffer)),arguments),se.Null(n)&&(n=te.DEFAULT_SEQUENCE),this.ins.push({hash:t,index:r,script:i||dr,sequence:n,witness:Ro})-1}addOutput(t,r){return vt(se.tuple(se.Buffer,se.Satoshi),arguments),this.outs.push({script:t,value:r})-1}hasWitnesses(){return this.ins.some(t=>t.witness.length!==0)}stripWitnesses(){this.ins.forEach(t=>{t.witness=Ro})}weight(){const t=this.byteLength(!1),r=this.byteLength(!0);return t*3+r}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(t=!0){const r=t&&this.hasWitnesses();return(r?10:8)+Be.varuint.encodingLength(this.ins.length)+Be.varuint.encodingLength(this.outs.length)+this.ins.reduce((n,i)=>n+40+At(i.script),0)+this.outs.reduce((n,i)=>n+8+At(i.script),0)+(r?this.ins.reduce((n,i)=>n+Hb(i.witness),0):0)}clone(){const t=new te;return t.version=this.version,t.locktime=this.locktime,t.ins=this.ins.map(r=>({hash:r.hash,index:r.index,script:r.script,sequence:r.sequence,witness:r.witness})),t.outs=this.outs.map(r=>({script:r.script,value:r.value})),t}hashForSignature(t,r,n){if(vt(se.tuple(se.UInt32,se.Buffer,se.Number),arguments),t>=this.ins.length)return pu;const i=hu.compile(hu.decompile(r).filter(a=>a!==$b.OPS.OP_CODESEPARATOR)),s=this.clone();if((n&31)===te.SIGHASH_NONE)s.outs=[],s.ins.forEach((a,c)=>{c!==t&&(a.sequence=0)});else if((n&31)===te.SIGHASH_SINGLE){if(t>=this.outs.length)return pu;s.outs.length=t+1;for(let a=0;a<t;a++)s.outs[a]=jb;s.ins.forEach((a,c)=>{c!==t&&(a.sequence=0)})}n&te.SIGHASH_ANYONECANPAY?(s.ins=[s.ins[t]],s.ins[0].script=i):(s.ins.forEach(a=>{a.script=dr}),s.ins[t].script=i);const o=Buffer.allocUnsafe(s.byteLength(!1)+4);return o.writeInt32LE(n,o.length-4),s.__toBuffer(o,0,!1),Ke.hash256(o)}hashForWitnessV1(t,r,n,i,s,o){if(vt(se.tuple(se.UInt32,vt.arrayOf(se.Buffer),vt.arrayOf(se.Satoshi),se.UInt32),arguments),n.length!==this.ins.length||r.length!==this.ins.length)throw new Error("Must supply prevout script and value for all inputs");const a=i===te.SIGHASH_DEFAULT?te.SIGHASH_ALL:i&te.SIGHASH_OUTPUT_MASK,f=(i&te.SIGHASH_INPUT_MASK)===te.SIGHASH_ANYONECANPAY,l=a===te.SIGHASH_NONE,h=a===te.SIGHASH_SINGLE;let y=dr,p=dr,g=dr,_=dr,x=dr;if(!f){let E=Be.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(I=>{E.writeSlice(I.hash),E.writeUInt32(I.index)}),y=Ke.sha256(E.end()),E=Be.BufferWriter.withCapacity(8*this.ins.length),n.forEach(I=>E.writeUInt64(I)),p=Ke.sha256(E.end()),E=Be.BufferWriter.withCapacity(r.map(At).reduce((I,S)=>I+S)),r.forEach(I=>E.writeVarSlice(I)),g=Ke.sha256(E.end()),E=Be.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(I=>E.writeUInt32(I.sequence)),_=Ke.sha256(E.end())}if(l||h){if(h&&t<this.outs.length){const E=this.outs[t],I=Be.BufferWriter.withCapacity(8+At(E.script));I.writeUInt64(E.value),I.writeVarSlice(E.script),x=Ke.sha256(I.end())}}else{const E=this.outs.map(S=>8+At(S.script)).reduce((S,N)=>S+N),I=Be.BufferWriter.withCapacity(E);this.outs.forEach(S=>{I.writeUInt64(S.value),I.writeVarSlice(S.script)}),x=Ke.sha256(I.end())}const k=(s?2:0)+(o?1:0),T=174-(f?49:0)-(l?32:0)+(o?32:0)+(s?37:0),A=Be.BufferWriter.withCapacity(T);if(A.writeUInt8(i),A.writeInt32(this.version),A.writeUInt32(this.locktime),A.writeSlice(y),A.writeSlice(p),A.writeSlice(g),A.writeSlice(_),l||h||A.writeSlice(x),A.writeUInt8(k),f){const E=this.ins[t];A.writeSlice(E.hash),A.writeUInt32(E.index),A.writeUInt64(n[t]),A.writeVarSlice(r[t]),A.writeUInt32(E.sequence)}else A.writeUInt32(t);if(o){const E=Be.BufferWriter.withCapacity(At(o));E.writeVarSlice(o),A.writeSlice(Ke.sha256(E.end()))}return h&&A.writeSlice(x),s&&(A.writeSlice(s),A.writeUInt8(0),A.writeUInt32(4294967295)),Ke.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),A.end()]))}hashForWitnessV0(t,r,n,i){vt(se.tuple(se.UInt32,se.Buffer,se.Satoshi,se.UInt32),arguments);let s=Buffer.from([]),o,a=Uo,c=Uo,f=Uo;if(i&te.SIGHASH_ANYONECANPAY||(s=Buffer.allocUnsafe(36*this.ins.length),o=new Be.BufferWriter(s,0),this.ins.forEach(h=>{o.writeSlice(h.hash),o.writeUInt32(h.index)}),c=Ke.hash256(s)),!(i&te.SIGHASH_ANYONECANPAY)&&(i&31)!==te.SIGHASH_SINGLE&&(i&31)!==te.SIGHASH_NONE&&(s=Buffer.allocUnsafe(4*this.ins.length),o=new Be.BufferWriter(s,0),this.ins.forEach(h=>{o.writeUInt32(h.sequence)}),f=Ke.hash256(s)),(i&31)!==te.SIGHASH_SINGLE&&(i&31)!==te.SIGHASH_NONE){const h=this.outs.reduce((y,p)=>y+8+At(p.script),0);s=Buffer.allocUnsafe(h),o=new Be.BufferWriter(s,0),this.outs.forEach(y=>{o.writeUInt64(y.value),o.writeVarSlice(y.script)}),a=Ke.hash256(s)}else if((i&31)===te.SIGHASH_SINGLE&&t<this.outs.length){const h=this.outs[t];s=Buffer.allocUnsafe(8+At(h.script)),o=new Be.BufferWriter(s,0),o.writeUInt64(h.value),o.writeVarSlice(h.script),a=Ke.hash256(s)}s=Buffer.allocUnsafe(156+At(r)),o=new Be.BufferWriter(s,0);const l=this.ins[t];return o.writeInt32(this.version),o.writeSlice(c),o.writeSlice(f),o.writeSlice(l.hash),o.writeUInt32(l.index),o.writeVarSlice(r),o.writeUInt64(n),o.writeUInt32(l.sequence),o.writeSlice(a),o.writeUInt32(this.locktime),o.writeUInt32(i),Ke.hash256(s)}getHash(t){return t&&this.isCoinbase()?Buffer.alloc(32,0):Ke.hash256(this.__toBuffer(void 0,void 0,t))}getId(){return(0,Be.reverseBuffer)(this.getHash(!1)).toString("hex")}toBuffer(t,r){return this.__toBuffer(t,r,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(t,r){vt(se.tuple(se.Number,se.Buffer),arguments),this.ins[t].script=r}setWitness(t,r){vt(se.tuple(se.Number,[se.Buffer]),arguments),this.ins[t].witness=r}__toBuffer(t,r,n=!1){t||(t=Buffer.allocUnsafe(this.byteLength(n)));const i=new Be.BufferWriter(t,r||0);i.writeInt32(this.version);const s=n&&this.hasWitnesses();return s&&(i.writeUInt8(te.ADVANCED_TRANSACTION_MARKER),i.writeUInt8(te.ADVANCED_TRANSACTION_FLAG)),i.writeVarInt(this.ins.length),this.ins.forEach(o=>{i.writeSlice(o.hash),i.writeUInt32(o.index),i.writeVarSlice(o.script),i.writeUInt32(o.sequence)}),i.writeVarInt(this.outs.length),this.outs.forEach(o=>{Gb(o)?i.writeUInt64(o.value):i.writeSlice(o.valueBuffer),i.writeVarSlice(o.script)}),s&&this.ins.forEach(o=>{i.writeVector(o.witness)}),i.writeUInt32(this.locktime),r!==void 0?t.slice(r,i.offset):t}}Hi.Transaction=te;te.DEFAULT_SEQUENCE=4294967295;te.SIGHASH_DEFAULT=0;te.SIGHASH_ALL=1;te.SIGHASH_NONE=2;te.SIGHASH_SINGLE=3;te.SIGHASH_ANYONECANPAY=128;te.SIGHASH_OUTPUT_MASK=3;te.SIGHASH_INPUT_MASK=128;te.ADVANCED_TRANSACTION_MARKER=0;te.ADVANCED_TRANSACTION_FLAG=1;var he={},Di={};Object.defineProperty(Di,"__esModule",{value:!0});const zb=9007199254740991;function bc(e){if(e<0||e>zb||e%1!==0)throw new RangeError("value out of range")}function Kn(e,t,r){if(bc(e),t||(t=Buffer.allocUnsafe(Jd(e))),!Buffer.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");return r||(r=0),e<253?(t.writeUInt8(e,r),Object.assign(Kn,{bytes:1})):e<=65535?(t.writeUInt8(253,r),t.writeUInt16LE(e,r+1),Object.assign(Kn,{bytes:3})):e<=4294967295?(t.writeUInt8(254,r),t.writeUInt32LE(e,r+1),Object.assign(Kn,{bytes:5})):(t.writeUInt8(255,r),t.writeUInt32LE(e>>>0,r+1),t.writeUInt32LE(e/4294967296|0,r+5),Object.assign(Kn,{bytes:9})),t}Di.encode=Kn;function Yn(e,t){if(!Buffer.isBuffer(e))throw new TypeError("buffer must be a Buffer instance");t||(t=0);const r=e.readUInt8(t);if(r<253)return Object.assign(Yn,{bytes:1}),r;if(r===253)return Object.assign(Yn,{bytes:3}),e.readUInt16LE(t+1);if(r===254)return Object.assign(Yn,{bytes:5}),e.readUInt32LE(t+1);{Object.assign(Yn,{bytes:9});const n=e.readUInt32LE(t+1),s=e.readUInt32LE(t+5)*4294967296+n;return bc(s),s}}Di.decode=Yn;function Jd(e){return bc(e),e<253?1:e<=65535?3:e<=4294967295?5:9}Di.encodingLength=Jd;var Fo={},Vs={},qe={};Object.defineProperty(qe,"__esModule",{value:!0});qe.testnet=qe.regtest=qe.bitcoin=void 0;qe.bitcoin={messagePrefix:`Bitcoin Signed Message:
|
|
46
|
+
*/(function(e){const t=Vs,r=hc,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=a,e.SlowBuffer=T,e.INSPECT_MAX_BYTES=50;const i=2147483647;e.kMaxLength=i,a.TYPED_ARRAY_SUPPORT=s(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{const m=new Uint8Array(1),u={foo:function(){return 42}};return Object.setPrototypeOf(u,Uint8Array.prototype),Object.setPrototypeOf(m,u),m.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function o(m){if(m>i)throw new RangeError('The value "'+m+'" is invalid for option "size"');const u=new Uint8Array(m);return Object.setPrototypeOf(u,a.prototype),u}function a(m,u,d){if(typeof m=="number"){if(typeof u=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return h(m)}return c(m,u,d)}a.poolSize=8192;function c(m,u,d){if(typeof m=="string")return y(m,u);if(ArrayBuffer.isView(m))return g(m);if(m==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof m);if(ot(m,ArrayBuffer)||m&&ot(m.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ot(m,SharedArrayBuffer)||m&&ot(m.buffer,SharedArrayBuffer)))return _(m,u,d);if(typeof m=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const b=m.valueOf&&m.valueOf();if(b!=null&&b!==m)return a.from(b,u,d);const P=x(m);if(P)return P;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof m[Symbol.toPrimitive]=="function")return a.from(m[Symbol.toPrimitive]("string"),u,d);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof m)}a.from=function(m,u,d){return c(m,u,d)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function f(m){if(typeof m!="number")throw new TypeError('"size" argument must be of type number');if(m<0)throw new RangeError('The value "'+m+'" is invalid for option "size"')}function l(m,u,d){return f(m),m<=0?o(m):u!==void 0?typeof d=="string"?o(m).fill(u,d):o(m).fill(u):o(m)}a.alloc=function(m,u,d){return l(m,u,d)};function h(m){return f(m),o(m<0?0:k(m)|0)}a.allocUnsafe=function(m){return h(m)},a.allocUnsafeSlow=function(m){return h(m)};function y(m,u){if((typeof u!="string"||u==="")&&(u="utf8"),!a.isEncoding(u))throw new TypeError("Unknown encoding: "+u);const d=A(m,u)|0;let b=o(d);const P=b.write(m,u);return P!==d&&(b=b.slice(0,P)),b}function p(m){const u=m.length<0?0:k(m.length)|0,d=o(u);for(let b=0;b<u;b+=1)d[b]=m[b]&255;return d}function g(m){if(ot(m,Uint8Array)){const u=new Uint8Array(m);return _(u.buffer,u.byteOffset,u.byteLength)}return p(m)}function _(m,u,d){if(u<0||m.byteLength<u)throw new RangeError('"offset" is outside of buffer bounds');if(m.byteLength<u+(d||0))throw new RangeError('"length" is outside of buffer bounds');let b;return u===void 0&&d===void 0?b=new Uint8Array(m):d===void 0?b=new Uint8Array(m,u):b=new Uint8Array(m,u,d),Object.setPrototypeOf(b,a.prototype),b}function x(m){if(a.isBuffer(m)){const u=k(m.length)|0,d=o(u);return d.length===0||m.copy(d,0,0,u),d}if(m.length!==void 0)return typeof m.length!="number"||Ar(m.length)?o(0):p(m);if(m.type==="Buffer"&&Array.isArray(m.data))return p(m.data)}function k(m){if(m>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return m|0}function T(m){return+m!=m&&(m=0),a.alloc(+m)}a.isBuffer=function(u){return u!=null&&u._isBuffer===!0&&u!==a.prototype},a.compare=function(u,d){if(ot(u,Uint8Array)&&(u=a.from(u,u.offset,u.byteLength)),ot(d,Uint8Array)&&(d=a.from(d,d.offset,d.byteLength)),!a.isBuffer(u)||!a.isBuffer(d))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(u===d)return 0;let b=u.length,P=d.length;for(let F=0,U=Math.min(b,P);F<U;++F)if(u[F]!==d[F]){b=u[F],P=d[F];break}return b<P?-1:P<b?1:0},a.isEncoding=function(u){switch(String(u).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(u,d){if(!Array.isArray(u))throw new TypeError('"list" argument must be an Array of Buffers');if(u.length===0)return a.alloc(0);let b;if(d===void 0)for(d=0,b=0;b<u.length;++b)d+=u[b].length;const P=a.allocUnsafe(d);let F=0;for(b=0;b<u.length;++b){let U=u[b];if(ot(U,Uint8Array))F+U.length>P.length?(a.isBuffer(U)||(U=a.from(U)),U.copy(P,F)):Uint8Array.prototype.set.call(P,U,F);else if(a.isBuffer(U))U.copy(P,F);else throw new TypeError('"list" argument must be an Array of Buffers');F+=U.length}return P};function A(m,u){if(a.isBuffer(m))return m.length;if(ArrayBuffer.isView(m)||ot(m,ArrayBuffer))return m.byteLength;if(typeof m!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof m);const d=m.length,b=arguments.length>2&&arguments[2]===!0;if(!b&&d===0)return 0;let P=!1;for(;;)switch(u){case"ascii":case"latin1":case"binary":return d;case"utf8":case"utf-8":return ae(m).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return d*2;case"hex":return d>>>1;case"base64":return In(m).length;default:if(P)return b?-1:ae(m).length;u=(""+u).toLowerCase(),P=!0}}a.byteLength=A;function E(m,u,d){let b=!1;if((u===void 0||u<0)&&(u=0),u>this.length||((d===void 0||d>this.length)&&(d=this.length),d<=0)||(d>>>=0,u>>>=0,d<=u))return"";for(m||(m="utf8");;)switch(m){case"hex":return Te(this,u,d);case"utf8":case"utf-8":return V(this,u,d);case"ascii":return pe(this,u,d);case"latin1":case"binary":return _e(this,u,d);case"base64":return j(this,u,d);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return We(this,u,d);default:if(b)throw new TypeError("Unknown encoding: "+m);m=(m+"").toLowerCase(),b=!0}}a.prototype._isBuffer=!0;function I(m,u,d){const b=m[u];m[u]=m[d],m[d]=b}a.prototype.swap16=function(){const u=this.length;if(u%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let d=0;d<u;d+=2)I(this,d,d+1);return this},a.prototype.swap32=function(){const u=this.length;if(u%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let d=0;d<u;d+=4)I(this,d,d+3),I(this,d+1,d+2);return this},a.prototype.swap64=function(){const u=this.length;if(u%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let d=0;d<u;d+=8)I(this,d,d+7),I(this,d+1,d+6),I(this,d+2,d+5),I(this,d+3,d+4);return this},a.prototype.toString=function(){const u=this.length;return u===0?"":arguments.length===0?V(this,0,u):E.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(u){if(!a.isBuffer(u))throw new TypeError("Argument must be a Buffer");return this===u?!0:a.compare(this,u)===0},a.prototype.inspect=function(){let u="";const d=e.INSPECT_MAX_BYTES;return u=this.toString("hex",0,d).replace(/(.{2})/g,"$1 ").trim(),this.length>d&&(u+=" ... "),"<Buffer "+u+">"},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(u,d,b,P,F){if(ot(u,Uint8Array)&&(u=a.from(u,u.offset,u.byteLength)),!a.isBuffer(u))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof u);if(d===void 0&&(d=0),b===void 0&&(b=u?u.length:0),P===void 0&&(P=0),F===void 0&&(F=this.length),d<0||b>u.length||P<0||F>this.length)throw new RangeError("out of range index");if(P>=F&&d>=b)return 0;if(P>=F)return-1;if(d>=b)return 1;if(d>>>=0,b>>>=0,P>>>=0,F>>>=0,this===u)return 0;let U=F-P,re=b-d;const Se=Math.min(U,re),Ee=this.slice(P,F),Pe=u.slice(d,b);for(let de=0;de<Se;++de)if(Ee[de]!==Pe[de]){U=Ee[de],re=Pe[de];break}return U<re?-1:re<U?1:0};function S(m,u,d,b,P){if(m.length===0)return-1;if(typeof d=="string"?(b=d,d=0):d>2147483647?d=2147483647:d<-2147483648&&(d=-2147483648),d=+d,Ar(d)&&(d=P?0:m.length-1),d<0&&(d=m.length+d),d>=m.length){if(P)return-1;d=m.length-1}else if(d<0)if(P)d=0;else return-1;if(typeof u=="string"&&(u=a.from(u,b)),a.isBuffer(u))return u.length===0?-1:N(m,u,d,b,P);if(typeof u=="number")return u=u&255,typeof Uint8Array.prototype.indexOf=="function"?P?Uint8Array.prototype.indexOf.call(m,u,d):Uint8Array.prototype.lastIndexOf.call(m,u,d):N(m,[u],d,b,P);throw new TypeError("val must be string, number or Buffer")}function N(m,u,d,b,P){let F=1,U=m.length,re=u.length;if(b!==void 0&&(b=String(b).toLowerCase(),b==="ucs2"||b==="ucs-2"||b==="utf16le"||b==="utf-16le")){if(m.length<2||u.length<2)return-1;F=2,U/=2,re/=2,d/=2}function Se(Pe,de){return F===1?Pe[de]:Pe.readUInt16BE(de*F)}let Ee;if(P){let Pe=-1;for(Ee=d;Ee<U;Ee++)if(Se(m,Ee)===Se(u,Pe===-1?0:Ee-Pe)){if(Pe===-1&&(Pe=Ee),Ee-Pe+1===re)return Pe*F}else Pe!==-1&&(Ee-=Ee-Pe),Pe=-1}else for(d+re>U&&(d=U-re),Ee=d;Ee>=0;Ee--){let Pe=!0;for(let de=0;de<re;de++)if(Se(m,Ee+de)!==Se(u,de)){Pe=!1;break}if(Pe)return Ee}return-1}a.prototype.includes=function(u,d,b){return this.indexOf(u,d,b)!==-1},a.prototype.indexOf=function(u,d,b){return S(this,u,d,b,!0)},a.prototype.lastIndexOf=function(u,d,b){return S(this,u,d,b,!1)};function $(m,u,d,b){d=Number(d)||0;const P=m.length-d;b?(b=Number(b),b>P&&(b=P)):b=P;const F=u.length;b>F/2&&(b=F/2);let U;for(U=0;U<b;++U){const re=parseInt(u.substr(U*2,2),16);if(Ar(re))return U;m[d+U]=re}return U}function B(m,u,d,b){return Vr(ae(u,m.length-d),m,d,b)}function W(m,u,d,b){return Vr(tr(u),m,d,b)}function R(m,u,d,b){return Vr(In(u),m,d,b)}function D(m,u,d,b){return Vr(qr(u,m.length-d),m,d,b)}a.prototype.write=function(u,d,b,P){if(d===void 0)P="utf8",b=this.length,d=0;else if(b===void 0&&typeof d=="string")P=d,b=this.length,d=0;else if(isFinite(d))d=d>>>0,isFinite(b)?(b=b>>>0,P===void 0&&(P="utf8")):(P=b,b=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const F=this.length-d;if((b===void 0||b>F)&&(b=F),u.length>0&&(b<0||d<0)||d>this.length)throw new RangeError("Attempt to write outside buffer bounds");P||(P="utf8");let U=!1;for(;;)switch(P){case"hex":return $(this,u,d,b);case"utf8":case"utf-8":return B(this,u,d,b);case"ascii":case"latin1":case"binary":return W(this,u,d,b);case"base64":return R(this,u,d,b);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,u,d,b);default:if(U)throw new TypeError("Unknown encoding: "+P);P=(""+P).toLowerCase(),U=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function j(m,u,d){return u===0&&d===m.length?t.fromByteArray(m):t.fromByteArray(m.slice(u,d))}function V(m,u,d){d=Math.min(m.length,d);const b=[];let P=u;for(;P<d;){const F=m[P];let U=null,re=F>239?4:F>223?3:F>191?2:1;if(P+re<=d){let Se,Ee,Pe,de;switch(re){case 1:F<128&&(U=F);break;case 2:Se=m[P+1],(Se&192)===128&&(de=(F&31)<<6|Se&63,de>127&&(U=de));break;case 3:Se=m[P+1],Ee=m[P+2],(Se&192)===128&&(Ee&192)===128&&(de=(F&15)<<12|(Se&63)<<6|Ee&63,de>2047&&(de<55296||de>57343)&&(U=de));break;case 4:Se=m[P+1],Ee=m[P+2],Pe=m[P+3],(Se&192)===128&&(Ee&192)===128&&(Pe&192)===128&&(de=(F&15)<<18|(Se&63)<<12|(Ee&63)<<6|Pe&63,de>65535&&de<1114112&&(U=de))}}U===null?(U=65533,re=1):U>65535&&(U-=65536,b.push(U>>>10&1023|55296),U=56320|U&1023),b.push(U),P+=re}return ne(b)}const X=4096;function ne(m){const u=m.length;if(u<=X)return String.fromCharCode.apply(String,m);let d="",b=0;for(;b<u;)d+=String.fromCharCode.apply(String,m.slice(b,b+=X));return d}function pe(m,u,d){let b="";d=Math.min(m.length,d);for(let P=u;P<d;++P)b+=String.fromCharCode(m[P]&127);return b}function _e(m,u,d){let b="";d=Math.min(m.length,d);for(let P=u;P<d;++P)b+=String.fromCharCode(m[P]);return b}function Te(m,u,d){const b=m.length;(!u||u<0)&&(u=0),(!d||d<0||d>b)&&(d=b);let P="";for(let F=u;F<d;++F)P+=Bn[m[F]];return P}function We(m,u,d){const b=m.slice(u,d);let P="";for(let F=0;F<b.length-1;F+=2)P+=String.fromCharCode(b[F]+b[F+1]*256);return P}a.prototype.slice=function(u,d){const b=this.length;u=~~u,d=d===void 0?b:~~d,u<0?(u+=b,u<0&&(u=0)):u>b&&(u=b),d<0?(d+=b,d<0&&(d=0)):d>b&&(d=b),d<u&&(d=u);const P=this.subarray(u,d);return Object.setPrototypeOf(P,a.prototype),P};function fe(m,u,d){if(m%1!==0||m<0)throw new RangeError("offset is not uint");if(m+u>d)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(u,d,b){u=u>>>0,d=d>>>0,b||fe(u,d,this.length);let P=this[u],F=1,U=0;for(;++U<d&&(F*=256);)P+=this[u+U]*F;return P},a.prototype.readUintBE=a.prototype.readUIntBE=function(u,d,b){u=u>>>0,d=d>>>0,b||fe(u,d,this.length);let P=this[u+--d],F=1;for(;d>0&&(F*=256);)P+=this[u+--d]*F;return P},a.prototype.readUint8=a.prototype.readUInt8=function(u,d){return u=u>>>0,d||fe(u,1,this.length),this[u]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(u,d){return u=u>>>0,d||fe(u,2,this.length),this[u]|this[u+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(u,d){return u=u>>>0,d||fe(u,2,this.length),this[u]<<8|this[u+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),(this[u]|this[u+1]<<8|this[u+2]<<16)+this[u+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),this[u]*16777216+(this[u+1]<<16|this[u+2]<<8|this[u+3])},a.prototype.readBigUInt64LE=ft(function(u){u=u>>>0,M(u,"offset");const d=this[u],b=this[u+7];(d===void 0||b===void 0)&&z(u,this.length-8);const P=d+this[++u]*2**8+this[++u]*2**16+this[++u]*2**24,F=this[++u]+this[++u]*2**8+this[++u]*2**16+b*2**24;return BigInt(P)+(BigInt(F)<<BigInt(32))}),a.prototype.readBigUInt64BE=ft(function(u){u=u>>>0,M(u,"offset");const d=this[u],b=this[u+7];(d===void 0||b===void 0)&&z(u,this.length-8);const P=d*2**24+this[++u]*2**16+this[++u]*2**8+this[++u],F=this[++u]*2**24+this[++u]*2**16+this[++u]*2**8+b;return(BigInt(P)<<BigInt(32))+BigInt(F)}),a.prototype.readIntLE=function(u,d,b){u=u>>>0,d=d>>>0,b||fe(u,d,this.length);let P=this[u],F=1,U=0;for(;++U<d&&(F*=256);)P+=this[u+U]*F;return F*=128,P>=F&&(P-=Math.pow(2,8*d)),P},a.prototype.readIntBE=function(u,d,b){u=u>>>0,d=d>>>0,b||fe(u,d,this.length);let P=d,F=1,U=this[u+--P];for(;P>0&&(F*=256);)U+=this[u+--P]*F;return F*=128,U>=F&&(U-=Math.pow(2,8*d)),U},a.prototype.readInt8=function(u,d){return u=u>>>0,d||fe(u,1,this.length),this[u]&128?(255-this[u]+1)*-1:this[u]},a.prototype.readInt16LE=function(u,d){u=u>>>0,d||fe(u,2,this.length);const b=this[u]|this[u+1]<<8;return b&32768?b|4294901760:b},a.prototype.readInt16BE=function(u,d){u=u>>>0,d||fe(u,2,this.length);const b=this[u+1]|this[u]<<8;return b&32768?b|4294901760:b},a.prototype.readInt32LE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),this[u]|this[u+1]<<8|this[u+2]<<16|this[u+3]<<24},a.prototype.readInt32BE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),this[u]<<24|this[u+1]<<16|this[u+2]<<8|this[u+3]},a.prototype.readBigInt64LE=ft(function(u){u=u>>>0,M(u,"offset");const d=this[u],b=this[u+7];(d===void 0||b===void 0)&&z(u,this.length-8);const P=this[u+4]+this[u+5]*2**8+this[u+6]*2**16+(b<<24);return(BigInt(P)<<BigInt(32))+BigInt(d+this[++u]*2**8+this[++u]*2**16+this[++u]*2**24)}),a.prototype.readBigInt64BE=ft(function(u){u=u>>>0,M(u,"offset");const d=this[u],b=this[u+7];(d===void 0||b===void 0)&&z(u,this.length-8);const P=(d<<24)+this[++u]*2**16+this[++u]*2**8+this[++u];return(BigInt(P)<<BigInt(32))+BigInt(this[++u]*2**24+this[++u]*2**16+this[++u]*2**8+b)}),a.prototype.readFloatLE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),r.read(this,u,!0,23,4)},a.prototype.readFloatBE=function(u,d){return u=u>>>0,d||fe(u,4,this.length),r.read(this,u,!1,23,4)},a.prototype.readDoubleLE=function(u,d){return u=u>>>0,d||fe(u,8,this.length),r.read(this,u,!0,52,8)},a.prototype.readDoubleBE=function(u,d){return u=u>>>0,d||fe(u,8,this.length),r.read(this,u,!1,52,8)};function me(m,u,d,b,P,F){if(!a.isBuffer(m))throw new TypeError('"buffer" argument must be a Buffer instance');if(u>P||u<F)throw new RangeError('"value" argument is out of bounds');if(d+b>m.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(u,d,b,P){if(u=+u,d=d>>>0,b=b>>>0,!P){const re=Math.pow(2,8*b)-1;me(this,u,d,b,re,0)}let F=1,U=0;for(this[d]=u&255;++U<b&&(F*=256);)this[d+U]=u/F&255;return d+b},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(u,d,b,P){if(u=+u,d=d>>>0,b=b>>>0,!P){const re=Math.pow(2,8*b)-1;me(this,u,d,b,re,0)}let F=b-1,U=1;for(this[d+F]=u&255;--F>=0&&(U*=256);)this[d+F]=u/U&255;return d+b},a.prototype.writeUint8=a.prototype.writeUInt8=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,1,255,0),this[d]=u&255,d+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,2,65535,0),this[d]=u&255,this[d+1]=u>>>8,d+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,2,65535,0),this[d]=u>>>8,this[d+1]=u&255,d+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,4,4294967295,0),this[d+3]=u>>>24,this[d+2]=u>>>16,this[d+1]=u>>>8,this[d]=u&255,d+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,4,4294967295,0),this[d]=u>>>24,this[d+1]=u>>>16,this[d+2]=u>>>8,this[d+3]=u&255,d+4};function st(m,u,d,b,P){v(u,b,P,m,d,7);let F=Number(u&BigInt(4294967295));m[d++]=F,F=F>>8,m[d++]=F,F=F>>8,m[d++]=F,F=F>>8,m[d++]=F;let U=Number(u>>BigInt(32)&BigInt(4294967295));return m[d++]=U,U=U>>8,m[d++]=U,U=U>>8,m[d++]=U,U=U>>8,m[d++]=U,d}function er(m,u,d,b,P){v(u,b,P,m,d,7);let F=Number(u&BigInt(4294967295));m[d+7]=F,F=F>>8,m[d+6]=F,F=F>>8,m[d+5]=F,F=F>>8,m[d+4]=F;let U=Number(u>>BigInt(32)&BigInt(4294967295));return m[d+3]=U,U=U>>8,m[d+2]=U,U=U>>8,m[d+1]=U,U=U>>8,m[d]=U,d+8}a.prototype.writeBigUInt64LE=ft(function(u,d=0){return st(this,u,d,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=ft(function(u,d=0){return er(this,u,d,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(u,d,b,P){if(u=+u,d=d>>>0,!P){const Se=Math.pow(2,8*b-1);me(this,u,d,b,Se-1,-Se)}let F=0,U=1,re=0;for(this[d]=u&255;++F<b&&(U*=256);)u<0&&re===0&&this[d+F-1]!==0&&(re=1),this[d+F]=(u/U>>0)-re&255;return d+b},a.prototype.writeIntBE=function(u,d,b,P){if(u=+u,d=d>>>0,!P){const Se=Math.pow(2,8*b-1);me(this,u,d,b,Se-1,-Se)}let F=b-1,U=1,re=0;for(this[d+F]=u&255;--F>=0&&(U*=256);)u<0&&re===0&&this[d+F+1]!==0&&(re=1),this[d+F]=(u/U>>0)-re&255;return d+b},a.prototype.writeInt8=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,1,127,-128),u<0&&(u=255+u+1),this[d]=u&255,d+1},a.prototype.writeInt16LE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,2,32767,-32768),this[d]=u&255,this[d+1]=u>>>8,d+2},a.prototype.writeInt16BE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,2,32767,-32768),this[d]=u>>>8,this[d+1]=u&255,d+2},a.prototype.writeInt32LE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,4,2147483647,-2147483648),this[d]=u&255,this[d+1]=u>>>8,this[d+2]=u>>>16,this[d+3]=u>>>24,d+4},a.prototype.writeInt32BE=function(u,d,b){return u=+u,d=d>>>0,b||me(this,u,d,4,2147483647,-2147483648),u<0&&(u=4294967295+u+1),this[d]=u>>>24,this[d+1]=u>>>16,this[d+2]=u>>>8,this[d+3]=u&255,d+4},a.prototype.writeBigInt64LE=ft(function(u,d=0){return st(this,u,d,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=ft(function(u,d=0){return er(this,u,d,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Rt(m,u,d,b,P,F){if(d+b>m.length)throw new RangeError("Index out of range");if(d<0)throw new RangeError("Index out of range")}function O(m,u,d,b,P){return u=+u,d=d>>>0,P||Rt(m,u,d,4),r.write(m,u,d,b,23,4),d+4}a.prototype.writeFloatLE=function(u,d,b){return O(this,u,d,!0,b)},a.prototype.writeFloatBE=function(u,d,b){return O(this,u,d,!1,b)};function C(m,u,d,b,P){return u=+u,d=d>>>0,P||Rt(m,u,d,8),r.write(m,u,d,b,52,8),d+8}a.prototype.writeDoubleLE=function(u,d,b){return C(this,u,d,!0,b)},a.prototype.writeDoubleBE=function(u,d,b){return C(this,u,d,!1,b)},a.prototype.copy=function(u,d,b,P){if(!a.isBuffer(u))throw new TypeError("argument should be a Buffer");if(b||(b=0),!P&&P!==0&&(P=this.length),d>=u.length&&(d=u.length),d||(d=0),P>0&&P<b&&(P=b),P===b||u.length===0||this.length===0)return 0;if(d<0)throw new RangeError("targetStart out of bounds");if(b<0||b>=this.length)throw new RangeError("Index out of range");if(P<0)throw new RangeError("sourceEnd out of bounds");P>this.length&&(P=this.length),u.length-d<P-b&&(P=u.length-d+b);const F=P-b;return this===u&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(d,b,P):Uint8Array.prototype.set.call(u,this.subarray(b,P),d),F},a.prototype.fill=function(u,d,b,P){if(typeof u=="string"){if(typeof d=="string"?(P=d,d=0,b=this.length):typeof b=="string"&&(P=b,b=this.length),P!==void 0&&typeof P!="string")throw new TypeError("encoding must be a string");if(typeof P=="string"&&!a.isEncoding(P))throw new TypeError("Unknown encoding: "+P);if(u.length===1){const U=u.charCodeAt(0);(P==="utf8"&&U<128||P==="latin1")&&(u=U)}}else typeof u=="number"?u=u&255:typeof u=="boolean"&&(u=Number(u));if(d<0||this.length<d||this.length<b)throw new RangeError("Out of range index");if(b<=d)return this;d=d>>>0,b=b===void 0?this.length:b>>>0,u||(u=0);let F;if(typeof u=="number")for(F=d;F<b;++F)this[F]=u;else{const U=a.isBuffer(u)?u:a.from(u,P),re=U.length;if(re===0)throw new TypeError('The value "'+u+'" is invalid for argument "value"');for(F=0;F<b-d;++F)this[F+d]=U[F%re]}return this};const H={};function K(m,u,d){H[m]=class extends d{constructor(){super(),Object.defineProperty(this,"message",{value:u.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${m}]`,this.stack,delete this.name}get code(){return m}set code(P){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:P,writable:!0})}toString(){return`${this.name} [${m}]: ${this.message}`}}}K("ERR_BUFFER_OUT_OF_BOUNDS",function(m){return m?`${m} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),K("ERR_INVALID_ARG_TYPE",function(m,u){return`The "${m}" argument must be of type number. Received type ${typeof u}`},TypeError),K("ERR_OUT_OF_RANGE",function(m,u,d){let b=`The value of "${m}" is out of range.`,P=d;return Number.isInteger(d)&&Math.abs(d)>2**32?P=Z(String(d)):typeof d=="bigint"&&(P=String(d),(d>BigInt(2)**BigInt(32)||d<-(BigInt(2)**BigInt(32)))&&(P=Z(P)),P+="n"),b+=` It must be ${u}. Received ${P}`,b},RangeError);function Z(m){let u="",d=m.length;const b=m[0]==="-"?1:0;for(;d>=b+4;d-=3)u=`_${m.slice(d-3,d)}${u}`;return`${m.slice(0,d)}${u}`}function w(m,u,d){M(u,"offset"),(m[u]===void 0||m[u+d]===void 0)&&z(u,m.length-(d+1))}function v(m,u,d,b,P,F){if(m>d||m<u){const U=typeof u=="bigint"?"n":"";let re;throw u===0||u===BigInt(0)?re=`>= 0${U} and < 2${U} ** ${(F+1)*8}${U}`:re=`>= -(2${U} ** ${(F+1)*8-1}${U}) and < 2 ** ${(F+1)*8-1}${U}`,new H.ERR_OUT_OF_RANGE("value",re,m)}w(b,P,F)}function M(m,u){if(typeof m!="number")throw new H.ERR_INVALID_ARG_TYPE(u,"number",m)}function z(m,u,d){throw Math.floor(m)!==m?(M(m,d),new H.ERR_OUT_OF_RANGE("offset","an integer",m)):u<0?new H.ERR_BUFFER_OUT_OF_BOUNDS:new H.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${u}`,m)}const ve=/[^+/0-9A-Za-z-_]/g;function ee(m){if(m=m.split("=")[0],m=m.trim().replace(ve,""),m.length<2)return"";for(;m.length%4!==0;)m=m+"=";return m}function ae(m,u){u=u||1/0;let d;const b=m.length;let P=null;const F=[];for(let U=0;U<b;++U){if(d=m.charCodeAt(U),d>55295&&d<57344){if(!P){if(d>56319){(u-=3)>-1&&F.push(239,191,189);continue}else if(U+1===b){(u-=3)>-1&&F.push(239,191,189);continue}P=d;continue}if(d<56320){(u-=3)>-1&&F.push(239,191,189),P=d;continue}d=(P-55296<<10|d-56320)+65536}else P&&(u-=3)>-1&&F.push(239,191,189);if(P=null,d<128){if((u-=1)<0)break;F.push(d)}else if(d<2048){if((u-=2)<0)break;F.push(d>>6|192,d&63|128)}else if(d<65536){if((u-=3)<0)break;F.push(d>>12|224,d>>6&63|128,d&63|128)}else if(d<1114112){if((u-=4)<0)break;F.push(d>>18|240,d>>12&63|128,d>>6&63|128,d&63|128)}else throw new Error("Invalid code point")}return F}function tr(m){const u=[];for(let d=0;d<m.length;++d)u.push(m.charCodeAt(d)&255);return u}function qr(m,u){let d,b,P;const F=[];for(let U=0;U<m.length&&!((u-=2)<0);++U)d=m.charCodeAt(U),b=d>>8,P=d%256,F.push(P),F.push(b);return F}function In(m){return t.toByteArray(ee(m))}function Vr(m,u,d,b){let P;for(P=0;P<b&&!(P+d>=u.length||P>=m.length);++P)u[P+d]=m[P];return P}function ot(m,u){return m instanceof u||m!=null&&m.constructor!=null&&m.constructor.name!=null&&m.constructor.name===u.name}function Ar(m){return m!==m}const Bn=function(){const m="0123456789abcdef",u=new Array(256);for(let d=0;d<16;++d){const b=d*16;for(let P=0;P<16;++P)u[b+P]=m[d]+m[P]}return u}();function ft(m){return typeof BigInt>"u"?Sr:m}function Sr(){throw new Error("BigInt not supported")}})(Zt);var Ti={Array:function(e){return e!=null&&e.constructor===Array},Boolean:function(e){return typeof e=="boolean"},Function:function(e){return typeof e=="function"},Nil:function(e){return e==null},Number:function(e){return typeof e=="number"},Object:function(e){return typeof e=="object"},String:function(e){return typeof e=="string"},"":function(){return!0}};Ti.Null=Ti.Nil;for(var uu in Ti)Ti[uu].toJSON=(function(e){return e}).bind(null,uu);var pc=Ti,Br=pc;function $d(e){return e.name||e.toString().match(/function (.*?)\s*\(/)[1]}function yc(e){return Br.Nil(e)?"":$d(e.constructor)}function Eb(e){return Br.Function(e)?"":Br.String(e)?JSON.stringify(e):e&&Br.Object(e)?"":e}function mc(e,t){Error.captureStackTrace&&Error.captureStackTrace(e,t)}function Ss(e){return Br.Function(e)?e.toJSON?e.toJSON():$d(e):Br.Array(e)?"Array":e&&Br.Object(e)?"Object":e!==void 0?e:""}function Hd(e,t,r){var n=Eb(t);return"Expected "+Ss(e)+", got"+(r!==""?" "+r:"")+(n!==""?" "+n:"")}function Kt(e,t,r){r=r||yc(t),this.message=Hd(e,t,r),mc(this,Kt),this.__type=e,this.__value=t,this.__valueTypeName=r}Kt.prototype=Object.create(Error.prototype);Kt.prototype.constructor=Kt;function xb(e,t,r,n,i){var s='" of type ';return t==="key"&&(s='" with key type '),Hd('property "'+Ss(r)+s+Ss(e),n,i)}function cn(e,t,r,n,i){e?(i=i||yc(n),this.message=xb(e,r,t,n,i)):this.message='Unexpected property "'+t+'"',mc(this,Kt),this.__label=r,this.__property=t,this.__type=e,this.__value=n,this.__valueTypeName=i}cn.prototype=Object.create(Error.prototype);cn.prototype.constructor=Kt;function Ab(e,t){return new Kt(e,{},t)}function Sb(e,t,r){return e instanceof cn?(t=t+"."+e.__property,e=new cn(e.__type,t,e.__label,e.__value,e.__valueTypeName)):e instanceof Kt&&(e=new cn(e.__type,t,r,e.__value,e.__valueTypeName)),mc(e),e}var Dd={TfTypeError:Kt,TfPropertyTypeError:cn,tfCustomError:Ab,tfSubError:Sb,tfJSON:Ss,getValueTypeName:yc},Co,fu;function Pb(){if(fu)return Co;fu=1;var e=pc,t=Dd;function r(S){return Buffer.isBuffer(S)}function n(S){return typeof S=="string"&&/^([0-9a-f]{2})+$/i.test(S)}function i(S,N){var $=S.toJSON();function B(W){if(!S(W))return!1;if(W.length===N)return!0;throw t.tfCustomError($+"(Length: "+N+")",$+"(Length: "+W.length+")")}return B.toJSON=function(){return $},B}var s=i.bind(null,e.Array),o=i.bind(null,r),a=i.bind(null,n),c=i.bind(null,e.String);function f(S,N,$){$=$||e.Number;function B(W,R){return $(W,R)&&W>S&&W<N}return B.toJSON=function(){return`${$.toJSON()} between [${S}, ${N}]`},B}var l=Math.pow(2,53)-1;function h(S){return typeof S=="number"&&isFinite(S)}function y(S){return S<<24>>24===S}function p(S){return S<<16>>16===S}function g(S){return(S|0)===S}function _(S){return typeof S=="number"&&S>=-l&&S<=l&&Math.floor(S)===S}function x(S){return(S&255)===S}function k(S){return(S&65535)===S}function T(S){return S>>>0===S}function A(S){return typeof S=="number"&&S>=0&&S<=l&&Math.floor(S)===S}var E={ArrayN:s,Buffer:r,BufferN:o,Finite:h,Hex:n,HexN:a,Int8:y,Int16:p,Int32:g,Int53:_,Range:f,StringN:c,UInt8:x,UInt16:k,UInt32:T,UInt53:A};for(var I in E)E[I].toJSON=(function(S){return S}).bind(null,I);return Co=E,Co}var Hi=Dd,Me=pc,Ut=Hi.tfJSON,jd=Hi.TfTypeError,Gd=Hi.TfPropertyTypeError,Un=Hi.tfSubError,Tb=Hi.getValueTypeName,Ht={arrayOf:function(t,r){t=Tt(t),r=r||{};function n(i,s){return!Me.Array(i)||Me.Nil(i)||r.minLength!==void 0&&i.length<r.minLength||r.maxLength!==void 0&&i.length>r.maxLength||r.length!==void 0&&i.length!==r.length?!1:i.every(function(o,a){try{return Qe(t,o,s)}catch(c){throw Un(c,a)}})}return n.toJSON=function(){var i="["+Ut(t)+"]";return r.length!==void 0?i+="{"+r.length+"}":(r.minLength!==void 0||r.maxLength!==void 0)&&(i+="{"+(r.minLength===void 0?0:r.minLength)+","+(r.maxLength===void 0?1/0:r.maxLength)+"}"),i},n},maybe:function e(t){t=Tt(t);function r(n,i){return Me.Nil(n)||t(n,i,e)}return r.toJSON=function(){return"?"+Ut(t)},r},map:function(t,r){t=Tt(t),r&&(r=Tt(r));function n(i,s){if(!Me.Object(i)||Me.Nil(i))return!1;for(var o in i){try{r&&Qe(r,o,s)}catch(c){throw Un(c,o,"key")}try{var a=i[o];Qe(t,a,s)}catch(c){throw Un(c,o)}}return!0}return r?n.toJSON=function(){return"{"+Ut(r)+": "+Ut(t)+"}"}:n.toJSON=function(){return"{"+Ut(t)+"}"},n},object:function(t){var r={};for(var n in t)r[n]=Tt(t[n]);function i(s,o){if(!Me.Object(s)||Me.Nil(s))return!1;var a;try{for(a in r){var c=r[a],f=s[a];Qe(c,f,o)}}catch(l){throw Un(l,a)}if(o){for(a in s)if(!r[a])throw new Gd(void 0,a)}return!0}return i.toJSON=function(){return Ut(r)},i},anyOf:function(){var t=[].slice.call(arguments).map(Tt);function r(n,i){return t.some(function(s){try{return Qe(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(Ut).join("|")},r},allOf:function(){var t=[].slice.call(arguments).map(Tt);function r(n,i){return t.every(function(s){try{return Qe(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(Ut).join(" & ")},r},quacksLike:function(t){function r(n){return t===Tb(n)}return r.toJSON=function(){return t},r},tuple:function(){var t=[].slice.call(arguments).map(Tt);function r(n,i){return Me.Nil(n)||Me.Nil(n.length)||i&&n.length!==t.length?!1:t.every(function(s,o){try{return Qe(s,n[o],i)}catch(a){throw Un(a,o)}})}return r.toJSON=function(){return"("+t.map(Ut).join(", ")+")"},r},value:function(t){function r(n){return n===t}return r.toJSON=function(){return t},r}};Ht.oneOf=Ht.anyOf;function Tt(e){if(Me.String(e))return e[0]==="?"?Ht.maybe(e.slice(1)):Me[e]||Ht.quacksLike(e);if(e&&Me.Object(e)){if(Me.Array(e)){if(e.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return Ht.arrayOf(e[0])}return Ht.object(e)}else if(Me.Function(e))return e;return Ht.value(e)}function Qe(e,t,r,n){if(Me.Function(e)){if(e(t,r))return!0;throw new jd(n||e,t)}return Qe(Tt(e),t,r)}for(var pr in Me)Qe[pr]=Me[pr];for(pr in Ht)Qe[pr]=Ht[pr];var du=Pb();for(pr in du)Qe[pr]=du[pr];Qe.compile=Tt;Qe.TfTypeError=jd;Qe.TfPropertyTypeError=Gd;var zd=Qe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.oneOf=e.Null=e.BufferN=e.Function=e.UInt32=e.UInt8=e.tuple=e.maybe=e.Hex=e.Buffer=e.String=e.Boolean=e.Array=e.Number=e.Hash256bit=e.Hash160bit=e.Buffer256bit=e.isTaptree=e.isTapleaf=e.TAPLEAF_VERSION_MASK=e.Satoshi=e.isPoint=e.stacksEqual=e.typeforce=void 0;const t=Zt;e.typeforce=zd;const r=t.Buffer.alloc(32,0),n=t.Buffer.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex");function i(l,h){return l.length!==h.length?!1:l.every((y,p)=>y.equals(h[p]))}e.stacksEqual=i;function s(l){if(!t.Buffer.isBuffer(l)||l.length<33)return!1;const h=l[0],y=l.slice(1,33);if(y.compare(r)===0||y.compare(n)>=0)return!1;if((h===2||h===3)&&l.length===33)return!0;const p=l.slice(33);return p.compare(r)===0||p.compare(n)>=0?!1:h===4&&l.length===65}e.isPoint=s;const o=21*1e14;function a(l){return e.typeforce.UInt53(l)&&l<=o}e.Satoshi=a,e.TAPLEAF_VERSION_MASK=254;function c(l){return!l||!("output"in l)||!t.Buffer.isBuffer(l.output)?!1:l.version!==void 0?(l.version&e.TAPLEAF_VERSION_MASK)===l.version:!0}e.isTapleaf=c;function f(l){return(0,e.Array)(l)?l.length!==2?!1:l.every(h=>f(h)):c(l)}e.isTaptree=f,e.Buffer256bit=e.typeforce.BufferN(32),e.Hash160bit=e.typeforce.BufferN(20),e.Hash256bit=e.typeforce.BufferN(32),e.Number=e.typeforce.Number,e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.String=e.typeforce.String,e.Buffer=e.typeforce.Buffer,e.Hex=e.typeforce.Hex,e.maybe=e.typeforce.maybe,e.tuple=e.typeforce.tuple,e.UInt8=e.typeforce.UInt8,e.UInt32=e.typeforce.UInt32,e.Function=e.typeforce.Function,e.BufferN=e.typeforce.BufferN,e.Null=e.typeforce.Null,e.oneOf=e.typeforce.oneOf})(Ve);var Di={},$e={};Object.defineProperty($e,"__esModule",{value:!0});$e.BufferReader=$e.BufferWriter=$e.cloneBuffer=$e.reverseBuffer=$e.writeUInt64LE=$e.readUInt64LE=$e.varuint=void 0;const Cr=Ve,{typeforce:qd}=Cr,ki=of;$e.varuint=ki;function Vd(e,t){if(typeof e!="number")throw new Error("cannot write a non-number as a number");if(e<0)throw new Error("specified a negative value for writing an unsigned value");if(e>t)throw new Error("RangeError: value out of range");if(Math.floor(e)!==e)throw new Error("value has a fractional component")}function Wd(e,t){const r=e.readUInt32LE(t);let n=e.readUInt32LE(t+4);return n*=4294967296,Vd(n+r,9007199254740991),n+r}$e.readUInt64LE=Wd;function Kd(e,t,r){return Vd(t,9007199254740991),e.writeInt32LE(t&-1,r),e.writeUInt32LE(Math.floor(t/4294967296),r+4),r+8}$e.writeUInt64LE=Kd;function kb(e){if(e.length<1)return e;let t=e.length-1,r=0;for(let n=0;n<e.length/2;n++)r=e[n],e[n]=e[t],e[t]=r,t--;return e}$e.reverseBuffer=kb;function Ib(e){const t=Buffer.allocUnsafe(e.length);return e.copy(t),t}$e.cloneBuffer=Ib;class bc{static withCapacity(t){return new bc(Buffer.alloc(t))}constructor(t,r=0){this.buffer=t,this.offset=r,qd(Cr.tuple(Cr.Buffer,Cr.UInt32),[t,r])}writeUInt8(t){this.offset=this.buffer.writeUInt8(t,this.offset)}writeInt32(t){this.offset=this.buffer.writeInt32LE(t,this.offset)}writeUInt32(t){this.offset=this.buffer.writeUInt32LE(t,this.offset)}writeUInt64(t){this.offset=Kd(this.buffer,t,this.offset)}writeVarInt(t){ki.encode(t,this.buffer,this.offset),this.offset+=ki.encode.bytes}writeSlice(t){if(this.buffer.length<this.offset+t.length)throw new Error("Cannot write slice out of bounds");this.offset+=t.copy(this.buffer,this.offset)}writeVarSlice(t){this.writeVarInt(t.length),this.writeSlice(t)}writeVector(t){this.writeVarInt(t.length),t.forEach(r=>this.writeVarSlice(r))}end(){if(this.buffer.length===this.offset)return this.buffer;throw new Error(`buffer size ${this.buffer.length}, offset ${this.offset}`)}}$e.BufferWriter=bc;class Bb{constructor(t,r=0){this.buffer=t,this.offset=r,qd(Cr.tuple(Cr.Buffer,Cr.UInt32),[t,r])}readUInt8(){const t=this.buffer.readUInt8(this.offset);return this.offset++,t}readInt32(){const t=this.buffer.readInt32LE(this.offset);return this.offset+=4,t}readUInt32(){const t=this.buffer.readUInt32LE(this.offset);return this.offset+=4,t}readUInt64(){const t=Wd(this.buffer,this.offset);return this.offset+=8,t}readVarInt(){const t=ki.decode(this.buffer,this.offset);return this.offset+=ki.decode.bytes,t}readSlice(t){if(this.buffer.length<this.offset+t)throw new Error("Cannot read slice out of bounds");const r=this.buffer.slice(this.offset,this.offset+t);return this.offset+=t,r}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const t=this.readVarInt(),r=[];for(let n=0;n<t;n++)r.push(this.readVarSlice());return r}}$e.BufferReader=Bb;var vr={},bn={};Object.defineProperty(bn,"__esModule",{value:!0});bn.sha1=bn.SHA1=void 0;const Oo=Qt,ps=$i,Nn=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),or=new Uint32Array(80);class Yd extends Oo.HashMD{constructor(){super(64,20,8,!1),this.A=Nn[0]|0,this.B=Nn[1]|0,this.C=Nn[2]|0,this.D=Nn[3]|0,this.E=Nn[4]|0}get(){const{A:t,B:r,C:n,D:i,E:s}=this;return[t,r,n,i,s]}set(t,r,n,i,s){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0}process(t,r){for(let c=0;c<16;c++,r+=4)or[c]=t.getUint32(r,!1);for(let c=16;c<80;c++)or[c]=(0,ps.rotl)(or[c-3]^or[c-8]^or[c-14]^or[c-16],1);let{A:n,B:i,C:s,D:o,E:a}=this;for(let c=0;c<80;c++){let f,l;c<20?(f=(0,Oo.Chi)(i,s,o),l=1518500249):c<40?(f=i^s^o,l=1859775393):c<60?(f=(0,Oo.Maj)(i,s,o),l=2400959708):(f=i^s^o,l=3395469782);const h=(0,ps.rotl)(n,5)+f+a+l+or[c]|0;a=o,o=s,s=(0,ps.rotl)(i,30),i=n,n=h}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,this.set(n,i,s,o,a)}roundClean(){or.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}}bn.SHA1=Yd;bn.sha1=(0,ps.wrapConstructor)(()=>new Yd);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.taggedHash=e.TAGGED_HASH_PREFIXES=e.TAGS=e.hash256=e.hash160=e.sha256=e.sha1=e.ripemd160=void 0;const t=mn,r=bn,n=Gt;function i(l){return Buffer.from((0,t.ripemd160)(Uint8Array.from(l)))}e.ripemd160=i;function s(l){return Buffer.from((0,r.sha1)(Uint8Array.from(l)))}e.sha1=s;function o(l){return Buffer.from((0,n.sha256)(Uint8Array.from(l)))}e.sha256=o;function a(l){return Buffer.from((0,t.ripemd160)((0,n.sha256)(Uint8Array.from(l))))}e.hash160=a;function c(l){return Buffer.from((0,n.sha256)((0,n.sha256)(Uint8Array.from(l))))}e.hash256=c,e.TAGS=["BIP0340/challenge","BIP0340/aux","BIP0340/nonce","TapLeaf","TapBranch","TapSighash","TapTweak","KeyAgg list","KeyAgg coefficient"],e.TAGGED_HASH_PREFIXES={"BIP0340/challenge":Buffer.from([123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124,123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124]),"BIP0340/aux":Buffer.from([241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144,241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144]),"BIP0340/nonce":Buffer.from([7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47,7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47]),TapLeaf:Buffer.from([174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238,174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238]),TapBranch:Buffer.from([25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21,25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21]),TapSighash:Buffer.from([244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49,244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49]),TapTweak:Buffer.from([232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233,232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233]),"KeyAgg list":Buffer.from([72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240,72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240]),"KeyAgg coefficient":Buffer.from([191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129,191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129])};function f(l,h){return o(Buffer.concat([e.TAGGED_HASH_PREFIXES[l],h]))}e.taggedHash=f})(vr);var Ro={},zt={};Object.defineProperty(zt,"__esModule",{value:!0});zt.encode=zt.decode=zt.check=void 0;function Cb(e){if(e.length<8||e.length>72||e[0]!==48||e[1]!==e.length-2||e[2]!==2)return!1;const t=e[3];if(t===0||5+t>=e.length||e[4+t]!==2)return!1;const r=e[5+t];return!(r===0||6+t+r!==e.length||e[4]&128||t>1&&e[4]===0&&!(e[5]&128)||e[t+6]&128||r>1&&e[t+6]===0&&!(e[t+7]&128))}zt.check=Cb;function Ob(e){if(e.length<8)throw new Error("DER sequence length is too short");if(e.length>72)throw new Error("DER sequence length is too long");if(e[0]!==48)throw new Error("Expected DER sequence");if(e[1]!==e.length-2)throw new Error("DER sequence length is invalid");if(e[2]!==2)throw new Error("Expected DER integer");const t=e[3];if(t===0)throw new Error("R length is zero");if(5+t>=e.length)throw new Error("R length is too long");if(e[4+t]!==2)throw new Error("Expected DER integer (2)");const r=e[5+t];if(r===0)throw new Error("S length is zero");if(6+t+r!==e.length)throw new Error("S length is invalid");if(e[4]&128)throw new Error("R value is negative");if(t>1&&e[4]===0&&!(e[5]&128))throw new Error("R value excessively padded");if(e[t+6]&128)throw new Error("S value is negative");if(r>1&&e[t+6]===0&&!(e[t+7]&128))throw new Error("S value excessively padded");return{r:e.slice(4,4+t),s:e.slice(6+t)}}zt.decode=Ob;function Rb(e,t){const r=e.length,n=t.length;if(r===0)throw new Error("R length is zero");if(n===0)throw new Error("S length is zero");if(r>33)throw new Error("R length is too long");if(n>33)throw new Error("S length is too long");if(e[0]&128)throw new Error("R value is negative");if(t[0]&128)throw new Error("S value is negative");if(r>1&&e[0]===0&&!(e[1]&128))throw new Error("R value excessively padded");if(n>1&&t[0]===0&&!(t[1]&128))throw new Error("S value excessively padded");const i=Buffer.allocUnsafe(6+r+n);return i[0]=48,i[1]=i.length-2,i[2]=2,i[3]=e.length,e.copy(i,4),i[4+r]=2,i[5+r]=t.length,t.copy(i,6+r),i}zt.encode=Rb;var Mr={};Object.defineProperty(Mr,"__esModule",{value:!0});Mr.REVERSE_OPS=Mr.OPS=void 0;const xa={OP_FALSE:0,OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_RESERVED:80,OP_TRUE:81,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_VER:98,OP_IF:99,OP_NOTIF:100,OP_VERIF:101,OP_VERNOTIF:102,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_CAT:126,OP_SUBSTR:127,OP_LEFT:128,OP_RIGHT:129,OP_SIZE:130,OP_INVERT:131,OP_AND:132,OP_OR:133,OP_XOR:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_RESERVED1:137,OP_RESERVED2:138,OP_1ADD:139,OP_1SUB:140,OP_2MUL:141,OP_2DIV:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_MUL:149,OP_DIV:150,OP_MOD:151,OP_LSHIFT:152,OP_RSHIFT:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_NOP2:177,OP_CHECKLOCKTIMEVERIFY:177,OP_NOP3:178,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_CHECKSIGADD:186,OP_PUBKEYHASH:253,OP_PUBKEY:254,OP_INVALIDOPCODE:255};Mr.OPS=xa;const Xd={};Mr.REVERSE_OPS=Xd;for(const e of Object.keys(xa)){const t=xa[e];Xd[t]=e}var yr={};Object.defineProperty(yr,"__esModule",{value:!0});yr.decode=yr.encode=yr.encodingLength=void 0;const lr=Mr;function Jd(e){return e<lr.OPS.OP_PUSHDATA1?1:e<=255?2:e<=65535?3:5}yr.encodingLength=Jd;function Fb(e,t,r){const n=Jd(t);return n===1?e.writeUInt8(t,r):n===2?(e.writeUInt8(lr.OPS.OP_PUSHDATA1,r),e.writeUInt8(t,r+1)):n===3?(e.writeUInt8(lr.OPS.OP_PUSHDATA2,r),e.writeUInt16LE(t,r+1)):(e.writeUInt8(lr.OPS.OP_PUSHDATA4,r),e.writeUInt32LE(t,r+1)),n}yr.encode=Fb;function Ub(e,t){const r=e.readUInt8(t);let n,i;if(r<lr.OPS.OP_PUSHDATA1)n=r,i=1;else if(r===lr.OPS.OP_PUSHDATA1){if(t+2>e.length)return null;n=e.readUInt8(t+1),i=2}else if(r===lr.OPS.OP_PUSHDATA2){if(t+3>e.length)return null;n=e.readUInt16LE(t+1),i=3}else{if(t+5>e.length)return null;if(r!==lr.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");n=e.readUInt32LE(t+1),i=5}return{opcode:r,number:n,size:i}}yr.decode=Ub;var gn={};Object.defineProperty(gn,"__esModule",{value:!0});gn.encode=gn.decode=void 0;function Nb(e,t,r){t=t||4,r=r===void 0?!0:r;const n=e.length;if(n===0)return 0;if(n>t)throw new TypeError("Script number overflow");if(r&&!(e[n-1]&127)&&(n<=1||!(e[n-2]&128)))throw new Error("Non-minimally encoded script number");if(n===5){const s=e.readUInt32LE(0),o=e.readUInt8(4);return o&128?-((o&-129)*4294967296+s):o*4294967296+s}let i=0;for(let s=0;s<n;++s)i|=e[s]<<8*s;return e[n-1]&128?-(i&~(128<<8*(n-1))):i}gn.decode=Nb;function Lb(e){return e>2147483647?5:e>8388607?4:e>32767?3:e>127?2:e>0?1:0}function Mb(e){let t=Math.abs(e);const r=Lb(t),n=Buffer.allocUnsafe(r),i=e<0;for(let s=0;s<r;++s)n.writeUInt8(t&255,s),t>>=8;return n[r-1]&128?n.writeUInt8(i?128:0,r-1):i&&(n[r-1]|=128),n}gn.encode=Mb;var Tr={},lu;function $b(){if(lu)return Tr;lu=1,Object.defineProperty(Tr,"__esModule",{value:!0}),Tr.encode=Tr.decode=void 0;const e=zt,t=ut(),r=Ve,{typeforce:n}=r,i=Buffer.alloc(1,0);function s(f){let l=0;for(;f[l]===0;)++l;return l===f.length?i:(f=f.slice(l),f[0]&128?Buffer.concat([i,f],1+f.length):f)}function o(f){f[0]===0&&(f=f.slice(1));const l=Buffer.alloc(32,0),h=Math.max(0,32-f.length);return f.copy(l,h),l}function a(f){const l=f.readUInt8(f.length-1);if(!(0,t.isDefinedHashType)(l))throw new Error("Invalid hashType "+l);const h=e.decode(f.slice(0,-1)),y=o(h.r),p=o(h.s);return{signature:Buffer.concat([y,p],64),hashType:l}}Tr.decode=a;function c(f,l){if(n({signature:r.BufferN(64),hashType:r.UInt8},{signature:f,hashType:l}),!(0,t.isDefinedHashType)(l))throw new Error("Invalid hashType "+l);const h=Buffer.allocUnsafe(1);h.writeUInt8(l,0);const y=s(f.slice(0,32)),p=s(f.slice(32,64));return Buffer.concat([e.encode(y,p),h])}return Tr.encode=c,Tr}var hu;function ut(){return hu||(hu=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.signature=e.number=e.isCanonicalScriptSignature=e.isDefinedHashType=e.isCanonicalPubKey=e.toStack=e.fromASM=e.toASM=e.decompile=e.compile=e.countNonPushOnlyOPs=e.isPushOnly=e.OPS=void 0;const t=zt,r=Mr;Object.defineProperty(e,"OPS",{enumerable:!0,get:function(){return r.OPS}});const n=yr,i=gn,s=$b(),o=Ve,{typeforce:a}=o,c=r.OPS.OP_RESERVED;function f(B){return o.Number(B)&&(B===r.OPS.OP_0||B>=r.OPS.OP_1&&B<=r.OPS.OP_16||B===r.OPS.OP_1NEGATE)}function l(B){return o.Buffer(B)||f(B)}function h(B){return o.Array(B)&&B.every(l)}e.isPushOnly=h;function y(B){return B.length-B.filter(l).length}e.countNonPushOnlyOPs=y;function p(B){if(B.length===0)return r.OPS.OP_0;if(B.length===1){if(B[0]>=1&&B[0]<=16)return c+B[0];if(B[0]===129)return r.OPS.OP_1NEGATE}}function g(B){return Buffer.isBuffer(B)}function _(B){return o.Array(B)}function x(B){return Buffer.isBuffer(B)}function k(B){if(g(B))return B;a(o.Array,B);const W=B.reduce((j,V)=>x(V)?V.length===1&&p(V)!==void 0?j+1:j+n.encodingLength(V.length)+V.length:j+1,0),R=Buffer.allocUnsafe(W);let D=0;if(B.forEach(j=>{if(x(j)){const V=p(j);if(V!==void 0){R.writeUInt8(V,D),D+=1;return}D+=n.encode(R,j.length,D),j.copy(R,D),D+=j.length}else R.writeUInt8(j,D),D+=1}),D!==R.length)throw new Error("Could not decode chunks");return R}e.compile=k;function T(B){if(_(B))return B;a(o.Buffer,B);const W=[];let R=0;for(;R<B.length;){const D=B[R];if(D>r.OPS.OP_0&&D<=r.OPS.OP_PUSHDATA4){const j=n.decode(B,R);if(j===null||(R+=j.size,R+j.number>B.length))return null;const V=B.slice(R,R+j.number);R+=j.number;const X=p(V);X!==void 0?W.push(X):W.push(V)}else W.push(D),R+=1}return W}e.decompile=T;function A(B){if(g(B)&&(B=T(B)),!B)throw new Error("Could not convert invalid chunks to ASM");return B.map(W=>{if(x(W)){const R=p(W);if(R===void 0)return W.toString("hex");W=R}return r.REVERSE_OPS[W]}).join(" ")}e.toASM=A;function E(B){return a(o.String,B),k(B.split(" ").map(W=>r.OPS[W]!==void 0?r.OPS[W]:(a(o.Hex,W),Buffer.from(W,"hex"))))}e.fromASM=E;function I(B){return B=T(B),a(h,B),B.map(W=>x(W)?W:W===r.OPS.OP_0?Buffer.allocUnsafe(0):i.encode(W-c))}e.toStack=I;function S(B){return o.isPoint(B)}e.isCanonicalPubKey=S;function N(B){const W=B&-129;return W>0&&W<4}e.isDefinedHashType=N;function $(B){return!Buffer.isBuffer(B)||!N(B[B.length-1])?!1:t.check(B.slice(0,-1))}e.isCanonicalScriptSignature=$,e.number=i,e.signature=s}(Ro)),Ro}Object.defineProperty(Di,"__esModule",{value:!0});Di.Transaction=void 0;const Be=$e,Ke=vr,pu=ut(),Hb=ut(),se=Ve,{typeforce:Et}=se;function St(e){const t=e.length;return Be.varuint.encodingLength(t)+t}function Db(e){const t=e.length;return Be.varuint.encodingLength(t)+e.reduce((r,n)=>r+St(n),0)}const dr=Buffer.allocUnsafe(0),Fo=[],Uo=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),yu=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),jb=Buffer.from("ffffffffffffffff","hex"),Gb={script:dr,valueBuffer:jb};function zb(e){return e.value!==void 0}class te{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(t,r){const n=new Be.BufferReader(t),i=new te;i.version=n.readInt32();const s=n.readUInt8(),o=n.readUInt8();let a=!1;s===te.ADVANCED_TRANSACTION_MARKER&&o===te.ADVANCED_TRANSACTION_FLAG?a=!0:n.offset-=2;const c=n.readVarInt();for(let l=0;l<c;++l)i.ins.push({hash:n.readSlice(32),index:n.readUInt32(),script:n.readVarSlice(),sequence:n.readUInt32(),witness:Fo});const f=n.readVarInt();for(let l=0;l<f;++l)i.outs.push({value:n.readUInt64(),script:n.readVarSlice()});if(a){for(let l=0;l<c;++l)i.ins[l].witness=n.readVector();if(!i.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(i.locktime=n.readUInt32(),r)return i;if(n.offset!==t.length)throw new Error("Transaction has unexpected data");return i}static fromHex(t){return te.fromBuffer(Buffer.from(t,"hex"),!1)}static isCoinbaseHash(t){Et(se.Hash256bit,t);for(let r=0;r<32;++r)if(t[r]!==0)return!1;return!0}isCoinbase(){return this.ins.length===1&&te.isCoinbaseHash(this.ins[0].hash)}addInput(t,r,n,i){return Et(se.tuple(se.Hash256bit,se.UInt32,se.maybe(se.UInt32),se.maybe(se.Buffer)),arguments),se.Null(n)&&(n=te.DEFAULT_SEQUENCE),this.ins.push({hash:t,index:r,script:i||dr,sequence:n,witness:Fo})-1}addOutput(t,r){return Et(se.tuple(se.Buffer,se.Satoshi),arguments),this.outs.push({script:t,value:r})-1}hasWitnesses(){return this.ins.some(t=>t.witness.length!==0)}stripWitnesses(){this.ins.forEach(t=>{t.witness=Fo})}weight(){const t=this.byteLength(!1),r=this.byteLength(!0);return t*3+r}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(t=!0){const r=t&&this.hasWitnesses();return(r?10:8)+Be.varuint.encodingLength(this.ins.length)+Be.varuint.encodingLength(this.outs.length)+this.ins.reduce((n,i)=>n+40+St(i.script),0)+this.outs.reduce((n,i)=>n+8+St(i.script),0)+(r?this.ins.reduce((n,i)=>n+Db(i.witness),0):0)}clone(){const t=new te;return t.version=this.version,t.locktime=this.locktime,t.ins=this.ins.map(r=>({hash:r.hash,index:r.index,script:r.script,sequence:r.sequence,witness:r.witness})),t.outs=this.outs.map(r=>({script:r.script,value:r.value})),t}hashForSignature(t,r,n){if(Et(se.tuple(se.UInt32,se.Buffer,se.Number),arguments),t>=this.ins.length)return yu;const i=pu.compile(pu.decompile(r).filter(a=>a!==Hb.OPS.OP_CODESEPARATOR)),s=this.clone();if((n&31)===te.SIGHASH_NONE)s.outs=[],s.ins.forEach((a,c)=>{c!==t&&(a.sequence=0)});else if((n&31)===te.SIGHASH_SINGLE){if(t>=this.outs.length)return yu;s.outs.length=t+1;for(let a=0;a<t;a++)s.outs[a]=Gb;s.ins.forEach((a,c)=>{c!==t&&(a.sequence=0)})}n&te.SIGHASH_ANYONECANPAY?(s.ins=[s.ins[t]],s.ins[0].script=i):(s.ins.forEach(a=>{a.script=dr}),s.ins[t].script=i);const o=Buffer.allocUnsafe(s.byteLength(!1)+4);return o.writeInt32LE(n,o.length-4),s.__toBuffer(o,0,!1),Ke.hash256(o)}hashForWitnessV1(t,r,n,i,s,o){if(Et(se.tuple(se.UInt32,Et.arrayOf(se.Buffer),Et.arrayOf(se.Satoshi),se.UInt32),arguments),n.length!==this.ins.length||r.length!==this.ins.length)throw new Error("Must supply prevout script and value for all inputs");const a=i===te.SIGHASH_DEFAULT?te.SIGHASH_ALL:i&te.SIGHASH_OUTPUT_MASK,f=(i&te.SIGHASH_INPUT_MASK)===te.SIGHASH_ANYONECANPAY,l=a===te.SIGHASH_NONE,h=a===te.SIGHASH_SINGLE;let y=dr,p=dr,g=dr,_=dr,x=dr;if(!f){let E=Be.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(I=>{E.writeSlice(I.hash),E.writeUInt32(I.index)}),y=Ke.sha256(E.end()),E=Be.BufferWriter.withCapacity(8*this.ins.length),n.forEach(I=>E.writeUInt64(I)),p=Ke.sha256(E.end()),E=Be.BufferWriter.withCapacity(r.map(St).reduce((I,S)=>I+S)),r.forEach(I=>E.writeVarSlice(I)),g=Ke.sha256(E.end()),E=Be.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(I=>E.writeUInt32(I.sequence)),_=Ke.sha256(E.end())}if(l||h){if(h&&t<this.outs.length){const E=this.outs[t],I=Be.BufferWriter.withCapacity(8+St(E.script));I.writeUInt64(E.value),I.writeVarSlice(E.script),x=Ke.sha256(I.end())}}else{const E=this.outs.map(S=>8+St(S.script)).reduce((S,N)=>S+N),I=Be.BufferWriter.withCapacity(E);this.outs.forEach(S=>{I.writeUInt64(S.value),I.writeVarSlice(S.script)}),x=Ke.sha256(I.end())}const k=(s?2:0)+(o?1:0),T=174-(f?49:0)-(l?32:0)+(o?32:0)+(s?37:0),A=Be.BufferWriter.withCapacity(T);if(A.writeUInt8(i),A.writeInt32(this.version),A.writeUInt32(this.locktime),A.writeSlice(y),A.writeSlice(p),A.writeSlice(g),A.writeSlice(_),l||h||A.writeSlice(x),A.writeUInt8(k),f){const E=this.ins[t];A.writeSlice(E.hash),A.writeUInt32(E.index),A.writeUInt64(n[t]),A.writeVarSlice(r[t]),A.writeUInt32(E.sequence)}else A.writeUInt32(t);if(o){const E=Be.BufferWriter.withCapacity(St(o));E.writeVarSlice(o),A.writeSlice(Ke.sha256(E.end()))}return h&&A.writeSlice(x),s&&(A.writeSlice(s),A.writeUInt8(0),A.writeUInt32(4294967295)),Ke.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),A.end()]))}hashForWitnessV0(t,r,n,i){Et(se.tuple(se.UInt32,se.Buffer,se.Satoshi,se.UInt32),arguments);let s=Buffer.from([]),o,a=Uo,c=Uo,f=Uo;if(i&te.SIGHASH_ANYONECANPAY||(s=Buffer.allocUnsafe(36*this.ins.length),o=new Be.BufferWriter(s,0),this.ins.forEach(h=>{o.writeSlice(h.hash),o.writeUInt32(h.index)}),c=Ke.hash256(s)),!(i&te.SIGHASH_ANYONECANPAY)&&(i&31)!==te.SIGHASH_SINGLE&&(i&31)!==te.SIGHASH_NONE&&(s=Buffer.allocUnsafe(4*this.ins.length),o=new Be.BufferWriter(s,0),this.ins.forEach(h=>{o.writeUInt32(h.sequence)}),f=Ke.hash256(s)),(i&31)!==te.SIGHASH_SINGLE&&(i&31)!==te.SIGHASH_NONE){const h=this.outs.reduce((y,p)=>y+8+St(p.script),0);s=Buffer.allocUnsafe(h),o=new Be.BufferWriter(s,0),this.outs.forEach(y=>{o.writeUInt64(y.value),o.writeVarSlice(y.script)}),a=Ke.hash256(s)}else if((i&31)===te.SIGHASH_SINGLE&&t<this.outs.length){const h=this.outs[t];s=Buffer.allocUnsafe(8+St(h.script)),o=new Be.BufferWriter(s,0),o.writeUInt64(h.value),o.writeVarSlice(h.script),a=Ke.hash256(s)}s=Buffer.allocUnsafe(156+St(r)),o=new Be.BufferWriter(s,0);const l=this.ins[t];return o.writeInt32(this.version),o.writeSlice(c),o.writeSlice(f),o.writeSlice(l.hash),o.writeUInt32(l.index),o.writeVarSlice(r),o.writeUInt64(n),o.writeUInt32(l.sequence),o.writeSlice(a),o.writeUInt32(this.locktime),o.writeUInt32(i),Ke.hash256(s)}getHash(t){return t&&this.isCoinbase()?Buffer.alloc(32,0):Ke.hash256(this.__toBuffer(void 0,void 0,t))}getId(){return(0,Be.reverseBuffer)(this.getHash(!1)).toString("hex")}toBuffer(t,r){return this.__toBuffer(t,r,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(t,r){Et(se.tuple(se.Number,se.Buffer),arguments),this.ins[t].script=r}setWitness(t,r){Et(se.tuple(se.Number,[se.Buffer]),arguments),this.ins[t].witness=r}__toBuffer(t,r,n=!1){t||(t=Buffer.allocUnsafe(this.byteLength(n)));const i=new Be.BufferWriter(t,r||0);i.writeInt32(this.version);const s=n&&this.hasWitnesses();return s&&(i.writeUInt8(te.ADVANCED_TRANSACTION_MARKER),i.writeUInt8(te.ADVANCED_TRANSACTION_FLAG)),i.writeVarInt(this.ins.length),this.ins.forEach(o=>{i.writeSlice(o.hash),i.writeUInt32(o.index),i.writeVarSlice(o.script),i.writeUInt32(o.sequence)}),i.writeVarInt(this.outs.length),this.outs.forEach(o=>{zb(o)?i.writeUInt64(o.value):i.writeSlice(o.valueBuffer),i.writeVarSlice(o.script)}),s&&this.ins.forEach(o=>{i.writeVector(o.witness)}),i.writeUInt32(this.locktime),r!==void 0?t.slice(r,i.offset):t}}Di.Transaction=te;te.DEFAULT_SEQUENCE=4294967295;te.SIGHASH_DEFAULT=0;te.SIGHASH_ALL=1;te.SIGHASH_NONE=2;te.SIGHASH_SINGLE=3;te.SIGHASH_ANYONECANPAY=128;te.SIGHASH_OUTPUT_MASK=3;te.SIGHASH_INPUT_MASK=128;te.ADVANCED_TRANSACTION_MARKER=0;te.ADVANCED_TRANSACTION_FLAG=1;var he={},ji={};Object.defineProperty(ji,"__esModule",{value:!0});const qb=9007199254740991;function gc(e){if(e<0||e>qb||e%1!==0)throw new RangeError("value out of range")}function Yn(e,t,r){if(gc(e),t||(t=Buffer.allocUnsafe(Qd(e))),!Buffer.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");return r||(r=0),e<253?(t.writeUInt8(e,r),Object.assign(Yn,{bytes:1})):e<=65535?(t.writeUInt8(253,r),t.writeUInt16LE(e,r+1),Object.assign(Yn,{bytes:3})):e<=4294967295?(t.writeUInt8(254,r),t.writeUInt32LE(e,r+1),Object.assign(Yn,{bytes:5})):(t.writeUInt8(255,r),t.writeUInt32LE(e>>>0,r+1),t.writeUInt32LE(e/4294967296|0,r+5),Object.assign(Yn,{bytes:9})),t}ji.encode=Yn;function Xn(e,t){if(!Buffer.isBuffer(e))throw new TypeError("buffer must be a Buffer instance");t||(t=0);const r=e.readUInt8(t);if(r<253)return Object.assign(Xn,{bytes:1}),r;if(r===253)return Object.assign(Xn,{bytes:3}),e.readUInt16LE(t+1);if(r===254)return Object.assign(Xn,{bytes:5}),e.readUInt32LE(t+1);{Object.assign(Xn,{bytes:9});const n=e.readUInt32LE(t+1),s=e.readUInt32LE(t+5)*4294967296+n;return gc(s),s}}ji.decode=Xn;function Qd(e){return gc(e),e<253?1:e<=65535?3:e<=4294967295?5:9}ji.encodingLength=Qd;var No={},Ws={},qe={};Object.defineProperty(qe,"__esModule",{value:!0});qe.testnet=qe.regtest=qe.bitcoin=void 0;qe.bitcoin={messagePrefix:`Bitcoin Signed Message:
|
|
47
47
|
`,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};qe.regtest={messagePrefix:`Bitcoin Signed Message:
|
|
48
48
|
`,bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};qe.testnet={messagePrefix:`Bitcoin Signed Message:
|
|
49
|
-
`,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var at={};Object.defineProperty(at,"__esModule",{value:!0});at.value=at.prop=void 0;function qb(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){const n=r.call(this);return this[t]=n,n},set(n){Object.defineProperty(this,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}})}at.prop=qb;function Vb(e){let t;return()=>(t!==void 0||(t=e()),t)}at.value=Vb;Object.defineProperty(Vs,"__esModule",{value:!0});Vs.p2data=void 0;const Wb=qe,hs=ut(),Et=Ve,yu=at,mu=hs.OPS;function Kb(e,t){if(!e.data&&!e.output)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,Et.typeforce)({network:Et.typeforce.maybe(Et.typeforce.Object),output:Et.typeforce.maybe(Et.typeforce.Buffer),data:Et.typeforce.maybe(Et.typeforce.arrayOf(Et.typeforce.Buffer))},e);const n={name:"embed",network:e.network||Wb.bitcoin};if(yu.prop(n,"output",()=>{if(e.data)return hs.compile([mu.OP_RETURN].concat(e.data))}),yu.prop(n,"data",()=>{if(e.output)return hs.decompile(e.output).slice(1)}),t.validate&&e.output){const i=hs.decompile(e.output);if(i[0]!==mu.OP_RETURN)throw new TypeError("Output is invalid");if(!i.slice(1).every(Et.typeforce.Buffer))throw new TypeError("Output is invalid");if(e.data&&!(0,Et.stacksEqual)(e.data,n.data))throw new TypeError("Data mismatch")}return Object.assign(n,e)}Vs.p2data=Kb;var Ws={};Object.defineProperty(Ws,"__esModule",{value:!0});Ws.p2ms=void 0;const Yb=qe,Qr=ut(),ke=Ve,ar=at,Zr=Qr.OPS,es=Zr.OP_RESERVED;function Xb(e,t){if(!e.input&&!e.output&&!(e.pubkeys&&e.m!==void 0)&&!e.signatures)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{});function r(c){return Qr.isCanonicalScriptSignature(c)||(t.allowIncomplete&&c===Zr.OP_0)!==void 0}(0,ke.typeforce)({network:ke.typeforce.maybe(ke.typeforce.Object),m:ke.typeforce.maybe(ke.typeforce.Number),n:ke.typeforce.maybe(ke.typeforce.Number),output:ke.typeforce.maybe(ke.typeforce.Buffer),pubkeys:ke.typeforce.maybe(ke.typeforce.arrayOf(ke.isPoint)),signatures:ke.typeforce.maybe(ke.typeforce.arrayOf(r)),input:ke.typeforce.maybe(ke.typeforce.Buffer)},e);const i={network:e.network||Yb.bitcoin};let s=[],o=!1;function a(c){o||(o=!0,s=Qr.decompile(c),i.m=s[0]-es,i.n=s[s.length-2]-es,i.pubkeys=s.slice(1,-2))}if(ar.prop(i,"output",()=>{if(e.m&&i.n&&e.pubkeys)return Qr.compile([].concat(es+e.m,e.pubkeys,es+i.n,Zr.OP_CHECKMULTISIG))}),ar.prop(i,"m",()=>{if(i.output)return a(i.output),i.m}),ar.prop(i,"n",()=>{if(i.pubkeys)return i.pubkeys.length}),ar.prop(i,"pubkeys",()=>{if(e.output)return a(e.output),i.pubkeys}),ar.prop(i,"signatures",()=>{if(e.input)return Qr.decompile(e.input).slice(1)}),ar.prop(i,"input",()=>{if(e.signatures)return Qr.compile([Zr.OP_0].concat(e.signatures))}),ar.prop(i,"witness",()=>{if(i.input)return[]}),ar.prop(i,"name",()=>{if(!(!i.m||!i.n))return`p2ms(${i.m} of ${i.n})`}),t.validate){if(e.output){if(a(e.output),!ke.typeforce.Number(s[0]))throw new TypeError("Output is invalid");if(!ke.typeforce.Number(s[s.length-2]))throw new TypeError("Output is invalid");if(s[s.length-1]!==Zr.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(i.m<=0||i.n>16||i.m>i.n||i.n!==s.length-3)throw new TypeError("Output is invalid");if(!i.pubkeys.every(c=>(0,ke.isPoint)(c)))throw new TypeError("Output is invalid");if(e.m!==void 0&&e.m!==i.m)throw new TypeError("m mismatch");if(e.n!==void 0&&e.n!==i.n)throw new TypeError("n mismatch");if(e.pubkeys&&!(0,ke.stacksEqual)(e.pubkeys,i.pubkeys))throw new TypeError("Pubkeys mismatch")}if(e.pubkeys){if(e.n!==void 0&&e.n!==e.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(i.n=e.pubkeys.length,i.n<i.m)throw new TypeError("Pubkey count cannot be less than m")}if(e.signatures){if(e.signatures.length<i.m)throw new TypeError("Not enough signatures provided");if(e.signatures.length>i.m)throw new TypeError("Too many signatures provided")}if(e.input){if(e.input[0]!==Zr.OP_0)throw new TypeError("Input is invalid");if(i.signatures.length===0||!i.signatures.every(r))throw new TypeError("Input has invalid signature(s)");if(e.signatures&&!(0,ke.stacksEqual)(e.signatures,i.signatures))throw new TypeError("Signature mismatch");if(e.m!==void 0&&e.m!==e.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(i,e)}Ws.p2ms=Xb;var Ks={};Object.defineProperty(Ks,"__esModule",{value:!0});Ks.p2pk=void 0;const Jb=qe,en=ut(),bt=Ve,Xr=at,bu=en.OPS;function Qb(e,t){if(!e.input&&!e.output&&!e.pubkey&&!e.input&&!e.signature)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,bt.typeforce)({network:bt.typeforce.maybe(bt.typeforce.Object),output:bt.typeforce.maybe(bt.typeforce.Buffer),pubkey:bt.typeforce.maybe(bt.isPoint),signature:bt.typeforce.maybe(en.isCanonicalScriptSignature),input:bt.typeforce.maybe(bt.typeforce.Buffer)},e);const r=Xr.value(()=>en.decompile(e.input)),i={name:"p2pk",network:e.network||Jb.bitcoin};if(Xr.prop(i,"output",()=>{if(e.pubkey)return en.compile([e.pubkey,bu.OP_CHECKSIG])}),Xr.prop(i,"pubkey",()=>{if(e.output)return e.output.slice(1,-1)}),Xr.prop(i,"signature",()=>{if(e.input)return r()[0]}),Xr.prop(i,"input",()=>{if(e.signature)return en.compile([e.signature])}),Xr.prop(i,"witness",()=>{if(i.input)return[]}),t.validate){if(e.output){if(e.output[e.output.length-1]!==bu.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,bt.isPoint)(i.pubkey))throw new TypeError("Output pubkey is invalid");if(e.pubkey&&!e.pubkey.equals(i.pubkey))throw new TypeError("Pubkey mismatch")}if(e.signature&&e.input&&!e.input.equals(i.input))throw new TypeError("Signature mismatch");if(e.input){if(r().length!==1)throw new TypeError("Input is invalid");if(!en.isCanonicalScriptSignature(i.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(i,e)}Ks.p2pk=Qb;var Ys={};function Zb(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var o=e.length,a=e.charAt(0),c=Math.log(o)/Math.log(256),f=Math.log(256)/Math.log(o);function l(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var g=0,_=0,x=0,k=p.length;x!==k&&p[x]===0;)x++,g++;for(var T=(k-x)*f+1>>>0,A=new Uint8Array(T);x!==k;){for(var E=p[x],I=0,S=T-1;(E!==0||I<_)&&S!==-1;S--,I++)E+=256*A[S]>>>0,A[S]=E%o>>>0,E=E/o>>>0;if(E!==0)throw new Error("Non-zero carry");_=I,x++}for(var N=T-_;N!==T&&A[N]===0;)N++;for(var $=a.repeat(g);N<T;++N)$+=e.charAt(A[N]);return $}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;for(var g=0,_=0,x=0;p[g]===a;)_++,g++;for(var k=(p.length-g)*c+1>>>0,T=new Uint8Array(k);p[g];){var A=p.charCodeAt(g);if(A>255)return;var E=t[A];if(E===255)return;for(var I=0,S=k-1;(E!==0||I<x)&&S!==-1;S--,I++)E+=o*T[S]>>>0,T[S]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");x=I,g++}for(var N=k-x;N!==k&&T[N]===0;)N++;for(var $=new Uint8Array(_+(k-N)),B=_;N!==k;)$[B++]=T[N++];return $}function y(p){var g=h(p);if(g)return g;throw new Error("Non-base"+o+" character")}return{encode:l,decodeUnsafe:h,decode:y}}var eg=Zb;const tg=eg,rg="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var ng=tg(rg),No=ng,ig=function(e){function t(s){var o=Uint8Array.from(s),a=e(o),c=o.length+4,f=new Uint8Array(c);return f.set(o,0),f.set(a.subarray(0,4),o.length),No.encode(f,c)}function r(s){var o=s.slice(0,-4),a=s.slice(-4),c=e(o);if(!(a[0]^c[0]|a[1]^c[1]|a[2]^c[2]|a[3]^c[3]))return o}function n(s){var o=No.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=No.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},{sha256:gu}=Gt,sg=ig;function og(e){return gu(gu(e))}var gc=sg(og);Object.defineProperty(Ys,"__esModule",{value:!0});Ys.p2pkh=void 0;const Lo=vr,ag=qe,tn=ut(),Ye=Ve,Nt=at,wu=gc,cr=tn.OPS;function cg(e,t){if(!e.address&&!e.hash&&!e.output&&!e.pubkey&&!e.input)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,Ye.typeforce)({network:Ye.typeforce.maybe(Ye.typeforce.Object),address:Ye.typeforce.maybe(Ye.typeforce.String),hash:Ye.typeforce.maybe(Ye.typeforce.BufferN(20)),output:Ye.typeforce.maybe(Ye.typeforce.BufferN(25)),pubkey:Ye.typeforce.maybe(Ye.isPoint),signature:Ye.typeforce.maybe(tn.isCanonicalScriptSignature),input:Ye.typeforce.maybe(Ye.typeforce.Buffer)},e);const r=Nt.value(()=>{const o=Buffer.from(wu.decode(e.address)),a=o.readUInt8(0),c=o.slice(1);return{version:a,hash:c}}),n=Nt.value(()=>tn.decompile(e.input)),i=e.network||ag.bitcoin,s={name:"p2pkh",network:i};if(Nt.prop(s,"address",()=>{if(!s.hash)return;const o=Buffer.allocUnsafe(21);return o.writeUInt8(i.pubKeyHash,0),s.hash.copy(o,1),wu.encode(o)}),Nt.prop(s,"hash",()=>{if(e.output)return e.output.slice(3,23);if(e.address)return r().hash;if(e.pubkey||s.pubkey)return Lo.hash160(e.pubkey||s.pubkey)}),Nt.prop(s,"output",()=>{if(s.hash)return tn.compile([cr.OP_DUP,cr.OP_HASH160,s.hash,cr.OP_EQUALVERIFY,cr.OP_CHECKSIG])}),Nt.prop(s,"pubkey",()=>{if(e.input)return n()[1]}),Nt.prop(s,"signature",()=>{if(e.input)return n()[0]}),Nt.prop(s,"input",()=>{if(e.pubkey&&e.signature)return tn.compile([e.signature,e.pubkey])}),Nt.prop(s,"witness",()=>{if(s.input)return[]}),t.validate){let o=Buffer.from([]);if(e.address){if(r().version!==i.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(r().hash.length!==20)throw new TypeError("Invalid address");o=r().hash}if(e.hash){if(o.length>0&&!o.equals(e.hash))throw new TypeError("Hash mismatch");o=e.hash}if(e.output){if(e.output.length!==25||e.output[0]!==cr.OP_DUP||e.output[1]!==cr.OP_HASH160||e.output[2]!==20||e.output[23]!==cr.OP_EQUALVERIFY||e.output[24]!==cr.OP_CHECKSIG)throw new TypeError("Output is invalid");const a=e.output.slice(3,23);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.pubkey){const a=Lo.hash160(e.pubkey);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.input){const a=n();if(a.length!==2)throw new TypeError("Input is invalid");if(!tn.isCanonicalScriptSignature(a[0]))throw new TypeError("Input has invalid signature");if(!(0,Ye.isPoint)(a[1]))throw new TypeError("Input has invalid pubkey");if(e.signature&&!e.signature.equals(a[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(a[1]))throw new TypeError("Pubkey mismatch");const c=Lo.hash160(a[1]);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch")}}return Object.assign(s,e)}Ys.p2pkh=cg;var Xs={};Object.defineProperty(Xs,"__esModule",{value:!0});Xs.p2sh=void 0;const _u=vr,ug=qe,St=ut(),be=Ve,xt=at,vu=gc,Nn=St.OPS;function fg(e,t){if(!e.address&&!e.hash&&!e.output&&!e.redeem&&!e.input)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,be.typeforce)({network:be.typeforce.maybe(be.typeforce.Object),address:be.typeforce.maybe(be.typeforce.String),hash:be.typeforce.maybe(be.typeforce.BufferN(20)),output:be.typeforce.maybe(be.typeforce.BufferN(23)),redeem:be.typeforce.maybe({network:be.typeforce.maybe(be.typeforce.Object),output:be.typeforce.maybe(be.typeforce.Buffer),input:be.typeforce.maybe(be.typeforce.Buffer),witness:be.typeforce.maybe(be.typeforce.arrayOf(be.typeforce.Buffer))}),input:be.typeforce.maybe(be.typeforce.Buffer),witness:be.typeforce.maybe(be.typeforce.arrayOf(be.typeforce.Buffer))},e);let r=e.network;r||(r=e.redeem&&e.redeem.network||ug.bitcoin);const n={network:r},i=xt.value(()=>{const a=Buffer.from(vu.decode(e.address)),c=a.readUInt8(0),f=a.slice(1);return{version:c,hash:f}}),s=xt.value(()=>St.decompile(e.input)),o=xt.value(()=>{const a=s(),c=a[a.length-1];return{network:r,output:c===Nn.OP_FALSE?Buffer.from([]):c,input:St.compile(a.slice(0,-1)),witness:e.witness||[]}});if(xt.prop(n,"address",()=>{if(!n.hash)return;const a=Buffer.allocUnsafe(21);return a.writeUInt8(n.network.scriptHash,0),n.hash.copy(a,1),vu.encode(a)}),xt.prop(n,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return i().hash;if(n.redeem&&n.redeem.output)return _u.hash160(n.redeem.output)}),xt.prop(n,"output",()=>{if(n.hash)return St.compile([Nn.OP_HASH160,n.hash,Nn.OP_EQUAL])}),xt.prop(n,"redeem",()=>{if(e.input)return o()}),xt.prop(n,"input",()=>{if(!(!e.redeem||!e.redeem.input||!e.redeem.output))return St.compile([].concat(St.decompile(e.redeem.input),e.redeem.output))}),xt.prop(n,"witness",()=>{if(n.redeem&&n.redeem.witness)return n.redeem.witness;if(n.input)return[]}),xt.prop(n,"name",()=>{const a=["p2sh"];return n.redeem!==void 0&&n.redeem.name!==void 0&&a.push(n.redeem.name),a.join("-")}),t.validate){let a=Buffer.from([]);if(e.address){if(i().version!==r.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(i().hash.length!==20)throw new TypeError("Invalid address");a=i().hash}if(e.hash){if(a.length>0&&!a.equals(e.hash))throw new TypeError("Hash mismatch");a=e.hash}if(e.output){if(e.output.length!==23||e.output[0]!==Nn.OP_HASH160||e.output[1]!==20||e.output[22]!==Nn.OP_EQUAL)throw new TypeError("Output is invalid");const f=e.output.slice(2,22);if(a.length>0&&!a.equals(f))throw new TypeError("Hash mismatch");a=f}const c=f=>{if(f.output){const l=St.decompile(f.output);if(!l||l.length<1)throw new TypeError("Redeem.output too short");if(f.output.byteLength>520)throw new TypeError("Redeem.output unspendable if larger than 520 bytes");if(St.countNonPushOnlyOPs(l)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const h=_u.hash160(f.output);if(a.length>0&&!a.equals(h))throw new TypeError("Hash mismatch");a=h}if(f.input){const l=f.input.length>0,h=f.witness&&f.witness.length>0;if(!l&&!h)throw new TypeError("Empty input");if(l&&h)throw new TypeError("Input and witness provided");if(l){const y=St.decompile(f.input);if(!St.isPushOnly(y))throw new TypeError("Non push-only scriptSig")}}};if(e.input){const f=s();if(!f||f.length<1)throw new TypeError("Input too short");if(!Buffer.isBuffer(o().output))throw new TypeError("Input is invalid");c(o())}if(e.redeem){if(e.redeem.network&&e.redeem.network!==r)throw new TypeError("Network mismatch");if(e.input){const f=o();if(e.redeem.output&&!e.redeem.output.equals(f.output))throw new TypeError("Redeem.output mismatch");if(e.redeem.input&&!e.redeem.input.equals(f.input))throw new TypeError("Redeem.input mismatch")}c(e.redeem)}if(e.witness&&e.redeem&&e.redeem.witness&&!(0,be.stacksEqual)(e.redeem.witness,e.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(n,e)}Xs.p2sh=fg;var Js={},Yt={};Object.defineProperty(Yt,"__esModule",{value:!0});Yt.bech32m=Yt.bech32=void 0;const As="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Qd={};for(let e=0;e<As.length;e++){const t=As.charAt(e);Qd[t]=e}function un(e){const t=e>>25;return(e&33554431)<<5^-(t>>0&1)&996825010^-(t>>1&1)&642813549^-(t>>2&1)&513874426^-(t>>3&1)&1027748829^-(t>>4&1)&705979059}function Eu(e){let t=1;for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);if(n<33||n>126)return"Invalid prefix ("+e+")";t=un(t)^n>>5}t=un(t);for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);t=un(t)^n&31}return t}function wc(e,t,r,n){let i=0,s=0;const o=(1<<r)-1,a=[];for(let c=0;c<e.length;++c)for(i=i<<t|e[c],s+=t;s>=r;)s-=r,a.push(i>>s&o);if(n)s>0&&a.push(i<<r-s&o);else{if(s>=t)return"Excess padding";if(i<<r-s&o)return"Non-zero padding"}return a}function dg(e){return wc(e,8,5,!0)}function lg(e){const t=wc(e,5,8,!1);if(Array.isArray(t))return t}function hg(e){const t=wc(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}function Zd(e){let t;e==="bech32"?t=1:t=734539939;function r(o,a,c){if(c=c||90,o.length+7+a.length>c)throw new TypeError("Exceeds length limit");o=o.toLowerCase();let f=Eu(o);if(typeof f=="string")throw new Error(f);let l=o+"1";for(let h=0;h<a.length;++h){const y=a[h];if(y>>5)throw new Error("Non 5-bit word");f=un(f)^y,l+=As.charAt(y)}for(let h=0;h<6;++h)f=un(f);f^=t;for(let h=0;h<6;++h){const y=f>>(5-h)*5&31;l+=As.charAt(y)}return l}function n(o,a){if(a=a||90,o.length<8)return o+" too short";if(o.length>a)return"Exceeds length limit";const c=o.toLowerCase(),f=o.toUpperCase();if(o!==c&&o!==f)return"Mixed-case string "+o;o=c;const l=o.lastIndexOf("1");if(l===-1)return"No separator character for "+o;if(l===0)return"Missing prefix for "+o;const h=o.slice(0,l),y=o.slice(l+1);if(y.length<6)return"Data too short";let p=Eu(h);if(typeof p=="string")return p;const g=[];for(let _=0;_<y.length;++_){const x=y.charAt(_),k=Qd[x];if(k===void 0)return"Unknown character "+x;p=un(p)^k,!(_+6>=y.length)&&g.push(k)}return p!==t?"Invalid checksum for "+o:{prefix:h,words:g}}function i(o,a){const c=n(o,a);if(typeof c=="object")return c}function s(o,a){const c=n(o,a);if(typeof c=="object")return c;throw new Error(c)}return{decodeUnsafe:i,decode:s,encode:r,toWords:dg,fromWordsUnsafe:lg,fromWords:hg}}Yt.bech32=Zd("bech32");Yt.bech32m=Zd("bech32m");Object.defineProperty(Js,"__esModule",{value:!0});Js.p2wpkh=void 0;const Mo=vr,pg=qe,ps=ut(),Re=Ve,ur=at,ts=Yt,xu=ps.OPS,yg=Buffer.alloc(0);function mg(e,t){if(!e.address&&!e.hash&&!e.output&&!e.pubkey&&!e.witness)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,Re.typeforce)({address:Re.typeforce.maybe(Re.typeforce.String),hash:Re.typeforce.maybe(Re.typeforce.BufferN(20)),input:Re.typeforce.maybe(Re.typeforce.BufferN(0)),network:Re.typeforce.maybe(Re.typeforce.Object),output:Re.typeforce.maybe(Re.typeforce.BufferN(22)),pubkey:Re.typeforce.maybe(Re.isPoint),signature:Re.typeforce.maybe(ps.isCanonicalScriptSignature),witness:Re.typeforce.maybe(Re.typeforce.arrayOf(Re.typeforce.Buffer))},e);const r=ur.value(()=>{const s=ts.bech32.decode(e.address),o=s.words.shift(),a=ts.bech32.fromWords(s.words);return{version:o,prefix:s.prefix,data:Buffer.from(a)}}),n=e.network||pg.bitcoin,i={name:"p2wpkh",network:n};if(ur.prop(i,"address",()=>{if(!i.hash)return;const s=ts.bech32.toWords(i.hash);return s.unshift(0),ts.bech32.encode(n.bech32,s)}),ur.prop(i,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return r().data;if(e.pubkey||i.pubkey)return Mo.hash160(e.pubkey||i.pubkey)}),ur.prop(i,"output",()=>{if(i.hash)return ps.compile([xu.OP_0,i.hash])}),ur.prop(i,"pubkey",()=>{if(e.pubkey)return e.pubkey;if(e.witness)return e.witness[1]}),ur.prop(i,"signature",()=>{if(e.witness)return e.witness[0]}),ur.prop(i,"input",()=>{if(i.witness)return yg}),ur.prop(i,"witness",()=>{if(e.pubkey&&e.signature)return[e.signature,e.pubkey]}),t.validate){let s=Buffer.from([]);if(e.address){if(n&&n.bech32!==r().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(r().version!==0)throw new TypeError("Invalid address version");if(r().data.length!==20)throw new TypeError("Invalid address data");s=r().data}if(e.hash){if(s.length>0&&!s.equals(e.hash))throw new TypeError("Hash mismatch");s=e.hash}if(e.output){if(e.output.length!==22||e.output[0]!==xu.OP_0||e.output[1]!==20)throw new TypeError("Output is invalid");if(s.length>0&&!s.equals(e.output.slice(2)))throw new TypeError("Hash mismatch");s=e.output.slice(2)}if(e.pubkey){const o=Mo.hash160(e.pubkey);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch");if(s=o,!(0,Re.isPoint)(e.pubkey)||e.pubkey.length!==33)throw new TypeError("Invalid pubkey for p2wpkh")}if(e.witness){if(e.witness.length!==2)throw new TypeError("Witness is invalid");if(!ps.isCanonicalScriptSignature(e.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,Re.isPoint)(e.witness[1])||e.witness[1].length!==33)throw new TypeError("Witness has invalid pubkey");if(e.signature&&!e.signature.equals(e.witness[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(e.witness[1]))throw new TypeError("Pubkey mismatch");const o=Mo.hash160(e.witness[1]);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch")}}return Object.assign(i,e)}Js.p2wpkh=mg;var Qs={};Object.defineProperty(Qs,"__esModule",{value:!0});Qs.p2wsh=void 0;const Au=vr,bg=qe,$t=ut(),ye=Ve,Lt=at,rs=Yt,Su=$t.OPS,$o=Buffer.alloc(0);function ns(e){return!!(Buffer.isBuffer(e)&&e.length===65&&e[0]===4&&(0,ye.isPoint)(e))}function gg(e,t){if(!e.address&&!e.hash&&!e.output&&!e.redeem&&!e.witness)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,ye.typeforce)({network:ye.typeforce.maybe(ye.typeforce.Object),address:ye.typeforce.maybe(ye.typeforce.String),hash:ye.typeforce.maybe(ye.typeforce.BufferN(32)),output:ye.typeforce.maybe(ye.typeforce.BufferN(34)),redeem:ye.typeforce.maybe({input:ye.typeforce.maybe(ye.typeforce.Buffer),network:ye.typeforce.maybe(ye.typeforce.Object),output:ye.typeforce.maybe(ye.typeforce.Buffer),witness:ye.typeforce.maybe(ye.typeforce.arrayOf(ye.typeforce.Buffer))}),input:ye.typeforce.maybe(ye.typeforce.BufferN(0)),witness:ye.typeforce.maybe(ye.typeforce.arrayOf(ye.typeforce.Buffer))},e);const r=Lt.value(()=>{const o=rs.bech32.decode(e.address),a=o.words.shift(),c=rs.bech32.fromWords(o.words);return{version:a,prefix:o.prefix,data:Buffer.from(c)}}),n=Lt.value(()=>$t.decompile(e.redeem.input));let i=e.network;i||(i=e.redeem&&e.redeem.network||bg.bitcoin);const s={network:i};if(Lt.prop(s,"address",()=>{if(!s.hash)return;const o=rs.bech32.toWords(s.hash);return o.unshift(0),rs.bech32.encode(i.bech32,o)}),Lt.prop(s,"hash",()=>{if(e.output)return e.output.slice(2);if(e.address)return r().data;if(s.redeem&&s.redeem.output)return Au.sha256(s.redeem.output)}),Lt.prop(s,"output",()=>{if(s.hash)return $t.compile([Su.OP_0,s.hash])}),Lt.prop(s,"redeem",()=>{if(e.witness)return{output:e.witness[e.witness.length-1],input:$o,witness:e.witness.slice(0,-1)}}),Lt.prop(s,"input",()=>{if(s.witness)return $o}),Lt.prop(s,"witness",()=>{if(e.redeem&&e.redeem.input&&e.redeem.input.length>0&&e.redeem.output&&e.redeem.output.length>0){const o=$t.toStack(n());return s.redeem=Object.assign({witness:o},e.redeem),s.redeem.input=$o,[].concat(o,e.redeem.output)}if(e.redeem&&e.redeem.output&&e.redeem.witness)return[].concat(e.redeem.witness,e.redeem.output)}),Lt.prop(s,"name",()=>{const o=["p2wsh"];return s.redeem!==void 0&&s.redeem.name!==void 0&&o.push(s.redeem.name),o.join("-")}),t.validate){let o=Buffer.from([]);if(e.address){if(r().prefix!==i.bech32)throw new TypeError("Invalid prefix or Network mismatch");if(r().version!==0)throw new TypeError("Invalid address version");if(r().data.length!==32)throw new TypeError("Invalid address data");o=r().data}if(e.hash){if(o.length>0&&!o.equals(e.hash))throw new TypeError("Hash mismatch");o=e.hash}if(e.output){if(e.output.length!==34||e.output[0]!==Su.OP_0||e.output[1]!==32)throw new TypeError("Output is invalid");const a=e.output.slice(2);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.redeem){if(e.redeem.network&&e.redeem.network!==i)throw new TypeError("Network mismatch");if(e.redeem.input&&e.redeem.input.length>0&&e.redeem.witness&&e.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(e.redeem.output){const a=$t.decompile(e.redeem.output);if(!a||a.length<1)throw new TypeError("Redeem.output is invalid");if(e.redeem.output.byteLength>3600)throw new TypeError("Redeem.output unspendable if larger than 3600 bytes");if($t.countNonPushOnlyOPs(a)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const c=Au.sha256(e.redeem.output);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch");o=c}if(e.redeem.input&&!$t.isPushOnly(n()))throw new TypeError("Non push-only scriptSig");if(e.witness&&e.redeem.witness&&!(0,ye.stacksEqual)(e.witness,e.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(e.redeem.input&&n().some(ns)||e.redeem.output&&($t.decompile(e.redeem.output)||[]).some(ns))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(e.witness&&e.witness.length>0){const a=e.witness[e.witness.length-1];if(e.redeem&&e.redeem.output&&!e.redeem.output.equals(a))throw new TypeError("Witness and redeem.output mismatch");if(e.witness.some(ns)||($t.decompile(a)||[]).some(ns))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(s,e)}Qs.p2wsh=gg;var Ln={},$r={};Object.defineProperty($r,"__esModule",{value:!0});$r.getEccLib=$r.initEccLib=void 0;const Xn={};function wg(e,t){e?e!==Xn.eccLib&&(t!=null&&t.DANGER_DO_NOT_VERIFY_ECCLIB||vg(e),Xn.eccLib=e):Xn.eccLib=e}$r.initEccLib=wg;function _g(){if(!Xn.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return Xn.eccLib}$r.getEccLib=_g;const Mt=e=>Buffer.from(e,"hex");function vg(e){dt(typeof e.isXOnlyPoint=="function"),dt(e.isXOnlyPoint(Mt("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),dt(e.isXOnlyPoint(Mt("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),dt(e.isXOnlyPoint(Mt("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),dt(e.isXOnlyPoint(Mt("0000000000000000000000000000000000000000000000000000000000000001"))),dt(!e.isXOnlyPoint(Mt("0000000000000000000000000000000000000000000000000000000000000000"))),dt(!e.isXOnlyPoint(Mt("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),dt(typeof e.xOnlyPointAddTweak=="function"),Eg.forEach(t=>{const r=e.xOnlyPointAddTweak(Mt(t.pubkey),Mt(t.tweak));t.result===null?dt(r===null):(dt(r!==null),dt(r.parity===t.parity),dt(Buffer.from(r.xOnlyPubkey).equals(Mt(t.result))))})}function dt(e){if(!e)throw new Error("ecc library invalid")}const Eg=[{pubkey:"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",tweak:"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",parity:-1,result:null},{pubkey:"1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b",tweak:"a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac",parity:1,result:"e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"},{pubkey:"2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991",tweak:"823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47",parity:0,result:"9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"}];var _c={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.tweakKey=e.tapTweakHash=e.tapleafHash=e.findScriptPath=e.toHashTree=e.rootHashFromPath=e.MAX_TAPTREE_DEPTH=e.LEAF_VERSION_TAPSCRIPT=void 0;const t=Zt,r=$r,n=vr,i=$e,s=Ve;e.LEAF_VERSION_TAPSCRIPT=192,e.MAX_TAPTREE_DEPTH=128;const o=_=>"left"in _&&"right"in _;function a(_,x){if(_.length<33)throw new TypeError(`The control-block length is too small. Got ${_.length}, expected min 33.`);const k=(_.length-33)/32;let T=x;for(let A=0;A<k;A++){const E=_.slice(33+32*A,65+32*A);T.compare(E)<0?T=p(T,E):T=p(E,T)}return T}e.rootHashFromPath=a;function c(_){if((0,s.isTapleaf)(_))return{hash:l(_)};const x=[c(_[0]),c(_[1])];x.sort((A,E)=>A.hash.compare(E.hash));const[k,T]=x;return{hash:p(k.hash,T.hash),left:k,right:T}}e.toHashTree=c;function f(_,x){if(o(_)){const k=f(_.left,x);if(k!==void 0)return[...k,_.right.hash];const T=f(_.right,x);if(T!==void 0)return[...T,_.left.hash]}else if(_.hash.equals(x))return[]}e.findScriptPath=f;function l(_){const x=_.version||e.LEAF_VERSION_TAPSCRIPT;return n.taggedHash("TapLeaf",t.Buffer.concat([t.Buffer.from([x]),g(_.output)]))}e.tapleafHash=l;function h(_,x){return n.taggedHash("TapTweak",t.Buffer.concat(x?[_,x]:[_]))}e.tapTweakHash=h;function y(_,x){if(!t.Buffer.isBuffer(_)||_.length!==32||x&&x.length!==32)return null;const k=h(_,x),T=(0,r.getEccLib)().xOnlyPointAddTweak(_,k);return!T||T.xOnlyPubkey===null?null:{parity:T.parity,x:t.Buffer.from(T.xOnlyPubkey)}}e.tweakKey=y;function p(_,x){return n.taggedHash("TapBranch",t.Buffer.concat([_,x]))}function g(_){const x=i.varuint.encodingLength(_.length),k=t.Buffer.allocUnsafe(x);return i.varuint.encode(_.length,k),t.Buffer.concat([k,_])}})(_c);var Xe={},Pu;function xg(){if(Pu)return Xe;Pu=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.toOutputScript=Xe.fromOutputScript=Xe.toBech32=Xe.toBase58Check=Xe.fromBech32=Xe.fromBase58Check=void 0;const e=qe,t=vc(),r=ut(),n=Ve,i=Yt,s=gc,o=40,a=2,c=16,f=2,l=80,h="WARNING: Sending to a future segwit version address can lead to loss of funds. End users MUST be warned carefully in the GUI and asked if they wish to proceed with caution. Wallets should verify the segwit version from the output of fromBech32, then decide when it is safe to use which version of segwit.";function y(A,E){const I=A.slice(2);if(I.length<a||I.length>o)throw new TypeError("Invalid program length for segwit address");const S=A[0]-l;if(S<f||S>c)throw new TypeError("Invalid version for segwit address");if(A[1]!==I.length)throw new TypeError("Invalid script for segwit address");return console.warn(h),x(I,S,E.bech32)}function p(A){const E=Buffer.from(s.decode(A));if(E.length<21)throw new TypeError(A+" is too short");if(E.length>21)throw new TypeError(A+" is too long");const I=E.readUInt8(0),S=E.slice(1);return{version:I,hash:S}}Xe.fromBase58Check=p;function g(A){let E,I;try{E=i.bech32.decode(A)}catch{}if(E){if(I=E.words[0],I!==0)throw new TypeError(A+" uses wrong encoding")}else if(E=i.bech32m.decode(A),I=E.words[0],I===0)throw new TypeError(A+" uses wrong encoding");const S=i.bech32.fromWords(E.words.slice(1));return{version:I,prefix:E.prefix,data:Buffer.from(S)}}Xe.fromBech32=g;function _(A,E){(0,n.typeforce)((0,n.tuple)(n.Hash160bit,n.UInt8),arguments);const I=Buffer.allocUnsafe(21);return I.writeUInt8(E,0),A.copy(I,1),s.encode(I)}Xe.toBase58Check=_;function x(A,E,I){const S=i.bech32.toWords(A);return S.unshift(E),E===0?i.bech32.encode(I,S):i.bech32m.encode(I,S)}Xe.toBech32=x;function k(A,E){E=E||e.bitcoin;try{return t.p2pkh({output:A,network:E}).address}catch{}try{return t.p2sh({output:A,network:E}).address}catch{}try{return t.p2wpkh({output:A,network:E}).address}catch{}try{return t.p2wsh({output:A,network:E}).address}catch{}try{return t.p2tr({output:A,network:E}).address}catch{}try{return y(A,E)}catch{}throw new Error(r.toASM(A)+" has no matching Address")}Xe.fromOutputScript=k;function T(A,E){E=E||e.bitcoin;let I,S;try{I=p(A)}catch{}if(I){if(I.version===E.pubKeyHash)return t.p2pkh({hash:I.hash}).output;if(I.version===E.scriptHash)return t.p2sh({hash:I.hash}).output}else{try{S=g(A)}catch{}if(S){if(S.prefix!==E.bech32)throw new Error(A+" has an invalid prefix");if(S.version===0){if(S.data.length===20)return t.p2wpkh({hash:S.data}).output;if(S.data.length===32)return t.p2wsh({hash:S.data}).output}else if(S.version===1){if(S.data.length===32)return t.p2tr({pubkey:S.data}).output}else if(S.version>=f&&S.version<=c&&S.data.length>=a&&S.data.length<=o)return console.warn(h),r.compile([S.version+l,S.data])}}throw new Error(A+" has no matching Script")}return Xe.toOutputScript=T,Xe}var Tu;function Ag(){if(Tu)return Ln;Tu=1,Object.defineProperty(Ln,"__esModule",{value:!0}),Ln.p2tr=void 0;const e=Zt,t=qe,r=ut(),n=Ve,i=$r,s=_c,o=at,a=Yt,c=xg(),f=r.OPS,l=1,h=80;function y(p,g){if(!p.address&&!p.output&&!p.pubkey&&!p.internalPubkey&&!(p.witness&&p.witness.length>1))throw new TypeError("Not enough data");g=Object.assign({validate:!0},g||{}),(0,n.typeforce)({address:n.typeforce.maybe(n.typeforce.String),input:n.typeforce.maybe(n.typeforce.BufferN(0)),network:n.typeforce.maybe(n.typeforce.Object),output:n.typeforce.maybe(n.typeforce.BufferN(34)),internalPubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),hash:n.typeforce.maybe(n.typeforce.BufferN(32)),pubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),signature:n.typeforce.maybe(n.typeforce.anyOf(n.typeforce.BufferN(64),n.typeforce.BufferN(65))),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer)),scriptTree:n.typeforce.maybe(n.isTaptree),redeem:n.typeforce.maybe({output:n.typeforce.maybe(n.typeforce.Buffer),redeemVersion:n.typeforce.maybe(n.typeforce.Number),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer))}),redeemVersion:n.typeforce.maybe(n.typeforce.Number)},p);const _=o.value(()=>(0,c.fromBech32)(p.address)),x=o.value(()=>{if(!(!p.witness||!p.witness.length))return p.witness.length>=2&&p.witness[p.witness.length-1][0]===h?p.witness.slice(0,-1):p.witness.slice()}),k=o.value(()=>{if(p.scriptTree)return(0,s.toHashTree)(p.scriptTree);if(p.hash)return{hash:p.hash}}),T=p.network||t.bitcoin,A={name:"p2tr",network:T};if(o.prop(A,"address",()=>{if(!A.pubkey)return;const E=a.bech32m.toWords(A.pubkey);return E.unshift(l),a.bech32m.encode(T.bech32,E)}),o.prop(A,"hash",()=>{const E=k();if(E)return E.hash;const I=x();if(I&&I.length>1){const S=I[I.length-1],N=S[0]&n.TAPLEAF_VERSION_MASK,$=I[I.length-2],B=(0,s.tapleafHash)({output:$,version:N});return(0,s.rootHashFromPath)(S,B)}return null}),o.prop(A,"output",()=>{if(A.pubkey)return r.compile([f.OP_1,A.pubkey])}),o.prop(A,"redeemVersion",()=>p.redeemVersion?p.redeemVersion:p.redeem&&p.redeem.redeemVersion!==void 0&&p.redeem.redeemVersion!==null?p.redeem.redeemVersion:s.LEAF_VERSION_TAPSCRIPT),o.prop(A,"redeem",()=>{const E=x();if(!(!E||E.length<2))return{output:E[E.length-2],witness:E.slice(0,-2),redeemVersion:E[E.length-1][0]&n.TAPLEAF_VERSION_MASK}}),o.prop(A,"pubkey",()=>{if(p.pubkey)return p.pubkey;if(p.output)return p.output.slice(2);if(p.address)return _().data;if(A.internalPubkey){const E=(0,s.tweakKey)(A.internalPubkey,A.hash);if(E)return E.x}}),o.prop(A,"internalPubkey",()=>{if(p.internalPubkey)return p.internalPubkey;const E=x();if(E&&E.length>1)return E[E.length-1].slice(1,33)}),o.prop(A,"signature",()=>{if(p.signature)return p.signature;const E=x();if(!(!E||E.length!==1))return E[0]}),o.prop(A,"witness",()=>{if(p.witness)return p.witness;const E=k();if(E&&p.redeem&&p.redeem.output&&p.internalPubkey){const I=(0,s.tapleafHash)({output:p.redeem.output,version:A.redeemVersion}),S=(0,s.findScriptPath)(E,I);if(!S)return;const N=(0,s.tweakKey)(p.internalPubkey,E.hash);if(!N)return;const $=e.Buffer.concat([e.Buffer.from([A.redeemVersion|N.parity]),p.internalPubkey].concat(S));return[p.redeem.output,$]}if(p.signature)return[p.signature]}),g.validate){let E=e.Buffer.from([]);if(p.address){if(T&&T.bech32!==_().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(_().version!==l)throw new TypeError("Invalid address version");if(_().data.length!==32)throw new TypeError("Invalid address data");E=_().data}if(p.pubkey){if(E.length>0&&!E.equals(p.pubkey))throw new TypeError("Pubkey mismatch");E=p.pubkey}if(p.output){if(p.output.length!==34||p.output[0]!==f.OP_1||p.output[1]!==32)throw new TypeError("Output is invalid");if(E.length>0&&!E.equals(p.output.slice(2)))throw new TypeError("Pubkey mismatch");E=p.output.slice(2)}if(p.internalPubkey){const N=(0,s.tweakKey)(p.internalPubkey,A.hash);if(E.length>0&&!E.equals(N.x))throw new TypeError("Pubkey mismatch");E=N.x}if(E&&E.length&&!(0,i.getEccLib)().isXOnlyPoint(E))throw new TypeError("Invalid pubkey for p2tr");const I=k();if(p.hash&&I&&!p.hash.equals(I.hash))throw new TypeError("Hash mismatch");if(p.redeem&&p.redeem.output&&I){const N=(0,s.tapleafHash)({output:p.redeem.output,version:A.redeemVersion});if(!(0,s.findScriptPath)(I,N))throw new TypeError("Redeem script not in tree")}const S=x();if(p.redeem&&A.redeem){if(p.redeem.redeemVersion&&p.redeem.redeemVersion!==A.redeem.redeemVersion)throw new TypeError("Redeem.redeemVersion and witness mismatch");if(p.redeem.output){if(r.decompile(p.redeem.output).length===0)throw new TypeError("Redeem.output is invalid");if(A.redeem.output&&!p.redeem.output.equals(A.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(p.redeem.witness&&A.redeem.witness&&!(0,n.stacksEqual)(p.redeem.witness,A.redeem.witness))throw new TypeError("Redeem.witness and witness mismatch")}if(S&&S.length)if(S.length===1){if(p.signature&&!p.signature.equals(S[0]))throw new TypeError("Signature mismatch")}else{const N=S[S.length-1];if(N.length<33)throw new TypeError(`The control-block length is too small. Got ${N.length}, expected min 33.`);if((N.length-33)%32!==0)throw new TypeError(`The control-block length of ${N.length} is incorrect!`);const $=(N.length-33)/32;if($>128)throw new TypeError(`The script path is too long. Got ${$}, expected max 128.`);const B=N.slice(1,33);if(p.internalPubkey&&!p.internalPubkey.equals(B))throw new TypeError("Internal pubkey mismatch");if(!(0,i.getEccLib)().isXOnlyPoint(B))throw new TypeError("Invalid internalPubkey for p2tr witness");const W=N[0]&n.TAPLEAF_VERSION_MASK,R=S[S.length-2],D=(0,s.tapleafHash)({output:R,version:W}),j=(0,s.rootHashFromPath)(N,D),V=(0,s.tweakKey)(B,j);if(!V)throw new TypeError("Invalid outputKey for p2tr witness");if(E.length&&!E.equals(V.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(V.parity!==(N[0]&1))throw new Error("Incorrect parity")}}return Object.assign(A,p)}return Ln.p2tr=y,Ln}var ku;function vc(){return ku||(ku=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.p2tr=e.p2wsh=e.p2wpkh=e.p2sh=e.p2pkh=e.p2pk=e.p2ms=e.embed=void 0;const t=Vs;Object.defineProperty(e,"embed",{enumerable:!0,get:function(){return t.p2data}});const r=Ws;Object.defineProperty(e,"p2ms",{enumerable:!0,get:function(){return r.p2ms}});const n=Ks;Object.defineProperty(e,"p2pk",{enumerable:!0,get:function(){return n.p2pk}});const i=Ys;Object.defineProperty(e,"p2pkh",{enumerable:!0,get:function(){return i.p2pkh}});const s=Xs;Object.defineProperty(e,"p2sh",{enumerable:!0,get:function(){return s.p2sh}});const o=Js;Object.defineProperty(e,"p2wpkh",{enumerable:!0,get:function(){return o.p2wpkh}});const a=Qs;Object.defineProperty(e,"p2wsh",{enumerable:!0,get:function(){return a.p2wsh}});const c=Ag();Object.defineProperty(e,"p2tr",{enumerable:!0,get:function(){return c.p2tr}})}(Fo)),Fo}Object.defineProperty(he,"__esModule",{value:!0});he.signatureBlocksAction=he.checkInputForSig=he.pubkeyInScript=he.pubkeyPositionInScript=he.witnessStackToScriptWitness=he.isP2TR=he.isP2SHScript=he.isP2WSHScript=he.isP2WPKH=he.isP2PKH=he.isP2PK=he.isP2MS=void 0;const Iu=Di,Jn=ut(),is=Hi,Sg=vr,Dr=vc();function jr(e){return t=>{try{return e({output:t}),!0}catch{return!1}}}he.isP2MS=jr(Dr.p2ms);he.isP2PK=jr(Dr.p2pk);he.isP2PKH=jr(Dr.p2pkh);he.isP2WPKH=jr(Dr.p2wpkh);he.isP2WSHScript=jr(Dr.p2wsh);he.isP2SHScript=jr(Dr.p2sh);he.isP2TR=jr(Dr.p2tr);function Pg(e){let t=Buffer.allocUnsafe(0);function r(o){t=Buffer.concat([t,Buffer.from(o)])}function n(o){const a=t.length,c=Iu.encodingLength(o);t=Buffer.concat([t,Buffer.allocUnsafe(c)]),Iu.encode(o,t,a)}function i(o){n(o.length),r(o)}function s(o){n(o.length),o.forEach(i)}return s(e),t}he.witnessStackToScriptWitness=Pg;function el(e,t){const r=(0,Sg.hash160)(e),n=e.slice(1,33),i=Jn.decompile(t);if(i===null)throw new Error("Unknown script error");return i.findIndex(s=>typeof s=="number"?!1:s.equals(e)||s.equals(r)||s.equals(n))}he.pubkeyPositionInScript=el;function Tg(e,t){return el(e,t)!==-1}he.pubkeyInScript=Tg;function kg(e,t){return Ig(e).some(n=>tl(n,Jn.signature.decode,t))}he.checkInputForSig=kg;function tl(e,t,r){const{hashType:n}=t(e),i=[];switch(n&is.Transaction.SIGHASH_ANYONECANPAY&&i.push("addInput"),n&31){case is.Transaction.SIGHASH_ALL:break;case is.Transaction.SIGHASH_SINGLE:case is.Transaction.SIGHASH_NONE:i.push("addOutput"),i.push("setInputSequence");break}return i.indexOf(r)===-1}he.signatureBlocksAction=tl;function Ig(e){let t=[];if((e.partialSig||[]).length===0){if(!e.finalScriptSig&&!e.finalScriptWitness)return[];t=Bg(e)}else t=e.partialSig;return t.map(r=>r.signature)}function Bg(e){const t=e.finalScriptSig?Jn.decompile(e.finalScriptSig)||[]:[],r=e.finalScriptWitness?Jn.decompile(e.finalScriptWitness)||[]:[];return t.concat(r).filter(n=>Buffer.isBuffer(n)&&Jn.isCanonicalScriptSignature(n)).map(n=>({signature:n}))}Object.defineProperty(Ae,"__esModule",{value:!0});Ae.checkTaprootInputForSigs=Ae.tapTreeFromList=Ae.tapTreeToList=Ae.tweakInternalPubKey=Ae.checkTaprootOutputFields=Ae.checkTaprootInputFields=Ae.isTaprootOutput=Ae.isTaprootInput=ys=Ae.serializeTaprootSignature=Ae.tapScriptFinalizer=Ae.toXOnly=void 0;const Ec=Ve,Cg=Hi,Zs=he,gr=_c,Og=vc(),Rg=he,Ug=e=>e.length===32?e:e.slice(1,33);Ae.toXOnly=Ug;function Fg(e,t,r){const n=Zg(t,e,r);try{const s=Jg(t,n).concat(n.script).concat(n.controlBlock);return{finalScriptWitness:(0,Zs.witnessStackToScriptWitness)(s)}}catch(i){throw new Error(`Can not finalize taproot input #${e}: ${i}`)}}Ae.tapScriptFinalizer=Fg;function Ng(e,t){const r=t?Buffer.from([t]):Buffer.from([]);return Buffer.concat([e,r])}var ys=Ae.serializeTaprootSignature=Ng;function ms(e){return e&&!!(e.tapInternalKey||e.tapMerkleRoot||e.tapLeafScript&&e.tapLeafScript.length||e.tapBip32Derivation&&e.tapBip32Derivation.length||e.witnessUtxo&&(0,Zs.isP2TR)(e.witnessUtxo.script))}Ae.isTaprootInput=ms;function bs(e,t){return e&&!!(e.tapInternalKey||e.tapTree||e.tapBip32Derivation&&e.tapBip32Derivation.length||t&&(0,Zs.isP2TR)(t))}Ae.isTaprootOutput=bs;function Lg(e,t,r){Kg(e,t,r),Xg(e,t,r)}Ae.checkTaprootInputFields=Lg;function Mg(e,t,r){Yg(e,t,r),$g(e,t)}Ae.checkTaprootOutputFields=Mg;function $g(e,t){if(!t.tapTree&&!t.tapInternalKey)return;const r=t.tapInternalKey||e.tapInternalKey,n=t.tapTree||e.tapTree;if(r){const{script:i}=e,s=Hg(r,n);if(i&&!i.equals(s))throw new Error("Error adding output. Script or address missmatch.")}}function Hg(e,t){const r=t&&rl(t.leaves),{output:n}=(0,Og.p2tr)({internalPubkey:e,scriptTree:r});return n}function Dg(e,t){const r=t.tapInternalKey,n=r&&(0,gr.tweakKey)(r,t.tapMerkleRoot);if(!n)throw new Error(`Cannot tweak tap internal key for input #${e}. Public key: ${r&&r.toString("hex")}`);return n.x}Ae.tweakInternalPubKey=Dg;function jg(e){if(!(0,Ec.isTaptree)(e))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return xa(e)}Ae.tapTreeToList=jg;function rl(e=[]){return e.length===1&&e[0].depth===0?{output:e[0].script,version:e[0].leafVersion}:Wg(e)}Ae.tapTreeFromList=rl;function Gg(e,t){return qg(e).some(n=>(0,Rg.signatureBlocksAction)(n,zg,t))}Ae.checkTaprootInputForSigs=Gg;function zg(e){return{signature:e.slice(0,64),hashType:e.slice(64)[0]||Cg.Transaction.SIGHASH_DEFAULT}}function qg(e){const t=[];if(e.tapKeySig&&t.push(e.tapKeySig),e.tapScriptSig&&t.push(...e.tapScriptSig.map(r=>r.signature)),!t.length){const r=Vg(e.finalScriptWitness);r&&t.push(r)}return t}function Vg(e){if(!e)return;const t=e.slice(2);if(t.length===64||t.length===65)return t}function xa(e,t=[],r=0){if(r>gr.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return e?(0,Ec.isTapleaf)(e)?(t.push({depth:r,leafVersion:e.version||gr.LEAF_VERSION_TAPSCRIPT,script:e.output}),t):(e[0]&&xa(e[0],t,r+1),e[1]&&xa(e[1],t,r+1),t):[]}function Wg(e){let t;for(const r of e)if(t=Aa(r,t),!t)throw new Error("No room left to insert tapleaf in tree");return t}function Aa(e,t,r=0){if(r>gr.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");if(e.depth===r)return t?void 0:{output:e.script,version:e.leafVersion};if((0,Ec.isTapleaf)(t))return;const n=Aa(e,t&&t[0],r+1);if(n)return[n,t&&t[1]];const i=Aa(e,t&&t[1],r+1);if(i)return[t&&t[0],i]}function Kg(e,t,r){const n=ms(e)&&fn(t),i=fn(e)&&ms(t),s=e===t&&ms(t)&&fn(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Yg(e,t,r){const n=bs(e)&&fn(t),i=fn(e)&&bs(t),s=e===t&&bs(t)&&fn(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Xg(e,t,r){if(t.tapMerkleRoot){const n=(t.tapLeafScript||[]).every(s=>Ho(s,t.tapMerkleRoot)),i=(e.tapLeafScript||[]).every(s=>Ho(s,t.tapMerkleRoot));if(!n||!i)throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}else if(e.tapMerkleRoot&&!(t.tapLeafScript||[]).every(i=>Ho(i,e.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}function Ho(e,t){if(!t)return!0;const r=(0,gr.tapleafHash)({output:e.script,version:e.leafVersion});return(0,gr.rootHashFromPath)(e.controlBlock,r).equals(t)}function Jg(e,t){const r=(0,gr.tapleafHash)({output:t.script,version:t.leafVersion});return(e.tapScriptSig||[]).filter(n=>n.leafHash.equals(r)).map(n=>Qg(t.script,n)).sort((n,i)=>i.positionInScript-n.positionInScript).map(n=>n.signature)}function Qg(e,t){return Object.assign({positionInScript:(0,Zs.pubkeyPositionInScript)(t.pubkey,e)},t)}function Zg(e,t,r){if(!e.tapScriptSig||!e.tapScriptSig.length)throw new Error(`Can not finalize taproot input #${t}. No tapleaf script signature provided.`);const n=(e.tapLeafScript||[]).sort((i,s)=>i.controlBlock.length-s.controlBlock.length).find(i=>e1(i,e.tapScriptSig,r));if(!n)throw new Error(`Can not finalize taproot input #${t}. Signature for tapleaf script not found.`);return n}function e1(e,t,r){const n=(0,gr.tapleafHash)({output:e.script,version:e.leafVersion});return(!r||r.equals(n))&&t.find(s=>s.leafHash.equals(n))!==void 0}function fn(e){return e&&!!(e.redeemScript||e.witnessScript||e.bip32Derivation&&e.bip32Derivation.length)}const Le={secretMismatch:"invalid secret",secretHashLenMismatch:"secret hash should be 32 bytes",pubkeyLenMismatch:"pubkey should be 32 bytes",zeroOrNegativeExpiry:"expiry should be greater than 0",htlcAddressGenerationFailed:"failed to generate htlc address",notFunded:"address not funded",noCounterpartySigs:"counterparty signatures are required",counterPartySigNotFound:e=>"counterparty signature not found for utxo "+e,invalidCounterpartySigForUTXO:e=>"invalid counterparty signature for utxo "+e,htlcNotExpired:e=>`HTLC not expired, need more ${e} blocks`,controlBlockGenerationFailed:"failed to generate control block",invalidLeaf:"invalid leaf"},ss=192;ce.initEccLib(Or);class Qn{constructor(t,r,n,i,s,o,a,c){this.secretHash=n,this.redeemerPubkey=i,this.initiatorPubkey=s,this.expiry=o,this.signer=t,this.network=a,this.internalPubkey=lb(),this.initiateAmount=r,this.utxoHashes=c}static async from(t,r,n,i,s,o,a){n=n.startsWith("0x")?n.slice(2):n,Pr(n.length===64,Le.secretHashLenMismatch),Pr(i.length===64||i.length===66,`initiator ${Le.pubkeyLenMismatch}`),Pr(s.length===64||s.length===66,`redeemer ${Le.pubkeyLenMismatch}`),Pr(o>0,Le.zeroOrNegativeExpiry);const c=await t.getNetwork();return new Qn(t,r,n,wa(s).toString("hex"),wa(i).toString("hex"),o,c,a)}address(){const{address:t}=ce.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves()});if(!t)throw new Error(Le.htlcAddressGenerationFailed);return t}id(){return this.address()}async _buildRawTx(t,r){const n=new ce.Transaction;n.version=2;const i=this.address(),s=await this.signer.getProvider();let o=[];if(this.utxoHashes&&this.utxoHashes.length>0)for(const c of this.utxoHashes){const f=await s.getTransaction(c);for(let l=0;l<f.vout.length;l++){const h=f.vout[l];h.scriptpubkey_address===i&&o.push({txid:f.txid,vout:l,value:h.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((c,f)=>c+f.value,0);if(a===0)throw new Error(`${i} ${Le.notFunded}`);for(let c=0;c<o.length;c++)n.addInput(Buffer.from(o[c].txid,"hex").reverse(),o[c].vout);return r??(r=await s.suggestFee(i,a,ln.Urgency.MEDIUM)),n.addOutput(ce.address.toOutputScript(t,this.network),a-r),{tx:n,usedUtxos:o}}async _tempBuildRawTx(t,r){const n=new ce.Transaction;n.version=2;const i=this.address(),s=await this.signer.getProvider();let o=[];if(this.utxoHashes&&this.utxoHashes.length>0)for(const c of this.utxoHashes){const f=await s.getTransaction(c);for(let l=0;l<f.vout.length;l++){const h=f.vout[l];h.scriptpubkey_address===i&&o.push({txid:f.txid,vout:l,value:h.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((c,f)=>c+f.value,0);if(a===0)throw new Error(`${i} ${Le.notFunded}`);for(let c=0;c<o.length;c++)n.addInput(Buffer.from(o[c].txid,"hex").reverse(),o[c].vout);if(n.addOutput(ce.address.toOutputScript(t,this.network),a),r){const c=await s.getFeeRates(),f=Math.ceil(c.hourFee*r),l=a-f;n.outs[0].value=l}return{tx:n,usedUtxos:o}}async buildRawTx(t){return await this._buildRawTx(await this.signer.getAddress(),t)}getOutputScript(){return ce.address.toOutputScript(this.address(),this.network)}async init(t){return t??(t=await(await this.signer.getProvider()).suggestFee(await this.signer.getAddress(),this.initiateAmount,ln.Urgency.MEDIUM)),await this.signer.send(this.address(),this.initiateAmount,t)}async generateRedeemSACP(t,r,n){const{tx:i,usedUtxos:s}=await this._buildRawTx(r,n),o=this.getOutputScript(),a=ce.Transaction.SIGHASH_SINGLE|ce.Transaction.SIGHASH_ANYONECANPAY,c=this.leafHash(1),f=s.map(h=>h.value),l=Jr(o,s.length);for(let h=0;h<i.ins.length;h++){const y=i.hashForWitnessV1(h,l,f,a,c),p=await this.signer.signSchnorr(y);i.setWitness(h,[ys(p,a),Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return i.toHex()}async generateInstantRefundSACP(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t,r),s=this.getOutputScript(),o=ce.Transaction.SIGHASH_SINGLE|ce.Transaction.SIGHASH_ANYONECANPAY,a=this.leafHash(2),c=i.map(l=>l.value),f=Jr(s,i.length);for(let l=0;l<n.ins.length;l++){const h=n.hashForWitnessV1(l,f,c,o,a),y=await this.signer.signSchnorr(h);n.setWitness(l,[ys(y,o),ys(y,o),this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return n.toHex()}async instantRefund(t,r){Pr(t.length>0,Le.noCounterpartySigs);const{tx:n,usedUtxos:i}=await this.buildRawTx(r);for(const h of i)if(!t.find(y=>y.utxo===h.txid))throw new Error(Le.counterPartySigNotFound(h.txid));const s=this.getOutputScript(),o=ce.Transaction.SIGHASH_DEFAULT,a=this.leafHash(2),c=i.map(h=>h.value),f=Jr(s,i.length);for(let h=0;h<n.ins.length;h++){const y=n.hashForWitnessV1(h,f,c,o,a);if(!Or.verifySchnorr(y,Buffer.from(this.redeemerPubkey,"hex"),Buffer.from(t[h].sig,"hex")))throw new Error(Le.invalidCounterpartySigForUTXO(t[h].utxo));const p=await this.signer.signSchnorr(y),g=Buffer.from(n.ins[h].hash).reverse().toString("hex"),_=t.find(x=>x.utxo===g);if(!_)throw new Error(Le.counterPartySigNotFound(g));n.setWitness(h,[Buffer.from(_.sig,"hex"),p,this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async redeem(t,r){Pr(ce.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Le.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n),o=this.leafHash(1),a=s.map(y=>y.value),c=Jr(this.getOutputScript(),s.length),f=ce.Transaction.SIGHASH_DEFAULT;for(let y=0;y<i.ins.length;y++){const p=i.hashForWitnessV1(y,c,a,f,o),g=await this.signer.signSchnorr(p);i.setWitness(y,[g,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:l}=await this._tempBuildRawTx(n,i.virtualSize());for(let y=0;y<l.ins.length;y++){const p=l.hashForWitnessV1(y,c,a,f,o),g=await this.signer.signSchnorr(p);l.setWitness(y,[g,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return await(await this.signer.getProvider()).broadcast(l.toHex())}async getRedeemHex(t,r){Pr(ce.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Le.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n),o=this.leafHash(1),a=s.map(h=>h.value),c=Jr(this.getOutputScript(),s.length),f=ce.Transaction.SIGHASH_DEFAULT;for(let h=0;h<i.ins.length;h++){const y=i.hashForWitnessV1(h,c,a,f,o),p=await this.signer.signSchnorr(y);i.setWitness(h,[p,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:l}=await this._tempBuildRawTx(n,i.virtualSize());for(let h=0;h<l.ins.length;h++){const y=l.hashForWitnessV1(h,c,a,f,o),p=await this.signer.signSchnorr(y);l.setWitness(h,[p,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return l.toHex()}async refund(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t??await this.signer.getAddress(),r),[s,o]=await this.canRefund(i);if(!s)throw new Error(Le.htlcNotExpired(o));const a=this.leafHash(0),c=i.map(y=>y.value),f=Jr(this.getOutputScript(),i.length),l=ce.Transaction.SIGHASH_DEFAULT;for(let y=0;y<n.ins.length;y++){n.ins[y].sequence=this.expiry;const p=n.hashForWitnessV1(y,f,c,l,a),g=await this.signer.signSchnorr(p);n.setWitness(y,[g,this.refundLeaf(),this.generateControlBlockFor(0)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async canRefund(t){const n=await(await this.signer.getProvider()).getLatestTip();for(const i of t){let s=0;if(i.status.confirmed&&i.status.block_height+this.expiry>n?s=i.status.block_height+this.expiry-n+1:i.status.confirmed||(s=this.expiry+1),s>0)return[!1,s]}return[!0,0]}generateControlBlockFor(t){let r;switch(t){case 1:r=this.redeemLeaf();break;case 0:r=this.refundLeaf();break;case 2:r=this.instantRefundLeaf();break;default:throw new Error(Le.invalidLeaf)}const n=ce.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves(),redeem:{output:r,redeemVersion:ss}});if(!n.witness)throw new Error(Le.controlBlockGenerationFailed);return n.witness[n.witness.length-1]}leafHash(t){let r=this.redeemLeaf();return t===0&&(r=this.refundLeaf()),t===2&&(r=this.instantRefundLeaf()),ce.crypto.taggedHash("TapLeaf",Qm(r))}refundLeaf(){return ce.script.fromASM(`
|
|
49
|
+
`,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var at={};Object.defineProperty(at,"__esModule",{value:!0});at.value=at.prop=void 0;function Vb(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){const n=r.call(this);return this[t]=n,n},set(n){Object.defineProperty(this,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}})}at.prop=Vb;function Wb(e){let t;return()=>(t!==void 0||(t=e()),t)}at.value=Wb;Object.defineProperty(Ws,"__esModule",{value:!0});Ws.p2data=void 0;const Kb=qe,ys=ut(),xt=Ve,mu=at,bu=ys.OPS;function Yb(e,t){if(!e.data&&!e.output)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,xt.typeforce)({network:xt.typeforce.maybe(xt.typeforce.Object),output:xt.typeforce.maybe(xt.typeforce.Buffer),data:xt.typeforce.maybe(xt.typeforce.arrayOf(xt.typeforce.Buffer))},e);const n={name:"embed",network:e.network||Kb.bitcoin};if(mu.prop(n,"output",()=>{if(e.data)return ys.compile([bu.OP_RETURN].concat(e.data))}),mu.prop(n,"data",()=>{if(e.output)return ys.decompile(e.output).slice(1)}),t.validate&&e.output){const i=ys.decompile(e.output);if(i[0]!==bu.OP_RETURN)throw new TypeError("Output is invalid");if(!i.slice(1).every(xt.typeforce.Buffer))throw new TypeError("Output is invalid");if(e.data&&!(0,xt.stacksEqual)(e.data,n.data))throw new TypeError("Data mismatch")}return Object.assign(n,e)}Ws.p2data=Yb;var Ks={};Object.defineProperty(Ks,"__esModule",{value:!0});Ks.p2ms=void 0;const Xb=qe,Qr=ut(),ke=Ve,ar=at,Zr=Qr.OPS,ts=Zr.OP_RESERVED;function Jb(e,t){if(!e.input&&!e.output&&!(e.pubkeys&&e.m!==void 0)&&!e.signatures)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{});function r(c){return Qr.isCanonicalScriptSignature(c)||(t.allowIncomplete&&c===Zr.OP_0)!==void 0}(0,ke.typeforce)({network:ke.typeforce.maybe(ke.typeforce.Object),m:ke.typeforce.maybe(ke.typeforce.Number),n:ke.typeforce.maybe(ke.typeforce.Number),output:ke.typeforce.maybe(ke.typeforce.Buffer),pubkeys:ke.typeforce.maybe(ke.typeforce.arrayOf(ke.isPoint)),signatures:ke.typeforce.maybe(ke.typeforce.arrayOf(r)),input:ke.typeforce.maybe(ke.typeforce.Buffer)},e);const i={network:e.network||Xb.bitcoin};let s=[],o=!1;function a(c){o||(o=!0,s=Qr.decompile(c),i.m=s[0]-ts,i.n=s[s.length-2]-ts,i.pubkeys=s.slice(1,-2))}if(ar.prop(i,"output",()=>{if(e.m&&i.n&&e.pubkeys)return Qr.compile([].concat(ts+e.m,e.pubkeys,ts+i.n,Zr.OP_CHECKMULTISIG))}),ar.prop(i,"m",()=>{if(i.output)return a(i.output),i.m}),ar.prop(i,"n",()=>{if(i.pubkeys)return i.pubkeys.length}),ar.prop(i,"pubkeys",()=>{if(e.output)return a(e.output),i.pubkeys}),ar.prop(i,"signatures",()=>{if(e.input)return Qr.decompile(e.input).slice(1)}),ar.prop(i,"input",()=>{if(e.signatures)return Qr.compile([Zr.OP_0].concat(e.signatures))}),ar.prop(i,"witness",()=>{if(i.input)return[]}),ar.prop(i,"name",()=>{if(!(!i.m||!i.n))return`p2ms(${i.m} of ${i.n})`}),t.validate){if(e.output){if(a(e.output),!ke.typeforce.Number(s[0]))throw new TypeError("Output is invalid");if(!ke.typeforce.Number(s[s.length-2]))throw new TypeError("Output is invalid");if(s[s.length-1]!==Zr.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(i.m<=0||i.n>16||i.m>i.n||i.n!==s.length-3)throw new TypeError("Output is invalid");if(!i.pubkeys.every(c=>(0,ke.isPoint)(c)))throw new TypeError("Output is invalid");if(e.m!==void 0&&e.m!==i.m)throw new TypeError("m mismatch");if(e.n!==void 0&&e.n!==i.n)throw new TypeError("n mismatch");if(e.pubkeys&&!(0,ke.stacksEqual)(e.pubkeys,i.pubkeys))throw new TypeError("Pubkeys mismatch")}if(e.pubkeys){if(e.n!==void 0&&e.n!==e.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(i.n=e.pubkeys.length,i.n<i.m)throw new TypeError("Pubkey count cannot be less than m")}if(e.signatures){if(e.signatures.length<i.m)throw new TypeError("Not enough signatures provided");if(e.signatures.length>i.m)throw new TypeError("Too many signatures provided")}if(e.input){if(e.input[0]!==Zr.OP_0)throw new TypeError("Input is invalid");if(i.signatures.length===0||!i.signatures.every(r))throw new TypeError("Input has invalid signature(s)");if(e.signatures&&!(0,ke.stacksEqual)(e.signatures,i.signatures))throw new TypeError("Signature mismatch");if(e.m!==void 0&&e.m!==e.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(i,e)}Ks.p2ms=Jb;var Ys={};Object.defineProperty(Ys,"__esModule",{value:!0});Ys.p2pk=void 0;const Qb=qe,en=ut(),bt=Ve,Xr=at,gu=en.OPS;function Zb(e,t){if(!e.input&&!e.output&&!e.pubkey&&!e.input&&!e.signature)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,bt.typeforce)({network:bt.typeforce.maybe(bt.typeforce.Object),output:bt.typeforce.maybe(bt.typeforce.Buffer),pubkey:bt.typeforce.maybe(bt.isPoint),signature:bt.typeforce.maybe(en.isCanonicalScriptSignature),input:bt.typeforce.maybe(bt.typeforce.Buffer)},e);const r=Xr.value(()=>en.decompile(e.input)),i={name:"p2pk",network:e.network||Qb.bitcoin};if(Xr.prop(i,"output",()=>{if(e.pubkey)return en.compile([e.pubkey,gu.OP_CHECKSIG])}),Xr.prop(i,"pubkey",()=>{if(e.output)return e.output.slice(1,-1)}),Xr.prop(i,"signature",()=>{if(e.input)return r()[0]}),Xr.prop(i,"input",()=>{if(e.signature)return en.compile([e.signature])}),Xr.prop(i,"witness",()=>{if(i.input)return[]}),t.validate){if(e.output){if(e.output[e.output.length-1]!==gu.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,bt.isPoint)(i.pubkey))throw new TypeError("Output pubkey is invalid");if(e.pubkey&&!e.pubkey.equals(i.pubkey))throw new TypeError("Pubkey mismatch")}if(e.signature&&e.input&&!e.input.equals(i.input))throw new TypeError("Signature mismatch");if(e.input){if(r().length!==1)throw new TypeError("Input is invalid");if(!en.isCanonicalScriptSignature(i.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(i,e)}Ys.p2pk=Zb;var Xs={};function eg(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var o=e.length,a=e.charAt(0),c=Math.log(o)/Math.log(256),f=Math.log(256)/Math.log(o);function l(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var g=0,_=0,x=0,k=p.length;x!==k&&p[x]===0;)x++,g++;for(var T=(k-x)*f+1>>>0,A=new Uint8Array(T);x!==k;){for(var E=p[x],I=0,S=T-1;(E!==0||I<_)&&S!==-1;S--,I++)E+=256*A[S]>>>0,A[S]=E%o>>>0,E=E/o>>>0;if(E!==0)throw new Error("Non-zero carry");_=I,x++}for(var N=T-_;N!==T&&A[N]===0;)N++;for(var $=a.repeat(g);N<T;++N)$+=e.charAt(A[N]);return $}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;for(var g=0,_=0,x=0;p[g]===a;)_++,g++;for(var k=(p.length-g)*c+1>>>0,T=new Uint8Array(k);p[g];){var A=p.charCodeAt(g);if(A>255)return;var E=t[A];if(E===255)return;for(var I=0,S=k-1;(E!==0||I<x)&&S!==-1;S--,I++)E+=o*T[S]>>>0,T[S]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");x=I,g++}for(var N=k-x;N!==k&&T[N]===0;)N++;for(var $=new Uint8Array(_+(k-N)),B=_;N!==k;)$[B++]=T[N++];return $}function y(p){var g=h(p);if(g)return g;throw new Error("Non-base"+o+" character")}return{encode:l,decodeUnsafe:h,decode:y}}var tg=eg;const rg=tg,ng="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var ig=rg(ng),Lo=ig,sg=function(e){function t(s){var o=Uint8Array.from(s),a=e(o),c=o.length+4,f=new Uint8Array(c);return f.set(o,0),f.set(a.subarray(0,4),o.length),Lo.encode(f,c)}function r(s){var o=s.slice(0,-4),a=s.slice(-4),c=e(o);if(!(a[0]^c[0]|a[1]^c[1]|a[2]^c[2]|a[3]^c[3]))return o}function n(s){var o=Lo.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=Lo.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},{sha256:wu}=Gt,og=sg;function ag(e){return wu(wu(e))}var wc=og(ag);Object.defineProperty(Xs,"__esModule",{value:!0});Xs.p2pkh=void 0;const Mo=vr,cg=qe,tn=ut(),Ye=Ve,Nt=at,_u=wc,cr=tn.OPS;function ug(e,t){if(!e.address&&!e.hash&&!e.output&&!e.pubkey&&!e.input)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,Ye.typeforce)({network:Ye.typeforce.maybe(Ye.typeforce.Object),address:Ye.typeforce.maybe(Ye.typeforce.String),hash:Ye.typeforce.maybe(Ye.typeforce.BufferN(20)),output:Ye.typeforce.maybe(Ye.typeforce.BufferN(25)),pubkey:Ye.typeforce.maybe(Ye.isPoint),signature:Ye.typeforce.maybe(tn.isCanonicalScriptSignature),input:Ye.typeforce.maybe(Ye.typeforce.Buffer)},e);const r=Nt.value(()=>{const o=Buffer.from(_u.decode(e.address)),a=o.readUInt8(0),c=o.slice(1);return{version:a,hash:c}}),n=Nt.value(()=>tn.decompile(e.input)),i=e.network||cg.bitcoin,s={name:"p2pkh",network:i};if(Nt.prop(s,"address",()=>{if(!s.hash)return;const o=Buffer.allocUnsafe(21);return o.writeUInt8(i.pubKeyHash,0),s.hash.copy(o,1),_u.encode(o)}),Nt.prop(s,"hash",()=>{if(e.output)return e.output.slice(3,23);if(e.address)return r().hash;if(e.pubkey||s.pubkey)return Mo.hash160(e.pubkey||s.pubkey)}),Nt.prop(s,"output",()=>{if(s.hash)return tn.compile([cr.OP_DUP,cr.OP_HASH160,s.hash,cr.OP_EQUALVERIFY,cr.OP_CHECKSIG])}),Nt.prop(s,"pubkey",()=>{if(e.input)return n()[1]}),Nt.prop(s,"signature",()=>{if(e.input)return n()[0]}),Nt.prop(s,"input",()=>{if(e.pubkey&&e.signature)return tn.compile([e.signature,e.pubkey])}),Nt.prop(s,"witness",()=>{if(s.input)return[]}),t.validate){let o=Buffer.from([]);if(e.address){if(r().version!==i.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(r().hash.length!==20)throw new TypeError("Invalid address");o=r().hash}if(e.hash){if(o.length>0&&!o.equals(e.hash))throw new TypeError("Hash mismatch");o=e.hash}if(e.output){if(e.output.length!==25||e.output[0]!==cr.OP_DUP||e.output[1]!==cr.OP_HASH160||e.output[2]!==20||e.output[23]!==cr.OP_EQUALVERIFY||e.output[24]!==cr.OP_CHECKSIG)throw new TypeError("Output is invalid");const a=e.output.slice(3,23);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.pubkey){const a=Mo.hash160(e.pubkey);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.input){const a=n();if(a.length!==2)throw new TypeError("Input is invalid");if(!tn.isCanonicalScriptSignature(a[0]))throw new TypeError("Input has invalid signature");if(!(0,Ye.isPoint)(a[1]))throw new TypeError("Input has invalid pubkey");if(e.signature&&!e.signature.equals(a[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(a[1]))throw new TypeError("Pubkey mismatch");const c=Mo.hash160(a[1]);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch")}}return Object.assign(s,e)}Xs.p2pkh=ug;var Js={};Object.defineProperty(Js,"__esModule",{value:!0});Js.p2sh=void 0;const vu=vr,fg=qe,Pt=ut(),be=Ve,At=at,Eu=wc,Ln=Pt.OPS;function dg(e,t){if(!e.address&&!e.hash&&!e.output&&!e.redeem&&!e.input)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,be.typeforce)({network:be.typeforce.maybe(be.typeforce.Object),address:be.typeforce.maybe(be.typeforce.String),hash:be.typeforce.maybe(be.typeforce.BufferN(20)),output:be.typeforce.maybe(be.typeforce.BufferN(23)),redeem:be.typeforce.maybe({network:be.typeforce.maybe(be.typeforce.Object),output:be.typeforce.maybe(be.typeforce.Buffer),input:be.typeforce.maybe(be.typeforce.Buffer),witness:be.typeforce.maybe(be.typeforce.arrayOf(be.typeforce.Buffer))}),input:be.typeforce.maybe(be.typeforce.Buffer),witness:be.typeforce.maybe(be.typeforce.arrayOf(be.typeforce.Buffer))},e);let r=e.network;r||(r=e.redeem&&e.redeem.network||fg.bitcoin);const n={network:r},i=At.value(()=>{const a=Buffer.from(Eu.decode(e.address)),c=a.readUInt8(0),f=a.slice(1);return{version:c,hash:f}}),s=At.value(()=>Pt.decompile(e.input)),o=At.value(()=>{const a=s(),c=a[a.length-1];return{network:r,output:c===Ln.OP_FALSE?Buffer.from([]):c,input:Pt.compile(a.slice(0,-1)),witness:e.witness||[]}});if(At.prop(n,"address",()=>{if(!n.hash)return;const a=Buffer.allocUnsafe(21);return a.writeUInt8(n.network.scriptHash,0),n.hash.copy(a,1),Eu.encode(a)}),At.prop(n,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return i().hash;if(n.redeem&&n.redeem.output)return vu.hash160(n.redeem.output)}),At.prop(n,"output",()=>{if(n.hash)return Pt.compile([Ln.OP_HASH160,n.hash,Ln.OP_EQUAL])}),At.prop(n,"redeem",()=>{if(e.input)return o()}),At.prop(n,"input",()=>{if(!(!e.redeem||!e.redeem.input||!e.redeem.output))return Pt.compile([].concat(Pt.decompile(e.redeem.input),e.redeem.output))}),At.prop(n,"witness",()=>{if(n.redeem&&n.redeem.witness)return n.redeem.witness;if(n.input)return[]}),At.prop(n,"name",()=>{const a=["p2sh"];return n.redeem!==void 0&&n.redeem.name!==void 0&&a.push(n.redeem.name),a.join("-")}),t.validate){let a=Buffer.from([]);if(e.address){if(i().version!==r.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(i().hash.length!==20)throw new TypeError("Invalid address");a=i().hash}if(e.hash){if(a.length>0&&!a.equals(e.hash))throw new TypeError("Hash mismatch");a=e.hash}if(e.output){if(e.output.length!==23||e.output[0]!==Ln.OP_HASH160||e.output[1]!==20||e.output[22]!==Ln.OP_EQUAL)throw new TypeError("Output is invalid");const f=e.output.slice(2,22);if(a.length>0&&!a.equals(f))throw new TypeError("Hash mismatch");a=f}const c=f=>{if(f.output){const l=Pt.decompile(f.output);if(!l||l.length<1)throw new TypeError("Redeem.output too short");if(f.output.byteLength>520)throw new TypeError("Redeem.output unspendable if larger than 520 bytes");if(Pt.countNonPushOnlyOPs(l)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const h=vu.hash160(f.output);if(a.length>0&&!a.equals(h))throw new TypeError("Hash mismatch");a=h}if(f.input){const l=f.input.length>0,h=f.witness&&f.witness.length>0;if(!l&&!h)throw new TypeError("Empty input");if(l&&h)throw new TypeError("Input and witness provided");if(l){const y=Pt.decompile(f.input);if(!Pt.isPushOnly(y))throw new TypeError("Non push-only scriptSig")}}};if(e.input){const f=s();if(!f||f.length<1)throw new TypeError("Input too short");if(!Buffer.isBuffer(o().output))throw new TypeError("Input is invalid");c(o())}if(e.redeem){if(e.redeem.network&&e.redeem.network!==r)throw new TypeError("Network mismatch");if(e.input){const f=o();if(e.redeem.output&&!e.redeem.output.equals(f.output))throw new TypeError("Redeem.output mismatch");if(e.redeem.input&&!e.redeem.input.equals(f.input))throw new TypeError("Redeem.input mismatch")}c(e.redeem)}if(e.witness&&e.redeem&&e.redeem.witness&&!(0,be.stacksEqual)(e.redeem.witness,e.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(n,e)}Js.p2sh=dg;var Qs={},Yt={};Object.defineProperty(Yt,"__esModule",{value:!0});Yt.bech32m=Yt.bech32=void 0;const Ps="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Zd={};for(let e=0;e<Ps.length;e++){const t=Ps.charAt(e);Zd[t]=e}function un(e){const t=e>>25;return(e&33554431)<<5^-(t>>0&1)&996825010^-(t>>1&1)&642813549^-(t>>2&1)&513874426^-(t>>3&1)&1027748829^-(t>>4&1)&705979059}function xu(e){let t=1;for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);if(n<33||n>126)return"Invalid prefix ("+e+")";t=un(t)^n>>5}t=un(t);for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);t=un(t)^n&31}return t}function _c(e,t,r,n){let i=0,s=0;const o=(1<<r)-1,a=[];for(let c=0;c<e.length;++c)for(i=i<<t|e[c],s+=t;s>=r;)s-=r,a.push(i>>s&o);if(n)s>0&&a.push(i<<r-s&o);else{if(s>=t)return"Excess padding";if(i<<r-s&o)return"Non-zero padding"}return a}function lg(e){return _c(e,8,5,!0)}function hg(e){const t=_c(e,5,8,!1);if(Array.isArray(t))return t}function pg(e){const t=_c(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}function el(e){let t;e==="bech32"?t=1:t=734539939;function r(o,a,c){if(c=c||90,o.length+7+a.length>c)throw new TypeError("Exceeds length limit");o=o.toLowerCase();let f=xu(o);if(typeof f=="string")throw new Error(f);let l=o+"1";for(let h=0;h<a.length;++h){const y=a[h];if(y>>5)throw new Error("Non 5-bit word");f=un(f)^y,l+=Ps.charAt(y)}for(let h=0;h<6;++h)f=un(f);f^=t;for(let h=0;h<6;++h){const y=f>>(5-h)*5&31;l+=Ps.charAt(y)}return l}function n(o,a){if(a=a||90,o.length<8)return o+" too short";if(o.length>a)return"Exceeds length limit";const c=o.toLowerCase(),f=o.toUpperCase();if(o!==c&&o!==f)return"Mixed-case string "+o;o=c;const l=o.lastIndexOf("1");if(l===-1)return"No separator character for "+o;if(l===0)return"Missing prefix for "+o;const h=o.slice(0,l),y=o.slice(l+1);if(y.length<6)return"Data too short";let p=xu(h);if(typeof p=="string")return p;const g=[];for(let _=0;_<y.length;++_){const x=y.charAt(_),k=Zd[x];if(k===void 0)return"Unknown character "+x;p=un(p)^k,!(_+6>=y.length)&&g.push(k)}return p!==t?"Invalid checksum for "+o:{prefix:h,words:g}}function i(o,a){const c=n(o,a);if(typeof c=="object")return c}function s(o,a){const c=n(o,a);if(typeof c=="object")return c;throw new Error(c)}return{decodeUnsafe:i,decode:s,encode:r,toWords:lg,fromWordsUnsafe:hg,fromWords:pg}}Yt.bech32=el("bech32");Yt.bech32m=el("bech32m");Object.defineProperty(Qs,"__esModule",{value:!0});Qs.p2wpkh=void 0;const $o=vr,yg=qe,ms=ut(),Re=Ve,ur=at,rs=Yt,Au=ms.OPS,mg=Buffer.alloc(0);function bg(e,t){if(!e.address&&!e.hash&&!e.output&&!e.pubkey&&!e.witness)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,Re.typeforce)({address:Re.typeforce.maybe(Re.typeforce.String),hash:Re.typeforce.maybe(Re.typeforce.BufferN(20)),input:Re.typeforce.maybe(Re.typeforce.BufferN(0)),network:Re.typeforce.maybe(Re.typeforce.Object),output:Re.typeforce.maybe(Re.typeforce.BufferN(22)),pubkey:Re.typeforce.maybe(Re.isPoint),signature:Re.typeforce.maybe(ms.isCanonicalScriptSignature),witness:Re.typeforce.maybe(Re.typeforce.arrayOf(Re.typeforce.Buffer))},e);const r=ur.value(()=>{const s=rs.bech32.decode(e.address),o=s.words.shift(),a=rs.bech32.fromWords(s.words);return{version:o,prefix:s.prefix,data:Buffer.from(a)}}),n=e.network||yg.bitcoin,i={name:"p2wpkh",network:n};if(ur.prop(i,"address",()=>{if(!i.hash)return;const s=rs.bech32.toWords(i.hash);return s.unshift(0),rs.bech32.encode(n.bech32,s)}),ur.prop(i,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return r().data;if(e.pubkey||i.pubkey)return $o.hash160(e.pubkey||i.pubkey)}),ur.prop(i,"output",()=>{if(i.hash)return ms.compile([Au.OP_0,i.hash])}),ur.prop(i,"pubkey",()=>{if(e.pubkey)return e.pubkey;if(e.witness)return e.witness[1]}),ur.prop(i,"signature",()=>{if(e.witness)return e.witness[0]}),ur.prop(i,"input",()=>{if(i.witness)return mg}),ur.prop(i,"witness",()=>{if(e.pubkey&&e.signature)return[e.signature,e.pubkey]}),t.validate){let s=Buffer.from([]);if(e.address){if(n&&n.bech32!==r().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(r().version!==0)throw new TypeError("Invalid address version");if(r().data.length!==20)throw new TypeError("Invalid address data");s=r().data}if(e.hash){if(s.length>0&&!s.equals(e.hash))throw new TypeError("Hash mismatch");s=e.hash}if(e.output){if(e.output.length!==22||e.output[0]!==Au.OP_0||e.output[1]!==20)throw new TypeError("Output is invalid");if(s.length>0&&!s.equals(e.output.slice(2)))throw new TypeError("Hash mismatch");s=e.output.slice(2)}if(e.pubkey){const o=$o.hash160(e.pubkey);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch");if(s=o,!(0,Re.isPoint)(e.pubkey)||e.pubkey.length!==33)throw new TypeError("Invalid pubkey for p2wpkh")}if(e.witness){if(e.witness.length!==2)throw new TypeError("Witness is invalid");if(!ms.isCanonicalScriptSignature(e.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,Re.isPoint)(e.witness[1])||e.witness[1].length!==33)throw new TypeError("Witness has invalid pubkey");if(e.signature&&!e.signature.equals(e.witness[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(e.witness[1]))throw new TypeError("Pubkey mismatch");const o=$o.hash160(e.witness[1]);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch")}}return Object.assign(i,e)}Qs.p2wpkh=bg;var Zs={};Object.defineProperty(Zs,"__esModule",{value:!0});Zs.p2wsh=void 0;const Su=vr,gg=qe,$t=ut(),ye=Ve,Lt=at,ns=Yt,Pu=$t.OPS,Ho=Buffer.alloc(0);function is(e){return!!(Buffer.isBuffer(e)&&e.length===65&&e[0]===4&&(0,ye.isPoint)(e))}function wg(e,t){if(!e.address&&!e.hash&&!e.output&&!e.redeem&&!e.witness)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,ye.typeforce)({network:ye.typeforce.maybe(ye.typeforce.Object),address:ye.typeforce.maybe(ye.typeforce.String),hash:ye.typeforce.maybe(ye.typeforce.BufferN(32)),output:ye.typeforce.maybe(ye.typeforce.BufferN(34)),redeem:ye.typeforce.maybe({input:ye.typeforce.maybe(ye.typeforce.Buffer),network:ye.typeforce.maybe(ye.typeforce.Object),output:ye.typeforce.maybe(ye.typeforce.Buffer),witness:ye.typeforce.maybe(ye.typeforce.arrayOf(ye.typeforce.Buffer))}),input:ye.typeforce.maybe(ye.typeforce.BufferN(0)),witness:ye.typeforce.maybe(ye.typeforce.arrayOf(ye.typeforce.Buffer))},e);const r=Lt.value(()=>{const o=ns.bech32.decode(e.address),a=o.words.shift(),c=ns.bech32.fromWords(o.words);return{version:a,prefix:o.prefix,data:Buffer.from(c)}}),n=Lt.value(()=>$t.decompile(e.redeem.input));let i=e.network;i||(i=e.redeem&&e.redeem.network||gg.bitcoin);const s={network:i};if(Lt.prop(s,"address",()=>{if(!s.hash)return;const o=ns.bech32.toWords(s.hash);return o.unshift(0),ns.bech32.encode(i.bech32,o)}),Lt.prop(s,"hash",()=>{if(e.output)return e.output.slice(2);if(e.address)return r().data;if(s.redeem&&s.redeem.output)return Su.sha256(s.redeem.output)}),Lt.prop(s,"output",()=>{if(s.hash)return $t.compile([Pu.OP_0,s.hash])}),Lt.prop(s,"redeem",()=>{if(e.witness)return{output:e.witness[e.witness.length-1],input:Ho,witness:e.witness.slice(0,-1)}}),Lt.prop(s,"input",()=>{if(s.witness)return Ho}),Lt.prop(s,"witness",()=>{if(e.redeem&&e.redeem.input&&e.redeem.input.length>0&&e.redeem.output&&e.redeem.output.length>0){const o=$t.toStack(n());return s.redeem=Object.assign({witness:o},e.redeem),s.redeem.input=Ho,[].concat(o,e.redeem.output)}if(e.redeem&&e.redeem.output&&e.redeem.witness)return[].concat(e.redeem.witness,e.redeem.output)}),Lt.prop(s,"name",()=>{const o=["p2wsh"];return s.redeem!==void 0&&s.redeem.name!==void 0&&o.push(s.redeem.name),o.join("-")}),t.validate){let o=Buffer.from([]);if(e.address){if(r().prefix!==i.bech32)throw new TypeError("Invalid prefix or Network mismatch");if(r().version!==0)throw new TypeError("Invalid address version");if(r().data.length!==32)throw new TypeError("Invalid address data");o=r().data}if(e.hash){if(o.length>0&&!o.equals(e.hash))throw new TypeError("Hash mismatch");o=e.hash}if(e.output){if(e.output.length!==34||e.output[0]!==Pu.OP_0||e.output[1]!==32)throw new TypeError("Output is invalid");const a=e.output.slice(2);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.redeem){if(e.redeem.network&&e.redeem.network!==i)throw new TypeError("Network mismatch");if(e.redeem.input&&e.redeem.input.length>0&&e.redeem.witness&&e.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(e.redeem.output){const a=$t.decompile(e.redeem.output);if(!a||a.length<1)throw new TypeError("Redeem.output is invalid");if(e.redeem.output.byteLength>3600)throw new TypeError("Redeem.output unspendable if larger than 3600 bytes");if($t.countNonPushOnlyOPs(a)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const c=Su.sha256(e.redeem.output);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch");o=c}if(e.redeem.input&&!$t.isPushOnly(n()))throw new TypeError("Non push-only scriptSig");if(e.witness&&e.redeem.witness&&!(0,ye.stacksEqual)(e.witness,e.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(e.redeem.input&&n().some(is)||e.redeem.output&&($t.decompile(e.redeem.output)||[]).some(is))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(e.witness&&e.witness.length>0){const a=e.witness[e.witness.length-1];if(e.redeem&&e.redeem.output&&!e.redeem.output.equals(a))throw new TypeError("Witness and redeem.output mismatch");if(e.witness.some(is)||($t.decompile(a)||[]).some(is))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(s,e)}Zs.p2wsh=wg;var Mn={},$r={};Object.defineProperty($r,"__esModule",{value:!0});$r.getEccLib=$r.initEccLib=void 0;const Jn={};function _g(e,t){e?e!==Jn.eccLib&&(t!=null&&t.DANGER_DO_NOT_VERIFY_ECCLIB||Eg(e),Jn.eccLib=e):Jn.eccLib=e}$r.initEccLib=_g;function vg(){if(!Jn.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return Jn.eccLib}$r.getEccLib=vg;const Mt=e=>Buffer.from(e,"hex");function Eg(e){dt(typeof e.isXOnlyPoint=="function"),dt(e.isXOnlyPoint(Mt("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),dt(e.isXOnlyPoint(Mt("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),dt(e.isXOnlyPoint(Mt("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),dt(e.isXOnlyPoint(Mt("0000000000000000000000000000000000000000000000000000000000000001"))),dt(!e.isXOnlyPoint(Mt("0000000000000000000000000000000000000000000000000000000000000000"))),dt(!e.isXOnlyPoint(Mt("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),dt(typeof e.xOnlyPointAddTweak=="function"),xg.forEach(t=>{const r=e.xOnlyPointAddTweak(Mt(t.pubkey),Mt(t.tweak));t.result===null?dt(r===null):(dt(r!==null),dt(r.parity===t.parity),dt(Buffer.from(r.xOnlyPubkey).equals(Mt(t.result))))})}function dt(e){if(!e)throw new Error("ecc library invalid")}const xg=[{pubkey:"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",tweak:"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",parity:-1,result:null},{pubkey:"1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b",tweak:"a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac",parity:1,result:"e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"},{pubkey:"2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991",tweak:"823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47",parity:0,result:"9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"}];var vc={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.tweakKey=e.tapTweakHash=e.tapleafHash=e.findScriptPath=e.toHashTree=e.rootHashFromPath=e.MAX_TAPTREE_DEPTH=e.LEAF_VERSION_TAPSCRIPT=void 0;const t=Zt,r=$r,n=vr,i=$e,s=Ve;e.LEAF_VERSION_TAPSCRIPT=192,e.MAX_TAPTREE_DEPTH=128;const o=_=>"left"in _&&"right"in _;function a(_,x){if(_.length<33)throw new TypeError(`The control-block length is too small. Got ${_.length}, expected min 33.`);const k=(_.length-33)/32;let T=x;for(let A=0;A<k;A++){const E=_.slice(33+32*A,65+32*A);T.compare(E)<0?T=p(T,E):T=p(E,T)}return T}e.rootHashFromPath=a;function c(_){if((0,s.isTapleaf)(_))return{hash:l(_)};const x=[c(_[0]),c(_[1])];x.sort((A,E)=>A.hash.compare(E.hash));const[k,T]=x;return{hash:p(k.hash,T.hash),left:k,right:T}}e.toHashTree=c;function f(_,x){if(o(_)){const k=f(_.left,x);if(k!==void 0)return[...k,_.right.hash];const T=f(_.right,x);if(T!==void 0)return[...T,_.left.hash]}else if(_.hash.equals(x))return[]}e.findScriptPath=f;function l(_){const x=_.version||e.LEAF_VERSION_TAPSCRIPT;return n.taggedHash("TapLeaf",t.Buffer.concat([t.Buffer.from([x]),g(_.output)]))}e.tapleafHash=l;function h(_,x){return n.taggedHash("TapTweak",t.Buffer.concat(x?[_,x]:[_]))}e.tapTweakHash=h;function y(_,x){if(!t.Buffer.isBuffer(_)||_.length!==32||x&&x.length!==32)return null;const k=h(_,x),T=(0,r.getEccLib)().xOnlyPointAddTweak(_,k);return!T||T.xOnlyPubkey===null?null:{parity:T.parity,x:t.Buffer.from(T.xOnlyPubkey)}}e.tweakKey=y;function p(_,x){return n.taggedHash("TapBranch",t.Buffer.concat([_,x]))}function g(_){const x=i.varuint.encodingLength(_.length),k=t.Buffer.allocUnsafe(x);return i.varuint.encode(_.length,k),t.Buffer.concat([k,_])}})(vc);var Xe={},Tu;function Ag(){if(Tu)return Xe;Tu=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.toOutputScript=Xe.fromOutputScript=Xe.toBech32=Xe.toBase58Check=Xe.fromBech32=Xe.fromBase58Check=void 0;const e=qe,t=Ec(),r=ut(),n=Ve,i=Yt,s=wc,o=40,a=2,c=16,f=2,l=80,h="WARNING: Sending to a future segwit version address can lead to loss of funds. End users MUST be warned carefully in the GUI and asked if they wish to proceed with caution. Wallets should verify the segwit version from the output of fromBech32, then decide when it is safe to use which version of segwit.";function y(A,E){const I=A.slice(2);if(I.length<a||I.length>o)throw new TypeError("Invalid program length for segwit address");const S=A[0]-l;if(S<f||S>c)throw new TypeError("Invalid version for segwit address");if(A[1]!==I.length)throw new TypeError("Invalid script for segwit address");return console.warn(h),x(I,S,E.bech32)}function p(A){const E=Buffer.from(s.decode(A));if(E.length<21)throw new TypeError(A+" is too short");if(E.length>21)throw new TypeError(A+" is too long");const I=E.readUInt8(0),S=E.slice(1);return{version:I,hash:S}}Xe.fromBase58Check=p;function g(A){let E,I;try{E=i.bech32.decode(A)}catch{}if(E){if(I=E.words[0],I!==0)throw new TypeError(A+" uses wrong encoding")}else if(E=i.bech32m.decode(A),I=E.words[0],I===0)throw new TypeError(A+" uses wrong encoding");const S=i.bech32.fromWords(E.words.slice(1));return{version:I,prefix:E.prefix,data:Buffer.from(S)}}Xe.fromBech32=g;function _(A,E){(0,n.typeforce)((0,n.tuple)(n.Hash160bit,n.UInt8),arguments);const I=Buffer.allocUnsafe(21);return I.writeUInt8(E,0),A.copy(I,1),s.encode(I)}Xe.toBase58Check=_;function x(A,E,I){const S=i.bech32.toWords(A);return S.unshift(E),E===0?i.bech32.encode(I,S):i.bech32m.encode(I,S)}Xe.toBech32=x;function k(A,E){E=E||e.bitcoin;try{return t.p2pkh({output:A,network:E}).address}catch{}try{return t.p2sh({output:A,network:E}).address}catch{}try{return t.p2wpkh({output:A,network:E}).address}catch{}try{return t.p2wsh({output:A,network:E}).address}catch{}try{return t.p2tr({output:A,network:E}).address}catch{}try{return y(A,E)}catch{}throw new Error(r.toASM(A)+" has no matching Address")}Xe.fromOutputScript=k;function T(A,E){E=E||e.bitcoin;let I,S;try{I=p(A)}catch{}if(I){if(I.version===E.pubKeyHash)return t.p2pkh({hash:I.hash}).output;if(I.version===E.scriptHash)return t.p2sh({hash:I.hash}).output}else{try{S=g(A)}catch{}if(S){if(S.prefix!==E.bech32)throw new Error(A+" has an invalid prefix");if(S.version===0){if(S.data.length===20)return t.p2wpkh({hash:S.data}).output;if(S.data.length===32)return t.p2wsh({hash:S.data}).output}else if(S.version===1){if(S.data.length===32)return t.p2tr({pubkey:S.data}).output}else if(S.version>=f&&S.version<=c&&S.data.length>=a&&S.data.length<=o)return console.warn(h),r.compile([S.version+l,S.data])}}throw new Error(A+" has no matching Script")}return Xe.toOutputScript=T,Xe}var ku;function Sg(){if(ku)return Mn;ku=1,Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.p2tr=void 0;const e=Zt,t=qe,r=ut(),n=Ve,i=$r,s=vc,o=at,a=Yt,c=Ag(),f=r.OPS,l=1,h=80;function y(p,g){if(!p.address&&!p.output&&!p.pubkey&&!p.internalPubkey&&!(p.witness&&p.witness.length>1))throw new TypeError("Not enough data");g=Object.assign({validate:!0},g||{}),(0,n.typeforce)({address:n.typeforce.maybe(n.typeforce.String),input:n.typeforce.maybe(n.typeforce.BufferN(0)),network:n.typeforce.maybe(n.typeforce.Object),output:n.typeforce.maybe(n.typeforce.BufferN(34)),internalPubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),hash:n.typeforce.maybe(n.typeforce.BufferN(32)),pubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),signature:n.typeforce.maybe(n.typeforce.anyOf(n.typeforce.BufferN(64),n.typeforce.BufferN(65))),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer)),scriptTree:n.typeforce.maybe(n.isTaptree),redeem:n.typeforce.maybe({output:n.typeforce.maybe(n.typeforce.Buffer),redeemVersion:n.typeforce.maybe(n.typeforce.Number),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer))}),redeemVersion:n.typeforce.maybe(n.typeforce.Number)},p);const _=o.value(()=>(0,c.fromBech32)(p.address)),x=o.value(()=>{if(!(!p.witness||!p.witness.length))return p.witness.length>=2&&p.witness[p.witness.length-1][0]===h?p.witness.slice(0,-1):p.witness.slice()}),k=o.value(()=>{if(p.scriptTree)return(0,s.toHashTree)(p.scriptTree);if(p.hash)return{hash:p.hash}}),T=p.network||t.bitcoin,A={name:"p2tr",network:T};if(o.prop(A,"address",()=>{if(!A.pubkey)return;const E=a.bech32m.toWords(A.pubkey);return E.unshift(l),a.bech32m.encode(T.bech32,E)}),o.prop(A,"hash",()=>{const E=k();if(E)return E.hash;const I=x();if(I&&I.length>1){const S=I[I.length-1],N=S[0]&n.TAPLEAF_VERSION_MASK,$=I[I.length-2],B=(0,s.tapleafHash)({output:$,version:N});return(0,s.rootHashFromPath)(S,B)}return null}),o.prop(A,"output",()=>{if(A.pubkey)return r.compile([f.OP_1,A.pubkey])}),o.prop(A,"redeemVersion",()=>p.redeemVersion?p.redeemVersion:p.redeem&&p.redeem.redeemVersion!==void 0&&p.redeem.redeemVersion!==null?p.redeem.redeemVersion:s.LEAF_VERSION_TAPSCRIPT),o.prop(A,"redeem",()=>{const E=x();if(!(!E||E.length<2))return{output:E[E.length-2],witness:E.slice(0,-2),redeemVersion:E[E.length-1][0]&n.TAPLEAF_VERSION_MASK}}),o.prop(A,"pubkey",()=>{if(p.pubkey)return p.pubkey;if(p.output)return p.output.slice(2);if(p.address)return _().data;if(A.internalPubkey){const E=(0,s.tweakKey)(A.internalPubkey,A.hash);if(E)return E.x}}),o.prop(A,"internalPubkey",()=>{if(p.internalPubkey)return p.internalPubkey;const E=x();if(E&&E.length>1)return E[E.length-1].slice(1,33)}),o.prop(A,"signature",()=>{if(p.signature)return p.signature;const E=x();if(!(!E||E.length!==1))return E[0]}),o.prop(A,"witness",()=>{if(p.witness)return p.witness;const E=k();if(E&&p.redeem&&p.redeem.output&&p.internalPubkey){const I=(0,s.tapleafHash)({output:p.redeem.output,version:A.redeemVersion}),S=(0,s.findScriptPath)(E,I);if(!S)return;const N=(0,s.tweakKey)(p.internalPubkey,E.hash);if(!N)return;const $=e.Buffer.concat([e.Buffer.from([A.redeemVersion|N.parity]),p.internalPubkey].concat(S));return[p.redeem.output,$]}if(p.signature)return[p.signature]}),g.validate){let E=e.Buffer.from([]);if(p.address){if(T&&T.bech32!==_().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(_().version!==l)throw new TypeError("Invalid address version");if(_().data.length!==32)throw new TypeError("Invalid address data");E=_().data}if(p.pubkey){if(E.length>0&&!E.equals(p.pubkey))throw new TypeError("Pubkey mismatch");E=p.pubkey}if(p.output){if(p.output.length!==34||p.output[0]!==f.OP_1||p.output[1]!==32)throw new TypeError("Output is invalid");if(E.length>0&&!E.equals(p.output.slice(2)))throw new TypeError("Pubkey mismatch");E=p.output.slice(2)}if(p.internalPubkey){const N=(0,s.tweakKey)(p.internalPubkey,A.hash);if(E.length>0&&!E.equals(N.x))throw new TypeError("Pubkey mismatch");E=N.x}if(E&&E.length&&!(0,i.getEccLib)().isXOnlyPoint(E))throw new TypeError("Invalid pubkey for p2tr");const I=k();if(p.hash&&I&&!p.hash.equals(I.hash))throw new TypeError("Hash mismatch");if(p.redeem&&p.redeem.output&&I){const N=(0,s.tapleafHash)({output:p.redeem.output,version:A.redeemVersion});if(!(0,s.findScriptPath)(I,N))throw new TypeError("Redeem script not in tree")}const S=x();if(p.redeem&&A.redeem){if(p.redeem.redeemVersion&&p.redeem.redeemVersion!==A.redeem.redeemVersion)throw new TypeError("Redeem.redeemVersion and witness mismatch");if(p.redeem.output){if(r.decompile(p.redeem.output).length===0)throw new TypeError("Redeem.output is invalid");if(A.redeem.output&&!p.redeem.output.equals(A.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(p.redeem.witness&&A.redeem.witness&&!(0,n.stacksEqual)(p.redeem.witness,A.redeem.witness))throw new TypeError("Redeem.witness and witness mismatch")}if(S&&S.length)if(S.length===1){if(p.signature&&!p.signature.equals(S[0]))throw new TypeError("Signature mismatch")}else{const N=S[S.length-1];if(N.length<33)throw new TypeError(`The control-block length is too small. Got ${N.length}, expected min 33.`);if((N.length-33)%32!==0)throw new TypeError(`The control-block length of ${N.length} is incorrect!`);const $=(N.length-33)/32;if($>128)throw new TypeError(`The script path is too long. Got ${$}, expected max 128.`);const B=N.slice(1,33);if(p.internalPubkey&&!p.internalPubkey.equals(B))throw new TypeError("Internal pubkey mismatch");if(!(0,i.getEccLib)().isXOnlyPoint(B))throw new TypeError("Invalid internalPubkey for p2tr witness");const W=N[0]&n.TAPLEAF_VERSION_MASK,R=S[S.length-2],D=(0,s.tapleafHash)({output:R,version:W}),j=(0,s.rootHashFromPath)(N,D),V=(0,s.tweakKey)(B,j);if(!V)throw new TypeError("Invalid outputKey for p2tr witness");if(E.length&&!E.equals(V.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(V.parity!==(N[0]&1))throw new Error("Incorrect parity")}}return Object.assign(A,p)}return Mn.p2tr=y,Mn}var Iu;function Ec(){return Iu||(Iu=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.p2tr=e.p2wsh=e.p2wpkh=e.p2sh=e.p2pkh=e.p2pk=e.p2ms=e.embed=void 0;const t=Ws;Object.defineProperty(e,"embed",{enumerable:!0,get:function(){return t.p2data}});const r=Ks;Object.defineProperty(e,"p2ms",{enumerable:!0,get:function(){return r.p2ms}});const n=Ys;Object.defineProperty(e,"p2pk",{enumerable:!0,get:function(){return n.p2pk}});const i=Xs;Object.defineProperty(e,"p2pkh",{enumerable:!0,get:function(){return i.p2pkh}});const s=Js;Object.defineProperty(e,"p2sh",{enumerable:!0,get:function(){return s.p2sh}});const o=Qs;Object.defineProperty(e,"p2wpkh",{enumerable:!0,get:function(){return o.p2wpkh}});const a=Zs;Object.defineProperty(e,"p2wsh",{enumerable:!0,get:function(){return a.p2wsh}});const c=Sg();Object.defineProperty(e,"p2tr",{enumerable:!0,get:function(){return c.p2tr}})}(No)),No}Object.defineProperty(he,"__esModule",{value:!0});he.signatureBlocksAction=he.checkInputForSig=he.pubkeyInScript=he.pubkeyPositionInScript=he.witnessStackToScriptWitness=he.isP2TR=he.isP2SHScript=he.isP2WSHScript=he.isP2WPKH=he.isP2PKH=he.isP2PK=he.isP2MS=void 0;const Bu=ji,Qn=ut(),ss=Di,Pg=vr,Dr=Ec();function jr(e){return t=>{try{return e({output:t}),!0}catch{return!1}}}he.isP2MS=jr(Dr.p2ms);he.isP2PK=jr(Dr.p2pk);he.isP2PKH=jr(Dr.p2pkh);he.isP2WPKH=jr(Dr.p2wpkh);he.isP2WSHScript=jr(Dr.p2wsh);he.isP2SHScript=jr(Dr.p2sh);he.isP2TR=jr(Dr.p2tr);function Tg(e){let t=Buffer.allocUnsafe(0);function r(o){t=Buffer.concat([t,Buffer.from(o)])}function n(o){const a=t.length,c=Bu.encodingLength(o);t=Buffer.concat([t,Buffer.allocUnsafe(c)]),Bu.encode(o,t,a)}function i(o){n(o.length),r(o)}function s(o){n(o.length),o.forEach(i)}return s(e),t}he.witnessStackToScriptWitness=Tg;function tl(e,t){const r=(0,Pg.hash160)(e),n=e.slice(1,33),i=Qn.decompile(t);if(i===null)throw new Error("Unknown script error");return i.findIndex(s=>typeof s=="number"?!1:s.equals(e)||s.equals(r)||s.equals(n))}he.pubkeyPositionInScript=tl;function kg(e,t){return tl(e,t)!==-1}he.pubkeyInScript=kg;function Ig(e,t){return Bg(e).some(n=>rl(n,Qn.signature.decode,t))}he.checkInputForSig=Ig;function rl(e,t,r){const{hashType:n}=t(e),i=[];switch(n&ss.Transaction.SIGHASH_ANYONECANPAY&&i.push("addInput"),n&31){case ss.Transaction.SIGHASH_ALL:break;case ss.Transaction.SIGHASH_SINGLE:case ss.Transaction.SIGHASH_NONE:i.push("addOutput"),i.push("setInputSequence");break}return i.indexOf(r)===-1}he.signatureBlocksAction=rl;function Bg(e){let t=[];if((e.partialSig||[]).length===0){if(!e.finalScriptSig&&!e.finalScriptWitness)return[];t=Cg(e)}else t=e.partialSig;return t.map(r=>r.signature)}function Cg(e){const t=e.finalScriptSig?Qn.decompile(e.finalScriptSig)||[]:[],r=e.finalScriptWitness?Qn.decompile(e.finalScriptWitness)||[]:[];return t.concat(r).filter(n=>Buffer.isBuffer(n)&&Qn.isCanonicalScriptSignature(n)).map(n=>({signature:n}))}Object.defineProperty(Ae,"__esModule",{value:!0});Ae.checkTaprootInputForSigs=Ae.tapTreeFromList=Ae.tapTreeToList=Ae.tweakInternalPubKey=Ae.checkTaprootOutputFields=Ae.checkTaprootInputFields=Ae.isTaprootOutput=Ae.isTaprootInput=bs=Ae.serializeTaprootSignature=Ae.tapScriptFinalizer=Ae.toXOnly=void 0;const xc=Ve,Og=Di,eo=he,gr=vc,Rg=Ec(),Fg=he,Ug=e=>e.length===32?e:e.slice(1,33);Ae.toXOnly=Ug;function Ng(e,t,r){const n=e1(t,e,r);try{const s=Qg(t,n).concat(n.script).concat(n.controlBlock);return{finalScriptWitness:(0,eo.witnessStackToScriptWitness)(s)}}catch(i){throw new Error(`Can not finalize taproot input #${e}: ${i}`)}}Ae.tapScriptFinalizer=Ng;function Lg(e,t){const r=t?Buffer.from([t]):Buffer.from([]);return Buffer.concat([e,r])}var bs=Ae.serializeTaprootSignature=Lg;function gs(e){return e&&!!(e.tapInternalKey||e.tapMerkleRoot||e.tapLeafScript&&e.tapLeafScript.length||e.tapBip32Derivation&&e.tapBip32Derivation.length||e.witnessUtxo&&(0,eo.isP2TR)(e.witnessUtxo.script))}Ae.isTaprootInput=gs;function ws(e,t){return e&&!!(e.tapInternalKey||e.tapTree||e.tapBip32Derivation&&e.tapBip32Derivation.length||t&&(0,eo.isP2TR)(t))}Ae.isTaprootOutput=ws;function Mg(e,t,r){Yg(e,t,r),Jg(e,t,r)}Ae.checkTaprootInputFields=Mg;function $g(e,t,r){Xg(e,t,r),Hg(e,t)}Ae.checkTaprootOutputFields=$g;function Hg(e,t){if(!t.tapTree&&!t.tapInternalKey)return;const r=t.tapInternalKey||e.tapInternalKey,n=t.tapTree||e.tapTree;if(r){const{script:i}=e,s=Dg(r,n);if(i&&!i.equals(s))throw new Error("Error adding output. Script or address missmatch.")}}function Dg(e,t){const r=t&&nl(t.leaves),{output:n}=(0,Rg.p2tr)({internalPubkey:e,scriptTree:r});return n}function jg(e,t){const r=t.tapInternalKey,n=r&&(0,gr.tweakKey)(r,t.tapMerkleRoot);if(!n)throw new Error(`Cannot tweak tap internal key for input #${e}. Public key: ${r&&r.toString("hex")}`);return n.x}Ae.tweakInternalPubKey=jg;function Gg(e){if(!(0,xc.isTaptree)(e))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return Aa(e)}Ae.tapTreeToList=Gg;function nl(e=[]){return e.length===1&&e[0].depth===0?{output:e[0].script,version:e[0].leafVersion}:Kg(e)}Ae.tapTreeFromList=nl;function zg(e,t){return Vg(e).some(n=>(0,Fg.signatureBlocksAction)(n,qg,t))}Ae.checkTaprootInputForSigs=zg;function qg(e){return{signature:e.slice(0,64),hashType:e.slice(64)[0]||Og.Transaction.SIGHASH_DEFAULT}}function Vg(e){const t=[];if(e.tapKeySig&&t.push(e.tapKeySig),e.tapScriptSig&&t.push(...e.tapScriptSig.map(r=>r.signature)),!t.length){const r=Wg(e.finalScriptWitness);r&&t.push(r)}return t}function Wg(e){if(!e)return;const t=e.slice(2);if(t.length===64||t.length===65)return t}function Aa(e,t=[],r=0){if(r>gr.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return e?(0,xc.isTapleaf)(e)?(t.push({depth:r,leafVersion:e.version||gr.LEAF_VERSION_TAPSCRIPT,script:e.output}),t):(e[0]&&Aa(e[0],t,r+1),e[1]&&Aa(e[1],t,r+1),t):[]}function Kg(e){let t;for(const r of e)if(t=Sa(r,t),!t)throw new Error("No room left to insert tapleaf in tree");return t}function Sa(e,t,r=0){if(r>gr.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");if(e.depth===r)return t?void 0:{output:e.script,version:e.leafVersion};if((0,xc.isTapleaf)(t))return;const n=Sa(e,t&&t[0],r+1);if(n)return[n,t&&t[1]];const i=Sa(e,t&&t[1],r+1);if(i)return[t&&t[0],i]}function Yg(e,t,r){const n=gs(e)&&fn(t),i=fn(e)&&gs(t),s=e===t&&gs(t)&&fn(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Xg(e,t,r){const n=ws(e)&&fn(t),i=fn(e)&&ws(t),s=e===t&&ws(t)&&fn(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Jg(e,t,r){if(t.tapMerkleRoot){const n=(t.tapLeafScript||[]).every(s=>Do(s,t.tapMerkleRoot)),i=(e.tapLeafScript||[]).every(s=>Do(s,t.tapMerkleRoot));if(!n||!i)throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}else if(e.tapMerkleRoot&&!(t.tapLeafScript||[]).every(i=>Do(i,e.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}function Do(e,t){if(!t)return!0;const r=(0,gr.tapleafHash)({output:e.script,version:e.leafVersion});return(0,gr.rootHashFromPath)(e.controlBlock,r).equals(t)}function Qg(e,t){const r=(0,gr.tapleafHash)({output:t.script,version:t.leafVersion});return(e.tapScriptSig||[]).filter(n=>n.leafHash.equals(r)).map(n=>Zg(t.script,n)).sort((n,i)=>i.positionInScript-n.positionInScript).map(n=>n.signature)}function Zg(e,t){return Object.assign({positionInScript:(0,eo.pubkeyPositionInScript)(t.pubkey,e)},t)}function e1(e,t,r){if(!e.tapScriptSig||!e.tapScriptSig.length)throw new Error(`Can not finalize taproot input #${t}. No tapleaf script signature provided.`);const n=(e.tapLeafScript||[]).sort((i,s)=>i.controlBlock.length-s.controlBlock.length).find(i=>t1(i,e.tapScriptSig,r));if(!n)throw new Error(`Can not finalize taproot input #${t}. Signature for tapleaf script not found.`);return n}function t1(e,t,r){const n=(0,gr.tapleafHash)({output:e.script,version:e.leafVersion});return(!r||r.equals(n))&&t.find(s=>s.leafHash.equals(n))!==void 0}function fn(e){return e&&!!(e.redeemScript||e.witnessScript||e.bip32Derivation&&e.bip32Derivation.length)}const Le={secretMismatch:"invalid secret",secretHashLenMismatch:"secret hash should be 32 bytes",pubkeyLenMismatch:"pubkey should be 32 bytes",zeroOrNegativeExpiry:"expiry should be greater than 0",htlcAddressGenerationFailed:"failed to generate htlc address",notFunded:"address not funded",noCounterpartySigs:"counterparty signatures are required",counterPartySigNotFound:e=>"counterparty signature not found for utxo "+e,invalidCounterpartySigForUTXO:e=>"invalid counterparty signature for utxo "+e,htlcNotExpired:e=>`HTLC not expired, need more ${e} blocks`,controlBlockGenerationFailed:"failed to generate control block",invalidLeaf:"invalid leaf"},os=192;ce.initEccLib(Or);class Zn{constructor(t,r,n,i,s,o,a,c){this.secretHash=n,this.redeemerPubkey=i,this.initiatorPubkey=s,this.expiry=o,this.signer=t,this.network=a,this.internalPubkey=hb(),this.initiateAmount=r,this.utxoHashes=c}static async from(t,r,n,i,s,o,a){n=n.startsWith("0x")?n.slice(2):n,Pr(n.length===64,Le.secretHashLenMismatch),Pr(i.length===64||i.length===66,`initiator ${Le.pubkeyLenMismatch}`),Pr(s.length===64||s.length===66,`redeemer ${Le.pubkeyLenMismatch}`),Pr(o>0,Le.zeroOrNegativeExpiry);const c=await t.getNetwork();return new Zn(t,r,n,_a(s).toString("hex"),_a(i).toString("hex"),o,c,a)}address(){const{address:t}=ce.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves()});if(!t)throw new Error(Le.htlcAddressGenerationFailed);return t}id(){return this.address()}async _buildRawTx(t,r){const n=new ce.Transaction;n.version=2;const i=this.address(),s=await this.signer.getProvider();let o=[];if(this.utxoHashes&&this.utxoHashes.length>0)for(const c of this.utxoHashes){const f=await s.getTransaction(c);for(let l=0;l<f.vout.length;l++){const h=f.vout[l];h.scriptpubkey_address===i&&o.push({txid:f.txid,vout:l,value:h.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((c,f)=>c+f.value,0);if(a===0)throw new Error(`${i} ${Le.notFunded}`);for(let c=0;c<o.length;c++)n.addInput(Buffer.from(o[c].txid,"hex").reverse(),o[c].vout);return r??(r=await s.suggestFee(i,a,ln.Urgency.MEDIUM)),n.addOutput(ce.address.toOutputScript(t,this.network),a-r),{tx:n,usedUtxos:o}}async _tempBuildRawTx(t,r){const n=new ce.Transaction;n.version=2;const i=this.address(),s=await this.signer.getProvider();let o=[];if(this.utxoHashes&&this.utxoHashes.length>0)for(const c of this.utxoHashes){const f=await s.getTransaction(c);for(let l=0;l<f.vout.length;l++){const h=f.vout[l];h.scriptpubkey_address===i&&o.push({txid:f.txid,vout:l,value:h.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((c,f)=>c+f.value,0);if(a===0)throw new Error(`${i} ${Le.notFunded}`);for(let c=0;c<o.length;c++)n.addInput(Buffer.from(o[c].txid,"hex").reverse(),o[c].vout);if(n.addOutput(ce.address.toOutputScript(t,this.network),a),r){const c=await s.getFeeRates(),f=Math.ceil(c.hourFee*r),l=a-f;n.outs[0].value=l}return{tx:n,usedUtxos:o}}async buildRawTx(t){return await this._buildRawTx(await this.signer.getAddress(),t)}getOutputScript(){return ce.address.toOutputScript(this.address(),this.network)}async init(t){return t??(t=await(await this.signer.getProvider()).suggestFee(await this.signer.getAddress(),this.initiateAmount,ln.Urgency.MEDIUM)),await this.signer.send(this.address(),this.initiateAmount,t)}async generateRedeemSACP(t,r,n){const{tx:i,usedUtxos:s}=await this._buildRawTx(r,n),o=this.getOutputScript(),a=ce.Transaction.SIGHASH_SINGLE|ce.Transaction.SIGHASH_ANYONECANPAY,c=this.leafHash(1),f=s.map(h=>h.value),l=Jr(o,s.length);for(let h=0;h<i.ins.length;h++){const y=i.hashForWitnessV1(h,l,f,a,c),p=await this.signer.signSchnorr(y);i.setWitness(h,[bs(p,a),Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return i.toHex()}async generateInstantRefundSACP(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t,r),s=this.getOutputScript(),o=ce.Transaction.SIGHASH_SINGLE|ce.Transaction.SIGHASH_ANYONECANPAY,a=this.leafHash(2),c=i.map(l=>l.value),f=Jr(s,i.length);for(let l=0;l<n.ins.length;l++){const h=n.hashForWitnessV1(l,f,c,o,a),y=await this.signer.signSchnorr(h);n.setWitness(l,[bs(y,o),bs(y,o),this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return n.toHex()}async instantRefund(t,r){Pr(t.length>0,Le.noCounterpartySigs);const{tx:n,usedUtxos:i}=await this.buildRawTx(r);for(const h of i)if(!t.find(y=>y.utxo===h.txid))throw new Error(Le.counterPartySigNotFound(h.txid));const s=this.getOutputScript(),o=ce.Transaction.SIGHASH_DEFAULT,a=this.leafHash(2),c=i.map(h=>h.value),f=Jr(s,i.length);for(let h=0;h<n.ins.length;h++){const y=n.hashForWitnessV1(h,f,c,o,a);if(!Or.verifySchnorr(y,Buffer.from(this.redeemerPubkey,"hex"),Buffer.from(t[h].sig,"hex")))throw new Error(Le.invalidCounterpartySigForUTXO(t[h].utxo));const p=await this.signer.signSchnorr(y),g=Buffer.from(n.ins[h].hash).reverse().toString("hex"),_=t.find(x=>x.utxo===g);if(!_)throw new Error(Le.counterPartySigNotFound(g));n.setWitness(h,[Buffer.from(_.sig,"hex"),p,this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async redeem(t,r){Pr(ce.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Le.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n),o=this.leafHash(1),a=s.map(y=>y.value),c=Jr(this.getOutputScript(),s.length),f=ce.Transaction.SIGHASH_DEFAULT;for(let y=0;y<i.ins.length;y++){const p=i.hashForWitnessV1(y,c,a,f,o),g=await this.signer.signSchnorr(p);i.setWitness(y,[g,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:l}=await this._tempBuildRawTx(n,i.virtualSize());for(let y=0;y<l.ins.length;y++){const p=l.hashForWitnessV1(y,c,a,f,o),g=await this.signer.signSchnorr(p);l.setWitness(y,[g,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return await(await this.signer.getProvider()).broadcast(l.toHex())}async getRedeemHex(t,r){Pr(ce.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Le.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n),o=this.leafHash(1),a=s.map(h=>h.value),c=Jr(this.getOutputScript(),s.length),f=ce.Transaction.SIGHASH_DEFAULT;for(let h=0;h<i.ins.length;h++){const y=i.hashForWitnessV1(h,c,a,f,o),p=await this.signer.signSchnorr(y);i.setWitness(h,[p,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:l}=await this._tempBuildRawTx(n,i.virtualSize());for(let h=0;h<l.ins.length;h++){const y=l.hashForWitnessV1(h,c,a,f,o),p=await this.signer.signSchnorr(y);l.setWitness(h,[p,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return l.toHex()}async refund(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t??await this.signer.getAddress(),r),[s,o]=await this.canRefund(i);if(!s)throw new Error(Le.htlcNotExpired(o));const a=this.leafHash(0),c=i.map(y=>y.value),f=Jr(this.getOutputScript(),i.length),l=ce.Transaction.SIGHASH_DEFAULT;for(let y=0;y<n.ins.length;y++){n.ins[y].sequence=this.expiry;const p=n.hashForWitnessV1(y,f,c,l,a),g=await this.signer.signSchnorr(p);n.setWitness(y,[g,this.refundLeaf(),this.generateControlBlockFor(0)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async canRefund(t){const n=await(await this.signer.getProvider()).getLatestTip();for(const i of t){let s=0;if(i.status.confirmed&&i.status.block_height+this.expiry>n?s=i.status.block_height+this.expiry-n+1:i.status.confirmed||(s=this.expiry+1),s>0)return[!1,s]}return[!0,0]}generateControlBlockFor(t){let r;switch(t){case 1:r=this.redeemLeaf();break;case 0:r=this.refundLeaf();break;case 2:r=this.instantRefundLeaf();break;default:throw new Error(Le.invalidLeaf)}const n=ce.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves(),redeem:{output:r,redeemVersion:os}});if(!n.witness)throw new Error(Le.controlBlockGenerationFailed);return n.witness[n.witness.length-1]}leafHash(t){let r=this.redeemLeaf();return t===0&&(r=this.refundLeaf()),t===2&&(r=this.instantRefundLeaf()),ce.crypto.taggedHash("TapLeaf",Zm(r))}refundLeaf(){return ce.script.fromASM(`
|
|
50
50
|
${ce.script.number.encode(this.expiry).toString("hex")}
|
|
51
51
|
OP_CHECKSEQUENCEVERIFY
|
|
52
52
|
OP_DROP
|
|
@@ -65,7 +65,7 @@ ${_p(p)}`),super(t.shortMessage,{cause:t,docsPath:n,metaMessages:[...t.metaMessa
|
|
|
65
65
|
OP_CHECKSIGADD
|
|
66
66
|
OP_2
|
|
67
67
|
OP_NUMEQUAL
|
|
68
|
-
`.trim().replace(/\s+/g," "))}leaves(){return[{version:
|
|
68
|
+
`.trim().replace(/\s+/g," "))}leaves(){return[{version:os,output:this.redeemLeaf()},[{version:os,output:this.refundLeaf()},{version:os,output:this.instantRefundLeaf()}]]}generateMerkleProofFor(t){const r=this.leafHash(1),n=this.leafHash(2),i=this.leafHash(0);switch(t){case 1:{const s=tb(i,n);return[ce.crypto.taggedHash("TapBranch",Buffer.concat(s))]}case 0:return[n,r];case 2:return[i,r];default:throw new Error(Le.invalidLeaf)}}}function Jr(e,t){const r=[];for(let n=0;n<t;n++)r.push(e);return r}class r1{constructor(){this.cache={}}set(t,r,n,i){const s={txHash:n,timeStamp:Date.now(),btcRedeemUTXO:i};this.cache[`${r}_${t.create_order.create_id}`]=s}get(t,r){return this.cache[`${r}_${t.create_order.create_id}`]||null}remove(t,r){delete this.cache[`${r}_${t.create_order.create_id}`]}}class n1{constructor(){this.cache={}}set(t,r){this.cache[t]=r}get(t){return this.cache[t]||null}}class il{constructor(t,r){this.url=new q.Url(t).endpoint("blocknumbers").endpoint(r)}async fetchBlockNumbers(){try{const t=await Dt.get(this.url);return ie(t)}catch(t){return G("Failed to fetch block numbers",t)}}}class sl{constructor(t){this.quoteUrl=new q.Url(t)}async getQuoteFromAssets(t,r,n,i=!1,s){const o=va(t.chain,t.atomicSwapAddress,r.chain,r.atomicSwapAddress);return this.getQuote(o,n,i,s)}async getQuote(t,r,n=!1,i){try{const s={order_pair:t,amount:r.toString(),exact_out:n.toString(),...(i==null?void 0:i.affiliateFee)!==void 0&&{affiliate_fee:i.affiliateFee.toString()}},o=this.quoteUrl.endpoint("/").addSearchParams(s),a=await Dt.get(o,{retryCount:0,...i==null?void 0:i.request});return a.error?G(a.error):a.result?ie(a.result):G("GetQuote: Unexpected error, result is undefined")}catch(s){return G("GetQuote:",String(s))}}async getAttestedQuote(t){try{const r=await Dt.post(this.quoteUrl.endpoint("/attested").toString(),{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}});return r.error?G(r.error):r.result?ie(r.result):G("GetAttestedQuote: Unexpected error, result is undefined")}catch(r){return console.log("error :",r),G("GetAttestedQuote:",String(r))}}async getStrategies(){try{const t=await Dt.get(this.quoteUrl.endpoint("/strategies"));if(t.error)return G(t.error);if(!t.result)return G("GetStrategies: Unexpected error, result is undefined");const r={};for(const n of Object.values(t.result)){const i=va(n.source_chain,n.source_asset.asset,n.dest_chain,n.dest_asset.asset);r[i]={id:n.id,minAmount:n.min_amount,maxAmount:n.max_amount,fee:n.fee}}return ie(r)}catch(t){return G("GetStrategies:",String(t))}}}var ol={},wn={},_n={};Object.defineProperty(_n,"__esModule",{value:!0});_n.testnet=_n.bitcoin=void 0;_n.bitcoin={messagePrefix:`Bitcoin Signed Message:
|
|
69
69
|
`,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};_n.testnet={messagePrefix:`Bitcoin Signed Message:
|
|
70
|
-
`,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var
|
|
71
|
-
Use Chrome, Firefox or Internet Explorer 11`)}var s1=tt.Buffer,Ss=br.crypto||br.msCrypto;Ss&&Ss.getRandomValues?Sa.exports=o1:Sa.exports=i1;function o1(e,t){if(e>n1)throw new RangeError("requested too many random bytes");var r=s1.allocUnsafe(e);if(e>0)if(e>Do)for(var n=0;n<e;n+=Do)Ss.getRandomValues(r.slice(n,n+Do));else Ss.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}var a1=Sa.exports,Ta={exports:{}};typeof Object.create=="function"?Ta.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:Ta.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}};var He=Ta.exports,ka={exports:{}},xc={exports:{}},dn=typeof Reflect=="object"?Reflect:null,Bu=dn&&typeof dn.apply=="function"?dn.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},gs;dn&&typeof dn.ownKeys=="function"?gs=dn.ownKeys:Object.getOwnPropertySymbols?gs=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:gs=function(t){return Object.getOwnPropertyNames(t)};function c1(e){console&&console.warn&&console.warn(e)}var al=Number.isNaN||function(t){return t!==t};function ue(){ue.init.call(this)}xc.exports=ue;xc.exports.once=l1;ue.EventEmitter=ue;ue.prototype._events=void 0;ue.prototype._eventsCount=0;ue.prototype._maxListeners=void 0;var Cu=10;function eo(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(ue,"defaultMaxListeners",{enumerable:!0,get:function(){return Cu},set:function(e){if(typeof e!="number"||e<0||al(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");Cu=e}});ue.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ue.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||al(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function cl(e){return e._maxListeners===void 0?ue.defaultMaxListeners:e._maxListeners}ue.prototype.getMaxListeners=function(){return cl(this)};ue.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[t];if(c===void 0)return!1;if(typeof c=="function")Bu(c,this,r);else for(var f=c.length,l=hl(c,f),n=0;n<f;++n)Bu(l[n],this,r);return!0};function ul(e,t,r,n){var i,s,o;if(eo(r),s=e._events,s===void 0?(s=e._events=Object.create(null),e._eventsCount=0):(s.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),o=s[t]),o===void 0)o=s[t]=r,++e._eventsCount;else if(typeof o=="function"?o=s[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=cl(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,c1(a)}return e}ue.prototype.addListener=function(t,r){return ul(this,t,r,!1)};ue.prototype.on=ue.prototype.addListener;ue.prototype.prependListener=function(t,r){return ul(this,t,r,!0)};function u1(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function fl(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=u1.bind(n);return i.listener=r,n.wrapFn=i,i}ue.prototype.once=function(t,r){return eo(r),this.on(t,fl(this,t,r)),this};ue.prototype.prependOnceListener=function(t,r){return eo(r),this.prependListener(t,fl(this,t,r)),this};ue.prototype.removeListener=function(t,r){var n,i,s,o,a;if(eo(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():f1(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};ue.prototype.off=ue.prototype.removeListener;ue.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function dl(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?d1(i):hl(i,i.length)}ue.prototype.listeners=function(t){return dl(this,t,!0)};ue.prototype.rawListeners=function(t){return dl(this,t,!1)};ue.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):ll.call(e,t)};ue.prototype.listenerCount=ll;function ll(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ue.prototype.eventNames=function(){return this._eventsCount>0?gs(this._events):[]};function hl(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function f1(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function d1(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function l1(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,s),n(o)}function s(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}pl(e,t,s,{once:!0}),t!=="error"&&h1(e,i,{once:!0})})}function h1(e,t,r){typeof e.on=="function"&&pl(e,"error",t,r)}function pl(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(s){n.once&&e.removeEventListener(t,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}var yl=xc.exports,ml=yl.EventEmitter;const p1={},y1=Object.freeze(Object.defineProperty({__proto__:null,default:p1},Symbol.toStringTag,{value:"Module"})),Ac=wm(y1);var jo,Ou;function m1(){if(Ou)return jo;Ou=1;function e(g,_){var x=Object.keys(g);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(g);_&&(k=k.filter(function(T){return Object.getOwnPropertyDescriptor(g,T).enumerable})),x.push.apply(x,k)}return x}function t(g){for(var _=1;_<arguments.length;_++){var x=arguments[_]!=null?arguments[_]:{};_%2?e(Object(x),!0).forEach(function(k){r(g,k,x[k])}):Object.getOwnPropertyDescriptors?Object.defineProperties(g,Object.getOwnPropertyDescriptors(x)):e(Object(x)).forEach(function(k){Object.defineProperty(g,k,Object.getOwnPropertyDescriptor(x,k))})}return g}function r(g,_,x){return _=o(_),_ in g?Object.defineProperty(g,_,{value:x,enumerable:!0,configurable:!0,writable:!0}):g[_]=x,g}function n(g,_){if(!(g instanceof _))throw new TypeError("Cannot call a class as a function")}function i(g,_){for(var x=0;x<_.length;x++){var k=_[x];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(g,o(k.key),k)}}function s(g,_,x){return _&&i(g.prototype,_),Object.defineProperty(g,"prototype",{writable:!1}),g}function o(g){var _=a(g,"string");return typeof _=="symbol"?_:String(_)}function a(g,_){if(typeof g!="object"||g===null)return g;var x=g[Symbol.toPrimitive];if(x!==void 0){var k=x.call(g,_);if(typeof k!="object")return k;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(g)}var c=Zt,f=c.Buffer,l=Ac,h=l.inspect,y=h&&h.custom||"inspect";function p(g,_,x){f.prototype.copy.call(g,_,x)}return jo=function(){function g(){n(this,g),this.head=null,this.tail=null,this.length=0}return s(g,[{key:"push",value:function(x){var k={data:x,next:null};this.length>0?this.tail.next=k:this.head=k,this.tail=k,++this.length}},{key:"unshift",value:function(x){var k={data:x,next:this.head};this.length===0&&(this.tail=k),this.head=k,++this.length}},{key:"shift",value:function(){if(this.length!==0){var x=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,x}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(x){if(this.length===0)return"";for(var k=this.head,T=""+k.data;k=k.next;)T+=x+k.data;return T}},{key:"concat",value:function(x){if(this.length===0)return f.alloc(0);for(var k=f.allocUnsafe(x>>>0),T=this.head,A=0;T;)p(T.data,k,A),A+=T.data.length,T=T.next;return k}},{key:"consume",value:function(x,k){var T;return x<this.head.data.length?(T=this.head.data.slice(0,x),this.head.data=this.head.data.slice(x)):x===this.head.data.length?T=this.shift():T=k?this._getString(x):this._getBuffer(x),T}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(x){var k=this.head,T=1,A=k.data;for(x-=A.length;k=k.next;){var E=k.data,I=x>E.length?E.length:x;if(I===E.length?A+=E:A+=E.slice(0,x),x-=I,x===0){I===E.length?(++T,k.next?this.head=k.next:this.head=this.tail=null):(this.head=k,k.data=E.slice(I));break}++T}return this.length-=T,A}},{key:"_getBuffer",value:function(x){var k=f.allocUnsafe(x),T=this.head,A=1;for(T.data.copy(k),x-=T.data.length;T=T.next;){var E=T.data,I=x>E.length?E.length:x;if(E.copy(k,k.length-x,0,I),x-=I,x===0){I===E.length?(++A,T.next?this.head=T.next:this.head=this.tail=null):(this.head=T,T.data=E.slice(I));break}++A}return this.length-=A,k}},{key:y,value:function(x,k){return h(this,t(t({},k),{},{depth:0,customInspect:!1}))}}]),g}(),jo}function b1(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(Ia,this,e)):process.nextTick(Ia,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(s){!t&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(ws,r):(r._writableState.errorEmitted=!0,process.nextTick(Ru,r,s)):process.nextTick(Ru,r,s):t?(process.nextTick(ws,r),t(s)):process.nextTick(ws,r)}),this)}function Ru(e,t){Ia(e,t),ws(e)}function ws(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function g1(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function Ia(e,t){e.emit("error",t)}function w1(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}var bl={destroy:b1,undestroy:g1,errorOrDestroy:w1},Gr={};function _1(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var gl={};function mt(e,t,r){r||(r=Error);function n(s,o,a){return typeof t=="string"?t:t(s,o,a)}var i=function(s){_1(o,s);function o(a,c,f){return s.call(this,n(a,c,f))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,gl[e]=i}function Uu(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function v1(e,t,r){return e.substr(0,t.length)===t}function E1(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function x1(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}mt("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);mt("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&v1(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(E1(e," argument"))i="The ".concat(e," ").concat(n," ").concat(Uu(t,"type"));else{var s=x1(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(s," ").concat(n," ").concat(Uu(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);mt("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");mt("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});mt("ERR_STREAM_PREMATURE_CLOSE","Premature close");mt("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});mt("ERR_MULTIPLE_CALLBACK","Callback called multiple times");mt("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");mt("ERR_STREAM_WRITE_AFTER_END","write after end");mt("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);mt("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);mt("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");Gr.codes=gl;var A1=Gr.codes.ERR_INVALID_OPT_VALUE;function S1(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function P1(e,t,r,n){var i=S1(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?r:"highWaterMark";throw new A1(s,i)}return Math.floor(i)}return e.objectMode?16:16*1024}var wl={getHighWaterMark:P1},T1=k1;function k1(e,t){if(Go("noDeprecation"))return e;var r=!1;function n(){if(!r){if(Go("throwDeprecation"))throw new Error(t);Go("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function Go(e){try{if(!br.localStorage)return!1}catch{return!1}var t=br.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}var zo,Fu;function _l(){if(Fu)return zo;Fu=1,zo=$;function e(O){var C=this;this.next=null,this.entry=null,this.finish=function(){Rt(C,O)}}var t;$.WritableState=S;var r={deprecate:T1},n=ml,i=Zt.Buffer,s=(typeof br<"u"?br:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(O){return i.from(O)}function a(O){return i.isBuffer(O)||O instanceof s}var c=bl,f=wl,l=f.getHighWaterMark,h=Gr.codes,y=h.ERR_INVALID_ARG_TYPE,p=h.ERR_METHOD_NOT_IMPLEMENTED,g=h.ERR_MULTIPLE_CALLBACK,_=h.ERR_STREAM_CANNOT_PIPE,x=h.ERR_STREAM_DESTROYED,k=h.ERR_STREAM_NULL_VALUES,T=h.ERR_STREAM_WRITE_AFTER_END,A=h.ERR_UNKNOWN_ENCODING,E=c.errorOrDestroy;He($,n);function I(){}function S(O,C,H){t=t||vn(),O=O||{},typeof H!="boolean"&&(H=C instanceof t),this.objectMode=!!O.objectMode,H&&(this.objectMode=this.objectMode||!!O.writableObjectMode),this.highWaterMark=l(this,O,"writableHighWaterMark",H),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var K=O.decodeStrings===!1;this.decodeStrings=!K,this.defaultEncoding=O.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(Z){ne(C,Z)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=O.emitClose!==!1,this.autoDestroy=!!O.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}S.prototype.getBuffer=function(){for(var C=this.bufferedRequest,H=[];C;)H.push(C),C=C.next;return H},function(){try{Object.defineProperty(S.prototype,"buffer",{get:r.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var N;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(N=Function.prototype[Symbol.hasInstance],Object.defineProperty($,Symbol.hasInstance,{value:function(C){return N.call(this,C)?!0:this!==$?!1:C&&C._writableState instanceof S}})):N=function(C){return C instanceof this};function $(O){t=t||vn();var C=this instanceof t;if(!C&&!N.call($,this))return new $(O);this._writableState=new S(O,this,C),this.writable=!0,O&&(typeof O.write=="function"&&(this._write=O.write),typeof O.writev=="function"&&(this._writev=O.writev),typeof O.destroy=="function"&&(this._destroy=O.destroy),typeof O.final=="function"&&(this._final=O.final)),n.call(this)}$.prototype.pipe=function(){E(this,new _)};function B(O,C){var H=new T;E(O,H),process.nextTick(C,H)}function W(O,C,H,K){var Z;return H===null?Z=new k:typeof H!="string"&&!C.objectMode&&(Z=new y("chunk",["string","Buffer"],H)),Z?(E(O,Z),process.nextTick(K,Z),!1):!0}$.prototype.write=function(O,C,H){var K=this._writableState,Z=!1,w=!K.objectMode&&a(O);return w&&!i.isBuffer(O)&&(O=o(O)),typeof C=="function"&&(H=C,C=null),w?C="buffer":C||(C=K.defaultEncoding),typeof H!="function"&&(H=I),K.ending?B(this,H):(w||W(this,K,O,H))&&(K.pendingcb++,Z=D(this,K,w,O,C,H)),Z},$.prototype.cork=function(){this._writableState.corked++},$.prototype.uncork=function(){var O=this._writableState;O.corked&&(O.corked--,!O.writing&&!O.corked&&!O.bufferProcessing&&O.bufferedRequest&&Te(this,O))},$.prototype.setDefaultEncoding=function(C){if(typeof C=="string"&&(C=C.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((C+"").toLowerCase())>-1))throw new A(C);return this._writableState.defaultEncoding=C,this},Object.defineProperty($.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function R(O,C,H){return!O.objectMode&&O.decodeStrings!==!1&&typeof C=="string"&&(C=i.from(C,H)),C}Object.defineProperty($.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function D(O,C,H,K,Z,w){if(!H){var v=R(C,K,Z);K!==v&&(H=!0,Z="buffer",K=v)}var M=C.objectMode?1:K.length;C.length+=M;var z=C.length<C.highWaterMark;if(z||(C.needDrain=!0),C.writing||C.corked){var ve=C.lastBufferedRequest;C.lastBufferedRequest={chunk:K,encoding:Z,isBuf:H,callback:w,next:null},ve?ve.next=C.lastBufferedRequest:C.bufferedRequest=C.lastBufferedRequest,C.bufferedRequestCount+=1}else j(O,C,!1,M,K,Z,w);return z}function j(O,C,H,K,Z,w,v){C.writelen=K,C.writecb=v,C.writing=!0,C.sync=!0,C.destroyed?C.onwrite(new x("write")):H?O._writev(Z,C.onwrite):O._write(Z,w,C.onwrite),C.sync=!1}function V(O,C,H,K,Z){--C.pendingcb,H?(process.nextTick(Z,K),process.nextTick(st,O,C),O._writableState.errorEmitted=!0,E(O,K)):(Z(K),O._writableState.errorEmitted=!0,E(O,K),st(O,C))}function X(O){O.writing=!1,O.writecb=null,O.length-=O.writelen,O.writelen=0}function ne(O,C){var H=O._writableState,K=H.sync,Z=H.writecb;if(typeof Z!="function")throw new g;if(X(H),C)V(O,H,K,C,Z);else{var w=We(H)||O.destroyed;!w&&!H.corked&&!H.bufferProcessing&&H.bufferedRequest&&Te(O,H),K?process.nextTick(pe,O,H,w,Z):pe(O,H,w,Z)}}function pe(O,C,H,K){H||_e(O,C),C.pendingcb--,K(),st(O,C)}function _e(O,C){C.length===0&&C.needDrain&&(C.needDrain=!1,O.emit("drain"))}function Te(O,C){C.bufferProcessing=!0;var H=C.bufferedRequest;if(O._writev&&H&&H.next){var K=C.bufferedRequestCount,Z=new Array(K),w=C.corkedRequestsFree;w.entry=H;for(var v=0,M=!0;H;)Z[v]=H,H.isBuf||(M=!1),H=H.next,v+=1;Z.allBuffers=M,j(O,C,!0,C.length,Z,"",w.finish),C.pendingcb++,C.lastBufferedRequest=null,w.next?(C.corkedRequestsFree=w.next,w.next=null):C.corkedRequestsFree=new e(C),C.bufferedRequestCount=0}else{for(;H;){var z=H.chunk,ve=H.encoding,ee=H.callback,ae=C.objectMode?1:z.length;if(j(O,C,!1,ae,z,ve,ee),H=H.next,C.bufferedRequestCount--,C.writing)break}H===null&&(C.lastBufferedRequest=null)}C.bufferedRequest=H,C.bufferProcessing=!1}$.prototype._write=function(O,C,H){H(new p("_write()"))},$.prototype._writev=null,$.prototype.end=function(O,C,H){var K=this._writableState;return typeof O=="function"?(H=O,O=null,C=null):typeof C=="function"&&(H=C,C=null),O!=null&&this.write(O,C),K.corked&&(K.corked=1,this.uncork()),K.ending||er(this,K,H),this},Object.defineProperty($.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function We(O){return O.ending&&O.length===0&&O.bufferedRequest===null&&!O.finished&&!O.writing}function fe(O,C){O._final(function(H){C.pendingcb--,H&&E(O,H),C.prefinished=!0,O.emit("prefinish"),st(O,C)})}function me(O,C){!C.prefinished&&!C.finalCalled&&(typeof O._final=="function"&&!C.destroyed?(C.pendingcb++,C.finalCalled=!0,process.nextTick(fe,O,C)):(C.prefinished=!0,O.emit("prefinish")))}function st(O,C){var H=We(C);if(H&&(me(O,C),C.pendingcb===0&&(C.finished=!0,O.emit("finish"),C.autoDestroy))){var K=O._readableState;(!K||K.autoDestroy&&K.endEmitted)&&O.destroy()}return H}function er(O,C,H){C.ending=!0,st(O,C),H&&(C.finished?process.nextTick(H):O.once("finish",H)),C.ended=!0,O.writable=!1}function Rt(O,C,H){var K=O.entry;for(O.entry=null;K;){var Z=K.callback;C.pendingcb--,Z(H),K=K.next}C.corkedRequestsFree.next=O}return Object.defineProperty($.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(C){this._writableState&&(this._writableState.destroyed=C)}}),$.prototype.destroy=c.destroy,$.prototype._undestroy=c.undestroy,$.prototype._destroy=function(O,C){C(O)},zo}var qo,Nu;function vn(){if(Nu)return qo;Nu=1;var e=Object.keys||function(f){var l=[];for(var h in f)l.push(h);return l};qo=o;var t=El(),r=_l();He(o,t);for(var n=e(r.prototype),i=0;i<n.length;i++){var s=n[i];o.prototype[s]||(o.prototype[s]=r.prototype[s])}function o(f){if(!(this instanceof o))return new o(f);t.call(this,f),r.call(this,f),this.allowHalfOpen=!0,f&&(f.readable===!1&&(this.readable=!1),f.writable===!1&&(this.writable=!1),f.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",a)))}Object.defineProperty(o.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(o.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(o.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function a(){this._writableState.ended||process.nextTick(c,this)}function c(f){f.end()}return Object.defineProperty(o.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(l){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=l,this._writableState.destroyed=l)}}),qo}var Ps={},Sc=tt.Buffer,Lu=Sc.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function I1(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function B1(e){var t=I1(e);if(typeof t!="string"&&(Sc.isEncoding===Lu||!Lu(e)))throw new Error("Unknown encoding: "+e);return t||e}Ps.StringDecoder=ji;function ji(e){this.encoding=B1(e);var t;switch(this.encoding){case"utf16le":this.text=N1,this.end=L1,t=4;break;case"utf8":this.fillLast=R1,t=4;break;case"base64":this.text=M1,this.end=$1,t=3;break;default:this.write=H1,this.end=D1;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Sc.allocUnsafe(t)}ji.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""};ji.prototype.end=F1;ji.prototype.text=U1;ji.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function Vo(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function C1(e,t,r){var n=t.length-1;if(n<r)return 0;var i=Vo(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=Vo(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=Vo(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function O1(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"�"}}function R1(e){var t=this.lastTotal-this.lastNeed,r=O1(this,e);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function U1(e,t){var r=C1(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function F1(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function N1(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function L1(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function M1(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function $1(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function H1(e){return e.toString(this.encoding)}function D1(e){return e&&e.length?this.write(e):""}var Mu=Gr.codes.ERR_STREAM_PREMATURE_CLOSE;function j1(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function G1(){}function z1(e){return e.setHeader&&typeof e.abort=="function"}function vl(e,t,r){if(typeof t=="function")return vl(e,null,t);t||(t={}),r=j1(r||G1);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,s=function(){e.writable||a()},o=e._writableState&&e._writableState.finished,a=function(){i=!1,o=!0,n||r.call(e)},c=e._readableState&&e._readableState.endEmitted,f=function(){n=!1,c=!0,i||r.call(e)},l=function(g){r.call(e,g)},h=function(){var g;if(n&&!c)return(!e._readableState||!e._readableState.ended)&&(g=new Mu),r.call(e,g);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(g=new Mu),r.call(e,g)},y=function(){e.req.on("finish",a)};return z1(e)?(e.on("complete",a),e.on("abort",h),e.req?y():e.on("request",y)):i&&!e._writableState&&(e.on("end",s),e.on("close",s)),e.on("end",f),e.on("finish",a),t.error!==!1&&e.on("error",l),e.on("close",h),function(){e.removeListener("complete",a),e.removeListener("abort",h),e.removeListener("request",y),e.req&&e.req.removeListener("finish",a),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",a),e.removeListener("end",f),e.removeListener("error",l),e.removeListener("close",h)}}var Pc=vl,Wo,$u;function q1(){if($u)return Wo;$u=1;var e;function t(A,E,I){return E=r(E),E in A?Object.defineProperty(A,E,{value:I,enumerable:!0,configurable:!0,writable:!0}):A[E]=I,A}function r(A){var E=n(A,"string");return typeof E=="symbol"?E:String(E)}function n(A,E){if(typeof A!="object"||A===null)return A;var I=A[Symbol.toPrimitive];if(I!==void 0){var S=I.call(A,E);if(typeof S!="object")return S;throw new TypeError("@@toPrimitive must return a primitive value.")}return(E==="string"?String:Number)(A)}var i=Pc,s=Symbol("lastResolve"),o=Symbol("lastReject"),a=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),l=Symbol("handlePromise"),h=Symbol("stream");function y(A,E){return{value:A,done:E}}function p(A){var E=A[s];if(E!==null){var I=A[h].read();I!==null&&(A[f]=null,A[s]=null,A[o]=null,E(y(I,!1)))}}function g(A){process.nextTick(p,A)}function _(A,E){return function(I,S){A.then(function(){if(E[c]){I(y(void 0,!0));return}E[l](I,S)},S)}}var x=Object.getPrototypeOf(function(){}),k=Object.setPrototypeOf((e={get stream(){return this[h]},next:function(){var E=this,I=this[a];if(I!==null)return Promise.reject(I);if(this[c])return Promise.resolve(y(void 0,!0));if(this[h].destroyed)return new Promise(function(B,W){process.nextTick(function(){E[a]?W(E[a]):B(y(void 0,!0))})});var S=this[f],N;if(S)N=new Promise(_(S,this));else{var $=this[h].read();if($!==null)return Promise.resolve(y($,!1));N=new Promise(this[l])}return this[f]=N,N}},t(e,Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var E=this;return new Promise(function(I,S){E[h].destroy(null,function(N){if(N){S(N);return}I(y(void 0,!0))})})}),e),x),T=function(E){var I,S=Object.create(k,(I={},t(I,h,{value:E,writable:!0}),t(I,s,{value:null,writable:!0}),t(I,o,{value:null,writable:!0}),t(I,a,{value:null,writable:!0}),t(I,c,{value:E._readableState.endEmitted,writable:!0}),t(I,l,{value:function($,B){var W=S[h].read();W?(S[f]=null,S[s]=null,S[o]=null,$(y(W,!1))):(S[s]=$,S[o]=B)},writable:!0}),I));return S[f]=null,i(E,function(N){if(N&&N.code!=="ERR_STREAM_PREMATURE_CLOSE"){var $=S[o];$!==null&&(S[f]=null,S[s]=null,S[o]=null,$(N)),S[a]=N;return}var B=S[s];B!==null&&(S[f]=null,S[s]=null,S[o]=null,B(y(void 0,!0))),S[c]=!0}),E.on("readable",g.bind(null,S)),S};return Wo=T,Wo}var Ko,Hu;function V1(){return Hu||(Hu=1,Ko=function(){throw new Error("Readable.from is not available in the browser")}),Ko}var Yo,Du;function El(){if(Du)return Yo;Du=1,Yo=B;var e;B.ReadableState=$,yl.EventEmitter;var t=function(v,M){return v.listeners(M).length},r=ml,n=Zt.Buffer,i=(typeof br<"u"?br:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function s(w){return n.from(w)}function o(w){return n.isBuffer(w)||w instanceof i}var a=Ac,c;a&&a.debuglog?c=a.debuglog("stream"):c=function(){};var f=m1(),l=bl,h=wl,y=h.getHighWaterMark,p=Gr.codes,g=p.ERR_INVALID_ARG_TYPE,_=p.ERR_STREAM_PUSH_AFTER_EOF,x=p.ERR_METHOD_NOT_IMPLEMENTED,k=p.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,T,A,E;He(B,r);var I=l.errorOrDestroy,S=["error","close","destroy","pause","resume"];function N(w,v,M){if(typeof w.prependListener=="function")return w.prependListener(v,M);!w._events||!w._events[v]?w.on(v,M):Array.isArray(w._events[v])?w._events[v].unshift(M):w._events[v]=[M,w._events[v]]}function $(w,v,M){e=e||vn(),w=w||{},typeof M!="boolean"&&(M=v instanceof e),this.objectMode=!!w.objectMode,M&&(this.objectMode=this.objectMode||!!w.readableObjectMode),this.highWaterMark=y(this,w,"readableHighWaterMark",M),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=w.emitClose!==!1,this.autoDestroy=!!w.autoDestroy,this.destroyed=!1,this.defaultEncoding=w.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,w.encoding&&(T||(T=Ps.StringDecoder),this.decoder=new T(w.encoding),this.encoding=w.encoding)}function B(w){if(e=e||vn(),!(this instanceof B))return new B(w);var v=this instanceof e;this._readableState=new $(w,this,v),this.readable=!0,w&&(typeof w.read=="function"&&(this._read=w.read),typeof w.destroy=="function"&&(this._destroy=w.destroy)),r.call(this)}Object.defineProperty(B.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(v){this._readableState&&(this._readableState.destroyed=v)}}),B.prototype.destroy=l.destroy,B.prototype._undestroy=l.undestroy,B.prototype._destroy=function(w,v){v(w)},B.prototype.push=function(w,v){var M=this._readableState,z;return M.objectMode?z=!0:typeof w=="string"&&(v=v||M.defaultEncoding,v!==M.encoding&&(w=n.from(w,v),v=""),z=!0),W(this,w,v,!1,z)},B.prototype.unshift=function(w){return W(this,w,null,!0,!1)};function W(w,v,M,z,ve){c("readableAddChunk",v);var ee=w._readableState;if(v===null)ee.reading=!1,ne(w,ee);else{var ae;if(ve||(ae=D(ee,v)),ae)I(w,ae);else if(ee.objectMode||v&&v.length>0)if(typeof v!="string"&&!ee.objectMode&&Object.getPrototypeOf(v)!==n.prototype&&(v=s(v)),z)ee.endEmitted?I(w,new k):R(w,ee,v,!0);else if(ee.ended)I(w,new _);else{if(ee.destroyed)return!1;ee.reading=!1,ee.decoder&&!M?(v=ee.decoder.write(v),ee.objectMode||v.length!==0?R(w,ee,v,!1):Te(w,ee)):R(w,ee,v,!1)}else z||(ee.reading=!1,Te(w,ee))}return!ee.ended&&(ee.length<ee.highWaterMark||ee.length===0)}function R(w,v,M,z){v.flowing&&v.length===0&&!v.sync?(v.awaitDrain=0,w.emit("data",M)):(v.length+=v.objectMode?1:M.length,z?v.buffer.unshift(M):v.buffer.push(M),v.needReadable&&pe(w)),Te(w,v)}function D(w,v){var M;return!o(v)&&typeof v!="string"&&v!==void 0&&!w.objectMode&&(M=new g("chunk",["string","Buffer","Uint8Array"],v)),M}B.prototype.isPaused=function(){return this._readableState.flowing===!1},B.prototype.setEncoding=function(w){T||(T=Ps.StringDecoder);var v=new T(w);this._readableState.decoder=v,this._readableState.encoding=this._readableState.decoder.encoding;for(var M=this._readableState.buffer.head,z="";M!==null;)z+=v.write(M.data),M=M.next;return this._readableState.buffer.clear(),z!==""&&this._readableState.buffer.push(z),this._readableState.length=z.length,this};var j=1073741824;function V(w){return w>=j?w=j:(w--,w|=w>>>1,w|=w>>>2,w|=w>>>4,w|=w>>>8,w|=w>>>16,w++),w}function X(w,v){return w<=0||v.length===0&&v.ended?0:v.objectMode?1:w!==w?v.flowing&&v.length?v.buffer.head.data.length:v.length:(w>v.highWaterMark&&(v.highWaterMark=V(w)),w<=v.length?w:v.ended?v.length:(v.needReadable=!0,0))}B.prototype.read=function(w){c("read",w),w=parseInt(w,10);var v=this._readableState,M=w;if(w!==0&&(v.emittedReadable=!1),w===0&&v.needReadable&&((v.highWaterMark!==0?v.length>=v.highWaterMark:v.length>0)||v.ended))return c("read: emitReadable",v.length,v.ended),v.length===0&&v.ended?H(this):pe(this),null;if(w=X(w,v),w===0&&v.ended)return v.length===0&&H(this),null;var z=v.needReadable;c("need readable",z),(v.length===0||v.length-w<v.highWaterMark)&&(z=!0,c("length less than watermark",z)),v.ended||v.reading?(z=!1,c("reading or ended",z)):z&&(c("do read"),v.reading=!0,v.sync=!0,v.length===0&&(v.needReadable=!0),this._read(v.highWaterMark),v.sync=!1,v.reading||(w=X(M,v)));var ve;return w>0?ve=C(w,v):ve=null,ve===null?(v.needReadable=v.length<=v.highWaterMark,w=0):(v.length-=w,v.awaitDrain=0),v.length===0&&(v.ended||(v.needReadable=!0),M!==w&&v.ended&&H(this)),ve!==null&&this.emit("data",ve),ve};function ne(w,v){if(c("onEofChunk"),!v.ended){if(v.decoder){var M=v.decoder.end();M&&M.length&&(v.buffer.push(M),v.length+=v.objectMode?1:M.length)}v.ended=!0,v.sync?pe(w):(v.needReadable=!1,v.emittedReadable||(v.emittedReadable=!0,_e(w)))}}function pe(w){var v=w._readableState;c("emitReadable",v.needReadable,v.emittedReadable),v.needReadable=!1,v.emittedReadable||(c("emitReadable",v.flowing),v.emittedReadable=!0,process.nextTick(_e,w))}function _e(w){var v=w._readableState;c("emitReadable_",v.destroyed,v.length,v.ended),!v.destroyed&&(v.length||v.ended)&&(w.emit("readable"),v.emittedReadable=!1),v.needReadable=!v.flowing&&!v.ended&&v.length<=v.highWaterMark,O(w)}function Te(w,v){v.readingMore||(v.readingMore=!0,process.nextTick(We,w,v))}function We(w,v){for(;!v.reading&&!v.ended&&(v.length<v.highWaterMark||v.flowing&&v.length===0);){var M=v.length;if(c("maybeReadMore read 0"),w.read(0),M===v.length)break}v.readingMore=!1}B.prototype._read=function(w){I(this,new x("_read()"))},B.prototype.pipe=function(w,v){var M=this,z=this._readableState;switch(z.pipesCount){case 0:z.pipes=w;break;case 1:z.pipes=[z.pipes,w];break;default:z.pipes.push(w);break}z.pipesCount+=1,c("pipe count=%d opts=%j",z.pipesCount,v);var ve=(!v||v.end!==!1)&&w!==process.stdout&&w!==process.stderr,ee=ve?tr:Sr;z.endEmitted?process.nextTick(ee):M.once("end",ee),w.on("unpipe",ae);function ae(m,u){c("onunpipe"),m===M&&u&&u.hasUnpiped===!1&&(u.hasUnpiped=!0,Vr())}function tr(){c("onend"),w.end()}var qr=fe(M);w.on("drain",qr);var kn=!1;function Vr(){c("cleanup"),w.removeListener("close",In),w.removeListener("finish",ft),w.removeListener("drain",qr),w.removeListener("error",Ar),w.removeListener("unpipe",ae),M.removeListener("end",tr),M.removeListener("end",Sr),M.removeListener("data",ot),kn=!0,z.awaitDrain&&(!w._writableState||w._writableState.needDrain)&&qr()}M.on("data",ot);function ot(m){c("ondata");var u=w.write(m);c("dest.write",u),u===!1&&((z.pipesCount===1&&z.pipes===w||z.pipesCount>1&&Z(z.pipes,w)!==-1)&&!kn&&(c("false write response, pause",z.awaitDrain),z.awaitDrain++),M.pause())}function Ar(m){c("onerror",m),Sr(),w.removeListener("error",Ar),t(w,"error")===0&&I(w,m)}N(w,"error",Ar);function In(){w.removeListener("finish",ft),Sr()}w.once("close",In);function ft(){c("onfinish"),w.removeListener("close",In),Sr()}w.once("finish",ft);function Sr(){c("unpipe"),M.unpipe(w)}return w.emit("pipe",M),z.flowing||(c("pipe resume"),M.resume()),w};function fe(w){return function(){var M=w._readableState;c("pipeOnDrain",M.awaitDrain),M.awaitDrain&&M.awaitDrain--,M.awaitDrain===0&&t(w,"data")&&(M.flowing=!0,O(w))}}B.prototype.unpipe=function(w){var v=this._readableState,M={hasUnpiped:!1};if(v.pipesCount===0)return this;if(v.pipesCount===1)return w&&w!==v.pipes?this:(w||(w=v.pipes),v.pipes=null,v.pipesCount=0,v.flowing=!1,w&&w.emit("unpipe",this,M),this);if(!w){var z=v.pipes,ve=v.pipesCount;v.pipes=null,v.pipesCount=0,v.flowing=!1;for(var ee=0;ee<ve;ee++)z[ee].emit("unpipe",this,{hasUnpiped:!1});return this}var ae=Z(v.pipes,w);return ae===-1?this:(v.pipes.splice(ae,1),v.pipesCount-=1,v.pipesCount===1&&(v.pipes=v.pipes[0]),w.emit("unpipe",this,M),this)},B.prototype.on=function(w,v){var M=r.prototype.on.call(this,w,v),z=this._readableState;return w==="data"?(z.readableListening=this.listenerCount("readable")>0,z.flowing!==!1&&this.resume()):w==="readable"&&!z.endEmitted&&!z.readableListening&&(z.readableListening=z.needReadable=!0,z.flowing=!1,z.emittedReadable=!1,c("on readable",z.length,z.reading),z.length?pe(this):z.reading||process.nextTick(st,this)),M},B.prototype.addListener=B.prototype.on,B.prototype.removeListener=function(w,v){var M=r.prototype.removeListener.call(this,w,v);return w==="readable"&&process.nextTick(me,this),M},B.prototype.removeAllListeners=function(w){var v=r.prototype.removeAllListeners.apply(this,arguments);return(w==="readable"||w===void 0)&&process.nextTick(me,this),v};function me(w){var v=w._readableState;v.readableListening=w.listenerCount("readable")>0,v.resumeScheduled&&!v.paused?v.flowing=!0:w.listenerCount("data")>0&&w.resume()}function st(w){c("readable nexttick read 0"),w.read(0)}B.prototype.resume=function(){var w=this._readableState;return w.flowing||(c("resume"),w.flowing=!w.readableListening,er(this,w)),w.paused=!1,this};function er(w,v){v.resumeScheduled||(v.resumeScheduled=!0,process.nextTick(Rt,w,v))}function Rt(w,v){c("resume",v.reading),v.reading||w.read(0),v.resumeScheduled=!1,w.emit("resume"),O(w),v.flowing&&!v.reading&&w.read(0)}B.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function O(w){var v=w._readableState;for(c("flow",v.flowing);v.flowing&&w.read()!==null;);}B.prototype.wrap=function(w){var v=this,M=this._readableState,z=!1;w.on("end",function(){if(c("wrapped end"),M.decoder&&!M.ended){var ae=M.decoder.end();ae&&ae.length&&v.push(ae)}v.push(null)}),w.on("data",function(ae){if(c("wrapped data"),M.decoder&&(ae=M.decoder.write(ae)),!(M.objectMode&&ae==null)&&!(!M.objectMode&&(!ae||!ae.length))){var tr=v.push(ae);tr||(z=!0,w.pause())}});for(var ve in w)this[ve]===void 0&&typeof w[ve]=="function"&&(this[ve]=function(tr){return function(){return w[tr].apply(w,arguments)}}(ve));for(var ee=0;ee<S.length;ee++)w.on(S[ee],this.emit.bind(this,S[ee]));return this._read=function(ae){c("wrapped _read",ae),z&&(z=!1,w.resume())},this},typeof Symbol=="function"&&(B.prototype[Symbol.asyncIterator]=function(){return A===void 0&&(A=q1()),A(this)}),Object.defineProperty(B.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(B.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(B.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(v){this._readableState&&(this._readableState.flowing=v)}}),B._fromList=C,Object.defineProperty(B.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function C(w,v){if(v.length===0)return null;var M;return v.objectMode?M=v.buffer.shift():!w||w>=v.length?(v.decoder?M=v.buffer.join(""):v.buffer.length===1?M=v.buffer.first():M=v.buffer.concat(v.length),v.buffer.clear()):M=v.buffer.consume(w,v.decoder),M}function H(w){var v=w._readableState;c("endReadable",v.endEmitted),v.endEmitted||(v.ended=!0,process.nextTick(K,v,w))}function K(w,v){if(c("endReadableNT",w.endEmitted,w.length),!w.endEmitted&&w.length===0&&(w.endEmitted=!0,v.readable=!1,v.emit("end"),w.autoDestroy)){var M=v._writableState;(!M||M.autoDestroy&&M.finished)&&v.destroy()}}typeof Symbol=="function"&&(B.from=function(w,v){return E===void 0&&(E=V1()),E(B,w,v)});function Z(w,v){for(var M=0,z=w.length;M<z;M++)if(w[M]===v)return M;return-1}return Yo}var xl=Xt,to=Gr.codes,W1=to.ERR_METHOD_NOT_IMPLEMENTED,K1=to.ERR_MULTIPLE_CALLBACK,Y1=to.ERR_TRANSFORM_ALREADY_TRANSFORMING,X1=to.ERR_TRANSFORM_WITH_LENGTH_0,ro=vn();He(Xt,ro);function J1(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new K1);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Xt(e){if(!(this instanceof Xt))return new Xt(e);ro.call(this,e),this._transformState={afterTransform:J1.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",Q1)}function Q1(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(t,r){ju(e,t,r)}):ju(this,null,null)}Xt.prototype.push=function(e,t){return this._transformState.needTransform=!1,ro.prototype.push.call(this,e,t)};Xt.prototype._transform=function(e,t,r){r(new W1("_transform()"))};Xt.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Xt.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Xt.prototype._destroy=function(e,t){ro.prototype._destroy.call(this,e,function(r){t(r)})};function ju(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new X1;if(e._transformState.transforming)throw new Y1;return e.push(null)}var Z1=ki,Al=xl;He(ki,Al);function ki(e){if(!(this instanceof ki))return new ki(e);Al.call(this,e)}ki.prototype._transform=function(e,t,r){r(null,e)};var Xo;function ew(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var Sl=Gr.codes,tw=Sl.ERR_MISSING_ARGS,rw=Sl.ERR_STREAM_DESTROYED;function Gu(e){if(e)throw e}function nw(e){return e.setHeader&&typeof e.abort=="function"}function iw(e,t,r,n){n=ew(n);var i=!1;e.on("close",function(){i=!0}),Xo===void 0&&(Xo=Pc),Xo(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var s=!1;return function(o){if(!i&&!s){if(s=!0,nw(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new rw("pipe"))}}}function zu(e){e()}function sw(e,t){return e.pipe(t)}function ow(e){return!e.length||typeof e[e.length-1]!="function"?Gu:e.pop()}function aw(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=ow(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new tw("streams");var i,s=t.map(function(o,a){var c=a<t.length-1,f=a>0;return iw(o,c,f,function(l){i||(i=l),l&&s.forEach(zu),!c&&(s.forEach(zu),n(i))})});return t.reduce(sw)}var cw=aw;(function(e,t){t=e.exports=El(),t.Stream=t,t.Readable=t,t.Writable=_l(),t.Duplex=vn(),t.Transform=xl,t.PassThrough=Z1,t.finished=Pc,t.pipeline=cw})(ka,ka.exports);var Pl=ka.exports,Ts=tt.Buffer,Tl=Pl.Transform,uw=He;function fw(e,t){if(!Ts.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Er(e){Tl.call(this),this._block=Ts.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}uw(Er,Tl);Er.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Er.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Er.prototype.update=function(e,t){if(fw(e,"Data"),this._finalized)throw new Error("Digest already called");Ts.isBuffer(e)||(e=Ts.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};Er.prototype._update=function(){throw new Error("_update is not implemented")};Er.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};Er.prototype._digest=function(){throw new Error("_digest is not implemented")};var dw=Er,lw=He,kl=dw,hw=tt.Buffer,pw=new Array(16);function no(){kl.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}lw(no,kl);no.prototype._update=function(){for(var e=pw,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);var r=this._a,n=this._b,i=this._c,s=this._d;r=De(r,n,i,s,e[0],3614090360,7),s=De(s,r,n,i,e[1],3905402710,12),i=De(i,s,r,n,e[2],606105819,17),n=De(n,i,s,r,e[3],3250441966,22),r=De(r,n,i,s,e[4],4118548399,7),s=De(s,r,n,i,e[5],1200080426,12),i=De(i,s,r,n,e[6],2821735955,17),n=De(n,i,s,r,e[7],4249261313,22),r=De(r,n,i,s,e[8],1770035416,7),s=De(s,r,n,i,e[9],2336552879,12),i=De(i,s,r,n,e[10],4294925233,17),n=De(n,i,s,r,e[11],2304563134,22),r=De(r,n,i,s,e[12],1804603682,7),s=De(s,r,n,i,e[13],4254626195,12),i=De(i,s,r,n,e[14],2792965006,17),n=De(n,i,s,r,e[15],1236535329,22),r=je(r,n,i,s,e[1],4129170786,5),s=je(s,r,n,i,e[6],3225465664,9),i=je(i,s,r,n,e[11],643717713,14),n=je(n,i,s,r,e[0],3921069994,20),r=je(r,n,i,s,e[5],3593408605,5),s=je(s,r,n,i,e[10],38016083,9),i=je(i,s,r,n,e[15],3634488961,14),n=je(n,i,s,r,e[4],3889429448,20),r=je(r,n,i,s,e[9],568446438,5),s=je(s,r,n,i,e[14],3275163606,9),i=je(i,s,r,n,e[3],4107603335,14),n=je(n,i,s,r,e[8],1163531501,20),r=je(r,n,i,s,e[13],2850285829,5),s=je(s,r,n,i,e[2],4243563512,9),i=je(i,s,r,n,e[7],1735328473,14),n=je(n,i,s,r,e[12],2368359562,20),r=Ge(r,n,i,s,e[5],4294588738,4),s=Ge(s,r,n,i,e[8],2272392833,11),i=Ge(i,s,r,n,e[11],1839030562,16),n=Ge(n,i,s,r,e[14],4259657740,23),r=Ge(r,n,i,s,e[1],2763975236,4),s=Ge(s,r,n,i,e[4],1272893353,11),i=Ge(i,s,r,n,e[7],4139469664,16),n=Ge(n,i,s,r,e[10],3200236656,23),r=Ge(r,n,i,s,e[13],681279174,4),s=Ge(s,r,n,i,e[0],3936430074,11),i=Ge(i,s,r,n,e[3],3572445317,16),n=Ge(n,i,s,r,e[6],76029189,23),r=Ge(r,n,i,s,e[9],3654602809,4),s=Ge(s,r,n,i,e[12],3873151461,11),i=Ge(i,s,r,n,e[15],530742520,16),n=Ge(n,i,s,r,e[2],3299628645,23),r=ze(r,n,i,s,e[0],4096336452,6),s=ze(s,r,n,i,e[7],1126891415,10),i=ze(i,s,r,n,e[14],2878612391,15),n=ze(n,i,s,r,e[5],4237533241,21),r=ze(r,n,i,s,e[12],1700485571,6),s=ze(s,r,n,i,e[3],2399980690,10),i=ze(i,s,r,n,e[10],4293915773,15),n=ze(n,i,s,r,e[1],2240044497,21),r=ze(r,n,i,s,e[8],1873313359,6),s=ze(s,r,n,i,e[15],4264355552,10),i=ze(i,s,r,n,e[6],2734768916,15),n=ze(n,i,s,r,e[13],1309151649,21),r=ze(r,n,i,s,e[4],4149444226,6),s=ze(s,r,n,i,e[11],3174756917,10),i=ze(i,s,r,n,e[2],718787259,15),n=ze(n,i,s,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+s|0};no.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=hw.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e};function io(e,t){return e<<t|e>>>32-t}function De(e,t,r,n,i,s,o){return io(e+(t&r|~t&n)+i+s|0,o)+t|0}function je(e,t,r,n,i,s,o){return io(e+(t&n|r&~n)+i+s|0,o)+t|0}function Ge(e,t,r,n,i,s,o){return io(e+(t^r^n)+i+s|0,o)+t|0}function ze(e,t,r,n,i,s,o){return io(e+(r^(t|~n))+i+s|0,o)+t|0}var yw=no,ks=tt.Buffer,Il=Pl.Transform,mw=He;function bw(e,t){if(!ks.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function xr(e){Il.call(this),this._block=ks.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}mw(xr,Il);xr.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};xr.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};xr.prototype.update=function(e,t){if(bw(e,"Data"),this._finalized)throw new Error("Digest already called");ks.isBuffer(e)||(e=ks.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};xr.prototype._update=function(){throw new Error("_update is not implemented")};xr.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};xr.prototype._digest=function(){throw new Error("_digest is not implemented")};var gw=xr,Jo=Zt.Buffer,ww=He,Bl=gw,_w=new Array(16),Mn=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],$n=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Hn=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Dn=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],jn=[0,1518500249,1859775393,2400959708,2840853838],Gn=[1352829926,1548603684,1836072691,2053994217,0];function so(){Bl.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}ww(so,Bl);so.prototype._update=function(){for(var e=_w,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);for(var r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._a|0,c=this._b|0,f=this._c|0,l=this._d|0,h=this._e|0,y=0;y<80;y+=1){var p,g;y<16?(p=qu(r,n,i,s,o,e[Mn[y]],jn[0],Hn[y]),g=Yu(a,c,f,l,h,e[$n[y]],Gn[0],Dn[y])):y<32?(p=Vu(r,n,i,s,o,e[Mn[y]],jn[1],Hn[y]),g=Ku(a,c,f,l,h,e[$n[y]],Gn[1],Dn[y])):y<48?(p=Wu(r,n,i,s,o,e[Mn[y]],jn[2],Hn[y]),g=Wu(a,c,f,l,h,e[$n[y]],Gn[2],Dn[y])):y<64?(p=Ku(r,n,i,s,o,e[Mn[y]],jn[3],Hn[y]),g=Vu(a,c,f,l,h,e[$n[y]],Gn[3],Dn[y])):(p=Yu(r,n,i,s,o,e[Mn[y]],jn[4],Hn[y]),g=qu(a,c,f,l,h,e[$n[y]],Gn[4],Dn[y])),r=o,o=s,s=Hr(i,10),i=n,n=p,a=h,h=l,l=Hr(f,10),f=c,c=g}var _=this._b+i+l|0;this._b=this._c+s+h|0,this._c=this._d+o+a|0,this._d=this._e+r+c|0,this._e=this._a+n+f|0,this._a=_};so.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=Jo.alloc?Jo.alloc(20):new Jo(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e};function Hr(e,t){return e<<t|e>>>32-t}function qu(e,t,r,n,i,s,o,a){return Hr(e+(t^r^n)+s+o|0,a)+i|0}function Vu(e,t,r,n,i,s,o,a){return Hr(e+(t&r|~t&n)+s+o|0,a)+i|0}function Wu(e,t,r,n,i,s,o,a){return Hr(e+((t|~r)^n)+s+o|0,a)+i|0}function Ku(e,t,r,n,i,s,o,a){return Hr(e+(t&n|r&~n)+s+o|0,a)+i|0}function Yu(e,t,r,n,i,s,o,a){return Hr(e+(t^(r|~n))+s+o|0,a)+i|0}var vw=so,Cl={exports:{}},Ol=tt.Buffer;function oo(e,t){this._block=Ol.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}oo.prototype.update=function(e,t){typeof e=="string"&&(t=t||"utf8",e=Ol.from(e,t));for(var r=this._block,n=this._blockSize,i=e.length,s=this._len,o=0;o<i;){for(var a=s%n,c=Math.min(i-o,n-a),f=0;f<c;f++)r[a+f]=e[o+f];s+=c,o+=c,s%n===0&&this._update(r)}return this._len+=i,this};oo.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(r&4294967295)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var s=this._hash();return e?s.toString(e):s};oo.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var Tn=oo,Ew=He,Rl=Tn,xw=tt.Buffer,Aw=[1518500249,1859775393,-1894007588,-899497514],Sw=new Array(80);function Gi(){this.init(),this._w=Sw,Rl.call(this,64,56)}Ew(Gi,Rl);Gi.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function Pw(e){return e<<5|e>>>27}function Tw(e){return e<<30|e>>>2}function kw(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}Gi.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=t[a-3]^t[a-8]^t[a-14]^t[a-16];for(var c=0;c<80;++c){var f=~~(c/20),l=Pw(r)+kw(f,n,i,s)+o+t[c]+Aw[f]|0;o=s,s=i,i=Tw(n),n=r,r=l}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};Gi.prototype._hash=function(){var e=xw.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var Iw=Gi,Bw=He,Ul=Tn,Cw=tt.Buffer,Ow=[1518500249,1859775393,-1894007588,-899497514],Rw=new Array(80);function zi(){this.init(),this._w=Rw,Ul.call(this,64,56)}Bw(zi,Ul);zi.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function Uw(e){return e<<1|e>>>31}function Fw(e){return e<<5|e>>>27}function Nw(e){return e<<30|e>>>2}function Lw(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}zi.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=Uw(t[a-3]^t[a-8]^t[a-14]^t[a-16]);for(var c=0;c<80;++c){var f=~~(c/20),l=Fw(r)+Lw(f,n,i,s)+o+t[c]+Ow[f]|0;o=s,s=i,i=Nw(n),n=r,r=l}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};zi.prototype._hash=function(){var e=Cw.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var Mw=zi,$w=He,Fl=Tn,Hw=tt.Buffer,Dw=[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],jw=new Array(64);function qi(){this.init(),this._w=jw,Fl.call(this,64,56)}$w(qi,Fl);qi.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function Gw(e,t,r){return r^e&(t^r)}function zw(e,t,r){return e&t|r&(e|t)}function qw(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function Vw(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function Ww(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function Kw(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}qi.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._f|0,c=this._g|0,f=this._h|0,l=0;l<16;++l)t[l]=e.readInt32BE(l*4);for(;l<64;++l)t[l]=Kw(t[l-2])+t[l-7]+Ww(t[l-15])+t[l-16]|0;for(var h=0;h<64;++h){var y=f+Vw(o)+Gw(o,a,c)+Dw[h]+t[h]|0,p=qw(r)+zw(r,n,i)|0;f=c,c=a,a=o,o=s+y|0,s=i,i=n,n=r,r=y+p|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0,this._f=a+this._f|0,this._g=c+this._g|0,this._h=f+this._h|0};qi.prototype._hash=function(){var e=Hw.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e};var Nl=qi,Yw=He,Xw=Nl,Jw=Tn,Qw=tt.Buffer,Zw=new Array(64);function ao(){this.init(),this._w=Zw,Jw.call(this,64,56)}Yw(ao,Xw);ao.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this};ao.prototype._hash=function(){var e=Qw.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e};var e2=ao,t2=He,Ll=Tn,r2=tt.Buffer,Xu=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],n2=new Array(160);function Vi(){this.init(),this._w=n2,Ll.call(this,128,112)}t2(Vi,Ll);Vi.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function Ju(e,t,r){return r^e&(t^r)}function Qu(e,t,r){return e&t|r&(e|t)}function Zu(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function ef(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function i2(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function s2(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function o2(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function a2(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function Ue(e,t){return e>>>0<t>>>0?1:0}Vi.prototype._update=function(e){for(var t=this._w,r=this._ah|0,n=this._bh|0,i=this._ch|0,s=this._dh|0,o=this._eh|0,a=this._fh|0,c=this._gh|0,f=this._hh|0,l=this._al|0,h=this._bl|0,y=this._cl|0,p=this._dl|0,g=this._el|0,_=this._fl|0,x=this._gl|0,k=this._hl|0,T=0;T<32;T+=2)t[T]=e.readInt32BE(T*4),t[T+1]=e.readInt32BE(T*4+4);for(;T<160;T+=2){var A=t[T-30],E=t[T-15*2+1],I=i2(A,E),S=s2(E,A);A=t[T-2*2],E=t[T-2*2+1];var N=o2(A,E),$=a2(E,A),B=t[T-7*2],W=t[T-7*2+1],R=t[T-16*2],D=t[T-16*2+1],j=S+W|0,V=I+B+Ue(j,S)|0;j=j+$|0,V=V+N+Ue(j,$)|0,j=j+D|0,V=V+R+Ue(j,D)|0,t[T]=V,t[T+1]=j}for(var X=0;X<160;X+=2){V=t[X],j=t[X+1];var ne=Qu(r,n,i),pe=Qu(l,h,y),_e=Zu(r,l),Te=Zu(l,r),We=ef(o,g),fe=ef(g,o),me=Xu[X],st=Xu[X+1],er=Ju(o,a,c),Rt=Ju(g,_,x),O=k+fe|0,C=f+We+Ue(O,k)|0;O=O+Rt|0,C=C+er+Ue(O,Rt)|0,O=O+st|0,C=C+me+Ue(O,st)|0,O=O+j|0,C=C+V+Ue(O,j)|0;var H=Te+pe|0,K=_e+ne+Ue(H,Te)|0;f=c,k=x,c=a,x=_,a=o,_=g,g=p+O|0,o=s+C+Ue(g,p)|0,s=i,p=y,i=n,y=h,n=r,h=l,l=O+H|0,r=C+K+Ue(l,O)|0}this._al=this._al+l|0,this._bl=this._bl+h|0,this._cl=this._cl+y|0,this._dl=this._dl+p|0,this._el=this._el+g|0,this._fl=this._fl+_|0,this._gl=this._gl+x|0,this._hl=this._hl+k|0,this._ah=this._ah+r+Ue(this._al,l)|0,this._bh=this._bh+n+Ue(this._bl,h)|0,this._ch=this._ch+i+Ue(this._cl,y)|0,this._dh=this._dh+s+Ue(this._dl,p)|0,this._eh=this._eh+o+Ue(this._el,g)|0,this._fh=this._fh+a+Ue(this._fl,_)|0,this._gh=this._gh+c+Ue(this._gl,x)|0,this._hh=this._hh+f+Ue(this._hl,k)|0};Vi.prototype._hash=function(){var e=r2.allocUnsafe(64);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e};var Ml=Vi,c2=He,u2=Ml,f2=Tn,d2=tt.Buffer,l2=new Array(160);function co(){this.init(),this._w=l2,f2.call(this,128,112)}c2(co,u2);co.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this};co.prototype._hash=function(){var e=d2.allocUnsafe(48);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e};var h2=co,zr=Cl.exports=function(t){t=t.toLowerCase();var r=zr[t];if(!r)throw new Error(t+" is not supported (we accept pull requests)");return new r};zr.sha=Iw;zr.sha1=Mw;zr.sha224=e2;zr.sha256=Nl;zr.sha384=h2;zr.sha512=Ml;var p2=Cl.exports,Tt=tt.Buffer,$l=Ac.Transform,y2=Ps.StringDecoder,m2=He;function wt(e){$l.call(this),this.hashMode=typeof e=="string",this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}m2(wt,$l);var b2=typeof Uint8Array<"u",g2=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&ArrayBuffer.isView&&(Tt.prototype instanceof Uint8Array||Tt.TYPED_ARRAY_SUPPORT);function w2(e,t){if(e instanceof Tt)return e;if(typeof e=="string")return Tt.from(e,t);if(g2&&ArrayBuffer.isView(e)){if(e.byteLength===0)return Tt.alloc(0);var r=Tt.from(e.buffer,e.byteOffset,e.byteLength);if(r.byteLength===e.byteLength)return r}if(b2&&e instanceof Uint8Array||Tt.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e))return Tt.from(e);throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}wt.prototype.update=function(e,t,r){var n=w2(e,t),i=this._update(n);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)};wt.prototype.setAutoPadding=function(){};wt.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")};wt.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")};wt.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")};wt.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(i){n=i}finally{r(n)}};wt.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(r){t=r}e(t)};wt.prototype._finalOrDigest=function(e){var t=this.__final()||Tt.alloc(0);return e&&(t=this._toString(t,e,!0)),t};wt.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new y2(t),this._encoding=t),this._encoding!==t)throw new Error("can’t switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n};var _2=wt,v2=He,E2=yw,x2=vw,A2=p2,Hl=_2;function uo(e){Hl.call(this,"digest"),this._hash=e}v2(uo,Hl);uo.prototype._update=function(e){this._hash.update(e)};uo.prototype._final=function(){return this._hash.digest()};var S2=function(t){return t=t.toLowerCase(),t==="md5"?new E2:t==="rmd160"||t==="ripemd160"?new x2:new uo(A2(t))},os=tt.Buffer;function P2(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var o=e.length,a=e.charAt(0),c=Math.log(o)/Math.log(256),f=Math.log(256)/Math.log(o);function l(p){if((Array.isArray(p)||p instanceof Uint8Array)&&(p=os.from(p)),!os.isBuffer(p))throw new TypeError("Expected Buffer");if(p.length===0)return"";for(var g=0,_=0,x=0,k=p.length;x!==k&&p[x]===0;)x++,g++;for(var T=(k-x)*f+1>>>0,A=new Uint8Array(T);x!==k;){for(var E=p[x],I=0,S=T-1;(E!==0||I<_)&&S!==-1;S--,I++)E+=256*A[S]>>>0,A[S]=E%o>>>0,E=E/o>>>0;if(E!==0)throw new Error("Non-zero carry");_=I,x++}for(var N=T-_;N!==T&&A[N]===0;)N++;for(var $=a.repeat(g);N<T;++N)$+=e.charAt(A[N]);return $}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return os.alloc(0);for(var g=0,_=0,x=0;p[g]===a;)_++,g++;for(var k=(p.length-g)*c+1>>>0,T=new Uint8Array(k);g<p.length;){var A=p.charCodeAt(g);if(A>255)return;var E=t[A];if(E===255)return;for(var I=0,S=k-1;(E!==0||I<x)&&S!==-1;S--,I++)E+=o*T[S]>>>0,T[S]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");x=I,g++}for(var N=k-x;N!==k&&T[N]===0;)N++;var $=os.allocUnsafe(_+(k-N));$.fill(0,0,_);for(var B=_;N!==k;)$[B++]=T[N++];return $}function y(p){var g=h(p);if(g)return g;throw new Error("Non-base"+o+" character")}return{encode:l,decodeUnsafe:h,decode:y}}var T2=P2,k2=T2,I2="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",B2=k2(I2),Qo=B2,C2=tt.Buffer,O2=function(e){function t(s){var o=e(s);return Qo.encode(C2.concat([s,o],s.length+4))}function r(s){var o=s.slice(0,-4),a=s.slice(-4),c=e(o);if(!(a[0]^c[0]|a[1]^c[1]|a[2]^c[2]|a[3]^c[3]))return o}function n(s){var o=Qo.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=Qo.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},tf=S2,R2=O2;function U2(e){var t=tf("sha256").update(e).digest();return tf("sha256").update(t).digest()}var F2=R2(U2),Ba=F2;function Dl(e,t){if(t!==void 0&&e[0]!==t)throw new Error("Invalid network version");if(e.length===33)return{version:e[0],privateKey:e.slice(1,33),compressed:!1};if(e.length!==34)throw new Error("Invalid WIF length");if(e[33]!==1)throw new Error("Invalid compression flag");return{version:e[0],privateKey:e.slice(1,33),compressed:!0}}function Ca(e,t,r){var n=new Buffer(r?34:33);return n.writeUInt8(e,0),t.copy(n,1),r&&(n[33]=1),n}function N2(e,t){return Dl(Ba.decode(e),t)}function L2(e,t,r){return typeof e=="number"?Ba.encode(Ca(e,t,r)):Ba.encode(Ca(e.version,e.privateKey,e.compressed))}var M2={decode:N2,decodeRaw:Dl,encode:L2,encodeRaw:Ca},fo={};Object.defineProperty(fo,"__esModule",{value:!0});fo.testEcc=void 0;const Y=e=>Buffer.from(e,"hex");function $2(e){ge(e.isPoint(Y("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ge(!e.isPoint(Y("030000000000000000000000000000000000000000000000000000000000000005"))),ge(e.isPrivate(Y("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ge(e.isPrivate(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ge(!e.isPrivate(Y("0000000000000000000000000000000000000000000000000000000000000000"))),ge(!e.isPrivate(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),ge(!e.isPrivate(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),ge(Buffer.from(e.privateAdd(Y("0000000000000000000000000000000000000000000000000000000000000001"),Y("0000000000000000000000000000000000000000000000000000000000000000"))).equals(Y("0000000000000000000000000000000000000000000000000000000000000001"))),ge(e.privateAdd(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),Y("0000000000000000000000000000000000000000000000000000000000000003"))===null),ge(Buffer.from(e.privateAdd(Y("e211078564db65c3ce7704f08262b1f38f1ef412ad15b5ac2d76657a63b2c500"),Y("b51fbb69051255d1becbd683de5848242a89c229348dd72896a87ada94ae8665"))).equals(Y("9730c2ee69edbb958d42db7460bafa18fef9d955325aec99044c81c8282b0a24"))),ge(Buffer.from(e.privateNegate(Y("0000000000000000000000000000000000000000000000000000000000000001"))).equals(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ge(Buffer.from(e.privateNegate(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"))).equals(Y("0000000000000000000000000000000000000000000000000000000000000003"))),ge(Buffer.from(e.privateNegate(Y("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(Y("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792"))),ge(Buffer.from(e.pointCompress(Y("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!0)).equals(Y("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ge(Buffer.from(e.pointCompress(Y("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!1)).equals(Y("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ge(Buffer.from(e.pointCompress(Y("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!0)).equals(Y("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ge(Buffer.from(e.pointCompress(Y("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!1)).equals(Y("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ge(Buffer.from(e.pointFromScalar(Y("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(Y("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))),ge(e.xOnlyPointAddTweak(Y("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===null);let t=e.xOnlyPointAddTweak(Y("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),Y("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));ge(Buffer.from(t.xOnlyPubkey).equals(Y("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))&&t.parity===1),t=e.xOnlyPointAddTweak(Y("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),Y("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47")),ge(Buffer.from(t.xOnlyPubkey).equals(Y("9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"))&&t.parity===0),ge(Buffer.from(e.sign(Y("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))).equals(Y("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),ge(e.verify(Y("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),Y("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Y("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&ge(Buffer.from(e.signSchnorr(Y("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),Y("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),Y("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906"))).equals(Y("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))),e.verifySchnorr&&ge(e.verifySchnorr(Y("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),Y("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),Y("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}fo.testEcc=$2;function ge(e){if(!e)throw new Error("ecc library invalid")}Object.defineProperty(wn,"__esModule",{value:!0});wn.ECPairFactory=wn.networks=void 0;const Oa=_n;wn.networks=Oa;const Je=ol,H2=a1,rf=M2,D2=fo,Zo=Je.typeforce.maybe(Je.typeforce.compile({compressed:Je.maybe(Je.Boolean),network:Je.maybe(Je.Network)})),j2=e=>e.length===32?e:e.slice(1,33);function G2(e){(0,D2.testEcc)(e);function t(a){return e.isPoint(a)}function r(a,c){if(Je.typeforce(Je.Buffer256bit,a),!e.isPrivate(a))throw new TypeError("Private key not in range [1, n)");return Je.typeforce(Zo,c),new o(a,void 0,c)}function n(a,c){return Je.typeforce(e.isPoint,a),Je.typeforce(Zo,c),new o(void 0,a,c)}function i(a,c){const f=rf.decode(a),l=f.version;if(Je.Array(c)){if(c=c.filter(h=>l===h.wif).pop(),!c)throw new Error("Unknown network version")}else if(c=c||Oa.bitcoin,l!==c.wif)throw new Error("Invalid network version");return r(f.privateKey,{compressed:f.compressed,network:c})}function s(a){Je.typeforce(Zo,a),a===void 0&&(a={});const c=a.rng||H2;let f;do f=c(32),Je.typeforce(Je.Buffer256bit,f);while(!e.isPrivate(f));return r(f,a)}class o{constructor(c,f,l){Wr(this,"__D");Wr(this,"__Q");Wr(this,"compressed");Wr(this,"network");Wr(this,"lowR");this.__D=c,this.__Q=f,this.lowR=!1,l===void 0&&(l={}),this.compressed=l.compressed===void 0?!0:l.compressed,this.network=l.network||Oa.bitcoin,f!==void 0&&(this.__Q=Buffer.from(e.pointCompress(f,this.compressed)))}get privateKey(){return this.__D}get publicKey(){if(!this.__Q){const c=e.pointFromScalar(this.__D,this.compressed);this.__Q=Buffer.from(c)}return this.__Q}toWIF(){if(!this.__D)throw new Error("Missing private key");return rf.encode(this.network.wif,this.__D,this.compressed)}tweak(c){return this.privateKey?this.tweakFromPrivateKey(c):this.tweakFromPublicKey(c)}sign(c,f){if(!this.__D)throw new Error("Missing private key");if(f===void 0&&(f=this.lowR),f===!1)return Buffer.from(e.sign(c,this.__D));{let l=e.sign(c,this.__D);const h=Buffer.alloc(32,0);let y=0;for(;l[0]>127;)y++,h.writeUIntLE(y,0,6),l=e.sign(c,this.__D,h);return Buffer.from(l)}}signSchnorr(c){if(!this.privateKey)throw new Error("Missing private key");if(!e.signSchnorr)throw new Error("signSchnorr not supported by ecc library");return Buffer.from(e.signSchnorr(c,this.privateKey))}verify(c,f){return e.verify(c,this.publicKey,f)}verifySchnorr(c,f){if(!e.verifySchnorr)throw new Error("verifySchnorr not supported by ecc library");return e.verifySchnorr(c,this.publicKey.subarray(1,33),f)}tweakFromPublicKey(c){const f=j2(this.publicKey),l=e.xOnlyPointAddTweak(f,c);if(!l||l.xOnlyPubkey===null)throw new Error("Cannot tweak public key!");const h=Buffer.from([l.parity===0?2:3]);return n(Buffer.concat([h,l.xOnlyPubkey]),{network:this.network,compressed:this.compressed})}tweakFromPrivateKey(c){const l=this.publicKey[0]===3||this.publicKey[0]===4&&(this.publicKey[64]&1)===1?e.privateNegate(this.privateKey):this.privateKey,h=e.privateAdd(l,c);if(!h)throw new Error("Invalid tweaked private key!");return r(Buffer.from(h),{network:this.network,compressed:this.compressed})}}return{isPoint:t,fromPrivateKey:r,fromPublicKey:n,fromWIF:i,makeRandom:s}}wn.ECPairFactory=G2;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.networks=e.ECPairFactory=e.default=void 0;var t=wn;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"ECPairFactory",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"networks",{enumerable:!0,get:function(){return t.networks}})})(sl);const z2=gm(sl);class Ii extends q.EventBroker{get isInitialized(){return!!this.digestKey}constructor(t,r){super(),this.digestKey=t,this.walletClient=r}static fromDigestKey(t){return new Ii(kr(t))}static fromWalletClient(t){return new Ii(void 0,t)}async initialize(){if(this.digestKey)return ie("Already initialized");const t=await this.deriveDigestKeyFromWalletClient();return t.error?G(t.error):(this.emit("initialized",!0),ie("Initialized"))}async deriveDigestKeyFromWalletClient(){if(!this.walletClient)return G("No walletClient found");if(!this.walletClient.account)return G("No account found");try{const t=await this.walletClient.signTypedData({account:this.walletClient.account,types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"}],Data:[{name:"Message",type:"string"},{name:"Version",type:"string"},{name:"Nonce",type:"uint256"}]},domain:{name:"GARDEN FINANCE",version:"1"},primaryType:"Data",message:{Message:"Initialize your account",Version:"1.0.2",Nonce:1n}});return this.digestKey=kr(Vn(t)),this.emit("initialized",!0),ie(this.digestKey)}catch(t){return G("Failed to initialize: "+t)}}async getDigestKey(){if(!this.digestKey&&!this.walletClient)return G("No private key or wallet client found");if(!this.digestKey&&this.walletClient){const t=await this.deriveDigestKeyFromWalletClient();if(t.error)return G(t.error)}return this.digestKey?ie(this.digestKey):G("No private key found")}async generateSecret(t){const r=await this.signMessage(t);if(r.error)return G(r.error);const n=Vn(q.with0x(r.val)),i=Vn(n);return ie({secret:n,secretHash:i})}async signMessage(t){if(!this.digestKey){const f=await this.getDigestKey();if(f.error)return G(f.error);this.digestKey=f.val}const r=z2(Or),n="Garden.fi"+t.toString(),i=Buffer.from(n,"utf8"),s=Vn(i),o=Buffer.from(kr(this.digestKey),"hex");if(o.length!==32)return G("Invalid private key length. Expected 32 bytes.");const c=r.fromPrivateKey(o).sign(Buffer.from(kr(s),"hex"));return ie(c.toString("hex"))}}const nf=[{inputs:[{internalType:"address",name:"token_",type:"address"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Initiated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"secret",type:"bytes"}],name:"Redeemed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"Refunded",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"}],name:"initiate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"initiateWithSignature",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"instantRefund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct HTLC.InitWithSig[]",name:"inits",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],internalType:"struct HTLC.Redeem[]",name:"redeems",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],internalType:"struct HTLC.Refund[]",name:"refunds",type:"tuple[]"}],name:"multicall",outputs:[{internalType:"bool[]",name:"results",type:"bool[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"bool",name:"isFulfilled",type:"bool"},{internalType:"address",name:"initiator",type:"address"},{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"initiatedAt",type:"uint256"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"refund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"}],q2={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},V2={block:Jp({format(e){var r;return{transactions:(r=e.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const i=Xa(n);return i.typeHex==="0x7e"&&(i.isSystemTx=n.isSystemTx,i.mint=n.mint?pt(n.mint):void 0,i.sourceHash=n.sourceHash,i.type="deposit"),i}),stateRoot:e.stateRoot}}}),transaction:Yp({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?pt(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:Dy({format(e){return{l1GasPrice:e.l1GasPrice?pt(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?pt(e.l1GasUsed):null,l1Fee:e.l1Fee?pt(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function W2(e,t){return X2(e)?Y2(e):dm(e,t)}const K2={transaction:W2};function Y2(e){J2(e);const{sourceHash:t,data:r,from:n,gas:i,isSystemTx:s,mint:o,to:a,value:c}=e,f=[t,n,a??"0x",o?J(o):"0x",c?J(c):"0x",i?J(i):"0x",s?"0x1":"0x",r??"0x"];return Ct(["0x7e",mr(f)])}function X2(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function J2(e){const{from:t,to:r}=e;if(t&&!Fe(t))throw new et({address:t});if(r&&!Fe(r))throw new et({address:r})}const Is={contracts:q2,formatters:V2,serializers:K2},Q2=Ot({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),Z2=Ot({id:421614,name:"Arbitrum Sepolia",nativeCurrency:{name:"Arbitrum Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://sepolia.arbiscan.io",apiUrl:"https://api-sepolia.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:81930}},testnet:!0}),zn=1,e_=Ot({...Is,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...Is.contracts,disputeGameFactory:{[zn]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[zn]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[zn]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[zn]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:zn}),qn=11155111,t_=Ot({...Is,id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://sepolia.basescan.org",apiUrl:"https://api-sepolia.basescan.org/api"}},contracts:{...Is.contracts,disputeGameFactory:{[qn]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[qn]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[qn]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[qn]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:qn}),r_=Ot({id:80094,name:"Berachain",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:0},ensRegistry:{address:"0x5b22280886a2f5e09a49bea7e320eab0e5320e28",blockCreated:877007},ensUniversalResolver:{address:"0xddfb18888a9466688235887dec2a10c4f5effee9",blockCreated:877008}},rpcUrls:{default:{http:["https://rpc.berachain.com"]}},blockExplorers:{default:{name:"Berascan",url:"https://berascan.com"}},ensTlds:[".bera"],testnet:!1}),n_=Ot({id:80084,name:"Berachain bArtio",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:109269},ensRegistry:{address:"0xB0eef18971290b333450586D33dcA6cE122651D2",blockCreated:7736794},ensUniversalResolver:{address:"0x41692Ef1EA0C79E6b73077E4A67572D2BDbD7057",blockCreated:7736795}},ensTlds:[".bera"],rpcUrls:{default:{http:["https://bartio.rpc.berachain.com"]}},blockExplorers:{default:{name:"Berachain bArtio Beratrail",url:"https://bartio.beratrail.io"}},testnet:!0}),i_=Ot({id:5115,name:"Citrea Testnet",nativeCurrency:{name:"cBTC",symbol:"cBTC",decimals:18},rpcUrls:{default:{http:["https://rpc.testnet.citrea.xyz"]}},blockExplorers:{default:{name:"Citrea Explorer",url:"https://explorer.testnet.citrea.xyz",apiUrl:"https://explorer.testnet.citrea.xyz/api"}},testnet:!0}),s_=Ot({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xce01f8eee7E479C928F8919abD53E553a36CeF67",blockCreated:19258213},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),o_=Ot({id:10143,name:"Monad Testnet",nativeCurrency:{name:"Testnet MON Token",symbol:"MON",decimals:18},rpcUrls:{default:{http:["https://testnet-rpc.monad.xyz"]}},blockExplorers:{default:{name:"Monad Testnet explorer",url:"https://testnet.monadexplorer.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:251449}},testnet:!0}),a_=Ot({id:11155111,name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.drpc.org"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",blockCreated:5317080}},testnet:!0}),c_={...a_,rpcUrls:{default:{http:["https://ethereum-sepolia-rpc.publicnode.com"]}}},jl={id:998,name:"Hyperliquid EVM Testnet",nativeCurrency:{name:"Hyperliquid",symbol:"HYPE",decimals:18},blockExplorers:{default:{name:"Hyperliquid Explorer",url:"https://testnet.purrsec.com/"}},rpcUrls:{default:{http:["https://rpc.hyperliquid-testnet.xyz/evm"]}}},Gl={id:999,name:"HyperEVM",nativeCurrency:{name:"Hyperliquid",symbol:"HYPE",decimals:18},blockExplorers:{default:{name:"Hyperliquid Explorer",url:"https://hyperscan.gas.zip/"}},rpcUrls:{default:{http:["https://rpc.hyperliquid.xyz/evm"]}}},zl={ethereum:s_,arbitrum:Q2,ethereum_sepolia:c_,arbitrum_sepolia:Z2,ethereum_localnet:le.EthereumLocalnet,arbitrum_localnet:le.ArbitrumLocalnet,base_sepolia:t_,base:e_,bera_testnet:n_,citrea_testnet:i_,bera:r_,monad_testnet:o_,hyperliquid_testnet:jl,hyperliquid:Gl},ql=async(e,t)=>{var n,i,s,o;const r=zl[e];if(r)try{if(r.id===((n=t.chain)==null?void 0:n.id))return ie({message:"Already on the network",walletClient:t});await t.switchChain({id:r.id});const a=ko({account:t.account,chain:r,transport:ru(t.transport)});return ie({message:"Switched chain",walletClient:a})}catch(a){if(u_(a))if(a.code===4902)try{await t.addChain({chain:r});const c=ko({account:t.account,chain:r,transport:ru(t.transport)});return ie({message:"Added network",walletClient:c})}catch{return G("Failed to add network")}else if((s=(i=a.body)==null?void 0:i.method)!=null&&s.includes("wallet_switchEthereumChain")||(o=a.message)!=null&&o.includes("wallet_switchEthereumChain")){const c=ko({account:t.account,chain:r,transport:Zy()});return ie({message:"Added network",walletClient:c})}else return G("Failed to switch network");else return G("Failed to switch network")}else return G("Chain not supported")},u_=e=>typeof e=="object"&&e!=null&&("code"in e||"message"in e||"body"in e),f_=[{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[],name:"NativeHTLC__DuplicateOrder",type:"error"},{inputs:[],name:"NativeHTLC__IncorrectFundsRecieved",type:"error"},{inputs:[],name:"NativeHTLC__IncorrectSecret",type:"error"},{inputs:[],name:"NativeHTLC__InsufficientBalance",type:"error"},{inputs:[],name:"NativeHTLC__InvalidRedeemerSignature",type:"error"},{inputs:[],name:"NativeHTLC__OrderFulfilled",type:"error"},{inputs:[],name:"NativeHTLC__OrderNotExpired",type:"error"},{inputs:[],name:"NativeHTLC__OrderNotInitiated",type:"error"},{inputs:[],name:"NativeHTLC__SameInitiatorAndRedeemer",type:"error"},{inputs:[],name:"NativeHTLC__ZeroAddressInitiator",type:"error"},{inputs:[],name:"NativeHTLC__ZeroAddressRedeemer",type:"error"},{inputs:[],name:"NativeHTLC__ZeroAmount",type:"error"},{inputs:[],name:"NativeHTLC__ZeroTimelock",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Initiated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"secret",type:"bytes"}],name:"Redeemed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"Refunded",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address payable",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"}],name:"initiate",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"initiator",type:"address"},{internalType:"address payable",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"}],name:"initiateOnBehalf",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"instantRefund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"instantRefundDigest",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"bool",name:"isFulfilled",type:"bool"},{internalType:"address payable",name:"initiator",type:"address"},{internalType:"address payable",name:"redeemer",type:"address"},{internalType:"uint256",name:"initiatedAt",type:"uint256"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"refund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}];class Vl{constructor(t,r,n){this.url=new q.Url("/relayer",t),this.auth=n,this.wallet=r}get htlcActorAddress(){if(!this.wallet.account)throw new Error("No account found");return this.wallet.account.address}async initiate(t){if(!this.wallet.account)return q.Err("No account found");if(this.wallet.account.address.toLowerCase()!==t.source_swap.initiator.toLowerCase())return q.Err("Account address and order initiator mismatch");if(!le.isEVM(t.source_swap.chain))return q.Err("Source chain is not an EVM chain");const r=await ql(t.source_swap.chain,this.wallet);if(r.error)return q.Err(r.error);if(this.wallet=r.val.walletClient,!this.wallet.account)return q.Err("No account found");const{create_order:n,source_swap:i}=t;if(!i.amount||!i.redeemer||!n.timelock||!n.secret_hash)return q.Err("Invalid order");const s=q.with0x(n.secret_hash),o=BigInt(n.timelock),a=q.with0x(i.redeemer),c=BigInt(i.amount),f=await this.getTokenAddress(t.source_swap.asset);return f.ok?le.isEvmNativeToken(t.source_swap.chain,f.val)?this._initiateOnNativeHTLC(s,o,c,a,t.source_swap.asset):this._initiateOnErc20HTLC(s,o,c,a,t.source_swap.asset,f.val,n.create_id):q.Err(f.error)}async getTokenAddress(t){try{const n=await Ao({address:q.with0x(t),abi:nf,client:this.wallet}).read.token();return q.Ok(n)}catch(r){return q.Err("Failed to get token address",String(r))}}async _initiateOnNativeHTLC(t,r,n,i,s){if(!this.wallet.account)return q.Err("No account found");try{const a=await Ao({address:q.with0x(s),abi:f_,client:this.wallet}).write.initiate([i,r,n,t],{account:this.wallet.account,chain:this.wallet.chain,value:n});return q.Ok(a)}catch(o){return q.Err("Failed to initiate on native HTLC",String(o))}}async _initiateOnErc20HTLC(t,r,n,i,s,o,a){if(!this.wallet.account)return q.Err("No account found");try{const c=await this.auth.getAuthHeaders();if(c.error)return q.Err(c.error);const f=Ao({address:q.with0x(s),abi:nf,client:this.wallet}),l=await q.checkAllowanceAndApprove(Number(n),o,s,this.wallet);if(l.error)return q.Err(l.error);const h=await f.read.eip712Domain(),y=await this.wallet.signTypedData({account:this.wallet.account,domain:{name:h[1],version:h[2],chainId:Number(h[3]),verifyingContract:h[4]},types:{Initiate:[{name:"redeemer",type:"address"},{name:"timelock",type:"uint256"},{name:"amount",type:"uint256"},{name:"secretHash",type:"bytes32"}]},primaryType:"Initiate",message:{redeemer:i,timelock:r,amount:n,secretHash:t}}),p={...c.val,"Content-Type":"application/json"},g=await Dt.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:a,signature:y,perform_on:"Source"}),headers:p});return g.error?q.Err(g.error):g.result?q.Ok(g.result):q.Err("Init: No result found")}catch(c){return console.log("init error :",c),q.Err(String(c))}}async redeem(t,r){try{const n=await this.auth.getAuthHeaders();if(n.error)return q.Err(n.error);const i=await Dt.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t.create_order.create_id,secret:kr(r),perform_on:"Destination"}),headers:{...n.val,"Content-Type":"application/json"}});return i.error?q.Err(i.error):i.result?q.Ok(i.result):q.Err("Redeem: No result found")}catch(n){return q.Err(String(n))}}async refund(){return q.Err("Refund not supported")}}const Wl=[{name:"LockingContract",type:"impl",interface_name:"src::mintable_lock_interface::ILockingContract"},{name:"src::mintable_lock_interface::ILockingContract",type:"interface",items:[{name:"set_locking_contract",type:"function",inputs:[{name:"locking_contract",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"get_locking_contract",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"}]},{name:"LockAndDelegate",type:"impl",interface_name:"src::mintable_lock_interface::ILockAndDelegate"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"src::mintable_lock_interface::ILockAndDelegate",type:"interface",items:[{name:"lock_and_delegate",type:"function",inputs:[{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"lock_and_delegate_by_sig",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"},{name:"nonce",type:"core::felt252"},{name:"expiry",type:"core::integer::u64"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"}]},{name:"MintableToken",type:"impl",interface_name:"src::mintable_token_interface::IMintableToken"},{name:"src::mintable_token_interface::IMintableToken",type:"interface",items:[{name:"permissioned_mint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissioned_burn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"MintableTokenCamelImpl",type:"impl",interface_name:"src::mintable_token_interface::IMintableTokenCamel"},{name:"src::mintable_token_interface::IMintableTokenCamel",type:"interface",items:[{name:"permissionedMint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissionedBurn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"Replaceable",type:"impl",interface_name:"src::replaceability_interface::IReplaceable"},{name:"core::array::Span::<core::felt252>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::felt252>"}]},{name:"src::replaceability_interface::EICData",type:"struct",members:[{name:"eic_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_init_data",type:"core::array::Span::<core::felt252>"}]},{name:"core::option::Option::<src::replaceability_interface::EICData>",type:"enum",variants:[{name:"Some",type:"src::replaceability_interface::EICData"},{name:"None",type:"()"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"src::replaceability_interface::ImplementationData",type:"struct",members:[{name:"impl_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_data",type:"core::option::Option::<src::replaceability_interface::EICData>"},{name:"final",type:"core::bool"}]},{name:"src::replaceability_interface::IReplaceable",type:"interface",items:[{name:"get_upgrade_delay",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"get_impl_activation_time",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"add_new_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"remove_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"replace_to",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"}]},{name:"AccessControlImplExternal",type:"impl",interface_name:"src::access_control_interface::IAccessControl"},{name:"src::access_control_interface::IAccessControl",type:"interface",items:[{name:"has_role",type:"function",inputs:[{name:"role",type:"core::felt252"},{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"get_role_admin",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]},{name:"RolesImpl",type:"impl",interface_name:"src::roles_interface::IMinimalRoles"},{name:"src::roles_interface::IMinimalRoles",type:"interface",items:[{name:"is_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"renounce",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[],state_mutability:"external"}]},{name:"ERC20Impl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20"},{name:"openzeppelin::token::erc20::interface::IERC20",type:"interface",items:[{name:"name",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"symbol",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"decimals",type:"function",inputs:[],outputs:[{type:"core::integer::u8"}],state_mutability:"view"},{name:"total_supply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balance_of",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"allowance",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"},{name:"spender",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transfer",type:"function",inputs:[{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"transfer_from",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"approve",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"ERC20CamelOnlyImpl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20CamelOnly"},{name:"openzeppelin::token::erc20::interface::IERC20CamelOnly",type:"interface",items:[{name:"totalSupply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balanceOf",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transferFrom",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"name",type:"core::felt252"},{name:"symbol",type:"core::felt252"},{name:"decimals",type:"core::integer::u8"},{name:"initial_supply",type:"core::integer::u256"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"permitted_minter",type:"core::starknet::contract_address::ContractAddress"},{name:"provisional_governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"upgrade_delay",type:"core::integer::u64"}]},{name:"increase_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"added_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decrease_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtracted_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"increaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"addedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decreaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtractedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Transfer",type:"event",members:[{kind:"data",name:"from",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"to",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Approval",type:"event",members:[{kind:"data",name:"owner",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"spender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationAdded",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationRemoved",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationReplaced",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationFinalized",type:"event",members:[{kind:"data",name:"impl_hash",type:"core::starknet::class_hash::ClassHash"}]},{kind:"struct",name:"src::access_control_interface::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"src::strk::erc20_lockable::ERC20Lockable::Event",type:"event",variants:[{kind:"nested",name:"Transfer",type:"src::strk::erc20_lockable::ERC20Lockable::Transfer"},{kind:"nested",name:"Approval",type:"src::strk::erc20_lockable::ERC20Lockable::Approval"},{kind:"nested",name:"ImplementationAdded",type:"src::replaceability_interface::ImplementationAdded"},{kind:"nested",name:"ImplementationRemoved",type:"src::replaceability_interface::ImplementationRemoved"},{kind:"nested",name:"ImplementationReplaced",type:"src::replaceability_interface::ImplementationReplaced"},{kind:"nested",name:"ImplementationFinalized",type:"src::replaceability_interface::ImplementationFinalized"},{kind:"nested",name:"RoleGranted",type:"src::access_control_interface::RoleGranted"},{kind:"nested",name:"RoleRevoked",type:"src::access_control_interface::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"src::access_control_interface::RoleAdminChanged"},{kind:"nested",name:"GovernanceAdminAdded",type:"src::roles_interface::GovernanceAdminAdded"},{kind:"nested",name:"GovernanceAdminRemoved",type:"src::roles_interface::GovernanceAdminRemoved"},{kind:"nested",name:"UpgradeGovernorAdded",type:"src::roles_interface::UpgradeGovernorAdded"},{kind:"nested",name:"UpgradeGovernorRemoved",type:"src::roles_interface::UpgradeGovernorRemoved"}]}],d_=async(e,t,r,n,i)=>{try{const s=await Ra(e.address,t,r,i);if(s.error)return G(s.error);const o=Oe.cairo.uint256(BigInt(Oe.uint256.UINT_256_MAX));if(s.val<n){const a=await e.execute([{contractAddress:nn(t),entrypoint:"approve",calldata:[r,o.low,o.high]}]);await i.waitForTransaction(a.transaction_hash,{retryInterval:3e3,successStates:[Oe.TransactionExecutionStatus.SUCCEEDED]}),await q.sleep(2e3);let c=0n;for(let f=0;f<20;f++){const l=await Ra(e.address,t,r,i);if(l.error)return G(l.error);if(c=l.val,c>=n)break;await q.sleep(2e3)}return c<n?G("Allowance not approved"):ie(a.transaction_hash)}return ie("Allowance already approved")}catch(s){return G(`Failed to check or approve allowance: ${s instanceof Error?s.message:String(s)}`)}},Ra=async(e,t,r,n)=>{try{const s=await new Oe.Contract(Wl,nn(t),n).call("allowance",[nn(e),nn(r)]);return ie(BigInt((s==null?void 0:s.toString())||"0"))}catch(i){return G(`Failed to check allowance: ${i instanceof Error?i.message:String(i)}`)}},l_=async(e,t,r,n,i)=>{const s=await Ra(e,t,r,n);return s.error?G(s.error):ie(s.val>=i)},Kl=[{name:"HTLC",type:"impl",interface_name:"starknet_htlc::interface::IHTLC"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"starknet_htlc::interface::IHTLC",type:"interface",items:[{name:"token",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"initiate",type:"function",inputs:[{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"}],outputs:[],state_mutability:"external"},{name:"initiate_on_behalf",type:"function",inputs:[{name:"initiator",type:"core::starknet::contract_address::ContractAddress"},{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"}],outputs:[],state_mutability:"external"},{name:"initiate_with_signature",type:"function",inputs:[{name:"initiator",type:"core::starknet::contract_address::ContractAddress"},{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"},{name:"redeem",type:"function",inputs:[{name:"order_id",type:"core::felt252"},{name:"secret",type:"core::array::Array::<core::integer::u32>"}],outputs:[],state_mutability:"external"},{name:"refund",type:"function",inputs:[{name:"order_id",type:"core::felt252"}],outputs:[],state_mutability:"external"},{name:"instant_refund",type:"function",inputs:[{name:"order_id",type:"core::felt252"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"token",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starknet_htlc::interface::events::Initiated",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"},{kind:"data",name:"secret_hash",type:"[core::integer::u32; 8]"},{kind:"data",name:"amount",type:"core::integer::u256"}]},{kind:"struct",name:"starknet_htlc::interface::events::Redeemed",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"},{kind:"data",name:"secret_hash",type:"[core::integer::u32; 8]"},{kind:"data",name:"secret",type:"core::array::Array::<core::integer::u32>"}]},{kind:"struct",name:"starknet_htlc::interface::events::Refunded",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"}]},{kind:"enum",name:"starknet_htlc::htlc::HTLC::Event",type:"event",variants:[{kind:"nested",name:"Initiated",type:"starknet_htlc::interface::events::Initiated"},{kind:"nested",name:"Redeemed",type:"starknet_htlc::interface::events::Redeemed"},{kind:"nested",name:"Refunded",type:"starknet_htlc::interface::events::Refunded"}]}],h_={StarknetDomain:[{name:"name",type:"shortstring"},{name:"version",type:"shortstring"},{name:"chainId",type:"shortstring"},{name:"revision",type:"shortstring"}],Initiate:[{name:"redeemer",type:"ContractAddress"},{name:"amount",type:"u256"},{name:"timelock",type:"u128"},{name:"secretHash",type:"u128*"}]};class Yl{constructor(t,r,n,i){this.url=t instanceof q.Url?t:new q.Url(t),this.account=r,this.starknetProvider=new Oe.RpcProvider({nodeUrl:i||Ai[n].nodeUrl}),this.chainId=Ai[n].chainId}get htlcActorAddress(){if(!this.account.address)throw new Error("No account found");return this.account.address}async initiate(t){if(!this.account.address)return G("No account address");const{create_order:r,source_swap:n}=t,{redeemer:i,amount:s}=n;if(!s||!i||!r.secret_hash||!r.timelock)return G("Invalid order");try{const o=new Oe.Contract(Kl,t.source_swap.asset,this.account),a=await(o==null?void 0:o.token()),c=Oe.num.toHex(a),f=await l_(this.account.address,c,n.asset,this.starknetProvider,BigInt(s));return f.error?G(f.error):f.val?this.initiateRelay(t):this.approveAndInitiate(c,t)}catch(o){return G(String(o))}}async approveAndInitiate(t,r){const{create_order:n,source_swap:i}=r,{redeemer:s,amount:o}=i,{secret_hash:a,timelock:c}=n,f=i.asset;try{const l=Oe.cairo.uint256(BigInt(Oe.uint256.UINT_256_MAX)),h={contractAddress:nn(t),entrypoint:"approve",calldata:[f,l.low,l.high]},y=Oe.cairo.uint256(o),p={contractAddress:nn(f),entrypoint:"initiate",calldata:[s,c.toString(),y.low.toString(),y.high.toString(),...q.hexToU32Array(a)]},g=await this.account.execute([h,p]);return await this.starknetProvider.waitForTransaction(g.transaction_hash,{retryInterval:2e3,successStates:[Oe.TransactionExecutionStatus.SUCCEEDED]}),ie(g.transaction_hash)}catch(l){return G(`Failed to approve and initiate: ${String(l)}`)}}async initiateRelay(t){const{create_order:r,source_swap:n}=t,{redeemer:i,amount:s}=n,a={domain:{name:"HTLC",version:Oe.shortString.encodeShortString("1"),chainId:this.chainId,revision:Oe.TypedDataRevision.ACTIVE},primaryType:"Initiate",types:h_,message:{redeemer:i,amount:Oe.cairo.uint256(s),timelock:r.timelock,secretHash:q.hexToU32Array(r.secret_hash)}};try{const c=await this.account.signMessage(a),f=sb(c);if(f.error)return G(f.error);const l=await Dt.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:r.create_id,signature:f.val,perform_on:"Source"}),headers:{"Content-Type":"application/json"},retryCount:10,retryDelay:2e3});return l.error?G(l.error):l.result?ie(l.result):G("Init: No result found")}catch(c){return G(`Failed to initiate relayer: ${String(c)}`)}}async redeem(t,r){try{const n=await Dt.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t.create_order.create_id,secret:r,perform_on:"Destination"}),headers:{"Content-Type":"application/json"},retryCount:10,retryDelay:2e3});return n.error?G(n.error):n.result?ie(n.result):G("Redeem: No result found")}catch(n){return G(String(n))}}async refund(){return G("Refund is taken care of by the relayer")}}class Tc extends q.EventBroker{constructor(t){super(),this.environment=q.Environment.TESTNET,this.getOrderThreshold=20,this.refundSacpCache=new Map,this.bitcoinRedeemCache=new r1;const{api:r,environment:n}=ou(t.environment);if(this.environment=n,this._api=r,typeof t.digestKey=="string"){const s=q.DigestKey.from(t.digestKey);if(!s.ok)throw new Error(s.error);this._digestKey=s.val}else this._digestKey=t.digestKey;this._quote=t.quote??new il(this._api.quote),this._auth=t.auth??q.Siwe.fromDigestKey(new q.Url(this._api.auth),this._digestKey),this._orderbook=t.orderbook??new le.Orderbook(new q.Url(this._api.orderbook)),this._evmHTLC=t.htlc.evm,this._starknetHTLC=t.htlc.starknet,this._secretManager=t.secretManager??Ii.fromDigestKey(this._digestKey.digestKey),this.orderExecutorCache=new t1,this._blockNumberFetcher=t.blockNumberFetcher??new nl(this._api.info,this.environment);const i=new ln.BitcoinProvider(nb(this.environment));this._btcWallet=ln.BitcoinWallet.fromPrivateKey(this._digestKey.digestKey,i)}static fromWallets(t){let r;if(typeof t.digestKey=="string"){const s=q.DigestKey.from(t.digestKey);if(!s.ok)throw new Error(s.error);r=s.val}else r=t.digestKey;const{api:n}=ou(t.environment);if(!n)throw new Error("API not found, invalid environment "+t.environment);const i={evm:t.wallets.evm?new Vl(n.evmRelay,t.wallets.evm,q.Siwe.fromDigestKey(new q.Url(n.auth),r)):void 0,starknet:t.wallets.starknet?new Yl(n.starknetRelay,t.wallets.starknet,t.environment===q.Environment.MAINNET?q.Network.MAINNET:q.Network.TESTNET):void 0};return new Tc({htlc:i,...t})}get evmHTLC(){return this._evmHTLC}get starknetHTLC(){return this._starknetHTLC}get quote(){return this._quote}get btcWallet(){return this._btcWallet}get orderbook(){return this._orderbook}get blockNumberFetcher(){return this._blockNumberFetcher}get secretManager(){return this._secretManager}get auth(){return this._auth}get digestKey(){return this._digestKey}async swap(t){const r=await this.validateAndFillParams(t);if(r.error)return G(r.error);const{sendAddress:n,receiveAddress:i,timelock:s}=r.val,o=Date.now().toString(),a=await this._secretManager.generateSecret(o);if(a.error)return G(a.error);const{strategyId:c,btcAddress:f}=t.additionalData,l={strategy_id:c,...f&&{bitcoin_optional_recipient:f}},h={source_chain:t.fromAsset.chain,destination_chain:t.toAsset.chain,source_asset:t.fromAsset.atomicSwapAddress,destination_asset:t.toAsset.atomicSwapAddress,initiator_source_address:n,initiator_destination_address:i,source_amount:t.sendAmount,destination_amount:t.receiveAmount,fee:"1",nonce:o,timelock:s,secret_hash:kr(a.val.secretHash),min_destination_confirmations:t.minDestinationConfirmations??0,additional_data:l,affiliate_fees:this.withDefaultAffiliateFees(t.affiliateFee)},y=await this._quote.getAttestedQuote(h);if(y.error)return G(y.error);const p=await this._orderbook.createOrder(y.val,this.auth);if(p.error)return G(p.error);const g=await this.pollOrder(p.val);return g.error?G(g.error):ie(g.val)}withDefaultAffiliateFees(t){return(t??[]).map(r=>({fee:r.fee,address:r.address,chain:r.chain??su.chain,asset:r.asset??su.asset}))}async validateAndFillParams(t){if(!t.additionalData.strategyId)return G("StrategyId is required");if(!t.fromAsset||!t.toAsset)return G("Source and destination assets are required for swap");if(t.fromAsset.chain===t.toAsset.chain&&t.fromAsset.atomicSwapAddress===t.toAsset.atomicSwapAddress)return G("Source and destination assets cannot be the same");if(le.isMainnet(t.fromAsset.chain)&&!le.isMainnet(t.toAsset.chain)||!le.isMainnet(t.fromAsset.chain)&&le.isMainnet(t.toAsset.chain))return G("Both assets should be on the same network (either mainnet or testnet)");const r=this.validateAmount(t.sendAmount);if(r.error)return G(r.error);const n=this.validateAmount(t.receiveAmount);if(n.error)return G(n.error);if(r<n)return G("Send amount should be greater than receive amount");const i=le.getTimeLock(t.fromAsset.chain);if(!i)return G("Unsupported chain for timelock");if((le.isBitcoin(t.fromAsset.chain)||le.isBitcoin(t.toAsset.chain))&&!t.additionalData.btcAddress)return G("btcAddress in additionalData is required if source or destination chain is bitcoin, it is used as refund or redeem address.");const s=await this.getAddresses(t.fromAsset.chain);if(s.error)return G(s.error);const o=await this.getAddresses(t.toAsset.chain);return o.error?G(o.error):ie({sendAddress:s.val,receiveAddress:o.val,timelock:t.timelock??i})}async getAddresses(t){var n;switch(le.getBlockchainType(t)){case le.BlockchainType.EVM:return this._evmHTLC?ie(this._evmHTLC.htlcActorAddress):G("Please provide evmHTLC when initializing garden");case le.BlockchainType.Bitcoin:{const i=await((n=this._btcWallet)==null?void 0:n.getPublicKey());return!i||!tb(i)?G("Invalid btc public key"):ie(fr(i))}case le.BlockchainType.Starknet:return this._starknetHTLC?ie(this._starknetHTLC.htlcActorAddress):G("Please provide starknetHTLC when initializing garden");default:return G("Unsupported chain")}}validateAmount(t){if(t==null||t.includes("."))return G("Invalid amount ",t);const r=new Zl(t);return!r.isInteger()||r.isNaN()||r.lt(0)||r.isLessThanOrEqualTo(0)?G("Invalid amount ",t):ie(r)}async pollOrder(t){let r=await this._orderbook.getOrder(t,!0),n=0;for(;n<this.getOrderThreshold;){if(await q.sleep(1e3),n++,r.error){if(!r.error.includes("result is undefined"))return G(r.error)}else if(r.val&&r.val.create_order.create_id.toLowerCase()===t.toLowerCase())return ie(r.val);r=await this._orderbook.getOrder(t,!0)}return G(`Order not found, createOrder id: ${t}`)}async execute(t=5e3){return await this._orderbook.subscribeOrders(this._digestKey.userId,!0,t,async r=>{const n=await this.filterExpiredAndAssignStatus(r.data);if(!n.error&&(this.emit("onPendingOrdersChanged",n.val),r.data.length!==0))for(let i=0;i<n.val.length;i++){const s=n.val[i],o=dc(s.status);if(le.isBitcoin(s.source_swap.chain)&&s.status===we.InitiateDetected){const a=this.btcWallet;if(!a){this.emit("error",s,"BTC wallet not found");continue}await this.postRefundSACP(s,a)}switch(o){case Ce.Redeem:{const a=await this._secretManager.generateSecret(s.create_order.nonce);if(a.error){this.emit("error",s,a.error);return}switch(le.getBlockchainType(s.destination_swap.chain)){case le.BlockchainType.EVM:{await this.evmRedeem(s,a.val.secret);break}case le.BlockchainType.Bitcoin:{const c=this.btcWallet;if(!c){this.emit("error",s,"BTC wallet not found");return}await this.btcRedeem(c,s,a.val.secret);break}case le.BlockchainType.Starknet:{await this.starknetRedeem(s,a.val.secret);break}default:this.emit("error",s,"Unsupported chain: "+s.destination_swap.chain)}break}case Ce.Refund:{switch(le.getBlockchainType(s.source_swap.chain)){case le.BlockchainType.EVM:{this.emit("error",s,"EVM refund is automatically done by relay service");break}case le.BlockchainType.Bitcoin:{const a=this.btcWallet;if(!a){this.emit("error",s,"BTC wallet not found");return}await this.btcRefund(a,s);break}case le.BlockchainType.Starknet:{this.emit("error",s,"Starknet refund is automatically done by relay service");break}default:this.emit("error",s,"Unsupported chain: "+s.source_swap.chain)}break}}}},"pending",{per_page:500})}async evmRedeem(t,r){if(this.emit("log",t.create_order.create_id,"executing evm redeem"),this.orderExecutorCache.get(t,Ce.Redeem)){this.emit("log",t.create_order.create_id,"already redeemed");return}if(!this._evmHTLC){this.emit("error",t,"EVMHTLC is required");return}const i=await this._evmHTLC.redeem(t,r);if(!i.ok){this.emit("error",t,i.error),i.error.includes("Order already redeemed")&&this.orderExecutorCache.set(t,Ce.Redeem,t.destination_swap.redeem_tx_hash);return}this.orderExecutorCache.set(t,Ce.Redeem,i.val),this.emit("success",t,Ce.Redeem,i.val)}async starknetRedeem(t,r){if(this.emit("log",t.create_order.create_id,"executing starknet redeem"),this.orderExecutorCache.get(t,Ce.Redeem)){this.emit("log",t.create_order.create_id,"already redeemed");return}if(!this._starknetHTLC){this.emit("error",t,"StarknetHTLC is required");return}const i=await this._starknetHTLC.redeem(t,r);if(i.error){this.emit("error",t,i.error),i.error.includes("Order already redeemed")&&this.orderExecutorCache.set(t,Ce.Redeem,t.destination_swap.redeem_tx_hash);return}i.val&&(this.orderExecutorCache.set(t,Ce.Redeem,i.val),this.emit("success",t,Ce.Redeem,i.val))}async btcRedeem(t,r,n){var a,c;const i=this.bitcoinRedeemCache.get(r.create_order.create_id),s=(a=r.destination_swap.initiate_tx_hash.split(",").at(-1))==null?void 0:a.split(":").at(0);if(!s){this.emit("error",r,"Failed to get initiate_tx_hash");return}let o=!1;if(i)if(i.redeemedFromUTXO&&i.redeemedFromUTXO!==s)o=!0,this.emit("log",r.create_order.create_id,"rbf btc redeem");else if(i.redeemedAt&&Date.now()-i.redeemedAt>1e3*60*15)this.emit("log",r.create_order.create_id,"redeem not confirmed in last 15 minutes"),o=!0;else{this.emit("log",r.create_order.create_id,"btcRedeem: already redeemed");return}else if(r.destination_swap.redeem_tx_hash&&!Number(r.destination_swap.redeem_block_number))try{const f=await(await t.getProvider()).getTransaction(r.destination_swap.redeem_tx_hash);let l=!1;for(const h of f.vin)if(h.txid===s){l=!0;break}if(l){this.emit("log",r.create_order.create_id,"already a valid redeem");let h=0;try{const[y]=await(await t.getProvider()).getTransactionTimes([r.destination_swap.redeem_tx_hash]);y!==0&&(h=y)}catch{h=Date.now()}this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:h,redeemTxHash:r.destination_swap.redeem_tx_hash});return}o=!0}catch(f){if(f.message.includes("Transaction not found"))o=!0;else{this.emit("error",r,"Failed to get redeem tx: "+f);return}}this.emit("log",r.create_order.create_id,"executing btc redeem");try{const l=await(await Qn.from(t,Number(r.destination_swap.amount),r.create_order.secret_hash,fr(r.destination_swap.initiator),fr(r.destination_swap.redeemer),r.destination_swap.timelock,o?[s]:[])).getRedeemHex(kr(n),(c=r.create_order.additional_data)==null?void 0:c.bitcoin_optional_recipient),h=await this.broadcastRedeemTx(l,r.create_order.create_id);if(h.error||!h.val){this.emit("error",r,h.error||"Failed to broadcast redeem tx");return}o?(this.emit("log",r.create_order.create_id,"rbf: btc redeem success"),this.emit("rbf",r,h.val)):this.emit("success",r,Ce.Redeem,h.val),this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:Date.now(),redeemTxHash:h.val})}catch(f){console.log("error",f),this.emit("error",r,"Failed btc redeem: "+f)}}async btcRefund(t,r){var n;if(!this.orderExecutorCache.get(r,Ce.Refund)){this.emit("log",r.create_order.create_id,"executing btc refund");try{const s=await(await Qn.from(t,Number(r.source_swap.amount),r.create_order.secret_hash,fr(r.source_swap.initiator),fr(r.source_swap.redeemer),r.source_swap.timelock)).refund((n=r.create_order.additional_data)==null?void 0:n.bitcoin_optional_recipient);this.orderExecutorCache.set(r,Ce.Refund,s),this.emit("success",r,Ce.Refund,s)}catch(i){this.emit("error",r,"Failed btc refund: "+i)}}}async postRefundSACP(t,r){const n=this.refundSacpCache.get(t.create_order.create_id);if((n==null?void 0:n.initTxHash)===t.source_swap.initiate_tx_hash)return;const i=await Qn.from(r,Number(t.source_swap.amount),t.create_order.secret_hash,fr(t.source_swap.initiator),fr(t.source_swap.redeemer),t.source_swap.timelock),s=t.create_order.additional_data.bitcoin_optional_recipient;if(s)try{const o=await i.generateInstantRefundSACP(s);if(!this._api)return;const a=new q.Url(this._api.orderbook).endpoint("orders/bitcoin/"+t.create_order.create_id+"/instant-refund");(await Dt.post(a,{headers:{"Content-Type":"application/json"},body:JSON.stringify({instant_refund_tx_bytes:o})})).status==="Ok"&&this.refundSacpCache.set(t.create_order.create_id,{initTxHash:t.source_swap.initiate_tx_hash})}catch(o){this.emit("error",t,"Failed to generate and post SACP: "+o);return}}async filterExpiredAndAssignStatus(t){var i;if(t.length===0)return ie([]);const r=await((i=this._blockNumberFetcher)==null?void 0:i.fetchBlockNumbers());if(r.error)return G(r.error);const n=[];for(let s=0;s<t.length;s++){const o=t[s];if(Nd(o))continue;const a=o.source_swap.chain,c=o.destination_swap.chain,f=r==null?void 0:r.val[a],l=r==null?void 0:r.val[c];if(!f||!l){this.emit("error",o,"Error while fetching CurrentBlockNumbers");continue}const h=fc(o,f,l);n.push({...o,status:h})}return ie(n)}async broadcastRedeemTx(t,r){try{if(!this._api)return G("API not found");const n=new q.Url(this._api.evmRelay).endpoint("/bitcoin/redeem "),i=await this._auth.getAuthHeaders(),o=await(await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...i.val},body:JSON.stringify({redeem_tx_bytes:t,order_id:r})})).json();return o.status==="Ok"&&o.result?ie(o.result):G(o.error)}catch(n){return G("Failed to broadcast redeem tx: "+n)}}}class p_{constructor(t,r,n){this.callData=new Oe.CallData(Wl),this.account=t,this.starknetProvider=new Oe.RpcProvider({nodeUrl:r||(n?Ai[n].nodeUrl:Ai.mainnet.nodeUrl)})}get htlcActorAddress(){return this.account.address}async getHTLCContract(t,r=!1){const n=r?t.destination_swap.asset:t.source_swap.asset;return new Oe.Contract(Kl,n,this.account)}async initiate(t){try{const n=await(await this.getHTLCContract(t)).token();if(!n)throw new Error("Token address retrieval failed");const i=Oe.num.toHex(n),s=Oe.cairo.uint256(BigInt(t.source_swap.amount));try{const a=await d_(this.account,i,t.source_swap.asset,BigInt(t.source_swap.amount),this.starknetProvider);if(a.error)return G(a.error)}catch(a){return G(`Allowance check failed: ${a}`)}const o=await this.account.execute({contractAddress:t.source_swap.asset,entrypoint:"initiate",calldata:[t.source_swap.redeemer,BigInt(t.source_swap.timelock),s.low,s.high,...q.hexToU32Array(t.create_order.secret_hash)]});if(!o.transaction_hash)throw new Error("Failed to initiate HTLC transaction");return ie(o.transaction_hash)}catch(r){return G(`HTLC Initiation Error: ${r}`)}}async redeem(t,r){try{const n=await this.getHTLCContract(t,!0),i=t.create_order.source_chain.includes("starknet")?t.source_swap.swap_id:t.destination_swap.swap_id,s=await this.account.execute({contractAddress:n.address,entrypoint:"redeem",calldata:Oe.CallData.compile({swap_id:i,secret:q.hexToU32Array(r)})});return s.transaction_hash?ie(s.transaction_hash):G("Failed to redeem HTLC transaction")}catch{return G("HTLC Redeem Error")}}async refund(t){try{const r=t.create_order.source_chain.includes("starknet")?t.source_swap.swap_id:t.destination_swap.swap_id,n=await this.getHTLCContract(t),i=await this.account.execute({contractAddress:n.address,entrypoint:"refund",calldata:{orderId:r}});return i.transaction_hash?ie(i.transaction_hash):G("Failed to refund HTLC transaction")}catch{return G("HTLC Refund Error")}}}exports.API=ds;exports.AbiErrorInputsNotFoundError=Xh;exports.AbiErrorNotFoundError=Jh;exports.AbiFunctionNotFoundError=Zn;exports.AbiFunctionOutputsNotFoundError=Pf;exports.AbiFunctionSignatureNotFoundError=Zh;exports.BaseError=L;exports.BlockNumberFetcher=nl;exports.EvmRelay=Vl;exports.Garden=Tc;exports.Hash=La;exports.HttpRequestError=on;exports.InvalidArrayError=Tf;exports.OrderActions=Ce;exports.OrderStatus=we;exports.ParseOrderStatus=fc;exports.ParseSwapStatus=va;exports.Quote=il;exports.STARKNET_CONFIG=Ai;exports.SecretManager=Ii;exports.StarknetHTLC=p_;exports.StarknetRelay=Yl;exports.SwapStatus=xe;exports.abytes=Ci;exports.aexists=ei;exports.ahash=y0;exports.batchGatewayAbi=yy;exports.call=ic;exports.concat=Fr;exports.concatBytes=S0;exports.concatHex=Ct;exports.constructOrderPair=_a;exports.decodeAbiParameters=Ri;exports.decodeErrorResult=Wf;exports.encodeAbiParameters=Fs;exports.evmToViemChainMap=zl;exports.filterDeadlineExpiredOrders=ab;exports.formatAbiItem=It;exports.getAbiItem=Sn;exports.getUrl=Ls;exports.hyperliquid=Gl;exports.hyperliquidTestnet=jl;exports.isAddressEqual=tc;exports.isExpired=Si;exports.isHex=qt;exports.parseAction=ob;exports.parseActionFromStatus=dc;exports.randomBytes=P0;exports.sha256=sd;exports.slice=hn;exports.solidityError=qf;exports.stringify=rt;exports.switchOrAddNetwork=ql;exports.toBytes=Os;exports.toFunctionSelector=Ns;exports.toXOnly=fr;exports.validateBTCAddress=rb;
|
|
70
|
+
`,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var al={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.maybe=e.Boolean=e.Array=e.Buffer256bit=e.Network=e.typeforce=void 0,e.typeforce=zd,e.Network=e.typeforce.compile({messagePrefix:e.typeforce.oneOf(e.typeforce.Buffer,e.typeforce.String),bip32:{public:e.typeforce.UInt32,private:e.typeforce.UInt32},pubKeyHash:e.typeforce.UInt8,scriptHash:e.typeforce.UInt8,wif:e.typeforce.UInt8}),e.Buffer256bit=e.typeforce.BufferN(32),e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.maybe=e.typeforce.maybe})(al);var Pa={exports:{}},Ta={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(e,t){var r=Zt,n=r.Buffer;function i(o,a){for(var c in o)a[c]=o[c]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=s);function s(o,a,c){return n(o,a,c)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,a,c){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,c)},s.alloc=function(o,a,c){if(typeof o!="number")throw new TypeError("Argument must be a number");var f=n(o);return a!==void 0?typeof c=="string"?f.fill(a,c):f.fill(a):f.fill(0),f},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(o)}})(Ta,Ta.exports);var tt=Ta.exports,jo=65536,i1=4294967295;function s1(){throw new Error(`Secure random number generation is not supported by this browser.
|
|
71
|
+
Use Chrome, Firefox or Internet Explorer 11`)}var o1=tt.Buffer,Ts=br.crypto||br.msCrypto;Ts&&Ts.getRandomValues?Pa.exports=a1:Pa.exports=s1;function a1(e,t){if(e>i1)throw new RangeError("requested too many random bytes");var r=o1.allocUnsafe(e);if(e>0)if(e>jo)for(var n=0;n<e;n+=jo)Ts.getRandomValues(r.slice(n,n+jo));else Ts.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}var c1=Pa.exports,ka={exports:{}};typeof Object.create=="function"?ka.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:ka.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}};var He=ka.exports,Ia={exports:{}},Ac={exports:{}},dn=typeof Reflect=="object"?Reflect:null,Cu=dn&&typeof dn.apply=="function"?dn.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},_s;dn&&typeof dn.ownKeys=="function"?_s=dn.ownKeys:Object.getOwnPropertySymbols?_s=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:_s=function(t){return Object.getOwnPropertyNames(t)};function u1(e){console&&console.warn&&console.warn(e)}var cl=Number.isNaN||function(t){return t!==t};function ue(){ue.init.call(this)}Ac.exports=ue;Ac.exports.once=h1;ue.EventEmitter=ue;ue.prototype._events=void 0;ue.prototype._eventsCount=0;ue.prototype._maxListeners=void 0;var Ou=10;function to(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(ue,"defaultMaxListeners",{enumerable:!0,get:function(){return Ou},set:function(e){if(typeof e!="number"||e<0||cl(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");Ou=e}});ue.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ue.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||cl(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function ul(e){return e._maxListeners===void 0?ue.defaultMaxListeners:e._maxListeners}ue.prototype.getMaxListeners=function(){return ul(this)};ue.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[t];if(c===void 0)return!1;if(typeof c=="function")Cu(c,this,r);else for(var f=c.length,l=pl(c,f),n=0;n<f;++n)Cu(l[n],this,r);return!0};function fl(e,t,r,n){var i,s,o;if(to(r),s=e._events,s===void 0?(s=e._events=Object.create(null),e._eventsCount=0):(s.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),o=s[t]),o===void 0)o=s[t]=r,++e._eventsCount;else if(typeof o=="function"?o=s[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=ul(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,u1(a)}return e}ue.prototype.addListener=function(t,r){return fl(this,t,r,!1)};ue.prototype.on=ue.prototype.addListener;ue.prototype.prependListener=function(t,r){return fl(this,t,r,!0)};function f1(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function dl(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=f1.bind(n);return i.listener=r,n.wrapFn=i,i}ue.prototype.once=function(t,r){return to(r),this.on(t,dl(this,t,r)),this};ue.prototype.prependOnceListener=function(t,r){return to(r),this.prependListener(t,dl(this,t,r)),this};ue.prototype.removeListener=function(t,r){var n,i,s,o,a;if(to(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():d1(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};ue.prototype.off=ue.prototype.removeListener;ue.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function ll(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?l1(i):pl(i,i.length)}ue.prototype.listeners=function(t){return ll(this,t,!0)};ue.prototype.rawListeners=function(t){return ll(this,t,!1)};ue.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):hl.call(e,t)};ue.prototype.listenerCount=hl;function hl(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ue.prototype.eventNames=function(){return this._eventsCount>0?_s(this._events):[]};function pl(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function d1(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function l1(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function h1(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,s),n(o)}function s(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}yl(e,t,s,{once:!0}),t!=="error"&&p1(e,i,{once:!0})})}function p1(e,t,r){typeof e.on=="function"&&yl(e,"error",t,r)}function yl(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(s){n.once&&e.removeEventListener(t,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}var ml=Ac.exports,bl=ml.EventEmitter;const y1={},m1=Object.freeze(Object.defineProperty({__proto__:null,default:y1},Symbol.toStringTag,{value:"Module"})),Sc=_m(m1);var Go,Ru;function b1(){if(Ru)return Go;Ru=1;function e(g,_){var x=Object.keys(g);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(g);_&&(k=k.filter(function(T){return Object.getOwnPropertyDescriptor(g,T).enumerable})),x.push.apply(x,k)}return x}function t(g){for(var _=1;_<arguments.length;_++){var x=arguments[_]!=null?arguments[_]:{};_%2?e(Object(x),!0).forEach(function(k){r(g,k,x[k])}):Object.getOwnPropertyDescriptors?Object.defineProperties(g,Object.getOwnPropertyDescriptors(x)):e(Object(x)).forEach(function(k){Object.defineProperty(g,k,Object.getOwnPropertyDescriptor(x,k))})}return g}function r(g,_,x){return _=o(_),_ in g?Object.defineProperty(g,_,{value:x,enumerable:!0,configurable:!0,writable:!0}):g[_]=x,g}function n(g,_){if(!(g instanceof _))throw new TypeError("Cannot call a class as a function")}function i(g,_){for(var x=0;x<_.length;x++){var k=_[x];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(g,o(k.key),k)}}function s(g,_,x){return _&&i(g.prototype,_),Object.defineProperty(g,"prototype",{writable:!1}),g}function o(g){var _=a(g,"string");return typeof _=="symbol"?_:String(_)}function a(g,_){if(typeof g!="object"||g===null)return g;var x=g[Symbol.toPrimitive];if(x!==void 0){var k=x.call(g,_);if(typeof k!="object")return k;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(g)}var c=Zt,f=c.Buffer,l=Sc,h=l.inspect,y=h&&h.custom||"inspect";function p(g,_,x){f.prototype.copy.call(g,_,x)}return Go=function(){function g(){n(this,g),this.head=null,this.tail=null,this.length=0}return s(g,[{key:"push",value:function(x){var k={data:x,next:null};this.length>0?this.tail.next=k:this.head=k,this.tail=k,++this.length}},{key:"unshift",value:function(x){var k={data:x,next:this.head};this.length===0&&(this.tail=k),this.head=k,++this.length}},{key:"shift",value:function(){if(this.length!==0){var x=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,x}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(x){if(this.length===0)return"";for(var k=this.head,T=""+k.data;k=k.next;)T+=x+k.data;return T}},{key:"concat",value:function(x){if(this.length===0)return f.alloc(0);for(var k=f.allocUnsafe(x>>>0),T=this.head,A=0;T;)p(T.data,k,A),A+=T.data.length,T=T.next;return k}},{key:"consume",value:function(x,k){var T;return x<this.head.data.length?(T=this.head.data.slice(0,x),this.head.data=this.head.data.slice(x)):x===this.head.data.length?T=this.shift():T=k?this._getString(x):this._getBuffer(x),T}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(x){var k=this.head,T=1,A=k.data;for(x-=A.length;k=k.next;){var E=k.data,I=x>E.length?E.length:x;if(I===E.length?A+=E:A+=E.slice(0,x),x-=I,x===0){I===E.length?(++T,k.next?this.head=k.next:this.head=this.tail=null):(this.head=k,k.data=E.slice(I));break}++T}return this.length-=T,A}},{key:"_getBuffer",value:function(x){var k=f.allocUnsafe(x),T=this.head,A=1;for(T.data.copy(k),x-=T.data.length;T=T.next;){var E=T.data,I=x>E.length?E.length:x;if(E.copy(k,k.length-x,0,I),x-=I,x===0){I===E.length?(++A,T.next?this.head=T.next:this.head=this.tail=null):(this.head=T,T.data=E.slice(I));break}++A}return this.length-=A,k}},{key:y,value:function(x,k){return h(this,t(t({},k),{},{depth:0,customInspect:!1}))}}]),g}(),Go}function g1(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(Ba,this,e)):process.nextTick(Ba,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(s){!t&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(vs,r):(r._writableState.errorEmitted=!0,process.nextTick(Fu,r,s)):process.nextTick(Fu,r,s):t?(process.nextTick(vs,r),t(s)):process.nextTick(vs,r)}),this)}function Fu(e,t){Ba(e,t),vs(e)}function vs(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function w1(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function Ba(e,t){e.emit("error",t)}function _1(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}var gl={destroy:g1,undestroy:w1,errorOrDestroy:_1},Gr={};function v1(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var wl={};function mt(e,t,r){r||(r=Error);function n(s,o,a){return typeof t=="string"?t:t(s,o,a)}var i=function(s){v1(o,s);function o(a,c,f){return s.call(this,n(a,c,f))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,wl[e]=i}function Uu(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function E1(e,t,r){return e.substr(0,t.length)===t}function x1(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function A1(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}mt("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);mt("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&E1(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(x1(e," argument"))i="The ".concat(e," ").concat(n," ").concat(Uu(t,"type"));else{var s=A1(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(s," ").concat(n," ").concat(Uu(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);mt("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");mt("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});mt("ERR_STREAM_PREMATURE_CLOSE","Premature close");mt("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});mt("ERR_MULTIPLE_CALLBACK","Callback called multiple times");mt("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");mt("ERR_STREAM_WRITE_AFTER_END","write after end");mt("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);mt("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);mt("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");Gr.codes=wl;var S1=Gr.codes.ERR_INVALID_OPT_VALUE;function P1(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function T1(e,t,r,n){var i=P1(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?r:"highWaterMark";throw new S1(s,i)}return Math.floor(i)}return e.objectMode?16:16*1024}var _l={getHighWaterMark:T1},k1=I1;function I1(e,t){if(zo("noDeprecation"))return e;var r=!1;function n(){if(!r){if(zo("throwDeprecation"))throw new Error(t);zo("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function zo(e){try{if(!br.localStorage)return!1}catch{return!1}var t=br.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}var qo,Nu;function vl(){if(Nu)return qo;Nu=1,qo=$;function e(O){var C=this;this.next=null,this.entry=null,this.finish=function(){Rt(C,O)}}var t;$.WritableState=S;var r={deprecate:k1},n=bl,i=Zt.Buffer,s=(typeof br<"u"?br:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(O){return i.from(O)}function a(O){return i.isBuffer(O)||O instanceof s}var c=gl,f=_l,l=f.getHighWaterMark,h=Gr.codes,y=h.ERR_INVALID_ARG_TYPE,p=h.ERR_METHOD_NOT_IMPLEMENTED,g=h.ERR_MULTIPLE_CALLBACK,_=h.ERR_STREAM_CANNOT_PIPE,x=h.ERR_STREAM_DESTROYED,k=h.ERR_STREAM_NULL_VALUES,T=h.ERR_STREAM_WRITE_AFTER_END,A=h.ERR_UNKNOWN_ENCODING,E=c.errorOrDestroy;He($,n);function I(){}function S(O,C,H){t=t||vn(),O=O||{},typeof H!="boolean"&&(H=C instanceof t),this.objectMode=!!O.objectMode,H&&(this.objectMode=this.objectMode||!!O.writableObjectMode),this.highWaterMark=l(this,O,"writableHighWaterMark",H),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var K=O.decodeStrings===!1;this.decodeStrings=!K,this.defaultEncoding=O.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(Z){ne(C,Z)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=O.emitClose!==!1,this.autoDestroy=!!O.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}S.prototype.getBuffer=function(){for(var C=this.bufferedRequest,H=[];C;)H.push(C),C=C.next;return H},function(){try{Object.defineProperty(S.prototype,"buffer",{get:r.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var N;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(N=Function.prototype[Symbol.hasInstance],Object.defineProperty($,Symbol.hasInstance,{value:function(C){return N.call(this,C)?!0:this!==$?!1:C&&C._writableState instanceof S}})):N=function(C){return C instanceof this};function $(O){t=t||vn();var C=this instanceof t;if(!C&&!N.call($,this))return new $(O);this._writableState=new S(O,this,C),this.writable=!0,O&&(typeof O.write=="function"&&(this._write=O.write),typeof O.writev=="function"&&(this._writev=O.writev),typeof O.destroy=="function"&&(this._destroy=O.destroy),typeof O.final=="function"&&(this._final=O.final)),n.call(this)}$.prototype.pipe=function(){E(this,new _)};function B(O,C){var H=new T;E(O,H),process.nextTick(C,H)}function W(O,C,H,K){var Z;return H===null?Z=new k:typeof H!="string"&&!C.objectMode&&(Z=new y("chunk",["string","Buffer"],H)),Z?(E(O,Z),process.nextTick(K,Z),!1):!0}$.prototype.write=function(O,C,H){var K=this._writableState,Z=!1,w=!K.objectMode&&a(O);return w&&!i.isBuffer(O)&&(O=o(O)),typeof C=="function"&&(H=C,C=null),w?C="buffer":C||(C=K.defaultEncoding),typeof H!="function"&&(H=I),K.ending?B(this,H):(w||W(this,K,O,H))&&(K.pendingcb++,Z=D(this,K,w,O,C,H)),Z},$.prototype.cork=function(){this._writableState.corked++},$.prototype.uncork=function(){var O=this._writableState;O.corked&&(O.corked--,!O.writing&&!O.corked&&!O.bufferProcessing&&O.bufferedRequest&&Te(this,O))},$.prototype.setDefaultEncoding=function(C){if(typeof C=="string"&&(C=C.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((C+"").toLowerCase())>-1))throw new A(C);return this._writableState.defaultEncoding=C,this},Object.defineProperty($.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function R(O,C,H){return!O.objectMode&&O.decodeStrings!==!1&&typeof C=="string"&&(C=i.from(C,H)),C}Object.defineProperty($.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function D(O,C,H,K,Z,w){if(!H){var v=R(C,K,Z);K!==v&&(H=!0,Z="buffer",K=v)}var M=C.objectMode?1:K.length;C.length+=M;var z=C.length<C.highWaterMark;if(z||(C.needDrain=!0),C.writing||C.corked){var ve=C.lastBufferedRequest;C.lastBufferedRequest={chunk:K,encoding:Z,isBuf:H,callback:w,next:null},ve?ve.next=C.lastBufferedRequest:C.bufferedRequest=C.lastBufferedRequest,C.bufferedRequestCount+=1}else j(O,C,!1,M,K,Z,w);return z}function j(O,C,H,K,Z,w,v){C.writelen=K,C.writecb=v,C.writing=!0,C.sync=!0,C.destroyed?C.onwrite(new x("write")):H?O._writev(Z,C.onwrite):O._write(Z,w,C.onwrite),C.sync=!1}function V(O,C,H,K,Z){--C.pendingcb,H?(process.nextTick(Z,K),process.nextTick(st,O,C),O._writableState.errorEmitted=!0,E(O,K)):(Z(K),O._writableState.errorEmitted=!0,E(O,K),st(O,C))}function X(O){O.writing=!1,O.writecb=null,O.length-=O.writelen,O.writelen=0}function ne(O,C){var H=O._writableState,K=H.sync,Z=H.writecb;if(typeof Z!="function")throw new g;if(X(H),C)V(O,H,K,C,Z);else{var w=We(H)||O.destroyed;!w&&!H.corked&&!H.bufferProcessing&&H.bufferedRequest&&Te(O,H),K?process.nextTick(pe,O,H,w,Z):pe(O,H,w,Z)}}function pe(O,C,H,K){H||_e(O,C),C.pendingcb--,K(),st(O,C)}function _e(O,C){C.length===0&&C.needDrain&&(C.needDrain=!1,O.emit("drain"))}function Te(O,C){C.bufferProcessing=!0;var H=C.bufferedRequest;if(O._writev&&H&&H.next){var K=C.bufferedRequestCount,Z=new Array(K),w=C.corkedRequestsFree;w.entry=H;for(var v=0,M=!0;H;)Z[v]=H,H.isBuf||(M=!1),H=H.next,v+=1;Z.allBuffers=M,j(O,C,!0,C.length,Z,"",w.finish),C.pendingcb++,C.lastBufferedRequest=null,w.next?(C.corkedRequestsFree=w.next,w.next=null):C.corkedRequestsFree=new e(C),C.bufferedRequestCount=0}else{for(;H;){var z=H.chunk,ve=H.encoding,ee=H.callback,ae=C.objectMode?1:z.length;if(j(O,C,!1,ae,z,ve,ee),H=H.next,C.bufferedRequestCount--,C.writing)break}H===null&&(C.lastBufferedRequest=null)}C.bufferedRequest=H,C.bufferProcessing=!1}$.prototype._write=function(O,C,H){H(new p("_write()"))},$.prototype._writev=null,$.prototype.end=function(O,C,H){var K=this._writableState;return typeof O=="function"?(H=O,O=null,C=null):typeof C=="function"&&(H=C,C=null),O!=null&&this.write(O,C),K.corked&&(K.corked=1,this.uncork()),K.ending||er(this,K,H),this},Object.defineProperty($.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function We(O){return O.ending&&O.length===0&&O.bufferedRequest===null&&!O.finished&&!O.writing}function fe(O,C){O._final(function(H){C.pendingcb--,H&&E(O,H),C.prefinished=!0,O.emit("prefinish"),st(O,C)})}function me(O,C){!C.prefinished&&!C.finalCalled&&(typeof O._final=="function"&&!C.destroyed?(C.pendingcb++,C.finalCalled=!0,process.nextTick(fe,O,C)):(C.prefinished=!0,O.emit("prefinish")))}function st(O,C){var H=We(C);if(H&&(me(O,C),C.pendingcb===0&&(C.finished=!0,O.emit("finish"),C.autoDestroy))){var K=O._readableState;(!K||K.autoDestroy&&K.endEmitted)&&O.destroy()}return H}function er(O,C,H){C.ending=!0,st(O,C),H&&(C.finished?process.nextTick(H):O.once("finish",H)),C.ended=!0,O.writable=!1}function Rt(O,C,H){var K=O.entry;for(O.entry=null;K;){var Z=K.callback;C.pendingcb--,Z(H),K=K.next}C.corkedRequestsFree.next=O}return Object.defineProperty($.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(C){this._writableState&&(this._writableState.destroyed=C)}}),$.prototype.destroy=c.destroy,$.prototype._undestroy=c.undestroy,$.prototype._destroy=function(O,C){C(O)},qo}var Vo,Lu;function vn(){if(Lu)return Vo;Lu=1;var e=Object.keys||function(f){var l=[];for(var h in f)l.push(h);return l};Vo=o;var t=xl(),r=vl();He(o,t);for(var n=e(r.prototype),i=0;i<n.length;i++){var s=n[i];o.prototype[s]||(o.prototype[s]=r.prototype[s])}function o(f){if(!(this instanceof o))return new o(f);t.call(this,f),r.call(this,f),this.allowHalfOpen=!0,f&&(f.readable===!1&&(this.readable=!1),f.writable===!1&&(this.writable=!1),f.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",a)))}Object.defineProperty(o.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(o.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(o.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function a(){this._writableState.ended||process.nextTick(c,this)}function c(f){f.end()}return Object.defineProperty(o.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(l){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=l,this._writableState.destroyed=l)}}),Vo}var ks={},Pc=tt.Buffer,Mu=Pc.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function B1(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function C1(e){var t=B1(e);if(typeof t!="string"&&(Pc.isEncoding===Mu||!Mu(e)))throw new Error("Unknown encoding: "+e);return t||e}ks.StringDecoder=Gi;function Gi(e){this.encoding=C1(e);var t;switch(this.encoding){case"utf16le":this.text=L1,this.end=M1,t=4;break;case"utf8":this.fillLast=F1,t=4;break;case"base64":this.text=$1,this.end=H1,t=3;break;default:this.write=D1,this.end=j1;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Pc.allocUnsafe(t)}Gi.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""};Gi.prototype.end=N1;Gi.prototype.text=U1;Gi.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function Wo(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function O1(e,t,r){var n=t.length-1;if(n<r)return 0;var i=Wo(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=Wo(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=Wo(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function R1(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"�"}}function F1(e){var t=this.lastTotal-this.lastNeed,r=R1(this,e);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function U1(e,t){var r=O1(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function N1(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function L1(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function M1(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function $1(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function H1(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function D1(e){return e.toString(this.encoding)}function j1(e){return e&&e.length?this.write(e):""}var $u=Gr.codes.ERR_STREAM_PREMATURE_CLOSE;function G1(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function z1(){}function q1(e){return e.setHeader&&typeof e.abort=="function"}function El(e,t,r){if(typeof t=="function")return El(e,null,t);t||(t={}),r=G1(r||z1);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,s=function(){e.writable||a()},o=e._writableState&&e._writableState.finished,a=function(){i=!1,o=!0,n||r.call(e)},c=e._readableState&&e._readableState.endEmitted,f=function(){n=!1,c=!0,i||r.call(e)},l=function(g){r.call(e,g)},h=function(){var g;if(n&&!c)return(!e._readableState||!e._readableState.ended)&&(g=new $u),r.call(e,g);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(g=new $u),r.call(e,g)},y=function(){e.req.on("finish",a)};return q1(e)?(e.on("complete",a),e.on("abort",h),e.req?y():e.on("request",y)):i&&!e._writableState&&(e.on("end",s),e.on("close",s)),e.on("end",f),e.on("finish",a),t.error!==!1&&e.on("error",l),e.on("close",h),function(){e.removeListener("complete",a),e.removeListener("abort",h),e.removeListener("request",y),e.req&&e.req.removeListener("finish",a),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",a),e.removeListener("end",f),e.removeListener("error",l),e.removeListener("close",h)}}var Tc=El,Ko,Hu;function V1(){if(Hu)return Ko;Hu=1;var e;function t(A,E,I){return E=r(E),E in A?Object.defineProperty(A,E,{value:I,enumerable:!0,configurable:!0,writable:!0}):A[E]=I,A}function r(A){var E=n(A,"string");return typeof E=="symbol"?E:String(E)}function n(A,E){if(typeof A!="object"||A===null)return A;var I=A[Symbol.toPrimitive];if(I!==void 0){var S=I.call(A,E);if(typeof S!="object")return S;throw new TypeError("@@toPrimitive must return a primitive value.")}return(E==="string"?String:Number)(A)}var i=Tc,s=Symbol("lastResolve"),o=Symbol("lastReject"),a=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),l=Symbol("handlePromise"),h=Symbol("stream");function y(A,E){return{value:A,done:E}}function p(A){var E=A[s];if(E!==null){var I=A[h].read();I!==null&&(A[f]=null,A[s]=null,A[o]=null,E(y(I,!1)))}}function g(A){process.nextTick(p,A)}function _(A,E){return function(I,S){A.then(function(){if(E[c]){I(y(void 0,!0));return}E[l](I,S)},S)}}var x=Object.getPrototypeOf(function(){}),k=Object.setPrototypeOf((e={get stream(){return this[h]},next:function(){var E=this,I=this[a];if(I!==null)return Promise.reject(I);if(this[c])return Promise.resolve(y(void 0,!0));if(this[h].destroyed)return new Promise(function(B,W){process.nextTick(function(){E[a]?W(E[a]):B(y(void 0,!0))})});var S=this[f],N;if(S)N=new Promise(_(S,this));else{var $=this[h].read();if($!==null)return Promise.resolve(y($,!1));N=new Promise(this[l])}return this[f]=N,N}},t(e,Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var E=this;return new Promise(function(I,S){E[h].destroy(null,function(N){if(N){S(N);return}I(y(void 0,!0))})})}),e),x),T=function(E){var I,S=Object.create(k,(I={},t(I,h,{value:E,writable:!0}),t(I,s,{value:null,writable:!0}),t(I,o,{value:null,writable:!0}),t(I,a,{value:null,writable:!0}),t(I,c,{value:E._readableState.endEmitted,writable:!0}),t(I,l,{value:function($,B){var W=S[h].read();W?(S[f]=null,S[s]=null,S[o]=null,$(y(W,!1))):(S[s]=$,S[o]=B)},writable:!0}),I));return S[f]=null,i(E,function(N){if(N&&N.code!=="ERR_STREAM_PREMATURE_CLOSE"){var $=S[o];$!==null&&(S[f]=null,S[s]=null,S[o]=null,$(N)),S[a]=N;return}var B=S[s];B!==null&&(S[f]=null,S[s]=null,S[o]=null,B(y(void 0,!0))),S[c]=!0}),E.on("readable",g.bind(null,S)),S};return Ko=T,Ko}var Yo,Du;function W1(){return Du||(Du=1,Yo=function(){throw new Error("Readable.from is not available in the browser")}),Yo}var Xo,ju;function xl(){if(ju)return Xo;ju=1,Xo=B;var e;B.ReadableState=$,ml.EventEmitter;var t=function(v,M){return v.listeners(M).length},r=bl,n=Zt.Buffer,i=(typeof br<"u"?br:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function s(w){return n.from(w)}function o(w){return n.isBuffer(w)||w instanceof i}var a=Sc,c;a&&a.debuglog?c=a.debuglog("stream"):c=function(){};var f=b1(),l=gl,h=_l,y=h.getHighWaterMark,p=Gr.codes,g=p.ERR_INVALID_ARG_TYPE,_=p.ERR_STREAM_PUSH_AFTER_EOF,x=p.ERR_METHOD_NOT_IMPLEMENTED,k=p.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,T,A,E;He(B,r);var I=l.errorOrDestroy,S=["error","close","destroy","pause","resume"];function N(w,v,M){if(typeof w.prependListener=="function")return w.prependListener(v,M);!w._events||!w._events[v]?w.on(v,M):Array.isArray(w._events[v])?w._events[v].unshift(M):w._events[v]=[M,w._events[v]]}function $(w,v,M){e=e||vn(),w=w||{},typeof M!="boolean"&&(M=v instanceof e),this.objectMode=!!w.objectMode,M&&(this.objectMode=this.objectMode||!!w.readableObjectMode),this.highWaterMark=y(this,w,"readableHighWaterMark",M),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=w.emitClose!==!1,this.autoDestroy=!!w.autoDestroy,this.destroyed=!1,this.defaultEncoding=w.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,w.encoding&&(T||(T=ks.StringDecoder),this.decoder=new T(w.encoding),this.encoding=w.encoding)}function B(w){if(e=e||vn(),!(this instanceof B))return new B(w);var v=this instanceof e;this._readableState=new $(w,this,v),this.readable=!0,w&&(typeof w.read=="function"&&(this._read=w.read),typeof w.destroy=="function"&&(this._destroy=w.destroy)),r.call(this)}Object.defineProperty(B.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(v){this._readableState&&(this._readableState.destroyed=v)}}),B.prototype.destroy=l.destroy,B.prototype._undestroy=l.undestroy,B.prototype._destroy=function(w,v){v(w)},B.prototype.push=function(w,v){var M=this._readableState,z;return M.objectMode?z=!0:typeof w=="string"&&(v=v||M.defaultEncoding,v!==M.encoding&&(w=n.from(w,v),v=""),z=!0),W(this,w,v,!1,z)},B.prototype.unshift=function(w){return W(this,w,null,!0,!1)};function W(w,v,M,z,ve){c("readableAddChunk",v);var ee=w._readableState;if(v===null)ee.reading=!1,ne(w,ee);else{var ae;if(ve||(ae=D(ee,v)),ae)I(w,ae);else if(ee.objectMode||v&&v.length>0)if(typeof v!="string"&&!ee.objectMode&&Object.getPrototypeOf(v)!==n.prototype&&(v=s(v)),z)ee.endEmitted?I(w,new k):R(w,ee,v,!0);else if(ee.ended)I(w,new _);else{if(ee.destroyed)return!1;ee.reading=!1,ee.decoder&&!M?(v=ee.decoder.write(v),ee.objectMode||v.length!==0?R(w,ee,v,!1):Te(w,ee)):R(w,ee,v,!1)}else z||(ee.reading=!1,Te(w,ee))}return!ee.ended&&(ee.length<ee.highWaterMark||ee.length===0)}function R(w,v,M,z){v.flowing&&v.length===0&&!v.sync?(v.awaitDrain=0,w.emit("data",M)):(v.length+=v.objectMode?1:M.length,z?v.buffer.unshift(M):v.buffer.push(M),v.needReadable&&pe(w)),Te(w,v)}function D(w,v){var M;return!o(v)&&typeof v!="string"&&v!==void 0&&!w.objectMode&&(M=new g("chunk",["string","Buffer","Uint8Array"],v)),M}B.prototype.isPaused=function(){return this._readableState.flowing===!1},B.prototype.setEncoding=function(w){T||(T=ks.StringDecoder);var v=new T(w);this._readableState.decoder=v,this._readableState.encoding=this._readableState.decoder.encoding;for(var M=this._readableState.buffer.head,z="";M!==null;)z+=v.write(M.data),M=M.next;return this._readableState.buffer.clear(),z!==""&&this._readableState.buffer.push(z),this._readableState.length=z.length,this};var j=1073741824;function V(w){return w>=j?w=j:(w--,w|=w>>>1,w|=w>>>2,w|=w>>>4,w|=w>>>8,w|=w>>>16,w++),w}function X(w,v){return w<=0||v.length===0&&v.ended?0:v.objectMode?1:w!==w?v.flowing&&v.length?v.buffer.head.data.length:v.length:(w>v.highWaterMark&&(v.highWaterMark=V(w)),w<=v.length?w:v.ended?v.length:(v.needReadable=!0,0))}B.prototype.read=function(w){c("read",w),w=parseInt(w,10);var v=this._readableState,M=w;if(w!==0&&(v.emittedReadable=!1),w===0&&v.needReadable&&((v.highWaterMark!==0?v.length>=v.highWaterMark:v.length>0)||v.ended))return c("read: emitReadable",v.length,v.ended),v.length===0&&v.ended?H(this):pe(this),null;if(w=X(w,v),w===0&&v.ended)return v.length===0&&H(this),null;var z=v.needReadable;c("need readable",z),(v.length===0||v.length-w<v.highWaterMark)&&(z=!0,c("length less than watermark",z)),v.ended||v.reading?(z=!1,c("reading or ended",z)):z&&(c("do read"),v.reading=!0,v.sync=!0,v.length===0&&(v.needReadable=!0),this._read(v.highWaterMark),v.sync=!1,v.reading||(w=X(M,v)));var ve;return w>0?ve=C(w,v):ve=null,ve===null?(v.needReadable=v.length<=v.highWaterMark,w=0):(v.length-=w,v.awaitDrain=0),v.length===0&&(v.ended||(v.needReadable=!0),M!==w&&v.ended&&H(this)),ve!==null&&this.emit("data",ve),ve};function ne(w,v){if(c("onEofChunk"),!v.ended){if(v.decoder){var M=v.decoder.end();M&&M.length&&(v.buffer.push(M),v.length+=v.objectMode?1:M.length)}v.ended=!0,v.sync?pe(w):(v.needReadable=!1,v.emittedReadable||(v.emittedReadable=!0,_e(w)))}}function pe(w){var v=w._readableState;c("emitReadable",v.needReadable,v.emittedReadable),v.needReadable=!1,v.emittedReadable||(c("emitReadable",v.flowing),v.emittedReadable=!0,process.nextTick(_e,w))}function _e(w){var v=w._readableState;c("emitReadable_",v.destroyed,v.length,v.ended),!v.destroyed&&(v.length||v.ended)&&(w.emit("readable"),v.emittedReadable=!1),v.needReadable=!v.flowing&&!v.ended&&v.length<=v.highWaterMark,O(w)}function Te(w,v){v.readingMore||(v.readingMore=!0,process.nextTick(We,w,v))}function We(w,v){for(;!v.reading&&!v.ended&&(v.length<v.highWaterMark||v.flowing&&v.length===0);){var M=v.length;if(c("maybeReadMore read 0"),w.read(0),M===v.length)break}v.readingMore=!1}B.prototype._read=function(w){I(this,new x("_read()"))},B.prototype.pipe=function(w,v){var M=this,z=this._readableState;switch(z.pipesCount){case 0:z.pipes=w;break;case 1:z.pipes=[z.pipes,w];break;default:z.pipes.push(w);break}z.pipesCount+=1,c("pipe count=%d opts=%j",z.pipesCount,v);var ve=(!v||v.end!==!1)&&w!==process.stdout&&w!==process.stderr,ee=ve?tr:Sr;z.endEmitted?process.nextTick(ee):M.once("end",ee),w.on("unpipe",ae);function ae(m,u){c("onunpipe"),m===M&&u&&u.hasUnpiped===!1&&(u.hasUnpiped=!0,Vr())}function tr(){c("onend"),w.end()}var qr=fe(M);w.on("drain",qr);var In=!1;function Vr(){c("cleanup"),w.removeListener("close",Bn),w.removeListener("finish",ft),w.removeListener("drain",qr),w.removeListener("error",Ar),w.removeListener("unpipe",ae),M.removeListener("end",tr),M.removeListener("end",Sr),M.removeListener("data",ot),In=!0,z.awaitDrain&&(!w._writableState||w._writableState.needDrain)&&qr()}M.on("data",ot);function ot(m){c("ondata");var u=w.write(m);c("dest.write",u),u===!1&&((z.pipesCount===1&&z.pipes===w||z.pipesCount>1&&Z(z.pipes,w)!==-1)&&!In&&(c("false write response, pause",z.awaitDrain),z.awaitDrain++),M.pause())}function Ar(m){c("onerror",m),Sr(),w.removeListener("error",Ar),t(w,"error")===0&&I(w,m)}N(w,"error",Ar);function Bn(){w.removeListener("finish",ft),Sr()}w.once("close",Bn);function ft(){c("onfinish"),w.removeListener("close",Bn),Sr()}w.once("finish",ft);function Sr(){c("unpipe"),M.unpipe(w)}return w.emit("pipe",M),z.flowing||(c("pipe resume"),M.resume()),w};function fe(w){return function(){var M=w._readableState;c("pipeOnDrain",M.awaitDrain),M.awaitDrain&&M.awaitDrain--,M.awaitDrain===0&&t(w,"data")&&(M.flowing=!0,O(w))}}B.prototype.unpipe=function(w){var v=this._readableState,M={hasUnpiped:!1};if(v.pipesCount===0)return this;if(v.pipesCount===1)return w&&w!==v.pipes?this:(w||(w=v.pipes),v.pipes=null,v.pipesCount=0,v.flowing=!1,w&&w.emit("unpipe",this,M),this);if(!w){var z=v.pipes,ve=v.pipesCount;v.pipes=null,v.pipesCount=0,v.flowing=!1;for(var ee=0;ee<ve;ee++)z[ee].emit("unpipe",this,{hasUnpiped:!1});return this}var ae=Z(v.pipes,w);return ae===-1?this:(v.pipes.splice(ae,1),v.pipesCount-=1,v.pipesCount===1&&(v.pipes=v.pipes[0]),w.emit("unpipe",this,M),this)},B.prototype.on=function(w,v){var M=r.prototype.on.call(this,w,v),z=this._readableState;return w==="data"?(z.readableListening=this.listenerCount("readable")>0,z.flowing!==!1&&this.resume()):w==="readable"&&!z.endEmitted&&!z.readableListening&&(z.readableListening=z.needReadable=!0,z.flowing=!1,z.emittedReadable=!1,c("on readable",z.length,z.reading),z.length?pe(this):z.reading||process.nextTick(st,this)),M},B.prototype.addListener=B.prototype.on,B.prototype.removeListener=function(w,v){var M=r.prototype.removeListener.call(this,w,v);return w==="readable"&&process.nextTick(me,this),M},B.prototype.removeAllListeners=function(w){var v=r.prototype.removeAllListeners.apply(this,arguments);return(w==="readable"||w===void 0)&&process.nextTick(me,this),v};function me(w){var v=w._readableState;v.readableListening=w.listenerCount("readable")>0,v.resumeScheduled&&!v.paused?v.flowing=!0:w.listenerCount("data")>0&&w.resume()}function st(w){c("readable nexttick read 0"),w.read(0)}B.prototype.resume=function(){var w=this._readableState;return w.flowing||(c("resume"),w.flowing=!w.readableListening,er(this,w)),w.paused=!1,this};function er(w,v){v.resumeScheduled||(v.resumeScheduled=!0,process.nextTick(Rt,w,v))}function Rt(w,v){c("resume",v.reading),v.reading||w.read(0),v.resumeScheduled=!1,w.emit("resume"),O(w),v.flowing&&!v.reading&&w.read(0)}B.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function O(w){var v=w._readableState;for(c("flow",v.flowing);v.flowing&&w.read()!==null;);}B.prototype.wrap=function(w){var v=this,M=this._readableState,z=!1;w.on("end",function(){if(c("wrapped end"),M.decoder&&!M.ended){var ae=M.decoder.end();ae&&ae.length&&v.push(ae)}v.push(null)}),w.on("data",function(ae){if(c("wrapped data"),M.decoder&&(ae=M.decoder.write(ae)),!(M.objectMode&&ae==null)&&!(!M.objectMode&&(!ae||!ae.length))){var tr=v.push(ae);tr||(z=!0,w.pause())}});for(var ve in w)this[ve]===void 0&&typeof w[ve]=="function"&&(this[ve]=function(tr){return function(){return w[tr].apply(w,arguments)}}(ve));for(var ee=0;ee<S.length;ee++)w.on(S[ee],this.emit.bind(this,S[ee]));return this._read=function(ae){c("wrapped _read",ae),z&&(z=!1,w.resume())},this},typeof Symbol=="function"&&(B.prototype[Symbol.asyncIterator]=function(){return A===void 0&&(A=V1()),A(this)}),Object.defineProperty(B.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(B.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(B.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(v){this._readableState&&(this._readableState.flowing=v)}}),B._fromList=C,Object.defineProperty(B.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function C(w,v){if(v.length===0)return null;var M;return v.objectMode?M=v.buffer.shift():!w||w>=v.length?(v.decoder?M=v.buffer.join(""):v.buffer.length===1?M=v.buffer.first():M=v.buffer.concat(v.length),v.buffer.clear()):M=v.buffer.consume(w,v.decoder),M}function H(w){var v=w._readableState;c("endReadable",v.endEmitted),v.endEmitted||(v.ended=!0,process.nextTick(K,v,w))}function K(w,v){if(c("endReadableNT",w.endEmitted,w.length),!w.endEmitted&&w.length===0&&(w.endEmitted=!0,v.readable=!1,v.emit("end"),w.autoDestroy)){var M=v._writableState;(!M||M.autoDestroy&&M.finished)&&v.destroy()}}typeof Symbol=="function"&&(B.from=function(w,v){return E===void 0&&(E=W1()),E(B,w,v)});function Z(w,v){for(var M=0,z=w.length;M<z;M++)if(w[M]===v)return M;return-1}return Xo}var Al=Xt,ro=Gr.codes,K1=ro.ERR_METHOD_NOT_IMPLEMENTED,Y1=ro.ERR_MULTIPLE_CALLBACK,X1=ro.ERR_TRANSFORM_ALREADY_TRANSFORMING,J1=ro.ERR_TRANSFORM_WITH_LENGTH_0,no=vn();He(Xt,no);function Q1(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new Y1);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Xt(e){if(!(this instanceof Xt))return new Xt(e);no.call(this,e),this._transformState={afterTransform:Q1.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",Z1)}function Z1(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(t,r){Gu(e,t,r)}):Gu(this,null,null)}Xt.prototype.push=function(e,t){return this._transformState.needTransform=!1,no.prototype.push.call(this,e,t)};Xt.prototype._transform=function(e,t,r){r(new K1("_transform()"))};Xt.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Xt.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Xt.prototype._destroy=function(e,t){no.prototype._destroy.call(this,e,function(r){t(r)})};function Gu(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new J1;if(e._transformState.transforming)throw new X1;return e.push(null)}var ew=Ii,Sl=Al;He(Ii,Sl);function Ii(e){if(!(this instanceof Ii))return new Ii(e);Sl.call(this,e)}Ii.prototype._transform=function(e,t,r){r(null,e)};var Jo;function tw(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var Pl=Gr.codes,rw=Pl.ERR_MISSING_ARGS,nw=Pl.ERR_STREAM_DESTROYED;function zu(e){if(e)throw e}function iw(e){return e.setHeader&&typeof e.abort=="function"}function sw(e,t,r,n){n=tw(n);var i=!1;e.on("close",function(){i=!0}),Jo===void 0&&(Jo=Tc),Jo(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var s=!1;return function(o){if(!i&&!s){if(s=!0,iw(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new nw("pipe"))}}}function qu(e){e()}function ow(e,t){return e.pipe(t)}function aw(e){return!e.length||typeof e[e.length-1]!="function"?zu:e.pop()}function cw(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=aw(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new rw("streams");var i,s=t.map(function(o,a){var c=a<t.length-1,f=a>0;return sw(o,c,f,function(l){i||(i=l),l&&s.forEach(qu),!c&&(s.forEach(qu),n(i))})});return t.reduce(ow)}var uw=cw;(function(e,t){t=e.exports=xl(),t.Stream=t,t.Readable=t,t.Writable=vl(),t.Duplex=vn(),t.Transform=Al,t.PassThrough=ew,t.finished=Tc,t.pipeline=uw})(Ia,Ia.exports);var Tl=Ia.exports,Is=tt.Buffer,kl=Tl.Transform,fw=He;function dw(e,t){if(!Is.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Er(e){kl.call(this),this._block=Is.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}fw(Er,kl);Er.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Er.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Er.prototype.update=function(e,t){if(dw(e,"Data"),this._finalized)throw new Error("Digest already called");Is.isBuffer(e)||(e=Is.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};Er.prototype._update=function(){throw new Error("_update is not implemented")};Er.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};Er.prototype._digest=function(){throw new Error("_digest is not implemented")};var lw=Er,hw=He,Il=lw,pw=tt.Buffer,yw=new Array(16);function io(){Il.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}hw(io,Il);io.prototype._update=function(){for(var e=yw,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);var r=this._a,n=this._b,i=this._c,s=this._d;r=De(r,n,i,s,e[0],3614090360,7),s=De(s,r,n,i,e[1],3905402710,12),i=De(i,s,r,n,e[2],606105819,17),n=De(n,i,s,r,e[3],3250441966,22),r=De(r,n,i,s,e[4],4118548399,7),s=De(s,r,n,i,e[5],1200080426,12),i=De(i,s,r,n,e[6],2821735955,17),n=De(n,i,s,r,e[7],4249261313,22),r=De(r,n,i,s,e[8],1770035416,7),s=De(s,r,n,i,e[9],2336552879,12),i=De(i,s,r,n,e[10],4294925233,17),n=De(n,i,s,r,e[11],2304563134,22),r=De(r,n,i,s,e[12],1804603682,7),s=De(s,r,n,i,e[13],4254626195,12),i=De(i,s,r,n,e[14],2792965006,17),n=De(n,i,s,r,e[15],1236535329,22),r=je(r,n,i,s,e[1],4129170786,5),s=je(s,r,n,i,e[6],3225465664,9),i=je(i,s,r,n,e[11],643717713,14),n=je(n,i,s,r,e[0],3921069994,20),r=je(r,n,i,s,e[5],3593408605,5),s=je(s,r,n,i,e[10],38016083,9),i=je(i,s,r,n,e[15],3634488961,14),n=je(n,i,s,r,e[4],3889429448,20),r=je(r,n,i,s,e[9],568446438,5),s=je(s,r,n,i,e[14],3275163606,9),i=je(i,s,r,n,e[3],4107603335,14),n=je(n,i,s,r,e[8],1163531501,20),r=je(r,n,i,s,e[13],2850285829,5),s=je(s,r,n,i,e[2],4243563512,9),i=je(i,s,r,n,e[7],1735328473,14),n=je(n,i,s,r,e[12],2368359562,20),r=Ge(r,n,i,s,e[5],4294588738,4),s=Ge(s,r,n,i,e[8],2272392833,11),i=Ge(i,s,r,n,e[11],1839030562,16),n=Ge(n,i,s,r,e[14],4259657740,23),r=Ge(r,n,i,s,e[1],2763975236,4),s=Ge(s,r,n,i,e[4],1272893353,11),i=Ge(i,s,r,n,e[7],4139469664,16),n=Ge(n,i,s,r,e[10],3200236656,23),r=Ge(r,n,i,s,e[13],681279174,4),s=Ge(s,r,n,i,e[0],3936430074,11),i=Ge(i,s,r,n,e[3],3572445317,16),n=Ge(n,i,s,r,e[6],76029189,23),r=Ge(r,n,i,s,e[9],3654602809,4),s=Ge(s,r,n,i,e[12],3873151461,11),i=Ge(i,s,r,n,e[15],530742520,16),n=Ge(n,i,s,r,e[2],3299628645,23),r=ze(r,n,i,s,e[0],4096336452,6),s=ze(s,r,n,i,e[7],1126891415,10),i=ze(i,s,r,n,e[14],2878612391,15),n=ze(n,i,s,r,e[5],4237533241,21),r=ze(r,n,i,s,e[12],1700485571,6),s=ze(s,r,n,i,e[3],2399980690,10),i=ze(i,s,r,n,e[10],4293915773,15),n=ze(n,i,s,r,e[1],2240044497,21),r=ze(r,n,i,s,e[8],1873313359,6),s=ze(s,r,n,i,e[15],4264355552,10),i=ze(i,s,r,n,e[6],2734768916,15),n=ze(n,i,s,r,e[13],1309151649,21),r=ze(r,n,i,s,e[4],4149444226,6),s=ze(s,r,n,i,e[11],3174756917,10),i=ze(i,s,r,n,e[2],718787259,15),n=ze(n,i,s,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+s|0};io.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=pw.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e};function so(e,t){return e<<t|e>>>32-t}function De(e,t,r,n,i,s,o){return so(e+(t&r|~t&n)+i+s|0,o)+t|0}function je(e,t,r,n,i,s,o){return so(e+(t&n|r&~n)+i+s|0,o)+t|0}function Ge(e,t,r,n,i,s,o){return so(e+(t^r^n)+i+s|0,o)+t|0}function ze(e,t,r,n,i,s,o){return so(e+(r^(t|~n))+i+s|0,o)+t|0}var mw=io,Bs=tt.Buffer,Bl=Tl.Transform,bw=He;function gw(e,t){if(!Bs.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function xr(e){Bl.call(this),this._block=Bs.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}bw(xr,Bl);xr.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};xr.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};xr.prototype.update=function(e,t){if(gw(e,"Data"),this._finalized)throw new Error("Digest already called");Bs.isBuffer(e)||(e=Bs.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};xr.prototype._update=function(){throw new Error("_update is not implemented")};xr.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};xr.prototype._digest=function(){throw new Error("_digest is not implemented")};var ww=xr,Qo=Zt.Buffer,_w=He,Cl=ww,vw=new Array(16),$n=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Hn=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Dn=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],jn=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],Gn=[0,1518500249,1859775393,2400959708,2840853838],zn=[1352829926,1548603684,1836072691,2053994217,0];function oo(){Cl.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}_w(oo,Cl);oo.prototype._update=function(){for(var e=vw,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);for(var r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._a|0,c=this._b|0,f=this._c|0,l=this._d|0,h=this._e|0,y=0;y<80;y+=1){var p,g;y<16?(p=Vu(r,n,i,s,o,e[$n[y]],Gn[0],Dn[y]),g=Xu(a,c,f,l,h,e[Hn[y]],zn[0],jn[y])):y<32?(p=Wu(r,n,i,s,o,e[$n[y]],Gn[1],Dn[y]),g=Yu(a,c,f,l,h,e[Hn[y]],zn[1],jn[y])):y<48?(p=Ku(r,n,i,s,o,e[$n[y]],Gn[2],Dn[y]),g=Ku(a,c,f,l,h,e[Hn[y]],zn[2],jn[y])):y<64?(p=Yu(r,n,i,s,o,e[$n[y]],Gn[3],Dn[y]),g=Wu(a,c,f,l,h,e[Hn[y]],zn[3],jn[y])):(p=Xu(r,n,i,s,o,e[$n[y]],Gn[4],Dn[y]),g=Vu(a,c,f,l,h,e[Hn[y]],zn[4],jn[y])),r=o,o=s,s=Hr(i,10),i=n,n=p,a=h,h=l,l=Hr(f,10),f=c,c=g}var _=this._b+i+l|0;this._b=this._c+s+h|0,this._c=this._d+o+a|0,this._d=this._e+r+c|0,this._e=this._a+n+f|0,this._a=_};oo.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=Qo.alloc?Qo.alloc(20):new Qo(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e};function Hr(e,t){return e<<t|e>>>32-t}function Vu(e,t,r,n,i,s,o,a){return Hr(e+(t^r^n)+s+o|0,a)+i|0}function Wu(e,t,r,n,i,s,o,a){return Hr(e+(t&r|~t&n)+s+o|0,a)+i|0}function Ku(e,t,r,n,i,s,o,a){return Hr(e+((t|~r)^n)+s+o|0,a)+i|0}function Yu(e,t,r,n,i,s,o,a){return Hr(e+(t&n|r&~n)+s+o|0,a)+i|0}function Xu(e,t,r,n,i,s,o,a){return Hr(e+(t^(r|~n))+s+o|0,a)+i|0}var Ew=oo,Ol={exports:{}},Rl=tt.Buffer;function ao(e,t){this._block=Rl.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}ao.prototype.update=function(e,t){typeof e=="string"&&(t=t||"utf8",e=Rl.from(e,t));for(var r=this._block,n=this._blockSize,i=e.length,s=this._len,o=0;o<i;){for(var a=s%n,c=Math.min(i-o,n-a),f=0;f<c;f++)r[a+f]=e[o+f];s+=c,o+=c,s%n===0&&this._update(r)}return this._len+=i,this};ao.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(r&4294967295)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var s=this._hash();return e?s.toString(e):s};ao.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var kn=ao,xw=He,Fl=kn,Aw=tt.Buffer,Sw=[1518500249,1859775393,-1894007588,-899497514],Pw=new Array(80);function zi(){this.init(),this._w=Pw,Fl.call(this,64,56)}xw(zi,Fl);zi.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function Tw(e){return e<<5|e>>>27}function kw(e){return e<<30|e>>>2}function Iw(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}zi.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=t[a-3]^t[a-8]^t[a-14]^t[a-16];for(var c=0;c<80;++c){var f=~~(c/20),l=Tw(r)+Iw(f,n,i,s)+o+t[c]+Sw[f]|0;o=s,s=i,i=kw(n),n=r,r=l}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};zi.prototype._hash=function(){var e=Aw.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var Bw=zi,Cw=He,Ul=kn,Ow=tt.Buffer,Rw=[1518500249,1859775393,-1894007588,-899497514],Fw=new Array(80);function qi(){this.init(),this._w=Fw,Ul.call(this,64,56)}Cw(qi,Ul);qi.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function Uw(e){return e<<1|e>>>31}function Nw(e){return e<<5|e>>>27}function Lw(e){return e<<30|e>>>2}function Mw(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}qi.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=Uw(t[a-3]^t[a-8]^t[a-14]^t[a-16]);for(var c=0;c<80;++c){var f=~~(c/20),l=Nw(r)+Mw(f,n,i,s)+o+t[c]+Rw[f]|0;o=s,s=i,i=Lw(n),n=r,r=l}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};qi.prototype._hash=function(){var e=Ow.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var $w=qi,Hw=He,Nl=kn,Dw=tt.Buffer,jw=[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],Gw=new Array(64);function Vi(){this.init(),this._w=Gw,Nl.call(this,64,56)}Hw(Vi,Nl);Vi.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function zw(e,t,r){return r^e&(t^r)}function qw(e,t,r){return e&t|r&(e|t)}function Vw(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function Ww(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function Kw(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function Yw(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}Vi.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._f|0,c=this._g|0,f=this._h|0,l=0;l<16;++l)t[l]=e.readInt32BE(l*4);for(;l<64;++l)t[l]=Yw(t[l-2])+t[l-7]+Kw(t[l-15])+t[l-16]|0;for(var h=0;h<64;++h){var y=f+Ww(o)+zw(o,a,c)+jw[h]+t[h]|0,p=Vw(r)+qw(r,n,i)|0;f=c,c=a,a=o,o=s+y|0,s=i,i=n,n=r,r=y+p|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0,this._f=a+this._f|0,this._g=c+this._g|0,this._h=f+this._h|0};Vi.prototype._hash=function(){var e=Dw.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e};var Ll=Vi,Xw=He,Jw=Ll,Qw=kn,Zw=tt.Buffer,e2=new Array(64);function co(){this.init(),this._w=e2,Qw.call(this,64,56)}Xw(co,Jw);co.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this};co.prototype._hash=function(){var e=Zw.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e};var t2=co,r2=He,Ml=kn,n2=tt.Buffer,Ju=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],i2=new Array(160);function Wi(){this.init(),this._w=i2,Ml.call(this,128,112)}r2(Wi,Ml);Wi.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function Qu(e,t,r){return r^e&(t^r)}function Zu(e,t,r){return e&t|r&(e|t)}function ef(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function tf(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function s2(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function o2(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function a2(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function c2(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function Fe(e,t){return e>>>0<t>>>0?1:0}Wi.prototype._update=function(e){for(var t=this._w,r=this._ah|0,n=this._bh|0,i=this._ch|0,s=this._dh|0,o=this._eh|0,a=this._fh|0,c=this._gh|0,f=this._hh|0,l=this._al|0,h=this._bl|0,y=this._cl|0,p=this._dl|0,g=this._el|0,_=this._fl|0,x=this._gl|0,k=this._hl|0,T=0;T<32;T+=2)t[T]=e.readInt32BE(T*4),t[T+1]=e.readInt32BE(T*4+4);for(;T<160;T+=2){var A=t[T-30],E=t[T-15*2+1],I=s2(A,E),S=o2(E,A);A=t[T-2*2],E=t[T-2*2+1];var N=a2(A,E),$=c2(E,A),B=t[T-7*2],W=t[T-7*2+1],R=t[T-16*2],D=t[T-16*2+1],j=S+W|0,V=I+B+Fe(j,S)|0;j=j+$|0,V=V+N+Fe(j,$)|0,j=j+D|0,V=V+R+Fe(j,D)|0,t[T]=V,t[T+1]=j}for(var X=0;X<160;X+=2){V=t[X],j=t[X+1];var ne=Zu(r,n,i),pe=Zu(l,h,y),_e=ef(r,l),Te=ef(l,r),We=tf(o,g),fe=tf(g,o),me=Ju[X],st=Ju[X+1],er=Qu(o,a,c),Rt=Qu(g,_,x),O=k+fe|0,C=f+We+Fe(O,k)|0;O=O+Rt|0,C=C+er+Fe(O,Rt)|0,O=O+st|0,C=C+me+Fe(O,st)|0,O=O+j|0,C=C+V+Fe(O,j)|0;var H=Te+pe|0,K=_e+ne+Fe(H,Te)|0;f=c,k=x,c=a,x=_,a=o,_=g,g=p+O|0,o=s+C+Fe(g,p)|0,s=i,p=y,i=n,y=h,n=r,h=l,l=O+H|0,r=C+K+Fe(l,O)|0}this._al=this._al+l|0,this._bl=this._bl+h|0,this._cl=this._cl+y|0,this._dl=this._dl+p|0,this._el=this._el+g|0,this._fl=this._fl+_|0,this._gl=this._gl+x|0,this._hl=this._hl+k|0,this._ah=this._ah+r+Fe(this._al,l)|0,this._bh=this._bh+n+Fe(this._bl,h)|0,this._ch=this._ch+i+Fe(this._cl,y)|0,this._dh=this._dh+s+Fe(this._dl,p)|0,this._eh=this._eh+o+Fe(this._el,g)|0,this._fh=this._fh+a+Fe(this._fl,_)|0,this._gh=this._gh+c+Fe(this._gl,x)|0,this._hh=this._hh+f+Fe(this._hl,k)|0};Wi.prototype._hash=function(){var e=n2.allocUnsafe(64);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e};var $l=Wi,u2=He,f2=$l,d2=kn,l2=tt.Buffer,h2=new Array(160);function uo(){this.init(),this._w=h2,d2.call(this,128,112)}u2(uo,f2);uo.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this};uo.prototype._hash=function(){var e=l2.allocUnsafe(48);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e};var p2=uo,zr=Ol.exports=function(t){t=t.toLowerCase();var r=zr[t];if(!r)throw new Error(t+" is not supported (we accept pull requests)");return new r};zr.sha=Bw;zr.sha1=$w;zr.sha224=t2;zr.sha256=Ll;zr.sha384=p2;zr.sha512=$l;var y2=Ol.exports,kt=tt.Buffer,Hl=Sc.Transform,m2=ks.StringDecoder,b2=He;function _t(e){Hl.call(this),this.hashMode=typeof e=="string",this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}b2(_t,Hl);var g2=typeof Uint8Array<"u",w2=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&ArrayBuffer.isView&&(kt.prototype instanceof Uint8Array||kt.TYPED_ARRAY_SUPPORT);function _2(e,t){if(e instanceof kt)return e;if(typeof e=="string")return kt.from(e,t);if(w2&&ArrayBuffer.isView(e)){if(e.byteLength===0)return kt.alloc(0);var r=kt.from(e.buffer,e.byteOffset,e.byteLength);if(r.byteLength===e.byteLength)return r}if(g2&&e instanceof Uint8Array||kt.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e))return kt.from(e);throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}_t.prototype.update=function(e,t,r){var n=_2(e,t),i=this._update(n);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)};_t.prototype.setAutoPadding=function(){};_t.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")};_t.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")};_t.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")};_t.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(i){n=i}finally{r(n)}};_t.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(r){t=r}e(t)};_t.prototype._finalOrDigest=function(e){var t=this.__final()||kt.alloc(0);return e&&(t=this._toString(t,e,!0)),t};_t.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new m2(t),this._encoding=t),this._encoding!==t)throw new Error("can’t switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n};var v2=_t,E2=He,x2=mw,A2=Ew,S2=y2,Dl=v2;function fo(e){Dl.call(this,"digest"),this._hash=e}E2(fo,Dl);fo.prototype._update=function(e){this._hash.update(e)};fo.prototype._final=function(){return this._hash.digest()};var P2=function(t){return t=t.toLowerCase(),t==="md5"?new x2:t==="rmd160"||t==="ripemd160"?new A2:new fo(S2(t))},as=tt.Buffer;function T2(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var o=e.length,a=e.charAt(0),c=Math.log(o)/Math.log(256),f=Math.log(256)/Math.log(o);function l(p){if((Array.isArray(p)||p instanceof Uint8Array)&&(p=as.from(p)),!as.isBuffer(p))throw new TypeError("Expected Buffer");if(p.length===0)return"";for(var g=0,_=0,x=0,k=p.length;x!==k&&p[x]===0;)x++,g++;for(var T=(k-x)*f+1>>>0,A=new Uint8Array(T);x!==k;){for(var E=p[x],I=0,S=T-1;(E!==0||I<_)&&S!==-1;S--,I++)E+=256*A[S]>>>0,A[S]=E%o>>>0,E=E/o>>>0;if(E!==0)throw new Error("Non-zero carry");_=I,x++}for(var N=T-_;N!==T&&A[N]===0;)N++;for(var $=a.repeat(g);N<T;++N)$+=e.charAt(A[N]);return $}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return as.alloc(0);for(var g=0,_=0,x=0;p[g]===a;)_++,g++;for(var k=(p.length-g)*c+1>>>0,T=new Uint8Array(k);g<p.length;){var A=p.charCodeAt(g);if(A>255)return;var E=t[A];if(E===255)return;for(var I=0,S=k-1;(E!==0||I<x)&&S!==-1;S--,I++)E+=o*T[S]>>>0,T[S]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");x=I,g++}for(var N=k-x;N!==k&&T[N]===0;)N++;var $=as.allocUnsafe(_+(k-N));$.fill(0,0,_);for(var B=_;N!==k;)$[B++]=T[N++];return $}function y(p){var g=h(p);if(g)return g;throw new Error("Non-base"+o+" character")}return{encode:l,decodeUnsafe:h,decode:y}}var k2=T2,I2=k2,B2="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",C2=I2(B2),Zo=C2,O2=tt.Buffer,R2=function(e){function t(s){var o=e(s);return Zo.encode(O2.concat([s,o],s.length+4))}function r(s){var o=s.slice(0,-4),a=s.slice(-4),c=e(o);if(!(a[0]^c[0]|a[1]^c[1]|a[2]^c[2]|a[3]^c[3]))return o}function n(s){var o=Zo.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=Zo.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},rf=P2,F2=R2;function U2(e){var t=rf("sha256").update(e).digest();return rf("sha256").update(t).digest()}var N2=F2(U2),Ca=N2;function jl(e,t){if(t!==void 0&&e[0]!==t)throw new Error("Invalid network version");if(e.length===33)return{version:e[0],privateKey:e.slice(1,33),compressed:!1};if(e.length!==34)throw new Error("Invalid WIF length");if(e[33]!==1)throw new Error("Invalid compression flag");return{version:e[0],privateKey:e.slice(1,33),compressed:!0}}function Oa(e,t,r){var n=new Buffer(r?34:33);return n.writeUInt8(e,0),t.copy(n,1),r&&(n[33]=1),n}function L2(e,t){return jl(Ca.decode(e),t)}function M2(e,t,r){return typeof e=="number"?Ca.encode(Oa(e,t,r)):Ca.encode(Oa(e.version,e.privateKey,e.compressed))}var $2={decode:L2,decodeRaw:jl,encode:M2,encodeRaw:Oa},lo={};Object.defineProperty(lo,"__esModule",{value:!0});lo.testEcc=void 0;const Y=e=>Buffer.from(e,"hex");function H2(e){ge(e.isPoint(Y("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ge(!e.isPoint(Y("030000000000000000000000000000000000000000000000000000000000000005"))),ge(e.isPrivate(Y("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ge(e.isPrivate(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ge(!e.isPrivate(Y("0000000000000000000000000000000000000000000000000000000000000000"))),ge(!e.isPrivate(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),ge(!e.isPrivate(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),ge(Buffer.from(e.privateAdd(Y("0000000000000000000000000000000000000000000000000000000000000001"),Y("0000000000000000000000000000000000000000000000000000000000000000"))).equals(Y("0000000000000000000000000000000000000000000000000000000000000001"))),ge(e.privateAdd(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),Y("0000000000000000000000000000000000000000000000000000000000000003"))===null),ge(Buffer.from(e.privateAdd(Y("e211078564db65c3ce7704f08262b1f38f1ef412ad15b5ac2d76657a63b2c500"),Y("b51fbb69051255d1becbd683de5848242a89c229348dd72896a87ada94ae8665"))).equals(Y("9730c2ee69edbb958d42db7460bafa18fef9d955325aec99044c81c8282b0a24"))),ge(Buffer.from(e.privateNegate(Y("0000000000000000000000000000000000000000000000000000000000000001"))).equals(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ge(Buffer.from(e.privateNegate(Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"))).equals(Y("0000000000000000000000000000000000000000000000000000000000000003"))),ge(Buffer.from(e.privateNegate(Y("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(Y("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792"))),ge(Buffer.from(e.pointCompress(Y("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!0)).equals(Y("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ge(Buffer.from(e.pointCompress(Y("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!1)).equals(Y("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ge(Buffer.from(e.pointCompress(Y("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!0)).equals(Y("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ge(Buffer.from(e.pointCompress(Y("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!1)).equals(Y("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ge(Buffer.from(e.pointFromScalar(Y("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(Y("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))),ge(e.xOnlyPointAddTweak(Y("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===null);let t=e.xOnlyPointAddTweak(Y("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),Y("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));ge(Buffer.from(t.xOnlyPubkey).equals(Y("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))&&t.parity===1),t=e.xOnlyPointAddTweak(Y("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),Y("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47")),ge(Buffer.from(t.xOnlyPubkey).equals(Y("9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"))&&t.parity===0),ge(Buffer.from(e.sign(Y("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),Y("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))).equals(Y("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),ge(e.verify(Y("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),Y("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Y("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&ge(Buffer.from(e.signSchnorr(Y("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),Y("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),Y("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906"))).equals(Y("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))),e.verifySchnorr&&ge(e.verifySchnorr(Y("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),Y("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),Y("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}lo.testEcc=H2;function ge(e){if(!e)throw new Error("ecc library invalid")}Object.defineProperty(wn,"__esModule",{value:!0});wn.ECPairFactory=wn.networks=void 0;const Ra=_n;wn.networks=Ra;const Je=al,D2=c1,nf=$2,j2=lo,ea=Je.typeforce.maybe(Je.typeforce.compile({compressed:Je.maybe(Je.Boolean),network:Je.maybe(Je.Network)})),G2=e=>e.length===32?e:e.slice(1,33);function z2(e){(0,j2.testEcc)(e);function t(a){return e.isPoint(a)}function r(a,c){if(Je.typeforce(Je.Buffer256bit,a),!e.isPrivate(a))throw new TypeError("Private key not in range [1, n)");return Je.typeforce(ea,c),new o(a,void 0,c)}function n(a,c){return Je.typeforce(e.isPoint,a),Je.typeforce(ea,c),new o(void 0,a,c)}function i(a,c){const f=nf.decode(a),l=f.version;if(Je.Array(c)){if(c=c.filter(h=>l===h.wif).pop(),!c)throw new Error("Unknown network version")}else if(c=c||Ra.bitcoin,l!==c.wif)throw new Error("Invalid network version");return r(f.privateKey,{compressed:f.compressed,network:c})}function s(a){Je.typeforce(ea,a),a===void 0&&(a={});const c=a.rng||D2;let f;do f=c(32),Je.typeforce(Je.Buffer256bit,f);while(!e.isPrivate(f));return r(f,a)}class o{constructor(c,f,l){Wr(this,"__D");Wr(this,"__Q");Wr(this,"compressed");Wr(this,"network");Wr(this,"lowR");this.__D=c,this.__Q=f,this.lowR=!1,l===void 0&&(l={}),this.compressed=l.compressed===void 0?!0:l.compressed,this.network=l.network||Ra.bitcoin,f!==void 0&&(this.__Q=Buffer.from(e.pointCompress(f,this.compressed)))}get privateKey(){return this.__D}get publicKey(){if(!this.__Q){const c=e.pointFromScalar(this.__D,this.compressed);this.__Q=Buffer.from(c)}return this.__Q}toWIF(){if(!this.__D)throw new Error("Missing private key");return nf.encode(this.network.wif,this.__D,this.compressed)}tweak(c){return this.privateKey?this.tweakFromPrivateKey(c):this.tweakFromPublicKey(c)}sign(c,f){if(!this.__D)throw new Error("Missing private key");if(f===void 0&&(f=this.lowR),f===!1)return Buffer.from(e.sign(c,this.__D));{let l=e.sign(c,this.__D);const h=Buffer.alloc(32,0);let y=0;for(;l[0]>127;)y++,h.writeUIntLE(y,0,6),l=e.sign(c,this.__D,h);return Buffer.from(l)}}signSchnorr(c){if(!this.privateKey)throw new Error("Missing private key");if(!e.signSchnorr)throw new Error("signSchnorr not supported by ecc library");return Buffer.from(e.signSchnorr(c,this.privateKey))}verify(c,f){return e.verify(c,this.publicKey,f)}verifySchnorr(c,f){if(!e.verifySchnorr)throw new Error("verifySchnorr not supported by ecc library");return e.verifySchnorr(c,this.publicKey.subarray(1,33),f)}tweakFromPublicKey(c){const f=G2(this.publicKey),l=e.xOnlyPointAddTweak(f,c);if(!l||l.xOnlyPubkey===null)throw new Error("Cannot tweak public key!");const h=Buffer.from([l.parity===0?2:3]);return n(Buffer.concat([h,l.xOnlyPubkey]),{network:this.network,compressed:this.compressed})}tweakFromPrivateKey(c){const l=this.publicKey[0]===3||this.publicKey[0]===4&&(this.publicKey[64]&1)===1?e.privateNegate(this.privateKey):this.privateKey,h=e.privateAdd(l,c);if(!h)throw new Error("Invalid tweaked private key!");return r(Buffer.from(h),{network:this.network,compressed:this.compressed})}}return{isPoint:t,fromPrivateKey:r,fromPublicKey:n,fromWIF:i,makeRandom:s}}wn.ECPairFactory=z2;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.networks=e.ECPairFactory=e.default=void 0;var t=wn;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"ECPairFactory",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"networks",{enumerable:!0,get:function(){return t.networks}})})(ol);const q2=wm(ol);class Bi extends q.EventBroker{get isInitialized(){return!!this.digestKey}constructor(t,r){super(),this.digestKey=t,this.walletClient=r}static fromDigestKey(t){return new Bi(kr(t))}static fromWalletClient(t){return new Bi(void 0,t)}async initialize(){if(this.digestKey)return ie("Already initialized");const t=await this.deriveDigestKeyFromWalletClient();return t.error?G(t.error):(this.emit("initialized",!0),ie("Initialized"))}async deriveDigestKeyFromWalletClient(){if(!this.walletClient)return G("No walletClient found");if(!this.walletClient.account)return G("No account found");try{const t=await this.walletClient.signTypedData({account:this.walletClient.account,types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"}],Data:[{name:"Message",type:"string"},{name:"Version",type:"string"},{name:"Nonce",type:"uint256"}]},domain:{name:"GARDEN FINANCE",version:"1"},primaryType:"Data",message:{Message:"Initialize your account",Version:"1.0.2",Nonce:1n}});return this.digestKey=kr(Wn(t)),this.emit("initialized",!0),ie(this.digestKey)}catch(t){return G("Failed to initialize: "+t)}}async getDigestKey(){if(!this.digestKey&&!this.walletClient)return G("No private key or wallet client found");if(!this.digestKey&&this.walletClient){const t=await this.deriveDigestKeyFromWalletClient();if(t.error)return G(t.error)}return this.digestKey?ie(this.digestKey):G("No private key found")}async generateSecret(t){const r=await this.signMessage(t);if(r.error)return G(r.error);const n=Wn(q.with0x(r.val)),i=Wn(n);return ie({secret:n,secretHash:i})}async signMessage(t){if(!this.digestKey){const f=await this.getDigestKey();if(f.error)return G(f.error);this.digestKey=f.val}const r=q2(Or),n="Garden.fi"+t.toString(),i=Buffer.from(n,"utf8"),s=Wn(i),o=Buffer.from(kr(this.digestKey),"hex");if(o.length!==32)return G("Invalid private key length. Expected 32 bytes.");const c=r.fromPrivateKey(o).sign(Buffer.from(kr(s),"hex"));return ie(c.toString("hex"))}}const sf=[{inputs:[{internalType:"address",name:"token_",type:"address"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Initiated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"secret",type:"bytes"}],name:"Redeemed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"Refunded",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"}],name:"initiate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"initiateWithSignature",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"instantRefund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct HTLC.InitWithSig[]",name:"inits",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],internalType:"struct HTLC.Redeem[]",name:"redeems",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],internalType:"struct HTLC.Refund[]",name:"refunds",type:"tuple[]"}],name:"multicall",outputs:[{internalType:"bool[]",name:"results",type:"bool[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"bool",name:"isFulfilled",type:"bool"},{internalType:"address",name:"initiator",type:"address"},{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"initiatedAt",type:"uint256"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"refund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"}],V2={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},W2={block:Qp({format(e){var r;return{transactions:(r=e.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const i=Ja(n);return i.typeHex==="0x7e"&&(i.isSystemTx=n.isSystemTx,i.mint=n.mint?pt(n.mint):void 0,i.sourceHash=n.sourceHash,i.type="deposit"),i}),stateRoot:e.stateRoot}}}),transaction:Xp({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?pt(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:jy({format(e){return{l1GasPrice:e.l1GasPrice?pt(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?pt(e.l1GasUsed):null,l1Fee:e.l1Fee?pt(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function K2(e,t){return J2(e)?X2(e):lm(e,t)}const Y2={transaction:K2};function X2(e){Q2(e);const{sourceHash:t,data:r,from:n,gas:i,isSystemTx:s,mint:o,to:a,value:c}=e,f=[t,n,a??"0x",o?J(o):"0x",c?J(c):"0x",i?J(i):"0x",s?"0x1":"0x",r??"0x"];return Ot(["0x7e",mr(f)])}function J2(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Q2(e){const{from:t,to:r}=e;if(t&&!Ue(t))throw new et({address:t});if(r&&!Ue(r))throw new et({address:r})}const En={contracts:V2,formatters:W2,serializers:Y2},Z2=wt({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),e_=wt({id:421614,name:"Arbitrum Sepolia",nativeCurrency:{name:"Arbitrum Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://sepolia.arbiscan.io",apiUrl:"https://api-sepolia.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:81930}},testnet:!0}),qn=1,t_=wt({...En,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...En.contracts,disputeGameFactory:{[qn]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[qn]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[qn]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[qn]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:qn}),Vn=11155111,r_=wt({...En,id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://sepolia.basescan.org",apiUrl:"https://api-sepolia.basescan.org/api"}},contracts:{...En.contracts,disputeGameFactory:{[Vn]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[Vn]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[Vn]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[Vn]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:Vn}),n_=wt({id:80094,name:"Berachain",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:0},ensRegistry:{address:"0x5b22280886a2f5e09a49bea7e320eab0e5320e28",blockCreated:877007},ensUniversalResolver:{address:"0xddfb18888a9466688235887dec2a10c4f5effee9",blockCreated:877008}},rpcUrls:{default:{http:["https://rpc.berachain.com"]}},blockExplorers:{default:{name:"Berascan",url:"https://berascan.com"}},ensTlds:[".bera"],testnet:!1}),i_=wt({id:80084,name:"Berachain bArtio",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:109269},ensRegistry:{address:"0xB0eef18971290b333450586D33dcA6cE122651D2",blockCreated:7736794},ensUniversalResolver:{address:"0x41692Ef1EA0C79E6b73077E4A67572D2BDbD7057",blockCreated:7736795}},ensTlds:[".bera"],rpcUrls:{default:{http:["https://bartio.rpc.berachain.com"]}},blockExplorers:{default:{name:"Berachain bArtio Beratrail",url:"https://bartio.beratrail.io"}},testnet:!0}),s_=wt({id:5115,name:"Citrea Testnet",nativeCurrency:{name:"cBTC",symbol:"cBTC",decimals:18},rpcUrls:{default:{http:["https://rpc.testnet.citrea.xyz"]}},blockExplorers:{default:{name:"Citrea Explorer",url:"https://explorer.testnet.citrea.xyz",apiUrl:"https://explorer.testnet.citrea.xyz/api"}},testnet:!0}),o_=wt({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xce01f8eee7E479C928F8919abD53E553a36CeF67",blockCreated:19258213},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),a_=wt({id:10143,name:"Monad Testnet",nativeCurrency:{name:"Testnet MON Token",symbol:"MON",decimals:18},rpcUrls:{default:{http:["https://testnet-rpc.monad.xyz"]}},blockExplorers:{default:{name:"Monad Testnet explorer",url:"https://testnet.monadexplorer.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:251449}},testnet:!0}),c_=wt({id:11155111,name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.drpc.org"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",blockCreated:5317080}},testnet:!0}),cs=1,u_=wt({...En,id:130,name:"Unichain",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.unichain.org/"]}},blockExplorers:{default:{name:"Uniscan",url:"https://uniscan.xyz",apiUrl:"https://api.uniscan.xyz/api"}},contracts:{...En.contracts,multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:0},disputeGameFactory:{[cs]:{address:"0x2F12d621a16e2d3285929C9996f478508951dFe4"}},portal:{[cs]:{address:"0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2"}},l1StandardBridge:{[cs]:{address:"0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA"}}},sourceId:cs}),f_={...c_,rpcUrls:{default:{http:["https://ethereum-sepolia-rpc.publicnode.com"]}}},Gl={id:998,name:"Hyperliquid EVM Testnet",nativeCurrency:{name:"Hyperliquid",symbol:"HYPE",decimals:18},blockExplorers:{default:{name:"Hyperliquid Explorer",url:"https://testnet.purrsec.com/"}},rpcUrls:{default:{http:["https://rpc.hyperliquid-testnet.xyz/evm"]}}},zl={id:999,name:"HyperEVM",nativeCurrency:{name:"Hyperliquid",symbol:"HYPE",decimals:18},blockExplorers:{default:{name:"Hyperliquid Explorer",url:"https://hyperscan.gas.zip/"}},rpcUrls:{default:{http:["https://rpc.hyperliquid.xyz/evm"]}}},ql={ethereum:o_,arbitrum:Z2,ethereum_sepolia:f_,arbitrum_sepolia:e_,ethereum_localnet:le.EthereumLocalnet,arbitrum_localnet:le.ArbitrumLocalnet,base_sepolia:r_,base:t_,bera_testnet:i_,citrea_testnet:s_,bera:n_,monad_testnet:a_,hyperliquid_testnet:Gl,hyperliquid:zl,unichan:u_},Vl=async(e,t)=>{var n,i,s,o;const r=ql[e];if(r)try{if(r.id===((n=t.chain)==null?void 0:n.id))return ie({message:"Already on the network",walletClient:t});await t.switchChain({id:r.id});const a=Io({account:t.account,chain:r,transport:nu(t.transport)});return ie({message:"Switched chain",walletClient:a})}catch(a){if(d_(a))if(a.code===4902)try{await t.addChain({chain:r});const c=Io({account:t.account,chain:r,transport:nu(t.transport)});return ie({message:"Added network",walletClient:c})}catch{return G("Failed to add network")}else if((s=(i=a.body)==null?void 0:i.method)!=null&&s.includes("wallet_switchEthereumChain")||(o=a.message)!=null&&o.includes("wallet_switchEthereumChain")){const c=Io({account:t.account,chain:r,transport:em()});return ie({message:"Added network",walletClient:c})}else return G("Failed to switch network");else return G("Failed to switch network")}else return G("Chain not supported")},d_=e=>typeof e=="object"&&e!=null&&("code"in e||"message"in e||"body"in e),l_=[{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[],name:"NativeHTLC__DuplicateOrder",type:"error"},{inputs:[],name:"NativeHTLC__IncorrectFundsRecieved",type:"error"},{inputs:[],name:"NativeHTLC__IncorrectSecret",type:"error"},{inputs:[],name:"NativeHTLC__InsufficientBalance",type:"error"},{inputs:[],name:"NativeHTLC__InvalidRedeemerSignature",type:"error"},{inputs:[],name:"NativeHTLC__OrderFulfilled",type:"error"},{inputs:[],name:"NativeHTLC__OrderNotExpired",type:"error"},{inputs:[],name:"NativeHTLC__OrderNotInitiated",type:"error"},{inputs:[],name:"NativeHTLC__SameInitiatorAndRedeemer",type:"error"},{inputs:[],name:"NativeHTLC__ZeroAddressInitiator",type:"error"},{inputs:[],name:"NativeHTLC__ZeroAddressRedeemer",type:"error"},{inputs:[],name:"NativeHTLC__ZeroAmount",type:"error"},{inputs:[],name:"NativeHTLC__ZeroTimelock",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Initiated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"secret",type:"bytes"}],name:"Redeemed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"Refunded",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address payable",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"}],name:"initiate",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"initiator",type:"address"},{internalType:"address payable",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"}],name:"initiateOnBehalf",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"instantRefund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"instantRefundDigest",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"bool",name:"isFulfilled",type:"bool"},{internalType:"address payable",name:"initiator",type:"address"},{internalType:"address payable",name:"redeemer",type:"address"},{internalType:"uint256",name:"initiatedAt",type:"uint256"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"refund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}];class Wl{constructor(t,r,n){this.url=new q.Url("/relayer",t),this.auth=n,this.wallet=r}get htlcActorAddress(){if(!this.wallet.account)throw new Error("No account found");return this.wallet.account.address}async initiate(t){if(!this.wallet.account)return q.Err("No account found");if(this.wallet.account.address.toLowerCase()!==t.source_swap.initiator.toLowerCase())return q.Err("Account address and order initiator mismatch");if(!le.isEVM(t.source_swap.chain))return q.Err("Source chain is not an EVM chain");const r=await Vl(t.source_swap.chain,this.wallet);if(r.error)return q.Err(r.error);if(this.wallet=r.val.walletClient,!this.wallet.account)return q.Err("No account found");const{create_order:n,source_swap:i}=t;if(!i.amount||!i.redeemer||!n.timelock||!n.secret_hash)return q.Err("Invalid order");const s=q.with0x(n.secret_hash),o=BigInt(n.timelock),a=q.with0x(i.redeemer),c=BigInt(i.amount),f=await this.getTokenAddress(t.source_swap.asset);return f.ok?le.isEvmNativeToken(t.source_swap.chain,f.val)?this._initiateOnNativeHTLC(s,o,c,a,t.source_swap.asset):this._initiateOnErc20HTLC(s,o,c,a,t.source_swap.asset,f.val,n.create_id):q.Err(f.error)}async getTokenAddress(t){try{const n=await So({address:q.with0x(t),abi:sf,client:this.wallet}).read.token();return q.Ok(n)}catch(r){return q.Err("Failed to get token address",String(r))}}async _initiateOnNativeHTLC(t,r,n,i,s){if(!this.wallet.account)return q.Err("No account found");try{const a=await So({address:q.with0x(s),abi:l_,client:this.wallet}).write.initiate([i,r,n,t],{account:this.wallet.account,chain:this.wallet.chain,value:n});return q.Ok(a)}catch(o){return q.Err("Failed to initiate on native HTLC",String(o))}}async _initiateOnErc20HTLC(t,r,n,i,s,o,a){if(!this.wallet.account)return q.Err("No account found");try{const c=await this.auth.getAuthHeaders();if(c.error)return q.Err(c.error);const f=So({address:q.with0x(s),abi:sf,client:this.wallet}),l=await q.checkAllowanceAndApprove(Number(n),o,s,this.wallet);if(l.error)return q.Err(l.error);const h=await f.read.eip712Domain(),y=await this.wallet.signTypedData({account:this.wallet.account,domain:{name:h[1],version:h[2],chainId:Number(h[3]),verifyingContract:h[4]},types:{Initiate:[{name:"redeemer",type:"address"},{name:"timelock",type:"uint256"},{name:"amount",type:"uint256"},{name:"secretHash",type:"bytes32"}]},primaryType:"Initiate",message:{redeemer:i,timelock:r,amount:n,secretHash:t}}),p={...c.val,"Content-Type":"application/json"},g=await Dt.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:a,signature:y,perform_on:"Source"}),headers:p});return g.error?q.Err(g.error):g.result?q.Ok(g.result):q.Err("Init: No result found")}catch(c){return console.log("init error :",c),q.Err(String(c))}}async redeem(t,r){try{const n=await this.auth.getAuthHeaders();if(n.error)return q.Err(n.error);const i=await Dt.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t.create_order.create_id,secret:kr(r),perform_on:"Destination"}),headers:{...n.val,"Content-Type":"application/json"}});return i.error?q.Err(i.error):i.result?q.Ok(i.result):q.Err("Redeem: No result found")}catch(n){return q.Err(String(n))}}async refund(){return q.Err("Refund not supported")}}const Kl=[{name:"LockingContract",type:"impl",interface_name:"src::mintable_lock_interface::ILockingContract"},{name:"src::mintable_lock_interface::ILockingContract",type:"interface",items:[{name:"set_locking_contract",type:"function",inputs:[{name:"locking_contract",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"get_locking_contract",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"}]},{name:"LockAndDelegate",type:"impl",interface_name:"src::mintable_lock_interface::ILockAndDelegate"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"src::mintable_lock_interface::ILockAndDelegate",type:"interface",items:[{name:"lock_and_delegate",type:"function",inputs:[{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"lock_and_delegate_by_sig",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"},{name:"nonce",type:"core::felt252"},{name:"expiry",type:"core::integer::u64"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"}]},{name:"MintableToken",type:"impl",interface_name:"src::mintable_token_interface::IMintableToken"},{name:"src::mintable_token_interface::IMintableToken",type:"interface",items:[{name:"permissioned_mint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissioned_burn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"MintableTokenCamelImpl",type:"impl",interface_name:"src::mintable_token_interface::IMintableTokenCamel"},{name:"src::mintable_token_interface::IMintableTokenCamel",type:"interface",items:[{name:"permissionedMint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissionedBurn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"Replaceable",type:"impl",interface_name:"src::replaceability_interface::IReplaceable"},{name:"core::array::Span::<core::felt252>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::felt252>"}]},{name:"src::replaceability_interface::EICData",type:"struct",members:[{name:"eic_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_init_data",type:"core::array::Span::<core::felt252>"}]},{name:"core::option::Option::<src::replaceability_interface::EICData>",type:"enum",variants:[{name:"Some",type:"src::replaceability_interface::EICData"},{name:"None",type:"()"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"src::replaceability_interface::ImplementationData",type:"struct",members:[{name:"impl_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_data",type:"core::option::Option::<src::replaceability_interface::EICData>"},{name:"final",type:"core::bool"}]},{name:"src::replaceability_interface::IReplaceable",type:"interface",items:[{name:"get_upgrade_delay",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"get_impl_activation_time",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"add_new_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"remove_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"replace_to",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"}]},{name:"AccessControlImplExternal",type:"impl",interface_name:"src::access_control_interface::IAccessControl"},{name:"src::access_control_interface::IAccessControl",type:"interface",items:[{name:"has_role",type:"function",inputs:[{name:"role",type:"core::felt252"},{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"get_role_admin",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]},{name:"RolesImpl",type:"impl",interface_name:"src::roles_interface::IMinimalRoles"},{name:"src::roles_interface::IMinimalRoles",type:"interface",items:[{name:"is_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"renounce",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[],state_mutability:"external"}]},{name:"ERC20Impl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20"},{name:"openzeppelin::token::erc20::interface::IERC20",type:"interface",items:[{name:"name",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"symbol",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"decimals",type:"function",inputs:[],outputs:[{type:"core::integer::u8"}],state_mutability:"view"},{name:"total_supply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balance_of",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"allowance",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"},{name:"spender",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transfer",type:"function",inputs:[{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"transfer_from",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"approve",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"ERC20CamelOnlyImpl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20CamelOnly"},{name:"openzeppelin::token::erc20::interface::IERC20CamelOnly",type:"interface",items:[{name:"totalSupply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balanceOf",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transferFrom",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"name",type:"core::felt252"},{name:"symbol",type:"core::felt252"},{name:"decimals",type:"core::integer::u8"},{name:"initial_supply",type:"core::integer::u256"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"permitted_minter",type:"core::starknet::contract_address::ContractAddress"},{name:"provisional_governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"upgrade_delay",type:"core::integer::u64"}]},{name:"increase_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"added_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decrease_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtracted_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"increaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"addedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decreaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtractedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Transfer",type:"event",members:[{kind:"data",name:"from",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"to",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Approval",type:"event",members:[{kind:"data",name:"owner",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"spender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationAdded",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationRemoved",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationReplaced",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationFinalized",type:"event",members:[{kind:"data",name:"impl_hash",type:"core::starknet::class_hash::ClassHash"}]},{kind:"struct",name:"src::access_control_interface::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"src::strk::erc20_lockable::ERC20Lockable::Event",type:"event",variants:[{kind:"nested",name:"Transfer",type:"src::strk::erc20_lockable::ERC20Lockable::Transfer"},{kind:"nested",name:"Approval",type:"src::strk::erc20_lockable::ERC20Lockable::Approval"},{kind:"nested",name:"ImplementationAdded",type:"src::replaceability_interface::ImplementationAdded"},{kind:"nested",name:"ImplementationRemoved",type:"src::replaceability_interface::ImplementationRemoved"},{kind:"nested",name:"ImplementationReplaced",type:"src::replaceability_interface::ImplementationReplaced"},{kind:"nested",name:"ImplementationFinalized",type:"src::replaceability_interface::ImplementationFinalized"},{kind:"nested",name:"RoleGranted",type:"src::access_control_interface::RoleGranted"},{kind:"nested",name:"RoleRevoked",type:"src::access_control_interface::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"src::access_control_interface::RoleAdminChanged"},{kind:"nested",name:"GovernanceAdminAdded",type:"src::roles_interface::GovernanceAdminAdded"},{kind:"nested",name:"GovernanceAdminRemoved",type:"src::roles_interface::GovernanceAdminRemoved"},{kind:"nested",name:"UpgradeGovernorAdded",type:"src::roles_interface::UpgradeGovernorAdded"},{kind:"nested",name:"UpgradeGovernorRemoved",type:"src::roles_interface::UpgradeGovernorRemoved"}]}],h_=async(e,t,r,n,i)=>{try{const s=await Fa(e.address,t,r,i);if(s.error)return G(s.error);const o=Oe.cairo.uint256(BigInt(Oe.uint256.UINT_256_MAX));if(s.val<n){const a=await e.execute([{contractAddress:nn(t),entrypoint:"approve",calldata:[r,o.low,o.high]}]);await i.waitForTransaction(a.transaction_hash,{retryInterval:3e3,successStates:[Oe.TransactionExecutionStatus.SUCCEEDED]}),await q.sleep(2e3);let c=0n;for(let f=0;f<20;f++){const l=await Fa(e.address,t,r,i);if(l.error)return G(l.error);if(c=l.val,c>=n)break;await q.sleep(2e3)}return c<n?G("Allowance not approved"):ie(a.transaction_hash)}return ie("Allowance already approved")}catch(s){return G(`Failed to check or approve allowance: ${s instanceof Error?s.message:String(s)}`)}},Fa=async(e,t,r,n)=>{try{const s=await new Oe.Contract(Kl,nn(t),n).call("allowance",[nn(e),nn(r)]);return ie(BigInt((s==null?void 0:s.toString())||"0"))}catch(i){return G(`Failed to check allowance: ${i instanceof Error?i.message:String(i)}`)}},p_=async(e,t,r,n,i)=>{const s=await Fa(e,t,r,n);return s.error?G(s.error):ie(s.val>=i)},Yl=[{name:"HTLC",type:"impl",interface_name:"starknet_htlc::interface::IHTLC"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"starknet_htlc::interface::IHTLC",type:"interface",items:[{name:"token",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"initiate",type:"function",inputs:[{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"}],outputs:[],state_mutability:"external"},{name:"initiate_on_behalf",type:"function",inputs:[{name:"initiator",type:"core::starknet::contract_address::ContractAddress"},{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"}],outputs:[],state_mutability:"external"},{name:"initiate_with_signature",type:"function",inputs:[{name:"initiator",type:"core::starknet::contract_address::ContractAddress"},{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"},{name:"redeem",type:"function",inputs:[{name:"order_id",type:"core::felt252"},{name:"secret",type:"core::array::Array::<core::integer::u32>"}],outputs:[],state_mutability:"external"},{name:"refund",type:"function",inputs:[{name:"order_id",type:"core::felt252"}],outputs:[],state_mutability:"external"},{name:"instant_refund",type:"function",inputs:[{name:"order_id",type:"core::felt252"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"token",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starknet_htlc::interface::events::Initiated",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"},{kind:"data",name:"secret_hash",type:"[core::integer::u32; 8]"},{kind:"data",name:"amount",type:"core::integer::u256"}]},{kind:"struct",name:"starknet_htlc::interface::events::Redeemed",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"},{kind:"data",name:"secret_hash",type:"[core::integer::u32; 8]"},{kind:"data",name:"secret",type:"core::array::Array::<core::integer::u32>"}]},{kind:"struct",name:"starknet_htlc::interface::events::Refunded",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"}]},{kind:"enum",name:"starknet_htlc::htlc::HTLC::Event",type:"event",variants:[{kind:"nested",name:"Initiated",type:"starknet_htlc::interface::events::Initiated"},{kind:"nested",name:"Redeemed",type:"starknet_htlc::interface::events::Redeemed"},{kind:"nested",name:"Refunded",type:"starknet_htlc::interface::events::Refunded"}]}],y_={StarknetDomain:[{name:"name",type:"shortstring"},{name:"version",type:"shortstring"},{name:"chainId",type:"shortstring"},{name:"revision",type:"shortstring"}],Initiate:[{name:"redeemer",type:"ContractAddress"},{name:"amount",type:"u256"},{name:"timelock",type:"u128"},{name:"secretHash",type:"u128*"}]};class Xl{constructor(t,r,n,i){this.url=t instanceof q.Url?t:new q.Url(t),this.account=r,this.starknetProvider=new Oe.RpcProvider({nodeUrl:i||Si[n].nodeUrl}),this.chainId=Si[n].chainId}get htlcActorAddress(){if(!this.account.address)throw new Error("No account found");return this.account.address}async initiate(t){if(!this.account.address)return G("No account address");const{create_order:r,source_swap:n}=t,{redeemer:i,amount:s}=n;if(!s||!i||!r.secret_hash||!r.timelock)return G("Invalid order");try{const o=new Oe.Contract(Yl,t.source_swap.asset,this.account),a=await(o==null?void 0:o.token()),c=Oe.num.toHex(a),f=await p_(this.account.address,c,n.asset,this.starknetProvider,BigInt(s));return f.error?G(f.error):f.val?this.initiateRelay(t):this.approveAndInitiate(c,t)}catch(o){return G(String(o))}}async approveAndInitiate(t,r){const{create_order:n,source_swap:i}=r,{redeemer:s,amount:o}=i,{secret_hash:a,timelock:c}=n,f=i.asset;try{const l=Oe.cairo.uint256(BigInt(Oe.uint256.UINT_256_MAX)),h={contractAddress:nn(t),entrypoint:"approve",calldata:[f,l.low,l.high]},y=Oe.cairo.uint256(o),p={contractAddress:nn(f),entrypoint:"initiate",calldata:[s,c.toString(),y.low.toString(),y.high.toString(),...q.hexToU32Array(a)]},g=await this.account.execute([h,p]);return await this.starknetProvider.waitForTransaction(g.transaction_hash,{retryInterval:2e3,successStates:[Oe.TransactionExecutionStatus.SUCCEEDED]}),ie(g.transaction_hash)}catch(l){return G(`Failed to approve and initiate: ${String(l)}`)}}async initiateRelay(t){const{create_order:r,source_swap:n}=t,{redeemer:i,amount:s}=n,a={domain:{name:"HTLC",version:Oe.shortString.encodeShortString("1"),chainId:this.chainId,revision:Oe.TypedDataRevision.ACTIVE},primaryType:"Initiate",types:y_,message:{redeemer:i,amount:Oe.cairo.uint256(s),timelock:r.timelock,secretHash:q.hexToU32Array(r.secret_hash)}};try{const c=await this.account.signMessage(a),f=ob(c);if(f.error)return G(f.error);const l=await Dt.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:r.create_id,signature:f.val,perform_on:"Source"}),headers:{"Content-Type":"application/json"},retryCount:10,retryDelay:2e3});return l.error?G(l.error):l.result?ie(l.result):G("Init: No result found")}catch(c){return G(`Failed to initiate relayer: ${String(c)}`)}}async redeem(t,r){try{const n=await Dt.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t.create_order.create_id,secret:r,perform_on:"Destination"}),headers:{"Content-Type":"application/json"},retryCount:10,retryDelay:2e3});return n.error?G(n.error):n.result?ie(n.result):G("Redeem: No result found")}catch(n){return G(String(n))}}async refund(){return G("Refund is taken care of by the relayer")}}class kc extends q.EventBroker{constructor(t){super(),this.environment=q.Environment.TESTNET,this.getOrderThreshold=20,this.refundSacpCache=new Map,this.bitcoinRedeemCache=new n1;const{api:r,environment:n}=au(t.environment);if(this.environment=n,this._api=r,typeof t.digestKey=="string"){const s=q.DigestKey.from(t.digestKey);if(!s.ok)throw new Error(s.error);this._digestKey=s.val}else this._digestKey=t.digestKey;this._quote=t.quote??new sl(this._api.quote),this._auth=t.auth??q.Siwe.fromDigestKey(new q.Url(this._api.auth),this._digestKey),this._orderbook=t.orderbook??new le.Orderbook(new q.Url(this._api.orderbook)),this._evmHTLC=t.htlc.evm,this._starknetHTLC=t.htlc.starknet,this._secretManager=t.secretManager??Bi.fromDigestKey(this._digestKey.digestKey),this.orderExecutorCache=new r1,this._blockNumberFetcher=t.blockNumberFetcher??new il(this._api.info,this.environment);const i=new ln.BitcoinProvider(ib(this.environment));this._btcWallet=ln.BitcoinWallet.fromPrivateKey(this._digestKey.digestKey,i)}static fromWallets(t){let r;if(typeof t.digestKey=="string"){const s=q.DigestKey.from(t.digestKey);if(!s.ok)throw new Error(s.error);r=s.val}else r=t.digestKey;const{api:n}=au(t.environment);if(!n)throw new Error("API not found, invalid environment "+t.environment);const i={evm:t.wallets.evm?new Wl(n.evmRelay,t.wallets.evm,q.Siwe.fromDigestKey(new q.Url(n.auth),r)):void 0,starknet:t.wallets.starknet?new Xl(n.starknetRelay,t.wallets.starknet,t.environment===q.Environment.MAINNET?q.Network.MAINNET:q.Network.TESTNET):void 0};return new kc({htlc:i,...t})}get evmHTLC(){return this._evmHTLC}get starknetHTLC(){return this._starknetHTLC}get quote(){return this._quote}get btcWallet(){return this._btcWallet}get orderbook(){return this._orderbook}get blockNumberFetcher(){return this._blockNumberFetcher}get secretManager(){return this._secretManager}get auth(){return this._auth}get digestKey(){return this._digestKey}async swap(t){const r=await this.validateAndFillParams(t);if(r.error)return G(r.error);const{sendAddress:n,receiveAddress:i,timelock:s}=r.val,o=Date.now().toString(),a=await this._secretManager.generateSecret(o);if(a.error)return G(a.error);const{strategyId:c,btcAddress:f}=t.additionalData,l={strategy_id:c,...f&&{bitcoin_optional_recipient:f}},h={source_chain:t.fromAsset.chain,destination_chain:t.toAsset.chain,source_asset:t.fromAsset.atomicSwapAddress,destination_asset:t.toAsset.atomicSwapAddress,initiator_source_address:n,initiator_destination_address:i,source_amount:t.sendAmount,destination_amount:t.receiveAmount,fee:"1",nonce:o,timelock:s,secret_hash:kr(a.val.secretHash),min_destination_confirmations:t.minDestinationConfirmations??0,additional_data:l,affiliate_fees:this.withDefaultAffiliateFees(t.affiliateFee)},y=await this._quote.getAttestedQuote(h);if(y.error)return G(y.error);const p=await this._orderbook.createOrder(y.val,this.auth);if(p.error)return G(p.error);const g=await this.pollOrder(p.val);return g.error?G(g.error):ie(g.val)}withDefaultAffiliateFees(t){return(t??[]).map(r=>({fee:r.fee,address:r.address,chain:r.chain??ou.chain,asset:r.asset??ou.asset}))}async validateAndFillParams(t){if(!t.additionalData.strategyId)return G("StrategyId is required");if(!t.fromAsset||!t.toAsset)return G("Source and destination assets are required for swap");if(t.fromAsset.chain===t.toAsset.chain&&t.fromAsset.atomicSwapAddress===t.toAsset.atomicSwapAddress)return G("Source and destination assets cannot be the same");if(le.isMainnet(t.fromAsset.chain)&&!le.isMainnet(t.toAsset.chain)||!le.isMainnet(t.fromAsset.chain)&&le.isMainnet(t.toAsset.chain))return G("Both assets should be on the same network (either mainnet or testnet)");const r=this.validateAmount(t.sendAmount);if(r.error)return G(r.error);const n=this.validateAmount(t.receiveAmount);if(n.error)return G(n.error);if(r<n)return G("Send amount should be greater than receive amount");const i=le.getTimeLock(t.fromAsset.chain);if(!i)return G("Unsupported chain for timelock");if((le.isBitcoin(t.fromAsset.chain)||le.isBitcoin(t.toAsset.chain))&&!t.additionalData.btcAddress)return G("btcAddress in additionalData is required if source or destination chain is bitcoin, it is used as refund or redeem address.");const s=await this.getAddresses(t.fromAsset.chain);if(s.error)return G(s.error);const o=await this.getAddresses(t.toAsset.chain);return o.error?G(o.error):ie({sendAddress:s.val,receiveAddress:o.val,timelock:t.timelock??i})}async getAddresses(t){var n;switch(le.getBlockchainType(t)){case le.BlockchainType.EVM:return this._evmHTLC?ie(this._evmHTLC.htlcActorAddress):G("Please provide evmHTLC when initializing garden");case le.BlockchainType.Bitcoin:{const i=await((n=this._btcWallet)==null?void 0:n.getPublicKey());return!i||!rb(i)?G("Invalid btc public key"):ie(fr(i))}case le.BlockchainType.Starknet:return this._starknetHTLC?ie(this._starknetHTLC.htlcActorAddress):G("Please provide starknetHTLC when initializing garden");default:return G("Unsupported chain")}}validateAmount(t){if(t==null||t.includes("."))return G("Invalid amount ",t);const r=new eh(t);return!r.isInteger()||r.isNaN()||r.lt(0)||r.isLessThanOrEqualTo(0)?G("Invalid amount ",t):ie(r)}async pollOrder(t){let r=await this._orderbook.getOrder(t,!0),n=0;for(;n<this.getOrderThreshold;){if(await q.sleep(1e3),n++,r.error){if(!r.error.includes("result is undefined"))return G(r.error)}else if(r.val&&r.val.create_order.create_id.toLowerCase()===t.toLowerCase())return ie(r.val);r=await this._orderbook.getOrder(t,!0)}return G(`Order not found, createOrder id: ${t}`)}async execute(t=5e3){return await this._orderbook.subscribeOrders(this._digestKey.userId,!0,t,async r=>{const n=await this.filterExpiredAndAssignStatus(r.data);if(!n.error&&(this.emit("onPendingOrdersChanged",n.val),r.data.length!==0))for(let i=0;i<n.val.length;i++){const s=n.val[i],o=lc(s.status);if(le.isBitcoin(s.source_swap.chain)&&s.status===we.InitiateDetected){const a=this.btcWallet;if(!a){this.emit("error",s,"BTC wallet not found");continue}await this.postRefundSACP(s,a)}switch(o){case Ce.Redeem:{const a=await this._secretManager.generateSecret(s.create_order.nonce);if(a.error){this.emit("error",s,a.error);return}switch(le.getBlockchainType(s.destination_swap.chain)){case le.BlockchainType.EVM:{await this.evmRedeem(s,a.val.secret);break}case le.BlockchainType.Bitcoin:{const c=this.btcWallet;if(!c){this.emit("error",s,"BTC wallet not found");return}await this.btcRedeem(c,s,a.val.secret);break}case le.BlockchainType.Starknet:{await this.starknetRedeem(s,a.val.secret);break}default:this.emit("error",s,"Unsupported chain: "+s.destination_swap.chain)}break}case Ce.Refund:{switch(le.getBlockchainType(s.source_swap.chain)){case le.BlockchainType.EVM:{this.emit("error",s,"EVM refund is automatically done by relay service");break}case le.BlockchainType.Bitcoin:{const a=this.btcWallet;if(!a){this.emit("error",s,"BTC wallet not found");return}await this.btcRefund(a,s);break}case le.BlockchainType.Starknet:{this.emit("error",s,"Starknet refund is automatically done by relay service");break}default:this.emit("error",s,"Unsupported chain: "+s.source_swap.chain)}break}}}},"pending",{per_page:500})}async evmRedeem(t,r){if(this.emit("log",t.create_order.create_id,"executing evm redeem"),this.orderExecutorCache.get(t,Ce.Redeem)){this.emit("log",t.create_order.create_id,"already redeemed");return}if(!this._evmHTLC){this.emit("error",t,"EVMHTLC is required");return}const i=await this._evmHTLC.redeem(t,r);if(!i.ok){this.emit("error",t,i.error),i.error.includes("Order already redeemed")&&this.orderExecutorCache.set(t,Ce.Redeem,t.destination_swap.redeem_tx_hash);return}this.orderExecutorCache.set(t,Ce.Redeem,i.val),this.emit("success",t,Ce.Redeem,i.val)}async starknetRedeem(t,r){if(this.emit("log",t.create_order.create_id,"executing starknet redeem"),this.orderExecutorCache.get(t,Ce.Redeem)){this.emit("log",t.create_order.create_id,"already redeemed");return}if(!this._starknetHTLC){this.emit("error",t,"StarknetHTLC is required");return}const i=await this._starknetHTLC.redeem(t,r);if(i.error){this.emit("error",t,i.error),i.error.includes("Order already redeemed")&&this.orderExecutorCache.set(t,Ce.Redeem,t.destination_swap.redeem_tx_hash);return}i.val&&(this.orderExecutorCache.set(t,Ce.Redeem,i.val),this.emit("success",t,Ce.Redeem,i.val))}async btcRedeem(t,r,n){var a,c;const i=this.bitcoinRedeemCache.get(r.create_order.create_id),s=(a=r.destination_swap.initiate_tx_hash.split(",").at(-1))==null?void 0:a.split(":").at(0);if(!s){this.emit("error",r,"Failed to get initiate_tx_hash");return}let o=!1;if(i)if(i.redeemedFromUTXO&&i.redeemedFromUTXO!==s)o=!0,this.emit("log",r.create_order.create_id,"rbf btc redeem");else if(i.redeemedAt&&Date.now()-i.redeemedAt>1e3*60*15)this.emit("log",r.create_order.create_id,"redeem not confirmed in last 15 minutes"),o=!0;else{this.emit("log",r.create_order.create_id,"btcRedeem: already redeemed");return}else if(r.destination_swap.redeem_tx_hash&&!Number(r.destination_swap.redeem_block_number))try{const f=await(await t.getProvider()).getTransaction(r.destination_swap.redeem_tx_hash);let l=!1;for(const h of f.vin)if(h.txid===s){l=!0;break}if(l){this.emit("log",r.create_order.create_id,"already a valid redeem");let h=0;try{const[y]=await(await t.getProvider()).getTransactionTimes([r.destination_swap.redeem_tx_hash]);y!==0&&(h=y)}catch{h=Date.now()}this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:h,redeemTxHash:r.destination_swap.redeem_tx_hash});return}o=!0}catch(f){if(f.message.includes("Transaction not found"))o=!0;else{this.emit("error",r,"Failed to get redeem tx: "+f);return}}this.emit("log",r.create_order.create_id,"executing btc redeem");try{const l=await(await Zn.from(t,Number(r.destination_swap.amount),r.create_order.secret_hash,fr(r.destination_swap.initiator),fr(r.destination_swap.redeemer),r.destination_swap.timelock,o?[s]:[])).getRedeemHex(kr(n),(c=r.create_order.additional_data)==null?void 0:c.bitcoin_optional_recipient),h=await this.broadcastRedeemTx(l,r.create_order.create_id);if(h.error||!h.val){this.emit("error",r,h.error||"Failed to broadcast redeem tx");return}o?(this.emit("log",r.create_order.create_id,"rbf: btc redeem success"),this.emit("rbf",r,h.val)):this.emit("success",r,Ce.Redeem,h.val),this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:Date.now(),redeemTxHash:h.val})}catch(f){console.log("error",f),this.emit("error",r,"Failed btc redeem: "+f)}}async btcRefund(t,r){var n;if(!this.orderExecutorCache.get(r,Ce.Refund)){this.emit("log",r.create_order.create_id,"executing btc refund");try{const s=await(await Zn.from(t,Number(r.source_swap.amount),r.create_order.secret_hash,fr(r.source_swap.initiator),fr(r.source_swap.redeemer),r.source_swap.timelock)).refund((n=r.create_order.additional_data)==null?void 0:n.bitcoin_optional_recipient);this.orderExecutorCache.set(r,Ce.Refund,s),this.emit("success",r,Ce.Refund,s)}catch(i){this.emit("error",r,"Failed btc refund: "+i)}}}async postRefundSACP(t,r){const n=this.refundSacpCache.get(t.create_order.create_id);if((n==null?void 0:n.initTxHash)===t.source_swap.initiate_tx_hash)return;const i=await Zn.from(r,Number(t.source_swap.amount),t.create_order.secret_hash,fr(t.source_swap.initiator),fr(t.source_swap.redeemer),t.source_swap.timelock),s=t.create_order.additional_data.bitcoin_optional_recipient;if(s)try{const o=await i.generateInstantRefundSACP(s);if(!this._api)return;const a=new q.Url(this._api.orderbook).endpoint("orders/bitcoin/"+t.create_order.create_id+"/instant-refund");(await Dt.post(a,{headers:{"Content-Type":"application/json"},body:JSON.stringify({instant_refund_tx_bytes:o})})).status==="Ok"&&this.refundSacpCache.set(t.create_order.create_id,{initTxHash:t.source_swap.initiate_tx_hash})}catch(o){this.emit("error",t,"Failed to generate and post SACP: "+o);return}}async filterExpiredAndAssignStatus(t){var i;if(t.length===0)return ie([]);const r=await((i=this._blockNumberFetcher)==null?void 0:i.fetchBlockNumbers());if(r.error)return G(r.error);const n=[];for(let s=0;s<t.length;s++){const o=t[s];if(Ld(o))continue;const a=o.source_swap.chain,c=o.destination_swap.chain,f=r==null?void 0:r.val[a],l=r==null?void 0:r.val[c];if(!f||!l){this.emit("error",o,"Error while fetching CurrentBlockNumbers");continue}const h=dc(o,f,l);n.push({...o,status:h})}return ie(n)}async broadcastRedeemTx(t,r){try{if(!this._api)return G("API not found");const n=new q.Url(this._api.evmRelay).endpoint("/bitcoin/redeem "),i=await this._auth.getAuthHeaders(),o=await(await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...i.val},body:JSON.stringify({redeem_tx_bytes:t,order_id:r})})).json();return o.status==="Ok"&&o.result?ie(o.result):G(o.error)}catch(n){return G("Failed to broadcast redeem tx: "+n)}}}class m_{constructor(t,r,n){this.callData=new Oe.CallData(Kl),this.account=t,this.starknetProvider=new Oe.RpcProvider({nodeUrl:r||(n?Si[n].nodeUrl:Si.mainnet.nodeUrl)})}get htlcActorAddress(){return this.account.address}async getHTLCContract(t,r=!1){const n=r?t.destination_swap.asset:t.source_swap.asset;return new Oe.Contract(Yl,n,this.account)}async initiate(t){try{const n=await(await this.getHTLCContract(t)).token();if(!n)throw new Error("Token address retrieval failed");const i=Oe.num.toHex(n),s=Oe.cairo.uint256(BigInt(t.source_swap.amount));try{const a=await h_(this.account,i,t.source_swap.asset,BigInt(t.source_swap.amount),this.starknetProvider);if(a.error)return G(a.error)}catch(a){return G(`Allowance check failed: ${a}`)}const o=await this.account.execute({contractAddress:t.source_swap.asset,entrypoint:"initiate",calldata:[t.source_swap.redeemer,BigInt(t.source_swap.timelock),s.low,s.high,...q.hexToU32Array(t.create_order.secret_hash)]});if(!o.transaction_hash)throw new Error("Failed to initiate HTLC transaction");return ie(o.transaction_hash)}catch(r){return G(`HTLC Initiation Error: ${r}`)}}async redeem(t,r){try{const n=await this.getHTLCContract(t,!0),i=t.create_order.source_chain.includes("starknet")?t.source_swap.swap_id:t.destination_swap.swap_id,s=await this.account.execute({contractAddress:n.address,entrypoint:"redeem",calldata:Oe.CallData.compile({swap_id:i,secret:q.hexToU32Array(r)})});return s.transaction_hash?ie(s.transaction_hash):G("Failed to redeem HTLC transaction")}catch{return G("HTLC Redeem Error")}}async refund(t){try{const r=t.create_order.source_chain.includes("starknet")?t.source_swap.swap_id:t.destination_swap.swap_id,n=await this.getHTLCContract(t),i=await this.account.execute({contractAddress:n.address,entrypoint:"refund",calldata:{orderId:r}});return i.transaction_hash?ie(i.transaction_hash):G("Failed to refund HTLC transaction")}catch{return G("HTLC Refund Error")}}}exports.API=hs;exports.AbiErrorInputsNotFoundError=Jh;exports.AbiErrorNotFoundError=Qh;exports.AbiFunctionNotFoundError=ei;exports.AbiFunctionOutputsNotFoundError=Tf;exports.AbiFunctionSignatureNotFoundError=e0;exports.BaseError=L;exports.BlockNumberFetcher=il;exports.EvmRelay=Wl;exports.Garden=kc;exports.Hash=Ma;exports.HttpRequestError=on;exports.InvalidArrayError=kf;exports.OrderActions=Ce;exports.OrderStatus=we;exports.ParseOrderStatus=dc;exports.ParseSwapStatus=Ea;exports.Quote=sl;exports.STARKNET_CONFIG=Si;exports.SecretManager=Bi;exports.StarknetHTLC=m_;exports.StarknetRelay=Xl;exports.SwapStatus=xe;exports.abytes=Oi;exports.aexists=ti;exports.ahash=m0;exports.batchGatewayAbi=my;exports.call=sc;exports.concat=Ur;exports.concatBytes=P0;exports.concatHex=Ot;exports.constructOrderPair=va;exports.decodeAbiParameters=Fi;exports.decodeErrorResult=Kf;exports.encodeAbiParameters=Ns;exports.evmToViemChainMap=ql;exports.filterDeadlineExpiredOrders=cb;exports.formatAbiItem=Bt;exports.getAbiItem=Pn;exports.getUrl=Ms;exports.hyperliquid=zl;exports.hyperliquidTestnet=Gl;exports.isAddressEqual=rc;exports.isExpired=Pi;exports.isHex=qt;exports.parseAction=ab;exports.parseActionFromStatus=lc;exports.randomBytes=T0;exports.sha256=od;exports.slice=hn;exports.solidityError=Vf;exports.stringify=rt;exports.switchOrAddNetwork=Vl;exports.toBytes=Rs;exports.toFunctionSelector=Ls;exports.toXOnly=fr;exports.validateBTCAddress=nb;
|