@wormhole-foundation/wormhole-connect 4.2.0-beta.0-development → 5.0.0
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/main.mjs +73 -73
- package/dist/src/telemetry/types.d.ts +2 -1
- package/dist/src/telemetry/types.d.ts.map +1 -1
- package/dist/src/utils/errors.d.ts +1 -0
- package/dist/src/utils/errors.d.ts.map +1 -1
- package/lib/{aptos-DcdKyekw.js → aptos-BnjZOhUE.js} +1 -1
- package/lib/{aptos-B1Gf2eCD.mjs → aptos-fTiHvXXE.mjs} +2 -2
- package/lib/{basic-DnhL0oWa.mjs → basic-BqusrmRE.mjs} +2 -2
- package/lib/{basic-C6VXQ7m-.js → basic-BrW22Cj9.js} +1 -1
- package/lib/{basic-CFbslwLM.mjs → basic-CK5Bsf0B.mjs} +2 -2
- package/lib/{basic-BS7Z1PMG.js → basic-ChOmeQQk.js} +1 -1
- package/lib/constants-C1w_RyOP.js +1 -0
- package/lib/{constants-CTJ_-E0d.mjs → constants-DcDpDarO.mjs} +5 -5
- package/lib/{core-DT6TBPQP.mjs → core-DQ-6Q1F1.mjs} +5 -5
- package/lib/{core-RRp0K__1.js → core-FA2gBc-s.js} +3 -3
- package/lib/{evm-DlOCiplA.mjs → evm-BJ4Lx-r9.mjs} +3 -3
- package/lib/{evm-BwCfQIyJ.js → evm-BTgO_HRP.js} +2 -2
- package/lib/{evm-BxF9XPn4.mjs → evm-C-vXMfGr.mjs} +3 -3
- package/lib/{evm-C3B8jHD7.js → evm-qxndAh3z.js} +1 -1
- package/lib/hosted.js +1 -1
- package/lib/hosted.mjs +1 -1
- package/lib/{hypercore-DbqOAqKF.js → hypercore-D7kZiwbe.js} +1 -1
- package/lib/{hypercore-H7pw_pN4.mjs → hypercore-DKqayfki.mjs} +9 -9
- package/lib/{index-mikg85u5.js → index-3Zg1AdoI.js} +1 -1
- package/lib/{index-BuEKhdrW.mjs → index-B1URQBlH.mjs} +1 -1
- package/lib/{index-pn6NZmOS.js → index-B7b8sctd.js} +1 -1
- package/lib/{index-CsLyPoC6.mjs → index-BVciucyT.mjs} +1 -1
- package/lib/{index-BNpkgexR.js → index-BfzaCmg7.js} +1 -1
- package/lib/{index-DVm_f5E1.js → index-C-F8_8dY.js} +1 -1
- package/lib/{index-BmP0jPVN.mjs → index-C6MalNd5.mjs} +9 -9
- package/lib/{index-BbE02hdW.js → index-Cb_8WAm1.js} +8 -8
- package/lib/{index-BnKf2rOm.mjs → index-CgqBQ88K.mjs} +178 -175
- package/lib/{index-BtU67kjy.mjs → index-CowAVUcg.mjs} +1 -1
- package/lib/{index-CGqJokTg.mjs → index-DcFL403C.mjs} +1 -1
- package/lib/{index-DAJZN12d.js → index-Oxm0y6-t.js} +1 -1
- package/lib/{index-t_koRpGi.js → index-XjDX4fWv.js} +1 -1
- package/lib/{index-NAUBlFLG.mjs → index-mNO1mk2F.mjs} +1 -1
- package/lib/{index.es-B3FwsRfN.js → index.es-B9kBDkCQ.js} +3 -3
- package/lib/{index.es-ClIr5Gv-.js → index.es-BZRO-bNH.js} +1 -1
- package/lib/{index.es-CYyuSfPG.mjs → index.es-CF3YY88z.mjs} +3 -3
- package/lib/{index.es-3KAM8l3G.mjs → index.es-CaAL5X4E.mjs} +2 -2
- package/lib/index.js +2 -2
- package/lib/index.mjs +16 -15
- package/lib/lifi.js +1 -1
- package/lib/lifi.mjs +2 -2
- package/lib/mayan.js +1 -1
- package/lib/mayan.mjs +2 -2
- package/lib/{secp256k1-BZFiBDHQ.mjs → secp256k1-1o6o1kFy.mjs} +1 -1
- package/lib/{secp256k1-D3i7kc2M.mjs → secp256k1-BjlnTj1_.mjs} +1 -1
- package/lib/{secp256k1-B2G0zB-5.js → secp256k1-CeYT4ndf.js} +1 -1
- package/lib/{secp256k1-Cteng3v9.mjs → secp256k1-Cw_BiEuN.mjs} +1 -1
- package/lib/{secp256k1-CxjctkO3.js → secp256k1-D5cKS6q_.js} +1 -1
- package/lib/{secp256k1-Bz-QjKBU.js → secp256k1-_QlJc7sK.js} +1 -1
- package/lib/{solana-BE2DAanS.js → solana-DvHFhri3.js} +4 -4
- package/lib/{solana-Df231Yni.mjs → solana-TgPr9kpk.mjs} +8 -8
- package/lib/{solanaEmbed.esm-B9WG-Afi.mjs → solanaEmbed.esm-Bh1-aAL4.mjs} +2 -2
- package/lib/{solanaEmbed.esm-BqcrHrhl.js → solanaEmbed.esm-C8TjRcIV.js} +1 -1
- package/lib/src/telemetry/types.d.ts +2 -1
- package/lib/src/telemetry/types.d.ts.map +1 -1
- package/lib/src/utils/errors.d.ts +1 -0
- package/lib/src/utils/errors.d.ts.map +1 -1
- package/lib/{sui-B9tYcgyb.mjs → sui-CoWRa3vr.mjs} +2 -2
- package/lib/{sui-BVwNcgQT.js → sui-DwFrGd2Y.js} +1 -1
- package/lib/{tokenHelpers-DITWDel1.js → tokenHelpers-CeTyb4rG.js} +1 -1
- package/lib/{tokenHelpers-C53sepsl.mjs → tokenHelpers-VYjmKUxj.mjs} +1 -1
- package/lib/{tokens-CO0YQ3R2.mjs → tokens-D6uJqrsR.mjs} +1 -1
- package/lib/{tokens-CiSHS7oi.js → tokens-mXZqt-qL.js} +1 -1
- package/lib/{w3m-modal-SlcSCSnx.mjs → w3m-modal-BEe8ji9_.mjs} +2 -2
- package/lib/{w3m-modal-5v-rsnN8.mjs → w3m-modal-D3eqrCT1.mjs} +2 -2
- package/lib/{w3m-modal-B0Lu-6W8.js → w3m-modal-Duc13ei7.js} +1 -1
- package/lib/{w3m-modal-B2xHxAWg.js → w3m-modal-f_sUVzPx.js} +1 -1
- package/package.json +1 -1
- package/lib/constants-BCFTvlgh.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const n=require("./unsignedTransaction-qRBv5Cnd.js"),c=require("./platform-DCcL7jHP.js"),Ut=require("./index-BbE02hdW.js"),Xn=BigInt(-1),ce=BigInt(0),_e=BigInt(1),qn=BigInt(5),we={};let Ce="0000";for(;Ce.length<80;)Ce+=Ce;function ge(e){let t=Ce;for(;t.length<e;)t+=t;return BigInt("1"+t.substring(0,e))}function Ee(e,t,a){const r=BigInt(t.width);if(t.signed){const u=_e<<r-_e;c.assert(a==null||e>=-u&&e<u,"overflow","NUMERIC_FAULT",{operation:a,fault:"overflow",value:e}),e>ce?e=c.fromTwos(c.mask(e,r),r):e=-c.fromTwos(c.mask(-e,r),r)}else{const u=_e<<r;c.assert(a==null||e>=0&&e<u,"overflow","NUMERIC_FAULT",{operation:a,fault:"overflow",value:e}),e=(e%u+u)%u&u-_e}return e}function Xt(e){typeof e=="number"&&(e=`fixed128x${e}`);let t=!0,a=128,r=18;if(typeof e=="string"){if(e!=="fixed")if(e==="ufixed")t=!1;else{const s=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);c.assertArgument(s,"invalid fixed format","format",e),t=s[1]!=="u",a=parseInt(s[2]),r=parseInt(s[3])}}else if(e){const s=e,y=(o,p,l)=>s[o]==null?l:(c.assertArgument(typeof s[o]===p,"invalid fixed format ("+o+" not "+p+")","format."+o,s[o]),s[o]);t=y("signed","boolean",t),a=y("width","number",a),r=y("decimals","number",r)}c.assertArgument(a%8===0,"invalid FixedNumber width (not byte aligned)","format.width",a),c.assertArgument(r<=80,"invalid FixedNumber decimals (too large)","format.decimals",r);const u=(t?"":"u")+"fixed"+String(a)+"x"+String(r);return{signed:t,width:a,decimals:r,name:u}}function ea(e,t){let a="";e<ce&&(a="-",e*=Xn);let r=e.toString();if(t===0)return a+r;for(;r.length<=t;)r=Ce+r;const u=r.length-t;for(r=r.substring(0,u)+"."+r.substring(u);r[0]==="0"&&r[1]!==".";)r=r.substring(1);for(;r[r.length-1]==="0"&&r[r.length-2]!==".";)r=r.substring(0,r.length-1);return a+r}class fe{format;#n;#e;#t;_value;constructor(t,a,r){c.assertPrivate(t,we,"FixedNumber"),this.#e=a,this.#n=r;const u=ea(a,r.decimals);c.defineProperties(this,{format:r.name,_value:u}),this.#t=ge(r.decimals)}get signed(){return this.#n.signed}get width(){return this.#n.width}get decimals(){return this.#n.decimals}get value(){return this.#e}#r(t){c.assertArgument(this.format===t.format,"incompatible format; use fixedNumber.toFormat","other",t)}#a(t,a){return t=Ee(t,this.#n,a),new fe(we,t,this.#n)}#i(t,a){return this.#r(t),this.#a(this.#e+t.#e,a)}addUnsafe(t){return this.#i(t)}add(t){return this.#i(t,"add")}#s(t,a){return this.#r(t),this.#a(this.#e-t.#e,a)}subUnsafe(t){return this.#s(t)}sub(t){return this.#s(t,"sub")}#o(t,a){return this.#r(t),this.#a(this.#e*t.#e/this.#t,a)}mulUnsafe(t){return this.#o(t)}mul(t){return this.#o(t,"mul")}mulSignal(t){this.#r(t);const a=this.#e*t.#e;return c.assert(a%this.#t===ce,"precision lost during signalling mul","NUMERIC_FAULT",{operation:"mulSignal",fault:"underflow",value:this}),this.#a(a/this.#t,"mulSignal")}#u(t,a){return c.assert(t.#e!==ce,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#r(t),this.#a(this.#e*this.#t/t.#e,a)}divUnsafe(t){return this.#u(t)}div(t){return this.#u(t,"div")}divSignal(t){c.assert(t.#e!==ce,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#r(t);const a=this.#e*this.#t;return c.assert(a%t.#e===ce,"precision lost during signalling div","NUMERIC_FAULT",{operation:"divSignal",fault:"underflow",value:this}),this.#a(a/t.#e,"divSignal")}cmp(t){let a=this.value,r=t.value;const u=this.decimals-t.decimals;return u>0?r*=ge(u):u<0&&(a*=ge(-u)),a<r?-1:a>r?1:0}eq(t){return this.cmp(t)===0}lt(t){return this.cmp(t)<0}lte(t){return this.cmp(t)<=0}gt(t){return this.cmp(t)>0}gte(t){return this.cmp(t)>=0}floor(){let t=this.#e;return this.#e<ce&&(t-=this.#t-_e),t=this.#e/this.#t*this.#t,this.#a(t,"floor")}ceiling(){let t=this.#e;return this.#e>ce&&(t+=this.#t-_e),t=this.#e/this.#t*this.#t,this.#a(t,"ceiling")}round(t){if(t==null&&(t=0),t>=this.decimals)return this;const a=this.decimals-t,r=qn*ge(a-1);let u=this.value+r;const s=ge(a);return u=u/s*s,Ee(u,this.#n,"round"),new fe(we,u,this.#n)}isZero(){return this.#e===ce}isNegative(){return this.#e<ce}toString(){return this._value}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return fe.fromString(this.toString(),t)}static fromValue(t,a,r){const u=a==null?0:c.getNumber(a),s=Xt(r);let y=c.getBigInt(t,"value");const o=u-s.decimals;if(o>0){const p=ge(o);c.assert(y%p===ce,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:t}),y/=p}else o<0&&(y*=ge(-o));return Ee(y,s,"fromValue"),new fe(we,y,s)}static fromString(t,a){const r=t.match(/^(-?)([0-9]*)\.?([0-9]*)$/);c.assertArgument(r&&r[2].length+r[3].length>0,"invalid FixedNumber string value","value",t);const u=Xt(a);let s=r[2]||"0",y=r[3]||"";for(;y.length<u.decimals;)y+=Ce;c.assert(y.substring(u.decimals).match(/^0*$/),"too many decimals for format","NUMERIC_FAULT",{operation:"fromString",fault:"underflow",value:t}),y=y.substring(0,u.decimals);const o=BigInt(r[1]+s+y);return Ee(o,u,"fromString"),new fe(we,o,u)}static fromBytes(t,a){let r=c.toBigInt(c.getBytes(t,"value"));const u=Xt(a);return u.signed&&(r=c.fromTwos(r,u.width)),Ee(r,u,"fromBytes"),new fe(we,r,u)}}const Dn=["wei","kwei","mwei","gwei","szabo","finney","ether"];function tn(e,t){let a=18;if(typeof t=="string"){const r=Dn.indexOf(t);c.assertArgument(r>=0,"invalid unit","unit",t),a=3*r}else t!=null&&(a=c.getNumber(t,"unit"));return fe.fromValue(e,a,{decimals:a,width:512}).toString()}function xn(e,t){c.assertArgument(typeof e=="string","value must be a string","value",e);let a=18;if(typeof t=="string"){const r=Dn.indexOf(t);c.assertArgument(r>=0,"invalid unit","unit",t),a=3*r}else t!=null&&(a=c.getNumber(t,"unit"));return fe.fromString(e,{decimals:a,width:512}).value}function ta(e){return tn(e,18)}class na extends Error{constructor(){super("Not supported")}}class aa extends Error{constructor(){super("Not connected")}}exports.BaseFeatures=void 0;(function(e){e.SignTransaction="SignTransaction",e.SendTransaction="SendTransaction",e.SignAndSendTransaction="SignAndSendTransaction",e.SignMessage="SignMessage"})(exports.BaseFeatures||(exports.BaseFeatures={}));exports.WalletState=void 0;(function(e){e.Installed="Installed",e.NotDetected="NotDetected",e.Loadable="Loadable",e.Unsupported="Unsupported"})(exports.WalletState||(exports.WalletState={}));class ra extends n.EventEmitter{getWalletState(){return exports.WalletState.Installed}supportsFeature(t){const a=this.getFeatures();return Array.isArray(t)?t.every(r=>a.includes(r)):a.includes(t)}}const ee={unset:0,solana:1,ethereum:2,terra:3,bsc:4,polygon:5,avalanche:6,oasis:7,algorand:8,aurora:9,fantom:10,karura:11,acala:12,klaytn:13,celo:14,near:15,moonbeam:16,neon:17,terra2:18,injective:19,osmosis:20,sui:21,aptos:22,arbitrum:23,optimism:24,gnosis:25,pythnet:26,xpla:28,btc:29,base:30,sei:32,rootstock:33,scroll:34,mantle:35,blast:36,xlayer:37,linea:38,berachain:39,seievm:40,unichain:44,worldchain:45,monad:48,wormchain:3104,cosmoshub:4e3,evmos:4001,kujira:4002,neutron:4003,celestia:4004,stargaze:4005,seda:4006,dymension:4007,provenance:4008,sepolia:10002,arbitrum_sepolia:10003,base_sepolia:10004,optimism_sepolia:10005,holesky:10006,polygon_sepolia:10007};Object.entries(ee).reduce((e,[t,a])=>(e[a]=t,e),{});const ia=ee.solana,Fn=ee.ethereum,sa=ee.bsc,oa=ee.polygon,ua=ee.avalanche,pa=ee.oasis,la=ee.aurora,ya=ee.fantom,ca=ee.karura,da=ee.acala,ma=ee.klaytn,fa=ee.celo,ba=ee.moonbeam,Ta=ee.neon,ha=ee.sui,ga=ee.aptos,wa=ee.arbitrum,Ia=ee.optimism,Aa=ee.gnosis,_a=ee.base,Ca=ee.scroll,Ma=ee.mantle,Sa=ee.blast,Pa=ee.xlayer,ka=ee.worldchain,Ea=ee.unichain,Ra=ee.monad;function va(e){return e===Fn||e===sa||e===ua||e===oa||e===pa||e===la||e===ya||e===ca||e===da||e===ma||e===fa||e===ba||e===Ta||e===wa||e===Ia||e===Aa||e===_a||e===Ca||e===ka||e===Sa||e===Pa||e===Ma||e===Ea||e===Ra}var Ht=(e=>(e.SENDING="sending",e.RECEIVING="receiving",e))(Ht||{});const Oa=e=>e?Ut.config.chainsArr.filter(t=>c.chainToPlatform(t.sdkName)===e).map(t=>t.sdkName):Ut.config.chainsArr.map(t=>t.sdkName),Ba=async(e,t,a,r={})=>{const u=Ut.config.chains[e],s=c.chainToPlatform(u.sdkName);if(s==="Evm")return await(await Promise.resolve().then(()=>require("./evm-BwCfQIyJ.js"))).signAndSendTransaction(t,a,e);if(s==="Solana")return await(await Promise.resolve().then(()=>require("./solana-BE2DAanS.js")).then(p=>p.solana)).signAndSendTransactionWithResends(t,a,r);if(s==="Sui")return(await(await Promise.resolve().then(()=>require("./sui-BVwNcgQT.js"))).signAndSendTransaction(t,a)).id;if(s==="Aptos")return(await(await Promise.resolve().then(()=>require("./aptos-DcdKyekw.js"))).signAndSendTransaction(t,a)).id;throw new Error("unimplemented")},Da=e=>{const t=e.getWalletState();return t!==exports.WalletState.Unsupported&&t!==exports.WalletState.NotDetected},Wt=(e,t,a=[])=>Object.values(e).filter((r,u,s)=>u===s.findIndex(y=>y.getName()===r.getName())).filter(r=>!a.includes(r.getName())).map(r=>{const u=r.getName(),s=u==="WalletConnect"?"Supports Uniswap wallet and 100+ more.":void 0;return{wallet:r,type:t,name:u,icon:r.getIcon(),isReady:Da(r),description:s}});function xa(){return typeof window<"u"&&window.ethereum&&window.ethereum.isNightly===!0}const Fa=async e=>{if(e===void 0)return[];const t=c.chainToPlatform(e.sdkName);if(t==="Evm"){const a=await Promise.resolve().then(()=>require("./evm-BwCfQIyJ.js"));let r=Object.values(Wt(a.getWallets(),t));return xa()&&(r=r.filter(u=>u.name!=="Injected Wallet")),r}else if(t==="Solana"){const r=(await Promise.resolve().then(()=>require("./solana-BE2DAanS.js")).then(u=>u.solana)).fetchOptions(e.sdkName);return Object.values(Wt(r,t))}else if(t==="Sui"){const r=await(await Promise.resolve().then(()=>require("./sui-BVwNcgQT.js"))).fetchOptions();return Object.values(Wt(r,t))}else if(t==="Aptos"){const r=await(await Promise.resolve().then(()=>require("./aptos-DcdKyekw.js"))).fetchOptions();return Object.values(Wt(r,t))}return[]};var Kt={exports:{}},sn;function Na(){return sn||(sn=1,(function(e,t){var a=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof n.commonjsGlobal<"u"&&n.commonjsGlobal,r=(function(){function s(){this.fetch=!1,this.DOMException=a.DOMException}return s.prototype=a,new s})();(function(s){(function(y){var o=typeof s<"u"&&s||typeof self<"u"&&self||typeof n.commonjsGlobal<"u"&&n.commonjsGlobal||{},p={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&(function(){try{return new Blob,!0}catch{return!1}})(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(m){return m&&DataView.prototype.isPrototypeOf(m)}if(p.arrayBuffer)var d=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],b=ArrayBuffer.isView||function(m){return m&&d.indexOf(Object.prototype.toString.call(m))>-1};function g(m){if(typeof m!="string"&&(m=String(m)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(m)||m==="")throw new TypeError('Invalid character in header field name: "'+m+'"');return m.toLowerCase()}function T(m){return typeof m!="string"&&(m=String(m)),m}function f(m){var A={next:function(){var E=m.shift();return{done:E===void 0,value:E}}};return p.iterable&&(A[Symbol.iterator]=function(){return A}),A}function w(m){this.map={},m instanceof w?m.forEach(function(A,E){this.append(E,A)},this):Array.isArray(m)?m.forEach(function(A){if(A.length!=2)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+A.length);this.append(A[0],A[1])},this):m&&Object.getOwnPropertyNames(m).forEach(function(A){this.append(A,m[A])},this)}w.prototype.append=function(m,A){m=g(m),A=T(A);var E=this.map[m];this.map[m]=E?E+", "+A:A},w.prototype.delete=function(m){delete this.map[g(m)]},w.prototype.get=function(m){return m=g(m),this.has(m)?this.map[m]:null},w.prototype.has=function(m){return this.map.hasOwnProperty(g(m))},w.prototype.set=function(m,A){this.map[g(m)]=T(A)},w.prototype.forEach=function(m,A){for(var E in this.map)this.map.hasOwnProperty(E)&&m.call(A,this.map[E],E,this)},w.prototype.keys=function(){var m=[];return this.forEach(function(A,E){m.push(E)}),f(m)},w.prototype.values=function(){var m=[];return this.forEach(function(A){m.push(A)}),f(m)},w.prototype.entries=function(){var m=[];return this.forEach(function(A,E){m.push([E,A])}),f(m)},p.iterable&&(w.prototype[Symbol.iterator]=w.prototype.entries);function I(m){if(!m._noBody){if(m.bodyUsed)return Promise.reject(new TypeError("Already read"));m.bodyUsed=!0}}function _(m){return new Promise(function(A,E){m.onload=function(){A(m.result)},m.onerror=function(){E(m.error)}})}function S(m){var A=new FileReader,E=_(A);return A.readAsArrayBuffer(m),E}function k(m){var A=new FileReader,E=_(A),W=/charset=([A-Za-z0-9_-]+)/.exec(m.type),Q=W?W[1]:"utf-8";return A.readAsText(m,Q),E}function O(m){for(var A=new Uint8Array(m),E=new Array(A.length),W=0;W<A.length;W++)E[W]=String.fromCharCode(A[W]);return E.join("")}function K(m){if(m.slice)return m.slice(0);var A=new Uint8Array(m.byteLength);return A.set(new Uint8Array(m)),A.buffer}function Z(){return this.bodyUsed=!1,this._initBody=function(m){this.bodyUsed=this.bodyUsed,this._bodyInit=m,m?typeof m=="string"?this._bodyText=m:p.blob&&Blob.prototype.isPrototypeOf(m)?this._bodyBlob=m:p.formData&&FormData.prototype.isPrototypeOf(m)?this._bodyFormData=m:p.searchParams&&URLSearchParams.prototype.isPrototypeOf(m)?this._bodyText=m.toString():p.arrayBuffer&&p.blob&&l(m)?(this._bodyArrayBuffer=K(m.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):p.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(m)||b(m))?this._bodyArrayBuffer=K(m):this._bodyText=m=Object.prototype.toString.call(m):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||(typeof m=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):p.searchParams&&URLSearchParams.prototype.isPrototypeOf(m)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},p.blob&&(this.blob=function(){var m=I(this);if(m)return m;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var m=I(this);return m||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}else{if(p.blob)return this.blob().then(S);throw new Error("could not read as ArrayBuffer")}},this.text=function(){var m=I(this);if(m)return m;if(this._bodyBlob)return k(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(O(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},p.formData&&(this.formData=function(){return this.text().then(X)}),this.json=function(){return this.text().then(JSON.parse)},this}var J=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function R(m){var A=m.toUpperCase();return J.indexOf(A)>-1?A:m}function U(m,A){if(!(this instanceof U))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');A=A||{};var E=A.body;if(m instanceof U){if(m.bodyUsed)throw new TypeError("Already read");this.url=m.url,this.credentials=m.credentials,A.headers||(this.headers=new w(m.headers)),this.method=m.method,this.mode=m.mode,this.signal=m.signal,!E&&m._bodyInit!=null&&(E=m._bodyInit,m.bodyUsed=!0)}else this.url=String(m);if(this.credentials=A.credentials||this.credentials||"same-origin",(A.headers||!this.headers)&&(this.headers=new w(A.headers)),this.method=R(A.method||this.method||"GET"),this.mode=A.mode||this.mode||null,this.signal=A.signal||this.signal||(function(){if("AbortController"in o){var j=new AbortController;return j.signal}})(),this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&E)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(E),(this.method==="GET"||this.method==="HEAD")&&(A.cache==="no-store"||A.cache==="no-cache")){var W=/([?&])_=[^&]*/;if(W.test(this.url))this.url=this.url.replace(W,"$1_="+new Date().getTime());else{var Q=/\?/;this.url+=(Q.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}U.prototype.clone=function(){return new U(this,{body:this._bodyInit})};function X(m){var A=new FormData;return m.trim().split("&").forEach(function(E){if(E){var W=E.split("="),Q=W.shift().replace(/\+/g," "),j=W.join("=").replace(/\+/g," ");A.append(decodeURIComponent(Q),decodeURIComponent(j))}}),A}function Y(m){var A=new w,E=m.replace(/\r?\n[\t ]+/g," ");return E.split("\r").map(function(W){return W.indexOf(`
|
|
1
|
+
"use strict";const n=require("./unsignedTransaction-qRBv5Cnd.js"),c=require("./platform-DCcL7jHP.js"),Ut=require("./index-Cb_8WAm1.js"),Xn=BigInt(-1),ce=BigInt(0),_e=BigInt(1),qn=BigInt(5),we={};let Ce="0000";for(;Ce.length<80;)Ce+=Ce;function ge(e){let t=Ce;for(;t.length<e;)t+=t;return BigInt("1"+t.substring(0,e))}function Ee(e,t,a){const r=BigInt(t.width);if(t.signed){const u=_e<<r-_e;c.assert(a==null||e>=-u&&e<u,"overflow","NUMERIC_FAULT",{operation:a,fault:"overflow",value:e}),e>ce?e=c.fromTwos(c.mask(e,r),r):e=-c.fromTwos(c.mask(-e,r),r)}else{const u=_e<<r;c.assert(a==null||e>=0&&e<u,"overflow","NUMERIC_FAULT",{operation:a,fault:"overflow",value:e}),e=(e%u+u)%u&u-_e}return e}function Xt(e){typeof e=="number"&&(e=`fixed128x${e}`);let t=!0,a=128,r=18;if(typeof e=="string"){if(e!=="fixed")if(e==="ufixed")t=!1;else{const s=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);c.assertArgument(s,"invalid fixed format","format",e),t=s[1]!=="u",a=parseInt(s[2]),r=parseInt(s[3])}}else if(e){const s=e,y=(o,p,l)=>s[o]==null?l:(c.assertArgument(typeof s[o]===p,"invalid fixed format ("+o+" not "+p+")","format."+o,s[o]),s[o]);t=y("signed","boolean",t),a=y("width","number",a),r=y("decimals","number",r)}c.assertArgument(a%8===0,"invalid FixedNumber width (not byte aligned)","format.width",a),c.assertArgument(r<=80,"invalid FixedNumber decimals (too large)","format.decimals",r);const u=(t?"":"u")+"fixed"+String(a)+"x"+String(r);return{signed:t,width:a,decimals:r,name:u}}function ea(e,t){let a="";e<ce&&(a="-",e*=Xn);let r=e.toString();if(t===0)return a+r;for(;r.length<=t;)r=Ce+r;const u=r.length-t;for(r=r.substring(0,u)+"."+r.substring(u);r[0]==="0"&&r[1]!==".";)r=r.substring(1);for(;r[r.length-1]==="0"&&r[r.length-2]!==".";)r=r.substring(0,r.length-1);return a+r}class fe{format;#n;#e;#t;_value;constructor(t,a,r){c.assertPrivate(t,we,"FixedNumber"),this.#e=a,this.#n=r;const u=ea(a,r.decimals);c.defineProperties(this,{format:r.name,_value:u}),this.#t=ge(r.decimals)}get signed(){return this.#n.signed}get width(){return this.#n.width}get decimals(){return this.#n.decimals}get value(){return this.#e}#r(t){c.assertArgument(this.format===t.format,"incompatible format; use fixedNumber.toFormat","other",t)}#a(t,a){return t=Ee(t,this.#n,a),new fe(we,t,this.#n)}#i(t,a){return this.#r(t),this.#a(this.#e+t.#e,a)}addUnsafe(t){return this.#i(t)}add(t){return this.#i(t,"add")}#s(t,a){return this.#r(t),this.#a(this.#e-t.#e,a)}subUnsafe(t){return this.#s(t)}sub(t){return this.#s(t,"sub")}#o(t,a){return this.#r(t),this.#a(this.#e*t.#e/this.#t,a)}mulUnsafe(t){return this.#o(t)}mul(t){return this.#o(t,"mul")}mulSignal(t){this.#r(t);const a=this.#e*t.#e;return c.assert(a%this.#t===ce,"precision lost during signalling mul","NUMERIC_FAULT",{operation:"mulSignal",fault:"underflow",value:this}),this.#a(a/this.#t,"mulSignal")}#u(t,a){return c.assert(t.#e!==ce,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#r(t),this.#a(this.#e*this.#t/t.#e,a)}divUnsafe(t){return this.#u(t)}div(t){return this.#u(t,"div")}divSignal(t){c.assert(t.#e!==ce,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#r(t);const a=this.#e*this.#t;return c.assert(a%t.#e===ce,"precision lost during signalling div","NUMERIC_FAULT",{operation:"divSignal",fault:"underflow",value:this}),this.#a(a/t.#e,"divSignal")}cmp(t){let a=this.value,r=t.value;const u=this.decimals-t.decimals;return u>0?r*=ge(u):u<0&&(a*=ge(-u)),a<r?-1:a>r?1:0}eq(t){return this.cmp(t)===0}lt(t){return this.cmp(t)<0}lte(t){return this.cmp(t)<=0}gt(t){return this.cmp(t)>0}gte(t){return this.cmp(t)>=0}floor(){let t=this.#e;return this.#e<ce&&(t-=this.#t-_e),t=this.#e/this.#t*this.#t,this.#a(t,"floor")}ceiling(){let t=this.#e;return this.#e>ce&&(t+=this.#t-_e),t=this.#e/this.#t*this.#t,this.#a(t,"ceiling")}round(t){if(t==null&&(t=0),t>=this.decimals)return this;const a=this.decimals-t,r=qn*ge(a-1);let u=this.value+r;const s=ge(a);return u=u/s*s,Ee(u,this.#n,"round"),new fe(we,u,this.#n)}isZero(){return this.#e===ce}isNegative(){return this.#e<ce}toString(){return this._value}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return fe.fromString(this.toString(),t)}static fromValue(t,a,r){const u=a==null?0:c.getNumber(a),s=Xt(r);let y=c.getBigInt(t,"value");const o=u-s.decimals;if(o>0){const p=ge(o);c.assert(y%p===ce,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:t}),y/=p}else o<0&&(y*=ge(-o));return Ee(y,s,"fromValue"),new fe(we,y,s)}static fromString(t,a){const r=t.match(/^(-?)([0-9]*)\.?([0-9]*)$/);c.assertArgument(r&&r[2].length+r[3].length>0,"invalid FixedNumber string value","value",t);const u=Xt(a);let s=r[2]||"0",y=r[3]||"";for(;y.length<u.decimals;)y+=Ce;c.assert(y.substring(u.decimals).match(/^0*$/),"too many decimals for format","NUMERIC_FAULT",{operation:"fromString",fault:"underflow",value:t}),y=y.substring(0,u.decimals);const o=BigInt(r[1]+s+y);return Ee(o,u,"fromString"),new fe(we,o,u)}static fromBytes(t,a){let r=c.toBigInt(c.getBytes(t,"value"));const u=Xt(a);return u.signed&&(r=c.fromTwos(r,u.width)),Ee(r,u,"fromBytes"),new fe(we,r,u)}}const Dn=["wei","kwei","mwei","gwei","szabo","finney","ether"];function tn(e,t){let a=18;if(typeof t=="string"){const r=Dn.indexOf(t);c.assertArgument(r>=0,"invalid unit","unit",t),a=3*r}else t!=null&&(a=c.getNumber(t,"unit"));return fe.fromValue(e,a,{decimals:a,width:512}).toString()}function xn(e,t){c.assertArgument(typeof e=="string","value must be a string","value",e);let a=18;if(typeof t=="string"){const r=Dn.indexOf(t);c.assertArgument(r>=0,"invalid unit","unit",t),a=3*r}else t!=null&&(a=c.getNumber(t,"unit"));return fe.fromString(e,{decimals:a,width:512}).value}function ta(e){return tn(e,18)}class na extends Error{constructor(){super("Not supported")}}class aa extends Error{constructor(){super("Not connected")}}exports.BaseFeatures=void 0;(function(e){e.SignTransaction="SignTransaction",e.SendTransaction="SendTransaction",e.SignAndSendTransaction="SignAndSendTransaction",e.SignMessage="SignMessage"})(exports.BaseFeatures||(exports.BaseFeatures={}));exports.WalletState=void 0;(function(e){e.Installed="Installed",e.NotDetected="NotDetected",e.Loadable="Loadable",e.Unsupported="Unsupported"})(exports.WalletState||(exports.WalletState={}));class ra extends n.EventEmitter{getWalletState(){return exports.WalletState.Installed}supportsFeature(t){const a=this.getFeatures();return Array.isArray(t)?t.every(r=>a.includes(r)):a.includes(t)}}const ee={unset:0,solana:1,ethereum:2,terra:3,bsc:4,polygon:5,avalanche:6,oasis:7,algorand:8,aurora:9,fantom:10,karura:11,acala:12,klaytn:13,celo:14,near:15,moonbeam:16,neon:17,terra2:18,injective:19,osmosis:20,sui:21,aptos:22,arbitrum:23,optimism:24,gnosis:25,pythnet:26,xpla:28,btc:29,base:30,sei:32,rootstock:33,scroll:34,mantle:35,blast:36,xlayer:37,linea:38,berachain:39,seievm:40,unichain:44,worldchain:45,monad:48,wormchain:3104,cosmoshub:4e3,evmos:4001,kujira:4002,neutron:4003,celestia:4004,stargaze:4005,seda:4006,dymension:4007,provenance:4008,sepolia:10002,arbitrum_sepolia:10003,base_sepolia:10004,optimism_sepolia:10005,holesky:10006,polygon_sepolia:10007};Object.entries(ee).reduce((e,[t,a])=>(e[a]=t,e),{});const ia=ee.solana,Fn=ee.ethereum,sa=ee.bsc,oa=ee.polygon,ua=ee.avalanche,pa=ee.oasis,la=ee.aurora,ya=ee.fantom,ca=ee.karura,da=ee.acala,ma=ee.klaytn,fa=ee.celo,ba=ee.moonbeam,Ta=ee.neon,ha=ee.sui,ga=ee.aptos,wa=ee.arbitrum,Ia=ee.optimism,Aa=ee.gnosis,_a=ee.base,Ca=ee.scroll,Ma=ee.mantle,Sa=ee.blast,Pa=ee.xlayer,ka=ee.worldchain,Ea=ee.unichain,Ra=ee.monad;function va(e){return e===Fn||e===sa||e===ua||e===oa||e===pa||e===la||e===ya||e===ca||e===da||e===ma||e===fa||e===ba||e===Ta||e===wa||e===Ia||e===Aa||e===_a||e===Ca||e===ka||e===Sa||e===Pa||e===Ma||e===Ea||e===Ra}var Ht=(e=>(e.SENDING="sending",e.RECEIVING="receiving",e))(Ht||{});const Oa=e=>e?Ut.config.chainsArr.filter(t=>c.chainToPlatform(t.sdkName)===e).map(t=>t.sdkName):Ut.config.chainsArr.map(t=>t.sdkName),Ba=async(e,t,a,r={})=>{const u=Ut.config.chains[e],s=c.chainToPlatform(u.sdkName);if(s==="Evm")return await(await Promise.resolve().then(()=>require("./evm-BTgO_HRP.js"))).signAndSendTransaction(t,a,e);if(s==="Solana")return await(await Promise.resolve().then(()=>require("./solana-DvHFhri3.js")).then(p=>p.solana)).signAndSendTransactionWithResends(t,a,r);if(s==="Sui")return(await(await Promise.resolve().then(()=>require("./sui-DwFrGd2Y.js"))).signAndSendTransaction(t,a)).id;if(s==="Aptos")return(await(await Promise.resolve().then(()=>require("./aptos-BnjZOhUE.js"))).signAndSendTransaction(t,a)).id;throw new Error("unimplemented")},Da=e=>{const t=e.getWalletState();return t!==exports.WalletState.Unsupported&&t!==exports.WalletState.NotDetected},Wt=(e,t,a=[])=>Object.values(e).filter((r,u,s)=>u===s.findIndex(y=>y.getName()===r.getName())).filter(r=>!a.includes(r.getName())).map(r=>{const u=r.getName(),s=u==="WalletConnect"?"Supports Uniswap wallet and 100+ more.":void 0;return{wallet:r,type:t,name:u,icon:r.getIcon(),isReady:Da(r),description:s}});function xa(){return typeof window<"u"&&window.ethereum&&window.ethereum.isNightly===!0}const Fa=async e=>{if(e===void 0)return[];const t=c.chainToPlatform(e.sdkName);if(t==="Evm"){const a=await Promise.resolve().then(()=>require("./evm-BTgO_HRP.js"));let r=Object.values(Wt(a.getWallets(),t));return xa()&&(r=r.filter(u=>u.name!=="Injected Wallet")),r}else if(t==="Solana"){const r=(await Promise.resolve().then(()=>require("./solana-DvHFhri3.js")).then(u=>u.solana)).fetchOptions(e.sdkName);return Object.values(Wt(r,t))}else if(t==="Sui"){const r=await(await Promise.resolve().then(()=>require("./sui-DwFrGd2Y.js"))).fetchOptions();return Object.values(Wt(r,t))}else if(t==="Aptos"){const r=await(await Promise.resolve().then(()=>require("./aptos-BnjZOhUE.js"))).fetchOptions();return Object.values(Wt(r,t))}return[]};var Kt={exports:{}},sn;function Na(){return sn||(sn=1,(function(e,t){var a=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof n.commonjsGlobal<"u"&&n.commonjsGlobal,r=(function(){function s(){this.fetch=!1,this.DOMException=a.DOMException}return s.prototype=a,new s})();(function(s){(function(y){var o=typeof s<"u"&&s||typeof self<"u"&&self||typeof n.commonjsGlobal<"u"&&n.commonjsGlobal||{},p={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&(function(){try{return new Blob,!0}catch{return!1}})(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(m){return m&&DataView.prototype.isPrototypeOf(m)}if(p.arrayBuffer)var d=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],b=ArrayBuffer.isView||function(m){return m&&d.indexOf(Object.prototype.toString.call(m))>-1};function g(m){if(typeof m!="string"&&(m=String(m)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(m)||m==="")throw new TypeError('Invalid character in header field name: "'+m+'"');return m.toLowerCase()}function T(m){return typeof m!="string"&&(m=String(m)),m}function f(m){var A={next:function(){var E=m.shift();return{done:E===void 0,value:E}}};return p.iterable&&(A[Symbol.iterator]=function(){return A}),A}function w(m){this.map={},m instanceof w?m.forEach(function(A,E){this.append(E,A)},this):Array.isArray(m)?m.forEach(function(A){if(A.length!=2)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+A.length);this.append(A[0],A[1])},this):m&&Object.getOwnPropertyNames(m).forEach(function(A){this.append(A,m[A])},this)}w.prototype.append=function(m,A){m=g(m),A=T(A);var E=this.map[m];this.map[m]=E?E+", "+A:A},w.prototype.delete=function(m){delete this.map[g(m)]},w.prototype.get=function(m){return m=g(m),this.has(m)?this.map[m]:null},w.prototype.has=function(m){return this.map.hasOwnProperty(g(m))},w.prototype.set=function(m,A){this.map[g(m)]=T(A)},w.prototype.forEach=function(m,A){for(var E in this.map)this.map.hasOwnProperty(E)&&m.call(A,this.map[E],E,this)},w.prototype.keys=function(){var m=[];return this.forEach(function(A,E){m.push(E)}),f(m)},w.prototype.values=function(){var m=[];return this.forEach(function(A){m.push(A)}),f(m)},w.prototype.entries=function(){var m=[];return this.forEach(function(A,E){m.push([E,A])}),f(m)},p.iterable&&(w.prototype[Symbol.iterator]=w.prototype.entries);function I(m){if(!m._noBody){if(m.bodyUsed)return Promise.reject(new TypeError("Already read"));m.bodyUsed=!0}}function _(m){return new Promise(function(A,E){m.onload=function(){A(m.result)},m.onerror=function(){E(m.error)}})}function S(m){var A=new FileReader,E=_(A);return A.readAsArrayBuffer(m),E}function k(m){var A=new FileReader,E=_(A),W=/charset=([A-Za-z0-9_-]+)/.exec(m.type),Q=W?W[1]:"utf-8";return A.readAsText(m,Q),E}function O(m){for(var A=new Uint8Array(m),E=new Array(A.length),W=0;W<A.length;W++)E[W]=String.fromCharCode(A[W]);return E.join("")}function K(m){if(m.slice)return m.slice(0);var A=new Uint8Array(m.byteLength);return A.set(new Uint8Array(m)),A.buffer}function Z(){return this.bodyUsed=!1,this._initBody=function(m){this.bodyUsed=this.bodyUsed,this._bodyInit=m,m?typeof m=="string"?this._bodyText=m:p.blob&&Blob.prototype.isPrototypeOf(m)?this._bodyBlob=m:p.formData&&FormData.prototype.isPrototypeOf(m)?this._bodyFormData=m:p.searchParams&&URLSearchParams.prototype.isPrototypeOf(m)?this._bodyText=m.toString():p.arrayBuffer&&p.blob&&l(m)?(this._bodyArrayBuffer=K(m.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):p.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(m)||b(m))?this._bodyArrayBuffer=K(m):this._bodyText=m=Object.prototype.toString.call(m):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||(typeof m=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):p.searchParams&&URLSearchParams.prototype.isPrototypeOf(m)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},p.blob&&(this.blob=function(){var m=I(this);if(m)return m;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var m=I(this);return m||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}else{if(p.blob)return this.blob().then(S);throw new Error("could not read as ArrayBuffer")}},this.text=function(){var m=I(this);if(m)return m;if(this._bodyBlob)return k(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(O(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},p.formData&&(this.formData=function(){return this.text().then(X)}),this.json=function(){return this.text().then(JSON.parse)},this}var J=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function R(m){var A=m.toUpperCase();return J.indexOf(A)>-1?A:m}function U(m,A){if(!(this instanceof U))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');A=A||{};var E=A.body;if(m instanceof U){if(m.bodyUsed)throw new TypeError("Already read");this.url=m.url,this.credentials=m.credentials,A.headers||(this.headers=new w(m.headers)),this.method=m.method,this.mode=m.mode,this.signal=m.signal,!E&&m._bodyInit!=null&&(E=m._bodyInit,m.bodyUsed=!0)}else this.url=String(m);if(this.credentials=A.credentials||this.credentials||"same-origin",(A.headers||!this.headers)&&(this.headers=new w(A.headers)),this.method=R(A.method||this.method||"GET"),this.mode=A.mode||this.mode||null,this.signal=A.signal||this.signal||(function(){if("AbortController"in o){var j=new AbortController;return j.signal}})(),this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&E)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(E),(this.method==="GET"||this.method==="HEAD")&&(A.cache==="no-store"||A.cache==="no-cache")){var W=/([?&])_=[^&]*/;if(W.test(this.url))this.url=this.url.replace(W,"$1_="+new Date().getTime());else{var Q=/\?/;this.url+=(Q.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}U.prototype.clone=function(){return new U(this,{body:this._bodyInit})};function X(m){var A=new FormData;return m.trim().split("&").forEach(function(E){if(E){var W=E.split("="),Q=W.shift().replace(/\+/g," "),j=W.join("=").replace(/\+/g," ");A.append(decodeURIComponent(Q),decodeURIComponent(j))}}),A}function Y(m){var A=new w,E=m.replace(/\r?\n[\t ]+/g," ");return E.split("\r").map(function(W){return W.indexOf(`
|
|
2
2
|
`)===0?W.substr(1,W.length):W}).forEach(function(W){var Q=W.split(":"),j=Q.shift().trim();if(j){var me=Q.join(":").trim();try{A.append(j,me)}catch(te){console.warn("Response "+te.message)}}}),A}Z.call(U.prototype);function N(m,A){if(!(this instanceof N))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(A||(A={}),this.type="default",this.status=A.status===void 0?200:A.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=A.statusText===void 0?"":""+A.statusText,this.headers=new w(A.headers),this.url=A.url||"",this._initBody(m)}Z.call(N.prototype),N.prototype.clone=function(){return new N(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new w(this.headers),url:this.url})},N.error=function(){var m=new N(null,{status:200,statusText:""});return m.ok=!1,m.status=0,m.type="error",m};var ue=[301,302,303,307,308];N.redirect=function(m,A){if(ue.indexOf(A)===-1)throw new RangeError("Invalid status code");return new N(null,{status:A,headers:{location:m}})},y.DOMException=o.DOMException;try{new y.DOMException}catch{y.DOMException=function(A,E){this.message=A,this.name=E;var W=Error(A);this.stack=W.stack},y.DOMException.prototype=Object.create(Error.prototype),y.DOMException.prototype.constructor=y.DOMException}function V(m,A){return new Promise(function(E,W){var Q=new U(m,A);if(Q.signal&&Q.signal.aborted)return W(new y.DOMException("Aborted","AbortError"));var j=new XMLHttpRequest;function me(){j.abort()}j.onload=function(){var ne={statusText:j.statusText,headers:Y(j.getAllResponseHeaders()||"")};Q.url.indexOf("file://")===0&&(j.status<200||j.status>599)?ne.status=200:ne.status=j.status,ne.url="responseURL"in j?j.responseURL:ne.headers.get("X-Request-URL");var i="response"in j?j.response:j.responseText;setTimeout(function(){E(new N(i,ne))},0)},j.onerror=function(){setTimeout(function(){W(new TypeError("Network request failed"))},0)},j.ontimeout=function(){setTimeout(function(){W(new TypeError("Network request timed out"))},0)},j.onabort=function(){setTimeout(function(){W(new y.DOMException("Aborted","AbortError"))},0)};function te(ne){try{return ne===""&&o.location.href?o.location.href:ne}catch{return ne}}if(j.open(Q.method,te(Q.url),!0),Q.credentials==="include"?j.withCredentials=!0:Q.credentials==="omit"&&(j.withCredentials=!1),"responseType"in j&&(p.blob?j.responseType="blob":p.arrayBuffer&&(j.responseType="arraybuffer")),A&&typeof A.headers=="object"&&!(A.headers instanceof w||o.Headers&&A.headers instanceof o.Headers)){var he=[];Object.getOwnPropertyNames(A.headers).forEach(function(ne){he.push(g(ne)),j.setRequestHeader(ne,T(A.headers[ne]))}),Q.headers.forEach(function(ne,i){he.indexOf(i)===-1&&j.setRequestHeader(i,ne)})}else Q.headers.forEach(function(ne,i){j.setRequestHeader(i,ne)});Q.signal&&(Q.signal.addEventListener("abort",me),j.onreadystatechange=function(){j.readyState===4&&Q.signal.removeEventListener("abort",me)}),j.send(typeof Q._bodyInit>"u"?null:Q._bodyInit)})}return V.polyfill=!0,o.fetch||(o.fetch=V,o.Headers=w,o.Request=U,o.Response=N),y.Headers=w,y.Request=U,y.Response=N,y.fetch=V,Object.defineProperty(y,"__esModule",{value:!0}),y})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var u=a.fetch?a:r;t=u.fetch,t.default=u.fetch,t.fetch=u.fetch,t.Headers=u.Headers,t.Request=u.Request,t.Response=u.Response,e.exports=t})(Kt,Kt.exports)),Kt.exports}var Wa=Na();const Se=n.getDefaultExportFromCjs(Wa);var qt={exports:{}},on;function Ka(){return on||(on=1,(function(e){(function(){var t="input is invalid type",a="finalize already called",r=typeof window=="object",u=r?window:{};u.JS_SHA3_NO_WINDOW&&(r=!1);var s=!r&&typeof self=="object",y=!u.JS_SHA3_NO_NODE_JS&&typeof c.process$1=="object"&&c.process$1.versions&&c.process$1.versions.node;y?u=n.commonjsGlobal:s&&(u=self);var o=!u.JS_SHA3_NO_COMMON_JS&&!0&&e.exports,p=!u.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",l="0123456789abcdef".split(""),d=[31,7936,2031616,520093696],b=[4,1024,262144,67108864],g=[1,256,65536,16777216],T=[6,1536,393216,100663296],f=[0,8,16,24],w=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],I=[224,256,384,512],_=[128,256],S=["hex","buffer","arrayBuffer","array","digest"],k={128:168,256:136};(u.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(i){return Object.prototype.toString.call(i)==="[object Array]"}),p&&(u.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(i){return typeof i=="object"&&i.buffer&&i.buffer.constructor===ArrayBuffer});for(var O=function(i,C,M){return function(P){return new te(i,C,i).update(P)[M]()}},K=function(i,C,M){return function(P,D){return new te(i,C,D).update(P)[M]()}},Z=function(i,C,M){return function(P,D,F,H){return V["cshake"+i].update(P,D,F,H)[M]()}},J=function(i,C,M){return function(P,D,F,H){return V["kmac"+i].update(P,D,F,H)[M]()}},R=function(i,C,M,P){for(var D=0;D<S.length;++D){var F=S[D];i[F]=C(M,P,F)}return i},U=function(i,C){var M=O(i,C,"hex");return M.create=function(){return new te(i,C,i)},M.update=function(P){return M.create().update(P)},R(M,O,i,C)},X=function(i,C){var M=K(i,C,"hex");return M.create=function(P){return new te(i,C,P)},M.update=function(P,D){return M.create(D).update(P)},R(M,K,i,C)},Y=function(i,C){var M=k[i],P=Z(i,C,"hex");return P.create=function(D,F,H){return!F&&!H?V["shake"+i].create(D):new te(i,C,D).bytepad([F,H],M)},P.update=function(D,F,H,L){return P.create(F,H,L).update(D)},R(P,Z,i,C)},N=function(i,C){var M=k[i],P=J(i,C,"hex");return P.create=function(D,F,H){return new he(i,C,F).bytepad(["KMAC",H],M).bytepad([D],M)},P.update=function(D,F,H,L){return P.create(D,H,L).update(F)},R(P,J,i,C)},ue=[{name:"keccak",padding:g,bits:I,createMethod:U},{name:"sha3",padding:T,bits:I,createMethod:U},{name:"shake",padding:d,bits:_,createMethod:X},{name:"cshake",padding:b,bits:_,createMethod:Y},{name:"kmac",padding:b,bits:_,createMethod:N}],V={},m=[],A=0;A<ue.length;++A)for(var E=ue[A],W=E.bits,Q=0;Q<W.length;++Q){var j=E.name+"_"+W[Q];if(m.push(j),V[j]=E.createMethod(W[Q],E.padding),E.name!=="sha3"){var me=E.name+W[Q];m.push(me),V[me]=V[j]}}function te(i,C,M){this.blocks=[],this.s=[],this.padding=C,this.outputBits=M,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(i<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=M>>5,this.extraBytes=(M&31)>>3;for(var P=0;P<50;++P)this.s[P]=0}te.prototype.update=function(i){if(this.finalized)throw new Error(a);var C,M=typeof i;if(M!=="string"){if(M==="object"){if(i===null)throw new Error(t);if(p&&i.constructor===ArrayBuffer)i=new Uint8Array(i);else if(!Array.isArray(i)&&(!p||!ArrayBuffer.isView(i)))throw new Error(t)}else throw new Error(t);C=!0}for(var P=this.blocks,D=this.byteCount,F=i.length,H=this.blockCount,L=0,se=this.s,$,ie;L<F;){if(this.reset)for(this.reset=!1,P[0]=this.block,$=1;$<H+1;++$)P[$]=0;if(C)for($=this.start;L<F&&$<D;++L)P[$>>2]|=i[L]<<f[$++&3];else for($=this.start;L<F&&$<D;++L)ie=i.charCodeAt(L),ie<128?P[$>>2]|=ie<<f[$++&3]:ie<2048?(P[$>>2]|=(192|ie>>6)<<f[$++&3],P[$>>2]|=(128|ie&63)<<f[$++&3]):ie<55296||ie>=57344?(P[$>>2]|=(224|ie>>12)<<f[$++&3],P[$>>2]|=(128|ie>>6&63)<<f[$++&3],P[$>>2]|=(128|ie&63)<<f[$++&3]):(ie=65536+((ie&1023)<<10|i.charCodeAt(++L)&1023),P[$>>2]|=(240|ie>>18)<<f[$++&3],P[$>>2]|=(128|ie>>12&63)<<f[$++&3],P[$>>2]|=(128|ie>>6&63)<<f[$++&3],P[$>>2]|=(128|ie&63)<<f[$++&3]);if(this.lastByteIndex=$,$>=D){for(this.start=$-D,this.block=P[H],$=0;$<H;++$)se[$]^=P[$];ne(se),this.reset=!0}else this.start=$}return this},te.prototype.encode=function(i,C){var M=i&255,P=1,D=[M];for(i=i>>8,M=i&255;M>0;)D.unshift(M),i=i>>8,M=i&255,++P;return C?D.push(P):D.unshift(P),this.update(D),D.length},te.prototype.encodeString=function(i){var C,M=typeof i;if(M!=="string"){if(M==="object"){if(i===null)throw new Error(t);if(p&&i.constructor===ArrayBuffer)i=new Uint8Array(i);else if(!Array.isArray(i)&&(!p||!ArrayBuffer.isView(i)))throw new Error(t)}else throw new Error(t);C=!0}var P=0,D=i.length;if(C)P=D;else for(var F=0;F<i.length;++F){var H=i.charCodeAt(F);H<128?P+=1:H<2048?P+=2:H<55296||H>=57344?P+=3:(H=65536+((H&1023)<<10|i.charCodeAt(++F)&1023),P+=4)}return P+=this.encode(P*8),this.update(i),P},te.prototype.bytepad=function(i,C){for(var M=this.encode(C),P=0;P<i.length;++P)M+=this.encodeString(i[P]);var D=C-M%C,F=[];return F.length=D,this.update(F),this},te.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var i=this.blocks,C=this.lastByteIndex,M=this.blockCount,P=this.s;if(i[C>>2]|=this.padding[C&3],this.lastByteIndex===this.byteCount)for(i[0]=i[M],C=1;C<M+1;++C)i[C]=0;for(i[M-1]|=2147483648,C=0;C<M;++C)P[C]^=i[C];ne(P)}},te.prototype.toString=te.prototype.hex=function(){this.finalize();for(var i=this.blockCount,C=this.s,M=this.outputBlocks,P=this.extraBytes,D=0,F=0,H="",L;F<M;){for(D=0;D<i&&F<M;++D,++F)L=C[D],H+=l[L>>4&15]+l[L&15]+l[L>>12&15]+l[L>>8&15]+l[L>>20&15]+l[L>>16&15]+l[L>>28&15]+l[L>>24&15];F%i===0&&(ne(C),D=0)}return P&&(L=C[D],H+=l[L>>4&15]+l[L&15],P>1&&(H+=l[L>>12&15]+l[L>>8&15]),P>2&&(H+=l[L>>20&15]+l[L>>16&15])),H},te.prototype.arrayBuffer=function(){this.finalize();var i=this.blockCount,C=this.s,M=this.outputBlocks,P=this.extraBytes,D=0,F=0,H=this.outputBits>>3,L;P?L=new ArrayBuffer(M+1<<2):L=new ArrayBuffer(H);for(var se=new Uint32Array(L);F<M;){for(D=0;D<i&&F<M;++D,++F)se[F]=C[D];F%i===0&&ne(C)}return P&&(se[D]=C[D],L=L.slice(0,H)),L},te.prototype.buffer=te.prototype.arrayBuffer,te.prototype.digest=te.prototype.array=function(){this.finalize();for(var i=this.blockCount,C=this.s,M=this.outputBlocks,P=this.extraBytes,D=0,F=0,H=[],L,se;F<M;){for(D=0;D<i&&F<M;++D,++F)L=F<<2,se=C[D],H[L]=se&255,H[L+1]=se>>8&255,H[L+2]=se>>16&255,H[L+3]=se>>24&255;F%i===0&&ne(C)}return P&&(L=F<<2,se=C[D],H[L]=se&255,P>1&&(H[L+1]=se>>8&255),P>2&&(H[L+2]=se>>16&255)),H};function he(i,C,M){te.call(this,i,C,M)}he.prototype=new te,he.prototype.finalize=function(){return this.encode(this.outputBits,!0),te.prototype.finalize.call(this)};var ne=function(i){var C,M,P,D,F,H,L,se,$,ie,Ke,Le,Ue,He,Ge,Ve,$e,je,Ye,ze,Ze,Qe,Je,Xe,qe,et,tt,nt,at,rt,it,st,ot,ut,pt,lt,yt,ct,dt,mt,ft,bt,Tt,ht,gt,wt,It,At,_t,Ct,Mt,St,Pt,kt,Et,Rt,vt,Ot,Bt,Dt,xt,Ft,Nt;for(P=0;P<48;P+=2)D=i[0]^i[10]^i[20]^i[30]^i[40],F=i[1]^i[11]^i[21]^i[31]^i[41],H=i[2]^i[12]^i[22]^i[32]^i[42],L=i[3]^i[13]^i[23]^i[33]^i[43],se=i[4]^i[14]^i[24]^i[34]^i[44],$=i[5]^i[15]^i[25]^i[35]^i[45],ie=i[6]^i[16]^i[26]^i[36]^i[46],Ke=i[7]^i[17]^i[27]^i[37]^i[47],Le=i[8]^i[18]^i[28]^i[38]^i[48],Ue=i[9]^i[19]^i[29]^i[39]^i[49],C=Le^(H<<1|L>>>31),M=Ue^(L<<1|H>>>31),i[0]^=C,i[1]^=M,i[10]^=C,i[11]^=M,i[20]^=C,i[21]^=M,i[30]^=C,i[31]^=M,i[40]^=C,i[41]^=M,C=D^(se<<1|$>>>31),M=F^($<<1|se>>>31),i[2]^=C,i[3]^=M,i[12]^=C,i[13]^=M,i[22]^=C,i[23]^=M,i[32]^=C,i[33]^=M,i[42]^=C,i[43]^=M,C=H^(ie<<1|Ke>>>31),M=L^(Ke<<1|ie>>>31),i[4]^=C,i[5]^=M,i[14]^=C,i[15]^=M,i[24]^=C,i[25]^=M,i[34]^=C,i[35]^=M,i[44]^=C,i[45]^=M,C=se^(Le<<1|Ue>>>31),M=$^(Ue<<1|Le>>>31),i[6]^=C,i[7]^=M,i[16]^=C,i[17]^=M,i[26]^=C,i[27]^=M,i[36]^=C,i[37]^=M,i[46]^=C,i[47]^=M,C=ie^(D<<1|F>>>31),M=Ke^(F<<1|D>>>31),i[8]^=C,i[9]^=M,i[18]^=C,i[19]^=M,i[28]^=C,i[29]^=M,i[38]^=C,i[39]^=M,i[48]^=C,i[49]^=M,He=i[0],Ge=i[1],wt=i[11]<<4|i[10]>>>28,It=i[10]<<4|i[11]>>>28,nt=i[20]<<3|i[21]>>>29,at=i[21]<<3|i[20]>>>29,Dt=i[31]<<9|i[30]>>>23,xt=i[30]<<9|i[31]>>>23,bt=i[40]<<18|i[41]>>>14,Tt=i[41]<<18|i[40]>>>14,ut=i[2]<<1|i[3]>>>31,pt=i[3]<<1|i[2]>>>31,Ve=i[13]<<12|i[12]>>>20,$e=i[12]<<12|i[13]>>>20,At=i[22]<<10|i[23]>>>22,_t=i[23]<<10|i[22]>>>22,rt=i[33]<<13|i[32]>>>19,it=i[32]<<13|i[33]>>>19,Ft=i[42]<<2|i[43]>>>30,Nt=i[43]<<2|i[42]>>>30,kt=i[5]<<30|i[4]>>>2,Et=i[4]<<30|i[5]>>>2,lt=i[14]<<6|i[15]>>>26,yt=i[15]<<6|i[14]>>>26,je=i[25]<<11|i[24]>>>21,Ye=i[24]<<11|i[25]>>>21,Ct=i[34]<<15|i[35]>>>17,Mt=i[35]<<15|i[34]>>>17,st=i[45]<<29|i[44]>>>3,ot=i[44]<<29|i[45]>>>3,Xe=i[6]<<28|i[7]>>>4,qe=i[7]<<28|i[6]>>>4,Rt=i[17]<<23|i[16]>>>9,vt=i[16]<<23|i[17]>>>9,ct=i[26]<<25|i[27]>>>7,dt=i[27]<<25|i[26]>>>7,ze=i[36]<<21|i[37]>>>11,Ze=i[37]<<21|i[36]>>>11,St=i[47]<<24|i[46]>>>8,Pt=i[46]<<24|i[47]>>>8,ht=i[8]<<27|i[9]>>>5,gt=i[9]<<27|i[8]>>>5,et=i[18]<<20|i[19]>>>12,tt=i[19]<<20|i[18]>>>12,Ot=i[29]<<7|i[28]>>>25,Bt=i[28]<<7|i[29]>>>25,mt=i[38]<<8|i[39]>>>24,ft=i[39]<<8|i[38]>>>24,Qe=i[48]<<14|i[49]>>>18,Je=i[49]<<14|i[48]>>>18,i[0]=He^~Ve&je,i[1]=Ge^~$e&Ye,i[10]=Xe^~et&nt,i[11]=qe^~tt&at,i[20]=ut^~lt&ct,i[21]=pt^~yt&dt,i[30]=ht^~wt&At,i[31]=gt^~It&_t,i[40]=kt^~Rt&Ot,i[41]=Et^~vt&Bt,i[2]=Ve^~je&ze,i[3]=$e^~Ye&Ze,i[12]=et^~nt&rt,i[13]=tt^~at&it,i[22]=lt^~ct&mt,i[23]=yt^~dt&ft,i[32]=wt^~At&Ct,i[33]=It^~_t&Mt,i[42]=Rt^~Ot&Dt,i[43]=vt^~Bt&xt,i[4]=je^~ze&Qe,i[5]=Ye^~Ze&Je,i[14]=nt^~rt&st,i[15]=at^~it&ot,i[24]=ct^~mt&bt,i[25]=dt^~ft&Tt,i[34]=At^~Ct&St,i[35]=_t^~Mt&Pt,i[44]=Ot^~Dt&Ft,i[45]=Bt^~xt&Nt,i[6]=ze^~Qe&He,i[7]=Ze^~Je&Ge,i[16]=rt^~st&Xe,i[17]=it^~ot&qe,i[26]=mt^~bt&ut,i[27]=ft^~Tt&pt,i[36]=Ct^~St&ht,i[37]=Mt^~Pt>,i[46]=Dt^~Ft&kt,i[47]=xt^~Nt&Et,i[8]=Qe^~He&Ve,i[9]=Je^~Ge&$e,i[18]=st^~Xe&et,i[19]=ot^~qe&tt,i[28]=bt^~ut<,i[29]=Tt^~pt&yt,i[38]=St^~ht&wt,i[39]=Pt^~gt&It,i[48]=Ft^~kt&Rt,i[49]=Nt^~Et&vt,i[0]^=w[P],i[1]^=w[P+1]};if(o)e.exports=V;else for(A=0;A<m.length;++A)u[m[A]]=V[m[A]]})()})(qt)),qt.exports}var La=Ka();function Ua(e){if(e.length>=255)throw new TypeError("Alphabet too long");const t=new Uint8Array(256);for(let l=0;l<t.length;l++)t[l]=255;for(let l=0;l<e.length;l++){const d=e.charAt(l),b=d.charCodeAt(0);if(t[b]!==255)throw new TypeError(d+" is ambiguous");t[b]=l}const a=e.length,r=e.charAt(0),u=Math.log(a)/Math.log(256),s=Math.log(256)/Math.log(a);function y(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";let d=0,b=0,g=0;const T=l.length;for(;g!==T&&l[g]===0;)g++,d++;const f=(T-g)*s+1>>>0,w=new Uint8Array(f);for(;g!==T;){let S=l[g],k=0;for(let O=f-1;(S!==0||k<b)&&O!==-1;O--,k++)S+=256*w[O]>>>0,w[O]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");b=k,g++}let I=f-b;for(;I!==f&&w[I]===0;)I++;let _=r.repeat(d);for(;I<f;++I)_+=e.charAt(w[I]);return _}function o(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;let d=0,b=0,g=0;for(;l[d]===r;)b++,d++;const T=(l.length-d)*u+1>>>0,f=new Uint8Array(T);for(;d<l.length;){const S=l.charCodeAt(d);if(S>255)return;let k=t[S];if(k===255)return;let O=0;for(let K=T-1;(k!==0||O<g)&&K!==-1;K--,O++)k+=a*f[K]>>>0,f[K]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");g=O,d++}let w=T-g;for(;w!==T&&f[w]===0;)w++;const I=new Uint8Array(b+(T-w));let _=b;for(;w!==T;)I[_++]=f[w++];return I}function p(l){const d=o(l);if(d)return d;throw new Error("Non-base"+a+" character")}return{encode:y,decodeUnsafe:o,decode:p}}var Ha="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";Ua(Ha);var h={MAYAN_FORWARDER_CONTRACT:"0x337685fdaB40D39bd02028545a4FfA7D287cC3E2",MAYAN_PROGRAM_ID:"FC4eXxkyrMPTjiYUpp4EAnkmwMbQyZ6NDCh1kfLn6vsf",AUCTION_PROGRAM_ID:"8QJmxZcEzwuYmCPy6XqgN2sHcYCcFq6AEfBMJZZuLo5a",MCTP_PROGRAM_ID:"dkpZqrxHFrhziEMQ931GLtfy11nFkCsfMftH9u6QwBU",FAST_MCTP_PROGRAM_ID:"Gx9rivpS3YR8pBFwMuP6omYqVxunpLvLkNn7ubNyuZZ5",SWIFT_PROGRAM_ID:"BLZRi6frs4X4DNLw56V4EXai1b6QVESN1BhHBTYM9VcY",SWIFT_V2_PROGRAM_ID:"92peaC8g5ANAxpK2aCfLTC12JgPncRKCGULQNB2DMvRH",FEE_MANAGER_PROGRAM_ID:"5VtQHnhs2pfVEr68qQsbTRwKh4JV5GTu9mBHgHFxpHeQ",WORMHOLE_PROGRAM_ID:"worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth",WORMHOLE_PROGRAM_ID_FOGO:"worm2mrQkG1B1KTz37erMfWN8anHkSK24nzca7UD8BB",WORMHOLE_SHIM_POST_MESSAGE_PROGRAM_ID:"EtZMZM22ViKMo4r5y4Anovs3wKQ2owUmDpjygnMMcdEX",CCTP_CORE_PROGRAM_ID:"CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd",CCTPV2_CORE_PROGRAM_ID:"CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC",CCTP_TOKEN_PROGRAM_ID:"CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3",CCTPV2_TOKEN_PROGRAM_ID:"CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe",TOKEN_PROGRAM_ID:"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",TOKEN_2022_PROGRAM_ID:"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",ASSOCIATED_TOKEN_PROGRAM_ID:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",SPL_UTILS_PROGRAM_ID:"B96dV3Luxzo6SokJx3xt8i5y8Mb7HRR6Eec8hCjJDT69",LOOKUP_TABLE_SOLANA:"Ff3yi1meWQQ19VPZMzGg6H8JQQeRudiV7QtVtyzJyoht",LOOKUP_TABLE_FOGO:"ZnLmtY5qckPcBQfdD4uKh9GtiQTrzQfQXEX86U3aLq7",SUI_MCTP_STATE:"0xb787fe0f7530b4fd2162fa0cc92f4f6c5a97c54b4c5c55eb04ab29f4b803ac9c",SUI_MCTP_FEE_MANAGER_STATE:"0xa1b4a96ce93d36dd0bbce0adc39533a07d2f32928918c80cd6fe7868320978f2",SUI_SWIFT_STATE:"0x7ac01a7c14c53098a41593c7623823bb677b5201fb3ee35b75b47cfc6c6c6f40",SUI_SWIFT_FEE_MANAGER_STATE:"0xe42174b6d742f40bd2b67b967542b21e6d7433f2d277a80bb59866ac73ff3f52",SUI_CCTP_CORE_PACKAGE_ID:"0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b",SUI_CCTP_CORE_STATE:"0xf68268c3d9b1df3215f2439400c1c4ea08ac4ef4bb7d6f3ca6a2a239e17510af",SUI_CCTP_TOKEN_PACKAGE_ID:"0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e",SUI_CCTP_TOKEN_STATE:"0x45993eecc0382f37419864992c12faee2238f5cfe22b98ad3bf455baf65c8a2f",SUI_WORMHOLE_PACKAGE_ID:"0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a",SUI_WORMHOLE_STATE:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",SUI_LOGGER_PACKAGE_ID:"0x05680e9030c147b413a489f7891273acc221d49bd061c433e5771bc170fc37ac",EXPLORER_URL:"https://explorer-api.mayan.finance/v3",PRICE_URL:"https://price-api.mayan.finance/v3",RELAYER_URL:"https://relayer-api.mayan.finance/v3",SWIFT_RELAYER_URL:"https://swift-relayer-api.mayan.finance/v3",GAS_ESTIMATE_URL:"https://gas-estimate.mayan.finance/v2",HC_ARBITRUM_BRIDGE:"0x2df1c51e09aecf9cacb7bc98cb1742757f163df7",HC_ARBITRUM_DEPOSIT_PROCESSOR:"0xdDd77e62C848C3334f1148d4F1457FC59ede4E4B",ARBITRUM_USDC_CONTRACT:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",PAYLOAD_WRITER_PROGRAM_ID:"DwMLtdtJqJQkHzNcrdTBuWHJByJfgpKBnvFvzyKdy3cU",CPI_PROXY_PROGRAM_ID:"D8C8iW6zmoKg5TRr8nQ7h14TMWqQX8FiBdj2ju5MF3wa"},Nn={abi:[{inputs:[],name:"ECDSAInvalidSignature",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"ECDSAInvalidSignatureLength",type:"error"},{inputs:[{internalType:"bytes32",name:"s",type:"bytes32"}],name:"ECDSAInvalidSignatureS",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"ERC2612ExpiredSignature",type:"error"},{inputs:[{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"ERC2612InvalidSigner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"currentNonce",type:"uint256"}],name:"InvalidAccountNonce",type:"error"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{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:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}]},Ga=La.sha3_256,Va=e=>/^(0x)?[0-9a-fA-F]+::\w+::\w+$/.test(e);function x(e,t){if(t===pe.solana||t===pe.fogo)return c.zeroPadValue(new n.PublicKey(e).toBytes(),32);if(t===pe.ethereum||t===pe.bsc||t===pe.polygon||t===pe.avalanche||t===pe.arbitrum||t===pe.optimism||t===pe.base||t===pe.unichain||t===pe.linea||t===pe.sonic||t===pe.hyperevm||t===pe.monad)return c.zeroPadValue(e,32);if(t===pe.aptos&&Va(e))return`0x${Ga(e)}`;if(t===pe.sui||t===pe.ton){let a=e.startsWith("0x")?e.substring(2):e;if(c.Buffer$1.from(a,"hex").length!==32)throw new Error("Invalid address: "+e);return c.zeroPadValue(e,32)}else throw console.log(`Unsupported chain id: ${t}`,e),new Error("Unsupported token chain")}function ae(e){return new Uint8Array(c.Buffer$1.from(e.startsWith("0x")?e.substring(2):e,"hex"))}function q(e,t,a=!1,r=new n.PublicKey(h.TOKEN_PROGRAM_ID),u=new n.PublicKey(h.ASSOCIATED_TOKEN_PROGRAM_ID)){if(!a&&!n.PublicKey.isOnCurve(t.toBuffer()))throw new Error("TokenOwnerOffCurveError");const[s]=n.PublicKey.findProgramAddressSync([t.toBuffer(),r.toBuffer(),e.toBuffer()],u);return s}function $a(e){return(typeof e=="string"||typeof e=="number")&&e!==""&&e!==null&&!isNaN(Number(e))&&Number.isFinite(Number(e))}function B(e,t){if(e==null)throw new Error("getAmountOfFractionalAmount: Amount is null or undefined");if(typeof e!="string"&&typeof e!="number")throw new Error("getAmountOfFractionalAmount: Amount is not a string or number");if(typeof e=="string"&&e.length===0)throw new Error("getAmountOfFractionalAmount: Amount is empty");if(!Number.isFinite(Number(e)))throw new Error("getAmountOfFractionalAmount: Amount is not a number");if(!$a(t))throw new Error("getAmountOfFractionalAmount: decimals is not a number");const a=Math.min(8,Number(t)),r=Number(e).toFixed(a+1),u=new RegExp(`^-?\\d+(?:\\.\\d{0,${a}})?`),s=r.match(u);if(!s)throw new Error("getAmountOfFractionalAmount: fixedAmount is null");const y=s[0];return xn(y,Number(t))}function ja(e,t){return Number(tn(e,t))}var pe={solana:1,ethereum:2,bsc:4,polygon:5,avalanche:6,arbitrum:23,optimism:24,base:30,aptos:22,sui:21,ton:13,unichain:44,linea:38,hypercore:65e3,sonic:52,hyperevm:47,fogo:51,monad:48};function G(e){return pe[e]}var Ya={1:2,56:4,137:5,43114:6,42161:23,10:24,8453:30,130:44,59144:38,146:52,999:47,143:48};function Te(e){return Ya[e]}var za=[12,0,0];function Oe(){return za.join("_")}function oe(e){return e==="solana"||e==="sui"||e==="ton"?9:18}function Za(e){return e==="solana"?9:8}var Qa=BigInt(2)**BigInt(64)-BigInt(1);function z(e){if(e<BigInt(0)||e>Qa)throw new Error(`Invalid u64: ${e}`);const t=c.Buffer$1.alloc(8);return t.writeBigUInt64LE(e),t}var Pe={value:BigInt(0),deadline:0,v:0,r:`0x${n.SystemProgram.programId.toBuffer().toString("hex")}`,s:`0x${n.SystemProgram.programId.toBuffer().toString("hex")}`};function nn(e,t){if(!e||!t)return null;if(e.type==="WH")return t?.solana||null;if(e.type==="MCTP")return e.toChain==="solana"?t?.solana||null:e.toChain==="sui"?t?.sui||null:t?.evm||null;if(e.type==="SWIFT"){if(e.swiftVersion==="V2")return e.fromChain==="solana"||e.fromChain==="fogo"?t?.solana||null:e.fromChain==="sui"?t?.sui||null:t?.evm||null;if(e.toChain==="solana")return t?.solana||null;if(e.toChain==="sui")throw new Error("Swift V1 does not support SUI");return t?.evm||null}if(e.type==="FAST_MCTP"){if(e.toChain==="solana")return t?.solana||null;if(e.toChain!=="sui")return t?.evm||null}return e.type==="MONO_CHAIN"?e.fromChain==="solana"?t?.solana||null:e.fromChain==="sui"?t?.sui||null:t?.evm||null:null}var Wn=1,Ja=2,Xa=1,qa=1,er=3,Kn=1;async function tr(e,t){const a=new c.Contract(e.contract,Nn.abi,t);let r,u;try{let[y,o]=await Promise.all([a.DOMAIN_SEPARATOR(),a.name()]);r=y,u=o}catch{throw{mayanError:{permitIssue:!0}}}const s={name:u,version:"1",chainId:e.chainId,verifyingContract:e.contract};for(let y=1;y<11;y++)if(s.version=String(y),c.TypedDataEncoder.hashDomain(s).toLowerCase()===r.toLowerCase())return s;throw{mayanError:{permitIssue:!0}}}var nr={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]};async function ar(e,t,a,r,u,s){const y=new c.Contract(e.contract,Nn.abi,u),[o,p]=await Promise.all([tr(e,u),y.nonces(t)]);return{domain:o,types:nr,value:{owner:t,spender:a,nonce:String(p),value:String(r),deadline:String(s)}}}async function rr(e,t,a){if(!e.hyperCoreParams)throw new Error("Quote does not have hyperCoreParams");if(e.toChain!=="hypercore")throw new Error("Quote toChain is not hypercore");if(e.toToken.contract.toLowerCase()!==h.ARBITRUM_USDC_CONTRACT.toLowerCase())throw new Error("Quote toToken is not USDC on Arbitrum");const r={contract:"0xaf88d065e77c8cc2239327c5edb3a432268e5831",chainId:42161},[u,s]=await Promise.all([ar(r,t,h.HC_ARBITRUM_BRIDGE,BigInt(e.hyperCoreParams.depositAmountUSDC64),a,BigInt(e.deadline64)),or(t,e.toToken.contract)]);if(!s)throw new Error("Because of concurrency, deposit is not possible at the moment, please try again later");return u}function Ln(e,t,a){const r=c.Buffer$1.alloc(109),u=c.Buffer$1.from(ae(t));if(u.length!==20)throw new Error("Invalid destination address length, expected 20 bytes");const s=c.Buffer$1.from(ae(a));if(s.length!==65)throw new Error("Invalid USDC permit signature length, expected 65 bytes");return r.writeBigUInt64BE(BigInt(e.redeemRelayerFee64),0),r.set(u,8),r.writeBigUInt64BE(BigInt(e.hyperCoreParams.depositAmountUSDC64),28),r.writeBigUInt64BE(BigInt(e.deadline64),36),r.set(s,44),r}function an(e){return e.toChain==="sui"?x(e.toToken.verifiedAddress,G("sui")):e.toChain==="ton"?e.toToken.contract===c.ZeroAddress?x(n.SystemProgram.programId.toString(),G("solana")):e.toToken.verifiedAddress:e.toToken.contract===c.ZeroAddress?x(n.SystemProgram.programId.toString(),G("solana")):x(e.toToken.contract,G(e.toChain))}function Me(e,t){if(e==="ton"){if(t!=="SWIFT")throw new Error("Unsupported quote type for Tonchain destination");return 1/0}return 8}function Un(e){try{const t=c.Buffer$1.from(e.quoteId.startsWith("0x")?e.quoteId.substring(2):e.quoteId,"hex");if(t.length<32){const a=n.Keypair.generate().publicKey.toBytes();return c.Buffer$1.concat([t,a.slice(0,32-t.length)])}return t.subarray(0,32)}catch{}return n.Keypair.generate().publicKey.toBuffer()}function zt(e){return Object.entries(e).filter(([t,a])=>a!=null&&!Array.isArray(a)).map(([t,a])=>`${encodeURIComponent(t)}=${encodeURIComponent(a)}`).join("&")}async function Be(e){if(e.status.toString().startsWith("5")){let t;try{const a=await e.json();(a?.code||a?.statusCode)&&(a?.message||a?.msg)&&(t={code:a?.code||a?.statusCode,message:a?.message||a?.msg})}catch{t=new Error("Internal server error")}throw t}}function ir(e,t={wormhole:!0,swift:!0,mctp:!0,shuttle:!0,gasless:!1,onlyDirect:!1,fastMctp:!0,fullList:!1,payload:void 0,monoChain:!0}){const{gasDrop:a,referrerBps:r}=e;let u=e.slippageBps;const y={...{wormhole:t.wormhole!==!1,swift:t.swift!==!1,mctp:t.mctp!==!1,shuttle:t.shuttle===!0,fastMctp:t.fastMctp!==!1,gasless:t.gasless===!0,onlyDirect:t.onlyDirect===!0,fullList:t.fullList===!0,payload:typeof t.payload=="string"?t.payload:void 0,monoChain:t.monoChain!==!1},solanaProgram:h.MAYAN_PROGRAM_ID,forwarderAddress:h.MAYAN_FORWARDER_CONTRACT,amountIn:!e.amountIn64&&Number.isFinite(e.amount)?e.amount:void 0,amountIn64:e.amountIn64,fromToken:e.fromToken,fromChain:e.fromChain,toToken:e.toToken,toChain:e.toChain,slippageBps:u,referrer:e.referrer,referrerBps:Number.isFinite(r)?r:void 0,gasDrop:Number.isFinite(a)?a:void 0,sdkVersion:Oe()},o=`${h.PRICE_URL}/quote?`,p=zt(y);return o+p}async function sr(){const e=await Se(`${h.RELAYER_URL}/active-relayers?solanaProgram=${h.MAYAN_PROGRAM_ID}`,{method:"GET",redirect:"follow"});await Be(e);const t=await e.json();if(e.status!==200&&e.status!==201)throw t;return t.suggested}async function De(e){const t=zt({...e,sdkVersion:Oe()}),a=await Se(`${h.PRICE_URL}/get-swap/solana?${t}`,{method:"GET",redirect:"follow"});await Be(a);const r=await a.json();if(a.status!==200&&a.status!==201)throw r;return r}async function Hn(e){const t=JSON.stringify({...e,sdkVersion:Oe()}),a=`${h.PRICE_URL}/get-swap/sui`,r=await Se(a,{method:"POST",redirect:"follow",body:t,headers:{"Content-Type":"application/json"}});await Be(r);const u=await r.json();if(r.status!==200&&r.status!==201)throw u;return u}async function Zt(e){const t=zt({...e,sdkVersion:Oe()}),a=await Se(`${h.PRICE_URL}/get-swap/evm?${t}`,{method:"GET",redirect:"follow"});await Be(a);const r=await a.json();if(a.status!==200&&a.status!==201)throw r;return r}async function or(e,t){const a=zt({destWallet:e,destToken:t,sdkVersion:Oe()}),r=await Se(`${h.EXPLORER_URL}/hypercore/is-allowed?${a}`,{method:"GET",redirect:"follow"});await Be(r);const u=await r.json();if(r.status!==200&&r.status!==201)throw u;return u.allowed===!0}var ur={abi:[{inputs:[{internalType:"address",name:"_tokenBridge",type:"address"},{internalType:"address",name:"_weth",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint16",name:"emitterChainId",type:"uint16"},{indexed:!0,internalType:"bytes32",name:"emitterAddress",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"sequence",type:"uint64"}],name:"Redeemed",type:"event"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint8",name:"payloadId",type:"uint8"},{internalType:"bytes32",name:"tokenAddr",type:"bytes32"},{internalType:"uint16",name:"tokenChainId",type:"uint16"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"sourceAddr",type:"bytes32"},{internalType:"uint16",name:"sourceChainId",type:"uint16"},{internalType:"uint64",name:"sequence",type:"uint64"},{internalType:"uint64",name:"amountOutMin",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"uint64",name:"swapFee",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"bytes32",name:"auctionAddr",type:"bytes32"},{internalType:"bool",name:"unwrapRedeem",type:"bool"},{internalType:"bool",name:"unwrapRefund",type:"bool"}],internalType:"struct MayanStructs.Swap",name:"s",type:"tuple"}],name:"encodeSwap",outputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getWeth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"isPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseRedeemPayload",outputs:[{components:[{internalType:"uint8",name:"payloadId",type:"uint8"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint64",name:"relayerFee",type:"uint64"},{internalType:"bool",name:"unwrap",type:"bool"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes",name:"customPayload",type:"bytes"}],internalType:"struct MayanStructs.Redeem",name:"r",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"redeem",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"redeemAndUnwrap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_pause",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint64",name:"swapFee",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"}],internalType:"struct MayanSwap.RelayerFees",name:"relayerFees",type:"tuple"},{components:[{internalType:"bytes32",name:"mayanAddr",type:"bytes32"},{internalType:"uint16",name:"mayanChainId",type:"uint16"},{internalType:"bytes32",name:"auctionAddr",type:"bytes32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrer",type:"bytes32"},{internalType:"bytes32",name:"refundAddr",type:"bytes32"}],internalType:"struct MayanSwap.Recepient",name:"recipient",type:"tuple"},{internalType:"bytes32",name:"tokenOutAddr",type:"bytes32"},{internalType:"uint16",name:"tokenOutChainId",type:"uint16"},{components:[{internalType:"uint256",name:"transferDeadline",type:"uint256"},{internalType:"uint64",name:"swapDeadline",type:"uint64"},{internalType:"uint64",name:"amountOutMin",type:"uint64"},{internalType:"bool",name:"unwrap",type:"bool"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes",name:"customPayload",type:"bytes"}],internalType:"struct MayanSwap.Criteria",name:"criteria",type:"tuple"},{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"swap",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"}],name:"sweepEth",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint64",name:"swapFee",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"}],internalType:"struct MayanSwap.RelayerFees",name:"relayerFees",type:"tuple"},{components:[{internalType:"bytes32",name:"mayanAddr",type:"bytes32"},{internalType:"uint16",name:"mayanChainId",type:"uint16"},{internalType:"bytes32",name:"auctionAddr",type:"bytes32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrer",type:"bytes32"},{internalType:"bytes32",name:"refundAddr",type:"bytes32"}],internalType:"struct MayanSwap.Recepient",name:"recipient",type:"tuple"},{internalType:"bytes32",name:"tokenOutAddr",type:"bytes32"},{internalType:"uint16",name:"tokenOutChainId",type:"uint16"},{components:[{internalType:"uint256",name:"transferDeadline",type:"uint256"},{internalType:"uint64",name:"swapDeadline",type:"uint64"},{internalType:"uint64",name:"amountOutMin",type:"uint64"},{internalType:"bool",name:"unwrap",type:"bool"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes",name:"customPayload",type:"bytes"}],internalType:"struct MayanSwap.Criteria",name:"criteria",type:"tuple"}],name:"wrapAndSwapETH",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}]},ke={abi:[{inputs:[{internalType:"address",name:"_guardian",type:"address"},{internalType:"address[]",name:"_swapProtocols",type:"address[]"},{internalType:"address[]",name:"_mayanProtocols",type:"address[]"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"UnsupportedProtocol",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"protocolData",type:"bytes"}],name:"ForwardedERC20",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"protocolData",type:"bytes"}],name:"ForwardedEth",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"SwapAndForwarded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"tokenIn",type:"address"},{indexed:!1,internalType:"uint256",name:"amountIn",type:"uint256"},{indexed:!1,internalType:"address",name:"swapProtocol",type:"address"},{indexed:!1,internalType:"address",name:"middleToken",type:"address"},{indexed:!1,internalType:"uint256",name:"middleAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"mayanData",type:"bytes"}],name:"SwapAndForwardedERC20",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amountIn",type:"uint256"},{indexed:!1,internalType:"address",name:"swapProtocol",type:"address"},{indexed:!1,internalType:"address",name:"middleToken",type:"address"},{indexed:!1,internalType:"uint256",name:"middleAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"mayanData",type:"bytes"}],name:"SwapAndForwardedEth",type:"event"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct MayanForwarder.PermitParams",name:"permitParams",type:"tuple"},{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"protocolData",type:"bytes"}],name:"forwardERC20",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"protocolData",type:"bytes"}],name:"forwardEth",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"guardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"mayanProtocols",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nextGuardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"}],name:"rescueEth",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"rescueToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bool",name:"enabled",type:"bool"}],name:"setMayanProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bool",name:"enabled",type:"bool"}],name:"setSwapProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct MayanForwarder.PermitParams",name:"permitParams",type:"tuple"},{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bytes",name:"swapData",type:"bytes"},{internalType:"address",name:"middleToken",type:"address"},{internalType:"uint256",name:"minMiddleAmount",type:"uint256"},{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"mayanData",type:"bytes"}],name:"swapAndForwardERC20",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bytes",name:"swapData",type:"bytes"},{internalType:"address",name:"middleToken",type:"address"},{internalType:"uint256",name:"minMiddleAmount",type:"uint256"},{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"mayanData",type:"bytes"}],name:"swapAndForwardEth",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"swapProtocols",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}]},Gn={abi:[{inputs:[{internalType:"address",name:"_cctpTokenMessenger",type:"address"},{internalType:"address",name:"_wormhole",type:"address"},{internalType:"address",name:"_feeManager",type:"address"},{internalType:"uint16",name:"_auctionChainId",type:"uint16"},{internalType:"bytes32",name:"_auctionAddr",type:"bytes32"},{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CallerAlreadySet",type:"error"},{inputs:[],name:"CallerNotSet",type:"error"},{inputs:[],name:"CctpReceiveFailed",type:"error"},{inputs:[],name:"DeadlineViolation",type:"error"},{inputs:[],name:"DomainAlreadySet",type:"error"},{inputs:[],name:"DomainNotSet",type:"error"},{inputs:[],name:"EmitterAlreadySet",type:"error"},{inputs:[],name:"EthTransferFailed",type:"error"},{inputs:[],name:"InvalidAction",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidAmountOut",type:"error"},{inputs:[],name:"InvalidCaller",type:"error"},{inputs:[],name:"InvalidDestAddr",type:"error"},{inputs:[],name:"InvalidDomain",type:"error"},{inputs:[],name:"InvalidEmitter",type:"error"},{inputs:[],name:"InvalidGasDrop",type:"error"},{inputs:[],name:"InvalidMintRecipient",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidOrder",type:"error"},{inputs:[],name:"InvalidPayload",type:"error"},{inputs:[],name:"InvalidProtocolFee",type:"error"},{inputs:[],name:"InvalidRedeemFee",type:"error"},{inputs:[],name:"InvalidReferrerFee",type:"error"},{inputs:[],name:"MintRecipientAlreadySet",type:"error"},{inputs:[],name:"MintRecipientNotSet",type:"error"},{inputs:[],name:"Paused",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32",name:"sourceDomain",type:"uint32"},{indexed:!1,internalType:"uint64",name:"sourceNonce",type:"uint64"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"OrderFulfilled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32",name:"sourceDomain",type:"uint32"},{indexed:!1,internalType:"uint64",name:"sourceNonce",type:"uint64"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"OrderRefunded",type:"event"},{inputs:[],name:"auctionAddr",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"auctionChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint32",name:"destDomain",type:"uint32"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"bytes",name:"customPayload",type:"bytes"}],name:"bridgeWithFee",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint256",name:"redeemFee",type:"uint256"},{internalType:"uint32",name:"destDomain",type:"uint32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"}],name:"bridgeWithLockedFee",outputs:[{internalType:"uint64",name:"cctpNonce",type:"uint64"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"cctpTokenMessenger",outputs:[{internalType:"contract ITokenMessenger",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"",type:"uint16"}],name:"chainIdToEmitter",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"consistencyLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChain",type:"uint16"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"}],internalType:"struct MayanCircle.OrderParams",name:"params",type:"tuple"}],name:"createOrder",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint32",name:"",type:"uint32"}],name:"domainToCaller",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeManager",outputs:[{internalType:"contract IFeeManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint64",name:"",type:"uint64"}],name:"feeStorage",outputs:[{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"redeemFee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{internalType:"bytes",name:"encodedVm",type:"bytes"},{components:[{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"promisedAmount",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{internalType:"bytes32",name:"driver",type:"bytes32"}],internalType:"struct MayanCircle.FulfillParams",name:"params",type:"tuple"},{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bytes",name:"swapData",type:"bytes"}],name:"fulfillOrder",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"}],name:"getDomain",outputs:[{internalType:"uint32",name:"domain",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"guardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"isPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"keyToMintRecipient",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"localDomain",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{internalType:"bytes",name:"encodedVm",type:"bytes"},{components:[{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"burnAmount",type:"uint64"},{internalType:"bytes32",name:"burnToken",type:"bytes32"},{internalType:"bytes32",name:"customPayload",type:"bytes32"}],internalType:"struct MayanCircle.BridgeWithFeeParams",name:"bridgeParams",type:"tuple"}],name:"redeemWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"}],name:"redeemWithLockedFee",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint32",name:"cctpNonce",type:"uint32"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"}],name:"refineFee",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"},{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChain",type:"uint16"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"}],internalType:"struct MayanCircle.OrderParams",name:"orderParams",type:"tuple"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"uint16",name:"sourceChainId",type:"uint16"},{internalType:"uint8",name:"protocolBps",type:"uint8"}],internalType:"struct MayanCircle.ExtraParams",name:"extraParams",type:"tuple"}],name:"refund",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"}],name:"rescueEth",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"rescueToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],name:"setConsistencyLevel",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"uint32",name:"domain",type:"uint32"}],name:"setDomain",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"domain",type:"uint32"},{internalType:"bytes32",name:"caller",type:"bytes32"}],name:"setDomainCaller",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"emitter",type:"bytes32"}],name:"setEmitter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeManager",type:"address"}],name:"setFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"destDomain",type:"uint32"},{internalType:"address",name:"tokenIn",type:"address"},{internalType:"bytes32",name:"mintRecipient",type:"bytes32"}],name:"setMintRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_pause",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"},{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"uint64",name:"cctpNonce",type:"uint64"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"}],internalType:"struct MayanCircle.UnlockFeeMsg",name:"unlockMsg",type:"tuple"}],name:"unlockFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm1",type:"bytes"},{internalType:"bytes",name:"encodedVm2",type:"bytes"},{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"uint64",name:"cctpNonce",type:"uint64"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"}],internalType:"struct MayanCircle.UnlockFeeMsg",name:"unlockMsg",type:"tuple"},{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"uint64",name:"cctpNonce",type:"uint64"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"}],internalType:"struct MayanCircle.UnlockRefinedFeeMsg",name:"refinedMsg",type:"tuple"}],name:"unlockFeeRefined",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"wormhole",outputs:[{internalType:"contract IWormhole",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}]},re=6;function de(e){switch(e){case"ethereum":return 0;case"avalanche":return 1;case"optimism":return 2;case"arbitrum":return 3;case"solana":return 5;case"base":return 6;case"polygon":return 7;case"sui":return 8;case"unichain":return 10;case"linea":return 11;case"sonic":return 13;case"hyperevm":return 19;case"monad":return 15;default:throw new Error("unsupported chain for cctp")}}function rn(e,t){const a=new n.PublicKey(h.CCTP_CORE_PROGRAM_ID),r=new n.PublicKey(h.CCTP_TOKEN_PROGRAM_ID),[u]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("message_transmitter")],a),[s]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("sender_authority")],r),[y]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("local_token"),e.toBytes()],r),[o]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("token_messenger")],r),[p]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("token_minter")],r),l=de(t),[d]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("remote_token_messenger"),c.Buffer$1.from(l.toString())],r),[b]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("__event_authority")],a),[g]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("__event_authority")],r);return{messageTransmitter:u,senderAuthority:s,remoteTokenMessengerKey:d,tokenMessenger:o,tokenMinter:p,eventAuthToken:g,eventAuthCore:b,localToken:y}}function Vn(e,t,a,r){const u=new n.PublicKey(h.CCTPV2_CORE_PROGRAM_ID),s=new n.PublicKey(h.CCTPV2_TOKEN_PROGRAM_ID),[y]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("message_transmitter")],u),[o]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("sender_authority")],s),[p]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("local_token"),e.toBytes()],s),[l]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("token_messenger")],s),[d]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("token_minter")],s),b=de(t),[g]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("remote_token_messenger"),c.Buffer$1.from(b.toString())],s),[T]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("__event_authority")],u),[f]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("__event_authority")],s),[w]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("denylist_account"),a.toBytes()],s),[I]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("denylist_account"),r.toBytes()],s);return{messageTransmitter:y,senderAuthority:o,remoteTokenMessengerKey:g,tokenMessenger:l,tokenMinter:d,eventAuthToken:f,eventAuthCore:T,localToken:p,cctpDenyListAccount:w,realDenyListAccount:I}}function pr(e,t,a,r){const u=Te(Number(a)),s=G(e.fromChain),y=G(e.toChain);if(s!==u)throw new Error(`Signer chain id(${Number(a)}) and quote from chain are not same! ${s} !== ${u}`);const o=e.cheaperChain===e.fromChain,p=x(t,y),l=B(e.redeemRelayerFee,re),d=B(e.gasDrop,Math.min(oe(e.toChain),8)),b=BigInt(e.effectiveAmountIn64),g=de(e.toChain);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const T=e.mctpMayanContract;if(e.toChain==="solana"&&o)throw new Error("Cannot lock fee for transfer to solana");let f=B(e.bridgeFee,oe(e.fromChain));return o&&(f=BigInt(0)),{lockFee:o,tokenIn:e.mctpInputContract,amountIn:b,redeemFee:l,gasDrop:d,destAddr:p,destDomain:g,payloadType:Wn,customPayload:"0x",bridgeFee:f,contractAddress:T}}function un(e,t,a,r){const u=pr(e,t,a),{contractAddress:s,tokenIn:y,amountIn:o,destAddr:p,lockFee:l,redeemFee:d,gasDrop:b,destDomain:g,customPayload:T,payloadType:f,bridgeFee:w}=u,I=new c.Contract(s,Gn.abi);let _,S;return l?_=I.interface.encodeFunctionData("bridgeWithLockedFee",[y,o,b,d,g,p]):_=I.interface.encodeFunctionData("bridgeWithFee",[y,o,d,b,p,g,f,T]),S=c.toBeHex(w),{to:s,data:_,value:S,_params:u}}function lr(e,t,a,r){const u=Te(Number(r)),s=G(e.fromChain),y=G(e.toChain);if(s!==u)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${s} !== ${u}`);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const o=e.mctpMayanContract,p=x(t,y);let l;a?l=x(a,y):l=x(n.SystemProgram.programId.toString(),G("solana"));const d=B(e.redeemRelayerFee,re),b=B(e.gasDrop,Math.min(oe(e.toChain),8));let g=BigInt(e.effectiveAmountIn64);const T=B(e.minAmountOut,Math.min(8,e.toToken.decimals)),f=BigInt(e.deadline64),w=e.toToken.contract===c.ZeroAddress?x(n.SystemProgram.programId.toString(),G("solana")):x(e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract,e.toToken.wChainId);return{params:{tokenIn:e.mctpInputContract,amountIn:g,gasDrop:b,destAddr:p,destChain:y,tokenOut:w,minAmountOut:T,deadline:f,redeemFee:d,referrerAddr:l,referrerBps:e.referrerBps||0},bridgeFee:B(e.bridgeFee,oe(e.fromChain)),contractAddress:o}}function pn(e,t,a,r){const u=lr(e,t,a,r),{contractAddress:s,params:y,bridgeFee:o}=u,l=new c.Contract(s,Gn.abi).interface.encodeFunctionData("createOrder",[y]),d=c.toBeHex(o);return{to:s,data:l,value:d,_params:u}}async function yr(e,t,a,r,u,s){if(e.type!=="MCTP")throw new Error("Quote type is not MCTP");if(!Number.isFinite(Number(r)))throw new Error("Invalid signer chain id");r=Number(r);const y=u||Pe,o=new c.Contract(h.MAYAN_FORWARDER_CONTRACT,ke.abi),p=B(e.bridgeFee,oe(e.fromChain));let l=c.toBeHex(p);if(e.fromToken.contract===e.mctpInputContract)if(e.hasAuction){if(!Number(e.deadline64))throw new Error("MCTP order requires timeout");const d=pn(e,t,a,r),b="forwardERC20",g=[e.fromToken.contract,d._params.params.amountIn,y,d._params.contractAddress,d.data];return{data:o.interface.encodeFunctionData(b,g),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(l),chainId:r,_forwarder:{method:b,params:g}}}else{const d=un(e,t,r),b="forwardERC20",g=[e.fromToken.contract,d._params.amountIn,y,d._params.contractAddress,d.data];return{data:o.interface.encodeFunctionData(b,g),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(l),chainId:r,_forwarder:{method:b,params:g}}}else{const{minMiddleAmount:d}=e,{swapRouterCalldata:b,swapRouterAddress:g}=await Zt({referrerAddress:a||void 0,fromToken:e.fromToken.contract,slippageBps:e.slippageBps,forwarderAddress:h.MAYAN_FORWARDER_CONTRACT,amountIn64:e.effectiveAmountIn64,chainName:e.fromChain,middleToken:e.mctpInputContract});if(!d)throw new Error("MCTP swap requires middle amount, router address and calldata");if(e.hasAuction){if(!Number(e.deadline64))throw new Error("MCTP order requires timeout");const T=pn(e,t,a,r),f=B(e.minMiddleAmount,re);if(e.fromToken.contract===c.ZeroAddress){let w=T._params.params.amountIn;if(w<=p)throw new Error("Amount in is less than bridge fee");p!==BigInt(0)&&(w-=p),l=c.toBeHex(T._params.params.amountIn);const I="swapAndForwardEth",_=[w,g,b,e.mctpInputContract,f,T._params.contractAddress,T.data];return{data:o.interface.encodeFunctionData(I,_),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(l),chainId:r,_forwarder:{method:I,params:_}}}else{const w="swapAndForwardERC20",I=[e.fromToken.contract,T._params.params.amountIn,y,g,b,e.mctpInputContract,f,T._params.contractAddress,T.data];return{data:o.interface.encodeFunctionData(w,I),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(l),chainId:r,_forwarder:{method:w,params:I}}}}else{const T=un(e,t,r),f=B(e.minMiddleAmount,re);if(e.fromToken.contract===c.ZeroAddress){let w=T._params.amountIn;if(w<=p)throw new Error("Amount in is less than bridge fee");p!==BigInt(0)&&(w-=p),l=c.toBeHex(T._params.amountIn);const I="swapAndForwardEth",_=[w,g,b,e.mctpInputContract,f,T._params.contractAddress,T.data];return{data:o.interface.encodeFunctionData(I,_),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(l),chainId:r,_forwarder:{method:I,params:_}}}else{const w="swapAndForwardERC20",I=[e.fromToken.contract,T._params.amountIn,y,g,b,e.mctpInputContract,f,T._params.contractAddress,T.data];return{data:o.interface.encodeFunctionData(w,I),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(l),chainId:r,_forwarder:{method:w,params:I}}}}}}var cr={abi:[{type:"constructor",inputs:[{name:"_wormhole",type:"address",internalType:"address"},{name:"_refundVerifier",type:"address",internalType:"address"},{name:"_refundEmitterChainId",type:"uint16",internalType:"uint16"},{name:"_refundEmitterAddr",type:"bytes32",internalType:"bytes32"},{name:"_feeManager",type:"address",internalType:"address"},{name:"_rescueVault",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"receive",stateMutability:"payable"},{type:"function",name:"changeGuardian",inputs:[{name:"newGuardian",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"claimGuardian",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"createOrderWithEth",inputs:[{name:"params",type:"tuple",internalType:"struct OrderParams",components:[{name:"payloadType",type:"uint8",internalType:"uint8"},{name:"trader",type:"bytes32",internalType:"bytes32"},{name:"destAddr",type:"bytes32",internalType:"bytes32"},{name:"destChainId",type:"uint16",internalType:"uint16"},{name:"referrerAddr",type:"bytes32",internalType:"bytes32"},{name:"tokenOut",type:"bytes32",internalType:"bytes32"},{name:"minAmountOut",type:"uint64",internalType:"uint64"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"cancelFee",type:"uint64",internalType:"uint64"},{name:"refundFee",type:"uint64",internalType:"uint64"},{name:"deadline",type:"uint64",internalType:"uint64"},{name:"referrerBps",type:"uint8",internalType:"uint8"},{name:"auctionMode",type:"uint8",internalType:"uint8"},{name:"random",type:"bytes32",internalType:"bytes32"}]},{name:"customPayload",type:"bytes",internalType:"bytes"}],outputs:[{name:"orderHash",type:"bytes32",internalType:"bytes32"}],stateMutability:"payable"},{type:"function",name:"createOrderWithSig",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"params",type:"tuple",internalType:"struct OrderParams",components:[{name:"payloadType",type:"uint8",internalType:"uint8"},{name:"trader",type:"bytes32",internalType:"bytes32"},{name:"destAddr",type:"bytes32",internalType:"bytes32"},{name:"destChainId",type:"uint16",internalType:"uint16"},{name:"referrerAddr",type:"bytes32",internalType:"bytes32"},{name:"tokenOut",type:"bytes32",internalType:"bytes32"},{name:"minAmountOut",type:"uint64",internalType:"uint64"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"cancelFee",type:"uint64",internalType:"uint64"},{name:"refundFee",type:"uint64",internalType:"uint64"},{name:"deadline",type:"uint64",internalType:"uint64"},{name:"referrerBps",type:"uint8",internalType:"uint8"},{name:"auctionMode",type:"uint8",internalType:"uint8"},{name:"random",type:"bytes32",internalType:"bytes32"}]},{name:"customPayload",type:"bytes",internalType:"bytes"},{name:"submissionFee",type:"uint256",internalType:"uint256"},{name:"signedOrderHash",type:"bytes",internalType:"bytes"},{name:"permitParams",type:"tuple",internalType:"struct PermitParams",components:[{name:"value",type:"uint256",internalType:"uint256"},{name:"deadline",type:"uint256",internalType:"uint256"},{name:"v",type:"uint8",internalType:"uint8"},{name:"r",type:"bytes32",internalType:"bytes32"},{name:"s",type:"bytes32",internalType:"bytes32"}]}],outputs:[{name:"orderHash",type:"bytes32",internalType:"bytes32"}],stateMutability:"nonpayable"},{type:"function",name:"createOrderWithToken",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"params",type:"tuple",internalType:"struct OrderParams",components:[{name:"payloadType",type:"uint8",internalType:"uint8"},{name:"trader",type:"bytes32",internalType:"bytes32"},{name:"destAddr",type:"bytes32",internalType:"bytes32"},{name:"destChainId",type:"uint16",internalType:"uint16"},{name:"referrerAddr",type:"bytes32",internalType:"bytes32"},{name:"tokenOut",type:"bytes32",internalType:"bytes32"},{name:"minAmountOut",type:"uint64",internalType:"uint64"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"cancelFee",type:"uint64",internalType:"uint64"},{name:"refundFee",type:"uint64",internalType:"uint64"},{name:"deadline",type:"uint64",internalType:"uint64"},{name:"referrerBps",type:"uint8",internalType:"uint8"},{name:"auctionMode",type:"uint8",internalType:"uint8"},{name:"random",type:"bytes32",internalType:"bytes32"}]},{name:"customPayload",type:"bytes",internalType:"bytes"}],outputs:[{name:"orderHash",type:"bytes32",internalType:"bytes32"}],stateMutability:"nonpayable"},{type:"function",name:"emitters",inputs:[{name:"",type:"uint16",internalType:"uint16"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"feeManager",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IFeeManager"}],stateMutability:"view"},{type:"function",name:"getOrders",inputs:[{name:"orderHashes",type:"bytes32[]",internalType:"bytes32[]"}],outputs:[{name:"",type:"tuple[]",internalType:"struct Order[]",components:[{name:"status",type:"uint8",internalType:"enum Status"},{name:"amountIn",type:"uint64",internalType:"uint64"},{name:"destChainId",type:"uint16",internalType:"uint16"}]}],stateMutability:"view"},{type:"function",name:"guardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"nextGuardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"orders",inputs:[{name:"",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"status",type:"uint8",internalType:"enum Status"},{name:"amountIn",type:"uint64",internalType:"uint64"},{name:"destChainId",type:"uint16",internalType:"uint16"}],stateMutability:"view"},{type:"function",name:"parseFulfillPayload",inputs:[{name:"encoded",type:"bytes",internalType:"bytes"}],outputs:[{name:"fulfillMsg",type:"tuple",internalType:"struct FulfillMsg",components:[{name:"action",type:"uint8",internalType:"uint8"},{name:"orderHash",type:"bytes32",internalType:"bytes32"},{name:"driver",type:"bytes32",internalType:"bytes32"},{name:"promisedAmount",type:"uint64",internalType:"uint64"},{name:"penaltyPeriod",type:"uint16",internalType:"uint16"}]}],stateMutability:"pure"},{type:"function",name:"parseRefundPayload",inputs:[{name:"encoded",type:"bytes",internalType:"bytes"}],outputs:[{name:"refundMsg",type:"tuple",internalType:"struct RefundMsg",components:[{name:"action",type:"uint8",internalType:"uint8"},{name:"orderHash",type:"bytes32",internalType:"bytes32"},{name:"srcChainId",type:"uint16",internalType:"uint16"},{name:"tokenIn",type:"bytes32",internalType:"bytes32"},{name:"trader",type:"bytes32",internalType:"bytes32"},{name:"canceler",type:"bytes32",internalType:"bytes32"},{name:"cancelFee",type:"uint64",internalType:"uint64"},{name:"refundFee",type:"uint64",internalType:"uint64"}]}],stateMutability:"pure"},{type:"function",name:"parseRefundVerifierPayload",inputs:[{name:"encoded",type:"bytes",internalType:"bytes"}],outputs:[{name:"verifier",type:"tuple",internalType:"struct RefundVerifier",components:[{name:"action",type:"uint8",internalType:"uint8"},{name:"verifier",type:"address",internalType:"address"},{name:"emitterChainId",type:"uint16",internalType:"uint16"},{name:"emitterAddr",type:"bytes32",internalType:"bytes32"}]}],stateMutability:"pure"},{type:"function",name:"parseRescuePayload",inputs:[{name:"encoded",type:"bytes",internalType:"bytes"}],outputs:[{name:"rescueMsg",type:"tuple",internalType:"struct RescueMsg",components:[{name:"action",type:"uint8",internalType:"uint8"},{name:"orderHash",type:"bytes32",internalType:"bytes32"},{name:"orderStatus",type:"uint8",internalType:"uint8"},{name:"token",type:"address",internalType:"address"},{name:"amount",type:"uint64",internalType:"uint64"}]}],stateMutability:"pure"},{type:"function",name:"parseUnlockPayload",inputs:[{name:"encoded",type:"bytes",internalType:"bytes"}],outputs:[{name:"unlockMsg",type:"tuple",internalType:"struct UnlockMsg",components:[{name:"action",type:"uint8",internalType:"uint8"},{name:"orderHash",type:"bytes32",internalType:"bytes32"},{name:"srcChainId",type:"uint16",internalType:"uint16"},{name:"tokenIn",type:"bytes32",internalType:"bytes32"},{name:"referrerAddr",type:"bytes32",internalType:"bytes32"},{name:"referrerBps",type:"uint8",internalType:"uint8"},{name:"protocolBps",type:"uint8",internalType:"uint8"},{name:"unlockReceiver",type:"bytes32",internalType:"bytes32"},{name:"driver",type:"bytes32",internalType:"bytes32"},{name:"fulfillTime",type:"uint64",internalType:"uint64"}]}],stateMutability:"pure"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"refundEmitterAddr",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"refundEmitterChainId",inputs:[],outputs:[{name:"",type:"uint16",internalType:"uint16"}],stateMutability:"view"},{type:"function",name:"refundOrder",inputs:[{name:"encodedVm",type:"bytes",internalType:"bytes"},{name:"fast",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"refundVerifier",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IWormhole"}],stateMutability:"view"},{type:"function",name:"rescue",inputs:[{name:"encodedVm",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescueVault",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"setEmitters",inputs:[{name:"chainIds",type:"uint16[]",internalType:"uint16[]"},{name:"addresses",type:"bytes32[]",internalType:"bytes32[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setFeeManager",inputs:[{name:"_feeManager",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPause",inputs:[{name:"_pause",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setRefundVerifier",inputs:[{name:"encodedVm",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unlockBatch",inputs:[{name:"encodedVm",type:"bytes",internalType:"bytes"},{name:"indexes",type:"uint16[]",internalType:"uint16[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unlockCompressedBatch",inputs:[{name:"encodedVm",type:"bytes",internalType:"bytes"},{name:"encodedPayload",type:"bytes",internalType:"bytes"},{name:"indexes",type:"uint16[]",internalType:"uint16[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unlockSingle",inputs:[{name:"encodedVm",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"wormhole",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IWormhole"}],stateMutability:"view"},{type:"event",name:"OrderCanceled",inputs:[{name:"key",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"sequence",type:"uint64",indexed:!1,internalType:"uint64"}],anonymous:!1},{type:"event",name:"OrderCreated",inputs:[{name:"key",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"OrderFulfilled",inputs:[{name:"key",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"sequence",type:"uint64",indexed:!1,internalType:"uint64"},{name:"netAmount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OrderRefunded",inputs:[{name:"key",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"netAmount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OrderUnlocked",inputs:[{name:"key",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"error",name:"DuplicateOrder",inputs:[]},{type:"error",name:"EmitterAddressExists",inputs:[]},{type:"error",name:"FeesTooHigh",inputs:[]},{type:"error",name:"InvalidAction",inputs:[]},{type:"error",name:"InvalidBatchIndex",inputs:[]},{type:"error",name:"InvalidBpsFee",inputs:[]},{type:"error",name:"InvalidDestChain",inputs:[]},{type:"error",name:"InvalidEmitterAddress",inputs:[]},{type:"error",name:"InvalidEmitterChain",inputs:[]},{type:"error",name:"InvalidEvmAddr",inputs:[]},{type:"error",name:"InvalidGasDrop",inputs:[]},{type:"error",name:"InvalidOrderStatus",inputs:[]},{type:"error",name:"InvalidPayload",inputs:[]},{type:"error",name:"InvalidPayloadLength",inputs:[]},{type:"error",name:"InvalidSrcChain",inputs:[]},{type:"error",name:"OrderNotExists",inputs:[{name:"orderHash",type:"bytes32",internalType:"bytes32"}]},{type:"error",name:"Paused",inputs:[]},{type:"error",name:"SmallAmountIn",inputs:[]},{type:"error",name:"Unauthorized",inputs:[]}]},dr={abi:[{inputs:[{internalType:"address",name:"_wormhole",type:"address"},{internalType:"address",name:"_feeManager",type:"address"},{internalType:"uint16",name:"_auctionChainId",type:"uint16"},{internalType:"bytes32",name:"_auctionAddr",type:"bytes32"},{internalType:"bytes32",name:"_solanaEmitter",type:"bytes32"},{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"DeadlineViolation",type:"error"},{inputs:[],name:"DuplicateOrder",type:"error"},{inputs:[],name:"FeesTooHigh",type:"error"},{inputs:[],name:"InvalidAction",type:"error"},{inputs:[],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidAuctionMode",type:"error"},{inputs:[],name:"InvalidBpsFee",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidDestChain",type:"error"},{inputs:[],name:"InvalidEmitterAddress",type:"error"},{inputs:[],name:"InvalidEmitterChain",type:"error"},{inputs:[],name:"InvalidEvmAddr",type:"error"},{inputs:[],name:"InvalidGasDrop",type:"error"},{inputs:[],name:"InvalidOrderHash",type:"error"},{inputs:[],name:"InvalidOrderStatus",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"InvalidSrcChain",type:"error"},{inputs:[],name:"InvalidWormholeFee",type:"error"},{inputs:[],name:"OrderNotExists",type:"error"},{inputs:[],name:"Paused",type:"error"},{inputs:[],name:"SmallAmountIn",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"uint64",name:"sequence",type:"uint64"}],name:"OrderCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"}],name:"OrderCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"uint64",name:"sequence",type:"uint64"},{indexed:!1,internalType:"uint256",name:"netAmount",type:"uint256"}],name:"OrderFulfilled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"netAmount",type:"uint256"}],name:"OrderRefunded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"}],name:"OrderUnlocked",type:"event"},{inputs:[],name:"auctionAddr",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"auctionChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{internalType:"bytes32",name:"canceler",type:"bytes32"}],name:"cancelOrder",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"consistencyLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"}],name:"createOrderWithEth",outputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"},{internalType:"bytes",name:"signedOrderHash",type:"bytes"}],name:"createOrderWithSig",outputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"}],name:"createOrderWithToken",outputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"feeManager",outputs:[{internalType:"contract IFeeManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"fulfillAmount",type:"uint256"},{internalType:"bytes",name:"encodedVm",type:"bytes"},{internalType:"bytes32",name:"recepient",type:"bytes32"},{internalType:"bool",name:"batch",type:"bool"}],name:"fulfillOrder",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"fulfillAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"},{internalType:"bytes32",name:"recepient",type:"bytes32"},{internalType:"bool",name:"batch",type:"bool"}],name:"fulfillSimple",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[],name:"guardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"nextGuardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"enum MayanSwift.Status",name:"status",type:"uint8"},{internalType:"uint64",name:"amountIn",type:"uint64"},{internalType:"uint16",name:"destChainId",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseFulfillPayload",outputs:[{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"bytes32",name:"driver",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"promisedAmount",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"}],internalType:"struct MayanSwift.FulfillMsg",name:"fulfillMsg",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseRefundPayload",outputs:[{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"bytes32",name:"canceler",type:"bytes32"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"}],internalType:"struct MayanSwift.RefundMsg",name:"refundMsg",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseUnlockPayload",outputs:[{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"}],internalType:"struct MayanSwift.UnlockMsg",name:"unlockMsg",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32[]",name:"orderHashes",type:"bytes32[]"}],name:"postBatch",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"refundOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],name:"setConsistencyLevel",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeManager",type:"address"}],name:"setFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_pause",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"solanaEmitter",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"unlockBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"unlockMsgs",outputs:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"unlockSingle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"wormhole",outputs:[{internalType:"contract IWormhole",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}]};function mr(e,t){const a=t.subarray(0,8),r=e.instructions.find(o=>c.Buffer$1.from(o.discriminator).toString("hex").toLowerCase()===c.Buffer$1.from(a).toString("hex").toLowerCase());if(!r)throw new Error(`Instruction ${c.Buffer$1.from(a).toString("hex")} not in IDL`);const u=r.args||[],s={};let y=8;for(const o of u){const[p,l]=Ae(o.type,t,y,e);s[o.name]=p,y=l}return s}function Ae(e,t,a,r){if(typeof e=="string")switch(e){case"u8":return[t.readUInt8(a),a+1];case"u16":return[t.readUInt16LE(a),a+2];case"u32":return[t.readUInt32LE(a),a+4];case"u64":return[t.readBigUInt64LE(a),a+8];case"bool":return[t.readUInt8(a)!==0,a+1];case"pubkey":{const u=t.subarray(a,a+32);return[new n.PublicKey(u),a+32]}default:throw new Error(`Unknown primitive: ${e}`)}if("array"in e){const[u,s]=e.array,y=[];let o=a;for(let p=0;p<s;p++){const[l,d]=Ae(u,t,o,r);y.push(l),o=d}return[y,o]}if("defined"in e){const u=r.types?.find(s=>s.name===e.defined.name);if(!u)throw new Error(`Type ${e.defined} not found`);if(u.type.kind==="struct"){const s={};let y=a;for(const o of u.type.fields){const[p,l]=Ae(o.type,t,y,r);s[o.name]=p,y=l}return[s,y]}else{const s=t.readUInt8(a),y=u.type.variants[s];if(!y)throw new Error(`Invalid enum index ${s}`);let o=a+1;const p={variant:y.name};if(y.fields&&y.fields.length){const l=[];for(const d of y.fields){const[b,g]=Ae(d.type,t,o,r);l.push(b),o=g}p.fields=l}return[p,o]}}if("option"in e)return t.readUInt8(a)===0?[null,a+1]:Ae(e.option,t,a+1,r);if("vec"in e){const u=t.readUInt32LE(a);let s=a+4;const y=[];for(let o=0;o<u;o++){const[p,l]=Ae(e.vec,t,s,r);y.push(p),s=l}return[y,s]}throw new Error(`Unsupported type shape: ${JSON.stringify(e)}`)}function fr(e){return mr(br,c.Buffer$1.from(e))}var br={instructions:[{name:"route",docs:["route_plan Topologically sorted trade DAG"],discriminator:[229,23,203,151,122,227,173,42],accounts:[{name:"token_program"},{name:"user_transfer_authority",signer:!0},{name:"user_source_token_account",writable:!0},{name:"user_destination_token_account",writable:!0},{name:"destination_token_account",writable:!0,optional:!0},{name:"destination_mint"},{name:"platform_fee_account",writable:!0,optional:!0},{name:"event_authority",address:"D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf"},{name:"program"}],args:[{name:"route_plan",type:{vec:{defined:{name:"RoutePlanStep"}}}},{name:"in_amount",type:"u64"},{name:"quoted_out_amount",type:"u64"},{name:"slippage_bps",type:"u16"},{name:"platform_fee_bps",type:"u8"}],returns:"u64"},{name:"shared_accounts_route",docs:["Route by using program owned token accounts and open orders accounts."],discriminator:[193,32,155,51,65,214,156,129],accounts:[{name:"token_program"},{name:"program_authority"},{name:"user_transfer_authority",signer:!0},{name:"source_token_account",writable:!0},{name:"program_source_token_account",writable:!0},{name:"program_destination_token_account",writable:!0},{name:"destination_token_account",writable:!0},{name:"source_mint"},{name:"destination_mint"},{name:"platform_fee_account",writable:!0,optional:!0},{name:"token_2022_program",optional:!0},{name:"event_authority",address:"D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf"},{name:"program"}],args:[{name:"id",type:"u8"},{name:"route_plan",type:{vec:{defined:{name:"RoutePlanStep"}}}},{name:"in_amount",type:"u64"},{name:"quoted_out_amount",type:"u64"},{name:"slippage_bps",type:"u16"},{name:"platform_fee_bps",type:"u8"}],returns:"u64"}],types:[{name:"AccountsType",type:{kind:"enum",variants:[{name:"TransferHookA"},{name:"TransferHookB"},{name:"TransferHookReward"},{name:"TransferHookInput"},{name:"TransferHookIntermediate"},{name:"TransferHookOutput"},{name:"SupplementalTickArrays"},{name:"SupplementalTickArraysOne"},{name:"SupplementalTickArraysTwo"}]}},{name:"FeeEvent",type:{kind:"struct",fields:[{name:"account",type:"pubkey"},{name:"mint",type:"pubkey"},{name:"amount",type:"u64"}]}},{name:"RemainingAccountsInfo",type:{kind:"struct",fields:[{name:"slices",type:{vec:{defined:{name:"RemainingAccountsSlice"}}}}]}},{name:"RemainingAccountsSlice",type:{kind:"struct",fields:[{name:"accounts_type",type:{defined:{name:"AccountsType"}}},{name:"length",type:"u8"}]}},{name:"RoutePlanStep",type:{kind:"struct",fields:[{name:"swap",type:{defined:{name:"Swap"}}},{name:"percent",type:"u8"},{name:"input_index",type:"u8"},{name:"output_index",type:"u8"}]}},{name:"Side",type:{kind:"enum",variants:[{name:"Bid"},{name:"Ask"}]}},{name:"Swap",type:{kind:"enum",variants:[{name:"Saber"},{name:"SaberAddDecimalsDeposit"},{name:"SaberAddDecimalsWithdraw"},{name:"TokenSwap"},{name:"Sencha"},{name:"Step"},{name:"Cropper"},{name:"Raydium"},{name:"Crema",fields:[{name:"a_to_b",type:"bool"}]},{name:"Lifinity"},{name:"Mercurial"},{name:"Cykura"},{name:"Serum",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"MarinadeDeposit"},{name:"MarinadeUnstake"},{name:"Aldrin",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"AldrinV2",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"Whirlpool",fields:[{name:"a_to_b",type:"bool"}]},{name:"Invariant",fields:[{name:"x_to_y",type:"bool"}]},{name:"Meteora"},{name:"GooseFX"},{name:"DeltaFi",fields:[{name:"stable",type:"bool"}]},{name:"Balansol"},{name:"MarcoPolo",fields:[{name:"x_to_y",type:"bool"}]},{name:"Dradex",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"LifinityV2"},{name:"RaydiumClmm"},{name:"Openbook",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"Phoenix",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"Symmetry",fields:[{name:"from_token_id",type:"u64"},{name:"to_token_id",type:"u64"}]},{name:"TokenSwapV2"},{name:"HeliumTreasuryManagementRedeemV0"},{name:"StakeDexStakeWrappedSol"},{name:"StakeDexSwapViaStake",fields:[{name:"bridge_stake_seed",type:"u32"}]},{name:"GooseFXV2"},{name:"Perps"},{name:"PerpsAddLiquidity"},{name:"PerpsRemoveLiquidity"},{name:"MeteoraDlmm"},{name:"OpenBookV2",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"RaydiumClmmV2"},{name:"StakeDexPrefundWithdrawStakeAndDepositStake",fields:[{name:"bridge_stake_seed",type:"u32"}]},{name:"Clone",fields:[{name:"pool_index",type:"u8"},{name:"quantity_is_input",type:"bool"},{name:"quantity_is_collateral",type:"bool"}]},{name:"SanctumS",fields:[{name:"src_lst_value_calc_accs",type:"u8"},{name:"dst_lst_value_calc_accs",type:"u8"},{name:"src_lst_index",type:"u32"},{name:"dst_lst_index",type:"u32"}]},{name:"SanctumSAddLiquidity",fields:[{name:"lst_value_calc_accs",type:"u8"},{name:"lst_index",type:"u32"}]},{name:"SanctumSRemoveLiquidity",fields:[{name:"lst_value_calc_accs",type:"u8"},{name:"lst_index",type:"u32"}]},{name:"RaydiumCP"},{name:"WhirlpoolSwapV2",fields:[{name:"a_to_b",type:"bool"},{name:"remaining_accounts_info",type:{option:{defined:{name:"RemainingAccountsInfo"}}}}]},{name:"OneIntro"},{name:"PumpdotfunWrappedBuy"},{name:"PumpdotfunWrappedSell"},{name:"PerpsV2"},{name:"PerpsV2AddLiquidity"},{name:"PerpsV2RemoveLiquidity"},{name:"MoonshotWrappedBuy"},{name:"MoonshotWrappedSell"},{name:"StabbleStableSwap"},{name:"StabbleWeightedSwap"},{name:"Obric",fields:[{name:"x_to_y",type:"bool"}]},{name:"FoxBuyFromEstimatedCost"},{name:"FoxClaimPartial",fields:[{name:"is_y",type:"bool"}]},{name:"SolFi",fields:[{name:"is_quote_to_base",type:"bool"}]},{name:"SolayerDelegateNoInit"},{name:"SolayerUndelegateNoInit"},{name:"TokenMill",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"DaosFunBuy"},{name:"DaosFunSell"},{name:"ZeroFi"},{name:"StakeDexWithdrawWrappedSol"},{name:"VirtualsBuy"},{name:"VirtualsSell"},{name:"Perena",fields:[{name:"in_index",type:"u8"},{name:"out_index",type:"u8"}]},{name:"PumpdotfunAmmBuy"},{name:"PumpdotfunAmmSell"},{name:"Gamma"},{name:"MeteoraDlmmSwapV2",fields:[{name:"remaining_accounts_info",type:{defined:{name:"RemainingAccountsInfo"}}}]},{name:"Woofi"},{name:"MeteoraDammV2"},{name:"MeteoraDynamicBondingCurveSwap"},{name:"StabbleStableSwapV2"},{name:"StabbleWeightedSwapV2"},{name:"RaydiumLaunchlabBuy",fields:[{name:"share_fee_rate",type:"u64"}]},{name:"RaydiumLaunchlabSell",fields:[{name:"share_fee_rate",type:"u64"}]},{name:"BoopdotfunWrappedBuy"},{name:"BoopdotfunWrappedSell"},{name:"Plasma",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"GoonFi",fields:[{name:"is_bid",type:"bool"},{name:"blacklist_bump",type:"u8"}]},{name:"HumidiFi",fields:[{name:"swap_id",type:"u64"},{name:"is_base_to_quote",type:"bool"}]},{name:"MeteoraDynamicBondingCurveSwapWithRemainingAccounts"},{name:"TesseraV",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"RaydiumStable"}]}},{name:"SwapEvent",type:{kind:"struct",fields:[{name:"amm",type:"pubkey"},{name:"input_mint",type:"pubkey"},{name:"input_amount",type:"u64"},{name:"output_mint",type:"pubkey"},{name:"output_amount",type:"u64"}]}},{name:"TokenLedger",type:{kind:"struct",fields:[{name:"token_account",type:"pubkey"},{name:"amount",type:"u64"}]}}]};function ye(e,t,a,r,u=new n.PublicKey(h.TOKEN_PROGRAM_ID),s=new n.PublicKey(h.ASSOCIATED_TOKEN_PROGRAM_ID)){const y=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:n.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:n.SYSVAR_RENT_PUBKEY,isSigner:!1,isWritable:!1}];return new n.TransactionInstruction({keys:y,programId:s,data:c.Buffer$1.from([1])})}var ln=165;async function Re(e,t,a,r,u,s=new n.PublicKey(h.TOKEN_PROGRAM_ID)){const y=[],o=await e.getMinimumBalanceForRentExemption(ln);return y.push(n.SystemProgram.createAccount({fromPubkey:t,newAccountPubkey:u.publicKey,lamports:o,space:ln,programId:s})),y.push(new n.TransactionInstruction({keys:[{pubkey:u.publicKey,isWritable:!0,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:n.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1}],programId:s,data:c.Buffer$1.from([1])})),y}var yn=n.LayoutExports.struct([n.LayoutExports.u8("instruction"),n.LayoutExports.blob(8,"amount")]);function Tr(e,t,a,r,u=new n.PublicKey(h.TOKEN_PROGRAM_ID)){const s=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!0,isWritable:!1}],y=c.Buffer$1.alloc(yn.span);return yn.encode({instruction:4,amount:z(r)},y),new n.TransactionInstruction({keys:s,programId:u,data:y})}var cn=n.LayoutExports.struct([n.LayoutExports.u8("instruction")]);function $n(e){const t=[{pubkey:e,isSigner:!1,isWritable:!0}],a=c.Buffer$1.alloc(cn.span);return cn.encode({instruction:17},a),new n.TransactionInstruction({keys:t,programId:new n.PublicKey(h.TOKEN_PROGRAM_ID),data:a})}n.LayoutExports.struct([n.LayoutExports.u8("instruction")]);var dn=n.LayoutExports.struct([n.LayoutExports.u8("instruction"),n.LayoutExports.blob(8,"amount")]);function ve(e,t,a,r,u=new n.PublicKey(h.TOKEN_PROGRAM_ID)){const s=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!0,isWritable:!1}],y=c.Buffer$1.alloc(dn.span);return dn.encode({instruction:3,amount:z(r)},y),new n.TransactionInstruction({keys:s,programId:u,data:y})}var Qt=new n.PublicKey("So11111111111111111111111111111111111111112");function Lt(e){return new n.TransactionInstruction({programId:new n.PublicKey(e.programId),keys:e.accounts.map(t=>({pubkey:new n.PublicKey(t.pubkey),isSigner:t.isSigner,isWritable:t.isWritable})),data:c.Buffer$1.from(e.data,"base64")})}async function xe(e,t){return(await t.getMultipleAccountsInfo(e.map(r=>new n.PublicKey(r)))).reduce((r,u,s)=>{const y=e[s];if(u){const o=new n.AddressLookupTableAccount({key:new n.PublicKey(y),state:n.AddressLookupTableAccount.deserialize(u.data)});r.push(o)}return r},new Array)}function Fe(e,t,a){const r=Lt(e.swapInstruction),u=e.cleanupInstruction?Lt(e.cleanupInstruction):null,s=e.computeBudgetInstructions?e.computeBudgetInstructions.map(Lt):[],y=e.setupInstructions?gr(e.setupInstructions,a).map(Lt):[];return{swapInstruction:r,cleanupInstruction:u,computeBudgetInstructions:s,setupInstructions:y,addressLookupTableAddresses:e.addressLookupTableAddresses}}var hr=[{programId:n.SystemProgram.programId.toString(),instructionDataHex:"00000000",discriminatorLength:4,accountIndex:0},{programId:h.ASSOCIATED_TOKEN_PROGRAM_ID,instructionDataHex:"01",discriminatorLength:1,accountIndex:0},{programId:h.ASSOCIATED_TOKEN_PROGRAM_ID,instructionDataHex:"",discriminatorLength:0,accountIndex:0}];function gr(e,t){return t?e.map(a=>{const r=hr.find(u=>u.programId===a.programId&&u.instructionDataHex===c.Buffer$1.from(a.data,"base64").subarray(0,u.discriminatorLength).toString("hex")&&a.accounts.length>u.accountIndex);if(r){const u=[...a.accounts];return u[r.accountIndex]={...u[r.accountIndex],pubkey:t.toString()},{...a,accounts:u}}else return a}):e}function le(e){let t=`global:${e}`;return c.Buffer$1.from(c.sha256(t)).subarray(0,8)}async function wr(){let e;try{const t=await sr();e=new n.PublicKey(t)}catch{console.log("Relayer not found, using system program"),e=n.SystemProgram.programId}return e}function Ir(e,t){if(e){if(!e.programId.equals(new n.PublicKey(h.TOKEN_PROGRAM_ID))&&!e.programId.equals(new n.PublicKey(h.TOKEN_2022_PROGRAM_ID)))throw new Error("Invalid cleanup instruction:: programId");if(Uint8Array.from(e.data).length!==1)throw new Error("Invalid cleanup instruction:: data");if(Uint8Array.from(e.data)[0]!==9)throw new Error("Invalid cleanup instruction:: data");if(t&&!e.keys[1].pubkey.equals(t))throw new Error("Invalid cleanup instruction:: dest account")}}function Ar(e,t){if(!(e.length<1)){if(e.length>6)throw new Error("Invalid setup instruction:: too many instructions");e.forEach(a=>{if(!a.programId.equals(new n.PublicKey(h.ASSOCIATED_TOKEN_PROGRAM_ID))&&!a.programId.equals(n.SystemProgram.programId)&&!a.programId.equals(new n.PublicKey(h.TOKEN_PROGRAM_ID))&&!a.programId.equals(new n.PublicKey(h.TOKEN_2022_PROGRAM_ID)))throw new Error("Invalid setup instruction:: programId");if(a.programId.equals(new n.PublicKey(h.ASSOCIATED_TOKEN_PROGRAM_ID))){if(Uint8Array.from(a.data).length===1){if(Uint8Array.from(a.data)[0]!==1)throw new Error("Invalid setup instruction:: data")}else if(Uint8Array.from(a.data).length!==0)throw new Error("Invalid setup instruction:: data")}else if(a.programId.equals(n.SystemProgram.programId)){if(!t)throw new Error("Invalid setup instruction:: unknown transfer");const r=q(Qt,t,!0);if(a.data.readUint32LE()!==2)throw new Error("Invalid setup instruction:: invalid system program instruction");if(!a.keys[1].pubkey.equals(r))throw new Error("Invalid setup instruction:: invalid wrap transfer dest")}else if(a.data.toString("base64")!=="EQ==")throw new Error("Invalid setup instruction:: invalid token program instruction")})}}function _r(e,t,a=!1){const r=new n.PublicKey("JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4");if(!e.programId.equals(r))throw new Error("Invalid swap instruction:: programId");if(e.data.subarray(0,8).toString("hex")===le("shared_accounts_route").toString("hex")){if(!e.keys[6].pubkey.equals(t))throw new Error("Invalid swap instruction shared_accounts_route:: dest account")}else if(e.data.subarray(0,8).toString("hex")===le("route").toString("hex")){if(a){if(!e.keys[4].pubkey.equals(r)&&!e.keys[3].pubkey.equals(t))throw new Error("Invalid swap instruction route:: dest account")}else if(!e.keys[4].pubkey.equals(t))throw new Error("Invalid swap instruction route:: dest account")}else throw new Error("Invalid swap instruction:: ix id")}function Cr(e,t){const a=fr(Uint8Array.from(e.data));if(a.in_amount>BigInt(t.effectiveAmountIn64))throw new Error("Invalid swap instruction:: amount in");const r=B(t.minAmountOut,t.toToken.decimals);if(a.quoted_out_amount-a.quoted_out_amount*BigInt(a.slippage_bps)/10000n<r)throw new Error("Invalid swap instruction:: quote expired");if(a.platform_fee_bps!==t.referrerBps)throw new Error("Invalid swap instruction:: platform fee")}function Mr(e){e.forEach(t=>{if(!t.programId.equals(n.ComputeBudgetProgram.programId))throw new Error("Invalid compute budget instruction:: programId");if(Uint8Array.from(t.data)[0]===3&&t.data.readBigUInt64LE(1)>100000000n)throw new Error("Invalid compute budget instruction:: to high tx fee")})}function be(e,t,a,r,u=!1){Mr(e.computeBudgetInstructions),Ar(e.setupInstructions,a),_r(e.swapInstruction,t,u),Ir(e.cleanupInstruction,r)}function Jt(e,t,a,r,u,s=new n.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA")){return new n.TransactionInstruction({keys:[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1}],programId:new n.PublicKey("B96dV3Luxzo6SokJx3xt8i5y8Mb7HRR6Eec8hCjJDT69"),data:le("transfer_all_and_close")})}function Gt(e,t,a,r){const u=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n.SystemProgram.programId,isSigner:!1,isWritable:!1}],s=14+a.length,y=c.Buffer$1.alloc(s);return y.set(le("create_simple"),0),y.writeUint16LE(r,8),y.writeUint32LE(a.length,10),y.set(a,14),new n.TransactionInstruction({keys:u,programId:new n.PublicKey(h.PAYLOAD_WRITER_PROGRAM_ID),data:y})}function Vt(e,t,a){const r=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0}],s=c.Buffer$1.alloc(10);return s.set(le("close"),0),s.writeUint16LE(a,8),new n.TransactionInstruction({keys:r,programId:new n.PublicKey(h.PAYLOAD_WRITER_PROGRAM_ID),data:s})}function v(e,t=!1){return t?e:new n.TransactionInstruction({keys:[{pubkey:e.programId,isSigner:!1,isWritable:!1}].concat(e.keys),programId:new n.PublicKey(h.CPI_PROXY_PROGRAM_ID),data:e.data})}function Ne(e){if(e==="solana")return h.LOOKUP_TABLE_SOLANA;if(e==="fogo")return h.LOOKUP_TABLE_FOGO}function Sr(e,t){let a,r;if(t==="solana")a=new n.PublicKey(h.WORMHOLE_PROGRAM_ID),r=new n.PublicKey(h.WORMHOLE_SHIM_POST_MESSAGE_PROGRAM_ID);else if(t==="fogo")a=new n.PublicKey(h.WORMHOLE_PROGRAM_ID_FOGO),r=new n.PublicKey(h.WORMHOLE_SHIM_POST_MESSAGE_PROGRAM_ID);else throw new Error("Unsupported chain for wormhole PDAs: "+t);const u=new n.PublicKey(e),[s]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("Bridge")],a),[y]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("emitter")],u),[o]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("Sequence"),y.toBuffer()],a),[p]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("fee_collector")],a),[l]=n.PublicKey.findProgramAddressSync([y.toBuffer()],r),[d]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("__event_authority")],r);return{bridgeConfig:s,sequenceKey:o,feeCollector:p,emitter:y,shimEventAuth:d,shimMessage:l}}var mn=n.LayoutExports.struct([n.LayoutExports.blob(8,"instruction")]);function $t(e,t,a,r,u,s){const y=new n.PublicKey(h.WORMHOLE_PROGRAM_ID),o=new n.PublicKey(h.WORMHOLE_SHIM_POST_MESSAGE_PROGRAM_ID),p=new n.PublicKey(h.TOKEN_PROGRAM_ID),l=new n.PublicKey(h.CCTP_CORE_PROGRAM_ID),d=new n.PublicKey(h.CCTP_TOKEN_PROGRAM_ID),b=new n.PublicKey(h.MCTP_PROGRAM_ID),g=new n.PublicKey(r),T=new n.PublicKey(a),f=q(T,e,!0);let w;u&&u>BigInt(0)?w=q(T,g,!1):w=new n.PublicKey(h.MCTP_PROGRAM_ID);const I=rn(T,t),_=Sr(h.MCTP_PROGRAM_ID,s),S=n.Keypair.generate(),k=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:f,isWritable:!0,isSigner:!1},{pubkey:g,isWritable:!0,isSigner:!0},{pubkey:w,isWritable:!0,isSigner:!1},{pubkey:T,isWritable:!0,isSigner:!1},{pubkey:I.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:I.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:I.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:I.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:I.localToken,isWritable:!0,isSigner:!1},{pubkey:I.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:I.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:S.publicKey,isWritable:!0,isSigner:!0},{pubkey:d,isWritable:!1,isSigner:!1},{pubkey:l,isWritable:!1,isSigner:!1},{pubkey:_.emitter,isWritable:!1,isSigner:!1},{pubkey:_.bridgeConfig,isWritable:!0,isSigner:!1},{pubkey:_.sequenceKey,isWritable:!0,isSigner:!1},{pubkey:_.feeCollector,isWritable:!0,isSigner:!1},{pubkey:_.shimMessage,isWritable:!0,isSigner:!1},{pubkey:y,isWritable:!1,isSigner:!1},{pubkey:n.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:_.shimEventAuth,isWritable:!1,isSigner:!1},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:p,isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1}],O=c.Buffer$1.alloc(mn.span);return mn.encode({instruction:le("bridge_with_fee_shim")},O),{instruction:new n.TransactionInstruction({keys:k,data:O,programId:b}),signers:[S]}}var fn=n.LayoutExports.struct([n.LayoutExports.blob(8,"instruction")]);function bn(e,t,a,r,u){const s=[null,null],y=new n.PublicKey(h.TOKEN_PROGRAM_ID),o=new n.PublicKey(h.ASSOCIATED_TOKEN_PROGRAM_ID),p=new n.PublicKey(h.CCTP_CORE_PROGRAM_ID),l=new n.PublicKey(h.CCTP_TOKEN_PROGRAM_ID),d=new n.PublicKey(h.MCTP_PROGRAM_ID),b=new n.PublicKey(r),g=new n.PublicKey(a),T=q(g,e,!0),f=rn(g,t),w=n.Keypair.generate(),[I]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("LOCKED_FEE"),g.toBuffer(),w.publicKey.toBytes()],d);let _;u&&u>BigInt(0)?_=q(g,b,!1):_=new n.PublicKey(h.MCTP_PROGRAM_ID);const S=q(g,I,!0);s[0]=ye(b,S,I,g);const k=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:T,isWritable:!0,isSigner:!1},{pubkey:b,isWritable:!0,isSigner:!0},{pubkey:_,isWritable:!0,isSigner:!1},{pubkey:I,isWritable:!0,isSigner:!1},{pubkey:S,isWritable:!0,isSigner:!1},{pubkey:g,isWritable:!0,isSigner:!1},{pubkey:f.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:f.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:f.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:f.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:f.localToken,isWritable:!0,isSigner:!1},{pubkey:f.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:f.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:w.publicKey,isWritable:!0,isSigner:!0},{pubkey:l,isWritable:!1,isSigner:!1},{pubkey:p,isWritable:!1,isSigner:!1},{pubkey:y,isWritable:!1,isSigner:!1},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1}],O=c.Buffer$1.alloc(fn.span);fn.encode({instruction:le("bridge_locked_fee")},O);const K=new n.TransactionInstruction({keys:k,data:O,programId:d});return s[1]=K,{instructions:s,signer:w}}var Tn=n.LayoutExports.struct([n.LayoutExports.blob(8,"instruction")]);function hn(e,t,a,r,u){const s=new n.PublicKey(h.TOKEN_PROGRAM_ID),y=new n.PublicKey(h.CCTP_CORE_PROGRAM_ID),o=new n.PublicKey(h.CCTP_TOKEN_PROGRAM_ID),p=new n.PublicKey(h.MCTP_PROGRAM_ID),l=new n.PublicKey(r),d=new n.PublicKey(a),b=q(d,e,!0),g=rn(d,t),T=n.Keypair.generate(),[f]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("ORDER_SOLANA_SOURCE"),e.toBuffer()],p);let w;u&&u>BigInt(0)?w=q(d,l,!1):w=new n.PublicKey(h.MCTP_PROGRAM_ID);const I=[{pubkey:e,isWritable:!1,isSigner:!1},{pubkey:b,isWritable:!0,isSigner:!1},{pubkey:l,isWritable:!0,isSigner:!0},{pubkey:w,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!1},{pubkey:f,isWritable:!0,isSigner:!1},{pubkey:g.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:g.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:g.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:g.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:g.localToken,isWritable:!0,isSigner:!1},{pubkey:g.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:g.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:T.publicKey,isWritable:!0,isSigner:!0},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:y,isWritable:!1,isSigner:!1},{pubkey:new n.PublicKey(h.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:s,isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1}],_=c.Buffer$1.alloc(Tn.span);return Tn.encode({instruction:le("create_order")},_),{instruction:new n.TransactionInstruction({keys:I,data:_,programId:p}),signer:T}}var gn=n.LayoutExports.struct([n.LayoutExports.blob(8,"instruction"),n.LayoutExports.blob(32,"destAddress"),n.LayoutExports.blob(8,"amountInMin"),n.LayoutExports.blob(8,"gasDrop"),n.LayoutExports.blob(8,"feeRedeem"),n.LayoutExports.blob(8,"feeSolana"),n.LayoutExports.u16("destinationChain"),n.LayoutExports.blob(32,"keyRnd"),n.LayoutExports.u8("mode")]);function jt(e){if(e.mode!=="WITH_FEE"&&e.mode!=="LOCK_FEE")throw new Error("Invalid mode: "+e.mode);if(e.customPayload&&e.mode!=="WITH_FEE")throw new Error("Custom payload is only supported in WITH_FEE mode");const t=new n.PublicKey(e.swapperAddress),a=new n.PublicKey(e.relayerAddress),r=new n.PublicKey(e.mintAddress),u=q(r,e.ledger,!0),s=G(e.toChain),y=c.Buffer$1.from(ae(x(e.destinationAddress,s))),o=z(e.amountInMin64),p=z(B(e.gasDrop,Math.min(oe(e.toChain),8))),l=z(B(e.feeRedeem,re)),d=z(e.feeSolana),b=e.referrerAddress?c.Buffer$1.from(ae(x(e.referrerAddress,s))):n.SystemProgram.programId.toBuffer(),g=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:e.customPayload||new n.PublicKey(h.MCTP_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1},{pubkey:a,isWritable:!0,isSigner:!0},{pubkey:new n.PublicKey(b),isWritable:!1,isSigner:!1}],T=c.Buffer$1.alloc(gn.span);return gn.encode({instruction:le("init_bridge_ledger_gasless"),destAddress:y,amountInMin:o,gasDrop:p,feeRedeem:l,feeSolana:d,destinationChain:s,keyRnd:e.randomKey.toBuffer(),mode:e.mode==="WITH_FEE"?1:2},T),new n.TransactionInstruction({keys:g,data:T,programId:new n.PublicKey(h.MCTP_PROGRAM_ID)})}var wn=n.LayoutExports.struct([n.LayoutExports.blob(8,"instruction"),n.LayoutExports.blob(32,"destAddress"),n.LayoutExports.blob(8,"amountInMin"),n.LayoutExports.blob(8,"gasDrop"),n.LayoutExports.blob(8,"feeRedeem"),n.LayoutExports.blob(8,"feeSolana"),n.LayoutExports.u16("destinationChain"),n.LayoutExports.blob(32,"keyRnd"),n.LayoutExports.u8("mode"),n.LayoutExports.blob(32,"tokenOut"),n.LayoutExports.blob(8,"amountOutMin"),n.LayoutExports.blob(8,"deadline"),n.LayoutExports.blob(32,"refAddress"),n.LayoutExports.u8("feeRateRef")]);function In(e){const t=new n.PublicKey(e.swapperAddress),a=new n.PublicKey(e.relayerAddress),r=new n.PublicKey(e.mintAddress),u=q(r,e.ledger,!0),s=G(e.toChain),y=c.Buffer$1.from(ae(x(e.destinationAddress,s))),o=z(e.amountInMin64),p=z(B(e.gasDrop,Math.min(oe(e.toChain),8))),l=z(B(e.feeRedeem,re)),d=z(e.feeSolana),b=c.Buffer$1.from(ae(x(e.tokenOut,s))),g=e.referrerAddress?c.Buffer$1.from(ae(x(e.referrerAddress,s))):n.SystemProgram.programId.toBuffer(),T=z(B(e.amountOutMin,Math.min(8,e.tokenOutDecimals))),f=z(e.deadline),w=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1},{pubkey:a,isWritable:!0,isSigner:!0}],I=c.Buffer$1.alloc(wn.span);return wn.encode({instruction:le("init_order_ledger_gasless"),destAddress:y,amountInMin:o,gasDrop:p,feeRedeem:l,feeSolana:d,destinationChain:s,keyRnd:e.randomKey.toBuffer(),mode:3,tokenOut:b,refAddress:g,amountOutMin:T,deadline:f,feeRateRef:e.feeRateRef},I),new n.TransactionInstruction({keys:w,data:I,programId:new n.PublicKey(h.MCTP_PROGRAM_ID)})}async function Pr(e,t,a,r,u,s={}){const y=s?.forceSkipCctpInstructions||!1,o=s?.allowSwapperOffCurve||!1;if(e.toChain==="solana")throw new Error("Unsupported destination chain: "+e.toChain);const p=e.relayer||t;let l=[],d=[],b=[],g=[],T=[],f=[],w=[];const I=n.Keypair.generate();let _=null;l.push(Ne(e.fromChain));const S=new n.PublicKey(h.MCTP_PROGRAM_ID),k=new n.PublicKey(t),O=new n.PublicKey(p),K=n.Keypair.generate(),Z=e.deadline64?BigInt(e.deadline64):BigInt(0);if(e.hasAuction&&!Number(e.deadline64))throw new Error("Swap mode requires a timeout");const J=e.hasAuction?"LEDGER_ORDER":"LEDGER_BRIDGE",[R]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from(J),k.toBytes(),K.publicKey.toBytes()],S),U=q(new n.PublicKey(e.mctpInputContract),R,!0),X=e.cheaperChain==="solana"?"LOCK_FEE":"WITH_FEE";if(e.toChain==="sui"&&!e.toToken.verifiedAddress)throw new Error("Missing verified address for SUI coin");const Y=e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract;if(s.customPayload&&e.hasAuction)throw new Error("Cannot use customPayload with create Mctp swap");let N=null;const ue=Math.floor(Math.random()*65e3);if(s.customPayload&&(N=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("PAYLOAD"),O.toBuffer(),(()=>{const m=c.Buffer$1.alloc(2);return m.writeUInt16LE(ue,0),m})()],new n.PublicKey(h.PAYLOAD_WRITER_PROGRAM_ID))[0],d.push(v(Gt(O,N,c.Buffer$1.from(s.customPayload),ue)))),e.fromToken.contract===e.mctpInputContract){const m=BigInt(y?e.solanaRelayerFee64:0);if(e.suggestedPriorityFee>0&&d.push(n.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),d.push(v(ye(O,U,R,new n.PublicKey(e.mctpInputContract)))),d.push(v(ve(q(new n.PublicKey(e.mctpInputContract),k,o),U,k,BigInt(e.effectiveAmountIn64)))),e.hasAuction){if(d.push(v(In({ledger:R,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:K.publicKey,toChain:e.toChain,destinationAddress:a,feeSolana:m,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),tokenOut:Y,tokenOutDecimals:e.toToken.decimals,referrerAddress:r,amountOutMin:e.minAmountOut,deadline:Z,feeRateRef:e.referrerBps,relayerAddress:p}),s.skipProxyMayanInstructions)),!y){const{instruction:A,signer:E}=hn(R,e.toChain,e.mctpInputContract,p,m);d.push(v(A,s.skipProxyMayanInstructions)),b.push(E)}}else if(d.push(v(jt({ledger:R,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:K.publicKey,toChain:e.toChain,destinationAddress:a,feeSolana:m,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),mode:X,referrerAddress:r,relayerAddress:p,customPayload:N}),s.skipProxyMayanInstructions)),!y)if(X==="WITH_FEE"){const{instruction:A,signers:E}=$t(R,e.toChain,e.mctpInputContract,p,m,e.fromChain);d.push(v(A,s.skipProxyMayanInstructions)),b.push(...E)}else{const{instructions:A,signer:E}=bn(R,e.toChain,e.mctpInputContract,p,m);d.push(v(A[0])),d.push(v(A[1],s.skipProxyMayanInstructions)),b.push(E)}}else{const m=await De({minMiddleAmount:e.minMiddleAmount,middleToken:e.mctpInputContract,userWallet:t,userLedger:R.toString(),slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:e.hasAuction?"SWAP":X,fillMaxAccounts:s?.separateSwapTx||!1,tpmTokenAccount:s?.separateSwapTx?I.publicKey.toString():null,referrerAddress:r||null,chainName:e.fromChain}),A=Fe(m,u,O);s?.separateSwapTx&&m.maxAccountsFilled?(be(A,I.publicKey,k),w=await Re(u,O,new n.PublicKey(e.mctpInputContract),k,I),f.push(...A.computeBudgetInstructions),A.setupInstructions&&f.push(...A.setupInstructions),f.push(A.swapInstruction),A.cleanupInstruction&&f.push(A.cleanupInstruction),T.push(...A.addressLookupTableAddresses),d.push(v(ye(O,U,R,new n.PublicKey(e.mctpInputContract)))),d.push(v(Jt(k,new n.PublicKey(e.mctpInputContract),I.publicKey,U,O)))):(be(A,U,k),d.push(...A.computeBudgetInstructions),A.setupInstructions&&d.push(...A.setupInstructions.map(W=>v(W))),d.push(v(A.swapInstruction)),A.cleanupInstruction&&d.push(v(A.cleanupInstruction)),l.push(...A.addressLookupTableAddresses));const E=f.length>0?BigInt(0):BigInt(e.solanaRelayerFee64);if(e.hasAuction){if(d.push(v(In({ledger:R,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:K.publicKey,toChain:e.toChain,destinationAddress:a,feeSolana:E,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:B(e.minMiddleAmount,re),tokenOut:Y,tokenOutDecimals:e.toToken.decimals,referrerAddress:r,amountOutMin:e.minAmountOut,deadline:Z,feeRateRef:e.referrerBps,relayerAddress:p}),s.skipProxyMayanInstructions)),f.length>0){const{instruction:W,signer:Q}=hn(R,e.toChain,e.mctpInputContract,p,E);d.push(v(W,s.skipProxyMayanInstructions)),b.push(Q)}}else if(d.push(v(jt({ledger:R,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:K.publicKey,toChain:e.toChain,destinationAddress:a,feeSolana:E,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:B(e.minMiddleAmount,re),mode:X,referrerAddress:r,relayerAddress:p,customPayload:N}),s.skipProxyMayanInstructions)),f.length>0)if(X==="WITH_FEE"){const{instruction:W,signers:Q}=$t(R,e.toChain,e.mctpInputContract,p,E,e.fromChain);d.push(v(W,s.skipProxyMayanInstructions)),b.push(...Q)}else{const{instructions:W,signer:Q}=bn(R,e.toChain,e.mctpInputContract,p,E);d.push(v(W[0])),d.push(v(W[1],s.skipProxyMayanInstructions)),b.push(Q)}}N&&d.push(v(Vt(O,N,ue)));const V=await xe(l.concat(T),u);if(g=V.slice(0,l.length),f.length>0){const m=V.slice(l.length);_={messageV0:{payerKey:k,instructions:f,addressLookupTableAccounts:m},createTmpTokenAccountIxs:w,tmpTokenAccount:I}}return{instructions:d,signers:b,lookupTables:g,swapMessageV0Params:_}}function kr(e,t,a,r,u,s){const y=e.swiftVersion==="V2"?272:239,o=c.Buffer$1.alloc(y);let p=0;if(e.swiftVersion==="V2"){const J=Kn;o.writeUInt8(J,p),p+=1}const l=G(e.fromChain),d=c.Buffer$1.from(ae(x(t,l)));o.set(d,p),p+=32,o.writeUInt16BE(l,p),p+=2;const b=e.fromChain==="sui"?e.swiftVerifiedInputAddress:e.swiftInputContract,g=b===c.ZeroAddress?x(n.SystemProgram.programId.toString(),G("solana")):x(b,l),T=c.Buffer$1.from(ae(g));o.set(T,p),p+=32;const f=G(e.toChain),w=c.Buffer$1.from(ae(x(a,f)));if(o.set(w,p),p+=32,o.writeUInt16BE(f,p),p+=2,e.toChain==="sui"&&!e.toToken.verifiedAddress)throw new Error("Missing verified address for SUI coin");const I=an(e),_=c.Buffer$1.from(ae(I));if(o.set(_,p),p+=32,o.writeBigUInt64BE(B(e.minAmountOut,Math.min(e.toToken.decimals,Me(e.toChain,e.type))),p),p+=8,o.writeBigUInt64BE(B(e.gasDrop,Math.min(oe(e.toChain),Me(e.toChain,e.type))),p),p+=8,!e.cancelRelayerFee64||!e.refundRelayerFee64)throw new Error("Missing relayer fees");o.writeBigUInt64BE(BigInt(e.cancelRelayerFee64),p),p+=8,o.writeBigUInt64BE(BigInt(e.refundRelayerFee64),p),p+=8,o.writeBigUInt64BE(BigInt(e.deadline64),p),p+=8;const S=e.swiftVersion==="V2"?l:f,k=r?c.Buffer$1.from(ae(x(r,S))):n.SystemProgram.programId.toBuffer();o.set(k,p),p+=32,o.writeUInt8(e.referrerBps,p),p+=1;const O=e.protocolBps;o.writeUInt8(O,p),p+=1,o.writeUInt8(e.swiftAuctionMode,p),p+=1;const K=c.Buffer$1.from(ae(u));if(K.length!==32)throw new Error("Invalid random key length");if(o.set(K,p),p+=32,e.swiftVersion==="V2"){let J;J=n.SystemProgram.programId.toBuffer(),o.set(J,p),p+=32}if(p!==y)throw new Error(`Invalid order data size: ${p}`);const Z=c.keccak256(o);return c.Buffer$1.from(ae(Z))}var An=n.LayoutExports.struct([n.LayoutExports.blob(8,"instruction"),n.LayoutExports.blob(8,"amountInMin"),n.LayoutExports.u8("nativeInput"),n.LayoutExports.blob(8,"feeSubmit"),n.LayoutExports.blob(32,"destAddress"),n.LayoutExports.u16("destinationChain"),n.LayoutExports.blob(32,"tokenOut"),n.LayoutExports.blob(8,"amountOutMin"),n.LayoutExports.blob(8,"gasDrop"),n.LayoutExports.blob(8,"feeCancel"),n.LayoutExports.blob(8,"feeRefund"),n.LayoutExports.blob(8,"deadline"),n.LayoutExports.blob(32,"refAddress"),n.LayoutExports.u8("feeRateRef"),n.LayoutExports.u8("feeRateMayan"),n.LayoutExports.u8("auctionMode"),n.LayoutExports.blob(32,"randomKey")]);function Er(e){const{quote:t}=e,a=t.swiftInputContract===c.ZeroAddress?Qt:new n.PublicKey(t.swiftInputContract),r=G(t.toChain);if(r!==t.toToken.wChainId)throw new Error(`Destination chain ID mismatch: ${r} != ${t.toToken.wChainId}`);const u=t.swiftVersion==="V2"?[{pubkey:e.trader,isWritable:!1,isSigner:!1},{pubkey:e.relayer,isWritable:!0,isSigner:!0},{pubkey:e.state,isWritable:!0,isSigner:!1},{pubkey:e.stateAccount,isWritable:!0,isSigner:!1},{pubkey:e.relayerAccount,isWritable:!0,isSigner:!1},{pubkey:new n.PublicKey(h.SWIFT_V2_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:new n.PublicKey(h.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:e.tokenProgramId,isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1}]:[{pubkey:e.trader,isWritable:!1,isSigner:!0},{pubkey:e.relayer,isWritable:!0,isSigner:!0},{pubkey:e.state,isWritable:!0,isSigner:!1},{pubkey:e.stateAccount,isWritable:!0,isSigner:!1},{pubkey:e.relayerAccount,isWritable:!0,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:new n.PublicKey(h.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:new n.PublicKey(h.TOKEN_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1}];u.forEach((d,b)=>{console.log(b,d.pubkey)});const s=c.Buffer$1.alloc(An.span),y=t.swiftVersion==="V2"?G("solana"):r,o=e.referrerAddress?c.Buffer$1.from(ae(x(e.referrerAddress,y))):n.SystemProgram.programId.toBuffer(),p=t.fromToken.contract===t.swiftInputContract?BigInt(t.effectiveAmountIn64):B(t.minMiddleAmount,t.swiftInputDecimals);if(t.toChain==="sui"&&!t.toToken.verifiedAddress)throw new Error("Missing verified address for SUI coin");if(!t.cancelRelayerFee64||!t.refundRelayerFee64)throw new Error("Missing relayer fees");const l=an(t);return An.encode({instruction:le("init_order"),amountInMin:z(p),nativeInput:t.swiftInputContract===c.ZeroAddress?1:0,feeSubmit:z(BigInt(t.submitRelayerFee64)),destAddress:c.Buffer$1.from(ae(x(e.destinationAddress,r))),destinationChain:r,tokenOut:c.Buffer$1.from(ae(l)),amountOutMin:z(B(t.minAmountOut,Math.min(t.toToken.decimals,Me(t.toChain,t.type)))),gasDrop:z(B(t.gasDrop,Math.min(oe(t.toChain),Me(t.toChain,t.type)))),feeCancel:z(BigInt(t.cancelRelayerFee64)),feeRefund:z(BigInt(t.refundRelayerFee64)),deadline:z(e.deadline),refAddress:o,feeRateRef:t.referrerBps,feeRateMayan:t.protocolBps,auctionMode:t.swiftAuctionMode,randomKey:e.randomKey.toBuffer()},s),new n.TransactionInstruction({keys:u,data:s,programId:new n.PublicKey(t.swiftVersion==="V2"?h.SWIFT_V2_PROGRAM_ID:h.SWIFT_PROGRAM_ID)})}async function Rr(e,t,a,r,u,s={},y,o){if(e.type!=="SWIFT")throw new Error("Unsupported quote type for Swift: "+e.type);if(e.toChain==="solana")throw new Error("Unsupported destination chain: "+e.toChain);if(e.swiftVersion!=="V2"&&(e.toChain==="sui"||e.toChain==="ton"))throw new Error("Swift V2 is required for SUI and TON chain");const p=e.swiftVersion,l=s.allowSwapperOffCurve||!1;let d=[],b=[],g=[];g.push(Ne(e.fromChain));let T=[],f=[],w=[];const I=n.Keypair.generate();let _=null;const S=new n.PublicKey(t),k=new n.PublicKey(Un(e));if(!Number(e.deadline64))throw new Error("Swift mode requires a timeout");const O=BigInt(e.deadline64),K=kr(e,t,a,r,k.toBuffer().toString("hex")),Z=c.Buffer$1.alloc(2);Z.writeUInt16LE(G(e.toChain));const[J]=e.swiftVersion==="V2"?n.PublicKey.findProgramAddressSync([c.Buffer$1.from("STATE_SOURCE"),K,Z],new n.PublicKey(h.SWIFT_V2_PROGRAM_ID)):n.PublicKey.findProgramAddressSync([c.Buffer$1.from("STATE_SOURCE"),K],new n.PublicKey(h.SWIFT_PROGRAM_ID));let R;e.swiftVersion==="V2"?R=e.swiftInputContractStandard==="spl2022"?new n.PublicKey(h.TOKEN_2022_PROGRAM_ID):new n.PublicKey(h.TOKEN_PROGRAM_ID):R=new n.PublicKey(h.TOKEN_PROGRAM_ID),console.log({tokenProgramId:R});const U=e.swiftInputContract===c.ZeroAddress?Qt:new n.PublicKey(e.swiftInputContract),X=q(U,J,!0,R),Y=e.gasless?new n.PublicKey(e.relayer):S,N=q(U,Y,!1,R);if(e.fromToken.contract===e.swiftInputContract)e.suggestedPriorityFee>0&&d.push(n.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),d.push(v(ye(Y,X,J,U,R))),e.swiftInputContract===c.ZeroAddress?d.push(v(n.SystemProgram.transfer({fromPubkey:S,toPubkey:X,lamports:BigInt(e.effectiveAmountIn64)})),v($n(X))):d.push(v(ve(q(U,S,l,R),X,S,BigInt(e.effectiveAmountIn64),R)));else{const V=await De({minMiddleAmount:e.minMiddleAmount,middleToken:e.swiftInputContract,userWallet:t,slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:e.gasless?"SWIFT_GASLESS":"SWIFT",orderHash:`0x${K.toString("hex")}`,fillMaxAccounts:s?.separateSwapTx||!1,tpmTokenAccount:s?.separateSwapTx?I.publicKey.toString():null,referrerAddress:r||void 0,chainName:e.fromChain});if(e.swiftVersion!==p)throw new Error("Quote mutation is not allowed");const m=Fe(V,u,Y);if(s?.separateSwapTx&&V.maxAccountsFilled){if(be(m,I.publicKey,S),w=await Re(u,Y,U,S,I,R),e.swiftVersion!==p)throw new Error("Quote mutation is not allowed");f.push(...m.computeBudgetInstructions),m.setupInstructions&&f.push(...m.setupInstructions),f.push(m.swapInstruction),m.cleanupInstruction&&f.push(m.cleanupInstruction),T.push(...m.addressLookupTableAddresses),d.push(v(ye(Y,X,J,U,R))),d.push(v(Jt(S,U,I.publicKey,X,Y,R)))}else be(m,X,S),d.push(...m.computeBudgetInstructions),m.setupInstructions&&d.push(...m.setupInstructions.map(A=>v(A))),d.push(v(m.swapInstruction)),m.cleanupInstruction&&d.push(v(m.cleanupInstruction)),g.push(...m.addressLookupTableAddresses)}d.push(v(Er({quote:e,state:J,trader:S,stateAccount:X,randomKey:k,relayerAccount:N,relayer:Y,destinationAddress:a,deadline:O,referrerAddress:r,tokenProgramId:R}),s.skipProxyMayanInstructions));const ue=await xe(g.concat(T),u);if(b=ue.slice(0,g.length),f.length>0){const V=ue.slice(g.length);_={messageV0:{payerKey:Y,instructions:f,addressLookupTableAccounts:V},createTmpTokenAccountIxs:w,tmpTokenAccount:I}}if(console.log({randomKey:k.toBuffer().toString("hex"),hash:K.toString("hex")}),e.swiftVersion!==p)throw new Error("Quote mutation is not allowed");return{instructions:d,signers:[],lookupTables:b,swapMessageV0Params:_}}async function vr(e,t,a,r,u,s={}){if(e.toToken.contract.toLowerCase()!==h.ARBITRUM_USDC_CONTRACT.toLowerCase()||e.type!=="MCTP")throw new Error("Unsupported quote type for USDC deposit: "+e.type);if(!s?.usdcPermitSignature)throw new Error("USDC permit signature is required for this quote");if(!e.hyperCoreParams)throw new Error("HyperCore parameters are required for this quote");if(!Number(e.deadline64))throw new Error("HyperCore deposit requires timeout");const y=s.allowSwapperOffCurve||!1;let o=[],p=[],l=[],d=[];d.push(Ne(e.fromChain));let b=[],g=[],T=[];const f=n.Keypair.generate();let w=null;const I=new n.PublicKey(t),_=e.relayer||t,S=new n.PublicKey(e.hyperCoreParams.initiateTokenContract),k=Math.floor(Math.random()*65e3),[O]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("PAYLOAD"),I.toBuffer(),(()=>{const Y=c.Buffer$1.alloc(2);return Y.writeUInt16LE(k,0),Y})()],new n.PublicKey(h.PAYLOAD_WRITER_PROGRAM_ID)),K=Ln(e,a,s.usdcPermitSignature),Z=n.Keypair.generate(),J=new n.PublicKey(h.MCTP_PROGRAM_ID),[R]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("LEDGER_BRIDGE"),I.toBytes(),Z.publicKey.toBytes()],J),U=q(S,R,!0);if(e.fromToken.contract===e.hyperCoreParams.initiateTokenContract){e.suggestedPriorityFee>0&&o.push(n.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),o.push(v(ye(I,U,R,S))),o.push(v(ve(q(S,I,y),U,I,BigInt(e.hyperCoreParams.bridgeAmountUSDC64)))),o.push(v(Gt(I,O,K,k))),o.push(v(jt({ledger:R,randomKey:Z.publicKey,swapperAddress:I.toString(),mintAddress:S.toString(),mode:"WITH_FEE",feeSolana:BigInt(0),amountInMin64:BigInt(e.hyperCoreParams.bridgeAmountUSDC64),customPayload:O,destinationAddress:h.HC_ARBITRUM_DEPOSIT_PROCESSOR,referrerAddress:r,feeRedeem:0,gasDrop:e.hyperCoreParams.failureGasDrop,toChain:"arbitrum",relayerAddress:_}),s.skipProxyMayanInstructions));const{instruction:Y,signers:N}=$t(R,"arbitrum",e.hyperCoreParams.initiateTokenContract,_,BigInt(0),e.fromChain);o.push(v(Y,s.skipProxyMayanInstructions)),p.push(...N),o.push(v(Vt(I,O,k)))}else{const Y=await De({minMiddleAmount:e.minMiddleAmount,middleToken:e.hyperCoreParams.initiateTokenContract,userWallet:I.toString(),slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:"HC_USDC",fillMaxAccounts:s?.separateSwapTx||!1,tpmTokenAccount:f.publicKey.toString(),referrerAddress:r||void 0,chainName:e.fromChain}),N=Fe(Y);if(s?.separateSwapTx&&Y.maxAccountsFilled)be(N,f.publicKey,I),T=await Re(u,I,S,I,f),g.push(...N.computeBudgetInstructions),N.setupInstructions&&g.push(...N.setupInstructions),g.push(N.swapInstruction),N.cleanupInstruction&&g.push(N.cleanupInstruction),b.push(...N.addressLookupTableAddresses);else{be(N,f.publicKey,I),o.push(...N.computeBudgetInstructions);const E=await Re(u,I,S,I,f);o.push(...E.map(W=>v(W))),p.push(f),N.setupInstructions&&o.push(...N.setupInstructions.map(W=>v(W))),o.push(v(N.swapInstruction)),N.cleanupInstruction&&o.push(v(N.cleanupInstruction)),d.push(...N.addressLookupTableAddresses)}const ue=g.length>0?BigInt(0):BigInt(e.solanaRelayerFee64);let V=BigInt(e.hyperCoreParams.bridgeAmountUSDC64);g.length>0&&(V=V-BigInt(e.solanaRelayerFee64)),o.push(v(ye(I,U,R,new n.PublicKey(e.mctpInputContract)))),o.push(v(ve(f.publicKey,U,I,V)));const m=q(S,I,y),A=await u.getAccountInfo(m);if((!A||!A.data)&&o.push(v(ye(I,m,I,S))),o.push(v(Jt(I,S,f.publicKey,m,I))),o.push(v(Gt(I,O,K,k))),o.push(v(jt({ledger:R,swapperAddress:I.toString(),mintAddress:S.toString(),randomKey:Z.publicKey,mode:"WITH_FEE",feeSolana:ue,amountInMin64:V,customPayload:O,destinationAddress:h.HC_ARBITRUM_DEPOSIT_PROCESSOR,referrerAddress:r,feeRedeem:0,gasDrop:e.hyperCoreParams.failureGasDrop,toChain:"arbitrum",relayerAddress:_}),s.skipProxyMayanInstructions)),o.push(v(Vt(I,O,k))),g.length>0){const{instruction:E,signers:W}=$t(R,"arbitrum",e.hyperCoreParams.initiateTokenContract,_,BigInt(0),e.fromChain);o.push(v(E,s.skipProxyMayanInstructions)),p.push(...W)}}const X=await xe(d.concat(b),u);if(l=X.slice(0,d.length),g.length>0){const Y=X.slice(d.length);w={messageV0:{payerKey:I,instructions:g,addressLookupTableAccounts:Y},createTmpTokenAccountIxs:T,tmpTokenAccount:f}}return{instructions:o,signers:p,lookupTables:l,swapMessageV0Params:w}}async function Or(e,t,a,r,u,s={}){if(e.type!=="MONO_CHAIN")throw new Error("Unsupported quote type for mono chain: "+e.type);if(e.fromChain!=="solana")throw new Error("Unsupported destination chain for mono chain: "+e.fromChain);if(e.toChain!=="solana")throw new Error("Unsupported destination chain for mono chain: "+e.toChain);if(e.fromToken.contract===e.toToken.contract)throw new Error("From token and to token are the same: "+e.fromToken.contract);if(a.startsWith("0x"))throw new Error("Destination address should not be EVM address");try{new n.PublicKey(a)}catch{throw new Error("Invalid destination address: "+a)}let y=[],o=[],p=[];const l=new n.PublicKey(t),d=new n.PublicKey(a),b=e.toToken.contract===c.ZeroAddress?Qt:new n.PublicKey(e.toToken.contract),g=q(b,d,!0,e.toToken.standard==="spl2022"?new n.PublicKey(h.TOKEN_2022_PROGRAM_ID):new n.PublicKey(h.TOKEN_PROGRAM_ID)),T=B(e.expectedAmountOut,e.toToken.decimals),f=await De({userWallet:t,destinationWallet:a,slippageBps:e.slippageBps,fromToken:e.fromToken.contract,middleToken:e.toToken.contract,amountIn64:e.effectiveAmountIn64,expectedAmountOut64:String(T),depositMode:"MONO_CHAIN",referrerAddress:r,referrerBps:e.referrerBps,chainName:e.fromChain}),w=Fe(f);return be(w,g,l,d,l.equals(d)),Cr(w.swapInstruction,e),y.push(...w.computeBudgetInstructions),w.setupInstructions&&y.push(...w.setupInstructions.map(I=>v(I))),y.push(v(w.swapInstruction,s?.skipProxyMayanInstructions)),w.cleanupInstruction&&y.push(v(w.cleanupInstruction)),p.push(...w.addressLookupTableAddresses),p.push(Ne(e.fromChain)),o=await xe(p,u),{instructions:y,signers:[],lookupTables:o,swapMessageV0Params:null}}var _n=n.LayoutExports.struct([n.LayoutExports.blob(8,"instruction")]);function Cn(e,t,a,r,u,s,y){const o=new n.PublicKey(h.TOKEN_PROGRAM_ID),p=new n.PublicKey(h.CCTPV2_CORE_PROGRAM_ID),l=new n.PublicKey(h.CCTPV2_TOKEN_PROGRAM_ID),d=new n.PublicKey(h.FAST_MCTP_PROGRAM_ID),b=new n.PublicKey(u),g=new n.PublicKey(r),T=q(g,e,!0);let f;s&&s>BigInt(0)?f=q(g,b,!1):f=new n.PublicKey(h.FAST_MCTP_PROGRAM_ID);const w=Vn(g,a,e,t),I=n.Keypair.generate(),_=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:T,isWritable:!0,isSigner:!1},{pubkey:b,isWritable:!0,isSigner:!0},{pubkey:f,isWritable:!0,isSigner:!1},{pubkey:g,isWritable:!0,isSigner:!1},{pubkey:w.realDenyListAccount,isWritable:!1,isSigner:!1},{pubkey:w.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:w.cctpDenyListAccount,isWritable:!1,isSigner:!1},{pubkey:w.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:w.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:w.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:w.localToken,isWritable:!0,isSigner:!1},{pubkey:w.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:w.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:I.publicKey,isWritable:!0,isSigner:!0},{pubkey:p,isWritable:!1,isSigner:!1},{pubkey:l,isWritable:!1,isSigner:!1},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1}],S=c.Buffer$1.alloc(_n.span);return _n.encode({instruction:le("bridge")},S),{instruction:new n.TransactionInstruction({keys:_,data:S,programId:d}),signers:[I]}}var Mn=n.LayoutExports.struct([n.LayoutExports.blob(8,"instruction")]);function Sn(e,t,a,r,u,s){const y=new n.PublicKey(h.TOKEN_PROGRAM_ID),o=new n.PublicKey(h.CCTPV2_CORE_PROGRAM_ID),p=new n.PublicKey(h.CCTPV2_TOKEN_PROGRAM_ID),l=new n.PublicKey(h.FAST_MCTP_PROGRAM_ID),d=new n.PublicKey(u),b=new n.PublicKey(r),g=q(b,e,!0),T=Vn(b,a,e,t),f=n.Keypair.generate();let w;s&&s>BigInt(0)?w=q(b,d,!1):w=new n.PublicKey(h.FAST_MCTP_PROGRAM_ID);const I=[{pubkey:e,isWritable:!1,isSigner:!1},{pubkey:g,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!0},{pubkey:w,isWritable:!0,isSigner:!1},{pubkey:b,isWritable:!0,isSigner:!1},{pubkey:T.realDenyListAccount,isWritable:!1,isSigner:!1},{pubkey:T.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:T.cctpDenyListAccount,isWritable:!1,isSigner:!1},{pubkey:T.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:T.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:T.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:T.localToken,isWritable:!0,isSigner:!1},{pubkey:T.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:T.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:f.publicKey,isWritable:!0,isSigner:!0},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:p,isWritable:!1,isSigner:!1},{pubkey:y,isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1}],_=c.Buffer$1.alloc(Mn.span);return Mn.encode({instruction:le("create_order")},_),{instruction:new n.TransactionInstruction({keys:I,data:_,programId:l}),signer:f}}var Pn=n.LayoutExports.struct([n.LayoutExports.blob(8,"instruction"),n.LayoutExports.blob(32,"destAddress"),n.LayoutExports.blob(8,"amountInMin"),n.LayoutExports.blob(8,"gasDrop"),n.LayoutExports.blob(8,"feeRedeem"),n.LayoutExports.blob(8,"feeSolana"),n.LayoutExports.u32("destDomain"),n.LayoutExports.blob(32,"refAddress"),n.LayoutExports.u8("feeRateRef"),n.LayoutExports.u16("keyRnd"),n.LayoutExports.blob(8,"maxCircleFee"),n.LayoutExports.u32("minFinalityThreshold"),n.LayoutExports.u8("mode")]);function kn(e){const t=new n.PublicKey(e.swapperAddress),a=new n.PublicKey(e.relayerAddress),r=new n.PublicKey(e.mintAddress),u=q(r,e.ledger,!0),s=G(e.toChain),y=c.Buffer$1.from(ae(x(e.destinationAddress,s))),o=z(e.amountInMin64),p=z(B(e.gasDrop,Math.min(oe(e.toChain),8))),l=z(e.feeRedeem),d=z(e.feeSolana),b=z(e.maxCircleFee),g=e.referrerAddress?c.Buffer$1.from(ae(x(e.referrerAddress,s))):n.SystemProgram.programId.toBuffer(),T=de(e.toChain),f=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:a,isWritable:!0,isSigner:!0},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:e.customPayload||new n.PublicKey(h.FAST_MCTP_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1}],w=c.Buffer$1.alloc(Pn.span);return Pn.encode({instruction:le("init_bridge_ledger"),destAddress:y,amountInMin:o,gasDrop:p,feeRedeem:l,feeSolana:d,destDomain:T,refAddress:g,feeRateRef:e.feeRateRef??0,keyRnd:e.randomKey,maxCircleFee:b,minFinalityThreshold:e.minFinalityThreshold,mode:1},w),new n.TransactionInstruction({keys:f,data:w,programId:new n.PublicKey(h.FAST_MCTP_PROGRAM_ID)})}var En=n.LayoutExports.struct([n.LayoutExports.blob(8,"instruction"),n.LayoutExports.blob(32,"destAddress"),n.LayoutExports.blob(8,"amountInMin"),n.LayoutExports.blob(8,"gasDrop"),n.LayoutExports.blob(8,"feeRedeem"),n.LayoutExports.blob(8,"feeRefund"),n.LayoutExports.blob(8,"feeSolana"),n.LayoutExports.u32("destDomain"),n.LayoutExports.u16("keyRnd"),n.LayoutExports.u8("mode"),n.LayoutExports.blob(32,"tokenOut"),n.LayoutExports.blob(8,"amountOutMin"),n.LayoutExports.blob(8,"deadline"),n.LayoutExports.blob(32,"refAddress"),n.LayoutExports.u8("feeRateRef"),n.LayoutExports.blob(8,"maxCircleFee"),n.LayoutExports.u32("minFinalityThreshold")]);function Rn(e){const t=new n.PublicKey(e.swapperAddress),a=new n.PublicKey(e.relayerAddress),r=new n.PublicKey(e.mintAddress),u=q(r,e.ledger,!0),s=G(e.toChain),y=de(e.toChain),o=c.Buffer$1.from(ae(x(e.destinationAddress,s))),p=z(e.amountInMin64),l=z(B(e.gasDrop,Math.min(oe(e.toChain),8))),d=z(e.feeRedeem),b=z(e.feeRefund),g=z(e.feeSolana),T=z(e.maxCircleFee),f=c.Buffer$1.from(ae(x(e.tokenOut,s))),w=e.referrerAddress?c.Buffer$1.from(ae(x(e.referrerAddress,s))):n.SystemProgram.programId.toBuffer(),I=z(B(e.amountOutMin,Math.min(8,e.tokenOutDecimals))),_=z(e.deadline),S=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:a,isWritable:!0,isSigner:!0},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1}],k=c.Buffer$1.alloc(En.span);return En.encode({instruction:le("init_order_ledger"),destAddress:o,amountInMin:p,gasDrop:l,feeRedeem:d,feeRefund:b,feeSolana:g,destDomain:y,keyRnd:e.randomKey,maxCircleFee:T,minFinalityThreshold:e.minFinalityThreshold,mode:2,tokenOut:f,amountOutMin:I,deadline:_,refAddress:w,feeRateRef:e.feeRateRef},k),new n.TransactionInstruction({keys:S,data:k,programId:new n.PublicKey(h.FAST_MCTP_PROGRAM_ID)})}async function Br(e,t,a,r,u,s={}){const y=s?.forceSkipCctpInstructions||!1,o=s?.allowSwapperOffCurve||!1;if(e.toChain==="solana")throw new Error("Unsupported destination chain: "+e.toChain);const p=e.relayer||t;let l=[],d=[],b=[],g=[],T=[],f=[],w=[];const I=n.Keypair.generate();let _=null;l.push(Ne(e.fromChain));const S=new n.PublicKey(h.FAST_MCTP_PROGRAM_ID),k=new n.PublicKey(t),O=new n.PublicKey(p),K=Math.floor(Math.random()*65e3),Z=e.deadline64?BigInt(e.deadline64):BigInt(0);if(e.hasAuction&&!Number(e.deadline64))throw new Error("Swap mode requires a timeout");const J=e.hasAuction?"LEDGER_ORDER":"LEDGER_BRIDGE",[R]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from(J),k.toBytes(),(()=>{const V=c.Buffer$1.alloc(2);return V.writeUInt16LE(K,0),V})()],S),U=q(new n.PublicKey(e.fastMctpInputContract),R,!0);if(e.toChain==="sui"&&!e.toToken.verifiedAddress)throw new Error("Missing verified address for SUI coin");const X=e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract;if(e.toChain==="sui")throw new Error("Fast MCTP does not support SUI as destination chain");if(s.customPayload&&e.hasAuction)throw new Error("Cannot use customPayload with create Fast Mctp swap");let Y=null;const N=Math.floor(Math.random()*65e3);if(s.customPayload&&(Y=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("PAYLOAD"),O.toBuffer(),(()=>{const V=c.Buffer$1.alloc(2);return V.writeUInt16LE(N,0),V})()],new n.PublicKey(h.PAYLOAD_WRITER_PROGRAM_ID))[0],d.push(v(Gt(O,Y,c.Buffer$1.from(s.customPayload),N)))),e.fromToken.contract===e.fastMctpInputContract){const V=BigInt(y?e.solanaRelayerFee64:0);if(e.suggestedPriorityFee>0&&d.push(n.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),d.push(v(ye(O,U,R,new n.PublicKey(e.fastMctpInputContract)))),d.push(v(ve(q(new n.PublicKey(e.fastMctpInputContract),k,o),U,k,BigInt(e.effectiveAmountIn64)))),e.hasAuction){if(d.push(v(Rn({ledger:R,swapperAddress:t,mintAddress:e.fastMctpInputContract,randomKey:K,toChain:e.toChain,destinationAddress:a,feeSolana:V,feeRedeem:BigInt(e.redeemRelayerFee64),feeRefund:BigInt(e.refundRelayerFee64),gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),tokenOut:X,tokenOutDecimals:e.toToken.decimals,referrerAddress:r,amountOutMin:e.minAmountOut,deadline:Z,feeRateRef:e.referrerBps,relayerAddress:p,maxCircleFee:BigInt(e.circleMaxFee64),minFinalityThreshold:e.fastMctpMinFinality}),s.skipProxyMayanInstructions)),!y){const{instruction:m,signer:A}=Sn(R,k,e.toChain,e.fastMctpInputContract,p,V);d.push(v(m,s.skipProxyMayanInstructions)),b.push(A)}}else if(d.push(v(kn({ledger:R,swapperAddress:t,mintAddress:e.fastMctpInputContract,randomKey:K,toChain:e.toChain,destinationAddress:a,feeSolana:V,feeRedeem:BigInt(e.redeemRelayerFee64),gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),referrerAddress:r,relayerAddress:p,customPayload:Y,feeRateRef:e.referrerBps,maxCircleFee:BigInt(e.circleMaxFee64),minFinalityThreshold:e.fastMctpMinFinality}),s.skipProxyMayanInstructions)),!y){const{instruction:m,signers:A}=Cn(R,k,e.toChain,e.fastMctpInputContract,p,V,e.fromChain);d.push(v(m,s.skipProxyMayanInstructions)),b.push(...A)}}else{const V=await De({minMiddleAmount:e.minMiddleAmount,middleToken:e.fastMctpInputContract,userWallet:t,userLedger:R.toString(),slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:e.hasAuction?"FAST_MCTP_ORDER":"FAST_MCTP_BRIDGE",fillMaxAccounts:s?.separateSwapTx||!1,tpmTokenAccount:s?.separateSwapTx?I.publicKey.toString():null,referrerAddress:r||null,chainName:e.fromChain}),m=Fe(V,u,O);s?.separateSwapTx&&V.maxAccountsFilled?(be(m,I.publicKey,k),w=await Re(u,O,new n.PublicKey(e.fastMctpInputContract),k,I),f.push(...m.computeBudgetInstructions),m.setupInstructions&&f.push(...m.setupInstructions),f.push(m.swapInstruction),m.cleanupInstruction&&f.push(m.cleanupInstruction),T.push(...m.addressLookupTableAddresses),d.push(v(ye(O,U,R,new n.PublicKey(e.fastMctpInputContract)))),d.push(v(Jt(k,new n.PublicKey(e.fastMctpInputContract),I.publicKey,U,O)))):(be(m,U,k),d.push(...m.computeBudgetInstructions),m.setupInstructions&&d.push(...m.setupInstructions.map(E=>v(E))),d.push(v(m.swapInstruction)),m.cleanupInstruction&&d.push(v(m.cleanupInstruction)),l.push(...m.addressLookupTableAddresses));const A=f.length>0?BigInt(0):BigInt(e.solanaRelayerFee64);if(e.hasAuction){if(d.push(v(Rn({ledger:R,swapperAddress:t,mintAddress:e.fastMctpInputContract,randomKey:K,toChain:e.toChain,destinationAddress:a,feeSolana:A,feeRedeem:BigInt(e.redeemRelayerFee64),feeRefund:BigInt(e.refundRelayerFee64),gasDrop:e.gasDrop,amountInMin64:B(e.minMiddleAmount,re),tokenOut:X,tokenOutDecimals:e.toToken.decimals,referrerAddress:r,amountOutMin:e.minAmountOut,deadline:Z,feeRateRef:e.referrerBps,relayerAddress:p,maxCircleFee:BigInt(e.circleMaxFee64),minFinalityThreshold:e.fastMctpMinFinality}),s.skipProxyMayanInstructions)),f.length>0){const{instruction:E,signer:W}=Sn(R,k,e.toChain,e.fastMctpInputContract,p,A);d.push(v(E,s.skipProxyMayanInstructions)),b.push(W)}}else if(d.push(v(kn({ledger:R,swapperAddress:t,mintAddress:e.fastMctpInputContract,randomKey:K,toChain:e.toChain,destinationAddress:a,feeSolana:A,feeRedeem:BigInt(e.redeemRelayerFee64),gasDrop:e.gasDrop,amountInMin64:B(e.minMiddleAmount,re),referrerAddress:r,feeRateRef:e.referrerBps,relayerAddress:p,customPayload:Y,maxCircleFee:BigInt(e.circleMaxFee64),minFinalityThreshold:e.fastMctpMinFinality}),s.skipProxyMayanInstructions)),f.length>0){const{instruction:E,signers:W}=Cn(R,k,e.toChain,e.fastMctpInputContract,p,A,e.fromChain);d.push(v(E,s.skipProxyMayanInstructions)),b.push(...W)}}Y&&d.push(v(Vt(O,Y,N)));const ue=await xe(l.concat(T),u);if(g=ue.slice(0,l.length),f.length>0){const V=ue.slice(l.length);_={messageV0:{payerKey:k,instructions:f,addressLookupTableAccounts:V},createTmpTokenAccountIxs:w,tmpTokenAccount:I}}return{instructions:d,signers:b,lookupTables:g,swapMessageV0Params:_}}var Dr=420,vn=n.LayoutExports.struct([n.LayoutExports.u8("instruction"),n.LayoutExports.u8("stateNonce"),n.LayoutExports.blob(8,"amount"),n.LayoutExports.blob(8,"minAmountOut"),n.LayoutExports.blob(8,"deadline"),n.LayoutExports.blob(8,"feeSwap"),n.LayoutExports.blob(8,"feeReturn"),n.LayoutExports.blob(8,"feeCancel"),n.LayoutExports.blob(8,"gasDrop"),n.LayoutExports.u16("destinationChain"),n.LayoutExports.blob(32,"destinationAddress"),n.LayoutExports.u8("unwrapRedeem"),n.LayoutExports.u8("unwrapRefund"),n.LayoutExports.u8("mayanFeeNonce"),n.LayoutExports.u8("referrerFeeNonce")]);async function xr(e,t,a,r,u,s={}){const y=nn(e,r);if(e.fromChain==="hypercore")throw new Error("HyperCore as source chain is not supported in Solana");if(e.toChain==="hypercore"){if(s.customPayload)throw new Error("Custom payload is not supported for HyperCore");return vr(e,t,a,y,u,s)}if(e.type==="MCTP")return Pr(e,t,a,y,u,s);if(e.type==="SWIFT")return Rr(e,t,a,y,u,s);if(e.type==="MONO_CHAIN"){if(s.customPayload)throw new Error("Custom payload is not supported for MONO_CHAIN yet");return Or(e,t,a,y,u,s)}if(e.type==="FAST_MCTP")return Br(e,t,a,y,u,s);if(s.customPayload)throw new Error("Custom payload is not supported for WH from Solana");let o=[];const p=u??new n.Connection("https://rpc.ankr.com/solana"),l=new n.PublicKey(h.MAYAN_PROGRAM_ID),d=new n.PublicKey(h.TOKEN_PROGRAM_ID),b=new n.PublicKey(t),g=new n.PublicKey(h.AUCTION_PROGRAM_ID);e.suggestedPriorityFee>0&&o.push(n.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee}));let T;y?T=new n.PublicKey(y):T=n.SystemProgram.programId;const[f,w]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("MAYANFEE")],l),[I,_]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("REFERRERFEE"),T.toBuffer()],l),S=n.Keypair.generate(),k=n.Keypair.generate(),[O,K]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("V2STATE"),c.Buffer$1.from(S.publicKey.toBytes()),c.Buffer$1.from(k.publicKey.toBytes())],l),Z=new n.PublicKey(e.fromToken.mint),J=new n.PublicKey(e.toToken.mint),R=q(Z,b),U=q(Z,O,!0),[[X,Y],N,ue]=await Promise.all([p.getMultipleAccountsInfo([R,U],"finalized"),p.getMinimumBalanceForRentExemption(Dr),wr()]);(!X||X.data.length===0)&&o.push(ye(b,R,b,Z)),(!Y||Y.data.length===0)&&o.push(ye(b,U,O,Z)),e.fromToken.contract===c.ZeroAddress&&(o.push(n.SystemProgram.transfer({fromPubkey:b,toPubkey:R,lamports:BigInt(e.effectiveAmountIn64)})),o.push($n(R)));const V=BigInt(e.effectiveAmountIn64),m=n.Keypair.generate();o.push(Tr(R,m.publicKey,b,V)),o.push(n.SystemProgram.transfer({fromPubkey:b,toPubkey:m.publicKey,lamports:N}));const A=[{pubkey:m.publicKey,isWritable:!1,isSigner:!0},{pubkey:S.publicKey,isWritable:!1,isSigner:!0},{pubkey:k.publicKey,isWritable:!1,isSigner:!0},{pubkey:O,isWritable:!0,isSigner:!1},{pubkey:R,isWritable:!0,isSigner:!1},{pubkey:b,isWritable:!1,isSigner:!1},{pubkey:U,isWritable:!0,isSigner:!1},{pubkey:Z,isWritable:!1,isSigner:!1},{pubkey:J,isWritable:!1,isSigner:!1},{pubkey:g,isWritable:!1,isSigner:!1},{pubkey:T,isWritable:!1,isSigner:!1},{pubkey:f,isWritable:!1,isSigner:!1},{pubkey:I,isWritable:!1,isSigner:!1},{pubkey:m.publicKey,isWritable:!0,isSigner:!0},{pubkey:ue,isWritable:!1,isSigner:!1},{pubkey:n.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:n.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:d,isWritable:!1,isSigner:!1},{pubkey:n.SystemProgram.programId,isWritable:!1,isSigner:!1}],E=G(e.toChain);if(E===1){const F=await p.getAccountInfo(new n.PublicKey(a));if(F&&F.owner&&F.owner.equals(d))throw new Error("Destination address is not about token account. It should be a owner address")}const W=c.Buffer$1.from(ae(x(a,E)));if(!e.mintDecimals)throw new Error("Mint decimals not provided");const Q=B(e.minAmountOut,e.mintDecimals.to),j=B(e.swapRelayerFee,e.mintDecimals.from),me=B(e.redeemRelayerFee,e.mintDecimals.to),te=B(e.refundRelayerFee,e.mintDecimals.from),he=B(e.gasDrop,Za(e.toChain)),ne=e.toToken.contract===c.ZeroAddress,i=e.fromToken.contract===c.ZeroAddress;if(!Number(e.deadline64))throw new Error("Deadline is not valid");const C=BigInt(e.deadline64),M=c.Buffer$1.alloc(vn.span),P={instruction:101,stateNonce:K,amount:z(V),minAmountOut:z(Q),deadline:z(C),feeSwap:z(j),feeReturn:z(me),feeCancel:z(te),gasDrop:z(he),destinationChain:E,destinationAddress:W,unwrapRedeem:ne?1:0,unwrapRefund:i?1:0,mayanFeeNonce:w,referrerFeeNonce:_};vn.encode(P,M);const D=new n.TransactionInstruction({keys:A,data:M,programId:l});return o.push(D),{instructions:o,signers:[m,S,k],lookupTables:[],swapMessageV0Params:null}}function Fr(e,t,a,r,u,s){const y=Te(Number(u)),o=G(e.fromChain),p=G(e.toChain);if(o!==y)throw new Error(`Signer chain id(${Number(u)}) and quote from chain are not same! ${o} !== ${y}`);if(!e.swiftMayanContract)throw new Error("SWIFT contract address is missing");if(e.toToken.wChainId!==p)throw new Error(`Destination chain ID mismatch: ${p} != ${e.toToken.wChainId}`);if(e.swiftVersion!=="V2"&&e.toChain==="sui")throw new Error("Swift V2 is required for SUI chain");const l=e.swiftMayanContract;if(!Number(e.deadline64))throw new Error("Swift order requires timeout");const d=BigInt(e.deadline64),b=e.swiftInputContract,g=BigInt(e.effectiveAmountIn64);let T;const f=e.swiftVersion==="V2"?o:p;r?T=x(r,f):T=x(n.SystemProgram.programId.toString(),1);const w="0x"+Un(e).toString("hex");if(e.toChain==="sui"&&!e.toToken.verifiedAddress)throw new Error("Missing verified address for SUI coin");const I=an(e),_=B(e.minAmountOut,Math.min(e.toToken.decimals,Me(e.toChain,e.type))),S=B(e.gasDrop,Math.min(oe(e.toChain),Me(e.toChain,e.type)));if(!e.refundRelayerFee64||!e.cancelRelayerFee64)throw new Error("Swift order requires refund and cancel fees");const k=x(a,p),O={payloadType:Kn,trader:x(t,o),tokenOut:I,minAmountOut:_,gasDrop:S,cancelFee:BigInt(e.cancelRelayerFee64),refundFee:BigInt(e.refundRelayerFee64),deadline:d,destAddr:k,destChainId:p,referrerAddr:T,referrerBps:e.referrerBps||0,auctionMode:e.swiftAuctionMode,random:w};return{contractAddress:l,tokenIn:b,amountIn:g,order:O,customPayload:"0x"}}async function Nr(e,t,a,r,u,s,y){if(e.type!=="SWIFT")throw new Error("Quote type is not SWIFT");if(!Number.isFinite(Number(u)))throw new Error("Invalid signer chain id");if(!Number(e.deadline64))throw new Error("Swift order requires timeout");u=Number(u);const o=Pe,p=new c.Contract(h.MAYAN_FORWARDER_CONTRACT,ke.abi),{tokenIn:l,amountIn:d,order:b,contractAddress:g,customPayload:T}=Fr(e,t,a,r,u);let f;const w=new c.Contract(g,e.swiftVersion==="V2"?cr.abi:dr.abi);e.swiftInputContract===c.ZeroAddress?f=w.interface.encodeFunctionData("createOrderWithEth",e.swiftVersion==="V2"?[b,T]:[b]):f=w.interface.encodeFunctionData("createOrderWithToken",e.swiftVersion==="V2"?[l,d,b,T]:[l,d,b]);let I,_,S;if(e.fromToken.contract===e.swiftInputContract)e.fromToken.contract===c.ZeroAddress?(I="forwardEth",_=[g,f],S=c.toBeHex(d)):(I="forwardERC20",_=[l,d,o,g,f],S=c.toBeHex(0));else{const{swapRouterCalldata:O,swapRouterAddress:K}=await Zt({forwarderAddress:h.MAYAN_FORWARDER_CONTRACT,slippageBps:e.slippageBps,referrerAddress:r,fromToken:e.fromToken.contract,middleToken:e.swiftInputContract,chainName:e.fromChain,amountIn64:e.effectiveAmountIn64});if(!e.minMiddleAmount)throw new Error("Swift swap requires middle amount, router address and calldata");const Z=e.fromToken.contract,J=B(e.minMiddleAmount,e.swiftInputDecimals);e.fromToken.contract===c.ZeroAddress?(I="swapAndForwardEth",_=[d,K,O,e.swiftInputContract,J,g,f],S=c.toBeHex(d)):(I="swapAndForwardERC20",_=[Z,d,o,K,O,e.swiftInputContract,J,g,f],S=c.toBeHex(0))}return{data:p.interface.encodeFunctionData(I,_),to:h.MAYAN_FORWARDER_CONTRACT,value:S,chainId:u,_forwarder:{method:I,params:_}}}var jn={abi:[{type:"constructor",inputs:[{name:"_cctpTokenMessengerV2",type:"address",internalType:"address"},{name:"_feeManager",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"receive",stateMutability:"payable"},{type:"function",name:"bridge",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"redeemFee",type:"uint64",internalType:"uint64"},{name:"circleMaxFee",type:"uint256",internalType:"uint256"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"destAddr",type:"bytes32",internalType:"bytes32"},{name:"destDomain",type:"uint32",internalType:"uint32"},{name:"referrerAddress",type:"bytes32",internalType:"bytes32"},{name:"referrerBps",type:"uint8",internalType:"uint8"},{name:"payloadType",type:"uint8",internalType:"uint8"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"},{name:"customPayload",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"cctpTokenMessengerV2",inputs:[],outputs:[{name:"",type:"address",internalType:"contract ITokenMessengerV2"}],stateMutability:"view"},{type:"function",name:"changeGuardian",inputs:[{name:"newGuardian",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"claimGuardian",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"createOrder",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"circleMaxFee",type:"uint256",internalType:"uint256"},{name:"destDomain",type:"uint32",internalType:"uint32"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"},{name:"orderPayload",type:"tuple",internalType:"struct FastMCTP.OrderPayload",components:[{name:"payloadType",type:"uint8",internalType:"uint8"},{name:"destAddr",type:"bytes32",internalType:"bytes32"},{name:"tokenOut",type:"bytes32",internalType:"bytes32"},{name:"amountOutMin",type:"uint64",internalType:"uint64"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"redeemFee",type:"uint64",internalType:"uint64"},{name:"refundFee",type:"uint64",internalType:"uint64"},{name:"deadline",type:"uint64",internalType:"uint64"},{name:"referrerAddr",type:"bytes32",internalType:"bytes32"},{name:"referrerBps",type:"uint8",internalType:"uint8"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"domainToCaller",inputs:[{name:"",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"feeManager",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"fulfillOrder",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"},{name:"swapProtocol",type:"address",internalType:"address"},{name:"swapData",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"guardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"keyToMintRecipient",inputs:[{name:"",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"nextGuardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"redeem",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"refund",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"rescueEth",inputs:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"to",type:"address",internalType:"address payable"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescueRedeem",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescueToken",inputs:[{name:"token",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"to",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setDomainCallers",inputs:[{name:"domain",type:"uint32",internalType:"uint32"},{name:"caller",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setFeeManager",inputs:[{name:"_feeManager",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setMintRecipient",inputs:[{name:"destDomain",type:"uint32",internalType:"uint32"},{name:"tokenIn",type:"address",internalType:"address"},{name:"mintRecipient",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPause",inputs:[{name:"_pause",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setWhitelistedMsgSenders",inputs:[{name:"sender",type:"address",internalType:"address"},{name:"isWhitelisted",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setWhitelistedSwapProtocols",inputs:[{name:"protocol",type:"address",internalType:"address"},{name:"isWhitelisted",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"whitelistedMsgSenders",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"whitelistedSwapProtocols",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"event",name:"OrderFulfilled",inputs:[{name:"sourceDomain",type:"uint32",indexed:!1,internalType:"uint32"},{name:"sourceNonce",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OrderRefunded",inputs:[{name:"sourceDomain",type:"uint32",indexed:!1,internalType:"uint32"},{name:"sourceNonce",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"AlreadySet",inputs:[]},{type:"error",name:"CallerNotSet",inputs:[]},{type:"error",name:"CctpReceiveFailed",inputs:[]},{type:"error",name:"DeadlineViolation",inputs:[]},{type:"error",name:"EthTransferFailed",inputs:[]},{type:"error",name:"InvalidAddress",inputs:[]},{type:"error",name:"InvalidAmountOut",inputs:[]},{type:"error",name:"InvalidGasDrop",inputs:[]},{type:"error",name:"InvalidMintRecipient",inputs:[]},{type:"error",name:"InvalidPayload",inputs:[]},{type:"error",name:"InvalidPayloadType",inputs:[]},{type:"error",name:"InvalidRedeemFee",inputs:[]},{type:"error",name:"InvalidRefundFee",inputs:[]},{type:"error",name:"MintRecipientNotSet",inputs:[]},{type:"error",name:"Paused",inputs:[]},{type:"error",name:"Unauthorized",inputs:[]},{type:"error",name:"UnauthorizedMsgSender",inputs:[]},{type:"error",name:"UnauthorizedSwapProtocol",inputs:[]}]};function Wr(e,t,a,r,u){const s=Te(Number(r)),y=G(e.fromChain),o=G(e.toChain);if(y!==s)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${y} !== ${s}`);const p=x(t,o),l=B(e.redeemRelayerFee,re),d=B(e.gasDrop,Math.min(oe(e.toChain),8)),b=BigInt(e.circleMaxFee64),g=BigInt(e.effectiveAmountIn64),T=de(e.toChain);let f;if(a?f=x(a,o):f=x(n.SystemProgram.programId.toString(),G("solana")),!e.fastMctpMayanContract)throw new Error("FastMctp contract address is missing");const w=e.fastMctpMayanContract;return{tokenIn:e.fastMctpInputContract,amountIn:g,redeemFee:l,gasDrop:d,destAddr:p,destDomain:T,referrerAddr:f,referrerBps:e.referrerBps,payloadType:qa,customPayload:"0x",minFinalityThreshold:Number(e.fastMctpMinFinality),circleMaxFee:b,contractAddress:w}}function On(e,t,a,r,u){const s=Wr(e,t,a,r),{contractAddress:y,tokenIn:o,amountIn:p,destAddr:l,redeemFee:d,gasDrop:b,circleMaxFee:g,referrerAddr:T,referrerBps:f,destDomain:w,customPayload:I,minFinalityThreshold:_,payloadType:S}=s,k=new c.Contract(y,jn.abi);let O,K;return O=k.interface.encodeFunctionData("bridge",[o,p,d,g,b,l,w,T,f,S,_,I]),K=c.toBeHex(0),{to:y,data:O,value:K,_params:s}}function Kr(e,t,a,r){const u=Te(Number(r)),s=G(e.fromChain),y=G(e.toChain);if(s!==u)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${s} !== ${u}`);if(!e.fastMctpMayanContract)throw new Error("Fast MCTP contract address is missing");const o=e.fastMctpMayanContract,p=x(t,y);let l;a?l=x(a,y):l=x(n.SystemProgram.programId.toString(),G("solana"));const d=B(e.redeemRelayerFee,re),b=BigInt(e.refundRelayerFee64),g=BigInt(e.circleMaxFee64),T=B(e.gasDrop,Math.min(oe(e.toChain),8)),f=de(e.toChain),w=BigInt(e.effectiveAmountIn64),I=B(e.minAmountOut,Math.min(8,e.toToken.decimals)),_=BigInt(e.deadline64),S=e.toToken.contract===c.ZeroAddress?x(n.SystemProgram.programId.toString(),G("solana")):x(e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract,e.toToken.wChainId);return{tokenIn:e.fastMctpInputContract,amountIn:w,circleMaxFee:g,destDomain:f,minFinalityThreshold:Number(e.fastMctpMinFinality),orderPayload:{payloadType:er,destAddr:p,tokenOut:S,amountOutMin:I,gasDrop:T,redeemFee:d,refundFee:b,deadline:_,referrerAddr:l,referrerBps:e.referrerBps||0},contractAddress:o}}function Bn(e,t,a,r){const u=Kr(e,t,a,r),{contractAddress:s,orderPayload:y,tokenIn:o,amountIn:p,circleMaxFee:l,destDomain:d,minFinalityThreshold:b}=u,T=new c.Contract(s,jn.abi).interface.encodeFunctionData("createOrder",[o,p,l,d,b,y]),f=c.toBeHex(0);return{to:s,data:T,value:f,_params:u}}async function Lr(e,t,a,r,u,s){if(e.type!=="FAST_MCTP")throw new Error("Quote type is not FAST_MCTP");if(!Number.isFinite(Number(r)))throw new Error("Invalid signer chain id");r=Number(r);const y=u||Pe,o=new c.Contract(h.MAYAN_FORWARDER_CONTRACT,ke.abi);if(e.fromToken.contract===e.fastMctpInputContract)if(e.hasAuction){if(!Number(e.deadline64))throw new Error("Fast Mctp order requires timeout");const p=Bn(e,t,a,r),l="forwardERC20",d=[e.fromToken.contract,p._params.amountIn,y,p._params.contractAddress,p.data];return{data:o.interface.encodeFunctionData(l,d),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(0),chainId:r,_forwarder:{method:l,params:d}}}else{const p=On(e,t,a,r),l="forwardERC20",d=[e.fromToken.contract,p._params.amountIn,y,p._params.contractAddress,p.data];return{data:o.interface.encodeFunctionData(l,d),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(0),chainId:r,_forwarder:{method:l,params:d}}}else{const{minMiddleAmount:p}=e;if(!p)throw new Error("Fast Mctp swap requires middle amount, router address and calldata");const{swapRouterCalldata:l,swapRouterAddress:d}=await Zt({forwarderAddress:h.MAYAN_FORWARDER_CONTRACT,fromToken:e.fromToken.contract,middleToken:e.fastMctpInputContract,slippageBps:e.slippageBps,referrerAddress:a||void 0,amountIn64:e.effectiveAmountIn64,chainName:e.fromChain});if(e.hasAuction){if(!Number(e.deadline64))throw new Error("Fast Mctp order requires timeout");const b=Bn(e,t,a,r),g=B(e.minMiddleAmount,re);if(e.fromToken.contract===c.ZeroAddress){const T="swapAndForwardEth",f=[b._params.amountIn,d,l,e.fastMctpInputContract,g,b._params.contractAddress,b.data];return{data:o.interface.encodeFunctionData(T,f),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(b._params.amountIn),chainId:r,_forwarder:{method:T,params:f}}}else{const T="swapAndForwardERC20",f=[e.fromToken.contract,b._params.amountIn,y,d,l,e.fastMctpInputContract,g,b._params.contractAddress,b.data];return{data:o.interface.encodeFunctionData(T,f),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(0),chainId:r,_forwarder:{method:T,params:f}}}}else{const b=On(e,t,a,r),g=B(e.minMiddleAmount,re);if(e.fromToken.contract===c.ZeroAddress){const T="swapAndForwardEth",f=[b._params.amountIn,d,l,e.fastMctpInputContract,g,b._params.contractAddress,b.data];return{data:o.interface.encodeFunctionData(T,f),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(b._params.amountIn),chainId:r,_forwarder:{method:T,params:f}}}else{const T="swapAndForwardERC20",f=[e.fromToken.contract,b._params.amountIn,y,d,l,e.fastMctpInputContract,g,b._params.contractAddress,b.data];return{data:o.interface.encodeFunctionData(T,f),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(0),chainId:r,_forwarder:{method:T,params:f}}}}}}var Yn={abi:[{type:"constructor",inputs:[{name:"_hcProcessor",type:"address",internalType:"address"},{name:"_usdc",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"function",name:"changeGuardian",inputs:[{name:"newGuardian",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"claimGuardian",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"deposit",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"trader",type:"address",internalType:"address"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"bridgeAmount",type:"uint256",internalType:"uint256"},{name:"depositPayload",type:"tuple",internalType:"struct HCDepositInitiator.DepositPayload",components:[{name:"relayerFee",type:"uint64",internalType:"uint64"},{name:"permit",type:"tuple",internalType:"struct IHCBridge.DepositWithPermit",components:[{name:"user",type:"address",internalType:"address"},{name:"usd",type:"uint64",internalType:"uint64"},{name:"deadline",type:"uint64",internalType:"uint64"},{name:"signature",type:"tuple",internalType:"struct IHCBridge.Signature",components:[{name:"r",type:"uint256",internalType:"uint256"},{name:"s",type:"uint256",internalType:"uint256"},{name:"v",type:"uint8",internalType:"uint8"}]}]}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"fastDeposit",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"trader",type:"address",internalType:"address"},{name:"circleMaxFee",type:"uint256",internalType:"uint256"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"referrerAddress",type:"bytes32",internalType:"bytes32"},{name:"referrerBps",type:"uint8",internalType:"uint8"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"},{name:"bridgeAmount",type:"uint256",internalType:"uint256"},{name:"depositPayload",type:"tuple",internalType:"struct HCDepositInitiator.DepositPayload",components:[{name:"relayerFee",type:"uint64",internalType:"uint64"},{name:"permit",type:"tuple",internalType:"struct IHCBridge.DepositWithPermit",components:[{name:"user",type:"address",internalType:"address"},{name:"usd",type:"uint64",internalType:"uint64"},{name:"deadline",type:"uint64",internalType:"uint64"},{name:"signature",type:"tuple",internalType:"struct IHCBridge.Signature",components:[{name:"r",type:"uint256",internalType:"uint256"},{name:"s",type:"uint256",internalType:"uint256"},{name:"v",type:"uint8",internalType:"uint8"}]}]}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"fastMCTP",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"guardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"mayanCircle",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"nextGuardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"setFastMCTP",inputs:[{name:"_fastMCTP",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setMayanCircle",inputs:[{name:"_mayanCircle",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"error",name:"AlreadySet",inputs:[]},{type:"error",name:"InsufficientAmount",inputs:[]},{type:"error",name:"Unauthorized",inputs:[]}]};function Ur(e,t,a,r){if(!e.hyperCoreParams.initiateContractAddress)throw new Error("HyperCore initiate contract address is missing");if(e.type!=="MCTP")throw new Error("Unsupported quote type for HyperCore deposit: "+e.type);const u=new c.Contract(e.hyperCoreParams.initiateContractAddress,Yn.abi),s=c.Buffer$1.from(ae(r));if(s.length!==65)throw new Error("Invalid USDC permit signature length");const y="0x"+s.subarray(0,32).toString("hex"),o="0x"+s.subarray(32,64).toString("hex"),p=s[64];let l,d;return l=u.interface.encodeFunctionData("deposit",[e.hyperCoreParams.initiateTokenContract,BigInt(e.hyperCoreParams.bridgeAmountUSDC64),t,B(e.hyperCoreParams.failureGasDrop,Math.min(oe("arbitrum"),8)),BigInt(e.hyperCoreParams.bridgeAmountUSDC64),{relayerFee:B(e.redeemRelayerFee,re),permit:{user:a,usd:BigInt(e.hyperCoreParams.depositAmountUSDC64),deadline:BigInt(e.deadline64),signature:{r:y,s:o,v:p}}}]),d=c.toBeHex(0),{to:e.hyperCoreParams.initiateContractAddress,data:l,value:d,_params:{amountIn:BigInt(e.hyperCoreParams.bridgeAmountUSDC64),contractAddress:e.hyperCoreParams.initiateContractAddress}}}function Hr(e,t,a,r,u){const s=G("arbitrum");if(!e.hyperCoreParams.initiateContractAddress)throw new Error("HyperCore initiate contract address is missing");if(e.type!=="FAST_MCTP")throw new Error("Unsupported quote type for HyperCore deposit: "+e.type);const y=new c.Contract(e.hyperCoreParams.initiateContractAddress,Yn.abi),o=c.Buffer$1.from(ae(u));if(o.length!==65)throw new Error("Invalid USDC permit signature length");const p="0x"+o.subarray(0,32).toString("hex"),l="0x"+o.subarray(32,64).toString("hex"),d=o[64];let b;r?b=x(r,s):b=x(n.SystemProgram.programId.toString(),G("solana"));let g,T;return g=y.interface.encodeFunctionData("fastDeposit",[e.hyperCoreParams.initiateTokenContract,BigInt(e.hyperCoreParams.bridgeAmountUSDC64),t,BigInt(e.circleMaxFee64),B(e.hyperCoreParams.failureGasDrop,Math.min(oe("arbitrum"),8)),b,e.referrerBps,Number(e.fastMctpMinFinality),BigInt(e.hyperCoreParams.bridgeAmountUSDC64),{relayerFee:B(e.redeemRelayerFee,re),permit:{user:a,usd:BigInt(e.hyperCoreParams.depositAmountUSDC64),deadline:BigInt(e.deadline64),signature:{r:p,s:l,v:d}}}]),T=c.toBeHex(0),{to:e.hyperCoreParams.initiateContractAddress,data:g,value:T,_params:{amountIn:BigInt(e.hyperCoreParams.bridgeAmountUSDC64),contractAddress:e.hyperCoreParams.initiateContractAddress}}}async function Gr(e,t,a,r,u,s,y,o={}){if(e.toToken.contract.toLowerCase()!==h.ARBITRUM_USDC_CONTRACT.toLowerCase()||e.type!=="MCTP"&&e.type!=="FAST_MCTP")throw new Error("Unsupported quote type for USDC deposit: "+e.type);if(!o?.usdcPermitSignature)throw new Error("USDC permit signature is required for this quote");if(!e.hyperCoreParams)throw new Error("HyperCore parameters are required for this quote");if(!Number.isFinite(Number(u)))throw new Error("Invalid signer chain id");const p=Te(Number(u)),l=G(e.fromChain);if(l!==p)throw new Error(`Signer chain id(${Number(u)}) and quote from chain are not same! ${l} !== ${p}`);const d=s||Pe,b=new c.Contract(h.MAYAN_FORWARDER_CONTRACT,ke.abi);let g;if(!Number(e.deadline64))throw new Error("HyperCore deposit requires timeout");if(e.type==="MCTP")g=Ur(e,t,a,o.usdcPermitSignature);else if(e.type==="FAST_MCTP")g=Hr(e,t,a,r,o.usdcPermitSignature);else throw new Error("Unsupported quote type for HyperCore deposit: "+e.type);if(e.fromToken.contract.toLowerCase()===e.hyperCoreParams.initiateTokenContract.toLowerCase()){const T="forwardERC20",f=[e.fromToken.contract,BigInt(e.effectiveAmountIn64),d,g._params.contractAddress,g.data];return{data:b.interface.encodeFunctionData(T,f),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(0),chainId:u,_forwarder:{method:T,params:f}}}else{const{swapRouterCalldata:T,swapRouterAddress:f}=await Zt({fromToken:e.fromToken.contract,middleToken:e.hyperCoreParams.initiateTokenContract,chainName:e.fromChain,amountIn64:e.effectiveAmountIn64,referrerAddress:r,slippageBps:e.slippageBps,forwarderAddress:h.MAYAN_FORWARDER_CONTRACT});if(!e.minMiddleAmount)throw new Error("Fast Mctp swap requires middle amount, router address and calldata");const w=B(e.minMiddleAmount,re);if(e.fromToken.contract===c.ZeroAddress){const I="swapAndForwardEth",_=[BigInt(e.effectiveAmountIn64),f,T,e.hyperCoreParams.initiateTokenContract,w,g._params.contractAddress,g.data];return{data:b.interface.encodeFunctionData(I,_),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(BigInt(e.effectiveAmountIn64)),chainId:u,_forwarder:{method:I,params:_}}}else{const I="swapAndForwardERC20",_=[e.fromToken.contract,BigInt(e.effectiveAmountIn64),d,f,T,e.hyperCoreParams.initiateTokenContract,w,g._params.contractAddress,g.data];return{data:b.interface.encodeFunctionData(I,_),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(0),chainId:u,_forwarder:{method:I,params:_}}}}}var Vr={abi:[{type:"constructor",inputs:[{name:"_forwarderAddress",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"receive",stateMutability:"payable"},{type:"function",name:"ForwarderAddress",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"MAX_REFERRER_BPS",inputs:[],outputs:[{name:"",type:"uint8",internalType:"uint8"}],stateMutability:"view"},{type:"function",name:"changeGuardian",inputs:[{name:"newGuardian",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"claimGuardian",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"guardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"nextGuardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"rescueETH",inputs:[{name:"to",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescueToken",inputs:[{name:"token",type:"address",internalType:"address"},{name:"to",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"transferEth",inputs:[{name:"to",type:"address",internalType:"address"},{name:"referrerAddr",type:"address",internalType:"address"},{name:"referrerBps",type:"uint8",internalType:"uint8"}],outputs:[],stateMutability:"payable"},{type:"function",name:"transferToken",inputs:[{name:"token",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"to",type:"address",internalType:"address"},{name:"referrerAddr",type:"address",internalType:"address"},{name:"referrerBps",type:"uint8",internalType:"uint8"}],outputs:[],stateMutability:"nonpayable"},{type:"event",name:"EthTransferred",inputs:[{name:"to",type:"address",indexed:!1,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"TokenTransferred",inputs:[{name:"token",type:"address",indexed:!1,internalType:"address"},{name:"to",type:"address",indexed:!1,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"InvalidReferrerBps",inputs:[]},{type:"error",name:"Unauthorized",inputs:[]}]};function $r(e,t,a){const r=B(e.expectedAmountOut,e.toToken.decimals),u=new c.Contract(e.monoChainMayanContract,Vr.abi),s=a&&e.referrerBps||0;let y,o;return e.toToken.contract===c.ZeroAddress?y=u.interface.encodeFunctionData("transferEth",[t,a||c.ZeroAddress,s]):y=u.interface.encodeFunctionData("transferToken",[e.toToken.contract,r,t,a||c.ZeroAddress,s]),e.fromToken.contract===c.ZeroAddress?o=c.toBeHex(e.effectiveAmountIn64):o=c.toBeHex(0),{to:e.monoChainMayanContract,data:y,value:o,_params:{amountIn:BigInt(e.effectiveAmountIn64),tokenIn:e.fromToken.contract}}}function jr(e,t,a,r,u){if(e.type!=="MONO_CHAIN")throw new Error("Quote type is not MONO_CHAIN");if(e.fromChain!==e.toChain)throw new Error("Quote chains are not equal");if(e.fromToken.contract.toLowerCase()===e.toToken.contract.toLowerCase())throw new Error(`From token and to token are the same: ${e.fromToken.contract}`);if(!Number.isFinite(Number(r)))throw new Error("Invalid signer chain id");const s=Te(Number(r)),y=G(e.fromChain);if(y!==s)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${y} !== ${s}`);r=Number(r);const o=u||Pe,p=new c.Contract(h.MAYAN_FORWARDER_CONTRACT,ke.abi),{evmSwapRouterAddress:l,evmSwapRouterCalldata:d}=e;if(!l||!d)throw new Error("Mono chain swap requires router address and calldata");const b=$r(e,t,a),g=B(e.minAmountOut,e.toToken.decimals);if(e.fromToken.contract===c.ZeroAddress){const T="swapAndForwardEth",f=[b._params.amountIn,l,d,e.toToken.contract,g,e.monoChainMayanContract,b.data];return{data:p.interface.encodeFunctionData(T,f),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(b._params.amountIn),chainId:r,_forwarder:{method:T,params:f}}}else{const T="swapAndForwardERC20",f=[e.fromToken.contract,b._params.amountIn,o,l,d,e.toToken.contract,g,e.monoChainMayanContract,b.data];return{data:p.interface.encodeFunctionData(T,f),to:h.MAYAN_FORWARDER_CONTRACT,value:c.toBeHex(0),chainId:r,_forwarder:{method:T,params:f}}}}function Yr(e,t,a,r,u,s){const y=new n.PublicKey(h.MAYAN_PROGRAM_ID),[o]=n.PublicKey.findProgramAddressSync([c.Buffer$1.from("MAIN")],y),p=q(new n.PublicKey(e.fromToken.mint),o,!0),l=BigInt(e.effectiveAmountIn64),d=x(p.toString(),1),b=x(h.AUCTION_PROGRAM_ID,1);let g;a?g=x(a,1):g=x(n.SystemProgram.programId.toString(),1);const T=Te(Number(u)),f=G(e.fromChain),w=G(e.toChain);if(f!==T)throw new Error(`Signer chain id(${Number(u)}) and quote from chain are not same! ${f} !== ${T}`);const I=e.whMayanContract,_={mayanAddr:d,mayanChainId:1,destAddr:x(t,w),destChainId:w,auctionAddr:b,referrer:g,refundAddr:x(r,T)},S=e.toToken.contract===c.ZeroAddress,k={transferDeadline:BigInt(e.deadline64),swapDeadline:BigInt(e.deadline64),amountOutMin:B(e.minAmountOut,Math.min(8,e.toToken.decimals)),gasDrop:B(e.gasDrop,Math.min(8,oe(e.toChain))),unwrap:S,customPayload:"0x"},O={swapFee:B(e.swapRelayerFee,Math.min(8,e.fromToken.decimals)),redeemFee:B(e.redeemRelayerFee,Math.min(8,e.toToken.decimals)),refundFee:B(e.refundRelayerFee,Math.min(8,e.fromToken.decimals))},K=x(e.toToken.realOriginContractAddress,e.toToken.realOriginChainId),Z=B(e.bridgeFee,18);return{amountIn:l,tokenIn:e.fromToken.contract,tokenOut:K,tokenOutWChainId:e.toToken.realOriginChainId,criteria:k,recipient:_,relayerFees:O,contractAddress:I,bridgeFee:Z}}async function zr(e,t,a,r,u,s,y,o,p){const l=Te(Number(s)),d=G(e.fromChain);if(d!==l)throw new Error(`Signer chain id(${Number(s)}) and quote from chain are not same! ${d} !== ${l}`);const b=nn(e,r);if(e.toChain==="hypercore")return Gr(e,t,a,b,s,o,y,p);if(e.type==="MCTP")return yr(e,a,b,s,o);if(e.type==="SWIFT")return Nr(e,t,a,b,s);if(e.type==="SHUTTLE")throw new Error("SHUTTLE quote type is not supported on EVM");if(e.type==="FAST_MCTP")return Lr(e,a,b,s,o);if(e.type==="MONO_CHAIN")return jr(e,a,b,s,o);if(e.type!="WH")throw new Error("Unsupported quote type");if(!Number(e.deadline64))throw new Error("WH mode requires a timeout");const{relayerFees:g,recipient:T,tokenOut:f,tokenOutWChainId:w,criteria:I,tokenIn:_,amountIn:S,contractAddress:k,bridgeFee:O}=Yr(e,a,b,u,s),K=new c.Contract(h.MAYAN_FORWARDER_CONTRACT,ke.abi),Z=new c.Contract(k,ur.abi);let J,R,U;const X=Pe;if(_===c.ZeroAddress){const N=Z.interface.encodeFunctionData("wrapAndSwapETH",[g,T,f,w,I]);J="forwardEth",R=[k,N],U=c.toBeHex(S)}else{const N=Z.interface.encodeFunctionData("swap",[g,T,f,w,I,_,S]);J="forwardERC20",R=[_,S,X,k,N],U=c.toBeHex(O)}const Y=K.interface.encodeFunctionData(J,R);return{to:h.MAYAN_FORWARDER_CONTRACT,data:Y,value:U,chainId:s,_forwarder:{method:J,params:R}}}async function Zr(e,t){let a;try{a=await t.getMoveFunctionArgTypes({package:e.package,module:e.module,function:e.function})}catch{throw new Error(`Failed to fetch ${e.package}::${e.module}::${e.function} ArgTypes`)}if(a){if(a[e.argumentIndex]!=="Pure"&&a[e.argumentIndex]?.Object!=="ByImmutableReference")throw new Error(`Argument ${e.argumentIndex} of ${e.module}::${e.function} is not immutable`)}else throw new Error(`Failed to fetch package::${e.module}::${e.function} ArgTypes`)}async function zn(e,t){let a=[],r=BigInt(0),u;do{const s=await t.getCoins({...e,owner:e.walletAddress,cursor:u}),y=s.data.filter(o=>BigInt(o.balance)>BigInt(0));if(a=[...a,...y],y.forEach(o=>{r+=BigInt(o.balance)}),s.data.length===0||!s.hasNextPage||!s.nextCursor||r>=e.coinAmount)return{coins:a.sort((o,p)=>Number(BigInt(o.coinObjectId)-BigInt(p.coinObjectId))),sum:r};u=s.nextCursor}while(!0)}async function en(e,t){let a;try{a=await t.getObject({id:e,options:{showContent:!0}})}catch(r){throw new Error(`Failed to fetch Mayan Sui package ID:
|
|
3
3
|
|
|
4
4
|
${r}`)}if(a.data?.content?.fields?.latest_package_id)return a.data.content.fields.latest_package_id;throw new Error("latest_package_id not found in Mayan Sui state object")}async function We(e,t,a,r,u,s){let y;if(s?.result)y=s.result;else if(s?.objectId)y=u.object(s.objectId);else{const{coins:o,sum:p}=await zn({walletAddress:t,coinType:a,coinAmount:e},r);if(p<e)throw new Error(`Insufficient funds to create Coin ${a} with amount ${e}`);o.length>1&&u.mergeCoins(o[0].coinObjectId,o.slice(1).map(d=>d.coinObjectId));const[l]=u.splitCoins(o[0].coinObjectId,[e]);y=l}return y}async function Qr(e,t,a,r,u,s,y){if(!e.fromToken.verifiedAddress)throw new Error("from token verified address is not provided");const[o,p]=await Promise.all([en(h.SUI_MCTP_STATE,s),e.hasAuction?en(h.SUI_MCTP_FEE_MANAGER_STATE,s):null]);let l,d,b;if(e.fromToken.contract===e.mctpInputContract)l=y?.builtTransaction??new n.Transaction,d=await We(BigInt(e.effectiveAmountIn64),t,e.mctpInputContract,s,l,y?.inputCoin);else{const{tx:f,outCoin:w,whFeeCoin:I}=await Hn({amountIn64:e.effectiveAmountIn64,inputCoinType:e.fromToken.contract,middleCoinType:e.mctpInputContract,userWallet:t,withWhFee:e.hasAuction||e.cheaperChain!=="sui",referrerAddress:r,inputCoin:y?.inputCoin,transaction:y?.builtTransaction?await y.builtTransaction.toJSON():void 0,slippageBps:e.slippageBps,chainName:e.fromChain});l=n.Transaction.from(f),d=w,b=I?{result:I}:null}e.hasAuction?await qr(e,t,a,r,o,p,s,{inputCoin:{result:d},whFeeCoin:b,builtTransaction:l}):e.cheaperChain==="sui"?await Xr(e,t,a,o,s,{inputCoin:{result:d},builtTransaction:l}):await Jr(e,t,a,o,u,s,{inputCoin:{result:d},whFeeCoin:b,builtTransaction:l});const g=BigInt(e.effectiveAmountIn64),T=Uint8Array.from([]);l.moveCall({package:o,module:"init_order",function:"log_initialize_mctp",typeArguments:[e.fromToken.contract],arguments:[l.pure.u64(g),l.object(e.fromToken.verifiedAddress),l.pure.vector("u8",T)]});try{let f;r?f=x(r,G(e.toChain)):f=x(n.SystemProgram.programId.toString(),G("solana")),l.moveCall({package:h.SUI_LOGGER_PACKAGE_ID,module:"referrer_logger",function:"log_referrer",arguments:[l.pure.address(f),l.pure.u8(e.referrerBps||0)]})}catch(f){console.error("Failed to log referrer",f)}return l}async function Jr(e,t,a,r,u,s,y){return Qn({swapperAddress:t,destinationAddress:a,toChain:e.toChain,effectiveAmountIn64:e.effectiveAmountIn64,minMiddleAmount:e.minMiddleAmount,mctpPackageId:r,fromToken:e.fromToken,mctpInputContract:e.mctpInputContract,gasDrop:e.gasDrop,redeemRelayerFee:e.redeemRelayerFee,mctpVerifiedInputAddress:e.mctpVerifiedInputAddress,mctpInputTreasury:e.mctpInputTreasury,bridgeFee:e.bridgeFee,payload:u,suiClient:s,options:y})}async function Xr(e,t,a,r,u,s){const y=G(e.toChain),o=s?.builtTransaction??new n.Transaction,p=e.fromToken.contract===e.mctpInputContract?BigInt(e.effectiveAmountIn64):B(e.minMiddleAmount,re),l=await We(BigInt(e.effectiveAmountIn64),t,e.mctpInputContract,u,o,s?.inputCoin),d=x(a,y),b=de(e.toChain),g=B(e.gasDrop,Math.min(oe(e.toChain),8)),T=B(e.redeemRelayerFee,re),[f]=o.moveCall({package:r,module:"bridge_locked_fee",function:"prepare_bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[l,o.pure.u64(p),o.pure.address(d),o.pure.u32(b),o.pure.u64(g),o.pure.u64(T)]}),[w,I]=o.moveCall({package:r,module:"bridge_locked_fee",function:"bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[o.object(h.SUI_MCTP_STATE),o.object(h.SUI_CCTP_CORE_STATE),o.object(e.mctpVerifiedInputAddress),f]}),[_,S]=o.moveCall({package:h.SUI_CCTP_TOKEN_PACKAGE_ID,module:"deposit_for_burn",function:"deposit_for_burn_with_caller_with_package_auth",typeArguments:[e.mctpInputContract,`${r}::bridge_locked_fee::CircleAuth`],arguments:[I,o.object(h.SUI_CCTP_TOKEN_STATE),o.object(h.SUI_CCTP_CORE_STATE),o.object("0x403"),o.object(e.mctpInputTreasury)]});return o.moveCall({package:r,module:"bridge_locked_fee",function:"store_bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[o.object(h.SUI_MCTP_STATE),o.object(e.mctpVerifiedInputAddress),w,S]}),o}async function qr(e,t,a,r,u,s,y,o){const p=G(e.toChain),l=o?.builtTransaction??new n.Transaction,d=e.fromToken.contract===e.mctpInputContract?BigInt(e.effectiveAmountIn64):B(e.minMiddleAmount,re),[b]=await Promise.all([We(BigInt(e.effectiveAmountIn64),t,e.mctpInputContract,y,l,o?.inputCoin),Zr({package:s,module:"calculate_mctp_fee",function:"prepare_calc_mctp_fee",argumentIndex:3},y)]),g=e.toToken.contract===c.ZeroAddress?x(n.SystemProgram.programId.toString(),G("solana")):x(e.toToken.contract,e.toToken.wChainId),T=B(e.minAmountOut,Math.min(8,e.toToken.decimals)),f=x(a,p),w=de(e.toChain),I=B(e.gasDrop,Math.min(oe(e.toChain),8)),_=B(e.redeemRelayerFee,re),S=BigInt(e.deadline64);let k;r?k=x(r,p):k=x(n.SystemProgram.programId.toString(),G("solana"));const O=[l.object(e.mctpVerifiedInputAddress),l.pure.u8(Xa),l.pure.address(t),b,l.pure.address(f),l.pure.u16(p),l.pure.address(g),l.pure.u64(T),l.pure.u64(I),l.pure.u64(_),l.pure.u64(S),l.pure.address(k),l.pure.u8(e.referrerBps)],[K]=l.moveCall({package:s,module:"calculate_mctp_fee",function:"prepare_calc_mctp_fee",typeArguments:[e.mctpInputContract],arguments:O}),[Z]=l.moveCall({package:s,module:"calculate_mctp_fee",function:"calculate_mctp_fee",arguments:[l.object(h.SUI_MCTP_FEE_MANAGER_STATE),K]}),[J]=l.moveCall({package:u,module:"init_order",function:"prepare_initialize_order",typeArguments:[e.mctpInputContract],arguments:[...O.slice(1),l.pure.u32(w),l.pure.u64(d)]}),[R,U]=l.moveCall({package:u,module:"init_order",function:"initialize_order",typeArguments:[e.mctpInputContract],arguments:[l.object(h.SUI_MCTP_STATE),l.object(h.SUI_CCTP_CORE_STATE),l.object(e.mctpVerifiedInputAddress),J,Z]}),[X,Y]=l.moveCall({package:h.SUI_CCTP_TOKEN_PACKAGE_ID,module:"deposit_for_burn",function:"deposit_for_burn_with_caller_with_package_auth",typeArguments:[e.mctpInputContract,`${u}::init_order::CircleAuth`],arguments:[U,l.object(h.SUI_CCTP_TOKEN_STATE),l.object(h.SUI_CCTP_CORE_STATE),l.object("0x403"),l.object(e.mctpInputTreasury)]}),[N]=l.moveCall({package:u,module:"init_order",function:"publish_init_order",arguments:[l.object(h.SUI_MCTP_STATE),R,Y]});return await Zn(l,N,y,BigInt(e.bridgeFee),t,o?.whFeeCoin),l}async function Zn(e,t,a,r,u,s){let y;if(s?.result)y=s.result;else if(s?.objectId)y=e.object(s.objectId);else if(r>BigInt(0)){const{coins:o,sum:p}=await zn({walletAddress:u,coinType:n.SUI_TYPE_ARG,coinAmount:r},a);if(p<r)throw new Error("Insufficient funds to pay Wormhole message fee");o.length>1&&e.mergeCoins(o[0].coinObjectId,o.slice(1).map(d=>d.coinObjectId));const[l]=e.splitCoins(o[0].coinObjectId,[r]);y=l}else{const[o]=e.splitCoins(e.gas,[e.pure.u64(0)]);y=o}return e.moveCall({package:h.SUI_WORMHOLE_PACKAGE_ID,module:"publish_message",function:"publish_message",arguments:[e.object(h.SUI_WORMHOLE_STATE),y,t,e.object(n.SUI_CLOCK_OBJECT_ID)]}),e}async function Qn(e){const{swapperAddress:t,destinationAddress:a,mctpPackageId:r,payload:u,suiClient:s,options:y}=e,o=G(e.toChain),p=y?.builtTransaction??new n.Transaction,l=e.fromToken.contract===e.mctpInputContract?BigInt(e.effectiveAmountIn64):B(e.minMiddleAmount,re),d=await We(BigInt(e.effectiveAmountIn64),t,e.mctpInputContract,s,p,y?.inputCoin),b=u?Ja:Wn,g=x(a,o),T=de(e.toChain),f=B(e.gasDrop,Math.min(oe(e.toChain),8)),w=B(e.redeemRelayerFee,re),I=u?Uint8Array.from(u):Uint8Array.from([]),[_]=p.moveCall({package:r,module:"bridge_with_fee",function:"prepare_bridge_with_fee",typeArguments:[e.mctpInputContract],arguments:[p.pure.u8(b),d,p.pure.u64(l),p.pure.address(g),p.pure.u32(T),p.pure.u64(f),p.pure.u64(w),p.pure.vector("u8",I)]}),[S,k]=p.moveCall({package:r,module:"bridge_with_fee",function:"bridge_with_fee",typeArguments:[e.mctpInputContract],arguments:[p.object(h.SUI_MCTP_STATE),p.object(h.SUI_CCTP_CORE_STATE),p.object(e.mctpVerifiedInputAddress),_]}),[O,K]=p.moveCall({package:h.SUI_CCTP_TOKEN_PACKAGE_ID,module:"deposit_for_burn",function:"deposit_for_burn_with_caller_with_package_auth",typeArguments:[e.mctpInputContract,`${r}::bridge_with_fee::CircleAuth`],arguments:[k,p.object(h.SUI_CCTP_TOKEN_STATE),p.object(h.SUI_CCTP_CORE_STATE),p.object("0x403"),p.object(e.mctpInputTreasury)]}),[Z]=p.moveCall({package:r,module:"bridge_with_fee",function:"publish_bridge_with_fee",arguments:[p.object(h.SUI_MCTP_STATE),S,K]});return await Zn(p,Z,s,BigInt(e.bridgeFee),t,y?.whFeeCoin),p}async function ei(e,t,a,r,u,s){if(e.toToken.contract.toLowerCase()!==h.ARBITRUM_USDC_CONTRACT.toLowerCase()||e.type!=="MCTP")throw new Error("Unsupported quote type for USDC deposit: "+e.type);if(!e.hyperCoreParams)throw new Error("HyperCore parameters are required for this quote");if(!s?.usdcPermitSignature)throw new Error("USDC permit signature is required for this quote");if(!Number(e.deadline64))throw new Error("HyperCore deposit requires timeout");const[y]=await Promise.all([en(h.SUI_MCTP_STATE,u)]);B(e.minMiddleAmount,re);let o,p,l;if(e.fromToken.contract===e.hyperCoreParams.initiateTokenContract)o=s?.builtTransaction??new n.Transaction,p=await We(BigInt(e.hyperCoreParams.bridgeAmountUSDC64),t,e.mctpInputContract,u,o,s?.inputCoin);else{const{tx:T,outCoin:f,whFeeCoin:w}=await Hn({amountIn64:e.effectiveAmountIn64,inputCoinType:e.fromToken.contract,middleCoinType:e.hyperCoreParams.initiateTokenContract,userWallet:t,withWhFee:!0,referrerAddress:r,inputCoin:s?.inputCoin,transaction:s?.builtTransaction?await s.builtTransaction.toJSON():void 0});o=n.Transaction.from(T);const[I]=o.splitCoins(f,[BigInt(e.hyperCoreParams.bridgeAmountUSDC64)]);o.transferObjects([f],o.pure.address(t)),p=I,l=w?{result:w}:null}const d=Ln(e,a,s.usdcPermitSignature);await Qn({swapperAddress:t,destinationAddress:h.HC_ARBITRUM_DEPOSIT_PROCESSOR,mctpPackageId:y,toChain:"arbitrum",effectiveAmountIn64:e.effectiveAmountIn64,minMiddleAmount:ja(e.hyperCoreParams.bridgeAmountUSDC64,re),bridgeFee:e.bridgeFee,gasDrop:e.hyperCoreParams.failureGasDrop,fromToken:e.fromToken,mctpInputContract:e.mctpInputContract,mctpInputTreasury:e.mctpInputTreasury,mctpVerifiedInputAddress:e.mctpVerifiedInputAddress,redeemRelayerFee:0,payload:d,suiClient:u,options:{inputCoin:{result:p},whFeeCoin:l,builtTransaction:o}});const b=BigInt(e.effectiveAmountIn64),g=Uint8Array.from(d);o.moveCall({package:y,module:"init_order",function:"log_initialize_mctp",typeArguments:[e.fromToken.contract],arguments:[o.pure.u64(b),o.object(e.fromToken.verifiedAddress),o.pure.vector("u8",g)]});try{let T;r?T=x(r,G(e.toChain)):T=x(n.SystemProgram.programId.toString(),G("solana")),o.moveCall({package:h.SUI_LOGGER_PACKAGE_ID,module:"referrer_logger",function:"log_referrer",arguments:[o.pure.address(T),o.pure.u8(e.referrerBps||0)]})}catch(T){console.error("Failed to log referrer",T)}return o}async function ti(e,t,a,r,u,s,y){const o=nn(e,r);if(e.toChain==="hypercore"){if(!e.hyperCoreParams)throw new Error("HyperCore parameters are required for this quote");if(!y?.usdcPermitSignature)throw new Error("USDC permit signature is required for this quote");if(e.type!=="MCTP")throw new Error("Unsupported quote type for HyperCore deposit: "+e.type);return ei(e,t,a,o,s,y)}if(e.type==="MCTP")return Qr(e,t,a,o,u,s,y);throw e.type==="SWIFT"?new Error("SWIFT swaps are not supported to Sui chain yet"):new Error("Unsupported quote type from Sui chain")}function Jn(e){return c.chainToPlatform.has(e)&&c.chainToPlatform.get(e)==="Evm"}const Ie="Arbitrum";function Yt(e){return e==="HyperCore"}function ni(e,t){const{fromChain:a,toChain:r}=e;return Yt(a.chain)?{valid:!1,params:t,error:new c.UnavailableError(new Error("HyperCore cannot be used as a source chain"))}:Yt(r.chain)?r.network!=="Mainnet"?{valid:!1,params:t,error:new c.UnavailableError(new Error("HyperCore is only available on Mainnet"))}:Jn(a.chain)||a.chain==="Sui"||a.chain==="Solana"?null:{valid:!1,params:t,error:new c.UnavailableError(new Error("HyperCore only supports EVM, Solana or Sui source chains"))}:null}async function ai(e,t,a,r){if(!(Yt(e.toChain.chain)&&a.details?.hyperCoreParams!==void 0))return;const s=a.details;if(!s)throw new Error("Missing HyperCore quote details required for permit");const p=(await Ut.getWormholeContextV2()).getPlatform(c.chainToPlatform(Ie)).getRpc(Ie);if(!p)throw new Error(`Could not resolve ${Ie} RPC connection needed for HyperCore`);let l,d,b;try{({domain:l,types:d,value:b}=await rr(s,r,p))}catch(_){throw new Error(`Failed to fetch HyperCore USDC permit params: ${_.message}`)}const T=t?.provider?.();if(!T)throw new Error("No wallet provider available for HyperCore permit");const f=Jn(e.fromChain.chain)?Ht.SENDING:Ht.RECEIVING,w=T.getWallet(Ie,f);if(!w)throw new Error(`An ${Ie} wallet connection is required to sign the HyperCore permit`);try{await w.switchChain(42161)}catch(_){const S=_ instanceof Error?`: ${_.message}`:"";throw new Error(`Unable to switch the connected wallet to ${Ie} (chainId 42161) for the HyperCore permit${S}`)}const I=await w.getSigner();if(!I)throw new Error("Failed to access signer for HyperCore permit");return I.signTypedData(l,d,b)}exports.CHAINS=ee;exports.CHAIN_ID_APTOS=ga;exports.CHAIN_ID_ETH=Fn;exports.CHAIN_ID_SOLANA=ia;exports.CHAIN_ID_SUI=ha;exports.NotConnected=aa;exports.NotSupported=na;exports.TransferWallet=Ht;exports.Wallet=ra;exports.addresses_default=h;exports.createSwapFromSolanaInstructions=xr;exports.createSwapFromSuiMoveCalls=ti;exports.formatEther=ta;exports.formatUnits=tn;exports.generateFetchQuoteUrl=ir;exports.getSwapFromEvmTxPayload=zr;exports.getWalletOptions=Fa;exports.isEVMChain=va;exports.isHyperCoreChain=Yt;exports.maybeGetHyperCorePermitSignature=ai;exports.o=Se;exports.parseUnits=xn;exports.signAndSendTransaction=Ba;exports.validateHyperCoreTransfer=ni;exports.walletAcceptedChains=Oa;
|