@gardenfi/core 3.0.6-beta.5 → 3.0.6-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ccip-jpK2iyjO.js → ccip-DBPkm9c_.js} +1 -1
- package/dist/{ccip-C8VlkDwe.cjs → ccip-EiEdg5Xp.cjs} +1 -1
- package/dist/{index-Bs4peea5.js → index-BMNrJYJ8.js} +11047 -10995
- package/dist/index-ClcKfQMx.cjs +104 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/src/lib/evm/htlc/evmHTLC.d.ts +62 -62
- package/package.json +3 -3
- package/dist/index-SDqBa2QJ.cjs +0 -106
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";var pp=t=>{throw TypeError(t)};var yp=(t,e,r)=>e.has(t)||pp("Cannot "+r);var Se=(t,e,r)=>(yp(t,e,"read from private field"),r?r.call(t):e.get(t)),ys=(t,e,r)=>e.has(t)?pp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),ms=(t,e,r,n)=>(yp(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);const Y=require("@gardenfi/orderbook"),m=require("@gardenfi/utils"),ye=require("bitcoinjs-lib"),t6=require("tiny-secp256k1"),Sm=require("varuint-bitcoin"),Ol=require("bignumber.js"),tc=require("ecpair"),Je=require("starknet"),br=require("@coral-xyz/anchor"),r6=require("@solana/spl-token"),mp=require("@mysten/wallet-standard"),bp=require("tronweb"),n6=require("node-cache"),gp=require("yup"),wp=require("bip39"),s6=require("bip32");function Rc(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 Ae=Rc(ye),fr=Rc(t6),vp=Rc(Sm),i6=Rc(r6),o6="1.2.3";let Ht=class Bl extends Error{constructor(e,r={}){var o;const n=r.cause instanceof Bl?r.cause.details:(o=r.cause)!=null&&o.message?r.cause.message:r.details,s=r.cause instanceof Bl&&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@${o6}`].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 Bn(t,e){const r=t.exec(e);return r==null?void 0:r.groups}const xm=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,km=/^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)?$/,Tm=/^\(.+?\).*?$/,Ep=/^tuple(?<array>(\[(\d*)\])*)$/;function Cl(t){let e=t.type;if(Ep.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+=Cl(i),s<r-1&&(e+=", ")}const n=Bn(Ep,t.type);return e+=`)${(n==null?void 0:n.array)||""}`,Cl({...t,type:e})}return"indexed"in t&&t.indexed&&(e=`${e} indexed`),t.name?`${e} ${t.name}`:e}function oi(t){let e="";const r=t.length;for(let n=0;n<r;n++){const s=t[n];e+=Cl(s),n!==r-1&&(e+=", ")}return e}function yc(t){var e;return t.type==="function"?`function ${t.name}(${oi(t.inputs)})${t.stateMutability&&t.stateMutability!=="nonpayable"?` ${t.stateMutability}`:""}${(e=t.outputs)!=null&&e.length?` returns (${oi(t.outputs)})`:""}`:t.type==="event"?`event ${t.name}(${oi(t.inputs)})`:t.type==="error"?`error ${t.name}(${oi(t.inputs)})`:t.type==="constructor"?`constructor(${oi(t.inputs)})${t.stateMutability==="payable"?" payable":""}`:t.type==="fallback"?`fallback() external${t.stateMutability==="payable"?" payable":""}`:"receive() external payable"}const Pm=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function a6(t){return Pm.test(t)}function c6(t){return Bn(Pm,t)}const _m=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function u6(t){return _m.test(t)}function f6(t){return Bn(_m,t)}const Im=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function l6(t){return Im.test(t)}function d6(t){return Bn(Im,t)}const Om=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function Nc(t){return Om.test(t)}function h6(t){return Bn(Om,t)}const Bm=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function p6(t){return Bm.test(t)}function y6(t){return Bn(Bm,t)}const Cm=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function m6(t){return Cm.test(t)}function b6(t){return Bn(Cm,t)}const g6=/^receive\(\) external payable$/;function w6(t){return g6.test(t)}const Ap=new Set(["memory","indexed","storage","calldata"]),v6=new Set(["indexed"]),Rl=new Set(["calldata","memory","storage"]);class E6 extends Ht{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 A6 extends Ht{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 S6 extends Ht{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 x6 extends Ht{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 k6 extends Ht{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class T6 extends Ht{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 P6 extends Ht{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 _6 extends Ht{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 I6 extends Ht{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class ji extends Ht{constructor({signature:e,type:r}){super(`Invalid ${r} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class O6 extends Ht{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class B6 extends Ht{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 C6 extends Ht{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 R6 extends Ht{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 N6(t,e,r){let n="";if(r)for(const s of Object.entries(r)){if(!s)continue;let i="";for(const o of s[1])i+=`[${o.type}${o.name?`:${o.name}`:""}]`;n+=`(${s[0]}{${i}})`}return e?`${e}:${t}${n}`:`${t}${n}`}const Iu=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 Nl(t,e={}){if(l6(t))return U6(t,e);if(u6(t))return F6(t,e);if(a6(t))return M6(t,e);if(p6(t))return $6(t,e);if(m6(t))return j6(t);if(w6(t))return{type:"receive",stateMutability:"payable"};throw new O6({signature:t})}function U6(t,e={}){const r=d6(t);if(!r)throw new ji({signature:t,type:"function"});const n=Gt(r.parameters),s=[],i=n.length;for(let a=0;a<i;a++)s.push(kn(n[a],{modifiers:Rl,structs:e,type:"function"}));const o=[];if(r.returns){const a=Gt(r.returns),c=a.length;for(let u=0;u<c;u++)o.push(kn(a[u],{modifiers:Rl,structs:e,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:s,outputs:o}}function F6(t,e={}){const r=f6(t);if(!r)throw new ji({signature:t,type:"event"});const n=Gt(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(kn(n[o],{modifiers:v6,structs:e,type:"event"}));return{name:r.name,type:"event",inputs:s}}function M6(t,e={}){const r=c6(t);if(!r)throw new ji({signature:t,type:"error"});const n=Gt(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(kn(n[o],{structs:e,type:"error"}));return{name:r.name,type:"error",inputs:s}}function $6(t,e={}){const r=y6(t);if(!r)throw new ji({signature:t,type:"constructor"});const n=Gt(r.parameters),s=[],i=n.length;for(let o=0;o<i;o++)s.push(kn(n[o],{structs:e,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:s}}function j6(t){const e=b6(t);if(!e)throw new ji({signature:t,type:"fallback"});return{type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}const L6=/^(?<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$_]*))?$/,H6=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,D6=/^u?int$/;function kn(t,e){var l,p;const r=N6(t,e==null?void 0:e.type,e==null?void 0:e.structs);if(Iu.has(r))return Iu.get(r);const n=Tm.test(t),s=Bn(n?H6:L6,t);if(!s)throw new k6({param:t});if(s.name&&V6(s.name))throw new T6({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=Gt(s.type),b=[],g=d.length;for(let E=0;E<g;E++)b.push(kn(d[E],{structs:a}));u={components:b}}else if(s.type in a)c="tuple",u={components:a[s.type]};else if(D6.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"&&!Rm(c))throw new S6({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 P6({param:t,type:e==null?void 0:e.type,modifier:s.modifier});if(Rl.has(s.modifier)&&!G6(c,!!s.array))throw new _6({param:t,type:e==null?void 0:e.type,modifier:s.modifier})}const f={type:`${c}${s.array??""}`,...i,...o,...u};return Iu.set(r,f),f}function Gt(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?Gt(a,[...e,r.trim()]):Gt(a,e,`${r}${o}`,n);case"(":return Gt(a,e,`${r}${o}`,n+1);case")":return Gt(a,e,`${r}${o}`,n-1);default:return Gt(a,e,`${r}${o}`,n)}}if(r==="")return e;if(n!==0)throw new R6({current:r,depth:n});return e.push(r.trim()),e}function Rm(t){return t==="address"||t==="bool"||t==="function"||t==="string"||xm.test(t)||km.test(t)}const z6=/^(?: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 V6(t){return t==="address"||t==="bool"||t==="function"||t==="string"||t==="tuple"||xm.test(t)||km.test(t)||z6.test(t)}function G6(t,e){return e||t==="bytes"||t==="string"||t==="tuple"}function jd(t){const e={},r=t.length;for(let o=0;o<r;o++){const a=t[o];if(!Nc(a))continue;const c=h6(a);if(!c)throw new ji({signature:a,type:"struct"});const u=c.properties.split(";"),f=[],l=u.length;for(let p=0;p<l;p++){const b=u[p].trim();if(!b)continue;const g=kn(b,{type:"struct"});f.push(g)}if(!f.length)throw new B6({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]=Nm(c,e)}return n}const q6=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function Nm(t=[],e={},r=new Set){const n=[],s=t.length;for(let i=0;i<s;i++){const o=t[i];if(Tm.test(o.type))n.push(o);else{const c=Bn(q6,o.type);if(!(c!=null&&c.type))throw new I6({abiParameter:o});const{array:u,type:f}=c;if(f in e){if(r.has(f))throw new C6({type:f});n.push({...o,type:`tuple${u??""}`,components:Nm(e[f],e,new Set([...r,f]))})}else if(Rm(f))n.push(o);else throw new A6({type:f})}}return n}function Um(t){const e=jd(t),r=[],n=t.length;for(let s=0;s<n;s++){const i=t[s];Nc(i)||r.push(Nl(i,e))}return r}function Sp(t){let e;if(typeof t=="string")e=Nl(t);else{const r=jd(t),n=t.length;for(let s=0;s<n;s++){const i=t[s];if(!Nc(i)){e=Nl(i,r);break}}}if(!e)throw new E6({signature:t});return e}function xp(t){const e=[];if(typeof t=="string"){const r=Gt(t),n=r.length;for(let s=0;s<n;s++)e.push(kn(r[s],{modifiers:Ap}))}else{const r=jd(t),n=t.length;for(let s=0;s<n;s++){const i=t[s];if(Nc(i))continue;const o=Gt(i),a=o.length;for(let c=0;c<a;c++)e.push(kn(o[c],{modifiers:Ap,structs:r}))}}if(e.length===0)throw new x6({params:t});return e}function re(t,e,r){const n=t[e.name];if(typeof n=="function")return n;const s=t[r];return typeof s=="function"?s:i=>e(t,i)}function Pr(t,{includeName:e=!1}={}){if(t.type!=="function"&&t.type!=="event"&&t.type!=="error")throw new ov(t.type);return`${t.name}(${Uc(t.inputs,{includeName:e})})`}function Uc(t,{includeName:e=!1}={}){return t?t.map(r=>W6(r,{includeName:e})).join(e?", ":","):""}function W6(t,{includeName:e}){return t.type.startsWith("tuple")?`(${Uc(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 He(t){return _r(t,{strict:!1})?Math.ceil((t.length-2)/2):t.length}const Fm="2.43.3";let Xi={getDocsUrl:({docsBaseUrl:t,docsPath:e="",docsSlug:r})=>e?`${t??"https://viem.sh"}${e}${r?`#${r}`:""}`:void 0,version:`viem@${Fm}`},V=class Ul extends Error{constructor(e,r={}){var a;const n=(()=>{var c;return r.cause instanceof Ul?r.cause.details:(c=r.cause)!=null&&c.message?r.cause.message:r.details})(),s=r.cause instanceof Ul&&r.cause.docsPath||r.docsPath,i=(a=Xi.getDocsUrl)==null?void 0:a.call(Xi,{...r,docsPath:s}),o=[e||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...i?[`Docs: ${i}`]:[],...n?[`Details: ${n}`]:[],...Xi.version?[`Version: ${Xi.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=Fm}walk(e){return Mm(this,e)}};function Mm(t,e){return e!=null&&e(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause!==void 0?Mm(t.cause,e):e?null:t}class K6 extends V{constructor({docsPath:e}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join(`
|
|
4
|
+
`),{docsPath:e,name:"AbiConstructorNotFoundError"})}}class kp extends V{constructor({docsPath:e}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join(`
|
|
5
|
+
`),{docsPath:e,name:"AbiConstructorParamsNotFoundError"})}}class $m extends V{constructor({data:e,params:r,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`
|
|
6
|
+
`),{metaMessages:[`Params: (${Uc(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 ca extends V{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}}class Y6 extends V{constructor({expectedLength:e,givenLength:r,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${r}`].join(`
|
|
7
|
+
`),{name:"AbiEncodingArrayLengthMismatchError"})}}class J6 extends V{constructor({expectedSize:e,value:r}){super(`Size of bytes "${r}" (bytes${He(r)}) does not match expected size (bytes${e}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class X6 extends V{constructor({expectedLength:e,givenLength:r}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${e}`,`Given length (values): ${r}`].join(`
|
|
8
|
+
`),{name:"AbiEncodingLengthMismatchError"})}}class Z6 extends V{constructor(e,{docsPath:r}){super([`Arguments (\`args\`) were provided to "${e}", but "${e}" on the ABI does not contain any parameters (\`inputs\`).`,"Cannot encode error result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the inputs exist on it."].join(`
|
|
9
|
+
`),{docsPath:r,name:"AbiErrorInputsNotFoundError"})}}class Tp extends V{constructor(e,{docsPath:r}={}){super([`Error ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join(`
|
|
10
|
+
`),{docsPath:r,name:"AbiErrorNotFoundError"})}}class jm extends V{constructor(e,{docsPath:r}){super([`Encoded error signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${e}.`].join(`
|
|
11
|
+
`),{docsPath:r,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}}class Q6 extends V{constructor({docsPath:e}){super("Cannot extract event signature from empty topics.",{docsPath:e,name:"AbiEventSignatureEmptyTopicsError"})}}class ev extends V{constructor(e,{docsPath:r}){super([`Encoded event signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${e}.`].join(`
|
|
12
|
+
`),{docsPath:r,name:"AbiEventSignatureNotFoundError"})}}class Pp extends V{constructor(e,{docsPath:r}={}){super([`Event ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(`
|
|
13
|
+
`),{docsPath:r,name:"AbiEventNotFoundError"})}}class _i extends V{constructor(e,{docsPath:r}={}){super([`Function ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
|
|
14
|
+
`),{docsPath:r,name:"AbiFunctionNotFoundError"})}}class Lm extends V{constructor(e,{docsPath:r}){super([`Function "${e}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join(`
|
|
15
|
+
`),{docsPath:r,name:"AbiFunctionOutputsNotFoundError"})}}class tv extends V{constructor(e,{docsPath:r}){super([`Encoded function signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${e}.`].join(`
|
|
16
|
+
`),{docsPath:r,name:"AbiFunctionSignatureNotFoundError"})}}class rv extends V{constructor(e,r){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${e.type}\` in \`${Pr(e.abiItem)}\`, and`,`\`${r.type}\` in \`${Pr(r.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}let nv=class extends V{constructor({expectedSize:e,givenSize:r}){super(`Expected bytes${e}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}};class mc extends V{constructor({abiItem:e,data:r,params:n,size:s}){super([`Data size of ${s} bytes is too small for non-indexed event parameters.`].join(`
|
|
17
|
+
`),{metaMessages:[`Params: (${Uc(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 Ld extends V{constructor({abiItem:e,param:r}){super([`Expected a topic for indexed event parameter${r.name?` "${r.name}"`:""} on event "${Pr(e,{includeName:!0})}".`].join(`
|
|
18
|
+
`),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}}class sv extends V{constructor(e,{docsPath:r}){super([`Type "${e}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
|
|
19
|
+
`),{docsPath:r,name:"InvalidAbiEncodingType"})}}class iv extends V{constructor(e,{docsPath:r}){super([`Type "${e}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(`
|
|
20
|
+
`),{docsPath:r,name:"InvalidAbiDecodingType"})}}let Hm=class extends V{constructor(e){super([`Value "${e}" is not a valid array.`].join(`
|
|
21
|
+
`),{name:"InvalidArrayError"})}};class ov extends V{constructor(e){super([`"${e}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
|
|
22
|
+
`),{name:"InvalidDefinitionTypeError"})}}class av extends V{constructor(e){super(`Filter type "${e}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}let Dm=class extends V{constructor({offset:e,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${e}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}},zm=class extends V{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}};class _p extends V{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${r} ${n} long, but is ${e} ${n} long.`,{name:"InvalidBytesLengthError"})}}function Li(t,{dir:e,size:r=32}={}){return typeof t=="string"?es(t,{dir:e,size:r}):cv(t,{dir:e,size:r})}function es(t,{dir:e,size:r=32}={}){if(r===null)return t;const n=t.replace("0x","");if(n.length>r*2)throw new zm({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[e==="right"?"padEnd":"padStart"](r*2,"0")}`}function cv(t,{dir:e,size:r=32}={}){if(r===null)return t;if(t.length>r)throw new zm({size:t.length,targetSize:r,type:"bytes"});const n=new Uint8Array(r);for(let s=0;s<r;s++){const i=e==="right";n[i?s:r-s-1]=t[i?s:t.length-s-1]}return n}let Vm=class extends V{constructor({max:e,min:r,signed:n,size:s,value:i}){super(`Number "${i}" is not in safe ${s?`${s*8}-bit ${n?"signed":"unsigned"} `:""}integer range ${e?`(${r} to ${e})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}},uv=class extends V{constructor(e){super(`Bytes value "${e}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}};class fv extends V{constructor(e){super(`Hex value "${e}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}}let lv=class extends V{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}};function lr(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 Cr(t,{size:e}){if(He(t)>e)throw new lv({givenSize:He(t),maxSize:e})}function at(t,e={}){const{signed:r}=e;e.size&&Cr(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 dv(t,e={}){let r=t;if(e.size&&(Cr(r,{size:e.size}),r=lr(r)),lr(r)==="0x00")return!1;if(lr(r)==="0x01")return!0;throw new fv(r)}function dr(t,e={}){return Number(at(t,e))}const hv=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function _t(t,e={}){return typeof t=="number"||typeof t=="bigint"?J(t,e):typeof t=="string"?Ii(t,e):typeof t=="boolean"?Gm(t,e):Ze(t,e)}function Gm(t,e={}){const r=`0x${Number(t)}`;return typeof e.size=="number"?(Cr(r,{size:e.size}),Li(r,{size:e.size})):r}function Ze(t,e={}){let r="";for(let s=0;s<t.length;s++)r+=hv[t[s]];const n=`0x${r}`;return typeof e.size=="number"?(Cr(n,{size:e.size}),Li(n,{dir:"right",size:e.size})):n}function J(t,e={}){const{signed:r,size:n}=e,s=BigInt(t);let i;n?r?i=(1n<<BigInt(n)*8n-1n)-1n:i=2n**(BigInt(n)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof i=="bigint"&&r?-i-1n:0;if(i&&s>i||s<o){const c=typeof t=="bigint"?"n":"";throw new Vm({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?Li(a,{size:n}):a}const pv=new TextEncoder;function Ii(t,e={}){const r=pv.encode(t);return Ze(r,e)}const yv=new TextEncoder;function Hi(t,e={}){return typeof t=="number"||typeof t=="bigint"?bv(t,e):typeof t=="boolean"?mv(t,e):_r(t)?Xr(t,e):Is(t,e)}function mv(t,e={}){const r=new Uint8Array(1);return r[0]=Number(t),typeof e.size=="number"?(Cr(r,{size:e.size}),Li(r,{size:e.size})):r}const rn={zero:48,nine:57,A:65,F:70,a:97,f:102};function Ip(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 Xr(t,e={}){let r=t;e.size&&(Cr(r,{size:e.size}),r=Li(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=Ip(n.charCodeAt(a++)),u=Ip(n.charCodeAt(a++));if(c===void 0||u===void 0)throw new V(`Invalid byte sequence ("${n[a-2]}${n[a-1]}" in "${n}").`);i[o]=c*16+u}return i}function bv(t,e){const r=J(t,e);return Xr(r)}function Is(t,e={}){const r=yv.encode(t);return typeof e.size=="number"?(Cr(r,{size:e.size}),Li(r,{dir:"right",size:e.size})):r}const Ca=BigInt(2**32-1),Op=BigInt(32);function qm(t,e=!1){return e?{h:Number(t&Ca),l:Number(t>>Op&Ca)}:{h:Number(t>>Op&Ca)|0,l:Number(t&Ca)|0}}function gv(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}=qm(t[i],e);[n[i],s[i]]=[o,a]}return[n,s]}const Wm=(t,e,r)=>t>>>r|e<<32-r,Km=(t,e,r)=>t<<32-r|e>>>r,wv=(t,e,r)=>t<<64-r|e>>>r-32,vv=(t,e,r)=>t>>>r-32|e<<64-r,Ev=(t,e)=>e,Av=(t,e)=>t,Sv=(t,e,r)=>t<<r|e>>>32-r,xv=(t,e,r)=>e<<r|t>>>32-r,kv=(t,e,r)=>e<<r-32|t>>>64-r,Tv=(t,e,r)=>t<<r-32|e>>>64-r;function Ym(t,e,r,n){const s=(e>>>0)+(n>>>0);return{h:t+r+(s/2**32|0)|0,l:s|0}}const Jm=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),Xm=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,ri=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Pv(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ns(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function ss(t,...e){if(!Pv(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 _v(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");ns(t.outputLen),ns(t.blockLen)}function is(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 Hd(t,e){ss(t);const r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function To(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Ir(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Ou(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Ur(t,e){return t<<32-e|t>>>e}function Ra(t,e){return t<<e|t>>>32-e>>>0}const Zm=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Qm(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}const hn=Zm?t=>t:t=>Qm(t);function Iv(t){for(let e=0;e<t.length;e++)t[e]=Qm(t[e]);return t}const Wn=Zm?t=>t:Iv;function Ov(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=Ov(t)),ss(t),t}function Bv(...t){let e=0;for(let n=0;n<t.length;n++){const s=t[n];ss(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 Fc{}function Mc(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 Cv(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 Rv(t=32){if(ri&&typeof ri.getRandomValues=="function")return ri.getRandomValues(new Uint8Array(t));if(ri&&typeof ri.randomBytes=="function")return Uint8Array.from(ri.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}const Nv=BigInt(0),Zi=BigInt(1),Uv=BigInt(2),Fv=BigInt(7),Mv=BigInt(256),$v=BigInt(113),eb=[],tb=[],rb=[];for(let t=0,e=Zi,r=1,n=0;t<24;t++){[r,n]=[n,(2*r+3*n)%5],eb.push(2*(5*n+r)),tb.push((t+1)*(t+2)/2%64);let s=Nv;for(let i=0;i<7;i++)e=(e<<Zi^(e>>Fv)*$v)%Mv,e&Uv&&(s^=Zi<<(Zi<<BigInt(i))-Zi);rb.push(s)}const nb=gv(rb,!0),jv=nb[0],Lv=nb[1],Bp=(t,e,r)=>r>32?kv(t,e,r):Sv(t,e,r),Cp=(t,e,r)=>r>32?Tv(t,e,r):xv(t,e,r);function Hv(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=Bp(u,f,1)^r[a],p=Cp(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=tb[o],c=Bp(s,i,a),u=Cp(s,i,a),f=eb[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]^=jv[n],t[1]^=Lv[n]}Ir(r)}class Dd extends Fc{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,ns(n),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=To(this.state)}clone(){return this._cloneInto()}keccak(){Wn(this.state32),Hv(this.state32,this.rounds),Wn(this.state32),this.posOut=0,this.pos=0}update(e){is(this),e=En(e),ss(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){is(this,!1),ss(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 ns(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Hd(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,Ir(this.state)}_cloneInto(e){const{blockLen:r,suffix:n,outputLen:s,rounds:i,enableXOF:o}=this;return e||(e=new Dd(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 Dv=(t,e,r)=>Mc(()=>new Dd(e,t,r)),sb=Dv(1,136,256/8);function ht(t,e){const r=e||"hex",n=sb(_r(t,{strict:!1})?Hi(t):t);return r==="bytes"?n:_t(n)}const zv=t=>ht(Hi(t));function Vv(t){return zv(t)}function Gv(t){let e=!0,r="",n=0,s="",i=!1;for(let o=0;o<t.length;o++){const a=t[o];if(["(",")",","].includes(a)&&(e=!0),a==="("&&n++,a===")"&&n--,!!e){if(n===0){if(a===" "&&["event","function",""].includes(s))s="";else if(s+=a,a===")"){i=!0;break}continue}if(a===" "){t[o-1]!==","&&r!==","&&r!==",("&&(r="",e=!1);continue}s+=a,r+=a}}if(!i)throw new V("Unable to normalize signature.");return s}const qv=t=>{const e=typeof t=="string"?t:yc(t);return Gv(e)};function ib(t){return Vv(qv(t))}const $c=ib;let Ot=class extends V{constructor({address:e}){super(`Address "${e}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}},Di=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 Bu=new Di(8192);function ua(t,e){if(Bu.has(`${t}.${e}`))return Bu.get(`${t}.${e}`);const r=t.substring(2).toLowerCase(),n=ht(Is(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 Bu.set(`${t}.${e}`,i),i}function zd(t,e){if(!st(t,{strict:!1}))throw new Ot({address:t});return ua(t,e)}const Wv=/^0x[a-fA-F0-9]{40}$/,Cu=new Di(8192);function st(t,e){const{strict:r=!0}=e??{},n=`${t}.${r}`;if(Cu.has(n))return Cu.get(n);const s=Wv.test(t)?t.toLowerCase()===t?!0:r?ua(t)===t:!0:!1;return Cu.set(n,s),s}function Xt(t){return typeof t[0]=="string"?Rr(t):Kv(t)}function Kv(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 Rr(t){return`0x${t.reduce((e,r)=>e+r.replace("0x",""),"")}`}function Ms(t,e,r,{strict:n}={}){return _r(t,{strict:!1})?Fl(t,e,r,{strict:n}):cb(t,e,r,{strict:n})}function ob(t,e){if(typeof e=="number"&&e>0&&e>He(t)-1)throw new Dm({offset:e,position:"start",size:He(t)})}function ab(t,e,r){if(typeof e=="number"&&typeof r=="number"&&He(t)!==r-e)throw new Dm({offset:r,position:"end",size:He(t)})}function cb(t,e,r,{strict:n}={}){ob(t,e);const s=t.slice(e,r);return n&&ab(s,e,r),s}function Fl(t,e,r,{strict:n}={}){ob(t,e);const s=`0x${t.replace("0x","").slice((e??0)*2,(r??t.length)*2)}`;return n&&ab(s,e,r),s}const Yv=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ub=/^(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 X6({expectedLength:t.length,givenLength:e.length});const r=Jv({params:t,values:e}),n=Gd(r);return n.length===0?"0x":n}function Jv({params:t,values:e}){const r=[];for(let n=0;n<t.length;n++)r.push(Vd({param:t[n],value:e[n]}));return r}function Vd({param:t,value:e}){const r=qd(t.type);if(r){const[n,s]=r;return Zv(e,{length:n,param:{...t,type:s}})}if(t.type==="tuple")return n5(e,{param:t});if(t.type==="address")return Xv(e);if(t.type==="bool")return e5(e);if(t.type.startsWith("uint")||t.type.startsWith("int")){const n=t.type.startsWith("int"),[,,s="256"]=ub.exec(t.type)??[];return t5(e,{signed:n,size:Number(s)})}if(t.type.startsWith("bytes"))return Qv(e,{param:t});if(t.type==="string")return r5(e);throw new sv(t.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function Gd(t){let e=0;for(let i=0;i<t.length;i++){const{dynamic:o,encoded:a}=t[i];o?e+=32:e+=He(a)}const r=[],n=[];let s=0;for(let i=0;i<t.length;i++){const{dynamic:o,encoded:a}=t[i];o?(r.push(J(e+s,{size:32})),n.push(a),s+=He(a)):r.push(a)}return Xt([...r,...n])}function Xv(t){if(!st(t))throw new Ot({address:t});return{dynamic:!1,encoded:es(t.toLowerCase())}}function Zv(t,{length:e,param:r}){const n=e===null;if(!Array.isArray(t))throw new Hm(t);if(!n&&t.length!==e)throw new Y6({expectedLength:e,givenLength:t.length,type:`${r.type}[${e}]`});let s=!1;const i=[];for(let o=0;o<t.length;o++){const a=Vd({param:r,value:t[o]});a.dynamic&&(s=!0),i.push(a)}if(n||s){const o=Gd(i);if(n){const a=J(i.length,{size:32});return{dynamic:!0,encoded:i.length>0?Xt([a,o]):a}}if(s)return{dynamic:!0,encoded:o}}return{dynamic:!1,encoded:Xt(i.map(({encoded:o})=>o))}}function Qv(t,{param:e}){const[,r]=e.type.split("bytes"),n=He(t);if(!r){let s=t;return n%32!==0&&(s=es(s,{dir:"right",size:Math.ceil((t.length-2)/2/32)*32})),{dynamic:!0,encoded:Xt([es(J(n,{size:32})),s])}}if(n!==Number.parseInt(r,10))throw new J6({expectedSize:Number.parseInt(r,10),value:t});return{dynamic:!1,encoded:es(t,{dir:"right"})}}function e5(t){if(typeof t!="boolean")throw new V(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:es(Gm(t))}}function t5(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 Vm({max:n.toString(),min:s.toString(),signed:e,size:r/8,value:t.toString()})}return{dynamic:!1,encoded:J(t,{size:32,signed:e})}}function r5(t){const e=Ii(t),r=Math.ceil(He(e)/32),n=[];for(let s=0;s<r;s++)n.push(es(Ms(e,s*32,(s+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Xt([es(J(He(e),{size:32})),...n])}}function n5(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=Vd({param:i,value:t[o]});n.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?Gd(n):Xt(n.map(({encoded:s})=>s))}}function qd(t){const e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}const fa=t=>Ms(ib(t),0,4);function Ys(t){const{abi:e,args:r=[],name:n}=t,s=_r(n,{strict:!1}),i=e.filter(a=>s?a.type==="function"?fa(a)===n:a.type==="event"?$c(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?Ml(u,l):!1})){if(o&&"inputs"in o&&o.inputs){const u=fb(a.inputs,o.inputs,r);if(u)throw new rv({abiItem:a,type:u[0]},{abiItem:o,type:u[1]})}o=a}}return o||i[0]}function Ml(t,e){const r=typeof t,n=e.type;switch(n){case"address":return st(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)=>Ml(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=>Ml(s,{...e,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function fb(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 fb(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")?st(r[n],{strict:!1}):o.includes("address")&&o.includes("bytes")?st(r[n],{strict:!1}):!1)return o}}const Rp="/docs/contract/encodeEventTopics";function la(t){var c;const{abi:e,eventName:r,args:n}=t;let s=e[0];if(r){const u=Ys({abi:e,name:r});if(!u)throw new Pp(r,{docsPath:Rp});s=u}if(s.type!=="event")throw new Pp(void 0,{docsPath:Rp});const i=Pr(s),o=$c(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,b)=>Np({param:l,value:f[p][b]})):typeof f[p]<"u"&&f[p]!==null?Np({param:l,value:f[p]}):null))??[])}return[o,...a]}function Np({param:t,value:e}){if(t.type==="string"||t.type==="bytes")return ht(Hi(e));if(t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/))throw new av(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 Wd(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?la({abi:n,args:s,eventName:i}):void 0,l=await t.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof o=="bigint"?J(o):o,toBlock:typeof c=="bigint"?J(c):c,topics:f}]});return{abi:n,args:s,eventName:i,id:l,request:u(l),strict:!!a,type:"event"}}function Ue(t){return typeof t=="string"?{address:t,type:"json-rpc"}:t}const Up="/docs/contract/encodeFunctionData";function s5(t){const{abi:e,args:r,functionName:n}=t;let s=e[0];if(n){const i=Ys({abi:e,args:r,name:n});if(!i)throw new _i(n,{docsPath:Up});s=i}if(s.type!=="function")throw new _i(void 0,{docsPath:Up});return{abi:[s],functionName:fa(Pr(s))}}function er(t){const{args:e}=t,{abi:r,functionName:n}=(()=>{var a;return t.abi.length===1&&((a=t.functionName)!=null&&a.startsWith("0x"))?t:s5(t)})(),s=r[0],i=n,o="inputs"in s&&s.inputs?fs(s.inputs,e??[]):void 0;return Rr([i,o??"0x"])}const i5={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."},lb={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},o5={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"};let Fp=class extends V{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`,{name:"NegativeOffsetError"})}},db=class extends V{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`,{name:"PositionOutOfBoundsError"})}},a5=class extends V{constructor({count:e,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`,{name:"RecursiveReadLimitExceededError"})}};const c5={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 a5({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new db({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new Fp({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 Fp({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 Kd(t,{recursiveReadLimit:e=8192}={}){const r=Object.create(c5);return r.bytes=t,r.dataView=new DataView(t.buffer??t,t.byteOffset,t.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=e,r}function u5(t,e={}){typeof e.size<"u"&&Cr(t,{size:e.size});const r=Ze(t,e);return at(r,e)}function f5(t,e={}){let r=t;if(typeof e.size<"u"&&(Cr(r,{size:e.size}),r=lr(r)),r.length>1||r[0]>1)throw new uv(r);return!!r[0]}function An(t,e={}){typeof e.size<"u"&&Cr(t,{size:e.size});const r=Ze(t,e);return dr(r,e)}function l5(t,e={}){let r=t;return typeof e.size<"u"&&(Cr(r,{size:e.size}),r=lr(r,{dir:"right"})),new TextDecoder().decode(r)}function da(t,e){const r=typeof e=="string"?Xr(e):e,n=Kd(r);if(He(r)===0&&t.length>0)throw new ca;if(He(e)&&He(e)<32)throw new $m({data:typeof e=="string"?e:Ze(e),params:t,size:He(e)});let s=0;const i=[];for(let o=0;o<t.length;++o){const a=t[o];n.setPosition(s);const[c,u]=bi(n,a,{staticPosition:0});s+=u,i.push(c)}return i}function bi(t,e,{staticPosition:r}){const n=qd(e.type);if(n){const[s,i]=n;return h5(t,{...e,type:i},{length:s,staticPosition:r})}if(e.type==="tuple")return b5(t,e,{staticPosition:r});if(e.type==="address")return d5(t);if(e.type==="bool")return p5(t);if(e.type.startsWith("bytes"))return y5(t,e,{staticPosition:r});if(e.type.startsWith("uint")||e.type.startsWith("int"))return m5(t,e);if(e.type==="string")return g5(t,{staticPosition:r});throw new iv(e.type,{docsPath:"/docs/contract/decodeAbiParameters"})}const Mp=32,$l=32;function d5(t){const e=t.readBytes(32);return[ua(Ze(cb(e,-20))),32]}function h5(t,e,{length:r,staticPosition:n}){if(!r){const o=An(t.readBytes($l)),a=n+o,c=a+Mp;t.setPosition(a);const u=An(t.readBytes(Mp)),f=Po(e);let l=0;const p=[];for(let d=0;d<u;++d){t.setPosition(c+(f?d*32:l));const[b,g]=bi(t,e,{staticPosition:c});l+=g,p.push(b)}return t.setPosition(n+32),[p,32]}if(Po(e)){const o=An(t.readBytes($l)),a=n+o,c=[];for(let u=0;u<r;++u){t.setPosition(a+u*32);const[f]=bi(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]=bi(t,e,{staticPosition:n+s});s+=c,i.push(a)}return[i,s]}function p5(t){return[f5(t.readBytes(32),{size:32}),32]}function y5(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),[Ze(c),32]}return[Ze(t.readBytes(Number.parseInt(s,10),32)),32]}function m5(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?u5(s,{signed:r}):An(s,{signed:r}),32]}function b5(t,e,{staticPosition:r}){const n=e.components.length===0||e.components.some(({name:o})=>!o),s=n?[]:{};let i=0;if(Po(e)){const o=An(t.readBytes($l)),a=r+o;for(let c=0;c<e.components.length;++c){const u=e.components[c];t.setPosition(a+i);const[f,l]=bi(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]=bi(t,a,{staticPosition:r});s[n?o:a==null?void 0:a.name]=c,i+=u}return[s,i]}function g5(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=l5(lr(i));return t.setPosition(e+32),[o,32]}function Po(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(Po);const r=qd(t.type);return!!(r&&Po({...t,type:r[1]}))}function hb(t){const{abi:e,data:r}=t,n=Ms(r,0,4);if(n==="0x")throw new ca;const i=[...e||[],lb,o5].find(o=>o.type==="error"&&n===fa(Pr(o)));if(!i)throw new jm(n,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:i,args:"inputs"in i&&i.inputs&&i.inputs.length>0?da(i.inputs,Ms(r,4)):void 0,errorName:i.name}}const Xe=(t,e,r)=>JSON.stringify(t,(n,s)=>typeof s=="bigint"?s.toString():s,r);function pb({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"?Xe(e[i]):e[i]}`).join(", ")})`}const w5={gwei:9,wei:18},v5={ether:-9,wei:9};function yb(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 Yd(t,e="wei"){return yb(t,w5[e])}function $t(t,e="wei"){return yb(t,v5[e])}class E5 extends V{constructor({address:e}){super(`State for account "${e}" is set multiple times.`,{name:"AccountStateConflictError"})}}class A5 extends V{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function $p(t){return t.reduce((e,{slot:r,value:n})=>`${e} ${r}: ${n}
|
|
23
|
+
`,"")}function S5(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+=$p(n.state)),n.stateDiff&&(s+=` stateDiff:
|
|
29
|
+
`,s+=$p(n.stateDiff)),s},` State Override:
|
|
30
|
+
`).slice(0,-1)}function ha(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 x5 extends V{constructor({v:e}){super(`Invalid \`v\` value "${e}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class k5 extends V{constructor({transaction:e}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",ha(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 T5 extends V{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}class P5 extends V{constructor(e,{account:r,docsPath:n,chain:s,data:i,gas:o,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:f,to:l,value:p}){var b;const d=ha({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"&&`${Yd(p)} ${((b=s==null?void 0:s.nativeCurrency)==null?void 0:b.symbol)||"ETH"}`,data:i,gas:o,gasPrice:typeof a<"u"&&`${$t(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${$t(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${$t(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 mb extends V{constructor({blockHash:e,blockNumber:r,blockTag:n,hash:s,index:i}){let o="Transaction";n&&i!==void 0&&(o=`Transaction at block time "${n}" at index "${i}"`),e&&i!==void 0&&(o=`Transaction at block hash "${e}" at index "${i}"`),r&&i!==void 0&&(o=`Transaction at block number "${r}" at index "${i}"`),s&&(o=`Transaction with hash "${s}"`),super(`${o} could not be found.`,{name:"TransactionNotFoundError"})}}class bb extends V{constructor({hash:e}){super(`Transaction receipt with hash "${e}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}}class gb extends V{constructor({receipt:e}){super(`Transaction with hash "${e.transactionHash}" reverted.`,{metaMessages:['The receipt marked the transaction as "reverted". This could mean that the function on the contract you are trying to call threw an error.'," ","You can attempt to extract the revert reason by:","- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract","- using the `call` Action with raw `data`"],name:"TransactionReceiptRevertedError"}),Object.defineProperty(this,"receipt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}}class _5 extends V{constructor({hash:e}){super(`Timed out while waiting for transaction with hash "${e}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}const I5=t=>t,Lc=t=>t;class wb extends V{constructor(e,{account:r,docsPath:n,chain:s,data:i,gas:o,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:f,to:l,value:p,stateOverride:d}){var E;const b=r?Ue(r):void 0;let g=ha({from:b==null?void 0:b.address,to:l,value:typeof p<"u"&&`${Yd(p)} ${((E=s==null?void 0:s.nativeCurrency)==null?void 0:E.symbol)||"ETH"}`,data:i,gas:o,gasPrice:typeof a<"u"&&`${$t(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${$t(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${$t(u)} gwei`,nonce:f});d&&(g+=`
|
|
32
|
+
${S5(d)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Raw Call Arguments:",g].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class vb extends V{constructor(e,{abi:r,args:n,contractAddress:s,docsPath:i,functionName:o,sender:a}){const c=Ys({abi:r,args:n,name:o}),u=c?pb({abiItem:c,args:n,includeFunctionName:!1,includeName:!1}):void 0,f=c?Pr(c,{includeName:!0}):void 0,l=ha({address:s&&I5(s),function:f,args:u&&u!=="()"&&`${[...Array((o==null?void 0:o.length)??0).keys()].map(()=>" ").join("")}${u}`,sender:a});super(e.shortMessage||`An unknown error occurred while executing the contract function "${o}".`,{cause:e,docsPath:i,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],l&&"Contract Call:",l].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=r,this.args=n,this.cause=e,this.contractAddress=s,this.functionName=o,this.sender=a}}class jl extends V{constructor({abi:e,data:r,functionName:n,message:s}){let i,o,a,c;if(r&&r!=="0x")try{o=hb({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=i5[d]}else{const d=f?Pr(f,{includeName:!0}):void 0,b=f&&p?pb({abiItem:f,args:p,includeFunctionName:!1,includeName:!1}):void 0;a=[d?`Error: ${d}`:"",b&&b!=="()"?` ${[...Array((l==null?void 0:l.length)??0).keys()].map(()=>" ").join("")}${b}`:""]}}catch(f){i=f}else s&&(c=s);let u;i instanceof jm&&(u=i.signature,a=[`Unable to decode signature "${u}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${u}.`]),super(c&&c!=="execution reverted"||u?[`The contract function "${n}" reverted with the following ${u?"signature":"reason"}:`,c||u].join(`
|
|
33
|
+
`):`The contract function "${n}" reverted.`,{cause:i,metaMessages:a,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=o,this.raw=r,this.reason=c,this.signature=u}}class O5 extends V{constructor({functionName:e}){super(`The contract function "${e}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${e}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}}class B5 extends V{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory "${e}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}}class Hc extends V{constructor({data:e,message:r}){super(r||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}class gi extends V{constructor({body:e,cause:r,details:n,headers:s,status:i,url:o}){super("HTTP request failed.",{cause:r,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Lc(o)}`,e&&`Request body: ${Xe(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 Jd extends V{constructor({body:e,error:r,url:n}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${Lc(n)}`,`Request body: ${Xe(e)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=r.code,this.data=r.data,this.url=n}}class jp extends V{constructor({body:e,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${Lc(r)}`,`Request body: ${Xe(e)}`],name:"TimeoutError"}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=r}}const C5=-1;class Dt extends V{constructor(e,{code:r,docsPath:n,metaMessages:s,name:i,shortMessage:o}){super(o,{cause:e,docsPath:n,metaMessages:s||(e==null?void 0:e.metaMessages),name:i||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof Jd?e.code:r??C5}}class tr extends Dt{constructor(e,r){super(e,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}}class _o extends Dt{constructor(e){super(e,{code:_o.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}}Object.defineProperty(_o,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class Io extends Dt{constructor(e){super(e,{code:Io.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}}Object.defineProperty(Io,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class Oo extends Dt{constructor(e,{method:r}={}){super(e,{code:Oo.code,name:"MethodNotFoundRpcError",shortMessage:`The method${r?` "${r}"`:""} does not exist / is not available.`})}}Object.defineProperty(Oo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class Bo extends Dt{constructor(e){super(e,{code:Bo.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
|
|
34
|
+
`)})}}Object.defineProperty(Bo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class $s extends Dt{constructor(e){super(e,{code:$s.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}}Object.defineProperty($s,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class os extends Dt{constructor(e){super(e,{code:os.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
|
|
35
|
+
`)})}}Object.defineProperty(os,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class Co extends Dt{constructor(e){super(e,{code:Co.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(Co,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class Ro extends Dt{constructor(e){super(e,{code:Ro.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}}Object.defineProperty(Ro,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class No extends Dt{constructor(e){super(e,{code:No.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}}Object.defineProperty(No,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class As extends Dt{constructor(e,{method:r}={}){super(e,{code:As.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}}Object.defineProperty(As,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class Oi extends Dt{constructor(e){super(e,{code:Oi.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}}Object.defineProperty(Oi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class Uo extends Dt{constructor(e){super(e,{code:Uo.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}}Object.defineProperty(Uo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class wi extends tr{constructor(e){super(e,{code:wi.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}}Object.defineProperty(wi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class Fo extends tr{constructor(e){super(e,{code:Fo.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}}Object.defineProperty(Fo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class Mo extends tr{constructor(e,{method:r}={}){super(e,{code:Mo.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}}Object.defineProperty(Mo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class $o extends tr{constructor(e){super(e,{code:$o.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}}Object.defineProperty($o,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class jo extends tr{constructor(e){super(e,{code:jo.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}}Object.defineProperty(jo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class Lo extends tr{constructor(e){super(e,{code:Lo.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}}Object.defineProperty(Lo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class Bi extends tr{constructor(e){super(e,{code:Bi.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty(Bi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class Ho extends tr{constructor(e){super(e,{code:Ho.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}}Object.defineProperty(Ho,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});class Do extends tr{constructor(e){super(e,{code:Do.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}}Object.defineProperty(Do,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});class zo extends tr{constructor(e){super(e,{code:zo.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}}Object.defineProperty(zo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});class Vo extends tr{constructor(e){super(e,{code:Vo.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}}Object.defineProperty(Vo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});class Go extends tr{constructor(e){super(e,{code:Go.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}}Object.defineProperty(Go,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});class Ci extends tr{constructor(e){super(e,{code:Ci.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(Ci,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});class R5 extends Dt{constructor(e){super(e,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}const N5=3;function js(t,{abi:e,address:r,args:n,docsPath:s,functionName:i,sender:o}){const a=t instanceof Hc?t:t instanceof V?t.walk(b=>"data"in b)||t.walk():{},{code:c,data:u,details:f,message:l,shortMessage:p}=a,d=t instanceof ca?new O5({functionName:i}):[N5,$s.code].includes(c)&&(u||f||l||p)||c===os.code&&f==="execution reverted"&&u?new jl({abi:e,data:typeof u=="object"?u.data:u,functionName:i,message:a instanceof Jd?f:p??l}):t;return new vb(d,{abi:e,args:n,contractAddress:r,docsPath:s,functionName:i,sender:o})}function U5(t){const e=ht(`0x${t.substring(4)}`).substring(26);return ua(`0x${e}`)}async function F5({hash:t,signature:e}){const r=_r(t)?t:_t(t),{secp256k1:n}=await Promise.resolve().then(()=>T8);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),b=Lp(d);return new n.Signature(at(u),at(f)).addRecoveryBit(b)}const o=_r(e)?e:_t(e);if(He(o)!==65)throw new Error("invalid signature length");const a=dr(`0x${o.slice(130)}`),c=Lp(a);return n.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Lp(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 Eb({hash:t,signature:e}){return U5(await F5({hash:t,signature:e}))}function as(t,e="hex"){const r=Ab(t),n=Kd(new Uint8Array(r.length));return r.encode(n),e==="hex"?Ze(n.bytes):n.bytes}function Ab(t){return Array.isArray(t)?M5(t.map(e=>Ab(e))):$5(t)}function M5(t){const e=t.reduce((s,i)=>s+i.length,0),r=Sb(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 $5(t){const e=typeof t=="string"?Xr(t):t,r=Sb(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 Sb(t){if(t<2**8)return 1;if(t<2**16)return 2;if(t<2**24)return 3;if(t<2**32)return 4;throw new V("Length is too large.")}function j5(t){const{chainId:e,nonce:r,to:n}=t,s=t.contractAddress??t.address,i=ht(Rr(["0x05",as([e?J(e):"0x",s,r?J(r):"0x"])]));return n==="bytes"?Xr(i):i}async function Dc(t){const{authorization:e,signature:r}=t;return Eb({hash:j5(e),signature:r??e})}class L5 extends V{constructor(e,{account:r,docsPath:n,chain:s,data:i,gas:o,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:f,to:l,value:p}){var b;const d=ha({from:r==null?void 0:r.address,to:l,value:typeof p<"u"&&`${Yd(p)} ${((b=s==null?void 0:s.nativeCurrency)==null?void 0:b.symbol)||"ETH"}`,data:i,gas:o,gasPrice:typeof a<"u"&&`${$t(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${$t(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${$t(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 pi extends V{constructor({cause:e,message:r}={}){var s;const n=(s=r==null?void 0:r.replace("execution reverted: ",""))==null?void 0:s.replace("execution reverted","");super(`Execution reverted ${n?`with reason: ${n}`:"for an unknown reason"}.`,{cause:e,name:"ExecutionRevertedError"})}}Object.defineProperty(pi,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(pi,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class Ls extends V{constructor({cause:e,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${$t(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:"FeeCapTooHighError"})}}Object.defineProperty(Ls,"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 Ll extends V{constructor({cause:e,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${$t(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:e,name:"FeeCapTooLowError"})}}Object.defineProperty(Ll,"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 Hl extends V{constructor({cause:e,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}is higher than the next one expected.`,{cause:e,name:"NonceTooHighError"})}}Object.defineProperty(Hl,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Dl extends V{constructor({cause:e,nonce:r}={}){super([`Nonce provided for the transaction ${r?`(${r}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
|
|
36
|
+
`),{cause:e,name:"NonceTooLowError"})}}Object.defineProperty(Dl,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class zl extends V{constructor({cause:e,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}exceeds the maximum allowed nonce.`,{cause:e,name:"NonceMaxValueError"})}}Object.defineProperty(zl,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class Vl extends V{constructor({cause:e}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
|
|
37
|
+
`),{cause:e,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(Vl,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class Gl extends V{constructor({cause:e,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(Gl,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class ql extends V{constructor({cause:e,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction is too low.`,{cause:e,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(ql,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class Wl extends V{constructor({cause:e}){super("The transaction type is not supported for this chain.",{cause:e,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(Wl,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class qo extends V{constructor({cause:e,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${$t(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${$t(n)} gwei`:""}).`].join(`
|
|
38
|
+
`),{cause:e,name:"TipAboveFeeCapError"})}}Object.defineProperty(qo,"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 pa extends V{constructor({cause:e}){super(`An error occurred while executing: ${e==null?void 0:e.shortMessage}`,{cause:e,name:"UnknownNodeError"})}}function zc(t,e){const r=(t.details||"").toLowerCase(),n=t instanceof V?t.walk(s=>(s==null?void 0:s.code)===pi.code):t;return n instanceof V?new pi({cause:t,message:n.details}):pi.nodeMessage.test(r)?new pi({cause:t,message:t.details}):Ls.nodeMessage.test(r)?new Ls({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas}):Ll.nodeMessage.test(r)?new Ll({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas}):Hl.nodeMessage.test(r)?new Hl({cause:t,nonce:e==null?void 0:e.nonce}):Dl.nodeMessage.test(r)?new Dl({cause:t,nonce:e==null?void 0:e.nonce}):zl.nodeMessage.test(r)?new zl({cause:t,nonce:e==null?void 0:e.nonce}):Vl.nodeMessage.test(r)?new Vl({cause:t}):Gl.nodeMessage.test(r)?new Gl({cause:t,gas:e==null?void 0:e.gas}):ql.nodeMessage.test(r)?new ql({cause:t,gas:e==null?void 0:e.gas}):Wl.nodeMessage.test(r)?new Wl({cause:t}):qo.nodeMessage.test(r)?new qo({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas,maxPriorityFeePerGas:e==null?void 0:e.maxPriorityFeePerGas}):new pa({cause:t})}function H5(t,{docsPath:e,...r}){const n=(()=>{const s=zc(t,r);return s instanceof pa?t:s})();return new L5(n,{docsPath:e,...r})}function zi(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 Xd(t,e){return({exclude:r,format:n})=>({exclude:r,format:(s,i)=>{const o=e(s,i);if(r)for(const a of r)delete o[a];return{...o,...n(s,i)}},type:t})}const D5={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function ls(t,e){const r={};return typeof t.authorizationList<"u"&&(r.authorizationList=z5(t.authorizationList)),typeof t.accessList<"u"&&(r.accessList=t.accessList),typeof t.blobVersionedHashes<"u"&&(r.blobVersionedHashes=t.blobVersionedHashes),typeof t.blobs<"u"&&(typeof t.blobs[0]!="string"?r.blobs=t.blobs.map(n=>Ze(n)):r.blobs=t.blobs),typeof t.data<"u"&&(r.data=t.data),t.account&&(r.from=t.account.address),typeof t.from<"u"&&(r.from=t.from),typeof t.gas<"u"&&(r.gas=J(t.gas)),typeof t.gasPrice<"u"&&(r.gasPrice=J(t.gasPrice)),typeof t.maxFeePerBlobGas<"u"&&(r.maxFeePerBlobGas=J(t.maxFeePerBlobGas)),typeof t.maxFeePerGas<"u"&&(r.maxFeePerGas=J(t.maxFeePerGas)),typeof t.maxPriorityFeePerGas<"u"&&(r.maxPriorityFeePerGas=J(t.maxPriorityFeePerGas)),typeof t.nonce<"u"&&(r.nonce=J(t.nonce)),typeof t.to<"u"&&(r.to=t.to),typeof t.type<"u"&&(r.type=D5[t.type]),typeof t.value<"u"&&(r.value=J(t.value)),r}function z5(t){return t.map(e=>({address:e.address,r:e.r?J(BigInt(e.r)):e.r,s:e.s?J(BigInt(e.s)):e.s,chainId:J(e.chainId),nonce:J(e.nonce),...typeof e.yParity<"u"?{yParity:J(e.yParity)}:{},...typeof e.v<"u"&&typeof e.yParity>"u"?{v:J(e.v)}:{}}))}function Hp(t){if(!(!t||t.length===0))return t.reduce((e,{slot:r,value:n})=>{if(r.length!==66)throw new _p({size:r.length,targetSize:66,type:"hex"});if(n.length!==66)throw new _p({size:n.length,targetSize:66,type:"hex"});return e[r]=n,e},{})}function V5(t){const{balance:e,nonce:r,state:n,stateDiff:s,code:i}=t,o={};if(i!==void 0&&(o.code=i),e!==void 0&&(o.balance=J(e)),r!==void 0&&(o.nonce=J(r)),n!==void 0&&(o.state=Hp(n)),s!==void 0){if(o.state)throw new A5;o.stateDiff=Hp(s)}return o}function Zd(t){if(!t)return;const e={};for(const{address:r,...n}of t){if(!st(r,{strict:!1}))throw new Ot({address:r});if(e[r])throw new E5({address:r});e[r]=V5(n)}return e}const Vc=2n**256n-1n;function Cn(t){const{account:e,maxFeePerGas:r,maxPriorityFeePerGas:n,to:s}=t,i=e?Ue(e):void 0;if(i&&!st(i.address))throw new Ot({address:i.address});if(s&&!st(s))throw new Ot({address:s});if(r&&r>Vc)throw new Ls({maxFeePerGas:r});if(n&&r&&n>r)throw new qo({maxFeePerGas:r,maxPriorityFeePerGas:n})}class xb extends V{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class Qd extends V{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class G5 extends V{constructor({maxPriorityFeePerGas:e}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${$t(e)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class kb extends V{constructor({blockHash:e,blockNumber:r}){let n="Block";e&&(n=`Block at hash "${e}"`),r&&(n=`Block at number "${r}"`),super(`${n} could not be found.`,{name:"BlockNotFoundError"})}}const Tb={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function ya(t,e){const r={...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,chainId:t.chainId?dr(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?dr(t.nonce):void 0,to:t.to?t.to:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,type:t.type?Tb[t.type]:void 0,typeHex:t.type?t.type:void 0,value:t.value?BigInt(t.value):void 0,v:t.v?BigInt(t.v):void 0};return t.authorizationList&&(r.authorizationList=W5(t.authorizationList)),r.yParity=(()=>{if(t.yParity)return Number(t.yParity);if(typeof r.v=="bigint"){if(r.v===0n||r.v===27n)return 0;if(r.v===1n||r.v===28n)return 1;if(r.v>=35n)return r.v%2n===0n?1:0}})(),r.type==="legacy"&&(delete r.accessList,delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.yParity),r.type==="eip2930"&&(delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas),r.type==="eip1559"&&delete r.maxFeePerBlobGas,r}const q5=Xd("transaction",ya);function W5(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 eh(t,e){const r=(t.transactions??[]).map(n=>typeof n=="string"?n:ya(n));return{...t,baseFeePerGas:t.baseFeePerGas?BigInt(t.baseFeePerGas):null,blobGasUsed:t.blobGasUsed?BigInt(t.blobGasUsed):void 0,difficulty:t.difficulty?BigInt(t.difficulty):void 0,excessBlobGas:t.excessBlobGas?BigInt(t.excessBlobGas):void 0,gasLimit:t.gasLimit?BigInt(t.gasLimit):void 0,gasUsed:t.gasUsed?BigInt(t.gasUsed):void 0,hash:t.hash?t.hash:null,logsBloom:t.logsBloom?t.logsBloom:null,nonce:t.nonce?t.nonce:null,number:t.number?BigInt(t.number):null,size:t.size?BigInt(t.size):void 0,timestamp:t.timestamp?BigInt(t.timestamp):void 0,transactions:r,totalDifficulty:t.totalDifficulty?BigInt(t.totalDifficulty):null}}const K5=Xd("block",eh);async function Sr(t,{blockHash:e,blockNumber:r,blockTag:n=t.experimental_blockTag??"latest",includeTransactions:s}={}){var u,f,l;const i=s??!1,o=r!==void 0?J(r):void 0;let a=null;if(e?a=await t.request({method:"eth_getBlockByHash",params:[e,i]},{dedupe:!0}):a=await t.request({method:"eth_getBlockByNumber",params:[o||n,i]},{dedupe:!!o}),!a)throw new kb({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)||eh)(a,"getBlock")}async function th(t){const e=await t.request({method:"eth_gasPrice"});return BigInt(e)}async function Y5(t,e){return Pb(t,e)}async function Pb(t,e){var i,o;const{block:r,chain:n=t.chain,request:s}=e||{};try{const a=((i=n==null?void 0:n.fees)==null?void 0:i.maxPriorityFeePerGas)??((o=n==null?void 0:n.fees)==null?void 0:o.defaultPriorityFee);if(typeof a=="function"){const u=r||await re(t,Sr,"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 at(c)}catch{const[a,c]=await Promise.all([r?Promise.resolve(r):re(t,Sr,"getBlock")({}),re(t,th,"getGasPrice")({})]);if(typeof a.baseFeePerGas!="bigint")throw new Qd;const u=c-a.baseFeePerGas;return u<0n?0n:u}}async function J5(t,e){return Kl(t,e)}async function Kl(t,e){var p,d;const{block:r,chain:n=t.chain,request:s,type:i="eip1559"}=e||{},o=await(async()=>{var b,g;return typeof((b=n==null?void 0:n.fees)==null?void 0:b.baseFeeMultiplier)=="function"?n.fees.baseFeeMultiplier({block:r,client:t,request:s}):((g=n==null?void 0:n.fees)==null?void 0:g.baseFeeMultiplier)??1.2})();if(o<1)throw new xb;const c=10**(((p=o.toString().split(".")[1])==null?void 0:p.length)??0),u=b=>b*BigInt(Math.ceil(o*c))/BigInt(c),f=r||await re(t,Sr,"getBlock")({});if(typeof((d=n==null?void 0:n.fees)==null?void 0:d.estimateFeesPerGas)=="function"){const b=await n.fees.estimateFeesPerGas({block:r,client:t,multiply:u,request:s,type:i});if(b!==null)return b}if(i==="eip1559"){if(typeof f.baseFeePerGas!="bigint")throw new Qd;const b=typeof(s==null?void 0:s.maxPriorityFeePerGas)=="bigint"?s.maxPriorityFeePerGas:await Pb(t,{block:f,chain:n,request:s}),g=u(f.baseFeePerGas);return{maxFeePerGas:(s==null?void 0:s.maxFeePerGas)??g+b,maxPriorityFeePerGas:b}}return{gasPrice:(s==null?void 0:s.gasPrice)??u(await re(t,th,"getGasPrice")({}))}}async function rh(t,{address:e,blockTag:r="latest",blockNumber:n}){const s=await t.request({method:"eth_getTransactionCount",params:[e,typeof n=="bigint"?J(n):r]},{dedupe:!!n});return dr(s)}function nh(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=>Xr(i)):t.blobs,s=[];for(const i of n)s.push(Uint8Array.from(e.blobToKzgCommitment(i)));return r==="bytes"?s:s.map(i=>Ze(i))}function sh(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=>Xr(o)):t.blobs,s=typeof t.commitments[0]=="string"?t.commitments.map(o=>Xr(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=>Ze(o))}function X5(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 Z5(t,e,r){return t&e^~t&r}function Q5(t,e,r){return t&e^t&r^e&r}let _b=class extends Fc{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=Ou(this.buffer)}update(e){is(this),e=En(e),ss(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=Ou(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){is(this),Hd(e,this),this.finished=!0;const{buffer:r,view:n,blockLen:s,isLE:i}=this;let{pos:o}=this;r[o++]=128,Ir(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(n,0),o=0);for(let l=o;l<s;l++)r[l]=0;X5(n,s-8,BigInt(this.length*8),i),this.process(n,0);const a=Ou(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]),Fn=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),eE=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]),Mn=new Uint32Array(64);let ih=class extends _b{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)Mn[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){const p=Mn[l-15],d=Mn[l-2],b=Ur(p,7)^Ur(p,18)^p>>>3,g=Ur(d,17)^Ur(d,19)^d>>>10;Mn[l]=g+Mn[l-7]+b+Mn[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+Z5(a,c,u)+eE[l]+Mn[l]|0,g=(Ur(n,2)^Ur(n,13)^Ur(n,22))+Q5(n,s,i)|0;f=u,u=c,c=a,a=o+d|0,o=i,i=s,s=n,n=d+g|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,s,i,o,a,c,u,f)}roundClean(){Ir(Mn)}destroy(){this.set(0,0,0,0,0,0,0,0),Ir(this.buffer)}},Ib=class extends ih{constructor(){super(28),this.A=Fn[0]|0,this.B=Fn[1]|0,this.C=Fn[2]|0,this.D=Fn[3]|0,this.E=Fn[4]|0,this.F=Fn[5]|0,this.G=Fn[6]|0,this.H=Fn[7]|0}};const Ob=Mc(()=>new ih),tE=Mc(()=>new Ib),rE=ih,Bb=Ob,nE=Ib,sE=tE,iE=Object.freeze(Object.defineProperty({__proto__:null,SHA224:nE,SHA256:rE,sha224:sE,sha256:Bb},Symbol.toStringTag,{value:"Module"}));function uo(t,e){const r=e||"hex",n=Bb(_r(t,{strict:!1})?Hi(t):t);return r==="bytes"?n:_t(n)}function oE(t){const{commitment:e,version:r=1}=t,n=t.to??(typeof e=="string"?"hex":"bytes"),s=uo(e,"bytes");return s.set([r],0),n==="bytes"?s:Ze(s)}function Cb(t){const{commitments:e,version:r}=t,n=t.to??(typeof e[0]=="string"?"hex":"bytes"),s=[];for(const i of e)s.push(oE({commitment:i,to:n,version:r}));return s}const Dp=6,Rb=32,oh=4096,Nb=Rb*oh,zp=Nb*Dp-1-1*oh*Dp,Ub=1;class aE extends V{constructor({maxSize:e,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class Fb extends V{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class cE extends V{constructor({hash:e,size:r}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class uE extends V{constructor({hash:e,version:r}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:[`Expected: ${Ub}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}function fE(t){const e=t.to??(typeof t.data=="string"?"hex":"bytes"),r=typeof t.data=="string"?Xr(t.data):t.data,n=He(r);if(!n)throw new Fb;if(n>zp)throw new aE({maxSize:zp,size:n});const s=[];let i=!0,o=0;for(;i;){const a=Kd(new Uint8Array(Nb));let c=0;for(;c<oh;){const u=r.slice(o,o+(Rb-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=>Ze(a.bytes))}function Mb(t){const{data:e,kzg:r,to:n}=t,s=t.blobs??fE({data:e,to:n}),i=t.commitments??nh({blobs:s,kzg:r,to:n}),o=t.proofs??sh({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 k5({transaction:t})}function Gc(t,{docsPath:e,...r}){const n=(()=>{const s=zc(t,r);return s instanceof pa?t:s})();return new P5(n,{docsPath:e,...r})}async function ds(t){const e=await t.request({method:"eth_chainId"},{dedupe:!0});return dr(e)}async function ah(t,e){var N,C,j,$,D;const{account:r=t.account,accessList:n,authorizationList:s,chain:i=t.chain,blobVersionedHashes:o,blobs:a,data:c,gas:u,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:d,nonce:b,nonceManager:g,to:E,type:S,value:_,...A}=e,w=await(async()=>{if(!r||!g||typeof b<"u")return b;const z=Ue(r),ee=i?i.id:await re(t,ds,"getChainId")({});return await g.consume({address:z.address,chainId:ee,client:t})})();Cn(e);const x=(C=(N=i==null?void 0:i.formatters)==null?void 0:N.transactionRequest)==null?void 0:C.format,O=(x||ls)({...zi(A,{format:x}),account:r?Ue(r):void 0,accessList:n,authorizationList:s,blobs:a,blobVersionedHashes:o,data:c,gas:u,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:d,nonce:w,to:E,type:S,value:_},"fillTransaction");try{const z=await t.request({method:"eth_fillTransaction",params:[O]}),U=((($=(j=i==null?void 0:i.formatters)==null?void 0:j.transaction)==null?void 0:$.format)||ya)(z.tx);delete U.blockHash,delete U.blockNumber,delete U.r,delete U.s,delete U.transactionIndex,delete U.v,delete U.yParity,U.data=U.input,U.gas&&(U.gas=e.gas??U.gas),U.gasPrice&&(U.gasPrice=e.gasPrice??U.gasPrice),U.maxFeePerBlobGas&&(U.maxFeePerBlobGas=e.maxFeePerBlobGas??U.maxFeePerBlobGas),U.maxFeePerGas&&(U.maxFeePerGas=e.maxFeePerGas??U.maxFeePerGas),U.maxPriorityFeePerGas&&(U.maxPriorityFeePerGas=e.maxPriorityFeePerGas??U.maxPriorityFeePerGas),U.nonce&&(U.nonce=e.nonce??U.nonce);const q=await(async()=>{var L,X;if(typeof((L=i==null?void 0:i.fees)==null?void 0:L.baseFeeMultiplier)=="function"){const B=await re(t,Sr,"getBlock")({});return i.fees.baseFeeMultiplier({block:B,client:t,request:e})}return((X=i==null?void 0:i.fees)==null?void 0:X.baseFeeMultiplier)??1.2})();if(q<1)throw new xb;const W=10**(((D=q.toString().split(".")[1])==null?void 0:D.length)??0),I=L=>L*BigInt(Math.ceil(q*W))/BigInt(W);return U.maxFeePerGas&&!e.maxFeePerGas&&(U.maxFeePerGas=I(U.maxFeePerGas)),U.gasPrice&&!e.gasPrice&&(U.gasPrice=I(U.gasPrice)),{raw:z.raw,transaction:{from:O.from,...U}}}catch(z){throw Gc(z,{...e,chain:t.chain})}}const ch=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Vp=new Map,Ru=new Di(128);async function ma(t,e){var w,x,T;let r=e;r.account??(r.account=t.account),r.parameters??(r.parameters=ch);const{account:n,chain:s=t.chain,nonceManager:i,parameters:o}=r,a=(()=>{if(typeof(s==null?void 0:s.prepareTransactionRequest)=="function")return{fn:s.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(s==null?void 0:s.prepareTransactionRequest))return{fn:s.prepareTransactionRequest[0],runAt:s.prepareTransactionRequest[1].runAt}})();let c;async function u(){return c||(typeof r.chainId<"u"?r.chainId:s?s.id:(c=await re(t,ds,"getChainId")({}),c))}const f=n&&Ue(n);let l=r.nonce;if(o.includes("nonce")&&typeof l>"u"&&f&&i){const O=await u();l=await i.consume({address:f.address,chainId:O,client:t})}a!=null&&a.fn&&((w=a.runAt)!=null&&w.includes("beforeFillTransaction"))&&(r=await a.fn({...r,chain:s},{phase:"beforeFillTransaction"}),l??(l=r.nonce));const d=((o.includes("blobVersionedHashes")||o.includes("sidecars"))&&r.kzg&&r.blobs||Ru.get(t.uid)===!1||!["fees","gas"].some(N=>o.includes(N))?!1:!!(o.includes("chainId")&&typeof r.chainId!="number"||o.includes("nonce")&&typeof l!="number"||o.includes("fees")&&typeof r.gasPrice!="bigint"&&(typeof r.maxFeePerGas!="bigint"||typeof r.maxPriorityFeePerGas!="bigint")||o.includes("gas")&&typeof r.gas!="bigint"))?await re(t,ah,"fillTransaction")({...r,nonce:l}).then(O=>{const{chainId:N,from:C,gas:j,gasPrice:$,nonce:D,maxFeePerBlobGas:z,maxFeePerGas:ee,maxPriorityFeePerGas:U,type:q,...Q}=O.transaction;return Ru.set(t.uid,!0),{...r,...C?{from:C}:{},...q?{type:q}:{},...typeof N<"u"?{chainId:N}:{},...typeof j<"u"?{gas:j}:{},...typeof $<"u"?{gasPrice:$}:{},...typeof D<"u"?{nonce:D}:{},...typeof z<"u"?{maxFeePerBlobGas:z}:{},...typeof ee<"u"?{maxFeePerGas:ee}:{},...typeof U<"u"?{maxPriorityFeePerGas:U}:{},..."nonceKey"in Q&&typeof Q.nonceKey<"u"?{nonceKey:Q.nonceKey}:{}}}).catch(O=>{var j;const N=O;return N.name!=="TransactionExecutionError"||((j=N.walk)==null?void 0:j.call(N,$=>{const D=$;return D.name==="MethodNotFoundRpcError"||D.name==="MethodNotSupportedRpcError"}))&&Ru.set(t.uid,!1),r}):r;l??(l=d.nonce),r={...d,...f?{from:f==null?void 0:f.address}:{},...l?{nonce:l}:{}};const{blobs:b,gas:g,kzg:E,type:S}=r;a!=null&&a.fn&&((x=a.runAt)!=null&&x.includes("beforeFillParameters"))&&(r=await a.fn({...r,chain:s},{phase:"beforeFillParameters"}));let _;async function A(){return _||(_=await re(t,Sr,"getBlock")({blockTag:"latest"}),_)}if(o.includes("nonce")&&typeof l>"u"&&f&&!i&&(r.nonce=await re(t,rh,"getTransactionCount")({address:f.address,blockTag:"pending"})),(o.includes("blobVersionedHashes")||o.includes("sidecars"))&&b&&E){const O=nh({blobs:b,kzg:E});if(o.includes("blobVersionedHashes")){const N=Cb({commitments:O,to:"hex"});r.blobVersionedHashes=N}if(o.includes("sidecars")){const N=sh({blobs:b,commitments:O,kzg:E}),C=Mb({blobs:b,commitments:O,proofs:N,to:"hex"});r.sidecars=C}}if(o.includes("chainId")&&(r.chainId=await u()),(o.includes("fees")||o.includes("type"))&&typeof S>"u")try{r.type=$b(r)}catch{let O=Vp.get(t.uid);if(typeof O>"u"){const N=await A();O=typeof(N==null?void 0:N.baseFeePerGas)=="bigint",Vp.set(t.uid,O)}r.type=O?"eip1559":"legacy"}if(o.includes("fees"))if(r.type!=="legacy"&&r.type!=="eip2930"){if(typeof r.maxFeePerGas>"u"||typeof r.maxPriorityFeePerGas>"u"){const O=await A(),{maxFeePerGas:N,maxPriorityFeePerGas:C}=await Kl(t,{block:O,chain:s,request:r});if(typeof r.maxPriorityFeePerGas>"u"&&r.maxFeePerGas&&r.maxFeePerGas<C)throw new G5({maxPriorityFeePerGas:C});r.maxPriorityFeePerGas=C,r.maxFeePerGas=N}}else{if(typeof r.maxFeePerGas<"u"||typeof r.maxPriorityFeePerGas<"u")throw new Qd;if(typeof r.gasPrice>"u"){const O=await A(),{gasPrice:N}=await Kl(t,{block:O,chain:s,request:r,type:"legacy"});r.gasPrice=N}}return o.includes("gas")&&typeof g>"u"&&(r.gas=await re(t,uh,"estimateGas")({...r,account:f,prepare:(f==null?void 0:f.type)==="local"?[]:["blobVersionedHashes"]})),a!=null&&a.fn&&((T=a.runAt)!=null&&T.includes("afterFillParameters"))&&(r=await a.fn({...r,chain:s},{phase:"afterFillParameters"})),Cn(r),delete r.parameters,r}async function uh(t,e){var o,a,c;const{account:r=t.account,prepare:n=!0}=e,s=r?Ue(r):void 0,i=(()=>{if(Array.isArray(n))return n;if((s==null?void 0:s.type)!=="local")return["blobVersionedHashes"]})();try{const u=await(async()=>{if(e.to)return e.to;if(e.authorizationList&&e.authorizationList.length>0)return await Dc({authorization:e.authorizationList[0]}).catch(()=>{throw new V("`to` is required. Could not infer from `authorizationList`")})})(),{accessList:f,authorizationList:l,blobs:p,blobVersionedHashes:d,blockNumber:b,blockTag:g,data:E,gas:S,gasPrice:_,maxFeePerBlobGas:A,maxFeePerGas:w,maxPriorityFeePerGas:x,nonce:T,value:O,stateOverride:N,...C}=n?await ma(t,{...e,parameters:i,to:u}):e;if(S&&e.gas!==S)return S;const $=(typeof b=="bigint"?J(b):void 0)||g,D=Zd(N);Cn(e);const z=(c=(a=(o=t.chain)==null?void 0:o.formatters)==null?void 0:a.transactionRequest)==null?void 0:c.format,U=(z||ls)({...zi(C,{format:z}),account:s,accessList:f,authorizationList:l,blobs:p,blobVersionedHashes:d,data:E,gasPrice:_,maxFeePerBlobGas:A,maxFeePerGas:w,maxPriorityFeePerGas:x,nonce:T,to:u,value:O},"estimateGas");return BigInt(await t.request({method:"eth_estimateGas",params:D?[U,$??t.experimental_blockTag??"latest",D]:$?[U,$]:[U]}))}catch(u){throw H5(u,{...e,account:s,chain:t.chain})}}async function jb(t,e){const{abi:r,address:n,args:s,functionName:i,dataSuffix:o,...a}=e,c=er({abi:r,args:s,functionName:i});try{return await re(t,uh,"estimateGas")({data:`${c}${o?o.replace("0x",""):""}`,to:n,...a})}catch(u){const f=a.account?Ue(a.account):void 0;throw js(u,{abi:r,address:n,args:s,docsPath:"/docs/contract/estimateContractGas",functionName:i,sender:f==null?void 0:f.address})}}function Vi(t,e){if(!st(t,{strict:!1}))throw new Ot({address:t});if(!st(e,{strict:!1}))throw new Ot({address:e});return t.toLowerCase()===e.toLowerCase()}const Gp="/docs/contract/decodeEventLog";function bc(t){const{abi:e,data:r,strict:n,topics:s}=t,i=n??!0,[o,...a]=s;if(!o)throw new Q6({docsPath:Gp});const c=e.find(g=>g.type==="event"&&o===$c(Pr(g)));if(!(c&&"name"in c)||c.type!=="event")throw new ev(o,{docsPath:Gp});const{name:u,inputs:f}=c,l=f==null?void 0:f.some(g=>!("name"in g&&g.name)),p=l?[]:{},d=f.map((g,E)=>[g,E]).filter(([g])=>"indexed"in g&&g.indexed);for(let g=0;g<d.length;g++){const[E,S]=d[g],_=a[g];if(!_)throw new Ld({abiItem:c,param:E});p[l?S:E.name||S]=lE({param:E,value:_})}const b=f.filter(g=>!("indexed"in g&&g.indexed));if(b.length>0){if(r&&r!=="0x")try{const g=da(b,r);if(g)if(l)for(let E=0;E<f.length;E++)p[E]=p[E]??g.shift();else for(let E=0;E<b.length;E++)p[b[E].name]=g[E]}catch(g){if(i)throw g instanceof $m||g instanceof db?new mc({abiItem:c,data:r,params:b,size:He(r)}):g}else if(i)throw new mc({abiItem:c,data:"0x",params:b,size:0})}return{eventName:u,args:Object.values(p).length>0?p:void 0}}function lE({param:t,value:e}){return t.type==="string"||t.type==="bytes"||t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/)?e:(da([t],e)||[])[0]}function fh(t){const{abi:e,args:r,logs:n,strict:s=!0}=t,i=(()=>{if(t.eventName)return Array.isArray(t.eventName)?t.eventName:[t.eventName]})();return n.map(o=>{var f;const a=e.filter(l=>l.type==="event"&&o.topics[0]===$c(l));if(a.length===0)return null;let c,u;for(const l of a)try{c=bc({...o,abi:[l],strict:!0}),u=l;break}catch{}if(!c&&!s){u=a[0];try{c=bc({...o,abi:[u],strict:!1})}catch{const l=(f=u.inputs)==null?void 0:f.some(p=>!("name"in p&&p.name));return{...o,args:l?[]:{},eventName:u.name}}}return!c||!u||i&&!i.includes(c.eventName)||!dE({args:c.args,inputs:u.inputs,matchArgs:r})?null:{...c,...o}}).filter(Boolean)}function dE(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"?Vi(o,a):i.type==="string"||i.type==="bytes"?ht(Hi(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 Tn(t,{args:e,eventName:r}={}){return{...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,blockTimestamp:t.blockTimestamp?BigInt(t.blockTimestamp):t.blockTimestamp===null?null:void 0,logIndex:t.logIndex?Number(t.logIndex):null,transactionHash:t.transactionHash?t.transactionHash:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,...r?{args:e,eventName:r}:{}}}async function lh(t,{address:e,blockHash:r,fromBlock:n,toBlock:s,event:i,events:o,args:a,strict:c}={}){const u=c??!1,f=o??(i?[i]:void 0);let l=[];f&&(l=[f.flatMap(g=>la({abi:[g],eventName:g.name,args:o?void 0:a}))],i&&(l=l[0]));let p;r?p=await t.request({method:"eth_getLogs",params:[{address:e,topics:l,blockHash:r}]}):p=await t.request({method:"eth_getLogs",params:[{address:e,topics:l,fromBlock:typeof n=="bigint"?J(n):n,toBlock:typeof s=="bigint"?J(s):s}]});const d=p.map(b=>Tn(b));return f?fh({abi:f,args:a,logs:d,strict:u}):d}async function dh(t,e){const{abi:r,address:n,args:s,blockHash:i,eventName:o,fromBlock:a,toBlock:c,strict:u}=e,f=o?Ys({abi:r,name:o}):void 0,l=f?void 0:r.filter(p=>p.type==="event");return re(t,lh,"getLogs")({address:n,args:s,blockHash:i,event:f,events:l,fromBlock:a,toBlock:c,strict:u})}const Nu="/docs/contract/decodeFunctionResult";function Js(t){const{abi:e,args:r,functionName:n,data:s}=t;let i=e[0];if(n){const a=Ys({abi:e,args:r,name:n});if(!a)throw new _i(n,{docsPath:Nu});i=a}if(i.type!=="function")throw new _i(void 0,{docsPath:Nu});if(!i.outputs)throw new Lm(i.name,{docsPath:Nu});const o=da(i.outputs,s);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const hh=BigInt(0),Yl=BigInt(1);function ba(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ph(t){if(!ba(t))throw new Error("Uint8Array expected")}function Wo(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function Na(t){const e=t.toString(16);return e.length&1?"0"+e:e}function Lb(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?hh:BigInt("0x"+t)}const Hb=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",hE=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ko(t){if(ph(t),Hb)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=hE[t[r]];return e}const nn={_0:48,_9:57,A:65,F:70,a:97,f:102};function qp(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 gc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(Hb)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=qp(t.charCodeAt(i)),a=qp(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 Os(t){return Lb(Ko(t))}function Db(t){return ph(t),Lb(Ko(Uint8Array.from(t).reverse()))}function ga(t,e){return gc(t.toString(16).padStart(e*2,"0"))}function zb(t,e){return ga(t,e).reverse()}function or(t,e,r){let n;if(typeof e=="string")try{n=gc(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(ba(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 wc(...t){let e=0;for(let n=0;n<t.length;n++){const s=t[n];ph(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 Uu=t=>typeof t=="bigint"&&hh<=t;function yh(t,e,r){return Uu(t)&&Uu(e)&&Uu(r)&&e<=t&&t<r}function vi(t,e,r,n){if(!yh(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function pE(t){let e;for(e=0;t>hh;t>>=Yl,e+=1);return e}const qc=t=>(Yl<<BigInt(t))-Yl,Fu=t=>new Uint8Array(t),Wp=t=>Uint8Array.from(t);function yE(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=Fu(t),s=Fu(t),i=0;const o=()=>{n.fill(1),s.fill(0),i=0},a=(...l)=>r(s,n,...l),c=(l=Fu(0))=>{s=a(Wp([0]),l),n=a(),l.length!==0&&(s=a(Wp([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 wc(...p)};return(l,p)=>{o(),c(l);let d;for(;!(d=p(u()));)c();return o(),d}}const mE={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"||ba(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 Wc(t,e,r={}){const n=(s,i,o)=>{const a=mE[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 Kp(t){const e=new WeakMap;return(r,...n)=>{const s=e.get(r);if(s!==void 0)return s;const i=t(r,...n);return e.set(r,i),i}}const bE="0.1.1";function gE(){return bE}class ce extends Error{static setStaticOptions(e){ce.prototype.docsOrigin=e.docsOrigin,ce.prototype.showVersion=e.showVersion,ce.prototype.version=e.version}constructor(e,r={}){const n=(()=>{var f;if(r.cause instanceof ce){if(r.cause.details)return r.cause.details;if(r.cause.shortMessage)return r.cause.shortMessage}return r.cause&&"details"in r.cause&&typeof r.cause.details=="string"?r.cause.details:(f=r.cause)!=null&&f.message?r.cause.message:r.details})(),s=r.cause instanceof ce&&r.cause.docsPath||r.docsPath,i=r.docsOrigin??ce.prototype.docsOrigin,o=`${i}${s??""}`,a=!!(r.version??ce.prototype.showVersion),c=r.version??ce.prototype.version,u=[e||"An error occurred.",...r.metaMessages?["",...r.metaMessages]:[],...n||s||a?["",n?`Details: ${n}`:void 0,s?`See: ${o}`:void 0,a?`Version: ${c}`:void 0]:[]].filter(f=>typeof f=="string").join(`
|
|
39
|
+
`);super(u,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=r.cause,this.details=n,this.docs=o,this.docsOrigin=i,this.docsPath=s,this.shortMessage=e,this.showVersion=a,this.version=c}walk(e){return Vb(this,e)}}Object.defineProperty(ce,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${gE()}`}});ce.setStaticOptions(ce.defaultStaticOptions);function Vb(t,e){return e!=null&&e(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause?Vb(t.cause,e):e?null:t}function wa(t,e){if(yi(t)>e)throw new UE({givenSize:yi(t),maxSize:e})}const sn={zero:48,nine:57,A:65,F:70,a:97,f:102};function Yp(t){if(t>=sn.zero&&t<=sn.nine)return t-sn.zero;if(t>=sn.A&&t<=sn.F)return t-(sn.A-10);if(t>=sn.a&&t<=sn.f)return t-(sn.a-10)}function wE(t,e={}){const{dir:r,size:n=32}=e;if(n===0)return t;if(t.length>n)throw new FE({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 Gb(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 Kc(t,e){if(Zt(t)>e)throw new DE({givenSize:Zt(t),maxSize:e})}function vE(t,e){if(typeof e=="number"&&e>0&&e>Zt(t)-1)throw new eg({offset:e,position:"start",size:Zt(t)})}function EE(t,e,r){if(typeof e=="number"&&typeof r=="number"&&Zt(t)!==r-e)throw new eg({offset:r,position:"end",size:Zt(t)})}function qb(t,e={}){const{dir:r,size:n=32}=e;if(n===0)return t;const s=t.replace("0x","");if(s.length>n*2)throw new zE({size:Math.ceil(s.length/2),targetSize:n,type:"Hex"});return`0x${s[r==="right"?"padEnd":"padStart"](n*2,"0")}`}const AE="#__bigint";function Wb(t,e,r){return JSON.stringify(t,(n,s)=>typeof s=="bigint"?s.toString()+AE:s,r)}const SE=new TextDecoder,xE=new TextEncoder;function kE(t){return t instanceof Uint8Array?t:typeof t=="string"?Kb(t):TE(t)}function TE(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function Kb(t,e={}){const{size:r}=e;let n=t;r&&(Kc(t,r),n=Ds(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=Yp(s.charCodeAt(c++)),f=Yp(s.charCodeAt(c++));if(u===void 0||f===void 0)throw new ce(`Invalid byte sequence ("${s[c-2]}${s[c-1]}" in "${s}").`);o[a]=u<<4|f}return o}function PE(t,e={}){const{size:r}=e,n=xE.encode(t);return typeof r=="number"?(wa(n,r),_E(n,r)):n}function _E(t,e){return wE(t,{dir:"right",size:e})}function yi(t){return t.length}function IE(t,e,r,n={}){const{strict:s}=n;return t.slice(e,r)}function OE(t,e={}){const{size:r}=e;typeof r<"u"&&wa(t,r);const n=Br(t,e);return Xb(n,e)}function BE(t,e={}){const{size:r}=e;let n=t;if(typeof r<"u"&&(wa(n,r),n=Yb(n)),n.length>1||n[0]>1)throw new NE(n);return!!n[0]}function Sn(t,e={}){const{size:r}=e;typeof r<"u"&&wa(t,r);const n=Br(t,e);return Zb(n,e)}function CE(t,e={}){const{size:r}=e;let n=t;return typeof r<"u"&&(wa(n,r),n=RE(n)),SE.decode(n)}function Yb(t){return Gb(t,{dir:"left"})}function RE(t){return Gb(t,{dir:"right"})}class NE extends ce{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 UE=class extends ce{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"})}},FE=class extends ce{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 ME=new TextEncoder,$E=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function jE(t,e={}){const{strict:r=!1}=e;if(!t)throw new Jp(t);if(typeof t!="string")throw new Jp(t);if(r&&!/^0x[0-9a-fA-F]*$/.test(t))throw new Xp(t);if(!t.startsWith("0x"))throw new Xp(t)}function Or(...t){return`0x${t.reduce((e,r)=>e+r.replace("0x",""),"")}`}function LE(t){return t instanceof Uint8Array?Br(t):Array.isArray(t)?Br(new Uint8Array(t)):t}function Jb(t,e={}){const r=`0x${Number(t)}`;return typeof e.size=="number"?(Kc(r,e.size),Hs(r,e.size)):r}function Br(t,e={}){let r="";for(let s=0;s<t.length;s++)r+=$E[t[s]];const n=`0x${r}`;return typeof e.size=="number"?(Kc(n,e.size),Ds(n,e.size)):n}function Tt(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?BigInt.asUintN(n*8,BigInt(s)):s).toString(16)}`;return n?Hs(c,n):c}function mh(t,e={}){return Br(ME.encode(t),e)}function Hs(t,e){return qb(t,{dir:"left",size:e})}function Ds(t,e){return qb(t,{dir:"right",size:e})}function Yr(t,e,r,n={}){const{strict:s}=n;vE(t,e);const i=`0x${t.replace("0x","").slice((e??0)*2,(r??t.length)*2)}`;return s&&EE(i,e,r),i}function Zt(t){return Math.ceil((t.length-2)/2)}function Xb(t,e={}){const{signed:r}=e;e.size&&Kc(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 Zb(t,e={}){const{signed:r,size:n}=e;return Number(!r&&!n?t:Xb(t,e))}function HE(t,e={}){const{strict:r=!1}=e;try{return jE(t,{strict:r}),!0}catch{return!1}}class Qb extends ce{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 Jp extends ce{constructor(e){super(`Value \`${typeof e=="object"?Wb(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 Xp extends ce{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 DE extends ce{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 eg extends ce{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 zE extends ce{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 VE(t){return{address:t.address,amount:Tt(t.amount),index:Tt(t.index),validatorIndex:Tt(t.validatorIndex)}}function tg(t){return{...typeof t.baseFeePerGas=="bigint"&&{baseFeePerGas:Tt(t.baseFeePerGas)},...typeof t.blobBaseFee=="bigint"&&{blobBaseFee:Tt(t.blobBaseFee)},...typeof t.feeRecipient=="string"&&{feeRecipient:t.feeRecipient},...typeof t.gasLimit=="bigint"&&{gasLimit:Tt(t.gasLimit)},...typeof t.number=="bigint"&&{number:Tt(t.number)},...typeof t.prevRandao=="bigint"&&{prevRandao:Tt(t.prevRandao)},...typeof t.time=="bigint"&&{time:Tt(t.time)},...t.withdrawals&&{withdrawals:t.withdrawals.map(VE)}}}const vc=[{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"}],Jl=[{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"}]}],rg=[{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"}],ng=[...rg,{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"}]}],GE=[...rg,{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"}]}],Qp=[{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"}]}],sg=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],e0=[{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"}],qE="0x82ad56cb",ig="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",WE="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",KE="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",bh="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033";class Xl extends V{constructor({blockNumber:e,chain:r,contract:n}){super(`Chain "${r.name}" does not support contract "${n.name}".`,{metaMessages:["This could be due to any of the following:",...e&&n.blockCreated&&n.blockCreated>e?[`- The contract "${n.name}" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract "${n.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}class YE extends V{constructor({chain:e,currentChainId:r}){super(`The current chain of the wallet (id: ${r}) does not match the target chain for the transaction (id: ${e.id} – ${e.name}).`,{metaMessages:[`Current Chain ID: ${r}`,`Expected Chain ID: ${e.id} – ${e.name}`],name:"ChainMismatchError"})}}class JE extends V{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(`
|
|
40
|
+
`),{name:"ChainNotFoundError"})}}class og extends V{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}class Yc extends V{constructor({chainId:e}){super(typeof e=="number"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}const Mu="/docs/contract/encodeDeployData";function Jc(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 K6({docsPath:Mu});if(!("inputs"in s))throw new kp({docsPath:Mu});if(!s.inputs||s.inputs.length===0)throw new kp({docsPath:Mu});const i=fs(s.inputs,r);return Rr([n,i])}function Gi({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 Xl({chain:e,contract:{name:r}});if(t&&n.blockCreated&&n.blockCreated>t)throw new Xl({blockNumber:t,chain:e,contract:{name:r,blockCreated:n.blockCreated}});return n.address}function ag(t,{docsPath:e,...r}){const n=(()=>{const s=zc(t,r);return s instanceof pa?t:s})();return new wb(n,{docsPath:e,...r})}function gh(){let t=()=>{},e=()=>{};return{promise:new Promise((n,s)=>{t=n,e=s}),resolve:t,reject:e}}const $u=new Map;function cg({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:b}=f[d];b==null||b([p[d],p])}}).catch(p=>{for(let d=0;d<f.length;d++){const{reject:b}=f[d];b==null||b(p)}})},o=()=>$u.delete(e),a=()=>c().map(({args:f})=>f),c=()=>$u.get(e)||[],u=f=>$u.set(e,[...c(),f]);return{flush:o,async schedule(f){const{promise:l,resolve:p,reject:d}=gh();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 va(t,e){var z,ee,U,q;const{account:r=t.account,authorizationList:n,batch:s=!!((z=t.batch)!=null&&z.multicall),blockNumber:i,blockTag:o=t.experimental_blockTag??"latest",accessList:a,blobs:c,blockOverrides:u,code:f,data:l,factory:p,factoryData:d,gas:b,gasPrice:g,maxFeePerBlobGas:E,maxFeePerGas:S,maxPriorityFeePerGas:_,nonce:A,to:w,value:x,stateOverride:T,...O}=e,N=r?Ue(r):void 0;if(f&&(p||d))throw new V("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(f&&w)throw new V("Cannot provide both `code` & `to` as parameters.");const C=f&&l,j=p&&d&&w&&l,$=C||j,D=C?ug({code:f,data:l}):j?QE({data:l,factory:p,factoryData:d,to:w}):l;try{Cn(e);const W=(typeof i=="bigint"?J(i):void 0)||o,I=u?tg(u):void 0,L=Zd(T),X=(q=(U=(ee=t.chain)==null?void 0:ee.formatters)==null?void 0:U.transactionRequest)==null?void 0:q.format,F=(X||ls)({...zi(O,{format:X}),accessList:a,account:N,authorizationList:n,blobs:c,data:D,gas:b,gasPrice:g,maxFeePerBlobGas:E,maxFeePerGas:S,maxPriorityFeePerGas:_,nonce:A,to:$?void 0:w,value:x},"call");if(s&&XE({request:F})&&!L&&!I)try{return await ZE(t,{...F,blockNumber:i,blockTag:o})}catch(se){if(!(se instanceof og)&&!(se instanceof Xl))throw se}const H=(()=>{const se=[F,W];return L&&I?[...se,L,I]:L?[...se,L]:I?[...se,{},I]:se})(),ne=await t.request({method:"eth_call",params:H});return ne==="0x"?{data:void 0}:{data:ne}}catch(Q){const W=eA(Q),{offchainLookup:I,offchainLookupSignature:L}=await Promise.resolve().then(()=>require("./ccip-EiEdg5Xp.cjs"));if(t.ccipRead!==!1&&(W==null?void 0:W.slice(0,10))===L&&w)return{data:await I(t,{data:W,to:w})};throw $&&(W==null?void 0:W.slice(0,10))==="0x101bb98d"?new B5({factory:p}):ag(Q,{...e,account:N,chain:t.chain})}}function XE({request:t}){const{data:e,to:r,...n}=t;return!(!e||e.startsWith(qE)||!r||Object.values(n).filter(s=>typeof s<"u").length>0)}async function ZE(t,e){var g;const{batchSize:r=1024,deployless:n=!1,wait:s=0}=typeof((g=t.batch)==null?void 0:g.multicall)=="object"?t.batch.multicall:{},{blockNumber:i,blockTag:o=t.experimental_blockTag??"latest",data:a,to:c}=e,u=(()=>{if(n)return null;if(e.multicallAddress)return e.multicallAddress;if(t.chain)return Gi({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new og})(),l=(typeof i=="bigint"?J(i):void 0)||o,{schedule:p}=cg({id:`${t.uid}.${l}`,wait:s,shouldSplitBatch(E){return E.reduce((_,{data:A})=>_+(A.length-2),0)>r*2},fn:async E=>{const S=E.map(w=>({allowFailure:!0,callData:w.data,target:w.to})),_=er({abi:vc,args:[S],functionName:"aggregate3"}),A=await t.request({method:"eth_call",params:[{...u===null?{data:ug({code:bh,data:_})}:{to:u,data:_}},l]});return Js({abi:vc,args:[S],functionName:"aggregate3",data:A||"0x"})}}),[{returnData:d,success:b}]=await p({data:a,to:c});if(!b)throw new Hc({data:d});return d==="0x"?{data:void 0}:{data:d}}function ug(t){const{code:e,data:r}=t;return Jc({abi:Um(["constructor(bytes, bytes)"]),bytecode:ig,args:[e,r]})}function QE(t){const{data:e,factory:r,factoryData:n,to:s}=t;return Jc({abi:Um(["constructor(address, bytes, address, bytes)"]),bytecode:WE,args:[s,e,r,n]})}function eA(t){var r;if(!(t instanceof V))return;const e=t.walk();return typeof(e==null?void 0:e.data)=="object"?(r=e.data)==null?void 0:r.data:e.data}async function hr(t,e){const{abi:r,address:n,args:s,functionName:i,...o}=e,a=er({abi:r,args:s,functionName:i});try{const{data:c}=await re(t,va,"call")({...o,data:a,to:n});return Js({abi:r,args:s,functionName:i,data:c||"0x"})}catch(c){throw js(c,{abi:r,address:n,args:s,docsPath:"/docs/contract/readContract",functionName:i})}}async function fg(t,e){const{abi:r,address:n,args:s,dataSuffix:i,functionName:o,...a}=e,c=a.account?Ue(a.account):t.account,u=er({abi:r,args:s,functionName:o});try{const{data:f}=await re(t,va,"call")({batch:!1,data:`${u}${i?i.replace("0x",""):""}`,to:n,...a,account:c}),l=Js({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 js(f,{abi:r,address:n,args:s,docsPath:"/docs/contract/simulateContract",functionName:o,sender:c==null?void 0:c.address})}}const ju=new Map,t0=new Map;let tA=0;function Pn(t,e,r){const n=++tA,s=()=>ju.get(t)||[],i=()=>{const f=s();ju.set(t,f.filter(l=>l.id!==n))},o=()=>{const f=s();if(!f.some(p=>p.id===n))return;const l=t0.get(t);if(f.length===1&&l){const p=l();p instanceof Promise&&p.catch(()=>{})}i()},a=s();if(ju.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,b;const p=s();if(p.length!==0)for(const g of p)(b=(d=g.fns)[f])==null||b.call(d,...l)};const u=r(c);return typeof u=="function"&&t0.set(t,u),o}async function Zl(t){return new Promise(e=>setTimeout(e,t))}function qi(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 Zl(c);const u=async()=>{s&&(await t({unpoll:i}),await Zl(n),u())};u()})(),i}const rA=new Map,nA=new Map;function sA(t){const e=(s,i)=>({clear:()=>i.delete(s),get:()=>i.get(s),set:o=>i.set(s,o)}),r=e(t,rA),n=e(t,nA);return{clear:()=>{r.clear(),n.clear()},promise:r,response:n}}async function iA(t,{cacheKey:e,cacheTime:r=Number.POSITIVE_INFINITY}){const n=sA(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 oA=t=>`blockNumber.${t}`;async function Ea(t,{cacheTime:e=t.cacheTime}={}){const r=await iA(()=>t.request({method:"eth_blockNumber"}),{cacheKey:oA(t.uid),cacheTime:e});return BigInt(r)}async function Xc(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=>Tn(i));return!("abi"in e)||!e.abi?s:fh({abi:e.abi,logs:s,strict:r})}async function Zc(t,{filter:e}){return e.request({method:"eth_uninstallFilter",params:[e.id]})}function lg(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=Xe(["watchContractEvent",n,s,i,t.uid,o,l,E,a]);return Pn(S,{onLogs:u,onError:c},_=>{let A;a!==void 0&&(A=a-1n);let w,x=!1;const T=qi(async()=>{var O;if(!x){try{w=await re(t,Wd,"createContractEventFilter")({abi:r,address:n,args:s,eventName:o,strict:E,fromBlock:a})}catch{}x=!0;return}try{let N;if(w)N=await re(t,Xc,"getFilterChanges")({filter:w});else{const C=await re(t,Ea,"getBlockNumber")({});A&&A<C?N=await re(t,dh,"getContractEvents")({abi:r,address:n,args:s,eventName:o,fromBlock:A+1n,toBlock:C,strict:E}):N=[],A=C}if(N.length===0)return;if(i)_.onLogs(N);else for(const C of N)_.onLogs([C])}catch(N){w&&N instanceof os&&(x=!1),(O=_.onError)==null||O.call(_,N)}},{emitOnBegin:!0,interval:l});return async()=>{w&&await re(t,Zc,"uninstallFilter")({filter:w}),T()}})})():(()=>{const E=p??!1,S=Xe(["watchContractEvent",n,s,i,t.uid,o,l,E]);let _=!0,A=()=>_=!1;return Pn(S,{onLogs:u,onError:c},w=>((async()=>{try{const x=(()=>{if(t.transport.type==="fallback"){const N=t.transport.transports.find(C=>C.config.type==="webSocket"||C.config.type==="ipc");return N?N.value:t.transport}return t.transport})(),T=o?la({abi:r,eventName:o,args:s}):[],{unsubscribe:O}=await x.subscribe({params:["logs",{address:n,topics:T}],onData(N){var j;if(!_)return;const C=N.result;try{const{eventName:$,args:D}=bc({abi:r,data:C.data,topics:C.topics,strict:p}),z=Tn(C,{args:D,eventName:$});w.onLogs([z])}catch($){let D,z;if($ instanceof mc||$ instanceof Ld){if(p)return;D=$.abiItem.name,z=(j=$.abiItem.inputs)==null?void 0:j.some(U=>!("name"in U&&U.name))}const ee=Tn(C,{args:z?[]:{},eventName:D});w.onLogs([ee])}},onError(N){var C;(C=w.onError)==null||C.call(w,N)}});A=O,_||A()}catch(x){c==null||c(x)}})(),()=>A()))})()}class hs extends V{constructor({docsPath:e}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
|
|
41
|
+
`),{docsPath:e,docsSlug:"account",name:"AccountNotFoundError"})}}class Bs extends V{constructor({docsPath:e,metaMessages:r,type:n}){super(`Account type "${n}" is not supported.`,{docsPath:e,metaMessages:r,name:"AccountTypeNotSupportedError"})}}function wh({chain:t,currentChainId:e}){if(!t)throw new JE;if(e!==t.id)throw new YE({chain:t,currentChainId:e})}async function vh(t,{serializedTransaction:e}){return t.request({method:"eth_sendRawTransaction",params:[e]},{retryCount:0})}const Lu=new Di(128);async function Qc(t,e){var _,A,w,x;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:b,value:g,...E}=e;if(typeof r>"u")throw new hs({docsPath:"/docs/actions/wallet/sendTransaction"});const S=r?Ue(r):null;try{Cn(e);const T=await(async()=>{if(e.to)return e.to;if(e.to!==null&&i&&i.length>0)return await Dc({authorization:i[0]}).catch(()=>{throw new V("`to` is required. Could not infer from `authorizationList`.")})})();if((S==null?void 0:S.type)==="json-rpc"||S===null){let O;n!==null&&(O=await re(t,ds,"getChainId")({}),wh({currentChainId:O,chain:n}));const N=(w=(A=(_=t.chain)==null?void 0:_.formatters)==null?void 0:A.transactionRequest)==null?void 0:w.format,j=(N||ls)({...zi(E,{format:N}),accessList:s,account:S,authorizationList:i,blobs:o,chainId:O,data:a,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:d,to:T,type:b,value:g},"sendTransaction"),$=Lu.get(t.uid),D=$?"wallet_sendTransaction":"eth_sendTransaction";try{return await t.request({method:D,params:[j]},{retryCount:0})}catch(z){if($===!1)throw z;const ee=z;if(ee.name==="InvalidInputRpcError"||ee.name==="InvalidParamsRpcError"||ee.name==="MethodNotFoundRpcError"||ee.name==="MethodNotSupportedRpcError")return await t.request({method:"wallet_sendTransaction",params:[j]},{retryCount:0}).then(U=>(Lu.set(t.uid,!0),U)).catch(U=>{const q=U;throw q.name==="MethodNotFoundRpcError"||q.name==="MethodNotSupportedRpcError"?(Lu.set(t.uid,!1),ee):q});throw ee}}if((S==null?void 0:S.type)==="local"){const O=await re(t,ma,"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:[...ch,"sidecars"],type:b,value:g,...E,to:T}),N=(x=n==null?void 0:n.serializers)==null?void 0:x.transaction,C=await S.signTransaction(O,{serializer:N});return await re(t,vh,"sendRawTransaction")({serializedTransaction:C})}throw(S==null?void 0:S.type)==="smart"?new Bs({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Bs({docsPath:"/docs/actions/wallet/sendTransaction",type:S==null?void 0:S.type})}catch(T){throw T instanceof Bs?T:Gc(T,{...e,account:S,chain:e.chain||void 0})}}async function Ri(t,e){return Ri.internal(t,Qc,"sendTransaction",e)}(function(t){async function e(r,n,s,i){const{abi:o,account:a=r.account,address:c,args:u,dataSuffix:f,functionName:l,...p}=i;if(typeof a>"u")throw new hs({docsPath:"/docs/contract/writeContract"});const d=a?Ue(a):null,b=er({abi:o,args:u,functionName:l});try{return await re(r,n,s)({data:`${b}${f?f.replace("0x",""):""}`,to:c,account:d,...p})}catch(g){throw js(g,{abi:o,address:c,args:u,docsPath:"/docs/contract/writeContract",functionName:l,sender:d==null?void 0:d.address})}}t.internal=e})(Ri||(Ri={}));function Eh({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(...b)=>{const{args:g,options:E}=Ua(b);return re(s,hr,"readContract")({abi:t,address:e,functionName:d,args:g,...E})}}})),f&&(c.simulate=new Proxy({},{get(p,d){return(...b)=>{const{args:g,options:E}=Ua(b);return re(s,fg,"simulateContract")({abi:t,address:e,functionName:d,args:g,...E})}}})),l&&(c.createEventFilter=new Proxy({},{get(p,d){return(...b)=>{const g=t.find(_=>_.type==="event"&&_.name===d),{args:E,options:S}=Hu(b,g);return re(s,Wd,"createContractEventFilter")({abi:t,address:e,eventName:d,args:E,...S})}}}),c.getEvents=new Proxy({},{get(p,d){return(...b)=>{const g=t.find(_=>_.type==="event"&&_.name===d),{args:E,options:S}=Hu(b,g);return re(s,dh,"getContractEvents")({abi:t,address:e,eventName:d,args:E,...S})}}}),c.watchEvent=new Proxy({},{get(p,d){return(...b)=>{const g=t.find(_=>_.type==="event"&&_.name===d),{args:E,options:S}=Hu(b,g);return re(s,lg,"watchContractEvent")({abi:t,address:e,eventName:d,args:E,...S})}}}))),a&&f&&(c.write=new Proxy({},{get(p,d){return(...b)=>{const{args:g,options:E}=Ua(b);return re(i,Ri,"writeContract")({abi:t,address:e,functionName:d,args:g,...E})}}})),(o||a)&&f&&(c.estimateGas=new Proxy({},{get(p,d){return(...b)=>{const{args:g,options:E}=Ua(b);return re(s??i,jb,"estimateContractGas")({abi:t,address:e,functionName:d,args:g,...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 Hu(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 aA extends V{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}}function Ec(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 Zl(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 dg={"0x0":"reverted","0x1":"success"};function Ah(t,e){const r={...t,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,contractAddress:t.contractAddress?t.contractAddress:null,cumulativeGasUsed:t.cumulativeGasUsed?BigInt(t.cumulativeGasUsed):null,effectiveGasPrice:t.effectiveGasPrice?BigInt(t.effectiveGasPrice):null,gasUsed:t.gasUsed?BigInt(t.gasUsed):null,logs:t.logs?t.logs.map(n=>Tn(n)):null,to:t.to?t.to:null,transactionIndex:t.transactionIndex?dr(t.transactionIndex):null,status:t.status?dg[t.status]:null,type:t.type?Tb[t.type]||t.type:null};return t.blobGasPrice&&(r.blobGasPrice=BigInt(t.blobGasPrice)),t.blobGasUsed&&(r.blobGasUsed=BigInt(t.blobGasUsed)),r}const cA=Xd("transactionReceipt",Ah),hg="0x5792579257925792579257925792579257925792579257925792579257925792",pg=J(0,{size:32});async function yg(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?Ue(r):null,l=e.calls.map(p=>{const d=p,b=d.abi?er({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&b?Xt([b,d.dataSuffix]):b,to:d.to,value:d.value?J(d.value):void 0}});try{const p=await t.request({method:"wallet_sendCalls",params:[{atomicRequired:a,calls:l,capabilities:n,chainId:J(s.id),from:f==null?void 0:f.address,id:c,version:u}]},{retryCount:0});return typeof p=="string"?{id:p}:p}catch(p){const d=p;if(i&&(d.name==="MethodNotFoundRpcError"||d.name==="MethodNotSupportedRpcError"||d.name==="UnknownRpcError"||d.details.toLowerCase().includes("does not exist / is not available")||d.details.toLowerCase().includes("missing or invalid. request()")||d.details.toLowerCase().includes("did not match any variant of untagged enum")||d.details.toLowerCase().includes("account upgraded to unsupported contract")||d.details.toLowerCase().includes("eip-7702 not supported")||d.details.toLowerCase().includes("unsupported wc_ method")||d.details.toLowerCase().includes("feature toggled misconfigured")||d.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(n&&Object.values(n).some(_=>!_.optional)){const _="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Bi(new V(_,{details:_}))}if(a&&l.length>1){const S="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new Ci(new V(S,{details:S}))}const b=[];for(const S of l){const _=Qc(t,{account:f,chain:s,data:S.data,to:S.to,value:S.value?at(S.value):void 0});b.push(_),o>0&&await new Promise(A=>setTimeout(A,o))}const g=await Promise.allSettled(b);if(g.every(S=>S.status==="rejected"))throw g[0].reason;const E=g.map(S=>S.status==="fulfilled"?S.value:pg);return{id:Xt([...E,J(s.id,{size:32}),hg])}}throw Gc(p,{...e,account:f,chain:e.chain})}}async function mg(t,e){async function r(f){if(f.endsWith(hg.slice(2))){const p=lr(Fl(f,-64,-32)),d=Fl(f,0,-64).slice(2).match(/.{1,64}/g),b=await Promise.all(d.map(E=>pg.slice(2)!==E?t.request({method:"eth_getTransactionReceipt",params:[`0x${E}`]},{dedupe:!0}):void 0)),g=b.some(E=>E===null)?100:b.every(E=>(E==null?void 0:E.status)==="0x1")?200:b.every(E=>(E==null?void 0:E.status)==="0x0")?500:600;return{atomic:!1,chainId:dr(p),receipts:b.filter(Boolean),status:g,version:"2.0.0"}}return t.request({method:"wallet_getCallsStatus",params:[f]})}const{atomic:n=!1,chainId:s,receipts:i,version:o="2.0.0",...a}=await r(e.id),[c,u]=(()=>{const f=a.status;return f>=100&&f<200?["pending",f]:f>=200&&f<300?["success",f]:f>=300&&f<700?["failure",f]:f==="CONFIRMED"?["success",200]:f==="PENDING"?["pending",100]:[void 0,f]})();return{...a,atomic:n,chainId:s?dr(s):void 0,receipts:(i==null?void 0:i.map(f=>({...f,blockNumber:at(f.blockNumber),gasUsed:at(f.gasUsed),status:dg[f.status]})))??[],statusCode:u,status:c,version:o}}async function bg(t,e){const{id:r,pollingInterval:n=t.pollingInterval,status:s=({statusCode:g})=>g===200||g>=300,retryCount:i=4,retryDelay:o=({count:g})=>~~(1<<g)*200,timeout:a=6e4,throwOnFailure:c=!1}=e,u=Xe(["waitForCallsStatus",t.uid,r]),{promise:f,resolve:l,reject:p}=gh();let d;const b=Pn(u,{resolve:l,reject:p},g=>{const E=qi(async()=>{const S=_=>{clearTimeout(d),E(),_(),b()};try{const _=await Ec(async()=>{const A=await re(t,mg,"getCallsStatus")({id:r});if(c&&A.status==="failure")throw new aA(A);return A},{retryCount:i,delay:o});if(!s(_))return;S(()=>g.resolve(_))}catch(_){S(()=>g.reject(_))}},{interval:n,emitOnBegin:!0});return E});return d=a?setTimeout(()=>{b(),clearTimeout(d),p(new uA({id:r}))},a):void 0,await f}class uA extends V{constructor({id:e}){super(`Timed out while waiting for call bundle with id "${e}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const Ql=256;let Fa=Ql,Ma;function gg(t=11){if(!Ma||Fa+t>Ql*2){Ma="",Fa=0;for(let e=0;e<Ql;e++)Ma+=(256+Math.random()*256|0).toString(16).substring(1)}return Ma.substring(Fa,Fa+++t)}function wg(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?Ue(t.account):void 0,{config:d,request:b,value:g}=t.transport({account:p,chain:r,pollingInterval:f}),E={...d,...g},S={account:p,batch:e,cacheTime:l,ccipRead:n,chain:r,key:s,name:i,pollingInterval:f,request:b,transport:E,type:o,uid:gg(),...a?{experimental_blockTag:a}:{}};function _(A){return w=>{const x=w(A);for(const O in S)delete x[O];const T={...A,...x};return Object.assign(T,{extend:_(T)})}}return Object.assign(S,{extend:_(S)})}function Sh(t){var r,n,s,i,o,a;if(!(t instanceof V))return!1;const e=t.walk(c=>c instanceof jl);return e instanceof jl?((r=e.data)==null?void 0:r.errorName)==="HttpError"||((n=e.data)==null?void 0:n.errorName)==="ResolverError"||((s=e.data)==null?void 0:s.errorName)==="ResolverNotContract"||((i=e.data)==null?void 0:i.errorName)==="ResolverNotFound"||((o=e.data)==null?void 0:o.errorName)==="ReverseAddressMismatch"||((a=e.data)==null?void 0:a.errorName)==="UnsupportedResolverProfile":!1}function fA(t){const{abi:e,data:r}=t,n=Ms(r,0,4),s=e.find(i=>i.type==="function"&&n===fa(Pr(i)));if(!s)throw new tv(n,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:s.name,args:"inputs"in s&&s.inputs&&s.inputs.length>0?da(s.inputs,Ms(r,4)):void 0}}const Du="/docs/contract/encodeErrorResult";function r0(t){const{abi:e,errorName:r,args:n}=t;let s=e[0];if(r){const c=Ys({abi:e,args:n,name:r});if(!c)throw new Tp(r,{docsPath:Du});s=c}if(s.type!=="error")throw new Tp(void 0,{docsPath:Du});const i=Pr(s),o=fa(i);let a="0x";if(n&&n.length>0){if(!s.inputs)throw new Z6(s.name,{docsPath:Du});a=fs(s.inputs,n)}return Rr([o,a])}const zu="/docs/contract/encodeFunctionResult";function lA(t){const{abi:e,functionName:r,result:n}=t;let s=e[0];if(r){const o=Ys({abi:e,name:r});if(!o)throw new _i(r,{docsPath:zu});s=o}if(s.type!=="function")throw new _i(void 0,{docsPath:zu});if(!s.outputs)throw new Lm(s.name,{docsPath:zu});const i=(()=>{if(s.outputs.length===0)return[];if(s.outputs.length===1)return[n];if(Array.isArray(n))return n;throw new Hm(n)})();return fs(s.outputs,i)}const Aa="x-batch-gateway:true";async function vg(t){const{data:e,ccipRequest:r}=t,{args:[n]}=fA({abi:Jl,data:e}),s=[],i=[];return await Promise.all(n.map(async(o,a)=>{try{i[a]=o.urls.includes(Aa)?await vg({data:o.data,ccipRequest:r}):await r(o),s[a]=!1}catch(c){s[a]=!0,i[a]=dA(c)}})),lA({abi:Jl,functionName:"query",result:[s,i]})}function dA(t){return t.name==="HttpRequestError"&&t.status?r0({abi:Jl,errorName:"HttpError",args:[t.status,t.shortMessage]}):r0({abi:[lb],errorName:"Error",args:["shortMessage"in t?t.shortMessage:t.message]})}function Eg(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 ed(t){let e=new Uint8Array(32).fill(0);if(!t)return Ze(e);const r=t.split(".");for(let n=r.length-1;n>=0;n-=1){const s=Eg(r[n]),i=s?Hi(s):ht(Is(r[n]),"bytes");e=ht(Xt([e,i]),"bytes")}return Ze(e)}function hA(t){return`[${t.slice(2)}]`}function pA(t){const e=new Uint8Array(32).fill(0);return t?Eg(t)||ht(Is(t)):Ze(e)}function xh(t){const e=t.replace(/^\.|\.$/gm,"");if(e.length===0)return new Uint8Array(1);const r=new Uint8Array(Is(e).byteLength+2);let n=0;const s=e.split(".");for(let i=0;i<s.length;i++){let o=Is(s[i]);o.byteLength>255&&(o=Is(hA(pA(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 yA(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 Gi({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?[ed(i),BigInt(s)]:[ed(i)];try{const p=er({abi:Qp,functionName:"addr",args:l}),d={address:u,abi:ng,functionName:"resolveWithGateways",args:[_t(xh(i)),p,o??[Aa]],blockNumber:r,blockTag:n},g=await re(t,hr,"readContract")(d);if(g[0]==="0x")return null;const E=Js({abi:Qp,args:l,functionName:"addr",data:g[0]});return E==="0x"||lr(E)==="0x00"?null:E}catch(p){if(a)throw p;if(Sh(p))return null;throw p}}class mA extends V{constructor({data:e}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(e)}`],name:"EnsAvatarInvalidMetadataError"})}}class Qi extends V{constructor({reason:e}){super(`ENS NFT avatar URI is invalid. ${e}`,{name:"EnsAvatarInvalidNftUriError"})}}class kh extends V{constructor({uri:e}){super(`Unable to resolve ENS avatar URI "${e}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class bA extends V{constructor({namespace:e}){super(`ENS NFT avatar namespace "${e}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const gA=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,wA=/^(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>\/.*)?$/,vA=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,EA=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function AA(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 n0(t,e){return t?t.endsWith("/")?t.slice(0,-1):t:e}function Ag({uri:t,gatewayUrls:e}){const r=vA.test(t);if(r)return{uri:t,isOnChain:!0,isEncoded:r};const n=n0(e==null?void 0:e.ipfs,"https://ipfs.io"),s=n0(e==null?void 0:e.arweave,"https://arweave.net"),i=t.match(gA),{protocol:o,subpath:a,target:c,subtarget:u=""}=(i==null?void 0:i.groups)||{},f=o==="ipns:/"||a==="ipns/",l=o==="ipfs:/"||a==="ipfs/"||wA.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(EA,"");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 kh({uri:t})}function Sg(t){if(typeof t!="object"||!("image"in t)&&!("image_url"in t)&&!("image_data"in t))throw new mA({data:t});return t.image||t.image_url||t.image_data}async function SA({gatewayUrls:t,uri:e}){try{const r=await fetch(e).then(s=>s.json());return await Th({gatewayUrls:t,uri:Sg(r)})}catch{throw new kh({uri:e})}}async function Th({gatewayUrls:t,uri:e}){const{uri:r,isOnChain:n}=Ag({uri:e,gatewayUrls:t});if(n||await AA(r))return r;throw new kh({uri:e})}function xA(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 Qi({reason:"Only EIP-155 supported"});if(!o)throw new Qi({reason:"Chain ID not found"});if(!c)throw new Qi({reason:"Contract address not found"});if(!s)throw new Qi({reason:"Token ID not found"});if(!a)throw new Qi({reason:"ERC namespace not found"});return{chainID:Number.parseInt(o,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:s}}async function kA(t,{nft:e}){if(e.namespace==="erc721")return hr(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 hr(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 bA({namespace:e.namespace})}async function TA(t,{gatewayUrls:e,record:r}){return/eip155:/i.test(r)?PA(t,{gatewayUrls:e,record:r}):Th({uri:r,gatewayUrls:e})}async function PA(t,{gatewayUrls:e,record:r}){const n=xA(r),s=await kA(t,{nft:n}),{uri:i,isOnChain:o,isEncoded:a}=Ag({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 Th({uri:Sg(f),gatewayUrls:e})}let c=n.tokenID;return n.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),SA({gatewayUrls:e,uri:i.replace(/(?:0x)?{id}/,c)})}async function xg(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 Gi({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:ng,args:[_t(xh(i)),er({abi:Zp,functionName:"text",args:[ed(i),s]}),o??[Aa]],functionName:"resolveWithGateways",blockNumber:r,blockTag:n},d=await re(t,hr,"readContract")(l);if(d[0]==="0x")return null;const b=Js({abi:Zp,functionName:"text",data:d[0]});return b===""?null:b}catch(l){if(a)throw l;if(Sh(l))return null;throw l}}async function _A(t,{blockNumber:e,blockTag:r,assetGatewayUrls:n,name:s,gatewayUrls:i,strict:o,universalResolverAddress:a}){const c=await re(t,xg,"getEnsText")({blockNumber:e,blockTag:r,key:"avatar",name:s,universalResolverAddress:a,gatewayUrls:i,strict:o});if(!c)return null;try{return await TA(t,{record:c,gatewayUrls:n})}catch{return null}}async function IA(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 Gi({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})();try{const f={address:u,abi:GE,args:[r,i,o??[Aa]],functionName:"reverseWithGateways",blockNumber:n,blockTag:s},l=re(t,hr,"readContract"),[p]=await l(f);return p||null}catch(f){if(a)throw f;if(Sh(f))return null;throw f}}async function OA(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 Gi({blockNumber:r,chain:i,contract:"ensUniversalResolver"})})(),a=i==null?void 0:i.ensTlds;if(a&&!a.some(u=>s.endsWith(u)))throw new Error(`${s} is not a valid ENS TLD (${a==null?void 0:a.join(", ")}) for chain "${i.name}" (id: ${i.id}).`);const[c]=await re(t,hr,"readContract")({address:o,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[_t(xh(s))],blockNumber:r,blockTag:n});return c}async function kg(t,e){var E,S,_;const{account:r=t.account,blockNumber:n,blockTag:s="latest",blobs:i,data:o,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:l,to:p,value:d,...b}=e,g=r?Ue(r):void 0;try{Cn(e);const w=(typeof n=="bigint"?J(n):void 0)||s,x=(_=(S=(E=t.chain)==null?void 0:E.formatters)==null?void 0:S.transactionRequest)==null?void 0:_.format,O=(x||ls)({...zi(b,{format:x}),account:g,blobs:i,data:o,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:l,to:p,value:d},"createAccessList"),N=await t.request({method:"eth_createAccessList",params:[O,w]});return{accessList:N.accessList,gasUsed:BigInt(N.gasUsed)}}catch(A){throw ag(A,{...e,account:g,chain:t.chain})}}async function BA(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 Tg(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=>la({abi:[d],eventName:d.name,args:r}))],n&&(f=f[0]));const l=await t.request({method:"eth_newFilter",params:[{address:e,fromBlock:typeof i=="bigint"?J(i):i,toBlock:typeof a=="bigint"?J(a):a,...f.length?{topics:f}:{}}]});return{abi:c,args:r,eventName:n?n.name:void 0,fromBlock:i,id:l,request:u(l),strict:!!o,toBlock:a,type:"event"}}async function Pg(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 CA(t,{address:e,blockNumber:r,blockTag:n=t.experimental_blockTag??"latest"}){const s=typeof r=="bigint"?J(r):void 0,i=await t.request({method:"eth_getBalance",params:[e,s||n]});return BigInt(i)}async function RA(t){const e=await t.request({method:"eth_blobBaseFee"});return BigInt(e)}async function NA(t,{blockHash:e,blockNumber:r,blockTag:n="latest"}={}){const s=r!==void 0?J(r):void 0;let i;return e?i=await t.request({method:"eth_getBlockTransactionCountByHash",params:[e]},{dedupe:!0}):i=await t.request({method:"eth_getBlockTransactionCountByNumber",params:[s||n]},{dedupe:!!s}),dr(i)}async function td(t,{address:e,blockNumber:r,blockTag:n="latest"}){const s=r!==void 0?J(r):void 0,i=await t.request({method:"eth_getCode",params:[e,s||n]},{dedupe:!!s});if(i!=="0x")return i}class UA extends V{constructor({address:e}){super(`No EIP-712 domain found on contract "${e}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${e}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function FA(t,e){const{address:r,factory:n,factoryData:s}=e;try{const[i,o,a,c,u,f,l]=await re(t,hr,"readContract")({abi:MA,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 UA({address:r}):o}}const MA=[{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 $A(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 jA(t,{blockCount:e,blockNumber:r,blockTag:n="latest",rewardPercentiles:s}){const i=typeof r=="bigint"?J(r):void 0,o=await t.request({method:"eth_feeHistory",params:[J(e),i||n,s]},{dedupe:!!i});return $A(o)}async function LA(t,{filter:e}){const r=e.strict??!1,s=(await e.request({method:"eth_getFilterLogs",params:[e.id]})).map(i=>Tn(i));return e.abi?fh({abi:e.abi,logs:s,strict:r}):s}function HA(t){const{authorizationList:e}=t;if(e)for(const r of e){const{chainId:n}=r,s=r.address;if(!st(s))throw new Ot({address:s});if(n<0)throw new Yc({chainId:n})}Ph(t)}function DA(t){const{blobVersionedHashes:e}=t;if(e){if(e.length===0)throw new Fb;for(const r of e){const n=He(r),s=dr(Ms(r,0,1));if(n!==32)throw new cE({hash:r,size:n});if(s!==Ub)throw new uE({hash:r,version:s})}}Ph(t)}function Ph(t){const{chainId:e,maxPriorityFeePerGas:r,maxFeePerGas:n,to:s}=t;if(e<=0)throw new Yc({chainId:e});if(s&&!st(s))throw new Ot({address:s});if(n&&n>Vc)throw new Ls({maxFeePerGas:n});if(r&&n&&r>n)throw new qo({maxFeePerGas:n,maxPriorityFeePerGas:r})}function zA(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:s,to:i}=t;if(e<=0)throw new Yc({chainId:e});if(i&&!st(i))throw new Ot({address:i});if(r||s)throw new V("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>Vc)throw new Ls({maxFeePerGas:n})}function VA(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:s,to:i}=t;if(i&&!st(i))throw new Ot({address:i});if(typeof e<"u"&&e<=0)throw new Yc({chainId:e});if(r||s)throw new V("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>Vc)throw new Ls({maxFeePerGas:n})}function eu(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 T5({storageKey:s[i]});if(!st(n,{strict:!1}))throw new Ot({address:n});e.push([n,s])}return e}function GA(t,e){const r=$b(t);return r==="eip1559"?KA(t,e):r==="eip2930"?YA(t,e):r==="eip4844"?WA(t,e):r==="eip7702"?qA(t,e):JA(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;HA(t);const p=eu(f),d=XA(r);return Rr(["0x04",as([J(n),i?J(i):"0x",u?J(u):"0x",c?J(c):"0x",s?J(s):"0x",o??"0x",a?J(a):"0x",l??"0x",p,d,...Sa(t,e)])])}function WA(t,e){const{chainId:r,gas:n,nonce:s,to:i,value:o,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:u,accessList:f,data:l}=t;DA(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=>Ze(T)),w=t.kzg,x=nh({blobs:A,kzg:w});if(typeof p>"u"&&(p=Cb({commitments:x})),typeof d>"u"){const T=sh({blobs:A,commitments:x,kzg:w});d=Mb({blobs:A,commitments:x,proofs:T})}}const b=eu(f),g=[J(r),s?J(s):"0x",u?J(u):"0x",c?J(c):"0x",n?J(n):"0x",i??"0x",o?J(o):"0x",l??"0x",b,a?J(a):"0x",p??[],...Sa(t,e)],E=[],S=[],_=[];if(d)for(let A=0;A<d.length;A++){const{blob:w,commitment:x,proof:T}=d[A];E.push(w),S.push(x),_.push(T)}return Rr(["0x03",as(d?[g,E,S,_]:g)])}function KA(t,e){const{chainId:r,gas:n,nonce:s,to:i,value:o,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:u,data:f}=t;Ph(t);const l=eu(u),p=[J(r),s?J(s):"0x",c?J(c):"0x",a?J(a):"0x",n?J(n):"0x",i??"0x",o?J(o):"0x",f??"0x",l,...Sa(t,e)];return Rr(["0x02",as(p)])}function YA(t,e){const{chainId:r,gas:n,data:s,nonce:i,to:o,value:a,accessList:c,gasPrice:u}=t;zA(t);const f=eu(c),l=[J(r),i?J(i):"0x",u?J(u):"0x",n?J(n):"0x",o??"0x",a?J(a):"0x",s??"0x",f,...Sa(t,e)];return Rr(["0x01",as(l)])}function JA(t,e){const{chainId:r=0,gas:n,data:s,nonce:i,to:o,value:a,gasPrice:c}=t;VA(t);let u=[i?J(i):"0x",c?J(c):"0x",n?J(n):"0x",o??"0x",a?J(a):"0x",s??"0x"];if(e){const f=(()=>{if(e.v>=35n)return(e.v-35n)/2n>0?e.v:27n+(e.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+e.v-27n);const d=27n+(e.v===27n?0n:1n);if(e.v!==d)throw new x5({v:e.v});return d})(),l=lr(e.r),p=lr(e.s);u=[...u,J(f),l==="0x00"?"0x":l,p==="0x00"?"0x":p]}else r>0&&(u=[...u,J(r),"0x","0x"]);return as(u)}function Sa(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=lr(r.r),o=lr(r.s);return[typeof s=="number"?s?J(1):"0x":n===0n?"0x":n===1n?J(1):n===27n?"0x":J(1),i==="0x00"?"0x":i,o==="0x00"?"0x":o]}function XA(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?_t(n):"0x",o,s?_t(s):"0x",...Sa({},i)])}return e}async function ZA({address:t,authorization:e,signature:r}){return Vi(zd(t),await Dc({authorization:e,signature:r}))}const $a=new Di(8192);function QA(t,{enabled:e=!0,id:r}){if(!e||!r)return t();if($a.get(r))return $a.get(r);const n=t().finally(()=>$a.delete(r));return $a.set(r,n),n}function eS(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 As(new Error("method not supported"),{method:u});if(i!=null&&i.include&&!i.include.includes(u))throw new As(new Error("method not supported"),{method:u});const f=s?Ii(`${c}.${Xe(r)}`):void 0;return QA(()=>Ec(async()=>{try{return await t(r)}catch(p){const d=p;switch(d.code){case _o.code:throw new _o(d);case Io.code:throw new Io(d);case Oo.code:throw new Oo(d,{method:r.method});case Bo.code:throw new Bo(d);case $s.code:throw new $s(d);case os.code:throw new os(d);case Co.code:throw new Co(d);case Ro.code:throw new Ro(d);case No.code:throw new No(d);case As.code:throw new As(d,{method:r.method});case Oi.code:throw new Oi(d);case Uo.code:throw new Uo(d);case wi.code:throw new wi(d);case Fo.code:throw new Fo(d);case Mo.code:throw new Mo(d);case $o.code:throw new $o(d);case jo.code:throw new jo(d);case Lo.code:throw new Lo(d);case Bi.code:throw new Bi(d);case Ho.code:throw new Ho(d);case Do.code:throw new Do(d);case zo.code:throw new zo(d);case Vo.code:throw new Vo(d);case Go.code:throw new Go(d);case Ci.code:throw new Ci(d);case 5e3:throw new wi(d);default:throw p instanceof V?p:new R5(d)}}},{delay:({count:p,error:d})=>{var b;if(d&&d instanceof gi){const g=(b=d==null?void 0:d.headers)==null?void 0:b.get("Retry-After");if(g!=null&&g.match(/\d/))return Number.parseInt(g,10)*1e3}return~~(1<<p)*o},retryCount:a,shouldRetry:({error:p})=>tS(p)}),{enabled:s,id:f})}}function tS(t){return"code"in t&&typeof t.code=="number"?t.code===-1||t.code===Oi.code||t.code===$s.code:t instanceof gi&&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 pt(t){const e={formatters:void 0,fees:void 0,serializers:void 0,...t};function r(n){return s=>{const i=typeof s=="function"?s(n):s,o={...n,...i};return Object.assign(o,{extend:r(o)})}}return Object.assign(e,{extend:r(e)})}const rS=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),_g=Uint8Array.from(new Array(16).fill(0).map((t,e)=>e)),nS=_g.map(t=>(9*t+5)%16),Ig=(()=>{const r=[[_g],[nS]];for(let n=0;n<4;n++)for(let s of r)s.push(s[n].map(i=>rS[i]));return r})(),Og=Ig[0],Bg=Ig[1],Cg=[[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)),sS=Og.map((t,e)=>t.map(r=>Cg[e][r])),iS=Bg.map((t,e)=>t.map(r=>Cg[e][r])),oS=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),aS=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function s0(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 ja=new Uint32Array(16);let Rg=class extends _b{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)ja[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 b=4-d,g=oS[d],E=aS[d],S=Og[d],_=Bg[d],A=sS[d],w=iS[d];for(let x=0;x<16;x++){const T=Ra(n+s0(d,i,a,u)+ja[S[x]]+g,A[x])+l|0;n=l,l=u,u=Ra(a,10)|0,a=i,i=T}for(let x=0;x<16;x++){const T=Ra(s+s0(b,o,c,f)+ja[_[x]]+E,w[x])+p|0;s=p,p=f,f=Ra(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(){Ir(ja)}destroy(){this.destroyed=!0,Ir(this.buffer),this.set(0,0,0,0,0)}};const cS=Mc(()=>new Rg),uS=Rg,fS=cS,lS=Object.freeze(Object.defineProperty({__proto__:null,RIPEMD160:uS,ripemd160:fS},Symbol.toStringTag,{value:"Module"}));function dS(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 hS(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const i0=hS();function pS(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 dS(async({signal:g})=>{const E={...c,body:Array.isArray(n)?Xe(n.map(w=>({jsonrpc:"2.0",id:w.id??i0.take(),...w}))):Xe({jsonrpc:"2.0",id:n.id??i0.take(),...n}),headers:{"Content-Type":"application/json",...u},method:f||"POST",signal:l||(a>0?g:null)},S=new Request(t,E),_=await(i==null?void 0:i(S,E))??{...E,url:t};return await s(_.url??t,_)},{errorInstance:new jp({body:n,url:t}),timeout:a,signal:!0});o&&await o(d);let b;if((p=d.headers.get("Content-Type"))!=null&&p.startsWith("application/json"))b=await d.json();else{b=await d.text();try{b=JSON.parse(b||"{}")}catch(g){if(d.ok)throw g;b={error:b}}}if(!d.ok)throw new gi({body:n,details:Xe(b.error)||d.statusText,headers:d.headers,status:d.status,url:t});return b}catch(d){throw d instanceof gi||d instanceof jp?d:new gi({body:n,cause:d,url:t})}}}}const yS=`Ethereum Signed Message:
|
|
42
|
+
`;function mS(t){const e=typeof t=="string"?Ii(t):typeof t.raw=="string"?t.raw:Ze(t.raw),r=Ii(`${yS}${He(e)}`);return Xt([r,e])}function Ng(t,e){return ht(mS(t),e)}class bS extends V{constructor({domain:e}){super(`Invalid domain "${Xe(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class gS extends V{constructor({primaryType:e,types:r}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class wS extends V{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function vS(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 Xe({domain:o,message:a,primaryType:n,types:s})}function Ug(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(ub);if(p&&(typeof l=="number"||typeof l=="bigint")){const[g,E,S]=p;J(l,{signed:E==="int",size:Number.parseInt(S,10)/8})}if(f==="address"&&typeof l=="string"&&!st(l))throw new Ot({address:l});const d=f.match(Yv);if(d){const[g,E]=d;if(E&&He(l)!==Number.parseInt(E,10))throw new nv({expectedSize:Number.parseInt(E,10),givenSize:He(l)})}const b=s[f];b&&(ES(f),i(b,l))}};if(s.EIP712Domain&&e){if(typeof e!="object")throw new bS({domain:e});i(s.EIP712Domain,e)}if(n!=="EIP712Domain")if(s[n])i(s[n],r);else throw new gS({primaryType:n,types:s})}function Fg({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 ES(t){if(t==="address"||t==="bool"||t==="string"||t.startsWith("bytes")||t.startsWith("uint")||t.startsWith("int"))throw new wS({type:t})}function AS(t){const{domain:e={},message:r,primaryType:n}=t,s={EIP712Domain:Fg({domain:e}),...t.types};Ug({domain:e,message:r,primaryType:n,types:s});const i=["0x1901"];return e&&i.push(SS({domain:e,types:s})),n!=="EIP712Domain"&&i.push(Mg({data:r,primaryType:n,types:s})),ht(Xt(i))}function SS({domain:t,types:e}){return Mg({data:t,primaryType:"EIP712Domain",types:e})}function Mg({data:t,primaryType:e,types:r}){const n=$g({data:t,primaryType:e,types:r});return ht(n)}function $g({data:t,primaryType:e,types:r}){const n=[{type:"bytes32"}],s=[xS({primaryType:e,types:r})];for(const i of r[e]){const[o,a]=Lg({types:r,name:i.name,type:i.type,value:t[i.name]});n.push(o),s.push(a)}return fs(n,s)}function xS({primaryType:t,types:e}){const r=_t(kS({primaryType:t,types:e}));return ht(r)}function kS({primaryType:t,types:e}){let r="";const n=jg({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 jg({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])jg({primaryType:i.type,types:e},r);return r}function Lg({types:t,name:e,type:r,value:n}){if(t[r]!==void 0)return[{type:"bytes32"},ht($g({data:n,primaryType:r,types:t}))];if(r==="bytes")return[{type:"bytes32"},ht(n)];if(r==="string")return[{type:"bytes32"},ht(_t(n))];if(r.lastIndexOf("]")===r.length-1){const s=r.slice(0,r.lastIndexOf("[")),i=n.map(o=>Lg({name:e,type:s,types:t,value:o}));return[{type:"bytes32"},ht(fs(i.map(([o])=>o),i.map(([,o])=>o)))]}return[{type:r},n]}class TS 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 PS={checksum:new TS(8192)},Vu=PS.checksum;function Hg(t,e={}){const{as:r=typeof t=="string"?"Hex":"Bytes"}=e,n=sb(kE(t));return r==="Bytes"?n:Br(n)}const _S=/^0x[a-fA-F0-9]{40}$/;function tu(t,e={}){const{strict:r=!0}=e;if(!_S.test(t))throw new o0({address:t,cause:new IS});if(r){if(t.toLowerCase()===t)return;if(Dg(t)!==t)throw new o0({address:t,cause:new OS})}}function Dg(t){if(Vu.has(t))return Vu.get(t);tu(t,{strict:!1});const e=t.substring(2).toLowerCase(),r=Hg(PE(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 Vu.set(t,s),s}function rd(t,e={}){const{strict:r=!0}=e??{};try{return tu(t,{strict:r}),!0}catch{return!1}}class o0 extends ce{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 IS extends ce{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 OS extends ce{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}const BS=/^(.*)\[([0-9]*)\]$/,CS=/^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)?$/,a0=2n**256n-1n;function Ei(t,e,r){const{checksumAddress:n,staticPosition:s}=r,i=Oh(e.type);if(i){const[o,a]=i;return NS(t,{...e,type:a},{checksumAddress:n,length:o,staticPosition:s})}if(e.type==="tuple")return $S(t,e,{checksumAddress:n,staticPosition:s});if(e.type==="address")return RS(t,{checksum:n});if(e.type==="bool")return US(t);if(e.type.startsWith("bytes"))return FS(t,e,{staticPosition:s});if(e.type.startsWith("uint")||e.type.startsWith("int"))return MS(t,e);if(e.type==="string")return jS(t,{staticPosition:s});throw new Ch(e.type)}const c0=32,nd=32;function RS(t,e={}){const{checksum:r=!1}=e,n=t.readBytes(32);return[(i=>r?Dg(i):i)(Br(IE(n,-20))),32]}function NS(t,e,r){const{checksumAddress:n,length:s,staticPosition:i}=r;if(!s){const c=Sn(t.readBytes(nd)),u=i+c,f=u+c0;t.setPosition(u);const l=Sn(t.readBytes(c0)),p=Yo(e);let d=0;const b=[];for(let g=0;g<l;++g){t.setPosition(f+(p?g*32:d));const[E,S]=Ei(t,e,{checksumAddress:n,staticPosition:f});d+=S,b.push(E)}return t.setPosition(i+32),[b,32]}if(Yo(e)){const c=Sn(t.readBytes(nd)),u=i+c,f=[];for(let l=0;l<s;++l){t.setPosition(u+l*32);const[p]=Ei(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]=Ei(t,e,{checksumAddress:n,staticPosition:i+o});o+=f,a.push(u)}return[a,o]}function US(t){return[BE(t.readBytes(32),{size:32}),32]}function FS(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),[Br(c),32]}return[Br(t.readBytes(Number.parseInt(s,10),32)),32]}function MS(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?OE(s,{signed:r}):Sn(s,{signed:r}),32]}function $S(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(nd)),u=s+c;for(let f=0;f<e.components.length;++f){const l=e.components[f];t.setPosition(u+a);const[p,d]=Ei(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]=Ei(t,u,{checksumAddress:n,staticPosition:s});o[i?c:u==null?void 0:u.name]=f,a+=l}return[o,a]}function jS(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=CE(Yb(i));return t.setPosition(e+32),[o,32]}function LS({checksumAddress:t,parameters:e,values:r}){const n=[];for(let s=0;s<e.length;s++)n.push(_h({checksumAddress:t,parameter:e[s],value:r[s]}));return n}function _h({checksumAddress:t=!1,parameter:e,value:r}){const n=e,s=Oh(n.type);if(s){const[i,o]=s;return DS(r,{checksumAddress:t,length:i,parameter:{...n,type:o}})}if(n.type==="tuple")return WS(r,{checksumAddress:t,parameter:n});if(n.type==="address")return HS(r,{checksum:t});if(n.type==="bool")return VS(r);if(n.type.startsWith("uint")||n.type.startsWith("int")){const i=n.type.startsWith("int"),[,,o="256"]=zg.exec(n.type)??[];return GS(r,{signed:i,size:Number(o)})}if(n.type.startsWith("bytes"))return zS(r,{type:n.type});if(n.type==="string")return qS(r);throw new Ch(n.type)}function Ih(t){let e=0;for(let i=0;i<t.length;i++){const{dynamic:o,encoded:a}=t[i];o?e+=32:e+=Zt(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(Tt(e+s,{size:32})),n.push(a),s+=Zt(a)):r.push(a)}return Or(...r,...n)}function HS(t,e){const{checksum:r=!1}=e;return tu(t,{strict:r}),{dynamic:!1,encoded:Hs(t.toLowerCase())}}function DS(t,e){const{checksumAddress:r,length:n,parameter:s}=e,i=n===null;if(!Array.isArray(t))throw new r8(t);if(!i&&t.length!==n)throw new t8({expectedLength:n,givenLength:t.length,type:`${s.type}[${n}]`});let o=!1;const a=[];for(let c=0;c<t.length;c++){const u=_h({checksumAddress:r,parameter:s,value:t[c]});u.dynamic&&(o=!0),a.push(u)}if(i||o){const c=Ih(a);if(i){const u=Tt(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Or(u,c):u}}if(o)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:Or(...a.map(({encoded:c})=>c))}}function zS(t,{type:e}){const[,r]=e.split("bytes"),n=Zt(t);if(!r){let s=t;return n%32!==0&&(s=Ds(s,Math.ceil((t.length-2)/2/32)*32)),{dynamic:!0,encoded:Or(Hs(Tt(n,{size:32})),s)}}if(n!==Number.parseInt(r,10))throw new Gg({expectedSize:Number.parseInt(r,10),value:t});return{dynamic:!1,encoded:Ds(t)}}function VS(t){if(typeof t!="boolean")throw new ce(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Hs(Jb(t))}}function GS(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:Tt(t,{size:32,signed:e})}}function qS(t){const e=mh(t),r=Math.ceil(Zt(e)/32),n=[];for(let s=0;s<r;s++)n.push(Ds(Yr(e,s*32,(s+1)*32)));return{dynamic:!0,encoded:Or(Ds(Tt(Zt(e),{size:32})),...n)}}function WS(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=_h({checksumAddress:r,parameter:a,value:t[c]});i.push(u),u.dynamic&&(s=!0)}return{dynamic:s,encoded:s?Ih(i):Or(...i.map(({encoded:o})=>o))}}function Oh(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=Oh(t.type);return!!(r&&Yo({...t,type:r[1]}))}const KS={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 XS({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new JS({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new u0({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 u0({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 YS(t,{recursiveReadLimit:e=8192}={}){const r=Object.create(KS);return r.bytes=t,r.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=e,r}class u0 extends ce{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class JS extends ce{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 XS extends ce{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 ZS(t,e,r={}){const{as:n="Array",checksumAddress:s=!1}=r,i=typeof e=="string"?Kb(e):e,o=YS(i);if(yi(i)===0&&t.length>0)throw new e8;if(yi(i)&&yi(i)<32)throw new QS({data:typeof e=="string"?e:Br(e),parameters:t,size:yi(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]=Ei(o,f,{checksumAddress:s,staticPosition:0});a+=p,n==="Array"?c.push(l):c[f.name??u]=l}return c}function Bh(t,e,r){const{checksumAddress:n=!1}={};if(t.length!==e.length)throw new qg({expectedLength:t.length,givenLength:e.length});const s=LS({checksumAddress:n,parameters:t,values:e}),i=Ih(s);return i.length===0?"0x":i}function sd(t,e){if(t.length!==e.length)throw new qg({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(sd.encode(s,i))}return Or(...r)}(function(t){function e(r,n,s=!1){if(r==="address"){const c=n;return tu(c),Hs(c.toLowerCase(),s?32:0)}if(r==="string")return mh(n);if(r==="bytes")return n;if(r==="bool")return Hs(Jb(n),s?32:1);const i=r.match(zg);if(i){const[c,u,f="256"]=i,l=Number.parseInt(f,10)/8;return Tt(n,{size:s?32:l,signed:u==="int"})}const o=r.match(CS);if(o){const[c,u]=o;if(Number.parseInt(u,10)!==(n.length-2)/2)throw new Gg({expectedSize:Number.parseInt(u,10),value:n});return Ds(n,s?32:0)}const a=r.match(BS);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":Or(...f)}throw new Ch(r)}t.encode=e})(sd||(sd={}));function Vg(t){return Array.isArray(t)&&typeof t[0]=="string"||typeof t=="string"?xp(t):t}class QS extends ce{constructor({data:e,parameters:r,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${oi(r)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class e8 extends ce{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class t8 extends ce{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 Gg extends ce{constructor({expectedSize:e,value:r}){super(`Size of bytes "${r}" (bytes${Zt(r)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class qg extends ce{constructor({expectedLength:e,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${r}`].join(`
|
|
43
|
+
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class r8 extends ce{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class Ch extends ce{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 Wg extends Fc{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,_v(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),Ir(i)}update(e){return is(this),this.iHash.update(e),this}digestInto(e){is(this),ss(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 Kg=(t,e,r)=>new Wg(t,e).update(r).digest();Kg.create=(t,e)=>new Wg(t,e);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Mt=BigInt(0),It=BigInt(1),Ss=BigInt(2),n8=BigInt(3),Yg=BigInt(4),Jg=BigInt(5),Xg=BigInt(8);function Ct(t,e){const r=t%e;return r>=Mt?r:e+r}function nr(t,e,r){let n=t;for(;e-- >Mt;)n*=n,n%=r;return n}function id(t,e){if(t===Mt)throw new Error("invert: expected non-zero number");if(e<=Mt)throw new Error("invert: expected positive modulus, got "+e);let r=Ct(t,e),n=e,s=Mt,i=It;for(;r!==Mt;){const a=n/r,c=n%r,u=s-i*a;n=r,r=c,s=i,i=u}if(n!==It)throw new Error("invert: does not exist");return Ct(s,e)}function Zg(t,e){const r=(t.ORDER+It)/Yg,n=t.pow(e,r);if(!t.eql(t.sqr(n),e))throw new Error("Cannot find square root");return n}function s8(t,e){const r=(t.ORDER-Jg)/Xg,n=t.mul(e,Ss),s=t.pow(n,r),i=t.mul(e,s),o=t.mul(t.mul(i,Ss),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 i8(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let e=t-It,r=0;for(;e%Ss===Mt;)e/=Ss,r++;let n=Ss;const s=Rh(t);for(;f0(s,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Zg;let i=s.pow(n,e);const o=(e+It)/Ss;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 b=1,g=c.sqr(p);for(;!c.eql(g,c.ONE);)if(b++,g=c.sqr(g),b===f)throw new Error("Cannot find square root");const E=It<<BigInt(f-b-1),S=c.pow(l,E);f=b,l=c.sqr(S),p=c.mul(p,l),d=c.mul(d,S)}return d}}function o8(t){return t%Yg===n8?Zg:t%Xg===Jg?s8:i8(t)}const a8=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function c8(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=a8.reduce((n,s)=>(n[s]="function",n),e);return Wc(t,r)}function u8(t,e,r){if(r<Mt)throw new Error("invalid exponent, negatives unsupported");if(r===Mt)return t.ONE;if(r===It)return e;let n=t.ONE,s=e;for(;r>Mt;)r&It&&(n=t.mul(n,s)),s=t.sqr(s),r>>=It;return n}function Qg(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-It)/Ss,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 e1(t,e){e!==void 0&&ns(e);const r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Rh(t,e,r=!1,n={}){if(t<=Mt)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:s,nByteLength:i}=e1(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:qc(s),ZERO:Mt,ONE:It,create:c=>Ct(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Mt<=c&&c<t},is0:c=>c===Mt,isOdd:c=>(c&It)===It,neg:c=>Ct(-c,t),eql:(c,u)=>c===u,sqr:c=>Ct(c*c,t),add:(c,u)=>Ct(c+u,t),sub:(c,u)=>Ct(c-u,t),mul:(c,u)=>Ct(c*u,t),pow:(c,u)=>u8(a,c,u),div:(c,u)=>Ct(c*id(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>id(c,t),sqrt:n.sqrt||(c=>(o||(o=o8(t)),o(a,c))),toBytes:c=>r?zb(c,i):ga(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return r?Db(c):Os(c)},invertBatch:c=>Qg(a,c),cmov:(c,u,f)=>f?u:c});return Object.freeze(a)}function t1(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 r1(t){const e=t1(t);return e+Math.ceil(e/2)}function f8(t,e,r=!1){const n=t.length,s=t1(e),i=r1(e);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);const o=r?Db(t):Os(t),a=Ct(o,e-It)+It;return r?zb(a,s):ga(a,s)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const l0=BigInt(0),od=BigInt(1);function Gu(t,e){const r=e.negate();return t?r:e}function n1(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function qu(t,e){n1(t,e);const r=Math.ceil(e/t)+1,n=2**(t-1),s=2**t,i=qc(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+=od);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 l8(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 d8(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,s1=new WeakMap;function Ku(t){return s1.get(t)||1}function h8(t,e){return{constTimeNegate:Gu,hasPrecomputes(r){return Ku(r)!==1},unsafeLadder(r,n,s=t.ZERO){let i=r;for(;n>l0;)n&od&&(s=s.add(i)),i=i.double(),n>>=od;return s},precomputeWindow(r,n){const{windows:s,windowSize:i}=qu(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=qu(r,e);for(let c=0;c<a.windows;c++){const{nextN:u,offset:f,isZero:l,isNeg:p,isNegF:d,offsetF:b}=d0(s,c,a);s=u,l?o=o.add(Gu(d,n[b])):i=i.add(Gu(p,n[f]))}return{p:i,f:o}},wNAFUnsafe(r,n,s,i=t.ZERO){const o=qu(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){n1(n,e),s1.set(r,n),Wu.delete(r)}}}function p8(t,e,r,n){l8(r,t),d8(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=pE(BigInt(s));let c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);const u=qc(c),f=new Array(Number(u)+1).fill(o),l=Math.floor((e.BITS-1)/c)*c;let p=o;for(let d=l;d>=0;d-=c){f.fill(o);for(let g=0;g<i;g++){const E=n[g],S=Number(E>>BigInt(d)&u);f[S]=f[S].add(r[g])}let b=o;for(let g=f.length-1,E=o;g>0;g--)E=E.add(f[g]),b=b.add(E);if(p=p.add(b),d!==0)for(let g=0;g<c;g++)p=p.double()}return p}function i1(t){return c8(t.Fp),Wc(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...e1(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&&Wo("lowS",t.lowS),t.prehash!==void 0&&Wo("prehash",t.prehash)}function y8(t){const e=i1(t);Wc(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 m8 extends Error{constructor(e=""){super(e)}}const yn={Err:m8,_tlv:{encode:(t,e)=>{const{Err:r}=yn;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=Na(n);if(s.length/2&128)throw new r("tlv.encode: long form length too big");const i=n>127?Na(s.length/2|128):"";return Na(t)+i+s+e},decode(t,e){const{Err:r}=yn;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}=yn;if(t<gn)throw new e("integer: negative integers are not allowed");let r=Na(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}=yn;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 Os(t)}},toSig(t){const{Err:e,_int:r,_tlv:n}=yn,s=or("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}=yn,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 Yu(t,e){return Ko(ga(t,e))}const gn=BigInt(0),ot=BigInt(1);BigInt(2);const Ju=BigInt(3),b8=BigInt(4);function g8(t){const e=y8(t),{Fp:r}=e,n=Rh(e.n,e.nBitLength),s=e.toBytes||((A,w,x)=>{const T=w.toAffine();return wc(Uint8Array.from([4]),r.toBytes(T.x),r.toBytes(T.y))}),i=e.fromBytes||(A=>{const w=A.subarray(1),x=r.fromBytes(w.subarray(0,r.BYTES)),T=r.fromBytes(w.subarray(r.BYTES,2*r.BYTES));return{x,y:T}});function o(A){const{a:w,b:x}=e,T=r.sqr(A),O=r.mul(T,A);return r.add(r.add(O,r.mul(A,w)),x)}function a(A,w){const x=r.sqr(w),T=o(A);return r.eql(x,T)}if(!a(e.Gx,e.Gy))throw new Error("bad curve params: generator point");const c=r.mul(r.pow(e.a,Ju),b8),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 yh(A,ot,e.n)}function l(A){const{allowedPrivateKeyLengths:w,nByteLength:x,wrapPrivateKey:T,n:O}=e;if(w&&typeof A!="bigint"){if(ba(A)&&(A=Ko(A)),typeof A!="string"||!w.includes(A.length))throw new Error("invalid private key");A=A.padStart(x*2,"0")}let N;try{N=typeof A=="bigint"?A:Os(or("private key",A,x))}catch{throw new Error("invalid private key, expected hex or "+x+" bytes, got "+typeof A)}return T&&(N=Ct(N,O)),vi("private key",N,ot,O),N}function p(A){if(!(A instanceof g))throw new Error("ProjectivePoint expected")}const d=Kp((A,w)=>{const{px:x,py:T,pz:O}=A;if(r.eql(O,r.ONE))return{x,y:T};const N=A.is0();w==null&&(w=N?r.ONE:r.inv(O));const C=r.mul(x,w),j=r.mul(T,w),$=r.mul(O,w);if(N)return{x:r.ZERO,y:r.ZERO};if(!r.eql($,r.ONE))throw new Error("invZ was invalid");return{x:C,y:j}}),b=Kp(A=>{if(A.is0()){if(e.allowInfinityPoint&&!r.is0(A.py))return;throw new Error("bad point: ZERO")}const{x:w,y:x}=A.toAffine();if(!r.isValid(w)||!r.isValid(x))throw new Error("bad point: x or y not FE");if(!a(w,x))throw new Error("bad point: equation left != right");if(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class g{constructor(w,x,T){if(w==null||!r.isValid(w))throw new Error("x required");if(x==null||!r.isValid(x)||r.is0(x))throw new Error("y required");if(T==null||!r.isValid(T))throw new Error("z required");this.px=w,this.py=x,this.pz=T,Object.freeze(this)}static fromAffine(w){const{x,y:T}=w||{};if(!w||!r.isValid(x)||!r.isValid(T))throw new Error("invalid affine point");if(w instanceof g)throw new Error("projective point not allowed");const O=N=>r.eql(N,r.ZERO);return O(x)&&O(T)?g.ZERO:new g(x,T,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(w){const x=Qg(r,w.map(T=>T.pz));return w.map((T,O)=>T.toAffine(x[O])).map(g.fromAffine)}static fromHex(w){const x=g.fromAffine(i(or("pointHex",w)));return x.assertValidity(),x}static fromPrivateKey(w){return g.BASE.multiply(l(w))}static msm(w,x){return p8(g,n,w,x)}_setWindowSize(w){_.setWindowSize(this,w)}assertValidity(){b(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:x,py:T,pz:O}=this,{px:N,py:C,pz:j}=w,$=r.eql(r.mul(x,j),r.mul(N,O)),D=r.eql(r.mul(T,j),r.mul(C,O));return $&&D}negate(){return new g(this.px,r.neg(this.py),this.pz)}double(){const{a:w,b:x}=e,T=r.mul(x,Ju),{px:O,py:N,pz:C}=this;let j=r.ZERO,$=r.ZERO,D=r.ZERO,z=r.mul(O,O),ee=r.mul(N,N),U=r.mul(C,C),q=r.mul(O,N);return q=r.add(q,q),D=r.mul(O,C),D=r.add(D,D),j=r.mul(w,D),$=r.mul(T,U),$=r.add(j,$),j=r.sub(ee,$),$=r.add(ee,$),$=r.mul(j,$),j=r.mul(q,j),D=r.mul(T,D),U=r.mul(w,U),q=r.sub(z,U),q=r.mul(w,q),q=r.add(q,D),D=r.add(z,z),z=r.add(D,z),z=r.add(z,U),z=r.mul(z,q),$=r.add($,z),U=r.mul(N,C),U=r.add(U,U),z=r.mul(U,q),j=r.sub(j,z),D=r.mul(U,ee),D=r.add(D,D),D=r.add(D,D),new g(j,$,D)}add(w){p(w);const{px:x,py:T,pz:O}=this,{px:N,py:C,pz:j}=w;let $=r.ZERO,D=r.ZERO,z=r.ZERO;const ee=e.a,U=r.mul(e.b,Ju);let q=r.mul(x,N),Q=r.mul(T,C),W=r.mul(O,j),I=r.add(x,T),L=r.add(N,C);I=r.mul(I,L),L=r.add(q,Q),I=r.sub(I,L),L=r.add(x,O);let X=r.add(N,j);return L=r.mul(L,X),X=r.add(q,W),L=r.sub(L,X),X=r.add(T,O),$=r.add(C,j),X=r.mul(X,$),$=r.add(Q,W),X=r.sub(X,$),z=r.mul(ee,L),$=r.mul(U,W),z=r.add($,z),$=r.sub(Q,z),z=r.add(Q,z),D=r.mul($,z),Q=r.add(q,q),Q=r.add(Q,q),W=r.mul(ee,W),L=r.mul(U,L),Q=r.add(Q,W),W=r.sub(q,W),W=r.mul(ee,W),L=r.add(L,W),q=r.mul(Q,L),D=r.add(D,q),q=r.mul(X,L),$=r.mul(I,$),$=r.sub($,q),q=r.mul(I,Q),z=r.mul(X,z),z=r.add(z,q),new g($,D,z)}subtract(w){return this.add(w.negate())}is0(){return this.equals(g.ZERO)}wNAF(w){return _.wNAFCached(this,w,g.normalizeZ)}multiplyUnsafe(w){const{endo:x,n:T}=e;vi("scalar",w,gn,T);const O=g.ZERO;if(w===gn)return O;if(this.is0()||w===ot)return this;if(!x||_.hasPrecomputes(this))return _.wNAFCachedUnsafe(this,w,g.normalizeZ);let{k1neg:N,k1:C,k2neg:j,k2:$}=x.splitScalar(w),D=O,z=O,ee=this;for(;C>gn||$>gn;)C&ot&&(D=D.add(ee)),$&ot&&(z=z.add(ee)),ee=ee.double(),C>>=ot,$>>=ot;return N&&(D=D.negate()),j&&(z=z.negate()),z=new g(r.mul(z.px,x.beta),z.py,z.pz),D.add(z)}multiply(w){const{endo:x,n:T}=e;vi("scalar",w,ot,T);let O,N;if(x){const{k1neg:C,k1:j,k2neg:$,k2:D}=x.splitScalar(w);let{p:z,f:ee}=this.wNAF(j),{p:U,f:q}=this.wNAF(D);z=_.constTimeNegate(C,z),U=_.constTimeNegate($,U),U=new g(r.mul(U.px,x.beta),U.py,U.pz),O=z.add(U),N=ee.add(q)}else{const{p:C,f:j}=this.wNAF(w);O=C,N=j}return g.normalizeZ([O,N])[0]}multiplyAndAddUnsafe(w,x,T){const O=g.BASE,N=(j,$)=>$===gn||$===ot||!j.equals(O)?j.multiplyUnsafe($):j.multiply($),C=N(this,x).add(N(w,T));return C.is0()?void 0:C}toAffine(w){return d(this,w)}isTorsionFree(){const{h:w,isTorsionFree:x}=e;if(w===ot)return!0;if(x)return x(g,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:w,clearCofactor:x}=e;return w===ot?this:x?x(g,this):this.multiplyUnsafe(e.h)}toRawBytes(w=!0){return Wo("isCompressed",w),this.assertValidity(),s(g,this,w)}toHex(w=!0){return Wo("isCompressed",w),Ko(this.toRawBytes(w))}}g.BASE=new g(e.Gx,e.Gy,r.ONE),g.ZERO=new g(r.ZERO,r.ONE,r.ZERO);const{endo:E,nBitLength:S}=e,_=h8(g,E?Math.ceil(S/2):S);return{CURVE:e,ProjectivePoint:g,normPrivateKeyToScalar:l,weierstrassEquation:o,isWithinCurveOrder:f}}function w8(t){const e=i1(t);return Wc(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function v8(t){const e=w8(t),{Fp:r,n,nByteLength:s,nBitLength:i}=e,o=r.BYTES+1,a=2*r.BYTES+1;function c(U){return Ct(U,n)}function u(U){return id(U,n)}const{ProjectivePoint:f,normPrivateKeyToScalar:l,weierstrassEquation:p,isWithinCurveOrder:d}=g8({...e,toBytes(U,q,Q){const W=q.toAffine(),I=r.toBytes(W.x),L=wc;return Wo("isCompressed",Q),Q?L(Uint8Array.from([q.hasEvenY()?2:3]),I):L(Uint8Array.from([4]),I,r.toBytes(W.y))},fromBytes(U){const q=U.length,Q=U[0],W=U.subarray(1);if(q===o&&(Q===2||Q===3)){const I=Os(W);if(!yh(I,ot,r.ORDER))throw new Error("Point is not on curve");const L=p(I);let X;try{X=r.sqrt(L)}catch(H){const ne=H instanceof Error?": "+H.message:"";throw new Error("Point is not on curve"+ne)}const B=(X&ot)===ot;return(Q&1)===1!==B&&(X=r.neg(X)),{x:I,y:X}}else if(q===a&&Q===4){const I=r.fromBytes(W.subarray(0,r.BYTES)),L=r.fromBytes(W.subarray(r.BYTES,2*r.BYTES));return{x:I,y:L}}else{const I=o,L=a;throw new Error("invalid Point, expected length of "+I+", or uncompressed "+L+", got "+q)}}});function b(U){const q=n>>ot;return U>q}function g(U){return b(U)?c(-U):U}const E=(U,q,Q)=>Os(U.slice(q,Q));class S{constructor(q,Q,W){vi("r",q,ot,n),vi("s",Q,ot,n),this.r=q,this.s=Q,W!=null&&(this.recovery=W),Object.freeze(this)}static fromCompact(q){const Q=s;return q=or("compactSignature",q,Q*2),new S(E(q,0,Q),E(q,Q,2*Q))}static fromDER(q){const{r:Q,s:W}=yn.toSig(or("DER",q));return new S(Q,W)}assertValidity(){}addRecoveryBit(q){return new S(this.r,this.s,q)}recoverPublicKey(q){const{r:Q,s:W,recovery:I}=this,L=O(or("msgHash",q));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");const X=I===2||I===3?Q+e.n:Q;if(X>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");const B=I&1?"03":"02",F=f.fromHex(B+Yu(X,r.BYTES)),H=u(X),ne=c(-L*H),se=c(W*H),fe=f.BASE.multiplyAndAddUnsafe(F,ne,se);if(!fe)throw new Error("point at infinify");return fe.assertValidity(),fe}hasHighS(){return b(this.s)}normalizeS(){return this.hasHighS()?new S(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return gc(this.toDERHex())}toDERHex(){return yn.hexFromSig(this)}toCompactRawBytes(){return gc(this.toCompactHex())}toCompactHex(){const q=s;return Yu(this.r,q)+Yu(this.s,q)}}const _={isValidPrivateKey(U){try{return l(U),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const U=r1(e.n);return f8(e.randomBytes(U),e.n)},precompute(U=8,q=f.BASE){return q._setWindowSize(U),q.multiply(BigInt(3)),q}};function A(U,q=!0){return f.fromPrivateKey(U).toRawBytes(q)}function w(U){if(typeof U=="bigint")return!1;if(U instanceof f)return!0;const Q=or("key",U).length,W=r.BYTES,I=W+1,L=2*W+1;if(!(e.allowedPrivateKeyLengths||s===I))return Q===I||Q===L}function x(U,q,Q=!0){if(w(U)===!0)throw new Error("first arg must be private key");if(w(q)===!1)throw new Error("second arg must be public key");return f.fromHex(q).multiply(l(U)).toRawBytes(Q)}const T=e.bits2int||function(U){if(U.length>8192)throw new Error("input is too large");const q=Os(U),Q=U.length*8-i;return Q>0?q>>BigInt(Q):q},O=e.bits2int_modN||function(U){return c(T(U))},N=qc(i);function C(U){return vi("num < 2^"+i,U,gn,N),ga(U,s)}function j(U,q,Q=$){if(["recovered","canonical"].some(ae=>ae in Q))throw new Error("sign() legacy options not supported");const{hash:W,randomBytes:I}=e;let{lowS:L,prehash:X,extraEntropy:B}=Q;L==null&&(L=!0),U=or("msgHash",U),h0(Q),X&&(U=or("prehashed msgHash",W(U)));const F=O(U),H=l(q),ne=[C(H),C(F)];if(B!=null&&B!==!1){const ae=B===!0?I(r.BYTES):B;ne.push(or("extraEntropy",ae))}const se=wc(...ne),fe=F;function oe(ae){const ue=T(ae);if(!d(ue))return;const de=u(ue),we=f.BASE.multiply(ue).toAffine(),pe=c(we.x);if(pe===gn)return;const ge=c(de*c(fe+pe*H));if(ge===gn)return;let Fe=(we.x===pe?0:2)|Number(we.y&ot),it=ge;return L&&b(ge)&&(it=g(ge),Fe^=1),new S(pe,it,Fe)}return{seed:se,k2sig:oe}}const $={lowS:e.lowS,prehash:!1},D={lowS:e.lowS,prehash:!1};function z(U,q,Q=$){const{seed:W,k2sig:I}=j(U,q,Q),L=e;return yE(L.hash.outputLen,L.nByteLength,L.hmac)(W,I)}f.BASE._setWindowSize(8);function ee(U,q,Q,W=D){var Fe;const I=U;q=or("msgHash",q),Q=or("publicKey",Q);const{lowS:L,prehash:X,format:B}=W;if(h0(W),"strict"in W)throw new Error("options.strict was renamed to lowS");if(B!==void 0&&B!=="compact"&&B!=="der")throw new Error("format must be compact or der");const F=typeof I=="string"||ba(I),H=!F&&!B&&typeof I=="object"&&I!==null&&typeof I.r=="bigint"&&typeof I.s=="bigint";if(!F&&!H)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ne,se;try{if(H&&(ne=new S(I.r,I.s)),F){try{B!=="compact"&&(ne=S.fromDER(I))}catch(it){if(!(it instanceof yn.Err))throw it}!ne&&B!=="der"&&(ne=S.fromCompact(I))}se=f.fromHex(Q)}catch{return!1}if(!ne||L&&ne.hasHighS())return!1;X&&(q=e.hash(q));const{r:fe,s:oe}=ne,ae=O(q),ue=u(oe),de=c(ae*ue),we=c(fe*ue),pe=(Fe=f.BASE.multiplyAndAddUnsafe(se,de,we))==null?void 0:Fe.toAffine();return pe?c(pe.x)===fe:!1}return{CURVE:e,getPublicKey:A,getSharedSecret:x,sign:z,verify:ee,ProjectivePoint:f,Signature:S,utils:_}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function E8(t){return{hash:t,hmac:(e,...r)=>Kg(t,e,Bv(...r)),randomBytes:Rv}}function A8(t,e){const r=n=>v8({...t,...E8(n)});return{...r(e),create:r}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const o1=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),p0=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),S8=BigInt(0),x8=BigInt(1),ad=BigInt(2),y0=(t,e)=>(t+e/ad)/e;function k8(t){const e=o1,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=nr(f,r,e)*f%e,p=nr(l,r,e)*f%e,d=nr(p,ad,e)*u%e,b=nr(d,s,e)*d%e,g=nr(b,i,e)*b%e,E=nr(g,a,e)*g%e,S=nr(E,c,e)*E%e,_=nr(S,a,e)*g%e,A=nr(_,r,e)*f%e,w=nr(A,o,e)*b%e,x=nr(w,n,e)*u%e,T=nr(x,ad,e);if(!cd.eql(cd.sqr(T),t))throw new Error("Cannot find square root");return T}const cd=Rh(o1,void 0,void 0,{sqrt:k8}),a1=A8({a:S8,b:BigInt(7),Fp:cd,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=-x8*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=r,o=BigInt("0x100000000000000000000000000000000"),a=y0(i*t,e),c=y0(-n*t,e);let u=Ct(t-a*r-c*s,e),f=Ct(-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}}}},Ob),T8=Object.freeze(Object.defineProperty({__proto__:null,secp256k1:a1},Symbol.toStringTag,{value:"Module"}));function c1(t,e={}){const{recovered:r}=e;if(typeof t.r>"u")throw new Xu({signature:t});if(typeof t.s>"u")throw new Xu({signature:t});if(r&&typeof t.yParity>"u")throw new Xu({signature:t});if(t.r<0n||t.r>a0)throw new R8({value:t.r});if(t.s<0n||t.s>a0)throw new N8({value:t.s});if(typeof t.yParity=="number"&&t.yParity!==0&&t.yParity!==1)throw new Uh({value:t.yParity})}function P8(t){return u1(Br(t))}function u1(t){if(t.length!==130&&t.length!==132)throw new C8({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 Nh(s)}catch{throw new Uh({value:s})}})();return typeof n>"u"?{r:e,s:r}:{r:e,s:r,yParity:n}}function _8(t){if(!(typeof t.r>"u")&&!(typeof t.s>"u"))return I8(t)}function I8(t){const e=typeof t=="string"?u1(t):t instanceof Uint8Array?P8(t):typeof t.r=="string"?B8(t):t.v?O8(t):{r:t.r,s:t.s,...typeof t.yParity<"u"?{yParity:t.yParity}:{}};return c1(e),e}function O8(t){return{r:t.r,s:t.s,yParity:Nh(t.v)}}function B8(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=Nh(r)),typeof n!="number")throw new Uh({value:t.yParity});return n})();return{r:BigInt(t.r),s:BigInt(t.s),yParity:e}}function Nh(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 U8({value:t})}class C8 extends ce{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${Zt(LE(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class Xu extends ce{constructor({signature:e}){super(`Signature \`${Wb(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class R8 extends ce{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 N8 extends ce{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 Uh extends ce{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 U8 extends ce{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 F8(t,e={}){return typeof t.chainId=="string"?M8(t):{...t,...e.signature}}function M8(t){const{address:e,chainId:r,nonce:n}=t,s=_8(t);return{address:e,chainId:Number(r),nonce:BigInt(n),...s}}const $8="0x8010801080108010801080108010801080108010801080108010801080108010",j8=Vg("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function f1(t){if(typeof t=="string"){if(Yr(t,-32)!==$8)throw new D8(t)}else c1(t.authorization)}function L8(t){f1(t);const e=Zb(Yr(t,-64,-32)),r=Yr(t,-e-64,-64),n=Yr(t,0,-e-64),[s,i,o]=ZS(j8,r);return{authorization:F8({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 H8(t){try{return f1(t),!0}catch{return!1}}let D8=class extends ce{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 z8(t){return t.map(e=>({...e,value:BigInt(e.value)}))}function V8(t){return{...t,balance:t.balance?BigInt(t.balance):void 0,nonce:t.nonce?dr(t.nonce):void 0,storageProof:t.storageProof?z8(t.storageProof):void 0}}async function G8(t,{address:e,blockNumber:r,blockTag:n,storageKeys:s}){const i=n??"latest",o=r!==void 0?J(r):void 0,a=await t.request({method:"eth_getProof",params:[e,s,o||i]});return V8(a)}async function q8(t,{address:e,blockNumber:r,blockTag:n="latest",slot:s}){const i=r!==void 0?J(r):void 0;return await t.request({method:"eth_getStorageAt",params:[e,s,i||n]})}async function Fh(t,{blockHash:e,blockNumber:r,blockTag:n,hash:s,index:i,sender:o,nonce:a}){var p,d,b;const c=n||"latest",u=r!==void 0?J(r):void 0;let f=null;if(s?f=await t.request({method:"eth_getTransactionByHash",params:[s]},{dedupe:!0}):e?f=await t.request({method:"eth_getTransactionByBlockHashAndIndex",params:[e,J(i)]},{dedupe:!0}):typeof i=="number"?f=await t.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[u||c,J(i)]},{dedupe:!!u}):o&&typeof a=="number"&&(f=await t.request({method:"eth_getTransactionBySenderAndNonce",params:[o,J(a)]},{dedupe:!0})),!f)throw new mb({blockHash:e,blockNumber:r,blockTag:c,hash:s,index:i});return(((b=(d=(p=t.chain)==null?void 0:p.formatters)==null?void 0:d.transaction)==null?void 0:b.format)||ya)(f,"getTransaction")}async function W8(t,{hash:e,transactionReceipt:r}){const[n,s]=await Promise.all([re(t,Ea,"getBlockNumber")({}),e?re(t,Fh,"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 rc(t,{hash:e}){var s,i,o;const r=await t.request({method:"eth_getTransactionReceipt",params:[e]},{dedupe:!0});if(!r)throw new bb({hash:e});return(((o=(i=(s=t.chain)==null?void 0:s.formatters)==null?void 0:i.transactionReceipt)==null?void 0:o.format)||Ah)(r,"getTransactionReceipt")}async function K8(t,e){var _;const{account:r,authorizationList:n,allowFailure:s=!0,blockNumber:i,blockOverrides:o,blockTag:a,stateOverride:c}=e,u=e.contracts,{batchSize:f=e.batchSize??1024,deployless:l=e.deployless??!1}=typeof((_=t.batch)==null?void 0:_.multicall)=="object"?t.batch.multicall:{},p=(()=>{if(e.multicallAddress)return e.multicallAddress;if(l)return null;if(t.chain)return Gi({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),d=[[]];let b=0,g=0;for(let A=0;A<u.length;A++){const{abi:w,address:x,args:T,functionName:O}=u[A];try{const N=er({abi:w,args:T,functionName:O});g+=(N.length-2)/2,f>0&&g>f&&d[b].length>0&&(b++,g=(N.length-2)/2,d[b]=[]),d[b]=[...d[b],{allowFailure:!0,callData:N,target:x}]}catch(N){const C=js(N,{abi:w,address:x,args:T,docsPath:"/docs/contract/multicall",functionName:O,sender:r});if(!s)throw C;d[b]=[...d[b],{allowFailure:!0,callData:"0x",target:x}]}}const E=await Promise.allSettled(d.map(A=>re(t,hr,"readContract")({...p===null?{code:bh}:{address:p},abi:vc,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 x=w.value;for(let T=0;T<x.length;T++){const{returnData:O,success:N}=x[T],{callData:C}=d[A][T],{abi:j,address:$,functionName:D,args:z}=u[S.length];try{if(C==="0x")throw new ca;if(!N)throw new Hc({data:O});const ee=Js({abi:j,args:z,data:O,functionName:D});S.push(s?{result:ee,status:"success"}:ee)}catch(ee){const U=js(ee,{abi:j,address:$,args:z,docsPath:"/docs/contract/multicall",functionName:D});if(!s)throw U;S.push({error:U,result:void 0,status:"failure"})}}}if(S.length!==u.length)throw new V("multicall results mismatch");return S}async function ud(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?tg(p.blockOverrides):void 0,b=p.calls.map(E=>{const S=E,_=S.account?Ue(S.account):void 0,A=S.abi?er(S):S.data,w={...S,account:_,data:S.dataSuffix?Xt([A||"0x",S.dataSuffix]):A,from:S.from??(_==null?void 0:_.address)};return Cn(w),ls(w)}),g=p.stateOverrides?Zd(p.stateOverrides):void 0;c.push({blockOverrides:d,calls:b,stateOverrides:g})}const f=(typeof r=="bigint"?J(r):void 0)||n;return(await t.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:i,traceTransfers:o,validation:a},f]})).map((p,d)=>({...eh(p),calls:p.calls.map((b,g)=>{var j,$;const{abi:E,args:S,functionName:_,to:A}=s[d].calls[g],w=((j=b.error)==null?void 0:j.data)??b.returnData,x=BigInt(b.gasUsed),T=($=b.logs)==null?void 0:$.map(D=>Tn(D)),O=b.status==="0x1"?"success":"failure",N=E&&O==="success"&&w!=="0x"?Js({abi:E,data:w,functionName:_}):null,C=(()=>{var z;if(O==="success")return;let D;if(((z=b.error)==null?void 0:z.data)==="0x"?D=new ca:b.error&&(D=new Hc(b.error)),!!D)return js(D,{abi:E??[],address:A??"0x",args:S,functionName:_??"<unknown>"})})();return{data:w,gasUsed:x,logs:T,status:O,...O==="success"?{result:N}:{error:C}}})}))}catch(c){const u=c,f=zc(u,{});throw f instanceof pa?u:f}}function fd(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 ce("Unable to normalize signature.");return s}function ld(t,e){const r=typeof t,n=e.type;switch(n){case"address":return rd(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)=>ld(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=>ld(s,{...e,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function l1(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 l1(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")?rd(r[n],{strict:!1}):o.includes("address")&&o.includes("bytes")?rd(r[n],{strict:!1}):!1)return o}}function d1(t,e={}){const{prepare:r=!0}=e,n=Array.isArray(t)||typeof t=="string"?Sp(t):t;return{...n,...r?{hash:mi(n)}:{}}}function ru(t,e,r){const{args:n=[],prepare:s=!0}=r??{},i=HE(e,{strict:!1}),o=t.filter(u=>i?u.type==="function"||u.type==="error"?h1(u)===Yr(e,0,4):u.type==="event"?mi(u)===e:!1:"name"in u&&u.name===e);if(o.length===0)throw new Ac({name:e});if(o.length===1)return{...o[0],...s?{hash:mi(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:mi(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?ld(l,d):!1})){if(a&&"inputs"in a&&a.inputs){const l=l1(u.inputs,a.inputs,n);if(l)throw new J8({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 Ac({name:e});return{...c,...s?{hash:mi(c)}:{}}}function h1(...t){const e=(()=>{if(Array.isArray(t[0])){const[r,n]=t;return ru(r,n)}return t[0]})();return Yr(mi(e),0,4)}function Y8(...t){const e=(()=>{if(Array.isArray(t[0])){const[n,s]=t;return ru(n,s)}return t[0]})(),r=typeof e=="string"?e:yc(e);return fd(r)}function mi(...t){const e=(()=>{if(Array.isArray(t[0])){const[r,n]=t;return ru(r,n)}return t[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:Hg(mh(Y8(e)))}class J8 extends ce{constructor(e,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${fd(yc(e.abiItem))}\`, and`,`\`${r.type}\` in \`${fd(yc(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 Ac extends ce{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 X8(...t){var i;const[e,r]=(()=>{if(Array.isArray(t[0])){const[o,a]=t;return[Q8(o),a]}return t})(),{bytecode:n,args:s}=r;return Or(n,(i=e.inputs)!=null&&i.length&&(s!=null&&s.length)?Bh(e.inputs,s):"0x")}function Z8(t){return d1(t)}function Q8(t){const e=t.find(r=>r.type==="constructor");if(!e)throw new Ac({name:"constructor"});return e}function ex(...t){const[e,r=[]]=(()=>{if(Array.isArray(t[0])){const[u,f,l]=t;return[m0(u,f,{args:l}),l]}const[a,c]=t;return[a,c]})(),{overloads:n}=e,s=n?m0([e,...n],e.name,{args:r}):e,i=tx(s),o=r.length>0?Bh(s.inputs,r):void 0;return o?Or(i,o):i}function ni(t,e={}){return d1(t,e)}function m0(t,e,r){const n=ru(t,e,r);if(n.type!=="function")throw new Ac({name:e,type:"function"});return n}function tx(t){return h1(t)}const rx="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",Fr="0x0000000000000000000000000000000000000000",nx="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function sx(t,e){const{blockNumber:r,blockTag:n,calls:s,stateOverrides:i,traceAssetChanges:o,traceTransfers:a,validation:c}=e,u=e.account?Ue(e.account):void 0;if(o&&!u)throw new V("`account` is required when `traceAssetChanges` is true");const f=u?X8(Z8("constructor(bytes, bytes)"),{bytecode:ig,args:[nx,ex(ni("function getBalance(address)"),[u.address])]}):void 0,l=o?await Promise.all(e.calls.map(async W=>{if(!W.data&&!W.abi)return;const{accessList:I}=await kg(t,{account:u.address,...W,data:W.abi?er(W):W.data});return I.map(({address:L,storageKeys:X})=>X.length>0?L:null)})).then(W=>W.flat().filter(Boolean)):[],p=await ud(t,{blockNumber:r,blockTag:n,blocks:[...o?[{calls:[{data:f}],stateOverrides:i},{calls:l.map((W,I)=>({abi:[ni("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:W,from:Fr,nonce:I})),stateOverrides:[{address:Fr,nonce:0}]}]:[],{calls:[...s,{}].map(W=>({...W,from:u==null?void 0:u.address})),stateOverrides:i},...o?[{calls:[{data:f}]},{calls:l.map((W,I)=>({abi:[ni("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:W,from:Fr,nonce:I})),stateOverrides:[{address:Fr,nonce:0}]},{calls:l.map((W,I)=>({to:W,abi:[ni("function decimals() returns (uint256)")],functionName:"decimals",from:Fr,nonce:I})),stateOverrides:[{address:Fr,nonce:0}]},{calls:l.map((W,I)=>({to:W,abi:[ni("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:Fr,nonce:I})),stateOverrides:[{address:Fr,nonce:0}]},{calls:l.map((W,I)=>({to:W,abi:[ni("function symbol() returns (string)")],functionName:"symbol",from:Fr,nonce:I})),stateOverrides:[{address:Fr,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=o?p[2]:p[0],[b,g,,E,S,_,A,w]=o?p:[],{calls:x,...T}=d,O=x.slice(0,-1)??[],N=(b==null?void 0:b.calls)??[],C=(g==null?void 0:g.calls)??[],j=[...N,...C].map(W=>W.status==="success"?at(W.data):null),$=(E==null?void 0:E.calls)??[],D=(S==null?void 0:S.calls)??[],z=[...$,...D].map(W=>W.status==="success"?at(W.data):null),ee=((_==null?void 0:_.calls)??[]).map(W=>W.status==="success"?W.result:null),U=((w==null?void 0:w.calls)??[]).map(W=>W.status==="success"?W.result:null),q=((A==null?void 0:A.calls)??[]).map(W=>W.status==="success"?W.result:null),Q=[];for(const[W,I]of z.entries()){const L=j[W];if(typeof I!="bigint"||typeof L!="bigint")continue;const X=ee[W-1],B=U[W-1],F=q[W-1],H=W===0?{address:rx,decimals:18,symbol:"ETH"}:{address:l[W-1],decimals:F||X?Number(X??1):void 0,symbol:B??void 0};Q.some(ne=>ne.token.address===H.address)||Q.push({token:H,value:{pre:L,post:I,diff:I-L}})}return{assetChanges:Q,block:T,results:O}}const p1="0x6492649264926492649264926492649264926492649264926492649264926492";function ix(t){if(Yr(t,-32)!==p1)throw new cx(t)}function ox(t){const{data:e,signature:r,to:n}=t;return Or(Bh(Vg("address, bytes, bytes"),[n,e,r]),p1)}function ax(t){try{return ix(t),!0}catch{return!1}}class cx extends ce{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}function ux({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 a1.Signature(at(t),at(e)).toCompactHex()}${i===0?"1b":"1c"}`;return r==="hex"?o:Xr(o)}async function nu(t,e){var c,u,f,l;const{address:r,chain:n=t.chain,hash:s,erc6492VerifierAddress:i=e.universalSignatureVerifierAddress??((u=(c=n==null?void 0:n.contracts)==null?void 0:c.erc6492Verifier)==null?void 0:u.address),multicallAddress:o=e.multicallAddress??((l=(f=n==null?void 0:n.contracts)==null?void 0:f.multicall3)==null?void 0:l.address)}=e;if(n!=null&&n.verifyHash)return await n.verifyHash(t,e);const a=(()=>{const p=e.signature;return _r(p)?p:typeof p=="object"&&"r"in p&&"s"in p?ux(p):Ze(p)})();try{return H8(a)?await fx(t,{...e,multicallAddress:o,signature:a}):await lx(t,{...e,verifierAddress:i,signature:a})}catch(p){try{if(Vi(zd(r),await Eb({hash:s,signature:a})))return!0}catch{}if(p instanceof zs)return!1;throw p}}async function fx(t,e){var E;const{address:r,blockNumber:n,blockTag:s,hash:i,multicallAddress:o}=e,{authorization:a,data:c,signature:u,to:f}=L8(e.signature);if(await td(t,{address:r,blockNumber:n,blockTag:s})===Rr(["0xef0100",a.address]))return await dx(t,{address:r,blockNumber:n,blockTag:s,hash:i,signature:u});const p={address:a.address,chainId:Number(a.chainId),nonce:Number(a.nonce),r:J(a.r,{size:32}),s:J(a.s,{size:32}),yParity:a.yParity};if(!await ZA({address:r,authorization:p}))throw new zs;const b=await re(t,hr,"readContract")({...o?{address:o}:{code:bh},authorizationList:[p],abi:vc,blockNumber:n,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:f??r,callData:c}]:[],{allowFailure:!0,target:r,callData:er({abi:sg,functionName:"isValidSignature",args:[i,u]})}]]}),g=(E=b[b.length-1])==null?void 0:E.returnData;if(g!=null&&g.startsWith("0x1626ba7e"))return!0;throw new zs}async function lx(t,e){const{address:r,factory:n,factoryData:s,hash:i,signature:o,verifierAddress:a,...c}=e,u=await(async()=>!n&&!s||ax(o)?o:ox({data:s,signature:o,to:n}))(),f=a?{to:a,data:er({abi:e0,functionName:"isValidSig",args:[r,i,u]}),...c}:{data:Jc({abi:e0,args:[r,i,u],bytecode:KE}),...c},{data:l}=await re(t,va,"call")(f).catch(p=>{throw p instanceof wb?new zs:p});if(dv(l??"0x0"))return!0;throw new zs}async function dx(t,e){const{address:r,blockNumber:n,blockTag:s,hash:i,signature:o}=e;if((await re(t,hr,"readContract")({address:r,abi:sg,args:[i,o],blockNumber:n,blockTag:s,functionName:"isValidSignature"}).catch(c=>{throw c instanceof vb?new zs:c})).startsWith("0x1626ba7e"))return!0;throw new zs}class zs extends Error{}async function hx(t,{address:e,message:r,factory:n,factoryData:s,signature:i,...o}){const a=Ng(r);return re(t,nu,"verifyHash")({address:e,factory:n,factoryData:s,hash:a,signature:i,...o})}async function px(t,e){const{address:r,factory:n,factoryData:s,signature:i,message:o,primaryType:a,types:c,domain:u,...f}=e,l=AS({message:o,primaryType:a,types:c,domain:u});return re(t,nu,"verifyHash")({address:r,factory:n,factoryData:s,hash:l,signature:i,...f})}function y1(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=Xe(["watchBlockNumber",t.uid,e,r,o]);return Pn(l,{onBlockNumber:n,onError:s},p=>qi(async()=>{var d;try{const b=await re(t,Ea,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(b===c)return;if(b-c>1&&r)for(let g=c+1n;g<b;g++)p.onBlockNumber(g,c),c=g}(c===void 0||b>c)&&(p.onBlockNumber(b,c),c=b)}catch(b){(d=p.onError)==null||d.call(p,b)}},{emitOnBegin:e,interval:o}))})():(()=>{const l=Xe(["watchBlockNumber",t.uid,e,r]);return Pn(l,{onBlockNumber:n,onError:s},p=>{let d=!0,b=()=>d=!1;return(async()=>{try{const g=(()=>{if(t.transport.type==="fallback"){const S=t.transport.transports.find(_=>_.config.type==="webSocket"||_.config.type==="ipc");return S?S.value:t.transport}return t.transport})(),{unsubscribe:E}=await g.subscribe({params:["newHeads"],onData(S){var A;if(!d)return;const _=at((A=S.result)==null?void 0:A.number);p.onBlockNumber(_,c),c=_},onError(S){var _;(_=p.onError)==null||_.call(p,S)}});b=E,d||b()}catch(g){s==null||s(g)}})(),()=>b()})})()}async function m1(t,e){const{checkReplacement:r=!0,confirmations:n=1,hash:s,onReplaced:i,retryCount:o=6,retryDelay:a=({count:x})=>~~(1<<x)*200,timeout:c=18e4}=e,u=Xe(["waitForTransactionReceipt",t.uid,s]),f=(()=>{var x;return e.pollingInterval?e.pollingInterval:(x=t.chain)!=null&&x.experimental_preconfirmationTime?t.chain.experimental_preconfirmationTime:t.pollingInterval})();let l,p,d,b=!1,g,E;const{promise:S,resolve:_,reject:A}=gh(),w=c?setTimeout(()=>{E==null||E(),g==null||g(),A(new _5({hash:s}))},c):void 0;return g=Pn(u,{onReplaced:i,resolve:_,reject:A},async x=>{if(d=await re(t,rc,"getTransactionReceipt")({hash:s}).catch(()=>{}),d&&n<=1){clearTimeout(w),x.resolve(d),g==null||g();return}E=re(t,y1,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:f,async onBlockNumber(T){const O=C=>{clearTimeout(w),E==null||E(),C(),g==null||g()};let N=T;if(!b)try{if(d){if(n>1&&(!d.blockNumber||N-d.blockNumber+1n<n))return;O(()=>x.resolve(d));return}if(r&&!l&&(b=!0,await Ec(async()=>{l=await re(t,Fh,"getTransaction")({hash:s}),l.blockNumber&&(N=l.blockNumber)},{delay:a,retryCount:o}),b=!1),d=await re(t,rc,"getTransactionReceipt")({hash:s}),n>1&&(!d.blockNumber||N-d.blockNumber+1n<n))return;O(()=>x.resolve(d))}catch(C){if(C instanceof mb||C instanceof bb){if(!l){b=!1;return}try{p=l,b=!0;const j=await Ec(()=>re(t,Sr,"getBlock")({blockNumber:N,includeTransactions:!0}),{delay:a,retryCount:o,shouldRetry:({error:z})=>z instanceof kb});b=!1;const $=j.transactions.find(({from:z,nonce:ee})=>z===p.from&&ee===p.nonce);if(!$||(d=await re(t,rc,"getTransactionReceipt")({hash:$.hash}),n>1&&(!d.blockNumber||N-d.blockNumber+1n<n)))return;let D="replaced";$.to===p.to&&$.value===p.value&&$.input===p.input?D="repriced":$.from===$.to&&$.value===0n&&(D="cancelled"),O(()=>{var z;(z=x.onReplaced)==null||z.call(x,{reason:D,replacedTransaction:p,transaction:$,transactionReceipt:d}),x.resolve(d)})}catch(j){O(()=>x.reject(j))}}else O(()=>x.reject(C))}}})}),S}function yx(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 b=Xe(["watchBlocks",t.uid,e,r,n,f,c]);return Pn(b,{onBlock:s,onError:i},g=>qi(async()=>{var E;try{const S=await re(t,Sr,"getBlock")({blockTag:e,includeTransactions:f});if(S.number!==null&&(l==null?void 0:l.number)!=null){if(S.number===l.number)return;if(S.number-l.number>1&&r)for(let _=(l==null?void 0:l.number)+1n;_<S.number;_++){const A=await re(t,Sr,"getBlock")({blockNumber:_,includeTransactions:f});g.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)&&(g.onBlock(S,l),l=S)}catch(S){(E=g.onError)==null||E.call(g,S)}},{emitOnBegin:n,interval:c}))})():(()=>{let b=!0,g=!0,E=()=>b=!1;return(async()=>{try{n&&re(t,Sr,"getBlock")({blockTag:e,includeTransactions:f}).then(A=>{b&&g&&(s(A,void 0),g=!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:_}=await S.subscribe({params:["newHeads"],async onData(A){var x;if(!b)return;const w=await re(t,Sr,"getBlock")({blockNumber:(x=A.result)==null?void 0:x.number,includeTransactions:f}).catch(()=>{});b&&(s(w,l),g=!1,l=w)},onError(A){i==null||i(A)}});E=_,b||E()}catch(S){i==null||i(S)}})(),()=>E()})()}function mx(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=Xe(["watchEvent",e,r,n,t.uid,s,f,o]);return Pn(E,{onLogs:c,onError:a},S=>{let _;o!==void 0&&(_=o-1n);let A,w=!1;const x=qi(async()=>{var T;if(!w){try{A=await re(t,Tg,"createEventFilter")({address:e,args:r,event:s,events:i,strict:d,fromBlock:o})}catch{}w=!0;return}try{let O;if(A)O=await re(t,Xc,"getFilterChanges")({filter:A});else{const N=await re(t,Ea,"getBlockNumber")({});_&&_!==N?O=await re(t,lh,"getLogs")({address:e,args:r,event:s,events:i,fromBlock:_+1n,toBlock:N}):O=[],_=N}if(O.length===0)return;if(n)S.onLogs(O);else for(const N of O)S.onLogs([N])}catch(O){A&&O instanceof os&&(w=!1),(T=S.onError)==null||T.call(S,O)}},{emitOnBegin:!0,interval:f});return async()=>{A&&await re(t,Zc,"uninstallFilter")({filter:A}),x()}})})():(()=>{let E=!0,S=()=>E=!1;return(async()=>{try{const _=(()=>{if(t.transport.type==="fallback"){const T=t.transport.transports.find(O=>O.config.type==="webSocket"||O.config.type==="ipc");return T?T.value:t.transport}return t.transport})(),A=i??(s?[s]:void 0);let w=[];A&&(w=[A.flatMap(O=>la({abi:[O],eventName:O.name,args:r}))],s&&(w=w[0]));const{unsubscribe:x}=await _.subscribe({params:["logs",{address:e,topics:w}],onData(T){var N;if(!E)return;const O=T.result;try{const{eventName:C,args:j}=bc({abi:A??[],data:O.data,topics:O.topics,strict:d}),$=Tn(O,{args:j,eventName:C});c([$])}catch(C){let j,$;if(C instanceof mc||C instanceof Ld){if(l)return;j=C.abiItem.name,$=(N=C.abiItem.inputs)==null?void 0:N.some(z=>!("name"in z&&z.name))}const D=Tn(O,{args:$?[]:{},eventName:j});c([D])}},onError(T){a==null||a(T)}});S=x,E||S()}catch(_){a==null||a(_)}})(),()=>S()})()}function bx(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=Xe(["watchPendingTransactions",t.uid,e,i]);return Pn(u,{onTransactions:n,onError:r},f=>{let l;const p=qi(async()=>{var d;try{if(!l)try{l=await re(t,Pg,"createPendingTransactionFilter")({});return}catch(g){throw p(),g}const b=await re(t,Xc,"getFilterChanges")({filter:l});if(b.length===0)return;if(e)f.onTransactions(b);else for(const g of b)f.onTransactions([g])}catch(b){(d=f.onError)==null||d.call(f,b)}},{emitOnBegin:!0,interval:i});return async()=>{l&&await re(t,Zc,"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 gx(t){var l,p,d;const{scheme:e,statement:r,...n}=((l=t.match(wx))==null?void 0:l.groups)??{},{chainId:s,expirationTime:i,issuedAt:o,notBefore:a,requestId:c,...u}=((p=t.match(vx))==null?void 0:p.groups)??{},f=(d=t.split("Resources:")[1])==null?void 0:d.split(`
|
|
44
|
+
- `).slice(1);return{...n,...u,...s?{chainId:Number(s)}:{},...i?{expirationTime:new Date(i)}:{},...o?{issuedAt:new Date(o)}:{},...a?{notBefore:new Date(a)}:{},...c?{requestId:c}:{},...f?{resources:f}:{},...e?{scheme:e}:{},...r?{statement:r}:{}}}const wx=/^(?:(?<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)?/,vx=/(?: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 Ex(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||!st(n.address,{strict:!1})||e&&!Vi(n.address,e))return!1}catch{return!1}return!0}async function Ax(t,e){const{address:r,domain:n,message:s,nonce:i,scheme:o,signature:a,time:c=new Date,...u}=e,f=gx(s);if(!f.address||!Ex({address:r,domain:n,message:f,nonce:i,scheme:o,time:c}))return!1;const p=Ng(s);return nu(t,{address:f.address,hash:p,signature:a,...u})}async function Mh(t,{serializedTransaction:e,throwOnReceiptRevert:r,timeout:n}){var a,c,u;const s=await t.request({method:"eth_sendRawTransactionSync",params:n?[e,J(n)]:[e]},{retryCount:0}),o=(((u=(c=(a=t.chain)==null?void 0:a.formatters)==null?void 0:c.transactionReceipt)==null?void 0:u.format)||Ah)(s);if(o.status==="reverted"&&r)throw new gb({receipt:o});return o}function Sx(t){return{call:e=>va(t,e),createAccessList:e=>kg(t,e),createBlockFilter:()=>BA(t),createContractEventFilter:e=>Wd(t,e),createEventFilter:e=>Tg(t,e),createPendingTransactionFilter:()=>Pg(t),estimateContractGas:e=>jb(t,e),estimateGas:e=>uh(t,e),getBalance:e=>CA(t,e),getBlobBaseFee:()=>RA(t),getBlock:e=>Sr(t,e),getBlockNumber:e=>Ea(t,e),getBlockTransactionCount:e=>NA(t,e),getBytecode:e=>td(t,e),getChainId:()=>ds(t),getCode:e=>td(t,e),getContractEvents:e=>dh(t,e),getEip712Domain:e=>FA(t,e),getEnsAddress:e=>yA(t,e),getEnsAvatar:e=>_A(t,e),getEnsName:e=>IA(t,e),getEnsResolver:e=>OA(t,e),getEnsText:e=>xg(t,e),getFeeHistory:e=>jA(t,e),estimateFeesPerGas:e=>J5(t,e),getFilterChanges:e=>Xc(t,e),getFilterLogs:e=>LA(t,e),getGasPrice:()=>th(t),getLogs:e=>lh(t,e),getProof:e=>G8(t,e),estimateMaxPriorityFeePerGas:e=>Y5(t,e),fillTransaction:e=>ah(t,e),getStorageAt:e=>q8(t,e),getTransaction:e=>Fh(t,e),getTransactionConfirmations:e=>W8(t,e),getTransactionCount:e=>rh(t,e),getTransactionReceipt:e=>rc(t,e),multicall:e=>K8(t,e),prepareTransactionRequest:e=>ma(t,e),readContract:e=>hr(t,e),sendRawTransaction:e=>vh(t,e),sendRawTransactionSync:e=>Mh(t,e),simulate:e=>ud(t,e),simulateBlocks:e=>ud(t,e),simulateCalls:e=>sx(t,e),simulateContract:e=>fg(t,e),verifyHash:e=>nu(t,e),verifyMessage:e=>hx(t,e),verifySiweMessage:e=>Ax(t,e),verifyTypedData:e=>px(t,e),uninstallFilter:e=>Zc(t,e),waitForTransactionReceipt:e=>m1(t,e),watchBlocks:e=>yx(t,e),watchBlockNumber:e=>y1(t,e),watchContractEvent:e=>lg(t,e),watchEvent:e=>mx(t,e),watchPendingTransactions:e=>bx(t,e)}}function xx(t){const{key:e="public",name:r="Public Client"}=t;return wg({...t,key:e,name:r,type:"publicClient"}).extend(Sx)}async function kx(t,{chain:e}){const{id:r,name:n,nativeCurrency:s,rpcUrls:i,blockExplorers:o}=e;await t.request({method:"wallet_addEthereumChain",params:[{chainId:J(r),chainName:n,nativeCurrency:s,rpcUrls:i.default.http,blockExplorerUrls:o?Object.values(o).map(({url:a})=>a):void 0}]},{dedupe:!0,retryCount:0})}function Tx(t,e){const{abi:r,args:n,bytecode:s,...i}=e,o=Jc({abi:r,args:n,bytecode:s});return Qc(t,{...i,...i.authorizationList?{to:null}:{},data:o})}async function Px(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=>ua(n))}async function _x(t,e={}){const{account:r=t.account,chainId:n}=e,s=r?Ue(r):void 0,i=n?[s==null?void 0:s.address,[J(n)]]:[s==null?void 0:s.address],o=await t.request({method:"wallet_getCapabilities",params:i}),a={};for(const[c,u]of Object.entries(o)){a[Number(c)]={};for(let[f,l]of Object.entries(u))f==="addSubAccount"&&(f="unstable_addSubAccount"),a[Number(c)][f]=l}return typeof n=="number"?a[n]:a}async function Ix(t){return await t.request({method:"wallet_getPermissions"},{dedupe:!0})}async function b1(t,e){var c;const{account:r=t.account,chainId:n,nonce:s}=e;if(!r)throw new hs({docsPath:"/docs/eip7702/prepareAuthorization"});const i=Ue(r),o=(()=>{if(e.executor)return e.executor==="self"?e.executor:Ue(e.executor)})(),a={address:e.contractAddress??e.address,chainId:n,nonce:s};return typeof a.chainId>"u"&&(a.chainId=((c=t.chain)==null?void 0:c.id)??await re(t,ds,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await re(t,rh,"getTransactionCount")({address:i.address,blockTag:"pending"}),(o==="self"||o!=null&&o.address&&Vi(o.address,i.address))&&(a.nonce+=1)),a}async function Ox(t){return(await t.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>zd(r))}async function Bx(t,e){return t.request({method:"wallet_requestPermissions",params:[e]},{retryCount:0})}async function Cx(t,e){const{chain:r=t.chain}=e,n=e.timeout??Math.max(((r==null?void 0:r.blockTime)??0)*3,5e3),s=await yg(t,e);return await bg(t,{...e,id:s.id,timeout:n})}const Zu=new Di(128);async function g1(t,e){var x,T,O,N;const{account:r=t.account,chain:n=t.chain,accessList:s,authorizationList:i,blobs:o,data:a,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:d,pollingInterval:b,throwOnReceiptRevert:g,type:E,value:S,..._}=e,A=e.timeout??Math.max(((n==null?void 0:n.blockTime)??0)*3,5e3);if(typeof r>"u")throw new hs({docsPath:"/docs/actions/wallet/sendTransactionSync"});const w=r?Ue(r):null;try{Cn(e);const C=await(async()=>{if(e.to)return e.to;if(e.to!==null&&i&&i.length>0)return await Dc({authorization:i[0]}).catch(()=>{throw new V("`to` is required. Could not infer from `authorizationList`.")})})();if((w==null?void 0:w.type)==="json-rpc"||w===null){let j;n!==null&&(j=await re(t,ds,"getChainId")({}),wh({currentChainId:j,chain:n}));const $=(O=(T=(x=t.chain)==null?void 0:x.formatters)==null?void 0:T.transactionRequest)==null?void 0:O.format,z=($||ls)({...zi(_,{format:$}),accessList:s,account:w,authorizationList:i,blobs:o,chainId:j,data:a,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:d,to:C,type:E,value:S},"sendTransaction"),ee=Zu.get(t.uid),U=ee?"wallet_sendTransaction":"eth_sendTransaction",q=await(async()=>{try{return await t.request({method:U,params:[z]},{retryCount:0})}catch(W){if(ee===!1)throw W;const I=W;if(I.name==="InvalidInputRpcError"||I.name==="InvalidParamsRpcError"||I.name==="MethodNotFoundRpcError"||I.name==="MethodNotSupportedRpcError")return await t.request({method:"wallet_sendTransaction",params:[z]},{retryCount:0}).then(L=>(Zu.set(t.uid,!0),L)).catch(L=>{const X=L;throw X.name==="MethodNotFoundRpcError"||X.name==="MethodNotSupportedRpcError"?(Zu.set(t.uid,!1),I):X});throw I}})(),Q=await re(t,m1,"waitForTransactionReceipt")({checkReplacement:!1,hash:q,pollingInterval:b,timeout:A});if(g&&Q.status==="reverted")throw new gb({receipt:Q});return Q}if((w==null?void 0:w.type)==="local"){const j=await re(t,ma,"prepareTransactionRequest")({account:w,accessList:s,authorizationList:i,blobs:o,chain:n,data:a,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:d,nonceManager:w.nonceManager,parameters:[...ch,"sidecars"],type:E,value:S,..._,to:C}),$=(N=n==null?void 0:n.serializers)==null?void 0:N.transaction,D=await w.signTransaction(j,{serializer:$});return await re(t,Mh,"sendRawTransactionSync")({serializedTransaction:D,throwOnReceiptRevert:g})}throw(w==null?void 0:w.type)==="smart"?new Bs({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Bs({docsPath:"/docs/actions/wallet/sendTransactionSync",type:w==null?void 0:w.type})}catch(C){throw C instanceof Bs?C:Gc(C,{...e,account:w,chain:e.chain||void 0})}}async function Rx(t,e){const{id:r}=e;await t.request({method:"wallet_showCallsStatus",params:[r]})}async function Nx(t,e){const{account:r=t.account}=e;if(!r)throw new hs({docsPath:"/docs/eip7702/signAuthorization"});const n=Ue(r);if(!n.signAuthorization)throw new Bs({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:n.type});const s=await b1(t,e);return n.signAuthorization(s)}async function Ux(t,{account:e=t.account,message:r}){if(!e)throw new hs({docsPath:"/docs/actions/wallet/signMessage"});const n=Ue(e);if(n.signMessage)return n.signMessage({message:r});const s=typeof r=="string"?Ii(r):r.raw instanceof Uint8Array?_t(r.raw):r.raw;return t.request({method:"personal_sign",params:[s,n.address]},{retryCount:0})}async function Fx(t,e){var u,f,l,p;const{account:r=t.account,chain:n=t.chain,...s}=e;if(!r)throw new hs({docsPath:"/docs/actions/wallet/signTransaction"});const i=Ue(r);Cn({account:i,...e});const o=await re(t,ds,"getChainId")({});n!==null&&wh({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)||ls;return i.signTransaction?i.signTransaction({...s,chainId:o},{serializer:(p=(l=t.chain)==null?void 0:l.serializers)==null?void 0:p.transaction}):await t.request({method:"eth_signTransaction",params:[{...c({...s,account:i},"signTransaction"),chainId:J(o),from:i.address}]},{retryCount:0})}async function Mx(t,e){const{account:r=t.account,domain:n,message:s,primaryType:i}=e;if(!r)throw new hs({docsPath:"/docs/actions/wallet/signTypedData"});const o=Ue(r),a={EIP712Domain:Fg({domain:n}),...e.types};if(Ug({domain:n,message:s,primaryType:i,types:a}),o.signTypedData)return o.signTypedData({domain:n,message:s,primaryType:i,types:a});const c=vS({domain:n,message:s,primaryType:i,types:a});return t.request({method:"eth_signTypedData_v4",params:[o.address,c]},{retryCount:0})}async function $x(t,{id:e}){await t.request({method:"wallet_switchEthereumChain",params:[{chainId:J(e)}]},{retryCount:0})}async function jx(t,e){return await t.request({method:"wallet_watchAsset",params:e},{retryCount:0})}async function Lx(t,e){return Ri.internal(t,g1,"sendTransactionSync",e)}function Hx(t){return{addChain:e=>kx(t,e),deployContract:e=>Tx(t,e),fillTransaction:e=>ah(t,e),getAddresses:()=>Px(t),getCallsStatus:e=>mg(t,e),getCapabilities:e=>_x(t,e),getChainId:()=>ds(t),getPermissions:()=>Ix(t),prepareAuthorization:e=>b1(t,e),prepareTransactionRequest:e=>ma(t,e),requestAddresses:()=>Ox(t),requestPermissions:e=>Bx(t,e),sendCalls:e=>yg(t,e),sendCallsSync:e=>Cx(t,e),sendRawTransaction:e=>vh(t,e),sendRawTransactionSync:e=>Mh(t,e),sendTransaction:e=>Qc(t,e),sendTransactionSync:e=>g1(t,e),showCallsStatus:e=>Rx(t,e),signAuthorization:e=>Nx(t,e),signMessage:e=>Ux(t,e),signTransaction:e=>Fx(t,e),signTypedData:e=>Mx(t,e),switchChain:e=>$x(t,e),waitForCallsStatus:e=>bg(t,e),watchAsset:e=>jx(t,e),writeContract:e=>Ri(t,e),writeContractSync:e=>Lx(t,e)}}function Qu(t){const{key:e="wallet",name:r="Wallet Client",transport:n}=t;return wg({...t,key:e,name:r,transport:n,type:"walletClient"}).extend(Hx)}function w1({key:t,methods:e,name:r,request:n,retryCount:s=3,retryDelay:i=150,timeout:o,type:a},c){const u=gg();return{config:{key:t,methods:e,name:r,request:n,retryCount:s,retryDelay:i,timeout:o,type:a},request:eS(n,{methods:e,retryCount:s,retryDelay:i,uid:u}),value:c}}function b0(t,e={}){const{key:r="custom",methods:n,name:s="Custom Provider",retryDelay:i}=e;return({retryCount:o})=>w1({key:r,methods:n,name:s,request:t.request.bind(t),retryCount:e.retryCount??o,retryDelay:i,type:"custom"})}class Dx extends V{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function v1(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:b})=>{const{batchSize:g=1e3,wait:E=0}=typeof r=="object"?r:{},S=e.retryCount??d,_=b??e.timeout??1e4,A=p==null?void 0:p.rpcUrls.default.http[0];if(!A)throw new Dx;const w=pS(A,{fetchFn:n,fetchOptions:s,onRequest:c,onResponse:u,timeout:_});return w1({key:i,methods:o,name:a,async request({method:x,params:T}){const O={method:x,params:T},{schedule:N}=cg({id:A,wait:E,shouldSplitBatch(D){return D.length>g},fn:D=>w.request({body:D}),sort:(D,z)=>D.id-z.id}),C=async D=>r?N(D):[await w.request({body:D})],[{error:j,result:$}]=await C(O);if(l)return{error:j,result:$};if(j)throw new Jd({body:O,error:j,url:A});return $},retryCount:S,retryDelay:f,timeout:_,type:"http"},{fetchOptions:s,url:A})}}const nc={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:""}},Jo={[m.Network.MAINNET]:{chainId:"0x534e5f4d41494e",nodeUrl:"https://rpc.starknet.lava.build"},[m.Network.TESTNET]:{chainId:"0x534e5f5345504f4c4941",nodeUrl:"https://starknet-sepolia-rpc.publicnode.com"},[m.Network.LOCALNET]:{chainId:"",nodeUrl:""}},E1={[m.Network.MAINNET]:"9cBuPNiHXiMNg3Fin8xLCGJQBTXjYQTFtyaFQv2uiM1H",[m.Network.TESTNET]:"ANUVKxeqaec3bf4DVPqLTnG1PT3Fng56wPcE7LXAb46Q",[m.Network.LOCALNET]:"AKnL4NNf3DGWZJS6cPknBuEGnVsV4A4m5tgebLHaRSZ9"},dd={mainnet:{native:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",spl:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU"},staging:{native:"6eksgdCnSjUaGQWZ6iYvauv1qzvYPF33RTGTM1ZuyENx",spl:"2WXpY8havGjfRxme9LUxtjFHTh1EfU3ur4v6wiK4KdNC"}},hd={[m.Network.TESTNET]:{packageId:"0x99865b03dd1bc03d0a6a805c454ea257c464f7abcccae9cd4b621b91e7ca04de",moduleName:"AtomicSwap"},[m.Network.MAINNET]:{packageId:"0xbfb5728aab0dd117747ef4574af6d3540ea6093109c22856e3ae201dfd58c0fc",moduleName:"AtomicSwap"},[m.Network.LOCALNET]:{packageId:"",moduleName:""}},zx={[m.Network.MAINNET]:"https://api.trongrid.io",[m.Network.TESTNET]:"https://api.shasta.trongrid.io",[m.Network.LOCALNET]:""},Vx={asset:Y.ChainAsset.from(Y.Assets.base.cBBTC)};var Ai=(t=>(t.SLOW="SLOW",t.MEDIUM="MEDIUM",t.FAST="FAST",t))(Ai||{}),Tr=(t=>(t.Mainnet="Mainnet",t.Testnet="Testnet",t.Regtest="Regtest",t))(Tr||{}),sc=(t=>(t.ALL="ALL",t.IN="IN",t.OUT="OUT",t))(sc||{});const Gx={SLOW:"economyFee",MEDIUM:"hourFee",FAST:"fastestFee"};function pd(t){const e=typeof t=="string"?t:t.network,r=e===m.Network.MAINNET?nc.mainnet:m.Network.TESTNET?nc.testnet:nc.localnet;return{api:typeof t=="string"?r:{...r,...t},network:e}}function qx(t){return typeof t=="string"&&(t=Buffer.from(t,"hex")),t.length===32?t:t.subarray(1,33)}function g0(t,e){if(!t)throw new Error(e)}function Wx(t){return Buffer.concat([Uint8Array.from([192]),Kx(t)])}function Kx(t){const e=vp.encodingLength(t.length),r=Buffer.allocUnsafe(e);return vp.encode(t.length,r),Buffer.concat([r,t])}function Yx(t,e){if(t.compare(e)>0){const r=t;t=e,e=r}return[t,e]}const Me=t=>t.length===64?t:t.slice(2),Jx=t=>{if(!t)return!1;try{const e=Buffer.from(t,"hex");return fr.isPoint(e)}catch{return!1}},Xx=(t,e,r,n)=>t+":"+e.toLowerCase()+"::"+r+":"+n.toLowerCase();function Zx(t,e){if(!t)return!1;const r=e===m.Environment.MAINNET?Ae.networks.bitcoin:e===m.Environment.TESTNET?Ae.networks.testnet:Ae.networks.regtest;if(!r)return!1;Ae.initEccLib(fr);try{return Ae.address.toOutputScript(t,r),!0}catch{return!1}}function eo(t,e){const r=[];for(let n=0;n<e;n++)r.push(t);return r}const Qx=t=>{switch(t){case m.Network.MAINNET:return Tr.Mainnet;case m.Network.TESTNET:return Tr.Testnet;case m.Network.LOCALNET:return Tr.Regtest;default:throw new Error(`Invalid bitcoin network ${t}`)}},ek=t=>{switch(t){case m.Network.MAINNET:return Ae.networks.bitcoin;case m.Network.TESTNET:return Ae.networks.testnet;case m.Network.LOCALNET:return Ae.networks.regtest;default:throw new Error(`Invalid bitcoin network ${t}`)}},tk=t=>{const e=t.toLowerCase().replace("0x","");return/^[0-9a-f]+$/.test(e)},w0=t=>{if(typeof t=="object"&&"r"in t&&"s"in t)return m.Ok([t.r.toString(),t.s.toString()]);if(Array.isArray(t)){const e=t.map(r=>typeof r=="string"&&r.startsWith("0x")&&tk(r)?BigInt(r).toString():r);return m.Ok(e)}return m.Err("Invalid signature format")};function yd(t){return Buffer.from(t,"hex").reverse()}function md(t){return typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"}const La=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},su=async(t,e)=>{var a,c;const r=await m.Fetcher.get(e+"/v2/assets");if(r.error)return m.Err("Failed to fetch asset info: "+r.error);const s=(r.result||[]).find(u=>u.id===t);if(!s)return m.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 m.Ok({htlcAddress:i,tokenAddress:o})},v0=t=>{if(t==null||t.includes("."))return m.Err("Invalid amount ",t);const e=new Ol.BigNumber(t);return!e.isInteger()||e.isNaN()||e.lt(0)||e.isLessThanOrEqualTo(0)?m.Err("Invalid amount ",t):m.Ok(e)},rk=async(t,e)=>{const r={[Y.BlockchainType.evm]:{htlc:e.evm,name:"EVM"},[Y.BlockchainType.solana]:{htlc:e.solana,name:"Solana"},[Y.BlockchainType.starknet]:{htlc:e.starknet,name:"Starknet"},[Y.BlockchainType.sui]:{htlc:e.sui,name:"Sui"},[Y.BlockchainType.bitcoin]:{htlc:e.bitcoin,name:"Bitcoin"},[Y.BlockchainType.tron]:{htlc:e.tron,name:"Tron"}};if(t===Y.BlockchainType.bitcoin)return m.Ok(void 0);const n=r[t];return n?n.htlc?m.Ok(void 0):m.Err(`${n.name} HTLC is required for swap initiation. Please provide ${n.name.toLowerCase()}HTLC when initializing garden.`):m.Err(`Unsupported blockchain type for swap initiation: ${t}`)},nk=["0x90c06174","0xee1b963b"],sk=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=sk(t).toLowerCase();return nk.some(r=>e.includes(r.toLowerCase()))},ik=t=>t.toLowerCase().includes("not supported for initiations"),A1=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&&ik(o.error))break;if(o.ok){const a=await m.waitForTransactionReceipt(e,o.val);if(!a.ok){if(i<r-1){await m.sleep(n*2**i);continue}break}if(((s=a.val)==null?void 0:s.status)==="success")return o.val}i<r-1&&await m.sleep(n*2**i)}return null},ok=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),ak=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),ck=Buffer.concat([ok,ak]),uk=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),E0={failedToCreateInternalPubkey:"failed to create internal pubkey"};function A0(){const t=ye.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),e=fr.pointMultiply(Buffer.concat([Buffer.from("04","hex"),ck]),t);if(!e)throw new Error(E0.failedToCreateInternalPubkey);const r=fr.pointAdd(uk,e);if(!r)throw new Error(E0.failedToCreateInternalPubkey);return qx(Buffer.from(r))}var Zr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function S1(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 je={},wt={},Xs={},iu={};iu.byteLength=dk;iu.toByteArray=pk;iu.fromByteArray=bk;var qr=[],ar=[],fk=typeof Uint8Array<"u"?Uint8Array:Array,ef="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var si=0,lk=ef.length;si<lk;++si)qr[si]=ef[si],ar[ef.charCodeAt(si)]=si;ar[45]=62;ar[95]=63;function x1(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function dk(t){var e=x1(t),r=e[0],n=e[1];return(r+n)*3/4-n}function hk(t,e,r){return(e+r)*3/4-r}function pk(t){var e,r=x1(t),n=r[0],s=r[1],i=new fk(hk(t,n,s)),o=0,a=s>0?n-4:n,c;for(c=0;c<a;c+=4)e=ar[t.charCodeAt(c)]<<18|ar[t.charCodeAt(c+1)]<<12|ar[t.charCodeAt(c+2)]<<6|ar[t.charCodeAt(c+3)],i[o++]=e>>16&255,i[o++]=e>>8&255,i[o++]=e&255;return s===2&&(e=ar[t.charCodeAt(c)]<<2|ar[t.charCodeAt(c+1)]>>4,i[o++]=e&255),s===1&&(e=ar[t.charCodeAt(c)]<<10|ar[t.charCodeAt(c+1)]<<4|ar[t.charCodeAt(c+2)]>>2,i[o++]=e>>8&255,i[o++]=e&255),i}function yk(t){return qr[t>>18&63]+qr[t>>12&63]+qr[t>>6&63]+qr[t&63]}function mk(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(yk(n));return s.join("")}function bk(t){for(var e,r=t.length,n=r%3,s=[],i=16383,o=0,a=r-n;o<a;o+=i)s.push(mk(t,o,o+i>a?a:o+i));return n===1?(e=t[r-1],s.push(qr[e>>2]+qr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],s.push(qr[e>>10]+qr[e>>4&63]+qr[e<<2&63]+"=")),s.join("")}var jh={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */jh.read=function(t,e,r,n,s){var i,o,a=s*8-n-1,c=(1<<a)-1,u=c>>1,f=-7,l=r?s-1:0,p=r?-1:1,d=t[e+l];for(l+=p,i=d&(1<<-f)-1,d>>=-f,f+=a;f>0;i=i*256+t[e+l],l+=p,f-=8);for(o=i&(1<<-f)-1,i>>=-f,f+=n;f>0;o=o*256+t[e+l],l+=p,f-=8);if(i===0)i=1-u;else{if(i===c)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),i=i-u}return(d?-1:1)*o*Math.pow(2,i-n)};jh.write=function(t,e,r,n,s,i){var o,a,c,u=i*8-s-1,f=(1<<u)-1,l=f>>1,p=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:i-1,b=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=f):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+l>=1?e+=p/c:e+=p*Math.pow(2,1-l),e*c>=2&&(o++,c/=2),o+l>=f?(a=0,o=f):o+l>=1?(a=(e*c-1)*Math.pow(2,s),o=o+l):(a=e*Math.pow(2,l-1)*Math.pow(2,s),o=0));s>=8;t[r+d]=a&255,d+=b,a/=256,s-=8);for(o=o<<s|a,u+=s;u>0;t[r+d]=o&255,d+=b,o/=256,u-=8);t[r+d-b]|=g*128};/*!
|
|
45
|
+
* The buffer module from node.js, for the browser.
|
|
46
|
+
*
|
|
47
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
48
|
+
* @license MIT
|
|
49
|
+
*/(function(t){const e=iu,r=jh,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=a,t.SlowBuffer=_,t.INSPECT_MAX_BYTES=50;const s=2147483647;t.kMaxLength=s,a.TYPED_ARRAY_SUPPORT=i(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function i(){try{const v=new Uint8Array(1),h={foo:function(){return 42}};return Object.setPrototypeOf(h,Uint8Array.prototype),Object.setPrototypeOf(v,h),v.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function o(v){if(v>s)throw new RangeError('The value "'+v+'" is invalid for option "size"');const h=new Uint8Array(v);return Object.setPrototypeOf(h,a.prototype),h}function a(v,h,y){if(typeof v=="number"){if(typeof h=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return l(v)}return c(v,h,y)}a.poolSize=8192;function c(v,h,y){if(typeof v=="string")return p(v,h);if(ArrayBuffer.isView(v))return b(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(Ke(v,ArrayBuffer)||v&&Ke(v.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ke(v,SharedArrayBuffer)||v&&Ke(v.buffer,SharedArrayBuffer)))return g(v,h,y);if(typeof v=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const k=v.valueOf&&v.valueOf();if(k!=null&&k!==v)return a.from(k,h,y);const R=E(v);if(R)return R;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof v[Symbol.toPrimitive]=="function")return a.from(v[Symbol.toPrimitive]("string"),h,y);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof v)}a.from=function(v,h,y){return c(v,h,y)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function u(v){if(typeof v!="number")throw new TypeError('"size" argument must be of type number');if(v<0)throw new RangeError('The value "'+v+'" is invalid for option "size"')}function f(v,h,y){return u(v),v<=0?o(v):h!==void 0?typeof y=="string"?o(v).fill(h,y):o(v).fill(h):o(v)}a.alloc=function(v,h,y){return f(v,h,y)};function l(v){return u(v),o(v<0?0:S(v)|0)}a.allocUnsafe=function(v){return l(v)},a.allocUnsafeSlow=function(v){return l(v)};function p(v,h){if((typeof h!="string"||h==="")&&(h="utf8"),!a.isEncoding(h))throw new TypeError("Unknown encoding: "+h);const y=A(v,h)|0;let k=o(y);const R=k.write(v,h);return R!==y&&(k=k.slice(0,R)),k}function d(v){const h=v.length<0?0:S(v.length)|0,y=o(h);for(let k=0;k<h;k+=1)y[k]=v[k]&255;return y}function b(v){if(Ke(v,Uint8Array)){const h=new Uint8Array(v);return g(h.buffer,h.byteOffset,h.byteLength)}return d(v)}function g(v,h,y){if(h<0||v.byteLength<h)throw new RangeError('"offset" is outside of buffer bounds');if(v.byteLength<h+(y||0))throw new RangeError('"length" is outside of buffer bounds');let k;return h===void 0&&y===void 0?k=new Uint8Array(v):y===void 0?k=new Uint8Array(v,h):k=new Uint8Array(v,h,y),Object.setPrototypeOf(k,a.prototype),k}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"||Nn(v.length)?o(0):d(v);if(v.type==="Buffer"&&Array.isArray(v.data))return d(v.data)}function S(v){if(v>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return v|0}function _(v){return+v!=v&&(v=0),a.alloc(+v)}a.isBuffer=function(h){return h!=null&&h._isBuffer===!0&&h!==a.prototype},a.compare=function(h,y){if(Ke(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),Ke(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 k=h.length,R=y.length;for(let M=0,G=Math.min(k,R);M<G;++M)if(h[M]!==y[M]){k=h[M],R=y[M];break}return k<R?-1:R<k?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 k;if(y===void 0)for(y=0,k=0;k<h.length;++k)y+=h[k].length;const R=a.allocUnsafe(y);let M=0;for(k=0;k<h.length;++k){let G=h[k];if(Ke(G,Uint8Array))M+G.length>R.length?(a.isBuffer(G)||(G=a.from(G)),G.copy(R,M)):Uint8Array.prototype.set.call(R,G,M);else if(a.isBuffer(G))G.copy(R,M);else throw new TypeError('"list" argument must be an Array of Buffers');M+=G.length}return R};function A(v,h){if(a.isBuffer(v))return v.length;if(ArrayBuffer.isView(v)||Ke(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,k=arguments.length>2&&arguments[2]===!0;if(!k&&y===0)return 0;let R=!1;for(;;)switch(h){case"ascii":case"latin1":case"binary":return y;case"utf8":case"utf-8":return We(v).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return y*2;case"hex":return y>>>1;case"base64":return tn(v).length;default:if(R)return k?-1:We(v).length;h=(""+h).toLowerCase(),R=!0}}a.byteLength=A;function w(v,h,y){let k=!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 ee(this,h,y);case"ascii":return Q(this,h,y);case"latin1":case"binary":return W(this,h,y);case"base64":return z(this,h,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,h,y);default:if(k)throw new TypeError("Unknown encoding: "+v);v=(v+"").toLowerCase(),k=!0}}a.prototype._isBuffer=!0;function x(v,h,y){const k=v[h];v[h]=v[y],v[y]=k}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)x(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)x(this,y,y+3),x(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)x(this,y,y+7),x(this,y+1,y+6),x(this,y+2,y+5),x(this,y+3,y+4);return this},a.prototype.toString=function(){const h=this.length;return h===0?"":arguments.length===0?ee(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,k,R,M){if(Ke(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),k===void 0&&(k=h?h.length:0),R===void 0&&(R=0),M===void 0&&(M=this.length),y<0||k>h.length||R<0||M>this.length)throw new RangeError("out of range index");if(R>=M&&y>=k)return 0;if(R>=M)return-1;if(y>=k)return 1;if(y>>>=0,k>>>=0,R>>>=0,M>>>=0,this===h)return 0;let G=M-R,me=k-y;const De=Math.min(G,me),Re=this.slice(R,M),ze=h.slice(y,k);for(let ke=0;ke<De;++ke)if(Re[ke]!==ze[ke]){G=Re[ke],me=ze[ke];break}return G<me?-1:me<G?1:0};function T(v,h,y,k,R){if(v.length===0)return-1;if(typeof y=="string"?(k=y,y=0):y>2147483647?y=2147483647:y<-2147483648&&(y=-2147483648),y=+y,Nn(y)&&(y=R?0:v.length-1),y<0&&(y=v.length+y),y>=v.length){if(R)return-1;y=v.length-1}else if(y<0)if(R)y=0;else return-1;if(typeof h=="string"&&(h=a.from(h,k)),a.isBuffer(h))return h.length===0?-1:O(v,h,y,k,R);if(typeof h=="number")return h=h&255,typeof Uint8Array.prototype.indexOf=="function"?R?Uint8Array.prototype.indexOf.call(v,h,y):Uint8Array.prototype.lastIndexOf.call(v,h,y):O(v,[h],y,k,R);throw new TypeError("val must be string, number or Buffer")}function O(v,h,y,k,R){let M=1,G=v.length,me=h.length;if(k!==void 0&&(k=String(k).toLowerCase(),k==="ucs2"||k==="ucs-2"||k==="utf16le"||k==="utf-16le")){if(v.length<2||h.length<2)return-1;M=2,G/=2,me/=2,y/=2}function De(ze,ke){return M===1?ze[ke]:ze.readUInt16BE(ke*M)}let Re;if(R){let ze=-1;for(Re=y;Re<G;Re++)if(De(v,Re)===De(h,ze===-1?0:Re-ze)){if(ze===-1&&(ze=Re),Re-ze+1===me)return ze*M}else ze!==-1&&(Re-=Re-ze),ze=-1}else for(y+me>G&&(y=G-me),Re=y;Re>=0;Re--){let ze=!0;for(let ke=0;ke<me;ke++)if(De(v,Re+ke)!==De(h,ke)){ze=!1;break}if(ze)return Re}return-1}a.prototype.includes=function(h,y,k){return this.indexOf(h,y,k)!==-1},a.prototype.indexOf=function(h,y,k){return T(this,h,y,k,!0)},a.prototype.lastIndexOf=function(h,y,k){return T(this,h,y,k,!1)};function N(v,h,y,k){y=Number(y)||0;const R=v.length-y;k?(k=Number(k),k>R&&(k=R)):k=R;const M=h.length;k>M/2&&(k=M/2);let G;for(G=0;G<k;++G){const me=parseInt(h.substr(G*2,2),16);if(Nn(me))return G;v[y+G]=me}return G}function C(v,h,y,k){return pr(We(h,v.length-y),v,y,k)}function j(v,h,y,k){return pr(Rn(h),v,y,k)}function $(v,h,y,k){return pr(tn(h),v,y,k)}function D(v,h,y,k){return pr(K(h,v.length-y),v,y,k)}a.prototype.write=function(h,y,k,R){if(y===void 0)R="utf8",k=this.length,y=0;else if(k===void 0&&typeof y=="string")R=y,k=this.length,y=0;else if(isFinite(y))y=y>>>0,isFinite(k)?(k=k>>>0,R===void 0&&(R="utf8")):(R=k,k=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const M=this.length-y;if((k===void 0||k>M)&&(k=M),h.length>0&&(k<0||y<0)||y>this.length)throw new RangeError("Attempt to write outside buffer bounds");R||(R="utf8");let G=!1;for(;;)switch(R){case"hex":return N(this,h,y,k);case"utf8":case"utf-8":return C(this,h,y,k);case"ascii":case"latin1":case"binary":return j(this,h,y,k);case"base64":return $(this,h,y,k);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,h,y,k);default:if(G)throw new TypeError("Unknown encoding: "+R);R=(""+R).toLowerCase(),G=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function z(v,h,y){return h===0&&y===v.length?e.fromByteArray(v):e.fromByteArray(v.slice(h,y))}function ee(v,h,y){y=Math.min(v.length,y);const k=[];let R=h;for(;R<y;){const M=v[R];let G=null,me=M>239?4:M>223?3:M>191?2:1;if(R+me<=y){let De,Re,ze,ke;switch(me){case 1:M<128&&(G=M);break;case 2:De=v[R+1],(De&192)===128&&(ke=(M&31)<<6|De&63,ke>127&&(G=ke));break;case 3:De=v[R+1],Re=v[R+2],(De&192)===128&&(Re&192)===128&&(ke=(M&15)<<12|(De&63)<<6|Re&63,ke>2047&&(ke<55296||ke>57343)&&(G=ke));break;case 4:De=v[R+1],Re=v[R+2],ze=v[R+3],(De&192)===128&&(Re&192)===128&&(ze&192)===128&&(ke=(M&15)<<18|(De&63)<<12|(Re&63)<<6|ze&63,ke>65535&&ke<1114112&&(G=ke))}}G===null?(G=65533,me=1):G>65535&&(G-=65536,k.push(G>>>10&1023|55296),G=56320|G&1023),k.push(G),R+=me}return q(k)}const U=4096;function q(v){const h=v.length;if(h<=U)return String.fromCharCode.apply(String,v);let y="",k=0;for(;k<h;)y+=String.fromCharCode.apply(String,v.slice(k,k+=U));return y}function Q(v,h,y){let k="";y=Math.min(v.length,y);for(let R=h;R<y;++R)k+=String.fromCharCode(v[R]&127);return k}function W(v,h,y){let k="";y=Math.min(v.length,y);for(let R=h;R<y;++R)k+=String.fromCharCode(v[R]);return k}function I(v,h,y){const k=v.length;(!h||h<0)&&(h=0),(!y||y<0||y>k)&&(y=k);let R="";for(let M=h;M<y;++M)R+=ti[v[M]];return R}function L(v,h,y){const k=v.slice(h,y);let R="";for(let M=0;M<k.length-1;M+=2)R+=String.fromCharCode(k[M]+k[M+1]*256);return R}a.prototype.slice=function(h,y){const k=this.length;h=~~h,y=y===void 0?k:~~y,h<0?(h+=k,h<0&&(h=0)):h>k&&(h=k),y<0?(y+=k,y<0&&(y=0)):y>k&&(y=k),y<h&&(y=h);const R=this.subarray(h,y);return Object.setPrototypeOf(R,a.prototype),R};function X(v,h,y){if(v%1!==0||v<0)throw new RangeError("offset is not uint");if(v+h>y)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(h,y,k){h=h>>>0,y=y>>>0,k||X(h,y,this.length);let R=this[h],M=1,G=0;for(;++G<y&&(M*=256);)R+=this[h+G]*M;return R},a.prototype.readUintBE=a.prototype.readUIntBE=function(h,y,k){h=h>>>0,y=y>>>0,k||X(h,y,this.length);let R=this[h+--y],M=1;for(;y>0&&(M*=256);)R+=this[h+--y]*M;return R},a.prototype.readUint8=a.prototype.readUInt8=function(h,y){return h=h>>>0,y||X(h,1,this.length),this[h]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(h,y){return h=h>>>0,y||X(h,2,this.length),this[h]|this[h+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(h,y){return h=h>>>0,y||X(h,2,this.length),this[h]<<8|this[h+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(h,y){return h=h>>>0,y||X(h,4,this.length),(this[h]|this[h+1]<<8|this[h+2]<<16)+this[h+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(h,y){return h=h>>>0,y||X(h,4,this.length),this[h]*16777216+(this[h+1]<<16|this[h+2]<<8|this[h+3])},a.prototype.readBigUInt64LE=zt(function(h){h=h>>>0,pe(h,"offset");const y=this[h],k=this[h+7];(y===void 0||k===void 0)&&ge(h,this.length-8);const R=y+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24,M=this[++h]+this[++h]*2**8+this[++h]*2**16+k*2**24;return BigInt(R)+(BigInt(M)<<BigInt(32))}),a.prototype.readBigUInt64BE=zt(function(h){h=h>>>0,pe(h,"offset");const y=this[h],k=this[h+7];(y===void 0||k===void 0)&&ge(h,this.length-8);const R=y*2**24+this[++h]*2**16+this[++h]*2**8+this[++h],M=this[++h]*2**24+this[++h]*2**16+this[++h]*2**8+k;return(BigInt(R)<<BigInt(32))+BigInt(M)}),a.prototype.readIntLE=function(h,y,k){h=h>>>0,y=y>>>0,k||X(h,y,this.length);let R=this[h],M=1,G=0;for(;++G<y&&(M*=256);)R+=this[h+G]*M;return M*=128,R>=M&&(R-=Math.pow(2,8*y)),R},a.prototype.readIntBE=function(h,y,k){h=h>>>0,y=y>>>0,k||X(h,y,this.length);let R=y,M=1,G=this[h+--R];for(;R>0&&(M*=256);)G+=this[h+--R]*M;return M*=128,G>=M&&(G-=Math.pow(2,8*y)),G},a.prototype.readInt8=function(h,y){return h=h>>>0,y||X(h,1,this.length),this[h]&128?(255-this[h]+1)*-1:this[h]},a.prototype.readInt16LE=function(h,y){h=h>>>0,y||X(h,2,this.length);const k=this[h]|this[h+1]<<8;return k&32768?k|4294901760:k},a.prototype.readInt16BE=function(h,y){h=h>>>0,y||X(h,2,this.length);const k=this[h+1]|this[h]<<8;return k&32768?k|4294901760:k},a.prototype.readInt32LE=function(h,y){return h=h>>>0,y||X(h,4,this.length),this[h]|this[h+1]<<8|this[h+2]<<16|this[h+3]<<24},a.prototype.readInt32BE=function(h,y){return h=h>>>0,y||X(h,4,this.length),this[h]<<24|this[h+1]<<16|this[h+2]<<8|this[h+3]},a.prototype.readBigInt64LE=zt(function(h){h=h>>>0,pe(h,"offset");const y=this[h],k=this[h+7];(y===void 0||k===void 0)&&ge(h,this.length-8);const R=this[h+4]+this[h+5]*2**8+this[h+6]*2**16+(k<<24);return(BigInt(R)<<BigInt(32))+BigInt(y+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24)}),a.prototype.readBigInt64BE=zt(function(h){h=h>>>0,pe(h,"offset");const y=this[h],k=this[h+7];(y===void 0||k===void 0)&&ge(h,this.length-8);const R=(y<<24)+this[++h]*2**16+this[++h]*2**8+this[++h];return(BigInt(R)<<BigInt(32))+BigInt(this[++h]*2**24+this[++h]*2**16+this[++h]*2**8+k)}),a.prototype.readFloatLE=function(h,y){return h=h>>>0,y||X(h,4,this.length),r.read(this,h,!0,23,4)},a.prototype.readFloatBE=function(h,y){return h=h>>>0,y||X(h,4,this.length),r.read(this,h,!1,23,4)},a.prototype.readDoubleLE=function(h,y){return h=h>>>0,y||X(h,8,this.length),r.read(this,h,!0,52,8)},a.prototype.readDoubleBE=function(h,y){return h=h>>>0,y||X(h,8,this.length),r.read(this,h,!1,52,8)};function B(v,h,y,k,R,M){if(!a.isBuffer(v))throw new TypeError('"buffer" argument must be a Buffer instance');if(h>R||h<M)throw new RangeError('"value" argument is out of bounds');if(y+k>v.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(h,y,k,R){if(h=+h,y=y>>>0,k=k>>>0,!R){const me=Math.pow(2,8*k)-1;B(this,h,y,k,me,0)}let M=1,G=0;for(this[y]=h&255;++G<k&&(M*=256);)this[y+G]=h/M&255;return y+k},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(h,y,k,R){if(h=+h,y=y>>>0,k=k>>>0,!R){const me=Math.pow(2,8*k)-1;B(this,h,y,k,me,0)}let M=k-1,G=1;for(this[y+M]=h&255;--M>=0&&(G*=256);)this[y+M]=h/G&255;return y+k},a.prototype.writeUint8=a.prototype.writeUInt8=function(h,y,k){return h=+h,y=y>>>0,k||B(this,h,y,1,255,0),this[y]=h&255,y+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(h,y,k){return h=+h,y=y>>>0,k||B(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,k){return h=+h,y=y>>>0,k||B(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,k){return h=+h,y=y>>>0,k||B(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,k){return h=+h,y=y>>>0,k||B(this,h,y,4,4294967295,0),this[y]=h>>>24,this[y+1]=h>>>16,this[y+2]=h>>>8,this[y+3]=h&255,y+4};function F(v,h,y,k,R){we(h,k,R,v,y,7);let M=Number(h&BigInt(4294967295));v[y++]=M,M=M>>8,v[y++]=M,M=M>>8,v[y++]=M,M=M>>8,v[y++]=M;let G=Number(h>>BigInt(32)&BigInt(4294967295));return v[y++]=G,G=G>>8,v[y++]=G,G=G>>8,v[y++]=G,G=G>>8,v[y++]=G,y}function H(v,h,y,k,R){we(h,k,R,v,y,7);let M=Number(h&BigInt(4294967295));v[y+7]=M,M=M>>8,v[y+6]=M,M=M>>8,v[y+5]=M,M=M>>8,v[y+4]=M;let G=Number(h>>BigInt(32)&BigInt(4294967295));return v[y+3]=G,G=G>>8,v[y+2]=G,G=G>>8,v[y+1]=G,G=G>>8,v[y]=G,y+8}a.prototype.writeBigUInt64LE=zt(function(h,y=0){return F(this,h,y,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=zt(function(h,y=0){return H(this,h,y,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(h,y,k,R){if(h=+h,y=y>>>0,!R){const De=Math.pow(2,8*k-1);B(this,h,y,k,De-1,-De)}let M=0,G=1,me=0;for(this[y]=h&255;++M<k&&(G*=256);)h<0&&me===0&&this[y+M-1]!==0&&(me=1),this[y+M]=(h/G>>0)-me&255;return y+k},a.prototype.writeIntBE=function(h,y,k,R){if(h=+h,y=y>>>0,!R){const De=Math.pow(2,8*k-1);B(this,h,y,k,De-1,-De)}let M=k-1,G=1,me=0;for(this[y+M]=h&255;--M>=0&&(G*=256);)h<0&&me===0&&this[y+M+1]!==0&&(me=1),this[y+M]=(h/G>>0)-me&255;return y+k},a.prototype.writeInt8=function(h,y,k){return h=+h,y=y>>>0,k||B(this,h,y,1,127,-128),h<0&&(h=255+h+1),this[y]=h&255,y+1},a.prototype.writeInt16LE=function(h,y,k){return h=+h,y=y>>>0,k||B(this,h,y,2,32767,-32768),this[y]=h&255,this[y+1]=h>>>8,y+2},a.prototype.writeInt16BE=function(h,y,k){return h=+h,y=y>>>0,k||B(this,h,y,2,32767,-32768),this[y]=h>>>8,this[y+1]=h&255,y+2},a.prototype.writeInt32LE=function(h,y,k){return h=+h,y=y>>>0,k||B(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,k){return h=+h,y=y>>>0,k||B(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=zt(function(h,y=0){return F(this,h,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=zt(function(h,y=0){return H(this,h,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ne(v,h,y,k,R,M){if(y+k>v.length)throw new RangeError("Index out of range");if(y<0)throw new RangeError("Index out of range")}function se(v,h,y,k,R){return h=+h,y=y>>>0,R||ne(v,h,y,4),r.write(v,h,y,k,23,4),y+4}a.prototype.writeFloatLE=function(h,y,k){return se(this,h,y,!0,k)},a.prototype.writeFloatBE=function(h,y,k){return se(this,h,y,!1,k)};function fe(v,h,y,k,R){return h=+h,y=y>>>0,R||ne(v,h,y,8),r.write(v,h,y,k,52,8),y+8}a.prototype.writeDoubleLE=function(h,y,k){return fe(this,h,y,!0,k)},a.prototype.writeDoubleBE=function(h,y,k){return fe(this,h,y,!1,k)},a.prototype.copy=function(h,y,k,R){if(!a.isBuffer(h))throw new TypeError("argument should be a Buffer");if(k||(k=0),!R&&R!==0&&(R=this.length),y>=h.length&&(y=h.length),y||(y=0),R>0&&R<k&&(R=k),R===k||h.length===0||this.length===0)return 0;if(y<0)throw new RangeError("targetStart out of bounds");if(k<0||k>=this.length)throw new RangeError("Index out of range");if(R<0)throw new RangeError("sourceEnd out of bounds");R>this.length&&(R=this.length),h.length-y<R-k&&(R=h.length-y+k);const M=R-k;return this===h&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(y,k,R):Uint8Array.prototype.set.call(h,this.subarray(k,R),y),M},a.prototype.fill=function(h,y,k,R){if(typeof h=="string"){if(typeof y=="string"?(R=y,y=0,k=this.length):typeof k=="string"&&(R=k,k=this.length),R!==void 0&&typeof R!="string")throw new TypeError("encoding must be a string");if(typeof R=="string"&&!a.isEncoding(R))throw new TypeError("Unknown encoding: "+R);if(h.length===1){const G=h.charCodeAt(0);(R==="utf8"&&G<128||R==="latin1")&&(h=G)}}else typeof h=="number"?h=h&255:typeof h=="boolean"&&(h=Number(h));if(y<0||this.length<y||this.length<k)throw new RangeError("Out of range index");if(k<=y)return this;y=y>>>0,k=k===void 0?this.length:k>>>0,h||(h=0);let M;if(typeof h=="number")for(M=y;M<k;++M)this[M]=h;else{const G=a.isBuffer(h)?h:a.from(h,R),me=G.length;if(me===0)throw new TypeError('The value "'+h+'" is invalid for argument "value"');for(M=0;M<k-y;++M)this[M+y]=G[M%me]}return this};const oe={};function ae(v,h,y){oe[v]=class extends y{constructor(){super(),Object.defineProperty(this,"message",{value:h.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${v}]`,this.stack,delete this.name}get code(){return v}set code(R){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:R,writable:!0})}toString(){return`${this.name} [${v}]: ${this.message}`}}}ae("ERR_BUFFER_OUT_OF_BOUNDS",function(v){return v?`${v} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),ae("ERR_INVALID_ARG_TYPE",function(v,h){return`The "${v}" argument must be of type number. Received type ${typeof h}`},TypeError),ae("ERR_OUT_OF_RANGE",function(v,h,y){let k=`The value of "${v}" is out of range.`,R=y;return Number.isInteger(y)&&Math.abs(y)>2**32?R=ue(String(y)):typeof y=="bigint"&&(R=String(y),(y>BigInt(2)**BigInt(32)||y<-(BigInt(2)**BigInt(32)))&&(R=ue(R)),R+="n"),k+=` It must be ${h}. Received ${R}`,k},RangeError);function ue(v){let h="",y=v.length;const k=v[0]==="-"?1:0;for(;y>=k+4;y-=3)h=`_${v.slice(y-3,y)}${h}`;return`${v.slice(0,y)}${h}`}function de(v,h,y){pe(h,"offset"),(v[h]===void 0||v[h+y]===void 0)&&ge(h,v.length-(y+1))}function we(v,h,y,k,R,M){if(v>y||v<h){const G=typeof h=="bigint"?"n":"";let me;throw h===0||h===BigInt(0)?me=`>= 0${G} and < 2${G} ** ${(M+1)*8}${G}`:me=`>= -(2${G} ** ${(M+1)*8-1}${G}) and < 2 ** ${(M+1)*8-1}${G}`,new oe.ERR_OUT_OF_RANGE("value",me,v)}de(k,R,M)}function pe(v,h){if(typeof v!="number")throw new oe.ERR_INVALID_ARG_TYPE(h,"number",v)}function ge(v,h,y){throw Math.floor(v)!==v?(pe(v,y),new oe.ERR_OUT_OF_RANGE("offset","an integer",v)):h<0?new oe.ERR_BUFFER_OUT_OF_BOUNDS:new oe.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${h}`,v)}const Fe=/[^+/0-9A-Za-z-_]/g;function it(v){if(v=v.split("=")[0],v=v.trim().replace(Fe,""),v.length<2)return"";for(;v.length%4!==0;)v=v+"=";return v}function We(v,h){h=h||1/0;let y;const k=v.length;let R=null;const M=[];for(let G=0;G<k;++G){if(y=v.charCodeAt(G),y>55295&&y<57344){if(!R){if(y>56319){(h-=3)>-1&&M.push(239,191,189);continue}else if(G+1===k){(h-=3)>-1&&M.push(239,191,189);continue}R=y;continue}if(y<56320){(h-=3)>-1&&M.push(239,191,189),R=y;continue}y=(R-55296<<10|y-56320)+65536}else R&&(h-=3)>-1&&M.push(239,191,189);if(R=null,y<128){if((h-=1)<0)break;M.push(y)}else if(y<2048){if((h-=2)<0)break;M.push(y>>6|192,y&63|128)}else if(y<65536){if((h-=3)<0)break;M.push(y>>12|224,y>>6&63|128,y&63|128)}else if(y<1114112){if((h-=4)<0)break;M.push(y>>18|240,y>>12&63|128,y>>6&63|128,y&63|128)}else throw new Error("Invalid code point")}return M}function Rn(v){const h=[];for(let y=0;y<v.length;++y)h.push(v.charCodeAt(y)&255);return h}function K(v,h){let y,k,R;const M=[];for(let G=0;G<v.length&&!((h-=2)<0);++G)y=v.charCodeAt(G),k=y>>8,R=y%256,M.push(R),M.push(k);return M}function tn(v){return e.toByteArray(it(v))}function pr(v,h,y,k){let R;for(R=0;R<k&&!(R+y>=h.length||R>=v.length);++R)h[R+y]=v[R];return R}function Ke(v,h){return v instanceof h||v!=null&&v.constructor!=null&&v.constructor.name!=null&&v.constructor.name===h.name}function Nn(v){return v!==v}const ti=function(){const v="0123456789abcdef",h=new Array(256);for(let y=0;y<16;++y){const k=y*16;for(let R=0;R<16;++R)h[k+R]=v[y]+v[R]}return h}();function zt(v){return typeof BigInt>"u"?e6:v}function e6(){throw new Error("BigInt not supported")}})(Xs);var Xo={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}};Xo.Null=Xo.Nil;for(var S0 in Xo)Xo[S0].toJSON=(function(t){return t}).bind(null,S0);var Lh=Xo,Cs=Lh;function k1(t){return t.name||t.toString().match(/function (.*?)\s*\(/)[1]}function Hh(t){return Cs.Nil(t)?"":k1(t.constructor)}function gk(t){return Cs.Function(t)?"":Cs.String(t)?JSON.stringify(t):t&&Cs.Object(t)?"":t}function Dh(t,e){Error.captureStackTrace&&Error.captureStackTrace(t,e)}function Sc(t){return Cs.Function(t)?t.toJSON?t.toJSON():k1(t):Cs.Array(t)?"Array":t&&Cs.Object(t)?"Object":t!==void 0?t:""}function T1(t,e,r){var n=gk(e);return"Expected "+Sc(t)+", got"+(r!==""?" "+r:"")+(n!==""?" "+n:"")}function _n(t,e,r){r=r||Hh(e),this.message=T1(t,e,r),Dh(this,_n),this.__type=t,this.__value=e,this.__valueTypeName=r}_n.prototype=Object.create(Error.prototype);_n.prototype.constructor=_n;function wk(t,e,r,n,s){var i='" of type ';return e==="key"&&(i='" with key type '),T1('property "'+Sc(r)+i+Sc(t),n,s)}function Si(t,e,r,n,s){t?(s=s||Hh(n),this.message=wk(t,r,e,n,s)):this.message='Unexpected property "'+e+'"',Dh(this,_n),this.__label=r,this.__property=e,this.__type=t,this.__value=n,this.__valueTypeName=s}Si.prototype=Object.create(Error.prototype);Si.prototype.constructor=_n;function vk(t,e){return new _n(t,{},e)}function Ek(t,e,r){return t instanceof Si?(e=e+"."+t.__property,t=new Si(t.__type,e,t.__label,t.__value,t.__valueTypeName)):t instanceof _n&&(t=new Si(t.__type,e,r,t.__value,t.__valueTypeName)),Dh(t),t}var P1={TfTypeError:_n,TfPropertyTypeError:Si,tfCustomError:vk,tfSubError:Ek,tfJSON:Sc,getValueTypeName:Hh},tf,x0;function Ak(){if(x0)return tf;x0=1;var t=Lh,e=P1;function r(T){return Buffer.isBuffer(T)}function n(T){return typeof T=="string"&&/^([0-9a-f]{2})+$/i.test(T)}function s(T,O){var N=T.toJSON();function C(j){if(!T(j))return!1;if(j.length===O)return!0;throw e.tfCustomError(N+"(Length: "+O+")",N+"(Length: "+j.length+")")}return C.toJSON=function(){return N},C}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,O,N){N=N||t.Number;function C(j,$){return N(j,$)&&j>T&&j<O}return C.toJSON=function(){return`${N.toJSON()} between [${T}, ${O}]`},C}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 b(T){return(T|0)===T}function g(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 _(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:b,Int53:g,Range:u,StringN:c,UInt8:E,UInt16:S,UInt32:_,UInt53:A};for(var x in w)w[x].toJSON=(function(T){return T}).bind(null,x);return tf=w,tf}var xa=P1,ut=Lh,on=xa.tfJSON,_1=xa.TfTypeError,I1=xa.TfPropertyTypeError,to=xa.tfSubError,Sk=xa.getValueTypeName,wn={arrayOf:function(e,r){e=Vr(e),r=r||{};function n(s,i){return!ut.Array(s)||ut.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 kt(e,o,i)}catch(c){throw to(c,a)}})}return n.toJSON=function(){var s="["+on(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=Vr(e);function r(n,s){return ut.Nil(n)||e(n,s,t)}return r.toJSON=function(){return"?"+on(e)},r},map:function(e,r){e=Vr(e),r&&(r=Vr(r));function n(s,i){if(!ut.Object(s)||ut.Nil(s))return!1;for(var o in s){try{r&&kt(r,o,i)}catch(c){throw to(c,o,"key")}try{var a=s[o];kt(e,a,i)}catch(c){throw to(c,o)}}return!0}return r?n.toJSON=function(){return"{"+on(r)+": "+on(e)+"}"}:n.toJSON=function(){return"{"+on(e)+"}"},n},object:function(e){var r={};for(var n in e)r[n]=Vr(e[n]);function s(i,o){if(!ut.Object(i)||ut.Nil(i))return!1;var a;try{for(a in r){var c=r[a],u=i[a];kt(c,u,o)}}catch(f){throw to(f,a)}if(o){for(a in i)if(!r[a])throw new I1(void 0,a)}return!0}return s.toJSON=function(){return on(r)},s},anyOf:function(){var e=[].slice.call(arguments).map(Vr);function r(n,s){return e.some(function(i){try{return kt(i,n,s)}catch{return!1}})}return r.toJSON=function(){return e.map(on).join("|")},r},allOf:function(){var e=[].slice.call(arguments).map(Vr);function r(n,s){return e.every(function(i){try{return kt(i,n,s)}catch{return!1}})}return r.toJSON=function(){return e.map(on).join(" & ")},r},quacksLike:function(e){function r(n){return e===Sk(n)}return r.toJSON=function(){return e},r},tuple:function(){var e=[].slice.call(arguments).map(Vr);function r(n,s){return ut.Nil(n)||ut.Nil(n.length)||s&&n.length!==e.length?!1:e.every(function(i,o){try{return kt(i,n[o],s)}catch(a){throw to(a,o)}})}return r.toJSON=function(){return"("+e.map(on).join(", ")+")"},r},value:function(e){function r(n){return n===e}return r.toJSON=function(){return e},r}};wn.oneOf=wn.anyOf;function Vr(t){if(ut.String(t))return t[0]==="?"?wn.maybe(t.slice(1)):ut[t]||wn.quacksLike(t);if(t&&ut.Object(t)){if(ut.Array(t)){if(t.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return wn.arrayOf(t[0])}return wn.object(t)}else if(ut.Function(t))return t;return wn.value(t)}function kt(t,e,r,n){if(ut.Function(t)){if(t(e,r))return!0;throw new _1(n||t,e)}return kt(Vr(t),e,r)}for(var ts in ut)kt[ts]=ut[ts];for(ts in wn)kt[ts]=wn[ts];var k0=Ak();for(ts in k0)kt[ts]=k0[ts];kt.compile=Vr;kt.TfTypeError=_1;kt.TfPropertyTypeError=I1;var xk=kt;(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=Xs;t.typeforce=xk;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})(wt);var ka={},ft={};Object.defineProperty(ft,"__esModule",{value:!0});ft.BufferReader=ft.BufferWriter=ft.cloneBuffer=ft.reverseBuffer=ft.writeUInt64LE=ft.readUInt64LE=ft.varuint=void 0;const Rs=wt,{typeforce:O1}=Rs,Zo=Sm;ft.varuint=Zo;function B1(t,e){if(typeof t!="number")throw new Error("cannot write a non-number as a number");if(t<0)throw new Error("specified a negative value for writing an unsigned value");if(t>e)throw new Error("RangeError: value out of range");if(Math.floor(t)!==t)throw new Error("value has a fractional component")}function C1(t,e){const r=t.readUInt32LE(e);let n=t.readUInt32LE(e+4);return n*=4294967296,B1(n+r,9007199254740991),n+r}ft.readUInt64LE=C1;function R1(t,e,r){return B1(e,9007199254740991),t.writeInt32LE(e&-1,r),t.writeUInt32LE(Math.floor(e/4294967296),r+4),r+8}ft.writeUInt64LE=R1;function kk(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}ft.reverseBuffer=kk;function Tk(t){const e=Buffer.allocUnsafe(t.length);return t.copy(e),e}ft.cloneBuffer=Tk;class zh{static withCapacity(e){return new zh(Buffer.alloc(e))}constructor(e,r=0){this.buffer=e,this.offset=r,O1(Rs.tuple(Rs.Buffer,Rs.UInt32),[e,r])}writeUInt8(e){this.offset=this.buffer.writeUInt8(e,this.offset)}writeInt32(e){this.offset=this.buffer.writeInt32LE(e,this.offset)}writeUInt32(e){this.offset=this.buffer.writeUInt32LE(e,this.offset)}writeUInt64(e){this.offset=R1(this.buffer,e,this.offset)}writeVarInt(e){Zo.encode(e,this.buffer,this.offset),this.offset+=Zo.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}`)}}ft.BufferWriter=zh;class Pk{constructor(e,r=0){this.buffer=e,this.offset=r,O1(Rs.tuple(Rs.Buffer,Rs.UInt32),[e,r])}readUInt8(){const e=this.buffer.readUInt8(this.offset);return this.offset++,e}readInt32(){const e=this.buffer.readInt32LE(this.offset);return this.offset+=4,e}readUInt32(){const e=this.buffer.readUInt32LE(this.offset);return this.offset+=4,e}readUInt64(){const e=C1(this.buffer,this.offset);return this.offset+=8,e}readVarInt(){const e=Zo.decode(this.buffer,this.offset);return this.offset+=Zo.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}}ft.BufferReader=Pk;var ps={};const _k=S1(lS);var Ni={},Rt={},Pt={},Vh={},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=b,t.byteSwap32=g,t.bytesToHex=_,t.hexToBytes=x,t.asyncLoop=O,t.utf8ToBytes=N,t.bytesToUtf8=C,t.toBytes=j,t.kdfInputToBytes=$,t.concatBytes=D,t.checkOpts=z,t.createHasher=U,t.createOptHasher=q,t.createXOFer=Q,t.randomBytes=W;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,...L){if(!r(I))throw new Error("Uint8Array expected");if(L.length>0&&!L.includes(I.length))throw new Error("Uint8Array expected of length "+L+", 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,L=!0){if(I.destroyed)throw new Error("Hash instance has been destroyed");if(L&&I.finished)throw new Error("Hash#digest() has already been called")}function a(I,L){s(I);const X=L.outputLen;if(I.length<X)throw new Error("digestInto() expects output buffer of length at least "+X)}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 L=0;L<I.length;L++)I[L].fill(0)}function l(I){return new DataView(I.buffer,I.byteOffset,I.byteLength)}function p(I,L){return I<<32-L|I>>>L}function d(I,L){return I<<L|I>>>32-L>>>0}t.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function b(I){return I<<24&4278190080|I<<8&16711680|I>>>8&65280|I>>>24&255}t.swap8IfBE=t.isLE?I=>I:I=>b(I),t.byteSwapIfBE=t.swap8IfBE;function g(I){for(let L=0;L<I.length;L++)I[L]=b(I[L]);return I}t.swap32IfBE=t.isLE?I=>I:g;const E=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",S=Array.from({length:256},(I,L)=>L.toString(16).padStart(2,"0"));function _(I){if(s(I),E)return I.toHex();let L="";for(let X=0;X<I.length;X++)L+=S[I[X]];return L}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 x(I){if(typeof I!="string")throw new Error("hex string expected, got "+typeof I);if(E)return Uint8Array.fromHex(I);const L=I.length,X=L/2;if(L%2)throw new Error("hex string expected, got unpadded hex of length "+L);const B=new Uint8Array(X);for(let F=0,H=0;F<X;F++,H+=2){const ne=w(I.charCodeAt(H)),se=w(I.charCodeAt(H+1));if(ne===void 0||se===void 0){const fe=I[H]+I[H+1];throw new Error('hex string expected, got non-hex character "'+fe+'" at index '+H)}B[F]=ne*16+se}return B}const T=async()=>{};t.nextTick=T;async function O(I,L,X){let B=Date.now();for(let F=0;F<I;F++){X(F);const H=Date.now()-B;H>=0&&H<L||(await(0,t.nextTick)(),B+=H)}}function N(I){if(typeof I!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(I))}function C(I){return new TextDecoder().decode(I)}function j(I){return typeof I=="string"&&(I=N(I)),s(I),I}function $(I){return typeof I=="string"&&(I=N(I)),s(I),I}function D(...I){let L=0;for(let B=0;B<I.length;B++){const F=I[B];s(F),L+=F.length}const X=new Uint8Array(L);for(let B=0,F=0;B<I.length;B++){const H=I[B];X.set(H,F),F+=H.length}return X}function z(I,L){if(L!==void 0&&{}.toString.call(L)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(I,L)}class ee{}t.Hash=ee;function U(I){const L=B=>I().update(j(B)).digest(),X=I();return L.outputLen=X.outputLen,L.blockLen=X.blockLen,L.create=()=>I(),L}function q(I){const L=(B,F)=>I(F).update(j(B)).digest(),X=I({});return L.outputLen=X.outputLen,L.blockLen=X.blockLen,L.create=B=>I(B),L}function Q(I){const L=(B,F)=>I(F).update(j(B)).digest(),X=I({});return L.outputLen=X.outputLen,L.blockLen=X.blockLen,L.create=B=>I(B),L}t.wrapConstructor=U,t.wrapConstructorWithOpts=q,t.wrapXOFConstructorWithOpts=Q;function W(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")}})(Vh);Object.defineProperty(Pt,"__esModule",{value:!0});Pt.SHA512_IV=Pt.SHA384_IV=Pt.SHA224_IV=Pt.SHA256_IV=Pt.HashMD=void 0;Pt.setBigUint64=N1;Pt.Chi=Ik;Pt.Maj=Ok;const Mr=Vh;function N1(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);const s=BigInt(32),i=BigInt(4294967295),o=Number(r>>s&i),a=Number(r&i),c=n?4:0,u=n?0:4;t.setUint32(e+c,o,n),t.setUint32(e+u,a,n)}function Ik(t,e,r){return t&e^~t&r}function Ok(t,e,r){return t&e^t&r^e&r}class Bk extends Mr.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,Mr.createView)(this.buffer)}update(e){(0,Mr.aexists)(this),e=(0,Mr.toBytes)(e),(0,Mr.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,Mr.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,Mr.aexists)(this),(0,Mr.aoutput)(e,this),this.finished=!0;const{buffer:r,view:n,blockLen:s,isLE:i}=this;let{pos:o}=this;r[o++]=128,(0,Mr.clean)(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(n,0),o=0);for(let l=o;l<s;l++)r[l]=0;N1(n,s-8,BigInt(this.length*8),i),this.process(n,0);const a=(0,Mr.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()}}Pt.HashMD=Bk;Pt.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Pt.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);Pt.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);Pt.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);Object.defineProperty(Rt,"__esModule",{value:!0});Rt.ripemd160=Rt.RIPEMD160=Rt.md5=Rt.MD5=Rt.sha1=Rt.SHA1=void 0;const Ns=Pt,lt=Vh,ai=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),$n=new Uint32Array(80);class U1 extends Ns.HashMD{constructor(){super(64,20,8,!1),this.A=ai[0]|0,this.B=ai[1]|0,this.C=ai[2]|0,this.D=ai[3]|0,this.E=ai[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)$n[c]=e.getUint32(r,!1);for(let c=16;c<80;c++)$n[c]=(0,lt.rotl)($n[c-3]^$n[c-8]^$n[c-14]^$n[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,Ns.Chi)(s,i,o),f=1518500249):c<40?(u=s^i^o,f=1859775393):c<60?(u=(0,Ns.Maj)(s,i,o),f=2400959708):(u=s^i^o,f=3395469782);const l=(0,lt.rotl)(n,5)+u+a+f+$n[c]|0;a=o,o=i,i=(0,lt.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,lt.clean)($n)}destroy(){this.set(0,0,0,0,0),(0,lt.clean)(this.buffer)}}Rt.SHA1=U1;Rt.sha1=(0,lt.createHasher)(()=>new U1);const Ck=Math.pow(2,32),Rk=Array.from({length:64},(t,e)=>Math.floor(Ck*Math.abs(Math.sin(e+1)))),Ha=ai.slice(0,4),rf=new Uint32Array(16);class F1 extends Ns.HashMD{constructor(){super(64,16,8,!0),this.A=Ha[0]|0,this.B=Ha[1]|0,this.C=Ha[2]|0,this.D=Ha[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)rf[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,Ns.Chi)(s,i,o),u=a,f=[7,12,17,22]):a<32?(c=(0,Ns.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+Rk[a]+rf[u],n=o,o=i,i=s,s=s+(0,lt.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,lt.clean)(rf)}destroy(){this.set(0,0,0,0),(0,lt.clean)(this.buffer)}}Rt.MD5=F1;Rt.md5=(0,lt.createHasher)(()=>new F1);const Nk=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),M1=Uint8Array.from(new Array(16).fill(0).map((t,e)=>e)),Uk=M1.map(t=>(9*t+5)%16),$1=(()=>{const r=[[M1],[Uk]];for(let n=0;n<4;n++)for(let s of r)s.push(s[n].map(i=>Nk[i]));return r})(),j1=$1[0],L1=$1[1],H1=[[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)),Fk=j1.map((t,e)=>t.map(r=>H1[e][r])),Mk=L1.map((t,e)=>t.map(r=>H1[e][r])),$k=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),jk=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function T0(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 Da=new Uint32Array(16);class D1 extends Ns.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)Da[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 b=4-d,g=$k[d],E=jk[d],S=j1[d],_=L1[d],A=Fk[d],w=Mk[d];for(let x=0;x<16;x++){const T=(0,lt.rotl)(n+T0(d,i,a,u)+Da[S[x]]+g,A[x])+l|0;n=l,l=u,u=(0,lt.rotl)(a,10)|0,a=i,i=T}for(let x=0;x<16;x++){const T=(0,lt.rotl)(s+T0(b,o,c,f)+Da[_[x]]+E,w[x])+p|0;s=p,p=f,f=(0,lt.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,lt.clean)(Da)}destroy(){this.destroyed=!0,(0,lt.clean)(this.buffer),this.set(0,0,0,0,0)}}Rt.RIPEMD160=D1;Rt.ripemd160=(0,lt.createHasher)(()=>new D1);Object.defineProperty(Ni,"__esModule",{value:!0});Ni.sha1=Ni.SHA1=void 0;const z1=Rt;Ni.SHA1=z1.SHA1;Ni.sha1=z1.sha1;const V1=S1(iE);(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=_k,r=Ni,n=V1;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})(ps);var nf={},xn={};Object.defineProperty(xn,"__esModule",{value:!0});xn.encode=xn.decode=xn.check=void 0;function Lk(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=Lk;function Hk(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=Hk;function Dk(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=Dk;var Vs={};Object.defineProperty(Vs,"__esModule",{value:!0});Vs.REVERSE_OPS=Vs.OPS=void 0;const bd={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};Vs.OPS=bd;const G1={};Vs.REVERSE_OPS=G1;for(const t of Object.keys(bd)){const e=bd[t];G1[e]=t}var rs={};Object.defineProperty(rs,"__esModule",{value:!0});rs.decode=rs.encode=rs.encodingLength=void 0;const Zn=Vs;function q1(t){return t<Zn.OPS.OP_PUSHDATA1?1:t<=255?2:t<=65535?3:5}rs.encodingLength=q1;function zk(t,e,r){const n=q1(e);return n===1?t.writeUInt8(e,r):n===2?(t.writeUInt8(Zn.OPS.OP_PUSHDATA1,r),t.writeUInt8(e,r+1)):n===3?(t.writeUInt8(Zn.OPS.OP_PUSHDATA2,r),t.writeUInt16LE(e,r+1)):(t.writeUInt8(Zn.OPS.OP_PUSHDATA4,r),t.writeUInt32LE(e,r+1)),n}rs.encode=zk;function Vk(t,e){const r=t.readUInt8(e);let n,s;if(r<Zn.OPS.OP_PUSHDATA1)n=r,s=1;else if(r===Zn.OPS.OP_PUSHDATA1){if(e+2>t.length)return null;n=t.readUInt8(e+1),s=2}else if(r===Zn.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!==Zn.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");n=t.readUInt32LE(e+1),s=5}return{opcode:r,number:n,size:s}}rs.decode=Vk;var Ui={};Object.defineProperty(Ui,"__esModule",{value:!0});Ui.encode=Ui.decode=void 0;function Gk(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=Gk;function qk(t){return t>2147483647?5:t>8388607?4:t>32767?3:t>127?2:t>0?1:0}function Wk(t){let e=Math.abs(t);const r=qk(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=Wk;var bs={},P0;function Kk(){if(P0)return bs;P0=1,Object.defineProperty(bs,"__esModule",{value:!0}),bs.encode=bs.decode=void 0;const t=xn,e=rr(),r=wt,{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}}bs.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 bs.encode=c,bs}var _0;function rr(){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=Vs;Object.defineProperty(t,"OPS",{enumerable:!0,get:function(){return r.OPS}});const n=rs,s=Ui,i=Kk(),o=wt,{typeforce:a}=o,c=r.OPS.OP_RESERVED;function u(C){return o.Number(C)&&(C===r.OPS.OP_0||C>=r.OPS.OP_1&&C<=r.OPS.OP_16||C===r.OPS.OP_1NEGATE)}function f(C){return o.Buffer(C)||u(C)}function l(C){return o.Array(C)&&C.every(f)}t.isPushOnly=l;function p(C){return C.length-C.filter(f).length}t.countNonPushOnlyOPs=p;function d(C){if(C.length===0)return r.OPS.OP_0;if(C.length===1){if(C[0]>=1&&C[0]<=16)return c+C[0];if(C[0]===129)return r.OPS.OP_1NEGATE}}function b(C){return Buffer.isBuffer(C)}function g(C){return o.Array(C)}function E(C){return Buffer.isBuffer(C)}function S(C){if(b(C))return C;a(o.Array,C);const j=C.reduce((z,ee)=>E(ee)?ee.length===1&&d(ee)!==void 0?z+1:z+n.encodingLength(ee.length)+ee.length:z+1,0),$=Buffer.allocUnsafe(j);let D=0;if(C.forEach(z=>{if(E(z)){const ee=d(z);if(ee!==void 0){$.writeUInt8(ee,D),D+=1;return}D+=n.encode($,z.length,D),z.copy($,D),D+=z.length}else $.writeUInt8(z,D),D+=1}),D!==$.length)throw new Error("Could not decode chunks");return $}t.compile=S;function _(C){if(g(C))return C;a(o.Buffer,C);const j=[];let $=0;for(;$<C.length;){const D=C[$];if(D>r.OPS.OP_0&&D<=r.OPS.OP_PUSHDATA4){const z=n.decode(C,$);if(z===null||($+=z.size,$+z.number>C.length))return null;const ee=C.slice($,$+z.number);$+=z.number;const U=d(ee);U!==void 0?j.push(U):j.push(ee)}else j.push(D),$+=1}return j}t.decompile=_;function A(C){if(b(C)&&(C=_(C)),!C)throw new Error("Could not convert invalid chunks to ASM");return C.map(j=>{if(E(j)){const $=d(j);if($===void 0)return j.toString("hex");j=$}return r.REVERSE_OPS[j]}).join(" ")}t.toASM=A;function w(C){return a(o.String,C),S(C.split(" ").map(j=>r.OPS[j]!==void 0?r.OPS[j]:(a(o.Hex,j),Buffer.from(j,"hex"))))}t.fromASM=w;function x(C){return C=_(C),a(l,C),C.map(j=>E(j)?j:j===r.OPS.OP_0?Buffer.allocUnsafe(0):s.encode(j-c))}t.toStack=x;function T(C){return o.isPoint(C)}t.isCanonicalPubKey=T;function O(C){const j=C&-129;return j>0&&j<4}t.isDefinedHashType=O;function N(C){return!Buffer.isBuffer(C)||!O(C[C.length-1])?!1:e.check(C.slice(0,-1))}t.isCanonicalScriptSignature=N,t.number=s,t.signature=i}(nf)),nf}Object.defineProperty(ka,"__esModule",{value:!0});ka.Transaction=void 0;const Ye=ft,Et=ps,I0=rr(),Yk=rr(),ve=wt,{typeforce:$r}=ve;function Dr(t){const e=t.length;return Ye.varuint.encodingLength(e)+e}function Jk(t){const e=t.length;return Ye.varuint.encodingLength(e)+t.reduce((r,n)=>r+Dr(n),0)}const Vn=Buffer.allocUnsafe(0),sf=[],of=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),O0=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),Xk=Buffer.from("ffffffffffffffff","hex"),Zk={script:Vn,valueBuffer:Xk};function Qk(t){return t.value!==void 0}let Nr=class Te{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(e,r){const n=new Ye.BufferReader(e),s=new Te;s.version=n.readInt32();const i=n.readUInt8(),o=n.readUInt8();let a=!1;i===Te.ADVANCED_TRANSACTION_MARKER&&o===Te.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:sf});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 Te.fromBuffer(Buffer.from(e,"hex"),!1)}static isCoinbaseHash(e){$r(ve.Hash256bit,e);for(let r=0;r<32;++r)if(e[r]!==0)return!1;return!0}isCoinbase(){return this.ins.length===1&&Te.isCoinbaseHash(this.ins[0].hash)}addInput(e,r,n,s){return $r(ve.tuple(ve.Hash256bit,ve.UInt32,ve.maybe(ve.UInt32),ve.maybe(ve.Buffer)),arguments),ve.Null(n)&&(n=Te.DEFAULT_SEQUENCE),this.ins.push({hash:e,index:r,script:s||Vn,sequence:n,witness:sf})-1}addOutput(e,r){return $r(ve.tuple(ve.Buffer,ve.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=sf})}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+Dr(s.script),0)+this.outs.reduce((n,s)=>n+8+Dr(s.script),0)+(r?this.ins.reduce((n,s)=>n+Jk(s.witness),0):0)}clone(){const e=new Te;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($r(ve.tuple(ve.UInt32,ve.Buffer,ve.Number),arguments),e>=this.ins.length)return O0;const s=I0.compile(I0.decompile(r).filter(a=>a!==Yk.OPS.OP_CODESEPARATOR)),i=this.clone();if((n&31)===Te.SIGHASH_NONE)i.outs=[],i.ins.forEach((a,c)=>{c!==e&&(a.sequence=0)});else if((n&31)===Te.SIGHASH_SINGLE){if(e>=this.outs.length)return O0;i.outs.length=e+1;for(let a=0;a<e;a++)i.outs[a]=Zk;i.ins.forEach((a,c)=>{c!==e&&(a.sequence=0)})}n&Te.SIGHASH_ANYONECANPAY?(i.ins=[i.ins[e]],i.ins[0].script=s):(i.ins.forEach(a=>{a.script=Vn}),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),Et.hash256(o)}hashForWitnessV1(e,r,n,s,i,o){if($r(ve.tuple(ve.UInt32,$r.arrayOf(ve.Buffer),$r.arrayOf(ve.Satoshi),ve.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===Te.SIGHASH_DEFAULT?Te.SIGHASH_ALL:s&Te.SIGHASH_OUTPUT_MASK,u=(s&Te.SIGHASH_INPUT_MASK)===Te.SIGHASH_ANYONECANPAY,f=a===Te.SIGHASH_NONE,l=a===Te.SIGHASH_SINGLE;let p=Vn,d=Vn,b=Vn,g=Vn,E=Vn;if(!u){let w=Ye.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(x=>{w.writeSlice(x.hash),w.writeUInt32(x.index)}),p=Et.sha256(w.end()),w=Ye.BufferWriter.withCapacity(8*this.ins.length),n.forEach(x=>w.writeUInt64(x)),d=Et.sha256(w.end()),w=Ye.BufferWriter.withCapacity(r.map(Dr).reduce((x,T)=>x+T)),r.forEach(x=>w.writeVarSlice(x)),b=Et.sha256(w.end()),w=Ye.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(x=>w.writeUInt32(x.sequence)),g=Et.sha256(w.end())}if(f||l){if(l&&e<this.outs.length){const w=this.outs[e],x=Ye.BufferWriter.withCapacity(8+Dr(w.script));x.writeUInt64(w.value),x.writeVarSlice(w.script),E=Et.sha256(x.end())}}else{const w=this.outs.map(T=>8+Dr(T.script)).reduce((T,O)=>T+O),x=Ye.BufferWriter.withCapacity(w);this.outs.forEach(T=>{x.writeUInt64(T.value),x.writeVarSlice(T.script)}),E=Et.sha256(x.end())}const S=(i?2:0)+(o?1:0),_=174-(u?49:0)-(f?32:0)+(o?32:0)+(i?37:0),A=Ye.BufferWriter.withCapacity(_);if(A.writeUInt8(s),A.writeInt32(this.version),A.writeUInt32(this.locktime),A.writeSlice(p),A.writeSlice(d),A.writeSlice(b),A.writeSlice(g),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(Dr(o));w.writeVarSlice(o),A.writeSlice(Et.sha256(w.end()))}return l&&A.writeSlice(E),i&&(A.writeSlice(i),A.writeUInt8(0),A.writeUInt32(4294967295)),Et.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),A.end()]))}hashForWitnessV0(e,r,n,s){$r(ve.tuple(ve.UInt32,ve.Buffer,ve.Satoshi,ve.UInt32),arguments);let i=Buffer.from([]),o,a=of,c=of,u=of;if(s&Te.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=Et.hash256(i)),!(s&Te.SIGHASH_ANYONECANPAY)&&(s&31)!==Te.SIGHASH_SINGLE&&(s&31)!==Te.SIGHASH_NONE&&(i=Buffer.allocUnsafe(4*this.ins.length),o=new Ye.BufferWriter(i,0),this.ins.forEach(l=>{o.writeUInt32(l.sequence)}),u=Et.hash256(i)),(s&31)!==Te.SIGHASH_SINGLE&&(s&31)!==Te.SIGHASH_NONE){const l=this.outs.reduce((p,d)=>p+8+Dr(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=Et.hash256(i)}else if((s&31)===Te.SIGHASH_SINGLE&&e<this.outs.length){const l=this.outs[e];i=Buffer.allocUnsafe(8+Dr(l.script)),o=new Ye.BufferWriter(i,0),o.writeUInt64(l.value),o.writeVarSlice(l.script),a=Et.hash256(i)}i=Buffer.allocUnsafe(156+Dr(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),Et.hash256(i)}getHash(e){return e&&this.isCoinbase()?Buffer.alloc(32,0):Et.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){$r(ve.tuple(ve.Number,ve.Buffer),arguments),this.ins[e].script=r}setWitness(e,r){$r(ve.tuple(ve.Number,[ve.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(Te.ADVANCED_TRANSACTION_MARKER),s.writeUInt8(Te.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=>{Qk(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}};ka.Transaction=Nr;Nr.DEFAULT_SEQUENCE=4294967295;Nr.SIGHASH_DEFAULT=0;Nr.SIGHASH_ALL=1;Nr.SIGHASH_NONE=2;Nr.SIGHASH_SINGLE=3;Nr.SIGHASH_ANYONECANPAY=128;Nr.SIGHASH_OUTPUT_MASK=3;Nr.SIGHASH_INPUT_MASK=128;Nr.ADVANCED_TRANSACTION_MARKER=0;Nr.ADVANCED_TRANSACTION_FLAG=1;var _e={},Ta={};Object.defineProperty(Ta,"__esModule",{value:!0});const e3=9007199254740991;function Gh(t){if(t<0||t>e3||t%1!==0)throw new RangeError("value out of range")}function fo(t,e,r){if(Gh(t),e||(e=Buffer.allocUnsafe(W1(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(fo,{bytes:1})):t<=65535?(e.writeUInt8(253,r),e.writeUInt16LE(t,r+1),Object.assign(fo,{bytes:3})):t<=4294967295?(e.writeUInt8(254,r),e.writeUInt32LE(t,r+1),Object.assign(fo,{bytes:5})):(e.writeUInt8(255,r),e.writeUInt32LE(t>>>0,r+1),e.writeUInt32LE(t/4294967296|0,r+5),Object.assign(fo,{bytes:9})),e}Ta.encode=fo;function lo(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(lo,{bytes:1}),r;if(r===253)return Object.assign(lo,{bytes:3}),t.readUInt16LE(e+1);if(r===254)return Object.assign(lo,{bytes:5}),t.readUInt32LE(e+1);{Object.assign(lo,{bytes:9});const n=t.readUInt32LE(e+1),i=t.readUInt32LE(e+5)*4294967296+n;return Gh(i),i}}Ta.decode=lo;function W1(t){return Gh(t),t<253?1:t<=65535?3:t<=4294967295?5:9}Ta.encodingLength=W1;var af={},au={},gt={};Object.defineProperty(gt,"__esModule",{value:!0});gt.testnet=gt.regtest=gt.bitcoin=void 0;gt.bitcoin={messagePrefix:`Bitcoin Signed Message:
|
|
50
|
+
`,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};gt.regtest={messagePrefix:`Bitcoin Signed Message:
|
|
51
|
+
`,bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};gt.testnet={messagePrefix:`Bitcoin Signed Message:
|
|
52
|
+
`,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var Qt={};Object.defineProperty(Qt,"__esModule",{value:!0});Qt.value=Qt.prop=void 0;function t3(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})}})}Qt.prop=t3;function r3(t){let e;return()=>(e!==void 0||(e=t()),e)}Qt.value=r3;Object.defineProperty(au,"__esModule",{value:!0});au.p2data=void 0;const n3=gt,ic=rr(),jr=wt,B0=Qt,C0=ic.OPS;function s3(t,e){if(!t.data&&!t.output)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),(0,jr.typeforce)({network:jr.typeforce.maybe(jr.typeforce.Object),output:jr.typeforce.maybe(jr.typeforce.Buffer),data:jr.typeforce.maybe(jr.typeforce.arrayOf(jr.typeforce.Buffer))},t);const n={name:"embed",network:t.network||n3.bitcoin};if(B0.prop(n,"output",()=>{if(t.data)return ic.compile([C0.OP_RETURN].concat(t.data))}),B0.prop(n,"data",()=>{if(t.output)return ic.decompile(t.output).slice(1)}),e.validate&&t.output){const s=ic.decompile(t.output);if(s[0]!==C0.OP_RETURN)throw new TypeError("Output is invalid");if(!s.slice(1).every(jr.typeforce.Buffer))throw new TypeError("Output is invalid");if(t.data&&!(0,jr.stacksEqual)(t.data,n.data))throw new TypeError("Data mismatch")}return Object.assign(n,t)}au.p2data=s3;var cu={};Object.defineProperty(cu,"__esModule",{value:!0});cu.p2ms=void 0;const i3=gt,ci=rr(),Ge=wt,jn=Qt,ui=ci.OPS,za=ui.OP_RESERVED;function o3(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 ci.isCanonicalScriptSignature(c)||(e.allowIncomplete&&c===ui.OP_0)!==void 0}(0,Ge.typeforce)({network:Ge.typeforce.maybe(Ge.typeforce.Object),m:Ge.typeforce.maybe(Ge.typeforce.Number),n:Ge.typeforce.maybe(Ge.typeforce.Number),output:Ge.typeforce.maybe(Ge.typeforce.Buffer),pubkeys:Ge.typeforce.maybe(Ge.typeforce.arrayOf(Ge.isPoint)),signatures:Ge.typeforce.maybe(Ge.typeforce.arrayOf(r)),input:Ge.typeforce.maybe(Ge.typeforce.Buffer)},t);const s={network:t.network||i3.bitcoin};let i=[],o=!1;function a(c){o||(o=!0,i=ci.decompile(c),s.m=i[0]-za,s.n=i[i.length-2]-za,s.pubkeys=i.slice(1,-2))}if(jn.prop(s,"output",()=>{if(t.m&&s.n&&t.pubkeys)return ci.compile([].concat(za+t.m,t.pubkeys,za+s.n,ui.OP_CHECKMULTISIG))}),jn.prop(s,"m",()=>{if(s.output)return a(s.output),s.m}),jn.prop(s,"n",()=>{if(s.pubkeys)return s.pubkeys.length}),jn.prop(s,"pubkeys",()=>{if(t.output)return a(t.output),s.pubkeys}),jn.prop(s,"signatures",()=>{if(t.input)return ci.decompile(t.input).slice(1)}),jn.prop(s,"input",()=>{if(t.signatures)return ci.compile([ui.OP_0].concat(t.signatures))}),jn.prop(s,"witness",()=>{if(s.input)return[]}),jn.prop(s,"name",()=>{if(!(!s.m||!s.n))return`p2ms(${s.m} of ${s.n})`}),e.validate){if(t.output){if(a(t.output),!Ge.typeforce.Number(i[0]))throw new TypeError("Output is invalid");if(!Ge.typeforce.Number(i[i.length-2]))throw new TypeError("Output is invalid");if(i[i.length-1]!==ui.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,Ge.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,Ge.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]!==ui.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,Ge.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=o3;var uu={};Object.defineProperty(uu,"__esModule",{value:!0});uu.p2pk=void 0;const a3=gt,fi=rr(),yr=wt,ii=Qt,R0=fi.OPS;function c3(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,yr.typeforce)({network:yr.typeforce.maybe(yr.typeforce.Object),output:yr.typeforce.maybe(yr.typeforce.Buffer),pubkey:yr.typeforce.maybe(yr.isPoint),signature:yr.typeforce.maybe(fi.isCanonicalScriptSignature),input:yr.typeforce.maybe(yr.typeforce.Buffer)},t);const r=ii.value(()=>fi.decompile(t.input)),s={name:"p2pk",network:t.network||a3.bitcoin};if(ii.prop(s,"output",()=>{if(t.pubkey)return fi.compile([t.pubkey,R0.OP_CHECKSIG])}),ii.prop(s,"pubkey",()=>{if(t.output)return t.output.slice(1,-1)}),ii.prop(s,"signature",()=>{if(t.input)return r()[0]}),ii.prop(s,"input",()=>{if(t.signature)return fi.compile([t.signature])}),ii.prop(s,"witness",()=>{if(s.input)return[]}),e.validate){if(t.output){if(t.output[t.output.length-1]!==R0.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,yr.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(!fi.isCanonicalScriptSignature(s.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(s,t)}uu.p2pk=c3;var fu={};function u3(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 b=0,g=0,E=0,S=d.length;E!==S&&d[E]===0;)E++,b++;for(var _=(S-E)*u+1>>>0,A=new Uint8Array(_);E!==S;){for(var w=d[E],x=0,T=_-1;(w!==0||x<g)&&T!==-1;T--,x++)w+=256*A[T]>>>0,A[T]=w%o>>>0,w=w/o>>>0;if(w!==0)throw new Error("Non-zero carry");g=x,E++}for(var O=_-g;O!==_&&A[O]===0;)O++;for(var N=a.repeat(b);O<_;++O)N+=t.charAt(A[O]);return N}function l(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;for(var b=0,g=0,E=0;d[b]===a;)g++,b++;for(var S=(d.length-b)*c+1>>>0,_=new Uint8Array(S);d[b];){var A=d.charCodeAt(b);if(A>255)return;var w=e[A];if(w===255)return;for(var x=0,T=S-1;(w!==0||x<E)&&T!==-1;T--,x++)w+=o*_[T]>>>0,_[T]=w%256>>>0,w=w/256>>>0;if(w!==0)throw new Error("Non-zero carry");E=x,b++}for(var O=S-E;O!==S&&_[O]===0;)O++;for(var N=new Uint8Array(g+(S-O)),C=g;O!==S;)N[C++]=_[O++];return N}function p(d){var b=l(d);if(b)return b;throw new Error("Non-base"+o+" character")}return{encode:f,decodeUnsafe:l,decode:p}}var f3=u3;const l3=f3,d3="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var h3=l3(d3),cf=h3,p3=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),cf.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=cf.decodeUnsafe(i);if(o)return r(o)}function s(i){var o=cf.decode(i),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:e,decode:s,decodeUnsafe:n}},{sha256:N0}=V1,y3=p3;function m3(t){return N0(N0(t))}var qh=y3(m3);Object.defineProperty(fu,"__esModule",{value:!0});fu.p2pkh=void 0;const uf=ps,b3=gt,li=rr(),At=wt,an=Qt,U0=qh,Ln=li.OPS;function g3(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,At.typeforce)({network:At.typeforce.maybe(At.typeforce.Object),address:At.typeforce.maybe(At.typeforce.String),hash:At.typeforce.maybe(At.typeforce.BufferN(20)),output:At.typeforce.maybe(At.typeforce.BufferN(25)),pubkey:At.typeforce.maybe(At.isPoint),signature:At.typeforce.maybe(li.isCanonicalScriptSignature),input:At.typeforce.maybe(At.typeforce.Buffer)},t);const r=an.value(()=>{const o=Buffer.from(U0.decode(t.address)),a=o.readUInt8(0),c=o.slice(1);return{version:a,hash:c}}),n=an.value(()=>li.decompile(t.input)),s=t.network||b3.bitcoin,i={name:"p2pkh",network:s};if(an.prop(i,"address",()=>{if(!i.hash)return;const o=Buffer.allocUnsafe(21);return o.writeUInt8(s.pubKeyHash,0),i.hash.copy(o,1),U0.encode(o)}),an.prop(i,"hash",()=>{if(t.output)return t.output.slice(3,23);if(t.address)return r().hash;if(t.pubkey||i.pubkey)return uf.hash160(t.pubkey||i.pubkey)}),an.prop(i,"output",()=>{if(i.hash)return li.compile([Ln.OP_DUP,Ln.OP_HASH160,i.hash,Ln.OP_EQUALVERIFY,Ln.OP_CHECKSIG])}),an.prop(i,"pubkey",()=>{if(t.input)return n()[1]}),an.prop(i,"signature",()=>{if(t.input)return n()[0]}),an.prop(i,"input",()=>{if(t.pubkey&&t.signature)return li.compile([t.signature,t.pubkey])}),an.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]!==Ln.OP_DUP||t.output[1]!==Ln.OP_HASH160||t.output[2]!==20||t.output[23]!==Ln.OP_EQUALVERIFY||t.output[24]!==Ln.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=uf.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(!li.isCanonicalScriptSignature(a[0]))throw new TypeError("Input has invalid signature");if(!(0,At.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=uf.hash160(a[1]);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch")}}return Object.assign(i,t)}fu.p2pkh=g3;var lu={};Object.defineProperty(lu,"__esModule",{value:!0});lu.p2sh=void 0;const F0=ps,w3=gt,zr=rr(),Oe=wt,Lr=Qt,M0=qh,ro=zr.OPS;function v3(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,Oe.typeforce)({network:Oe.typeforce.maybe(Oe.typeforce.Object),address:Oe.typeforce.maybe(Oe.typeforce.String),hash:Oe.typeforce.maybe(Oe.typeforce.BufferN(20)),output:Oe.typeforce.maybe(Oe.typeforce.BufferN(23)),redeem:Oe.typeforce.maybe({network:Oe.typeforce.maybe(Oe.typeforce.Object),output:Oe.typeforce.maybe(Oe.typeforce.Buffer),input:Oe.typeforce.maybe(Oe.typeforce.Buffer),witness:Oe.typeforce.maybe(Oe.typeforce.arrayOf(Oe.typeforce.Buffer))}),input:Oe.typeforce.maybe(Oe.typeforce.Buffer),witness:Oe.typeforce.maybe(Oe.typeforce.arrayOf(Oe.typeforce.Buffer))},t);let r=t.network;r||(r=t.redeem&&t.redeem.network||w3.bitcoin);const n={network:r},s=Lr.value(()=>{const a=Buffer.from(M0.decode(t.address)),c=a.readUInt8(0),u=a.slice(1);return{version:c,hash:u}}),i=Lr.value(()=>zr.decompile(t.input)),o=Lr.value(()=>{const a=i(),c=a[a.length-1];return{network:r,output:c===ro.OP_FALSE?Buffer.from([]):c,input:zr.compile(a.slice(0,-1)),witness:t.witness||[]}});if(Lr.prop(n,"address",()=>{if(!n.hash)return;const a=Buffer.allocUnsafe(21);return a.writeUInt8(n.network.scriptHash,0),n.hash.copy(a,1),M0.encode(a)}),Lr.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 F0.hash160(n.redeem.output)}),Lr.prop(n,"output",()=>{if(n.hash)return zr.compile([ro.OP_HASH160,n.hash,ro.OP_EQUAL])}),Lr.prop(n,"redeem",()=>{if(t.input)return o()}),Lr.prop(n,"input",()=>{if(!(!t.redeem||!t.redeem.input||!t.redeem.output))return zr.compile([].concat(zr.decompile(t.redeem.input),t.redeem.output))}),Lr.prop(n,"witness",()=>{if(n.redeem&&n.redeem.witness)return n.redeem.witness;if(n.input)return[]}),Lr.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]!==ro.OP_HASH160||t.output[1]!==20||t.output[22]!==ro.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=zr.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(zr.countNonPushOnlyOPs(f)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const l=F0.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=zr.decompile(u.input);if(!zr.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,Oe.stacksEqual)(t.redeem.witness,t.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(n,t)}lu.p2sh=v3;var du={},In={};Object.defineProperty(In,"__esModule",{value:!0});In.bech32m=In.bech32=void 0;const xc="qpzry9x8gf2tvdw0s3jn54khce6mua7l",K1={};for(let t=0;t<xc.length;t++){const e=xc.charAt(t);K1[e]=t}function xi(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 $0(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=xi(e)^n>>5}e=xi(e);for(let r=0;r<t.length;++r){const n=t.charCodeAt(r);e=xi(e)^n&31}return e}function Wh(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 E3(t){return Wh(t,8,5,!0)}function A3(t){const e=Wh(t,5,8,!1);if(Array.isArray(e))return e}function S3(t){const e=Wh(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function Y1(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=$0(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=xi(u)^p,f+=xc.charAt(p)}for(let l=0;l<6;++l)u=xi(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=$0(l);if(typeof d=="string")return d;const b=[];for(let g=0;g<p.length;++g){const E=p.charAt(g),S=K1[E];if(S===void 0)return"Unknown character "+E;d=xi(d)^S,!(g+6>=p.length)&&b.push(S)}return d!==e?"Invalid checksum for "+o:{prefix:l,words:b}}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:E3,fromWordsUnsafe:A3,fromWords:S3}}In.bech32=Y1("bech32");In.bech32m=Y1("bech32m");Object.defineProperty(du,"__esModule",{value:!0});du.p2wpkh=void 0;const ff=ps,x3=gt,oc=rr(),Qe=wt,Hn=Qt,Va=In,j0=oc.OPS,k3=Buffer.alloc(0);function T3(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,Qe.typeforce)({address:Qe.typeforce.maybe(Qe.typeforce.String),hash:Qe.typeforce.maybe(Qe.typeforce.BufferN(20)),input:Qe.typeforce.maybe(Qe.typeforce.BufferN(0)),network:Qe.typeforce.maybe(Qe.typeforce.Object),output:Qe.typeforce.maybe(Qe.typeforce.BufferN(22)),pubkey:Qe.typeforce.maybe(Qe.isPoint),signature:Qe.typeforce.maybe(oc.isCanonicalScriptSignature),witness:Qe.typeforce.maybe(Qe.typeforce.arrayOf(Qe.typeforce.Buffer))},t);const r=Hn.value(()=>{const i=Va.bech32.decode(t.address),o=i.words.shift(),a=Va.bech32.fromWords(i.words);return{version:o,prefix:i.prefix,data:Buffer.from(a)}}),n=t.network||x3.bitcoin,s={name:"p2wpkh",network:n};if(Hn.prop(s,"address",()=>{if(!s.hash)return;const i=Va.bech32.toWords(s.hash);return i.unshift(0),Va.bech32.encode(n.bech32,i)}),Hn.prop(s,"hash",()=>{if(t.output)return t.output.slice(2,22);if(t.address)return r().data;if(t.pubkey||s.pubkey)return ff.hash160(t.pubkey||s.pubkey)}),Hn.prop(s,"output",()=>{if(s.hash)return oc.compile([j0.OP_0,s.hash])}),Hn.prop(s,"pubkey",()=>{if(t.pubkey)return t.pubkey;if(t.witness)return t.witness[1]}),Hn.prop(s,"signature",()=>{if(t.witness)return t.witness[0]}),Hn.prop(s,"input",()=>{if(s.witness)return k3}),Hn.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]!==j0.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=ff.hash160(t.pubkey);if(i.length>0&&!i.equals(o))throw new TypeError("Hash mismatch");if(i=o,!(0,Qe.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(!oc.isCanonicalScriptSignature(t.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,Qe.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=ff.hash160(t.witness[1]);if(i.length>0&&!i.equals(o))throw new TypeError("Hash mismatch")}}return Object.assign(s,t)}du.p2wpkh=T3;var hu={};Object.defineProperty(hu,"__esModule",{value:!0});hu.p2wsh=void 0;const L0=ps,P3=gt,pn=rr(),Ie=wt,cn=Qt,Ga=In,H0=pn.OPS,lf=Buffer.alloc(0);function qa(t){return!!(Buffer.isBuffer(t)&&t.length===65&&t[0]===4&&(0,Ie.isPoint)(t))}function _3(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,Ie.typeforce)({network:Ie.typeforce.maybe(Ie.typeforce.Object),address:Ie.typeforce.maybe(Ie.typeforce.String),hash:Ie.typeforce.maybe(Ie.typeforce.BufferN(32)),output:Ie.typeforce.maybe(Ie.typeforce.BufferN(34)),redeem:Ie.typeforce.maybe({input:Ie.typeforce.maybe(Ie.typeforce.Buffer),network:Ie.typeforce.maybe(Ie.typeforce.Object),output:Ie.typeforce.maybe(Ie.typeforce.Buffer),witness:Ie.typeforce.maybe(Ie.typeforce.arrayOf(Ie.typeforce.Buffer))}),input:Ie.typeforce.maybe(Ie.typeforce.BufferN(0)),witness:Ie.typeforce.maybe(Ie.typeforce.arrayOf(Ie.typeforce.Buffer))},t);const r=cn.value(()=>{const o=Ga.bech32.decode(t.address),a=o.words.shift(),c=Ga.bech32.fromWords(o.words);return{version:a,prefix:o.prefix,data:Buffer.from(c)}}),n=cn.value(()=>pn.decompile(t.redeem.input));let s=t.network;s||(s=t.redeem&&t.redeem.network||P3.bitcoin);const i={network:s};if(cn.prop(i,"address",()=>{if(!i.hash)return;const o=Ga.bech32.toWords(i.hash);return o.unshift(0),Ga.bech32.encode(s.bech32,o)}),cn.prop(i,"hash",()=>{if(t.output)return t.output.slice(2);if(t.address)return r().data;if(i.redeem&&i.redeem.output)return L0.sha256(i.redeem.output)}),cn.prop(i,"output",()=>{if(i.hash)return pn.compile([H0.OP_0,i.hash])}),cn.prop(i,"redeem",()=>{if(t.witness)return{output:t.witness[t.witness.length-1],input:lf,witness:t.witness.slice(0,-1)}}),cn.prop(i,"input",()=>{if(i.witness)return lf}),cn.prop(i,"witness",()=>{if(t.redeem&&t.redeem.input&&t.redeem.input.length>0&&t.redeem.output&&t.redeem.output.length>0){const o=pn.toStack(n());return i.redeem=Object.assign({witness:o},t.redeem),i.redeem.input=lf,[].concat(o,t.redeem.output)}if(t.redeem&&t.redeem.output&&t.redeem.witness)return[].concat(t.redeem.witness,t.redeem.output)}),cn.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]!==H0.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=pn.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(pn.countNonPushOnlyOPs(a)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const c=L0.sha256(t.redeem.output);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch");o=c}if(t.redeem.input&&!pn.isPushOnly(n()))throw new TypeError("Non push-only scriptSig");if(t.witness&&t.redeem.witness&&!(0,Ie.stacksEqual)(t.witness,t.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(t.redeem.input&&n().some(qa)||t.redeem.output&&(pn.decompile(t.redeem.output)||[]).some(qa))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(qa)||(pn.decompile(a)||[]).some(qa))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(i,t)}hu.p2wsh=_3;var no={},Gs={};Object.defineProperty(Gs,"__esModule",{value:!0});Gs.getEccLib=Gs.initEccLib=void 0;const bo={};function I3(t,e){t?t!==bo.eccLib&&(e!=null&&e.DANGER_DO_NOT_VERIFY_ECCLIB||B3(t),bo.eccLib=t):bo.eccLib=t}Gs.initEccLib=I3;function O3(){if(!bo.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return bo.eccLib}Gs.getEccLib=O3;const un=t=>Buffer.from(t,"hex");function B3(t){sr(typeof t.isXOnlyPoint=="function"),sr(t.isXOnlyPoint(un("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),sr(t.isXOnlyPoint(un("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),sr(t.isXOnlyPoint(un("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),sr(t.isXOnlyPoint(un("0000000000000000000000000000000000000000000000000000000000000001"))),sr(!t.isXOnlyPoint(un("0000000000000000000000000000000000000000000000000000000000000000"))),sr(!t.isXOnlyPoint(un("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),sr(typeof t.xOnlyPointAddTweak=="function"),C3.forEach(e=>{const r=t.xOnlyPointAddTweak(un(e.pubkey),un(e.tweak));e.result===null?sr(r===null):(sr(r!==null),sr(r.parity===e.parity),sr(Buffer.from(r.xOnlyPubkey).equals(un(e.result))))})}function sr(t){if(!t)throw new Error("ecc library invalid")}const C3=[{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 Kh={};(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=Xs,r=Gs,n=ps,s=ft,i=wt;t.LEAF_VERSION_TAPSCRIPT=192,t.MAX_TAPTREE_DEPTH=128;const o=g=>"left"in g&&"right"in g;function a(g,E){if(g.length<33)throw new TypeError(`The control-block length is too small. Got ${g.length}, expected min 33.`);const S=(g.length-33)/32;let _=E;for(let A=0;A<S;A++){const w=g.slice(33+32*A,65+32*A);_.compare(w)<0?_=d(_,w):_=d(w,_)}return _}t.rootHashFromPath=a;function c(g){if((0,i.isTapleaf)(g))return{hash:f(g)};const E=[c(g[0]),c(g[1])];E.sort((A,w)=>A.hash.compare(w.hash));const[S,_]=E;return{hash:d(S.hash,_.hash),left:S,right:_}}t.toHashTree=c;function u(g,E){if(o(g)){const S=u(g.left,E);if(S!==void 0)return[...S,g.right.hash];const _=u(g.right,E);if(_!==void 0)return[..._,g.left.hash]}else if(g.hash.equals(E))return[]}t.findScriptPath=u;function f(g){const E=g.version||t.LEAF_VERSION_TAPSCRIPT;return n.taggedHash("TapLeaf",e.Buffer.concat([e.Buffer.from([E]),b(g.output)]))}t.tapleafHash=f;function l(g,E){return n.taggedHash("TapTweak",e.Buffer.concat(E?[g,E]:[g]))}t.tapTweakHash=l;function p(g,E){if(!e.Buffer.isBuffer(g)||g.length!==32||E&&E.length!==32)return null;const S=l(g,E),_=(0,r.getEccLib)().xOnlyPointAddTweak(g,S);return!_||_.xOnlyPubkey===null?null:{parity:_.parity,x:e.Buffer.from(_.xOnlyPubkey)}}t.tweakKey=p;function d(g,E){return n.taggedHash("TapBranch",e.Buffer.concat([g,E]))}function b(g){const E=s.varuint.encodingLength(g.length),S=e.Buffer.allocUnsafe(E);return s.varuint.encode(g.length,S),e.Buffer.concat([S,g])}})(Kh);var St={},D0;function R3(){if(D0)return St;D0=1,Object.defineProperty(St,"__esModule",{value:!0}),St.toOutputScript=St.fromOutputScript=St.toBech32=St.toBase58Check=St.fromBech32=St.fromBase58Check=void 0;const t=gt,e=Yh(),r=rr(),n=wt,s=In,i=qh,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 x=A.slice(2);if(x.length<a||x.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]!==x.length)throw new TypeError("Invalid script for segwit address");return console.warn(l),E(x,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 x=w.readUInt8(0),T=w.slice(1);return{version:x,hash:T}}St.fromBase58Check=d;function b(A){let w,x;try{w=s.bech32.decode(A)}catch{}if(w){if(x=w.words[0],x!==0)throw new TypeError(A+" uses wrong encoding")}else if(w=s.bech32m.decode(A),x=w.words[0],x===0)throw new TypeError(A+" uses wrong encoding");const T=s.bech32.fromWords(w.words.slice(1));return{version:x,prefix:w.prefix,data:Buffer.from(T)}}St.fromBech32=b;function g(A,w){(0,n.typeforce)((0,n.tuple)(n.Hash160bit,n.UInt8),arguments);const x=Buffer.allocUnsafe(21);return x.writeUInt8(w,0),A.copy(x,1),i.encode(x)}St.toBase58Check=g;function E(A,w,x){const T=s.bech32.toWords(A);return T.unshift(w),w===0?s.bech32.encode(x,T):s.bech32m.encode(x,T)}St.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")}St.fromOutputScript=S;function _(A,w){w=w||t.bitcoin;let x,T;try{x=d(A)}catch{}if(x){if(x.version===w.pubKeyHash)return e.p2pkh({hash:x.hash}).output;if(x.version===w.scriptHash)return e.p2sh({hash:x.hash}).output}else{try{T=b(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 St.toOutputScript=_,St}var z0;function N3(){if(z0)return no;z0=1,Object.defineProperty(no,"__esModule",{value:!0}),no.p2tr=void 0;const t=Xs,e=gt,r=rr(),n=wt,s=Gs,i=Kh,o=Qt,a=In,c=R3(),u=r.OPS,f=1,l=80;function p(d,b){if(!d.address&&!d.output&&!d.pubkey&&!d.internalPubkey&&!(d.witness&&d.witness.length>1))throw new TypeError("Not enough data");b=Object.assign({validate:!0},b||{}),(0,n.typeforce)({address:n.typeforce.maybe(n.typeforce.String),input:n.typeforce.maybe(n.typeforce.BufferN(0)),network:n.typeforce.maybe(n.typeforce.Object),output:n.typeforce.maybe(n.typeforce.BufferN(34)),internalPubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),hash:n.typeforce.maybe(n.typeforce.BufferN(32)),pubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),signature:n.typeforce.maybe(n.typeforce.anyOf(n.typeforce.BufferN(64),n.typeforce.BufferN(65))),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer)),scriptTree:n.typeforce.maybe(n.isTaptree),redeem:n.typeforce.maybe({output:n.typeforce.maybe(n.typeforce.Buffer),redeemVersion:n.typeforce.maybe(n.typeforce.Number),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer))}),redeemVersion:n.typeforce.maybe(n.typeforce.Number)},d);const g=o.value(()=>(0,c.fromBech32)(d.address)),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}}),_=d.network||e.bitcoin,A={name:"p2tr",network:_};if(o.prop(A,"address",()=>{if(!A.pubkey)return;const w=a.bech32m.toWords(A.pubkey);return w.unshift(f),a.bech32m.encode(_.bech32,w)}),o.prop(A,"hash",()=>{const w=S();if(w)return w.hash;const x=E();if(x&&x.length>1){const T=x[x.length-1],O=T[0]&n.TAPLEAF_VERSION_MASK,N=x[x.length-2],C=(0,i.tapleafHash)({output:N,version:O});return(0,i.rootHashFromPath)(T,C)}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 g().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 x=(0,i.tapleafHash)({output:d.redeem.output,version:A.redeemVersion}),T=(0,i.findScriptPath)(w,x);if(!T)return;const O=(0,i.tweakKey)(d.internalPubkey,w.hash);if(!O)return;const N=t.Buffer.concat([t.Buffer.from([A.redeemVersion|O.parity]),d.internalPubkey].concat(T));return[d.redeem.output,N]}if(d.signature)return[d.signature]}),b.validate){let w=t.Buffer.from([]);if(d.address){if(_&&_.bech32!==g().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(g().version!==f)throw new TypeError("Invalid address version");if(g().data.length!==32)throw new TypeError("Invalid address data");w=g().data}if(d.pubkey){if(w.length>0&&!w.equals(d.pubkey))throw new TypeError("Pubkey mismatch");w=d.pubkey}if(d.output){if(d.output.length!==34||d.output[0]!==u.OP_1||d.output[1]!==32)throw new TypeError("Output is invalid");if(w.length>0&&!w.equals(d.output.slice(2)))throw new TypeError("Pubkey mismatch");w=d.output.slice(2)}if(d.internalPubkey){const O=(0,i.tweakKey)(d.internalPubkey,A.hash);if(w.length>0&&!w.equals(O.x))throw new TypeError("Pubkey mismatch");w=O.x}if(w&&w.length&&!(0,s.getEccLib)().isXOnlyPoint(w))throw new TypeError("Invalid pubkey for p2tr");const x=S();if(d.hash&&x&&!d.hash.equals(x.hash))throw new TypeError("Hash mismatch");if(d.redeem&&d.redeem.output&&x){const O=(0,i.tapleafHash)({output:d.redeem.output,version:A.redeemVersion});if(!(0,i.findScriptPath)(x,O))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 O=T[T.length-1];if(O.length<33)throw new TypeError(`The control-block length is too small. Got ${O.length}, expected min 33.`);if((O.length-33)%32!==0)throw new TypeError(`The control-block length of ${O.length} is incorrect!`);const N=(O.length-33)/32;if(N>128)throw new TypeError(`The script path is too long. Got ${N}, expected max 128.`);const C=O.slice(1,33);if(d.internalPubkey&&!d.internalPubkey.equals(C))throw new TypeError("Internal pubkey mismatch");if(!(0,s.getEccLib)().isXOnlyPoint(C))throw new TypeError("Invalid internalPubkey for p2tr witness");const j=O[0]&n.TAPLEAF_VERSION_MASK,$=T[T.length-2],D=(0,i.tapleafHash)({output:$,version:j}),z=(0,i.rootHashFromPath)(O,D),ee=(0,i.tweakKey)(C,z);if(!ee)throw new TypeError("Invalid outputKey for p2tr witness");if(w.length&&!w.equals(ee.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(ee.parity!==(O[0]&1))throw new Error("Incorrect parity")}}return Object.assign(A,d)}return no.p2tr=p,no}var V0;function Yh(){return V0||(V0=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=N3();Object.defineProperty(t,"p2tr",{enumerable:!0,get:function(){return c.p2tr}})}(af)),af}Object.defineProperty(_e,"__esModule",{value:!0});_e.signatureBlocksAction=_e.checkInputForSig=_e.pubkeyInScript=_e.pubkeyPositionInScript=_e.witnessStackToScriptWitness=_e.isP2TR=_e.isP2SHScript=_e.isP2WSHScript=_e.isP2WPKH=_e.isP2PKH=_e.isP2PK=_e.isP2MS=void 0;const G0=Ta,go=rr(),Wa=ka,U3=ps,Zs=Yh();function Qs(t){return e=>{try{return t({output:e}),!0}catch{return!1}}}_e.isP2MS=Qs(Zs.p2ms);_e.isP2PK=Qs(Zs.p2pk);_e.isP2PKH=Qs(Zs.p2pkh);_e.isP2WPKH=Qs(Zs.p2wpkh);_e.isP2WSHScript=Qs(Zs.p2wsh);_e.isP2SHScript=Qs(Zs.p2sh);_e.isP2TR=Qs(Zs.p2tr);function F3(t){let e=Buffer.allocUnsafe(0);function r(o){e=Buffer.concat([e,Buffer.from(o)])}function n(o){const a=e.length,c=G0.encodingLength(o);e=Buffer.concat([e,Buffer.allocUnsafe(c)]),G0.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}_e.witnessStackToScriptWitness=F3;function J1(t,e){const r=(0,U3.hash160)(t),n=t.slice(1,33),s=go.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))}_e.pubkeyPositionInScript=J1;function M3(t,e){return J1(t,e)!==-1}_e.pubkeyInScript=M3;function $3(t,e){return j3(t).some(n=>X1(n,go.signature.decode,e))}_e.checkInputForSig=$3;function X1(t,e,r){const{hashType:n}=e(t),s=[];switch(n&Wa.Transaction.SIGHASH_ANYONECANPAY&&s.push("addInput"),n&31){case Wa.Transaction.SIGHASH_ALL:break;case Wa.Transaction.SIGHASH_SINGLE:case Wa.Transaction.SIGHASH_NONE:s.push("addOutput"),s.push("setInputSequence");break}return s.indexOf(r)===-1}_e.signatureBlocksAction=X1;function j3(t){let e=[];if((t.partialSig||[]).length===0){if(!t.finalScriptSig&&!t.finalScriptWitness)return[];e=L3(t)}else e=t.partialSig;return e.map(r=>r.signature)}function L3(t){const e=t.finalScriptSig?go.decompile(t.finalScriptSig)||[]:[],r=t.finalScriptWitness?go.decompile(t.finalScriptWitness)||[]:[];return e.concat(r).filter(n=>Buffer.isBuffer(n)&&go.isCanonicalScriptSignature(n)).map(n=>({signature:n}))}Object.defineProperty(je,"__esModule",{value:!0});je.checkTaprootInputForSigs=je.tapTreeFromList=je.tapTreeToList=je.tweakInternalPubKey=je.checkTaprootOutputFields=je.checkTaprootInputFields=je.isTaprootOutput=je.isTaprootInput=ho=je.serializeTaprootSignature=je.tapScriptFinalizer=je.toXOnly=void 0;const Jh=wt,H3=ka,pu=_e,cs=Kh,D3=Yh(),z3=_e,V3=t=>t.length===32?t:t.slice(1,33);je.toXOnly=V3;function G3(t,e,r){const n=uT(e,t,r);try{const i=aT(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}`)}}je.tapScriptFinalizer=G3;function q3(t,e){const r=e?Buffer.from([e]):Buffer.from([]);return Buffer.concat([t,r])}var ho=je.serializeTaprootSignature=q3;function ac(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))}je.isTaprootInput=ac;function cc(t,e){return t&&!!(t.tapInternalKey||t.tapTree||t.tapBip32Derivation&&t.tapBip32Derivation.length||e&&(0,pu.isP2TR)(e))}je.isTaprootOutput=cc;function W3(t,e,r){sT(t,e,r),oT(t,e,r)}je.checkTaprootInputFields=W3;function K3(t,e,r){iT(t,e,r),Y3(t,e)}je.checkTaprootOutputFields=K3;function Y3(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=J3(r,n);if(s&&!s.equals(i))throw new Error("Error adding output. Script or address missmatch.")}}function J3(t,e){const r=e&&Z1(e.leaves),{output:n}=(0,D3.p2tr)({internalPubkey:t,scriptTree:r});return n}function X3(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}je.tweakInternalPubKey=X3;function Z3(t){if(!(0,Jh.isTaptree)(t))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return gd(t)}je.tapTreeToList=Z3;function Z1(t=[]){return t.length===1&&t[0].depth===0?{output:t[0].script,version:t[0].leafVersion}:nT(t)}je.tapTreeFromList=Z1;function Q3(t,e){return tT(t).some(n=>(0,z3.signatureBlocksAction)(n,eT,e))}je.checkTaprootInputForSigs=Q3;function eT(t){return{signature:t.slice(0,64),hashType:t.slice(64)[0]||H3.Transaction.SIGHASH_DEFAULT}}function tT(t){const e=[];if(t.tapKeySig&&e.push(t.tapKeySig),t.tapScriptSig&&e.push(...t.tapScriptSig.map(r=>r.signature)),!e.length){const r=rT(t.finalScriptWitness);r&&e.push(r)}return e}function rT(t){if(!t)return;const e=t.slice(2);if(e.length===64||e.length===65)return e}function gd(t,e=[],r=0){if(r>cs.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return t?(0,Jh.isTapleaf)(t)?(e.push({depth:r,leafVersion:t.version||cs.LEAF_VERSION_TAPSCRIPT,script:t.output}),e):(t[0]&&gd(t[0],e,r+1),t[1]&&gd(t[1],e,r+1),e):[]}function nT(t){let e;for(const r of t)if(e=wd(r,e),!e)throw new Error("No room left to insert tapleaf in tree");return e}function wd(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,Jh.isTapleaf)(e))return;const n=wd(t,e&&e[0],r+1);if(n)return[n,e&&e[1]];const s=wd(t,e&&e[1],r+1);if(s)return[e&&e[0],s]}function sT(t,e,r){const n=ac(t)&&ki(e),s=ki(t)&&ac(e),i=t===e&&ac(e)&&ki(e);if(n||s||i)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function iT(t,e,r){const n=cc(t)&&ki(e),s=ki(t)&&cc(e),i=t===e&&cc(e)&&ki(e);if(n||s||i)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function oT(t,e,r){if(e.tapMerkleRoot){const n=(e.tapLeafScript||[]).every(i=>df(i,e.tapMerkleRoot)),s=(t.tapLeafScript||[]).every(i=>df(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=>df(s,t.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}function df(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 aT(t,e){const r=(0,cs.tapleafHash)({output:e.script,version:e.leafVersion});return(t.tapScriptSig||[]).filter(n=>n.leafHash.equals(r)).map(n=>cT(e.script,n)).sort((n,s)=>s.positionInScript-n.positionInScript).map(n=>n.signature)}function cT(t,e){return Object.assign({positionInScript:(0,pu.pubkeyPositionInScript)(e.pubkey,t)},e)}function uT(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=>fT(s,t.tapScriptSig,r));if(!n)throw new Error(`Can not finalize taproot input #${e}. Signature for tapleaf script not found.`);return n}function fT(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 ki(t){return t&&!!(t.redeemScript||t.witnessScript||t.bip32Derivation&&t.bip32Derivation.length)}const ir={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"},Ka=192;Ae.initEccLib(fr);let q0=class{constructor(e,r){this.signer=e,this.internalPubkey=A0(),this.network=ek(r)}address(e,r){const n=this.generateLeaves(e,r),{address:s}=Ae.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:n});if(!s)throw new Error(ir.htlcAddressGenerationFailed);return s}async _buildRawTx(e,r,n,s,i){const o=new Ae.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 b=0;b<d.vout.length;b++){const g=d.vout[b];g.scriptpubkey_address===a&&u.push({txid:d.txid,vout:b,value:g.value,status:{confirmed:!1}})}}else u=await c.getUTXOs(a);const f=u.reduce((p,d)=>p+d.value,0);if(f===0)throw new Error(`${a} ${ir.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),b=f-d;return o.addOutput(Ae.address.toOutputScript(r,this.network),b),{tx:o,usedUtxos:u}}const l=(s==null?void 0:s.fee)??await c.suggestFee(a,f,Ai.MEDIUM);return o.addOutput(Ae.address.toOutputScript(r,this.network),f-l),{tx:o,usedUtxos:u,fee:l,balance:f}}getOutputScript(e,r){return Ae.address.toOutputScript(this.address(e,r||"redeem"),this.network)}async initiate(e,r){const n=await this.getProvider(),s=await this.signer.getAddress();let i,o;Y.isOrder(e)?(i=e.source_swap.swap_id,o=Number(e.source_swap.amount)):(i=e.to,o=Number(e.amount)),r===void 0&&(r=await n.suggestFee(s,o,Ai.MEDIUM));const a=await this.signer.send(i,o,r);return m.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=Ae.Transaction.SIGHASH_SINGLE|Ae.Transaction.SIGHASH_ANYONECANPAY,c=this.leafHash(1,e),u=i.map(l=>l.value),f=eo(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,[ho(d,a),Buffer.from(r,"hex"),this.redeemLeaf(m.trim0x(e.destination_swap.secret_hash),Me(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=Ae.Transaction.SIGHASH_SINGLE|Ae.Transaction.SIGHASH_ANYONECANPAY,c=this.leafHash(2,e),u=s.map(l=>l.value),f=eo(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,[ho(d,a),ho(d,a),this.instantRefundLeaf(Me(e.source_swap.initiator),Me(e.destination_swap.delegate)),await this.generateControlBlockFor(2,e)])}return n.toHex()}async generateInstantRefundSACPWithHash(e){const r=[],n=Ae.Transaction.SIGHASH_SINGLE|Ae.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(ho(o,n).toString("hex"))}return m.Ok(r)}async instantRefund(e,r,n){g0(r.length>0,ir.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(ir.counterPartySigNotFound(p.txid));const o=this.getOutputScript(e,"instantRefund"),a=Ae.Transaction.SIGHASH_DEFAULT,c=this.leafHash(2,e),u=i.map(p=>p.value),f=eo(o,i.length);for(let p=0;p<s.ins.length;p++){const d=s.hashForWitnessV1(p,f,u,a,c);if(!fr.verifySchnorr(d,Buffer.from(Me(e.destination_swap.delegate),"hex"),Buffer.from(r[p].sig,"hex")))throw new Error(ir.invalidCounterpartySigForUTXO(r[p].utxo));const b=await this.signer.signSchnorr(d),g=Buffer.from(s.ins[p].hash).reverse().toString("hex"),E=r.find(S=>S.utxo===g);if(!E)throw new Error(ir.counterPartySigNotFound(g));s.setWitness(p,[Buffer.from(E.sig,"hex"),b,this.instantRefundLeaf(Me(e.source_swap.initiator),Me(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 m.Err(s.error);const o=await(await this.getProvider()).broadcast(s.val);return m.Ok(o)}async getRedeemHex(e,r,n){g0(Ae.crypto.sha256(Buffer.from(r,"hex")).toString("hex")===m.trim0x(e.destination_swap.secret_hash),ir.secretMismatch);const o=(Y.isBitcoin(e.source_swap.chain)?e.source_swap.redeemer:e.destination_swap.redeemer)??await this.signer.getAddress(),{tx:a,usedUtxos:c}=await this._buildRawTx(e,o,"redeem",{fee:0},n),u=this.leafHash(1,e),f=c.map(b=>b.value),l=eo(this.getOutputScript(e,"redeem"),c.length),p=Ae.Transaction.SIGHASH_DEFAULT;for(let b=0;b<a.ins.length;b++){const g=a.hashForWitnessV1(b,l,f,p,u),E=await this.signer.signSchnorr(g);a.setWitness(b,[E,Buffer.from(r,"hex"),this.redeemLeaf(m.trim0x(e.destination_swap.secret_hash),Me(e.destination_swap.delegate)),await this.generateControlBlockFor(1,e)])}const{tx:d}=await this._buildRawTx(e,o,"redeem",{vSize:a.virtualSize()},n);for(let b=0;b<d.ins.length;b++){const g=d.hashForWitnessV1(b,l,f,p,u),E=await this.signer.signSchnorr(g);d.setWitness(b,[E,Buffer.from(r,"hex"),this.redeemLeaf(m.trim0x(e.destination_swap.secret_hash),Me(e.destination_swap.delegate)),await this.generateControlBlockFor(1,e)])}return m.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(ir.htlcNotExpired(o));const a=this.leafHash(0,e),c=s.map(d=>d.value),u=eo(this.getOutputScript(e,"refund"),s.length),f=Ae.Transaction.SIGHASH_DEFAULT;for(let d=0;d<n.ins.length;d++){n.ins[d].sequence=e.source_swap.timelock;const b=n.hashForWitnessV1(d,u,c,f,a),g=await this.signer.signSchnorr(b);n.setWitness(d,[g,this.refundLeaf(e.source_swap.timelock,Me(e.source_swap.initiator)),await this.generateControlBlockFor(0,e)])}const p=await(await this.getProvider()).broadcast(n.toHex());return m.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(m.trim0x(r.destination_swap.secret_hash),Me(r.destination_swap.delegate)),s=this.generateLeaves(r,"redeem");break;case 0:n=this.refundLeaf(r.source_swap.timelock,Me(r.source_swap.initiator)),s=this.generateLeaves(r,"refund");break;case 2:n=this.instantRefundLeaf(Me(r.source_swap.initiator),Me(r.destination_swap.delegate)),s=this.generateLeaves(r,"instantRefund");break;default:throw new Error(ir.controlBlockGenerationFailed)}const i=await this.signer.getNetwork(),o=Ae.payments.p2tr({internalPubkey:A0(),network:i,scriptTree:s,redeem:{output:n,redeemVersion:Ka}});if(!o.witness)throw new Error(ir.controlBlockGenerationFailed);return o.witness[o.witness.length-1]}leafHash(e,r){let n;switch(e){case 1:n=this.redeemLeaf(m.trim0x(r.destination_swap.secret_hash),Me(r.destination_swap.delegate));break;case 0:n=this.refundLeaf(r.source_swap.timelock,Me(r.source_swap.initiator));break;case 2:n=this.instantRefundLeaf(Me(r.source_swap.initiator),Me(r.destination_swap.redeemer));break;default:throw new Error(ir.invalidLeaf)}return Ae.crypto.taggedHash("TapLeaf",Wx(n))}refundLeaf(e,r){return Ae.script.fromASM(`
|
|
53
|
+
${Ae.script.number.encode(e).toString("hex")}
|
|
54
|
+
OP_CHECKSEQUENCEVERIFY
|
|
55
|
+
OP_DROP
|
|
56
|
+
${r}
|
|
57
|
+
OP_CHECKSIG
|
|
58
|
+
`.trim().replace(/\s+/g," "))}redeemLeaf(e,r){return Ae.script.fromASM(`
|
|
59
|
+
OP_SHA256
|
|
60
|
+
${e}
|
|
61
|
+
OP_EQUALVERIFY
|
|
62
|
+
${r}
|
|
63
|
+
OP_CHECKSIG
|
|
64
|
+
`.trim().replace(/\s+/g," "))}instantRefundLeaf(e,r){return Ae.script.fromASM(`
|
|
65
|
+
${e}
|
|
66
|
+
OP_CHECKSIG
|
|
67
|
+
${r}
|
|
68
|
+
OP_CHECKSIGADD
|
|
69
|
+
OP_2
|
|
70
|
+
OP_NUMEQUAL
|
|
71
|
+
`.trim().replace(/\s+/g," "))}generateLeaves(e,r){let n,s,i;switch(r){case"redeem":n=e.destination_swap,s=n.delegate,i=n.delegate;break;case"refund":n=e.source_swap,s=n.delegate,i=n.delegate;break;case"instantRefund":n=e.source_swap,s=n.redeemer,i=n.redeemer;break;default:throw new Error("Invalid leaf generation type")}return[{version:Ka,output:this.redeemLeaf(n.secret_hash,Me(s))},[{version:Ka,output:this.refundLeaf(n.timelock,Me(n.initiator))},{version:Ka,output:this.instantRefundLeaf(Me(n.initiator),Me(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=Yx(i,s);return[Ae.crypto.taggedHash("TapBranch",Buffer.concat(o))]}case 0:return[s,n];case 2:return[i,n];default:throw new Error(ir.invalidLeaf)}}getProvider(){return this.signer.getProvider()}get getPublicKey(){return this.signer.getPublicKey()}get htlcActorAddress(){return this.signer.getPublicKey()}};class Q1{constructor(e,r){this.quoteUrl=new m.Url(e),this.auth=r}async getQuoteFromAssets({fromAsset:e,toAsset:r,amount:n,isExactOut:s=!1,options:i}){const o=Y.ChainAsset.from(e),a=Y.ChainAsset.from(r);return this.getQuote(o,a,n,s,i)}async getQuote(e,r,n,s=!1,i){try{const o=await this.auth.getAuthHeaders();if(o.error)return m.Err(o.error);const a={from:Y.ChainAsset.from(e).toString(),to:Y.ChainAsset.from(r).toString(),...s?{to_amount:n.toString()}:{from_amount:n.toString()},...(i==null?void 0:i.affiliateFee)!==void 0&&{affiliate_fee:i.affiliateFee.toString()}},c=this.quoteUrl.endpoint("/v2/quote").addSearchParams(a),u=await m.Fetcher.get(c,{retryCount:0,...i==null?void 0:i.request,headers:{...o.val,"Content-Type":"application/json"}});return u.error?m.Err(u.error):u.result?m.Ok(u.result):m.Err("GetQuote: Unexpected error, result is undefined")}catch(o){return m.Err("GetQuote:",String(o))}}}class Fi extends m.EventBroker{get isInitialized(){return!!this.digestKey}constructor(e,r){super(),this.digestKey=e,this.walletClient=r}static fromDigestKey(e){return new Fi(m.trim0x(e))}static fromWalletClient(e){return new Fi(void 0,e)}async initialize(){if(this.digestKey)return m.Ok("Already initialized");const e=await this.deriveDigestKeyFromWalletClient();return e.error?m.Err(e.error):(this.emit("initialized",!0),m.Ok("Initialized"))}async deriveDigestKeyFromWalletClient(){if(!this.walletClient)return m.Err("No walletClient found");if(!this.walletClient.account)return m.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=m.trim0x(uo(e)),this.emit("initialized",!0),m.Ok(this.digestKey)}catch(e){return m.Err("Failed to initialize: "+e)}}async getDigestKey(){if(!this.digestKey&&!this.walletClient)return m.Err("No private key or wallet client found");if(!this.digestKey&&this.walletClient){const e=await this.deriveDigestKeyFromWalletClient();if(e.error)return m.Err(e.error)}return this.digestKey?m.Ok(this.digestKey):m.Err("No private key found")}async generateSecret(e){const r=await this.signMessage(e);if(!r.ok)return m.Err(r.error);const n=uo(m.with0x(r.val)),s=uo(n);return m.Ok({secret:n,secretHash:s})}async signMessage(e){if(!this.digestKey){const u=await this.getDigestKey();if(!u.ok)return m.Err(u.error);this.digestKey=u.val}const r=tc.ECPairFactory(fr),n="Garden.fi"+e.toString(),s=Buffer.from(n,"utf8"),i=uo(s),o=Buffer.from(m.trim0x(this.digestKey),"hex");if(o.length!==32)return m.Err("Invalid private key length. Expected 32 bytes.");const c=r.fromPrivateKey(o).sign(Buffer.from(m.trim0x(i),"hex"));return m.Ok(c.toString("hex"))}}const ew=[{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"}],lT=[{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 Wi{constructor(e,r){this.auth=e,this.url=r instanceof m.Url?r:new m.Url(r)}async initiate(e,r){try{const n=await this.auth.getAuthHeaders();if(!n.ok)return m.Err(n.error);const s=await m.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?m.Err(s.error||"Initiate failed"):m.Ok(s.result)}catch(n){return m.Err(String(n))}}async redeem(e,r){try{const n=await this.auth.getAuthHeaders();if(!n.ok)return m.Err(n.error);const s=await m.Fetcher.patch(this.url.endpoint("/v2/orders").endpoint(e).addSearchParams({action:"redeem"}),{body:JSON.stringify({secret:m.trim0x(r)}),headers:{...n.val,"Content-Type":"application/json"},retryCount:10,retryDelay:2e3});return s.error?m.Err(s.error):s.result?m.Ok(s.result):m.Err("Redeem: No result found")}catch(n){return m.Err(String(n))}}}const dT=async(t,e)=>{if(!t.account)return m.Err("No account found");try{const n=await Eh({address:m.with0x(e.htlc),abi:lT,client:t}).write.initiate([m.with0x(e.redeemer),e.timelock,e.amount,m.with0x(e.secretHash)],{account:t.account,chain:t.chain,value:e.amount}),s=await m.waitForTransactionReceipt(t,n);return s.ok?!s.val||s.val.status!=="success"?m.Err("Native initiate transaction failed"):m.Ok(n):m.Err(s.error)}catch(r){return $h(r)?m.Ok("already initiated"):m.Err("Failed to initiate on native HTLC",String(r))}},hT=async(t,e,r,n)=>{if(!t.account)return m.Err("No account found");try{const s=Eh({address:m.with0x(n.htlc),abi:ew,client:t}),i=await m.checkAllowanceAndApprove(Number(n.amount),n.token,n.htlc,t);if(!i.ok)return m.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:m.with0x(n.redeemer),timelock:n.timelock,amount:n.amount,secretHash:m.with0x(n.secretHash)}}),c=new Wi(r,e),u=await A1({wallet:t,attempt:()=>c.initiate(n.orderId,a)});if(u)return m.Ok(u);const f=await s.write.initiate([m.with0x(n.redeemer),n.timelock,n.amount,m.with0x(n.secretHash)],{account:t.account,chain:t.chain}),l=await m.waitForTransactionReceipt(t,f);return l.ok?!l.val||l.val.status!=="success"?m.Err("Failed to initiate (fallback)"):m.Ok(f):m.Err(l.error)}catch(s){return $h(s)?m.Ok("already initiated"):m.Err("Failed to initiate on ERC20 HTLC",String(s))}},pT=async(t,e)=>{if(!t.account)return m.Err("No account found");try{const r=await t.sendTransaction({account:t.account,to:m.with0x(e.to),value:BigInt(e.value),data:m.with0x(e.data),gas:BigInt(e.gas_limit),chain:t.chain}),n=await m.waitForTransactionReceipt(t,r);return n.ok?!n.val||n.val.status!=="success"?m.Err("Approval transaction failed"):m.Ok(r):m.Err(n.error)}catch(r){return m.Err("Failed to execute approval: "+String(r))}},yT={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},mT={block:K5({format(t){var r;return{transactions:(r=t.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const s=ya(n);return s.typeHex==="0x7e"&&(s.isSystemTx=n.isSystemTx,s.mint=n.mint?at(n.mint):void 0,s.sourceHash=n.sourceHash,s.type="deposit"),s}),stateRoot:t.stateRoot}}}),transaction:q5({format(t){const e={};return t.type==="0x7e"&&(e.isSystemTx=t.isSystemTx,e.mint=t.mint?at(t.mint):void 0,e.sourceHash=t.sourceHash,e.type="deposit"),e}}),transactionReceipt:cA({format(t){return{l1GasPrice:t.l1GasPrice?at(t.l1GasPrice):null,l1GasUsed:t.l1GasUsed?at(t.l1GasUsed):null,l1Fee:t.l1Fee?at(t.l1Fee):null,l1FeeScalar:t.l1FeeScalar?Number(t.l1FeeScalar):null}}})};function bT(t,e){return vT(t)?wT(t):GA(t,e)}const gT={transaction:bT};function wT(t){ET(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?_t(o):"0x",c?_t(c):"0x",s?_t(s):"0x",i?"0x1":"0x",r??"0x"];return Rr(["0x7e",as(u)])}function vT(t){return t.type==="deposit"||typeof t.sourceHash<"u"}function ET(t){const{from:e,to:r}=t;if(e&&!st(e))throw new Ot({address:e});if(r&&!st(r))throw new Ot({address:r})}const Mi={blockTime:2e3,contracts:yT,formatters:mT,serializers:gT},AT=pt({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}}}),ST=pt({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}),so=1,tw=pt({...Mi,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:{...Mi.contracts,disputeGameFactory:{[so]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[so]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[so]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[so]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:so});({...tw});const io=11155111,rw=pt({...Mi,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:{...Mi.contracts,disputeGameFactory:{[io]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[io]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[io]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[io]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:io});({...rw});const xT=pt({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}),kT=pt({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}),TT=pt({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}}}),PT=pt({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}),_T=pt({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}),IT=pt({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}),OT=1,BT=pt({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:OT}),CT=pt({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}}}),RT=pt({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}),NT=pt({id:11155111,name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://11155111.rpc.thirdweb.com"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:8928790}},testnet:!0}),Ya=1,UT=pt({...Mi,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:{...Mi.contracts,multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:0},disputeGameFactory:{[Ya]:{address:"0x2F12d621a16e2d3285929C9996f478508951dFe4"}},portal:{[Ya]:{address:"0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2"}},l1StandardBridge:{[Ya]:{address:"0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA"}}},sourceId:Ya}),FT={...NT,rpcUrls:{default:{http:["https://ethereum-sepolia-rpc.publicnode.com"]}}},nw={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/"]}}},sw={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"]}}},iw={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"]}}},ow={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"]}}},MT={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:CT,arbitrum:AT,ethereum_sepolia:FT,arbitrum_sepolia:ST,ethereum_localnet:Y.EthereumLocalnet,arbitrum_localnet:Y.ArbitrumLocalnet,base_sepolia:rw,base:tw,bera_testnet:kT,citrea_testnet:_T,core:IT,bera:xT,monad:MT,monad_testnet:RT,hyperliquid_testnet:sw,hyperliquid:iw,unichain:UT,corn:BT,botanix:nw,bnbchain:TT,bnbchain_testnet:PT,alpen_testnet:ow,hypercore:{},hypercore_testnet:{}},aw=t=>{for(const[e,r]of Object.entries(yu))if(r.id===t)return e;return null},vd=async(t,e)=>{var s,i,o;const r=yu[t],n=await e.getChainId();if(r)try{if(r.id===n)return m.Ok({message:"Already on the network",walletClient:e});await e.switchChain({id:r.id});const a=Qu({account:e.account,chain:r,transport:b0(e.transport)});return m.Ok({message:"Switched chain",walletClient:a})}catch(a){if($T(a))if(a.code===4902||a.code===-32603)try{await e.addChain({chain:r});const c=Qu({account:e.account,chain:r,transport:b0(e.transport)});return m.Ok({message:"Added network",walletClient:c})}catch{return m.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=Qu({account:e.account,chain:r,transport:v1()});return m.Ok({message:"Added network",walletClient:c})}else return m.Err("Failed to switch network");else return m.Err("Failed to switch network")}else return m.Err("Chain not supported")},$T=t=>typeof t=="object"&&t!=null&&("code"in t||"message"in t||"body"in t);class cw{constructor(e,r,n){this.wallet=r,this.auth=n,this.url=e instanceof m.Url?e:new m.Url(e),this.relayer=new Wi(this.auth,this.url)}get htlcActorAddress(){if(!this.wallet.account)throw new Error("No account found");return this.wallet.account.address}async initiate(e){if(Y.isEvmOrderResponse(e))return this.initiateFromAPI(e);if(!this.wallet.account)return m.Err("No account found");if(!Y.isEVM(e.source_swap.chain))return m.Err("Not an EVM chain");if(this.wallet.account.address.toLowerCase()!==e.source_swap.initiator.toLowerCase())return m.Err("Account address and order initiator mismatch");const r=e.source_swap.chain,n=await vd(r,this.wallet);if(!n.ok)return m.Err(n.error);this.wallet=n.val.walletClient;const{source_swap:s}=e;if(!s.amount||!s.timelock||!s.redeemer||!s.secret_hash)return m.Err("Invalid order");const i=await su(s.asset,this.url);if(!i.ok)return m.Err(i.error);const o=Y.ChainAsset.fromString(s.asset),a={redeemer:m.with0x(s.redeemer),timelock:BigInt(s.timelock),amount:BigInt(s.amount),secretHash:m.with0x(s.secret_hash)};return Y.isEvmNativeToken(o.chain,o.symbol)?dT(this.wallet,{...a,htlc:i.val.htlcAddress}):hT(this.wallet,this.url,this.auth,{...a,htlc:i.val.htlcAddress,token:i.val.tokenAddress,orderId:e.order_id})}async initiateFromAPI(e){const r=aw(e.initiate_transaction.chain_id);if(!r)return m.Err("Unsupported chain");const n=await vd(r,this.wallet);if(!n.ok)return m.Err(n.error);if(this.wallet=n.val.walletClient,!this.wallet.account)return m.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:m.with0x(o.to),value:BigInt(o.value),data:m.with0x(o.data),gas:BigInt(o.gas_limit)}),c=await m.waitForTransactionReceipt(this.wallet,a);return c.ok?!c.val||c.val.status!=="success"?m.Err("Native initiate transaction failed"):m.Ok(a):m.Err(c.error)}if(e.approval_transaction){const o=await pT(this.wallet,e.approval_transaction);if(o.error)return m.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 A1({wallet:this.wallet,attempt:()=>this.relayer.initiate(e.order_id,s)});if(i)return m.Ok(i);try{const o=Eh({address:m.with0x(e.initiate_transaction.to),abi:ew,client:this.wallet}),a=e.typed_data.message,c=await o.write.initiate([m.with0x(a.redeemer),BigInt(a.timelock),BigInt(a.amount),m.with0x(a.secretHash)],{account:this.wallet.account,chain:this.wallet.chain}),u=await m.waitForTransactionReceipt(this.wallet,c);return u.ok?!u.val||u.val.status!=="success"?m.Err("Failed to initiate via contract"):m.Ok(c):m.Err(u.error)}catch(o){return $h(o)?m.Ok("already initiated"):m.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 m.Err(n.error);try{const s=await this.relayer.redeem(e.order_id,r);if(s.error)return m.Err(s.error);const i=yu[e.destination_swap.chain],a=await xx({chain:i,transport:v1()}).waitForTransactionReceipt({hash:s.val,confirmations:1,timeout:3e5});return a&&a.status==="success"?m.Ok(s.val?s.val:"Redeem hash not found"):m.Err("Redeem failed: Transaction receipt not successful")}catch(s){return m.Err(String(s))}}async refund(){return m.Err("Refund not supported")}}const uw=[{name:"LockingContract",type:"impl",interface_name:"src::mintable_lock_interface::ILockingContract"},{name:"src::mintable_lock_interface::ILockingContract",type:"interface",items:[{name:"set_locking_contract",type:"function",inputs:[{name:"locking_contract",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"get_locking_contract",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"}]},{name:"LockAndDelegate",type:"impl",interface_name:"src::mintable_lock_interface::ILockAndDelegate"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"src::mintable_lock_interface::ILockAndDelegate",type:"interface",items:[{name:"lock_and_delegate",type:"function",inputs:[{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"lock_and_delegate_by_sig",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"},{name:"nonce",type:"core::felt252"},{name:"expiry",type:"core::integer::u64"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"}]},{name:"MintableToken",type:"impl",interface_name:"src::mintable_token_interface::IMintableToken"},{name:"src::mintable_token_interface::IMintableToken",type:"interface",items:[{name:"permissioned_mint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissioned_burn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"MintableTokenCamelImpl",type:"impl",interface_name:"src::mintable_token_interface::IMintableTokenCamel"},{name:"src::mintable_token_interface::IMintableTokenCamel",type:"interface",items:[{name:"permissionedMint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissionedBurn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"Replaceable",type:"impl",interface_name:"src::replaceability_interface::IReplaceable"},{name:"core::array::Span::<core::felt252>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::felt252>"}]},{name:"src::replaceability_interface::EICData",type:"struct",members:[{name:"eic_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_init_data",type:"core::array::Span::<core::felt252>"}]},{name:"core::option::Option::<src::replaceability_interface::EICData>",type:"enum",variants:[{name:"Some",type:"src::replaceability_interface::EICData"},{name:"None",type:"()"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"src::replaceability_interface::ImplementationData",type:"struct",members:[{name:"impl_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_data",type:"core::option::Option::<src::replaceability_interface::EICData>"},{name:"final",type:"core::bool"}]},{name:"src::replaceability_interface::IReplaceable",type:"interface",items:[{name:"get_upgrade_delay",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"get_impl_activation_time",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"add_new_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"remove_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"replace_to",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"}]},{name:"AccessControlImplExternal",type:"impl",interface_name:"src::access_control_interface::IAccessControl"},{name:"src::access_control_interface::IAccessControl",type:"interface",items:[{name:"has_role",type:"function",inputs:[{name:"role",type:"core::felt252"},{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"get_role_admin",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]},{name:"RolesImpl",type:"impl",interface_name:"src::roles_interface::IMinimalRoles"},{name:"src::roles_interface::IMinimalRoles",type:"interface",items:[{name:"is_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"renounce",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[],state_mutability:"external"}]},{name:"ERC20Impl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20"},{name:"openzeppelin::token::erc20::interface::IERC20",type:"interface",items:[{name:"name",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"symbol",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"decimals",type:"function",inputs:[],outputs:[{type:"core::integer::u8"}],state_mutability:"view"},{name:"total_supply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balance_of",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"allowance",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"},{name:"spender",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transfer",type:"function",inputs:[{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"transfer_from",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"approve",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"ERC20CamelOnlyImpl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20CamelOnly"},{name:"openzeppelin::token::erc20::interface::IERC20CamelOnly",type:"interface",items:[{name:"totalSupply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balanceOf",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transferFrom",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"name",type:"core::felt252"},{name:"symbol",type:"core::felt252"},{name:"decimals",type:"core::integer::u8"},{name:"initial_supply",type:"core::integer::u256"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"permitted_minter",type:"core::starknet::contract_address::ContractAddress"},{name:"provisional_governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"upgrade_delay",type:"core::integer::u64"}]},{name:"increase_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"added_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decrease_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtracted_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"increaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"addedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decreaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtractedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Transfer",type:"event",members:[{kind:"data",name:"from",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"to",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Approval",type:"event",members:[{kind:"data",name:"owner",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"spender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationAdded",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationRemoved",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationReplaced",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationFinalized",type:"event",members:[{kind:"data",name:"impl_hash",type:"core::starknet::class_hash::ClassHash"}]},{kind:"struct",name:"src::access_control_interface::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"src::strk::erc20_lockable::ERC20Lockable::Event",type:"event",variants:[{kind:"nested",name:"Transfer",type:"src::strk::erc20_lockable::ERC20Lockable::Transfer"},{kind:"nested",name:"Approval",type:"src::strk::erc20_lockable::ERC20Lockable::Approval"},{kind:"nested",name:"ImplementationAdded",type:"src::replaceability_interface::ImplementationAdded"},{kind:"nested",name:"ImplementationRemoved",type:"src::replaceability_interface::ImplementationRemoved"},{kind:"nested",name:"ImplementationReplaced",type:"src::replaceability_interface::ImplementationReplaced"},{kind:"nested",name:"ImplementationFinalized",type:"src::replaceability_interface::ImplementationFinalized"},{kind:"nested",name:"RoleGranted",type:"src::access_control_interface::RoleGranted"},{kind:"nested",name:"RoleRevoked",type:"src::access_control_interface::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"src::access_control_interface::RoleAdminChanged"},{kind:"nested",name:"GovernanceAdminAdded",type:"src::roles_interface::GovernanceAdminAdded"},{kind:"nested",name:"GovernanceAdminRemoved",type:"src::roles_interface::GovernanceAdminRemoved"},{kind:"nested",name:"UpgradeGovernorAdded",type:"src::roles_interface::UpgradeGovernorAdded"},{kind:"nested",name:"UpgradeGovernorRemoved",type:"src::roles_interface::UpgradeGovernorRemoved"}]}],fw=async(t,e,r,n,s)=>{try{const i=await wo(t.address,e,r,s);if(!i.ok)return m.Err(i.error);if(i.val>=n)return m.Ok("Allowance already approved");const a=Je.cairo.uint256(BigInt(n)),c=await t.execute([{contractAddress:m.with0x(e),entrypoint:"approve",calldata:[m.with0x(r),a.low,a.high]}]);await s.waitForTransaction(c.transaction_hash,{retryInterval:3e3,successStates:[Je.TransactionExecutionStatus.SUCCEEDED]}),await m.sleep(2e3);for(let u=0;u<20;u++){const f=await wo(t.address,e,r,s);if(!f.ok)return m.Err(f.error);if(f.val>=n)return m.Ok(c.transaction_hash);await m.sleep(2e3);let l=0n;for(let p=0;p<20;p++){const d=await wo(t.address,e,r,s);if(!d.ok)return m.Err(d.error);if(l=d.val,l>=n)break;await m.sleep(2e3)}return l<n?m.Err("Allowance not approved"):m.Ok(c.transaction_hash)}return m.Err("Allowance not approved after transaction.")}catch(i){return m.Err(`Failed to check or approve allowance: ${i instanceof Error?i.message:String(i)}`)}},wo=async(t,e,r,n)=>{try{const i=await new Je.Contract(uw,m.with0x(e),n).call("allowance",[m.with0x(t),m.with0x(r)]);return m.Ok(BigInt((i==null?void 0:i.toString())||"0"))}catch(s){return m.Err(`Failed to check allowance: ${s instanceof Error?s.message:String(s)}`)}},lw=async(t,e,r,n,s)=>{const i=await wo(t,e,r,n);return i.ok?m.Ok(i.val>=s):m.Err(i.error)},dw=[{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"}]}],jT={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 hw{constructor(e,r,n,s,i){this.url=e instanceof m.Url?e:new m.Url(e),this.account=r,this.starknetProvider=new Je.RpcProvider({nodeUrl:i||Jo[n].nodeUrl}),this.chainId=Jo[n].chainId,this.auth=s,this.relayer=new Wi(this.auth,this.url)}get htlcActorAddress(){if(!this.account.address)throw new Error("No account found");return this.account.address}async initiate(e){if(Y.isStarknetOrderResponse(e))return this.initiateWithCreateOrderResponse(e);if(!this.account.address)return m.Err("No account address");const{source_swap:r}=e,{redeemer:n,amount:s}=r;if(!s||!n||!r.secret_hash||!r.timelock)return m.Err("Invalid order");try{const i=new Je.Contract(dw,e.source_swap.asset,this.account),o=await(i==null?void 0:i.token()),a=Je.num.toHex(o),c=await lw(this.account.address,a,r.asset,this.starknetProvider,BigInt(r.amount));return c.error?m.Err(c.error):c.val?this.initiateRelay(e):this.approveAndInitiate(a,e)}catch(i){return m.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:m.with0x(e),entrypoint:"approve",calldata:[c,u.low,u.high]},l=Je.cairo.uint256(i),p={contractAddress:m.with0x(c),entrypoint:"initiate",calldata:[s,a.toString(),l.low.toString(),l.high.toString(),...m.hexToU32Array(o)]},d=await this.account.execute([f,p]);return await this.starknetProvider.waitForTransaction(d.transaction_hash,{retryInterval:2e3,successStates:[Je.TransactionExecutionStatus.SUCCEEDED]}),m.Ok(d.transaction_hash)}catch(u){return m.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 m.Err("Invalid order: secret_hash is undefined");const i=m.with0x(r.secret_hash),a={domain:{name:"HTLC",version:Je.shortString.encodeShortString("1"),chainId:this.chainId,revision:Je.TypedDataRevision.ACTIVE},primaryType:"Initiate",types:jT,message:{redeemer:n,amount:Je.cairo.uint256(s),timelock:e.source_swap.timelock,secretHash:m.hexToU32Array(i)}};try{const c=await this.account.signMessage(a),u=w0(c);if(u.error||!u.val)return m.Err(u.error||"Invalid signature");const f=await this.relayer.initiate(e.order_id,u.val);return f.error?m.Err(f.error):f.val?m.Ok(f.val):m.Err("Initiate: No result found")}catch(c){return m.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?m.Err(n.error):m.Ok(n.val)}catch(n){return m.Err(String(n))}}async executeApprovalTransaction(e){if(!this.account.address)return m.Err("No account address");if(!e.approval_transaction)return m.Ok("No approval transaction required");try{const r=e.approval_transaction,n=await this.account.execute([{contractAddress:m.with0x(r.to),entrypoint:"approve",calldata:r.calldata}]);return await this.starknetProvider.waitForTransaction(n.transaction_hash,{retryInterval:2e3,successStates:[Je.TransactionExecutionStatus.SUCCEEDED]}),m.Ok(n.transaction_hash)}catch(r){return console.error("executeApprovalTransaction error:",r),m.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 m.Err(r.error);if(!this.account.address)return m.Err("No account address");const n=await this.executeApprovalTransaction(e);if(n.error)return m.Err(n.error);const{typed_data:s}=e;if(s===null){const c=e.initiate_transaction;if(!c)return m.Err("No initiate_transaction found for native initiate");const u=await this.account.execute([{contractAddress:m.with0x(c.to),entrypoint:"initiate",calldata:c.calldata}]);return await this.starknetProvider.waitForTransaction(u.transaction_hash,{retryInterval:2e3,successStates:[Je.TransactionExecutionStatus.SUCCEEDED]}),m.Ok(u.transaction_hash)}const i=await this.account.signMessage(s),o=w0(i);if(o.error)return m.Err(o.error);const a=await m.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?m.Err(a.error):m.Ok(a.result)}async refund(){return m.Err("Refund is taken care of by the relayer")}}const LT="2WXpY8havGjfRxme9LUxtjFHTh1EfU3ur4v6wiK4KdNC",HT={name:"solana_spl_swaps",version:"0.4.0",spec:"0.1.0",description:"Created with Anchor"},DT=[{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:[]}],zT=[{name:"SwapAccount",discriminator:[53,126,9,14,14,197,105,182]}],VT=[{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]}],GT=[{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"}],qT=[{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"}]}}],W0={address:LT,metadata:HT,instructions:DT,accounts:zT,events:VT,errors:GT,types:qT},WT="2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",KT={name:"solana_native_swaps",version:"0.3.0",spec:"0.1.0",description:"Created with Anchor"},YT=[{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:[]}],JT=[{name:"SwapAccount",discriminator:[53,126,9,14,14,197,105,182]}],XT=[{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]}],ZT=[{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"}],QT=[{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]}}]}}],Ed={address:WT,metadata:KT,instructions:YT,accounts:JT,events:XT,errors:ZT,types:QT};var vn={},mu={};Object.defineProperty(mu,"__esModule",{value:!0});mu.encode=eP;mu.decode=tP;const K0=Xs;function eP(t){return t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),"0x")}function tP(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?K0.Buffer.from([]):K0.Buffer.from(e.map(r=>parseInt(r,16)))}var bu={},qs={},hf;Object.defineProperty(qs,"__esModule",{value:!0});qs.isVersionedTransaction=qs.isBrowser=void 0;qs.chunks=rP;qs.isBrowser=process.env.ANCHOR_BROWSER||typeof window<"u"&&!(!((hf=window.process)===null||hf===void 0)&&hf.hasOwnProperty("type"));function rP(t,e){return Array.apply(0,new Array(Math.ceil(t.length/e))).map((r,n)=>t.slice(n*e,(n+1)*e))}const nP=t=>"version"in t;qs.isVersionedTransaction=nP;var pf={},yf={},mf,Y0;function pw(){return Y0||(Y0=1,mf=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}),mf}var bf,J0;function gu(){if(J0)return bf;J0=1;var t=pw();return bf=function(){return t()&&!!Symbol.toStringTag},bf}var gf,X0;function yw(){return X0||(X0=1,gf=Object),gf}var wf,Z0;function sP(){return Z0||(Z0=1,wf=Error),wf}var vf,Q0;function iP(){return Q0||(Q0=1,vf=EvalError),vf}var Ef,ey;function oP(){return ey||(ey=1,Ef=RangeError),Ef}var Af,ty;function aP(){return ty||(ty=1,Af=ReferenceError),Af}var Sf,ry;function mw(){return ry||(ry=1,Sf=SyntaxError),Sf}var xf,ny;function Pa(){return ny||(ny=1,xf=TypeError),xf}var kf,sy;function cP(){return sy||(sy=1,kf=URIError),kf}var Tf,iy;function uP(){return iy||(iy=1,Tf=Math.abs),Tf}var Pf,oy;function fP(){return oy||(oy=1,Pf=Math.floor),Pf}var _f,ay;function lP(){return ay||(ay=1,_f=Math.max),_f}var If,cy;function dP(){return cy||(cy=1,If=Math.min),If}var Of,uy;function hP(){return uy||(uy=1,Of=Math.pow),Of}var Bf,fy;function pP(){return fy||(fy=1,Bf=Math.round),Bf}var Cf,ly;function yP(){return ly||(ly=1,Cf=Number.isNaN||function(e){return e!==e}),Cf}var Rf,dy;function mP(){if(dy)return Rf;dy=1;var t=yP();return Rf=function(r){return t(r)||r===0?r:r<0?-1:1},Rf}var Nf,hy;function bP(){return hy||(hy=1,Nf=Object.getOwnPropertyDescriptor),Nf}var Uf,py;function Ki(){if(py)return Uf;py=1;var t=bP();if(t)try{t([],"length")}catch{t=null}return Uf=t,Uf}var Ff,yy;function wu(){if(yy)return Ff;yy=1;var t=Object.defineProperty||!1;if(t)try{t({},"a",{value:1})}catch{t=!1}return Ff=t,Ff}var Mf,my;function gP(){if(my)return Mf;my=1;var t=typeof Symbol<"u"&&Symbol,e=pw();return Mf=function(){return typeof t!="function"||typeof Symbol!="function"||typeof t("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:e()},Mf}var $f,by;function bw(){return by||(by=1,$f=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),$f}var jf,gy;function gw(){if(gy)return jf;gy=1;var t=yw();return jf=t.getPrototypeOf||null,jf}var Lf,wy;function wP(){if(wy)return Lf;wy=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 Lf=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),b=[],g=0;g<d;g++)b[g]="$"+g;if(l=Function("binder","return function ("+o(b,",")+"){ return binder.apply(this,arguments); }")(p),u.prototype){var E=function(){};E.prototype=u.prototype,l.prototype=new E,E.prototype=null}return l},Lf}var Hf,vy;function _a(){if(vy)return Hf;vy=1;var t=wP();return Hf=Function.prototype.bind||t,Hf}var Df,Ey;function Xh(){return Ey||(Ey=1,Df=Function.prototype.call),Df}var zf,Ay;function Zh(){return Ay||(Ay=1,zf=Function.prototype.apply),zf}var Vf,Sy;function vP(){return Sy||(Sy=1,Vf=typeof Reflect<"u"&&Reflect&&Reflect.apply),Vf}var Gf,xy;function ww(){if(xy)return Gf;xy=1;var t=_a(),e=Zh(),r=Xh(),n=vP();return Gf=n||t.call(r,e),Gf}var qf,ky;function Qh(){if(ky)return qf;ky=1;var t=_a(),e=Pa(),r=Xh(),n=ww();return qf=function(i){if(i.length<1||typeof i[0]!="function")throw new e("a function is required");return n(t,r,i)},qf}var Wf,Ty;function EP(){if(Ty)return Wf;Ty=1;var t=Qh(),e=Ki(),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 Wf=n&&typeof n.get=="function"?t([n.get]):typeof i=="function"?function(a){return i(a==null?a:s(a))}:!1,Wf}var Kf,Py;function ep(){if(Py)return Kf;Py=1;var t=bw(),e=gw(),r=EP();return Kf=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,Kf}var Yf,_y;function AP(){if(_y)return Yf;_y=1;const t=(async function(){}).constructor;return Yf=()=>t,Yf}var Jf,Iy;function vw(){if(Iy)return Jf;Iy=1;const t=(function*(){}).constructor;return Jf=()=>t,Jf}var Xf,Oy;function SP(){if(Oy)return Xf;Oy=1;const t=(async function*(){}).constructor;return Xf=()=>t,Xf}var Zf,By;function Ew(){if(By)return Zf;By=1;var t=Function.prototype.call,e=Object.prototype.hasOwnProperty,r=_a();return Zf=r.call(t,e),Zf}var Qf,Cy;function Aw(){if(Cy)return Qf;Cy=1;var t,e=yw(),r=sP(),n=iP(),s=oP(),i=aP(),o=mw(),a=Pa(),c=cP(),u=uP(),f=fP(),l=lP(),p=dP(),d=hP(),b=pP(),g=mP(),E=Ki(),S=wu(),_=function(){throw new a},A=E?function(){try{return arguments.callee,_}catch{try{return E(arguments,"callee").get}catch{return _}}}():_,w=gP()(),x=ep(),T=gw(),O=bw(),N=Zh(),C=Xh(),j={},$=typeof Uint8Array>"u"||!x?t:x(Uint8Array),D={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?t:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?t:ArrayBuffer,"%ArrayIteratorPrototype%":w&&x?x([][Symbol.iterator]()):t,"%AsyncFromSyncIteratorPrototype%":t,"%AsyncFunction%":j,"%AsyncGenerator%":j,"%AsyncGeneratorFunction%":j,"%AsyncIteratorPrototype%":j,"%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%":Function,"%GeneratorFunction%":j,"%Int8Array%":typeof Int8Array>"u"?t:Int8Array,"%Int16Array%":typeof Int16Array>"u"?t:Int16Array,"%Int32Array%":typeof Int32Array>"u"?t:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":w&&x?x(x([][Symbol.iterator]())):t,"%JSON%":typeof JSON=="object"?JSON:t,"%Map%":typeof Map>"u"?t:Map,"%MapIteratorPrototype%":typeof Map>"u"||!w||!x?t:x(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":e,"%Object.getOwnPropertyDescriptor%":E,"%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"||!w||!x?t:x(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?t:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":w&&x?x(""[Symbol.iterator]()):t,"%Symbol%":w?Symbol:t,"%SyntaxError%":o,"%ThrowTypeError%":A,"%TypedArray%":$,"%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%":C,"%Function.prototype.apply%":N,"%Object.defineProperty%":S,"%Object.getPrototypeOf%":T,"%Math.abs%":u,"%Math.floor%":f,"%Math.max%":l,"%Math.min%":p,"%Math.pow%":d,"%Math.round%":b,"%Math.sign%":g,"%Reflect.getPrototypeOf%":O};if(x)try{null.error}catch(ue){var z=x(x(ue));D["%Error.prototype%"]=z}var ee=AP(),U=vw(),q=SP(),Q=function ue(de){var we;if(de==="%AsyncFunction%")we=ee()||void 0;else if(de==="%GeneratorFunction%")we=U()||void 0;else if(de==="%AsyncGeneratorFunction%")we=q()||void 0;else if(de==="%AsyncGenerator%"){var pe=ue("%AsyncGeneratorFunction%");pe&&(we=pe.prototype)}else if(de==="%AsyncIteratorPrototype%"){var ge=ue("%AsyncGenerator%");ge&&x&&(we=x(ge.prototype))}return D[de]=we,we},W={__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"]},I=_a(),L=Ew(),X=I.call(C,Array.prototype.concat),B=I.call(N,Array.prototype.splice),F=I.call(C,String.prototype.replace),H=I.call(C,String.prototype.slice),ne=I.call(C,RegExp.prototype.exec),se=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,fe=/\\(\\)?/g,oe=function(de){var we=H(de,0,1),pe=H(de,-1);if(we==="%"&&pe!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(pe==="%"&&we!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var ge=[];return F(de,se,function(Fe,it,We,Rn){ge[ge.length]=We?F(Rn,fe,"$1"):it||Fe}),ge},ae=function(de,we){var pe=de,ge;if(L(W,pe)&&(ge=W[pe],pe="%"+ge[0]+"%"),L(D,pe)){var Fe=D[pe];if(Fe===j&&(Fe=Q(pe)),typeof Fe>"u"&&!we)throw new a("intrinsic "+de+" exists, but is not available. Please file an issue!");return{alias:ge,name:pe,value:Fe}}throw new o("intrinsic "+de+" does not exist!")};return Qf=function(de,we){if(typeof de!="string"||de.length===0)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof we!="boolean")throw new a('"allowMissing" argument must be a boolean');if(ne(/^%?[^%]*%?$/,de)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var pe=oe(de),ge=pe.length>0?pe[0]:"",Fe=ae("%"+ge+"%",we),it=Fe.name,We=Fe.value,Rn=!1,K=Fe.alias;K&&(ge=K[0],B(pe,X([0,1],K)));for(var tn=1,pr=!0;tn<pe.length;tn+=1){var Ke=pe[tn],Nn=H(Ke,0,1),ti=H(Ke,-1);if((Nn==='"'||Nn==="'"||Nn==="`"||ti==='"'||ti==="'"||ti==="`")&&Nn!==ti)throw new o("property names with quotes must have matching quotes");if((Ke==="constructor"||!pr)&&(Rn=!0),ge+="."+Ke,it="%"+ge+"%",L(D,it))We=D[it];else if(We!=null){if(!(Ke in We)){if(!we)throw new a("base intrinsic for "+de+" exists, but the property is not available.");return}if(E&&tn+1>=pe.length){var zt=E(We,Ke);pr=!!zt,pr&&"get"in zt&&!("originalValue"in zt.get)?We=zt.get:We=We[Ke]}else pr=L(We,Ke),We=We[Ke];pr&&!Rn&&(D[it]=We)}}return We},Qf}var el,Ry;function Ia(){if(Ry)return el;Ry=1;var t=Aw(),e=Qh(),r=e([t("%String.prototype.indexOf%")]);return el=function(s,i){var o=t(s,!!i);return typeof o=="function"&&r(s,".prototype.")>-1?e([o]):o},el}var tl,Ny;function xP(){if(Ny)return tl;Ny=1;var t=gu()(),e=Ia(),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,tl=i?n:s,tl}var rl,Uy;function kP(){if(Uy)return rl;Uy=1;var t=Ia(),e=gu()(),r=Ew(),n=Ki(),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"),b=d&&r(d,"value");if(!b)return!1;try{i(p,c)}catch(g){return g===o}}}else{var u=t("Object.prototype.toString"),f="[object RegExp]";s=function(p){return!p||typeof p!="object"&&typeof p!="function"?!1:u(p)===f}}return rl=s,rl}var nl,Fy;function TP(){if(Fy)return nl;Fy=1;var t=Ia(),e=kP(),r=t("RegExp.prototype.exec"),n=Pa();return nl=function(i){if(!e(i))throw new n("`regex` must be a RegExp");return function(a){return r(i,a)!==null}},nl}var sl,My;function PP(){if(My)return sl;My=1;var t=Ia(),e=TP(),r=e(/^\s*(?:function)?\*/),n=gu()(),s=ep(),i=t("Object.prototype.toString"),o=t("Function.prototype.toString"),a=vw();return sl=function(u){if(typeof u!="function")return!1;if(r(o(u)))return!0;if(!n){var f=i(u);return f==="[object GeneratorFunction]"}if(!s)return!1;var l=a();return l&&s(u)===l.prototype},sl}var il,$y;function _P(){if($y)return il;$y=1;var t=Function.prototype.toString,e=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,r,n;if(typeof e=="function"&&typeof Object.defineProperty=="function")try{r=Object.defineProperty({},"length",{get:function(){throw n}}),n={},e(function(){throw 42},null,r)}catch(_){_!==n&&(e=null)}else e=null;var s=/^\s*class\b/,i=function(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]",b=typeof Symbol=="function"&&!!Symbol.toStringTag,g=!(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((g||!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 il=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(b)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)},il}var ol,jy;function IP(){if(jy)return ol;jy=1;var t=_P(),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 ol=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)},ol}var al,Ly;function OP(){return Ly||(Ly=1,al=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]),al}var cl,Hy;function BP(){if(Hy)return cl;Hy=1;var t=OP(),e=typeof globalThis>"u"?Zr:globalThis;return cl=function(){for(var n=[],s=0;s<t.length;s++)typeof e[t[s]]=="function"&&(n[n.length]=t[s]);return n},cl}var ul={exports:{}},fl,Dy;function CP(){if(Dy)return fl;Dy=1;var t=wu(),e=mw(),r=Pa(),n=Ki();return fl=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.")},fl}var ll,zy;function RP(){if(zy)return ll;zy=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}},ll=e,ll}var dl,Vy;function NP(){if(Vy)return dl;Vy=1;var t=Aw(),e=CP(),r=RP()(),n=Ki(),s=Pa(),i=t("%Math.floor%");return dl=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},dl}var hl,Gy;function UP(){if(Gy)return hl;Gy=1;var t=_a(),e=Zh(),r=ww();return hl=function(){return r(t,e,arguments)},hl}var qy;function FP(){return qy||(qy=1,function(t){var e=NP(),r=wu(),n=Qh(),s=UP();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}(ul)),ul.exports}var pl,Wy;function Sw(){if(Wy)return pl;Wy=1;var t=IP(),e=BP(),r=FP(),n=Ia(),s=Ki(),i=ep(),o=n("Object.prototype.toString"),a=gu()(),c=typeof globalThis>"u"?Zr:globalThis,u=e(),f=n("String.prototype.slice"),l=n("Array.prototype.indexOf",!0)||function(E,S){for(var _=0;_<E.length;_+=1)if(E[_]===S)return _;return-1},p={__proto__:null};a&&s&&i?t(u,function(g){var E=new c[g];if(Symbol.toStringTag in E&&i){var S=i(E),_=s(S,Symbol.toStringTag);if(!_&&S){var A=i(S);_=s(A,Symbol.toStringTag)}p["$"+g]=r(_.get)}}):t(u,function(g){var E=new c[g],S=E.slice||E.set;S&&(p["$"+g]=r(S))});var d=function(E){var S=!1;return t(p,function(_,A){if(!S)try{"$"+_(E)===A&&(S=f(A,1))}catch{}}),S},b=function(E){var S=!1;return t(p,function(_,A){if(!S)try{_(E),S=f(A,1)}catch{}}),S};return pl=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:b(E)}return s?d(E):null},pl}var yl,Ky;function MP(){if(Ky)return yl;Ky=1;var t=Sw();return yl=function(r){return!!t(r)},yl}var Yy;function $P(){return Yy||(Yy=1,function(t){var e=xP(),r=PP(),n=Sw(),s=MP();function i(K){return K.call.bind(K)}var o=typeof BigInt<"u",a=typeof Symbol<"u",c=i(Object.prototype.toString),u=i(Number.prototype.valueOf),f=i(String.prototype.valueOf),l=i(Boolean.prototype.valueOf);if(o)var p=i(BigInt.prototype.valueOf);if(a)var d=i(Symbol.prototype.valueOf);function b(K,tn){if(typeof K!="object")return!1;try{return tn(K),!0}catch{return!1}}t.isArgumentsObject=e,t.isGeneratorFunction=r,t.isTypedArray=s;function g(K){return typeof Promise<"u"&&K instanceof Promise||K!==null&&typeof K=="object"&&typeof K.then=="function"&&typeof K.catch=="function"}t.isPromise=g;function E(K){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(K):s(K)||F(K)}t.isArrayBufferView=E;function S(K){return n(K)==="Uint8Array"}t.isUint8Array=S;function _(K){return n(K)==="Uint8ClampedArray"}t.isUint8ClampedArray=_;function A(K){return n(K)==="Uint16Array"}t.isUint16Array=A;function w(K){return n(K)==="Uint32Array"}t.isUint32Array=w;function x(K){return n(K)==="Int8Array"}t.isInt8Array=x;function T(K){return n(K)==="Int16Array"}t.isInt16Array=T;function O(K){return n(K)==="Int32Array"}t.isInt32Array=O;function N(K){return n(K)==="Float32Array"}t.isFloat32Array=N;function C(K){return n(K)==="Float64Array"}t.isFloat64Array=C;function j(K){return n(K)==="BigInt64Array"}t.isBigInt64Array=j;function $(K){return n(K)==="BigUint64Array"}t.isBigUint64Array=$;function D(K){return c(K)==="[object Map]"}D.working=typeof Map<"u"&&D(new Map);function z(K){return typeof Map>"u"?!1:D.working?D(K):K instanceof Map}t.isMap=z;function ee(K){return c(K)==="[object Set]"}ee.working=typeof Set<"u"&&ee(new Set);function U(K){return typeof Set>"u"?!1:ee.working?ee(K):K instanceof Set}t.isSet=U;function q(K){return c(K)==="[object WeakMap]"}q.working=typeof WeakMap<"u"&&q(new WeakMap);function Q(K){return typeof WeakMap>"u"?!1:q.working?q(K):K instanceof WeakMap}t.isWeakMap=Q;function W(K){return c(K)==="[object WeakSet]"}W.working=typeof WeakSet<"u"&&W(new WeakSet);function I(K){return W(K)}t.isWeakSet=I;function L(K){return c(K)==="[object ArrayBuffer]"}L.working=typeof ArrayBuffer<"u"&&L(new ArrayBuffer);function X(K){return typeof ArrayBuffer>"u"?!1:L.working?L(K):K instanceof ArrayBuffer}t.isArrayBuffer=X;function B(K){return c(K)==="[object DataView]"}B.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&B(new DataView(new ArrayBuffer(1),0,1));function F(K){return typeof DataView>"u"?!1:B.working?B(K):K instanceof DataView}t.isDataView=F;var H=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function ne(K){return c(K)==="[object SharedArrayBuffer]"}function se(K){return typeof H>"u"?!1:(typeof ne.working>"u"&&(ne.working=ne(new H)),ne.working?ne(K):K instanceof H)}t.isSharedArrayBuffer=se;function fe(K){return c(K)==="[object AsyncFunction]"}t.isAsyncFunction=fe;function oe(K){return c(K)==="[object Map Iterator]"}t.isMapIterator=oe;function ae(K){return c(K)==="[object Set Iterator]"}t.isSetIterator=ae;function ue(K){return c(K)==="[object Generator]"}t.isGeneratorObject=ue;function de(K){return c(K)==="[object WebAssembly.Module]"}t.isWebAssemblyCompiledModule=de;function we(K){return b(K,u)}t.isNumberObject=we;function pe(K){return b(K,f)}t.isStringObject=pe;function ge(K){return b(K,l)}t.isBooleanObject=ge;function Fe(K){return o&&b(K,p)}t.isBigIntObject=Fe;function it(K){return a&&b(K,d)}t.isSymbolObject=it;function We(K){return we(K)||pe(K)||ge(K)||Fe(K)||it(K)}t.isBoxedPrimitive=We;function Rn(K){return typeof Uint8Array<"u"&&(X(K)||se(K))}t.isAnyArrayBuffer=Rn,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(K){Object.defineProperty(t,K,{enumerable:!1,value:function(){throw new Error(K+" is not supported in userland")}})})}(yf)),yf}var ml,Jy;function jP(){return Jy||(Jy=1,ml=function(e){return e&&typeof e=="object"&&typeof e.copy=="function"&&typeof e.fill=="function"&&typeof e.readUInt8=="function"}),ml}var Ja={exports:{}},Xy;function LP(){return Xy||(Xy=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 Zy;function xw(){return Zy||(Zy=1,function(t){var e=Object.getOwnPropertyDescriptors||function(F){for(var H=Object.keys(F),ne={},se=0;se<H.length;se++)ne[H[se]]=Object.getOwnPropertyDescriptor(F,H[se]);return ne},r=/%[sdj%]/g;t.format=function(B){if(!x(B)){for(var F=[],H=0;H<arguments.length;H++)F.push(o(arguments[H]));return F.join(" ")}for(var H=1,ne=arguments,se=ne.length,fe=String(B).replace(r,function(ae){if(ae==="%%")return"%";if(H>=se)return ae;switch(ae){case"%s":return String(ne[H++]);case"%d":return Number(ne[H++]);case"%j":try{return JSON.stringify(ne[H++])}catch{return"[Circular]"}default:return ae}}),oe=ne[H];H<se;oe=ne[++H])_(oe)||!C(oe)?fe+=" "+oe:fe+=" "+o(oe);return fe},t.deprecate=function(B,F){if(typeof process<"u"&&process.noDeprecation===!0)return B;if(typeof process>"u")return function(){return t.deprecate(B,F).apply(this,arguments)};var H=!1;function ne(){if(!H){if(process.throwDeprecation)throw new Error(F);process.traceDeprecation?console.trace(F):console.error(F),H=!0}return B.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(B){if(B=B.toUpperCase(),!n[B])if(s.test(B)){var F=process.pid;n[B]=function(){var H=t.format.apply(t,arguments);console.error("%s %d: %s",B,F,H)}}else n[B]=function(){};return n[B]};function o(B,F){var H={seen:[],stylize:c};return arguments.length>=3&&(H.depth=arguments[2]),arguments.length>=4&&(H.colors=arguments[3]),S(F)?H.showHidden=F:F&&t._extend(H,F),O(H.showHidden)&&(H.showHidden=!1),O(H.depth)&&(H.depth=2),O(H.colors)&&(H.colors=!1),O(H.customInspect)&&(H.customInspect=!0),H.colors&&(H.stylize=a),f(H,B,H.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(B,F){var H=o.styles[F];return H?"\x1B["+o.colors[H][0]+"m"+B+"\x1B["+o.colors[H][1]+"m":B}function c(B,F){return B}function u(B){var F={};return B.forEach(function(H,ne){F[H]=!0}),F}function f(B,F,H){if(B.customInspect&&F&&D(F.inspect)&&F.inspect!==t.inspect&&!(F.constructor&&F.constructor.prototype===F)){var ne=F.inspect(H,B);return x(ne)||(ne=f(B,ne,H)),ne}var se=l(B,F);if(se)return se;var fe=Object.keys(F),oe=u(fe);if(B.showHidden&&(fe=Object.getOwnPropertyNames(F)),$(F)&&(fe.indexOf("message")>=0||fe.indexOf("description")>=0))return p(F);if(fe.length===0){if(D(F)){var ae=F.name?": "+F.name:"";return B.stylize("[Function"+ae+"]","special")}if(N(F))return B.stylize(RegExp.prototype.toString.call(F),"regexp");if(j(F))return B.stylize(Date.prototype.toString.call(F),"date");if($(F))return p(F)}var ue="",de=!1,we=["{","}"];if(E(F)&&(de=!0,we=["[","]"]),D(F)){var pe=F.name?": "+F.name:"";ue=" [Function"+pe+"]"}if(N(F)&&(ue=" "+RegExp.prototype.toString.call(F)),j(F)&&(ue=" "+Date.prototype.toUTCString.call(F)),$(F)&&(ue=" "+p(F)),fe.length===0&&(!de||F.length==0))return we[0]+ue+we[1];if(H<0)return N(F)?B.stylize(RegExp.prototype.toString.call(F),"regexp"):B.stylize("[Object]","special");B.seen.push(F);var ge;return de?ge=d(B,F,H,oe,fe):ge=fe.map(function(Fe){return b(B,F,H,oe,Fe,de)}),B.seen.pop(),g(ge,ue,we)}function l(B,F){if(O(F))return B.stylize("undefined","undefined");if(x(F)){var H="'"+JSON.stringify(F).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return B.stylize(H,"string")}if(w(F))return B.stylize(""+F,"number");if(S(F))return B.stylize(""+F,"boolean");if(_(F))return B.stylize("null","null")}function p(B){return"["+Error.prototype.toString.call(B)+"]"}function d(B,F,H,ne,se){for(var fe=[],oe=0,ae=F.length;oe<ae;++oe)W(F,String(oe))?fe.push(b(B,F,H,ne,String(oe),!0)):fe.push("");return se.forEach(function(ue){ue.match(/^\d+$/)||fe.push(b(B,F,H,ne,ue,!0))}),fe}function b(B,F,H,ne,se,fe){var oe,ae,ue;if(ue=Object.getOwnPropertyDescriptor(F,se)||{value:F[se]},ue.get?ue.set?ae=B.stylize("[Getter/Setter]","special"):ae=B.stylize("[Getter]","special"):ue.set&&(ae=B.stylize("[Setter]","special")),W(ne,se)||(oe="["+se+"]"),ae||(B.seen.indexOf(ue.value)<0?(_(H)?ae=f(B,ue.value,null):ae=f(B,ue.value,H-1),ae.indexOf(`
|
|
72
|
+
`)>-1&&(fe?ae=ae.split(`
|
|
73
|
+
`).map(function(de){return" "+de}).join(`
|
|
74
|
+
`).slice(2):ae=`
|
|
75
|
+
`+ae.split(`
|
|
76
|
+
`).map(function(de){return" "+de}).join(`
|
|
77
|
+
`))):ae=B.stylize("[Circular]","special")),O(oe)){if(fe&&se.match(/^\d+$/))return ae;oe=JSON.stringify(""+se),oe.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(oe=oe.slice(1,-1),oe=B.stylize(oe,"name")):(oe=oe.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),oe=B.stylize(oe,"string"))}return oe+": "+ae}function g(B,F,H){var ne=B.reduce(function(se,fe){return fe.indexOf(`
|
|
78
|
+
`)>=0,se+fe.replace(/\u001b\[\d\d?m/g,"").length+1},0);return ne>60?H[0]+(F===""?"":F+`
|
|
79
|
+
`)+" "+B.join(`,
|
|
80
|
+
`)+" "+H[1]:H[0]+F+" "+B.join(", ")+" "+H[1]}t.types=$P();function E(B){return Array.isArray(B)}t.isArray=E;function S(B){return typeof B=="boolean"}t.isBoolean=S;function _(B){return B===null}t.isNull=_;function A(B){return B==null}t.isNullOrUndefined=A;function w(B){return typeof B=="number"}t.isNumber=w;function x(B){return typeof B=="string"}t.isString=x;function T(B){return typeof B=="symbol"}t.isSymbol=T;function O(B){return B===void 0}t.isUndefined=O;function N(B){return C(B)&&ee(B)==="[object RegExp]"}t.isRegExp=N,t.types.isRegExp=N;function C(B){return typeof B=="object"&&B!==null}t.isObject=C;function j(B){return C(B)&&ee(B)==="[object Date]"}t.isDate=j,t.types.isDate=j;function $(B){return C(B)&&(ee(B)==="[object Error]"||B instanceof Error)}t.isError=$,t.types.isNativeError=$;function D(B){return typeof B=="function"}t.isFunction=D;function z(B){return B===null||typeof B=="boolean"||typeof B=="number"||typeof B=="string"||typeof B=="symbol"||typeof B>"u"}t.isPrimitive=z,t.isBuffer=jP();function ee(B){return Object.prototype.toString.call(B)}function U(B){return B<10?"0"+B.toString(10):B.toString(10)}var q=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Q(){var B=new Date,F=[U(B.getHours()),U(B.getMinutes()),U(B.getSeconds())].join(":");return[B.getDate(),q[B.getMonth()],F].join(" ")}t.log=function(){console.log("%s - %s",Q(),t.format.apply(t,arguments))},t.inherits=LP(),t._extend=function(B,F){if(!F||!C(F))return B;for(var H=Object.keys(F),ne=H.length;ne--;)B[H[ne]]=F[H[ne]];return B};function W(B,F){return Object.prototype.hasOwnProperty.call(B,F)}var I=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;t.promisify=function(F){if(typeof F!="function")throw new TypeError('The "original" argument must be of type Function');if(I&&F[I]){var H=F[I];if(typeof H!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(H,I,{value:H,enumerable:!1,writable:!1,configurable:!0}),H}function H(){for(var ne,se,fe=new Promise(function(ue,de){ne=ue,se=de}),oe=[],ae=0;ae<arguments.length;ae++)oe.push(arguments[ae]);oe.push(function(ue,de){ue?se(ue):ne(de)});try{F.apply(this,oe)}catch(ue){se(ue)}return fe}return Object.setPrototypeOf(H,Object.getPrototypeOf(F)),I&&Object.defineProperty(H,I,{value:H,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(H,e(F))},t.promisify.custom=I;function L(B,F){if(!B){var H=new Error("Promise was rejected with a falsy value");H.reason=B,B=H}return F(B)}function X(B){if(typeof B!="function")throw new TypeError('The "original" argument must be of type Function');function F(){for(var H=[],ne=0;ne<arguments.length;ne++)H.push(arguments[ne]);var se=H.pop();if(typeof se!="function")throw new TypeError("The last argument must be of type Function");var fe=this,oe=function(){return se.apply(fe,arguments)};B.apply(this,H).then(function(ae){process.nextTick(oe.bind(null,null,ae))},function(ae){process.nextTick(L.bind(null,ae,oe))})}return Object.setPrototypeOf(F,Object.getPrototypeOf(B)),Object.defineProperties(F,e(B)),F}t.callbackify=X}(pf)),pf}Object.defineProperty(bu,"__esModule",{value:!0});bu.decode=HP;bu.encode=DP;const kw=qs;function HP(t){return(kw.isBrowser?new TextDecoder("utf-8"):new(xw()).TextDecoder("utf-8")).decode(t)}function DP(t){return(kw.isBrowser?new TextEncoder:new(xw()).TextEncoder("utf-8")).encode(t)}var vu={},Ad={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(t,e){var r=Xs,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)}})(Ad,Ad.exports);var zP=Ad.exports,Xa=zP.Buffer;function VP(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=Xa.from(d)),!Xa.isBuffer(d))throw new TypeError("Expected Buffer");if(d.length===0)return"";for(var b=0,g=0,E=0,S=d.length;E!==S&&d[E]===0;)E++,b++;for(var _=(S-E)*u+1>>>0,A=new Uint8Array(_);E!==S;){for(var w=d[E],x=0,T=_-1;(w!==0||x<g)&&T!==-1;T--,x++)w+=256*A[T]>>>0,A[T]=w%o>>>0,w=w/o>>>0;if(w!==0)throw new Error("Non-zero carry");g=x,E++}for(var O=_-g;O!==_&&A[O]===0;)O++;for(var N=a.repeat(b);O<_;++O)N+=t.charAt(A[O]);return N}function l(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return Xa.alloc(0);for(var b=0,g=0,E=0;d[b]===a;)g++,b++;for(var S=(d.length-b)*c+1>>>0,_=new Uint8Array(S);b<d.length;){var A=d.charCodeAt(b);if(A>255)return;var w=e[A];if(w===255)return;for(var x=0,T=S-1;(w!==0||x<E)&&T!==-1;T--,x++)w+=o*_[T]>>>0,_[T]=w%256>>>0,w=w/256>>>0;if(w!==0)throw new Error("Non-zero carry");E=x,b++}for(var O=S-E;O!==S&&_[O]===0;)O++;var N=Xa.allocUnsafe(g+(S-O));N.fill(0,0,g);for(var C=g;O!==S;)N[C++]=_[O++];return N}function p(d){var b=l(d);if(b)return b;throw new Error("Non-base"+o+" character")}return{encode:f,decodeUnsafe:l,decode:p}}var GP=VP,qP=GP,WP="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",KP=qP(WP),YP=Zr&&Zr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vu,"__esModule",{value:!0});vu.encode=JP;vu.decode=XP;const Tw=YP(KP);function JP(t){return Tw.default.encode(t)}function XP(t){return Tw.default.decode(t)}var Eu={};Object.defineProperty(Eu,"__esModule",{value:!0});Eu.encode=QP;Eu.decode=e_;const ZP=Xs;function QP(t){return t.toString("base64")}function e_(t){return ZP.Buffer.from(t,"base64")}var t_=Zr&&Zr.__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]}),r_=Zr&&Zr.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Au=Zr&&Zr.__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)&&t_(e,t,r);return r_(e,t),e};Object.defineProperty(vn,"__esModule",{value:!0});vn.base64=vn.bs58=vn.utf8=Pw=vn.hex=void 0;var Pw=vn.hex=Au(mu);vn.utf8=Au(bu);vn.bs58=Au(vu);vn.base64=Au(Eu);class Qn{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 br.web3.PublicKey(r)}catch(o){throw new Error("Error decoding redeemer. Ensure it is a valid base58 encoded",{cause:o})}try{this.amount=new Ol.BigNumber(s.toString(10),10),this.expiresIn=new Ol.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 Qn(n,s,i,a,o)}}function _w(t){let e;try{e=[...Pw.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 Iw{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===m.Network.MAINNET?dd.mainnet:dd.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)??E1[n];this.auth=s;try{this.relayer=new br.web3.PublicKey(c)}catch(d){throw new Error("Error decoding relayer public key. Ensure it is base58 encoded.",{cause:d})}this.relayerClient=new Wi(this.auth,this.url);const u=a.spl?{...W0,metadata:{...W0.metadata??{}},address:a.spl}:void 0,f=a.native?{...Ed,metadata:{...Ed.metadata??{}},address:a.native}:void 0;try{this.splProgram=u?new br.Program(u,this.provider):void 0,this.nativeProgram=f?new br.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 m.Err("Order is required");if(Y.isSolanaOrderResponse(e))return this.initiateWithCreateOrderResponse(e);try{const r=Y.ChainAsset.fromString(e.source_swap.asset);return Y.isSolanaNativeToken(r.chain,r.symbol)?this.nativeProgram?await this.initiateNativeSwap(e):m.Err("Native program is not initialized"):this.splProgram?await this.initiateSplSwap(e):m.Err("SPL program is not initialized")}catch(r){return m.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 m.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?m.Err(`Error from Relayer: ${i.error}`):await La(this.provider.connection,i.result)?m.Ok(i.result):m.Err("Relayer: Failed to Initiate swap, confirmation timed out")}catch(n){return m.Err(`Failed to send SPL transaction: ${n instanceof Error?n.message:String(n)}`)}}async initiateViaHTLC(e,r){if(!r)return m.Err("Order is required");try{const n=await this.provider.sendAndConfirm(e);return n?await La(this.provider.connection,n)?m.Ok(n):m.Err("HTLC: Failed to Initiate swap, confirmation timed out"):m.Err("Failed to initiate HTLC transaction")}catch(n){return m.Err(`Error initiating swap: ${n instanceof Error?n.message:String(n)}`)}}async initiateSplSwap(e){if(!this.splProgram)return m.Err("SPL program is not initialized");try{const{redeemer:r,secretHash:n,amount:s,expiresIn:i}=Qn.from(e),o=this.splProgram.methods.initiate(i,r,n,s,null),a=await su(e.source_swap.asset,this.url);if(!a.ok)return m.Err(a.error);const{tokenAddress:c}=a.val,u=new br.web3.PublicKey(c),f={initiator:this.provider.publicKey,mint:u,initiatorTokenAccount:i6.getAssociatedTokenAddressSync(u,this.provider.publicKey),sponsor:this.relayer},l=await o.accounts(f).transaction();return this.sendSplViaRelayer(l,e.order_id)}catch(r){return m.Err(`Error initiating SPL swap: ${r instanceof Error?r.message:String(r)}`)}}async initiateNativeSwap(e){if(!this.nativeProgram)return m.Err("Native program is not initialized");try{const{redeemer:r,secretHash:n,amount:s,expiresIn:i}=Qn.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 m.Err(`Error initiating native swap: ${r instanceof Error?r.message:String(r)}`)}}async initiateWithCreateOrderResponse(e){if(!this.relayer)return m.Err("No relayer address");const{versioned_tx:r,versioned_tx_gasless:n}=e;if(n===null)try{const i=Buffer.from(r,"base64"),o=br.web3.VersionedTransaction.deserialize(i),a=await this.provider.sendAndConfirm(o);return await La(this.provider.connection,a)?m.Ok(a):m.Err("Failed to initiate HTLC transaction")}catch(i){return m.Err(`Error in non-gasless flow: ${i}`)}const s=await this.auth.getAuthHeaders();if(!s.ok)return m.Err(s.error);try{const i=br.web3.VersionedTransaction.deserialize(Buffer.from(n,"base64")),o=await this.provider.wallet.signTransaction(i);if(!o.signatures[0])return m.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?m.Err(u.error):u.val?m.Ok(u.val):m.Err("Initiate: No result found")}catch(i){return m.Err(`Error initiating with create order response: ${i}`)}}async redeem(e,r){try{const n=_w(r),s=await this.relayerClient.redeem(e.order_id,Buffer.from(n).toString("hex"));if(s.error||!s.val)return m.Err(`Redeem: Error from relayer: ${s.error}`);const i=s.val;return await La(this.provider.connection,i)?m.Ok(i):m.Err("Redeem: Timed out waiting for confirmation")}catch(n){return console.error("Redeem: Caught exception:",n),m.Err(`Error redeeming: ${n}`)}}async refund(){return m.Err("Refund is automatically handled by the relayer.")}}const Ow="1.45.2",n_="1.62.0",s_={"-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 Bw extends Error{}class Cw extends Bw{constructor(e,r){super(e),this.code=r,this.type=s_[r]??"ServerError"}}class i_ extends Bw{constructor(e,r,n){super(e),this.status=r,this.statusText=n}}var Rw=t=>{throw TypeError(t)},tp=(t,e,r)=>e.has(t)||Rw("Cannot "+r),Ne=(t,e,r)=>(tp(t,e,"read from private field"),r?r.call(t):e.get(t)),gs=(t,e,r)=>e.has(t)?Rw("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Ti=(t,e,r,n)=>(tp(t,e,"write to private field"),e.set(t,r),r),Nw=(t,e,r)=>(tp(t,e,"access private method"),r),o_=(t,e,r,n)=>({set _(s){Ti(t,e,s)},get _(){return Ne(t,e,n)}}),Gn,vo,mn,xs,Qo,ks,kc,Uw,Fw;function a_(t){const e=new URL(t);return e.protocol=e.protocol.replace("http","ws"),e.toString()}const c_={WebSocketConstructor:typeof WebSocket<"u"?WebSocket:void 0,callTimeout:3e4,reconnectTimeout:3e3,maxReconnects:5};class u_{constructor(e,r={}){if(gs(this,kc),gs(this,Gn,0),gs(this,vo,0),gs(this,mn,null),gs(this,xs,null),gs(this,Qo,new Set),gs(this,ks,new Map),this.endpoint=e,this.options={...c_,...r},!this.options.WebSocketConstructor)throw new Error("Missing WebSocket constructor");this.endpoint.startsWith("http")&&(this.endpoint=a_(this.endpoint))}async makeRequest(e,r,n){const s=await Nw(this,kc,Uw).call(this);return new Promise((i,o)=>{Ti(this,Gn,Ne(this,Gn)+1),Ne(this,ks).set(Ne(this,Gn),{resolve:i,reject:o,timeout:setTimeout(()=>{Ne(this,ks).delete(Ne(this,Gn)),o(new Error(`Request timeout: ${e}`))},this.options.callTimeout)}),n==null||n.addEventListener("abort",()=>{Ne(this,ks).delete(Ne(this,Gn)),o(n.reason)}),s.send(JSON.stringify({jsonrpc:"2.0",id:Ne(this,Gn),method:e,params:r}))}).then(({error:i,result:o})=>{if(i)throw new Cw(i.message,i.code);return o})}async subscribe(e){const r=new f_(e);return Ne(this,Qo).add(r),await r.subscribe(this),()=>r.unsubscribe(this)}}Gn=new WeakMap;vo=new WeakMap;mn=new WeakMap;xs=new WeakMap;Qo=new WeakMap;ks=new WeakMap;kc=new WeakSet;Uw=function(){return Ne(this,xs)?Ne(this,xs):(Ti(this,xs,new Promise(t=>{var e;(e=Ne(this,mn))==null||e.close(),Ti(this,mn,new this.options.WebSocketConstructor(this.endpoint)),Ne(this,mn).addEventListener("open",()=>{Ti(this,vo,0),t(Ne(this,mn))}),Ne(this,mn).addEventListener("close",()=>{o_(this,vo)._++,Ne(this,vo)<=this.options.maxReconnects&&setTimeout(()=>{Nw(this,kc,Fw).call(this)},this.options.reconnectTimeout)}),Ne(this,mn).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&&Ne(this,ks).has(n.id)){const{resolve:s,timeout:i}=Ne(this,ks).get(n.id);clearTimeout(i),s(n)}else if("params"in n){const{params:s}=n;Ne(this,Qo).forEach(i=>{i.subscriptionId===s.subscription&&s.subscription===i.subscriptionId&&i.onMessage(s.result)})}})})),Ne(this,xs))};Fw=async function(){var t;return(t=Ne(this,mn))==null||t.close(),Ti(this,xs,null),Promise.allSettled([...Ne(this,Qo)].map(e=>e.subscribe(this)))};class f_{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 Mw=t=>{throw TypeError(t)},rp=(t,e,r)=>e.has(t)||Mw("Cannot "+r),ur=(t,e,r)=>(rp(t,e,"read from private field"),r?r.call(t):e.get(t)),Za=(t,e,r)=>e.has(t)?Mw("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Sd=(t,e,r,n)=>(rp(t,e,"write to private field"),e.set(t,r),r),l_=(t,e,r)=>(rp(t,e,"access private method"),r),po,gr,Eo,xd,$w;class d_{constructor(e){Za(this,xd),Za(this,po,0),Za(this,gr),Za(this,Eo),Sd(this,gr,e)}fetch(e,r){const n=ur(this,gr).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;Sd(this,po,ur(this,po)+1);const r=await this.fetch(((s=ur(this,gr).rpc)==null?void 0:s.url)??ur(this,gr).url,{method:"POST",signal:e.signal,headers:{"Content-Type":"application/json","Client-Sdk-Type":"typescript","Client-Sdk-Version":Ow,"Client-Target-Api-Version":n_,"Client-Request-Method":e.method,...(i=ur(this,gr).rpc)==null?void 0:i.headers},body:JSON.stringify({jsonrpc:"2.0",id:ur(this,po),method:e.method,params:e.params})});if(!r.ok)throw new i_(`Unexpected status code: ${r.status}`,r.status,r.statusText);const n=await r.json();if("error"in n&&n.error!=null)throw new Cw(n.error.message,n.error.code);return n.result}async subscribe(e){const r=await l_(this,xd,$w).call(this).subscribe(e);return e.signal&&(e.signal.throwIfAborted(),e.signal.addEventListener("abort",()=>{r()})),async()=>!!await r()}}po=new WeakMap;gr=new WeakMap;Eo=new WeakMap;xd=new WeakSet;$w=function(){var t;if(!ur(this,Eo)){const e=ur(this,gr).WebSocketConstructor??WebSocket;if(!e)throw new Error("The current environment does not support WebSocket, you can provide a WebSocketConstructor in the options for SuiHTTPTransport.");Sd(this,Eo,new u_(((t=ur(this,gr).websocket)==null?void 0:t.url)??ur(this,gr).url,{WebSocketConstructor:e,...ur(this,gr).websocket}))}return ur(this,Eo)};function Qy(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 h_(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function jw(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 kd(t,e){if(typeof e!="string")throw new Error(`${t}: string expected`);return!0}function Lw(t){if(!Number.isSafeInteger(t))throw new Error(`invalid integer: ${t}`)}function Td(t){if(!Array.isArray(t))throw new Error("array expected")}function Hw(t,e){if(!jw(!0,e))throw new Error(`${t}: array of strings expected`)}function p_(t,e){if(!jw(!1,e))throw new Error(`${t}: array of numbers expected`)}function y_(...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 m_(t){const e=typeof t=="string"?t.split(""):t,r=e.length;Hw("alphabet",e);const n=new Map(e.map((s,i)=>[s,i]));return{encode:s=>(Td(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=>(Td(s),s.map(i=>{kd("alphabet.decode",i);const o=n.get(i);if(o===void 0)throw new Error(`Unknown letter: "${i}". Allowed: ${t}`);return o}))}}function b_(t=""){return kd("join",t),{encode:e=>(Hw("join.decode",e),e.join(t)),decode:e=>(kd("join.decode",e),e.split(t))}}function em(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(Td(t),!t.length)return[];let n=0;const s=[],i=Array.from(t,a=>{if(Lw(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 b=Math.floor(d);if(i[u]=b,!Number.isSafeInteger(b)||b*r+a!==p)throw new Error("convertRadix: carry overflow");if(c)b?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 g_(t){Lw(t);const e=2**8;return{encode:r=>{if(!h_(r))throw new Error("radix.encode input should be Uint8Array");return em(Array.from(r),e,t)},decode:r=>(p_("radix.decode",r),Uint8Array.from(em(r,t,e)))}}const w_=t=>y_(g_(58),m_(t),b_("")),Dw=w_("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),Su=t=>Dw.encode(t),ea=t=>Dw.decode(t);function Yt(t){return Uint8Array.from(atob(t),e=>e.charCodeAt(0))}const bl=8192;function bt(t){if(t.length<bl)return btoa(String.fromCharCode(...t));let e="";for(var r=0;r<t.length;r+=bl){const n=t.slice(r,r+bl);e+=String.fromCharCode(...n)}return btoa(e)}function zw(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 $i(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 Vw{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=S_(r),this._batchScheduleFn=x_(r),this._cacheKeyFn=k_(r),this._cacheMap=T_(r),this._batch=null,this.name=P_(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=E_(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(!Gw(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 v_=typeof process=="object"&&typeof process.nextTick=="function"?function(t){gl||(gl=Promise.resolve()),gl.then(()=>{process.nextTick(t)})}:typeof setImmediate=="function"?function(t){setImmediate(t)}:function(t){setTimeout(t)};let gl;function E_(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(()=>{A_(t,r)}),r}function A_(t,e){if(e.hasDispatched=!0,e.keys.length===0){Pd(e);return}let r;try{r=t._batchLoadFn(e.keys)}catch(n){return wl(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 wl(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(!Gw(n))throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: ${String(n)}.`);if(n.length!==e.keys.length)throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.
|
|
81
|
+
|
|
82
|
+
Keys:
|
|
83
|
+
${String(e.keys)}
|
|
84
|
+
|
|
85
|
+
Values:
|
|
86
|
+
${String(n)}`);Pd(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=>{wl(t,e,n)})}function wl(t,e,r){Pd(e);for(let n=0;n<e.keys.length;n++)t.clear(e.keys[n]),e.callbacks[n].reject(r)}function Pd(t){if(t.cacheHits)for(let e=0;e<t.cacheHits.length;e++)t.cacheHits[e]()}function S_(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 x_(t){const e=t&&t.batchScheduleFn;if(e===void 0)return v_;if(typeof e!="function")throw new TypeError(`batchScheduleFn must be a function: ${e}`);return e}function k_(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 T_(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 P_(t){return t&&t.name?t.name:null}function Gw(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){let e=BigInt(t);const r=[];let n=0;if(e===0n)return[0];for(;e>0;)r[n]=Number(e&0x7fn),e>>=7n,e>0n&&(r[n]|=128),n+=1;return r}function __(t){let e=0n,r=0n,n=0;for(;;){if(n>=t.length)throw new Error("ULEB decode error: buffer overflow");const s=t[n];if(n+=1,e+=BigInt(s&127)<<r,!(s&128))break;r+=7n}if(e>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("ULEB decode error: value exceeds MAX_SAFE_INTEGER");return{value:Number(e),length:n}}class I_{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}=__(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 O_(t,e){switch(e){case"base58":return Su(t);case"base64":return bt(t);case"hex":return $i(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 B_{constructor({initialSize:e=1024,maxSize:r=1/0,allocateSize:n=1024}={}){this.bytePosition=0,this.size=e,this.maxSize=r,this.allocateSize=n,this.dataView=new DataView(new ArrayBuffer(e))}ensureSizeOrGrow(e){const r=this.bytePosition+e;if(r>this.size){const n=Math.min(this.maxSize,Math.max(this.size+r,this.size+this.allocateSize));if(r>n)throw new Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${r}`);this.size=n;const s=new ArrayBuffer(this.size);new Uint8Array(s).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(s)}}shift(e){return this.bytePosition+=e,this}write8(e){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(e)),this.shift(1)}writeBytes(e){this.ensureSizeOrGrow(e.length);for(let r=0;r<e.length;r++)this.dataView.setUint8(this.bytePosition+r,e[r]);return this.shift(e.length)}write16(e){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(e),!0),this.shift(2)}write32(e){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(e),!0),this.shift(4)}write64(e){return vl(BigInt(e),8).forEach(r=>this.write8(r)),this}write128(e){return vl(BigInt(e),16).forEach(r=>this.write8(r)),this}write256(e){return vl(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 O_(this.toBytes(),e)}}function vl(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 Ww=t=>{throw TypeError(t)},Kw=(t,e,r)=>e.has(t)||Ww("Cannot "+r),wr=(t,e,r)=>(Kw(t,e,"read from private field"),r?r.call(t):e.get(t)),Pc=(t,e,r)=>e.has(t)?Ww("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),_c=(t,e,r,n)=>(Kw(t,e,"write to private field"),e.set(t,r),r),di,yo,uc,qn;const C_=class Yw{constructor(e){Pc(this,di),Pc(this,yo),this.name=e.name,this.read=e.read,this.serializedSize=e.serializedSize??(()=>null),_c(this,di,e.write),_c(this,yo,e.serialize??((r,n)=>{const s=new B_({initialSize:this.serializedSize(r)??void 0,...n});return wr(this,di).call(this,r,s),s.toBytes()})),this.validate=e.validate??(()=>{})}write(e,r){this.validate(e),wr(this,di).call(this,e,r)}serialize(e,r){return this.validate(e),new R_(this,wr(this,yo).call(this,e,r))}parse(e){const r=new I_(e);return this.read(r)}fromHex(e){return this.parse(zw(e))}fromBase58(e){return this.parse(ea(e))}fromBase64(e){return this.parse(Yt(e))}transform({name:e,input:r,output:n,validate:s}){return new Yw({name:e??this.name,read:i=>n?n(this.read(i)):this.read(i),write:(i,o)=>wr(this,di).call(this,r?r(i):i,o),serializedSize:i=>this.serializedSize(r?r(i):i),serialize:(i,o)=>wr(this,yo).call(this,r?r(i):i,o),validate:i=>{s==null||s(i),this.validate(r?r(i):i)}})}};di=new WeakMap;yo=new WeakMap;let Qr=C_;const Jw=Symbol.for("@mysten/serialized-bcs");function np(t){return!!t&&typeof t=="object"&&t[Jw]===!0}class R_{constructor(e,r){Pc(this,uc),Pc(this,qn),_c(this,uc,e),_c(this,qn,r)}get[Jw](){return!0}toBytes(){return wr(this,qn)}toHex(){return $i(wr(this,qn))}toBase64(){return bt(wr(this,qn))}toBase58(){return Su(wr(this,qn))}parse(){return wr(this,uc).parse(wr(this,qn))}}uc=new WeakMap;qn=new WeakMap;function Ic({size:t,...e}){return new Qr({...e,serializedSize:()=>t})}function El({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 Al({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 N_({serialize:t,...e}){const r=new Qr({...e,serialize:t,write:(n,s)=>{for(const i of r.serialize(n).toBytes())s.write8(i)}});return r}function U_({toBytes:t,fromBytes:e,...r}){return new Qr({...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 F_(t){let e=null;function r(){return e||(e=t()),e}return new Qr({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 M_ extends Qr{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 $_ extends Qr{constructor({fields:e,...r}){const n=Object.entries(e);super({read:s=>{const i=s.readULEB(),o=n[i];if(!o)throw new TypeError(`Unknown value ${i} for enum ${r.name}`);const[a,c]=o;return{[a]:(c==null?void 0:c.read(s))??!0,$kind:a}},write:(s,i)=>{const[o,a]=Object.entries(s).filter(([c])=>Object.hasOwn(e,c))[0];for(let c=0;c<n.length;c++){const[u,f]=n[c];if(u===o){i.writeULEB(c),f==null||f.write(a,i);return}}},...r,validate:s=>{var a;if((a=r==null?void 0:r.validate)==null||a.call(r,s),typeof s!="object"||s==null)throw new TypeError(`Expected object, found ${typeof s}`);const i=Object.keys(s).filter(c=>s[c]!==void 0&&Object.hasOwn(e,c));if(i.length!==1)throw new TypeError(`Expected object with one key, but found ${i.length} for type ${r.name}}`);const[o]=i;if(!Object.hasOwn(e,o))throw new TypeError(`Invalid enum variant ${o}`)}})}}class j_ extends Qr{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 L_(t,e,r){return new Qr({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 H_(t){return P.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 D_(t,e){return new Qr({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 z_(t,e){return P.vector(P.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 P={u8(t){return El({readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...t,name:(t==null?void 0:t.name)??"u8"})},u16(t){return El({readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...t,name:(t==null?void 0:t.name)??"u16"})},u32(t){return El({readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...t,name:(t==null?void 0:t.name)??"u32"})},u64(t){return Al({readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...t,name:(t==null?void 0:t.name)??"u64"})},u128(t){return Al({readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...t,name:(t==null?void 0:t.name)??"u128"})},u256(t){return Al({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 N_({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)=>{n.writeBytes(new Uint8Array(r))},...e,name:(e==null?void 0:e.name)??`bytes[${t}]`,validate:r=>{var n;if((n=e==null?void 0:e.validate)==null||n.call(e,r),!r||typeof r!="object"||!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==t)throw new TypeError(`Expected array of length ${t}, found ${r.length}`)}})},byteVector(t){return new Qr({read:e=>{const r=e.readULEB();return e.readBytes(r)},write:(e,r)=>{const n=new Uint8Array(e);r.writeULEB(n.length),r.writeBytes(n)},...t,name:(t==null?void 0:t.name)??"vector<u8>",serializedSize:e=>{const r="length"in e?e.length:null;return r==null?null: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 U_({toBytes:e=>new TextEncoder().encode(e),fromBytes:e=>new TextDecoder().decode(e),...t,name:(t==null?void 0:t.name)??"string"})},fixedArray:L_,option:H_,vector:D_,tuple(t,e){return new j_({fields:t,...e})},struct(t,e,r){return new M_({name:t,fields:e,...r})},enum(t,e,r){return new $_({name:t,fields:e,...r})},map:z_,lazy(t){return F_(t)}};var Xw=t=>{throw TypeError(t)},Zw=(t,e,r)=>e.has(t)||Xw("Cannot "+r),yt=(t,e,r)=>(Zw(t,e,"read from private field"),e.get(t)),tm=(t,e,r)=>e.has(t)?Xw("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),rm=(t,e,r,n)=>(Zw(t,e,"write to private field"),e.set(t,r),r),vs,xt;const V_=class Qw{constructor({prefix:e,cache:r}={}){tm(this,vs),tm(this,xt),rm(this,vs,e??[]),rm(this,xt,r??new Map)}read(e,r){const n=[yt(this,vs),...e].join(":");if(yt(this,xt).has(n))return yt(this,xt).get(n);const s=r();return yt(this,xt).set(n,s),typeof s=="object"&&s!==null&&"then"in s?Promise.resolve(s).then(i=>(yt(this,xt).set(n,i),i)).catch(i=>{throw yt(this,xt).delete(n),i}):s}readSync(e,r){const n=[yt(this,vs),...e].join(":");if(yt(this,xt).has(n))return yt(this,xt).get(n);const s=r();return yt(this,xt).set(n,s),s}clear(e){const r=[...yt(this,vs),...e??[]].join(":");if(!r){yt(this,xt).clear();return}for(const n of yt(this,xt).keys())n.startsWith(r)&&yt(this,xt).delete(n)}scope(e){return new Qw({prefix:[...yt(this,vs),...Array.isArray(e)?e:[e]],cache:yt(this,xt)})}};vs=new WeakMap;xt=new WeakMap;let G_=V_;class e2{constructor({network:e,base:r,cache:n=(r==null?void 0:r.cache)??new G_}){this.network=e,this.base=r??this,this.cache=n}$extend(...e){return Object.create(this,Object.fromEntries(e.map(r=>[r.name,{value:r.register(this)}])))}}let fn;function t2(t){return{lang:(t==null?void 0:t.lang)??(fn==null?void 0:fn.lang),message:t==null?void 0:t.message,abortEarly:(t==null?void 0:t.abortEarly)??(fn==null?void 0:fn.abortEarly),abortPipeEarly:(t==null?void 0:t.abortPipeEarly)??(fn==null?void 0:fn.abortPipeEarly)}}let Sl;function q_(t){return Sl==null?void 0:Sl.get(t)}let xl;function W_(t){return xl==null?void 0:xl.get(t)}let kl;function K_(t,e){var r;return(r=kl==null?void 0:kl.get(t))==null?void 0:r.get(e)}function r2(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 jt(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)??r2(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??K_(t.reference,c.lang)??(u?W_(c.lang):null)??n.message??q_(c.lang);f!==void 0&&(c.message=typeof f=="function"?f(c):f),u&&(r.typed=!1),r.issues?r.issues.push(c):r.issues=[c]}function vt(t){return{version:1,vendor:"valibot",validate(e){return t["~run"]({value:e},t2())}}}function Y_(t,e){return Object.hasOwn(t,e)&&e!=="__proto__"&&e!=="prototype"&&e!=="constructor"}function J_(t,e){const r=[...new Set(t)];return r.length>1?`(${r.join(` ${e} `)})`:r[0]??"never"}var X_=class extends Error{constructor(t){super(t[0].message),this.name="ValiError",this.issues=t}};function sp(t,e){return{kind:"validation",type:"check",reference:sp,async:!1,expects:null,requirement:t,message:e,"~run"(r,n){return r.typed&&!this.requirement(r.value)&&jt(this,"input",r,n),r}}}function Ut(t){return{kind:"validation",type:"integer",reference:Ut,async:!1,expects:null,requirement:Number.isInteger,message:t,"~run"(e,r){return e.typed&&!this.requirement(e.value)&&jt(this,"integer",e,r),e}}}function ku(t){return{kind:"transformation",type:"transform",reference:ku,async:!1,operation:t,"~run"(e){return e.value=this.operation(e.value),e}}}function Z_(t,e,r){return typeof t.fallback=="function"?t.fallback(e,r):t.fallback}function Tu(t,e,r){return typeof t.default=="function"?t.default(e,r):t.default}function _d(t,e){return!t["~run"]({value:e},{abortEarly:!0}).issues}function Ee(t,e){return{kind:"schema",type:"array",reference:Ee,expects:"Array",async:!1,item:t,message:e,get"~standard"(){return vt(this)},"~run"(r,n){var i;const s=r.value;if(Array.isArray(s)){r.typed=!0,r.value=[];for(let o=0;o<s.length;o++){const a=s[o],c=this.item["~run"]({value:a},n);if(c.issues){const u={type:"array",origin:"value",input:s,key:o,value:a};for(const f of c.issues)f.path?f.path.unshift(u):f.path=[u],(i=r.issues)==null||i.push(f);if(r.issues||(r.issues=c.issues),n.abortEarly){r.typed=!1;break}}c.typed||(r.typed=!1),r.value.push(c.value)}}else jt(this,"type",r,n);return r}}}function n2(t){return{kind:"schema",type:"bigint",reference:n2,expects:"bigint",async:!1,message:t,get"~standard"(){return vt(this)},"~run"(e,r){return typeof e.value=="bigint"?e.typed=!0:jt(this,"type",e,r),e}}}function Yi(t){return{kind:"schema",type:"boolean",reference:Yi,expects:"boolean",async:!1,message:t,get"~standard"(){return vt(this)},"~run"(e,r){return typeof e.value=="boolean"?e.typed=!0:jt(this,"type",e,r),e}}}function Id(t){return{kind:"schema",type:"lazy",reference:Id,expects:"unknown",async:!1,getter:t,get"~standard"(){return vt(this)},"~run"(e,r){return this.getter(e.value)["~run"](e,r)}}}function rt(t,e){return{kind:"schema",type:"literal",reference:rt,expects:r2(t),async:!1,literal:t,message:e,get"~standard"(){return vt(this)},"~run"(r,n){return r.value===this.literal?r.typed=!0:jt(this,"type",r,n),r}}}function Ve(t,e){return{kind:"schema",type:"nullable",reference:Ve,expects:`(${t.expects} | null)`,async:!1,wrapped:t,default:e,get"~standard"(){return vt(this)},"~run"(r,n){return r.value===null&&(this.default!==void 0&&(r.value=Tu(this,r,n)),r.value===null)?(r.typed=!0,r):this.wrapped["~run"](r,n)}}}function ta(t,e){return{kind:"schema",type:"nullish",reference:ta,expects:`(${t.expects} | null | undefined)`,async:!1,wrapped:t,default:e,get"~standard"(){return vt(this)},"~run"(r,n){return(r.value===null||r.value===void 0)&&(this.default!==void 0&&(r.value=Tu(this,r,n)),r.value===null||r.value===void 0)?(r.typed=!0,r):this.wrapped["~run"](r,n)}}}function Ft(t){return{kind:"schema",type:"number",reference:Ft,expects:"number",async:!1,message:t,get"~standard"(){return vt(this)},"~run"(e,r){return typeof e.value=="number"&&!isNaN(e.value)?e.typed=!0:jt(this,"type",e,r),e}}}function le(t,e){return{kind:"schema",type:"object",reference:le,expects:"Object",async:!1,entries:t,message:e,get"~standard"(){return vt(this)},"~run"(r,n){var i;const s=r.value;if(s&&typeof s=="object"){r.typed=!0,r.value={};for(const o in this.entries){const a=this.entries[o];if(o in s||(a.type==="exact_optional"||a.type==="optional"||a.type==="nullish")&&a.default!==void 0){const c=o in s?s[o]:Tu(a),u=a["~run"]({value:c},n);if(u.issues){const f={type:"object",origin:"value",input:s,key:o,value:c};for(const l of u.issues)l.path?l.path.unshift(f):l.path=[f],(i=r.issues)==null||i.push(l);if(r.issues||(r.issues=u.issues),n.abortEarly){r.typed=!1;break}}u.typed||(r.typed=!1),r.value[o]=u.value}else if(a.fallback!==void 0)r.value[o]=Z_(a);else if(a.type!=="exact_optional"&&a.type!=="optional"&&a.type!=="nullish"&&(jt(this,"key",r,n,{input:void 0,expected:`"${o}"`,path:[{type:"object",origin:"key",input:s,key:o,value:s[o]}]}),n.abortEarly))break}}else jt(this,"type",r,n);return r}}}function Kt(t,e){return{kind:"schema",type:"optional",reference:Kt,expects:`(${t.expects} | undefined)`,async:!1,wrapped:t,default:e,get"~standard"(){return vt(this)},"~run"(r,n){return r.value===void 0&&(this.default!==void 0&&(r.value=Tu(this,r,n)),r.value===void 0)?(r.typed=!0,r):this.wrapped["~run"](r,n)}}}function ra(t,e,r){return{kind:"schema",type:"record",reference:ra,expects:"Object",async:!1,key:t,value:e,message:r,get"~standard"(){return vt(this)},"~run"(n,s){var o,a;const i=n.value;if(i&&typeof i=="object"){n.typed=!0,n.value={};for(const c in i)if(Y_(i,c)){const u=i[c],f=this.key["~run"]({value:c},s);if(f.issues){const p={type:"object",origin:"key",input:i,key:c,value:u};for(const d of f.issues)d.path=[p],(o=n.issues)==null||o.push(d);if(n.issues||(n.issues=f.issues),s.abortEarly){n.typed=!1;break}}const l=this.value["~run"]({value:u},s);if(l.issues){const p={type:"object",origin:"value",input:i,key:c,value:u};for(const d of l.issues)d.path?d.path.unshift(p):d.path=[p],(a=n.issues)==null||a.push(d);if(n.issues||(n.issues=l.issues),s.abortEarly){n.typed=!1;break}}(!f.typed||!l.typed)&&(n.typed=!1),f.typed&&(n.value[f.value]=l.value)}}else jt(this,"type",n,s);return n}}}function xe(t){return{kind:"schema",type:"string",reference:xe,expects:"string",async:!1,message:t,get"~standard"(){return vt(this)},"~run"(e,r){return typeof e.value=="string"?e.typed=!0:jt(this,"type",e,r),e}}}function ip(t,e){return{kind:"schema",type:"tuple",reference:ip,expects:"Array",async:!1,items:t,message:e,get"~standard"(){return vt(this)},"~run"(r,n){var i;const s=r.value;if(Array.isArray(s)){r.typed=!0,r.value=[];for(let o=0;o<this.items.length;o++){const a=s[o],c=this.items[o]["~run"]({value:a},n);if(c.issues){const u={type:"array",origin:"value",input:s,key:o,value:a};for(const f of c.issues)f.path?f.path.unshift(u):f.path=[u],(i=r.issues)==null||i.push(f);if(r.issues||(r.issues=c.issues),n.abortEarly){r.typed=!1;break}}c.typed||(r.typed=!1),r.value.push(c.value)}}else jt(this,"type",r,n);return r}}}function nm(t){let e;if(t)for(const r of t)e?e.push(...r.issues):e=r.issues;return e}function en(t,e){return{kind:"schema",type:"union",reference:en,expects:J_(t.map(r=>r.expects),"|"),async:!1,options:t,message:e,get"~standard"(){return vt(this)},"~run"(r,n){let s,i,o;for(const a of this.options){const c=a["~run"]({value:r.value},n);if(c.typed)if(c.issues)i?i.push(c):i=[c];else{s=c;break}else o?o.push(c):o=[c]}if(s)return s;if(i){if(i.length===1)return i[0];jt(this,"type",r,n,{issues:nm(i)}),r.typed=!0}else{if((o==null?void 0:o.length)===1)return o[0];jt(this,"type",r,n,{issues:nm(o)})}return r}}}function Oa(){return{kind:"schema",type:"unknown",reference:Oa,expects:"unknown",async:!1,get"~standard"(){return vt(this)},"~run"(t){return t.typed=!0,t}}}function Le(t,e,r){const n=t["~run"]({value:e},t2(r));if(n.issues)throw new X_(n.issues);return n.value}function dt(...t){return{...t[0],pipe:t,get"~standard"(){return vt(this)},"~run"(e,r){for(const n of t)if(n.kind!=="metadata"){if(e.issues&&(n.kind==="schema"||n.kind==="transformation")){e.typed=!1;break}(!e.issues||!r.abortEarly&&!r.abortPipeEarly)&&(e=n["~run"](e,r))}return e}}}const s2=/^(?!.*(^(?!@)|[-.@])($|[-.@]))(?:[a-z0-9-]{0,63}(?:\.[a-z0-9-]{0,63})*)?@[a-z0-9-]{0,63}$/i,i2=/^(?!.*(^|[-.])($|[-.]))(?:[a-z0-9-]{0,63}\.)+sui$/i,Q_=235;function eI(t){return t.length>Q_?!1:t.includes("@")?s2.test(t):i2.test(t)}function tI(t,e="at"){const r=t.toLowerCase();let n;if(r.includes("@")){if(!s2.test(r))throw new Error(`Invalid SuiNS name ${t}`);const[s,i]=r.split("@");n=[...s?s.split("."):[],i]}else{if(!i2.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 rI=/^([a-z0-9]+(?:-[a-z0-9]+)*)$/,nI=/^\d+$/,sI=64,o2="/",Vt=t=>{const e=t.split(o2);if(e.length<2||e.length>3)return!1;const[r,n,s]=e;return s!==void 0&&!nI.test(s)||!eI(r)?!1:rI.test(n)&&n.length<sI},iI=t=>{const e=t.split(/::|<|>|,/);for(const r of e)if(r.includes(o2)&&!Vt(r))return!1;return!0},oI=32;function sm(t){try{return ea(t).length===oI}catch{return!1}}const Pu=32;function vr(t){return cI(t)&&uI(t)===Pu}function Qa(t){return vr(t)}function aI(t){return t.includes("::")?Ws(t):t}function Ws(t){const[e,r]=t.split("::"),n=Vt(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=>aI(a.trim())):[];return{address:n?e:be(e),module:r,name:i,typeParams:o}}function Oc(t){const{address:e,module:r,name:n,typeParams:s}=typeof t=="string"?Ws(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 be(t,e=!1){let r=t.toLowerCase();return!e&&r.startsWith("0x")&&(r=r.slice(2)),`0x${r.padStart(Pu*2,"0")}`}function Kr(t,e=!1){return be(t,e)}function cI(t){return/^(0x|0X)?[a-fA-F0-9]+$/.test(t)&&t.length%2===0}function uI(t){return/^(0x|0X)/.test(t)?(t.length-2)/2:t.length/2}function ei(t){const e=Object.entries(t).map(([r,n])=>le({[r]:n}));return dt(en(e),ku(r=>({...r,$kind:Object.keys(r)[0]})))}const Ji=dt(xe(),ku(t=>be(t)),sp(vr)),Jt=Ji,Ks=xe(),Lt=dt(en([xe(),dt(Ft(),Ut())]),sp(t=>{try{return BigInt(t),BigInt(t)>=0&&BigInt(t)<=18446744073709551615n}catch{return!1}},"Invalid u64")),us=le({objectId:Ji,version:Lt,digest:xe()}),Be=dt(en([le({GasCoin:rt(!0)}),le({Input:dt(Ft(),Ut()),type:Kt(rt("pure"))}),le({Input:dt(Ft(),Ut()),type:Kt(rt("object"))}),le({Result:dt(Ft(),Ut())}),le({NestedResult:ip([dt(Ft(),Ut()),dt(Ft(),Ut())])})]),ku(t=>({...t,$kind:Object.keys(t)[0]}))),fI=le({budget:Ve(Lt),price:Ve(Lt),owner:Ve(Ji),payment:Ve(Ee(us))}),Od=en([rt("address"),rt("bool"),rt("u8"),rt("u16"),rt("u32"),rt("u64"),rt("u128"),rt("u256"),le({vector:Id(()=>Od)}),le({datatype:le({package:xe(),module:xe(),type:xe(),typeParameters:Ee(Id(()=>Od))})}),le({typeParameter:dt(Ft(),Ut())})]),lI=le({ref:Ve(en([rt("&"),rt("&mut")])),body:Od}),dI=le({package:Jt,module:xe(),function:xe(),typeArguments:Ee(xe()),arguments:Ee(Be),_argumentTypes:Kt(Ve(Ee(lI)))}),hI=le({name:xe(),inputs:ra(xe(),en([Be,Ee(Be)])),data:ra(xe(),Oa())}),pI=ei({MoveCall:dI,TransferObjects:le({objects:Ee(Be),address:Be}),SplitCoins:le({coin:Be,amounts:Ee(Be)}),MergeCoins:le({destination:Be,sources:Ee(Be)}),Publish:le({modules:Ee(Ks),dependencies:Ee(Jt)}),MakeMoveVec:le({type:Ve(xe()),elements:Ee(Be)}),Upgrade:le({modules:Ee(Ks),dependencies:Ee(Jt),package:Jt,ticket:Be}),$Intent:hI}),a2=ei({ImmOrOwnedObject:us,SharedObject:le({objectId:Jt,initialSharedVersion:Lt,mutable:Yi()}),Receiving:us}),yI=ei({Object:a2,Pure:le({bytes:Ks}),UnresolvedPure:le({value:Oa()}),UnresolvedObject:le({objectId:Jt,version:Kt(Ve(Lt)),digest:Kt(Ve(xe())),initialSharedVersion:Kt(Ve(Lt)),mutable:Kt(Ve(Yi()))})}),im=ei({Object:a2,Pure:le({bytes:Ks})}),c2=ei({None:rt(!0),Epoch:Lt}),fc=le({version:rt(2),sender:ta(Ji),expiration:ta(c2),gasData:fI,inputs:Ee(yI),commands:Ee(pI)}),ws={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=>Le(Be,r)),address:Le(Be,e)}}},SplitCoins(t,e){return{$kind:"SplitCoins",SplitCoins:{coin:Le(Be,t),amounts:e.map(r=>Le(Be,r))}}},MergeCoins(t,e){return{$kind:"MergeCoins",MergeCoins:{destination:Le(Be,t),sources:e.map(r=>Le(Be,r))}}},Publish({modules:t,dependencies:e}){return{$kind:"Publish",Publish:{modules:t.map(r=>typeof r=="string"?r:bt(new Uint8Array(r))),dependencies:e.map(r=>Kr(r))}}},Upgrade({modules:t,dependencies:e,package:r,ticket:n}){return{$kind:"Upgrade",Upgrade:{modules:t.map(s=>typeof s=="string"?s:bt(new Uint8Array(s))),dependencies:e.map(s=>Kr(s)),package:r,ticket:Le(Be,n)}}},MakeMoveVec({type:t,elements:e}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:t??null,elements:e.map(r=>Le(Be,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=>Le(Be,i)):Le(Be,s)])),data:r}}}},mI=/^vector<(.+)>$/,bI=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;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(mI);if(n)return{vector:Er.parseFromStr(n[1],r)};const s=e.match(bI);if(s)return{struct:{address:r?be(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 gI(t){return P.u64({name:"unsafe_u64",...t}).transform({input:e=>e,output:e=>Number(e)})}function wI(t){return P.enum("Option",{None:null,Some:t})}const Ce=P.bytes(Pu).transform({validate:t=>{const e=typeof t=="string"?t:$i(t);if(!e||!vr(be(e)))throw new Error(`Invalid Sui address ${e}`)},input:t=>typeof t=="string"?zw(be(t)):t,output:t=>be($i(t))}),xr=P.byteVector().transform({name:"ObjectDigest",input:t=>ea(t),output:t=>Su(new Uint8Array(t)),validate:t=>{if(ea(t).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),cr=P.struct("SuiObjectRef",{objectId:Ce,version:P.u64(),digest:xr}),u2=P.struct("SharedObjectRef",{objectId:Ce,initialSharedVersion:P.u64(),mutable:P.bool()}),f2=P.enum("ObjectArg",{ImmOrOwnedObject:cr,SharedObject:u2,Receiving:cr}),Ts=P.enum("Owner",{AddressOwner:Ce,ObjectOwner:Ce,Shared:P.struct("Shared",{initialSharedVersion:P.u64()}),Immutable:null,ConsensusAddressOwner:P.struct("ConsensusAddressOwner",{owner:Ce,startVersion:P.u64()})}),l2=P.enum("CallArg",{Pure:P.struct("Pure",{bytes:P.byteVector().transform({input:t=>typeof t=="string"?Yt(t):t,output:t=>bt(new Uint8Array(t))})}),Object:f2}),op=P.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:P.lazy(()=>op),struct:P.lazy(()=>b2),u16:null,u32:null,u256:null}),ap=op.transform({input:t=>typeof t=="string"?Er.parseFromStr(t,!0):t,output:t=>Er.tagToString(t)}),Gr=P.enum("Argument",{GasCoin:null,Input:P.u16(),Result:P.u16(),NestedResult:P.tuple([P.u16(),P.u16()])}),d2=P.struct("ProgrammableMoveCall",{package:Ce,module:P.string(),function:P.string(),typeArguments:P.vector(ap),arguments:P.vector(Gr)}),h2=P.enum("Command",{MoveCall:d2,TransferObjects:P.struct("TransferObjects",{objects:P.vector(Gr),address:Gr}),SplitCoins:P.struct("SplitCoins",{coin:Gr,amounts:P.vector(Gr)}),MergeCoins:P.struct("MergeCoins",{destination:Gr,sources:P.vector(Gr)}),Publish:P.struct("Publish",{modules:P.vector(P.byteVector().transform({input:t=>typeof t=="string"?Yt(t):t,output:t=>bt(new Uint8Array(t))})),dependencies:P.vector(Ce)}),MakeMoveVec:P.struct("MakeMoveVec",{type:wI(ap).transform({input:t=>t===null?{None:!0}:{Some:t},output:t=>t.Some??null}),elements:P.vector(Gr)}),Upgrade:P.struct("Upgrade",{modules:P.vector(P.byteVector().transform({input:t=>typeof t=="string"?Yt(t):t,output:t=>bt(new Uint8Array(t))})),dependencies:P.vector(Ce),package:Ce,ticket:Gr})}),p2=P.struct("ProgrammableTransaction",{inputs:P.vector(l2),commands:P.vector(h2)}),y2=P.enum("TransactionKind",{ProgrammableTransaction:p2,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),m2=P.enum("TransactionExpiration",{None:null,Epoch:gI()}),b2=P.struct("StructTag",{address:Ce,module:P.string(),name:P.string(),typeParams:P.vector(op)}),g2=P.struct("GasData",{payment:P.vector(cr),owner:Ce,price:P.u64(),budget:P.u64()}),w2=P.struct("TransactionDataV1",{kind:y2,sender:Ce,gasData:g2,expiration:m2}),v2=P.enum("TransactionData",{V1:w2}),E2=P.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),A2=P.enum("IntentVersion",{V0:null}),S2=P.enum("AppId",{Sui:null}),x2=P.struct("Intent",{scope:E2,version:A2,appId:S2});function k2(t){return P.struct(`IntentMessage<${t.name}>`,{intent:x2,value:t})}const T2=P.enum("CompressedSignature",{ED25519:P.bytes(64),Secp256k1:P.bytes(64),Secp256r1:P.bytes(64),ZkLogin:P.byteVector(),Passkey:P.byteVector()}),P2=P.enum("PublicKey",{ED25519:P.bytes(32),Secp256k1:P.bytes(33),Secp256r1:P.bytes(33),ZkLogin:P.byteVector(),Passkey:P.bytes(33)}),_2=P.struct("MultiSigPkMap",{pubKey:P2,weight:P.u8()}),I2=P.struct("MultiSigPublicKey",{pk_map:P.vector(_2),threshold:P.u16()}),vI=P.struct("MultiSig",{sigs:P.vector(T2),bitmap:P.u16(),multisig_pk:I2}),EI=P.byteVector().transform({input:t=>typeof t=="string"?Yt(t):t,output:t=>bt(new Uint8Array(t))}),O2=P.struct("SenderSignedTransaction",{intentMessage:k2(v2),txSignatures:P.vector(EI)}),AI=P.vector(O2,{name:"SenderSignedData"}),SI=P.struct("PasskeyAuthenticator",{authenticatorData:P.byteVector(),clientDataJson:P.string(),userSignature:P.byteVector()}),xI=P.enum("PackageUpgradeError",{UnableToFetchPackage:P.struct("UnableToFetchPackage",{packageId:Ce}),NotAPackage:P.struct("NotAPackage",{objectId:Ce}),IncompatibleUpgrade:null,DigestDoesNotMatch:P.struct("DigestDoesNotMatch",{digest:P.byteVector()}),UnknownUpgradePolicy:P.struct("UnknownUpgradePolicy",{policy:P.u8()}),PackageIDDoesNotMatch:P.struct("PackageIDDoesNotMatch",{packageId:Ce,ticketId:Ce})}),kI=P.struct("ModuleId",{address:Ce,name:P.string()}),om=P.struct("MoveLocation",{module:kI,function:P.u16(),instruction:P.u16(),functionName:P.option(P.string())}),TI=P.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:P.struct("IndexOutOfBounds",{idx:P.u16()}),SecondaryIndexOutOfBounds:P.struct("SecondaryIndexOutOfBounds",{resultIdx:P.u16(),secondaryIdx:P.u16()}),InvalidResultArity:P.struct("InvalidResultArity",{resultIdx:P.u16()}),InvalidGasCoinUsage:null,InvalidValueUsage:null,InvalidObjectByValue:null,InvalidObjectByMutRef:null,SharedObjectOperationNotAllowed:null}),PI=P.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),_I=P.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:P.struct("MoveObjectTooBig",{objectSize:P.u64(),maxObjectSize:P.u64()}),MovePackageTooBig:P.struct("MovePackageTooBig",{objectSize:P.u64(),maxObjectSize:P.u64()}),CircularObjectOwnership:P.struct("CircularObjectOwnership",{object:Ce}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:P.option(om),MoveAbort:P.tuple([om,P.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:P.struct("CommandArgumentError",{argIdx:P.u16(),kind:TI}),TypeArgumentError:P.struct("TypeArgumentError",{argumentIdx:P.u16(),kind:PI}),UnusedValueWithoutDrop:P.struct("UnusedValueWithoutDrop",{resultIdx:P.u16(),secondaryIdx:P.u16()}),InvalidPublicFunctionReturnType:P.struct("InvalidPublicFunctionReturnType",{idx:P.u16()}),InvalidTransferObject:null,EffectsTooLarge:P.struct("EffectsTooLarge",{currentSize:P.u64(),maxSize:P.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:P.struct("PackageUpgradeError",{upgradeError:xI}),WrittenObjectsTooLarge:P.struct("WrittenObjectsTooLarge",{currentSize:P.u64(),maxSize:P.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:P.struct("ExecutionCancelledDueToSharedObjectCongestion",{congestedObjects:P.vector(Ce)}),AddressDeniedForCoin:P.struct("AddressDeniedForCoin",{address:Ce,coinType:P.string()}),CoinTypeGlobalPause:P.struct("CoinTypeGlobalPause",{coinType:P.string()}),ExecutionCancelledDueToRandomnessUnavailable:null}),B2=P.enum("ExecutionStatus",{Success:null,Failed:P.struct("ExecutionFailed",{error:_I,command:P.option(P.u64())})}),C2=P.struct("GasCostSummary",{computationCost:P.u64(),storageCost:P.u64(),storageRebate:P.u64(),nonRefundableStorageFee:P.u64()}),II=P.struct("TransactionEffectsV1",{status:B2,executedEpoch:P.u64(),gasUsed:C2,modifiedAtVersions:P.vector(P.tuple([Ce,P.u64()])),sharedObjects:P.vector(cr),transactionDigest:xr,created:P.vector(P.tuple([cr,Ts])),mutated:P.vector(P.tuple([cr,Ts])),unwrapped:P.vector(P.tuple([cr,Ts])),deleted:P.vector(cr),unwrappedThenDeleted:P.vector(cr),wrapped:P.vector(cr),gasObject:P.tuple([cr,Ts]),eventsDigest:P.option(xr),dependencies:P.vector(xr)}),cp=P.tuple([P.u64(),xr]),OI=P.enum("ObjectIn",{NotExist:null,Exist:P.tuple([cp,Ts])}),BI=P.enum("ObjectOut",{NotExist:null,ObjectWrite:P.tuple([xr,Ts]),PackageWrite:cp}),CI=P.enum("IDOperation",{None:null,Created:null,Deleted:null}),RI=P.struct("EffectsObjectChange",{inputState:OI,outputState:BI,idOperation:CI}),NI=P.enum("UnchangedSharedKind",{ReadOnlyRoot:cp,MutateDeleted:P.u64(),ReadDeleted:P.u64(),Cancelled:P.u64(),PerEpochConfig:null}),UI=P.struct("TransactionEffectsV2",{status:B2,executedEpoch:P.u64(),gasUsed:C2,transactionDigest:xr,gasObjectIndex:P.option(P.u32()),eventsDigest:P.option(xr),dependencies:P.vector(xr),lamportVersion:P.u64(),changedObjects:P.vector(P.tuple([Ce,RI])),unchangedSharedObjects:P.vector(P.tuple([Ce,NI])),auxDataDigest:P.option(xr)}),FI=P.enum("TransactionEffects",{V1:II,V2:UI});function Ao(t){switch(t){case"u8":return P.u8();case"u16":return P.u16();case"u32":return P.u32();case"u64":return P.u64();case"u128":return P.u128();case"u256":return P.u256();case"bool":return P.bool();case"string":return P.string();case"id":case"address":return Ce}const e=t.match(/^(vector|option)<(.+)>$/);if(e){const[r,n]=e.slice(1);return r==="vector"?P.vector(Ao(n)):P.option(Ao(n))}throw new Error(`Invalid Pure type name: ${t}`)}const he={...P,U8:P.u8(),U16:P.u16(),U32:P.u32(),U64:P.u64(),U128:P.u128(),U256:P.u256(),ULEB128:P.uleb128(),Bool:P.bool(),String:P.string(),Address:Ce,AppId:S2,Argument:Gr,CallArg:l2,Command:h2,CompressedSignature:T2,GasData:g2,Intent:x2,IntentMessage:k2,IntentScope:E2,IntentVersion:A2,MultiSig:vI,MultiSigPkMap:_2,MultiSigPublicKey:I2,ObjectArg:f2,ObjectDigest:xr,Owner:Ts,PasskeyAuthenticator:SI,ProgrammableMoveCall:d2,ProgrammableTransaction:p2,PublicKey:P2,SenderSignedData:AI,SenderSignedTransaction:O2,SharedObjectRef:u2,StructTag:b2,SuiObjectRef:cr,TransactionData:v2,TransactionDataV1:w2,TransactionEffects:FI,TransactionExpiration:m2,TransactionKind:y2,TypeTag:ap},am=le({digest:xe(),objectId:xe(),version:en([dt(Ft(),Ut()),xe(),n2()])}),MI=ei({ImmOrOwned:am,Shared:le({objectId:Jt,initialSharedVersion:Lt,mutable:Yi()}),Receiving:am}),cm=ei({Object:MI,Pure:Ee(dt(Ft(),Ut()))});function um(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(Yt(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=>ln(s,e))};if(n.MergeCoins)return{kind:"MergeCoins",destination:ln(n.MergeCoins.destination,e),sources:n.MergeCoins.sources.map(s=>ln(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=>ln(s,e))};if(n.Publish)return{kind:"Publish",modules:n.Publish.modules.map(s=>Array.from(Yt(s))),dependencies:n.Publish.dependencies};if(n.SplitCoins)return{kind:"SplitCoins",coin:ln(n.SplitCoins.coin,e),amounts:n.SplitCoins.amounts.map(s=>ln(s,e))};if(n.TransferObjects)return{kind:"TransferObjects",objects:n.TransferObjects.objects.map(s=>ln(s,e)),address:ln(n.TransferObjects.address,e)};if(n.Upgrade)return{kind:"Upgrade",modules:n.Upgrade.modules.map(s=>Array.from(Yt(s))),dependencies:n.Upgrade.dependencies,packageId:n.Upgrade.package,ticket:ln(n.Upgrade.ticket,e)};throw new Error(`Unknown transaction ${Object.keys(n)}`)})}}function ln(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 $I(t){var e,r,n;return Le(fc,{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(_d(cm,s.value)){const i=Le(cm,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:bt(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=>dn(i))}};case"MergeCoins":return{MergeCoins:{destination:dn(s.destination),sources:s.sources.map(i=>dn(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=>dn(c))}}}case"Publish":return{Publish:{modules:s.modules.map(i=>bt(Uint8Array.from(i))),dependencies:s.dependencies}};case"SplitCoins":return{SplitCoins:{coin:dn(s.coin),amounts:s.amounts.map(i=>dn(i))}};case"TransferObjects":return{TransferObjects:{objects:s.objects.map(i=>dn(i)),address:dn(s.address)}};case"Upgrade":return{Upgrade:{modules:s.modules.map(i=>bt(Uint8Array.from(i))),dependencies:s.dependencies,package:s.packageId,ticket:dn(s.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(s)}`)})})}function dn(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 Ba(t){return en(Object.entries(t).map(([e,r])=>le({[e]:r})))}const mr=Ba({GasCoin:rt(!0),Input:dt(Ft(),Ut()),Result:dt(Ft(),Ut()),NestedResult:ip([dt(Ft(),Ut()),dt(Ft(),Ut())])}),jI=le({budget:Ve(Lt),price:Ve(Lt),owner:Ve(Ji),payment:Ve(Ee(us))}),LI=le({package:Jt,module:xe(),function:xe(),typeArguments:Ee(xe()),arguments:Ee(mr)}),HI=le({name:xe(),inputs:ra(xe(),en([mr,Ee(mr)])),data:ra(xe(),Oa())}),DI=Ba({MoveCall:LI,TransferObjects:le({objects:Ee(mr),address:mr}),SplitCoins:le({coin:mr,amounts:Ee(mr)}),MergeCoins:le({destination:mr,sources:Ee(mr)}),Publish:le({modules:Ee(Ks),dependencies:Ee(Jt)}),MakeMoveVec:le({type:Ve(xe()),elements:Ee(mr)}),Upgrade:le({modules:Ee(Ks),dependencies:Ee(Jt),package:Jt,ticket:mr}),$Intent:HI}),zI=Ba({ImmOrOwnedObject:us,SharedObject:le({objectId:Jt,initialSharedVersion:Lt,mutable:Yi()}),Receiving:us}),VI=Ba({Object:zI,Pure:le({bytes:Ks}),UnresolvedPure:le({value:Oa()}),UnresolvedObject:le({objectId:Jt,version:Kt(Ve(Lt)),digest:Kt(Ve(xe())),initialSharedVersion:Kt(Ve(Lt)),mutable:Kt(Ve(Yi()))})}),GI=Ba({None:rt(!0),Epoch:Lt}),qI=le({version:rt(2),sender:ta(Ji),expiration:ta(GI),gasData:jI,inputs:Ee(VI),commands:Ee(DI),digest:Kt(Ve(xe()))});function WI(t){return{$kind:"Pure",Pure:{bytes:t instanceof Uint8Array?bt(t):t.toBase64()}}}const kr={Pure:WI,ObjectRef({objectId:t,digest:e,version:r}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:e,version:r,objectId:be(t)}}}},SharedObjectRef({objectId:t,mutable:e,initialSharedVersion:r}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:e,initialSharedVersion:r,objectId:be(t)}}}},ReceivingRef({objectId:t,digest:e,version:r}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:e,version:r,objectId:be(t)}}}}};BigInt(1e9);const KI="0x1",R2="0x2",YI=Kr("0x6"),JI=`${R2}::sui::SUI`;Kr("0x5");Kr("0x8");const XI=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]),et=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),te=new Uint32Array(32);function Dn(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],b=te[2*n],g=te[2*n+1],E=Jm(c,f,o);u=Xm(E,u,l,a),c=E|0,{Dh:g,Dl:b}={Dh:g^u,Dl:b^c},{Dh:g,Dl:b}={Dh:Ev(g,b),Dl:Av(g)},{h:d,l:p}=Ym(d,p,g,b),{Bh:l,Bl:f}={Bh:l^d,Bl:f^p},{Bh:l,Bl:f}={Bh:Wm(l,f,24),Bl:Km(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]=b,te[2*n+1]=g}function zn(t,e,r,n,s,i){const o=s[i],a=s[i+1];let c=te[2*t],u=te[2*t+1],f=te[2*e],l=te[2*e+1],p=te[2*r],d=te[2*r+1],b=te[2*n],g=te[2*n+1],E=Jm(c,f,o);u=Xm(E,u,l,a),c=E|0,{Dh:g,Dl:b}={Dh:g^u,Dl:b^c},{Dh:g,Dl:b}={Dh:Wm(g,b,16),Dl:Km(g,b,16)},{h:d,l:p}=Ym(d,p,g,b),{Bh:l,Bl:f}={Bh:l^d,Bl:f^p},{Bh:l,Bl:f}={Bh:wv(l,f,63),Bl:vv(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]=b,te[2*n+1]=g}function ZI(t,e={},r,n,s){if(ns(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 QI extends Fc{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,ns(e),ns(r),this.blockLen=e,this.outputLen=r,this.buffer=new Uint8Array(e),this.buffer32=To(this.buffer)}update(e){is(this),e=En(e),ss(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&&(Wn(s),this.compress(s,0,!1),Wn(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));Wn(l);for(let p=0;c+r<i;p+=s.length,c+=r)this.length+=r,this.compress(l,p,!1);Wn(l);continue}n.set(e.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(e){is(this),Hd(e,this);const{pos:r,buffer32:n}=this;this.finished=!0,Ir(this.buffer.subarray(r)),Wn(n),this.compress(n,0,!0),Wn(n);const s=To(e);this.get().forEach((i,o)=>s[o]=hn(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 eO extends QI{constructor(e={}){const r=e.dkLen===void 0?64:e.dkLen;super(128,r),this.v0l=et[0]|0,this.v0h=et[1]|0,this.v1l=et[2]|0,this.v1h=et[3]|0,this.v2l=et[4]|0,this.v2h=et[5]|0,this.v3l=et[6]|0,this.v3h=et[7]|0,this.v4l=et[8]|0,this.v4h=et[9]|0,this.v5l=et[10]|0,this.v5h=et[11]|0,this.v6l=et[12]|0,this.v6h=et[13]|0,this.v7l=et[14]|0,this.v7h=et[15]|0,ZI(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=To(i);this.v4l^=hn(a[0]),this.v4h^=hn(a[1]),this.v5l^=hn(a[2]),this.v5h^=hn(a[3])}if(s!==void 0){s=En(s);const a=To(s);this.v6l^=hn(a[0]),this.v6h^=hn(a[1]),this.v7l^=hn(a[2]),this.v7h^=hn(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:b,v7l:g,v7h:E}=this;return[e,r,n,s,i,o,a,c,u,f,l,p,d,b,g,E]}set(e,r,n,s,i,o,a,c,u,f,l,p,d,b,g,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=b|0,this.v7l=g|0,this.v7h=E|0}compress(e,r,n){this.get().forEach((c,u)=>te[u]=c),te.set(et,16);let{h:s,l:i}=qm(BigInt(this.length));te[24]=et[8]^i,te[25]=et[9]^s,n&&(te[28]=~te[28],te[29]=~te[29]);let o=0;const a=XI;for(let c=0;c<12;c++)Dn(0,4,8,12,e,r+2*a[o++]),zn(0,4,8,12,e,r+2*a[o++]),Dn(1,5,9,13,e,r+2*a[o++]),zn(1,5,9,13,e,r+2*a[o++]),Dn(2,6,10,14,e,r+2*a[o++]),zn(2,6,10,14,e,r+2*a[o++]),Dn(3,7,11,15,e,r+2*a[o++]),zn(3,7,11,15,e,r+2*a[o++]),Dn(0,5,10,15,e,r+2*a[o++]),zn(0,5,10,15,e,r+2*a[o++]),Dn(1,6,11,12,e,r+2*a[o++]),zn(1,6,11,12,e,r+2*a[o++]),Dn(2,7,8,13,e,r+2*a[o++]),zn(2,7,8,13,e,r+2*a[o++]),Dn(3,4,9,14,e,r+2*a[o++]),zn(3,4,9,14,e,r+2*a[o++]);this.v0l^=te[0]^te[16],this.v0h^=te[1]^te[17],this.v1l^=te[2]^te[18],this.v1h^=te[3]^te[19],this.v2l^=te[4]^te[20],this.v2h^=te[5]^te[21],this.v3l^=te[6]^te[22],this.v3h^=te[7]^te[23],this.v4l^=te[8]^te[24],this.v4h^=te[9]^te[25],this.v5l^=te[10]^te[26],this.v5h^=te[11]^te[27],this.v6l^=te[12]^te[28],this.v6h^=te[13]^te[29],this.v7l^=te[14]^te[30],this.v7h^=te[15]^te[31],Ir(te)}destroy(){this.destroyed=!0,Ir(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const tO=Cv(t=>new eO(t)),N2=tO;function rO(t,e,r){const n=he.Address.serialize(t).toBytes(),s=he.TypeTag.serialize(e).toBytes(),i=he.u64().serialize(r.length).toBytes(),o=N2.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(n),o.update(i),o.update(r),o.update(s),`0x${$i(o.digest().slice(0,32))}`}const nO="object",sO="ID",iO="ascii",oO="String",aO="string",cO="String",uO="option",fO="Option";function lO(t){const e=typeof t.body=="object"&&"datatype"in t.body?t.body.datatype:null;return!!e&&be(e.package)===be("0x2")&&e.module==="tx_context"&&e.type==="TxContext"}function Bd(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.byteVector().transform({input:r=>typeof r=="string"?new TextEncoder().encode(r):r,output:r=>r});const e=Bd(t.vector);return e?he.vector(e):null}if("datatype"in t){const e=be(t.datatype.package);if(e===be(KI)){if(t.datatype.module===iO&&t.datatype.type===oO||t.datatype.module===aO&&t.datatype.type===cO)return he.String;if(t.datatype.module===uO&&t.datatype.type===fO){const r=Bd(t.datatype.typeParameters[0]);return r?he.vector(r):null}}if(e===be(R2)&&t.datatype.module===nO&&t.datatype.type===sO)return he.Address}return null}function dO(t){return typeof t=="object"&&"Reference"in t?{ref:"&",body:So(t.Reference)}:typeof t=="object"&&"MutableReference"in t?{ref:"&mut",body:So(t.MutableReference)}:{ref:null,body:So(t)}}function So(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:So(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(So)}};if("TypeParameter"in t)return{typeParameter:t.TypeParameter};throw new Error(`Unexpected type ${JSON.stringify(t)}`)}const hO=50,pO=1000n,yO=5e10;function U2(t){return async function(r,n,s){return await vO(r,t),await wO(r,t),n.onlyTransactionKind||(await mO(r,t),await bO(r,t),await gO(r,t)),await s()}}async function mO(t,e){t.gasConfig.price||(t.gasConfig.price=String(await e.getReferenceGasPrice()))}async function bO(t,e){if(t.gasConfig.budget)return;const r=await e.dryRunTransactionBlock({transactionBlock:t.build({overrides:{gasData:{budget:String(yO),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=pO*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 gO(t,e){if(!t.gasConfig.payment){const n=(await e.getCoins({owner:t.gasConfig.owner||t.sender,coinType:JI})).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=>Le(us,s))}}async function wO(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=>Kr(f.UnresolvedObject.objectId)))],s=n.length?xu(n,hO):[],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=be(l.UnresolvedObject.objectId),b=u.get(d);l.UnresolvedObject.initialSharedVersion??(b==null?void 0:b.initialSharedVersion)?p=kr.SharedObjectRef({objectId:d,initialSharedVersion:l.UnresolvedObject.initialSharedVersion||(b==null?void 0:b.initialSharedVersion),mutable:l.UnresolvedObject.mutable||EO(t,f)}):AO(t,f)&&(p=kr.ReceivingRef({objectId:d,digest:l.UnresolvedObject.digest??(b==null?void 0:b.digest),version:l.UnresolvedObject.version??(b==null?void 0:b.version)})),t.inputs[t.inputs.indexOf(l)]=p??kr.ObjectRef({objectId:d,digest:l.UnresolvedObject.digest??(b==null?void 0:b.digest),version:l.UnresolvedObject.version??(b==null?void 0:b.version)})}}async function vO(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=>dO(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&&lO(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 _,A;const d=c.arguments[p];if(d.$kind!=="Input")return;const b=r[d.Input];if(!b.UnresolvedPure&&!b.UnresolvedObject)return;const g=((_=b.UnresolvedPure)==null?void 0:_.value)??((A=b.UnresolvedObject)==null?void 0:A.objectId),E=Bd(l.body);if(E){d.type="pure",r[r.indexOf(b)]=kr.Pure(E.serialize(g));return}if(typeof g!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(g,null,2)}`);d.type="object";const S=b.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:g}}:b;r[d.Input]=S})}})}function EO(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 AO(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=SO(s.MoveCall._argumentTypes[i])||r}}),r}function SO(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 F2(t,e){return!!(t.inputs.some(r=>r.UnresolvedObject||r.UnresolvedPure)||!e.onlyTransactionKind&&(!t.gasConfig.price||!t.gasConfig.budget||!t.gasConfig.payment))}async function xO(t,e,r){var i;if(TO(t),!F2(t,e))return await fm(t),r();const n=kO(e);return(((i=n.core)==null?void 0:i.resolveTransactionPlugin())??U2(n))(t,e,async()=>{await fm(t),await r()})}function fm(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 kO(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 TO(t){for(const e of t.commands)switch(e.$kind){case"SplitCoins":e.SplitCoins.amounts.forEach(r=>{lm(r,he.U64,t)});break;case"TransferObjects":lm(e.TransferObjects.address,he.Address,t);break}}function lm(t,e,r){if(t.$kind!=="Input")return;const n=r.inputs[t.Input];n.$kind==="UnresolvedPure"&&(r.inputs[t.Input]=kr.Pure(e.serialize(n.UnresolvedPure.value)))}function PO(t){function e(r){return t(r)}return e.system=r=>{const n=r==null?void 0:r.mutable;return e(n!==void 0?kr.SharedObjectRef({objectId:"0x5",initialSharedVersion:1,mutable:n}):{$kind:"UnresolvedObject",UnresolvedObject:{objectId:"0x5",initialSharedVersion:1}})},e.clock=()=>e(kr.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 _O(t){function e(r,n){if(typeof r=="string")return t(Ao(r).serialize(n));if(r instanceof Uint8Array||np(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(Ao(r)).serialize(n)),e.option=(r,n)=>t(he.option(Ao(r)).serialize(n)),e}function IO(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),N2(n,{dkLen:32})}function Bc(t){if(typeof t=="string")return be(t);if(t.Object)return t.Object.ImmOrOwnedObject?be(t.Object.ImmOrOwnedObject.objectId):t.Object.Receiving?be(t.Object.Receiving.objectId):be(t.Object.SharedObject.objectId);if(t.UnresolvedObject)return be(t.UnresolvedObject.objectId)}function OO(t,e,r){const n=s=>{switch(s.$kind){case"Input":{const i=e.get(s.Input);if(i===void 0)throw new Error(`Input ${s.Input} not found in input mapping`);return{...s,Input:i}}case"Result":{const i=r.get(s.Result);return i!==void 0?{...s,Result:i}:s}case"NestedResult":{const i=r.get(s.NestedResult[0]);return i!==void 0?{...s,NestedResult:[i,s.NestedResult[1]]}:s}default:return s}};switch(t.$kind){case"MoveCall":t.MoveCall.arguments=t.MoveCall.arguments.map(n);break;case"TransferObjects":t.TransferObjects.objects=t.TransferObjects.objects.map(n),t.TransferObjects.address=n(t.TransferObjects.address);break;case"SplitCoins":t.SplitCoins.coin=n(t.SplitCoins.coin),t.SplitCoins.amounts=t.SplitCoins.amounts.map(n);break;case"MergeCoins":t.MergeCoins.destination=n(t.MergeCoins.destination),t.MergeCoins.sources=t.MergeCoins.sources.map(n);break;case"MakeMoveVec":t.MakeMoveVec.elements=t.MakeMoveVec.elements.map(n);break;case"Upgrade":t.Upgrade.ticket=n(t.Upgrade.ticket);break;case"$Intent":{const s=t.$Intent.inputs;t.$Intent.inputs={};for(const[i,o]of Object.entries(s))t.$Intent.inputs[i]=Array.isArray(o)?o.map(n):n(o);break}}}function dm(t){return be(t).replace("0x","")}class Nt{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 Nt.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 Nt.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 Nt(Le(fc,e)):new Nt(Le(fc,$I(e)))}static getDigestFromBytes(e){const r=IO("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:dm(c),expiration:a||{None:!0},gasData:{payment:u.payment,owner:dm(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,...structuredClone(r)),this.mapArguments((i,o,a)=>{if(a<e+r.length)return i;if(typeof n!="number"&&(i.$kind==="Result"&&i.Result===e||i.$kind==="NestedResult"&&i.NestedResult[0]===e)){if(!("NestedResult"in i)||i.NestedResult[1]===0)return Le(Be,structuredClone(n));throw new Error(`Cannot replace command ${e} with a specific result type: NestedResult[${e}, ${i.NestedResult[1]}] references a nested element that cannot be mapped to the replacement result`)}switch(i.$kind){case"Result":i.Result===e&&typeof n=="number"&&(i.Result=n),i.Result>e&&(i.Result+=s);break;case"NestedResult":if(i.NestedResult[0]===e&&typeof n=="number")return{$kind:"NestedResult",NestedResult:[n,i.NestedResult[1]]};i.NestedResult[0]>e&&(i.NestedResult[0]+=s);break}return i})}replaceCommandWithTransaction(e,r,n){if(n.$kind!=="Result"&&n.$kind!=="NestedResult")throw new Error("Result must be of kind Result or NestedResult");this.insertTransaction(e,r),this.replaceCommand(e+r.commands.length,[],"Result"in n?{NestedResult:[n.Result+e,0]}:{NestedResult:[n.NestedResult[0]+e,n.NestedResult[1]]})}insertTransaction(e,r){var a,c;const n=new Map,s=new Map;for(let u=0;u<r.inputs.length;u++){const f=r.inputs[u],l=Bc(f);let p=-1;if(l!==void 0&&(p=this.inputs.findIndex(d=>Bc(d)===l),p!==-1&&((a=this.inputs[p].Object)!=null&&a.SharedObject)&&((c=f.Object)!=null&&c.SharedObject)&&(this.inputs[p].Object.SharedObject.mutable=this.inputs[p].Object.SharedObject.mutable||f.Object.SharedObject.mutable)),p!==-1)n.set(u,p);else{const d=this.inputs.length;this.inputs.push(f),n.set(u,d)}}for(let u=0;u<r.commands.length;u++)s.set(u,e+u);const i=[];for(let u=0;u<r.commands.length;u++){const f=structuredClone(r.commands[u]);OO(f,n,s),i.push(f)}this.commands.splice(e,0,...i);const o=i.length;o>0&&this.mapArguments((u,f,l)=>{if(l>=e&&l<e+i.length)return u;switch(u.$kind){case"Result":u.Result>=e&&(u.Result+=o);break;case"NestedResult":u.NestedResult[0]>=e&&(u.NestedResult[0]+=o);break}return u})}getDigest(){const e=this.build({onlyTransactionKind:!1});return Nt.getDigestFromBytes(e)}snapshot(){return Le(fc,this)}shallowClone(){return new Nt({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}applyResolvedData(e){this.sender||(this.sender=e.sender??null),this.expiration||(this.expiration=e.expiration??null),this.gasData.budget||(this.gasData.budget=e.gasData.budget),this.gasData.owner||(this.gasData.owner=e.gasData.owner??null),this.gasData.payment||(this.gasData.payment=e.gasData.payment),this.gasData.price||(this.gasData.price=e.gasData.price);for(let r=0;r<this.inputs.length;r++){const n=this.inputs[r],s=e.inputs[r];switch(n.$kind){case"UnresolvedPure":if(s.$kind!=="Pure")throw new Error(`Expected input at index ${r} to resolve to a Pure argument, but got ${JSON.stringify(s)}`);this.inputs[r]=s;break;case"UnresolvedObject":if(s.$kind!=="Object")throw new Error(`Expected input at index ${r} to resolve to an Object argument, but got ${JSON.stringify(s)}`);if(s.Object.$kind==="ImmOrOwnedObject"||s.Object.$kind==="Receiving"){const i=n.UnresolvedObject,o=s.Object.ImmOrOwnedObject??s.Object.Receiving;if(be(i.objectId)!==be(o.objectId)||i.version!=null&&i.version!==o.version||i.digest!=null&&i.digest!==o.digest||i.mutable!=null||i.initialSharedVersion!=null)throw new Error(`Input at index ${r} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else if(s.Object.$kind==="SharedObject"){const i=n.UnresolvedObject,o=s.Object.SharedObject;if(be(i.objectId)!==be(o.objectId)||i.initialSharedVersion!=null&&i.initialSharedVersion!==o.initialSharedVersion||i.mutable!=null&&i.mutable!==o.mutable||i.version!=null||i.digest!=null)throw new Error(`Input at index ${r} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else throw new Error(`Input at index ${r} resolved to an unexpected Object kind: ${JSON.stringify(s.Object)}`);this.inputs[r]=s;break}}}}var M2=t=>{throw TypeError(t)},up=(t,e,r)=>e.has(t)||M2("Cannot "+r),nt=(t,e,r)=>(up(t,e,"read from private field"),r?r.call(t):e.get(t)),oo=(t,e,r)=>e.has(t)?M2("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),ec=(t,e,r,n)=>(up(t,e,"write to private field"),e.set(t,r),r),_u=(t,e,r)=>(up(t,e,"access private method"),r),na,On,sa,Kn,Wr,Cd,Rd,$2,j2,fp;const BO="/",CO={"Mvr-Source":`@mysten/sui@${Ow}`};class RO{constructor({cache:e,url:r,pageSize:n=50,overrides:s}){oo(this,Wr),oo(this,na),oo(this,On),oo(this,sa),oo(this,Kn),ec(this,na,e),ec(this,On,r),ec(this,sa,n),ec(this,Kn,{packages:s==null?void 0:s.packages,types:s==null?void 0:s.types}),NO(nt(this,Kn))}async resolvePackage({package:e}){return mt(e)?{package:await nt(this,Wr,Cd).load(e)}:{package:e}}async resolveType({type:e}){if(!mt(e))return{type:e};const r=[...Nd(e)],n=await nt(this,Wr,Rd).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:Ud(e,s)}}async resolve({types:e=[],packages:r=[]}){var f,l,p;const n=new Set;for(const d of e??[])Nd(d,n);const s=[...n],[i,o]=await Promise.all([s.length>0?nt(this,Wr,Rd).loadMany(s):[],r.length>0?nt(this,Wr,Cd).loadMany(r):[]]),a={...(f=nt(this,Kn))==null?void 0:f.types};for(const[d,b]of s.entries()){const g=i[d];if(g instanceof Error)throw g;a[b]=g}const c={};for(const d of e??[]){const b=Ud(d,a);c[d]={type:b}}const u={};for(const[d,b]of(r??[]).entries()){const g=((p=(l=nt(this,Kn))==null?void 0:l.packages)==null?void 0:p[b])??o[d];if(g instanceof Error)throw g;u[b]={package:g}}return{types:c,packages:u}}}na=new WeakMap;On=new WeakMap;sa=new WeakMap;Kn=new WeakMap;Wr=new WeakSet;Cd=function(){return nt(this,na).readSync(["#mvrPackageDataLoader",nt(this,On)??""],()=>{var r;const t=new Vw(async n=>{if(!nt(this,On))throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);const s=await _u(this,Wr,$2).call(this,n);return n.map(i=>s[i]??new Error(`Failed to resolve package: ${i}`))}),e=(r=nt(this,Kn))==null?void 0:r.packages;if(e)for(const[n,s]of Object.entries(e))t.prime(n,s);return t})};Rd=function(){return nt(this,na).readSync(["#mvrTypeDataLoader",nt(this,On)??""],()=>{var r;const t=new Vw(async n=>{if(!nt(this,On))throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);const s=await _u(this,Wr,j2).call(this,n);return n.map(i=>s[i]??new Error(`Failed to resolve type: ${i}`))}),e=(r=nt(this,Kn))==null?void 0:r.types;if(e)for(const[n,s]of Object.entries(e))t.prime(n,s);return t})};$2=async function(t){if(t.length===0)return{};const e=xu(t,nt(this,sa)),r={};return await Promise.all(e.map(async n=>{var i;const s=await _u(this,Wr,fp).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};j2=async function(t){if(t.length===0)return{};const e=xu(t,nt(this,sa)),r={};return await Promise.all(e.map(async n=>{var i;const s=await _u(this,Wr,fp).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};fp=async function(t,e){if(!nt(this,On))throw new Error("MVR Api URL is not set for the current client");const r=await fetch(`${nt(this,On)}${t}`,{method:"POST",headers:{"Content-Type":"application/json",...CO},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 NO(t){if(t!=null&&t.packages)for(const[e,r]of Object.entries(t.packages)){if(!Vt(e))throw new Error(`Invalid package name: ${e}`);if(!vr(be(r)))throw new Error(`Invalid package ID: ${r}`)}if(t!=null&&t.types)for(const[e,r]of Object.entries(t.types)){if(Ws(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=Ws(r);if(!vr(n.address))throw new Error(`Invalid type: ${r}`)}}function Nd(t,e=new Set){if(typeof t=="string"&&!mt(t))return e;const r=L2(t)?t:Ws(t);mt(r.address)&&e.add(`${r.address}::${r.module}::${r.name}`);for(const n of r.typeParams)Nd(n,e);return e}function Ud(t,e){const r=L2(t)?t:Ws(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=>Ud(i,e))})}function mt(t){return t.includes(BO)||t.includes("@")||t.includes(".sui")}function L2(t){return typeof t=="object"&&"address"in t&&"module"in t&&"name"in t&&"typeParams"in t}function UO(t){const e=new Set,r=new Set;for(const n of t.commands)switch(n.$kind){case"MakeMoveVec":n.MakeMoveVec.type&&hm([n.MakeMoveVec.type]).forEach(o=>{r.add(o)});break;case"MoveCall":const s=n.MoveCall,i=s.package.split("::")[0];if(mt(i)){if(!Vt(i))throw new Error(`Invalid package name: ${i}`);e.add(i)}hm(s.typeArguments??[]).forEach(o=>{r.add(o)});break}return{packages:[...e],types:[...r]}}function FO(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 hm(t){const e=new Set;for(const r of t)if(mt(r)){if(!iI(r))throw new Error(`Invalid type with names: ${r}`);e.add(r)}return e}const MO=t=>async(e,r,n)=>{const s=UO(e);if(s.types.length===0&&s.packages.length===0)return n();const i=await $O(r).core.mvr.resolve({types:s.types,packages:s.packages});FO(e,i),await n()};function $O(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 H2=t=>{throw TypeError(t)},lp=(t,e,r)=>e.has(t)||H2("Cannot "+r),Z=(t,e,r)=>(lp(t,e,"read from private field"),r?r.call(t):e.get(t)),Hr=(t,e,r)=>e.has(t)?H2("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Pe=(t,e,r,n)=>(lp(t,e,"write to private field"),e.set(t,r),r),tt=(t,e,r)=>(lp(t,e,"access private method"),r),Ps,Us,bn,Jr,qt,Wt,Ar,Yn,ie,qe,D2,lc,dc,hc,Cc,Fd,dp,z2,V2;function Tl(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 G2=Symbol.for("@mysten/transaction");function q2(t){return!!t&&typeof t=="object"&&t[G2]===!0}const pm={buildPlugins:new Map,serializationPlugins:new Map},Pl=Symbol.for("@mysten/transaction/registry");function ao(){try{const t=globalThis;return t[Pl]||(t[Pl]=pm),t[Pl]}catch{return pm}}const W2=class Md{constructor(){Hr(this,qe),Hr(this,Ps),Hr(this,Us),Hr(this,bn,new Map),Hr(this,Jr,[]),Hr(this,qt,[]),Hr(this,Wt,new Set),Hr(this,Ar,new Set),Hr(this,Yn,new Map),Hr(this,ie),this.object=PO(r=>{var i,o;if(typeof r=="function")return this.object(this.add(r));if(typeof r=="object"&&_d(Be,r))return r;const n=Bc(r),s=Z(this,ie).inputs.find(a=>n===Bc(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:Z(this,ie).inputs.indexOf(s),type:"object"}:tt(this,qe,dc).call(this,"object",typeof r=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:be(r)}}:r)});const e=ao();Pe(this,ie,new Nt),Pe(this,Us,[...e.buildPlugins.values()]),Pe(this,Ps,[...e.serializationPlugins.values()])}static fromKind(e){const r=new Md;return Pe(r,ie,Nt.fromKindBytes(typeof e=="string"?Yt(e):e)),Pe(r,Jr,Z(r,ie).inputs.slice()),Pe(r,qt,Z(r,ie).commands.slice()),Pe(r,Wt,new Set(Z(r,qt).map((n,s)=>s))),r}static from(e){const r=new Md;return q2(e)?Pe(r,ie,Nt.restore(e.getData())):typeof e!="string"||!e.startsWith("{")?Pe(r,ie,Nt.fromBytes(typeof e=="string"?Yt(e):e)):Pe(r,ie,Nt.restore(JSON.parse(e))),Pe(r,Jr,Z(r,ie).inputs.slice()),Pe(r,qt,Z(r,ie).commands.slice()),Pe(r,Wt,new Set(Z(r,qt).map((n,s)=>s))),r}static registerGlobalSerializationPlugin(e,r){ao().serializationPlugins.set(e,r??e)}static unregisterGlobalSerializationPlugin(e){ao().serializationPlugins.delete(e)}static registerGlobalBuildPlugin(e,r){ao().buildPlugins.set(e,r??e)}static unregisterGlobalBuildPlugin(e){ao().buildPlugins.delete(e)}addSerializationPlugin(e){Z(this,Ps).push(e)}addBuildPlugin(e){Z(this,Us).push(e)}addIntentResolver(e,r){if(Z(this,bn).has(e)&&Z(this,bn).get(e)!==r)throw new Error(`Intent resolver for ${e} already exists`);Z(this,bn).set(e,r)}setSender(e){Z(this,ie).sender=e}setSenderIfNotSet(e){Z(this,ie).sender||(Z(this,ie).sender=e)}setExpiration(e){Z(this,ie).expiration=e?Le(c2,e):null}setGasPrice(e){Z(this,ie).gasConfig.price=String(e)}setGasBudget(e){Z(this,ie).gasConfig.budget=String(e)}setGasBudgetIfNotSet(e){Z(this,ie).gasData.budget==null&&(Z(this,ie).gasConfig.budget=String(e))}setGasOwner(e){Z(this,ie).gasConfig.owner=e}setGasPayment(e){Z(this,ie).gasConfig.payment=e.map(r=>Le(us,r))}get blockData(){return um(Z(this,ie).snapshot())}getData(){return Z(this,ie).snapshot()}get[G2](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:_O(e=>np(e)?tt(this,qe,dc).call(this,"pure",{$kind:"Pure",Pure:{bytes:e.toBase64()}}):tt(this,qe,dc).call(this,"pure",_d(im,e)?Le(im,e):e instanceof Uint8Array?kr.Pure(e):{$kind:"UnresolvedPure",UnresolvedPure:{value:e}}))}),this.pure}get gas(){return{$kind:"GasCoin",GasCoin:!0}}objectRef(...e){return this.object(kr.ObjectRef(...e))}receivingRef(...e){return this.object(kr.ReceivingRef(...e))}sharedObjectRef(...e){return this.object(kr.SharedObjectRef(...e))}add(e){if(typeof e=="function"){if(Z(this,Yn).has(e))return Z(this,Yn).get(e);const r=tt(this,qe,D2).call(this),n=e(r);if(!(n&&typeof n=="object"&&"then"in n))return Pe(this,Wt,Z(r,Wt)),Z(this,Yn).set(e,n),n;const s=tt(this,qe,lc).call(this,{$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:Z(this,ie).commands.length,result:null}}});Z(this,Ar).add(Promise.resolve(n).then(o=>{s.$Intent.data.result=o}));const i=Tl(()=>s.$Intent.data.resultIndex);return Z(this,Yn).set(e,i),i}else tt(this,qe,lc).call(this,e);return Tl(Z(this,ie).commands.length-1)}splitCoins(e,r){const n=ws.SplitCoins(typeof e=="string"?this.object(e):tt(this,qe,Cc).call(this,e),r.map(s=>typeof s=="number"||typeof s=="bigint"||typeof s=="string"?this.pure.u64(s):tt(this,qe,hc).call(this,s)));return tt(this,qe,lc).call(this,n),Tl(Z(this,ie).commands.length-1,r.length)}mergeCoins(e,r){return this.add(ws.MergeCoins(this.object(e),r.map(n=>this.object(n))))}publish({modules:e,dependencies:r}){return this.add(ws.Publish({modules:e,dependencies:r}))}upgrade({modules:e,dependencies:r,package:n,ticket:s}){return this.add(ws.Upgrade({modules:e,dependencies:r,package:n,ticket:this.object(s)}))}moveCall({arguments:e,...r}){return this.add(ws.MoveCall({...r,arguments:e==null?void 0:e.map(n=>tt(this,qe,hc).call(this,n))}))}transferObjects(e,r){return this.add(ws.TransferObjects(e.map(n=>this.object(n)),typeof r=="string"?this.pure.address(r):tt(this,qe,hc).call(this,r)))}makeMoveVec({type:e,elements:r}){return this.add(ws.MakeMoveVec({type:e,elements:r.map(n=>this.object(n))}))}serialize(){return JSON.stringify(um(Z(this,ie).snapshot()))}async toJSON(e={}){await this.prepareForSerialization(e);const r=this.isFullyResolved();return JSON.stringify(Le(qI,r?{...Z(this,ie).snapshot(),digest:Z(this,ie).getDigest()}:Z(this,ie).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!(!Z(this,ie).sender||Z(this,Ar).size>0||Z(this,ie).commands.some(e=>e.$Intent)||F2(Z(this,ie),{}))}async build(e={}){return await this.prepareForSerialization(e),await tt(this,qe,Fd).call(this,e),Z(this,ie).build({onlyTransactionKind:e.onlyTransactionKind})}async getDigest(e={}){return await this.prepareForSerialization(e),await tt(this,qe,Fd).call(this,e),Z(this,ie).getDigest()}async prepareForSerialization(e){var s;await tt(this,qe,z2).call(this),tt(this,qe,V2).call(this);const r=new Set;for(const i of Z(this,ie).commands)i.$Intent&&r.add(i.$Intent.name);const n=[...Z(this,Ps)];for(const i of r)if(!((s=e.supportedIntents)!=null&&s.includes(i))){if(!Z(this,bn).has(i))throw new Error(`Missing intent resolver for ${i}`);n.push(Z(this,bn).get(i))}n.push(MO()),await tt(this,qe,dp).call(this,n,e)}};Ps=new WeakMap;Us=new WeakMap;bn=new WeakMap;Jr=new WeakMap;qt=new WeakMap;Wt=new WeakMap;Ar=new WeakMap;Yn=new WeakMap;ie=new WeakMap;qe=new WeakSet;D2=function(){const t=new W2;return Pe(t,ie,Z(this,ie)),Pe(t,Ps,Z(this,Ps)),Pe(t,Us,Z(this,Us)),Pe(t,bn,Z(this,bn)),Pe(t,Ar,Z(this,Ar)),Pe(t,Wt,new Set(Z(this,Wt))),Pe(t,Yn,Z(this,Yn)),Z(this,Jr).push(Z(t,Jr)),Z(this,qt).push(Z(t,qt)),t};lc=function(t){const e=Z(this,ie).commands.length;return Z(this,qt).push(t),Z(this,Wt).add(e),Z(this,ie).commands.push(t),Z(this,ie).mapCommandArguments(e,r=>{if(r.$kind==="Result"&&!Z(this,Wt).has(r.Result))throw new Error(`Result { Result: ${r.Result} } is not available to use in the current transaction`);if(r.$kind==="NestedResult"&&!Z(this,Wt).has(r.NestedResult[0]))throw new Error(`Result { NestedResult: [${r.NestedResult[0]}, ${r.NestedResult[1]}] } is not available to use in the current transaction`);if(r.$kind==="Input"&&r.Input>=Z(this,ie).inputs.length)throw new Error(`Input { Input: ${r.Input} } references an input that does not exist in the current transaction`);return r}),t};dc=function(t,e){return Z(this,Jr).push(e),Z(this,ie).addInput(t,e)};hc=function(t){return np(t)?this.pure(t):tt(this,qe,Cc).call(this,t)};Cc=function(t){if(typeof t=="function"){const e=this.add(t);return typeof e=="function"?tt(this,qe,Cc).call(this,e):Le(Be,e)}return Le(Be,t)};Fd=async function(t){if(!t.onlyTransactionKind&&!Z(this,ie).sender)throw new Error("Missing transaction sender");await tt(this,qe,dp).call(this,[...Z(this,Us),xO],t)};dp=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(Z(this,ie),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{Pe(this,Jr,Z(this,ie).inputs.slice()),Pe(this,qt,Z(this,ie).commands.slice()),Pe(this,Wt,new Set(Z(this,qt).map((r,n)=>n)))}};z2=async function(){for(;Z(this,Ar).size>0;){const t=Promise.all(Z(this,Ar));Z(this,Ar).clear(),Z(this,Ar).add(t),await t,Z(this,Ar).delete(t)}};V2=function(){var o;const t=Z(this,ie).commands,e=Z(this,ie).inputs,r=Z(this,qt).flat(1/0),n=Z(this,Jr).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"});Z(this,ie).commands=s,Z(this,ie).inputs=n,Pe(this,qt,s),Pe(this,Jr,n),Pe(this,Wt,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}Z(this,ie).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 $d=W2;const jO={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"};class LO extends e2{constructor(e){var r,n,s;super(e),this.core=this,this.mvr=new RO({cache:this.cache.scope("core.mvr"),url:((r=e.mvr)==null?void 0:r.url)??jO[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=Er.parseFromStr((await this.core.mvr.resolveType({type:e.name.type})).type),n=rO(e.parentId,r,e.name.bcs),{objects:[s]}=await this.getObjects({objectIds:[n],signal:e.signal});if(s instanceof Error)throw s;const i=Ws(s.type),o=await s.content;return{dynamicField:{id:s.id,digest:s.digest,version:s.version,type:s.type,previousTransaction:s.previousTransaction,name:{type:typeof i.typeParams[0]=="string"?i.typeParams[0]:Oc(i.typeParams[0]),bcs:e.name.bcs},value:{type:typeof i.typeParams[1]=="string"?i.typeParams[1]:Oc(i.typeParams[1]),bcs:o.slice(Pu+e.name.bcs.length)}}}}async waitForTransaction({signal:e,timeout:r=60*1e3,...n}){const s=e?AbortSignal.any([AbortSignal.timeout(r),e]):AbortSignal.timeout(r),i=new Promise((o,a)=>{s.addEventListener("abort",()=>a(s.reason))});for(i.catch(()=>{});;){s.throwIfAborted();try{return await this.getTransaction({...n,signal:s})}catch{await Promise.race([new Promise(o=>setTimeout(o,2e3)),i])}}}}class HO extends Error{}class Jn extends HO{constructor(e,r){super(r),this.code=e}static fromResponse(e,r){switch(e.code){case"notExists":return new Jn(e.code,`Object ${e.object_id} does not exist`);case"dynamicFieldNotFound":return new Jn(e.code,`Dynamic field not found for object ${e.parent_object_id}`);case"deleted":return new Jn(e.code,`Object ${e.object_id} has been deleted`);case"displayError":return new Jn(e.code,`Display error: ${e.error}`);case"unknown":default:return new Jn(e.code,`Unknown error while loading object${r?` ${r}`:""}`)}}}function DO(t){return{...Nt.fromBytes(t).snapshot(),bcs:t}}function zO(t){const e=he.TransactionEffects.parse(t);switch(e.$kind){case"V1":return VO({effects:e.V1});case"V2":return GO({bytes:t,effects:e.V2});default:throw new Error(`Unknown transaction effects version: ${e.$kind}`)}}function VO(t){throw new Error("V1 effects are not supported yet")}function GO({bytes:t,effects:e}){const r=e.changedObjects.map(([n,s])=>{var i,o,a,c,u,f;return{id:n,inputState:s.inputState.$kind==="Exist"?"Exists":"DoesNotExist",inputVersion:((i=s.inputState.Exist)==null?void 0:i[0][0])??null,inputDigest:((o=s.inputState.Exist)==null?void 0:o[0][1])??null,inputOwner:((a=s.inputState.Exist)==null?void 0:a[1])??null,outputState:s.outputState.$kind==="NotExist"?"DoesNotExist":s.outputState.$kind,outputVersion:s.outputState.$kind==="PackageWrite"?(c=s.outputState.PackageWrite)==null?void 0:c[0]:s.outputState.ObjectWrite?e.lamportVersion:null,outputDigest:s.outputState.$kind==="PackageWrite"?(u=s.outputState.PackageWrite)==null?void 0:u[1]:((f=s.outputState.ObjectWrite)==null?void 0:f[0])??null,outputOwner:s.outputState.ObjectWrite?s.outputState.ObjectWrite[1]:null,idOperation:s.idOperation.$kind}});return{bcs:t,digest:e.transactionDigest,version:2,status:e.status.$kind==="Success"?{success:!0,error:null}:{success:!1,error:e.status.Failed.error.$kind},gasUsed:e.gasUsed,transactionDigest:e.transactionDigest,gasObject:e.gasObjectIndex===null?null:r[e.gasObjectIndex]??null,eventsDigest:e.eventsDigest,dependencies:e.dependencies,lamportVersion:e.lamportVersion,changedObjects:r,unchangedConsensusObjects:e.unchangedSharedObjects.map(([n,s])=>({kind:s.$kind==="MutateDeleted"?"MutateConsensusStreamEnded":s.$kind==="ReadDeleted"?"ReadConsensusStreamEnded":s.$kind,objectId:n,version:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[0]:s[s.$kind],digest:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[1]:null})),auxiliaryDataDigest:e.auxDataDigest}}var K2=t=>{throw TypeError(t)},Y2=(t,e,r)=>e.has(t)||K2("Cannot "+r),Bt=(t,e,r)=>(Y2(t,e,"read from private field"),r?r.call(t):e.get(t)),qO=(t,e,r)=>e.has(t)?K2("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),WO=(t,e,r,n)=>(Y2(t,e,"write to private field"),e.set(t,r),r),ct;class KO extends LO{constructor({jsonRpcClient:e,mvr:r}){super({network:e.network,base:e,mvr:r}),qO(this,ct),WO(this,ct,e)}async getObjects(e){const r=xu(e.objectIds,50),n=[];for(const s of r){const i=await Bt(this,ct).multiGetObjects({ids:s,options:{showOwner:!0,showType:!0,showBcs:!0,showPreviousTransaction:!0},signal:e.signal});for(const[o,a]of i.entries())a.error?n.push(Jn.fromResponse(a.error,s[o])):n.push(ym(a.data))}return{objects:n}}async getOwnedObjects(e){const r=await Bt(this,ct).getOwnedObjects({owner:e.address,limit:e.limit,cursor:e.cursor,options:{showOwner:!0,showType:!0,showBcs:!0,showPreviousTransaction:!0},filter:e.type?{StructType:e.type}:null,signal:e.signal});return{objects:r.data.map(n=>{if(n.error)throw Jn.fromResponse(n.error);return ym(n.data)}),hasNextPage:r.hasNextPage,cursor:r.nextCursor??null}}async getCoins(e){const r=await Bt(this,ct).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(XO.serialize({id:n.coinObjectId,balance:{value:n.balance}}).toBytes()),owner:{$kind:"ObjectOwner",ObjectOwner:e.address},previousTransaction:n.previousTransaction})),hasNextPage:r.hasNextPage,cursor:r.nextCursor??null}}async getBalance(e){const r=await Bt(this,ct).getBalance({owner:e.address,coinType:e.coinType,signal:e.signal});return{balance:{coinType:r.coinType,balance:r.totalBalance}}}async getAllBalances(e){return{balances:(await Bt(this,ct).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 Bt(this,ct).getTransactionBlock({digest:e.digest,options:{showRawInput:!0,showObjectChanges:!0,showRawEffects:!0,showEvents:!0,showEffects:!0,showBalanceChanges:!0},signal:e.signal});return{transaction:mm(r)}}async executeTransaction(e){const r=await Bt(this,ct).executeTransactionBlock({transactionBlock:e.transaction,signature:e.signatures,options:{showRawEffects:!0,showEvents:!0,showObjectChanges:!0,showRawInput:!0,showEffects:!0,showBalanceChanges:!0},signal:e.signal});return{transaction:mm(r)}}async dryRunTransaction(e){const r=$d.from(e.transaction),n=await Bt(this,ct).dryRunTransactionBlock({transactionBlock:e.transaction,signal:e.signal}),{effects:s,objectTypes:i}=YO({effects:n.effects,objectChanges:n.objectChanges});return{transaction:{digest:await r.getDigest(),epoch:null,effects:s,objectTypes:Promise.resolve(i),signatures:[],transaction:DO(e.transaction),balanceChanges:n.balanceChanges.map(o=>({coinType:o.coinType,address:J2(o.owner),amount:o.amount}))}}}async getReferenceGasPrice(e){const r=await Bt(this,ct).getReferenceGasPrice({signal:e==null?void 0:e.signal});return{referenceGasPrice:String(r)}}async getDynamicFields(e){const r=await Bt(this,ct).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:Yt(n.bcsName)}})),hasNextPage:r.hasNextPage,cursor:r.nextCursor}}async verifyZkLoginSignature(e){const r=await Bt(this,ct).verifyZkLoginSignature({bytes:e.bytes,signature:e.signature,intentScope:e.intentScope,author:e.author});return{success:r.success,errors:r.errors}}async defaultNameServiceName(e){return{data:{name:(await Bt(this,ct).resolveNameServiceNames(e)).data[0]}}}resolveTransactionPlugin(){return U2(Bt(this,ct))}async getMoveFunction(e){const r=await Bt(this,ct).getNormalizedMoveFunction({package:(await this.mvr.resolvePackage({package:e.packageId})).package,module:e.moduleName,function:e.name});return{function:{packageId:be(e.packageId),moduleName:e.moduleName,name:e.name,visibility:QO(r.visibility),isEntry:r.isEntry,typeParameters:r.typeParameters.map(n=>({isPhantom:!1,constraints:ZO(n)})),parameters:r.parameters.map(n=>bm(n)),returns:r.return.map(n=>bm(n))}}}}ct=new WeakMap;function ym(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"?Yt(t.bcs.bcsBytes):new Uint8Array),owner:hi(t.owner),previousTransaction:t.previousTransaction??null}}function hi(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 J2(t){if(t==="Immutable")return null;if("ConsensusAddressOwner"in t)return t.ConsensusAddressOwner.owner;if("AddressOwner"in t)return t.AddressOwner;if("ObjectOwner"in t)return t.ObjectOwner;if("Shared"in t)return null;throw new Error(`Unknown owner type: ${JSON.stringify(t)}`)}function mm(t){var i,o,a;const e=he.SenderSignedData.parse(Yt(t.rawTransaction))[0],r={};(i=t.objectChanges)==null||i.forEach(c=>{c.type!=="published"&&(r[c.objectId]=c.objectType)});const n=he.TransactionData.serialize(e.intentMessage.value).toBytes(),s=Nt.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:zO(new Uint8Array(t.rawEffects)),objectTypes:Promise.resolve(r),transaction:{...s,bcs:n},signatures:e.txSignatures,balanceChanges:((a=t.balanceChanges)==null?void 0:a.map(c=>({coinType:c.coinType,address:J2(c.owner),amount:c.amount})))??[]}}function YO({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:hi(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:hi(a.owner),outputState:"ObjectWrite",outputVersion:a.version,outputDigest:a.digest,outputOwner:hi(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:hi(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:hi(e.gasObject.owner),idOperation:"None"},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies??[],lamportVersion:e.gasObject.reference.version,changedObjects:n,unchangedConsensusObjects:s,auxiliaryDataDigest:null}}}const JO=he.struct("Balance",{value:he.u64()}),XO=he.struct("Coin",{id:he.Address,balance:JO});function bm(t){if(typeof t!="string"){if("Reference"in t)return{reference:"immutable",body:xo(t.Reference)};if("MutableReference"in t)return{reference:"mutable",body:xo(t.MutableReference)}}return{reference:null,body:xo(t)}}function xo(t){switch(t){case"Address":return{$kind:"address"};case"Bool":return{$kind:"bool"};case"U8":return{$kind:"u8"};case"U16":return{$kind:"u16"};case"U32":return{$kind:"u32"};case"U64":return{$kind:"u64"};case"U128":return{$kind:"u128"};case"U256":return{$kind:"u256"}}if(typeof t=="string")throw new Error(`Unknown type: ${t}`);if("Vector"in t)return{$kind:"vector",vector:xo(t.Vector)};if("Struct"in t)return{$kind:"datatype",datatype:{typeName:`${be(t.Struct.address)}::${t.Struct.module}::${t.Struct.name}`,typeParameters:t.Struct.typeArguments.map(e=>xo(e))}};if("TypeParameter"in t)return{$kind:"typeParameter",index:t.TypeParameter};throw new Error(`Unknown type: ${JSON.stringify(t)}`)}function ZO(t){return t.abilities.map(e=>{switch(e){case"Copy":return"copy";case"Drop":return"drop";case"Store":return"store";case"Key":return"key";default:return"unknown"}})}function QO(t){switch(t){case"Public":return"public";case"Private":return"private";case"Friend":return"friend";default:return"unknown"}}const e4=Symbol.for("@mysten/SuiClient");class gm extends e2{constructor(e){super({network:e.network??"unknown"}),this.jsonRpc=this,this.transport=e.transport??new d_({url:e.url}),this.core=new KO({jsonRpcClient:this,mvr:e.mvr})}get[e4](){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||!vr(be(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||!vr(be(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||!vr(be(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||!vr(be(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&&Vt(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&&Vt(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&&Vt(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&&Vt(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&&Vt(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||!vr(be(e.owner)))throw new Error("Invalid Sui address");const r=e.filter?{...e.filter}:void 0;return r&&"MoveModule"in r&&Vt(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||!Qa(Kr(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||!Qa(Kr(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&&Vt(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(!sm(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(!sm(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:bt(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||!vr(be(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||!Qa(Kr(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&&Vt(e.MoveEventModule.package)&&(e={...e,MoveEventModule:{module:e.MoveEventModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveEventModule.package})).package}}),"MoveModule"in e&&Vt(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(q2(e.transactionBlock))e.transactionBlock.setSenderIfNotSet(e.sender),r=bt(await e.transactionBlock.build({client:this,onlyTransactionKind:!0}));else if(typeof e.transactionBlock=="string")r=e.transactionBlock;else if(e.transactionBlock instanceof Uint8Array)r=bt(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:bt(e.transactionBlock)]})}async getDynamicFields(e){if(!e.parentId||!Qa(Kr(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=ea(r.digest);return $i(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=>tI(o,e))}}async getProtocolConfig(e){return await this.transport.request({method:"sui_getProtocolConfig",params:[e==null?void 0:e.version],signal:e==null?void 0:e.signal})}async verifyZkLoginSignature(e){return await this.transport.request({method:"sui_verifyZkLoginSignature",params:[e.bytes,e.signature,e.intentScope,e.author],signal:e.signal})}async waitForTransaction({signal:e,timeout:r=60*1e3,pollInterval:n=2*1e3,...s}){const i=AbortSignal.timeout(r),o=new Promise((a,c)=>{i.addEventListener("abort",()=>c(i.reason))});for(o.catch(()=>{});!i.aborted;){e==null||e.throwIfAborted();try{return await this.getTransactionBlock(s)}catch{await Promise.race([new Promise(a=>setTimeout(a,n)),o])}}throw i.throwIfAborted(),new Error("Unexpected error while waiting for transaction block.")}}class t4{constructor(e,r,n,s){this.client=new gm({url:Qy(n)}),this.url=e instanceof m.Url?e:new m.Url(e),this.account=r,this.network=n,this.auth=s,this.relayer=new Wi(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 m.Err("Order is required");if(Y.isSuiOrderResponse(e))return this.initiateWithCreateOrderResponse(e);try{const{source_swap:i}=e,o=BigInt(i.amount),a=i.asset,c=i.redeemer,u=i.secret_hash,f=await su(i.asset,this.url);if(!f.ok)return m.Err(f.error);const{tokenAddress:l}=f.val,p=new $d;p.setSender(this.htlcActorAddress);const[d]=p.splitCoins(p.gas,[o]);p.moveCall({target:`${hd[this.network].packageId}::${hd[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(YI)]});const b=await p.build({client:this.client}),g=await this.client.dryRunTransactionBlock({transactionBlock:b});if(g.effects.status.status==="failure")return m.Err(`${g.effects.status.error}`);let E;if("features"in this.account?E=await((r=this.account.features[mp.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 m.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"?m.Err(`Failed to initiate: ${(s=S.effects)==null?void 0:s.status.error}`):m.Ok(S.digest)}catch(i){return m.Err(i)}}async initiateWithCreateOrderResponse(e){var a,c,u;const{ptb_bytes:r}=e,s=await new gm({url:Qy("testnet")}).getReferenceGasPrice(),i=1e7,o=$d.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[mp.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 m.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"?m.Err(`Failed to initiate: ${(u=l.effects)==null?void 0:u.status.error}`):m.Ok(l.digest)}catch(f){return m.Err(String(f))}}async redeem(e,r){const n=await this.relayer.redeem(e.order_id,r);return n.error?m.Err(n.error):n.val?m.Ok(n.val):m.Err("Redeem: No result found")}async refund(){return m.Err("Refund is taken care of by the relayer")}}function wm(t){let e=t.startsWith("0x")?t.slice(2):t;return e=e.toLowerCase(),e.length>64&&(e=e.slice(e.length-64)),e.length<64&&(e=e.padStart(64,"0")),`0x${e}`}class r4{constructor(e,r,n,s){this.url=typeof e=="string"?new m.Url(e):e,this.auth=n,s instanceof bp.TronWeb?(this.wallet={tronweb:s},this.tronweb=s):(this.wallet={adapter:s},this.tronweb=new bp.TronWeb({fullHost:zx[r]})),this.relayer=new Wi(this.auth,this.url)}get htlcActorAddress(){var e,r,n;return(e=this.wallet.adapter)!=null&&e.address?this.wallet.adapter.address:this.wallet.tronweb?((r=this.wallet.tronweb.defaultAddress)==null?void 0:r.base58)||"":((n=this.tronweb.defaultAddress)==null?void 0:n.base58)||""}async initiate(e){if(Y.isEvmOrderResponse(e))return this.initiateDirectContractCall(e);try{const{source_swap:r}=e,n=await su(r.asset,this.url);if(!n.ok)return m.Err(n.error);const{htlcAddress:s}=n.val;return await this.executeContractCall({contractAddress:s,method:"initiate(address,uint256,uint256,bytes32,bytes)",parameters:[{type:"address",value:r.redeemer},{type:"uint256",value:r.timelock},{type:"uint256",value:BigInt(r.amount)},{type:"bytes32",value:wm(String(r.secret_hash))},{type:"bytes",value:"0x"}],options:{}})}catch(r){return m.Err(`Failed to initiate: ${String(r)}`)}}async initiateDirectContractCall(e){var l;if(!this.htlcActorAddress)return m.Err("No HTLC actor address found");if(e.approval_transaction){const p=await this.executeApprovalTransaction(e);if(p.error)return m.Err(p.error)}if(!e.initiate_transaction)return m.Err("No initiate transaction data available for direct contract call");if(!((l=e.typed_data)!=null&&l.message))return m.Err("No typed data message found in order response");const{to:r,value:n,gas_limit:s}=e.initiate_transaction,{redeemer:i,timelock:o,amount:a,secretHash:c,destinationData:u}=e.typed_data.message,f=await this.executeContractCall({contractAddress:r,method:"initiate(address,uint256,uint256,bytes32,bytes)",parameters:[{type:"address",value:i},{type:"uint256",value:o},{type:"uint256",value:a},{type:"bytes32",value:wm(String(c))},{type:"bytes",value:u}],options:{feeLimit:parseInt(s),callValue:n?parseInt(n):0}});return!f.val||f.error?m.Err("Failed to initiate"+(f.error||"")):await this.waitForTransactionConfirmation(f.val)}async executeApprovalTransaction(e){if(console.log("No Allowance found, Executing Approval"),!this.htlcActorAddress)return m.Err("No HTLC actor address found");const r=e.approval_transaction;if(!r)return m.Ok("No approval transaction required");try{const n="0x"+r.data.slice(10),s=this.tronweb.utils.abi.decodeParams(["spender","amount"],["address","uint256"],n,!1);return await this.executeContractCall({contractAddress:r.to,method:"approve(address,uint256)",parameters:[{type:"address",value:s.spender},{type:"uint256",value:s.amount.toString()}],options:{feeLimit:Number(r.gas_limit),callValue:0}})}catch(n){return m.Err(`Approval transaction failed: ${String(n)}`)}}async executeContractCall({contractAddress:e,method:r,parameters:n,options:s}){try{const i=await this.tronweb.transactionBuilder.triggerSmartContract(e,r,s,n,this.htlcActorAddress);if(!(i!=null&&i.transaction))return m.Err("Failed to build transaction");const o=await this.signTransaction(i.transaction);if(o.error)return m.Err(o.error);const a=await this.tronweb.trx.sendRawTransaction(o.val);return a.result?(console.log("Transaction successful, txid:",a.txid),m.Ok(a.txid)):m.Err(String(a.message)||String(a.code)||"Transaction broadcast failed")}catch(i){return m.Err(`Contract call failed: ${String(i)}`)}}async signTransaction(e){if(this.wallet.adapter)try{const r=await this.wallet.adapter.signTransaction(e);return m.Ok(r)}catch(r){return m.Err(`Adapter signing failed: ${String(r)}`)}if(this.wallet.tronweb)try{const r=await this.wallet.tronweb.trx.sign(e);return m.Ok(r)}catch(r){return m.Err(`TronWeb signing failed: ${String(r)}`)}return m.Err("No signing method available (no adapter or TronWeb instance)")}async waitForTransactionConfirmation(e,r=30,n=3e3){for(let s=0;s<r;s++){try{const i=await this.tronweb.trx.getTransaction(e);if(!i)return m.Err("Transaction not found");if(i.txID&&i.ret[0].contractRet==="SUCCESS")return m.Ok(i.txID);if(i.ret[0].contractRet==="FAILED")return m.Err("Transaction failed on-chain")}catch(i){return m.Err(`Error checking transaction: ${String(i)}`)}await new Promise(i=>setTimeout(i,n))}return m.Err("Transaction confirmation timeout")}async redeem(e,r){const n=await this.relayer.redeem(e.order_id,r);return n.error?m.Err(n.error):m.Ok(n.val)}async refund(){return m.Err("Refund is taken care of by the relayer")}}const n4=t=>{if(t)if(typeof t=="string"){const e=m.DigestKey.from(t);if(!e.ok)throw new Error(e.error);return e.val}else return t},vm=t=>typeof t=="string"?new m.ApiKey(t):t;class s4{constructor(e={}){const r={stdTTL:e.ttl?e.ttl/1e3:3600,checkperiod:600};this.cache=new n6(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 ia,oa,aa,$e,Pi,Xn;class i4{constructor(e,r,n,s,i,o){ys(this,ia);ys(this,oa);ys(this,aa);ys(this,$e);ys(this,Pi);ys(this,Xn);this.isBackgroundServiceRunning=!1,this.stopBackgroundExecution=null,this.htlcs=r,this.events=o,ms(this,ia,e),ms(this,oa,n),ms(this,aa,Fi.fromDigestKey(e.digestKey)),ms(this,$e,new s4),ms(this,Pi,s),ms(this,Xn,i)}async getAddressesFromHTLCs(){var n,s,i,o,a,c;const e=new Set;return[(n=this.htlcs.evm)==null?void 0:n.htlcActorAddress,(s=this.htlcs.sui)==null?void 0:s.htlcActorAddress,(i=this.htlcs.solana)==null?void 0:i.htlcActorAddress,(o=this.htlcs.starknet)==null?void 0:o.htlcActorAddress,(a=this.htlcs.bitcoin)==null?void 0:a.htlcActorAddress,(c=this.htlcs.tron)==null?void 0:c.htlcActorAddress].filter(u=>!!u&&u.length>0).forEach(u=>e.add(u.toLowerCase())),Array.from(e)}start(e=5e3,r){this.isBackgroundServiceRunning||this.stopBackgroundExecution||(this.isBackgroundServiceRunning=!0,(async()=>{try{if(r){this.stop();return}const n=await this.execute(e);n&&(this.stopBackgroundExecution=n)}catch(n){console.error("Error starting background executor:",n),this.isBackgroundServiceRunning=!1}})())}stop(){if(this.stopBackgroundExecution){try{this.stopBackgroundExecution()}catch{console.error("Error stopping background executor")}this.stopBackgroundExecution=null}this.isBackgroundServiceRunning=!1}async execute(e=5e3){const r=await this.getAddressesFromHTLCs();r.length===0&&r.push(Se(this,ia).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 Se(this,oa).getOrders({from_owner:c,status:Y.OrderLifecycle.pending,per_page:500});return u.ok?u.val.data:(this.events.emit("error",{},`Failed to fetch orders for address ${c}: ${u.error}`),[])}catch(u){return this.events.emit("error",{},`Failed to fetch orders for address ${c}: ${u}`),[]}}),a=await Promise.all(o);this.events.emit("onPendingOrdersChanged",a.flat()),await this.processOrderActions(a.flat())}finally{n=!1}}};return await i(),s=setInterval(i,e),()=>{s&&clearInterval(s)}}async processOrderActions(e){const r=new Set([Y.OrderStatus.InitiateDetected,Y.OrderStatus.AwaitingRefund,Y.OrderStatus.Initiated,Y.OrderStatus.RefundDetected,Y.OrderStatus.Refunded,Y.OrderStatus.Expired]),n=e.map(async s=>{try{Y.isBitcoin(s.source_swap.chain)&&r.has(s.status)&&!Y.isCompleted(s)&&await this.postRefundSACP(s),Y.parseAction(s)===Y.OrderAction.Redeem&&await this.handleRedeemAction(s)}catch(i){this.events.emit("error",s,`Error processing order ${s.order_id}: ${i}`)}});await Promise.all(n)}async handleRedeemAction(e){const r=await Se(this,aa).generateSecret(e.nonce);if(!r.ok){this.events.emit("error",e,r.error);return}const n=m.trim0x(r.val.secretHash),s=m.trim0x(e.source_swap.secret_hash);if(n!==s){this.events.emit("log",e.order_id,"skipping redeem: secret hash mismatch");return}const i=r.val.secret,o=Y.getBlockchainType(e.destination_swap.chain),c={[Y.BlockchainType.evm]:()=>this.evmRedeem(e,i),[Y.BlockchainType.bitcoin]:()=>this.btcRedeem(e,i),[Y.BlockchainType.starknet]:()=>this.starknetRedeem(e,i),[Y.BlockchainType.solana]:()=>this.solRedeem(e,i),[Y.BlockchainType.sui]:()=>this.suiRedeem(e,i),[Y.BlockchainType.tron]:()=>this.tronRedeem(e,i)}[o];c?await c():this.events.emit("error",e,`Unsupported chain: ${e.destination_swap.chain}`)}async evmRedeem(e,r){if(this.events.emit("log",e.order_id,"executing evm redeem"),Se(this,$e).getOrderExecution(e,Y.OrderAction.Redeem)){this.events.emit("log",e.order_id,"already redeemed");return}if(!this.htlcs.evm){this.events.emit("error",e,"EVM HTLC is required");return}const s=await this.htlcs.evm.redeem(e,r);if(!s.ok){this.events.emit("error",e,s.error),s.error.includes("Order already redeemed")&&Se(this,$e).setOrderExecution(e,Y.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}Se(this,$e).setOrderExecution(e,Y.OrderAction.Redeem,s.val),this.events.emit("success",e,Y.OrderAction.Redeem,s.val)}async starknetRedeem(e,r){if(this.events.emit("log",e.order_id,"executing starknet redeem"),Se(this,$e).getOrderExecution(e,Y.OrderAction.Redeem)){this.events.emit("log",e.order_id,"already redeemed");return}if(!this.htlcs.starknet){this.events.emit("error",e,"Starknet HTLC is required");return}const s=await this.htlcs.starknet.redeem(e,r);if(!s.ok){this.events.emit("error",e,s.error),s.error.includes("Order already redeemed")&&Se(this,$e).setOrderExecution(e,Y.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}s.val&&(Se(this,$e).setOrderExecution(e,Y.OrderAction.Redeem,s.val),this.events.emit("success",e,Y.OrderAction.Redeem,s.val))}async solRedeem(e,r){if(this.events.emit("log",e.order_id,"executing sol redeem"),Se(this,$e).getOrderExecution(e,Y.OrderAction.Redeem)){this.events.emit("log",e.order_id,"already redeemed");return}if(!this.htlcs.solana){this.events.emit("error",e,"Solana HTLC is required");return}const s=await this.htlcs.solana.redeem(e,r);if(s.error){this.events.emit("error",e,s.error),s.error.includes("Order already redeemed")&&Se(this,$e).setOrderExecution(e,Y.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}s.val&&(Se(this,$e).setOrderExecution(e,Y.OrderAction.Redeem,s.val),this.events.emit("success",e,Y.OrderAction.Redeem,s.val))}async suiRedeem(e,r){if(this.events.emit("log",e.order_id,"executing sui redeem"),Se(this,$e).getOrderExecution(e,Y.OrderAction.Redeem)){this.events.emit("log",e.order_id,"already redeemed");return}if(!this.htlcs.sui){this.events.emit("error",e,"Sui HTLC is required");return}const s=await this.htlcs.sui.redeem(e,r);if(s.error){this.events.emit("error",e,s.error),s.error.includes("Order already redeemed")&&Se(this,$e).setOrderExecution(e,Y.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}s.val&&(Se(this,$e).setOrderExecution(e,Y.OrderAction.Redeem,s.val),this.events.emit("success",e,Y.OrderAction.Redeem,s.val))}async tronRedeem(e,r){if(this.events.emit("log",e.order_id,"executing tron redeem"),Se(this,$e).getOrderExecution(e,Y.OrderAction.Redeem)){this.events.emit("log",e.order_id,"already redeemed");return}if(!this.htlcs.tron){this.events.emit("error",e,"Tron HTLC is required");return}const s=await this.htlcs.tron.redeem(e,r);if(s.error){this.events.emit("error",e,s.error),s.error.includes("Order already redeemed")&&Se(this,$e).setOrderExecution(e,Y.OrderAction.Redeem,e.destination_swap.redeem_tx_hash);return}s.val&&(Se(this,$e).setOrderExecution(e,Y.OrderAction.Redeem,s.val),this.events.emit("success",e,Y.OrderAction.Redeem,s.val))}async btcRedeem(e,r){var a,c;const n=(a=this.htlcs.bitcoin)==null?void 0:a.getProvider();if(!n){this.events.emit("error",e,"Bitcoin provider not found");return}const s=Se(this,$e).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()}Se(this,$e).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,m.trim0x(r),o?[i]:[]);if(!u.ok){this.events.emit("error",e,"Failed to get redeem hex");return}const f=await this.broadcastRedeemTx(u.val,e.order_id);if(!f.ok){this.events.emit("error",e,f.error||"Failed to broadcast redeem tx");return}o?(this.events.emit("log",e.order_id,"rbf: btc redeem success"),this.events.emit("rbf",e,f.val)):this.events.emit("success",e,Y.OrderAction.Redeem,f.val),Se(this,$e).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 Se(this,Pi).getAuthHeaders();if(n.error){this.events.emit("error",e,"Failed to get auth headers: "+n.error);return}const s=await m.Fetcher.post(new m.Url(Se(this,Xn).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 m.Url(Se(this,Xn).baseurl).endpoint("relayer/bitcoin/instant-refund");(await m.Fetcher.post(o,{headers:{"Content-Type":"application/json",...n.val},body:JSON.stringify({order_id:e.order_id,signatures:i.val})})).ok&&Se(this,$e).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(!Se(this,Xn))return m.Err("API not found");const n=new m.Url(Se(this,Xn).relayer).endpoint("/bitcoin/redeem "),s=await Se(this,Pi).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?m.Ok(o.result):m.Err(o.error)}catch(n){return m.Err("Failed to broadcast redeem tx: "+n)}}}ia=new WeakMap,oa=new WeakMap,aa=new WeakMap,$e=new WeakMap,Pi=new WeakMap,Xn=new WeakMap;const co={p2wpkh:"p2wpkh","p2wpkh-p2sh":"p2wpkh-p2sh"},pc={ALL:ye.Transaction.SIGHASH_ALL,NONE:ye.Transaction.SIGHASH_NONE,SINGLE:ye.Transaction.SIGHASH_SINGLE,ALL_ANYONECANPAY:ye.Transaction.SIGHASH_ALL|ye.Transaction.SIGHASH_ANYONECANPAY,NONE_ANYONECANPAY:ye.Transaction.SIGHASH_NONE|ye.Transaction.SIGHASH_ANYONECANPAY,SINGLE_ANYONECANPAY:ye.Transaction.SIGHASH_SINGLE|ye.Transaction.SIGHASH_ANYONECANPAY};class Fs{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 gp.mixed().oneOf(["segwitV0","segwitV1","p2shSignature"]).required().validate(r),i=await gp.mixed().oneOf(Object.values(pc)).required().validate(parseInt(n));return new Fs(s,i)}}const Es={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}`},mo={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"},o4=(t,e,r=!1)=>{const n=o=>{try{o=ye.address.fromBech32(o).data.toString("hex")}catch(a){if(md(a))(a.message.includes("Mixed-case string")||a.message.includes("too short"))&&(o=ye.address.fromBase58Check(o).hash.toString("hex"));else throw new Error(String(a))}return o},s=ye.script.fromASM(`
|
|
87
|
+
OP_IF
|
|
88
|
+
OP_SHA256
|
|
89
|
+
${t.secretHash}
|
|
90
|
+
OP_EQUALVERIFY
|
|
91
|
+
OP_DUP
|
|
92
|
+
OP_HASH160
|
|
93
|
+
${n(t.recipientAddress.address)}
|
|
94
|
+
OP_ELSE
|
|
95
|
+
${ye.script.number.encode(t.expiryBlocks).toString("hex")}
|
|
96
|
+
OP_CHECKSEQUENCEVERIFY
|
|
97
|
+
OP_DROP
|
|
98
|
+
OP_DUP
|
|
99
|
+
OP_HASH160
|
|
100
|
+
${n(t.refundAddress.address)}
|
|
101
|
+
OP_ENDIF
|
|
102
|
+
OP_EQUALVERIFY
|
|
103
|
+
OP_CHECKSIG
|
|
104
|
+
`.trim().replace(/\s+/g," ")),i=ye.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}},ko={P2SH:"p2sh",P2WSH:"p2wsh",P2TR:"p2tr"};var X2=(t=>(t[t.Bitcoin=0]="Bitcoin",t[t.EVM=1]="EVM",t))(X2||{});class a4{addSignatureSegwitV0(e=pc.ALL){return new Fs("segwitV0",e)}addSignatureP2sh(e=pc.ALL){return new Fs("p2shSignature",e)}addSignatureSegwitV1(e=pc.ALL){return new Fs("segwitV1",e)}chain(){return X2.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(yd(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 ye.address.toOutputScript(e,await this.getNetwork())}totalValueFromUTXOs(e){return e.reduce((r,n)=>r+n.value,0)}async scriptToAddress(e){const r=ye.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=m.trim0x(e.secretHash),e.secretHash.length!==64)throw new Error(mo.INVALID_SECRET_HASH);const{script:r,address:n}=o4(e,await this.getNetwork());return new c4(this,{...e,redeemScript:r,scriptAddress:n})}getScriptType(e,r){try{if(ye.address.fromBase58Check(e).version===r.scriptHash)return ko.P2SH}catch{const s=ye.address.fromBech32(e);if(s.prefix!==r.bech32)throw new Error("Invalid address");if(s.version===0){if(s.data.length===32)return ko.P2WSH}else if(s.version===1&&s.data.length===32)return ko.P2TR}throw new Error("Unsupported script type")}}class c4{constructor(e,r){if(r.secretHash=m.trim0x(r.secretHash),r.secretHash.length!==64)throw new Error(mo.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=m.trim0x(e);const n=[this.wallet.addSignatureSegwitV0(),Buffer.from(await this.wallet.getPublicKey(),"hex"),Buffer.from(e,"hex"),ye.script.number.encode(1),this.swap.redeemScript],s=ye.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 md(i)?i.message.includes("OP_EQUALVERIFY")?new Error(mo.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"),ye.script.number.encode(0),this.swap.redeemScript];try{const n=ye.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 md(n)?n.message.includes("OP_EQUALVERIFY")?new Error(mo.INVALID_PUBKEY):n.message.includes("BIP")?new Error(mo.ORDER_NOT_EXPIRED):new Error(n.message):new Error(String(n))}}}const _l=(t,e,r,n)=>`m/${t}'/${e===Tr.Mainnet?0:1}'/${r}'/0/${n??0}`,Z2={bip44:(t,e,r)=>_l("44",t,r??0,e),bip49:(t,e,r)=>_l("49",t,r??0,e),bip84:(t,e,r)=>_l("84",t,r??0,e)};function Il(t){if(t===Tr.Mainnet)return ye.networks.bitcoin;if(t===Tr.Testnet)return ye.networks.testnet;if(t===Tr.Regtest)return ye.networks.regtest;throw new Error("Invalid network")}function u4(t,e,r){if(!wp.validateMnemonic(t))throw new Error("Invalid mnemonic");const n=(r==null?void 0:r.path)??Z2.bip44(e,(r==null?void 0:r.index)??0),s=s6.BIP32Factory(fr).fromSeed(wp.mnemonicToSeedSync(t));return f4(s,n)}const f4=(t,e)=>{const r=t.derivePath(e).privateKey;if(!r)throw new Error("Unable to derive private key from mnemonic");return r.toString("hex")};ye.initEccLib(fr);class _s extends a4{constructor({privateKey:e,provider:r,pkPath:n,pkType:s}){const i=tc.ECPairFactory(fr),o=Il(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=Z2.bip84(r.getNetwork(),n==null?void 0:n.index),i=u4(e,r.getNetwork(),{path:s});return new _s({privateKey:i,provider:r,pkType:co.p2wpkh,pkPath:s})}static fromPrivateKey(e,r,n){return new _s({privateKey:e,provider:r,pkType:(n==null?void 0:n.pkType)??co.p2wpkh,pkPath:(n==null?void 0:n.pkPath)??"unknown"})}static createRandom(e){const r=tc.ECPairFactory(fr),n=Il(e.getNetwork()),s=r.makeRandom({network:n});if(!s.privateKey)throw new Error("Failed to create random key");return new _s({privateKey:s.privateKey.toString("hex"),provider:e,pkType:co.p2wpkh,pkPath:"unknown"})}static fromWIF(e,r,n){const s=tc.ECPairFactory(fr),i=Il(r.getNetwork()),o=s.fromWIF(e,i);if(!o.privateKey)throw new Error("Invalid WIF");return _s.fromPrivateKey(o.privateKey.toString("hex"),r,n)}walletConfig(){return{network:this.provider.getNetwork(),path:this.path,addressType:this.pkType}}async spend(e,r,{toAddress:n,fee:s,nSequence:i,unlockScript:o,witness:a}){var p;const c=this.getScriptType(r,this.network),u=await this.provider.getBalance(r);if(u===0)throw new Error(Es.SCRIPT_NOT_FUNDED);let f=new ye.Transaction;if(f.version=2,s??(s=await this.provider.suggestFee(r,u,Ai.FAST)),s>u)throw new Error(Es.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===ko.P2SH){if(!o)throw new Error("Unlock script is required for p2sh");const b=[];for(const E of o)if(E instanceof Fs){const S=E.sigHashType,_=f.hashForSignature(d,e,S);b.push(ye.script.signature.encode(Buffer.from(await this.sign(_.toString("hex")),"hex"),S))}else b.push(E);const g=(p=ye.payments.p2sh({redeem:{input:ye.script.compile(b),output:e},network:this.network}).redeem)==null?void 0:p.input;f.setInputScript(d,g)}else if(c===ko.P2WSH){if(!a)throw new Error("Witness is required for p2wsh");const b=[];for(const g of a)if(g instanceof Fs){const E=g.sigHashType,S=f.hashForWitnessV0(d,e,l[d].value,E);b.push(ye.script.signature.encode(Buffer.from(await this.sign(S.toString("hex")),"hex"),E))}else b.push(g);f.setWitness(d,b)}else throw new Error("Invalid script type "+c);return this.provider.broadcast(f.toHex())}async getAddress(){if(this.pkType===co["p2wpkh-p2sh"]){const{address:r}=ye.payments.p2sh({redeem:ye.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}=ye.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,Ai.FAST)),o>i)throw new Error(Es.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(Es.INSUFFICIENT_FUNDS(c,i+o));const u=new ye.Psbt({network:r});for(const l of a){const p=await e.getTransactionHex(l.txid);u.addInput({hash:yd(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,Ai.FAST)),n>r)throw new Error(Es.FEE_EXCEEDS_AMOUNT(n,r));if(r<this.minAmt)throw new Error(Es.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 ye.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===co["p2wpkh-p2sh"]&&(d={witnessUtxo:{script:Buffer.from(p.vout[f.vout].scriptpubkey,"hex"),value:f.value},redeemScript:(u=ye.payments.p2sh({redeem:ye.payments.p2wpkh({pubkey:this.signer.publicKey,network:this.network}),network:this.network}).redeem)==null?void 0:u.output}),a.addInput({hash:yd(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 l4=t=>t.map(e=>e),d4=t=>{if(t===m.Network.TESTNET)return h4;if(t===m.Network.MAINNET)return p4;throw new Error("Invalid network")},h4=["https://mempool.space/testnet4/api"],p4=["https://mempool.space/api","https://blockstream.info/api"],Em=t=>t.sort((e,r)=>e.status.confirmed!=r.status.confirmed?e.status.confirmed?-1:1:r.value-e.value);class Q2{constructor(e,r){this.cacheTimeout=2e3,this.utxosCache=new Map,this.APIs=r?l4([r]):d4(e),this.network=Qx(e)}async getTxIndex(e,r){const n=this.APIs.map(i=>`${i}/tx/${e}`),{vout:s}=await m.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 m.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 Am(n.utxos,r);const s=await m.Fetcher.getWithFallback(this.APIs.map(i=>`${i}/address/${e}/utxo`),{signal:AbortSignal.timeout(5e3)});return this.utxosCache.set(e,{timestamp:Date.now(),utxos:s}),Am(s,r)}async getTransactionHex(e){return m.Fetcher.getWithFallback(this.APIs.map(r=>`${r}/tx/${e}/hex`))}async getTransaction(e){return m.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===Tr.Regtest)return{fastestFee:8,halfHourFee:7,hourFee:6,economyFee:4,minimumFee:2};let e="";this.network===Tr.Testnet&&(e="testnet4/");const r=`https://mempool.space/${e}api/v1/fees/recommended`,n=`https://blockstream.info/${e}api/fee-estimates`,s=await m.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 m.Fetcher.getWithFallback(this.APIs.map(s=>`${s}/address/${e}/txs`));if(r===sc.ALL)return n;if(r===sc.IN)return n.filter(s=>s.vout.find(i=>i.scriptpubkey_address===e));if(r===sc.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 m.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[Gx[n]]*1.05)*(i*70+o*31+10)}async getTransactionTimes(e){const r=e.map(s=>`txId[]=${s}`).join("&");return(await m.Fetcher.getWithFallback(this.APIs.map(s=>`${s}/v1/transaction-times?${r}`))).map(s=>s*1e3)}}const Am=(t,e)=>{if(Array.isArray(t)){if(e){const r=t.reduce((i,o)=>i+o.value,0);if(r<e)throw new Error(Es.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 Em(s)}return Em(t)}return[]};class y4 extends m.EventBroker{emit(e,...r){super.emit(e,...r)}}class hp extends Y.Orderbook{constructor(e){const{api:r,network:n}=pd(e.environment);if(!r)throw new Error("API Key not found");super(new m.Url(r.baseurl)),this._redeemServiceEnabled=!0,this.executeInterval=5e3,this.network=n,this._api=r,this._digestKey=n4(e.digestKey),this._auth=vm(e.apiKey),this._quote=e.quote??new Q1(this._api.baseurl,this._auth),this._htlcs=e.htlc??{},this._events=new y4,this._executor=this._digestKey?new i4(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=Fi.fromDigestKey(this._digestKey.digestKey),!this._htlcs.bitcoin){const s=new Q2(this.network);this._htlcs.bitcoin=new q0(_s.fromPrivateKey(this._digestKey.digestKey,s),this.network)}(n=this._executor)==null||n.start(this.executeInterval,this._redeemServiceEnabled)}return this}static fromWallets(e){const r=vm(e.apiKey),{api:n,network:s}=pd(e.environment);if(!n)throw new Error("API not found, invalid environment "+e.environment);const i=e.wallets?{evm:e.wallets.evm?new cw(n.baseurl,e.wallets.evm,r):void 0,starknet:e.wallets.starknet?new hw(n.baseurl,e.wallets.starknet,s,r):void 0,solana:e.wallets.solana?new Iw(e.wallets.solana,new m.Url(n.baseurl),s,r,{programAddress:e.solanaProgramAddress}):void 0,sui:e.wallets.sui?new t4(n.baseurl,e.wallets.sui,s,r):void 0,bitcoin:e.wallets.bitcoin?new q0(e.wallets.bitcoin,s):void 0,tron:e.wallets.tron?new r4(n.baseurl,s,r,e.wallets.tron):void 0}:{};return new hp({htlc:i,...e})}get htlcs(){return{evm:this._htlcs.evm,starknet:this._htlcs.starknet,solana:this._htlcs.solana,sui:this._htlcs.sui,bitcoin:this._htlcs.bitcoin,tron:this._htlcs.tron}}get quote(){return this._quote}get secretManager(){if(this._redeemServiceEnabled||!this._secretManager)throw new Error("Secret manager is not available");return this._secretManager}get auth(){return this._auth}get digestKey(){return this._digestKey}get executor(){return this._executor}get redeemServiceEnabled(){return this._redeemServiceEnabled}async createSwap(e){const r=Y.ChainAsset.from(e.fromAsset).blockchainType,n=await rk(r,this._htlcs);if(!n.ok)return m.Err(n.error);const s=await this.createOrder(e);if(!s.ok)return m.Err(s.error);const i=s.val;switch(r){case Y.BlockchainType.evm:if(!this._htlcs.evm||!Y.isEvmOrderResponse(i))return m.Err("Order type does not match EVM blockchain type");{const o=await this._htlcs.evm.initiate(i);if(!o.ok)return m.Err(`EVM HTLC initiation failed: ${o.error}`)}break;case Y.BlockchainType.solana:if(!this._htlcs.solana||!Y.isSolanaOrderResponse(i))return m.Err("Order type does not match Solana blockchain type");{const o=await this._htlcs.solana.initiate(i);if(!o.ok)return m.Err(`Solana HTLC initiation failed: ${o.error}`)}break;case Y.BlockchainType.starknet:if(!this._htlcs.starknet||!Y.isStarknetOrderResponse(i))return m.Err("Order type does not match Starknet blockchain type");{const o=await this._htlcs.starknet.initiate(i);if(!o.ok)return m.Err(`Starknet HTLC initiation failed: ${o.error}`)}break;case Y.BlockchainType.sui:if(!this._htlcs.sui||!Y.isSuiOrderResponse(i))return m.Err("Order type does not match Sui blockchain type");{const o=await this._htlcs.sui.initiate(i);if(!o.ok)return m.Err(`Sui HTLC initiation failed: ${o.error}`)}break;case Y.BlockchainType.tron:if(!this._htlcs.tron||!Y.isEvmOrderResponse(i))return m.Err("Order type does not match Tron blockchain type");{const o=await this._htlcs.tron.initiate(i);if(!o.ok)return m.Err(`Tron HTLC initiation failed: ${o.error}`)}break;case Y.BlockchainType.bitcoin:return m.Ok(i);default:return m.Err("Unsupported blockchain type for swap initiation")}return m.Ok(i.order_id)}async createOrder(e){var E;if(m.hasKeys(e,["source","destination","nonce"]))return super.createOrder(e,this._auth);const r=e,n=await this.validateAndFillParams(r);if(!n.ok)return m.Err(n.error);const{sendAddress:s,receiveAddress:i,fromAsset:o,toAsset:a}=n.val,c=Date.now().toString();let u;if(!this.redeemServiceEnabled){const S=await this.secretManager.generateSecret(c);if(!S.ok)return m.Err(S.error);u=S.val.secretHash}const f=(E=r.addresses)==null?void 0:E.bitcoin,l=Y.isBitcoin(Y.ChainAsset.from(r.fromAsset).chain),p=Y.isBitcoin(Y.ChainAsset.from(r.toAsset).chain),d=!l&&!p||!!u,b={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:m.trim0x(u)}:{},solver_id:r.solverId,affiliate_fees:r.affiliateFee,slippage:0},g=await super.createOrder(b,this._auth);return g.ok?m.Ok(g.val):m.Err(g.error)}async validateAndFillParams(e){var c;if(!e.fromAsset||!e.toAsset)return m.Err("Source and destination assets are required for swap");const r=Y.ChainAsset.from(e.fromAsset),n=Y.ChainAsset.from(e.toAsset);if(r.network!==n.network)return m.Err("Both assets should be on the same network (either mainnet or testnet)");const s=v0(e.sendAmount);if(!s.ok)return m.Err(s.error);const i=v0(e.receiveAmount);if(!i.ok)return m.Err(i.error);if(s<i)return m.Err("Send amount should be greater than receive amount");if((Y.isBitcoin(Y.ChainAsset.from(e.fromAsset).chain)||Y.isBitcoin(Y.ChainAsset.from(e.toAsset).chain))&&!((c=e.addresses)!=null&&c.bitcoin))return m.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 m.Err(o.error);const a=await this._getAddresses(n.blockchainType,e.addresses);return a.ok?m.Ok({sendAddress:o.val,receiveAddress:a.val,fromAsset:r,toAsset:n}):m.Err(a.error)}async _getAddresses(e,r){var n;if(this._redeemServiceEnabled&&r&&r[e])return m.Ok(r[e]);switch(e){case Y.BlockchainType.evm:return this._htlcs.evm?m.Ok(this._htlcs.evm.htlcActorAddress):m.Err("Please provide evmHTLC when initializing garden or pass EVM address in SwapParams");case Y.BlockchainType.bitcoin:{const s=(n=this._htlcs.bitcoin)==null?void 0:n.getPublicKey;return!s||!Jx(s)?m.Err("Invalid btc public key or pass Bitcoin address in SwapParams"):m.Ok(Me(s))}case Y.BlockchainType.solana:return this._htlcs.solana?m.Ok(this._htlcs.solana.htlcActorAddress):m.Err("Please provide solanaHTLC when initializing garden or pass Solana address in SwapParams");case Y.BlockchainType.starknet:return this._htlcs.starknet?m.Ok(this._htlcs.starknet.htlcActorAddress):m.Err("Please provide starknetHTLC when initializing garden or pass Starknet address in SwapParams");case Y.BlockchainType.sui:return this._htlcs.sui?m.Ok(this._htlcs.sui.htlcActorAddress):m.Err("Please provide suiHTLC when initializing garden or pass Sui address in SwapParams");case Y.BlockchainType.tron:return this._htlcs.tron?m.Ok(this._htlcs.tron.htlcActorAddress):m.Err("Please provide tronHTLC when initializing garden or pass Tron address in SwapParams");default:return m.Err("Unsupported chain")}}on(e,r){return this._events.on(e,r),this}off(e,r){return this._events.off(e,r),this}}class m4{constructor(e,r,n){this.callData=new Je.CallData(uw),this.account=e,this.starknetProvider=new Je.RpcProvider({nodeUrl:r||(n?Jo[n].nodeUrl:Jo.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(dw,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 fw(this.account,s,e.source_swap.asset,BigInt(e.source_swap.amount),this.starknetProvider);if(c.error)return m.Err(c.error)}catch(c){return m.Err(`Allowance check failed: ${c}`)}const o=e.source_swap.secret_hash;if(!o)return m.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,...m.hexToU32Array(o)]});if(!a.transaction_hash)throw new Error("Failed to initiate HTLC transaction");return m.Ok(a.transaction_hash)}catch(r){return m.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:m.hexToU32Array(r)})});return i.transaction_hash?m.Ok(i.transaction_hash):m.Err("Failed to redeem HTLC transaction")}catch{return m.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?m.Ok(s.transaction_hash):m.Err("Failed to refund HTLC transaction")}catch{return m.Err("HTLC Refund Error")}}}class b4{constructor(e){if(this.provider=e,!e)throw new Error("Provider is required");this.provider=e,this.program=new br.Program(Ed,e)}get htlcActorAddress(){if(!this.program.programId)throw new Error("No program found");return this.provider.publicKey.toBase58()}async initiate(e){if(!e)return m.Err("Order is required");try{const{redeemer:r,secretHash:n,amount:s,expiresIn:i}=Qn.from(e),o=[Buffer.from("swap_account"),this.provider.publicKey.toBuffer(),Buffer.from(n)];this.swapAccount=br.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?m.Ok(c):m.Err("Failed to initiate HTLC transaction")}catch(r){return m.Err(`Error initiating swap: ${r instanceof Error?r.message:String(r)}`)}}async redeem(e,r){if(!e)return m.Err("Order is required");if(!r)return m.Err("Secret is required");const{secretHash:n}=Qn.from(e),s=[Buffer.from("swap_account"),this.provider.publicKey.toBuffer(),Buffer.from(n)];this.swapAccount=br.web3.PublicKey.findProgramAddressSync(s,this.program.programId)[0];try{const{redeemer:i}=Qn.from(e);if(!this.swapAccount)return m.Err("Swap account not initialized. Call initiate() first or provide swap ID.");const o=await this.program.methods.redeem(_w(r)).accounts({swapAccount:this.swapAccount,initiator:this.provider.publicKey,redeemer:i}).transaction(),a=await this.provider.sendAndConfirm(o);return a?m.Ok(a):m.Err("Failed to redeem HTLC transaction")}catch(i){return m.Err(`Error redeeming swap: ${i instanceof Error?i.message:String(i)}`)}}async refund(e){if(!e)return m.Err("Order is required");const{secretHash:r}=Qn.from(e),n=[Buffer.from("swap_account"),Buffer.from(r)];this.swapAccount=br.web3.PublicKey.findProgramAddressSync(n,this.program.programId)[0];try{if(console.log("Initiating refund for ::",e.source_swap.swap_id),!this.swapAccount)return m.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?m.Ok(i):m.Err("Failed to refund HTLC transaction")}catch(s){return m.Err(`Error refunding swap: ${s instanceof Error?s.message:String(s)}`)}}}exports.API=nc;exports.BaseError=V;exports.BitcoinNetwork=Tr;exports.BitcoinProvider=Q2;exports.BitcoinWallet=_s;exports.DEFAULT_AFFILIATE_ASSET=Vx;exports.EvmRelay=cw;exports.Garden=hp;exports.HttpRequestError=gi;exports.Quote=Q1;exports.STARKNET_CONFIG=Jo;exports.SUI_CONFIG=hd;exports.SecretManager=Fi;exports.SolanaHTLC=b4;exports.SolanaRelay=Iw;exports.SolanaRelayerAddress=E1;exports.StarknetHTLC=m4;exports.StarknetRelay=hw;exports.alpenTestnet=ow;exports.botanixMainnet=nw;exports.call=va;exports.checkAllowance=wo;exports.checkAllowanceAndApprove=fw;exports.concat=Xt;exports.constructOrderPair=Xx;exports.decodeErrorResult=hb;exports.encodeAbiParameters=fs;exports.evmToViemChainMap=yu;exports.getChainNameFromChainId=aw;exports.getUrl=Lc;exports.hyperliquid=iw;exports.hyperliquidTestnet=sw;exports.isAddressEqual=Vi;exports.isAllowanceSufficient=lw;exports.isHex=_r;exports.localBatchGatewayRequest=vg;exports.localBatchGatewayUrl=Aa;exports.resolveApiConfig=pd;exports.solanaProgramAddress=dd;exports.stringify=Xe;exports.switchOrAddNetwork=vd;exports.toXOnly=Me;exports.validateBTCAddress=Zx;
|