@gardenfi/core 3.0.6-beta.6 → 3.0.6-beta.7
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-EiEdg5Xp.cjs → ccip-CSNgtKAY.cjs} +1 -1
- package/dist/{ccip-DBPkm9c_.js → ccip-aPouOwnC.js} +1 -1
- package/dist/index-B8ZUjJVu.cjs +104 -0
- package/dist/{index-BMNrJYJ8.js → index-jL_ESG0F.js} +8340 -8063
- package/dist/index.cjs +1 -1
- package/dist/index.js +17 -16
- package/dist/src/index.d.ts +1 -1
- package/dist/src/lib/garden/garden.types.d.ts +12 -0
- package/dist/src/lib/utils.d.ts +1 -0
- package/package.json +6 -5
- package/dist/index-ClcKfQMx.cjs +0 -104
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";var T0=t=>{throw TypeError(t)};var _0=(t,e,r)=>e.has(t)||T0("Cannot "+r);var Te=(t,e,r)=>(_0(t,e,"read from private field"),r?r.call(t):e.get(t)),ks=(t,e,r)=>e.has(t)?T0("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Ts=(t,e,r,n)=>(_0(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);const Y=require("@gardenfi/orderbook"),b=require("@gardenfi/utils"),me=require("bitcoinjs-lib"),T6=require("tiny-secp256k1"),Cm=require("varuint-bitcoin"),Va=require("bitcore-lib-ltc"),Ll=require("bignumber.js"),hc=require("ecpair"),Qe=require("starknet"),Ar=require("@coral-xyz/anchor"),_6=require("@solana/spl-token"),I0=require("@mysten/wallet-standard"),P0=require("tronweb"),I6=require("node-cache"),O0=require("yup"),B0=require("bip39"),P6=require("bip32");function Gc(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const xe=Gc(me),mr=Gc(T6),C0=Gc(Cm),O6=Gc(_6),B6="1.2.3";let Kt=class Dl extends Error{constructor(e,r={}){var o;const n=r.cause instanceof Dl?r.cause.details:(o=r.cause)!=null&&o.message?r.cause.message:r.details,s=r.cause instanceof Dl&&r.cause.docsPath||r.docsPath,i=[e||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: https://abitype.dev${s}`]:[],...n?[`Details: ${n}`]:[],`Version: abitype@${B6}`].join(`
|
|
2
|
+
`);super(i),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=s,this.metaMessages=r.metaMessages,this.shortMessage=e}};function $n(t,e){const r=t.exec(e);return r==null?void 0:r.groups}const Rm=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Nm=/^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)?$/,Um=/^\(.+?\).*?$/,R0=/^tuple(?<array>(\[(\d*)\])*)$/;function zl(t){let e=t.type;if(R0.test(t.type)&&"components"in t){e="(";const r=t.components.length;for(let s=0;s<r;s++){const i=t.components[s];e+=zl(i),s<r-1&&(e+=", ")}const n=$n(R0,t.type);return e+=`)${(n==null?void 0:n.array)||""}`,zl({...t,type:e})}return"indexed"in t&&t.indexed&&(e=`${e} indexed`),t.name?`${e} ${t.name}`:e}function mi(t){let e="";const r=t.length;for(let n=0;n<r;n++){const s=t[n];e+=zl(s),n!==r-1&&(e+=", ")}return e}function _c(t){var e;return t.type==="function"?`function ${t.name}(${mi(t.inputs)})${t.stateMutability&&t.stateMutability!=="nonpayable"?` ${t.stateMutability}`:""}${(e=t.outputs)!=null&&e.length?` returns (${mi(t.outputs)})`:""}`:t.type==="event"?`event ${t.name}(${mi(t.inputs)})`:t.type==="error"?`error ${t.name}(${mi(t.inputs)})`:t.type==="constructor"?`constructor(${mi(t.inputs)})${t.stateMutability==="payable"?" payable":""}`:t.type==="fallback"?`fallback() external${t.stateMutability==="payable"?" payable":""}`:"receive() external payable"}const Fm=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function C6(t){return Fm.test(t)}function R6(t){return $n(Fm,t)}const Mm=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function N6(t){return Mm.test(t)}function U6(t){return $n(Mm,t)}const $m=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function F6(t){return $m.test(t)}function M6(t){return $n($m,t)}const jm=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function qc(t){return jm.test(t)}function $6(t){return $n(jm,t)}const Hm=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function j6(t){return Hm.test(t)}function H6(t){return $n(Hm,t)}const Lm=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function L6(t){return Lm.test(t)}function D6(t){return $n(Lm,t)}const z6=/^receive\(\) external payable$/;function V6(t){return z6.test(t)}const N0=new Set(["memory","indexed","storage","calldata"]),G6=new Set(["indexed"]),Vl=new Set(["calldata","memory","storage"]);class q6 extends Kt{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}}class W6 extends Kt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" 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 K6 extends Kt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}class Y6 extends Kt{constructor({params:e}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}}class J6 extends Kt{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class X6 extends Kt{constructor({param:e,name:r}){super("Invalid ABI parameter.",{details:e,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 Z6 extends Kt{constructor({param:e,type:r,modifier:n}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${n}" not allowed${r?` in "${r}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class Q6 extends Kt{constructor({param:e,type:r,modifier:n}){super("Invalid ABI parameter.",{details:e,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 e5 extends Kt{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class Ji extends Kt{constructor({signature:e,type:r}){super(`Invalid ${r} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class t5 extends Kt{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class r5 extends Kt{constructor({signature:e}){super("Invalid struct signature.",{details:e,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}class n5 extends Kt{constructor({type:e}){super("Circular reference detected.",{metaMessages:[`Struct "${e}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}class s5 extends Kt{constructor({current:e,depth:r}){super("Unbalanced parentheses.",{metaMessages:[`"${e.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 i5(t,e,r){let n="";if(r)for(const s of Object.entries(r)){if(!s)continue;let i="";for(const o of s[1])i+=`[${o.type}${o.name?`:${o.name}`:""}]`;n+=`(${s[0]}{${i}})`}return e?`${e}:${t}${n}`:`${t}${n}`}const Du=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 Gl(t,e={}){if(F6(t))return o5(t,e);if(N6(t))return a5(t,e);if(C6(t))return c5(t,e);if(j6(t))return u5(t,e);if(L6(t))return f5(t);if(V6(t))return{type:"receive",stateMutability:"payable"};throw new t5({signature:t})}function o5(t,e={}){const r=M6(t);if(!r)throw new Ji({signature:t,type:"function"});const n=Xt(r.parameters),s=[],i=n.length;for(let a=0;a<i;a++)s.push(Bn(n[a],{modifiers:Vl,structs:e,type:"function"}));const o=[];if(r.returns){const a=Xt(r.returns),c=a.length;for(let u=0;u<c;u++)o.push(Bn(a[u],{modifiers:Vl,structs:e,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:s,outputs:o}}function a5(t,e={}){const r=U6(t);if(!r)throw new Ji({signature:t,type:"event"});const n=Xt(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(Bn(n[o],{modifiers:G6,structs:e,type:"event"}));return{name:r.name,type:"event",inputs:s}}function c5(t,e={}){const r=R6(t);if(!r)throw new Ji({signature:t,type:"error"});const n=Xt(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(Bn(n[o],{structs:e,type:"error"}));return{name:r.name,type:"error",inputs:s}}function u5(t,e={}){const r=H6(t);if(!r)throw new Ji({signature:t,type:"constructor"});const n=Xt(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(Bn(n[o],{structs:e,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:s}}function f5(t){const e=D6(t);if(!e)throw new Ji({signature:t,type:"fallback"});return{type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}const l5=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,d5=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,h5=/^u?int$/;function Bn(t,e){var l,p;const r=i5(t,e==null?void 0:e.type,e==null?void 0:e.structs);if(Du.has(r))return Du.get(r);const n=Um.test(t),s=$n(n?d5:l5,t);if(!s)throw new J6({param:t});if(s.name&&y5(s.name))throw new X6({param:t,name:s.name});const i=s.name?{name:s.name}:{},o=s.modifier==="indexed"?{indexed:!0}:{},a=(e==null?void 0:e.structs)??{};let c,u={};if(n){c="tuple";const d=Xt(s.type),m=[],g=d.length;for(let A=0;A<g;A++)m.push(Bn(d[A],{structs:a}));u={components:m}}else if(s.type in a)c="tuple",u={components:a[s.type]};else if(h5.test(s.type))c=`${s.type}256`;else if(s.type==="address payable")c="address";else if(c=s.type,(e==null?void 0:e.type)!=="struct"&&!Dm(c))throw new K6({type:c});if(s.modifier){if(!((p=(l=e==null?void 0:e.modifiers)==null?void 0:l.has)!=null&&p.call(l,s.modifier)))throw new Z6({param:t,type:e==null?void 0:e.type,modifier:s.modifier});if(Vl.has(s.modifier)&&!m5(c,!!s.array))throw new Q6({param:t,type:e==null?void 0:e.type,modifier:s.modifier})}const f={type:`${c}${s.array??""}`,...i,...o,...u};return Du.set(r,f),f}function Xt(t,e=[],r="",n=0){const s=t.trim().length;for(let i=0;i<s;i++){const o=t[i],a=t.slice(i+1);switch(o){case",":return n===0?Xt(a,[...e,r.trim()]):Xt(a,e,`${r}${o}`,n);case"(":return Xt(a,e,`${r}${o}`,n+1);case")":return Xt(a,e,`${r}${o}`,n-1);default:return Xt(a,e,`${r}${o}`,n)}}if(r==="")return e;if(n!==0)throw new s5({current:r,depth:n});return e.push(r.trim()),e}function Dm(t){return t==="address"||t==="bool"||t==="function"||t==="string"||Rm.test(t)||Nm.test(t)}const p5=/^(?: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 y5(t){return t==="address"||t==="bool"||t==="function"||t==="string"||t==="tuple"||Rm.test(t)||Nm.test(t)||p5.test(t)}function m5(t,e){return e||t==="bytes"||t==="string"||t==="tuple"}function Xd(t){const e={},r=t.length;for(let o=0;o<r;o++){const a=t[o];if(!qc(a))continue;const c=$6(a);if(!c)throw new Ji({signature:a,type:"struct"});const u=c.properties.split(";"),f=[],l=u.length;for(let p=0;p<l;p++){const m=u[p].trim();if(!m)continue;const g=Bn(m,{type:"struct"});f.push(g)}if(!f.length)throw new r5({signature:a});e[c.name]=f}const n={},s=Object.entries(e),i=s.length;for(let o=0;o<i;o++){const[a,c]=s[o];n[a]=zm(c,e)}return n}const b5=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function zm(t=[],e={},r=new Set){const n=[],s=t.length;for(let i=0;i<s;i++){const o=t[i];if(Um.test(o.type))n.push(o);else{const c=$n(b5,o.type);if(!(c!=null&&c.type))throw new e5({abiParameter:o});const{array:u,type:f}=c;if(f in e){if(r.has(f))throw new n5({type:f});n.push({...o,type:`tuple${u??""}`,components:zm(e[f],e,new Set([...r,f]))})}else if(Dm(f))n.push(o);else throw new W6({type:f})}}return n}function Vm(t){const e=Xd(t),r=[],n=t.length;for(let s=0;s<n;s++){const i=t[s];qc(i)||r.push(Gl(i,e))}return r}function U0(t){let e;if(typeof t=="string")e=Gl(t);else{const r=Xd(t),n=t.length;for(let s=0;s<n;s++){const i=t[s];if(!qc(i)){e=Gl(i,r);break}}}if(!e)throw new q6({signature:t});return e}function F0(t){const e=[];if(typeof t=="string"){const r=Xt(t),n=r.length;for(let s=0;s<n;s++)e.push(Bn(r[s],{modifiers:N0}))}else{const r=Xd(t),n=t.length;for(let s=0;s<n;s++){const i=t[s];if(qc(i))continue;const o=Xt(i),a=o.length;for(let c=0;c<a;c++)e.push(Bn(o[c],{modifiers:N0,structs:r}))}}if(e.length===0)throw new Y6({params:t});return e}function re(t,e,r){const n=t[e.name];if(typeof n=="function")return n;const s=t[r];return typeof s=="function"?s:i=>e(t,i)}function Rr(t,{includeName:e=!1}={}){if(t.type!=="function"&&t.type!=="event"&&t.type!=="error")throw new B5(t.type);return`${t.name}(${Wc(t.inputs,{includeName:e})})`}function Wc(t,{includeName:e=!1}={}){return t?t.map(r=>g5(r,{includeName:e})).join(e?", ":","):""}function g5(t,{includeName:e}){return t.type.startsWith("tuple")?`(${Wc(t.components,{includeName:e})})${t.type.slice(5)}`:t.type+(e&&t.name?` ${t.name}`:"")}function Nr(t,{strict:e=!0}={}){return!t||typeof t!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(t):t.startsWith("0x")}function Ge(t){return Nr(t,{strict:!1})?Math.ceil((t.length-2)/2):t.length}const Gm="2.43.3";let co={getDocsUrl:({docsBaseUrl:t,docsPath:e="",docsSlug:r})=>e?`${t??"https://viem.sh"}${e}${r?`#${r}`:""}`:void 0,version:`viem@${Gm}`},V=class ql extends Error{constructor(e,r={}){var a;const n=(()=>{var c;return r.cause instanceof ql?r.cause.details:(c=r.cause)!=null&&c.message?r.cause.message:r.details})(),s=r.cause instanceof ql&&r.cause.docsPath||r.docsPath,i=(a=co.getDocsUrl)==null?void 0:a.call(co,{...r,docsPath:s}),o=[e||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...i?[`Docs: ${i}`]:[],...n?[`Details: ${n}`]:[],...co.version?[`Version: ${co.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=s,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=e,this.version=Gm}walk(e){return qm(this,e)}};function qm(t,e){return e!=null&&e(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause!==void 0?qm(t.cause,e):e?null:t}class w5 extends V{constructor({docsPath:e}){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:e,name:"AbiConstructorNotFoundError"})}}class M0 extends V{constructor({docsPath:e}){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:e,name:"AbiConstructorParamsNotFoundError"})}}class Wm extends V{constructor({data:e,params:r,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`
|
|
6
|
+
`),{metaMessages:[`Params: (${Wc(r,{includeName:!0})})`,`Data: ${e} (${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=e,this.params=r,this.size=n}}class wa extends V{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}}class v5 extends V{constructor({expectedLength:e,givenLength:r,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${r}`].join(`
|
|
7
|
+
`),{name:"AbiEncodingArrayLengthMismatchError"})}}class E5 extends V{constructor({expectedSize:e,value:r}){super(`Size of bytes "${r}" (bytes${Ge(r)}) does not match expected size (bytes${e}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class A5 extends V{constructor({expectedLength:e,givenLength:r}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${e}`,`Given length (values): ${r}`].join(`
|
|
8
|
+
`),{name:"AbiEncodingLengthMismatchError"})}}class S5 extends V{constructor(e,{docsPath:r}){super([`Arguments (\`args\`) were provided to "${e}", but "${e}" 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 $0 extends V{constructor(e,{docsPath:r}={}){super([`Error ${e?`"${e}" `:""}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 Km extends V{constructor(e,{docsPath:r}){super([`Encoded error signature "${e}" 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=${e}.`].join(`
|
|
11
|
+
`),{docsPath:r,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}}class x5 extends V{constructor({docsPath:e}){super("Cannot extract event signature from empty topics.",{docsPath:e,name:"AbiEventSignatureEmptyTopicsError"})}}class k5 extends V{constructor(e,{docsPath:r}){super([`Encoded event signature "${e}" 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=${e}.`].join(`
|
|
12
|
+
`),{docsPath:r,name:"AbiEventSignatureNotFoundError"})}}class j0 extends V{constructor(e,{docsPath:r}={}){super([`Event ${e?`"${e}" `:""}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 $i extends V{constructor(e,{docsPath:r}={}){super([`Function ${e?`"${e}" `:""}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 Ym extends V{constructor(e,{docsPath:r}){super([`Function "${e}" 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 T5 extends V{constructor(e,{docsPath:r}){super([`Encoded function signature "${e}" 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=${e}.`].join(`
|
|
16
|
+
`),{docsPath:r,name:"AbiFunctionSignatureNotFoundError"})}}class _5 extends V{constructor(e,r){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${e.type}\` in \`${Rr(e.abiItem)}\`, and`,`\`${r.type}\` in \`${Rr(r.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}let I5=class extends V{constructor({expectedSize:e,givenSize:r}){super(`Expected bytes${e}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}};class Ic extends V{constructor({abiItem:e,data:r,params:n,size:s}){super([`Data size of ${s} bytes is too small for non-indexed event parameters.`].join(`
|
|
17
|
+
`),{metaMessages:[`Params: (${Wc(n,{includeName:!0})})`,`Data: ${r} (${s} 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=e,this.data=r,this.params=n,this.size=s}}class Zd extends V{constructor({abiItem:e,param:r}){super([`Expected a topic for indexed event parameter${r.name?` "${r.name}"`:""} on event "${Rr(e,{includeName:!0})}".`].join(`
|
|
18
|
+
`),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}}class P5 extends V{constructor(e,{docsPath:r}){super([`Type "${e}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
|
|
19
|
+
`),{docsPath:r,name:"InvalidAbiEncodingType"})}}class O5 extends V{constructor(e,{docsPath:r}){super([`Type "${e}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(`
|
|
20
|
+
`),{docsPath:r,name:"InvalidAbiDecodingType"})}}let Jm=class extends V{constructor(e){super([`Value "${e}" is not a valid array.`].join(`
|
|
21
|
+
`),{name:"InvalidArrayError"})}};class B5 extends V{constructor(e){super([`"${e}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
|
|
22
|
+
`),{name:"InvalidDefinitionTypeError"})}}class C5 extends V{constructor(e){super(`Filter type "${e}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}let Xm=class extends V{constructor({offset:e,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${e}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}},Zm=class extends V{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}};class H0 extends V{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${r} ${n} long, but is ${e} ${n} long.`,{name:"InvalidBytesLengthError"})}}function Xi(t,{dir:e,size:r=32}={}){return typeof t=="string"?us(t,{dir:e,size:r}):R5(t,{dir:e,size:r})}function us(t,{dir:e,size:r=32}={}){if(r===null)return t;const n=t.replace("0x","");if(n.length>r*2)throw new Zm({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[e==="right"?"padEnd":"padStart"](r*2,"0")}`}function R5(t,{dir:e,size:r=32}={}){if(r===null)return t;if(t.length>r)throw new Zm({size:t.length,targetSize:r,type:"bytes"});const n=new Uint8Array(r);for(let s=0;s<r;s++){const i=e==="right";n[i?s:r-s-1]=t[i?s:t.length-s-1]}return n}let Qm=class extends V{constructor({max:e,min:r,signed:n,size:s,value:i}){super(`Number "${i}" is not in safe ${s?`${s*8}-bit ${n?"signed":"unsigned"} `:""}integer range ${e?`(${r} to ${e})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}},N5=class extends V{constructor(e){super(`Bytes value "${e}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}};class U5 extends V{constructor(e){super(`Hex value "${e}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}}let F5=class extends V{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}};function br(t,{dir:e="left"}={}){let r=typeof t=="string"?t.replace("0x",""):t,n=0;for(let s=0;s<r.length-1&&r[e==="left"?s:r.length-s-1].toString()==="0";s++)n++;return r=e==="left"?r.slice(n):r.slice(0,r.length-n),typeof t=="string"?(r.length===1&&e==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}function Mr(t,{size:e}){if(Ge(t)>e)throw new F5({givenSize:Ge(t),maxSize:e})}function ft(t,e={}){const{signed:r}=e;e.size&&Mr(t,{size:e.size});const n=BigInt(t);if(!r)return n;const s=(t.length-2)/2,i=(1n<<BigInt(s)*8n-1n)-1n;return n<=i?n:n-BigInt(`0x${"f".padStart(s*2,"f")}`)-1n}function M5(t,e={}){let r=t;if(e.size&&(Mr(r,{size:e.size}),r=br(r)),br(r)==="0x00")return!1;if(br(r)==="0x01")return!0;throw new U5(r)}function gr(t,e={}){return Number(ft(t,e))}const $5=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ft(t,e={}){return typeof t=="number"||typeof t=="bigint"?J(t,e):typeof t=="string"?ji(t,e):typeof t=="boolean"?eb(t,e):tt(t,e)}function eb(t,e={}){const r=`0x${Number(t)}`;return typeof e.size=="number"?(Mr(r,{size:e.size}),Xi(r,{size:e.size})):r}function tt(t,e={}){let r="";for(let s=0;s<t.length;s++)r+=$5[t[s]];const n=`0x${r}`;return typeof e.size=="number"?(Mr(n,{size:e.size}),Xi(n,{dir:"right",size:e.size})):n}function J(t,e={}){const{signed:r,size:n}=e,s=BigInt(t);let i;n?r?i=(1n<<BigInt(n)*8n-1n)-1n:i=2n**(BigInt(n)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof i=="bigint"&&r?-i-1n:0;if(i&&s>i||s<o){const c=typeof t=="bigint"?"n":"";throw new Qm({max:i?`${i}${c}`:void 0,min:`${o}${c}`,signed:r,size:n,value:`${t}${c}`})}const a=`0x${(r&&s<0?(1n<<BigInt(n*8))+BigInt(s):s).toString(16)}`;return n?Xi(a,{size:n}):a}const j5=new TextEncoder;function ji(t,e={}){const r=j5.encode(t);return tt(r,e)}const H5=new TextEncoder;function Zi(t,e={}){return typeof t=="number"||typeof t=="bigint"?D5(t,e):typeof t=="boolean"?L5(t,e):Nr(t)?sn(t,e):js(t,e)}function L5(t,e={}){const r=new Uint8Array(1);return r[0]=Number(t),typeof e.size=="number"?(Mr(r,{size:e.size}),Xi(r,{size:e.size})):r}const un={zero:48,nine:57,A:65,F:70,a:97,f:102};function L0(t){if(t>=un.zero&&t<=un.nine)return t-un.zero;if(t>=un.A&&t<=un.F)return t-(un.A-10);if(t>=un.a&&t<=un.f)return t-(un.a-10)}function sn(t,e={}){let r=t;e.size&&(Mr(r,{size:e.size}),r=Xi(r,{dir:"right",size:e.size}));let n=r.slice(2);n.length%2&&(n=`0${n}`);const s=n.length/2,i=new Uint8Array(s);for(let o=0,a=0;o<s;o++){const c=L0(n.charCodeAt(a++)),u=L0(n.charCodeAt(a++));if(c===void 0||u===void 0)throw new V(`Invalid byte sequence ("${n[a-2]}${n[a-1]}" in "${n}").`);i[o]=c*16+u}return i}function D5(t,e){const r=J(t,e);return sn(r)}function js(t,e={}){const r=H5.encode(t);return typeof e.size=="number"?(Mr(r,{size:e.size}),Xi(r,{dir:"right",size:e.size})):r}const Ga=BigInt(2**32-1),D0=BigInt(32);function tb(t,e=!1){return e?{h:Number(t&Ga),l:Number(t>>D0&Ga)}:{h:Number(t>>D0&Ga)|0,l:Number(t&Ga)|0}}function z5(t,e=!1){const r=t.length;let n=new Uint32Array(r),s=new Uint32Array(r);for(let i=0;i<r;i++){const{h:o,l:a}=tb(t[i],e);[n[i],s[i]]=[o,a]}return[n,s]}const rb=(t,e,r)=>t>>>r|e<<32-r,nb=(t,e,r)=>t<<32-r|e>>>r,V5=(t,e,r)=>t<<64-r|e>>>r-32,G5=(t,e,r)=>t>>>r-32|e<<64-r,q5=(t,e)=>e,W5=(t,e)=>t,K5=(t,e,r)=>t<<r|e>>>32-r,Y5=(t,e,r)=>e<<r|t>>>32-r,J5=(t,e,r)=>e<<r-32|t>>>64-r,X5=(t,e,r)=>t<<r-32|e>>>64-r;function sb(t,e,r,n){const s=(e>>>0)+(n>>>0);return{h:t+r+(s/2**32|0)|0,l:s|0}}const ib=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),ob=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,di=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Z5(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ds(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function hs(t,...e){if(!Z5(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Q5(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");ds(t.outputLen),ds(t.blockLen)}function ps(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Qd(t,e){hs(t);const r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Mo(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Cn(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function zu(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Dr(t,e){return t<<32-e|t>>>e}const ab=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function cb(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}const wn=ab?t=>t:t=>cb(t);function ev(t){for(let e=0;e<t.length;e++)t[e]=cb(t[e]);return t}const rs=ab?t=>t:ev;function tv(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function _n(t){return typeof t=="string"&&(t=tv(t)),hs(t),t}function rv(...t){let e=0;for(let n=0;n<t.length;n++){const s=t[n];hs(s),e+=s.length}const r=new Uint8Array(e);for(let n=0,s=0;n<t.length;n++){const i=t[n];r.set(i,s),s+=i.length}return r}class Kc{}function ub(t){const e=n=>t().update(_n(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function nv(t){const e=(n,s)=>t(s).update(_n(n)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=n=>t(n),e}function sv(t=32){if(di&&typeof di.getRandomValues=="function")return di.getRandomValues(new Uint8Array(t));if(di&&typeof di.randomBytes=="function")return Uint8Array.from(di.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}const iv=BigInt(0),uo=BigInt(1),ov=BigInt(2),av=BigInt(7),cv=BigInt(256),uv=BigInt(113),fb=[],lb=[],db=[];for(let t=0,e=uo,r=1,n=0;t<24;t++){[r,n]=[n,(2*r+3*n)%5],fb.push(2*(5*n+r)),lb.push((t+1)*(t+2)/2%64);let s=iv;for(let i=0;i<7;i++)e=(e<<uo^(e>>av)*uv)%cv,e&ov&&(s^=uo<<(uo<<BigInt(i))-uo);db.push(s)}const hb=z5(db,!0),fv=hb[0],lv=hb[1],z0=(t,e,r)=>r>32?J5(t,e,r):K5(t,e,r),V0=(t,e,r)=>r>32?X5(t,e,r):Y5(t,e,r);function dv(t,e=24){const r=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)r[o]=t[o]^t[o+10]^t[o+20]^t[o+30]^t[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,u=r[c],f=r[c+1],l=z0(u,f,1)^r[a],p=V0(u,f,1)^r[a+1];for(let d=0;d<50;d+=10)t[o+d]^=l,t[o+d+1]^=p}let s=t[2],i=t[3];for(let o=0;o<24;o++){const a=lb[o],c=z0(s,i,a),u=V0(s,i,a),f=fb[o];s=t[f],i=t[f+1],t[f]=c,t[f+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)r[a]=t[o+a];for(let a=0;a<10;a++)t[o+a]^=~r[(a+2)%10]&r[(a+4)%10]}t[0]^=fv[n],t[1]^=lv[n]}Cn(r)}class eh extends Kc{constructor(e,r,n,s=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=r,this.outputLen=n,this.enableXOF=s,this.rounds=i,ds(n),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=Mo(this.state)}clone(){return this._cloneInto()}keccak(){rs(this.state32),dv(this.state32,this.rounds),rs(this.state32),this.posOut=0,this.pos=0}update(e){ps(this),e=_n(e),hs(e);const{blockLen:r,state:n}=this,s=e.length;for(let i=0;i<s;){const o=Math.min(r-this.pos,s-i);for(let a=0;a<o;a++)n[this.pos++]^=e[i++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:r,pos:n,blockLen:s}=this;e[n]^=r,r&128&&n===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){ps(this,!1),hs(e),this.finish();const r=this.state,{blockLen:n}=this;for(let s=0,i=e.length;s<i;){this.posOut>=n&&this.keccak();const o=Math.min(n-this.posOut,i-s);e.set(r.subarray(this.posOut,this.posOut+o),s),this.posOut+=o,s+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return ds(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Qd(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Cn(this.state)}_cloneInto(e){const{blockLen:r,suffix:n,outputLen:s,rounds:i,enableXOF:o}=this;return e||(e=new eh(r,n,s,o,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=n,e.outputLen=s,e.enableXOF=o,e.destroyed=this.destroyed,e}}const hv=(t,e,r)=>ub(()=>new eh(e,t,r)),pb=hv(1,136,256/8);function mt(t,e){const r=e||"hex",n=pb(Nr(t,{strict:!1})?Zi(t):t);return r==="bytes"?n:Ft(n)}const pv=t=>mt(Zi(t));function yv(t){return pv(t)}function mv(t){let e=!0,r="",n=0,s="",i=!1;for(let o=0;o<t.length;o++){const a=t[o];if(["(",")",","].includes(a)&&(e=!0),a==="("&&n++,a===")"&&n--,!!e){if(n===0){if(a===" "&&["event","function",""].includes(s))s="";else if(s+=a,a===")"){i=!0;break}continue}if(a===" "){t[o-1]!==","&&r!==","&&r!==",("&&(r="",e=!1);continue}s+=a,r+=a}}if(!i)throw new V("Unable to normalize signature.");return s}const bv=t=>{const e=typeof t=="string"?t:_c(t);return mv(e)};function yb(t){return yv(bv(t))}const Yc=yb;let $t=class extends V{constructor({address:e}){super(`Address "${e}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}},Qi=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const r=super.get(e);return super.has(e)&&r!==void 0&&(this.delete(e),super.set(e,r)),r}set(e,r){if(super.set(e,r),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}};const Vu=new Qi(8192);function va(t,e){if(Vu.has(`${t}.${e}`))return Vu.get(`${t}.${e}`);const r=t.substring(2).toLowerCase(),n=mt(js(r),"bytes"),s=r.split("");for(let o=0;o<40;o+=2)n[o>>1]>>4>=8&&s[o]&&(s[o]=s[o].toUpperCase()),(n[o>>1]&15)>=8&&s[o+1]&&(s[o+1]=s[o+1].toUpperCase());const i=`0x${s.join("")}`;return Vu.set(`${t}.${e}`,i),i}function th(t,e){if(!ct(t,{strict:!1}))throw new $t({address:t});return va(t,e)}const gv=/^0x[a-fA-F0-9]{40}$/,Gu=new Qi(8192);function ct(t,e){const{strict:r=!0}=e??{},n=`${t}.${r}`;if(Gu.has(n))return Gu.get(n);const s=gv.test(t)?t.toLowerCase()===t?!0:r?va(t)===t:!0:!1;return Gu.set(n,s),s}function nr(t){return typeof t[0]=="string"?$r(t):wv(t)}function wv(t){let e=0;for(const s of t)e+=s.length;const r=new Uint8Array(e);let n=0;for(const s of t)r.set(s,n),n+=s.length;return r}function $r(t){return`0x${t.reduce((e,r)=>e+r.replace("0x",""),"")}`}function Ws(t,e,r,{strict:n}={}){return Nr(t,{strict:!1})?Wl(t,e,r,{strict:n}):gb(t,e,r,{strict:n})}function mb(t,e){if(typeof e=="number"&&e>0&&e>Ge(t)-1)throw new Xm({offset:e,position:"start",size:Ge(t)})}function bb(t,e,r){if(typeof e=="number"&&typeof r=="number"&&Ge(t)!==r-e)throw new Xm({offset:r,position:"end",size:Ge(t)})}function gb(t,e,r,{strict:n}={}){mb(t,e);const s=t.slice(e,r);return n&&bb(s,e,r),s}function Wl(t,e,r,{strict:n}={}){mb(t,e);const s=`0x${t.replace("0x","").slice((e??0)*2,(r??t.length)*2)}`;return n&&bb(s,e,r),s}const vv=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,wb=/^(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 ws(t,e){if(t.length!==e.length)throw new A5({expectedLength:t.length,givenLength:e.length});const r=Ev({params:t,values:e}),n=nh(r);return n.length===0?"0x":n}function Ev({params:t,values:e}){const r=[];for(let n=0;n<t.length;n++)r.push(rh({param:t[n],value:e[n]}));return r}function rh({param:t,value:e}){const r=sh(t.type);if(r){const[n,s]=r;return Sv(e,{length:n,param:{...t,type:s}})}if(t.type==="tuple")return Iv(e,{param:t});if(t.type==="address")return Av(e);if(t.type==="bool")return kv(e);if(t.type.startsWith("uint")||t.type.startsWith("int")){const n=t.type.startsWith("int"),[,,s="256"]=wb.exec(t.type)??[];return Tv(e,{signed:n,size:Number(s)})}if(t.type.startsWith("bytes"))return xv(e,{param:t});if(t.type==="string")return _v(e);throw new P5(t.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function nh(t){let e=0;for(let i=0;i<t.length;i++){const{dynamic:o,encoded:a}=t[i];o?e+=32:e+=Ge(a)}const r=[],n=[];let s=0;for(let i=0;i<t.length;i++){const{dynamic:o,encoded:a}=t[i];o?(r.push(J(e+s,{size:32})),n.push(a),s+=Ge(a)):r.push(a)}return nr([...r,...n])}function Av(t){if(!ct(t))throw new $t({address:t});return{dynamic:!1,encoded:us(t.toLowerCase())}}function Sv(t,{length:e,param:r}){const n=e===null;if(!Array.isArray(t))throw new Jm(t);if(!n&&t.length!==e)throw new v5({expectedLength:e,givenLength:t.length,type:`${r.type}[${e}]`});let s=!1;const i=[];for(let o=0;o<t.length;o++){const a=rh({param:r,value:t[o]});a.dynamic&&(s=!0),i.push(a)}if(n||s){const o=nh(i);if(n){const a=J(i.length,{size:32});return{dynamic:!0,encoded:i.length>0?nr([a,o]):a}}if(s)return{dynamic:!0,encoded:o}}return{dynamic:!1,encoded:nr(i.map(({encoded:o})=>o))}}function xv(t,{param:e}){const[,r]=e.type.split("bytes"),n=Ge(t);if(!r){let s=t;return n%32!==0&&(s=us(s,{dir:"right",size:Math.ceil((t.length-2)/2/32)*32})),{dynamic:!0,encoded:nr([us(J(n,{size:32})),s])}}if(n!==Number.parseInt(r,10))throw new E5({expectedSize:Number.parseInt(r,10),value:t});return{dynamic:!1,encoded:us(t,{dir:"right"})}}function kv(t){if(typeof t!="boolean")throw new V(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:us(eb(t))}}function Tv(t,{signed:e,size:r=256}){if(typeof r=="number"){const n=2n**(BigInt(r)-(e?1n:0n))-1n,s=e?-n-1n:0n;if(t>n||t<s)throw new Qm({max:n.toString(),min:s.toString(),signed:e,size:r/8,value:t.toString()})}return{dynamic:!1,encoded:J(t,{size:32,signed:e})}}function _v(t){const e=ji(t),r=Math.ceil(Ge(e)/32),n=[];for(let s=0;s<r;s++)n.push(us(Ws(e,s*32,(s+1)*32),{dir:"right"}));return{dynamic:!0,encoded:nr([us(J(Ge(e),{size:32})),...n])}}function Iv(t,{param:e}){let r=!1;const n=[];for(let s=0;s<e.components.length;s++){const i=e.components[s],o=Array.isArray(t)?s:i.name,a=rh({param:i,value:t[o]});n.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?nh(n):nr(n.map(({encoded:s})=>s))}}function sh(t){const e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}const Ea=t=>Ws(yb(t),0,4);function ii(t){const{abi:e,args:r=[],name:n}=t,s=Nr(n,{strict:!1}),i=e.filter(a=>s?a.type==="function"?Ea(a)===n:a.type==="event"?Yc(a)===n:!1:"name"in a&&a.name===n);if(i.length===0)return;if(i.length===1)return i[0];let o;for(const a of i){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((u,f)=>{const l="inputs"in a&&a.inputs[f];return l?Kl(u,l):!1})){if(o&&"inputs"in o&&o.inputs){const u=vb(a.inputs,o.inputs,r);if(u)throw new _5({abiItem:a,type:u[0]},{abiItem:o,type:u[1]})}o=a}}return o||i[0]}function Kl(t,e){const r=typeof t,n=e.type;switch(n){case"address":return ct(t,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in e?Object.values(e.components).every((s,i)=>Kl(Object.values(t)[i],s)):/^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"||t instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(t)&&t.every(s=>Kl(s,{...e,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function vb(t,e,r){for(const n in t){const s=t[n],i=e[n];if(s.type==="tuple"&&i.type==="tuple"&&"components"in s&&"components"in i)return vb(s.components,i.components,r[n]);const o=[s.type,i.type];if(o.includes("address")&&o.includes("bytes20")?!0:o.includes("address")&&o.includes("string")?ct(r[n],{strict:!1}):o.includes("address")&&o.includes("bytes")?ct(r[n],{strict:!1}):!1)return o}}const G0="/docs/contract/encodeEventTopics";function Aa(t){var c;const{abi:e,eventName:r,args:n}=t;let s=e[0];if(r){const u=ii({abi:e,name:r});if(!u)throw new j0(r,{docsPath:G0});s=u}if(s.type!=="event")throw new j0(void 0,{docsPath:G0});const i=Rr(s),o=Yc(i);let a=[];if(n&&"inputs"in s){const u=(c=s.inputs)==null?void 0:c.filter(l=>"indexed"in l&&l.indexed),f=Array.isArray(n)?n:Object.values(n).length>0?(u==null?void 0:u.map(l=>n[l.name]))??[]:[];f.length>0&&(a=(u==null?void 0:u.map((l,p)=>Array.isArray(f[p])?f[p].map((d,m)=>q0({param:l,value:f[p][m]})):typeof f[p]<"u"&&f[p]!==null?q0({param:l,value:f[p]}):null))??[])}return[o,...a]}function q0({param:t,value:e}){if(t.type==="string"||t.type==="bytes")return mt(Zi(e));if(t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/))throw new C5(t.type);return ws([t],[e])}function Jc(t,{method:e}){var n,s;const r={};return t.transport.type==="fallback"&&((s=(n=t.transport).onResponse)==null||s.call(n,({method:i,response:o,status:a,transport:c})=>{a==="success"&&e===i&&(r[o]=c.request)})),i=>r[i]||t.request}async function ih(t,e){const{address:r,abi:n,args:s,eventName:i,fromBlock:o,strict:a,toBlock:c}=e,u=Jc(t,{method:"eth_newFilter"}),f=i?Aa({abi:n,args:s,eventName:i}):void 0,l=await t.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof o=="bigint"?J(o):o,toBlock:typeof c=="bigint"?J(c):c,topics:f}]});return{abi:n,args:s,eventName:i,id:l,request:u(l),strict:!!a,type:"event"}}function He(t){return typeof t=="string"?{address:t,type:"json-rpc"}:t}const W0="/docs/contract/encodeFunctionData";function Pv(t){const{abi:e,args:r,functionName:n}=t;let s=e[0];if(n){const i=ii({abi:e,args:r,name:n});if(!i)throw new $i(n,{docsPath:W0});s=i}if(s.type!=="function")throw new $i(void 0,{docsPath:W0});return{abi:[s],functionName:Ea(Rr(s))}}function or(t){const{args:e}=t,{abi:r,functionName:n}=(()=>{var a;return t.abi.length===1&&((a=t.functionName)!=null&&a.startsWith("0x"))?t:Pv(t)})(),s=r[0],i=n,o="inputs"in s&&s.inputs?ws(s.inputs,e??[]):void 0;return $r([i,o??"0x"])}const Ov={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."},Eb={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},Bv={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"};let K0=class extends V{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`,{name:"NegativeOffsetError"})}},Ab=class extends V{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`,{name:"PositionOutOfBoundsError"})}},Cv=class extends V{constructor({count:e,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`,{name:"RecursiveReadLimitExceededError"})}};const Rv={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 Cv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new Ab({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new K0({offset:t});const e=this.position-t;this.assertPosition(e),this.position=e},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new K0({offset:t});const e=this.position+t;this.assertPosition(e),this.position=e},inspectByte(t){const e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(t,e){const r=e??this.position;return this.assertPosition(r+t-1),this.bytes.subarray(r,r+t)},inspectUint8(t){const e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(t){const e=t??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(t){const e=t??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(t){const e=t??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const t=this.inspectByte();return this.position++,t},readBytes(t,e){this.assertReadLimit(),this._touch();const r=this.inspectBytes(t);return this.position+=e??t,r},readUint8(){this.assertReadLimit(),this._touch();const t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();const t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();const t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();const t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){const e=this.position;return this.assertPosition(t),this.position=t,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++}};function oh(t,{recursiveReadLimit:e=8192}={}){const r=Object.create(Rv);return r.bytes=t,r.dataView=new DataView(t.buffer??t,t.byteOffset,t.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=e,r}function Nv(t,e={}){typeof e.size<"u"&&Mr(t,{size:e.size});const r=tt(t,e);return ft(r,e)}function Uv(t,e={}){let r=t;if(typeof e.size<"u"&&(Mr(r,{size:e.size}),r=br(r)),r.length>1||r[0]>1)throw new N5(r);return!!r[0]}function In(t,e={}){typeof e.size<"u"&&Mr(t,{size:e.size});const r=tt(t,e);return gr(r,e)}function Fv(t,e={}){let r=t;return typeof e.size<"u"&&(Mr(r,{size:e.size}),r=br(r,{dir:"right"})),new TextDecoder().decode(r)}function Sa(t,e){const r=typeof e=="string"?sn(e):e,n=oh(r);if(Ge(r)===0&&t.length>0)throw new wa;if(Ge(e)&&Ge(e)<32)throw new Wm({data:typeof e=="string"?e:tt(e),params:t,size:Ge(e)});let s=0;const i=[];for(let o=0;o<t.length;++o){const a=t[o];n.setPosition(s);const[c,u]=_i(n,a,{staticPosition:0});s+=u,i.push(c)}return i}function _i(t,e,{staticPosition:r}){const n=sh(e.type);if(n){const[s,i]=n;return $v(t,{...e,type:i},{length:s,staticPosition:r})}if(e.type==="tuple")return Dv(t,e,{staticPosition:r});if(e.type==="address")return Mv(t);if(e.type==="bool")return jv(t);if(e.type.startsWith("bytes"))return Hv(t,e,{staticPosition:r});if(e.type.startsWith("uint")||e.type.startsWith("int"))return Lv(t,e);if(e.type==="string")return zv(t,{staticPosition:r});throw new O5(e.type,{docsPath:"/docs/contract/decodeAbiParameters"})}const Y0=32,Yl=32;function Mv(t){const e=t.readBytes(32);return[va(tt(gb(e,-20))),32]}function $v(t,e,{length:r,staticPosition:n}){if(!r){const o=In(t.readBytes(Yl)),a=n+o,c=a+Y0;t.setPosition(a);const u=In(t.readBytes(Y0)),f=$o(e);let l=0;const p=[];for(let d=0;d<u;++d){t.setPosition(c+(f?d*32:l));const[m,g]=_i(t,e,{staticPosition:c});l+=g,p.push(m)}return t.setPosition(n+32),[p,32]}if($o(e)){const o=In(t.readBytes(Yl)),a=n+o,c=[];for(let u=0;u<r;++u){t.setPosition(a+u*32);const[f]=_i(t,e,{staticPosition:a});c.push(f)}return t.setPosition(n+32),[c,32]}let s=0;const i=[];for(let o=0;o<r;++o){const[a,c]=_i(t,e,{staticPosition:n+s});s+=c,i.push(a)}return[i,s]}function jv(t){return[Uv(t.readBytes(32),{size:32}),32]}function Hv(t,e,{staticPosition:r}){const[n,s]=e.type.split("bytes");if(!s){const o=In(t.readBytes(32));t.setPosition(r+o);const a=In(t.readBytes(32));if(a===0)return t.setPosition(r+32),["0x",32];const c=t.readBytes(a);return t.setPosition(r+32),[tt(c),32]}return[tt(t.readBytes(Number.parseInt(s,10),32)),32]}function Lv(t,e){const r=e.type.startsWith("int"),n=Number.parseInt(e.type.split("int")[1]||"256",10),s=t.readBytes(32);return[n>48?Nv(s,{signed:r}):In(s,{signed:r}),32]}function Dv(t,e,{staticPosition:r}){const n=e.components.length===0||e.components.some(({name:o})=>!o),s=n?[]:{};let i=0;if($o(e)){const o=In(t.readBytes(Yl)),a=r+o;for(let c=0;c<e.components.length;++c){const u=e.components[c];t.setPosition(a+i);const[f,l]=_i(t,u,{staticPosition:a});i+=l,s[n?c:u==null?void 0:u.name]=f}return t.setPosition(r+32),[s,32]}for(let o=0;o<e.components.length;++o){const a=e.components[o],[c,u]=_i(t,a,{staticPosition:r});s[n?o:a==null?void 0:a.name]=c,i+=u}return[s,i]}function zv(t,{staticPosition:e}){const r=In(t.readBytes(32)),n=e+r;t.setPosition(n);const s=In(t.readBytes(32));if(s===0)return t.setPosition(e+32),["",32];const i=t.readBytes(s,32),o=Fv(br(i));return t.setPosition(e+32),[o,32]}function $o(t){var n;const{type:e}=t;if(e==="string"||e==="bytes"||e.endsWith("[]"))return!0;if(e==="tuple")return(n=t.components)==null?void 0:n.some($o);const r=sh(t.type);return!!(r&&$o({...t,type:r[1]}))}function Sb(t){const{abi:e,data:r}=t,n=Ws(r,0,4);if(n==="0x")throw new wa;const i=[...e||[],Eb,Bv].find(o=>o.type==="error"&&n===Ea(Rr(o)));if(!i)throw new Km(n,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:i,args:"inputs"in i&&i.inputs&&i.inputs.length>0?Sa(i.inputs,Ws(r,4)):void 0,errorName:i.name}}const et=(t,e,r)=>JSON.stringify(t,(n,s)=>typeof s=="bigint"?s.toString():s,r);function xb({abiItem:t,args:e,includeFunctionName:r=!0,includeName:n=!1}){if("name"in t&&"inputs"in t&&t.inputs)return`${r?t.name:""}(${t.inputs.map((s,i)=>`${n&&s.name?`${s.name}: `:""}${typeof e[i]=="object"?et(e[i]):e[i]}`).join(", ")})`}const Vv={gwei:9,wei:18},Gv={ether:-9,wei:9};function kb(t,e){let r=t.toString();const n=r.startsWith("-");n&&(r=r.slice(1)),r=r.padStart(e,"0");let[s,i]=[r.slice(0,r.length-e),r.slice(r.length-e)];return i=i.replace(/(0+)$/,""),`${n?"-":""}${s||"0"}${i?`.${i}`:""}`}function ah(t,e="wei"){return kb(t,Vv[e])}function Gt(t,e="wei"){return kb(t,Gv[e])}class qv extends V{constructor({address:e}){super(`State for account "${e}" is set multiple times.`,{name:"AccountStateConflictError"})}}class Wv extends V{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function J0(t){return t.reduce((e,{slot:r,value:n})=>`${e} ${r}: ${n}
|
|
23
|
+
`,"")}function Kv(t){return t.reduce((e,{address:r,...n})=>{let s=`${e} ${r}:
|
|
24
|
+
`;return n.nonce&&(s+=` nonce: ${n.nonce}
|
|
25
|
+
`),n.balance&&(s+=` balance: ${n.balance}
|
|
26
|
+
`),n.code&&(s+=` code: ${n.code}
|
|
27
|
+
`),n.state&&(s+=` state:
|
|
28
|
+
`,s+=J0(n.state)),n.stateDiff&&(s+=` stateDiff:
|
|
29
|
+
`,s+=J0(n.stateDiff)),s},` State Override:
|
|
30
|
+
`).slice(0,-1)}function xa(t){const e=Object.entries(t).map(([n,s])=>s===void 0||s===!1?null:[n,s]).filter(Boolean),r=e.reduce((n,[s])=>Math.max(n,s.length),0);return e.map(([n,s])=>` ${`${n}:`.padEnd(r+1)} ${s}`).join(`
|
|
31
|
+
`)}class Yv extends V{constructor({v:e}){super(`Invalid \`v\` value "${e}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class Jv extends V{constructor({transaction:e}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",xa(e),"}","","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 Xv extends V{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}class Zv extends V{constructor(e,{account:r,docsPath:n,chain:s,data:i,gas:o,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:f,to:l,value:p}){var m;const d=xa({chain:s&&`${s==null?void 0:s.name} (id: ${s==null?void 0:s.id})`,from:r==null?void 0:r.address,to:l,value:typeof p<"u"&&`${ah(p)} ${((m=s==null?void 0:s.nativeCurrency)==null?void 0:m.symbol)||"ETH"}`,data:i,gas:o,gasPrice:typeof a<"u"&&`${Gt(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Gt(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${Gt(u)} gwei`,nonce:f});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Request Arguments:",d].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class Tb extends V{constructor({blockHash:e,blockNumber:r,blockTag:n,hash:s,index:i}){let o="Transaction";n&&i!==void 0&&(o=`Transaction at block time "${n}" at index "${i}"`),e&&i!==void 0&&(o=`Transaction at block hash "${e}" at index "${i}"`),r&&i!==void 0&&(o=`Transaction at block number "${r}" at index "${i}"`),s&&(o=`Transaction with hash "${s}"`),super(`${o} could not be found.`,{name:"TransactionNotFoundError"})}}class _b extends V{constructor({hash:e}){super(`Transaction receipt with hash "${e}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}}class Ib extends V{constructor({receipt:e}){super(`Transaction with hash "${e.transactionHash}" reverted.`,{metaMessages:['The receipt marked the transaction as "reverted". This could mean that the function on the contract you are trying to call threw an error.'," ","You can attempt to extract the revert reason by:","- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract","- using the `call` Action with raw `data`"],name:"TransactionReceiptRevertedError"}),Object.defineProperty(this,"receipt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}}class Qv extends V{constructor({hash:e}){super(`Timed out while waiting for transaction with hash "${e}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}const eE=t=>t,Xc=t=>t;class Pb extends V{constructor(e,{account:r,docsPath:n,chain:s,data:i,gas:o,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:f,to:l,value:p,stateOverride:d}){var A;const m=r?He(r):void 0;let g=xa({from:m==null?void 0:m.address,to:l,value:typeof p<"u"&&`${ah(p)} ${((A=s==null?void 0:s.nativeCurrency)==null?void 0:A.symbol)||"ETH"}`,data:i,gas:o,gasPrice:typeof a<"u"&&`${Gt(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Gt(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${Gt(u)} gwei`,nonce:f});d&&(g+=`
|
|
32
|
+
${Kv(d)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Raw Call Arguments:",g].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class Ob extends V{constructor(e,{abi:r,args:n,contractAddress:s,docsPath:i,functionName:o,sender:a}){const c=ii({abi:r,args:n,name:o}),u=c?xb({abiItem:c,args:n,includeFunctionName:!1,includeName:!1}):void 0,f=c?Rr(c,{includeName:!0}):void 0,l=xa({address:s&&eE(s),function:f,args:u&&u!=="()"&&`${[...Array((o==null?void 0:o.length)??0).keys()].map(()=>" ").join("")}${u}`,sender:a});super(e.shortMessage||`An unknown error occurred while executing the contract function "${o}".`,{cause:e,docsPath:i,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],l&&"Contract Call:",l].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=e,this.contractAddress=s,this.functionName=o,this.sender=a}}class Jl extends V{constructor({abi:e,data:r,functionName:n,message:s}){let i,o,a,c;if(r&&r!=="0x")try{o=Sb({abi:e,data:r});const{abiItem:f,errorName:l,args:p}=o;if(l==="Error")c=p[0];else if(l==="Panic"){const[d]=p;c=Ov[d]}else{const d=f?Rr(f,{includeName:!0}):void 0,m=f&&p?xb({abiItem:f,args:p,includeFunctionName:!1,includeName:!1}):void 0;a=[d?`Error: ${d}`:"",m&&m!=="()"?` ${[...Array((l==null?void 0:l.length)??0).keys()].map(()=>" ").join("")}${m}`:""]}}catch(f){i=f}else s&&(c=s);let u;i instanceof Km&&(u=i.signature,a=[`Unable to decode signature "${u}" 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=${u}.`]),super(c&&c!=="execution reverted"||u?[`The contract function "${n}" reverted with the following ${u?"signature":"reason"}:`,c||u].join(`
|
|
33
|
+
`):`The contract function "${n}" reverted.`,{cause:i,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=u}}class tE extends V{constructor({functionName:e}){super(`The contract function "${e}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${e}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}}class rE extends V{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory "${e}".`:""}`,{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 Zc extends V{constructor({data:e,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=e}}class Ii extends V{constructor({body:e,cause:r,details:n,headers:s,status:i,url:o}){super("HTTP request failed.",{cause:r,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Xc(o)}`,e&&`Request body: ${et(e)}`].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=e,this.headers=s,this.status=i,this.url=o}}class ch extends V{constructor({body:e,error:r,url:n}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${Xc(n)}`,`Request body: ${et(e)}`],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}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=r.code,this.data=r.data,this.url=n}}class X0 extends V{constructor({body:e,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${Xc(r)}`,`Request body: ${et(e)}`],name:"TimeoutError"}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=r}}const nE=-1;class Yt extends V{constructor(e,{code:r,docsPath:n,metaMessages:s,name:i,shortMessage:o}){super(o,{cause:e,docsPath:n,metaMessages:s||(e==null?void 0:e.metaMessages),name:i||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof ch?e.code:r??nE}}class ar extends Yt{constructor(e,r){super(e,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}}class jo extends Yt{constructor(e){super(e,{code:jo.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}}Object.defineProperty(jo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class Ho extends Yt{constructor(e){super(e,{code:Ho.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}}Object.defineProperty(Ho,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class Lo extends Yt{constructor(e,{method:r}={}){super(e,{code:Lo.code,name:"MethodNotFoundRpcError",shortMessage:`The method${r?` "${r}"`:""} does not exist / is not available.`})}}Object.defineProperty(Lo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class Do extends Yt{constructor(e){super(e,{code:Do.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
|
|
34
|
+
`)})}}Object.defineProperty(Do,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class Ks extends Yt{constructor(e){super(e,{code:Ks.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}}Object.defineProperty(Ks,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class ys extends Yt{constructor(e){super(e,{code:ys.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
|
|
35
|
+
`)})}}Object.defineProperty(ys,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class zo extends Yt{constructor(e){super(e,{code:zo.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(zo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class Vo extends Yt{constructor(e){super(e,{code:Vo.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}}Object.defineProperty(Vo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class Go extends Yt{constructor(e){super(e,{code:Go.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}}Object.defineProperty(Go,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class Cs extends Yt{constructor(e,{method:r}={}){super(e,{code:Cs.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}}Object.defineProperty(Cs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class Hi extends Yt{constructor(e){super(e,{code:Hi.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}}Object.defineProperty(Hi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class qo extends Yt{constructor(e){super(e,{code:qo.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}}Object.defineProperty(qo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class Pi extends ar{constructor(e){super(e,{code:Pi.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}}Object.defineProperty(Pi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class Wo extends ar{constructor(e){super(e,{code:Wo.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}}Object.defineProperty(Wo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class Ko extends ar{constructor(e,{method:r}={}){super(e,{code:Ko.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}}Object.defineProperty(Ko,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class Yo extends ar{constructor(e){super(e,{code:Yo.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}}Object.defineProperty(Yo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class Jo extends ar{constructor(e){super(e,{code:Jo.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}}Object.defineProperty(Jo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class Xo extends ar{constructor(e){super(e,{code:Xo.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}}Object.defineProperty(Xo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class Li extends ar{constructor(e){super(e,{code:Li.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty(Li,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class Zo extends ar{constructor(e){super(e,{code:Zo.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}}Object.defineProperty(Zo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});class Qo extends ar{constructor(e){super(e,{code:Qo.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}}Object.defineProperty(Qo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});class ea extends ar{constructor(e){super(e,{code:ea.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}}Object.defineProperty(ea,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});class ta extends ar{constructor(e){super(e,{code:ta.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}}Object.defineProperty(ta,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});class ra extends ar{constructor(e){super(e,{code:ra.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}}Object.defineProperty(ra,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});class Di extends ar{constructor(e){super(e,{code:Di.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(Di,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});class sE extends Yt{constructor(e){super(e,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}const iE=3;function Ys(t,{abi:e,address:r,args:n,docsPath:s,functionName:i,sender:o}){const a=t instanceof Zc?t:t instanceof V?t.walk(m=>"data"in m)||t.walk():{},{code:c,data:u,details:f,message:l,shortMessage:p}=a,d=t instanceof wa?new tE({functionName:i}):[iE,Ks.code].includes(c)&&(u||f||l||p)||c===ys.code&&f==="execution reverted"&&u?new Jl({abi:e,data:typeof u=="object"?u.data:u,functionName:i,message:a instanceof ch?f:p??l}):t;return new Ob(d,{abi:e,args:n,contractAddress:r,docsPath:s,functionName:i,sender:o})}function oE(t){const e=mt(`0x${t.substring(4)}`).substring(26);return va(`0x${e}`)}async function aE({hash:t,signature:e}){const r=Nr(t)?t:Ft(t),{secp256k1:n}=await Promise.resolve().then(()=>jS);return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){const{r:u,s:f,v:l,yParity:p}=e,d=Number(p??l),m=Z0(d);return new n.Signature(ft(u),ft(f)).addRecoveryBit(m)}const o=Nr(e)?e:Ft(e);if(Ge(o)!==65)throw new Error("invalid signature length");const a=gr(`0x${o.slice(130)}`),c=Z0(a);return n.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Z0(t){if(t===0||t===1)return t;if(t===27)return 0;if(t===28)return 1;throw new Error("Invalid yParityOrV value")}async function Bb({hash:t,signature:e}){return oE(await aE({hash:t,signature:e}))}function ms(t,e="hex"){const r=Cb(t),n=oh(new Uint8Array(r.length));return r.encode(n),e==="hex"?tt(n.bytes):n.bytes}function Cb(t){return Array.isArray(t)?cE(t.map(e=>Cb(e))):uE(t)}function cE(t){const e=t.reduce((s,i)=>s+i.length,0),r=Rb(e);return{length:e<=55?1+e:1+r+e,encode(s){e<=55?s.pushByte(192+e):(s.pushByte(247+r),r===1?s.pushUint8(e):r===2?s.pushUint16(e):r===3?s.pushUint24(e):s.pushUint32(e));for(const{encode:i}of t)i(s)}}}function uE(t){const e=typeof t=="string"?sn(t):t,r=Rb(e.length);return{length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+r+e.length,encode(s){e.length===1&&e[0]<128?s.pushBytes(e):e.length<=55?(s.pushByte(128+e.length),s.pushBytes(e)):(s.pushByte(183+r),r===1?s.pushUint8(e.length):r===2?s.pushUint16(e.length):r===3?s.pushUint24(e.length):s.pushUint32(e.length),s.pushBytes(e))}}}function Rb(t){if(t<2**8)return 1;if(t<2**16)return 2;if(t<2**24)return 3;if(t<2**32)return 4;throw new V("Length is too large.")}function fE(t){const{chainId:e,nonce:r,to:n}=t,s=t.contractAddress??t.address,i=mt($r(["0x05",ms([e?J(e):"0x",s,r?J(r):"0x"])]));return n==="bytes"?sn(i):i}async function Qc(t){const{authorization:e,signature:r}=t;return Bb({hash:fE(e),signature:r??e})}class lE extends V{constructor(e,{account:r,docsPath:n,chain:s,data:i,gas:o,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:f,to:l,value:p}){var m;const d=xa({from:r==null?void 0:r.address,to:l,value:typeof p<"u"&&`${ah(p)} ${((m=s==null?void 0:s.nativeCurrency)==null?void 0:m.symbol)||"ETH"}`,data:i,gas:o,gasPrice:typeof a<"u"&&`${Gt(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Gt(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${Gt(u)} gwei`,nonce:f});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Estimate Gas Arguments:",d].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class xi extends V{constructor({cause:e,message:r}={}){var s;const n=(s=r==null?void 0:r.replace("execution reverted: ",""))==null?void 0:s.replace("execution reverted","");super(`Execution reverted ${n?`with reason: ${n}`:"for an unknown reason"}.`,{cause:e,name:"ExecutionRevertedError"})}}Object.defineProperty(xi,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(xi,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class Js extends V{constructor({cause:e,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Gt(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:"FeeCapTooHighError"})}}Object.defineProperty(Js,"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 Xl extends V{constructor({cause:e,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Gt(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:e,name:"FeeCapTooLowError"})}}Object.defineProperty(Xl,"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 Zl extends V{constructor({cause:e,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}is higher than the next one expected.`,{cause:e,name:"NonceTooHighError"})}}Object.defineProperty(Zl,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Ql extends V{constructor({cause:e,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(`
|
|
36
|
+
`),{cause:e,name:"NonceTooLowError"})}}Object.defineProperty(Ql,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class ed extends V{constructor({cause:e,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}exceeds the maximum allowed nonce.`,{cause:e,name:"NonceMaxValueError"})}}Object.defineProperty(ed,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class td extends V{constructor({cause:e}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
|
|
37
|
+
`),{cause:e,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(td,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class rd extends V{constructor({cause:e,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(rd,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class nd extends V{constructor({cause:e,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction is too low.`,{cause:e,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(nd,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class sd extends V{constructor({cause:e}){super("The transaction type is not supported for this chain.",{cause:e,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(sd,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class na extends V{constructor({cause:e,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${Gt(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${Gt(n)} gwei`:""}).`].join(`
|
|
38
|
+
`),{cause:e,name:"TipAboveFeeCapError"})}}Object.defineProperty(na,"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 ka extends V{constructor({cause:e}){super(`An error occurred while executing: ${e==null?void 0:e.shortMessage}`,{cause:e,name:"UnknownNodeError"})}}function eu(t,e){const r=(t.details||"").toLowerCase(),n=t instanceof V?t.walk(s=>(s==null?void 0:s.code)===xi.code):t;return n instanceof V?new xi({cause:t,message:n.details}):xi.nodeMessage.test(r)?new xi({cause:t,message:t.details}):Js.nodeMessage.test(r)?new Js({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas}):Xl.nodeMessage.test(r)?new Xl({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas}):Zl.nodeMessage.test(r)?new Zl({cause:t,nonce:e==null?void 0:e.nonce}):Ql.nodeMessage.test(r)?new Ql({cause:t,nonce:e==null?void 0:e.nonce}):ed.nodeMessage.test(r)?new ed({cause:t,nonce:e==null?void 0:e.nonce}):td.nodeMessage.test(r)?new td({cause:t}):rd.nodeMessage.test(r)?new rd({cause:t,gas:e==null?void 0:e.gas}):nd.nodeMessage.test(r)?new nd({cause:t,gas:e==null?void 0:e.gas}):sd.nodeMessage.test(r)?new sd({cause:t}):na.nodeMessage.test(r)?new na({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas,maxPriorityFeePerGas:e==null?void 0:e.maxPriorityFeePerGas}):new ka({cause:t})}function dE(t,{docsPath:e,...r}){const n=(()=>{const s=eu(t,r);return s instanceof ka?t:s})();return new lE(n,{docsPath:e,...r})}function eo(t,{format:e}){if(!e)return{};const r={};function n(i){const o=Object.keys(i);for(const a of o)a in t&&(r[a]=t[a]),i[a]&&typeof i[a]=="object"&&!Array.isArray(i[a])&&n(i[a])}const s=e(t||{});return n(s),r}function uh(t,e){return({exclude:r,format:n})=>({exclude:r,format:(s,i)=>{const o=e(s,i);if(r)for(const a of r)delete o[a];return{...o,...n(s,i)}},type:t})}const hE={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function vs(t,e){const r={};return typeof t.authorizationList<"u"&&(r.authorizationList=pE(t.authorizationList)),typeof t.accessList<"u"&&(r.accessList=t.accessList),typeof t.blobVersionedHashes<"u"&&(r.blobVersionedHashes=t.blobVersionedHashes),typeof t.blobs<"u"&&(typeof t.blobs[0]!="string"?r.blobs=t.blobs.map(n=>tt(n)):r.blobs=t.blobs),typeof t.data<"u"&&(r.data=t.data),t.account&&(r.from=t.account.address),typeof t.from<"u"&&(r.from=t.from),typeof t.gas<"u"&&(r.gas=J(t.gas)),typeof t.gasPrice<"u"&&(r.gasPrice=J(t.gasPrice)),typeof t.maxFeePerBlobGas<"u"&&(r.maxFeePerBlobGas=J(t.maxFeePerBlobGas)),typeof t.maxFeePerGas<"u"&&(r.maxFeePerGas=J(t.maxFeePerGas)),typeof t.maxPriorityFeePerGas<"u"&&(r.maxPriorityFeePerGas=J(t.maxPriorityFeePerGas)),typeof t.nonce<"u"&&(r.nonce=J(t.nonce)),typeof t.to<"u"&&(r.to=t.to),typeof t.type<"u"&&(r.type=hE[t.type]),typeof t.value<"u"&&(r.value=J(t.value)),r}function pE(t){return t.map(e=>({address:e.address,r:e.r?J(BigInt(e.r)):e.r,s:e.s?J(BigInt(e.s)):e.s,chainId:J(e.chainId),nonce:J(e.nonce),...typeof e.yParity<"u"?{yParity:J(e.yParity)}:{},...typeof e.v<"u"&&typeof e.yParity>"u"?{v:J(e.v)}:{}}))}function Q0(t){if(!(!t||t.length===0))return t.reduce((e,{slot:r,value:n})=>{if(r.length!==66)throw new H0({size:r.length,targetSize:66,type:"hex"});if(n.length!==66)throw new H0({size:n.length,targetSize:66,type:"hex"});return e[r]=n,e},{})}function yE(t){const{balance:e,nonce:r,state:n,stateDiff:s,code:i}=t,o={};if(i!==void 0&&(o.code=i),e!==void 0&&(o.balance=J(e)),r!==void 0&&(o.nonce=J(r)),n!==void 0&&(o.state=Q0(n)),s!==void 0){if(o.state)throw new Wv;o.stateDiff=Q0(s)}return o}function fh(t){if(!t)return;const e={};for(const{address:r,...n}of t){if(!ct(r,{strict:!1}))throw new $t({address:r});if(e[r])throw new qv({address:r});e[r]=yE(n)}return e}const tu=2n**256n-1n;function jn(t){const{account:e,maxFeePerGas:r,maxPriorityFeePerGas:n,to:s}=t,i=e?He(e):void 0;if(i&&!ct(i.address))throw new $t({address:i.address});if(s&&!ct(s))throw new $t({address:s});if(r&&r>tu)throw new Js({maxFeePerGas:r});if(n&&r&&n>r)throw new na({maxFeePerGas:r,maxPriorityFeePerGas:n})}class Nb extends V{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class lh extends V{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class mE extends V{constructor({maxPriorityFeePerGas:e}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Gt(e)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class Ub extends V{constructor({blockHash:e,blockNumber:r}){let n="Block";e&&(n=`Block at hash "${e}"`),r&&(n=`Block at number "${r}"`),super(`${n} could not be found.`,{name:"BlockNotFoundError"})}}const Fb={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Ta(t,e){const r={...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,chainId:t.chainId?gr(t.chainId):void 0,gas:t.gas?BigInt(t.gas):void 0,gasPrice:t.gasPrice?BigInt(t.gasPrice):void 0,maxFeePerBlobGas:t.maxFeePerBlobGas?BigInt(t.maxFeePerBlobGas):void 0,maxFeePerGas:t.maxFeePerGas?BigInt(t.maxFeePerGas):void 0,maxPriorityFeePerGas:t.maxPriorityFeePerGas?BigInt(t.maxPriorityFeePerGas):void 0,nonce:t.nonce?gr(t.nonce):void 0,to:t.to?t.to:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,type:t.type?Fb[t.type]:void 0,typeHex:t.type?t.type:void 0,value:t.value?BigInt(t.value):void 0,v:t.v?BigInt(t.v):void 0};return t.authorizationList&&(r.authorizationList=gE(t.authorizationList)),r.yParity=(()=>{if(t.yParity)return Number(t.yParity);if(typeof r.v=="bigint"){if(r.v===0n||r.v===27n)return 0;if(r.v===1n||r.v===28n)return 1;if(r.v>=35n)return r.v%2n===0n?1:0}})(),r.type==="legacy"&&(delete r.accessList,delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.yParity),r.type==="eip2930"&&(delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas),r.type==="eip1559"&&delete r.maxFeePerBlobGas,r}const bE=uh("transaction",Ta);function gE(t){return t.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))}function dh(t,e){const r=(t.transactions??[]).map(n=>typeof n=="string"?n:Ta(n));return{...t,baseFeePerGas:t.baseFeePerGas?BigInt(t.baseFeePerGas):null,blobGasUsed:t.blobGasUsed?BigInt(t.blobGasUsed):void 0,difficulty:t.difficulty?BigInt(t.difficulty):void 0,excessBlobGas:t.excessBlobGas?BigInt(t.excessBlobGas):void 0,gasLimit:t.gasLimit?BigInt(t.gasLimit):void 0,gasUsed:t.gasUsed?BigInt(t.gasUsed):void 0,hash:t.hash?t.hash:null,logsBloom:t.logsBloom?t.logsBloom:null,nonce:t.nonce?t.nonce:null,number:t.number?BigInt(t.number):null,size:t.size?BigInt(t.size):void 0,timestamp:t.timestamp?BigInt(t.timestamp):void 0,transactions:r,totalDifficulty:t.totalDifficulty?BigInt(t.totalDifficulty):null}}const wE=uh("block",dh);async function Ir(t,{blockHash:e,blockNumber:r,blockTag:n=t.experimental_blockTag??"latest",includeTransactions:s}={}){var u,f,l;const i=s??!1,o=r!==void 0?J(r):void 0;let a=null;if(e?a=await t.request({method:"eth_getBlockByHash",params:[e,i]},{dedupe:!0}):a=await t.request({method:"eth_getBlockByNumber",params:[o||n,i]},{dedupe:!!o}),!a)throw new Ub({blockHash:e,blockNumber:r});return(((l=(f=(u=t.chain)==null?void 0:u.formatters)==null?void 0:f.block)==null?void 0:l.format)||dh)(a,"getBlock")}async function hh(t){const e=await t.request({method:"eth_gasPrice"});return BigInt(e)}async function vE(t,e){return Mb(t,e)}async function Mb(t,e){var i,o;const{block:r,chain:n=t.chain,request:s}=e||{};try{const a=((i=n==null?void 0:n.fees)==null?void 0:i.maxPriorityFeePerGas)??((o=n==null?void 0:n.fees)==null?void 0:o.defaultPriorityFee);if(typeof a=="function"){const u=r||await re(t,Ir,"getBlock")({}),f=await a({block:u,client:t,request:s});if(f===null)throw new Error;return f}if(typeof a<"u")return a;const c=await t.request({method:"eth_maxPriorityFeePerGas"});return ft(c)}catch{const[a,c]=await Promise.all([r?Promise.resolve(r):re(t,Ir,"getBlock")({}),re(t,hh,"getGasPrice")({})]);if(typeof a.baseFeePerGas!="bigint")throw new lh;const u=c-a.baseFeePerGas;return u<0n?0n:u}}async function EE(t,e){return id(t,e)}async function id(t,e){var p,d;const{block:r,chain:n=t.chain,request:s,type:i="eip1559"}=e||{},o=await(async()=>{var m,g;return typeof((m=n==null?void 0:n.fees)==null?void 0:m.baseFeeMultiplier)=="function"?n.fees.baseFeeMultiplier({block:r,client:t,request:s}):((g=n==null?void 0:n.fees)==null?void 0:g.baseFeeMultiplier)??1.2})();if(o<1)throw new Nb;const c=10**(((p=o.toString().split(".")[1])==null?void 0:p.length)??0),u=m=>m*BigInt(Math.ceil(o*c))/BigInt(c),f=r||await re(t,Ir,"getBlock")({});if(typeof((d=n==null?void 0:n.fees)==null?void 0:d.estimateFeesPerGas)=="function"){const m=await n.fees.estimateFeesPerGas({block:r,client:t,multiply:u,request:s,type:i});if(m!==null)return m}if(i==="eip1559"){if(typeof f.baseFeePerGas!="bigint")throw new lh;const m=typeof(s==null?void 0:s.maxPriorityFeePerGas)=="bigint"?s.maxPriorityFeePerGas:await Mb(t,{block:f,chain:n,request:s}),g=u(f.baseFeePerGas);return{maxFeePerGas:(s==null?void 0:s.maxFeePerGas)??g+m,maxPriorityFeePerGas:m}}return{gasPrice:(s==null?void 0:s.gasPrice)??u(await re(t,hh,"getGasPrice")({}))}}async function ph(t,{address:e,blockTag:r="latest",blockNumber:n}){const s=await t.request({method:"eth_getTransactionCount",params:[e,typeof n=="bigint"?J(n):r]},{dedupe:!!n});return gr(s)}function yh(t){const{kzg:e}=t,r=t.to??(typeof t.blobs[0]=="string"?"hex":"bytes"),n=typeof t.blobs[0]=="string"?t.blobs.map(i=>sn(i)):t.blobs,s=[];for(const i of n)s.push(Uint8Array.from(e.blobToKzgCommitment(i)));return r==="bytes"?s:s.map(i=>tt(i))}function mh(t){const{kzg:e}=t,r=t.to??(typeof t.blobs[0]=="string"?"hex":"bytes"),n=typeof t.blobs[0]=="string"?t.blobs.map(o=>sn(o)):t.blobs,s=typeof t.commitments[0]=="string"?t.commitments.map(o=>sn(o)):t.commitments,i=[];for(let o=0;o<n.length;o++){const a=n[o],c=s[o];i.push(Uint8Array.from(e.computeBlobKzgProof(a,c)))}return r==="bytes"?i:i.map(o=>tt(o))}function AE(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);const s=BigInt(32),i=BigInt(4294967295),o=Number(r>>s&i),a=Number(r&i),c=n?4:0,u=n?0:4;t.setUint32(e+c,o,n),t.setUint32(e+u,a,n)}function SE(t,e,r){return t&e^~t&r}function xE(t,e,r){return t&e^t&r^e&r}let kE=class extends Kc{constructor(e,r,n,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=s,this.buffer=new Uint8Array(e),this.view=zu(this.buffer)}update(e){ps(this),e=_n(e),hs(e);const{view:r,buffer:n,blockLen:s}=this,i=e.length;for(let o=0;o<i;){const a=Math.min(s-this.pos,i-o);if(a===s){const c=zu(e);for(;s<=i-o;o+=s)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ps(this),Qd(e,this),this.finished=!0;const{buffer:r,view:n,blockLen:s,isLE:i}=this;let{pos:o}=this;r[o++]=128,Cn(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(n,0),o=0);for(let l=o;l<s;l++)r[l]=0;AE(n,s-8,BigInt(this.length*8),i),this.process(n,0);const a=zu(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],i)}digest(){const{buffer:e,outputLen:r}=this;this.digestInto(e);const n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:r,buffer:n,length:s,finished:i,destroyed:o,pos:a}=this;return e.destroyed=o,e.finished=i,e.length=s,e.pos=a,s%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}};const Dn=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),TE=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),zn=new Uint32Array(64);let _E=class extends kE{constructor(e=32){super(64,e,8,!1),this.A=Dn[0]|0,this.B=Dn[1]|0,this.C=Dn[2]|0,this.D=Dn[3]|0,this.E=Dn[4]|0,this.F=Dn[5]|0,this.G=Dn[6]|0,this.H=Dn[7]|0}get(){const{A:e,B:r,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[e,r,n,s,i,o,a,c]}set(e,r,n,s,i,o,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)zn[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){const p=zn[l-15],d=zn[l-2],m=Dr(p,7)^Dr(p,18)^p>>>3,g=Dr(d,17)^Dr(d,19)^d>>>10;zn[l]=g+zn[l-7]+m+zn[l-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){const p=Dr(a,6)^Dr(a,11)^Dr(a,25),d=f+p+SE(a,c,u)+TE[l]+zn[l]|0,g=(Dr(n,2)^Dr(n,13)^Dr(n,22))+xE(n,s,i)|0;f=u,u=c,c=a,a=o+d|0,o=i,i=s,s=n,n=d+g|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,s,i,o,a,c,u,f)}roundClean(){Cn(zn)}destroy(){this.set(0,0,0,0,0,0,0,0),Cn(this.buffer)}};const $b=ub(()=>new _E),IE=$b;function Eo(t,e){const r=e||"hex",n=IE(Nr(t,{strict:!1})?Zi(t):t);return r==="bytes"?n:Ft(n)}function PE(t){const{commitment:e,version:r=1}=t,n=t.to??(typeof e=="string"?"hex":"bytes"),s=Eo(e,"bytes");return s.set([r],0),n==="bytes"?s:tt(s)}function jb(t){const{commitments:e,version:r}=t,n=t.to??(typeof e[0]=="string"?"hex":"bytes"),s=[];for(const i of e)s.push(PE({commitment:i,to:n,version:r}));return s}const ep=6,Hb=32,bh=4096,Lb=Hb*bh,tp=Lb*ep-1-1*bh*ep,Db=1;class OE extends V{constructor({maxSize:e,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class zb extends V{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class BE extends V{constructor({hash:e,size:r}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class CE extends V{constructor({hash:e,version:r}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:[`Expected: ${Db}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}function RE(t){const e=t.to??(typeof t.data=="string"?"hex":"bytes"),r=typeof t.data=="string"?sn(t.data):t.data,n=Ge(r);if(!n)throw new zb;if(n>tp)throw new OE({maxSize:tp,size:n});const s=[];let i=!0,o=0;for(;i;){const a=oh(new Uint8Array(Lb));let c=0;for(;c<bh;){const u=r.slice(o,o+(Hb-1));if(a.pushByte(0),a.pushBytes(u),u.length<31){a.pushByte(128),i=!1;break}c++,o+=31}s.push(a)}return e==="bytes"?s.map(a=>a.bytes):s.map(a=>tt(a.bytes))}function Vb(t){const{data:e,kzg:r,to:n}=t,s=t.blobs??RE({data:e,to:n}),i=t.commitments??yh({blobs:s,kzg:r,to:n}),o=t.proofs??mh({blobs:s,commitments:i,kzg:r,to:n}),a=[];for(let c=0;c<s.length;c++)a.push({blob:s[c],commitment:i[c],proof:o[c]});return a}function Gb(t){if(t.type)return t.type;if(typeof t.authorizationList<"u")return"eip7702";if(typeof t.blobs<"u"||typeof t.blobVersionedHashes<"u"||typeof t.maxFeePerBlobGas<"u"||typeof t.sidecars<"u")return"eip4844";if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")return"eip1559";if(typeof t.gasPrice<"u")return typeof t.accessList<"u"?"eip2930":"legacy";throw new Jv({transaction:t})}function ru(t,{docsPath:e,...r}){const n=(()=>{const s=eu(t,r);return s instanceof ka?t:s})();return new Zv(n,{docsPath:e,...r})}async function Es(t){const e=await t.request({method:"eth_chainId"},{dedupe:!0});return gr(e)}async function gh(t,e){var N,B,j,M,H;const{account:r=t.account,accessList:n,authorizationList:s,chain:i=t.chain,blobVersionedHashes:o,blobs:a,data:c,gas:u,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:d,nonce:m,nonceManager:g,to:A,type:S,value:_,...E}=e,w=await(async()=>{if(!r||!g||typeof m<"u")return m;const z=He(r),Z=i?i.id:await re(t,Es,"getChainId")({});return await g.consume({address:z.address,chainId:Z,client:t})})();jn(e);const k=(B=(N=i==null?void 0:i.formatters)==null?void 0:N.transactionRequest)==null?void 0:B.format,P=(k||vs)({...eo(E,{format:k}),account:r?He(r):void 0,accessList:n,authorizationList:s,blobs:a,blobVersionedHashes:o,data:c,gas:u,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:d,nonce:w,to:A,type:S,value:_},"fillTransaction");try{const z=await t.request({method:"eth_fillTransaction",params:[P]}),U=(((M=(j=i==null?void 0:i.formatters)==null?void 0:j.transaction)==null?void 0:M.format)||Ta)(z.tx);delete U.blockHash,delete U.blockNumber,delete U.r,delete U.s,delete U.transactionIndex,delete U.v,delete U.yParity,U.data=U.input,U.gas&&(U.gas=e.gas??U.gas),U.gasPrice&&(U.gasPrice=e.gasPrice??U.gasPrice),U.maxFeePerBlobGas&&(U.maxFeePerBlobGas=e.maxFeePerBlobGas??U.maxFeePerBlobGas),U.maxFeePerGas&&(U.maxFeePerGas=e.maxFeePerGas??U.maxFeePerGas),U.maxPriorityFeePerGas&&(U.maxPriorityFeePerGas=e.maxPriorityFeePerGas??U.maxPriorityFeePerGas),U.nonce&&(U.nonce=e.nonce??U.nonce);const W=await(async()=>{var L,X;if(typeof((L=i==null?void 0:i.fees)==null?void 0:L.baseFeeMultiplier)=="function"){const C=await re(t,Ir,"getBlock")({});return i.fees.baseFeeMultiplier({block:C,client:t,request:e})}return((X=i==null?void 0:i.fees)==null?void 0:X.baseFeeMultiplier)??1.2})();if(W<1)throw new Nb;const G=10**(((H=W.toString().split(".")[1])==null?void 0:H.length)??0),O=L=>L*BigInt(Math.ceil(W*G))/BigInt(G);return U.maxFeePerGas&&!e.maxFeePerGas&&(U.maxFeePerGas=O(U.maxFeePerGas)),U.gasPrice&&!e.gasPrice&&(U.gasPrice=O(U.gasPrice)),{raw:z.raw,transaction:{from:P.from,...U}}}catch(z){throw ru(z,{...e,chain:t.chain})}}const wh=["blobVersionedHashes","chainId","fees","gas","nonce","type"],rp=new Map,qu=new Qi(128);async function _a(t,e){var w,k,T;let r=e;r.account??(r.account=t.account),r.parameters??(r.parameters=wh);const{account:n,chain:s=t.chain,nonceManager:i,parameters:o}=r,a=(()=>{if(typeof(s==null?void 0:s.prepareTransactionRequest)=="function")return{fn:s.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(s==null?void 0:s.prepareTransactionRequest))return{fn:s.prepareTransactionRequest[0],runAt:s.prepareTransactionRequest[1].runAt}})();let c;async function u(){return c||(typeof r.chainId<"u"?r.chainId:s?s.id:(c=await re(t,Es,"getChainId")({}),c))}const f=n&&He(n);let l=r.nonce;if(o.includes("nonce")&&typeof l>"u"&&f&&i){const P=await u();l=await i.consume({address:f.address,chainId:P,client:t})}a!=null&&a.fn&&((w=a.runAt)!=null&&w.includes("beforeFillTransaction"))&&(r=await a.fn({...r,chain:s},{phase:"beforeFillTransaction"}),l??(l=r.nonce));const d=((o.includes("blobVersionedHashes")||o.includes("sidecars"))&&r.kzg&&r.blobs||qu.get(t.uid)===!1||!["fees","gas"].some(N=>o.includes(N))?!1:!!(o.includes("chainId")&&typeof r.chainId!="number"||o.includes("nonce")&&typeof l!="number"||o.includes("fees")&&typeof r.gasPrice!="bigint"&&(typeof r.maxFeePerGas!="bigint"||typeof r.maxPriorityFeePerGas!="bigint")||o.includes("gas")&&typeof r.gas!="bigint"))?await re(t,gh,"fillTransaction")({...r,nonce:l}).then(P=>{const{chainId:N,from:B,gas:j,gasPrice:M,nonce:H,maxFeePerBlobGas:z,maxFeePerGas:Z,maxPriorityFeePerGas:U,type:W,...ee}=P.transaction;return qu.set(t.uid,!0),{...r,...B?{from:B}:{},...W?{type:W}:{},...typeof N<"u"?{chainId:N}:{},...typeof j<"u"?{gas:j}:{},...typeof M<"u"?{gasPrice:M}:{},...typeof H<"u"?{nonce:H}:{},...typeof z<"u"?{maxFeePerBlobGas:z}:{},...typeof Z<"u"?{maxFeePerGas:Z}:{},...typeof U<"u"?{maxPriorityFeePerGas:U}:{},..."nonceKey"in ee&&typeof ee.nonceKey<"u"?{nonceKey:ee.nonceKey}:{}}}).catch(P=>{var j;const N=P;return N.name!=="TransactionExecutionError"||((j=N.walk)==null?void 0:j.call(N,M=>{const H=M;return H.name==="MethodNotFoundRpcError"||H.name==="MethodNotSupportedRpcError"}))&&qu.set(t.uid,!1),r}):r;l??(l=d.nonce),r={...d,...f?{from:f==null?void 0:f.address}:{},...l?{nonce:l}:{}};const{blobs:m,gas:g,kzg:A,type:S}=r;a!=null&&a.fn&&((k=a.runAt)!=null&&k.includes("beforeFillParameters"))&&(r=await a.fn({...r,chain:s},{phase:"beforeFillParameters"}));let _;async function E(){return _||(_=await re(t,Ir,"getBlock")({blockTag:"latest"}),_)}if(o.includes("nonce")&&typeof l>"u"&&f&&!i&&(r.nonce=await re(t,ph,"getTransactionCount")({address:f.address,blockTag:"pending"})),(o.includes("blobVersionedHashes")||o.includes("sidecars"))&&m&&A){const P=yh({blobs:m,kzg:A});if(o.includes("blobVersionedHashes")){const N=jb({commitments:P,to:"hex"});r.blobVersionedHashes=N}if(o.includes("sidecars")){const N=mh({blobs:m,commitments:P,kzg:A}),B=Vb({blobs:m,commitments:P,proofs:N,to:"hex"});r.sidecars=B}}if(o.includes("chainId")&&(r.chainId=await u()),(o.includes("fees")||o.includes("type"))&&typeof S>"u")try{r.type=Gb(r)}catch{let P=rp.get(t.uid);if(typeof P>"u"){const N=await E();P=typeof(N==null?void 0:N.baseFeePerGas)=="bigint",rp.set(t.uid,P)}r.type=P?"eip1559":"legacy"}if(o.includes("fees"))if(r.type!=="legacy"&&r.type!=="eip2930"){if(typeof r.maxFeePerGas>"u"||typeof r.maxPriorityFeePerGas>"u"){const P=await E(),{maxFeePerGas:N,maxPriorityFeePerGas:B}=await id(t,{block:P,chain:s,request:r});if(typeof r.maxPriorityFeePerGas>"u"&&r.maxFeePerGas&&r.maxFeePerGas<B)throw new mE({maxPriorityFeePerGas:B});r.maxPriorityFeePerGas=B,r.maxFeePerGas=N}}else{if(typeof r.maxFeePerGas<"u"||typeof r.maxPriorityFeePerGas<"u")throw new lh;if(typeof r.gasPrice>"u"){const P=await E(),{gasPrice:N}=await id(t,{block:P,chain:s,request:r,type:"legacy"});r.gasPrice=N}}return o.includes("gas")&&typeof g>"u"&&(r.gas=await re(t,vh,"estimateGas")({...r,account:f,prepare:(f==null?void 0:f.type)==="local"?[]:["blobVersionedHashes"]})),a!=null&&a.fn&&((T=a.runAt)!=null&&T.includes("afterFillParameters"))&&(r=await a.fn({...r,chain:s},{phase:"afterFillParameters"})),jn(r),delete r.parameters,r}async function vh(t,e){var o,a,c;const{account:r=t.account,prepare:n=!0}=e,s=r?He(r):void 0,i=(()=>{if(Array.isArray(n))return n;if((s==null?void 0:s.type)!=="local")return["blobVersionedHashes"]})();try{const u=await(async()=>{if(e.to)return e.to;if(e.authorizationList&&e.authorizationList.length>0)return await Qc({authorization:e.authorizationList[0]}).catch(()=>{throw new V("`to` is required. Could not infer from `authorizationList`")})})(),{accessList:f,authorizationList:l,blobs:p,blobVersionedHashes:d,blockNumber:m,blockTag:g,data:A,gas:S,gasPrice:_,maxFeePerBlobGas:E,maxFeePerGas:w,maxPriorityFeePerGas:k,nonce:T,value:P,stateOverride:N,...B}=n?await _a(t,{...e,parameters:i,to:u}):e;if(S&&e.gas!==S)return S;const M=(typeof m=="bigint"?J(m):void 0)||g,H=fh(N);jn(e);const z=(c=(a=(o=t.chain)==null?void 0:o.formatters)==null?void 0:a.transactionRequest)==null?void 0:c.format,U=(z||vs)({...eo(B,{format:z}),account:s,accessList:f,authorizationList:l,blobs:p,blobVersionedHashes:d,data:A,gasPrice:_,maxFeePerBlobGas:E,maxFeePerGas:w,maxPriorityFeePerGas:k,nonce:T,to:u,value:P},"estimateGas");return BigInt(await t.request({method:"eth_estimateGas",params:H?[U,M??t.experimental_blockTag??"latest",H]:M?[U,M]:[U]}))}catch(u){throw dE(u,{...e,account:s,chain:t.chain})}}async function qb(t,e){const{abi:r,address:n,args:s,functionName:i,dataSuffix:o,...a}=e,c=or({abi:r,args:s,functionName:i});try{return await re(t,vh,"estimateGas")({data:`${c}${o?o.replace("0x",""):""}`,to:n,...a})}catch(u){const f=a.account?He(a.account):void 0;throw Ys(u,{abi:r,address:n,args:s,docsPath:"/docs/contract/estimateContractGas",functionName:i,sender:f==null?void 0:f.address})}}function to(t,e){if(!ct(t,{strict:!1}))throw new $t({address:t});if(!ct(e,{strict:!1}))throw new $t({address:e});return t.toLowerCase()===e.toLowerCase()}const np="/docs/contract/decodeEventLog";function Pc(t){const{abi:e,data:r,strict:n,topics:s}=t,i=n??!0,[o,...a]=s;if(!o)throw new x5({docsPath:np});const c=e.find(g=>g.type==="event"&&o===Yc(Rr(g)));if(!(c&&"name"in c)||c.type!=="event")throw new k5(o,{docsPath:np});const{name:u,inputs:f}=c,l=f==null?void 0:f.some(g=>!("name"in g&&g.name)),p=l?[]:{},d=f.map((g,A)=>[g,A]).filter(([g])=>"indexed"in g&&g.indexed);for(let g=0;g<d.length;g++){const[A,S]=d[g],_=a[g];if(!_)throw new Zd({abiItem:c,param:A});p[l?S:A.name||S]=NE({param:A,value:_})}const m=f.filter(g=>!("indexed"in g&&g.indexed));if(m.length>0){if(r&&r!=="0x")try{const g=Sa(m,r);if(g)if(l)for(let A=0;A<f.length;A++)p[A]=p[A]??g.shift();else for(let A=0;A<m.length;A++)p[m[A].name]=g[A]}catch(g){if(i)throw g instanceof Wm||g instanceof Ab?new Ic({abiItem:c,data:r,params:m,size:Ge(r)}):g}else if(i)throw new Ic({abiItem:c,data:"0x",params:m,size:0})}return{eventName:u,args:Object.values(p).length>0?p:void 0}}function NE({param:t,value:e}){return t.type==="string"||t.type==="bytes"||t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/)?e:(Sa([t],e)||[])[0]}function Eh(t){const{abi:e,args:r,logs:n,strict:s=!0}=t,i=(()=>{if(t.eventName)return Array.isArray(t.eventName)?t.eventName:[t.eventName]})();return n.map(o=>{var f;const a=e.filter(l=>l.type==="event"&&o.topics[0]===Yc(l));if(a.length===0)return null;let c,u;for(const l of a)try{c=Pc({...o,abi:[l],strict:!0}),u=l;break}catch{}if(!c&&!s){u=a[0];try{c=Pc({...o,abi:[u],strict:!1})}catch{const l=(f=u.inputs)==null?void 0:f.some(p=>!("name"in p&&p.name));return{...o,args:l?[]:{},eventName:u.name}}}return!c||!u||i&&!i.includes(c.eventName)||!UE({args:c.args,inputs:u.inputs,matchArgs:r})?null:{...c,...o}}).filter(Boolean)}function UE(t){const{args:e,inputs:r,matchArgs:n}=t;if(!n)return!0;if(!e)return!1;function s(i,o,a){try{return i.type==="address"?to(o,a):i.type==="string"||i.type==="bytes"?mt(Zi(o))===a:o===a}catch{return!1}}return Array.isArray(e)&&Array.isArray(n)?n.every((i,o)=>{if(i==null)return!0;const a=r[o];return a?(Array.isArray(i)?i:[i]).some(u=>s(a,u,e[o])):!1}):typeof e=="object"&&!Array.isArray(e)&&typeof n=="object"&&!Array.isArray(n)?Object.entries(n).every(([i,o])=>{if(o==null)return!0;const a=r.find(u=>u.name===i);return a?(Array.isArray(o)?o:[o]).some(u=>s(a,u,e[i])):!1}):!1}function Rn(t,{args:e,eventName:r}={}){return{...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,blockTimestamp:t.blockTimestamp?BigInt(t.blockTimestamp):t.blockTimestamp===null?null:void 0,logIndex:t.logIndex?Number(t.logIndex):null,transactionHash:t.transactionHash?t.transactionHash:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,...r?{args:e,eventName:r}:{}}}async function Ah(t,{address:e,blockHash:r,fromBlock:n,toBlock:s,event:i,events:o,args:a,strict:c}={}){const u=c??!1,f=o??(i?[i]:void 0);let l=[];f&&(l=[f.flatMap(g=>Aa({abi:[g],eventName:g.name,args:o?void 0:a}))],i&&(l=l[0]));let p;r?p=await t.request({method:"eth_getLogs",params:[{address:e,topics:l,blockHash:r}]}):p=await t.request({method:"eth_getLogs",params:[{address:e,topics:l,fromBlock:typeof n=="bigint"?J(n):n,toBlock:typeof s=="bigint"?J(s):s}]});const d=p.map(m=>Rn(m));return f?Eh({abi:f,args:a,logs:d,strict:u}):d}async function Sh(t,e){const{abi:r,address:n,args:s,blockHash:i,eventName:o,fromBlock:a,toBlock:c,strict:u}=e,f=o?ii({abi:r,name:o}):void 0,l=f?void 0:r.filter(p=>p.type==="event");return re(t,Ah,"getLogs")({address:n,args:s,blockHash:i,event:f,events:l,fromBlock:a,toBlock:c,strict:u})}const Wu="/docs/contract/decodeFunctionResult";function oi(t){const{abi:e,args:r,functionName:n,data:s}=t;let i=e[0];if(n){const a=ii({abi:e,args:r,name:n});if(!a)throw new $i(n,{docsPath:Wu});i=a}if(i.type!=="function")throw new $i(void 0,{docsPath:Wu});if(!i.outputs)throw new Ym(i.name,{docsPath:Wu});const o=Sa(i.outputs,s);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const xh=BigInt(0),od=BigInt(1);function Ia(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function kh(t){if(!Ia(t))throw new Error("Uint8Array expected")}function sa(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function qa(t){const e=t.toString(16);return e.length&1?"0"+e:e}function Wb(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?xh:BigInt("0x"+t)}const Kb=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",FE=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ia(t){if(kh(t),Kb)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=FE[t[r]];return e}const fn={_0:48,_9:57,A:65,F:70,a:97,f:102};function sp(t){if(t>=fn._0&&t<=fn._9)return t-fn._0;if(t>=fn.A&&t<=fn.F)return t-(fn.A-10);if(t>=fn.a&&t<=fn.f)return t-(fn.a-10)}function Oc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(Kb)return Uint8Array.fromHex(t);const e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(r);for(let s=0,i=0;s<r;s++,i+=2){const o=sp(t.charCodeAt(i)),a=sp(t.charCodeAt(i+1));if(o===void 0||a===void 0){const c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[s]=o*16+a}return n}function Hs(t){return Wb(ia(t))}function Yb(t){return kh(t),Wb(ia(Uint8Array.from(t).reverse()))}function Pa(t,e){return Oc(t.toString(16).padStart(e*2,"0"))}function Jb(t,e){return Pa(t,e).reverse()}function dr(t,e,r){let n;if(typeof e=="string")try{n=Oc(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(Ia(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const s=n.length;if(typeof r=="number"&&s!==r)throw new Error(t+" of length "+r+" expected, got "+s);return n}function Bc(...t){let e=0;for(let n=0;n<t.length;n++){const s=t[n];kh(s),e+=s.length}const r=new Uint8Array(e);for(let n=0,s=0;n<t.length;n++){const i=t[n];r.set(i,s),s+=i.length}return r}const Ku=t=>typeof t=="bigint"&&xh<=t;function Th(t,e,r){return Ku(t)&&Ku(e)&&Ku(r)&&e<=t&&t<r}function Oi(t,e,r,n){if(!Th(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function ME(t){let e;for(e=0;t>xh;t>>=od,e+=1);return e}const nu=t=>(od<<BigInt(t))-od,Yu=t=>new Uint8Array(t),ip=t=>Uint8Array.from(t);function $E(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Yu(t),s=Yu(t),i=0;const o=()=>{n.fill(1),s.fill(0),i=0},a=(...l)=>r(s,n,...l),c=(l=Yu(0))=>{s=a(ip([0]),l),n=a(),l.length!==0&&(s=a(ip([1]),l),n=a())},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let l=0;const p=[];for(;l<e;){n=a();const d=n.slice();p.push(d),l+=n.length}return Bc(...p)};return(l,p)=>{o(),c(l);let d;for(;!(d=p(u()));)c();return o(),d}}const jE={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Ia(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function su(t,e,r={}){const n=(s,i,o)=>{const a=jE[i];if(typeof a!="function")throw new Error("invalid validator function");const c=t[s];if(!(o&&c===void 0)&&!a(c,t))throw new Error("param "+String(s)+" is invalid. Expected "+i+", got "+c)};for(const[s,i]of Object.entries(e))n(s,i,!1);for(const[s,i]of Object.entries(r))n(s,i,!0);return t}function op(t){const e=new WeakMap;return(r,...n)=>{const s=e.get(r);if(s!==void 0)return s;const i=t(r,...n);return e.set(r,i),i}}const HE="0.1.1";function LE(){return HE}class fe extends Error{static setStaticOptions(e){fe.prototype.docsOrigin=e.docsOrigin,fe.prototype.showVersion=e.showVersion,fe.prototype.version=e.version}constructor(e,r={}){const n=(()=>{var f;if(r.cause instanceof fe){if(r.cause.details)return r.cause.details;if(r.cause.shortMessage)return r.cause.shortMessage}return r.cause&&"details"in r.cause&&typeof r.cause.details=="string"?r.cause.details:(f=r.cause)!=null&&f.message?r.cause.message:r.details})(),s=r.cause instanceof fe&&r.cause.docsPath||r.docsPath,i=r.docsOrigin??fe.prototype.docsOrigin,o=`${i}${s??""}`,a=!!(r.version??fe.prototype.showVersion),c=r.version??fe.prototype.version,u=[e||"An error occurred.",...r.metaMessages?["",...r.metaMessages]:[],...n||s||a?["",n?`Details: ${n}`:void 0,s?`See: ${o}`:void 0,a?`Version: ${c}`:void 0]:[]].filter(f=>typeof f=="string").join(`
|
|
39
|
+
`);super(u,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{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,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{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,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=r.cause,this.details=n,this.docs=o,this.docsOrigin=i,this.docsPath=s,this.shortMessage=e,this.showVersion=a,this.version=c}walk(e){return Xb(this,e)}}Object.defineProperty(fe,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${LE()}`}});fe.setStaticOptions(fe.defaultStaticOptions);function Xb(t,e){return e!=null&&e(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause?Xb(t.cause,e):e?null:t}function Oa(t,e){if(ki(t)>e)throw new sA({givenSize:ki(t),maxSize:e})}const ln={zero:48,nine:57,A:65,F:70,a:97,f:102};function ap(t){if(t>=ln.zero&&t<=ln.nine)return t-ln.zero;if(t>=ln.A&&t<=ln.F)return t-(ln.A-10);if(t>=ln.a&&t<=ln.f)return t-(ln.a-10)}function DE(t,e={}){const{dir:r,size:n=32}=e;if(n===0)return t;if(t.length>n)throw new iA({size:t.length,targetSize:n,type:"Bytes"});const s=new Uint8Array(n);for(let i=0;i<n;i++){const o=r==="right";s[o?i:n-i-1]=t[o?i:t.length-i-1]}return s}function Zb(t,e={}){const{dir:r="left"}=e;let n=t,s=0;for(let i=0;i<n.length-1&&n[r==="left"?i:n.length-i-1].toString()==="0";i++)s++;return n=r==="left"?n.slice(s):n.slice(0,n.length-s),n}function iu(t,e){if(sr(t)>e)throw new lA({givenSize:sr(t),maxSize:e})}function zE(t,e){if(typeof e=="number"&&e>0&&e>sr(t)-1)throw new ag({offset:e,position:"start",size:sr(t)})}function VE(t,e,r){if(typeof e=="number"&&typeof r=="number"&&sr(t)!==r-e)throw new ag({offset:r,position:"end",size:sr(t)})}function Qb(t,e={}){const{dir:r,size:n=32}=e;if(n===0)return t;const s=t.replace("0x","");if(s.length>n*2)throw new dA({size:Math.ceil(s.length/2),targetSize:n,type:"Hex"});return`0x${s[r==="right"?"padEnd":"padStart"](n*2,"0")}`}const GE="#__bigint";function eg(t,e,r){return JSON.stringify(t,(n,s)=>typeof s=="bigint"?s.toString()+GE:s,r)}const qE=new TextDecoder,WE=new TextEncoder;function KE(t){return t instanceof Uint8Array?t:typeof t=="string"?tg(t):YE(t)}function YE(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function tg(t,e={}){const{size:r}=e;let n=t;r&&(iu(t,r),n=Zs(t,r));let s=n.slice(2);s.length%2&&(s=`0${s}`);const i=s.length/2,o=new Uint8Array(i);for(let a=0,c=0;a<i;a++){const u=ap(s.charCodeAt(c++)),f=ap(s.charCodeAt(c++));if(u===void 0||f===void 0)throw new fe(`Invalid byte sequence ("${s[c-2]}${s[c-1]}" in "${s}").`);o[a]=u<<4|f}return o}function JE(t,e={}){const{size:r}=e,n=WE.encode(t);return typeof r=="number"?(Oa(n,r),XE(n,r)):n}function XE(t,e){return DE(t,{dir:"right",size:e})}function ki(t){return t.length}function ZE(t,e,r,n={}){const{strict:s}=n;return t.slice(e,r)}function QE(t,e={}){const{size:r}=e;typeof r<"u"&&Oa(t,r);const n=Fr(t,e);return sg(n,e)}function eA(t,e={}){const{size:r}=e;let n=t;if(typeof r<"u"&&(Oa(n,r),n=rg(n)),n.length>1||n[0]>1)throw new nA(n);return!!n[0]}function Pn(t,e={}){const{size:r}=e;typeof r<"u"&&Oa(t,r);const n=Fr(t,e);return ig(n,e)}function tA(t,e={}){const{size:r}=e;let n=t;return typeof r<"u"&&(Oa(n,r),n=rA(n)),qE.decode(n)}function rg(t){return Zb(t,{dir:"left"})}function rA(t){return Zb(t,{dir:"right"})}class nA extends fe{constructor(e){super(`Bytes value \`${e}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}}let sA=class extends fe{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},iA=class extends fe{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}};const oA=new TextEncoder,aA=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function cA(t,e={}){const{strict:r=!1}=e;if(!t)throw new cp(t);if(typeof t!="string")throw new cp(t);if(r&&!/^0x[0-9a-fA-F]*$/.test(t))throw new up(t);if(!t.startsWith("0x"))throw new up(t)}function Ur(...t){return`0x${t.reduce((e,r)=>e+r.replace("0x",""),"")}`}function uA(t){return t instanceof Uint8Array?Fr(t):Array.isArray(t)?Fr(new Uint8Array(t)):t}function ng(t,e={}){const r=`0x${Number(t)}`;return typeof e.size=="number"?(iu(r,e.size),Xs(r,e.size)):r}function Fr(t,e={}){let r="";for(let s=0;s<t.length;s++)r+=aA[t[s]];const n=`0x${r}`;return typeof e.size=="number"?(iu(n,e.size),Zs(n,e.size)):n}function Nt(t,e={}){const{signed:r,size:n}=e,s=BigInt(t);let i;n?r?i=(1n<<BigInt(n)*8n-1n)-1n:i=2n**(BigInt(n)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof i=="bigint"&&r?-i-1n:0;if(i&&s>i||s<o){const u=typeof t=="bigint"?"n":"";throw new og({max:i?`${i}${u}`:void 0,min:`${o}${u}`,signed:r,size:n,value:`${t}${u}`})}const c=`0x${(r&&s<0?BigInt.asUintN(n*8,BigInt(s)):s).toString(16)}`;return n?Xs(c,n):c}function _h(t,e={}){return Fr(oA.encode(t),e)}function Xs(t,e){return Qb(t,{dir:"left",size:e})}function Zs(t,e){return Qb(t,{dir:"right",size:e})}function rn(t,e,r,n={}){const{strict:s}=n;zE(t,e);const i=`0x${t.replace("0x","").slice((e??0)*2,(r??t.length)*2)}`;return s&&VE(i,e,r),i}function sr(t){return Math.ceil((t.length-2)/2)}function sg(t,e={}){const{signed:r}=e;e.size&&iu(t,e.size);const n=BigInt(t);if(!r)return n;const s=(t.length-2)/2,i=(1n<<BigInt(s)*8n)-1n,o=i>>1n;return n<=o?n:n-i-1n}function ig(t,e={}){const{signed:r,size:n}=e;return Number(!r&&!n?t:sg(t,e))}function fA(t,e={}){const{strict:r=!1}=e;try{return cA(t,{strict:r}),!0}catch{return!1}}class og extends fe{constructor({max:e,min:r,signed:n,size:s,value:i}){super(`Number \`${i}\` is not in safe${s?` ${s*8}-bit`:""}${n?" signed":" unsigned"} integer range ${e?`(\`${r}\` to \`${e}\`)`:`(above \`${r}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class cp extends fe{constructor(e){super(`Value \`${typeof e=="object"?eg(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class up extends fe{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}class lA extends fe{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}}class ag extends fe{constructor({offset:e,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class dA extends fe{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}function hA(t){return{address:t.address,amount:Nt(t.amount),index:Nt(t.index),validatorIndex:Nt(t.validatorIndex)}}function cg(t){return{...typeof t.baseFeePerGas=="bigint"&&{baseFeePerGas:Nt(t.baseFeePerGas)},...typeof t.blobBaseFee=="bigint"&&{blobBaseFee:Nt(t.blobBaseFee)},...typeof t.feeRecipient=="string"&&{feeRecipient:t.feeRecipient},...typeof t.gasLimit=="bigint"&&{gasLimit:Nt(t.gasLimit)},...typeof t.number=="bigint"&&{number:Nt(t.number)},...typeof t.prevRandao=="bigint"&&{prevRandao:Nt(t.prevRandao)},...typeof t.time=="bigint"&&{time:Nt(t.time)},...t.withdrawals&&{withdrawals:t.withdrawals.map(hA)}}}const Cc=[{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"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],ad=[{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"}]}],ug=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],fg=[...ug,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],pA=[...ug,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],fp=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],lp=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],lg=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],dp=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}],yA="0x82ad56cb",dg="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",mA="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",bA="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",Ih="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033";class cd extends V{constructor({blockNumber:e,chain:r,contract:n}){super(`Chain "${r.name}" does not support contract "${n.name}".`,{metaMessages:["This could be due to any of the following:",...e&&n.blockCreated&&n.blockCreated>e?[`- The contract "${n.name}" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract "${n.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}class gA extends V{constructor({chain:e,currentChainId:r}){super(`The current chain of the wallet (id: ${r}) does not match the target chain for the transaction (id: ${e.id} – ${e.name}).`,{metaMessages:[`Current Chain ID: ${r}`,`Expected Chain ID: ${e.id} – ${e.name}`],name:"ChainMismatchError"})}}class wA extends V{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 hg extends V{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}class ou extends V{constructor({chainId:e}){super(typeof e=="number"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}const Ju="/docs/contract/encodeDeployData";function au(t){const{abi:e,args:r,bytecode:n}=t;if(!r||r.length===0)return n;const s=e.find(o=>"type"in o&&o.type==="constructor");if(!s)throw new w5({docsPath:Ju});if(!("inputs"in s))throw new M0({docsPath:Ju});if(!s.inputs||s.inputs.length===0)throw new M0({docsPath:Ju});const i=ws(s.inputs,r);return $r([n,i])}function ro({blockNumber:t,chain:e,contract:r}){var s;const n=(s=e==null?void 0:e.contracts)==null?void 0:s[r];if(!n)throw new cd({chain:e,contract:{name:r}});if(t&&n.blockCreated&&n.blockCreated>t)throw new cd({blockNumber:t,chain:e,contract:{name:r,blockCreated:n.blockCreated}});return n.address}function pg(t,{docsPath:e,...r}){const n=(()=>{const s=eu(t,r);return s instanceof ka?t:s})();return new Pb(n,{docsPath:e,...r})}function Ph(){let t=()=>{},e=()=>{};return{promise:new Promise((n,s)=>{t=n,e=s}),resolve:t,reject:e}}const Xu=new Map;function yg({fn:t,id:e,shouldSplitBatch:r,wait:n=0,sort:s}){const i=async()=>{const f=c();o();const l=f.map(({args:p})=>p);l.length!==0&&t(l).then(p=>{s&&Array.isArray(p)&&p.sort(s);for(let d=0;d<f.length;d++){const{resolve:m}=f[d];m==null||m([p[d],p])}}).catch(p=>{for(let d=0;d<f.length;d++){const{reject:m}=f[d];m==null||m(p)}})},o=()=>Xu.delete(e),a=()=>c().map(({args:f})=>f),c=()=>Xu.get(e)||[],u=f=>Xu.set(e,[...c(),f]);return{flush:o,async schedule(f){const{promise:l,resolve:p,reject:d}=Ph();return(r==null?void 0:r([...a(),f]))&&i(),c().length>0?(u({args:f,resolve:p,reject:d}),l):(u({args:f,resolve:p,reject:d}),setTimeout(i,n),l)}}}async function Ba(t,e){var z,Z,U,W;const{account:r=t.account,authorizationList:n,batch:s=!!((z=t.batch)!=null&&z.multicall),blockNumber:i,blockTag:o=t.experimental_blockTag??"latest",accessList:a,blobs:c,blockOverrides:u,code:f,data:l,factory:p,factoryData:d,gas:m,gasPrice:g,maxFeePerBlobGas:A,maxFeePerGas:S,maxPriorityFeePerGas:_,nonce:E,to:w,value:k,stateOverride:T,...P}=e,N=r?He(r):void 0;if(f&&(p||d))throw new V("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(f&&w)throw new V("Cannot provide both `code` & `to` as parameters.");const B=f&&l,j=p&&d&&w&&l,M=B||j,H=B?mg({code:f,data:l}):j?AA({data:l,factory:p,factoryData:d,to:w}):l;try{jn(e);const G=(typeof i=="bigint"?J(i):void 0)||o,O=u?cg(u):void 0,L=fh(T),X=(W=(U=(Z=t.chain)==null?void 0:Z.formatters)==null?void 0:U.transactionRequest)==null?void 0:W.format,F=(X||vs)({...eo(P,{format:X}),accessList:a,account:N,authorizationList:n,blobs:c,data:H,gas:m,gasPrice:g,maxFeePerBlobGas:A,maxFeePerGas:S,maxPriorityFeePerGas:_,nonce:E,to:M?void 0:w,value:k},"call");if(s&&vA({request:F})&&!L&&!O)try{return await EA(t,{...F,blockNumber:i,blockTag:o})}catch(oe){if(!(oe instanceof hg)&&!(oe instanceof cd))throw oe}const D=(()=>{const oe=[F,G];return L&&O?[...oe,L,O]:L?[...oe,L]:O?[...oe,{},O]:oe})(),ne=await t.request({method:"eth_call",params:D});return ne==="0x"?{data:void 0}:{data:ne}}catch(ee){const G=SA(ee),{offchainLookup:O,offchainLookupSignature:L}=await Promise.resolve().then(()=>require("./ccip-CSNgtKAY.cjs"));if(t.ccipRead!==!1&&(G==null?void 0:G.slice(0,10))===L&&w)return{data:await O(t,{data:G,to:w})};throw M&&(G==null?void 0:G.slice(0,10))==="0x101bb98d"?new rE({factory:p}):pg(ee,{...e,account:N,chain:t.chain})}}function vA({request:t}){const{data:e,to:r,...n}=t;return!(!e||e.startsWith(yA)||!r||Object.values(n).filter(s=>typeof s<"u").length>0)}async function EA(t,e){var g;const{batchSize:r=1024,deployless:n=!1,wait:s=0}=typeof((g=t.batch)==null?void 0:g.multicall)=="object"?t.batch.multicall:{},{blockNumber:i,blockTag:o=t.experimental_blockTag??"latest",data:a,to:c}=e,u=(()=>{if(n)return null;if(e.multicallAddress)return e.multicallAddress;if(t.chain)return ro({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new hg})(),l=(typeof i=="bigint"?J(i):void 0)||o,{schedule:p}=yg({id:`${t.uid}.${l}`,wait:s,shouldSplitBatch(A){return A.reduce((_,{data:E})=>_+(E.length-2),0)>r*2},fn:async A=>{const S=A.map(w=>({allowFailure:!0,callData:w.data,target:w.to})),_=or({abi:Cc,args:[S],functionName:"aggregate3"}),E=await t.request({method:"eth_call",params:[{...u===null?{data:mg({code:Ih,data:_})}:{to:u,data:_}},l]});return oi({abi:Cc,args:[S],functionName:"aggregate3",data:E||"0x"})}}),[{returnData:d,success:m}]=await p({data:a,to:c});if(!m)throw new Zc({data:d});return d==="0x"?{data:void 0}:{data:d}}function mg(t){const{code:e,data:r}=t;return au({abi:Vm(["constructor(bytes, bytes)"]),bytecode:dg,args:[e,r]})}function AA(t){const{data:e,factory:r,factoryData:n,to:s}=t;return au({abi:Vm(["constructor(address, bytes, address, bytes)"]),bytecode:mA,args:[s,e,r,n]})}function SA(t){var r;if(!(t instanceof V))return;const e=t.walk();return typeof(e==null?void 0:e.data)=="object"?(r=e.data)==null?void 0:r.data:e.data}async function wr(t,e){const{abi:r,address:n,args:s,functionName:i,...o}=e,a=or({abi:r,args:s,functionName:i});try{const{data:c}=await re(t,Ba,"call")({...o,data:a,to:n});return oi({abi:r,args:s,functionName:i,data:c||"0x"})}catch(c){throw Ys(c,{abi:r,address:n,args:s,docsPath:"/docs/contract/readContract",functionName:i})}}async function bg(t,e){const{abi:r,address:n,args:s,dataSuffix:i,functionName:o,...a}=e,c=a.account?He(a.account):t.account,u=or({abi:r,args:s,functionName:o});try{const{data:f}=await re(t,Ba,"call")({batch:!1,data:`${u}${i?i.replace("0x",""):""}`,to:n,...a,account:c}),l=oi({abi:r,args:s,functionName:o,data:f||"0x"}),p=r.filter(d=>"name"in d&&d.name===e.functionName);return{result:l,request:{abi:p,address:n,args:s,dataSuffix:i,functionName:o,...a,account:c}}}catch(f){throw Ys(f,{abi:r,address:n,args:s,docsPath:"/docs/contract/simulateContract",functionName:o,sender:c==null?void 0:c.address})}}const Zu=new Map,hp=new Map;let xA=0;function Nn(t,e,r){const n=++xA,s=()=>Zu.get(t)||[],i=()=>{const f=s();Zu.set(t,f.filter(l=>l.id!==n))},o=()=>{const f=s();if(!f.some(p=>p.id===n))return;const l=hp.get(t);if(f.length===1&&l){const p=l();p instanceof Promise&&p.catch(()=>{})}i()},a=s();if(Zu.set(t,[...a,{id:n,fns:e}]),a&&a.length>0)return o;const c={};for(const f in e)c[f]=(...l)=>{var d,m;const p=s();if(p.length!==0)for(const g of p)(m=(d=g.fns)[f])==null||m.call(d,...l)};const u=r(c);return typeof u=="function"&&hp.set(t,u),o}async function ud(t){return new Promise(e=>setTimeout(e,t))}function no(t,{emitOnBegin:e,initialWaitTime:r,interval:n}){let s=!0;const i=()=>s=!1;return(async()=>{let a;e&&(a=await t({unpoll:i}));const c=await(r==null?void 0:r(a))??n;await ud(c);const u=async()=>{s&&(await t({unpoll:i}),await ud(n),u())};u()})(),i}const kA=new Map,TA=new Map;function _A(t){const e=(s,i)=>({clear:()=>i.delete(s),get:()=>i.get(s),set:o=>i.set(s,o)}),r=e(t,kA),n=e(t,TA);return{clear:()=>{r.clear(),n.clear()},promise:r,response:n}}async function IA(t,{cacheKey:e,cacheTime:r=Number.POSITIVE_INFINITY}){const n=_A(e),s=n.response.get();if(s&&r>0&&Date.now()-s.created.getTime()<r)return s.data;let i=n.promise.get();i||(i=t(),n.promise.set(i));try{const o=await i;return n.response.set({created:new Date,data:o}),o}finally{n.promise.clear()}}const PA=t=>`blockNumber.${t}`;async function Ca(t,{cacheTime:e=t.cacheTime}={}){const r=await IA(()=>t.request({method:"eth_blockNumber"}),{cacheKey:PA(t.uid),cacheTime:e});return BigInt(r)}async function cu(t,{filter:e}){const r="strict"in e&&e.strict,n=await e.request({method:"eth_getFilterChanges",params:[e.id]});if(typeof n[0]=="string")return n;const s=n.map(i=>Rn(i));return!("abi"in e)||!e.abi?s:Eh({abi:e.abi,logs:s,strict:r})}async function uu(t,{filter:e}){return e.request({method:"eth_uninstallFilter",params:[e.id]})}function gg(t,e){const{abi:r,address:n,args:s,batch:i=!0,eventName:o,fromBlock:a,onError:c,onLogs:u,poll:f,pollingInterval:l=t.pollingInterval,strict:p}=e;return(typeof f<"u"?f:typeof a=="bigint"?!0:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")))?(()=>{const A=p??!1,S=et(["watchContractEvent",n,s,i,t.uid,o,l,A,a]);return Nn(S,{onLogs:u,onError:c},_=>{let E;a!==void 0&&(E=a-1n);let w,k=!1;const T=no(async()=>{var P;if(!k){try{w=await re(t,ih,"createContractEventFilter")({abi:r,address:n,args:s,eventName:o,strict:A,fromBlock:a})}catch{}k=!0;return}try{let N;if(w)N=await re(t,cu,"getFilterChanges")({filter:w});else{const B=await re(t,Ca,"getBlockNumber")({});E&&E<B?N=await re(t,Sh,"getContractEvents")({abi:r,address:n,args:s,eventName:o,fromBlock:E+1n,toBlock:B,strict:A}):N=[],E=B}if(N.length===0)return;if(i)_.onLogs(N);else for(const B of N)_.onLogs([B])}catch(N){w&&N instanceof ys&&(k=!1),(P=_.onError)==null||P.call(_,N)}},{emitOnBegin:!0,interval:l});return async()=>{w&&await re(t,uu,"uninstallFilter")({filter:w}),T()}})})():(()=>{const A=p??!1,S=et(["watchContractEvent",n,s,i,t.uid,o,l,A]);let _=!0,E=()=>_=!1;return Nn(S,{onLogs:u,onError:c},w=>((async()=>{try{const k=(()=>{if(t.transport.type==="fallback"){const N=t.transport.transports.find(B=>B.config.type==="webSocket"||B.config.type==="ipc");return N?N.value:t.transport}return t.transport})(),T=o?Aa({abi:r,eventName:o,args:s}):[],{unsubscribe:P}=await k.subscribe({params:["logs",{address:n,topics:T}],onData(N){var j;if(!_)return;const B=N.result;try{const{eventName:M,args:H}=Pc({abi:r,data:B.data,topics:B.topics,strict:p}),z=Rn(B,{args:H,eventName:M});w.onLogs([z])}catch(M){let H,z;if(M instanceof Ic||M instanceof Zd){if(p)return;H=M.abiItem.name,z=(j=M.abiItem.inputs)==null?void 0:j.some(U=>!("name"in U&&U.name))}const Z=Rn(B,{args:z?[]:{},eventName:H});w.onLogs([Z])}},onError(N){var B;(B=w.onError)==null||B.call(w,N)}});E=P,_||E()}catch(k){c==null||c(k)}})(),()=>E()))})()}class As extends V{constructor({docsPath:e}={}){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:e,docsSlug:"account",name:"AccountNotFoundError"})}}class Ls extends V{constructor({docsPath:e,metaMessages:r,type:n}){super(`Account type "${n}" is not supported.`,{docsPath:e,metaMessages:r,name:"AccountTypeNotSupportedError"})}}function Oh({chain:t,currentChainId:e}){if(!t)throw new wA;if(e!==t.id)throw new gA({chain:t,currentChainId:e})}async function Bh(t,{serializedTransaction:e}){return t.request({method:"eth_sendRawTransaction",params:[e]},{retryCount:0})}const Qu=new Qi(128);async function fu(t,e){var _,E,w,k;const{account:r=t.account,chain:n=t.chain,accessList:s,authorizationList:i,blobs:o,data:a,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:d,type:m,value:g,...A}=e;if(typeof r>"u")throw new As({docsPath:"/docs/actions/wallet/sendTransaction"});const S=r?He(r):null;try{jn(e);const T=await(async()=>{if(e.to)return e.to;if(e.to!==null&&i&&i.length>0)return await Qc({authorization:i[0]}).catch(()=>{throw new V("`to` is required. Could not infer from `authorizationList`.")})})();if((S==null?void 0:S.type)==="json-rpc"||S===null){let P;n!==null&&(P=await re(t,Es,"getChainId")({}),Oh({currentChainId:P,chain:n}));const N=(w=(E=(_=t.chain)==null?void 0:_.formatters)==null?void 0:E.transactionRequest)==null?void 0:w.format,j=(N||vs)({...eo(A,{format:N}),accessList:s,account:S,authorizationList:i,blobs:o,chainId:P,data:a,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:d,to:T,type:m,value:g},"sendTransaction"),M=Qu.get(t.uid),H=M?"wallet_sendTransaction":"eth_sendTransaction";try{return await t.request({method:H,params:[j]},{retryCount:0})}catch(z){if(M===!1)throw z;const Z=z;if(Z.name==="InvalidInputRpcError"||Z.name==="InvalidParamsRpcError"||Z.name==="MethodNotFoundRpcError"||Z.name==="MethodNotSupportedRpcError")return await t.request({method:"wallet_sendTransaction",params:[j]},{retryCount:0}).then(U=>(Qu.set(t.uid,!0),U)).catch(U=>{const W=U;throw W.name==="MethodNotFoundRpcError"||W.name==="MethodNotSupportedRpcError"?(Qu.set(t.uid,!1),Z):W});throw Z}}if((S==null?void 0:S.type)==="local"){const P=await re(t,_a,"prepareTransactionRequest")({account:S,accessList:s,authorizationList:i,blobs:o,chain:n,data:a,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:d,nonceManager:S.nonceManager,parameters:[...wh,"sidecars"],type:m,value:g,...A,to:T}),N=(k=n==null?void 0:n.serializers)==null?void 0:k.transaction,B=await S.signTransaction(P,{serializer:N});return await re(t,Bh,"sendRawTransaction")({serializedTransaction:B})}throw(S==null?void 0:S.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:S==null?void 0:S.type})}catch(T){throw T instanceof Ls?T:ru(T,{...e,account:S,chain:e.chain||void 0})}}async function zi(t,e){return zi.internal(t,fu,"sendTransaction",e)}(function(t){async function e(r,n,s,i){const{abi:o,account:a=r.account,address:c,args:u,dataSuffix:f,functionName:l,...p}=i;if(typeof a>"u")throw new As({docsPath:"/docs/contract/writeContract"});const d=a?He(a):null,m=or({abi:o,args:u,functionName:l});try{return await re(r,n,s)({data:`${m}${f?f.replace("0x",""):""}`,to:c,account:d,...p})}catch(g){throw Ys(g,{abi:o,address:c,args:u,docsPath:"/docs/contract/writeContract",functionName:l,sender:d==null?void 0:d.address})}}t.internal=e})(zi||(zi={}));function Ch({abi:t,address:e,client:r}){const n=r,[s,i]=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=s!=null,a=i!=null,c={};let u=!1,f=!1,l=!1;for(const p of t)if(p.type==="function"?p.stateMutability==="view"||p.stateMutability==="pure"?u=!0:f=!0:p.type==="event"&&(l=!0),u&&f&&l)break;return o&&(u&&(c.read=new Proxy({},{get(p,d){return(...m)=>{const{args:g,options:A}=Wa(m);return re(s,wr,"readContract")({abi:t,address:e,functionName:d,args:g,...A})}}})),f&&(c.simulate=new Proxy({},{get(p,d){return(...m)=>{const{args:g,options:A}=Wa(m);return re(s,bg,"simulateContract")({abi:t,address:e,functionName:d,args:g,...A})}}})),l&&(c.createEventFilter=new Proxy({},{get(p,d){return(...m)=>{const g=t.find(_=>_.type==="event"&&_.name===d),{args:A,options:S}=ef(m,g);return re(s,ih,"createContractEventFilter")({abi:t,address:e,eventName:d,args:A,...S})}}}),c.getEvents=new Proxy({},{get(p,d){return(...m)=>{const g=t.find(_=>_.type==="event"&&_.name===d),{args:A,options:S}=ef(m,g);return re(s,Sh,"getContractEvents")({abi:t,address:e,eventName:d,args:A,...S})}}}),c.watchEvent=new Proxy({},{get(p,d){return(...m)=>{const g=t.find(_=>_.type==="event"&&_.name===d),{args:A,options:S}=ef(m,g);return re(s,gg,"watchContractEvent")({abi:t,address:e,eventName:d,args:A,...S})}}}))),a&&f&&(c.write=new Proxy({},{get(p,d){return(...m)=>{const{args:g,options:A}=Wa(m);return re(i,zi,"writeContract")({abi:t,address:e,functionName:d,args:g,...A})}}})),(o||a)&&f&&(c.estimateGas=new Proxy({},{get(p,d){return(...m)=>{const{args:g,options:A}=Wa(m);return re(s??i,qb,"estimateContractGas")({abi:t,address:e,functionName:d,args:g,...A,account:A.account??i.account})}}})),c.address=e,c.abi=t,c}function Wa(t){const e=t.length&&Array.isArray(t[0]),r=e?t[0]:[],n=(e?t[1]:t[0])??{};return{args:r,options:n}}function ef(t,e){let r=!1;Array.isArray(t[0])?r=!0:t.length===1?r=e.inputs.some(i=>i.indexed):t.length===2&&(r=!0);const n=r?t[0]:void 0,s=(r?t[1]:t[0])??{};return{args:n,options:s}}class OA extends V{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}}function Rc(t,{delay:e=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((s,i)=>{const o=async({count:a=0}={})=>{const c=async({error:u})=>{const f=typeof e=="function"?e({count:a,error:u}):e;f&&await ud(f),o({count:a+1})};try{const u=await t();s(u)}catch(u){if(a<r&&await n({count:a,error:u}))return c({error:u});i(u)}};o()})}const wg={"0x0":"reverted","0x1":"success"};function Rh(t,e){const r={...t,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,contractAddress:t.contractAddress?t.contractAddress:null,cumulativeGasUsed:t.cumulativeGasUsed?BigInt(t.cumulativeGasUsed):null,effectiveGasPrice:t.effectiveGasPrice?BigInt(t.effectiveGasPrice):null,gasUsed:t.gasUsed?BigInt(t.gasUsed):null,logs:t.logs?t.logs.map(n=>Rn(n)):null,to:t.to?t.to:null,transactionIndex:t.transactionIndex?gr(t.transactionIndex):null,status:t.status?wg[t.status]:null,type:t.type?Fb[t.type]||t.type:null};return t.blobGasPrice&&(r.blobGasPrice=BigInt(t.blobGasPrice)),t.blobGasUsed&&(r.blobGasUsed=BigInt(t.blobGasUsed)),r}const BA=uh("transactionReceipt",Rh),vg="0x5792579257925792579257925792579257925792579257925792579257925792",Eg=J(0,{size:32});async function Ag(t,e){const{account:r=t.account,capabilities:n,chain:s=t.chain,experimental_fallback:i,experimental_fallbackDelay:o=32,forceAtomic:a=!1,id:c,version:u="2.0.0"}=e,f=r?He(r):null,l=e.calls.map(p=>{const d=p,m=d.abi?or({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&m?nr([m,d.dataSuffix]):m,to:d.to,value:d.value?J(d.value):void 0}});try{const p=await t.request({method:"wallet_sendCalls",params:[{atomicRequired:a,calls:l,capabilities:n,chainId:J(s.id),from:f==null?void 0:f.address,id:c,version:u}]},{retryCount:0});return typeof p=="string"?{id:p}:p}catch(p){const d=p;if(i&&(d.name==="MethodNotFoundRpcError"||d.name==="MethodNotSupportedRpcError"||d.name==="UnknownRpcError"||d.details.toLowerCase().includes("does not exist / is not available")||d.details.toLowerCase().includes("missing or invalid. request()")||d.details.toLowerCase().includes("did not match any variant of untagged enum")||d.details.toLowerCase().includes("account upgraded to unsupported contract")||d.details.toLowerCase().includes("eip-7702 not supported")||d.details.toLowerCase().includes("unsupported wc_ method")||d.details.toLowerCase().includes("feature toggled misconfigured")||d.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(n&&Object.values(n).some(_=>!_.optional)){const _="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Li(new V(_,{details:_}))}if(a&&l.length>1){const S="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new Di(new V(S,{details:S}))}const m=[];for(const S of l){const _=fu(t,{account:f,chain:s,data:S.data,to:S.to,value:S.value?ft(S.value):void 0});m.push(_),o>0&&await new Promise(E=>setTimeout(E,o))}const g=await Promise.allSettled(m);if(g.every(S=>S.status==="rejected"))throw g[0].reason;const A=g.map(S=>S.status==="fulfilled"?S.value:Eg);return{id:nr([...A,J(s.id,{size:32}),vg])}}throw ru(p,{...e,account:f,chain:e.chain})}}async function Sg(t,e){async function r(f){if(f.endsWith(vg.slice(2))){const p=br(Wl(f,-64,-32)),d=Wl(f,0,-64).slice(2).match(/.{1,64}/g),m=await Promise.all(d.map(A=>Eg.slice(2)!==A?t.request({method:"eth_getTransactionReceipt",params:[`0x${A}`]},{dedupe:!0}):void 0)),g=m.some(A=>A===null)?100:m.every(A=>(A==null?void 0:A.status)==="0x1")?200:m.every(A=>(A==null?void 0:A.status)==="0x0")?500:600;return{atomic:!1,chainId:gr(p),receipts:m.filter(Boolean),status:g,version:"2.0.0"}}return t.request({method:"wallet_getCallsStatus",params:[f]})}const{atomic:n=!1,chainId:s,receipts:i,version:o="2.0.0",...a}=await r(e.id),[c,u]=(()=>{const f=a.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{...a,atomic:n,chainId:s?gr(s):void 0,receipts:(i==null?void 0:i.map(f=>({...f,blockNumber:ft(f.blockNumber),gasUsed:ft(f.gasUsed),status:wg[f.status]})))??[],statusCode:u,status:c,version:o}}async function xg(t,e){const{id:r,pollingInterval:n=t.pollingInterval,status:s=({statusCode:g})=>g===200||g>=300,retryCount:i=4,retryDelay:o=({count:g})=>~~(1<<g)*200,timeout:a=6e4,throwOnFailure:c=!1}=e,u=et(["waitForCallsStatus",t.uid,r]),{promise:f,resolve:l,reject:p}=Ph();let d;const m=Nn(u,{resolve:l,reject:p},g=>{const A=no(async()=>{const S=_=>{clearTimeout(d),A(),_(),m()};try{const _=await Rc(async()=>{const E=await re(t,Sg,"getCallsStatus")({id:r});if(c&&E.status==="failure")throw new OA(E);return E},{retryCount:i,delay:o});if(!s(_))return;S(()=>g.resolve(_))}catch(_){S(()=>g.reject(_))}},{interval:n,emitOnBegin:!0});return A});return d=a?setTimeout(()=>{m(),clearTimeout(d),p(new CA({id:r}))},a):void 0,await f}class CA extends V{constructor({id:e}){super(`Timed out while waiting for call bundle with id "${e}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const fd=256;let Ka=fd,Ya;function kg(t=11){if(!Ya||Ka+t>fd*2){Ya="",Ka=0;for(let e=0;e<fd;e++)Ya+=(256+Math.random()*256|0).toString(16).substring(1)}return Ya.substring(Ka,Ka+++t)}function Tg(t){const{batch:e,chain:r,ccipRead:n,key:s="base",name:i="Base Client",type:o="base"}=t,a=t.experimental_blockTag??(typeof(r==null?void 0:r.experimental_preconfirmationTime)=="number"?"pending":void 0),c=(r==null?void 0:r.blockTime)??12e3,u=Math.min(Math.max(Math.floor(c/2),500),4e3),f=t.pollingInterval??u,l=t.cacheTime??f,p=t.account?He(t.account):void 0,{config:d,request:m,value:g}=t.transport({account:p,chain:r,pollingInterval:f}),A={...d,...g},S={account:p,batch:e,cacheTime:l,ccipRead:n,chain:r,key:s,name:i,pollingInterval:f,request:m,transport:A,type:o,uid:kg(),...a?{experimental_blockTag:a}:{}};function _(E){return w=>{const k=w(E);for(const P in S)delete k[P];const T={...E,...k};return Object.assign(T,{extend:_(T)})}}return Object.assign(S,{extend:_(S)})}function Nh(t){var r,n,s,i,o,a;if(!(t instanceof V))return!1;const e=t.walk(c=>c instanceof Jl);return e instanceof Jl?((r=e.data)==null?void 0:r.errorName)==="HttpError"||((n=e.data)==null?void 0:n.errorName)==="ResolverError"||((s=e.data)==null?void 0:s.errorName)==="ResolverNotContract"||((i=e.data)==null?void 0:i.errorName)==="ResolverNotFound"||((o=e.data)==null?void 0:o.errorName)==="ReverseAddressMismatch"||((a=e.data)==null?void 0:a.errorName)==="UnsupportedResolverProfile":!1}function RA(t){const{abi:e,data:r}=t,n=Ws(r,0,4),s=e.find(i=>i.type==="function"&&n===Ea(Rr(i)));if(!s)throw new T5(n,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:s.name,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Sa(s.inputs,Ws(r,4)):void 0}}const tf="/docs/contract/encodeErrorResult";function pp(t){const{abi:e,errorName:r,args:n}=t;let s=e[0];if(r){const c=ii({abi:e,args:n,name:r});if(!c)throw new $0(r,{docsPath:tf});s=c}if(s.type!=="error")throw new $0(void 0,{docsPath:tf});const i=Rr(s),o=Ea(i);let a="0x";if(n&&n.length>0){if(!s.inputs)throw new S5(s.name,{docsPath:tf});a=ws(s.inputs,n)}return $r([o,a])}const rf="/docs/contract/encodeFunctionResult";function NA(t){const{abi:e,functionName:r,result:n}=t;let s=e[0];if(r){const o=ii({abi:e,name:r});if(!o)throw new $i(r,{docsPath:rf});s=o}if(s.type!=="function")throw new $i(void 0,{docsPath:rf});if(!s.outputs)throw new Ym(s.name,{docsPath:rf});const i=(()=>{if(s.outputs.length===0)return[];if(s.outputs.length===1)return[n];if(Array.isArray(n))return n;throw new Jm(n)})();return ws(s.outputs,i)}const Ra="x-batch-gateway:true";async function _g(t){const{data:e,ccipRequest:r}=t,{args:[n]}=RA({abi:ad,data:e}),s=[],i=[];return await Promise.all(n.map(async(o,a)=>{try{i[a]=o.urls.includes(Ra)?await _g({data:o.data,ccipRequest:r}):await r(o),s[a]=!1}catch(c){s[a]=!0,i[a]=UA(c)}})),NA({abi:ad,functionName:"query",result:[s,i]})}function UA(t){return t.name==="HttpRequestError"&&t.status?pp({abi:ad,errorName:"HttpError",args:[t.status,t.shortMessage]}):pp({abi:[Eb],errorName:"Error",args:["shortMessage"in t?t.shortMessage:t.message]})}function Ig(t){if(t.length!==66||t.indexOf("[")!==0||t.indexOf("]")!==65)return null;const e=`0x${t.slice(1,65)}`;return Nr(e)?e:null}function ld(t){let e=new Uint8Array(32).fill(0);if(!t)return tt(e);const r=t.split(".");for(let n=r.length-1;n>=0;n-=1){const s=Ig(r[n]),i=s?Zi(s):mt(js(r[n]),"bytes");e=mt(nr([e,i]),"bytes")}return tt(e)}function FA(t){return`[${t.slice(2)}]`}function MA(t){const e=new Uint8Array(32).fill(0);return t?Ig(t)||mt(js(t)):tt(e)}function Uh(t){const e=t.replace(/^\.|\.$/gm,"");if(e.length===0)return new Uint8Array(1);const r=new Uint8Array(js(e).byteLength+2);let n=0;const s=e.split(".");for(let i=0;i<s.length;i++){let o=js(s[i]);o.byteLength>255&&(o=js(FA(MA(s[i])))),r[n]=o.length,r.set(o,n+1),n+=o.length+1}return r.byteLength!==n+1?r.slice(0,n+1):r}async function $A(t,e){const{blockNumber:r,blockTag:n,coinType:s,name:i,gatewayUrls:o,strict:a}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return ro({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),f=c==null?void 0:c.ensTlds;if(f&&!f.some(p=>i.endsWith(p)))return null;const l=s!=null?[ld(i),BigInt(s)]:[ld(i)];try{const p=or({abi:lp,functionName:"addr",args:l}),d={address:u,abi:fg,functionName:"resolveWithGateways",args:[Ft(Uh(i)),p,o??[Ra]],blockNumber:r,blockTag:n},g=await re(t,wr,"readContract")(d);if(g[0]==="0x")return null;const A=oi({abi:lp,args:l,functionName:"addr",data:g[0]});return A==="0x"||br(A)==="0x00"?null:A}catch(p){if(a)throw p;if(Nh(p))return null;throw p}}class jA extends V{constructor({data:e}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(e)}`],name:"EnsAvatarInvalidMetadataError"})}}class fo extends V{constructor({reason:e}){super(`ENS NFT avatar URI is invalid. ${e}`,{name:"EnsAvatarInvalidNftUriError"})}}class Fh extends V{constructor({uri:e}){super(`Unable to resolve ENS avatar URI "${e}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class HA extends V{constructor({namespace:e}){super(`ENS NFT avatar namespace "${e}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const LA=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,DA=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,zA=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,VA=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function GA(t){try{const e=await fetch(t,{method:"HEAD"});if(e.status===200){const r=e.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(e){return typeof e=="object"&&typeof e.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=t})}}function yp(t,e){return t?t.endsWith("/")?t.slice(0,-1):t:e}function Pg({uri:t,gatewayUrls:e}){const r=zA.test(t);if(r)return{uri:t,isOnChain:!0,isEncoded:r};const n=yp(e==null?void 0:e.ipfs,"https://ipfs.io"),s=yp(e==null?void 0:e.arweave,"https://arweave.net"),i=t.match(LA),{protocol:o,subpath:a,target:c,subtarget:u=""}=(i==null?void 0:i.groups)||{},f=o==="ipns:/"||a==="ipns/",l=o==="ipfs:/"||a==="ipfs/"||DA.test(t);if(t.startsWith("http")&&!f&&!l){let d=t;return e!=null&&e.arweave&&(d=t.replace(/https:\/\/arweave.net/g,e==null?void 0:e.arweave)),{uri:d,isOnChain:!1,isEncoded:!1}}if((f||l)&&c)return{uri:`${n}/${f?"ipns":"ipfs"}/${c}${u}`,isOnChain:!1,isEncoded:!1};if(o==="ar:/"&&c)return{uri:`${s}/${c}${u||""}`,isOnChain:!1,isEncoded:!1};let p=t.replace(VA,"");if(p.startsWith("<svg")&&(p=`data:image/svg+xml;base64,${btoa(p)}`),p.startsWith("data:")||p.startsWith("{"))return{uri:p,isOnChain:!0,isEncoded:!1};throw new Fh({uri:t})}function Og(t){if(typeof t!="object"||!("image"in t)&&!("image_url"in t)&&!("image_data"in t))throw new jA({data:t});return t.image||t.image_url||t.image_data}async function qA({gatewayUrls:t,uri:e}){try{const r=await fetch(e).then(s=>s.json());return await Mh({gatewayUrls:t,uri:Og(r)})}catch{throw new Fh({uri:e})}}async function Mh({gatewayUrls:t,uri:e}){const{uri:r,isOnChain:n}=Pg({uri:e,gatewayUrls:t});if(n||await GA(r))return r;throw new Fh({uri:e})}function WA(t){let e=t;e.startsWith("did:nft:")&&(e=e.replace("did:nft:","").replace(/_/g,"/"));const[r,n,s]=e.split("/"),[i,o]=r.split(":"),[a,c]=n.split(":");if(!i||i.toLowerCase()!=="eip155")throw new fo({reason:"Only EIP-155 supported"});if(!o)throw new fo({reason:"Chain ID not found"});if(!c)throw new fo({reason:"Contract address not found"});if(!s)throw new fo({reason:"Token ID not found"});if(!a)throw new fo({reason:"ERC namespace not found"});return{chainID:Number.parseInt(o,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:s}}async function KA(t,{nft:e}){if(e.namespace==="erc721")return wr(t,{address:e.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(e.tokenID)]});if(e.namespace==="erc1155")return wr(t,{address:e.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(e.tokenID)]});throw new HA({namespace:e.namespace})}async function YA(t,{gatewayUrls:e,record:r}){return/eip155:/i.test(r)?JA(t,{gatewayUrls:e,record:r}):Mh({uri:r,gatewayUrls:e})}async function JA(t,{gatewayUrls:e,record:r}){const n=WA(r),s=await KA(t,{nft:n}),{uri:i,isOnChain:o,isEncoded:a}=Pg({uri:s,gatewayUrls:e});if(o&&(i.includes("data:application/json;base64,")||i.startsWith("{"))){const u=a?atob(i.replace("data:application/json;base64,","")):i,f=JSON.parse(u);return Mh({uri:Og(f),gatewayUrls:e})}let c=n.tokenID;return n.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),qA({gatewayUrls:e,uri:i.replace(/(?:0x)?{id}/,c)})}async function Bg(t,e){const{blockNumber:r,blockTag:n,key:s,name:i,gatewayUrls:o,strict:a}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return ro({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),f=c==null?void 0:c.ensTlds;if(f&&!f.some(l=>i.endsWith(l)))return null;try{const l={address:u,abi:fg,args:[Ft(Uh(i)),or({abi:fp,functionName:"text",args:[ld(i),s]}),o??[Ra]],functionName:"resolveWithGateways",blockNumber:r,blockTag:n},d=await re(t,wr,"readContract")(l);if(d[0]==="0x")return null;const m=oi({abi:fp,functionName:"text",data:d[0]});return m===""?null:m}catch(l){if(a)throw l;if(Nh(l))return null;throw l}}async function XA(t,{blockNumber:e,blockTag:r,assetGatewayUrls:n,name:s,gatewayUrls:i,strict:o,universalResolverAddress:a}){const c=await re(t,Bg,"getEnsText")({blockNumber:e,blockTag:r,key:"avatar",name:s,universalResolverAddress:a,gatewayUrls:i,strict:o});if(!c)return null;try{return await YA(t,{record:c,gatewayUrls:n})}catch{return null}}async function ZA(t,e){const{address:r,blockNumber:n,blockTag:s,coinType:i=60n,gatewayUrls:o,strict:a}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return ro({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})();try{const f={address:u,abi:pA,args:[r,i,o??[Ra]],functionName:"reverseWithGateways",blockNumber:n,blockTag:s},l=re(t,wr,"readContract"),[p]=await l(f);return p||null}catch(f){if(a)throw f;if(Nh(f))return null;throw f}}async function QA(t,e){const{blockNumber:r,blockTag:n,name:s}=e,{chain:i}=t,o=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!i)throw new Error("client chain not configured. universalResolverAddress is required.");return ro({blockNumber:r,chain:i,contract:"ensUniversalResolver"})})(),a=i==null?void 0:i.ensTlds;if(a&&!a.some(u=>s.endsWith(u)))throw new Error(`${s} is not a valid ENS TLD (${a==null?void 0:a.join(", ")}) for chain "${i.name}" (id: ${i.id}).`);const[c]=await re(t,wr,"readContract")({address:o,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[Ft(Uh(s))],blockNumber:r,blockTag:n});return c}async function Cg(t,e){var A,S,_;const{account:r=t.account,blockNumber:n,blockTag:s="latest",blobs:i,data:o,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:l,to:p,value:d,...m}=e,g=r?He(r):void 0;try{jn(e);const w=(typeof n=="bigint"?J(n):void 0)||s,k=(_=(S=(A=t.chain)==null?void 0:A.formatters)==null?void 0:S.transactionRequest)==null?void 0:_.format,P=(k||vs)({...eo(m,{format:k}),account:g,blobs:i,data:o,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:l,to:p,value:d},"createAccessList"),N=await t.request({method:"eth_createAccessList",params:[P,w]});return{accessList:N.accessList,gasUsed:BigInt(N.gasUsed)}}catch(E){throw pg(E,{...e,account:g,chain:t.chain})}}async function e8(t){const e=Jc(t,{method:"eth_newBlockFilter"}),r=await t.request({method:"eth_newBlockFilter"});return{id:r,request:e(r),type:"block"}}async function Rg(t,{address:e,args:r,event:n,events:s,fromBlock:i,strict:o,toBlock:a}={}){const c=s??(n?[n]:void 0),u=Jc(t,{method:"eth_newFilter"});let f=[];c&&(f=[c.flatMap(d=>Aa({abi:[d],eventName:d.name,args:r}))],n&&(f=f[0]));const l=await t.request({method:"eth_newFilter",params:[{address:e,fromBlock:typeof i=="bigint"?J(i):i,toBlock:typeof a=="bigint"?J(a):a,...f.length?{topics:f}:{}}]});return{abi:c,args:r,eventName:n?n.name:void 0,fromBlock:i,id:l,request:u(l),strict:!!o,toBlock:a,type:"event"}}async function Ng(t){const e=Jc(t,{method:"eth_newPendingTransactionFilter"}),r=await t.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:e(r),type:"transaction"}}async function t8(t,{address:e,blockNumber:r,blockTag:n=t.experimental_blockTag??"latest"}){const s=typeof r=="bigint"?J(r):void 0,i=await t.request({method:"eth_getBalance",params:[e,s||n]});return BigInt(i)}async function r8(t){const e=await t.request({method:"eth_blobBaseFee"});return BigInt(e)}async function n8(t,{blockHash:e,blockNumber:r,blockTag:n="latest"}={}){const s=r!==void 0?J(r):void 0;let i;return e?i=await t.request({method:"eth_getBlockTransactionCountByHash",params:[e]},{dedupe:!0}):i=await t.request({method:"eth_getBlockTransactionCountByNumber",params:[s||n]},{dedupe:!!s}),gr(i)}async function dd(t,{address:e,blockNumber:r,blockTag:n="latest"}){const s=r!==void 0?J(r):void 0,i=await t.request({method:"eth_getCode",params:[e,s||n]},{dedupe:!!s});if(i!=="0x")return i}class s8 extends V{constructor({address:e}){super(`No EIP-712 domain found on contract "${e}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${e}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function i8(t,e){const{address:r,factory:n,factoryData:s}=e;try{const[i,o,a,c,u,f,l]=await re(t,wr,"readContract")({abi:o8,address:r,functionName:"eip712Domain",factory:n,factoryData:s});return{domain:{name:o,version:a,chainId:Number(c),verifyingContract:u,salt:f},extensions:l,fields:i}}catch(i){const o=i;throw o.name==="ContractFunctionExecutionError"&&o.cause.name==="ContractFunctionZeroDataError"?new s8({address:r}):o}}const o8=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];function a8(t){var e;return{baseFeePerGas:t.baseFeePerGas.map(r=>BigInt(r)),gasUsedRatio:t.gasUsedRatio,oldestBlock:BigInt(t.oldestBlock),reward:(e=t.reward)==null?void 0:e.map(r=>r.map(n=>BigInt(n)))}}async function c8(t,{blockCount:e,blockNumber:r,blockTag:n="latest",rewardPercentiles:s}){const i=typeof r=="bigint"?J(r):void 0,o=await t.request({method:"eth_feeHistory",params:[J(e),i||n,s]},{dedupe:!!i});return a8(o)}async function u8(t,{filter:e}){const r=e.strict??!1,s=(await e.request({method:"eth_getFilterLogs",params:[e.id]})).map(i=>Rn(i));return e.abi?Eh({abi:e.abi,logs:s,strict:r}):s}function f8(t){const{authorizationList:e}=t;if(e)for(const r of e){const{chainId:n}=r,s=r.address;if(!ct(s))throw new $t({address:s});if(n<0)throw new ou({chainId:n})}$h(t)}function l8(t){const{blobVersionedHashes:e}=t;if(e){if(e.length===0)throw new zb;for(const r of e){const n=Ge(r),s=gr(Ws(r,0,1));if(n!==32)throw new BE({hash:r,size:n});if(s!==Db)throw new CE({hash:r,version:s})}}$h(t)}function $h(t){const{chainId:e,maxPriorityFeePerGas:r,maxFeePerGas:n,to:s}=t;if(e<=0)throw new ou({chainId:e});if(s&&!ct(s))throw new $t({address:s});if(n&&n>tu)throw new Js({maxFeePerGas:n});if(r&&n&&r>n)throw new na({maxFeePerGas:n,maxPriorityFeePerGas:r})}function d8(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:s,to:i}=t;if(e<=0)throw new ou({chainId:e});if(i&&!ct(i))throw new $t({address:i});if(r||s)throw new V("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>tu)throw new Js({maxFeePerGas:n})}function h8(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:s,to:i}=t;if(i&&!ct(i))throw new $t({address:i});if(typeof e<"u"&&e<=0)throw new ou({chainId:e});if(r||s)throw new V("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>tu)throw new Js({maxFeePerGas:n})}function lu(t){if(!t||t.length===0)return[];const e=[];for(let r=0;r<t.length;r++){const{address:n,storageKeys:s}=t[r];for(let i=0;i<s.length;i++)if(s[i].length-2!==64)throw new Xv({storageKey:s[i]});if(!ct(n,{strict:!1}))throw new $t({address:n});e.push([n,s])}return e}function p8(t,e){const r=Gb(t);return r==="eip1559"?b8(t,e):r==="eip2930"?g8(t,e):r==="eip4844"?m8(t,e):r==="eip7702"?y8(t,e):w8(t,e)}function y8(t,e){const{authorizationList:r,chainId:n,gas:s,nonce:i,to:o,value:a,maxFeePerGas:c,maxPriorityFeePerGas:u,accessList:f,data:l}=t;f8(t);const p=lu(f),d=v8(r);return $r(["0x04",ms([J(n),i?J(i):"0x",u?J(u):"0x",c?J(c):"0x",s?J(s):"0x",o??"0x",a?J(a):"0x",l??"0x",p,d,...Na(t,e)])])}function m8(t,e){const{chainId:r,gas:n,nonce:s,to:i,value:o,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:u,accessList:f,data:l}=t;l8(t);let p=t.blobVersionedHashes,d=t.sidecars;if(t.blobs&&(typeof p>"u"||typeof d>"u")){const E=typeof t.blobs[0]=="string"?t.blobs:t.blobs.map(T=>tt(T)),w=t.kzg,k=yh({blobs:E,kzg:w});if(typeof p>"u"&&(p=jb({commitments:k})),typeof d>"u"){const T=mh({blobs:E,commitments:k,kzg:w});d=Vb({blobs:E,commitments:k,proofs:T})}}const m=lu(f),g=[J(r),s?J(s):"0x",u?J(u):"0x",c?J(c):"0x",n?J(n):"0x",i??"0x",o?J(o):"0x",l??"0x",m,a?J(a):"0x",p??[],...Na(t,e)],A=[],S=[],_=[];if(d)for(let E=0;E<d.length;E++){const{blob:w,commitment:k,proof:T}=d[E];A.push(w),S.push(k),_.push(T)}return $r(["0x03",ms(d?[g,A,S,_]:g)])}function b8(t,e){const{chainId:r,gas:n,nonce:s,to:i,value:o,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:u,data:f}=t;$h(t);const l=lu(u),p=[J(r),s?J(s):"0x",c?J(c):"0x",a?J(a):"0x",n?J(n):"0x",i??"0x",o?J(o):"0x",f??"0x",l,...Na(t,e)];return $r(["0x02",ms(p)])}function g8(t,e){const{chainId:r,gas:n,data:s,nonce:i,to:o,value:a,accessList:c,gasPrice:u}=t;d8(t);const f=lu(c),l=[J(r),i?J(i):"0x",u?J(u):"0x",n?J(n):"0x",o??"0x",a?J(a):"0x",s??"0x",f,...Na(t,e)];return $r(["0x01",ms(l)])}function w8(t,e){const{chainId:r=0,gas:n,data:s,nonce:i,to:o,value:a,gasPrice:c}=t;h8(t);let u=[i?J(i):"0x",c?J(c):"0x",n?J(n):"0x",o??"0x",a?J(a):"0x",s??"0x"];if(e){const f=(()=>{if(e.v>=35n)return(e.v-35n)/2n>0?e.v:27n+(e.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+e.v-27n);const d=27n+(e.v===27n?0n:1n);if(e.v!==d)throw new Yv({v:e.v});return d})(),l=br(e.r),p=br(e.s);u=[...u,J(f),l==="0x00"?"0x":l,p==="0x00"?"0x":p]}else r>0&&(u=[...u,J(r),"0x","0x"]);return ms(u)}function Na(t,e){const r=e??t,{v:n,yParity:s}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof n>"u"&&typeof s>"u")return[];const i=br(r.r),o=br(r.s);return[typeof s=="number"?s?J(1):"0x":n===0n?"0x":n===1n?J(1):n===27n?"0x":J(1),i==="0x00"?"0x":i,o==="0x00"?"0x":o]}function v8(t){if(!t||t.length===0)return[];const e=[];for(const r of t){const{chainId:n,nonce:s,...i}=r,o=r.address;e.push([n?Ft(n):"0x",o,s?Ft(s):"0x",...Na({},i)])}return e}async function E8({address:t,authorization:e,signature:r}){return to(th(t),await Qc({authorization:e,signature:r}))}const Ja=new Qi(8192);function A8(t,{enabled:e=!0,id:r}){if(!e||!r)return t();if(Ja.get(r))return Ja.get(r);const n=t().finally(()=>Ja.delete(r));return Ja.set(r,n),n}function S8(t,e={}){return async(r,n={})=>{var l;const{dedupe:s=!1,methods:i,retryDelay:o=150,retryCount:a=3,uid:c}={...e,...n},{method:u}=r;if((l=i==null?void 0:i.exclude)!=null&&l.includes(u))throw new Cs(new Error("method not supported"),{method:u});if(i!=null&&i.include&&!i.include.includes(u))throw new Cs(new Error("method not supported"),{method:u});const f=s?ji(`${c}.${et(r)}`):void 0;return A8(()=>Rc(async()=>{try{return await t(r)}catch(p){const d=p;switch(d.code){case jo.code:throw new jo(d);case Ho.code:throw new Ho(d);case Lo.code:throw new Lo(d,{method:r.method});case Do.code:throw new Do(d);case Ks.code:throw new Ks(d);case ys.code:throw new ys(d);case zo.code:throw new zo(d);case Vo.code:throw new Vo(d);case Go.code:throw new Go(d);case Cs.code:throw new Cs(d,{method:r.method});case Hi.code:throw new Hi(d);case qo.code:throw new qo(d);case Pi.code:throw new Pi(d);case Wo.code:throw new Wo(d);case Ko.code:throw new Ko(d);case Yo.code:throw new Yo(d);case Jo.code:throw new Jo(d);case Xo.code:throw new Xo(d);case Li.code:throw new Li(d);case Zo.code:throw new Zo(d);case Qo.code:throw new Qo(d);case ea.code:throw new ea(d);case ta.code:throw new ta(d);case ra.code:throw new ra(d);case Di.code:throw new Di(d);case 5e3:throw new Pi(d);default:throw p instanceof V?p:new sE(d)}}},{delay:({count:p,error:d})=>{var m;if(d&&d instanceof Ii){const g=(m=d==null?void 0:d.headers)==null?void 0:m.get("Retry-After");if(g!=null&&g.match(/\d/))return Number.parseInt(g,10)*1e3}return~~(1<<p)*o},retryCount:a,shouldRetry:({error:p})=>x8(p)}),{enabled:s,id:f})}}function x8(t){return"code"in t&&typeof t.code=="number"?t.code===-1||t.code===Hi.code||t.code===Ks.code:t instanceof Ii&&t.status?t.status===403||t.status===408||t.status===413||t.status===429||t.status===500||t.status===502||t.status===503||t.status===504:!0}function bt(t){const e={formatters:void 0,fees:void 0,serializers:void 0,...t};function r(n){return s=>{const i=typeof s=="function"?s(n):s,o={...n,...i};return Object.assign(o,{extend:r(o)})}}return Object.assign(e,{extend:r(e)})}function k8(t,{errorInstance:e=new Error("timed out"),timeout:r,signal:n}){return new Promise((s,i)=>{(async()=>{let o;try{const a=new AbortController;r>0&&(o=setTimeout(()=>{n&&a.abort()},r)),s(await t({signal:(a==null?void 0:a.signal)||null}))}catch(a){(a==null?void 0:a.name)==="AbortError"&&i(e),i(a)}finally{clearTimeout(o)}})()})}function T8(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const mp=T8();function _8(t,e={}){return{async request(r){var p;const{body:n,fetchFn:s=e.fetchFn??fetch,onRequest:i=e.onRequest,onResponse:o=e.onResponse,timeout:a=e.timeout??1e4}=r,c={...e.fetchOptions??{},...r.fetchOptions??{}},{headers:u,method:f,signal:l}=c;try{const d=await k8(async({signal:g})=>{const A={...c,body:Array.isArray(n)?et(n.map(w=>({jsonrpc:"2.0",id:w.id??mp.take(),...w}))):et({jsonrpc:"2.0",id:n.id??mp.take(),...n}),headers:{"Content-Type":"application/json",...u},method:f||"POST",signal:l||(a>0?g:null)},S=new Request(t,A),_=await(i==null?void 0:i(S,A))??{...A,url:t};return await s(_.url??t,_)},{errorInstance:new X0({body:n,url:t}),timeout:a,signal:!0});o&&await o(d);let m;if((p=d.headers.get("Content-Type"))!=null&&p.startsWith("application/json"))m=await d.json();else{m=await d.text();try{m=JSON.parse(m||"{}")}catch(g){if(d.ok)throw g;m={error:m}}}if(!d.ok)throw new Ii({body:n,details:et(m.error)||d.statusText,headers:d.headers,status:d.status,url:t});return m}catch(d){throw d instanceof Ii||d instanceof X0?d:new Ii({body:n,cause:d,url:t})}}}}const I8=`Ethereum Signed Message:
|
|
42
|
+
`;function P8(t){const e=typeof t=="string"?ji(t):typeof t.raw=="string"?t.raw:tt(t.raw),r=ji(`${I8}${Ge(e)}`);return nr([r,e])}function Ug(t,e){return mt(P8(t),e)}class O8 extends V{constructor({domain:e}){super(`Invalid domain "${et(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class B8 extends V{constructor({primaryType:e,types:r}){super(`Invalid primary type \`${e}\` 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 C8 extends V{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function R8(t){const{domain:e,message:r,primaryType:n,types:s}=t,i=(c,u)=>{const f={...u};for(const l of c){const{name:p,type:d}=l;d==="address"&&(f[p]=f[p].toLowerCase())}return f},o=s.EIP712Domain?e?i(s.EIP712Domain,e):{}:{},a=(()=>{if(n!=="EIP712Domain")return i(s[n],r)})();return et({domain:o,message:a,primaryType:n,types:s})}function Fg(t){const{domain:e,message:r,primaryType:n,types:s}=t,i=(o,a)=>{for(const c of o){const{name:u,type:f}=c,l=a[u],p=f.match(wb);if(p&&(typeof l=="number"||typeof l=="bigint")){const[g,A,S]=p;J(l,{signed:A==="int",size:Number.parseInt(S,10)/8})}if(f==="address"&&typeof l=="string"&&!ct(l))throw new $t({address:l});const d=f.match(vv);if(d){const[g,A]=d;if(A&&Ge(l)!==Number.parseInt(A,10))throw new I5({expectedSize:Number.parseInt(A,10),givenSize:Ge(l)})}const m=s[f];m&&(N8(f),i(m,l))}};if(s.EIP712Domain&&e){if(typeof e!="object")throw new O8({domain:e});i(s.EIP712Domain,e)}if(n!=="EIP712Domain")if(s[n])i(s[n],r);else throw new B8({primaryType:n,types:s})}function Mg({domain:t}){return[typeof(t==null?void 0:t.name)=="string"&&{name:"name",type:"string"},(t==null?void 0:t.version)&&{name:"version",type:"string"},(typeof(t==null?void 0:t.chainId)=="number"||typeof(t==null?void 0:t.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(t==null?void 0:t.verifyingContract)&&{name:"verifyingContract",type:"address"},(t==null?void 0:t.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function N8(t){if(t==="address"||t==="bool"||t==="string"||t.startsWith("bytes")||t.startsWith("uint")||t.startsWith("int"))throw new C8({type:t})}function U8(t){const{domain:e={},message:r,primaryType:n}=t,s={EIP712Domain:Mg({domain:e}),...t.types};Fg({domain:e,message:r,primaryType:n,types:s});const i=["0x1901"];return e&&i.push(F8({domain:e,types:s})),n!=="EIP712Domain"&&i.push($g({data:r,primaryType:n,types:s})),mt(nr(i))}function F8({domain:t,types:e}){return $g({data:t,primaryType:"EIP712Domain",types:e})}function $g({data:t,primaryType:e,types:r}){const n=jg({data:t,primaryType:e,types:r});return mt(n)}function jg({data:t,primaryType:e,types:r}){const n=[{type:"bytes32"}],s=[M8({primaryType:e,types:r})];for(const i of r[e]){const[o,a]=Lg({types:r,name:i.name,type:i.type,value:t[i.name]});n.push(o),s.push(a)}return ws(n,s)}function M8({primaryType:t,types:e}){const r=Ft($8({primaryType:t,types:e}));return mt(r)}function $8({primaryType:t,types:e}){let r="";const n=Hg({primaryType:t,types:e});n.delete(t);const s=[t,...Array.from(n).sort()];for(const i of s)r+=`${i}(${e[i].map(({name:o,type:a})=>`${a} ${o}`).join(",")})`;return r}function Hg({primaryType:t,types:e},r=new Set){const n=t.match(/^\w*/u),s=n==null?void 0:n[0];if(r.has(s)||e[s]===void 0)return r;r.add(s);for(const i of e[s])Hg({primaryType:i.type,types:e},r);return r}function Lg({types:t,name:e,type:r,value:n}){if(t[r]!==void 0)return[{type:"bytes32"},mt(jg({data:n,primaryType:r,types:t}))];if(r==="bytes")return[{type:"bytes32"},mt(n)];if(r==="string")return[{type:"bytes32"},mt(Ft(n))];if(r.lastIndexOf("]")===r.length-1){const s=r.slice(0,r.lastIndexOf("[")),i=n.map(o=>Lg({name:e,type:s,types:t,value:o}));return[{type:"bytes32"},mt(ws(i.map(([o])=>o),i.map(([,o])=>o)))]}return[{type:r},n]}class j8 extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const r=super.get(e);return super.has(e)&&r!==void 0&&(this.delete(e),super.set(e,r)),r}set(e,r){if(super.set(e,r),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}const H8={checksum:new j8(8192)},nf=H8.checksum;function Dg(t,e={}){const{as:r=typeof t=="string"?"Hex":"Bytes"}=e,n=pb(KE(t));return r==="Bytes"?n:Fr(n)}const L8=/^0x[a-fA-F0-9]{40}$/;function du(t,e={}){const{strict:r=!0}=e;if(!L8.test(t))throw new bp({address:t,cause:new D8});if(r){if(t.toLowerCase()===t)return;if(zg(t)!==t)throw new bp({address:t,cause:new z8})}}function zg(t){if(nf.has(t))return nf.get(t);du(t,{strict:!1});const e=t.substring(2).toLowerCase(),r=Dg(JE(e),{as:"Bytes"}),n=e.split("");for(let i=0;i<40;i+=2)r[i>>1]>>4>=8&&n[i]&&(n[i]=n[i].toUpperCase()),(r[i>>1]&15)>=8&&n[i+1]&&(n[i+1]=n[i+1].toUpperCase());const s=`0x${n.join("")}`;return nf.set(t,s),s}function hd(t,e={}){const{strict:r=!0}=e??{};try{return du(t,{strict:r}),!0}catch{return!1}}class bp extends fe{constructor({address:e,cause:r}){super(`Address "${e}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class D8 extends fe{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}}class z8 extends fe{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}const V8=/^(.*)\[([0-9]*)\]$/,G8=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Vg=/^(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)?$/,gp=2n**256n-1n;function Bi(t,e,r){const{checksumAddress:n,staticPosition:s}=r,i=Lh(e.type);if(i){const[o,a]=i;return W8(t,{...e,type:a},{checksumAddress:n,length:o,staticPosition:s})}if(e.type==="tuple")return X8(t,e,{checksumAddress:n,staticPosition:s});if(e.type==="address")return q8(t,{checksum:n});if(e.type==="bool")return K8(t);if(e.type.startsWith("bytes"))return Y8(t,e,{staticPosition:s});if(e.type.startsWith("uint")||e.type.startsWith("int"))return J8(t,e);if(e.type==="string")return Z8(t,{staticPosition:s});throw new zh(e.type)}const wp=32,pd=32;function q8(t,e={}){const{checksum:r=!1}=e,n=t.readBytes(32);return[(i=>r?zg(i):i)(Fr(ZE(n,-20))),32]}function W8(t,e,r){const{checksumAddress:n,length:s,staticPosition:i}=r;if(!s){const c=Pn(t.readBytes(pd)),u=i+c,f=u+wp;t.setPosition(u);const l=Pn(t.readBytes(wp)),p=oa(e);let d=0;const m=[];for(let g=0;g<l;++g){t.setPosition(f+(p?g*32:d));const[A,S]=Bi(t,e,{checksumAddress:n,staticPosition:f});d+=S,m.push(A)}return t.setPosition(i+32),[m,32]}if(oa(e)){const c=Pn(t.readBytes(pd)),u=i+c,f=[];for(let l=0;l<s;++l){t.setPosition(u+l*32);const[p]=Bi(t,e,{checksumAddress:n,staticPosition:u});f.push(p)}return t.setPosition(i+32),[f,32]}let o=0;const a=[];for(let c=0;c<s;++c){const[u,f]=Bi(t,e,{checksumAddress:n,staticPosition:i+o});o+=f,a.push(u)}return[a,o]}function K8(t){return[eA(t.readBytes(32),{size:32}),32]}function Y8(t,e,{staticPosition:r}){const[n,s]=e.type.split("bytes");if(!s){const o=Pn(t.readBytes(32));t.setPosition(r+o);const a=Pn(t.readBytes(32));if(a===0)return t.setPosition(r+32),["0x",32];const c=t.readBytes(a);return t.setPosition(r+32),[Fr(c),32]}return[Fr(t.readBytes(Number.parseInt(s,10),32)),32]}function J8(t,e){const r=e.type.startsWith("int"),n=Number.parseInt(e.type.split("int")[1]||"256",10),s=t.readBytes(32);return[n>48?QE(s,{signed:r}):Pn(s,{signed:r}),32]}function X8(t,e,r){const{checksumAddress:n,staticPosition:s}=r,i=e.components.length===0||e.components.some(({name:c})=>!c),o=i?[]:{};let a=0;if(oa(e)){const c=Pn(t.readBytes(pd)),u=s+c;for(let f=0;f<e.components.length;++f){const l=e.components[f];t.setPosition(u+a);const[p,d]=Bi(t,l,{checksumAddress:n,staticPosition:u});a+=d,o[i?f:l==null?void 0:l.name]=p}return t.setPosition(s+32),[o,32]}for(let c=0;c<e.components.length;++c){const u=e.components[c],[f,l]=Bi(t,u,{checksumAddress:n,staticPosition:s});o[i?c:u==null?void 0:u.name]=f,a+=l}return[o,a]}function Z8(t,{staticPosition:e}){const r=Pn(t.readBytes(32)),n=e+r;t.setPosition(n);const s=Pn(t.readBytes(32));if(s===0)return t.setPosition(e+32),["",32];const i=t.readBytes(s,32),o=tA(rg(i));return t.setPosition(e+32),[o,32]}function Q8({checksumAddress:t,parameters:e,values:r}){const n=[];for(let s=0;s<e.length;s++)n.push(jh({checksumAddress:t,parameter:e[s],value:r[s]}));return n}function jh({checksumAddress:t=!1,parameter:e,value:r}){const n=e,s=Lh(n.type);if(s){const[i,o]=s;return tS(r,{checksumAddress:t,length:i,parameter:{...n,type:o}})}if(n.type==="tuple")return oS(r,{checksumAddress:t,parameter:n});if(n.type==="address")return eS(r,{checksum:t});if(n.type==="bool")return nS(r);if(n.type.startsWith("uint")||n.type.startsWith("int")){const i=n.type.startsWith("int"),[,,o="256"]=Vg.exec(n.type)??[];return sS(r,{signed:i,size:Number(o)})}if(n.type.startsWith("bytes"))return rS(r,{type:n.type});if(n.type==="string")return iS(r);throw new zh(n.type)}function Hh(t){let e=0;for(let i=0;i<t.length;i++){const{dynamic:o,encoded:a}=t[i];o?e+=32:e+=sr(a)}const r=[],n=[];let s=0;for(let i=0;i<t.length;i++){const{dynamic:o,encoded:a}=t[i];o?(r.push(Nt(e+s,{size:32})),n.push(a),s+=sr(a)):r.push(a)}return Ur(...r,...n)}function eS(t,e){const{checksum:r=!1}=e;return du(t,{strict:r}),{dynamic:!1,encoded:Xs(t.toLowerCase())}}function tS(t,e){const{checksumAddress:r,length:n,parameter:s}=e,i=n===null;if(!Array.isArray(t))throw new yS(t);if(!i&&t.length!==n)throw new pS({expectedLength:n,givenLength:t.length,type:`${s.type}[${n}]`});let o=!1;const a=[];for(let c=0;c<t.length;c++){const u=jh({checksumAddress:r,parameter:s,value:t[c]});u.dynamic&&(o=!0),a.push(u)}if(i||o){const c=Hh(a);if(i){const u=Nt(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Ur(u,c):u}}if(o)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:Ur(...a.map(({encoded:c})=>c))}}function rS(t,{type:e}){const[,r]=e.split("bytes"),n=sr(t);if(!r){let s=t;return n%32!==0&&(s=Zs(s,Math.ceil((t.length-2)/2/32)*32)),{dynamic:!0,encoded:Ur(Xs(Nt(n,{size:32})),s)}}if(n!==Number.parseInt(r,10))throw new qg({expectedSize:Number.parseInt(r,10),value:t});return{dynamic:!1,encoded:Zs(t)}}function nS(t){if(typeof t!="boolean")throw new fe(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Xs(ng(t))}}function sS(t,{signed:e,size:r}){if(typeof r=="number"){const n=2n**(BigInt(r)-(e?1n:0n))-1n,s=e?-n-1n:0n;if(t>n||t<s)throw new og({max:n.toString(),min:s.toString(),signed:e,size:r/8,value:t.toString()})}return{dynamic:!1,encoded:Nt(t,{size:32,signed:e})}}function iS(t){const e=_h(t),r=Math.ceil(sr(e)/32),n=[];for(let s=0;s<r;s++)n.push(Zs(rn(e,s*32,(s+1)*32)));return{dynamic:!0,encoded:Ur(Zs(Nt(sr(e),{size:32})),...n)}}function oS(t,e){const{checksumAddress:r,parameter:n}=e;let s=!1;const i=[];for(let o=0;o<n.components.length;o++){const a=n.components[o],c=Array.isArray(t)?o:a.name,u=jh({checksumAddress:r,parameter:a,value:t[c]});i.push(u),u.dynamic&&(s=!0)}return{dynamic:s,encoded:s?Hh(i):Ur(...i.map(({encoded:o})=>o))}}function Lh(t){const e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}function oa(t){var n;const{type:e}=t;if(e==="string"||e==="bytes"||e.endsWith("[]"))return!0;if(e==="tuple")return(n=t.components)==null?void 0:n.some(oa);const r=Lh(t.type);return!!(r&&oa({...t,type:r[1]}))}const aS={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 fS({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new uS({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new vp({offset:t});const e=this.position-t;this.assertPosition(e),this.position=e},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new vp({offset:t});const e=this.position+t;this.assertPosition(e),this.position=e},inspectByte(t){const e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(t,e){const r=e??this.position;return this.assertPosition(r+t-1),this.bytes.subarray(r,r+t)},inspectUint8(t){const e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(t){const e=t??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(t){const e=t??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(t){const e=t??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const t=this.inspectByte();return this.position++,t},readBytes(t,e){this.assertReadLimit(),this._touch();const r=this.inspectBytes(t);return this.position+=e??t,r},readUint8(){this.assertReadLimit(),this._touch();const t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();const t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();const t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();const t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){const e=this.position;return this.assertPosition(t),this.position=t,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++}};function cS(t,{recursiveReadLimit:e=8192}={}){const r=Object.create(aS);return r.bytes=t,r.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=e,r}class vp extends fe{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class uS extends fe{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class fS extends fe{constructor({count:e,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}function lS(t,e,r={}){const{as:n="Array",checksumAddress:s=!1}=r,i=typeof e=="string"?tg(e):e,o=cS(i);if(ki(i)===0&&t.length>0)throw new hS;if(ki(i)&&ki(i)<32)throw new dS({data:typeof e=="string"?e:Fr(e),parameters:t,size:ki(i)});let a=0;const c=n==="Array"?[]:{};for(let u=0;u<t.length;++u){const f=t[u];o.setPosition(a);const[l,p]=Bi(o,f,{checksumAddress:s,staticPosition:0});a+=p,n==="Array"?c.push(l):c[f.name??u]=l}return c}function Dh(t,e,r){const{checksumAddress:n=!1}={};if(t.length!==e.length)throw new Wg({expectedLength:t.length,givenLength:e.length});const s=Q8({checksumAddress:n,parameters:t,values:e}),i=Hh(s);return i.length===0?"0x":i}function yd(t,e){if(t.length!==e.length)throw new Wg({expectedLength:t.length,givenLength:e.length});const r=[];for(let n=0;n<t.length;n++){const s=t[n],i=e[n];r.push(yd.encode(s,i))}return Ur(...r)}(function(t){function e(r,n,s=!1){if(r==="address"){const c=n;return du(c),Xs(c.toLowerCase(),s?32:0)}if(r==="string")return _h(n);if(r==="bytes")return n;if(r==="bool")return Xs(ng(n),s?32:1);const i=r.match(Vg);if(i){const[c,u,f="256"]=i,l=Number.parseInt(f,10)/8;return Nt(n,{size:s?32:l,signed:u==="int"})}const o=r.match(G8);if(o){const[c,u]=o;if(Number.parseInt(u,10)!==(n.length-2)/2)throw new qg({expectedSize:Number.parseInt(u,10),value:n});return Zs(n,s?32:0)}const a=r.match(V8);if(a&&Array.isArray(n)){const[c,u]=a,f=[];for(let l=0;l<n.length;l++)f.push(e(u,n[l],!0));return f.length===0?"0x":Ur(...f)}throw new zh(r)}t.encode=e})(yd||(yd={}));function Gg(t){return Array.isArray(t)&&typeof t[0]=="string"||typeof t=="string"?F0(t):t}class dS extends fe{constructor({data:e,parameters:r,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${mi(r)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class hS extends fe{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class pS extends fe{constructor({expectedLength:e,givenLength:r,type:n}){super(`Array length mismatch for type \`${n}\`. Expected: \`${e}\`. Given: \`${r}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class qg extends fe{constructor({expectedSize:e,value:r}){super(`Size of bytes "${r}" (bytes${sr(r)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class Wg extends fe{constructor({expectedLength:e,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${r}`].join(`
|
|
43
|
+
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class yS extends fe{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class zh extends fe{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}class Kg extends Kc{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Q5(e);const n=_n(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?e.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=e.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),Cn(i)}update(e){return ps(this),this.iHash.update(e),this}digestInto(e){ps(this),hs(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:r,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Yg=(t,e,r)=>new Kg(t,e).update(r).digest();Yg.create=(t,e)=>new Kg(t,e);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Vt=BigInt(0),Mt=BigInt(1),Rs=BigInt(2),mS=BigInt(3),Jg=BigInt(4),Xg=BigInt(5),Zg=BigInt(8);function Ht(t,e){const r=t%e;return r>=Vt?r:e+r}function ur(t,e,r){let n=t;for(;e-- >Vt;)n*=n,n%=r;return n}function md(t,e){if(t===Vt)throw new Error("invert: expected non-zero number");if(e<=Vt)throw new Error("invert: expected positive modulus, got "+e);let r=Ht(t,e),n=e,s=Vt,i=Mt;for(;r!==Vt;){const a=n/r,c=n%r,u=s-i*a;n=r,r=c,s=i,i=u}if(n!==Mt)throw new Error("invert: does not exist");return Ht(s,e)}function Qg(t,e){const r=(t.ORDER+Mt)/Jg,n=t.pow(e,r);if(!t.eql(t.sqr(n),e))throw new Error("Cannot find square root");return n}function bS(t,e){const r=(t.ORDER-Xg)/Zg,n=t.mul(e,Rs),s=t.pow(n,r),i=t.mul(e,s),o=t.mul(t.mul(i,Rs),s),a=t.mul(i,t.sub(o,t.ONE));if(!t.eql(t.sqr(a),e))throw new Error("Cannot find square root");return a}function gS(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let e=t-Mt,r=0;for(;e%Rs===Vt;)e/=Rs,r++;let n=Rs;const s=Vh(t);for(;Ep(s,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Qg;let i=s.pow(n,e);const o=(e+Mt)/Rs;return function(c,u){if(c.is0(u))return u;if(Ep(c,u)!==1)throw new Error("Cannot find square root");let f=r,l=c.mul(c.ONE,i),p=c.pow(u,e),d=c.pow(u,o);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let m=1,g=c.sqr(p);for(;!c.eql(g,c.ONE);)if(m++,g=c.sqr(g),m===f)throw new Error("Cannot find square root");const A=Mt<<BigInt(f-m-1),S=c.pow(l,A);f=m,l=c.sqr(S),p=c.mul(p,l),d=c.mul(d,S)}return d}}function wS(t){return t%Jg===mS?Qg:t%Zg===Xg?bS:gS(t)}const vS=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ES(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=vS.reduce((n,s)=>(n[s]="function",n),e);return su(t,r)}function AS(t,e,r){if(r<Vt)throw new Error("invalid exponent, negatives unsupported");if(r===Vt)return t.ONE;if(r===Mt)return e;let n=t.ONE,s=e;for(;r>Vt;)r&Mt&&(n=t.mul(n,s)),s=t.sqr(s),r>>=Mt;return n}function e1(t,e,r=!1){const n=new Array(e.length).fill(r?t.ZERO:void 0),s=e.reduce((o,a,c)=>t.is0(a)?o:(n[c]=o,t.mul(o,a)),t.ONE),i=t.inv(s);return e.reduceRight((o,a,c)=>t.is0(a)?o:(n[c]=t.mul(o,n[c]),t.mul(o,a)),i),n}function Ep(t,e){const r=(t.ORDER-Mt)/Rs,n=t.pow(e,r),s=t.eql(n,t.ONE),i=t.eql(n,t.ZERO),o=t.eql(n,t.neg(t.ONE));if(!s&&!i&&!o)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function t1(t,e){e!==void 0&&ds(e);const r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Vh(t,e,r=!1,n={}){if(t<=Vt)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:s,nByteLength:i}=t1(t,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:t,isLE:r,BITS:s,BYTES:i,MASK:nu(s),ZERO:Vt,ONE:Mt,create:c=>Ht(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Vt<=c&&c<t},is0:c=>c===Vt,isOdd:c=>(c&Mt)===Mt,neg:c=>Ht(-c,t),eql:(c,u)=>c===u,sqr:c=>Ht(c*c,t),add:(c,u)=>Ht(c+u,t),sub:(c,u)=>Ht(c-u,t),mul:(c,u)=>Ht(c*u,t),pow:(c,u)=>AS(a,c,u),div:(c,u)=>Ht(c*md(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>md(c,t),sqrt:n.sqrt||(c=>(o||(o=wS(t)),o(a,c))),toBytes:c=>r?Jb(c,i):Pa(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return r?Yb(c):Hs(c)},invertBatch:c=>e1(a,c),cmov:(c,u,f)=>f?u:c});return Object.freeze(a)}function r1(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function n1(t){const e=r1(t);return e+Math.ceil(e/2)}function SS(t,e,r=!1){const n=t.length,s=r1(e),i=n1(e);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);const o=r?Yb(t):Hs(t),a=Ht(o,e-Mt)+Mt;return r?Jb(a,s):Pa(a,s)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ap=BigInt(0),bd=BigInt(1);function sf(t,e){const r=e.negate();return t?r:e}function s1(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function of(t,e){s1(t,e);const r=Math.ceil(e/t)+1,n=2**(t-1),s=2**t,i=nu(t),o=BigInt(t);return{windows:r,windowSize:n,mask:i,maxNumber:s,shiftBy:o}}function Sp(t,e,r){const{windowSize:n,mask:s,maxNumber:i,shiftBy:o}=r;let a=Number(t&s),c=t>>o;a>n&&(a-=i,c+=bd);const u=e*n,f=u+Math.abs(a)-1,l=a===0,p=a<0,d=e%2!==0;return{nextN:c,offset:f,isZero:l,isNeg:p,isNegF:d,offsetF:u}}function xS(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,n)=>{if(!(r instanceof e))throw new Error("invalid point at index "+n)})}function kS(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,n)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+n)})}const af=new WeakMap,i1=new WeakMap;function cf(t){return i1.get(t)||1}function TS(t,e){return{constTimeNegate:sf,hasPrecomputes(r){return cf(r)!==1},unsafeLadder(r,n,s=t.ZERO){let i=r;for(;n>Ap;)n&bd&&(s=s.add(i)),i=i.double(),n>>=bd;return s},precomputeWindow(r,n){const{windows:s,windowSize:i}=of(n,e),o=[];let a=r,c=a;for(let u=0;u<s;u++){c=a,o.push(c);for(let f=1;f<i;f++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(r,n,s){let i=t.ZERO,o=t.BASE;const a=of(r,e);for(let c=0;c<a.windows;c++){const{nextN:u,offset:f,isZero:l,isNeg:p,isNegF:d,offsetF:m}=Sp(s,c,a);s=u,l?o=o.add(sf(d,n[m])):i=i.add(sf(p,n[f]))}return{p:i,f:o}},wNAFUnsafe(r,n,s,i=t.ZERO){const o=of(r,e);for(let a=0;a<o.windows&&s!==Ap;a++){const{nextN:c,offset:u,isZero:f,isNeg:l}=Sp(s,a,o);if(s=c,!f){const p=n[u];i=i.add(l?p.negate():p)}}return i},getPrecomputes(r,n,s){let i=af.get(n);return i||(i=this.precomputeWindow(n,r),r!==1&&af.set(n,s(i))),i},wNAFCached(r,n,s){const i=cf(r);return this.wNAF(i,this.getPrecomputes(i,r,s),n)},wNAFCachedUnsafe(r,n,s,i){const o=cf(r);return o===1?this.unsafeLadder(r,n,i):this.wNAFUnsafe(o,this.getPrecomputes(o,r,s),n,i)},setWindowSize(r,n){s1(n,e),i1.set(r,n),af.delete(r)}}}function _S(t,e,r,n){xS(r,t),kS(n,e);const s=r.length,i=n.length;if(s!==i)throw new Error("arrays of points and scalars must have equal length");const o=t.ZERO,a=ME(BigInt(s));let c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);const u=nu(c),f=new Array(Number(u)+1).fill(o),l=Math.floor((e.BITS-1)/c)*c;let p=o;for(let d=l;d>=0;d-=c){f.fill(o);for(let g=0;g<i;g++){const A=n[g],S=Number(A>>BigInt(d)&u);f[S]=f[S].add(r[g])}let m=o;for(let g=f.length-1,A=o;g>0;g--)A=A.add(f[g]),m=m.add(A);if(p=p.add(m),d!==0)for(let g=0;g<c;g++)p=p.double()}return p}function o1(t){return ES(t.Fp),su(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...t1(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function xp(t){t.lowS!==void 0&&sa("lowS",t.lowS),t.prehash!==void 0&&sa("prehash",t.prehash)}function IS(t){const e=o1(t);su(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});const{endo:r,Fp:n,a:s}=e;if(r){if(!n.eql(s,n.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}class PS extends Error{constructor(e=""){super(e)}}const En={Err:PS,_tlv:{encode:(t,e)=>{const{Err:r}=En;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length&1)throw new r("tlv.encode: unpadded data");const n=e.length/2,s=qa(n);if(s.length/2&128)throw new r("tlv.encode: long form length too big");const i=n>127?qa(s.length/2|128):"";return qa(t)+i+s+e},decode(t,e){const{Err:r}=En;let n=0;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new r("tlv.decode: wrong tlv");const s=e[n++],i=!!(s&128);let o=0;if(!i)o=s;else{const c=s&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");const u=e.subarray(n,n+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(const f of u)o=o<<8|f;if(n+=c,o<128)throw new r("tlv.decode(long): not minimal encoding")}const a=e.subarray(n,n+o);if(a.length!==o)throw new r("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+o)}}},_int:{encode(t){const{Err:e}=En;if(t<xn)throw new e("integer: negative integers are not allowed");let r=qa(t);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return r},decode(t){const{Err:e}=En;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Hs(t)}},toSig(t){const{Err:e,_int:r,_tlv:n}=En,s=dr("signature",t),{v:i,l:o}=n.decode(48,s);if(o.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:c}=n.decode(2,i),{v:u,l:f}=n.decode(2,c);if(f.length)throw new e("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(t){const{_tlv:e,_int:r}=En,n=e.encode(2,r.encode(t.r)),s=e.encode(2,r.encode(t.s)),i=n+s;return e.encode(48,i)}};function uf(t,e){return ia(Pa(t,e))}const xn=BigInt(0),ut=BigInt(1);BigInt(2);const ff=BigInt(3),OS=BigInt(4);function BS(t){const e=IS(t),{Fp:r}=e,n=Vh(e.n,e.nBitLength),s=e.toBytes||((E,w,k)=>{const T=w.toAffine();return Bc(Uint8Array.from([4]),r.toBytes(T.x),r.toBytes(T.y))}),i=e.fromBytes||(E=>{const w=E.subarray(1),k=r.fromBytes(w.subarray(0,r.BYTES)),T=r.fromBytes(w.subarray(r.BYTES,2*r.BYTES));return{x:k,y:T}});function o(E){const{a:w,b:k}=e,T=r.sqr(E),P=r.mul(T,E);return r.add(r.add(P,r.mul(E,w)),k)}function a(E,w){const k=r.sqr(w),T=o(E);return r.eql(k,T)}if(!a(e.Gx,e.Gy))throw new Error("bad curve params: generator point");const c=r.mul(r.pow(e.a,ff),OS),u=r.mul(r.sqr(e.b),BigInt(27));if(r.is0(r.add(c,u)))throw new Error("bad curve params: a or b");function f(E){return Th(E,ut,e.n)}function l(E){const{allowedPrivateKeyLengths:w,nByteLength:k,wrapPrivateKey:T,n:P}=e;if(w&&typeof E!="bigint"){if(Ia(E)&&(E=ia(E)),typeof E!="string"||!w.includes(E.length))throw new Error("invalid private key");E=E.padStart(k*2,"0")}let N;try{N=typeof E=="bigint"?E:Hs(dr("private key",E,k))}catch{throw new Error("invalid private key, expected hex or "+k+" bytes, got "+typeof E)}return T&&(N=Ht(N,P)),Oi("private key",N,ut,P),N}function p(E){if(!(E instanceof g))throw new Error("ProjectivePoint expected")}const d=op((E,w)=>{const{px:k,py:T,pz:P}=E;if(r.eql(P,r.ONE))return{x:k,y:T};const N=E.is0();w==null&&(w=N?r.ONE:r.inv(P));const B=r.mul(k,w),j=r.mul(T,w),M=r.mul(P,w);if(N)return{x:r.ZERO,y:r.ZERO};if(!r.eql(M,r.ONE))throw new Error("invZ was invalid");return{x:B,y:j}}),m=op(E=>{if(E.is0()){if(e.allowInfinityPoint&&!r.is0(E.py))return;throw new Error("bad point: ZERO")}const{x:w,y:k}=E.toAffine();if(!r.isValid(w)||!r.isValid(k))throw new Error("bad point: x or y not FE");if(!a(w,k))throw new Error("bad point: equation left != right");if(!E.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class g{constructor(w,k,T){if(w==null||!r.isValid(w))throw new Error("x required");if(k==null||!r.isValid(k)||r.is0(k))throw new Error("y required");if(T==null||!r.isValid(T))throw new Error("z required");this.px=w,this.py=k,this.pz=T,Object.freeze(this)}static fromAffine(w){const{x:k,y:T}=w||{};if(!w||!r.isValid(k)||!r.isValid(T))throw new Error("invalid affine point");if(w instanceof g)throw new Error("projective point not allowed");const P=N=>r.eql(N,r.ZERO);return P(k)&&P(T)?g.ZERO:new g(k,T,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(w){const k=e1(r,w.map(T=>T.pz));return w.map((T,P)=>T.toAffine(k[P])).map(g.fromAffine)}static fromHex(w){const k=g.fromAffine(i(dr("pointHex",w)));return k.assertValidity(),k}static fromPrivateKey(w){return g.BASE.multiply(l(w))}static msm(w,k){return _S(g,n,w,k)}_setWindowSize(w){_.setWindowSize(this,w)}assertValidity(){m(this)}hasEvenY(){const{y:w}=this.toAffine();if(r.isOdd)return!r.isOdd(w);throw new Error("Field doesn't support isOdd")}equals(w){p(w);const{px:k,py:T,pz:P}=this,{px:N,py:B,pz:j}=w,M=r.eql(r.mul(k,j),r.mul(N,P)),H=r.eql(r.mul(T,j),r.mul(B,P));return M&&H}negate(){return new g(this.px,r.neg(this.py),this.pz)}double(){const{a:w,b:k}=e,T=r.mul(k,ff),{px:P,py:N,pz:B}=this;let j=r.ZERO,M=r.ZERO,H=r.ZERO,z=r.mul(P,P),Z=r.mul(N,N),U=r.mul(B,B),W=r.mul(P,N);return W=r.add(W,W),H=r.mul(P,B),H=r.add(H,H),j=r.mul(w,H),M=r.mul(T,U),M=r.add(j,M),j=r.sub(Z,M),M=r.add(Z,M),M=r.mul(j,M),j=r.mul(W,j),H=r.mul(T,H),U=r.mul(w,U),W=r.sub(z,U),W=r.mul(w,W),W=r.add(W,H),H=r.add(z,z),z=r.add(H,z),z=r.add(z,U),z=r.mul(z,W),M=r.add(M,z),U=r.mul(N,B),U=r.add(U,U),z=r.mul(U,W),j=r.sub(j,z),H=r.mul(U,Z),H=r.add(H,H),H=r.add(H,H),new g(j,M,H)}add(w){p(w);const{px:k,py:T,pz:P}=this,{px:N,py:B,pz:j}=w;let M=r.ZERO,H=r.ZERO,z=r.ZERO;const Z=e.a,U=r.mul(e.b,ff);let W=r.mul(k,N),ee=r.mul(T,B),G=r.mul(P,j),O=r.add(k,T),L=r.add(N,B);O=r.mul(O,L),L=r.add(W,ee),O=r.sub(O,L),L=r.add(k,P);let X=r.add(N,j);return L=r.mul(L,X),X=r.add(W,G),L=r.sub(L,X),X=r.add(T,P),M=r.add(B,j),X=r.mul(X,M),M=r.add(ee,G),X=r.sub(X,M),z=r.mul(Z,L),M=r.mul(U,G),z=r.add(M,z),M=r.sub(ee,z),z=r.add(ee,z),H=r.mul(M,z),ee=r.add(W,W),ee=r.add(ee,W),G=r.mul(Z,G),L=r.mul(U,L),ee=r.add(ee,G),G=r.sub(W,G),G=r.mul(Z,G),L=r.add(L,G),W=r.mul(ee,L),H=r.add(H,W),W=r.mul(X,L),M=r.mul(O,M),M=r.sub(M,W),W=r.mul(O,ee),z=r.mul(X,z),z=r.add(z,W),new g(M,H,z)}subtract(w){return this.add(w.negate())}is0(){return this.equals(g.ZERO)}wNAF(w){return _.wNAFCached(this,w,g.normalizeZ)}multiplyUnsafe(w){const{endo:k,n:T}=e;Oi("scalar",w,xn,T);const P=g.ZERO;if(w===xn)return P;if(this.is0()||w===ut)return this;if(!k||_.hasPrecomputes(this))return _.wNAFCachedUnsafe(this,w,g.normalizeZ);let{k1neg:N,k1:B,k2neg:j,k2:M}=k.splitScalar(w),H=P,z=P,Z=this;for(;B>xn||M>xn;)B&ut&&(H=H.add(Z)),M&ut&&(z=z.add(Z)),Z=Z.double(),B>>=ut,M>>=ut;return N&&(H=H.negate()),j&&(z=z.negate()),z=new g(r.mul(z.px,k.beta),z.py,z.pz),H.add(z)}multiply(w){const{endo:k,n:T}=e;Oi("scalar",w,ut,T);let P,N;if(k){const{k1neg:B,k1:j,k2neg:M,k2:H}=k.splitScalar(w);let{p:z,f:Z}=this.wNAF(j),{p:U,f:W}=this.wNAF(H);z=_.constTimeNegate(B,z),U=_.constTimeNegate(M,U),U=new g(r.mul(U.px,k.beta),U.py,U.pz),P=z.add(U),N=Z.add(W)}else{const{p:B,f:j}=this.wNAF(w);P=B,N=j}return g.normalizeZ([P,N])[0]}multiplyAndAddUnsafe(w,k,T){const P=g.BASE,N=(j,M)=>M===xn||M===ut||!j.equals(P)?j.multiplyUnsafe(M):j.multiply(M),B=N(this,k).add(N(w,T));return B.is0()?void 0:B}toAffine(w){return d(this,w)}isTorsionFree(){const{h:w,isTorsionFree:k}=e;if(w===ut)return!0;if(k)return k(g,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:w,clearCofactor:k}=e;return w===ut?this:k?k(g,this):this.multiplyUnsafe(e.h)}toRawBytes(w=!0){return sa("isCompressed",w),this.assertValidity(),s(g,this,w)}toHex(w=!0){return sa("isCompressed",w),ia(this.toRawBytes(w))}}g.BASE=new g(e.Gx,e.Gy,r.ONE),g.ZERO=new g(r.ZERO,r.ONE,r.ZERO);const{endo:A,nBitLength:S}=e,_=TS(g,A?Math.ceil(S/2):S);return{CURVE:e,ProjectivePoint:g,normPrivateKeyToScalar:l,weierstrassEquation:o,isWithinCurveOrder:f}}function CS(t){const e=o1(t);return su(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function RS(t){const e=CS(t),{Fp:r,n,nByteLength:s,nBitLength:i}=e,o=r.BYTES+1,a=2*r.BYTES+1;function c(U){return Ht(U,n)}function u(U){return md(U,n)}const{ProjectivePoint:f,normPrivateKeyToScalar:l,weierstrassEquation:p,isWithinCurveOrder:d}=BS({...e,toBytes(U,W,ee){const G=W.toAffine(),O=r.toBytes(G.x),L=Bc;return sa("isCompressed",ee),ee?L(Uint8Array.from([W.hasEvenY()?2:3]),O):L(Uint8Array.from([4]),O,r.toBytes(G.y))},fromBytes(U){const W=U.length,ee=U[0],G=U.subarray(1);if(W===o&&(ee===2||ee===3)){const O=Hs(G);if(!Th(O,ut,r.ORDER))throw new Error("Point is not on curve");const L=p(O);let X;try{X=r.sqrt(L)}catch(D){const ne=D instanceof Error?": "+D.message:"";throw new Error("Point is not on curve"+ne)}const C=(X&ut)===ut;return(ee&1)===1!==C&&(X=r.neg(X)),{x:O,y:X}}else if(W===a&&ee===4){const O=r.fromBytes(G.subarray(0,r.BYTES)),L=r.fromBytes(G.subarray(r.BYTES,2*r.BYTES));return{x:O,y:L}}else{const O=o,L=a;throw new Error("invalid Point, expected length of "+O+", or uncompressed "+L+", got "+W)}}});function m(U){const W=n>>ut;return U>W}function g(U){return m(U)?c(-U):U}const A=(U,W,ee)=>Hs(U.slice(W,ee));class S{constructor(W,ee,G){Oi("r",W,ut,n),Oi("s",ee,ut,n),this.r=W,this.s=ee,G!=null&&(this.recovery=G),Object.freeze(this)}static fromCompact(W){const ee=s;return W=dr("compactSignature",W,ee*2),new S(A(W,0,ee),A(W,ee,2*ee))}static fromDER(W){const{r:ee,s:G}=En.toSig(dr("DER",W));return new S(ee,G)}assertValidity(){}addRecoveryBit(W){return new S(this.r,this.s,W)}recoverPublicKey(W){const{r:ee,s:G,recovery:O}=this,L=P(dr("msgHash",W));if(O==null||![0,1,2,3].includes(O))throw new Error("recovery id invalid");const X=O===2||O===3?ee+e.n:ee;if(X>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");const C=O&1?"03":"02",F=f.fromHex(C+uf(X,r.BYTES)),D=u(X),ne=c(-L*D),oe=c(G*D),le=f.BASE.multiplyAndAddUnsafe(F,ne,oe);if(!le)throw new Error("point at infinify");return le.assertValidity(),le}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new S(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Oc(this.toDERHex())}toDERHex(){return En.hexFromSig(this)}toCompactRawBytes(){return Oc(this.toCompactHex())}toCompactHex(){const W=s;return uf(this.r,W)+uf(this.s,W)}}const _={isValidPrivateKey(U){try{return l(U),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const U=n1(e.n);return SS(e.randomBytes(U),e.n)},precompute(U=8,W=f.BASE){return W._setWindowSize(U),W.multiply(BigInt(3)),W}};function E(U,W=!0){return f.fromPrivateKey(U).toRawBytes(W)}function w(U){if(typeof U=="bigint")return!1;if(U instanceof f)return!0;const ee=dr("key",U).length,G=r.BYTES,O=G+1,L=2*G+1;if(!(e.allowedPrivateKeyLengths||s===O))return ee===O||ee===L}function k(U,W,ee=!0){if(w(U)===!0)throw new Error("first arg must be private key");if(w(W)===!1)throw new Error("second arg must be public key");return f.fromHex(W).multiply(l(U)).toRawBytes(ee)}const T=e.bits2int||function(U){if(U.length>8192)throw new Error("input is too large");const W=Hs(U),ee=U.length*8-i;return ee>0?W>>BigInt(ee):W},P=e.bits2int_modN||function(U){return c(T(U))},N=nu(i);function B(U){return Oi("num < 2^"+i,U,xn,N),Pa(U,s)}function j(U,W,ee=M){if(["recovered","canonical"].some(ie=>ie in ee))throw new Error("sign() legacy options not supported");const{hash:G,randomBytes:O}=e;let{lowS:L,prehash:X,extraEntropy:C}=ee;L==null&&(L=!0),U=dr("msgHash",U),xp(ee),X&&(U=dr("prehashed msgHash",G(U)));const F=P(U),D=l(W),ne=[B(D),B(F)];if(C!=null&&C!==!1){const ie=C===!0?O(r.BYTES):C;ne.push(dr("extraEntropy",ie))}const oe=Bc(...ne),le=F;function ue(ie){const se=T(ie);if(!d(se))return;const be=u(se),ge=f.BASE.multiply(se).toAffine(),Ee=c(ge.x);if(Ee===xn)return;const ke=c(be*c(le+Ee*D));if(ke===xn)return;let rt=(ge.x===Ee?0:2)|Number(ge.y&ut),Ce=ke;return L&&m(ke)&&(Ce=g(ke),rt^=1),new S(Ee,Ce,rt)}return{seed:oe,k2sig:ue}}const M={lowS:e.lowS,prehash:!1},H={lowS:e.lowS,prehash:!1};function z(U,W,ee=M){const{seed:G,k2sig:O}=j(U,W,ee),L=e;return $E(L.hash.outputLen,L.nByteLength,L.hmac)(G,O)}f.BASE._setWindowSize(8);function Z(U,W,ee,G=H){var rt;const O=U;W=dr("msgHash",W),ee=dr("publicKey",ee);const{lowS:L,prehash:X,format:C}=G;if(xp(G),"strict"in G)throw new Error("options.strict was renamed to lowS");if(C!==void 0&&C!=="compact"&&C!=="der")throw new Error("format must be compact or der");const F=typeof O=="string"||Ia(O),D=!F&&!C&&typeof O=="object"&&O!==null&&typeof O.r=="bigint"&&typeof O.s=="bigint";if(!F&&!D)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ne,oe;try{if(D&&(ne=new S(O.r,O.s)),F){try{C!=="compact"&&(ne=S.fromDER(O))}catch(Ce){if(!(Ce instanceof En.Err))throw Ce}!ne&&C!=="der"&&(ne=S.fromCompact(O))}oe=f.fromHex(ee)}catch{return!1}if(!ne||L&&ne.hasHighS())return!1;X&&(W=e.hash(W));const{r:le,s:ue}=ne,ie=P(W),se=u(ue),be=c(ie*se),ge=c(le*se),Ee=(rt=f.BASE.multiplyAndAddUnsafe(oe,be,ge))==null?void 0:rt.toAffine();return Ee?c(Ee.x)===le:!1}return{CURVE:e,getPublicKey:E,getSharedSecret:k,sign:z,verify:Z,ProjectivePoint:f,Signature:S,utils:_}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function NS(t){return{hash:t,hmac:(e,...r)=>Yg(t,e,rv(...r)),randomBytes:sv}}function US(t,e){const r=n=>RS({...t,...NS(n)});return{...r(e),create:r}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const a1=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),kp=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),FS=BigInt(0),MS=BigInt(1),gd=BigInt(2),Tp=(t,e)=>(t+e/gd)/e;function $S(t){const e=a1,r=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,f=u*u*t%e,l=ur(f,r,e)*f%e,p=ur(l,r,e)*f%e,d=ur(p,gd,e)*u%e,m=ur(d,s,e)*d%e,g=ur(m,i,e)*m%e,A=ur(g,a,e)*g%e,S=ur(A,c,e)*A%e,_=ur(S,a,e)*g%e,E=ur(_,r,e)*f%e,w=ur(E,o,e)*m%e,k=ur(w,n,e)*u%e,T=ur(k,gd,e);if(!wd.eql(wd.sqr(T),t))throw new Error("Cannot find square root");return T}const wd=Vh(a1,void 0,void 0,{sqrt:$S}),c1=US({a:FS,b:BigInt(7),Fp:wd,n:kp,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const e=kp,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-MS*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=r,o=BigInt("0x100000000000000000000000000000000"),a=Tp(i*t,e),c=Tp(-n*t,e);let u=Ht(t-a*r-c*s,e),f=Ht(-a*n-c*i,e);const l=u>o,p=f>o;if(l&&(u=e-u),p&&(f=e-f),u>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:p,k2:f}}}},$b),jS=Object.freeze(Object.defineProperty({__proto__:null,secp256k1:c1},Symbol.toStringTag,{value:"Module"}));function u1(t,e={}){const{recovered:r}=e;if(typeof t.r>"u")throw new lf({signature:t});if(typeof t.s>"u")throw new lf({signature:t});if(r&&typeof t.yParity>"u")throw new lf({signature:t});if(t.r<0n||t.r>gp)throw new qS({value:t.r});if(t.s<0n||t.s>gp)throw new WS({value:t.s});if(typeof t.yParity=="number"&&t.yParity!==0&&t.yParity!==1)throw new qh({value:t.yParity})}function HS(t){return f1(Fr(t))}function f1(t){if(t.length!==130&&t.length!==132)throw new GS({signature:t});const e=BigInt(rn(t,0,32)),r=BigInt(rn(t,32,64)),n=(()=>{const s=+`0x${t.slice(130)}`;if(!Number.isNaN(s))try{return Gh(s)}catch{throw new qh({value:s})}})();return typeof n>"u"?{r:e,s:r}:{r:e,s:r,yParity:n}}function LS(t){if(!(typeof t.r>"u")&&!(typeof t.s>"u"))return DS(t)}function DS(t){const e=typeof t=="string"?f1(t):t instanceof Uint8Array?HS(t):typeof t.r=="string"?VS(t):t.v?zS(t):{r:t.r,s:t.s,...typeof t.yParity<"u"?{yParity:t.yParity}:{}};return u1(e),e}function zS(t){return{r:t.r,s:t.s,yParity:Gh(t.v)}}function VS(t){const e=(()=>{const r=t.v?Number(t.v):void 0;let n=t.yParity?Number(t.yParity):void 0;if(typeof r=="number"&&typeof n!="number"&&(n=Gh(r)),typeof n!="number")throw new qh({value:t.yParity});return n})();return{r:BigInt(t.r),s:BigInt(t.s),yParity:e}}function Gh(t){if(t===0||t===27)return 0;if(t===1||t===28)return 1;if(t>=35)return t%2===0?1:0;throw new KS({value:t})}class GS extends fe{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${sr(uA(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class lf extends fe{constructor({signature:e}){super(`Signature \`${eg(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class qS extends fe{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}}class WS extends fe{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}}class qh extends fe{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}}class KS extends fe{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}}function YS(t,e={}){return typeof t.chainId=="string"?JS(t):{...t,...e.signature}}function JS(t){const{address:e,chainId:r,nonce:n}=t,s=LS(t);return{address:e,chainId:Number(r),nonce:BigInt(n),...s}}const XS="0x8010801080108010801080108010801080108010801080108010801080108010",ZS=Gg("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function l1(t){if(typeof t=="string"){if(rn(t,-32)!==XS)throw new tx(t)}else u1(t.authorization)}function QS(t){l1(t);const e=ig(rn(t,-64,-32)),r=rn(t,-e-64,-64),n=rn(t,0,-e-64),[s,i,o]=lS(ZS,r);return{authorization:YS({address:s.delegation,chainId:Number(s.chainId),nonce:s.nonce,yParity:s.yParity,r:s.r,s:s.s}),signature:n,...o&&o!=="0x"?{data:o,to:i}:{}}}function ex(t){try{return l1(t),!0}catch{return!1}}let tx=class extends fe{constructor(e){super(`Value \`${e}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};function rx(t){return t.map(e=>({...e,value:BigInt(e.value)}))}function nx(t){return{...t,balance:t.balance?BigInt(t.balance):void 0,nonce:t.nonce?gr(t.nonce):void 0,storageProof:t.storageProof?rx(t.storageProof):void 0}}async function sx(t,{address:e,blockNumber:r,blockTag:n,storageKeys:s}){const i=n??"latest",o=r!==void 0?J(r):void 0,a=await t.request({method:"eth_getProof",params:[e,s,o||i]});return nx(a)}async function ix(t,{address:e,blockNumber:r,blockTag:n="latest",slot:s}){const i=r!==void 0?J(r):void 0;return await t.request({method:"eth_getStorageAt",params:[e,s,i||n]})}async function Wh(t,{blockHash:e,blockNumber:r,blockTag:n,hash:s,index:i,sender:o,nonce:a}){var p,d,m;const c=n||"latest",u=r!==void 0?J(r):void 0;let f=null;if(s?f=await t.request({method:"eth_getTransactionByHash",params:[s]},{dedupe:!0}):e?f=await t.request({method:"eth_getTransactionByBlockHashAndIndex",params:[e,J(i)]},{dedupe:!0}):typeof i=="number"?f=await t.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[u||c,J(i)]},{dedupe:!!u}):o&&typeof a=="number"&&(f=await t.request({method:"eth_getTransactionBySenderAndNonce",params:[o,J(a)]},{dedupe:!0})),!f)throw new Tb({blockHash:e,blockNumber:r,blockTag:c,hash:s,index:i});return(((m=(d=(p=t.chain)==null?void 0:p.formatters)==null?void 0:d.transaction)==null?void 0:m.format)||Ta)(f,"getTransaction")}async function ox(t,{hash:e,transactionReceipt:r}){const[n,s]=await Promise.all([re(t,Ca,"getBlockNumber")({}),e?re(t,Wh,"getTransaction")({hash:e}):void 0]),i=(r==null?void 0:r.blockNumber)||(s==null?void 0:s.blockNumber);return i?n-i+1n:0n}async function pc(t,{hash:e}){var s,i,o;const r=await t.request({method:"eth_getTransactionReceipt",params:[e]},{dedupe:!0});if(!r)throw new _b({hash:e});return(((o=(i=(s=t.chain)==null?void 0:s.formatters)==null?void 0:i.transactionReceipt)==null?void 0:o.format)||Rh)(r,"getTransactionReceipt")}async function ax(t,e){var _;const{account:r,authorizationList:n,allowFailure:s=!0,blockNumber:i,blockOverrides:o,blockTag:a,stateOverride:c}=e,u=e.contracts,{batchSize:f=e.batchSize??1024,deployless:l=e.deployless??!1}=typeof((_=t.batch)==null?void 0:_.multicall)=="object"?t.batch.multicall:{},p=(()=>{if(e.multicallAddress)return e.multicallAddress;if(l)return null;if(t.chain)return ro({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),d=[[]];let m=0,g=0;for(let E=0;E<u.length;E++){const{abi:w,address:k,args:T,functionName:P}=u[E];try{const N=or({abi:w,args:T,functionName:P});g+=(N.length-2)/2,f>0&&g>f&&d[m].length>0&&(m++,g=(N.length-2)/2,d[m]=[]),d[m]=[...d[m],{allowFailure:!0,callData:N,target:k}]}catch(N){const B=Ys(N,{abi:w,address:k,args:T,docsPath:"/docs/contract/multicall",functionName:P,sender:r});if(!s)throw B;d[m]=[...d[m],{allowFailure:!0,callData:"0x",target:k}]}}const A=await Promise.allSettled(d.map(E=>re(t,wr,"readContract")({...p===null?{code:Ih}:{address:p},abi:Cc,account:r,args:[E],authorizationList:n,blockNumber:i,blockOverrides:o,blockTag:a,functionName:"aggregate3",stateOverride:c}))),S=[];for(let E=0;E<A.length;E++){const w=A[E];if(w.status==="rejected"){if(!s)throw w.reason;for(let T=0;T<d[E].length;T++)S.push({status:"failure",error:w.reason,result:void 0});continue}const k=w.value;for(let T=0;T<k.length;T++){const{returnData:P,success:N}=k[T],{callData:B}=d[E][T],{abi:j,address:M,functionName:H,args:z}=u[S.length];try{if(B==="0x")throw new wa;if(!N)throw new Zc({data:P});const Z=oi({abi:j,args:z,data:P,functionName:H});S.push(s?{result:Z,status:"success"}:Z)}catch(Z){const U=Ys(Z,{abi:j,address:M,args:z,docsPath:"/docs/contract/multicall",functionName:H});if(!s)throw U;S.push({error:U,result:void 0,status:"failure"})}}}if(S.length!==u.length)throw new V("multicall results mismatch");return S}async function vd(t,e){const{blockNumber:r,blockTag:n=t.experimental_blockTag??"latest",blocks:s,returnFullTransactions:i,traceTransfers:o,validation:a}=e;try{const c=[];for(const p of s){const d=p.blockOverrides?cg(p.blockOverrides):void 0,m=p.calls.map(A=>{const S=A,_=S.account?He(S.account):void 0,E=S.abi?or(S):S.data,w={...S,account:_,data:S.dataSuffix?nr([E||"0x",S.dataSuffix]):E,from:S.from??(_==null?void 0:_.address)};return jn(w),vs(w)}),g=p.stateOverrides?fh(p.stateOverrides):void 0;c.push({blockOverrides:d,calls:m,stateOverrides:g})}const f=(typeof r=="bigint"?J(r):void 0)||n;return(await t.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:i,traceTransfers:o,validation:a},f]})).map((p,d)=>({...dh(p),calls:p.calls.map((m,g)=>{var j,M;const{abi:A,args:S,functionName:_,to:E}=s[d].calls[g],w=((j=m.error)==null?void 0:j.data)??m.returnData,k=BigInt(m.gasUsed),T=(M=m.logs)==null?void 0:M.map(H=>Rn(H)),P=m.status==="0x1"?"success":"failure",N=A&&P==="success"&&w!=="0x"?oi({abi:A,data:w,functionName:_}):null,B=(()=>{var z;if(P==="success")return;let H;if(((z=m.error)==null?void 0:z.data)==="0x"?H=new wa:m.error&&(H=new Zc(m.error)),!!H)return Ys(H,{abi:A??[],address:E??"0x",args:S,functionName:_??"<unknown>"})})();return{data:w,gasUsed:k,logs:T,status:P,...P==="success"?{result:N}:{error:B}}})}))}catch(c){const u=c,f=eu(u,{});throw f instanceof ka?u:f}}function Ed(t){let e=!0,r="",n=0,s="",i=!1;for(let o=0;o<t.length;o++){const a=t[o];if(["(",")",","].includes(a)&&(e=!0),a==="("&&n++,a===")"&&n--,!!e){if(n===0){if(a===" "&&["event","function","error",""].includes(s))s="";else if(s+=a,a===")"){i=!0;break}continue}if(a===" "){t[o-1]!==","&&r!==","&&r!==",("&&(r="",e=!1);continue}s+=a,r+=a}}if(!i)throw new fe("Unable to normalize signature.");return s}function Ad(t,e){const r=typeof t,n=e.type;switch(n){case"address":return hd(t,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in e?Object.values(e.components).every((s,i)=>Ad(Object.values(t)[i],s)):/^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"||t instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(t)&&t.every(s=>Ad(s,{...e,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function d1(t,e,r){for(const n in t){const s=t[n],i=e[n];if(s.type==="tuple"&&i.type==="tuple"&&"components"in s&&"components"in i)return d1(s.components,i.components,r[n]);const o=[s.type,i.type];if(o.includes("address")&&o.includes("bytes20")?!0:o.includes("address")&&o.includes("string")?hd(r[n],{strict:!1}):o.includes("address")&&o.includes("bytes")?hd(r[n],{strict:!1}):!1)return o}}function h1(t,e={}){const{prepare:r=!0}=e,n=Array.isArray(t)||typeof t=="string"?U0(t):t;return{...n,...r?{hash:Ti(n)}:{}}}function hu(t,e,r){const{args:n=[],prepare:s=!0}=r??{},i=fA(e,{strict:!1}),o=t.filter(u=>i?u.type==="function"||u.type==="error"?p1(u)===rn(e,0,4):u.type==="event"?Ti(u)===e:!1:"name"in u&&u.name===e);if(o.length===0)throw new Nc({name:e});if(o.length===1)return{...o[0],...s?{hash:Ti(o[0])}:{}};let a;for(const u of o){if(!("inputs"in u))continue;if(!n||n.length===0){if(!u.inputs||u.inputs.length===0)return{...u,...s?{hash:Ti(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==n.length)continue;if(n.every((l,p)=>{const d="inputs"in u&&u.inputs[p];return d?Ad(l,d):!1})){if(a&&"inputs"in a&&a.inputs){const l=d1(u.inputs,a.inputs,n);if(l)throw new ux({abiItem:u,type:l[0]},{abiItem:a,type:l[1]})}a=u}}const c=(()=>{if(a)return a;const[u,...f]=o;return{...u,overloads:f}})();if(!c)throw new Nc({name:e});return{...c,...s?{hash:Ti(c)}:{}}}function p1(...t){const e=(()=>{if(Array.isArray(t[0])){const[r,n]=t;return hu(r,n)}return t[0]})();return rn(Ti(e),0,4)}function cx(...t){const e=(()=>{if(Array.isArray(t[0])){const[n,s]=t;return hu(n,s)}return t[0]})(),r=typeof e=="string"?e:_c(e);return Ed(r)}function Ti(...t){const e=(()=>{if(Array.isArray(t[0])){const[r,n]=t;return hu(r,n)}return t[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:Dg(_h(cx(e)))}class ux extends fe{constructor(e,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${Ed(_c(e.abiItem))}\`, and`,`\`${r.type}\` in \`${Ed(_c(r.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class Nc extends fe{constructor({name:e,data:r,type:n="item"}){const s=e?` with name "${e}"`:r?` with data "${r}"`:"";super(`ABI ${n}${s} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}function fx(...t){var i;const[e,r]=(()=>{if(Array.isArray(t[0])){const[o,a]=t;return[dx(o),a]}return t})(),{bytecode:n,args:s}=r;return Ur(n,(i=e.inputs)!=null&&i.length&&(s!=null&&s.length)?Dh(e.inputs,s):"0x")}function lx(t){return h1(t)}function dx(t){const e=t.find(r=>r.type==="constructor");if(!e)throw new Nc({name:"constructor"});return e}function hx(...t){const[e,r=[]]=(()=>{if(Array.isArray(t[0])){const[u,f,l]=t;return[_p(u,f,{args:l}),l]}const[a,c]=t;return[a,c]})(),{overloads:n}=e,s=n?_p([e,...n],e.name,{args:r}):e,i=px(s),o=r.length>0?Dh(s.inputs,r):void 0;return o?Ur(i,o):i}function hi(t,e={}){return h1(t,e)}function _p(t,e,r){const n=hu(t,e,r);if(n.type!=="function")throw new Nc({name:e,type:"function"});return n}function px(t){return p1(t)}const yx="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",zr="0x0000000000000000000000000000000000000000",mx="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function bx(t,e){const{blockNumber:r,blockTag:n,calls:s,stateOverrides:i,traceAssetChanges:o,traceTransfers:a,validation:c}=e,u=e.account?He(e.account):void 0;if(o&&!u)throw new V("`account` is required when `traceAssetChanges` is true");const f=u?fx(lx("constructor(bytes, bytes)"),{bytecode:dg,args:[mx,hx(hi("function getBalance(address)"),[u.address])]}):void 0,l=o?await Promise.all(e.calls.map(async G=>{if(!G.data&&!G.abi)return;const{accessList:O}=await Cg(t,{account:u.address,...G,data:G.abi?or(G):G.data});return O.map(({address:L,storageKeys:X})=>X.length>0?L:null)})).then(G=>G.flat().filter(Boolean)):[],p=await vd(t,{blockNumber:r,blockTag:n,blocks:[...o?[{calls:[{data:f}],stateOverrides:i},{calls:l.map((G,O)=>({abi:[hi("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:G,from:zr,nonce:O})),stateOverrides:[{address:zr,nonce:0}]}]:[],{calls:[...s,{}].map(G=>({...G,from:u==null?void 0:u.address})),stateOverrides:i},...o?[{calls:[{data:f}]},{calls:l.map((G,O)=>({abi:[hi("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:G,from:zr,nonce:O})),stateOverrides:[{address:zr,nonce:0}]},{calls:l.map((G,O)=>({to:G,abi:[hi("function decimals() returns (uint256)")],functionName:"decimals",from:zr,nonce:O})),stateOverrides:[{address:zr,nonce:0}]},{calls:l.map((G,O)=>({to:G,abi:[hi("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:zr,nonce:O})),stateOverrides:[{address:zr,nonce:0}]},{calls:l.map((G,O)=>({to:G,abi:[hi("function symbol() returns (string)")],functionName:"symbol",from:zr,nonce:O})),stateOverrides:[{address:zr,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=o?p[2]:p[0],[m,g,,A,S,_,E,w]=o?p:[],{calls:k,...T}=d,P=k.slice(0,-1)??[],N=(m==null?void 0:m.calls)??[],B=(g==null?void 0:g.calls)??[],j=[...N,...B].map(G=>G.status==="success"?ft(G.data):null),M=(A==null?void 0:A.calls)??[],H=(S==null?void 0:S.calls)??[],z=[...M,...H].map(G=>G.status==="success"?ft(G.data):null),Z=((_==null?void 0:_.calls)??[]).map(G=>G.status==="success"?G.result:null),U=((w==null?void 0:w.calls)??[]).map(G=>G.status==="success"?G.result:null),W=((E==null?void 0:E.calls)??[]).map(G=>G.status==="success"?G.result:null),ee=[];for(const[G,O]of z.entries()){const L=j[G];if(typeof O!="bigint"||typeof L!="bigint")continue;const X=Z[G-1],C=U[G-1],F=W[G-1],D=G===0?{address:yx,decimals:18,symbol:"ETH"}:{address:l[G-1],decimals:F||X?Number(X??1):void 0,symbol:C??void 0};ee.some(ne=>ne.token.address===D.address)||ee.push({token:D,value:{pre:L,post:O,diff:O-L}})}return{assetChanges:ee,block:T,results:P}}const y1="0x6492649264926492649264926492649264926492649264926492649264926492";function gx(t){if(rn(t,-32)!==y1)throw new Ex(t)}function wx(t){const{data:e,signature:r,to:n}=t;return Ur(Dh(Gg("address, bytes, bytes"),[n,e,r]),y1)}function vx(t){try{return gx(t),!0}catch{return!1}}class Ex extends fe{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}function Ax({r:t,s:e,to:r="hex",v:n,yParity:s}){const i=(()=>{if(s===0||s===1)return s;if(n&&(n===27n||n===28n||n>=35n))return n%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),o=`0x${new c1.Signature(ft(t),ft(e)).toCompactHex()}${i===0?"1b":"1c"}`;return r==="hex"?o:sn(o)}async function pu(t,e){var c,u,f,l;const{address:r,chain:n=t.chain,hash:s,erc6492VerifierAddress:i=e.universalSignatureVerifierAddress??((u=(c=n==null?void 0:n.contracts)==null?void 0:c.erc6492Verifier)==null?void 0:u.address),multicallAddress:o=e.multicallAddress??((l=(f=n==null?void 0:n.contracts)==null?void 0:f.multicall3)==null?void 0:l.address)}=e;if(n!=null&&n.verifyHash)return await n.verifyHash(t,e);const a=(()=>{const p=e.signature;return Nr(p)?p:typeof p=="object"&&"r"in p&&"s"in p?Ax(p):tt(p)})();try{return ex(a)?await Sx(t,{...e,multicallAddress:o,signature:a}):await xx(t,{...e,verifierAddress:i,signature:a})}catch(p){try{if(to(th(r),await Bb({hash:s,signature:a})))return!0}catch{}if(p instanceof Qs)return!1;throw p}}async function Sx(t,e){var A;const{address:r,blockNumber:n,blockTag:s,hash:i,multicallAddress:o}=e,{authorization:a,data:c,signature:u,to:f}=QS(e.signature);if(await dd(t,{address:r,blockNumber:n,blockTag:s})===$r(["0xef0100",a.address]))return await kx(t,{address:r,blockNumber:n,blockTag:s,hash:i,signature:u});const p={address:a.address,chainId:Number(a.chainId),nonce:Number(a.nonce),r:J(a.r,{size:32}),s:J(a.s,{size:32}),yParity:a.yParity};if(!await E8({address:r,authorization:p}))throw new Qs;const m=await re(t,wr,"readContract")({...o?{address:o}:{code:Ih},authorizationList:[p],abi:Cc,blockNumber:n,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:f??r,callData:c}]:[],{allowFailure:!0,target:r,callData:or({abi:lg,functionName:"isValidSignature",args:[i,u]})}]]}),g=(A=m[m.length-1])==null?void 0:A.returnData;if(g!=null&&g.startsWith("0x1626ba7e"))return!0;throw new Qs}async function xx(t,e){const{address:r,factory:n,factoryData:s,hash:i,signature:o,verifierAddress:a,...c}=e,u=await(async()=>!n&&!s||vx(o)?o:wx({data:s,signature:o,to:n}))(),f=a?{to:a,data:or({abi:dp,functionName:"isValidSig",args:[r,i,u]}),...c}:{data:au({abi:dp,args:[r,i,u],bytecode:bA}),...c},{data:l}=await re(t,Ba,"call")(f).catch(p=>{throw p instanceof Pb?new Qs:p});if(M5(l??"0x0"))return!0;throw new Qs}async function kx(t,e){const{address:r,blockNumber:n,blockTag:s,hash:i,signature:o}=e;if((await re(t,wr,"readContract")({address:r,abi:lg,args:[i,o],blockNumber:n,blockTag:s,functionName:"isValidSignature"}).catch(c=>{throw c instanceof Ob?new Qs:c})).startsWith("0x1626ba7e"))return!0;throw new Qs}class Qs extends Error{}async function Tx(t,{address:e,message:r,factory:n,factoryData:s,signature:i,...o}){const a=Ug(r);return re(t,pu,"verifyHash")({address:e,factory:n,factoryData:s,hash:a,signature:i,...o})}async function _x(t,e){const{address:r,factory:n,factoryData:s,signature:i,message:o,primaryType:a,types:c,domain:u,...f}=e,l=U8({message:o,primaryType:a,types:c,domain:u});return re(t,pu,"verifyHash")({address:r,factory:n,factoryData:s,hash:l,signature:i,...f})}function m1(t,{emitOnBegin:e=!1,emitMissed:r=!1,onBlockNumber:n,onError:s,poll:i,pollingInterval:o=t.pollingInterval}){const a=typeof i<"u"?i:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc"));let c;return a?(()=>{const l=et(["watchBlockNumber",t.uid,e,r,o]);return Nn(l,{onBlockNumber:n,onError:s},p=>no(async()=>{var d;try{const m=await re(t,Ca,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(m===c)return;if(m-c>1&&r)for(let g=c+1n;g<m;g++)p.onBlockNumber(g,c),c=g}(c===void 0||m>c)&&(p.onBlockNumber(m,c),c=m)}catch(m){(d=p.onError)==null||d.call(p,m)}},{emitOnBegin:e,interval:o}))})():(()=>{const l=et(["watchBlockNumber",t.uid,e,r]);return Nn(l,{onBlockNumber:n,onError:s},p=>{let d=!0,m=()=>d=!1;return(async()=>{try{const g=(()=>{if(t.transport.type==="fallback"){const S=t.transport.transports.find(_=>_.config.type==="webSocket"||_.config.type==="ipc");return S?S.value:t.transport}return t.transport})(),{unsubscribe:A}=await g.subscribe({params:["newHeads"],onData(S){var E;if(!d)return;const _=ft((E=S.result)==null?void 0:E.number);p.onBlockNumber(_,c),c=_},onError(S){var _;(_=p.onError)==null||_.call(p,S)}});m=A,d||m()}catch(g){s==null||s(g)}})(),()=>m()})})()}async function b1(t,e){const{checkReplacement:r=!0,confirmations:n=1,hash:s,onReplaced:i,retryCount:o=6,retryDelay:a=({count:k})=>~~(1<<k)*200,timeout:c=18e4}=e,u=et(["waitForTransactionReceipt",t.uid,s]),f=(()=>{var k;return e.pollingInterval?e.pollingInterval:(k=t.chain)!=null&&k.experimental_preconfirmationTime?t.chain.experimental_preconfirmationTime:t.pollingInterval})();let l,p,d,m=!1,g,A;const{promise:S,resolve:_,reject:E}=Ph(),w=c?setTimeout(()=>{A==null||A(),g==null||g(),E(new Qv({hash:s}))},c):void 0;return g=Nn(u,{onReplaced:i,resolve:_,reject:E},async k=>{if(d=await re(t,pc,"getTransactionReceipt")({hash:s}).catch(()=>{}),d&&n<=1){clearTimeout(w),k.resolve(d),g==null||g();return}A=re(t,m1,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:f,async onBlockNumber(T){const P=B=>{clearTimeout(w),A==null||A(),B(),g==null||g()};let N=T;if(!m)try{if(d){if(n>1&&(!d.blockNumber||N-d.blockNumber+1n<n))return;P(()=>k.resolve(d));return}if(r&&!l&&(m=!0,await Rc(async()=>{l=await re(t,Wh,"getTransaction")({hash:s}),l.blockNumber&&(N=l.blockNumber)},{delay:a,retryCount:o}),m=!1),d=await re(t,pc,"getTransactionReceipt")({hash:s}),n>1&&(!d.blockNumber||N-d.blockNumber+1n<n))return;P(()=>k.resolve(d))}catch(B){if(B instanceof Tb||B instanceof _b){if(!l){m=!1;return}try{p=l,m=!0;const j=await Rc(()=>re(t,Ir,"getBlock")({blockNumber:N,includeTransactions:!0}),{delay:a,retryCount:o,shouldRetry:({error:z})=>z instanceof Ub});m=!1;const M=j.transactions.find(({from:z,nonce:Z})=>z===p.from&&Z===p.nonce);if(!M||(d=await re(t,pc,"getTransactionReceipt")({hash:M.hash}),n>1&&(!d.blockNumber||N-d.blockNumber+1n<n)))return;let H="replaced";M.to===p.to&&M.value===p.value&&M.input===p.input?H="repriced":M.from===M.to&&M.value===0n&&(H="cancelled"),P(()=>{var z;(z=k.onReplaced)==null||z.call(k,{reason:H,replacedTransaction:p,transaction:M,transactionReceipt:d}),k.resolve(d)})}catch(j){P(()=>k.reject(j))}}else P(()=>k.reject(B))}}})}),S}function Ix(t,{blockTag:e=t.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:n=!1,onBlock:s,onError:i,includeTransactions:o,poll:a,pollingInterval:c=t.pollingInterval}){const u=typeof a<"u"?a:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")),f=o??!1;let l;return u?(()=>{const m=et(["watchBlocks",t.uid,e,r,n,f,c]);return Nn(m,{onBlock:s,onError:i},g=>no(async()=>{var A;try{const S=await re(t,Ir,"getBlock")({blockTag:e,includeTransactions:f});if(S.number!==null&&(l==null?void 0:l.number)!=null){if(S.number===l.number)return;if(S.number-l.number>1&&r)for(let _=(l==null?void 0:l.number)+1n;_<S.number;_++){const E=await re(t,Ir,"getBlock")({blockNumber:_,includeTransactions:f});g.onBlock(E,l),l=E}}((l==null?void 0:l.number)==null||e==="pending"&&(S==null?void 0:S.number)==null||S.number!==null&&S.number>l.number)&&(g.onBlock(S,l),l=S)}catch(S){(A=g.onError)==null||A.call(g,S)}},{emitOnBegin:n,interval:c}))})():(()=>{let m=!0,g=!0,A=()=>m=!1;return(async()=>{try{n&&re(t,Ir,"getBlock")({blockTag:e,includeTransactions:f}).then(E=>{m&&g&&(s(E,void 0),g=!1)}).catch(i);const S=(()=>{if(t.transport.type==="fallback"){const E=t.transport.transports.find(w=>w.config.type==="webSocket"||w.config.type==="ipc");return E?E.value:t.transport}return t.transport})(),{unsubscribe:_}=await S.subscribe({params:["newHeads"],async onData(E){var k;if(!m)return;const w=await re(t,Ir,"getBlock")({blockNumber:(k=E.result)==null?void 0:k.number,includeTransactions:f}).catch(()=>{});m&&(s(w,l),g=!1,l=w)},onError(E){i==null||i(E)}});A=_,m||A()}catch(S){i==null||i(S)}})(),()=>A()})()}function Px(t,{address:e,args:r,batch:n=!0,event:s,events:i,fromBlock:o,onError:a,onLogs:c,poll:u,pollingInterval:f=t.pollingInterval,strict:l}){const p=typeof u<"u"?u:typeof o=="bigint"?!0:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")),d=l??!1;return p?(()=>{const A=et(["watchEvent",e,r,n,t.uid,s,f,o]);return Nn(A,{onLogs:c,onError:a},S=>{let _;o!==void 0&&(_=o-1n);let E,w=!1;const k=no(async()=>{var T;if(!w){try{E=await re(t,Rg,"createEventFilter")({address:e,args:r,event:s,events:i,strict:d,fromBlock:o})}catch{}w=!0;return}try{let P;if(E)P=await re(t,cu,"getFilterChanges")({filter:E});else{const N=await re(t,Ca,"getBlockNumber")({});_&&_!==N?P=await re(t,Ah,"getLogs")({address:e,args:r,event:s,events:i,fromBlock:_+1n,toBlock:N}):P=[],_=N}if(P.length===0)return;if(n)S.onLogs(P);else for(const N of P)S.onLogs([N])}catch(P){E&&P instanceof ys&&(w=!1),(T=S.onError)==null||T.call(S,P)}},{emitOnBegin:!0,interval:f});return async()=>{E&&await re(t,uu,"uninstallFilter")({filter:E}),k()}})})():(()=>{let A=!0,S=()=>A=!1;return(async()=>{try{const _=(()=>{if(t.transport.type==="fallback"){const T=t.transport.transports.find(P=>P.config.type==="webSocket"||P.config.type==="ipc");return T?T.value:t.transport}return t.transport})(),E=i??(s?[s]:void 0);let w=[];E&&(w=[E.flatMap(P=>Aa({abi:[P],eventName:P.name,args:r}))],s&&(w=w[0]));const{unsubscribe:k}=await _.subscribe({params:["logs",{address:e,topics:w}],onData(T){var N;if(!A)return;const P=T.result;try{const{eventName:B,args:j}=Pc({abi:E??[],data:P.data,topics:P.topics,strict:d}),M=Rn(P,{args:j,eventName:B});c([M])}catch(B){let j,M;if(B instanceof Ic||B instanceof Zd){if(l)return;j=B.abiItem.name,M=(N=B.abiItem.inputs)==null?void 0:N.some(z=>!("name"in z&&z.name))}const H=Rn(P,{args:M?[]:{},eventName:j});c([H])}},onError(T){a==null||a(T)}});S=k,A||S()}catch(_){a==null||a(_)}})(),()=>S()})()}function Ox(t,{batch:e=!0,onError:r,onTransactions:n,poll:s,pollingInterval:i=t.pollingInterval}){return(typeof s<"u"?s:t.transport.type!=="webSocket"&&t.transport.type!=="ipc")?(()=>{const u=et(["watchPendingTransactions",t.uid,e,i]);return Nn(u,{onTransactions:n,onError:r},f=>{let l;const p=no(async()=>{var d;try{if(!l)try{l=await re(t,Ng,"createPendingTransactionFilter")({});return}catch(g){throw p(),g}const m=await re(t,cu,"getFilterChanges")({filter:l});if(m.length===0)return;if(e)f.onTransactions(m);else for(const g of m)f.onTransactions([g])}catch(m){(d=f.onError)==null||d.call(f,m)}},{emitOnBegin:!0,interval:i});return async()=>{l&&await re(t,uu,"uninstallFilter")({filter:l}),p()}})})():(()=>{let u=!0,f=()=>u=!1;return(async()=>{try{const{unsubscribe:l}=await t.transport.subscribe({params:["newPendingTransactions"],onData(p){if(!u)return;const d=p.result;n([d])},onError(p){r==null||r(p)}});f=l,u||f()}catch(l){r==null||r(l)}})(),()=>f()})()}function Bx(t){var l,p,d;const{scheme:e,statement:r,...n}=((l=t.match(Cx))==null?void 0:l.groups)??{},{chainId:s,expirationTime:i,issuedAt:o,notBefore:a,requestId:c,...u}=((p=t.match(Rx))==null?void 0:p.groups)??{},f=(d=t.split("Resources:")[1])==null?void 0:d.split(`
|
|
44
|
+
- `).slice(1);return{...n,...u,...s?{chainId:Number(s)}:{},...i?{expirationTime:new Date(i)}:{},...o?{issuedAt:new Date(o)}:{},...a?{notBefore:new Date(a)}:{},...c?{requestId:c}:{},...f?{resources:f}:{},...e?{scheme:e}:{},...r?{statement:r}:{}}}const Cx=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,Rx=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;function Nx(t){const{address:e,domain:r,message:n,nonce:s,scheme:i,time:o=new Date}=t;if(r&&n.domain!==r||s&&n.nonce!==s||i&&n.scheme!==i||n.expirationTime&&o>=n.expirationTime||n.notBefore&&o<n.notBefore)return!1;try{if(!n.address||!ct(n.address,{strict:!1})||e&&!to(n.address,e))return!1}catch{return!1}return!0}async function Ux(t,e){const{address:r,domain:n,message:s,nonce:i,scheme:o,signature:a,time:c=new Date,...u}=e,f=Bx(s);if(!f.address||!Nx({address:r,domain:n,message:f,nonce:i,scheme:o,time:c}))return!1;const p=Ug(s);return pu(t,{address:f.address,hash:p,signature:a,...u})}async function Kh(t,{serializedTransaction:e,throwOnReceiptRevert:r,timeout:n}){var a,c,u;const s=await t.request({method:"eth_sendRawTransactionSync",params:n?[e,J(n)]:[e]},{retryCount:0}),o=(((u=(c=(a=t.chain)==null?void 0:a.formatters)==null?void 0:c.transactionReceipt)==null?void 0:u.format)||Rh)(s);if(o.status==="reverted"&&r)throw new Ib({receipt:o});return o}function Fx(t){return{call:e=>Ba(t,e),createAccessList:e=>Cg(t,e),createBlockFilter:()=>e8(t),createContractEventFilter:e=>ih(t,e),createEventFilter:e=>Rg(t,e),createPendingTransactionFilter:()=>Ng(t),estimateContractGas:e=>qb(t,e),estimateGas:e=>vh(t,e),getBalance:e=>t8(t,e),getBlobBaseFee:()=>r8(t),getBlock:e=>Ir(t,e),getBlockNumber:e=>Ca(t,e),getBlockTransactionCount:e=>n8(t,e),getBytecode:e=>dd(t,e),getChainId:()=>Es(t),getCode:e=>dd(t,e),getContractEvents:e=>Sh(t,e),getEip712Domain:e=>i8(t,e),getEnsAddress:e=>$A(t,e),getEnsAvatar:e=>XA(t,e),getEnsName:e=>ZA(t,e),getEnsResolver:e=>QA(t,e),getEnsText:e=>Bg(t,e),getFeeHistory:e=>c8(t,e),estimateFeesPerGas:e=>EE(t,e),getFilterChanges:e=>cu(t,e),getFilterLogs:e=>u8(t,e),getGasPrice:()=>hh(t),getLogs:e=>Ah(t,e),getProof:e=>sx(t,e),estimateMaxPriorityFeePerGas:e=>vE(t,e),fillTransaction:e=>gh(t,e),getStorageAt:e=>ix(t,e),getTransaction:e=>Wh(t,e),getTransactionConfirmations:e=>ox(t,e),getTransactionCount:e=>ph(t,e),getTransactionReceipt:e=>pc(t,e),multicall:e=>ax(t,e),prepareTransactionRequest:e=>_a(t,e),readContract:e=>wr(t,e),sendRawTransaction:e=>Bh(t,e),sendRawTransactionSync:e=>Kh(t,e),simulate:e=>vd(t,e),simulateBlocks:e=>vd(t,e),simulateCalls:e=>bx(t,e),simulateContract:e=>bg(t,e),verifyHash:e=>pu(t,e),verifyMessage:e=>Tx(t,e),verifySiweMessage:e=>Ux(t,e),verifyTypedData:e=>_x(t,e),uninstallFilter:e=>uu(t,e),waitForTransactionReceipt:e=>b1(t,e),watchBlocks:e=>Ix(t,e),watchBlockNumber:e=>m1(t,e),watchContractEvent:e=>gg(t,e),watchEvent:e=>Px(t,e),watchPendingTransactions:e=>Ox(t,e)}}function Mx(t){const{key:e="public",name:r="Public Client"}=t;return Tg({...t,key:e,name:r,type:"publicClient"}).extend(Fx)}async function $x(t,{chain:e}){const{id:r,name:n,nativeCurrency:s,rpcUrls:i,blockExplorers:o}=e;await t.request({method:"wallet_addEthereumChain",params:[{chainId:J(r),chainName:n,nativeCurrency:s,rpcUrls:i.default.http,blockExplorerUrls:o?Object.values(o).map(({url:a})=>a):void 0}]},{dedupe:!0,retryCount:0})}function jx(t,e){const{abi:r,args:n,bytecode:s,...i}=e,o=au({abi:r,args:n,bytecode:s});return fu(t,{...i,...i.authorizationList?{to:null}:{},data:o})}async function Hx(t){var r;return((r=t.account)==null?void 0:r.type)==="local"?[t.account.address]:(await t.request({method:"eth_accounts"},{dedupe:!0})).map(n=>va(n))}async function Lx(t,e={}){const{account:r=t.account,chainId:n}=e,s=r?He(r):void 0,i=n?[s==null?void 0:s.address,[J(n)]]:[s==null?void 0:s.address],o=await t.request({method:"wallet_getCapabilities",params:i}),a={};for(const[c,u]of Object.entries(o)){a[Number(c)]={};for(let[f,l]of Object.entries(u))f==="addSubAccount"&&(f="unstable_addSubAccount"),a[Number(c)][f]=l}return typeof n=="number"?a[n]:a}async function Dx(t){return await t.request({method:"wallet_getPermissions"},{dedupe:!0})}async function g1(t,e){var c;const{account:r=t.account,chainId:n,nonce:s}=e;if(!r)throw new As({docsPath:"/docs/eip7702/prepareAuthorization"});const i=He(r),o=(()=>{if(e.executor)return e.executor==="self"?e.executor:He(e.executor)})(),a={address:e.contractAddress??e.address,chainId:n,nonce:s};return typeof a.chainId>"u"&&(a.chainId=((c=t.chain)==null?void 0:c.id)??await re(t,Es,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await re(t,ph,"getTransactionCount")({address:i.address,blockTag:"pending"}),(o==="self"||o!=null&&o.address&&to(o.address,i.address))&&(a.nonce+=1)),a}async function zx(t){return(await t.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>th(r))}async function Vx(t,e){return t.request({method:"wallet_requestPermissions",params:[e]},{retryCount:0})}async function Gx(t,e){const{chain:r=t.chain}=e,n=e.timeout??Math.max(((r==null?void 0:r.blockTime)??0)*3,5e3),s=await Ag(t,e);return await xg(t,{...e,id:s.id,timeout:n})}const df=new Qi(128);async function w1(t,e){var k,T,P,N;const{account:r=t.account,chain:n=t.chain,accessList:s,authorizationList:i,blobs:o,data:a,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:d,pollingInterval:m,throwOnReceiptRevert:g,type:A,value:S,..._}=e,E=e.timeout??Math.max(((n==null?void 0:n.blockTime)??0)*3,5e3);if(typeof r>"u")throw new As({docsPath:"/docs/actions/wallet/sendTransactionSync"});const w=r?He(r):null;try{jn(e);const B=await(async()=>{if(e.to)return e.to;if(e.to!==null&&i&&i.length>0)return await Qc({authorization:i[0]}).catch(()=>{throw new V("`to` is required. Could not infer from `authorizationList`.")})})();if((w==null?void 0:w.type)==="json-rpc"||w===null){let j;n!==null&&(j=await re(t,Es,"getChainId")({}),Oh({currentChainId:j,chain:n}));const M=(P=(T=(k=t.chain)==null?void 0:k.formatters)==null?void 0:T.transactionRequest)==null?void 0:P.format,z=(M||vs)({...eo(_,{format:M}),accessList:s,account:w,authorizationList:i,blobs:o,chainId:j,data:a,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:d,to:B,type:A,value:S},"sendTransaction"),Z=df.get(t.uid),U=Z?"wallet_sendTransaction":"eth_sendTransaction",W=await(async()=>{try{return await t.request({method:U,params:[z]},{retryCount:0})}catch(G){if(Z===!1)throw G;const O=G;if(O.name==="InvalidInputRpcError"||O.name==="InvalidParamsRpcError"||O.name==="MethodNotFoundRpcError"||O.name==="MethodNotSupportedRpcError")return await t.request({method:"wallet_sendTransaction",params:[z]},{retryCount:0}).then(L=>(df.set(t.uid,!0),L)).catch(L=>{const X=L;throw X.name==="MethodNotFoundRpcError"||X.name==="MethodNotSupportedRpcError"?(df.set(t.uid,!1),O):X});throw O}})(),ee=await re(t,b1,"waitForTransactionReceipt")({checkReplacement:!1,hash:W,pollingInterval:m,timeout:E});if(g&&ee.status==="reverted")throw new Ib({receipt:ee});return ee}if((w==null?void 0:w.type)==="local"){const j=await re(t,_a,"prepareTransactionRequest")({account:w,accessList:s,authorizationList:i,blobs:o,chain:n,data:a,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:d,nonceManager:w.nonceManager,parameters:[...wh,"sidecars"],type:A,value:S,..._,to:B}),M=(N=n==null?void 0:n.serializers)==null?void 0:N.transaction,H=await w.signTransaction(j,{serializer:M});return await re(t,Kh,"sendRawTransactionSync")({serializedTransaction:H,throwOnReceiptRevert:g})}throw(w==null?void 0:w.type)==="smart"?new Ls({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Ls({docsPath:"/docs/actions/wallet/sendTransactionSync",type:w==null?void 0:w.type})}catch(B){throw B instanceof Ls?B:ru(B,{...e,account:w,chain:e.chain||void 0})}}async function qx(t,e){const{id:r}=e;await t.request({method:"wallet_showCallsStatus",params:[r]})}async function Wx(t,e){const{account:r=t.account}=e;if(!r)throw new As({docsPath:"/docs/eip7702/signAuthorization"});const n=He(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 s=await g1(t,e);return n.signAuthorization(s)}async function Kx(t,{account:e=t.account,message:r}){if(!e)throw new As({docsPath:"/docs/actions/wallet/signMessage"});const n=He(e);if(n.signMessage)return n.signMessage({message:r});const s=typeof r=="string"?ji(r):r.raw instanceof Uint8Array?Ft(r.raw):r.raw;return t.request({method:"personal_sign",params:[s,n.address]},{retryCount:0})}async function Yx(t,e){var u,f,l,p;const{account:r=t.account,chain:n=t.chain,...s}=e;if(!r)throw new As({docsPath:"/docs/actions/wallet/signTransaction"});const i=He(r);jn({account:i,...e});const o=await re(t,Es,"getChainId")({});n!==null&&Oh({currentChainId:o,chain:n});const a=(n==null?void 0:n.formatters)||((u=t.chain)==null?void 0:u.formatters),c=((f=a==null?void 0:a.transactionRequest)==null?void 0:f.format)||vs;return i.signTransaction?i.signTransaction({...s,chainId:o},{serializer:(p=(l=t.chain)==null?void 0:l.serializers)==null?void 0:p.transaction}):await t.request({method:"eth_signTransaction",params:[{...c({...s,account:i},"signTransaction"),chainId:J(o),from:i.address}]},{retryCount:0})}async function Jx(t,e){const{account:r=t.account,domain:n,message:s,primaryType:i}=e;if(!r)throw new As({docsPath:"/docs/actions/wallet/signTypedData"});const o=He(r),a={EIP712Domain:Mg({domain:n}),...e.types};if(Fg({domain:n,message:s,primaryType:i,types:a}),o.signTypedData)return o.signTypedData({domain:n,message:s,primaryType:i,types:a});const c=R8({domain:n,message:s,primaryType:i,types:a});return t.request({method:"eth_signTypedData_v4",params:[o.address,c]},{retryCount:0})}async function Xx(t,{id:e}){await t.request({method:"wallet_switchEthereumChain",params:[{chainId:J(e)}]},{retryCount:0})}async function Zx(t,e){return await t.request({method:"wallet_watchAsset",params:e},{retryCount:0})}async function Qx(t,e){return zi.internal(t,w1,"sendTransactionSync",e)}function e3(t){return{addChain:e=>$x(t,e),deployContract:e=>jx(t,e),fillTransaction:e=>gh(t,e),getAddresses:()=>Hx(t),getCallsStatus:e=>Sg(t,e),getCapabilities:e=>Lx(t,e),getChainId:()=>Es(t),getPermissions:()=>Dx(t),prepareAuthorization:e=>g1(t,e),prepareTransactionRequest:e=>_a(t,e),requestAddresses:()=>zx(t),requestPermissions:e=>Vx(t,e),sendCalls:e=>Ag(t,e),sendCallsSync:e=>Gx(t,e),sendRawTransaction:e=>Bh(t,e),sendRawTransactionSync:e=>Kh(t,e),sendTransaction:e=>fu(t,e),sendTransactionSync:e=>w1(t,e),showCallsStatus:e=>qx(t,e),signAuthorization:e=>Wx(t,e),signMessage:e=>Kx(t,e),signTransaction:e=>Yx(t,e),signTypedData:e=>Jx(t,e),switchChain:e=>Xx(t,e),waitForCallsStatus:e=>xg(t,e),watchAsset:e=>Zx(t,e),writeContract:e=>zi(t,e),writeContractSync:e=>Qx(t,e)}}function hf(t){const{key:e="wallet",name:r="Wallet Client",transport:n}=t;return Tg({...t,key:e,name:r,transport:n,type:"walletClient"}).extend(e3)}function v1({key:t,methods:e,name:r,request:n,retryCount:s=3,retryDelay:i=150,timeout:o,type:a},c){const u=kg();return{config:{key:t,methods:e,name:r,request:n,retryCount:s,retryDelay:i,timeout:o,type:a},request:S8(n,{methods:e,retryCount:s,retryDelay:i,uid:u}),value:c}}function Ip(t,e={}){const{key:r="custom",methods:n,name:s="Custom Provider",retryDelay:i}=e;return({retryCount:o})=>v1({key:r,methods:n,name:s,request:t.request.bind(t),retryCount:e.retryCount??o,retryDelay:i,type:"custom"})}class t3 extends V{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 E1(t,e={}){const{batch:r,fetchFn:n,fetchOptions:s,key:i="http",methods:o,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:u,retryDelay:f,raw:l}=e;return({chain:p,retryCount:d,timeout:m})=>{const{batchSize:g=1e3,wait:A=0}=typeof r=="object"?r:{},S=e.retryCount??d,_=m??e.timeout??1e4,E=p==null?void 0:p.rpcUrls.default.http[0];if(!E)throw new t3;const w=_8(E,{fetchFn:n,fetchOptions:s,onRequest:c,onResponse:u,timeout:_});return v1({key:i,methods:o,name:a,async request({method:k,params:T}){const P={method:k,params:T},{schedule:N}=yg({id:E,wait:A,shouldSplitBatch(H){return H.length>g},fn:H=>w.request({body:H}),sort:(H,z)=>H.id-z.id}),B=async H=>r?N(H):[await w.request({body:H})],[{error:j,result:M}]=await B(P);if(l)return{error:j,result:M};if(j)throw new ch({body:P,error:j,url:E});return M},retryCount:S,retryDelay:f,timeout:_,type:"http"},{fetchOptions:s,url:E})}}const yc={mainnet:{baseurl:"https://api.garden.finance",auth:"https://api.garden.finance/auth",relayer:"https://relayer.garden.finance"},testnet:{baseurl:"https://testnet.api.garden.finance",auth:"https://testnet.api.garden.finance/auth",relayer:"https://testnet.api.garden.finance/relayer"},localnet:{baseurl:"",auth:"",relayer:""}},aa={[b.Network.MAINNET]:{chainId:"0x534e5f4d41494e",nodeUrl:"https://rpc.starknet.lava.build"},[b.Network.TESTNET]:{chainId:"0x534e5f5345504f4c4941",nodeUrl:"https://starknet-sepolia-rpc.publicnode.com"},[b.Network.LOCALNET]:{chainId:"",nodeUrl:""}},A1={[b.Network.MAINNET]:"9cBuPNiHXiMNg3Fin8xLCGJQBTXjYQTFtyaFQv2uiM1H",[b.Network.TESTNET]:"ANUVKxeqaec3bf4DVPqLTnG1PT3Fng56wPcE7LXAb46Q",[b.Network.LOCALNET]:"AKnL4NNf3DGWZJS6cPknBuEGnVsV4A4m5tgebLHaRSZ9"},Sd={mainnet:{native:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",spl:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU"},staging:{native:"6eksgdCnSjUaGQWZ6iYvauv1qzvYPF33RTGTM1ZuyENx",spl:"2WXpY8havGjfRxme9LUxtjFHTh1EfU3ur4v6wiK4KdNC"}},xd={[b.Network.TESTNET]:{packageId:"0x99865b03dd1bc03d0a6a805c454ea257c464f7abcccae9cd4b621b91e7ca04de",moduleName:"AtomicSwap"},[b.Network.MAINNET]:{packageId:"0xbfb5728aab0dd117747ef4574af6d3540ea6093109c22856e3ae201dfd58c0fc",moduleName:"AtomicSwap"},[b.Network.LOCALNET]:{packageId:"",moduleName:""}},r3={[b.Network.MAINNET]:"https://api.trongrid.io",[b.Network.TESTNET]:"https://api.shasta.trongrid.io",[b.Network.LOCALNET]:""},n3={asset:Y.ChainAsset.from(Y.Assets.base.cBBTC)};var Ci=(t=>(t.SLOW="SLOW",t.MEDIUM="MEDIUM",t.FAST="FAST",t))(Ci||{}),Cr=(t=>(t.Mainnet="Mainnet",t.Testnet="Testnet",t.Regtest="Regtest",t))(Cr||{}),mc=(t=>(t.ALL="ALL",t.IN="IN",t.OUT="OUT",t))(mc||{});const s3={SLOW:"economyFee",MEDIUM:"hourFee",FAST:"fastestFee"};function kd(t){const e=typeof t=="string"?t:t.network,r=e===b.Network.MAINNET?yc.mainnet:b.Network.TESTNET?yc.testnet:yc.localnet;return{api:typeof t=="string"?r:{...r,...t},network:e}}function i3(t){return typeof t=="string"&&(t=Buffer.from(t,"hex")),t.length===32?t:t.subarray(1,33)}function Pp(t,e){if(!t)throw new Error(e)}function o3(t){return Buffer.concat([Uint8Array.from([192]),a3(t)])}function a3(t){const e=C0.encodingLength(t.length),r=Buffer.allocUnsafe(e);return C0.encode(t.length,r),Buffer.concat([r,t])}function c3(t,e){if(t.compare(e)>0){const r=t;t=e,e=r}return[t,e]}const Le=t=>t.length===64?t:t.slice(2),u3=t=>{if(!t)return!1;try{const e=Buffer.from(t,"hex");return mr.isPoint(e)}catch{return!1}},f3=(t,e,r,n)=>t+":"+e.toLowerCase()+"::"+r+":"+n.toLowerCase();function l3(t,e){if(!t)return!1;const r=e===b.Environment.MAINNET?xe.networks.bitcoin:e===b.Environment.TESTNET?xe.networks.testnet:xe.networks.regtest;if(!r)return!1;xe.initEccLib(mr);try{return xe.address.toOutputScript(t,r),!0}catch{return!1}}function d3(t,e){if(!t)return!1;let r;if(e===b.Environment.MAINNET?r=Va.Networks.livenet:(b.Environment.TESTNET,r=Va.Networks.testnet),!r)return!1;try{return Va.Address.fromString(t,r),!0}catch{return!1}}function lo(t,e){const r=[];for(let n=0;n<e;n++)r.push(t);return r}const h3=t=>{switch(t){case b.Network.MAINNET:return Cr.Mainnet;case b.Network.TESTNET:return Cr.Testnet;case b.Network.LOCALNET:return Cr.Regtest;default:throw new Error(`Invalid bitcoin network ${t}`)}},p3=t=>{switch(t){case b.Network.MAINNET:return xe.networks.bitcoin;case b.Network.TESTNET:return xe.networks.testnet;case b.Network.LOCALNET:return xe.networks.regtest;default:throw new Error(`Invalid bitcoin network ${t}`)}},y3=t=>{const e=t.toLowerCase().replace("0x","");return/^[0-9a-f]+$/.test(e)},Op=t=>{if(typeof t=="object"&&"r"in t&&"s"in t)return b.Ok([t.r.toString(),t.s.toString()]);if(Array.isArray(t)){const e=t.map(r=>typeof r=="string"&&r.startsWith("0x")&&y3(r)?BigInt(r).toString():r);return b.Ok(e)}return b.Err("Invalid signature format")};function Td(t){return Buffer.from(t,"hex").reverse()}function _d(t){return typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"}const Xa=async(t,e)=>{const r=Date.now(),n=3e4,s=2e3;for(;Date.now()-r<n;){const i=await t.getLatestBlockhash(),o=await t.confirmTransaction({signature:e,blockhash:i.blockhash,lastValidBlockHeight:i.lastValidBlockHeight},"confirmed");if(o.value&&o.value.err==null)return console.log("Tx Confirmed ✅",e),!0;console.log("Tx not confirmed yet. Retrying in 2 seconds..."),await new Promise(a=>setTimeout(a,s))}return!1},yu=async(t,e)=>{var a,c;const r=await b.Fetcher.get(e+"/v2/assets");if(r.error)return b.Err("Failed to fetch asset info: "+r.error);const s=(r.result||[]).find(u=>u.id===t);if(!s)return b.Err(`Asset info not found for asset id: ${t}`);const i=((a=s.htlc)==null?void 0:a.address)||"",o=((c=s.token)==null?void 0:c.address)||"";return b.Ok({htlcAddress:i,tokenAddress:o})},Bp=t=>{if(t==null||t.includes("."))return b.Err("Invalid amount ",t);const e=new Ll.BigNumber(t);return!e.isInteger()||e.isNaN()||e.lt(0)||e.isLessThanOrEqualTo(0)?b.Err("Invalid amount ",t):b.Ok(e)},m3=async(t,e)=>{const r={[Y.BlockchainType.evm]:{htlc:e.evm,name:"EVM"},[Y.BlockchainType.solana]:{htlc:e.solana,name:"Solana"},[Y.BlockchainType.starknet]:{htlc:e.starknet,name:"Starknet"},[Y.BlockchainType.sui]:{htlc:e.sui,name:"Sui"},[Y.BlockchainType.bitcoin]:{htlc:e.bitcoin,name:"Bitcoin"},[Y.BlockchainType.tron]:{htlc:e.tron,name:"Tron"},[Y.BlockchainType.litecoin]:{htlc:e.litecoin,name:"Litecoin"},[Y.BlockchainType.alpen_signet]:{htlc:e.alpen_signet,name:"Alpen Signet"}};if(t===Y.BlockchainType.bitcoin||t===Y.BlockchainType.litecoin||t===Y.BlockchainType.alpen_signet)return b.Ok(void 0);const n=r[t];return n?n.htlc?b.Ok(void 0):b.Err(`${n.name} HTLC is required for swap initiation. Please provide ${n.name.toLowerCase()}HTLC when initializing garden.`):b.Err(`Unsupported blockchain type for swap initiation: ${t}`)},b3=["0x90c06174","0xee1b963b"],g3=t=>{if(!t)return"";if(typeof t=="string")return t;if(t instanceof Error)return[t.message,t.shortMessage,t.reason,t.signature,t.stack].filter(Boolean).join(" | ");if(typeof t=="object"){const e=t.message;if(typeof e=="string")return e;try{return JSON.stringify(t)}catch{return String(t)}}return String(t)},Yh=t=>{const e=g3(t).toLowerCase();return b3.some(r=>e.includes(r.toLowerCase()))},w3=t=>t.toLowerCase().includes("not supported for initiations"),S1=async({attempt:t,wallet:e,maxAttempts:r=1,baseDelayMs:n=1e3})=>{var s;for(let i=0;i<r;i++){const o=await t();if(o.error&&w3(o.error))break;if(o.ok){const a=await b.waitForTransactionReceipt(e,o.val);if(!a.ok){if(i<r-1){await b.sleep(n*2**i);continue}break}if(((s=a.val)==null?void 0:s.status)==="success")return o.val}i<r-1&&await b.sleep(n*2**i)}return null},v3=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),E3=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),A3=Buffer.concat([v3,E3]),S3=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),Cp={failedToCreateInternalPubkey:"failed to create internal pubkey"};function Rp(){const t=me.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),e=mr.pointMultiply(Buffer.concat([Buffer.from("04","hex"),A3]),t);if(!e)throw new Error(Cp.failedToCreateInternalPubkey);const r=mr.pointAdd(S3,e);if(!r)throw new Error(Cp.failedToCreateInternalPubkey);return i3(Buffer.from(r))}var on=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ze={},kt={},ai={},mu={};mu.byteLength=T3;mu.toByteArray=I3;mu.fromByteArray=B3;var Qr=[],hr=[],x3=typeof Uint8Array<"u"?Uint8Array:Array,pf="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var pi=0,k3=pf.length;pi<k3;++pi)Qr[pi]=pf[pi],hr[pf.charCodeAt(pi)]=pi;hr[45]=62;hr[95]=63;function x1(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function T3(t){var e=x1(t),r=e[0],n=e[1];return(r+n)*3/4-n}function _3(t,e,r){return(e+r)*3/4-r}function I3(t){var e,r=x1(t),n=r[0],s=r[1],i=new x3(_3(t,n,s)),o=0,a=s>0?n-4:n,c;for(c=0;c<a;c+=4)e=hr[t.charCodeAt(c)]<<18|hr[t.charCodeAt(c+1)]<<12|hr[t.charCodeAt(c+2)]<<6|hr[t.charCodeAt(c+3)],i[o++]=e>>16&255,i[o++]=e>>8&255,i[o++]=e&255;return s===2&&(e=hr[t.charCodeAt(c)]<<2|hr[t.charCodeAt(c+1)]>>4,i[o++]=e&255),s===1&&(e=hr[t.charCodeAt(c)]<<10|hr[t.charCodeAt(c+1)]<<4|hr[t.charCodeAt(c+2)]>>2,i[o++]=e>>8&255,i[o++]=e&255),i}function P3(t){return Qr[t>>18&63]+Qr[t>>12&63]+Qr[t>>6&63]+Qr[t&63]}function O3(t,e,r){for(var n,s=[],i=e;i<r;i+=3)n=(t[i]<<16&16711680)+(t[i+1]<<8&65280)+(t[i+2]&255),s.push(P3(n));return s.join("")}function B3(t){for(var e,r=t.length,n=r%3,s=[],i=16383,o=0,a=r-n;o<a;o+=i)s.push(O3(t,o,o+i>a?a:o+i));return n===1?(e=t[r-1],s.push(Qr[e>>2]+Qr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],s.push(Qr[e>>10]+Qr[e>>4&63]+Qr[e<<2&63]+"=")),s.join("")}var Jh={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */Jh.read=function(t,e,r,n,s){var i,o,a=s*8-n-1,c=(1<<a)-1,u=c>>1,f=-7,l=r?s-1:0,p=r?-1:1,d=t[e+l];for(l+=p,i=d&(1<<-f)-1,d>>=-f,f+=a;f>0;i=i*256+t[e+l],l+=p,f-=8);for(o=i&(1<<-f)-1,i>>=-f,f+=n;f>0;o=o*256+t[e+l],l+=p,f-=8);if(i===0)i=1-u;else{if(i===c)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),i=i-u}return(d?-1:1)*o*Math.pow(2,i-n)};Jh.write=function(t,e,r,n,s,i){var o,a,c,u=i*8-s-1,f=(1<<u)-1,l=f>>1,p=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:i-1,m=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=f):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+l>=1?e+=p/c:e+=p*Math.pow(2,1-l),e*c>=2&&(o++,c/=2),o+l>=f?(a=0,o=f):o+l>=1?(a=(e*c-1)*Math.pow(2,s),o=o+l):(a=e*Math.pow(2,l-1)*Math.pow(2,s),o=0));s>=8;t[r+d]=a&255,d+=m,a/=256,s-=8);for(o=o<<s|a,u+=s;u>0;t[r+d]=o&255,d+=m,o/=256,u-=8);t[r+d-m]|=g*128};/*!
|
|
45
|
+
* The buffer module from node.js, for the browser.
|
|
46
|
+
*
|
|
47
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
48
|
+
* @license MIT
|
|
49
|
+
*/(function(t){const e=mu,r=Jh,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=a,t.SlowBuffer=_,t.INSPECT_MAX_BYTES=50;const s=2147483647;t.kMaxLength=s,a.TYPED_ARRAY_SUPPORT=i(),!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 i(){try{const v=new Uint8Array(1),h={foo:function(){return 42}};return Object.setPrototypeOf(h,Uint8Array.prototype),Object.setPrototypeOf(v,h),v.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(v){if(v>s)throw new RangeError('The value "'+v+'" is invalid for option "size"');const h=new Uint8Array(v);return Object.setPrototypeOf(h,a.prototype),h}function a(v,h,y){if(typeof v=="number"){if(typeof h=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return l(v)}return c(v,h,y)}a.poolSize=8192;function c(v,h,y){if(typeof v=="string")return p(v,h);if(ArrayBuffer.isView(v))return m(v);if(v==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof v);if(It(v,ArrayBuffer)||v&&It(v.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(It(v,SharedArrayBuffer)||v&&It(v.buffer,SharedArrayBuffer)))return g(v,h,y);if(typeof v=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const x=v.valueOf&&v.valueOf();if(x!=null&&x!==v)return a.from(x,h,y);const R=A(v);if(R)return R;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof v[Symbol.toPrimitive]=="function")return a.from(v[Symbol.toPrimitive]("string"),h,y);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof v)}a.from=function(v,h,y){return c(v,h,y)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function u(v){if(typeof v!="number")throw new TypeError('"size" argument must be of type number');if(v<0)throw new RangeError('The value "'+v+'" is invalid for option "size"')}function f(v,h,y){return u(v),v<=0?o(v):h!==void 0?typeof y=="string"?o(v).fill(h,y):o(v).fill(h):o(v)}a.alloc=function(v,h,y){return f(v,h,y)};function l(v){return u(v),o(v<0?0:S(v)|0)}a.allocUnsafe=function(v){return l(v)},a.allocUnsafeSlow=function(v){return l(v)};function p(v,h){if((typeof h!="string"||h==="")&&(h="utf8"),!a.isEncoding(h))throw new TypeError("Unknown encoding: "+h);const y=E(v,h)|0;let x=o(y);const R=x.write(v,h);return R!==y&&(x=x.slice(0,R)),x}function d(v){const h=v.length<0?0:S(v.length)|0,y=o(h);for(let x=0;x<h;x+=1)y[x]=v[x]&255;return y}function m(v){if(It(v,Uint8Array)){const h=new Uint8Array(v);return g(h.buffer,h.byteOffset,h.byteLength)}return d(v)}function g(v,h,y){if(h<0||v.byteLength<h)throw new RangeError('"offset" is outside of buffer bounds');if(v.byteLength<h+(y||0))throw new RangeError('"length" is outside of buffer bounds');let x;return h===void 0&&y===void 0?x=new Uint8Array(v):y===void 0?x=new Uint8Array(v,h):x=new Uint8Array(v,h,y),Object.setPrototypeOf(x,a.prototype),x}function A(v){if(a.isBuffer(v)){const h=S(v.length)|0,y=o(h);return y.length===0||v.copy(y,0,0,h),y}if(v.length!==void 0)return typeof v.length!="number"||Hn(v.length)?o(0):d(v);if(v.type==="Buffer"&&Array.isArray(v.data))return d(v.data)}function S(v){if(v>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return v|0}function _(v){return+v!=v&&(v=0),a.alloc(+v)}a.isBuffer=function(h){return h!=null&&h._isBuffer===!0&&h!==a.prototype},a.compare=function(h,y){if(It(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),It(y,Uint8Array)&&(y=a.from(y,y.offset,y.byteLength)),!a.isBuffer(h)||!a.isBuffer(y))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(h===y)return 0;let x=h.length,R=y.length;for(let $=0,q=Math.min(x,R);$<q;++$)if(h[$]!==y[$]){x=h[$],R=y[$];break}return x<R?-1:R<x?1:0},a.isEncoding=function(h){switch(String(h).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(h,y){if(!Array.isArray(h))throw new TypeError('"list" argument must be an Array of Buffers');if(h.length===0)return a.alloc(0);let x;if(y===void 0)for(y=0,x=0;x<h.length;++x)y+=h[x].length;const R=a.allocUnsafe(y);let $=0;for(x=0;x<h.length;++x){let q=h[x];if(It(q,Uint8Array))$+q.length>R.length?(a.isBuffer(q)||(q=a.from(q)),q.copy(R,$)):Uint8Array.prototype.set.call(R,q,$);else if(a.isBuffer(q))q.copy(R,$);else throw new TypeError('"list" argument must be an Array of Buffers');$+=q.length}return R};function E(v,h){if(a.isBuffer(v))return v.length;if(ArrayBuffer.isView(v)||It(v,ArrayBuffer))return v.byteLength;if(typeof v!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof v);const y=v.length,x=arguments.length>2&&arguments[2]===!0;if(!x&&y===0)return 0;let R=!1;for(;;)switch(h){case"ascii":case"latin1":case"binary":return y;case"utf8":case"utf-8":return Hr(v).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return y*2;case"hex":return y>>>1;case"base64":return Lr(v).length;default:if(R)return x?-1:Hr(v).length;h=(""+h).toLowerCase(),R=!0}}a.byteLength=E;function w(v,h,y){let x=!1;if((h===void 0||h<0)&&(h=0),h>this.length||((y===void 0||y>this.length)&&(y=this.length),y<=0)||(y>>>=0,h>>>=0,y<=h))return"";for(v||(v="utf8");;)switch(v){case"hex":return O(this,h,y);case"utf8":case"utf-8":return Z(this,h,y);case"ascii":return ee(this,h,y);case"latin1":case"binary":return G(this,h,y);case"base64":return z(this,h,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,h,y);default:if(x)throw new TypeError("Unknown encoding: "+v);v=(v+"").toLowerCase(),x=!0}}a.prototype._isBuffer=!0;function k(v,h,y){const x=v[h];v[h]=v[y],v[y]=x}a.prototype.swap16=function(){const h=this.length;if(h%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let y=0;y<h;y+=2)k(this,y,y+1);return this},a.prototype.swap32=function(){const h=this.length;if(h%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let y=0;y<h;y+=4)k(this,y,y+3),k(this,y+1,y+2);return this},a.prototype.swap64=function(){const h=this.length;if(h%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let y=0;y<h;y+=8)k(this,y,y+7),k(this,y+1,y+6),k(this,y+2,y+5),k(this,y+3,y+4);return this},a.prototype.toString=function(){const h=this.length;return h===0?"":arguments.length===0?Z(this,0,h):w.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(h){if(!a.isBuffer(h))throw new TypeError("Argument must be a Buffer");return this===h?!0:a.compare(this,h)===0},a.prototype.inspect=function(){let h="";const y=t.INSPECT_MAX_BYTES;return h=this.toString("hex",0,y).replace(/(.{2})/g,"$1 ").trim(),this.length>y&&(h+=" ... "),"<Buffer "+h+">"},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(h,y,x,R,$){if(It(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),!a.isBuffer(h))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof h);if(y===void 0&&(y=0),x===void 0&&(x=h?h.length:0),R===void 0&&(R=0),$===void 0&&($=this.length),y<0||x>h.length||R<0||$>this.length)throw new RangeError("out of range index");if(R>=$&&y>=x)return 0;if(R>=$)return-1;if(y>=x)return 1;if(y>>>=0,x>>>=0,R>>>=0,$>>>=0,this===h)return 0;let q=$-R,we=x-y;const qe=Math.min(q,we),$e=this.slice(R,$),We=h.slice(y,x);for(let Ie=0;Ie<qe;++Ie)if($e[Ie]!==We[Ie]){q=$e[Ie],we=We[Ie];break}return q<we?-1:we<q?1:0};function T(v,h,y,x,R){if(v.length===0)return-1;if(typeof y=="string"?(x=y,y=0):y>2147483647?y=2147483647:y<-2147483648&&(y=-2147483648),y=+y,Hn(y)&&(y=R?0:v.length-1),y<0&&(y=v.length+y),y>=v.length){if(R)return-1;y=v.length-1}else if(y<0)if(R)y=0;else return-1;if(typeof h=="string"&&(h=a.from(h,x)),a.isBuffer(h))return h.length===0?-1:P(v,h,y,x,R);if(typeof h=="number")return h=h&255,typeof Uint8Array.prototype.indexOf=="function"?R?Uint8Array.prototype.indexOf.call(v,h,y):Uint8Array.prototype.lastIndexOf.call(v,h,y):P(v,[h],y,x,R);throw new TypeError("val must be string, number or Buffer")}function P(v,h,y,x,R){let $=1,q=v.length,we=h.length;if(x!==void 0&&(x=String(x).toLowerCase(),x==="ucs2"||x==="ucs-2"||x==="utf16le"||x==="utf-16le")){if(v.length<2||h.length<2)return-1;$=2,q/=2,we/=2,y/=2}function qe(We,Ie){return $===1?We[Ie]:We.readUInt16BE(Ie*$)}let $e;if(R){let We=-1;for($e=y;$e<q;$e++)if(qe(v,$e)===qe(h,We===-1?0:$e-We)){if(We===-1&&(We=$e),$e-We+1===we)return We*$}else We!==-1&&($e-=$e-We),We=-1}else for(y+we>q&&(y=q-we),$e=y;$e>=0;$e--){let We=!0;for(let Ie=0;Ie<we;Ie++)if(qe(v,$e+Ie)!==qe(h,Ie)){We=!1;break}if(We)return $e}return-1}a.prototype.includes=function(h,y,x){return this.indexOf(h,y,x)!==-1},a.prototype.indexOf=function(h,y,x){return T(this,h,y,x,!0)},a.prototype.lastIndexOf=function(h,y,x){return T(this,h,y,x,!1)};function N(v,h,y,x){y=Number(y)||0;const R=v.length-y;x?(x=Number(x),x>R&&(x=R)):x=R;const $=h.length;x>$/2&&(x=$/2);let q;for(q=0;q<x;++q){const we=parseInt(h.substr(q*2,2),16);if(Hn(we))return q;v[y+q]=we}return q}function B(v,h,y,x){return _t(Hr(h,v.length-y),v,y,x)}function j(v,h,y,x){return _t(xs(h),v,y,x)}function M(v,h,y,x){return _t(Lr(h),v,y,x)}function H(v,h,y,x){return _t(K(h,v.length-y),v,y,x)}a.prototype.write=function(h,y,x,R){if(y===void 0)R="utf8",x=this.length,y=0;else if(x===void 0&&typeof y=="string")R=y,x=this.length,y=0;else if(isFinite(y))y=y>>>0,isFinite(x)?(x=x>>>0,R===void 0&&(R="utf8")):(R=x,x=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const $=this.length-y;if((x===void 0||x>$)&&(x=$),h.length>0&&(x<0||y<0)||y>this.length)throw new RangeError("Attempt to write outside buffer bounds");R||(R="utf8");let q=!1;for(;;)switch(R){case"hex":return N(this,h,y,x);case"utf8":case"utf-8":return B(this,h,y,x);case"ascii":case"latin1":case"binary":return j(this,h,y,x);case"base64":return M(this,h,y,x);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return H(this,h,y,x);default:if(q)throw new TypeError("Unknown encoding: "+R);R=(""+R).toLowerCase(),q=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function z(v,h,y){return h===0&&y===v.length?e.fromByteArray(v):e.fromByteArray(v.slice(h,y))}function Z(v,h,y){y=Math.min(v.length,y);const x=[];let R=h;for(;R<y;){const $=v[R];let q=null,we=$>239?4:$>223?3:$>191?2:1;if(R+we<=y){let qe,$e,We,Ie;switch(we){case 1:$<128&&(q=$);break;case 2:qe=v[R+1],(qe&192)===128&&(Ie=($&31)<<6|qe&63,Ie>127&&(q=Ie));break;case 3:qe=v[R+1],$e=v[R+2],(qe&192)===128&&($e&192)===128&&(Ie=($&15)<<12|(qe&63)<<6|$e&63,Ie>2047&&(Ie<55296||Ie>57343)&&(q=Ie));break;case 4:qe=v[R+1],$e=v[R+2],We=v[R+3],(qe&192)===128&&($e&192)===128&&(We&192)===128&&(Ie=($&15)<<18|(qe&63)<<12|($e&63)<<6|We&63,Ie>65535&&Ie<1114112&&(q=Ie))}}q===null?(q=65533,we=1):q>65535&&(q-=65536,x.push(q>>>10&1023|55296),q=56320|q&1023),x.push(q),R+=we}return W(x)}const U=4096;function W(v){const h=v.length;if(h<=U)return String.fromCharCode.apply(String,v);let y="",x=0;for(;x<h;)y+=String.fromCharCode.apply(String,v.slice(x,x+=U));return y}function ee(v,h,y){let x="";y=Math.min(v.length,y);for(let R=h;R<y;++R)x+=String.fromCharCode(v[R]&127);return x}function G(v,h,y){let x="";y=Math.min(v.length,y);for(let R=h;R<y;++R)x+=String.fromCharCode(v[R]);return x}function O(v,h,y){const x=v.length;(!h||h<0)&&(h=0),(!y||y<0||y>x)&&(y=x);let R="";for(let $=h;$<y;++$)R+=li[v[$]];return R}function L(v,h,y){const x=v.slice(h,y);let R="";for(let $=0;$<x.length-1;$+=2)R+=String.fromCharCode(x[$]+x[$+1]*256);return R}a.prototype.slice=function(h,y){const x=this.length;h=~~h,y=y===void 0?x:~~y,h<0?(h+=x,h<0&&(h=0)):h>x&&(h=x),y<0?(y+=x,y<0&&(y=0)):y>x&&(y=x),y<h&&(y=h);const R=this.subarray(h,y);return Object.setPrototypeOf(R,a.prototype),R};function X(v,h,y){if(v%1!==0||v<0)throw new RangeError("offset is not uint");if(v+h>y)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(h,y,x){h=h>>>0,y=y>>>0,x||X(h,y,this.length);let R=this[h],$=1,q=0;for(;++q<y&&($*=256);)R+=this[h+q]*$;return R},a.prototype.readUintBE=a.prototype.readUIntBE=function(h,y,x){h=h>>>0,y=y>>>0,x||X(h,y,this.length);let R=this[h+--y],$=1;for(;y>0&&($*=256);)R+=this[h+--y]*$;return R},a.prototype.readUint8=a.prototype.readUInt8=function(h,y){return h=h>>>0,y||X(h,1,this.length),this[h]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(h,y){return h=h>>>0,y||X(h,2,this.length),this[h]|this[h+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(h,y){return h=h>>>0,y||X(h,2,this.length),this[h]<<8|this[h+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(h,y){return h=h>>>0,y||X(h,4,this.length),(this[h]|this[h+1]<<8|this[h+2]<<16)+this[h+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(h,y){return h=h>>>0,y||X(h,4,this.length),this[h]*16777216+(this[h+1]<<16|this[h+2]<<8|this[h+3])},a.prototype.readBigUInt64LE=Ln(function(h){h=h>>>0,Ee(h,"offset");const y=this[h],x=this[h+7];(y===void 0||x===void 0)&&ke(h,this.length-8);const R=y+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24,$=this[++h]+this[++h]*2**8+this[++h]*2**16+x*2**24;return BigInt(R)+(BigInt($)<<BigInt(32))}),a.prototype.readBigUInt64BE=Ln(function(h){h=h>>>0,Ee(h,"offset");const y=this[h],x=this[h+7];(y===void 0||x===void 0)&&ke(h,this.length-8);const R=y*2**24+this[++h]*2**16+this[++h]*2**8+this[++h],$=this[++h]*2**24+this[++h]*2**16+this[++h]*2**8+x;return(BigInt(R)<<BigInt(32))+BigInt($)}),a.prototype.readIntLE=function(h,y,x){h=h>>>0,y=y>>>0,x||X(h,y,this.length);let R=this[h],$=1,q=0;for(;++q<y&&($*=256);)R+=this[h+q]*$;return $*=128,R>=$&&(R-=Math.pow(2,8*y)),R},a.prototype.readIntBE=function(h,y,x){h=h>>>0,y=y>>>0,x||X(h,y,this.length);let R=y,$=1,q=this[h+--R];for(;R>0&&($*=256);)q+=this[h+--R]*$;return $*=128,q>=$&&(q-=Math.pow(2,8*y)),q},a.prototype.readInt8=function(h,y){return h=h>>>0,y||X(h,1,this.length),this[h]&128?(255-this[h]+1)*-1:this[h]},a.prototype.readInt16LE=function(h,y){h=h>>>0,y||X(h,2,this.length);const x=this[h]|this[h+1]<<8;return x&32768?x|4294901760:x},a.prototype.readInt16BE=function(h,y){h=h>>>0,y||X(h,2,this.length);const x=this[h+1]|this[h]<<8;return x&32768?x|4294901760:x},a.prototype.readInt32LE=function(h,y){return h=h>>>0,y||X(h,4,this.length),this[h]|this[h+1]<<8|this[h+2]<<16|this[h+3]<<24},a.prototype.readInt32BE=function(h,y){return h=h>>>0,y||X(h,4,this.length),this[h]<<24|this[h+1]<<16|this[h+2]<<8|this[h+3]},a.prototype.readBigInt64LE=Ln(function(h){h=h>>>0,Ee(h,"offset");const y=this[h],x=this[h+7];(y===void 0||x===void 0)&&ke(h,this.length-8);const R=this[h+4]+this[h+5]*2**8+this[h+6]*2**16+(x<<24);return(BigInt(R)<<BigInt(32))+BigInt(y+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24)}),a.prototype.readBigInt64BE=Ln(function(h){h=h>>>0,Ee(h,"offset");const y=this[h],x=this[h+7];(y===void 0||x===void 0)&&ke(h,this.length-8);const R=(y<<24)+this[++h]*2**16+this[++h]*2**8+this[++h];return(BigInt(R)<<BigInt(32))+BigInt(this[++h]*2**24+this[++h]*2**16+this[++h]*2**8+x)}),a.prototype.readFloatLE=function(h,y){return h=h>>>0,y||X(h,4,this.length),r.read(this,h,!0,23,4)},a.prototype.readFloatBE=function(h,y){return h=h>>>0,y||X(h,4,this.length),r.read(this,h,!1,23,4)},a.prototype.readDoubleLE=function(h,y){return h=h>>>0,y||X(h,8,this.length),r.read(this,h,!0,52,8)},a.prototype.readDoubleBE=function(h,y){return h=h>>>0,y||X(h,8,this.length),r.read(this,h,!1,52,8)};function C(v,h,y,x,R,$){if(!a.isBuffer(v))throw new TypeError('"buffer" argument must be a Buffer instance');if(h>R||h<$)throw new RangeError('"value" argument is out of bounds');if(y+x>v.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(h,y,x,R){if(h=+h,y=y>>>0,x=x>>>0,!R){const we=Math.pow(2,8*x)-1;C(this,h,y,x,we,0)}let $=1,q=0;for(this[y]=h&255;++q<x&&($*=256);)this[y+q]=h/$&255;return y+x},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(h,y,x,R){if(h=+h,y=y>>>0,x=x>>>0,!R){const we=Math.pow(2,8*x)-1;C(this,h,y,x,we,0)}let $=x-1,q=1;for(this[y+$]=h&255;--$>=0&&(q*=256);)this[y+$]=h/q&255;return y+x},a.prototype.writeUint8=a.prototype.writeUInt8=function(h,y,x){return h=+h,y=y>>>0,x||C(this,h,y,1,255,0),this[y]=h&255,y+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(h,y,x){return h=+h,y=y>>>0,x||C(this,h,y,2,65535,0),this[y]=h&255,this[y+1]=h>>>8,y+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(h,y,x){return h=+h,y=y>>>0,x||C(this,h,y,2,65535,0),this[y]=h>>>8,this[y+1]=h&255,y+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(h,y,x){return h=+h,y=y>>>0,x||C(this,h,y,4,4294967295,0),this[y+3]=h>>>24,this[y+2]=h>>>16,this[y+1]=h>>>8,this[y]=h&255,y+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(h,y,x){return h=+h,y=y>>>0,x||C(this,h,y,4,4294967295,0),this[y]=h>>>24,this[y+1]=h>>>16,this[y+2]=h>>>8,this[y+3]=h&255,y+4};function F(v,h,y,x,R){ge(h,x,R,v,y,7);let $=Number(h&BigInt(4294967295));v[y++]=$,$=$>>8,v[y++]=$,$=$>>8,v[y++]=$,$=$>>8,v[y++]=$;let q=Number(h>>BigInt(32)&BigInt(4294967295));return v[y++]=q,q=q>>8,v[y++]=q,q=q>>8,v[y++]=q,q=q>>8,v[y++]=q,y}function D(v,h,y,x,R){ge(h,x,R,v,y,7);let $=Number(h&BigInt(4294967295));v[y+7]=$,$=$>>8,v[y+6]=$,$=$>>8,v[y+5]=$,$=$>>8,v[y+4]=$;let q=Number(h>>BigInt(32)&BigInt(4294967295));return v[y+3]=q,q=q>>8,v[y+2]=q,q=q>>8,v[y+1]=q,q=q>>8,v[y]=q,y+8}a.prototype.writeBigUInt64LE=Ln(function(h,y=0){return F(this,h,y,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Ln(function(h,y=0){return D(this,h,y,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(h,y,x,R){if(h=+h,y=y>>>0,!R){const qe=Math.pow(2,8*x-1);C(this,h,y,x,qe-1,-qe)}let $=0,q=1,we=0;for(this[y]=h&255;++$<x&&(q*=256);)h<0&&we===0&&this[y+$-1]!==0&&(we=1),this[y+$]=(h/q>>0)-we&255;return y+x},a.prototype.writeIntBE=function(h,y,x,R){if(h=+h,y=y>>>0,!R){const qe=Math.pow(2,8*x-1);C(this,h,y,x,qe-1,-qe)}let $=x-1,q=1,we=0;for(this[y+$]=h&255;--$>=0&&(q*=256);)h<0&&we===0&&this[y+$+1]!==0&&(we=1),this[y+$]=(h/q>>0)-we&255;return y+x},a.prototype.writeInt8=function(h,y,x){return h=+h,y=y>>>0,x||C(this,h,y,1,127,-128),h<0&&(h=255+h+1),this[y]=h&255,y+1},a.prototype.writeInt16LE=function(h,y,x){return h=+h,y=y>>>0,x||C(this,h,y,2,32767,-32768),this[y]=h&255,this[y+1]=h>>>8,y+2},a.prototype.writeInt16BE=function(h,y,x){return h=+h,y=y>>>0,x||C(this,h,y,2,32767,-32768),this[y]=h>>>8,this[y+1]=h&255,y+2},a.prototype.writeInt32LE=function(h,y,x){return h=+h,y=y>>>0,x||C(this,h,y,4,2147483647,-2147483648),this[y]=h&255,this[y+1]=h>>>8,this[y+2]=h>>>16,this[y+3]=h>>>24,y+4},a.prototype.writeInt32BE=function(h,y,x){return h=+h,y=y>>>0,x||C(this,h,y,4,2147483647,-2147483648),h<0&&(h=4294967295+h+1),this[y]=h>>>24,this[y+1]=h>>>16,this[y+2]=h>>>8,this[y+3]=h&255,y+4},a.prototype.writeBigInt64LE=Ln(function(h,y=0){return F(this,h,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Ln(function(h,y=0){return D(this,h,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ne(v,h,y,x,R,$){if(y+x>v.length)throw new RangeError("Index out of range");if(y<0)throw new RangeError("Index out of range")}function oe(v,h,y,x,R){return h=+h,y=y>>>0,R||ne(v,h,y,4),r.write(v,h,y,x,23,4),y+4}a.prototype.writeFloatLE=function(h,y,x){return oe(this,h,y,!0,x)},a.prototype.writeFloatBE=function(h,y,x){return oe(this,h,y,!1,x)};function le(v,h,y,x,R){return h=+h,y=y>>>0,R||ne(v,h,y,8),r.write(v,h,y,x,52,8),y+8}a.prototype.writeDoubleLE=function(h,y,x){return le(this,h,y,!0,x)},a.prototype.writeDoubleBE=function(h,y,x){return le(this,h,y,!1,x)},a.prototype.copy=function(h,y,x,R){if(!a.isBuffer(h))throw new TypeError("argument should be a Buffer");if(x||(x=0),!R&&R!==0&&(R=this.length),y>=h.length&&(y=h.length),y||(y=0),R>0&&R<x&&(R=x),R===x||h.length===0||this.length===0)return 0;if(y<0)throw new RangeError("targetStart out of bounds");if(x<0||x>=this.length)throw new RangeError("Index out of range");if(R<0)throw new RangeError("sourceEnd out of bounds");R>this.length&&(R=this.length),h.length-y<R-x&&(R=h.length-y+x);const $=R-x;return this===h&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(y,x,R):Uint8Array.prototype.set.call(h,this.subarray(x,R),y),$},a.prototype.fill=function(h,y,x,R){if(typeof h=="string"){if(typeof y=="string"?(R=y,y=0,x=this.length):typeof x=="string"&&(R=x,x=this.length),R!==void 0&&typeof R!="string")throw new TypeError("encoding must be a string");if(typeof R=="string"&&!a.isEncoding(R))throw new TypeError("Unknown encoding: "+R);if(h.length===1){const q=h.charCodeAt(0);(R==="utf8"&&q<128||R==="latin1")&&(h=q)}}else typeof h=="number"?h=h&255:typeof h=="boolean"&&(h=Number(h));if(y<0||this.length<y||this.length<x)throw new RangeError("Out of range index");if(x<=y)return this;y=y>>>0,x=x===void 0?this.length:x>>>0,h||(h=0);let $;if(typeof h=="number")for($=y;$<x;++$)this[$]=h;else{const q=a.isBuffer(h)?h:a.from(h,R),we=q.length;if(we===0)throw new TypeError('The value "'+h+'" is invalid for argument "value"');for($=0;$<x-y;++$)this[$+y]=q[$%we]}return this};const ue={};function ie(v,h,y){ue[v]=class extends y{constructor(){super(),Object.defineProperty(this,"message",{value:h.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${v}]`,this.stack,delete this.name}get code(){return v}set code(R){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:R,writable:!0})}toString(){return`${this.name} [${v}]: ${this.message}`}}}ie("ERR_BUFFER_OUT_OF_BOUNDS",function(v){return v?`${v} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),ie("ERR_INVALID_ARG_TYPE",function(v,h){return`The "${v}" argument must be of type number. Received type ${typeof h}`},TypeError),ie("ERR_OUT_OF_RANGE",function(v,h,y){let x=`The value of "${v}" is out of range.`,R=y;return Number.isInteger(y)&&Math.abs(y)>2**32?R=se(String(y)):typeof y=="bigint"&&(R=String(y),(y>BigInt(2)**BigInt(32)||y<-(BigInt(2)**BigInt(32)))&&(R=se(R)),R+="n"),x+=` It must be ${h}. Received ${R}`,x},RangeError);function se(v){let h="",y=v.length;const x=v[0]==="-"?1:0;for(;y>=x+4;y-=3)h=`_${v.slice(y-3,y)}${h}`;return`${v.slice(0,y)}${h}`}function be(v,h,y){Ee(h,"offset"),(v[h]===void 0||v[h+y]===void 0)&&ke(h,v.length-(y+1))}function ge(v,h,y,x,R,$){if(v>y||v<h){const q=typeof h=="bigint"?"n":"";let we;throw h===0||h===BigInt(0)?we=`>= 0${q} and < 2${q} ** ${($+1)*8}${q}`:we=`>= -(2${q} ** ${($+1)*8-1}${q}) and < 2 ** ${($+1)*8-1}${q}`,new ue.ERR_OUT_OF_RANGE("value",we,v)}be(x,R,$)}function Ee(v,h){if(typeof v!="number")throw new ue.ERR_INVALID_ARG_TYPE(h,"number",v)}function ke(v,h,y){throw Math.floor(v)!==v?(Ee(v,y),new ue.ERR_OUT_OF_RANGE("offset","an integer",v)):h<0?new ue.ERR_BUFFER_OUT_OF_BOUNDS:new ue.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${h}`,v)}const rt=/[^+/0-9A-Za-z-_]/g;function Ce(v){if(v=v.split("=")[0],v=v.trim().replace(rt,""),v.length<2)return"";for(;v.length%4!==0;)v=v+"=";return v}function Hr(v,h){h=h||1/0;let y;const x=v.length;let R=null;const $=[];for(let q=0;q<x;++q){if(y=v.charCodeAt(q),y>55295&&y<57344){if(!R){if(y>56319){(h-=3)>-1&&$.push(239,191,189);continue}else if(q+1===x){(h-=3)>-1&&$.push(239,191,189);continue}R=y;continue}if(y<56320){(h-=3)>-1&&$.push(239,191,189),R=y;continue}y=(R-55296<<10|y-56320)+65536}else R&&(h-=3)>-1&&$.push(239,191,189);if(R=null,y<128){if((h-=1)<0)break;$.push(y)}else if(y<2048){if((h-=2)<0)break;$.push(y>>6|192,y&63|128)}else if(y<65536){if((h-=3)<0)break;$.push(y>>12|224,y>>6&63|128,y&63|128)}else if(y<1114112){if((h-=4)<0)break;$.push(y>>18|240,y>>12&63|128,y>>6&63|128,y&63|128)}else throw new Error("Invalid code point")}return $}function xs(v){const h=[];for(let y=0;y<v.length;++y)h.push(v.charCodeAt(y)&255);return h}function K(v,h){let y,x,R;const $=[];for(let q=0;q<v.length&&!((h-=2)<0);++q)y=v.charCodeAt(q),x=y>>8,R=y%256,$.push(R),$.push(x);return $}function Lr(v){return e.toByteArray(Ce(v))}function _t(v,h,y,x){let R;for(R=0;R<x&&!(R+y>=h.length||R>=v.length);++R)h[R+y]=v[R];return R}function It(v,h){return v instanceof h||v!=null&&v.constructor!=null&&v.constructor.name!=null&&v.constructor.name===h.name}function Hn(v){return v!==v}const li=function(){const v="0123456789abcdef",h=new Array(256);for(let y=0;y<16;++y){const x=y*16;for(let R=0;R<16;++R)h[x+R]=v[y]+v[R]}return h}();function Ln(v){return typeof BigInt>"u"?k6:v}function k6(){throw new Error("BigInt not supported")}})(ai);var ca={Array:function(t){return t!=null&&t.constructor===Array},Boolean:function(t){return typeof t=="boolean"},Function:function(t){return typeof t=="function"},Nil:function(t){return t==null},Number:function(t){return typeof t=="number"},Object:function(t){return typeof t=="object"},String:function(t){return typeof t=="string"},"":function(){return!0}};ca.Null=ca.Nil;for(var Np in ca)ca[Np].toJSON=(function(t){return t}).bind(null,Np);var Xh=ca,Ds=Xh;function k1(t){return t.name||t.toString().match(/function (.*?)\s*\(/)[1]}function Zh(t){return Ds.Nil(t)?"":k1(t.constructor)}function C3(t){return Ds.Function(t)?"":Ds.String(t)?JSON.stringify(t):t&&Ds.Object(t)?"":t}function Qh(t,e){Error.captureStackTrace&&Error.captureStackTrace(t,e)}function Uc(t){return Ds.Function(t)?t.toJSON?t.toJSON():k1(t):Ds.Array(t)?"Array":t&&Ds.Object(t)?"Object":t!==void 0?t:""}function T1(t,e,r){var n=C3(e);return"Expected "+Uc(t)+", got"+(r!==""?" "+r:"")+(n!==""?" "+n:"")}function Un(t,e,r){r=r||Zh(e),this.message=T1(t,e,r),Qh(this,Un),this.__type=t,this.__value=e,this.__valueTypeName=r}Un.prototype=Object.create(Error.prototype);Un.prototype.constructor=Un;function R3(t,e,r,n,s){var i='" of type ';return e==="key"&&(i='" with key type '),T1('property "'+Uc(r)+i+Uc(t),n,s)}function Ri(t,e,r,n,s){t?(s=s||Zh(n),this.message=R3(t,r,e,n,s)):this.message='Unexpected property "'+e+'"',Qh(this,Un),this.__label=r,this.__property=e,this.__type=t,this.__value=n,this.__valueTypeName=s}Ri.prototype=Object.create(Error.prototype);Ri.prototype.constructor=Un;function N3(t,e){return new Un(t,{},e)}function U3(t,e,r){return t instanceof Ri?(e=e+"."+t.__property,t=new Ri(t.__type,e,t.__label,t.__value,t.__valueTypeName)):t instanceof Un&&(t=new Ri(t.__type,e,r,t.__value,t.__valueTypeName)),Qh(t),t}var _1={TfTypeError:Un,TfPropertyTypeError:Ri,tfCustomError:N3,tfSubError:U3,tfJSON:Uc,getValueTypeName:Zh},yf,Up;function F3(){if(Up)return yf;Up=1;var t=Xh,e=_1;function r(T){return Buffer.isBuffer(T)}function n(T){return typeof T=="string"&&/^([0-9a-f]{2})+$/i.test(T)}function s(T,P){var N=T.toJSON();function B(j){if(!T(j))return!1;if(j.length===P)return!0;throw e.tfCustomError(N+"(Length: "+P+")",N+"(Length: "+j.length+")")}return B.toJSON=function(){return N},B}var i=s.bind(null,t.Array),o=s.bind(null,r),a=s.bind(null,n),c=s.bind(null,t.String);function u(T,P,N){N=N||t.Number;function B(j,M){return N(j,M)&&j>T&&j<P}return B.toJSON=function(){return`${N.toJSON()} between [${T}, ${P}]`},B}var f=Math.pow(2,53)-1;function l(T){return typeof T=="number"&&isFinite(T)}function p(T){return T<<24>>24===T}function d(T){return T<<16>>16===T}function m(T){return(T|0)===T}function g(T){return typeof T=="number"&&T>=-f&&T<=f&&Math.floor(T)===T}function A(T){return(T&255)===T}function S(T){return(T&65535)===T}function _(T){return T>>>0===T}function E(T){return typeof T=="number"&&T>=0&&T<=f&&Math.floor(T)===T}var w={ArrayN:i,Buffer:r,BufferN:o,Finite:l,Hex:n,HexN:a,Int8:p,Int16:d,Int32:m,Int53:g,Range:u,StringN:c,UInt8:A,UInt16:S,UInt32:_,UInt53:E};for(var k in w)w[k].toJSON=(function(T){return T}).bind(null,k);return yf=w,yf}var Ua=_1,dt=Xh,dn=Ua.tfJSON,I1=Ua.TfTypeError,P1=Ua.TfPropertyTypeError,ho=Ua.tfSubError,M3=Ua.getValueTypeName,kn={arrayOf:function(e,r){e=Xr(e),r=r||{};function n(s,i){return!dt.Array(s)||dt.Nil(s)||r.minLength!==void 0&&s.length<r.minLength||r.maxLength!==void 0&&s.length>r.maxLength||r.length!==void 0&&s.length!==r.length?!1:s.every(function(o,a){try{return Rt(e,o,i)}catch(c){throw ho(c,a)}})}return n.toJSON=function(){var s="["+dn(e)+"]";return r.length!==void 0?s+="{"+r.length+"}":(r.minLength!==void 0||r.maxLength!==void 0)&&(s+="{"+(r.minLength===void 0?0:r.minLength)+","+(r.maxLength===void 0?1/0:r.maxLength)+"}"),s},n},maybe:function t(e){e=Xr(e);function r(n,s){return dt.Nil(n)||e(n,s,t)}return r.toJSON=function(){return"?"+dn(e)},r},map:function(e,r){e=Xr(e),r&&(r=Xr(r));function n(s,i){if(!dt.Object(s)||dt.Nil(s))return!1;for(var o in s){try{r&&Rt(r,o,i)}catch(c){throw ho(c,o,"key")}try{var a=s[o];Rt(e,a,i)}catch(c){throw ho(c,o)}}return!0}return r?n.toJSON=function(){return"{"+dn(r)+": "+dn(e)+"}"}:n.toJSON=function(){return"{"+dn(e)+"}"},n},object:function(e){var r={};for(var n in e)r[n]=Xr(e[n]);function s(i,o){if(!dt.Object(i)||dt.Nil(i))return!1;var a;try{for(a in r){var c=r[a],u=i[a];Rt(c,u,o)}}catch(f){throw ho(f,a)}if(o){for(a in i)if(!r[a])throw new P1(void 0,a)}return!0}return s.toJSON=function(){return dn(r)},s},anyOf:function(){var e=[].slice.call(arguments).map(Xr);function r(n,s){return e.some(function(i){try{return Rt(i,n,s)}catch{return!1}})}return r.toJSON=function(){return e.map(dn).join("|")},r},allOf:function(){var e=[].slice.call(arguments).map(Xr);function r(n,s){return e.every(function(i){try{return Rt(i,n,s)}catch{return!1}})}return r.toJSON=function(){return e.map(dn).join(" & ")},r},quacksLike:function(e){function r(n){return e===M3(n)}return r.toJSON=function(){return e},r},tuple:function(){var e=[].slice.call(arguments).map(Xr);function r(n,s){return dt.Nil(n)||dt.Nil(n.length)||s&&n.length!==e.length?!1:e.every(function(i,o){try{return Rt(i,n[o],s)}catch(a){throw ho(a,o)}})}return r.toJSON=function(){return"("+e.map(dn).join(", ")+")"},r},value:function(e){function r(n){return n===e}return r.toJSON=function(){return e},r}};kn.oneOf=kn.anyOf;function Xr(t){if(dt.String(t))return t[0]==="?"?kn.maybe(t.slice(1)):dt[t]||kn.quacksLike(t);if(t&&dt.Object(t)){if(dt.Array(t)){if(t.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return kn.arrayOf(t[0])}return kn.object(t)}else if(dt.Function(t))return t;return kn.value(t)}function Rt(t,e,r,n){if(dt.Function(t)){if(t(e,r))return!0;throw new I1(n||t,e)}return Rt(Xr(t),e,r)}for(var fs in dt)Rt[fs]=dt[fs];for(fs in kn)Rt[fs]=kn[fs];var Fp=F3();for(fs in Fp)Rt[fs]=Fp[fs];Rt.compile=Xr;Rt.TfTypeError=I1;Rt.TfPropertyTypeError=P1;var $3=Rt;(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.oneOf=t.Null=t.BufferN=t.Function=t.UInt32=t.UInt8=t.tuple=t.maybe=t.Hex=t.Buffer=t.String=t.Boolean=t.Array=t.Number=t.Hash256bit=t.Hash160bit=t.Buffer256bit=t.isTaptree=t.isTapleaf=t.TAPLEAF_VERSION_MASK=t.Satoshi=t.isPoint=t.stacksEqual=t.typeforce=void 0;const e=ai;t.typeforce=$3;const r=e.Buffer.alloc(32,0),n=e.Buffer.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex");function s(f,l){return f.length!==l.length?!1:f.every((p,d)=>p.equals(l[d]))}t.stacksEqual=s;function i(f){if(!e.Buffer.isBuffer(f)||f.length<33)return!1;const l=f[0],p=f.slice(1,33);if(p.compare(r)===0||p.compare(n)>=0)return!1;if((l===2||l===3)&&f.length===33)return!0;const d=f.slice(33);return d.compare(r)===0||d.compare(n)>=0?!1:l===4&&f.length===65}t.isPoint=i;const o=21*1e14;function a(f){return t.typeforce.UInt53(f)&&f<=o}t.Satoshi=a,t.TAPLEAF_VERSION_MASK=254;function c(f){return!f||!("output"in f)||!e.Buffer.isBuffer(f.output)?!1:f.version!==void 0?(f.version&t.TAPLEAF_VERSION_MASK)===f.version:!0}t.isTapleaf=c;function u(f){return(0,t.Array)(f)?f.length!==2?!1:f.every(l=>u(l)):c(f)}t.isTaptree=u,t.Buffer256bit=t.typeforce.BufferN(32),t.Hash160bit=t.typeforce.BufferN(20),t.Hash256bit=t.typeforce.BufferN(32),t.Number=t.typeforce.Number,t.Array=t.typeforce.Array,t.Boolean=t.typeforce.Boolean,t.String=t.typeforce.String,t.Buffer=t.typeforce.Buffer,t.Hex=t.typeforce.Hex,t.maybe=t.typeforce.maybe,t.tuple=t.typeforce.tuple,t.UInt8=t.typeforce.UInt8,t.UInt32=t.typeforce.UInt32,t.Function=t.typeforce.Function,t.BufferN=t.typeforce.BufferN,t.Null=t.typeforce.Null,t.oneOf=t.typeforce.oneOf})(kt);var Fa={},ht={};Object.defineProperty(ht,"__esModule",{value:!0});ht.BufferReader=ht.BufferWriter=ht.cloneBuffer=ht.reverseBuffer=ht.writeUInt64LE=ht.readUInt64LE=ht.varuint=void 0;const zs=kt,{typeforce:O1}=zs,ua=Cm;ht.varuint=ua;function B1(t,e){if(typeof t!="number")throw new Error("cannot write a non-number as a number");if(t<0)throw new Error("specified a negative value for writing an unsigned value");if(t>e)throw new Error("RangeError: value out of range");if(Math.floor(t)!==t)throw new Error("value has a fractional component")}function C1(t,e){const r=t.readUInt32LE(e);let n=t.readUInt32LE(e+4);return n*=4294967296,B1(n+r,9007199254740991),n+r}ht.readUInt64LE=C1;function R1(t,e,r){return B1(e,9007199254740991),t.writeInt32LE(e&-1,r),t.writeUInt32LE(Math.floor(e/4294967296),r+4),r+8}ht.writeUInt64LE=R1;function j3(t){if(t.length<1)return t;let e=t.length-1,r=0;for(let n=0;n<t.length/2;n++)r=t[n],t[n]=t[e],t[e]=r,e--;return t}ht.reverseBuffer=j3;function H3(t){const e=Buffer.allocUnsafe(t.length);return t.copy(e),e}ht.cloneBuffer=H3;class e0{static withCapacity(e){return new e0(Buffer.alloc(e))}constructor(e,r=0){this.buffer=e,this.offset=r,O1(zs.tuple(zs.Buffer,zs.UInt32),[e,r])}writeUInt8(e){this.offset=this.buffer.writeUInt8(e,this.offset)}writeInt32(e){this.offset=this.buffer.writeInt32LE(e,this.offset)}writeUInt32(e){this.offset=this.buffer.writeUInt32LE(e,this.offset)}writeUInt64(e){this.offset=R1(this.buffer,e,this.offset)}writeVarInt(e){ua.encode(e,this.buffer,this.offset),this.offset+=ua.encode.bytes}writeSlice(e){if(this.buffer.length<this.offset+e.length)throw new Error("Cannot write slice out of bounds");this.offset+=e.copy(this.buffer,this.offset)}writeVarSlice(e){this.writeVarInt(e.length),this.writeSlice(e)}writeVector(e){this.writeVarInt(e.length),e.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}`)}}ht.BufferWriter=e0;class L3{constructor(e,r=0){this.buffer=e,this.offset=r,O1(zs.tuple(zs.Buffer,zs.UInt32),[e,r])}readUInt8(){const e=this.buffer.readUInt8(this.offset);return this.offset++,e}readInt32(){const e=this.buffer.readInt32LE(this.offset);return this.offset+=4,e}readUInt32(){const e=this.buffer.readUInt32LE(this.offset);return this.offset+=4,e}readUInt64(){const e=C1(this.buffer,this.offset);return this.offset+=8,e}readVarInt(){const e=ua.decode(this.buffer,this.offset);return this.offset+=ua.decode.bytes,e}readSlice(e){if(this.buffer.length<this.offset+e)throw new Error("Cannot read slice out of bounds");const r=this.buffer.slice(this.offset,this.offset+e);return this.offset+=e,r}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const e=this.readVarInt(),r=[];for(let n=0;n<e;n++)r.push(this.readVarSlice());return r}}ht.BufferReader=L3;var Ss={},Vi={},Ut={},At={},bu={},gu={};Object.defineProperty(gu,"__esModule",{value:!0});gu.crypto=void 0;gu.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;(function(t){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(t,"__esModule",{value:!0}),t.wrapXOFConstructorWithOpts=t.wrapConstructorWithOpts=t.wrapConstructor=t.Hash=t.nextTick=t.swap32IfBE=t.byteSwapIfBE=t.swap8IfBE=t.isLE=void 0,t.isBytes=r,t.anumber=n,t.abytes=s,t.ahash=i,t.aexists=o,t.aoutput=a,t.u8=c,t.u32=u,t.clean=f,t.createView=l,t.rotr=p,t.rotl=d,t.byteSwap=m,t.byteSwap32=g,t.bytesToHex=_,t.hexToBytes=k,t.asyncLoop=P,t.utf8ToBytes=N,t.bytesToUtf8=B,t.toBytes=j,t.kdfInputToBytes=M,t.concatBytes=H,t.checkOpts=z,t.createHasher=U,t.createOptHasher=W,t.createXOFer=ee,t.randomBytes=G;const e=gu;function r(O){return O instanceof Uint8Array||ArrayBuffer.isView(O)&&O.constructor.name==="Uint8Array"}function n(O){if(!Number.isSafeInteger(O)||O<0)throw new Error("positive integer expected, got "+O)}function s(O,...L){if(!r(O))throw new Error("Uint8Array expected");if(L.length>0&&!L.includes(O.length))throw new Error("Uint8Array expected of length "+L+", got length="+O.length)}function i(O){if(typeof O!="function"||typeof O.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");n(O.outputLen),n(O.blockLen)}function o(O,L=!0){if(O.destroyed)throw new Error("Hash instance has been destroyed");if(L&&O.finished)throw new Error("Hash#digest() has already been called")}function a(O,L){s(O);const X=L.outputLen;if(O.length<X)throw new Error("digestInto() expects output buffer of length at least "+X)}function c(O){return new Uint8Array(O.buffer,O.byteOffset,O.byteLength)}function u(O){return new Uint32Array(O.buffer,O.byteOffset,Math.floor(O.byteLength/4))}function f(...O){for(let L=0;L<O.length;L++)O[L].fill(0)}function l(O){return new DataView(O.buffer,O.byteOffset,O.byteLength)}function p(O,L){return O<<32-L|O>>>L}function d(O,L){return O<<L|O>>>32-L>>>0}t.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function m(O){return O<<24&4278190080|O<<8&16711680|O>>>8&65280|O>>>24&255}t.swap8IfBE=t.isLE?O=>O:O=>m(O),t.byteSwapIfBE=t.swap8IfBE;function g(O){for(let L=0;L<O.length;L++)O[L]=m(O[L]);return O}t.swap32IfBE=t.isLE?O=>O:g;const A=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",S=Array.from({length:256},(O,L)=>L.toString(16).padStart(2,"0"));function _(O){if(s(O),A)return O.toHex();let L="";for(let X=0;X<O.length;X++)L+=S[O[X]];return L}const E={_0:48,_9:57,A:65,F:70,a:97,f:102};function w(O){if(O>=E._0&&O<=E._9)return O-E._0;if(O>=E.A&&O<=E.F)return O-(E.A-10);if(O>=E.a&&O<=E.f)return O-(E.a-10)}function k(O){if(typeof O!="string")throw new Error("hex string expected, got "+typeof O);if(A)return Uint8Array.fromHex(O);const L=O.length,X=L/2;if(L%2)throw new Error("hex string expected, got unpadded hex of length "+L);const C=new Uint8Array(X);for(let F=0,D=0;F<X;F++,D+=2){const ne=w(O.charCodeAt(D)),oe=w(O.charCodeAt(D+1));if(ne===void 0||oe===void 0){const le=O[D]+O[D+1];throw new Error('hex string expected, got non-hex character "'+le+'" at index '+D)}C[F]=ne*16+oe}return C}const T=async()=>{};t.nextTick=T;async function P(O,L,X){let C=Date.now();for(let F=0;F<O;F++){X(F);const D=Date.now()-C;D>=0&&D<L||(await(0,t.nextTick)(),C+=D)}}function N(O){if(typeof O!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(O))}function B(O){return new TextDecoder().decode(O)}function j(O){return typeof O=="string"&&(O=N(O)),s(O),O}function M(O){return typeof O=="string"&&(O=N(O)),s(O),O}function H(...O){let L=0;for(let C=0;C<O.length;C++){const F=O[C];s(F),L+=F.length}const X=new Uint8Array(L);for(let C=0,F=0;C<O.length;C++){const D=O[C];X.set(D,F),F+=D.length}return X}function z(O,L){if(L!==void 0&&{}.toString.call(L)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(O,L)}class Z{}t.Hash=Z;function U(O){const L=C=>O().update(j(C)).digest(),X=O();return L.outputLen=X.outputLen,L.blockLen=X.blockLen,L.create=()=>O(),L}function W(O){const L=(C,F)=>O(F).update(j(C)).digest(),X=O({});return L.outputLen=X.outputLen,L.blockLen=X.blockLen,L.create=C=>O(C),L}function ee(O){const L=(C,F)=>O(F).update(j(C)).digest(),X=O({});return L.outputLen=X.outputLen,L.blockLen=X.blockLen,L.create=C=>O(C),L}t.wrapConstructor=U,t.wrapConstructorWithOpts=W,t.wrapXOFConstructorWithOpts=ee;function G(O=32){if(e.crypto&&typeof e.crypto.getRandomValues=="function")return e.crypto.getRandomValues(new Uint8Array(O));if(e.crypto&&typeof e.crypto.randomBytes=="function")return Uint8Array.from(e.crypto.randomBytes(O));throw new Error("crypto.getRandomValues must be defined")}})(bu);Object.defineProperty(At,"__esModule",{value:!0});At.SHA512_IV=At.SHA384_IV=At.SHA224_IV=At.SHA256_IV=At.HashMD=void 0;At.setBigUint64=N1;At.Chi=D3;At.Maj=z3;const Vr=bu;function N1(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);const s=BigInt(32),i=BigInt(4294967295),o=Number(r>>s&i),a=Number(r&i),c=n?4:0,u=n?0:4;t.setUint32(e+c,o,n),t.setUint32(e+u,a,n)}function D3(t,e,r){return t&e^~t&r}function z3(t,e,r){return t&e^t&r^e&r}class V3 extends Vr.Hash{constructor(e,r,n,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=s,this.buffer=new Uint8Array(e),this.view=(0,Vr.createView)(this.buffer)}update(e){(0,Vr.aexists)(this),e=(0,Vr.toBytes)(e),(0,Vr.abytes)(e);const{view:r,buffer:n,blockLen:s}=this,i=e.length;for(let o=0;o<i;){const a=Math.min(s-this.pos,i-o);if(a===s){const c=(0,Vr.createView)(e);for(;s<=i-o;o+=s)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){(0,Vr.aexists)(this),(0,Vr.aoutput)(e,this),this.finished=!0;const{buffer:r,view:n,blockLen:s,isLE:i}=this;let{pos:o}=this;r[o++]=128,(0,Vr.clean)(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(n,0),o=0);for(let l=o;l<s;l++)r[l]=0;N1(n,s-8,BigInt(this.length*8),i),this.process(n,0);const a=(0,Vr.createView)(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],i)}digest(){const{buffer:e,outputLen:r}=this;this.digestInto(e);const n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:r,buffer:n,length:s,finished:i,destroyed:o,pos:a}=this;return e.destroyed=o,e.finished=i,e.length=s,e.pos=a,s%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}}At.HashMD=V3;At.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);At.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);At.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);At.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);Object.defineProperty(Ut,"__esModule",{value:!0});Ut.ripemd160=Ut.RIPEMD160=Ut.md5=Ut.MD5=Ut.sha1=Ut.SHA1=void 0;const Vs=At,pt=bu,bi=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),Vn=new Uint32Array(80);class U1 extends Vs.HashMD{constructor(){super(64,20,8,!1),this.A=bi[0]|0,this.B=bi[1]|0,this.C=bi[2]|0,this.D=bi[3]|0,this.E=bi[4]|0}get(){const{A:e,B:r,C:n,D:s,E:i}=this;return[e,r,n,s,i]}set(e,r,n,s,i){this.A=e|0,this.B=r|0,this.C=n|0,this.D=s|0,this.E=i|0}process(e,r){for(let c=0;c<16;c++,r+=4)Vn[c]=e.getUint32(r,!1);for(let c=16;c<80;c++)Vn[c]=(0,pt.rotl)(Vn[c-3]^Vn[c-8]^Vn[c-14]^Vn[c-16],1);let{A:n,B:s,C:i,D:o,E:a}=this;for(let c=0;c<80;c++){let u,f;c<20?(u=(0,Vs.Chi)(s,i,o),f=1518500249):c<40?(u=s^i^o,f=1859775393):c<60?(u=(0,Vs.Maj)(s,i,o),f=2400959708):(u=s^i^o,f=3395469782);const l=(0,pt.rotl)(n,5)+u+a+f+Vn[c]|0;a=o,o=i,i=(0,pt.rotl)(s,30),s=n,n=l}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,this.set(n,s,i,o,a)}roundClean(){(0,pt.clean)(Vn)}destroy(){this.set(0,0,0,0,0),(0,pt.clean)(this.buffer)}}Ut.SHA1=U1;Ut.sha1=(0,pt.createHasher)(()=>new U1);const G3=Math.pow(2,32),q3=Array.from({length:64},(t,e)=>Math.floor(G3*Math.abs(Math.sin(e+1)))),Za=bi.slice(0,4),mf=new Uint32Array(16);class F1 extends Vs.HashMD{constructor(){super(64,16,8,!0),this.A=Za[0]|0,this.B=Za[1]|0,this.C=Za[2]|0,this.D=Za[3]|0}get(){const{A:e,B:r,C:n,D:s}=this;return[e,r,n,s]}set(e,r,n,s){this.A=e|0,this.B=r|0,this.C=n|0,this.D=s|0}process(e,r){for(let a=0;a<16;a++,r+=4)mf[a]=e.getUint32(r,!0);let{A:n,B:s,C:i,D:o}=this;for(let a=0;a<64;a++){let c,u,f;a<16?(c=(0,Vs.Chi)(s,i,o),u=a,f=[7,12,17,22]):a<32?(c=(0,Vs.Chi)(o,s,i),u=(5*a+1)%16,f=[5,9,14,20]):a<48?(c=s^i^o,u=(3*a+5)%16,f=[4,11,16,23]):(c=i^(s|~o),u=7*a%16,f=[6,10,15,21]),c=c+n+q3[a]+mf[u],n=o,o=i,i=s,s=s+(0,pt.rotl)(c,f[a%4])}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,this.set(n,s,i,o)}roundClean(){(0,pt.clean)(mf)}destroy(){this.set(0,0,0,0),(0,pt.clean)(this.buffer)}}Ut.MD5=F1;Ut.md5=(0,pt.createHasher)(()=>new F1);const W3=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),M1=Uint8Array.from(new Array(16).fill(0).map((t,e)=>e)),K3=M1.map(t=>(9*t+5)%16),$1=(()=>{const r=[[M1],[K3]];for(let n=0;n<4;n++)for(let s of r)s.push(s[n].map(i=>W3[i]));return r})(),j1=$1[0],H1=$1[1],L1=[[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(t=>Uint8Array.from(t)),Y3=j1.map((t,e)=>t.map(r=>L1[e][r])),J3=H1.map((t,e)=>t.map(r=>L1[e][r])),X3=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),Z3=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Mp(t,e,r,n){return t===0?e^r^n:t===1?e&r|~e&n:t===2?(e|~r)^n:t===3?e&n|r&~n:e^(r|~n)}const Qa=new Uint32Array(16);class D1 extends Vs.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:e,h1:r,h2:n,h3:s,h4:i}=this;return[e,r,n,s,i]}set(e,r,n,s,i){this.h0=e|0,this.h1=r|0,this.h2=n|0,this.h3=s|0,this.h4=i|0}process(e,r){for(let d=0;d<16;d++,r+=4)Qa[d]=e.getUint32(r,!0);let n=this.h0|0,s=n,i=this.h1|0,o=i,a=this.h2|0,c=a,u=this.h3|0,f=u,l=this.h4|0,p=l;for(let d=0;d<5;d++){const m=4-d,g=X3[d],A=Z3[d],S=j1[d],_=H1[d],E=Y3[d],w=J3[d];for(let k=0;k<16;k++){const T=(0,pt.rotl)(n+Mp(d,i,a,u)+Qa[S[k]]+g,E[k])+l|0;n=l,l=u,u=(0,pt.rotl)(a,10)|0,a=i,i=T}for(let k=0;k<16;k++){const T=(0,pt.rotl)(s+Mp(m,o,c,f)+Qa[_[k]]+A,w[k])+p|0;s=p,p=f,f=(0,pt.rotl)(c,10)|0,c=o,o=T}}this.set(this.h1+a+f|0,this.h2+u+p|0,this.h3+l+s|0,this.h4+n+o|0,this.h0+i+c|0)}roundClean(){(0,pt.clean)(Qa)}destroy(){this.destroyed=!0,(0,pt.clean)(this.buffer),this.set(0,0,0,0,0)}}Ut.RIPEMD160=D1;Ut.ripemd160=(0,pt.createHasher)(()=>new D1);Object.defineProperty(Vi,"__esModule",{value:!0});Vi.ripemd160=Vi.RIPEMD160=void 0;const z1=Ut;Vi.RIPEMD160=z1.RIPEMD160;Vi.ripemd160=z1.ripemd160;var Gi={};Object.defineProperty(Gi,"__esModule",{value:!0});Gi.sha1=Gi.SHA1=void 0;const V1=Ut;Gi.SHA1=V1.SHA1;Gi.sha1=V1.sha1;var Pr={},Ne={},he={};Object.defineProperty(he,"__esModule",{value:!0});he.toBig=he.shrSL=he.shrSH=he.rotrSL=he.rotrSH=he.rotrBL=he.rotrBH=he.rotr32L=he.rotr32H=he.rotlSL=he.rotlSH=he.rotlBL=he.rotlBH=he.add5L=he.add5H=he.add4L=he.add4H=he.add3L=he.add3H=void 0;he.add=iw;he.fromBig=t0;he.split=G1;const ec=BigInt(2**32-1),Id=BigInt(32);function t0(t,e=!1){return e?{h:Number(t&ec),l:Number(t>>Id&ec)}:{h:Number(t>>Id&ec)|0,l:Number(t&ec)|0}}function G1(t,e=!1){const r=t.length;let n=new Uint32Array(r),s=new Uint32Array(r);for(let i=0;i<r;i++){const{h:o,l:a}=t0(t[i],e);[n[i],s[i]]=[o,a]}return[n,s]}const q1=(t,e)=>BigInt(t>>>0)<<Id|BigInt(e>>>0);he.toBig=q1;const W1=(t,e,r)=>t>>>r;he.shrSH=W1;const K1=(t,e,r)=>t<<32-r|e>>>r;he.shrSL=K1;const Y1=(t,e,r)=>t>>>r|e<<32-r;he.rotrSH=Y1;const J1=(t,e,r)=>t<<32-r|e>>>r;he.rotrSL=J1;const X1=(t,e,r)=>t<<64-r|e>>>r-32;he.rotrBH=X1;const Z1=(t,e,r)=>t>>>r-32|e<<64-r;he.rotrBL=Z1;const Q1=(t,e)=>e;he.rotr32H=Q1;const ew=(t,e)=>t;he.rotr32L=ew;const tw=(t,e,r)=>t<<r|e>>>32-r;he.rotlSH=tw;const rw=(t,e,r)=>e<<r|t>>>32-r;he.rotlSL=rw;const nw=(t,e,r)=>e<<r-32|t>>>64-r;he.rotlBH=nw;const sw=(t,e,r)=>t<<r-32|e>>>64-r;he.rotlBL=sw;function iw(t,e,r,n){const s=(e>>>0)+(n>>>0);return{h:t+r+(s/2**32|0)|0,l:s|0}}const ow=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0);he.add3L=ow;const aw=(t,e,r,n)=>e+r+n+(t/2**32|0)|0;he.add3H=aw;const cw=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0);he.add4L=cw;const uw=(t,e,r,n,s)=>e+r+n+s+(t/2**32|0)|0;he.add4H=uw;const fw=(t,e,r,n,s)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(s>>>0);he.add5L=fw;const lw=(t,e,r,n,s,i)=>e+r+n+s+i+(t/2**32|0)|0;he.add5H=lw;const Q3={fromBig:t0,split:G1,toBig:q1,shrSH:W1,shrSL:K1,rotrSH:Y1,rotrSL:J1,rotrBH:X1,rotrBL:Z1,rotr32H:Q1,rotr32L:ew,rotlSH:tw,rotlSL:rw,rotlBH:nw,rotlBL:sw,add:iw,add3L:ow,add3H:aw,add4L:cw,add4H:uw,add5H:lw,add5L:fw};he.default=Q3;Object.defineProperty(Ne,"__esModule",{value:!0});Ne.sha512_224=Ne.sha512_256=Ne.sha384=Ne.sha512=Ne.sha224=Ne.sha256=Ne.SHA512_256=Ne.SHA512_224=Ne.SHA384=Ne.SHA512=Ne.SHA224=Ne.SHA256=void 0;const ce=At,ye=he,Ze=bu,ek=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Gn=new Uint32Array(64);class r0 extends ce.HashMD{constructor(e=32){super(64,e,8,!1),this.A=ce.SHA256_IV[0]|0,this.B=ce.SHA256_IV[1]|0,this.C=ce.SHA256_IV[2]|0,this.D=ce.SHA256_IV[3]|0,this.E=ce.SHA256_IV[4]|0,this.F=ce.SHA256_IV[5]|0,this.G=ce.SHA256_IV[6]|0,this.H=ce.SHA256_IV[7]|0}get(){const{A:e,B:r,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[e,r,n,s,i,o,a,c]}set(e,r,n,s,i,o,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)Gn[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){const p=Gn[l-15],d=Gn[l-2],m=(0,Ze.rotr)(p,7)^(0,Ze.rotr)(p,18)^p>>>3,g=(0,Ze.rotr)(d,17)^(0,Ze.rotr)(d,19)^d>>>10;Gn[l]=g+Gn[l-7]+m+Gn[l-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){const p=(0,Ze.rotr)(a,6)^(0,Ze.rotr)(a,11)^(0,Ze.rotr)(a,25),d=f+p+(0,ce.Chi)(a,c,u)+ek[l]+Gn[l]|0,g=((0,Ze.rotr)(n,2)^(0,Ze.rotr)(n,13)^(0,Ze.rotr)(n,22))+(0,ce.Maj)(n,s,i)|0;f=u,u=c,c=a,a=o+d|0,o=i,i=s,s=n,n=d+g|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,s,i,o,a,c,u,f)}roundClean(){(0,Ze.clean)(Gn)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,Ze.clean)(this.buffer)}}Ne.SHA256=r0;class dw extends r0{constructor(){super(28),this.A=ce.SHA224_IV[0]|0,this.B=ce.SHA224_IV[1]|0,this.C=ce.SHA224_IV[2]|0,this.D=ce.SHA224_IV[3]|0,this.E=ce.SHA224_IV[4]|0,this.F=ce.SHA224_IV[5]|0,this.G=ce.SHA224_IV[6]|0,this.H=ce.SHA224_IV[7]|0}}Ne.SHA224=dw;const hw=ye.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),tk=hw[0],rk=hw[1],qn=new Uint32Array(80),Wn=new Uint32Array(80);class Ma extends ce.HashMD{constructor(e=64){super(128,e,16,!1),this.Ah=ce.SHA512_IV[0]|0,this.Al=ce.SHA512_IV[1]|0,this.Bh=ce.SHA512_IV[2]|0,this.Bl=ce.SHA512_IV[3]|0,this.Ch=ce.SHA512_IV[4]|0,this.Cl=ce.SHA512_IV[5]|0,this.Dh=ce.SHA512_IV[6]|0,this.Dl=ce.SHA512_IV[7]|0,this.Eh=ce.SHA512_IV[8]|0,this.El=ce.SHA512_IV[9]|0,this.Fh=ce.SHA512_IV[10]|0,this.Fl=ce.SHA512_IV[11]|0,this.Gh=ce.SHA512_IV[12]|0,this.Gl=ce.SHA512_IV[13]|0,this.Hh=ce.SHA512_IV[14]|0,this.Hl=ce.SHA512_IV[15]|0}get(){const{Ah:e,Al:r,Bh:n,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:p,Gh:d,Gl:m,Hh:g,Hl:A}=this;return[e,r,n,s,i,o,a,c,u,f,l,p,d,m,g,A]}set(e,r,n,s,i,o,a,c,u,f,l,p,d,m,g,A){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=p|0,this.Gh=d|0,this.Gl=m|0,this.Hh=g|0,this.Hl=A|0}process(e,r){for(let E=0;E<16;E++,r+=4)qn[E]=e.getUint32(r),Wn[E]=e.getUint32(r+=4);for(let E=16;E<80;E++){const w=qn[E-15]|0,k=Wn[E-15]|0,T=ye.rotrSH(w,k,1)^ye.rotrSH(w,k,8)^ye.shrSH(w,k,7),P=ye.rotrSL(w,k,1)^ye.rotrSL(w,k,8)^ye.shrSL(w,k,7),N=qn[E-2]|0,B=Wn[E-2]|0,j=ye.rotrSH(N,B,19)^ye.rotrBH(N,B,61)^ye.shrSH(N,B,6),M=ye.rotrSL(N,B,19)^ye.rotrBL(N,B,61)^ye.shrSL(N,B,6),H=ye.add4L(P,M,Wn[E-7],Wn[E-16]),z=ye.add4H(H,T,j,qn[E-7],qn[E-16]);qn[E]=z|0,Wn[E]=H|0}let{Ah:n,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:p,Fh:d,Fl:m,Gh:g,Gl:A,Hh:S,Hl:_}=this;for(let E=0;E<80;E++){const w=ye.rotrSH(l,p,14)^ye.rotrSH(l,p,18)^ye.rotrBH(l,p,41),k=ye.rotrSL(l,p,14)^ye.rotrSL(l,p,18)^ye.rotrBL(l,p,41),T=l&d^~l&g,P=p&m^~p&A,N=ye.add5L(_,k,P,rk[E],Wn[E]),B=ye.add5H(N,S,w,T,tk[E],qn[E]),j=N|0,M=ye.rotrSH(n,s,28)^ye.rotrBH(n,s,34)^ye.rotrBH(n,s,39),H=ye.rotrSL(n,s,28)^ye.rotrBL(n,s,34)^ye.rotrBL(n,s,39),z=n&i^n&a^i&a,Z=s&o^s&c^o&c;S=g|0,_=A|0,g=d|0,A=m|0,d=l|0,m=p|0,{h:l,l:p}=ye.add(u|0,f|0,B|0,j|0),u=a|0,f=c|0,a=i|0,c=o|0,i=n|0,o=s|0;const U=ye.add3L(j,H,Z);n=ye.add3H(U,B,M,z),s=U|0}({h:n,l:s}=ye.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:o}=ye.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=ye.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=ye.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:p}=ye.add(this.Eh|0,this.El|0,l|0,p|0),{h:d,l:m}=ye.add(this.Fh|0,this.Fl|0,d|0,m|0),{h:g,l:A}=ye.add(this.Gh|0,this.Gl|0,g|0,A|0),{h:S,l:_}=ye.add(this.Hh|0,this.Hl|0,S|0,_|0),this.set(n,s,i,o,a,c,u,f,l,p,d,m,g,A,S,_)}roundClean(){(0,Ze.clean)(qn,Wn)}destroy(){(0,Ze.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}Ne.SHA512=Ma;class pw extends Ma{constructor(){super(48),this.Ah=ce.SHA384_IV[0]|0,this.Al=ce.SHA384_IV[1]|0,this.Bh=ce.SHA384_IV[2]|0,this.Bl=ce.SHA384_IV[3]|0,this.Ch=ce.SHA384_IV[4]|0,this.Cl=ce.SHA384_IV[5]|0,this.Dh=ce.SHA384_IV[6]|0,this.Dl=ce.SHA384_IV[7]|0,this.Eh=ce.SHA384_IV[8]|0,this.El=ce.SHA384_IV[9]|0,this.Fh=ce.SHA384_IV[10]|0,this.Fl=ce.SHA384_IV[11]|0,this.Gh=ce.SHA384_IV[12]|0,this.Gl=ce.SHA384_IV[13]|0,this.Hh=ce.SHA384_IV[14]|0,this.Hl=ce.SHA384_IV[15]|0}}Ne.SHA384=pw;const gt=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),wt=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class yw extends Ma{constructor(){super(28),this.Ah=gt[0]|0,this.Al=gt[1]|0,this.Bh=gt[2]|0,this.Bl=gt[3]|0,this.Ch=gt[4]|0,this.Cl=gt[5]|0,this.Dh=gt[6]|0,this.Dl=gt[7]|0,this.Eh=gt[8]|0,this.El=gt[9]|0,this.Fh=gt[10]|0,this.Fl=gt[11]|0,this.Gh=gt[12]|0,this.Gl=gt[13]|0,this.Hh=gt[14]|0,this.Hl=gt[15]|0}}Ne.SHA512_224=yw;class mw extends Ma{constructor(){super(32),this.Ah=wt[0]|0,this.Al=wt[1]|0,this.Bh=wt[2]|0,this.Bl=wt[3]|0,this.Ch=wt[4]|0,this.Cl=wt[5]|0,this.Dh=wt[6]|0,this.Dl=wt[7]|0,this.Eh=wt[8]|0,this.El=wt[9]|0,this.Fh=wt[10]|0,this.Fl=wt[11]|0,this.Gh=wt[12]|0,this.Gl=wt[13]|0,this.Hh=wt[14]|0,this.Hl=wt[15]|0}}Ne.SHA512_256=mw;Ne.sha256=(0,Ze.createHasher)(()=>new r0);Ne.sha224=(0,Ze.createHasher)(()=>new dw);Ne.sha512=(0,Ze.createHasher)(()=>new Ma);Ne.sha384=(0,Ze.createHasher)(()=>new pw);Ne.sha512_256=(0,Ze.createHasher)(()=>new mw);Ne.sha512_224=(0,Ze.createHasher)(()=>new yw);Object.defineProperty(Pr,"__esModule",{value:!0});Pr.sha224=Pr.SHA224=Pr.sha256=Pr.SHA256=void 0;const wu=Ne;Pr.SHA256=wu.SHA256;Pr.sha256=wu.sha256;Pr.SHA224=wu.SHA224;Pr.sha224=wu.sha224;(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.taggedHash=t.TAGGED_HASH_PREFIXES=t.TAGS=t.hash256=t.hash160=t.sha256=t.sha1=t.ripemd160=void 0;const e=Vi,r=Gi,n=Pr;function s(f){return Buffer.from((0,e.ripemd160)(Uint8Array.from(f)))}t.ripemd160=s;function i(f){return Buffer.from((0,r.sha1)(Uint8Array.from(f)))}t.sha1=i;function o(f){return Buffer.from((0,n.sha256)(Uint8Array.from(f)))}t.sha256=o;function a(f){return Buffer.from((0,e.ripemd160)((0,n.sha256)(Uint8Array.from(f))))}t.hash160=a;function c(f){return Buffer.from((0,n.sha256)((0,n.sha256)(Uint8Array.from(f))))}t.hash256=c,t.TAGS=["BIP0340/challenge","BIP0340/aux","BIP0340/nonce","TapLeaf","TapBranch","TapSighash","TapTweak","KeyAgg list","KeyAgg coefficient"],t.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 u(f,l){return o(Buffer.concat([t.TAGGED_HASH_PREFIXES[f],l]))}t.taggedHash=u})(Ss);var bf={},On={};Object.defineProperty(On,"__esModule",{value:!0});On.encode=On.decode=On.check=void 0;function nk(t){if(t.length<8||t.length>72||t[0]!==48||t[1]!==t.length-2||t[2]!==2)return!1;const e=t[3];if(e===0||5+e>=t.length||t[4+e]!==2)return!1;const r=t[5+e];return!(r===0||6+e+r!==t.length||t[4]&128||e>1&&t[4]===0&&!(t[5]&128)||t[e+6]&128||r>1&&t[e+6]===0&&!(t[e+7]&128))}On.check=nk;function sk(t){if(t.length<8)throw new Error("DER sequence length is too short");if(t.length>72)throw new Error("DER sequence length is too long");if(t[0]!==48)throw new Error("Expected DER sequence");if(t[1]!==t.length-2)throw new Error("DER sequence length is invalid");if(t[2]!==2)throw new Error("Expected DER integer");const e=t[3];if(e===0)throw new Error("R length is zero");if(5+e>=t.length)throw new Error("R length is too long");if(t[4+e]!==2)throw new Error("Expected DER integer (2)");const r=t[5+e];if(r===0)throw new Error("S length is zero");if(6+e+r!==t.length)throw new Error("S length is invalid");if(t[4]&128)throw new Error("R value is negative");if(e>1&&t[4]===0&&!(t[5]&128))throw new Error("R value excessively padded");if(t[e+6]&128)throw new Error("S value is negative");if(r>1&&t[e+6]===0&&!(t[e+7]&128))throw new Error("S value excessively padded");return{r:t.slice(4,4+e),s:t.slice(6+e)}}On.decode=sk;function ik(t,e){const r=t.length,n=e.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(t[0]&128)throw new Error("R value is negative");if(e[0]&128)throw new Error("S value is negative");if(r>1&&t[0]===0&&!(t[1]&128))throw new Error("R value excessively padded");if(n>1&&e[0]===0&&!(e[1]&128))throw new Error("S value excessively padded");const s=Buffer.allocUnsafe(6+r+n);return s[0]=48,s[1]=s.length-2,s[2]=2,s[3]=t.length,t.copy(s,4),s[4+r]=2,s[5+r]=e.length,e.copy(s,6+r),s}On.encode=ik;var ei={};Object.defineProperty(ei,"__esModule",{value:!0});ei.REVERSE_OPS=ei.OPS=void 0;const Pd={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};ei.OPS=Pd;const bw={};ei.REVERSE_OPS=bw;for(const t of Object.keys(Pd)){const e=Pd[t];bw[e]=t}var ls={};Object.defineProperty(ls,"__esModule",{value:!0});ls.decode=ls.encode=ls.encodingLength=void 0;const as=ei;function gw(t){return t<as.OPS.OP_PUSHDATA1?1:t<=255?2:t<=65535?3:5}ls.encodingLength=gw;function ok(t,e,r){const n=gw(e);return n===1?t.writeUInt8(e,r):n===2?(t.writeUInt8(as.OPS.OP_PUSHDATA1,r),t.writeUInt8(e,r+1)):n===3?(t.writeUInt8(as.OPS.OP_PUSHDATA2,r),t.writeUInt16LE(e,r+1)):(t.writeUInt8(as.OPS.OP_PUSHDATA4,r),t.writeUInt32LE(e,r+1)),n}ls.encode=ok;function ak(t,e){const r=t.readUInt8(e);let n,s;if(r<as.OPS.OP_PUSHDATA1)n=r,s=1;else if(r===as.OPS.OP_PUSHDATA1){if(e+2>t.length)return null;n=t.readUInt8(e+1),s=2}else if(r===as.OPS.OP_PUSHDATA2){if(e+3>t.length)return null;n=t.readUInt16LE(e+1),s=3}else{if(e+5>t.length)return null;if(r!==as.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");n=t.readUInt32LE(e+1),s=5}return{opcode:r,number:n,size:s}}ls.decode=ak;var qi={};Object.defineProperty(qi,"__esModule",{value:!0});qi.encode=qi.decode=void 0;function ck(t,e,r){e=e||4,r=r===void 0?!0:r;const n=t.length;if(n===0)return 0;if(n>e)throw new TypeError("Script number overflow");if(r&&!(t[n-1]&127)&&(n<=1||!(t[n-2]&128)))throw new Error("Non-minimally encoded script number");if(n===5){const i=t.readUInt32LE(0),o=t.readUInt8(4);return o&128?-((o&-129)*4294967296+i):o*4294967296+i}let s=0;for(let i=0;i<n;++i)s|=t[i]<<8*i;return t[n-1]&128?-(s&~(128<<8*(n-1))):s}qi.decode=ck;function uk(t){return t>2147483647?5:t>8388607?4:t>32767?3:t>127?2:t>0?1:0}function fk(t){let e=Math.abs(t);const r=uk(e),n=Buffer.allocUnsafe(r),s=t<0;for(let i=0;i<r;++i)n.writeUInt8(e&255,i),e>>=8;return n[r-1]&128?n.writeUInt8(s?128:0,r-1):s&&(n[r-1]|=128),n}qi.encode=fk;var _s={},$p;function lk(){if($p)return _s;$p=1,Object.defineProperty(_s,"__esModule",{value:!0}),_s.encode=_s.decode=void 0;const t=On,e=cr(),r=kt,{typeforce:n}=r,s=Buffer.alloc(1,0);function i(u){let f=0;for(;u[f]===0;)++f;return f===u.length?s:(u=u.slice(f),u[0]&128?Buffer.concat([s,u],1+u.length):u)}function o(u){u[0]===0&&(u=u.slice(1));const f=Buffer.alloc(32,0),l=Math.max(0,32-u.length);return u.copy(f,l),f}function a(u){const f=u.readUInt8(u.length-1);if(!(0,e.isDefinedHashType)(f))throw new Error("Invalid hashType "+f);const l=t.decode(u.slice(0,-1)),p=o(l.r),d=o(l.s);return{signature:Buffer.concat([p,d],64),hashType:f}}_s.decode=a;function c(u,f){if(n({signature:r.BufferN(64),hashType:r.UInt8},{signature:u,hashType:f}),!(0,e.isDefinedHashType)(f))throw new Error("Invalid hashType "+f);const l=Buffer.allocUnsafe(1);l.writeUInt8(f,0);const p=i(u.slice(0,32)),d=i(u.slice(32,64));return Buffer.concat([t.encode(p,d),l])}return _s.encode=c,_s}var jp;function cr(){return jp||(jp=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.signature=t.number=t.isCanonicalScriptSignature=t.isDefinedHashType=t.isCanonicalPubKey=t.toStack=t.fromASM=t.toASM=t.decompile=t.compile=t.countNonPushOnlyOPs=t.isPushOnly=t.OPS=void 0;const e=On,r=ei;Object.defineProperty(t,"OPS",{enumerable:!0,get:function(){return r.OPS}});const n=ls,s=qi,i=lk(),o=kt,{typeforce:a}=o,c=r.OPS.OP_RESERVED;function u(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 f(B){return o.Buffer(B)||u(B)}function l(B){return o.Array(B)&&B.every(f)}t.isPushOnly=l;function p(B){return B.length-B.filter(f).length}t.countNonPushOnlyOPs=p;function d(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 m(B){return Buffer.isBuffer(B)}function g(B){return o.Array(B)}function A(B){return Buffer.isBuffer(B)}function S(B){if(m(B))return B;a(o.Array,B);const j=B.reduce((z,Z)=>A(Z)?Z.length===1&&d(Z)!==void 0?z+1:z+n.encodingLength(Z.length)+Z.length:z+1,0),M=Buffer.allocUnsafe(j);let H=0;if(B.forEach(z=>{if(A(z)){const Z=d(z);if(Z!==void 0){M.writeUInt8(Z,H),H+=1;return}H+=n.encode(M,z.length,H),z.copy(M,H),H+=z.length}else M.writeUInt8(z,H),H+=1}),H!==M.length)throw new Error("Could not decode chunks");return M}t.compile=S;function _(B){if(g(B))return B;a(o.Buffer,B);const j=[];let M=0;for(;M<B.length;){const H=B[M];if(H>r.OPS.OP_0&&H<=r.OPS.OP_PUSHDATA4){const z=n.decode(B,M);if(z===null||(M+=z.size,M+z.number>B.length))return null;const Z=B.slice(M,M+z.number);M+=z.number;const U=d(Z);U!==void 0?j.push(U):j.push(Z)}else j.push(H),M+=1}return j}t.decompile=_;function E(B){if(m(B)&&(B=_(B)),!B)throw new Error("Could not convert invalid chunks to ASM");return B.map(j=>{if(A(j)){const M=d(j);if(M===void 0)return j.toString("hex");j=M}return r.REVERSE_OPS[j]}).join(" ")}t.toASM=E;function w(B){return a(o.String,B),S(B.split(" ").map(j=>r.OPS[j]!==void 0?r.OPS[j]:(a(o.Hex,j),Buffer.from(j,"hex"))))}t.fromASM=w;function k(B){return B=_(B),a(l,B),B.map(j=>A(j)?j:j===r.OPS.OP_0?Buffer.allocUnsafe(0):s.encode(j-c))}t.toStack=k;function T(B){return o.isPoint(B)}t.isCanonicalPubKey=T;function P(B){const j=B&-129;return j>0&&j<4}t.isDefinedHashType=P;function N(B){return!Buffer.isBuffer(B)||!P(B[B.length-1])?!1:e.check(B.slice(0,-1))}t.isCanonicalScriptSignature=N,t.number=s,t.signature=i}(bf)),bf}Object.defineProperty(Fa,"__esModule",{value:!0});Fa.Transaction=void 0;const Xe=ht,Pt=Ss,Hp=cr(),dk=cr(),Ae=kt,{typeforce:Gr}=Ae;function Yr(t){const e=t.length;return Xe.varuint.encodingLength(e)+e}function hk(t){const e=t.length;return Xe.varuint.encodingLength(e)+t.reduce((r,n)=>r+Yr(n),0)}const Qn=Buffer.allocUnsafe(0),gf=[],wf=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),Lp=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),pk=Buffer.from("ffffffffffffffff","hex"),yk={script:Qn,valueBuffer:pk};function mk(t){return t.value!==void 0}let jr=class Pe{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(e,r){const n=new Xe.BufferReader(e),s=new Pe;s.version=n.readInt32();const i=n.readUInt8(),o=n.readUInt8();let a=!1;i===Pe.ADVANCED_TRANSACTION_MARKER&&o===Pe.ADVANCED_TRANSACTION_FLAG?a=!0:n.offset-=2;const c=n.readVarInt();for(let f=0;f<c;++f)s.ins.push({hash:n.readSlice(32),index:n.readUInt32(),script:n.readVarSlice(),sequence:n.readUInt32(),witness:gf});const u=n.readVarInt();for(let f=0;f<u;++f)s.outs.push({value:n.readUInt64(),script:n.readVarSlice()});if(a){for(let f=0;f<c;++f)s.ins[f].witness=n.readVector();if(!s.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(s.locktime=n.readUInt32(),r)return s;if(n.offset!==e.length)throw new Error("Transaction has unexpected data");return s}static fromHex(e){return Pe.fromBuffer(Buffer.from(e,"hex"),!1)}static isCoinbaseHash(e){Gr(Ae.Hash256bit,e);for(let r=0;r<32;++r)if(e[r]!==0)return!1;return!0}isCoinbase(){return this.ins.length===1&&Pe.isCoinbaseHash(this.ins[0].hash)}addInput(e,r,n,s){return Gr(Ae.tuple(Ae.Hash256bit,Ae.UInt32,Ae.maybe(Ae.UInt32),Ae.maybe(Ae.Buffer)),arguments),Ae.Null(n)&&(n=Pe.DEFAULT_SEQUENCE),this.ins.push({hash:e,index:r,script:s||Qn,sequence:n,witness:gf})-1}addOutput(e,r){return Gr(Ae.tuple(Ae.Buffer,Ae.Satoshi),arguments),this.outs.push({script:e,value:r})-1}hasWitnesses(){return this.ins.some(e=>e.witness.length!==0)}stripWitnesses(){this.ins.forEach(e=>{e.witness=gf})}weight(){const e=this.byteLength(!1),r=this.byteLength(!0);return e*3+r}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(e=!0){const r=e&&this.hasWitnesses();return(r?10:8)+Xe.varuint.encodingLength(this.ins.length)+Xe.varuint.encodingLength(this.outs.length)+this.ins.reduce((n,s)=>n+40+Yr(s.script),0)+this.outs.reduce((n,s)=>n+8+Yr(s.script),0)+(r?this.ins.reduce((n,s)=>n+hk(s.witness),0):0)}clone(){const e=new Pe;return e.version=this.version,e.locktime=this.locktime,e.ins=this.ins.map(r=>({hash:r.hash,index:r.index,script:r.script,sequence:r.sequence,witness:r.witness})),e.outs=this.outs.map(r=>({script:r.script,value:r.value})),e}hashForSignature(e,r,n){if(Gr(Ae.tuple(Ae.UInt32,Ae.Buffer,Ae.Number),arguments),e>=this.ins.length)return Lp;const s=Hp.compile(Hp.decompile(r).filter(a=>a!==dk.OPS.OP_CODESEPARATOR)),i=this.clone();if((n&31)===Pe.SIGHASH_NONE)i.outs=[],i.ins.forEach((a,c)=>{c!==e&&(a.sequence=0)});else if((n&31)===Pe.SIGHASH_SINGLE){if(e>=this.outs.length)return Lp;i.outs.length=e+1;for(let a=0;a<e;a++)i.outs[a]=yk;i.ins.forEach((a,c)=>{c!==e&&(a.sequence=0)})}n&Pe.SIGHASH_ANYONECANPAY?(i.ins=[i.ins[e]],i.ins[0].script=s):(i.ins.forEach(a=>{a.script=Qn}),i.ins[e].script=s);const o=Buffer.allocUnsafe(i.byteLength(!1)+4);return o.writeInt32LE(n,o.length-4),i.__toBuffer(o,0,!1),Pt.hash256(o)}hashForWitnessV1(e,r,n,s,i,o){if(Gr(Ae.tuple(Ae.UInt32,Gr.arrayOf(Ae.Buffer),Gr.arrayOf(Ae.Satoshi),Ae.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=s===Pe.SIGHASH_DEFAULT?Pe.SIGHASH_ALL:s&Pe.SIGHASH_OUTPUT_MASK,u=(s&Pe.SIGHASH_INPUT_MASK)===Pe.SIGHASH_ANYONECANPAY,f=a===Pe.SIGHASH_NONE,l=a===Pe.SIGHASH_SINGLE;let p=Qn,d=Qn,m=Qn,g=Qn,A=Qn;if(!u){let w=Xe.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(k=>{w.writeSlice(k.hash),w.writeUInt32(k.index)}),p=Pt.sha256(w.end()),w=Xe.BufferWriter.withCapacity(8*this.ins.length),n.forEach(k=>w.writeUInt64(k)),d=Pt.sha256(w.end()),w=Xe.BufferWriter.withCapacity(r.map(Yr).reduce((k,T)=>k+T)),r.forEach(k=>w.writeVarSlice(k)),m=Pt.sha256(w.end()),w=Xe.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(k=>w.writeUInt32(k.sequence)),g=Pt.sha256(w.end())}if(f||l){if(l&&e<this.outs.length){const w=this.outs[e],k=Xe.BufferWriter.withCapacity(8+Yr(w.script));k.writeUInt64(w.value),k.writeVarSlice(w.script),A=Pt.sha256(k.end())}}else{const w=this.outs.map(T=>8+Yr(T.script)).reduce((T,P)=>T+P),k=Xe.BufferWriter.withCapacity(w);this.outs.forEach(T=>{k.writeUInt64(T.value),k.writeVarSlice(T.script)}),A=Pt.sha256(k.end())}const S=(i?2:0)+(o?1:0),_=174-(u?49:0)-(f?32:0)+(o?32:0)+(i?37:0),E=Xe.BufferWriter.withCapacity(_);if(E.writeUInt8(s),E.writeInt32(this.version),E.writeUInt32(this.locktime),E.writeSlice(p),E.writeSlice(d),E.writeSlice(m),E.writeSlice(g),f||l||E.writeSlice(A),E.writeUInt8(S),u){const w=this.ins[e];E.writeSlice(w.hash),E.writeUInt32(w.index),E.writeUInt64(n[e]),E.writeVarSlice(r[e]),E.writeUInt32(w.sequence)}else E.writeUInt32(e);if(o){const w=Xe.BufferWriter.withCapacity(Yr(o));w.writeVarSlice(o),E.writeSlice(Pt.sha256(w.end()))}return l&&E.writeSlice(A),i&&(E.writeSlice(i),E.writeUInt8(0),E.writeUInt32(4294967295)),Pt.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),E.end()]))}hashForWitnessV0(e,r,n,s){Gr(Ae.tuple(Ae.UInt32,Ae.Buffer,Ae.Satoshi,Ae.UInt32),arguments);let i=Buffer.from([]),o,a=wf,c=wf,u=wf;if(s&Pe.SIGHASH_ANYONECANPAY||(i=Buffer.allocUnsafe(36*this.ins.length),o=new Xe.BufferWriter(i,0),this.ins.forEach(l=>{o.writeSlice(l.hash),o.writeUInt32(l.index)}),c=Pt.hash256(i)),!(s&Pe.SIGHASH_ANYONECANPAY)&&(s&31)!==Pe.SIGHASH_SINGLE&&(s&31)!==Pe.SIGHASH_NONE&&(i=Buffer.allocUnsafe(4*this.ins.length),o=new Xe.BufferWriter(i,0),this.ins.forEach(l=>{o.writeUInt32(l.sequence)}),u=Pt.hash256(i)),(s&31)!==Pe.SIGHASH_SINGLE&&(s&31)!==Pe.SIGHASH_NONE){const l=this.outs.reduce((p,d)=>p+8+Yr(d.script),0);i=Buffer.allocUnsafe(l),o=new Xe.BufferWriter(i,0),this.outs.forEach(p=>{o.writeUInt64(p.value),o.writeVarSlice(p.script)}),a=Pt.hash256(i)}else if((s&31)===Pe.SIGHASH_SINGLE&&e<this.outs.length){const l=this.outs[e];i=Buffer.allocUnsafe(8+Yr(l.script)),o=new Xe.BufferWriter(i,0),o.writeUInt64(l.value),o.writeVarSlice(l.script),a=Pt.hash256(i)}i=Buffer.allocUnsafe(156+Yr(r)),o=new Xe.BufferWriter(i,0);const f=this.ins[e];return o.writeInt32(this.version),o.writeSlice(c),o.writeSlice(u),o.writeSlice(f.hash),o.writeUInt32(f.index),o.writeVarSlice(r),o.writeUInt64(n),o.writeUInt32(f.sequence),o.writeSlice(a),o.writeUInt32(this.locktime),o.writeUInt32(s),Pt.hash256(i)}getHash(e){return e&&this.isCoinbase()?Buffer.alloc(32,0):Pt.hash256(this.__toBuffer(void 0,void 0,e))}getId(){return(0,Xe.reverseBuffer)(this.getHash(!1)).toString("hex")}toBuffer(e,r){return this.__toBuffer(e,r,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(e,r){Gr(Ae.tuple(Ae.Number,Ae.Buffer),arguments),this.ins[e].script=r}setWitness(e,r){Gr(Ae.tuple(Ae.Number,[Ae.Buffer]),arguments),this.ins[e].witness=r}__toBuffer(e,r,n=!1){e||(e=Buffer.allocUnsafe(this.byteLength(n)));const s=new Xe.BufferWriter(e,r||0);s.writeInt32(this.version);const i=n&&this.hasWitnesses();return i&&(s.writeUInt8(Pe.ADVANCED_TRANSACTION_MARKER),s.writeUInt8(Pe.ADVANCED_TRANSACTION_FLAG)),s.writeVarInt(this.ins.length),this.ins.forEach(o=>{s.writeSlice(o.hash),s.writeUInt32(o.index),s.writeVarSlice(o.script),s.writeUInt32(o.sequence)}),s.writeVarInt(this.outs.length),this.outs.forEach(o=>{mk(o)?s.writeUInt64(o.value):s.writeSlice(o.valueBuffer),s.writeVarSlice(o.script)}),i&&this.ins.forEach(o=>{s.writeVector(o.witness)}),s.writeUInt32(this.locktime),r!==void 0?e.slice(r,s.offset):e}};Fa.Transaction=jr;jr.DEFAULT_SEQUENCE=4294967295;jr.SIGHASH_DEFAULT=0;jr.SIGHASH_ALL=1;jr.SIGHASH_NONE=2;jr.SIGHASH_SINGLE=3;jr.SIGHASH_ANYONECANPAY=128;jr.SIGHASH_OUTPUT_MASK=3;jr.SIGHASH_INPUT_MASK=128;jr.ADVANCED_TRANSACTION_MARKER=0;jr.ADVANCED_TRANSACTION_FLAG=1;var Be={},$a={};Object.defineProperty($a,"__esModule",{value:!0});const bk=9007199254740991;function n0(t){if(t<0||t>bk||t%1!==0)throw new RangeError("value out of range")}function Ao(t,e,r){if(n0(t),e||(e=Buffer.allocUnsafe(ww(t))),!Buffer.isBuffer(e))throw new TypeError("buffer must be a Buffer instance");return r||(r=0),t<253?(e.writeUInt8(t,r),Object.assign(Ao,{bytes:1})):t<=65535?(e.writeUInt8(253,r),e.writeUInt16LE(t,r+1),Object.assign(Ao,{bytes:3})):t<=4294967295?(e.writeUInt8(254,r),e.writeUInt32LE(t,r+1),Object.assign(Ao,{bytes:5})):(e.writeUInt8(255,r),e.writeUInt32LE(t>>>0,r+1),e.writeUInt32LE(t/4294967296|0,r+5),Object.assign(Ao,{bytes:9})),e}$a.encode=Ao;function So(t,e){if(!Buffer.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");e||(e=0);const r=t.readUInt8(e);if(r<253)return Object.assign(So,{bytes:1}),r;if(r===253)return Object.assign(So,{bytes:3}),t.readUInt16LE(e+1);if(r===254)return Object.assign(So,{bytes:5}),t.readUInt32LE(e+1);{Object.assign(So,{bytes:9});const n=t.readUInt32LE(e+1),i=t.readUInt32LE(e+5)*4294967296+n;return n0(i),i}}$a.decode=So;function ww(t){return n0(t),t<253?1:t<=65535?3:t<=4294967295?5:9}$a.encodingLength=ww;var vf={},vu={},xt={};Object.defineProperty(xt,"__esModule",{value:!0});xt.testnet=xt.regtest=xt.bitcoin=void 0;xt.bitcoin={messagePrefix:`Bitcoin Signed Message:
|
|
50
|
+
`,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};xt.regtest={messagePrefix:`Bitcoin Signed Message:
|
|
51
|
+
`,bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};xt.testnet={messagePrefix:`Bitcoin Signed Message:
|
|
52
|
+
`,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var ir={};Object.defineProperty(ir,"__esModule",{value:!0});ir.value=ir.prop=void 0;function gk(t,e,r){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get(){const n=r.call(this);return this[e]=n,n},set(n){Object.defineProperty(this,e,{configurable:!0,enumerable:!0,value:n,writable:!0})}})}ir.prop=gk;function wk(t){let e;return()=>(e!==void 0||(e=t()),e)}ir.value=wk;Object.defineProperty(vu,"__esModule",{value:!0});vu.p2data=void 0;const vk=xt,bc=cr(),qr=kt,Dp=ir,zp=bc.OPS;function Ek(t,e){if(!t.data&&!t.output)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),(0,qr.typeforce)({network:qr.typeforce.maybe(qr.typeforce.Object),output:qr.typeforce.maybe(qr.typeforce.Buffer),data:qr.typeforce.maybe(qr.typeforce.arrayOf(qr.typeforce.Buffer))},t);const n={name:"embed",network:t.network||vk.bitcoin};if(Dp.prop(n,"output",()=>{if(t.data)return bc.compile([zp.OP_RETURN].concat(t.data))}),Dp.prop(n,"data",()=>{if(t.output)return bc.decompile(t.output).slice(1)}),e.validate&&t.output){const s=bc.decompile(t.output);if(s[0]!==zp.OP_RETURN)throw new TypeError("Output is invalid");if(!s.slice(1).every(qr.typeforce.Buffer))throw new TypeError("Output is invalid");if(t.data&&!(0,qr.stacksEqual)(t.data,n.data))throw new TypeError("Data mismatch")}return Object.assign(n,t)}vu.p2data=Ek;var Eu={};Object.defineProperty(Eu,"__esModule",{value:!0});Eu.p2ms=void 0;const Ak=xt,gi=cr(),Ye=kt,Kn=ir,wi=gi.OPS,tc=wi.OP_RESERVED;function Sk(t,e){if(!t.input&&!t.output&&!(t.pubkeys&&t.m!==void 0)&&!t.signatures)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{});function r(c){return gi.isCanonicalScriptSignature(c)||(e.allowIncomplete&&c===wi.OP_0)!==void 0}(0,Ye.typeforce)({network:Ye.typeforce.maybe(Ye.typeforce.Object),m:Ye.typeforce.maybe(Ye.typeforce.Number),n:Ye.typeforce.maybe(Ye.typeforce.Number),output:Ye.typeforce.maybe(Ye.typeforce.Buffer),pubkeys:Ye.typeforce.maybe(Ye.typeforce.arrayOf(Ye.isPoint)),signatures:Ye.typeforce.maybe(Ye.typeforce.arrayOf(r)),input:Ye.typeforce.maybe(Ye.typeforce.Buffer)},t);const s={network:t.network||Ak.bitcoin};let i=[],o=!1;function a(c){o||(o=!0,i=gi.decompile(c),s.m=i[0]-tc,s.n=i[i.length-2]-tc,s.pubkeys=i.slice(1,-2))}if(Kn.prop(s,"output",()=>{if(t.m&&s.n&&t.pubkeys)return gi.compile([].concat(tc+t.m,t.pubkeys,tc+s.n,wi.OP_CHECKMULTISIG))}),Kn.prop(s,"m",()=>{if(s.output)return a(s.output),s.m}),Kn.prop(s,"n",()=>{if(s.pubkeys)return s.pubkeys.length}),Kn.prop(s,"pubkeys",()=>{if(t.output)return a(t.output),s.pubkeys}),Kn.prop(s,"signatures",()=>{if(t.input)return gi.decompile(t.input).slice(1)}),Kn.prop(s,"input",()=>{if(t.signatures)return gi.compile([wi.OP_0].concat(t.signatures))}),Kn.prop(s,"witness",()=>{if(s.input)return[]}),Kn.prop(s,"name",()=>{if(!(!s.m||!s.n))return`p2ms(${s.m} of ${s.n})`}),e.validate){if(t.output){if(a(t.output),!Ye.typeforce.Number(i[0]))throw new TypeError("Output is invalid");if(!Ye.typeforce.Number(i[i.length-2]))throw new TypeError("Output is invalid");if(i[i.length-1]!==wi.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(s.m<=0||s.n>16||s.m>s.n||s.n!==i.length-3)throw new TypeError("Output is invalid");if(!s.pubkeys.every(c=>(0,Ye.isPoint)(c)))throw new TypeError("Output is invalid");if(t.m!==void 0&&t.m!==s.m)throw new TypeError("m mismatch");if(t.n!==void 0&&t.n!==s.n)throw new TypeError("n mismatch");if(t.pubkeys&&!(0,Ye.stacksEqual)(t.pubkeys,s.pubkeys))throw new TypeError("Pubkeys mismatch")}if(t.pubkeys){if(t.n!==void 0&&t.n!==t.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(s.n=t.pubkeys.length,s.n<s.m)throw new TypeError("Pubkey count cannot be less than m")}if(t.signatures){if(t.signatures.length<s.m)throw new TypeError("Not enough signatures provided");if(t.signatures.length>s.m)throw new TypeError("Too many signatures provided")}if(t.input){if(t.input[0]!==wi.OP_0)throw new TypeError("Input is invalid");if(s.signatures.length===0||!s.signatures.every(r))throw new TypeError("Input has invalid signature(s)");if(t.signatures&&!(0,Ye.stacksEqual)(t.signatures,s.signatures))throw new TypeError("Signature mismatch");if(t.m!==void 0&&t.m!==t.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(s,t)}Eu.p2ms=Sk;var Au={};Object.defineProperty(Au,"__esModule",{value:!0});Au.p2pk=void 0;const xk=xt,vi=cr(),vr=kt,yi=ir,Vp=vi.OPS;function kk(t,e){if(!t.input&&!t.output&&!t.pubkey&&!t.input&&!t.signature)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),(0,vr.typeforce)({network:vr.typeforce.maybe(vr.typeforce.Object),output:vr.typeforce.maybe(vr.typeforce.Buffer),pubkey:vr.typeforce.maybe(vr.isPoint),signature:vr.typeforce.maybe(vi.isCanonicalScriptSignature),input:vr.typeforce.maybe(vr.typeforce.Buffer)},t);const r=yi.value(()=>vi.decompile(t.input)),s={name:"p2pk",network:t.network||xk.bitcoin};if(yi.prop(s,"output",()=>{if(t.pubkey)return vi.compile([t.pubkey,Vp.OP_CHECKSIG])}),yi.prop(s,"pubkey",()=>{if(t.output)return t.output.slice(1,-1)}),yi.prop(s,"signature",()=>{if(t.input)return r()[0]}),yi.prop(s,"input",()=>{if(t.signature)return vi.compile([t.signature])}),yi.prop(s,"witness",()=>{if(s.input)return[]}),e.validate){if(t.output){if(t.output[t.output.length-1]!==Vp.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,vr.isPoint)(s.pubkey))throw new TypeError("Output pubkey is invalid");if(t.pubkey&&!t.pubkey.equals(s.pubkey))throw new TypeError("Pubkey mismatch")}if(t.signature&&t.input&&!t.input.equals(s.input))throw new TypeError("Signature mismatch");if(t.input){if(r().length!==1)throw new TypeError("Input is invalid");if(!vi.isCanonicalScriptSignature(s.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(s,t)}Au.p2pk=kk;var Su={};function Tk(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r<e.length;r++)e[r]=255;for(var n=0;n<t.length;n++){var s=t.charAt(n),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=n}var o=t.length,a=t.charAt(0),c=Math.log(o)/Math.log(256),u=Math.log(256)/Math.log(o);function f(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var m=0,g=0,A=0,S=d.length;A!==S&&d[A]===0;)A++,m++;for(var _=(S-A)*u+1>>>0,E=new Uint8Array(_);A!==S;){for(var w=d[A],k=0,T=_-1;(w!==0||k<g)&&T!==-1;T--,k++)w+=256*E[T]>>>0,E[T]=w%o>>>0,w=w/o>>>0;if(w!==0)throw new Error("Non-zero carry");g=k,A++}for(var P=_-g;P!==_&&E[P]===0;)P++;for(var N=a.repeat(m);P<_;++P)N+=t.charAt(E[P]);return N}function l(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;for(var m=0,g=0,A=0;d[m]===a;)g++,m++;for(var S=(d.length-m)*c+1>>>0,_=new Uint8Array(S);d[m];){var E=d.charCodeAt(m);if(E>255)return;var w=e[E];if(w===255)return;for(var k=0,T=S-1;(w!==0||k<A)&&T!==-1;T--,k++)w+=o*_[T]>>>0,_[T]=w%256>>>0,w=w/256>>>0;if(w!==0)throw new Error("Non-zero carry");A=k,m++}for(var P=S-A;P!==S&&_[P]===0;)P++;for(var N=new Uint8Array(g+(S-P)),B=g;P!==S;)N[B++]=_[P++];return N}function p(d){var m=l(d);if(m)return m;throw new Error("Non-base"+o+" character")}return{encode:f,decodeUnsafe:l,decode:p}}var _k=Tk;const Ik=_k,Pk="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var Ok=Ik(Pk),Ef=Ok,Bk=function(t){function e(i){var o=Uint8Array.from(i),a=t(o),c=o.length+4,u=new Uint8Array(c);return u.set(o,0),u.set(a.subarray(0,4),o.length),Ef.encode(u,c)}function r(i){var o=i.slice(0,-4),a=i.slice(-4),c=t(o);if(!(a[0]^c[0]|a[1]^c[1]|a[2]^c[2]|a[3]^c[3]))return o}function n(i){var o=Ef.decodeUnsafe(i);if(o)return r(o)}function s(i){var o=Ef.decode(i),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:e,decode:s,decodeUnsafe:n}},{sha256:Gp}=Pr,Ck=Bk;function Rk(t){return Gp(Gp(t))}var s0=Ck(Rk);Object.defineProperty(Su,"__esModule",{value:!0});Su.p2pkh=void 0;const Af=Ss,Nk=xt,Ei=cr(),Ot=kt,hn=ir,qp=s0,Yn=Ei.OPS;function Uk(t,e){if(!t.address&&!t.hash&&!t.output&&!t.pubkey&&!t.input)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),(0,Ot.typeforce)({network:Ot.typeforce.maybe(Ot.typeforce.Object),address:Ot.typeforce.maybe(Ot.typeforce.String),hash:Ot.typeforce.maybe(Ot.typeforce.BufferN(20)),output:Ot.typeforce.maybe(Ot.typeforce.BufferN(25)),pubkey:Ot.typeforce.maybe(Ot.isPoint),signature:Ot.typeforce.maybe(Ei.isCanonicalScriptSignature),input:Ot.typeforce.maybe(Ot.typeforce.Buffer)},t);const r=hn.value(()=>{const o=Buffer.from(qp.decode(t.address)),a=o.readUInt8(0),c=o.slice(1);return{version:a,hash:c}}),n=hn.value(()=>Ei.decompile(t.input)),s=t.network||Nk.bitcoin,i={name:"p2pkh",network:s};if(hn.prop(i,"address",()=>{if(!i.hash)return;const o=Buffer.allocUnsafe(21);return o.writeUInt8(s.pubKeyHash,0),i.hash.copy(o,1),qp.encode(o)}),hn.prop(i,"hash",()=>{if(t.output)return t.output.slice(3,23);if(t.address)return r().hash;if(t.pubkey||i.pubkey)return Af.hash160(t.pubkey||i.pubkey)}),hn.prop(i,"output",()=>{if(i.hash)return Ei.compile([Yn.OP_DUP,Yn.OP_HASH160,i.hash,Yn.OP_EQUALVERIFY,Yn.OP_CHECKSIG])}),hn.prop(i,"pubkey",()=>{if(t.input)return n()[1]}),hn.prop(i,"signature",()=>{if(t.input)return n()[0]}),hn.prop(i,"input",()=>{if(t.pubkey&&t.signature)return Ei.compile([t.signature,t.pubkey])}),hn.prop(i,"witness",()=>{if(i.input)return[]}),e.validate){let o=Buffer.from([]);if(t.address){if(r().version!==s.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(r().hash.length!==20)throw new TypeError("Invalid address");o=r().hash}if(t.hash){if(o.length>0&&!o.equals(t.hash))throw new TypeError("Hash mismatch");o=t.hash}if(t.output){if(t.output.length!==25||t.output[0]!==Yn.OP_DUP||t.output[1]!==Yn.OP_HASH160||t.output[2]!==20||t.output[23]!==Yn.OP_EQUALVERIFY||t.output[24]!==Yn.OP_CHECKSIG)throw new TypeError("Output is invalid");const a=t.output.slice(3,23);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(t.pubkey){const a=Af.hash160(t.pubkey);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(t.input){const a=n();if(a.length!==2)throw new TypeError("Input is invalid");if(!Ei.isCanonicalScriptSignature(a[0]))throw new TypeError("Input has invalid signature");if(!(0,Ot.isPoint)(a[1]))throw new TypeError("Input has invalid pubkey");if(t.signature&&!t.signature.equals(a[0]))throw new TypeError("Signature mismatch");if(t.pubkey&&!t.pubkey.equals(a[1]))throw new TypeError("Pubkey mismatch");const c=Af.hash160(a[1]);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch")}}return Object.assign(i,t)}Su.p2pkh=Uk;var xu={};Object.defineProperty(xu,"__esModule",{value:!0});xu.p2sh=void 0;const Wp=Ss,Fk=xt,Jr=cr(),Ue=kt,Wr=ir,Kp=s0,po=Jr.OPS;function Mk(t,e){if(!t.address&&!t.hash&&!t.output&&!t.redeem&&!t.input)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),(0,Ue.typeforce)({network:Ue.typeforce.maybe(Ue.typeforce.Object),address:Ue.typeforce.maybe(Ue.typeforce.String),hash:Ue.typeforce.maybe(Ue.typeforce.BufferN(20)),output:Ue.typeforce.maybe(Ue.typeforce.BufferN(23)),redeem:Ue.typeforce.maybe({network:Ue.typeforce.maybe(Ue.typeforce.Object),output:Ue.typeforce.maybe(Ue.typeforce.Buffer),input:Ue.typeforce.maybe(Ue.typeforce.Buffer),witness:Ue.typeforce.maybe(Ue.typeforce.arrayOf(Ue.typeforce.Buffer))}),input:Ue.typeforce.maybe(Ue.typeforce.Buffer),witness:Ue.typeforce.maybe(Ue.typeforce.arrayOf(Ue.typeforce.Buffer))},t);let r=t.network;r||(r=t.redeem&&t.redeem.network||Fk.bitcoin);const n={network:r},s=Wr.value(()=>{const a=Buffer.from(Kp.decode(t.address)),c=a.readUInt8(0),u=a.slice(1);return{version:c,hash:u}}),i=Wr.value(()=>Jr.decompile(t.input)),o=Wr.value(()=>{const a=i(),c=a[a.length-1];return{network:r,output:c===po.OP_FALSE?Buffer.from([]):c,input:Jr.compile(a.slice(0,-1)),witness:t.witness||[]}});if(Wr.prop(n,"address",()=>{if(!n.hash)return;const a=Buffer.allocUnsafe(21);return a.writeUInt8(n.network.scriptHash,0),n.hash.copy(a,1),Kp.encode(a)}),Wr.prop(n,"hash",()=>{if(t.output)return t.output.slice(2,22);if(t.address)return s().hash;if(n.redeem&&n.redeem.output)return Wp.hash160(n.redeem.output)}),Wr.prop(n,"output",()=>{if(n.hash)return Jr.compile([po.OP_HASH160,n.hash,po.OP_EQUAL])}),Wr.prop(n,"redeem",()=>{if(t.input)return o()}),Wr.prop(n,"input",()=>{if(!(!t.redeem||!t.redeem.input||!t.redeem.output))return Jr.compile([].concat(Jr.decompile(t.redeem.input),t.redeem.output))}),Wr.prop(n,"witness",()=>{if(n.redeem&&n.redeem.witness)return n.redeem.witness;if(n.input)return[]}),Wr.prop(n,"name",()=>{const a=["p2sh"];return n.redeem!==void 0&&n.redeem.name!==void 0&&a.push(n.redeem.name),a.join("-")}),e.validate){let a=Buffer.from([]);if(t.address){if(s().version!==r.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(s().hash.length!==20)throw new TypeError("Invalid address");a=s().hash}if(t.hash){if(a.length>0&&!a.equals(t.hash))throw new TypeError("Hash mismatch");a=t.hash}if(t.output){if(t.output.length!==23||t.output[0]!==po.OP_HASH160||t.output[1]!==20||t.output[22]!==po.OP_EQUAL)throw new TypeError("Output is invalid");const u=t.output.slice(2,22);if(a.length>0&&!a.equals(u))throw new TypeError("Hash mismatch");a=u}const c=u=>{if(u.output){const f=Jr.decompile(u.output);if(!f||f.length<1)throw new TypeError("Redeem.output too short");if(u.output.byteLength>520)throw new TypeError("Redeem.output unspendable if larger than 520 bytes");if(Jr.countNonPushOnlyOPs(f)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const l=Wp.hash160(u.output);if(a.length>0&&!a.equals(l))throw new TypeError("Hash mismatch");a=l}if(u.input){const f=u.input.length>0,l=u.witness&&u.witness.length>0;if(!f&&!l)throw new TypeError("Empty input");if(f&&l)throw new TypeError("Input and witness provided");if(f){const p=Jr.decompile(u.input);if(!Jr.isPushOnly(p))throw new TypeError("Non push-only scriptSig")}}};if(t.input){const u=i();if(!u||u.length<1)throw new TypeError("Input too short");if(!Buffer.isBuffer(o().output))throw new TypeError("Input is invalid");c(o())}if(t.redeem){if(t.redeem.network&&t.redeem.network!==r)throw new TypeError("Network mismatch");if(t.input){const u=o();if(t.redeem.output&&!t.redeem.output.equals(u.output))throw new TypeError("Redeem.output mismatch");if(t.redeem.input&&!t.redeem.input.equals(u.input))throw new TypeError("Redeem.input mismatch")}c(t.redeem)}if(t.witness&&t.redeem&&t.redeem.witness&&!(0,Ue.stacksEqual)(t.redeem.witness,t.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(n,t)}xu.p2sh=Mk;var ku={},Fn={};Object.defineProperty(Fn,"__esModule",{value:!0});Fn.bech32m=Fn.bech32=void 0;const Fc="qpzry9x8gf2tvdw0s3jn54khce6mua7l",vw={};for(let t=0;t<Fc.length;t++){const e=Fc.charAt(t);vw[e]=t}function Ni(t){const e=t>>25;return(t&33554431)<<5^-(e>>0&1)&996825010^-(e>>1&1)&642813549^-(e>>2&1)&513874426^-(e>>3&1)&1027748829^-(e>>4&1)&705979059}function Yp(t){let e=1;for(let r=0;r<t.length;++r){const n=t.charCodeAt(r);if(n<33||n>126)return"Invalid prefix ("+t+")";e=Ni(e)^n>>5}e=Ni(e);for(let r=0;r<t.length;++r){const n=t.charCodeAt(r);e=Ni(e)^n&31}return e}function i0(t,e,r,n){let s=0,i=0;const o=(1<<r)-1,a=[];for(let c=0;c<t.length;++c)for(s=s<<e|t[c],i+=e;i>=r;)i-=r,a.push(s>>i&o);if(n)i>0&&a.push(s<<r-i&o);else{if(i>=e)return"Excess padding";if(s<<r-i&o)return"Non-zero padding"}return a}function $k(t){return i0(t,8,5,!0)}function jk(t){const e=i0(t,5,8,!1);if(Array.isArray(e))return e}function Hk(t){const e=i0(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function Ew(t){let e;t==="bech32"?e=1:e=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 u=Yp(o);if(typeof u=="string")throw new Error(u);let f=o+"1";for(let l=0;l<a.length;++l){const p=a[l];if(p>>5)throw new Error("Non 5-bit word");u=Ni(u)^p,f+=Fc.charAt(p)}for(let l=0;l<6;++l)u=Ni(u);u^=e;for(let l=0;l<6;++l){const p=u>>(5-l)*5&31;f+=Fc.charAt(p)}return f}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(),u=o.toUpperCase();if(o!==c&&o!==u)return"Mixed-case string "+o;o=c;const f=o.lastIndexOf("1");if(f===-1)return"No separator character for "+o;if(f===0)return"Missing prefix for "+o;const l=o.slice(0,f),p=o.slice(f+1);if(p.length<6)return"Data too short";let d=Yp(l);if(typeof d=="string")return d;const m=[];for(let g=0;g<p.length;++g){const A=p.charAt(g),S=vw[A];if(S===void 0)return"Unknown character "+A;d=Ni(d)^S,!(g+6>=p.length)&&m.push(S)}return d!==e?"Invalid checksum for "+o:{prefix:l,words:m}}function s(o,a){const c=n(o,a);if(typeof c=="object")return c}function i(o,a){const c=n(o,a);if(typeof c=="object")return c;throw new Error(c)}return{decodeUnsafe:s,decode:i,encode:r,toWords:$k,fromWordsUnsafe:jk,fromWords:Hk}}Fn.bech32=Ew("bech32");Fn.bech32m=Ew("bech32m");Object.defineProperty(ku,"__esModule",{value:!0});ku.p2wpkh=void 0;const Sf=Ss,Lk=xt,gc=cr(),nt=kt,Jn=ir,rc=Fn,Jp=gc.OPS,Dk=Buffer.alloc(0);function zk(t,e){if(!t.address&&!t.hash&&!t.output&&!t.pubkey&&!t.witness)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),(0,nt.typeforce)({address:nt.typeforce.maybe(nt.typeforce.String),hash:nt.typeforce.maybe(nt.typeforce.BufferN(20)),input:nt.typeforce.maybe(nt.typeforce.BufferN(0)),network:nt.typeforce.maybe(nt.typeforce.Object),output:nt.typeforce.maybe(nt.typeforce.BufferN(22)),pubkey:nt.typeforce.maybe(nt.isPoint),signature:nt.typeforce.maybe(gc.isCanonicalScriptSignature),witness:nt.typeforce.maybe(nt.typeforce.arrayOf(nt.typeforce.Buffer))},t);const r=Jn.value(()=>{const i=rc.bech32.decode(t.address),o=i.words.shift(),a=rc.bech32.fromWords(i.words);return{version:o,prefix:i.prefix,data:Buffer.from(a)}}),n=t.network||Lk.bitcoin,s={name:"p2wpkh",network:n};if(Jn.prop(s,"address",()=>{if(!s.hash)return;const i=rc.bech32.toWords(s.hash);return i.unshift(0),rc.bech32.encode(n.bech32,i)}),Jn.prop(s,"hash",()=>{if(t.output)return t.output.slice(2,22);if(t.address)return r().data;if(t.pubkey||s.pubkey)return Sf.hash160(t.pubkey||s.pubkey)}),Jn.prop(s,"output",()=>{if(s.hash)return gc.compile([Jp.OP_0,s.hash])}),Jn.prop(s,"pubkey",()=>{if(t.pubkey)return t.pubkey;if(t.witness)return t.witness[1]}),Jn.prop(s,"signature",()=>{if(t.witness)return t.witness[0]}),Jn.prop(s,"input",()=>{if(s.witness)return Dk}),Jn.prop(s,"witness",()=>{if(t.pubkey&&t.signature)return[t.signature,t.pubkey]}),e.validate){let i=Buffer.from([]);if(t.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");i=r().data}if(t.hash){if(i.length>0&&!i.equals(t.hash))throw new TypeError("Hash mismatch");i=t.hash}if(t.output){if(t.output.length!==22||t.output[0]!==Jp.OP_0||t.output[1]!==20)throw new TypeError("Output is invalid");if(i.length>0&&!i.equals(t.output.slice(2)))throw new TypeError("Hash mismatch");i=t.output.slice(2)}if(t.pubkey){const o=Sf.hash160(t.pubkey);if(i.length>0&&!i.equals(o))throw new TypeError("Hash mismatch");if(i=o,!(0,nt.isPoint)(t.pubkey)||t.pubkey.length!==33)throw new TypeError("Invalid pubkey for p2wpkh")}if(t.witness){if(t.witness.length!==2)throw new TypeError("Witness is invalid");if(!gc.isCanonicalScriptSignature(t.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,nt.isPoint)(t.witness[1])||t.witness[1].length!==33)throw new TypeError("Witness has invalid pubkey");if(t.signature&&!t.signature.equals(t.witness[0]))throw new TypeError("Signature mismatch");if(t.pubkey&&!t.pubkey.equals(t.witness[1]))throw new TypeError("Pubkey mismatch");const o=Sf.hash160(t.witness[1]);if(i.length>0&&!i.equals(o))throw new TypeError("Hash mismatch")}}return Object.assign(s,t)}ku.p2wpkh=zk;var Tu={};Object.defineProperty(Tu,"__esModule",{value:!0});Tu.p2wsh=void 0;const Xp=Ss,Vk=xt,vn=cr(),Re=kt,pn=ir,nc=Fn,Zp=vn.OPS,xf=Buffer.alloc(0);function sc(t){return!!(Buffer.isBuffer(t)&&t.length===65&&t[0]===4&&(0,Re.isPoint)(t))}function Gk(t,e){if(!t.address&&!t.hash&&!t.output&&!t.redeem&&!t.witness)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),(0,Re.typeforce)({network:Re.typeforce.maybe(Re.typeforce.Object),address:Re.typeforce.maybe(Re.typeforce.String),hash:Re.typeforce.maybe(Re.typeforce.BufferN(32)),output:Re.typeforce.maybe(Re.typeforce.BufferN(34)),redeem:Re.typeforce.maybe({input:Re.typeforce.maybe(Re.typeforce.Buffer),network:Re.typeforce.maybe(Re.typeforce.Object),output:Re.typeforce.maybe(Re.typeforce.Buffer),witness:Re.typeforce.maybe(Re.typeforce.arrayOf(Re.typeforce.Buffer))}),input:Re.typeforce.maybe(Re.typeforce.BufferN(0)),witness:Re.typeforce.maybe(Re.typeforce.arrayOf(Re.typeforce.Buffer))},t);const r=pn.value(()=>{const o=nc.bech32.decode(t.address),a=o.words.shift(),c=nc.bech32.fromWords(o.words);return{version:a,prefix:o.prefix,data:Buffer.from(c)}}),n=pn.value(()=>vn.decompile(t.redeem.input));let s=t.network;s||(s=t.redeem&&t.redeem.network||Vk.bitcoin);const i={network:s};if(pn.prop(i,"address",()=>{if(!i.hash)return;const o=nc.bech32.toWords(i.hash);return o.unshift(0),nc.bech32.encode(s.bech32,o)}),pn.prop(i,"hash",()=>{if(t.output)return t.output.slice(2);if(t.address)return r().data;if(i.redeem&&i.redeem.output)return Xp.sha256(i.redeem.output)}),pn.prop(i,"output",()=>{if(i.hash)return vn.compile([Zp.OP_0,i.hash])}),pn.prop(i,"redeem",()=>{if(t.witness)return{output:t.witness[t.witness.length-1],input:xf,witness:t.witness.slice(0,-1)}}),pn.prop(i,"input",()=>{if(i.witness)return xf}),pn.prop(i,"witness",()=>{if(t.redeem&&t.redeem.input&&t.redeem.input.length>0&&t.redeem.output&&t.redeem.output.length>0){const o=vn.toStack(n());return i.redeem=Object.assign({witness:o},t.redeem),i.redeem.input=xf,[].concat(o,t.redeem.output)}if(t.redeem&&t.redeem.output&&t.redeem.witness)return[].concat(t.redeem.witness,t.redeem.output)}),pn.prop(i,"name",()=>{const o=["p2wsh"];return i.redeem!==void 0&&i.redeem.name!==void 0&&o.push(i.redeem.name),o.join("-")}),e.validate){let o=Buffer.from([]);if(t.address){if(r().prefix!==s.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(t.hash){if(o.length>0&&!o.equals(t.hash))throw new TypeError("Hash mismatch");o=t.hash}if(t.output){if(t.output.length!==34||t.output[0]!==Zp.OP_0||t.output[1]!==32)throw new TypeError("Output is invalid");const a=t.output.slice(2);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(t.redeem){if(t.redeem.network&&t.redeem.network!==s)throw new TypeError("Network mismatch");if(t.redeem.input&&t.redeem.input.length>0&&t.redeem.witness&&t.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(t.redeem.output){const a=vn.decompile(t.redeem.output);if(!a||a.length<1)throw new TypeError("Redeem.output is invalid");if(t.redeem.output.byteLength>3600)throw new TypeError("Redeem.output unspendable if larger than 3600 bytes");if(vn.countNonPushOnlyOPs(a)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const c=Xp.sha256(t.redeem.output);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch");o=c}if(t.redeem.input&&!vn.isPushOnly(n()))throw new TypeError("Non push-only scriptSig");if(t.witness&&t.redeem.witness&&!(0,Re.stacksEqual)(t.witness,t.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(t.redeem.input&&n().some(sc)||t.redeem.output&&(vn.decompile(t.redeem.output)||[]).some(sc))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(t.witness&&t.witness.length>0){const a=t.witness[t.witness.length-1];if(t.redeem&&t.redeem.output&&!t.redeem.output.equals(a))throw new TypeError("Witness and redeem.output mismatch");if(t.witness.some(sc)||(vn.decompile(a)||[]).some(sc))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(i,t)}Tu.p2wsh=Gk;var yo={},ti={};Object.defineProperty(ti,"__esModule",{value:!0});ti.getEccLib=ti.initEccLib=void 0;const Io={};function qk(t,e){t?t!==Io.eccLib&&(e!=null&&e.DANGER_DO_NOT_VERIFY_ECCLIB||Kk(t),Io.eccLib=t):Io.eccLib=t}ti.initEccLib=qk;function Wk(){if(!Io.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return Io.eccLib}ti.getEccLib=Wk;const yn=t=>Buffer.from(t,"hex");function Kk(t){fr(typeof t.isXOnlyPoint=="function"),fr(t.isXOnlyPoint(yn("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),fr(t.isXOnlyPoint(yn("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),fr(t.isXOnlyPoint(yn("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),fr(t.isXOnlyPoint(yn("0000000000000000000000000000000000000000000000000000000000000001"))),fr(!t.isXOnlyPoint(yn("0000000000000000000000000000000000000000000000000000000000000000"))),fr(!t.isXOnlyPoint(yn("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),fr(typeof t.xOnlyPointAddTweak=="function"),Yk.forEach(e=>{const r=t.xOnlyPointAddTweak(yn(e.pubkey),yn(e.tweak));e.result===null?fr(r===null):(fr(r!==null),fr(r.parity===e.parity),fr(Buffer.from(r.xOnlyPubkey).equals(yn(e.result))))})}function fr(t){if(!t)throw new Error("ecc library invalid")}const Yk=[{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 o0={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.tweakKey=t.tapTweakHash=t.tapleafHash=t.findScriptPath=t.toHashTree=t.rootHashFromPath=t.MAX_TAPTREE_DEPTH=t.LEAF_VERSION_TAPSCRIPT=void 0;const e=ai,r=ti,n=Ss,s=ht,i=kt;t.LEAF_VERSION_TAPSCRIPT=192,t.MAX_TAPTREE_DEPTH=128;const o=g=>"left"in g&&"right"in g;function a(g,A){if(g.length<33)throw new TypeError(`The control-block length is too small. Got ${g.length}, expected min 33.`);const S=(g.length-33)/32;let _=A;for(let E=0;E<S;E++){const w=g.slice(33+32*E,65+32*E);_.compare(w)<0?_=d(_,w):_=d(w,_)}return _}t.rootHashFromPath=a;function c(g){if((0,i.isTapleaf)(g))return{hash:f(g)};const A=[c(g[0]),c(g[1])];A.sort((E,w)=>E.hash.compare(w.hash));const[S,_]=A;return{hash:d(S.hash,_.hash),left:S,right:_}}t.toHashTree=c;function u(g,A){if(o(g)){const S=u(g.left,A);if(S!==void 0)return[...S,g.right.hash];const _=u(g.right,A);if(_!==void 0)return[..._,g.left.hash]}else if(g.hash.equals(A))return[]}t.findScriptPath=u;function f(g){const A=g.version||t.LEAF_VERSION_TAPSCRIPT;return n.taggedHash("TapLeaf",e.Buffer.concat([e.Buffer.from([A]),m(g.output)]))}t.tapleafHash=f;function l(g,A){return n.taggedHash("TapTweak",e.Buffer.concat(A?[g,A]:[g]))}t.tapTweakHash=l;function p(g,A){if(!e.Buffer.isBuffer(g)||g.length!==32||A&&A.length!==32)return null;const S=l(g,A),_=(0,r.getEccLib)().xOnlyPointAddTweak(g,S);return!_||_.xOnlyPubkey===null?null:{parity:_.parity,x:e.Buffer.from(_.xOnlyPubkey)}}t.tweakKey=p;function d(g,A){return n.taggedHash("TapBranch",e.Buffer.concat([g,A]))}function m(g){const A=s.varuint.encodingLength(g.length),S=e.Buffer.allocUnsafe(A);return s.varuint.encode(g.length,S),e.Buffer.concat([S,g])}})(o0);var Bt={},Qp;function Jk(){if(Qp)return Bt;Qp=1,Object.defineProperty(Bt,"__esModule",{value:!0}),Bt.toOutputScript=Bt.fromOutputScript=Bt.toBech32=Bt.toBase58Check=Bt.fromBech32=Bt.fromBase58Check=void 0;const t=xt,e=a0(),r=cr(),n=kt,s=Fn,i=s0,o=40,a=2,c=16,u=2,f=80,l="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 p(E,w){const k=E.slice(2);if(k.length<a||k.length>o)throw new TypeError("Invalid program length for segwit address");const T=E[0]-f;if(T<u||T>c)throw new TypeError("Invalid version for segwit address");if(E[1]!==k.length)throw new TypeError("Invalid script for segwit address");return console.warn(l),A(k,T,w.bech32)}function d(E){const w=Buffer.from(i.decode(E));if(w.length<21)throw new TypeError(E+" is too short");if(w.length>21)throw new TypeError(E+" is too long");const k=w.readUInt8(0),T=w.slice(1);return{version:k,hash:T}}Bt.fromBase58Check=d;function m(E){let w,k;try{w=s.bech32.decode(E)}catch{}if(w){if(k=w.words[0],k!==0)throw new TypeError(E+" uses wrong encoding")}else if(w=s.bech32m.decode(E),k=w.words[0],k===0)throw new TypeError(E+" uses wrong encoding");const T=s.bech32.fromWords(w.words.slice(1));return{version:k,prefix:w.prefix,data:Buffer.from(T)}}Bt.fromBech32=m;function g(E,w){(0,n.typeforce)((0,n.tuple)(n.Hash160bit,n.UInt8),arguments);const k=Buffer.allocUnsafe(21);return k.writeUInt8(w,0),E.copy(k,1),i.encode(k)}Bt.toBase58Check=g;function A(E,w,k){const T=s.bech32.toWords(E);return T.unshift(w),w===0?s.bech32.encode(k,T):s.bech32m.encode(k,T)}Bt.toBech32=A;function S(E,w){w=w||t.bitcoin;try{return e.p2pkh({output:E,network:w}).address}catch{}try{return e.p2sh({output:E,network:w}).address}catch{}try{return e.p2wpkh({output:E,network:w}).address}catch{}try{return e.p2wsh({output:E,network:w}).address}catch{}try{return e.p2tr({output:E,network:w}).address}catch{}try{return p(E,w)}catch{}throw new Error(r.toASM(E)+" has no matching Address")}Bt.fromOutputScript=S;function _(E,w){w=w||t.bitcoin;let k,T;try{k=d(E)}catch{}if(k){if(k.version===w.pubKeyHash)return e.p2pkh({hash:k.hash}).output;if(k.version===w.scriptHash)return e.p2sh({hash:k.hash}).output}else{try{T=m(E)}catch{}if(T){if(T.prefix!==w.bech32)throw new Error(E+" has an invalid prefix");if(T.version===0){if(T.data.length===20)return e.p2wpkh({hash:T.data}).output;if(T.data.length===32)return e.p2wsh({hash:T.data}).output}else if(T.version===1){if(T.data.length===32)return e.p2tr({pubkey:T.data}).output}else if(T.version>=u&&T.version<=c&&T.data.length>=a&&T.data.length<=o)return console.warn(l),r.compile([T.version+f,T.data])}}throw new Error(E+" has no matching Script")}return Bt.toOutputScript=_,Bt}var ey;function Xk(){if(ey)return yo;ey=1,Object.defineProperty(yo,"__esModule",{value:!0}),yo.p2tr=void 0;const t=ai,e=xt,r=cr(),n=kt,s=ti,i=o0,o=ir,a=Fn,c=Jk(),u=r.OPS,f=1,l=80;function p(d,m){if(!d.address&&!d.output&&!d.pubkey&&!d.internalPubkey&&!(d.witness&&d.witness.length>1))throw new TypeError("Not enough data");m=Object.assign({validate:!0},m||{}),(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)},d);const g=o.value(()=>(0,c.fromBech32)(d.address)),A=o.value(()=>{if(!(!d.witness||!d.witness.length))return d.witness.length>=2&&d.witness[d.witness.length-1][0]===l?d.witness.slice(0,-1):d.witness.slice()}),S=o.value(()=>{if(d.scriptTree)return(0,i.toHashTree)(d.scriptTree);if(d.hash)return{hash:d.hash}}),_=d.network||e.bitcoin,E={name:"p2tr",network:_};if(o.prop(E,"address",()=>{if(!E.pubkey)return;const w=a.bech32m.toWords(E.pubkey);return w.unshift(f),a.bech32m.encode(_.bech32,w)}),o.prop(E,"hash",()=>{const w=S();if(w)return w.hash;const k=A();if(k&&k.length>1){const T=k[k.length-1],P=T[0]&n.TAPLEAF_VERSION_MASK,N=k[k.length-2],B=(0,i.tapleafHash)({output:N,version:P});return(0,i.rootHashFromPath)(T,B)}return null}),o.prop(E,"output",()=>{if(E.pubkey)return r.compile([u.OP_1,E.pubkey])}),o.prop(E,"redeemVersion",()=>d.redeemVersion?d.redeemVersion:d.redeem&&d.redeem.redeemVersion!==void 0&&d.redeem.redeemVersion!==null?d.redeem.redeemVersion:i.LEAF_VERSION_TAPSCRIPT),o.prop(E,"redeem",()=>{const w=A();if(!(!w||w.length<2))return{output:w[w.length-2],witness:w.slice(0,-2),redeemVersion:w[w.length-1][0]&n.TAPLEAF_VERSION_MASK}}),o.prop(E,"pubkey",()=>{if(d.pubkey)return d.pubkey;if(d.output)return d.output.slice(2);if(d.address)return g().data;if(E.internalPubkey){const w=(0,i.tweakKey)(E.internalPubkey,E.hash);if(w)return w.x}}),o.prop(E,"internalPubkey",()=>{if(d.internalPubkey)return d.internalPubkey;const w=A();if(w&&w.length>1)return w[w.length-1].slice(1,33)}),o.prop(E,"signature",()=>{if(d.signature)return d.signature;const w=A();if(!(!w||w.length!==1))return w[0]}),o.prop(E,"witness",()=>{if(d.witness)return d.witness;const w=S();if(w&&d.redeem&&d.redeem.output&&d.internalPubkey){const k=(0,i.tapleafHash)({output:d.redeem.output,version:E.redeemVersion}),T=(0,i.findScriptPath)(w,k);if(!T)return;const P=(0,i.tweakKey)(d.internalPubkey,w.hash);if(!P)return;const N=t.Buffer.concat([t.Buffer.from([E.redeemVersion|P.parity]),d.internalPubkey].concat(T));return[d.redeem.output,N]}if(d.signature)return[d.signature]}),m.validate){let w=t.Buffer.from([]);if(d.address){if(_&&_.bech32!==g().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(g().version!==f)throw new TypeError("Invalid address version");if(g().data.length!==32)throw new TypeError("Invalid address data");w=g().data}if(d.pubkey){if(w.length>0&&!w.equals(d.pubkey))throw new TypeError("Pubkey mismatch");w=d.pubkey}if(d.output){if(d.output.length!==34||d.output[0]!==u.OP_1||d.output[1]!==32)throw new TypeError("Output is invalid");if(w.length>0&&!w.equals(d.output.slice(2)))throw new TypeError("Pubkey mismatch");w=d.output.slice(2)}if(d.internalPubkey){const P=(0,i.tweakKey)(d.internalPubkey,E.hash);if(w.length>0&&!w.equals(P.x))throw new TypeError("Pubkey mismatch");w=P.x}if(w&&w.length&&!(0,s.getEccLib)().isXOnlyPoint(w))throw new TypeError("Invalid pubkey for p2tr");const k=S();if(d.hash&&k&&!d.hash.equals(k.hash))throw new TypeError("Hash mismatch");if(d.redeem&&d.redeem.output&&k){const P=(0,i.tapleafHash)({output:d.redeem.output,version:E.redeemVersion});if(!(0,i.findScriptPath)(k,P))throw new TypeError("Redeem script not in tree")}const T=A();if(d.redeem&&E.redeem){if(d.redeem.redeemVersion&&d.redeem.redeemVersion!==E.redeem.redeemVersion)throw new TypeError("Redeem.redeemVersion and witness mismatch");if(d.redeem.output){if(r.decompile(d.redeem.output).length===0)throw new TypeError("Redeem.output is invalid");if(E.redeem.output&&!d.redeem.output.equals(E.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(d.redeem.witness&&E.redeem.witness&&!(0,n.stacksEqual)(d.redeem.witness,E.redeem.witness))throw new TypeError("Redeem.witness and witness mismatch")}if(T&&T.length)if(T.length===1){if(d.signature&&!d.signature.equals(T[0]))throw new TypeError("Signature mismatch")}else{const P=T[T.length-1];if(P.length<33)throw new TypeError(`The control-block length is too small. Got ${P.length}, expected min 33.`);if((P.length-33)%32!==0)throw new TypeError(`The control-block length of ${P.length} is incorrect!`);const N=(P.length-33)/32;if(N>128)throw new TypeError(`The script path is too long. Got ${N}, expected max 128.`);const B=P.slice(1,33);if(d.internalPubkey&&!d.internalPubkey.equals(B))throw new TypeError("Internal pubkey mismatch");if(!(0,s.getEccLib)().isXOnlyPoint(B))throw new TypeError("Invalid internalPubkey for p2tr witness");const j=P[0]&n.TAPLEAF_VERSION_MASK,M=T[T.length-2],H=(0,i.tapleafHash)({output:M,version:j}),z=(0,i.rootHashFromPath)(P,H),Z=(0,i.tweakKey)(B,z);if(!Z)throw new TypeError("Invalid outputKey for p2tr witness");if(w.length&&!w.equals(Z.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(Z.parity!==(P[0]&1))throw new Error("Incorrect parity")}}return Object.assign(E,d)}return yo.p2tr=p,yo}var ty;function a0(){return ty||(ty=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.p2tr=t.p2wsh=t.p2wpkh=t.p2sh=t.p2pkh=t.p2pk=t.p2ms=t.embed=void 0;const e=vu;Object.defineProperty(t,"embed",{enumerable:!0,get:function(){return e.p2data}});const r=Eu;Object.defineProperty(t,"p2ms",{enumerable:!0,get:function(){return r.p2ms}});const n=Au;Object.defineProperty(t,"p2pk",{enumerable:!0,get:function(){return n.p2pk}});const s=Su;Object.defineProperty(t,"p2pkh",{enumerable:!0,get:function(){return s.p2pkh}});const i=xu;Object.defineProperty(t,"p2sh",{enumerable:!0,get:function(){return i.p2sh}});const o=ku;Object.defineProperty(t,"p2wpkh",{enumerable:!0,get:function(){return o.p2wpkh}});const a=Tu;Object.defineProperty(t,"p2wsh",{enumerable:!0,get:function(){return a.p2wsh}});const c=Xk();Object.defineProperty(t,"p2tr",{enumerable:!0,get:function(){return c.p2tr}})}(vf)),vf}Object.defineProperty(Be,"__esModule",{value:!0});Be.signatureBlocksAction=Be.checkInputForSig=Be.pubkeyInScript=Be.pubkeyPositionInScript=Be.witnessStackToScriptWitness=Be.isP2TR=Be.isP2SHScript=Be.isP2WSHScript=Be.isP2WPKH=Be.isP2PKH=Be.isP2PK=Be.isP2MS=void 0;const ry=$a,Po=cr(),ic=Fa,Zk=Ss,ci=a0();function ui(t){return e=>{try{return t({output:e}),!0}catch{return!1}}}Be.isP2MS=ui(ci.p2ms);Be.isP2PK=ui(ci.p2pk);Be.isP2PKH=ui(ci.p2pkh);Be.isP2WPKH=ui(ci.p2wpkh);Be.isP2WSHScript=ui(ci.p2wsh);Be.isP2SHScript=ui(ci.p2sh);Be.isP2TR=ui(ci.p2tr);function Qk(t){let e=Buffer.allocUnsafe(0);function r(o){e=Buffer.concat([e,Buffer.from(o)])}function n(o){const a=e.length,c=ry.encodingLength(o);e=Buffer.concat([e,Buffer.allocUnsafe(c)]),ry.encode(o,e,a)}function s(o){n(o.length),r(o)}function i(o){n(o.length),o.forEach(s)}return i(t),e}Be.witnessStackToScriptWitness=Qk;function Aw(t,e){const r=(0,Zk.hash160)(t),n=t.slice(1,33),s=Po.decompile(e);if(s===null)throw new Error("Unknown script error");return s.findIndex(i=>typeof i=="number"?!1:i.equals(t)||i.equals(r)||i.equals(n))}Be.pubkeyPositionInScript=Aw;function eT(t,e){return Aw(t,e)!==-1}Be.pubkeyInScript=eT;function tT(t,e){return rT(t).some(n=>Sw(n,Po.signature.decode,e))}Be.checkInputForSig=tT;function Sw(t,e,r){const{hashType:n}=e(t),s=[];switch(n&ic.Transaction.SIGHASH_ANYONECANPAY&&s.push("addInput"),n&31){case ic.Transaction.SIGHASH_ALL:break;case ic.Transaction.SIGHASH_SINGLE:case ic.Transaction.SIGHASH_NONE:s.push("addOutput"),s.push("setInputSequence");break}return s.indexOf(r)===-1}Be.signatureBlocksAction=Sw;function rT(t){let e=[];if((t.partialSig||[]).length===0){if(!t.finalScriptSig&&!t.finalScriptWitness)return[];e=nT(t)}else e=t.partialSig;return e.map(r=>r.signature)}function nT(t){const e=t.finalScriptSig?Po.decompile(t.finalScriptSig)||[]:[],r=t.finalScriptWitness?Po.decompile(t.finalScriptWitness)||[]:[];return e.concat(r).filter(n=>Buffer.isBuffer(n)&&Po.isCanonicalScriptSignature(n)).map(n=>({signature:n}))}Object.defineProperty(ze,"__esModule",{value:!0});ze.checkTaprootInputForSigs=ze.tapTreeFromList=ze.tapTreeToList=ze.tweakInternalPubKey=ze.checkTaprootOutputFields=ze.checkTaprootInputFields=ze.isTaprootOutput=ze.isTaprootInput=xo=ze.serializeTaprootSignature=ze.tapScriptFinalizer=ze.toXOnly=void 0;const c0=kt,sT=Fa,_u=Be,bs=o0,iT=a0(),oT=Be,aT=t=>t.length===32?t:t.slice(1,33);ze.toXOnly=aT;function cT(t,e,r){const n=TT(e,t,r);try{const i=xT(e,n).concat(n.script).concat(n.controlBlock);return{finalScriptWitness:(0,_u.witnessStackToScriptWitness)(i)}}catch(s){throw new Error(`Can not finalize taproot input #${t}: ${s}`)}}ze.tapScriptFinalizer=cT;function uT(t,e){const r=e?Buffer.from([e]):Buffer.from([]);return Buffer.concat([t,r])}var xo=ze.serializeTaprootSignature=uT;function wc(t){return t&&!!(t.tapInternalKey||t.tapMerkleRoot||t.tapLeafScript&&t.tapLeafScript.length||t.tapBip32Derivation&&t.tapBip32Derivation.length||t.witnessUtxo&&(0,_u.isP2TR)(t.witnessUtxo.script))}ze.isTaprootInput=wc;function vc(t,e){return t&&!!(t.tapInternalKey||t.tapTree||t.tapBip32Derivation&&t.tapBip32Derivation.length||e&&(0,_u.isP2TR)(e))}ze.isTaprootOutput=vc;function fT(t,e,r){ET(t,e,r),ST(t,e,r)}ze.checkTaprootInputFields=fT;function lT(t,e,r){AT(t,e,r),dT(t,e)}ze.checkTaprootOutputFields=lT;function dT(t,e){if(!e.tapTree&&!e.tapInternalKey)return;const r=e.tapInternalKey||t.tapInternalKey,n=e.tapTree||t.tapTree;if(r){const{script:s}=t,i=hT(r,n);if(s&&!s.equals(i))throw new Error("Error adding output. Script or address missmatch.")}}function hT(t,e){const r=e&&xw(e.leaves),{output:n}=(0,iT.p2tr)({internalPubkey:t,scriptTree:r});return n}function pT(t,e){const r=e.tapInternalKey,n=r&&(0,bs.tweakKey)(r,e.tapMerkleRoot);if(!n)throw new Error(`Cannot tweak tap internal key for input #${t}. Public key: ${r&&r.toString("hex")}`);return n.x}ze.tweakInternalPubKey=pT;function yT(t){if(!(0,c0.isTaptree)(t))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return Od(t)}ze.tapTreeToList=yT;function xw(t=[]){return t.length===1&&t[0].depth===0?{output:t[0].script,version:t[0].leafVersion}:vT(t)}ze.tapTreeFromList=xw;function mT(t,e){return gT(t).some(n=>(0,oT.signatureBlocksAction)(n,bT,e))}ze.checkTaprootInputForSigs=mT;function bT(t){return{signature:t.slice(0,64),hashType:t.slice(64)[0]||sT.Transaction.SIGHASH_DEFAULT}}function gT(t){const e=[];if(t.tapKeySig&&e.push(t.tapKeySig),t.tapScriptSig&&e.push(...t.tapScriptSig.map(r=>r.signature)),!e.length){const r=wT(t.finalScriptWitness);r&&e.push(r)}return e}function wT(t){if(!t)return;const e=t.slice(2);if(e.length===64||e.length===65)return e}function Od(t,e=[],r=0){if(r>bs.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return t?(0,c0.isTapleaf)(t)?(e.push({depth:r,leafVersion:t.version||bs.LEAF_VERSION_TAPSCRIPT,script:t.output}),e):(t[0]&&Od(t[0],e,r+1),t[1]&&Od(t[1],e,r+1),e):[]}function vT(t){let e;for(const r of t)if(e=Bd(r,e),!e)throw new Error("No room left to insert tapleaf in tree");return e}function Bd(t,e,r=0){if(r>bs.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");if(t.depth===r)return e?void 0:{output:t.script,version:t.leafVersion};if((0,c0.isTapleaf)(e))return;const n=Bd(t,e&&e[0],r+1);if(n)return[n,e&&e[1]];const s=Bd(t,e&&e[1],r+1);if(s)return[e&&e[0],s]}function ET(t,e,r){const n=wc(t)&&Ui(e),s=Ui(t)&&wc(e),i=t===e&&wc(e)&&Ui(e);if(n||s||i)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function AT(t,e,r){const n=vc(t)&&Ui(e),s=Ui(t)&&vc(e),i=t===e&&vc(e)&&Ui(e);if(n||s||i)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function ST(t,e,r){if(e.tapMerkleRoot){const n=(e.tapLeafScript||[]).every(i=>kf(i,e.tapMerkleRoot)),s=(t.tapLeafScript||[]).every(i=>kf(i,e.tapMerkleRoot));if(!n||!s)throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}else if(t.tapMerkleRoot&&!(e.tapLeafScript||[]).every(s=>kf(s,t.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}function kf(t,e){if(!e)return!0;const r=(0,bs.tapleafHash)({output:t.script,version:t.leafVersion});return(0,bs.rootHashFromPath)(t.controlBlock,r).equals(e)}function xT(t,e){const r=(0,bs.tapleafHash)({output:e.script,version:e.leafVersion});return(t.tapScriptSig||[]).filter(n=>n.leafHash.equals(r)).map(n=>kT(e.script,n)).sort((n,s)=>s.positionInScript-n.positionInScript).map(n=>n.signature)}function kT(t,e){return Object.assign({positionInScript:(0,_u.pubkeyPositionInScript)(e.pubkey,t)},e)}function TT(t,e,r){if(!t.tapScriptSig||!t.tapScriptSig.length)throw new Error(`Can not finalize taproot input #${e}. No tapleaf script signature provided.`);const n=(t.tapLeafScript||[]).sort((s,i)=>s.controlBlock.length-i.controlBlock.length).find(s=>_T(s,t.tapScriptSig,r));if(!n)throw new Error(`Can not finalize taproot input #${e}. Signature for tapleaf script not found.`);return n}function _T(t,e,r){const n=(0,bs.tapleafHash)({output:t.script,version:t.leafVersion});return(!r||r.equals(n))&&e.find(i=>i.leafHash.equals(n))!==void 0}function Ui(t){return t&&!!(t.redeemScript||t.witnessScript||t.bip32Derivation&&t.bip32Derivation.length)}const lr={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:t=>"counterparty signature not found for utxo "+t,invalidCounterpartySigForUTXO:t=>"invalid counterparty signature for utxo "+t,htlcNotExpired:t=>`HTLC not expired, need more ${t} blocks`,controlBlockGenerationFailed:"failed to generate control block",invalidLeaf:"invalid leaf"},oc=192;xe.initEccLib(mr);let ny=class{constructor(e,r){this.signer=e,this.internalPubkey=Rp(),this.network=p3(r)}address(e,r){const n=this.generateLeaves(e,r),{address:s}=xe.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:n});if(!s)throw new Error(lr.htlcAddressGenerationFailed);return s}async _buildRawTx(e,r,n,s,i){const o=new xe.Transaction;o.version=2;const a=this.address(e,n||"redeem"),c=await this.getProvider();let u=[];if(i&&i.length>0)for(const p of i){const d=await c.getTransaction(p);for(let m=0;m<d.vout.length;m++){const g=d.vout[m];g.scriptpubkey_address===a&&u.push({txid:d.txid,vout:m,value:g.value,status:{confirmed:!1}})}}else u=await c.getUTXOs(a);const f=u.reduce((p,d)=>p+d.value,0);if(f===0)throw new Error(`${a} ${lr.notFunded}`);for(let p=0;p<u.length;p++)o.addInput(Buffer.from(u[p].txid,"hex").reverse(),u[p].vout);if(s!=null&&s.vSize){const p=await c.getFeeRates(),d=Math.ceil(p.hourFee*s.vSize),m=f-d;return o.addOutput(xe.address.toOutputScript(r,this.network),m),{tx:o,usedUtxos:u}}const l=(s==null?void 0:s.fee)??await c.suggestFee(a,f,Ci.MEDIUM);return o.addOutput(xe.address.toOutputScript(r,this.network),f-l),{tx:o,usedUtxos:u,fee:l,balance:f}}getOutputScript(e,r){return xe.address.toOutputScript(this.address(e,r||"redeem"),this.network)}async initiate(e,r){const n=await this.getProvider(),s=await this.signer.getAddress();let i,o;Y.isOrder(e)?(i=e.source_swap.swap_id,o=Number(e.source_swap.amount)):(i=e.to,o=Number(e.amount)),r===void 0&&(r=await n.suggestFee(s,o,Ci.MEDIUM));const a=await this.signer.send(i,o,r);return b.Ok(a)}async generateRedeemSACP(e,r,n){const{tx:s,usedUtxos:i}=await this._buildRawTx(e,e.destination_swap.delegate,"redeem",{fee:n}),o=this.getOutputScript(e,"redeem"),a=xe.Transaction.SIGHASH_SINGLE|xe.Transaction.SIGHASH_ANYONECANPAY,c=this.leafHash(1,e),u=i.map(l=>l.value),f=lo(o,i.length);for(let l=0;l<s.ins.length;l++){const p=s.hashForWitnessV1(l,f,u,a,c),d=await this.signer.signSchnorr(p);s.setWitness(l,[xo(d,a),Buffer.from(r,"hex"),this.redeemLeaf(b.trim0x(e.destination_swap.secret_hash),Le(e.destination_swap.delegate)),await this.generateControlBlockFor(1,e)])}return s.toHex()}async generateInstantRefundSACP(e){const r=this.getOutputScript(e,"instantRefund"),{tx:n,usedUtxos:s,fee:i}=await this._buildRawTx(e,e.destination_swap.delegate,"instantRefund",{fee:0});n.outs=[];const o=Math.max(...s.map(l=>l.value));s.forEach(({value:l})=>{n.addOutput(r,l-(l===o?i??0:0))});const a=xe.Transaction.SIGHASH_SINGLE|xe.Transaction.SIGHASH_ANYONECANPAY,c=this.leafHash(2,e),u=s.map(l=>l.value),f=lo(r,s.length);for(let l=0;l<n.ins.length;l++){const p=n.hashForWitnessV1(l,f,u,a,c),d=await this.signer.signSchnorr(p);n.setWitness(l,[xo(d,a),xo(d,a),this.instantRefundLeaf(Le(e.source_swap.initiator),Le(e.destination_swap.delegate)),await this.generateControlBlockFor(2,e)])}return n.toHex()}async generateInstantRefundSACPWithHash(e){const r=[],n=xe.Transaction.SIGHASH_SINGLE|xe.Transaction.SIGHASH_ANYONECANPAY;for(let s=0;s<e.length;s++){const i=Buffer.from(e[s],"hex"),o=await this.signer.signSchnorr(i);r.push(xo(o,n).toString("hex"))}return b.Ok(r)}async instantRefund(e,r,n){Pp(r.length>0,lr.noCounterpartySigs);const{tx:s,usedUtxos:i}=await this._buildRawTx(e,await this.signer.getAddress(),"instantRefund",{fee:n});for(const p of i)if(!r.find(d=>d.utxo===p.txid))throw new Error(lr.counterPartySigNotFound(p.txid));const o=this.getOutputScript(e,"instantRefund"),a=xe.Transaction.SIGHASH_DEFAULT,c=this.leafHash(2,e),u=i.map(p=>p.value),f=lo(o,i.length);for(let p=0;p<s.ins.length;p++){const d=s.hashForWitnessV1(p,f,u,a,c);if(!mr.verifySchnorr(d,Buffer.from(Le(e.destination_swap.delegate),"hex"),Buffer.from(r[p].sig,"hex")))throw new Error(lr.invalidCounterpartySigForUTXO(r[p].utxo));const m=await this.signer.signSchnorr(d),g=Buffer.from(s.ins[p].hash).reverse().toString("hex"),A=r.find(S=>S.utxo===g);if(!A)throw new Error(lr.counterPartySigNotFound(g));s.setWitness(p,[Buffer.from(A.sig,"hex"),m,this.instantRefundLeaf(Le(e.source_swap.initiator),Le(e.destination_swap.delegate)),await this.generateControlBlockFor(2,e)])}return await(await this.getProvider()).broadcast(s.toHex())}async redeem(e,r,n){const s=await this.getRedeemHex(e,r,n);if(!s.ok)return b.Err(s.error);const o=await(await this.getProvider()).broadcast(s.val);return b.Ok(o)}async getRedeemHex(e,r,n){Pp(xe.crypto.sha256(Buffer.from(r,"hex")).toString("hex")===b.trim0x(e.destination_swap.secret_hash),lr.secretMismatch);const o=(Y.isBitcoin(e.source_swap.chain)?e.source_swap.redeemer:e.destination_swap.redeemer)??await this.signer.getAddress(),{tx:a,usedUtxos:c}=await this._buildRawTx(e,o,"redeem",{fee:0},n),u=this.leafHash(1,e),f=c.map(m=>m.value),l=lo(this.getOutputScript(e,"redeem"),c.length),p=xe.Transaction.SIGHASH_DEFAULT;for(let m=0;m<a.ins.length;m++){const g=a.hashForWitnessV1(m,l,f,p,u),A=await this.signer.signSchnorr(g);a.setWitness(m,[A,Buffer.from(r,"hex"),this.redeemLeaf(b.trim0x(e.destination_swap.secret_hash),Le(e.destination_swap.delegate)),await this.generateControlBlockFor(1,e)])}const{tx:d}=await this._buildRawTx(e,o,"redeem",{vSize:a.virtualSize()},n);for(let m=0;m<d.ins.length;m++){const g=d.hashForWitnessV1(m,l,f,p,u),A=await this.signer.signSchnorr(g);d.setWitness(m,[A,Buffer.from(r,"hex"),this.redeemLeaf(b.trim0x(e.destination_swap.secret_hash),Le(e.destination_swap.delegate)),await this.generateControlBlockFor(1,e)])}return b.Ok(d.toHex())}async refund(e,r){const{tx:n,usedUtxos:s}=await this._buildRawTx(e,e.source_swap.delegate??await this.signer.getAddress(),"refund",{fee:r}),[i,o]=await this.canRefund(e,s);if(!i)throw new Error(lr.htlcNotExpired(o));const a=this.leafHash(0,e),c=s.map(d=>d.value),u=lo(this.getOutputScript(e,"refund"),s.length),f=xe.Transaction.SIGHASH_DEFAULT;for(let d=0;d<n.ins.length;d++){n.ins[d].sequence=e.source_swap.timelock;const m=n.hashForWitnessV1(d,u,c,f,a),g=await this.signer.signSchnorr(m);n.setWitness(d,[g,this.refundLeaf(e.source_swap.timelock,Le(e.source_swap.initiator)),await this.generateControlBlockFor(0,e)])}const p=await(await this.getProvider()).broadcast(n.toHex());return b.Ok(p)}async canRefund(e,r){const s=await(await this.getProvider()).getLatestTip();for(const i of r){let o=0;if(i.status.confirmed&&i.status.block_height+e.source_swap.timelock>s?o=i.status.block_height+e.source_swap.timelock-s+1:i.status.confirmed||(o=e.source_swap.timelock+1),o>0)return[!1,o]}return[!0,0]}async generateControlBlockFor(e,r){let n,s;switch(e){case 1:n=this.redeemLeaf(b.trim0x(r.destination_swap.secret_hash),Le(r.destination_swap.delegate)),s=this.generateLeaves(r,"redeem");break;case 0:n=this.refundLeaf(r.source_swap.timelock,Le(r.source_swap.initiator)),s=this.generateLeaves(r,"refund");break;case 2:n=this.instantRefundLeaf(Le(r.source_swap.initiator),Le(r.destination_swap.delegate)),s=this.generateLeaves(r,"instantRefund");break;default:throw new Error(lr.controlBlockGenerationFailed)}const i=await this.signer.getNetwork(),o=xe.payments.p2tr({internalPubkey:Rp(),network:i,scriptTree:s,redeem:{output:n,redeemVersion:oc}});if(!o.witness)throw new Error(lr.controlBlockGenerationFailed);return o.witness[o.witness.length-1]}leafHash(e,r){let n;switch(e){case 1:n=this.redeemLeaf(b.trim0x(r.destination_swap.secret_hash),Le(r.destination_swap.delegate));break;case 0:n=this.refundLeaf(r.source_swap.timelock,Le(r.source_swap.initiator));break;case 2:n=this.instantRefundLeaf(Le(r.source_swap.initiator),Le(r.destination_swap.redeemer));break;default:throw new Error(lr.invalidLeaf)}return xe.crypto.taggedHash("TapLeaf",o3(n))}refundLeaf(e,r){return xe.script.fromASM(`
|
|
53
|
+
${xe.script.number.encode(e).toString("hex")}
|
|
54
|
+
OP_CHECKSEQUENCEVERIFY
|
|
55
|
+
OP_DROP
|
|
56
|
+
${r}
|
|
57
|
+
OP_CHECKSIG
|
|
58
|
+
`.trim().replace(/\s+/g," "))}redeemLeaf(e,r){return xe.script.fromASM(`
|
|
59
|
+
OP_SHA256
|
|
60
|
+
${e}
|
|
61
|
+
OP_EQUALVERIFY
|
|
62
|
+
${r}
|
|
63
|
+
OP_CHECKSIG
|
|
64
|
+
`.trim().replace(/\s+/g," "))}instantRefundLeaf(e,r){return xe.script.fromASM(`
|
|
65
|
+
${e}
|
|
66
|
+
OP_CHECKSIG
|
|
67
|
+
${r}
|
|
68
|
+
OP_CHECKSIGADD
|
|
69
|
+
OP_2
|
|
70
|
+
OP_NUMEQUAL
|
|
71
|
+
`.trim().replace(/\s+/g," "))}generateLeaves(e,r){let n,s,i;switch(r){case"redeem":n=e.destination_swap,s=n.delegate,i=n.delegate;break;case"refund":n=e.source_swap,s=n.delegate,i=n.delegate;break;case"instantRefund":n=e.source_swap,s=n.redeemer,i=n.redeemer;break;default:throw new Error("Invalid leaf generation type")}return[{version:oc,output:this.redeemLeaf(n.secret_hash,Le(s))},[{version:oc,output:this.refundLeaf(n.timelock,Le(n.initiator))},{version:oc,output:this.instantRefundLeaf(Le(n.initiator),Le(i))}]]}generateMerkleProofFor(e,r){const n=this.leafHash(1,r),s=this.leafHash(2,r),i=this.leafHash(0,r);switch(e){case 1:{const o=c3(i,s);return[xe.crypto.taggedHash("TapBranch",Buffer.concat(o))]}case 0:return[s,n];case 2:return[i,n];default:throw new Error(lr.invalidLeaf)}}getProvider(){return this.signer.getProvider()}get getPublicKey(){return this.signer.getPublicKey()}get htlcActorAddress(){return this.signer.getPublicKey()}};class kw{constructor(e,r){this.quoteUrl=new b.Url(e),this.auth=r}async getQuoteFromAssets({fromAsset:e,toAsset:r,amount:n,isExactOut:s=!1,options:i}){const o=Y.ChainAsset.from(e),a=Y.ChainAsset.from(r);return this.getQuote(o,a,n,s,i)}async getQuote(e,r,n,s=!1,i){try{const o=await this.auth.getAuthHeaders();if(o.error)return b.Err(o.error);const a={from:Y.ChainAsset.from(e).toString(),to:Y.ChainAsset.from(r).toString(),...s?{to_amount:n.toString()}:{from_amount:n.toString()},...(i==null?void 0:i.affiliateFee)!==void 0&&{affiliate_fee:i.affiliateFee.toString()}},c=this.quoteUrl.endpoint("/v2/quote").addSearchParams(a),u=await b.Fetcher.get(c,{retryCount:0,...i==null?void 0:i.request,headers:{...o.val,"Content-Type":"application/json"}});return u.error?b.Err(u.error):u.result?b.Ok(u.result):b.Err("GetQuote: Unexpected error, result is undefined")}catch(o){return b.Err("GetQuote:",String(o))}}}class Wi extends b.EventBroker{get isInitialized(){return!!this.digestKey}constructor(e,r){super(),this.digestKey=e,this.walletClient=r}static fromDigestKey(e){return new Wi(b.trim0x(e))}static fromWalletClient(e){return new Wi(void 0,e)}async initialize(){if(this.digestKey)return b.Ok("Already initialized");const e=await this.deriveDigestKeyFromWalletClient();return e.error?b.Err(e.error):(this.emit("initialized",!0),b.Ok("Initialized"))}async deriveDigestKeyFromWalletClient(){if(!this.walletClient)return b.Err("No walletClient found");if(!this.walletClient.account)return b.Err("No account found");try{const e=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=b.trim0x(Eo(e)),this.emit("initialized",!0),b.Ok(this.digestKey)}catch(e){return b.Err("Failed to initialize: "+e)}}async getDigestKey(){if(!this.digestKey&&!this.walletClient)return b.Err("No private key or wallet client found");if(!this.digestKey&&this.walletClient){const e=await this.deriveDigestKeyFromWalletClient();if(e.error)return b.Err(e.error)}return this.digestKey?b.Ok(this.digestKey):b.Err("No private key found")}async generateSecret(e){const r=await this.signMessage(e);if(!r.ok)return b.Err(r.error);const n=Eo(b.with0x(r.val)),s=Eo(n);return b.Ok({secret:n,secretHash:s})}async signMessage(e){if(!this.digestKey){const u=await this.getDigestKey();if(!u.ok)return b.Err(u.error);this.digestKey=u.val}const r=hc.ECPairFactory(mr),n="Garden.fi"+e.toString(),s=Buffer.from(n,"utf8"),i=Eo(s),o=Buffer.from(b.trim0x(this.digestKey),"hex");if(o.length!==32)return b.Err("Invalid private key length. Expected 32 bytes.");const c=r.fromPrivateKey(o).sign(Buffer.from(b.trim0x(i),"hex"));return b.Ok(c.toString("hex"))}}const Tw=[{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"}],IT=[{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 so{constructor(e,r){this.auth=e,this.url=r instanceof b.Url?r:new b.Url(r)}async initiate(e,r){try{const n=await this.auth.getAuthHeaders();if(!n.ok)return b.Err(n.error);const s=await b.Fetcher.patch(this.url.endpoint("/v2/orders").endpoint(e).addSearchParams({action:"initiate"}),{body:JSON.stringify({signature:r}),headers:{...n.val,"Content-Type":"application/json"}});return s.error||!s.result?b.Err(s.error||"Initiate failed"):b.Ok(s.result)}catch(n){return b.Err(String(n))}}async redeem(e,r){try{const n=await this.auth.getAuthHeaders();if(!n.ok)return b.Err(n.error);const s=await b.Fetcher.patch(this.url.endpoint("/v2/orders").endpoint(e).addSearchParams({action:"redeem"}),{body:JSON.stringify({secret:b.trim0x(r)}),headers:{...n.val,"Content-Type":"application/json"},retryCount:10,retryDelay:2e3});return s.error?b.Err(s.error):s.result?b.Ok(s.result):b.Err("Redeem: No result found")}catch(n){return b.Err(String(n))}}}const PT=async(t,e)=>{if(!t.account)return b.Err("No account found");try{const n=await Ch({address:b.with0x(e.htlc),abi:IT,client:t}).write.initiate([b.with0x(e.redeemer),e.timelock,e.amount,b.with0x(e.secretHash)],{account:t.account,chain:t.chain,value:e.amount}),s=await b.waitForTransactionReceipt(t,n);return s.ok?!s.val||s.val.status!=="success"?b.Err("Native initiate transaction failed"):b.Ok(n):b.Err(s.error)}catch(r){return Yh(r)?b.Ok("already initiated"):b.Err("Failed to initiate on native HTLC",String(r))}},OT=async(t,e,r,n)=>{if(!t.account)return b.Err("No account found");try{const s=Ch({address:b.with0x(n.htlc),abi:Tw,client:t}),i=await b.checkAllowanceAndApprove(Number(n.amount),n.token,n.htlc,t);if(!i.ok)return b.Err(i.error);const o=await s.read.eip712Domain(),a=await t.signTypedData({account:t.account,domain:{name:o[1],version:o[2],chainId:Number(o[3]),verifyingContract:o[4]},types:{Initiate:[{name:"redeemer",type:"address"},{name:"timelock",type:"uint256"},{name:"amount",type:"uint256"},{name:"secretHash",type:"bytes32"}]},primaryType:"Initiate",message:{redeemer:b.with0x(n.redeemer),timelock:n.timelock,amount:n.amount,secretHash:b.with0x(n.secretHash)}}),c=new so(r,e),u=await S1({wallet:t,attempt:()=>c.initiate(n.orderId,a)});if(u)return b.Ok(u);const f=await s.write.initiate([b.with0x(n.redeemer),n.timelock,n.amount,b.with0x(n.secretHash)],{account:t.account,chain:t.chain}),l=await b.waitForTransactionReceipt(t,f);return l.ok?!l.val||l.val.status!=="success"?b.Err("Failed to initiate (fallback)"):b.Ok(f):b.Err(l.error)}catch(s){return Yh(s)?b.Ok("already initiated"):b.Err("Failed to initiate on ERC20 HTLC",String(s))}},BT=async(t,e)=>{if(!t.account)return b.Err("No account found");try{const r=await t.sendTransaction({account:t.account,to:b.with0x(e.to),value:BigInt(e.value),data:b.with0x(e.data),gas:BigInt(e.gas_limit),chain:t.chain}),n=await b.waitForTransactionReceipt(t,r);return n.ok?!n.val||n.val.status!=="success"?b.Err("Approval transaction failed"):b.Ok(r):b.Err(n.error)}catch(r){return b.Err("Failed to execute approval: "+String(r))}},CT={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},RT={block:wE({format(t){var r;return{transactions:(r=t.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const s=Ta(n);return s.typeHex==="0x7e"&&(s.isSystemTx=n.isSystemTx,s.mint=n.mint?ft(n.mint):void 0,s.sourceHash=n.sourceHash,s.type="deposit"),s}),stateRoot:t.stateRoot}}}),transaction:bE({format(t){const e={};return t.type==="0x7e"&&(e.isSystemTx=t.isSystemTx,e.mint=t.mint?ft(t.mint):void 0,e.sourceHash=t.sourceHash,e.type="deposit"),e}}),transactionReceipt:BA({format(t){return{l1GasPrice:t.l1GasPrice?ft(t.l1GasPrice):null,l1GasUsed:t.l1GasUsed?ft(t.l1GasUsed):null,l1Fee:t.l1Fee?ft(t.l1Fee):null,l1FeeScalar:t.l1FeeScalar?Number(t.l1FeeScalar):null}}})};function NT(t,e){return MT(t)?FT(t):p8(t,e)}const UT={transaction:NT};function FT(t){$T(t);const{sourceHash:e,data:r,from:n,gas:s,isSystemTx:i,mint:o,to:a,value:c}=t,u=[e,n,a??"0x",o?Ft(o):"0x",c?Ft(c):"0x",s?Ft(s):"0x",i?"0x1":"0x",r??"0x"];return $r(["0x7e",ms(u)])}function MT(t){return t.type==="deposit"||typeof t.sourceHash<"u"}function $T(t){const{from:e,to:r}=t;if(e&&!ct(e))throw new $t({address:e});if(r&&!ct(r))throw new $t({address:r})}const Ki={blockTime:2e3,contracts:CT,formatters:RT,serializers:UT},jT=bt({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:250,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}}}),HT=bt({id:421614,name:"Arbitrum Sepolia",blockTime:250,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}),mo=1,_w=bt({...Ki,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:{...Ki.contracts,disputeGameFactory:{[mo]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[mo]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[mo]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[mo]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:mo});({..._w});const bo=11155111,Iw=bt({...Ki,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:{...Ki.contracts,disputeGameFactory:{[bo]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[bo]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[bo]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[bo]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:bo});({...Iw});const LT=bt({id:80094,name:"Berachain",blockTime:2e3,nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:0},ensRegistry:{address:"0x5b22280886a2f5e09a49bea7e320eab0e5320e28",blockCreated:877007},ensUniversalResolver:{address:"0x4D41762915F83c76EcaF6776d9b08076aA32b492",blockCreated:9310021}},rpcUrls:{default:{http:["https://rpc.berachain.com"]}},blockExplorers:{default:{name:"Berascan",url:"https://berascan.com"}},ensTlds:[".bera"],testnet:!1}),DT=bt({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}),zT=bt({id:56,name:"BNB Smart Chain",blockTime:750,nativeCurrency:{decimals:18,name:"BNB",symbol:"BNB"},rpcUrls:{default:{http:["https://56.rpc.thirdweb.com"]}},blockExplorers:{default:{name:"BscScan",url:"https://bscscan.com",apiUrl:"https://api.bscscan.com/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:15921452}}}),VT=bt({id:97,name:"BNB Smart Chain Testnet",nativeCurrency:{decimals:18,name:"BNB",symbol:"tBNB"},rpcUrls:{default:{http:["https://data-seed-prebsc-1-s1.bnbchain.org:8545"]}},blockExplorers:{default:{name:"BscScan",url:"https://testnet.bscscan.com",apiUrl:"https://api-testnet.bscscan.com/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:17422483}},testnet:!0}),GT=bt({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}),qT=bt({id:1116,name:"Core Dao",nativeCurrency:{decimals:18,name:"Core",symbol:"CORE"},rpcUrls:{default:{http:["https://rpc.coredao.org"]}},blockExplorers:{default:{name:"CoreDao",url:"https://scan.coredao.org"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:11907934}},testnet:!1}),WT=1,KT=bt({id:21e6,name:"Corn",nativeCurrency:{decimals:18,name:"Bitcorn",symbol:"BTCN"},rpcUrls:{default:{http:["https://21000000.rpc.thirdweb.com"]}},blockExplorers:{default:{name:"Corn Explorer",url:"https://cornscan.io",apiUrl:"https://api.routescan.io/v2/network/mainnet/evm/21000000/etherscan/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:3228}},sourceId:WT}),YT=bt({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),JT=bt({id:10143,name:"Monad Testnet",blockTime:400,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}),XT=bt({id:11155111,name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://11155111.rpc.thirdweb.com"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:8928790}},testnet:!0}),ac=1,ZT=bt({...Ki,id:130,name:"Unichain",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:1e3,rpcUrls:{default:{http:["https://mainnet.unichain.org/"]}},blockExplorers:{default:{name:"Uniscan",url:"https://uniscan.xyz",apiUrl:"https://api.uniscan.xyz/api"}},contracts:{...Ki.contracts,multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:0},disputeGameFactory:{[ac]:{address:"0x2F12d621a16e2d3285929C9996f478508951dFe4"}},portal:{[ac]:{address:"0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2"}},l1StandardBridge:{[ac]:{address:"0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA"}}},sourceId:ac}),QT={...XT,rpcUrls:{default:{http:["https://ethereum-sepolia-rpc.publicnode.com"]}}},Pw={id:3637,name:"Botanix",nativeCurrency:{name:"Botanix",symbol:"BOTX",decimals:18},blockExplorers:{default:{name:"Botanix Explorer",url:"https://botanixscan.io/"}},rpcUrls:{default:{http:["https://rpc.botanixlabs.com/"]}}},Ow={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"]}}},Bw={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"]}}},Cw={id:8150,name:"Alpen Network",nativeCurrency:{name:"Signet bitcoin",symbol:"sBTC",decimals:18},blockExplorers:{default:{name:"Alpen Explorer",url:"https://explorer.pectra-testnet.alpenlabs.io"}},rpcUrls:{default:{http:["https://rpc.pectra-testnet.alpenlabs.io"]}}},e_={id:143,name:"Monad",nativeCurrency:{name:"Monad",symbol:"MON",decimals:18},blockExplorers:{default:{name:"Monad Explorer",url:"https://monadvision.com/"}},rpcUrls:{default:{http:["https://rpc1.monad.xyz"]}}},Iu={ethereum:YT,arbitrum:jT,ethereum_sepolia:QT,arbitrum_sepolia:HT,ethereum_localnet:Y.EthereumLocalnet,arbitrum_localnet:Y.ArbitrumLocalnet,base_sepolia:Iw,base:_w,bera_testnet:DT,citrea_testnet:GT,core:qT,bera:LT,monad:e_,monad_testnet:JT,hyperliquid_testnet:Ow,hyperliquid:Bw,unichain:ZT,corn:KT,botanix:Pw,bnbchain:zT,bnbchain_testnet:VT,alpen_testnet:Cw,hypercore:{},hypercore_testnet:{}},Rw=t=>{for(const[e,r]of Object.entries(Iu))if(r.id===t)return e;return null},Cd=async(t,e)=>{var s,i,o;const r=Iu[t],n=await e.getChainId();if(r)try{if(r.id===n)return b.Ok({message:"Already on the network",walletClient:e});await e.switchChain({id:r.id});const a=hf({account:e.account,chain:r,transport:Ip(e.transport)});return b.Ok({message:"Switched chain",walletClient:a})}catch(a){if(t_(a))if(a.code===4902||a.code===-32603)try{await e.addChain({chain:r});const c=hf({account:e.account,chain:r,transport:Ip(e.transport)});return b.Ok({message:"Added network",walletClient:c})}catch{return b.Err("Failed to add network")}else if((i=(s=a.body)==null?void 0:s.method)!=null&&i.includes("wallet_switchEthereumChain")||(o=a.message)!=null&&o.includes("wallet_switchEthereumChain")){const c=hf({account:e.account,chain:r,transport:E1()});return b.Ok({message:"Added network",walletClient:c})}else return b.Err("Failed to switch network");else return b.Err("Failed to switch network")}else return b.Err("Chain not supported")},t_=t=>typeof t=="object"&&t!=null&&("code"in t||"message"in t||"body"in t);class Nw{constructor(e,r,n){this.wallet=r,this.auth=n,this.url=e instanceof b.Url?e:new b.Url(e),this.relayer=new so(this.auth,this.url)}get htlcActorAddress(){if(!this.wallet.account)throw new Error("No account found");return this.wallet.account.address}async initiate(e){if(Y.isEvmOrderResponse(e))return this.initiateFromAPI(e);if(!this.wallet.account)return b.Err("No account found");if(!Y.isEVM(e.source_swap.chain))return b.Err("Not an EVM chain");if(this.wallet.account.address.toLowerCase()!==e.source_swap.initiator.toLowerCase())return b.Err("Account address and order initiator mismatch");const r=e.source_swap.chain,n=await Cd(r,this.wallet);if(!n.ok)return b.Err(n.error);this.wallet=n.val.walletClient;const{source_swap:s}=e;if(!s.amount||!s.timelock||!s.redeemer||!s.secret_hash)return b.Err("Invalid order");const i=await yu(s.asset,this.url);if(!i.ok)return b.Err(i.error);const o=Y.ChainAsset.fromString(s.asset),a={redeemer:b.with0x(s.redeemer),timelock:BigInt(s.timelock),amount:BigInt(s.amount),secretHash:b.with0x(s.secret_hash)};return Y.isEvmNativeToken(o.chain,o.symbol)?PT(this.wallet,{...a,htlc:i.val.htlcAddress}):OT(this.wallet,this.url,this.auth,{...a,htlc:i.val.htlcAddress,token:i.val.tokenAddress,orderId:e.order_id})}async initiateFromAPI(e){const r=Rw(e.initiate_transaction.chain_id);if(!r)return b.Err("Unsupported chain");const n=await Cd(r,this.wallet);if(!n.ok)return b.Err(n.error);if(this.wallet=n.val.walletClient,!this.wallet.account)return b.Err("No account found");if(!e.typed_data){const o=e.initiate_transaction,a=await this.wallet.sendTransaction({account:this.wallet.account,chain:this.wallet.chain,to:b.with0x(o.to),value:BigInt(o.value),data:b.with0x(o.data),gas:BigInt(o.gas_limit)}),c=await b.waitForTransactionReceipt(this.wallet,a);return c.ok?!c.val||c.val.status!=="success"?b.Err("Native initiate transaction failed"):b.Ok(a):b.Err(c.error)}if(e.approval_transaction){const o=await BT(this.wallet,e.approval_transaction);if(o.error)return b.Err(`Approval failed: ${o.error}`);console.log("Approval transaction completed:",o.val)}const s=await this.wallet.signTypedData({account:this.wallet.account,...e.typed_data}),i=await S1({wallet:this.wallet,attempt:()=>this.relayer.initiate(e.order_id,s)});if(i)return b.Ok(i);try{const o=Ch({address:b.with0x(e.initiate_transaction.to),abi:Tw,client:this.wallet}),a=e.typed_data.message,c=await o.write.initiate([b.with0x(a.redeemer),BigInt(a.timelock),BigInt(a.amount),b.with0x(a.secretHash)],{account:this.wallet.account,chain:this.wallet.chain}),u=await b.waitForTransactionReceipt(this.wallet,c);return u.ok?!u.val||u.val.status!=="success"?b.Err("Failed to initiate via contract"):b.Ok(c):b.Err(u.error)}catch(o){return Yh(o)?b.Ok("already initiated"):b.Err(`Failed to initiate via contract: ${String(o)}`)}}async redeem(e,r){const n=await this.relayer.redeem(e.order_id,r);if(n.error)return b.Err(n.error);try{const s=await this.relayer.redeem(e.order_id,r);if(s.error)return b.Err(s.error);const i=Iu[e.destination_swap.chain],a=await Mx({chain:i,transport:E1()}).waitForTransactionReceipt({hash:s.val,confirmations:1,timeout:3e5});return a&&a.status==="success"?b.Ok(s.val?s.val:"Redeem hash not found"):b.Err("Redeem failed: Transaction receipt not successful")}catch(s){return b.Err(String(s))}}async refund(){return b.Err("Refund not supported")}}const Uw=[{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"}]}],Fw=async(t,e,r,n,s)=>{try{const i=await Oo(t.address,e,r,s);if(!i.ok)return b.Err(i.error);if(i.val>=n)return b.Ok("Allowance already approved");const a=Qe.cairo.uint256(BigInt(n)),c=await t.execute([{contractAddress:b.with0x(e),entrypoint:"approve",calldata:[b.with0x(r),a.low,a.high]}]);await s.waitForTransaction(c.transaction_hash,{retryInterval:3e3,successStates:[Qe.TransactionExecutionStatus.SUCCEEDED]}),await b.sleep(2e3);for(let u=0;u<20;u++){const f=await Oo(t.address,e,r,s);if(!f.ok)return b.Err(f.error);if(f.val>=n)return b.Ok(c.transaction_hash);await b.sleep(2e3);let l=0n;for(let p=0;p<20;p++){const d=await Oo(t.address,e,r,s);if(!d.ok)return b.Err(d.error);if(l=d.val,l>=n)break;await b.sleep(2e3)}return l<n?b.Err("Allowance not approved"):b.Ok(c.transaction_hash)}return b.Err("Allowance not approved after transaction.")}catch(i){return b.Err(`Failed to check or approve allowance: ${i instanceof Error?i.message:String(i)}`)}},Oo=async(t,e,r,n)=>{try{const i=await new Qe.Contract(Uw,b.with0x(e),n).call("allowance",[b.with0x(t),b.with0x(r)]);return b.Ok(BigInt((i==null?void 0:i.toString())||"0"))}catch(s){return b.Err(`Failed to check allowance: ${s instanceof Error?s.message:String(s)}`)}},Mw=async(t,e,r,n,s)=>{const i=await Oo(t,e,r,n);return i.ok?b.Ok(i.val>=s):b.Err(i.error)},$w=[{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"}]}],r_={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 jw{constructor(e,r,n,s,i){this.url=e instanceof b.Url?e:new b.Url(e),this.account=r,this.starknetProvider=new Qe.RpcProvider({nodeUrl:i||aa[n].nodeUrl}),this.chainId=aa[n].chainId,this.auth=s,this.relayer=new so(this.auth,this.url)}get htlcActorAddress(){if(!this.account.address)throw new Error("No account found");return this.account.address}async initiate(e){if(Y.isStarknetOrderResponse(e))return this.initiateWithCreateOrderResponse(e);if(!this.account.address)return b.Err("No account address");const{source_swap:r}=e,{redeemer:n,amount:s}=r;if(!s||!n||!r.secret_hash||!r.timelock)return b.Err("Invalid order");try{const i=new Qe.Contract($w,e.source_swap.asset,this.account),o=await(i==null?void 0:i.token()),a=Qe.num.toHex(o),c=await Mw(this.account.address,a,r.asset,this.starknetProvider,BigInt(r.amount));return c.error?b.Err(c.error):c.val?this.initiateRelay(e):this.approveAndInitiate(a,e)}catch(i){return b.Err(String(i))}}async approveAndInitiate(e,r){const{source_swap:n}=r,{redeemer:s,amount:i}=n,{secret_hash:o,timelock:a}=n,c=n.asset;try{const u=Qe.cairo.uint256(BigInt(i)),f={contractAddress:b.with0x(e),entrypoint:"approve",calldata:[c,u.low,u.high]},l=Qe.cairo.uint256(i),p={contractAddress:b.with0x(c),entrypoint:"initiate",calldata:[s,a.toString(),l.low.toString(),l.high.toString(),...b.hexToU32Array(o)]},d=await this.account.execute([f,p]);return await this.starknetProvider.waitForTransaction(d.transaction_hash,{retryInterval:2e3,successStates:[Qe.TransactionExecutionStatus.SUCCEEDED]}),b.Ok(d.transaction_hash)}catch(u){return b.Err(`Failed to approve and initiate: ${String(u)}`)}}async initiateRelay(e){const{source_swap:r}=e,{redeemer:n,amount:s}=r;if(!r.secret_hash)return b.Err("Invalid order: secret_hash is undefined");const i=b.with0x(r.secret_hash),a={domain:{name:"HTLC",version:Qe.shortString.encodeShortString("1"),chainId:this.chainId,revision:Qe.TypedDataRevision.ACTIVE},primaryType:"Initiate",types:r_,message:{redeemer:n,amount:Qe.cairo.uint256(s),timelock:e.source_swap.timelock,secretHash:b.hexToU32Array(i)}};try{const c=await this.account.signMessage(a),u=Op(c);if(u.error||!u.val)return b.Err(u.error||"Invalid signature");const f=await this.relayer.initiate(e.order_id,u.val);return f.error?b.Err(f.error):f.val?b.Ok(f.val):b.Err("Initiate: No result found")}catch(c){return b.Err(`Failed to initiate relayer: ${String(c)}`)}}async redeem(e,r){try{const n=await this.relayer.redeem(e.order_id,r);return n.error?b.Err(n.error):b.Ok(n.val)}catch(n){return b.Err(String(n))}}async executeApprovalTransaction(e){if(!this.account.address)return b.Err("No account address");if(!e.approval_transaction)return b.Ok("No approval transaction required");try{const r=e.approval_transaction,n=await this.account.execute([{contractAddress:b.with0x(r.to),entrypoint:"approve",calldata:r.calldata}]);return await this.starknetProvider.waitForTransaction(n.transaction_hash,{retryInterval:2e3,successStates:[Qe.TransactionExecutionStatus.SUCCEEDED]}),b.Ok(n.transaction_hash)}catch(r){return console.error("executeApprovalTransaction error:",r),b.Err("Failed to execute approval: "+(r instanceof Error&&(r==null?void 0:r.message)||String(r)))}}async initiateWithCreateOrderResponse(e){const r=await this.auth.getAuthHeaders();if(!r.ok)return b.Err(r.error);if(!this.account.address)return b.Err("No account address");const n=await this.executeApprovalTransaction(e);if(n.error)return b.Err(n.error);const{typed_data:s}=e;if(s===null){const c=e.initiate_transaction;if(!c)return b.Err("No initiate_transaction found for native initiate");const u=await this.account.execute([{contractAddress:b.with0x(c.to),entrypoint:"initiate",calldata:c.calldata}]);return await this.starknetProvider.waitForTransaction(u.transaction_hash,{retryInterval:2e3,successStates:[Qe.TransactionExecutionStatus.SUCCEEDED]}),b.Ok(u.transaction_hash)}const i=await this.account.signMessage(s),o=Op(i);if(o.error)return b.Err(o.error);const a=await b.Fetcher.patch(this.url.endpoint("/v2/orders").endpoint(e.order_id).addSearchParams({action:"initiate"}),{body:JSON.stringify({signature:Array.isArray(o.val)?o.val.join(","):o.val}),headers:{...r.val,"Content-Type":"application/json"}});return a.error?b.Err(a.error):b.Ok(a.result)}async refund(){return b.Err("Refund is taken care of by the relayer")}}const n_="2WXpY8havGjfRxme9LUxtjFHTh1EfU3ur4v6wiK4KdNC",s_={name:"solana_spl_swaps",version:"0.4.0",spec:"0.1.0",description:"Created with Anchor"},i_=[{name:"initiate",docs:["Initiates the atomic swap. Funds are transferred from the initiator to the token vault.","As such, the initiator's signature is required for this instruction.","A sponsor may be involved, who pays PDA rent and transaction fees in SOL, allowing for the","initiator to participate without holding SOL. As such, the sponsor must also sign this transaction.","`swap_amount` represents the quantity of tokens to be transferred through this atomic swap","in base units of the token mint.",'E.g: A quantity of $1 represented by the token "USDC" with "6" decimals',"must be provided as 1,000,000.","`expires_in_slots` represents the number of slots after which (non-instant) refunds are allowed.","`destination_data` can hold optional information regarding the destination chain","in the atomic swap, to be emitted in the logs as-is."],discriminator:[5,63,123,113,153,75,148,14],accounts:[{name:"identity_pda",docs:["the token transfers of the `token_vault` PDA.","This PDA will be created during the first most invocation of the `initiate()` function","using the `init_if_needed` attribute, and be reused for all succeeding instructions."],writable:!0,pda:{seeds:[]}},{name:"swap_data",docs:["A PDA that maintains the on-chain state of the atomic swap throughout its lifecycle.","The choice of seeds ensure that any swap with equal `initiator` and","`secret_hash` wont be created until an existing one completes.","This PDA will be deleted upon completion of the swap."],writable:!0,pda:{seeds:[{kind:"account",path:"initiator"},{kind:"arg",path:"secret_hash"}]}},{name:"token_vault",docs:["A permanent PDA that is controlled by the program through the `identity_pda`, as implied",'by the value of the `authority` field below. As such, it serves as the "vault" by escrowing tokens',"of type `mint` for the atomic swap.","It is intended to be reused for all swaps involving the same mint.","Just like `identity_pda`, it will be created during the first most invocation of `initiate()`","of every distinct mint using the `init_if_needed` attribute."],writable:!0,pda:{seeds:[{kind:"account",path:"mint"}]}},{name:"initiator",docs:["The initiator of the atomic swap. They must sign this transaction."],signer:!0},{name:"initiator_token_account",docs:["The token account of the initiator"],writable:!0},{name:"mint",docs:["The mint of the tokens involved in this swap. As this is a parameter, this program can thus be reused","for atomic swaps with different mints."]},{name:"sponsor",docs:["Any entity that pays the PDA rent.","Upon completion of the swap, the PDA rent refund resulting from the","deletion of `swap_data` will be refunded to this address."],writable:!0,signer:!0},{name:"token_program",address:"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"expires_in_slots",type:"u64"},{name:"redeemer",type:"pubkey"},{name:"secret_hash",type:{array:["u8",32]}},{name:"swap_amount",type:"u64"},{name:"destination_data",type:{option:"bytes"}}]},{name:"instant_refund",docs:["Funds are returned to the initiator, with the redeemer's consent.","As such, the redeemer's signature is required for this instruction.","This allows for refunds before the expiry slot."],discriminator:[211,202,103,41,183,147,59,251],accounts:[{name:"identity_pda",pda:{seeds:[]}},{name:"swap_data",docs:["The PDA holding the state information of the atomic swap. Will be closed upon successful execution","and the resulting rent refund will be sent to the sponsor."],writable:!0},{name:"token_vault",docs:["A token account controlled by the program, escrowing the tokens for this atomic swap"],writable:!0},{name:"initiator_token_account",writable:!0},{name:"redeemer",docs:["The redeemer of the atomic swap. They must sign this transaction."],writable:!0,signer:!0},{name:"sponsor",writable:!0},{name:"token_program",address:"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"}],args:[]},{name:"redeem",docs:["Funds are transferred to the redeemer. This instruction does not require any signatures."],discriminator:[184,12,86,149,70,196,97,225],accounts:[{name:"identity_pda",pda:{seeds:[]}},{name:"swap_data",docs:["The PDA holding the state information of the atomic swap. Will be closed upon successful execution","and the resulting rent refund will be sent to the sponsor."],writable:!0},{name:"token_vault",docs:["A token account controlled by the program, escrowing the tokens for this atomic swap"],writable:!0},{name:"redeemer_token_account",writable:!0},{name:"sponsor",writable:!0},{name:"token_program",address:"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"}],args:[{name:"secret",type:{array:["u8",32]}}]},{name:"refund",docs:["Funds are returned to the initiator, given that no redeems have occured","and the expiry slot has been reached.","This instruction does not require any signatures."],discriminator:[2,96,183,251,63,208,46,46],accounts:[{name:"identity_pda",pda:{seeds:[]}},{name:"swap_data",docs:["The PDA holding the state information of the atomic swap. Will be closed upon successful execution","and the resulting rent refund will be sent to the sponsor."],writable:!0},{name:"token_vault",docs:["A token account controlled by the program, escrowing the tokens for this atomic swap"],writable:!0},{name:"initiator_token_account",writable:!0},{name:"sponsor",writable:!0},{name:"token_program",address:"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"}],args:[]}],o_=[{name:"SwapAccount",discriminator:[53,126,9,14,14,197,105,182]}],a_=[{name:"Initiated",discriminator:[6,108,212,91,67,60,207,221]},{name:"InstantRefunded",discriminator:[220,50,18,207,183,232,218,25]},{name:"Redeemed",discriminator:[14,29,183,71,31,165,107,38]},{name:"Refunded",discriminator:[35,103,149,246,196,123,221,99]}],c_=[{code:6e3,name:"InvalidRedeemer",msg:"The provider redeemer is not the original redeemer of this swap"},{code:6001,name:"InvalidSecret",msg:"The provided secret does not correspond to the secret hash of this swap"},{code:6002,name:"InvalidSponsor",msg:"The provided sponsor is not the original sponsor of this swap"},{code:6003,name:"RefundBeforeExpiry",msg:"Attempt to perform a refund before expiry time"}],u_=[{name:"Initiated",docs:["Represents the initiated state of the swap where the initiator has deposited funds into the vault"],type:{kind:"struct",fields:[{name:"swap_amount",docs:["The quantity of tokens transferred through this atomic swap in base units of the token mint.",'E.g: A quantity of $1 represented by the token "USDC" with "6" decimals will be represented as 1,000,000.'],type:"u64"},{name:"expires_in_slots",docs:["`expires_in_slots` represents the number of slots after which (non-instant) refunds are allowed"],type:"u64"},{name:"initiator",type:"pubkey"},{name:"mint",type:"pubkey"},{name:"redeemer",type:"pubkey"},{name:"secret_hash",type:{array:["u8",32]}},{name:"destination_data",docs:["Information regarding the destination chain in the atomic swap"],type:{option:"bytes"}}]}},{name:"InstantRefunded",docs:["Represents the instant refund state of the swap, where the initiator has withdrawn funds the vault","with the redeemer's consent"],type:{kind:"struct",fields:[{name:"initiator",type:"pubkey"},{name:"secret_hash",type:{array:["u8",32]}}]}},{name:"Redeemed",docs:["Represents the redeemed state of the swap, where the redeemer has withdrawn funds from the vault"],type:{kind:"struct",fields:[{name:"initiator",type:"pubkey"},{name:"secret",type:{array:["u8",32]}}]}},{name:"Refunded",docs:["Represents the refund state of the swap, where the initiator has withdrawn funds from the vault past expiry"],type:{kind:"struct",fields:[{name:"initiator",type:"pubkey"},{name:"secret_hash",type:{array:["u8",32]}}]}},{name:"SwapAccount",docs:["Stores the state information of the atomic swap on-chain"],type:{kind:"struct",fields:[{name:"expiry_slot",docs:["The exact slot after which (non-instant) refunds are allowed"],type:"u64"},{name:"initiator",docs:["The initiator of the atomic swap"],type:"pubkey"},{name:"redeemer",docs:["The redeemer of the atomic swap"],type:"pubkey"},{name:"secret_hash",docs:["The secret hash associated with the atomic swap"],type:{array:["u8",32]}},{name:"swap_amount",docs:["The quantity tokens to be transferred through this atomic swap","in base units of the token mint.",'E.g: A quantity of $1 represented by the token "USDC" with "6" decimals',"must be provided as 1,000,000."],type:"u64"},{name:"identity_pda_bump",docs:["The bump associated with the identity pda.","This is needed by the program to authorize token transfers via the token vault."],type:"u8"},{name:"sponsor",docs:["The entity that paid the rent fees for the creation of this PDA.","This will be referenced during the refund of the same upon closing this PDA."],type:"pubkey"}]}}],sy={address:n_,metadata:s_,instructions:i_,accounts:o_,events:a_,errors:c_,types:u_},f_="2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",l_={name:"solana_native_swaps",version:"0.3.0",spec:"0.1.0",description:"Created with Anchor"},d_=[{name:"initiate",discriminator:[5,63,123,113,153,75,148,14],accounts:[{name:"swap_account",writable:!0,pda:{seeds:[{kind:"const",value:[115,119,97,112,95,97,99,99,111,117,110,116]},{kind:"account",path:"initiator"},{kind:"arg",path:"secret_hash"}]}},{name:"initiator",docs:["Initiator must sign this transaction"],writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"amount_lamports",type:"u64"},{name:"expires_in_slots",type:"u64"},{name:"redeemer",type:"pubkey"},{name:"secret_hash",type:{array:["u8",32]}}]},{name:"instant_refund",discriminator:[211,202,103,41,183,147,59,251],accounts:[{name:"swap_account",writable:!0},{name:"initiator",writable:!0},{name:"redeemer",docs:["Redeemer must sign this transaction"],signer:!0}],args:[]},{name:"redeem",discriminator:[184,12,86,149,70,196,97,225],accounts:[{name:"swap_account",writable:!0},{name:"initiator",docs:["This is included here for the PDA rent refund using the `close` attribute above"],writable:!0},{name:"redeemer",writable:!0}],args:[{name:"secret",type:{array:["u8",32]}}]},{name:"refund",discriminator:[2,96,183,251,63,208,46,46],accounts:[{name:"swap_account",writable:!0},{name:"initiator",writable:!0}],args:[]}],h_=[{name:"SwapAccount",discriminator:[53,126,9,14,14,197,105,182]}],p_=[{name:"Initiated",discriminator:[6,108,212,91,67,60,207,221]},{name:"InstantRefunded",discriminator:[220,50,18,207,183,232,218,25]},{name:"Redeemed",discriminator:[14,29,183,71,31,165,107,38]},{name:"Refunded",discriminator:[35,103,149,246,196,123,221,99]}],y_=[{code:6e3,name:"InvalidInitiator",msg:"The provided initiator is not the original initiator of this swap account"},{code:6001,name:"InvalidRedeemer",msg:"The provided redeemer is not the original redeemer of this swap amount"},{code:6002,name:"InvalidSecret",msg:"The provided secret does not correspond to the secret hash in the swap account"},{code:6003,name:"RefundBeforeExpiry",msg:"Attempt to perform a refund before expiry time"}],m_=[{name:"Initiated",type:{kind:"struct",fields:[{name:"amount_lamports",type:"u64"},{name:"expires_in_slots",type:"u64"},{name:"initiator",type:"pubkey"},{name:"redeemer",type:"pubkey"},{name:"secret_hash",type:{array:["u8",32]}}]}},{name:"InstantRefunded",type:{kind:"struct",fields:[{name:"initiator",type:"pubkey"},{name:"secret_hash",type:{array:["u8",32]}}]}},{name:"Redeemed",type:{kind:"struct",fields:[{name:"initiator",type:"pubkey"},{name:"secret",type:{array:["u8",32]}}]}},{name:"Refunded",type:{kind:"struct",fields:[{name:"initiator",type:"pubkey"},{name:"secret_hash",type:{array:["u8",32]}}]}},{name:"SwapAccount",type:{kind:"struct",fields:[{name:"amount_lamports",type:"u64"},{name:"expiry_slot",type:"u64"},{name:"initiator",type:"pubkey"},{name:"redeemer",type:"pubkey"},{name:"secret_hash",type:{array:["u8",32]}}]}}],Rd={address:f_,metadata:l_,instructions:d_,accounts:h_,events:p_,errors:y_,types:m_};var Tn={},Pu={};Object.defineProperty(Pu,"__esModule",{value:!0});Pu.encode=b_;Pu.decode=g_;const iy=ai;function b_(t){return t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),"0x")}function g_(t){t.indexOf("0x")===0&&(t=t.substr(2)),t.length%2===1&&(t="0"+t);let e=t.match(/.{2}/g);return e===null?iy.Buffer.from([]):iy.Buffer.from(e.map(r=>parseInt(r,16)))}var Ou={},ri={},Tf;Object.defineProperty(ri,"__esModule",{value:!0});ri.isVersionedTransaction=ri.isBrowser=void 0;ri.chunks=w_;ri.isBrowser=process.env.ANCHOR_BROWSER||typeof window<"u"&&!(!((Tf=window.process)===null||Tf===void 0)&&Tf.hasOwnProperty("type"));function w_(t,e){return Array.apply(0,new Array(Math.ceil(t.length/e))).map((r,n)=>t.slice(n*e,(n+1)*e))}const v_=t=>"version"in t;ri.isVersionedTransaction=v_;var _f={},If={},Pf,oy;function Hw(){return oy||(oy=1,Pf=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var s=42;e[r]=s;for(var i in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var o=Object.getOwnPropertySymbols(e);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var a=Object.getOwnPropertyDescriptor(e,r);if(a.value!==s||a.enumerable!==!0)return!1}return!0}),Pf}var Of,ay;function Bu(){if(ay)return Of;ay=1;var t=Hw();return Of=function(){return t()&&!!Symbol.toStringTag},Of}var Bf,cy;function Lw(){return cy||(cy=1,Bf=Object),Bf}var Cf,uy;function E_(){return uy||(uy=1,Cf=Error),Cf}var Rf,fy;function A_(){return fy||(fy=1,Rf=EvalError),Rf}var Nf,ly;function S_(){return ly||(ly=1,Nf=RangeError),Nf}var Uf,dy;function x_(){return dy||(dy=1,Uf=ReferenceError),Uf}var Ff,hy;function Dw(){return hy||(hy=1,Ff=SyntaxError),Ff}var Mf,py;function ja(){return py||(py=1,Mf=TypeError),Mf}var $f,yy;function k_(){return yy||(yy=1,$f=URIError),$f}var jf,my;function T_(){return my||(my=1,jf=Math.abs),jf}var Hf,by;function __(){return by||(by=1,Hf=Math.floor),Hf}var Lf,gy;function I_(){return gy||(gy=1,Lf=Math.max),Lf}var Df,wy;function P_(){return wy||(wy=1,Df=Math.min),Df}var zf,vy;function O_(){return vy||(vy=1,zf=Math.pow),zf}var Vf,Ey;function B_(){return Ey||(Ey=1,Vf=Math.round),Vf}var Gf,Ay;function C_(){return Ay||(Ay=1,Gf=Number.isNaN||function(e){return e!==e}),Gf}var qf,Sy;function R_(){if(Sy)return qf;Sy=1;var t=C_();return qf=function(r){return t(r)||r===0?r:r<0?-1:1},qf}var Wf,xy;function N_(){return xy||(xy=1,Wf=Object.getOwnPropertyDescriptor),Wf}var Kf,ky;function io(){if(ky)return Kf;ky=1;var t=N_();if(t)try{t([],"length")}catch{t=null}return Kf=t,Kf}var Yf,Ty;function Cu(){if(Ty)return Yf;Ty=1;var t=Object.defineProperty||!1;if(t)try{t({},"a",{value:1})}catch{t=!1}return Yf=t,Yf}var Jf,_y;function U_(){if(_y)return Jf;_y=1;var t=typeof Symbol<"u"&&Symbol,e=Hw();return Jf=function(){return typeof t!="function"||typeof Symbol!="function"||typeof t("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:e()},Jf}var Xf,Iy;function zw(){return Iy||(Iy=1,Xf=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),Xf}var Zf,Py;function Vw(){if(Py)return Zf;Py=1;var t=Lw();return Zf=t.getPrototypeOf||null,Zf}var Qf,Oy;function F_(){if(Oy)return Qf;Oy=1;var t="Function.prototype.bind called on incompatible ",e=Object.prototype.toString,r=Math.max,n="[object Function]",s=function(c,u){for(var f=[],l=0;l<c.length;l+=1)f[l]=c[l];for(var p=0;p<u.length;p+=1)f[p+c.length]=u[p];return f},i=function(c,u){for(var f=[],l=u,p=0;l<c.length;l+=1,p+=1)f[p]=c[l];return f},o=function(a,c){for(var u="",f=0;f<a.length;f+=1)u+=a[f],f+1<a.length&&(u+=c);return u};return Qf=function(c){var u=this;if(typeof u!="function"||e.apply(u)!==n)throw new TypeError(t+u);for(var f=i(arguments,1),l,p=function(){if(this instanceof l){var S=u.apply(this,s(f,arguments));return Object(S)===S?S:this}return u.apply(c,s(f,arguments))},d=r(0,u.length-f.length),m=[],g=0;g<d;g++)m[g]="$"+g;if(l=Function("binder","return function ("+o(m,",")+"){ return binder.apply(this,arguments); }")(p),u.prototype){var A=function(){};A.prototype=u.prototype,l.prototype=new A,A.prototype=null}return l},Qf}var el,By;function Ha(){if(By)return el;By=1;var t=F_();return el=Function.prototype.bind||t,el}var tl,Cy;function u0(){return Cy||(Cy=1,tl=Function.prototype.call),tl}var rl,Ry;function f0(){return Ry||(Ry=1,rl=Function.prototype.apply),rl}var nl,Ny;function M_(){return Ny||(Ny=1,nl=typeof Reflect<"u"&&Reflect&&Reflect.apply),nl}var sl,Uy;function Gw(){if(Uy)return sl;Uy=1;var t=Ha(),e=f0(),r=u0(),n=M_();return sl=n||t.call(r,e),sl}var il,Fy;function l0(){if(Fy)return il;Fy=1;var t=Ha(),e=ja(),r=u0(),n=Gw();return il=function(i){if(i.length<1||typeof i[0]!="function")throw new e("a function is required");return n(t,r,i)},il}var ol,My;function $_(){if(My)return ol;My=1;var t=l0(),e=io(),r;try{r=[].__proto__===Array.prototype}catch(o){if(!o||typeof o!="object"||!("code"in o)||o.code!=="ERR_PROTO_ACCESS")throw o}var n=!!r&&e&&e(Object.prototype,"__proto__"),s=Object,i=s.getPrototypeOf;return ol=n&&typeof n.get=="function"?t([n.get]):typeof i=="function"?function(a){return i(a==null?a:s(a))}:!1,ol}var al,$y;function d0(){if($y)return al;$y=1;var t=zw(),e=Vw(),r=$_();return al=t?function(s){return t(s)}:e?function(s){if(!s||typeof s!="object"&&typeof s!="function")throw new TypeError("getProto: not an object");return e(s)}:r?function(s){return r(s)}:null,al}var cl,jy;function qw(){if(jy)return cl;jy=1;var t=Function.prototype.call,e=Object.prototype.hasOwnProperty,r=Ha();return cl=r.call(t,e),cl}var ul,Hy;function Ww(){if(Hy)return ul;Hy=1;var t,e=Lw(),r=E_(),n=A_(),s=S_(),i=x_(),o=Dw(),a=ja(),c=k_(),u=T_(),f=__(),l=I_(),p=P_(),d=O_(),m=B_(),g=R_(),A=Function,S=function(ie){try{return A('"use strict"; return ('+ie+").constructor;")()}catch{}},_=io(),E=Cu(),w=function(){throw new a},k=_?function(){try{return arguments.callee,w}catch{try{return _(arguments,"callee").get}catch{return w}}}():w,T=U_()(),P=d0(),N=Vw(),B=zw(),j=f0(),M=u0(),H={},z=typeof Uint8Array>"u"||!P?t:P(Uint8Array),Z={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?t:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?t:ArrayBuffer,"%ArrayIteratorPrototype%":T&&P?P([][Symbol.iterator]()):t,"%AsyncFromSyncIteratorPrototype%":t,"%AsyncFunction%":H,"%AsyncGenerator%":H,"%AsyncGeneratorFunction%":H,"%AsyncIteratorPrototype%":H,"%Atomics%":typeof Atomics>"u"?t:Atomics,"%BigInt%":typeof BigInt>"u"?t:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?t:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?t:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?t:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":r,"%eval%":eval,"%EvalError%":n,"%Float16Array%":typeof Float16Array>"u"?t:Float16Array,"%Float32Array%":typeof Float32Array>"u"?t:Float32Array,"%Float64Array%":typeof Float64Array>"u"?t:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?t:FinalizationRegistry,"%Function%":A,"%GeneratorFunction%":H,"%Int8Array%":typeof Int8Array>"u"?t:Int8Array,"%Int16Array%":typeof Int16Array>"u"?t:Int16Array,"%Int32Array%":typeof Int32Array>"u"?t:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":T&&P?P(P([][Symbol.iterator]())):t,"%JSON%":typeof JSON=="object"?JSON:t,"%Map%":typeof Map>"u"?t:Map,"%MapIteratorPrototype%":typeof Map>"u"||!T||!P?t:P(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":e,"%Object.getOwnPropertyDescriptor%":_,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?t:Promise,"%Proxy%":typeof Proxy>"u"?t:Proxy,"%RangeError%":s,"%ReferenceError%":i,"%Reflect%":typeof Reflect>"u"?t:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?t:Set,"%SetIteratorPrototype%":typeof Set>"u"||!T||!P?t:P(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?t:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":T&&P?P(""[Symbol.iterator]()):t,"%Symbol%":T?Symbol:t,"%SyntaxError%":o,"%ThrowTypeError%":k,"%TypedArray%":z,"%TypeError%":a,"%Uint8Array%":typeof Uint8Array>"u"?t:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?t:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?t:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?t:Uint32Array,"%URIError%":c,"%WeakMap%":typeof WeakMap>"u"?t:WeakMap,"%WeakRef%":typeof WeakRef>"u"?t:WeakRef,"%WeakSet%":typeof WeakSet>"u"?t:WeakSet,"%Function.prototype.call%":M,"%Function.prototype.apply%":j,"%Object.defineProperty%":E,"%Object.getPrototypeOf%":N,"%Math.abs%":u,"%Math.floor%":f,"%Math.max%":l,"%Math.min%":p,"%Math.pow%":d,"%Math.round%":m,"%Math.sign%":g,"%Reflect.getPrototypeOf%":B};if(P)try{null.error}catch(ie){var U=P(P(ie));Z["%Error.prototype%"]=U}var W=function ie(se){var be;if(se==="%AsyncFunction%")be=S("async function () {}");else if(se==="%GeneratorFunction%")be=S("function* () {}");else if(se==="%AsyncGeneratorFunction%")be=S("async function* () {}");else if(se==="%AsyncGenerator%"){var ge=ie("%AsyncGeneratorFunction%");ge&&(be=ge.prototype)}else if(se==="%AsyncIteratorPrototype%"){var Ee=ie("%AsyncGenerator%");Ee&&P&&(be=P(Ee.prototype))}return Z[se]=be,be},ee={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},G=Ha(),O=qw(),L=G.call(M,Array.prototype.concat),X=G.call(j,Array.prototype.splice),C=G.call(M,String.prototype.replace),F=G.call(M,String.prototype.slice),D=G.call(M,RegExp.prototype.exec),ne=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,oe=/\\(\\)?/g,le=function(se){var be=F(se,0,1),ge=F(se,-1);if(be==="%"&&ge!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(ge==="%"&&be!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var Ee=[];return C(se,ne,function(ke,rt,Ce,Hr){Ee[Ee.length]=Ce?C(Hr,oe,"$1"):rt||ke}),Ee},ue=function(se,be){var ge=se,Ee;if(O(ee,ge)&&(Ee=ee[ge],ge="%"+Ee[0]+"%"),O(Z,ge)){var ke=Z[ge];if(ke===H&&(ke=W(ge)),typeof ke>"u"&&!be)throw new a("intrinsic "+se+" exists, but is not available. Please file an issue!");return{alias:Ee,name:ge,value:ke}}throw new o("intrinsic "+se+" does not exist!")};return ul=function(se,be){if(typeof se!="string"||se.length===0)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof be!="boolean")throw new a('"allowMissing" argument must be a boolean');if(D(/^%?[^%]*%?$/,se)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var ge=le(se),Ee=ge.length>0?ge[0]:"",ke=ue("%"+Ee+"%",be),rt=ke.name,Ce=ke.value,Hr=!1,xs=ke.alias;xs&&(Ee=xs[0],X(ge,L([0,1],xs)));for(var K=1,Lr=!0;K<ge.length;K+=1){var _t=ge[K],It=F(_t,0,1),Hn=F(_t,-1);if((It==='"'||It==="'"||It==="`"||Hn==='"'||Hn==="'"||Hn==="`")&&It!==Hn)throw new o("property names with quotes must have matching quotes");if((_t==="constructor"||!Lr)&&(Hr=!0),Ee+="."+_t,rt="%"+Ee+"%",O(Z,rt))Ce=Z[rt];else if(Ce!=null){if(!(_t in Ce)){if(!be)throw new a("base intrinsic for "+se+" exists, but the property is not available.");return}if(_&&K+1>=ge.length){var li=_(Ce,_t);Lr=!!li,Lr&&"get"in li&&!("originalValue"in li.get)?Ce=li.get:Ce=Ce[_t]}else Lr=O(Ce,_t),Ce=Ce[_t];Lr&&!Hr&&(Z[rt]=Ce)}}return Ce},ul}var fl,Ly;function La(){if(Ly)return fl;Ly=1;var t=Ww(),e=l0(),r=e([t("%String.prototype.indexOf%")]);return fl=function(s,i){var o=t(s,!!i);return typeof o=="function"&&r(s,".prototype.")>-1?e([o]):o},fl}var ll,Dy;function j_(){if(Dy)return ll;Dy=1;var t=Bu()(),e=La(),r=e("Object.prototype.toString"),n=function(a){return t&&a&&typeof a=="object"&&Symbol.toStringTag in a?!1:r(a)==="[object Arguments]"},s=function(a){return n(a)?!0:a!==null&&typeof a=="object"&&"length"in a&&typeof a.length=="number"&&a.length>=0&&r(a)!=="[object Array]"&&"callee"in a&&r(a.callee)==="[object Function]"},i=function(){return n(arguments)}();return n.isLegacyArguments=s,ll=i?n:s,ll}var dl,zy;function H_(){if(zy)return dl;zy=1;var t=La(),e=Bu()(),r=qw(),n=io(),s;if(e){var i=t("RegExp.prototype.exec"),o={},a=function(){throw o},c={toString:a,valueOf:a};typeof Symbol.toPrimitive=="symbol"&&(c[Symbol.toPrimitive]=a),s=function(p){if(!p||typeof p!="object")return!1;var d=n(p,"lastIndex"),m=d&&r(d,"value");if(!m)return!1;try{i(p,c)}catch(g){return g===o}}}else{var u=t("Object.prototype.toString"),f="[object RegExp]";s=function(p){return!p||typeof p!="object"&&typeof p!="function"?!1:u(p)===f}}return dl=s,dl}var hl,Vy;function L_(){if(Vy)return hl;Vy=1;var t=La(),e=H_(),r=t("RegExp.prototype.exec"),n=ja();return hl=function(i){if(!e(i))throw new n("`regex` must be a RegExp");return function(a){return r(i,a)!==null}},hl}var pl,Gy;function D_(){if(Gy)return pl;Gy=1;const t=(function*(){}).constructor;return pl=()=>t,pl}var yl,qy;function z_(){if(qy)return yl;qy=1;var t=La(),e=L_(),r=e(/^\s*(?:function)?\*/),n=Bu()(),s=d0(),i=t("Object.prototype.toString"),o=t("Function.prototype.toString"),a=D_();return yl=function(u){if(typeof u!="function")return!1;if(r(o(u)))return!0;if(!n){var f=i(u);return f==="[object GeneratorFunction]"}if(!s)return!1;var l=a();return l&&s(u)===l.prototype},yl}var ml,Wy;function V_(){if(Wy)return ml;Wy=1;var t=Function.prototype.toString,e=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,r,n;if(typeof e=="function"&&typeof Object.defineProperty=="function")try{r=Object.defineProperty({},"length",{get:function(){throw n}}),n={},e(function(){throw 42},null,r)}catch(_){_!==n&&(e=null)}else e=null;var s=/^\s*class\b/,i=function(E){try{var w=t.call(E);return s.test(w)}catch{return!1}},o=function(E){try{return i(E)?!1:(t.call(E),!0)}catch{return!1}},a=Object.prototype.toString,c="[object Object]",u="[object Function]",f="[object GeneratorFunction]",l="[object HTMLAllCollection]",p="[object HTML document.all class]",d="[object HTMLCollection]",m=typeof Symbol=="function"&&!!Symbol.toStringTag,g=!(0 in[,]),A=function(){return!1};if(typeof document=="object"){var S=document.all;a.call(S)===a.call(document.all)&&(A=function(E){if((g||!E)&&(typeof E>"u"||typeof E=="object"))try{var w=a.call(E);return(w===l||w===p||w===d||w===c)&&E("")==null}catch{}return!1})}return ml=e?function(E){if(A(E))return!0;if(!E||typeof E!="function"&&typeof E!="object")return!1;try{e(E,null,r)}catch(w){if(w!==n)return!1}return!i(E)&&o(E)}:function(E){if(A(E))return!0;if(!E||typeof E!="function"&&typeof E!="object")return!1;if(m)return o(E);if(i(E))return!1;var w=a.call(E);return w!==u&&w!==f&&!/^\[object HTML/.test(w)?!1:o(E)},ml}var bl,Ky;function G_(){if(Ky)return bl;Ky=1;var t=V_(),e=Object.prototype.toString,r=Object.prototype.hasOwnProperty,n=function(c,u,f){for(var l=0,p=c.length;l<p;l++)r.call(c,l)&&(f==null?u(c[l],l,c):u.call(f,c[l],l,c))},s=function(c,u,f){for(var l=0,p=c.length;l<p;l++)f==null?u(c.charAt(l),l,c):u.call(f,c.charAt(l),l,c)},i=function(c,u,f){for(var l in c)r.call(c,l)&&(f==null?u(c[l],l,c):u.call(f,c[l],l,c))};function o(a){return e.call(a)==="[object Array]"}return bl=function(c,u,f){if(!t(u))throw new TypeError("iterator must be a function");var l;arguments.length>=3&&(l=f),o(c)?n(c,u,l):typeof c=="string"?s(c,u,l):i(c,u,l)},bl}var gl,Yy;function q_(){return Yy||(Yy=1,gl=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]),gl}var wl,Jy;function W_(){if(Jy)return wl;Jy=1;var t=q_(),e=typeof globalThis>"u"?on:globalThis;return wl=function(){for(var n=[],s=0;s<t.length;s++)typeof e[t[s]]=="function"&&(n[n.length]=t[s]);return n},wl}var vl={exports:{}},El,Xy;function K_(){if(Xy)return El;Xy=1;var t=Cu(),e=Dw(),r=ja(),n=io();return El=function(i,o,a){if(!i||typeof i!="object"&&typeof i!="function")throw new r("`obj` must be an object or a function`");if(typeof o!="string"&&typeof o!="symbol")throw new r("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new r("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new r("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new r("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new r("`loose`, if provided, must be a boolean");var c=arguments.length>3?arguments[3]:null,u=arguments.length>4?arguments[4]:null,f=arguments.length>5?arguments[5]:null,l=arguments.length>6?arguments[6]:!1,p=!!n&&n(i,o);if(t)t(i,o,{configurable:f===null&&p?p.configurable:!f,enumerable:c===null&&p?p.enumerable:!c,value:a,writable:u===null&&p?p.writable:!u});else if(l||!c&&!u&&!f)i[o]=a;else throw new e("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},El}var Al,Zy;function Y_(){if(Zy)return Al;Zy=1;var t=Cu(),e=function(){return!!t};return e.hasArrayLengthDefineBug=function(){if(!t)return null;try{return t([],"length",{value:1}).length!==1}catch{return!0}},Al=e,Al}var Sl,Qy;function J_(){if(Qy)return Sl;Qy=1;var t=Ww(),e=K_(),r=Y_()(),n=io(),s=ja(),i=t("%Math.floor%");return Sl=function(a,c){if(typeof a!="function")throw new s("`fn` is not a function");if(typeof c!="number"||c<0||c>4294967295||i(c)!==c)throw new s("`length` must be a positive 32-bit integer");var u=arguments.length>2&&!!arguments[2],f=!0,l=!0;if("length"in a&&n){var p=n(a,"length");p&&!p.configurable&&(f=!1),p&&!p.writable&&(l=!1)}return(f||l||!u)&&(r?e(a,"length",c,!0,!0):e(a,"length",c)),a},Sl}var xl,em;function X_(){if(em)return xl;em=1;var t=Ha(),e=f0(),r=Gw();return xl=function(){return r(t,e,arguments)},xl}var tm;function Z_(){return tm||(tm=1,function(t){var e=J_(),r=Cu(),n=l0(),s=X_();t.exports=function(o){var a=n(arguments),c=o.length-(arguments.length-1);return e(a,1+(c>0?c:0),!0)},r?r(t.exports,"apply",{value:s}):t.exports.apply=s}(vl)),vl.exports}var kl,rm;function Kw(){if(rm)return kl;rm=1;var t=G_(),e=W_(),r=Z_(),n=La(),s=io(),i=d0(),o=n("Object.prototype.toString"),a=Bu()(),c=typeof globalThis>"u"?on:globalThis,u=e(),f=n("String.prototype.slice"),l=n("Array.prototype.indexOf",!0)||function(A,S){for(var _=0;_<A.length;_+=1)if(A[_]===S)return _;return-1},p={__proto__:null};a&&s&&i?t(u,function(g){var A=new c[g];if(Symbol.toStringTag in A&&i){var S=i(A),_=s(S,Symbol.toStringTag);if(!_&&S){var E=i(S);_=s(E,Symbol.toStringTag)}p["$"+g]=r(_.get)}}):t(u,function(g){var A=new c[g],S=A.slice||A.set;S&&(p["$"+g]=r(S))});var d=function(A){var S=!1;return t(p,function(_,E){if(!S)try{"$"+_(A)===E&&(S=f(E,1))}catch{}}),S},m=function(A){var S=!1;return t(p,function(_,E){if(!S)try{_(A),S=f(E,1)}catch{}}),S};return kl=function(A){if(!A||typeof A!="object")return!1;if(!a){var S=f(o(A),8,-1);return l(u,S)>-1?S:S!=="Object"?!1:m(A)}return s?d(A):null},kl}var Tl,nm;function Q_(){if(nm)return Tl;nm=1;var t=Kw();return Tl=function(r){return!!t(r)},Tl}var sm;function eI(){return sm||(sm=1,function(t){var e=j_(),r=z_(),n=Kw(),s=Q_();function i(K){return K.call.bind(K)}var o=typeof BigInt<"u",a=typeof Symbol<"u",c=i(Object.prototype.toString),u=i(Number.prototype.valueOf),f=i(String.prototype.valueOf),l=i(Boolean.prototype.valueOf);if(o)var p=i(BigInt.prototype.valueOf);if(a)var d=i(Symbol.prototype.valueOf);function m(K,Lr){if(typeof K!="object")return!1;try{return Lr(K),!0}catch{return!1}}t.isArgumentsObject=e,t.isGeneratorFunction=r,t.isTypedArray=s;function g(K){return typeof Promise<"u"&&K instanceof Promise||K!==null&&typeof K=="object"&&typeof K.then=="function"&&typeof K.catch=="function"}t.isPromise=g;function A(K){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(K):s(K)||F(K)}t.isArrayBufferView=A;function S(K){return n(K)==="Uint8Array"}t.isUint8Array=S;function _(K){return n(K)==="Uint8ClampedArray"}t.isUint8ClampedArray=_;function E(K){return n(K)==="Uint16Array"}t.isUint16Array=E;function w(K){return n(K)==="Uint32Array"}t.isUint32Array=w;function k(K){return n(K)==="Int8Array"}t.isInt8Array=k;function T(K){return n(K)==="Int16Array"}t.isInt16Array=T;function P(K){return n(K)==="Int32Array"}t.isInt32Array=P;function N(K){return n(K)==="Float32Array"}t.isFloat32Array=N;function B(K){return n(K)==="Float64Array"}t.isFloat64Array=B;function j(K){return n(K)==="BigInt64Array"}t.isBigInt64Array=j;function M(K){return n(K)==="BigUint64Array"}t.isBigUint64Array=M;function H(K){return c(K)==="[object Map]"}H.working=typeof Map<"u"&&H(new Map);function z(K){return typeof Map>"u"?!1:H.working?H(K):K instanceof Map}t.isMap=z;function Z(K){return c(K)==="[object Set]"}Z.working=typeof Set<"u"&&Z(new Set);function U(K){return typeof Set>"u"?!1:Z.working?Z(K):K instanceof Set}t.isSet=U;function W(K){return c(K)==="[object WeakMap]"}W.working=typeof WeakMap<"u"&&W(new WeakMap);function ee(K){return typeof WeakMap>"u"?!1:W.working?W(K):K instanceof WeakMap}t.isWeakMap=ee;function G(K){return c(K)==="[object WeakSet]"}G.working=typeof WeakSet<"u"&&G(new WeakSet);function O(K){return G(K)}t.isWeakSet=O;function L(K){return c(K)==="[object ArrayBuffer]"}L.working=typeof ArrayBuffer<"u"&&L(new ArrayBuffer);function X(K){return typeof ArrayBuffer>"u"?!1:L.working?L(K):K instanceof ArrayBuffer}t.isArrayBuffer=X;function C(K){return c(K)==="[object DataView]"}C.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&C(new DataView(new ArrayBuffer(1),0,1));function F(K){return typeof DataView>"u"?!1:C.working?C(K):K instanceof DataView}t.isDataView=F;var D=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function ne(K){return c(K)==="[object SharedArrayBuffer]"}function oe(K){return typeof D>"u"?!1:(typeof ne.working>"u"&&(ne.working=ne(new D)),ne.working?ne(K):K instanceof D)}t.isSharedArrayBuffer=oe;function le(K){return c(K)==="[object AsyncFunction]"}t.isAsyncFunction=le;function ue(K){return c(K)==="[object Map Iterator]"}t.isMapIterator=ue;function ie(K){return c(K)==="[object Set Iterator]"}t.isSetIterator=ie;function se(K){return c(K)==="[object Generator]"}t.isGeneratorObject=se;function be(K){return c(K)==="[object WebAssembly.Module]"}t.isWebAssemblyCompiledModule=be;function ge(K){return m(K,u)}t.isNumberObject=ge;function Ee(K){return m(K,f)}t.isStringObject=Ee;function ke(K){return m(K,l)}t.isBooleanObject=ke;function rt(K){return o&&m(K,p)}t.isBigIntObject=rt;function Ce(K){return a&&m(K,d)}t.isSymbolObject=Ce;function Hr(K){return ge(K)||Ee(K)||ke(K)||rt(K)||Ce(K)}t.isBoxedPrimitive=Hr;function xs(K){return typeof Uint8Array<"u"&&(X(K)||oe(K))}t.isAnyArrayBuffer=xs,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(K){Object.defineProperty(t,K,{enumerable:!1,value:function(){throw new Error(K+" is not supported in userland")}})})}(If)),If}var _l,im;function tI(){return im||(im=1,_l=function(e){return e&&typeof e=="object"&&typeof e.copy=="function"&&typeof e.fill=="function"&&typeof e.readUInt8=="function"}),_l}var cc={exports:{}},om;function rI(){return om||(om=1,typeof Object.create=="function"?cc.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:cc.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}}),cc.exports}var am;function Yw(){return am||(am=1,function(t){var e=Object.getOwnPropertyDescriptors||function(F){for(var D=Object.keys(F),ne={},oe=0;oe<D.length;oe++)ne[D[oe]]=Object.getOwnPropertyDescriptor(F,D[oe]);return ne},r=/%[sdj%]/g;t.format=function(C){if(!k(C)){for(var F=[],D=0;D<arguments.length;D++)F.push(o(arguments[D]));return F.join(" ")}for(var D=1,ne=arguments,oe=ne.length,le=String(C).replace(r,function(ie){if(ie==="%%")return"%";if(D>=oe)return ie;switch(ie){case"%s":return String(ne[D++]);case"%d":return Number(ne[D++]);case"%j":try{return JSON.stringify(ne[D++])}catch{return"[Circular]"}default:return ie}}),ue=ne[D];D<oe;ue=ne[++D])_(ue)||!B(ue)?le+=" "+ue:le+=" "+o(ue);return le},t.deprecate=function(C,F){if(typeof process<"u"&&process.noDeprecation===!0)return C;if(typeof process>"u")return function(){return t.deprecate(C,F).apply(this,arguments)};var D=!1;function ne(){if(!D){if(process.throwDeprecation)throw new Error(F);process.traceDeprecation?console.trace(F):console.error(F),D=!0}return C.apply(this,arguments)}return ne};var n={},s=/^$/;if(process.env.NODE_DEBUG){var i=process.env.NODE_DEBUG;i=i.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),s=new RegExp("^"+i+"$","i")}t.debuglog=function(C){if(C=C.toUpperCase(),!n[C])if(s.test(C)){var F=process.pid;n[C]=function(){var D=t.format.apply(t,arguments);console.error("%s %d: %s",C,F,D)}}else n[C]=function(){};return n[C]};function o(C,F){var D={seen:[],stylize:c};return arguments.length>=3&&(D.depth=arguments[2]),arguments.length>=4&&(D.colors=arguments[3]),S(F)?D.showHidden=F:F&&t._extend(D,F),P(D.showHidden)&&(D.showHidden=!1),P(D.depth)&&(D.depth=2),P(D.colors)&&(D.colors=!1),P(D.customInspect)&&(D.customInspect=!0),D.colors&&(D.stylize=a),f(D,C,D.depth)}t.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function a(C,F){var D=o.styles[F];return D?"\x1B["+o.colors[D][0]+"m"+C+"\x1B["+o.colors[D][1]+"m":C}function c(C,F){return C}function u(C){var F={};return C.forEach(function(D,ne){F[D]=!0}),F}function f(C,F,D){if(C.customInspect&&F&&H(F.inspect)&&F.inspect!==t.inspect&&!(F.constructor&&F.constructor.prototype===F)){var ne=F.inspect(D,C);return k(ne)||(ne=f(C,ne,D)),ne}var oe=l(C,F);if(oe)return oe;var le=Object.keys(F),ue=u(le);if(C.showHidden&&(le=Object.getOwnPropertyNames(F)),M(F)&&(le.indexOf("message")>=0||le.indexOf("description")>=0))return p(F);if(le.length===0){if(H(F)){var ie=F.name?": "+F.name:"";return C.stylize("[Function"+ie+"]","special")}if(N(F))return C.stylize(RegExp.prototype.toString.call(F),"regexp");if(j(F))return C.stylize(Date.prototype.toString.call(F),"date");if(M(F))return p(F)}var se="",be=!1,ge=["{","}"];if(A(F)&&(be=!0,ge=["[","]"]),H(F)){var Ee=F.name?": "+F.name:"";se=" [Function"+Ee+"]"}if(N(F)&&(se=" "+RegExp.prototype.toString.call(F)),j(F)&&(se=" "+Date.prototype.toUTCString.call(F)),M(F)&&(se=" "+p(F)),le.length===0&&(!be||F.length==0))return ge[0]+se+ge[1];if(D<0)return N(F)?C.stylize(RegExp.prototype.toString.call(F),"regexp"):C.stylize("[Object]","special");C.seen.push(F);var ke;return be?ke=d(C,F,D,ue,le):ke=le.map(function(rt){return m(C,F,D,ue,rt,be)}),C.seen.pop(),g(ke,se,ge)}function l(C,F){if(P(F))return C.stylize("undefined","undefined");if(k(F)){var D="'"+JSON.stringify(F).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return C.stylize(D,"string")}if(w(F))return C.stylize(""+F,"number");if(S(F))return C.stylize(""+F,"boolean");if(_(F))return C.stylize("null","null")}function p(C){return"["+Error.prototype.toString.call(C)+"]"}function d(C,F,D,ne,oe){for(var le=[],ue=0,ie=F.length;ue<ie;++ue)G(F,String(ue))?le.push(m(C,F,D,ne,String(ue),!0)):le.push("");return oe.forEach(function(se){se.match(/^\d+$/)||le.push(m(C,F,D,ne,se,!0))}),le}function m(C,F,D,ne,oe,le){var ue,ie,se;if(se=Object.getOwnPropertyDescriptor(F,oe)||{value:F[oe]},se.get?se.set?ie=C.stylize("[Getter/Setter]","special"):ie=C.stylize("[Getter]","special"):se.set&&(ie=C.stylize("[Setter]","special")),G(ne,oe)||(ue="["+oe+"]"),ie||(C.seen.indexOf(se.value)<0?(_(D)?ie=f(C,se.value,null):ie=f(C,se.value,D-1),ie.indexOf(`
|
|
72
|
+
`)>-1&&(le?ie=ie.split(`
|
|
73
|
+
`).map(function(be){return" "+be}).join(`
|
|
74
|
+
`).slice(2):ie=`
|
|
75
|
+
`+ie.split(`
|
|
76
|
+
`).map(function(be){return" "+be}).join(`
|
|
77
|
+
`))):ie=C.stylize("[Circular]","special")),P(ue)){if(le&&oe.match(/^\d+$/))return ie;ue=JSON.stringify(""+oe),ue.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(ue=ue.slice(1,-1),ue=C.stylize(ue,"name")):(ue=ue.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),ue=C.stylize(ue,"string"))}return ue+": "+ie}function g(C,F,D){var ne=C.reduce(function(oe,le){return le.indexOf(`
|
|
78
|
+
`)>=0,oe+le.replace(/\u001b\[\d\d?m/g,"").length+1},0);return ne>60?D[0]+(F===""?"":F+`
|
|
79
|
+
`)+" "+C.join(`,
|
|
80
|
+
`)+" "+D[1]:D[0]+F+" "+C.join(", ")+" "+D[1]}t.types=eI();function A(C){return Array.isArray(C)}t.isArray=A;function S(C){return typeof C=="boolean"}t.isBoolean=S;function _(C){return C===null}t.isNull=_;function E(C){return C==null}t.isNullOrUndefined=E;function w(C){return typeof C=="number"}t.isNumber=w;function k(C){return typeof C=="string"}t.isString=k;function T(C){return typeof C=="symbol"}t.isSymbol=T;function P(C){return C===void 0}t.isUndefined=P;function N(C){return B(C)&&Z(C)==="[object RegExp]"}t.isRegExp=N,t.types.isRegExp=N;function B(C){return typeof C=="object"&&C!==null}t.isObject=B;function j(C){return B(C)&&Z(C)==="[object Date]"}t.isDate=j,t.types.isDate=j;function M(C){return B(C)&&(Z(C)==="[object Error]"||C instanceof Error)}t.isError=M,t.types.isNativeError=M;function H(C){return typeof C=="function"}t.isFunction=H;function z(C){return C===null||typeof C=="boolean"||typeof C=="number"||typeof C=="string"||typeof C=="symbol"||typeof C>"u"}t.isPrimitive=z,t.isBuffer=tI();function Z(C){return Object.prototype.toString.call(C)}function U(C){return C<10?"0"+C.toString(10):C.toString(10)}var W=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ee(){var C=new Date,F=[U(C.getHours()),U(C.getMinutes()),U(C.getSeconds())].join(":");return[C.getDate(),W[C.getMonth()],F].join(" ")}t.log=function(){console.log("%s - %s",ee(),t.format.apply(t,arguments))},t.inherits=rI(),t._extend=function(C,F){if(!F||!B(F))return C;for(var D=Object.keys(F),ne=D.length;ne--;)C[D[ne]]=F[D[ne]];return C};function G(C,F){return Object.prototype.hasOwnProperty.call(C,F)}var O=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;t.promisify=function(F){if(typeof F!="function")throw new TypeError('The "original" argument must be of type Function');if(O&&F[O]){var D=F[O];if(typeof D!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(D,O,{value:D,enumerable:!1,writable:!1,configurable:!0}),D}function D(){for(var ne,oe,le=new Promise(function(se,be){ne=se,oe=be}),ue=[],ie=0;ie<arguments.length;ie++)ue.push(arguments[ie]);ue.push(function(se,be){se?oe(se):ne(be)});try{F.apply(this,ue)}catch(se){oe(se)}return le}return Object.setPrototypeOf(D,Object.getPrototypeOf(F)),O&&Object.defineProperty(D,O,{value:D,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(D,e(F))},t.promisify.custom=O;function L(C,F){if(!C){var D=new Error("Promise was rejected with a falsy value");D.reason=C,C=D}return F(C)}function X(C){if(typeof C!="function")throw new TypeError('The "original" argument must be of type Function');function F(){for(var D=[],ne=0;ne<arguments.length;ne++)D.push(arguments[ne]);var oe=D.pop();if(typeof oe!="function")throw new TypeError("The last argument must be of type Function");var le=this,ue=function(){return oe.apply(le,arguments)};C.apply(this,D).then(function(ie){process.nextTick(ue.bind(null,null,ie))},function(ie){process.nextTick(L.bind(null,ie,ue))})}return Object.setPrototypeOf(F,Object.getPrototypeOf(C)),Object.defineProperties(F,e(C)),F}t.callbackify=X}(_f)),_f}Object.defineProperty(Ou,"__esModule",{value:!0});Ou.decode=nI;Ou.encode=sI;const Jw=ri;function nI(t){return(Jw.isBrowser?new TextDecoder("utf-8"):new(Yw()).TextDecoder("utf-8")).decode(t)}function sI(t){return(Jw.isBrowser?new TextEncoder:new(Yw()).TextEncoder("utf-8")).encode(t)}var Ru={},Nd={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(t,e){var r=ai,n=r.Buffer;function s(o,a){for(var c in o)a[c]=o[c]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=r:(s(r,e),e.Buffer=i);function i(o,a,c){return n(o,a,c)}i.prototype=Object.create(n.prototype),s(n,i),i.from=function(o,a,c){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,c)},i.alloc=function(o,a,c){if(typeof o!="number")throw new TypeError("Argument must be a number");var u=n(o);return a!==void 0?typeof c=="string"?u.fill(a,c):u.fill(a):u.fill(0),u},i.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},i.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(o)}})(Nd,Nd.exports);var iI=Nd.exports,uc=iI.Buffer;function oI(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r<e.length;r++)e[r]=255;for(var n=0;n<t.length;n++){var s=t.charAt(n),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=n}var o=t.length,a=t.charAt(0),c=Math.log(o)/Math.log(256),u=Math.log(256)/Math.log(o);function f(d){if((Array.isArray(d)||d instanceof Uint8Array)&&(d=uc.from(d)),!uc.isBuffer(d))throw new TypeError("Expected Buffer");if(d.length===0)return"";for(var m=0,g=0,A=0,S=d.length;A!==S&&d[A]===0;)A++,m++;for(var _=(S-A)*u+1>>>0,E=new Uint8Array(_);A!==S;){for(var w=d[A],k=0,T=_-1;(w!==0||k<g)&&T!==-1;T--,k++)w+=256*E[T]>>>0,E[T]=w%o>>>0,w=w/o>>>0;if(w!==0)throw new Error("Non-zero carry");g=k,A++}for(var P=_-g;P!==_&&E[P]===0;)P++;for(var N=a.repeat(m);P<_;++P)N+=t.charAt(E[P]);return N}function l(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return uc.alloc(0);for(var m=0,g=0,A=0;d[m]===a;)g++,m++;for(var S=(d.length-m)*c+1>>>0,_=new Uint8Array(S);m<d.length;){var E=d.charCodeAt(m);if(E>255)return;var w=e[E];if(w===255)return;for(var k=0,T=S-1;(w!==0||k<A)&&T!==-1;T--,k++)w+=o*_[T]>>>0,_[T]=w%256>>>0,w=w/256>>>0;if(w!==0)throw new Error("Non-zero carry");A=k,m++}for(var P=S-A;P!==S&&_[P]===0;)P++;var N=uc.allocUnsafe(g+(S-P));N.fill(0,0,g);for(var B=g;P!==S;)N[B++]=_[P++];return N}function p(d){var m=l(d);if(m)return m;throw new Error("Non-base"+o+" character")}return{encode:f,decodeUnsafe:l,decode:p}}var aI=oI,cI=aI,uI="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",fI=cI(uI),lI=on&&on.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ru,"__esModule",{value:!0});Ru.encode=dI;Ru.decode=hI;const Xw=lI(fI);function dI(t){return Xw.default.encode(t)}function hI(t){return Xw.default.decode(t)}var Nu={};Object.defineProperty(Nu,"__esModule",{value:!0});Nu.encode=yI;Nu.decode=mI;const pI=ai;function yI(t){return t.toString("base64")}function mI(t){return pI.Buffer.from(t,"base64")}var bI=on&&on.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),gI=on&&on.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Uu=on&&on.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&bI(e,t,r);return gI(e,t),e};Object.defineProperty(Tn,"__esModule",{value:!0});Tn.base64=Tn.bs58=Tn.utf8=Zw=Tn.hex=void 0;var Zw=Tn.hex=Uu(Pu);Tn.utf8=Uu(Ou);Tn.bs58=Uu(Ru);Tn.base64=Uu(Nu);class cs{constructor(e,r,n,s,i){try{this.swapId=Array.from(Buffer.from(e,"hex")),this.secretHash=Array.from(Buffer.from(n,"hex"))}catch(o){throw new Error("Error decoding swapId or secretHash",{cause:o})}if(this.secretHash.length!=32||this.swapId.length!=32)throw new Error("swapId or secretHash must be exactly 32 bits in size");try{this.redeemer=new Ar.web3.PublicKey(r)}catch(o){throw new Error("Error decoding redeemer. Ensure it is a valid base58 encoded",{cause:o})}try{this.amount=new Ll.BigNumber(s.toString(10),10),this.expiresIn=new Ll.BigNumber(i)}catch(o){throw new Error("Error decoding amount. Invalid value for amount",{cause:o})}if(!(Number.isInteger(i)&&i>0))throw new Error("expiresIn must be a positive integer.")}static from(e){let r;if(e.source_swap.chain.includes("solana"))r=e.source_swap;else if(e.destination_swap.chain.includes("solana"))r=e.destination_swap;else throw new Error("Expected source_swap or destination_swap to be one of 'solana', 'solana_localnet', 'solana_devnet'");const{swap_id:n,redeemer:s,secret_hash:i,timelock:o}=r,a=BigInt(r.amount);return new cs(n,s,i,a,o)}}function Qw(t){let e;try{e=[...Zw.decode(t)]}catch(r){throw new Error("Error decoding secret. Ensure it is a hex string",{cause:r})}if(e.length!=32)throw new Error("Invalid Secret size. Expected 32 bytes, got "+e.length);return e}class e2{constructor(e,r,n,s,i){var l,p;if(this.provider=e,this.url=r,!e)throw new Error("Provider is required");if(!r)throw new Error("Endpoint URL is required");if(n==null)throw new Error("Network is required");const o=n===b.Network.MAINNET?Sd.mainnet:Sd.staging,a={native:((l=i==null?void 0:i.programAddress)==null?void 0:l.native)??o.native,spl:((p=i==null?void 0:i.programAddress)==null?void 0:p.spl)??o.spl},c=(i==null?void 0:i.relayer)??A1[n];this.auth=s;try{this.relayer=new Ar.web3.PublicKey(c)}catch(d){throw new Error("Error decoding relayer public key. Ensure it is base58 encoded.",{cause:d})}this.relayerClient=new so(this.auth,this.url);const u=a.spl?{...sy,metadata:{...sy.metadata??{}},address:a.spl}:void 0,f=a.native?{...Rd,metadata:{...Rd.metadata??{}},address:a.native}:void 0;try{this.splProgram=u?new Ar.Program(u,this.provider):void 0,this.nativeProgram=f?new Ar.Program(f,this.provider):void 0}catch(d){throw new Error("Error creating Program instances. Ensure the IDLs and provider are correct.",{cause:d})}}get htlcActorAddress(){if(!this.provider.publicKey)throw new Error("No provider public key found");return this.provider.publicKey.toBase58()}async initiate(e){if(!e)return b.Err("Order is required");if(Y.isSolanaOrderResponse(e))return this.initiateWithCreateOrderResponse(e);try{const r=Y.ChainAsset.fromString(e.source_swap.asset);return Y.isSolanaNativeToken(r.chain,r.symbol)?this.nativeProgram?await this.initiateNativeSwap(e):b.Err("Native program is not initialized"):this.splProgram?await this.initiateSplSwap(e):b.Err("SPL program is not initialized")}catch(r){return b.Err(`Error initiating swap: ${r instanceof Error?r.message:String(r)}`)}}async sendSplViaRelayer(e,r){try{e.recentBlockhash=(await this.provider.connection.getLatestBlockhash()).blockhash,e.feePayer=this.relayer;const s=(await this.provider.wallet.signTransaction(e)).serialize({requireAllSignatures:!1}).toString("base64"),i=await b.Fetcher.post(this.url.endpoint("/initiate"),{body:JSON.stringify({order_id:r,serialized_tx:s}),headers:{"Content-Type":"application/json"}});return i.error||!i.result?b.Err(`Error from Relayer: ${i.error}`):await Xa(this.provider.connection,i.result)?b.Ok(i.result):b.Err("Relayer: Failed to Initiate swap, confirmation timed out")}catch(n){return b.Err(`Failed to send SPL transaction: ${n instanceof Error?n.message:String(n)}`)}}async initiateViaHTLC(e,r){if(!r)return b.Err("Order is required");try{const n=await this.provider.sendAndConfirm(e);return n?await Xa(this.provider.connection,n)?b.Ok(n):b.Err("HTLC: Failed to Initiate swap, confirmation timed out"):b.Err("Failed to initiate HTLC transaction")}catch(n){return b.Err(`Error initiating swap: ${n instanceof Error?n.message:String(n)}`)}}async initiateSplSwap(e){if(!this.splProgram)return b.Err("SPL program is not initialized");try{const{redeemer:r,secretHash:n,amount:s,expiresIn:i}=cs.from(e),o=this.splProgram.methods.initiate(i,r,n,s,null),a=await yu(e.source_swap.asset,this.url);if(!a.ok)return b.Err(a.error);const{tokenAddress:c}=a.val,u=new Ar.web3.PublicKey(c),f={initiator:this.provider.publicKey,mint:u,initiatorTokenAccount:O6.getAssociatedTokenAddressSync(u,this.provider.publicKey),sponsor:this.relayer},l=await o.accounts(f).transaction();return this.sendSplViaRelayer(l,e.order_id)}catch(r){return b.Err(`Error initiating SPL swap: ${r instanceof Error?r.message:String(r)}`)}}async initiateNativeSwap(e){if(!this.nativeProgram)return b.Err("Native program is not initialized");try{const{redeemer:r,secretHash:n,amount:s,expiresIn:i}=cs.from(e),o=await this.nativeProgram.methods.initiate(s,i,r,n).accounts({initiator:this.provider.publicKey}).transaction();return this.initiateViaHTLC(o,e)}catch(r){return b.Err(`Error initiating native swap: ${r instanceof Error?r.message:String(r)}`)}}async initiateWithCreateOrderResponse(e){if(!this.relayer)return b.Err("No relayer address");const{versioned_tx:r,versioned_tx_gasless:n}=e;if(n===null)try{const i=Buffer.from(r,"base64"),o=Ar.web3.VersionedTransaction.deserialize(i),a=await this.provider.sendAndConfirm(o);return await Xa(this.provider.connection,a)?b.Ok(a):b.Err("Failed to initiate HTLC transaction")}catch(i){return b.Err(`Error in non-gasless flow: ${i}`)}const s=await this.auth.getAuthHeaders();if(!s.ok)return b.Err(s.error);try{const i=Ar.web3.VersionedTransaction.deserialize(Buffer.from(n,"base64")),o=await this.provider.wallet.signTransaction(i);if(!o.signatures[0])return b.Err("No signature found after signing transaction");const c=Buffer.from(o.serialize()).toString("base64"),u=await this.relayerClient.initiate(e.order_id,c);return u.error?b.Err(u.error):u.val?b.Ok(u.val):b.Err("Initiate: No result found")}catch(i){return b.Err(`Error initiating with create order response: ${i}`)}}async redeem(e,r){try{const n=Qw(r),s=await this.relayerClient.redeem(e.order_id,Buffer.from(n).toString("hex"));if(s.error||!s.val)return b.Err(`Redeem: Error from relayer: ${s.error}`);const i=s.val;return await Xa(this.provider.connection,i)?b.Ok(i):b.Err("Redeem: Timed out waiting for confirmation")}catch(n){return console.error("Redeem: Caught exception:",n),b.Err(`Error redeeming: ${n}`)}}async refund(){return b.Err("Refund is automatically handled by the relayer.")}}const t2="1.45.2",wI="1.62.0",vI={"-32700":"ParseError","-32701":"OversizedRequest","-32702":"OversizedResponse","-32600":"InvalidRequest","-32601":"MethodNotFound","-32602":"InvalidParams","-32603":"InternalError","-32604":"ServerBusy","-32000":"CallExecutionFailed","-32001":"UnknownError","-32003":"SubscriptionClosed","-32004":"SubscriptionClosedWithError","-32005":"BatchesNotSupported","-32006":"TooManySubscriptions","-32050":"TransientError","-32002":"TransactionExecutionClientError"};class r2 extends Error{}class n2 extends r2{constructor(e,r){super(e),this.code=r,this.type=vI[r]??"ServerError"}}class EI extends r2{constructor(e,r,n){super(e),this.status=r,this.statusText=n}}var s2=t=>{throw TypeError(t)},h0=(t,e,r)=>e.has(t)||s2("Cannot "+r),je=(t,e,r)=>(h0(t,e,"read from private field"),r?r.call(t):e.get(t)),Is=(t,e,r)=>e.has(t)?s2("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Fi=(t,e,r,n)=>(h0(t,e,"write to private field"),e.set(t,r),r),i2=(t,e,r)=>(h0(t,e,"access private method"),r),AI=(t,e,r,n)=>({set _(s){Fi(t,e,s)},get _(){return je(t,e,n)}}),es,Bo,An,Ns,fa,Us,Mc,o2,a2;function SI(t){const e=new URL(t);return e.protocol=e.protocol.replace("http","ws"),e.toString()}const xI={WebSocketConstructor:typeof WebSocket<"u"?WebSocket:void 0,callTimeout:3e4,reconnectTimeout:3e3,maxReconnects:5};class kI{constructor(e,r={}){if(Is(this,Mc),Is(this,es,0),Is(this,Bo,0),Is(this,An,null),Is(this,Ns,null),Is(this,fa,new Set),Is(this,Us,new Map),this.endpoint=e,this.options={...xI,...r},!this.options.WebSocketConstructor)throw new Error("Missing WebSocket constructor");this.endpoint.startsWith("http")&&(this.endpoint=SI(this.endpoint))}async makeRequest(e,r,n){const s=await i2(this,Mc,o2).call(this);return new Promise((i,o)=>{Fi(this,es,je(this,es)+1),je(this,Us).set(je(this,es),{resolve:i,reject:o,timeout:setTimeout(()=>{je(this,Us).delete(je(this,es)),o(new Error(`Request timeout: ${e}`))},this.options.callTimeout)}),n==null||n.addEventListener("abort",()=>{je(this,Us).delete(je(this,es)),o(n.reason)}),s.send(JSON.stringify({jsonrpc:"2.0",id:je(this,es),method:e,params:r}))}).then(({error:i,result:o})=>{if(i)throw new n2(i.message,i.code);return o})}async subscribe(e){const r=new TI(e);return je(this,fa).add(r),await r.subscribe(this),()=>r.unsubscribe(this)}}es=new WeakMap;Bo=new WeakMap;An=new WeakMap;Ns=new WeakMap;fa=new WeakMap;Us=new WeakMap;Mc=new WeakSet;o2=function(){return je(this,Ns)?je(this,Ns):(Fi(this,Ns,new Promise(t=>{var e;(e=je(this,An))==null||e.close(),Fi(this,An,new this.options.WebSocketConstructor(this.endpoint)),je(this,An).addEventListener("open",()=>{Fi(this,Bo,0),t(je(this,An))}),je(this,An).addEventListener("close",()=>{AI(this,Bo)._++,je(this,Bo)<=this.options.maxReconnects&&setTimeout(()=>{i2(this,Mc,a2).call(this)},this.options.reconnectTimeout)}),je(this,An).addEventListener("message",({data:r})=>{let n;try{n=JSON.parse(r)}catch(s){console.error(new Error(`Failed to parse RPC message: ${r}`,{cause:s}));return}if("id"in n&&n.id!=null&&je(this,Us).has(n.id)){const{resolve:s,timeout:i}=je(this,Us).get(n.id);clearTimeout(i),s(n)}else if("params"in n){const{params:s}=n;je(this,fa).forEach(i=>{i.subscriptionId===s.subscription&&s.subscription===i.subscriptionId&&i.onMessage(s.result)})}})})),je(this,Ns))};a2=async function(){var t;return(t=je(this,An))==null||t.close(),Fi(this,Ns,null),Promise.allSettled([...je(this,fa)].map(e=>e.subscribe(this)))};class TI{constructor(e){this.subscriptionId=null,this.subscribed=!1,this.input=e}onMessage(e){this.subscribed&&this.input.onMessage(e)}async unsubscribe(e){const{subscriptionId:r}=this;return this.subscribed=!1,r==null?!1:(this.subscriptionId=null,e.makeRequest(this.input.unsubscribe,[r]))}async subscribe(e){this.subscriptionId=null,this.subscribed=!0;const r=await e.makeRequest(this.input.method,this.input.params,this.input.signal);this.subscribed&&(this.subscriptionId=r)}}var c2=t=>{throw TypeError(t)},p0=(t,e,r)=>e.has(t)||c2("Cannot "+r),yr=(t,e,r)=>(p0(t,e,"read from private field"),r?r.call(t):e.get(t)),fc=(t,e,r)=>e.has(t)?c2("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Ud=(t,e,r,n)=>(p0(t,e,"write to private field"),e.set(t,r),r),_I=(t,e,r)=>(p0(t,e,"access private method"),r),ko,Sr,Co,Fd,u2;class II{constructor(e){fc(this,Fd),fc(this,ko,0),fc(this,Sr),fc(this,Co),Ud(this,Sr,e)}fetch(e,r){const n=yr(this,Sr).fetch??fetch;if(!n)throw new Error("The current environment does not support fetch, you can provide a fetch implementation in the options for SuiHTTPTransport.");return n(e,r)}async request(e){var s,i;Ud(this,ko,yr(this,ko)+1);const r=await this.fetch(((s=yr(this,Sr).rpc)==null?void 0:s.url)??yr(this,Sr).url,{method:"POST",signal:e.signal,headers:{"Content-Type":"application/json","Client-Sdk-Type":"typescript","Client-Sdk-Version":t2,"Client-Target-Api-Version":wI,"Client-Request-Method":e.method,...(i=yr(this,Sr).rpc)==null?void 0:i.headers},body:JSON.stringify({jsonrpc:"2.0",id:yr(this,ko),method:e.method,params:e.params})});if(!r.ok)throw new EI(`Unexpected status code: ${r.status}`,r.status,r.statusText);const n=await r.json();if("error"in n&&n.error!=null)throw new n2(n.error.message,n.error.code);return n.result}async subscribe(e){const r=await _I(this,Fd,u2).call(this).subscribe(e);return e.signal&&(e.signal.throwIfAborted(),e.signal.addEventListener("abort",()=>{r()})),async()=>!!await r()}}ko=new WeakMap;Sr=new WeakMap;Co=new WeakMap;Fd=new WeakSet;u2=function(){var t;if(!yr(this,Co)){const e=yr(this,Sr).WebSocketConstructor??WebSocket;if(!e)throw new Error("The current environment does not support WebSocket, you can provide a WebSocketConstructor in the options for SuiHTTPTransport.");Ud(this,Co,new kI(((t=yr(this,Sr).websocket)==null?void 0:t.url)??yr(this,Sr).url,{WebSocketConstructor:e,...yr(this,Sr).websocket}))}return yr(this,Co)};function cm(t){switch(t){case"mainnet":return"https://fullnode.mainnet.sui.io:443";case"testnet":return"https://fullnode.testnet.sui.io:443";case"devnet":return"https://fullnode.devnet.sui.io:443";case"localnet":return"http://127.0.0.1:9000";default:throw new Error(`Unknown network: ${t}`)}}/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function PI(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function f2(t,e){return Array.isArray(e)?e.length===0?!0:t?e.every(r=>typeof r=="string"):e.every(r=>Number.isSafeInteger(r)):!1}function Md(t,e){if(typeof e!="string")throw new Error(`${t}: string expected`);return!0}function l2(t){if(!Number.isSafeInteger(t))throw new Error(`invalid integer: ${t}`)}function $d(t){if(!Array.isArray(t))throw new Error("array expected")}function d2(t,e){if(!f2(!0,e))throw new Error(`${t}: array of strings expected`)}function OI(t,e){if(!f2(!1,e))throw new Error(`${t}: array of numbers expected`)}function BI(...t){const e=i=>i,r=(i,o)=>a=>i(o(a)),n=t.map(i=>i.encode).reduceRight(r,e),s=t.map(i=>i.decode).reduce(r,e);return{encode:n,decode:s}}function CI(t){const e=typeof t=="string"?t.split(""):t,r=e.length;d2("alphabet",e);const n=new Map(e.map((s,i)=>[s,i]));return{encode:s=>($d(s),s.map(i=>{if(!Number.isSafeInteger(i)||i<0||i>=r)throw new Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${t}`);return e[i]})),decode:s=>($d(s),s.map(i=>{Md("alphabet.decode",i);const o=n.get(i);if(o===void 0)throw new Error(`Unknown letter: "${i}". Allowed: ${t}`);return o}))}}function RI(t=""){return Md("join",t),{encode:e=>(d2("join.decode",e),e.join(t)),decode:e=>(Md("join.decode",e),e.split(t))}}function um(t,e,r){if(e<2)throw new Error(`convertRadix: invalid from=${e}, base cannot be less than 2`);if(r<2)throw new Error(`convertRadix: invalid to=${r}, base cannot be less than 2`);if($d(t),!t.length)return[];let n=0;const s=[],i=Array.from(t,a=>{if(l2(a),a<0||a>=e)throw new Error(`invalid integer: ${a}`);return a}),o=i.length;for(;;){let a=0,c=!0;for(let u=n;u<o;u++){const f=i[u],l=e*a,p=l+f;if(!Number.isSafeInteger(p)||l/e!==a||p-f!==l)throw new Error("convertRadix: carry overflow");const d=p/r;a=p%r;const m=Math.floor(d);if(i[u]=m,!Number.isSafeInteger(m)||m*r+a!==p)throw new Error("convertRadix: carry overflow");if(c)m?c=!1:n=u;else continue}if(s.push(a),c)break}for(let a=0;a<t.length-1&&t[a]===0;a++)s.push(0);return s.reverse()}function NI(t){l2(t);const e=2**8;return{encode:r=>{if(!PI(r))throw new Error("radix.encode input should be Uint8Array");return um(Array.from(r),e,t)},decode:r=>(OI("radix.decode",r),Uint8Array.from(um(r,t,e)))}}const UI=t=>BI(NI(58),CI(t),RI("")),h2=UI("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),Fu=t=>h2.encode(t),la=t=>h2.decode(t);function tr(t){return Uint8Array.from(atob(t),e=>e.charCodeAt(0))}const Il=8192;function St(t){if(t.length<Il)return btoa(String.fromCharCode(...t));let e="";for(var r=0;r<t.length;r+=Il){const n=t.slice(r,r+Il);e+=String.fromCharCode(...n)}return btoa(e)}function p2(t){var s;const e=t.startsWith("0x")?t.slice(2):t,r=e.length%2===0?e:`0${e}`,n=((s=r.match(/[0-9a-fA-F]{2}/g))==null?void 0:s.map(i=>parseInt(i,16)))??[];if(n.length!==r.length/2)throw new Error(`Invalid hex string ${t}`);return Uint8Array.from(n)}function Yi(t){return t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),"")}function Mu(t,e){return Array.from({length:Math.ceil(t.length/e)},(r,n)=>t.slice(n*e,(n+1)*e))}class y2{constructor(e,r){if(typeof e!="function")throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: ${e}.`);this._batchLoadFn=e,this._maxBatchSize=jI(r),this._batchScheduleFn=HI(r),this._cacheKeyFn=LI(r),this._cacheMap=DI(r),this._batch=null,this.name=zI(r)}load(e){if(e==null)throw new TypeError(`The loader.load() function must be called with a value, but got: ${String(e)}.`);const r=MI(this),n=this._cacheMap;let s;if(n){s=this._cacheKeyFn(e);const o=n.get(s);if(o){const a=r.cacheHits||(r.cacheHits=[]);return new Promise(c=>{a.push(()=>{c(o)})})}}r.keys.push(e);const i=new Promise((o,a)=>{r.callbacks.push({resolve:o,reject:a})});return n&&n.set(s,i),i}loadMany(e){if(!m2(e))throw new TypeError(`The loader.loadMany() function must be called with Array<key>, but got: ${e}.`);const r=[];for(let n=0;n<e.length;n++)r.push(this.load(e[n]).catch(s=>s));return Promise.all(r)}clear(e){const r=this._cacheMap;if(r){const n=this._cacheKeyFn(e);r.delete(n)}return this}clearAll(){const e=this._cacheMap;return e&&e.clear(),this}prime(e,r){const n=this._cacheMap;if(n){const s=this._cacheKeyFn(e);if(n.get(s)===void 0){let i;r instanceof Error?(i=Promise.reject(r),i.catch(()=>{})):i=Promise.resolve(r),n.set(s,i)}}return this}}const FI=typeof process=="object"&&typeof process.nextTick=="function"?function(t){Pl||(Pl=Promise.resolve()),Pl.then(()=>{process.nextTick(t)})}:typeof setImmediate=="function"?function(t){setImmediate(t)}:function(t){setTimeout(t)};let Pl;function MI(t){const e=t._batch;if(e!==null&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;const r={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=r,t._batchScheduleFn(()=>{$I(t,r)}),r}function $I(t,e){if(e.hasDispatched=!0,e.keys.length===0){jd(e);return}let r;try{r=t._batchLoadFn(e.keys)}catch(n){return Ol(t,e,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: ${String(n)}.`))}if(!r||typeof r.then!="function")return Ol(t,e,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: ${String(r)}.`));Promise.resolve(r).then(n=>{if(!m2(n))throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: ${String(n)}.`);if(n.length!==e.keys.length)throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.
|
|
81
|
+
|
|
82
|
+
Keys:
|
|
83
|
+
${String(e.keys)}
|
|
84
|
+
|
|
85
|
+
Values:
|
|
86
|
+
${String(n)}`);jd(e);for(let s=0;s<e.callbacks.length;s++){const i=n[s];i instanceof Error?e.callbacks[s].reject(i):e.callbacks[s].resolve(i)}}).catch(n=>{Ol(t,e,n)})}function Ol(t,e,r){jd(e);for(let n=0;n<e.keys.length;n++)t.clear(e.keys[n]),e.callbacks[n].reject(r)}function jd(t){if(t.cacheHits)for(let e=0;e<t.cacheHits.length;e++)t.cacheHits[e]()}function jI(t){if(!(!t||t.batch!==!1))return 1;const r=t&&t.maxBatchSize;if(r===void 0)return 1/0;if(typeof r!="number"||r<1)throw new TypeError(`maxBatchSize must be a positive number: ${r}`);return r}function HI(t){const e=t&&t.batchScheduleFn;if(e===void 0)return FI;if(typeof e!="function")throw new TypeError(`batchScheduleFn must be a function: ${e}`);return e}function LI(t){const e=t&&t.cacheKeyFn;if(e===void 0)return r=>r;if(typeof e!="function")throw new TypeError(`cacheKeyFn must be a function: ${e}`);return e}function DI(t){if(!(!t||t.cache!==!1))return null;const r=t&&t.cacheMap;if(r===void 0)return new Map;if(r!==null){const s=["get","set","delete","clear"].filter(i=>r&&typeof r[i]!="function");if(s.length!==0)throw new TypeError("Custom cacheMap missing methods: "+s.join(", "))}return r}function zI(t){return t&&t.name?t.name:null}function m2(t){return typeof t=="object"&&t!==null&&"length"in t&&typeof t.length=="number"&&(t.length===0||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1))}function $c(t){let e=BigInt(t);const r=[];let n=0;if(e===0n)return[0];for(;e>0;)r[n]=Number(e&0x7fn),e>>=7n,e>0n&&(r[n]|=128),n+=1;return r}function VI(t){let e=0n,r=0n,n=0;for(;;){if(n>=t.length)throw new Error("ULEB decode error: buffer overflow");const s=t[n];if(n+=1,e+=BigInt(s&127)<<r,!(s&128))break;r+=7n}if(e>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("ULEB decode error: value exceeds MAX_SAFE_INTEGER");return{value:Number(e),length:n}}class GI{constructor(e){this.bytePosition=0,this.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength)}shift(e){return this.bytePosition+=e,this}read8(){const e=this.dataView.getUint8(this.bytePosition);return this.shift(1),e}read16(){const e=this.dataView.getUint16(this.bytePosition,!0);return this.shift(2),e}read32(){const e=this.dataView.getUint32(this.bytePosition,!0);return this.shift(4),e}read64(){const e=this.read32(),n=this.read32().toString(16)+e.toString(16).padStart(8,"0");return BigInt("0x"+n).toString(10)}read128(){const e=BigInt(this.read64()),n=BigInt(this.read64()).toString(16)+e.toString(16).padStart(16,"0");return BigInt("0x"+n).toString(10)}read256(){const e=BigInt(this.read128()),n=BigInt(this.read128()).toString(16)+e.toString(16).padStart(32,"0");return BigInt("0x"+n).toString(10)}readBytes(e){const r=this.bytePosition+this.dataView.byteOffset,n=new Uint8Array(this.dataView.buffer,r,e);return this.shift(e),n}readULEB(){const e=this.bytePosition+this.dataView.byteOffset,r=new Uint8Array(this.dataView.buffer,e),{value:n,length:s}=VI(r);return this.shift(s),n}readVec(e){const r=this.readULEB(),n=[];for(let s=0;s<r;s++)n.push(e(this,s,r));return n}}function qI(t,e){switch(e){case"base58":return Fu(t);case"base64":return St(t);case"hex":return Yi(t);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function b2(t,e=["<",">"]){const[r,n]=e,s=[];let i="",o=0;for(let a=0;a<t.length;a++){const c=t[a];if(c===r&&o++,c===n&&o--,o===0&&c===","){s.push(i.trim()),i="";continue}i+=c}return s.push(i.trim()),s}class WI{constructor({initialSize:e=1024,maxSize:r=1/0,allocateSize:n=1024}={}){this.bytePosition=0,this.size=e,this.maxSize=r,this.allocateSize=n,this.dataView=new DataView(new ArrayBuffer(e))}ensureSizeOrGrow(e){const r=this.bytePosition+e;if(r>this.size){const n=Math.min(this.maxSize,Math.max(this.size+r,this.size+this.allocateSize));if(r>n)throw new Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${r}`);this.size=n;const s=new ArrayBuffer(this.size);new Uint8Array(s).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(s)}}shift(e){return this.bytePosition+=e,this}write8(e){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(e)),this.shift(1)}writeBytes(e){this.ensureSizeOrGrow(e.length);for(let r=0;r<e.length;r++)this.dataView.setUint8(this.bytePosition+r,e[r]);return this.shift(e.length)}write16(e){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(e),!0),this.shift(2)}write32(e){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(e),!0),this.shift(4)}write64(e){return Bl(BigInt(e),8).forEach(r=>this.write8(r)),this}write128(e){return Bl(BigInt(e),16).forEach(r=>this.write8(r)),this}write256(e){return Bl(BigInt(e),32).forEach(r=>this.write8(r)),this}writeULEB(e){return $c(e).forEach(r=>this.write8(r)),this}writeVec(e,r){return this.writeULEB(e.length),Array.from(e).forEach((n,s)=>r(this,n,s,e.length)),this}*[Symbol.iterator](){for(let e=0;e<this.bytePosition;e++)yield this.dataView.getUint8(e);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(e){return qI(this.toBytes(),e)}}function Bl(t,e){const r=new Uint8Array(e);let n=0;for(;t>0;)r[n]=Number(t%BigInt(256)),t=t/BigInt(256),n+=1;return r}var g2=t=>{throw TypeError(t)},w2=(t,e,r)=>e.has(t)||g2("Cannot "+r),xr=(t,e,r)=>(w2(t,e,"read from private field"),r?r.call(t):e.get(t)),jc=(t,e,r)=>e.has(t)?g2("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Hc=(t,e,r,n)=>(w2(t,e,"write to private field"),e.set(t,r),r),Ai,To,Ec,ts;const KI=class v2{constructor(e){jc(this,Ai),jc(this,To),this.name=e.name,this.read=e.read,this.serializedSize=e.serializedSize??(()=>null),Hc(this,Ai,e.write),Hc(this,To,e.serialize??((r,n)=>{const s=new WI({initialSize:this.serializedSize(r)??void 0,...n});return xr(this,Ai).call(this,r,s),s.toBytes()})),this.validate=e.validate??(()=>{})}write(e,r){this.validate(e),xr(this,Ai).call(this,e,r)}serialize(e,r){return this.validate(e),new YI(this,xr(this,To).call(this,e,r))}parse(e){const r=new GI(e);return this.read(r)}fromHex(e){return this.parse(p2(e))}fromBase58(e){return this.parse(la(e))}fromBase64(e){return this.parse(tr(e))}transform({name:e,input:r,output:n,validate:s}){return new v2({name:e??this.name,read:i=>n?n(this.read(i)):this.read(i),write:(i,o)=>xr(this,Ai).call(this,r?r(i):i,o),serializedSize:i=>this.serializedSize(r?r(i):i),serialize:(i,o)=>xr(this,To).call(this,r?r(i):i,o),validate:i=>{s==null||s(i),this.validate(r?r(i):i)}})}};Ai=new WeakMap;To=new WeakMap;let an=KI;const E2=Symbol.for("@mysten/serialized-bcs");function y0(t){return!!t&&typeof t=="object"&&t[E2]===!0}class YI{constructor(e,r){jc(this,Ec),jc(this,ts),Hc(this,Ec,e),Hc(this,ts,r)}get[E2](){return!0}toBytes(){return xr(this,ts)}toHex(){return Yi(xr(this,ts))}toBase64(){return St(xr(this,ts))}toBase58(){return Fu(xr(this,ts))}parse(){return xr(this,Ec).parse(xr(this,ts))}}Ec=new WeakMap;ts=new WeakMap;function Lc({size:t,...e}){return new an({...e,serializedSize:()=>t})}function Cl({readMethod:t,writeMethod:e,...r}){return Lc({...r,read:n=>n[t](),write:(n,s)=>s[e](n),validate:n=>{var s;if(n<0||n>r.maxValue)throw new TypeError(`Invalid ${r.name} value: ${n}. Expected value in range 0-${r.maxValue}`);(s=r.validate)==null||s.call(r,n)}})}function Rl({readMethod:t,writeMethod:e,...r}){return Lc({...r,read:n=>n[t](),write:(n,s)=>s[e](BigInt(n)),validate:n=>{var i;const s=BigInt(n);if(s<0||s>r.maxValue)throw new TypeError(`Invalid ${r.name} value: ${s}. Expected value in range 0-${r.maxValue}`);(i=r.validate)==null||i.call(r,s)}})}function JI({serialize:t,...e}){const r=new an({...e,serialize:t,write:(n,s)=>{for(const i of r.serialize(n).toBytes())s.write8(i)}});return r}function XI({toBytes:t,fromBytes:e,...r}){return new an({...r,read:n=>{const s=n.readULEB(),i=n.readBytes(s);return e(i)},write:(n,s)=>{const i=t(n);s.writeULEB(i.length);for(let o=0;o<i.length;o++)s.write8(i[o])},serialize:n=>{const s=t(n),i=$c(s.length),o=new Uint8Array(i.length+s.length);return o.set(i,0),o.set(s,i.length),o},validate:n=>{var s;if(typeof n!="string")throw new TypeError(`Invalid ${r.name} value: ${n}. Expected string`);(s=r.validate)==null||s.call(r,n)}})}function ZI(t){let e=null;function r(){return e||(e=t()),e}return new an({name:"lazy",read:n=>r().read(n),serializedSize:n=>r().serializedSize(n),write:(n,s)=>r().write(n,s),serialize:(n,s)=>r().serialize(n,s).toBytes()})}class QI extends an{constructor({name:e,fields:r,...n}){const s=Object.entries(r);super({name:e,serializedSize:i=>{let o=0;for(const[a,c]of s){const u=c.serializedSize(i[a]);if(u==null)return null;o+=u}return o},read:i=>{const o={};for(const[a,c]of s)o[a]=c.read(i);return o},write:(i,o)=>{for(const[a,c]of s)c.write(i[a],o)},...n,validate:i=>{var o;if((o=n==null?void 0:n.validate)==null||o.call(n,i),typeof i!="object"||i==null)throw new TypeError(`Expected object, found ${typeof i}`)}})}}class eP extends an{constructor({fields:e,...r}){const n=Object.entries(e);super({read:s=>{const i=s.readULEB(),o=n[i];if(!o)throw new TypeError(`Unknown value ${i} for enum ${r.name}`);const[a,c]=o;return{[a]:(c==null?void 0:c.read(s))??!0,$kind:a}},write:(s,i)=>{const[o,a]=Object.entries(s).filter(([c])=>Object.hasOwn(e,c))[0];for(let c=0;c<n.length;c++){const[u,f]=n[c];if(u===o){i.writeULEB(c),f==null||f.write(a,i);return}}},...r,validate:s=>{var a;if((a=r==null?void 0:r.validate)==null||a.call(r,s),typeof s!="object"||s==null)throw new TypeError(`Expected object, found ${typeof s}`);const i=Object.keys(s).filter(c=>s[c]!==void 0&&Object.hasOwn(e,c));if(i.length!==1)throw new TypeError(`Expected object with one key, but found ${i.length} for type ${r.name}}`);const[o]=i;if(!Object.hasOwn(e,o))throw new TypeError(`Invalid enum variant ${o}`)}})}}class tP extends an{constructor({fields:e,name:r,...n}){super({name:r??`(${e.map(s=>s.name).join(", ")})`,serializedSize:s=>{let i=0;for(let o=0;o<e.length;o++){const a=e[o].serializedSize(s[o]);if(a==null)return null;i+=a}return i},read:s=>{const i=[];for(const o of e)i.push(o.read(s));return i},write:(s,i)=>{for(let o=0;o<e.length;o++)e[o].write(s[o],i)},...n,validate:s=>{var i;if((i=n==null?void 0:n.validate)==null||i.call(n,s),!Array.isArray(s))throw new TypeError(`Expected array, found ${typeof s}`);if(s.length!==e.length)throw new TypeError(`Expected array of length ${e.length}, found ${s.length}`)}})}}function rP(t,e,r){return new an({read:n=>{const s=new Array(t);for(let i=0;i<t;i++)s[i]=e.read(n);return s},write:(n,s)=>{for(const i of n)e.write(i,s)},...r,name:(r==null?void 0:r.name)??`${e.name}[${t}]`,validate:n=>{var s;if((s=r==null?void 0:r.validate)==null||s.call(r,n),!n||typeof n!="object"||!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`);if(n.length!==t)throw new TypeError(`Expected array of length ${t}, found ${n.length}`)}})}function nP(t){return I.enum(`Option<${t.name}>`,{None:null,Some:t}).transform({input:e=>e==null?{None:!0}:{Some:e},output:e=>e.$kind==="Some"?e.Some:null})}function sP(t,e){return new an({read:r=>{const n=r.readULEB(),s=new Array(n);for(let i=0;i<n;i++)s[i]=t.read(r);return s},write:(r,n)=>{n.writeULEB(r.length);for(const s of r)t.write(s,n)},...e,name:(e==null?void 0:e.name)??`vector<${t.name}>`,validate:r=>{var n;if((n=e==null?void 0:e.validate)==null||n.call(e,r),!r||typeof r!="object"||!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`)}})}function iP(t,e){return I.vector(I.tuple([t,e])).transform({name:`Map<${t.name}, ${e.name}>`,input:r=>[...r.entries()],output:r=>{const n=new Map;for(const[s,i]of r)n.set(s,i);return n}})}const I={u8(t){return Cl({readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...t,name:(t==null?void 0:t.name)??"u8"})},u16(t){return Cl({readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...t,name:(t==null?void 0:t.name)??"u16"})},u32(t){return Cl({readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...t,name:(t==null?void 0:t.name)??"u32"})},u64(t){return Rl({readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...t,name:(t==null?void 0:t.name)??"u64"})},u128(t){return Rl({readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...t,name:(t==null?void 0:t.name)??"u128"})},u256(t){return Rl({readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...t,name:(t==null?void 0:t.name)??"u256"})},bool(t){return Lc({size:1,read:e=>e.read8()===1,write:(e,r)=>r.write8(e?1:0),...t,name:(t==null?void 0:t.name)??"bool",validate:e=>{var r;if((r=t==null?void 0:t.validate)==null||r.call(t,e),typeof e!="boolean")throw new TypeError(`Expected boolean, found ${typeof e}`)}})},uleb128(t){return JI({read:e=>e.readULEB(),serialize:e=>Uint8Array.from($c(e)),...t,name:(t==null?void 0:t.name)??"uleb128"})},bytes(t,e){return Lc({size:t,read:r=>r.readBytes(t),write:(r,n)=>{n.writeBytes(new Uint8Array(r))},...e,name:(e==null?void 0:e.name)??`bytes[${t}]`,validate:r=>{var n;if((n=e==null?void 0:e.validate)==null||n.call(e,r),!r||typeof r!="object"||!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==t)throw new TypeError(`Expected array of length ${t}, found ${r.length}`)}})},byteVector(t){return new an({read:e=>{const r=e.readULEB();return e.readBytes(r)},write:(e,r)=>{const n=new Uint8Array(e);r.writeULEB(n.length),r.writeBytes(n)},...t,name:(t==null?void 0:t.name)??"vector<u8>",serializedSize:e=>{const r="length"in e?e.length:null;return r==null?null:$c(r).length+r},validate:e=>{var r;if((r=t==null?void 0:t.validate)==null||r.call(t,e),!e||typeof e!="object"||!("length"in e))throw new TypeError(`Expected array, found ${typeof e}`)}})},string(t){return XI({toBytes:e=>new TextEncoder().encode(e),fromBytes:e=>new TextDecoder().decode(e),...t,name:(t==null?void 0:t.name)??"string"})},fixedArray:rP,option:nP,vector:sP,tuple(t,e){return new tP({fields:t,...e})},struct(t,e,r){return new QI({name:t,fields:e,...r})},enum(t,e,r){return new eP({name:t,fields:e,...r})},map:iP,lazy(t){return ZI(t)}};var A2=t=>{throw TypeError(t)},S2=(t,e,r)=>e.has(t)||A2("Cannot "+r),vt=(t,e,r)=>(S2(t,e,"read from private field"),e.get(t)),fm=(t,e,r)=>e.has(t)?A2("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),lm=(t,e,r,n)=>(S2(t,e,"write to private field"),e.set(t,r),r),Os,Ct;const oP=class x2{constructor({prefix:e,cache:r}={}){fm(this,Os),fm(this,Ct),lm(this,Os,e??[]),lm(this,Ct,r??new Map)}read(e,r){const n=[vt(this,Os),...e].join(":");if(vt(this,Ct).has(n))return vt(this,Ct).get(n);const s=r();return vt(this,Ct).set(n,s),typeof s=="object"&&s!==null&&"then"in s?Promise.resolve(s).then(i=>(vt(this,Ct).set(n,i),i)).catch(i=>{throw vt(this,Ct).delete(n),i}):s}readSync(e,r){const n=[vt(this,Os),...e].join(":");if(vt(this,Ct).has(n))return vt(this,Ct).get(n);const s=r();return vt(this,Ct).set(n,s),s}clear(e){const r=[...vt(this,Os),...e??[]].join(":");if(!r){vt(this,Ct).clear();return}for(const n of vt(this,Ct).keys())n.startsWith(r)&&vt(this,Ct).delete(n)}scope(e){return new x2({prefix:[...vt(this,Os),...Array.isArray(e)?e:[e]],cache:vt(this,Ct)})}};Os=new WeakMap;Ct=new WeakMap;let aP=oP;class k2{constructor({network:e,base:r,cache:n=(r==null?void 0:r.cache)??new aP}){this.network=e,this.base=r??this,this.cache=n}$extend(...e){return Object.create(this,Object.fromEntries(e.map(r=>[r.name,{value:r.register(this)}])))}}let mn;function T2(t){return{lang:(t==null?void 0:t.lang)??(mn==null?void 0:mn.lang),message:t==null?void 0:t.message,abortEarly:(t==null?void 0:t.abortEarly)??(mn==null?void 0:mn.abortEarly),abortPipeEarly:(t==null?void 0:t.abortPipeEarly)??(mn==null?void 0:mn.abortPipeEarly)}}let Nl;function cP(t){return Nl==null?void 0:Nl.get(t)}let Ul;function uP(t){return Ul==null?void 0:Ul.get(t)}let Fl;function fP(t,e){var r;return(r=Fl==null?void 0:Fl.get(t))==null?void 0:r.get(e)}function _2(t){var r,n;const e=typeof t;return e==="string"?`"${t}"`:e==="number"||e==="bigint"||e==="boolean"?`${t}`:e==="object"||e==="function"?(t&&((n=(r=Object.getPrototypeOf(t))==null?void 0:r.constructor)==null?void 0:n.name))??"null":e}function qt(t,e,r,n,s){const i=s&&"input"in s?s.input:r.value,o=(s==null?void 0:s.expected)??t.expects??null,a=(s==null?void 0:s.received)??_2(i),c={kind:t.kind,type:t.type,input:i,expected:o,received:a,message:`Invalid ${e}: ${o?`Expected ${o} but r`:"R"}eceived ${a}`,requirement:t.requirement,path:s==null?void 0:s.path,issues:s==null?void 0:s.issues,lang:n.lang,abortEarly:n.abortEarly,abortPipeEarly:n.abortPipeEarly},u=t.kind==="schema",f=(s==null?void 0:s.message)??t.message??fP(t.reference,c.lang)??(u?uP(c.lang):null)??n.message??cP(c.lang);f!==void 0&&(c.message=typeof f=="function"?f(c):f),u&&(r.typed=!1),r.issues?r.issues.push(c):r.issues=[c]}function Tt(t){return{version:1,vendor:"valibot",validate(e){return t["~run"]({value:e},T2())}}}function lP(t,e){return Object.hasOwn(t,e)&&e!=="__proto__"&&e!=="prototype"&&e!=="constructor"}function dP(t,e){const r=[...new Set(t)];return r.length>1?`(${r.join(` ${e} `)})`:r[0]??"never"}var hP=class extends Error{constructor(t){super(t[0].message),this.name="ValiError",this.issues=t}};function m0(t,e){return{kind:"validation",type:"check",reference:m0,async:!1,expects:null,requirement:t,message:e,"~run"(r,n){return r.typed&&!this.requirement(r.value)&&qt(this,"input",r,n),r}}}function Dt(t){return{kind:"validation",type:"integer",reference:Dt,async:!1,expects:null,requirement:Number.isInteger,message:t,"~run"(e,r){return e.typed&&!this.requirement(e.value)&&qt(this,"integer",e,r),e}}}function $u(t){return{kind:"transformation",type:"transform",reference:$u,async:!1,operation:t,"~run"(e){return e.value=this.operation(e.value),e}}}function pP(t,e,r){return typeof t.fallback=="function"?t.fallback(e,r):t.fallback}function ju(t,e,r){return typeof t.default=="function"?t.default(e,r):t.default}function Hd(t,e){return!t["~run"]({value:e},{abortEarly:!0}).issues}function Se(t,e){return{kind:"schema",type:"array",reference:Se,expects:"Array",async:!1,item:t,message:e,get"~standard"(){return Tt(this)},"~run"(r,n){var i;const s=r.value;if(Array.isArray(s)){r.typed=!0,r.value=[];for(let o=0;o<s.length;o++){const a=s[o],c=this.item["~run"]({value:a},n);if(c.issues){const u={type:"array",origin:"value",input:s,key:o,value:a};for(const f of c.issues)f.path?f.path.unshift(u):f.path=[u],(i=r.issues)==null||i.push(f);if(r.issues||(r.issues=c.issues),n.abortEarly){r.typed=!1;break}}c.typed||(r.typed=!1),r.value.push(c.value)}}else qt(this,"type",r,n);return r}}}function I2(t){return{kind:"schema",type:"bigint",reference:I2,expects:"bigint",async:!1,message:t,get"~standard"(){return Tt(this)},"~run"(e,r){return typeof e.value=="bigint"?e.typed=!0:qt(this,"type",e,r),e}}}function oo(t){return{kind:"schema",type:"boolean",reference:oo,expects:"boolean",async:!1,message:t,get"~standard"(){return Tt(this)},"~run"(e,r){return typeof e.value=="boolean"?e.typed=!0:qt(this,"type",e,r),e}}}function Ld(t){return{kind:"schema",type:"lazy",reference:Ld,expects:"unknown",async:!1,getter:t,get"~standard"(){return Tt(this)},"~run"(e,r){return this.getter(e.value)["~run"](e,r)}}}function ot(t,e){return{kind:"schema",type:"literal",reference:ot,expects:_2(t),async:!1,literal:t,message:e,get"~standard"(){return Tt(this)},"~run"(r,n){return r.value===this.literal?r.typed=!0:qt(this,"type",r,n),r}}}function Ke(t,e){return{kind:"schema",type:"nullable",reference:Ke,expects:`(${t.expects} | null)`,async:!1,wrapped:t,default:e,get"~standard"(){return Tt(this)},"~run"(r,n){return r.value===null&&(this.default!==void 0&&(r.value=ju(this,r,n)),r.value===null)?(r.typed=!0,r):this.wrapped["~run"](r,n)}}}function da(t,e){return{kind:"schema",type:"nullish",reference:da,expects:`(${t.expects} | null | undefined)`,async:!1,wrapped:t,default:e,get"~standard"(){return Tt(this)},"~run"(r,n){return(r.value===null||r.value===void 0)&&(this.default!==void 0&&(r.value=ju(this,r,n)),r.value===null||r.value===void 0)?(r.typed=!0,r):this.wrapped["~run"](r,n)}}}function zt(t){return{kind:"schema",type:"number",reference:zt,expects:"number",async:!1,message:t,get"~standard"(){return Tt(this)},"~run"(e,r){return typeof e.value=="number"&&!isNaN(e.value)?e.typed=!0:qt(this,"type",e,r),e}}}function de(t,e){return{kind:"schema",type:"object",reference:de,expects:"Object",async:!1,entries:t,message:e,get"~standard"(){return Tt(this)},"~run"(r,n){var i;const s=r.value;if(s&&typeof s=="object"){r.typed=!0,r.value={};for(const o in this.entries){const a=this.entries[o];if(o in s||(a.type==="exact_optional"||a.type==="optional"||a.type==="nullish")&&a.default!==void 0){const c=o in s?s[o]:ju(a),u=a["~run"]({value:c},n);if(u.issues){const f={type:"object",origin:"value",input:s,key:o,value:c};for(const l of u.issues)l.path?l.path.unshift(f):l.path=[f],(i=r.issues)==null||i.push(l);if(r.issues||(r.issues=u.issues),n.abortEarly){r.typed=!1;break}}u.typed||(r.typed=!1),r.value[o]=u.value}else if(a.fallback!==void 0)r.value[o]=pP(a);else if(a.type!=="exact_optional"&&a.type!=="optional"&&a.type!=="nullish"&&(qt(this,"key",r,n,{input:void 0,expected:`"${o}"`,path:[{type:"object",origin:"key",input:s,key:o,value:s[o]}]}),n.abortEarly))break}}else qt(this,"type",r,n);return r}}}function er(t,e){return{kind:"schema",type:"optional",reference:er,expects:`(${t.expects} | undefined)`,async:!1,wrapped:t,default:e,get"~standard"(){return Tt(this)},"~run"(r,n){return r.value===void 0&&(this.default!==void 0&&(r.value=ju(this,r,n)),r.value===void 0)?(r.typed=!0,r):this.wrapped["~run"](r,n)}}}function ha(t,e,r){return{kind:"schema",type:"record",reference:ha,expects:"Object",async:!1,key:t,value:e,message:r,get"~standard"(){return Tt(this)},"~run"(n,s){var o,a;const i=n.value;if(i&&typeof i=="object"){n.typed=!0,n.value={};for(const c in i)if(lP(i,c)){const u=i[c],f=this.key["~run"]({value:c},s);if(f.issues){const p={type:"object",origin:"key",input:i,key:c,value:u};for(const d of f.issues)d.path=[p],(o=n.issues)==null||o.push(d);if(n.issues||(n.issues=f.issues),s.abortEarly){n.typed=!1;break}}const l=this.value["~run"]({value:u},s);if(l.issues){const p={type:"object",origin:"value",input:i,key:c,value:u};for(const d of l.issues)d.path?d.path.unshift(p):d.path=[p],(a=n.issues)==null||a.push(d);if(n.issues||(n.issues=l.issues),s.abortEarly){n.typed=!1;break}}(!f.typed||!l.typed)&&(n.typed=!1),f.typed&&(n.value[f.value]=l.value)}}else qt(this,"type",n,s);return n}}}function _e(t){return{kind:"schema",type:"string",reference:_e,expects:"string",async:!1,message:t,get"~standard"(){return Tt(this)},"~run"(e,r){return typeof e.value=="string"?e.typed=!0:qt(this,"type",e,r),e}}}function b0(t,e){return{kind:"schema",type:"tuple",reference:b0,expects:"Array",async:!1,items:t,message:e,get"~standard"(){return Tt(this)},"~run"(r,n){var i;const s=r.value;if(Array.isArray(s)){r.typed=!0,r.value=[];for(let o=0;o<this.items.length;o++){const a=s[o],c=this.items[o]["~run"]({value:a},n);if(c.issues){const u={type:"array",origin:"value",input:s,key:o,value:a};for(const f of c.issues)f.path?f.path.unshift(u):f.path=[u],(i=r.issues)==null||i.push(f);if(r.issues||(r.issues=c.issues),n.abortEarly){r.typed=!1;break}}c.typed||(r.typed=!1),r.value.push(c.value)}}else qt(this,"type",r,n);return r}}}function dm(t){let e;if(t)for(const r of t)e?e.push(...r.issues):e=r.issues;return e}function cn(t,e){return{kind:"schema",type:"union",reference:cn,expects:dP(t.map(r=>r.expects),"|"),async:!1,options:t,message:e,get"~standard"(){return Tt(this)},"~run"(r,n){let s,i,o;for(const a of this.options){const c=a["~run"]({value:r.value},n);if(c.typed)if(c.issues)i?i.push(c):i=[c];else{s=c;break}else o?o.push(c):o=[c]}if(s)return s;if(i){if(i.length===1)return i[0];qt(this,"type",r,n,{issues:dm(i)}),r.typed=!0}else{if((o==null?void 0:o.length)===1)return o[0];qt(this,"type",r,n,{issues:dm(o)})}return r}}}function Da(){return{kind:"schema",type:"unknown",reference:Da,expects:"unknown",async:!1,get"~standard"(){return Tt(this)},"~run"(t){return t.typed=!0,t}}}function Ve(t,e,r){const n=t["~run"]({value:e},T2(r));if(n.issues)throw new hP(n.issues);return n.value}function yt(...t){return{...t[0],pipe:t,get"~standard"(){return Tt(this)},"~run"(e,r){for(const n of t)if(n.kind!=="metadata"){if(e.issues&&(n.kind==="schema"||n.kind==="transformation")){e.typed=!1;break}(!e.issues||!r.abortEarly&&!r.abortPipeEarly)&&(e=n["~run"](e,r))}return e}}}const P2=/^(?!.*(^(?!@)|[-.@])($|[-.@]))(?:[a-z0-9-]{0,63}(?:\.[a-z0-9-]{0,63})*)?@[a-z0-9-]{0,63}$/i,O2=/^(?!.*(^|[-.])($|[-.]))(?:[a-z0-9-]{0,63}\.)+sui$/i,yP=235;function mP(t){return t.length>yP?!1:t.includes("@")?P2.test(t):O2.test(t)}function bP(t,e="at"){const r=t.toLowerCase();let n;if(r.includes("@")){if(!P2.test(r))throw new Error(`Invalid SuiNS name ${t}`);const[s,i]=r.split("@");n=[...s?s.split("."):[],i]}else{if(!O2.test(r))throw new Error(`Invalid SuiNS name ${t}`);n=r.split(".").slice(0,-1)}return e==="dot"?`${n.join(".")}.sui`:`${n.slice(0,-1).join(".")}@${n[n.length-1]}`}const gP=/^([a-z0-9]+(?:-[a-z0-9]+)*)$/,wP=/^\d+$/,vP=64,B2="/",Jt=t=>{const e=t.split(B2);if(e.length<2||e.length>3)return!1;const[r,n,s]=e;return s!==void 0&&!wP.test(s)||!mP(r)?!1:gP.test(n)&&n.length<vP},EP=t=>{const e=t.split(/::|<|>|,/);for(const r of e)if(r.includes(B2)&&!Jt(r))return!1;return!0},AP=32;function hm(t){try{return la(t).length===AP}catch{return!1}}const Hu=32;function kr(t){return xP(t)&&kP(t)===Hu}function lc(t){return kr(t)}function SP(t){return t.includes("::")?ni(t):t}function ni(t){const[e,r]=t.split("::"),n=Jt(e),s=t.slice(e.length+r.length+4),i=s.includes("<")?s.slice(0,s.indexOf("<")):s,o=s.includes("<")?b2(s.slice(s.indexOf("<")+1,s.lastIndexOf(">"))).map(a=>SP(a.trim())):[];return{address:n?e:ve(e),module:r,name:i,typeParams:o}}function Dc(t){const{address:e,module:r,name:n,typeParams:s}=typeof t=="string"?ni(t):t,i=(s==null?void 0:s.length)>0?`<${s.map(o=>typeof o=="string"?o:Dc(o)).join(",")}>`:"";return`${e}::${r}::${n}${i}`}function ve(t,e=!1){let r=t.toLowerCase();return!e&&r.startsWith("0x")&&(r=r.slice(2)),`0x${r.padStart(Hu*2,"0")}`}function tn(t,e=!1){return ve(t,e)}function xP(t){return/^(0x|0X)?[a-fA-F0-9]+$/.test(t)&&t.length%2===0}function kP(t){return/^(0x|0X)/.test(t)?(t.length-2)/2:t.length/2}function fi(t){const e=Object.entries(t).map(([r,n])=>de({[r]:n}));return yt(cn(e),$u(r=>({...r,$kind:Object.keys(r)[0]})))}const ao=yt(_e(),$u(t=>ve(t)),m0(kr)),rr=ao,si=_e(),Wt=yt(cn([_e(),yt(zt(),Dt())]),m0(t=>{try{return BigInt(t),BigInt(t)>=0&&BigInt(t)<=18446744073709551615n}catch{return!1}},"Invalid u64")),gs=de({objectId:ao,version:Wt,digest:_e()}),Fe=yt(cn([de({GasCoin:ot(!0)}),de({Input:yt(zt(),Dt()),type:er(ot("pure"))}),de({Input:yt(zt(),Dt()),type:er(ot("object"))}),de({Result:yt(zt(),Dt())}),de({NestedResult:b0([yt(zt(),Dt()),yt(zt(),Dt())])})]),$u(t=>({...t,$kind:Object.keys(t)[0]}))),TP=de({budget:Ke(Wt),price:Ke(Wt),owner:Ke(ao),payment:Ke(Se(gs))}),Dd=cn([ot("address"),ot("bool"),ot("u8"),ot("u16"),ot("u32"),ot("u64"),ot("u128"),ot("u256"),de({vector:Ld(()=>Dd)}),de({datatype:de({package:_e(),module:_e(),type:_e(),typeParameters:Se(Ld(()=>Dd))})}),de({typeParameter:yt(zt(),Dt())})]),_P=de({ref:Ke(cn([ot("&"),ot("&mut")])),body:Dd}),IP=de({package:rr,module:_e(),function:_e(),typeArguments:Se(_e()),arguments:Se(Fe),_argumentTypes:er(Ke(Se(_P)))}),PP=de({name:_e(),inputs:ha(_e(),cn([Fe,Se(Fe)])),data:ha(_e(),Da())}),OP=fi({MoveCall:IP,TransferObjects:de({objects:Se(Fe),address:Fe}),SplitCoins:de({coin:Fe,amounts:Se(Fe)}),MergeCoins:de({destination:Fe,sources:Se(Fe)}),Publish:de({modules:Se(si),dependencies:Se(rr)}),MakeMoveVec:de({type:Ke(_e()),elements:Se(Fe)}),Upgrade:de({modules:Se(si),dependencies:Se(rr),package:rr,ticket:Fe}),$Intent:PP}),C2=fi({ImmOrOwnedObject:gs,SharedObject:de({objectId:rr,initialSharedVersion:Wt,mutable:oo()}),Receiving:gs}),BP=fi({Object:C2,Pure:de({bytes:si}),UnresolvedPure:de({value:Da()}),UnresolvedObject:de({objectId:rr,version:er(Ke(Wt)),digest:er(Ke(_e())),initialSharedVersion:er(Ke(Wt)),mutable:er(Ke(oo()))})}),pm=fi({Object:C2,Pure:de({bytes:si})}),R2=fi({None:ot(!0),Epoch:Wt}),Ac=de({version:ot(2),sender:da(ao),expiration:da(R2),gasData:TP,inputs:Se(BP),commands:Se(OP)}),Ps={MoveCall(t){const[e,r="",n=""]="target"in t?t.target.split("::"):[t.package,t.module,t.function];return{$kind:"MoveCall",MoveCall:{package:e,module:r,function:n,typeArguments:t.typeArguments??[],arguments:t.arguments??[]}}},TransferObjects(t,e){return{$kind:"TransferObjects",TransferObjects:{objects:t.map(r=>Ve(Fe,r)),address:Ve(Fe,e)}}},SplitCoins(t,e){return{$kind:"SplitCoins",SplitCoins:{coin:Ve(Fe,t),amounts:e.map(r=>Ve(Fe,r))}}},MergeCoins(t,e){return{$kind:"MergeCoins",MergeCoins:{destination:Ve(Fe,t),sources:e.map(r=>Ve(Fe,r))}}},Publish({modules:t,dependencies:e}){return{$kind:"Publish",Publish:{modules:t.map(r=>typeof r=="string"?r:St(new Uint8Array(r))),dependencies:e.map(r=>tn(r))}}},Upgrade({modules:t,dependencies:e,package:r,ticket:n}){return{$kind:"Upgrade",Upgrade:{modules:t.map(s=>typeof s=="string"?s:St(new Uint8Array(s))),dependencies:e.map(s=>tn(s)),package:r,ticket:Ve(Fe,n)}}},MakeMoveVec({type:t,elements:e}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:t??null,elements:e.map(r=>Ve(Fe,r))}}},Intent({name:t,inputs:e={},data:r={}}){return{$kind:"$Intent",$Intent:{name:t,inputs:Object.fromEntries(Object.entries(e).map(([n,s])=>[n,Array.isArray(s)?s.map(i=>Ve(Fe,i)):Ve(Fe,s)])),data:r}}}},CP=/^vector<(.+)>$/,RP=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;class Tr{static parseFromStr(e,r=!1){if(e==="address")return{address:null};if(e==="bool")return{bool:null};if(e==="u8")return{u8:null};if(e==="u16")return{u16:null};if(e==="u32")return{u32:null};if(e==="u64")return{u64:null};if(e==="u128")return{u128:null};if(e==="u256")return{u256:null};if(e==="signer")return{signer:null};const n=e.match(CP);if(n)return{vector:Tr.parseFromStr(n[1],r)};const s=e.match(RP);if(s)return{struct:{address:r?ve(s[1]):s[1],module:s[2],name:s[3],typeParams:s[5]===void 0?[]:Tr.parseStructTypeArgs(s[5],r)}};throw new Error(`Encountered unexpected token when parsing type args for ${e}`)}static parseStructTypeArgs(e,r=!1){return b2(e).map(n=>Tr.parseFromStr(n,r))}static tagToString(e){if("bool"in e)return"bool";if("u8"in e)return"u8";if("u16"in e)return"u16";if("u32"in e)return"u32";if("u64"in e)return"u64";if("u128"in e)return"u128";if("u256"in e)return"u256";if("address"in e)return"address";if("signer"in e)return"signer";if("vector"in e)return`vector<${Tr.tagToString(e.vector)}>`;if("struct"in e){const r=e.struct,n=r.typeParams.map(Tr.tagToString).join(", ");return`${r.address}::${r.module}::${r.name}${n?`<${n}>`:""}`}throw new Error("Invalid TypeTag")}}function NP(t){return I.u64({name:"unsafe_u64",...t}).transform({input:e=>e,output:e=>Number(e)})}function UP(t){return I.enum("Option",{None:null,Some:t})}const Me=I.bytes(Hu).transform({validate:t=>{const e=typeof t=="string"?t:Yi(t);if(!e||!kr(ve(e)))throw new Error(`Invalid Sui address ${e}`)},input:t=>typeof t=="string"?p2(ve(t)):t,output:t=>ve(Yi(t))}),Or=I.byteVector().transform({name:"ObjectDigest",input:t=>la(t),output:t=>Fu(new Uint8Array(t)),validate:t=>{if(la(t).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),pr=I.struct("SuiObjectRef",{objectId:Me,version:I.u64(),digest:Or}),N2=I.struct("SharedObjectRef",{objectId:Me,initialSharedVersion:I.u64(),mutable:I.bool()}),U2=I.enum("ObjectArg",{ImmOrOwnedObject:pr,SharedObject:N2,Receiving:pr}),Fs=I.enum("Owner",{AddressOwner:Me,ObjectOwner:Me,Shared:I.struct("Shared",{initialSharedVersion:I.u64()}),Immutable:null,ConsensusAddressOwner:I.struct("ConsensusAddressOwner",{owner:Me,startVersion:I.u64()})}),F2=I.enum("CallArg",{Pure:I.struct("Pure",{bytes:I.byteVector().transform({input:t=>typeof t=="string"?tr(t):t,output:t=>St(new Uint8Array(t))})}),Object:U2}),g0=I.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:I.lazy(()=>g0),struct:I.lazy(()=>D2),u16:null,u32:null,u256:null}),w0=g0.transform({input:t=>typeof t=="string"?Tr.parseFromStr(t,!0):t,output:t=>Tr.tagToString(t)}),Zr=I.enum("Argument",{GasCoin:null,Input:I.u16(),Result:I.u16(),NestedResult:I.tuple([I.u16(),I.u16()])}),M2=I.struct("ProgrammableMoveCall",{package:Me,module:I.string(),function:I.string(),typeArguments:I.vector(w0),arguments:I.vector(Zr)}),$2=I.enum("Command",{MoveCall:M2,TransferObjects:I.struct("TransferObjects",{objects:I.vector(Zr),address:Zr}),SplitCoins:I.struct("SplitCoins",{coin:Zr,amounts:I.vector(Zr)}),MergeCoins:I.struct("MergeCoins",{destination:Zr,sources:I.vector(Zr)}),Publish:I.struct("Publish",{modules:I.vector(I.byteVector().transform({input:t=>typeof t=="string"?tr(t):t,output:t=>St(new Uint8Array(t))})),dependencies:I.vector(Me)}),MakeMoveVec:I.struct("MakeMoveVec",{type:UP(w0).transform({input:t=>t===null?{None:!0}:{Some:t},output:t=>t.Some??null}),elements:I.vector(Zr)}),Upgrade:I.struct("Upgrade",{modules:I.vector(I.byteVector().transform({input:t=>typeof t=="string"?tr(t):t,output:t=>St(new Uint8Array(t))})),dependencies:I.vector(Me),package:Me,ticket:Zr})}),j2=I.struct("ProgrammableTransaction",{inputs:I.vector(F2),commands:I.vector($2)}),H2=I.enum("TransactionKind",{ProgrammableTransaction:j2,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),L2=I.enum("TransactionExpiration",{None:null,Epoch:NP()}),D2=I.struct("StructTag",{address:Me,module:I.string(),name:I.string(),typeParams:I.vector(g0)}),z2=I.struct("GasData",{payment:I.vector(pr),owner:Me,price:I.u64(),budget:I.u64()}),V2=I.struct("TransactionDataV1",{kind:H2,sender:Me,gasData:z2,expiration:L2}),G2=I.enum("TransactionData",{V1:V2}),q2=I.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),W2=I.enum("IntentVersion",{V0:null}),K2=I.enum("AppId",{Sui:null}),Y2=I.struct("Intent",{scope:q2,version:W2,appId:K2});function J2(t){return I.struct(`IntentMessage<${t.name}>`,{intent:Y2,value:t})}const X2=I.enum("CompressedSignature",{ED25519:I.bytes(64),Secp256k1:I.bytes(64),Secp256r1:I.bytes(64),ZkLogin:I.byteVector(),Passkey:I.byteVector()}),Z2=I.enum("PublicKey",{ED25519:I.bytes(32),Secp256k1:I.bytes(33),Secp256r1:I.bytes(33),ZkLogin:I.byteVector(),Passkey:I.bytes(33)}),Q2=I.struct("MultiSigPkMap",{pubKey:Z2,weight:I.u8()}),e6=I.struct("MultiSigPublicKey",{pk_map:I.vector(Q2),threshold:I.u16()}),FP=I.struct("MultiSig",{sigs:I.vector(X2),bitmap:I.u16(),multisig_pk:e6}),MP=I.byteVector().transform({input:t=>typeof t=="string"?tr(t):t,output:t=>St(new Uint8Array(t))}),t6=I.struct("SenderSignedTransaction",{intentMessage:J2(G2),txSignatures:I.vector(MP)}),$P=I.vector(t6,{name:"SenderSignedData"}),jP=I.struct("PasskeyAuthenticator",{authenticatorData:I.byteVector(),clientDataJson:I.string(),userSignature:I.byteVector()}),HP=I.enum("PackageUpgradeError",{UnableToFetchPackage:I.struct("UnableToFetchPackage",{packageId:Me}),NotAPackage:I.struct("NotAPackage",{objectId:Me}),IncompatibleUpgrade:null,DigestDoesNotMatch:I.struct("DigestDoesNotMatch",{digest:I.byteVector()}),UnknownUpgradePolicy:I.struct("UnknownUpgradePolicy",{policy:I.u8()}),PackageIDDoesNotMatch:I.struct("PackageIDDoesNotMatch",{packageId:Me,ticketId:Me})}),LP=I.struct("ModuleId",{address:Me,name:I.string()}),ym=I.struct("MoveLocation",{module:LP,function:I.u16(),instruction:I.u16(),functionName:I.option(I.string())}),DP=I.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:I.struct("IndexOutOfBounds",{idx:I.u16()}),SecondaryIndexOutOfBounds:I.struct("SecondaryIndexOutOfBounds",{resultIdx:I.u16(),secondaryIdx:I.u16()}),InvalidResultArity:I.struct("InvalidResultArity",{resultIdx:I.u16()}),InvalidGasCoinUsage:null,InvalidValueUsage:null,InvalidObjectByValue:null,InvalidObjectByMutRef:null,SharedObjectOperationNotAllowed:null}),zP=I.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),VP=I.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:I.struct("MoveObjectTooBig",{objectSize:I.u64(),maxObjectSize:I.u64()}),MovePackageTooBig:I.struct("MovePackageTooBig",{objectSize:I.u64(),maxObjectSize:I.u64()}),CircularObjectOwnership:I.struct("CircularObjectOwnership",{object:Me}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:I.option(ym),MoveAbort:I.tuple([ym,I.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:I.struct("CommandArgumentError",{argIdx:I.u16(),kind:DP}),TypeArgumentError:I.struct("TypeArgumentError",{argumentIdx:I.u16(),kind:zP}),UnusedValueWithoutDrop:I.struct("UnusedValueWithoutDrop",{resultIdx:I.u16(),secondaryIdx:I.u16()}),InvalidPublicFunctionReturnType:I.struct("InvalidPublicFunctionReturnType",{idx:I.u16()}),InvalidTransferObject:null,EffectsTooLarge:I.struct("EffectsTooLarge",{currentSize:I.u64(),maxSize:I.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:I.struct("PackageUpgradeError",{upgradeError:HP}),WrittenObjectsTooLarge:I.struct("WrittenObjectsTooLarge",{currentSize:I.u64(),maxSize:I.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:I.struct("ExecutionCancelledDueToSharedObjectCongestion",{congestedObjects:I.vector(Me)}),AddressDeniedForCoin:I.struct("AddressDeniedForCoin",{address:Me,coinType:I.string()}),CoinTypeGlobalPause:I.struct("CoinTypeGlobalPause",{coinType:I.string()}),ExecutionCancelledDueToRandomnessUnavailable:null}),r6=I.enum("ExecutionStatus",{Success:null,Failed:I.struct("ExecutionFailed",{error:VP,command:I.option(I.u64())})}),n6=I.struct("GasCostSummary",{computationCost:I.u64(),storageCost:I.u64(),storageRebate:I.u64(),nonRefundableStorageFee:I.u64()}),GP=I.struct("TransactionEffectsV1",{status:r6,executedEpoch:I.u64(),gasUsed:n6,modifiedAtVersions:I.vector(I.tuple([Me,I.u64()])),sharedObjects:I.vector(pr),transactionDigest:Or,created:I.vector(I.tuple([pr,Fs])),mutated:I.vector(I.tuple([pr,Fs])),unwrapped:I.vector(I.tuple([pr,Fs])),deleted:I.vector(pr),unwrappedThenDeleted:I.vector(pr),wrapped:I.vector(pr),gasObject:I.tuple([pr,Fs]),eventsDigest:I.option(Or),dependencies:I.vector(Or)}),v0=I.tuple([I.u64(),Or]),qP=I.enum("ObjectIn",{NotExist:null,Exist:I.tuple([v0,Fs])}),WP=I.enum("ObjectOut",{NotExist:null,ObjectWrite:I.tuple([Or,Fs]),PackageWrite:v0}),KP=I.enum("IDOperation",{None:null,Created:null,Deleted:null}),YP=I.struct("EffectsObjectChange",{inputState:qP,outputState:WP,idOperation:KP}),JP=I.enum("UnchangedSharedKind",{ReadOnlyRoot:v0,MutateDeleted:I.u64(),ReadDeleted:I.u64(),Cancelled:I.u64(),PerEpochConfig:null}),XP=I.struct("TransactionEffectsV2",{status:r6,executedEpoch:I.u64(),gasUsed:n6,transactionDigest:Or,gasObjectIndex:I.option(I.u32()),eventsDigest:I.option(Or),dependencies:I.vector(Or),lamportVersion:I.u64(),changedObjects:I.vector(I.tuple([Me,YP])),unchangedSharedObjects:I.vector(I.tuple([Me,JP])),auxDataDigest:I.option(Or)}),ZP=I.enum("TransactionEffects",{V1:GP,V2:XP});function Ro(t){switch(t){case"u8":return I.u8();case"u16":return I.u16();case"u32":return I.u32();case"u64":return I.u64();case"u128":return I.u128();case"u256":return I.u256();case"bool":return I.bool();case"string":return I.string();case"id":case"address":return Me}const e=t.match(/^(vector|option)<(.+)>$/);if(e){const[r,n]=e.slice(1);return r==="vector"?I.vector(Ro(n)):I.option(Ro(n))}throw new Error(`Invalid Pure type name: ${t}`)}const pe={...I,U8:I.u8(),U16:I.u16(),U32:I.u32(),U64:I.u64(),U128:I.u128(),U256:I.u256(),ULEB128:I.uleb128(),Bool:I.bool(),String:I.string(),Address:Me,AppId:K2,Argument:Zr,CallArg:F2,Command:$2,CompressedSignature:X2,GasData:z2,Intent:Y2,IntentMessage:J2,IntentScope:q2,IntentVersion:W2,MultiSig:FP,MultiSigPkMap:Q2,MultiSigPublicKey:e6,ObjectArg:U2,ObjectDigest:Or,Owner:Fs,PasskeyAuthenticator:jP,ProgrammableMoveCall:M2,ProgrammableTransaction:j2,PublicKey:Z2,SenderSignedData:$P,SenderSignedTransaction:t6,SharedObjectRef:N2,StructTag:D2,SuiObjectRef:pr,TransactionData:G2,TransactionDataV1:V2,TransactionEffects:ZP,TransactionExpiration:L2,TransactionKind:H2,TypeTag:w0},mm=de({digest:_e(),objectId:_e(),version:cn([yt(zt(),Dt()),_e(),I2()])}),QP=fi({ImmOrOwned:mm,Shared:de({objectId:rr,initialSharedVersion:Wt,mutable:oo()}),Receiving:mm}),bm=fi({Object:QP,Pure:Se(yt(zt(),Dt()))});function gm(t){var r;const e=t.inputs.map((n,s)=>{if(n.Object)return{kind:"Input",index:s,value:{Object:n.Object.ImmOrOwnedObject?{ImmOrOwned:n.Object.ImmOrOwnedObject}:n.Object.Receiving?{Receiving:{digest:n.Object.Receiving.digest,version:n.Object.Receiving.version,objectId:n.Object.Receiving.objectId}}:{Shared:{mutable:n.Object.SharedObject.mutable,initialSharedVersion:n.Object.SharedObject.initialSharedVersion,objectId:n.Object.SharedObject.objectId}}},type:"object"};if(n.Pure)return{kind:"Input",index:s,value:{Pure:Array.from(tr(n.Pure.bytes))},type:"pure"};if(n.UnresolvedPure)return{kind:"Input",type:"pure",index:s,value:n.UnresolvedPure.value};if(n.UnresolvedObject)return{kind:"Input",type:"object",index:s,value:n.UnresolvedObject.objectId};throw new Error("Invalid input")});return{version:1,sender:t.sender??void 0,expiration:((r=t.expiration)==null?void 0:r.$kind)==="Epoch"?{Epoch:Number(t.expiration.Epoch)}:t.expiration?{None:!0}:null,gasConfig:{owner:t.gasData.owner??void 0,budget:t.gasData.budget??void 0,price:t.gasData.price??void 0,payment:t.gasData.payment??void 0},inputs:e,transactions:t.commands.map(n=>{if(n.MakeMoveVec)return{kind:"MakeMoveVec",type:n.MakeMoveVec.type===null?{None:!0}:{Some:Tr.parseFromStr(n.MakeMoveVec.type)},objects:n.MakeMoveVec.elements.map(s=>bn(s,e))};if(n.MergeCoins)return{kind:"MergeCoins",destination:bn(n.MergeCoins.destination,e),sources:n.MergeCoins.sources.map(s=>bn(s,e))};if(n.MoveCall)return{kind:"MoveCall",target:`${n.MoveCall.package}::${n.MoveCall.module}::${n.MoveCall.function}`,typeArguments:n.MoveCall.typeArguments,arguments:n.MoveCall.arguments.map(s=>bn(s,e))};if(n.Publish)return{kind:"Publish",modules:n.Publish.modules.map(s=>Array.from(tr(s))),dependencies:n.Publish.dependencies};if(n.SplitCoins)return{kind:"SplitCoins",coin:bn(n.SplitCoins.coin,e),amounts:n.SplitCoins.amounts.map(s=>bn(s,e))};if(n.TransferObjects)return{kind:"TransferObjects",objects:n.TransferObjects.objects.map(s=>bn(s,e)),address:bn(n.TransferObjects.address,e)};if(n.Upgrade)return{kind:"Upgrade",modules:n.Upgrade.modules.map(s=>Array.from(tr(s))),dependencies:n.Upgrade.dependencies,packageId:n.Upgrade.package,ticket:bn(n.Upgrade.ticket,e)};throw new Error(`Unknown transaction ${Object.keys(n)}`)})}}function bn(t,e){if(t.$kind==="GasCoin")return{kind:"GasCoin"};if(t.$kind==="Result")return{kind:"Result",index:t.Result};if(t.$kind==="NestedResult")return{kind:"NestedResult",index:t.NestedResult[0],resultIndex:t.NestedResult[1]};if(t.$kind==="Input")return e[t.Input];throw new Error(`Invalid argument ${Object.keys(t)}`)}function eO(t){var e,r,n;return Ve(Ac,{version:2,sender:t.sender??null,expiration:t.expiration?"Epoch"in t.expiration?{Epoch:t.expiration.Epoch}:{None:!0}:null,gasData:{owner:t.gasConfig.owner??null,budget:((e=t.gasConfig.budget)==null?void 0:e.toString())??null,price:((r=t.gasConfig.price)==null?void 0:r.toString())??null,payment:((n=t.gasConfig.payment)==null?void 0:n.map(s=>({digest:s.digest,objectId:s.objectId,version:s.version.toString()})))??null},inputs:t.inputs.map(s=>{if(s.kind==="Input"){if(Hd(bm,s.value)){const i=Ve(bm,s.value);if(i.Object){if(i.Object.ImmOrOwned)return{Object:{ImmOrOwnedObject:{objectId:i.Object.ImmOrOwned.objectId,version:String(i.Object.ImmOrOwned.version),digest:i.Object.ImmOrOwned.digest}}};if(i.Object.Shared)return{Object:{SharedObject:{mutable:i.Object.Shared.mutable??null,initialSharedVersion:i.Object.Shared.initialSharedVersion,objectId:i.Object.Shared.objectId}}};if(i.Object.Receiving)return{Object:{Receiving:{digest:i.Object.Receiving.digest,version:String(i.Object.Receiving.version),objectId:i.Object.Receiving.objectId}}};throw new Error("Invalid object input")}return{Pure:{bytes:St(new Uint8Array(i.Pure))}}}return s.type==="object"?{UnresolvedObject:{objectId:s.value}}:{UnresolvedPure:{value:s.value}}}throw new Error("Invalid input")}),commands:t.transactions.map(s=>{switch(s.kind){case"MakeMoveVec":return{MakeMoveVec:{type:"Some"in s.type?Tr.tagToString(s.type.Some):null,elements:s.objects.map(i=>gn(i))}};case"MergeCoins":return{MergeCoins:{destination:gn(s.destination),sources:s.sources.map(i=>gn(i))}};case"MoveCall":{const[i,o,a]=s.target.split("::");return{MoveCall:{package:i,module:o,function:a,typeArguments:s.typeArguments,arguments:s.arguments.map(c=>gn(c))}}}case"Publish":return{Publish:{modules:s.modules.map(i=>St(Uint8Array.from(i))),dependencies:s.dependencies}};case"SplitCoins":return{SplitCoins:{coin:gn(s.coin),amounts:s.amounts.map(i=>gn(i))}};case"TransferObjects":return{TransferObjects:{objects:s.objects.map(i=>gn(i)),address:gn(s.address)}};case"Upgrade":return{Upgrade:{modules:s.modules.map(i=>St(Uint8Array.from(i))),dependencies:s.dependencies,package:s.packageId,ticket:gn(s.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(s)}`)})})}function gn(t){switch(t.kind){case"GasCoin":return{GasCoin:!0};case"Result":return{Result:t.index};case"NestedResult":return{NestedResult:[t.index,t.resultIndex]};case"Input":return{Input:t.index}}}function za(t){return cn(Object.entries(t).map(([e,r])=>de({[e]:r})))}const Er=za({GasCoin:ot(!0),Input:yt(zt(),Dt()),Result:yt(zt(),Dt()),NestedResult:b0([yt(zt(),Dt()),yt(zt(),Dt())])}),tO=de({budget:Ke(Wt),price:Ke(Wt),owner:Ke(ao),payment:Ke(Se(gs))}),rO=de({package:rr,module:_e(),function:_e(),typeArguments:Se(_e()),arguments:Se(Er)}),nO=de({name:_e(),inputs:ha(_e(),cn([Er,Se(Er)])),data:ha(_e(),Da())}),sO=za({MoveCall:rO,TransferObjects:de({objects:Se(Er),address:Er}),SplitCoins:de({coin:Er,amounts:Se(Er)}),MergeCoins:de({destination:Er,sources:Se(Er)}),Publish:de({modules:Se(si),dependencies:Se(rr)}),MakeMoveVec:de({type:Ke(_e()),elements:Se(Er)}),Upgrade:de({modules:Se(si),dependencies:Se(rr),package:rr,ticket:Er}),$Intent:nO}),iO=za({ImmOrOwnedObject:gs,SharedObject:de({objectId:rr,initialSharedVersion:Wt,mutable:oo()}),Receiving:gs}),oO=za({Object:iO,Pure:de({bytes:si}),UnresolvedPure:de({value:Da()}),UnresolvedObject:de({objectId:rr,version:er(Ke(Wt)),digest:er(Ke(_e())),initialSharedVersion:er(Ke(Wt)),mutable:er(Ke(oo()))})}),aO=za({None:ot(!0),Epoch:Wt}),cO=de({version:ot(2),sender:da(ao),expiration:da(aO),gasData:tO,inputs:Se(oO),commands:Se(sO),digest:er(Ke(_e()))});function uO(t){return{$kind:"Pure",Pure:{bytes:t instanceof Uint8Array?St(t):t.toBase64()}}}const Br={Pure:uO,ObjectRef({objectId:t,digest:e,version:r}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:e,version:r,objectId:ve(t)}}}},SharedObjectRef({objectId:t,mutable:e,initialSharedVersion:r}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:e,initialSharedVersion:r,objectId:ve(t)}}}},ReceivingRef({objectId:t,digest:e,version:r}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:e,version:r,objectId:ve(t)}}}}};BigInt(1e9);const fO="0x1",s6="0x2",lO=tn("0x6"),dO=`${s6}::sui::SUI`;tn("0x5");tn("0x8");const hO=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]),st=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),te=new Uint32Array(32);function Xn(t,e,r,n,s,i){const o=s[i],a=s[i+1];let c=te[2*t],u=te[2*t+1],f=te[2*e],l=te[2*e+1],p=te[2*r],d=te[2*r+1],m=te[2*n],g=te[2*n+1],A=ib(c,f,o);u=ob(A,u,l,a),c=A|0,{Dh:g,Dl:m}={Dh:g^u,Dl:m^c},{Dh:g,Dl:m}={Dh:q5(g,m),Dl:W5(g)},{h:d,l:p}=sb(d,p,g,m),{Bh:l,Bl:f}={Bh:l^d,Bl:f^p},{Bh:l,Bl:f}={Bh:rb(l,f,24),Bl:nb(l,f,24)},te[2*t]=c,te[2*t+1]=u,te[2*e]=f,te[2*e+1]=l,te[2*r]=p,te[2*r+1]=d,te[2*n]=m,te[2*n+1]=g}function Zn(t,e,r,n,s,i){const o=s[i],a=s[i+1];let c=te[2*t],u=te[2*t+1],f=te[2*e],l=te[2*e+1],p=te[2*r],d=te[2*r+1],m=te[2*n],g=te[2*n+1],A=ib(c,f,o);u=ob(A,u,l,a),c=A|0,{Dh:g,Dl:m}={Dh:g^u,Dl:m^c},{Dh:g,Dl:m}={Dh:rb(g,m,16),Dl:nb(g,m,16)},{h:d,l:p}=sb(d,p,g,m),{Bh:l,Bl:f}={Bh:l^d,Bl:f^p},{Bh:l,Bl:f}={Bh:V5(l,f,63),Bl:G5(l,f,63)},te[2*t]=c,te[2*t+1]=u,te[2*e]=f,te[2*e+1]=l,te[2*r]=p,te[2*r+1]=d,te[2*n]=m,te[2*n+1]=g}function pO(t,e={},r,n,s){if(ds(r),t<0||t>r)throw new Error("outputLen bigger than keyLen");const{key:i,salt:o,personalization:a}=e;if(i!==void 0&&(i.length<1||i.length>r))throw new Error("key length must be undefined or 1.."+r);if(o!==void 0&&o.length!==n)throw new Error("salt must be undefined or "+n);if(a!==void 0&&a.length!==s)throw new Error("personalization must be undefined or "+s)}class yO extends Kc{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,ds(e),ds(r),this.blockLen=e,this.outputLen=r,this.buffer=new Uint8Array(e),this.buffer32=Mo(this.buffer)}update(e){ps(this),e=_n(e),hs(e);const{blockLen:r,buffer:n,buffer32:s}=this,i=e.length,o=e.byteOffset,a=e.buffer;for(let c=0;c<i;){this.pos===r&&(rs(s),this.compress(s,0,!1),rs(s),this.pos=0);const u=Math.min(r-this.pos,i-c),f=o+c;if(u===r&&!(f%4)&&c+u<i){const l=new Uint32Array(a,f,Math.floor((i-c)/4));rs(l);for(let p=0;c+r<i;p+=s.length,c+=r)this.length+=r,this.compress(l,p,!1);rs(l);continue}n.set(e.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(e){ps(this),Qd(e,this);const{pos:r,buffer32:n}=this;this.finished=!0,Cn(this.buffer.subarray(r)),rs(n),this.compress(n,0,!0),rs(n);const s=Mo(e);this.get().forEach((i,o)=>s[o]=wn(i))}digest(){const{buffer:e,outputLen:r}=this;this.digestInto(e);const n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){const{buffer:r,length:n,finished:s,destroyed:i,outputLen:o,pos:a}=this;return e||(e=new this.constructor({dkLen:o})),e.set(...this.get()),e.buffer.set(r),e.destroyed=i,e.finished=s,e.length=n,e.pos=a,e.outputLen=o,e}clone(){return this._cloneInto()}}class mO extends yO{constructor(e={}){const r=e.dkLen===void 0?64:e.dkLen;super(128,r),this.v0l=st[0]|0,this.v0h=st[1]|0,this.v1l=st[2]|0,this.v1h=st[3]|0,this.v2l=st[4]|0,this.v2h=st[5]|0,this.v3l=st[6]|0,this.v3h=st[7]|0,this.v4l=st[8]|0,this.v4h=st[9]|0,this.v5l=st[10]|0,this.v5h=st[11]|0,this.v6l=st[12]|0,this.v6h=st[13]|0,this.v7l=st[14]|0,this.v7h=st[15]|0,pO(r,e,64,16,16);let{key:n,personalization:s,salt:i}=e,o=0;if(n!==void 0&&(n=_n(n),o=n.length),this.v0l^=this.outputLen|o<<8|65536|1<<24,i!==void 0){i=_n(i);const a=Mo(i);this.v4l^=wn(a[0]),this.v4h^=wn(a[1]),this.v5l^=wn(a[2]),this.v5h^=wn(a[3])}if(s!==void 0){s=_n(s);const a=Mo(s);this.v6l^=wn(a[0]),this.v6h^=wn(a[1]),this.v7l^=wn(a[2]),this.v7h^=wn(a[3])}if(n!==void 0){const a=new Uint8Array(this.blockLen);a.set(n),this.update(a)}}get(){let{v0l:e,v0h:r,v1l:n,v1h:s,v2l:i,v2h:o,v3l:a,v3h:c,v4l:u,v4h:f,v5l:l,v5h:p,v6l:d,v6h:m,v7l:g,v7h:A}=this;return[e,r,n,s,i,o,a,c,u,f,l,p,d,m,g,A]}set(e,r,n,s,i,o,a,c,u,f,l,p,d,m,g,A){this.v0l=e|0,this.v0h=r|0,this.v1l=n|0,this.v1h=s|0,this.v2l=i|0,this.v2h=o|0,this.v3l=a|0,this.v3h=c|0,this.v4l=u|0,this.v4h=f|0,this.v5l=l|0,this.v5h=p|0,this.v6l=d|0,this.v6h=m|0,this.v7l=g|0,this.v7h=A|0}compress(e,r,n){this.get().forEach((c,u)=>te[u]=c),te.set(st,16);let{h:s,l:i}=tb(BigInt(this.length));te[24]=st[8]^i,te[25]=st[9]^s,n&&(te[28]=~te[28],te[29]=~te[29]);let o=0;const a=hO;for(let c=0;c<12;c++)Xn(0,4,8,12,e,r+2*a[o++]),Zn(0,4,8,12,e,r+2*a[o++]),Xn(1,5,9,13,e,r+2*a[o++]),Zn(1,5,9,13,e,r+2*a[o++]),Xn(2,6,10,14,e,r+2*a[o++]),Zn(2,6,10,14,e,r+2*a[o++]),Xn(3,7,11,15,e,r+2*a[o++]),Zn(3,7,11,15,e,r+2*a[o++]),Xn(0,5,10,15,e,r+2*a[o++]),Zn(0,5,10,15,e,r+2*a[o++]),Xn(1,6,11,12,e,r+2*a[o++]),Zn(1,6,11,12,e,r+2*a[o++]),Xn(2,7,8,13,e,r+2*a[o++]),Zn(2,7,8,13,e,r+2*a[o++]),Xn(3,4,9,14,e,r+2*a[o++]),Zn(3,4,9,14,e,r+2*a[o++]);this.v0l^=te[0]^te[16],this.v0h^=te[1]^te[17],this.v1l^=te[2]^te[18],this.v1h^=te[3]^te[19],this.v2l^=te[4]^te[20],this.v2h^=te[5]^te[21],this.v3l^=te[6]^te[22],this.v3h^=te[7]^te[23],this.v4l^=te[8]^te[24],this.v4h^=te[9]^te[25],this.v5l^=te[10]^te[26],this.v5h^=te[11]^te[27],this.v6l^=te[12]^te[28],this.v6h^=te[13]^te[29],this.v7l^=te[14]^te[30],this.v7h^=te[15]^te[31],Cn(te)}destroy(){this.destroyed=!0,Cn(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const bO=nv(t=>new mO(t)),i6=bO;function gO(t,e,r){const n=pe.Address.serialize(t).toBytes(),s=pe.TypeTag.serialize(e).toBytes(),i=pe.u64().serialize(r.length).toBytes(),o=i6.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(n),o.update(i),o.update(r),o.update(s),`0x${Yi(o.digest().slice(0,32))}`}const wO="object",vO="ID",EO="ascii",AO="String",SO="string",xO="String",kO="option",TO="Option";function _O(t){const e=typeof t.body=="object"&&"datatype"in t.body?t.body.datatype:null;return!!e&&ve(e.package)===ve("0x2")&&e.module==="tx_context"&&e.type==="TxContext"}function zd(t){if(typeof t=="string")switch(t){case"address":return pe.Address;case"bool":return pe.Bool;case"u8":return pe.U8;case"u16":return pe.U16;case"u32":return pe.U32;case"u64":return pe.U64;case"u128":return pe.U128;case"u256":return pe.U256;default:throw new Error(`Unknown type signature ${t}`)}if("vector"in t){if(t.vector==="u8")return pe.byteVector().transform({input:r=>typeof r=="string"?new TextEncoder().encode(r):r,output:r=>r});const e=zd(t.vector);return e?pe.vector(e):null}if("datatype"in t){const e=ve(t.datatype.package);if(e===ve(fO)){if(t.datatype.module===EO&&t.datatype.type===AO||t.datatype.module===SO&&t.datatype.type===xO)return pe.String;if(t.datatype.module===kO&&t.datatype.type===TO){const r=zd(t.datatype.typeParameters[0]);return r?pe.vector(r):null}}if(e===ve(s6)&&t.datatype.module===wO&&t.datatype.type===vO)return pe.Address}return null}function IO(t){return typeof t=="object"&&"Reference"in t?{ref:"&",body:No(t.Reference)}:typeof t=="object"&&"MutableReference"in t?{ref:"&mut",body:No(t.MutableReference)}:{ref:null,body:No(t)}}function No(t){if(typeof t=="string")switch(t){case"Address":return"address";case"Bool":return"bool";case"U8":return"u8";case"U16":return"u16";case"U32":return"u32";case"U64":return"u64";case"U128":return"u128";case"U256":return"u256";default:throw new Error(`Unexpected type ${t}`)}if("Vector"in t)return{vector:No(t.Vector)};if("Struct"in t)return{datatype:{package:t.Struct.address,module:t.Struct.module,type:t.Struct.name,typeParameters:t.Struct.typeArguments.map(No)}};if("TypeParameter"in t)return{typeParameter:t.TypeParameter};throw new Error(`Unexpected type ${JSON.stringify(t)}`)}const PO=50,OO=1000n,BO=5e10;function o6(t){return async function(r,n,s){return await FO(r,t),await UO(r,t),n.onlyTransactionKind||(await CO(r,t),await RO(r,t),await NO(r,t)),await s()}}async function CO(t,e){t.gasConfig.price||(t.gasConfig.price=String(await e.getReferenceGasPrice()))}async function RO(t,e){if(t.gasConfig.budget)return;const r=await e.dryRunTransactionBlock({transactionBlock:t.build({overrides:{gasData:{budget:String(BO),payment:[]}}})});if(r.effects.status.status!=="success")throw new Error(`Dry run failed, could not automatically determine a budget: ${r.effects.status.error}`,{cause:r});const n=OO*BigInt(t.gasConfig.price||1n),s=BigInt(r.effects.gasUsed.computationCost)+n,i=s+BigInt(r.effects.gasUsed.storageCost)-BigInt(r.effects.gasUsed.storageRebate);t.gasConfig.budget=String(i>s?i:s)}async function NO(t,e){if(!t.gasConfig.payment){const n=(await e.getCoins({owner:t.gasConfig.owner||t.sender,coinType:dO})).data.filter(s=>!t.inputs.find(o=>{var a;return(a=o.Object)!=null&&a.ImmOrOwnedObject?s.coinObjectId===o.Object.ImmOrOwnedObject.objectId:!1})).map(s=>({objectId:s.coinObjectId,digest:s.digest,version:s.version}));if(!n.length)throw new Error("No valid gas coins found for the transaction.");t.gasConfig.payment=n.map(s=>Ve(gs,s))}}async function UO(t,e){const r=t.inputs.filter(f=>{var l;return f.UnresolvedObject&&!(f.UnresolvedObject.version||(l=f.UnresolvedObject)!=null&&l.initialSharedVersion)}),n=[...new Set(r.map(f=>tn(f.UnresolvedObject.objectId)))],s=n.length?Mu(n,PO):[],i=(await Promise.all(s.map(f=>e.multiGetObjects({ids:f,options:{showOwner:!0}})))).flat(),o=new Map(n.map((f,l)=>[f,i[l]])),a=Array.from(o).filter(([f,l])=>l.error).map(([f,l])=>JSON.stringify(l.error));if(a.length)throw new Error(`The following input objects are invalid: ${a.join(", ")}`);const c=i.map(f=>{if(f.error||!f.data)throw new Error(`Failed to fetch object: ${f.error}`);const l=f.data.owner,p=l&&typeof l=="object"?"Shared"in l?l.Shared.initial_shared_version:"ConsensusAddressOwner"in l?l.ConsensusAddressOwner.start_version:null:null;return{objectId:f.data.objectId,digest:f.data.digest,version:f.data.version,initialSharedVersion:p}}),u=new Map(n.map((f,l)=>[f,c[l]]));for(const[f,l]of t.inputs.entries()){if(!l.UnresolvedObject)continue;let p;const d=ve(l.UnresolvedObject.objectId),m=u.get(d);l.UnresolvedObject.initialSharedVersion??(m==null?void 0:m.initialSharedVersion)?p=Br.SharedObjectRef({objectId:d,initialSharedVersion:l.UnresolvedObject.initialSharedVersion||(m==null?void 0:m.initialSharedVersion),mutable:l.UnresolvedObject.mutable||MO(t,f)}):$O(t,f)&&(p=Br.ReceivingRef({objectId:d,digest:l.UnresolvedObject.digest??(m==null?void 0:m.digest),version:l.UnresolvedObject.version??(m==null?void 0:m.version)})),t.inputs[t.inputs.indexOf(l)]=p??Br.ObjectRef({objectId:d,digest:l.UnresolvedObject.digest??(m==null?void 0:m.digest),version:l.UnresolvedObject.version??(m==null?void 0:m.version)})}}async function FO(t,e){const{inputs:r,commands:n}=t,s=[],i=new Set;n.forEach(a=>{if(a.MoveCall){if(a.MoveCall._argumentTypes)return;if(a.MoveCall.arguments.map(f=>f.$kind==="Input"?t.inputs[f.Input]:null).some(f=>(f==null?void 0:f.UnresolvedPure)||(f==null?void 0:f.UnresolvedObject)&&typeof(f==null?void 0:f.UnresolvedObject.mutable)!="boolean")){const f=`${a.MoveCall.package}::${a.MoveCall.module}::${a.MoveCall.function}`;i.add(f),s.push(a.MoveCall)}}});const o=new Map;i.size>0&&await Promise.all([...i].map(async a=>{const[c,u,f]=a.split("::"),l=await e.getNormalizedMoveFunction({package:c,module:u,function:f});o.set(a,l.parameters.map(p=>IO(p)))})),s.length&&await Promise.all(s.map(async a=>{const c=o.get(`${a.package}::${a.module}::${a.function}`);if(!c)return;const f=c.length>0&&_O(c.at(-1))?c.slice(0,c.length-1):c;a._argumentTypes=f})),n.forEach(a=>{if(!a.MoveCall)return;const c=a.MoveCall,u=`${c.package}::${c.module}::${c.function}`,f=c._argumentTypes;if(f){if(f.length!==a.MoveCall.arguments.length)throw new Error(`Incorrect number of arguments for ${u}`);f.forEach((l,p)=>{var _,E;const d=c.arguments[p];if(d.$kind!=="Input")return;const m=r[d.Input];if(!m.UnresolvedPure&&!m.UnresolvedObject)return;const g=((_=m.UnresolvedPure)==null?void 0:_.value)??((E=m.UnresolvedObject)==null?void 0:E.objectId),A=zd(l.body);if(A){d.type="pure",r[r.indexOf(m)]=Br.Pure(A.serialize(g));return}if(typeof g!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(g,null,2)}`);d.type="object";const S=m.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:g}}:m;r[d.Input]=S})}})}function MO(t,e){let r=!1;return t.getInputUses(e,(n,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){const i=s.MoveCall.arguments.indexOf(n);r=s.MoveCall._argumentTypes[i].ref!=="&"||r}(s.$kind==="MakeMoveVec"||s.$kind==="MergeCoins"||s.$kind==="SplitCoins"||s.$kind==="TransferObjects")&&(r=!0)}),r}function $O(t,e){let r=!1;return t.getInputUses(e,(n,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){const i=s.MoveCall.arguments.indexOf(n);r=jO(s.MoveCall._argumentTypes[i])||r}}),r}function jO(t){return typeof t.body!="object"||!("datatype"in t.body)?!1:t.body.datatype.package==="0x2"&&t.body.datatype.module==="transfer"&&t.body.datatype.type==="Receiving"}function a6(t,e){return!!(t.inputs.some(r=>r.UnresolvedObject||r.UnresolvedPure)||!e.onlyTransactionKind&&(!t.gasConfig.price||!t.gasConfig.budget||!t.gasConfig.payment))}async function HO(t,e,r){var i;if(DO(t),!a6(t,e))return await wm(t),r();const n=LO(e);return(((i=n.core)==null?void 0:i.resolveTransactionPlugin())??o6(n))(t,e,async()=>{await wm(t),await r()})}function wm(t){t.inputs.forEach((e,r)=>{if(e.$kind!=="Object"&&e.$kind!=="Pure")throw new Error(`Input at index ${r} has not been resolved. Expected a Pure or Object input, but found ${JSON.stringify(e)}`)})}function LO(t){if(!t.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return t.client}function DO(t){for(const e of t.commands)switch(e.$kind){case"SplitCoins":e.SplitCoins.amounts.forEach(r=>{vm(r,pe.U64,t)});break;case"TransferObjects":vm(e.TransferObjects.address,pe.Address,t);break}}function vm(t,e,r){if(t.$kind!=="Input")return;const n=r.inputs[t.Input];n.$kind==="UnresolvedPure"&&(r.inputs[t.Input]=Br.Pure(e.serialize(n.UnresolvedPure.value)))}function zO(t){function e(r){return t(r)}return e.system=r=>{const n=r==null?void 0:r.mutable;return e(n!==void 0?Br.SharedObjectRef({objectId:"0x5",initialSharedVersion:1,mutable:n}):{$kind:"UnresolvedObject",UnresolvedObject:{objectId:"0x5",initialSharedVersion:1}})},e.clock=()=>e(Br.SharedObjectRef({objectId:"0x6",initialSharedVersion:1,mutable:!1})),e.random=()=>e({$kind:"UnresolvedObject",UnresolvedObject:{objectId:"0x8",mutable:!1}}),e.denyList=r=>e({$kind:"UnresolvedObject",UnresolvedObject:{objectId:"0x403",mutable:r==null?void 0:r.mutable}}),e.option=({type:r,value:n})=>s=>s.moveCall({typeArguments:[r],target:`0x1::option::${n===null?"none":"some"}`,arguments:n===null?[]:[s.object(n)]}),e}function VO(t){function e(r,n){if(typeof r=="string")return t(Ro(r).serialize(n));if(r instanceof Uint8Array||y0(r))return t(r);throw new Error("tx.pure must be called either a bcs type name, or a serialized bcs value")}return e.u8=r=>t(pe.U8.serialize(r)),e.u16=r=>t(pe.U16.serialize(r)),e.u32=r=>t(pe.U32.serialize(r)),e.u64=r=>t(pe.U64.serialize(r)),e.u128=r=>t(pe.U128.serialize(r)),e.u256=r=>t(pe.U256.serialize(r)),e.bool=r=>t(pe.Bool.serialize(r)),e.string=r=>t(pe.String.serialize(r)),e.address=r=>t(pe.Address.serialize(r)),e.id=e.address,e.vector=(r,n)=>t(pe.vector(Ro(r)).serialize(n)),e.option=(r,n)=>t(pe.option(Ro(r)).serialize(n)),e}function GO(t,e){const r=Array.from(`${t}::`).map(s=>s.charCodeAt(0)),n=new Uint8Array(r.length+e.length);return n.set(r),n.set(e,r.length),i6(n,{dkLen:32})}function zc(t){if(typeof t=="string")return ve(t);if(t.Object)return t.Object.ImmOrOwnedObject?ve(t.Object.ImmOrOwnedObject.objectId):t.Object.Receiving?ve(t.Object.Receiving.objectId):ve(t.Object.SharedObject.objectId);if(t.UnresolvedObject)return ve(t.UnresolvedObject.objectId)}function qO(t,e,r){const n=s=>{switch(s.$kind){case"Input":{const i=e.get(s.Input);if(i===void 0)throw new Error(`Input ${s.Input} not found in input mapping`);return{...s,Input:i}}case"Result":{const i=r.get(s.Result);return i!==void 0?{...s,Result:i}:s}case"NestedResult":{const i=r.get(s.NestedResult[0]);return i!==void 0?{...s,NestedResult:[i,s.NestedResult[1]]}:s}default:return s}};switch(t.$kind){case"MoveCall":t.MoveCall.arguments=t.MoveCall.arguments.map(n);break;case"TransferObjects":t.TransferObjects.objects=t.TransferObjects.objects.map(n),t.TransferObjects.address=n(t.TransferObjects.address);break;case"SplitCoins":t.SplitCoins.coin=n(t.SplitCoins.coin),t.SplitCoins.amounts=t.SplitCoins.amounts.map(n);break;case"MergeCoins":t.MergeCoins.destination=n(t.MergeCoins.destination),t.MergeCoins.sources=t.MergeCoins.sources.map(n);break;case"MakeMoveVec":t.MakeMoveVec.elements=t.MakeMoveVec.elements.map(n);break;case"Upgrade":t.Upgrade.ticket=n(t.Upgrade.ticket);break;case"$Intent":{const s=t.$Intent.inputs;t.$Intent.inputs={};for(const[i,o]of Object.entries(s))t.$Intent.inputs[i]=Array.isArray(o)?o.map(n):n(o);break}}}function Em(t){return ve(t).replace("0x","")}class Lt{constructor(e){this.version=2,this.sender=(e==null?void 0:e.sender)??null,this.expiration=(e==null?void 0:e.expiration)??null,this.inputs=(e==null?void 0:e.inputs)??[],this.commands=(e==null?void 0:e.commands)??[],this.gasData=(e==null?void 0:e.gasData)??{budget:null,price:null,owner:null,payment:null}}static fromKindBytes(e){const n=pe.TransactionKind.parse(e).ProgrammableTransaction;if(!n)throw new Error("Unable to deserialize from bytes.");return Lt.restore({version:2,sender:null,expiration:null,gasData:{budget:null,owner:null,payment:null,price:null},inputs:n.inputs,commands:n.commands})}static fromBytes(e){const r=pe.TransactionData.parse(e),n=r==null?void 0:r.V1,s=n.kind.ProgrammableTransaction;if(!n||!s)throw new Error("Unable to deserialize from bytes.");return Lt.restore({version:2,sender:n.sender,expiration:n.expiration,gasData:n.gasData,inputs:s.inputs,commands:s.commands})}static restore(e){return e.version===2?new Lt(Ve(Ac,e)):new Lt(Ve(Ac,eO(e)))}static getDigestFromBytes(e){const r=GO("TransactionData",e);return Fu(r)}get gasConfig(){return this.gasData}set gasConfig(e){this.gasData=e}build({maxSizeBytes:e=1/0,overrides:r,onlyTransactionKind:n}={}){const s=this.inputs,i=this.commands,o={ProgrammableTransaction:{inputs:s,commands:i}};if(n)return pe.TransactionKind.serialize(o,{maxSize:e}).toBytes();const a=(r==null?void 0:r.expiration)??this.expiration,c=(r==null?void 0:r.sender)??this.sender,u={...this.gasData,...r==null?void 0:r.gasConfig,...r==null?void 0:r.gasData};if(!c)throw new Error("Missing transaction sender");if(!u.budget)throw new Error("Missing gas budget");if(!u.payment)throw new Error("Missing gas payment");if(!u.price)throw new Error("Missing gas price");const f={sender:Em(c),expiration:a||{None:!0},gasData:{payment:u.payment,owner:Em(this.gasData.owner??c),price:BigInt(u.price),budget:BigInt(u.budget)},kind:{ProgrammableTransaction:{inputs:s,commands:i}}};return pe.TransactionData.serialize({V1:f},{maxSize:e}).toBytes()}addInput(e,r){const n=this.inputs.length;return this.inputs.push(r),{Input:n,type:e,$kind:"Input"}}getInputUses(e,r){this.mapArguments((n,s)=>(n.$kind==="Input"&&n.Input===e&&r(n,s),n))}mapCommandArguments(e,r){const n=this.commands[e];switch(n.$kind){case"MoveCall":n.MoveCall.arguments=n.MoveCall.arguments.map(i=>r(i,n,e));break;case"TransferObjects":n.TransferObjects.objects=n.TransferObjects.objects.map(i=>r(i,n,e)),n.TransferObjects.address=r(n.TransferObjects.address,n,e);break;case"SplitCoins":n.SplitCoins.coin=r(n.SplitCoins.coin,n,e),n.SplitCoins.amounts=n.SplitCoins.amounts.map(i=>r(i,n,e));break;case"MergeCoins":n.MergeCoins.destination=r(n.MergeCoins.destination,n,e),n.MergeCoins.sources=n.MergeCoins.sources.map(i=>r(i,n,e));break;case"MakeMoveVec":n.MakeMoveVec.elements=n.MakeMoveVec.elements.map(i=>r(i,n,e));break;case"Upgrade":n.Upgrade.ticket=r(n.Upgrade.ticket,n,e);break;case"$Intent":const s=n.$Intent.inputs;n.$Intent.inputs={};for(const[i,o]of Object.entries(s))n.$Intent.inputs[i]=Array.isArray(o)?o.map(a=>r(a,n,e)):r(o,n,e);break;case"Publish":break;default:throw new Error(`Unexpected transaction kind: ${n.$kind}`)}}mapArguments(e){for(const r of this.commands.keys())this.mapCommandArguments(r,e)}replaceCommand(e,r,n=e){if(!Array.isArray(r)){this.commands[e]=r;return}const s=r.length-1;this.commands.splice(e,1,...structuredClone(r)),this.mapArguments((i,o,a)=>{if(a<e+r.length)return i;if(typeof n!="number"&&(i.$kind==="Result"&&i.Result===e||i.$kind==="NestedResult"&&i.NestedResult[0]===e)){if(!("NestedResult"in i)||i.NestedResult[1]===0)return Ve(Fe,structuredClone(n));throw new Error(`Cannot replace command ${e} with a specific result type: NestedResult[${e}, ${i.NestedResult[1]}] references a nested element that cannot be mapped to the replacement result`)}switch(i.$kind){case"Result":i.Result===e&&typeof n=="number"&&(i.Result=n),i.Result>e&&(i.Result+=s);break;case"NestedResult":if(i.NestedResult[0]===e&&typeof n=="number")return{$kind:"NestedResult",NestedResult:[n,i.NestedResult[1]]};i.NestedResult[0]>e&&(i.NestedResult[0]+=s);break}return i})}replaceCommandWithTransaction(e,r,n){if(n.$kind!=="Result"&&n.$kind!=="NestedResult")throw new Error("Result must be of kind Result or NestedResult");this.insertTransaction(e,r),this.replaceCommand(e+r.commands.length,[],"Result"in n?{NestedResult:[n.Result+e,0]}:{NestedResult:[n.NestedResult[0]+e,n.NestedResult[1]]})}insertTransaction(e,r){var a,c;const n=new Map,s=new Map;for(let u=0;u<r.inputs.length;u++){const f=r.inputs[u],l=zc(f);let p=-1;if(l!==void 0&&(p=this.inputs.findIndex(d=>zc(d)===l),p!==-1&&((a=this.inputs[p].Object)!=null&&a.SharedObject)&&((c=f.Object)!=null&&c.SharedObject)&&(this.inputs[p].Object.SharedObject.mutable=this.inputs[p].Object.SharedObject.mutable||f.Object.SharedObject.mutable)),p!==-1)n.set(u,p);else{const d=this.inputs.length;this.inputs.push(f),n.set(u,d)}}for(let u=0;u<r.commands.length;u++)s.set(u,e+u);const i=[];for(let u=0;u<r.commands.length;u++){const f=structuredClone(r.commands[u]);qO(f,n,s),i.push(f)}this.commands.splice(e,0,...i);const o=i.length;o>0&&this.mapArguments((u,f,l)=>{if(l>=e&&l<e+i.length)return u;switch(u.$kind){case"Result":u.Result>=e&&(u.Result+=o);break;case"NestedResult":u.NestedResult[0]>=e&&(u.NestedResult[0]+=o);break}return u})}getDigest(){const e=this.build({onlyTransactionKind:!1});return Lt.getDigestFromBytes(e)}snapshot(){return Ve(Ac,this)}shallowClone(){return new Lt({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}applyResolvedData(e){this.sender||(this.sender=e.sender??null),this.expiration||(this.expiration=e.expiration??null),this.gasData.budget||(this.gasData.budget=e.gasData.budget),this.gasData.owner||(this.gasData.owner=e.gasData.owner??null),this.gasData.payment||(this.gasData.payment=e.gasData.payment),this.gasData.price||(this.gasData.price=e.gasData.price);for(let r=0;r<this.inputs.length;r++){const n=this.inputs[r],s=e.inputs[r];switch(n.$kind){case"UnresolvedPure":if(s.$kind!=="Pure")throw new Error(`Expected input at index ${r} to resolve to a Pure argument, but got ${JSON.stringify(s)}`);this.inputs[r]=s;break;case"UnresolvedObject":if(s.$kind!=="Object")throw new Error(`Expected input at index ${r} to resolve to an Object argument, but got ${JSON.stringify(s)}`);if(s.Object.$kind==="ImmOrOwnedObject"||s.Object.$kind==="Receiving"){const i=n.UnresolvedObject,o=s.Object.ImmOrOwnedObject??s.Object.Receiving;if(ve(i.objectId)!==ve(o.objectId)||i.version!=null&&i.version!==o.version||i.digest!=null&&i.digest!==o.digest||i.mutable!=null||i.initialSharedVersion!=null)throw new Error(`Input at index ${r} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else if(s.Object.$kind==="SharedObject"){const i=n.UnresolvedObject,o=s.Object.SharedObject;if(ve(i.objectId)!==ve(o.objectId)||i.initialSharedVersion!=null&&i.initialSharedVersion!==o.initialSharedVersion||i.mutable!=null&&i.mutable!==o.mutable||i.version!=null||i.digest!=null)throw new Error(`Input at index ${r} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else throw new Error(`Input at index ${r} resolved to an unexpected Object kind: ${JSON.stringify(s.Object)}`);this.inputs[r]=s;break}}}}var c6=t=>{throw TypeError(t)},E0=(t,e,r)=>e.has(t)||c6("Cannot "+r),at=(t,e,r)=>(E0(t,e,"read from private field"),r?r.call(t):e.get(t)),go=(t,e,r)=>e.has(t)?c6("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),dc=(t,e,r,n)=>(E0(t,e,"write to private field"),e.set(t,r),r),Lu=(t,e,r)=>(E0(t,e,"access private method"),r),pa,Mn,ya,ns,en,Vd,Gd,u6,f6,A0;const WO="/",KO={"Mvr-Source":`@mysten/sui@${t2}`};class YO{constructor({cache:e,url:r,pageSize:n=50,overrides:s}){go(this,en),go(this,pa),go(this,Mn),go(this,ya),go(this,ns),dc(this,pa,e),dc(this,Mn,r),dc(this,ya,n),dc(this,ns,{packages:s==null?void 0:s.packages,types:s==null?void 0:s.types}),JO(at(this,ns))}async resolvePackage({package:e}){return Et(e)?{package:await at(this,en,Vd).load(e)}:{package:e}}async resolveType({type:e}){if(!Et(e))return{type:e};const r=[...qd(e)],n=await at(this,en,Gd).loadMany(r),s={};for(let i=0;i<r.length;i++){const o=n[i];if(o instanceof Error)throw o;s[r[i]]=o}return{type:Wd(e,s)}}async resolve({types:e=[],packages:r=[]}){var f,l,p;const n=new Set;for(const d of e??[])qd(d,n);const s=[...n],[i,o]=await Promise.all([s.length>0?at(this,en,Gd).loadMany(s):[],r.length>0?at(this,en,Vd).loadMany(r):[]]),a={...(f=at(this,ns))==null?void 0:f.types};for(const[d,m]of s.entries()){const g=i[d];if(g instanceof Error)throw g;a[m]=g}const c={};for(const d of e??[]){const m=Wd(d,a);c[d]={type:m}}const u={};for(const[d,m]of(r??[]).entries()){const g=((p=(l=at(this,ns))==null?void 0:l.packages)==null?void 0:p[m])??o[d];if(g instanceof Error)throw g;u[m]={package:g}}return{types:c,packages:u}}}pa=new WeakMap;Mn=new WeakMap;ya=new WeakMap;ns=new WeakMap;en=new WeakSet;Vd=function(){return at(this,pa).readSync(["#mvrPackageDataLoader",at(this,Mn)??""],()=>{var r;const t=new y2(async n=>{if(!at(this,Mn))throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);const s=await Lu(this,en,u6).call(this,n);return n.map(i=>s[i]??new Error(`Failed to resolve package: ${i}`))}),e=(r=at(this,ns))==null?void 0:r.packages;if(e)for(const[n,s]of Object.entries(e))t.prime(n,s);return t})};Gd=function(){return at(this,pa).readSync(["#mvrTypeDataLoader",at(this,Mn)??""],()=>{var r;const t=new y2(async n=>{if(!at(this,Mn))throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);const s=await Lu(this,en,f6).call(this,n);return n.map(i=>s[i]??new Error(`Failed to resolve type: ${i}`))}),e=(r=at(this,ns))==null?void 0:r.types;if(e)for(const[n,s]of Object.entries(e))t.prime(n,s);return t})};u6=async function(t){if(t.length===0)return{};const e=Mu(t,at(this,ya)),r={};return await Promise.all(e.map(async n=>{var i;const s=await Lu(this,en,A0).call(this,"/v1/resolution/bulk",{names:n});if(s!=null&&s.resolution)for(const o of Object.keys(s==null?void 0:s.resolution)){const a=(i=s.resolution[o])==null?void 0:i.package_id;a&&(r[o]=a)}})),r};f6=async function(t){if(t.length===0)return{};const e=Mu(t,at(this,ya)),r={};return await Promise.all(e.map(async n=>{var i;const s=await Lu(this,en,A0).call(this,"/v1/struct-definition/bulk",{types:n});if(s!=null&&s.resolution)for(const o of Object.keys(s==null?void 0:s.resolution)){const a=(i=s.resolution[o])==null?void 0:i.type_tag;a&&(r[o]=a)}})),r};A0=async function(t,e){if(!at(this,Mn))throw new Error("MVR Api URL is not set for the current client");const r=await fetch(`${at(this,Mn)}${t}`,{method:"POST",headers:{"Content-Type":"application/json",...KO},body:JSON.stringify(e)});if(!r.ok){const n=await r.json().catch(()=>({}));throw new Error(`Failed to resolve types: ${n==null?void 0:n.message}`)}return r.json()};function JO(t){if(t!=null&&t.packages)for(const[e,r]of Object.entries(t.packages)){if(!Jt(e))throw new Error(`Invalid package name: ${e}`);if(!kr(ve(r)))throw new Error(`Invalid package ID: ${r}`)}if(t!=null&&t.types)for(const[e,r]of Object.entries(t.types)){if(ni(e).typeParams.length>0)throw new Error("Type overrides must be first-level only. If you want to supply generic types, just pass each type individually.");const n=ni(r);if(!kr(n.address))throw new Error(`Invalid type: ${r}`)}}function qd(t,e=new Set){if(typeof t=="string"&&!Et(t))return e;const r=l6(t)?t:ni(t);Et(r.address)&&e.add(`${r.address}::${r.module}::${r.name}`);for(const n of r.typeParams)qd(n,e);return e}function Wd(t,e){const r=l6(t)?t:ni(t),n=`${r.address}::${r.module}::${r.name}`,s=e[n];return Dc({...r,address:s?s.split("::")[0]:r.address,typeParams:r.typeParams.map(i=>Wd(i,e))})}function Et(t){return t.includes(WO)||t.includes("@")||t.includes(".sui")}function l6(t){return typeof t=="object"&&"address"in t&&"module"in t&&"name"in t&&"typeParams"in t}function XO(t){const e=new Set,r=new Set;for(const n of t.commands)switch(n.$kind){case"MakeMoveVec":n.MakeMoveVec.type&&Am([n.MakeMoveVec.type]).forEach(o=>{r.add(o)});break;case"MoveCall":const s=n.MoveCall,i=s.package.split("::")[0];if(Et(i)){if(!Jt(i))throw new Error(`Invalid package name: ${i}`);e.add(i)}Am(s.typeArguments??[]).forEach(o=>{r.add(o)});break}return{packages:[...e],types:[...r]}}function ZO(t,e){var r;for(const n of t.commands){if((r=n.MakeMoveVec)!=null&&r.type){if(!Et(n.MakeMoveVec.type))continue;if(!e.types[n.MakeMoveVec.type])throw new Error(`No resolution found for type: ${n.MakeMoveVec.type}`);n.MakeMoveVec.type=e.types[n.MakeMoveVec.type].type}const s=n.MoveCall;if(!s)continue;const i=s.package.split("::"),o=i[0];if(Et(o)&&!e.packages[o])throw new Error(`No address found for package: ${o}`);Et(o)&&(i[0]=e.packages[o].package,s.package=i.join("::"));const a=s.typeArguments;if(a){for(let c=0;c<a.length;c++)if(Et(a[c])){if(!e.types[a[c]])throw new Error(`No resolution found for type: ${a[c]}`);a[c]=e.types[a[c]].type}s.typeArguments=a}}}function Am(t){const e=new Set;for(const r of t)if(Et(r)){if(!EP(r))throw new Error(`Invalid type with names: ${r}`);e.add(r)}return e}const QO=t=>async(e,r,n)=>{const s=XO(e);if(s.types.length===0&&s.packages.length===0)return n();const i=await e4(r).core.mvr.resolve({types:s.types,packages:s.packages});ZO(e,i),await n()};function e4(t){if(!t.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return t.client}var d6=t=>{throw TypeError(t)},S0=(t,e,r)=>e.has(t)||d6("Cannot "+r),Q=(t,e,r)=>(S0(t,e,"read from private field"),r?r.call(t):e.get(t)),Kr=(t,e,r)=>e.has(t)?d6("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Oe=(t,e,r,n)=>(S0(t,e,"write to private field"),e.set(t,r),r),it=(t,e,r)=>(S0(t,e,"access private method"),r),Ms,Gs,Sn,nn,Zt,Qt,_r,ss,ae,Je,h6,Sc,xc,kc,Vc,Kd,x0,p6,y6;function Ml(t,e=1/0){const r={$kind:"Result",get Result(){return typeof t=="function"?t():t}},n=[],s=i=>n[i]??(n[i]={$kind:"NestedResult",get NestedResult(){return[typeof t=="function"?t():t,i]}});return new Proxy(r,{set(){throw new Error("The transaction result is a proxy, and does not support setting properties directly")},get(i,o){if(o in i)return Reflect.get(i,o);if(o===Symbol.iterator)return function*(){let c=0;for(;c<e;)yield s(c),c++};if(typeof o=="symbol")return;const a=parseInt(o,10);if(!(Number.isNaN(a)||a<0))return s(a)}})}const m6=Symbol.for("@mysten/transaction");function b6(t){return!!t&&typeof t=="object"&&t[m6]===!0}const Sm={buildPlugins:new Map,serializationPlugins:new Map},$l=Symbol.for("@mysten/transaction/registry");function wo(){try{const t=globalThis;return t[$l]||(t[$l]=Sm),t[$l]}catch{return Sm}}const g6=class Yd{constructor(){Kr(this,Je),Kr(this,Ms),Kr(this,Gs),Kr(this,Sn,new Map),Kr(this,nn,[]),Kr(this,Zt,[]),Kr(this,Qt,new Set),Kr(this,_r,new Set),Kr(this,ss,new Map),Kr(this,ae),this.object=zO(r=>{var i,o;if(typeof r=="function")return this.object(this.add(r));if(typeof r=="object"&&Hd(Fe,r))return r;const n=zc(r),s=Q(this,ae).inputs.find(a=>n===zc(a));return(i=s==null?void 0:s.Object)!=null&&i.SharedObject&&typeof r=="object"&&((o=r.Object)!=null&&o.SharedObject)&&(s.Object.SharedObject.mutable=s.Object.SharedObject.mutable||r.Object.SharedObject.mutable),s?{$kind:"Input",Input:Q(this,ae).inputs.indexOf(s),type:"object"}:it(this,Je,xc).call(this,"object",typeof r=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:ve(r)}}:r)});const e=wo();Oe(this,ae,new Lt),Oe(this,Gs,[...e.buildPlugins.values()]),Oe(this,Ms,[...e.serializationPlugins.values()])}static fromKind(e){const r=new Yd;return Oe(r,ae,Lt.fromKindBytes(typeof e=="string"?tr(e):e)),Oe(r,nn,Q(r,ae).inputs.slice()),Oe(r,Zt,Q(r,ae).commands.slice()),Oe(r,Qt,new Set(Q(r,Zt).map((n,s)=>s))),r}static from(e){const r=new Yd;return b6(e)?Oe(r,ae,Lt.restore(e.getData())):typeof e!="string"||!e.startsWith("{")?Oe(r,ae,Lt.fromBytes(typeof e=="string"?tr(e):e)):Oe(r,ae,Lt.restore(JSON.parse(e))),Oe(r,nn,Q(r,ae).inputs.slice()),Oe(r,Zt,Q(r,ae).commands.slice()),Oe(r,Qt,new Set(Q(r,Zt).map((n,s)=>s))),r}static registerGlobalSerializationPlugin(e,r){wo().serializationPlugins.set(e,r??e)}static unregisterGlobalSerializationPlugin(e){wo().serializationPlugins.delete(e)}static registerGlobalBuildPlugin(e,r){wo().buildPlugins.set(e,r??e)}static unregisterGlobalBuildPlugin(e){wo().buildPlugins.delete(e)}addSerializationPlugin(e){Q(this,Ms).push(e)}addBuildPlugin(e){Q(this,Gs).push(e)}addIntentResolver(e,r){if(Q(this,Sn).has(e)&&Q(this,Sn).get(e)!==r)throw new Error(`Intent resolver for ${e} already exists`);Q(this,Sn).set(e,r)}setSender(e){Q(this,ae).sender=e}setSenderIfNotSet(e){Q(this,ae).sender||(Q(this,ae).sender=e)}setExpiration(e){Q(this,ae).expiration=e?Ve(R2,e):null}setGasPrice(e){Q(this,ae).gasConfig.price=String(e)}setGasBudget(e){Q(this,ae).gasConfig.budget=String(e)}setGasBudgetIfNotSet(e){Q(this,ae).gasData.budget==null&&(Q(this,ae).gasConfig.budget=String(e))}setGasOwner(e){Q(this,ae).gasConfig.owner=e}setGasPayment(e){Q(this,ae).gasConfig.payment=e.map(r=>Ve(gs,r))}get blockData(){return gm(Q(this,ae).snapshot())}getData(){return Q(this,ae).snapshot()}get[m6](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:VO(e=>y0(e)?it(this,Je,xc).call(this,"pure",{$kind:"Pure",Pure:{bytes:e.toBase64()}}):it(this,Je,xc).call(this,"pure",Hd(pm,e)?Ve(pm,e):e instanceof Uint8Array?Br.Pure(e):{$kind:"UnresolvedPure",UnresolvedPure:{value:e}}))}),this.pure}get gas(){return{$kind:"GasCoin",GasCoin:!0}}objectRef(...e){return this.object(Br.ObjectRef(...e))}receivingRef(...e){return this.object(Br.ReceivingRef(...e))}sharedObjectRef(...e){return this.object(Br.SharedObjectRef(...e))}add(e){if(typeof e=="function"){if(Q(this,ss).has(e))return Q(this,ss).get(e);const r=it(this,Je,h6).call(this),n=e(r);if(!(n&&typeof n=="object"&&"then"in n))return Oe(this,Qt,Q(r,Qt)),Q(this,ss).set(e,n),n;const s=it(this,Je,Sc).call(this,{$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:Q(this,ae).commands.length,result:null}}});Q(this,_r).add(Promise.resolve(n).then(o=>{s.$Intent.data.result=o}));const i=Ml(()=>s.$Intent.data.resultIndex);return Q(this,ss).set(e,i),i}else it(this,Je,Sc).call(this,e);return Ml(Q(this,ae).commands.length-1)}splitCoins(e,r){const n=Ps.SplitCoins(typeof e=="string"?this.object(e):it(this,Je,Vc).call(this,e),r.map(s=>typeof s=="number"||typeof s=="bigint"||typeof s=="string"?this.pure.u64(s):it(this,Je,kc).call(this,s)));return it(this,Je,Sc).call(this,n),Ml(Q(this,ae).commands.length-1,r.length)}mergeCoins(e,r){return this.add(Ps.MergeCoins(this.object(e),r.map(n=>this.object(n))))}publish({modules:e,dependencies:r}){return this.add(Ps.Publish({modules:e,dependencies:r}))}upgrade({modules:e,dependencies:r,package:n,ticket:s}){return this.add(Ps.Upgrade({modules:e,dependencies:r,package:n,ticket:this.object(s)}))}moveCall({arguments:e,...r}){return this.add(Ps.MoveCall({...r,arguments:e==null?void 0:e.map(n=>it(this,Je,kc).call(this,n))}))}transferObjects(e,r){return this.add(Ps.TransferObjects(e.map(n=>this.object(n)),typeof r=="string"?this.pure.address(r):it(this,Je,kc).call(this,r)))}makeMoveVec({type:e,elements:r}){return this.add(Ps.MakeMoveVec({type:e,elements:r.map(n=>this.object(n))}))}serialize(){return JSON.stringify(gm(Q(this,ae).snapshot()))}async toJSON(e={}){await this.prepareForSerialization(e);const r=this.isFullyResolved();return JSON.stringify(Ve(cO,r?{...Q(this,ae).snapshot(),digest:Q(this,ae).getDigest()}:Q(this,ae).snapshot()),(n,s)=>typeof s=="bigint"?s.toString():s,2)}async sign(e){const{signer:r,...n}=e,s=await this.build(n);return r.signTransaction(s)}isFullyResolved(){return!(!Q(this,ae).sender||Q(this,_r).size>0||Q(this,ae).commands.some(e=>e.$Intent)||a6(Q(this,ae),{}))}async build(e={}){return await this.prepareForSerialization(e),await it(this,Je,Kd).call(this,e),Q(this,ae).build({onlyTransactionKind:e.onlyTransactionKind})}async getDigest(e={}){return await this.prepareForSerialization(e),await it(this,Je,Kd).call(this,e),Q(this,ae).getDigest()}async prepareForSerialization(e){var s;await it(this,Je,p6).call(this),it(this,Je,y6).call(this);const r=new Set;for(const i of Q(this,ae).commands)i.$Intent&&r.add(i.$Intent.name);const n=[...Q(this,Ms)];for(const i of r)if(!((s=e.supportedIntents)!=null&&s.includes(i))){if(!Q(this,Sn).has(i))throw new Error(`Missing intent resolver for ${i}`);n.push(Q(this,Sn).get(i))}n.push(QO()),await it(this,Je,x0).call(this,n,e)}};Ms=new WeakMap;Gs=new WeakMap;Sn=new WeakMap;nn=new WeakMap;Zt=new WeakMap;Qt=new WeakMap;_r=new WeakMap;ss=new WeakMap;ae=new WeakMap;Je=new WeakSet;h6=function(){const t=new g6;return Oe(t,ae,Q(this,ae)),Oe(t,Ms,Q(this,Ms)),Oe(t,Gs,Q(this,Gs)),Oe(t,Sn,Q(this,Sn)),Oe(t,_r,Q(this,_r)),Oe(t,Qt,new Set(Q(this,Qt))),Oe(t,ss,Q(this,ss)),Q(this,nn).push(Q(t,nn)),Q(this,Zt).push(Q(t,Zt)),t};Sc=function(t){const e=Q(this,ae).commands.length;return Q(this,Zt).push(t),Q(this,Qt).add(e),Q(this,ae).commands.push(t),Q(this,ae).mapCommandArguments(e,r=>{if(r.$kind==="Result"&&!Q(this,Qt).has(r.Result))throw new Error(`Result { Result: ${r.Result} } is not available to use in the current transaction`);if(r.$kind==="NestedResult"&&!Q(this,Qt).has(r.NestedResult[0]))throw new Error(`Result { NestedResult: [${r.NestedResult[0]}, ${r.NestedResult[1]}] } is not available to use in the current transaction`);if(r.$kind==="Input"&&r.Input>=Q(this,ae).inputs.length)throw new Error(`Input { Input: ${r.Input} } references an input that does not exist in the current transaction`);return r}),t};xc=function(t,e){return Q(this,nn).push(e),Q(this,ae).addInput(t,e)};kc=function(t){return y0(t)?this.pure(t):it(this,Je,Vc).call(this,t)};Vc=function(t){if(typeof t=="function"){const e=this.add(t);return typeof e=="function"?it(this,Je,Vc).call(this,e):Ve(Fe,e)}return Ve(Fe,t)};Kd=async function(t){if(!t.onlyTransactionKind&&!Q(this,ae).sender)throw new Error("Missing transaction sender");await it(this,Je,x0).call(this,[...Q(this,Gs),HO],t)};x0=async function(t,e){try{const r=n=>{if(n>=t.length)return()=>{};const s=t[n];return async()=>{const i=r(n+1);let o=!1,a=!1;if(await s(Q(this,ae),e,async()=>{if(o)throw new Error(`next() was call multiple times in TransactionPlugin ${n}`);o=!0,await i(),a=!0}),!o)throw new Error(`next() was not called in TransactionPlugin ${n}`);if(!a)throw new Error(`next() was not awaited in TransactionPlugin ${n}`)}};await r(0)()}finally{Oe(this,nn,Q(this,ae).inputs.slice()),Oe(this,Zt,Q(this,ae).commands.slice()),Oe(this,Qt,new Set(Q(this,Zt).map((r,n)=>n)))}};p6=async function(){for(;Q(this,_r).size>0;){const t=Promise.all(Q(this,_r));Q(this,_r).clear(),Q(this,_r).add(t),await t,Q(this,_r).delete(t)}};y6=function(){var o;const t=Q(this,ae).commands,e=Q(this,ae).inputs,r=Q(this,Zt).flat(1/0),n=Q(this,nn).flat(1/0);if(r.length!==t.length)throw new Error("Unexpected number of commands found in transaction data");if(n.length!==e.length)throw new Error("Unexpected number of inputs found in transaction data");const s=r.filter(a=>{var c;return((c=a.$Intent)==null?void 0:c.name)!=="AsyncTransactionThunk"});Q(this,ae).commands=s,Q(this,ae).inputs=n,Oe(this,Zt,s),Oe(this,nn,n),Oe(this,Qt,new Set(s.map((a,c)=>c)));function i(a){var f;const c=t[a];if(((f=c.$Intent)==null?void 0:f.name)==="AsyncTransactionThunk"){const l=c.$Intent.data.result;if(l==null)throw new Error("AsyncTransactionThunk has not been resolved");return i(l.Result)}const u=s.indexOf(c);if(u===-1)throw new Error("Unable to find original index for command");return u}Q(this,ae).mapArguments(a=>{if(a.$kind==="Input"){const c=n.indexOf(e[a.Input]);if(c===-1)throw new Error("Input has not been resolved");return{...a,Input:c}}else if(a.$kind==="Result"){const c=i(a.Result);return{...a,Result:c}}else if(a.$kind==="NestedResult"){const c=i(a.NestedResult[0]);return{...a,NestedResult:[c,a.NestedResult[1]]}}return a});for(const[a,c]of t.entries())if(((o=c.$Intent)==null?void 0:o.name)==="AsyncTransactionThunk")try{c.$Intent.data.resultIndex=i(a)}catch{}};let Jd=g6;const t4={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"};class r4 extends k2{constructor(e){var r,n,s;super(e),this.core=this,this.mvr=new YO({cache:this.cache.scope("core.mvr"),url:((r=e.mvr)==null?void 0:r.url)??t4[this.network],pageSize:(n=e.mvr)==null?void 0:n.pageSize,overrides:(s=e.mvr)==null?void 0:s.overrides})}async getObject(e){const{objectId:r}=e,{objects:[n]}=await this.getObjects({objectIds:[r],signal:e.signal});if(n instanceof Error)throw n;return{object:n}}async getDynamicField(e){const r=Tr.parseFromStr((await this.core.mvr.resolveType({type:e.name.type})).type),n=gO(e.parentId,r,e.name.bcs),{objects:[s]}=await this.getObjects({objectIds:[n],signal:e.signal});if(s instanceof Error)throw s;const i=ni(s.type),o=await s.content;return{dynamicField:{id:s.id,digest:s.digest,version:s.version,type:s.type,previousTransaction:s.previousTransaction,name:{type:typeof i.typeParams[0]=="string"?i.typeParams[0]:Dc(i.typeParams[0]),bcs:e.name.bcs},value:{type:typeof i.typeParams[1]=="string"?i.typeParams[1]:Dc(i.typeParams[1]),bcs:o.slice(Hu+e.name.bcs.length)}}}}async waitForTransaction({signal:e,timeout:r=60*1e3,...n}){const s=e?AbortSignal.any([AbortSignal.timeout(r),e]):AbortSignal.timeout(r),i=new Promise((o,a)=>{s.addEventListener("abort",()=>a(s.reason))});for(i.catch(()=>{});;){s.throwIfAborted();try{return await this.getTransaction({...n,signal:s})}catch{await Promise.race([new Promise(o=>setTimeout(o,2e3)),i])}}}}class n4 extends Error{}class is extends n4{constructor(e,r){super(r),this.code=e}static fromResponse(e,r){switch(e.code){case"notExists":return new is(e.code,`Object ${e.object_id} does not exist`);case"dynamicFieldNotFound":return new is(e.code,`Dynamic field not found for object ${e.parent_object_id}`);case"deleted":return new is(e.code,`Object ${e.object_id} has been deleted`);case"displayError":return new is(e.code,`Display error: ${e.error}`);case"unknown":default:return new is(e.code,`Unknown error while loading object${r?` ${r}`:""}`)}}}function s4(t){return{...Lt.fromBytes(t).snapshot(),bcs:t}}function i4(t){const e=pe.TransactionEffects.parse(t);switch(e.$kind){case"V1":return o4({effects:e.V1});case"V2":return a4({bytes:t,effects:e.V2});default:throw new Error(`Unknown transaction effects version: ${e.$kind}`)}}function o4(t){throw new Error("V1 effects are not supported yet")}function a4({bytes:t,effects:e}){const r=e.changedObjects.map(([n,s])=>{var i,o,a,c,u,f;return{id:n,inputState:s.inputState.$kind==="Exist"?"Exists":"DoesNotExist",inputVersion:((i=s.inputState.Exist)==null?void 0:i[0][0])??null,inputDigest:((o=s.inputState.Exist)==null?void 0:o[0][1])??null,inputOwner:((a=s.inputState.Exist)==null?void 0:a[1])??null,outputState:s.outputState.$kind==="NotExist"?"DoesNotExist":s.outputState.$kind,outputVersion:s.outputState.$kind==="PackageWrite"?(c=s.outputState.PackageWrite)==null?void 0:c[0]:s.outputState.ObjectWrite?e.lamportVersion:null,outputDigest:s.outputState.$kind==="PackageWrite"?(u=s.outputState.PackageWrite)==null?void 0:u[1]:((f=s.outputState.ObjectWrite)==null?void 0:f[0])??null,outputOwner:s.outputState.ObjectWrite?s.outputState.ObjectWrite[1]:null,idOperation:s.idOperation.$kind}});return{bcs:t,digest:e.transactionDigest,version:2,status:e.status.$kind==="Success"?{success:!0,error:null}:{success:!1,error:e.status.Failed.error.$kind},gasUsed:e.gasUsed,transactionDigest:e.transactionDigest,gasObject:e.gasObjectIndex===null?null:r[e.gasObjectIndex]??null,eventsDigest:e.eventsDigest,dependencies:e.dependencies,lamportVersion:e.lamportVersion,changedObjects:r,unchangedConsensusObjects:e.unchangedSharedObjects.map(([n,s])=>({kind:s.$kind==="MutateDeleted"?"MutateConsensusStreamEnded":s.$kind==="ReadDeleted"?"ReadConsensusStreamEnded":s.$kind,objectId:n,version:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[0]:s[s.$kind],digest:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[1]:null})),auxiliaryDataDigest:e.auxDataDigest}}var w6=t=>{throw TypeError(t)},v6=(t,e,r)=>e.has(t)||w6("Cannot "+r),jt=(t,e,r)=>(v6(t,e,"read from private field"),r?r.call(t):e.get(t)),c4=(t,e,r)=>e.has(t)?w6("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),u4=(t,e,r,n)=>(v6(t,e,"write to private field"),e.set(t,r),r),lt;class f4 extends r4{constructor({jsonRpcClient:e,mvr:r}){super({network:e.network,base:e,mvr:r}),c4(this,lt),u4(this,lt,e)}async getObjects(e){const r=Mu(e.objectIds,50),n=[];for(const s of r){const i=await jt(this,lt).multiGetObjects({ids:s,options:{showOwner:!0,showType:!0,showBcs:!0,showPreviousTransaction:!0},signal:e.signal});for(const[o,a]of i.entries())a.error?n.push(is.fromResponse(a.error,s[o])):n.push(xm(a.data))}return{objects:n}}async getOwnedObjects(e){const r=await jt(this,lt).getOwnedObjects({owner:e.address,limit:e.limit,cursor:e.cursor,options:{showOwner:!0,showType:!0,showBcs:!0,showPreviousTransaction:!0},filter:e.type?{StructType:e.type}:null,signal:e.signal});return{objects:r.data.map(n=>{if(n.error)throw is.fromResponse(n.error);return xm(n.data)}),hasNextPage:r.hasNextPage,cursor:r.nextCursor??null}}async getCoins(e){const r=await jt(this,lt).getCoins({owner:e.address,coinType:e.coinType,limit:e.limit,cursor:e.cursor,signal:e.signal});return{objects:r.data.map(n=>({id:n.coinObjectId,version:n.version,digest:n.digest,balance:n.balance,type:`0x2::coin::Coin<${n.coinType}>`,content:Promise.resolve(h4.serialize({id:n.coinObjectId,balance:{value:n.balance}}).toBytes()),owner:{$kind:"ObjectOwner",ObjectOwner:e.address},previousTransaction:n.previousTransaction})),hasNextPage:r.hasNextPage,cursor:r.nextCursor??null}}async getBalance(e){const r=await jt(this,lt).getBalance({owner:e.address,coinType:e.coinType,signal:e.signal});return{balance:{coinType:r.coinType,balance:r.totalBalance}}}async getAllBalances(e){return{balances:(await jt(this,lt).getAllBalances({owner:e.address,signal:e.signal})).map(n=>({coinType:n.coinType,balance:n.totalBalance})),hasNextPage:!1,cursor:null}}async getTransaction(e){const r=await jt(this,lt).getTransactionBlock({digest:e.digest,options:{showRawInput:!0,showObjectChanges:!0,showRawEffects:!0,showEvents:!0,showEffects:!0,showBalanceChanges:!0},signal:e.signal});return{transaction:km(r)}}async executeTransaction(e){const r=await jt(this,lt).executeTransactionBlock({transactionBlock:e.transaction,signature:e.signatures,options:{showRawEffects:!0,showEvents:!0,showObjectChanges:!0,showRawInput:!0,showEffects:!0,showBalanceChanges:!0},signal:e.signal});return{transaction:km(r)}}async dryRunTransaction(e){const r=Jd.from(e.transaction),n=await jt(this,lt).dryRunTransactionBlock({transactionBlock:e.transaction,signal:e.signal}),{effects:s,objectTypes:i}=l4({effects:n.effects,objectChanges:n.objectChanges});return{transaction:{digest:await r.getDigest(),epoch:null,effects:s,objectTypes:Promise.resolve(i),signatures:[],transaction:s4(e.transaction),balanceChanges:n.balanceChanges.map(o=>({coinType:o.coinType,address:E6(o.owner),amount:o.amount}))}}}async getReferenceGasPrice(e){const r=await jt(this,lt).getReferenceGasPrice({signal:e==null?void 0:e.signal});return{referenceGasPrice:String(r)}}async getDynamicFields(e){const r=await jt(this,lt).getDynamicFields({parentId:e.parentId,limit:e.limit,cursor:e.cursor});return{dynamicFields:r.data.map(n=>({id:n.objectId,type:n.objectType,name:{type:n.name.type,bcs:tr(n.bcsName)}})),hasNextPage:r.hasNextPage,cursor:r.nextCursor}}async verifyZkLoginSignature(e){const r=await jt(this,lt).verifyZkLoginSignature({bytes:e.bytes,signature:e.signature,intentScope:e.intentScope,author:e.author});return{success:r.success,errors:r.errors}}async defaultNameServiceName(e){return{data:{name:(await jt(this,lt).resolveNameServiceNames(e)).data[0]}}}resolveTransactionPlugin(){return o6(jt(this,lt))}async getMoveFunction(e){const r=await jt(this,lt).getNormalizedMoveFunction({package:(await this.mvr.resolvePackage({package:e.packageId})).package,module:e.moduleName,function:e.name});return{function:{packageId:ve(e.packageId),moduleName:e.moduleName,name:e.name,visibility:y4(r.visibility),isEntry:r.isEntry,typeParameters:r.typeParameters.map(n=>({isPhantom:!1,constraints:p4(n)})),parameters:r.parameters.map(n=>Tm(n)),returns:r.return.map(n=>Tm(n))}}}}lt=new WeakMap;function xm(t){var e;return{id:t.objectId,version:t.version,digest:t.digest,type:t.type,content:Promise.resolve(((e=t.bcs)==null?void 0:e.dataType)==="moveObject"?tr(t.bcs.bcsBytes):new Uint8Array),owner:Si(t.owner),previousTransaction:t.previousTransaction??null}}function Si(t){if(t==="Immutable")return{$kind:"Immutable",Immutable:!0};if("ConsensusAddressOwner"in t)return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{owner:t.ConsensusAddressOwner.owner,startVersion:t.ConsensusAddressOwner.start_version}};if("AddressOwner"in t)return{$kind:"AddressOwner",AddressOwner:t.AddressOwner};if("ObjectOwner"in t)return{$kind:"ObjectOwner",ObjectOwner:t.ObjectOwner};if("Shared"in t)return{$kind:"Shared",Shared:{initialSharedVersion:t.Shared.initial_shared_version}};throw new Error(`Unknown owner type: ${JSON.stringify(t)}`)}function E6(t){if(t==="Immutable")return null;if("ConsensusAddressOwner"in t)return t.ConsensusAddressOwner.owner;if("AddressOwner"in t)return t.AddressOwner;if("ObjectOwner"in t)return t.ObjectOwner;if("Shared"in t)return null;throw new Error(`Unknown owner type: ${JSON.stringify(t)}`)}function km(t){var i,o,a;const e=pe.SenderSignedData.parse(tr(t.rawTransaction))[0],r={};(i=t.objectChanges)==null||i.forEach(c=>{c.type!=="published"&&(r[c.objectId]=c.objectType)});const n=pe.TransactionData.serialize(e.intentMessage.value).toBytes(),s=Lt.restore({version:2,sender:e.intentMessage.value.V1.sender,expiration:e.intentMessage.value.V1.expiration,gasData:e.intentMessage.value.V1.gasData,inputs:e.intentMessage.value.V1.kind.ProgrammableTransaction.inputs,commands:e.intentMessage.value.V1.kind.ProgrammableTransaction.commands});return{digest:t.digest,epoch:((o=t.effects)==null?void 0:o.executedEpoch)??null,effects:i4(new Uint8Array(t.rawEffects)),objectTypes:Promise.resolve(r),transaction:{...s,bcs:n},signatures:e.txSignatures,balanceChanges:((a=t.balanceChanges)==null?void 0:a.map(c=>({coinType:c.coinType,address:E6(c.owner),amount:c.amount})))??[]}}function l4({bytes:t,effects:e,objectChanges:r}){var o;const n=[],s=[],i={};return r==null||r.forEach(a=>{var c,u,f,l;switch(a.type){case"published":n.push({id:a.packageId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"PackageWrite",outputVersion:a.version,outputDigest:a.digest,outputOwner:null,idOperation:"Created"});break;case"transferred":n.push({id:a.objectId,inputState:"Exists",inputVersion:a.version,inputDigest:a.digest,inputOwner:{$kind:"AddressOwner",AddressOwner:a.sender},outputState:"ObjectWrite",outputVersion:a.version,outputDigest:a.digest,outputOwner:Si(a.recipient),idOperation:"None"}),i[a.objectId]=a.objectType;break;case"mutated":n.push({id:a.objectId,inputState:"Exists",inputVersion:a.previousVersion,inputDigest:null,inputOwner:Si(a.owner),outputState:"ObjectWrite",outputVersion:a.version,outputDigest:a.digest,outputOwner:Si(a.owner),idOperation:"None"}),i[a.objectId]=a.objectType;break;case"deleted":n.push({id:a.objectId,inputState:"Exists",inputVersion:a.version,inputDigest:((u=(c=e.deleted)==null?void 0:c.find(p=>p.objectId===a.objectId))==null?void 0:u.digest)??null,inputOwner:null,outputState:"DoesNotExist",outputVersion:null,outputDigest:null,outputOwner:null,idOperation:"Deleted"}),i[a.objectId]=a.objectType;break;case"wrapped":n.push({id:a.objectId,inputState:"Exists",inputVersion:a.version,inputDigest:null,inputOwner:{$kind:"AddressOwner",AddressOwner:a.sender},outputState:"ObjectWrite",outputVersion:a.version,outputDigest:((l=(f=e.wrapped)==null?void 0:f.find(p=>p.objectId===a.objectId))==null?void 0:l.digest)??null,outputOwner:{$kind:"ObjectOwner",ObjectOwner:a.sender},idOperation:"None"}),i[a.objectId]=a.objectType;break;case"created":n.push({id:a.objectId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:a.version,outputDigest:a.digest,outputOwner:Si(a.owner),idOperation:"Created"}),i[a.objectId]=a.objectType;break}}),{objectTypes:i,effects:{bcs:t??null,digest:e.transactionDigest,version:2,status:e.status.status==="success"?{success:!0,error:null}:{success:!1,error:e.status.error},gasUsed:e.gasUsed,transactionDigest:e.transactionDigest,gasObject:{id:(o=e.gasObject)==null?void 0:o.reference.objectId,inputState:"Exists",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:e.gasObject.reference.version,outputDigest:e.gasObject.reference.digest,outputOwner:Si(e.gasObject.owner),idOperation:"None"},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies??[],lamportVersion:e.gasObject.reference.version,changedObjects:n,unchangedConsensusObjects:s,auxiliaryDataDigest:null}}}const d4=pe.struct("Balance",{value:pe.u64()}),h4=pe.struct("Coin",{id:pe.Address,balance:d4});function Tm(t){if(typeof t!="string"){if("Reference"in t)return{reference:"immutable",body:Uo(t.Reference)};if("MutableReference"in t)return{reference:"mutable",body:Uo(t.MutableReference)}}return{reference:null,body:Uo(t)}}function Uo(t){switch(t){case"Address":return{$kind:"address"};case"Bool":return{$kind:"bool"};case"U8":return{$kind:"u8"};case"U16":return{$kind:"u16"};case"U32":return{$kind:"u32"};case"U64":return{$kind:"u64"};case"U128":return{$kind:"u128"};case"U256":return{$kind:"u256"}}if(typeof t=="string")throw new Error(`Unknown type: ${t}`);if("Vector"in t)return{$kind:"vector",vector:Uo(t.Vector)};if("Struct"in t)return{$kind:"datatype",datatype:{typeName:`${ve(t.Struct.address)}::${t.Struct.module}::${t.Struct.name}`,typeParameters:t.Struct.typeArguments.map(e=>Uo(e))}};if("TypeParameter"in t)return{$kind:"typeParameter",index:t.TypeParameter};throw new Error(`Unknown type: ${JSON.stringify(t)}`)}function p4(t){return t.abilities.map(e=>{switch(e){case"Copy":return"copy";case"Drop":return"drop";case"Store":return"store";case"Key":return"key";default:return"unknown"}})}function y4(t){switch(t){case"Public":return"public";case"Private":return"private";case"Friend":return"friend";default:return"unknown"}}const m4=Symbol.for("@mysten/SuiClient");class _m extends k2{constructor(e){super({network:e.network??"unknown"}),this.jsonRpc=this,this.transport=e.transport??new II({url:e.url}),this.core=new f4({jsonRpcClient:this,mvr:e.mvr})}get[m4](){return!0}async getRpcApiVersion({signal:e}={}){return(await this.transport.request({method:"rpc.discover",params:[],signal:e})).info.version}async getCoins({coinType:e,owner:r,cursor:n,limit:s,signal:i}){if(!r||!kr(ve(r)))throw new Error("Invalid Sui address");return e&&Et(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getCoins",params:[r,e,n,s],signal:i})}async getAllCoins(e){if(!e.owner||!kr(ve(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getAllCoins",params:[e.owner,e.cursor,e.limit],signal:e.signal})}async getBalance({owner:e,coinType:r,signal:n}){if(!e||!kr(ve(e)))throw new Error("Invalid Sui address");return r&&Et(r)&&(r=(await this.core.mvr.resolveType({type:r})).type),await this.transport.request({method:"suix_getBalance",params:[e,r],signal:n})}async getAllBalances(e){if(!e.owner||!kr(ve(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getAllBalances",params:[e.owner],signal:e.signal})}async getCoinMetadata({coinType:e,signal:r}){return e&&Et(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getCoinMetadata",params:[e],signal:r})}async getTotalSupply({coinType:e,signal:r}){return e&&Et(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getTotalSupply",params:[e],signal:r})}async call(e,r,{signal:n}={}){return await this.transport.request({method:e,params:r,signal:n})}async getMoveFunctionArgTypes({package:e,module:r,function:n,signal:s}){return e&&Jt(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getMoveFunctionArgTypes",params:[e,r,n],signal:s})}async getNormalizedMoveModulesByPackage({package:e,signal:r}){return e&&Jt(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveModulesByPackage",params:[e],signal:r})}async getNormalizedMoveModule({package:e,module:r,signal:n}){return e&&Jt(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveModule",params:[e,r],signal:n})}async getNormalizedMoveFunction({package:e,module:r,function:n,signal:s}){return e&&Jt(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveFunction",params:[e,r,n],signal:s})}async getNormalizedMoveStruct({package:e,module:r,struct:n,signal:s}){return e&&Jt(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveStruct",params:[e,r,n],signal:s})}async getOwnedObjects(e){if(!e.owner||!kr(ve(e.owner)))throw new Error("Invalid Sui address");const r=e.filter?{...e.filter}:void 0;return r&&"MoveModule"in r&&Jt(r.MoveModule.package)?r.MoveModule={module:r.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:r.MoveModule.package})).package}:r&&"StructType"in r&&Et(r.StructType)&&(r.StructType=(await this.core.mvr.resolveType({type:r.StructType})).type),await this.transport.request({method:"suix_getOwnedObjects",params:[e.owner,{filter:r,options:e.options},e.cursor,e.limit],signal:e.signal})}async getObject(e){if(!e.id||!lc(tn(e.id)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"sui_getObject",params:[e.id,e.options],signal:e.signal})}async tryGetPastObject(e){return await this.transport.request({method:"sui_tryGetPastObject",params:[e.id,e.version,e.options],signal:e.signal})}async multiGetObjects(e){if(e.ids.forEach(n=>{if(!n||!lc(tn(n)))throw new Error(`Invalid Sui Object id ${n}`)}),e.ids.length!==new Set(e.ids).size)throw new Error(`Duplicate object ids in batch call ${e.ids}`);return await this.transport.request({method:"sui_multiGetObjects",params:[e.ids,e.options],signal:e.signal})}async queryTransactionBlocks({filter:e,options:r,cursor:n,limit:s,order:i,signal:o}){return e&&"MoveFunction"in e&&Jt(e.MoveFunction.package)&&(e={...e,MoveFunction:{package:(await this.core.mvr.resolvePackage({package:e.MoveFunction.package})).package}}),await this.transport.request({method:"suix_queryTransactionBlocks",params:[{filter:e,options:r},n,s,(i||"descending")==="descending"],signal:o})}async getTransactionBlock(e){if(!hm(e.digest))throw new Error("Invalid Transaction digest");return await this.transport.request({method:"sui_getTransactionBlock",params:[e.digest,e.options],signal:e.signal})}async multiGetTransactionBlocks(e){if(e.digests.forEach(n=>{if(!hm(n))throw new Error(`Invalid Transaction digest ${n}`)}),e.digests.length!==new Set(e.digests).size)throw new Error(`Duplicate digests in batch call ${e.digests}`);return await this.transport.request({method:"sui_multiGetTransactionBlocks",params:[e.digests,e.options],signal:e.signal})}async executeTransactionBlock({transactionBlock:e,signature:r,options:n,requestType:s,signal:i}){const o=await this.transport.request({method:"sui_executeTransactionBlock",params:[typeof e=="string"?e:St(e),Array.isArray(r)?r:[r],n],signal:i});if(s==="WaitForLocalExecution")try{await this.waitForTransaction({digest:o.digest})}catch{}return o}async signAndExecuteTransaction({transaction:e,signer:r,...n}){let s;e instanceof Uint8Array?s=e:(e.setSenderIfNotSet(r.toSuiAddress()),s=await e.build({client:this}));const{signature:i,bytes:o}=await r.signTransaction(s);return this.executeTransactionBlock({transactionBlock:o,signature:i,...n})}async getTotalTransactionBlocks({signal:e}={}){const r=await this.transport.request({method:"sui_getTotalTransactionBlocks",params:[],signal:e});return BigInt(r)}async getReferenceGasPrice({signal:e}={}){const r=await this.transport.request({method:"suix_getReferenceGasPrice",params:[],signal:e});return BigInt(r)}async getStakes(e){if(!e.owner||!kr(ve(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getStakes",params:[e.owner],signal:e.signal})}async getStakesByIds(e){return e.stakedSuiIds.forEach(r=>{if(!r||!lc(tn(r)))throw new Error(`Invalid Sui Stake id ${r}`)}),await this.transport.request({method:"suix_getStakesByIds",params:[e.stakedSuiIds],signal:e.signal})}async getLatestSuiSystemState({signal:e}={}){return await this.transport.request({method:"suix_getLatestSuiSystemState",params:[],signal:e})}async queryEvents({query:e,cursor:r,limit:n,order:s,signal:i}){return e&&"MoveEventType"in e&&Et(e.MoveEventType)&&(e={...e,MoveEventType:(await this.core.mvr.resolveType({type:e.MoveEventType})).type}),e&&"MoveEventModule"in e&&Jt(e.MoveEventModule.package)&&(e={...e,MoveEventModule:{module:e.MoveEventModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveEventModule.package})).package}}),"MoveModule"in e&&Jt(e.MoveModule.package)&&(e={...e,MoveModule:{module:e.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveModule.package})).package}}),await this.transport.request({method:"suix_queryEvents",params:[e,r,n,(s||"descending")==="descending"],signal:i})}async subscribeEvent(e){return this.transport.subscribe({method:"suix_subscribeEvent",unsubscribe:"suix_unsubscribeEvent",params:[e.filter],onMessage:e.onMessage,signal:e.signal})}async subscribeTransaction(e){return this.transport.subscribe({method:"suix_subscribeTransaction",unsubscribe:"suix_unsubscribeTransaction",params:[e.filter],onMessage:e.onMessage,signal:e.signal})}async devInspectTransactionBlock(e){var n,s;let r;if(b6(e.transactionBlock))e.transactionBlock.setSenderIfNotSet(e.sender),r=St(await e.transactionBlock.build({client:this,onlyTransactionKind:!0}));else if(typeof e.transactionBlock=="string")r=e.transactionBlock;else if(e.transactionBlock instanceof Uint8Array)r=St(e.transactionBlock);else throw new Error("Unknown transaction block format.");return(n=e.signal)==null||n.throwIfAborted(),await this.transport.request({method:"sui_devInspectTransactionBlock",params:[e.sender,r,(s=e.gasPrice)==null?void 0:s.toString(),e.epoch],signal:e.signal})}async dryRunTransactionBlock(e){return await this.transport.request({method:"sui_dryRunTransactionBlock",params:[typeof e.transactionBlock=="string"?e.transactionBlock:St(e.transactionBlock)]})}async getDynamicFields(e){if(!e.parentId||!lc(tn(e.parentId)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"suix_getDynamicFields",params:[e.parentId,e.cursor,e.limit],signal:e.signal})}async getDynamicFieldObject(e){return await this.transport.request({method:"suix_getDynamicFieldObject",params:[e.parentId,e.name],signal:e.signal})}async getLatestCheckpointSequenceNumber({signal:e}={}){const r=await this.transport.request({method:"sui_getLatestCheckpointSequenceNumber",params:[],signal:e});return String(r)}async getCheckpoint(e){return await this.transport.request({method:"sui_getCheckpoint",params:[e.id],signal:e.signal})}async getCheckpoints(e){return await this.transport.request({method:"sui_getCheckpoints",params:[e.cursor,e==null?void 0:e.limit,e.descendingOrder],signal:e.signal})}async getCommitteeInfo(e){return await this.transport.request({method:"suix_getCommitteeInfo",params:[e==null?void 0:e.epoch],signal:e==null?void 0:e.signal})}async getNetworkMetrics({signal:e}={}){return await this.transport.request({method:"suix_getNetworkMetrics",params:[],signal:e})}async getAddressMetrics({signal:e}={}){return await this.transport.request({method:"suix_getLatestAddressMetrics",params:[],signal:e})}async getEpochMetrics(e){return await this.transport.request({method:"suix_getEpochMetrics",params:[e==null?void 0:e.cursor,e==null?void 0:e.limit,e==null?void 0:e.descendingOrder],signal:e==null?void 0:e.signal})}async getAllEpochAddressMetrics(e){return await this.transport.request({method:"suix_getAllEpochAddressMetrics",params:[e==null?void 0:e.descendingOrder],signal:e==null?void 0:e.signal})}async getEpochs(e){return await this.transport.request({method:"suix_getEpochs",params:[e==null?void 0:e.cursor,e==null?void 0:e.limit,e==null?void 0:e.descendingOrder],signal:e==null?void 0:e.signal})}async getMoveCallMetrics({signal:e}={}){return await this.transport.request({method:"suix_getMoveCallMetrics",params:[],signal:e})}async getCurrentEpoch({signal:e}={}){return await this.transport.request({method:"suix_getCurrentEpoch",params:[],signal:e})}async getValidatorsApy({signal:e}={}){return await this.transport.request({method:"suix_getValidatorsApy",params:[],signal:e})}async getChainIdentifier({signal:e}={}){const r=await this.getCheckpoint({id:"0",signal:e}),n=la(r.digest);return Yi(n.slice(0,4))}async resolveNameServiceAddress(e){return await this.transport.request({method:"suix_resolveNameServiceAddress",params:[e.name],signal:e.signal})}async resolveNameServiceNames({format:e="dot",...r}){const{nextCursor:n,hasNextPage:s,data:i}=await this.transport.request({method:"suix_resolveNameServiceNames",params:[r.address,r.cursor,r.limit],signal:r.signal});return{hasNextPage:s,nextCursor:n,data:i.map(o=>bP(o,e))}}async getProtocolConfig(e){return await this.transport.request({method:"sui_getProtocolConfig",params:[e==null?void 0:e.version],signal:e==null?void 0:e.signal})}async verifyZkLoginSignature(e){return await this.transport.request({method:"sui_verifyZkLoginSignature",params:[e.bytes,e.signature,e.intentScope,e.author],signal:e.signal})}async waitForTransaction({signal:e,timeout:r=60*1e3,pollInterval:n=2*1e3,...s}){const i=AbortSignal.timeout(r),o=new Promise((a,c)=>{i.addEventListener("abort",()=>c(i.reason))});for(o.catch(()=>{});!i.aborted;){e==null||e.throwIfAborted();try{return await this.getTransactionBlock(s)}catch{await Promise.race([new Promise(a=>setTimeout(a,n)),o])}}throw i.throwIfAborted(),new Error("Unexpected error while waiting for transaction block.")}}class b4{constructor(e,r,n,s){this.client=new _m({url:cm(n)}),this.url=e instanceof b.Url?e:new b.Url(e),this.account=r,this.network=n,this.auth=s,this.relayer=new so(this.auth,this.url)}get htlcActorAddress(){var e,r;return"accounts"in this.account?((r=(e=this.account.accounts)==null?void 0:e[0])==null?void 0:r.address)??"":this.account.toSuiAddress()}async initiate(e){var r,n,s;if(!e)return b.Err("Order is required");if(Y.isSuiOrderResponse(e))return this.initiateWithCreateOrderResponse(e);try{const{source_swap:i}=e,o=BigInt(i.amount),a=i.asset,c=i.redeemer,u=i.secret_hash,f=await yu(i.asset,this.url);if(!f.ok)return b.Err(f.error);const{tokenAddress:l}=f.val,p=new Jd;p.setSender(this.htlcActorAddress);const[d]=p.splitCoins(p.gas,[o]);p.moveCall({target:`${xd[this.network].packageId}::${xd[this.network].moduleName}::initiate`,typeArguments:[l],arguments:[p.object(a),p.pure.address(this.htlcActorAddress),p.pure.address(c),p.pure.vector("u8",Buffer.from(u,"hex")),p.pure.u64(o),p.pure.u256(i.timelock),p.pure.vector("u8",Buffer.from("")),d,p.object(lO)]});const m=await p.build({client:this.client}),g=await this.client.dryRunTransactionBlock({transactionBlock:m});if(g.effects.status.status==="failure")return b.Err(`${g.effects.status.error}`);let A;if("features"in this.account?A=await((r=this.account.features[I0.SuiSignAndExecuteTransaction])==null?void 0:r.signAndExecuteTransaction({transaction:p,account:this.account.accounts[0],chain:`sui:${this.network}`})):A=await this.client.signAndExecuteTransaction({signer:this.account,transaction:p,options:{showEffects:!0}}),!A)return b.Err("Failed to initiate");const S=await this.client.waitForTransaction({digest:A.digest,options:{showEffects:!0}});return((n=S.effects)==null?void 0:n.status.status)==="failure"?b.Err(`Failed to initiate: ${(s=S.effects)==null?void 0:s.status.error}`):b.Ok(S.digest)}catch(i){return b.Err(i)}}async initiateWithCreateOrderResponse(e){var a,c,u;const{ptb_bytes:r}=e,s=await new _m({url:cm("testnet")}).getReferenceGasPrice(),i=1e7,o=Jd.fromKind(new Uint8Array(r));o.setSender(this.htlcActorAddress),o.setGasPrice(s),o.setGasBudget(i);try{let f;if("features"in this.account?f=await((a=this.account.features[I0.SuiSignAndExecuteTransaction])==null?void 0:a.signAndExecuteTransaction({transaction:o,account:this.account.accounts[0],chain:`sui:${this.network}`})):f=await this.client.signAndExecuteTransaction({signer:this.account,transaction:o,options:{showEffects:!0}}),!f)return b.Err("Failed to initiate");const l=await this.client.waitForTransaction({digest:f.digest,options:{showEffects:!0}});return((c=l.effects)==null?void 0:c.status.status)==="failure"?b.Err(`Failed to initiate: ${(u=l.effects)==null?void 0:u.status.error}`):b.Ok(l.digest)}catch(f){return b.Err(String(f))}}async redeem(e,r){const n=await this.relayer.redeem(e.order_id,r);return n.error?b.Err(n.error):n.val?b.Ok(n.val):b.Err("Redeem: No result found")}async refund(){return b.Err("Refund is taken care of by the relayer")}}function Im(t){let e=t.startsWith("0x")?t.slice(2):t;return e=e.toLowerCase(),e.length>64&&(e=e.slice(e.length-64)),e.length<64&&(e=e.padStart(64,"0")),`0x${e}`}class g4{constructor(e,r,n,s){this.url=typeof e=="string"?new b.Url(e):e,this.auth=n,s instanceof P0.TronWeb?(this.wallet={tronweb:s},this.tronweb=s):(this.wallet={adapter:s},this.tronweb=new P0.TronWeb({fullHost:r3[r]})),this.relayer=new so(this.auth,this.url)}get htlcActorAddress(){var e,r,n;return(e=this.wallet.adapter)!=null&&e.address?this.wallet.adapter.address:this.wallet.tronweb?((r=this.wallet.tronweb.defaultAddress)==null?void 0:r.base58)||"":((n=this.tronweb.defaultAddress)==null?void 0:n.base58)||""}async initiate(e){if(Y.isEvmOrderResponse(e))return this.initiateDirectContractCall(e);try{const{source_swap:r}=e,n=await yu(r.asset,this.url);if(!n.ok)return b.Err(n.error);const{htlcAddress:s}=n.val;return await this.executeContractCall({contractAddress:s,method:"initiate(address,uint256,uint256,bytes32,bytes)",parameters:[{type:"address",value:r.redeemer},{type:"uint256",value:r.timelock},{type:"uint256",value:BigInt(r.amount)},{type:"bytes32",value:Im(String(r.secret_hash))},{type:"bytes",value:"0x"}],options:{}})}catch(r){return b.Err(`Failed to initiate: ${String(r)}`)}}async initiateDirectContractCall(e){var l;if(!this.htlcActorAddress)return b.Err("No HTLC actor address found");if(e.approval_transaction){const p=await this.executeApprovalTransaction(e);if(p.error)return b.Err(p.error)}if(!e.initiate_transaction)return b.Err("No initiate transaction data available for direct contract call");if(!((l=e.typed_data)!=null&&l.message))return b.Err("No typed data message found in order response");const{to:r,value:n,gas_limit:s}=e.initiate_transaction,{redeemer:i,timelock:o,amount:a,secretHash:c,destinationData:u}=e.typed_data.message,f=await this.executeContractCall({contractAddress:r,method:"initiate(address,uint256,uint256,bytes32,bytes)",parameters:[{type:"address",value:i},{type:"uint256",value:o},{type:"uint256",value:a},{type:"bytes32",value:Im(String(c))},{type:"bytes",value:u}],options:{feeLimit:parseInt(s),callValue:n?parseInt(n):0}});return!f.val||f.error?b.Err("Failed to initiate"+(f.error||"")):await this.waitForTransactionConfirmation(f.val)}async executeApprovalTransaction(e){if(console.log("No Allowance found, Executing Approval"),!this.htlcActorAddress)return b.Err("No HTLC actor address found");const r=e.approval_transaction;if(!r)return b.Ok("No approval transaction required");try{const n="0x"+r.data.slice(10),s=this.tronweb.utils.abi.decodeParams(["spender","amount"],["address","uint256"],n,!1);return await this.executeContractCall({contractAddress:r.to,method:"approve(address,uint256)",parameters:[{type:"address",value:s.spender},{type:"uint256",value:s.amount.toString()}],options:{feeLimit:Number(r.gas_limit),callValue:0}})}catch(n){return b.Err(`Approval transaction failed: ${String(n)}`)}}async executeContractCall({contractAddress:e,method:r,parameters:n,options:s}){try{const i=await this.tronweb.transactionBuilder.triggerSmartContract(e,r,s,n,this.htlcActorAddress);if(!(i!=null&&i.transaction))return b.Err("Failed to build transaction");const o=await this.signTransaction(i.transaction);if(o.error)return b.Err(o.error);const a=await this.tronweb.trx.sendRawTransaction(o.val);return a.result?(console.log("Transaction successful, txid:",a.txid),b.Ok(a.txid)):b.Err(String(a.message)||String(a.code)||"Transaction broadcast failed")}catch(i){return b.Err(`Contract call failed: ${String(i)}`)}}async signTransaction(e){if(this.wallet.adapter)try{const r=await this.wallet.adapter.signTransaction(e);return b.Ok(r)}catch(r){return b.Err(`Adapter signing failed: ${String(r)}`)}if(this.wallet.tronweb)try{const r=await this.wallet.tronweb.trx.sign(e);return b.Ok(r)}catch(r){return b.Err(`TronWeb signing failed: ${String(r)}`)}return b.Err("No signing method available (no adapter or TronWeb instance)")}async waitForTransactionConfirmation(e,r=30,n=3e3){for(let s=0;s<r;s++){try{const i=await this.tronweb.trx.getTransaction(e);if(!i)return b.Err("Transaction not found");if(i.txID&&i.ret[0].contractRet==="SUCCESS")return b.Ok(i.txID);if(i.ret[0].contractRet==="FAILED")return b.Err("Transaction failed on-chain")}catch(i){return b.Err(`Error checking transaction: ${String(i)}`)}await new Promise(i=>setTimeout(i,n))}return b.Err("Transaction confirmation timeout")}async redeem(e,r){const n=await this.relayer.redeem(e.order_id,r);return n.error?b.Err(n.error):b.Ok(n.val)}async refund(){return b.Err("Refund is taken care of by the relayer")}}const w4=t=>{if(t)if(typeof t=="string"){const e=b.DigestKey.from(t);if(!e.ok)throw new Error(e.error);return e.val}else return t},Pm=t=>typeof t=="string"?new b.ApiKey(t):t;class v4{constructor(e={}){const r={stdTTL:e.ttl?e.ttl/1e3:3600,checkperiod:600};this.cache=new I6(r)}makeKey(e,r){return`${e}:${r}`}set(e,r,n,s){const i=this.makeKey(e,r);s?this.cache.set(i,n,s/1e3):this.cache.set(i,n)}get(e,r){const n=this.makeKey(e,r);return this.cache.get(n)}remove(e,r){const n=this.makeKey(e,r);this.cache.del(n)}clear(e){if(e){const r=this.cache.keys().filter(n=>n.startsWith(`${e}:`));this.cache.del(r)}else this.cache.flushAll()}setBitcoinRedeem(e,r,n){this.set("bitcoinRedeem",e,r,n)}getBitcoinRedeem(e){return this.get("bitcoinRedeem",e)}setOrderExecution(e,r,n,s,i){const o=this.makeOrderKey(e,r),a={txHash:n,timeStamp:Date.now(),btcRedeemUTXO:s};this.set("orderExecutor",o,a,i)}getOrderExecution(e,r){const n=this.makeOrderKey(e,r);return this.get("orderExecutor",n)}removeOrderExecution(e,r){const n=this.makeOrderKey(e,r);this.remove("orderExecutor",n)}makeOrderKey(e,r){return`${r}_${e.order_id??e.created_at}`}setSacpCache(e,r,n){this.set("refundSacp",e,r,n)}getSacpCache(e){return this.get("refundSacp",e)}has(e,r){const n=this.makeKey(e,r);return this.cache.has(n)}peek(e,r){return this.get(e,r)}getRemainingTTL(e,r){const n=this.makeKey(e,r),s=this.cache.getTtl(n);if(s===void 0)return-1;const i=Date.now();return Math.max(0,s-i)}}var ma,ba,ga,De,Mi,os;class E4{constructor(e,r,n,s,i,o){ks(this,ma);ks(this,ba);ks(this,ga);ks(this,De);ks(this,Mi);ks(this,os);this.isBackgroundServiceRunning=!1,this.stopBackgroundExecution=null,this.htlcs=r,this.events=o,Ts(this,ma,e),Ts(this,ba,n),Ts(this,ga,Wi.fromDigestKey(e.digestKey)),Ts(this,De,new v4),Ts(this,Mi,s),Ts(this,os,i)}async getAddressesFromHTLCs(){var n,s,i,o,a,c;const e=new Set;return[(n=this.htlcs.evm)==null?void 0:n.htlcActorAddress,(s=this.htlcs.sui)==null?void 0:s.htlcActorAddress,(i=this.htlcs.solana)==null?void 0:i.htlcActorAddress,(o=this.htlcs.starknet)==null?void 0:o.htlcActorAddress,(a=this.htlcs.bitcoin)==null?void 0:a.htlcActorAddress,(c=this.htlcs.tron)==null?void 0:c.htlcActorAddress].filter(u=>!!u&&u.length>0).forEach(u=>e.add(u.toLowerCase())),Array.from(e)}start(e=5e3,r){this.isBackgroundServiceRunning||this.stopBackgroundExecution||(this.isBackgroundServiceRunning=!0,(async()=>{try{if(r){this.stop();return}const n=await this.execute(e);n&&(this.stopBackgroundExecution=n)}catch(n){console.error("Error starting background executor:",n),this.isBackgroundServiceRunning=!1}})())}stop(){if(this.stopBackgroundExecution){try{this.stopBackgroundExecution()}catch{console.error("Error stopping background executor")}this.stopBackgroundExecution=null}this.isBackgroundServiceRunning=!1}async execute(e=5e3){const r=await this.getAddressesFromHTLCs();r.length===0&&r.push(Te(this,ma).userId.toLowerCase());let n=!1,s=null;const i=async()=>{if(!n){n=!0;try{const o=r.map(async c=>{try{const u=await Te(this,ba).getOrders({from_owner:c,status:Y.OrderLifecycle.pending,per_page:500});return u.ok?u.val.data:(this.events.emit("error",{},`Failed to fetch orders for address ${c}: ${u.error}`),[])}catch(u){return this.events.emit("error",{},`Failed to fetch orders for address ${c}: ${u}`),[]}}),a=await Promise.all(o);this.events.emit("onPendingOrdersChanged",a.flat()),await this.processOrderActions(a.flat())}finally{n=!1}}};return await i(),s=setInterval(i,e),()=>{s&&clearInterval(s)}}async processOrderActions(e){const r=new Set([Y.OrderStatus.InitiateDetected,Y.OrderStatus.AwaitingRefund,Y.OrderStatus.Initiated,Y.OrderStatus.RefundDetected,Y.OrderStatus.Refunded,Y.OrderStatus.Expired]),n=e.map(async s=>{try{Y.isBitcoin(s.source_swap.chain)&&r.has(s.status)&&!Y.isCompleted(s)&&await this.postRefundSACP(s),Y.parseAction(s)===Y.OrderAction.Redeem&&await this.handleRedeemAction(s)}catch(i){this.events.emit("error",s,`Error processing order ${s.order_id}: ${i}`)}});await Promise.all(n)}async handleRedeemAction(e){const r=await Te(this,ga).generateSecret(e.nonce);if(!r.ok){this.events.emit("error",e,r.error);return}const n=b.trim0x(r.val.secretHash),s=b.trim0x(e.source_swap.secret_hash);if(n!==s){this.events.emit("log",e.order_id,"skipping redeem: secret hash mismatch");return}const i=r.val.secret,o=Y.getBlockchainType(e.destination_swap.chain),c={[Y.BlockchainType.evm]:()=>this.evmRedeem(e,i),[Y.BlockchainType.bitcoin]:()=>this.btcRedeem(e,i),[Y.BlockchainType.starknet]:()=>this.starknetRedeem(e,i),[Y.BlockchainType.solana]:()=>this.solRedeem(e,i),[Y.BlockchainType.sui]:()=>this.suiRedeem(e,i),[Y.BlockchainType.tron]:()=>this.tronRedeem(e,i)}[o];c?await c():this.events.emit("error",e,`Unsupported chain: ${e.destination_swap.chain}`)}async evmRedeem(e,r){if(this.events.emit("log",e.order_id,"executing evm redeem"),Te(this,De).getOrderExecution(e,Y.OrderAction.Redeem)){this.events.emit("log",e.order_id,"already redeemed");return}if(!this.htlcs.evm){this.events.emit("error",e,"EVM HTLC is required");return}const s=await this.htlcs.evm.redeem(e,r);if(!s.ok){this.events.emit("error",e,s.error),s.error.includes("Order already redeemed")&&Te(this,De).setOrderExecution(e,Y.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}Te(this,De).setOrderExecution(e,Y.OrderAction.Redeem,s.val),this.events.emit("success",e,Y.OrderAction.Redeem,s.val)}async starknetRedeem(e,r){if(this.events.emit("log",e.order_id,"executing starknet redeem"),Te(this,De).getOrderExecution(e,Y.OrderAction.Redeem)){this.events.emit("log",e.order_id,"already redeemed");return}if(!this.htlcs.starknet){this.events.emit("error",e,"Starknet HTLC is required");return}const s=await this.htlcs.starknet.redeem(e,r);if(!s.ok){this.events.emit("error",e,s.error),s.error.includes("Order already redeemed")&&Te(this,De).setOrderExecution(e,Y.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}s.val&&(Te(this,De).setOrderExecution(e,Y.OrderAction.Redeem,s.val),this.events.emit("success",e,Y.OrderAction.Redeem,s.val))}async solRedeem(e,r){if(this.events.emit("log",e.order_id,"executing sol redeem"),Te(this,De).getOrderExecution(e,Y.OrderAction.Redeem)){this.events.emit("log",e.order_id,"already redeemed");return}if(!this.htlcs.solana){this.events.emit("error",e,"Solana HTLC is required");return}const s=await this.htlcs.solana.redeem(e,r);if(s.error){this.events.emit("error",e,s.error),s.error.includes("Order already redeemed")&&Te(this,De).setOrderExecution(e,Y.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}s.val&&(Te(this,De).setOrderExecution(e,Y.OrderAction.Redeem,s.val),this.events.emit("success",e,Y.OrderAction.Redeem,s.val))}async suiRedeem(e,r){if(this.events.emit("log",e.order_id,"executing sui redeem"),Te(this,De).getOrderExecution(e,Y.OrderAction.Redeem)){this.events.emit("log",e.order_id,"already redeemed");return}if(!this.htlcs.sui){this.events.emit("error",e,"Sui HTLC is required");return}const s=await this.htlcs.sui.redeem(e,r);if(s.error){this.events.emit("error",e,s.error),s.error.includes("Order already redeemed")&&Te(this,De).setOrderExecution(e,Y.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}s.val&&(Te(this,De).setOrderExecution(e,Y.OrderAction.Redeem,s.val),this.events.emit("success",e,Y.OrderAction.Redeem,s.val))}async tronRedeem(e,r){if(this.events.emit("log",e.order_id,"executing tron redeem"),Te(this,De).getOrderExecution(e,Y.OrderAction.Redeem)){this.events.emit("log",e.order_id,"already redeemed");return}if(!this.htlcs.tron){this.events.emit("error",e,"Tron HTLC is required");return}const s=await this.htlcs.tron.redeem(e,r);if(s.error){this.events.emit("error",e,s.error),s.error.includes("Order already redeemed")&&Te(this,De).setOrderExecution(e,Y.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}s.val&&(Te(this,De).setOrderExecution(e,Y.OrderAction.Redeem,s.val),this.events.emit("success",e,Y.OrderAction.Redeem,s.val))}async btcRedeem(e,r){var a,c;const n=(a=this.htlcs.bitcoin)==null?void 0:a.getProvider();if(!n){this.events.emit("error",e,"Bitcoin provider not found");return}const s=Te(this,De).getBitcoinRedeem(e.order_id),i=(c=e.destination_swap.initiate_tx_hash.split(",").at(-1))==null?void 0:c.split(":").at(0);if(!i){this.events.emit("error",e,"Failed to get initiate_tx_hash");return}let o=!1;if(s)if(s.redeemedFromUTXO&&s.redeemedFromUTXO!==i)o=!0,this.events.emit("log",e.order_id,"rbf btc redeem");else if(s.redeemedAt&&Date.now()-s.redeemedAt>1e3*60*15)this.events.emit("log",e.order_id,"redeem not confirmed in last 15 minutes"),o=!0;else{this.events.emit("log",e.order_id,"btcRedeem: already redeemed");return}else if(e.destination_swap.redeem_tx_hash&&!Number(e.destination_swap.redeem_block_number))try{const u=await(await n).getTransaction(e.destination_swap.redeem_tx_hash);let f=!1;for(const l of u.vin)if(l.txid===i){f=!0;break}if(f){this.events.emit("log",e.order_id,"already a valid redeem");let l=0;try{const[p]=await(await n).getTransactionTimes([e.destination_swap.redeem_tx_hash]);p!==0&&(l=p)}catch{l=Date.now()}Te(this,De).setBitcoinRedeem(e.order_id,{redeemedFromUTXO:i,redeemedAt:l,redeemTxHash:e.destination_swap.redeem_tx_hash});return}o=!0}catch(u){if(u.message.includes("Transaction not found"))o=!0;else{this.events.emit("error",e,"Failed to get redeem tx: "+u);return}}this.events.emit("log",e.order_id,"executing btc redeem");try{if(!this.htlcs.bitcoin){this.events.emit("error",e,"Bitcoin HTLC is required");return}const u=await this.htlcs.bitcoin.getRedeemHex(e,b.trim0x(r),o?[i]:[]);if(!u.ok){this.events.emit("error",e,"Failed to get redeem hex");return}const f=await this.broadcastRedeemTx(u.val,e.order_id);if(!f.ok){this.events.emit("error",e,f.error||"Failed to broadcast redeem tx");return}o?(this.events.emit("log",e.order_id,"rbf: btc redeem success"),this.events.emit("rbf",e,f.val)):this.events.emit("success",e,Y.OrderAction.Redeem,f.val),Te(this,De).setBitcoinRedeem(e.order_id,{redeemedFromUTXO:i,redeemedAt:Date.now(),redeemTxHash:f.val})}catch(u){this.events.emit("error",e,"Failed btc redeem: "+u)}}async postRefundSACP(e){if(e.source_swap.delegate)try{if(!this.htlcs.bitcoin){this.events.emit("error",e,"Bitcoin HTLC is required");return}const n=await Te(this,Mi).getAuthHeaders();if(n.error){this.events.emit("error",e,"Failed to get auth headers: "+n.error);return}const s=await b.Fetcher.post(new b.Url(Te(this,os).baseurl).endpoint("relayer/bitcoin/instant-refund-hash"),{body:JSON.stringify({order_id:e.order_id}),headers:{"Content-Type":"application/json",...n.val}});if(s.error||!s.result){this.events.emit("error",e,"Failed to get hash while posting instant refund SACP: "+s.error);return}const i=await this.htlcs.bitcoin.generateInstantRefundSACPWithHash(s.result),o=new b.Url(Te(this,os).baseurl).endpoint("relayer/bitcoin/instant-refund");(await b.Fetcher.post(o,{headers:{"Content-Type":"application/json",...n.val},body:JSON.stringify({order_id:e.order_id,signatures:i.val})})).ok&&Te(this,De).setSacpCache(e.order_id,{initTxHash:e.source_swap.initiate_tx_hash})}catch(n){this.events.emit("error",e,"Failed to generate and post SACP: "+n);return}}async broadcastRedeemTx(e,r){try{if(!Te(this,os))return b.Err("API not found");const n=new b.Url(Te(this,os).relayer).endpoint("/bitcoin/redeem "),s=await Te(this,Mi).getAuthHeaders(),o=await(await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...s.val},body:JSON.stringify({redeem_tx_bytes:e,order_id:r})})).json();return o.status==="Ok"&&o.result?b.Ok(o.result):b.Err(o.error)}catch(n){return b.Err("Failed to broadcast redeem tx: "+n)}}}ma=new WeakMap,ba=new WeakMap,ga=new WeakMap,De=new WeakMap,Mi=new WeakMap,os=new WeakMap;const vo={p2wpkh:"p2wpkh","p2wpkh-p2sh":"p2wpkh-p2sh"},Tc={ALL:me.Transaction.SIGHASH_ALL,NONE:me.Transaction.SIGHASH_NONE,SINGLE:me.Transaction.SIGHASH_SINGLE,ALL_ANYONECANPAY:me.Transaction.SIGHASH_ALL|me.Transaction.SIGHASH_ANYONECANPAY,NONE_ANYONECANPAY:me.Transaction.SIGHASH_NONE|me.Transaction.SIGHASH_ANYONECANPAY,SINGLE_ANYONECANPAY:me.Transaction.SIGHASH_SINGLE|me.Transaction.SIGHASH_ANYONECANPAY};class qs{constructor(e,r){this._scriptType=e,this._sigHashType=r}get scriptType(){return this._scriptType}get sigHashType(){return this._sigHashType}toString(){return`${this._scriptType} ${this._sigHashType}`}static async fromString(e){const[r,n]=e.split(" "),s=await O0.mixed().oneOf(["segwitV0","segwitV1","p2shSignature"]).required().validate(r),i=await O0.mixed().oneOf(Object.values(Tc)).required().validate(parseInt(n));return new qs(s,i)}}const Bs={INVALID_PK:"invalid private key",FEE_EXCEEDS_AMOUNT:(t,e)=>`fee exceeds amount: fee: ${t} > amount: ${e}`,SWAP_NOT_FOUND:"swap config not found, please set the swap config first",SCRIPT_NOT_FUNDED:"script not funded",SWAP_NOT_EXPIRED:t=>`swap not expired. Need ${t} more blocks`,MIN_AMOUNT:t=>`amount is too low. Minimum amount is ${t}`,INSUFFICIENT_FUNDS:(t,e)=>`insufficient funds, need ${e} but got ${t}`,AmtPlusFeeExceedsBalance:(t,e,r)=>`amount + fee exceeds balance. Need ${t+e} but got ${r}`},_o={INVALID_SECRET_HASH:"invalid secret hash",INVALID_PUBKEY_OR_SECRET:"invalid public key or secret",INVALID_PUBKEY:"invalid public key",ORDER_NOT_EXPIRED:"you cannot refund before your transaction expires"},A4=(t,e,r=!1)=>{const n=o=>{try{o=me.address.fromBech32(o).data.toString("hex")}catch(a){if(_d(a))(a.message.includes("Mixed-case string")||a.message.includes("too short"))&&(o=me.address.fromBase58Check(o).hash.toString("hex"));else throw new Error(String(a))}return o},s=me.script.fromASM(`
|
|
87
|
+
OP_IF
|
|
88
|
+
OP_SHA256
|
|
89
|
+
${t.secretHash}
|
|
90
|
+
OP_EQUALVERIFY
|
|
91
|
+
OP_DUP
|
|
92
|
+
OP_HASH160
|
|
93
|
+
${n(t.recipientAddress.address)}
|
|
94
|
+
OP_ELSE
|
|
95
|
+
${me.script.number.encode(t.expiryBlocks).toString("hex")}
|
|
96
|
+
OP_CHECKSEQUENCEVERIFY
|
|
97
|
+
OP_DROP
|
|
98
|
+
OP_DUP
|
|
99
|
+
OP_HASH160
|
|
100
|
+
${n(t.refundAddress.address)}
|
|
101
|
+
OP_ENDIF
|
|
102
|
+
OP_EQUALVERIFY
|
|
103
|
+
OP_CHECKSIG
|
|
104
|
+
`.trim().replace(/\s+/g," ")),i=me.payments[r?"p2sh":"p2wsh"]({redeem:{output:s},network:e});if(!i.address)throw new Error("Could not build address");return{script:s,address:i.address}},Fo={P2SH:"p2sh",P2WSH:"p2wsh",P2TR:"p2tr"};var A6=(t=>(t[t.Bitcoin=0]="Bitcoin",t[t.EVM=1]="EVM",t))(A6||{});class S4{addSignatureSegwitV0(e=Tc.ALL){return new qs("segwitV0",e)}addSignatureP2sh(e=Tc.ALL){return new qs("p2shSignature",e)}addSignatureSegwitV1(e=Tc.ALL){return new qs("segwitV1",e)}chain(){return A6.Bitcoin}async addAllInputs(e,r,n,s){const i=(s==null?void 0:s.utxos)||await n.getUTXOs(r);for(const o of i){const a=await n.getTxIndex(o.txid,r);e.addInput(Td(o.txid),a,s==null?void 0:s.nSequence)}return e}async suggestFee(e,r){const n=await this.getAddress();return(await this.getProvider()).suggestFee(n,e,r)}async toOutputScript(e){return me.address.toOutputScript(e,await this.getNetwork())}totalValueFromUTXOs(e){return e.reduce((r,n)=>r+n.value,0)}async scriptToAddress(e){const r=me.payments.p2wsh({redeem:{output:e},network:await this.getNetwork()});if(!r.address)throw new Error("Could not generate p2wsh address");return r.address}async newSwap(e){if(e.secretHash=b.trim0x(e.secretHash),e.secretHash.length!==64)throw new Error(_o.INVALID_SECRET_HASH);const{script:r,address:n}=A4(e,await this.getNetwork());return new x4(this,{...e,redeemScript:r,scriptAddress:n})}getScriptType(e,r){try{if(me.address.fromBase58Check(e).version===r.scriptHash)return Fo.P2SH}catch{const s=me.address.fromBech32(e);if(s.prefix!==r.bech32)throw new Error("Invalid address");if(s.version===0){if(s.data.length===32)return Fo.P2WSH}else if(s.version===1&&s.data.length===32)return Fo.P2TR}throw new Error("Unsupported script type")}}class x4{constructor(e,r){if(r.secretHash=b.trim0x(r.secretHash),r.secretHash.length!==64)throw new Error(_o.INVALID_SECRET_HASH);this.wallet=e,this.swap=r}id(){return this.swap.scriptAddress}async init(){return this.wallet.send(this.swap.scriptAddress,+this.swap.amount.toString())}async redeem(e,r){e=b.trim0x(e);const n=[this.wallet.addSignatureSegwitV0(),Buffer.from(await this.wallet.getPublicKey(),"hex"),Buffer.from(e,"hex"),me.script.number.encode(1),this.swap.redeemScript],s=me.payments.p2wsh({redeem:{output:this.swap.redeemScript},network:await this.wallet.getNetwork()}).address;if(!s)throw new Error("Could not generate p2wsh address for redeem script");try{return await this.wallet.spend(this.swap.redeemScript,s,{witness:n,toAddress:r})}catch(i){throw _d(i)?i.message.includes("OP_EQUALVERIFY")?new Error(_o.INVALID_PUBKEY_OR_SECRET):new Error(i.message):new Error(String(i))}}async refund(e){const r=[this.wallet.addSignatureSegwitV0(),Buffer.from(await this.wallet.getPublicKey(),"hex"),me.script.number.encode(0),this.swap.redeemScript];try{const n=me.payments.p2wsh({redeem:{output:this.swap.redeemScript},network:await this.wallet.getNetwork()}).address;if(!n)throw new Error("Could not generate p2wsh address for refund script");return await this.wallet.spend(this.swap.redeemScript,n,{toAddress:e,witness:r,nSequence:this.swap.expiryBlocks})}catch(n){throw _d(n)?n.message.includes("OP_EQUALVERIFY")?new Error(_o.INVALID_PUBKEY):n.message.includes("BIP")?new Error(_o.ORDER_NOT_EXPIRED):new Error(n.message):new Error(String(n))}}}const jl=(t,e,r,n)=>`m/${t}'/${e===Cr.Mainnet?0:1}'/${r}'/0/${n??0}`,S6={bip44:(t,e,r)=>jl("44",t,r??0,e),bip49:(t,e,r)=>jl("49",t,r??0,e),bip84:(t,e,r)=>jl("84",t,r??0,e)};function Hl(t){if(t===Cr.Mainnet)return me.networks.bitcoin;if(t===Cr.Testnet)return me.networks.testnet;if(t===Cr.Regtest)return me.networks.regtest;throw new Error("Invalid network")}function k4(t,e,r){if(!B0.validateMnemonic(t))throw new Error("Invalid mnemonic");const n=(r==null?void 0:r.path)??S6.bip44(e,(r==null?void 0:r.index)??0),s=P6.BIP32Factory(mr).fromSeed(B0.mnemonicToSeedSync(t));return T4(s,n)}const T4=(t,e)=>{const r=t.derivePath(e).privateKey;if(!r)throw new Error("Unable to derive private key from mnemonic");return r.toString("hex")};me.initEccLib(mr);class $s extends S4{constructor({privateKey:e,provider:r,pkPath:n,pkType:s}){const i=hc.ECPairFactory(mr),o=Hl(r.getNetwork()),a=Buffer.from(e,"hex");if(a.length===0)throw new Error("invalid private key");super(),this.minAmt=1e3,this.path=n||"",this.pkType=s,this.signer=i.fromPrivateKey(a,{network:o}),this.provider=r,this.network=o}static fromMnemonic(e,r,n){const s=S6.bip84(r.getNetwork(),n==null?void 0:n.index),i=k4(e,r.getNetwork(),{path:s});return new $s({privateKey:i,provider:r,pkType:vo.p2wpkh,pkPath:s})}static fromPrivateKey(e,r,n){return new $s({privateKey:e,provider:r,pkType:(n==null?void 0:n.pkType)??vo.p2wpkh,pkPath:(n==null?void 0:n.pkPath)??"unknown"})}static createRandom(e){const r=hc.ECPairFactory(mr),n=Hl(e.getNetwork()),s=r.makeRandom({network:n});if(!s.privateKey)throw new Error("Failed to create random key");return new $s({privateKey:s.privateKey.toString("hex"),provider:e,pkType:vo.p2wpkh,pkPath:"unknown"})}static fromWIF(e,r,n){const s=hc.ECPairFactory(mr),i=Hl(r.getNetwork()),o=s.fromWIF(e,i);if(!o.privateKey)throw new Error("Invalid WIF");return $s.fromPrivateKey(o.privateKey.toString("hex"),r,n)}walletConfig(){return{network:this.provider.getNetwork(),path:this.path,addressType:this.pkType}}async spend(e,r,{toAddress:n,fee:s,nSequence:i,unlockScript:o,witness:a}){var p;const c=this.getScriptType(r,this.network),u=await this.provider.getBalance(r);if(u===0)throw new Error(Bs.SCRIPT_NOT_FUNDED);let f=new me.Transaction;if(f.version=2,s??(s=await this.provider.suggestFee(r,u,Ci.FAST)),s>u)throw new Error(Bs.FEE_EXCEEDS_AMOUNT(s,u));const l=await this.provider.getUTXOs(r);f=await this.addAllInputs(f,r,this.provider,{nSequence:i,utxos:l}),f.addOutput(await this.toOutputScript(n??await this.getAddress()),u-s);for(let d=0;d<f.ins.length;d++)if(c===Fo.P2SH){if(!o)throw new Error("Unlock script is required for p2sh");const m=[];for(const A of o)if(A instanceof qs){const S=A.sigHashType,_=f.hashForSignature(d,e,S);m.push(me.script.signature.encode(Buffer.from(await this.sign(_.toString("hex")),"hex"),S))}else m.push(A);const g=(p=me.payments.p2sh({redeem:{input:me.script.compile(m),output:e},network:this.network}).redeem)==null?void 0:p.input;f.setInputScript(d,g)}else if(c===Fo.P2WSH){if(!a)throw new Error("Witness is required for p2wsh");const m=[];for(const g of a)if(g instanceof qs){const A=g.sigHashType,S=f.hashForWitnessV0(d,e,l[d].value,A);m.push(me.script.signature.encode(Buffer.from(await this.sign(S.toString("hex")),"hex"),A))}else m.push(g);f.setWitness(d,m)}else throw new Error("Invalid script type "+c);return this.provider.broadcast(f.toHex())}async getAddress(){if(this.pkType===vo["p2wpkh-p2sh"]){const{address:r}=me.payments.p2sh({redeem:me.payments.p2wpkh({pubkey:this.signer.publicKey,network:this.network}),network:this.network});if(!r)throw new Error("failed to get the p2wpkh-p2sh address");return r}const{address:e}=me.payments[this.pkType]({pubkey:this.signer.publicKey,network:this.network});if(!e)throw new Error("failed to get the p2wpkh address");return e}getProvider(){return Promise.resolve(this.provider)}async getBalance(){return this.provider.getBalance(await this.getAddress())}getPublicKey(){return this.signer.publicKey.toString("hex")}getNetwork(){return Promise.resolve(this.network)}static async generateUnsignedPSBT(e,r,n,s,i,o){if(o||(o=await e.suggestFee(n,i,Ci.FAST)),o>i)throw new Error(Bs.FEE_EXCEEDS_AMOUNT(o,i));const a=await e.getUTXOs(n,i+o),c=a.reduce((l,p)=>l+p.value,0);if(c<i+o)throw new Error(Bs.INSUFFICIENT_FUNDS(c,i+o));const u=new me.Psbt({network:r});for(const l of a){const p=await e.getTransactionHex(l.txid);u.addInput({hash:Td(l.txid),index:l.vout,nonWitnessUtxo:Buffer.from(p,"hex")})}const f=c-i-o;return u.addOutput({address:s,value:i}),f>546&&u.addOutput({address:n,value:f}),{txHex:u.toHex(),utxoCount:a.length}}async _send(e,r,n){var u;if(n||(n=await this.provider.suggestFee(await this.getAddress(),r,Ci.FAST)),n>r)throw new Error(Bs.FEE_EXCEEDS_AMOUNT(n,r));if(r<this.minAmt)throw new Error(Bs.MIN_AMOUNT(this.minAmt));const s=await this.getAddress(),i=await this.provider.getUTXOs(s,r+n),o=i.reduce((f,l)=>f+l.value,0),a=new me.Psbt({network:this.network});for(const f of i){const l=await this.provider.getTransactionHex(f.txid),p=await this.provider.getTransaction(f.txid);let d;this.pkType===vo["p2wpkh-p2sh"]&&(d={witnessUtxo:{script:Buffer.from(p.vout[f.vout].scriptpubkey,"hex"),value:f.value},redeemScript:(u=me.payments.p2sh({redeem:me.payments.p2wpkh({pubkey:this.signer.publicKey,network:this.network}),network:this.network}).redeem)==null?void 0:u.output}),a.addInput({hash:Td(f.txid),index:f.vout,nonWitnessUtxo:Buffer.from(l,"hex"),...d})}const c=o-r-n;return a.addOutput({address:e,value:r}),c>0&&a.addOutput({address:s,value:c}),a.signAllInputs(this.signer).finalizeAllInputs(),a.extractTransaction().toHex()}async send(e,r,n){const s=await this._send(e,r,n);return this.provider.broadcast(s)}async sign(e){return e=e.startsWith("0x")?e.slice(2):e,this.signer.sign(Buffer.from(e,"hex")).toString("hex")}async signSchnorr(e){return this.signer.signSchnorr(e)}}const _4=t=>t.map(e=>e),I4=t=>{if(t===b.Network.TESTNET)return P4;if(t===b.Network.MAINNET)return O4;throw new Error("Invalid network")},P4=["https://mempool.space/testnet4/api"],O4=["https://mempool.space/api","https://blockstream.info/api"],Om=t=>t.sort((e,r)=>e.status.confirmed!=r.status.confirmed?e.status.confirmed?-1:1:r.value-e.value);class x6{constructor(e,r){this.cacheTimeout=2e3,this.utxosCache=new Map,this.APIs=r?_4([r]):I4(e),this.network=h3(e)}async getTxIndex(e,r){const n=this.APIs.map(i=>`${i}/tx/${e}`),{vout:s}=await b.Fetcher.getWithFallback(n);for(let i=0;i<s.length;i++)if(s[i].scriptpubkey_address===r)return i;throw new Error("failed to get tx index")}async broadcast(e){if(!/^[0-9a-fA-F]+$/.test(e))throw new Error("invalid tx hex");for(let r=0;r<5;r++)try{return b.Fetcher.postWithFallback(this.APIs.map(n=>`${n}/tx`),{body:e})}catch(n){if(r===4)throw n;await new Promise(s=>setTimeout(s,500))}throw new Error("failed to broadcast tx")}async getBalance(e){return(await this.getUTXOs(e)).reduce((r,n)=>r+n.value,0)}setTimeoutForCache(e){this.cacheTimeout=e}async getUTXOs(e,r){const n=this.utxosCache.get(e);if(n&&Date.now()-n.timestamp<this.cacheTimeout)return Bm(n.utxos,r);const s=await b.Fetcher.getWithFallback(this.APIs.map(i=>`${i}/address/${e}/utxo`),{signal:AbortSignal.timeout(5e3)});return this.utxosCache.set(e,{timestamp:Date.now(),utxos:s}),Bm(s,r)}async getTransactionHex(e){return b.Fetcher.getWithFallback(this.APIs.map(r=>`${r}/tx/${e}/hex`))}async getTransaction(e){return b.Fetcher.getWithFallback(this.APIs.map(r=>`${r}/tx/${e}`))}async getConfirmations(e){const r=await this.getTransaction(e);return!r.status.confirmed||!r.status.block_height?0:await this.getLatestTip()-r.status.block_height+1}async getFeeRates(){if(this.network===Cr.Regtest)return{fastestFee:8,halfHourFee:7,hourFee:6,economyFee:4,minimumFee:2};let e="";this.network===Cr.Testnet&&(e="testnet4/");const r=`https://mempool.space/${e}api/v1/fees/recommended`,n=`https://blockstream.info/${e}api/fee-estimates`,s=await b.Fetcher.getWithFallback([r,n],{signal:AbortSignal.timeout(5e3)});return"fastestFee"in s?s.fastestFee===1?{fastestFee:2,halfHourFee:2,hourFee:2,economyFee:2,minimumFee:2}:s:{fastestFee:s[1],halfHourFee:s[5],hourFee:s[10],economyFee:s[20],minimumFee:s[25]}}async getTransactions(e,r){const n=await b.Fetcher.getWithFallback(this.APIs.map(s=>`${s}/address/${e}/txs`));if(r===mc.ALL)return n;if(r===mc.IN)return n.filter(s=>s.vout.find(i=>i.scriptpubkey_address===e));if(r===mc.OUT)return n.filter(s=>s.vin.find(i=>i.prevout.scriptpubkey_address===e));throw new Error("failed to get transactions: invalid bitcoin tx type")}getNetwork(){return this.network}async getLatestTip(){return b.Fetcher.getWithFallback(this.APIs.map(e=>`${e}/blocks/tip/height`))}async suggestFee(e,r,n){const i=(await this.getUTXOs(e,r)).length,o=2,a=await this.getFeeRates();return Math.floor(a[s3[n]]*1.05)*(i*70+o*31+10)}async getTransactionTimes(e){const r=e.map(s=>`txId[]=${s}`).join("&");return(await b.Fetcher.getWithFallback(this.APIs.map(s=>`${s}/v1/transaction-times?${r}`))).map(s=>s*1e3)}}const Bm=(t,e)=>{if(Array.isArray(t)){if(e){const r=t.reduce((i,o)=>i+o.value,0);if(r<e)throw new Error(Bs.INSUFFICIENT_FUNDS(r,e));let n=BigInt(0);t.sort((i,o)=>o.value-i.value);const s=[];for(const i of t)if(n+=BigInt(i.value),s.push(i),n>=e)break;return Om(s)}return Om(t)}return[]};class B4 extends b.EventBroker{emit(e,...r){super.emit(e,...r)}}class k0 extends Y.Orderbook{constructor(e){const{api:r,network:n}=kd(e.environment);if(!r)throw new Error("API Key not found");super(new b.Url(r.baseurl)),this._redeemServiceEnabled=!0,this.executeInterval=5e3,this.network=n,this._api=r,this._digestKey=w4(e.digestKey),this._auth=Pm(e.apiKey),this._quote=e.quote??new kw(this._api.baseurl,this._auth),this._htlcs=e.htlc??{},this._events=new B4,this._executor=this._digestKey?new E4(this._digestKey,this.htlcs,this,this._auth,this._api,this._events):void 0}setRedeemServiceEnabled(e){var r,n;if(this._redeemServiceEnabled=e,e)(r=this._executor)==null||r.stop();else{if(!this._digestKey)throw new Error("Digest key is required for manual secret management");if(this._secretManager=Wi.fromDigestKey(this._digestKey.digestKey),!this._htlcs.bitcoin){const s=new x6(this.network);this._htlcs.bitcoin=new ny($s.fromPrivateKey(this._digestKey.digestKey,s),this.network)}(n=this._executor)==null||n.start(this.executeInterval,this._redeemServiceEnabled)}return this}static fromWallets(e){const r=Pm(e.apiKey),{api:n,network:s}=kd(e.environment);if(!n)throw new Error("API not found, invalid environment "+e.environment);const i=e.wallets?{evm:e.wallets.evm?new Nw(n.baseurl,e.wallets.evm,r):void 0,starknet:e.wallets.starknet?new jw(n.baseurl,e.wallets.starknet,s,r):void 0,solana:e.wallets.solana?new e2(e.wallets.solana,new b.Url(n.baseurl),s,r,{programAddress:e.solanaProgramAddress}):void 0,sui:e.wallets.sui?new b4(n.baseurl,e.wallets.sui,s,r):void 0,bitcoin:e.wallets.bitcoin?new ny(e.wallets.bitcoin,s):void 0,tron:e.wallets.tron?new g4(n.baseurl,s,r,e.wallets.tron):void 0}:{};return new k0({htlc:i,...e})}get htlcs(){return{evm:this._htlcs.evm,starknet:this._htlcs.starknet,solana:this._htlcs.solana,sui:this._htlcs.sui,bitcoin:this._htlcs.bitcoin,tron:this._htlcs.tron}}get quote(){return this._quote}get secretManager(){if(this._redeemServiceEnabled||!this._secretManager)throw new Error("Secret manager is not available");return this._secretManager}get auth(){return this._auth}get digestKey(){return this._digestKey}get executor(){return this._executor}get redeemServiceEnabled(){return this._redeemServiceEnabled}async createSwap(e){const r=Y.ChainAsset.from(e.fromAsset).blockchainType,n=await m3(r,this._htlcs);if(!n.ok)return b.Err(n.error);const s=await this.createOrder(e);if(!s.ok)return b.Err(s.error);const i=s.val;switch(r){case Y.BlockchainType.evm:if(!this._htlcs.evm||!Y.isEvmOrderResponse(i))return b.Err("Order type does not match EVM blockchain type");{const o=await this._htlcs.evm.initiate(i);if(!o.ok)return b.Err(`EVM HTLC initiation failed: ${o.error}`)}break;case Y.BlockchainType.solana:if(!this._htlcs.solana||!Y.isSolanaOrderResponse(i))return b.Err("Order type does not match Solana blockchain type");{const o=await this._htlcs.solana.initiate(i);if(!o.ok)return b.Err(`Solana HTLC initiation failed: ${o.error}`)}break;case Y.BlockchainType.starknet:if(!this._htlcs.starknet||!Y.isStarknetOrderResponse(i))return b.Err("Order type does not match Starknet blockchain type");{const o=await this._htlcs.starknet.initiate(i);if(!o.ok)return b.Err(`Starknet HTLC initiation failed: ${o.error}`)}break;case Y.BlockchainType.sui:if(!this._htlcs.sui||!Y.isSuiOrderResponse(i))return b.Err("Order type does not match Sui blockchain type");{const o=await this._htlcs.sui.initiate(i);if(!o.ok)return b.Err(`Sui HTLC initiation failed: ${o.error}`)}break;case Y.BlockchainType.tron:if(!this._htlcs.tron||!Y.isEvmOrderResponse(i))return b.Err("Order type does not match Tron blockchain type");{const o=await this._htlcs.tron.initiate(i);if(!o.ok)return b.Err(`Tron HTLC initiation failed: ${o.error}`)}break;case Y.BlockchainType.bitcoin:return b.Ok(i);case Y.BlockchainType.litecoin:return b.Ok(i);case Y.BlockchainType.alpen_signet:return b.Ok(i);default:return b.Err("Unsupported blockchain type for swap initiation")}return b.Ok(i.order_id)}async createOrder(e){var _;if(b.hasKeys(e,["source","destination","nonce"]))return super.createOrder(e,this._auth);const r=e,n=await this.validateAndFillParams(r);if(!n.ok)return b.Err(n.error??"Validation failed");const{sendAddress:s,receiveAddress:i,fromAsset:o,toAsset:a}=n.val,c=Date.now().toString();let u;if(!this.redeemServiceEnabled){const E=await this.secretManager.generateSecret(c);if(!E.ok)return b.Err(E.error);u=E.val.secretHash}const f=(_=r.addresses)==null?void 0:_.bitcoin,l=Y.isBitcoin(Y.ChainAsset.from(r.fromAsset).chain),p=Y.isBitcoin(Y.ChainAsset.from(r.toAsset).chain),d=!!u,m={source:{asset:o.toString(),owner:!r.sourceAddress&&l?f??s:s,delegate:d&&l?s:null,amount:r.sendAmount},destination:{asset:a.toString(),owner:!r.destinationAddress&&p?f??i:i,delegate:d&&p?i:null,amount:r.receiveAmount},nonce:Number(c),...!this.redeemServiceEnabled&&u?{secret_hash:b.trim0x(u)}:{},solver_id:r.solverId,affiliate_fees:r.affiliateFee,slippage:0},g=await super.createOrder(m,this._auth);if(!g.ok)return b.Err(g.error);const A=Y.ChainAsset.from(r.fromAsset).blockchainType,S=[Y.BlockchainType.alpen_signet,Y.BlockchainType.bitcoin,Y.BlockchainType.litecoin].includes(A)?Y.BlockchainType.bitcoin:A;return g.val.type!==S?b.Err("Order response type does not match source blockchain type"):b.Ok(g.val)}async validateAndFillParams(e){var c;if(!e.fromAsset||!e.toAsset)return b.Err("Source and destination assets are required for swap");const r=Y.ChainAsset.from(e.fromAsset),n=Y.ChainAsset.from(e.toAsset);if(r.network!==n.network)return b.Err("Both assets should be on the same network (either mainnet or testnet)");const s=Bp(e.sendAmount);if(!s.ok)return b.Err(s.error);const i=Bp(e.receiveAmount);if(!i.ok)return b.Err(i.error);if(s<i)return b.Err("Send amount should be greater than receive amount");if(e.sourceAddress&&e.destinationAddress){const u=await this._getAddresses(r.blockchainType,{[r.blockchainType]:e.sourceAddress}),f=await this._getAddresses(n.blockchainType,{[n.blockchainType]:e.destinationAddress});return!u.ok||!f.ok?b.Err(u.error||f.error):b.Ok({sendAddress:u.val,receiveAddress:f.val,fromAsset:r,toAsset:n})}if((Y.isBitcoin(Y.ChainAsset.from(e.fromAsset).chain)||Y.isBitcoin(Y.ChainAsset.from(e.toAsset).chain))&&!((c=e.addresses)!=null&&c.bitcoin))return b.Err("Bitcoin address in addresses is required if source or destination chain is bitcoin, it is used as refund or redeem address.");const o=await this._getAddresses(r.blockchainType,e.addresses);if(!o.ok)return b.Err(o.error);const a=await this._getAddresses(n.blockchainType,e.addresses);return a.ok?b.Ok({sendAddress:o.val,receiveAddress:a.val,fromAsset:r,toAsset:n}):b.Err(a.error)}async _getAddresses(e,r){var n;if(this._redeemServiceEnabled&&r&&r[e])return b.Ok(r[e]);switch(e){case Y.BlockchainType.evm:return this._htlcs.evm?b.Ok(this._htlcs.evm.htlcActorAddress):b.Err("Please provide evmHTLC when initializing garden or pass EVM address in SwapParams");case Y.BlockchainType.bitcoin:{const s=(n=this._htlcs.bitcoin)==null?void 0:n.getPublicKey;return!s||!u3(s)?b.Err("Invalid btc public key or pass Bitcoin address in SwapParams"):b.Ok(Le(s))}case Y.BlockchainType.solana:return this._htlcs.solana?b.Ok(this._htlcs.solana.htlcActorAddress):b.Err("Please provide solanaHTLC when initializing garden or pass Solana address in SwapParams");case Y.BlockchainType.starknet:return this._htlcs.starknet?b.Ok(this._htlcs.starknet.htlcActorAddress):b.Err("Please provide starknetHTLC when initializing garden or pass Starknet address in SwapParams");case Y.BlockchainType.sui:return this._htlcs.sui?b.Ok(this._htlcs.sui.htlcActorAddress):b.Err("Please provide suiHTLC when initializing garden or pass Sui address in SwapParams");case Y.BlockchainType.tron:return this._htlcs.tron?b.Ok(this._htlcs.tron.htlcActorAddress):b.Err("Please provide tronHTLC when initializing garden or pass Tron address in SwapParams");default:return b.Err("Unsupported chain")}}on(e,r){return this._events.on(e,r),this}off(e,r){return this._events.off(e,r),this}}class C4{constructor(e,r,n){this.callData=new Qe.CallData(Uw),this.account=e,this.starknetProvider=new Qe.RpcProvider({nodeUrl:r||(n?aa[n].nodeUrl:aa.mainnet.nodeUrl)})}get htlcActorAddress(){return this.account.address}async getHTLCContract(e,r=!1){const n=r?e.destination_swap.asset:e.source_swap.asset;return new Qe.Contract($w,n,this.account)}async initiate(e){try{const n=await(await this.getHTLCContract(e)).token();if(!n)throw new Error("Token address retrieval failed");const s=Qe.num.toHex(n),i=Qe.cairo.uint256(BigInt(e.source_swap.amount));try{const c=await Fw(this.account,s,e.source_swap.asset,BigInt(e.source_swap.amount),this.starknetProvider);if(c.error)return b.Err(c.error)}catch(c){return b.Err(`Allowance check failed: ${c}`)}const o=e.source_swap.secret_hash;if(!o)return b.Err("Invalid order: secret_hash is undefined");const a=await this.account.execute({contractAddress:e.source_swap.asset,entrypoint:"initiate",calldata:[e.source_swap.redeemer,BigInt(e.source_swap.timelock),i.low,i.high,...b.hexToU32Array(o)]});if(!a.transaction_hash)throw new Error("Failed to initiate HTLC transaction");return b.Ok(a.transaction_hash)}catch(r){return b.Err(`HTLC Initiation Error: ${r}`)}}async redeem(e,r){try{const n=await this.getHTLCContract(e,!0),s=e.source_swap.chain.includes("starknet")?e.source_swap.swap_id:e.destination_swap.swap_id,i=await this.account.execute({contractAddress:n.address,entrypoint:"redeem",calldata:Qe.CallData.compile({swap_id:s,secret:b.hexToU32Array(r)})});return i.transaction_hash?b.Ok(i.transaction_hash):b.Err("Failed to redeem HTLC transaction")}catch{return b.Err("HTLC Redeem Error")}}async refund(e){try{const r=e.source_swap.chain.includes("starknet")?e.source_swap.swap_id:e.destination_swap.swap_id,n=await this.getHTLCContract(e),s=await this.account.execute({contractAddress:n.address,entrypoint:"refund",calldata:{orderId:r}});return s.transaction_hash?b.Ok(s.transaction_hash):b.Err("Failed to refund HTLC transaction")}catch{return b.Err("HTLC Refund Error")}}}class R4{constructor(e){if(this.provider=e,!e)throw new Error("Provider is required");this.provider=e,this.program=new Ar.Program(Rd,e)}get htlcActorAddress(){if(!this.program.programId)throw new Error("No program found");return this.provider.publicKey.toBase58()}async initiate(e){if(!e)return b.Err("Order is required");try{const{redeemer:r,secretHash:n,amount:s,expiresIn:i}=cs.from(e),o=[Buffer.from("swap_account"),this.provider.publicKey.toBuffer(),Buffer.from(n)];this.swapAccount=Ar.web3.PublicKey.findProgramAddressSync(o,this.program.programId)[0];const a=await this.program.methods.initiate(s,i,r,n).accounts({initiator:this.provider.publicKey}).transaction(),c=await this.provider.sendAndConfirm(a);return c?b.Ok(c):b.Err("Failed to initiate HTLC transaction")}catch(r){return b.Err(`Error initiating swap: ${r instanceof Error?r.message:String(r)}`)}}async redeem(e,r){if(!e)return b.Err("Order is required");if(!r)return b.Err("Secret is required");const{secretHash:n}=cs.from(e),s=[Buffer.from("swap_account"),this.provider.publicKey.toBuffer(),Buffer.from(n)];this.swapAccount=Ar.web3.PublicKey.findProgramAddressSync(s,this.program.programId)[0];try{const{redeemer:i}=cs.from(e);if(!this.swapAccount)return b.Err("Swap account not initialized. Call initiate() first or provide swap ID.");const o=await this.program.methods.redeem(Qw(r)).accounts({swapAccount:this.swapAccount,initiator:this.provider.publicKey,redeemer:i}).transaction(),a=await this.provider.sendAndConfirm(o);return a?b.Ok(a):b.Err("Failed to redeem HTLC transaction")}catch(i){return b.Err(`Error redeeming swap: ${i instanceof Error?i.message:String(i)}`)}}async refund(e){if(!e)return b.Err("Order is required");const{secretHash:r}=cs.from(e),n=[Buffer.from("swap_account"),Buffer.from(r)];this.swapAccount=Ar.web3.PublicKey.findProgramAddressSync(n,this.program.programId)[0];try{if(console.log("Initiating refund for ::",e.source_swap.swap_id),!this.swapAccount)return b.Err("Swap account not initialized. Call initiate() first or provide swap ID.");const s=await this.program.methods.refund().accounts({swapAccount:this.swapAccount,initiator:this.provider.publicKey}).transaction(),i=await this.provider.sendAndConfirm(s);return i?b.Ok(i):b.Err("Failed to refund HTLC transaction")}catch(s){return b.Err(`Error refunding swap: ${s instanceof Error?s.message:String(s)}`)}}}exports.API=yc;exports.BaseError=V;exports.BitcoinNetwork=Cr;exports.BitcoinProvider=x6;exports.BitcoinWallet=$s;exports.DEFAULT_AFFILIATE_ASSET=n3;exports.EvmRelay=Nw;exports.Garden=k0;exports.HttpRequestError=Ii;exports.Quote=kw;exports.STARKNET_CONFIG=aa;exports.SUI_CONFIG=xd;exports.SecretManager=Wi;exports.SolanaHTLC=R4;exports.SolanaRelay=e2;exports.SolanaRelayerAddress=A1;exports.StarknetHTLC=C4;exports.StarknetRelay=jw;exports.alpenTestnet=Cw;exports.botanixMainnet=Pw;exports.call=Ba;exports.checkAllowance=Oo;exports.checkAllowanceAndApprove=Fw;exports.concat=nr;exports.constructOrderPair=f3;exports.decodeErrorResult=Sb;exports.encodeAbiParameters=ws;exports.evmToViemChainMap=Iu;exports.getChainNameFromChainId=Rw;exports.getUrl=Xc;exports.hyperliquid=Bw;exports.hyperliquidTestnet=Ow;exports.isAddressEqual=to;exports.isAllowanceSufficient=Mw;exports.isHex=Nr;exports.localBatchGatewayRequest=_g;exports.localBatchGatewayUrl=Ra;exports.resolveApiConfig=kd;exports.solanaProgramAddress=Sd;exports.stringify=et;exports.switchOrAddNetwork=Cd;exports.toXOnly=Le;exports.validateBTCAddress=l3;exports.validateLTCAddress=d3;
|