@gardenfi/core 3.0.7 → 3.0.8-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ccip-DuJNhB3j.js → ccip-DIaoe4OH.js} +1 -1
- package/dist/{ccip-D_7TxSBL.cjs → ccip-rfAqgfGh.cjs} +1 -1
- package/dist/{index-iviEKv0P.js → index-Cbo-609y.js} +14217 -12574
- package/dist/index-DlhJwfjq.cjs +104 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +30 -25
- package/dist/src/index.d.ts +4 -2
- package/dist/src/lib/constants.d.ts +7 -0
- package/dist/src/lib/evm/htlc/evmHTLC.d.ts +62 -62
- package/dist/src/lib/garden/executor/executor.d.ts +2 -0
- package/dist/src/lib/garden/garden.d.ts +5 -1
- package/dist/src/lib/garden/garden.types.d.ts +28 -3
- package/dist/src/lib/starknet/abi/starknetHtlcABI.d.ts +15 -21
- package/dist/src/lib/tron/abi/tronHtlcABI.d.ts +46 -0
- package/dist/src/lib/tron/relayer/tronRelay.d.ts +32 -0
- package/dist/src/lib/tron/tronHTLC.types.d.ts +28 -0
- package/dist/src/lib/tron/utils.d.ts +1 -0
- package/dist/src/lib/utils.d.ts +5 -3
- package/dist/src/lib/xrpl/xrplHTLC.d.ts +0 -0
- package/dist/src/lib/xrpl/xrplHTLC.types.d.ts +32 -0
- package/dist/src/lib/xrpl/xrplRelay.d.ts +26 -0
- package/package.json +10 -6
- package/dist/index-BPpJbLfH.cjs +0 -106
package/dist/index-BPpJbLfH.cjs
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";var o6=Object.defineProperty;var lp=t=>{throw TypeError(t)};var a6=(t,e,r)=>e in t?o6(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var dp=(t,e,r)=>a6(t,typeof e!="symbol"?e+"":e,r),hp=(t,e,r)=>e.has(t)||lp("Cannot "+r);var Be=(t,e,r)=>(hp(t,e,"read from private field"),r?r.call(t):e.get(t)),hs=(t,e,r)=>e.has(t)?lp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),ps=(t,e,r,n)=>(hp(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);const X=require("@gardenfi/orderbook"),g=require("@gardenfi/utils"),pe=require("bitcoinjs-lib"),c6=require("tiny-secp256k1"),gm=require("varuint-bitcoin"),kl=require("bignumber.js"),nc=require("ecpair"),Je=require("starknet"),mr=require("@coral-xyz/anchor"),u6=require("@solana/spl-token"),pp=require("@mysten/wallet-standard"),f6=require("node-cache"),yp=require("yup"),mp=require("bip39"),l6=require("bip32");function Cc(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 Se=Cc(pe),ur=Cc(c6),bp=Cc(gm),d6=Cc(u6),h6="1.1.0";let hr=class Tl extends Error{constructor(e,r={}){var o;const n=r.cause instanceof Tl?r.cause.details:(o=r.cause)!=null&&o.message?r.cause.message:r.details,s=r.cause instanceof Tl&&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@${h6}`].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 Cn(t,e){const r=t.exec(e);return r==null?void 0:r.groups}const wm=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,vm=/^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)?$/,Em=/^\(.+?\).*?$/,gp=/^tuple(?<array>(\[(\d*)\])*)$/;function _l(t){let e=t.type;if(gp.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+=_l(i),s<r-1&&(e+=", ")}const n=Cn(gp,t.type);return e+=`)${(n==null?void 0:n.array)??""}`,_l({...t,type:e})}return"indexed"in t&&t.indexed&&(e=`${e} indexed`),t.name?`${e} ${t.name}`:e}function Qi(t){let e="";const r=t.length;for(let n=0;n<r;n++){const s=t[n];e+=_l(s),n!==r-1&&(e+=", ")}return e}function p6(t){var e;return t.type==="function"?`function ${t.name}(${Qi(t.inputs)})${t.stateMutability&&t.stateMutability!=="nonpayable"?` ${t.stateMutability}`:""}${(e=t.outputs)!=null&&e.length?` returns (${Qi(t.outputs)})`:""}`:t.type==="event"?`event ${t.name}(${Qi(t.inputs)})`:t.type==="error"?`error ${t.name}(${Qi(t.inputs)})`:t.type==="constructor"?`constructor(${Qi(t.inputs)})${t.stateMutability==="payable"?" payable":""}`:t.type==="fallback"?`fallback() external${t.stateMutability==="payable"?" payable":""}`:"receive() external payable"}const Am=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function y6(t){return Am.test(t)}function m6(t){return Cn(Am,t)}const Sm=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function b6(t){return Sm.test(t)}function g6(t){return Cn(Sm,t)}const xm=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function w6(t){return xm.test(t)}function v6(t){return Cn(xm,t)}const km=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function Tm(t){return km.test(t)}function E6(t){return Cn(km,t)}const _m=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function A6(t){return _m.test(t)}function S6(t){return Cn(_m,t)}const Pm=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function x6(t){return Pm.test(t)}function k6(t){return Cn(Pm,t)}const T6=/^receive\(\) external payable$/;function _6(t){return T6.test(t)}const P6=new Set(["indexed"]),Pl=new Set(["calldata","memory","storage"]);let I6=class extends hr{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"})}},O6=class extends hr{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"})}},B6=class extends hr{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},C6=class extends hr{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"})}},$6=class extends hr{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"})}},R6=class extends hr{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"})}},N6=class extends hr{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"})}},Hi=class extends hr{constructor({signature:e,type:r}){super(`Invalid ${r} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},U6=class extends hr{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},M6=class extends hr{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"})}},F6=class extends hr{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"})}},j6=class extends hr{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 L6(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}const Pu=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 H6(t,e={}){if(w6(t))return D6(t,e);if(b6(t))return z6(t,e);if(y6(t))return V6(t,e);if(A6(t))return q6(t,e);if(x6(t))return G6(t);if(_6(t))return{type:"receive",stateMutability:"payable"};throw new U6({signature:t})}function D6(t,e={}){const r=v6(t);if(!r)throw new Hi({signature:t,type:"function"});const n=vr(r.parameters),s=[],i=n.length;for(let a=0;a<i;a++)s.push(Rs(n[a],{modifiers:Pl,structs:e,type:"function"}));const o=[];if(r.returns){const a=vr(r.returns),c=a.length;for(let u=0;u<c;u++)o.push(Rs(a[u],{modifiers:Pl,structs:e,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:s,outputs:o}}function z6(t,e={}){const r=g6(t);if(!r)throw new Hi({signature:t,type:"event"});const n=vr(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(Rs(n[o],{modifiers:P6,structs:e,type:"event"}));return{name:r.name,type:"event",inputs:s}}function V6(t,e={}){const r=m6(t);if(!r)throw new Hi({signature:t,type:"error"});const n=vr(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(Rs(n[o],{structs:e,type:"error"}));return{name:r.name,type:"error",inputs:s}}function q6(t,e={}){const r=S6(t);if(!r)throw new Hi({signature:t,type:"constructor"});const n=vr(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(Rs(n[o],{structs:e,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:s}}function G6(t){const e=k6(t);if(!e)throw new Hi({signature:t,type:"fallback"});return{type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}const W6=/^(?<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$_]*))?$/,K6=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Z6=/^u?int$/;function Rs(t,e){var l,p;const r=L6(t,e==null?void 0:e.type,e==null?void 0:e.structs);if(Pu.has(r))return Pu.get(r);const n=Em.test(t),s=Cn(n?K6:W6,t);if(!s)throw new B6({param:t});if(s.name&&X6(s.name))throw new C6({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=vr(s.type),m=[],b=d.length;for(let E=0;E<b;E++)m.push(Rs(d[E],{structs:a}));u={components:m}}else if(s.type in a)c="tuple",u={components:a[s.type]};else if(Z6.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"&&!Im(c))throw new O6({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 $6({param:t,type:e==null?void 0:e.type,modifier:s.modifier});if(Pl.has(s.modifier)&&!J6(c,!!s.array))throw new R6({param:t,type:e==null?void 0:e.type,modifier:s.modifier})}const f={type:`${c}${s.array??""}`,...i,...o,...u};return Pu.set(r,f),f}function vr(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?vr(a,[...e,r.trim()]):vr(a,e,`${r}${o}`,n);case"(":return vr(a,e,`${r}${o}`,n+1);case")":return vr(a,e,`${r}${o}`,n-1);default:return vr(a,e,`${r}${o}`,n)}}if(r==="")return e;if(n!==0)throw new j6({current:r,depth:n});return e.push(r.trim()),e}function Im(t){return t==="address"||t==="bool"||t==="function"||t==="string"||wm.test(t)||vm.test(t)}const Y6=/^(?: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 X6(t){return t==="address"||t==="bool"||t==="function"||t==="string"||t==="tuple"||wm.test(t)||vm.test(t)||Y6.test(t)}function J6(t,e){return e||t==="bytes"||t==="string"||t==="tuple"}function Q6(t){const e={},r=t.length;for(let o=0;o<r;o++){const a=t[o];if(!Tm(a))continue;const c=E6(a);if(!c)throw new Hi({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 b=Rs(m,{type:"struct"});f.push(b)}if(!f.length)throw new M6({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]=Om(c,e)}return n}const ev=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function Om(t,e,r=new Set){const n=[],s=t.length;for(let i=0;i<s;i++){const o=t[i];if(Em.test(o.type))n.push(o);else{const c=Cn(ev,o.type);if(!(c!=null&&c.type))throw new N6({abiParameter:o});const{array:u,type:f}=c;if(f in e){if(r.has(f))throw new F6({type:f});n.push({...o,type:`tuple${u??""}`,components:Om(e[f]??[],e,new Set([...r,f]))})}else if(Im(f))n.push(o);else throw new I6({type:f})}}return n}function Bm(t){const e=Q6(t),r=[],n=t.length;for(let s=0;s<n;s++){const i=t[s];Tm(i)||r.push(H6(i,e))}return r}function se(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 Tr(t,{includeName:e=!1}={}){if(t.type!=="function"&&t.type!=="event"&&t.type!=="error")throw new hv(t.type);return`${t.name}(${$c(t.inputs,{includeName:e})})`}function $c(t,{includeName:e=!1}={}){return t?t.map(r=>tv(r,{includeName:e})).join(e?", ":","):""}function tv(t,{includeName:e}){return t.type.startsWith("tuple")?`(${$c(t.components,{includeName:e})})${t.type.slice(5)}`:t.type+(e&&t.name?` ${t.name}`:"")}function _r(t,{strict:e=!0}={}){return!t||typeof t!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(t):t.startsWith("0x")}function De(t){return _r(t,{strict:!1})?Math.ceil((t.length-2)/2):t.length}const Cm="2.37.8";let eo={getDocsUrl:({docsBaseUrl:t,docsPath:e="",docsSlug:r})=>e?`${t??"https://viem.sh"}${e}${r?`#${r}`:""}`:void 0,version:`viem@${Cm}`},L=class Il extends Error{constructor(e,r={}){var a;const n=(()=>{var c;return r.cause instanceof Il?r.cause.details:(c=r.cause)!=null&&c.message?r.cause.message:r.details})(),s=r.cause instanceof Il&&r.cause.docsPath||r.docsPath,i=(a=eo.getDocsUrl)==null?void 0:a.call(eo,{...r,docsPath:s}),o=[e||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...i?[`Docs: ${i}`]:[],...n?[`Details: ${n}`]:[],...eo.version?[`Version: ${eo.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=Cm}walk(e){return $m(this,e)}};function $m(t,e){return e!=null&&e(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause!==void 0?$m(t.cause,e):e?null:t}class rv extends L{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 wp extends L{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 Rm extends L{constructor({data:e,params:r,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`
|
|
6
|
-
`),{metaMessages:[`Params: (${$c(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 la extends L{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}}class nv extends L{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 sv extends L{constructor({expectedSize:e,value:r}){super(`Size of bytes "${r}" (bytes${De(r)}) does not match expected size (bytes${e}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class iv extends L{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 ov extends L{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 vp extends L{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 Nm extends L{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 av extends L{constructor({docsPath:e}){super("Cannot extract event signature from empty topics.",{docsPath:e,name:"AbiEventSignatureEmptyTopicsError"})}}class Um extends L{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 Ep extends L{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 Oi extends L{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 Mm extends L{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 cv extends L{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 uv extends L{constructor(e,r){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${e.type}\` in \`${Tr(e.abiItem)}\`, and`,`\`${r.type}\` in \`${Tr(r.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}let fv=class extends L{constructor({expectedSize:e,givenSize:r}){super(`Expected bytes${e}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}};class Po extends L{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: (${$c(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 Rc extends L{constructor({abiItem:e,param:r}){super([`Expected a topic for indexed event parameter${r.name?` "${r.name}"`:""} on event "${Tr(e,{includeName:!0})}".`].join(`
|
|
18
|
-
`),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}}class lv extends L{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 dv extends L{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 Fm=class extends L{constructor(e){super([`Value "${e}" is not a valid array.`].join(`
|
|
21
|
-
`),{name:"InvalidArrayError"})}};class hv extends L{constructor(e){super([`"${e}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
|
|
22
|
-
`),{name:"InvalidDefinitionTypeError"})}}class pv extends L{constructor(e){super(`Filter type "${e}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}let jm=class extends L{constructor({offset:e,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${e}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}},Lm=class extends L{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 Ap extends L{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 Di(t,{dir:e,size:r=32}={}){return typeof t=="string"?ts(t,{dir:e,size:r}):yv(t,{dir:e,size:r})}function ts(t,{dir:e,size:r=32}={}){if(r===null)return t;const n=t.replace("0x","");if(n.length>r*2)throw new Lm({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[e==="right"?"padEnd":"padStart"](r*2,"0")}`}function yv(t,{dir:e,size:r=32}={}){if(r===null)return t;if(t.length>r)throw new Lm({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 Hm=class extends L{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"})}},mv=class extends L{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 bv extends L{constructor(e){super(`Hex value "${e}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}}let gv=class extends L{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}};function fr(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 Br(t,{size:e}){if(De(t)>e)throw new gv({givenSize:De(t),maxSize:e})}function ut(t,e={}){const{signed:r}=e;e.size&&Br(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 wv(t,e={}){let r=t;if(e.size&&(Br(r,{size:e.size}),r=fr(r)),fr(r)==="0x00")return!1;if(fr(r)==="0x01")return!0;throw new bv(r)}function lr(t,e={}){return Number(ut(t,e))}const vv=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Bt(t,e={}){return typeof t=="number"||typeof t=="bigint"?Z(t,e):typeof t=="string"?Bi(t,e):typeof t=="boolean"?Dm(t,e):et(t,e)}function Dm(t,e={}){const r=`0x${Number(t)}`;return typeof e.size=="number"?(Br(r,{size:e.size}),Di(r,{size:e.size})):r}function et(t,e={}){let r="";for(let s=0;s<t.length;s++)r+=vv[t[s]];const n=`0x${r}`;return typeof e.size=="number"?(Br(n,{size:e.size}),Di(n,{dir:"right",size:e.size})):n}function Z(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 Hm({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?Di(a,{size:n}):a}const Ev=new TextEncoder;function Bi(t,e={}){const r=Ev.encode(t);return et(r,e)}const Av=new TextEncoder;function zi(t,e={}){return typeof t=="number"||typeof t=="bigint"?xv(t,e):typeof t=="boolean"?Sv(t,e):_r(t)?Jr(t,e):_s(t,e)}function Sv(t,e={}){const r=new Uint8Array(1);return r[0]=Number(t),typeof e.size=="number"?(Br(r,{size:e.size}),Di(r,{size:e.size})):r}const tn={zero:48,nine:57,A:65,F:70,a:97,f:102};function Sp(t){if(t>=tn.zero&&t<=tn.nine)return t-tn.zero;if(t>=tn.A&&t<=tn.F)return t-(tn.A-10);if(t>=tn.a&&t<=tn.f)return t-(tn.a-10)}function Jr(t,e={}){let r=t;e.size&&(Br(r,{size:e.size}),r=Di(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=Sp(n.charCodeAt(a++)),u=Sp(n.charCodeAt(a++));if(c===void 0||u===void 0)throw new L(`Invalid byte sequence ("${n[a-2]}${n[a-1]}" in "${n}").`);i[o]=c*16+u}return i}function xv(t,e){const r=Z(t,e);return Jr(r)}function _s(t,e={}){const r=Av.encode(t);return typeof e.size=="number"?(Br(r,{size:e.size}),Di(r,{dir:"right",size:e.size})):r}const Ra=BigInt(2**32-1),xp=BigInt(32);function zm(t,e=!1){return e?{h:Number(t&Ra),l:Number(t>>xp&Ra)}:{h:Number(t>>xp&Ra)|0,l:Number(t&Ra)|0}}function kv(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}=zm(t[i],e);[n[i],s[i]]=[o,a]}return[n,s]}const Vm=(t,e,r)=>t>>>r|e<<32-r,qm=(t,e,r)=>t<<32-r|e>>>r,Tv=(t,e,r)=>t<<64-r|e>>>r-32,_v=(t,e,r)=>t>>>r-32|e<<64-r,Pv=(t,e)=>e,Iv=(t,e)=>t,Ov=(t,e,r)=>t<<r|e>>>32-r,Bv=(t,e,r)=>e<<r|t>>>32-r,Cv=(t,e,r)=>e<<r-32|t>>>64-r,$v=(t,e,r)=>t<<r-32|e>>>64-r;function Gm(t,e,r,n){const s=(e>>>0)+(n>>>0);return{h:t+r+(s/2**32|0)|0,l:s|0}}const Wm=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),Km=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,si=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Rv(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ss(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function is(t,...e){if(!Rv(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 Nv(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");ss(t.outputLen),ss(t.blockLen)}function os(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 Md(t,e){is(t);const r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Io(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Pr(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Iu(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Ur(t,e){return t<<32-e|t>>>e}function Na(t,e){return t<<e|t>>>32-e>>>0}const Zm=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ym(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}const dn=Zm?t=>t:t=>Ym(t);function Uv(t){for(let e=0;e<t.length;e++)t[e]=Ym(t[e]);return t}const Kn=Zm?t=>t:Uv;function Mv(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function En(t){return typeof t=="string"&&(t=Mv(t)),is(t),t}function Fv(...t){let e=0;for(let n=0;n<t.length;n++){const s=t[n];is(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 Nc{}function Uc(t){const e=n=>t().update(En(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function jv(t){const e=(n,s)=>t(s).update(En(n)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=n=>t(n),e}function Lv(t=32){if(si&&typeof si.getRandomValues=="function")return si.getRandomValues(new Uint8Array(t));if(si&&typeof si.randomBytes=="function")return Uint8Array.from(si.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}const Hv=BigInt(0),to=BigInt(1),Dv=BigInt(2),zv=BigInt(7),Vv=BigInt(256),qv=BigInt(113),Xm=[],Jm=[],Qm=[];for(let t=0,e=to,r=1,n=0;t<24;t++){[r,n]=[n,(2*r+3*n)%5],Xm.push(2*(5*n+r)),Jm.push((t+1)*(t+2)/2%64);let s=Hv;for(let i=0;i<7;i++)e=(e<<to^(e>>zv)*qv)%Vv,e&Dv&&(s^=to<<(to<<BigInt(i))-to);Qm.push(s)}const eb=kv(Qm,!0),Gv=eb[0],Wv=eb[1],kp=(t,e,r)=>r>32?Cv(t,e,r):Ov(t,e,r),Tp=(t,e,r)=>r>32?$v(t,e,r):Bv(t,e,r);function Kv(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=kp(u,f,1)^r[a],p=Tp(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=Jm[o],c=kp(s,i,a),u=Tp(s,i,a),f=Xm[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]^=Gv[n],t[1]^=Wv[n]}Pr(r)}class Fd extends Nc{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,ss(n),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=Io(this.state)}clone(){return this._cloneInto()}keccak(){Kn(this.state32),Kv(this.state32,this.rounds),Kn(this.state32),this.posOut=0,this.pos=0}update(e){os(this),e=En(e),is(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){os(this,!1),is(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 ss(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Md(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,Pr(this.state)}_cloneInto(e){const{blockLen:r,suffix:n,outputLen:s,rounds:i,enableXOF:o}=this;return e||(e=new Fd(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 Zv=(t,e,r)=>Uc(()=>new Fd(e,t,r)),tb=Zv(1,136,256/8);function ht(t,e){const r=e||"hex",n=tb(_r(t,{strict:!1})?zi(t):t);return r==="bytes"?n:Bt(n)}const Yv=t=>ht(zi(t));function Xv(t){return Yv(t)}function Jv(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 L("Unable to normalize signature.");return s}const Qv=t=>{const e=typeof t=="string"?t:p6(t);return Jv(e)};function rb(t){return Xv(Qv(t))}const Mc=rb;let $t=class extends L{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"})}},Fc=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 Ou=new Fc(8192);function da(t,e){if(Ou.has(`${t}.${e}`))return Ou.get(`${t}.${e}`);const r=t.substring(2).toLowerCase(),n=ht(_s(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 Ou.set(`${t}.${e}`,i),i}function jd(t,e){if(!at(t,{strict:!1}))throw new $t({address:t});return da(t,e)}const e5=/^0x[a-fA-F0-9]{40}$/,Bu=new Fc(8192);function at(t,e){const{strict:r=!0}=e??{},n=`${t}.${r}`;if(Bu.has(n))return Bu.get(n);const s=e5.test(t)?t.toLowerCase()===t?!0:r?da(t)===t:!0:!1;return Bu.set(n,s),s}function Wt(t){return typeof t[0]=="string"?Cr(t):t5(t)}function t5(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 Cr(t){return`0x${t.reduce((e,r)=>e+r.replace("0x",""),"")}`}function Ns(t,e,r,{strict:n}={}){return _r(t,{strict:!1})?Ol(t,e,r,{strict:n}):ib(t,e,r,{strict:n})}function nb(t,e){if(typeof e=="number"&&e>0&&e>De(t)-1)throw new jm({offset:e,position:"start",size:De(t)})}function sb(t,e,r){if(typeof e=="number"&&typeof r=="number"&&De(t)!==r-e)throw new jm({offset:r,position:"end",size:De(t)})}function ib(t,e,r,{strict:n}={}){nb(t,e);const s=t.slice(e,r);return n&&sb(s,e,r),s}function Ol(t,e,r,{strict:n}={}){nb(t,e);const s=`0x${t.replace("0x","").slice((e??0)*2,(r??t.length)*2)}`;return n&&sb(s,e,r),s}const r5=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ob=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function fs(t,e){if(t.length!==e.length)throw new iv({expectedLength:t.length,givenLength:e.length});const r=n5({params:t,values:e}),n=Hd(r);return n.length===0?"0x":n}function n5({params:t,values:e}){const r=[];for(let n=0;n<t.length;n++)r.push(Ld({param:t[n],value:e[n]}));return r}function Ld({param:t,value:e}){const r=Dd(t.type);if(r){const[n,s]=r;return i5(e,{length:n,param:{...t,type:s}})}if(t.type==="tuple")return f5(e,{param:t});if(t.type==="address")return s5(e);if(t.type==="bool")return a5(e);if(t.type.startsWith("uint")||t.type.startsWith("int")){const n=t.type.startsWith("int"),[,,s="256"]=ob.exec(t.type)??[];return c5(e,{signed:n,size:Number(s)})}if(t.type.startsWith("bytes"))return o5(e,{param:t});if(t.type==="string")return u5(e);throw new lv(t.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function Hd(t){let e=0;for(let i=0;i<t.length;i++){const{dynamic:o,encoded:a}=t[i];o?e+=32:e+=De(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(Z(e+s,{size:32})),n.push(a),s+=De(a)):r.push(a)}return Wt([...r,...n])}function s5(t){if(!at(t))throw new $t({address:t});return{dynamic:!1,encoded:ts(t.toLowerCase())}}function i5(t,{length:e,param:r}){const n=e===null;if(!Array.isArray(t))throw new Fm(t);if(!n&&t.length!==e)throw new nv({expectedLength:e,givenLength:t.length,type:`${r.type}[${e}]`});let s=!1;const i=[];for(let o=0;o<t.length;o++){const a=Ld({param:r,value:t[o]});a.dynamic&&(s=!0),i.push(a)}if(n||s){const o=Hd(i);if(n){const a=Z(i.length,{size:32});return{dynamic:!0,encoded:i.length>0?Wt([a,o]):a}}if(s)return{dynamic:!0,encoded:o}}return{dynamic:!1,encoded:Wt(i.map(({encoded:o})=>o))}}function o5(t,{param:e}){const[,r]=e.type.split("bytes"),n=De(t);if(!r){let s=t;return n%32!==0&&(s=ts(s,{dir:"right",size:Math.ceil((t.length-2)/2/32)*32})),{dynamic:!0,encoded:Wt([ts(Z(n,{size:32})),s])}}if(n!==Number.parseInt(r,10))throw new sv({expectedSize:Number.parseInt(r,10),value:t});return{dynamic:!1,encoded:ts(t,{dir:"right"})}}function a5(t){if(typeof t!="boolean")throw new L(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:ts(Dm(t))}}function c5(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 Hm({max:n.toString(),min:s.toString(),signed:e,size:r/8,value:t.toString()})}return{dynamic:!1,encoded:Z(t,{size:32,signed:e})}}function u5(t){const e=Bi(t),r=Math.ceil(De(e)/32),n=[];for(let s=0;s<r;s++)n.push(ts(Ns(e,s*32,(s+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Wt([ts(Z(De(e),{size:32})),...n])}}function f5(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=Ld({param:i,value:t[o]});n.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?Hd(n):Wt(n.map(({encoded:s})=>s))}}function Dd(t){const e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}const ha=t=>Ns(rb(t),0,4);function Zs(t){const{abi:e,args:r=[],name:n}=t,s=_r(n,{strict:!1}),i=e.filter(a=>s?a.type==="function"?ha(a)===n:a.type==="event"?Mc(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?Bl(u,l):!1})){if(o&&"inputs"in o&&o.inputs){const u=ab(a.inputs,o.inputs,r);if(u)throw new uv({abiItem:a,type:u[0]},{abiItem:o,type:u[1]})}o=a}}return o||i[0]}function Bl(t,e){const r=typeof t,n=e.type;switch(n){case"address":return at(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)=>Bl(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=>Bl(s,{...e,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function ab(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 ab(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")?at(r[n],{strict:!1}):o.includes("address")&&o.includes("bytes")?at(r[n],{strict:!1}):!1)return o}}const _p="/docs/contract/encodeEventTopics";function pa(t){var c;const{abi:e,eventName:r,args:n}=t;let s=e[0];if(r){const u=Zs({abi:e,name:r});if(!u)throw new Ep(r,{docsPath:_p});s=u}if(s.type!=="event")throw new Ep(void 0,{docsPath:_p});const i=Tr(s),o=Mc(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)=>Pp({param:l,value:f[p][m]})):typeof f[p]<"u"&&f[p]!==null?Pp({param:l,value:f[p]}):null))??[])}return[o,...a]}function Pp({param:t,value:e}){if(t.type==="string"||t.type==="bytes")return ht(zi(e));if(t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/))throw new pv(t.type);return fs([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 zd(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?pa({abi:n,args:s,eventName:i}):void 0,l=await t.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof o=="bigint"?Z(o):o,toBlock:typeof c=="bigint"?Z(c):c,topics:f}]});return{abi:n,args:s,eventName:i,id:l,request:u(l),strict:!!a,type:"event"}}function Ze(t){return typeof t=="string"?{address:t,type:"json-rpc"}:t}const Ip="/docs/contract/encodeFunctionData";function l5(t){const{abi:e,args:r,functionName:n}=t;let s=e[0];if(n){const i=Zs({abi:e,args:r,name:n});if(!i)throw new Oi(n,{docsPath:Ip});s=i}if(s.type!=="function")throw new Oi(void 0,{docsPath:Ip});return{abi:[s],functionName:ha(Tr(s))}}function Xt(t){const{args:e}=t,{abi:r,functionName:n}=(()=>{var a;return t.abi.length===1&&((a=t.functionName)!=null&&a.startsWith("0x"))?t:l5(t)})(),s=r[0],i=n,o="inputs"in s&&s.inputs?fs(s.inputs,e??[]):void 0;return Cr([i,o??"0x"])}const d5={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."},cb={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},h5={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"};let Op=class extends L{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`,{name:"NegativeOffsetError"})}},ub=class extends L{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`,{name:"PositionOutOfBoundsError"})}},p5=class extends L{constructor({count:e,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`,{name:"RecursiveReadLimitExceededError"})}};const y5={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 p5({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new ub({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new Op({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 Op({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 Vd(t,{recursiveReadLimit:e=8192}={}){const r=Object.create(y5);return r.bytes=t,r.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=e,r}function m5(t,e={}){typeof e.size<"u"&&Br(t,{size:e.size});const r=et(t,e);return ut(r,e)}function b5(t,e={}){let r=t;if(typeof e.size<"u"&&(Br(r,{size:e.size}),r=fr(r)),r.length>1||r[0]>1)throw new mv(r);return!!r[0]}function An(t,e={}){typeof e.size<"u"&&Br(t,{size:e.size});const r=et(t,e);return lr(r,e)}function g5(t,e={}){let r=t;return typeof e.size<"u"&&(Br(r,{size:e.size}),r=fr(r,{dir:"right"})),new TextDecoder().decode(r)}function ya(t,e){const r=typeof e=="string"?Jr(e):e,n=Vd(r);if(De(r)===0&&t.length>0)throw new la;if(De(e)&&De(e)<32)throw new Rm({data:typeof e=="string"?e:et(e),params:t,size:De(e)});let s=0;const i=[];for(let o=0;o<t.length;++o){const a=t[o];n.setPosition(s);const[c,u]=wi(n,a,{staticPosition:0});s+=u,i.push(c)}return i}function wi(t,e,{staticPosition:r}){const n=Dd(e.type);if(n){const[s,i]=n;return v5(t,{...e,type:i},{length:s,staticPosition:r})}if(e.type==="tuple")return x5(t,e,{staticPosition:r});if(e.type==="address")return w5(t);if(e.type==="bool")return E5(t);if(e.type.startsWith("bytes"))return A5(t,e,{staticPosition:r});if(e.type.startsWith("uint")||e.type.startsWith("int"))return S5(t,e);if(e.type==="string")return k5(t,{staticPosition:r});throw new dv(e.type,{docsPath:"/docs/contract/decodeAbiParameters"})}const Bp=32,Cl=32;function w5(t){const e=t.readBytes(32);return[da(et(ib(e,-20))),32]}function v5(t,e,{length:r,staticPosition:n}){if(!r){const o=An(t.readBytes(Cl)),a=n+o,c=a+Bp;t.setPosition(a);const u=An(t.readBytes(Bp)),f=Oo(e);let l=0;const p=[];for(let d=0;d<u;++d){t.setPosition(c+(f?d*32:l));const[m,b]=wi(t,e,{staticPosition:c});l+=b,p.push(m)}return t.setPosition(n+32),[p,32]}if(Oo(e)){const o=An(t.readBytes(Cl)),a=n+o,c=[];for(let u=0;u<r;++u){t.setPosition(a+u*32);const[f]=wi(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]=wi(t,e,{staticPosition:n+s});s+=c,i.push(a)}return[i,s]}function E5(t){return[b5(t.readBytes(32),{size:32}),32]}function A5(t,e,{staticPosition:r}){const[n,s]=e.type.split("bytes");if(!s){const o=An(t.readBytes(32));t.setPosition(r+o);const a=An(t.readBytes(32));if(a===0)return t.setPosition(r+32),["0x",32];const c=t.readBytes(a);return t.setPosition(r+32),[et(c),32]}return[et(t.readBytes(Number.parseInt(s,10),32)),32]}function S5(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?m5(s,{signed:r}):An(s,{signed:r}),32]}function x5(t,e,{staticPosition:r}){const n=e.components.length===0||e.components.some(({name:o})=>!o),s=n?[]:{};let i=0;if(Oo(e)){const o=An(t.readBytes(Cl)),a=r+o;for(let c=0;c<e.components.length;++c){const u=e.components[c];t.setPosition(a+i);const[f,l]=wi(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]=wi(t,a,{staticPosition:r});s[n?o:a==null?void 0:a.name]=c,i+=u}return[s,i]}function k5(t,{staticPosition:e}){const r=An(t.readBytes(32)),n=e+r;t.setPosition(n);const s=An(t.readBytes(32));if(s===0)return t.setPosition(e+32),["",32];const i=t.readBytes(s,32),o=g5(fr(i));return t.setPosition(e+32),[o,32]}function Oo(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(Oo);const r=Dd(t.type);return!!(r&&Oo({...t,type:r[1]}))}function fb(t){const{abi:e,data:r}=t,n=Ns(r,0,4);if(n==="0x")throw new la;const i=[...e||[],cb,h5].find(o=>o.type==="error"&&n===ha(Tr(o)));if(!i)throw new Nm(n,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:i,args:"inputs"in i&&i.inputs&&i.inputs.length>0?ya(i.inputs,Ns(r,4)):void 0,errorName:i.name}}const Qe=(t,e,r)=>JSON.stringify(t,(n,s)=>typeof s=="bigint"?s.toString():s,r);function lb({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"?Qe(e[i]):e[i]}`).join(", ")})`}const T5={gwei:9,wei:18},_5={ether:-9,wei:9};function db(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 qd(t,e="wei"){return db(t,T5[e])}function jt(t,e="wei"){return db(t,_5[e])}class P5 extends L{constructor({address:e}){super(`State for account "${e}" is set multiple times.`,{name:"AccountStateConflictError"})}}class I5 extends L{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function Cp(t){return t.reduce((e,{slot:r,value:n})=>`${e} ${r}: ${n}
|
|
23
|
-
`,"")}function O5(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+=Cp(n.state)),n.stateDiff&&(s+=` stateDiff:
|
|
29
|
-
`,s+=Cp(n.stateDiff)),s},` State Override:
|
|
30
|
-
`).slice(0,-1)}function ma(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 B5 extends L{constructor(){super(["Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.","Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others."].join(`
|
|
32
|
-
`),{name:"FeeConflictError"})}}class C5 extends L{constructor({v:e}){super(`Invalid \`v\` value "${e}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class $5 extends L{constructor({transaction:e}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",ma(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 R5 extends L{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 N5 extends L{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=ma({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"&&`${qd(p)} ${((m=s==null?void 0:s.nativeCurrency)==null?void 0:m.symbol)||"ETH"}`,data:i,gas:o,gasPrice:typeof a<"u"&&`${jt(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${jt(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${jt(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 hb extends L{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 pb extends L{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 U5 extends L{constructor({hash:e}){super(`Timed out while waiting for transaction with hash "${e}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}const M5=t=>t,Lc=t=>t;class yb extends L{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 E;const m=r?Ze(r):void 0;let b=ma({from:m==null?void 0:m.address,to:l,value:typeof p<"u"&&`${qd(p)} ${((E=s==null?void 0:s.nativeCurrency)==null?void 0:E.symbol)||"ETH"}`,data:i,gas:o,gasPrice:typeof a<"u"&&`${jt(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${jt(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${jt(u)} gwei`,nonce:f});d&&(b+=`
|
|
33
|
-
${O5(d)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Raw Call Arguments:",b].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class mb extends L{constructor(e,{abi:r,args:n,contractAddress:s,docsPath:i,functionName:o,sender:a}){const c=Zs({abi:r,args:n,name:o}),u=c?lb({abiItem:c,args:n,includeFunctionName:!1,includeName:!1}):void 0,f=c?Tr(c,{includeName:!0}):void 0,l=ma({address:s&&M5(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 $l extends L{constructor({abi:e,data:r,functionName:n,message:s}){let i,o,a,c;if(r&&r!=="0x")try{o=fb({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=d5[d]}else{const d=f?Tr(f,{includeName:!0}):void 0,m=f&&p?lb({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 Nm&&(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(`
|
|
34
|
-
`):`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 F5 extends L{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 j5 extends L{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 Hc extends L{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 vi extends L{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: ${Lc(o)}`,e&&`Request body: ${Qe(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 Gd extends L{constructor({body:e,error:r,url:n}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${Lc(n)}`,`Request body: ${Qe(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}),this.code=r.code,this.data=r.data}}class $p extends L{constructor({body:e,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${Lc(r)}`,`Request body: ${Qe(e)}`],name:"TimeoutError"})}}const L5=-1;class Ht extends L{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 Gd?e.code:r??L5}}class Jt extends Ht{constructor(e,r){super(e,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}}class Bo extends Ht{constructor(e){super(e,{code:Bo.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}}Object.defineProperty(Bo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class Co extends Ht{constructor(e){super(e,{code:Co.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}}Object.defineProperty(Co,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class $o extends Ht{constructor(e,{method:r}={}){super(e,{code:$o.code,name:"MethodNotFoundRpcError",shortMessage:`The method${r?` "${r}"`:""} does not exist / is not available.`})}}Object.defineProperty($o,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class Ro extends Ht{constructor(e){super(e,{code:Ro.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
|
|
35
|
-
`)})}}Object.defineProperty(Ro,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class Us extends Ht{constructor(e){super(e,{code:Us.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}}Object.defineProperty(Us,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class Ms extends Ht{constructor(e){super(e,{code:Ms.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
|
|
36
|
-
`)})}}Object.defineProperty(Ms,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class No extends Ht{constructor(e){super(e,{code:No.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(No,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class Uo extends Ht{constructor(e){super(e,{code:Uo.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}}Object.defineProperty(Uo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class Mo extends Ht{constructor(e){super(e,{code:Mo.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}}Object.defineProperty(Mo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class vs extends Ht{constructor(e,{method:r}={}){super(e,{code:vs.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}}Object.defineProperty(vs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class Ci extends Ht{constructor(e){super(e,{code:Ci.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}}Object.defineProperty(Ci,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class Fo extends Ht{constructor(e){super(e,{code:Fo.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}}Object.defineProperty(Fo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class Ei extends Jt{constructor(e){super(e,{code:Ei.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}}Object.defineProperty(Ei,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class jo extends Jt{constructor(e){super(e,{code:jo.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}}Object.defineProperty(jo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class Lo extends Jt{constructor(e,{method:r}={}){super(e,{code:Lo.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}}Object.defineProperty(Lo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class Ho extends Jt{constructor(e){super(e,{code:Ho.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}}Object.defineProperty(Ho,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class Do extends Jt{constructor(e){super(e,{code:Do.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}}Object.defineProperty(Do,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class zo extends Jt{constructor(e){super(e,{code:zo.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}}Object.defineProperty(zo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class $i extends Jt{constructor(e){super(e,{code:$i.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty($i,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class Vo extends Jt{constructor(e){super(e,{code:Vo.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}}Object.defineProperty(Vo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});class qo extends Jt{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 Go extends Jt{constructor(e){super(e,{code:Go.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}}Object.defineProperty(Go,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});class Wo extends Jt{constructor(e){super(e,{code:Wo.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}}Object.defineProperty(Wo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});class Ko extends Jt{constructor(e){super(e,{code:Ko.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}}Object.defineProperty(Ko,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});class Ri extends Jt{constructor(e){super(e,{code:Ri.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(Ri,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});class H5 extends Ht{constructor(e){super(e,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}const D5=3;function Fs(t,{abi:e,address:r,args:n,docsPath:s,functionName:i,sender:o}){const a=t instanceof Hc?t:t instanceof L?t.walk(m=>"data"in m)||t.walk():{},{code:c,data:u,details:f,message:l,shortMessage:p}=a,d=t instanceof la?new F5({functionName:i}):[D5,Us.code].includes(c)&&(u||f||l||p)?new $l({abi:e,data:typeof u=="object"?u.data:u,functionName:i,message:a instanceof Gd?f:p??l}):t;return new mb(d,{abi:e,args:n,contractAddress:r,docsPath:s,functionName:i,sender:o})}function z5(t){const e=ht(`0x${t.substring(4)}`).substring(26);return da(`0x${e}`)}async function V5({hash:t,signature:e}){const r=_r(t)?t:Bt(t),{secp256k1:n}=await Promise.resolve().then(()=>ok);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=Rp(d);return new n.Signature(ut(u),ut(f)).addRecoveryBit(m)}const o=_r(e)?e:Bt(e);if(De(o)!==65)throw new Error("invalid signature length");const a=lr(`0x${o.slice(130)}`),c=Rp(a);return n.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Rp(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 z5(await V5({hash:t,signature:e}))}function as(t,e="hex"){const r=gb(t),n=Vd(new Uint8Array(r.length));return r.encode(n),e==="hex"?et(n.bytes):n.bytes}function gb(t){return Array.isArray(t)?q5(t.map(e=>gb(e))):G5(t)}function q5(t){const e=t.reduce((s,i)=>s+i.length,0),r=wb(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 G5(t){const e=typeof t=="string"?Jr(t):t,r=wb(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 wb(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 L("Length is too large.")}function W5(t){const{chainId:e,nonce:r,to:n}=t,s=t.contractAddress??t.address,i=ht(Cr(["0x05",as([e?Z(e):"0x",s,r?Z(r):"0x"])]));return n==="bytes"?Jr(i):i}async function Wd(t){const{authorization:e,signature:r}=t;return bb({hash:W5(e),signature:r??e})}class K5 extends L{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=ma({from:r==null?void 0:r.address,to:l,value:typeof p<"u"&&`${qd(p)} ${((m=s==null?void 0:s.nativeCurrency)==null?void 0:m.symbol)||"ETH"}`,data:i,gas:o,gasPrice:typeof a<"u"&&`${jt(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${jt(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${jt(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 mi extends L{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(mi,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(mi,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class js extends L{constructor({cause:e,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${jt(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 Rl extends L{constructor({cause:e,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${jt(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:e,name:"FeeCapTooLowError"})}}Object.defineProperty(Rl,"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 Nl extends L{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(Nl,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Ul extends L{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(`
|
|
37
|
-
`),{cause:e,name:"NonceTooLowError"})}}Object.defineProperty(Ul,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class Ml extends L{constructor({cause:e,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}exceeds the maximum allowed nonce.`,{cause:e,name:"NonceMaxValueError"})}}Object.defineProperty(Ml,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class Fl extends L{constructor({cause:e}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
|
|
38
|
-
`),{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(Fl,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class jl extends L{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(jl,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class Ll extends L{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(Ll,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class Hl extends L{constructor({cause:e}){super("The transaction type is not supported for this chain.",{cause:e,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(Hl,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class Zo extends L{constructor({cause:e,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${jt(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${jt(n)} gwei`:""}).`].join(`
|
|
39
|
-
`),{cause:e,name:"TipAboveFeeCapError"})}}Object.defineProperty(Zo,"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 ba extends L{constructor({cause:e}){super(`An error occurred while executing: ${e==null?void 0:e.shortMessage}`,{cause:e,name:"UnknownNodeError"})}}function Dc(t,e){const r=(t.details||"").toLowerCase(),n=t instanceof L?t.walk(s=>(s==null?void 0:s.code)===mi.code):t;return n instanceof L?new mi({cause:t,message:n.details}):mi.nodeMessage.test(r)?new mi({cause:t,message:t.details}):js.nodeMessage.test(r)?new js({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas}):Rl.nodeMessage.test(r)?new Rl({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas}):Nl.nodeMessage.test(r)?new Nl({cause:t,nonce:e==null?void 0:e.nonce}):Ul.nodeMessage.test(r)?new Ul({cause:t,nonce:e==null?void 0:e.nonce}):Ml.nodeMessage.test(r)?new Ml({cause:t,nonce:e==null?void 0:e.nonce}):Fl.nodeMessage.test(r)?new Fl({cause:t}):jl.nodeMessage.test(r)?new jl({cause:t,gas:e==null?void 0:e.gas}):Ll.nodeMessage.test(r)?new Ll({cause:t,gas:e==null?void 0:e.gas}):Hl.nodeMessage.test(r)?new Hl({cause:t}):Zo.nodeMessage.test(r)?new Zo({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas,maxPriorityFeePerGas:e==null?void 0:e.maxPriorityFeePerGas}):new ba({cause:t})}function Z5(t,{docsPath:e,...r}){const n=(()=>{const s=Dc(t,r);return s instanceof ba?t:s})();return new K5(n,{docsPath:e,...r})}function zc(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 Kd(t,e){return({exclude:r,format:n})=>({exclude:r,format:s=>{const i=e(s);if(r)for(const o of r)delete i[o];return{...i,...n(s)}},type:t})}const Y5={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function Vi(t){const e={};return typeof t.authorizationList<"u"&&(e.authorizationList=X5(t.authorizationList)),typeof t.accessList<"u"&&(e.accessList=t.accessList),typeof t.blobVersionedHashes<"u"&&(e.blobVersionedHashes=t.blobVersionedHashes),typeof t.blobs<"u"&&(typeof t.blobs[0]!="string"?e.blobs=t.blobs.map(r=>et(r)):e.blobs=t.blobs),typeof t.data<"u"&&(e.data=t.data),typeof t.from<"u"&&(e.from=t.from),typeof t.gas<"u"&&(e.gas=Z(t.gas)),typeof t.gasPrice<"u"&&(e.gasPrice=Z(t.gasPrice)),typeof t.maxFeePerBlobGas<"u"&&(e.maxFeePerBlobGas=Z(t.maxFeePerBlobGas)),typeof t.maxFeePerGas<"u"&&(e.maxFeePerGas=Z(t.maxFeePerGas)),typeof t.maxPriorityFeePerGas<"u"&&(e.maxPriorityFeePerGas=Z(t.maxPriorityFeePerGas)),typeof t.nonce<"u"&&(e.nonce=Z(t.nonce)),typeof t.to<"u"&&(e.to=t.to),typeof t.type<"u"&&(e.type=Y5[t.type]),typeof t.value<"u"&&(e.value=Z(t.value)),e}function X5(t){return t.map(e=>({address:e.address,r:e.r?Z(BigInt(e.r)):e.r,s:e.s?Z(BigInt(e.s)):e.s,chainId:Z(e.chainId),nonce:Z(e.nonce),...typeof e.yParity<"u"?{yParity:Z(e.yParity)}:{},...typeof e.v<"u"&&typeof e.yParity>"u"?{v:Z(e.v)}:{}}))}function Np(t){if(!(!t||t.length===0))return t.reduce((e,{slot:r,value:n})=>{if(r.length!==66)throw new Ap({size:r.length,targetSize:66,type:"hex"});if(n.length!==66)throw new Ap({size:n.length,targetSize:66,type:"hex"});return e[r]=n,e},{})}function J5(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=Z(e)),r!==void 0&&(o.nonce=Z(r)),n!==void 0&&(o.state=Np(n)),s!==void 0){if(o.state)throw new I5;o.stateDiff=Np(s)}return o}function Zd(t){if(!t)return;const e={};for(const{address:r,...n}of t){if(!at(r,{strict:!1}))throw new $t({address:r});if(e[r])throw new P5({address:r});e[r]=J5(n)}return e}const Vc=2n**256n-1n;function Ys(t){const{account:e,gasPrice:r,maxFeePerGas:n,maxPriorityFeePerGas:s,to:i}=t,o=e?Ze(e):void 0;if(o&&!at(o.address))throw new $t({address:o.address});if(i&&!at(i))throw new $t({address:i});if(typeof r<"u"&&(typeof n<"u"||typeof s<"u"))throw new B5;if(n&&n>Vc)throw new js({maxFeePerGas:n});if(s&&n&&s>n)throw new Zo({maxFeePerGas:n,maxPriorityFeePerGas:s})}class Q5 extends L{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class Yd extends L{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class eE extends L{constructor({maxPriorityFeePerGas:e}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${jt(e)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class vb extends L{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 Eb={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function qc(t){const e={...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,chainId:t.chainId?lr(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?lr(t.nonce):void 0,to:t.to?t.to:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,type:t.type?Eb[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&&(e.authorizationList=rE(t.authorizationList)),e.yParity=(()=>{if(t.yParity)return Number(t.yParity);if(typeof e.v=="bigint"){if(e.v===0n||e.v===27n)return 0;if(e.v===1n||e.v===28n)return 1;if(e.v>=35n)return e.v%2n===0n?1:0}})(),e.type==="legacy"&&(delete e.accessList,delete e.maxFeePerBlobGas,delete e.maxFeePerGas,delete e.maxPriorityFeePerGas,delete e.yParity),e.type==="eip2930"&&(delete e.maxFeePerBlobGas,delete e.maxFeePerGas,delete e.maxPriorityFeePerGas),e.type==="eip1559"&&delete e.maxFeePerBlobGas,e}const tE=Kd("transaction",qc);function rE(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 Xd(t){const e=(t.transactions??[]).map(r=>typeof r=="string"?r:qc(r));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:e,totalDifficulty:t.totalDifficulty?BigInt(t.totalDifficulty):null}}const nE=Kd("block",Xd);async function Zr(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?Z(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 vb({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)||Xd)(a)}async function Jd(t){const e=await t.request({method:"eth_gasPrice"});return BigInt(e)}async function sE(t,e){return Ab(t,e)}async function Ab(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 se(t,Zr,"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 ut(c)}catch{const[a,c]=await Promise.all([r?Promise.resolve(r):se(t,Zr,"getBlock")({}),se(t,Jd,"getGasPrice")({})]);if(typeof a.baseFeePerGas!="bigint")throw new Yd;const u=c-a.baseFeePerGas;return u<0n?0n:u}}async function iE(t,e){return Dl(t,e)}async function Dl(t,e){var p,d;const{block:r,chain:n=t.chain,request:s,type:i="eip1559"}=e||{},o=await(async()=>{var m,b;return typeof((m=n==null?void 0:n.fees)==null?void 0:m.baseFeeMultiplier)=="function"?n.fees.baseFeeMultiplier({block:r,client:t,request:s}):((b=n==null?void 0:n.fees)==null?void 0:b.baseFeeMultiplier)??1.2})();if(o<1)throw new Q5;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 se(t,Zr,"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 Yd;const m=typeof(s==null?void 0:s.maxPriorityFeePerGas)=="bigint"?s.maxPriorityFeePerGas:await Ab(t,{block:f,chain:n,request:s}),b=u(f.baseFeePerGas);return{maxFeePerGas:(s==null?void 0:s.maxFeePerGas)??b+m,maxPriorityFeePerGas:m}}return{gasPrice:(s==null?void 0:s.gasPrice)??u(await se(t,Jd,"getGasPrice")({}))}}async function Qd(t,{address:e,blockTag:r="latest",blockNumber:n}){const s=await t.request({method:"eth_getTransactionCount",params:[e,typeof n=="bigint"?Z(n):r]},{dedupe:!!n});return lr(s)}function eh(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=>Jr(i)):t.blobs,s=[];for(const i of n)s.push(Uint8Array.from(e.blobToKzgCommitment(i)));return r==="bytes"?s:s.map(i=>et(i))}function th(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=>Jr(o)):t.blobs,s=typeof t.commitments[0]=="string"?t.commitments.map(o=>Jr(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=>et(o))}function oE(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 aE(t,e,r){return t&e^~t&r}function cE(t,e,r){return t&e^t&r^e&r}let Sb=class extends Nc{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=Iu(this.buffer)}update(e){os(this),e=En(e),is(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=Iu(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){os(this),Md(e,this),this.finished=!0;const{buffer:r,view:n,blockLen:s,isLE:i}=this;let{pos:o}=this;r[o++]=128,Pr(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(n,0),o=0);for(let l=o;l<s;l++)r[l]=0;oE(n,s-8,BigInt(this.length*8),i),this.process(n,0);const a=Iu(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 Un=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Mn=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),uE=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]),Fn=new Uint32Array(64);let rh=class extends Sb{constructor(e=32){super(64,e,8,!1),this.A=Un[0]|0,this.B=Un[1]|0,this.C=Un[2]|0,this.D=Un[3]|0,this.E=Un[4]|0,this.F=Un[5]|0,this.G=Un[6]|0,this.H=Un[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)Fn[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){const p=Fn[l-15],d=Fn[l-2],m=Ur(p,7)^Ur(p,18)^p>>>3,b=Ur(d,17)^Ur(d,19)^d>>>10;Fn[l]=b+Fn[l-7]+m+Fn[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=Ur(a,6)^Ur(a,11)^Ur(a,25),d=f+p+aE(a,c,u)+uE[l]+Fn[l]|0,b=(Ur(n,2)^Ur(n,13)^Ur(n,22))+cE(n,s,i)|0;f=u,u=c,c=a,a=o+d|0,o=i,i=s,s=n,n=d+b|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(){Pr(Fn)}destroy(){this.set(0,0,0,0,0,0,0,0),Pr(this.buffer)}},xb=class extends rh{constructor(){super(28),this.A=Mn[0]|0,this.B=Mn[1]|0,this.C=Mn[2]|0,this.D=Mn[3]|0,this.E=Mn[4]|0,this.F=Mn[5]|0,this.G=Mn[6]|0,this.H=Mn[7]|0}};const kb=Uc(()=>new rh),fE=Uc(()=>new xb),lE=rh,Tb=kb,dE=xb,hE=fE,pE=Object.freeze(Object.defineProperty({__proto__:null,SHA224:dE,SHA256:lE,sha224:hE,sha256:Tb},Symbol.toStringTag,{value:"Module"}));function ho(t,e){const r=e||"hex",n=Tb(_r(t,{strict:!1})?zi(t):t);return r==="bytes"?n:Bt(n)}function yE(t){const{commitment:e,version:r=1}=t,n=t.to??(typeof e=="string"?"hex":"bytes"),s=ho(e,"bytes");return s.set([r],0),n==="bytes"?s:et(s)}function _b(t){const{commitments:e,version:r}=t,n=t.to??(typeof e[0]=="string"?"hex":"bytes"),s=[];for(const i of e)s.push(yE({commitment:i,to:n,version:r}));return s}const Up=6,Pb=32,nh=4096,Ib=Pb*nh,Mp=Ib*Up-1-1*nh*Up,Ob=1;class mE extends L{constructor({maxSize:e,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class Bb extends L{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class bE extends L{constructor({hash:e,size:r}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class gE extends L{constructor({hash:e,version:r}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:[`Expected: ${Ob}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}function wE(t){const e=t.to??(typeof t.data=="string"?"hex":"bytes"),r=typeof t.data=="string"?Jr(t.data):t.data,n=De(r);if(!n)throw new Bb;if(n>Mp)throw new mE({maxSize:Mp,size:n});const s=[];let i=!0,o=0;for(;i;){const a=Vd(new Uint8Array(Ib));let c=0;for(;c<nh;){const u=r.slice(o,o+(Pb-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=>et(a.bytes))}function Cb(t){const{data:e,kzg:r,to:n}=t,s=t.blobs??wE({data:e,to:n}),i=t.commitments??eh({blobs:s,kzg:r,to:n}),o=t.proofs??th({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 $b(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 $5({transaction:t})}async function qi(t){const e=await t.request({method:"eth_chainId"},{dedupe:!0});return lr(e)}const Rb=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Fp=new Map;async function Gc(t,e){const{account:r=t.account,blobs:n,chain:s,gas:i,kzg:o,nonce:a,nonceManager:c,parameters:u=Rb,type:f}=e,l=r&&Ze(r),p={...e,...l?{from:l==null?void 0:l.address}:{}};let d;async function m(){return d||(d=await se(t,Zr,"getBlock")({blockTag:"latest"}),d)}let b;async function E(){return b||(s?s.id:typeof e.chainId<"u"?e.chainId:(b=await se(t,qi,"getChainId")({}),b))}if(u.includes("nonce")&&typeof a>"u"&&l)if(c){const S=await E();p.nonce=await c.consume({address:l.address,chainId:S,client:t})}else p.nonce=await se(t,Qd,"getTransactionCount")({address:l.address,blockTag:"pending"});if((u.includes("blobVersionedHashes")||u.includes("sidecars"))&&n&&o){const S=eh({blobs:n,kzg:o});if(u.includes("blobVersionedHashes")){const P=_b({commitments:S,to:"hex"});p.blobVersionedHashes=P}if(u.includes("sidecars")){const P=th({blobs:n,commitments:S,kzg:o}),A=Cb({blobs:n,commitments:S,proofs:P,to:"hex"});p.sidecars=A}}if(u.includes("chainId")&&(p.chainId=await E()),(u.includes("fees")||u.includes("type"))&&typeof f>"u")try{p.type=$b(p)}catch{let S=Fp.get(t.uid);if(typeof S>"u"){const P=await m();S=typeof(P==null?void 0:P.baseFeePerGas)=="bigint",Fp.set(t.uid,S)}p.type=S?"eip1559":"legacy"}if(u.includes("fees"))if(p.type!=="legacy"&&p.type!=="eip2930"){if(typeof p.maxFeePerGas>"u"||typeof p.maxPriorityFeePerGas>"u"){const S=await m(),{maxFeePerGas:P,maxPriorityFeePerGas:A}=await Dl(t,{block:S,chain:s,request:p});if(typeof e.maxPriorityFeePerGas>"u"&&e.maxFeePerGas&&e.maxFeePerGas<A)throw new eE({maxPriorityFeePerGas:A});p.maxPriorityFeePerGas=A,p.maxFeePerGas=P}}else{if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")throw new Yd;if(typeof e.gasPrice>"u"){const S=await m(),{gasPrice:P}=await Dl(t,{block:S,chain:s,request:p,type:"legacy"});p.gasPrice=P}}return u.includes("gas")&&typeof i>"u"&&(p.gas=await se(t,sh,"estimateGas")({...p,account:l&&{address:l.address,type:"json-rpc"}})),Ys(p),delete p.parameters,p}async function sh(t,e){var s,i,o;const{account:r=t.account}=e,n=r?Ze(r):void 0;try{const{accessList:a,authorizationList:c,blobs:u,blobVersionedHashes:f,blockNumber:l,blockTag:p,data:d,gas:m,gasPrice:b,maxFeePerBlobGas:E,maxFeePerGas:S,maxPriorityFeePerGas:P,nonce:A,value:w,stateOverride:k,...T}=await Gc(t,{...e,parameters:(n==null?void 0:n.type)==="local"?void 0:["blobVersionedHashes"]}),N=(typeof l=="bigint"?Z(l):void 0)||p,$=Zd(k),H=await(async()=>{if(T.to)return T.to;if(c&&c.length>0)return await Wd({authorization:c[0]}).catch(()=>{throw new L("`to` is required. Could not infer from `authorizationList`")})})();Ys(e);const M=(o=(i=(s=t.chain)==null?void 0:s.formatters)==null?void 0:i.transactionRequest)==null?void 0:o.format,G=(M||Vi)({...zc(T,{format:M}),from:n==null?void 0:n.address,accessList:a,authorizationList:c,blobs:u,blobVersionedHashes:f,data:d,gas:m,gasPrice:b,maxFeePerBlobGas:E,maxFeePerGas:S,maxPriorityFeePerGas:P,nonce:A,to:H,value:w});return BigInt(await t.request({method:"eth_estimateGas",params:$?[G,N??t.experimental_blockTag??"latest",$]:N?[G,N]:[G]}))}catch(a){throw Z5(a,{...e,account:n,chain:t.chain})}}async function Nb(t,e){const{abi:r,address:n,args:s,functionName:i,dataSuffix:o,...a}=e,c=Xt({abi:r,args:s,functionName:i});try{return await se(t,sh,"estimateGas")({data:`${c}${o?o.replace("0x",""):""}`,to:n,...a})}catch(u){const f=a.account?Ze(a.account):void 0;throw Fs(u,{abi:r,address:n,args:s,docsPath:"/docs/contract/estimateContractGas",functionName:i,sender:f==null?void 0:f.address})}}function Gi(t,e){if(!at(t,{strict:!1}))throw new $t({address:t});if(!at(e,{strict:!1}))throw new $t({address:e});return t.toLowerCase()===e.toLowerCase()}const jp="/docs/contract/decodeEventLog";function ih(t){const{abi:e,data:r,strict:n,topics:s}=t,i=n??!0,[o,...a]=s;if(!o)throw new av({docsPath:jp});const c=e.find(b=>b.type==="event"&&o===Mc(Tr(b)));if(!(c&&"name"in c)||c.type!=="event")throw new Um(o,{docsPath:jp});const{name:u,inputs:f}=c,l=f==null?void 0:f.some(b=>!("name"in b&&b.name)),p=l?[]:{},d=f.map((b,E)=>[b,E]).filter(([b])=>"indexed"in b&&b.indexed);for(let b=0;b<d.length;b++){const[E,S]=d[b],P=a[b];if(!P)throw new Rc({abiItem:c,param:E});p[l?S:E.name||S]=vE({param:E,value:P})}const m=f.filter(b=>!("indexed"in b&&b.indexed));if(m.length>0){if(r&&r!=="0x")try{const b=ya(m,r);if(b)if(l)for(let E=0;E<f.length;E++)p[E]=p[E]??b.shift();else for(let E=0;E<m.length;E++)p[m[E].name]=b[E]}catch(b){if(i)throw b instanceof Rm||b instanceof ub?new Po({abiItem:c,data:r,params:m,size:De(r)}):b}else if(i)throw new Po({abiItem:c,data:"0x",params:m,size:0})}return{eventName:u,args:Object.values(p).length>0?p:void 0}}function vE({param:t,value:e}){return t.type==="string"||t.type==="bytes"||t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/)?e:(ya([t],e)||[])[0]}function oh(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 a;try{const c=e.find(f=>f.type==="event"&&o.topics[0]===Mc(f));if(!c)return null;const u=ih({...o,abi:[c],strict:s});return i&&!i.includes(u.eventName)||!EE({args:u.args,inputs:c.inputs,matchArgs:r})?null:{...u,...o}}catch(c){let u,f;if(c instanceof Um)return null;if(c instanceof Po||c instanceof Rc){if(s)return null;u=c.abiItem.name,f=(a=c.abiItem.inputs)==null?void 0:a.some(l=>!("name"in l&&l.name))}return{...o,args:f?[]:{},eventName:u}}}).filter(Boolean)}function EE(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"?Gi(o,a):i.type==="string"||i.type==="bytes"?ht(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 kn(t,{args:e,eventName:r}={}){return{...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,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(b=>pa({abi:[b],eventName:b.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"?Z(n):n,toBlock:typeof s=="bigint"?Z(s):s}]});const d=p.map(m=>kn(m));return f?oh({abi:f,args:a,logs:d,strict:u}):d}async function ch(t,e){const{abi:r,address:n,args:s,blockHash:i,eventName:o,fromBlock:a,toBlock:c,strict:u}=e,f=o?Zs({abi:r,name:o}):void 0,l=f?void 0:r.filter(p=>p.type==="event");return se(t,ah,"getLogs")({address:n,args:s,blockHash:i,event:f,events:l,fromBlock:a,toBlock:c,strict:u})}const Cu="/docs/contract/decodeFunctionResult";function Xs(t){const{abi:e,args:r,functionName:n,data:s}=t;let i=e[0];if(n){const a=Zs({abi:e,args:r,name:n});if(!a)throw new Oi(n,{docsPath:Cu});i=a}if(i.type!=="function")throw new Oi(void 0,{docsPath:Cu});if(!i.outputs)throw new Mm(i.name,{docsPath:Cu});const o=ya(i.outputs,s);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}const AE="0.1.1";function SE(){return AE}let ve=class zl extends Error{constructor(e,r={}){const n=(()=>{var c;if(r.cause instanceof zl){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:(c=r.cause)!=null&&c.message?r.cause.message:r.details})(),s=r.cause instanceof zl&&r.cause.docsPath||r.docsPath,o=`https://oxlib.sh${s??""}`,a=[e||"An error occurred.",...r.metaMessages?["",...r.metaMessages]:[],...n||s?["",n?`Details: ${n}`:void 0,s?`See: ${o}`:void 0]:[]].filter(c=>typeof c=="string").join(`
|
|
40
|
-
`);super(a,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,"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,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${SE()}`}),this.cause=r.cause,this.details=n,this.docs=o,this.docsPath=s,this.shortMessage=e}walk(e){return Ub(this,e)}};function Ub(t,e){return e!=null&&e(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause?Ub(t.cause,e):e?null:t}function ga(t,e){if(bi(t)>e)throw new LE({givenSize:bi(t),maxSize:e})}const rn={zero:48,nine:57,A:65,F:70,a:97,f:102};function Lp(t){if(t>=rn.zero&&t<=rn.nine)return t-rn.zero;if(t>=rn.A&&t<=rn.F)return t-(rn.A-10);if(t>=rn.a&&t<=rn.f)return t-(rn.a-10)}function xE(t,e={}){const{dir:r,size:n=32}=e;if(n===0)return t;if(t.length>n)throw new HE({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 Mb(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 Wc(t,e){if(Kt(t)>e)throw new WE({givenSize:Kt(t),maxSize:e})}function kE(t,e){if(typeof e=="number"&&e>0&&e>Kt(t)-1)throw new Gb({offset:e,position:"start",size:Kt(t)})}function TE(t,e,r){if(typeof e=="number"&&typeof r=="number"&&Kt(t)!==r-e)throw new Gb({offset:r,position:"end",size:Kt(t)})}function Fb(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 KE({size:Math.ceil(s.length/2),targetSize:n,type:"Hex"});return`0x${s[r==="right"?"padEnd":"padStart"](n*2,"0")}`}const _E="#__bigint";function jb(t,e,r){return JSON.stringify(t,(n,s)=>typeof s=="bigint"?s.toString()+_E:s,r)}const PE=new TextDecoder,IE=new TextEncoder;function OE(t){return t instanceof Uint8Array?t:typeof t=="string"?Lb(t):BE(t)}function BE(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function Lb(t,e={}){const{size:r}=e;let n=t;r&&(Wc(t,r),n=Hs(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=Lp(s.charCodeAt(c++)),f=Lp(s.charCodeAt(c++));if(u===void 0||f===void 0)throw new ve(`Invalid byte sequence ("${s[c-2]}${s[c-1]}" in "${s}").`);o[a]=u*16+f}return o}function CE(t,e={}){const{size:r}=e,n=IE.encode(t);return typeof r=="number"?(ga(n,r),$E(n,r)):n}function $E(t,e){return xE(t,{dir:"right",size:e})}function bi(t){return t.length}function RE(t,e,r,n={}){const{strict:s}=n;return t.slice(e,r)}function NE(t,e={}){const{size:r}=e;typeof r<"u"&&ga(t,r);const n=Or(t,e);return zb(n,e)}function UE(t,e={}){const{size:r}=e;let n=t;if(typeof r<"u"&&(ga(n,r),n=Hb(n)),n.length>1||n[0]>1)throw new jE(n);return!!n[0]}function Sn(t,e={}){const{size:r}=e;typeof r<"u"&&ga(t,r);const n=Or(t,e);return Vb(n,e)}function ME(t,e={}){const{size:r}=e;let n=t;return typeof r<"u"&&(ga(n,r),n=FE(n)),PE.decode(n)}function Hb(t){return Mb(t,{dir:"left"})}function FE(t){return Mb(t,{dir:"right"})}class jE extends ve{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 LE=class extends ve{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"})}},HE=class extends ve{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 DE=new TextEncoder,zE=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function VE(t,e={}){const{strict:r=!1}=e;if(!t)throw new Hp(t);if(typeof t!="string")throw new Hp(t);if(r&&!/^0x[0-9a-fA-F]*$/.test(t))throw new Dp(t);if(!t.startsWith("0x"))throw new Dp(t)}function Ir(...t){return`0x${t.reduce((e,r)=>e+r.replace("0x",""),"")}`}function qE(t){return t instanceof Uint8Array?Or(t):Array.isArray(t)?Or(new Uint8Array(t)):t}function Db(t,e={}){const r=`0x${Number(t)}`;return typeof e.size=="number"?(Wc(r,e.size),Ls(r,e.size)):r}function Or(t,e={}){let r="";for(let s=0;s<t.length;s++)r+=zE[t[s]];const n=`0x${r}`;return typeof e.size=="number"?(Wc(n,e.size),Hs(n,e.size)):n}function It(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 qb({max:i?`${i}${u}`:void 0,min:`${o}${u}`,signed:r,size:n,value:`${t}${u}`})}const c=`0x${(r&&s<0?(1n<<BigInt(n*8))+BigInt(s):s).toString(16)}`;return n?Ls(c,n):c}function uh(t,e={}){return Or(DE.encode(t),e)}function Ls(t,e){return Fb(t,{dir:"left",size:e})}function Hs(t,e){return Fb(t,{dir:"right",size:e})}function Yr(t,e,r,n={}){const{strict:s}=n;kE(t,e);const i=`0x${t.replace("0x","").slice((e??0)*2,(r??t.length)*2)}`;return s&&TE(i,e,r),i}function Kt(t){return Math.ceil((t.length-2)/2)}function zb(t,e={}){const{signed:r}=e;e.size&&Wc(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 Vb(t,e={}){const{signed:r,size:n}=e;return Number(!r&&!n?t:zb(t,e))}function GE(t,e={}){const{strict:r=!1}=e;try{return VE(t,{strict:r}),!0}catch{return!1}}class qb extends ve{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 Hp extends ve{constructor(e){super(`Value \`${typeof e=="object"?jb(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 Dp extends ve{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 WE extends ve{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 Gb extends ve{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 KE extends ve{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 ZE(t){return{address:t.address,amount:It(t.amount),index:It(t.index),validatorIndex:It(t.validatorIndex)}}function Wb(t){return{...typeof t.baseFeePerGas=="bigint"&&{baseFeePerGas:It(t.baseFeePerGas)},...typeof t.blobBaseFee=="bigint"&&{blobBaseFee:It(t.blobBaseFee)},...typeof t.feeRecipient=="string"&&{feeRecipient:t.feeRecipient},...typeof t.gasLimit=="bigint"&&{gasLimit:It(t.gasLimit)},...typeof t.number=="bigint"&&{number:It(t.number)},...typeof t.prevRandao=="bigint"&&{prevRandao:It(t.prevRandao)},...typeof t.time=="bigint"&&{time:It(t.time)},...t.withdrawals&&{withdrawals:t.withdrawals.map(ZE)}}}const gc=[{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"}],Vl=[{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"}]}],Kb=[{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"}],Zb=[...Kb,{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"}]}],YE=[...Kb,{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"}]}],zp=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],Vp=[{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"}]}],Yb=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],qp=[{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"}],XE="0x82ad56cb",Xb="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",JE="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",QE="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",fh="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033";class ql extends L{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 eA extends L{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 tA extends L{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(`
|
|
41
|
-
`),{name:"ChainNotFoundError"})}}class Jb extends L{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}class Kc extends L{constructor({chainId:e}){super(typeof e=="number"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}const $u="/docs/contract/encodeDeployData";function Zc(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 rv({docsPath:$u});if(!("inputs"in s))throw new wp({docsPath:$u});if(!s.inputs||s.inputs.length===0)throw new wp({docsPath:$u});const i=fs(s.inputs,r);return Cr([n,i])}function Wi({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 ql({chain:e,contract:{name:r}});if(t&&n.blockCreated&&n.blockCreated>t)throw new ql({blockNumber:t,chain:e,contract:{name:r,blockCreated:n.blockCreated}});return n.address}function Qb(t,{docsPath:e,...r}){const n=(()=>{const s=Dc(t,r);return s instanceof ba?t:s})();return new yb(n,{docsPath:e,...r})}function lh(){let t=()=>{},e=()=>{};return{promise:new Promise((n,s)=>{t=n,e=s}),resolve:t,reject:e}}const Ru=new Map;function eg({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=()=>Ru.delete(e),a=()=>c().map(({args:f})=>f),c=()=>Ru.get(e)||[],u=f=>Ru.set(e,[...c(),f]);return{flush:o,async schedule(f){const{promise:l,resolve:p,reject:d}=lh();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 wa(t,e){var G,Q,W,K;const{account:r=t.account,authorizationList:n,batch:s=!!((G=t.batch)!=null&&G.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:b,maxFeePerBlobGas:E,maxFeePerGas:S,maxPriorityFeePerGas:P,nonce:A,to:w,value:k,stateOverride:T,...B}=e,N=r?Ze(r):void 0;if(f&&(p||d))throw new L("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(f&&w)throw new L("Cannot provide both `code` & `to` as parameters.");const $=f&&l,H=p&&d&&w&&l,M=$||H,V=$?tg({code:f,data:l}):H?sA({data:l,factory:p,factoryData:d,to:w}):l;try{Ys(e);const q=(typeof i=="bigint"?Z(i):void 0)||o,I=u?Wb(u):void 0,j=Zd(T),J=(K=(W=(Q=t.chain)==null?void 0:Q.formatters)==null?void 0:W.transactionRequest)==null?void 0:K.format,R=(J||Vi)({...zc(B,{format:J}),from:N==null?void 0:N.address,accessList:a,authorizationList:n,blobs:c,data:V,gas:m,gasPrice:b,maxFeePerBlobGas:E,maxFeePerGas:S,maxPriorityFeePerGas:P,nonce:A,to:M?void 0:w,value:k});if(s&&rA({request:R})&&!j&&!I)try{return await nA(t,{...R,blockNumber:i,blockTag:o})}catch(ae){if(!(ae instanceof Jb)&&!(ae instanceof ql))throw ae}const F=(()=>{const ae=[R,q];return j&&I?[...ae,j,I]:j?[...ae,j]:I?[...ae,{},I]:ae})(),ne=await t.request({method:"eth_call",params:F});return ne==="0x"?{data:void 0}:{data:ne}}catch(re){const q=iA(re),{offchainLookup:I,offchainLookupSignature:j}=await Promise.resolve().then(()=>require("./ccip-D_7TxSBL.cjs"));if(t.ccipRead!==!1&&(q==null?void 0:q.slice(0,10))===j&&w)return{data:await I(t,{data:q,to:w})};throw M&&(q==null?void 0:q.slice(0,10))==="0x101bb98d"?new j5({factory:p}):Qb(re,{...e,account:N,chain:t.chain})}}function rA({request:t}){const{data:e,to:r,...n}=t;return!(!e||e.startsWith(XE)||!r||Object.values(n).filter(s=>typeof s<"u").length>0)}async function nA(t,e){var b;const{batchSize:r=1024,deployless:n=!1,wait:s=0}=typeof((b=t.batch)==null?void 0:b.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 Wi({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new Jb})(),l=(typeof i=="bigint"?Z(i):void 0)||o,{schedule:p}=eg({id:`${t.uid}.${l}`,wait:s,shouldSplitBatch(E){return E.reduce((P,{data:A})=>P+(A.length-2),0)>r*2},fn:async E=>{const S=E.map(w=>({allowFailure:!0,callData:w.data,target:w.to})),P=Xt({abi:gc,args:[S],functionName:"aggregate3"}),A=await t.request({method:"eth_call",params:[{...u===null?{data:tg({code:fh,data:P})}:{to:u,data:P}},l]});return Xs({abi:gc,args:[S],functionName:"aggregate3",data:A||"0x"})}}),[{returnData:d,success:m}]=await p({data:a,to:c});if(!m)throw new Hc({data:d});return d==="0x"?{data:void 0}:{data:d}}function tg(t){const{code:e,data:r}=t;return Zc({abi:Bm(["constructor(bytes, bytes)"]),bytecode:Xb,args:[e,r]})}function sA(t){const{data:e,factory:r,factoryData:n,to:s}=t;return Zc({abi:Bm(["constructor(address, bytes, address, bytes)"]),bytecode:JE,args:[s,e,r,n]})}function iA(t){var r;if(!(t instanceof L))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 dr(t,e){const{abi:r,address:n,args:s,functionName:i,...o}=e,a=Xt({abi:r,args:s,functionName:i});try{const{data:c}=await se(t,wa,"call")({...o,data:a,to:n});return Xs({abi:r,args:s,functionName:i,data:c||"0x"})}catch(c){throw Fs(c,{abi:r,address:n,args:s,docsPath:"/docs/contract/readContract",functionName:i})}}async function rg(t,e){const{abi:r,address:n,args:s,dataSuffix:i,functionName:o,...a}=e,c=a.account?Ze(a.account):t.account,u=Xt({abi:r,args:s,functionName:o});try{const{data:f}=await se(t,wa,"call")({batch:!1,data:`${u}${i?i.replace("0x",""):""}`,to:n,...a,account:c}),l=Xs({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 Fs(f,{abi:r,address:n,args:s,docsPath:"/docs/contract/simulateContract",functionName:o,sender:c==null?void 0:c.address})}}const Nu=new Map,Gp=new Map;let oA=0;function Tn(t,e,r){const n=++oA,s=()=>Nu.get(t)||[],i=()=>{const f=s();Nu.set(t,f.filter(l=>l.id!==n))},o=()=>{const f=s();if(!f.some(p=>p.id===n))return;const l=Gp.get(t);if(f.length===1&&l){const p=l();p instanceof Promise&&p.catch(()=>{})}i()},a=s();if(Nu.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 b of p)(m=(d=b.fns)[f])==null||m.call(d,...l)};const u=r(c);return typeof u=="function"&&Gp.set(t,u),o}async function Gl(t){return new Promise(e=>setTimeout(e,t))}function Ki(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 Gl(c);const u=async()=>{s&&(await t({unpoll:i}),await Gl(n),u())};u()})(),i}const aA=new Map,cA=new Map;function uA(t){const e=(s,i)=>({clear:()=>i.delete(s),get:()=>i.get(s),set:o=>i.set(s,o)}),r=e(t,aA),n=e(t,cA);return{clear:()=>{r.clear(),n.clear()},promise:r,response:n}}async function fA(t,{cacheKey:e,cacheTime:r=Number.POSITIVE_INFINITY}){const n=uA(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 lA=t=>`blockNumber.${t}`;async function va(t,{cacheTime:e=t.cacheTime}={}){const r=await fA(()=>t.request({method:"eth_blockNumber"}),{cacheKey:lA(t.uid),cacheTime:e});return BigInt(r)}async function Yc(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=>kn(i));return!("abi"in e)||!e.abi?s:oh({abi:e.abi,logs:s,strict:r})}async function Xc(t,{filter:e}){return e.request({method:"eth_uninstallFilter",params:[e.id]})}function ng(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 E=p??!1,S=Qe(["watchContractEvent",n,s,i,t.uid,o,l,E,a]);return Tn(S,{onLogs:u,onError:c},P=>{let A;a!==void 0&&(A=a-1n);let w,k=!1;const T=Ki(async()=>{var B;if(!k){try{w=await se(t,zd,"createContractEventFilter")({abi:r,address:n,args:s,eventName:o,strict:E,fromBlock:a})}catch{}k=!0;return}try{let N;if(w)N=await se(t,Yc,"getFilterChanges")({filter:w});else{const $=await se(t,va,"getBlockNumber")({});A&&A<$?N=await se(t,ch,"getContractEvents")({abi:r,address:n,args:s,eventName:o,fromBlock:A+1n,toBlock:$,strict:E}):N=[],A=$}if(N.length===0)return;if(i)P.onLogs(N);else for(const $ of N)P.onLogs([$])}catch(N){w&&N instanceof Ms&&(k=!1),(B=P.onError)==null||B.call(P,N)}},{emitOnBegin:!0,interval:l});return async()=>{w&&await se(t,Xc,"uninstallFilter")({filter:w}),T()}})})():(()=>{const E=p??!1,S=Qe(["watchContractEvent",n,s,i,t.uid,o,l,E]);let P=!0,A=()=>P=!1;return Tn(S,{onLogs:u,onError:c},w=>((async()=>{try{const k=(()=>{if(t.transport.type==="fallback"){const N=t.transport.transports.find($=>$.config.type==="webSocket"||$.config.type==="ipc");return N?N.value:t.transport}return t.transport})(),T=o?pa({abi:r,eventName:o,args:s}):[],{unsubscribe:B}=await k.subscribe({params:["logs",{address:n,topics:T}],onData(N){var H;if(!P)return;const $=N.result;try{const{eventName:M,args:V}=ih({abi:r,data:$.data,topics:$.topics,strict:p}),G=kn($,{args:V,eventName:M});w.onLogs([G])}catch(M){let V,G;if(M instanceof Po||M instanceof Rc){if(p)return;V=M.abiItem.name,G=(H=M.abiItem.inputs)==null?void 0:H.some(W=>!("name"in W&&W.name))}const Q=kn($,{args:G?[]:{},eventName:V});w.onLogs([Q])}},onError(N){var $;($=w.onError)==null||$.call(w,N)}});A=B,P||A()}catch(k){c==null||c(k)}})(),()=>A()))})()}class Js extends L{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(`
|
|
42
|
-
`),{docsPath:e,docsSlug:"account",name:"AccountNotFoundError"})}}class sc extends L{constructor({docsPath:e,metaMessages:r,type:n}){super(`Account type "${n}" is not supported.`,{docsPath:e,metaMessages:r,name:"AccountTypeNotSupportedError"})}}function sg({chain:t,currentChainId:e}){if(!t)throw new tA;if(e!==t.id)throw new eA({chain:t,currentChainId:e})}function ig(t,{docsPath:e,...r}){const n=(()=>{const s=Dc(t,r);return s instanceof ba?t:s})();return new N5(n,{docsPath:e,...r})}async function dh(t,{serializedTransaction:e}){return t.request({method:"eth_sendRawTransaction",params:[e]},{retryCount:0})}const Uu=new Fc(128);async function Jc(t,e){var P,A,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:b,...E}=e;if(typeof r>"u")throw new Js({docsPath:"/docs/actions/wallet/sendTransaction"});const S=r?Ze(r):null;try{Ys(e);const T=await(async()=>{if(e.to)return e.to;if(e.to!==null&&i&&i.length>0)return await Wd({authorization:i[0]}).catch(()=>{throw new L("`to` is required. Could not infer from `authorizationList`.")})})();if((S==null?void 0:S.type)==="json-rpc"||S===null){let B;n!==null&&(B=await se(t,qi,"getChainId")({}),sg({currentChainId:B,chain:n}));const N=(w=(A=(P=t.chain)==null?void 0:P.formatters)==null?void 0:A.transactionRequest)==null?void 0:w.format,H=(N||Vi)({...zc(E,{format:N}),accessList:s,authorizationList:i,blobs:o,chainId:B,data:a,from:S==null?void 0:S.address,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:d,to:T,type:m,value:b}),M=Uu.get(t.uid),V=M?"wallet_sendTransaction":"eth_sendTransaction";try{return await t.request({method:V,params:[H]},{retryCount:0})}catch(G){if(M===!1)throw G;const Q=G;if(Q.name==="InvalidInputRpcError"||Q.name==="InvalidParamsRpcError"||Q.name==="MethodNotFoundRpcError"||Q.name==="MethodNotSupportedRpcError")return await t.request({method:"wallet_sendTransaction",params:[H]},{retryCount:0}).then(W=>(Uu.set(t.uid,!0),W)).catch(W=>{const K=W;throw K.name==="MethodNotFoundRpcError"||K.name==="MethodNotSupportedRpcError"?(Uu.set(t.uid,!1),Q):K});throw Q}}if((S==null?void 0:S.type)==="local"){const B=await se(t,Gc,"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:[...Rb,"sidecars"],type:m,value:b,...E,to:T}),N=(k=n==null?void 0:n.serializers)==null?void 0:k.transaction,$=await S.signTransaction(B,{serializer:N});return await se(t,dh,"sendRawTransaction")({serializedTransaction:$})}throw(S==null?void 0:S.type)==="smart"?new sc({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new sc({docsPath:"/docs/actions/wallet/sendTransaction",type:S==null?void 0:S.type})}catch(T){throw T instanceof sc?T:ig(T,{...e,account:S,chain:e.chain||void 0})}}async function og(t,e){const{abi:r,account:n=t.account,address:s,args:i,dataSuffix:o,functionName:a,...c}=e;if(typeof n>"u")throw new Js({docsPath:"/docs/contract/writeContract"});const u=n?Ze(n):null,f=Xt({abi:r,args:i,functionName:a});try{return await se(t,Jc,"sendTransaction")({data:`${f}${o?o.replace("0x",""):""}`,to:s,account:u,...c})}catch(l){throw Fs(l,{abi:r,address:s,args:i,docsPath:"/docs/contract/writeContract",functionName:a,sender:u==null?void 0:u.address})}}function hh({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:b,options:E}=Ua(m);return se(s,dr,"readContract")({abi:t,address:e,functionName:d,args:b,...E})}}})),f&&(c.simulate=new Proxy({},{get(p,d){return(...m)=>{const{args:b,options:E}=Ua(m);return se(s,rg,"simulateContract")({abi:t,address:e,functionName:d,args:b,...E})}}})),l&&(c.createEventFilter=new Proxy({},{get(p,d){return(...m)=>{const b=t.find(P=>P.type==="event"&&P.name===d),{args:E,options:S}=Mu(m,b);return se(s,zd,"createContractEventFilter")({abi:t,address:e,eventName:d,args:E,...S})}}}),c.getEvents=new Proxy({},{get(p,d){return(...m)=>{const b=t.find(P=>P.type==="event"&&P.name===d),{args:E,options:S}=Mu(m,b);return se(s,ch,"getContractEvents")({abi:t,address:e,eventName:d,args:E,...S})}}}),c.watchEvent=new Proxy({},{get(p,d){return(...m)=>{const b=t.find(P=>P.type==="event"&&P.name===d),{args:E,options:S}=Mu(m,b);return se(s,ng,"watchContractEvent")({abi:t,address:e,eventName:d,args:E,...S})}}}))),a&&f&&(c.write=new Proxy({},{get(p,d){return(...m)=>{const{args:b,options:E}=Ua(m);return se(i,og,"writeContract")({abi:t,address:e,functionName:d,args:b,...E})}}})),(o||a)&&f&&(c.estimateGas=new Proxy({},{get(p,d){return(...m)=>{const{args:b,options:E}=Ua(m);return se(s??i,Nb,"estimateContractGas")({abi:t,address:e,functionName:d,args:b,...E,account:E.account??i.account})}}})),c.address=e,c.abi=t,c}function Ua(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 Mu(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 dA extends L{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 wc(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 Gl(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 ag={"0x0":"reverted","0x1":"success"};function cg(t){const e={...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(r=>kn(r)):null,to:t.to?t.to:null,transactionIndex:t.transactionIndex?lr(t.transactionIndex):null,status:t.status?ag[t.status]:null,type:t.type?Eb[t.type]||t.type:null};return t.blobGasPrice&&(e.blobGasPrice=BigInt(t.blobGasPrice)),t.blobGasUsed&&(e.blobGasUsed=BigInt(t.blobGasUsed)),e}const hA=Kd("transactionReceipt",cg),ug="0x5792579257925792579257925792579257925792579257925792579257925792",fg=Z(0,{size:32});async function pA(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?Ze(r):null,l=e.calls.map(p=>{const d=p,m=d.abi?Xt({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&m?Wt([m,d.dataSuffix]):m,to:d.to,value:d.value?Z(d.value):void 0}});try{const p=await t.request({method:"wallet_sendCalls",params:[{atomicRequired:a,calls:l,capabilities:n,chainId:Z(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"))){if(n&&Object.values(n).some(P=>!P.optional)){const P="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new $i(new L(P,{details:P}))}if(a&&l.length>1){const S="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new Ri(new L(S,{details:S}))}const m=[];for(const S of l){const P=Jc(t,{account:f,chain:s,data:S.data,to:S.to,value:S.value?ut(S.value):void 0});m.push(P),o>0&&await new Promise(A=>setTimeout(A,o))}const b=await Promise.allSettled(m);if(b.every(S=>S.status==="rejected"))throw b[0].reason;const E=b.map(S=>S.status==="fulfilled"?S.value:fg);return{id:Wt([...E,Z(s.id,{size:32}),ug])}}throw ig(p,{...e,account:f,chain:e.chain})}}async function lg(t,e){async function r(f){if(f.endsWith(ug.slice(2))){const p=fr(Ol(f,-64,-32)),d=Ol(f,0,-64).slice(2).match(/.{1,64}/g),m=await Promise.all(d.map(E=>fg.slice(2)!==E?t.request({method:"eth_getTransactionReceipt",params:[`0x${E}`]},{dedupe:!0}):void 0)),b=m.some(E=>E===null)?100:m.every(E=>(E==null?void 0:E.status)==="0x1")?200:m.every(E=>(E==null?void 0:E.status)==="0x0")?500:600;return{atomic:!1,chainId:lr(p),receipts:m.filter(Boolean),status:b,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?lr(s):void 0,receipts:(i==null?void 0:i.map(f=>({...f,blockNumber:ut(f.blockNumber),gasUsed:ut(f.gasUsed),status:ag[f.status]})))??[],statusCode:u,status:c,version:o}}async function yA(t,e){const{id:r,pollingInterval:n=t.pollingInterval,status:s=({statusCode:b})=>b===200||b>=300,retryCount:i=4,retryDelay:o=({count:b})=>~~(1<<b)*200,timeout:a=6e4,throwOnFailure:c=!1}=e,u=Qe(["waitForCallsStatus",t.uid,r]),{promise:f,resolve:l,reject:p}=lh();let d;const m=Tn(u,{resolve:l,reject:p},b=>{const E=Ki(async()=>{const S=P=>{clearTimeout(d),E(),P(),m()};try{const P=await wc(async()=>{const A=await se(t,lg,"getCallsStatus")({id:r});if(c&&A.status==="failure")throw new dA(A);return A},{retryCount:i,delay:o});if(!s(P))return;S(()=>b.resolve(P))}catch(P){S(()=>b.reject(P))}},{interval:n,emitOnBegin:!0});return E});return d=a?setTimeout(()=>{m(),clearTimeout(d),p(new mA({id:r}))},a):void 0,await f}class mA extends L{constructor({id:e}){super(`Timed out while waiting for call bundle with id "${e}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const Wl=256;let Ma=Wl,Fa;function dg(t=11){if(!Fa||Ma+t>Wl*2){Fa="",Ma=0;for(let e=0;e<Wl;e++)Fa+=(256+Math.random()*256|0).toString(16).substring(1)}return Fa.substring(Ma,Ma+++t)}function hg(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?Ze(t.account):void 0,{config:d,request:m,value:b}=t.transport({chain:r,pollingInterval:f}),E={...d,...b},S={account:p,batch:e,cacheTime:l,ccipRead:n,chain:r,key:s,name:i,pollingInterval:f,request:m,transport:E,type:o,uid:dg(),...a?{experimental_blockTag:a}:{}};function P(A){return w=>{const k=w(A);for(const B in S)delete k[B];const T={...A,...k};return Object.assign(T,{extend:P(T)})}}return Object.assign(S,{extend:P(S)})}function ph(t){var r,n,s,i,o,a;if(!(t instanceof L))return!1;const e=t.walk(c=>c instanceof $l);return e instanceof $l?((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 bA(t){const{abi:e,data:r}=t,n=Ns(r,0,4),s=e.find(i=>i.type==="function"&&n===ha(Tr(i)));if(!s)throw new cv(n,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:s.name,args:"inputs"in s&&s.inputs&&s.inputs.length>0?ya(s.inputs,Ns(r,4)):void 0}}const Fu="/docs/contract/encodeErrorResult";function Wp(t){const{abi:e,errorName:r,args:n}=t;let s=e[0];if(r){const c=Zs({abi:e,args:n,name:r});if(!c)throw new vp(r,{docsPath:Fu});s=c}if(s.type!=="error")throw new vp(void 0,{docsPath:Fu});const i=Tr(s),o=ha(i);let a="0x";if(n&&n.length>0){if(!s.inputs)throw new ov(s.name,{docsPath:Fu});a=fs(s.inputs,n)}return Cr([o,a])}const ju="/docs/contract/encodeFunctionResult";function gA(t){const{abi:e,functionName:r,result:n}=t;let s=e[0];if(r){const o=Zs({abi:e,name:r});if(!o)throw new Oi(r,{docsPath:ju});s=o}if(s.type!=="function")throw new Oi(void 0,{docsPath:ju});if(!s.outputs)throw new Mm(s.name,{docsPath:ju});const i=(()=>{if(s.outputs.length===0)return[];if(s.outputs.length===1)return[n];if(Array.isArray(n))return n;throw new Fm(n)})();return fs(s.outputs,i)}const Ea="x-batch-gateway:true";async function pg(t){const{data:e,ccipRequest:r}=t,{args:[n]}=bA({abi:Vl,data:e}),s=[],i=[];return await Promise.all(n.map(async(o,a)=>{try{i[a]=o.urls.includes(Ea)?await pg({data:o.data,ccipRequest:r}):await r(o),s[a]=!1}catch(c){s[a]=!0,i[a]=wA(c)}})),gA({abi:Vl,functionName:"query",result:[s,i]})}function wA(t){return t.name==="HttpRequestError"&&t.status?Wp({abi:Vl,errorName:"HttpError",args:[t.status,t.shortMessage]}):Wp({abi:[cb],errorName:"Error",args:["shortMessage"in t?t.shortMessage:t.message]})}function yg(t){if(t.length!==66||t.indexOf("[")!==0||t.indexOf("]")!==65)return null;const e=`0x${t.slice(1,65)}`;return _r(e)?e:null}function Kl(t){let e=new Uint8Array(32).fill(0);if(!t)return et(e);const r=t.split(".");for(let n=r.length-1;n>=0;n-=1){const s=yg(r[n]),i=s?zi(s):ht(_s(r[n]),"bytes");e=ht(Wt([e,i]),"bytes")}return et(e)}function vA(t){return`[${t.slice(2)}]`}function EA(t){const e=new Uint8Array(32).fill(0);return t?yg(t)||ht(_s(t)):et(e)}function yh(t){const e=t.replace(/^\.|\.$/gm,"");if(e.length===0)return new Uint8Array(1);const r=new Uint8Array(_s(e).byteLength+2);let n=0;const s=e.split(".");for(let i=0;i<s.length;i++){let o=_s(s[i]);o.byteLength>255&&(o=_s(vA(EA(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 AA(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 Wi({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?[Kl(i),BigInt(s)]:[Kl(i)];try{const p=Xt({abi:Vp,functionName:"addr",args:l}),d={address:u,abi:Zb,functionName:"resolveWithGateways",args:[Bt(yh(i)),p,o??[Ea]],blockNumber:r,blockTag:n},b=await se(t,dr,"readContract")(d);if(b[0]==="0x")return null;const E=Xs({abi:Vp,args:l,functionName:"addr",data:b[0]});return E==="0x"||fr(E)==="0x00"?null:E}catch(p){if(a)throw p;if(ph(p))return null;throw p}}class SA extends L{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 ro extends L{constructor({reason:e}){super(`ENS NFT avatar URI is invalid. ${e}`,{name:"EnsAvatarInvalidNftUriError"})}}class mh extends L{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 xA extends L{constructor({namespace:e}){super(`ENS NFT avatar namespace "${e}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const kA=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,TA=/^(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>\/.*)?$/,_A=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,PA=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function IA(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 Kp(t,e){return t?t.endsWith("/")?t.slice(0,-1):t:e}function mg({uri:t,gatewayUrls:e}){const r=_A.test(t);if(r)return{uri:t,isOnChain:!0,isEncoded:r};const n=Kp(e==null?void 0:e.ipfs,"https://ipfs.io"),s=Kp(e==null?void 0:e.arweave,"https://arweave.net"),i=t.match(kA),{protocol:o,subpath:a,target:c,subtarget:u=""}=(i==null?void 0:i.groups)||{},f=o==="ipns:/"||a==="ipns/",l=o==="ipfs:/"||a==="ipfs/"||TA.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(PA,"");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 mh({uri:t})}function bg(t){if(typeof t!="object"||!("image"in t)&&!("image_url"in t)&&!("image_data"in t))throw new SA({data:t});return t.image||t.image_url||t.image_data}async function OA({gatewayUrls:t,uri:e}){try{const r=await fetch(e).then(s=>s.json());return await bh({gatewayUrls:t,uri:bg(r)})}catch{throw new mh({uri:e})}}async function bh({gatewayUrls:t,uri:e}){const{uri:r,isOnChain:n}=mg({uri:e,gatewayUrls:t});if(n||await IA(r))return r;throw new mh({uri:e})}function BA(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 ro({reason:"Only EIP-155 supported"});if(!o)throw new ro({reason:"Chain ID not found"});if(!c)throw new ro({reason:"Contract address not found"});if(!s)throw new ro({reason:"Token ID not found"});if(!a)throw new ro({reason:"ERC namespace not found"});return{chainID:Number.parseInt(o,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:s}}async function CA(t,{nft:e}){if(e.namespace==="erc721")return dr(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 dr(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 xA({namespace:e.namespace})}async function $A(t,{gatewayUrls:e,record:r}){return/eip155:/i.test(r)?RA(t,{gatewayUrls:e,record:r}):bh({uri:r,gatewayUrls:e})}async function RA(t,{gatewayUrls:e,record:r}){const n=BA(r),s=await CA(t,{nft:n}),{uri:i,isOnChain:o,isEncoded:a}=mg({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 bh({uri:bg(f),gatewayUrls:e})}let c=n.tokenID;return n.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),OA({gatewayUrls:e,uri:i.replace(/(?:0x)?{id}/,c)})}async function gg(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 Wi({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:Zb,args:[Bt(yh(i)),Xt({abi:zp,functionName:"text",args:[Kl(i),s]}),o??[Ea]],functionName:"resolveWithGateways",blockNumber:r,blockTag:n},d=await se(t,dr,"readContract")(l);if(d[0]==="0x")return null;const m=Xs({abi:zp,functionName:"text",data:d[0]});return m===""?null:m}catch(l){if(a)throw l;if(ph(l))return null;throw l}}async function NA(t,{blockNumber:e,blockTag:r,assetGatewayUrls:n,name:s,gatewayUrls:i,strict:o,universalResolverAddress:a}){const c=await se(t,gg,"getEnsText")({blockNumber:e,blockTag:r,key:"avatar",name:s,universalResolverAddress:a,gatewayUrls:i,strict:o});if(!c)return null;try{return await $A(t,{record:c,gatewayUrls:n})}catch{return null}}async function UA(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 Wi({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})();try{const f={address:u,abi:YE,args:[r,i,o??[Ea]],functionName:"reverseWithGateways",blockNumber:n,blockTag:s},l=se(t,dr,"readContract"),[p]=await l(f);return p||null}catch(f){if(a)throw f;if(ph(f))return null;throw f}}async function MA(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 Wi({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 se(t,dr,"readContract")({address:o,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[Bt(yh(s))],blockNumber:r,blockTag:n});return c}async function wg(t,e){var E,S,P;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,b=r?Ze(r):void 0;try{Ys(e);const w=(typeof n=="bigint"?Z(n):void 0)||s,k=(P=(S=(E=t.chain)==null?void 0:E.formatters)==null?void 0:S.transactionRequest)==null?void 0:P.format,B=(k||Vi)({...zc(m,{format:k}),from:b==null?void 0:b.address,blobs:i,data:o,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:l,to:p,value:d}),N=await t.request({method:"eth_createAccessList",params:[B,w]});return{accessList:N.accessList,gasUsed:BigInt(N.gasUsed)}}catch(A){throw Qb(A,{...e,account:b,chain:t.chain})}}async function FA(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 vg(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=>pa({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"?Z(i):i,toBlock:typeof a=="bigint"?Z(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 Eg(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 jA(t,{address:e,blockNumber:r,blockTag:n=t.experimental_blockTag??"latest"}){const s=typeof r=="bigint"?Z(r):void 0,i=await t.request({method:"eth_getBalance",params:[e,s||n]});return BigInt(i)}async function LA(t){const e=await t.request({method:"eth_blobBaseFee"});return BigInt(e)}async function HA(t,{blockHash:e,blockNumber:r,blockTag:n="latest"}={}){const s=r!==void 0?Z(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}),lr(i)}async function Zl(t,{address:e,blockNumber:r,blockTag:n="latest"}){const s=r!==void 0?Z(r):void 0,i=await t.request({method:"eth_getCode",params:[e,s||n]},{dedupe:!!s});if(i!=="0x")return i}class DA extends L{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 zA(t,e){const{address:r,factory:n,factoryData:s}=e;try{const[i,o,a,c,u,f,l]=await se(t,dr,"readContract")({abi:VA,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 DA({address:r}):o}}const VA=[{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 qA(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 GA(t,{blockCount:e,blockNumber:r,blockTag:n="latest",rewardPercentiles:s}){const i=typeof r=="bigint"?Z(r):void 0,o=await t.request({method:"eth_feeHistory",params:[Z(e),i||n,s]},{dedupe:!!i});return qA(o)}async function WA(t,{filter:e}){const r=e.strict??!1,s=(await e.request({method:"eth_getFilterLogs",params:[e.id]})).map(i=>kn(i));return e.abi?oh({abi:e.abi,logs:s,strict:r}):s}function KA(t){const{authorizationList:e}=t;if(e)for(const r of e){const{chainId:n}=r,s=r.address;if(!at(s))throw new $t({address:s});if(n<0)throw new Kc({chainId:n})}gh(t)}function ZA(t){const{blobVersionedHashes:e}=t;if(e){if(e.length===0)throw new Bb;for(const r of e){const n=De(r),s=lr(Ns(r,0,1));if(n!==32)throw new bE({hash:r,size:n});if(s!==Ob)throw new gE({hash:r,version:s})}}gh(t)}function gh(t){const{chainId:e,maxPriorityFeePerGas:r,maxFeePerGas:n,to:s}=t;if(e<=0)throw new Kc({chainId:e});if(s&&!at(s))throw new $t({address:s});if(n&&n>Vc)throw new js({maxFeePerGas:n});if(r&&n&&r>n)throw new Zo({maxFeePerGas:n,maxPriorityFeePerGas:r})}function YA(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:s,to:i}=t;if(e<=0)throw new Kc({chainId:e});if(i&&!at(i))throw new $t({address:i});if(r||s)throw new L("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>Vc)throw new js({maxFeePerGas:n})}function XA(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:s,to:i}=t;if(i&&!at(i))throw new $t({address:i});if(typeof e<"u"&&e<=0)throw new Kc({chainId:e});if(r||s)throw new L("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>Vc)throw new js({maxFeePerGas:n})}function Qc(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 R5({storageKey:s[i]});if(!at(n,{strict:!1}))throw new $t({address:n});e.push([n,s])}return e}function JA(t,e){const r=$b(t);return r==="eip1559"?t8(t,e):r==="eip2930"?r8(t,e):r==="eip4844"?e8(t,e):r==="eip7702"?QA(t,e):n8(t,e)}function QA(t,e){const{authorizationList:r,chainId:n,gas:s,nonce:i,to:o,value:a,maxFeePerGas:c,maxPriorityFeePerGas:u,accessList:f,data:l}=t;KA(t);const p=Qc(f),d=s8(r);return Cr(["0x04",as([Z(n),i?Z(i):"0x",u?Z(u):"0x",c?Z(c):"0x",s?Z(s):"0x",o??"0x",a?Z(a):"0x",l??"0x",p,d,...Aa(t,e)])])}function e8(t,e){const{chainId:r,gas:n,nonce:s,to:i,value:o,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:u,accessList:f,data:l}=t;ZA(t);let p=t.blobVersionedHashes,d=t.sidecars;if(t.blobs&&(typeof p>"u"||typeof d>"u")){const A=typeof t.blobs[0]=="string"?t.blobs:t.blobs.map(T=>et(T)),w=t.kzg,k=eh({blobs:A,kzg:w});if(typeof p>"u"&&(p=_b({commitments:k})),typeof d>"u"){const T=th({blobs:A,commitments:k,kzg:w});d=Cb({blobs:A,commitments:k,proofs:T})}}const m=Qc(f),b=[Z(r),s?Z(s):"0x",u?Z(u):"0x",c?Z(c):"0x",n?Z(n):"0x",i??"0x",o?Z(o):"0x",l??"0x",m,a?Z(a):"0x",p??[],...Aa(t,e)],E=[],S=[],P=[];if(d)for(let A=0;A<d.length;A++){const{blob:w,commitment:k,proof:T}=d[A];E.push(w),S.push(k),P.push(T)}return Cr(["0x03",as(d?[b,E,S,P]:b)])}function t8(t,e){const{chainId:r,gas:n,nonce:s,to:i,value:o,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:u,data:f}=t;gh(t);const l=Qc(u),p=[Z(r),s?Z(s):"0x",c?Z(c):"0x",a?Z(a):"0x",n?Z(n):"0x",i??"0x",o?Z(o):"0x",f??"0x",l,...Aa(t,e)];return Cr(["0x02",as(p)])}function r8(t,e){const{chainId:r,gas:n,data:s,nonce:i,to:o,value:a,accessList:c,gasPrice:u}=t;YA(t);const f=Qc(c),l=[Z(r),i?Z(i):"0x",u?Z(u):"0x",n?Z(n):"0x",o??"0x",a?Z(a):"0x",s??"0x",f,...Aa(t,e)];return Cr(["0x01",as(l)])}function n8(t,e){const{chainId:r=0,gas:n,data:s,nonce:i,to:o,value:a,gasPrice:c}=t;XA(t);let u=[i?Z(i):"0x",c?Z(c):"0x",n?Z(n):"0x",o??"0x",a?Z(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 C5({v:e.v});return d})(),l=fr(e.r),p=fr(e.s);u=[...u,Z(f),l==="0x00"?"0x":l,p==="0x00"?"0x":p]}else r>0&&(u=[...u,Z(r),"0x","0x"]);return as(u)}function Aa(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=fr(r.r),o=fr(r.s);return[typeof s=="number"?s?Z(1):"0x":n===0n?"0x":n===1n?Z(1):n===27n?"0x":Z(1),i==="0x00"?"0x":i,o==="0x00"?"0x":o]}function s8(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?Bt(n):"0x",o,s?Bt(s):"0x",...Aa({},i)])}return e}async function i8({address:t,authorization:e,signature:r}){return Gi(jd(t),await Wd({authorization:e,signature:r}))}const ja=new Fc(8192);function o8(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 a8(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 vs(new Error("method not supported"),{method:u});if(i!=null&&i.include&&!i.include.includes(u))throw new vs(new Error("method not supported"),{method:u});const f=s?Bi(`${c}.${Qe(r)}`):void 0;return o8(()=>wc(async()=>{try{return await t(r)}catch(p){const d=p;switch(d.code){case Bo.code:throw new Bo(d);case Co.code:throw new Co(d);case $o.code:throw new $o(d,{method:r.method});case Ro.code:throw new Ro(d);case Us.code:throw new Us(d);case Ms.code:throw new Ms(d);case No.code:throw new No(d);case Uo.code:throw new Uo(d);case Mo.code:throw new Mo(d);case vs.code:throw new vs(d,{method:r.method});case Ci.code:throw new Ci(d);case Fo.code:throw new Fo(d);case Ei.code:throw new Ei(d);case jo.code:throw new jo(d);case Lo.code:throw new Lo(d);case Ho.code:throw new Ho(d);case Do.code:throw new Do(d);case zo.code:throw new zo(d);case $i.code:throw new $i(d);case Vo.code:throw new Vo(d);case qo.code:throw new qo(d);case Go.code:throw new Go(d);case Wo.code:throw new Wo(d);case Ko.code:throw new Ko(d);case Ri.code:throw new Ri(d);case 5e3:throw new Ei(d);default:throw p instanceof L?p:new H5(d)}}},{delay:({count:p,error:d})=>{var m;if(d&&d instanceof vi){const b=(m=d==null?void 0:d.headers)==null?void 0:m.get("Retry-After");if(b!=null&&b.match(/\d/))return Number.parseInt(b,10)*1e3}return~~(1<<p)*o},retryCount:a,shouldRetry:({error:p})=>c8(p)}),{enabled:s,id:f})}}function c8(t){return"code"in t&&typeof t.code=="number"?t.code===-1||t.code===Ci.code||t.code===Us.code:t instanceof vi&&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 yt(t){return{formatters:void 0,fees:void 0,serializers:void 0,...t}}const u8=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Ag=Uint8Array.from(new Array(16).fill(0).map((t,e)=>e)),f8=Ag.map(t=>(9*t+5)%16),Sg=(()=>{const r=[[Ag],[f8]];for(let n=0;n<4;n++)for(let s of r)s.push(s[n].map(i=>u8[i]));return r})(),xg=Sg[0],kg=Sg[1],Tg=[[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)),l8=xg.map((t,e)=>t.map(r=>Tg[e][r])),d8=kg.map((t,e)=>t.map(r=>Tg[e][r])),h8=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),p8=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Zp(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 La=new Uint32Array(16);let _g=class extends Sb{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)La[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,b=h8[d],E=p8[d],S=xg[d],P=kg[d],A=l8[d],w=d8[d];for(let k=0;k<16;k++){const T=Na(n+Zp(d,i,a,u)+La[S[k]]+b,A[k])+l|0;n=l,l=u,u=Na(a,10)|0,a=i,i=T}for(let k=0;k<16;k++){const T=Na(s+Zp(m,o,c,f)+La[P[k]]+E,w[k])+p|0;s=p,p=f,f=Na(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(){Pr(La)}destroy(){this.destroyed=!0,Pr(this.buffer),this.set(0,0,0,0,0)}};const y8=Uc(()=>new _g),m8=_g,b8=y8,g8=Object.freeze(Object.defineProperty({__proto__:null,RIPEMD160:m8,ripemd160:b8},Symbol.toStringTag,{value:"Module"}));function w8(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 v8(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const Yp=v8();function E8(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 w8(async({signal:b})=>{const E={...c,body:Array.isArray(n)?Qe(n.map(w=>({jsonrpc:"2.0",id:w.id??Yp.take(),...w}))):Qe({jsonrpc:"2.0",id:n.id??Yp.take(),...n}),headers:{"Content-Type":"application/json",...u},method:f||"POST",signal:l||(a>0?b:null)},S=new Request(t,E),P=await(i==null?void 0:i(S,E))??{...E,url:t};return await s(P.url??t,P)},{errorInstance:new $p({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(b){if(d.ok)throw b;m={error:m}}}if(!d.ok)throw new vi({body:n,details:Qe(m.error)||d.statusText,headers:d.headers,status:d.status,url:t});return m}catch(d){throw d instanceof vi||d instanceof $p?d:new vi({body:n,cause:d,url:t})}}}}const A8=`Ethereum Signed Message:
|
|
43
|
-
`;function S8(t){const e=typeof t=="string"?Bi(t):typeof t.raw=="string"?t.raw:et(t.raw),r=Bi(`${A8}${De(e)}`);return Wt([r,e])}function Pg(t,e){return ht(S8(t),e)}class x8 extends L{constructor({domain:e}){super(`Invalid domain "${Qe(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class k8 extends L{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 T8 extends L{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function _8(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 Qe({domain:o,message:a,primaryType:n,types:s})}function Ig(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(ob);if(p&&(typeof l=="number"||typeof l=="bigint")){const[b,E,S]=p;Z(l,{signed:E==="int",size:Number.parseInt(S,10)/8})}if(f==="address"&&typeof l=="string"&&!at(l))throw new $t({address:l});const d=f.match(r5);if(d){const[b,E]=d;if(E&&De(l)!==Number.parseInt(E,10))throw new fv({expectedSize:Number.parseInt(E,10),givenSize:De(l)})}const m=s[f];m&&(P8(f),i(m,l))}};if(s.EIP712Domain&&e){if(typeof e!="object")throw new x8({domain:e});i(s.EIP712Domain,e)}if(n!=="EIP712Domain")if(s[n])i(s[n],r);else throw new k8({primaryType:n,types:s})}function Og({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 P8(t){if(t==="address"||t==="bool"||t==="string"||t.startsWith("bytes")||t.startsWith("uint")||t.startsWith("int"))throw new T8({type:t})}function I8(t){const{domain:e={},message:r,primaryType:n}=t,s={EIP712Domain:Og({domain:e}),...t.types};Ig({domain:e,message:r,primaryType:n,types:s});const i=["0x1901"];return e&&i.push(O8({domain:e,types:s})),n!=="EIP712Domain"&&i.push(Bg({data:r,primaryType:n,types:s})),ht(Wt(i))}function O8({domain:t,types:e}){return Bg({data:t,primaryType:"EIP712Domain",types:e})}function Bg({data:t,primaryType:e,types:r}){const n=Cg({data:t,primaryType:e,types:r});return ht(n)}function Cg({data:t,primaryType:e,types:r}){const n=[{type:"bytes32"}],s=[B8({primaryType:e,types:r})];for(const i of r[e]){const[o,a]=Rg({types:r,name:i.name,type:i.type,value:t[i.name]});n.push(o),s.push(a)}return fs(n,s)}function B8({primaryType:t,types:e}){const r=Bt(C8({primaryType:t,types:e}));return ht(r)}function C8({primaryType:t,types:e}){let r="";const n=$g({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 $g({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])$g({primaryType:i.type,types:e},r);return r}function Rg({types:t,name:e,type:r,value:n}){if(t[r]!==void 0)return[{type:"bytes32"},ht(Cg({data:n,primaryType:r,types:t}))];if(r==="bytes")return n=`0x${(n.length%2?"0":"")+n.slice(2)}`,[{type:"bytes32"},ht(n)];if(r==="string")return[{type:"bytes32"},ht(Bt(n))];if(r.lastIndexOf("]")===r.length-1){const s=r.slice(0,r.lastIndexOf("[")),i=n.map(o=>Rg({name:e,type:s,types:t,value:o}));return[{type:"bytes32"},ht(fs(i.map(([o])=>o),i.map(([,o])=>o)))]}return[{type:r},n]}const $8="1.1.1";class pt extends Error{constructor(e,r={}){var o;const n=r.cause instanceof pt?r.cause.details:(o=r.cause)!=null&&o.message?r.cause.message:r.details,s=r.cause instanceof pt&&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@${$8}`].join(`
|
|
44
|
-
`);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 Ng=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ug=/^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)?$/,Mg=/^\(.+?\).*?$/,Xp=/^tuple(?<array>(\[(\d*)\])*)$/;function Yl(t){let e=t.type;if(Xp.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+=Yl(i),s<r-1&&(e+=", ")}const n=$n(Xp,t.type);return e+=`)${(n==null?void 0:n.array)??""}`,Yl({...t,type:e})}return"indexed"in t&&t.indexed&&(e=`${e} indexed`),t.name?`${e} ${t.name}`:e}function ci(t){let e="";const r=t.length;for(let n=0;n<r;n++){const s=t[n];e+=Yl(s),n!==r-1&&(e+=", ")}return e}function Xl(t){var e;return t.type==="function"?`function ${t.name}(${ci(t.inputs)})${t.stateMutability&&t.stateMutability!=="nonpayable"?` ${t.stateMutability}`:""}${(e=t.outputs)!=null&&e.length?` returns (${ci(t.outputs)})`:""}`:t.type==="event"?`event ${t.name}(${ci(t.inputs)})`:t.type==="error"?`error ${t.name}(${ci(t.inputs)})`:t.type==="constructor"?`constructor(${ci(t.inputs)})${t.stateMutability==="payable"?" payable":""}`:t.type==="fallback"?`fallback() external${t.stateMutability==="payable"?" payable":""}`:"receive() external payable"}const Fg=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function R8(t){return Fg.test(t)}function N8(t){return $n(Fg,t)}const jg=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function U8(t){return jg.test(t)}function M8(t){return $n(jg,t)}const Lg=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function F8(t){return Lg.test(t)}function j8(t){return $n(Lg,t)}const Hg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function wh(t){return Hg.test(t)}function L8(t){return $n(Hg,t)}const Dg=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function H8(t){return Dg.test(t)}function D8(t){return $n(Dg,t)}const zg=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function z8(t){return zg.test(t)}function V8(t){return $n(zg,t)}const q8=/^receive\(\) external payable$/;function G8(t){return q8.test(t)}const Jp=new Set(["memory","indexed","storage","calldata"]),W8=new Set(["indexed"]),Jl=new Set(["calldata","memory","storage"]);class K8 extends pt{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 Z8 extends pt{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 Y8 extends pt{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 X8 extends pt{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 J8 extends pt{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class Q8 extends pt{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 eS extends pt{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 tS extends pt{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 rS extends pt{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 Zi extends pt{constructor({signature:e,type:r}){super(`Invalid ${r} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class nS extends pt{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class sS extends pt{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 iS extends pt{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 oS extends pt{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 aS(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}const Lu=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 Qp(t,e={}){if(F8(t))return cS(t,e);if(U8(t))return uS(t,e);if(R8(t))return fS(t,e);if(H8(t))return lS(t,e);if(z8(t))return dS(t);if(G8(t))return{type:"receive",stateMutability:"payable"};throw new nS({signature:t})}function cS(t,e={}){const r=j8(t);if(!r)throw new Zi({signature:t,type:"function"});const n=Vt(r.parameters),s=[],i=n.length;for(let a=0;a<i;a++)s.push(_n(n[a],{modifiers:Jl,structs:e,type:"function"}));const o=[];if(r.returns){const a=Vt(r.returns),c=a.length;for(let u=0;u<c;u++)o.push(_n(a[u],{modifiers:Jl,structs:e,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:s,outputs:o}}function uS(t,e={}){const r=M8(t);if(!r)throw new Zi({signature:t,type:"event"});const n=Vt(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(_n(n[o],{modifiers:W8,structs:e,type:"event"}));return{name:r.name,type:"event",inputs:s}}function fS(t,e={}){const r=N8(t);if(!r)throw new Zi({signature:t,type:"error"});const n=Vt(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(_n(n[o],{structs:e,type:"error"}));return{name:r.name,type:"error",inputs:s}}function lS(t,e={}){const r=D8(t);if(!r)throw new Zi({signature:t,type:"constructor"});const n=Vt(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(_n(n[o],{structs:e,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:s}}function dS(t){const e=V8(t);if(!e)throw new Zi({signature:t,type:"fallback"});return{type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}const hS=/^(?<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$_]*))?$/,pS=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,yS=/^u?int$/;function _n(t,e){var l,p;const r=aS(t,e==null?void 0:e.type,e==null?void 0:e.structs);if(Lu.has(r))return Lu.get(r);const n=Mg.test(t),s=$n(n?pS:hS,t);if(!s)throw new J8({param:t});if(s.name&&bS(s.name))throw new Q8({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=Vt(s.type),m=[],b=d.length;for(let E=0;E<b;E++)m.push(_n(d[E],{structs:a}));u={components:m}}else if(s.type in a)c="tuple",u={components:a[s.type]};else if(yS.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"&&!Vg(c))throw new Y8({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 eS({param:t,type:e==null?void 0:e.type,modifier:s.modifier});if(Jl.has(s.modifier)&&!gS(c,!!s.array))throw new tS({param:t,type:e==null?void 0:e.type,modifier:s.modifier})}const f={type:`${c}${s.array??""}`,...i,...o,...u};return Lu.set(r,f),f}function Vt(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?Vt(a,[...e,r.trim()]):Vt(a,e,`${r}${o}`,n);case"(":return Vt(a,e,`${r}${o}`,n+1);case")":return Vt(a,e,`${r}${o}`,n-1);default:return Vt(a,e,`${r}${o}`,n)}}if(r==="")return e;if(n!==0)throw new oS({current:r,depth:n});return e.push(r.trim()),e}function Vg(t){return t==="address"||t==="bool"||t==="function"||t==="string"||Ng.test(t)||Ug.test(t)}const mS=/^(?: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 bS(t){return t==="address"||t==="bool"||t==="function"||t==="string"||t==="tuple"||Ng.test(t)||Ug.test(t)||mS.test(t)}function gS(t,e){return e||t==="bytes"||t==="string"||t==="tuple"}function qg(t){const e={},r=t.length;for(let o=0;o<r;o++){const a=t[o];if(!wh(a))continue;const c=L8(a);if(!c)throw new Zi({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 b=_n(m,{type:"struct"});f.push(b)}if(!f.length)throw new sS({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]=Gg(c,e)}return n}const wS=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function Gg(t,e,r=new Set){const n=[],s=t.length;for(let i=0;i<s;i++){const o=t[i];if(Mg.test(o.type))n.push(o);else{const c=$n(wS,o.type);if(!(c!=null&&c.type))throw new rS({abiParameter:o});const{array:u,type:f}=c;if(f in e){if(r.has(f))throw new iS({type:f});n.push({...o,type:`tuple${u??""}`,components:Gg(e[f]??[],e,new Set([...r,f]))})}else if(Vg(f))n.push(o);else throw new Z8({type:f})}}return n}function e0(t){let e;if(typeof t=="string")e=Qp(t);else{const r=qg(t),n=t.length;for(let s=0;s<n;s++){const i=t[s];if(!wh(i)){e=Qp(i,r);break}}}if(!e)throw new K8({signature:t});return e}function t0(t){const e=[];if(typeof t=="string"){const r=Vt(t),n=r.length;for(let s=0;s<n;s++)e.push(_n(r[s],{modifiers:Jp}))}else{const r=qg(t),n=t.length;for(let s=0;s<n;s++){const i=t[s];if(wh(i))continue;const o=Vt(i),a=o.length;for(let c=0;c<a;c++)e.push(_n(o[c],{modifiers:Jp,structs:r}))}}if(e.length===0)throw new X8({params:t});return e}class vS 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 ES={checksum:new vS(8192)},Hu=ES.checksum;function Wg(t,e={}){const{as:r=typeof t=="string"?"Hex":"Bytes"}=e,n=tb(OE(t));return r==="Bytes"?n:Or(n)}const AS=/^0x[a-fA-F0-9]{40}$/;function eu(t,e={}){const{strict:r=!0}=e;if(!AS.test(t))throw new r0({address:t,cause:new SS});if(r){if(t.toLowerCase()===t)return;if(Kg(t)!==t)throw new r0({address:t,cause:new xS})}}function Kg(t){if(Hu.has(t))return Hu.get(t);eu(t,{strict:!1});const e=t.substring(2).toLowerCase(),r=Wg(CE(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 Hu.set(t,s),s}function Ql(t,e={}){const{strict:r=!0}=e??{};try{return eu(t,{strict:r}),!0}catch{return!1}}class r0 extends ve{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 SS extends ve{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 xS extends ve{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}const kS=/^(.*)\[([0-9]*)\]$/,TS=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Zg=/^(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)?$/,n0=2n**256n-1n;function Ai(t,e,r){const{checksumAddress:n,staticPosition:s}=r,i=Ah(e.type);if(i){const[o,a]=i;return PS(t,{...e,type:a},{checksumAddress:n,length:o,staticPosition:s})}if(e.type==="tuple")return CS(t,e,{checksumAddress:n,staticPosition:s});if(e.type==="address")return _S(t,{checksum:n});if(e.type==="bool")return IS(t);if(e.type.startsWith("bytes"))return OS(t,e,{staticPosition:s});if(e.type.startsWith("uint")||e.type.startsWith("int"))return BS(t,e);if(e.type==="string")return $S(t,{staticPosition:s});throw new xh(e.type)}const s0=32,ed=32;function _S(t,e={}){const{checksum:r=!1}=e,n=t.readBytes(32);return[(i=>r?Kg(i):i)(Or(RE(n,-20))),32]}function PS(t,e,r){const{checksumAddress:n,length:s,staticPosition:i}=r;if(!s){const c=Sn(t.readBytes(ed)),u=i+c,f=u+s0;t.setPosition(u);const l=Sn(t.readBytes(s0)),p=Yo(e);let d=0;const m=[];for(let b=0;b<l;++b){t.setPosition(f+(p?b*32:d));const[E,S]=Ai(t,e,{checksumAddress:n,staticPosition:f});d+=S,m.push(E)}return t.setPosition(i+32),[m,32]}if(Yo(e)){const c=Sn(t.readBytes(ed)),u=i+c,f=[];for(let l=0;l<s;++l){t.setPosition(u+l*32);const[p]=Ai(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]=Ai(t,e,{checksumAddress:n,staticPosition:i+o});o+=f,a.push(u)}return[a,o]}function IS(t){return[UE(t.readBytes(32),{size:32}),32]}function OS(t,e,{staticPosition:r}){const[n,s]=e.type.split("bytes");if(!s){const o=Sn(t.readBytes(32));t.setPosition(r+o);const a=Sn(t.readBytes(32));if(a===0)return t.setPosition(r+32),["0x",32];const c=t.readBytes(a);return t.setPosition(r+32),[Or(c),32]}return[Or(t.readBytes(Number.parseInt(s,10),32)),32]}function BS(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?NE(s,{signed:r}):Sn(s,{signed:r}),32]}function CS(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(Yo(e)){const c=Sn(t.readBytes(ed)),u=s+c;for(let f=0;f<e.components.length;++f){const l=e.components[f];t.setPosition(u+a);const[p,d]=Ai(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]=Ai(t,u,{checksumAddress:n,staticPosition:s});o[i?c:u==null?void 0:u.name]=f,a+=l}return[o,a]}function $S(t,{staticPosition:e}){const r=Sn(t.readBytes(32)),n=e+r;t.setPosition(n);const s=Sn(t.readBytes(32));if(s===0)return t.setPosition(e+32),["",32];const i=t.readBytes(s,32),o=ME(Hb(i));return t.setPosition(e+32),[o,32]}function RS({checksumAddress:t,parameters:e,values:r}){const n=[];for(let s=0;s<e.length;s++)n.push(vh({checksumAddress:t,parameter:e[s],value:r[s]}));return n}function vh({checksumAddress:t=!1,parameter:e,value:r}){const n=e,s=Ah(n.type);if(s){const[i,o]=s;return US(r,{checksumAddress:t,length:i,parameter:{...n,type:o}})}if(n.type==="tuple")return HS(r,{checksumAddress:t,parameter:n});if(n.type==="address")return NS(r,{checksum:t});if(n.type==="bool")return FS(r);if(n.type.startsWith("uint")||n.type.startsWith("int")){const i=n.type.startsWith("int"),[,,o="256"]=Zg.exec(n.type)??[];return jS(r,{signed:i,size:Number(o)})}if(n.type.startsWith("bytes"))return MS(r,{type:n.type});if(n.type==="string")return LS(r);throw new xh(n.type)}function Eh(t){let e=0;for(let i=0;i<t.length;i++){const{dynamic:o,encoded:a}=t[i];o?e+=32:e+=Kt(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(It(e+s,{size:32})),n.push(a),s+=Kt(a)):r.push(a)}return Ir(...r,...n)}function NS(t,e){const{checksum:r=!1}=e;return eu(t,{strict:r}),{dynamic:!1,encoded:Ls(t.toLowerCase())}}function US(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 ZS({expectedLength:n,givenLength:t.length,type:`${s.type}[${n}]`});let o=!1;const a=[];for(let c=0;c<t.length;c++){const u=vh({checksumAddress:r,parameter:s,value:t[c]});u.dynamic&&(o=!0),a.push(u)}if(i||o){const c=Eh(a);if(i){const u=It(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Ir(u,c):u}}if(o)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:Ir(...a.map(({encoded:c})=>c))}}function MS(t,{type:e}){const[,r]=e.split("bytes"),n=Kt(t);if(!r){let s=t;return n%32!==0&&(s=Hs(s,Math.ceil((t.length-2)/2/32)*32)),{dynamic:!0,encoded:Ir(Ls(It(n,{size:32})),s)}}if(n!==Number.parseInt(r,10))throw new Xg({expectedSize:Number.parseInt(r,10),value:t});return{dynamic:!1,encoded:Hs(t)}}function FS(t){if(typeof t!="boolean")throw new ve(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Ls(Db(t))}}function jS(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 qb({max:n.toString(),min:s.toString(),signed:e,size:r/8,value:t.toString()})}return{dynamic:!1,encoded:It(t,{size:32,signed:e})}}function LS(t){const e=uh(t),r=Math.ceil(Kt(e)/32),n=[];for(let s=0;s<r;s++)n.push(Hs(Yr(e,s*32,(s+1)*32)));return{dynamic:!0,encoded:Ir(Hs(It(Kt(e),{size:32})),...n)}}function HS(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=vh({checksumAddress:r,parameter:a,value:t[c]});i.push(u),u.dynamic&&(s=!0)}return{dynamic:s,encoded:s?Eh(i):Ir(...i.map(({encoded:o})=>o))}}function Ah(t){const e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}function Yo(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(Yo);const r=Ah(t.type);return!!(r&&Yo({...t,type:r[1]}))}const DS={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 qS({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new VS({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new i0({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 i0({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 zS(t,{recursiveReadLimit:e=8192}={}){const r=Object.create(DS);return r.bytes=t,r.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=e,r}class i0 extends ve{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class VS extends ve{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 qS extends ve{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 GS(t,e,r={}){const{as:n="Array",checksumAddress:s=!1}=r,i=typeof e=="string"?Lb(e):e,o=zS(i);if(bi(i)===0&&t.length>0)throw new KS;if(bi(i)&&bi(i)<32)throw new WS({data:typeof e=="string"?e:Or(e),parameters:t,size:bi(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]=Ai(o,f,{checksumAddress:s,staticPosition:0});a+=p,n==="Array"?c.push(l):c[f.name??u]=l}return c}function Sh(t,e,r){const{checksumAddress:n=!1}={};if(t.length!==e.length)throw new Jg({expectedLength:t.length,givenLength:e.length});const s=RS({checksumAddress:n,parameters:t,values:e}),i=Eh(s);return i.length===0?"0x":i}function td(t,e){if(t.length!==e.length)throw new Jg({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(td.encode(s,i))}return Ir(...r)}(function(t){function e(r,n,s=!1){if(r==="address"){const c=n;return eu(c),Ls(c.toLowerCase(),s?32:0)}if(r==="string")return uh(n);if(r==="bytes")return n;if(r==="bool")return Ls(Db(n),s?32:1);const i=r.match(Zg);if(i){const[c,u,f="256"]=i,l=Number.parseInt(f,10)/8;return It(n,{size:s?32:l,signed:u==="int"})}const o=r.match(TS);if(o){const[c,u]=o;if(Number.parseInt(u,10)!==(n.length-2)/2)throw new Xg({expectedSize:Number.parseInt(u,10),value:n});return Hs(n,s?32:0)}const a=r.match(kS);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":Ir(...f)}throw new xh(r)}t.encode=e})(td||(td={}));function Yg(t){return Array.isArray(t)&&typeof t[0]=="string"||typeof t=="string"?t0(t):t}class WS extends ve{constructor({data:e,parameters:r,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${ci(r)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class KS extends ve{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class ZS extends ve{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 Xg extends ve{constructor({expectedSize:e,value:r}){super(`Size of bytes "${r}" (bytes${Kt(r)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class Jg extends ve{constructor({expectedLength:e,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${r}`].join(`
|
|
45
|
-
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class YS extends ve{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class xh extends ve{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 Qg extends Nc{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Nv(e);const n=En(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),Pr(i)}update(e){return os(this),this.iHash.update(e),this}digestInto(e){os(this),is(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 e1=(t,e,r)=>new Qg(t,e).update(r).digest();e1.create=(t,e)=>new Qg(t,e);function t1(t,e={}){const{recovered:r}=e;if(typeof t.r>"u")throw new Du({signature:t});if(typeof t.s>"u")throw new Du({signature:t});if(r&&typeof t.yParity>"u")throw new Du({signature:t});if(t.r<0n||t.r>n0)throw new nx({value:t.r});if(t.s<0n||t.s>n0)throw new sx({value:t.s});if(typeof t.yParity=="number"&&t.yParity!==0&&t.yParity!==1)throw new Th({value:t.yParity})}function XS(t){return r1(Or(t))}function r1(t){if(t.length!==130&&t.length!==132)throw new rx({signature:t});const e=BigInt(Yr(t,0,32)),r=BigInt(Yr(t,32,64)),n=(()=>{const s=+`0x${t.slice(130)}`;if(!Number.isNaN(s))try{return kh(s)}catch{throw new Th({value:s})}})();return typeof n>"u"?{r:e,s:r}:{r:e,s:r,yParity:n}}function JS(t){if(!(typeof t.r>"u")&&!(typeof t.s>"u"))return QS(t)}function QS(t){const e=typeof t=="string"?r1(t):t instanceof Uint8Array?XS(t):typeof t.r=="string"?tx(t):t.v?ex(t):{r:t.r,s:t.s,...typeof t.yParity<"u"?{yParity:t.yParity}:{}};return t1(e),e}function ex(t){return{r:t.r,s:t.s,yParity:kh(t.v)}}function tx(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=kh(r)),typeof n!="number")throw new Th({value:t.yParity});return n})();return{r:BigInt(t.r),s:BigInt(t.s),yParity:e}}function kh(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 ix({value:t})}class rx extends ve{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${Kt(qE(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class Du extends ve{constructor({signature:e}){super(`Signature \`${jb(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class nx extends ve{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 sx extends ve{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 Th extends ve{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 ix extends ve{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 ox(t,e={}){return typeof t.chainId=="string"?ax(t):{...t,...e.signature}}function ax(t){const{address:e,chainId:r,nonce:n}=t,s=JS(t);return{address:e,chainId:Number(r),nonce:BigInt(n),...s}}const cx="0x8010801080108010801080108010801080108010801080108010801080108010",ux=Yg("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function n1(t){if(typeof t=="string"){if(Yr(t,-32)!==cx)throw new dx(t)}else t1(t.authorization)}function fx(t){n1(t);const e=Vb(Yr(t,-64,-32)),r=Yr(t,-e-64,-64),n=Yr(t,0,-e-64),[s,i,o]=GS(ux,r);return{authorization:ox({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 lx(t){try{return n1(t),!0}catch{return!1}}let dx=class extends ve{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 hx(t){return t.map(e=>({...e,value:BigInt(e.value)}))}function px(t){return{...t,balance:t.balance?BigInt(t.balance):void 0,nonce:t.nonce?lr(t.nonce):void 0,storageProof:t.storageProof?hx(t.storageProof):void 0}}async function yx(t,{address:e,blockNumber:r,blockTag:n,storageKeys:s}){const i=n??"latest",o=r!==void 0?Z(r):void 0,a=await t.request({method:"eth_getProof",params:[e,s,o||i]});return px(a)}async function mx(t,{address:e,blockNumber:r,blockTag:n="latest",slot:s}){const i=r!==void 0?Z(r):void 0;return await t.request({method:"eth_getStorageAt",params:[e,s,i||n]})}async function _h(t,{blockHash:e,blockNumber:r,blockTag:n,hash:s,index:i}){var f,l,p;const o=n||"latest",a=r!==void 0?Z(r):void 0;let c=null;if(s?c=await t.request({method:"eth_getTransactionByHash",params:[s]},{dedupe:!0}):e?c=await t.request({method:"eth_getTransactionByBlockHashAndIndex",params:[e,Z(i)]},{dedupe:!0}):c=await t.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[a||o,Z(i)]},{dedupe:!!a}),!c)throw new hb({blockHash:e,blockNumber:r,blockTag:o,hash:s,index:i});return(((p=(l=(f=t.chain)==null?void 0:f.formatters)==null?void 0:l.transaction)==null?void 0:p.format)||qc)(c)}async function bx(t,{hash:e,transactionReceipt:r}){const[n,s]=await Promise.all([se(t,va,"getBlockNumber")({}),e?se(t,_h,"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 ic(t,{hash:e}){var s,i,o;const r=await t.request({method:"eth_getTransactionReceipt",params:[e]},{dedupe:!0});if(!r)throw new pb({hash:e});return(((o=(i=(s=t.chain)==null?void 0:s.formatters)==null?void 0:i.transactionReceipt)==null?void 0:o.format)||cg)(r)}async function gx(t,e){var P;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((P=t.batch)==null?void 0:P.multicall)=="object"?t.batch.multicall:{},p=(()=>{if(e.multicallAddress)return e.multicallAddress;if(l)return null;if(t.chain)return Wi({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),d=[[]];let m=0,b=0;for(let A=0;A<u.length;A++){const{abi:w,address:k,args:T,functionName:B}=u[A];try{const N=Xt({abi:w,args:T,functionName:B});b+=(N.length-2)/2,f>0&&b>f&&d[m].length>0&&(m++,b=(N.length-2)/2,d[m]=[]),d[m]=[...d[m],{allowFailure:!0,callData:N,target:k}]}catch(N){const $=Fs(N,{abi:w,address:k,args:T,docsPath:"/docs/contract/multicall",functionName:B,sender:r});if(!s)throw $;d[m]=[...d[m],{allowFailure:!0,callData:"0x",target:k}]}}const E=await Promise.allSettled(d.map(A=>se(t,dr,"readContract")({...p===null?{code:fh}:{address:p},abi:gc,account:r,args:[A],authorizationList:n,blockNumber:i,blockOverrides:o,blockTag:a,functionName:"aggregate3",stateOverride:c}))),S=[];for(let A=0;A<E.length;A++){const w=E[A];if(w.status==="rejected"){if(!s)throw w.reason;for(let T=0;T<d[A].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:B,success:N}=k[T],{callData:$}=d[A][T],{abi:H,address:M,functionName:V,args:G}=u[S.length];try{if($==="0x")throw new la;if(!N)throw new Hc({data:B});const Q=Xs({abi:H,args:G,data:B,functionName:V});S.push(s?{result:Q,status:"success"}:Q)}catch(Q){const W=Fs(Q,{abi:H,address:M,args:G,docsPath:"/docs/contract/multicall",functionName:V});if(!s)throw W;S.push({error:W,result:void 0,status:"failure"})}}}if(S.length!==u.length)throw new L("multicall results mismatch");return S}async function rd(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?Wb(p.blockOverrides):void 0,m=p.calls.map(E=>{const S=E,P=S.account?Ze(S.account):void 0,A=S.abi?Xt(S):S.data,w={...S,data:S.dataSuffix?Wt([A||"0x",S.dataSuffix]):A,from:S.from??(P==null?void 0:P.address)};return Ys(w),Vi(w)}),b=p.stateOverrides?Zd(p.stateOverrides):void 0;c.push({blockOverrides:d,calls:m,stateOverrides:b})}const f=(typeof r=="bigint"?Z(r):void 0)||n;return(await t.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:i,traceTransfers:o,validation:a},f]})).map((p,d)=>({...Xd(p),calls:p.calls.map((m,b)=>{var H,M;const{abi:E,args:S,functionName:P,to:A}=s[d].calls[b],w=((H=m.error)==null?void 0:H.data)??m.returnData,k=BigInt(m.gasUsed),T=(M=m.logs)==null?void 0:M.map(V=>kn(V)),B=m.status==="0x1"?"success":"failure",N=E&&B==="success"&&w!=="0x"?Xs({abi:E,data:w,functionName:P}):null,$=(()=>{var G;if(B==="success")return;let V;if(((G=m.error)==null?void 0:G.data)==="0x"?V=new la:m.error&&(V=new Hc(m.error)),!!V)return Fs(V,{abi:E??[],address:A??"0x",args:S,functionName:P??"<unknown>"})})();return{data:w,gasUsed:k,logs:T,status:B,...B==="success"?{result:N}:{error:$}}})}))}catch(c){const u=c,f=Dc(u,{});throw f instanceof ba?u:f}}function nd(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 ve("Unable to normalize signature.");return s}function sd(t,e){const r=typeof t,n=e.type;switch(n){case"address":return Ql(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)=>sd(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=>sd(s,{...e,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function s1(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 s1(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")?Ql(r[n],{strict:!1}):o.includes("address")&&o.includes("bytes")?Ql(r[n],{strict:!1}):!1)return o}}function i1(t,e={}){const{prepare:r=!0}=e,n=Array.isArray(t)||typeof t=="string"?e0(t):t;return{...n,...r?{hash:gi(n)}:{}}}function tu(t,e,r){const{args:n=[],prepare:s=!0}=r??{},i=GE(e,{strict:!1}),o=t.filter(u=>i?u.type==="function"||u.type==="error"?o1(u)===Yr(e,0,4):u.type==="event"?gi(u)===e:!1:"name"in u&&u.name===e);if(o.length===0)throw new vc({name:e});if(o.length===1)return{...o[0],...s?{hash:gi(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:gi(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?sd(l,d):!1})){if(a&&"inputs"in a&&a.inputs){const l=s1(u.inputs,a.inputs,n);if(l)throw new vx({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 vc({name:e});return{...c,...s?{hash:gi(c)}:{}}}function o1(...t){const e=(()=>{if(Array.isArray(t[0])){const[r,n]=t;return tu(r,n)}return t[0]})();return Yr(gi(e),0,4)}function wx(...t){const e=(()=>{if(Array.isArray(t[0])){const[n,s]=t;return tu(n,s)}return t[0]})(),r=typeof e=="string"?e:Xl(e);return nd(r)}function gi(...t){const e=(()=>{if(Array.isArray(t[0])){const[r,n]=t;return tu(r,n)}return t[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:Wg(uh(wx(e)))}class vx extends ve{constructor(e,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${nd(Xl(e.abiItem))}\`, and`,`\`${r.type}\` in \`${nd(Xl(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 vc extends ve{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 Ex(...t){var i;const[e,r]=(()=>{if(Array.isArray(t[0])){const[o,a]=t;return[Sx(o),a]}return t})(),{bytecode:n,args:s}=r;return Ir(n,(i=e.inputs)!=null&&i.length&&(s!=null&&s.length)?Sh(e.inputs,s):"0x")}function Ax(t){return i1(t)}function Sx(t){const e=t.find(r=>r.type==="constructor");if(!e)throw new vc({name:"constructor"});return e}function xx(...t){const[e,r=[]]=(()=>{if(Array.isArray(t[0])){const[u,f,l]=t;return[o0(u,f,{args:l}),l]}const[a,c]=t;return[a,c]})(),{overloads:n}=e,s=n?o0([e,...n],e.name,{args:r}):e,i=kx(s),o=r.length>0?Sh(s.inputs,r):void 0;return o?Ir(i,o):i}function ii(t,e={}){return i1(t,e)}function o0(t,e,r){const n=tu(t,e,r);if(n.type!=="function")throw new vc({name:e,type:"function"});return n}function kx(t){return o1(t)}const Tx="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",Mr="0x0000000000000000000000000000000000000000",_x="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function Px(t,e){const{blockNumber:r,blockTag:n,calls:s,stateOverrides:i,traceAssetChanges:o,traceTransfers:a,validation:c}=e,u=e.account?Ze(e.account):void 0;if(o&&!u)throw new L("`account` is required when `traceAssetChanges` is true");const f=u?Ex(Ax("constructor(bytes, bytes)"),{bytecode:Xb,args:[_x,xx(ii("function getBalance(address)"),[u.address])]}):void 0,l=o?await Promise.all(e.calls.map(async q=>{if(!q.data&&!q.abi)return;const{accessList:I}=await wg(t,{account:u.address,...q,data:q.abi?Xt(q):q.data});return I.map(({address:j,storageKeys:J})=>J.length>0?j:null)})).then(q=>q.flat().filter(Boolean)):[],p=await rd(t,{blockNumber:r,blockTag:n,blocks:[...o?[{calls:[{data:f}],stateOverrides:i},{calls:l.map((q,I)=>({abi:[ii("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:q,from:Mr,nonce:I})),stateOverrides:[{address:Mr,nonce:0}]}]:[],{calls:[...s,{}].map(q=>({...q,from:u==null?void 0:u.address})),stateOverrides:i},...o?[{calls:[{data:f}]},{calls:l.map((q,I)=>({abi:[ii("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:q,from:Mr,nonce:I})),stateOverrides:[{address:Mr,nonce:0}]},{calls:l.map((q,I)=>({to:q,abi:[ii("function decimals() returns (uint256)")],functionName:"decimals",from:Mr,nonce:I})),stateOverrides:[{address:Mr,nonce:0}]},{calls:l.map((q,I)=>({to:q,abi:[ii("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:Mr,nonce:I})),stateOverrides:[{address:Mr,nonce:0}]},{calls:l.map((q,I)=>({to:q,abi:[ii("function symbol() returns (string)")],functionName:"symbol",from:Mr,nonce:I})),stateOverrides:[{address:Mr,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=o?p[2]:p[0],[m,b,,E,S,P,A,w]=o?p:[],{calls:k,...T}=d,B=k.slice(0,-1)??[],N=(m==null?void 0:m.calls)??[],$=(b==null?void 0:b.calls)??[],H=[...N,...$].map(q=>q.status==="success"?ut(q.data):null),M=(E==null?void 0:E.calls)??[],V=(S==null?void 0:S.calls)??[],G=[...M,...V].map(q=>q.status==="success"?ut(q.data):null),Q=((P==null?void 0:P.calls)??[]).map(q=>q.status==="success"?q.result:null),W=((w==null?void 0:w.calls)??[]).map(q=>q.status==="success"?q.result:null),K=((A==null?void 0:A.calls)??[]).map(q=>q.status==="success"?q.result:null),re=[];for(const[q,I]of G.entries()){const j=H[q];if(typeof I!="bigint"||typeof j!="bigint")continue;const J=Q[q-1],O=W[q-1],R=K[q-1],F=q===0?{address:Tx,decimals:18,symbol:"ETH"}:{address:l[q-1],decimals:R||J?Number(J??1):void 0,symbol:O??void 0};re.some(ne=>ne.token.address===F.address)||re.push({token:F,value:{pre:j,post:I,diff:I-j}})}return{assetChanges:re,block:T,results:B}}const a1="0x6492649264926492649264926492649264926492649264926492649264926492";function Ix(t){if(Yr(t,-32)!==a1)throw new Cx(t)}function Ox(t){const{data:e,signature:r,to:n}=t;return Ir(Sh(Yg("address, bytes, bytes"),[n,e,r]),a1)}function Bx(t){try{return Ix(t),!0}catch{return!1}}class Cx extends ve{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"})}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ph=BigInt(0),id=BigInt(1);function Sa(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Ih(t){if(!Sa(t))throw new Error("Uint8Array expected")}function Xo(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function Ha(t){const e=t.toString(16);return e.length&1?"0"+e:e}function c1(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Ph:BigInt("0x"+t)}const u1=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",$x=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Jo(t){if(Ih(t),u1)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=$x[t[r]];return e}const nn={_0:48,_9:57,A:65,F:70,a:97,f:102};function a0(t){if(t>=nn._0&&t<=nn._9)return t-nn._0;if(t>=nn.A&&t<=nn.F)return t-(nn.A-10);if(t>=nn.a&&t<=nn.f)return t-(nn.a-10)}function Ec(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(u1)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=a0(t.charCodeAt(i)),a=a0(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 Ps(t){return c1(Jo(t))}function f1(t){return Ih(t),c1(Jo(Uint8Array.from(t).reverse()))}function xa(t,e){return Ec(t.toString(16).padStart(e*2,"0"))}function l1(t,e){return xa(t,e).reverse()}function nr(t,e,r){let n;if(typeof e=="string")try{n=Ec(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(Sa(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 Ac(...t){let e=0;for(let n=0;n<t.length;n++){const s=t[n];Ih(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 zu=t=>typeof t=="bigint"&&Ph<=t;function Oh(t,e,r){return zu(t)&&zu(e)&&zu(r)&&e<=t&&t<r}function Si(t,e,r,n){if(!Oh(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function Rx(t){let e;for(e=0;t>Ph;t>>=id,e+=1);return e}const ru=t=>(id<<BigInt(t))-id,Vu=t=>new Uint8Array(t),c0=t=>Uint8Array.from(t);function Nx(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=Vu(t),s=Vu(t),i=0;const o=()=>{n.fill(1),s.fill(0),i=0},a=(...l)=>r(s,n,...l),c=(l=Vu(0))=>{s=a(c0([0]),l),n=a(),l.length!==0&&(s=a(c0([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 Ac(...p)};return(l,p)=>{o(),c(l);let d;for(;!(d=p(u()));)c();return o(),d}}const Ux={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"||Sa(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 nu(t,e,r={}){const n=(s,i,o)=>{const a=Ux[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 u0(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}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ft=BigInt(0),Ct=BigInt(1),Es=BigInt(2),Mx=BigInt(3),d1=BigInt(4),h1=BigInt(5),p1=BigInt(8);function Rt(t,e){const r=t%e;return r>=Ft?r:e+r}function er(t,e,r){let n=t;for(;e-- >Ft;)n*=n,n%=r;return n}function od(t,e){if(t===Ft)throw new Error("invert: expected non-zero number");if(e<=Ft)throw new Error("invert: expected positive modulus, got "+e);let r=Rt(t,e),n=e,s=Ft,i=Ct;for(;r!==Ft;){const a=n/r,c=n%r,u=s-i*a;n=r,r=c,s=i,i=u}if(n!==Ct)throw new Error("invert: does not exist");return Rt(s,e)}function y1(t,e){const r=(t.ORDER+Ct)/d1,n=t.pow(e,r);if(!t.eql(t.sqr(n),e))throw new Error("Cannot find square root");return n}function Fx(t,e){const r=(t.ORDER-h1)/p1,n=t.mul(e,Es),s=t.pow(n,r),i=t.mul(e,s),o=t.mul(t.mul(i,Es),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 jx(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let e=t-Ct,r=0;for(;e%Es===Ft;)e/=Es,r++;let n=Es;const s=Bh(t);for(;f0(s,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return y1;let i=s.pow(n,e);const o=(e+Ct)/Es;return function(c,u){if(c.is0(u))return u;if(f0(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,b=c.sqr(p);for(;!c.eql(b,c.ONE);)if(m++,b=c.sqr(b),m===f)throw new Error("Cannot find square root");const E=Ct<<BigInt(f-m-1),S=c.pow(l,E);f=m,l=c.sqr(S),p=c.mul(p,l),d=c.mul(d,S)}return d}}function Lx(t){return t%d1===Mx?y1:t%p1===h1?Fx:jx(t)}const Hx=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Dx(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Hx.reduce((n,s)=>(n[s]="function",n),e);return nu(t,r)}function zx(t,e,r){if(r<Ft)throw new Error("invalid exponent, negatives unsupported");if(r===Ft)return t.ONE;if(r===Ct)return e;let n=t.ONE,s=e;for(;r>Ft;)r&Ct&&(n=t.mul(n,s)),s=t.sqr(s),r>>=Ct;return n}function m1(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 f0(t,e){const r=(t.ORDER-Ct)/Es,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 b1(t,e){e!==void 0&&ss(e);const r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Bh(t,e,r=!1,n={}){if(t<=Ft)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:s,nByteLength:i}=b1(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:ru(s),ZERO:Ft,ONE:Ct,create:c=>Rt(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Ft<=c&&c<t},is0:c=>c===Ft,isOdd:c=>(c&Ct)===Ct,neg:c=>Rt(-c,t),eql:(c,u)=>c===u,sqr:c=>Rt(c*c,t),add:(c,u)=>Rt(c+u,t),sub:(c,u)=>Rt(c-u,t),mul:(c,u)=>Rt(c*u,t),pow:(c,u)=>zx(a,c,u),div:(c,u)=>Rt(c*od(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>od(c,t),sqrt:n.sqrt||(c=>(o||(o=Lx(t)),o(a,c))),toBytes:c=>r?l1(c,i):xa(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return r?f1(c):Ps(c)},invertBatch:c=>m1(a,c),cmov:(c,u,f)=>f?u:c});return Object.freeze(a)}function g1(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 w1(t){const e=g1(t);return e+Math.ceil(e/2)}function Vx(t,e,r=!1){const n=t.length,s=g1(e),i=w1(e);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);const o=r?f1(t):Ps(t),a=Rt(o,e-Ct)+Ct;return r?l1(a,s):xa(a,s)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const l0=BigInt(0),ad=BigInt(1);function qu(t,e){const r=e.negate();return t?r:e}function v1(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function Gu(t,e){v1(t,e);const r=Math.ceil(e/t)+1,n=2**(t-1),s=2**t,i=ru(t),o=BigInt(t);return{windows:r,windowSize:n,mask:i,maxNumber:s,shiftBy:o}}function d0(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+=ad);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 qx(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 Gx(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 Wu=new WeakMap,E1=new WeakMap;function Ku(t){return E1.get(t)||1}function Wx(t,e){return{constTimeNegate:qu,hasPrecomputes(r){return Ku(r)!==1},unsafeLadder(r,n,s=t.ZERO){let i=r;for(;n>l0;)n&ad&&(s=s.add(i)),i=i.double(),n>>=ad;return s},precomputeWindow(r,n){const{windows:s,windowSize:i}=Gu(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=Gu(r,e);for(let c=0;c<a.windows;c++){const{nextN:u,offset:f,isZero:l,isNeg:p,isNegF:d,offsetF:m}=d0(s,c,a);s=u,l?o=o.add(qu(d,n[m])):i=i.add(qu(p,n[f]))}return{p:i,f:o}},wNAFUnsafe(r,n,s,i=t.ZERO){const o=Gu(r,e);for(let a=0;a<o.windows&&s!==l0;a++){const{nextN:c,offset:u,isZero:f,isNeg:l}=d0(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=Wu.get(n);return i||(i=this.precomputeWindow(n,r),r!==1&&Wu.set(n,s(i))),i},wNAFCached(r,n,s){const i=Ku(r);return this.wNAF(i,this.getPrecomputes(i,r,s),n)},wNAFCachedUnsafe(r,n,s,i){const o=Ku(r);return o===1?this.unsafeLadder(r,n,i):this.wNAFUnsafe(o,this.getPrecomputes(o,r,s),n,i)},setWindowSize(r,n){v1(n,e),E1.set(r,n),Wu.delete(r)}}}function Kx(t,e,r,n){qx(r,t),Gx(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=Rx(BigInt(s));let c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);const u=ru(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 b=0;b<i;b++){const E=n[b],S=Number(E>>BigInt(d)&u);f[S]=f[S].add(r[b])}let m=o;for(let b=f.length-1,E=o;b>0;b--)E=E.add(f[b]),m=m.add(E);if(p=p.add(m),d!==0)for(let b=0;b<c;b++)p=p.double()}return p}function A1(t){return Dx(t.Fp),nu(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...b1(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function h0(t){t.lowS!==void 0&&Xo("lowS",t.lowS),t.prehash!==void 0&&Xo("prehash",t.prehash)}function Zx(t){const e=A1(t);nu(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 Yx extends Error{constructor(e=""){super(e)}}const pn={Err:Yx,_tlv:{encode:(t,e)=>{const{Err:r}=pn;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=Ha(n);if(s.length/2&128)throw new r("tlv.encode: long form length too big");const i=n>127?Ha(s.length/2|128):"";return Ha(t)+i+s+e},decode(t,e){const{Err:r}=pn;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}=pn;if(t<bn)throw new e("integer: negative integers are not allowed");let r=Ha(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}=pn;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 Ps(t)}},toSig(t){const{Err:e,_int:r,_tlv:n}=pn,s=nr("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}=pn,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 Zu(t,e){return Jo(xa(t,e))}const bn=BigInt(0),ct=BigInt(1);BigInt(2);const Yu=BigInt(3),Xx=BigInt(4);function Jx(t){const e=Zx(t),{Fp:r}=e,n=Bh(e.n,e.nBitLength),s=e.toBytes||((A,w,k)=>{const T=w.toAffine();return Ac(Uint8Array.from([4]),r.toBytes(T.x),r.toBytes(T.y))}),i=e.fromBytes||(A=>{const w=A.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(A){const{a:w,b:k}=e,T=r.sqr(A),B=r.mul(T,A);return r.add(r.add(B,r.mul(A,w)),k)}function a(A,w){const k=r.sqr(w),T=o(A);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,Yu),Xx),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(A){return Oh(A,ct,e.n)}function l(A){const{allowedPrivateKeyLengths:w,nByteLength:k,wrapPrivateKey:T,n:B}=e;if(w&&typeof A!="bigint"){if(Sa(A)&&(A=Jo(A)),typeof A!="string"||!w.includes(A.length))throw new Error("invalid private key");A=A.padStart(k*2,"0")}let N;try{N=typeof A=="bigint"?A:Ps(nr("private key",A,k))}catch{throw new Error("invalid private key, expected hex or "+k+" bytes, got "+typeof A)}return T&&(N=Rt(N,B)),Si("private key",N,ct,B),N}function p(A){if(!(A instanceof b))throw new Error("ProjectivePoint expected")}const d=u0((A,w)=>{const{px:k,py:T,pz:B}=A;if(r.eql(B,r.ONE))return{x:k,y:T};const N=A.is0();w==null&&(w=N?r.ONE:r.inv(B));const $=r.mul(k,w),H=r.mul(T,w),M=r.mul(B,w);if(N)return{x:r.ZERO,y:r.ZERO};if(!r.eql(M,r.ONE))throw new Error("invZ was invalid");return{x:$,y:H}}),m=u0(A=>{if(A.is0()){if(e.allowInfinityPoint&&!r.is0(A.py))return;throw new Error("bad point: ZERO")}const{x:w,y:k}=A.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(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class b{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 b)throw new Error("projective point not allowed");const B=N=>r.eql(N,r.ZERO);return B(k)&&B(T)?b.ZERO:new b(k,T,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(w){const k=m1(r,w.map(T=>T.pz));return w.map((T,B)=>T.toAffine(k[B])).map(b.fromAffine)}static fromHex(w){const k=b.fromAffine(i(nr("pointHex",w)));return k.assertValidity(),k}static fromPrivateKey(w){return b.BASE.multiply(l(w))}static msm(w,k){return Kx(b,n,w,k)}_setWindowSize(w){P.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:B}=this,{px:N,py:$,pz:H}=w,M=r.eql(r.mul(k,H),r.mul(N,B)),V=r.eql(r.mul(T,H),r.mul($,B));return M&&V}negate(){return new b(this.px,r.neg(this.py),this.pz)}double(){const{a:w,b:k}=e,T=r.mul(k,Yu),{px:B,py:N,pz:$}=this;let H=r.ZERO,M=r.ZERO,V=r.ZERO,G=r.mul(B,B),Q=r.mul(N,N),W=r.mul($,$),K=r.mul(B,N);return K=r.add(K,K),V=r.mul(B,$),V=r.add(V,V),H=r.mul(w,V),M=r.mul(T,W),M=r.add(H,M),H=r.sub(Q,M),M=r.add(Q,M),M=r.mul(H,M),H=r.mul(K,H),V=r.mul(T,V),W=r.mul(w,W),K=r.sub(G,W),K=r.mul(w,K),K=r.add(K,V),V=r.add(G,G),G=r.add(V,G),G=r.add(G,W),G=r.mul(G,K),M=r.add(M,G),W=r.mul(N,$),W=r.add(W,W),G=r.mul(W,K),H=r.sub(H,G),V=r.mul(W,Q),V=r.add(V,V),V=r.add(V,V),new b(H,M,V)}add(w){p(w);const{px:k,py:T,pz:B}=this,{px:N,py:$,pz:H}=w;let M=r.ZERO,V=r.ZERO,G=r.ZERO;const Q=e.a,W=r.mul(e.b,Yu);let K=r.mul(k,N),re=r.mul(T,$),q=r.mul(B,H),I=r.add(k,T),j=r.add(N,$);I=r.mul(I,j),j=r.add(K,re),I=r.sub(I,j),j=r.add(k,B);let J=r.add(N,H);return j=r.mul(j,J),J=r.add(K,q),j=r.sub(j,J),J=r.add(T,B),M=r.add($,H),J=r.mul(J,M),M=r.add(re,q),J=r.sub(J,M),G=r.mul(Q,j),M=r.mul(W,q),G=r.add(M,G),M=r.sub(re,G),G=r.add(re,G),V=r.mul(M,G),re=r.add(K,K),re=r.add(re,K),q=r.mul(Q,q),j=r.mul(W,j),re=r.add(re,q),q=r.sub(K,q),q=r.mul(Q,q),j=r.add(j,q),K=r.mul(re,j),V=r.add(V,K),K=r.mul(J,j),M=r.mul(I,M),M=r.sub(M,K),K=r.mul(I,re),G=r.mul(J,G),G=r.add(G,K),new b(M,V,G)}subtract(w){return this.add(w.negate())}is0(){return this.equals(b.ZERO)}wNAF(w){return P.wNAFCached(this,w,b.normalizeZ)}multiplyUnsafe(w){const{endo:k,n:T}=e;Si("scalar",w,bn,T);const B=b.ZERO;if(w===bn)return B;if(this.is0()||w===ct)return this;if(!k||P.hasPrecomputes(this))return P.wNAFCachedUnsafe(this,w,b.normalizeZ);let{k1neg:N,k1:$,k2neg:H,k2:M}=k.splitScalar(w),V=B,G=B,Q=this;for(;$>bn||M>bn;)$&ct&&(V=V.add(Q)),M&ct&&(G=G.add(Q)),Q=Q.double(),$>>=ct,M>>=ct;return N&&(V=V.negate()),H&&(G=G.negate()),G=new b(r.mul(G.px,k.beta),G.py,G.pz),V.add(G)}multiply(w){const{endo:k,n:T}=e;Si("scalar",w,ct,T);let B,N;if(k){const{k1neg:$,k1:H,k2neg:M,k2:V}=k.splitScalar(w);let{p:G,f:Q}=this.wNAF(H),{p:W,f:K}=this.wNAF(V);G=P.constTimeNegate($,G),W=P.constTimeNegate(M,W),W=new b(r.mul(W.px,k.beta),W.py,W.pz),B=G.add(W),N=Q.add(K)}else{const{p:$,f:H}=this.wNAF(w);B=$,N=H}return b.normalizeZ([B,N])[0]}multiplyAndAddUnsafe(w,k,T){const B=b.BASE,N=(H,M)=>M===bn||M===ct||!H.equals(B)?H.multiplyUnsafe(M):H.multiply(M),$=N(this,k).add(N(w,T));return $.is0()?void 0:$}toAffine(w){return d(this,w)}isTorsionFree(){const{h:w,isTorsionFree:k}=e;if(w===ct)return!0;if(k)return k(b,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:w,clearCofactor:k}=e;return w===ct?this:k?k(b,this):this.multiplyUnsafe(e.h)}toRawBytes(w=!0){return Xo("isCompressed",w),this.assertValidity(),s(b,this,w)}toHex(w=!0){return Xo("isCompressed",w),Jo(this.toRawBytes(w))}}b.BASE=new b(e.Gx,e.Gy,r.ONE),b.ZERO=new b(r.ZERO,r.ONE,r.ZERO);const{endo:E,nBitLength:S}=e,P=Wx(b,E?Math.ceil(S/2):S);return{CURVE:e,ProjectivePoint:b,normPrivateKeyToScalar:l,weierstrassEquation:o,isWithinCurveOrder:f}}function Qx(t){const e=A1(t);return nu(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function ek(t){const e=Qx(t),{Fp:r,n,nByteLength:s,nBitLength:i}=e,o=r.BYTES+1,a=2*r.BYTES+1;function c(W){return Rt(W,n)}function u(W){return od(W,n)}const{ProjectivePoint:f,normPrivateKeyToScalar:l,weierstrassEquation:p,isWithinCurveOrder:d}=Jx({...e,toBytes(W,K,re){const q=K.toAffine(),I=r.toBytes(q.x),j=Ac;return Xo("isCompressed",re),re?j(Uint8Array.from([K.hasEvenY()?2:3]),I):j(Uint8Array.from([4]),I,r.toBytes(q.y))},fromBytes(W){const K=W.length,re=W[0],q=W.subarray(1);if(K===o&&(re===2||re===3)){const I=Ps(q);if(!Oh(I,ct,r.ORDER))throw new Error("Point is not on curve");const j=p(I);let J;try{J=r.sqrt(j)}catch(F){const ne=F instanceof Error?": "+F.message:"";throw new Error("Point is not on curve"+ne)}const O=(J&ct)===ct;return(re&1)===1!==O&&(J=r.neg(J)),{x:I,y:J}}else if(K===a&&re===4){const I=r.fromBytes(q.subarray(0,r.BYTES)),j=r.fromBytes(q.subarray(r.BYTES,2*r.BYTES));return{x:I,y:j}}else{const I=o,j=a;throw new Error("invalid Point, expected length of "+I+", or uncompressed "+j+", got "+K)}}});function m(W){const K=n>>ct;return W>K}function b(W){return m(W)?c(-W):W}const E=(W,K,re)=>Ps(W.slice(K,re));class S{constructor(K,re,q){Si("r",K,ct,n),Si("s",re,ct,n),this.r=K,this.s=re,q!=null&&(this.recovery=q),Object.freeze(this)}static fromCompact(K){const re=s;return K=nr("compactSignature",K,re*2),new S(E(K,0,re),E(K,re,2*re))}static fromDER(K){const{r:re,s:q}=pn.toSig(nr("DER",K));return new S(re,q)}assertValidity(){}addRecoveryBit(K){return new S(this.r,this.s,K)}recoverPublicKey(K){const{r:re,s:q,recovery:I}=this,j=B(nr("msgHash",K));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");const J=I===2||I===3?re+e.n:re;if(J>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");const O=I&1?"03":"02",R=f.fromHex(O+Zu(J,r.BYTES)),F=u(J),ne=c(-j*F),ae=c(q*F),le=f.BASE.multiplyAndAddUnsafe(R,ne,ae);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 Ec(this.toDERHex())}toDERHex(){return pn.hexFromSig(this)}toCompactRawBytes(){return Ec(this.toCompactHex())}toCompactHex(){const K=s;return Zu(this.r,K)+Zu(this.s,K)}}const P={isValidPrivateKey(W){try{return l(W),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const W=w1(e.n);return Vx(e.randomBytes(W),e.n)},precompute(W=8,K=f.BASE){return K._setWindowSize(W),K.multiply(BigInt(3)),K}};function A(W,K=!0){return f.fromPrivateKey(W).toRawBytes(K)}function w(W){if(typeof W=="bigint")return!1;if(W instanceof f)return!0;const re=nr("key",W).length,q=r.BYTES,I=q+1,j=2*q+1;if(!(e.allowedPrivateKeyLengths||s===I))return re===I||re===j}function k(W,K,re=!0){if(w(W)===!0)throw new Error("first arg must be private key");if(w(K)===!1)throw new Error("second arg must be public key");return f.fromHex(K).multiply(l(W)).toRawBytes(re)}const T=e.bits2int||function(W){if(W.length>8192)throw new Error("input is too large");const K=Ps(W),re=W.length*8-i;return re>0?K>>BigInt(re):K},B=e.bits2int_modN||function(W){return c(T(W))},N=ru(i);function $(W){return Si("num < 2^"+i,W,bn,N),xa(W,s)}function H(W,K,re=M){if(["recovered","canonical"].some(oe=>oe in re))throw new Error("sign() legacy options not supported");const{hash:q,randomBytes:I}=e;let{lowS:j,prehash:J,extraEntropy:O}=re;j==null&&(j=!0),W=nr("msgHash",W),h0(re),J&&(W=nr("prehashed msgHash",q(W)));const R=B(W),F=l(K),ne=[$(F),$(R)];if(O!=null&&O!==!1){const oe=O===!0?I(r.BYTES):O;ne.push(nr("extraEntropy",oe))}const ae=Ac(...ne),le=R;function ue(oe){const ie=T(oe);if(!d(ie))return;const me=u(ie),be=f.BASE.multiply(ie).toAffine(),we=c(be.x);if(we===bn)return;const ke=c(me*c(le+we*F));if(ke===bn)return;let tt=(be.x===we?0:2)|Number(be.y&ct),Oe=ke;return j&&m(ke)&&(Oe=b(ke),tt^=1),new S(we,Oe,tt)}return{seed:ae,k2sig:ue}}const M={lowS:e.lowS,prehash:!1},V={lowS:e.lowS,prehash:!1};function G(W,K,re=M){const{seed:q,k2sig:I}=H(W,K,re),j=e;return Nx(j.hash.outputLen,j.nByteLength,j.hmac)(q,I)}f.BASE._setWindowSize(8);function Q(W,K,re,q=V){var tt;const I=W;K=nr("msgHash",K),re=nr("publicKey",re);const{lowS:j,prehash:J,format:O}=q;if(h0(q),"strict"in q)throw new Error("options.strict was renamed to lowS");if(O!==void 0&&O!=="compact"&&O!=="der")throw new Error("format must be compact or der");const R=typeof I=="string"||Sa(I),F=!R&&!O&&typeof I=="object"&&I!==null&&typeof I.r=="bigint"&&typeof I.s=="bigint";if(!R&&!F)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ne,ae;try{if(F&&(ne=new S(I.r,I.s)),R){try{O!=="compact"&&(ne=S.fromDER(I))}catch(Oe){if(!(Oe instanceof pn.Err))throw Oe}!ne&&O!=="der"&&(ne=S.fromCompact(I))}ae=f.fromHex(re)}catch{return!1}if(!ne||j&&ne.hasHighS())return!1;J&&(K=e.hash(K));const{r:le,s:ue}=ne,oe=B(K),ie=u(ue),me=c(oe*ie),be=c(le*ie),we=(tt=f.BASE.multiplyAndAddUnsafe(ae,me,be))==null?void 0:tt.toAffine();return we?c(we.x)===le:!1}return{CURVE:e,getPublicKey:A,getSharedSecret:k,sign:G,verify:Q,ProjectivePoint:f,Signature:S,utils:P}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function tk(t){return{hash:t,hmac:(e,...r)=>e1(t,e,Fv(...r)),randomBytes:Lv}}function rk(t,e){const r=n=>ek({...t,...tk(n)});return{...r(e),create:r}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const S1=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),p0=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),nk=BigInt(0),sk=BigInt(1),cd=BigInt(2),y0=(t,e)=>(t+e/cd)/e;function ik(t){const e=S1,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=er(f,r,e)*f%e,p=er(l,r,e)*f%e,d=er(p,cd,e)*u%e,m=er(d,s,e)*d%e,b=er(m,i,e)*m%e,E=er(b,a,e)*b%e,S=er(E,c,e)*E%e,P=er(S,a,e)*b%e,A=er(P,r,e)*f%e,w=er(A,o,e)*m%e,k=er(w,n,e)*u%e,T=er(k,cd,e);if(!ud.eql(ud.sqr(T),t))throw new Error("Cannot find square root");return T}const ud=Bh(S1,void 0,void 0,{sqrt:ik}),x1=rk({a:nk,b:BigInt(7),Fp:ud,n:p0,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const e=p0,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-sk*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=r,o=BigInt("0x100000000000000000000000000000000"),a=y0(i*t,e),c=y0(-n*t,e);let u=Rt(t-a*r-c*s,e),f=Rt(-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}}}},kb),ok=Object.freeze(Object.defineProperty({__proto__:null,secp256k1:x1},Symbol.toStringTag,{value:"Module"}));function ak({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 x1.Signature(ut(t),ut(e)).toCompactHex()}${i===0?"1b":"1c"}`;return r==="hex"?o:Jr(o)}async function su(t,e){var a,c,u,f,l,p;const{address:r,hash:n,erc6492VerifierAddress:s=e.universalSignatureVerifierAddress??((u=(c=(a=t.chain)==null?void 0:a.contracts)==null?void 0:c.erc6492Verifier)==null?void 0:u.address),multicallAddress:i=e.multicallAddress??((p=(l=(f=t.chain)==null?void 0:f.contracts)==null?void 0:l.multicall3)==null?void 0:p.address)}=e,o=(()=>{const d=e.signature;return _r(d)?d:typeof d=="object"&&"r"in d&&"s"in d?ak(d):et(d)})();try{return lx(o)?await ck(t,{...e,multicallAddress:i,signature:o}):await uk(t,{...e,verifierAddress:s,signature:o})}catch(d){try{if(Gi(jd(r),await bb({hash:n,signature:o})))return!0}catch{}if(d instanceof Ds)return!1;throw d}}async function ck(t,e){var E;const{address:r,blockNumber:n,blockTag:s,hash:i,multicallAddress:o}=e,{authorization:a,data:c,signature:u,to:f}=fx(e.signature);if(await Zl(t,{address:r,blockNumber:n,blockTag:s})===Cr(["0xef0100",a.address]))return await fk(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:Z(a.r,{size:32}),s:Z(a.s,{size:32}),yParity:a.yParity};if(!await i8({address:r,authorization:p}))throw new Ds;const m=await se(t,dr,"readContract")({...o?{address:o}:{code:fh},authorizationList:[p],abi:gc,blockNumber:n,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:f??r,callData:c}]:[],{allowFailure:!0,target:r,callData:Xt({abi:Yb,functionName:"isValidSignature",args:[i,u]})}]]}),b=(E=m[m.length-1])==null?void 0:E.returnData;if(b!=null&&b.startsWith("0x1626ba7e"))return!0;throw new Ds}async function uk(t,e){const{address:r,factory:n,factoryData:s,hash:i,signature:o,verifierAddress:a,...c}=e,u=await(async()=>!n&&!s||Bx(o)?o:Ox({data:s,signature:o,to:n}))(),f=a?{to:a,data:Xt({abi:qp,functionName:"isValidSig",args:[r,i,u]}),...c}:{data:Zc({abi:qp,args:[r,i,u],bytecode:QE}),...c},{data:l}=await se(t,wa,"call")(f).catch(p=>{throw p instanceof yb?new Ds:p});if(wv(l??"0x0"))return!0;throw new Ds}async function fk(t,e){const{address:r,blockNumber:n,blockTag:s,hash:i,signature:o}=e;if((await se(t,dr,"readContract")({address:r,abi:Yb,args:[i,o],blockNumber:n,blockTag:s,functionName:"isValidSignature"}).catch(c=>{throw c instanceof mb?new Ds:c})).startsWith("0x1626ba7e"))return!0;throw new Ds}class Ds extends Error{}async function lk(t,{address:e,message:r,factory:n,factoryData:s,signature:i,...o}){const a=Pg(r);return su(t,{address:e,factory:n,factoryData:s,hash:a,signature:i,...o})}async function dk(t,e){const{address:r,factory:n,factoryData:s,signature:i,message:o,primaryType:a,types:c,domain:u,...f}=e,l=I8({message:o,primaryType:a,types:c,domain:u});return su(t,{address:r,factory:n,factoryData:s,hash:l,signature:i,...f})}function k1(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=Qe(["watchBlockNumber",t.uid,e,r,o]);return Tn(l,{onBlockNumber:n,onError:s},p=>Ki(async()=>{var d;try{const m=await se(t,va,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(m===c)return;if(m-c>1&&r)for(let b=c+1n;b<m;b++)p.onBlockNumber(b,c),c=b}(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=Qe(["watchBlockNumber",t.uid,e,r]);return Tn(l,{onBlockNumber:n,onError:s},p=>{let d=!0,m=()=>d=!1;return(async()=>{try{const b=(()=>{if(t.transport.type==="fallback"){const S=t.transport.transports.find(P=>P.config.type==="webSocket"||P.config.type==="ipc");return S?S.value:t.transport}return t.transport})(),{unsubscribe:E}=await b.subscribe({params:["newHeads"],onData(S){var A;if(!d)return;const P=ut((A=S.result)==null?void 0:A.number);p.onBlockNumber(P,c),c=P},onError(S){var P;(P=p.onError)==null||P.call(p,S)}});m=E,d||m()}catch(b){s==null||s(b)}})(),()=>m()})})()}async function hk(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=Qe(["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,b,E;const{promise:S,resolve:P,reject:A}=lh(),w=c?setTimeout(()=>{E==null||E(),b==null||b(),A(new U5({hash:s}))},c):void 0;return b=Tn(u,{onReplaced:i,resolve:P,reject:A},async k=>{if(d=await se(t,ic,"getTransactionReceipt")({hash:s}).catch(()=>{}),d&&n<=1){clearTimeout(w),k.resolve(d),b==null||b();return}E=se(t,k1,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:f,async onBlockNumber(T){const B=$=>{clearTimeout(w),E==null||E(),$(),b==null||b()};let N=T;if(!m)try{if(d){if(n>1&&(!d.blockNumber||N-d.blockNumber+1n<n))return;B(()=>k.resolve(d));return}if(r&&!l&&(m=!0,await wc(async()=>{l=await se(t,_h,"getTransaction")({hash:s}),l.blockNumber&&(N=l.blockNumber)},{delay:a,retryCount:o}),m=!1),d=await se(t,ic,"getTransactionReceipt")({hash:s}),n>1&&(!d.blockNumber||N-d.blockNumber+1n<n))return;B(()=>k.resolve(d))}catch($){if($ instanceof hb||$ instanceof pb){if(!l){m=!1;return}try{p=l,m=!0;const H=await wc(()=>se(t,Zr,"getBlock")({blockNumber:N,includeTransactions:!0}),{delay:a,retryCount:o,shouldRetry:({error:G})=>G instanceof vb});m=!1;const M=H.transactions.find(({from:G,nonce:Q})=>G===p.from&&Q===p.nonce);if(!M||(d=await se(t,ic,"getTransactionReceipt")({hash:M.hash}),n>1&&(!d.blockNumber||N-d.blockNumber+1n<n)))return;let V="replaced";M.to===p.to&&M.value===p.value&&M.input===p.input?V="repriced":M.from===M.to&&M.value===0n&&(V="cancelled"),B(()=>{var G;(G=k.onReplaced)==null||G.call(k,{reason:V,replacedTransaction:p,transaction:M,transactionReceipt:d}),k.resolve(d)})}catch(H){B(()=>k.reject(H))}}else B(()=>k.reject($))}}})}),S}function pk(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=Qe(["watchBlocks",t.uid,e,r,n,f,c]);return Tn(m,{onBlock:s,onError:i},b=>Ki(async()=>{var E;try{const S=await se(t,Zr,"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 P=(l==null?void 0:l.number)+1n;P<S.number;P++){const A=await se(t,Zr,"getBlock")({blockNumber:P,includeTransactions:f});b.onBlock(A,l),l=A}}((l==null?void 0:l.number)==null||e==="pending"&&(S==null?void 0:S.number)==null||S.number!==null&&S.number>l.number)&&(b.onBlock(S,l),l=S)}catch(S){(E=b.onError)==null||E.call(b,S)}},{emitOnBegin:n,interval:c}))})():(()=>{let m=!0,b=!0,E=()=>m=!1;return(async()=>{try{n&&se(t,Zr,"getBlock")({blockTag:e,includeTransactions:f}).then(A=>{m&&b&&(s(A,void 0),b=!1)}).catch(i);const S=(()=>{if(t.transport.type==="fallback"){const A=t.transport.transports.find(w=>w.config.type==="webSocket"||w.config.type==="ipc");return A?A.value:t.transport}return t.transport})(),{unsubscribe:P}=await S.subscribe({params:["newHeads"],async onData(A){var k;if(!m)return;const w=await se(t,Zr,"getBlock")({blockNumber:(k=A.result)==null?void 0:k.number,includeTransactions:f}).catch(()=>{});m&&(s(w,l),b=!1,l=w)},onError(A){i==null||i(A)}});E=P,m||E()}catch(S){i==null||i(S)}})(),()=>E()})()}function yk(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 E=Qe(["watchEvent",e,r,n,t.uid,s,f,o]);return Tn(E,{onLogs:c,onError:a},S=>{let P;o!==void 0&&(P=o-1n);let A,w=!1;const k=Ki(async()=>{var T;if(!w){try{A=await se(t,vg,"createEventFilter")({address:e,args:r,event:s,events:i,strict:d,fromBlock:o})}catch{}w=!0;return}try{let B;if(A)B=await se(t,Yc,"getFilterChanges")({filter:A});else{const N=await se(t,va,"getBlockNumber")({});P&&P!==N?B=await se(t,ah,"getLogs")({address:e,args:r,event:s,events:i,fromBlock:P+1n,toBlock:N}):B=[],P=N}if(B.length===0)return;if(n)S.onLogs(B);else for(const N of B)S.onLogs([N])}catch(B){A&&B instanceof Ms&&(w=!1),(T=S.onError)==null||T.call(S,B)}},{emitOnBegin:!0,interval:f});return async()=>{A&&await se(t,Xc,"uninstallFilter")({filter:A}),k()}})})():(()=>{let E=!0,S=()=>E=!1;return(async()=>{try{const P=(()=>{if(t.transport.type==="fallback"){const T=t.transport.transports.find(B=>B.config.type==="webSocket"||B.config.type==="ipc");return T?T.value:t.transport}return t.transport})(),A=i??(s?[s]:void 0);let w=[];A&&(w=[A.flatMap(B=>pa({abi:[B],eventName:B.name,args:r}))],s&&(w=w[0]));const{unsubscribe:k}=await P.subscribe({params:["logs",{address:e,topics:w}],onData(T){var N;if(!E)return;const B=T.result;try{const{eventName:$,args:H}=ih({abi:A??[],data:B.data,topics:B.topics,strict:d}),M=kn(B,{args:H,eventName:$});c([M])}catch($){let H,M;if($ instanceof Po||$ instanceof Rc){if(l)return;H=$.abiItem.name,M=(N=$.abiItem.inputs)==null?void 0:N.some(G=>!("name"in G&&G.name))}const V=kn(B,{args:M?[]:{},eventName:H});c([V])}},onError(T){a==null||a(T)}});S=k,E||S()}catch(P){a==null||a(P)}})(),()=>S()})()}function mk(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=Qe(["watchPendingTransactions",t.uid,e,i]);return Tn(u,{onTransactions:n,onError:r},f=>{let l;const p=Ki(async()=>{var d;try{if(!l)try{l=await se(t,Eg,"createPendingTransactionFilter")({});return}catch(b){throw p(),b}const m=await se(t,Yc,"getFilterChanges")({filter:l});if(m.length===0)return;if(e)f.onTransactions(m);else for(const b of m)f.onTransactions([b])}catch(m){(d=f.onError)==null||d.call(f,m)}},{emitOnBegin:!0,interval:i});return async()=>{l&&await se(t,Xc,"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 bk(t){var l,p,d;const{scheme:e,statement:r,...n}=((l=t.match(gk))==null?void 0:l.groups)??{},{chainId:s,expirationTime:i,issuedAt:o,notBefore:a,requestId:c,...u}=((p=t.match(wk))==null?void 0:p.groups)??{},f=(d=t.split("Resources:")[1])==null?void 0:d.split(`
|
|
46
|
-
- `).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 gk=/^(?:(?<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)?/,wk=/(?: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 vk(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||!at(n.address,{strict:!1})||e&&!Gi(n.address,e))return!1}catch{return!1}return!0}async function Ek(t,e){const{address:r,domain:n,message:s,nonce:i,scheme:o,signature:a,time:c=new Date,...u}=e,f=bk(s);if(!f.address||!vk({address:r,domain:n,message:f,nonce:i,scheme:o,time:c}))return!1;const p=Pg(s);return su(t,{address:f.address,hash:p,signature:a,...u})}function Ak(t){return{call:e=>wa(t,e),createAccessList:e=>wg(t,e),createBlockFilter:()=>FA(t),createContractEventFilter:e=>zd(t,e),createEventFilter:e=>vg(t,e),createPendingTransactionFilter:()=>Eg(t),estimateContractGas:e=>Nb(t,e),estimateGas:e=>sh(t,e),getBalance:e=>jA(t,e),getBlobBaseFee:()=>LA(t),getBlock:e=>Zr(t,e),getBlockNumber:e=>va(t,e),getBlockTransactionCount:e=>HA(t,e),getBytecode:e=>Zl(t,e),getChainId:()=>qi(t),getCode:e=>Zl(t,e),getContractEvents:e=>ch(t,e),getEip712Domain:e=>zA(t,e),getEnsAddress:e=>AA(t,e),getEnsAvatar:e=>NA(t,e),getEnsName:e=>UA(t,e),getEnsResolver:e=>MA(t,e),getEnsText:e=>gg(t,e),getFeeHistory:e=>GA(t,e),estimateFeesPerGas:e=>iE(t,e),getFilterChanges:e=>Yc(t,e),getFilterLogs:e=>WA(t,e),getGasPrice:()=>Jd(t),getLogs:e=>ah(t,e),getProof:e=>yx(t,e),estimateMaxPriorityFeePerGas:e=>sE(t,e),getStorageAt:e=>mx(t,e),getTransaction:e=>_h(t,e),getTransactionConfirmations:e=>bx(t,e),getTransactionCount:e=>Qd(t,e),getTransactionReceipt:e=>ic(t,e),multicall:e=>gx(t,e),prepareTransactionRequest:e=>Gc(t,e),readContract:e=>dr(t,e),sendRawTransaction:e=>dh(t,e),simulate:e=>rd(t,e),simulateBlocks:e=>rd(t,e),simulateCalls:e=>Px(t,e),simulateContract:e=>rg(t,e),verifyHash:e=>su(t,e),verifyMessage:e=>lk(t,e),verifySiweMessage:e=>Ek(t,e),verifyTypedData:e=>dk(t,e),uninstallFilter:e=>Xc(t,e),waitForTransactionReceipt:e=>hk(t,e),watchBlocks:e=>pk(t,e),watchBlockNumber:e=>k1(t,e),watchContractEvent:e=>ng(t,e),watchEvent:e=>yk(t,e),watchPendingTransactions:e=>mk(t,e)}}function Sk(t){const{key:e="public",name:r="Public Client"}=t;return hg({...t,key:e,name:r,type:"publicClient"}).extend(Ak)}async function xk(t,{chain:e}){const{id:r,name:n,nativeCurrency:s,rpcUrls:i,blockExplorers:o}=e;await t.request({method:"wallet_addEthereumChain",params:[{chainId:Z(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 kk(t,e){const{abi:r,args:n,bytecode:s,...i}=e,o=Zc({abi:r,args:n,bytecode:s});return Jc(t,{...i,...i.authorizationList?{to:null}:{},data:o})}async function Tk(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=>da(n))}async function _k(t,e={}){const{account:r=t.account,chainId:n}=e,s=r?Ze(r):void 0,i=n?[s==null?void 0:s.address,[Z(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 Pk(t){return await t.request({method:"wallet_getPermissions"},{dedupe:!0})}async function T1(t,e){var c;const{account:r=t.account,chainId:n,nonce:s}=e;if(!r)throw new Js({docsPath:"/docs/eip7702/prepareAuthorization"});const i=Ze(r),o=(()=>{if(e.executor)return e.executor==="self"?e.executor:Ze(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 se(t,qi,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await se(t,Qd,"getTransactionCount")({address:i.address,blockTag:"pending"}),(o==="self"||o!=null&&o.address&&Gi(o.address,i.address))&&(a.nonce+=1)),a}async function Ik(t){return(await t.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>jd(r))}async function Ok(t,e){return t.request({method:"wallet_requestPermissions",params:[e]},{retryCount:0})}async function Bk(t,e){const{id:r}=e;await t.request({method:"wallet_showCallsStatus",params:[r]})}async function Ck(t,e){const{account:r=t.account}=e;if(!r)throw new Js({docsPath:"/docs/eip7702/signAuthorization"});const n=Ze(r);if(!n.signAuthorization)throw new sc({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:n.type});const s=await T1(t,e);return n.signAuthorization(s)}async function $k(t,{account:e=t.account,message:r}){if(!e)throw new Js({docsPath:"/docs/actions/wallet/signMessage"});const n=Ze(e);if(n.signMessage)return n.signMessage({message:r});const s=typeof r=="string"?Bi(r):r.raw instanceof Uint8Array?Bt(r.raw):r.raw;return t.request({method:"personal_sign",params:[s,n.address]},{retryCount:0})}async function Rk(t,e){var u,f,l,p;const{account:r=t.account,chain:n=t.chain,...s}=e;if(!r)throw new Js({docsPath:"/docs/actions/wallet/signTransaction"});const i=Ze(r);Ys({account:i,...e});const o=await se(t,qi,"getChainId")({});n!==null&&sg({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)||Vi;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),chainId:Z(o),from:i.address}]},{retryCount:0})}async function Nk(t,e){const{account:r=t.account,domain:n,message:s,primaryType:i}=e;if(!r)throw new Js({docsPath:"/docs/actions/wallet/signTypedData"});const o=Ze(r),a={EIP712Domain:Og({domain:n}),...e.types};if(Ig({domain:n,message:s,primaryType:i,types:a}),o.signTypedData)return o.signTypedData({domain:n,message:s,primaryType:i,types:a});const c=_8({domain:n,message:s,primaryType:i,types:a});return t.request({method:"eth_signTypedData_v4",params:[o.address,c]},{retryCount:0})}async function Uk(t,{id:e}){await t.request({method:"wallet_switchEthereumChain",params:[{chainId:Z(e)}]},{retryCount:0})}async function Mk(t,e){return await t.request({method:"wallet_watchAsset",params:e},{retryCount:0})}function Fk(t){return{addChain:e=>xk(t,e),deployContract:e=>kk(t,e),getAddresses:()=>Tk(t),getCallsStatus:e=>lg(t,e),getCapabilities:e=>_k(t,e),getChainId:()=>qi(t),getPermissions:()=>Pk(t),prepareAuthorization:e=>T1(t,e),prepareTransactionRequest:e=>Gc(t,e),requestAddresses:()=>Ik(t),requestPermissions:e=>Ok(t,e),sendCalls:e=>pA(t,e),sendRawTransaction:e=>dh(t,e),sendTransaction:e=>Jc(t,e),showCallsStatus:e=>Bk(t,e),signAuthorization:e=>Ck(t,e),signMessage:e=>$k(t,e),signTransaction:e=>Rk(t,e),signTypedData:e=>Nk(t,e),switchChain:e=>Uk(t,e),waitForCallsStatus:e=>yA(t,e),watchAsset:e=>Mk(t,e),writeContract:e=>og(t,e)}}function Xu(t){const{key:e="wallet",name:r="Wallet Client",transport:n}=t;return hg({...t,key:e,name:r,transport:n,type:"walletClient"}).extend(Fk)}function _1({key:t,methods:e,name:r,request:n,retryCount:s=3,retryDelay:i=150,timeout:o,type:a},c){const u=dg();return{config:{key:t,methods:e,name:r,request:n,retryCount:s,retryDelay:i,timeout:o,type:a},request:a8(n,{methods:e,retryCount:s,retryDelay:i,uid:u}),value:c}}function m0(t,e={}){const{key:r="custom",methods:n,name:s="Custom Provider",retryDelay:i}=e;return({retryCount:o})=>_1({key:r,methods:n,name:s,request:t.request.bind(t),retryCount:e.retryCount??o,retryDelay:i,type:"custom"})}class jk extends L{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function P1(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:b=1e3,wait:E=0}=typeof r=="object"?r:{},S=e.retryCount??d,P=m??e.timeout??1e4,A=p==null?void 0:p.rpcUrls.default.http[0];if(!A)throw new jk;const w=E8(A,{fetchFn:n,fetchOptions:s,onRequest:c,onResponse:u,timeout:P});return _1({key:i,methods:o,name:a,async request({method:k,params:T}){const B={method:k,params:T},{schedule:N}=eg({id:A,wait:E,shouldSplitBatch(V){return V.length>b},fn:V=>w.request({body:V}),sort:(V,G)=>V.id-G.id}),$=async V=>r?N(V):[await w.request({body:V})],[{error:H,result:M}]=await $(B);if(l)return{error:H,result:M};if(H)throw new Gd({body:B,error:H,url:A});return M},retryCount:S,retryDelay:f,timeout:P,type:"http"},{fetchOptions:s,url:A})}}const oc={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:""}},Qo={[g.Network.MAINNET]:{chainId:"0x534e5f4d41494e",nodeUrl:"https://rpc.starknet.lava.build"},[g.Network.TESTNET]:{chainId:"0x534e5f5345504f4c4941",nodeUrl:"https://starknet-sepolia-rpc.publicnode.com"},[g.Network.LOCALNET]:{chainId:"",nodeUrl:""}},I1={[g.Network.MAINNET]:"9cBuPNiHXiMNg3Fin8xLCGJQBTXjYQTFtyaFQv2uiM1H",[g.Network.TESTNET]:"ANUVKxeqaec3bf4DVPqLTnG1PT3Fng56wPcE7LXAb46Q",[g.Network.LOCALNET]:"AKnL4NNf3DGWZJS6cPknBuEGnVsV4A4m5tgebLHaRSZ9"},fd={mainnet:{native:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",spl:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU"},staging:{native:"6eksgdCnSjUaGQWZ6iYvauv1qzvYPF33RTGTM1ZuyENx",spl:"2WXpY8havGjfRxme9LUxtjFHTh1EfU3ur4v6wiK4KdNC"}},ld={[g.Network.TESTNET]:{packageId:"0x99865b03dd1bc03d0a6a805c454ea257c464f7abcccae9cd4b621b91e7ca04de",moduleName:"AtomicSwap"},[g.Network.MAINNET]:{packageId:"0xbfb5728aab0dd117747ef4574af6d3540ea6093109c22856e3ae201dfd58c0fc",moduleName:"AtomicSwap"},[g.Network.LOCALNET]:{packageId:"",moduleName:""}},Lk={asset:X.ChainAsset.from(X.Assets.base.cBBTC)};var xi=(t=>(t.SLOW="SLOW",t.MEDIUM="MEDIUM",t.FAST="FAST",t))(xi||{}),kr=(t=>(t.Mainnet="Mainnet",t.Testnet="Testnet",t.Regtest="Regtest",t))(kr||{}),ac=(t=>(t.ALL="ALL",t.IN="IN",t.OUT="OUT",t))(ac||{});const Hk={SLOW:"economyFee",MEDIUM:"hourFee",FAST:"fastestFee"};function dd(t){const e=typeof t=="string"?t:t.network,r=e===g.Network.MAINNET?oc.mainnet:g.Network.TESTNET?oc.testnet:oc.localnet;return{api:typeof t=="string"?r:{...r,...t},network:e}}function Dk(t){return typeof t=="string"&&(t=Buffer.from(t,"hex")),t.length===32?t:t.subarray(1,33)}function b0(t,e){if(!t)throw new Error(e)}function zk(t){return Buffer.concat([Uint8Array.from([192]),Vk(t)])}function Vk(t){const e=bp.encodingLength(t.length),r=Buffer.allocUnsafe(e);return bp.encode(t.length,r),Buffer.concat([r,t])}function qk(t,e){if(t.compare(e)>0){const r=t;t=e,e=r}return[t,e]}const je=t=>t.length===64?t:t.slice(2),Gk=t=>{if(!t)return!1;try{const e=Buffer.from(t,"hex");return ur.isPoint(e)}catch{return!1}},Wk=(t,e,r,n)=>t+":"+e.toLowerCase()+"::"+r+":"+n.toLowerCase();function Kk(t,e){if(!t)return!1;const r=e===g.Environment.MAINNET?Se.networks.bitcoin:e===g.Environment.TESTNET?Se.networks.testnet:Se.networks.regtest;if(!r)return!1;Se.initEccLib(ur);try{return Se.address.toOutputScript(t,r),!0}catch{return!1}}function no(t,e){const r=[];for(let n=0;n<e;n++)r.push(t);return r}const Zk=t=>{switch(t){case g.Network.MAINNET:return kr.Mainnet;case g.Network.TESTNET:return kr.Testnet;case g.Network.LOCALNET:return kr.Regtest;default:throw new Error(`Invalid bitcoin network ${t}`)}},Yk=t=>{switch(t){case g.Network.MAINNET:return Se.networks.bitcoin;case g.Network.TESTNET:return Se.networks.testnet;case g.Network.LOCALNET:return Se.networks.regtest;default:throw new Error(`Invalid bitcoin network ${t}`)}},Xk=t=>{const e=t.toLowerCase().replace("0x","");return/^[0-9a-f]+$/.test(e)},g0=t=>{if(typeof t=="object"&&"r"in t&&"s"in t)return g.Ok([t.r.toString(),t.s.toString()]);if(Array.isArray(t)){const e=t.map(r=>typeof r=="string"&&r.startsWith("0x")&&Xk(r)?BigInt(r).toString():r);return g.Ok(e)}return g.Err("Invalid signature format")};function hd(t){return Buffer.from(t,"hex").reverse()}function pd(t){return typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"}const Da=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},Ch=async(t,e)=>{var a,c;const r=await g.Fetcher.get(e+"/v2/assets");if(r.error)return g.Err("Failed to fetch asset info: "+r.error);const s=(r.result||[]).find(u=>u.id===t);if(!s)return g.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 g.Ok({htlcAddress:i,tokenAddress:o})},w0=t=>{if(t==null||t.includes("."))return g.Err("Invalid amount ",t);const e=new kl.BigNumber(t);return!e.isInteger()||e.isNaN()||e.lt(0)||e.isLessThanOrEqualTo(0)?g.Err("Invalid amount ",t):g.Ok(e)},Jk=async(t,e)=>{const r={[X.BlockchainType.evm]:{htlc:e.evm,name:"EVM"},[X.BlockchainType.solana]:{htlc:e.solana,name:"Solana"},[X.BlockchainType.starknet]:{htlc:e.starknet,name:"Starknet"},[X.BlockchainType.sui]:{htlc:e.sui,name:"Sui"},[X.BlockchainType.bitcoin]:{htlc:e.bitcoin,name:"Bitcoin"}};if(t===X.BlockchainType.bitcoin)return g.Ok(void 0);const n=r[t];return n?n.htlc?g.Ok(void 0):g.Err(`${n.name} HTLC is required for swap initiation. Please provide ${n.name.toLowerCase()}HTLC when initializing garden.`):g.Err(`Unsupported blockchain type for swap initiation: ${t}`)},Qk=["0x90c06174","0xee1b963b"],e3=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)},$h=t=>{const e=e3(t).toLowerCase();return Qk.some(r=>e.includes(r.toLowerCase()))},t3=t=>t.toLowerCase().includes("not supported for initiations"),O1=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&&t3(o.error))break;if(o.ok){const a=await g.waitForTransactionReceipt(e,o.val);if(!a.ok){if(i<r-1){await g.sleep(n*2**i);continue}break}if(((s=a.val)==null?void 0:s.status)==="success")return o.val}i<r-1&&await g.sleep(n*2**i)}return null},r3=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),n3=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),s3=Buffer.concat([r3,n3]),i3=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),v0={failedToCreateInternalPubkey:"failed to create internal pubkey"};function E0(){const t=pe.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),e=ur.pointMultiply(Buffer.concat([Buffer.from("04","hex"),s3]),t);if(!e)throw new Error(v0.failedToCreateInternalPubkey);const r=ur.pointAdd(i3,e);if(!r)throw new Error(v0.failedToCreateInternalPubkey);return Dk(Buffer.from(r))}var Qr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function B1(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var r=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,s.get?s:{enumerable:!0,get:function(){return t[n]}})}),r}var Le={},Et={},Qs={},iu={};iu.byteLength=c3;iu.toByteArray=f3;iu.fromByteArray=h3;var Wr=[],sr=[],o3=typeof Uint8Array<"u"?Uint8Array:Array,Ju="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var oi=0,a3=Ju.length;oi<a3;++oi)Wr[oi]=Ju[oi],sr[Ju.charCodeAt(oi)]=oi;sr[45]=62;sr[95]=63;function C1(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 c3(t){var e=C1(t),r=e[0],n=e[1];return(r+n)*3/4-n}function u3(t,e,r){return(e+r)*3/4-r}function f3(t){var e,r=C1(t),n=r[0],s=r[1],i=new o3(u3(t,n,s)),o=0,a=s>0?n-4:n,c;for(c=0;c<a;c+=4)e=sr[t.charCodeAt(c)]<<18|sr[t.charCodeAt(c+1)]<<12|sr[t.charCodeAt(c+2)]<<6|sr[t.charCodeAt(c+3)],i[o++]=e>>16&255,i[o++]=e>>8&255,i[o++]=e&255;return s===2&&(e=sr[t.charCodeAt(c)]<<2|sr[t.charCodeAt(c+1)]>>4,i[o++]=e&255),s===1&&(e=sr[t.charCodeAt(c)]<<10|sr[t.charCodeAt(c+1)]<<4|sr[t.charCodeAt(c+2)]>>2,i[o++]=e>>8&255,i[o++]=e&255),i}function l3(t){return Wr[t>>18&63]+Wr[t>>12&63]+Wr[t>>6&63]+Wr[t&63]}function d3(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(l3(n));return s.join("")}function h3(t){for(var e,r=t.length,n=r%3,s=[],i=16383,o=0,a=r-n;o<a;o+=i)s.push(d3(t,o,o+i>a?a:o+i));return n===1?(e=t[r-1],s.push(Wr[e>>2]+Wr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],s.push(Wr[e>>10]+Wr[e>>4&63]+Wr[e<<2&63]+"=")),s.join("")}var Rh={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */Rh.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)};Rh.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,b=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]|=b*128};/*!
|
|
47
|
-
* The buffer module from node.js, for the browser.
|
|
48
|
-
*
|
|
49
|
-
* @author Feross Aboukhadijeh <https://feross.org>
|
|
50
|
-
* @license MIT
|
|
51
|
-
*/(function(t){const e=iu,r=Rh,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=a,t.SlowBuffer=P,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(St(v,ArrayBuffer)||v&&St(v.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(St(v,SharedArrayBuffer)||v&&St(v.buffer,SharedArrayBuffer)))return b(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 C=E(v);if(C)return C;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=A(v,h)|0;let x=o(y);const C=x.write(v,h);return C!==y&&(x=x.slice(0,C)),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(St(v,Uint8Array)){const h=new Uint8Array(v);return b(h.buffer,h.byteOffset,h.byteLength)}return d(v)}function b(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 E(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"||Rn(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 P(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(St(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),St(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,C=y.length;for(let U=0,D=Math.min(x,C);U<D;++U)if(h[U]!==y[U]){x=h[U],C=y[U];break}return x<C?-1:C<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 C=a.allocUnsafe(y);let U=0;for(x=0;x<h.length;++x){let D=h[x];if(St(D,Uint8Array))U+D.length>C.length?(a.isBuffer(D)||(D=a.from(D)),D.copy(C,U)):Uint8Array.prototype.set.call(C,D,U);else if(a.isBuffer(D))D.copy(C,U);else throw new TypeError('"list" argument must be an Array of Buffers');U+=D.length}return C};function A(v,h){if(a.isBuffer(v))return v.length;if(ArrayBuffer.isView(v)||St(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 C=!1;for(;;)switch(h){case"ascii":case"latin1":case"binary":return y;case"utf8":case"utf-8":return Rr(v).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return y*2;case"hex":return y>>>1;case"base64":return Nr(v).length;default:if(C)return x?-1:Rr(v).length;h=(""+h).toLowerCase(),C=!0}}a.byteLength=A;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 I(this,h,y);case"utf8":case"utf-8":return Q(this,h,y);case"ascii":return re(this,h,y);case"latin1":case"binary":return q(this,h,y);case"base64":return G(this,h,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(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?Q(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,C,U){if(St(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),C===void 0&&(C=0),U===void 0&&(U=this.length),y<0||x>h.length||C<0||U>this.length)throw new RangeError("out of range index");if(C>=U&&y>=x)return 0;if(C>=U)return-1;if(y>=x)return 1;if(y>>>=0,x>>>=0,C>>>=0,U>>>=0,this===h)return 0;let D=U-C,ge=x-y;const ze=Math.min(D,ge),Ue=this.slice(C,U),Ve=h.slice(y,x);for(let Te=0;Te<ze;++Te)if(Ue[Te]!==Ve[Te]){D=Ue[Te],ge=Ve[Te];break}return D<ge?-1:ge<D?1:0};function T(v,h,y,x,C){if(v.length===0)return-1;if(typeof y=="string"?(x=y,y=0):y>2147483647?y=2147483647:y<-2147483648&&(y=-2147483648),y=+y,Rn(y)&&(y=C?0:v.length-1),y<0&&(y=v.length+y),y>=v.length){if(C)return-1;y=v.length-1}else if(y<0)if(C)y=0;else return-1;if(typeof h=="string"&&(h=a.from(h,x)),a.isBuffer(h))return h.length===0?-1:B(v,h,y,x,C);if(typeof h=="number")return h=h&255,typeof Uint8Array.prototype.indexOf=="function"?C?Uint8Array.prototype.indexOf.call(v,h,y):Uint8Array.prototype.lastIndexOf.call(v,h,y):B(v,[h],y,x,C);throw new TypeError("val must be string, number or Buffer")}function B(v,h,y,x,C){let U=1,D=v.length,ge=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;U=2,D/=2,ge/=2,y/=2}function ze(Ve,Te){return U===1?Ve[Te]:Ve.readUInt16BE(Te*U)}let Ue;if(C){let Ve=-1;for(Ue=y;Ue<D;Ue++)if(ze(v,Ue)===ze(h,Ve===-1?0:Ue-Ve)){if(Ve===-1&&(Ve=Ue),Ue-Ve+1===ge)return Ve*U}else Ve!==-1&&(Ue-=Ue-Ve),Ve=-1}else for(y+ge>D&&(y=D-ge),Ue=y;Ue>=0;Ue--){let Ve=!0;for(let Te=0;Te<ge;Te++)if(ze(v,Ue+Te)!==ze(h,Te)){Ve=!1;break}if(Ve)return Ue}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 C=v.length-y;x?(x=Number(x),x>C&&(x=C)):x=C;const U=h.length;x>U/2&&(x=U/2);let D;for(D=0;D<x;++D){const ge=parseInt(h.substr(D*2,2),16);if(Rn(ge))return D;v[y+D]=ge}return D}function $(v,h,y,x){return At(Rr(h,v.length-y),v,y,x)}function H(v,h,y,x){return At(ds(h),v,y,x)}function M(v,h,y,x){return At(Nr(h),v,y,x)}function V(v,h,y,x){return At(z(h,v.length-y),v,y,x)}a.prototype.write=function(h,y,x,C){if(y===void 0)C="utf8",x=this.length,y=0;else if(x===void 0&&typeof y=="string")C=y,x=this.length,y=0;else if(isFinite(y))y=y>>>0,isFinite(x)?(x=x>>>0,C===void 0&&(C="utf8")):(C=x,x=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const U=this.length-y;if((x===void 0||x>U)&&(x=U),h.length>0&&(x<0||y<0)||y>this.length)throw new RangeError("Attempt to write outside buffer bounds");C||(C="utf8");let D=!1;for(;;)switch(C){case"hex":return N(this,h,y,x);case"utf8":case"utf-8":return $(this,h,y,x);case"ascii":case"latin1":case"binary":return H(this,h,y,x);case"base64":return M(this,h,y,x);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return V(this,h,y,x);default:if(D)throw new TypeError("Unknown encoding: "+C);C=(""+C).toLowerCase(),D=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function G(v,h,y){return h===0&&y===v.length?e.fromByteArray(v):e.fromByteArray(v.slice(h,y))}function Q(v,h,y){y=Math.min(v.length,y);const x=[];let C=h;for(;C<y;){const U=v[C];let D=null,ge=U>239?4:U>223?3:U>191?2:1;if(C+ge<=y){let ze,Ue,Ve,Te;switch(ge){case 1:U<128&&(D=U);break;case 2:ze=v[C+1],(ze&192)===128&&(Te=(U&31)<<6|ze&63,Te>127&&(D=Te));break;case 3:ze=v[C+1],Ue=v[C+2],(ze&192)===128&&(Ue&192)===128&&(Te=(U&15)<<12|(ze&63)<<6|Ue&63,Te>2047&&(Te<55296||Te>57343)&&(D=Te));break;case 4:ze=v[C+1],Ue=v[C+2],Ve=v[C+3],(ze&192)===128&&(Ue&192)===128&&(Ve&192)===128&&(Te=(U&15)<<18|(ze&63)<<12|(Ue&63)<<6|Ve&63,Te>65535&&Te<1114112&&(D=Te))}}D===null?(D=65533,ge=1):D>65535&&(D-=65536,x.push(D>>>10&1023|55296),D=56320|D&1023),x.push(D),C+=ge}return K(x)}const W=4096;function K(v){const h=v.length;if(h<=W)return String.fromCharCode.apply(String,v);let y="",x=0;for(;x<h;)y+=String.fromCharCode.apply(String,v.slice(x,x+=W));return y}function re(v,h,y){let x="";y=Math.min(v.length,y);for(let C=h;C<y;++C)x+=String.fromCharCode(v[C]&127);return x}function q(v,h,y){let x="";y=Math.min(v.length,y);for(let C=h;C<y;++C)x+=String.fromCharCode(v[C]);return x}function I(v,h,y){const x=v.length;(!h||h<0)&&(h=0),(!y||y<0||y>x)&&(y=x);let C="";for(let U=h;U<y;++U)C+=ni[v[U]];return C}function j(v,h,y){const x=v.slice(h,y);let C="";for(let U=0;U<x.length-1;U+=2)C+=String.fromCharCode(x[U]+x[U+1]*256);return C}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 C=this.subarray(h,y);return Object.setPrototypeOf(C,a.prototype),C};function J(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||J(h,y,this.length);let C=this[h],U=1,D=0;for(;++D<y&&(U*=256);)C+=this[h+D]*U;return C},a.prototype.readUintBE=a.prototype.readUIntBE=function(h,y,x){h=h>>>0,y=y>>>0,x||J(h,y,this.length);let C=this[h+--y],U=1;for(;y>0&&(U*=256);)C+=this[h+--y]*U;return C},a.prototype.readUint8=a.prototype.readUInt8=function(h,y){return h=h>>>0,y||J(h,1,this.length),this[h]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(h,y){return h=h>>>0,y||J(h,2,this.length),this[h]|this[h+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(h,y){return h=h>>>0,y||J(h,2,this.length),this[h]<<8|this[h+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(h,y){return h=h>>>0,y||J(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||J(h,4,this.length),this[h]*16777216+(this[h+1]<<16|this[h+2]<<8|this[h+3])},a.prototype.readBigUInt64LE=Nn(function(h){h=h>>>0,we(h,"offset");const y=this[h],x=this[h+7];(y===void 0||x===void 0)&&ke(h,this.length-8);const C=y+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24,U=this[++h]+this[++h]*2**8+this[++h]*2**16+x*2**24;return BigInt(C)+(BigInt(U)<<BigInt(32))}),a.prototype.readBigUInt64BE=Nn(function(h){h=h>>>0,we(h,"offset");const y=this[h],x=this[h+7];(y===void 0||x===void 0)&&ke(h,this.length-8);const C=y*2**24+this[++h]*2**16+this[++h]*2**8+this[++h],U=this[++h]*2**24+this[++h]*2**16+this[++h]*2**8+x;return(BigInt(C)<<BigInt(32))+BigInt(U)}),a.prototype.readIntLE=function(h,y,x){h=h>>>0,y=y>>>0,x||J(h,y,this.length);let C=this[h],U=1,D=0;for(;++D<y&&(U*=256);)C+=this[h+D]*U;return U*=128,C>=U&&(C-=Math.pow(2,8*y)),C},a.prototype.readIntBE=function(h,y,x){h=h>>>0,y=y>>>0,x||J(h,y,this.length);let C=y,U=1,D=this[h+--C];for(;C>0&&(U*=256);)D+=this[h+--C]*U;return U*=128,D>=U&&(D-=Math.pow(2,8*y)),D},a.prototype.readInt8=function(h,y){return h=h>>>0,y||J(h,1,this.length),this[h]&128?(255-this[h]+1)*-1:this[h]},a.prototype.readInt16LE=function(h,y){h=h>>>0,y||J(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||J(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||J(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||J(h,4,this.length),this[h]<<24|this[h+1]<<16|this[h+2]<<8|this[h+3]},a.prototype.readBigInt64LE=Nn(function(h){h=h>>>0,we(h,"offset");const y=this[h],x=this[h+7];(y===void 0||x===void 0)&&ke(h,this.length-8);const C=this[h+4]+this[h+5]*2**8+this[h+6]*2**16+(x<<24);return(BigInt(C)<<BigInt(32))+BigInt(y+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24)}),a.prototype.readBigInt64BE=Nn(function(h){h=h>>>0,we(h,"offset");const y=this[h],x=this[h+7];(y===void 0||x===void 0)&&ke(h,this.length-8);const C=(y<<24)+this[++h]*2**16+this[++h]*2**8+this[++h];return(BigInt(C)<<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||J(h,4,this.length),r.read(this,h,!0,23,4)},a.prototype.readFloatBE=function(h,y){return h=h>>>0,y||J(h,4,this.length),r.read(this,h,!1,23,4)},a.prototype.readDoubleLE=function(h,y){return h=h>>>0,y||J(h,8,this.length),r.read(this,h,!0,52,8)},a.prototype.readDoubleBE=function(h,y){return h=h>>>0,y||J(h,8,this.length),r.read(this,h,!1,52,8)};function O(v,h,y,x,C,U){if(!a.isBuffer(v))throw new TypeError('"buffer" argument must be a Buffer instance');if(h>C||h<U)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,C){if(h=+h,y=y>>>0,x=x>>>0,!C){const ge=Math.pow(2,8*x)-1;O(this,h,y,x,ge,0)}let U=1,D=0;for(this[y]=h&255;++D<x&&(U*=256);)this[y+D]=h/U&255;return y+x},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(h,y,x,C){if(h=+h,y=y>>>0,x=x>>>0,!C){const ge=Math.pow(2,8*x)-1;O(this,h,y,x,ge,0)}let U=x-1,D=1;for(this[y+U]=h&255;--U>=0&&(D*=256);)this[y+U]=h/D&255;return y+x},a.prototype.writeUint8=a.prototype.writeUInt8=function(h,y,x){return h=+h,y=y>>>0,x||O(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||O(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||O(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||O(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||O(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 R(v,h,y,x,C){be(h,x,C,v,y,7);let U=Number(h&BigInt(4294967295));v[y++]=U,U=U>>8,v[y++]=U,U=U>>8,v[y++]=U,U=U>>8,v[y++]=U;let D=Number(h>>BigInt(32)&BigInt(4294967295));return v[y++]=D,D=D>>8,v[y++]=D,D=D>>8,v[y++]=D,D=D>>8,v[y++]=D,y}function F(v,h,y,x,C){be(h,x,C,v,y,7);let U=Number(h&BigInt(4294967295));v[y+7]=U,U=U>>8,v[y+6]=U,U=U>>8,v[y+5]=U,U=U>>8,v[y+4]=U;let D=Number(h>>BigInt(32)&BigInt(4294967295));return v[y+3]=D,D=D>>8,v[y+2]=D,D=D>>8,v[y+1]=D,D=D>>8,v[y]=D,y+8}a.prototype.writeBigUInt64LE=Nn(function(h,y=0){return R(this,h,y,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Nn(function(h,y=0){return F(this,h,y,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(h,y,x,C){if(h=+h,y=y>>>0,!C){const ze=Math.pow(2,8*x-1);O(this,h,y,x,ze-1,-ze)}let U=0,D=1,ge=0;for(this[y]=h&255;++U<x&&(D*=256);)h<0&&ge===0&&this[y+U-1]!==0&&(ge=1),this[y+U]=(h/D>>0)-ge&255;return y+x},a.prototype.writeIntBE=function(h,y,x,C){if(h=+h,y=y>>>0,!C){const ze=Math.pow(2,8*x-1);O(this,h,y,x,ze-1,-ze)}let U=x-1,D=1,ge=0;for(this[y+U]=h&255;--U>=0&&(D*=256);)h<0&&ge===0&&this[y+U+1]!==0&&(ge=1),this[y+U]=(h/D>>0)-ge&255;return y+x},a.prototype.writeInt8=function(h,y,x){return h=+h,y=y>>>0,x||O(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||O(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||O(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||O(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||O(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=Nn(function(h,y=0){return R(this,h,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Nn(function(h,y=0){return F(this,h,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ne(v,h,y,x,C,U){if(y+x>v.length)throw new RangeError("Index out of range");if(y<0)throw new RangeError("Index out of range")}function ae(v,h,y,x,C){return h=+h,y=y>>>0,C||ne(v,h,y,4),r.write(v,h,y,x,23,4),y+4}a.prototype.writeFloatLE=function(h,y,x){return ae(this,h,y,!0,x)},a.prototype.writeFloatBE=function(h,y,x){return ae(this,h,y,!1,x)};function le(v,h,y,x,C){return h=+h,y=y>>>0,C||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,C){if(!a.isBuffer(h))throw new TypeError("argument should be a Buffer");if(x||(x=0),!C&&C!==0&&(C=this.length),y>=h.length&&(y=h.length),y||(y=0),C>0&&C<x&&(C=x),C===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(C<0)throw new RangeError("sourceEnd out of bounds");C>this.length&&(C=this.length),h.length-y<C-x&&(C=h.length-y+x);const U=C-x;return this===h&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(y,x,C):Uint8Array.prototype.set.call(h,this.subarray(x,C),y),U},a.prototype.fill=function(h,y,x,C){if(typeof h=="string"){if(typeof y=="string"?(C=y,y=0,x=this.length):typeof x=="string"&&(C=x,x=this.length),C!==void 0&&typeof C!="string")throw new TypeError("encoding must be a string");if(typeof C=="string"&&!a.isEncoding(C))throw new TypeError("Unknown encoding: "+C);if(h.length===1){const D=h.charCodeAt(0);(C==="utf8"&&D<128||C==="latin1")&&(h=D)}}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 U;if(typeof h=="number")for(U=y;U<x;++U)this[U]=h;else{const D=a.isBuffer(h)?h:a.from(h,C),ge=D.length;if(ge===0)throw new TypeError('The value "'+h+'" is invalid for argument "value"');for(U=0;U<x-y;++U)this[U+y]=D[U%ge]}return this};const ue={};function oe(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(C){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:C,writable:!0})}toString(){return`${this.name} [${v}]: ${this.message}`}}}oe("ERR_BUFFER_OUT_OF_BOUNDS",function(v){return v?`${v} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),oe("ERR_INVALID_ARG_TYPE",function(v,h){return`The "${v}" argument must be of type number. Received type ${typeof h}`},TypeError),oe("ERR_OUT_OF_RANGE",function(v,h,y){let x=`The value of "${v}" is out of range.`,C=y;return Number.isInteger(y)&&Math.abs(y)>2**32?C=ie(String(y)):typeof y=="bigint"&&(C=String(y),(y>BigInt(2)**BigInt(32)||y<-(BigInt(2)**BigInt(32)))&&(C=ie(C)),C+="n"),x+=` It must be ${h}. Received ${C}`,x},RangeError);function ie(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 me(v,h,y){we(h,"offset"),(v[h]===void 0||v[h+y]===void 0)&&ke(h,v.length-(y+1))}function be(v,h,y,x,C,U){if(v>y||v<h){const D=typeof h=="bigint"?"n":"";let ge;throw h===0||h===BigInt(0)?ge=`>= 0${D} and < 2${D} ** ${(U+1)*8}${D}`:ge=`>= -(2${D} ** ${(U+1)*8-1}${D}) and < 2 ** ${(U+1)*8-1}${D}`,new ue.ERR_OUT_OF_RANGE("value",ge,v)}me(x,C,U)}function we(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?(we(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 tt=/[^+/0-9A-Za-z-_]/g;function Oe(v){if(v=v.split("=")[0],v=v.trim().replace(tt,""),v.length<2)return"";for(;v.length%4!==0;)v=v+"=";return v}function Rr(v,h){h=h||1/0;let y;const x=v.length;let C=null;const U=[];for(let D=0;D<x;++D){if(y=v.charCodeAt(D),y>55295&&y<57344){if(!C){if(y>56319){(h-=3)>-1&&U.push(239,191,189);continue}else if(D+1===x){(h-=3)>-1&&U.push(239,191,189);continue}C=y;continue}if(y<56320){(h-=3)>-1&&U.push(239,191,189),C=y;continue}y=(C-55296<<10|y-56320)+65536}else C&&(h-=3)>-1&&U.push(239,191,189);if(C=null,y<128){if((h-=1)<0)break;U.push(y)}else if(y<2048){if((h-=2)<0)break;U.push(y>>6|192,y&63|128)}else if(y<65536){if((h-=3)<0)break;U.push(y>>12|224,y>>6&63|128,y&63|128)}else if(y<1114112){if((h-=4)<0)break;U.push(y>>18|240,y>>12&63|128,y>>6&63|128,y&63|128)}else throw new Error("Invalid code point")}return U}function ds(v){const h=[];for(let y=0;y<v.length;++y)h.push(v.charCodeAt(y)&255);return h}function z(v,h){let y,x,C;const U=[];for(let D=0;D<v.length&&!((h-=2)<0);++D)y=v.charCodeAt(D),x=y>>8,C=y%256,U.push(C),U.push(x);return U}function Nr(v){return e.toByteArray(Oe(v))}function At(v,h,y,x){let C;for(C=0;C<x&&!(C+y>=h.length||C>=v.length);++C)h[C+y]=v[C];return C}function St(v,h){return v instanceof h||v!=null&&v.constructor!=null&&v.constructor.name!=null&&v.constructor.name===h.name}function Rn(v){return v!==v}const ni=function(){const v="0123456789abcdef",h=new Array(256);for(let y=0;y<16;++y){const x=y*16;for(let C=0;C<16;++C)h[x+C]=v[y]+v[C]}return h}();function Nn(v){return typeof BigInt>"u"?i6:v}function i6(){throw new Error("BigInt not supported")}})(Qs);var ea={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}};ea.Null=ea.Nil;for(var A0 in ea)ea[A0].toJSON=(function(t){return t}).bind(null,A0);var Nh=ea,Is=Nh;function $1(t){return t.name||t.toString().match(/function (.*?)\s*\(/)[1]}function Uh(t){return Is.Nil(t)?"":$1(t.constructor)}function p3(t){return Is.Function(t)?"":Is.String(t)?JSON.stringify(t):t&&Is.Object(t)?"":t}function Mh(t,e){Error.captureStackTrace&&Error.captureStackTrace(t,e)}function Sc(t){return Is.Function(t)?t.toJSON?t.toJSON():$1(t):Is.Array(t)?"Array":t&&Is.Object(t)?"Object":t!==void 0?t:""}function R1(t,e,r){var n=p3(e);return"Expected "+Sc(t)+", got"+(r!==""?" "+r:"")+(n!==""?" "+n:"")}function Pn(t,e,r){r=r||Uh(e),this.message=R1(t,e,r),Mh(this,Pn),this.__type=t,this.__value=e,this.__valueTypeName=r}Pn.prototype=Object.create(Error.prototype);Pn.prototype.constructor=Pn;function y3(t,e,r,n,s){var i='" of type ';return e==="key"&&(i='" with key type '),R1('property "'+Sc(r)+i+Sc(t),n,s)}function ki(t,e,r,n,s){t?(s=s||Uh(n),this.message=y3(t,r,e,n,s)):this.message='Unexpected property "'+e+'"',Mh(this,Pn),this.__label=r,this.__property=e,this.__type=t,this.__value=n,this.__valueTypeName=s}ki.prototype=Object.create(Error.prototype);ki.prototype.constructor=Pn;function m3(t,e){return new Pn(t,{},e)}function b3(t,e,r){return t instanceof ki?(e=e+"."+t.__property,t=new ki(t.__type,e,t.__label,t.__value,t.__valueTypeName)):t instanceof Pn&&(t=new ki(t.__type,e,r,t.__value,t.__valueTypeName)),Mh(t),t}var N1={TfTypeError:Pn,TfPropertyTypeError:ki,tfCustomError:m3,tfSubError:b3,tfJSON:Sc,getValueTypeName:Uh},Qu,S0;function g3(){if(S0)return Qu;S0=1;var t=Nh,e=N1;function r(T){return Buffer.isBuffer(T)}function n(T){return typeof T=="string"&&/^([0-9a-f]{2})+$/i.test(T)}function s(T,B){var N=T.toJSON();function $(H){if(!T(H))return!1;if(H.length===B)return!0;throw e.tfCustomError(N+"(Length: "+B+")",N+"(Length: "+H.length+")")}return $.toJSON=function(){return N},$}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,B,N){N=N||t.Number;function $(H,M){return N(H,M)&&H>T&&H<B}return $.toJSON=function(){return`${N.toJSON()} between [${T}, ${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 b(T){return typeof T=="number"&&T>=-f&&T<=f&&Math.floor(T)===T}function E(T){return(T&255)===T}function S(T){return(T&65535)===T}function P(T){return T>>>0===T}function A(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:b,Range:u,StringN:c,UInt8:E,UInt16:S,UInt32:P,UInt53:A};for(var k in w)w[k].toJSON=(function(T){return T}).bind(null,k);return Qu=w,Qu}var ka=N1,ft=Nh,sn=ka.tfJSON,U1=ka.TfTypeError,M1=ka.TfPropertyTypeError,so=ka.tfSubError,w3=ka.getValueTypeName,gn={arrayOf:function(e,r){e=qr(e),r=r||{};function n(s,i){return!ft.Array(s)||ft.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 Pt(e,o,i)}catch(c){throw so(c,a)}})}return n.toJSON=function(){var s="["+sn(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=qr(e);function r(n,s){return ft.Nil(n)||e(n,s,t)}return r.toJSON=function(){return"?"+sn(e)},r},map:function(e,r){e=qr(e),r&&(r=qr(r));function n(s,i){if(!ft.Object(s)||ft.Nil(s))return!1;for(var o in s){try{r&&Pt(r,o,i)}catch(c){throw so(c,o,"key")}try{var a=s[o];Pt(e,a,i)}catch(c){throw so(c,o)}}return!0}return r?n.toJSON=function(){return"{"+sn(r)+": "+sn(e)+"}"}:n.toJSON=function(){return"{"+sn(e)+"}"},n},object:function(e){var r={};for(var n in e)r[n]=qr(e[n]);function s(i,o){if(!ft.Object(i)||ft.Nil(i))return!1;var a;try{for(a in r){var c=r[a],u=i[a];Pt(c,u,o)}}catch(f){throw so(f,a)}if(o){for(a in i)if(!r[a])throw new M1(void 0,a)}return!0}return s.toJSON=function(){return sn(r)},s},anyOf:function(){var e=[].slice.call(arguments).map(qr);function r(n,s){return e.some(function(i){try{return Pt(i,n,s)}catch{return!1}})}return r.toJSON=function(){return e.map(sn).join("|")},r},allOf:function(){var e=[].slice.call(arguments).map(qr);function r(n,s){return e.every(function(i){try{return Pt(i,n,s)}catch{return!1}})}return r.toJSON=function(){return e.map(sn).join(" & ")},r},quacksLike:function(e){function r(n){return e===w3(n)}return r.toJSON=function(){return e},r},tuple:function(){var e=[].slice.call(arguments).map(qr);function r(n,s){return ft.Nil(n)||ft.Nil(n.length)||s&&n.length!==e.length?!1:e.every(function(i,o){try{return Pt(i,n[o],s)}catch(a){throw so(a,o)}})}return r.toJSON=function(){return"("+e.map(sn).join(", ")+")"},r},value:function(e){function r(n){return n===e}return r.toJSON=function(){return e},r}};gn.oneOf=gn.anyOf;function qr(t){if(ft.String(t))return t[0]==="?"?gn.maybe(t.slice(1)):ft[t]||gn.quacksLike(t);if(t&&ft.Object(t)){if(ft.Array(t)){if(t.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return gn.arrayOf(t[0])}return gn.object(t)}else if(ft.Function(t))return t;return gn.value(t)}function Pt(t,e,r,n){if(ft.Function(t)){if(t(e,r))return!0;throw new U1(n||t,e)}return Pt(qr(t),e,r)}for(var rs in ft)Pt[rs]=ft[rs];for(rs in gn)Pt[rs]=gn[rs];var x0=g3();for(rs in x0)Pt[rs]=x0[rs];Pt.compile=qr;Pt.TfTypeError=U1;Pt.TfPropertyTypeError=M1;var v3=Pt;(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=Qs;t.typeforce=v3;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})(Et);var Ta={},lt={};Object.defineProperty(lt,"__esModule",{value:!0});lt.BufferReader=lt.BufferWriter=lt.cloneBuffer=lt.reverseBuffer=lt.writeUInt64LE=lt.readUInt64LE=lt.varuint=void 0;const Os=Et,{typeforce:F1}=Os,ta=gm;lt.varuint=ta;function j1(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 L1(t,e){const r=t.readUInt32LE(e);let n=t.readUInt32LE(e+4);return n*=4294967296,j1(n+r,9007199254740991),n+r}lt.readUInt64LE=L1;function H1(t,e,r){return j1(e,9007199254740991),t.writeInt32LE(e&-1,r),t.writeUInt32LE(Math.floor(e/4294967296),r+4),r+8}lt.writeUInt64LE=H1;function E3(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}lt.reverseBuffer=E3;function A3(t){const e=Buffer.allocUnsafe(t.length);return t.copy(e),e}lt.cloneBuffer=A3;class Fh{static withCapacity(e){return new Fh(Buffer.alloc(e))}constructor(e,r=0){this.buffer=e,this.offset=r,F1(Os.tuple(Os.Buffer,Os.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=H1(this.buffer,e,this.offset)}writeVarInt(e){ta.encode(e,this.buffer,this.offset),this.offset+=ta.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}`)}}lt.BufferWriter=Fh;class S3{constructor(e,r=0){this.buffer=e,this.offset=r,F1(Os.tuple(Os.Buffer,Os.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=L1(this.buffer,this.offset);return this.offset+=8,e}readVarInt(){const e=ta.decode(this.buffer,this.offset);return this.offset+=ta.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}}lt.BufferReader=S3;var ls={};const x3=B1(g8);var Ni={},Nt={},Ot={},jh={},ou={};Object.defineProperty(ou,"__esModule",{value:!0});ou.crypto=void 0;ou.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=b,t.bytesToHex=P,t.hexToBytes=k,t.asyncLoop=B,t.utf8ToBytes=N,t.bytesToUtf8=$,t.toBytes=H,t.kdfInputToBytes=M,t.concatBytes=V,t.checkOpts=G,t.createHasher=W,t.createOptHasher=K,t.createXOFer=re,t.randomBytes=q;const e=ou;function r(I){return I instanceof Uint8Array||ArrayBuffer.isView(I)&&I.constructor.name==="Uint8Array"}function n(I){if(!Number.isSafeInteger(I)||I<0)throw new Error("positive integer expected, got "+I)}function s(I,...j){if(!r(I))throw new Error("Uint8Array expected");if(j.length>0&&!j.includes(I.length))throw new Error("Uint8Array expected of length "+j+", got length="+I.length)}function i(I){if(typeof I!="function"||typeof I.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");n(I.outputLen),n(I.blockLen)}function o(I,j=!0){if(I.destroyed)throw new Error("Hash instance has been destroyed");if(j&&I.finished)throw new Error("Hash#digest() has already been called")}function a(I,j){s(I);const J=j.outputLen;if(I.length<J)throw new Error("digestInto() expects output buffer of length at least "+J)}function c(I){return new Uint8Array(I.buffer,I.byteOffset,I.byteLength)}function u(I){return new Uint32Array(I.buffer,I.byteOffset,Math.floor(I.byteLength/4))}function f(...I){for(let j=0;j<I.length;j++)I[j].fill(0)}function l(I){return new DataView(I.buffer,I.byteOffset,I.byteLength)}function p(I,j){return I<<32-j|I>>>j}function d(I,j){return I<<j|I>>>32-j>>>0}t.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function m(I){return I<<24&4278190080|I<<8&16711680|I>>>8&65280|I>>>24&255}t.swap8IfBE=t.isLE?I=>I:I=>m(I),t.byteSwapIfBE=t.swap8IfBE;function b(I){for(let j=0;j<I.length;j++)I[j]=m(I[j]);return I}t.swap32IfBE=t.isLE?I=>I:b;const E=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",S=Array.from({length:256},(I,j)=>j.toString(16).padStart(2,"0"));function P(I){if(s(I),E)return I.toHex();let j="";for(let J=0;J<I.length;J++)j+=S[I[J]];return j}const A={_0:48,_9:57,A:65,F:70,a:97,f:102};function w(I){if(I>=A._0&&I<=A._9)return I-A._0;if(I>=A.A&&I<=A.F)return I-(A.A-10);if(I>=A.a&&I<=A.f)return I-(A.a-10)}function k(I){if(typeof I!="string")throw new Error("hex string expected, got "+typeof I);if(E)return Uint8Array.fromHex(I);const j=I.length,J=j/2;if(j%2)throw new Error("hex string expected, got unpadded hex of length "+j);const O=new Uint8Array(J);for(let R=0,F=0;R<J;R++,F+=2){const ne=w(I.charCodeAt(F)),ae=w(I.charCodeAt(F+1));if(ne===void 0||ae===void 0){const le=I[F]+I[F+1];throw new Error('hex string expected, got non-hex character "'+le+'" at index '+F)}O[R]=ne*16+ae}return O}const T=async()=>{};t.nextTick=T;async function B(I,j,J){let O=Date.now();for(let R=0;R<I;R++){J(R);const F=Date.now()-O;F>=0&&F<j||(await(0,t.nextTick)(),O+=F)}}function N(I){if(typeof I!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(I))}function $(I){return new TextDecoder().decode(I)}function H(I){return typeof I=="string"&&(I=N(I)),s(I),I}function M(I){return typeof I=="string"&&(I=N(I)),s(I),I}function V(...I){let j=0;for(let O=0;O<I.length;O++){const R=I[O];s(R),j+=R.length}const J=new Uint8Array(j);for(let O=0,R=0;O<I.length;O++){const F=I[O];J.set(F,R),R+=F.length}return J}function G(I,j){if(j!==void 0&&{}.toString.call(j)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(I,j)}class Q{}t.Hash=Q;function W(I){const j=O=>I().update(H(O)).digest(),J=I();return j.outputLen=J.outputLen,j.blockLen=J.blockLen,j.create=()=>I(),j}function K(I){const j=(O,R)=>I(R).update(H(O)).digest(),J=I({});return j.outputLen=J.outputLen,j.blockLen=J.blockLen,j.create=O=>I(O),j}function re(I){const j=(O,R)=>I(R).update(H(O)).digest(),J=I({});return j.outputLen=J.outputLen,j.blockLen=J.blockLen,j.create=O=>I(O),j}t.wrapConstructor=W,t.wrapConstructorWithOpts=K,t.wrapXOFConstructorWithOpts=re;function q(I=32){if(e.crypto&&typeof e.crypto.getRandomValues=="function")return e.crypto.getRandomValues(new Uint8Array(I));if(e.crypto&&typeof e.crypto.randomBytes=="function")return Uint8Array.from(e.crypto.randomBytes(I));throw new Error("crypto.getRandomValues must be defined")}})(jh);Object.defineProperty(Ot,"__esModule",{value:!0});Ot.SHA512_IV=Ot.SHA384_IV=Ot.SHA224_IV=Ot.SHA256_IV=Ot.HashMD=void 0;Ot.setBigUint64=D1;Ot.Chi=k3;Ot.Maj=T3;const Fr=jh;function D1(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 k3(t,e,r){return t&e^~t&r}function T3(t,e,r){return t&e^t&r^e&r}class _3 extends Fr.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,Fr.createView)(this.buffer)}update(e){(0,Fr.aexists)(this),e=(0,Fr.toBytes)(e),(0,Fr.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,Fr.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,Fr.aexists)(this),(0,Fr.aoutput)(e,this),this.finished=!0;const{buffer:r,view:n,blockLen:s,isLE:i}=this;let{pos:o}=this;r[o++]=128,(0,Fr.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;D1(n,s-8,BigInt(this.length*8),i),this.process(n,0);const a=(0,Fr.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()}}Ot.HashMD=_3;Ot.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Ot.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);Ot.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);Ot.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);Object.defineProperty(Nt,"__esModule",{value:!0});Nt.ripemd160=Nt.RIPEMD160=Nt.md5=Nt.MD5=Nt.sha1=Nt.SHA1=void 0;const Bs=Ot,dt=jh,ui=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),jn=new Uint32Array(80);class z1 extends Bs.HashMD{constructor(){super(64,20,8,!1),this.A=ui[0]|0,this.B=ui[1]|0,this.C=ui[2]|0,this.D=ui[3]|0,this.E=ui[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)jn[c]=e.getUint32(r,!1);for(let c=16;c<80;c++)jn[c]=(0,dt.rotl)(jn[c-3]^jn[c-8]^jn[c-14]^jn[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,Bs.Chi)(s,i,o),f=1518500249):c<40?(u=s^i^o,f=1859775393):c<60?(u=(0,Bs.Maj)(s,i,o),f=2400959708):(u=s^i^o,f=3395469782);const l=(0,dt.rotl)(n,5)+u+a+f+jn[c]|0;a=o,o=i,i=(0,dt.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,dt.clean)(jn)}destroy(){this.set(0,0,0,0,0),(0,dt.clean)(this.buffer)}}Nt.SHA1=z1;Nt.sha1=(0,dt.createHasher)(()=>new z1);const P3=Math.pow(2,32),I3=Array.from({length:64},(t,e)=>Math.floor(P3*Math.abs(Math.sin(e+1)))),za=ui.slice(0,4),ef=new Uint32Array(16);class V1 extends Bs.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)ef[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,Bs.Chi)(s,i,o),u=a,f=[7,12,17,22]):a<32?(c=(0,Bs.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+I3[a]+ef[u],n=o,o=i,i=s,s=s+(0,dt.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,dt.clean)(ef)}destroy(){this.set(0,0,0,0),(0,dt.clean)(this.buffer)}}Nt.MD5=V1;Nt.md5=(0,dt.createHasher)(()=>new V1);const O3=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),q1=Uint8Array.from(new Array(16).fill(0).map((t,e)=>e)),B3=q1.map(t=>(9*t+5)%16),G1=(()=>{const r=[[q1],[B3]];for(let n=0;n<4;n++)for(let s of r)s.push(s[n].map(i=>O3[i]));return r})(),W1=G1[0],K1=G1[1],Z1=[[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)),C3=W1.map((t,e)=>t.map(r=>Z1[e][r])),$3=K1.map((t,e)=>t.map(r=>Z1[e][r])),R3=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),N3=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function k0(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 Va=new Uint32Array(16);class Y1 extends Bs.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)Va[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,b=R3[d],E=N3[d],S=W1[d],P=K1[d],A=C3[d],w=$3[d];for(let k=0;k<16;k++){const T=(0,dt.rotl)(n+k0(d,i,a,u)+Va[S[k]]+b,A[k])+l|0;n=l,l=u,u=(0,dt.rotl)(a,10)|0,a=i,i=T}for(let k=0;k<16;k++){const T=(0,dt.rotl)(s+k0(m,o,c,f)+Va[P[k]]+E,w[k])+p|0;s=p,p=f,f=(0,dt.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,dt.clean)(Va)}destroy(){this.destroyed=!0,(0,dt.clean)(this.buffer),this.set(0,0,0,0,0)}}Nt.RIPEMD160=Y1;Nt.ripemd160=(0,dt.createHasher)(()=>new Y1);Object.defineProperty(Ni,"__esModule",{value:!0});Ni.sha1=Ni.SHA1=void 0;const X1=Nt;Ni.SHA1=X1.SHA1;Ni.sha1=X1.sha1;const J1=B1(pE);(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=x3,r=Ni,n=J1;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})(ls);var tf={},xn={};Object.defineProperty(xn,"__esModule",{value:!0});xn.encode=xn.decode=xn.check=void 0;function U3(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))}xn.check=U3;function M3(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)}}xn.decode=M3;function F3(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}xn.encode=F3;var zs={};Object.defineProperty(zs,"__esModule",{value:!0});zs.REVERSE_OPS=zs.OPS=void 0;const yd={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};zs.OPS=yd;const Q1={};zs.REVERSE_OPS=Q1;for(const t of Object.keys(yd)){const e=yd[t];Q1[e]=t}var ns={};Object.defineProperty(ns,"__esModule",{value:!0});ns.decode=ns.encode=ns.encodingLength=void 0;const Qn=zs;function ew(t){return t<Qn.OPS.OP_PUSHDATA1?1:t<=255?2:t<=65535?3:5}ns.encodingLength=ew;function j3(t,e,r){const n=ew(e);return n===1?t.writeUInt8(e,r):n===2?(t.writeUInt8(Qn.OPS.OP_PUSHDATA1,r),t.writeUInt8(e,r+1)):n===3?(t.writeUInt8(Qn.OPS.OP_PUSHDATA2,r),t.writeUInt16LE(e,r+1)):(t.writeUInt8(Qn.OPS.OP_PUSHDATA4,r),t.writeUInt32LE(e,r+1)),n}ns.encode=j3;function L3(t,e){const r=t.readUInt8(e);let n,s;if(r<Qn.OPS.OP_PUSHDATA1)n=r,s=1;else if(r===Qn.OPS.OP_PUSHDATA1){if(e+2>t.length)return null;n=t.readUInt8(e+1),s=2}else if(r===Qn.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!==Qn.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");n=t.readUInt32LE(e+1),s=5}return{opcode:r,number:n,size:s}}ns.decode=L3;var Ui={};Object.defineProperty(Ui,"__esModule",{value:!0});Ui.encode=Ui.decode=void 0;function H3(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}Ui.decode=H3;function D3(t){return t>2147483647?5:t>8388607?4:t>32767?3:t>127?2:t>0?1:0}function z3(t){let e=Math.abs(t);const r=D3(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}Ui.encode=z3;var ys={},T0;function V3(){if(T0)return ys;T0=1,Object.defineProperty(ys,"__esModule",{value:!0}),ys.encode=ys.decode=void 0;const t=xn,e=Qt(),r=Et,{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}}ys.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 ys.encode=c,ys}var _0;function Qt(){return _0||(_0=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=xn,r=zs;Object.defineProperty(t,"OPS",{enumerable:!0,get:function(){return r.OPS}});const n=ns,s=Ui,i=V3(),o=Et,{typeforce:a}=o,c=r.OPS.OP_RESERVED;function u($){return o.Number($)&&($===r.OPS.OP_0||$>=r.OPS.OP_1&&$<=r.OPS.OP_16||$===r.OPS.OP_1NEGATE)}function f($){return o.Buffer($)||u($)}function l($){return o.Array($)&&$.every(f)}t.isPushOnly=l;function p($){return $.length-$.filter(f).length}t.countNonPushOnlyOPs=p;function d($){if($.length===0)return r.OPS.OP_0;if($.length===1){if($[0]>=1&&$[0]<=16)return c+$[0];if($[0]===129)return r.OPS.OP_1NEGATE}}function m($){return Buffer.isBuffer($)}function b($){return o.Array($)}function E($){return Buffer.isBuffer($)}function S($){if(m($))return $;a(o.Array,$);const H=$.reduce((G,Q)=>E(Q)?Q.length===1&&d(Q)!==void 0?G+1:G+n.encodingLength(Q.length)+Q.length:G+1,0),M=Buffer.allocUnsafe(H);let V=0;if($.forEach(G=>{if(E(G)){const Q=d(G);if(Q!==void 0){M.writeUInt8(Q,V),V+=1;return}V+=n.encode(M,G.length,V),G.copy(M,V),V+=G.length}else M.writeUInt8(G,V),V+=1}),V!==M.length)throw new Error("Could not decode chunks");return M}t.compile=S;function P($){if(b($))return $;a(o.Buffer,$);const H=[];let M=0;for(;M<$.length;){const V=$[M];if(V>r.OPS.OP_0&&V<=r.OPS.OP_PUSHDATA4){const G=n.decode($,M);if(G===null||(M+=G.size,M+G.number>$.length))return null;const Q=$.slice(M,M+G.number);M+=G.number;const W=d(Q);W!==void 0?H.push(W):H.push(Q)}else H.push(V),M+=1}return H}t.decompile=P;function A($){if(m($)&&($=P($)),!$)throw new Error("Could not convert invalid chunks to ASM");return $.map(H=>{if(E(H)){const M=d(H);if(M===void 0)return H.toString("hex");H=M}return r.REVERSE_OPS[H]}).join(" ")}t.toASM=A;function w($){return a(o.String,$),S($.split(" ").map(H=>r.OPS[H]!==void 0?r.OPS[H]:(a(o.Hex,H),Buffer.from(H,"hex"))))}t.fromASM=w;function k($){return $=P($),a(l,$),$.map(H=>E(H)?H:H===r.OPS.OP_0?Buffer.allocUnsafe(0):s.encode(H-c))}t.toStack=k;function T($){return o.isPoint($)}t.isCanonicalPubKey=T;function B($){const H=$&-129;return H>0&&H<4}t.isDefinedHashType=B;function N($){return!Buffer.isBuffer($)||!B($[$.length-1])?!1:e.check($.slice(0,-1))}t.isCanonicalScriptSignature=N,t.number=s,t.signature=i}(tf)),tf}Object.defineProperty(Ta,"__esModule",{value:!0});Ta.Transaction=void 0;const Ye=lt,xt=ls,P0=Qt(),q3=Qt(),Ee=Et,{typeforce:jr}=Ee;function zr(t){const e=t.length;return Ye.varuint.encodingLength(e)+e}function G3(t){const e=t.length;return Ye.varuint.encodingLength(e)+t.reduce((r,n)=>r+zr(n),0)}const qn=Buffer.allocUnsafe(0),rf=[],nf=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),I0=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),W3=Buffer.from("ffffffffffffffff","hex"),K3={script:qn,valueBuffer:W3};function Z3(t){return t.value!==void 0}let $r=class _e{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(e,r){const n=new Ye.BufferReader(e),s=new _e;s.version=n.readInt32();const i=n.readUInt8(),o=n.readUInt8();let a=!1;i===_e.ADVANCED_TRANSACTION_MARKER&&o===_e.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:rf});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 _e.fromBuffer(Buffer.from(e,"hex"),!1)}static isCoinbaseHash(e){jr(Ee.Hash256bit,e);for(let r=0;r<32;++r)if(e[r]!==0)return!1;return!0}isCoinbase(){return this.ins.length===1&&_e.isCoinbaseHash(this.ins[0].hash)}addInput(e,r,n,s){return jr(Ee.tuple(Ee.Hash256bit,Ee.UInt32,Ee.maybe(Ee.UInt32),Ee.maybe(Ee.Buffer)),arguments),Ee.Null(n)&&(n=_e.DEFAULT_SEQUENCE),this.ins.push({hash:e,index:r,script:s||qn,sequence:n,witness:rf})-1}addOutput(e,r){return jr(Ee.tuple(Ee.Buffer,Ee.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=rf})}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)+Ye.varuint.encodingLength(this.ins.length)+Ye.varuint.encodingLength(this.outs.length)+this.ins.reduce((n,s)=>n+40+zr(s.script),0)+this.outs.reduce((n,s)=>n+8+zr(s.script),0)+(r?this.ins.reduce((n,s)=>n+G3(s.witness),0):0)}clone(){const e=new _e;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(jr(Ee.tuple(Ee.UInt32,Ee.Buffer,Ee.Number),arguments),e>=this.ins.length)return I0;const s=P0.compile(P0.decompile(r).filter(a=>a!==q3.OPS.OP_CODESEPARATOR)),i=this.clone();if((n&31)===_e.SIGHASH_NONE)i.outs=[],i.ins.forEach((a,c)=>{c!==e&&(a.sequence=0)});else if((n&31)===_e.SIGHASH_SINGLE){if(e>=this.outs.length)return I0;i.outs.length=e+1;for(let a=0;a<e;a++)i.outs[a]=K3;i.ins.forEach((a,c)=>{c!==e&&(a.sequence=0)})}n&_e.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),xt.hash256(o)}hashForWitnessV1(e,r,n,s,i,o){if(jr(Ee.tuple(Ee.UInt32,jr.arrayOf(Ee.Buffer),jr.arrayOf(Ee.Satoshi),Ee.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===_e.SIGHASH_DEFAULT?_e.SIGHASH_ALL:s&_e.SIGHASH_OUTPUT_MASK,u=(s&_e.SIGHASH_INPUT_MASK)===_e.SIGHASH_ANYONECANPAY,f=a===_e.SIGHASH_NONE,l=a===_e.SIGHASH_SINGLE;let p=qn,d=qn,m=qn,b=qn,E=qn;if(!u){let w=Ye.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(k=>{w.writeSlice(k.hash),w.writeUInt32(k.index)}),p=xt.sha256(w.end()),w=Ye.BufferWriter.withCapacity(8*this.ins.length),n.forEach(k=>w.writeUInt64(k)),d=xt.sha256(w.end()),w=Ye.BufferWriter.withCapacity(r.map(zr).reduce((k,T)=>k+T)),r.forEach(k=>w.writeVarSlice(k)),m=xt.sha256(w.end()),w=Ye.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(k=>w.writeUInt32(k.sequence)),b=xt.sha256(w.end())}if(f||l){if(l&&e<this.outs.length){const w=this.outs[e],k=Ye.BufferWriter.withCapacity(8+zr(w.script));k.writeUInt64(w.value),k.writeVarSlice(w.script),E=xt.sha256(k.end())}}else{const w=this.outs.map(T=>8+zr(T.script)).reduce((T,B)=>T+B),k=Ye.BufferWriter.withCapacity(w);this.outs.forEach(T=>{k.writeUInt64(T.value),k.writeVarSlice(T.script)}),E=xt.sha256(k.end())}const S=(i?2:0)+(o?1:0),P=174-(u?49:0)-(f?32:0)+(o?32:0)+(i?37:0),A=Ye.BufferWriter.withCapacity(P);if(A.writeUInt8(s),A.writeInt32(this.version),A.writeUInt32(this.locktime),A.writeSlice(p),A.writeSlice(d),A.writeSlice(m),A.writeSlice(b),f||l||A.writeSlice(E),A.writeUInt8(S),u){const w=this.ins[e];A.writeSlice(w.hash),A.writeUInt32(w.index),A.writeUInt64(n[e]),A.writeVarSlice(r[e]),A.writeUInt32(w.sequence)}else A.writeUInt32(e);if(o){const w=Ye.BufferWriter.withCapacity(zr(o));w.writeVarSlice(o),A.writeSlice(xt.sha256(w.end()))}return l&&A.writeSlice(E),i&&(A.writeSlice(i),A.writeUInt8(0),A.writeUInt32(4294967295)),xt.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),A.end()]))}hashForWitnessV0(e,r,n,s){jr(Ee.tuple(Ee.UInt32,Ee.Buffer,Ee.Satoshi,Ee.UInt32),arguments);let i=Buffer.from([]),o,a=nf,c=nf,u=nf;if(s&_e.SIGHASH_ANYONECANPAY||(i=Buffer.allocUnsafe(36*this.ins.length),o=new Ye.BufferWriter(i,0),this.ins.forEach(l=>{o.writeSlice(l.hash),o.writeUInt32(l.index)}),c=xt.hash256(i)),!(s&_e.SIGHASH_ANYONECANPAY)&&(s&31)!==_e.SIGHASH_SINGLE&&(s&31)!==_e.SIGHASH_NONE&&(i=Buffer.allocUnsafe(4*this.ins.length),o=new Ye.BufferWriter(i,0),this.ins.forEach(l=>{o.writeUInt32(l.sequence)}),u=xt.hash256(i)),(s&31)!==_e.SIGHASH_SINGLE&&(s&31)!==_e.SIGHASH_NONE){const l=this.outs.reduce((p,d)=>p+8+zr(d.script),0);i=Buffer.allocUnsafe(l),o=new Ye.BufferWriter(i,0),this.outs.forEach(p=>{o.writeUInt64(p.value),o.writeVarSlice(p.script)}),a=xt.hash256(i)}else if((s&31)===_e.SIGHASH_SINGLE&&e<this.outs.length){const l=this.outs[e];i=Buffer.allocUnsafe(8+zr(l.script)),o=new Ye.BufferWriter(i,0),o.writeUInt64(l.value),o.writeVarSlice(l.script),a=xt.hash256(i)}i=Buffer.allocUnsafe(156+zr(r)),o=new Ye.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),xt.hash256(i)}getHash(e){return e&&this.isCoinbase()?Buffer.alloc(32,0):xt.hash256(this.__toBuffer(void 0,void 0,e))}getId(){return(0,Ye.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){jr(Ee.tuple(Ee.Number,Ee.Buffer),arguments),this.ins[e].script=r}setWitness(e,r){jr(Ee.tuple(Ee.Number,[Ee.Buffer]),arguments),this.ins[e].witness=r}__toBuffer(e,r,n=!1){e||(e=Buffer.allocUnsafe(this.byteLength(n)));const s=new Ye.BufferWriter(e,r||0);s.writeInt32(this.version);const i=n&&this.hasWitnesses();return i&&(s.writeUInt8(_e.ADVANCED_TRANSACTION_MARKER),s.writeUInt8(_e.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=>{Z3(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}};Ta.Transaction=$r;$r.DEFAULT_SEQUENCE=4294967295;$r.SIGHASH_DEFAULT=0;$r.SIGHASH_ALL=1;$r.SIGHASH_NONE=2;$r.SIGHASH_SINGLE=3;$r.SIGHASH_ANYONECANPAY=128;$r.SIGHASH_OUTPUT_MASK=3;$r.SIGHASH_INPUT_MASK=128;$r.ADVANCED_TRANSACTION_MARKER=0;$r.ADVANCED_TRANSACTION_FLAG=1;var Pe={},_a={};Object.defineProperty(_a,"__esModule",{value:!0});const Y3=9007199254740991;function Lh(t){if(t<0||t>Y3||t%1!==0)throw new RangeError("value out of range")}function po(t,e,r){if(Lh(t),e||(e=Buffer.allocUnsafe(tw(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(po,{bytes:1})):t<=65535?(e.writeUInt8(253,r),e.writeUInt16LE(t,r+1),Object.assign(po,{bytes:3})):t<=4294967295?(e.writeUInt8(254,r),e.writeUInt32LE(t,r+1),Object.assign(po,{bytes:5})):(e.writeUInt8(255,r),e.writeUInt32LE(t>>>0,r+1),e.writeUInt32LE(t/4294967296|0,r+5),Object.assign(po,{bytes:9})),e}_a.encode=po;function yo(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(yo,{bytes:1}),r;if(r===253)return Object.assign(yo,{bytes:3}),t.readUInt16LE(e+1);if(r===254)return Object.assign(yo,{bytes:5}),t.readUInt32LE(e+1);{Object.assign(yo,{bytes:9});const n=t.readUInt32LE(e+1),i=t.readUInt32LE(e+5)*4294967296+n;return Lh(i),i}}_a.decode=yo;function tw(t){return Lh(t),t<253?1:t<=65535?3:t<=4294967295?5:9}_a.encodingLength=tw;var sf={},au={},vt={};Object.defineProperty(vt,"__esModule",{value:!0});vt.testnet=vt.regtest=vt.bitcoin=void 0;vt.bitcoin={messagePrefix:`Bitcoin Signed Message:
|
|
52
|
-
`,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};vt.regtest={messagePrefix:`Bitcoin Signed Message:
|
|
53
|
-
`,bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};vt.testnet={messagePrefix:`Bitcoin Signed Message:
|
|
54
|
-
`,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var Zt={};Object.defineProperty(Zt,"__esModule",{value:!0});Zt.value=Zt.prop=void 0;function X3(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})}})}Zt.prop=X3;function J3(t){let e;return()=>(e!==void 0||(e=t()),e)}Zt.value=J3;Object.defineProperty(au,"__esModule",{value:!0});au.p2data=void 0;const Q3=vt,cc=Qt(),Lr=Et,O0=Zt,B0=cc.OPS;function eT(t,e){if(!t.data&&!t.output)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),(0,Lr.typeforce)({network:Lr.typeforce.maybe(Lr.typeforce.Object),output:Lr.typeforce.maybe(Lr.typeforce.Buffer),data:Lr.typeforce.maybe(Lr.typeforce.arrayOf(Lr.typeforce.Buffer))},t);const n={name:"embed",network:t.network||Q3.bitcoin};if(O0.prop(n,"output",()=>{if(t.data)return cc.compile([B0.OP_RETURN].concat(t.data))}),O0.prop(n,"data",()=>{if(t.output)return cc.decompile(t.output).slice(1)}),e.validate&&t.output){const s=cc.decompile(t.output);if(s[0]!==B0.OP_RETURN)throw new TypeError("Output is invalid");if(!s.slice(1).every(Lr.typeforce.Buffer))throw new TypeError("Output is invalid");if(t.data&&!(0,Lr.stacksEqual)(t.data,n.data))throw new TypeError("Data mismatch")}return Object.assign(n,t)}au.p2data=eT;var cu={};Object.defineProperty(cu,"__esModule",{value:!0});cu.p2ms=void 0;const tT=vt,fi=Qt(),We=Et,Ln=Zt,li=fi.OPS,qa=li.OP_RESERVED;function rT(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 fi.isCanonicalScriptSignature(c)||(e.allowIncomplete&&c===li.OP_0)!==void 0}(0,We.typeforce)({network:We.typeforce.maybe(We.typeforce.Object),m:We.typeforce.maybe(We.typeforce.Number),n:We.typeforce.maybe(We.typeforce.Number),output:We.typeforce.maybe(We.typeforce.Buffer),pubkeys:We.typeforce.maybe(We.typeforce.arrayOf(We.isPoint)),signatures:We.typeforce.maybe(We.typeforce.arrayOf(r)),input:We.typeforce.maybe(We.typeforce.Buffer)},t);const s={network:t.network||tT.bitcoin};let i=[],o=!1;function a(c){o||(o=!0,i=fi.decompile(c),s.m=i[0]-qa,s.n=i[i.length-2]-qa,s.pubkeys=i.slice(1,-2))}if(Ln.prop(s,"output",()=>{if(t.m&&s.n&&t.pubkeys)return fi.compile([].concat(qa+t.m,t.pubkeys,qa+s.n,li.OP_CHECKMULTISIG))}),Ln.prop(s,"m",()=>{if(s.output)return a(s.output),s.m}),Ln.prop(s,"n",()=>{if(s.pubkeys)return s.pubkeys.length}),Ln.prop(s,"pubkeys",()=>{if(t.output)return a(t.output),s.pubkeys}),Ln.prop(s,"signatures",()=>{if(t.input)return fi.decompile(t.input).slice(1)}),Ln.prop(s,"input",()=>{if(t.signatures)return fi.compile([li.OP_0].concat(t.signatures))}),Ln.prop(s,"witness",()=>{if(s.input)return[]}),Ln.prop(s,"name",()=>{if(!(!s.m||!s.n))return`p2ms(${s.m} of ${s.n})`}),e.validate){if(t.output){if(a(t.output),!We.typeforce.Number(i[0]))throw new TypeError("Output is invalid");if(!We.typeforce.Number(i[i.length-2]))throw new TypeError("Output is invalid");if(i[i.length-1]!==li.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,We.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,We.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]!==li.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,We.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)}cu.p2ms=rT;var uu={};Object.defineProperty(uu,"__esModule",{value:!0});uu.p2pk=void 0;const nT=vt,di=Qt(),pr=Et,ai=Zt,C0=di.OPS;function sT(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,pr.typeforce)({network:pr.typeforce.maybe(pr.typeforce.Object),output:pr.typeforce.maybe(pr.typeforce.Buffer),pubkey:pr.typeforce.maybe(pr.isPoint),signature:pr.typeforce.maybe(di.isCanonicalScriptSignature),input:pr.typeforce.maybe(pr.typeforce.Buffer)},t);const r=ai.value(()=>di.decompile(t.input)),s={name:"p2pk",network:t.network||nT.bitcoin};if(ai.prop(s,"output",()=>{if(t.pubkey)return di.compile([t.pubkey,C0.OP_CHECKSIG])}),ai.prop(s,"pubkey",()=>{if(t.output)return t.output.slice(1,-1)}),ai.prop(s,"signature",()=>{if(t.input)return r()[0]}),ai.prop(s,"input",()=>{if(t.signature)return di.compile([t.signature])}),ai.prop(s,"witness",()=>{if(s.input)return[]}),e.validate){if(t.output){if(t.output[t.output.length-1]!==C0.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,pr.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(!di.isCanonicalScriptSignature(s.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(s,t)}uu.p2pk=sT;var fu={};function iT(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,b=0,E=0,S=d.length;E!==S&&d[E]===0;)E++,m++;for(var P=(S-E)*u+1>>>0,A=new Uint8Array(P);E!==S;){for(var w=d[E],k=0,T=P-1;(w!==0||k<b)&&T!==-1;T--,k++)w+=256*A[T]>>>0,A[T]=w%o>>>0,w=w/o>>>0;if(w!==0)throw new Error("Non-zero carry");b=k,E++}for(var B=P-b;B!==P&&A[B]===0;)B++;for(var N=a.repeat(m);B<P;++B)N+=t.charAt(A[B]);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,b=0,E=0;d[m]===a;)b++,m++;for(var S=(d.length-m)*c+1>>>0,P=new Uint8Array(S);d[m];){var A=d.charCodeAt(m);if(A>255)return;var w=e[A];if(w===255)return;for(var k=0,T=S-1;(w!==0||k<E)&&T!==-1;T--,k++)w+=o*P[T]>>>0,P[T]=w%256>>>0,w=w/256>>>0;if(w!==0)throw new Error("Non-zero carry");E=k,m++}for(var B=S-E;B!==S&&P[B]===0;)B++;for(var N=new Uint8Array(b+(S-B)),$=b;B!==S;)N[$++]=P[B++];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 oT=iT;const aT=oT,cT="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var uT=aT(cT),of=uT,fT=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),of.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=of.decodeUnsafe(i);if(o)return r(o)}function s(i){var o=of.decode(i),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:e,decode:s,decodeUnsafe:n}},{sha256:$0}=J1,lT=fT;function dT(t){return $0($0(t))}var Hh=lT(dT);Object.defineProperty(fu,"__esModule",{value:!0});fu.p2pkh=void 0;const af=ls,hT=vt,hi=Qt(),kt=Et,on=Zt,R0=Hh,Hn=hi.OPS;function pT(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,kt.typeforce)({network:kt.typeforce.maybe(kt.typeforce.Object),address:kt.typeforce.maybe(kt.typeforce.String),hash:kt.typeforce.maybe(kt.typeforce.BufferN(20)),output:kt.typeforce.maybe(kt.typeforce.BufferN(25)),pubkey:kt.typeforce.maybe(kt.isPoint),signature:kt.typeforce.maybe(hi.isCanonicalScriptSignature),input:kt.typeforce.maybe(kt.typeforce.Buffer)},t);const r=on.value(()=>{const o=Buffer.from(R0.decode(t.address)),a=o.readUInt8(0),c=o.slice(1);return{version:a,hash:c}}),n=on.value(()=>hi.decompile(t.input)),s=t.network||hT.bitcoin,i={name:"p2pkh",network:s};if(on.prop(i,"address",()=>{if(!i.hash)return;const o=Buffer.allocUnsafe(21);return o.writeUInt8(s.pubKeyHash,0),i.hash.copy(o,1),R0.encode(o)}),on.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)}),on.prop(i,"output",()=>{if(i.hash)return hi.compile([Hn.OP_DUP,Hn.OP_HASH160,i.hash,Hn.OP_EQUALVERIFY,Hn.OP_CHECKSIG])}),on.prop(i,"pubkey",()=>{if(t.input)return n()[1]}),on.prop(i,"signature",()=>{if(t.input)return n()[0]}),on.prop(i,"input",()=>{if(t.pubkey&&t.signature)return hi.compile([t.signature,t.pubkey])}),on.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]!==Hn.OP_DUP||t.output[1]!==Hn.OP_HASH160||t.output[2]!==20||t.output[23]!==Hn.OP_EQUALVERIFY||t.output[24]!==Hn.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(!hi.isCanonicalScriptSignature(a[0]))throw new TypeError("Input has invalid signature");if(!(0,kt.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)}fu.p2pkh=pT;var lu={};Object.defineProperty(lu,"__esModule",{value:!0});lu.p2sh=void 0;const N0=ls,yT=vt,Vr=Qt(),Re=Et,Hr=Zt,U0=Hh,io=Vr.OPS;function mT(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,Re.typeforce)({network:Re.typeforce.maybe(Re.typeforce.Object),address:Re.typeforce.maybe(Re.typeforce.String),hash:Re.typeforce.maybe(Re.typeforce.BufferN(20)),output:Re.typeforce.maybe(Re.typeforce.BufferN(23)),redeem:Re.typeforce.maybe({network:Re.typeforce.maybe(Re.typeforce.Object),output:Re.typeforce.maybe(Re.typeforce.Buffer),input:Re.typeforce.maybe(Re.typeforce.Buffer),witness:Re.typeforce.maybe(Re.typeforce.arrayOf(Re.typeforce.Buffer))}),input:Re.typeforce.maybe(Re.typeforce.Buffer),witness:Re.typeforce.maybe(Re.typeforce.arrayOf(Re.typeforce.Buffer))},t);let r=t.network;r||(r=t.redeem&&t.redeem.network||yT.bitcoin);const n={network:r},s=Hr.value(()=>{const a=Buffer.from(U0.decode(t.address)),c=a.readUInt8(0),u=a.slice(1);return{version:c,hash:u}}),i=Hr.value(()=>Vr.decompile(t.input)),o=Hr.value(()=>{const a=i(),c=a[a.length-1];return{network:r,output:c===io.OP_FALSE?Buffer.from([]):c,input:Vr.compile(a.slice(0,-1)),witness:t.witness||[]}});if(Hr.prop(n,"address",()=>{if(!n.hash)return;const a=Buffer.allocUnsafe(21);return a.writeUInt8(n.network.scriptHash,0),n.hash.copy(a,1),U0.encode(a)}),Hr.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 N0.hash160(n.redeem.output)}),Hr.prop(n,"output",()=>{if(n.hash)return Vr.compile([io.OP_HASH160,n.hash,io.OP_EQUAL])}),Hr.prop(n,"redeem",()=>{if(t.input)return o()}),Hr.prop(n,"input",()=>{if(!(!t.redeem||!t.redeem.input||!t.redeem.output))return Vr.compile([].concat(Vr.decompile(t.redeem.input),t.redeem.output))}),Hr.prop(n,"witness",()=>{if(n.redeem&&n.redeem.witness)return n.redeem.witness;if(n.input)return[]}),Hr.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]!==io.OP_HASH160||t.output[1]!==20||t.output[22]!==io.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=Vr.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(Vr.countNonPushOnlyOPs(f)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const l=N0.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=Vr.decompile(u.input);if(!Vr.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,Re.stacksEqual)(t.redeem.witness,t.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(n,t)}lu.p2sh=mT;var du={},In={};Object.defineProperty(In,"__esModule",{value:!0});In.bech32m=In.bech32=void 0;const xc="qpzry9x8gf2tvdw0s3jn54khce6mua7l",rw={};for(let t=0;t<xc.length;t++){const e=xc.charAt(t);rw[e]=t}function Ti(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 M0(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=Ti(e)^n>>5}e=Ti(e);for(let r=0;r<t.length;++r){const n=t.charCodeAt(r);e=Ti(e)^n&31}return e}function Dh(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 bT(t){return Dh(t,8,5,!0)}function gT(t){const e=Dh(t,5,8,!1);if(Array.isArray(e))return e}function wT(t){const e=Dh(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function nw(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=M0(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=Ti(u)^p,f+=xc.charAt(p)}for(let l=0;l<6;++l)u=Ti(u);u^=e;for(let l=0;l<6;++l){const p=u>>(5-l)*5&31;f+=xc.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=M0(l);if(typeof d=="string")return d;const m=[];for(let b=0;b<p.length;++b){const E=p.charAt(b),S=rw[E];if(S===void 0)return"Unknown character "+E;d=Ti(d)^S,!(b+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:bT,fromWordsUnsafe:gT,fromWords:wT}}In.bech32=nw("bech32");In.bech32m=nw("bech32m");Object.defineProperty(du,"__esModule",{value:!0});du.p2wpkh=void 0;const cf=ls,vT=vt,uc=Qt(),rt=Et,Dn=Zt,Ga=In,F0=uc.OPS,ET=Buffer.alloc(0);function AT(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,rt.typeforce)({address:rt.typeforce.maybe(rt.typeforce.String),hash:rt.typeforce.maybe(rt.typeforce.BufferN(20)),input:rt.typeforce.maybe(rt.typeforce.BufferN(0)),network:rt.typeforce.maybe(rt.typeforce.Object),output:rt.typeforce.maybe(rt.typeforce.BufferN(22)),pubkey:rt.typeforce.maybe(rt.isPoint),signature:rt.typeforce.maybe(uc.isCanonicalScriptSignature),witness:rt.typeforce.maybe(rt.typeforce.arrayOf(rt.typeforce.Buffer))},t);const r=Dn.value(()=>{const i=Ga.bech32.decode(t.address),o=i.words.shift(),a=Ga.bech32.fromWords(i.words);return{version:o,prefix:i.prefix,data:Buffer.from(a)}}),n=t.network||vT.bitcoin,s={name:"p2wpkh",network:n};if(Dn.prop(s,"address",()=>{if(!s.hash)return;const i=Ga.bech32.toWords(s.hash);return i.unshift(0),Ga.bech32.encode(n.bech32,i)}),Dn.prop(s,"hash",()=>{if(t.output)return t.output.slice(2,22);if(t.address)return r().data;if(t.pubkey||s.pubkey)return cf.hash160(t.pubkey||s.pubkey)}),Dn.prop(s,"output",()=>{if(s.hash)return uc.compile([F0.OP_0,s.hash])}),Dn.prop(s,"pubkey",()=>{if(t.pubkey)return t.pubkey;if(t.witness)return t.witness[1]}),Dn.prop(s,"signature",()=>{if(t.witness)return t.witness[0]}),Dn.prop(s,"input",()=>{if(s.witness)return ET}),Dn.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]!==F0.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=cf.hash160(t.pubkey);if(i.length>0&&!i.equals(o))throw new TypeError("Hash mismatch");if(i=o,!(0,rt.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(!uc.isCanonicalScriptSignature(t.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,rt.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=cf.hash160(t.witness[1]);if(i.length>0&&!i.equals(o))throw new TypeError("Hash mismatch")}}return Object.assign(s,t)}du.p2wpkh=AT;var hu={};Object.defineProperty(hu,"__esModule",{value:!0});hu.p2wsh=void 0;const j0=ls,ST=vt,hn=Qt(),Ce=Et,an=Zt,Wa=In,L0=hn.OPS,uf=Buffer.alloc(0);function Ka(t){return!!(Buffer.isBuffer(t)&&t.length===65&&t[0]===4&&(0,Ce.isPoint)(t))}function xT(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,Ce.typeforce)({network:Ce.typeforce.maybe(Ce.typeforce.Object),address:Ce.typeforce.maybe(Ce.typeforce.String),hash:Ce.typeforce.maybe(Ce.typeforce.BufferN(32)),output:Ce.typeforce.maybe(Ce.typeforce.BufferN(34)),redeem:Ce.typeforce.maybe({input:Ce.typeforce.maybe(Ce.typeforce.Buffer),network:Ce.typeforce.maybe(Ce.typeforce.Object),output:Ce.typeforce.maybe(Ce.typeforce.Buffer),witness:Ce.typeforce.maybe(Ce.typeforce.arrayOf(Ce.typeforce.Buffer))}),input:Ce.typeforce.maybe(Ce.typeforce.BufferN(0)),witness:Ce.typeforce.maybe(Ce.typeforce.arrayOf(Ce.typeforce.Buffer))},t);const r=an.value(()=>{const o=Wa.bech32.decode(t.address),a=o.words.shift(),c=Wa.bech32.fromWords(o.words);return{version:a,prefix:o.prefix,data:Buffer.from(c)}}),n=an.value(()=>hn.decompile(t.redeem.input));let s=t.network;s||(s=t.redeem&&t.redeem.network||ST.bitcoin);const i={network:s};if(an.prop(i,"address",()=>{if(!i.hash)return;const o=Wa.bech32.toWords(i.hash);return o.unshift(0),Wa.bech32.encode(s.bech32,o)}),an.prop(i,"hash",()=>{if(t.output)return t.output.slice(2);if(t.address)return r().data;if(i.redeem&&i.redeem.output)return j0.sha256(i.redeem.output)}),an.prop(i,"output",()=>{if(i.hash)return hn.compile([L0.OP_0,i.hash])}),an.prop(i,"redeem",()=>{if(t.witness)return{output:t.witness[t.witness.length-1],input:uf,witness:t.witness.slice(0,-1)}}),an.prop(i,"input",()=>{if(i.witness)return uf}),an.prop(i,"witness",()=>{if(t.redeem&&t.redeem.input&&t.redeem.input.length>0&&t.redeem.output&&t.redeem.output.length>0){const o=hn.toStack(n());return i.redeem=Object.assign({witness:o},t.redeem),i.redeem.input=uf,[].concat(o,t.redeem.output)}if(t.redeem&&t.redeem.output&&t.redeem.witness)return[].concat(t.redeem.witness,t.redeem.output)}),an.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]!==L0.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=hn.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(hn.countNonPushOnlyOPs(a)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const c=j0.sha256(t.redeem.output);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch");o=c}if(t.redeem.input&&!hn.isPushOnly(n()))throw new TypeError("Non push-only scriptSig");if(t.witness&&t.redeem.witness&&!(0,Ce.stacksEqual)(t.witness,t.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(t.redeem.input&&n().some(Ka)||t.redeem.output&&(hn.decompile(t.redeem.output)||[]).some(Ka))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(Ka)||(hn.decompile(a)||[]).some(Ka))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(i,t)}hu.p2wsh=xT;var oo={},Vs={};Object.defineProperty(Vs,"__esModule",{value:!0});Vs.getEccLib=Vs.initEccLib=void 0;const vo={};function kT(t,e){t?t!==vo.eccLib&&(e!=null&&e.DANGER_DO_NOT_VERIFY_ECCLIB||_T(t),vo.eccLib=t):vo.eccLib=t}Vs.initEccLib=kT;function TT(){if(!vo.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return vo.eccLib}Vs.getEccLib=TT;const cn=t=>Buffer.from(t,"hex");function _T(t){tr(typeof t.isXOnlyPoint=="function"),tr(t.isXOnlyPoint(cn("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),tr(t.isXOnlyPoint(cn("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),tr(t.isXOnlyPoint(cn("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),tr(t.isXOnlyPoint(cn("0000000000000000000000000000000000000000000000000000000000000001"))),tr(!t.isXOnlyPoint(cn("0000000000000000000000000000000000000000000000000000000000000000"))),tr(!t.isXOnlyPoint(cn("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),tr(typeof t.xOnlyPointAddTweak=="function"),PT.forEach(e=>{const r=t.xOnlyPointAddTweak(cn(e.pubkey),cn(e.tweak));e.result===null?tr(r===null):(tr(r!==null),tr(r.parity===e.parity),tr(Buffer.from(r.xOnlyPubkey).equals(cn(e.result))))})}function tr(t){if(!t)throw new Error("ecc library invalid")}const PT=[{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 zh={};(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=Qs,r=Vs,n=ls,s=lt,i=Et;t.LEAF_VERSION_TAPSCRIPT=192,t.MAX_TAPTREE_DEPTH=128;const o=b=>"left"in b&&"right"in b;function a(b,E){if(b.length<33)throw new TypeError(`The control-block length is too small. Got ${b.length}, expected min 33.`);const S=(b.length-33)/32;let P=E;for(let A=0;A<S;A++){const w=b.slice(33+32*A,65+32*A);P.compare(w)<0?P=d(P,w):P=d(w,P)}return P}t.rootHashFromPath=a;function c(b){if((0,i.isTapleaf)(b))return{hash:f(b)};const E=[c(b[0]),c(b[1])];E.sort((A,w)=>A.hash.compare(w.hash));const[S,P]=E;return{hash:d(S.hash,P.hash),left:S,right:P}}t.toHashTree=c;function u(b,E){if(o(b)){const S=u(b.left,E);if(S!==void 0)return[...S,b.right.hash];const P=u(b.right,E);if(P!==void 0)return[...P,b.left.hash]}else if(b.hash.equals(E))return[]}t.findScriptPath=u;function f(b){const E=b.version||t.LEAF_VERSION_TAPSCRIPT;return n.taggedHash("TapLeaf",e.Buffer.concat([e.Buffer.from([E]),m(b.output)]))}t.tapleafHash=f;function l(b,E){return n.taggedHash("TapTweak",e.Buffer.concat(E?[b,E]:[b]))}t.tapTweakHash=l;function p(b,E){if(!e.Buffer.isBuffer(b)||b.length!==32||E&&E.length!==32)return null;const S=l(b,E),P=(0,r.getEccLib)().xOnlyPointAddTweak(b,S);return!P||P.xOnlyPubkey===null?null:{parity:P.parity,x:e.Buffer.from(P.xOnlyPubkey)}}t.tweakKey=p;function d(b,E){return n.taggedHash("TapBranch",e.Buffer.concat([b,E]))}function m(b){const E=s.varuint.encodingLength(b.length),S=e.Buffer.allocUnsafe(E);return s.varuint.encode(b.length,S),e.Buffer.concat([S,b])}})(zh);var Tt={},H0;function IT(){if(H0)return Tt;H0=1,Object.defineProperty(Tt,"__esModule",{value:!0}),Tt.toOutputScript=Tt.fromOutputScript=Tt.toBech32=Tt.toBase58Check=Tt.fromBech32=Tt.fromBase58Check=void 0;const t=vt,e=Vh(),r=Qt(),n=Et,s=In,i=Hh,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(A,w){const k=A.slice(2);if(k.length<a||k.length>o)throw new TypeError("Invalid program length for segwit address");const T=A[0]-f;if(T<u||T>c)throw new TypeError("Invalid version for segwit address");if(A[1]!==k.length)throw new TypeError("Invalid script for segwit address");return console.warn(l),E(k,T,w.bech32)}function d(A){const w=Buffer.from(i.decode(A));if(w.length<21)throw new TypeError(A+" is too short");if(w.length>21)throw new TypeError(A+" is too long");const k=w.readUInt8(0),T=w.slice(1);return{version:k,hash:T}}Tt.fromBase58Check=d;function m(A){let w,k;try{w=s.bech32.decode(A)}catch{}if(w){if(k=w.words[0],k!==0)throw new TypeError(A+" uses wrong encoding")}else if(w=s.bech32m.decode(A),k=w.words[0],k===0)throw new TypeError(A+" uses wrong encoding");const T=s.bech32.fromWords(w.words.slice(1));return{version:k,prefix:w.prefix,data:Buffer.from(T)}}Tt.fromBech32=m;function b(A,w){(0,n.typeforce)((0,n.tuple)(n.Hash160bit,n.UInt8),arguments);const k=Buffer.allocUnsafe(21);return k.writeUInt8(w,0),A.copy(k,1),i.encode(k)}Tt.toBase58Check=b;function E(A,w,k){const T=s.bech32.toWords(A);return T.unshift(w),w===0?s.bech32.encode(k,T):s.bech32m.encode(k,T)}Tt.toBech32=E;function S(A,w){w=w||t.bitcoin;try{return e.p2pkh({output:A,network:w}).address}catch{}try{return e.p2sh({output:A,network:w}).address}catch{}try{return e.p2wpkh({output:A,network:w}).address}catch{}try{return e.p2wsh({output:A,network:w}).address}catch{}try{return e.p2tr({output:A,network:w}).address}catch{}try{return p(A,w)}catch{}throw new Error(r.toASM(A)+" has no matching Address")}Tt.fromOutputScript=S;function P(A,w){w=w||t.bitcoin;let k,T;try{k=d(A)}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(A)}catch{}if(T){if(T.prefix!==w.bech32)throw new Error(A+" 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(A+" has no matching Script")}return Tt.toOutputScript=P,Tt}var D0;function OT(){if(D0)return oo;D0=1,Object.defineProperty(oo,"__esModule",{value:!0}),oo.p2tr=void 0;const t=Qs,e=vt,r=Qt(),n=Et,s=Vs,i=zh,o=Zt,a=In,c=IT(),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 b=o.value(()=>(0,c.fromBech32)(d.address)),E=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}}),P=d.network||e.bitcoin,A={name:"p2tr",network:P};if(o.prop(A,"address",()=>{if(!A.pubkey)return;const w=a.bech32m.toWords(A.pubkey);return w.unshift(f),a.bech32m.encode(P.bech32,w)}),o.prop(A,"hash",()=>{const w=S();if(w)return w.hash;const k=E();if(k&&k.length>1){const T=k[k.length-1],B=T[0]&n.TAPLEAF_VERSION_MASK,N=k[k.length-2],$=(0,i.tapleafHash)({output:N,version:B});return(0,i.rootHashFromPath)(T,$)}return null}),o.prop(A,"output",()=>{if(A.pubkey)return r.compile([u.OP_1,A.pubkey])}),o.prop(A,"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(A,"redeem",()=>{const w=E();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(A,"pubkey",()=>{if(d.pubkey)return d.pubkey;if(d.output)return d.output.slice(2);if(d.address)return b().data;if(A.internalPubkey){const w=(0,i.tweakKey)(A.internalPubkey,A.hash);if(w)return w.x}}),o.prop(A,"internalPubkey",()=>{if(d.internalPubkey)return d.internalPubkey;const w=E();if(w&&w.length>1)return w[w.length-1].slice(1,33)}),o.prop(A,"signature",()=>{if(d.signature)return d.signature;const w=E();if(!(!w||w.length!==1))return w[0]}),o.prop(A,"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:A.redeemVersion}),T=(0,i.findScriptPath)(w,k);if(!T)return;const B=(0,i.tweakKey)(d.internalPubkey,w.hash);if(!B)return;const N=t.Buffer.concat([t.Buffer.from([A.redeemVersion|B.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(P&&P.bech32!==b().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(b().version!==f)throw new TypeError("Invalid address version");if(b().data.length!==32)throw new TypeError("Invalid address data");w=b().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 B=(0,i.tweakKey)(d.internalPubkey,A.hash);if(w.length>0&&!w.equals(B.x))throw new TypeError("Pubkey mismatch");w=B.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 B=(0,i.tapleafHash)({output:d.redeem.output,version:A.redeemVersion});if(!(0,i.findScriptPath)(k,B))throw new TypeError("Redeem script not in tree")}const T=E();if(d.redeem&&A.redeem){if(d.redeem.redeemVersion&&d.redeem.redeemVersion!==A.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(A.redeem.output&&!d.redeem.output.equals(A.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(d.redeem.witness&&A.redeem.witness&&!(0,n.stacksEqual)(d.redeem.witness,A.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 B=T[T.length-1];if(B.length<33)throw new TypeError(`The control-block length is too small. Got ${B.length}, expected min 33.`);if((B.length-33)%32!==0)throw new TypeError(`The control-block length of ${B.length} is incorrect!`);const N=(B.length-33)/32;if(N>128)throw new TypeError(`The script path is too long. Got ${N}, expected max 128.`);const $=B.slice(1,33);if(d.internalPubkey&&!d.internalPubkey.equals($))throw new TypeError("Internal pubkey mismatch");if(!(0,s.getEccLib)().isXOnlyPoint($))throw new TypeError("Invalid internalPubkey for p2tr witness");const H=B[0]&n.TAPLEAF_VERSION_MASK,M=T[T.length-2],V=(0,i.tapleafHash)({output:M,version:H}),G=(0,i.rootHashFromPath)(B,V),Q=(0,i.tweakKey)($,G);if(!Q)throw new TypeError("Invalid outputKey for p2tr witness");if(w.length&&!w.equals(Q.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(Q.parity!==(B[0]&1))throw new Error("Incorrect parity")}}return Object.assign(A,d)}return oo.p2tr=p,oo}var z0;function Vh(){return z0||(z0=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=au;Object.defineProperty(t,"embed",{enumerable:!0,get:function(){return e.p2data}});const r=cu;Object.defineProperty(t,"p2ms",{enumerable:!0,get:function(){return r.p2ms}});const n=uu;Object.defineProperty(t,"p2pk",{enumerable:!0,get:function(){return n.p2pk}});const s=fu;Object.defineProperty(t,"p2pkh",{enumerable:!0,get:function(){return s.p2pkh}});const i=lu;Object.defineProperty(t,"p2sh",{enumerable:!0,get:function(){return i.p2sh}});const o=du;Object.defineProperty(t,"p2wpkh",{enumerable:!0,get:function(){return o.p2wpkh}});const a=hu;Object.defineProperty(t,"p2wsh",{enumerable:!0,get:function(){return a.p2wsh}});const c=OT();Object.defineProperty(t,"p2tr",{enumerable:!0,get:function(){return c.p2tr}})}(sf)),sf}Object.defineProperty(Pe,"__esModule",{value:!0});Pe.signatureBlocksAction=Pe.checkInputForSig=Pe.pubkeyInScript=Pe.pubkeyPositionInScript=Pe.witnessStackToScriptWitness=Pe.isP2TR=Pe.isP2SHScript=Pe.isP2WSHScript=Pe.isP2WPKH=Pe.isP2PKH=Pe.isP2PK=Pe.isP2MS=void 0;const V0=_a,Eo=Qt(),Za=Ta,BT=ls,ei=Vh();function ti(t){return e=>{try{return t({output:e}),!0}catch{return!1}}}Pe.isP2MS=ti(ei.p2ms);Pe.isP2PK=ti(ei.p2pk);Pe.isP2PKH=ti(ei.p2pkh);Pe.isP2WPKH=ti(ei.p2wpkh);Pe.isP2WSHScript=ti(ei.p2wsh);Pe.isP2SHScript=ti(ei.p2sh);Pe.isP2TR=ti(ei.p2tr);function CT(t){let e=Buffer.allocUnsafe(0);function r(o){e=Buffer.concat([e,Buffer.from(o)])}function n(o){const a=e.length,c=V0.encodingLength(o);e=Buffer.concat([e,Buffer.allocUnsafe(c)]),V0.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}Pe.witnessStackToScriptWitness=CT;function sw(t,e){const r=(0,BT.hash160)(t),n=t.slice(1,33),s=Eo.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))}Pe.pubkeyPositionInScript=sw;function $T(t,e){return sw(t,e)!==-1}Pe.pubkeyInScript=$T;function RT(t,e){return NT(t).some(n=>iw(n,Eo.signature.decode,e))}Pe.checkInputForSig=RT;function iw(t,e,r){const{hashType:n}=e(t),s=[];switch(n&Za.Transaction.SIGHASH_ANYONECANPAY&&s.push("addInput"),n&31){case Za.Transaction.SIGHASH_ALL:break;case Za.Transaction.SIGHASH_SINGLE:case Za.Transaction.SIGHASH_NONE:s.push("addOutput"),s.push("setInputSequence");break}return s.indexOf(r)===-1}Pe.signatureBlocksAction=iw;function NT(t){let e=[];if((t.partialSig||[]).length===0){if(!t.finalScriptSig&&!t.finalScriptWitness)return[];e=UT(t)}else e=t.partialSig;return e.map(r=>r.signature)}function UT(t){const e=t.finalScriptSig?Eo.decompile(t.finalScriptSig)||[]:[],r=t.finalScriptWitness?Eo.decompile(t.finalScriptWitness)||[]:[];return e.concat(r).filter(n=>Buffer.isBuffer(n)&&Eo.isCanonicalScriptSignature(n)).map(n=>({signature:n}))}Object.defineProperty(Le,"__esModule",{value:!0});Le.checkTaprootInputForSigs=Le.tapTreeFromList=Le.tapTreeToList=Le.tweakInternalPubKey=Le.checkTaprootOutputFields=Le.checkTaprootInputFields=Le.isTaprootOutput=Le.isTaprootInput=mo=Le.serializeTaprootSignature=Le.tapScriptFinalizer=Le.toXOnly=void 0;const qh=Et,MT=Ta,pu=Pe,cs=zh,FT=Vh(),jT=Pe,LT=t=>t.length===32?t:t.slice(1,33);Le.toXOnly=LT;function HT(t,e,r){const n=i_(e,t,r);try{const i=n_(e,n).concat(n.script).concat(n.controlBlock);return{finalScriptWitness:(0,pu.witnessStackToScriptWitness)(i)}}catch(s){throw new Error(`Can not finalize taproot input #${t}: ${s}`)}}Le.tapScriptFinalizer=HT;function DT(t,e){const r=e?Buffer.from([e]):Buffer.from([]);return Buffer.concat([t,r])}var mo=Le.serializeTaprootSignature=DT;function fc(t){return t&&!!(t.tapInternalKey||t.tapMerkleRoot||t.tapLeafScript&&t.tapLeafScript.length||t.tapBip32Derivation&&t.tapBip32Derivation.length||t.witnessUtxo&&(0,pu.isP2TR)(t.witnessUtxo.script))}Le.isTaprootInput=fc;function lc(t,e){return t&&!!(t.tapInternalKey||t.tapTree||t.tapBip32Derivation&&t.tapBip32Derivation.length||e&&(0,pu.isP2TR)(e))}Le.isTaprootOutput=lc;function zT(t,e,r){e_(t,e,r),r_(t,e,r)}Le.checkTaprootInputFields=zT;function VT(t,e,r){t_(t,e,r),qT(t,e)}Le.checkTaprootOutputFields=VT;function qT(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=GT(r,n);if(s&&!s.equals(i))throw new Error("Error adding output. Script or address missmatch.")}}function GT(t,e){const r=e&&ow(e.leaves),{output:n}=(0,FT.p2tr)({internalPubkey:t,scriptTree:r});return n}function WT(t,e){const r=e.tapInternalKey,n=r&&(0,cs.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}Le.tweakInternalPubKey=WT;function KT(t){if(!(0,qh.isTaptree)(t))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return md(t)}Le.tapTreeToList=KT;function ow(t=[]){return t.length===1&&t[0].depth===0?{output:t[0].script,version:t[0].leafVersion}:QT(t)}Le.tapTreeFromList=ow;function ZT(t,e){return XT(t).some(n=>(0,jT.signatureBlocksAction)(n,YT,e))}Le.checkTaprootInputForSigs=ZT;function YT(t){return{signature:t.slice(0,64),hashType:t.slice(64)[0]||MT.Transaction.SIGHASH_DEFAULT}}function XT(t){const e=[];if(t.tapKeySig&&e.push(t.tapKeySig),t.tapScriptSig&&e.push(...t.tapScriptSig.map(r=>r.signature)),!e.length){const r=JT(t.finalScriptWitness);r&&e.push(r)}return e}function JT(t){if(!t)return;const e=t.slice(2);if(e.length===64||e.length===65)return e}function md(t,e=[],r=0){if(r>cs.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return t?(0,qh.isTapleaf)(t)?(e.push({depth:r,leafVersion:t.version||cs.LEAF_VERSION_TAPSCRIPT,script:t.output}),e):(t[0]&&md(t[0],e,r+1),t[1]&&md(t[1],e,r+1),e):[]}function QT(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>cs.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,qh.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 e_(t,e,r){const n=fc(t)&&_i(e),s=_i(t)&&fc(e),i=t===e&&fc(e)&&_i(e);if(n||s||i)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function t_(t,e,r){const n=lc(t)&&_i(e),s=_i(t)&&lc(e),i=t===e&&lc(e)&&_i(e);if(n||s||i)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function r_(t,e,r){if(e.tapMerkleRoot){const n=(e.tapLeafScript||[]).every(i=>ff(i,e.tapMerkleRoot)),s=(t.tapLeafScript||[]).every(i=>ff(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=>ff(s,t.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}function ff(t,e){if(!e)return!0;const r=(0,cs.tapleafHash)({output:t.script,version:t.leafVersion});return(0,cs.rootHashFromPath)(t.controlBlock,r).equals(e)}function n_(t,e){const r=(0,cs.tapleafHash)({output:e.script,version:e.leafVersion});return(t.tapScriptSig||[]).filter(n=>n.leafHash.equals(r)).map(n=>s_(e.script,n)).sort((n,s)=>s.positionInScript-n.positionInScript).map(n=>n.signature)}function s_(t,e){return Object.assign({positionInScript:(0,pu.pubkeyPositionInScript)(e.pubkey,t)},e)}function i_(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=>o_(s,t.tapScriptSig,r));if(!n)throw new Error(`Can not finalize taproot input #${e}. Signature for tapleaf script not found.`);return n}function o_(t,e,r){const n=(0,cs.tapleafHash)({output:t.script,version:t.leafVersion});return(!r||r.equals(n))&&e.find(i=>i.leafHash.equals(n))!==void 0}function _i(t){return t&&!!(t.redeemScript||t.witnessScript||t.bip32Derivation&&t.bip32Derivation.length)}const rr={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"},Ya=192;Se.initEccLib(ur);let q0=class{constructor(e,r){this.signer=e,this.internalPubkey=E0(),this.network=Yk(r)}address(e,r){const n=this.generateLeaves(e,r),{address:s}=Se.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:n});if(!s)throw new Error(rr.htlcAddressGenerationFailed);return s}async _buildRawTx(e,r,n,s,i){const o=new Se.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 b=d.vout[m];b.scriptpubkey_address===a&&u.push({txid:d.txid,vout:m,value:b.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} ${rr.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(Se.address.toOutputScript(r,this.network),m),{tx:o,usedUtxos:u}}const l=(s==null?void 0:s.fee)??await c.suggestFee(a,f,xi.MEDIUM);return o.addOutput(Se.address.toOutputScript(r,this.network),f-l),{tx:o,usedUtxos:u,fee:l,balance:f}}getOutputScript(e,r){return Se.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;X.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,xi.MEDIUM));const a=await this.signer.send(i,o,r);return g.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=Se.Transaction.SIGHASH_SINGLE|Se.Transaction.SIGHASH_ANYONECANPAY,c=this.leafHash(1,e),u=i.map(l=>l.value),f=no(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,[mo(d,a),Buffer.from(r,"hex"),this.redeemLeaf(g.trim0x(e.destination_swap.secret_hash),je(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=Se.Transaction.SIGHASH_SINGLE|Se.Transaction.SIGHASH_ANYONECANPAY,c=this.leafHash(2,e),u=s.map(l=>l.value),f=no(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,[mo(d,a),mo(d,a),this.instantRefundLeaf(je(e.source_swap.initiator),je(e.destination_swap.delegate)),await this.generateControlBlockFor(2,e)])}return n.toHex()}async generateInstantRefundSACPWithHash(e){const r=[],n=Se.Transaction.SIGHASH_SINGLE|Se.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(mo(o,n).toString("hex"))}return g.Ok(r)}async instantRefund(e,r,n){b0(r.length>0,rr.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(rr.counterPartySigNotFound(p.txid));const o=this.getOutputScript(e,"instantRefund"),a=Se.Transaction.SIGHASH_DEFAULT,c=this.leafHash(2,e),u=i.map(p=>p.value),f=no(o,i.length);for(let p=0;p<s.ins.length;p++){const d=s.hashForWitnessV1(p,f,u,a,c);if(!ur.verifySchnorr(d,Buffer.from(je(e.destination_swap.delegate),"hex"),Buffer.from(r[p].sig,"hex")))throw new Error(rr.invalidCounterpartySigForUTXO(r[p].utxo));const m=await this.signer.signSchnorr(d),b=Buffer.from(s.ins[p].hash).reverse().toString("hex"),E=r.find(S=>S.utxo===b);if(!E)throw new Error(rr.counterPartySigNotFound(b));s.setWitness(p,[Buffer.from(E.sig,"hex"),m,this.instantRefundLeaf(je(e.source_swap.initiator),je(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 g.Err(s.error);const o=await(await this.getProvider()).broadcast(s.val);return g.Ok(o)}async getRedeemHex(e,r,n){b0(Se.crypto.sha256(Buffer.from(r,"hex")).toString("hex")===g.trim0x(e.destination_swap.secret_hash),rr.secretMismatch);const o=(X.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=no(this.getOutputScript(e,"redeem"),c.length),p=Se.Transaction.SIGHASH_DEFAULT;for(let m=0;m<a.ins.length;m++){const b=a.hashForWitnessV1(m,l,f,p,u),E=await this.signer.signSchnorr(b);a.setWitness(m,[E,Buffer.from(r,"hex"),this.redeemLeaf(g.trim0x(e.destination_swap.secret_hash),je(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 b=d.hashForWitnessV1(m,l,f,p,u),E=await this.signer.signSchnorr(b);d.setWitness(m,[E,Buffer.from(r,"hex"),this.redeemLeaf(g.trim0x(e.destination_swap.secret_hash),je(e.destination_swap.delegate)),await this.generateControlBlockFor(1,e)])}return g.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(rr.htlcNotExpired(o));const a=this.leafHash(0,e),c=s.map(d=>d.value),u=no(this.getOutputScript(e,"refund"),s.length),f=Se.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),b=await this.signer.signSchnorr(m);n.setWitness(d,[b,this.refundLeaf(e.source_swap.timelock,je(e.source_swap.initiator)),await this.generateControlBlockFor(0,e)])}const p=await(await this.getProvider()).broadcast(n.toHex());return g.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(g.trim0x(r.destination_swap.secret_hash),je(r.destination_swap.delegate)),s=this.generateLeaves(r,"redeem");break;case 0:n=this.refundLeaf(r.source_swap.timelock,je(r.source_swap.initiator)),s=this.generateLeaves(r,"refund");break;case 2:n=this.instantRefundLeaf(je(r.source_swap.initiator),je(r.destination_swap.delegate)),s=this.generateLeaves(r,"instantRefund");break;default:throw new Error(rr.controlBlockGenerationFailed)}const i=await this.signer.getNetwork(),o=Se.payments.p2tr({internalPubkey:E0(),network:i,scriptTree:s,redeem:{output:n,redeemVersion:Ya}});if(!o.witness)throw new Error(rr.controlBlockGenerationFailed);return o.witness[o.witness.length-1]}leafHash(e,r){let n;switch(e){case 1:n=this.redeemLeaf(g.trim0x(r.destination_swap.secret_hash),je(r.destination_swap.delegate));break;case 0:n=this.refundLeaf(r.source_swap.timelock,je(r.source_swap.initiator));break;case 2:n=this.instantRefundLeaf(je(r.source_swap.initiator),je(r.destination_swap.redeemer));break;default:throw new Error(rr.invalidLeaf)}return Se.crypto.taggedHash("TapLeaf",zk(n))}refundLeaf(e,r){return Se.script.fromASM(`
|
|
55
|
-
${Se.script.number.encode(e).toString("hex")}
|
|
56
|
-
OP_CHECKSEQUENCEVERIFY
|
|
57
|
-
OP_DROP
|
|
58
|
-
${r}
|
|
59
|
-
OP_CHECKSIG
|
|
60
|
-
`.trim().replace(/\s+/g," "))}redeemLeaf(e,r){return Se.script.fromASM(`
|
|
61
|
-
OP_SHA256
|
|
62
|
-
${e}
|
|
63
|
-
OP_EQUALVERIFY
|
|
64
|
-
${r}
|
|
65
|
-
OP_CHECKSIG
|
|
66
|
-
`.trim().replace(/\s+/g," "))}instantRefundLeaf(e,r){return Se.script.fromASM(`
|
|
67
|
-
${e}
|
|
68
|
-
OP_CHECKSIG
|
|
69
|
-
${r}
|
|
70
|
-
OP_CHECKSIGADD
|
|
71
|
-
OP_2
|
|
72
|
-
OP_NUMEQUAL
|
|
73
|
-
`.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:Ya,output:this.redeemLeaf(n.secret_hash,je(s))},[{version:Ya,output:this.refundLeaf(n.timelock,je(n.initiator))},{version:Ya,output:this.instantRefundLeaf(je(n.initiator),je(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=qk(i,s);return[Se.crypto.taggedHash("TapBranch",Buffer.concat(o))]}case 0:return[s,n];case 2:return[i,n];default:throw new Error(rr.invalidLeaf)}}getProvider(){return this.signer.getProvider()}get getPublicKey(){return this.signer.getPublicKey()}get htlcActorAddress(){return this.signer.getPublicKey()}};class aw{constructor(e,r){this.quoteUrl=new g.Url(e),this.auth=r}async getQuoteFromAssets({fromAsset:e,toAsset:r,amount:n,isExactOut:s=!1,options:i}){const o=X.ChainAsset.from(e),a=X.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 g.Err(o.error);const a={from:X.ChainAsset.from(e).toString(),to:X.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 g.Fetcher.get(c,{retryCount:0,...i==null?void 0:i.request,headers:{...o.val,"Content-Type":"application/json"}});return u.error?g.Err(u.error):u.result?g.Ok(u.result):g.Err("GetQuote: Unexpected error, result is undefined")}catch(o){return g.Err("GetQuote:",String(o))}}}class Mi extends g.EventBroker{get isInitialized(){return!!this.digestKey}constructor(e,r){super(),this.digestKey=e,this.walletClient=r}static fromDigestKey(e){return new Mi(g.trim0x(e))}static fromWalletClient(e){return new Mi(void 0,e)}async initialize(){if(this.digestKey)return g.Ok("Already initialized");const e=await this.deriveDigestKeyFromWalletClient();return e.error?g.Err(e.error):(this.emit("initialized",!0),g.Ok("Initialized"))}async deriveDigestKeyFromWalletClient(){if(!this.walletClient)return g.Err("No walletClient found");if(!this.walletClient.account)return g.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=g.trim0x(ho(e)),this.emit("initialized",!0),g.Ok(this.digestKey)}catch(e){return g.Err("Failed to initialize: "+e)}}async getDigestKey(){if(!this.digestKey&&!this.walletClient)return g.Err("No private key or wallet client found");if(!this.digestKey&&this.walletClient){const e=await this.deriveDigestKeyFromWalletClient();if(e.error)return g.Err(e.error)}return this.digestKey?g.Ok(this.digestKey):g.Err("No private key found")}async generateSecret(e){const r=await this.signMessage(e);if(!r.ok)return g.Err(r.error);const n=ho(g.with0x(r.val)),s=ho(n);return g.Ok({secret:n,secretHash:s})}async signMessage(e){if(!this.digestKey){const u=await this.getDigestKey();if(!u.ok)return g.Err(u.error);this.digestKey=u.val}const r=nc.ECPairFactory(ur),n="Garden.fi"+e.toString(),s=Buffer.from(n,"utf8"),i=ho(s),o=Buffer.from(g.trim0x(this.digestKey),"hex");if(o.length!==32)return g.Err("Invalid private key length. Expected 32 bytes.");const c=r.fromPrivateKey(o).sign(Buffer.from(g.trim0x(i),"hex"));return g.Ok(c.toString("hex"))}}const cw=[{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"}],a_=[{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 Pa{constructor(e,r){this.auth=e,this.url=r instanceof g.Url?r:new g.Url(r)}async initiate(e,r){try{const n=await this.auth.getAuthHeaders();if(!n.ok)return g.Err(n.error);const s=await g.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?g.Err(s.error||"Initiate failed"):g.Ok(s.result)}catch(n){return g.Err(String(n))}}async redeem(e,r){try{const n=await this.auth.getAuthHeaders();if(!n.ok)return g.Err(n.error);const s=await g.Fetcher.patch(this.url.endpoint("/v2/orders").endpoint(e).addSearchParams({action:"redeem"}),{body:JSON.stringify({secret:g.trim0x(r)}),headers:{...n.val,"Content-Type":"application/json"},retryCount:10,retryDelay:2e3});return s.error?g.Err(s.error):s.result?g.Ok(s.result):g.Err("Redeem: No result found")}catch(n){return g.Err(String(n))}}}const c_=async(t,e)=>{if(!t.account)return g.Err("No account found");try{const n=await hh({address:g.with0x(e.htlc),abi:a_,client:t}).write.initiate([g.with0x(e.redeemer),e.timelock,e.amount,g.with0x(e.secretHash)],{account:t.account,chain:t.chain,value:e.amount}),s=await g.waitForTransactionReceipt(t,n);return s.ok?!s.val||s.val.status!=="success"?g.Err("Native initiate transaction failed"):g.Ok(n):g.Err(s.error)}catch(r){return $h(r)?g.Ok("already initiated"):g.Err("Failed to initiate on native HTLC",String(r))}},u_=async(t,e,r,n)=>{if(!t.account)return g.Err("No account found");try{const s=hh({address:g.with0x(n.htlc),abi:cw,client:t}),i=await g.checkAllowanceAndApprove(Number(n.amount),n.token,n.htlc,t);if(!i.ok)return g.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:g.with0x(n.redeemer),timelock:n.timelock,amount:n.amount,secretHash:g.with0x(n.secretHash)}}),c=new Pa(r,e),u=await O1({wallet:t,attempt:()=>c.initiate(n.orderId,a)});if(u)return g.Ok(u);const f=await s.write.initiate([g.with0x(n.redeemer),n.timelock,n.amount,g.with0x(n.secretHash)],{account:t.account,chain:t.chain}),l=await g.waitForTransactionReceipt(t,f);return l.ok?!l.val||l.val.status!=="success"?g.Err("Failed to initiate (fallback)"):g.Ok(f):g.Err(l.error)}catch(s){return $h(s)?g.Ok("already initiated"):g.Err("Failed to initiate on ERC20 HTLC",String(s))}},f_=async(t,e)=>{if(!t.account)return g.Err("No account found");try{const r=await t.sendTransaction({account:t.account,to:g.with0x(e.to),value:BigInt(e.value),data:g.with0x(e.data),gas:BigInt(e.gas_limit),chain:t.chain}),n=await g.waitForTransactionReceipt(t,r);return n.ok?!n.val||n.val.status!=="success"?g.Err("Approval transaction failed"):g.Ok(r):g.Err(n.error)}catch(r){return g.Err("Failed to execute approval: "+String(r))}},l_={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},d_={block:nE({format(t){var r;return{transactions:(r=t.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const s=qc(n);return s.typeHex==="0x7e"&&(s.isSystemTx=n.isSystemTx,s.mint=n.mint?ut(n.mint):void 0,s.sourceHash=n.sourceHash,s.type="deposit"),s}),stateRoot:t.stateRoot}}}),transaction:tE({format(t){const e={};return t.type==="0x7e"&&(e.isSystemTx=t.isSystemTx,e.mint=t.mint?ut(t.mint):void 0,e.sourceHash=t.sourceHash,e.type="deposit"),e}}),transactionReceipt:hA({format(t){return{l1GasPrice:t.l1GasPrice?ut(t.l1GasPrice):null,l1GasUsed:t.l1GasUsed?ut(t.l1GasUsed):null,l1Fee:t.l1Fee?ut(t.l1Fee):null,l1FeeScalar:t.l1FeeScalar?Number(t.l1FeeScalar):null}}})};function h_(t,e){return m_(t)?y_(t):JA(t,e)}const p_={transaction:h_};function y_(t){b_(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?Bt(o):"0x",c?Bt(c):"0x",s?Bt(s):"0x",i?"0x1":"0x",r??"0x"];return Cr(["0x7e",as(u)])}function m_(t){return t.type==="deposit"||typeof t.sourceHash<"u"}function b_(t){const{from:e,to:r}=t;if(e&&!at(e))throw new $t({address:e});if(r&&!at(r))throw new $t({address:r})}const Fi={blockTime:2e3,contracts:l_,formatters:d_,serializers:p_},g_=yt({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}}}),w_=yt({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}),ao=1,uw=yt({...Fi,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:{...Fi.contracts,disputeGameFactory:{[ao]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[ao]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[ao]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[ao]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:ao});({...uw});const co=11155111,fw=yt({...Fi,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:{...Fi.contracts,disputeGameFactory:{[co]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[co]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[co]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[co]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:co});({...fw});const v_=yt({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}),E_=yt({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}),A_=yt({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}}}),S_=yt({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}),x_=yt({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}),k_=yt({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}),T_=1,__=yt({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:T_}),P_=yt({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}}}),I_=yt({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}),O_=yt({id:11155111,name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.drpc.org"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:8928790}},testnet:!0}),Xa=1,B_=yt({...Fi,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:{...Fi.contracts,multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:0},disputeGameFactory:{[Xa]:{address:"0x2F12d621a16e2d3285929C9996f478508951dFe4"}},portal:{[Xa]:{address:"0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2"}},l1StandardBridge:{[Xa]:{address:"0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA"}}},sourceId:Xa}),C_={...O_,rpcUrls:{default:{http:["https://ethereum-sepolia-rpc.publicnode.com"]}}},lw={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/"]}}},dw={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"]}}},hw={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"]}}},pw={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"]}}},$_={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"]}}},yu={ethereum:P_,arbitrum:g_,ethereum_sepolia:C_,arbitrum_sepolia:w_,ethereum_localnet:X.EthereumLocalnet,arbitrum_localnet:X.ArbitrumLocalnet,base_sepolia:fw,base:uw,bera_testnet:E_,citrea_testnet:x_,core:k_,bera:v_,monad:$_,monad_testnet:I_,hyperliquid_testnet:dw,hyperliquid:hw,unichain:B_,corn:__,botanix:lw,bnbchain:A_,bnbchain_testnet:S_,alpen_testnet:pw,hypercore:{},hypercore_testnet:{}},yw=t=>{for(const[e,r]of Object.entries(yu))if(r.id===t)return e;return null},gd=async(t,e)=>{var s,i,o;const r=yu[t],n=await e.getChainId();if(r)try{if(r.id===n)return g.Ok({message:"Already on the network",walletClient:e});await e.switchChain({id:r.id});const a=Xu({account:e.account,chain:r,transport:m0(e.transport)});return g.Ok({message:"Switched chain",walletClient:a})}catch(a){if(R_(a))if(a.code===4902||a.code===-32603)try{await e.addChain({chain:r});const c=Xu({account:e.account,chain:r,transport:m0(e.transport)});return g.Ok({message:"Added network",walletClient:c})}catch{return g.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=Xu({account:e.account,chain:r,transport:P1()});return g.Ok({message:"Added network",walletClient:c})}else return g.Err("Failed to switch network");else return g.Err("Failed to switch network")}else return g.Err("Chain not supported")},R_=t=>typeof t=="object"&&t!=null&&("code"in t||"message"in t||"body"in t);class mw{constructor(e,r,n){this.wallet=r,this.auth=n,this.url=e instanceof g.Url?e:new g.Url(e),this.relayer=new Pa(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(X.isEvmOrderResponse(e))return this.initiateFromAPI(e);if(!this.wallet.account)return g.Err("No account found");if(!X.isEVM(e.source_swap.chain))return g.Err("Not an EVM chain");if(this.wallet.account.address.toLowerCase()!==e.source_swap.initiator.toLowerCase())return g.Err("Account address and order initiator mismatch");const r=e.source_swap.chain,n=await gd(r,this.wallet);if(!n.ok)return g.Err(n.error);this.wallet=n.val.walletClient;const{source_swap:s}=e;if(!s.amount||!s.timelock||!s.redeemer||!s.secret_hash)return g.Err("Invalid order");const i=await Ch(s.asset,this.url);if(!i.ok)return g.Err(i.error);const o=X.ChainAsset.fromString(s.asset),a={redeemer:g.with0x(s.redeemer),timelock:BigInt(s.timelock),amount:BigInt(s.amount),secretHash:g.with0x(s.secret_hash)};return X.isEvmNativeToken(o.chain,o.symbol)?c_(this.wallet,{...a,htlc:i.val.htlcAddress}):u_(this.wallet,this.url,this.auth,{...a,htlc:i.val.htlcAddress,token:i.val.tokenAddress,orderId:e.order_id})}async initiateFromAPI(e){const r=yw(e.initiate_transaction.chain_id);if(!r)return g.Err("Unsupported chain");const n=await gd(r,this.wallet);if(!n.ok)return g.Err(n.error);if(this.wallet=n.val.walletClient,!this.wallet.account)return g.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:g.with0x(o.to),value:BigInt(o.value),data:g.with0x(o.data),gas:BigInt(o.gas_limit)}),c=await g.waitForTransactionReceipt(this.wallet,a);return c.ok?!c.val||c.val.status!=="success"?g.Err("Native initiate transaction failed"):g.Ok(a):g.Err(c.error)}if(e.approval_transaction){const o=await f_(this.wallet,e.approval_transaction);if(o.error)return g.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 O1({wallet:this.wallet,attempt:()=>this.relayer.initiate(e.order_id,s)});if(i)return g.Ok(i);try{const o=hh({address:g.with0x(e.initiate_transaction.to),abi:cw,client:this.wallet}),a=e.typed_data.message,c=await o.write.initiate([g.with0x(a.redeemer),BigInt(a.timelock),BigInt(a.amount),g.with0x(a.secretHash)],{account:this.wallet.account,chain:this.wallet.chain}),u=await g.waitForTransactionReceipt(this.wallet,c);return u.ok?!u.val||u.val.status!=="success"?g.Err("Failed to initiate via contract"):g.Ok(c):g.Err(u.error)}catch(o){return $h(o)?g.Ok("already initiated"):g.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 g.Err(n.error);try{const s=yu[e.destination_swap.chain],o=await Sk({chain:s,transport:P1()}).waitForTransactionReceipt({hash:n.val,confirmations:1,timeout:3e5});return o&&o.status==="success"?g.Ok(n.val?n.val:"Redeem hash not found"):g.Err("Redeem failed: Transaction receipt not successful")}catch(s){return g.Err(String(s))}}async refund(){return g.Err("Refund not supported")}}const bw=[{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"}]}],gw=async(t,e,r,n,s)=>{try{const i=await Ao(t.address,e,r,s);if(!i.ok)return g.Err(i.error);if(i.val>=n)return g.Ok("Allowance already approved");const a=Je.cairo.uint256(BigInt(n)),c=await t.execute([{contractAddress:g.with0x(e),entrypoint:"approve",calldata:[g.with0x(r),a.low,a.high]}]);await s.waitForTransaction(c.transaction_hash,{retryInterval:3e3,successStates:[Je.TransactionExecutionStatus.SUCCEEDED]}),await g.sleep(2e3);for(let u=0;u<20;u++){const f=await Ao(t.address,e,r,s);if(!f.ok)return g.Err(f.error);if(f.val>=n)return g.Ok(c.transaction_hash);await g.sleep(2e3);let l=0n;for(let p=0;p<20;p++){const d=await Ao(t.address,e,r,s);if(!d.ok)return g.Err(d.error);if(l=d.val,l>=n)break;await g.sleep(2e3)}return l<n?g.Err("Allowance not approved"):g.Ok(c.transaction_hash)}return g.Err("Allowance not approved after transaction.")}catch(i){return g.Err(`Failed to check or approve allowance: ${i instanceof Error?i.message:String(i)}`)}},Ao=async(t,e,r,n)=>{try{const i=await new Je.Contract(bw,g.with0x(e),n).call("allowance",[g.with0x(t),g.with0x(r)]);return g.Ok(BigInt((i==null?void 0:i.toString())||"0"))}catch(s){return g.Err(`Failed to check allowance: ${s instanceof Error?s.message:String(s)}`)}},ww=async(t,e,r,n,s)=>{const i=await Ao(t,e,r,n);return i.ok?g.Ok(i.val>=s):g.Err(i.error)},vw=[{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"}]}],N_={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 Ew{constructor(e,r,n,s,i){this.url=e instanceof g.Url?e:new g.Url(e),this.account=r,this.starknetProvider=new Je.RpcProvider({nodeUrl:i||Qo[n].nodeUrl}),this.chainId=Qo[n].chainId,this.auth=s,this.relayer=new Pa(this.auth,this.url)}get htlcActorAddress(){if(!this.account.address)throw new Error("No account found");return this.account.address}async initiate(e){if(X.isStarknetOrderResponse(e))return this.initiateWithCreateOrderResponse(e);if(!this.account.address)return g.Err("No account address");const{source_swap:r}=e,{redeemer:n,amount:s}=r;if(!s||!n||!r.secret_hash||!r.timelock)return g.Err("Invalid order");try{const i=new Je.Contract(vw,e.source_swap.asset,this.account),o=await(i==null?void 0:i.token()),a=Je.num.toHex(o),c=await ww(this.account.address,a,r.asset,this.starknetProvider,BigInt(r.amount));return c.error?g.Err(c.error):c.val?this.initiateRelay(e):this.approveAndInitiate(a,e)}catch(i){return g.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=Je.cairo.uint256(BigInt(i)),f={contractAddress:g.with0x(e),entrypoint:"approve",calldata:[c,u.low,u.high]},l=Je.cairo.uint256(i),p={contractAddress:g.with0x(c),entrypoint:"initiate",calldata:[s,a.toString(),l.low.toString(),l.high.toString(),...g.hexToU32Array(o)]},d=await this.account.execute([f,p]);return await this.starknetProvider.waitForTransaction(d.transaction_hash,{retryInterval:2e3,successStates:[Je.TransactionExecutionStatus.SUCCEEDED]}),g.Ok(d.transaction_hash)}catch(u){return g.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 g.Err("Invalid order: secret_hash is undefined");const i=g.with0x(r.secret_hash),a={domain:{name:"HTLC",version:Je.shortString.encodeShortString("1"),chainId:this.chainId,revision:Je.TypedDataRevision.ACTIVE},primaryType:"Initiate",types:N_,message:{redeemer:n,amount:Je.cairo.uint256(s),timelock:e.source_swap.timelock,secretHash:g.hexToU32Array(i)}};try{const c=await this.account.signMessage(a),u=g0(c);if(u.error||!u.val)return g.Err(u.error||"Invalid signature");const f=await this.relayer.initiate(e.order_id,u.val);return f.error?g.Err(f.error):f.val?g.Ok(f.val):g.Err("Initiate: No result found")}catch(c){return g.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?g.Err(n.error):g.Ok(n.val)}catch(n){return g.Err(String(n))}}async executeApprovalTransaction(e){if(!this.account.address)return g.Err("No account address");if(!e.approval_transaction)return g.Ok("No approval transaction required");try{const r=e.approval_transaction,n=await this.account.execute([{contractAddress:g.with0x(r.to),entrypoint:"approve",calldata:r.calldata}]);return await this.starknetProvider.waitForTransaction(n.transaction_hash,{retryInterval:2e3,successStates:[Je.TransactionExecutionStatus.SUCCEEDED]}),g.Ok(n.transaction_hash)}catch(r){return console.error("executeApprovalTransaction error:",r),g.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 g.Err(r.error);if(!this.account.address)return g.Err("No account address");const n=await this.executeApprovalTransaction(e);if(n.error)return g.Err(n.error);const{typed_data:s}=e;if(s===null){const c=e.initiate_transaction;if(!c)return g.Err("No initiate_transaction found for native initiate");const u=await this.account.execute([{contractAddress:g.with0x(c.to),entrypoint:"initiate",calldata:c.calldata}]);return await this.starknetProvider.waitForTransaction(u.transaction_hash,{retryInterval:2e3,successStates:[Je.TransactionExecutionStatus.SUCCEEDED]}),g.Ok(u.transaction_hash)}const i=await this.account.signMessage(s),o=g0(i);if(o.error)return g.Err(o.error);const a=await g.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?g.Err(a.error):g.Ok(a.result)}async refund(){return g.Err("Refund is taken care of by the relayer")}}const U_="2WXpY8havGjfRxme9LUxtjFHTh1EfU3ur4v6wiK4KdNC",M_={name:"solana_spl_swaps",version:"0.4.0",spec:"0.1.0",description:"Created with Anchor"},F_=[{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:[]}],j_=[{name:"SwapAccount",discriminator:[53,126,9,14,14,197,105,182]}],L_=[{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]}],H_=[{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"}],D_=[{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"}]}}],G0={address:U_,metadata:M_,instructions:F_,accounts:j_,events:L_,errors:H_,types:D_},z_="2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",V_={name:"solana_native_swaps",version:"0.3.0",spec:"0.1.0",description:"Created with Anchor"},q_=[{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:[]}],G_=[{name:"SwapAccount",discriminator:[53,126,9,14,14,197,105,182]}],W_=[{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]}],K_=[{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"}],Z_=[{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]}}]}}],wd={address:z_,metadata:V_,instructions:q_,accounts:G_,events:W_,errors:K_,types:Z_};var wn={},mu={};Object.defineProperty(mu,"__esModule",{value:!0});mu.encode=Y_;mu.decode=X_;const W0=Qs;function Y_(t){return t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),"0x")}function X_(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?W0.Buffer.from([]):W0.Buffer.from(e.map(r=>parseInt(r,16)))}var bu={},qs={},lf;Object.defineProperty(qs,"__esModule",{value:!0});qs.isVersionedTransaction=qs.isBrowser=void 0;qs.chunks=J_;qs.isBrowser=process.env.ANCHOR_BROWSER||typeof window<"u"&&!(!((lf=window.process)===null||lf===void 0)&&lf.hasOwnProperty("type"));function J_(t,e){return Array.apply(0,new Array(Math.ceil(t.length/e))).map((r,n)=>t.slice(n*e,(n+1)*e))}const Q_=t=>"version"in t;qs.isVersionedTransaction=Q_;var df={},hf={},pf,K0;function Aw(){return K0||(K0=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 yf,Z0;function gu(){if(Z0)return yf;Z0=1;var t=Aw();return yf=function(){return t()&&!!Symbol.toStringTag},yf}var mf,Y0;function Sw(){return Y0||(Y0=1,mf=Object),mf}var bf,X0;function eP(){return X0||(X0=1,bf=Error),bf}var gf,J0;function tP(){return J0||(J0=1,gf=EvalError),gf}var wf,Q0;function rP(){return Q0||(Q0=1,wf=RangeError),wf}var vf,ey;function nP(){return ey||(ey=1,vf=ReferenceError),vf}var Ef,ty;function xw(){return ty||(ty=1,Ef=SyntaxError),Ef}var Af,ry;function Ia(){return ry||(ry=1,Af=TypeError),Af}var Sf,ny;function sP(){return ny||(ny=1,Sf=URIError),Sf}var xf,sy;function iP(){return sy||(sy=1,xf=Math.abs),xf}var kf,iy;function oP(){return iy||(iy=1,kf=Math.floor),kf}var Tf,oy;function aP(){return oy||(oy=1,Tf=Math.max),Tf}var _f,ay;function cP(){return ay||(ay=1,_f=Math.min),_f}var Pf,cy;function uP(){return cy||(cy=1,Pf=Math.pow),Pf}var If,uy;function fP(){return uy||(uy=1,If=Math.round),If}var Of,fy;function lP(){return fy||(fy=1,Of=Number.isNaN||function(e){return e!==e}),Of}var Bf,ly;function dP(){if(ly)return Bf;ly=1;var t=lP();return Bf=function(r){return t(r)||r===0?r:r<0?-1:1},Bf}var Cf,dy;function hP(){return dy||(dy=1,Cf=Object.getOwnPropertyDescriptor),Cf}var $f,hy;function Yi(){if(hy)return $f;hy=1;var t=hP();if(t)try{t([],"length")}catch{t=null}return $f=t,$f}var Rf,py;function wu(){if(py)return Rf;py=1;var t=Object.defineProperty||!1;if(t)try{t({},"a",{value:1})}catch{t=!1}return Rf=t,Rf}var Nf,yy;function pP(){if(yy)return Nf;yy=1;var t=typeof Symbol<"u"&&Symbol,e=Aw();return Nf=function(){return typeof t!="function"||typeof Symbol!="function"||typeof t("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:e()},Nf}var Uf,my;function kw(){return my||(my=1,Uf=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),Uf}var Mf,by;function Tw(){if(by)return Mf;by=1;var t=Sw();return Mf=t.getPrototypeOf||null,Mf}var Ff,gy;function yP(){if(gy)return Ff;gy=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 Ff=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=[],b=0;b<d;b++)m[b]="$"+b;if(l=Function("binder","return function ("+o(m,",")+"){ return binder.apply(this,arguments); }")(p),u.prototype){var E=function(){};E.prototype=u.prototype,l.prototype=new E,E.prototype=null}return l},Ff}var jf,wy;function Oa(){if(wy)return jf;wy=1;var t=yP();return jf=Function.prototype.bind||t,jf}var Lf,vy;function Gh(){return vy||(vy=1,Lf=Function.prototype.call),Lf}var Hf,Ey;function Wh(){return Ey||(Ey=1,Hf=Function.prototype.apply),Hf}var Df,Ay;function mP(){return Ay||(Ay=1,Df=typeof Reflect<"u"&&Reflect&&Reflect.apply),Df}var zf,Sy;function _w(){if(Sy)return zf;Sy=1;var t=Oa(),e=Wh(),r=Gh(),n=mP();return zf=n||t.call(r,e),zf}var Vf,xy;function Kh(){if(xy)return Vf;xy=1;var t=Oa(),e=Ia(),r=Gh(),n=_w();return Vf=function(i){if(i.length<1||typeof i[0]!="function")throw new e("a function is required");return n(t,r,i)},Vf}var qf,ky;function bP(){if(ky)return qf;ky=1;var t=Kh(),e=Yi(),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 qf=n&&typeof n.get=="function"?t([n.get]):typeof i=="function"?function(a){return i(a==null?a:s(a))}:!1,qf}var Gf,Ty;function Zh(){if(Ty)return Gf;Ty=1;var t=kw(),e=Tw(),r=bP();return Gf=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,Gf}var Wf,_y;function Pw(){if(_y)return Wf;_y=1;var t=Function.prototype.call,e=Object.prototype.hasOwnProperty,r=Oa();return Wf=r.call(t,e),Wf}var Kf,Py;function Iw(){if(Py)return Kf;Py=1;var t,e=Sw(),r=eP(),n=tP(),s=rP(),i=nP(),o=xw(),a=Ia(),c=sP(),u=iP(),f=oP(),l=aP(),p=cP(),d=uP(),m=fP(),b=dP(),E=Function,S=function(oe){try{return E('"use strict"; return ('+oe+").constructor;")()}catch{}},P=Yi(),A=wu(),w=function(){throw new a},k=P?function(){try{return arguments.callee,w}catch{try{return P(arguments,"callee").get}catch{return w}}}():w,T=pP()(),B=Zh(),N=Tw(),$=kw(),H=Wh(),M=Gh(),V={},G=typeof Uint8Array>"u"||!B?t:B(Uint8Array),Q={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?t:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?t:ArrayBuffer,"%ArrayIteratorPrototype%":T&&B?B([][Symbol.iterator]()):t,"%AsyncFromSyncIteratorPrototype%":t,"%AsyncFunction%":V,"%AsyncGenerator%":V,"%AsyncGeneratorFunction%":V,"%AsyncIteratorPrototype%":V,"%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%":E,"%GeneratorFunction%":V,"%Int8Array%":typeof Int8Array>"u"?t:Int8Array,"%Int16Array%":typeof Int16Array>"u"?t:Int16Array,"%Int32Array%":typeof Int32Array>"u"?t:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":T&&B?B(B([][Symbol.iterator]())):t,"%JSON%":typeof JSON=="object"?JSON:t,"%Map%":typeof Map>"u"?t:Map,"%MapIteratorPrototype%":typeof Map>"u"||!T||!B?t:B(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":e,"%Object.getOwnPropertyDescriptor%":P,"%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||!B?t:B(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?t:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":T&&B?B(""[Symbol.iterator]()):t,"%Symbol%":T?Symbol:t,"%SyntaxError%":o,"%ThrowTypeError%":k,"%TypedArray%":G,"%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%":H,"%Object.defineProperty%":A,"%Object.getPrototypeOf%":N,"%Math.abs%":u,"%Math.floor%":f,"%Math.max%":l,"%Math.min%":p,"%Math.pow%":d,"%Math.round%":m,"%Math.sign%":b,"%Reflect.getPrototypeOf%":$};if(B)try{null.error}catch(oe){var W=B(B(oe));Q["%Error.prototype%"]=W}var K=function oe(ie){var me;if(ie==="%AsyncFunction%")me=S("async function () {}");else if(ie==="%GeneratorFunction%")me=S("function* () {}");else if(ie==="%AsyncGeneratorFunction%")me=S("async function* () {}");else if(ie==="%AsyncGenerator%"){var be=oe("%AsyncGeneratorFunction%");be&&(me=be.prototype)}else if(ie==="%AsyncIteratorPrototype%"){var we=oe("%AsyncGenerator%");we&&B&&(me=B(we.prototype))}return Q[ie]=me,me},re={__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"]},q=Oa(),I=Pw(),j=q.call(M,Array.prototype.concat),J=q.call(H,Array.prototype.splice),O=q.call(M,String.prototype.replace),R=q.call(M,String.prototype.slice),F=q.call(M,RegExp.prototype.exec),ne=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,ae=/\\(\\)?/g,le=function(ie){var me=R(ie,0,1),be=R(ie,-1);if(me==="%"&&be!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(be==="%"&&me!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var we=[];return O(ie,ne,function(ke,tt,Oe,Rr){we[we.length]=Oe?O(Rr,ae,"$1"):tt||ke}),we},ue=function(ie,me){var be=ie,we;if(I(re,be)&&(we=re[be],be="%"+we[0]+"%"),I(Q,be)){var ke=Q[be];if(ke===V&&(ke=K(be)),typeof ke>"u"&&!me)throw new a("intrinsic "+ie+" exists, but is not available. Please file an issue!");return{alias:we,name:be,value:ke}}throw new o("intrinsic "+ie+" does not exist!")};return Kf=function(ie,me){if(typeof ie!="string"||ie.length===0)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof me!="boolean")throw new a('"allowMissing" argument must be a boolean');if(F(/^%?[^%]*%?$/,ie)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var be=le(ie),we=be.length>0?be[0]:"",ke=ue("%"+we+"%",me),tt=ke.name,Oe=ke.value,Rr=!1,ds=ke.alias;ds&&(we=ds[0],J(be,j([0,1],ds)));for(var z=1,Nr=!0;z<be.length;z+=1){var At=be[z],St=R(At,0,1),Rn=R(At,-1);if((St==='"'||St==="'"||St==="`"||Rn==='"'||Rn==="'"||Rn==="`")&&St!==Rn)throw new o("property names with quotes must have matching quotes");if((At==="constructor"||!Nr)&&(Rr=!0),we+="."+At,tt="%"+we+"%",I(Q,tt))Oe=Q[tt];else if(Oe!=null){if(!(At in Oe)){if(!me)throw new a("base intrinsic for "+ie+" exists, but the property is not available.");return}if(P&&z+1>=be.length){var ni=P(Oe,At);Nr=!!ni,Nr&&"get"in ni&&!("originalValue"in ni.get)?Oe=ni.get:Oe=Oe[At]}else Nr=I(Oe,At),Oe=Oe[At];Nr&&!Rr&&(Q[tt]=Oe)}}return Oe},Kf}var Zf,Iy;function Ba(){if(Iy)return Zf;Iy=1;var t=Iw(),e=Kh(),r=e([t("%String.prototype.indexOf%")]);return Zf=function(s,i){var o=t(s,!!i);return typeof o=="function"&&r(s,".prototype.")>-1?e([o]):o},Zf}var Yf,Oy;function gP(){if(Oy)return Yf;Oy=1;var t=gu()(),e=Ba(),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,Yf=i?n:s,Yf}var Xf,By;function wP(){if(By)return Xf;By=1;var t=Ba(),e=gu()(),r=Pw(),n=Yi(),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(b){return b===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 Xf=s,Xf}var Jf,Cy;function vP(){if(Cy)return Jf;Cy=1;var t=Ba(),e=wP(),r=t("RegExp.prototype.exec"),n=Ia();return Jf=function(i){if(!e(i))throw new n("`regex` must be a RegExp");return function(a){return r(i,a)!==null}},Jf}var Qf,$y;function EP(){if($y)return Qf;$y=1;var t=Ba(),e=vP(),r=e(/^\s*(?:function)?\*/),n=gu()(),s=Zh(),i=t("Object.prototype.toString"),o=t("Function.prototype.toString"),a=function(){if(!n)return!1;try{return Function("return function*() {}")()}catch{}},c;return Qf=function(f){if(typeof f!="function")return!1;if(r(o(f)))return!0;if(!n){var l=i(f);return l==="[object GeneratorFunction]"}if(!s)return!1;if(typeof c>"u"){var p=a();c=p?s(p):!1}return s(f)===c},Qf}var el,Ry;function AP(){if(Ry)return el;Ry=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(P){P!==n&&(e=null)}else e=null;var s=/^\s*class\b/,i=function(A){try{var w=t.call(A);return s.test(w)}catch{return!1}},o=function(A){try{return i(A)?!1:(t.call(A),!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,b=!(0 in[,]),E=function(){return!1};if(typeof document=="object"){var S=document.all;a.call(S)===a.call(document.all)&&(E=function(A){if((b||!A)&&(typeof A>"u"||typeof A=="object"))try{var w=a.call(A);return(w===l||w===p||w===d||w===c)&&A("")==null}catch{}return!1})}return el=e?function(A){if(E(A))return!0;if(!A||typeof A!="function"&&typeof A!="object")return!1;try{e(A,null,r)}catch(w){if(w!==n)return!1}return!i(A)&&o(A)}:function(A){if(E(A))return!0;if(!A||typeof A!="function"&&typeof A!="object")return!1;if(m)return o(A);if(i(A))return!1;var w=a.call(A);return w!==u&&w!==f&&!/^\[object HTML/.test(w)?!1:o(A)},el}var tl,Ny;function SP(){if(Ny)return tl;Ny=1;var t=AP(),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 tl=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)},tl}var rl,Uy;function xP(){return Uy||(Uy=1,rl=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]),rl}var nl,My;function kP(){if(My)return nl;My=1;var t=xP(),e=typeof globalThis>"u"?Qr:globalThis;return nl=function(){for(var n=[],s=0;s<t.length;s++)typeof e[t[s]]=="function"&&(n[n.length]=t[s]);return n},nl}var sl={exports:{}},il,Fy;function TP(){if(Fy)return il;Fy=1;var t=wu(),e=xw(),r=Ia(),n=Yi();return il=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.")},il}var ol,jy;function _P(){if(jy)return ol;jy=1;var t=wu(),e=function(){return!!t};return e.hasArrayLengthDefineBug=function(){if(!t)return null;try{return t([],"length",{value:1}).length!==1}catch{return!0}},ol=e,ol}var al,Ly;function PP(){if(Ly)return al;Ly=1;var t=Iw(),e=TP(),r=_P()(),n=Yi(),s=Ia(),i=t("%Math.floor%");return al=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},al}var cl,Hy;function IP(){if(Hy)return cl;Hy=1;var t=Oa(),e=Wh(),r=_w();return cl=function(){return r(t,e,arguments)},cl}var Dy;function OP(){return Dy||(Dy=1,function(t){var e=PP(),r=wu(),n=Kh(),s=IP();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}(sl)),sl.exports}var ul,zy;function Ow(){if(zy)return ul;zy=1;var t=SP(),e=kP(),r=OP(),n=Ba(),s=Yi(),i=Zh(),o=n("Object.prototype.toString"),a=gu()(),c=typeof globalThis>"u"?Qr:globalThis,u=e(),f=n("String.prototype.slice"),l=n("Array.prototype.indexOf",!0)||function(E,S){for(var P=0;P<E.length;P+=1)if(E[P]===S)return P;return-1},p={__proto__:null};a&&s&&i?t(u,function(b){var E=new c[b];if(Symbol.toStringTag in E&&i){var S=i(E),P=s(S,Symbol.toStringTag);if(!P&&S){var A=i(S);P=s(A,Symbol.toStringTag)}p["$"+b]=r(P.get)}}):t(u,function(b){var E=new c[b],S=E.slice||E.set;S&&(p["$"+b]=r(S))});var d=function(E){var S=!1;return t(p,function(P,A){if(!S)try{"$"+P(E)===A&&(S=f(A,1))}catch{}}),S},m=function(E){var S=!1;return t(p,function(P,A){if(!S)try{P(E),S=f(A,1)}catch{}}),S};return ul=function(E){if(!E||typeof E!="object")return!1;if(!a){var S=f(o(E),8,-1);return l(u,S)>-1?S:S!=="Object"?!1:m(E)}return s?d(E):null},ul}var fl,Vy;function BP(){if(Vy)return fl;Vy=1;var t=Ow();return fl=function(r){return!!t(r)},fl}var qy;function CP(){return qy||(qy=1,function(t){var e=gP(),r=EP(),n=Ow(),s=BP();function i(z){return z.call.bind(z)}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(z,Nr){if(typeof z!="object")return!1;try{return Nr(z),!0}catch{return!1}}t.isArgumentsObject=e,t.isGeneratorFunction=r,t.isTypedArray=s;function b(z){return typeof Promise<"u"&&z instanceof Promise||z!==null&&typeof z=="object"&&typeof z.then=="function"&&typeof z.catch=="function"}t.isPromise=b;function E(z){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(z):s(z)||R(z)}t.isArrayBufferView=E;function S(z){return n(z)==="Uint8Array"}t.isUint8Array=S;function P(z){return n(z)==="Uint8ClampedArray"}t.isUint8ClampedArray=P;function A(z){return n(z)==="Uint16Array"}t.isUint16Array=A;function w(z){return n(z)==="Uint32Array"}t.isUint32Array=w;function k(z){return n(z)==="Int8Array"}t.isInt8Array=k;function T(z){return n(z)==="Int16Array"}t.isInt16Array=T;function B(z){return n(z)==="Int32Array"}t.isInt32Array=B;function N(z){return n(z)==="Float32Array"}t.isFloat32Array=N;function $(z){return n(z)==="Float64Array"}t.isFloat64Array=$;function H(z){return n(z)==="BigInt64Array"}t.isBigInt64Array=H;function M(z){return n(z)==="BigUint64Array"}t.isBigUint64Array=M;function V(z){return c(z)==="[object Map]"}V.working=typeof Map<"u"&&V(new Map);function G(z){return typeof Map>"u"?!1:V.working?V(z):z instanceof Map}t.isMap=G;function Q(z){return c(z)==="[object Set]"}Q.working=typeof Set<"u"&&Q(new Set);function W(z){return typeof Set>"u"?!1:Q.working?Q(z):z instanceof Set}t.isSet=W;function K(z){return c(z)==="[object WeakMap]"}K.working=typeof WeakMap<"u"&&K(new WeakMap);function re(z){return typeof WeakMap>"u"?!1:K.working?K(z):z instanceof WeakMap}t.isWeakMap=re;function q(z){return c(z)==="[object WeakSet]"}q.working=typeof WeakSet<"u"&&q(new WeakSet);function I(z){return q(z)}t.isWeakSet=I;function j(z){return c(z)==="[object ArrayBuffer]"}j.working=typeof ArrayBuffer<"u"&&j(new ArrayBuffer);function J(z){return typeof ArrayBuffer>"u"?!1:j.working?j(z):z instanceof ArrayBuffer}t.isArrayBuffer=J;function O(z){return c(z)==="[object DataView]"}O.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&O(new DataView(new ArrayBuffer(1),0,1));function R(z){return typeof DataView>"u"?!1:O.working?O(z):z instanceof DataView}t.isDataView=R;var F=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function ne(z){return c(z)==="[object SharedArrayBuffer]"}function ae(z){return typeof F>"u"?!1:(typeof ne.working>"u"&&(ne.working=ne(new F)),ne.working?ne(z):z instanceof F)}t.isSharedArrayBuffer=ae;function le(z){return c(z)==="[object AsyncFunction]"}t.isAsyncFunction=le;function ue(z){return c(z)==="[object Map Iterator]"}t.isMapIterator=ue;function oe(z){return c(z)==="[object Set Iterator]"}t.isSetIterator=oe;function ie(z){return c(z)==="[object Generator]"}t.isGeneratorObject=ie;function me(z){return c(z)==="[object WebAssembly.Module]"}t.isWebAssemblyCompiledModule=me;function be(z){return m(z,u)}t.isNumberObject=be;function we(z){return m(z,f)}t.isStringObject=we;function ke(z){return m(z,l)}t.isBooleanObject=ke;function tt(z){return o&&m(z,p)}t.isBigIntObject=tt;function Oe(z){return a&&m(z,d)}t.isSymbolObject=Oe;function Rr(z){return be(z)||we(z)||ke(z)||tt(z)||Oe(z)}t.isBoxedPrimitive=Rr;function ds(z){return typeof Uint8Array<"u"&&(J(z)||ae(z))}t.isAnyArrayBuffer=ds,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(z){Object.defineProperty(t,z,{enumerable:!1,value:function(){throw new Error(z+" is not supported in userland")}})})}(hf)),hf}var ll,Gy;function $P(){return Gy||(Gy=1,ll=function(e){return e&&typeof e=="object"&&typeof e.copy=="function"&&typeof e.fill=="function"&&typeof e.readUInt8=="function"}),ll}var Ja={exports:{}},Wy;function RP(){return Wy||(Wy=1,typeof Object.create=="function"?Ja.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Ja.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}}),Ja.exports}var Ky;function Bw(){return Ky||(Ky=1,function(t){var e=Object.getOwnPropertyDescriptors||function(R){for(var F=Object.keys(R),ne={},ae=0;ae<F.length;ae++)ne[F[ae]]=Object.getOwnPropertyDescriptor(R,F[ae]);return ne},r=/%[sdj%]/g;t.format=function(O){if(!k(O)){for(var R=[],F=0;F<arguments.length;F++)R.push(o(arguments[F]));return R.join(" ")}for(var F=1,ne=arguments,ae=ne.length,le=String(O).replace(r,function(oe){if(oe==="%%")return"%";if(F>=ae)return oe;switch(oe){case"%s":return String(ne[F++]);case"%d":return Number(ne[F++]);case"%j":try{return JSON.stringify(ne[F++])}catch{return"[Circular]"}default:return oe}}),ue=ne[F];F<ae;ue=ne[++F])P(ue)||!$(ue)?le+=" "+ue:le+=" "+o(ue);return le},t.deprecate=function(O,R){if(typeof process<"u"&&process.noDeprecation===!0)return O;if(typeof process>"u")return function(){return t.deprecate(O,R).apply(this,arguments)};var F=!1;function ne(){if(!F){if(process.throwDeprecation)throw new Error(R);process.traceDeprecation?console.trace(R):console.error(R),F=!0}return O.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(O){if(O=O.toUpperCase(),!n[O])if(s.test(O)){var R=process.pid;n[O]=function(){var F=t.format.apply(t,arguments);console.error("%s %d: %s",O,R,F)}}else n[O]=function(){};return n[O]};function o(O,R){var F={seen:[],stylize:c};return arguments.length>=3&&(F.depth=arguments[2]),arguments.length>=4&&(F.colors=arguments[3]),S(R)?F.showHidden=R:R&&t._extend(F,R),B(F.showHidden)&&(F.showHidden=!1),B(F.depth)&&(F.depth=2),B(F.colors)&&(F.colors=!1),B(F.customInspect)&&(F.customInspect=!0),F.colors&&(F.stylize=a),f(F,O,F.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(O,R){var F=o.styles[R];return F?"\x1B["+o.colors[F][0]+"m"+O+"\x1B["+o.colors[F][1]+"m":O}function c(O,R){return O}function u(O){var R={};return O.forEach(function(F,ne){R[F]=!0}),R}function f(O,R,F){if(O.customInspect&&R&&V(R.inspect)&&R.inspect!==t.inspect&&!(R.constructor&&R.constructor.prototype===R)){var ne=R.inspect(F,O);return k(ne)||(ne=f(O,ne,F)),ne}var ae=l(O,R);if(ae)return ae;var le=Object.keys(R),ue=u(le);if(O.showHidden&&(le=Object.getOwnPropertyNames(R)),M(R)&&(le.indexOf("message")>=0||le.indexOf("description")>=0))return p(R);if(le.length===0){if(V(R)){var oe=R.name?": "+R.name:"";return O.stylize("[Function"+oe+"]","special")}if(N(R))return O.stylize(RegExp.prototype.toString.call(R),"regexp");if(H(R))return O.stylize(Date.prototype.toString.call(R),"date");if(M(R))return p(R)}var ie="",me=!1,be=["{","}"];if(E(R)&&(me=!0,be=["[","]"]),V(R)){var we=R.name?": "+R.name:"";ie=" [Function"+we+"]"}if(N(R)&&(ie=" "+RegExp.prototype.toString.call(R)),H(R)&&(ie=" "+Date.prototype.toUTCString.call(R)),M(R)&&(ie=" "+p(R)),le.length===0&&(!me||R.length==0))return be[0]+ie+be[1];if(F<0)return N(R)?O.stylize(RegExp.prototype.toString.call(R),"regexp"):O.stylize("[Object]","special");O.seen.push(R);var ke;return me?ke=d(O,R,F,ue,le):ke=le.map(function(tt){return m(O,R,F,ue,tt,me)}),O.seen.pop(),b(ke,ie,be)}function l(O,R){if(B(R))return O.stylize("undefined","undefined");if(k(R)){var F="'"+JSON.stringify(R).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return O.stylize(F,"string")}if(w(R))return O.stylize(""+R,"number");if(S(R))return O.stylize(""+R,"boolean");if(P(R))return O.stylize("null","null")}function p(O){return"["+Error.prototype.toString.call(O)+"]"}function d(O,R,F,ne,ae){for(var le=[],ue=0,oe=R.length;ue<oe;++ue)q(R,String(ue))?le.push(m(O,R,F,ne,String(ue),!0)):le.push("");return ae.forEach(function(ie){ie.match(/^\d+$/)||le.push(m(O,R,F,ne,ie,!0))}),le}function m(O,R,F,ne,ae,le){var ue,oe,ie;if(ie=Object.getOwnPropertyDescriptor(R,ae)||{value:R[ae]},ie.get?ie.set?oe=O.stylize("[Getter/Setter]","special"):oe=O.stylize("[Getter]","special"):ie.set&&(oe=O.stylize("[Setter]","special")),q(ne,ae)||(ue="["+ae+"]"),oe||(O.seen.indexOf(ie.value)<0?(P(F)?oe=f(O,ie.value,null):oe=f(O,ie.value,F-1),oe.indexOf(`
|
|
74
|
-
`)>-1&&(le?oe=oe.split(`
|
|
75
|
-
`).map(function(me){return" "+me}).join(`
|
|
76
|
-
`).slice(2):oe=`
|
|
77
|
-
`+oe.split(`
|
|
78
|
-
`).map(function(me){return" "+me}).join(`
|
|
79
|
-
`))):oe=O.stylize("[Circular]","special")),B(ue)){if(le&&ae.match(/^\d+$/))return oe;ue=JSON.stringify(""+ae),ue.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(ue=ue.slice(1,-1),ue=O.stylize(ue,"name")):(ue=ue.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),ue=O.stylize(ue,"string"))}return ue+": "+oe}function b(O,R,F){var ne=O.reduce(function(ae,le){return le.indexOf(`
|
|
80
|
-
`)>=0,ae+le.replace(/\u001b\[\d\d?m/g,"").length+1},0);return ne>60?F[0]+(R===""?"":R+`
|
|
81
|
-
`)+" "+O.join(`,
|
|
82
|
-
`)+" "+F[1]:F[0]+R+" "+O.join(", ")+" "+F[1]}t.types=CP();function E(O){return Array.isArray(O)}t.isArray=E;function S(O){return typeof O=="boolean"}t.isBoolean=S;function P(O){return O===null}t.isNull=P;function A(O){return O==null}t.isNullOrUndefined=A;function w(O){return typeof O=="number"}t.isNumber=w;function k(O){return typeof O=="string"}t.isString=k;function T(O){return typeof O=="symbol"}t.isSymbol=T;function B(O){return O===void 0}t.isUndefined=B;function N(O){return $(O)&&Q(O)==="[object RegExp]"}t.isRegExp=N,t.types.isRegExp=N;function $(O){return typeof O=="object"&&O!==null}t.isObject=$;function H(O){return $(O)&&Q(O)==="[object Date]"}t.isDate=H,t.types.isDate=H;function M(O){return $(O)&&(Q(O)==="[object Error]"||O instanceof Error)}t.isError=M,t.types.isNativeError=M;function V(O){return typeof O=="function"}t.isFunction=V;function G(O){return O===null||typeof O=="boolean"||typeof O=="number"||typeof O=="string"||typeof O=="symbol"||typeof O>"u"}t.isPrimitive=G,t.isBuffer=$P();function Q(O){return Object.prototype.toString.call(O)}function W(O){return O<10?"0"+O.toString(10):O.toString(10)}var K=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function re(){var O=new Date,R=[W(O.getHours()),W(O.getMinutes()),W(O.getSeconds())].join(":");return[O.getDate(),K[O.getMonth()],R].join(" ")}t.log=function(){console.log("%s - %s",re(),t.format.apply(t,arguments))},t.inherits=RP(),t._extend=function(O,R){if(!R||!$(R))return O;for(var F=Object.keys(R),ne=F.length;ne--;)O[F[ne]]=R[F[ne]];return O};function q(O,R){return Object.prototype.hasOwnProperty.call(O,R)}var I=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;t.promisify=function(R){if(typeof R!="function")throw new TypeError('The "original" argument must be of type Function');if(I&&R[I]){var F=R[I];if(typeof F!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(F,I,{value:F,enumerable:!1,writable:!1,configurable:!0}),F}function F(){for(var ne,ae,le=new Promise(function(ie,me){ne=ie,ae=me}),ue=[],oe=0;oe<arguments.length;oe++)ue.push(arguments[oe]);ue.push(function(ie,me){ie?ae(ie):ne(me)});try{R.apply(this,ue)}catch(ie){ae(ie)}return le}return Object.setPrototypeOf(F,Object.getPrototypeOf(R)),I&&Object.defineProperty(F,I,{value:F,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(F,e(R))},t.promisify.custom=I;function j(O,R){if(!O){var F=new Error("Promise was rejected with a falsy value");F.reason=O,O=F}return R(O)}function J(O){if(typeof O!="function")throw new TypeError('The "original" argument must be of type Function');function R(){for(var F=[],ne=0;ne<arguments.length;ne++)F.push(arguments[ne]);var ae=F.pop();if(typeof ae!="function")throw new TypeError("The last argument must be of type Function");var le=this,ue=function(){return ae.apply(le,arguments)};O.apply(this,F).then(function(oe){process.nextTick(ue.bind(null,null,oe))},function(oe){process.nextTick(j.bind(null,oe,ue))})}return Object.setPrototypeOf(R,Object.getPrototypeOf(O)),Object.defineProperties(R,e(O)),R}t.callbackify=J}(df)),df}Object.defineProperty(bu,"__esModule",{value:!0});bu.decode=NP;bu.encode=UP;const Cw=qs;function NP(t){return(Cw.isBrowser?new TextDecoder("utf-8"):new(Bw()).TextDecoder("utf-8")).decode(t)}function UP(t){return(Cw.isBrowser?new TextEncoder:new(Bw()).TextEncoder("utf-8")).encode(t)}var vu={},vd={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(t,e){var r=Qs,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)}})(vd,vd.exports);var MP=vd.exports,Qa=MP.Buffer;function FP(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=Qa.from(d)),!Qa.isBuffer(d))throw new TypeError("Expected Buffer");if(d.length===0)return"";for(var m=0,b=0,E=0,S=d.length;E!==S&&d[E]===0;)E++,m++;for(var P=(S-E)*u+1>>>0,A=new Uint8Array(P);E!==S;){for(var w=d[E],k=0,T=P-1;(w!==0||k<b)&&T!==-1;T--,k++)w+=256*A[T]>>>0,A[T]=w%o>>>0,w=w/o>>>0;if(w!==0)throw new Error("Non-zero carry");b=k,E++}for(var B=P-b;B!==P&&A[B]===0;)B++;for(var N=a.repeat(m);B<P;++B)N+=t.charAt(A[B]);return N}function l(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return Qa.alloc(0);for(var m=0,b=0,E=0;d[m]===a;)b++,m++;for(var S=(d.length-m)*c+1>>>0,P=new Uint8Array(S);m<d.length;){var A=d.charCodeAt(m);if(A>255)return;var w=e[A];if(w===255)return;for(var k=0,T=S-1;(w!==0||k<E)&&T!==-1;T--,k++)w+=o*P[T]>>>0,P[T]=w%256>>>0,w=w/256>>>0;if(w!==0)throw new Error("Non-zero carry");E=k,m++}for(var B=S-E;B!==S&&P[B]===0;)B++;var N=Qa.allocUnsafe(b+(S-B));N.fill(0,0,b);for(var $=b;B!==S;)N[$++]=P[B++];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 jP=FP,LP=jP,HP="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",DP=LP(HP),zP=Qr&&Qr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vu,"__esModule",{value:!0});vu.encode=VP;vu.decode=qP;const $w=zP(DP);function VP(t){return $w.default.encode(t)}function qP(t){return $w.default.decode(t)}var Eu={};Object.defineProperty(Eu,"__esModule",{value:!0});Eu.encode=WP;Eu.decode=KP;const GP=Qs;function WP(t){return t.toString("base64")}function KP(t){return GP.Buffer.from(t,"base64")}var ZP=Qr&&Qr.__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]}),YP=Qr&&Qr.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Au=Qr&&Qr.__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)&&ZP(e,t,r);return YP(e,t),e};Object.defineProperty(wn,"__esModule",{value:!0});wn.base64=wn.bs58=wn.utf8=Rw=wn.hex=void 0;var Rw=wn.hex=Au(mu);wn.utf8=Au(bu);wn.bs58=Au(vu);wn.base64=Au(Eu);class es{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 mr.web3.PublicKey(r)}catch(o){throw new Error("Error decoding redeemer. Ensure it is a valid base58 encoded",{cause:o})}try{this.amount=new kl.BigNumber(s.toString(10),10),this.expiresIn=new kl.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 es(n,s,i,a,o)}}function Nw(t){let e;try{e=[...Rw.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 Uw{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===g.Network.MAINNET?fd.mainnet:fd.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)??I1[n];this.auth=s;try{this.relayer=new mr.web3.PublicKey(c)}catch(d){throw new Error("Error decoding relayer public key. Ensure it is base58 encoded.",{cause:d})}this.relayerClient=new Pa(this.auth,this.url);const u=a.spl?{...G0,metadata:{...G0.metadata??{}},address:a.spl}:void 0,f=a.native?{...wd,metadata:{...wd.metadata??{}},address:a.native}:void 0;try{this.splProgram=u?new mr.Program(u,this.provider):void 0,this.nativeProgram=f?new mr.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 g.Err("Order is required");if(X.isSolanaOrderResponse(e))return this.initiateWithCreateOrderResponse(e);try{const r=X.ChainAsset.fromString(e.source_swap.asset);return X.isSolanaNativeToken(r.chain,r.symbol)?this.nativeProgram?await this.initiateNativeSwap(e):g.Err("Native program is not initialized"):this.splProgram?await this.initiateSplSwap(e):g.Err("SPL program is not initialized")}catch(r){return g.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 g.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?g.Err(`Error from Relayer: ${i.error}`):await Da(this.provider.connection,i.result)?g.Ok(i.result):g.Err("Relayer: Failed to Initiate swap, confirmation timed out")}catch(n){return g.Err(`Failed to send SPL transaction: ${n instanceof Error?n.message:String(n)}`)}}async initiateViaHTLC(e,r){if(!r)return g.Err("Order is required");try{const n=await this.provider.sendAndConfirm(e);return n?await Da(this.provider.connection,n)?g.Ok(n):g.Err("HTLC: Failed to Initiate swap, confirmation timed out"):g.Err("Failed to initiate HTLC transaction")}catch(n){return g.Err(`Error initiating swap: ${n instanceof Error?n.message:String(n)}`)}}async initiateSplSwap(e){if(!this.splProgram)return g.Err("SPL program is not initialized");try{const{redeemer:r,secretHash:n,amount:s,expiresIn:i}=es.from(e),o=this.splProgram.methods.initiate(i,r,n,s,null),a=await Ch(e.source_swap.asset,this.url);if(!a.ok)return g.Err(a.error);const{tokenAddress:c}=a.val,u=new mr.web3.PublicKey(c),f={initiator:this.provider.publicKey,mint:u,initiatorTokenAccount:d6.getAssociatedTokenAddressSync(u,this.provider.publicKey),sponsor:this.relayer},l=await o.accounts(f).transaction();return this.sendSplViaRelayer(l,e.order_id)}catch(r){return g.Err(`Error initiating SPL swap: ${r instanceof Error?r.message:String(r)}`)}}async initiateNativeSwap(e){if(!this.nativeProgram)return g.Err("Native program is not initialized");try{const{redeemer:r,secretHash:n,amount:s,expiresIn:i}=es.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 g.Err(`Error initiating native swap: ${r instanceof Error?r.message:String(r)}`)}}async initiateWithCreateOrderResponse(e){if(!this.relayer)return g.Err("No relayer address");const{versioned_tx:r,versioned_tx_gasless:n}=e;if(n===null)try{const i=Buffer.from(r,"base64"),o=mr.web3.VersionedTransaction.deserialize(i),a=await this.provider.sendAndConfirm(o);return await Da(this.provider.connection,a)?g.Ok(a):g.Err("Failed to initiate HTLC transaction")}catch(i){return g.Err(`Error in non-gasless flow: ${i}`)}const s=await this.auth.getAuthHeaders();if(!s.ok)return g.Err(s.error);try{const i=mr.web3.VersionedTransaction.deserialize(Buffer.from(n,"base64")),o=await this.provider.wallet.signTransaction(i);if(!o.signatures[0])return g.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?g.Err(u.error):u.val?g.Ok(u.val):g.Err("Initiate: No result found")}catch(i){return g.Err(`Error initiating with create order response: ${i}`)}}async redeem(e,r){try{const n=Nw(r),s=await this.relayerClient.redeem(e.order_id,Buffer.from(n).toString("hex"));if(s.error||!s.val)return g.Err(`Redeem: Error from relayer: ${s.error}`);const i=s.val;return await Da(this.provider.connection,i)?g.Ok(i):g.Err("Redeem: Timed out waiting for confirmation")}catch(n){return console.error("Redeem: Caught exception:",n),g.Err(`Error redeeming: ${n}`)}}async refund(){return g.Err("Refund is automatically handled by the relayer.")}}const Mw="1.38.0",XP="1.57.0",JP={"-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 Fw extends Error{}class jw extends Fw{constructor(e,r){super(e),this.code=r,this.type=JP[r]??"ServerError"}}class QP extends Fw{constructor(e,r,n){super(e),this.status=r,this.statusText=n}}var Lw=t=>{throw TypeError(t)},Yh=(t,e,r)=>e.has(t)||Lw("Cannot "+r),Me=(t,e,r)=>(Yh(t,e,"read from private field"),r?r.call(t):e.get(t)),ms=(t,e,r)=>e.has(t)?Lw("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Pi=(t,e,r,n)=>(Yh(t,e,"write to private field"),e.set(t,r),r),Hw=(t,e,r)=>(Yh(t,e,"access private method"),r),eI=(t,e,r,n)=>({set _(s){Pi(t,e,s)},get _(){return Me(t,e,n)}}),Gn,So,yn,As,ra,Ss,kc,Dw,zw;function tI(t){const e=new URL(t);return e.protocol=e.protocol.replace("http","ws"),e.toString()}const rI={WebSocketConstructor:typeof WebSocket<"u"?WebSocket:void 0,callTimeout:3e4,reconnectTimeout:3e3,maxReconnects:5};class nI{constructor(e,r={}){if(ms(this,kc),ms(this,Gn,0),ms(this,So,0),ms(this,yn,null),ms(this,As,null),ms(this,ra,new Set),ms(this,Ss,new Map),this.endpoint=e,this.options={...rI,...r},!this.options.WebSocketConstructor)throw new Error("Missing WebSocket constructor");this.endpoint.startsWith("http")&&(this.endpoint=tI(this.endpoint))}async makeRequest(e,r,n){const s=await Hw(this,kc,Dw).call(this);return new Promise((i,o)=>{Pi(this,Gn,Me(this,Gn)+1),Me(this,Ss).set(Me(this,Gn),{resolve:i,reject:o,timeout:setTimeout(()=>{Me(this,Ss).delete(Me(this,Gn)),o(new Error(`Request timeout: ${e}`))},this.options.callTimeout)}),n==null||n.addEventListener("abort",()=>{Me(this,Ss).delete(Me(this,Gn)),o(n.reason)}),s.send(JSON.stringify({jsonrpc:"2.0",id:Me(this,Gn),method:e,params:r}))}).then(({error:i,result:o})=>{if(i)throw new jw(i.message,i.code);return o})}async subscribe(e){const r=new sI(e);return Me(this,ra).add(r),await r.subscribe(this),()=>r.unsubscribe(this)}}Gn=new WeakMap;So=new WeakMap;yn=new WeakMap;As=new WeakMap;ra=new WeakMap;Ss=new WeakMap;kc=new WeakSet;Dw=function(){return Me(this,As)?Me(this,As):(Pi(this,As,new Promise(t=>{var e;(e=Me(this,yn))==null||e.close(),Pi(this,yn,new this.options.WebSocketConstructor(this.endpoint)),Me(this,yn).addEventListener("open",()=>{Pi(this,So,0),t(Me(this,yn))}),Me(this,yn).addEventListener("close",()=>{eI(this,So)._++,Me(this,So)<=this.options.maxReconnects&&setTimeout(()=>{Hw(this,kc,zw).call(this)},this.options.reconnectTimeout)}),Me(this,yn).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&&Me(this,Ss).has(n.id)){const{resolve:s,timeout:i}=Me(this,Ss).get(n.id);clearTimeout(i),s(n)}else if("params"in n){const{params:s}=n;Me(this,ra).forEach(i=>{i.subscriptionId===s.subscription&&s.subscription===i.subscriptionId&&i.onMessage(s.result)})}})})),Me(this,As))};zw=async function(){var t;return(t=Me(this,yn))==null||t.close(),Pi(this,As,null),Promise.allSettled([...Me(this,ra)].map(e=>e.subscribe(this)))};class sI{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 Vw=t=>{throw TypeError(t)},Xh=(t,e,r)=>e.has(t)||Vw("Cannot "+r),or=(t,e,r)=>(Xh(t,e,"read from private field"),r?r.call(t):e.get(t)),ec=(t,e,r)=>e.has(t)?Vw("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Ed=(t,e,r,n)=>(Xh(t,e,"write to private field"),e.set(t,r),r),iI=(t,e,r)=>(Xh(t,e,"access private method"),r),bo,br,xo,Ad,qw;class oI{constructor(e){ec(this,Ad),ec(this,bo,0),ec(this,br),ec(this,xo),Ed(this,br,e)}fetch(e,r){const n=or(this,br).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;Ed(this,bo,or(this,bo)+1);const r=await this.fetch(((s=or(this,br).rpc)==null?void 0:s.url)??or(this,br).url,{method:"POST",signal:e.signal,headers:{"Content-Type":"application/json","Client-Sdk-Type":"typescript","Client-Sdk-Version":Mw,"Client-Target-Api-Version":XP,"Client-Request-Method":e.method,...(i=or(this,br).rpc)==null?void 0:i.headers},body:JSON.stringify({jsonrpc:"2.0",id:or(this,bo),method:e.method,params:e.params})});if(!r.ok)throw new QP(`Unexpected status code: ${r.status}`,r.status,r.statusText);const n=await r.json();if("error"in n&&n.error!=null)throw new jw(n.error.message,n.error.code);return n.result}async subscribe(e){const r=await iI(this,Ad,qw).call(this).subscribe(e);return e.signal&&(e.signal.throwIfAborted(),e.signal.addEventListener("abort",()=>{r()})),async()=>!!await r()}}bo=new WeakMap;br=new WeakMap;xo=new WeakMap;Ad=new WeakSet;qw=function(){var t;if(!or(this,xo)){const e=or(this,br).WebSocketConstructor??WebSocket;if(!e)throw new Error("The current environment does not support WebSocket, you can provide a WebSocketConstructor in the options for SuiHTTPTransport.");Ed(this,xo,new nI(((t=or(this,br).websocket)==null?void 0:t.url)??or(this,br).url,{WebSocketConstructor:e,...or(this,br).websocket}))}return or(this,xo)};function Zy(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 aI(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Gw(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 Sd(t,e){if(typeof e!="string")throw new Error(`${t}: string expected`);return!0}function Ww(t){if(!Number.isSafeInteger(t))throw new Error(`invalid integer: ${t}`)}function xd(t){if(!Array.isArray(t))throw new Error("array expected")}function Kw(t,e){if(!Gw(!0,e))throw new Error(`${t}: array of strings expected`)}function cI(t,e){if(!Gw(!1,e))throw new Error(`${t}: array of numbers expected`)}function uI(...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 fI(t){const e=typeof t=="string"?t.split(""):t,r=e.length;Kw("alphabet",e);const n=new Map(e.map((s,i)=>[s,i]));return{encode:s=>(xd(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=>(xd(s),s.map(i=>{Sd("alphabet.decode",i);const o=n.get(i);if(o===void 0)throw new Error(`Unknown letter: "${i}". Allowed: ${t}`);return o}))}}function lI(t=""){return Sd("join",t),{encode:e=>(Kw("join.decode",e),e.join(t)),decode:e=>(Sd("join.decode",e),e.split(t))}}function Yy(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(xd(t),!t.length)return[];let n=0;const s=[],i=Array.from(t,a=>{if(Ww(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 dI(t){Ww(t);const e=2**8;return{encode:r=>{if(!aI(r))throw new Error("radix.encode input should be Uint8Array");return Yy(Array.from(r),e,t)},decode:r=>(cI("radix.decode",r),Uint8Array.from(Yy(r,t,e)))}}const hI=t=>uI(dI(58),fI(t),lI("")),Zw=hI("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),Su=t=>Zw.encode(t),na=t=>Zw.decode(t);function qt(t){return Uint8Array.from(atob(t),e=>e.charCodeAt(0))}const dl=8192;function wt(t){if(t.length<dl)return btoa(String.fromCharCode(...t));let e="";for(var r=0;r<t.length;r+=dl){const n=t.slice(r,r+dl);e+=String.fromCharCode(...n)}return btoa(e)}function Yw(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 ji(t){return t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),"")}function xu(t,e){return Array.from({length:Math.ceil(t.length/e)},(r,n)=>t.slice(n*e,(n+1)*e))}class Xw{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=bI(r),this._batchScheduleFn=gI(r),this._cacheKeyFn=wI(r),this._cacheMap=vI(r),this._batch=null,this.name=EI(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=yI(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(!Jw(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 pI=typeof process=="object"&&typeof process.nextTick=="function"?function(t){hl||(hl=Promise.resolve()),hl.then(()=>{process.nextTick(t)})}:typeof setImmediate=="function"?function(t){setImmediate(t)}:function(t){setTimeout(t)};let hl;function yI(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(()=>{mI(t,r)}),r}function mI(t,e){if(e.hasDispatched=!0,e.keys.length===0){kd(e);return}let r;try{r=t._batchLoadFn(e.keys)}catch(n){return pl(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 pl(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(!Jw(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.
|
|
83
|
-
|
|
84
|
-
Keys:
|
|
85
|
-
${String(e.keys)}
|
|
86
|
-
|
|
87
|
-
Values:
|
|
88
|
-
${String(n)}`);kd(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=>{pl(t,e,n)})}function pl(t,e,r){kd(e);for(let n=0;n<e.keys.length;n++)t.clear(e.keys[n]),e.callbacks[n].reject(r)}function kd(t){if(t.cacheHits)for(let e=0;e<t.cacheHits.length;e++)t.cacheHits[e]()}function bI(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 gI(t){const e=t&&t.batchScheduleFn;if(e===void 0)return pI;if(typeof e!="function")throw new TypeError(`batchScheduleFn must be a function: ${e}`);return e}function wI(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 vI(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 EI(t){return t&&t.name?t.name:null}function Jw(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 Tc(t){const e=[];let r=0;if(t===0)return[0];for(;t>0;)e[r]=t&127,(t>>=7)&&(e[r]|=128),r+=1;return e}function AI(t){let e=0,r=0,n=0;for(;;){const s=t[n];if(n+=1,e|=(s&127)<<r,!(s&128))break;r+=7}return{value:e,length:n}}class SI{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}=AI(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 xI(t,e){switch(e){case"base58":return Su(t);case"base64":return wt(t);case"hex":return ji(t);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function Qw(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 kI{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,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)}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 yl(BigInt(e),8).forEach(r=>this.write8(r)),this}write128(e){return yl(BigInt(e),16).forEach(r=>this.write8(r)),this}write256(e){return yl(BigInt(e),32).forEach(r=>this.write8(r)),this}writeULEB(e){return Tc(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 xI(this.toBytes(),e)}}function yl(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 e2=t=>{throw TypeError(t)},t2=(t,e,r)=>e.has(t)||e2("Cannot "+r),gr=(t,e,r)=>(t2(t,e,"read from private field"),r?r.call(t):e.get(t)),_c=(t,e,r)=>e.has(t)?e2("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Pc=(t,e,r,n)=>(t2(t,e,"write to private field"),e.set(t,r),r),pi,go,dc,Wn;const TI=class r2{constructor(e){_c(this,pi),_c(this,go),this.name=e.name,this.read=e.read,this.serializedSize=e.serializedSize??(()=>null),Pc(this,pi,e.write),Pc(this,go,e.serialize??((r,n)=>{const s=new kI({initialSize:this.serializedSize(r)??void 0,...n});return gr(this,pi).call(this,r,s),s.toBytes()})),this.validate=e.validate??(()=>{})}write(e,r){this.validate(e),gr(this,pi).call(this,e,r)}serialize(e,r){return this.validate(e),new _I(this,gr(this,go).call(this,e,r))}parse(e){const r=new SI(e);return this.read(r)}fromHex(e){return this.parse(Yw(e))}fromBase58(e){return this.parse(na(e))}fromBase64(e){return this.parse(qt(e))}transform({name:e,input:r,output:n,validate:s}){return new r2({name:e??this.name,read:i=>n?n(this.read(i)):this.read(i),write:(i,o)=>gr(this,pi).call(this,r?r(i):i,o),serializedSize:i=>this.serializedSize(r?r(i):i),serialize:(i,o)=>gr(this,go).call(this,r?r(i):i,o),validate:i=>{s==null||s(i),this.validate(r?r(i):i)}})}};pi=new WeakMap;go=new WeakMap;let en=TI;const n2=Symbol.for("@mysten/serialized-bcs");function Jh(t){return!!t&&typeof t=="object"&&t[n2]===!0}class _I{constructor(e,r){_c(this,dc),_c(this,Wn),Pc(this,dc,e),Pc(this,Wn,r)}get[n2](){return!0}toBytes(){return gr(this,Wn)}toHex(){return ji(gr(this,Wn))}toBase64(){return wt(gr(this,Wn))}toBase58(){return Su(gr(this,Wn))}parse(){return gr(this,dc).parse(gr(this,Wn))}}dc=new WeakMap;Wn=new WeakMap;function Ic({size:t,...e}){return new en({...e,serializedSize:()=>t})}function ml({readMethod:t,writeMethod:e,...r}){return Ic({...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 bl({readMethod:t,writeMethod:e,...r}){return Ic({...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 PI({serialize:t,...e}){const r=new en({...e,serialize:t,write:(n,s)=>{for(const i of r.serialize(n).toBytes())s.write8(i)}});return r}function II({toBytes:t,fromBytes:e,...r}){return new en({...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=Tc(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 OI(t){let e=null;function r(){return e||(e=t()),e}return new en({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 BI extends en{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 CI extends en{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 ${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 ${name}}`);const[o]=i;if(!Object.hasOwn(e,o))throw new TypeError(`Invalid enum variant ${o}`)}})}}class $I extends en{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 RI(t,e,r){return new en({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 NI(t){return _.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 UI(t,e){return new en({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 MI(t,e){return _.vector(_.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 _={u8(t){return ml({readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...t,name:(t==null?void 0:t.name)??"u8"})},u16(t){return ml({readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...t,name:(t==null?void 0:t.name)??"u16"})},u32(t){return ml({readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...t,name:(t==null?void 0:t.name)??"u32"})},u64(t){return bl({readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...t,name:(t==null?void 0:t.name)??"u64"})},u128(t){return bl({readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...t,name:(t==null?void 0:t.name)??"u128"})},u256(t){return bl({readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...t,name:(t==null?void 0:t.name)??"u256"})},bool(t){return Ic({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 PI({read:e=>e.readULEB(),serialize:e=>Uint8Array.from(Tc(e)),...t,name:(t==null?void 0:t.name)??"uleb128"})},bytes(t,e){return Ic({size:t,read:r=>r.readBytes(t),write:(r,n)=>{const s=new Uint8Array(r);for(let i=0;i<t;i++)n.write8(s[i]??0)},...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 en({read:e=>{const r=e.readULEB();return e.readBytes(r)},write:(e,r)=>{const n=new Uint8Array(e);r.writeULEB(n.length);for(let s=0;s<n.length;s++)r.write8(n[s]??0)},...t,name:(t==null?void 0:t.name)??"vector<u8>",serializedSize:e=>{const r="length"in e?e.length:null;return r==null?null:Tc(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 II({toBytes:e=>new TextEncoder().encode(e),fromBytes:e=>new TextDecoder().decode(e),...t,name:(t==null?void 0:t.name)??"string"})},fixedArray:RI,option:NI,vector:UI,tuple(t,e){return new $I({fields:t,...e})},struct(t,e,r){return new BI({name:t,fields:e,...r})},enum(t,e,r){return new CI({name:t,fields:e,...r})},map:MI,lazy(t){return OI(t)}};var s2=t=>{throw TypeError(t)},i2=(t,e,r)=>e.has(t)||s2("Cannot "+r),bt=(t,e,r)=>(i2(t,e,"read from private field"),e.get(t)),Xy=(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),Jy=(t,e,r,n)=>(i2(t,e,"write to private field"),e.set(t,r),r),gs,_t;const FI=class o2{constructor({prefix:e,cache:r}={}){Xy(this,gs),Xy(this,_t),Jy(this,gs,e??[]),Jy(this,_t,r??new Map)}read(e,r){const n=[bt(this,gs),...e].join(":");if(bt(this,_t).has(n))return bt(this,_t).get(n);const s=r();return bt(this,_t).set(n,s),typeof s=="object"&&s!==null&&"then"in s?Promise.resolve(s).then(i=>(bt(this,_t).set(n,i),i)).catch(i=>{throw bt(this,_t).delete(n),i}):s}readSync(e,r){const n=[bt(this,gs),...e].join(":");if(bt(this,_t).has(n))return bt(this,_t).get(n);const s=r();return bt(this,_t).set(n,s),s}clear(e){const r=[...bt(this,gs),...e??[]].join(":");if(!r){bt(this,_t).clear();return}for(const n of bt(this,_t).keys())n.startsWith(r)&&bt(this,_t).delete(n)}scope(e){return new o2({prefix:[...bt(this,gs),...Array.isArray(e)?e:[e]],cache:bt(this,_t)})}};gs=new WeakMap;_t=new WeakMap;let jI=FI;class a2{constructor({network:e,base:r,cache:n=(r==null?void 0:r.cache)??new jI}){this.network=e,this.base=r??this,this.cache=n}$extend(...e){return Object.create(this,Object.fromEntries(e.map(r=>{if("experimental_asClientExtension"in r){const{name:n,register:s}=r.experimental_asClientExtension();return[n,{value:s(this)}]}return[r.name,{value:r.register(this)}]})))}}const c2=/^(?!.*(^(?!@)|[-.@])($|[-.@]))(?:[a-z0-9-]{0,63}(?:\.[a-z0-9-]{0,63})*)?@[a-z0-9-]{0,63}$/i,u2=/^(?!.*(^|[-.])($|[-.]))(?:[a-z0-9-]{0,63}\.)+sui$/i,LI=235;function HI(t){return t.length>LI?!1:t.includes("@")?c2.test(t):u2.test(t)}function DI(t,e="at"){const r=t.toLowerCase();let n;if(r.includes("@")){if(!c2.test(r))throw new Error(`Invalid SuiNS name ${t}`);const[s,i]=r.split("@");n=[...s?s.split("."):[],i]}else{if(!u2.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 zI=/^([a-z0-9]+(?:-[a-z0-9]+)*)$/,VI=/^\d+$/,qI=64,f2="/",zt=t=>{const e=t.split(f2);if(e.length<2||e.length>3)return!1;const[r,n,s]=e;return s!==void 0&&!VI.test(s)||!HI(r)?!1:zI.test(n)&&n.length<qI},GI=t=>{const e=t.split(/::|<|>|,/);for(const r of e)if(r.includes(f2)&&!zt(r))return!1;return!0},WI=32;function Qy(t){try{return na(t).length===WI}catch{return!1}}const ku=32;function wr(t){return ZI(t)&&YI(t)===ku}function tc(t){return wr(t)}function KI(t){return t.includes("::")?Gs(t):t}function Gs(t){const[e,r]=t.split("::"),n=zt(e),s=t.slice(e.length+r.length+4),i=s.includes("<")?s.slice(0,s.indexOf("<")):s,o=s.includes("<")?Qw(s.slice(s.indexOf("<")+1,s.lastIndexOf(">"))).map(a=>KI(a.trim())):[];return{address:n?e:xe(e),module:r,name:i,typeParams:o}}function Oc(t){const{address:e,module:r,name:n,typeParams:s}=typeof t=="string"?Gs(t):t,i=(s==null?void 0:s.length)>0?`<${s.map(o=>typeof o=="string"?o:Oc(o)).join(",")}>`:"";return`${e}::${r}::${n}${i}`}function xe(t,e=!1){let r=t.toLowerCase();return!e&&r.startsWith("0x")&&(r=r.slice(2)),`0x${r.padStart(ku*2,"0")}`}function vn(t,e=!1){return xe(t,e)}function ZI(t){return/^(0x|0X)?[a-fA-F0-9]+$/.test(t)&&t.length%2===0}function YI(t){return/^(0x|0X)/.test(t)?(t.length-2)/2:t.length/2}const XI=/^vector<(.+)>$/,JI=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;class Er{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(XI);if(n)return{vector:Er.parseFromStr(n[1],r)};const s=e.match(JI);if(s)return{struct:{address:r?xe(s[1]):s[1],module:s[2],name:s[3],typeParams:s[5]===void 0?[]:Er.parseStructTypeArgs(s[5],r)}};throw new Error(`Encountered unexpected token when parsing type args for ${e}`)}static parseStructTypeArgs(e,r=!1){return Qw(e).map(n=>Er.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<${Er.tagToString(e.vector)}>`;if("struct"in e){const r=e.struct,n=r.typeParams.map(Er.tagToString).join(", ");return`${r.address}::${r.module}::${r.name}${n?`<${n}>`:""}`}throw new Error("Invalid TypeTag")}}function QI(t){return _.u64({name:"unsafe_u64",...t}).transform({input:e=>e,output:e=>Number(e)})}function eO(t){return _.enum("Option",{None:null,Some:t})}const Ne=_.bytes(ku).transform({validate:t=>{const e=typeof t=="string"?t:ji(t);if(!e||!wr(xe(e)))throw new Error(`Invalid Sui address ${e}`)},input:t=>typeof t=="string"?Yw(xe(t)):t,output:t=>xe(ji(t))}),Sr=_.vector(_.u8()).transform({name:"ObjectDigest",input:t=>na(t),output:t=>Su(new Uint8Array(t)),validate:t=>{if(na(t).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),ir=_.struct("SuiObjectRef",{objectId:Ne,version:_.u64(),digest:Sr}),l2=_.struct("SharedObjectRef",{objectId:Ne,initialSharedVersion:_.u64(),mutable:_.bool()}),d2=_.enum("ObjectArg",{ImmOrOwnedObject:ir,SharedObject:l2,Receiving:ir}),xs=_.enum("Owner",{AddressOwner:Ne,ObjectOwner:Ne,Shared:_.struct("Shared",{initialSharedVersion:_.u64()}),Immutable:null,ConsensusAddressOwner:_.struct("ConsensusAddressOwner",{owner:Ne,startVersion:_.u64()})}),h2=_.enum("CallArg",{Pure:_.struct("Pure",{bytes:_.vector(_.u8()).transform({input:t=>typeof t=="string"?qt(t):t,output:t=>wt(new Uint8Array(t))})}),Object:d2}),Qh=_.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:_.lazy(()=>Qh),struct:_.lazy(()=>w2),u16:null,u32:null,u256:null}),ep=Qh.transform({input:t=>typeof t=="string"?Er.parseFromStr(t,!0):t,output:t=>Er.tagToString(t)}),Gr=_.enum("Argument",{GasCoin:null,Input:_.u16(),Result:_.u16(),NestedResult:_.tuple([_.u16(),_.u16()])}),p2=_.struct("ProgrammableMoveCall",{package:Ne,module:_.string(),function:_.string(),typeArguments:_.vector(ep),arguments:_.vector(Gr)}),y2=_.enum("Command",{MoveCall:p2,TransferObjects:_.struct("TransferObjects",{objects:_.vector(Gr),address:Gr}),SplitCoins:_.struct("SplitCoins",{coin:Gr,amounts:_.vector(Gr)}),MergeCoins:_.struct("MergeCoins",{destination:Gr,sources:_.vector(Gr)}),Publish:_.struct("Publish",{modules:_.vector(_.vector(_.u8()).transform({input:t=>typeof t=="string"?qt(t):t,output:t=>wt(new Uint8Array(t))})),dependencies:_.vector(Ne)}),MakeMoveVec:_.struct("MakeMoveVec",{type:eO(ep).transform({input:t=>t===null?{None:!0}:{Some:t},output:t=>t.Some??null}),elements:_.vector(Gr)}),Upgrade:_.struct("Upgrade",{modules:_.vector(_.vector(_.u8()).transform({input:t=>typeof t=="string"?qt(t):t,output:t=>wt(new Uint8Array(t))})),dependencies:_.vector(Ne),package:Ne,ticket:Gr})}),m2=_.struct("ProgrammableTransaction",{inputs:_.vector(h2),commands:_.vector(y2)}),b2=_.enum("TransactionKind",{ProgrammableTransaction:m2,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),g2=_.enum("TransactionExpiration",{None:null,Epoch:QI()}),w2=_.struct("StructTag",{address:Ne,module:_.string(),name:_.string(),typeParams:_.vector(Qh)}),v2=_.struct("GasData",{payment:_.vector(ir),owner:Ne,price:_.u64(),budget:_.u64()}),E2=_.struct("TransactionDataV1",{kind:b2,sender:Ne,gasData:v2,expiration:g2}),A2=_.enum("TransactionData",{V1:E2}),S2=_.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),x2=_.enum("IntentVersion",{V0:null}),k2=_.enum("AppId",{Sui:null}),T2=_.struct("Intent",{scope:S2,version:x2,appId:k2});function _2(t){return _.struct(`IntentMessage<${t.name}>`,{intent:T2,value:t})}const P2=_.enum("CompressedSignature",{ED25519:_.fixedArray(64,_.u8()),Secp256k1:_.fixedArray(64,_.u8()),Secp256r1:_.fixedArray(64,_.u8()),ZkLogin:_.vector(_.u8()),Passkey:_.vector(_.u8())}),I2=_.enum("PublicKey",{ED25519:_.fixedArray(32,_.u8()),Secp256k1:_.fixedArray(33,_.u8()),Secp256r1:_.fixedArray(33,_.u8()),ZkLogin:_.vector(_.u8()),Passkey:_.fixedArray(33,_.u8())}),O2=_.struct("MultiSigPkMap",{pubKey:I2,weight:_.u8()}),B2=_.struct("MultiSigPublicKey",{pk_map:_.vector(O2),threshold:_.u16()}),tO=_.struct("MultiSig",{sigs:_.vector(P2),bitmap:_.u16(),multisig_pk:B2}),rO=_.vector(_.u8()).transform({input:t=>typeof t=="string"?qt(t):t,output:t=>wt(new Uint8Array(t))}),C2=_.struct("SenderSignedTransaction",{intentMessage:_2(A2),txSignatures:_.vector(rO)}),nO=_.vector(C2,{name:"SenderSignedData"}),sO=_.struct("PasskeyAuthenticator",{authenticatorData:_.vector(_.u8()),clientDataJson:_.string(),userSignature:_.vector(_.u8())}),iO=_.enum("PackageUpgradeError",{UnableToFetchPackage:_.struct("UnableToFetchPackage",{packageId:Ne}),NotAPackage:_.struct("NotAPackage",{objectId:Ne}),IncompatibleUpgrade:null,DigestDoesNotMatch:_.struct("DigestDoesNotMatch",{digest:_.vector(_.u8())}),UnknownUpgradePolicy:_.struct("UnknownUpgradePolicy",{policy:_.u8()}),PackageIDDoesNotMatch:_.struct("PackageIDDoesNotMatch",{packageId:Ne,ticketId:Ne})}),oO=_.struct("ModuleId",{address:Ne,name:_.string()}),em=_.struct("MoveLocation",{module:oO,function:_.u16(),instruction:_.u16(),functionName:_.option(_.string())}),aO=_.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:_.struct("IndexOutOfBounds",{idx:_.u16()}),SecondaryIndexOutOfBounds:_.struct("SecondaryIndexOutOfBounds",{resultIdx:_.u16(),secondaryIdx:_.u16()}),InvalidResultArity:_.struct("InvalidResultArity",{resultIdx:_.u16()}),InvalidGasCoinUsage:null,InvalidValueUsage:null,InvalidObjectByValue:null,InvalidObjectByMutRef:null,SharedObjectOperationNotAllowed:null}),cO=_.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),uO=_.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:_.struct("MoveObjectTooBig",{objectSize:_.u64(),maxObjectSize:_.u64()}),MovePackageTooBig:_.struct("MovePackageTooBig",{objectSize:_.u64(),maxObjectSize:_.u64()}),CircularObjectOwnership:_.struct("CircularObjectOwnership",{object:Ne}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:_.option(em),MoveAbort:_.tuple([em,_.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:_.struct("CommandArgumentError",{argIdx:_.u16(),kind:aO}),TypeArgumentError:_.struct("TypeArgumentError",{argumentIdx:_.u16(),kind:cO}),UnusedValueWithoutDrop:_.struct("UnusedValueWithoutDrop",{resultIdx:_.u16(),secondaryIdx:_.u16()}),InvalidPublicFunctionReturnType:_.struct("InvalidPublicFunctionReturnType",{idx:_.u16()}),InvalidTransferObject:null,EffectsTooLarge:_.struct("EffectsTooLarge",{currentSize:_.u64(),maxSize:_.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:_.struct("PackageUpgradeError",{upgradeError:iO}),WrittenObjectsTooLarge:_.struct("WrittenObjectsTooLarge",{currentSize:_.u64(),maxSize:_.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:_.struct("ExecutionCancelledDueToSharedObjectCongestion",{congestedObjects:_.vector(Ne)}),AddressDeniedForCoin:_.struct("AddressDeniedForCoin",{address:Ne,coinType:_.string()}),CoinTypeGlobalPause:_.struct("CoinTypeGlobalPause",{coinType:_.string()}),ExecutionCancelledDueToRandomnessUnavailable:null}),$2=_.enum("ExecutionStatus",{Success:null,Failed:_.struct("ExecutionFailed",{error:uO,command:_.option(_.u64())})}),R2=_.struct("GasCostSummary",{computationCost:_.u64(),storageCost:_.u64(),storageRebate:_.u64(),nonRefundableStorageFee:_.u64()}),fO=_.struct("TransactionEffectsV1",{status:$2,executedEpoch:_.u64(),gasUsed:R2,modifiedAtVersions:_.vector(_.tuple([Ne,_.u64()])),sharedObjects:_.vector(ir),transactionDigest:Sr,created:_.vector(_.tuple([ir,xs])),mutated:_.vector(_.tuple([ir,xs])),unwrapped:_.vector(_.tuple([ir,xs])),deleted:_.vector(ir),unwrappedThenDeleted:_.vector(ir),wrapped:_.vector(ir),gasObject:_.tuple([ir,xs]),eventsDigest:_.option(Sr),dependencies:_.vector(Sr)}),tp=_.tuple([_.u64(),Sr]),lO=_.enum("ObjectIn",{NotExist:null,Exist:_.tuple([tp,xs])}),dO=_.enum("ObjectOut",{NotExist:null,ObjectWrite:_.tuple([Sr,xs]),PackageWrite:tp}),hO=_.enum("IDOperation",{None:null,Created:null,Deleted:null}),pO=_.struct("EffectsObjectChange",{inputState:lO,outputState:dO,idOperation:hO}),yO=_.enum("UnchangedSharedKind",{ReadOnlyRoot:tp,MutateDeleted:_.u64(),ReadDeleted:_.u64(),Cancelled:_.u64(),PerEpochConfig:null}),mO=_.struct("TransactionEffectsV2",{status:$2,executedEpoch:_.u64(),gasUsed:R2,transactionDigest:Sr,gasObjectIndex:_.option(_.u32()),eventsDigest:_.option(Sr),dependencies:_.vector(Sr),lamportVersion:_.u64(),changedObjects:_.vector(_.tuple([Ne,pO])),unchangedSharedObjects:_.vector(_.tuple([Ne,yO])),auxDataDigest:_.option(Sr)}),bO=_.enum("TransactionEffects",{V1:fO,V2:mO});function ko(t){switch(t){case"u8":return _.u8();case"u16":return _.u16();case"u32":return _.u32();case"u64":return _.u64();case"u128":return _.u128();case"u256":return _.u256();case"bool":return _.bool();case"string":return _.string();case"id":case"address":return Ne}const e=t.match(/^(vector|option)<(.+)>$/);if(e){const[r,n]=e.slice(1);return r==="vector"?_.vector(ko(n)):_.option(ko(n))}throw new Error(`Invalid Pure type name: ${t}`)}const he={..._,U8:_.u8(),U16:_.u16(),U32:_.u32(),U64:_.u64(),U128:_.u128(),U256:_.u256(),ULEB128:_.uleb128(),Bool:_.bool(),String:_.string(),Address:Ne,AppId:k2,Argument:Gr,CallArg:h2,Command:y2,CompressedSignature:P2,GasData:v2,Intent:T2,IntentMessage:_2,IntentScope:S2,IntentVersion:x2,MultiSig:tO,MultiSigPkMap:O2,MultiSigPublicKey:B2,ObjectArg:d2,ObjectDigest:Sr,Owner:xs,PasskeyAuthenticator:sO,ProgrammableMoveCall:p2,ProgrammableTransaction:m2,PublicKey:I2,SenderSignedData:nO,SenderSignedTransaction:C2,SharedObjectRef:l2,StructTag:w2,SuiObjectRef:ir,TransactionData:A2,TransactionDataV1:E2,TransactionEffects:bO,TransactionExpiration:g2,TransactionKind:b2,TypeTag:ep};var un;function gO(t){return{lang:(t==null?void 0:t.lang)??(un==null?void 0:un.lang),message:t==null?void 0:t.message,abortEarly:(t==null?void 0:t.abortEarly)??(un==null?void 0:un.abortEarly),abortPipeEarly:(t==null?void 0:t.abortPipeEarly)??(un==null?void 0:un.abortPipeEarly)}}var gl;function wO(t){return gl==null?void 0:gl.get(t)}var wl;function vO(t){return wl==null?void 0:wl.get(t)}var vl;function EO(t,e){var r;return(r=vl==null?void 0:vl.get(t))==null?void 0:r.get(e)}function N2(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 Yt(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)??N2(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??EO(t.reference,c.lang)??(u?vO(c.lang):null)??n.message??wO(c.lang);f&&(c.message=typeof f=="function"?f(c):f),u&&(r.typed=!1),r.issues?r.issues.push(c):r.issues=[c]}function AO(t,e){return Object.hasOwn(t,e)&&e!=="__proto__"&&e!=="prototype"&&e!=="constructor"}var SO=class extends Error{constructor(e){super(e[0].message);dp(this,"issues");this.name="ValiError",this.issues=e}};function Ca(t,e){return{kind:"validation",type:"check",reference:Ca,async:!1,expects:null,requirement:t,message:e,_run(r,n){return r.typed&&!this.requirement(r.value)&&Yt(this,"input",r,n),r}}}function Ge(t){return{kind:"validation",type:"integer",reference:Ge,async:!1,expects:null,requirement:Number.isInteger,message:t,_run(e,r){return e.typed&&!this.requirement(e.value)&&Yt(this,"integer",e,r),e}}}function Tu(t){return{kind:"transformation",type:"transform",reference:Tu,async:!1,operation:t,_run(e){return e.value=this.operation(e.value),e}}}function rp(t,e,r){return typeof t.default=="function"?t.default(e,r):t.default}function Td(t,e){return!t._run({typed:!1,value:e},{abortEarly:!0}).issues}function fe(t,e){return{kind:"schema",type:"array",reference:fe,expects:"Array",async:!1,item:t,message:e,_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({typed:!1,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 Yt(this,"type",r,n);return r}}}function np(t){return{kind:"schema",type:"bigint",reference:np,expects:"bigint",async:!1,message:t,_run(e,r){return typeof e.value=="bigint"?e.typed=!0:Yt(this,"type",e,r),e}}}function Xi(t){return{kind:"schema",type:"boolean",reference:Xi,expects:"boolean",async:!1,message:t,_run(e,r){return typeof e.value=="boolean"?e.typed=!0:Yt(this,"type",e,r),e}}}function sa(t){return{kind:"schema",type:"lazy",reference:sa,expects:"unknown",async:!1,getter:t,_run(e,r){return this.getter(e.value)._run(e,r)}}}function de(t,e){return{kind:"schema",type:"literal",reference:de,expects:N2(t),async:!1,literal:t,message:e,_run(r,n){return r.value===this.literal?r.typed=!0:Yt(this,"type",r,n),r}}}function Ae(t,...e){const r={kind:"schema",type:"nullable",reference:Ae,expects:`${t.expects} | null`,async:!1,wrapped:t,_run(n,s){return n.value===null&&("default"in this&&(n.value=rp(this,n,s)),n.value===null)?(n.typed=!0,n):this.wrapped._run(n,s)}};return 0 in e&&(r.default=e[0]),r}function Li(t,...e){const r={kind:"schema",type:"nullish",reference:Li,expects:`${t.expects} | null | undefined`,async:!1,wrapped:t,_run(n,s){return(n.value===null||n.value===void 0)&&("default"in this&&(n.value=rp(this,n,s)),n.value===null||n.value===void 0)?(n.typed=!0,n):this.wrapped._run(n,s)}};return 0 in e&&(r.default=e[0]),r}function He(t){return{kind:"schema",type:"number",reference:He,expects:"number",async:!1,message:t,_run(e,r){return typeof e.value=="number"&&!isNaN(e.value)?e.typed=!0:Yt(this,"type",e,r),e}}}function ee(t,e){return{kind:"schema",type:"object",reference:ee,expects:"Object",async:!1,entries:t,message:e,_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=s[o],c=this.entries[o]._run({typed:!1,value:a},n);if(c.issues){const u={type:"object",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),(c.value!==void 0||o in s)&&(r.value[o]=c.value)}}else Yt(this,"type",r,n);return r}}}function ot(t,...e){const r={kind:"schema",type:"optional",reference:ot,expects:`${t.expects} | undefined`,async:!1,wrapped:t,_run(n,s){return n.value===void 0&&("default"in this&&(n.value=rp(this,n,s)),n.value===void 0)?(n.typed=!0,n):this.wrapped._run(n,s)}};return 0 in e&&(r.default=e[0]),r}function ia(t,e,r){return{kind:"schema",type:"record",reference:ia,expects:"Object",async:!1,key:t,value:e,message:r,_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(AO(i,c)){const u=i[c],f=this.key._run({typed:!1,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({typed:!1,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 Yt(this,"type",n,s);return n}}}function ye(t){return{kind:"schema",type:"string",reference:ye,expects:"string",async:!1,message:t,_run(e,r){return typeof e.value=="string"?e.typed=!0:Yt(this,"type",e,r),e}}}function sp(t,e){return{kind:"schema",type:"tuple",reference:sp,expects:"Array",async:!1,items:t,message:e,_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({typed:!1,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 Yt(this,"type",r,n);return r}}}function tm(t){let e;if(t)for(const r of t)e?e.push(...r.issues):e=r.issues;return e}function mt(t,e){return{kind:"schema",type:"union",reference:mt,expects:[...new Set(t.map(r=>r.expects))].join(" | ")||"never",async:!1,options:t,message:e,_run(r,n){let s,i,o;for(const a of this.options){const c=a._run({typed:!1,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];Yt(this,"type",r,n,{issues:tm(i)}),r.typed=!0}else{if((o==null?void 0:o.length)===1)return o[0];Yt(this,"type",r,n,{issues:tm(o)})}return r}}}function Ws(){return{kind:"schema",type:"unknown",reference:Ws,expects:"unknown",async:!1,_run(t){return t.typed=!0,t}}}function qe(t,e,r){const n=t._run({typed:!1,value:e},gO(r));if(n.issues)throw new SO(n.issues);return n.value}function Ie(...t){return{...t[0],pipe:t,_run(e,r){for(let n=0;n<t.length;n++){if(e.issues&&(t[n].kind==="schema"||t[n].kind==="transformation")){e.typed=!1;break}(!e.issues||!r.abortEarly&&!r.abortPipeEarly)&&(e=t[n]._run(e,r))}return e}}}function ri(t){const e=Object.entries(t).map(([r,n])=>ee({[r]:n}));return Ie(mt(e),Tu(r=>({...r,$kind:Object.keys(r)[0]})))}const Ji=Ie(ye(),Tu(t=>xe(t)),Ca(wr)),Gt=Ji,Ks=ye(),Lt=Ie(mt([ye(),Ie(He(),Ge())]),Ca(t=>{try{return BigInt(t),BigInt(t)>=0&&BigInt(t)<=18446744073709551615n}catch{return!1}},"Invalid u64")),us=ee({objectId:Ji,version:Lt,digest:ye()}),Fe=Ie(mt([ee({GasCoin:de(!0)}),ee({Input:Ie(He(),Ge()),type:ot(de("pure"))}),ee({Input:Ie(He(),Ge()),type:ot(de("object"))}),ee({Result:Ie(He(),Ge())}),ee({NestedResult:sp([Ie(He(),Ge()),Ie(He(),Ge())])})]),Tu(t=>({...t,$kind:Object.keys(t)[0]}))),xO=ee({budget:Ae(Lt),price:Ae(Lt),owner:Ae(Ji),payment:Ae(fe(us))}),_d=mt([de("address"),de("bool"),de("u8"),de("u16"),de("u32"),de("u64"),de("u128"),de("u256"),ee({vector:sa(()=>_d)}),ee({datatype:ee({package:ye(),module:ye(),type:ye(),typeParameters:fe(sa(()=>_d))})}),ee({typeParameter:Ie(He(),Ge())})]),kO=ee({ref:Ae(mt([de("&"),de("&mut")])),body:_d}),TO=ee({package:Gt,module:ye(),function:ye(),typeArguments:fe(ye()),arguments:fe(Fe),_argumentTypes:ot(Ae(fe(kO)))}),_O=ee({name:ye(),inputs:ia(ye(),mt([Fe,fe(Fe)])),data:ia(ye(),Ws())}),PO=ri({MoveCall:TO,TransferObjects:ee({objects:fe(Fe),address:Fe}),SplitCoins:ee({coin:Fe,amounts:fe(Fe)}),MergeCoins:ee({destination:Fe,sources:fe(Fe)}),Publish:ee({modules:fe(Ks),dependencies:fe(Gt)}),MakeMoveVec:ee({type:Ae(ye()),elements:fe(Fe)}),Upgrade:ee({modules:fe(Ks),dependencies:fe(Gt),package:Gt,ticket:Fe}),$Intent:_O}),U2=ri({ImmOrOwnedObject:us,SharedObject:ee({objectId:Gt,initialSharedVersion:Lt,mutable:Xi()}),Receiving:us}),IO=ri({Object:U2,Pure:ee({bytes:Ks}),UnresolvedPure:ee({value:Ws()}),UnresolvedObject:ee({objectId:Gt,version:ot(Ae(Lt)),digest:ot(Ae(ye())),initialSharedVersion:ot(Ae(Lt)),mutable:ot(Ae(Xi()))})}),rm=ri({Object:U2,Pure:ee({bytes:Ks})}),M2=ri({None:de(!0),Epoch:Lt}),hc=ee({version:de(2),sender:Li(Ji),expiration:Li(M2),gasData:xO,inputs:fe(IO),commands:fe(PO)}),bs={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=>qe(Fe,r)),address:qe(Fe,e)}}},SplitCoins(t,e){return{$kind:"SplitCoins",SplitCoins:{coin:qe(Fe,t),amounts:e.map(r=>qe(Fe,r))}}},MergeCoins(t,e){return{$kind:"MergeCoins",MergeCoins:{destination:qe(Fe,t),sources:e.map(r=>qe(Fe,r))}}},Publish({modules:t,dependencies:e}){return{$kind:"Publish",Publish:{modules:t.map(r=>typeof r=="string"?r:wt(new Uint8Array(r))),dependencies:e.map(r=>vn(r))}}},Upgrade({modules:t,dependencies:e,package:r,ticket:n}){return{$kind:"Upgrade",Upgrade:{modules:t.map(s=>typeof s=="string"?s:wt(new Uint8Array(s))),dependencies:e.map(s=>vn(s)),package:r,ticket:qe(Fe,n)}}},MakeMoveVec({type:t,elements:e}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:t??null,elements:e.map(r=>qe(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=>qe(Fe,i)):qe(Fe,s)])),data:r}}}},Pd=ee({digest:ye(),objectId:ye(),version:mt([Ie(He(),Ge()),ye(),np()])}),OO=ri({ImmOrOwned:Pd,Shared:ee({objectId:Gt,initialSharedVersion:Lt,mutable:Xi()}),Receiving:Pd}),nm=ri({Object:OO,Pure:fe(Ie(He(),Ge()))}),F2=mt([ee({kind:de("Input"),index:Ie(He(),Ge()),value:Ws(),type:ot(de("object"))}),ee({kind:de("Input"),index:Ie(He(),Ge()),value:Ws(),type:de("pure")})]),BO=mt([ee({Epoch:Ie(He(),Ge())}),ee({None:Ae(de(!0))})]),sm=Ie(mt([He(),ye(),np()]),Ca(t=>{if(!["string","number","bigint"].includes(typeof t))return!1;try{return BigInt(t),!0}catch{return!1}})),ip=mt([ee({bool:Ae(de(!0))}),ee({u8:Ae(de(!0))}),ee({u64:Ae(de(!0))}),ee({u128:Ae(de(!0))}),ee({address:Ae(de(!0))}),ee({signer:Ae(de(!0))}),ee({vector:sa(()=>ip)}),ee({struct:sa(()=>CO)}),ee({u16:Ae(de(!0))}),ee({u32:Ae(de(!0))}),ee({u256:Ae(de(!0))})]),CO=ee({address:ye(),module:ye(),name:ye(),typeParams:fe(ip)}),$O=ee({budget:ot(sm),price:ot(sm),payment:ot(fe(Pd)),owner:ot(ye())}),RO=[F2,ee({kind:de("GasCoin")}),ee({kind:de("Result"),index:Ie(He(),Ge())}),ee({kind:de("NestedResult"),index:Ie(He(),Ge()),resultIndex:Ie(He(),Ge())})],On=mt([...RO]),NO=ee({kind:de("MoveCall"),target:Ie(ye(),Ca(t=>t.split("::").length===3)),typeArguments:fe(ye()),arguments:fe(On)}),UO=ee({kind:de("TransferObjects"),objects:fe(On),address:On}),MO=ee({kind:de("SplitCoins"),coin:On,amounts:fe(On)}),FO=ee({kind:de("MergeCoins"),destination:On,sources:fe(On)}),jO=ee({kind:de("MakeMoveVec"),type:mt([ee({Some:ip}),ee({None:Ae(de(!0))})]),objects:fe(On)}),LO=ee({kind:de("Publish"),modules:fe(fe(Ie(He(),Ge()))),dependencies:fe(ye())}),HO=ee({kind:de("Upgrade"),modules:fe(fe(Ie(He(),Ge()))),dependencies:fe(ye()),packageId:ye(),ticket:On}),DO=[NO,UO,MO,FO,LO,HO,jO],zO=mt([...DO]);ee({version:de(1),sender:ot(ye()),expiration:Li(BO),gasConfig:$O,inputs:fe(F2),transactions:fe(zO)});function im(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(qt(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:Er.parseFromStr(n.MakeMoveVec.type)},objects:n.MakeMoveVec.elements.map(s=>fn(s,e))};if(n.MergeCoins)return{kind:"MergeCoins",destination:fn(n.MergeCoins.destination,e),sources:n.MergeCoins.sources.map(s=>fn(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=>fn(s,e))};if(n.Publish)return{kind:"Publish",modules:n.Publish.modules.map(s=>Array.from(qt(s))),dependencies:n.Publish.dependencies};if(n.SplitCoins)return{kind:"SplitCoins",coin:fn(n.SplitCoins.coin,e),amounts:n.SplitCoins.amounts.map(s=>fn(s,e))};if(n.TransferObjects)return{kind:"TransferObjects",objects:n.TransferObjects.objects.map(s=>fn(s,e)),address:fn(n.TransferObjects.address,e)};if(n.Upgrade)return{kind:"Upgrade",modules:n.Upgrade.modules.map(s=>Array.from(qt(s))),dependencies:n.Upgrade.dependencies,packageId:n.Upgrade.package,ticket:fn(n.Upgrade.ticket,e)};throw new Error(`Unknown transaction ${Object.keys(n)}`)})}}function fn(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 VO(t){var e,r,n;return qe(hc,{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(Td(nm,s.value)){const i=qe(nm,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:wt(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?Er.tagToString(s.type.Some):null,elements:s.objects.map(i=>ln(i))}};case"MergeCoins":return{MergeCoins:{destination:ln(s.destination),sources:s.sources.map(i=>ln(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=>ln(c))}}}case"Publish":return{Publish:{modules:s.modules.map(i=>wt(Uint8Array.from(i))),dependencies:s.dependencies}};case"SplitCoins":return{SplitCoins:{coin:ln(s.coin),amounts:s.amounts.map(i=>ln(i))}};case"TransferObjects":return{TransferObjects:{objects:s.objects.map(i=>ln(i)),address:ln(s.address)}};case"Upgrade":return{Upgrade:{modules:s.modules.map(i=>wt(Uint8Array.from(i))),dependencies:s.dependencies,package:s.packageId,ticket:ln(s.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(s)}`)})})}function ln(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 $a(t){return mt(Object.entries(t).map(([e,r])=>ee({[e]:r})))}const yr=$a({GasCoin:de(!0),Input:Ie(He(),Ge()),Result:Ie(He(),Ge()),NestedResult:sp([Ie(He(),Ge()),Ie(He(),Ge())])}),qO=ee({budget:Ae(Lt),price:Ae(Lt),owner:Ae(Ji),payment:Ae(fe(us))}),GO=ee({package:Gt,module:ye(),function:ye(),typeArguments:fe(ye()),arguments:fe(yr)}),WO=ee({name:ye(),inputs:ia(ye(),mt([yr,fe(yr)])),data:ia(ye(),Ws())}),KO=$a({MoveCall:GO,TransferObjects:ee({objects:fe(yr),address:yr}),SplitCoins:ee({coin:yr,amounts:fe(yr)}),MergeCoins:ee({destination:yr,sources:fe(yr)}),Publish:ee({modules:fe(Ks),dependencies:fe(Gt)}),MakeMoveVec:ee({type:Ae(ye()),elements:fe(yr)}),Upgrade:ee({modules:fe(Ks),dependencies:fe(Gt),package:Gt,ticket:yr}),$Intent:WO}),ZO=$a({ImmOrOwnedObject:us,SharedObject:ee({objectId:Gt,initialSharedVersion:Lt,mutable:Xi()}),Receiving:us}),YO=$a({Object:ZO,Pure:ee({bytes:Ks}),UnresolvedPure:ee({value:Ws()}),UnresolvedObject:ee({objectId:Gt,version:ot(Ae(Lt)),digest:ot(Ae(ye())),initialSharedVersion:ot(Ae(Lt)),mutable:ot(Ae(Xi()))})}),XO=$a({None:de(!0),Epoch:Lt}),JO=ee({version:de(2),sender:Li(Ji),expiration:Li(XO),gasData:qO,inputs:fe(YO),commands:fe(KO),digest:ot(Ae(ye()))});function QO(t){return{$kind:"Pure",Pure:{bytes:t instanceof Uint8Array?wt(t):t.toBase64()}}}const xr={Pure:QO,ObjectRef({objectId:t,digest:e,version:r}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:e,version:r,objectId:xe(t)}}}},SharedObjectRef({objectId:t,mutable:e,initialSharedVersion:r}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:e,initialSharedVersion:r,objectId:xe(t)}}}},ReceivingRef({objectId:t,digest:e,version:r}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:e,version:r,objectId:xe(t)}}}}};BigInt(1e9);const e4="0x1",j2="0x2",t4=vn("0x6"),r4=`${j2}::sui::SUI`;vn("0x5");const n4=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]),nt=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),te=new Uint32Array(32);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],b=te[2*n+1],E=Wm(c,f,o);u=Km(E,u,l,a),c=E|0,{Dh:b,Dl:m}={Dh:b^u,Dl:m^c},{Dh:b,Dl:m}={Dh:Pv(b,m),Dl:Iv(b)},{h:d,l:p}=Gm(d,p,b,m),{Bh:l,Bl:f}={Bh:l^d,Bl:f^p},{Bh:l,Bl:f}={Bh:Vm(l,f,24),Bl:qm(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]=b}function Vn(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],b=te[2*n+1],E=Wm(c,f,o);u=Km(E,u,l,a),c=E|0,{Dh:b,Dl:m}={Dh:b^u,Dl:m^c},{Dh:b,Dl:m}={Dh:Vm(b,m,16),Dl:qm(b,m,16)},{h:d,l:p}=Gm(d,p,b,m),{Bh:l,Bl:f}={Bh:l^d,Bl:f^p},{Bh:l,Bl:f}={Bh:Tv(l,f,63),Bl:_v(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]=b}function s4(t,e={},r,n,s){if(ss(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 i4 extends Nc{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,ss(e),ss(r),this.blockLen=e,this.outputLen=r,this.buffer=new Uint8Array(e),this.buffer32=Io(this.buffer)}update(e){os(this),e=En(e),is(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&&(Kn(s),this.compress(s,0,!1),Kn(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));Kn(l);for(let p=0;c+r<i;p+=s.length,c+=r)this.length+=r,this.compress(l,p,!1);Kn(l);continue}n.set(e.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(e){os(this),Md(e,this);const{pos:r,buffer32:n}=this;this.finished=!0,Pr(this.buffer.subarray(r)),Kn(n),this.compress(n,0,!0),Kn(n);const s=Io(e);this.get().forEach((i,o)=>s[o]=dn(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 o4 extends i4{constructor(e={}){const r=e.dkLen===void 0?64:e.dkLen;super(128,r),this.v0l=nt[0]|0,this.v0h=nt[1]|0,this.v1l=nt[2]|0,this.v1h=nt[3]|0,this.v2l=nt[4]|0,this.v2h=nt[5]|0,this.v3l=nt[6]|0,this.v3h=nt[7]|0,this.v4l=nt[8]|0,this.v4h=nt[9]|0,this.v5l=nt[10]|0,this.v5h=nt[11]|0,this.v6l=nt[12]|0,this.v6h=nt[13]|0,this.v7l=nt[14]|0,this.v7h=nt[15]|0,s4(r,e,64,16,16);let{key:n,personalization:s,salt:i}=e,o=0;if(n!==void 0&&(n=En(n),o=n.length),this.v0l^=this.outputLen|o<<8|65536|1<<24,i!==void 0){i=En(i);const a=Io(i);this.v4l^=dn(a[0]),this.v4h^=dn(a[1]),this.v5l^=dn(a[2]),this.v5h^=dn(a[3])}if(s!==void 0){s=En(s);const a=Io(s);this.v6l^=dn(a[0]),this.v6h^=dn(a[1]),this.v7l^=dn(a[2]),this.v7h^=dn(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:b,v7h:E}=this;return[e,r,n,s,i,o,a,c,u,f,l,p,d,m,b,E]}set(e,r,n,s,i,o,a,c,u,f,l,p,d,m,b,E){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=b|0,this.v7h=E|0}compress(e,r,n){this.get().forEach((c,u)=>te[u]=c),te.set(nt,16);let{h:s,l:i}=zm(BigInt(this.length));te[24]=nt[8]^i,te[25]=nt[9]^s,n&&(te[28]=~te[28],te[29]=~te[29]);let o=0;const a=n4;for(let c=0;c<12;c++)zn(0,4,8,12,e,r+2*a[o++]),Vn(0,4,8,12,e,r+2*a[o++]),zn(1,5,9,13,e,r+2*a[o++]),Vn(1,5,9,13,e,r+2*a[o++]),zn(2,6,10,14,e,r+2*a[o++]),Vn(2,6,10,14,e,r+2*a[o++]),zn(3,7,11,15,e,r+2*a[o++]),Vn(3,7,11,15,e,r+2*a[o++]),zn(0,5,10,15,e,r+2*a[o++]),Vn(0,5,10,15,e,r+2*a[o++]),zn(1,6,11,12,e,r+2*a[o++]),Vn(1,6,11,12,e,r+2*a[o++]),zn(2,7,8,13,e,r+2*a[o++]),Vn(2,7,8,13,e,r+2*a[o++]),zn(3,4,9,14,e,r+2*a[o++]),Vn(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],Pr(te)}destroy(){this.destroyed=!0,Pr(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const a4=jv(t=>new o4(t)),L2=a4;function c4(t,e,r){const n=he.Address.serialize(t).toBytes(),s=he.TypeTag.serialize(e).toBytes(),i=he.u64().serialize(r.length).toBytes(),o=L2.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(n),o.update(i),o.update(r),o.update(s),`0x${ji(o.digest().slice(0,32))}`}const u4="object",f4="ID",l4="ascii",d4="String",h4="string",p4="String",y4="option",m4="Option";function b4(t){const e=typeof t.body=="object"&&"datatype"in t.body?t.body.datatype:null;return!!e&&xe(e.package)===xe("0x2")&&e.module==="tx_context"&&e.type==="TxContext"}function Id(t){if(typeof t=="string")switch(t){case"address":return he.Address;case"bool":return he.Bool;case"u8":return he.U8;case"u16":return he.U16;case"u32":return he.U32;case"u64":return he.U64;case"u128":return he.U128;case"u256":return he.U256;default:throw new Error(`Unknown type signature ${t}`)}if("vector"in t){if(t.vector==="u8")return he.vector(he.U8).transform({input:r=>typeof r=="string"?new TextEncoder().encode(r):r,output:r=>r});const e=Id(t.vector);return e?he.vector(e):null}if("datatype"in t){const e=xe(t.datatype.package);if(e===xe(e4)){if(t.datatype.module===l4&&t.datatype.type===d4||t.datatype.module===h4&&t.datatype.type===p4)return he.String;if(t.datatype.module===y4&&t.datatype.type===m4){const r=Id(t.datatype.typeParameters[0]);return r?he.vector(r):null}}if(e===xe(j2)&&t.datatype.module===u4&&t.datatype.type===f4)return he.Address}return null}function g4(t){return typeof t=="object"&&"Reference"in t?{ref:"&",body:To(t.Reference)}:typeof t=="object"&&"MutableReference"in t?{ref:"&mut",body:To(t.MutableReference)}:{ref:null,body:To(t)}}function To(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:To(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(To)}};if("TypeParameter"in t)return{typeParameter:t.TypeParameter};throw new Error(`Unexpected type ${JSON.stringify(t)}`)}const w4=50,v4=1000n,E4=5e10;function H2(t){return async function(r,n,s){return await T4(r,t),await k4(r,t),n.onlyTransactionKind||(await A4(r,t),await S4(r,t),await x4(r,t)),await s()}}async function A4(t,e){t.gasConfig.price||(t.gasConfig.price=String(await e.getReferenceGasPrice()))}async function S4(t,e){if(t.gasConfig.budget)return;const r=await e.dryRunTransactionBlock({transactionBlock:t.build({overrides:{gasData:{budget:String(E4),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=v4*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 x4(t,e){if(!t.gasConfig.payment){const n=(await e.getCoins({owner:t.gasConfig.owner||t.sender,coinType:r4})).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=>qe(us,s))}}async function k4(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=>vn(f.UnresolvedObject.objectId)))],s=n.length?xu(n,w4):[],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=xe(l.UnresolvedObject.objectId),m=u.get(d);l.UnresolvedObject.initialSharedVersion??(m==null?void 0:m.initialSharedVersion)?p=xr.SharedObjectRef({objectId:d,initialSharedVersion:l.UnresolvedObject.initialSharedVersion||(m==null?void 0:m.initialSharedVersion),mutable:l.UnresolvedObject.mutable||_4(t,f)}):P4(t,f)&&(p=xr.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??xr.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 T4(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=>g4(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&&b4(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 P,A;const d=c.arguments[p];if(d.$kind!=="Input")return;const m=r[d.Input];if(!m.UnresolvedPure&&!m.UnresolvedObject)return;const b=((P=m.UnresolvedPure)==null?void 0:P.value)??((A=m.UnresolvedObject)==null?void 0:A.objectId),E=Id(l.body);if(E){d.type="pure",r[r.indexOf(m)]=xr.Pure(E.serialize(b));return}if(typeof b!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(b,null,2)}`);d.type="object";const S=m.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:b}}:m;r[d.Input]=S})}})}function _4(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 P4(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=I4(s.MoveCall._argumentTypes[i])||r}}),r}function I4(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 D2(t,e){return!!(t.inputs.some(r=>r.UnresolvedObject||r.UnresolvedPure)||!e.onlyTransactionKind&&(!t.gasConfig.price||!t.gasConfig.budget||!t.gasConfig.payment))}async function O4(t,e,r){var i;if(C4(t),!D2(t,e))return await om(t),r();const n=B4(e);return(((i=n.core)==null?void 0:i.resolveTransactionPlugin())??H2(n))(t,e,async()=>{await om(t),await r()})}function om(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 B4(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 C4(t){for(const e of t.commands)switch(e.$kind){case"SplitCoins":e.SplitCoins.amounts.forEach(r=>{am(r,he.U64,t)});break;case"TransferObjects":am(e.TransferObjects.address,he.Address,t);break}}function am(t,e,r){if(t.$kind!=="Input")return;const n=r.inputs[t.Input];n.$kind==="UnresolvedPure"&&(r.inputs[t.Input]=xr.Pure(e.serialize(n.UnresolvedPure.value)))}function $4(t){function e(r){return t(r)}return e.system=r=>{const n=r==null?void 0:r.mutable;return e(n!==void 0?xr.SharedObjectRef({objectId:"0x5",initialSharedVersion:1,mutable:n}):{$kind:"UnresolvedObject",UnresolvedObject:{objectId:"0x5",initialSharedVersion:1}})},e.clock=()=>e(xr.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 R4(t){function e(r,n){if(typeof r=="string")return t(ko(r).serialize(n));if(r instanceof Uint8Array||Jh(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(he.U8.serialize(r)),e.u16=r=>t(he.U16.serialize(r)),e.u32=r=>t(he.U32.serialize(r)),e.u64=r=>t(he.U64.serialize(r)),e.u128=r=>t(he.U128.serialize(r)),e.u256=r=>t(he.U256.serialize(r)),e.bool=r=>t(he.Bool.serialize(r)),e.string=r=>t(he.String.serialize(r)),e.address=r=>t(he.Address.serialize(r)),e.id=e.address,e.vector=(r,n)=>t(he.vector(ko(r)).serialize(n)),e.option=(r,n)=>t(he.option(ko(r)).serialize(n)),e}function N4(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),L2(n,{dkLen:32})}function cm(t){return xe(t).replace("0x","")}class Ut{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=he.TransactionKind.parse(e).ProgrammableTransaction;if(!n)throw new Error("Unable to deserialize from bytes.");return Ut.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=he.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 Ut.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 Ut(qe(hc,e)):new Ut(qe(hc,VO(e)))}static getDigestFromBytes(e){const r=N4("TransactionData",e);return Su(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 he.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:cm(c),expiration:a||{None:!0},gasData:{payment:u.payment,owner:cm(this.gasData.owner??c),price:BigInt(u.price),budget:BigInt(u.budget)},kind:{ProgrammableTransaction:{inputs:s,commands:i}}};return he.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,...r),s!==0&&this.mapArguments((i,o,a)=>{if(a<e+r.length)return i;switch(i.$kind){case"Result":i.Result===e&&(i.Result=n),i.Result>e&&(i.Result+=s);break;case"NestedResult":i.NestedResult[0]===e&&(i.NestedResult[0]=n),i.NestedResult[0]>e&&(i.NestedResult[0]+=s);break}return i})}getDigest(){const e=this.build({onlyTransactionKind:!1});return Ut.getDigestFromBytes(e)}snapshot(){return qe(hc,this)}shallowClone(){return new Ut({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}}function um(t){if(typeof t=="string")return xe(t);if(t.Object)return t.Object.ImmOrOwnedObject?xe(t.Object.ImmOrOwnedObject.objectId):t.Object.Receiving?xe(t.Object.Receiving.objectId):xe(t.Object.SharedObject.objectId);if(t.UnresolvedObject)return xe(t.UnresolvedObject.objectId)}var z2=t=>{throw TypeError(t)},op=(t,e,r)=>e.has(t)||z2("Cannot "+r),it=(t,e,r)=>(op(t,e,"read from private field"),r?r.call(t):e.get(t)),uo=(t,e,r)=>e.has(t)?z2("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),rc=(t,e,r,n)=>(op(t,e,"write to private field"),e.set(t,r),r),_u=(t,e,r)=>(op(t,e,"access private method"),r),oa,Bn,aa,Zn,Kr,Od,Bd,V2,q2,ap;const U4="/",M4={"Mvr-Source":`@mysten/sui@${Mw}`};class F4{constructor({cache:e,url:r,pageSize:n=50,overrides:s}){uo(this,Kr),uo(this,oa),uo(this,Bn),uo(this,aa),uo(this,Zn),rc(this,oa,e),rc(this,Bn,r),rc(this,aa,n),rc(this,Zn,{packages:s==null?void 0:s.packages,types:s==null?void 0:s.types}),j4(it(this,Zn))}async resolvePackage({package:e}){return{package:await it(this,Kr,Od).load(e)}}async resolveType({type:e}){const r=[...Cd(e)],n=await it(this,Kr,Bd).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:$d(e,s)}}async resolve({types:e=[],packages:r=[]}){var f,l,p;const n=new Set;for(const d of e??[])Cd(d,n);const s=[...n],[i,o]=await Promise.all([s.length>0?it(this,Kr,Bd).loadMany(s):[],r.length>0?it(this,Kr,Od).loadMany(r):[]]),a={...(f=it(this,Zn))==null?void 0:f.types};for(const[d,m]of s.entries()){const b=i[d];if(b instanceof Error)throw b;a[m]=b}const c={};for(const d of e??[]){const m=$d(d,a);c[d]={type:m}}const u={};for(const[d,m]of(r??[]).entries()){const b=((p=(l=it(this,Zn))==null?void 0:l.packages)==null?void 0:p[m])??o[d];if(b instanceof Error)throw b;u[m]={package:b}}return{types:c,packages:u}}}oa=new WeakMap;Bn=new WeakMap;aa=new WeakMap;Zn=new WeakMap;Kr=new WeakSet;Od=function(){return it(this,oa).readSync(["#mvrPackageDataLoader",it(this,Bn)??""],()=>{var r;const t=new Xw(async n=>{if(!it(this,Bn))throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);const s=await _u(this,Kr,V2).call(this,n);return n.map(i=>s[i]??new Error(`Failed to resolve package: ${i}`))}),e=(r=it(this,Zn))==null?void 0:r.packages;if(e)for(const[n,s]of Object.entries(e))t.prime(n,s);return t})};Bd=function(){return it(this,oa).readSync(["#mvrTypeDataLoader",it(this,Bn)??""],()=>{var r;const t=new Xw(async n=>{if(!it(this,Bn))throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);const s=await _u(this,Kr,q2).call(this,n);return n.map(i=>s[i]??new Error(`Failed to resolve type: ${i}`))}),e=(r=it(this,Zn))==null?void 0:r.types;if(e)for(const[n,s]of Object.entries(e))t.prime(n,s);return t})};V2=async function(t){if(t.length===0)return{};const e=xu(t,it(this,aa)),r={};return await Promise.all(e.map(async n=>{var i;const s=await _u(this,Kr,ap).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};q2=async function(t){if(t.length===0)return{};const e=xu(t,it(this,aa)),r={};return await Promise.all(e.map(async n=>{var i;const s=await _u(this,Kr,ap).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};ap=async function(t,e){if(!it(this,Bn))throw new Error("MVR Api URL is not set for the current client");const r=await fetch(`${it(this,Bn)}${t}`,{method:"POST",headers:{"Content-Type":"application/json",...M4},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 j4(t){if(t!=null&&t.packages)for(const[e,r]of Object.entries(t.packages)){if(!zt(e))throw new Error(`Invalid package name: ${e}`);if(!wr(xe(r)))throw new Error(`Invalid package ID: ${r}`)}if(t!=null&&t.types)for(const[e,r]of Object.entries(t.types)){if(Gs(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=Gs(r);if(!wr(n.address))throw new Error(`Invalid type: ${r}`)}}function Cd(t,e=new Set){if(typeof t=="string"&&!Mt(t))return e;const r=G2(t)?t:Gs(t);Mt(r.address)&&e.add(`${r.address}::${r.module}::${r.name}`);for(const n of r.typeParams)Cd(n,e);return e}function $d(t,e){const r=G2(t)?t:Gs(t),n=`${r.address}::${r.module}::${r.name}`,s=e[n];return Oc({...r,address:s?s.split("::")[0]:r.address,typeParams:r.typeParams.map(i=>$d(i,e))})}function Mt(t){return t.includes(U4)||t.includes("@")||t.includes(".sui")}function G2(t){return typeof t=="object"&&"address"in t&&"module"in t&&"name"in t&&"typeParams"in t}function L4(t){const e=new Set,r=new Set;for(const n of t.commands)switch(n.$kind){case"MakeMoveVec":n.MakeMoveVec.type&&fm([n.MakeMoveVec.type]).forEach(o=>{r.add(o)});break;case"MoveCall":const s=n.MoveCall,i=s.package.split("::")[0];if(Mt(i)){if(!zt(i))throw new Error(`Invalid package name: ${i}`);e.add(i)}fm(s.typeArguments??[]).forEach(o=>{r.add(o)});break}return{packages:[...e],types:[...r]}}function H4(t,e){var r;for(const n of t.commands){if((r=n.MakeMoveVec)!=null&&r.type){if(!Mt(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(Mt(o)&&!e.packages[o])throw new Error(`No address found for package: ${o}`);Mt(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(Mt(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 fm(t){const e=new Set;for(const r of t)if(Mt(r)){if(!GI(r))throw new Error(`Invalid type with names: ${r}`);e.add(r)}return e}const D4=t=>async(e,r,n)=>{const s=L4(e);if(s.types.length===0&&s.packages.length===0)return n();const i=await z4(r).core.mvr.resolve({types:s.types,packages:s.packages});H4(e,i),await n()};function z4(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 W2=t=>{throw TypeError(t)},cp=(t,e,r)=>e.has(t)||W2("Cannot "+r),Y=(t,e,r)=>(cp(t,e,"read from private field"),r?r.call(t):e.get(t)),Dr=(t,e,r)=>e.has(t)?W2("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),$e=(t,e,r,n)=>(cp(t,e,"write to private field"),e.set(t,r),r),st=(t,e,r)=>(cp(t,e,"access private method"),r),ks,Cs,mn,Xr,ar,cr,Ar,Yn,ce,Ke,K2,pc,yc,mc,Bc,Rd,up,Z2,Y2;function El(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 X2=Symbol.for("@mysten/transaction");function J2(t){return!!t&&typeof t=="object"&&t[X2]===!0}const lm={buildPlugins:new Map,serializationPlugins:new Map},Al=Symbol.for("@mysten/transaction/registry");function fo(){try{const t=globalThis;return t[Al]||(t[Al]=lm),t[Al]}catch{return lm}}const Q2=class Nd{constructor(){Dr(this,Ke),Dr(this,ks),Dr(this,Cs),Dr(this,mn,new Map),Dr(this,Xr,[]),Dr(this,ar,[]),Dr(this,cr,new Set),Dr(this,Ar,new Set),Dr(this,Yn,new Map),Dr(this,ce),this.object=$4(r=>{var i,o;if(typeof r=="function")return this.object(this.add(r));if(typeof r=="object"&&Td(Fe,r))return r;const n=um(r),s=Y(this,ce).inputs.find(a=>n===um(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:Y(this,ce).inputs.indexOf(s),type:"object"}:st(this,Ke,yc).call(this,"object",typeof r=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:xe(r)}}:r)});const e=fo();$e(this,ce,new Ut),$e(this,Cs,[...e.buildPlugins.values()]),$e(this,ks,[...e.serializationPlugins.values()])}static fromKind(e){const r=new Nd;return $e(r,ce,Ut.fromKindBytes(typeof e=="string"?qt(e):e)),$e(r,Xr,Y(r,ce).inputs.slice()),$e(r,ar,Y(r,ce).commands.slice()),$e(r,cr,new Set(Y(r,ar).map((n,s)=>s))),r}static from(e){const r=new Nd;return J2(e)?$e(r,ce,new Ut(e.getData())):typeof e!="string"||!e.startsWith("{")?$e(r,ce,Ut.fromBytes(typeof e=="string"?qt(e):e)):$e(r,ce,Ut.restore(JSON.parse(e))),$e(r,Xr,Y(r,ce).inputs.slice()),$e(r,ar,Y(r,ce).commands.slice()),$e(r,cr,new Set(Y(r,ar).map((n,s)=>s))),r}static registerGlobalSerializationPlugin(e,r){fo().serializationPlugins.set(e,r??e)}static unregisterGlobalSerializationPlugin(e){fo().serializationPlugins.delete(e)}static registerGlobalBuildPlugin(e,r){fo().buildPlugins.set(e,r??e)}static unregisterGlobalBuildPlugin(e){fo().buildPlugins.delete(e)}addSerializationPlugin(e){Y(this,ks).push(e)}addBuildPlugin(e){Y(this,Cs).push(e)}addIntentResolver(e,r){if(Y(this,mn).has(e)&&Y(this,mn).get(e)!==r)throw new Error(`Intent resolver for ${e} already exists`);Y(this,mn).set(e,r)}setSender(e){Y(this,ce).sender=e}setSenderIfNotSet(e){Y(this,ce).sender||(Y(this,ce).sender=e)}setExpiration(e){Y(this,ce).expiration=e?qe(M2,e):null}setGasPrice(e){Y(this,ce).gasConfig.price=String(e)}setGasBudget(e){Y(this,ce).gasConfig.budget=String(e)}setGasBudgetIfNotSet(e){Y(this,ce).gasData.budget==null&&(Y(this,ce).gasConfig.budget=String(e))}setGasOwner(e){Y(this,ce).gasConfig.owner=e}setGasPayment(e){Y(this,ce).gasConfig.payment=e.map(r=>qe(us,r))}get blockData(){return im(Y(this,ce).snapshot())}getData(){return Y(this,ce).snapshot()}get[X2](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:R4(e=>Jh(e)?st(this,Ke,yc).call(this,"pure",{$kind:"Pure",Pure:{bytes:e.toBase64()}}):st(this,Ke,yc).call(this,"pure",Td(rm,e)?qe(rm,e):e instanceof Uint8Array?xr.Pure(e):{$kind:"UnresolvedPure",UnresolvedPure:{value:e}}))}),this.pure}get gas(){return{$kind:"GasCoin",GasCoin:!0}}objectRef(...e){return this.object(xr.ObjectRef(...e))}receivingRef(...e){return this.object(xr.ReceivingRef(...e))}sharedObjectRef(...e){return this.object(xr.SharedObjectRef(...e))}add(e){if(typeof e=="function"){if(Y(this,Yn).has(e))return Y(this,Yn).get(e);const r=st(this,Ke,K2).call(this),n=e(r);if(!(n&&typeof n=="object"&&"then"in n))return $e(this,cr,Y(r,cr)),Y(this,Yn).set(e,n),n;const s=st(this,Ke,pc).call(this,{$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:Y(this,ce).commands.length,result:null}}});Y(this,Ar).add(Promise.resolve(n).then(o=>{s.$Intent.data.result=o}));const i=El(()=>s.$Intent.data.resultIndex);return Y(this,Yn).set(e,i),i}else st(this,Ke,pc).call(this,e);return El(Y(this,ce).commands.length-1)}splitCoins(e,r){const n=bs.SplitCoins(typeof e=="string"?this.object(e):st(this,Ke,Bc).call(this,e),r.map(s=>typeof s=="number"||typeof s=="bigint"||typeof s=="string"?this.pure.u64(s):st(this,Ke,mc).call(this,s)));return st(this,Ke,pc).call(this,n),El(Y(this,ce).commands.length-1,r.length)}mergeCoins(e,r){return this.add(bs.MergeCoins(this.object(e),r.map(n=>this.object(n))))}publish({modules:e,dependencies:r}){return this.add(bs.Publish({modules:e,dependencies:r}))}upgrade({modules:e,dependencies:r,package:n,ticket:s}){return this.add(bs.Upgrade({modules:e,dependencies:r,package:n,ticket:this.object(s)}))}moveCall({arguments:e,...r}){return this.add(bs.MoveCall({...r,arguments:e==null?void 0:e.map(n=>st(this,Ke,mc).call(this,n))}))}transferObjects(e,r){return this.add(bs.TransferObjects(e.map(n=>this.object(n)),typeof r=="string"?this.pure.address(r):st(this,Ke,mc).call(this,r)))}makeMoveVec({type:e,elements:r}){return this.add(bs.MakeMoveVec({type:e,elements:r.map(n=>this.object(n))}))}serialize(){return JSON.stringify(im(Y(this,ce).snapshot()))}async toJSON(e={}){await this.prepareForSerialization(e);const r=this.isFullyResolved();return JSON.stringify(qe(JO,r?{...Y(this,ce).snapshot(),digest:Y(this,ce).getDigest()}:Y(this,ce).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!(!Y(this,ce).sender||Y(this,Ar).size>0||Y(this,ce).commands.some(e=>e.$Intent)||D2(Y(this,ce),{}))}async build(e={}){return await this.prepareForSerialization(e),await st(this,Ke,Rd).call(this,e),Y(this,ce).build({onlyTransactionKind:e.onlyTransactionKind})}async getDigest(e={}){return await this.prepareForSerialization(e),await st(this,Ke,Rd).call(this,e),Y(this,ce).getDigest()}async prepareForSerialization(e){var s;await st(this,Ke,Z2).call(this),st(this,Ke,Y2).call(this);const r=new Set;for(const i of Y(this,ce).commands)i.$Intent&&r.add(i.$Intent.name);const n=[...Y(this,ks)];for(const i of r)if(!((s=e.supportedIntents)!=null&&s.includes(i))){if(!Y(this,mn).has(i))throw new Error(`Missing intent resolver for ${i}`);n.push(Y(this,mn).get(i))}n.push(D4()),await st(this,Ke,up).call(this,n,e)}};ks=new WeakMap;Cs=new WeakMap;mn=new WeakMap;Xr=new WeakMap;ar=new WeakMap;cr=new WeakMap;Ar=new WeakMap;Yn=new WeakMap;ce=new WeakMap;Ke=new WeakSet;K2=function(){const t=new Q2;return $e(t,ce,Y(this,ce)),$e(t,ks,Y(this,ks)),$e(t,Cs,Y(this,Cs)),$e(t,mn,Y(this,mn)),$e(t,Ar,Y(this,Ar)),$e(t,cr,new Set(Y(this,cr))),$e(t,Yn,Y(this,Yn)),Y(this,Xr).push(Y(t,Xr)),Y(this,ar).push(Y(t,ar)),t};pc=function(t){const e=Y(this,ce).commands.length;return Y(this,ar).push(t),Y(this,cr).add(e),Y(this,ce).commands.push(t),Y(this,ce).mapCommandArguments(e,r=>{if(r.$kind==="Result"&&!Y(this,cr).has(r.Result))throw new Error(`Result { Result: ${r.Result} } is not available to use the current transaction`);if(r.$kind==="NestedResult"&&!Y(this,cr).has(r.NestedResult[0]))throw new Error(`Result { NestedResult: [${r.NestedResult[0]}, ${r.NestedResult[1]}] } is not available to use the current transaction`);if(r.$kind==="Input"&&r.Input>=Y(this,ce).inputs.length)throw new Error(`Input { Input: ${r.Input} } references an input that does not exist in the current transaction`);return r}),t};yc=function(t,e){return Y(this,Xr).push(e),Y(this,ce).addInput(t,e)};mc=function(t){return Jh(t)?this.pure(t):st(this,Ke,Bc).call(this,t)};Bc=function(t){if(typeof t=="function"){const e=this.add(t);return typeof e=="function"?st(this,Ke,Bc).call(this,e):qe(Fe,e)}return qe(Fe,t)};Rd=async function(t){if(!t.onlyTransactionKind&&!Y(this,ce).sender)throw new Error("Missing transaction sender");await st(this,Ke,up).call(this,[...Y(this,Cs),O4],t)};up=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(Y(this,ce),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{$e(this,Xr,Y(this,ce).inputs.slice()),$e(this,ar,Y(this,ce).commands.slice())}};Z2=async function(){for(;Y(this,Ar).size>0;){const t=Promise.all(Y(this,Ar));Y(this,Ar).clear(),Y(this,Ar).add(t),await t,Y(this,Ar).delete(t)}};Y2=function(){var o;const t=Y(this,ce).commands,e=Y(this,ce).inputs,r=Y(this,ar).flat(1/0),n=Y(this,Xr).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"});Y(this,ce).commands=s,Y(this,ce).inputs=n,$e(this,ar,s),$e(this,Xr,n),$e(this,cr,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}Y(this,ce).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 Ud=Q2;const V4={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"};class q4 extends a2{constructor(e){var r,n,s;super(e),this.core=this,this.mvr=new F4({cache:this.cache.scope("core.mvr"),url:((r=e.mvr)==null?void 0:r.url)??V4[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=c4(e.parentId,Er.parseFromStr(e.name.type),e.name.bcs),{objects:[n]}=await this.getObjects({objectIds:[r],signal:e.signal});if(n instanceof Error)throw n;const s=Gs(n.type),i=await n.content;return{dynamicField:{id:n.id,digest:n.digest,version:n.version,type:n.type,name:{type:typeof s.typeParams[0]=="string"?s.typeParams[0]:Oc(s.typeParams[0]),bcs:e.name.bcs},value:{type:typeof s.typeParams[1]=="string"?s.typeParams[1]:Oc(s.typeParams[1]),bcs:i.slice(ku+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(a=>setTimeout(a,2e3)),i])}}}}class G4 extends Error{}class Xn extends G4{constructor(e,r){super(r),this.code=e}static fromResponse(e,r){switch(e.code){case"notExists":return new Xn(e.code,`Object ${e.object_id} does not exist`);case"dynamicFieldNotFound":return new Xn(e.code,`Dynamic field not found for object ${e.parent_object_id}`);case"deleted":return new Xn(e.code,`Object ${e.object_id} has been deleted`);case"displayError":return new Xn(e.code,`Display error: ${e.error}`);case"unknown":default:return new Xn(e.code,`Unknown error while loading object${r?` ${r}`:""}`)}}}function W4(t){return{...Ut.fromBytes(t).snapshot(),bcs:t}}function K4(t){const e=he.TransactionEffects.parse(t);switch(e.$kind){case"V1":return Z4({effects:e.V1});case"V2":return Y4({bytes:t,effects:e.V2});default:throw new Error(`Unknown transaction effects version: ${e.$kind}`)}}function Z4(t){throw new Error("V1 effects are not supported yet")}function Y4({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,unchangedSharedObjects: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 e6=t=>{throw TypeError(t)},t6=(t,e,r)=>e.has(t)||e6("Cannot "+r),Dt=(t,e,r)=>(t6(t,e,"read from private field"),r?r.call(t):e.get(t)),X4=(t,e,r)=>e.has(t)?e6("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),J4=(t,e,r,n)=>(t6(t,e,"write to private field"),e.set(t,r),r),gt;class Q4 extends q4{constructor({jsonRpcClient:e,mvr:r}){super({network:e.network,base:e,mvr:r}),X4(this,gt),J4(this,gt,e)}async getObjects(e){const r=xu(e.objectIds,50),n=[];for(const s of r){const i=await Dt(this,gt).multiGetObjects({ids:s,options:{showOwner:!0,showType:!0,showBcs:!0},signal:e.signal});for(const[o,a]of i.entries())a.error?n.push(Xn.fromResponse(a.error,s[o])):n.push(dm(a.data))}return{objects:n}}async getOwnedObjects(e){const r=await Dt(this,gt).getOwnedObjects({owner:e.address,limit:e.limit,cursor:e.cursor,options:{showOwner:!0,showType:!0,showBcs:!0},filter:e.type?{StructType:e.type}:null,signal:e.signal});return{objects:r.data.map(n=>{if(n.error)throw Xn.fromResponse(n.error);return dm(n.data)}),hasNextPage:r.hasNextPage,cursor:r.nextCursor??null}}async getCoins(e){const r=await Dt(this,gt).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(rB.serialize({id:n.coinObjectId,balance:{value:n.balance}}).toBytes()),owner:{$kind:"ObjectOwner",ObjectOwner:e.address}})),hasNextPage:r.hasNextPage,cursor:r.nextCursor??null}}async getBalance(e){const r=await Dt(this,gt).getBalance({owner:e.address,coinType:e.coinType,signal:e.signal});return{balance:{coinType:r.coinType,balance:r.totalBalance}}}async getAllBalances(e){return{balances:(await Dt(this,gt).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 Dt(this,gt).getTransactionBlock({digest:e.digest,options:{showRawInput:!0,showObjectChanges:!0,showRawEffects:!0,showEvents:!0,showEffects:!0},signal:e.signal});return{transaction:hm(r)}}async executeTransaction(e){const r=await Dt(this,gt).executeTransactionBlock({transactionBlock:e.transaction,signature:e.signatures,options:{showRawEffects:!0,showEvents:!0,showObjectChanges:!0,showRawInput:!0,showEffects:!0},signal:e.signal});return{transaction:hm(r)}}async dryRunTransaction(e){const r=Ud.from(e.transaction),n=await Dt(this,gt).dryRunTransactionBlock({transactionBlock:e.transaction,signal:e.signal}),{effects:s,objectTypes:i}=eB({effects:n.effects,objectChanges:n.objectChanges});return{transaction:{digest:await r.getDigest(),epoch:null,effects:s,objectTypes:Promise.resolve(i),signatures:[],transaction:W4(e.transaction)}}}async getReferenceGasPrice(e){const r=await Dt(this,gt).getReferenceGasPrice({signal:e==null?void 0:e.signal});return{referenceGasPrice:String(r)}}async getDynamicFields(e){const r=await Dt(this,gt).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:qt(n.bcsName)}})),hasNextPage:r.hasNextPage,cursor:r.nextCursor}}async verifyZkLoginSignature(e){const r=await Dt(this,gt).verifyZkLoginSignature({bytes:e.bytes,signature:e.signature,intentScope:e.intentScope,author:e.author});return{success:r.success,errors:r.errors}}resolveNameServiceNames(e){return Dt(this,gt).resolveNameServiceNames(e)}resolveTransactionPlugin(){return H2(Dt(this,gt))}}gt=new WeakMap;function dm(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"?qt(t.bcs.bcsBytes):new Uint8Array),owner:yi(t.owner)}}function yi(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 hm(t){var i,o;const e=he.SenderSignedData.parse(qt(t.rawTransaction))[0],r={};(i=t.objectChanges)==null||i.forEach(a=>{a.type!=="published"&&(r[a.objectId]=a.objectType)});const n=he.TransactionData.serialize(e.intentMessage.value).toBytes(),s=Ut.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:K4(new Uint8Array(t.rawEffects)),objectTypes:Promise.resolve(r),transaction:{...s,bcs:n},signatures:e.txSignatures}}function eB({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:yi(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:yi(a.owner),outputState:"ObjectWrite",outputVersion:a.version,outputDigest:a.digest,outputOwner:yi(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:yi(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:yi(e.gasObject.owner),idOperation:"None"},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies??[],lamportVersion:e.gasObject.reference.version,changedObjects:n,unchangedSharedObjects:s,auxiliaryDataDigest:null}}}const tB=he.struct("Balance",{value:he.u64()}),rB=he.struct("Coin",{id:he.Address,balance:tB}),nB=Symbol.for("@mysten/SuiClient");class pm extends a2{constructor(e){super({network:e.network??"unknown"}),this.jsonRpc=this,this.transport=e.transport??new oI({url:e.url}),this.core=new Q4({jsonRpcClient:this,mvr:e.mvr})}get[nB](){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||!wr(xe(r)))throw new Error("Invalid Sui address");return e&&Mt(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||!wr(xe(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||!wr(xe(e)))throw new Error("Invalid Sui address");return r&&Mt(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||!wr(xe(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&&Mt(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&&Mt(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&&zt(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&&zt(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&&zt(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&&zt(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&&zt(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||!wr(xe(e.owner)))throw new Error("Invalid Sui address");const r=e.filter?{...e.filter}:void 0;return r&&"MoveModule"in r&&zt(r.MoveModule.package)?r.MoveModule={module:r.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:r.MoveModule.package})).package}:r&&"StructType"in r&&Mt(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||!tc(vn(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||!tc(vn(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&&zt(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(!Qy(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(!Qy(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:wt(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||!wr(xe(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||!tc(vn(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&&Mt(e.MoveEventType)&&(e={...e,MoveEventType:(await this.core.mvr.resolveType({type:e.MoveEventType})).type}),e&&"MoveEventModule"in e&&zt(e.MoveEventModule.package)&&(e={...e,MoveEventModule:{module:e.MoveEventModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveEventModule.package})).package}}),"MoveModule"in e&&zt(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(J2(e.transactionBlock))e.transactionBlock.setSenderIfNotSet(e.sender),r=wt(await e.transactionBlock.build({client:this,onlyTransactionKind:!0}));else if(typeof e.transactionBlock=="string")r=e.transactionBlock;else if(e.transactionBlock instanceof Uint8Array)r=wt(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:wt(e.transactionBlock)]})}async getDynamicFields(e){if(!e.parentId||!tc(vn(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=na(r.digest);return ji(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=>DI(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(c=>setTimeout(c,n)),o])}}throw i.throwIfAborted(),new Error("Unexpected error while waiting for transaction block.")}experimental_asClientExtension(){return{name:"jsonRPC",register:()=>this}}}class sB{constructor(e,r,n,s){this.client=new pm({url:Zy(n)}),this.url=e instanceof g.Url?e:new g.Url(e),this.account=r,this.network=n,this.auth=s,this.relayer=new Pa(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 g.Err("Order is required");if(X.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 Ch(i.asset,this.url);if(!f.ok)return g.Err(f.error);const{tokenAddress:l}=f.val,p=new Ud;p.setSender(this.htlcActorAddress);const[d]=p.splitCoins(p.gas,[o]);p.moveCall({target:`${ld[this.network].packageId}::${ld[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(t4)]});const m=await p.build({client:this.client}),b=await this.client.dryRunTransactionBlock({transactionBlock:m});if(b.effects.status.status==="failure")return g.Err(`${b.effects.status.error}`);let E;if("features"in this.account?E=await((r=this.account.features[pp.SuiSignAndExecuteTransaction])==null?void 0:r.signAndExecuteTransaction({transaction:p,account:this.account.accounts[0],chain:`sui:${this.network}`})):E=await this.client.signAndExecuteTransaction({signer:this.account,transaction:p,options:{showEffects:!0}}),!E)return g.Err("Failed to initiate");const S=await this.client.waitForTransaction({digest:E.digest,options:{showEffects:!0}});return((n=S.effects)==null?void 0:n.status.status)==="failure"?g.Err(`Failed to initiate: ${(s=S.effects)==null?void 0:s.status.error}`):g.Ok(S.digest)}catch(i){return g.Err(i)}}async initiateWithCreateOrderResponse(e){var a,c,u;const{ptb_bytes:r}=e,s=await new pm({url:Zy("testnet")}).getReferenceGasPrice(),i=1e7,o=Ud.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[pp.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 g.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"?g.Err(`Failed to initiate: ${(u=l.effects)==null?void 0:u.status.error}`):g.Ok(l.digest)}catch(f){return g.Err(String(f))}}async redeem(e,r){const n=await this.relayer.redeem(e.order_id,r);return n.error?g.Err(n.error):n.val?g.Ok(n.val):g.Err("Redeem: No result found")}async refund(){return g.Err("Refund is taken care of by the relayer")}}const iB=t=>{if(t)if(typeof t=="string"){const e=g.DigestKey.from(t);if(!e.ok)throw new Error(e.error);return e.val}else return t},ym=t=>typeof t=="string"?new g.ApiKey(t):t;class oB{constructor(e={}){const r={stdTTL:e.ttl?e.ttl/1e3:3600,checkperiod:600};this.cache=new f6(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 ca,ua,fa,Xe,Ii,Jn;class aB{constructor(e,r,n,s,i,o){hs(this,ca);hs(this,ua);hs(this,fa);hs(this,Xe);hs(this,Ii);hs(this,Jn);this.isBackgroundServiceRunning=!1,this.stopBackgroundExecution=null,this.htlcs=r,this.events=o,ps(this,ca,e),ps(this,ua,n),ps(this,fa,Mi.fromDigestKey(e.digestKey)),ps(this,Xe,new oB),ps(this,Ii,s),ps(this,Jn,i)}async getAddressesFromHTLCs(){var n,s,i,o,a;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].filter(c=>!!c&&c.length>0).forEach(c=>e.add(c.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(Be(this,ca).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 Be(this,ua).getOrders({from_owner:c,status:X.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([X.OrderStatus.InitiateDetected,X.OrderStatus.AwaitingRefund,X.OrderStatus.Initiated,X.OrderStatus.RefundDetected,X.OrderStatus.Refunded,X.OrderStatus.Expired]),n=e.map(async s=>{try{X.isBitcoin(s.source_swap.chain)&&r.has(s.status)&&!X.isCompleted(s)&&await this.postRefundSACP(s),X.parseAction(s)===X.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 Be(this,fa).generateSecret(e.nonce);if(!r.ok){this.events.emit("error",e,r.error);return}const n=g.trim0x(r.val.secretHash),s=g.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=X.getBlockchainType(e.destination_swap.chain),c={[X.BlockchainType.evm]:()=>this.evmRedeem(e,i),[X.BlockchainType.bitcoin]:()=>this.btcRedeem(e,i),[X.BlockchainType.starknet]:()=>this.starknetRedeem(e,i),[X.BlockchainType.solana]:()=>this.solRedeem(e,i),[X.BlockchainType.sui]:()=>this.suiRedeem(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"),Be(this,Xe).getOrderExecution(e,X.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")&&Be(this,Xe).setOrderExecution(e,X.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}Be(this,Xe).setOrderExecution(e,X.OrderAction.Redeem,s.val),this.events.emit("success",e,X.OrderAction.Redeem,s.val)}async starknetRedeem(e,r){if(this.events.emit("log",e.order_id,"executing starknet redeem"),Be(this,Xe).getOrderExecution(e,X.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")&&Be(this,Xe).setOrderExecution(e,X.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}s.val&&(Be(this,Xe).setOrderExecution(e,X.OrderAction.Redeem,s.val),this.events.emit("success",e,X.OrderAction.Redeem,s.val))}async solRedeem(e,r){if(this.events.emit("log",e.order_id,"executing sol redeem"),Be(this,Xe).getOrderExecution(e,X.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")&&Be(this,Xe).setOrderExecution(e,X.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}s.val&&(Be(this,Xe).setOrderExecution(e,X.OrderAction.Redeem,s.val),this.events.emit("success",e,X.OrderAction.Redeem,s.val))}async suiRedeem(e,r){if(this.events.emit("log",e.order_id,"executing sui redeem"),Be(this,Xe).getOrderExecution(e,X.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")&&Be(this,Xe).setOrderExecution(e,X.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}s.val&&(Be(this,Xe).setOrderExecution(e,X.OrderAction.Redeem,s.val),this.events.emit("success",e,X.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=Be(this,Xe).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()}Be(this,Xe).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,g.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,X.OrderAction.Redeem,f.val),Be(this,Xe).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 Be(this,Ii).getAuthHeaders();if(n.error){this.events.emit("error",e,"Failed to get auth headers: "+n.error);return}const s=await g.Fetcher.post(new g.Url(Be(this,Jn).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 g.Url(Be(this,Jn).baseurl).endpoint("relayer/bitcoin/instant-refund");(await g.Fetcher.post(o,{headers:{"Content-Type":"application/json",...n.val},body:JSON.stringify({order_id:e.order_id,signatures:i.val})})).ok&&Be(this,Xe).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(!Be(this,Jn))return g.Err("API not found");const n=new g.Url(Be(this,Jn).relayer).endpoint("/bitcoin/redeem "),s=await Be(this,Ii).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?g.Ok(o.result):g.Err(o.error)}catch(n){return g.Err("Failed to broadcast redeem tx: "+n)}}}ca=new WeakMap,ua=new WeakMap,fa=new WeakMap,Xe=new WeakMap,Ii=new WeakMap,Jn=new WeakMap;const lo={p2wpkh:"p2wpkh","p2wpkh-p2sh":"p2wpkh-p2sh"},bc={ALL:pe.Transaction.SIGHASH_ALL,NONE:pe.Transaction.SIGHASH_NONE,SINGLE:pe.Transaction.SIGHASH_SINGLE,ALL_ANYONECANPAY:pe.Transaction.SIGHASH_ALL|pe.Transaction.SIGHASH_ANYONECANPAY,NONE_ANYONECANPAY:pe.Transaction.SIGHASH_NONE|pe.Transaction.SIGHASH_ANYONECANPAY,SINGLE_ANYONECANPAY:pe.Transaction.SIGHASH_SINGLE|pe.Transaction.SIGHASH_ANYONECANPAY};class $s{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 yp.mixed().oneOf(["segwitV0","segwitV1","p2shSignature"]).required().validate(r),i=await yp.mixed().oneOf(Object.values(bc)).required().validate(parseInt(n));return new $s(s,i)}}const ws={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}`},wo={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"},cB=(t,e,r=!1)=>{const n=o=>{try{o=pe.address.fromBech32(o).data.toString("hex")}catch(a){if(pd(a))(a.message.includes("Mixed-case string")||a.message.includes("too short"))&&(o=pe.address.fromBase58Check(o).hash.toString("hex"));else throw new Error(String(a))}return o},s=pe.script.fromASM(`
|
|
89
|
-
OP_IF
|
|
90
|
-
OP_SHA256
|
|
91
|
-
${t.secretHash}
|
|
92
|
-
OP_EQUALVERIFY
|
|
93
|
-
OP_DUP
|
|
94
|
-
OP_HASH160
|
|
95
|
-
${n(t.recipientAddress.address)}
|
|
96
|
-
OP_ELSE
|
|
97
|
-
${pe.script.number.encode(t.expiryBlocks).toString("hex")}
|
|
98
|
-
OP_CHECKSEQUENCEVERIFY
|
|
99
|
-
OP_DROP
|
|
100
|
-
OP_DUP
|
|
101
|
-
OP_HASH160
|
|
102
|
-
${n(t.refundAddress.address)}
|
|
103
|
-
OP_ENDIF
|
|
104
|
-
OP_EQUALVERIFY
|
|
105
|
-
OP_CHECKSIG
|
|
106
|
-
`.trim().replace(/\s+/g," ")),i=pe.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}},_o={P2SH:"p2sh",P2WSH:"p2wsh",P2TR:"p2tr"};var r6=(t=>(t[t.Bitcoin=0]="Bitcoin",t[t.EVM=1]="EVM",t))(r6||{});class uB{addSignatureSegwitV0(e=bc.ALL){return new $s("segwitV0",e)}addSignatureP2sh(e=bc.ALL){return new $s("p2shSignature",e)}addSignatureSegwitV1(e=bc.ALL){return new $s("segwitV1",e)}chain(){return r6.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(hd(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 pe.address.toOutputScript(e,await this.getNetwork())}totalValueFromUTXOs(e){return e.reduce((r,n)=>r+n.value,0)}async scriptToAddress(e){const r=pe.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=g.trim0x(e.secretHash),e.secretHash.length!==64)throw new Error(wo.INVALID_SECRET_HASH);const{script:r,address:n}=cB(e,await this.getNetwork());return new fB(this,{...e,redeemScript:r,scriptAddress:n})}getScriptType(e,r){try{if(pe.address.fromBase58Check(e).version===r.scriptHash)return _o.P2SH}catch{const s=pe.address.fromBech32(e);if(s.prefix!==r.bech32)throw new Error("Invalid address");if(s.version===0){if(s.data.length===32)return _o.P2WSH}else if(s.version===1&&s.data.length===32)return _o.P2TR}throw new Error("Unsupported script type")}}class fB{constructor(e,r){if(r.secretHash=g.trim0x(r.secretHash),r.secretHash.length!==64)throw new Error(wo.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=g.trim0x(e);const n=[this.wallet.addSignatureSegwitV0(),Buffer.from(await this.wallet.getPublicKey(),"hex"),Buffer.from(e,"hex"),pe.script.number.encode(1),this.swap.redeemScript],s=pe.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 pd(i)?i.message.includes("OP_EQUALVERIFY")?new Error(wo.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"),pe.script.number.encode(0),this.swap.redeemScript];try{const n=pe.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 pd(n)?n.message.includes("OP_EQUALVERIFY")?new Error(wo.INVALID_PUBKEY):n.message.includes("BIP")?new Error(wo.ORDER_NOT_EXPIRED):new Error(n.message):new Error(String(n))}}}const Sl=(t,e,r,n)=>`m/${t}'/${e===kr.Mainnet?0:1}'/${r}'/0/${n??0}`,n6={bip44:(t,e,r)=>Sl("44",t,r??0,e),bip49:(t,e,r)=>Sl("49",t,r??0,e),bip84:(t,e,r)=>Sl("84",t,r??0,e)};function xl(t){if(t===kr.Mainnet)return pe.networks.bitcoin;if(t===kr.Testnet)return pe.networks.testnet;if(t===kr.Regtest)return pe.networks.regtest;throw new Error("Invalid network")}function lB(t,e,r){if(!mp.validateMnemonic(t))throw new Error("Invalid mnemonic");const n=(r==null?void 0:r.path)??n6.bip44(e,(r==null?void 0:r.index)??0),s=l6.BIP32Factory(ur).fromSeed(mp.mnemonicToSeedSync(t));return dB(s,n)}const dB=(t,e)=>{const r=t.derivePath(e).privateKey;if(!r)throw new Error("Unable to derive private key from mnemonic");return r.toString("hex")};pe.initEccLib(ur);class Ts extends uB{constructor({privateKey:e,provider:r,pkPath:n,pkType:s}){const i=nc.ECPairFactory(ur),o=xl(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=n6.bip84(r.getNetwork(),n==null?void 0:n.index),i=lB(e,r.getNetwork(),{path:s});return new Ts({privateKey:i,provider:r,pkType:lo.p2wpkh,pkPath:s})}static fromPrivateKey(e,r,n){return new Ts({privateKey:e,provider:r,pkType:(n==null?void 0:n.pkType)??lo.p2wpkh,pkPath:(n==null?void 0:n.pkPath)??"unknown"})}static createRandom(e){const r=nc.ECPairFactory(ur),n=xl(e.getNetwork()),s=r.makeRandom({network:n});if(!s.privateKey)throw new Error("Failed to create random key");return new Ts({privateKey:s.privateKey.toString("hex"),provider:e,pkType:lo.p2wpkh,pkPath:"unknown"})}static fromWIF(e,r,n){const s=nc.ECPairFactory(ur),i=xl(r.getNetwork()),o=s.fromWIF(e,i);if(!o.privateKey)throw new Error("Invalid WIF");return Ts.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(ws.SCRIPT_NOT_FUNDED);let f=new pe.Transaction;if(f.version=2,s??(s=await this.provider.suggestFee(r,u,xi.FAST)),s>u)throw new Error(ws.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===_o.P2SH){if(!o)throw new Error("Unlock script is required for p2sh");const m=[];for(const E of o)if(E instanceof $s){const S=E.sigHashType,P=f.hashForSignature(d,e,S);m.push(pe.script.signature.encode(Buffer.from(await this.sign(P.toString("hex")),"hex"),S))}else m.push(E);const b=(p=pe.payments.p2sh({redeem:{input:pe.script.compile(m),output:e},network:this.network}).redeem)==null?void 0:p.input;f.setInputScript(d,b)}else if(c===_o.P2WSH){if(!a)throw new Error("Witness is required for p2wsh");const m=[];for(const b of a)if(b instanceof $s){const E=b.sigHashType,S=f.hashForWitnessV0(d,e,l[d].value,E);m.push(pe.script.signature.encode(Buffer.from(await this.sign(S.toString("hex")),"hex"),E))}else m.push(b);f.setWitness(d,m)}else throw new Error("Invalid script type "+c);return this.provider.broadcast(f.toHex())}async getAddress(){if(this.pkType===lo["p2wpkh-p2sh"]){const{address:r}=pe.payments.p2sh({redeem:pe.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}=pe.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,xi.FAST)),o>i)throw new Error(ws.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(ws.INSUFFICIENT_FUNDS(c,i+o));const u=new pe.Psbt({network:r});for(const l of a){const p=await e.getTransactionHex(l.txid);u.addInput({hash:hd(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,xi.FAST)),n>r)throw new Error(ws.FEE_EXCEEDS_AMOUNT(n,r));if(r<this.minAmt)throw new Error(ws.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 pe.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===lo["p2wpkh-p2sh"]&&(d={witnessUtxo:{script:Buffer.from(p.vout[f.vout].scriptpubkey,"hex"),value:f.value},redeemScript:(u=pe.payments.p2sh({redeem:pe.payments.p2wpkh({pubkey:this.signer.publicKey,network:this.network}),network:this.network}).redeem)==null?void 0:u.output}),a.addInput({hash:hd(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 hB=t=>t.map(e=>e),pB=t=>{if(t===g.Network.TESTNET)return yB;if(t===g.Network.MAINNET)return mB;throw new Error("Invalid network")},yB=["https://mempool.space/testnet4/api"],mB=["https://mempool.space/api","https://blockstream.info/api"],mm=t=>t.sort((e,r)=>e.status.confirmed!=r.status.confirmed?e.status.confirmed?-1:1:r.value-e.value);class s6{constructor(e,r){this.cacheTimeout=2e3,this.utxosCache=new Map,this.APIs=r?hB([r]):pB(e),this.network=Zk(e)}async getTxIndex(e,r){const n=this.APIs.map(i=>`${i}/tx/${e}`),{vout:s}=await g.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 g.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 g.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 g.Fetcher.getWithFallback(this.APIs.map(r=>`${r}/tx/${e}/hex`))}async getTransaction(e){return g.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===kr.Regtest)return{fastestFee:8,halfHourFee:7,hourFee:6,economyFee:4,minimumFee:2};let e="";this.network===kr.Testnet&&(e="testnet4/");const r=`https://mempool.space/${e}api/v1/fees/recommended`,n=`https://blockstream.info/${e}api/fee-estimates`,s=await g.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 g.Fetcher.getWithFallback(this.APIs.map(s=>`${s}/address/${e}/txs`));if(r===ac.ALL)return n;if(r===ac.IN)return n.filter(s=>s.vout.find(i=>i.scriptpubkey_address===e));if(r===ac.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 g.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[Hk[n]]*1.05)*(i*70+o*31+10)}async getTransactionTimes(e){const r=e.map(s=>`txId[]=${s}`).join("&");return(await g.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(ws.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 mm(s)}return mm(t)}return[]};class bB extends g.EventBroker{emit(e,...r){super.emit(e,...r)}}class fp extends X.Orderbook{constructor(e){const{api:r,network:n}=dd(e.environment);if(!r)throw new Error("API Key not found");super(new g.Url(r.baseurl)),this._redeemServiceEnabled=!0,this.executeInterval=5e3,this.network=n,this._api=r,this._digestKey=iB(e.digestKey),this._auth=ym(e.apiKey),this._quote=e.quote??new aw(this._api.baseurl,this._auth),this._htlcs=e.htlc??{},this._events=new bB,this._executor=this._digestKey?new aB(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=Mi.fromDigestKey(this._digestKey.digestKey),!this._htlcs.bitcoin){const s=new s6(this.network);this._htlcs.bitcoin=new q0(Ts.fromPrivateKey(this._digestKey.digestKey,s),this.network)}(n=this._executor)==null||n.start(this.executeInterval,this._redeemServiceEnabled)}return this}static fromWallets(e){const r=ym(e.apiKey),{api:n,network:s}=dd(e.environment);if(!n)throw new Error("API not found, invalid environment "+e.environment);const i=e.wallets?{evm:e.wallets.evm?new mw(n.baseurl,e.wallets.evm,r):void 0,starknet:e.wallets.starknet?new Ew(n.baseurl,e.wallets.starknet,s,r):void 0,solana:e.wallets.solana?new Uw(e.wallets.solana,new g.Url(n.baseurl),s,r,{programAddress:e.solanaProgramAddress}):void 0,sui:e.wallets.sui?new sB(n.baseurl,e.wallets.sui,s,r):void 0,bitcoin:e.wallets.bitcoin?new q0(e.wallets.bitcoin,s):void 0}:{};return new fp({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}}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=X.ChainAsset.from(e.fromAsset).blockchainType,n=await Jk(r,this._htlcs);if(!n.ok)return g.Err(n.error);const s=await this.createOrder(e);if(!s.ok)return g.Err(s.error);const i=s.val;switch(r){case X.BlockchainType.evm:if(!this._htlcs.evm||!X.isEvmOrderResponse(i))return g.Err("Order type does not match EVM blockchain type");{const o=await this._htlcs.evm.initiate(i);if(!o.ok)return g.Err(`EVM HTLC initiation failed: ${o.error}`)}break;case X.BlockchainType.solana:if(!this._htlcs.solana||!X.isSolanaOrderResponse(i))return g.Err("Order type does not match Solana blockchain type");{const o=await this._htlcs.solana.initiate(i);if(!o.ok)return g.Err(`Solana HTLC initiation failed: ${o.error}`)}break;case X.BlockchainType.starknet:if(!this._htlcs.starknet||!X.isStarknetOrderResponse(i))return g.Err("Order type does not match Starknet blockchain type");{const o=await this._htlcs.starknet.initiate(i);if(!o.ok)return g.Err(`Starknet HTLC initiation failed: ${o.error}`)}break;case X.BlockchainType.sui:if(!this._htlcs.sui||!X.isSuiOrderResponse(i))return g.Err("Order type does not match Sui blockchain type");{const o=await this._htlcs.sui.initiate(i);if(!o.ok)return g.Err(`Sui HTLC initiation failed: ${o.error}`)}break;case X.BlockchainType.bitcoin:return g.Ok(i);default:return g.Err("Unsupported blockchain type for swap initiation")}return g.Ok(i.order_id)}async createOrder(e){var S;if(g.hasKeys(e,["source","destination","nonce"]))return super.createOrder(e,this._auth);const r=e,n=await this.validateAndFillParams(r);if(!n.ok)return g.Err(n.error);const{sendAddress:s,receiveAddress:i,fromAsset:o,toAsset:a}=n.val,c=Date.now().toString();let u;if(!this.redeemServiceEnabled){const P=await this.secretManager.generateSecret(c);if(!P.ok)return g.Err(P.error);u=P.val.secretHash}const f=(S=r.addresses)==null?void 0:S.bitcoin,l=X.isBitcoin(X.ChainAsset.from(r.fromAsset).chain),p=X.isBitcoin(X.ChainAsset.from(r.toAsset).chain),d=!l&&!p||!!u,m={source:{asset:o.toString(),owner:l?f??s:s,delegate:d&&l?s:null,amount:r.sendAmount},destination:{asset:a.toString(),owner:p?f??i:i,delegate:d&&p?i:null,amount:r.receiveAmount},nonce:Number(c),...!this.redeemServiceEnabled&&u?{secret_hash:g.trim0x(u)}:{},solver_id:r.solverId,affiliate_fees:r.affiliateFee,slippage:0},b=await super.createOrder(m,this._auth);if(!b.ok)return g.Err(b.error);const E=X.ChainAsset.from(r.fromAsset).blockchainType;return b.val.type!==E?g.Err("Order response type does not match source blockchain type"):g.Ok(b.val)}async validateAndFillParams(e){var c;if(!e.fromAsset||!e.toAsset)return g.Err("Source and destination assets are required for swap");const r=X.ChainAsset.from(e.fromAsset),n=X.ChainAsset.from(e.toAsset);if(r.network!==n.network)return g.Err("Both assets should be on the same network (either mainnet or testnet)");const s=w0(e.sendAmount);if(!s.ok)return g.Err(s.error);const i=w0(e.receiveAmount);if(!i.ok)return g.Err(i.error);if(s<i)return g.Err("Send amount should be greater than receive amount");if((X.isBitcoin(X.ChainAsset.from(e.fromAsset).chain)||X.isBitcoin(X.ChainAsset.from(e.toAsset).chain))&&!((c=e.addresses)!=null&&c.bitcoin))return g.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 g.Err(o.error);const a=await this._getAddresses(n.blockchainType,e.addresses);return a.ok?g.Ok({sendAddress:o.val,receiveAddress:a.val,fromAsset:r,toAsset:n}):g.Err(a.error)}async _getAddresses(e,r){var n;if(this._redeemServiceEnabled&&r&&r[e])return g.Ok(r[e]);switch(e){case X.BlockchainType.evm:return this._htlcs.evm?g.Ok(this._htlcs.evm.htlcActorAddress):g.Err("Please provide evmHTLC when initializing garden or pass EVM address in SwapParams");case X.BlockchainType.bitcoin:{const s=(n=this._htlcs.bitcoin)==null?void 0:n.getPublicKey;return!s||!Gk(s)?g.Err("Invalid btc public key or pass Bitcoin address in SwapParams"):g.Ok(je(s))}case X.BlockchainType.solana:return this._htlcs.solana?g.Ok(this._htlcs.solana.htlcActorAddress):g.Err("Please provide solanaHTLC when initializing garden or pass Solana address in SwapParams");case X.BlockchainType.starknet:return this._htlcs.starknet?g.Ok(this._htlcs.starknet.htlcActorAddress):g.Err("Please provide starknetHTLC when initializing garden or pass Starknet address in SwapParams");case X.BlockchainType.sui:return this._htlcs.sui?g.Ok(this._htlcs.sui.htlcActorAddress):g.Err("Please provide suiHTLC when initializing garden or pass Sui address in SwapParams");default:return g.Err("Unsupported chain")}}on(e,r){return this._events.on(e,r),this}off(e,r){return this._events.off(e,r),this}}class gB{constructor(e,r,n){this.callData=new Je.CallData(bw),this.account=e,this.starknetProvider=new Je.RpcProvider({nodeUrl:r||(n?Qo[n].nodeUrl:Qo.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 Je.Contract(vw,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=Je.num.toHex(n),i=Je.cairo.uint256(BigInt(e.source_swap.amount));try{const c=await gw(this.account,s,e.source_swap.asset,BigInt(e.source_swap.amount),this.starknetProvider);if(c.error)return g.Err(c.error)}catch(c){return g.Err(`Allowance check failed: ${c}`)}const o=e.source_swap.secret_hash;if(!o)return g.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,...g.hexToU32Array(o)]});if(!a.transaction_hash)throw new Error("Failed to initiate HTLC transaction");return g.Ok(a.transaction_hash)}catch(r){return g.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:Je.CallData.compile({swap_id:s,secret:g.hexToU32Array(r)})});return i.transaction_hash?g.Ok(i.transaction_hash):g.Err("Failed to redeem HTLC transaction")}catch{return g.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?g.Ok(s.transaction_hash):g.Err("Failed to refund HTLC transaction")}catch{return g.Err("HTLC Refund Error")}}}class wB{constructor(e){if(this.provider=e,!e)throw new Error("Provider is required");this.provider=e,this.program=new mr.Program(wd,e)}get htlcActorAddress(){if(!this.program.programId)throw new Error("No program found");return this.provider.publicKey.toBase58()}async initiate(e){if(!e)return g.Err("Order is required");try{const{redeemer:r,secretHash:n,amount:s,expiresIn:i}=es.from(e),o=[Buffer.from("swap_account"),this.provider.publicKey.toBuffer(),Buffer.from(n)];this.swapAccount=mr.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?g.Ok(c):g.Err("Failed to initiate HTLC transaction")}catch(r){return g.Err(`Error initiating swap: ${r instanceof Error?r.message:String(r)}`)}}async redeem(e,r){if(!e)return g.Err("Order is required");if(!r)return g.Err("Secret is required");const{secretHash:n}=es.from(e),s=[Buffer.from("swap_account"),this.provider.publicKey.toBuffer(),Buffer.from(n)];this.swapAccount=mr.web3.PublicKey.findProgramAddressSync(s,this.program.programId)[0];try{const{redeemer:i}=es.from(e);if(!this.swapAccount)return g.Err("Swap account not initialized. Call initiate() first or provide swap ID.");const o=await this.program.methods.redeem(Nw(r)).accounts({swapAccount:this.swapAccount,initiator:this.provider.publicKey,redeemer:i}).transaction(),a=await this.provider.sendAndConfirm(o);return a?g.Ok(a):g.Err("Failed to redeem HTLC transaction")}catch(i){return g.Err(`Error redeeming swap: ${i instanceof Error?i.message:String(i)}`)}}async refund(e){if(!e)return g.Err("Order is required");const{secretHash:r}=es.from(e),n=[Buffer.from("swap_account"),Buffer.from(r)];this.swapAccount=mr.web3.PublicKey.findProgramAddressSync(n,this.program.programId)[0];try{if(console.log("Initiating refund for ::",e.source_swap.swap_id),!this.swapAccount)return g.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?g.Ok(i):g.Err("Failed to refund HTLC transaction")}catch(s){return g.Err(`Error refunding swap: ${s instanceof Error?s.message:String(s)}`)}}}exports.API=oc;exports.BaseError=L;exports.BitcoinNetwork=kr;exports.BitcoinProvider=s6;exports.BitcoinWallet=Ts;exports.DEFAULT_AFFILIATE_ASSET=Lk;exports.EvmRelay=mw;exports.Garden=fp;exports.HttpRequestError=vi;exports.Quote=aw;exports.STARKNET_CONFIG=Qo;exports.SUI_CONFIG=ld;exports.SecretManager=Mi;exports.SolanaHTLC=wB;exports.SolanaRelay=Uw;exports.SolanaRelayerAddress=I1;exports.StarknetHTLC=gB;exports.StarknetRelay=Ew;exports.alpenTestnet=pw;exports.botanixMainnet=lw;exports.call=wa;exports.checkAllowance=Ao;exports.checkAllowanceAndApprove=gw;exports.concat=Wt;exports.constructOrderPair=Wk;exports.decodeErrorResult=fb;exports.encodeAbiParameters=fs;exports.evmToViemChainMap=yu;exports.getChainNameFromChainId=yw;exports.getUrl=Lc;exports.hyperliquid=hw;exports.hyperliquidTestnet=dw;exports.isAddressEqual=Gi;exports.isAllowanceSufficient=ww;exports.isHex=_r;exports.localBatchGatewayRequest=pg;exports.localBatchGatewayUrl=Ea;exports.resolveApiConfig=dd;exports.solanaProgramAddress=fd;exports.stringify=Qe;exports.switchOrAddNetwork=gd;exports.toXOnly=je;exports.validateBTCAddress=Kk;
|