@wormhole-foundation/wormhole-connect 2.4.0-beta.4-development → 2.4.0-beta.6-development
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/assets/{aptos-C2a0dQjT.js → aptos-BaxuZv2A.js} +2 -2
- package/dist/assets/{ccip-OC0Vc4gm.js → ccip-Br2IvhSW.js} +1 -1
- package/dist/assets/{evm-BqmuByVY.js → evm-CEkHuuN5.js} +3 -3
- package/dist/assets/{evm-DVLSeRFU.js → evm-DajrgWJp.js} +2 -2
- package/dist/assets/{index-BeEE7MyN.js → index-B8SSPOGN.js} +1 -1
- package/dist/assets/{index-CODUkWzQ.js → index-BGgxsbk4.js} +1 -1
- package/dist/assets/{index-iO-U9jSW.js → index-BIKKjy76.js} +2 -2
- package/dist/assets/{index-CB3XpWtg.js → index-BWKZaYh0.js} +1 -1
- package/dist/assets/{index-CvqWMPrS.js → index-BxMnYxyf.js} +1 -1
- package/dist/assets/{index-PnI0Le4b.js → index-CIIbEJG8.js} +1 -1
- package/dist/assets/{index-BIdhtTCf.js → index-D1RqQWR4.js} +1 -1
- package/dist/assets/{index-BVlgnsQb.js → index-DVzhMXXA.js} +1 -1
- package/dist/assets/{index-COKaKwn8.js → index-DnDUIJZk.js} +1 -1
- package/dist/assets/{index-Dcsj5S2N.js → index-DwbsyLxo.js} +1 -1
- package/dist/assets/index-GDpnrg5w.js +1 -0
- package/dist/assets/{index-M4NDMEge.js → index-ICy6eYwP.js} +1 -1
- package/dist/assets/{index-C1Dta-NJ.js → index-Zgbd9ue1.js} +1 -1
- package/dist/assets/{index-BZDxvV4g.js → index-ndTMsj-g.js} +1 -1
- package/dist/assets/{index-CBMmMx3W.js → index-ylKZk0sO.js} +1 -1
- package/dist/assets/{index-C-kVvSEJ.js → index-z2SBICrL.js} +1 -1
- package/dist/assets/{index.es-j8vEfzbO.js → index.es-AACkekVm.js} +6 -6
- package/dist/assets/{solana-pOvS3swt.js → solana-Cli5bij_.js} +2 -2
- package/dist/assets/solana-DlYSFsGk.js +2 -0
- package/dist/assets/solanaEmbed.esm-P5uPPwsm.js +37 -0
- package/dist/assets/{sui-DZhbOaP_.js → sui-76yNbUUP.js} +2 -2
- package/dist/main.js +106 -106
- package/dist/src/AppRouter.d.ts.map +1 -1
- package/dist/src/components/SampleApp/index.d.ts.map +1 -1
- package/dist/src/consts/wallet.d.ts.map +1 -1
- package/dist/src/theme.d.ts +2 -0
- package/dist/src/theme.d.ts.map +1 -1
- package/dist/src/utils/coingecko.d.ts.map +1 -1
- package/dist/src/views/v2/Bridge/AmountInput/index.d.ts.map +1 -1
- package/dist/src/views/v2/Bridge/AssetPicker/index.d.ts.map +1 -1
- package/lib/{aptos-TTV2w234.js → aptos-B2d701iL.js} +2 -2
- package/lib/{aptos-DU1D2bsY.js → aptos-BYgw8KbL.js} +1 -1
- package/lib/{aptos-qwmh1AJp.mjs → aptos-Cx2NRBhV.mjs} +5 -5
- package/lib/{aptos-CkWuq_27.mjs → aptos-D32iveio.mjs} +2 -2
- package/lib/{base64-r6lIUfD-.mjs → base64-CS-t4Jp3.mjs} +1 -1
- package/lib/{base64-CkebPGW0.js → base64-KGHVh_fo.js} +1 -1
- package/lib/{ccip-DdUs_h_I.js → ccip-CkdoT4fo.js} +1 -1
- package/lib/{ccip-D869mIiq.mjs → ccip-DT5SVCsk.mjs} +1 -1
- package/lib/{chunk-IMTC3J2M-CSrenBj8.mjs → chunk-IMTC3J2M-BekcMtbR.mjs} +3 -3
- package/lib/{chunk-IMTC3J2M-rihZh7hM.js → chunk-IMTC3J2M-Bp7UmuL7.js} +1 -1
- package/lib/{evm-BtEIk2Ro.mjs → evm-C2wdlyGy.mjs} +5 -5
- package/lib/{evm-Df4WZQgF.js → evm-ZrLPh0aT.js} +1 -1
- package/lib/{evm-Bj5TkyBv.js → evm-gtANOzh_.js} +3 -3
- package/lib/{evm-BCvj1OtP.mjs → evm-pqv5AmPx.mjs} +6 -6
- package/lib/{index-Cf6wneHs.mjs → index-3CcycgxO.mjs} +2 -2
- package/lib/{index-yU0Hsqz_.js → index-3n8R7_nm.js} +1 -1
- package/lib/{index-DS1lD1iG.mjs → index-6KA_om4J.mjs} +2 -2
- package/lib/{index-BfQHVxEi.mjs → index-B5zEqERt.mjs} +2 -2
- package/lib/{index-BL_uPuTy.mjs → index-B7w-Z1qw.mjs} +1 -1
- package/lib/{index-DU1he9Nx.js → index-BFhdLIwV.js} +5 -5
- package/lib/{index-Dgohn547.mjs → index-BQkj72G3.mjs} +3 -3
- package/lib/{index-l0_fPapQ.js → index-BRaDJTdV.js} +1 -1
- package/lib/{index-D5jQOGNt.mjs → index-BS7yguuC.mjs} +2 -2
- package/lib/{index-20yIH7p6.js → index-Bc6-KGpl.js} +1 -1
- package/lib/{index-DNGByy1S.js → index-Be_nyvv-.js} +1 -1
- package/lib/{index-tsZGjIYB.mjs → index-Bpw-luLW.mjs} +1 -1
- package/lib/{index-Dfo3bBnl.mjs → index-BrFiV6ml.mjs} +2 -2
- package/lib/{index-DqfeHeDN.mjs → index-Bv3a66FQ.mjs} +1 -1
- package/lib/{index-DOLtniOC.mjs → index-C8__-BvE.mjs} +2 -2
- package/lib/{index-DjHz-TGq.mjs → index-CN7rbmv3.mjs} +1 -1
- package/lib/{index-Cn5RoB2l.js → index-CNdN0i2J.js} +1 -1
- package/lib/{index-vPc_VIRu.js → index-CRb9IbJP.js} +1 -1
- package/lib/{index-C0UDZaND.js → index-ChdaB60-.js} +1 -1
- package/lib/{index-Cv_SfKSZ.js → index-CkCqt7a-.js} +1 -1
- package/lib/{index-BOtebTDA.js → index-ClFZzjWo.js} +1 -1
- package/lib/{index-LaHWWgzV.mjs → index-Cxo7XEgx.mjs} +1 -1
- package/lib/{index-C-9QGhXS.js → index-D2WzZE5z.js} +1 -1
- package/lib/{index-BnQbapb-.js → index-D41-bb9L.js} +1 -1
- package/lib/{index-ChLwWlxD.js → index-D6IPbglF.js} +1 -1
- package/lib/{index-CxOOdI6c.js → index-DIXRIs-8.js} +1 -1
- package/lib/{index-JY_vmjxX.js → index-DPBbWUgq.js} +1 -1
- package/lib/{index-D8mnxtTR.js → index-DSxGwgfz.js} +1 -1
- package/lib/{index-BXHY_Wc_.mjs → index-DVX_Ui4H.mjs} +2 -2
- package/lib/{index-ObRYlj1l.mjs → index-DVsO6_MG.mjs} +51 -42
- package/lib/{index-CIWjtrm4.mjs → index-DXqgaeP7.mjs} +1 -1
- package/lib/{index-DG9DA23c.js → index-DfF1QWxf.js} +1 -1
- package/lib/{index-ZuBMF5ZM.mjs → index-DkWk2Ei2.mjs} +4 -4
- package/lib/{index-C6Oecme5.js → index-DoxjwHxG.js} +1 -1
- package/lib/{index-CBM9cmhA.mjs → index-Dq6f4FNC.mjs} +2 -2
- package/lib/{index-CxnykIim.mjs → index-DssifKHm.mjs} +1 -1
- package/lib/{index-CCJUXjWs.mjs → index-DuydCAHj.mjs} +1 -1
- package/lib/{index-BnvAiffX.js → index-KlmCOa1v.js} +1 -1
- package/lib/{index-C54QUs8N.mjs → index-LDJw-t-c.mjs} +2 -2
- package/lib/{index-DnIR5ghZ.js → index-Lf0LuGqV.js} +1 -1
- package/lib/{index-C2w2yYzm.mjs → index-Nij_Saob.mjs} +3 -3
- package/lib/{index-v9fEg88t.js → index-SiongsQ9.js} +1 -1
- package/lib/{index-CZi3G6c5.js → index-Vr5ewH9o.js} +1 -1
- package/lib/{index-DIdfi9U5.mjs → index-ZBFKA4Z2.mjs} +1 -1
- package/lib/{index-CskmLcFl.js → index-o-2ADG2m.js} +1 -1
- package/lib/{index-B3Lgw0sO.mjs → index-rpNMowr_.mjs} +1 -1
- package/lib/{index.es-Bqw6r4nv.js → index.es-BF1IWsY6.js} +2 -2
- package/lib/{index.es-DFa1opYl.mjs → index.es-CI_klE4T.mjs} +5 -5
- package/lib/index.js +1 -1
- package/lib/index.mjs +1 -1
- package/lib/{signer-_KpSCeJr.mjs → signer-B7IqWjWF.mjs} +1 -1
- package/lib/{signer-DEoUkKh3.js → signer-IUSxOc-V.js} +1 -1
- package/lib/{solana-CeI-x62u.mjs → solana-BjSKSZug.mjs} +4 -4
- package/lib/{solana-Dbf-kAb8.js → solana-BlsRfkyh.js} +1 -1
- package/lib/solana-D7OBO42M.mjs +17 -0
- package/lib/solana-uNqtUduY.js +1 -0
- package/lib/{solanaEmbed.esm-rMe_voKF.mjs → solanaEmbed.esm-C2yV7iVs.mjs} +1 -1
- package/lib/{solanaEmbed.esm-CM69eDrj.js → solanaEmbed.esm-CLpBoYFx.js} +1 -1
- package/lib/src/AppRouter.d.ts.map +1 -1
- package/lib/src/components/SampleApp/index.d.ts.map +1 -1
- package/lib/src/consts/wallet.d.ts.map +1 -1
- package/lib/src/theme.d.ts +2 -0
- package/lib/src/theme.d.ts.map +1 -1
- package/lib/src/utils/coingecko.d.ts.map +1 -1
- package/lib/src/views/v2/Bridge/AmountInput/index.d.ts.map +1 -1
- package/lib/src/views/v2/Bridge/AssetPicker/index.d.ts.map +1 -1
- package/lib/{sui-1KKOjsyu.js → sui-5P-JTGT2.js} +1 -1
- package/lib/{sui-CtQtzdVy.mjs → sui-B0N24-KV.mjs} +1 -1
- package/lib/{sui-BRucFXyI.js → sui-C-8cs2Zt.js} +1 -1
- package/lib/{sui-DMYKKmcs.mjs → sui-DpF0u1Gb.mjs} +5 -5
- package/package.json +1 -1
- package/dist/assets/events-7fnqQH7x.js +0 -1
- package/dist/assets/index-n50xdA-U.js +0 -1
- package/dist/assets/solana-D-pftkkJ.js +0 -2
- package/dist/assets/solanaEmbed.esm-DPIgn-PE.js +0 -37
- package/lib/solana-CzIZTTUh.js +0 -1
- package/lib/solana-UZrOCesE.mjs +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const me=Symbol(),se=Object.getPrototypeOf,G=new WeakMap,he=e=>e&&(G.has(e)?G.get(e):se(e)===Object.prototype||se(e)===Array.prototype),ge=e=>he(e)&&e[me]||null,ne=(e,t=!0)=>{G.set(e,t)},H={},F=e=>typeof e=="object"&&e!==null,A=new WeakMap,x=new WeakSet,be=(e=Object.is,t=(n,g)=>new Proxy(n,g),s=n=>F(n)&&!x.has(n)&&(Array.isArray(n)||!(Symbol.iterator in n))&&!(n instanceof WeakMap)&&!(n instanceof WeakSet)&&!(n instanceof Error)&&!(n instanceof Number)&&!(n instanceof Date)&&!(n instanceof String)&&!(n instanceof RegExp)&&!(n instanceof ArrayBuffer),r=n=>{switch(n.status){case"fulfilled":return n.value;case"rejected":throw n.reason;default:throw n}},l=new WeakMap,c=(n,g,I=r)=>{const v=l.get(n);if((v==null?void 0:v[0])===g)return v[1];const w=Array.isArray(n)?[]:Object.create(Object.getPrototypeOf(n));return ne(w,!0),l.set(n,[g,w]),Reflect.ownKeys(n).forEach(k=>{if(Object.getOwnPropertyDescriptor(w,k))return;const O=Reflect.get(n,k),M={value:O,enumerable:!0,configurable:!0};if(x.has(O))ne(O,!1);else if(O instanceof Promise)delete M.value,M.get=()=>I(O);else if(A.has(O)){const[b,q]=A.get(O);M.value=c(b,q(),I)}Object.defineProperty(w,k,M)}),Object.preventExtensions(w)},m=new WeakMap,p=[1,1],E=n=>{if(!F(n))throw new Error("object required");const g=m.get(n);if(g)return g;let I=p[0];const v=new Set,w=(i,a=++p[0])=>{I!==a&&(I=a,v.forEach(o=>o(i,a)))};let k=p[1];const O=(i=++p[1])=>(k!==i&&!v.size&&(k=i,b.forEach(([a])=>{const o=a[1](i);o>I&&(I=o)})),I),M=i=>(a,o)=>{const h=[...a];h[1]=[i,...h[1]],w(h,o)},b=new Map,q=(i,a)=>{if((H?"production":void 0)!=="production"&&b.has(i))throw new Error("prop listener already exists");if(v.size){const o=a[3](M(i));b.set(i,[a,o])}else b.set(i,[a])},te=i=>{var a;const o=b.get(i);o&&(b.delete(i),(a=o[1])==null||a.call(o))},fe=i=>(v.add(i),v.size===1&&b.forEach(([o,h],_)=>{if((H?"production":void 0)!=="production"&&h)throw new Error("remove already exists");const T=o[3](M(_));b.set(_,[o,T])}),()=>{v.delete(i),v.size===0&&b.forEach(([o,h],_)=>{h&&(h(),b.set(_,[o]))})}),J=Array.isArray(n)?[]:Object.create(Object.getPrototypeOf(n)),$=t(J,{deleteProperty(i,a){const o=Reflect.get(i,a);te(a);const h=Reflect.deleteProperty(i,a);return h&&w(["delete",[a],o]),h},set(i,a,o,h){const _=Reflect.has(i,a),T=Reflect.get(i,a,h);if(_&&(e(T,o)||m.has(o)&&e(T,m.get(o))))return!0;te(a),F(o)&&(o=ge(o)||o);let V=o;if(o instanceof Promise)o.then(C=>{o.status="fulfilled",o.value=C,w(["resolve",[a],C])}).catch(C=>{o.status="rejected",o.reason=C,w(["reject",[a],C])});else{!A.has(o)&&s(o)&&(V=E(o));const C=!x.has(V)&&A.get(V);C&&q(a,C)}return Reflect.set(i,a,V,h),w(["set",[a],o,T]),!0}});m.set(n,$);const pe=[J,O,c,fe];return A.set($,pe),Reflect.ownKeys(n).forEach(i=>{const a=Object.getOwnPropertyDescriptor(n,i);"value"in a&&($[i]=n[i],delete a.value,delete a.writable),Object.defineProperty(J,i,a)}),$})=>[E,A,x,e,t,s,r,l,c,m,p],[ye]=be();function j(e={}){return ye(e)}function D(e,t,s){const r=A.get(e);(H?"production":void 0)!=="production"&&!r&&console.warn("Please use proxy object");let l;const c=[],m=r[3];let p=!1;const n=m(g=>{c.push(g),l||(l=Promise.resolve().then(()=>{l=void 0,p&&t(c.splice(0))}))});return p=!0,()=>{p=!1,n()}}function ve(e,t){const s=A.get(e);(H?"production":void 0)!=="production"&&!s&&console.warn("Please use proxy object");const[r,l,c]=s;return c(r,l(),t)}const d=j({history:["ConnectWallet"],view:"ConnectWallet",data:void 0}),ee={state:d,subscribe(e){return D(d,()=>e(d))},push(e,t){e!==d.view&&(d.view=e,t&&(d.data=t),d.history.push(e))},reset(e){d.view=e,d.history=[e]},replace(e){d.history.length>1&&(d.history[d.history.length-1]=e,d.view=e)},goBack(){if(d.history.length>1){d.history.pop();const[e]=d.history.slice(-1);d.view=e}},setData(e){d.data=e}},u={WALLETCONNECT_DEEPLINK_CHOICE:"WALLETCONNECT_DEEPLINK_CHOICE",WCM_VERSION:"WCM_VERSION",RECOMMENDED_WALLET_AMOUNT:9,isMobile(){return typeof window<"u"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},isAndroid(){return u.isMobile()&&navigator.userAgent.toLowerCase().includes("android")},isIos(){const e=navigator.userAgent.toLowerCase();return u.isMobile()&&(e.includes("iphone")||e.includes("ipad"))},isHttpUrl(e){return e.startsWith("http://")||e.startsWith("https://")},isArray(e){return Array.isArray(e)&&e.length>0},formatNativeUrl(e,t,s){if(u.isHttpUrl(e))return this.formatUniversalUrl(e,t,s);let r=e;r.includes("://")||(r=e.replaceAll("/","").replaceAll(":",""),r=`${r}://`),r.endsWith("/")||(r=`${r}/`),this.setWalletConnectDeepLink(r,s);const l=encodeURIComponent(t);return`${r}wc?uri=${l}`},formatUniversalUrl(e,t,s){if(!u.isHttpUrl(e))return this.formatNativeUrl(e,t,s);let r=e;r.endsWith("/")||(r=`${r}/`),this.setWalletConnectDeepLink(r,s);const l=encodeURIComponent(t);return`${r}wc?uri=${l}`},async wait(e){return new Promise(t=>{setTimeout(t,e)})},openHref(e,t){window.open(e,t,"noreferrer noopener")},setWalletConnectDeepLink(e,t){try{localStorage.setItem(u.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},setWalletConnectAndroidDeepLink(e){try{const[t]=e.split("?");localStorage.setItem(u.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:t,name:"Android"}))}catch{console.info("Unable to set WalletConnect android deep link")}},removeWalletConnectDeepLink(){try{localStorage.removeItem(u.WALLETCONNECT_DEEPLINK_CHOICE)}catch{console.info("Unable to remove WalletConnect deep link")}},setModalVersionInStorage(){try{typeof localStorage<"u"&&localStorage.setItem(u.WCM_VERSION,"2.6.2")}catch{console.info("Unable to set Web3Modal version in storage")}},getWalletRouterData(){var e;const t=(e=ee.state.data)==null?void 0:e.Wallet;if(!t)throw new Error('Missing "Wallet" view data');return t}},we=typeof location<"u"&&(location.hostname.includes("localhost")||location.protocol.includes("https")),f=j({enabled:we,userSessionId:"",events:[],connectedWalletId:void 0}),ue={state:f,subscribe(e){return D(f.events,()=>e(ve(f.events[f.events.length-1])))},initialize(){f.enabled&&typeof(crypto==null?void 0:crypto.randomUUID)<"u"&&(f.userSessionId=crypto.randomUUID())},setConnectedWalletId(e){f.connectedWalletId=e},click(e){if(f.enabled){const t={type:"CLICK",name:e.name,userSessionId:f.userSessionId,timestamp:Date.now(),data:e};f.events.push(t)}},track(e){if(f.enabled){const t={type:"TRACK",name:e.name,userSessionId:f.userSessionId,timestamp:Date.now(),data:e};f.events.push(t)}},view(e){if(f.enabled){const t={type:"VIEW",name:e.name,userSessionId:f.userSessionId,timestamp:Date.now(),data:e};f.events.push(t)}}},L=j({chains:void 0,walletConnectUri:void 0,isAuth:!1,isCustomDesktop:!1,isCustomMobile:!1,isDataLoaded:!1,isUiLoaded:!1}),y={state:L,subscribe(e){return D(L,()=>e(L))},setChains(e){L.chains=e},setWalletConnectUri(e){L.walletConnectUri=e},setIsCustomDesktop(e){L.isCustomDesktop=e},setIsCustomMobile(e){L.isCustomMobile=e},setIsDataLoaded(e){L.isDataLoaded=e},setIsUiLoaded(e){L.isUiLoaded=e},setIsAuth(e){L.isAuth=e}},B=j({projectId:"",mobileWallets:void 0,desktopWallets:void 0,walletImages:void 0,chains:void 0,enableAuthMode:!1,enableExplorer:!0,explorerExcludedWalletIds:void 0,explorerRecommendedWalletIds:void 0,termsOfServiceUrl:void 0,privacyPolicyUrl:void 0}),S={state:B,subscribe(e){return D(B,()=>e(B))},setConfig(e){var t,s;ue.initialize(),y.setChains(e.chains),y.setIsAuth(!!e.enableAuthMode),y.setIsCustomMobile(!!((t=e.mobileWallets)!=null&&t.length)),y.setIsCustomDesktop(!!((s=e.desktopWallets)!=null&&s.length)),u.setModalVersionInStorage(),Object.assign(B,e)}};var Ie=Object.defineProperty,oe=Object.getOwnPropertySymbols,Le=Object.prototype.hasOwnProperty,We=Object.prototype.propertyIsEnumerable,re=(e,t,s)=>t in e?Ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Oe=(e,t)=>{for(var s in t||(t={}))Le.call(t,s)&&re(e,s,t[s]);if(oe)for(var s of oe(t))We.call(t,s)&&re(e,s,t[s]);return e};const Q="https://explorer-api.walletconnect.com",X="wcm",Y="js-2.6.2";async function K(e,t){const s=Oe({sdkType:X,sdkVersion:Y},t),r=new URL(e,Q);return r.searchParams.append("projectId",S.state.projectId),Object.entries(s).forEach(([l,c])=>{c&&r.searchParams.append(l,String(c))}),(await fetch(r)).json()}const U={async getDesktopListings(e){return K("/w3m/v1/getDesktopListings",e)},async getMobileListings(e){return K("/w3m/v1/getMobileListings",e)},async getInjectedListings(e){return K("/w3m/v1/getInjectedListings",e)},async getAllListings(e){return K("/w3m/v1/getAllListings",e)},getWalletImageUrl(e){return`${Q}/w3m/v1/getWalletImage/${e}?projectId=${S.state.projectId}&sdkType=${X}&sdkVersion=${Y}`},getAssetImageUrl(e){return`${Q}/w3m/v1/getAssetImage/${e}?projectId=${S.state.projectId}&sdkType=${X}&sdkVersion=${Y}`}};var Ee=Object.defineProperty,ae=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,ie=(e,t,s)=>t in e?Ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,je=(e,t)=>{for(var s in t||(t={}))Ce.call(t,s)&&ie(e,s,t[s]);if(ae)for(var s of ae(t))Ae.call(t,s)&&ie(e,s,t[s]);return e};const le=u.isMobile(),W=j({wallets:{listings:[],total:0,page:1},search:{listings:[],total:0,page:1},recomendedWallets:[]}),Me={state:W,async getRecomendedWallets(){const{explorerRecommendedWalletIds:e,explorerExcludedWalletIds:t}=S.state;if(e==="NONE"||t==="ALL"&&!e)return W.recomendedWallets;if(u.isArray(e)){const s={recommendedIds:e.join(",")},{listings:r}=await U.getAllListings(s),l=Object.values(r);l.sort((c,m)=>{const p=e.indexOf(c.id),E=e.indexOf(m.id);return p-E}),W.recomendedWallets=l}else{const{chains:s,isAuth:r}=y.state,l=s==null?void 0:s.join(","),c=u.isArray(t),m={page:1,sdks:r?"auth_v1":void 0,entries:u.RECOMMENDED_WALLET_AMOUNT,chains:l,version:2,excludedIds:c?t.join(","):void 0},{listings:p}=le?await U.getMobileListings(m):await U.getDesktopListings(m);W.recomendedWallets=Object.values(p)}return W.recomendedWallets},async getWallets(e){const t=je({},e),{explorerRecommendedWalletIds:s,explorerExcludedWalletIds:r}=S.state,{recomendedWallets:l}=W;if(r==="ALL")return W.wallets;l.length?t.excludedIds=l.map(I=>I.id).join(","):u.isArray(s)&&(t.excludedIds=s.join(",")),u.isArray(r)&&(t.excludedIds=[t.excludedIds,r].filter(Boolean).join(",")),y.state.isAuth&&(t.sdks="auth_v1");const{page:c,search:m}=e,{listings:p,total:E}=le?await U.getMobileListings(t):await U.getDesktopListings(t),n=Object.values(p),g=m?"search":"wallets";return W[g]={listings:[...W[g].listings,...n],total:E,page:c??1},{listings:n,total:E}},getWalletImageUrl(e){return U.getWalletImageUrl(e)},getAssetImageUrl(e){return U.getAssetImageUrl(e)},resetSearch(){W.search={listings:[],total:0,page:1}}},N=j({open:!1}),z={state:N,subscribe(e){return D(N,()=>e(N))},async open(e){return new Promise(t=>{const{isUiLoaded:s,isDataLoaded:r}=y.state;if(u.removeWalletConnectDeepLink(),y.setWalletConnectUri(e==null?void 0:e.uri),y.setChains(e==null?void 0:e.chains),ee.reset("ConnectWallet"),s&&r)N.open=!0,t();else{const l=setInterval(()=>{const c=y.state;c.isUiLoaded&&c.isDataLoaded&&(clearInterval(l),N.open=!0,t())},200)}})},close(){N.open=!1}};var Ue=Object.defineProperty,ce=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,de=(e,t,s)=>t in e?Ue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,De=(e,t)=>{for(var s in t||(t={}))Pe.call(t,s)&&de(e,s,t[s]);if(ce)for(var s of ce(t))Se.call(t,s)&&de(e,s,t[s]);return e};function ke(){return typeof matchMedia<"u"&&matchMedia("(prefers-color-scheme: dark)").matches}const R=j({themeMode:ke()?"dark":"light"}),Z={state:R,subscribe(e){return D(R,()=>e(R))},setThemeConfig(e){const{themeMode:t,themeVariables:s}=e;t&&(R.themeMode=t),s&&(R.themeVariables=De({},s))}},P=j({open:!1,message:"",variant:"success"}),_e={state:P,subscribe(e){return D(P,()=>e(P))},openToast(e,t){P.open=!0,P.message=e,P.variant=t},closeToast(){P.open=!1}};class Ne{constructor(t){this.openModal=z.open,this.closeModal=z.close,this.subscribeModal=z.subscribe,this.setTheme=Z.setThemeConfig,Z.setThemeConfig(t),S.setConfig(t),this.initUi()}async initUi(){if(typeof window<"u"){await Promise.resolve().then(()=>require("./index-20yIH7p6.js"));const t=document.createElement("wcm-modal");document.body.insertAdjacentElement("beforeend",t),y.setIsUiLoaded(!0)}}}const Te=Object.freeze(Object.defineProperty({__proto__:null,WalletConnectModal:Ne},Symbol.toStringTag,{value:"Module"}));exports.R=ue;exports.T=ee;exports.a=u;exports.index=Te;exports.ne=Z;exports.oe=_e;exports.p=y;exports.se=z;exports.te=Me;exports.y=S;
|
|
1
|
+
"use strict";const me=Symbol(),se=Object.getPrototypeOf,G=new WeakMap,he=e=>e&&(G.has(e)?G.get(e):se(e)===Object.prototype||se(e)===Array.prototype),ge=e=>he(e)&&e[me]||null,ne=(e,t=!0)=>{G.set(e,t)},H={},F=e=>typeof e=="object"&&e!==null,A=new WeakMap,x=new WeakSet,be=(e=Object.is,t=(n,g)=>new Proxy(n,g),s=n=>F(n)&&!x.has(n)&&(Array.isArray(n)||!(Symbol.iterator in n))&&!(n instanceof WeakMap)&&!(n instanceof WeakSet)&&!(n instanceof Error)&&!(n instanceof Number)&&!(n instanceof Date)&&!(n instanceof String)&&!(n instanceof RegExp)&&!(n instanceof ArrayBuffer),r=n=>{switch(n.status){case"fulfilled":return n.value;case"rejected":throw n.reason;default:throw n}},l=new WeakMap,c=(n,g,I=r)=>{const v=l.get(n);if((v==null?void 0:v[0])===g)return v[1];const w=Array.isArray(n)?[]:Object.create(Object.getPrototypeOf(n));return ne(w,!0),l.set(n,[g,w]),Reflect.ownKeys(n).forEach(k=>{if(Object.getOwnPropertyDescriptor(w,k))return;const O=Reflect.get(n,k),M={value:O,enumerable:!0,configurable:!0};if(x.has(O))ne(O,!1);else if(O instanceof Promise)delete M.value,M.get=()=>I(O);else if(A.has(O)){const[b,q]=A.get(O);M.value=c(b,q(),I)}Object.defineProperty(w,k,M)}),Object.preventExtensions(w)},m=new WeakMap,p=[1,1],E=n=>{if(!F(n))throw new Error("object required");const g=m.get(n);if(g)return g;let I=p[0];const v=new Set,w=(i,a=++p[0])=>{I!==a&&(I=a,v.forEach(o=>o(i,a)))};let k=p[1];const O=(i=++p[1])=>(k!==i&&!v.size&&(k=i,b.forEach(([a])=>{const o=a[1](i);o>I&&(I=o)})),I),M=i=>(a,o)=>{const h=[...a];h[1]=[i,...h[1]],w(h,o)},b=new Map,q=(i,a)=>{if((H?"production":void 0)!=="production"&&b.has(i))throw new Error("prop listener already exists");if(v.size){const o=a[3](M(i));b.set(i,[a,o])}else b.set(i,[a])},te=i=>{var a;const o=b.get(i);o&&(b.delete(i),(a=o[1])==null||a.call(o))},fe=i=>(v.add(i),v.size===1&&b.forEach(([o,h],_)=>{if((H?"production":void 0)!=="production"&&h)throw new Error("remove already exists");const T=o[3](M(_));b.set(_,[o,T])}),()=>{v.delete(i),v.size===0&&b.forEach(([o,h],_)=>{h&&(h(),b.set(_,[o]))})}),J=Array.isArray(n)?[]:Object.create(Object.getPrototypeOf(n)),$=t(J,{deleteProperty(i,a){const o=Reflect.get(i,a);te(a);const h=Reflect.deleteProperty(i,a);return h&&w(["delete",[a],o]),h},set(i,a,o,h){const _=Reflect.has(i,a),T=Reflect.get(i,a,h);if(_&&(e(T,o)||m.has(o)&&e(T,m.get(o))))return!0;te(a),F(o)&&(o=ge(o)||o);let V=o;if(o instanceof Promise)o.then(C=>{o.status="fulfilled",o.value=C,w(["resolve",[a],C])}).catch(C=>{o.status="rejected",o.reason=C,w(["reject",[a],C])});else{!A.has(o)&&s(o)&&(V=E(o));const C=!x.has(V)&&A.get(V);C&&q(a,C)}return Reflect.set(i,a,V,h),w(["set",[a],o,T]),!0}});m.set(n,$);const pe=[J,O,c,fe];return A.set($,pe),Reflect.ownKeys(n).forEach(i=>{const a=Object.getOwnPropertyDescriptor(n,i);"value"in a&&($[i]=n[i],delete a.value,delete a.writable),Object.defineProperty(J,i,a)}),$})=>[E,A,x,e,t,s,r,l,c,m,p],[ye]=be();function j(e={}){return ye(e)}function D(e,t,s){const r=A.get(e);(H?"production":void 0)!=="production"&&!r&&console.warn("Please use proxy object");let l;const c=[],m=r[3];let p=!1;const n=m(g=>{c.push(g),l||(l=Promise.resolve().then(()=>{l=void 0,p&&t(c.splice(0))}))});return p=!0,()=>{p=!1,n()}}function ve(e,t){const s=A.get(e);(H?"production":void 0)!=="production"&&!s&&console.warn("Please use proxy object");const[r,l,c]=s;return c(r,l(),t)}const d=j({history:["ConnectWallet"],view:"ConnectWallet",data:void 0}),ee={state:d,subscribe(e){return D(d,()=>e(d))},push(e,t){e!==d.view&&(d.view=e,t&&(d.data=t),d.history.push(e))},reset(e){d.view=e,d.history=[e]},replace(e){d.history.length>1&&(d.history[d.history.length-1]=e,d.view=e)},goBack(){if(d.history.length>1){d.history.pop();const[e]=d.history.slice(-1);d.view=e}},setData(e){d.data=e}},u={WALLETCONNECT_DEEPLINK_CHOICE:"WALLETCONNECT_DEEPLINK_CHOICE",WCM_VERSION:"WCM_VERSION",RECOMMENDED_WALLET_AMOUNT:9,isMobile(){return typeof window<"u"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},isAndroid(){return u.isMobile()&&navigator.userAgent.toLowerCase().includes("android")},isIos(){const e=navigator.userAgent.toLowerCase();return u.isMobile()&&(e.includes("iphone")||e.includes("ipad"))},isHttpUrl(e){return e.startsWith("http://")||e.startsWith("https://")},isArray(e){return Array.isArray(e)&&e.length>0},formatNativeUrl(e,t,s){if(u.isHttpUrl(e))return this.formatUniversalUrl(e,t,s);let r=e;r.includes("://")||(r=e.replaceAll("/","").replaceAll(":",""),r=`${r}://`),r.endsWith("/")||(r=`${r}/`),this.setWalletConnectDeepLink(r,s);const l=encodeURIComponent(t);return`${r}wc?uri=${l}`},formatUniversalUrl(e,t,s){if(!u.isHttpUrl(e))return this.formatNativeUrl(e,t,s);let r=e;r.endsWith("/")||(r=`${r}/`),this.setWalletConnectDeepLink(r,s);const l=encodeURIComponent(t);return`${r}wc?uri=${l}`},async wait(e){return new Promise(t=>{setTimeout(t,e)})},openHref(e,t){window.open(e,t,"noreferrer noopener")},setWalletConnectDeepLink(e,t){try{localStorage.setItem(u.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},setWalletConnectAndroidDeepLink(e){try{const[t]=e.split("?");localStorage.setItem(u.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:t,name:"Android"}))}catch{console.info("Unable to set WalletConnect android deep link")}},removeWalletConnectDeepLink(){try{localStorage.removeItem(u.WALLETCONNECT_DEEPLINK_CHOICE)}catch{console.info("Unable to remove WalletConnect deep link")}},setModalVersionInStorage(){try{typeof localStorage<"u"&&localStorage.setItem(u.WCM_VERSION,"2.6.2")}catch{console.info("Unable to set Web3Modal version in storage")}},getWalletRouterData(){var e;const t=(e=ee.state.data)==null?void 0:e.Wallet;if(!t)throw new Error('Missing "Wallet" view data');return t}},we=typeof location<"u"&&(location.hostname.includes("localhost")||location.protocol.includes("https")),f=j({enabled:we,userSessionId:"",events:[],connectedWalletId:void 0}),ue={state:f,subscribe(e){return D(f.events,()=>e(ve(f.events[f.events.length-1])))},initialize(){f.enabled&&typeof(crypto==null?void 0:crypto.randomUUID)<"u"&&(f.userSessionId=crypto.randomUUID())},setConnectedWalletId(e){f.connectedWalletId=e},click(e){if(f.enabled){const t={type:"CLICK",name:e.name,userSessionId:f.userSessionId,timestamp:Date.now(),data:e};f.events.push(t)}},track(e){if(f.enabled){const t={type:"TRACK",name:e.name,userSessionId:f.userSessionId,timestamp:Date.now(),data:e};f.events.push(t)}},view(e){if(f.enabled){const t={type:"VIEW",name:e.name,userSessionId:f.userSessionId,timestamp:Date.now(),data:e};f.events.push(t)}}},L=j({chains:void 0,walletConnectUri:void 0,isAuth:!1,isCustomDesktop:!1,isCustomMobile:!1,isDataLoaded:!1,isUiLoaded:!1}),y={state:L,subscribe(e){return D(L,()=>e(L))},setChains(e){L.chains=e},setWalletConnectUri(e){L.walletConnectUri=e},setIsCustomDesktop(e){L.isCustomDesktop=e},setIsCustomMobile(e){L.isCustomMobile=e},setIsDataLoaded(e){L.isDataLoaded=e},setIsUiLoaded(e){L.isUiLoaded=e},setIsAuth(e){L.isAuth=e}},B=j({projectId:"",mobileWallets:void 0,desktopWallets:void 0,walletImages:void 0,chains:void 0,enableAuthMode:!1,enableExplorer:!0,explorerExcludedWalletIds:void 0,explorerRecommendedWalletIds:void 0,termsOfServiceUrl:void 0,privacyPolicyUrl:void 0}),S={state:B,subscribe(e){return D(B,()=>e(B))},setConfig(e){var t,s;ue.initialize(),y.setChains(e.chains),y.setIsAuth(!!e.enableAuthMode),y.setIsCustomMobile(!!((t=e.mobileWallets)!=null&&t.length)),y.setIsCustomDesktop(!!((s=e.desktopWallets)!=null&&s.length)),u.setModalVersionInStorage(),Object.assign(B,e)}};var Ie=Object.defineProperty,oe=Object.getOwnPropertySymbols,Le=Object.prototype.hasOwnProperty,We=Object.prototype.propertyIsEnumerable,re=(e,t,s)=>t in e?Ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Oe=(e,t)=>{for(var s in t||(t={}))Le.call(t,s)&&re(e,s,t[s]);if(oe)for(var s of oe(t))We.call(t,s)&&re(e,s,t[s]);return e};const Q="https://explorer-api.walletconnect.com",X="wcm",Y="js-2.6.2";async function K(e,t){const s=Oe({sdkType:X,sdkVersion:Y},t),r=new URL(e,Q);return r.searchParams.append("projectId",S.state.projectId),Object.entries(s).forEach(([l,c])=>{c&&r.searchParams.append(l,String(c))}),(await fetch(r)).json()}const U={async getDesktopListings(e){return K("/w3m/v1/getDesktopListings",e)},async getMobileListings(e){return K("/w3m/v1/getMobileListings",e)},async getInjectedListings(e){return K("/w3m/v1/getInjectedListings",e)},async getAllListings(e){return K("/w3m/v1/getAllListings",e)},getWalletImageUrl(e){return`${Q}/w3m/v1/getWalletImage/${e}?projectId=${S.state.projectId}&sdkType=${X}&sdkVersion=${Y}`},getAssetImageUrl(e){return`${Q}/w3m/v1/getAssetImage/${e}?projectId=${S.state.projectId}&sdkType=${X}&sdkVersion=${Y}`}};var Ee=Object.defineProperty,ae=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,ie=(e,t,s)=>t in e?Ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,je=(e,t)=>{for(var s in t||(t={}))Ce.call(t,s)&&ie(e,s,t[s]);if(ae)for(var s of ae(t))Ae.call(t,s)&&ie(e,s,t[s]);return e};const le=u.isMobile(),W=j({wallets:{listings:[],total:0,page:1},search:{listings:[],total:0,page:1},recomendedWallets:[]}),Me={state:W,async getRecomendedWallets(){const{explorerRecommendedWalletIds:e,explorerExcludedWalletIds:t}=S.state;if(e==="NONE"||t==="ALL"&&!e)return W.recomendedWallets;if(u.isArray(e)){const s={recommendedIds:e.join(",")},{listings:r}=await U.getAllListings(s),l=Object.values(r);l.sort((c,m)=>{const p=e.indexOf(c.id),E=e.indexOf(m.id);return p-E}),W.recomendedWallets=l}else{const{chains:s,isAuth:r}=y.state,l=s==null?void 0:s.join(","),c=u.isArray(t),m={page:1,sdks:r?"auth_v1":void 0,entries:u.RECOMMENDED_WALLET_AMOUNT,chains:l,version:2,excludedIds:c?t.join(","):void 0},{listings:p}=le?await U.getMobileListings(m):await U.getDesktopListings(m);W.recomendedWallets=Object.values(p)}return W.recomendedWallets},async getWallets(e){const t=je({},e),{explorerRecommendedWalletIds:s,explorerExcludedWalletIds:r}=S.state,{recomendedWallets:l}=W;if(r==="ALL")return W.wallets;l.length?t.excludedIds=l.map(I=>I.id).join(","):u.isArray(s)&&(t.excludedIds=s.join(",")),u.isArray(r)&&(t.excludedIds=[t.excludedIds,r].filter(Boolean).join(",")),y.state.isAuth&&(t.sdks="auth_v1");const{page:c,search:m}=e,{listings:p,total:E}=le?await U.getMobileListings(t):await U.getDesktopListings(t),n=Object.values(p),g=m?"search":"wallets";return W[g]={listings:[...W[g].listings,...n],total:E,page:c??1},{listings:n,total:E}},getWalletImageUrl(e){return U.getWalletImageUrl(e)},getAssetImageUrl(e){return U.getAssetImageUrl(e)},resetSearch(){W.search={listings:[],total:0,page:1}}},N=j({open:!1}),z={state:N,subscribe(e){return D(N,()=>e(N))},async open(e){return new Promise(t=>{const{isUiLoaded:s,isDataLoaded:r}=y.state;if(u.removeWalletConnectDeepLink(),y.setWalletConnectUri(e==null?void 0:e.uri),y.setChains(e==null?void 0:e.chains),ee.reset("ConnectWallet"),s&&r)N.open=!0,t();else{const l=setInterval(()=>{const c=y.state;c.isUiLoaded&&c.isDataLoaded&&(clearInterval(l),N.open=!0,t())},200)}})},close(){N.open=!1}};var Ue=Object.defineProperty,ce=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,de=(e,t,s)=>t in e?Ue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,De=(e,t)=>{for(var s in t||(t={}))Pe.call(t,s)&&de(e,s,t[s]);if(ce)for(var s of ce(t))Se.call(t,s)&&de(e,s,t[s]);return e};function ke(){return typeof matchMedia<"u"&&matchMedia("(prefers-color-scheme: dark)").matches}const R=j({themeMode:ke()?"dark":"light"}),Z={state:R,subscribe(e){return D(R,()=>e(R))},setThemeConfig(e){const{themeMode:t,themeVariables:s}=e;t&&(R.themeMode=t),s&&(R.themeVariables=De({},s))}},P=j({open:!1,message:"",variant:"success"}),_e={state:P,subscribe(e){return D(P,()=>e(P))},openToast(e,t){P.open=!0,P.message=e,P.variant=t},closeToast(){P.open=!1}};class Ne{constructor(t){this.openModal=z.open,this.closeModal=z.close,this.subscribeModal=z.subscribe,this.setTheme=Z.setThemeConfig,Z.setThemeConfig(t),S.setConfig(t),this.initUi()}async initUi(){if(typeof window<"u"){await Promise.resolve().then(()=>require("./index-Bc6-KGpl.js"));const t=document.createElement("wcm-modal");document.body.insertAdjacentElement("beforeend",t),y.setIsUiLoaded(!0)}}}const Te=Object.freeze(Object.defineProperty({__proto__:null,WalletConnectModal:Ne},Symbol.toStringTag,{value:"Module"}));exports.R=ue;exports.T=ee;exports.a=u;exports.index=Te;exports.ne=Z;exports.oe=_e;exports.p=y;exports.se=z;exports.te=Me;exports.y=S;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var h=Object.defineProperty;var m=(a,e,r)=>e in a?h(a,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[e]=r;var o=(a,e,r)=>m(a,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./index-
|
|
1
|
+
"use strict";var h=Object.defineProperty;var m=(a,e,r)=>e in a?h(a,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[e]=r;var o=(a,e,r)=>m(a,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./index-BFhdLIwV.js");class d{constructor(e,r,t,n){o(this,"network");o(this,"chain");o(this,"provider");o(this,"contracts");o(this,"chainId");o(this,"coreBridgePackageId");this.network=e,this.chain=r,this.provider=t,this.contracts=n,this.chainId=c.toChainId(r);const s=n.coreBridge;if(!s)throw new Error(`CoreBridge contract Address for chain ${r} not found`);this.coreBridgePackageId=s}getGuardianSet(e){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,r){const[t,n]=await c.SuiPlatform.chainFromRpc(e),s=r[n];if(s.network!==t)throw new Error(`Network mismatch: ${s.network} !== ${t}`);return new d(t,n,e,s.contracts)}async*verifyMessage(e,r){throw new Error("Method not implemented.")}async*publishMessage(e,r){throw new Error("Method not implemented.")}async parseTransaction(e){return(await this.parseMessages(e)).map(t=>({emitter:t.emitterAddress,sequence:t.sequence,chain:this.chain}))}async getGuardianSetIndex(){throw new Error("Method not implemented.")}async parseMessages(e){var n;const t=(n=(await this.provider.getTransactionBlock({digest:e,options:{showEvents:!0,showEffects:!0,showInput:!0}})).events)==null?void 0:n.filter(s=>s.type.endsWith("WormholeMessage"));if(!t||t.length==0)throw new Error("WormholeMessage not found");return t.map(s=>{const i=s.parsedJson;return c.createVAA("Uint8Array",{emitterChain:this.chain,emitterAddress:new c.SuiAddress(i.sender).toUniversalAddress(),sequence:BigInt(i.sequence),guardianSet:0,timestamp:Number(i.timestamp),consistencyLevel:i.consistency_level,nonce:i.nonce,signatures:[],payload:new Uint8Array(i.payload)})})}}c.registerProtocol("Sui","WormholeCore",d);exports.SuiWormholeCore=d;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var U=Object.defineProperty;var L=(i,e,a)=>e in i?U(i,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[e]=a;var y=(i,e,a)=>L(i,typeof e!="symbol"?e+"":e,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-DU1he9Nx.js"),k=new n.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new n.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const T=new n.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new n.PublicKey("So11111111111111111111111111111111111111112");new n.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class W extends Error{constructor(e){super(e)}}class z extends W{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const F=n.struct([n.u32("mintAuthorityOption"),n.publicKey("mintAuthority"),n.u64("supply"),n.u8("decimals"),n.bool("isInitialized"),n.u32("freezeAuthorityOption"),n.publicKey("freezeAuthority")]);F.span;function V(i,e,a=!1,t=k,r=T){if(!a&&!n.PublicKey.isOnCurve(e.toBuffer()))throw new z;const[s]=n.PublicKey.findProgramAddressSync([e.toBuffer(),t.toBuffer(),i.toBuffer()],r);return s}function H(i,e,a,t,r=k,s=T){return G(i,e,a,t,n.dist.Buffer.alloc(0),r,s)}function G(i,e,a,t,r,s=k,m=T){const o=[{pubkey:i,isSigner:!0,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1}];return new n.TransactionInstruction({keys:o,programId:m,data:r})}function K(i,e){return new n.Program(v.TokenMessengerIdl,new n.PublicKey(i),e===void 0?{connection:null}:e)}function X(i,e){return K(i,n.createReadOnlyProvider(e))}function I(i,e){return new n.Program(v.MessageTransmitterIdl,new n.PublicKey(i),e===void 0?{connection:null}:e)}function $(i,e){return I(i,n.createReadOnlyProvider(e))}const u=(i,e,a)=>{const t=[n.dist.Buffer.from(n.index.bytes.utf8.encode(i))];if(a)for(const s of a)typeof s=="string"?t.push(n.dist.Buffer.from(n.index.bytes.utf8.encode(s))):Array.isArray(s)?t.push(n.dist.Buffer.from(s)):n.dist.Buffer.isBuffer(s)?t.push(s):t.push(s.toBuffer());const r=n.PublicKey.findProgramAddressSync(t,e);return{publicKey:r[0],bump:r[1]}};function q(i,e,a,t,r,s,m,o,l){const d=u("message_transmitter",i),c=u("token_messenger",e),f=u("token_minter",e),p=u("local_token",e,[a]),M=u("remote_token_messenger",e,[t.toString()]),S=u("sender_authority",e),h=K(e),P=u("__event_authority",e);return h.methods.depositForBurn({amount:new n.BN(o.toString()),destinationDomain:t,mintRecipient:new n.PublicKey(m.toUint8Array())}).accounts({owner:r,senderAuthorityPda:S.publicKey,burnTokenAccount:s,messageTransmitter:d.publicKey,tokenMessenger:c.publicKey,remoteTokenMessenger:M.publicKey,tokenMinter:f.publicKey,localToken:p.publicKey,burnTokenMint:a,messageTransmitterProgram:i,tokenMessengerMinterProgram:e,tokenProgram:k,eventAuthority:P.publicKey,eventRentPayer:r,messageSentEventData:l}).instruction()}const w=6400n;function x(i){return(i-BigInt(1))/w*w+BigInt(1)}function B(i,e,a){const t=e.toString();return u("used_nonces",a,[t,x(i).toString()]).publicKey}async function J(i,e,a,t,r,s){const m=n.dist.Buffer.from(n.CircleBridge.serialize(t)),o=n.dist.Buffer.from(n.hex.decode(r)),l=new n.PublicKey(a),d=new n.PublicKey(t.payload.burnToken.toUint8Array()),c=new n.SolanaAddress(t.payload.mintRecipient).unwrap(),f=s?new n.PublicKey(s):c,p=t.sourceDomain.toString(),M=u("message_transmitter",i),S=u("token_messenger",e),h=u("token_minter",e),P=u("local_token",e,[l]),D=u("remote_token_messenger",e,[p]),C=u("token_pair",e,[p,d]),R=u("custody",e,[l]),O=u("message_transmitter_authority",i,[e]).publicKey,E=B(t.nonce,t.sourceDomain,i),N=u("__event_authority",i),_=u("__event_authority",e),g=[];g.push({isSigner:!1,isWritable:!1,pubkey:S.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:D.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:h.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:P.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:C.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:c}),g.push({isSigner:!1,isWritable:!0,pubkey:R.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:k}),g.push({isSigner:!1,isWritable:!1,pubkey:_.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:e});const A=I(i);return A.methods.receiveMessage({message:m,attestation:o}).accounts({payer:f,caller:f,authorityPda:O,messageTransmitter:M.publicKey,usedNonces:E,receiver:e,systemProgram:n.SystemProgram.programId,eventAuthority:N.publicKey,program:A.programId}).remainingAccounts(g).transaction()}class b{constructor(e,a,t,r){y(this,"network");y(this,"chain");y(this,"connection");y(this,"contracts");y(this,"tokenMessenger");y(this,"messageTransmitter");var o,l;if(this.network=e,this.chain=a,this.connection=t,this.contracts=r,e==="Devnet")throw new Error("CircleBridge not supported on Devnet");const s=(o=r.cctp)==null?void 0:o.messageTransmitter;if(!s)throw new Error(`Circle Messenge Transmitter contract for domain ${a} not found`);this.messageTransmitter=$(new n.PublicKey(s),this.connection);const m=(l=r.cctp)==null?void 0:l.tokenMessenger;if(!m)throw new Error(`Circle Token Messenger contract for domain ${a} not found`);this.tokenMessenger=X(new n.PublicKey(m),this.connection)}static async fromRpc(e,a){const[t,r]=await n.SolanaPlatform.chainFromRpc(e),s=a[r];if(s.network!==t)throw new Error(`Network mismatch: ${s.network} != ${t}`);return new b(t,r,e,s.contracts)}async*redeem(e,a,t){const r=new n.PublicKey(n.usdcContract.get(this.network,this.chain)),s=new n.SolanaAddress(e).unwrap(),m=new n.SolanaAddress(a.payload.mintRecipient).unwrap();if(!await this.connection.getAccountInfo(m)){const c=new n.Transaction().add(H(s,m,s,r));c.feePayer=s,yield this.createUnsignedTx({transaction:c},"CircleBridge.CreateATA")}const l=await J(this.messageTransmitter.programId,this.tokenMessenger.programId,r,a,t,s),d=new n.Transaction;d.feePayer=s,d.add(l),yield this.createUnsignedTx({transaction:d},"CircleBridge.Redeem")}async*transfer(e,a,t){const r=new n.PublicKey(n.usdcContract.get(this.network,this.chain)),s=new n.SolanaAddress(e).unwrap(),m=V(r,s),o=n.circleChainId.get(this.network,a.chain),l=a.address.toUniversalAddress(),d=n.Keypair.generate(),c=await q(this.messageTransmitter.programId,this.tokenMessenger.programId,r,o,s,m,l,t,d.publicKey),f=new n.Transaction;f.feePayer=s,f.add(c),yield this.createUnsignedTx({transaction:f,signers:[d]},"CircleBridge.Transfer")}async isTransferCompleted(e){const a=B(e.nonce,e.sourceDomain,this.messageTransmitter.programId),t=x(e.nonce),{usedNonces:r}=await this.messageTransmitter.account.usedNonces.fetch(a),s=Number(e.nonce-t),m=r[Math.floor(s/64)];if(!m)throw new Error("Invalid nonce byte index");const o=s%64,l=new n.BN((BigInt(1)<<BigInt(o)).toString());return!m.and(l).isZero()}async parseTransactionDetails(e){const a=await this.connection.getTransaction(e);if(!a||!a.meta)throw new Error("Transaction not found");const t=a.transaction.message.getAccountKeys();if(t.length<2)throw new Error("No message account found");const r=t.get(1),s=await this.connection.getAccountInfo(r);if(!s)throw new Error("No account data found");const m=new Uint8Array(s.data).slice(44),[o,l]=n.CircleBridge.deserialize(m),{payload:d}=o,c=d.messageSender,f=d.mintRecipient,p=n.toCircleChain(this.network,o.sourceDomain),M=n.toCircleChain(this.network,o.destinationDomain),S={chain:p,address:d.burnToken};return{from:{chain:p,address:c},to:{chain:M,address:f},token:S,amount:d.amount,message:o,id:{hash:l}}}createUnsignedTx(e,a,t=!1){return new n.SolanaUnsignedTransaction(e,this.network,this.chain,a,t)}}const Q={version:"0.1.0",name:"token_messenger_minter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"tokenMessengerMinterProgramData",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"addRemoteTokenMessenger",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddRemoteTokenMessengerParams"}}]},{name:"removeRemoteTokenMessenger",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveRemoteTokenMessengerParams"}}]},{name:"depositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnParams"}}],returns:"u64"},{name:"depositForBurnWithCaller",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnWithCallerParams"}}],returns:"u64"},{name:"replaceDepositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceDepositForBurnParams"}}],returns:"u64"},{name:"handleReceiveMessage",accounts:[{name:"authorityPda",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"tokenPair",isMut:!1,isSigner:!1},{name:"recipientTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"HandleReceiveMessageParams"}}]},{name:"setTokenController",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetTokenControllerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"setMaxBurnAmountPerMessage",accounts:[{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxBurnAmountPerMessageParams"}}]},{name:"addLocalToken",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"localTokenMint",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddLocalTokenParams"}}]},{name:"removeLocalToken",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveLocalTokenParams"}}]},{name:"linkTokenPair",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"LinkTokenPairParams"}}]},{name:"unlinkTokenPair",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UninkTokenPairParams"}}]},{name:"burnTokenCustody",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!1,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenMint",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"BurnTokenCustodyParams"}}]}],accounts:[{name:"tokenMessenger",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"},{name:"authorityBump",type:"u8"}]}},{name:"remoteTokenMessenger",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"tokenMinter",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"bump",type:"u8"}]}},{name:"tokenPair",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"},{name:"localToken",type:"publicKey"},{name:"bump",type:"u8"}]}},{name:"localToken",type:{kind:"struct",fields:[{name:"custody",type:"publicKey"},{name:"mint",type:"publicKey"},{name:"burnLimitPerMessage",type:"u64"},{name:"messagesSent",type:"u64"},{name:"messagesReceived",type:"u64"},{name:"amountSent",type:"u128"},{name:"amountReceived",type:"u128"},{name:"bump",type:"u8"},{name:"custodyBump",type:"u8"}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"AddRemoteTokenMessengerParams",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"DepositForBurnWithCallerParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"},{name:"destinationCaller",type:"publicKey"}]}},{name:"DepositForBurnParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"}]}},{name:"RemoveRemoteTokenMessengerParams",type:{kind:"struct",fields:[]}},{name:"ReplaceDepositForBurnParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"},{name:"newMintRecipient",type:"publicKey"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"AddLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"BurnTokenCustodyParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"}]}},{name:"LinkTokenPairParams",type:{kind:"struct",fields:[{name:"localToken",type:"publicKey"},{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"RemoveLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"SetMaxBurnAmountPerMessageParams",type:{kind:"struct",fields:[{name:"burnLimitPerMessage",type:"u64"}]}},{name:"SetTokenControllerParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"}]}},{name:"UninkTokenPairParams",type:{kind:"struct",fields:[]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"TokenMinterError",type:{kind:"enum",variants:[{name:"InvalidAuthority"},{name:"InvalidTokenMinterState"},{name:"ProgramPaused"},{name:"InvalidTokenPairState"},{name:"InvalidLocalTokenState"},{name:"InvalidPauser"},{name:"InvalidTokenController"},{name:"BurnAmountExceeded"},{name:"InvalidAmount"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"DepositForBurn",fields:[{name:"nonce",type:"u64",index:!1},{name:"burnToken",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"depositor",type:"publicKey",index:!1},{name:"mintRecipient",type:"publicKey",index:!1},{name:"destinationDomain",type:"u32",index:!1},{name:"destinationTokenMessenger",type:"publicKey",index:!1},{name:"destinationCaller",type:"publicKey",index:!1}]},{name:"MintAndWithdraw",fields:[{name:"mintRecipient",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"mintToken",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerAdded",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerRemoved",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"SetTokenController",fields:[{name:"tokenController",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"SetBurnLimitPerMessage",fields:[{name:"token",type:"publicKey",index:!1},{name:"burnLimitPerMessage",type:"u64",index:!1}]},{name:"LocalTokenAdded",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"LocalTokenRemoved",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"TokenPairLinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"TokenPairUnlinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]},{name:"TokenCustodyBurned",fields:[{name:"custodyTokenAccount",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"InvalidTokenMessengerState",msg:"Invalid token messenger state"},{code:6002,name:"InvalidTokenMessenger",msg:"Invalid token messenger"},{code:6003,name:"InvalidOwner",msg:"Invalid owner"},{code:6004,name:"MalformedMessage",msg:"Malformed message"},{code:6005,name:"InvalidMessageBodyVersion",msg:"Invalid message body version"},{code:6006,name:"InvalidAmount",msg:"Invalid amount"},{code:6007,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6008,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6009,name:"InvalidMintRecipient",msg:"Invalid mint recipient"},{code:6010,name:"InvalidSender",msg:"Invalid sender"},{code:6011,name:"InvalidTokenPair",msg:"Invalid token pair"},{code:6012,name:"InvalidTokenMint",msg:"Invalid token mint"}]},Z={version:"0.1.0",name:"message_transmitter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageTransmitterProgramData",isMut:!1,isSigner:!1},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"updateAttesterManager",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdateAttesterManagerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"setMaxMessageBodySize",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxMessageBodySizeParams"}}]},{name:"enableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"EnableAttesterParams"}}]},{name:"disableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DisableAttesterParams"}}]},{name:"setSignatureThreshold",accounts:[{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetSignatureThresholdParams"}}]},{name:"sendMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageParams"}}],returns:"u64"},{name:"sendMessageWithCaller",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageWithCallerParams"}}],returns:"u64"},{name:"replaceMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceMessageParams"}}],returns:"u64"},{name:"receiveMessage",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"caller",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!1,isSigner:!1},{name:"usedNonces",isMut:!0,isSigner:!1},{name:"receiver",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReceiveMessageParams"}}]},{name:"reclaimEventAccount",accounts:[{name:"payee",isMut:!0,isSigner:!0,docs:["rent SOL receiver, should match original rent payer"]},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"ReclaimEventAccountParams"}}]},{name:"getNoncePda",accounts:[{name:"messageTransmitter",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"GetNoncePDAParams"}}],returns:"publicKey"},{name:"isNonceUsed",accounts:[{name:"usedNonces",isMut:!1,isSigner:!1,docs:["Account will be explicitly loaded to avoid error when it's not initialized"]}],args:[{name:"params",type:{defined:"IsNonceUsedParams"}}],returns:"bool"}],accounts:[{name:"messageSent",type:{kind:"struct",fields:[{name:"rentPayer",type:"publicKey"},{name:"message",type:"bytes"}]}},{name:"messageTransmitter",docs:["Main state of the MessageTransmitter program"],type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"attesterManager",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"localDomain",type:"u32"},{name:"version",type:"u32"},{name:"signatureThreshold",type:"u32"},{name:"enabledAttesters",type:{vec:"publicKey"}},{name:"maxMessageBodySize",type:"u64"},{name:"nextAvailableNonce",type:"u64"}]}},{name:"usedNonces",docs:["UsedNonces account holds an array of bits that indicate which nonces were already used","so they can't be resused to receive new messages. Array starts with the first_nonce and","holds flags for UsedNonces::MAX_NONCES. Nonces are recorded separately for each remote_domain."],type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"firstNonce",type:"u64"},{name:"usedNonces",type:{array:["u64",100]}}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"DisableAttesterParams",type:{kind:"struct",fields:[{name:"attester",type:"publicKey"}]}},{name:"EnableAttesterParams",type:{kind:"struct",fields:[{name:"newAttester",type:"publicKey"}]}},{name:"GetNoncePDAParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"},{name:"sourceDomain",type:"u32"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"localDomain",type:"u32"},{name:"attester",type:"publicKey"},{name:"maxMessageBodySize",type:"u64"},{name:"version",type:"u32"}]}},{name:"IsNonceUsedParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"ReceiveMessageParams",type:{kind:"struct",fields:[{name:"message",type:"bytes"},{name:"attestation",type:"bytes"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"ReclaimEventAccountParams",type:{kind:"struct",fields:[{name:"attestation",type:"bytes"}]}},{name:"ReplaceMessageParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newMessageBody",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"}]}},{name:"SendMessageWithCallerParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"destinationCaller",type:"publicKey"}]}},{name:"SendMessageParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"}]}},{name:"SetMaxMessageBodySizeParams",type:{kind:"struct",fields:[{name:"newMaxMessageBodySize",type:"u64"}]}},{name:"SetSignatureThresholdParams",type:{kind:"struct",fields:[{name:"newSignatureThreshold",type:"u32"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdateAttesterManagerParams",type:{kind:"struct",fields:[{name:"newAttesterManager",type:"publicKey"}]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"MathError",type:{kind:"enum",variants:[{name:"MathOverflow"},{name:"MathUnderflow"},{name:"ErrorInDivision"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"AttesterManagerUpdated",fields:[{name:"previousAttesterManager",type:"publicKey",index:!1},{name:"newAttesterManager",type:"publicKey",index:!1}]},{name:"MessageReceived",fields:[{name:"caller",type:"publicKey",index:!1},{name:"sourceDomain",type:"u32",index:!1},{name:"nonce",type:"u64",index:!1},{name:"sender",type:"publicKey",index:!1},{name:"messageBody",type:"bytes",index:!1}]},{name:"SignatureThresholdUpdated",fields:[{name:"oldSignatureThreshold",type:"u32",index:!1},{name:"newSignatureThreshold",type:"u32",index:!1}]},{name:"AttesterEnabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"AttesterDisabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"MaxMessageBodySizeUpdated",fields:[{name:"newMaxMessageBodySize",type:"u64",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"ProgramPaused",msg:"Instruction is not allowed at this time"},{code:6002,name:"InvalidMessageTransmitterState",msg:"Invalid message transmitter state"},{code:6003,name:"InvalidSignatureThreshold",msg:"Invalid signature threshold"},{code:6004,name:"SignatureThresholdAlreadySet",msg:"Signature threshold already set"},{code:6005,name:"InvalidOwner",msg:"Invalid owner"},{code:6006,name:"InvalidPauser",msg:"Invalid pauser"},{code:6007,name:"InvalidAttesterManager",msg:"Invalid attester manager"},{code:6008,name:"InvalidAttester",msg:"Invalid attester"},{code:6009,name:"AttesterAlreadyEnabled",msg:"Attester already enabled"},{code:6010,name:"TooFewEnabledAttesters",msg:"Too few enabled attesters"},{code:6011,name:"SignatureThresholdTooLow",msg:"Signature threshold is too low"},{code:6012,name:"AttesterAlreadyDisabled",msg:"Attester already disabled"},{code:6013,name:"MessageBodyLimitExceeded",msg:"Message body exceeds max size"},{code:6014,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6015,name:"InvalidRecipient",msg:"Invalid message recipient"},{code:6016,name:"SenderNotPermitted",msg:"Sender is not permitted"},{code:6017,name:"InvalidSourceDomain",msg:"Invalid source domain"},{code:6018,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6019,name:"InvalidMessageVersion",msg:"Invalid message version"},{code:6020,name:"InvalidUsedNoncesAccount",msg:"Invalid used nonces account"},{code:6021,name:"InvalidRecipientProgram",msg:"Invalid recipient program"},{code:6022,name:"InvalidNonce",msg:"Invalid nonce"},{code:6023,name:"NonceAlreadyUsed",msg:"Nonce already used"},{code:6024,name:"MessageTooShort",msg:"Message is too short"},{code:6025,name:"MalformedMessage",msg:"Malformed message"},{code:6026,name:"InvalidSignatureOrderOrDupe",msg:"Invalid signature order or dupe"},{code:6027,name:"InvalidAttesterSignature",msg:"Invalid attester signature"},{code:6028,name:"InvalidAttestationLength",msg:"Invalid attestation length"},{code:6029,name:"InvalidSignatureRecoveryId",msg:"Invalid signature recovery ID"},{code:6030,name:"InvalidSignatureSValue",msg:"Invalid signature S value"},{code:6031,name:"InvalidMessageHash",msg:"Invalid message hash"}]};n.registerProtocol(n._platform$1,"CircleBridge",b);const v={TokenMessengerIdl:Q,MessageTransmitterIdl:Z};exports.SolanaCircleBridge=b;exports.idl=v;
|
|
1
|
+
"use strict";var U=Object.defineProperty;var L=(i,e,a)=>e in i?U(i,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[e]=a;var y=(i,e,a)=>L(i,typeof e!="symbol"?e+"":e,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-BFhdLIwV.js"),k=new n.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new n.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const T=new n.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new n.PublicKey("So11111111111111111111111111111111111111112");new n.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class W extends Error{constructor(e){super(e)}}class z extends W{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}const F=n.struct([n.u32("mintAuthorityOption"),n.publicKey("mintAuthority"),n.u64("supply"),n.u8("decimals"),n.bool("isInitialized"),n.u32("freezeAuthorityOption"),n.publicKey("freezeAuthority")]);F.span;function V(i,e,a=!1,t=k,r=T){if(!a&&!n.PublicKey.isOnCurve(e.toBuffer()))throw new z;const[s]=n.PublicKey.findProgramAddressSync([e.toBuffer(),t.toBuffer(),i.toBuffer()],r);return s}function H(i,e,a,t,r=k,s=T){return G(i,e,a,t,n.dist.Buffer.alloc(0),r,s)}function G(i,e,a,t,r,s=k,m=T){const o=[{pubkey:i,isSigner:!0,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1}];return new n.TransactionInstruction({keys:o,programId:m,data:r})}function K(i,e){return new n.Program(v.TokenMessengerIdl,new n.PublicKey(i),e===void 0?{connection:null}:e)}function X(i,e){return K(i,n.createReadOnlyProvider(e))}function I(i,e){return new n.Program(v.MessageTransmitterIdl,new n.PublicKey(i),e===void 0?{connection:null}:e)}function $(i,e){return I(i,n.createReadOnlyProvider(e))}const u=(i,e,a)=>{const t=[n.dist.Buffer.from(n.index.bytes.utf8.encode(i))];if(a)for(const s of a)typeof s=="string"?t.push(n.dist.Buffer.from(n.index.bytes.utf8.encode(s))):Array.isArray(s)?t.push(n.dist.Buffer.from(s)):n.dist.Buffer.isBuffer(s)?t.push(s):t.push(s.toBuffer());const r=n.PublicKey.findProgramAddressSync(t,e);return{publicKey:r[0],bump:r[1]}};function q(i,e,a,t,r,s,m,o,l){const d=u("message_transmitter",i),c=u("token_messenger",e),f=u("token_minter",e),p=u("local_token",e,[a]),M=u("remote_token_messenger",e,[t.toString()]),S=u("sender_authority",e),h=K(e),P=u("__event_authority",e);return h.methods.depositForBurn({amount:new n.BN(o.toString()),destinationDomain:t,mintRecipient:new n.PublicKey(m.toUint8Array())}).accounts({owner:r,senderAuthorityPda:S.publicKey,burnTokenAccount:s,messageTransmitter:d.publicKey,tokenMessenger:c.publicKey,remoteTokenMessenger:M.publicKey,tokenMinter:f.publicKey,localToken:p.publicKey,burnTokenMint:a,messageTransmitterProgram:i,tokenMessengerMinterProgram:e,tokenProgram:k,eventAuthority:P.publicKey,eventRentPayer:r,messageSentEventData:l}).instruction()}const w=6400n;function x(i){return(i-BigInt(1))/w*w+BigInt(1)}function B(i,e,a){const t=e.toString();return u("used_nonces",a,[t,x(i).toString()]).publicKey}async function J(i,e,a,t,r,s){const m=n.dist.Buffer.from(n.CircleBridge.serialize(t)),o=n.dist.Buffer.from(n.hex.decode(r)),l=new n.PublicKey(a),d=new n.PublicKey(t.payload.burnToken.toUint8Array()),c=new n.SolanaAddress(t.payload.mintRecipient).unwrap(),f=s?new n.PublicKey(s):c,p=t.sourceDomain.toString(),M=u("message_transmitter",i),S=u("token_messenger",e),h=u("token_minter",e),P=u("local_token",e,[l]),D=u("remote_token_messenger",e,[p]),C=u("token_pair",e,[p,d]),R=u("custody",e,[l]),O=u("message_transmitter_authority",i,[e]).publicKey,E=B(t.nonce,t.sourceDomain,i),N=u("__event_authority",i),_=u("__event_authority",e),g=[];g.push({isSigner:!1,isWritable:!1,pubkey:S.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:D.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:h.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:P.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:C.publicKey}),g.push({isSigner:!1,isWritable:!0,pubkey:c}),g.push({isSigner:!1,isWritable:!0,pubkey:R.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:k}),g.push({isSigner:!1,isWritable:!1,pubkey:_.publicKey}),g.push({isSigner:!1,isWritable:!1,pubkey:e});const A=I(i);return A.methods.receiveMessage({message:m,attestation:o}).accounts({payer:f,caller:f,authorityPda:O,messageTransmitter:M.publicKey,usedNonces:E,receiver:e,systemProgram:n.SystemProgram.programId,eventAuthority:N.publicKey,program:A.programId}).remainingAccounts(g).transaction()}class b{constructor(e,a,t,r){y(this,"network");y(this,"chain");y(this,"connection");y(this,"contracts");y(this,"tokenMessenger");y(this,"messageTransmitter");var o,l;if(this.network=e,this.chain=a,this.connection=t,this.contracts=r,e==="Devnet")throw new Error("CircleBridge not supported on Devnet");const s=(o=r.cctp)==null?void 0:o.messageTransmitter;if(!s)throw new Error(`Circle Messenge Transmitter contract for domain ${a} not found`);this.messageTransmitter=$(new n.PublicKey(s),this.connection);const m=(l=r.cctp)==null?void 0:l.tokenMessenger;if(!m)throw new Error(`Circle Token Messenger contract for domain ${a} not found`);this.tokenMessenger=X(new n.PublicKey(m),this.connection)}static async fromRpc(e,a){const[t,r]=await n.SolanaPlatform.chainFromRpc(e),s=a[r];if(s.network!==t)throw new Error(`Network mismatch: ${s.network} != ${t}`);return new b(t,r,e,s.contracts)}async*redeem(e,a,t){const r=new n.PublicKey(n.usdcContract.get(this.network,this.chain)),s=new n.SolanaAddress(e).unwrap(),m=new n.SolanaAddress(a.payload.mintRecipient).unwrap();if(!await this.connection.getAccountInfo(m)){const c=new n.Transaction().add(H(s,m,s,r));c.feePayer=s,yield this.createUnsignedTx({transaction:c},"CircleBridge.CreateATA")}const l=await J(this.messageTransmitter.programId,this.tokenMessenger.programId,r,a,t,s),d=new n.Transaction;d.feePayer=s,d.add(l),yield this.createUnsignedTx({transaction:d},"CircleBridge.Redeem")}async*transfer(e,a,t){const r=new n.PublicKey(n.usdcContract.get(this.network,this.chain)),s=new n.SolanaAddress(e).unwrap(),m=V(r,s),o=n.circleChainId.get(this.network,a.chain),l=a.address.toUniversalAddress(),d=n.Keypair.generate(),c=await q(this.messageTransmitter.programId,this.tokenMessenger.programId,r,o,s,m,l,t,d.publicKey),f=new n.Transaction;f.feePayer=s,f.add(c),yield this.createUnsignedTx({transaction:f,signers:[d]},"CircleBridge.Transfer")}async isTransferCompleted(e){const a=B(e.nonce,e.sourceDomain,this.messageTransmitter.programId),t=x(e.nonce),{usedNonces:r}=await this.messageTransmitter.account.usedNonces.fetch(a),s=Number(e.nonce-t),m=r[Math.floor(s/64)];if(!m)throw new Error("Invalid nonce byte index");const o=s%64,l=new n.BN((BigInt(1)<<BigInt(o)).toString());return!m.and(l).isZero()}async parseTransactionDetails(e){const a=await this.connection.getTransaction(e);if(!a||!a.meta)throw new Error("Transaction not found");const t=a.transaction.message.getAccountKeys();if(t.length<2)throw new Error("No message account found");const r=t.get(1),s=await this.connection.getAccountInfo(r);if(!s)throw new Error("No account data found");const m=new Uint8Array(s.data).slice(44),[o,l]=n.CircleBridge.deserialize(m),{payload:d}=o,c=d.messageSender,f=d.mintRecipient,p=n.toCircleChain(this.network,o.sourceDomain),M=n.toCircleChain(this.network,o.destinationDomain),S={chain:p,address:d.burnToken};return{from:{chain:p,address:c},to:{chain:M,address:f},token:S,amount:d.amount,message:o,id:{hash:l}}}createUnsignedTx(e,a,t=!1){return new n.SolanaUnsignedTransaction(e,this.network,this.chain,a,t)}}const Q={version:"0.1.0",name:"token_messenger_minter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"tokenMessengerMinterProgramData",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"addRemoteTokenMessenger",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddRemoteTokenMessengerParams"}}]},{name:"removeRemoteTokenMessenger",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveRemoteTokenMessengerParams"}}]},{name:"depositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnParams"}}],returns:"u64"},{name:"depositForBurnWithCaller",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"burnTokenAccount",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"burnTokenMint",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DepositForBurnWithCallerParams"}}],returns:"u64"},{name:"replaceDepositForBurn",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"tokenMessengerMinterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceDepositForBurnParams"}}],returns:"u64"},{name:"handleReceiveMessage",accounts:[{name:"authorityPda",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"remoteTokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"tokenPair",isMut:!1,isSigner:!1},{name:"recipientTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"HandleReceiveMessageParams"}}]},{name:"setTokenController",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetTokenControllerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"tokenMessenger",isMut:!1,isSigner:!1},{name:"tokenMinter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"setMaxBurnAmountPerMessage",accounts:[{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxBurnAmountPerMessageParams"}}]},{name:"addLocalToken",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"localTokenMint",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AddLocalTokenParams"}}]},{name:"removeLocalToken",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!0,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"RemoveLocalTokenParams"}}]},{name:"linkTokenPair",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"LinkTokenPairParams"}}]},{name:"unlinkTokenPair",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"tokenPair",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UninkTokenPairParams"}}]},{name:"burnTokenCustody",accounts:[{name:"payee",isMut:!0,isSigner:!0},{name:"tokenController",isMut:!1,isSigner:!0},{name:"tokenMinter",isMut:!1,isSigner:!1},{name:"localToken",isMut:!1,isSigner:!1},{name:"custodyTokenAccount",isMut:!0,isSigner:!1},{name:"custodyTokenMint",isMut:!0,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"BurnTokenCustodyParams"}}]}],accounts:[{name:"tokenMessenger",type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"},{name:"authorityBump",type:"u8"}]}},{name:"remoteTokenMessenger",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"tokenMinter",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"bump",type:"u8"}]}},{name:"tokenPair",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"},{name:"localToken",type:"publicKey"},{name:"bump",type:"u8"}]}},{name:"localToken",type:{kind:"struct",fields:[{name:"custody",type:"publicKey"},{name:"mint",type:"publicKey"},{name:"burnLimitPerMessage",type:"u64"},{name:"messagesSent",type:"u64"},{name:"messagesReceived",type:"u64"},{name:"amountSent",type:"u128"},{name:"amountReceived",type:"u128"},{name:"bump",type:"u8"},{name:"custodyBump",type:"u8"}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"AddRemoteTokenMessengerParams",type:{kind:"struct",fields:[{name:"domain",type:"u32"},{name:"tokenMessenger",type:"publicKey"}]}},{name:"DepositForBurnWithCallerParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"},{name:"destinationCaller",type:"publicKey"}]}},{name:"DepositForBurnParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"destinationDomain",type:"u32"},{name:"mintRecipient",type:"publicKey"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"},{name:"localMessageTransmitter",type:"publicKey"},{name:"messageBodyVersion",type:"u32"}]}},{name:"RemoveRemoteTokenMessengerParams",type:{kind:"struct",fields:[]}},{name:"ReplaceDepositForBurnParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"},{name:"newMintRecipient",type:"publicKey"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"AddLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"BurnTokenCustodyParams",type:{kind:"struct",fields:[{name:"amount",type:"u64"}]}},{name:"LinkTokenPairParams",type:{kind:"struct",fields:[{name:"localToken",type:"publicKey"},{name:"remoteDomain",type:"u32"},{name:"remoteToken",type:"publicKey"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"RemoveLocalTokenParams",type:{kind:"struct",fields:[]}},{name:"SetMaxBurnAmountPerMessageParams",type:{kind:"struct",fields:[{name:"burnLimitPerMessage",type:"u64"}]}},{name:"SetTokenControllerParams",type:{kind:"struct",fields:[{name:"tokenController",type:"publicKey"}]}},{name:"UninkTokenPairParams",type:{kind:"struct",fields:[]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"TokenMinterError",type:{kind:"enum",variants:[{name:"InvalidAuthority"},{name:"InvalidTokenMinterState"},{name:"ProgramPaused"},{name:"InvalidTokenPairState"},{name:"InvalidLocalTokenState"},{name:"InvalidPauser"},{name:"InvalidTokenController"},{name:"BurnAmountExceeded"},{name:"InvalidAmount"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"DepositForBurn",fields:[{name:"nonce",type:"u64",index:!1},{name:"burnToken",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"depositor",type:"publicKey",index:!1},{name:"mintRecipient",type:"publicKey",index:!1},{name:"destinationDomain",type:"u32",index:!1},{name:"destinationTokenMessenger",type:"publicKey",index:!1},{name:"destinationCaller",type:"publicKey",index:!1}]},{name:"MintAndWithdraw",fields:[{name:"mintRecipient",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1},{name:"mintToken",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerAdded",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"RemoteTokenMessengerRemoved",fields:[{name:"domain",type:"u32",index:!1},{name:"tokenMessenger",type:"publicKey",index:!1}]},{name:"SetTokenController",fields:[{name:"tokenController",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"SetBurnLimitPerMessage",fields:[{name:"token",type:"publicKey",index:!1},{name:"burnLimitPerMessage",type:"u64",index:!1}]},{name:"LocalTokenAdded",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"LocalTokenRemoved",fields:[{name:"custody",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1}]},{name:"TokenPairLinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"TokenPairUnlinked",fields:[{name:"localToken",type:"publicKey",index:!1},{name:"remoteDomain",type:"u32",index:!1},{name:"remoteToken",type:"publicKey",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]},{name:"TokenCustodyBurned",fields:[{name:"custodyTokenAccount",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"InvalidTokenMessengerState",msg:"Invalid token messenger state"},{code:6002,name:"InvalidTokenMessenger",msg:"Invalid token messenger"},{code:6003,name:"InvalidOwner",msg:"Invalid owner"},{code:6004,name:"MalformedMessage",msg:"Malformed message"},{code:6005,name:"InvalidMessageBodyVersion",msg:"Invalid message body version"},{code:6006,name:"InvalidAmount",msg:"Invalid amount"},{code:6007,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6008,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6009,name:"InvalidMintRecipient",msg:"Invalid mint recipient"},{code:6010,name:"InvalidSender",msg:"Invalid sender"},{code:6011,name:"InvalidTokenPair",msg:"Invalid token pair"},{code:6012,name:"InvalidTokenMint",msg:"Invalid token mint"}]},Z={version:"0.1.0",name:"message_transmitter",instructions:[{name:"initialize",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"upgradeAuthority",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageTransmitterProgramData",isMut:!1,isSigner:!1},{name:"messageTransmitterProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"InitializeParams"}}]},{name:"transferOwnership",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"TransferOwnershipParams"}}]},{name:"acceptOwnership",accounts:[{name:"pendingOwner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"AcceptOwnershipParams"}}]},{name:"updatePauser",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdatePauserParams"}}]},{name:"updateAttesterManager",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UpdateAttesterManagerParams"}}]},{name:"pause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"PauseParams"}}]},{name:"unpause",accounts:[{name:"pauser",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"UnpauseParams"}}]},{name:"setMaxMessageBodySize",accounts:[{name:"owner",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetMaxMessageBodySizeParams"}}]},{name:"enableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"EnableAttesterParams"}}]},{name:"disableAttester",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"DisableAttesterParams"}}]},{name:"setSignatureThreshold",accounts:[{name:"attesterManager",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SetSignatureThresholdParams"}}]},{name:"sendMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageParams"}}],returns:"u64"},{name:"sendMessageWithCaller",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"SendMessageWithCallerParams"}}],returns:"u64"},{name:"replaceMessage",accounts:[{name:"eventRentPayer",isMut:!0,isSigner:!0},{name:"senderAuthorityPda",isMut:!1,isSigner:!0},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!0},{name:"senderProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReplaceMessageParams"}}],returns:"u64"},{name:"receiveMessage",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"caller",isMut:!1,isSigner:!0},{name:"authorityPda",isMut:!1,isSigner:!1},{name:"messageTransmitter",isMut:!1,isSigner:!1},{name:"usedNonces",isMut:!0,isSigner:!1},{name:"receiver",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"eventAuthority",isMut:!1,isSigner:!1},{name:"program",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"ReceiveMessageParams"}}]},{name:"reclaimEventAccount",accounts:[{name:"payee",isMut:!0,isSigner:!0,docs:["rent SOL receiver, should match original rent payer"]},{name:"messageTransmitter",isMut:!0,isSigner:!1},{name:"messageSentEventData",isMut:!0,isSigner:!1}],args:[{name:"params",type:{defined:"ReclaimEventAccountParams"}}]},{name:"getNoncePda",accounts:[{name:"messageTransmitter",isMut:!1,isSigner:!1}],args:[{name:"params",type:{defined:"GetNoncePDAParams"}}],returns:"publicKey"},{name:"isNonceUsed",accounts:[{name:"usedNonces",isMut:!1,isSigner:!1,docs:["Account will be explicitly loaded to avoid error when it's not initialized"]}],args:[{name:"params",type:{defined:"IsNonceUsedParams"}}],returns:"bool"}],accounts:[{name:"messageSent",type:{kind:"struct",fields:[{name:"rentPayer",type:"publicKey"},{name:"message",type:"bytes"}]}},{name:"messageTransmitter",docs:["Main state of the MessageTransmitter program"],type:{kind:"struct",fields:[{name:"owner",type:"publicKey"},{name:"pendingOwner",type:"publicKey"},{name:"attesterManager",type:"publicKey"},{name:"pauser",type:"publicKey"},{name:"paused",type:"bool"},{name:"localDomain",type:"u32"},{name:"version",type:"u32"},{name:"signatureThreshold",type:"u32"},{name:"enabledAttesters",type:{vec:"publicKey"}},{name:"maxMessageBodySize",type:"u64"},{name:"nextAvailableNonce",type:"u64"}]}},{name:"usedNonces",docs:["UsedNonces account holds an array of bits that indicate which nonces were already used","so they can't be resused to receive new messages. Array starts with the first_nonce and","holds flags for UsedNonces::MAX_NONCES. Nonces are recorded separately for each remote_domain."],type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"firstNonce",type:"u64"},{name:"usedNonces",type:{array:["u64",100]}}]}}],types:[{name:"AcceptOwnershipParams",type:{kind:"struct",fields:[]}},{name:"DisableAttesterParams",type:{kind:"struct",fields:[{name:"attester",type:"publicKey"}]}},{name:"EnableAttesterParams",type:{kind:"struct",fields:[{name:"newAttester",type:"publicKey"}]}},{name:"GetNoncePDAParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"},{name:"sourceDomain",type:"u32"}]}},{name:"InitializeParams",type:{kind:"struct",fields:[{name:"localDomain",type:"u32"},{name:"attester",type:"publicKey"},{name:"maxMessageBodySize",type:"u64"},{name:"version",type:"u32"}]}},{name:"IsNonceUsedParams",type:{kind:"struct",fields:[{name:"nonce",type:"u64"}]}},{name:"PauseParams",type:{kind:"struct",fields:[]}},{name:"ReceiveMessageParams",type:{kind:"struct",fields:[{name:"message",type:"bytes"},{name:"attestation",type:"bytes"}]}},{name:"HandleReceiveMessageParams",type:{kind:"struct",fields:[{name:"remoteDomain",type:"u32"},{name:"sender",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"authorityBump",type:"u8"}]}},{name:"ReclaimEventAccountParams",type:{kind:"struct",fields:[{name:"attestation",type:"bytes"}]}},{name:"ReplaceMessageParams",type:{kind:"struct",fields:[{name:"originalMessage",type:"bytes"},{name:"originalAttestation",type:"bytes"},{name:"newMessageBody",type:"bytes"},{name:"newDestinationCaller",type:"publicKey"}]}},{name:"SendMessageWithCallerParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"},{name:"destinationCaller",type:"publicKey"}]}},{name:"SendMessageParams",type:{kind:"struct",fields:[{name:"destinationDomain",type:"u32"},{name:"recipient",type:"publicKey"},{name:"messageBody",type:"bytes"}]}},{name:"SetMaxMessageBodySizeParams",type:{kind:"struct",fields:[{name:"newMaxMessageBodySize",type:"u64"}]}},{name:"SetSignatureThresholdParams",type:{kind:"struct",fields:[{name:"newSignatureThreshold",type:"u32"}]}},{name:"TransferOwnershipParams",type:{kind:"struct",fields:[{name:"newOwner",type:"publicKey"}]}},{name:"UnpauseParams",type:{kind:"struct",fields:[]}},{name:"UpdateAttesterManagerParams",type:{kind:"struct",fields:[{name:"newAttesterManager",type:"publicKey"}]}},{name:"UpdatePauserParams",type:{kind:"struct",fields:[{name:"newPauser",type:"publicKey"}]}},{name:"MathError",type:{kind:"enum",variants:[{name:"MathOverflow"},{name:"MathUnderflow"},{name:"ErrorInDivision"}]}}],events:[{name:"OwnershipTransferStarted",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"OwnershipTransferred",fields:[{name:"previousOwner",type:"publicKey",index:!1},{name:"newOwner",type:"publicKey",index:!1}]},{name:"PauserChanged",fields:[{name:"newAddress",type:"publicKey",index:!1}]},{name:"AttesterManagerUpdated",fields:[{name:"previousAttesterManager",type:"publicKey",index:!1},{name:"newAttesterManager",type:"publicKey",index:!1}]},{name:"MessageReceived",fields:[{name:"caller",type:"publicKey",index:!1},{name:"sourceDomain",type:"u32",index:!1},{name:"nonce",type:"u64",index:!1},{name:"sender",type:"publicKey",index:!1},{name:"messageBody",type:"bytes",index:!1}]},{name:"SignatureThresholdUpdated",fields:[{name:"oldSignatureThreshold",type:"u32",index:!1},{name:"newSignatureThreshold",type:"u32",index:!1}]},{name:"AttesterEnabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"AttesterDisabled",fields:[{name:"attester",type:"publicKey",index:!1}]},{name:"MaxMessageBodySizeUpdated",fields:[{name:"newMaxMessageBodySize",type:"u64",index:!1}]},{name:"Pause",fields:[]},{name:"Unpause",fields:[]}],errors:[{code:6e3,name:"InvalidAuthority",msg:"Invalid authority"},{code:6001,name:"ProgramPaused",msg:"Instruction is not allowed at this time"},{code:6002,name:"InvalidMessageTransmitterState",msg:"Invalid message transmitter state"},{code:6003,name:"InvalidSignatureThreshold",msg:"Invalid signature threshold"},{code:6004,name:"SignatureThresholdAlreadySet",msg:"Signature threshold already set"},{code:6005,name:"InvalidOwner",msg:"Invalid owner"},{code:6006,name:"InvalidPauser",msg:"Invalid pauser"},{code:6007,name:"InvalidAttesterManager",msg:"Invalid attester manager"},{code:6008,name:"InvalidAttester",msg:"Invalid attester"},{code:6009,name:"AttesterAlreadyEnabled",msg:"Attester already enabled"},{code:6010,name:"TooFewEnabledAttesters",msg:"Too few enabled attesters"},{code:6011,name:"SignatureThresholdTooLow",msg:"Signature threshold is too low"},{code:6012,name:"AttesterAlreadyDisabled",msg:"Attester already disabled"},{code:6013,name:"MessageBodyLimitExceeded",msg:"Message body exceeds max size"},{code:6014,name:"InvalidDestinationCaller",msg:"Invalid destination caller"},{code:6015,name:"InvalidRecipient",msg:"Invalid message recipient"},{code:6016,name:"SenderNotPermitted",msg:"Sender is not permitted"},{code:6017,name:"InvalidSourceDomain",msg:"Invalid source domain"},{code:6018,name:"InvalidDestinationDomain",msg:"Invalid destination domain"},{code:6019,name:"InvalidMessageVersion",msg:"Invalid message version"},{code:6020,name:"InvalidUsedNoncesAccount",msg:"Invalid used nonces account"},{code:6021,name:"InvalidRecipientProgram",msg:"Invalid recipient program"},{code:6022,name:"InvalidNonce",msg:"Invalid nonce"},{code:6023,name:"NonceAlreadyUsed",msg:"Nonce already used"},{code:6024,name:"MessageTooShort",msg:"Message is too short"},{code:6025,name:"MalformedMessage",msg:"Malformed message"},{code:6026,name:"InvalidSignatureOrderOrDupe",msg:"Invalid signature order or dupe"},{code:6027,name:"InvalidAttesterSignature",msg:"Invalid attester signature"},{code:6028,name:"InvalidAttestationLength",msg:"Invalid attestation length"},{code:6029,name:"InvalidSignatureRecoveryId",msg:"Invalid signature recovery ID"},{code:6030,name:"InvalidSignatureSValue",msg:"Invalid signature S value"},{code:6031,name:"InvalidMessageHash",msg:"Invalid message hash"}]};n.registerProtocol(n._platform$1,"CircleBridge",b);const v={TokenMessengerIdl:Q,MessageTransmitterIdl:Z};exports.SolanaCircleBridge=b;exports.idl=v;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var Q = Object.defineProperty;
|
|
2
2
|
var j = (t, e, s) => e in t ? Q(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
|
|
3
3
|
var y = (t, e, s) => j(t, typeof e != "symbol" ? e + "" : e, s);
|
|
4
|
-
import { a9 as u, aW as Y, aX as I, aY as x, aZ as ee, a_ as ne, a$ as se, O as M, bE as O, bF as ae, bG as E, bH as N, bI as B, bJ as _, br as U, r as te, f as b, e as ie, bs as D, ad as T, bq as re, ao as me, bt as R, bK as oe, bf as ue, g as le } from "./index-
|
|
4
|
+
import { a9 as u, aW as Y, aX as I, aY as x, aZ as ee, a_ as ne, a$ as se, O as M, bE as O, bF as ae, bG as E, bH as N, bI as B, bJ as _, br as U, r as te, f as b, e as ie, bs as D, ad as T, bq as re, ao as me, bt as R, bK as oe, bf as ue, g as le } from "./index-DVsO6_MG.mjs";
|
|
5
5
|
const h = new u("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
|
|
6
6
|
new u("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
|
|
7
7
|
const A = new u("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("./index-DU1he9Nx.js"),pl=require("./dijkstra-CtFxn7S9.js"),P=require("./index-CskmLcFl.js"),_=require("./index-ChLwWlxD.js"),W=require("./index-CZi3G6c5.js");let gl=class extends _.r{constructor(e){super(e),this.events=new E.eventsExports.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async request(e,t){return this.requestStrict(_.formatJsonRpcRequest(e.method,e.params||[],e.id||_.getBigIntRpcId().toString()),t)}async requestStrict(e,t){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(s){n(s)}this.events.on(`${e.id}`,s=>{_.isJsonRpcError(s)?n(s.error):i(s.result)});try{await this.connection.send(e,t)}catch(s){n(s)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),_.isJsonRpcResponse(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),typeof e=="string"&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}};var yl=function(){var r=document.getSelection();if(!r.rangeCount)return function(){};for(var e=document.activeElement,t=[],i=0;i<r.rangeCount;i++)t.push(r.getRangeAt(i));switch(e.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":e.blur();break;default:e=null;break}return r.removeAllRanges(),function(){r.type==="Caret"&&r.removeAllRanges(),r.rangeCount||t.forEach(function(n){r.addRange(n)}),e&&e.focus()}},ml=yl,Ln={"text/plain":"Text","text/html":"Url",default:"Text"},vl="Copy to clipboard: #{key}, Enter";function wl(r){var e=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return r.replace(/#{\s*key\s*}/g,e)}function _l(r,e){var t,i,n,s,o,a,c=!1;e||(e={}),t=e.debug||!1;try{n=ml(),s=document.createRange(),o=document.getSelection(),a=document.createElement("span"),a.textContent=r,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top=0,a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",function(u){if(u.stopPropagation(),e.format)if(u.preventDefault(),typeof u.clipboardData>"u"){t&&console.warn("unable to use e.clipboardData"),t&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var h=Ln[e.format]||Ln.default;window.clipboardData.setData(h,r)}else u.clipboardData.clearData(),u.clipboardData.setData(e.format,r);e.onCopy&&(u.preventDefault(),e.onCopy(u.clipboardData))}),document.body.appendChild(a),s.selectNodeContents(a),o.addRange(s);var l=document.execCommand("copy");if(!l)throw new Error("copy command was unsuccessful");c=!0}catch(u){t&&console.error("unable to copy using execCommand: ",u),t&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",r),e.onCopy&&e.onCopy(window.clipboardData),c=!0}catch(h){t&&console.error("unable to copy using clipboardData: ",h),t&&console.error("falling back to prompt"),i=wl("message"in e?e.message:vl),window.prompt(i,r)}}finally{o&&(typeof o.removeRange=="function"?o.removeRange(s):o.removeAllRanges()),a&&document.body.removeChild(a),n()}return c}var bl=_l,El={}.toString,tn=Array.isArray||function(r){return El.call(r)=="[object Array]"},Sl=E.requireElliptic(),rn={},Q={};Object.defineProperty(Q,"__esModule",{value:!0});var $o=Q.getLocalStorage=Ko=Q.getLocalStorageOrThrow=zo=Q.getCrypto=jo=Q.getCryptoOrThrow=Uo=Q.getLocation=Bo=Q.getLocationOrThrow=qo=Q.getNavigator=Fo=Q.getNavigatorOrThrow=Do=Q.getDocument=Lo=Q.getDocumentOrThrow=Mo=Q.getFromWindowOrThrow=ko=Q.getFromWindow=void 0;function vt(r){let e;return typeof window<"u"&&typeof window[r]<"u"&&(e=window[r]),e}var ko=Q.getFromWindow=vt;function Ft(r){const e=vt(r);if(!e)throw new Error(`${r} is not defined in Window`);return e}var Mo=Q.getFromWindowOrThrow=Ft;function Il(){return Ft("document")}var Lo=Q.getDocumentOrThrow=Il;function xl(){return vt("document")}var Do=Q.getDocument=xl;function Pl(){return Ft("navigator")}var Fo=Q.getNavigatorOrThrow=Pl;function Al(){return vt("navigator")}var qo=Q.getNavigator=Al;function Rl(){return Ft("location")}var Bo=Q.getLocationOrThrow=Rl;function Nl(){return vt("location")}var Uo=Q.getLocation=Nl;function Tl(){return Ft("crypto")}var jo=Q.getCryptoOrThrow=Tl;function Cl(){return vt("crypto")}var zo=Q.getCrypto=Cl;function Ol(){return Ft("localStorage")}var Ko=Q.getLocalStorageOrThrow=Ol;function $l(){return vt("localStorage")}$o=Q.getLocalStorage=$l;Object.defineProperty(rn,"__esModule",{value:!0});var Vo=rn.getWindowMetadata=void 0;const Dn=Q;function kl(){let r,e;try{r=Dn.getDocumentOrThrow(),e=Dn.getLocationOrThrow()}catch{return null}function t(){const h=r.getElementsByTagName("link"),p=[];for(let d=0;d<h.length;d++){const f=h[d],g=f.getAttribute("rel");if(g&&g.toLowerCase().indexOf("icon")>-1){const y=f.getAttribute("href");if(y)if(y.toLowerCase().indexOf("https:")===-1&&y.toLowerCase().indexOf("http:")===-1&&y.indexOf("//")!==0){let m=e.protocol+"//"+e.host;if(y.indexOf("/")===0)m+=y;else{const v=e.pathname.split("/");v.pop();const b=v.join("/");m+=b+"/"+y}p.push(m)}else if(y.indexOf("//")===0){const m=e.protocol+y;p.push(m)}else p.push(y)}}return p}function i(...h){const p=r.getElementsByTagName("meta");for(let d=0;d<p.length;d++){const f=p[d],g=["itemprop","property","name"].map(y=>f.getAttribute(y)).filter(y=>y?h.includes(y):!1);if(g.length&&g){const y=f.getAttribute("content");if(y)return y}}return""}function n(){let h=i("name","og:site_name","og:title","twitter:title");return h||(h=r.title),h}function s(){return i("description","og:description","twitter:description","keywords")}const o=n(),a=s(),c=e.origin,l=t();return{description:a,url:c,icons:l,name:o}}Vo=rn.getWindowMetadata=kl;var Ml=function(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var i=Array(r),n=0,e=0;e<t;e++)for(var s=arguments[e],o=0,a=s.length;o<a;o++,n++)i[n]=s[o];return i},Ll=function(){function r(e,t,i){this.name=e,this.version=t,this.os=i,this.type="browser"}return r}(),Dl=function(){function r(e){this.version=e,this.type="node",this.name="node",this.os=E.dist.process.platform}return r}(),Fl=function(){function r(e,t,i,n){this.name=e,this.version=t,this.os=i,this.bot=n,this.type="bot-device"}return r}(),ql=function(){function r(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return r}(),Bl=function(){function r(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return r}(),Ul=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,jl=/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Fn=3,zl=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FBAV\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["searchbot",Ul]],qn=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function Kl(r){return r?Bn(r):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Bl:typeof navigator<"u"?Bn(navigator.userAgent):Hl()}function Vl(r){return r!==""&&zl.reduce(function(e,t){var i=t[0],n=t[1];if(e)return e;var s=n.exec(r);return!!s&&[i,s]},!1)}function Bn(r){var e=Vl(r);if(!e)return null;var t=e[0],i=e[1];if(t==="searchbot")return new ql;var n=i[1]&&i[1].split(/[._]/).slice(0,3);n?n.length<Fn&&(n=Ml(n,Jl(Fn-n.length))):n=[];var s=n.join("."),o=Wl(r),a=jl.exec(r);return a&&a[1]?new Fl(t,s,o,a[1]):new Ll(t,s,o)}function Wl(r){for(var e=0,t=qn.length;e<t;e++){var i=qn[e],n=i[0],s=i[1],o=s.exec(r);if(o)return n}return null}function Hl(){var r=typeof E.dist.process<"u"&&E.dist.process.version;return r?new Dl(E.dist.process.version.slice(1)):null}function Jl(r){for(var e=[],t=0;t<r;t++)e.push("0");return e}function nn(r){return Kl(r)}function Kr(){const r=nn();return r&&r.os?r.os:void 0}function Wo(){const r=Kr();return r?r.toLowerCase().includes("android"):!1}function Ho(){const r=Kr();return r?r.toLowerCase().includes("ios")||r.toLowerCase().includes("mac")&&navigator.maxTouchPoints>1:!1}function Gl(){return Kr()?Wo()||Ho():!1}function Jo(){const r=nn();return r&&r.name?r.name.toLowerCase()==="node":!1}function Yl(){return!Jo()&&!!Go()}const Ql=ko,Xl=Mo,Zl=Lo,eu=Do,tu=Fo,Go=qo,ru=Bo,iu=Uo,nu=jo,su=zo,ou=Ko,Vr=$o;function au(){return Vo()}function cu(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return JSON.parse(r)}catch{return r}}function lu(r){return typeof r=="string"?r:JSON.stringify(r)}const Yo=cu,Qo=lu;function Xo(r,e){const t=Qo(e),i=Vr();i&&i.setItem(r,t)}function uu(r){let e=null,t=null;const i=Vr();return i&&(t=i.getItem(r)),e=t&&Yo(t),e}function hu(r){const e=Vr();e&&e.removeItem(r)}const Zo="WALLETCONNECT_DEEPLINK_CHOICE";function du(r,e){const t=encodeURIComponent(r);return e.universalLink?`${e.universalLink}/wc?uri=${t}`:e.deepLink?`${e.deepLink}${e.deepLink.endsWith(":")?"//":"/"}wc?uri=${t}`:""}function fu(r){const e=r.href.split("?")[0];Xo(Zo,Object.assign(Object.assign({},r),{href:e}))}function ea(r,e){return r.filter(t=>t.name.toLowerCase().includes(e.toLowerCase()))[0]}function pu(r,e){let t=r;return e&&(t=e.map(i=>ea(r,i)).filter(Boolean)),t}const ta="https://registry.walletconnect.com";function gu(){return ta+"/api/v2/wallets"}function yu(){return ta+"/api/v2/dapps"}function ra(r,e="mobile"){var t;return{name:r.name||"",shortName:r.metadata.shortName||"",color:r.metadata.colors.primary||"",logo:(t=r.image_url.sm)!==null&&t!==void 0?t:"",universalLink:r[e].universal||"",deepLink:r[e].native||""}}function mu(r,e="mobile"){return Object.values(r).filter(t=>!!t[e].universal||!!t[e].native).map(t=>ra(t,e))}const vu=Object.freeze(Object.defineProperty({__proto__:null,detectEnv:nn,detectOS:Kr,formatIOSMobile:du,formatMobileRegistry:mu,formatMobileRegistryEntry:ra,getClientMeta:au,getCrypto:su,getCryptoOrThrow:nu,getDappRegistryUrl:yu,getDocument:eu,getDocumentOrThrow:Zl,getFromWindow:Ql,getFromWindowOrThrow:Xl,getLocal:uu,getLocalStorage:Vr,getLocalStorageOrThrow:ou,getLocation:iu,getLocationOrThrow:ru,getMobileLinkRegistry:pu,getMobileRegistryEntry:ea,getNavigator:Go,getNavigatorOrThrow:tu,getWalletRegistryUrl:gu,isAndroid:Wo,isBrowser:Yl,isIOS:Ho,isMobile:Gl,isNode:Jo,mobileLinkChoiceKey:Zo,removeLocal:hu,safeJsonParse:Yo,safeJsonStringify:Qo,saveMobileLinkInfo:fu,setLocal:Xo},Symbol.toStringTag,{value:"Module"})),wu=E.getAugmentedNamespace(vu);var ur={},_u=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},ia={},at={},bu=tn;function Eu(){try{var r=new Uint8Array(1);return r.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},r.foo()===42}catch{return!1}}j.TYPED_ARRAY_SUPPORT=Eu();var Un=j.TYPED_ARRAY_SUPPORT?2147483647:1073741823;function j(r,e,t){return!j.TYPED_ARRAY_SUPPORT&&!(this instanceof j)?new j(r,e,t):typeof r=="number"?na(this,r):Nu(this,r,e,t)}j.TYPED_ARRAY_SUPPORT&&(j.prototype.__proto__=Uint8Array.prototype,j.__proto__=Uint8Array,typeof Symbol<"u"&&Symbol.species&&j[Symbol.species]===j&&Object.defineProperty(j,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}));function sn(r){if(r>=Un)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Un.toString(16)+" bytes");return r|0}function Su(r){return r!==r}function Nt(r,e){var t;return j.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e),t.__proto__=j.prototype):(t=r,t===null&&(t=new j(e)),t.length=e),t}function na(r,e){var t=Nt(r,e<0?0:sn(e)|0);if(!j.TYPED_ARRAY_SUPPORT)for(var i=0;i<e;++i)t[i]=0;return t}function Iu(r,e){var t=oa(e)|0,i=Nt(r,t),n=i.write(e);return n!==t&&(i=i.slice(0,n)),i}function Oi(r,e){for(var t=e.length<0?0:sn(e.length)|0,i=Nt(r,t),n=0;n<t;n+=1)i[n]=e[n]&255;return i}function xu(r,e,t,i){if(t<0||e.byteLength<t)throw new RangeError("'offset' is out of bounds");if(e.byteLength<t+(i||0))throw new RangeError("'length' is out of bounds");var n;return t===void 0&&i===void 0?n=new Uint8Array(e):i===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,i),j.TYPED_ARRAY_SUPPORT?n.__proto__=j.prototype:n=Oi(r,n),n}function Pu(r,e){if(j.isBuffer(e)){var t=sn(e.length)|0,i=Nt(r,t);return i.length===0||e.copy(i,0,0,t),i}if(e){if(typeof ArrayBuffer<"u"&&e.buffer instanceof ArrayBuffer||"length"in e)return typeof e.length!="number"||Su(e.length)?Nt(r,0):Oi(r,e);if(e.type==="Buffer"&&Array.isArray(e.data))return Oi(r,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function sa(r,e){e=e||1/0;for(var t,i=r.length,n=null,s=[],o=0;o<i;++o){if(t=r.charCodeAt(o),t>55295&&t<57344){if(!n){if(t>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}n=t;continue}if(t<56320){(e-=3)>-1&&s.push(239,191,189),n=t;continue}t=(n-55296<<10|t-56320)+65536}else n&&(e-=3)>-1&&s.push(239,191,189);if(n=null,t<128){if((e-=1)<0)break;s.push(t)}else if(t<2048){if((e-=2)<0)break;s.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;s.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;s.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return s}function oa(r){if(j.isBuffer(r))return r.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(r)||r instanceof ArrayBuffer))return r.byteLength;typeof r!="string"&&(r=""+r);var e=r.length;return e===0?0:sa(r).length}function Au(r,e,t,i){for(var n=0;n<i&&!(n+t>=e.length||n>=r.length);++n)e[n+t]=r[n];return n}function Ru(r,e,t,i){return Au(sa(e,r.length-t),r,t,i)}function Nu(r,e,t,i){if(typeof e=="number")throw new TypeError('"value" argument must not be a number');return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?xu(r,e,t,i):typeof e=="string"?Iu(r,e):Pu(r,e)}j.prototype.write=function(e,t,i){t===void 0?(i=this.length,t=0):i===void 0&&typeof t=="string"?(i=this.length,t=0):isFinite(t)&&(t=t|0,isFinite(i)?i=i|0:i=void 0);var n=this.length-t;if((i===void 0||i>n)&&(i=n),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");return Ru(this,e,t,i)};j.prototype.slice=function(e,t){var i=this.length;e=~~e,t=t===void 0?i:~~t,e<0?(e+=i,e<0&&(e=0)):e>i&&(e=i),t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),t<e&&(t=e);var n;if(j.TYPED_ARRAY_SUPPORT)n=this.subarray(e,t),n.__proto__=j.prototype;else{var s=t-e;n=new j(s,void 0);for(var o=0;o<s;++o)n[o]=this[o+e]}return n};j.prototype.copy=function(e,t,i,n){if(i||(i=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<i&&(n=i),n===i||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-i&&(n=e.length-t+i);var s=n-i,o;if(this===e&&i<t&&t<n)for(o=s-1;o>=0;--o)e[o+t]=this[o+i];else if(s<1e3||!j.TYPED_ARRAY_SUPPORT)for(o=0;o<s;++o)e[o+t]=this[o+i];else Uint8Array.prototype.set.call(e,this.subarray(i,i+s),t);return s};j.prototype.fill=function(e,t,i){if(typeof e=="string"){if(typeof t=="string"?(t=0,i=this.length):typeof i=="string"&&(i=this.length),e.length===1){var n=e.charCodeAt(0);n<256&&(e=n)}}else typeof e=="number"&&(e=e&255);if(t<0||this.length<t||this.length<i)throw new RangeError("Out of range index");if(i<=t)return this;t=t>>>0,i=i===void 0?this.length:i>>>0,e||(e=0);var s;if(typeof e=="number")for(s=t;s<i;++s)this[s]=e;else{var o=j.isBuffer(e)?e:new j(e),a=o.length;for(s=0;s<i-t;++s)this[s+t]=o[s%a]}return this};j.concat=function(e,t){if(!bu(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return Nt(null,0);var i;if(t===void 0)for(t=0,i=0;i<e.length;++i)t+=e[i].length;var n=na(null,t),s=0;for(i=0;i<e.length;++i){var o=e[i];if(!j.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,s),s+=o.length}return n};j.byteLength=oa;j.prototype._isBuffer=!0;j.isBuffer=function(e){return!!(e!=null&&e._isBuffer)};at.alloc=function(r){var e=new j(r);return e.fill(0),e};at.from=function(r){return new j(r)};var _e={},on,Tu=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];_e.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return e*4+17};_e.getSymbolTotalCodewords=function(e){return Tu[e]};_e.getBCHDigit=function(r){for(var e=0;r!==0;)e++,r>>>=1;return e};_e.setToSJISFunction=function(e){if(typeof e!="function")throw new Error('"toSJISFunc" is not a valid function.');on=e};_e.isKanjiModeEnabled=function(){return typeof on<"u"};_e.toSJIS=function(e){return on(e)};var Wr={};(function(r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2};function e(t){if(typeof t!="string")throw new Error("Param is not a string");var i=t.toLowerCase();switch(i){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+t)}}r.isValid=function(i){return i&&typeof i.bit<"u"&&i.bit>=0&&i.bit<4},r.from=function(i,n){if(r.isValid(i))return i;try{return e(i)}catch{return n}}})(Wr);function aa(){this.buffer=[],this.length=0}aa.prototype={get:function(r){var e=Math.floor(r/8);return(this.buffer[e]>>>7-r%8&1)===1},put:function(r,e){for(var t=0;t<e;t++)this.putBit((r>>>e-t-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(r){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),r&&(this.buffer[e]|=128>>>this.length%8),this.length++}};var Cu=aa,jn=at;function hr(r){if(!r||r<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=r,this.data=jn.alloc(r*r),this.reservedBit=jn.alloc(r*r)}hr.prototype.set=function(r,e,t,i){var n=r*this.size+e;this.data[n]=t,i&&(this.reservedBit[n]=!0)};hr.prototype.get=function(r,e){return this.data[r*this.size+e]};hr.prototype.xor=function(r,e,t){this.data[r*this.size+e]^=t};hr.prototype.isReserved=function(r,e){return this.reservedBit[r*this.size+e]};var Ou=hr,ca={};(function(r){var e=_e.getSymbolSize;r.getRowColCoords=function(i){if(i===1)return[];for(var n=Math.floor(i/7)+2,s=e(i),o=s===145?26:Math.ceil((s-13)/(2*n-2))*2,a=[s-7],c=1;c<n-1;c++)a[c]=a[c-1]-o;return a.push(6),a.reverse()},r.getPositions=function(i){for(var n=[],s=r.getRowColCoords(i),o=s.length,a=0;a<o;a++)for(var c=0;c<o;c++)a===0&&c===0||a===0&&c===o-1||a===o-1&&c===0||n.push([s[a],s[c]]);return n}})(ca);var la={},$u=_e.getSymbolSize,zn=7;la.getPositions=function(e){var t=$u(e);return[[0,0],[t-zn,0],[0,t-zn]]};var ua={};(function(r){r.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var e={N1:3,N2:3,N3:40,N4:10};r.isValid=function(n){return n!=null&&n!==""&&!isNaN(n)&&n>=0&&n<=7},r.from=function(n){return r.isValid(n)?parseInt(n,10):void 0},r.getPenaltyN1=function(n){for(var s=n.size,o=0,a=0,c=0,l=null,u=null,h=0;h<s;h++){a=c=0,l=u=null;for(var p=0;p<s;p++){var d=n.get(h,p);d===l?a++:(a>=5&&(o+=e.N1+(a-5)),l=d,a=1),d=n.get(p,h),d===u?c++:(c>=5&&(o+=e.N1+(c-5)),u=d,c=1)}a>=5&&(o+=e.N1+(a-5)),c>=5&&(o+=e.N1+(c-5))}return o},r.getPenaltyN2=function(n){for(var s=n.size,o=0,a=0;a<s-1;a++)for(var c=0;c<s-1;c++){var l=n.get(a,c)+n.get(a,c+1)+n.get(a+1,c)+n.get(a+1,c+1);(l===4||l===0)&&o++}return o*e.N2},r.getPenaltyN3=function(n){for(var s=n.size,o=0,a=0,c=0,l=0;l<s;l++){a=c=0;for(var u=0;u<s;u++)a=a<<1&2047|n.get(l,u),u>=10&&(a===1488||a===93)&&o++,c=c<<1&2047|n.get(u,l),u>=10&&(c===1488||c===93)&&o++}return o*e.N3},r.getPenaltyN4=function(n){for(var s=0,o=n.data.length,a=0;a<o;a++)s+=n.data[a];var c=Math.abs(Math.ceil(s*100/o/5)-10);return c*e.N4};function t(i,n,s){switch(i){case r.Patterns.PATTERN000:return(n+s)%2===0;case r.Patterns.PATTERN001:return n%2===0;case r.Patterns.PATTERN010:return s%3===0;case r.Patterns.PATTERN011:return(n+s)%3===0;case r.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(s/3))%2===0;case r.Patterns.PATTERN101:return n*s%2+n*s%3===0;case r.Patterns.PATTERN110:return(n*s%2+n*s%3)%2===0;case r.Patterns.PATTERN111:return(n*s%3+(n+s)%2)%2===0;default:throw new Error("bad maskPattern:"+i)}}r.applyMask=function(n,s){for(var o=s.size,a=0;a<o;a++)for(var c=0;c<o;c++)s.isReserved(c,a)||s.xor(c,a,t(n,c,a))},r.getBestMask=function(n,s){for(var o=Object.keys(r.Patterns).length,a=0,c=1/0,l=0;l<o;l++){s(l),r.applyMask(l,n);var u=r.getPenaltyN1(n)+r.getPenaltyN2(n)+r.getPenaltyN3(n)+r.getPenaltyN4(n);r.applyMask(l,n),u<c&&(c=u,a=l)}return a}})(ua);var Hr={},tt=Wr,wr=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],_r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];Hr.getBlocksCount=function(e,t){switch(t){case tt.L:return wr[(e-1)*4+0];case tt.M:return wr[(e-1)*4+1];case tt.Q:return wr[(e-1)*4+2];case tt.H:return wr[(e-1)*4+3];default:return}};Hr.getTotalCodewordsCount=function(e,t){switch(t){case tt.L:return _r[(e-1)*4+0];case tt.M:return _r[(e-1)*4+1];case tt.Q:return _r[(e-1)*4+2];case tt.H:return _r[(e-1)*4+3];default:return}};var ha={},Jr={},da=at,Zt=da.alloc(512),Or=da.alloc(256);(function(){for(var e=1,t=0;t<255;t++)Zt[t]=e,Or[e]=t,e<<=1,e&256&&(e^=285);for(t=255;t<512;t++)Zt[t]=Zt[t-255]})();Jr.log=function(e){if(e<1)throw new Error("log("+e+")");return Or[e]};Jr.exp=function(e){return Zt[e]};Jr.mul=function(e,t){return e===0||t===0?0:Zt[Or[e]+Or[t]]};(function(r){var e=at,t=Jr;r.mul=function(n,s){for(var o=e.alloc(n.length+s.length-1),a=0;a<n.length;a++)for(var c=0;c<s.length;c++)o[a+c]^=t.mul(n[a],s[c]);return o},r.mod=function(n,s){for(var o=e.from(n);o.length-s.length>=0;){for(var a=o[0],c=0;c<s.length;c++)o[c]^=t.mul(s[c],a);for(var l=0;l<o.length&&o[l]===0;)l++;o=o.slice(l)}return o},r.generateECPolynomial=function(n){for(var s=e.from([1]),o=0;o<n;o++)s=r.mul(s,[1,t.exp(o)]);return s}})(ha);var Kn=at,fa=ha,ku=E.bufferPolyfill.Buffer;function an(r){this.genPoly=void 0,this.degree=r,this.degree&&this.initialize(this.degree)}an.prototype.initialize=function(e){this.degree=e,this.genPoly=fa.generateECPolynomial(this.degree)};an.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");var t=Kn.alloc(this.degree),i=ku.concat([e,t],e.length+this.degree),n=fa.mod(i,this.genPoly),s=this.degree-n.length;if(s>0){var o=Kn.alloc(this.degree);return n.copy(o,s),o}return n};var Mu=an,pa={},ct={},cn={};cn.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40};var je={},ga="[0-9]+",Lu="[A-Z $%*+\\-./:]+",nr="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";nr=nr.replace(/u/g,"\\u");var Du="(?:(?![A-Z0-9 $%*+\\-./:]|"+nr+`)(?:.|[\r
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("./index-BFhdLIwV.js"),pl=require("./dijkstra-CtFxn7S9.js"),P=require("./index-o-2ADG2m.js"),_=require("./index-D6IPbglF.js"),W=require("./index-Vr5ewH9o.js");let gl=class extends _.r{constructor(e){super(e),this.events=new E.eventsExports.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async request(e,t){return this.requestStrict(_.formatJsonRpcRequest(e.method,e.params||[],e.id||_.getBigIntRpcId().toString()),t)}async requestStrict(e,t){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(s){n(s)}this.events.on(`${e.id}`,s=>{_.isJsonRpcError(s)?n(s.error):i(s.result)});try{await this.connection.send(e,t)}catch(s){n(s)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),_.isJsonRpcResponse(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),typeof e=="string"&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}};var yl=function(){var r=document.getSelection();if(!r.rangeCount)return function(){};for(var e=document.activeElement,t=[],i=0;i<r.rangeCount;i++)t.push(r.getRangeAt(i));switch(e.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":e.blur();break;default:e=null;break}return r.removeAllRanges(),function(){r.type==="Caret"&&r.removeAllRanges(),r.rangeCount||t.forEach(function(n){r.addRange(n)}),e&&e.focus()}},ml=yl,Ln={"text/plain":"Text","text/html":"Url",default:"Text"},vl="Copy to clipboard: #{key}, Enter";function wl(r){var e=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return r.replace(/#{\s*key\s*}/g,e)}function _l(r,e){var t,i,n,s,o,a,c=!1;e||(e={}),t=e.debug||!1;try{n=ml(),s=document.createRange(),o=document.getSelection(),a=document.createElement("span"),a.textContent=r,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top=0,a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",function(u){if(u.stopPropagation(),e.format)if(u.preventDefault(),typeof u.clipboardData>"u"){t&&console.warn("unable to use e.clipboardData"),t&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var h=Ln[e.format]||Ln.default;window.clipboardData.setData(h,r)}else u.clipboardData.clearData(),u.clipboardData.setData(e.format,r);e.onCopy&&(u.preventDefault(),e.onCopy(u.clipboardData))}),document.body.appendChild(a),s.selectNodeContents(a),o.addRange(s);var l=document.execCommand("copy");if(!l)throw new Error("copy command was unsuccessful");c=!0}catch(u){t&&console.error("unable to copy using execCommand: ",u),t&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",r),e.onCopy&&e.onCopy(window.clipboardData),c=!0}catch(h){t&&console.error("unable to copy using clipboardData: ",h),t&&console.error("falling back to prompt"),i=wl("message"in e?e.message:vl),window.prompt(i,r)}}finally{o&&(typeof o.removeRange=="function"?o.removeRange(s):o.removeAllRanges()),a&&document.body.removeChild(a),n()}return c}var bl=_l,El={}.toString,tn=Array.isArray||function(r){return El.call(r)=="[object Array]"},Sl=E.requireElliptic(),rn={},Q={};Object.defineProperty(Q,"__esModule",{value:!0});var $o=Q.getLocalStorage=Ko=Q.getLocalStorageOrThrow=zo=Q.getCrypto=jo=Q.getCryptoOrThrow=Uo=Q.getLocation=Bo=Q.getLocationOrThrow=qo=Q.getNavigator=Fo=Q.getNavigatorOrThrow=Do=Q.getDocument=Lo=Q.getDocumentOrThrow=Mo=Q.getFromWindowOrThrow=ko=Q.getFromWindow=void 0;function vt(r){let e;return typeof window<"u"&&typeof window[r]<"u"&&(e=window[r]),e}var ko=Q.getFromWindow=vt;function Ft(r){const e=vt(r);if(!e)throw new Error(`${r} is not defined in Window`);return e}var Mo=Q.getFromWindowOrThrow=Ft;function Il(){return Ft("document")}var Lo=Q.getDocumentOrThrow=Il;function xl(){return vt("document")}var Do=Q.getDocument=xl;function Pl(){return Ft("navigator")}var Fo=Q.getNavigatorOrThrow=Pl;function Al(){return vt("navigator")}var qo=Q.getNavigator=Al;function Rl(){return Ft("location")}var Bo=Q.getLocationOrThrow=Rl;function Nl(){return vt("location")}var Uo=Q.getLocation=Nl;function Tl(){return Ft("crypto")}var jo=Q.getCryptoOrThrow=Tl;function Cl(){return vt("crypto")}var zo=Q.getCrypto=Cl;function Ol(){return Ft("localStorage")}var Ko=Q.getLocalStorageOrThrow=Ol;function $l(){return vt("localStorage")}$o=Q.getLocalStorage=$l;Object.defineProperty(rn,"__esModule",{value:!0});var Vo=rn.getWindowMetadata=void 0;const Dn=Q;function kl(){let r,e;try{r=Dn.getDocumentOrThrow(),e=Dn.getLocationOrThrow()}catch{return null}function t(){const h=r.getElementsByTagName("link"),p=[];for(let d=0;d<h.length;d++){const f=h[d],g=f.getAttribute("rel");if(g&&g.toLowerCase().indexOf("icon")>-1){const y=f.getAttribute("href");if(y)if(y.toLowerCase().indexOf("https:")===-1&&y.toLowerCase().indexOf("http:")===-1&&y.indexOf("//")!==0){let m=e.protocol+"//"+e.host;if(y.indexOf("/")===0)m+=y;else{const v=e.pathname.split("/");v.pop();const b=v.join("/");m+=b+"/"+y}p.push(m)}else if(y.indexOf("//")===0){const m=e.protocol+y;p.push(m)}else p.push(y)}}return p}function i(...h){const p=r.getElementsByTagName("meta");for(let d=0;d<p.length;d++){const f=p[d],g=["itemprop","property","name"].map(y=>f.getAttribute(y)).filter(y=>y?h.includes(y):!1);if(g.length&&g){const y=f.getAttribute("content");if(y)return y}}return""}function n(){let h=i("name","og:site_name","og:title","twitter:title");return h||(h=r.title),h}function s(){return i("description","og:description","twitter:description","keywords")}const o=n(),a=s(),c=e.origin,l=t();return{description:a,url:c,icons:l,name:o}}Vo=rn.getWindowMetadata=kl;var Ml=function(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var i=Array(r),n=0,e=0;e<t;e++)for(var s=arguments[e],o=0,a=s.length;o<a;o++,n++)i[n]=s[o];return i},Ll=function(){function r(e,t,i){this.name=e,this.version=t,this.os=i,this.type="browser"}return r}(),Dl=function(){function r(e){this.version=e,this.type="node",this.name="node",this.os=E.dist.process.platform}return r}(),Fl=function(){function r(e,t,i,n){this.name=e,this.version=t,this.os=i,this.bot=n,this.type="bot-device"}return r}(),ql=function(){function r(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return r}(),Bl=function(){function r(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return r}(),Ul=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,jl=/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Fn=3,zl=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FBAV\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["searchbot",Ul]],qn=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function Kl(r){return r?Bn(r):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Bl:typeof navigator<"u"?Bn(navigator.userAgent):Hl()}function Vl(r){return r!==""&&zl.reduce(function(e,t){var i=t[0],n=t[1];if(e)return e;var s=n.exec(r);return!!s&&[i,s]},!1)}function Bn(r){var e=Vl(r);if(!e)return null;var t=e[0],i=e[1];if(t==="searchbot")return new ql;var n=i[1]&&i[1].split(/[._]/).slice(0,3);n?n.length<Fn&&(n=Ml(n,Jl(Fn-n.length))):n=[];var s=n.join("."),o=Wl(r),a=jl.exec(r);return a&&a[1]?new Fl(t,s,o,a[1]):new Ll(t,s,o)}function Wl(r){for(var e=0,t=qn.length;e<t;e++){var i=qn[e],n=i[0],s=i[1],o=s.exec(r);if(o)return n}return null}function Hl(){var r=typeof E.dist.process<"u"&&E.dist.process.version;return r?new Dl(E.dist.process.version.slice(1)):null}function Jl(r){for(var e=[],t=0;t<r;t++)e.push("0");return e}function nn(r){return Kl(r)}function Kr(){const r=nn();return r&&r.os?r.os:void 0}function Wo(){const r=Kr();return r?r.toLowerCase().includes("android"):!1}function Ho(){const r=Kr();return r?r.toLowerCase().includes("ios")||r.toLowerCase().includes("mac")&&navigator.maxTouchPoints>1:!1}function Gl(){return Kr()?Wo()||Ho():!1}function Jo(){const r=nn();return r&&r.name?r.name.toLowerCase()==="node":!1}function Yl(){return!Jo()&&!!Go()}const Ql=ko,Xl=Mo,Zl=Lo,eu=Do,tu=Fo,Go=qo,ru=Bo,iu=Uo,nu=jo,su=zo,ou=Ko,Vr=$o;function au(){return Vo()}function cu(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return JSON.parse(r)}catch{return r}}function lu(r){return typeof r=="string"?r:JSON.stringify(r)}const Yo=cu,Qo=lu;function Xo(r,e){const t=Qo(e),i=Vr();i&&i.setItem(r,t)}function uu(r){let e=null,t=null;const i=Vr();return i&&(t=i.getItem(r)),e=t&&Yo(t),e}function hu(r){const e=Vr();e&&e.removeItem(r)}const Zo="WALLETCONNECT_DEEPLINK_CHOICE";function du(r,e){const t=encodeURIComponent(r);return e.universalLink?`${e.universalLink}/wc?uri=${t}`:e.deepLink?`${e.deepLink}${e.deepLink.endsWith(":")?"//":"/"}wc?uri=${t}`:""}function fu(r){const e=r.href.split("?")[0];Xo(Zo,Object.assign(Object.assign({},r),{href:e}))}function ea(r,e){return r.filter(t=>t.name.toLowerCase().includes(e.toLowerCase()))[0]}function pu(r,e){let t=r;return e&&(t=e.map(i=>ea(r,i)).filter(Boolean)),t}const ta="https://registry.walletconnect.com";function gu(){return ta+"/api/v2/wallets"}function yu(){return ta+"/api/v2/dapps"}function ra(r,e="mobile"){var t;return{name:r.name||"",shortName:r.metadata.shortName||"",color:r.metadata.colors.primary||"",logo:(t=r.image_url.sm)!==null&&t!==void 0?t:"",universalLink:r[e].universal||"",deepLink:r[e].native||""}}function mu(r,e="mobile"){return Object.values(r).filter(t=>!!t[e].universal||!!t[e].native).map(t=>ra(t,e))}const vu=Object.freeze(Object.defineProperty({__proto__:null,detectEnv:nn,detectOS:Kr,formatIOSMobile:du,formatMobileRegistry:mu,formatMobileRegistryEntry:ra,getClientMeta:au,getCrypto:su,getCryptoOrThrow:nu,getDappRegistryUrl:yu,getDocument:eu,getDocumentOrThrow:Zl,getFromWindow:Ql,getFromWindowOrThrow:Xl,getLocal:uu,getLocalStorage:Vr,getLocalStorageOrThrow:ou,getLocation:iu,getLocationOrThrow:ru,getMobileLinkRegistry:pu,getMobileRegistryEntry:ea,getNavigator:Go,getNavigatorOrThrow:tu,getWalletRegistryUrl:gu,isAndroid:Wo,isBrowser:Yl,isIOS:Ho,isMobile:Gl,isNode:Jo,mobileLinkChoiceKey:Zo,removeLocal:hu,safeJsonParse:Yo,safeJsonStringify:Qo,saveMobileLinkInfo:fu,setLocal:Xo},Symbol.toStringTag,{value:"Module"})),wu=E.getAugmentedNamespace(vu);var ur={},_u=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},ia={},at={},bu=tn;function Eu(){try{var r=new Uint8Array(1);return r.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},r.foo()===42}catch{return!1}}j.TYPED_ARRAY_SUPPORT=Eu();var Un=j.TYPED_ARRAY_SUPPORT?2147483647:1073741823;function j(r,e,t){return!j.TYPED_ARRAY_SUPPORT&&!(this instanceof j)?new j(r,e,t):typeof r=="number"?na(this,r):Nu(this,r,e,t)}j.TYPED_ARRAY_SUPPORT&&(j.prototype.__proto__=Uint8Array.prototype,j.__proto__=Uint8Array,typeof Symbol<"u"&&Symbol.species&&j[Symbol.species]===j&&Object.defineProperty(j,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}));function sn(r){if(r>=Un)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Un.toString(16)+" bytes");return r|0}function Su(r){return r!==r}function Nt(r,e){var t;return j.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e),t.__proto__=j.prototype):(t=r,t===null&&(t=new j(e)),t.length=e),t}function na(r,e){var t=Nt(r,e<0?0:sn(e)|0);if(!j.TYPED_ARRAY_SUPPORT)for(var i=0;i<e;++i)t[i]=0;return t}function Iu(r,e){var t=oa(e)|0,i=Nt(r,t),n=i.write(e);return n!==t&&(i=i.slice(0,n)),i}function Oi(r,e){for(var t=e.length<0?0:sn(e.length)|0,i=Nt(r,t),n=0;n<t;n+=1)i[n]=e[n]&255;return i}function xu(r,e,t,i){if(t<0||e.byteLength<t)throw new RangeError("'offset' is out of bounds");if(e.byteLength<t+(i||0))throw new RangeError("'length' is out of bounds");var n;return t===void 0&&i===void 0?n=new Uint8Array(e):i===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,i),j.TYPED_ARRAY_SUPPORT?n.__proto__=j.prototype:n=Oi(r,n),n}function Pu(r,e){if(j.isBuffer(e)){var t=sn(e.length)|0,i=Nt(r,t);return i.length===0||e.copy(i,0,0,t),i}if(e){if(typeof ArrayBuffer<"u"&&e.buffer instanceof ArrayBuffer||"length"in e)return typeof e.length!="number"||Su(e.length)?Nt(r,0):Oi(r,e);if(e.type==="Buffer"&&Array.isArray(e.data))return Oi(r,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function sa(r,e){e=e||1/0;for(var t,i=r.length,n=null,s=[],o=0;o<i;++o){if(t=r.charCodeAt(o),t>55295&&t<57344){if(!n){if(t>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}n=t;continue}if(t<56320){(e-=3)>-1&&s.push(239,191,189),n=t;continue}t=(n-55296<<10|t-56320)+65536}else n&&(e-=3)>-1&&s.push(239,191,189);if(n=null,t<128){if((e-=1)<0)break;s.push(t)}else if(t<2048){if((e-=2)<0)break;s.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;s.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;s.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return s}function oa(r){if(j.isBuffer(r))return r.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(r)||r instanceof ArrayBuffer))return r.byteLength;typeof r!="string"&&(r=""+r);var e=r.length;return e===0?0:sa(r).length}function Au(r,e,t,i){for(var n=0;n<i&&!(n+t>=e.length||n>=r.length);++n)e[n+t]=r[n];return n}function Ru(r,e,t,i){return Au(sa(e,r.length-t),r,t,i)}function Nu(r,e,t,i){if(typeof e=="number")throw new TypeError('"value" argument must not be a number');return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?xu(r,e,t,i):typeof e=="string"?Iu(r,e):Pu(r,e)}j.prototype.write=function(e,t,i){t===void 0?(i=this.length,t=0):i===void 0&&typeof t=="string"?(i=this.length,t=0):isFinite(t)&&(t=t|0,isFinite(i)?i=i|0:i=void 0);var n=this.length-t;if((i===void 0||i>n)&&(i=n),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");return Ru(this,e,t,i)};j.prototype.slice=function(e,t){var i=this.length;e=~~e,t=t===void 0?i:~~t,e<0?(e+=i,e<0&&(e=0)):e>i&&(e=i),t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),t<e&&(t=e);var n;if(j.TYPED_ARRAY_SUPPORT)n=this.subarray(e,t),n.__proto__=j.prototype;else{var s=t-e;n=new j(s,void 0);for(var o=0;o<s;++o)n[o]=this[o+e]}return n};j.prototype.copy=function(e,t,i,n){if(i||(i=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<i&&(n=i),n===i||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-i&&(n=e.length-t+i);var s=n-i,o;if(this===e&&i<t&&t<n)for(o=s-1;o>=0;--o)e[o+t]=this[o+i];else if(s<1e3||!j.TYPED_ARRAY_SUPPORT)for(o=0;o<s;++o)e[o+t]=this[o+i];else Uint8Array.prototype.set.call(e,this.subarray(i,i+s),t);return s};j.prototype.fill=function(e,t,i){if(typeof e=="string"){if(typeof t=="string"?(t=0,i=this.length):typeof i=="string"&&(i=this.length),e.length===1){var n=e.charCodeAt(0);n<256&&(e=n)}}else typeof e=="number"&&(e=e&255);if(t<0||this.length<t||this.length<i)throw new RangeError("Out of range index");if(i<=t)return this;t=t>>>0,i=i===void 0?this.length:i>>>0,e||(e=0);var s;if(typeof e=="number")for(s=t;s<i;++s)this[s]=e;else{var o=j.isBuffer(e)?e:new j(e),a=o.length;for(s=0;s<i-t;++s)this[s+t]=o[s%a]}return this};j.concat=function(e,t){if(!bu(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return Nt(null,0);var i;if(t===void 0)for(t=0,i=0;i<e.length;++i)t+=e[i].length;var n=na(null,t),s=0;for(i=0;i<e.length;++i){var o=e[i];if(!j.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,s),s+=o.length}return n};j.byteLength=oa;j.prototype._isBuffer=!0;j.isBuffer=function(e){return!!(e!=null&&e._isBuffer)};at.alloc=function(r){var e=new j(r);return e.fill(0),e};at.from=function(r){return new j(r)};var _e={},on,Tu=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];_e.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return e*4+17};_e.getSymbolTotalCodewords=function(e){return Tu[e]};_e.getBCHDigit=function(r){for(var e=0;r!==0;)e++,r>>>=1;return e};_e.setToSJISFunction=function(e){if(typeof e!="function")throw new Error('"toSJISFunc" is not a valid function.');on=e};_e.isKanjiModeEnabled=function(){return typeof on<"u"};_e.toSJIS=function(e){return on(e)};var Wr={};(function(r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2};function e(t){if(typeof t!="string")throw new Error("Param is not a string");var i=t.toLowerCase();switch(i){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+t)}}r.isValid=function(i){return i&&typeof i.bit<"u"&&i.bit>=0&&i.bit<4},r.from=function(i,n){if(r.isValid(i))return i;try{return e(i)}catch{return n}}})(Wr);function aa(){this.buffer=[],this.length=0}aa.prototype={get:function(r){var e=Math.floor(r/8);return(this.buffer[e]>>>7-r%8&1)===1},put:function(r,e){for(var t=0;t<e;t++)this.putBit((r>>>e-t-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(r){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),r&&(this.buffer[e]|=128>>>this.length%8),this.length++}};var Cu=aa,jn=at;function hr(r){if(!r||r<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=r,this.data=jn.alloc(r*r),this.reservedBit=jn.alloc(r*r)}hr.prototype.set=function(r,e,t,i){var n=r*this.size+e;this.data[n]=t,i&&(this.reservedBit[n]=!0)};hr.prototype.get=function(r,e){return this.data[r*this.size+e]};hr.prototype.xor=function(r,e,t){this.data[r*this.size+e]^=t};hr.prototype.isReserved=function(r,e){return this.reservedBit[r*this.size+e]};var Ou=hr,ca={};(function(r){var e=_e.getSymbolSize;r.getRowColCoords=function(i){if(i===1)return[];for(var n=Math.floor(i/7)+2,s=e(i),o=s===145?26:Math.ceil((s-13)/(2*n-2))*2,a=[s-7],c=1;c<n-1;c++)a[c]=a[c-1]-o;return a.push(6),a.reverse()},r.getPositions=function(i){for(var n=[],s=r.getRowColCoords(i),o=s.length,a=0;a<o;a++)for(var c=0;c<o;c++)a===0&&c===0||a===0&&c===o-1||a===o-1&&c===0||n.push([s[a],s[c]]);return n}})(ca);var la={},$u=_e.getSymbolSize,zn=7;la.getPositions=function(e){var t=$u(e);return[[0,0],[t-zn,0],[0,t-zn]]};var ua={};(function(r){r.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var e={N1:3,N2:3,N3:40,N4:10};r.isValid=function(n){return n!=null&&n!==""&&!isNaN(n)&&n>=0&&n<=7},r.from=function(n){return r.isValid(n)?parseInt(n,10):void 0},r.getPenaltyN1=function(n){for(var s=n.size,o=0,a=0,c=0,l=null,u=null,h=0;h<s;h++){a=c=0,l=u=null;for(var p=0;p<s;p++){var d=n.get(h,p);d===l?a++:(a>=5&&(o+=e.N1+(a-5)),l=d,a=1),d=n.get(p,h),d===u?c++:(c>=5&&(o+=e.N1+(c-5)),u=d,c=1)}a>=5&&(o+=e.N1+(a-5)),c>=5&&(o+=e.N1+(c-5))}return o},r.getPenaltyN2=function(n){for(var s=n.size,o=0,a=0;a<s-1;a++)for(var c=0;c<s-1;c++){var l=n.get(a,c)+n.get(a,c+1)+n.get(a+1,c)+n.get(a+1,c+1);(l===4||l===0)&&o++}return o*e.N2},r.getPenaltyN3=function(n){for(var s=n.size,o=0,a=0,c=0,l=0;l<s;l++){a=c=0;for(var u=0;u<s;u++)a=a<<1&2047|n.get(l,u),u>=10&&(a===1488||a===93)&&o++,c=c<<1&2047|n.get(u,l),u>=10&&(c===1488||c===93)&&o++}return o*e.N3},r.getPenaltyN4=function(n){for(var s=0,o=n.data.length,a=0;a<o;a++)s+=n.data[a];var c=Math.abs(Math.ceil(s*100/o/5)-10);return c*e.N4};function t(i,n,s){switch(i){case r.Patterns.PATTERN000:return(n+s)%2===0;case r.Patterns.PATTERN001:return n%2===0;case r.Patterns.PATTERN010:return s%3===0;case r.Patterns.PATTERN011:return(n+s)%3===0;case r.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(s/3))%2===0;case r.Patterns.PATTERN101:return n*s%2+n*s%3===0;case r.Patterns.PATTERN110:return(n*s%2+n*s%3)%2===0;case r.Patterns.PATTERN111:return(n*s%3+(n+s)%2)%2===0;default:throw new Error("bad maskPattern:"+i)}}r.applyMask=function(n,s){for(var o=s.size,a=0;a<o;a++)for(var c=0;c<o;c++)s.isReserved(c,a)||s.xor(c,a,t(n,c,a))},r.getBestMask=function(n,s){for(var o=Object.keys(r.Patterns).length,a=0,c=1/0,l=0;l<o;l++){s(l),r.applyMask(l,n);var u=r.getPenaltyN1(n)+r.getPenaltyN2(n)+r.getPenaltyN3(n)+r.getPenaltyN4(n);r.applyMask(l,n),u<c&&(c=u,a=l)}return a}})(ua);var Hr={},tt=Wr,wr=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],_r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];Hr.getBlocksCount=function(e,t){switch(t){case tt.L:return wr[(e-1)*4+0];case tt.M:return wr[(e-1)*4+1];case tt.Q:return wr[(e-1)*4+2];case tt.H:return wr[(e-1)*4+3];default:return}};Hr.getTotalCodewordsCount=function(e,t){switch(t){case tt.L:return _r[(e-1)*4+0];case tt.M:return _r[(e-1)*4+1];case tt.Q:return _r[(e-1)*4+2];case tt.H:return _r[(e-1)*4+3];default:return}};var ha={},Jr={},da=at,Zt=da.alloc(512),Or=da.alloc(256);(function(){for(var e=1,t=0;t<255;t++)Zt[t]=e,Or[e]=t,e<<=1,e&256&&(e^=285);for(t=255;t<512;t++)Zt[t]=Zt[t-255]})();Jr.log=function(e){if(e<1)throw new Error("log("+e+")");return Or[e]};Jr.exp=function(e){return Zt[e]};Jr.mul=function(e,t){return e===0||t===0?0:Zt[Or[e]+Or[t]]};(function(r){var e=at,t=Jr;r.mul=function(n,s){for(var o=e.alloc(n.length+s.length-1),a=0;a<n.length;a++)for(var c=0;c<s.length;c++)o[a+c]^=t.mul(n[a],s[c]);return o},r.mod=function(n,s){for(var o=e.from(n);o.length-s.length>=0;){for(var a=o[0],c=0;c<s.length;c++)o[c]^=t.mul(s[c],a);for(var l=0;l<o.length&&o[l]===0;)l++;o=o.slice(l)}return o},r.generateECPolynomial=function(n){for(var s=e.from([1]),o=0;o<n;o++)s=r.mul(s,[1,t.exp(o)]);return s}})(ha);var Kn=at,fa=ha,ku=E.bufferPolyfill.Buffer;function an(r){this.genPoly=void 0,this.degree=r,this.degree&&this.initialize(this.degree)}an.prototype.initialize=function(e){this.degree=e,this.genPoly=fa.generateECPolynomial(this.degree)};an.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");var t=Kn.alloc(this.degree),i=ku.concat([e,t],e.length+this.degree),n=fa.mod(i,this.genPoly),s=this.degree-n.length;if(s>0){var o=Kn.alloc(this.degree);return n.copy(o,s),o}return n};var Mu=an,pa={},ct={},cn={};cn.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40};var je={},ga="[0-9]+",Lu="[A-Z $%*+\\-./:]+",nr="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";nr=nr.replace(/u/g,"\\u");var Du="(?:(?![A-Z0-9 $%*+\\-./:]|"+nr+`)(?:.|[\r
|
|
2
2
|
]))+`;je.KANJI=new RegExp(nr,"g");je.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");je.BYTE=new RegExp(Du,"g");je.NUMERIC=new RegExp(ga,"g");je.ALPHANUMERIC=new RegExp(Lu,"g");var Fu=new RegExp("^"+nr+"$"),qu=new RegExp("^"+ga+"$"),Bu=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");je.testKanji=function(e){return Fu.test(e)};je.testNumeric=function(e){return qu.test(e)};je.testAlphanumeric=function(e){return Bu.test(e)};(function(r){var e=cn,t=je;r.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},r.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},r.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},r.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},r.MIXED={bit:-1},r.getCharCountIndicator=function(s,o){if(!s.ccBits)throw new Error("Invalid mode: "+s);if(!e.isValid(o))throw new Error("Invalid version: "+o);return o>=1&&o<10?s.ccBits[0]:o<27?s.ccBits[1]:s.ccBits[2]},r.getBestModeForData=function(s){return t.testNumeric(s)?r.NUMERIC:t.testAlphanumeric(s)?r.ALPHANUMERIC:t.testKanji(s)?r.KANJI:r.BYTE},r.toString=function(s){if(s&&s.id)return s.id;throw new Error("Invalid mode")},r.isValid=function(s){return s&&s.bit&&s.ccBits};function i(n){if(typeof n!="string")throw new Error("Param is not a string");var s=n.toLowerCase();switch(s){case"numeric":return r.NUMERIC;case"alphanumeric":return r.ALPHANUMERIC;case"kanji":return r.KANJI;case"byte":return r.BYTE;default:throw new Error("Unknown mode: "+n)}}r.from=function(s,o){if(r.isValid(s))return s;try{return i(s)}catch{return o}}})(ct);(function(r){var e=_e,t=Hr,i=Wr,n=ct,s=cn,o=tn,a=7973,c=e.getBCHDigit(a);function l(d,f,g){for(var y=1;y<=40;y++)if(f<=r.getCapacity(y,g,d))return y}function u(d,f){return n.getCharCountIndicator(d,f)+4}function h(d,f){var g=0;return d.forEach(function(y){var m=u(y.mode,f);g+=m+y.getBitsLength()}),g}function p(d,f){for(var g=1;g<=40;g++){var y=h(d,g);if(y<=r.getCapacity(g,f,n.MIXED))return g}}r.from=function(f,g){return s.isValid(f)?parseInt(f,10):g},r.getCapacity=function(f,g,y){if(!s.isValid(f))throw new Error("Invalid QR Code version");typeof y>"u"&&(y=n.BYTE);var m=e.getSymbolTotalCodewords(f),v=t.getTotalCodewordsCount(f,g),b=(m-v)*8;if(y===n.MIXED)return b;var w=b-u(y,f);switch(y){case n.NUMERIC:return Math.floor(w/10*3);case n.ALPHANUMERIC:return Math.floor(w/11*2);case n.KANJI:return Math.floor(w/13);case n.BYTE:default:return Math.floor(w/8)}},r.getBestVersionForData=function(f,g){var y,m=i.from(g,i.M);if(o(f)){if(f.length>1)return p(f,m);if(f.length===0)return 1;y=f[0]}else y=f;return l(y.mode,y.getLength(),m)},r.getEncodedBits=function(f){if(!s.isValid(f)||f<7)throw new Error("Invalid QR Code version");for(var g=f<<12;e.getBCHDigit(g)-c>=0;)g^=a<<e.getBCHDigit(g)-c;return f<<12|g}})(pa);var ya={},$i=_e,ma=1335,Uu=21522,Vn=$i.getBCHDigit(ma);ya.getEncodedBits=function(e,t){for(var i=e.bit<<3|t,n=i<<10;$i.getBCHDigit(n)-Vn>=0;)n^=ma<<$i.getBCHDigit(n)-Vn;return(i<<10|n)^Uu};var va={},ju=ct;function Tt(r){this.mode=ju.NUMERIC,this.data=r.toString()}Tt.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)};Tt.prototype.getLength=function(){return this.data.length};Tt.prototype.getBitsLength=function(){return Tt.getBitsLength(this.data.length)};Tt.prototype.write=function(e){var t,i,n;for(t=0;t+3<=this.data.length;t+=3)i=this.data.substr(t,3),n=parseInt(i,10),e.put(n,10);var s=this.data.length-t;s>0&&(i=this.data.substr(t),n=parseInt(i,10),e.put(n,s*3+1))};var zu=Tt,Ku=ct,ui=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function Ct(r){this.mode=Ku.ALPHANUMERIC,this.data=r}Ct.getBitsLength=function(e){return 11*Math.floor(e/2)+6*(e%2)};Ct.prototype.getLength=function(){return this.data.length};Ct.prototype.getBitsLength=function(){return Ct.getBitsLength(this.data.length)};Ct.prototype.write=function(e){var t;for(t=0;t+2<=this.data.length;t+=2){var i=ui.indexOf(this.data[t])*45;i+=ui.indexOf(this.data[t+1]),e.put(i,11)}this.data.length%2&&e.put(ui.indexOf(this.data[t]),6)};var Vu=Ct,Wu=at,Hu=ct;function Ot(r){this.mode=Hu.BYTE,this.data=Wu.from(r)}Ot.getBitsLength=function(e){return e*8};Ot.prototype.getLength=function(){return this.data.length};Ot.prototype.getBitsLength=function(){return Ot.getBitsLength(this.data.length)};Ot.prototype.write=function(r){for(var e=0,t=this.data.length;e<t;e++)r.put(this.data[e],8)};var Ju=Ot,Gu=ct,Yu=_e;function $t(r){this.mode=Gu.KANJI,this.data=r}$t.getBitsLength=function(e){return e*13};$t.prototype.getLength=function(){return this.data.length};$t.prototype.getBitsLength=function(){return $t.getBitsLength(this.data.length)};$t.prototype.write=function(r){var e;for(e=0;e<this.data.length;e++){var t=Yu.toSJIS(this.data[e]);if(t>=33088&&t<=40956)t-=33088;else if(t>=57408&&t<=60351)t-=49472;else throw new Error("Invalid SJIS character: "+this.data[e]+`
|
|
3
3
|
Make sure your charset is UTF-8`);t=(t>>>8&255)*192+(t&255),r.put(t,13)}};var Qu=$t;(function(r){var e=ct,t=zu,i=Vu,n=Ju,s=Qu,o=je,a=_e,c=pl.dijkstraExports;function l(m){return unescape(encodeURIComponent(m)).length}function u(m,v,b){for(var w=[],S;(S=m.exec(b))!==null;)w.push({data:S[0],index:S.index,mode:v,length:S[0].length});return w}function h(m){var v=u(o.NUMERIC,e.NUMERIC,m),b=u(o.ALPHANUMERIC,e.ALPHANUMERIC,m),w,S;a.isKanjiModeEnabled()?(w=u(o.BYTE,e.BYTE,m),S=u(o.KANJI,e.KANJI,m)):(w=u(o.BYTE_KANJI,e.BYTE,m),S=[]);var I=v.concat(b,w,S);return I.sort(function(x,A){return x.index-A.index}).map(function(x){return{data:x.data,mode:x.mode,length:x.length}})}function p(m,v){switch(v){case e.NUMERIC:return t.getBitsLength(m);case e.ALPHANUMERIC:return i.getBitsLength(m);case e.KANJI:return s.getBitsLength(m);case e.BYTE:return n.getBitsLength(m)}}function d(m){return m.reduce(function(v,b){var w=v.length-1>=0?v[v.length-1]:null;return w&&w.mode===b.mode?(v[v.length-1].data+=b.data,v):(v.push(b),v)},[])}function f(m){for(var v=[],b=0;b<m.length;b++){var w=m[b];switch(w.mode){case e.NUMERIC:v.push([w,{data:w.data,mode:e.ALPHANUMERIC,length:w.length},{data:w.data,mode:e.BYTE,length:w.length}]);break;case e.ALPHANUMERIC:v.push([w,{data:w.data,mode:e.BYTE,length:w.length}]);break;case e.KANJI:v.push([w,{data:w.data,mode:e.BYTE,length:l(w.data)}]);break;case e.BYTE:v.push([{data:w.data,mode:e.BYTE,length:l(w.data)}])}}return v}function g(m,v){for(var b={},w={start:{}},S=["start"],I=0;I<m.length;I++){for(var x=m[I],A=[],C=0;C<x.length;C++){var O=x[C],$=""+I+C;A.push($),b[$]={node:O,lastCount:0},w[$]={};for(var D=0;D<S.length;D++){var k=S[D];b[k]&&b[k].node.mode===O.mode?(w[k][$]=p(b[k].lastCount+O.length,O.mode)-p(b[k].lastCount,O.mode),b[k].lastCount+=O.length):(b[k]&&(b[k].lastCount=O.length),w[k][$]=p(O.length,O.mode)+4+e.getCharCountIndicator(O.mode,v))}}S=A}for(D=0;D<S.length;D++)w[S[D]].end=0;return{map:w,table:b}}function y(m,v){var b,w=e.getBestModeForData(m);if(b=e.from(v,w),b!==e.BYTE&&b.bit<w.bit)throw new Error('"'+m+'" cannot be encoded with mode '+e.toString(b)+`.
|
|
4
4
|
Suggested mode is: `+e.toString(w));switch(b===e.KANJI&&!a.isKanjiModeEnabled()&&(b=e.BYTE),b){case e.NUMERIC:return new t(m);case e.ALPHANUMERIC:return new i(m);case e.KANJI:return new s(m);case e.BYTE:return new n(m)}}r.fromArray=function(v){return v.reduce(function(b,w){return typeof w=="string"?b.push(y(w,null)):w.data&&b.push(y(w.data,w.mode)),b},[])},r.fromString=function(v,b){for(var w=h(v,a.isKanjiModeEnabled()),S=f(w),I=g(S,b),x=c.find_path(I.map,"start","end"),A=[],C=1;C<x.length-1;C++)A.push(I.table[x[C]].node);return r.fromArray(d(A))},r.rawSplit=function(v){return r.fromArray(h(v,a.isKanjiModeEnabled()))}})(va);var Wn=at,Gr=_e,hi=Wr,Xu=Cu,Zu=Ou,eh=ca,th=la,ki=ua,Mi=Hr,rh=Mu,$r=pa,ih=ya,nh=ct,di=va,sh=tn;function oh(r,e){for(var t=r.size,i=th.getPositions(e),n=0;n<i.length;n++)for(var s=i[n][0],o=i[n][1],a=-1;a<=7;a++)if(!(s+a<=-1||t<=s+a))for(var c=-1;c<=7;c++)o+c<=-1||t<=o+c||(a>=0&&a<=6&&(c===0||c===6)||c>=0&&c<=6&&(a===0||a===6)||a>=2&&a<=4&&c>=2&&c<=4?r.set(s+a,o+c,!0,!0):r.set(s+a,o+c,!1,!0))}function ah(r){for(var e=r.size,t=8;t<e-8;t++){var i=t%2===0;r.set(t,6,i,!0),r.set(6,t,i,!0)}}function ch(r,e){for(var t=eh.getPositions(e),i=0;i<t.length;i++)for(var n=t[i][0],s=t[i][1],o=-2;o<=2;o++)for(var a=-2;a<=2;a++)o===-2||o===2||a===-2||a===2||o===0&&a===0?r.set(n+o,s+a,!0,!0):r.set(n+o,s+a,!1,!0)}function lh(r,e){for(var t=r.size,i=$r.getEncodedBits(e),n,s,o,a=0;a<18;a++)n=Math.floor(a/3),s=a%3+t-8-3,o=(i>>a&1)===1,r.set(n,s,o,!0),r.set(s,n,o,!0)}function fi(r,e,t){var i=r.size,n=ih.getEncodedBits(e,t),s,o;for(s=0;s<15;s++)o=(n>>s&1)===1,s<6?r.set(s,8,o,!0):s<8?r.set(s+1,8,o,!0):r.set(i-15+s,8,o,!0),s<8?r.set(8,i-s-1,o,!0):s<9?r.set(8,15-s-1+1,o,!0):r.set(8,15-s-1,o,!0);r.set(i-8,8,1,!0)}function uh(r,e){for(var t=r.size,i=-1,n=t-1,s=7,o=0,a=t-1;a>0;a-=2)for(a===6&&a--;;){for(var c=0;c<2;c++)if(!r.isReserved(n,a-c)){var l=!1;o<e.length&&(l=(e[o]>>>s&1)===1),r.set(n,a-c,l),s--,s===-1&&(o++,s=7)}if(n+=i,n<0||t<=n){n-=i,i=-i;break}}}function hh(r,e,t){var i=new Xu;t.forEach(function(l){i.put(l.mode.bit,4),i.put(l.getLength(),nh.getCharCountIndicator(l.mode,r)),l.write(i)});var n=Gr.getSymbolTotalCodewords(r),s=Mi.getTotalCodewordsCount(r,e),o=(n-s)*8;for(i.getLengthInBits()+4<=o&&i.put(0,4);i.getLengthInBits()%8!==0;)i.putBit(0);for(var a=(o-i.getLengthInBits())/8,c=0;c<a;c++)i.put(c%2?17:236,8);return dh(i,r,e)}function dh(r,e,t){for(var i=Gr.getSymbolTotalCodewords(e),n=Mi.getTotalCodewordsCount(e,t),s=i-n,o=Mi.getBlocksCount(e,t),a=i%o,c=o-a,l=Math.floor(i/o),u=Math.floor(s/o),h=u+1,p=l-u,d=new rh(p),f=0,g=new Array(o),y=new Array(o),m=0,v=Wn.from(r.buffer),b=0;b<o;b++){var w=b<c?u:h;g[b]=v.slice(f,f+w),y[b]=d.encode(g[b]),f+=w,m=Math.max(m,w)}var S=Wn.alloc(i),I=0,x,A;for(x=0;x<m;x++)for(A=0;A<o;A++)x<g[A].length&&(S[I++]=g[A][x]);for(x=0;x<p;x++)for(A=0;A<o;A++)S[I++]=y[A][x];return S}function fh(r,e,t,i){var n;if(sh(r))n=di.fromArray(r);else if(typeof r=="string"){var s=e;if(!s){var o=di.rawSplit(r);s=$r.getBestVersionForData(o,t)}n=di.fromString(r,s||40)}else throw new Error("Invalid data");var a=$r.getBestVersionForData(n,t);if(!a)throw new Error("The amount of data is too big to be stored in a QR Code");if(!e)e=a;else if(e<a)throw new Error(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var $=Object.defineProperty;var U=(k,r,t)=>r in k?$(k,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):k[r]=t;var w=(k,r,t)=>U(k,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DU1he9Nx.js");require("./index-Cv_SfKSZ.js");const B=async(k,r,t)=>{var l,n,o;if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await e.getObjectFields(k,r);if(!c)throw new Error(`Unable to fetch object fields from token bridge state. Object ID: ${r}`);const i=(n=(l=c.token_registry.fields)==null?void 0:l.id)==null?void 0:n.id;if(!i)throw new Error("Unable to fetch token registry object ID");const a=e.getPackageIdFromType((o=c.token_registry)==null?void 0:o.type);if(!a)throw new Error("Unable to fetch token registry package ID");return k.getDynamicFieldObject({parentId:i,name:{type:`${a}::token_registry::Key<${t}>`,value:{dummy_field:!1}}})},_=async(k,r,t,c)=>{var s,f,p,y;const i=await e.getObjectFields(k,r);if(!i)throw new Error("Unable to fetch object fields from token bridge state");const a=(f=(s=i.token_registry)==null?void 0:s.fields)==null?void 0:f.coin_types,l=(y=(p=a==null?void 0:a.fields)==null?void 0:p.id)==null?void 0:y.id;if(!l)throw new Error("Unable to fetch coin types");const n=e.getTableKeyType(a==null?void 0:a.type);if(!n)throw new Error("Unable to get key type");const o=await k.getDynamicFieldObject({parentId:l,name:{type:n,value:{addr:[...t],chain:c}}});if(o.error){if(o.error.code==="dynamicFieldNotFound")return null;throw new Error(`Unexpected getDynamicFieldObject response ${o.error}`)}const g=e.getFieldsFromObjectResponse(o);if(!g)return null;if(!e.isMoveStructObject(g))throw new Error("What?");return"value"in g?e.trimSuiType(g.value):null};class S{constructor(r,t,c,i){w(this,"network");w(this,"chain");w(this,"provider");w(this,"contracts");w(this,"coreBridgeObjectId");w(this,"tokenBridgeObjectId");w(this,"chainId");this.network=r,this.chain=t,this.provider=c,this.contracts=i,this.chainId=e.networkChainToNativeChainId.get(r,t);const a=this.contracts.tokenBridge;if(!a)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);const l=this.contracts.coreBridge;if(!l)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);this.tokenBridgeObjectId=a,this.coreBridgeObjectId=l}static async fromRpc(r,t){const[c,i]=await e.SuiPlatform.chainFromRpc(r),a=t[i];if(a.network!==c)throw new Error(`Network mismatch: ${a.network} != ${c}`);return new S(c,i,r,a.contracts)}async isWrappedAsset(r){try{return await this.getOriginalAsset(r),!0}catch{return!1}}async getOriginalAsset(r){let t=r.getCoinType();if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await B(this.provider,this.tokenBridgeObjectId,t),i=e.getFieldsFromObjectResponse(c);if(!i)throw e.ErrNotWrapped(t);if(!e.isMoveStructObject(i))throw new Error("Expected fields to be a MoveStruct");if(!("value"in i))throw new Error("Expected a `value` key in fields of MoveStruct");const a=i.value;if(!e.isMoveStructStruct(a))throw new Error("Expected fields to be a MoveStruct");const l=e.trimSuiType(a.type);if(t=e.trimSuiType(t),l.includes(`wrapped_asset::WrappedAsset<${t}>`)){const n=a.fields.info;if(!e.isMoveStructStruct(n))throw new Error("Expected fields to be a MoveStruct");const o=n.fields.token_address;if(!e.isMoveStructStruct(o))throw new Error("Expected fields to be a MoveStruct");if(!e.isMoveStructObject(o.fields))throw new Error("Expected address data to be a MoveObject");if(!("value"in o.fields))throw new Error("Expected a `value` key in fields of MoveStruct");const g=o.fields.value;if(!e.isMoveStructStruct(g))throw new Error("Expected fields to be a MoveStruct");const s=new Uint8Array(g.fields.data);return{chain:e.toChain(Number(n.fields.token_chain)),address:new e.UniversalAddress(s)}}throw e.ErrNotWrapped(t)}async getTokenUniversalAddress(r){let t=r.getCoinType();if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await B(this.provider,this.tokenBridgeObjectId,t),i=e.getFieldsFromObjectResponse(c);if(!i)throw new Error(`Token of type ${t} has not been registered with the token bridge. Has it been attested?`);if(!e.isMoveStructObject(i))throw new Error("Expected fields to be a MoveStruct");if(!("value"in i))throw new Error("Expected a `value` key in fields of MoveStruct");const a=i.value;if(!e.isMoveStructStruct(a))throw new Error("Expected fields to be a MoveStruct");const l=e.trimSuiType(a.type);if(t=e.trimSuiType(t),l.includes(`native_asset::NativeAsset<${t}>`)){const n=a.fields.token_address;if(!e.isMoveStructStruct(n))throw new Error("Expected fields to be a MoveStruct");if(!("value"in n.fields))throw new Error("Expected a `value` key in fields of MoveStruct");const o=n.fields.value;if(!e.isMoveStructStruct(o))throw new Error("Expected fields to be a MoveStruct");const g=new Uint8Array(o.fields.data);return new e.UniversalAddress(g)}throw new Error(`Token of type ${t} is not a native asset`)}async getTokenNativeAddress(r,t){const c=await _(this.provider,this.tokenBridgeObjectId,t.toUint8Array(),e.toChainId(r));if(!c)throw new Error(`Token ${t.toString()} not found in token registry`);return new e.SuiAddress(c)}async hasWrappedAsset(r){try{return await this.getWrappedAsset(r),!0}catch{}return!1}async getWrappedAsset(r){if(e.isNative(r.address))throw new Error("Token Address required, 'native' literal not supported");const t=await _(this.provider,this.tokenBridgeObjectId,r.address.toUniversalAddress().toUint8Array(),e.toChainId(r.chain));if(!t)throw e.ErrNotWrapped(e.canonicalAddress(r));return e.toNative(this.chain,t)}async isTransferCompleted(r){var n,o,g,s,f,p,y,m;const t=await e.getObjectFields(this.provider,this.tokenBridgeObjectId);if(!t)throw new Error("Unable to fetch object fields from token bridge state");const c=(o=(n=t.consumed_vaas)==null?void 0:n.fields)==null?void 0:o.hashes,i=e.getTableKeyType((s=(g=c==null?void 0:c.fields)==null?void 0:g.items)==null?void 0:s.type);if(!i)throw new Error("Unable to get key type");const a=(m=(y=(p=(f=c==null?void 0:c.fields)==null?void 0:f.items)==null?void 0:p.fields)==null?void 0:y.id)==null?void 0:m.id;if(!a)throw new Error("Unable to fetch consumed VAAs table");const l=await this.provider.getDynamicFieldObject({parentId:a,name:{type:i,value:{data:[...e.keccak_256(r.hash)]}}});if(!l.error)return!0;if(l.error.code==="dynamicFieldNotFound")return!1;throw new Error(`Unexpected getDynamicFieldObject response ${l.error}`)}async*createAttestation(r){const t=0n,i=r.toString(),a=await this.provider.getCoinMetadata({coinType:i});if(a===null||a.id===null)throw new Error(`Coin metadata ID for type ${i} not found`);const[l,n]=await this.getPackageIds(),o=new e.Transaction$1,[g]=o.splitCoins(o.gas,[o.pure.u64(t)]),[s]=o.moveCall({target:`${n}::attest_token::attest_token`,arguments:[o.object(this.tokenBridgeObjectId),o.object(a.id),o.pure.u32(0)],typeArguments:[i]});o.moveCall({target:`${l}::publish_message::publish_message`,arguments:[o.object(this.coreBridgeObjectId),g,s,o.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(o,"Sui.TokenBridge.CreateAttestation")}async*submitAttestation(r,t){const[c,i]=await this.getPackageIds(),a=t.toString(),l=Math.min(r.payload.decimals,8),n=await this.getCoinBuildOutput(c,i,l),o=await e.publishPackage(n,a);yield this.createUnsignedTx(o,"Sui.TokenBridge.PrepareCreateWrapped");let g="",s="",f="",p="",y="",m=!1;for(;!m;){await new Promise(h=>setTimeout(h,500));const I=await this.provider.queryTransactionBlocks({filter:{FromAddress:a},options:{showObjectChanges:!0},limit:3});for(const h of I.data)if("objectChanges"in h){for(const u of h.objectChanges)e.isSuiPublishEvent(u)&&u.packageId!==void 0?g=u.packageId:e.isSuiCreateEvent(u)&&u.objectType.includes("WrappedAssetSetup")?(s=u.objectId,y=u.objectType.split(", ")[1].replace(">","")):e.isSuiCreateEvent(u)&&u.objectType.includes("UpgradeCap")?f=u.objectId:e.isSuiCreateEvent(u)&&u.objectType.includes("CoinMetadata")&&(p=u.objectId);if(g!==""&&s!==""&&f!==""&&p!==""){m=!0;break}else g="",s="",f="",p=""}}const b=e.getCoinTypeFromPackageId(g),d=new e.Transaction$1,[j]=d.moveCall({target:`${c}::vaa::parse_and_verify`,arguments:[d.object(this.coreBridgeObjectId),d.pure.vector("u8",e.serialize(r)),d.object(e.SUI_CLOCK_OBJECT_ID)]}),[T]=d.moveCall({target:`${i}::vaa::verify_only_once`,arguments:[d.object(this.tokenBridgeObjectId),j]});d.moveCall({target:`${i}::create_wrapped::complete_registration`,arguments:[d.object(this.tokenBridgeObjectId),d.object(p),d.object(s),d.object(f),T],typeArguments:[b,y]}),yield this.createUnsignedTx(d,"Sui.TokenBridge.SubmitAttestation")}async*transfer(r,t,c,i,a){const l=0n,n=0n,g=r.toString(),s=(e.isNative(c)?e.SUI_TYPE_ARG:c).toString(),f=await e.SuiPlatform.getCoins(this.provider,r,s),[p,...y]=f.filter(h=>e.isSameType(h.coinType,s));if(p===void 0)throw new Error(`Coins array doesn't contain any coins of type ${s}`);const[m,b]=await this.getPackageIds(),d=new e.Transaction$1,[j]=(()=>{if(s===e.SUI_TYPE_ARG)return d.splitCoins(d.gas,[d.pure.u64(i)]);{const h=d.object(p.coinObjectId);return y.length&&d.mergeCoins(h,y.map(u=>d.object(u.coinObjectId))),d.splitCoins(h,[d.pure.u64(i)])}})(),[T]=d.splitCoins(d.gas,[d.pure.u64(l)]),[I]=d.moveCall({target:`${b}::state::verified_asset`,arguments:[d.object(this.tokenBridgeObjectId)],typeArguments:[s]});if(a){if(!g)throw new Error("senderAddress is required for transfer with payload");let h=!1;const u=await(async()=>{const O=await e.getOldestEmitterCapObjectId(this.provider,m,g);if(O!==null)return d.object(O);{const[P]=d.moveCall({target:`${m}::emitter::new`,arguments:[d.object(this.coreBridgeObjectId)]});return h=!0,P}})(),[v,A]=d.moveCall({target:`${b}::transfer_tokens_with_payload::prepare_transfer`,arguments:[u,I,j,d.pure.u16(e.toChainId(t.chain)),d.pure.vector("u8",t.address.toUint8Array()),d.pure.vector("u8",a),d.pure.u32(0)],typeArguments:[s]});d.moveCall({target:`${b}::coin_utils::return_nonzero`,arguments:[A],typeArguments:[s]});const[E]=d.moveCall({target:`${b}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[d.object(this.tokenBridgeObjectId),v],typeArguments:[s]});d.moveCall({target:`${m}::publish_message::publish_message`,arguments:[d.object(this.coreBridgeObjectId),T,E,d.object(e.SUI_CLOCK_OBJECT_ID)]}),h&&d.transferObjects([u],d.pure.address(g)),yield this.createUnsignedTx(d,"Sui.TokenBridge.TransferWithPayload")}else{const[h,u]=d.moveCall({target:`${b}::transfer_tokens::prepare_transfer`,arguments:[I,j,d.pure.u16(e.toChainId(t.chain)),d.pure.vector("u8",t.address.toUint8Array()),d.pure.u64(n),d.pure.u32(0)],typeArguments:[s]});d.moveCall({target:`${b}::coin_utils::return_nonzero`,arguments:[u],typeArguments:[s]});const[v]=d.moveCall({target:`${b}::transfer_tokens::transfer_tokens`,arguments:[d.object(this.tokenBridgeObjectId),h],typeArguments:[s]});d.moveCall({target:`${m}::publish_message::publish_message`,arguments:[d.object(this.coreBridgeObjectId),T,v,d.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(d,"Sui.TokenBridge.Transfer")}}async*redeem(r,t,c=!0){const i=await _(this.provider,this.tokenBridgeObjectId,t.payload.token.address.toUint8Array(),e.toChainId(t.payload.token.chain));if(!i)throw new Error("Unable to fetch token coinType");const[a,l]=await this.getPackageIds(),n=new e.Transaction$1,[o]=n.moveCall({target:`${a}::vaa::parse_and_verify`,arguments:[n.object(this.coreBridgeObjectId),n.pure.vector("u8",e.serialize(t)),n.object(e.SUI_CLOCK_OBJECT_ID)]}),[g]=n.moveCall({target:`${l}::vaa::verify_only_once`,arguments:[n.object(this.tokenBridgeObjectId),o]}),[s]=n.moveCall({target:`${l}::complete_transfer::authorize_transfer`,arguments:[n.object(this.tokenBridgeObjectId),g],typeArguments:[i]}),[f]=n.moveCall({target:`${l}::complete_transfer::redeem_relayer_payout`,arguments:[s],typeArguments:[i]});n.moveCall({target:`${l}::coin_utils::return_nonzero`,arguments:[f],typeArguments:[i]}),yield this.createUnsignedTx(n,"Sui.TokenBridge.Redeem")}async getWrappedNative(){return e.toNative(this.chain,e.SUI_TYPE_ARG)}async getPackageIds(){return Promise.all([e.getPackageId(this.provider,this.coreBridgeObjectId),e.getPackageId(this.provider,this.tokenBridgeObjectId)])}async getCoinBuildOutput(r,t,c){var n;if(c>8)throw new Error("Decimals is capped at 8");const i=(n=await e.getOriginalPackageId(this.provider,this.tokenBridgeObjectId))==null?void 0:n.replace("0x","");if(!i)throw new Error(`Original token bridge package ID not found for object ID ${this.tokenBridgeObjectId}`);const a="a11ceb0b060000000901000a020a14031e1704350405392d07669f01088502600ae502050cea02160004010b010c0205020d000002000201020003030c020001000104020700000700010001090801010c020a050600030803040202000302010702080007080100020800080303090002070801010b020209000901010608010105010b0202080008030209000504434f494e095478436f6e7465787408565f5f305f325f3011577261707065644173736574536574757004636f696e0e6372656174655f777261707065640b64756d6d795f6669656c6404696e697414707265706172655f726567697374726174696f6e0f7075626c69635f7472616e736665720673656e646572087472616e736665720a74785f636f6e746578740f76657273696f6e5f636f6e74726f6c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"+i+"00020106010000000001090b0031"+c.toString(16).padStart(2,"0")+"0a0138000b012e110238010200";return{modules:[e.b64.encode(e.hex.decode(a))],dependencies:["0x1","0x2",t,r].map(o=>e.normalizeSuiObjectId(o))}}createUnsignedTx(r,t,c=!1){return new e.SuiUnsignedTransaction(r,this.network,this.chain,t,c)}}class C{constructor(r,t,c,i){w(this,"network");w(this,"chain");w(this,"connection");w(this,"contracts");w(this,"tokenBridgeRelayerObjectId");w(this,"coreBridgeObjectId");w(this,"tokenBridgeObjectId");w(this,"fields");this.network=r,this.chain=t,this.connection=c,this.contracts=i;const{tokenBridge:a,tokenBridgeRelayer:l,coreBridge:n}=i;if(!a||!l||!n)throw new Error(`Some object IDs for ${t} Automatic Token Bridge not found`);this.tokenBridgeRelayerObjectId=l,this.tokenBridgeObjectId=a,this.coreBridgeObjectId=n}static async fromRpc(r,t){const[c,i]=await e.SuiPlatform.chainFromRpc(r),a=t[i];if(a.network!==c)throw new Error(`Network mismatch for chain ${i}: ${a.network} != ${c}`);return new C(c,i,r,a.contracts)}async*transfer(r,t,c,i,a){const n=new e.SuiAddress(e.isNative(c)?e.SuiPlatform.nativeTokenId(this.network,this.chain).address:c).getCoinType(),{coreBridge:o,tokenBridge:g}=await this.getPackageIds(),s=new e.Transaction$1,f=BigInt(0),[p]=s.splitCoins(s.gas,[s.pure.u64(f)]),[y]=await(async()=>{if(e.isNative(c))return s.splitCoins(s.gas,[s.pure.u64(i)]);{const T=await e.SuiPlatform.getCoins(this.connection,r,n),[I,...h]=T.filter(v=>v.coinType===n);if(I===void 0)throw new Error(`Coins array doesn't contain any coins of type ${n}`);const u=s.object(I.coinObjectId);return h.length&&s.mergeCoins(u,h.map(v=>s.object(v.coinObjectId))),s.splitCoins(u,[s.pure.u64(i)])}})(),[m]=s.moveCall({target:`${g}::state::verified_asset`,arguments:[s.object(this.tokenBridgeObjectId)],typeArguments:[n]}),b=await this.getPackageId(),[d]=s.moveCall({target:`${b}::transfer::transfer_tokens_with_relay`,arguments:[s.object(this.tokenBridgeRelayerObjectId),y,m,s.pure.u64(a??0n),s.pure.u16(e.toChainId(t.chain)),s.pure.address(e.hex.encode(t.address.toUint8Array(),!0)),s.pure.u32(123)],typeArguments:[n]}),[j]=s.moveCall({target:`${g}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[s.object(this.tokenBridgeObjectId),d],typeArguments:[n]});s.moveCall({target:`${o}::publish_message::publish_message`,arguments:[s.object(this.coreBridgeObjectId),p,j,s.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(s,"AutomaticTokenBridge.transfer")}async*redeem(r,t){const{coreBridge:c,tokenBridge:i}=await this.getPackageIds(),{address:a,chain:l}=t.payload.token,n=await _(this.connection,this.tokenBridgeObjectId,a.toUniversalAddress().toUint8Array(),e.toChainId(l));if(!n)throw new Error("Unable to fetch token coinType");const o=new e.Transaction$1,[g]=o.moveCall({target:`${c}::vaa::parse_and_verify`,arguments:[o.object(this.coreBridgeObjectId),o.pure.vector("u8",e.serialize(t)),o.object(e.SUI_CLOCK_OBJECT_ID)]}),[s]=o.moveCall({target:`${i}::vaa::verify_only_once`,arguments:[o.object(this.tokenBridgeObjectId),g]}),[f]=o.moveCall({target:`${i}::complete_transfer_with_payload::authorize_transfer`,arguments:[o.object(this.tokenBridgeObjectId),s],typeArguments:[n]}),p=await this.getPackageId();o.moveCall({target:`${p}::redeem::complete_transfer`,arguments:[o.object(this.tokenBridgeRelayerObjectId),f],typeArguments:[n]}),yield this.createUnsignedTx(o,"AutomaticTokenBridge.redeem")}async getRelayerFee(r,t){const c=e.isNative(t)?e.SuiPlatform.nativeTokenId(this.network,this.chain):t,i=await this.getTokenInfo(c.toString());if(i===null)throw new Error("Unsupported token for relay");const a=await this.getFields(),l=await this.connection.getDynamicFieldObject({parentId:this.tokenBridgeRelayerObjectId,name:{type:"vector<u8>",value:Array.from(e.bytes.encode("relayer_fees"))}});if(!l.data||!l.data.content)throw l.error?new Error("Failed to get relayer fees: "+JSON.stringify(l.error)):new Error("Unable to compute relayer fee");const{content:n}=l.data;if(!e.isMoveStructStruct(n)||!e.isMoveStructId(n.fields.id))throw new Error("Unable to compute relayer fee");const o=await this.connection.getDynamicFieldObject({parentId:n.fields.id.id,name:{type:"u16",value:e.toChainId(r)}});if(!o.data||!o.data.content)throw o.error?new Error("Failed to get relayer fees: "+JSON.stringify(l.error)):new Error("Unable to compute relayer fee");const{content:g}=o.data;if(!e.isMoveStructStruct(g))throw new Error("Unable to compute relayer fee");const s=await e.SuiPlatform.getDecimals(this.chain,this.connection,t.toString()),f=i.swap_rate,p=a.relayer_fee_precision,y=a.swap_rate_precision,m=g.fields.value;return 10n**BigInt(s)*BigInt(m)*BigInt(y)/(BigInt(f)*BigInt(p))}async maxSwapAmount(r){var o,g;const c=(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain):r).toString(),i=await this.connection.getCoinMetadata({coinType:c});if(!i)throw new Error("metadata is null");const a=await this.getPackageId(),l=new e.Transaction$1;l.moveCall({target:`${a}::redeem::calculate_max_swap_amount_in`,arguments:[l.object(this.tokenBridgeRelayerObjectId),l.pure.u8(i.decimals)],typeArguments:[c]});const n=await this.connection.devInspectTransactionBlock({transactionBlock:l,sender:e.hex.encode(new Uint8Array(32))});if(!n.results||n.results.length==0||!((o=n.results[0])!=null&&o.returnValues)||((g=n.results[0])==null?void 0:g.returnValues.length)!==1)throw Error("swap rate not set");return e.bignum.decode(new Uint8Array(n.results[0].returnValues[0][0].toReversed()))}async nativeTokenAmount(r,t){var g,s;const i=(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain):r).toString(),a=await this.connection.getCoinMetadata({coinType:i});if(!a)throw new Error("metadata is null");const l=await this.getPackageId(),n=new e.Transaction$1;n.moveCall({target:`${l}::redeem::calculate_native_swap_amount_out`,arguments:[n.object(this.tokenBridgeRelayerObjectId),n.pure.u64(t),n.pure.u8(a.decimals)],typeArguments:[i]});const o=await this.connection.devInspectTransactionBlock({transactionBlock:n,sender:e.hex.encode(new Uint8Array(32))});if(!o.results||o.results.length==0||!((g=o.results[0])!=null&&g.returnValues)||((s=o.results[0])==null?void 0:s.returnValues.length)!==1)throw Error("swap rate not set");return e.bignum.decode(new Uint8Array(o.results[0].returnValues[0][0].toReversed()))}async getRegisteredTokens(){const t=(await this.getFields()).registered_tokens.fields.id.id;return(await this.connection.getDynamicFields({parentId:t})).data.map(a=>{const{address:l,module:n,name:o}=e.parseStructTag(a.objectType);return new e.SuiAddress([l,n,o].join(e.SUI_SEPARATOR))})}async isRegisteredToken(r){const t=new e.SuiAddress(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain).address:r).unwrap();try{return await this.getTokenInfo(t)!==null}catch(c){console.error(c)}return!1}async getTokenInfo(r){var o;const t=await this.getFields(),i=new e.SuiAddress(t.registered_tokens.type).getPackageId(),a=t.registered_tokens.fields.id.id,l=new e.SuiAddress(r),n=e.isSameType(e.SUI_COIN,l.unwrap())?e.SUI_COIN:l.getCoinType();try{const g=await this.connection.getDynamicFieldObject({parentId:a,name:{type:`${i}::registered_tokens::Key<${n}>`,value:{dummy_field:!1}}});if(g.error)throw new Error("Failed to get token info: "+JSON.stringify(g.error));if(!g.data||!g.data.content)throw new Error("Failed to get token info: "+JSON.stringify(g));const{content:s}=g.data;return e.isMoveStructStruct(s)&&e.isMoveStructStruct(s.fields.value)?s.fields.value.fields:null}catch(g){if((g==null?void 0:g.code)===-32e3&&((o=g.message)!=null&&o.includes("RPC Error")))return console.error(g),null;throw g}}async getFields(){if(!this.fields){const r=await e.getObjectFields(this.connection,this.tokenBridgeRelayerObjectId);if(r===null)throw new Error("Failed to get fields from token bridge relayer state");this.fields=r}return this.fields}async getPackageId(){const r=await this.getFields();return new e.SuiAddress(r.registered_tokens.type).getPackageId()}async getPackageIds(){const[r,t]=await Promise.all([e.getPackageId(this.connection,this.coreBridgeObjectId),e.getPackageId(this.connection,this.tokenBridgeObjectId)]);return{coreBridge:r,tokenBridge:t}}createUnsignedTx(r,t,c=!1){return new e.SuiUnsignedTransaction(r,this.network,this.chain,t,c)}}e.registerProtocol("Sui","TokenBridge",S);e.registerProtocol("Sui","AutomaticTokenBridge",C);exports.SuiAutomaticTokenBridge=C;exports.SuiTokenBridge=S;exports.getTokenCoinType=_;exports.getTokenFromTokenRegistry=B;
|
|
1
|
+
"use strict";var $=Object.defineProperty;var U=(k,r,t)=>r in k?$(k,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):k[r]=t;var w=(k,r,t)=>U(k,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-BFhdLIwV.js");require("./index-CkCqt7a-.js");const B=async(k,r,t)=>{var l,n,o;if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await e.getObjectFields(k,r);if(!c)throw new Error(`Unable to fetch object fields from token bridge state. Object ID: ${r}`);const i=(n=(l=c.token_registry.fields)==null?void 0:l.id)==null?void 0:n.id;if(!i)throw new Error("Unable to fetch token registry object ID");const a=e.getPackageIdFromType((o=c.token_registry)==null?void 0:o.type);if(!a)throw new Error("Unable to fetch token registry package ID");return k.getDynamicFieldObject({parentId:i,name:{type:`${a}::token_registry::Key<${t}>`,value:{dummy_field:!1}}})},_=async(k,r,t,c)=>{var s,f,p,y;const i=await e.getObjectFields(k,r);if(!i)throw new Error("Unable to fetch object fields from token bridge state");const a=(f=(s=i.token_registry)==null?void 0:s.fields)==null?void 0:f.coin_types,l=(y=(p=a==null?void 0:a.fields)==null?void 0:p.id)==null?void 0:y.id;if(!l)throw new Error("Unable to fetch coin types");const n=e.getTableKeyType(a==null?void 0:a.type);if(!n)throw new Error("Unable to get key type");const o=await k.getDynamicFieldObject({parentId:l,name:{type:n,value:{addr:[...t],chain:c}}});if(o.error){if(o.error.code==="dynamicFieldNotFound")return null;throw new Error(`Unexpected getDynamicFieldObject response ${o.error}`)}const g=e.getFieldsFromObjectResponse(o);if(!g)return null;if(!e.isMoveStructObject(g))throw new Error("What?");return"value"in g?e.trimSuiType(g.value):null};class S{constructor(r,t,c,i){w(this,"network");w(this,"chain");w(this,"provider");w(this,"contracts");w(this,"coreBridgeObjectId");w(this,"tokenBridgeObjectId");w(this,"chainId");this.network=r,this.chain=t,this.provider=c,this.contracts=i,this.chainId=e.networkChainToNativeChainId.get(r,t);const a=this.contracts.tokenBridge;if(!a)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);const l=this.contracts.coreBridge;if(!l)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);this.tokenBridgeObjectId=a,this.coreBridgeObjectId=l}static async fromRpc(r,t){const[c,i]=await e.SuiPlatform.chainFromRpc(r),a=t[i];if(a.network!==c)throw new Error(`Network mismatch: ${a.network} != ${c}`);return new S(c,i,r,a.contracts)}async isWrappedAsset(r){try{return await this.getOriginalAsset(r),!0}catch{return!1}}async getOriginalAsset(r){let t=r.getCoinType();if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await B(this.provider,this.tokenBridgeObjectId,t),i=e.getFieldsFromObjectResponse(c);if(!i)throw e.ErrNotWrapped(t);if(!e.isMoveStructObject(i))throw new Error("Expected fields to be a MoveStruct");if(!("value"in i))throw new Error("Expected a `value` key in fields of MoveStruct");const a=i.value;if(!e.isMoveStructStruct(a))throw new Error("Expected fields to be a MoveStruct");const l=e.trimSuiType(a.type);if(t=e.trimSuiType(t),l.includes(`wrapped_asset::WrappedAsset<${t}>`)){const n=a.fields.info;if(!e.isMoveStructStruct(n))throw new Error("Expected fields to be a MoveStruct");const o=n.fields.token_address;if(!e.isMoveStructStruct(o))throw new Error("Expected fields to be a MoveStruct");if(!e.isMoveStructObject(o.fields))throw new Error("Expected address data to be a MoveObject");if(!("value"in o.fields))throw new Error("Expected a `value` key in fields of MoveStruct");const g=o.fields.value;if(!e.isMoveStructStruct(g))throw new Error("Expected fields to be a MoveStruct");const s=new Uint8Array(g.fields.data);return{chain:e.toChain(Number(n.fields.token_chain)),address:new e.UniversalAddress(s)}}throw e.ErrNotWrapped(t)}async getTokenUniversalAddress(r){let t=r.getCoinType();if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await B(this.provider,this.tokenBridgeObjectId,t),i=e.getFieldsFromObjectResponse(c);if(!i)throw new Error(`Token of type ${t} has not been registered with the token bridge. Has it been attested?`);if(!e.isMoveStructObject(i))throw new Error("Expected fields to be a MoveStruct");if(!("value"in i))throw new Error("Expected a `value` key in fields of MoveStruct");const a=i.value;if(!e.isMoveStructStruct(a))throw new Error("Expected fields to be a MoveStruct");const l=e.trimSuiType(a.type);if(t=e.trimSuiType(t),l.includes(`native_asset::NativeAsset<${t}>`)){const n=a.fields.token_address;if(!e.isMoveStructStruct(n))throw new Error("Expected fields to be a MoveStruct");if(!("value"in n.fields))throw new Error("Expected a `value` key in fields of MoveStruct");const o=n.fields.value;if(!e.isMoveStructStruct(o))throw new Error("Expected fields to be a MoveStruct");const g=new Uint8Array(o.fields.data);return new e.UniversalAddress(g)}throw new Error(`Token of type ${t} is not a native asset`)}async getTokenNativeAddress(r,t){const c=await _(this.provider,this.tokenBridgeObjectId,t.toUint8Array(),e.toChainId(r));if(!c)throw new Error(`Token ${t.toString()} not found in token registry`);return new e.SuiAddress(c)}async hasWrappedAsset(r){try{return await this.getWrappedAsset(r),!0}catch{}return!1}async getWrappedAsset(r){if(e.isNative(r.address))throw new Error("Token Address required, 'native' literal not supported");const t=await _(this.provider,this.tokenBridgeObjectId,r.address.toUniversalAddress().toUint8Array(),e.toChainId(r.chain));if(!t)throw e.ErrNotWrapped(e.canonicalAddress(r));return e.toNative(this.chain,t)}async isTransferCompleted(r){var n,o,g,s,f,p,y,m;const t=await e.getObjectFields(this.provider,this.tokenBridgeObjectId);if(!t)throw new Error("Unable to fetch object fields from token bridge state");const c=(o=(n=t.consumed_vaas)==null?void 0:n.fields)==null?void 0:o.hashes,i=e.getTableKeyType((s=(g=c==null?void 0:c.fields)==null?void 0:g.items)==null?void 0:s.type);if(!i)throw new Error("Unable to get key type");const a=(m=(y=(p=(f=c==null?void 0:c.fields)==null?void 0:f.items)==null?void 0:p.fields)==null?void 0:y.id)==null?void 0:m.id;if(!a)throw new Error("Unable to fetch consumed VAAs table");const l=await this.provider.getDynamicFieldObject({parentId:a,name:{type:i,value:{data:[...e.keccak_256(r.hash)]}}});if(!l.error)return!0;if(l.error.code==="dynamicFieldNotFound")return!1;throw new Error(`Unexpected getDynamicFieldObject response ${l.error}`)}async*createAttestation(r){const t=0n,i=r.toString(),a=await this.provider.getCoinMetadata({coinType:i});if(a===null||a.id===null)throw new Error(`Coin metadata ID for type ${i} not found`);const[l,n]=await this.getPackageIds(),o=new e.Transaction$1,[g]=o.splitCoins(o.gas,[o.pure.u64(t)]),[s]=o.moveCall({target:`${n}::attest_token::attest_token`,arguments:[o.object(this.tokenBridgeObjectId),o.object(a.id),o.pure.u32(0)],typeArguments:[i]});o.moveCall({target:`${l}::publish_message::publish_message`,arguments:[o.object(this.coreBridgeObjectId),g,s,o.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(o,"Sui.TokenBridge.CreateAttestation")}async*submitAttestation(r,t){const[c,i]=await this.getPackageIds(),a=t.toString(),l=Math.min(r.payload.decimals,8),n=await this.getCoinBuildOutput(c,i,l),o=await e.publishPackage(n,a);yield this.createUnsignedTx(o,"Sui.TokenBridge.PrepareCreateWrapped");let g="",s="",f="",p="",y="",m=!1;for(;!m;){await new Promise(h=>setTimeout(h,500));const I=await this.provider.queryTransactionBlocks({filter:{FromAddress:a},options:{showObjectChanges:!0},limit:3});for(const h of I.data)if("objectChanges"in h){for(const u of h.objectChanges)e.isSuiPublishEvent(u)&&u.packageId!==void 0?g=u.packageId:e.isSuiCreateEvent(u)&&u.objectType.includes("WrappedAssetSetup")?(s=u.objectId,y=u.objectType.split(", ")[1].replace(">","")):e.isSuiCreateEvent(u)&&u.objectType.includes("UpgradeCap")?f=u.objectId:e.isSuiCreateEvent(u)&&u.objectType.includes("CoinMetadata")&&(p=u.objectId);if(g!==""&&s!==""&&f!==""&&p!==""){m=!0;break}else g="",s="",f="",p=""}}const b=e.getCoinTypeFromPackageId(g),d=new e.Transaction$1,[j]=d.moveCall({target:`${c}::vaa::parse_and_verify`,arguments:[d.object(this.coreBridgeObjectId),d.pure.vector("u8",e.serialize(r)),d.object(e.SUI_CLOCK_OBJECT_ID)]}),[T]=d.moveCall({target:`${i}::vaa::verify_only_once`,arguments:[d.object(this.tokenBridgeObjectId),j]});d.moveCall({target:`${i}::create_wrapped::complete_registration`,arguments:[d.object(this.tokenBridgeObjectId),d.object(p),d.object(s),d.object(f),T],typeArguments:[b,y]}),yield this.createUnsignedTx(d,"Sui.TokenBridge.SubmitAttestation")}async*transfer(r,t,c,i,a){const l=0n,n=0n,g=r.toString(),s=(e.isNative(c)?e.SUI_TYPE_ARG:c).toString(),f=await e.SuiPlatform.getCoins(this.provider,r,s),[p,...y]=f.filter(h=>e.isSameType(h.coinType,s));if(p===void 0)throw new Error(`Coins array doesn't contain any coins of type ${s}`);const[m,b]=await this.getPackageIds(),d=new e.Transaction$1,[j]=(()=>{if(s===e.SUI_TYPE_ARG)return d.splitCoins(d.gas,[d.pure.u64(i)]);{const h=d.object(p.coinObjectId);return y.length&&d.mergeCoins(h,y.map(u=>d.object(u.coinObjectId))),d.splitCoins(h,[d.pure.u64(i)])}})(),[T]=d.splitCoins(d.gas,[d.pure.u64(l)]),[I]=d.moveCall({target:`${b}::state::verified_asset`,arguments:[d.object(this.tokenBridgeObjectId)],typeArguments:[s]});if(a){if(!g)throw new Error("senderAddress is required for transfer with payload");let h=!1;const u=await(async()=>{const O=await e.getOldestEmitterCapObjectId(this.provider,m,g);if(O!==null)return d.object(O);{const[P]=d.moveCall({target:`${m}::emitter::new`,arguments:[d.object(this.coreBridgeObjectId)]});return h=!0,P}})(),[v,A]=d.moveCall({target:`${b}::transfer_tokens_with_payload::prepare_transfer`,arguments:[u,I,j,d.pure.u16(e.toChainId(t.chain)),d.pure.vector("u8",t.address.toUint8Array()),d.pure.vector("u8",a),d.pure.u32(0)],typeArguments:[s]});d.moveCall({target:`${b}::coin_utils::return_nonzero`,arguments:[A],typeArguments:[s]});const[E]=d.moveCall({target:`${b}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[d.object(this.tokenBridgeObjectId),v],typeArguments:[s]});d.moveCall({target:`${m}::publish_message::publish_message`,arguments:[d.object(this.coreBridgeObjectId),T,E,d.object(e.SUI_CLOCK_OBJECT_ID)]}),h&&d.transferObjects([u],d.pure.address(g)),yield this.createUnsignedTx(d,"Sui.TokenBridge.TransferWithPayload")}else{const[h,u]=d.moveCall({target:`${b}::transfer_tokens::prepare_transfer`,arguments:[I,j,d.pure.u16(e.toChainId(t.chain)),d.pure.vector("u8",t.address.toUint8Array()),d.pure.u64(n),d.pure.u32(0)],typeArguments:[s]});d.moveCall({target:`${b}::coin_utils::return_nonzero`,arguments:[u],typeArguments:[s]});const[v]=d.moveCall({target:`${b}::transfer_tokens::transfer_tokens`,arguments:[d.object(this.tokenBridgeObjectId),h],typeArguments:[s]});d.moveCall({target:`${m}::publish_message::publish_message`,arguments:[d.object(this.coreBridgeObjectId),T,v,d.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(d,"Sui.TokenBridge.Transfer")}}async*redeem(r,t,c=!0){const i=await _(this.provider,this.tokenBridgeObjectId,t.payload.token.address.toUint8Array(),e.toChainId(t.payload.token.chain));if(!i)throw new Error("Unable to fetch token coinType");const[a,l]=await this.getPackageIds(),n=new e.Transaction$1,[o]=n.moveCall({target:`${a}::vaa::parse_and_verify`,arguments:[n.object(this.coreBridgeObjectId),n.pure.vector("u8",e.serialize(t)),n.object(e.SUI_CLOCK_OBJECT_ID)]}),[g]=n.moveCall({target:`${l}::vaa::verify_only_once`,arguments:[n.object(this.tokenBridgeObjectId),o]}),[s]=n.moveCall({target:`${l}::complete_transfer::authorize_transfer`,arguments:[n.object(this.tokenBridgeObjectId),g],typeArguments:[i]}),[f]=n.moveCall({target:`${l}::complete_transfer::redeem_relayer_payout`,arguments:[s],typeArguments:[i]});n.moveCall({target:`${l}::coin_utils::return_nonzero`,arguments:[f],typeArguments:[i]}),yield this.createUnsignedTx(n,"Sui.TokenBridge.Redeem")}async getWrappedNative(){return e.toNative(this.chain,e.SUI_TYPE_ARG)}async getPackageIds(){return Promise.all([e.getPackageId(this.provider,this.coreBridgeObjectId),e.getPackageId(this.provider,this.tokenBridgeObjectId)])}async getCoinBuildOutput(r,t,c){var n;if(c>8)throw new Error("Decimals is capped at 8");const i=(n=await e.getOriginalPackageId(this.provider,this.tokenBridgeObjectId))==null?void 0:n.replace("0x","");if(!i)throw new Error(`Original token bridge package ID not found for object ID ${this.tokenBridgeObjectId}`);const a="a11ceb0b060000000901000a020a14031e1704350405392d07669f01088502600ae502050cea02160004010b010c0205020d000002000201020003030c020001000104020700000700010001090801010c020a050600030803040202000302010702080007080100020800080303090002070801010b020209000901010608010105010b0202080008030209000504434f494e095478436f6e7465787408565f5f305f325f3011577261707065644173736574536574757004636f696e0e6372656174655f777261707065640b64756d6d795f6669656c6404696e697414707265706172655f726567697374726174696f6e0f7075626c69635f7472616e736665720673656e646572087472616e736665720a74785f636f6e746578740f76657273696f6e5f636f6e74726f6c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"+i+"00020106010000000001090b0031"+c.toString(16).padStart(2,"0")+"0a0138000b012e110238010200";return{modules:[e.b64.encode(e.hex.decode(a))],dependencies:["0x1","0x2",t,r].map(o=>e.normalizeSuiObjectId(o))}}createUnsignedTx(r,t,c=!1){return new e.SuiUnsignedTransaction(r,this.network,this.chain,t,c)}}class C{constructor(r,t,c,i){w(this,"network");w(this,"chain");w(this,"connection");w(this,"contracts");w(this,"tokenBridgeRelayerObjectId");w(this,"coreBridgeObjectId");w(this,"tokenBridgeObjectId");w(this,"fields");this.network=r,this.chain=t,this.connection=c,this.contracts=i;const{tokenBridge:a,tokenBridgeRelayer:l,coreBridge:n}=i;if(!a||!l||!n)throw new Error(`Some object IDs for ${t} Automatic Token Bridge not found`);this.tokenBridgeRelayerObjectId=l,this.tokenBridgeObjectId=a,this.coreBridgeObjectId=n}static async fromRpc(r,t){const[c,i]=await e.SuiPlatform.chainFromRpc(r),a=t[i];if(a.network!==c)throw new Error(`Network mismatch for chain ${i}: ${a.network} != ${c}`);return new C(c,i,r,a.contracts)}async*transfer(r,t,c,i,a){const n=new e.SuiAddress(e.isNative(c)?e.SuiPlatform.nativeTokenId(this.network,this.chain).address:c).getCoinType(),{coreBridge:o,tokenBridge:g}=await this.getPackageIds(),s=new e.Transaction$1,f=BigInt(0),[p]=s.splitCoins(s.gas,[s.pure.u64(f)]),[y]=await(async()=>{if(e.isNative(c))return s.splitCoins(s.gas,[s.pure.u64(i)]);{const T=await e.SuiPlatform.getCoins(this.connection,r,n),[I,...h]=T.filter(v=>v.coinType===n);if(I===void 0)throw new Error(`Coins array doesn't contain any coins of type ${n}`);const u=s.object(I.coinObjectId);return h.length&&s.mergeCoins(u,h.map(v=>s.object(v.coinObjectId))),s.splitCoins(u,[s.pure.u64(i)])}})(),[m]=s.moveCall({target:`${g}::state::verified_asset`,arguments:[s.object(this.tokenBridgeObjectId)],typeArguments:[n]}),b=await this.getPackageId(),[d]=s.moveCall({target:`${b}::transfer::transfer_tokens_with_relay`,arguments:[s.object(this.tokenBridgeRelayerObjectId),y,m,s.pure.u64(a??0n),s.pure.u16(e.toChainId(t.chain)),s.pure.address(e.hex.encode(t.address.toUint8Array(),!0)),s.pure.u32(123)],typeArguments:[n]}),[j]=s.moveCall({target:`${g}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[s.object(this.tokenBridgeObjectId),d],typeArguments:[n]});s.moveCall({target:`${o}::publish_message::publish_message`,arguments:[s.object(this.coreBridgeObjectId),p,j,s.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(s,"AutomaticTokenBridge.transfer")}async*redeem(r,t){const{coreBridge:c,tokenBridge:i}=await this.getPackageIds(),{address:a,chain:l}=t.payload.token,n=await _(this.connection,this.tokenBridgeObjectId,a.toUniversalAddress().toUint8Array(),e.toChainId(l));if(!n)throw new Error("Unable to fetch token coinType");const o=new e.Transaction$1,[g]=o.moveCall({target:`${c}::vaa::parse_and_verify`,arguments:[o.object(this.coreBridgeObjectId),o.pure.vector("u8",e.serialize(t)),o.object(e.SUI_CLOCK_OBJECT_ID)]}),[s]=o.moveCall({target:`${i}::vaa::verify_only_once`,arguments:[o.object(this.tokenBridgeObjectId),g]}),[f]=o.moveCall({target:`${i}::complete_transfer_with_payload::authorize_transfer`,arguments:[o.object(this.tokenBridgeObjectId),s],typeArguments:[n]}),p=await this.getPackageId();o.moveCall({target:`${p}::redeem::complete_transfer`,arguments:[o.object(this.tokenBridgeRelayerObjectId),f],typeArguments:[n]}),yield this.createUnsignedTx(o,"AutomaticTokenBridge.redeem")}async getRelayerFee(r,t){const c=e.isNative(t)?e.SuiPlatform.nativeTokenId(this.network,this.chain):t,i=await this.getTokenInfo(c.toString());if(i===null)throw new Error("Unsupported token for relay");const a=await this.getFields(),l=await this.connection.getDynamicFieldObject({parentId:this.tokenBridgeRelayerObjectId,name:{type:"vector<u8>",value:Array.from(e.bytes.encode("relayer_fees"))}});if(!l.data||!l.data.content)throw l.error?new Error("Failed to get relayer fees: "+JSON.stringify(l.error)):new Error("Unable to compute relayer fee");const{content:n}=l.data;if(!e.isMoveStructStruct(n)||!e.isMoveStructId(n.fields.id))throw new Error("Unable to compute relayer fee");const o=await this.connection.getDynamicFieldObject({parentId:n.fields.id.id,name:{type:"u16",value:e.toChainId(r)}});if(!o.data||!o.data.content)throw o.error?new Error("Failed to get relayer fees: "+JSON.stringify(l.error)):new Error("Unable to compute relayer fee");const{content:g}=o.data;if(!e.isMoveStructStruct(g))throw new Error("Unable to compute relayer fee");const s=await e.SuiPlatform.getDecimals(this.chain,this.connection,t.toString()),f=i.swap_rate,p=a.relayer_fee_precision,y=a.swap_rate_precision,m=g.fields.value;return 10n**BigInt(s)*BigInt(m)*BigInt(y)/(BigInt(f)*BigInt(p))}async maxSwapAmount(r){var o,g;const c=(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain):r).toString(),i=await this.connection.getCoinMetadata({coinType:c});if(!i)throw new Error("metadata is null");const a=await this.getPackageId(),l=new e.Transaction$1;l.moveCall({target:`${a}::redeem::calculate_max_swap_amount_in`,arguments:[l.object(this.tokenBridgeRelayerObjectId),l.pure.u8(i.decimals)],typeArguments:[c]});const n=await this.connection.devInspectTransactionBlock({transactionBlock:l,sender:e.hex.encode(new Uint8Array(32))});if(!n.results||n.results.length==0||!((o=n.results[0])!=null&&o.returnValues)||((g=n.results[0])==null?void 0:g.returnValues.length)!==1)throw Error("swap rate not set");return e.bignum.decode(new Uint8Array(n.results[0].returnValues[0][0].toReversed()))}async nativeTokenAmount(r,t){var g,s;const i=(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain):r).toString(),a=await this.connection.getCoinMetadata({coinType:i});if(!a)throw new Error("metadata is null");const l=await this.getPackageId(),n=new e.Transaction$1;n.moveCall({target:`${l}::redeem::calculate_native_swap_amount_out`,arguments:[n.object(this.tokenBridgeRelayerObjectId),n.pure.u64(t),n.pure.u8(a.decimals)],typeArguments:[i]});const o=await this.connection.devInspectTransactionBlock({transactionBlock:n,sender:e.hex.encode(new Uint8Array(32))});if(!o.results||o.results.length==0||!((g=o.results[0])!=null&&g.returnValues)||((s=o.results[0])==null?void 0:s.returnValues.length)!==1)throw Error("swap rate not set");return e.bignum.decode(new Uint8Array(o.results[0].returnValues[0][0].toReversed()))}async getRegisteredTokens(){const t=(await this.getFields()).registered_tokens.fields.id.id;return(await this.connection.getDynamicFields({parentId:t})).data.map(a=>{const{address:l,module:n,name:o}=e.parseStructTag(a.objectType);return new e.SuiAddress([l,n,o].join(e.SUI_SEPARATOR))})}async isRegisteredToken(r){const t=new e.SuiAddress(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain).address:r).unwrap();try{return await this.getTokenInfo(t)!==null}catch(c){console.error(c)}return!1}async getTokenInfo(r){var o;const t=await this.getFields(),i=new e.SuiAddress(t.registered_tokens.type).getPackageId(),a=t.registered_tokens.fields.id.id,l=new e.SuiAddress(r),n=e.isSameType(e.SUI_COIN,l.unwrap())?e.SUI_COIN:l.getCoinType();try{const g=await this.connection.getDynamicFieldObject({parentId:a,name:{type:`${i}::registered_tokens::Key<${n}>`,value:{dummy_field:!1}}});if(g.error)throw new Error("Failed to get token info: "+JSON.stringify(g.error));if(!g.data||!g.data.content)throw new Error("Failed to get token info: "+JSON.stringify(g));const{content:s}=g.data;return e.isMoveStructStruct(s)&&e.isMoveStructStruct(s.fields.value)?s.fields.value.fields:null}catch(g){if((g==null?void 0:g.code)===-32e3&&((o=g.message)!=null&&o.includes("RPC Error")))return console.error(g),null;throw g}}async getFields(){if(!this.fields){const r=await e.getObjectFields(this.connection,this.tokenBridgeRelayerObjectId);if(r===null)throw new Error("Failed to get fields from token bridge relayer state");this.fields=r}return this.fields}async getPackageId(){const r=await this.getFields();return new e.SuiAddress(r.registered_tokens.type).getPackageId()}async getPackageIds(){const[r,t]=await Promise.all([e.getPackageId(this.connection,this.coreBridgeObjectId),e.getPackageId(this.connection,this.tokenBridgeObjectId)]);return{coreBridge:r,tokenBridge:t}}createUnsignedTx(r,t,c=!1){return new e.SuiUnsignedTransaction(r,this.network,this.chain,t,c)}}e.registerProtocol("Sui","TokenBridge",S);e.registerProtocol("Sui","AutomaticTokenBridge",C);exports.SuiAutomaticTokenBridge=C;exports.SuiTokenBridge=S;exports.getTokenCoinType=_;exports.getTokenFromTokenRegistry=B;
|