@initia/interwovenkit-react 2.0.0-rc.3 → 2.0.0-rc.4

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/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var Zo=Object.defineProperty;var Xo=(e,s,n)=>s in e?Zo(e,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[s]=n;var mt=(e,s,n)=>Xo(e,typeof s!="symbol"?s+"":s,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $e=require("ethers"),O=require("@cosmjs/encoding"),$=require("bignumber.js"),K=require("ky"),gr=require("@mysten/bcs"),f=require("react"),yr=require("@privy-io/cross-app-connect/rainbow-kit"),je=require("wagmi"),k=require("@tanstack/react-query"),xt=require("cosmjs-types/cosmos/tx/v1beta1/tx"),Bt=require("@cosmjs/amino"),Se=require("@cosmjs/stargate"),xe=require("jotai"),yt=require("@initia/amino-converter"),t=require("react/jsx-runtime"),D=require("ramda"),jr=require("jotai/utils"),qe=require("@lukemorales/query-key-factory"),ea=require("cosmjs-types/cosmos/tx/signing/v1beta1/signing"),Js=require("@cosmjs/amino/build/signdoc"),Zs=require("@cosmjs/crypto"),Rn=require("@cosmjs/math"),hs=require("@cosmjs/proto-signing"),Mn=require("@cosmjs/tendermint-rpc"),Xs=require("cosmjs-types/cosmos/crypto/secp256k1/keys"),ta=require("cosmjs-types/cosmos/auth/v1beta1/auth"),sa=require("cosmjs-types/google/protobuf/any"),nt=require("@noble/hashes/utils"),na=require("@noble/hashes/sha2"),hn=require("@noble/hashes/sha3"),A=require("radix-ui"),re=require("usehooks-ts"),br=require("react-error-boundary"),P=require("clsx"),On=require("nanoid"),vr=require("react-dom"),Te=require("@react-spring/web"),N=require("@initia/icons-react"),_s=require("change-case"),ra=require("qrcode.react"),wr=require("xss"),bt=require("date-fns"),oa=require("react-intersection-observer"),G=require("zod"),oe=require("react-hook-form"),_n=require("@hookform/resolvers/zod"),aa=require("cosmjs-types/cosmos/bank/v1beta1/tx"),Cr=require("react-merge-refs"),ia=require("@initia/opinit.proto/opinit/ophost/v1/tx"),B={toBytes(e,s=20){if(!e)throw new Error("address is required");if(e.match(/^(0x)?[0-9a-fA-F]+$/)){const r=e.replace(/^0x/,"").padStart(s*2,"0");return O.fromHex(r)}const{data:n}=O.fromBech32(e);return n.length>=s?n:new Uint8Array([...Array(s-n.length).fill(0),...n])},toBech32(e,s="init"){return e?O.toBech32(s,B.toBytes(e)):""},toHex(e){return e?O.toHex(B.toBytes(e)):""},toPrefixedHex(e){if(!e)return"";const s=$e.getAddress(B.toHex(e)),n=B.toBytes(e),r=n[n.length-1];return n.subarray(0,n.length-1).every(a=>a===0)&&r<16?s.replace(/^0x0+/,"0x"):s},validate(e,s="init"){if($e.isAddress(e))return!0;try{return O.fromBech32(e).prefix===s}catch{return!1}},equals(e,s){return B.toBech32(e)===B.toBech32(s)}};function te(e="",[s,n]=[6,6]){const r=e.slice(0,s),o=e.slice(-1*n,e.length);return e.length>s+n?[r,o].join("..."):e}function at(e,s={}){const n=$(e);if(n.isZero()||n.isNaN())return"0";const{dp:r=2}=s;return n.toFormat(r,$.ROUND_DOWN)}function ne(e,s={}){if(!e)return"0";const n=$(e);if(n.isZero()||n.isNaN())return"0";const{decimals:r=0,dp:o=r>6?6:r}=s,a=n.div(new $(10).pow(r));return at(a,{dp:o})}function fs(e,s=6){return!e||$(e).isNaN()?"0":new $(e).times(new $(10).pow(s)).integerValue().toString(10)}function cs(e,s=6){if(!e||$(e).isNaN())return"0";const n=Math.min(s,6);return new $(e).integerValue().div(new $(10).pow(s)).toFixed(n,$.ROUND_DOWN)}function ca(e,s){if(!e||$(e).isNaN())return"0%";const n=new $(e).times(100);return typeof s=="number"?n.toFixed(s)+"%":(n.gte(100)?n.toFixed(0):n.toFixed(2))+"%"}const Un="usernames";function Nr({restUrl:e,moduleAddress:s}){const n=K.create({prefixUrl:e});async function r(l){const{moduleAddress:c,moduleName:d,functionName:u,typeArgs:h,args:m}=l,_=`initia/move/v1/accounts/${c}/modules/${d}/view_functions/${u}`,p={type_args:h,args:m},{data:x,message:w}=await n.post(_,{json:p}).json();if(w)throw new Error(w);return JSON.parse(x)}async function o(l){if(!B.validate(l))return null;const c=await r({moduleAddress:s,moduleName:Un,functionName:"get_name_from_address",typeArgs:[],args:[O.toBase64(B.toBytes(l,32))]});return c?c+".init":null}function a(l){return/^[A-Za-z0-9-]{3,64}\.init$/.test(l)}async function i(l){if(!a(l))return null;const c=await r({moduleAddress:s,moduleName:Un,functionName:"get_address_from_name",typeArgs:[],args:[gr.bcs.string().serialize(l.toLowerCase().replace(".init","")).toBase64()]});return c?B.toBech32(c):null}return{restUrl:e,getUsername:o,getAddress:i,validateUsername:a}}const Ir=f.createContext(null);function ie(){return f.useContext(Ir)}const en="interwoven-kit";function Sr(){const e=document.querySelector(en)||document.body.appendChild(document.createElement(en));return e.shadowRoot||e.attachShadow({mode:"open"})}function la(){const{theme:e,container:s}=ie();return f.useEffect(()=>{const n=document.querySelector(en);n==null||n.setAttribute("data-theme",e)},[e]),s??Sr()}function da(e){const s=Sr(),n=document.createElement("style");n.textContent=e,s.appendChild(n)}const fn=1.4,$r=1.03,kr={defaultChainId:"interwoven-1",registryUrl:"https://registry.initia.xyz",routerApiUrl:"https://router-api.initia.xyz",usernamesModuleAddress:"0x72ed9b26ecdcd6a21d304df50f19abfdbe31d2c02f60c84627844620a45940ef",theme:"dark"},ua={defaultChainId:"initiation-2",registryUrl:"https://registry.testnet.initia.xyz",routerApiUrl:"https://router-api.initiation-2.initia.xyz",usernamesModuleAddress:"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a",theme:"dark"},pn={id:"cmbq1ozyc006al70lx4uciz0q",name:"Google",iconUrl:"https://assets.initia.xyz/images/wallets/Google.webp",iconBackground:"#ffffff"},ma=yr.toPrivyWalletConnector(pn),ha=yr.toPrivyWallet(pn),Er=f.createContext(null);function ps(){return f.useContext(Er)}function Ar(){const{location:e}=ps();return e}function Tr(){const{path:e}=Ar();return e}function Ke(){const{state:e={}}=Ar();return e}function _a(){const{history:e}=ps();return e}function ue(){const{navigate:e}=ps();return e}function fa(){const{reset:e}=ps();return e}const Dr=({children:e,initialEntry:s})=>{const[n,r]=f.useState([s??{path:"/"}]),o=n[n.length-1],a=f.useCallback((l,c)=>{r(d=>{if(typeof l=="string")return[...d,{path:l,state:c}];const u=d.length+l;if(u<1)return d;const h=D.take(u,d);return c!==void 0?D.adjust(u-1,m=>({...m,state:c}),h):h})},[]),i=f.useCallback((l,c)=>{r([{path:l,state:c}])},[]);return t.jsx(Er.Provider,{value:{location:o,history:n,navigate:a,reset:i},children:e})},Ut=({to:e,state:s,children:n,onClick:r,...o})=>{const a=ue(),i=l=>{l.preventDefault(),r==null||r(l),a(e,s)};return t.jsx("button",{type:"button",...o,onClick:i,children:n})},qr=f.createContext(null),zt=()=>f.useContext(qr),H={SECOND:1e3,MINUTE:1e3*60,INFINITY:1e3*60*60};async function He(e){if(e instanceof K.HTTPError){const{response:s}=e,n=s.headers.get("content-type")??"";if(D.includes("application/json",n))try{const r=await s.json();if(r.message)return r.message}catch{return e.message}try{return await s.text()}catch{return e.message}}if(e instanceof Error){if(D.path(["code"],e)===4001||D.path(["code"],e)==="ACTION_REJECTED")return"User rejected";const s=D.path(["error","message"],e),n=D.path(["cause","message"],e),r=D.path(["shortMessage"],e);return s||n||r||e.message}return String(e)}class pa extends Error{constructor(n,r,o,a,i){super(n);mt(this,"originalError");mt(this,"moduleAddress");mt(this,"moduleName");mt(this,"errorCode");this.name="MoveError",this.originalError=r,this.moduleAddress=o,this.moduleName=a,this.errorCode=i}}const xa=/VM aborted: location=([0-9A-Fa-f]+)::(\w+), code=(\d+)/,Ts=new Map;function ga(e){const s=e.match(xa);if(!s)return null;const[,n,r,o]=s;return{moduleAddress:`0x${n.replace(/^0+/,"")||"0"}`,moduleName:r,errorCode:o.replace(/^0+/,"")||"0"}}async function ya(e,s,n){const r=`${e}:${s}`;if(Ts.has(r))return Ts.get(r);try{const o=s==="0x1"?"0x1.json":`${e}/${s}.json`,a=`${n}/errors/${o}`,{errors:i={}}=await K.get(a).json();return Ts.set(r,i),i}catch{return null}}function ja(e,s,n,r,o){return new pa(e,s,n,r,o)}async function zn(e,s,n){var c,d,u,h;if(!((c=s.metadata)!=null&&c.is_l1)&&((u=(d=s.metadata)==null?void 0:d.minitia)==null?void 0:u.type)!=="minimove")return e;const r=ga(e.message);if(!r)return e;const o=await ya(s.chain_name,r.moduleAddress,n),i=`Failed with code ${`0x${parseInt(r.errorCode,10).toString(16)}`} in module ${r.moduleName} at ${r.moduleAddress}`,l=((h=o==null?void 0:o[r.moduleName])==null?void 0:h[r.errorCode])||i;return ja(l,e,r.moduleAddress,r.moduleName,r.errorCode)}const de="interwovenkit",M={ADDED_CHAIN_IDS:`${de}:chain-ids:added`,OPENED_CHAIN_IDS:`${de}:chain-ids:opened`,ACTIVITY_CHAIN_ID:`${de}:activity:chain-id`,PUBLIC_KEY:`${de}:public-key`,BRIDGE_SRC_CHAIN_ID:`${de}:bridge:src-chain-id`,BRIDGE_SRC_DENOM:`${de}:bridge:src-denom`,BRIDGE_DST_CHAIN_ID:`${de}:bridge:dst-chain-id`,BRIDGE_DST_DENOM:`${de}:bridge:dst-denom`,BRIDGE_QUANTITY:`${de}:bridge:quantity`,BRIDGE_SLIPPAGE_PERCENT:`${de}:bridge:slippage-percent`,BRIDGE_ROUTE_TYPE:`${de}:bridge:route-type`,BRIDGE_HISTORY:`${de}:bridge:history`,OP_REMINDER:`${de}:op:reminder`},xn=qe.createQueryKeys("interwovenkit:chain",{list:e=>[e],prices:e=>[e],gasPrices:e=>[e]}),ba=jr.atomWithStorage(M.ADDED_CHAIN_IDS,[]);function Wt(e){const s=D.path([0,"address"],e);if(!s)throw new Error("URL not found");return s}function va(e){var C;const{chain_id:s,chain_name:n,pretty_name:r,logo_URIs:o,apis:a,metadata:i}=e,l=r||n,c=(o==null?void 0:o.png)??"",{rpc:d,rest:u,api:h,["json-rpc"]:m}=a,_=Wt(d),p=Wt(u),x=i!=null&&i.is_l1?Wt(h):p,w=((C=i==null?void 0:i.minitia)==null?void 0:C.type)==="minievm"?Wt(m):void 0;return{...e,chainId:s,name:l,logoUrl:c,rpcUrl:_,restUrl:p,indexerUrl:x,jsonRpcUrl:w}}function Le(){const{defaultChainId:e,registryUrl:s,customChain:n}=ie(),{data:r}=k.useSuspenseQuery({queryKey:xn.list(s).queryKey,queryFn:()=>K.create({prefixUrl:s}).get("chains.json").json(),select:o=>(n?[n,...o.filter(i=>i.chain_id!==n.chain_id)]:o).map(va).toSorted(D.descend(i=>i.chainId===e)),staleTime:H.MINUTE});return r}function We(){const e=Le();return s=>{const n=e.find(r=>r.chain_id===s);if(!n)throw new Error(`Chain not found: ${s}`);return n}}function be(e){return We()(e)}function xs(){const{defaultChainId:e}=ie();return be(e)}function ve(){const s=Le().find(n=>{var r;return(r=n.metadata)==null?void 0:r.is_l1});if(!s)throw new Error("Layer 1 not found");return s}function Pr(e){return k.useQuery({queryKey:xn.prices(e).queryKey,queryFn:()=>K.create({prefixUrl:"https://celatone-api-prod.alleslabs.dev"}).get(`v1/initia/${e}/assets`,{searchParams:{with_prices:!0}}).json(),staleTime:H.SECOND})}function vt(){const e=Le(),{defaultChainId:s}=ie(),[n,r]=xe.useAtom(ba),o=d=>D.uniq([s,...d]),a=o(n).map(d=>e.find(u=>u.chainId===d)).filter(Boolean),i=e.filter(d=>!o(n).includes(d.chainId));return{chains:e,addedChains:a,notAddedChains:i,addChain:d=>{r(u=>o([...u,d]))},removeChain:d=>{r(u=>o(u.filter(h=>h!==d)))}}}function wa(e){if((e==null?void 0:e.typeUrl)==="/initia.crypto.v1beta1.ethsecp256k1.PubKey"){const{key:s}=Xs.PubKey.decode(e.value);return Bt.encodeSecp256k1Pubkey(s)}return hs.decodeOptionalPubkey(e)}function Ca({typeUrl:e,value:s}){if(e==="/cosmos.auth.v1beta1.BaseAccount"){const{address:n,pubKey:r,accountNumber:o,sequence:a}=ta.BaseAccount.decode(s),i=wa(r);return{address:n,pubkey:i,accountNumber:Number(o),sequence:Number(a)}}return Se.accountFromAny({typeUrl:e,value:s})}function Na(e){return e.type==="initia/PubKeyEthSecp256k1"}const Ia={...Bt.pubkeyType,ethsecp256k1:"initia/PubKeyEthSecp256k1"};function Sa(e){if(Na(e)){const s=Xs.PubKey.fromPartial({key:O.fromBase64(e.value)});return sa.Any.fromPartial({typeUrl:"/initia.crypto.v1beta1.ethsecp256k1.PubKey",value:Uint8Array.from(Xs.PubKey.encode(s).finish())})}return hs.encodePubkey(e)}function Fr(e){if(e.length!==33||e[0]!==2&&e[0]!==3)throw new Error("Public key must be compressed secp256k1, i.e. 33 bytes starting with 0x02 or 0x03");return{type:Ia.ethsecp256k1,value:O.toBase64(e)}}function $a(e,s){if(s.length!==64)throw new Error("Signature must be 64 bytes long. Cosmos SDK uses a 2x32 byte fixed length encoding for the secp256k1 signature integers r and s.");return{pub_key:Fr(e),signature:O.toBase64(s)}}const gn=()=>{const e=ie();return new hs.Registry([...yt.protoRegistry,...e.protoTypes??[]])},gs=()=>{const e=ie();return new Se.AminoTypes({...yt.aminoConverters,...e.aminoConverters})};class ka{constructor(s,n){mt(this,"cachedPublicKey",null);this.address=s,this.signMessage=n}async getCachedPublicKey(){if(this.cachedPublicKey)return this.cachedPublicKey;const s=`${M.PUBLIC_KEY}:${this.address}`,n=localStorage.getItem(s);if(n)return this.cachedPublicKey=O.fromHex(n),O.fromHex(n);const r=await this.getPublicKey();return this.cachedPublicKey=r,localStorage.setItem(s,O.toHex(r)),r}async getPublicKey(){const s="Sign this message to identify your Initia account.",n=await this.signMessage(s),r=$e.ethers.hashMessage(s),o=$e.ethers.SigningKey.recoverPublicKey(r,n);return Zs.Secp256k1.compressPubkey(O.fromHex(o.replace("0x","")))}async getAccounts(){return[{address:this.address,algo:"ethsecp256k1",pubkey:await this.getCachedPublicKey()}]}async signAmino(s,n){if(this.address!==s)throw new Error("Signer address does not match the provided address");const r=Js.escapeCharacters(Js.sortedJsonStringify(n)),o=await this.signMessage(r),a=O.fromHex(o.replace("0x","")).subarray(0,-1),l=Zs.Secp256k1Signature.fromFixedLength(a).toFixedLength(),c=$a(await this.getCachedPublicKey(),l);return{signed:n,signature:c}}}function Br(){const e=gn(),s=gs(),n=wt(),r=Mr();return async function(o,a,i,l,c){if(!n)throw new Error("Signer not initialized");const d=await r(o),{accountNumber:u,sequence:h}=await d.getSequence(a),[m]=await n.getAccounts(),_=Sa(Fr(m.pubkey)),p=ea.SignMode.SIGN_MODE_EIP_191,x=i.map(y=>s.toAmino(y)),w=Js.makeSignDoc(x,l,o,c,u,h),{signature:C,signed:j}=await n.signAmino(a,w),b={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{messages:j.msgs.map(y=>s.fromAmino(y)),memo:c}},I=e.encode(b),S=Rn.Int53.fromString(j.fee.gas).toNumber(),g=Rn.Int53.fromString(j.sequence).toNumber(),v=hs.makeAuthInfoBytes([{pubkey:_,sequence:g}],j.fee.amount,S,j.fee.granter,j.fee.payer,p);return xt.TxRaw.fromPartial({bodyBytes:I,authInfoBytes:v,signatures:[O.fromBase64(C.signature)]})}}function wt(){const e=J(),{signMessageAsync:s}=je.useSignMessage();return f.useMemo(()=>new ka(e,n=>s({message:n})),[e,s])}const Ds=new Map,qs=new Map;function Rr(){const e=We();return async s=>{if(Ds.has(s))return Ds.get(s);const{rpcUrl:n}=e(s),r=await Mn.Comet38Client.create(new Mn.HttpClient(n));return Ds.set(s,r),r}}function Mr(){const e=gn(),s=gs(),n=wt(),r=J(),o=Rr();return async a=>{const i=`${r}:${a}`;if(qs.has(i))return qs.get(i);if(!n)throw new Error("Signer not initialized");const l=await o(a),c=await Se.SigningStargateClient.createWithSigner(l,n,{registry:e,aminoTypes:s,accountParser:Ca,broadcastPollIntervalMs:1e3});return qs.set(i,c),c}}function Or(){const{connector:e}=je.useAccount();return async()=>{if(!e)throw new Error("Wallet not connected");return new $e.BrowserProvider(await e.getProvider())}}const Ea=xe.atom(!1);function Ct(){const e=fa(),[s,n]=xe.useAtom(Ea);return{isDrawerOpen:s,openDrawer:(a,i)=>{a&&e(a,i),n(!0)},closeDrawer:()=>{n(!1)}}}const Ur="approve",ys=xe.atom(),zr=xe.atom(null);function Kr(){const e=xe.useAtomValue(ys);if(!e)throw new Error("Tx request not found");return e}function Hr(){const e=ue(),s=J(),{defaultChainId:n,registryUrl:r}=ie(),o=We(),{openDrawer:a,closeDrawer:i}=Ct(),{openModal:l,closeModal:c}=zt(),d=xe.useSetAtom(ys),u=xe.useSetAtom(zr),h=Rr(),m=Mr(),_=wt(),p=async({messages:b,memo:I,chainId:S=n})=>{try{return await(await m(S)).simulate(s,b,I)}catch(g){throw new Error(await He(g))}},x=async({messages:b,memo:I,chainId:S=n})=>{const g=await h(S),v=Se.QueryClient.withExtensions(g,Se.setupTxExtension),y=b.map(L=>yt.registry.encodeAsAny(L)),[F]=await _.getAccounts(),U=Bt.encodeSecp256k1Pubkey(F.pubkey),R=await m(S),{sequence:q}=await R.getSequence(s);return v.tx.simulate(y,I,U,q)},w=async({txRequest:b,broadcaster:I})=>{const g={...{memo:"",chainId:n,gas:b.gas||await p(b),gasAdjustment:fn,gasPrices:null,spendCoins:[],internal:!1},...b};return new Promise((v,y)=>{d({txRequest:g,resolve:async U=>{try{const R=await m(g.chainId),q=await I(R,xt.TxRaw.encode(U).finish());v(q),typeof g.internal=="string"&&e(g.internal)}catch(R){y(await zn(R,o(g.chainId),r))}finally{F()}},reject:U=>{y(U),F()}}),g.internal?l({path:"/tx"}):a("/tx");const F=()=>{if(!g.internal){e("/blank"),i();return}c()}})},C=async b=>{const I=b.chainId??n;try{const S=await w({txRequest:b,broadcaster:async(g,v)=>await g.broadcastTxSync(v)});return b.internal&&typeof b.internal!="number"&&(u({txHash:S,chainId:I,status:"loading"}),T({txHash:S,chainId:b.chainId}).then(g=>{u({status:g.code===0?"success":"error",chainId:I,txHash:S})}).catch(()=>{u({status:"error",chainId:I,txHash:S})})),S}catch(S){throw b.internal&&typeof b.internal!="number"&&u({status:"error",chainId:I,error:S}),S}},j=b=>w({txRequest:b,broadcaster:async(I,S)=>{const g=await I.broadcastTx(S);if(g.code!==0)throw new Error(g.rawLog);return g}}),T=async({chainId:b=n,...I})=>{try{const S=await m(b);return await Lr({...I,client:S})}catch(S){throw await zn(S,o(b),r)}};return{estimateGas:p,simulateTx:x,requestTxSync:C,requestTxBlock:j,waitForTxConfirmation:T}}async function Lr({txHash:e,client:s,timeoutSeconds:n=30,intervalSeconds:r=1}){const o=Date.now(),a=n*1e3;for(;;){const i=await s.getTx(e);if(i){if(i.code!==0)throw new Error(i.rawLog);return i}if(Date.now()-o>=a)throw new Error(`Transaction was submitted, but not found on the chain within ${n} seconds.`);await new Promise(l=>setTimeout(l,r*1e3))}}const Aa=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60">
1
+ "use strict";var Go=Object.defineProperty;var Yo=(e,n,s)=>n in e?Go(e,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[n]=s;var ut=(e,n,s)=>Yo(e,typeof n!="symbol"?n+"":n,s);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Se=require("ethers"),z=require("@cosmjs/encoding"),H=require("ky"),hr=require("@mysten/bcs"),_r=require("@privy-io/cross-app-connect/rainbow-kit"),ye=require("wagmi"),$=require("@tanstack/react-query"),pt=require("cosmjs-types/cosmos/tx/v1beta1/tx"),Bt=require("@cosmjs/amino"),Ie=require("@cosmjs/stargate"),_e=require("jotai"),xt=require("@initia/amino-converter"),t=require("react/jsx-runtime"),A=require("ramda"),f=require("react"),fr=require("jotai/utils"),qe=require("@lukemorales/query-key-factory"),Jo=require("cosmjs-types/cosmos/tx/signing/v1beta1/signing"),Yn=require("@cosmjs/amino/build/signdoc"),Jn=require("@cosmjs/crypto"),Ps=require("@cosmjs/math"),hn=require("@cosmjs/proto-signing"),Bs=require("@cosmjs/tendermint-rpc"),Zn=require("cosmjs-types/cosmos/crypto/secp256k1/keys"),Zo=require("cosmjs-types/cosmos/auth/v1beta1/auth"),Xo=require("cosmjs-types/google/protobuf/any"),F=require("bignumber.js"),nt=require("@noble/hashes/utils"),ea=require("@noble/hashes/sha2"),ms=require("@noble/hashes/sha3"),T=require("radix-ui"),ue=require("usehooks-ts"),pr=require("react-error-boundary"),R=require("clsx"),Fs=require("nanoid"),gr=require("react-dom"),je=require("@react-spring/web"),b=require("@initia/icons-react"),Ot=require("change-case"),D=require("@initia/utils"),ta=require("qr-code-styling"),xr=require("xss"),jt=require("date-fns"),J=require("zod"),oe=require("react-hook-form"),hs=require("@hookform/resolvers/zod"),na=require("cosmjs-types/cosmos/bank/v1beta1/tx"),yr=require("react-merge-refs"),sa=require("react-intersection-observer"),ra=require("@initia/opinit.proto/opinit/ophost/v1/tx"),M={toBytes(e,n=20){if(!e)throw new Error("address is required");if(e.match(/^(0x)?[0-9a-fA-F]+$/)){const r=e.replace(/^0x/,"").padStart(n*2,"0");return z.fromHex(r)}const{data:s}=z.fromBech32(e);return s.length>=n?s:new Uint8Array([...Array(n-s.length).fill(0),...s])},toBech32(e,n="init"){return e?z.toBech32(n,M.toBytes(e)):""},toHex(e){return e?z.toHex(M.toBytes(e)):""},toPrefixedHex(e){if(!e)return"";const n=Se.getAddress(M.toHex(e)),s=M.toBytes(e),r=s[s.length-1];return s.subarray(0,s.length-1).every(o=>o===0)&&r<16?n.replace(/^0x0+/,"0x"):n},validate(e,n="init"){if(Se.isAddress(e))return!0;try{return z.fromBech32(e).prefix===n}catch{return!1}},equals(e,n){return M.toBech32(e)===M.toBech32(n)}},Rs="usernames";function jr({restUrl:e,moduleAddress:n}){const s=H.create({prefixUrl:e});async function r(l){const{moduleAddress:c,moduleName:d,functionName:u,typeArgs:m,args:h}=l,_=`initia/move/v1/accounts/${c}/modules/${d}/view_functions/${u}`,p={type_args:m,args:h},{data:g,message:y}=await s.post(_,{json:p}).json();if(y)throw new Error(y);return JSON.parse(g)}async function a(l){if(!M.validate(l))return null;const c=await r({moduleAddress:n,moduleName:Rs,functionName:"get_name_from_address",typeArgs:[],args:[z.toBase64(M.toBytes(l,32))]});return c?c+".init":null}function o(l){return/^[A-Za-z0-9-]{3,64}\.init$/.test(l)}async function i(l){if(!o(l))return null;const c=await r({moduleAddress:n,moduleName:Rs,functionName:"get_address_from_name",typeArgs:[],args:[hr.bcs.string().serialize(l.toLowerCase().replace(".init","")).toBase64()]});return c?M.toBech32(c):null}return{restUrl:e,getUsername:a,getAddress:i,validateUsername:o}}const _s=1.4,vr=1.03,wr={defaultChainId:"interwoven-1",registryUrl:"https://registry.initia.xyz",routerApiUrl:"https://router-api.initia.xyz",usernamesModuleAddress:"0x72ed9b26ecdcd6a21d304df50f19abfdbe31d2c02f60c84627844620a45940ef",theme:"dark"},oa={defaultChainId:"initiation-2",registryUrl:"https://registry.testnet.initia.xyz",routerApiUrl:"https://router-api.initiation-2.initia.xyz",usernamesModuleAddress:"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a",theme:"dark"},fs={id:"cmbq1ozyc006al70lx4uciz0q",name:"Google",iconUrl:"https://assets.initia.xyz/images/wallets/Google.webp",iconBackground:"#ffffff"},aa=_r.toPrivyWalletConnector(fs),ia=_r.toPrivyWallet(fs),br=f.createContext(null);function _n(){return f.useContext(br)}function Cr(){const{location:e}=_n();return e}function Nr(){const{path:e}=Cr();return e}function Ue(){const{state:e={}}=Cr();return e}function ca(){const{history:e}=_n();return e}function ie(){const{navigate:e}=_n();return e}function la(){const{reset:e}=_n();return e}const Ir=({children:e,initialEntry:n})=>{const[s,r]=f.useState([n??{path:"/"}]),a=s[s.length-1],o=f.useCallback((l,c)=>{r(d=>{if(typeof l=="string")return[...d,{path:l,state:c}];const u=d.length+l;if(u<1)return d;const m=A.take(u,d);return c!==void 0?A.adjust(u-1,h=>({...h,state:c}),m):m})},[]),i=f.useCallback((l,c)=>{r([{path:l,state:c}])},[]);return t.jsx(br.Provider,{value:{location:a,history:s,navigate:o,reset:i},children:e})},Ut=({to:e,state:n,children:s,onClick:r,...a})=>{const o=ie(),i=l=>{l.preventDefault(),r==null||r(l),o(e,n)};return t.jsx("button",{type:"button",...a,onClick:i,children:s})},Sr=f.createContext(null),zt=()=>f.useContext(Sr),$r=f.createContext(null);function ne(){return f.useContext($r)}const L={SECOND:1e3,MINUTE:1e3*60,INFINITY:1e3*60*60};async function ze(e){if(e instanceof H.HTTPError){const{response:n}=e,s=n.headers.get("content-type")??"";if(A.includes("application/json",s))try{const r=await n.json();if(r.message)return r.message}catch{return e.message}try{return await n.text()}catch{return e.message}}if(e instanceof Error){if(A.path(["code"],e)===4001||A.path(["code"],e)==="ACTION_REJECTED")return"User rejected";const n=A.path(["error","message"],e),s=A.path(["cause","message"],e),r=A.path(["shortMessage"],e);return n||s||r||e.message}return String(e)}class da extends Error{constructor(s,r,a,o,i){super(s);ut(this,"originalError");ut(this,"moduleAddress");ut(this,"moduleName");ut(this,"errorCode");this.name="MoveError",this.originalError=r,this.moduleAddress=a,this.moduleName=o,this.errorCode=i}}const ua=/VM aborted: location=([0-9A-Fa-f]+)::(\w+), code=(\d+)/,An=new Map;function ma(e){const n=e.match(ua);if(!n)return null;const[,s,r,a]=n;return{moduleAddress:`0x${s.replace(/^0+/,"")||"0"}`,moduleName:r,errorCode:a.replace(/^0+/,"")||"0"}}async function ha(e,n,s){const r=`${e}:${n}`;if(An.has(r))return An.get(r);try{const a=n==="0x1"?"0x1.json":`${e}/${n}.json`,o=`${s}/errors/${a}`,{errors:i={}}=await H.get(o).json();return An.set(r,i),i}catch{return null}}function _a(e,n,s,r,a){return new da(e,n,s,r,a)}async function Xn(e,n,s){var c,d,u,m;if(!((c=n.metadata)!=null&&c.is_l1)&&((u=(d=n.metadata)==null?void 0:d.minitia)==null?void 0:u.type)!=="minimove")return e;const r=ma(e.message);if(!r)return e;const a=await ha(n.chain_name,r.moduleAddress,s),i=`Failed with code ${`0x${parseInt(r.errorCode,10).toString(16)}`} in module ${r.moduleName} at ${r.moduleAddress}`,l=((m=a==null?void 0:a[r.moduleName])==null?void 0:m[r.errorCode])||i;return _a(l,e,r.moduleAddress,r.moduleName,r.errorCode)}const de="interwovenkit",U={ADDED_CHAIN_IDS:`${de}:chain-ids:added`,OPENED_CHAIN_IDS:`${de}:chain-ids:opened`,ACTIVITY_CHAIN_ID:`${de}:activity:chain-id`,PUBLIC_KEY:`${de}:public-key`,BRIDGE_SRC_CHAIN_ID:`${de}:bridge:src-chain-id`,BRIDGE_SRC_DENOM:`${de}:bridge:src-denom`,BRIDGE_DST_CHAIN_ID:`${de}:bridge:dst-chain-id`,BRIDGE_DST_DENOM:`${de}:bridge:dst-denom`,BRIDGE_QUANTITY:`${de}:bridge:quantity`,BRIDGE_SLIPPAGE_PERCENT:`${de}:bridge:slippage-percent`,BRIDGE_ROUTE_TYPE:`${de}:bridge:route-type`,BRIDGE_HISTORY:`${de}:bridge:history`,OP_REMINDER:`${de}:op:reminder`},ps=qe.createQueryKeys("interwovenkit:chain",{list:e=>[e],prices:e=>[e],gasPrices:e=>[e]}),fa=fr.atomWithStorage(U.ADDED_CHAIN_IDS,[]);function Qt(e){const n=A.path([0,"address"],e);if(!n)throw new Error("URL not found");return n}function pa(e){var C;const{chain_id:n,chain_name:s,pretty_name:r,logo_URIs:a,apis:o,metadata:i}=e,l=r||s,c=(a==null?void 0:a.png)??"",{rpc:d,rest:u,api:m,["json-rpc"]:h}=o,_=Qt(d),p=Qt(u),g=i!=null&&i.is_l1?Qt(m):p,y=((C=i==null?void 0:i.minitia)==null?void 0:C.type)==="minievm"?Qt(h):void 0;return{...e,chainId:n,name:l,logoUrl:c,rpcUrl:_,restUrl:p,indexerUrl:g,jsonRpcUrl:y}}function Ke(){const{defaultChainId:e,registryUrl:n,customChain:s}=ne(),{data:r}=$.useSuspenseQuery({queryKey:ps.list(n).queryKey,queryFn:()=>H.create({prefixUrl:n}).get("chains.json").json(),select:a=>(s?[s,...a.filter(i=>i.chain_id!==s.chain_id)]:a).map(pa).toSorted(A.descend(i=>i.chainId===e)),staleTime:L.MINUTE});return r}function De(){const e=Ke();return n=>{const s=e.find(r=>r.chain_id===n);if(!s)throw new Error(`Chain not found: ${n}`);return s}}function ve(e){return De()(e)}function Kt(){const{defaultChainId:e}=ne();return ve(e)}function we(){const n=Ke().find(s=>{var r;return(r=s.metadata)==null?void 0:r.is_l1});if(!n)throw new Error("Layer 1 not found");return n}function fn(e){return $.useQuery({queryKey:ps.prices(e).queryKey,queryFn:()=>H.create({prefixUrl:"https://celatone-api-prod.alleslabs.dev"}).get(`v1/initia/${e}/assets`,{searchParams:{with_prices:!0}}).json(),staleTime:L.SECOND})}function vt(){const e=Ke(),{defaultChainId:n}=ne(),[s,r]=_e.useAtom(fa),a=d=>A.uniq([n,...d]),o=a(s).map(d=>e.find(u=>u.chainId===d)).filter(Boolean),i=e.filter(d=>!a(s).includes(d.chainId));return{chains:e,addedChains:o,notAddedChains:i,addChain:d=>{r(u=>a([...u,d]))},removeChain:d=>{r(u=>a(u.filter(m=>m!==d)))}}}function ga(e){if((e==null?void 0:e.typeUrl)==="/initia.crypto.v1beta1.ethsecp256k1.PubKey"){const{key:n}=Zn.PubKey.decode(e.value);return Bt.encodeSecp256k1Pubkey(n)}return hn.decodeOptionalPubkey(e)}function xa({typeUrl:e,value:n}){if(e==="/cosmos.auth.v1beta1.BaseAccount"){const{address:s,pubKey:r,accountNumber:a,sequence:o}=Zo.BaseAccount.decode(n),i=ga(r);return{address:s,pubkey:i,accountNumber:Number(a),sequence:Number(o)}}return Ie.accountFromAny({typeUrl:e,value:n})}function ya(e){return e.type==="initia/PubKeyEthSecp256k1"}const ja={...Bt.pubkeyType,ethsecp256k1:"initia/PubKeyEthSecp256k1"};function va(e){if(ya(e)){const n=Zn.PubKey.fromPartial({key:z.fromBase64(e.value)});return Xo.Any.fromPartial({typeUrl:"/initia.crypto.v1beta1.ethsecp256k1.PubKey",value:Uint8Array.from(Zn.PubKey.encode(n).finish())})}return hn.encodePubkey(e)}function kr(e){if(e.length!==33||e[0]!==2&&e[0]!==3)throw new Error("Public key must be compressed secp256k1, i.e. 33 bytes starting with 0x02 or 0x03");return{type:ja.ethsecp256k1,value:z.toBase64(e)}}function wa(e,n){if(n.length!==64)throw new Error("Signature must be 64 bytes long. Cosmos SDK uses a 2x32 byte fixed length encoding for the secp256k1 signature integers r and s.");return{pub_key:kr(e),signature:z.toBase64(n)}}const gs=()=>{const e=ne();return new hn.Registry([...xt.protoRegistry,...e.protoTypes??[]])},pn=()=>{const e=ne();return new Ie.AminoTypes({...xt.aminoConverters,...e.aminoConverters})};class ba{constructor(n,s){ut(this,"cachedPublicKey",null);this.address=n,this.signMessage=s}async getCachedPublicKey(){if(this.cachedPublicKey)return this.cachedPublicKey;const n=`${U.PUBLIC_KEY}:${this.address}`,s=localStorage.getItem(n);if(s)return this.cachedPublicKey=z.fromHex(s),z.fromHex(s);const r=await this.getPublicKey();return this.cachedPublicKey=r,localStorage.setItem(n,z.toHex(r)),r}async getPublicKey(){const n="Sign this message to identify your Initia account.",s=await this.signMessage(n),r=Se.ethers.hashMessage(n),a=Se.ethers.SigningKey.recoverPublicKey(r,s);return Jn.Secp256k1.compressPubkey(z.fromHex(a.replace("0x","")))}async getAccounts(){return[{address:this.address,algo:"ethsecp256k1",pubkey:await this.getCachedPublicKey()}]}async signAmino(n,s){if(this.address!==n)throw new Error("Signer address does not match the provided address");const r=Yn.escapeCharacters(Yn.sortedJsonStringify(s)),a=await this.signMessage(r),o=z.fromHex(a.replace("0x","")).subarray(0,-1),l=Jn.Secp256k1Signature.fromFixedLength(o).toFixedLength(),c=wa(await this.getCachedPublicKey(),l);return{signed:s,signature:c}}}function Er(){const e=gs(),n=pn(),s=wt(),r=Tr();return async function(a,o,i,l,c){if(!s)throw new Error("Signer not initialized");const d=await r(a),{accountNumber:u,sequence:m}=await d.getSequence(o),[h]=await s.getAccounts(),_=va(kr(h.pubkey)),p=Jo.SignMode.SIGN_MODE_EIP_191,g=i.map(x=>n.toAmino(x)),y=Yn.makeSignDoc(g,l,a,c,u,m),{signature:C,signed:N}=await s.signAmino(o,y),j={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{messages:N.msgs.map(x=>n.fromAmino(x)),memo:c}},S=e.encode(j),w=Ps.Int53.fromString(N.fee.gas).toNumber(),v=Ps.Int53.fromString(N.sequence).toNumber(),E=hn.makeAuthInfoBytes([{pubkey:_,sequence:v}],N.fee.amount,w,N.fee.granter,N.fee.payer,p);return pt.TxRaw.fromPartial({bodyBytes:S,authInfoBytes:E,signatures:[z.fromBase64(C.signature)]})}}function wt(){const e=Z(),{signMessageAsync:n}=ye.useSignMessage();return f.useMemo(()=>new ba(e,s=>n({message:s})),[e,n])}const Tn=new Map,qn=new Map;function Ar(){const e=De();return async n=>{if(Tn.has(n))return Tn.get(n);const{rpcUrl:s}=e(n),r=await Bs.Comet38Client.create(new Bs.HttpClient(s));return Tn.set(n,r),r}}function Tr(){const e=gs(),n=pn(),s=wt(),r=Z(),a=Ar();return async o=>{const i=`${r}:${o}`;if(qn.has(i))return qn.get(i);if(!s)throw new Error("Signer not initialized");const l=await a(o),c=await Ie.SigningStargateClient.createWithSigner(l,s,{registry:e,aminoTypes:n,accountParser:xa,broadcastPollIntervalMs:1e3});return qn.set(i,c),c}}function qr(){const{connector:e}=ye.useAccount();return async()=>{if(!e)throw new Error("Wallet not connected");return new Se.BrowserProvider(await e.getProvider())}}const Ca=_e.atom(!1);function bt(){const e=la(),[n,s]=_e.useAtom(Ca);return{isDrawerOpen:n,openDrawer:(o,i)=>{o&&e(o,i),s(!0)},closeDrawer:()=>{s(!1)}}}const Dr="approve",gn=_e.atom(),Pr=_e.atom(null);function Br(){const e=_e.useAtomValue(gn);if(!e)throw new Error("Tx request not found");return e}function Fr(){const e=ie(),n=Z(),{defaultChainId:s,registryUrl:r}=ne(),a=De(),{openDrawer:o,closeDrawer:i}=bt(),{openModal:l,closeModal:c}=zt(),d=_e.useSetAtom(gn),u=_e.useSetAtom(Pr),m=Ar(),h=Tr(),_=wt(),p=async({messages:j,memo:S,chainId:w=s})=>{try{return await(await h(w)).simulate(n,j,S)}catch(v){throw new Error(await ze(v))}},g=async({messages:j,memo:S,chainId:w=s})=>{const v=await m(w),E=Ie.QueryClient.withExtensions(v,Ie.setupTxExtension),x=j.map(W=>xt.registry.encodeAsAny(W)),[k]=await _.getAccounts(),O=Bt.encodeSecp256k1Pubkey(k.pubkey),B=await h(w),{sequence:P}=await B.getSequence(n);return E.tx.simulate(x,S,O,P)},y=async({txRequest:j,broadcaster:S})=>{const v={...{memo:"",chainId:s,gas:j.gas||await p(j),gasAdjustment:_s,gasPrices:null,spendCoins:[],internal:!1},...j};return new Promise((E,x)=>{d({txRequest:v,resolve:async O=>{try{const B=await h(v.chainId),P=await S(B,pt.TxRaw.encode(O).finish());E(P),typeof v.internal=="string"&&e(v.internal)}catch(B){x(await Xn(B,a(v.chainId),r))}finally{k()}},reject:O=>{x(O),k()}}),v.internal?l({path:"/tx"}):o("/tx");const k=()=>{if(!v.internal){e("/blank"),i();return}c()}})},C=async j=>{const S=j.chainId??s;try{const w=await y({txRequest:j,broadcaster:async(v,E)=>await v.broadcastTxSync(E)});return j.internal&&typeof j.internal!="number"&&(u({txHash:w,chainId:S,status:"loading"}),q({txHash:w,chainId:j.chainId}).then(v=>{u({status:v.code===0?"success":"error",chainId:S,txHash:w})}).catch(()=>{u({status:"error",chainId:S,txHash:w})})),w}catch(w){throw j.internal&&typeof j.internal!="number"&&u({status:"error",chainId:S,error:w}),w}},N=j=>y({txRequest:j,broadcaster:async(S,w)=>{const v=await S.broadcastTx(w);if(v.code!==0)throw new Error(v.rawLog);return v}}),q=async({chainId:j=s,...S})=>{try{const w=await h(j);return await Rr({...S,client:w})}catch(w){throw await Xn(w,a(j),r)}};return{estimateGas:p,simulateTx:g,requestTxSync:C,requestTxBlock:N,waitForTxConfirmation:q}}async function Rr({txHash:e,client:n,timeoutSeconds:s=30,intervalSeconds:r=1}){const a=Date.now(),o=s*1e3;for(;;){const i=await n.getTx(e);if(i){if(i.code!==0)throw new Error(i.rawLog);return i}if(Date.now()-a>=o)throw new Error(`Transaction was submitted, but not found on the chain within ${s} seconds.`);await new Promise(l=>setTimeout(l,r*1e3))}}const Na=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60">
2
2
  <circle fill="#2F3337" cx="30" cy="30" r="30"/>
3
3
  <path fill="#757C82" d="M26.328 34.288v-.48c0-2.048 1.024-2.816 4.128-4.16 3.104-1.28 3.712-1.952 3.712-3.488v-.128c0-1.664-1.344-2.464-4.224-2.464-2.816 0-4.416.736-4.768 3.296h-5.248c.416-5.536 4.416-7.584 9.888-7.584h.352c6.208 0 9.28 2.496 9.28 6.24v.352c0 3.392-1.28 4.96-5.376 6.592-1.504.64-2.048 1.024-2.208 1.824h-5.536ZM26.168 42v-5.152h5.792V42h-5.792Z"/>
4
- </svg>`,Ta=encodeURIComponent(Aa),Wr=`data:image/svg+xml;utf8,${Ta}`,it=qe.createQueryKeys("interwovenkit:asset",{list:e=>[e],item:(e,s)=>[e,s],resource:(e,s)=>[e.chainId,s.denom],denom:(e,s)=>[e,s],metadata:(e,s)=>[e,s]});function Da(e){var h,m,_;const{base:s,symbol:n,denom_units:r=[],display:o,logo_URIs:a,name:i,address:l,traces:c}=e,d=((h=r.find(p=>p.denom===o))==null?void 0:h.exponent)??((m=r.find(p=>p.denom===s))==null?void 0:m.exponent)??((_=D.head(r))==null?void 0:_.exponent)??0,u=(a==null?void 0:a.png)??"";return{denom:s,symbol:n,decimals:d,logoUrl:u,name:i,address:l,traces:c}}function Rt(e){var o;const s=(o=e==null?void 0:e.metadata)==null?void 0:o.assetlist,n=k.useQueryClient(),{data:r}=k.useSuspenseQuery({queryKey:it.list(s).queryKey,queryFn:async()=>s?K.get(s).json():{assets:[]},select:({assets:a})=>{if(!e)return[];const i=a.map(Da);for(const l of i)n.setQueryData(it.item(e.chainId,l.denom).queryKey,l);return i},staleTime:H.MINUTE});return r}function Qe(e){const s=Rt(e),n=ve(),r=Rt(n),o=Qr(e);return a=>{const i=s.find(c=>c.denom===a);if(i)return i;const l=r.find(c=>c.denom===o(a));return l?{...l,denom:a}:{denom:a,symbol:"",decimals:0,logoUrl:Wr}}}function yn(e,s){const n=Qe(s),o=k.useQueryClient().getQueryData(it.item(s.chainId,e).queryKey);return o||n(e)}function Qr(e){const s=ve(),n=Rt(e);return r=>{var a,i,l,c,d;if((a=e.metadata)!=null&&a.is_l1)return r;if(r.startsWith("l2/")||r.startsWith("ibc/")){const u=(i=n.find(h=>h.denom===r))==null?void 0:i.traces;if(u){for(const h of u)if(h.counterparty.chain_name===s.chain_name)return h.counterparty.base_denom}}const o=(d=(c=(l=s.metadata)==null?void 0:l.ibc_channels)==null?void 0:c.find(({chain_id:u,version:h})=>u===e.chain_id&&h==="ics20-1"))==null?void 0:d.channel_id;return o?Pa(o,r):""}}function Kn(e,s){const r=B.toBytes(e,32),o=B.toBytes(s,32),a=new Uint8Array([...r,...o,252]);return O.toHex(hn.sha3_256.create().update(a).digest())}function Vr(e,s){const r=B.toBytes(e,32),o=nt.toBytes(s),a=new Uint8Array([...r,...o,254]);return O.toHex(hn.sha3_256.create().update(a).digest())}function qa(e){return e?e.startsWith("move/")?`0x${e.slice(5)}`:`0x${Vr("0x1",e)}`:""}function Pa(e,s){const n=`transfer/${e}/${s}`;return`ibc/${O.toHex(na.sha256(n)).toUpperCase()}`}const Nt=qe.createQueryKeys("interwovenkit:account",{username:(e,s)=>[e,s],address:(e,s)=>[e,s],balances:(e,s)=>[e,s],txs:(e,s)=>[e,s],lastTx:(e,s)=>[e,s]});function Gr(){const{restUrl:e}=ve(),{usernamesModuleAddress:s}=ie();return Nr({restUrl:e,moduleAddress:s})}function jn(e){const s=J(),{restUrl:n}=e,{data:r}=k.useSuspenseQuery({queryKey:Nt.balances(n,s).queryKey,queryFn:()=>K.create({prefixUrl:n}).get(`cosmos/bank/v1beta1/balances/${s}`).json(),select:({balances:o})=>o,staleTime:H.SECOND});return r}function Yr(e){const s=jn(e),n=Rt(e),r=Qe(e),o=Qr(e),{data:a}=Pr(e.chainId),i=c=>e.fees.fee_tokens.some(d=>d.denom===c),l=c=>n.some(d=>d.denom===c);return D.sortWith([D.descend(({denom:c})=>o(c)==="uinit"),D.descend(({denom:c})=>i(c)),D.descend(({value:c})=>c),D.descend(({denom:c})=>l(c)),({balance:c},{balance:d})=>$(d).comparedTo(c)??0,D.descend(({symbol:c})=>c.toLowerCase())],s.filter(({amount:c})=>!$(c).isZero()).map(({amount:c,denom:d})=>{var _;const u=r(d),h=((_=a==null?void 0:a.find(({id:p})=>p===(u==null?void 0:u.denom)))==null?void 0:_.price)??0,m=$(c).times(h).div($(10).pow(u.decimals)).toNumber();return{...u,balance:c,price:h,value:m}}))}function J(){const e=js();return e?B.toBech32(e):""}function js(){const{address:e}=je.useAccount();return e?B.toPrefixedHex(e):""}function It(){var r,o;const e=xs(),s=J(),n=js();return((o=(r=e.metadata)==null?void 0:r.minitia)==null?void 0:o.type)==="minievm"?n:s}function Jr(){const e=It(),s=Gr();return k.useQuery({queryKey:Nt.username(s.restUrl,e).queryKey,queryFn:()=>s.getUsername(e),enabled:!!e,staleTime:H.MINUTE})}function ye(){const e=It(),s=J(),n=js(),{data:r}=Jr(),o=wt(),{openDrawer:a}=Ct(),i=()=>{a("/")},l=()=>{a("/connect")},c=u=>{a("/bridge",u)},d=Hr();return{address:e,initiaAddress:s,hexAddress:n,username:r,offlineSigner:o,openConnect:l,openWallet:i,openBridge:c,...d}}function Fa(){const e=["initia-wallet-widget:last-connected-wallet","initia-wallet-widget:fee-denoms"],s={"initia-wallet-widget:chain-ids":M.ADDED_CHAIN_IDS,"initia-wallet-widget:opened-layers-assets":`${M.OPENED_CHAIN_IDS}:assets`,"initia-wallet-widget:opened-layers-nft":`${M.OPENED_CHAIN_IDS}:nfts`},n={"initia-wallet-widget:ethereum-public-keys":{prefix:M.PUBLIC_KEY,getSuffix:B.toBech32}};for(const r of e)localStorage.removeItem(r);for(const[r,o]of Object.entries(s)){const a=localStorage.getItem(r);a&&(localStorage.setItem(o,a),localStorage.removeItem(r))}for(const[r,{prefix:o,getSuffix:a}]of Object.entries(n)){const i=localStorage.getItem(r);if(i)try{const l=JSON.parse(i);for(const[c,d]of Object.entries(l)){const u=`${o}:${a(c)}`;localStorage.setItem(u,d)}localStorage.removeItem(r)}catch{}}}const Ba="_status_tn9m1_1",Ra="_error_tn9m1_9",Hn={status:Ba,error:Ra},ae=({error:e,children:s})=>t.jsx("p",{className:P(Hn.status,{[Hn.error]:e}),children:s}),ce=({errorBoundaryProps:e={fallbackRender:({error:r})=>t.jsx(ae,{error:!0,children:r.message})},suspenseFallback:s=t.jsx(ae,{children:"Loading..."}),children:n})=>t.jsx(br.ErrorBoundary,{...e,children:t.jsx(f.Suspense,{fallback:s,children:n})}),ge=qe.createQueryKeys("interwovenkit:skip",{chains:null,assets:e=>[e],asset:(e,s)=>[e,s],balances:(e,s)=>[e,s],route:(e,s)=>[e,s],routeErrorInfo:e=>[e],txTrack:(e,s)=>[e,s],txStatus:(e,s)=>[e,s]});function Ve(){const{routerApiUrl:e}=ie();return f.useMemo(()=>K.create({prefixUrl:e}),[e])}function Zr(){const e=Le();return s=>e.some(n=>n.chain_id===s)}function Kt(){const e=Zr();return s=>e(s.chain_id)?"initia":s.chain_type}function Mt(e){return Kt()(e)}function bn(){const e=Ve(),{data:s}=k.useSuspenseQuery({queryKey:ge.chains.queryKey,queryFn:()=>e.get("v2/info/chains").json(),select:({chains:n})=>D.sortWith([D.descend(({chain_name:r})=>r==="initia"),D.ascend(({pretty_name:r})=>r)],n),staleTime:H.MINUTE});return s}function lt(){const e=bn();return s=>{const n=e.find(r=>r.chain_id===s);if(!n)throw new Error(`Chain not found: ${s}`);return n}}function ke(e){return lt()(e)}function jt(e){const s=Ve(),n=k.useQueryClient(),{data:r}=k.useSuspenseQuery({queryKey:ge.assets(e).queryKey,queryFn:()=>s.get("v2/fungible/assets",{searchParams:{chain_ids:e}}).json(),select:({chain_to_assets_map:o})=>{const{assets:a}=o[e]??{assets:[]};for(const i of a)n.setQueryData(ge.asset(e,i.denom).queryKey,i);return a.toSorted(D.descend(i=>i.symbol==="INIT"))},staleTime:H.MINUTE});return r}function Xr(e){const s=jt(e);return n=>{const r=s.find(o=>o.denom===n);if(!r)throw new Error(`Asset not found: ${n}`);return r}}function De(e,s){return Xr(s)(e)}const vn=f.createContext(null);function Ot(){const{container:e}=f.useContext(vn);return e}const Ma=({children:e})=>{const[s,n]=f.useState(null);return t.jsx(vn.Provider,{value:{container:s,setContainer:n},children:e})},Oa="_loader_4gdsk_1",Ua={loader:Oa},Ge=({size:e=24,color:s="currentColor",border:n=2})=>{const r={width:`${e}px`,height:`${e}px`,borderColor:`${s} ${s} transparent ${s}`,borderWidth:`${n}px`};return t.jsx("div",{className:Ua.loader,style:r})},za="_container_4qmbg_1",Ka="_toast_4qmbg_10",Ha="_info_4qmbg_23",La="_success_4qmbg_27",Wa="_error_4qmbg_31",Qa="_icon_4qmbg_36",Va="_content_4qmbg_43",Ga="_title_4qmbg_46",Ya="_description_4qmbg_51",Ja="_close_4qmbg_72",Be={container:za,toast:Ka,info:Ha,success:La,error:Wa,icon:Qa,content:Va,title:Ga,description:Ya,close:Ja},Za=({notification:e,onClose:s,...n})=>{const r=Te.useTransition(e,{keys:a=>(a==null?void 0:a.id)||"empty",from:{transform:"translateY(-52px)",opacity:0},enter:{transform:"translateY(0px)",opacity:1},leave:{transform:"translateY(-52px)",opacity:0},config:{...Te.config.wobbly,clamp:!0}}),o=a=>{switch(a){case"loading":return t.jsx(Ge,{size:16});case"info":case"success":return t.jsx(N.IconCheckCircleFilled,{size:16});case"error":return t.jsx(N.IconCloseCircleFilled,{size:16});default:return null}};return r((a,i)=>{if(!i)return null;const{type:l,title:c,description:d}=i,u=o(l);return t.jsx(Te.animated.div,{style:a,className:Be.container,children:t.jsxs("div",{className:P(Be.toast,l&&Be[l]),...n,children:[u&&t.jsx("div",{className:Be.icon,children:u}),t.jsxs("div",{className:Be.content,children:[t.jsx("p",{className:Be.title,children:c}),d&&t.jsx("div",{className:Be.description,children:d})]}),t.jsx("button",{className:Be.close,onClick:s,children:t.jsx(N.IconClose,{size:14})})]})})})},eo=f.createContext(null),to=()=>f.useContext(eo),Ps=5e3,Xa=({children:e})=>{const s=Ot(),[n,r]=f.useState(null),o=f.useRef(null),a=f.useRef(!1),i=()=>{o.current&&(clearTimeout(o.current),o.current=null)},l=f.useCallback(()=>{i(),r(null)},[]),c=f.useCallback(m=>{i(),r({...m,id:On.nanoid()}),m.autoHide&&!a.current&&(o.current=setTimeout(()=>l(),Ps))},[l]),d=f.useCallback(m=>{i(),r(_=>_?{..._,...m}:{...m,id:On.nanoid()}),m.autoHide&&!a.current&&(o.current=setTimeout(()=>l(),Ps))},[l]),u=()=>{i(),a.current=!0},h=()=>{i(),a.current=!1,n!=null&&n.autoHide&&(o.current=setTimeout(()=>l(),Ps))};return f.useEffect(()=>()=>i(),[]),t.jsxs(eo.Provider,{value:{showNotification:c,updateNotification:d,hideNotification:l},children:[e,s&&vr.createPortal(t.jsx(Za,{notification:n,onClose:l,onMouseEnter:u,onMouseLeave:h}),s)]})},so=f.createContext(!1),ei="_overlay_1eoyl_1",ti="_fullscreen_1eoyl_12",si="_content_1eoyl_16",ni="_header_1eoyl_73",ri="_title_1eoyl_82",oi="_close_1eoyl_87",Je={overlay:ei,fullscreen:ti,content:si,header:ni,title:ri,close:oi},no=({title:e,children:s,trigger:n,open:r,onOpenChange:o})=>{const a=f.useContext(so);return t.jsxs(A.Dialog.Root,{open:r,onOpenChange:o,children:[n&&t.jsx(A.Dialog.Trigger,{asChild:!0,children:n}),t.jsxs(A.Dialog.Portal,{container:Ot(),children:[t.jsx("div",{className:P(Je.overlay,{[Je.fullscreen]:a})}),t.jsxs(A.Dialog.Content,{className:P(Je.content,{[Je.fullscreen]:a}),children:[e&&t.jsxs("header",{className:Je.header,children:[t.jsx(A.Dialog.Title,{className:Je.title,children:e}),t.jsx(A.Dialog.Close,{className:Je.close,children:t.jsx(N.IconClose,{size:20})})]}),s]})]})]})};function ro(e){const{data:s}=k.useSuspenseQuery({queryKey:xn.gasPrices(e).queryKey,queryFn:async()=>{var n;if((n=e.metadata)!=null&&n.is_l1){const{restUrl:r}=e,{gas_prices:o}=await K.create({prefixUrl:r}).get("initia/tx/v1/gas_prices").json();return o.toSorted(D.descend(({denom:a})=>a==="uinit")).map(({denom:a,amount:i})=>{const l=a==="uinit"?1:$r;return{amount:$(i).times(l).toFixed(18),denom:a}})}return e.fees.fee_tokens.map(({denom:r,fixed_min_gas_price:o})=>{if(!o)throw new Error(`${r} has no price`);return{amount:String(o),denom:r}})},staleTime:H.SECOND});return s}function oo(e){const s=J(),{data:n}=k.useSuspenseQuery({queryKey:Nt.lastTx(e,s).queryKey,queryFn:async()=>{var r;if(e.fees.fee_tokens.length===1)return e.fees.fee_tokens[0].denom;try{const o={"pagination.reverse":!0},{txs:a}=await K.create({prefixUrl:e.indexerUrl}).get(`indexer/tx/v1/txs/by_account/${s}`,{searchParams:o}).json(),i=a.find(({tx:l})=>l.auth_info.signer_infos.some(c=>B.equals(s,$e.computeAddress(`0x${O.toHex(Zs.Secp256k1.uncompressPubkey(O.fromBase64(c.public_key.key)))}`))));return((r=i==null?void 0:i.tx.auth_info.fee.amount[0])==null?void 0:r.denom)??null}catch{return null}}});return n}const ai="_root_1wwaf_1",ii="_item_1wwaf_10",ci="_chevron_1wwaf_14",li="_trigger_1wwaf_19",di="_content_1wwaf_39",kt={root:ai,item:ii,chevron:ci,trigger:li,content:di};function ao(e){const{list:s,getKey:n,renderHeader:r,renderContent:o,footer:a,...i}=e;return t.jsxs(A.Accordion.Root,{className:kt.root,type:"multiple",...i,children:[s.map((l,c)=>t.jsxs(A.Accordion.Item,{className:kt.item,value:(n==null?void 0:n(l))??String(c),children:[t.jsx(A.Accordion.Header,{children:t.jsxs(A.Accordion.Trigger,{className:kt.trigger,children:[r(l),t.jsx(N.IconChevronDown,{className:kt.chevron,size:16})]})}),t.jsx(A.Accordion.Content,{className:kt.content,children:o(l)})]},(n==null?void 0:n(l))??c)),a]})}const ui="_scrollable_yv81n_1",mi={scrollable:ui},Pe=({className:e,children:s})=>t.jsx("div",{className:P(mi.scrollable,e),children:s}),tn=({children:e})=>{const s=f.useRef(null),[n,r]=f.useState(0),o=Te.useSpring({height:n,config:{...Te.config.stiff,clamp:!0}});return f.useEffect(()=>{if(s.current){const{height:a}=s.current.getBoundingClientRect();r(a)}},[e]),e?t.jsx(Te.animated.div,{style:{overflow:"hidden",...o},children:t.jsx("div",{ref:s,children:e})}):null},hi="_help_7m3jv_1",_i="_icon_7m3jv_10",fi="_info_7m3jv_17",pi="_warning_7m3jv_21",xi="_error_7m3jv_25",gi="_success_7m3jv_31",Fs={help:hi,icon:_i,info:fi,warning:pi,error:xi,success:gi},ze=({level:e,className:s,mt:n=8,children:r})=>{if(!r)return null;const o=()=>{switch(e){case"loading":return t.jsx(Ge,{size:12});case"info":return t.jsx(N.IconInfoFilled,{size:12});case"warning":case"error":return t.jsx(N.IconWarningFilled,{size:12});default:return t.jsx(N.IconCheckCircleFilled,{size:12})}};return t.jsxs("div",{className:P(Fs.help,e&&Fs[e],s),style:{marginTop:n},children:[t.jsx("div",{className:Fs.icon,children:o()}),t.jsx("p",{children:r})]})},yi="_stack_14kq8_1",ji="_help_14kq8_6",bi="_info_14kq8_14",vi="_warning_14kq8_19",wi="_error_14kq8_24",Ci="_success_14kq8_29",sn={stack:yi,help:ji,info:bi,warning:vi,error:wi,success:Ci},Ni=({children:e})=>!e||Array.isArray(e)&&e.filter(Boolean).length===0?null:t.jsx(tn,{children:t.jsx("div",{className:sn.stack,children:e})}),ee=e=>t.jsx(ze,{...e,className:P(sn.help,sn[e.level]),mt:0});ee.Stack=Ni;const Ii="_footer_xif7g_1",Si="_actions_xif7g_10",Ln={footer:Ii,actions:Si},se=({extra:e,className:s,children:n})=>t.jsxs("footer",{className:P(Ln.footer,s),children:[e,t.jsx("div",{className:Ln.actions,children:n})]}),$i="_button_7llhj_1",ki="_outline_7llhj_24",Ei="_sm_7llhj_42",Ai="_full_7llhj_48",Ti="_small_7llhj_52",Di="_unpadded_7llhj_82",rt={button:$i,outline:ki,sm:Ei,full:Ai,small:Ti,unpadded:Di},io=e=>{const{sm:s,fullWidth:n,loading:r,className:o,children:a,disabled:i,...l}=e;return t.jsx("button",{...l,className:P(rt.button,{[rt.sm]:s,[rt.full]:n},o),disabled:!!r||i,children:r?t.jsxs(t.Fragment,{children:[t.jsx(Ge,{color:"currentColor",size:16}),typeof r=="string"&&t.jsx("span",{className:rt.loading,children:r})]}):a})},qi=({className:e,...s})=>t.jsx(io,{...s,className:P(rt.outline,e)}),Pi=({className:e,unpadded:s,...n})=>t.jsx("button",{...n,className:P(rt.small,{[rt.unpadded]:s},e)}),Q={White:io,Outline:qi,Small:Pi},Fi="_item_1n572_1",Bi="_title_1n572_10",Ri="_content_1n572_14",Bs={item:Fi,title:Bi,content:Ri},Rs=({title:e,content:s})=>t.jsxs("div",{className:Bs.item,children:[t.jsx("div",{className:Bs.title,children:e}),t.jsx("div",{className:Bs.content,children:s})]}),Mi="_placeholder_80nya_1",Oi="_circle_80nya_5",Wn={placeholder:Mi,circle:Oi},V=({src:e,alt:s,placeholder:n,classNames:r,circle:o,...a})=>{const[i,l]=f.useState(!1),{width:c,height:d}=a,u=n??t.jsx("div",{className:P(Wn.placeholder,r==null?void 0:r.placeholder),style:{width:c,height:d}});return f.useEffect(()=>{l(!1)},[e]),!e||i?u:t.jsx("img",{...a,className:P(a.className,{[Wn.circle]:o}),style:{width:c,height:d},src:e,alt:s,loading:"lazy",onError:()=>l(!0)})};function co(e,s){var r,o,a,i,l,c;const n={};for(const d of e)if(d.attributes.some(h=>h.key==="msg_index")){if(d.type==="coin_spent"){const h=(r=d.attributes.find(_=>_.key==="spender"))==null?void 0:r.value,m=(o=d.attributes.find(_=>_.key==="amount"))==null?void 0:o.value;if(h===s&&m){const[_,p]=((a=m.match(/^(\d+)(.+)$/))==null?void 0:a.slice(1))||[];if(_&&p){const x=n[p]||BigInt(0);n[p]=x-BigInt(_)}}}if(d.type==="coin_received"){const h=(i=d.attributes.find(_=>_.key==="receiver"))==null?void 0:i.value,m=(l=d.attributes.find(_=>_.key==="amount"))==null?void 0:l.value;if(h===s&&m){const[_,p]=((c=m.match(/^(\d+)(.+)$/))==null?void 0:c.slice(1))||[];if(_&&p){const x=n[p]||BigInt(0);n[p]=x+BigInt(_)}}}}return Object.entries(n).filter(([,d])=>d!==BigInt(0)).map(([d,u])=>({amount:u.toString(),denom:d}))}function lo(e,s){var r,o;const n={};for(const a of e)if(a.attributes.some(l=>l.key==="msg_index")&&a.type==="move"){const l=(r=a.attributes.find(u=>u.key==="type_tag"))==null?void 0:r.value,c=(o=a.attributes.find(u=>u.key==="data"))==null?void 0:o.value;if(!l||!c)continue;let d;try{d=JSON.parse(c)}catch{continue}if(l==="0x1::fungible_asset::WithdrawEvent"){const u=d.store_addr,h=d.amount,m=d.metadata_addr;if(u&&h&&m){const _=s.startsWith("0x")?s.slice(2):s;if(`0x${Kn(_,m)}`===u){const x=n[m]||BigInt(0);n[m]=x-BigInt(h)}}}if(l==="0x1::fungible_asset::DepositEvent"){const u=d.store_addr,h=d.amount,m=d.metadata_addr;if(u&&h&&m){const _=s.startsWith("0x")?s.slice(2):s;if(`0x${Kn(_,m)}`===u){const x=n[m]||BigInt(0);n[m]=x+BigInt(h)}}}}return Object.entries(n).filter(([,a])=>a!==BigInt(0)).map(([a,i])=>({amount:i.toString(),metadata:a}))}const uo=({metadata:e,chain:s,children:n})=>{const{restUrl:r}=s,{data:o}=k.useSuspenseQuery({queryKey:it.denom(r,e).queryKey,queryFn:()=>K.create({prefixUrl:r}).get("initia/move/v1/denom",{searchParams:{metadata:e}}).json(),select:({denom:a})=>a,staleTime:H.INFINITY});return n(o)},bs=({chain:e,asset:s,children:n})=>{const r=k.useQueryClient(),{data:o}=k.useQuery({queryKey:it.resource(e,s).queryKey,queryFn:async()=>{var c,d,u;if(s.symbol||!((c=e.metadata)!=null&&c.is_l1||((u=(d=e.metadata)==null?void 0:d.minitia)==null?void 0:u.type)==="minimove"))return null;const a=qa(s.denom),{resource:i}=await K.create({prefixUrl:e.restUrl}).get(`initia/move/v1/accounts/${a}/resources/by_struct_tag`,{searchParams:{struct_tag:"0x1::fungible_asset::Metadata"}}).json(),{data:l}=JSON.parse(i.move_resource);return r.setQueryData(it.item(e.chainId,s.denom).queryKey,{...s,...l}),l},staleTime:H.INFINITY});return n({...s,...o})},Ui="_changes_1ydlx_1",zi="_title_1ydlx_8",Ki="_section_1ydlx_14",Hi="_label_1ydlx_18",Li="_divider_1ydlx_26",Wi="_change_1ydlx_1",Ue={changes:Ui,title:zi,section:Ki,label:Hi,divider:Li,change:Wi},mo=({amount:e,asset:s})=>{const{denom:n,symbol:r,decimals:o,logoUrl:a}=s,i=new $(e).isPositive(),l=new $(e).abs().toString();return t.jsxs("div",{className:Ue.change,children:[i?"+":"-",t.jsx(V,{src:a,width:14,height:14}),ne(l,{decimals:o})," ",r??te(n)]})},Qn=({changes:e,chain:s})=>{const n=Qe(s);return e.map(({amount:r,denom:o},a)=>t.jsx(mo,{amount:r,asset:n(o)},a))},Vn=({changes:e,chain:s})=>{const n=Qe(s);return e.map(({amount:r,metadata:o},a)=>t.jsx(uo,{metadata:o,chain:s,children:i=>t.jsx(bs,{asset:n(i),chain:s,children:l=>t.jsx(mo,{amount:r,asset:l})})},a))};function Qi(e,s){return typeof s=="bigint"?s.toString():s}const Vi=qe.createQueryKeys("interwovenkit:tx",{simulate:e=>[JSON.stringify(e,Qi)]}),Gi=({messages:e,memo:s,chainId:n})=>{var _,p,x,w;const{initiaAddress:r,hexAddress:o}=ye(),a=be(n),{simulateTx:i}=Hr(),{data:l}=k.useSuspenseQuery({queryKey:Vi.simulate({messages:e,memo:s,chainId:n}).queryKey,queryFn:()=>i({messages:e,memo:s,chainId:n}),staleTime:H.SECOND}),c=(C,j)=>t.jsxs("div",{className:Ue.changes,children:[t.jsx("h2",{className:Ue.title,children:"Estimated changes"}),t.jsxs("div",{children:[C&&t.jsxs("div",{className:Ue.section,children:[t.jsx("h3",{className:Ue.label,children:"Send"}),C]}),C&&j&&t.jsx("div",{className:Ue.divider}),j&&t.jsxs("div",{className:Ue.section,children:[t.jsx("h3",{className:Ue.label,children:"Receive"}),j]})]})]});if(!l)return null;const d=((_=l.result)==null?void 0:_.events)??[];if(d.length===0)return null;if((p=a.metadata)!=null&&p.is_l1||((w=(x=a.metadata)==null?void 0:x.minitia)==null?void 0:w.type)==="minimove"){const C=lo(d,o);if(C.length===0)return null;const[j,T]=Gn(C);return c(j.length>0&&t.jsx(Vn,{changes:j,chain:a}),T.length>0&&t.jsx(Vn,{changes:T,chain:a}))}const u=co(d,r);if(u.length===0)return null;const[h,m]=Gn(u);return c(h.length>0&&t.jsx(Qn,{changes:h,chain:a}),m.length>0&&t.jsx(Qn,{changes:m,chain:a}))};function Gn(e){return D.partition(s=>new $(s.amount).isNegative(),e)}const Yi="_trigger_13rgr_1",Ji="_icon_13rgr_5",Zi="_content_13rgr_16",Xi="_item_13rgr_24",Qt={trigger:Yi,icon:Ji,content:Zi,item:Xi},ec=({options:e,value:s,onChange:n})=>{const r=Ot(),{txRequest:o}=Kr(),a=be(o.chainId),i=Qe(a),l=({amount:[{amount:c,denom:d}]})=>{if($(c).isZero())return"0";const{symbol:u,decimals:h}=i(d);return`${ne(c,{decimals:h})} ${u}`};return e.length===1?l(e[0]):t.jsxs(A.Select.Root,{value:s,onValueChange:n,children:[t.jsxs(A.Select.Trigger,{className:Qt.trigger,children:[t.jsx(A.Select.Value,{}),t.jsx(A.Select.Icon,{className:Qt.icon,children:t.jsx(N.IconChevronDown,{size:16})})]}),t.jsx(A.Select.Portal,{container:r,children:t.jsx(A.Select.Content,{className:Qt.content,position:"popper",sideOffset:6,align:"end",children:t.jsx(A.Select.Viewport,{children:e.map(c=>{const[{denom:d}]=c.amount;return t.jsx(A.Select.Item,{className:Qt.item,value:d,children:t.jsx(A.Select.ItemText,{children:l(c)})},d)})})})})]})};function ls(e){switch(typeof e){case"string":return e;case"number":case"bigint":return e.toString();case"boolean":return e?"true":"false";case"object":return e===null?"null":e instanceof Uint8Array?O.toBase64(e):Array.isArray(e)?`[${e.map(ls).join(",")}]`:JSON.stringify(e,(s,n)=>typeof n=="bigint"?n.toString():n);default:return"unknown"}}const gt={...gr.bcs,address:Yn,object:Yn,bigdecimal:tc};function ho(e){const s=e.replaceAll(/0x1::(\w+)::(\w+)/g,"$2").toLowerCase();if(s.startsWith("object"))return gt.object();const n=s.match(/(\w+)<(.+)>$/);if(n){const[,r,o]=n,a=ho(o);return gt[r](a)}return gt[s]()}function Yn(e){return gt.bytes(32,e).transform({input:s=>B.toBytes(s,32),output:s=>`0x${O.toHex(s)}`})}function tc(e){return gt.vector(gt.u8(e)).transform({input:s=>{const n=$.BigNumber(s).times($.BigNumber(10).pow(18)).toFixed(0,$.BigNumber.ROUND_DOWN);return sc(BigInt(n))},output:s=>{const n=nc(new Uint8Array(s));return $.BigNumber(n).div($.BigNumber(10).pow(18)).toFixed()}})}function sc(e){if(e<0n)throw new Error("negative values are not supported");if(e===0n)return new Uint8Array([0]);const s=[];let n=e;for(;n>0n;)s.push(Number(n&0xffn)),n>>=8n;return new Uint8Array(s)}function nc(e){let s=0n;for(let n=0;n<e.length;n++)s+=BigInt(e[n])<<BigInt(8*n);return s}const rc="_container_1xzyq_1",oc="_toggle_1xzyq_5",ac="_list_1xzyq_11",ic="_arg_1xzyq_16",cc="_type_1xzyq_21",Et={container:rc,toggle:oc,list:ac,arg:ic,type:cc},lc=qe.createQueryKeys("interwovenkit:move",{abi:(e,s,n,r)=>[e,s,n,r]}),dc=({type:e,arg:s})=>ls(ho(e).parse(s)),uc=({msg:e,chainId:s,fallback:n})=>{const[r,o]=re.useToggle(!1),{restUrl:a}=be(s),{moduleAddress:i,moduleName:l,functionName:c,args:d}=e,{data:u}=k.useQuery({queryKey:lc.abi(a,i,l,c).queryKey,queryFn:async()=>{const m=await K.create({prefixUrl:a}).get(`initia/move/v1/accounts/${i}/modules/${l}`).json(),p=JSON.parse(m.module.abi).exposed_functions.find(({name:x})=>x===c);if(!p)throw new Error(`Function ${c} not found in module ${l}`);return p.params.filter(x=>!x.startsWith("&"))},staleTime:H.INFINITY});if(!u)return n;const h=(m,_)=>{const p=u[_];return t.jsxs("div",{className:Et.arg,children:[t.jsx("div",{className:Et.type,children:p}),t.jsx(br.ErrorBoundary,{fallback:t.jsx("div",{className:"error",children:"Error decoding argument"}),children:t.jsx(dc,{type:p,arg:m})})]},_)};return t.jsxs("div",{className:Et.container,children:[t.jsx(Q.Small,{className:Et.toggle,onClick:o,disabled:!u,children:r?"Encode":"Decode"}),r?t.jsx("div",{className:Et.list,children:d.map(h)}):n]})},mc="_list_r67rl_1",hc="_key_r67rl_8",_c="_value_r67rl_13",Ms={list:mc,key:hc,value:_c},fc=({message:e,chainId:s})=>{const{typeUrl:n,value:r}=e;return t.jsx("div",{className:Ms.list,children:Object.entries(r).map(([o,a])=>t.jsxs("div",{children:[t.jsx("div",{className:Ms.key,children:o}),t.jsx("div",{className:Ms.value,children:n==="/initia.move.v1.MsgExecute"&&o==="args"?t.jsx(uc,{msg:r,chainId:s,fallback:ls(a)}):ls(a)})]},o))})},pc="_title_kspdu_1",xc="_meta_kspdu_7",gc="_footer_kspdu_14",Os={title:pc,meta:xc,footer:gc},_o=()=>{const{txRequest:e,resolve:s,reject:n}=Kr(),{messages:r,memo:o,chainId:a,gas:i,gasAdjustment:l,spendCoins:c}=e,d=J(),u=wt(),h=Br(),m=be(a),_=jn(m),p=ro(m),x=oo(m),w=(e.gasPrices??p).map(({amount:y,denom:F})=>Se.calculateFee(Math.ceil(i*l),Se.GasPrice.fromString(y+F))),C=w.map(y=>y.amount[0]),j=y=>{var q,L;const F=((q=_.find(W=>W.denom===y))==null?void 0:q.amount)??0,U=((L=C.find(W=>W.denom===y))==null?void 0:L.amount)??0,R=c.filter(W=>W.denom===y).reduce((W,Z)=>$(W).plus(Z.amount),$(0));if(R.gt(0)){const W=$(U).plus(R);return $(F).gte(W)}return $(F).gte(U)},T=()=>{var y;if(x&&j(x))return x;for(const{denom:F}of C)if(j(F))return F;return(y=C[0])==null?void 0:y.denom},[b,I]=f.useState(T),{mutate:S,isPending:g}=k.useMutation({mutationKey:[Ur],mutationFn:async()=>{const y=w.find(U=>U.amount[0].denom===b);if(!y)throw new Error("Fee not found");if(!u)throw new Error("Signer not initialized");const F=await h(a,d,r,y,o);await s(F)},onError:async y=>{n(new Error(await He(y)))}}),v=!j(b);return t.jsxs(t.Fragment,{children:[t.jsxs(Pe,{children:[t.jsx("h1",{className:Os.title,children:"Confirm tx"}),t.jsxs("div",{className:Os.meta,children:[t.jsx(Rs,{title:"Chain",content:a}),t.jsx(Rs,{title:"Tx fee",content:t.jsx(ec,{options:w,value:b,onChange:I})}),o&&t.jsx(Rs,{title:"Memo",content:o}),v&&t.jsx(ee,{level:"error",children:"Insufficient balance for fee"})]}),t.jsx(Gi,{messages:r,memo:o,chainId:a}),t.jsx(ao,{list:r,renderHeader:({typeUrl:y})=>_s.sentenceCase(y.split(".").pop().replace(/^Msg/,"")),renderContent:y=>t.jsx(fc,{message:y,chainId:a})})]}),t.jsxs(se,{className:Os.footer,children:[t.jsx(Q.Outline,{onClick:()=>n(new Error("User rejected")),disabled:g,children:"Reject"}),t.jsx(Q.White,{onClick:()=>S(),disabled:v,loading:g,children:"Approve"})]})]})},yc=({children:e})=>{const[{title:s,content:n,path:r},o]=f.useState({}),[a,i]=f.useState(!1),l=xe.useAtomValue(ys),c=f.useCallback(h=>{o(h),i(!0)},[]),d=f.useCallback(()=>{o({}),i(!1)},[]),u=f.useCallback(h=>{h||(l==null||l.reject(new Error("User rejected")),o({})),i(h)},[l]);return t.jsxs(qr.Provider,{value:{openModal:c,closeModal:d},children:[e,t.jsx(no,{title:s,open:a,onOpenChange:u,children:r==="/tx"?t.jsx(_o,{}):n})]})},wn=({value:e,children:s})=>{const[n,r]=f.useState(!1);return s({copy:async()=>{try{await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),1e3)}catch{}},copied:n})},jc="_root_1yeai_1",bc="_qr_1yeai_10",vc="_address_1yeai_16",wc="_icon_1yeai_21",Cc="_copied_1yeai_32",At={root:jc,qr:bc,address:vc,icon:wc,copied:Cc},Jn=({address:e})=>t.jsxs("div",{className:At.root,children:[t.jsx(ra.QRCodeSVG,{value:e,className:At.qr,size:200,level:"H",imageSettings:{src:"https://registry.initia.xyz/images/INIT.png",height:36,width:36,excavate:!0}}),t.jsx(wn,{value:e,children:({copy:s,copied:n})=>t.jsxs("button",{className:P(At.address,{[At.copied]:n}),onClick:s,children:[t.jsx("span",{className:"monospace",children:te(e)}),t.jsxs("span",{className:At.icon,children:[t.jsx(N.IconCopy,{size:16}),n?"Copied!":""]})]})})]}),Nc="_root_1t14l_1",Ic="_list_1t14l_9",Sc="_trigger_1t14l_20",Vt={root:Nc,list:Ic,trigger:Sc},$c=()=>{const[e,s]=f.useState("bech32"),{initiaAddress:n,hexAddress:r}=ye();return t.jsxs("div",{className:Vt.root,children:[t.jsxs("div",{className:Vt.list,children:[t.jsx("button",{className:Vt.trigger,onClick:()=>s("bech32"),"data-state":e==="bech32"?"active":void 0,children:"Bech32"}),t.jsx("button",{className:Vt.trigger,onClick:()=>s("hex"),"data-state":e==="hex"?"active":void 0,children:"Hex"})]}),e==="bech32"&&t.jsx(Jn,{address:n}),e==="hex"&&t.jsx(Jn,{address:r})]})},kc="_header_ii67k_1",Ec="_account_ii67k_10",Ac="_name_ii67k_21",Tc="_address_ii67k_25",Dc="_icon_ii67k_29",qc="_copied_ii67k_36",Pc="_button_ii67k_51",Re={header:kc,account:Ec,name:Ac,address:Tc,icon:Dc,copied:qc,button:Pc},Fc=()=>{const{connector:e}=je.useAccount(),{disconnect:s}=je.useDisconnect(),{address:n,username:r}=ye(),{closeDrawer:o}=Ct(),{openModal:a}=zt(),i=r??n;return e?t.jsxs("header",{className:Re.header,children:[t.jsx(wn,{value:n,children:({copy:l,copied:c})=>t.jsxs("button",{className:P(Re.account,{[Re.copied]:c}),onClick:l,children:[t.jsx(V,{src:e.icon,width:18,height:18}),t.jsx("div",{className:Re.address,children:te(n)}),t.jsx("div",{className:Re.name,children:te(i)}),t.jsx(N.IconCopy,{className:Re.icon,size:12}),c?"Copied!":""]})}),t.jsx("button",{className:Re.button,onClick:()=>a({title:"Address",content:t.jsx($c,{})}),children:t.jsx(N.IconQrCode,{size:16})}),t.jsx("button",{className:Re.button,onClick:()=>{o(),s(),localStorage.removeItem(M.BRIDGE_SRC_CHAIN_ID),localStorage.removeItem(M.BRIDGE_SRC_DENOM),localStorage.removeItem(M.BRIDGE_DST_CHAIN_ID),localStorage.removeItem(M.BRIDGE_DST_DENOM),localStorage.removeItem(M.BRIDGE_QUANTITY),localStorage.removeItem(M.BRIDGE_SLIPPAGE_PERCENT)},children:t.jsx(N.IconSignOut,{size:16})})]}):null},Bc="_link_guafb_1",Rc={link:Bc},Cn=e=>{const{chainId:s,txHash:n,showIcon:r,className:o,children:a,onClick:i,...l}=e,c=be(s),d=D.path(["explorers",0,"tx_page"],c),u=a??te(n);return d?t.jsxs("a",{...l,href:wr(Mc(d.replace(/\$\{txHash\}/g,n))),className:P(Rc.link,o),onClick:i,target:"_blank",children:[u,r&&t.jsx(N.IconExternalLink,{size:12})]}):t.jsx("span",{...l,children:u})};function Mc(e){try{const s=new URL(e,window.location.href);if(!["http:","https:"].includes(s.protocol))throw new Error("Invalid protocol");return s.toString()}catch{return"#"}}const Oc=()=>{const[e,s]=xe.useAtom(zr),{showNotification:n,updateNotification:r,hideNotification:o}=to();return f.useEffect(()=>{if(!e)return;const{status:a,chainId:i,txHash:l,error:c}=e,d=c?c.message:l?t.jsx(Cn,{txHash:l,chainId:i,onClick:o,showIcon:!0,children:"View on Initia Scan"}):null;switch(a){case"loading":n({type:"loading",title:"Transaction is pending..."});break;case"error":r({type:"error",title:"Transaction failed",description:d}),s(null);break;case"success":r({type:"success",title:"Transaction is successful!",description:d,autoHide:!0}),s(null);break}},[e,s,n,r,o]),null};function Uc(){return re.useScrollLock(),null}const zc="_overlay_1ks72_1",Kc="_content_1ks72_49",Hc="_inner_1ks72_69",Us={overlay:zc,content:Kc,inner:Hc},Lc=({children:e})=>{const{isDrawerOpen:s,closeDrawer:n}=Ct(),{setContainer:r}=f.useContext(vn),o=re.useMediaQuery("(max-width: 576px)"),a=xe.useAtomValue(ys),i=k.useIsMutating({mutationKey:[Ur]}),l=()=>{const m=i?"User exited before response arrived. Transaction may succeed or fail.":"User rejected";n(),a==null||a.reject(new Error(m))},c=ue(),d=k.useQueryClient(),u={fallbackRender:({error:m,resetErrorBoundary:_})=>{const p=()=>{c("/"),d.clear(),_()};return t.jsxs(Pe,{children:[t.jsx(ae,{error:!0,children:m.message}),t.jsx(se,{children:t.jsx(Q.White,{onClick:p,children:"Retry"})})]})}},h=Te.useTransition(s,{from:{transform:o?"translateY(100%)":"translateX(100%)"},enter:{transform:o?"translateY(0%)":"translateX(0%)"},leave:{transform:o?"translateY(100%)":"translateX(100%)"},config:{tension:500,friction:35,clamp:!0}});return vr.createPortal(t.jsxs(t.Fragment,{children:[h((m,_)=>_?t.jsx(Te.animated.button,{style:m,className:Us.overlay,onClick:l,children:t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"14",height:"14",children:[t.jsx("path",{d:"M7.168 14.04 l 6.028 -6.028 l -6.028 -6.028 L8.57 .582 L16 8.012 l -7.43 7.43 l -1.402 -1.402 Z"}),t.jsx("path",{d:"M0.028 14.04 l 6.028 -6.028 L0.028 1.984 L1.43 .582 l 7.43 7.43 l -7.43 7.43 L0.028 14.04 Z"})]})}):null),h((m,_)=>_?t.jsx(Te.animated.div,{style:m,className:P(Us.content),children:t.jsxs("div",{className:P(Us.inner,"body"),ref:r,children:[o&&t.jsx(Uc,{}),t.jsx(Oc,{}),t.jsx(Fc,{}),t.jsx(ce,{errorBoundaryProps:u,children:e})]})}):null)]}),la())},Wc="_page_rx25j_1",Qc="_title_rx25j_10",Vc="_scrollable_rx25j_17",Gc="_list_rx25j_22",Yc="_item_rx25j_32",Jc="_name_rx25j_51",Zc="_dimmed_rx25j_59",Xc="_recent_rx25j_63",el="_installed_rx25j_64",tl="_docs_rx25j_81",fe={page:Wc,title:Qc,scrollable:Vc,list:Gc,item:Yc,name:Jc,dimmed:Zc,recent:Xc,installed:el,docs:tl},sl=[{name:"Rabby",url:"https://rabby.io"},{name:"Phantom",url:"https://phantom.com"},{name:"Keplr",url:"https://keplr.app"},{name:"Leap",url:"https://leapwallet.io"}],nl=()=>{const{closeDrawer:e}=Ct(),{connectors:s,connectAsync:n}=je.useConnect(),r=re.useReadLocalStorage("wagmi.recentConnectorId"),[o,a]=f.useState(null),{mutate:i,isPending:l}=k.useMutation({mutationFn:async c=>{a(c.id);try{await n({connector:c})}catch(d){throw new Error(await He(d))}},onSettled:()=>{a(null)},onSuccess:()=>{e()}});return t.jsxs("div",{className:fe.page,children:[t.jsx("h1",{className:fe.title,children:"Connect wallet"}),t.jsx(Pe,{className:fe.scrollable,children:t.jsxs("div",{className:fe.list,children:[s.toSorted(D.descend(c=>c.id===r)).map(c=>{const{name:d,icon:u,id:h}=c;return t.jsxs("button",{className:fe.item,onClick:()=>i(c),disabled:l,children:[t.jsx(V,{src:u,width:24,height:24}),t.jsx("span",{className:fe.name,children:d}),o===h?t.jsx(Ge,{size:16}):r===h?t.jsx("span",{className:fe.recent,children:"Recent"}):t.jsx("span",{className:fe.installed,children:"Installed"})]},h)}),sl.filter(({name:c})=>!s.some(d=>d.name.includes(c))).map(({name:c,url:d})=>{const u=`https://assets.initia.xyz/images/wallets/${c}.webp`;return t.jsxs("a",{href:d,className:fe.item,target:"_blank",children:[t.jsx(V,{src:u,width:24,height:24}),t.jsx("span",{className:P(fe.name,fe.dimmed),children:c}),t.jsx(N.IconExternalLink,{size:10})]},c)})]})}),t.jsx(se,{children:t.jsxs("a",{href:"https://docs.initia.xyz",target:"_blank",className:fe.docs,children:[t.jsx("span",{children:"Learn more"}),t.jsx(N.IconExternalLink,{size:14})]})})]})},rl="_root_xwz5z_1",ol="_header_xwz5z_6",al="_title_xwz5z_12",il="_warning_xwz5z_18",cl="_content_xwz5z_22",ll="_footer_xwz5z_26",dl="_secondary_xwz5z_36",Ze={root:rl,header:ol,title:al,warning:il,content:cl,footer:ll,secondary:dl},fo=e=>{const{type:s,icon:n,title:r,children:o,primaryButton:a,secondaryButton:i}=e;return t.jsxs(Pe,{className:Ze.root,children:[t.jsxs("header",{className:P(Ze.header,s&&Ze[s]),children:[n,t.jsx("h1",{className:Ze.title,children:r})]}),t.jsx("div",{className:Ze.content,children:o}),t.jsxs("footer",{className:Ze.footer,children:[t.jsx(Q.White,{onClick:a.onClick,sm:!0,fullWidth:!0,children:a.label}),t.jsxs("button",{className:Ze.secondary,onClick:i.onClick,children:[t.jsx("span",{children:i.label}),t.jsx(N.IconChevronRight,{size:14})]})]})]})},ul="_list_tmcxc_1",ml="_row_tmcxc_8",hl="_dt_tmcxc_19",_l="_asset_tmcxc_25",Gt={list:ul,row:ml,dt:hl,asset:_l},fl=({list:e,onNavigate:s,onDismiss:n})=>{const r=ve(),o=We(),a=Qe(r);return t.jsx(fo,{title:"Ready to claim",primaryButton:{label:"View withdrawal status",onClick:s},secondaryButton:{label:"Do not show again",onClick:n},children:t.jsx("div",{className:Gt.list,children:e.toSorted((i,l)=>i.chainId.localeCompare(l.chainId)).map(({txHash:i,chainId:l,amount:c,denom:d})=>{const u=o(l),{decimals:h,symbol:m}=a(d),_=ne(c,{decimals:h});return t.jsxs("div",{className:Gt.row,children:[t.jsxs("div",{className:Gt.dt,children:[t.jsx(V,{src:u.logoUrl,width:16,height:16}),t.jsx("span",{children:u.name})]}),t.jsxs("span",{className:Gt.asset,children:[_," ",m]})]},i)})})})};function zs(e,s){return e.chainId===s.chainId&&e.txHash===s.txHash}const Yt=({chainId:e,txHash:s})=>`${M.OP_REMINDER}:${e}:${s}`,pl=jr.atomWithStorage(M.OP_REMINDER,[]);function St(){const e=J(),[s=[],n]=xe.useAtom(pl),r=f.useMemo(()=>s.map(c=>{const d=localStorage.getItem(Yt(c));return d?JSON.parse(d):null}).filter(c=>{if(!c)return!1;const{recipient:d,claimableAt:u}=c;return d!==e?!1:bt.isPast(u)}),[e,s]),o=f.useCallback((c,d)=>{s.some(u=>zs(u,c))||(n((u=[])=>[...u,c]),localStorage.setItem(Yt(c),JSON.stringify(d)))},[s,n]),a=f.useCallback(c=>{n((d=[])=>d.filter(u=>!zs(u,c))),localStorage.removeItem(Yt(c))},[n]),i=f.useCallback(c=>{const d=c.filter(u=>!s.some(h=>zs(h,u)));d.length!==0&&n((u=[])=>[...u,...d])},[s,n]),l=f.useCallback((c,d)=>{localStorage.setItem(Yt(c),JSON.stringify(d)),n((u=[])=>[...u])},[n]);return{reminders:r,addReminder:o,removeReminder:a,syncReminders:i,setReminder:l}}function po(){const e=ue(),{openModal:s,closeModal:n}=zt(),{reminders:r,setReminder:o}=St();f.useEffect(()=>{const a=r.filter(c=>!c.dismissed);if(a.length===0)return;const i=()=>{const c=a.every(d=>d.chainId===a[0].chainId)?a[0].chainId:void 0;e("/op/withdrawals",{chainId:c}),l()},l=()=>{n();for(const c of a)o(c,{...c,dismissed:!0})};s({content:f.createElement(fl,{list:a,onNavigate:i,onDismiss:l})})},[r,n,e,s,o])}const xl="2.0.0-rc.3",gl="_flex_1v8wv_1",yl={flex:gl},nn=({mt:e,mb:s,children:n})=>t.jsx("div",{className:yl.flex,style:{marginTop:e,marginBottom:s},children:n}),jl="_toggle_grhff_1",bl="_name_grhff_7",vl="_rollups_grhff_11",wl="_version_grhff_29",Jt={toggle:jl,name:bl,rollups:vl,version:wl},xo=({renderContent:e,storageKey:s})=>{const{defaultChainId:n}=ie(),{addedChains:r}=vt(),[o,a]=re.useLocalStorage(`${M.OPENED_CHAIN_IDS}:${s}`,[n]),i=o.length===0,l=()=>{a(i?r.map(c=>c.chainId):[])};return t.jsxs(t.Fragment,{children:[t.jsx(nn,{mb:6,children:t.jsxs(Q.Small,{className:Jt.toggle,onClick:l,children:[t.jsx("span",{children:i?"Expand all":"Collapse all"}),i?t.jsx(N.IconChevronDown,{size:10}):t.jsx(N.IconChevronUp,{size:10})]})}),t.jsx(ao,{list:r,getKey:({chainId:c})=>c,renderHeader:({name:c,logoUrl:d})=>t.jsxs(t.Fragment,{children:[t.jsx(V,{src:d,width:16,height:16}),t.jsx("span",{className:Jt.name,children:c})]}),renderContent:e,value:o,onValueChange:a,footer:t.jsxs(Ut,{className:Jt.rollups,to:"/rollups",children:[t.jsx(N.IconSettingFilled,{size:12}),t.jsx("span",{children:"Manage rollup list"})]})}),t.jsx(nn,{mt:8,children:t.jsxs("span",{className:Jt.version,children:["v",xl]})})]})},Cl="_asset_1dxy8_1",Nl="_token_1dxy8_23",Il="_symbol_1dxy8_28",Sl="_name_1dxy8_29",$l="_balance_1dxy8_40",kl="_amount_1dxy8_45",El="_value_1dxy8_49",Xe={asset:Cl,token:Nl,symbol:Il,name:Sl,balance:$l,amount:kl,value:El},Al=e=>{const{denom:s,symbol:n,name:r,logoUrl:o,decimals:a,balance:i="0",value:l=0}=e;return t.jsxs("div",{className:Xe.asset,children:[t.jsx(V,{src:o,width:24,height:24}),t.jsxs("div",{className:Xe.token,children:[t.jsx("div",{className:Xe.symbol,children:n??te(s)}),r&&t.jsx("div",{className:Xe.name,children:r})]}),$(i).gt(0)&&t.jsxs("div",{className:Xe.balance,children:[t.jsx("div",{className:Xe.amount,children:ne(i,{decimals:a})}),l>0&&t.jsxs("div",{className:Xe.value,children:["$",at(l)]})]})]})},Tl="_actions_180l3_1",Dl="_button_180l3_8",ql="_add_180l3_25",Tt={actions:Tl,button:Dl,add:ql},Pl=({denom:e,chain:s})=>{const n=ue(),{defaultChainId:r}=ie(),{evm_chain_id:o}=xs(),{address:a="",symbol:i,decimals:l,logoUrl:c}=yn(e,s),{connector:d}=je.useAccount(),{switchChainAsync:u}=je.useSwitchChain(),{watchAssetAsync:h}=je.useWatchAsset(),{chainId:m}=s,_=()=>{n("/send",{denom:e,chain:s})},p=()=>{n("/bridge",{srcChainId:m,srcDenom:e})},x=k.useMutation({mutationFn:async()=>(await u({chainId:Number(o)}),h({type:"ERC20",options:{address:a,symbol:i,decimals:l,image:c}}))});return t.jsxs("nav",{className:Tt.actions,children:[t.jsx("button",{className:Tt.button,onClick:_,children:"Send"}),t.jsx("button",{className:Tt.button,onClick:p,children:"Bridge/Swap"}),m===r&&!!a&&t.jsxs("button",{className:P(Tt.button,Tt.add),onClick:()=>x.mutate(),disabled:x.isPending||x.data,children:[x.data?t.jsx(N.IconCheck,{size:10}):t.jsx(N.IconPlus,{size:10}),t.jsx(V,{src:d==null?void 0:d.icon,width:16,height:16})]})]})},Fl="_list_wod0u_1",Bl="_item_wod0u_8",Rl="_trigger_wod0u_19",Ml="_content_wod0u_24",Zt={list:Fl,item:Bl,trigger:Rl,content:Ml},Ol=e=>{const s=Yr(e);return s.length?t.jsx(A.Accordion.Root,{type:"single",collapsible:!0,className:Zt.list,children:s.map(n=>t.jsxs(A.Accordion.Item,{className:Zt.item,value:n.denom,children:[t.jsx(A.Accordion.Header,{children:t.jsx(A.Accordion.Trigger,{className:Zt.trigger,children:t.jsx(bs,{asset:n,chain:e,children:r=>t.jsx(Al,{...r})})})}),t.jsx(A.Accordion.Content,{className:Zt.content,children:t.jsx(Pl,{denom:n.denom,chain:e})})]},n.denom))}):t.jsx(ae,{children:"No assets"})},Ul=()=>t.jsx(xo,{renderContent:e=>t.jsx(ce,{children:t.jsx(Ol,{...e})}),storageKey:"assets"});function Nn(e,s){var o;const n=((o=s==null?void 0:s.pages)==null?void 0:o.map(a=>a[e]??[]).flat())??[],r=D.pathOr(0,[0,"pagination","total"],s==null?void 0:s.pages);return{list:n,count:r}}function In(e){return e.pagination.next_key}async function zl(e,s,n){const r=K.create(s),o=async(a,i)=>{const l=await r.extend(i?{searchParams:{"pagination.key":i}}:{}).get(e).json(),c=l[n]??[],d=In(l),u=[...a,...c];return d?o(u,d):u};return o([],null)}const Sn=qe.createQueryKeys("interwovenkit:nft",{collections:(e,s)=>[e,s],collection:(e,s,n)=>[e,s,n],metadata:e=>[e]});function Kl(e){const{object_addr:s,collection:n}=e;return{object_addr:s,...n}}function Hl(e,s){const{collection_addr:n,collection_name:r,nft:o,object_addr:a}=e,i=s.name??o.token_id;return{collection_addr:n,collection_name:r,...o,object_addr:a,...s,name:i}}function Ll(e){const{indexerUrl:s}=e,n=J(),{data:r}=k.useSuspenseQuery({queryKey:Sn.collections(s,n).queryKey,queryFn:()=>zl(`indexer/nft/v1/collections/by_account/${n}`,{prefixUrl:s},"collections"),select:o=>o.map(Kl),staleTime:H.SECOND});return r}function go({chain:e,collection:s}){const n=J(),{object_addr:r}=s,{indexerUrl:o}=e;return k.useSuspenseInfiniteQuery({queryKey:Sn.collection(o,n,r).queryKey,queryFn:({pageParam:a=""})=>K.create({prefixUrl:o}).get(`indexer/nft/v1/tokens/by_account/${n}`,{searchParams:{collection_addr:r,"pagination.key":a||"","pagination.limit":9}}).json(),initialPageParam:"",getNextPageParam:In,staleTime:H.SECOND})}function Zn(e){return e==null?void 0:e.replace("ipfs://","https://ipfs.io/ipfs/")}function Wl(e){const s=Zn(e);return k.useQuery({queryKey:Sn.metadata(s).queryKey,queryFn:async()=>{try{if(!s)return{};const n=await K.get(s).json();return{...n,image:Zn(n.image)}}catch{return{}}},staleTime:H.INFINITY})}const yo=({nftResponse:e,children:s})=>{const{data:n={}}=Wl(e.nft.uri),r=Hl(e,n);return s(r)},Ql="_thumbnail_1se9u_1",Vl="_placeholder_1se9u_15",Gl="_clickable_1se9u_21",Dt={thumbnail:Ql,placeholder:Vl,clickable:Gl},vs=({chain:e,collection:s,nft:n,size:r,onClick:o})=>{const a=new URL(`/v1/${e.chainId}/${s.object_addr}/${n.object_addr||n.token_id}`,"https://glyph.initia.xyz").toString();return o?t.jsx("button",{className:P(Dt.thumbnail,Dt.clickable),onClick:o,style:{width:r,height:r},children:t.jsx(V,{src:a,classNames:{placeholder:Dt.placeholder}})}):t.jsx("div",{className:Dt.thumbnail,style:{width:r,height:r},children:t.jsx(V,{src:a,classNames:{placeholder:Dt.placeholder}})})},Yl="_item_1rdda_1",Jl="_content_1rdda_15",Zl="_name_1rdda_21",Xl="_count_1rdda_27",ed="_chevron_1rdda_33",qt={item:Yl,content:Jl,name:Zl,count:Xl,chevron:ed},td=({chain:e,collection:s})=>{const{data:n}=go({chain:e,collection:s}),{list:r,count:o}=Nn("tokens",n),[a]=r;return t.jsxs(Ut,{className:qt.item,to:"/collection",state:{collection:s,chain:e},children:[a&&t.jsx(yo,{nftResponse:a,children:i=>t.jsx(vs,{chain:e,collection:s,nft:i,size:58})}),t.jsxs("div",{className:qt.content,children:[t.jsx("div",{className:qt.name,children:s.name}),o>0&&t.jsx("div",{className:qt.count,children:o})]}),t.jsx("div",{className:qt.chevron,children:t.jsx(N.IconChevronRight,{})})]})},sd="_list_1lv70_1",nd={list:sd},rd=({chain:e})=>{const s=Ll(e);return s.length?t.jsx("div",{className:nd.list,children:s.map(n=>t.jsx(td,{collection:n,chain:e},n.object_addr))}):t.jsx(ae,{children:"No collections"})},od=()=>t.jsx(xo,{renderContent:e=>t.jsx(ce,{children:t.jsx(rd,{chain:e})}),storageKey:"nfts"}),ct=({title:e,content:s,children:n,className:r})=>{const[o,a]=f.useState(!1),i=()=>a(!1);return t.jsx(no,{title:e,trigger:t.jsx("button",{className:r,children:n}),open:o,onOpenChange:a,children:s(i)})},ad="_scrollable_1p1lw_1",id="_list_1p1lw_5",cd="_item_1p1lw_9",ld="_name_1p1lw_13",Xt={scrollable:ad,list:id,item:cd,name:ld};function jo({onSelect:e,list:s,...n}){const{getImage:r,getName:o,getKey:a,getIsLoading:i,getDisabled:l}=n;return t.jsx(Pe,{className:Xt.scrollable,children:t.jsx("div",{className:Xt.list,children:s.map(c=>t.jsxs("button",{className:Xt.item,onClick:()=>e(c),disabled:(i==null?void 0:i(c))||(l==null?void 0:l(c)),children:[t.jsx(V,{src:r(c),width:28,height:28}),t.jsx("span",{className:Xt.name,children:o(c)}),(i==null?void 0:i(c))&&t.jsx(Ge,{size:16})]},a(c)))})})}const bo=({onSelect:e})=>{const{addedChains:s}=vt();return t.jsx(jo,{onSelect:n=>e(n.chainId),list:s,getImage:n=>n.logoUrl,getName:n=>n.name,getKey:n=>n.chainId})},dd="_button_1uc4x_1",ud="_name_1uc4x_9",md="_icon_1uc4x_13",Ks={button:dd,name:ud,icon:md},hd=({value:e,onSelect:s})=>{const{logoUrl:n,name:r}=be(e);return t.jsxs(ct,{title:"Select rollup",content:o=>t.jsx(bo,{onSelect:a=>{s(a),o()}}),className:P("input",Ks.button),children:[t.jsx(V,{src:n,width:16,height:16}),t.jsx("span",{className:Ks.name,children:r}),t.jsx(N.IconChevronDown,{size:16,className:Ks.icon})]})},_d="_button_1iys9_1",fd={button:_d},ws=({onClick:e,disabled:s})=>{const{ref:n,inView:r}=oa.useInView();return f.useEffect(()=>{r&&e()},[r,e]),t.jsxs("button",{className:fd.button,onClick:e,disabled:s,ref:n,children:[t.jsx("span",{children:"Load more"}),t.jsx(N.IconChevronDown,{size:12})]})};function pd({indexerUrl:e}){const s=J();return k.useSuspenseInfiniteQuery({queryKey:Nt.txs(e,s).queryKey,queryFn:async({pageParam:n=""})=>{const r={"pagination.key":n||"","pagination.reverse":!0};return K.create({prefixUrl:e}).get(`indexer/tx/v1/txs/by_account/${s}`,{searchParams:r}).json()},initialPageParam:"",getNextPageParam:In,staleTime:H.SECOND})}const xd="_message_1g2hc_1",gd="_more_1g2hc_8",Xn={message:xd,more:gd},yd=({messages:e})=>t.jsxs(t.Fragment,{children:[e.slice(0,3).map((s,n)=>t.jsx("p",{className:Xn.message,children:_s.sentenceCase(s["@type"].split("Msg")[1])},n)),e.length>3&&t.jsx("footer",{className:Xn.more,children:`+${e.length-3} more`})]}),jd="_change_8jpfs_1",bd="_positive_8jpfs_9",vd="_negative_8jpfs_13",Hs={change:jd,positive:bd,negative:vd},vo=({amount:e,asset:s})=>{const{denom:n,symbol:r,decimals:o}=s,a=new $(e).isPositive(),i=new $(e).abs().toString();return t.jsxs("div",{className:P(Hs.change,a?Hs.positive:Hs.negative),children:[a?"+":"-",ne(i,{decimals:o})," ",r??te(n)]})},wd=({changes:e,chain:s})=>{const n=Qe(s);return e.map(({amount:r,denom:o},a)=>t.jsx(vo,{amount:r,asset:n(o)},a))},Cd=({changes:e,chain:s})=>{const n=Qe(s);return e.map(({amount:r,metadata:o},a)=>t.jsx(uo,{metadata:o,chain:s,children:i=>t.jsx(bs,{asset:n(i),chain:s,children:l=>t.jsx(vo,{amount:r,asset:l})})},a))},Nd=({events:e,chain:s})=>{var o,a,i;const{initiaAddress:n,hexAddress:r}=ye();return(o=s.metadata)!=null&&o.is_l1||((i=(a=s.metadata)==null?void 0:a.minitia)==null?void 0:i.type)==="minimove"?t.jsx(Cd,{changes:lo(e,r),chain:s}):t.jsx(wd,{changes:co(e,n),chain:s})},Id="_link_qkpto_1",Sd="_inner_qkpto_14",$d="_timestamp_qkpto_23",kd="_content_qkpto_39",Ed="_messages_qkpto_45",Ad="_changes_qkpto_50",Td="_error_qkpto_57",et={link:Id,inner:Sd,timestamp:$d,content:kd,messages:Ed,changes:Ad,error:Td},Dd=({txItem:e,chain:s})=>t.jsx(Cn,{txHash:e.txhash,chainId:s.chainId,className:et.link,children:t.jsxs("div",{className:et.inner,children:[t.jsx("div",{className:et.timestamp,children:_s.sentenceCase(bt.intlFormatDistance(new Date(e.timestamp),new Date,{locale:"en-US"}))}),t.jsxs("div",{className:et.content,children:[t.jsx("div",{className:et.messages,children:t.jsx(yd,{messages:e.tx.body.messages})}),t.jsx("div",{className:et.changes,children:t.jsx(ce,{suspenseFallback:null,errorBoundaryProps:{fallback:null},children:t.jsx(Nd,{...e,chain:s})})})]}),e.code!==0&&t.jsxs("div",{className:et.error,children:[t.jsx(N.IconWarningFilled,{size:12}),t.jsx("span",{children:"Failed"})]})]})}),qd="_list_10hx5_1",Pd={list:qd},Fd=({chain:e})=>{const{data:s,hasNextPage:n,isFetching:r,fetchNextPage:o}=pd(e),{list:a}=Nn("txs",s);return a.length?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:Pd.list,children:a.map(i=>t.jsx(Dd,{txItem:i,chain:e},i.txhash))}),n&&t.jsx(ws,{onClick:()=>o(),disabled:r})]}):t.jsx(ae,{children:"No activity yet"})},Bd=()=>{const{defaultChainId:e}=ie(),[s,n]=re.useLocalStorage(M.ACTIVITY_CHAIN_ID,e),r=be(s);return t.jsxs(t.Fragment,{children:[t.jsx(hd,{value:s,onSelect:n}),t.jsx(ce,{children:t.jsx(Fd,{chain:r})},s)]})},Rd="_nav_1ldnv_1",Md="_item_1ldnv_6",Od="_tabs_1ldnv_28",Ud="_tab_1ldnv_28",tt={nav:Rd,item:Md,tabs:Od,tab:Ud},zd=()=>{po();const e=ue(),s=Tr();return t.jsxs(Pe,{children:[t.jsxs("div",{className:tt.nav,children:[t.jsxs(Ut,{to:"/send",className:tt.item,children:[t.jsx(N.IconArrowRight,{size:16}),t.jsx("span",{children:"Send"})]}),t.jsxs("button",{className:tt.item,onClick:()=>e("/bridge"),children:[t.jsx(N.IconSwap,{size:16}),t.jsx("span",{children:"Bridge/Swap"})]})]}),t.jsxs(A.Tabs.Root,{value:s,onValueChange:e,children:[t.jsxs(A.Tabs.List,{className:tt.tabs,children:[t.jsx(A.Tabs.Trigger,{className:tt.tab,value:"/",children:"Assets"}),t.jsx(A.Tabs.Trigger,{className:tt.tab,value:"/nfts",children:"NFTs"}),t.jsx(A.Tabs.Trigger,{className:tt.tab,value:"/activity",children:"Activity"})]}),t.jsx(A.Tabs.Content,{value:"/",children:t.jsx(Ul,{})}),t.jsx(A.Tabs.Content,{value:"/nfts",children:t.jsx(od,{})}),t.jsx(A.Tabs.Content,{value:"/activity",children:t.jsx(Bd,{})})]})]})};function wo({quantity:e,balance:s,decimals:n},r){if($.BigNumber(e).isZero()){r.addIssue({code:G.z.ZodIssueCode.custom,message:"Enter amount",path:["quantity"]});return}if(!s||$.BigNumber(fs(e,n)).gt(s)){r.addIssue({code:G.z.ZodIssueCode.custom,message:"Insufficient balance",path:["quantity"]});return}}const Co=G.z.string().nonempty("Recipient address is required").refine(e=>B.validate(e),"Invalid address"),Kd="_header_acels_1",Hd="_back_acels_11",Ld="_title_acels_23",Ls={header:Kd,back:Hd,title:Ld},Fe=({title:e,returnTo:s,extra:n,children:r})=>t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:Ls.header,children:[s!==!1&&t.jsx(Ut,{to:s??-1,className:Ls.back,children:t.jsx(N.IconBack,{size:16})}),t.jsx("h1",{className:Ls.title,children:e}),n]}),t.jsx(Pe,{children:r})]}),Wd="_fieldset_y241y_1",Qd="_upper_y241y_9",Vd="_select_y241y_14",Gd="_account_y241y_19",Yd="_lower_y241y_24",Jd="_wrapper_y241y_25",Zd="_balance_y241y_32",Xd="_value_y241y_36",eu="_error_y241y_49",Ee={fieldset:Wd,upper:Qd,select:Vd,account:Gd,lower:Yd,wrapper:Jd,balance:Zd,value:Xd,error:eu},rn=e=>{const{selectButton:s,accountButton:n,quantityInput:r,balanceButton:o,value:a,errorMessage:i}=e;return t.jsxs("div",{className:Ee.fieldset,children:[t.jsxs("div",{className:Ee.upper,children:[t.jsx("div",{className:Ee.select,children:s}),t.jsx("div",{className:Ee.account,children:n})]}),t.jsxs("div",{className:Ee.lower,children:[r,t.jsxs("div",{className:Ee.wrapper,children:[t.jsx("div",{className:Ee.balance,children:o}),a&&t.jsxs("div",{className:Ee.value,children:["$",a]})]}),i&&t.jsxs("footer",{className:Ee.error,children:[t.jsx(N.IconWarningFilled,{size:12}),t.jsx("p",{children:i})]})]})]})},tu="_images_1txea_1",su="_chain_1txea_5",er={images:tu,chain:su},$n=({assetLogoUrl:e,chainLogoUrl:s})=>t.jsxs("div",{className:er.images,children:[t.jsx(V,{src:e,width:36,height:36}),t.jsx(V,{src:s,width:18,height:18,className:er.chain})]}),nu="_root_1ipwv_1",ru="_content_1ipwv_10",ou="_details_1ipwv_18",au="_symbol_1ipwv_23",iu="_chain_1ipwv_31",cu="_chevron_1ipwv_40",st={root:nu,content:ru,details:ou,symbol:au,chain:iu,chevron:cu},No=({asset:e,chain:s,readOnly:n})=>{const r=t.jsxs("div",{className:st.content,children:[t.jsx($n,{assetLogoUrl:e.logoUrl,chainLogoUrl:s.logoUrl}),t.jsxs("div",{className:st.details,children:[t.jsx("div",{className:st.symbol,children:e.symbol}),t.jsxs("div",{className:st.chain,children:["on ",s.name]})]})]});return n?t.jsx("div",{className:st.root,children:r}):t.jsxs("div",{className:st.root,children:[r,t.jsx(N.IconChevronDown,{size:16,className:st.chevron})]})},lu="_wrapper_5vodt_1",du="_balance_5vodt_11",uu="_button_5vodt_15",Ws={wrapper:lu,balance:du,button:uu},Io=({onClick:e,children:s})=>t.jsxs("div",{className:Ws.wrapper,children:[t.jsx(N.IconWallet,{size:16}),t.jsx("span",{className:Ws.balance,children:s}),t.jsx("button",{type:"button",className:Ws.button,onClick:()=>e(),children:"MAX"})]});function Cs(){const e=f.useRef(null),s=re.useMediaQuery("(max-width: 576px)");return f.useEffect(()=>{var n;s||(n=e.current)==null||n.focus()},[s]),e}const mu="_input_h8073_1",hu={input:mu};function _u(e,s){const n=e.replace(/[^0-9.]/g,""),[r,...o]=n.split(".");return o.length===0?r:`${r}.${o.join("").slice(0,s)}`}function So(e){const{name:s,control:n,dp:r=6,className:o,...a}=e,i=Cs();return t.jsx(oe.Controller,{name:s,control:n,render:({field:l})=>t.jsx("input",{...l,className:P(hu.input,o),onChange:c=>l.onChange(_u(c.target.value,r)),placeholder:"0",inputMode:"decimal",autoComplete:"off",...a,ref:Cr.mergeRefs([l.ref,i])})})}const fu="_input_qpv94_1",pu="_placeholder_qpv94_18",on={input:fu,placeholder:pu},xu=({children:e})=>t.jsx("p",{className:P(on.input,{[on.placeholder]:$(e).isZero()}),children:e}),ds=()=>{const{control:e}=oe.useFormContext();return t.jsx(So,{name:"quantity",control:e,className:on.input})};ds.ReadOnly=xu;const gu="_label_9417z_1",yu="_wrapper_9417z_7",ju="_input_9417z_10",bu="_clear_9417z_18",es={label:gu,wrapper:yu,input:ju,clear:bu},kn=({mode:e="onChange",myAddress:s,...n})=>{const{validate:r=B.validate,chainType:o="initia",onApply:a,ref:i}=n,l=Cs(),{getValues:c,setValue:d,formState:u}=oe.useFormContext(),h=c("recipient"),[m,_]=f.useState(h),p=Gr(),{data:x,isLoading:w,error:C}=k.useQuery({queryKey:Nt.address(p.restUrl,m).queryKey,queryFn:()=>p.getAddress(m),staleTime:H.MINUTE,enabled:p.validateUsername(m)}),j=x??(r(m)?m:""),T=s&&B.equals(j,s),b=async()=>{try{const g=await navigator.clipboard.readText();_(g.trim())}catch{}};f.useEffect(()=>{e==="onChange"&&m&&d("recipient",x??m,{shouldValidate:!0})},[m,e,d,x]);const I=()=>{w||C||(d("recipient",j,{shouldValidate:!0}),a==null||a())},S=()=>{var g;if(w)return t.jsx(ze,{level:"loading",children:"Resolving username..."});if(C)return t.jsx(ze,{level:"error",children:C.message});if(x)return t.jsx(ze,{level:"success",className:"monospace",children:x});if(e==="onSubmit"&&m&&!j)return t.jsx(ze,{level:"error",children:"Invalid address"});if(e==="onChange")return t.jsx(ze,{level:"error",children:(g=u.errors.recipient)==null?void 0:g.message})};return t.jsxs("div",{children:[t.jsxs("label",{htmlFor:"recipient",className:es.label,children:[t.jsx("span",{children:"Recipient"}),t.jsx(Q.Small,{type:"button",onClick:b,children:"Paste"})]}),t.jsxs("div",{className:es.wrapper,children:[t.jsx("input",{id:"recipient",className:P(es.input,"monospace"),value:m,onChange:g=>_(g.target.value.trim()),placeholder:o==="initia"?"Address or username":"Enter address",autoComplete:"off","data-has-value":m?"true":void 0,ref:e==="onSubmit"?Cr.mergeRefs([i,l]):i}),!!m&&t.jsx("button",{type:"button",className:es.clear,onClick:()=>_(""),"aria-label":"Clear recipient",children:t.jsx(N.IconCloseCircleFilled,{size:16})})]}),S(),T&&t.jsx(ze,{children:"This is my address"}),e==="onSubmit"&&t.jsx(se,{extra:(!s||!!j&&!T)&&t.jsx(ee,{level:"warning",children:"Do not enter an exchange address. Tokens sent to an address that does not support bridge transfer will be irretrievable."}),children:t.jsx(Q.White,{type:"button",onClick:I,disabled:w||!!C||!j,children:"Apply"})})]})},$o=2e5;function vu({balances:e,gasPrices:s}){return s.map(({denom:n,amount:r})=>{var i;const o=$(r).times($o).toFixed(0,$.ROUND_CEIL),a=((i=e.find(l=>l.denom===n))==null?void 0:i.amount)??"0";return{amount:o,denom:n,balance:a}}).filter(({amount:n,balance:r})=>$(r).gte(n))}function wu({denom:e,balances:s,gasPrices:n,lastFeeDenom:r}){var c;const o=((c=s.find(d=>d.denom===e))==null?void 0:c.amount)??"0",a=vu({balances:s,gasPrices:n}),i=a.find(d=>d.denom===r);if(a.length===0)return"0";if(e===r&&i){const d=$(o).minus(i.amount);return $.max(d,0).toString()}const[l]=a;if(!i&&e===l.denom){const d=$(o).minus(l.amount);return $.max(d,0).toString()}return $(o).toString()}const Cu="_container_1a4ds_1",Nu="_badge_1a4ds_5",tr={container:Cu,badge:Nu},ko=e=>{const{offset:s=-4,disabled:n,children:r,className:o}=e;return t.jsxs("div",{className:P(tr.container,o),children:[r,!n&&t.jsx("div",{className:tr.badge,style:{right:s,top:s}})]})},Iu="_tooltip_6zakp_1",Su="_arrow_6zakp_43",sr={tooltip:Iu,arrow:Su},Ht=({label:e,children:s,small:n,...r})=>t.jsxs(A.Tooltip.Root,{...r,children:[t.jsx(A.Tooltip.Trigger,{asChild:!0,children:s}),t.jsx(A.Tooltip.Portal,{container:Ot(),children:t.jsxs(A.Tooltip.Content,{className:P(sr.tooltip,{small:n}),collisionBoundary:Ot(),collisionPadding:8,sideOffset:4,children:[e,t.jsx(A.Tooltip.Arrow,{className:sr.arrow})]})})]}),$u="_stack_a3b9q_1",ku="_title_a3b9q_8",Eu="_grid_a3b9q_15",Au="_item_a3b9q_21",Tu="_button_a3b9q_25",Du="_active_a3b9q_43",ft={stack:$u,title:ku,grid:Eu,item:Au,button:Tu,active:Du},ot=({label:e,chains:s,value:n,onSelect:r,getShowIndicator:o})=>t.jsxs("div",{children:[e&&t.jsx("h2",{className:ft.title,children:e}),t.jsx("div",{className:ft.grid,children:s.map(({chainId:a,name:i,logoUrl:l})=>t.jsx(ko,{offset:-2,disabled:!(o!=null&&o(a)),className:ft.item,children:t.jsx(Ht,{label:i,disableHoverableContent:!0,children:t.jsx("button",{type:"button",className:P(ft.button,{[ft.active]:a===n}),onClick:()=>r(a),children:t.jsx(V,{src:l,width:28,height:28,circle:!0})})})},a))})]}),qu=({children:e})=>t.jsx("div",{className:ft.stack,children:e});ot.Stack=qu;function Eo(e,s,n){return n.filter(r=>{const o=e.map(a=>r[a]).map(a=>String(a??"").toLowerCase());return D.any(D.includes(s.toLowerCase()),o)})}const Pu="_root_qd12v_1",Fu="_label_qd12v_8",Bu="_input_qd12v_14",Ru="_clear_qd12v_20",ts={root:Pu,label:Fu,input:Bu,clear:Ru},En=({value:e="",onChange:s,placeholder:n="Search",className:r})=>t.jsxs("div",{className:P(ts.root,r),children:[t.jsx("label",{htmlFor:"search",className:ts.label,children:t.jsx(N.IconSearch,{size:16})}),t.jsx("input",{id:"search",type:"text",className:ts.input,value:e,onChange:o=>s==null?void 0:s(o.target.value),placeholder:n,readOnly:!s,ref:Cs()}),e&&t.jsx("button",{className:ts.clear,onClick:()=>s==null?void 0:s(""),children:t.jsx(N.IconCloseCircleFilled,{size:20})})]}),Mu="_container_17tpb_1",Ou="_list_17tpb_6",Uu="_item_17tpb_12",zu="_logo_17tpb_31",Ku="_info_17tpb_35",Hu="_symbol_17tpb_40",Lu="_name_17tpb_44",Wu="_balance_17tpb_50",Qu="_value_17tpb_58",Ie={container:Mu,list:Ou,item:Uu,logo:zu,info:Ku,symbol:Hu,name:Lu,balance:Wu,value:Qu},Lt=e=>{const{assets:s,onSelect:n,renderAsset:r=(l,c)=>c(l)}=e,[o,a]=f.useState(""),i=Eo(["symbol"],o,s);return t.jsxs("div",{className:Ie.container,children:[t.jsx(En,{value:o,onChange:a,placeholder:"Search by symbol"}),i.length===0?t.jsx(ae,{children:"No assets"}):t.jsx("div",{className:Ie.list,children:i.map(l=>t.jsx("button",{type:"button",className:Ie.item,onClick:()=>n(l.denom),children:r(l,({logoUrl:c,symbol:d,name:u,balance:h,decimals:m,value:_=0})=>t.jsxs(t.Fragment,{children:[t.jsx(V,{src:c,width:32,height:32,className:Ie.logo}),t.jsxs("div",{className:Ie.info,children:[t.jsx("div",{className:Ie.symbol,children:d}),t.jsx("div",{className:Ie.name,children:u})]}),t.jsxs("div",{className:Ie.balance,children:[h&&t.jsx("div",{children:ne(h,{decimals:m})}),_>0&&t.jsxs("div",{className:Ie.value,children:["$",at(_)]})]})]}))},l.denom))})]})},Vu=()=>t.jsxs("div",{className:Ie.container,children:[t.jsx(En,{placeholder:"Search by symbol"}),t.jsx(ae,{children:"Loading..."})]});Lt.Placeholder=Vu;const Gu=({chain:e,onSelect:s})=>{const n=Yr(e);return n.length===0?t.jsx(ae,{children:"No assets"}):t.jsx(Lt,{assets:n,onSelect:s,renderAsset:(r,o)=>t.jsx(bs,{asset:r,chain:e,children:a=>o(a)})})},Yu=({afterSelect:e})=>{const{watch:s,setValue:n}=oe.useFormContext(),{chainId:r}=s(),[o,a]=f.useState(r),i=be(o),{addedChains:l}=vt(),c=d=>{n("chainId",o),n("denom",d),e()};return t.jsxs(t.Fragment,{children:[l.length>1&&t.jsx(ot.Stack,{children:t.jsx(ot,{chains:l,value:o,onSelect:a})}),t.jsx(ce,{suspenseFallback:t.jsx(Lt.Placeholder,{}),children:t.jsx(Gu,{chain:i,onSelect:c})},o)]})},Ju="_fields_brpej_1",Zu="_divider_brpej_11",nr={fields:Ju,divider:Zu},Xu=()=>{var y,F,U,R;const{address:e,initiaAddress:s,requestTxSync:n}=ye(),{register:r,watch:o,setValue:a,handleSubmit:i,formState:l}=oe.useFormContext(),{chainId:c,denom:d,quantity:u,memo:h}=o(),{addedChains:m}=vt(),_=be(c),p=jn(_),x=ro(_),w=oo(_),C=yn(d,_),{data:j}=Pr(_.chainId),{decimals:T}=C,b=((y=p.find(q=>q.denom===d))==null?void 0:y.amount)??"0",I=(F=j==null?void 0:j.find(({id:q})=>q===d))==null?void 0:F.price,S=wu({denom:d,balances:p,gasPrices:x,lastFeeDenom:w}),{mutate:g,isPending:v}=k.useMutation({mutationFn:({chainId:q,denom:L,quantity:W,recipient:Z,memo:me})=>{const we=fs(W,T),Ce=[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:aa.MsgSend.fromPartial({fromAddress:s,toAddress:B.toBech32(Z),amount:[{denom:L,amount:we}]})}];return n({messages:Ce,memo:me,chainId:q,gas:$o,gasAdjustment:1,gasPrices:x,spendCoins:[{denom:L,amount:we}],internal:"/"})}});return t.jsx(Fe,{title:"Send",children:t.jsxs("form",{onSubmit:i(q=>g(q)),children:[t.jsxs("div",{className:nr.fields,children:[t.jsx(rn,{selectButton:t.jsx(ct,{title:m.length>1?"Select chain and asset":"Select asset",content:q=>t.jsx(Yu,{afterSelect:q}),children:t.jsx(No,{asset:C,chain:_})}),quantityInput:t.jsx(ds,{}),balanceButton:t.jsx(Io,{onClick:()=>a("quantity",cs(S,T),{shouldValidate:!0}),children:ne(b,{decimals:T})}),value:u?I?at($(u).times(I)):"-":"0",errorMessage:(U=l.errors.quantity)==null?void 0:U.message}),t.jsx("div",{className:nr.divider}),t.jsx(kn,{myAddress:e}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:"memo",children:"Memo (optional)"}),t.jsx("input",{...r("memo"),id:"memo",autoComplete:"off"}),t.jsx(ze,{level:"error",children:(R=l.errors.memo)==null?void 0:R.message})]}),t.jsx(ee.Stack,{children:!h&&t.jsx(ee,{level:"warning",children:"Check if the above transaction requires a memo"})})]}),t.jsx(se,{children:t.jsx(Q.White,{type:"submit",loading:v,disabled:!l.isValid,children:"Confirm"})})]})})},em=G.z.object({chainId:G.z.string().nonempty(),denom:G.z.string().nonempty(),quantity:G.z.string().nonempty("Amount is required"),recipient:Co,memo:G.z.string().optional().refine(e=>!e||new Blob([e]).size<=256,"Memo is too long")}),tm=()=>{const e=Ke(),s=xs(),n=Rt(s),[r]=n,{chain:o=s,denom:a=r.denom}=e,i=We(),l=J(),c=k.useQueryClient(),d=oe.useForm({mode:"onChange",defaultValues:{chainId:o.chainId,denom:a,quantity:"",recipient:"",memo:""},resolver:_n.zodResolver(em.superRefine(({chainId:u,denom:h,quantity:m},_)=>{var j;const p=i(u),{decimals:x}=c.getQueryData(it.item(u,h).queryKey)??{decimals:0},{balances:w}=c.getQueryData(Nt.balances(p.restUrl,l).queryKey)??{balances:[]},C=(j=w.find(T=>T.denom===h))==null?void 0:j.amount;wo({quantity:m,balance:C,decimals:x},_)}))});return t.jsx(oe.FormProvider,{...d,children:t.jsx(Xu,{})})},sm="_grid_4j669_1",nm="_item_4j669_7",rm="_name_4j669_15",Qs={grid:sm,item:nm,name:rm},om=()=>{const e=ue(),{collection:s,chain:n}=Ke(),{data:r,hasNextPage:o,isFetching:a,fetchNextPage:i}=go({chain:n,collection:s}),{list:l}=Nn("tokens",r);return t.jsxs(Fe,{title:s.name,children:[t.jsx("div",{className:Qs.grid,children:l.map(c=>t.jsx(yo,{nftResponse:c,children:d=>t.jsxs("div",{className:Qs.item,children:[t.jsx(vs,{chain:n,collection:s,nft:d,onClick:()=>e("/nft",{collection:s,nft:d,chain:n})}),t.jsx("div",{className:Qs.name,children:d.name})]})},c.object_addr))}),o&&t.jsx(ws,{onClick:()=>i(),disabled:a})]})},am="_header_196nx_1",im="_name_196nx_6",cm="_attributes_196nx_12",lm="_title_196nx_15",dm="_list_196nx_21",um="_item_196nx_25",mm="_type_196nx_34",hm="_value_196nx_40",Me={header:am,name:im,attributes:cm,title:lm,list:dm,item:um,type:mm,value:hm},_m=()=>{const e=ue(),s=Ke(),{collection:n,nft:r,chain:o}=s,{image:a,name:i,attributes:l}=r;return t.jsxs(Fe,{title:n.name,children:[t.jsxs("header",{className:Me.header,children:[a&&t.jsx(vs,{chain:o,collection:n,nft:r}),t.jsx("h2",{className:Me.name,children:i})]}),t.jsx(se,{children:t.jsx(Q.White,{onClick:()=>e("/nft/send",s),children:"Send"})}),l&&t.jsxs("div",{className:Me.attributes,children:[t.jsxs("header",{className:Me.title,children:["Traits (",l.length,")"]}),t.jsx("div",{className:Me.list,children:l.map(({trait_type:c,value:d})=>t.jsxs("div",{className:Me.item,children:[t.jsx("div",{className:Me.type,children:c}),t.jsx("div",{className:Me.value,children:d})]},c))})]})]})};async function fm({object_addr:e},{restUrl:s}){const n=await pm(e,s);return n.startsWith("ibc/")?Vr("0x1",n)===e.replace("0x","").padStart(64,"0")?{class_id:n,class_trace:await an(n,s)}:{class_id:`move/${e.replace("0x","").padStart(64,"0")}`,class_trace:await an(n,s)}:{class_id:`move/${e.replace("0x","").padStart(64,"0")}`,class_trace:null}}async function pm(e,s){const{data:n}=await K.create({prefixUrl:s}).post("initia/move/v1/view/json",{json:{address:"0x1",module_name:"collection",function_name:"name",type_args:["0x1::collection::Collection"],args:[JSON.stringify(e)]}}).json();return JSON.parse(n)}async function xm({object_addr:e},{restUrl:s}){const n=await gm(e,s);if(!n.startsWith("ibc/"))return{class_id:`evm/${B.toHex(e)}`,class_trace:null};const r=await an(n,s);return r?{class_id:n,class_trace:r}:{class_id:`evm/${B.toHex(e)}`,class_trace:null}}async function gm(e,s){const n=new $e.Interface([{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}]),{response:r}=await K.create({prefixUrl:s}).post("minievm/evm/v1/call",{json:{sender:B.toBech32("0x1"),contract_addr:B.toPrefixedHex(e),input:n.encodeFunctionData("name")}}).json();return n.decodeFunctionResult("name",r)[0]}async function ym({creator_addr:e,object_addr:s},n,r){var p,x;const o=await jm(s,n.restUrl),a=(x=(p=n.metadata)==null?void 0:p.ibc_channels)==null?void 0:x.find(({chain_id:w,version:C})=>w===r.chain_id&&C.includes("ics721-1"));if(!a)throw new Error("Channel not found");const i=a.port_id,l=i.split(".")[1],c=O.toBase64(nt.toBytes(JSON.stringify({class_id:{contract:s}}))),d=`cosmwasm/wasm/v1/contract/${l}/smart/${c}`,{data:u}=await K.create({prefixUrl:n.restUrl}).get(d).json(),h=u??s;if(u&&e!==i.replace("wasm.","")){const[w,C]=rr(u);return{class_id:s,class_trace:{path:w,base_class_id:C}}}const[m,_]=rr(o);return{class_id:h,class_trace:{path:m,base_class_id:_}}}async function jm(e,s){const n=O.toBase64(nt.utf8ToBytes(JSON.stringify({contract_info:{}}))),{name:r}=await K.create({prefixUrl:s}).get(`cosmwasm/wasm/v1/contract/${e}/smart/${n}`).json();return r}const bm={minimove:fm,minievm:xm,miniwasm:ym};async function vm({collection:e,nft:s,srcChain:n,intermediaryChain:r}){var i,l,c;const o=(i=n.metadata)!=null&&i.is_l1?"minimove":(c=(l=n.metadata)==null?void 0:l.minitia)==null?void 0:c.type;if(!(o==="minimove"||o==="minievm"||o==="miniwasm"))throw new Error(`Unsupported minitia type: ${o}`);const a=await bm[o](e,n,r);return Object.assign(a,o==="minievm"&&{token_ids:await wm([s.token_id],a.class_id,n.restUrl)})}async function an(e,s){const n=e.replace("ibc/",""),{class_trace:r}=await K.create({prefixUrl:s}).get(`ibc/apps/nft_transfer/v1/class_traces/${n}`).json();return r}async function wm(e,s,n){const{token_infos:r}=await K.create({prefixUrl:n}).get(`minievm/evm/v1/erc721/origin_token_infos/${s}`,{searchParams:{token_ids:e.join(",")}}).json();return r.map(({token_origin_id:o})=>o)}function rr(e){const s=/^(.*channel-\d+)\/(.*)$/,n=e.match(s);if(!n)throw new Error("Pattern `channel-{number}/` not found.");const[,r,o]=n;return[r,o]}const Cm="_header_5w36t_1",Nm="_name_5w36t_8",Im="_collection_5w36t_15",Sm="_nft_5w36t_20",$m="_fields_5w36t_24",km="_chain_5w36t_29",ht={header:Cm,name:Nm,collection:Im,nft:Sm,fields:$m,chain:km},Em=qe.createQueryKeys("interwovenkit:send-nft",{simulation:e=>[e]}),Am=()=>{const{chain:e,collection:s,nft:n}=Ke(),{routerApiUrl:r}=ie(),o=gs(),a=ve(),{address:i,initiaAddress:l,requestTxSync:c}=ye(),{watch:d,setValue:u,handleSubmit:h,formState:m}=oe.useFormContext(),_=d(),{recipient:p,dstChainId:x}=_,w=be(x),C=k.useQuery({queryKey:Em.simulation({collection:s,nft:n,sender:l,recipient:p,srcChain:e,dstChainId:x,layer1:a,routerApiUrl:r}).queryKey,queryFn:async()=>{const g=Object.assign({from_address:l,from_chain_id:e.chainId,to_address:B.toBech32(p),to_chain_id:x,collection_address:s.object_addr,token_ids:[n.token_id],object_addresses:[n.object_addr]},e.chainId!==x&&await vm({collection:s,nft:n,srcChain:e,intermediaryChain:a})),{msgs:v}=await K.create({prefixUrl:r}).post("nft",{json:g}).json();return v.map(y=>o.fromAmino(y))},enabled:!!p}),{data:j,isLoading:T,error:b}=C,{mutate:I,isPending:S}=k.useMutation({mutationFn:async()=>{if(!j)throw new Error("Route not found");await c({messages:j,chainId:e.chainId,internal:"/nfts"})}});return t.jsxs("form",{onSubmit:h(()=>I()),children:[t.jsxs("header",{className:ht.header,children:[n.image&&t.jsx(vs,{chain:e,collection:s,nft:n,size:80}),t.jsxs("div",{className:ht.name,children:[t.jsx("div",{className:ht.collection,children:s.name}),t.jsx("div",{className:ht.nft,children:n.name})]})]}),t.jsxs("div",{className:ht.fields,children:[t.jsx(A.VisuallyHidden.Root,{children:t.jsxs("div",{children:[t.jsx("div",{className:"label",children:"Destination rollup"}),t.jsxs(ct,{title:"Destination rollup",content:g=>t.jsx(bo,{onSelect:v=>{u("dstChainId",v),g()}}),className:P("input",ht.chain),children:[t.jsx(V,{src:w.logoUrl,width:20,height:20}),t.jsx("span",{children:w.name})]})]})}),t.jsx(kn,{myAddress:i,ref:Cs()})]}),t.jsx(se,{children:t.jsx(Q.White,{loading:T||S,disabled:!m.isValid,children:b?"Route not found":"Confirm"})})]})},Tm=G.z.object({dstChainId:G.z.string().nonempty(),recipient:Co}),Dm=()=>{const{chain:e}=Ke(),s=oe.useForm({defaultValues:{dstChainId:e.chainId},resolver:_n.zodResolver(Tm)});return t.jsx(Fe,{title:"Send NFT",children:t.jsx(oe.FormProvider,{...s,children:t.jsx(Am,{})})})},qm="_item_ny5a8_1",Pm="_header_ny5a8_11",Fm="_name_ny5a8_19",Bm="_link_ny5a8_24",Rm="_button_ny5a8_40",_t={item:qm,header:Pm,name:Fm,link:Bm,button:Rm},Vs=e=>{var m;const{chainId:s,name:n,logoUrl:r,website:o,metadata:a}=e,{defaultChainId:i}=ie(),{addedChains:l,addChain:c,removeChain:d}=vt(),u=l.find(_=>_.chainId===s),h=()=>s===i?null:u?t.jsx("button",{className:_t.button,onClick:()=>d(s),children:t.jsx(N.IconMinus,{size:14})}):t.jsx("button",{className:_t.button,onClick:()=>c(s),children:t.jsx(N.IconPlus,{size:14})});return t.jsxs("div",{className:_t.item,children:[t.jsx(V,{src:r,width:32,height:32,title:(m=a==null?void 0:a.minitia)==null?void 0:m.type}),t.jsxs("header",{className:_t.header,children:[t.jsx("h3",{className:_t.name,children:n}),o&&t.jsx("a",{className:_t.link,href:wr(o),target:"_blank",children:t.jsx(N.IconExternalLink,{size:12})})]}),h()]})},Mm="_content_14twd_1",Om="_search_14twd_5",Um="_title_14twd_9",zm="_count_14twd_18",Km="_list_14twd_23",Oe={content:Mm,search:Om,title:Um,count:zm,list:Km},Hm=()=>{const[e,s]=f.useState(""),{chains:n,addedChains:r,notAddedChains:o}=vt(),a=Eo(["chainId","name"],e,n);return t.jsx(Fe,{title:"Manage rollup list",children:t.jsxs("div",{className:Oe.content,children:[t.jsx(En,{value:e,onChange:s,className:Oe.search}),e?a.length===0?t.jsx(ae,{children:"No chains"}):a.map(i=>f.createElement(Vs,{...i,key:i.chainId})):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:Oe.list,children:[t.jsxs("h2",{className:Oe.title,children:[t.jsx("span",{children:"Shown"}),t.jsxs("span",{className:Oe.count,children:["(",r.length,")"]})]}),r.map(i=>f.createElement(Vs,{...i,key:i.chainId}))]}),t.jsxs("div",{className:Oe.list,children:[t.jsxs("h2",{className:Oe.title,children:[t.jsx("span",{children:"Hidden"}),t.jsxs("span",{className:Oe.count,children:["(",o.length,")"]})]}),o.map(i=>f.createElement(Vs,{...i,key:i.chainId}))]})]})]})})};function Lm(){return ve().network_type==="testnet"}const Ao=G.z.object({srcChainId:G.z.string().nonempty(),srcDenom:G.z.string().nonempty(),dstChainId:G.z.string().nonempty(),dstDenom:G.z.string().nonempty(),quantity:G.z.string().nonempty("Amount is required"),sender:G.z.string().nonempty(),cosmosWalletName:G.z.string().optional(),recipient:G.z.string().nonempty("Recipient address is required"),slippagePercent:G.z.string().nonempty()});function Ye(){return oe.useFormContext()}function Wm(){const e=Ke(),s=Lm(),n={quantity:"",slippagePercent:"0.5",sender:"",cosmosWalletName:"",recipient:""},r={...n,srcChainId:"initiation-2",srcDenom:"uusdc",dstChainId:"initiation-2",dstDenom:"uinit"},o={...n,srcChainId:"interwoven-1",srcDenom:"ibc/6490A7EAB61059BFC1CDDEB05917DD70BDF3A611654162A1A47DB930D40D8AF4",dstChainId:"interwoven-1",dstDenom:"uinit"},a=D.pickBy(i=>i!==null,{srcChainId:localStorage.getItem(M.BRIDGE_SRC_CHAIN_ID),srcDenom:localStorage.getItem(M.BRIDGE_SRC_DENOM),dstChainId:localStorage.getItem(M.BRIDGE_DST_CHAIN_ID),dstDenom:localStorage.getItem(M.BRIDGE_DST_DENOM),quantity:localStorage.getItem(M.BRIDGE_QUANTITY),slippagePercent:localStorage.getItem(M.BRIDGE_SLIPPAGE_PERCENT)});return{...s?r:o,...a,...e}}function To(){const{initiaAddress:e,hexAddress:s}=ye(),n=lt(),r=Kt();return o=>{const a=n(o);switch(r(a)){case"initia":return e;case"evm":return s;default:return""}}}function cn(){const e=lt(),s=Kt();return(n,r)=>{const o=e(r);switch(s(o)){case"initia":return B.validate(n);case"evm":return $e.isAddress(n);case"cosmos":try{return O.fromBech32(n).prefix===o.bech32_prefix}catch{return!1}default:return!1}}}function Qm(){const e=lt(),s=Kt();return({initialAddress:n,initialChainId:r,chainId:o,fallbackAddress:a})=>{const i=e(r),l=s(i),c=e(o),d=s(c);if(l==="evm"&&d==="initia")return B.toBech32(n);if(l==="initia"&&d==="evm")return B.toPrefixedHex(n);if(l===d)return n;if(a){if(d==="initia")return B.toBech32(a);if(d==="evm")return B.toPrefixedHex(a)}return""}}const Vm=[["d",1440*60],["h",3600],["m",60],["s",1]];function ln(e){if(!e)return;const{formattedParts:s}=Vm.reduce(({remainingSeconds:n,formattedParts:r},[o,a])=>{const i=Math.floor(n/a);return{remainingSeconds:n-i*a,formattedParts:i>0?[...r,`${i}${o}`]:r}},{remainingSeconds:e,formattedParts:[]});return s.join(" ")}function Do(e){return e==null?void 0:e.map(s=>{const{amount:n,origin_asset:r}=s;return`${ne(n,{decimals:r.decimals??0})} ${r.symbol}`}).join(", ")}function or(e,s){const{watch:n}=Ye(),r=n(),o=Ve(),a={...r,quantity:e},i=k.useQueryClient();return k.useQuery({queryKey:ge.route(a,s==null?void 0:s.isOpWithdraw).queryKey,queryFn:()=>{const{srcChainId:l,srcDenom:c,quantity:d,dstChainId:u,dstDenom:h}=a,{decimals:m}=i.getQueryData(ge.asset(l,c).queryKey)??{decimals:0},_={amount_in:fs(d,m),source_asset_chain_id:l,source_asset_denom:c,dest_asset_chain_id:u,dest_asset_denom:h,is_op_withdraw:s==null?void 0:s.isOpWithdraw};return o.post("v2/fungible/route",{json:_}).json()},enabled:!!Number(a.quantity)&&!(s!=null&&s.disabled),staleTime:H.MINUTE})}function Gm(e){return k.useQuery({queryKey:ge.routeErrorInfo(e||new Error).queryKey,queryFn:async()=>{if(!e||!(e instanceof K.HTTPError))return null;const{response:s}=e;return(s.headers.get("content-type")??"").includes("application/json")?(await s.json()).info??null:null}})}function Ym(){var h,m,_;const{watch:e}=Ye(),{srcChainId:s,srcDenom:n,dstChainId:r,dstDenom:o}=e(),a=ke(s),i=Mt(a),l=De(n,s),c=De(o,r),d=ve(),u=Le();return i==="initia"&&r===d.chainId&&l.symbol===c.symbol&&((_=(m=(h=u.find(p=>p.chainId===s))==null?void 0:h.metadata)==null?void 0:m.op_denoms)==null?void 0:_.includes(c.denom))}var dn=(e=>(e.FEE_BEHAVIOR_DEDUCTED="FEE_BEHAVIOR_DEDUCTED",e.FEE_BEHAVIOR_ADDITIONAL="FEE_BEHAVIOR_ADDITIONAL",e))(dn||{});function An(e,s){const n=Ve();return k.useQuery({queryKey:ge.balances(s,e).queryKey,queryFn:()=>n.post("v2/info/balances",{json:{chains:{[s]:{address:e,denoms:[]}}}}).json(),select:({chains:r})=>e?r?r[s].denoms??{}:{}:{},enabled:!!e,staleTime:H.SECOND})}function Jm(e,s,n){const{data:r={}}=An(e,s);return D.path([n],r)}const Zm=({address:e,chain:s,onSelect:n})=>{const r=jt(s.chain_id),{data:o={}}=An(e,s.chain_id);return t.jsx(Lt,{assets:D.sortWith([D.descend(a=>a.symbol==="INIT"),D.descend(a=>a.value),({balance:a="0"},{balance:i="0"})=>$(i).comparedTo(a)??0,D.ascend(a=>a.symbol.toLowerCase())],r.filter(a=>!a.hidden).map(a=>{const{denom:i,symbol:l=te(i),logo_uri:c}=a,d=o[i]??{};return{...a,symbol:l,decimals:a.decimals??0,logoUrl:c??"",name:a.name??"",balance:d.amount,value:Number(d.value_usd??0)}})),onSelect:n})},Xm=({type:e,afterSelect:s})=>{const n=e==="src"?"srcChainId":"dstChainId",r=e==="src"?"srcDenom":"dstDenom",o=e==="src"?"sender":"recipient",a=It(),i=bn(),{watch:l,setValue:c,trigger:d}=Ye(),u=l("quantity"),h=l(o),m=l(n),[_,p]=f.useState(m),x=ke(_),w=Qm(),C=Zr(),[j,T]=D.partition(I=>C(I.chain_id),i.filter(I=>!I.hidden)),b=I=>{c(n,_),c(r,I),Number(u)&&d(),s()};return t.jsxs(t.Fragment,{children:[t.jsxs(ot.Stack,{children:[t.jsx(ot,{label:"Interwoven Economy",chains:j.map(({chain_id:I,chain_name:S,pretty_name:g,logo_uri:v})=>({chainId:I,name:g||S,logoUrl:v??""})),value:_,onSelect:p}),t.jsx(ot,{label:"Chains",chains:T.map(({chain_id:I,chain_name:S,pretty_name:g,logo_uri:v})=>({chainId:I,name:g||S,logoUrl:v??""})),value:_,onSelect:p})]}),t.jsx(ce,{suspenseFallback:t.jsx(Lt.Placeholder,{}),children:t.jsx(Zm,{address:w({initialAddress:h,initialChainId:m,chainId:_,fallbackAddress:e==="src"?a:void 0}),chain:x,onSelect:b})},_)]})},ar=({type:e})=>{const s=e==="src"?"srcChainId":"dstChainId",n=e==="src"?"srcDenom":"dstDenom",r=e==="src"?"Select source chain and asset":"Select destination chain and asset",{watch:o}=Ye(),a=o(s),i=o(n),l=ke(a),c=De(i,a);return t.jsx(ct,{title:r,content:d=>t.jsx(Xm,{type:e,afterSelect:d}),children:t.jsx(No,{asset:{denom:c.denom,decimals:c.decimals??0,symbol:c.symbol??te(c.denom),logoUrl:c.logo_uri??""},chain:{chainId:l.chain_id,name:l.pretty_name||l.chain_name,logoUrl:l.logo_uri??""}})})};function Ns(){const e=[{name:"Keplr",image:"https://assets.initia.xyz/images/wallets/Keplr.webp",getProvider:()=>window.keplr,fallbackUrl:"https://keplr.app/get"},{name:"Leap",image:"https://assets.initia.xyz/images/wallets/Leap.webp",getProvider:()=>window.leap,fallbackUrl:"https://leapwallet.io/download"}];return{list:e,find:n=>e.find(r=>r.name===n)}}const eh="_account_iwrlj_8",th="_clear_iwrlj_27",sh="_white_iwrlj_38",Pt={account:eh,clear:th,white:sh},ir=({type:e})=>{const{watch:s,setValue:n}=Ye(),{srcChainId:r,dstChainId:o,cosmosWalletName:a}=s(),l=s(e==="src"?"sender":"recipient"),c=Mt(ke(o)),{list:d,find:u}=Ns(),h=u(a),m=To(),_=cn(),p=m(o),x=B.equals(l,p),w=()=>t.jsx(ct,{title:"Connect wallet",content:T=>t.jsx(jo,{onSelect:async b=>{const I=b.getProvider();if(!I)return window.open(b.fallbackUrl,"_blank");const S=I.getOfflineSigner(r),[{address:g}]=await S.getAccounts();n("sender",g),n("cosmosWalletName",b.name),T()},list:d,getImage:b=>b.image,getName:b=>b.name,getKey:b=>b.name}),className:P(Pt.account,{[Pt.white]:!l}),children:l?t.jsxs(t.Fragment,{children:[h&&t.jsx(V,{src:h.image,width:18,height:18}),t.jsx("span",{className:"monospace",children:te(l)})]}):t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"Connect wallet"}),t.jsx(N.IconChevronRight,{size:14})]})}),C=T=>t.jsx(ct,{title:"Recipient",content:b=>t.jsx(Pe,{children:t.jsx(kn,{mode:"onSubmit",myAddress:p,chainType:c,validate:I=>_(I,o),onApply:b})}),className:Pt.account,children:T}),j=()=>{switch(c){case"initia":case"evm":return x?C(t.jsx(N.IconWallet,{size:14})):t.jsxs("div",{className:Pt.account,children:[t.jsx("span",{className:"monospace",children:te(l)}),t.jsx("button",{type:"button",className:Pt.clear,onClick:()=>n("recipient",p,{shouldValidate:!0}),"aria-label":"Reset to my address",children:t.jsx(N.IconCloseCircleFilled,{size:14})})]});case"cosmos":return C(t.jsxs(t.Fragment,{children:[l?t.jsx("span",{className:"monospace",children:te(l)}):t.jsx("span",{children:"Recipient"}),t.jsx(N.IconEdit,{size:14})]}))}};switch(e){case"src":return w();case"dst":return j()}},nh="_description_l5bcv_1",rh="_presets_l5bcv_8",oh="_preset_l5bcv_8",ah="_active_l5bcv_29",ih="_custom_l5bcv_40",ch="_wrapper_l5bcv_46",lh="_percent_l5bcv_49",Ne={description:nh,presets:rh,preset:oh,active:ah,custom:ih,wrapper:ch,percent:lh},cr=["0.1","0.5","1.0"],dh=({afterConfirm:e})=>{const s=Ye(),n=s.getValues("slippagePercent"),[r,o]=f.useState(null),{control:a,watch:i,getValues:l,setValue:c}=oe.useForm({defaultValues:{value:n}}),d=i("value");f.useEffect(()=>{const x=cr.findIndex(w=>w===n);o(x>=0?x:null)},[n]);const u=(x,w)=>{c("value",x),o(w)},h=()=>{o(null)},m=f.useMemo(()=>Number(d)>100?{type:"error",text:"Slippage must be less than 100%"}:Number(d)>5?{type:"warning",text:"Your transaction may be frontrun"}:Number(d)<.5?{type:"warning",text:"Your transaction may fail"}:null,[d]),_=(m==null?void 0:m.type)==="error",p=({value:x})=>{s.setValue("slippagePercent",x),e()};return t.jsxs(Pe,{children:[t.jsx("p",{className:Ne.description,children:"Slippage is how much price movement you can tolerate between the time you send out a transaction and the time it's executed."}),t.jsxs("div",{className:Ne.presets,children:[cr.map((x,w)=>t.jsxs("button",{type:"button",className:P(Ne.preset,{[Ne.active]:r===w}),onClick:()=>u(x,w),children:[x,"%"]},x)),r!==null?t.jsx("button",{type:"button",className:P(Ne.preset,Ne.custom),onClick:()=>o(null),children:"Custom"}):t.jsxs("div",{className:Ne.wrapper,children:[t.jsx(So,{name:"value",control:a,dp:2,onFocus:h,placeholder:"",className:P(Ne.preset,Ne.active)}),t.jsx("span",{className:Ne.percent,children:"%"})]})]}),m&&t.jsx(ee,{level:m.type,children:m.text}),t.jsx(se,{children:t.jsx(Q.White,{type:"button",onClick:()=>p(l()),disabled:_,children:"Confirm"})})]})},uh="_stack_hvmmo_1",mh="_button_hvmmo_6",hh="_checked_hvmmo_14",_h="_checkmark_hvmmo_20",fh="_inner_hvmmo_30",ph="_info_hvmmo_42",xh="_duration_hvmmo_51",gh="_amount_hvmmo_61",yh="_symbol_hvmmo_71",Ae={stack:uh,button:mh,checked:hh,checkmark:_h,inner:fh,info:ph,duration:xh,amount:gh,symbol:yh},jh=({children:e})=>t.jsx("div",{className:Ae.stack,children:e}),os=({label:e,query:s,value:n,onSelect:r,checked:o})=>{const{data:a,isLoading:i}=s,{watch:l}=Ye(),{dstChainId:c,dstDenom:d}=l(),u=De(d,c);return t.jsxs("button",{type:"button",className:P(Ae.button,{[Ae.checked]:o}),onClick:()=>r(n),children:[t.jsx("div",{className:Ae.checkmark,children:o&&t.jsx("span",{className:Ae.inner})}),t.jsxs("div",{className:Ae.info,children:[t.jsx("div",{children:e}),t.jsxs("div",{className:Ae.duration,children:[t.jsx(N.IconClockFilled,{size:12}),a?ln(a.estimated_route_duration_seconds):"Not available"]})]}),t.jsx("div",{className:Ae.amount,children:i?t.jsx(Ge,{size:14}):t.jsxs(t.Fragment,{children:[t.jsx("span",{children:ne(a==null?void 0:a.amount_out,{decimals:u.decimals})}),t.jsx("span",{className:Ae.symbol,children:u.symbol})]})})]})};os.Stack=jh;const bh="_form_lelld_1",vh="_arrow_lelld_5",wh="_divider_lelld_13",Ch="_flip_lelld_21",Nh="_meta_lelld_37",Ih="_row_lelld_50",Sh="_title_lelld_56",$h="_description_lelld_60",kh="_icon_lelld_67",Eh="_edit_lelld_72",Ah="_warning_lelld_93",Y={form:bh,arrow:vh,divider:wh,flip:Ch,meta:Nh,row:Ih,title:Sh,description:$h,icon:kh,edit:Eh,warning:Ah},Th=()=>{var Pn,Fn,Bn;const e=ue(),[s,n]=re.useLocalStorage(M.BRIDGE_ROUTE_TYPE,"default"),{watch:r,setValue:o,handleSubmit:a,trigger:i,formState:l}=Ye(),c=r(),{srcChainId:d,srcDenom:u,dstChainId:h,dstDenom:m,quantity:_,sender:p,slippagePercent:x}=c,w=We(),C=ke(d),j=Mt(C),T=ke(h),b=Mt(T),I=De(u,d),S=De(m,h),{data:g}=An(p,d),v=Jm(p,d,u);f.useEffect(()=>{Number(_)&&i()},[v,_,i]);const[y]=re.useDebounceValue(_,300),F=j!=="initia"&&b!=="initia",U=Ym(),R=or(y,{disabled:F}),q=or(y,{isOpWithdraw:!0,disabled:!U}),L=U&&s==="op"?q:R,{data:W,isLoading:Z,isFetching:me,isFetched:we,error:Ce}=L,{data:ut}=Gm(Ce),[he,le]=f.useState(W);f.useEffect(()=>{W&&le({...W,amount_out:"0",usd_amount_in:"0",usd_amount_out:"0"})},[W]);const E=we?W:y?he:void 0,$s=y&&(Z||me),Ho=()=>{o("srcChainId",h),o("srcDenom",m),o("dstChainId",d),o("dstDenom",u),Number(_)&&i()},{openModal:Lo,closeModal:Tn}=zt(),Wo=a(z=>{if(E!=null&&E.warning){const{type:_e="",message:As}=E.warning??{};Lo({content:t.jsx(fo,{type:"warning",icon:t.jsx(N.IconWarningFilled,{size:40}),title:_s.sentenceCase(_e),primaryButton:{label:"Cancel",onClick:Tn},secondaryButton:{label:"Proceed anyway",onClick:()=>{e("/bridge/preview",{route:E,values:z}),Tn()}},children:t.jsx("p",{className:Y.warning,children:As})})});return}e("/bridge/preview",{route:E,values:z})}),Qo=f.useMemo(()=>{var z;return((z=E==null?void 0:E.estimated_fees)==null?void 0:z.filter(({fee_behavior:_e})=>_e===dn.FEE_BEHAVIOR_DEDUCTED))??[]},[E]),ks=f.useMemo(()=>{var z;return((z=E==null?void 0:E.estimated_fees)==null?void 0:z.filter(({fee_behavior:_e})=>_e===dn.FEE_BEHAVIOR_ADDITIONAL))??[]},[E]),Es=f.useMemo(()=>{var z;for(const _e of ks){const As=((z=g==null?void 0:g[_e.origin_asset.denom])==null?void 0:z.amount)??"0",Jo=(E==null?void 0:E.source_asset_denom)===_e.origin_asset.denom?E.amount_in:"0";if($(As).lt($(Jo).plus(_e.amount??"0")))return`Insufficient ${_e.origin_asset.symbol} for fees`}},[g,E,ks]),Dn=f.useMemo(()=>{if(!c.sender)return"Connect wallet";if(!c.quantity||!y)return"Enter amount";if(!c.recipient)return"Enter recipient address";if(l.errors.quantity)return l.errors.quantity.message;const z=Ao.safeParse(c);if(!z.success)return`Invalid ${z.error.issues[0].path}`;if(!E)return"Route not found";if(Es)return Es},[y,Es,l,E,c]),Vo=E?ne(E.amount_out,{decimals:S.decimals}):"0",Go=$(_).gt(0)&&$(_).isEqualTo(cs(v==null?void 0:v.amount,(v==null?void 0:v.decimals)??0)),Yo=(()=>{switch(j){case"initia":return w(d).fees.fee_tokens.some(({denom:z})=>z===u);case"cosmos":return C.fee_assets.some(({denom:z})=>z===u);case"evm":return!$e.isAddress(u);default:return!1}})(),qn=(z,_e)=>z.length?t.jsxs("div",{className:Y.description,children:[Do(z),t.jsx(Ht,{label:_e,children:t.jsx("span",{className:Y.icon,children:t.jsx(N.IconInfoFilled,{size:12})})})]}):null;return t.jsxs("form",{className:Y.form,onSubmit:Wo,children:[t.jsx(rn,{selectButton:t.jsx(ar,{type:"src"}),accountButton:j==="cosmos"&&t.jsx(ir,{type:"src"}),quantityInput:t.jsx(ds,{}),balanceButton:t.jsx(Io,{onClick:()=>o("quantity",cs(v==null?void 0:v.amount,I==null?void 0:I.decimals),{shouldValidate:!0}),children:ne(v==null?void 0:v.amount,{decimals:I.decimals})}),value:E?E.usd_amount_in?at(E.usd_amount_in):"-":"0"}),t.jsxs("div",{className:Y.arrow,children:[t.jsx("div",{className:Y.divider}),t.jsx("button",{type:"button",className:Y.flip,onClick:()=>Ho(),children:t.jsx(N.IconChevronDown,{size:16})})]}),t.jsx(rn,{selectButton:t.jsx(ar,{type:"dst"}),accountButton:t.jsx(ir,{type:"dst"}),quantityInput:t.jsx(ds.ReadOnly,{children:Vo}),value:E?E.usd_amount_out?at(E.usd_amount_out):"-":"0"}),t.jsx(se,{extra:t.jsxs(t.Fragment,{children:[t.jsx(tn,{children:$(_).gt(0)&&U?t.jsxs(os.Stack,{children:[t.jsx(os,{label:"Minitswap",query:R,value:"default",onSelect:n,checked:s==="default"}),t.jsx(os,{label:"Optimistic bridge",query:q,value:"op",onSelect:n,checked:s==="op"})]}):null}),t.jsxs(ee.Stack,{children:[(Pn=E==null?void 0:E.extra_infos)==null?void 0:Pn.map(z=>t.jsx(ee,{level:"info",children:z},z)),ut&&t.jsx(ee,{level:"info",children:ut}),Go&&Yo&&t.jsx(ee,{level:"warning",children:"Make sure to leave enough for transaction fee"}),(E==null?void 0:E.warning)&&t.jsx(ee,{level:"warning",children:E.warning.message}),(Fn=E==null?void 0:E.extra_warnings)==null?void 0:Fn.map(z=>t.jsx(ee,{level:"warning",children:z},z))]}),t.jsx(tn,{children:E&&t.jsxs("div",{className:Y.meta,children:[!!((Bn=E.estimated_fees)!=null&&Bn.length)&&t.jsxs("div",{className:Y.row,children:[t.jsx("span",{className:Y.title,children:"Fees"}),t.jsxs("div",{children:[qn(Qo,"Fee deducted from the amount you receive"),qn(ks,"Fee charged in addition to the amount you enter")]})]}),ln(E.estimated_route_duration_seconds)&&t.jsxs("div",{className:Y.row,children:[t.jsx("span",{className:Y.title,children:"Estimated time"}),t.jsx("span",{className:Y.description,children:ln(E.estimated_route_duration_seconds)})]}),E.does_swap&&t.jsxs("div",{className:Y.row,children:[t.jsx("span",{className:Y.title,children:"Slippage"}),t.jsxs("span",{className:Y.description,children:[t.jsxs("span",{children:[x,"%"]}),t.jsx(ct,{title:"Slippage tolerance",content:z=>t.jsx(dh,{afterConfirm:z}),className:Y.edit,children:t.jsx(N.IconSettingFilled,{size:12})})]})]})]})})]}),children:t.jsx(Q.White,{loading:$s&&"Simulating...",disabled:!!Dn,children:Dn??"Preview route"})})]})},Dh=()=>{po();const e=_a(),s=ue(),{closeDrawer:n}=Ct(),r=It(),o=Wm(),a=cn(),i=k.useQueryClient(),l=oe.useForm({mode:"onChange",defaultValues:o,resolver:_n.zodResolver(Ao.superRefine(({srcChainId:R,srcDenom:q,quantity:L,sender:W},Z)=>{const me=i.getQueryData(ge.balances(R,W).queryKey),we=D.pathOr("0",["chains",R,"denoms",q,"amount"],me),{decimals:Ce}=i.getQueryData(ge.asset(R,q).queryKey)??{decimals:0};wo({quantity:L,balance:we,decimals:Ce},Z)}).superRefine(({dstChainId:R,recipient:q},L)=>{if(!a(q,R)){L.addIssue({code:G.z.ZodIssueCode.custom,message:"Invalid address",path:["recipient"]});return}}))}),{watch:c,setValue:d}=l,{srcChainId:u,dstChainId:h,srcDenom:m,dstDenom:_,quantity:p,slippagePercent:x,recipient:w}=c();c((R,{name:q})=>{(q==="srcChainId"||q==="srcDenom")&&d("quantity","")});const C=To(),j=C(u),T=C(h),I=cn()(w,h);f.useEffect(()=>{d("cosmosWalletName",void 0),d("sender",j)},[u,j,d]),f.useEffect(()=>{I||d("recipient",T)},[T,I,d]);const S=jt(u),g=jt(h),v=f.useMemo(()=>{if(!S.find(R=>R.denom===m))return`${m} is not available for bridge/swap on ${u}`;if(!g.find(R=>R.denom===_))return`${_} is not available for bridge/swap on ${h}`},[g,h,_,S,u,m]);f.useEffect(()=>{v||(localStorage.setItem(M.BRIDGE_SRC_CHAIN_ID,u),localStorage.setItem(M.BRIDGE_SRC_DENOM,m),localStorage.setItem(M.BRIDGE_DST_CHAIN_ID,h),localStorage.setItem(M.BRIDGE_DST_DENOM,_),localStorage.setItem(M.BRIDGE_QUANTITY,p),localStorage.setItem(M.BRIDGE_SLIPPAGE_PERCENT,x))},[u,m,h,_,p,x,v]);const y=e[0].path==="/bridge",F=()=>t.jsxs(t.Fragment,{children:[t.jsx(ae,{error:!0,children:v}),t.jsx(se,{children:y?t.jsx(Q.White,{onClick:n,children:"Close"}):t.jsx(Q.White,{onClick:()=>s(-1),children:"Go back"})})]}),{reminders:U}=St();return t.jsx(Fe,{title:"Bridge/Swap",returnTo:y?!1:"/",extra:t.jsxs(t.Fragment,{children:[t.jsx(Q.Small,{onClick:()=>s("/bridge/history"),unpadded:!0,children:t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"12",height:"12",children:[t.jsx("path",{d:"m0 9.818 1.414-1.414 L2 8.99 V8 a7 7 0 1 1 7 7 v-2 a5 5 0 1 0-5-5 v1.354 l.95-.95 1.414 1.414 L3.182 13 0 9.818 Z"}),t.jsx("path",{d:"M9 5.5 H7.5 v3.75 h3.75 v-1.5 H9 V5.5 Z"})]})}),t.jsx(ko,{offset:0,disabled:U.length===0,children:t.jsx(Q.Small,{onClick:()=>s("/op/withdrawals"),disabled:!r,children:t.jsx("span",{children:"Withdrawal status"})})})]}),children:v?F():t.jsx(oe.FormProvider,{...l,children:t.jsx(ce,{children:t.jsx(Th,{})})})})},dt=qe.createQueryKeys("interwovenkit:op",{bridge:e=>[e],withdrawals:(e,s)=>[e,s],latestOutput:e=>[e],output:(e,s)=>[e,s],outputResponse:(e,s)=>[e,s],withdrawalClaimed:(e,s)=>[e,s]});function Is(){const{restUrl:e}=ve();return f.useMemo(()=>K.create({prefixUrl:e}),[e])}function qh(e){const s=Is(),{data:n}=k.useSuspenseQuery({queryKey:dt.bridge(e).queryKey,queryFn:()=>s.get(`opinit/ophost/v1/bridges/${e}`).json(),staleTime:H.INFINITY});return n}const lr=20;function Ph(e){const s=J();return k.useSuspenseInfiniteQuery({queryKey:dt.withdrawals(e,s).queryKey,queryFn:async({pageParam:n})=>{if(!s)return[];const r={limit:lr,offset:n,order:"desc"},{withdrawals:o}=await K.create({prefixUrl:e}).get(`withdrawals/${s}`,{searchParams:r}).json();return o},getNextPageParam:n=>{var o;const r=(o=D.last(n))==null?void 0:o.sequence;return n.length<lr||!r||r<=1?null:r-1},initialPageParam:0,staleTime:H.SECOND})}function Fh(e){const s=Is(),{data:n}=k.useSuspenseQuery({queryKey:dt.latestOutput(e).queryKey,queryFn:()=>s.get(`opinit/ophost/v1/bridges/${e}/outputs`,{searchParams:{"pagination.reverse":!0,"pagination.limit":1}}).json(),select:({output_proposals:r})=>{const[o]=r;return o||null},staleTime:H.SECOND});return n}function Bh({bridge_id:e,output_index:s}){const n=Is(),{data:r}=k.useSuspenseQuery({queryKey:dt.output(e,s).queryKey,queryFn:async()=>{try{return await n.get(`opinit/ophost/v1/bridges/${e}/outputs/${s}`).json()}catch{return null}},staleTime:H.SECOND});return r}function Rh({bridge_id:e,sequence:s}){var c,d;const r=(c=Le().find(({metadata:u})=>(u==null?void 0:u.op_bridge_id)===e.toString()))==null?void 0:c.chain_id;if(!r)throw new Error(`Chain not found for bridge_id: ${e}`);const a=We()(r);if(!a)throw new Error(`Chain not found: ${r}`);const i=(d=a.metadata)==null?void 0:d.executor_uri;if(!i)throw new Error(`Executor URL not found: ${r}`);const{data:l}=k.useSuspenseQuery({queryKey:dt.outputResponse(i,s).queryKey,queryFn:()=>K.create({prefixUrl:i}).get(`withdrawal/${s}`).json(),staleTime:H.SECOND});return l}function qo(e,s){const{bridge_id:n}=e,r=Is(),{data:o}=k.useSuspenseQuery({queryKey:dt.withdrawalClaimed(n,s).queryKey,queryFn:()=>r.get(`opinit/ophost/v1/bridges/${n}/withdrawals/claimed/by_hash`,{searchParams:{withdrawal_hash:s}}).json(),select:({claimed:a})=>a,staleTime:({state:{data:a}})=>a!=null&&a.claimed?1/0:H.SECOND});return o}function Ft(e){return hn.sha3_256.create().update(e).digest()}function Gs(e,s){const n=new ArrayBuffer(s);return new DataView(n).setBigUint64(0,BigInt(e),!1),new Uint8Array(n)}function Po(e){const{bridge_id:s,sequence:n,amount:r,from:o,to:a}=e,i=Gs(s.toString(),8),l=Gs(n.toString(),8),c=Gs(r.amount,8),d=nt.concatBytes(i,l,Ft(nt.toBytes(o)),Ft(nt.toBytes(a)),Ft(nt.toBytes(r.denom)),c);return Ft(Ft(d))}const Fo=f.createContext(null);function Ss(){return f.useContext(Fo)}const Mh="_asset_6h8u2_1",Oh="_info_6h8u2_7",Uh="_symbol_6h8u2_11",Ys={asset:Mh,info:Oh,symbol:Uh},zh=({amount:e,denom:s})=>{const n=ve(),r=yn(s,n),{symbol:o,logoUrl:a,decimals:i}=r;return t.jsxs("div",{className:Ys.asset,children:[t.jsx(V,{src:a,width:32,height:32}),t.jsxs("div",{className:Ys.info,children:[t.jsx("span",{className:"monospace",children:ne(e,{decimals:i})}),t.jsx("span",{className:Ys.symbol,children:o})]})]})},Kh=({children:e})=>{const{withdrawalTx:s}=Ss(),n=Fh(s.bridge_id),r=s.output_index>Number(n==null?void 0:n.output_index);return e(r)},Hh="_container_1oldz_1",Lh="_icon_1oldz_7",dr={container:Hh,icon:Lh},Wh="Withdrawal will begin within an hour",ur=()=>t.jsxs("div",{className:dr.container,children:[t.jsx("span",{children:"In progress"}),t.jsx(Ht,{label:Wh,children:t.jsx("span",{className:dr.icon,children:t.jsx(N.IconInfoFilled,{size:12})})})]}),Bo=1e3,Qh=60,Vh=60,Gh=24,un=Bo*Qh,mn=un*Vh,mr=mn*Gh,Yh=({date:e})=>{const s=f.useCallback(()=>{const d=new Date().getTime(),h=e.getTime()-d;if(h<=0)return{days:0,hours:0,minutes:0,seconds:0};const m=Math.floor(h/mr),_=Math.floor(h%mr/mn),p=Math.floor(h%mn/un),x=Math.floor(h%un/Bo);return{days:m,hours:_,minutes:p,seconds:x}},[e]),[n,r]=f.useState(s());f.useEffect(()=>{const d=window.setInterval(()=>{r(s())},1e3);return()=>window.clearInterval(d)},[s,e]);const o=d=>d.toString().padStart(2,"0"),{days:a,hours:i,minutes:l,seconds:c}=n;return t.jsx(Ht,{label:e.toLocaleString(),children:t.jsxs("span",{className:"monospace",children:[a,"d ",o(i),"h ",o(l),"m ",o(c),"s"]})})},Jh="_container_1lz3w_1",Zh="_title_1lz3w_5",hr={container:Jh,title:Zh},Xh=({date:e})=>t.jsxs("div",{className:hr.container,children:[t.jsx("div",{className:hr.title,children:"Claimable in"}),t.jsx(Yh,{date:e})]}),e_=({children:e})=>{const{withdrawalTx:s}=Ss(),n=qh(s.bridge_id),r=Bh(s),o=f.useMemo(()=>{if(!r)return null;const{bridge_config:a}=n,{output_proposal:i}=r;return bt.addSeconds(new Date(i.l1_block_time),parseFloat(a.finalization_period))},[n,r]);return e(o)},t_=({date:e,children:s})=>{const{chainId:n,withdrawalTx:r}=Ss(),o=O.toBase64(Po(r)),a=qo(r,o),{setReminder:i,removeReminder:l}=St();return f.useEffect(()=>{const c={chainId:n,txHash:r.tx_hash};a?l(c):i(c,{...c,recipient:r.to,claimableAt:e.getTime(),amount:r.amount.amount,denom:r.amount.denom,dismissed:bt.isPast(e.getTime())?!0:void 0})},[n,a,e,l,i,r]),s},s_="_button_1u8ds_1",n_="_claimed_1u8ds_18",_r={button:s_,claimed:n_},r_=()=>{const{withdrawalTx:e}=Ss(),{bridge_id:s,sequence:n,amount:r,output_index:o,withdrawal_proofs:a,storage_root:i,from:l,to:c,version:d}=e,u=ve(),h=J(),{requestTxSync:m,waitForTxConfirmation:_}=ye(),p=Rh(e),x=O.toBase64(Po(e)),w=qo(e,x),C=k.useQueryClient(),{mutate:j,isPending:T}=k.useMutation({mutationFn:async()=>{if(!p)throw new Error("Output not found");const{last_block_hash:b}=p;return m({chainId:u.chain_id,messages:[{typeUrl:"/opinit.ophost.v1.MsgFinalizeTokenWithdrawal",value:ia.MsgFinalizeTokenWithdrawal.fromPartial({sender:h,bridgeId:BigInt(s),outputIndex:BigInt(o),withdrawalProofs:a.map(O.fromBase64),from:l,to:c,sequence:BigInt(n),amount:r,version:O.fromBase64(d),storageRoot:O.fromBase64(i),lastBlockHash:O.fromBase64(b)})}],internal:!0})},onSuccess:async b=>{await _({chainId:u.chain_id,txHash:b}),C.invalidateQueries({queryKey:dt.withdrawalClaimed(s,x).queryKey})}});return w?t.jsxs("div",{className:_r.claimed,children:[t.jsx(N.IconCheckCircleFilled,{size:14}),t.jsx("span",{children:"Claimed"})]}):t.jsx("button",{className:_r.button,onClick:()=>j(),disabled:T,children:"Claim"})},o_=()=>t.jsx(Kh,{children:e=>e?t.jsx(ur,{}):t.jsx(e_,{children:s=>s?t.jsx(t_,{date:s,children:bt.isFuture(s)?t.jsx(Xh,{date:s}):t.jsx(r_,{})}):t.jsx(ur,{})})}),a_="_item_km5w2_1",i_={item:a_},c_=({chain:e})=>{var c;const s=(c=e.metadata)==null?void 0:c.executor_uri;if(!s)throw new Error("Executor URL is not defined");const{data:n,fetchNextPage:r,hasNextPage:o,isFetching:a}=Ph(s),i=f.useMemo(()=>(n==null?void 0:n.pages.flat())??[],[n]),{syncReminders:l}=St();return f.useEffect(()=>{const d=i.map(u=>({chainId:e.chainId,txHash:u.tx_hash}));l(d)},[e.chainId,i,l]),i.length?t.jsxs(t.Fragment,{children:[i.map(d=>{const{amount:u}=d;return t.jsxs("div",{className:i_.item,children:[t.jsx(zh,{...u}),t.jsx(ce,{suspenseFallback:null,children:t.jsx(Fo.Provider,{value:{chainId:e.chainId,withdrawalTx:d},children:t.jsx(o_,{})})})]},d.sequence)}),o&&t.jsx(ws,{onClick:()=>r(),disabled:a})]}):t.jsx(ae,{children:"No withdrawals"})},l_="_content_dj1qm_1",d_="_title_dj1qm_5",fr={content:l_,title:d_},u_=()=>{var c;const{chainId:e}=Ke(),s=Le(),n=xs(),[r,o]=f.useState(e??((c=n.metadata)!=null&&c.is_l1?"":n.chainId)),a=We(),{reminders:i}=St(),l=r?a(r):void 0;return t.jsxs(Fe,{title:"Optimistic bridge withdrawals",children:[t.jsx(ot,{chains:s.filter(({metadata:d})=>{var u;return!(d!=null&&d.is_l1)&&((u=d==null?void 0:d.op_denoms)==null?void 0:u.length)}),value:r,onSelect:o,getShowIndicator:d=>i.some(u=>u.chainId===d)}),t.jsx("div",{className:fr.content,children:l?t.jsxs(t.Fragment,{children:[t.jsx("h2",{className:fr.title,children:l.name}),t.jsx(ce,{children:t.jsx(c_,{chain:l})},r)]}):t.jsx(ee,{level:"info",children:"Select a chain to display your optimistic bridge withdrawals"})})]})};async function m_(e,s){const n=K.create({prefixUrl:s}),r=`cosmos/auth/v1beta1/account_info/${e}`;for(let o=1;o<=24;o++)try{return await n.get(r).json()}catch{await new Promise(a=>setTimeout(a,5e3))}throw new Error(`Timeout: ${e} not found`)}const as=({chainId:e,txHash:s})=>`${M.BRIDGE_HISTORY}:${e}:${s}`,us=100,pr=10;function Ro(){const[e,s]=re.useLocalStorage(M.BRIDGE_HISTORY,[]),n=f.useCallback((o,a)=>{localStorage.setItem(as(o),JSON.stringify(a));for(const i of e.slice(us-1))localStorage.removeItem(as(i));s((i=[])=>[o,...i.slice(0,us-1)])},[e,s]),r=f.useCallback(o=>{const a=localStorage.getItem(as(o));return a?JSON.parse(a):null},[]);return{history:e,addHistoryItem:n,getHistoryDetails:r}}function Mo(e){return re.useLocalStorage(as(e),null)}async function Oo(e,s){const{chain_type:n,chain_id:r,chain_name:o,evm_fee_asset:a,rpc:i}=s;if(n!=="evm")throw new Error(`Chain is not an EVM chain: ${o}`);try{await e.send("wallet_switchEthereumChain",[{chainId:`0x${Number(r).toString(16)}`}])}catch(l){if(D.path(["error","code"],l)!==4902)throw l;if(!a)throw new Error(`Fee asset is not defined for chain: ${o}`);await e.send("wallet_addEthereumChain",[{chainId:`0x${Number(r).toString(16)}`,chainName:o,nativeCurrency:a,rpcUrls:[i]}]),await e.send("wallet_switchEthereumChain",[{chainId:`0x${Number(r).toString(16)}`}])}}function $t(){return Ke()}function h_(e){const s=ue(),{showNotification:n,updateNotification:r,hideNotification:o}=to(),{addHistoryItem:a}=Ro(),{route:i,values:l}=$t(),{srcChainId:c,sender:d,recipient:u,cosmosWalletName:h}=l,m=Or(),{requestTxSync:_,waitForTxConfirmation:p}=ye(),{find:x}=Ns(),w=gn(),C=gs(),j=ke(c),T=Mt(j),b=Xr(c),I=k.useQueryClient(),{addReminder:S}=St();return k.useMutation({mutationFn:async()=>{var g;try{if("cosmos_tx"in e){if(!e.cosmos_tx.msgs)throw new Error("Invalid transaction data");const v=e.cosmos_tx.msgs.map(({msg_type_url:he,msg:le})=>{if(!(he&&le))throw new Error("Invalid transaction data");return C.fromAmino({type:yt.aminoConverters[he].aminoType,value:JSON.parse(le)})});if(T==="initia"){const he=await _({messages:v,chainId:c,internal:1}),le=p({txHash:he,chainId:c});return{txHash:he,wait:le}}const y=(g=x(h))==null?void 0:g.getProvider();if(!y)throw new Error("Wallet not connected");const F=y.getOfflineSignerOnlyAmino(c),U=await Se.SigningStargateClient.connectWithSigner(j.rpc,F,{registry:w,aminoTypes:C}),R=await U.getAllBalances(d),q=j.fee_assets.find(he=>R.some(le=>le.denom===he.denom&&$(le.amount).gt(0)));if(!q){const le=["Insufficient balance for fees.",`Available fee assets: ${j.fee_assets.map(E=>b(E.denom).symbol).join(", ")}`,"(note: asset symbols may refer to different tokens across chains)"].join(" ");throw new Error(le)}const{denom:L,gas_price:W}=q;if(!W)throw new Error(`Gas price not found for ${L}`);const Z=await U.simulate(d,v,""),me=Se.GasPrice.fromString(W.average+L),we=Se.calculateFee(Math.ceil(Z*fn),me),Ce=await U.signAndBroadcastSync(d,v,we),ut=Lr({txHash:Ce,client:U});return{txHash:Ce,wait:ut}}if("evm_tx"in e){const{chain_id:v,to:y,value:F,data:U}=e.evm_tx,R=await m(),q=await R.getSigner();await Oo(R,j);const L=await q.sendTransaction({chainId:v,to:y,value:F,data:`0x${U}`});return{txHash:L.hash,wait:L.wait()}}throw new Error("Unsupported chain type")}catch(v){throw new Error(await He(v))}},onSuccess:({txHash:g,wait:v})=>{s(-1),n({type:"loading",title:"Transaction is pending..."}),v.then(()=>{const y={chainId:c,txHash:g},F=Uo(i)==="Optimistic bridge withdrawal";a(y,{...y,timestamp:Date.now(),route:i,values:l,state:F?"success":void 0}),r({type:"info",title:"Transaction submitted",description:f.createElement(f.Fragment,null,"Check ",f.createElement(Ut,{to:"/bridge/history",onClick:o},"the activity page")," for transaction status"),autoHide:!0}),F&&S(y,{...y,recipient:B.toBech32(u),claimableAt:Date.now()+i.estimated_route_duration_seconds*1e3,amount:i.amount_out,denom:i.dest_asset_denom}),localStorage.setItem(M.BRIDGE_QUANTITY,"")}).catch(y=>{r({type:"error",title:"Transaction failed",description:y.message})}).finally(()=>{I.invalidateQueries({queryKey:ge.balances(c,d).queryKey})})},onError:g=>{n({type:"error",title:"Transaction failed",description:g.message})}})}function __(){const e=Ve(),s=J(),n=Br(),{route:r,values:o}=$t(),a=lt();return k.useMutation({mutationFn:async()=>{try{const{chain_id:i,hook:l}=await e.post("op-hook",{json:{source_address:s,source_asset_chain_id:r.source_asset_chain_id,source_asset_denom:r.source_asset_denom,dest_address:B.toBech32(o.recipient),dest_asset_chain_id:r.dest_asset_chain_id,dest_asset_denom:r.dest_asset_denom}}).json();await m_(s,a(r.dest_asset_chain_id).rest);const c=l.map(({msg_type_url:h,msg:m})=>yt.aminoTypes.fromAmino({type:yt.aminoConverters[h].aminoType,value:JSON.parse(m)})),d=await n(i,s,c,{amount:[],gas:"1"},""),u=xt.Tx.fromPartial({body:xt.TxBody.decode(d.bodyBytes),authInfo:xt.AuthInfo.decode(d.authInfoBytes),signatures:d.signatures});return{signer:s,hook:O.toBase64(xt.Tx.encode(u).finish())}}catch(i){throw new Error(await He(i))}}})}function f_(e){const{chainId:s,txHash:n,tracked:r}=e,o=Ve();return k.useQuery({queryKey:ge.txTrack(s,n).queryKey,queryFn:async()=>{try{return await o.post("v2/tx/track",{json:{tx_hash:n,chain_id:s}}).json()}catch(a){throw new Error(await He(a))}},select:({tx_hash:a})=>a,retry:6,retryDelay:5e3,staleTime:H.INFINITY,enabled:!r})}function p_(e){const{timestamp:s,chainId:n,txHash:r,tracked:o,state:a}=e,i=Ve();return k.useQuery({queryKey:ge.txStatus(n,r).queryKey,queryFn:()=>i.get("v2/tx/status",{searchParams:{tx_hash:r,chain_id:n}}).json(),enabled:!!r&&o&&!a,refetchInterval:({state:{data:l}})=>{if(!l)return!1;const{status:c}=l;if(c==="STATE_COMPLETED")return!1;const d=s+e.route.estimated_route_duration_seconds*1e3,u=Date.now(),h=Math.floor((d-u)/1e3);return h<=0?1e3:h<=300?5e3:60*1e3},staleTime:H.INFINITY})}var is=(e=>(e.OP_WITHDRAW="Optimistic bridge withdrawal",e.SKIP="Skip",e))(is||{});function Uo(e){const{operations:s,dest_asset_denom:n}=e;return D.has("op_init_transfer",D.head(s))&&n==="uinit"?"Optimistic bridge withdrawal":"Skip"}const x_="_content_c0tee_1",g_="_info_c0tee_6",y_="_arrow_c0tee_11",j_="_divider_c0tee_19",b_="_type_c0tee_26",v_="_asset_c0tee_44",w_="_amount_c0tee_52",C_="_lower_c0tee_57",N_="_chain_c0tee_63",I_="_address_c0tee_69",pe={content:x_,info:g_,arrow:y_,divider:j_,type:b_,asset:v_,amount:w_,lower:C_,chain:N_,address:I_},zo=e=>{const{source:s,label:n,amount:r,denom:o,chainId:a,address:i,walletIcon:l}=e,{symbol:c=te(o),decimals:d=0,logo_uri:u=Wr}=e,{chain_name:h,pretty_name:m,..._}=ke(a);return t.jsxs("div",{children:[!s&&t.jsxs("div",{className:pe.arrow,children:[t.jsx("div",{className:pe.divider}),n?t.jsx(Ht,{label:n,children:t.jsx("button",{className:pe.type,children:t.jsx(N.IconArrowDown,{size:12})})}):t.jsx("span",{className:pe.type,children:t.jsx(N.IconArrowDown,{size:12})}),t.jsx("div",{className:pe.divider})]}),t.jsxs("div",{className:pe.content,children:[t.jsx($n,{assetLogoUrl:u,chainLogoUrl:_.logo_uri??void 0}),t.jsxs("div",{className:pe.info,children:[t.jsxs("div",{className:pe.asset,children:[t.jsx("span",{className:pe.amount,children:ne(r,{decimals:d})}),t.jsx("span",{children:c})]}),t.jsxs("div",{className:pe.lower,children:[t.jsxs("div",{className:pe.chain,children:["on ",m||h]}),i&&t.jsx(wn,{value:i,children:({copy:p,copied:x})=>t.jsxs("button",{className:pe.address,onClick:p,children:[l,x?t.jsx("span",{children:"Copied!"}):t.jsx("span",{className:"monospace",children:te(i)})]})})]})]})]})]})},pt=e=>{const s=De(e.denom,e.chainId);return t.jsx(zo,{...e,...s})};pt.Placeholder=zo;const S_="_root_133os_1",$_="_toggle_133os_6",k_="_route_133os_29",E_="_content_133os_36",ss={root:S_,toggle:$_,route:k_,content:E_};function A_(e){if("transfer"in e)return{label:"IBC",...e,...e.transfer};if("bank_send"in e)return{label:"Send",...e,...e.bank_send};if("swap"in e)return{label:"Swap",...e,...e.swap};if("axelar_transfer"in e)return{label:"Axelar",...e,...e.axelar_transfer};if("cctp_transfer"in e)return{label:"CCTP",...e,...e.cctp_transfer};if("hyperlane_transfer"in e)return{label:"Hyperlane",...e,...e.hyperlane_transfer};if("evm_swap"in e)return{label:"Swap",...e,...e.evm_swap};if("op_init_transfer"in e)return{label:"Op bridge",...e,...e.op_init_transfer};if("go_fast_transfer"in e)return{label:"Go Fast",...e,...e.go_fast_transfer};if("eureka_transfer"in e)return{label:"Eureka",...e,...e.eureka_transfer};if("stargate_transfer"in e)return{label:"Stargate",...e,...e.stargate_transfer};if("layer_zero_transfer"in e)return{label:"LayerZero",...e,...e.layer_zero_transfer};throw new Error("Unknown operation type")}const T_=({addressList:e})=>{var I;const{values:s,route:n}=$t(),{source_asset_denom:r,source_asset_chain_id:o,amount_in:a,operations:i}=n,l=D.zipObj(n.required_chain_addresses,e),{find:c}=Ns(),{connector:d,address:u=""}=je.useAccount(),[h,m]=re.useToggle(!1),_=i.length>1,p=t.jsx(V,{src:s.cosmosWalletName?(I=c(s.cosmosWalletName))==null?void 0:I.image:d==null?void 0:d.icon,width:12,height:12}),x={amount:a,denom:r,chainId:o,address:s.sender,walletIcon:p},w=S=>B.equals(S,u)?p:t.jsx(N.IconWallet,{size:11}),C=S=>{const{label:g,amount_out:v,denom:y,denom_out:F=y,chain_id:U,from_chain_id:R,to_chain_id:q=U??R}=S,L=l[q];return{label:_&&!h?void 0:g,amount:v,denom:F,chainId:q,address:L,walletIcon:w(L)}},j=i.map(A_).map(C),T=j.slice(0,-1),b=j[j.length-1];return t.jsxs(A.Collapsible.Root,{className:ss.root,open:h,onOpenChange:m,children:[_&&t.jsx(A.Collapsible.Trigger,{asChild:!0,children:t.jsx(nn,{children:t.jsx("button",{className:ss.toggle,onClick:m,children:h?t.jsxs(t.Fragment,{children:[t.jsx(N.IconMinus,{size:12}),t.jsx("span",{children:"Hide details"})]}):t.jsxs(t.Fragment,{children:[t.jsx(N.IconList,{size:12}),t.jsx("span",{children:"Show details"})]})})})}),t.jsxs("div",{className:ss.route,children:[t.jsx(pt,{...x,source:!0}),t.jsx(A.Collapsible.Content,{className:ss.content,children:T.map((S,g)=>t.jsx(ce,{suspenseFallback:t.jsx(pt.Placeholder,{...S}),errorBoundaryProps:{fallback:t.jsx(pt.Placeholder,{...S})},children:t.jsx(pt,{...S})},g))}),t.jsx(pt,{...b})]})]})},ms=({error:e})=>{const s=ue();return t.jsx(se,{extra:t.jsx(ee,{level:"error",children:e.message}),children:t.jsx(Q.White,{onClick:()=>s("/bridge"),children:"Home"})})},D_=({children:e})=>{const s=$t(),{route:n,values:r}=s,{required_chain_addresses:o}=n,{srcChainId:a,dstChainId:i,sender:l,recipient:c}=r,{initiaAddress:d,hexAddress:u}=ye(),h=wt(),m=lt(),_=Kt(),p=m(a),x=_(p),w=o.slice(0,-1).some(g=>{const v=m(g);return _(v)==="cosmos"})&&x!=="cosmos",[C,j]=f.useState(void 0),[T,b]=f.useState(!1),[I,S]=f.useState(null);if(f.useEffect(()=>{(async()=>{try{if(!w)return;if(!h)throw new Error("Wallet not connected");b(!0),S(null);const[{pubkey:v}]=await h.getAccounts();j(v)}catch(v){S(new Error(await He(v)))}finally{b(!1)}})()},[w,h]),I)return t.jsx(ms,{error:I});if(T)return t.jsx(se,{children:t.jsx(Q.White,{loading:T&&"Generating intermediary addresses..."})});if(!w||C){const g=o.map((v,y)=>{if(y===o.length-1){const L=m(i);return _(L)==="initia"?B.toBech32(c):c}const F=m(v),U=_(F),R=m(a),q=_(R);switch(U){case"initia":return d;case"evm":return u;case"cosmos":{if(q==="cosmos")return O.toBech32(F.bech32_prefix,O.fromBech32(l).data);if(!C)throw new Error("Pubkey not found");return Bt.pubkeyToAddress(Bt.encodeSecp256k1Pubkey(C),F.bech32_prefix)}default:throw new Error("Unsupported chain type")}});return e(g)}return t.jsx(ms,{error:new Error("Failed to generate intermediary addresses")})},q_=({addressList:e,signedOpHook:s,children:n})=>{const r=Ve(),{route:o,values:a}=$t(),[i,l]=f.useState(void 0),[c,d]=f.useState(!1),[u,h]=f.useState(null);return f.useEffect(()=>{(async()=>{try{if(o.required_op_hook&&!s)throw new Error("Op hook is required");d(!0),h(null);const _={address_list:e,amount_in:o.amount_in,amount_out:o.amount_out,source_asset_chain_id:o.source_asset_chain_id,source_asset_denom:o.source_asset_denom,dest_asset_chain_id:o.dest_asset_chain_id,dest_asset_denom:o.dest_asset_denom,slippage_tolerance_percent:a.slippagePercent,operations:o.operations,signed_op_hook:s},{txs:p}=await r.post("v2/fungible/msgs",{json:_}).json();if(!p||p.length===0)throw new Error("No transaction data found");const[x]=p;l(x)}catch(_){h(_)}finally{d(!1)}})()},[o,a,e,s,r]),u?t.jsx(ms,{error:u}):c?t.jsx(se,{children:t.jsx(Q.White,{loading:c&&"Fetching messages..."})}):i?n(i):t.jsx(ms,{error:new Error("Failed to fetch messages")})},P_=({children:e})=>{var r;const{route:s}=$t(),n=__();return s.required_op_hook&&!n.data?t.jsx(se,{extra:t.jsx(ee,{level:"error",children:(r=n.error)==null?void 0:r.message}),children:t.jsx(Q.White,{onClick:()=>n.mutate(),loading:n.isPending&&"Awaiting signature...",children:"Authorize conversion"})}):e(n.data)},F_=({tx:e,children:s})=>{const n=Or(),r=lt(),{mutate:o,data:a,isPending:i,error:l}=k.useMutation({mutationFn:async()=>{try{if(!("evm_tx"in e))throw new Error("Transaction is not EVM");if(!e.evm_tx.required_erc20_approvals)throw new Error("No approvals required");const{chain_id:c}=e.evm_tx,d=await n(),u=await d.getSigner();await Oo(d,r(c));for(const h of e.evm_tx.required_erc20_approvals){const{token_contract:m,spender:_,amount:p}=h,x=["function approve(address spender, uint256 amount) external returns (bool)"];await(await new $e.ethers.Contract(m,x,u).approve(_,p)).wait()}return!0}catch(c){throw new Error(await He(c))}}});return"evm_tx"in e&&e.evm_tx.required_erc20_approvals&&e.evm_tx.required_erc20_approvals.length>0&&!a?t.jsx(se,{extra:t.jsx(ee,{level:"error",children:l==null?void 0:l.message}),children:t.jsx(Q.White,{onClick:()=>o(),loading:i&&"Approving tokens...",children:"Approve tokens"})}):s},B_=({tx:e})=>{const{mutate:s,isPending:n}=h_(e);return t.jsx(se,{children:t.jsx(Q.White,{onClick:()=>s(),loading:n&&"Signing transaction...",children:"Confirm"})})},R_=()=>t.jsx(Fe,{title:"Route preview",children:t.jsx(D_,{children:e=>t.jsxs(t.Fragment,{children:[t.jsx(T_,{addressList:e}),t.jsx(P_,{children:s=>t.jsx(q_,{addressList:e,signedOpHook:s,children:n=>t.jsx(F_,{tx:n,children:t.jsx(B_,{tx:n})})})})]})})}),M_="_button_14cv7_1",O_="_checkbox_14cv7_10",U_="_checked_14cv7_23",ns={button:M_,checkbox:O_,checked:U_},z_=({checked:e,onClick:s,label:n,className:r})=>t.jsxs("button",{type:"button",className:P(ns.button,r),onClick:s,children:[t.jsx("div",{className:P(ns.checkbox,{[ns.checked]:e}),children:e&&t.jsx(N.IconCheck,{size:12})}),t.jsx("span",{className:ns.label,children:n})]}),K_="_success_t4dfk_1",H_="_error_t4dfk_5",xr={success:K_,error:H_},L_=({tx:e})=>{const[s,n]=Mo(e);if(!s)throw new Error("Bridge history details not found");const{data:r}=p_(s),o=s.state??W_(r);switch(f.useEffect(()=>{o!=="loading"&&n(a=>{if(!a)throw new Error("Bridge history details not found");return{...a,tracked:!0,state:o}})},[n,o]),o){case"error":return t.jsx("div",{className:xr.error,children:t.jsx(N.IconCloseCircleFilled,{size:14})});case"success":return t.jsx("div",{className:xr.success,children:t.jsx(N.IconCheckCircleFilled,{size:14})});default:return t.jsx(Ge,{size:14})}};function W_(e){if(!e)return"loading";switch(e.state){case"STATE_ABANDONED":case"STATE_COMPLETED_ERROR":case"STATE_PENDING_ERROR":return"error";case"STATE_COMPLETED_SUCCESS":return"success";default:return"loading"}}const Q_="_link_1uidr_1",V_="_header_1uidr_22",G_="_title_1uidr_30",Y_="_date_1uidr_36",J_="_explorer_1uidr_40",Z_="_fees_1uidr_55",X_="_label_1uidr_63",ef="_content_1uidr_67",tf="_route_1uidr_73",sf="_row_1uidr_78",nf="_asset_1uidr_84",rf="_amount_1uidr_92",of="_chain_1uidr_97",af="_account_1uidr_106",cf="_arrow_1uidr_113",X={link:Q_,header:V_,title:G_,date:Y_,explorer:J_,fees:Z_,label:X_,content:ef,route:tf,row:sf,asset:nf,amount:rf,chain:of,account:af,arrow:cf},lf=({tx:e})=>{var W;const[s,n]=Mo(e);if(!s)throw new Error("Bridge history details not found");const{chainId:r,txHash:o,route:a,values:i,timestamp:l,tracked:c}=s,{data:d}=f_(s),{address:u="",connector:h}=je.useAccount(),{find:m}=Ns();f.useEffect(()=>{d&&n(Z=>{if(!Z)throw new Error("Bridge history details not found");return{...Z,tracked:!0}})},[n,d]);const{amount_in:_,amount_out:p,source_asset_chain_id:x,source_asset_denom:w,dest_asset_chain_id:C,dest_asset_denom:j,estimated_fees:T=[]}=a,b=ke(x),I=ke(C),S=De(w,x),g=De(j,C),v=(Z,me)=>me?t.jsx(V,{src:me,width:12,height:12}):B.equals(Z,u)?t.jsx(V,{src:h==null?void 0:h.icon,width:12,height:12}):t.jsx(N.IconWallet,{size:12}),y=(Z,{symbol:me,decimals:we,logo_uri:Ce},{chain_name:ut,pretty_name:he,...le},E,$s)=>t.jsxs("div",{className:X.row,children:[t.jsx($n,{assetLogoUrl:Ce,chainLogoUrl:le.logo_uri??void 0}),t.jsxs("div",{children:[t.jsxs("div",{className:X.asset,children:[t.jsx("span",{className:X.amount,children:ne(Z,{decimals:we})}),t.jsx("span",{children:me})]}),t.jsxs("div",{className:X.chain,children:[t.jsxs("span",{children:["on ",he||ut]}),t.jsxs("div",{className:X.account,children:[$s,t.jsx("span",{className:"monospace",children:te(E)})]})]})]})]}),F=Uo(a),U=f.useMemo(()=>{switch(F){case is.SKIP:return"Skip Explorer";case is.OP_WITHDRAW:return"Initia Scan"}},[F]),R=t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:X.header,children:[t.jsxs("div",{className:X.title,children:[c?t.jsx(L_,{tx:e}):t.jsx(Ge,{size:14}),t.jsx("div",{className:X.date,children:bt.intlFormatDistance(new Date(l),new Date,{locale:"en-US"})})]}),t.jsxs("div",{className:X.explorer,children:[t.jsx("span",{children:U}),t.jsx(N.IconExternalLink,{size:12})]})]}),t.jsxs("div",{className:X.route,children:[y(_,S,b,i.sender,v(i.sender,(W=m(i.cosmosWalletName))==null?void 0:W.image)),t.jsx("div",{className:X.arrow,children:t.jsx(N.IconArrowDown,{size:12})}),y(p,g,I,i.recipient,v(i.recipient))]}),T.length>0&&t.jsxs("div",{className:X.fees,children:[t.jsx("span",{className:X.label,children:"Fees"}),t.jsx("span",{className:X.content,children:Do(T)})]})]});if(F===is.OP_WITHDRAW)return t.jsx(Cn,{chainId:r,txHash:o,className:X.link,children:R});const q=new URLSearchParams({tx_hash:o,chain_id:r}),L=new URL(`?${q.toString()}`,"https://explorer.skip.build");return t.jsx("a",{href:L.toString(),className:X.link,target:"_blank",children:R})},df="_list_1q71m_1",uf="_header_1q71m_5",mf="_checkbox_1q71m_9",hf="_item_1q71m_13",rs={list:df,header:uf,checkbox:mf,item:hf},_f=()=>{const{initiaAddress:e,hexAddress:s}=ye(),{history:n,getHistoryDetails:r}=Ro(),o=n.filter(m=>r(m)),a=o.filter(m=>{const _=r(m);if(!_)return!1;const{values:p}=_,{sender:x,recipient:w}=p;return[x,w].some(C=>[e,s].includes(C))}),[i,l]=f.useState(1),[c,d]=re.useToggle(!a.length),u=c?o:a,h=u.slice(0,i*pr);return t.jsx(Fe,{title:"Bridge/Swap activity",children:t.jsxs("div",{className:rs.list,children:[o.length>0&&o.length!==a.length&&t.jsx("header",{className:rs.header,children:t.jsx(z_,{checked:c,onClick:d,label:"Show all transactions stored in this browser",className:rs.checkbox})}),u.length===0?t.jsx(ae,{children:"No bridge/swap activity"}):h.map((m,_)=>t.jsx("div",{className:rs.item,children:t.jsx(ce,{children:t.jsx(lf,{tx:m})})},_)),u.length>i*pr?t.jsx(ws,{onClick:()=>l(m=>m+1)}):n.length>=us&&t.jsxs(ae,{children:["Only the latest ",us," items are stored. Older entries will be removed automatically."]})]})})},Ko=()=>{const e=ue(),s=Tr(),n=It(),{closeModal:r}=zt();if(f.useEffect(()=>{r(),s.startsWith("/bridge/")&&e("/bridge"),(s==="/collection"||s.startsWith("/nft"))&&e("/nfts")},[n]),s==="/connect")return n?null:t.jsx(nl,{});switch(s){case"/bridge":return t.jsx(Dh,{},n);case"/bridge/history":return t.jsx(_f,{})}if(!n)return null;switch(s){case"/":case"/nfts":case"/activity":return t.jsx(zd,{});case"/send":return t.jsx(tm,{},n);case"/collection":return t.jsx(om,{});case"/nft":return t.jsx(_m,{});case"/nft/send":return t.jsx(Dm,{},n);case"/rollups":return t.jsx(Hm,{});case"/bridge/preview":return t.jsx(R_,{});case"/op/withdrawals":return t.jsx(u_,{});case"/tx":return t.jsx(_o,{});case"/blank":return null}},ff="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@100..700&display=swap",pf=()=>t.jsxs(t.Fragment,{children:[t.jsx("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),t.jsx("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:""}),t.jsx("link",{rel:"stylesheet",href:ff}),t.jsx("link",{rel:"stylesheet",href:"https://assets.initia.xyz/fonts/PilatWide.css"})]}),xf=()=>{Le();const e=ve();return bn(),jt(localStorage.getItem(M.BRIDGE_SRC_CHAIN_ID)??e.chainId),jt(localStorage.getItem(M.BRIDGE_DST_CHAIN_ID)??e.chainId),null},gf=({children:e,...s})=>(f.useEffect(()=>{Fa()},[]),re.useIsClient()?t.jsxs(t.Fragment,{children:[t.jsx(pf,{}),t.jsxs(Ir.Provider,{value:{...kr,...s},children:[t.jsx(ce,{suspenseFallback:null,errorBoundaryProps:{fallback:null},children:t.jsx(xf,{})}),t.jsx(Dr,{children:t.jsx(Ma,{children:t.jsx(Xa,{children:t.jsx(yc,{children:t.jsxs(A.Tooltip.Provider,{delayDuration:0,skipDelayDuration:0,children:[e,t.jsx(Lc,{children:t.jsx(Ko,{})})]})})})})})]})]}):null),yf=({bridge:e})=>t.jsx(Dr,{initialEntry:{path:e?"/bridge":"/",state:e},children:t.jsx("div",{className:"body",children:t.jsx(so.Provider,{value:!!e,children:t.jsx(ce,{children:t.jsx(Ko,{})})})})});exports.AddressUtils=B;exports.DEFAULT_GAS_ADJUSTMENT=fn;exports.DEFAULT_GAS_PRICE_MULTIPLIER=$r;exports.InterwovenKit=yf;exports.InterwovenKitProvider=gf;exports.MAINNET=kr;exports.TESTNET=ua;exports.createUsernameClient=Nr;exports.formatAmount=ne;exports.formatNumber=at;exports.formatPercent=ca;exports.initiaPrivyWallet=ha;exports.initiaPrivyWalletConnector=ma;exports.initiaPrivyWalletOptions=pn;exports.injectStyles=da;exports.toAmount=fs;exports.toQuantity=cs;exports.truncate=te;exports.useAddress=It;exports.useHexAddress=js;exports.useInitiaAddress=J;exports.useInterwovenKit=ye;exports.useUsernameQuery=Jr;
4
+ </svg>`,Ia=encodeURIComponent(Na),Mr=`data:image/svg+xml;utf8,${Ia}`,at=qe.createQueryKeys("interwovenkit:asset",{list:e=>[e],item:(e,n)=>[e,n],resource:(e,n)=>[e.chainId,n.denom],denom:(e,n)=>[e,n],metadata:(e,n)=>[e,n]});function Sa(e){var m,h,_;const{base:n,symbol:s,denom_units:r=[],display:a,logo_URIs:o,name:i,address:l,traces:c}=e,d=((m=r.find(p=>p.denom===a))==null?void 0:m.exponent)??((h=r.find(p=>p.denom===n))==null?void 0:h.exponent)??((_=A.head(r))==null?void 0:_.exponent)??0,u=(o==null?void 0:o.png)??"";return{denom:n,symbol:s,decimals:d,logoUrl:u,name:i,address:l,traces:c}}function Ft(e){var a;const n=(a=e==null?void 0:e.metadata)==null?void 0:a.assetlist,s=$.useQueryClient(),{data:r}=$.useSuspenseQuery({queryKey:at.list(n).queryKey,queryFn:async()=>n?H.get(n).json():{assets:[]},select:({assets:o})=>{if(!e)return[];const i=o.map(Sa);for(const l of i)s.setQueryData(at.item(e.chainId,l.denom).queryKey,l);return i},staleTime:L.MINUTE});return r}function He(e){const n=Ft(e),s=we(),r=Ft(s),a=Or(e);return o=>{const i=n.find(c=>c.denom===o);if(i)return i;const l=r.find(c=>c.denom===a(o));return l?{...l,denom:o}:{denom:o,symbol:"",decimals:0,logoUrl:Mr}}}function xs(e,n){const s=He(n),a=$.useQueryClient().getQueryData(at.item(n.chainId,e).queryKey);return a||s(e)}function Or(e){const n=we(),s=Ft(e);return r=>{var o,i,l,c,d;if((o=e.metadata)!=null&&o.is_l1)return r;if(r.startsWith("l2/")||r.startsWith("ibc/")){const u=(i=s.find(m=>m.denom===r))==null?void 0:i.traces;if(u){for(const m of u)if(m.counterparty.chain_name===n.chain_name)return m.counterparty.base_denom}}const a=(d=(c=(l=n.metadata)==null?void 0:l.ibc_channels)==null?void 0:c.find(({chain_id:u,version:m})=>u===e.chain_id&&m==="ics20-1"))==null?void 0:d.channel_id;return a?ka(a,r):""}}function Ms(e,n){const r=M.toBytes(e,32),a=M.toBytes(n,32),o=new Uint8Array([...r,...a,252]);return z.toHex(ms.sha3_256.create().update(o).digest())}function Ur(e,n){const r=M.toBytes(e,32),a=nt.toBytes(n),o=new Uint8Array([...r,...a,254]);return z.toHex(ms.sha3_256.create().update(o).digest())}function $a(e){return e?e.startsWith("move/")?`0x${e.slice(5)}`:`0x${Ur("0x1",e)}`:""}function ka(e,n){const s=`transfer/${e}/${n}`;return`ibc/${z.toHex(ea.sha256(s)).toUpperCase()}`}const Ht=qe.createQueryKeys("interwovenkit:account",{username:(e,n)=>[e,n],address:(e,n)=>[e,n],balances:(e,n)=>[e,n],txs:(e,n)=>[e,n]});function zr(){const{restUrl:e}=we(),{usernamesModuleAddress:n}=ne();return jr({restUrl:e,moduleAddress:n})}function ys(e){const n=Z(),{restUrl:s}=e,{data:r}=$.useSuspenseQuery({queryKey:Ht.balances(s,n).queryKey,queryFn:()=>H.create({prefixUrl:s}).get(`cosmos/bank/v1beta1/balances/${n}`).json(),select:({balances:a})=>a,staleTime:L.SECOND});return r}function Kr(e){const n=ys(e),s=Ft(e),r=He(e),a=Or(e),{data:o}=fn(e.chainId),i=c=>e.fees.fee_tokens.some(d=>d.denom===c),l=c=>s.some(d=>d.denom===c);return A.sortWith([A.descend(({denom:c})=>a(c)==="uinit"),A.descend(({denom:c})=>i(c)),A.descend(({value:c})=>c),A.descend(({denom:c})=>l(c)),({balance:c},{balance:d})=>F(d).comparedTo(c)??0,A.descend(({symbol:c})=>c.toLowerCase())],n.filter(({amount:c})=>!F(c).isZero()).map(({amount:c,denom:d})=>{var _;const u=r(d),m=((_=o==null?void 0:o.find(({id:p})=>p===(u==null?void 0:u.denom)))==null?void 0:_.price)??0,h=F(c).times(m).div(F(10).pow(u.decimals)).toNumber();return{...u,balance:c,price:m,value:h}}))}function Z(){const e=xn();return e?M.toBech32(e):""}function xn(){const{address:e}=ye.useAccount();return e?M.toPrefixedHex(e):""}function Ct(){var r,a;const e=Kt(),n=Z(),s=xn();return((a=(r=e.metadata)==null?void 0:r.minitia)==null?void 0:a.type)==="minievm"?s:n}function Hr(){const e=Ct(),n=zr();return $.useQuery({queryKey:Ht.username(n.restUrl,e).queryKey,queryFn:()=>n.getUsername(e),enabled:!!e,staleTime:L.MINUTE})}function pe(){const e=Ct(),n=Z(),s=xn(),{data:r}=Hr(),a=wt(),{openDrawer:o}=bt(),i=()=>{o("/")},l=()=>{o("/connect")},c=u=>{o("/bridge",u)},d=Fr();return{address:e,initiaAddress:n,hexAddress:s,username:r,offlineSigner:a,openConnect:l,openWallet:i,openBridge:c,...d}}function Ea(){const e=["initia-wallet-widget:last-connected-wallet","initia-wallet-widget:fee-denoms"],n={"initia-wallet-widget:chain-ids":U.ADDED_CHAIN_IDS,"initia-wallet-widget:opened-layers-assets":`${U.OPENED_CHAIN_IDS}:assets`,"initia-wallet-widget:opened-layers-nft":`${U.OPENED_CHAIN_IDS}:nfts`},s={"initia-wallet-widget:ethereum-public-keys":{prefix:U.PUBLIC_KEY,getSuffix:M.toBech32}};for(const r of e)localStorage.removeItem(r);for(const[r,a]of Object.entries(n)){const o=localStorage.getItem(r);o&&(localStorage.setItem(a,o),localStorage.removeItem(r))}for(const[r,{prefix:a,getSuffix:o}]of Object.entries(s)){const i=localStorage.getItem(r);if(i)try{const l=JSON.parse(i);for(const[c,d]of Object.entries(l)){const u=`${a}:${o(c)}`;localStorage.setItem(u,d)}localStorage.removeItem(r)}catch{}}}const Aa="_status_tn9m1_1",Ta="_error_tn9m1_9",Os={status:Aa,error:Ta},ae=({error:e,children:n})=>t.jsx("p",{className:R(Os.status,{[Os.error]:e}),children:n}),se=({errorBoundaryProps:e={fallbackRender:({error:r})=>t.jsx(ae,{error:!0,children:r.message})},suspenseFallback:n=t.jsx(ae,{children:"Loading..."}),children:s})=>t.jsx(pr.ErrorBoundary,{...e,children:t.jsx(f.Suspense,{fallback:n,children:s})}),fe=qe.createQueryKeys("interwovenkit:skip",{chains:null,assets:e=>[e],asset:(e,n)=>[e,n],balances:(e,n)=>[e,n],route:(e,n)=>[e,n],routeErrorInfo:e=>[e],txTrack:(e,n)=>[e,n],txStatus:(e,n)=>[e,n]});function Le(){const{routerApiUrl:e}=ne();return f.useMemo(()=>H.create({prefixUrl:e}),[e])}function Lr(){const e=Ke();return n=>e.some(s=>s.chain_id===n)}function Lt(){const e=Lr();return n=>e(n.chain_id)?"initia":n.chain_type}function Rt(e){return Lt()(e)}function js(){const e=Le(),{data:n}=$.useSuspenseQuery({queryKey:fe.chains.queryKey,queryFn:()=>e.get("v2/info/chains").json(),select:({chains:s})=>A.sortWith([A.descend(({chain_name:r})=>r==="initia"),A.ascend(({pretty_name:r})=>r)],s),staleTime:L.MINUTE});return n}function ct(){const e=js();return n=>{const s=e.find(r=>r.chain_id===n);if(!s)throw new Error(`Chain not found: ${n}`);return s}}function $e(e){return ct()(e)}function yt(e){const n=Le(),s=$.useQueryClient(),{data:r}=$.useSuspenseQuery({queryKey:fe.assets(e).queryKey,queryFn:()=>n.get("v2/fungible/assets",{searchParams:{chain_ids:e}}).json(),select:({chain_to_assets_map:a})=>{const{assets:o}=a[e]??{assets:[]};for(const i of o)s.setQueryData(fe.asset(e,i.denom).queryKey,i);return o.toSorted(A.descend(i=>i.symbol==="INIT"))},staleTime:L.MINUTE});return r}function Wr(e){const n=yt(e);return s=>{const r=n.find(a=>a.denom===s);if(!r)throw new Error(`Asset not found: ${s}`);return r}}function Te(e,n){return Wr(n)(e)}const vs=f.createContext(null);function Mt(){const{container:e}=f.useContext(vs);return e}const qa=({children:e})=>{const[n,s]=f.useState(null);return t.jsx(vs.Provider,{value:{container:n,setContainer:s},children:e})},Da="_loader_4gdsk_1",Pa={loader:Da},We=({size:e=24,color:n="currentColor",border:s=2})=>{const r={width:`${e}px`,height:`${e}px`,borderColor:`${n} ${n} transparent ${n}`,borderWidth:`${s}px`};return t.jsx("div",{className:Pa.loader,style:r})},Ba="_container_4qmbg_1",Fa="_toast_4qmbg_10",Ra="_info_4qmbg_23",Ma="_success_4qmbg_27",Oa="_error_4qmbg_31",Ua="_icon_4qmbg_36",za="_content_4qmbg_43",Ka="_title_4qmbg_46",Ha="_description_4qmbg_51",La="_close_4qmbg_72",Fe={container:Ba,toast:Fa,info:Ra,success:Ma,error:Oa,icon:Ua,content:za,title:Ka,description:Ha,close:La},Wa=({notification:e,onClose:n,...s})=>{const r=je.useTransition(e,{keys:o=>(o==null?void 0:o.id)||"empty",from:{transform:"translateY(-52px)",opacity:0},enter:{transform:"translateY(0px)",opacity:1},leave:{transform:"translateY(-52px)",opacity:0},config:{...je.config.wobbly,clamp:!0}}),a=o=>{switch(o){case"loading":return t.jsx(We,{size:16});case"info":case"success":return t.jsx(b.IconCheckCircleFilled,{size:16});case"error":return t.jsx(b.IconCloseCircleFilled,{size:16});default:return null}};return r((o,i)=>{if(!i)return null;const{type:l,title:c,description:d}=i,u=a(l);return t.jsx(je.animated.div,{style:o,className:Fe.container,children:t.jsxs("div",{className:R(Fe.toast,l&&Fe[l]),...s,children:[u&&t.jsx("div",{className:Fe.icon,children:u}),t.jsxs("div",{className:Fe.content,children:[t.jsx("p",{className:Fe.title,children:c}),d&&t.jsx("div",{className:Fe.description,children:d})]}),t.jsx("button",{className:Fe.close,onClick:n,children:t.jsx(b.IconClose,{size:14})})]})})})},Qr=f.createContext(null),Vr=()=>f.useContext(Qr),Dn=5e3,Qa=({children:e})=>{const n=Mt(),[s,r]=f.useState(null),a=f.useRef(null),o=f.useRef(!1),i=()=>{a.current&&(clearTimeout(a.current),a.current=null)},l=f.useCallback(()=>{i(),r(null)},[]),c=f.useCallback(h=>{i(),r({...h,id:Fs.nanoid()}),h.autoHide&&!o.current&&(a.current=setTimeout(()=>l(),Dn))},[l]),d=f.useCallback(h=>{i(),r(_=>_?{..._,...h}:{...h,id:Fs.nanoid()}),h.autoHide&&!o.current&&(a.current=setTimeout(()=>l(),Dn))},[l]),u=()=>{i(),o.current=!0},m=()=>{i(),o.current=!1,s!=null&&s.autoHide&&(a.current=setTimeout(()=>l(),Dn))};return f.useEffect(()=>()=>i(),[]),t.jsxs(Qr.Provider,{value:{showNotification:c,updateNotification:d,hideNotification:l},children:[e,n&&gr.createPortal(t.jsx(Wa,{notification:s,onClose:l,onMouseEnter:u,onMouseLeave:m}),n)]})},Gr=f.createContext(!1),Va="_overlay_1eoyl_1",Ga="_fullscreen_1eoyl_12",Ya="_content_1eoyl_16",Ja="_header_1eoyl_73",Za="_title_1eoyl_82",Xa="_close_1eoyl_87",Ge={overlay:Va,fullscreen:Ga,content:Ya,header:Ja,title:Za,close:Xa},Yr=({title:e,children:n,trigger:s,open:r,onOpenChange:a})=>{const o=f.useContext(Gr);return t.jsxs(T.Dialog.Root,{open:r,onOpenChange:a,children:[s&&t.jsx(T.Dialog.Trigger,{asChild:!0,children:s}),t.jsxs(T.Dialog.Portal,{container:Mt(),children:[t.jsx("div",{className:R(Ge.overlay,{[Ge.fullscreen]:o})}),t.jsxs(T.Dialog.Content,{className:R(Ge.content,{[Ge.fullscreen]:o}),children:[e&&t.jsxs("header",{className:Ge.header,children:[t.jsx(T.Dialog.Title,{className:Ge.title,children:e}),t.jsx(T.Dialog.Close,{className:Ge.close,children:t.jsx(b.IconClose,{size:20})})]}),n]})]})]})};function Jr({indexerUrl:e}){const n=Z();return $.useSuspenseQuery({queryKey:Ht.txs(e,n).queryKey,queryFn:async()=>{const s={"pagination.reverse":!0};return H.create({prefixUrl:e}).get(`indexer/tx/v1/txs/by_account/${n}`,{searchParams:s}).json()},select:s=>s.txs,staleTime:L.SECOND})}function Zr(e){const{data:n}=$.useSuspenseQuery({queryKey:ps.gasPrices(e).queryKey,queryFn:async()=>{var s;if((s=e.metadata)!=null&&s.is_l1){const{restUrl:r}=e,{gas_prices:a}=await H.create({prefixUrl:r}).get("initia/tx/v1/gas_prices").json();return a.toSorted(A.descend(({denom:o})=>o==="uinit")).map(({denom:o,amount:i})=>{const l=o==="uinit"?1:vr;return{amount:F(i).times(l).toFixed(18),denom:o}})}return e.fees.fee_tokens.map(({denom:r,fixed_min_gas_price:a})=>{if(A.isNil(a))throw new Error(`${r} has no price`);return{amount:String(a),denom:r}})},staleTime:L.SECOND});return n}function Xr(e){var a;const n=Z(),{data:s}=Jr(e);if(e.fees.fee_tokens.length===0)return null;const r=e.fees.fee_tokens[0].denom;if(e.fees.fee_tokens.length===1)return r;try{const o=s.find(({tx:i})=>i.auth_info.signer_infos.some(l=>M.equals(n,Se.computeAddress(`0x${z.toHex(Jn.Secp256k1.uncompressPubkey(z.fromBase64(l.public_key.key)))}`))));return((a=o==null?void 0:o.tx.auth_info.fee.amount[0])==null?void 0:a.denom)??r}catch{return r}}const ei="_root_1wwaf_1",ti="_item_1wwaf_10",ni="_chevron_1wwaf_14",si="_trigger_1wwaf_19",ri="_content_1wwaf_39",kt={root:ei,item:ti,chevron:ni,trigger:si,content:ri};function eo(e){const{list:n,getKey:s,renderHeader:r,renderContent:a,footer:o,...i}=e;return t.jsxs(T.Accordion.Root,{className:kt.root,type:"multiple",...i,children:[n.map((l,c)=>t.jsxs(T.Accordion.Item,{className:kt.item,value:(s==null?void 0:s(l))??String(c),children:[t.jsx(T.Accordion.Header,{children:t.jsxs(T.Accordion.Trigger,{className:kt.trigger,children:[r(l),t.jsx(b.IconChevronDown,{className:kt.chevron,size:16})]})}),t.jsx(T.Accordion.Content,{className:kt.content,children:a(l)})]},(s==null?void 0:s(l))??c)),o]})}const oi="_scrollable_yv81n_1",ai={scrollable:oi},Pe=({className:e,children:n})=>t.jsx("div",{className:R(ai.scrollable,e),children:n}),es=({children:e})=>{const n=f.useRef(null),[s,r]=f.useState(0),a=je.useSpring({height:s,config:{...je.config.stiff,clamp:!0}});return f.useEffect(()=>{if(n.current){const{height:o}=n.current.getBoundingClientRect();r(o)}},[e]),e?t.jsx(je.animated.div,{style:{overflow:"hidden",...a},children:t.jsx("div",{ref:n,children:e})}):null},ii="_help_7m3jv_1",ci="_icon_7m3jv_10",li="_info_7m3jv_17",di="_warning_7m3jv_21",ui="_error_7m3jv_25",mi="_success_7m3jv_31",Pn={help:ii,icon:ci,info:li,warning:di,error:ui,success:mi},Oe=({level:e,className:n,mt:s=8,children:r})=>{if(!r)return null;const a=()=>{switch(e){case"loading":return t.jsx(We,{size:12});case"info":return t.jsx(b.IconInfoFilled,{size:12});case"warning":case"error":return t.jsx(b.IconWarningFilled,{size:12});default:return t.jsx(b.IconCheckCircleFilled,{size:12})}};return t.jsxs("div",{className:R(Pn.help,e&&Pn[e],n),style:{marginTop:s},children:[t.jsx("div",{className:Pn.icon,children:a()}),t.jsx("p",{children:r})]})},hi="_stack_14kq8_1",_i="_help_14kq8_6",fi="_info_14kq8_14",pi="_warning_14kq8_19",gi="_error_14kq8_24",xi="_success_14kq8_29",ts={stack:hi,help:_i,info:fi,warning:pi,error:gi,success:xi},yi=({children:e})=>!e||Array.isArray(e)&&e.filter(Boolean).length===0?null:t.jsx(es,{children:t.jsx("div",{className:ts.stack,children:e})}),te=e=>t.jsx(Oe,{...e,className:R(ts.help,ts[e.level]),mt:0});te.Stack=yi;const ji="_footer_xif7g_1",vi="_actions_xif7g_10",Us={footer:ji,actions:vi},re=({extra:e,className:n,children:s})=>t.jsxs("footer",{className:R(Us.footer,n),children:[e,t.jsx("div",{className:Us.actions,children:s})]}),wi="_button_7llhj_1",bi="_outline_7llhj_24",Ci="_sm_7llhj_42",Ni="_full_7llhj_48",Ii="_small_7llhj_52",Si="_unpadded_7llhj_82",st={button:wi,outline:bi,sm:Ci,full:Ni,small:Ii,unpadded:Si},to=e=>{const{sm:n,fullWidth:s,loading:r,className:a,children:o,disabled:i,...l}=e;return t.jsx("button",{...l,className:R(st.button,{[st.sm]:n,[st.full]:s},a),disabled:!!r||i,children:r?t.jsxs(t.Fragment,{children:[t.jsx(We,{color:"currentColor",size:16}),typeof r=="string"&&t.jsx("span",{className:st.loading,children:r})]}):o})},$i=({className:e,...n})=>t.jsx(to,{...n,className:R(st.outline,e)}),ki=({className:e,unpadded:n,...s})=>t.jsx("button",{...s,className:R(st.small,{[st.unpadded]:n},e)}),G={White:to,Outline:$i,Small:ki},Ei="_item_1n572_1",Ai="_title_1n572_10",Ti="_content_1n572_14",Bn={item:Ei,title:Ai,content:Ti},Fn=({title:e,content:n})=>t.jsxs("div",{className:Bn.item,children:[t.jsx("div",{className:Bn.title,children:e}),t.jsx("div",{className:Bn.content,children:n})]}),qi="_placeholder_80nya_1",Di="_circle_80nya_5",zs={placeholder:qi,circle:Di},Y=({src:e,alt:n,placeholder:s,classNames:r,circle:a,...o})=>{const[i,l]=f.useState(!1),{width:c,height:d}=o,u=s??t.jsx("div",{className:R(zs.placeholder,r==null?void 0:r.placeholder),style:{width:c,height:d}});return f.useEffect(()=>{l(!1)},[e]),!e||i?u:t.jsx("img",{...o,className:R(o.className,{[zs.circle]:a}),style:{width:c,height:d},src:e,alt:n,loading:"lazy",onError:()=>l(!0)})};function no(e,n){var r,a,o,i,l,c;const s={};for(const d of e)if(d.attributes.some(m=>m.key==="msg_index")){if(d.type==="coin_spent"){const m=(r=d.attributes.find(_=>_.key==="spender"))==null?void 0:r.value,h=(a=d.attributes.find(_=>_.key==="amount"))==null?void 0:a.value;if(m===n&&h){const[_,p]=((o=h.match(/^(\d+)(.+)$/))==null?void 0:o.slice(1))||[];if(_&&p){const g=s[p]||BigInt(0);s[p]=g-BigInt(_)}}}if(d.type==="coin_received"){const m=(i=d.attributes.find(_=>_.key==="receiver"))==null?void 0:i.value,h=(l=d.attributes.find(_=>_.key==="amount"))==null?void 0:l.value;if(m===n&&h){const[_,p]=((c=h.match(/^(\d+)(.+)$/))==null?void 0:c.slice(1))||[];if(_&&p){const g=s[p]||BigInt(0);s[p]=g+BigInt(_)}}}}return Object.entries(s).filter(([,d])=>d!==BigInt(0)).map(([d,u])=>({amount:u.toString(),denom:d}))}function so(e,n){var r,a;const s={};for(const o of e)if(o.attributes.some(l=>l.key==="msg_index")&&o.type==="move"){const l=(r=o.attributes.find(u=>u.key==="type_tag"))==null?void 0:r.value,c=(a=o.attributes.find(u=>u.key==="data"))==null?void 0:a.value;if(!l||!c)continue;let d;try{d=JSON.parse(c)}catch{continue}if(l==="0x1::fungible_asset::WithdrawEvent"){const u=d.store_addr,m=d.amount,h=d.metadata_addr;if(u&&m&&h){const _=n.startsWith("0x")?n.slice(2):n;if(`0x${Ms(_,h)}`===u){const g=s[h]||BigInt(0);s[h]=g-BigInt(m)}}}if(l==="0x1::fungible_asset::DepositEvent"){const u=d.store_addr,m=d.amount,h=d.metadata_addr;if(u&&m&&h){const _=n.startsWith("0x")?n.slice(2):n;if(`0x${Ms(_,h)}`===u){const g=s[h]||BigInt(0);s[h]=g+BigInt(m)}}}}return Object.entries(s).filter(([,o])=>o!==BigInt(0)).map(([o,i])=>({amount:i.toString(),metadata:o}))}const ro=({metadata:e,chain:n,children:s})=>{const{restUrl:r}=n,{data:a}=$.useSuspenseQuery({queryKey:at.denom(r,e).queryKey,queryFn:()=>H.create({prefixUrl:r}).get("initia/move/v1/denom",{searchParams:{metadata:e}}).json(),select:({denom:o})=>o,staleTime:L.INFINITY});return s(a)},yn=({chain:e,asset:n,children:s})=>{const r=$.useQueryClient(),{data:a}=$.useQuery({queryKey:at.resource(e,n).queryKey,queryFn:async()=>{var c,d,u;if(n.symbol||!((c=e.metadata)!=null&&c.is_l1||((u=(d=e.metadata)==null?void 0:d.minitia)==null?void 0:u.type)==="minimove"))return null;const o=$a(n.denom),{resource:i}=await H.create({prefixUrl:e.restUrl}).get(`initia/move/v1/accounts/${o}/resources/by_struct_tag`,{searchParams:{struct_tag:"0x1::fungible_asset::Metadata"}}).json(),{data:l}=JSON.parse(i.move_resource);return r.setQueryData(at.item(e.chainId,n.denom).queryKey,{...n,...l}),l},staleTime:L.INFINITY});return s({...n,...a})},Pi="_root_jioyr_1",Bi="_title_jioyr_7",Fi="_changes_jioyr_13",Ri="_change_jioyr_13",Mi="_amount_jioyr_34",Oi="_text_jioyr_40",Ui="_value_jioyr_47",rt={root:Pi,title:Bi,changes:Fi,change:Ri,amount:Mi,text:Oi,value:Ui},oo=({amount:e,asset:n,price:s})=>{const{denom:r,symbol:a,decimals:o,logoUrl:i}=n,l=D.formatAmount(e,{decimals:o}),c=s&&F(e).times(s).abs();return t.jsxs("div",{className:rt.change,children:[t.jsxs("div",{className:rt.amount,children:[t.jsx(Y,{src:i,width:14,height:14}),t.jsxs("span",{className:rt.text,children:[l," ",a??D.truncate(r)]})]}),c&&t.jsxs("div",{className:rt.value,children:["$",D.formatAmount(c,{decimals:o,dp:2})]})]})},zi=({changes:e,chain:n})=>{const s=He(n),{data:r}=fn(n.chainId);return e.map(({amount:a,denom:o},i)=>{var d;const l=s(o),c=(d=r==null?void 0:r.find(({id:u})=>u===o))==null?void 0:d.price;return t.jsx(oo,{amount:a,asset:l,price:c},i)})},Ki=({changes:e,chain:n})=>{const s=He(n),{data:r}=fn(n.chainId);return e.map(({amount:a,metadata:o},i)=>t.jsx(ro,{metadata:o,chain:n,children:l=>{var d;const c=(d=r==null?void 0:r.find(({id:u})=>u===l))==null?void 0:d.price;return t.jsx(yn,{asset:s(l),chain:n,children:u=>t.jsx(oo,{amount:a,asset:u,price:c})})}},i))};function Hi(e,n){return typeof n=="bigint"?n.toString():n}const Li=qe.createQueryKeys("interwovenkit:tx",{simulate:e=>[JSON.stringify(e,Hi)]}),Wi=({messages:e,memo:n,chainId:s})=>{var h,_,p,g;const{initiaAddress:r,hexAddress:a}=pe(),o=ve(s),{simulateTx:i}=Fr(),{data:l}=$.useSuspenseQuery({queryKey:Li.simulate({messages:e,memo:n,chainId:s}).queryKey,queryFn:()=>i({messages:e,memo:n,chainId:s}),staleTime:L.SECOND}),c=y=>t.jsxs("div",{className:rt.root,children:[t.jsx("h2",{className:rt.title,children:"Estimated changes"}),t.jsx("div",{className:rt.changes,children:y})]});if(!l)return null;const d=((h=l.result)==null?void 0:h.events)??[];if(d.length===0)return null;if((_=o.metadata)!=null&&_.is_l1||((g=(p=o.metadata)==null?void 0:p.minitia)==null?void 0:g.type)==="minimove"){const y=so(d,a),[C]=Ks(y);return C.length===0?null:c(t.jsx(Ki,{changes:C,chain:o}))}const u=no(d,r),[m]=Ks(u);return m.length===0?null:c(t.jsx(zi,{changes:m,chain:o}))};function Ks(e){return A.partition(n=>new F(n.amount).isNegative(),e)}const Qi="_trigger_13rgr_1",Vi="_icon_13rgr_5",Gi="_content_13rgr_16",Yi="_item_13rgr_24",Vt={trigger:Qi,icon:Vi,content:Gi,item:Yi},Ji=({options:e,value:n,onChange:s})=>{const r=Mt(),{txRequest:a}=Br(),o=ve(a.chainId),i=He(o),l=({amount:[{amount:c,denom:d}]})=>{if(F(c).isZero())return"0";const{symbol:u,decimals:m}=i(d);return`${D.formatAmount(c,{decimals:m})} ${u}`};return e.length===1?l(e[0]):t.jsxs(T.Select.Root,{value:n,onValueChange:s,children:[t.jsxs(T.Select.Trigger,{className:Vt.trigger,children:[t.jsx(T.Select.Value,{}),t.jsx(T.Select.Icon,{className:Vt.icon,children:t.jsx(b.IconChevronDown,{size:16})})]}),t.jsx(T.Select.Portal,{container:r,children:t.jsx(T.Select.Content,{className:Vt.content,position:"popper",sideOffset:6,align:"end",children:t.jsx(T.Select.Viewport,{children:e.map(c=>{const[{denom:d}]=c.amount;return t.jsx(T.Select.Item,{className:Vt.item,value:d,children:t.jsx(T.Select.ItemText,{children:l(c)})},d)})})})})]})};function ln(e){switch(typeof e){case"string":return e;case"number":case"bigint":return e.toString();case"boolean":return e?"true":"false";case"object":return e===null?"null":e instanceof Uint8Array?z.toBase64(e):Array.isArray(e)?`[${e.map(ln).join(",")}]`:JSON.stringify(e,(n,s)=>typeof s=="bigint"?s.toString():s);default:return"unknown"}}const gt={...hr.bcs,address:Hs,object:Hs,bigdecimal:Zi};function ao(e){const n=e.replaceAll(/0x1::(\w+)::(\w+)/g,"$2").toLowerCase();if(n.startsWith("object"))return gt.object();const s=n.match(/(\w+)<(.+)>$/);if(s){const[,r,a]=s,o=ao(a);return gt[r](o)}return gt[n]()}function Hs(e){return gt.bytes(32,e).transform({input:n=>M.toBytes(n,32),output:n=>`0x${z.toHex(n)}`})}function Zi(e){return gt.vector(gt.u8(e)).transform({input:n=>{const s=F.BigNumber(n).times(F.BigNumber(10).pow(18)).toFixed(0,F.BigNumber.ROUND_DOWN);return Xi(BigInt(s))},output:n=>{const s=ec(new Uint8Array(n));return F.BigNumber(s).div(F.BigNumber(10).pow(18)).toFixed()}})}function Xi(e){if(e<0n)throw new Error("negative values are not supported");if(e===0n)return new Uint8Array([0]);const n=[];let s=e;for(;s>0n;)n.push(Number(s&0xffn)),s>>=8n;return new Uint8Array(n)}function ec(e){let n=0n;for(let s=0;s<e.length;s++)n+=BigInt(e[s])<<BigInt(8*s);return n}const tc="_container_1xzyq_1",nc="_toggle_1xzyq_5",sc="_list_1xzyq_11",rc="_arg_1xzyq_16",oc="_type_1xzyq_21",Et={container:tc,toggle:nc,list:sc,arg:rc,type:oc},ac=qe.createQueryKeys("interwovenkit:move",{abi:(e,n,s,r)=>[e,n,s,r]}),ic=({type:e,arg:n})=>ln(ao(e).parse(n)),cc=({msg:e,chainId:n,fallback:s})=>{const[r,a]=ue.useToggle(!1),{restUrl:o}=ve(n),{moduleAddress:i,moduleName:l,functionName:c,args:d}=e,{data:u}=$.useQuery({queryKey:ac.abi(o,i,l,c).queryKey,queryFn:async()=>{const h=await H.create({prefixUrl:o}).get(`initia/move/v1/accounts/${i}/modules/${l}`).json(),p=JSON.parse(h.module.abi).exposed_functions.find(({name:g})=>g===c);if(!p)throw new Error(`Function ${c} not found in module ${l}`);return p.params.filter(g=>!g.startsWith("&"))},staleTime:L.INFINITY});if(!u)return s;const m=(h,_)=>{const p=u[_];return t.jsxs("div",{className:Et.arg,children:[t.jsx("div",{className:Et.type,children:p}),t.jsx(pr.ErrorBoundary,{fallback:t.jsx("div",{className:"error",children:"Error decoding argument"}),children:t.jsx(ic,{type:p,arg:h})})]},_)};return t.jsxs("div",{className:Et.container,children:[t.jsx(G.Small,{className:Et.toggle,onClick:a,disabled:!u,children:r?"Encode":"Decode"}),r?t.jsx("div",{className:Et.list,children:d.map(m)}):s]})},lc="_list_r67rl_1",dc="_key_r67rl_8",uc="_value_r67rl_13",Rn={list:lc,key:dc,value:uc},mc=({message:e,chainId:n})=>{const{typeUrl:s,value:r}=e;return t.jsx("div",{className:Rn.list,children:Object.entries(r).map(([a,o])=>t.jsxs("div",{children:[t.jsx("div",{className:Rn.key,children:a}),t.jsx("div",{className:Rn.value,children:s==="/initia.move.v1.MsgExecute"&&a==="args"?t.jsx(cc,{msg:r,chainId:n,fallback:ln(o)}):ln(o)})]},a))})},hc="_title_kspdu_1",_c="_meta_kspdu_7",fc="_footer_kspdu_14",Mn={title:hc,meta:_c,footer:fc},io=()=>{const{txRequest:e,resolve:n,reject:s}=Br(),{messages:r,memo:a,chainId:o,gas:i,gasAdjustment:l,spendCoins:c}=e,d=Z(),u=wt(),m=Er(),h=ve(o),_=ys(h),p=Zr(h),g=Xr(h),y=(e.gasPrices??p).map(({amount:x,denom:k})=>Ie.calculateFee(Math.ceil(i*l),Ie.GasPrice.fromString(x+k))),C=y.map(x=>x.amount[0]),N=x=>{var P,W;const k=((P=_.find(Q=>Q.denom===x))==null?void 0:P.amount)??0,O=((W=C.find(Q=>Q.denom===x))==null?void 0:W.amount)??0,B=c.filter(Q=>Q.denom===x).reduce((Q,V)=>F(Q).plus(V.amount),F(0));if(B.gt(0)){const Q=F(O).plus(B);return F(k).gte(Q)}return F(k).gte(O)},q=()=>{var x;if(g&&N(g))return g;for(const{denom:k}of C)if(N(k))return k;return(x=C[0])==null?void 0:x.denom},[j,S]=f.useState(q),{mutate:w,isPending:v}=$.useMutation({mutationKey:[Dr],mutationFn:async()=>{const x=y.find(O=>O.amount[0].denom===j);if(!x)throw new Error("Fee not found");if(!u)throw new Error("Signer not initialized");const k=await m(o,d,r,x,a);await n(k)},onError:async x=>{s(new Error(await ze(x)))}}),E=!N(j);return t.jsxs(t.Fragment,{children:[t.jsxs(Pe,{children:[t.jsx("h1",{className:Mn.title,children:"Confirm tx"}),t.jsxs("div",{className:Mn.meta,children:[t.jsx(Fn,{title:"Chain",content:o}),t.jsx(Fn,{title:"Tx fee",content:t.jsx(Ji,{options:y,value:j,onChange:S})}),a&&t.jsx(Fn,{title:"Memo",content:a}),E&&t.jsx(te,{level:"error",children:"Insufficient balance for fee"})]}),t.jsx(Wi,{messages:r,memo:a,chainId:o}),t.jsx(eo,{list:r,renderHeader:({typeUrl:x})=>Ot.sentenceCase(x.split(".").pop().replace(/^Msg/,"")),renderContent:x=>t.jsx(mc,{message:x,chainId:o})})]}),t.jsxs(re,{className:Mn.footer,children:[t.jsx(G.Outline,{onClick:()=>s(new Error("User rejected")),disabled:v,children:"Reject"}),t.jsx(G.White,{onClick:()=>w(),disabled:E,loading:v,children:"Approve"})]})]})},pc=({children:e})=>{const[{title:n,content:s,path:r},a]=f.useState({}),[o,i]=f.useState(!1),l=_e.useAtomValue(gn),c=f.useCallback(m=>{a(m),i(!0)},[]),d=f.useCallback(()=>{a({}),i(!1)},[]),u=f.useCallback(m=>{m||(l==null||l.reject(new Error("User rejected")),a({})),i(m)},[l]);return t.jsxs(Sr.Provider,{value:{openModal:c,closeModal:d},children:[e,t.jsx(Yr,{title:n,open:o,onOpenChange:u,children:t.jsx(se,{children:r==="/tx"?t.jsx(io,{}):s})})]})};function jn(){return ue.useMediaQuery("(max-width: 576px)")}const ns="interwoven-kit";function co(){const e=document.querySelector(ns)||document.body.appendChild(document.createElement(ns));return e.shadowRoot||e.attachShadow({mode:"open"})}function gc(){const{theme:e,container:n}=ne();return f.useEffect(()=>{const s=document.querySelector(ns);s==null||s.setAttribute("data-theme",e)},[e]),n??co()}function xc(e){const n=co(),s=document.createElement("style");s.textContent=e,n.appendChild(s)}const ws=({value:e,children:n})=>{const[s,r]=f.useState(!1);return n({copy:async()=>{try{await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),1e3)}catch{}},copied:s})},yc="_tooltip_6zakp_1",jc="_arrow_6zakp_43",Ls={tooltip:yc,arrow:jc},Nt=({label:e,children:n,small:s,...r})=>t.jsxs(T.Tooltip.Root,{...r,children:[t.jsx(T.Tooltip.Trigger,{asChild:!0,children:n}),t.jsx(T.Tooltip.Portal,{container:Mt(),children:t.jsxs(T.Tooltip.Content,{className:R(Ls.tooltip,{small:s}),collisionBoundary:Mt(),collisionPadding:8,sideOffset:4,children:[e,t.jsx(T.Tooltip.Arrow,{className:Ls.arrow})]})})]}),vc="_root_gwc8h_1",wc="_address_gwc8h_9",bc="_copy_gwc8h_18",Cc="_labelWrapper_gwc8h_32",Nc="_labelCopy_gwc8h_42",Ic="_labelCopied_gwc8h_46",Sc="_copied_gwc8h_54",Ye={root:vc,address:wc,copy:bc,labelWrapper:Cc,labelCopy:Nc,labelCopied:Ic,copied:Sc},$c=()=>{const e=f.useRef(null),n=f.useRef(null),{initiaAddress:s,hexAddress:r}=pe();return f.useEffect(()=>{if(!e.current)return;const o=getComputedStyle(e.current).getPropertyValue("--gray-0");n.current?n.current.update({data:s}):(n.current=new ta({type:"canvas",width:400,height:400,margin:0,data:s,image:"https://registry.initia.xyz/images/INIT.png",qrOptions:{mode:"Byte",errorCorrectionLevel:"H"},imageOptions:{crossOrigin:"anonymous",margin:12},dotsOptions:{type:"dots",color:o},cornersSquareOptions:{type:"extra-rounded",color:o},cornersDotOptions:{type:"dot",color:o},backgroundOptions:{color:"transparent"}}),n.current.append(e.current))},[s]),t.jsxs("div",{className:Ye.root,children:[t.jsx("div",{ref:e,style:{width:200,height:200}}),t.jsx(Nt,{label:`Derived from ${D.truncate(r)}`,children:t.jsx("span",{className:Ye.address,children:s})}),t.jsx(ws,{value:s,children:({copy:a,copied:o})=>t.jsxs("button",{className:R(Ye.copy,{[Ye.copied]:o}),onClick:a,children:[t.jsx(b.IconCopy,{size:12}),t.jsxs("div",{className:Ye.labelWrapper,children:[t.jsx("span",{className:Ye.labelCopy,children:"Copy address"}),t.jsx("span",{className:Ye.labelCopied,children:"Copied!"})]})]})})]})},kc="_header_1n4q3_1",Ec="_account_1n4q3_10",Ac="_name_1n4q3_21",Tc="_address_1n4q3_25",qc="_icon_1n4q3_29",Dc="_copied_1n4q3_36",Pc="_button_1n4q3_51",Bc="_disconnect_1n4q3_62",Fc="_label_1n4q3_72",Rc="_expanded_1n4q3_80",ge={header:kc,account:Ec,name:Ac,address:Tc,icon:qc,copied:Dc,button:Pc,disconnect:Bc,label:Fc,expanded:Rc},Mc=()=>{var y;const e=ie(),n=Kt(),{connector:s}=ye.useAccount(),{disconnect:r}=ye.useDisconnect(),{address:a,username:o}=pe(),{closeDrawer:i}=bt(),{openModal:l}=zt(),c=o??a,[d,u]=f.useState(!1),m=f.useRef(null),h=je.useSpring({width:d?140:52,config:{tension:300,friction:30,clamp:!0}}),_=()=>{d?(e("/blank"),i(),r(),localStorage.removeItem(U.BRIDGE_SRC_CHAIN_ID),localStorage.removeItem(U.BRIDGE_SRC_DENOM),localStorage.removeItem(U.BRIDGE_DST_CHAIN_ID),localStorage.removeItem(U.BRIDGE_DST_DENOM),localStorage.removeItem(U.BRIDGE_QUANTITY),localStorage.removeItem(U.BRIDGE_SLIPPAGE_PERCENT)):u(!0)},p=()=>{d&&(m.current=setTimeout(()=>{u(!1)},500))},g=()=>{m.current&&(clearTimeout(m.current),m.current=null)};return f.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]),s?t.jsxs("header",{className:ge.header,children:[t.jsx(ws,{value:a,children:({copy:C,copied:N})=>t.jsxs("button",{className:R(ge.account,{[ge.copied]:N}),onClick:C,children:[t.jsx(Y,{src:s.icon,width:18,height:18}),t.jsx("div",{className:ge.address,children:D.truncate(a)}),t.jsx("div",{className:ge.name,children:D.truncate(c)}),t.jsx(b.IconCopy,{className:ge.icon,size:12}),N?"Copied!":""]})}),((y=n.metadata)==null?void 0:y.is_l1)&&t.jsx("button",{className:ge.button,onClick:()=>l({title:"Address",content:t.jsx($c,{})}),children:t.jsx(b.IconQrCode,{size:16})}),t.jsxs(je.animated.button,{className:R(ge.button,ge.disconnect,{[ge.expanded]:d}),style:h,onClick:_,onMouseLeave:p,onMouseEnter:g,children:[t.jsx(b.IconSignOut,{size:16}),t.jsx("span",{className:ge.label,children:"Disconnect"})]})]}):null};function Oc(e){return/^[A-F0-9]{64}$/i.test(e)}function Uc(e,n){const{txHash:s,accountAddress:r,pathSuffix:a}=n;if(s){if(!Oc(s))return;const o=A.path(["explorers",0,"tx_page"],e);return o==null?void 0:o.replace(/\$\{txHash\}/g,s)}if(r){if(!M.validate(r))return;const o=A.path(["explorers",0,"account_page"],e),i=o==null?void 0:o.replace(/\$\{accountAddress\}/g,r);return i&&a?i+a:i}}function zc(e){try{const n=new URL(e,window.location.href);if(!["http:","https:"].includes(n.protocol))throw new Error("Invalid protocol");return n.toString()}catch{return"#"}}const Kc="_link_guafb_1",Hc={link:Kc},vn=({chainId:e,txHash:n,accountAddress:s,pathSuffix:r,...a})=>{const{showIcon:o,className:i,children:l,onClick:c,...d}=a,u=ve(e),m=Uc(u,{txHash:n,accountAddress:s,pathSuffix:r}),h=n?D.truncate(n):s?D.truncate(s):"",_=l??h;return m?t.jsxs("a",{...d,href:xr(zc(m)),className:R(Hc.link,i),onClick:c,target:"_blank",children:[_,o&&t.jsx(b.IconExternalLink,{size:12})]}):t.jsx("span",{...d,children:_})},Lc=()=>{const[e,n]=_e.useAtom(Pr),{showNotification:s,updateNotification:r,hideNotification:a}=Vr();return f.useEffect(()=>{if(!e)return;const{status:o,chainId:i,txHash:l,error:c}=e,d=c?c.message:l?t.jsx(vn,{txHash:l,chainId:i,onClick:a,showIcon:!0,children:"View on Initia Scan"}):null;switch(o){case"loading":s({type:"loading",title:"Transaction is pending..."});break;case"error":r({type:"error",title:"Transaction failed",description:d}),n(null);break;case"success":r({type:"success",title:"Transaction is successful!",description:d,autoHide:!0}),n(null);break}},[e,n,s,r,a]),null};function Wc(){return ue.useScrollLock(),null}const Qc="_overlay_1ks72_1",Vc="_content_1ks72_49",Gc="_inner_1ks72_69",On={overlay:Qc,content:Vc,inner:Gc},Yc=({children:e})=>{const{isDrawerOpen:n,closeDrawer:s}=bt(),{setContainer:r}=f.useContext(vs),a=jn(),o=_e.useAtomValue(gn),i=$.useIsMutating({mutationKey:[Dr]}),l=()=>{const h=i?"User exited before response arrived. Transaction may succeed or fail.":"User rejected";s(),o==null||o.reject(new Error(h))},c=ie(),d=$.useQueryClient(),u={fallbackRender:({error:h,resetErrorBoundary:_})=>{const p=()=>{c("/"),d.clear(),_()};return t.jsxs(Pe,{children:[t.jsx(ae,{error:!0,children:h.message}),t.jsx(re,{children:t.jsx(G.White,{onClick:p,children:"Retry"})})]})}},m=je.useTransition(n,{from:{transform:a?"translateY(100%)":"translateX(100%)"},enter:{transform:a?"translateY(0%)":"translateX(0%)"},leave:{transform:a?"translateY(100%)":"translateX(100%)"},config:{tension:500,friction:35,clamp:!0}});return gr.createPortal(t.jsxs(t.Fragment,{children:[m((h,_)=>_?t.jsx(je.animated.button,{style:h,className:On.overlay,onClick:l,children:t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"14",height:"14",children:[t.jsx("path",{d:"M7.168 14.04 l 6.028 -6.028 l -6.028 -6.028 L8.57 .582 L16 8.012 l -7.43 7.43 l -1.402 -1.402 Z"}),t.jsx("path",{d:"M0.028 14.04 l 6.028 -6.028 L0.028 1.984 L1.43 .582 l 7.43 7.43 l -7.43 7.43 L0.028 14.04 Z"})]})}):null),m((h,_)=>_?t.jsx(je.animated.div,{style:h,className:R(On.content),children:t.jsxs("div",{className:R(On.inner,"body"),ref:r,children:[a&&t.jsx(Wc,{}),t.jsx(Lc,{}),t.jsx(Mc,{}),t.jsx(se,{errorBoundaryProps:u,children:e})]})}):null)]}),gc())},Jc="_page_1f6wh_1",Zc="_title_1f6wh_10",Xc="_scrollable_1f6wh_17",el="_list_1f6wh_22",tl="_item_1f6wh_32",nl="_name_1f6wh_56",sl="_dimmed_1f6wh_64",rl="_recent_1f6wh_68",ol="_installed_1f6wh_69",xe={page:Jc,title:Zc,scrollable:Xc,list:el,item:tl,name:nl,dimmed:sl,recent:rl,installed:ol},al=[{name:"Rabby",url:"https://rabby.io"},{name:"Phantom",url:"https://phantom.com"},{name:"Keplr",url:"https://keplr.app"},{name:"Leap",url:"https://leapwallet.io"}],Ws=({onSuccess:e})=>{const{connectors:n,connectAsync:s}=ye.useConnect(),r=ue.useReadLocalStorage("wagmi.recentConnectorId"),[a,o]=f.useState(null),{mutate:i,isPending:l}=$.useMutation({mutationFn:async c=>{o(c.id);try{await s({connector:c})}catch(d){throw new Error(await ze(d))}},onSettled:()=>{o(null)},onSuccess:()=>{e==null||e()}});return t.jsxs("div",{className:xe.page,children:[t.jsx("h1",{className:xe.title,children:"Connect wallet"}),t.jsx(Pe,{className:xe.scrollable,children:t.jsxs("div",{className:xe.list,children:[n.toSorted(A.descend(c=>c.id===r)).map(c=>{const{name:d,icon:u,id:m}=c;return t.jsxs("button",{className:xe.item,onClick:()=>i(c),disabled:l,children:[t.jsx(Y,{src:u,width:24,height:24}),t.jsx("span",{className:xe.name,children:d}),a===m?t.jsx(We,{size:16}):r===m?t.jsx("span",{className:xe.recent,children:"Recent"}):t.jsx("span",{className:xe.installed,children:"Installed"})]},m)}),al.filter(({name:c})=>!n.some(d=>d.name.includes(c))).map(({name:c,url:d})=>{const u=`https://assets.initia.xyz/images/wallets/${c}.webp`;return t.jsxs("a",{href:d,className:xe.item,target:"_blank",children:[t.jsx(Y,{src:u,width:24,height:24}),t.jsx("span",{className:R(xe.name,xe.dimmed),children:c}),t.jsx(b.IconExternalLink,{size:10})]},c)})]})})]})},il="_root_xwz5z_1",cl="_header_xwz5z_6",ll="_title_xwz5z_12",dl="_warning_xwz5z_18",ul="_content_xwz5z_22",ml="_footer_xwz5z_26",hl="_secondary_xwz5z_36",Je={root:il,header:cl,title:ll,warning:dl,content:ul,footer:ml,secondary:hl},lo=e=>{const{type:n,icon:s,title:r,children:a,primaryButton:o,secondaryButton:i}=e;return t.jsxs(Pe,{className:Je.root,children:[t.jsxs("header",{className:R(Je.header,n&&Je[n]),children:[s,t.jsx("h1",{className:Je.title,children:r})]}),t.jsx("div",{className:Je.content,children:a}),t.jsxs("footer",{className:Je.footer,children:[t.jsx(G.White,{onClick:o.onClick,sm:!0,fullWidth:!0,children:o.label}),t.jsxs("button",{className:Je.secondary,onClick:i.onClick,children:[t.jsx("span",{children:i.label}),t.jsx(b.IconChevronRight,{size:14})]})]})]})},_l="_list_tmcxc_1",fl="_row_tmcxc_8",pl="_dt_tmcxc_19",gl="_asset_tmcxc_25",Gt={list:_l,row:fl,dt:pl,asset:gl},xl=({list:e,onNavigate:n,onDismiss:s})=>{const r=we(),a=De(),o=He(r);return t.jsx(lo,{title:"Ready to claim",primaryButton:{label:"View withdrawal status",onClick:n},secondaryButton:{label:"Do not show again",onClick:s},children:t.jsx("div",{className:Gt.list,children:e.toSorted((i,l)=>i.chainId.localeCompare(l.chainId)).map(({txHash:i,chainId:l,amount:c,denom:d})=>{const u=a(l),{decimals:m,symbol:h}=o(d),_=D.formatAmount(c,{decimals:m});return t.jsxs("div",{className:Gt.row,children:[t.jsxs("div",{className:Gt.dt,children:[t.jsx(Y,{src:u.logoUrl,width:16,height:16}),t.jsx("span",{children:u.name})]}),t.jsxs("span",{className:Gt.asset,children:[_," ",h]})]},i)})})})};function Un(e,n){return e.chainId===n.chainId&&e.txHash===n.txHash}const Yt=({chainId:e,txHash:n})=>`${U.OP_REMINDER}:${e}:${n}`,yl=fr.atomWithStorage(U.OP_REMINDER,[]);function It(){const e=Z(),[n=[],s]=_e.useAtom(yl),r=f.useMemo(()=>n.map(c=>{const d=localStorage.getItem(Yt(c));return d?JSON.parse(d):null}).filter(c=>{if(!c)return!1;const{recipient:d,claimableAt:u}=c;return d!==e?!1:jt.isPast(u)}),[e,n]),a=f.useCallback((c,d)=>{n.some(u=>Un(u,c))||(s((u=[])=>[...u,c]),localStorage.setItem(Yt(c),JSON.stringify(d)))},[n,s]),o=f.useCallback(c=>{s((d=[])=>d.filter(u=>!Un(u,c))),localStorage.removeItem(Yt(c))},[s]),i=f.useCallback(c=>{const d=c.filter(u=>!n.some(m=>Un(m,u)));d.length!==0&&s((u=[])=>[...u,...d])},[n,s]),l=f.useCallback((c,d)=>{localStorage.setItem(Yt(c),JSON.stringify(d)),s((u=[])=>[...u])},[s]);return{reminders:r,addReminder:a,removeReminder:o,syncReminders:i,setReminder:l}}function uo(){const e=ie(),{openModal:n,closeModal:s}=zt(),{reminders:r,setReminder:a}=It();f.useEffect(()=>{const o=r.filter(c=>!c.dismissed);if(o.length===0)return;const i=()=>{const c=o.every(d=>d.chainId===o[0].chainId)?o[0].chainId:void 0;e("/op/withdrawals",{chainId:c}),l()},l=()=>{s();for(const c of o)a(c,{...c,dismissed:!0})};n({content:f.createElement(xl,{list:o,onNavigate:i,onDismiss:l})})},[r,s,e,n,a])}const jl="2.0.0-rc.4",vl="_flex_1v8wv_1",wl={flex:vl},ss=({mt:e,mb:n,children:s})=>t.jsx("div",{className:wl.flex,style:{marginTop:e,marginBottom:n},children:s}),bl="_toggle_grhff_1",Cl="_name_grhff_7",Nl="_rollups_grhff_11",Il="_version_grhff_29",Jt={toggle:bl,name:Cl,rollups:Nl,version:Il},mo=({renderContent:e,storageKey:n})=>{const{defaultChainId:s}=ne(),{addedChains:r}=vt(),[a,o]=ue.useLocalStorage(`${U.OPENED_CHAIN_IDS}:${n}`,[s]),i=a.length===0,l=()=>{o(i?r.map(c=>c.chainId):[])};return t.jsxs(t.Fragment,{children:[t.jsx(ss,{mb:6,children:t.jsxs(G.Small,{className:Jt.toggle,onClick:l,children:[t.jsx("span",{children:i?"Expand all":"Collapse all"}),i?t.jsx(b.IconChevronDown,{size:10}):t.jsx(b.IconChevronUp,{size:10})]})}),t.jsx(eo,{list:r,getKey:({chainId:c})=>c,renderHeader:({name:c,logoUrl:d})=>t.jsxs(t.Fragment,{children:[t.jsx(Y,{src:d,width:16,height:16}),t.jsx("span",{className:Jt.name,children:c})]}),renderContent:e,value:a,onValueChange:o,footer:t.jsxs(Ut,{className:Jt.rollups,to:"/rollups",children:[t.jsx(b.IconSettingFilled,{size:12}),t.jsx("span",{children:"Manage rollup list"})]})}),t.jsx(ss,{mt:8,children:t.jsxs("span",{className:Jt.version,children:["v",jl]})})]})},Sl="_asset_1dxy8_1",$l="_token_1dxy8_23",kl="_symbol_1dxy8_28",El="_name_1dxy8_29",Al="_balance_1dxy8_40",Tl="_amount_1dxy8_45",ql="_value_1dxy8_49",Ze={asset:Sl,token:$l,symbol:kl,name:El,balance:Al,amount:Tl,value:ql},Dl=e=>{const{denom:n,symbol:s,name:r,logoUrl:a,decimals:o,balance:i="0",value:l=0}=e;return t.jsxs("div",{className:Ze.asset,children:[t.jsx(Y,{src:a,width:24,height:24}),t.jsxs("div",{className:Ze.token,children:[t.jsx("div",{className:Ze.symbol,children:s??D.truncate(n)}),r&&t.jsx("div",{className:Ze.name,children:r})]}),F(i).gt(0)&&t.jsxs("div",{className:Ze.balance,children:[t.jsx("div",{className:Ze.amount,children:D.formatAmount(i,{decimals:o})}),l>0&&t.jsxs("div",{className:Ze.value,children:["$",D.formatNumber(l)]})]})]})},Pl="_actions_180l3_1",Bl="_button_180l3_8",Fl="_add_180l3_25",At={actions:Pl,button:Bl,add:Fl},Rl=({denom:e,chain:n})=>{const s=ie(),{defaultChainId:r}=ne(),{evm_chain_id:a}=Kt(),{address:o="",symbol:i,decimals:l,logoUrl:c}=xs(e,n),{connector:d}=ye.useAccount(),{switchChainAsync:u}=ye.useSwitchChain(),{watchAssetAsync:m}=ye.useWatchAsset(),{chainId:h}=n,_=()=>{s("/send",{denom:e,chain:n})},p=()=>{s("/bridge",{srcChainId:h,srcDenom:e})},g=$.useMutation({mutationFn:async()=>(await u({chainId:Number(a)}),m({type:"ERC20",options:{address:o,symbol:i,decimals:l,image:c}}))});return t.jsxs("nav",{className:At.actions,children:[t.jsx("button",{className:At.button,onClick:_,children:"Send"}),t.jsx("button",{className:At.button,onClick:p,children:"Bridge/Swap"}),h===r&&!!o&&t.jsxs("button",{className:R(At.button,At.add),onClick:()=>g.mutate(),disabled:g.isPending||g.data,children:[g.data?t.jsx(b.IconCheck,{size:10}):t.jsx(b.IconPlus,{size:10}),t.jsx(Y,{src:d==null?void 0:d.icon,width:16,height:16})]})]})},Ml="_list_wod0u_1",Ol="_item_wod0u_8",Ul="_trigger_wod0u_19",zl="_content_wod0u_24",Zt={list:Ml,item:Ol,trigger:Ul,content:zl},Kl=e=>{const n=Kr(e);return n.length?t.jsx(T.Accordion.Root,{type:"single",collapsible:!0,className:Zt.list,children:n.map(s=>t.jsxs(T.Accordion.Item,{className:Zt.item,value:s.denom,children:[t.jsx(T.Accordion.Header,{children:t.jsx(T.Accordion.Trigger,{className:Zt.trigger,children:t.jsx(yn,{asset:s,chain:e,children:r=>t.jsx(Dl,{...r})})})}),t.jsx(T.Accordion.Content,{className:Zt.content,children:t.jsx(Rl,{denom:s.denom,chain:e})})]},s.denom))}):t.jsx(ae,{children:"No assets"})},Hl=()=>t.jsx(mo,{renderContent:e=>t.jsx(se,{children:t.jsx(Kl,{...e})}),storageKey:"assets"});function ho(e,n){var a;const s=((a=n==null?void 0:n.pages)==null?void 0:a.map(o=>o[e]??[]).flat())??[],r=A.pathOr(0,[0,"pagination","total"],n==null?void 0:n.pages);return{list:s,count:r}}function _o(e){return e.pagination.next_key}async function Ll(e,n,s){const r=H.create(n),a=async(o,i)=>{const l=await r.extend(i?{searchParams:{"pagination.key":i}}:{}).get(e).json(),c=l[s]??[],d=_o(l),u=[...o,...c];return d?a(u,d):u};return a([],null)}const bs=qe.createQueryKeys("interwovenkit:nft",{collections:(e,n)=>[e,n],collection:(e,n,s)=>[e,n,s],metadata:e=>[e]});function Wl(e){const{object_addr:n,collection:s}=e;return{object_addr:n,...s}}function Ql(e,n){const{collection_addr:s,collection_name:r,nft:a,object_addr:o}=e,i=n.name??a.token_id;return{collection_addr:s,collection_name:r,...a,object_addr:o,...n,name:i}}function Vl(e){const{indexerUrl:n}=e,s=Z(),{data:r}=$.useSuspenseQuery({queryKey:bs.collections(n,s).queryKey,queryFn:()=>Ll(`indexer/nft/v1/collections/by_account/${s}`,{prefixUrl:n},"collections"),select:a=>a.map(Wl),staleTime:L.SECOND});return r}function fo({chain:e,collection:n}){const s=Z(),{object_addr:r}=n,{indexerUrl:a}=e;return $.useSuspenseInfiniteQuery({queryKey:bs.collection(a,s,r).queryKey,queryFn:({pageParam:o=""})=>H.create({prefixUrl:a}).get(`indexer/nft/v1/tokens/by_account/${s}`,{searchParams:{collection_addr:r,"pagination.key":o||"","pagination.limit":9}}).json(),initialPageParam:"",getNextPageParam:_o,staleTime:L.SECOND})}function Qs(e){return e==null?void 0:e.replace("ipfs://","https://ipfs.io/ipfs/")}function Gl(e){const n=Qs(e);return $.useQuery({queryKey:bs.metadata(n).queryKey,queryFn:async()=>{try{if(!n)return{};const s=await H.get(n).json();return{...s,image:Qs(s.image)}}catch{return{}}},staleTime:L.INFINITY})}const po=({nftResponse:e,children:n})=>{const{data:s={}}=Gl(e.nft.uri),r=Ql(e,s);return n(r)},Yl="_thumbnail_1se9u_1",Jl="_placeholder_1se9u_15",Zl="_clickable_1se9u_21",Tt={thumbnail:Yl,placeholder:Jl,clickable:Zl},wn=({chain:e,collection:n,nft:s,size:r,onClick:a})=>{const o=new URL(`/v1/${e.chainId}/${n.object_addr}/${s.object_addr||s.token_id}`,"https://glyph.initia.xyz").toString();return a?t.jsx("button",{className:R(Tt.thumbnail,Tt.clickable),onClick:a,style:{width:r,height:r},children:t.jsx(Y,{src:o,classNames:{placeholder:Tt.placeholder}})}):t.jsx("div",{className:Tt.thumbnail,style:{width:r,height:r},children:t.jsx(Y,{src:o,classNames:{placeholder:Tt.placeholder}})})},Xl="_item_1rdda_1",ed="_content_1rdda_15",td="_name_1rdda_21",nd="_count_1rdda_27",sd="_chevron_1rdda_33",qt={item:Xl,content:ed,name:td,count:nd,chevron:sd},rd=({chain:e,collection:n})=>{const{data:s}=fo({chain:e,collection:n}),{list:r,count:a}=ho("tokens",s),[o]=r;return t.jsxs(Ut,{className:qt.item,to:"/collection",state:{collection:n,chain:e},children:[o&&t.jsx(po,{nftResponse:o,children:i=>t.jsx(wn,{chain:e,collection:n,nft:i,size:58})}),t.jsxs("div",{className:qt.content,children:[t.jsx("div",{className:qt.name,children:n.name}),a>0&&t.jsx("div",{className:qt.count,children:a})]}),t.jsx("div",{className:qt.chevron,children:t.jsx(b.IconChevronRight,{})})]})},od="_list_1lv70_1",ad={list:od},id=({chain:e})=>{const n=Vl(e);return n.length?t.jsx("div",{className:ad.list,children:n.map(s=>t.jsx(rd,{collection:s,chain:e},s.object_addr))}):t.jsx(ae,{children:"No collections"})},cd=()=>t.jsx(mo,{renderContent:e=>t.jsx(se,{children:t.jsx(id,{chain:e})}),storageKey:"nfts"}),it=({title:e,content:n,children:s,className:r})=>{const[a,o]=f.useState(!1),i=()=>o(!1);return t.jsx(Yr,{title:e,trigger:t.jsx("button",{className:r,children:s}),open:a,onOpenChange:o,children:n(i)})},ld="_scrollable_1p1lw_1",dd="_list_1p1lw_5",ud="_item_1p1lw_9",md="_name_1p1lw_13",Xt={scrollable:ld,list:dd,item:ud,name:md};function go({onSelect:e,list:n,...s}){const{getImage:r,getName:a,getKey:o,getIsLoading:i,getDisabled:l}=s;return t.jsx(Pe,{className:Xt.scrollable,children:t.jsx("div",{className:Xt.list,children:n.map(c=>t.jsxs("button",{className:Xt.item,onClick:()=>e(c),disabled:(i==null?void 0:i(c))||(l==null?void 0:l(c)),children:[t.jsx(Y,{src:r(c),width:28,height:28}),t.jsx("span",{className:Xt.name,children:a(c)}),(i==null?void 0:i(c))&&t.jsx(We,{size:16})]},o(c)))})})}const xo=({onSelect:e})=>{const{addedChains:n}=vt();return t.jsx(go,{onSelect:s=>e(s.chainId),list:n,getImage:s=>s.logoUrl,getName:s=>s.name,getKey:s=>s.chainId})},hd="_button_1uc4x_1",_d="_name_1uc4x_9",fd="_icon_1uc4x_13",zn={button:hd,name:_d,icon:fd},pd=({value:e,onSelect:n})=>{const{logoUrl:s,name:r}=ve(e);return t.jsxs(it,{title:"Select rollup",content:a=>t.jsx(xo,{onSelect:o=>{n(o),a()}}),className:R("input",zn.button),children:[t.jsx(Y,{src:s,width:16,height:16}),t.jsx("span",{className:zn.name,children:r}),t.jsx(b.IconChevronDown,{size:16,className:zn.icon})]})},gd="_message_1g2hc_1",xd="_more_1g2hc_8",Vs={message:gd,more:xd},yd=({messages:e})=>t.jsxs(t.Fragment,{children:[e.slice(0,3).map((n,s)=>t.jsx("p",{className:Vs.message,children:Ot.sentenceCase(n["@type"].split("Msg")[1])},s)),e.length>3&&t.jsx("footer",{className:Vs.more,children:`+${e.length-3} more`})]}),jd="_change_nbl45_1",vd="_positive_nbl45_9",wd="_negative_nbl45_13",Kn={change:jd,positive:vd,negative:wd},yo=({amount:e,asset:n})=>{const{denom:s,symbol:r,decimals:a}=n,o=new F(e).isPositive(),i=new F(e).abs().toString();return t.jsxs("div",{className:R(Kn.change,o?Kn.positive:Kn.negative),children:[o?"+":"-",D.formatAmount(i,{decimals:a})," ",r??D.truncate(s)]})},bd=({changes:e,chain:n})=>{const s=He(n);return e.map(({amount:r,denom:a},o)=>t.jsx(yo,{amount:r,asset:s(a)},o))},Cd=({changes:e,chain:n})=>{const s=He(n);return e.map(({amount:r,metadata:a},o)=>t.jsx(ro,{metadata:a,chain:n,children:i=>t.jsx(yn,{asset:s(i),chain:n,children:l=>t.jsx(yo,{amount:r,asset:l})})},o))},Nd=({events:e,chain:n})=>{var a,o,i;const{initiaAddress:s,hexAddress:r}=pe();return(a=n.metadata)!=null&&a.is_l1||((i=(o=n.metadata)==null?void 0:o.minitia)==null?void 0:i.type)==="minimove"?t.jsx(Cd,{changes:so(e,r),chain:n}):t.jsx(bd,{changes:no(e,s),chain:n})},Id="_link_qkpto_1",Sd="_inner_qkpto_14",$d="_timestamp_qkpto_23",kd="_content_qkpto_39",Ed="_messages_qkpto_45",Ad="_changes_qkpto_50",Td="_error_qkpto_57",Xe={link:Id,inner:Sd,timestamp:$d,content:kd,messages:Ed,changes:Ad,error:Td},qd=({txItem:e,chain:n})=>t.jsx(vn,{txHash:e.txhash,chainId:n.chainId,className:Xe.link,children:t.jsxs("div",{className:Xe.inner,children:[t.jsx("div",{className:Xe.timestamp,children:Ot.sentenceCase(jt.intlFormatDistance(new Date(e.timestamp),new Date,{locale:"en-US"}))}),t.jsxs("div",{className:Xe.content,children:[t.jsx("div",{className:Xe.messages,children:t.jsx(yd,{messages:e.tx.body.messages})}),t.jsx("div",{className:Xe.changes,children:t.jsx(se,{suspenseFallback:null,errorBoundaryProps:{fallback:null},children:t.jsx(Nd,{...e,chain:n})})})]}),e.code!==0&&t.jsxs("div",{className:Xe.error,children:[t.jsx(b.IconWarningFilled,{size:12}),t.jsx("span",{children:"Failed"})]})]})}),Dd="_list_si737_1",Pd="_more_si737_7",Gs={list:Dd,more:Pd},Bd=({chain:e})=>{const n=Z(),{data:s}=Jr(e);return s.length?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:Gs.list,children:s.map(r=>t.jsx(qd,{txItem:r,chain:e},r.txhash))}),t.jsx(vn,{chainId:e.chainId,accountAddress:n,pathSuffix:"/txs",className:Gs.more,showIcon:!0,children:"View more on Initia Scan"})]}):t.jsx(ae,{children:"No activity yet"})},Fd=()=>{const{defaultChainId:e}=ne(),[n,s]=ue.useLocalStorage(U.ACTIVITY_CHAIN_ID,e),r=ve(n);return t.jsxs(t.Fragment,{children:[t.jsx(pd,{value:n,onSelect:s}),t.jsx(se,{children:t.jsx(Bd,{chain:r})},n)]})},Rd="_nav_1ldnv_1",Md="_item_1ldnv_6",Od="_tabs_1ldnv_28",Ud="_tab_1ldnv_28",et={nav:Rd,item:Md,tabs:Od,tab:Ud},zd=()=>{uo();const e=ie(),n=Nr();return t.jsxs(Pe,{children:[t.jsxs("div",{className:et.nav,children:[t.jsxs(Ut,{to:"/send",className:et.item,children:[t.jsx(b.IconArrowRight,{size:16}),t.jsx("span",{children:"Send"})]}),t.jsxs("button",{className:et.item,onClick:()=>e("/bridge"),children:[t.jsx(b.IconSwap,{size:16}),t.jsx("span",{children:"Bridge/Swap"})]})]}),t.jsxs(T.Tabs.Root,{value:n,onValueChange:e,children:[t.jsxs(T.Tabs.List,{className:et.tabs,children:[t.jsx(T.Tabs.Trigger,{className:et.tab,value:"/",children:"Assets"}),t.jsx(T.Tabs.Trigger,{className:et.tab,value:"/nfts",children:"NFTs"}),t.jsx(T.Tabs.Trigger,{className:et.tab,value:"/activity",children:"Activity"})]}),t.jsx(T.Tabs.Content,{value:"/",children:t.jsx(Hl,{})}),t.jsx(T.Tabs.Content,{value:"/nfts",children:t.jsx(cd,{})}),t.jsx(T.Tabs.Content,{value:"/activity",children:t.jsx(Fd,{})})]})]})};function jo({quantity:e,balance:n,decimals:s},r){if(F.BigNumber(e).isZero()){r.addIssue({code:J.z.ZodIssueCode.custom,message:"Enter amount",path:["quantity"]});return}if(!n||F.BigNumber(D.toBaseUnit(e,{decimals:s})).gt(n)){r.addIssue({code:J.z.ZodIssueCode.custom,message:"Insufficient balance",path:["quantity"]});return}}const vo=J.z.string().nonempty("Recipient address is required").refine(e=>M.validate(e),"Invalid address"),Kd="_header_acels_1",Hd="_back_acels_11",Ld="_title_acels_23",Hn={header:Kd,back:Hd,title:Ld},Be=({title:e,returnTo:n,extra:s,children:r})=>t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:Hn.header,children:[n!==!1&&t.jsx(Ut,{to:n??-1,className:Hn.back,children:t.jsx(b.IconBack,{size:16})}),t.jsx("h1",{className:Hn.title,children:e}),s]}),t.jsx(Pe,{children:r})]}),Wd="_fieldset_y241y_1",Qd="_upper_y241y_9",Vd="_select_y241y_14",Gd="_account_y241y_19",Yd="_lower_y241y_24",Jd="_wrapper_y241y_25",Zd="_balance_y241y_32",Xd="_value_y241y_36",eu="_error_y241y_49",Ee={fieldset:Wd,upper:Qd,select:Vd,account:Gd,lower:Yd,wrapper:Jd,balance:Zd,value:Xd,error:eu},rs=e=>{const{selectButton:n,accountButton:s,quantityInput:r,balanceButton:a,value:o,errorMessage:i}=e;return t.jsxs("div",{className:Ee.fieldset,children:[t.jsxs("div",{className:Ee.upper,children:[t.jsx("div",{className:Ee.select,children:n}),t.jsx("div",{className:Ee.account,children:s})]}),t.jsxs("div",{className:Ee.lower,children:[r,t.jsxs("div",{className:Ee.wrapper,children:[t.jsx("div",{className:Ee.balance,children:a}),o&&t.jsxs("div",{className:Ee.value,children:["$",o]})]}),i&&t.jsxs("footer",{className:Ee.error,children:[t.jsx(b.IconWarningFilled,{size:12}),t.jsx("p",{children:i})]})]})]})},tu="_images_1txea_1",nu="_chain_1txea_5",Ys={images:tu,chain:nu},Cs=({assetLogoUrl:e,chainLogoUrl:n})=>t.jsxs("div",{className:Ys.images,children:[t.jsx(Y,{src:e,width:36,height:36}),t.jsx(Y,{src:n,width:18,height:18,className:Ys.chain})]}),su="_root_1ipwv_1",ru="_content_1ipwv_10",ou="_details_1ipwv_18",au="_symbol_1ipwv_23",iu="_chain_1ipwv_31",cu="_chevron_1ipwv_40",tt={root:su,content:ru,details:ou,symbol:au,chain:iu,chevron:cu},wo=({asset:e,chain:n,readOnly:s})=>{const r=t.jsxs("div",{className:tt.content,children:[t.jsx(Cs,{assetLogoUrl:e.logoUrl,chainLogoUrl:n.logoUrl}),t.jsxs("div",{className:tt.details,children:[t.jsx("div",{className:tt.symbol,children:e.symbol}),t.jsxs("div",{className:tt.chain,children:["on ",n.name]})]})]});return s?t.jsx("div",{className:tt.root,children:r}):t.jsxs("div",{className:tt.root,children:[r,t.jsx(b.IconChevronDown,{size:16,className:tt.chevron})]})},lu="_wrapper_5vodt_1",du="_balance_5vodt_11",uu="_button_5vodt_15",Ln={wrapper:lu,balance:du,button:uu},bo=({onClick:e,children:n})=>t.jsxs("div",{className:Ln.wrapper,children:[t.jsx(b.IconWallet,{size:16}),t.jsx("span",{className:Ln.balance,children:n}),t.jsx("button",{type:"button",className:Ln.button,onClick:()=>e(),children:"MAX"})]});function bn(){const e=f.useRef(null),n=jn();return f.useEffect(()=>{var s;n||(s=e.current)==null||s.focus()},[n]),e}const mu="_input_h8073_1",hu={input:mu};function _u(e,n){const s=e.replace(/[^0-9.]/g,""),[r,...a]=s.split(".");return a.length===0?r:`${r}.${a.join("").slice(0,n)}`}function Co(e){const{name:n,control:s,dp:r=6,className:a,...o}=e,i=bn();return t.jsx(oe.Controller,{name:n,control:s,render:({field:l})=>t.jsx("input",{...l,className:R(hu.input,a),onChange:c=>l.onChange(_u(c.target.value,r)),placeholder:"0",inputMode:"decimal",autoComplete:"off",...o,ref:yr.mergeRefs([l.ref,i])})})}const fu="_input_qpv94_1",pu="_placeholder_qpv94_18",os={input:fu,placeholder:pu},gu=({children:e})=>t.jsx("p",{className:R(os.input,{[os.placeholder]:F(e).isZero()}),children:e}),dn=()=>{const{control:e}=oe.useFormContext();return t.jsx(Co,{name:"quantity",control:e,className:os.input})};dn.ReadOnly=gu;const xu="_label_9417z_1",yu="_wrapper_9417z_7",ju="_input_9417z_10",vu="_clear_9417z_18",en={label:xu,wrapper:yu,input:ju,clear:vu},Ns=({mode:e="onChange",myAddress:n,...s})=>{const{validate:r=M.validate,chainType:a="initia",onApply:o,ref:i}=s,l=bn(),{getValues:c,setValue:d,formState:u}=oe.useFormContext(),m=c("recipient"),[h,_]=f.useState(m),p=zr(),{data:g,isLoading:y,error:C}=$.useQuery({queryKey:Ht.address(p.restUrl,h).queryKey,queryFn:()=>p.getAddress(h),staleTime:L.MINUTE,enabled:p.validateUsername(h)}),N=g??(r(h)?h:""),q=n&&M.equals(N,n),j=async()=>{try{const v=await navigator.clipboard.readText();_(v.trim())}catch{}};f.useEffect(()=>{e==="onChange"&&h&&d("recipient",g??h,{shouldValidate:!0})},[h,e,d,g]);const S=()=>{y||C||(d("recipient",N,{shouldValidate:!0}),o==null||o())},w=()=>{var v;if(y)return t.jsx(Oe,{level:"loading",children:"Resolving username..."});if(C)return t.jsx(Oe,{level:"error",children:C.message});if(g)return t.jsx(Oe,{level:"success",className:"monospace",children:g});if(e==="onSubmit"&&h&&!N)return t.jsx(Oe,{level:"error",children:"Invalid address"});if(e==="onChange")return t.jsx(Oe,{level:"error",children:(v=u.errors.recipient)==null?void 0:v.message})};return t.jsxs("div",{children:[t.jsxs("label",{htmlFor:"recipient",className:en.label,children:[t.jsx("span",{children:"Recipient"}),t.jsx(G.Small,{type:"button",onClick:j,children:"Paste"})]}),t.jsxs("div",{className:en.wrapper,children:[t.jsx("input",{id:"recipient",className:R(en.input,"monospace"),value:h,onChange:v=>_(v.target.value.trim()),placeholder:a==="initia"?"Address or username":"Enter address",autoComplete:"off","data-has-value":h?"true":void 0,ref:e==="onSubmit"?yr.mergeRefs([i,l]):i}),!!h&&t.jsx("button",{type:"button",className:en.clear,onClick:()=>_(""),"aria-label":"Clear recipient",children:t.jsx(b.IconCloseCircleFilled,{size:16})})]}),w(),q&&t.jsx(Oe,{children:"This is my address"}),e==="onSubmit"&&t.jsx(re,{extra:(!n||!!N&&!q)&&t.jsx(te,{level:"warning",children:"Do not enter an exchange address. Tokens sent to an address that does not support bridge transfer will be irretrievable."}),children:t.jsx(G.White,{type:"button",onClick:S,disabled:y||!!C||!N,children:"Apply"})})]})},No=2e5;function wu({balances:e,gasPrices:n}){return n.map(({denom:s,amount:r})=>{var i;const a=F(r).times(No).toFixed(0,F.ROUND_CEIL),o=((i=e.find(l=>l.denom===s))==null?void 0:i.amount)??"0";return{amount:a,denom:s,balance:o}}).filter(({amount:s,balance:r})=>F(r).gte(s))}function bu({denom:e,balances:n,gasPrices:s,lastFeeDenom:r}){var c;const a=((c=n.find(d=>d.denom===e))==null?void 0:c.amount)??"0",o=wu({balances:n,gasPrices:s}),i=o.find(d=>d.denom===r);if(o.length===0)return"0";if(e===r&&i){const d=F(a).minus(i.amount);return F.max(d,0).toString()}const[l]=o;if(!i&&e===l.denom){const d=F(a).minus(l.amount);return F.max(d,0).toString()}return F(a).toString()}const Cu="_container_1a4ds_1",Nu="_badge_1a4ds_5",Js={container:Cu,badge:Nu},Io=e=>{const{offset:n=-4,disabled:s,children:r,className:a}=e;return t.jsxs("div",{className:R(Js.container,a),children:[r,!s&&t.jsx("div",{className:Js.badge,style:{right:n,top:n}})]})},Iu="_stack_a3b9q_1",Su="_title_a3b9q_8",$u="_grid_a3b9q_15",ku="_item_a3b9q_21",Eu="_button_a3b9q_25",Au="_active_a3b9q_43",_t={stack:Iu,title:Su,grid:$u,item:ku,button:Eu,active:Au},ot=({label:e,chains:n,value:s,onSelect:r,getShowIndicator:a})=>t.jsxs("div",{children:[e&&t.jsx("h2",{className:_t.title,children:e}),t.jsx("div",{className:_t.grid,children:n.map(({chainId:o,name:i,logoUrl:l})=>t.jsx(Io,{offset:-2,disabled:!(a!=null&&a(o)),className:_t.item,children:t.jsx(Nt,{label:i,disableHoverableContent:!0,children:t.jsx("button",{type:"button",className:R(_t.button,{[_t.active]:o===s}),onClick:()=>r(o),children:t.jsx(Y,{src:l,width:28,height:28,circle:!0})})})},o))})]}),Tu=({children:e})=>t.jsx("div",{className:_t.stack,children:e});ot.Stack=Tu;function So(e,n,s){return s.filter(r=>{const a=e.map(o=>r[o]).map(o=>String(o??"").toLowerCase());return A.any(A.includes(n.toLowerCase()),a)})}const qu="_root_qd12v_1",Du="_label_qd12v_8",Pu="_input_qd12v_14",Bu="_clear_qd12v_20",tn={root:qu,label:Du,input:Pu,clear:Bu},Is=({value:e="",onChange:n,placeholder:s="Search",className:r})=>t.jsxs("div",{className:R(tn.root,r),children:[t.jsx("label",{htmlFor:"search",className:tn.label,children:t.jsx(b.IconSearch,{size:16})}),t.jsx("input",{id:"search",type:"text",className:tn.input,value:e,onChange:a=>n==null?void 0:n(a.target.value),placeholder:s,readOnly:!n,ref:bn()}),e&&t.jsx("button",{className:tn.clear,onClick:()=>n==null?void 0:n(""),children:t.jsx(b.IconCloseCircleFilled,{size:20})})]}),Fu="_container_17tpb_1",Ru="_list_17tpb_6",Mu="_item_17tpb_12",Ou="_logo_17tpb_31",Uu="_info_17tpb_35",zu="_symbol_17tpb_40",Ku="_name_17tpb_44",Hu="_balance_17tpb_50",Lu="_value_17tpb_58",Ne={container:Fu,list:Ru,item:Mu,logo:Ou,info:Uu,symbol:zu,name:Ku,balance:Hu,value:Lu},Wt=e=>{const{assets:n,onSelect:s,renderAsset:r=(l,c)=>c(l)}=e,[a,o]=f.useState(""),i=So(["symbol"],a,n);return t.jsxs("div",{className:Ne.container,children:[t.jsx(Is,{value:a,onChange:o,placeholder:"Search by symbol"}),i.length===0?t.jsx(ae,{children:"No assets"}):t.jsx("div",{className:Ne.list,children:i.map(l=>t.jsx("button",{type:"button",className:Ne.item,onClick:()=>s(l.denom),children:r(l,({logoUrl:c,symbol:d,name:u,balance:m,decimals:h,value:_=0})=>t.jsxs(t.Fragment,{children:[t.jsx(Y,{src:c,width:32,height:32,className:Ne.logo}),t.jsxs("div",{className:Ne.info,children:[t.jsx("div",{className:Ne.symbol,children:d}),t.jsx("div",{className:Ne.name,children:u})]}),t.jsxs("div",{className:Ne.balance,children:[m&&t.jsx("div",{children:D.formatAmount(m,{decimals:h})}),_>0&&t.jsxs("div",{className:Ne.value,children:["$",D.formatNumber(_)]})]})]}))},l.denom))})]})},Wu=()=>t.jsxs("div",{className:Ne.container,children:[t.jsx(Is,{placeholder:"Search by symbol"}),t.jsx(ae,{children:"Loading..."})]});Wt.Placeholder=Wu;const Qu=({chain:e,onSelect:n})=>{const s=Kr(e);return s.length===0?t.jsx(ae,{children:"No assets"}):t.jsx(Wt,{assets:s,onSelect:n,renderAsset:(r,a)=>t.jsx(yn,{asset:r,chain:e,children:o=>a(o)})})},Vu=({afterSelect:e})=>{const{watch:n,setValue:s}=oe.useFormContext(),{chainId:r}=n(),[a,o]=f.useState(r),i=ve(a),{addedChains:l}=vt(),c=d=>{s("chainId",a),s("denom",d),e()};return t.jsxs(t.Fragment,{children:[l.length>1&&t.jsx(ot.Stack,{children:t.jsx(ot,{chains:l,value:a,onSelect:o})}),t.jsx(se,{suspenseFallback:t.jsx(Wt.Placeholder,{}),children:t.jsx(Qu,{chain:i,onSelect:c})},a)]})},Gu="_fields_brpej_1",Yu="_divider_brpej_11",Zs={fields:Gu,divider:Yu},Ju=()=>{var x,k,O,B;const{address:e,initiaAddress:n,requestTxSync:s}=pe(),{register:r,watch:a,setValue:o,handleSubmit:i,formState:l}=oe.useFormContext(),{chainId:c,denom:d,quantity:u,memo:m}=a(),{addedChains:h}=vt(),_=ve(c),p=ys(_),g=Zr(_),y=Xr(_),C=xs(d,_),{data:N}=fn(_.chainId),{decimals:q}=C,j=((x=p.find(P=>P.denom===d))==null?void 0:x.amount)??"0",S=(k=N==null?void 0:N.find(({id:P})=>P===d))==null?void 0:k.price,w=bu({denom:d,balances:p,gasPrices:g,lastFeeDenom:y}),{mutate:v,isPending:E}=$.useMutation({mutationFn:({chainId:P,denom:W,quantity:Q,recipient:V,memo:ce})=>{const be=D.toBaseUnit(Q,{decimals:q}),ke=[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:na.MsgSend.fromPartial({fromAddress:n,toAddress:M.toBech32(V),amount:[{denom:W,amount:be}]})}];return s({messages:ke,memo:ce,chainId:P,gas:No,gasAdjustment:1,gasPrices:g,spendCoins:[{denom:W,amount:be}],internal:"/"})}});return t.jsx(Be,{title:"Send",children:t.jsxs("form",{onSubmit:i(P=>v(P)),children:[t.jsxs("div",{className:Zs.fields,children:[t.jsx(rs,{selectButton:t.jsx(it,{title:h.length>1?"Select chain and asset":"Select asset",content:P=>t.jsx(Vu,{afterSelect:P}),children:t.jsx(wo,{asset:C,chain:_})}),quantityInput:t.jsx(dn,{}),balanceButton:t.jsx(bo,{onClick:()=>o("quantity",D.fromBaseUnit(w,{decimals:q}),{shouldValidate:!0}),children:D.formatAmount(j,{decimals:q})}),value:u?S?D.formatNumber(F(u).times(S)):"-":"0",errorMessage:(O=l.errors.quantity)==null?void 0:O.message}),t.jsx("div",{className:Zs.divider}),t.jsx(Ns,{myAddress:e}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:"memo",children:"Memo (optional)"}),t.jsx("input",{...r("memo"),id:"memo",autoComplete:"off"}),t.jsx(Oe,{level:"error",children:(B=l.errors.memo)==null?void 0:B.message})]}),t.jsx(te.Stack,{children:!m&&t.jsx(te,{level:"warning",children:"Check if the above transaction requires a memo"})})]}),t.jsx(re,{children:t.jsx(G.White,{type:"submit",loading:E,disabled:!l.isValid,children:"Confirm"})})]})})},Zu=J.z.object({chainId:J.z.string().nonempty(),denom:J.z.string().nonempty(),quantity:J.z.string().nonempty("Amount is required"),recipient:vo,memo:J.z.string().optional().refine(e=>!e||new Blob([e]).size<=256,"Memo is too long")}),Xu=()=>{const e=Ue(),n=Kt(),s=Ft(n),[r]=s,{chain:a=n,denom:o=r.denom}=e,i=De(),l=Z(),c=$.useQueryClient(),d=oe.useForm({mode:"onChange",defaultValues:{chainId:a.chainId,denom:o,quantity:"",recipient:"",memo:""},resolver:hs.zodResolver(Zu.superRefine(({chainId:u,denom:m,quantity:h},_)=>{var N;const p=i(u),{decimals:g}=c.getQueryData(at.item(u,m).queryKey)??{decimals:0},{balances:y}=c.getQueryData(Ht.balances(p.restUrl,l).queryKey)??{balances:[]},C=(N=y.find(q=>q.denom===m))==null?void 0:N.amount;jo({quantity:h,balance:C,decimals:g},_)}))});return t.jsx(oe.FormProvider,{...d,children:t.jsx(Ju,{})})},em="_button_1iys9_1",tm={button:em},Ss=({onClick:e,disabled:n})=>{const{ref:s,inView:r}=sa.useInView();return f.useEffect(()=>{r&&e()},[r,e]),t.jsxs("button",{className:tm.button,onClick:e,disabled:n,ref:s,children:[t.jsx("span",{children:"Load more"}),t.jsx(b.IconChevronDown,{size:12})]})},nm="_grid_4j669_1",sm="_item_4j669_7",rm="_name_4j669_15",Wn={grid:nm,item:sm,name:rm},om=()=>{const e=ie(),{collection:n,chain:s}=Ue(),{data:r,hasNextPage:a,isFetching:o,fetchNextPage:i}=fo({chain:s,collection:n}),{list:l}=ho("tokens",r);return t.jsxs(Be,{title:n.name,children:[t.jsx("div",{className:Wn.grid,children:l.map(c=>t.jsx(po,{nftResponse:c,children:d=>t.jsxs("div",{className:Wn.item,children:[t.jsx(wn,{chain:s,collection:n,nft:d,onClick:()=>e("/nft",{collection:n,nft:d,chain:s})}),t.jsx("div",{className:Wn.name,children:d.name})]})},c.object_addr))}),a&&t.jsx(Ss,{onClick:()=>i(),disabled:o})]})},am="_header_196nx_1",im="_name_196nx_6",cm="_attributes_196nx_12",lm="_title_196nx_15",dm="_list_196nx_21",um="_item_196nx_25",mm="_type_196nx_34",hm="_value_196nx_40",Re={header:am,name:im,attributes:cm,title:lm,list:dm,item:um,type:mm,value:hm},_m=()=>{const e=ie(),n=Ue(),{collection:s,nft:r,chain:a}=n,{image:o,name:i,attributes:l}=r;return t.jsxs(Be,{title:s.name,children:[t.jsxs("header",{className:Re.header,children:[o&&t.jsx(wn,{chain:a,collection:s,nft:r}),t.jsx("h2",{className:Re.name,children:i})]}),t.jsx(re,{children:t.jsx(G.White,{onClick:()=>e("/nft/send",n),children:"Send"})}),l&&t.jsxs("div",{className:Re.attributes,children:[t.jsxs("header",{className:Re.title,children:["Traits (",l.length,")"]}),t.jsx("div",{className:Re.list,children:l.map(({trait_type:c,value:d})=>t.jsxs("div",{className:Re.item,children:[t.jsx("div",{className:Re.type,children:c}),t.jsx("div",{className:Re.value,children:d})]},c))})]})]})};async function fm({object_addr:e},{restUrl:n}){const s=await pm(e,n);return s.startsWith("ibc/")?Ur("0x1",s)===e.replace("0x","").padStart(64,"0")?{class_id:s,class_trace:await as(s,n)}:{class_id:`move/${e.replace("0x","").padStart(64,"0")}`,class_trace:await as(s,n)}:{class_id:`move/${e.replace("0x","").padStart(64,"0")}`,class_trace:null}}async function pm(e,n){const{data:s}=await H.create({prefixUrl:n}).post("initia/move/v1/view/json",{json:{address:"0x1",module_name:"collection",function_name:"name",type_args:["0x1::collection::Collection"],args:[JSON.stringify(e)]}}).json();return JSON.parse(s)}async function gm({object_addr:e},{restUrl:n}){const s=await xm(e,n);if(!s.startsWith("ibc/"))return{class_id:`evm/${M.toHex(e)}`,class_trace:null};const r=await as(s,n);return r?{class_id:s,class_trace:r}:{class_id:`evm/${M.toHex(e)}`,class_trace:null}}async function xm(e,n){const s=new Se.Interface([{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}]),{response:r}=await H.create({prefixUrl:n}).post("minievm/evm/v1/call",{json:{sender:M.toBech32("0x1"),contract_addr:M.toPrefixedHex(e),input:s.encodeFunctionData("name")}}).json();return s.decodeFunctionResult("name",r)[0]}async function ym({creator_addr:e,object_addr:n},s,r){var p,g;const a=await jm(n,s.restUrl),o=(g=(p=s.metadata)==null?void 0:p.ibc_channels)==null?void 0:g.find(({chain_id:y,version:C})=>y===r.chain_id&&C.includes("ics721-1"));if(!o)throw new Error("Channel not found");const i=o.port_id,l=i.split(".")[1],c=z.toBase64(nt.toBytes(JSON.stringify({class_id:{contract:n}}))),d=`cosmwasm/wasm/v1/contract/${l}/smart/${c}`,{data:u}=await H.create({prefixUrl:s.restUrl}).get(d).json(),m=u??n;if(u&&e!==i.replace("wasm.","")){const[y,C]=Xs(u);return{class_id:n,class_trace:{path:y,base_class_id:C}}}const[h,_]=Xs(a);return{class_id:m,class_trace:{path:h,base_class_id:_}}}async function jm(e,n){const s=z.toBase64(nt.utf8ToBytes(JSON.stringify({contract_info:{}}))),{name:r}=await H.create({prefixUrl:n}).get(`cosmwasm/wasm/v1/contract/${e}/smart/${s}`).json();return r}const vm={minimove:fm,minievm:gm,miniwasm:ym};async function wm({collection:e,nft:n,srcChain:s,intermediaryChain:r}){var i,l,c;const a=(i=s.metadata)!=null&&i.is_l1?"minimove":(c=(l=s.metadata)==null?void 0:l.minitia)==null?void 0:c.type;if(!(a==="minimove"||a==="minievm"||a==="miniwasm"))throw new Error(`Unsupported minitia type: ${a}`);const o=await vm[a](e,s,r);return Object.assign(o,a==="minievm"&&{token_ids:await bm([n.token_id],o.class_id,s.restUrl)})}async function as(e,n){const s=e.replace("ibc/",""),{class_trace:r}=await H.create({prefixUrl:n}).get(`ibc/apps/nft_transfer/v1/class_traces/${s}`).json();return r}async function bm(e,n,s){const{token_infos:r}=await H.create({prefixUrl:s}).get(`minievm/evm/v1/erc721/origin_token_infos/${n}`,{searchParams:{token_ids:e.join(",")}}).json();return r.map(({token_origin_id:a})=>a)}function Xs(e){const n=/^(.*channel-\d+)\/(.*)$/,s=e.match(n);if(!s)throw new Error("Pattern `channel-{number}/` not found.");const[,r,a]=s;return[r,a]}const Cm="_header_5w36t_1",Nm="_name_5w36t_8",Im="_collection_5w36t_15",Sm="_nft_5w36t_20",$m="_fields_5w36t_24",km="_chain_5w36t_29",mt={header:Cm,name:Nm,collection:Im,nft:Sm,fields:$m,chain:km},Em=qe.createQueryKeys("interwovenkit:send-nft",{simulation:e=>[e]}),Am=()=>{const{chain:e,collection:n,nft:s}=Ue(),{routerApiUrl:r}=ne(),a=pn(),o=we(),{address:i,initiaAddress:l,requestTxSync:c}=pe(),{watch:d,setValue:u,handleSubmit:m,formState:h}=oe.useFormContext(),_=d(),{recipient:p,dstChainId:g}=_,y=ve(g),C=$.useQuery({queryKey:Em.simulation({collection:n,nft:s,sender:l,recipient:p,srcChain:e,dstChainId:g,layer1:o,routerApiUrl:r}).queryKey,queryFn:async()=>{const v=Object.assign({from_address:l,from_chain_id:e.chainId,to_address:M.toBech32(p),to_chain_id:g,collection_address:n.object_addr,token_ids:[s.token_id],object_addresses:[s.object_addr]},e.chainId!==g&&await wm({collection:n,nft:s,srcChain:e,intermediaryChain:o})),{msgs:E}=await H.create({prefixUrl:r}).post("nft",{json:v}).json();return E.map(x=>a.fromAmino(x))},enabled:!!p}),{data:N,isLoading:q,error:j}=C,{mutate:S,isPending:w}=$.useMutation({mutationFn:async()=>{if(!N)throw new Error("Route not found");await c({messages:N,chainId:e.chainId,internal:"/nfts"})}});return t.jsxs("form",{onSubmit:m(()=>S()),children:[t.jsxs("header",{className:mt.header,children:[s.image&&t.jsx(wn,{chain:e,collection:n,nft:s,size:80}),t.jsxs("div",{className:mt.name,children:[t.jsx("div",{className:mt.collection,children:n.name}),t.jsx("div",{className:mt.nft,children:s.name})]})]}),t.jsxs("div",{className:mt.fields,children:[t.jsx(T.VisuallyHidden.Root,{children:t.jsxs("div",{children:[t.jsx("div",{className:"label",children:"Destination rollup"}),t.jsxs(it,{title:"Destination rollup",content:v=>t.jsx(xo,{onSelect:E=>{u("dstChainId",E),v()}}),className:R("input",mt.chain),children:[t.jsx(Y,{src:y.logoUrl,width:20,height:20}),t.jsx("span",{children:y.name})]})]})}),t.jsx(Ns,{myAddress:i,ref:bn()})]}),t.jsx(re,{children:t.jsx(G.White,{loading:q||w,disabled:!h.isValid,children:j?"Route not found":"Confirm"})})]})},Tm=J.z.object({dstChainId:J.z.string().nonempty(),recipient:vo}),qm=()=>{const{chain:e}=Ue(),n=oe.useForm({defaultValues:{dstChainId:e.chainId},resolver:hs.zodResolver(Tm)});return t.jsx(Be,{title:"Send NFT",children:t.jsx(oe.FormProvider,{...n,children:t.jsx(Am,{})})})},Dm="_item_ny5a8_1",Pm="_header_ny5a8_11",Bm="_name_ny5a8_19",Fm="_link_ny5a8_24",Rm="_button_ny5a8_40",ht={item:Dm,header:Pm,name:Bm,link:Fm,button:Rm},Qn=e=>{var h;const{chainId:n,name:s,logoUrl:r,website:a,metadata:o}=e,{defaultChainId:i}=ne(),{addedChains:l,addChain:c,removeChain:d}=vt(),u=l.find(_=>_.chainId===n),m=()=>n===i?null:u?t.jsx("button",{className:ht.button,onClick:()=>d(n),children:t.jsx(b.IconMinus,{size:14})}):t.jsx("button",{className:ht.button,onClick:()=>c(n),children:t.jsx(b.IconPlus,{size:14})});return t.jsxs("div",{className:ht.item,children:[t.jsx(Y,{src:r,width:32,height:32,title:(h=o==null?void 0:o.minitia)==null?void 0:h.type}),t.jsxs("header",{className:ht.header,children:[t.jsx("h3",{className:ht.name,children:s}),a&&t.jsx("a",{className:ht.link,href:xr(a),target:"_blank",children:t.jsx(b.IconExternalLink,{size:12})})]}),m()]})},Mm="_content_14twd_1",Om="_search_14twd_5",Um="_title_14twd_9",zm="_count_14twd_18",Km="_list_14twd_23",Me={content:Mm,search:Om,title:Um,count:zm,list:Km},Hm=()=>{const[e,n]=f.useState(""),{chains:s,addedChains:r,notAddedChains:a}=vt(),o=So(["chainId","name"],e,s);return t.jsx(Be,{title:"Manage rollup list",children:t.jsxs("div",{className:Me.content,children:[t.jsx(Is,{value:e,onChange:n,className:Me.search}),e?o.length===0?t.jsx(ae,{children:"No chains"}):o.map(i=>f.createElement(Qn,{...i,key:i.chainId})):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:Me.list,children:[t.jsxs("h2",{className:Me.title,children:[t.jsx("span",{children:"Shown"}),t.jsxs("span",{className:Me.count,children:["(",r.length,")"]})]}),r.map(i=>f.createElement(Qn,{...i,key:i.chainId}))]}),t.jsxs("div",{className:Me.list,children:[t.jsxs("h2",{className:Me.title,children:[t.jsx("span",{children:"Hidden"}),t.jsxs("span",{className:Me.count,children:["(",a.length,")"]})]}),a.map(i=>f.createElement(Qn,{...i,key:i.chainId}))]})]})]})})};function Lm(){return we().network_type==="testnet"}const $o=J.z.object({srcChainId:J.z.string().nonempty(),srcDenom:J.z.string().nonempty(),dstChainId:J.z.string().nonempty(),dstDenom:J.z.string().nonempty(),quantity:J.z.string().nonempty("Amount is required"),sender:J.z.string().nonempty(),cosmosWalletName:J.z.string().optional(),recipient:J.z.string().nonempty("Recipient address is required"),slippagePercent:J.z.string().nonempty()});function Qe(){return oe.useFormContext()}function Wm(){const e=Ue(),n=Lm(),s={quantity:"",slippagePercent:"0.5",sender:"",cosmosWalletName:"",recipient:""},r={...s,srcChainId:"initiation-2",srcDenom:"uusdc",dstChainId:"initiation-2",dstDenom:"uinit"},a={...s,srcChainId:"interwoven-1",srcDenom:"ibc/6490A7EAB61059BFC1CDDEB05917DD70BDF3A611654162A1A47DB930D40D8AF4",dstChainId:"interwoven-1",dstDenom:"uinit"},o=A.pickBy(i=>i!==null,{srcChainId:localStorage.getItem(U.BRIDGE_SRC_CHAIN_ID),srcDenom:localStorage.getItem(U.BRIDGE_SRC_DENOM),dstChainId:localStorage.getItem(U.BRIDGE_DST_CHAIN_ID),dstDenom:localStorage.getItem(U.BRIDGE_DST_DENOM),quantity:localStorage.getItem(U.BRIDGE_QUANTITY),slippagePercent:localStorage.getItem(U.BRIDGE_SLIPPAGE_PERCENT)});return{...n?r:a,...o,...e}}function ko(){const{initiaAddress:e,hexAddress:n}=pe(),s=ct(),r=Lt();return a=>{const o=s(a);switch(r(o)){case"initia":return e;case"evm":return n;default:return""}}}function is(){const e=ct(),n=Lt();return(s,r)=>{const a=e(r);switch(n(a)){case"initia":return M.validate(s);case"evm":return Se.isAddress(s);case"cosmos":try{return z.fromBech32(s).prefix===a.bech32_prefix}catch{return!1}default:return!1}}}function Qm(){const e=ct(),n=Lt();return({initialAddress:s,initialChainId:r,chainId:a,fallbackAddress:o})=>{const i=e(r),l=n(i),c=e(a),d=n(c);if(l==="evm"&&d==="initia")return M.toBech32(s);if(l==="initia"&&d==="evm")return M.toPrefixedHex(s);if(l===d)return s;if(o){if(d==="initia")return M.toBech32(o);if(d==="evm")return M.toPrefixedHex(o)}return""}}const Vm=[["d",1440*60],["h",3600],["m",60],["s",1]];function cs(e){if(!e)return;const{formattedParts:n}=Vm.reduce(({remainingSeconds:s,formattedParts:r},[a,o])=>{const i=Math.floor(s/o);return{remainingSeconds:s-i*o,formattedParts:i>0?[...r,`${i}${a}`]:r}},{remainingSeconds:e,formattedParts:[]});return n.join(" ")}function Eo(e){return e==null?void 0:e.map(n=>{const{amount:s,origin_asset:r}=n;return`${D.formatAmount(s,{decimals:r.decimals??0})} ${r.symbol}`}).join(", ")}function er(e,n){const{watch:s}=Qe(),r=s(),a=Le(),o={...r,quantity:e},i=$.useQueryClient();return $.useQuery({queryKey:fe.route(o,n==null?void 0:n.isOpWithdraw).queryKey,queryFn:()=>{const{srcChainId:l,srcDenom:c,quantity:d,dstChainId:u,dstDenom:m}=o,{decimals:h}=i.getQueryData(fe.asset(l,c).queryKey)??{decimals:0},_={amount_in:D.toBaseUnit(d,{decimals:h}),source_asset_chain_id:l,source_asset_denom:c,dest_asset_chain_id:u,dest_asset_denom:m,is_op_withdraw:n==null?void 0:n.isOpWithdraw};return a.post("v2/fungible/route",{json:_}).json()},enabled:!!Number(o.quantity)&&!(n!=null&&n.disabled),staleTime:L.MINUTE})}function Gm(e){return $.useQuery({queryKey:fe.routeErrorInfo(e||new Error).queryKey,queryFn:async()=>{if(!e||!(e instanceof H.HTTPError))return null;const{response:n}=e;return(n.headers.get("content-type")??"").includes("application/json")?(await n.json()).info??null:null}})}function Ym(){var m,h,_;const{watch:e}=Qe(),{srcChainId:n,srcDenom:s,dstChainId:r,dstDenom:a}=e(),o=$e(n),i=Rt(o),l=Te(s,n),c=Te(a,r),d=we(),u=Ke();return i==="initia"&&r===d.chainId&&l.symbol===c.symbol&&((_=(h=(m=u.find(p=>p.chainId===n))==null?void 0:m.metadata)==null?void 0:h.op_denoms)==null?void 0:_.includes(c.denom))}var ls=(e=>(e.FEE_BEHAVIOR_DEDUCTED="FEE_BEHAVIOR_DEDUCTED",e.FEE_BEHAVIOR_ADDITIONAL="FEE_BEHAVIOR_ADDITIONAL",e))(ls||{});function $s(e,n){const s=Le();return $.useQuery({queryKey:fe.balances(n,e).queryKey,queryFn:()=>s.post("v2/info/balances",{json:{chains:{[n]:{address:e,denoms:[]}}}}).json(),select:({chains:r})=>e?r?r[n].denoms??{}:{}:{},enabled:!!e,staleTime:L.SECOND})}function Jm(e,n,s){const{data:r={}}=$s(e,n);return A.path([s],r)}const Zm=({address:e,chain:n,onSelect:s})=>{const r=yt(n.chain_id),{data:a={}}=$s(e,n.chain_id);return t.jsx(Wt,{assets:A.sortWith([A.descend(o=>o.symbol==="INIT"),A.descend(o=>o.value),({balance:o="0"},{balance:i="0"})=>F(i).comparedTo(o)??0,A.ascend(o=>o.symbol.toLowerCase())],r.filter(o=>!o.hidden).map(o=>{const{denom:i,symbol:l=D.truncate(i),logo_uri:c}=o,d=a[i]??{};return{...o,symbol:l,decimals:o.decimals??0,logoUrl:c??"",name:o.name??"",balance:d.amount,value:Number(d.value_usd??0)}})),onSelect:s})},Xm=({type:e,afterSelect:n})=>{const s=e==="src"?"srcChainId":"dstChainId",r=e==="src"?"srcDenom":"dstDenom",a=e==="src"?"sender":"recipient",o=Ct(),i=js(),{watch:l,setValue:c,trigger:d}=Qe(),u=l("quantity"),m=l(a),h=l(s),[_,p]=f.useState(h),g=$e(_),y=Qm(),C=Lr(),[N,q]=A.partition(S=>C(S.chain_id),i.filter(S=>!S.hidden)),j=S=>{c(s,_),c(r,S),Number(u)&&d(),n()};return t.jsxs(t.Fragment,{children:[t.jsxs(ot.Stack,{children:[t.jsx(ot,{label:"Interwoven Economy",chains:N.map(({chain_id:S,chain_name:w,pretty_name:v,logo_uri:E})=>({chainId:S,name:v||w,logoUrl:E??""})),value:_,onSelect:p}),t.jsx(ot,{label:"Chains",chains:q.map(({chain_id:S,chain_name:w,pretty_name:v,logo_uri:E})=>({chainId:S,name:v||w,logoUrl:E??""})),value:_,onSelect:p})]}),t.jsx(se,{suspenseFallback:t.jsx(Wt.Placeholder,{}),children:t.jsx(Zm,{address:y({initialAddress:m,initialChainId:h,chainId:_,fallbackAddress:e==="src"?o:void 0}),chain:g,onSelect:j})},_)]})},tr=({type:e})=>{const n=e==="src"?"srcChainId":"dstChainId",s=e==="src"?"srcDenom":"dstDenom",r=e==="src"?"Select source chain and asset":"Select destination chain and asset",{watch:a}=Qe(),o=a(n),i=a(s),l=$e(o),c=Te(i,o);return t.jsx(it,{title:r,content:d=>t.jsx(Xm,{type:e,afterSelect:d}),children:t.jsx(wo,{asset:{denom:c.denom,decimals:c.decimals??0,symbol:c.symbol??D.truncate(c.denom),logoUrl:c.logo_uri??""},chain:{chainId:l.chain_id,name:l.pretty_name||l.chain_name,logoUrl:l.logo_uri??""}})})};function Cn(){const e=[{name:"Keplr",image:"https://assets.initia.xyz/images/wallets/Keplr.webp",getProvider:()=>window.keplr,fallbackUrl:"https://keplr.app/get"},{name:"Leap",image:"https://assets.initia.xyz/images/wallets/Leap.webp",getProvider:()=>window.leap,fallbackUrl:"https://leapwallet.io/download"}];return{list:e,find:s=>e.find(r=>r.name===s)}}const eh="_account_iwrlj_8",th="_clear_iwrlj_27",nh="_white_iwrlj_38",Dt={account:eh,clear:th,white:nh},nr=({type:e})=>{const{watch:n,setValue:s}=Qe(),{srcChainId:r,dstChainId:a,cosmosWalletName:o}=n(),l=n(e==="src"?"sender":"recipient"),c=Rt($e(a)),{list:d,find:u}=Cn(),m=u(o),h=ko(),_=is(),p=h(a),g=M.equals(l,p),y=()=>t.jsx(it,{title:"Connect wallet",content:q=>t.jsx(go,{onSelect:async j=>{const S=j.getProvider();if(!S)return window.open(j.fallbackUrl,"_blank");const w=S.getOfflineSigner(r),[{address:v}]=await w.getAccounts();s("sender",v),s("cosmosWalletName",j.name),q()},list:d,getImage:j=>j.image,getName:j=>j.name,getKey:j=>j.name}),className:R(Dt.account,{[Dt.white]:!l}),children:l?t.jsxs(t.Fragment,{children:[m&&t.jsx(Y,{src:m.image,width:18,height:18}),t.jsx("span",{className:"monospace",children:D.truncate(l)})]}):t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"Connect wallet"}),t.jsx(b.IconChevronRight,{size:14})]})}),C=q=>t.jsx(it,{title:"Recipient",content:j=>t.jsx(Pe,{children:t.jsx(Ns,{mode:"onSubmit",myAddress:p,chainType:c,validate:S=>_(S,a),onApply:j})}),className:Dt.account,children:q}),N=()=>{switch(c){case"initia":case"evm":return g?C(t.jsx(b.IconWallet,{size:14})):t.jsxs("div",{className:Dt.account,children:[t.jsx("span",{className:"monospace",children:D.truncate(l)}),t.jsx("button",{type:"button",className:Dt.clear,onClick:()=>s("recipient",p,{shouldValidate:!0}),"aria-label":"Reset to my address",children:t.jsx(b.IconCloseCircleFilled,{size:14})})]});case"cosmos":return C(t.jsxs(t.Fragment,{children:[l?t.jsx("span",{className:"monospace",children:D.truncate(l)}):t.jsx("span",{children:"Recipient"}),t.jsx(b.IconEdit,{size:14})]}))}};switch(e){case"src":return y();case"dst":return N()}},sh="_description_l5bcv_1",rh="_presets_l5bcv_8",oh="_preset_l5bcv_8",ah="_active_l5bcv_29",ih="_custom_l5bcv_40",ch="_wrapper_l5bcv_46",lh="_percent_l5bcv_49",Ce={description:sh,presets:rh,preset:oh,active:ah,custom:ih,wrapper:ch,percent:lh},sr=["0.1","0.5","1.0"],dh=({afterConfirm:e})=>{const n=Qe(),s=n.getValues("slippagePercent"),[r,a]=f.useState(null),{control:o,watch:i,getValues:l,setValue:c}=oe.useForm({defaultValues:{value:s}}),d=i("value");f.useEffect(()=>{const g=sr.findIndex(y=>y===s);a(g>=0?g:null)},[s]);const u=(g,y)=>{c("value",g),a(y)},m=()=>{a(null)},h=f.useMemo(()=>Number(d)>100?{type:"error",text:"Slippage must be less than 100%"}:Number(d)>5?{type:"warning",text:"Your transaction may be frontrun"}:Number(d)<.5?{type:"warning",text:"Your transaction may fail"}:null,[d]),_=(h==null?void 0:h.type)==="error",p=({value:g})=>{n.setValue("slippagePercent",g),e()};return t.jsxs(Pe,{children:[t.jsx("p",{className:Ce.description,children:"Slippage is how much price movement you can tolerate between the time you send out a transaction and the time it's executed."}),t.jsxs("div",{className:Ce.presets,children:[sr.map((g,y)=>t.jsxs("button",{type:"button",className:R(Ce.preset,{[Ce.active]:r===y}),onClick:()=>u(g,y),children:[g,"%"]},g)),r!==null?t.jsx("button",{type:"button",className:R(Ce.preset,Ce.custom),onClick:()=>a(null),children:"Custom"}):t.jsxs("div",{className:Ce.wrapper,children:[t.jsx(Co,{name:"value",control:o,dp:2,onFocus:m,placeholder:"",className:R(Ce.preset,Ce.active)}),t.jsx("span",{className:Ce.percent,children:"%"})]})]}),h&&t.jsx(te,{level:h.type,children:h.text}),t.jsx(re,{children:t.jsx(G.White,{type:"button",onClick:()=>p(l()),disabled:_,children:"Confirm"})})]})},uh="_stack_hvmmo_1",mh="_button_hvmmo_6",hh="_checked_hvmmo_14",_h="_checkmark_hvmmo_20",fh="_inner_hvmmo_30",ph="_info_hvmmo_42",gh="_duration_hvmmo_51",xh="_amount_hvmmo_61",yh="_symbol_hvmmo_71",Ae={stack:uh,button:mh,checked:hh,checkmark:_h,inner:fh,info:ph,duration:gh,amount:xh,symbol:yh},jh=({children:e})=>t.jsx("div",{className:Ae.stack,children:e}),on=({label:e,query:n,value:s,onSelect:r,checked:a})=>{const{data:o,isLoading:i}=n,{watch:l}=Qe(),{dstChainId:c,dstDenom:d}=l(),u=Te(d,c);return t.jsxs("button",{type:"button",className:R(Ae.button,{[Ae.checked]:a}),onClick:()=>r(s),children:[t.jsx("div",{className:Ae.checkmark,children:a&&t.jsx("span",{className:Ae.inner})}),t.jsxs("div",{className:Ae.info,children:[t.jsx("div",{children:e}),t.jsxs("div",{className:Ae.duration,children:[t.jsx(b.IconClockFilled,{size:12}),o?cs(o.estimated_route_duration_seconds):"Not available"]})]}),t.jsx("div",{className:Ae.amount,children:i?t.jsx(We,{size:14}):t.jsxs(t.Fragment,{children:[t.jsx("span",{children:D.formatAmount(o==null?void 0:o.amount_out,{decimals:u.decimals})}),t.jsx("span",{className:Ae.symbol,children:u.symbol})]})})]})};on.Stack=jh;const vh="_form_lelld_1",wh="_arrow_lelld_5",bh="_divider_lelld_13",Ch="_flip_lelld_21",Nh="_meta_lelld_37",Ih="_row_lelld_50",Sh="_title_lelld_56",$h="_description_lelld_60",kh="_icon_lelld_67",Eh="_edit_lelld_72",Ah="_warning_lelld_93",X={form:vh,arrow:wh,divider:bh,flip:Ch,meta:Nh,row:Ih,title:Sh,description:$h,icon:kh,edit:Eh,warning:Ah},Th=()=>{var Ts,qs,Ds;const e=ie(),n=jn(),[s,r]=ue.useLocalStorage(U.BRIDGE_ROUTE_TYPE,"default"),{watch:a,setValue:o,handleSubmit:i,trigger:l,formState:c}=Qe(),d=a(),{srcChainId:u,srcDenom:m,dstChainId:h,dstDenom:_,quantity:p,sender:g,slippagePercent:y}=d,C=De(),N=$e(u),q=Rt(N),j=$e(h),S=Rt(j),w=Te(m,u),v=Te(_,h),{data:E}=$s(g,u),x=Jm(g,u,m);f.useEffect(()=>{Number(p)&&l()},[x,p,l]);const[k]=ue.useDebounceValue(p,300),O=q!=="initia"&&S!=="initia",B=Ym(),P=er(k,{disabled:O}),W=er(k,{isOpWithdraw:!0,disabled:!B}),Q=B&&s==="op"?W:P,{data:V,isLoading:ce,isFetching:be,isFetched:ke,error:dt}=Q,{data:Ve}=Gm(dt),[$t,le]=f.useState(V);f.useEffect(()=>{V&&le({...V,amount_out:"0",usd_amount_in:"0",usd_amount_out:"0"})},[V]),f.useEffect(()=>{le(void 0)},[u,m,h,_]);const I=ke?V:k&&!dt?$t:void 0,Sn=k&&(ce||be),Uo=()=>{o("srcChainId",h),o("srcDenom",_),o("dstChainId",u),o("dstDenom",m),Number(p)&&l()},{openModal:zo,closeModal:ks}=zt(),Ko=i(K=>{if(I!=null&&I.warning){const{type:me="",message:En}=I.warning??{};zo({content:t.jsx(lo,{type:"warning",icon:t.jsx(b.IconWarningFilled,{size:40}),title:Ot.sentenceCase(me),primaryButton:{label:"Cancel",onClick:ks},secondaryButton:{label:"Proceed anyway",onClick:()=>{e("/bridge/preview",{route:I,values:K}),ks()}},children:t.jsx("p",{className:X.warning,children:En})})});return}e("/bridge/preview",{route:I,values:K})}),Ho=f.useMemo(()=>{var K;return((K=I==null?void 0:I.estimated_fees)==null?void 0:K.filter(({fee_behavior:me})=>me===ls.FEE_BEHAVIOR_DEDUCTED))??[]},[I]),$n=f.useMemo(()=>{var K;return((K=I==null?void 0:I.estimated_fees)==null?void 0:K.filter(({fee_behavior:me})=>me===ls.FEE_BEHAVIOR_ADDITIONAL))??[]},[I]),kn=f.useMemo(()=>{var K;for(const me of $n){const En=((K=E==null?void 0:E[me.origin_asset.denom])==null?void 0:K.amount)??"0",Vo=(I==null?void 0:I.source_asset_denom)===me.origin_asset.denom?I.amount_in:"0";if(F(En).lt(F(Vo).plus(me.amount??"0")))return`Insufficient ${me.origin_asset.symbol} for fees`}},[E,I,$n]),Es=f.useMemo(()=>{if(!d.sender)return"Connect wallet";if(!d.quantity||!k)return"Enter amount";if(!d.recipient)return"Enter recipient address";if(c.errors.quantity)return c.errors.quantity.message;const K=$o.safeParse(d);if(!K.success)return`Invalid ${K.error.issues[0].path}`;if(!I)return"Route not found";if(kn)return kn},[k,kn,c,I,d]),Lo=I?D.formatAmount(I.amount_out,{decimals:v.decimals}):"0",Wo=F(p).gt(0)&&F(p).isEqualTo(D.fromBaseUnit(x==null?void 0:x.amount,{decimals:(x==null?void 0:x.decimals)??0})),Qo=(()=>{switch(q){case"initia":return C(u).fees.fee_tokens.some(({denom:K})=>K===m);case"cosmos":return N.fee_assets.some(({denom:K})=>K===m);case"evm":return!Se.isAddress(m);default:return!1}})(),As=(K,me)=>K.length?t.jsxs("div",{className:X.description,children:[Eo(K),!n&&t.jsx(Nt,{label:me,children:t.jsx("span",{className:X.icon,children:t.jsx(b.IconInfoFilled,{size:12})})})]}):null;return t.jsxs("form",{className:X.form,onSubmit:Ko,children:[t.jsx(rs,{selectButton:t.jsx(tr,{type:"src"}),accountButton:q==="cosmos"&&t.jsx(nr,{type:"src"}),quantityInput:t.jsx(dn,{}),balanceButton:t.jsx(bo,{onClick:()=>o("quantity",D.fromBaseUnit(x==null?void 0:x.amount,{decimals:(w==null?void 0:w.decimals)??0}),{shouldValidate:!0}),children:D.formatAmount(x==null?void 0:x.amount,{decimals:w.decimals})}),value:I?I.usd_amount_in?D.formatNumber(I.usd_amount_in):"-":"0"}),t.jsxs("div",{className:X.arrow,children:[t.jsx("div",{className:X.divider}),t.jsx("button",{type:"button",className:X.flip,onClick:()=>Uo(),children:t.jsx(b.IconChevronDown,{size:16})})]}),t.jsx(rs,{selectButton:t.jsx(tr,{type:"dst"}),accountButton:t.jsx(nr,{type:"dst"}),quantityInput:t.jsx(dn.ReadOnly,{children:Lo}),value:I?I.usd_amount_out?D.formatNumber(I.usd_amount_out):"-":"0"}),t.jsx(re,{extra:t.jsxs(t.Fragment,{children:[t.jsx(es,{children:F(p).gt(0)&&B?t.jsxs(on.Stack,{children:[t.jsx(on,{label:"Minitswap",query:P,value:"default",onSelect:r,checked:s==="default"}),t.jsx(on,{label:"OP Bridge",query:W,value:"op",onSelect:r,checked:s==="op"})]}):null}),t.jsxs(te.Stack,{children:[(Ts=I==null?void 0:I.extra_infos)==null?void 0:Ts.map(K=>t.jsx(te,{level:"info",children:K},K)),Ve&&t.jsx(te,{level:"info",children:Ve}),Wo&&Qo&&t.jsx(te,{level:"warning",children:"Make sure to leave enough for transaction fee"}),(I==null?void 0:I.warning)&&t.jsx(te,{level:"warning",children:I.warning.message}),(qs=I==null?void 0:I.extra_warnings)==null?void 0:qs.map(K=>t.jsx(te,{level:"warning",children:K},K))]}),t.jsx(es,{children:I&&t.jsxs("div",{className:X.meta,children:[!!((Ds=I.estimated_fees)!=null&&Ds.length)&&t.jsxs("div",{className:X.row,children:[t.jsx("span",{className:X.title,children:"Fees"}),t.jsxs("div",{children:[As(Ho,"Fee deducted from the amount you receive"),As($n,"Fee charged in addition to the amount you enter")]})]}),cs(I.estimated_route_duration_seconds)&&t.jsxs("div",{className:X.row,children:[t.jsx("span",{className:X.title,children:"Estimated time"}),t.jsx("span",{className:X.description,children:cs(I.estimated_route_duration_seconds)})]}),I.does_swap&&t.jsxs("div",{className:X.row,children:[t.jsx("span",{className:X.title,children:"Slippage"}),t.jsxs("span",{className:X.description,children:[t.jsxs("span",{children:[y,"%"]}),t.jsx(it,{title:"Slippage tolerance",content:K=>t.jsx(dh,{afterConfirm:K}),className:X.edit,children:t.jsx(b.IconSettingFilled,{size:12})})]})]})]})})]}),children:t.jsx(G.White,{loading:Sn&&"Simulating...",disabled:!!Es,children:Es??"Preview route"})})]})},qh=()=>{uo();const e=ca(),n=ie(),{closeDrawer:s}=bt(),r=Ct(),a=Wm(),o=is(),i=$.useQueryClient(),l=oe.useForm({mode:"onChange",defaultValues:a,resolver:hs.zodResolver($o.superRefine(({srcChainId:B,srcDenom:P,quantity:W,sender:Q},V)=>{const ce=i.getQueryData(fe.balances(B,Q).queryKey),be=A.pathOr("0",["chains",B,"denoms",P,"amount"],ce),{decimals:ke}=i.getQueryData(fe.asset(B,P).queryKey)??{decimals:0};jo({quantity:W,balance:be,decimals:ke},V)}).superRefine(({dstChainId:B,recipient:P},W)=>{if(!o(P,B)){W.addIssue({code:J.z.ZodIssueCode.custom,message:"Invalid address",path:["recipient"]});return}}))}),{watch:c,setValue:d}=l,{srcChainId:u,dstChainId:m,srcDenom:h,dstDenom:_,quantity:p,slippagePercent:g,recipient:y}=c();c((B,{name:P})=>{(P==="srcChainId"||P==="srcDenom")&&d("quantity","")});const C=ko(),N=C(u),q=C(m),S=is()(y,m);f.useEffect(()=>{d("cosmosWalletName",void 0),d("sender",N)},[u,N,d]),f.useEffect(()=>{S||d("recipient",q)},[q,S,d]);const w=yt(u),v=yt(m),E=f.useMemo(()=>{if(!w.find(B=>B.denom===h))return`${h} is not available for bridge/swap on ${u}`;if(!v.find(B=>B.denom===_))return`${_} is not available for bridge/swap on ${m}`},[v,m,_,w,u,h]);f.useEffect(()=>{E||(localStorage.setItem(U.BRIDGE_SRC_CHAIN_ID,u),localStorage.setItem(U.BRIDGE_SRC_DENOM,h),localStorage.setItem(U.BRIDGE_DST_CHAIN_ID,m),localStorage.setItem(U.BRIDGE_DST_DENOM,_),localStorage.setItem(U.BRIDGE_QUANTITY,p),localStorage.setItem(U.BRIDGE_SLIPPAGE_PERCENT,g))},[u,h,m,_,p,g,E]);const x=e[0].path==="/bridge",k=()=>t.jsxs(t.Fragment,{children:[t.jsx(ae,{error:!0,children:E}),t.jsx(re,{children:x?t.jsx(G.White,{onClick:s,children:"Close"}):t.jsx(G.White,{onClick:()=>n(-1),children:"Go back"})})]}),{reminders:O}=It();return t.jsx(Be,{title:"Bridge/Swap",returnTo:x?!1:"/",extra:t.jsxs(t.Fragment,{children:[t.jsx(G.Small,{onClick:()=>n("/bridge/history"),unpadded:!0,children:t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"12",height:"12",children:[t.jsx("path",{d:"m0 9.818 1.414-1.414 L2 8.99 V8 a7 7 0 1 1 7 7 v-2 a5 5 0 1 0-5-5 v1.354 l.95-.95 1.414 1.414 L3.182 13 0 9.818 Z"}),t.jsx("path",{d:"M9 5.5 H7.5 v3.75 h3.75 v-1.5 H9 V5.5 Z"})]})}),t.jsx(Io,{offset:0,disabled:O.length===0,children:t.jsx(G.Small,{onClick:()=>n("/op/withdrawals"),disabled:!r,children:t.jsx("span",{children:"Withdrawal status"})})})]}),children:E?k():t.jsx(oe.FormProvider,{...l,children:t.jsx(se,{children:t.jsx(Th,{})})})})},lt=qe.createQueryKeys("interwovenkit:op",{bridge:e=>[e],withdrawals:(e,n)=>[e,n],latestOutput:e=>[e],output:(e,n)=>[e,n],outputResponse:(e,n)=>[e,n],withdrawalClaimed:(e,n)=>[e,n]});function Nn(){const{restUrl:e}=we();return f.useMemo(()=>H.create({prefixUrl:e}),[e])}function Dh(e){const n=Nn(),{data:s}=$.useSuspenseQuery({queryKey:lt.bridge(e).queryKey,queryFn:()=>n.get(`opinit/ophost/v1/bridges/${e}`).json(),staleTime:L.INFINITY});return s}const rr=20;function Ph(e){const n=Z();return $.useSuspenseInfiniteQuery({queryKey:lt.withdrawals(e,n).queryKey,queryFn:async({pageParam:s})=>{if(!n)return[];const r={limit:rr,offset:s,order:"desc"},{withdrawals:a}=await H.create({prefixUrl:e}).get(`withdrawals/${n}`,{searchParams:r}).json();return a},getNextPageParam:s=>{var a;const r=(a=A.last(s))==null?void 0:a.sequence;return s.length<rr||!r||r<=1?null:r-1},initialPageParam:0,staleTime:L.SECOND})}function Bh(e){const n=Nn(),{data:s}=$.useSuspenseQuery({queryKey:lt.latestOutput(e).queryKey,queryFn:()=>n.get(`opinit/ophost/v1/bridges/${e}/outputs`,{searchParams:{"pagination.reverse":!0,"pagination.limit":1}}).json(),select:({output_proposals:r})=>{const[a]=r;return a||null},staleTime:L.SECOND});return s}function Fh({bridge_id:e,output_index:n}){const s=Nn(),{data:r}=$.useSuspenseQuery({queryKey:lt.output(e,n).queryKey,queryFn:async()=>{try{return await s.get(`opinit/ophost/v1/bridges/${e}/outputs/${n}`).json()}catch{return null}},staleTime:L.SECOND});return r}function Rh({bridge_id:e,sequence:n}){var c,d;const r=(c=Ke().find(({metadata:u})=>(u==null?void 0:u.op_bridge_id)===e.toString()))==null?void 0:c.chain_id;if(!r)throw new Error(`Chain not found for bridge_id: ${e}`);const o=De()(r);if(!o)throw new Error(`Chain not found: ${r}`);const i=(d=o.metadata)==null?void 0:d.executor_uri;if(!i)throw new Error(`Executor URL not found: ${r}`);const{data:l}=$.useSuspenseQuery({queryKey:lt.outputResponse(i,n).queryKey,queryFn:()=>H.create({prefixUrl:i}).get(`withdrawal/${n}`).json(),staleTime:L.SECOND});return l}function Ao(e,n){const{bridge_id:s}=e,r=Nn(),{data:a}=$.useSuspenseQuery({queryKey:lt.withdrawalClaimed(s,n).queryKey,queryFn:()=>r.get(`opinit/ophost/v1/bridges/${s}/withdrawals/claimed/by_hash`,{searchParams:{withdrawal_hash:n}}).json(),select:({claimed:o})=>o,staleTime:({state:{data:o}})=>o!=null&&o.claimed?1/0:L.SECOND});return a}function Pt(e){return ms.sha3_256.create().update(e).digest()}function Vn(e,n){const s=new ArrayBuffer(n);return new DataView(s).setBigUint64(0,BigInt(e),!1),new Uint8Array(s)}function To(e){const{bridge_id:n,sequence:s,amount:r,from:a,to:o}=e,i=Vn(n.toString(),8),l=Vn(s.toString(),8),c=Vn(r.amount,8),d=nt.concatBytes(i,l,Pt(nt.toBytes(a)),Pt(nt.toBytes(o)),Pt(nt.toBytes(r.denom)),c);return Pt(Pt(d))}const qo=f.createContext(null);function In(){return f.useContext(qo)}const Mh="_asset_6h8u2_1",Oh="_info_6h8u2_7",Uh="_symbol_6h8u2_11",Gn={asset:Mh,info:Oh,symbol:Uh},zh=({amount:e,denom:n})=>{const s=we(),r=xs(n,s),{symbol:a,logoUrl:o,decimals:i}=r;return t.jsxs("div",{className:Gn.asset,children:[t.jsx(Y,{src:o,width:32,height:32}),t.jsxs("div",{className:Gn.info,children:[t.jsx("span",{className:"monospace",children:D.formatAmount(e,{decimals:i})}),t.jsx("span",{className:Gn.symbol,children:a})]})]})},Kh=({children:e})=>{const{withdrawalTx:n}=In(),s=Bh(n.bridge_id),r=n.output_index>Number(s==null?void 0:s.output_index);return e(r)},Hh="_container_1oldz_1",Lh="_icon_1oldz_7",or={container:Hh,icon:Lh},Wh="Withdrawal will begin within an hour",ar=()=>{const e=jn();return t.jsxs("div",{className:or.container,children:[t.jsx("span",{children:"In progress"}),!e&&t.jsx(Nt,{label:Wh,children:t.jsx("span",{className:or.icon,children:t.jsx(b.IconInfoFilled,{size:12})})})]})},Do=1e3,Qh=60,Vh=60,Gh=24,ds=Do*Qh,us=ds*Vh,ir=us*Gh,Yh=({date:e})=>{const n=f.useCallback(()=>{const d=new Date().getTime(),m=e.getTime()-d;if(m<=0)return{days:0,hours:0,minutes:0,seconds:0};const h=Math.floor(m/ir),_=Math.floor(m%ir/us),p=Math.floor(m%us/ds),g=Math.floor(m%ds/Do);return{days:h,hours:_,minutes:p,seconds:g}},[e]),[s,r]=f.useState(n());f.useEffect(()=>{const d=window.setInterval(()=>{r(n())},1e3);return()=>window.clearInterval(d)},[n,e]);const a=d=>d.toString().padStart(2,"0"),{days:o,hours:i,minutes:l,seconds:c}=s;return t.jsx(Nt,{label:e.toLocaleString(),children:t.jsxs("span",{className:"monospace",children:[o,"d ",a(i),"h ",a(l),"m ",a(c),"s"]})})},Jh="_container_1lz3w_1",Zh="_title_1lz3w_5",cr={container:Jh,title:Zh},Xh=({date:e})=>t.jsxs("div",{className:cr.container,children:[t.jsx("div",{className:cr.title,children:"Claimable in"}),t.jsx(Yh,{date:e})]}),e_=({children:e})=>{const{withdrawalTx:n}=In(),s=Dh(n.bridge_id),r=Fh(n),a=f.useMemo(()=>{if(!r)return null;const{bridge_config:o}=s,{output_proposal:i}=r;return jt.addSeconds(new Date(i.l1_block_time),parseFloat(o.finalization_period))},[s,r]);return e(a)},t_=({date:e,children:n})=>{const{chainId:s,withdrawalTx:r}=In(),a=z.toBase64(To(r)),o=Ao(r,a),{setReminder:i,removeReminder:l}=It();return f.useEffect(()=>{const c={chainId:s,txHash:r.tx_hash};o?l(c):i(c,{...c,recipient:r.to,claimableAt:e.getTime(),amount:r.amount.amount,denom:r.amount.denom,dismissed:jt.isPast(e.getTime())?!0:void 0})},[s,o,e,l,i,r]),n},n_="_button_1btdg_1",s_="_claimed_1btdg_23",lr={button:n_,claimed:s_},r_=()=>{const{withdrawalTx:e}=In(),{bridge_id:n,sequence:s,amount:r,output_index:a,withdrawal_proofs:o,storage_root:i,from:l,to:c,version:d}=e,u=we(),m=Z(),{requestTxSync:h,waitForTxConfirmation:_}=pe(),p=Rh(e),g=z.toBase64(To(e)),y=Ao(e,g),C=$.useQueryClient(),{mutate:N,isPending:q}=$.useMutation({mutationFn:async()=>{if(!p)throw new Error("Output not found");const{last_block_hash:j}=p;return h({chainId:u.chain_id,messages:[{typeUrl:"/opinit.ophost.v1.MsgFinalizeTokenWithdrawal",value:ra.MsgFinalizeTokenWithdrawal.fromPartial({sender:m,bridgeId:BigInt(n),outputIndex:BigInt(a),withdrawalProofs:o.map(z.fromBase64),from:l,to:c,sequence:BigInt(s),amount:r,version:z.fromBase64(d),storageRoot:z.fromBase64(i),lastBlockHash:z.fromBase64(j)})}],internal:!0})},onSuccess:async j=>{await _({chainId:u.chain_id,txHash:j}),C.invalidateQueries({queryKey:lt.withdrawalClaimed(n,g).queryKey})}});return y?t.jsxs("div",{className:lr.claimed,children:[t.jsx(b.IconCheckCircleFilled,{size:14}),t.jsx("span",{children:"Claimed"})]}):t.jsx("button",{className:lr.button,onClick:()=>N(),disabled:q,children:"Claim"})},o_=()=>t.jsx(Kh,{children:e=>e?t.jsx(ar,{}):t.jsx(e_,{children:n=>n?t.jsx(t_,{date:n,children:jt.isFuture(n)?t.jsx(Xh,{date:n}):t.jsx(r_,{})}):t.jsx(ar,{})})}),a_="_item_km5w2_1",i_={item:a_},c_=({chain:e})=>{var c;const n=(c=e.metadata)==null?void 0:c.executor_uri;if(!n)throw new Error("Executor URL is not defined");const{data:s,fetchNextPage:r,hasNextPage:a,isFetching:o}=Ph(n),i=f.useMemo(()=>(s==null?void 0:s.pages.flat())??[],[s]),{syncReminders:l}=It();return f.useEffect(()=>{const d=i.map(u=>({chainId:e.chainId,txHash:u.tx_hash}));l(d)},[e.chainId,i,l]),i.length?t.jsxs(t.Fragment,{children:[i.map(d=>{const{amount:u}=d;return t.jsxs("div",{className:i_.item,children:[t.jsx(zh,{...u}),t.jsx(se,{suspenseFallback:null,children:t.jsx(qo.Provider,{value:{chainId:e.chainId,withdrawalTx:d},children:t.jsx(o_,{})})})]},d.sequence)}),a&&t.jsx(Ss,{onClick:()=>r(),disabled:o})]}):t.jsx(ae,{children:"No withdrawals"})},l_="_content_dj1qm_1",d_="_title_dj1qm_5",dr={content:l_,title:d_},u_=()=>{var c;const{chainId:e}=Ue(),n=Ke(),s=Kt(),[r,a]=f.useState(e??((c=s.metadata)!=null&&c.is_l1?"":s.chainId)),o=De(),{reminders:i}=It(),l=r?o(r):void 0;return t.jsxs(Be,{title:"OP Bridge withdrawals",children:[t.jsx(ot,{chains:n.filter(({metadata:d})=>{var u;return!(d!=null&&d.is_l1)&&((u=d==null?void 0:d.op_denoms)==null?void 0:u.length)}),value:r,onSelect:a,getShowIndicator:d=>i.some(u=>u.chainId===d)}),t.jsx("div",{className:dr.content,children:l?t.jsxs(t.Fragment,{children:[t.jsx("h2",{className:dr.title,children:l.name}),t.jsx(se,{children:t.jsx(c_,{chain:l})},r)]}):t.jsx(te,{level:"info",children:"Select a chain to display your OP Bridge withdrawals"})})]})};async function m_(e,n){const s=H.create({prefixUrl:n}),r=`cosmos/auth/v1beta1/account_info/${e}`;for(let a=1;a<=24;a++)try{return await s.get(r).json()}catch{await new Promise(o=>setTimeout(o,5e3))}throw new Error(`Timeout: ${e} not found`)}const an=({chainId:e,txHash:n})=>`${U.BRIDGE_HISTORY}:${e}:${n}`,un=100,ur=10;function Po(){const[e,n]=ue.useLocalStorage(U.BRIDGE_HISTORY,[]),s=f.useCallback((a,o)=>{localStorage.setItem(an(a),JSON.stringify(o));for(const i of e.slice(un-1))localStorage.removeItem(an(i));n((i=[])=>[a,...i.slice(0,un-1)])},[e,n]),r=f.useCallback(a=>{const o=localStorage.getItem(an(a));return o?JSON.parse(o):null},[]);return{history:e,addHistoryItem:s,getHistoryDetails:r}}function Bo(e){return ue.useLocalStorage(an(e),null)}async function Fo(e,n){const{chain_type:s,chain_id:r,chain_name:a,evm_fee_asset:o,rpc:i}=n;if(s!=="evm")throw new Error(`Chain is not an EVM chain: ${a}`);try{await e.send("wallet_switchEthereumChain",[{chainId:`0x${Number(r).toString(16)}`}])}catch(l){if(A.path(["error","code"],l)!==4902)throw l;if(!o)throw new Error(`Fee asset is not defined for chain: ${a}`);await e.send("wallet_addEthereumChain",[{chainId:`0x${Number(r).toString(16)}`,chainName:a,nativeCurrency:o,rpcUrls:[i]}]),await e.send("wallet_switchEthereumChain",[{chainId:`0x${Number(r).toString(16)}`}])}}function St(){return Ue()}function h_(e){const n=ie(),{showNotification:s,updateNotification:r,hideNotification:a}=Vr(),{addHistoryItem:o}=Po(),{route:i,values:l}=St(),{srcChainId:c,sender:d,recipient:u,cosmosWalletName:m}=l,h=qr(),{requestTxSync:_,waitForTxConfirmation:p}=pe(),{find:g}=Cn(),y=gs(),C=pn(),N=$e(c),q=Rt(N),j=Wr(c),S=$.useQueryClient(),{registryUrl:w}=ne(),v=De(),{addReminder:E}=It();return $.useMutation({mutationFn:async()=>{var x;try{if("cosmos_tx"in e){if(!e.cosmos_tx.msgs)throw new Error("Invalid transaction data");const k=e.cosmos_tx.msgs.map(({msg_type_url:le,msg:I})=>{if(!(le&&I))throw new Error("Invalid transaction data");return C.fromAmino({type:xt.aminoConverters[le].aminoType,value:JSON.parse(I)})});if(q==="initia"){const le=await _({messages:k,chainId:c,internal:1}),I=p({txHash:le,chainId:c});return{txHash:le,wait:I}}const O=(x=g(m))==null?void 0:x.getProvider();if(!O)throw new Error("Wallet not connected");const B=O.getOfflineSignerOnlyAmino(c),P=await Ie.SigningStargateClient.connectWithSigner(N.rpc,B,{registry:y,aminoTypes:C}),W=await P.getAllBalances(d),Q=N.fee_assets.find(le=>W.some(I=>I.denom===le.denom&&F(I.amount).gt(0)));if(!Q){const I=["Insufficient balance for fees.",`Available fee assets: ${N.fee_assets.map(Sn=>j(Sn.denom).symbol).join(", ")}`,"(note: asset symbols may refer to different tokens across chains)"].join(" ");throw new Error(I)}const{denom:V,gas_price:ce}=Q;if(!ce)throw new Error(`Gas price not found for ${V}`);const be=await P.simulate(d,k,""),ke=Ie.GasPrice.fromString(ce.average+V),dt=Ie.calculateFee(Math.ceil(be*_s),ke),Ve=await P.signAndBroadcastSync(d,k,dt),$t=Rr({txHash:Ve,client:P});return{txHash:Ve,wait:$t}}if("evm_tx"in e){const{chain_id:k,to:O,value:B,data:P}=e.evm_tx,W=await h(),Q=await W.getSigner();await Fo(W,N);const V=await Q.sendTransaction({chainId:k,to:O,value:B,data:`0x${P}`});return{txHash:V.hash,wait:V.wait()}}throw new Error("Unsupported chain type")}catch(k){throw new Error(await ze(k))}},onSuccess:({txHash:x,wait:k})=>{localStorage.removeItem(U.BRIDGE_QUANTITY),n(-1,{quantity:""}),s({type:"loading",title:"Transaction is pending..."}),k.then(()=>{const O={chainId:c,txHash:x},B=Ro(i)==="OP Bridge withdrawal";o(O,{...O,timestamp:Date.now(),route:i,values:l,state:B?"success":void 0}),r({type:"info",title:"Transaction submitted",description:f.createElement(f.Fragment,null,"Check ",f.createElement(Ut,{to:"/bridge/history",onClick:a},"the activity page")," for transaction status"),autoHide:!0}),B&&E(O,{...O,recipient:M.toBech32(u),claimableAt:Date.now()+i.estimated_route_duration_seconds*1e3,amount:i.amount_out,denom:i.dest_asset_denom})}).catch(O=>{r({type:"error",title:"Transaction failed",description:O.message})}).finally(()=>{S.invalidateQueries({queryKey:fe.balances(c,d).queryKey})})},onError:async x=>{const k=q==="initia"?await Xn(x,v(c),w):x;s({type:"error",title:"Transaction failed",description:k.message})}})}function __(){const e=Le(),n=Z(),s=Er(),{route:r,values:a}=St(),o=ct();return $.useMutation({mutationFn:async()=>{try{const{chain_id:i,hook:l}=await e.post("op-hook",{json:{source_address:n,source_asset_chain_id:r.source_asset_chain_id,source_asset_denom:r.source_asset_denom,dest_address:M.toBech32(a.recipient),dest_asset_chain_id:r.dest_asset_chain_id,dest_asset_denom:r.dest_asset_denom}}).json();await m_(n,o(r.dest_asset_chain_id).rest);const c=l.map(({msg_type_url:m,msg:h})=>xt.aminoTypes.fromAmino({type:xt.aminoConverters[m].aminoType,value:JSON.parse(h)})),d=await s(i,n,c,{amount:[],gas:"1"},""),u=pt.Tx.fromPartial({body:pt.TxBody.decode(d.bodyBytes),authInfo:pt.AuthInfo.decode(d.authInfoBytes),signatures:d.signatures});return{signer:n,hook:z.toBase64(pt.Tx.encode(u).finish())}}catch(i){throw new Error(await ze(i))}}})}function f_(e){const{chainId:n,txHash:s,tracked:r}=e,a=Le();return $.useQuery({queryKey:fe.txTrack(n,s).queryKey,queryFn:async()=>{try{return await a.post("v2/tx/track",{json:{tx_hash:s,chain_id:n}}).json()}catch(o){throw new Error(await ze(o))}},select:({tx_hash:o})=>o,retry:6,retryDelay:5e3,staleTime:L.INFINITY,enabled:!r})}function p_(e){const{timestamp:n,chainId:s,txHash:r,tracked:a,state:o}=e,i=Le();return $.useQuery({queryKey:fe.txStatus(s,r).queryKey,queryFn:()=>i.get("v2/tx/status",{searchParams:{tx_hash:r,chain_id:s}}).json(),enabled:!!r&&a&&!o,refetchInterval:({state:{data:l}})=>{if(!l)return!1;const{status:c}=l;if(c==="STATE_COMPLETED")return!1;const d=n+e.route.estimated_route_duration_seconds*1e3,u=Date.now(),m=Math.floor((d-u)/1e3);return m<=0?1e3:m<=300?5e3:60*1e3},staleTime:L.INFINITY})}var cn=(e=>(e.OP_WITHDRAW="OP Bridge withdrawal",e.SKIP="Skip",e))(cn||{});function Ro(e){const{operations:n,dest_asset_denom:s}=e;return A.has("op_init_transfer",A.head(n))&&s==="uinit"?"OP Bridge withdrawal":"Skip"}const g_="_content_c0tee_1",x_="_info_c0tee_6",y_="_arrow_c0tee_11",j_="_divider_c0tee_19",v_="_type_c0tee_26",w_="_asset_c0tee_44",b_="_amount_c0tee_52",C_="_lower_c0tee_57",N_="_chain_c0tee_63",I_="_address_c0tee_69",he={content:g_,info:x_,arrow:y_,divider:j_,type:v_,asset:w_,amount:b_,lower:C_,chain:N_,address:I_},Mo=e=>{const{source:n,label:s,amount:r,denom:a,chainId:o,address:i,walletIcon:l}=e,{symbol:c=D.truncate(a),decimals:d=0,logo_uri:u=Mr}=e,{chain_name:m,pretty_name:h,..._}=$e(o);return t.jsxs("div",{children:[!n&&t.jsxs("div",{className:he.arrow,children:[t.jsx("div",{className:he.divider}),s?t.jsx(Nt,{label:s,children:t.jsx("button",{className:he.type,children:t.jsx(b.IconArrowDown,{size:12})})}):t.jsx("span",{className:he.type,children:t.jsx(b.IconArrowDown,{size:12})}),t.jsx("div",{className:he.divider})]}),t.jsxs("div",{className:he.content,children:[t.jsx(Cs,{assetLogoUrl:u,chainLogoUrl:_.logo_uri??void 0}),t.jsxs("div",{className:he.info,children:[t.jsxs("div",{className:he.asset,children:[t.jsx("span",{className:he.amount,children:D.formatAmount(r,{decimals:d})}),t.jsx("span",{children:c})]}),t.jsxs("div",{className:he.lower,children:[t.jsxs("div",{className:he.chain,children:["on ",h||m]}),i&&t.jsx(ws,{value:i,children:({copy:p,copied:g})=>t.jsxs("button",{className:he.address,onClick:p,children:[l,g?t.jsx("span",{children:"Copied!"}):t.jsx("span",{className:"monospace",children:D.truncate(i)})]})})]})]})]})]})},ft=e=>{const n=Te(e.denom,e.chainId);return t.jsx(Mo,{...e,...n})};ft.Placeholder=Mo;const S_="_root_133os_1",$_="_toggle_133os_6",k_="_route_133os_29",E_="_content_133os_36",nn={root:S_,toggle:$_,route:k_,content:E_};function A_(e){var s,r,a,o;const n=({name:i})=>i==="initia-dex"?"Initia DEX":Ot.capitalCase(A.head((i==null?void 0:i.split("-"))??[])??"");if("transfer"in e)return{label:"Bridge via IBC",...e,...e.transfer};if("bank_send"in e)return{label:"Send",...e,...e.bank_send};if("swap"in e){const i=(r=(s=e.swap)==null?void 0:s.swap_venues)==null?void 0:r.map(n).join(", ");return{label:i?`Swap on ${i}`:"Swap",...e,...e.swap}}if("axelar_transfer"in e)return{label:"Bridge via Axelar",...e,...e.axelar_transfer};if("cctp_transfer"in e)return{label:"Bridge via CCTP",...e,...e.cctp_transfer};if("hyperlane_transfer"in e)return{label:"Bridge via Hyperlane",...e,...e.hyperlane_transfer};if("evm_swap"in e){const i=(o=(a=e.evm_swap)==null?void 0:a.swap_venues)==null?void 0:o.map(n).join(", ");return{label:i?`Swap on ${i}`:"Swap",...e,...e.evm_swap}}if("op_init_transfer"in e)return{label:"Bridge via OP Bridge",...e,...e.op_init_transfer};if("go_fast_transfer"in e)return{label:"Bridge via Go Fast",...e,...e.go_fast_transfer};if("eureka_transfer"in e)return{label:"Bridge via Eureka",...e,...e.eureka_transfer};if("stargate_transfer"in e)return{label:"Bridge via Stargate",...e,...e.stargate_transfer};if("layer_zero_transfer"in e)return{label:"Bridge via LayerZero",...e,...e.layer_zero_transfer};throw new Error("Unknown operation type")}const T_=({addressList:e})=>{var S;const{values:n,route:s}=St(),{source_asset_denom:r,source_asset_chain_id:a,amount_in:o,operations:i}=s,l=A.zipObj(s.required_chain_addresses,e),{find:c}=Cn(),{connector:d,address:u=""}=ye.useAccount(),[m,h]=ue.useToggle(!1),_=i.length>1,p=t.jsx(Y,{src:n.cosmosWalletName?(S=c(n.cosmosWalletName))==null?void 0:S.image:d==null?void 0:d.icon,width:12,height:12}),g={amount:o,denom:r,chainId:a,address:n.sender,walletIcon:p},y=w=>M.equals(w,u)?p:t.jsx(b.IconWallet,{size:11}),C=w=>{const{label:v,amount_out:E,denom:x,denom_out:k=x,chain_id:O,from_chain_id:B,to_chain_id:P=O??B}=w,W=l[P];return{label:_&&!m?void 0:v,amount:E,denom:k,chainId:P,address:W,walletIcon:y(W)}},N=i.map(A_).map(C),q=N.slice(0,-1),j=N[N.length-1];return t.jsxs(T.Collapsible.Root,{className:nn.root,open:m,onOpenChange:h,children:[_&&t.jsx(T.Collapsible.Trigger,{asChild:!0,children:t.jsx(ss,{children:t.jsx("button",{className:nn.toggle,onClick:h,children:m?t.jsxs(t.Fragment,{children:[t.jsx(b.IconMinus,{size:12}),t.jsx("span",{children:"Hide details"})]}):t.jsxs(t.Fragment,{children:[t.jsx(b.IconList,{size:12}),t.jsx("span",{children:"Show details"})]})})})}),t.jsxs("div",{className:nn.route,children:[t.jsx(ft,{...g,source:!0}),t.jsx(T.Collapsible.Content,{className:nn.content,children:q.map((w,v)=>t.jsx(se,{suspenseFallback:t.jsx(ft.Placeholder,{...w}),errorBoundaryProps:{fallback:t.jsx(ft.Placeholder,{...w})},children:t.jsx(ft,{...w})},v))}),t.jsx(ft,{...j})]})]})},mn=({error:e})=>{const n=ie();return t.jsx(re,{extra:t.jsx(te,{level:"error",children:e.message}),children:t.jsx(G.White,{onClick:()=>n("/bridge"),children:"Home"})})},q_=({children:e})=>{const n=St(),{route:s,values:r}=n,{required_chain_addresses:a}=s,{srcChainId:o,dstChainId:i,sender:l,recipient:c}=r,{initiaAddress:d,hexAddress:u}=pe(),m=wt(),h=ct(),_=Lt(),p=h(o),g=_(p),y=a.slice(0,-1).some(v=>{const E=h(v);return _(E)==="cosmos"})&&g!=="cosmos",[C,N]=f.useState(void 0),[q,j]=f.useState(!1),[S,w]=f.useState(null);if(f.useEffect(()=>{(async()=>{try{if(!y)return;if(!m)throw new Error("Wallet not connected");j(!0),w(null);const[{pubkey:E}]=await m.getAccounts();N(E)}catch(E){w(new Error(await ze(E)))}finally{j(!1)}})()},[y,m]),S)return t.jsx(mn,{error:S});if(q)return t.jsx(re,{children:t.jsx(G.White,{loading:q&&"Generating intermediary addresses..."})});if(!y||C){const v=a.map((E,x)=>{if(x===a.length-1){const W=h(i);return _(W)==="initia"?M.toBech32(c):c}const k=h(E),O=_(k),B=h(o),P=_(B);switch(O){case"initia":return d;case"evm":return u;case"cosmos":{if(P==="cosmos")return z.toBech32(k.bech32_prefix,z.fromBech32(l).data);if(!C)throw new Error("Pubkey not found");return Bt.pubkeyToAddress(Bt.encodeSecp256k1Pubkey(C),k.bech32_prefix)}default:throw new Error("Unsupported chain type")}});return e(v)}return t.jsx(mn,{error:new Error("Failed to generate intermediary addresses")})},D_=({addressList:e,signedOpHook:n,children:s})=>{const r=Le(),{route:a,values:o}=St(),[i,l]=f.useState(void 0),[c,d]=f.useState(!1),[u,m]=f.useState(null);return f.useEffect(()=>{(async()=>{try{if(a.required_op_hook&&!n)throw new Error("Op hook is required");d(!0),m(null);const _={address_list:e,amount_in:a.amount_in,amount_out:a.amount_out,source_asset_chain_id:a.source_asset_chain_id,source_asset_denom:a.source_asset_denom,dest_asset_chain_id:a.dest_asset_chain_id,dest_asset_denom:a.dest_asset_denom,slippage_tolerance_percent:o.slippagePercent,operations:a.operations,signed_op_hook:n},{txs:p}=await r.post("v2/fungible/msgs",{json:_}).json();if(!p||p.length===0)throw new Error("No transaction data found");const[g]=p;l(g)}catch(_){m(_)}finally{d(!1)}})()},[a,o,e,n,r]),u?t.jsx(mn,{error:u}):c?t.jsx(re,{children:t.jsx(G.White,{loading:c&&"Fetching messages..."})}):i?s(i):t.jsx(mn,{error:new Error("Failed to fetch messages")})},P_=({children:e})=>{var r;const{route:n}=St(),s=__();return n.required_op_hook&&!s.data?t.jsx(re,{extra:t.jsx(te,{level:"error",children:(r=s.error)==null?void 0:r.message}),children:t.jsx(G.White,{onClick:()=>s.mutate(),loading:s.isPending&&"Awaiting signature...",children:"Authorize conversion"})}):e(s.data)},B_=({tx:e,children:n})=>{const s=qr(),r=ct(),{mutate:a,data:o,isPending:i,error:l}=$.useMutation({mutationFn:async()=>{try{if(!("evm_tx"in e))throw new Error("Transaction is not EVM");if(!e.evm_tx.required_erc20_approvals)throw new Error("No approvals required");const{chain_id:c}=e.evm_tx,d=await s(),u=await d.getSigner();await Fo(d,r(c));for(const m of e.evm_tx.required_erc20_approvals){const{token_contract:h,spender:_,amount:p}=m,g=["function approve(address spender, uint256 amount) external returns (bool)"];await(await new Se.ethers.Contract(h,g,u).approve(_,p)).wait()}return!0}catch(c){throw new Error(await ze(c))}}});return"evm_tx"in e&&e.evm_tx.required_erc20_approvals&&e.evm_tx.required_erc20_approvals.length>0&&!o?t.jsx(re,{extra:t.jsx(te,{level:"error",children:l==null?void 0:l.message}),children:t.jsx(G.White,{onClick:()=>a(),loading:i&&"Approving tokens...",children:"Approve tokens"})}):n},F_=({tx:e})=>{const{mutate:n,isPending:s}=h_(e);return t.jsx(re,{children:t.jsx(G.White,{onClick:()=>n(),loading:s&&"Signing transaction...",children:"Confirm"})})},R_=()=>t.jsx(Be,{title:"Route preview",children:t.jsx(q_,{children:e=>t.jsxs(t.Fragment,{children:[t.jsx(T_,{addressList:e}),t.jsx(P_,{children:n=>t.jsx(D_,{addressList:e,signedOpHook:n,children:s=>t.jsx(B_,{tx:s,children:t.jsx(F_,{tx:s})})})})]})})}),M_="_button_14cv7_1",O_="_checkbox_14cv7_10",U_="_checked_14cv7_23",sn={button:M_,checkbox:O_,checked:U_},z_=({checked:e,onClick:n,label:s,className:r})=>t.jsxs("button",{type:"button",className:R(sn.button,r),onClick:n,children:[t.jsx("div",{className:R(sn.checkbox,{[sn.checked]:e}),children:e&&t.jsx(b.IconCheck,{size:12})}),t.jsx("span",{className:sn.label,children:s})]}),K_="_success_t4dfk_1",H_="_error_t4dfk_5",mr={success:K_,error:H_},L_=({tx:e})=>{const[n,s]=Bo(e);if(!n)throw new Error("Bridge history details not found");const{data:r}=p_(n),a=n.state??W_(r);switch(f.useEffect(()=>{a!=="loading"&&s(o=>{if(!o)throw new Error("Bridge history details not found");return{...o,tracked:!0,state:a}})},[s,a]),a){case"error":return t.jsx("div",{className:mr.error,children:t.jsx(b.IconCloseCircleFilled,{size:14})});case"success":return t.jsx("div",{className:mr.success,children:t.jsx(b.IconCheckCircleFilled,{size:14})});default:return t.jsx(We,{size:14})}};function W_(e){if(!e)return"loading";switch(e.state){case"STATE_ABANDONED":case"STATE_COMPLETED_ERROR":case"STATE_PENDING_ERROR":return"error";case"STATE_COMPLETED_SUCCESS":return"success";default:return"loading"}}const Q_="_link_1uidr_1",V_="_header_1uidr_22",G_="_title_1uidr_30",Y_="_date_1uidr_36",J_="_explorer_1uidr_40",Z_="_fees_1uidr_55",X_="_label_1uidr_63",ef="_content_1uidr_67",tf="_route_1uidr_73",nf="_row_1uidr_78",sf="_asset_1uidr_84",rf="_amount_1uidr_92",of="_chain_1uidr_97",af="_account_1uidr_106",cf="_arrow_1uidr_113",ee={link:Q_,header:V_,title:G_,date:Y_,explorer:J_,fees:Z_,label:X_,content:ef,route:tf,row:nf,asset:sf,amount:rf,chain:of,account:af,arrow:cf},lf=({tx:e})=>{var Q;const[n,s]=Bo(e);if(!n)throw new Error("Bridge history details not found");const{chainId:r,txHash:a,route:o,values:i,timestamp:l,tracked:c}=n,{data:d}=f_(n),{address:u="",connector:m}=ye.useAccount(),{find:h}=Cn();f.useEffect(()=>{d&&s(V=>{if(!V)throw new Error("Bridge history details not found");return{...V,tracked:!0}})},[s,d]);const{amount_in:_,amount_out:p,source_asset_chain_id:g,source_asset_denom:y,dest_asset_chain_id:C,dest_asset_denom:N,estimated_fees:q=[]}=o,j=$e(g),S=$e(C),w=Te(y,g),v=Te(N,C),E=(V,ce)=>ce?t.jsx(Y,{src:ce,width:12,height:12}):M.equals(V,u)?t.jsx(Y,{src:m==null?void 0:m.icon,width:12,height:12}):t.jsx(b.IconWallet,{size:12}),x=(V,{symbol:ce,decimals:be,logo_uri:ke},{chain_name:dt,pretty_name:Ve,...$t},le,I)=>t.jsxs("div",{className:ee.row,children:[t.jsx(Cs,{assetLogoUrl:ke,chainLogoUrl:$t.logo_uri??void 0}),t.jsxs("div",{children:[t.jsxs("div",{className:ee.asset,children:[t.jsx("span",{className:ee.amount,children:D.formatAmount(V,{decimals:be})}),t.jsx("span",{children:ce})]}),t.jsxs("div",{className:ee.chain,children:[t.jsxs("span",{children:["on ",Ve||dt]}),t.jsxs("div",{className:ee.account,children:[I,t.jsx("span",{className:"monospace",children:D.truncate(le)})]})]})]})]}),k=Ro(o),O=f.useMemo(()=>{switch(k){case cn.SKIP:return"Skip Explorer";case cn.OP_WITHDRAW:return"Initia Scan"}},[k]),B=t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:ee.header,children:[t.jsxs("div",{className:ee.title,children:[c?t.jsx(L_,{tx:e}):t.jsx(We,{size:14}),t.jsx("div",{className:ee.date,children:jt.intlFormatDistance(new Date(l),new Date,{locale:"en-US"})})]}),t.jsxs("div",{className:ee.explorer,children:[t.jsx("span",{children:O}),t.jsx(b.IconExternalLink,{size:12})]})]}),t.jsxs("div",{className:ee.route,children:[x(_,w,j,i.sender,E(i.sender,(Q=h(i.cosmosWalletName))==null?void 0:Q.image)),t.jsx("div",{className:ee.arrow,children:t.jsx(b.IconArrowDown,{size:12})}),x(p,v,S,i.recipient,E(i.recipient))]}),q.length>0&&t.jsxs("div",{className:ee.fees,children:[t.jsx("span",{className:ee.label,children:"Fees"}),t.jsx("span",{className:ee.content,children:Eo(q)})]})]});if(k===cn.OP_WITHDRAW)return t.jsx(vn,{chainId:r,txHash:a,className:ee.link,children:B});const P=new URLSearchParams({tx_hash:a,chain_id:r}),W=new URL(`?${P.toString()}`,"https://explorer.skip.build");return t.jsx("a",{href:W.toString(),className:ee.link,target:"_blank",children:B})},df="_list_1q71m_1",uf="_header_1q71m_5",mf="_checkbox_1q71m_9",hf="_item_1q71m_13",rn={list:df,header:uf,checkbox:mf,item:hf},_f=()=>{const{initiaAddress:e,hexAddress:n}=pe(),{history:s,getHistoryDetails:r}=Po(),a=s.filter(h=>r(h)),o=a.filter(h=>{const _=r(h);if(!_)return!1;const{values:p}=_,{sender:g,recipient:y}=p;return[g,y].some(C=>[e,n].includes(C))}),[i,l]=f.useState(1),[c,d]=ue.useToggle(!o.length),u=c?a:o,m=u.slice(0,i*ur);return t.jsx(Be,{title:"Bridge/Swap activity",children:t.jsxs("div",{className:rn.list,children:[a.length>0&&a.length!==o.length&&t.jsx("header",{className:rn.header,children:t.jsx(z_,{checked:c,onClick:d,label:"Show all transactions stored in this browser",className:rn.checkbox})}),u.length===0?t.jsx(ae,{children:"No bridge/swap activity"}):m.map((h,_)=>t.jsx("div",{className:rn.item,children:t.jsx(se,{children:t.jsx(lf,{tx:h})})},_)),u.length>i*ur?t.jsx(Ss,{onClick:()=>l(h=>h+1)}):s.length>=un&&t.jsxs(ae,{children:["Only the latest ",un," items are stored. Older entries will be removed automatically."]})]})})},Oo=()=>{const e=ie(),n=Nr(),s=Ct(),{closeDrawer:r}=bt(),{closeModal:a}=zt();if(f.useEffect(()=>{a(),n.startsWith("/bridge/")&&e("/bridge"),(n==="/collection"||n.startsWith("/nft"))&&e("/nfts")},[s]),n==="/connect")return s?null:t.jsx(Ws,{onSuccess:r});if(n==="/blank")return null;if(!s)return t.jsx(Ws,{});switch(n){case"/":case"/nfts":case"/activity":return t.jsx(zd,{});case"/send":return t.jsx(Xu,{},s);case"/collection":return t.jsx(om,{});case"/nft":return t.jsx(_m,{});case"/nft/send":return t.jsx(qm,{},s);case"/rollups":return t.jsx(Hm,{});case"/bridge":return t.jsx(qh,{},s);case"/bridge/preview":return t.jsx(R_,{});case"/bridge/history":return t.jsx(_f,{});case"/op/withdrawals":return t.jsx(u_,{});case"/tx":return t.jsx(io,{})}},ff="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@100..700&display=swap",pf=()=>t.jsxs(t.Fragment,{children:[t.jsx("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),t.jsx("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:""}),t.jsx("link",{rel:"stylesheet",href:ff}),t.jsx("link",{rel:"stylesheet",href:"https://assets.initia.xyz/fonts/PilatWide.css"})]}),gf=()=>{Ke();const e=we();return js(),yt(localStorage.getItem(U.BRIDGE_SRC_CHAIN_ID)??e.chainId),yt(localStorage.getItem(U.BRIDGE_DST_CHAIN_ID)??e.chainId),null},xf=({children:e,...n})=>(f.useEffect(()=>{Ea()},[]),ue.useIsClient()?t.jsxs(t.Fragment,{children:[t.jsx(pf,{}),t.jsxs($r.Provider,{value:{...wr,...n},children:[t.jsx(se,{suspenseFallback:null,errorBoundaryProps:{fallback:null},children:t.jsx(gf,{})}),t.jsx(Ir,{children:t.jsx(qa,{children:t.jsx(T.Tooltip.Provider,{delayDuration:0,skipDelayDuration:0,children:t.jsx(Qa,{children:t.jsxs(pc,{children:[e,t.jsx(Yc,{children:t.jsx(Oo,{})})]})})})})})]})]}):null),yf=({bridge:e})=>t.jsx(Ir,{initialEntry:{path:e?"/bridge":"/",state:e},children:t.jsx("div",{className:"body",children:t.jsx(Gr.Provider,{value:!!e,children:t.jsx(se,{children:t.jsx(Oo,{})})})})});exports.AddressUtils=M;exports.DEFAULT_GAS_ADJUSTMENT=_s;exports.DEFAULT_GAS_PRICE_MULTIPLIER=vr;exports.InterwovenKit=yf;exports.InterwovenKitProvider=xf;exports.MAINNET=wr;exports.TESTNET=oa;exports.createUsernameClient=jr;exports.initiaPrivyWallet=ia;exports.initiaPrivyWalletConnector=aa;exports.initiaPrivyWalletOptions=fs;exports.injectStyles=xc;exports.useAddress=Ct;exports.useHexAddress=xn;exports.useInitiaAddress=Z;exports.useInterwovenKit=pe;exports.useUsernameQuery=Hr;