@initia/interwovenkit-react 2.0.0-rc.1 → 2.0.0-rc.3
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 +2 -2
- package/dist/index.d.ts +43 -3
- package/dist/index.js +3322 -2933
- package/dist/styles.css +1 -1
- package/dist/styles.js +1 -1
- package/package.json +5 -5
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var $o=Object.defineProperty;var Eo=(e,s,n)=>s in e?$o(e,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[s]=n;var Nn=(e,s,n)=>Eo(e,typeof s!="symbol"?s+"":s,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ve=require("ethers"),B=require("@cosmjs/encoding"),E=require("bignumber.js"),z=require("ky"),nr=require("@mysten/bcs"),p=require("react"),ge=require("wagmi"),k=require("@tanstack/react-query"),ht=require("cosmjs-types/cosmos/tx/v1beta1/tx"),Ce=require("jotai"),t=require("react/jsx-runtime"),N=require("ramda"),To=require("cosmjs-types/cosmos/tx/signing/v1beta1/signing"),Us=require("@cosmjs/amino/build/signdoc"),In=require("@cosmjs/crypto"),Sn=require("@cosmjs/math"),cs=require("@cosmjs/proto-signing"),Ee=require("@cosmjs/stargate"),kn=require("@cosmjs/tendermint-rpc"),At=require("@initia/amino-converter"),zs=require("cosmjs-types/cosmos/crypto/secp256k1/keys"),Ao=require("cosmjs-types/cosmos/auth/v1beta1/auth"),ns=require("@cosmjs/amino"),qo=require("cosmjs-types/google/protobuf/any"),rr=require("jotai/utils"),Ue=require("@lukemorales/query-key-factory"),tt=require("@noble/hashes/utils"),Do=require("@noble/hashes/sha2"),tn=require("@noble/hashes/sha3"),q=require("radix-ui"),or=require("react-error-boundary"),P=require("clsx"),$n=require("nanoid"),ar=require("react-dom"),Te=require("@react-spring/web"),b=require("@initia/icons-react"),ls=require("change-case"),de=require("react-use"),Po=require("react-image"),ir=require("xss"),ft=require("date-fns"),Fo=require("react-intersection-observer"),Q=require("zod"),ne=require("react-hook-form"),sn=require("@hookform/resolvers/zod"),Bo=require("cosmjs-types/cosmos/bank/v1beta1/tx"),cr=require("react-merge-refs"),Ro=require("@initia/opinit.proto/opinit/ophost/v1/tx"),Oo=console.error,Mo=console.warn,Uo="`DialogContent` requires a `DialogTitle`",zo="Missing `Description`";console.error=(...e)=>{e.some(n=>typeof n=="string"&&n.includes(Uo))||Oo(...e)};console.warn=(...e)=>{e.some(n=>typeof n=="string"&&n.includes(zo))||Mo(...e)};const F={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 B.fromHex(r)}const{data:n}=B.fromBech32(e);return n.length>=s?n:new Uint8Array([...Array(s-n.length).fill(0),...n])},toBech32(e,s="init"){return e?B.toBech32(s,F.toBytes(e)):""},toHex(e){return e?B.toHex(F.toBytes(e)):""},toPrefixedHex(e){if(!e)return"";const s=ve.getAddress(F.toHex(e)),n=F.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(ve.isAddress(e))return!0;try{return B.fromBech32(e).prefix===s}catch{return!1}},equals(e,s){return F.toBech32(e)===F.toBech32(s)}};function se(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 rt(e,s={}){const n=E(e);if(n.isZero()||n.isNaN())return"0";const{dp:r=2}=s;return n.toFormat(r,E.ROUND_DOWN)}function re(e,s={}){if(!e)return"0";const n=E(e);if(n.isZero()||n.isNaN())return"0";const{decimals:r=0,dp:o=r>6?6:r}=s,a=n.div(new E(10).pow(r));return rt(a,{dp:o})}function ds(e,s=6){return!e||E(e).isNaN()?"0":new E(e).times(new E(10).pow(s)).integerValue().toString(10)}function qt(e,s=6){if(!e||E(e).isNaN())return"0";const n=Math.min(s,6);return new E(e).integerValue().div(new E(10).pow(s)).toFixed(n,E.ROUND_DOWN)}function Ko(e,s){if(!e||E(e).isNaN())return"0%";const n=new E(e).times(100);return typeof s=="number"?n.toFixed(s)+"%":(n.gte(100)?n.toFixed(0):n.toFixed(2))+"%"}const En="usernames";function lr({restUrl:e,moduleAddress:s}){const n=z.create({prefixUrl:e});async function r(d){const{moduleAddress:c,moduleName:l,functionName:u,typeArgs:m,args:h}=d,_=`initia/move/v1/accounts/${c}/modules/${l}/view_functions/${u}`,x={type_args:m,args:h},{data:f,message:y}=await n.post(_,{json:x}).json();if(y)throw new Error(y);return JSON.parse(f)}async function o(d){if(!F.validate(d))return null;const c=await r({moduleAddress:s,moduleName:En,functionName:"get_name_from_address",typeArgs:[],args:[B.toBase64(F.toBytes(d,32))]});return c?c+".init":null}function a(d){return/^[A-Za-z0-9-]{3,64}\.init$/.test(d)}async function i(d){if(!a(d))return null;const c=await r({moduleAddress:s,moduleName:En,functionName:"get_address_from_name",typeArgs:[],args:[nr.bcs.string().serialize(d.toLowerCase().replace(".init","")).toBase64()]});return c?F.toBech32(c):null}return{restUrl:e,getUsername:o,getAddress:i,validateUsername:a}}const dr=p.createContext(null);function oe(){return p.useContext(dr)}const Ks="interwoven-kit";function ur(){const e=document.querySelector(Ks)||document.body.appendChild(document.createElement(Ks));return e.shadowRoot||e.attachShadow({mode:"open"})}function Ho(){const{theme:e}=oe();return p.useEffect(()=>{const s=document.querySelector(Ks);s==null||s.setAttribute("data-theme",e)},[e]),ur()}function Lo(e){const s=ur(),n=document.createElement("style");n.textContent=e,s.appendChild(n)}const nn=1.4,mr=1.03,hr={defaultChainId:"interwoven-1",registryUrl:"https://registry.initia.xyz",routerApiUrl:"https://router-api.initia.xyz",usernamesModuleAddress:"0x72ed9b26ecdcd6a21d304df50f19abfdbe31d2c02f60c84627844620a45940ef",theme:"dark"},Wo={defaultChainId:"initiation-2",registryUrl:"https://registry.testnet.initia.xyz",routerApiUrl:"https://router-api.initiation-2.initia.xyz",usernamesModuleAddress:"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a",theme:"dark"},_r=p.createContext(null);function us(){return p.useContext(_r)}function fr(){const{location:e}=us();return e}function pr(){const{path:e}=fr();return e}function ze(){const{state:e={}}=fr();return e}function Qo(){const{history:e}=us();return e}function me(){const{navigate:e}=us();return e}function Vo(){const{reset:e}=us();return e}const xr=({children:e,initialEntry:s})=>{const[n,r]=p.useState([s??{path:"/"}]),o=n[n.length-1],a=p.useCallback((d,c)=>{r(l=>{if(typeof d=="string")return[...l,{path:d,state:c}];const u=l.length+d;if(u<1)return l;const m=N.take(u,l);return c!==void 0?N.adjust(u-1,h=>({...h,state:c}),m):m})},[]),i=p.useCallback((d,c)=>{r([{path:d,state:c}])},[]);return t.jsx(_r.Provider,{value:{location:o,history:n,navigate:a,reset:i},children:e})},Rt=({to:e,state:s,children:n,onClick:r,...o})=>{const a=me(),i=d=>{d.preventDefault(),r==null||r(d),a(e,s)};return t.jsx("button",{type:"button",...o,onClick:i,children:n})},gr=p.createContext(null),ms=()=>p.useContext(gr),K={SECOND:1e3,MINUTE:1e3*60,INFINITY:1e3*60*60};async function Ke(e){if(e instanceof z.HTTPError){const{response:s}=e,n=s.headers.get("content-type")??"";if(N.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(N.path(["code"],e)===4001||N.path(["code"],e)==="ACTION_REJECTED")return"User rejected";const s=N.path(["error","message"],e),n=N.path(["cause","message"],e),r=N.path(["shortMessage"],e);return s||n||r||e.message}return String(e)}function Go(e){if((e==null?void 0:e.typeUrl)==="/initia.crypto.v1beta1.ethsecp256k1.PubKey"){const{key:s}=zs.PubKey.decode(e.value);return ns.encodeSecp256k1Pubkey(s)}return cs.decodeOptionalPubkey(e)}function Yo({typeUrl:e,value:s}){if(e==="/cosmos.auth.v1beta1.BaseAccount"){const{address:n,pubKey:r,accountNumber:o,sequence:a}=Ao.BaseAccount.decode(s),i=Go(r);return{address:n,pubkey:i,accountNumber:Number(o),sequence:Number(a)}}return Ee.accountFromAny({typeUrl:e,value:s})}function Jo(e){return e.type==="initia/PubKeyEthSecp256k1"}const Zo={...ns.pubkeyType,ethsecp256k1:"initia/PubKeyEthSecp256k1"};function Xo(e){if(Jo(e)){const s=zs.PubKey.fromPartial({key:B.fromBase64(e.value)});return qo.Any.fromPartial({typeUrl:"/initia.crypto.v1beta1.ethsecp256k1.PubKey",value:Uint8Array.from(zs.PubKey.encode(s).finish())})}return cs.encodePubkey(e)}function yr(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:Zo.ethsecp256k1,value:B.toBase64(e)}}function ea(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:yr(e),signature:B.toBase64(s)}}const te="interwovenkit",H={ADDED_CHAIN_IDS:`${te}:chain-ids:added`,OPENED_CHAIN_IDS:`${te}:chain-ids:opened`,PUBLIC_KEY:`${te}:public-key`,LATEST_CONNECTOR_ID:`${te}:latest-connector-id`,FEE_DENOM:`${te}:fee-denom`,BRIDGE_SRC_CHAIN_ID:`${te}:bridge:src-chain-id`,BRIDGE_SRC_DENOM:`${te}:bridge:src-denom`,BRIDGE_DST_CHAIN_ID:`${te}:bridge:dst-chain-id`,BRIDGE_DST_DENOM:`${te}:bridge:dst-denom`,BRIDGE_QUANTITY:`${te}:bridge:quantity`,BRIDGE_SLIPPAGE_PERCENT:`${te}:bridge:slippage-percent`,BRIDGE_ROUTE_TYPE:`${te}:bridge:route-type`,BRIDGE_HISTORY:`${te}:bridge:history`,OP_REMINDER:`${te}:op:reminder`},rn=Ue.createQueryKeys("interwovenkit:chain",{list:e=>[e],prices:e=>[e],gasPrices:e=>[e]}),ta=rr.atomWithStorage(H.ADDED_CHAIN_IDS,[]);function zt(e){const s=N.path([0,"address"],e);if(!s)throw new Error("URL not found");return s}function sa(e){var w;const{chain_id:s,chain_name:n,pretty_name:r,logo_URIs:o,apis:a,metadata:i}=e,d=r||n,c=(o==null?void 0:o.png)??"",{rpc:l,rest:u,api:m,["json-rpc"]:h}=a,_=zt(l),x=zt(u),f=i!=null&&i.is_l1?zt(m):x,y=((w=i==null?void 0:i.minitia)==null?void 0:w.type)==="minievm"?zt(h):void 0;return{...e,chainId:s,name:d,logoUrl:c,rpcUrl:_,restUrl:x,indexerUrl:f,jsonRpcUrl:y}}function He(){const{defaultChainId:e,registryUrl:s,customChain:n}=oe(),{data:r}=k.useSuspenseQuery({queryKey:rn.list(s).queryKey,queryFn:()=>z.create({prefixUrl:s}).get("chains.json").json(),select:o=>(n?[n,...o.filter(i=>i.chain_id!==n.chain_id)]:o).map(sa).toSorted(N.descend(i=>i.chainId===e)),staleTime:K.MINUTE});return r}function it(){const e=He();return s=>{const n=e.find(r=>r.chain_id===s);if(!n)throw new Error(`Chain not found: ${s}`);return n}}function Ie(e){return it()(e)}function hs(){const{defaultChainId:e}=oe();return Ie(e)}function ye(){const s=He().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 jr(e){return k.useQuery({queryKey:rn.prices(e).queryKey,queryFn:()=>z.create({prefixUrl:"https://celatone-api-prod.alleslabs.dev"}).get(`v1/initia/${e}/assets`,{searchParams:{with_prices:!0}}).json(),staleTime:K.SECOND})}function pt(){const e=He(),{defaultChainId:s}=oe(),[n,r]=Ce.useAtom(ta),o=l=>N.uniq([s,...l]),a=o(n).map(l=>e.find(u=>u.chainId===l)).filter(Boolean),i=e.filter(l=>!o(n).includes(l.chainId));return{chains:e,addedChains:a,notAddedChains:i,addChain:l=>{r(u=>o([...u,l]))},removeChain:l=>{r(u=>o(u.filter(m=>m!==l)))}}}const on=()=>{const e=oe();return new cs.Registry([...At.protoRegistry,...e.protoTypes??[]])},_s=()=>{const e=oe();return new Ee.AminoTypes({...At.aminoConverters,...e.aminoConverters})};class na{constructor(s,n){Nn(this,"cachedPublicKey",null);this.address=s,this.signMessage=n}async getCachedPublicKey(){if(this.cachedPublicKey)return this.cachedPublicKey;const s=`${H.PUBLIC_KEY}:${this.address}`,n=localStorage.getItem(s);if(n)return this.cachedPublicKey=B.fromHex(n),B.fromHex(n);const r=await this.getPublicKey();return this.cachedPublicKey=r,localStorage.setItem(s,B.toHex(r)),r}async getPublicKey(){const s="Sign this message to identify your Initia account.",n=await this.signMessage(s),r=ve.ethers.hashMessage(s),o=ve.ethers.SigningKey.recoverPublicKey(r,n);return In.Secp256k1.compressPubkey(B.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=Us.escapeCharacters(Us.sortedJsonStringify(n)),o=await this.signMessage(r),a=B.fromHex(o.replace("0x","")).subarray(0,-1),d=In.Secp256k1Signature.fromFixedLength(a).toFixedLength(),c=ea(await this.getCachedPublicKey(),d);return{signed:n,signature:c}}}function wr(){const e=on(),s=_s(),n=fs(),r=br();return async function(o,a,i,d,c){if(!n)throw new Error("Signer not initialized");const l=await r(o),{accountNumber:u,sequence:m}=await l.getSequence(a),[h]=await n.getAccounts(),_=Xo(yr(h.pubkey)),x=To.SignMode.SIGN_MODE_EIP_191,f=i.map(S=>s.toAmino(S)),y=Us.makeSignDoc(f,d,o,c,u,m),{signature:w,signed:j}=await n.signAmino(a,y),C={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{messages:j.msgs.map(S=>s.fromAmino(S)),memo:c}},I=e.encode(C),D=Sn.Int53.fromString(j.fee.gas).toNumber(),v=Sn.Int53.fromString(j.sequence).toNumber(),g=cs.makeAuthInfoBytes([{pubkey:_,sequence:v}],j.fee.amount,D,j.fee.granter,j.fee.payer,x);return ht.TxRaw.fromPartial({bodyBytes:I,authInfoBytes:g,signatures:[B.fromBase64(w.signature)]})}}function fs(){const e=X(),{signMessageAsync:s}=ge.useSignMessage();return new na(e,n=>s({message:n}))}const Is=new Map;function br(){const e=it(),s=on(),n=_s(),r=fs(),o=X();return async a=>{const i=`${o}:${a}`;if(Is.has(i))return Is.get(i);if(!r)throw new Error("Signer not initialized");const{rpcUrl:d}=e(a),c=await kn.Comet38Client.create(new kn.HttpClient(d)),l=await Ee.SigningStargateClient.createWithSigner(c,r,{registry:s,aminoTypes:n,accountParser:Yo,broadcastPollIntervalMs:1e3});return Is.set(i,l),l}}function vr(){const{connector:e}=ge.useAccount();return async()=>{if(!e)throw new Error("Wallet not connected");return new ve.BrowserProvider(await e.getProvider())}}const ra=Ce.atom(!1);function xt(){const e=Vo(),[s,n]=Ce.useAtom(ra);return{isDrawerOpen:s,openDrawer:(a,i)=>{a&&e(a,i),n(!0)},closeDrawer:()=>{n(!1)}}}const oa="approve",Cr=Ce.atom(),Nr=Ce.atom(null);function Ir(){const e=Ce.useAtomValue(Cr);if(!e)throw new Error("Tx request not found");return e}function aa(){const e=me(),s=X(),{defaultChainId:n}=oe(),{openDrawer:r,closeDrawer:o}=xt(),{openModal:a,closeModal:i}=ms(),d=Ce.useSetAtom(Cr),c=Ce.useSetAtom(Nr),l=br(),u=async({messages:f,memo:y,chainId:w=n})=>{try{return await(await l(w)).simulate(s,f,y)}catch(j){throw new Error(await Ke(j))}},m=async({txRequest:f,broadcaster:y})=>{const j={...{memo:"",chainId:n,gas:f.gas||await u(f),gasAdjustment:nn,fee:null,internal:!1},...f};return new Promise((T,C)=>{d({txRequest:j,resolve:async D=>{try{const v=await l(j.chainId),g=await y(v,ht.TxRaw.encode(D).finish());T(g),typeof j.internal=="string"&&e(j.internal)}catch(v){C(v)}finally{I()}},reject:D=>{C(D),I()}}),j.internal?a({path:"/tx"}):r("/tx");const I=()=>{if(!j.internal){e("/blank"),o();return}i()}})},h=async f=>{const y=f.chainId??n;try{const w=await m({txRequest:f,broadcaster:async(j,T)=>await j.broadcastTxSync(T)});return f.internal&&typeof f.internal!="number"&&(c({txHash:w,chainId:y,status:"loading"}),x({txHash:w,chainId:f.chainId}).then(j=>{c({status:j.code===0?"success":"error",chainId:y,txHash:w})}).catch(()=>{c({status:"error",chainId:y,txHash:w})})),w}catch(w){throw f.internal&&typeof f.internal!="number"&&c({status:"error",chainId:y,error:w}),w}},_=f=>m({txRequest:f,broadcaster:async(y,w)=>{const j=await y.broadcastTx(w);if(j.code!==0)throw new Error(j.rawLog);return j}}),x=async({chainId:f=n,...y})=>{const w=await l(f);return Sr({...y,client:w})};return{estimateGas:u,requestTxSync:h,requestTxBlock:_,waitForTxConfirmation:x}}async function Sr({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(d=>setTimeout(d,r*1e3))}}const ia=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60">
|
|
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">
|
|
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>`,ca=encodeURIComponent(ia),kr=`data:image/svg+xml;utf8,${ca}`,ot=Ue.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 la(e){var m,h,_;const{base:s,symbol:n,denom_units:r=[],display:o,logo_URIs:a,name:i,address:d,traces:c}=e,l=((m=r.find(x=>x.denom===o))==null?void 0:m.exponent)??((h=r.find(x=>x.denom===s))==null?void 0:h.exponent)??((_=N.head(r))==null?void 0:_.exponent)??0,u=(a==null?void 0:a.png)??"";return{denom:s,symbol:n,decimals:l,logoUrl:u,name:i,address:d,traces:c}}function Dt(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:ot.list(s).queryKey,queryFn:async()=>s?z.get(s).json():{assets:[]},select:({assets:a})=>{if(!e)return[];const i=a.map(la);for(const d of i)n.setQueryData(ot.item(e.chainId,d.denom).queryKey,d);return i},staleTime:K.MINUTE});return r}function Ot(e){const s=Dt(e),n=ye(),r=Dt(n),o=$r(e);return a=>{const i=s.find(c=>c.denom===a);if(i)return i;const d=r.find(c=>c.denom===o(a));return d?{...d,denom:a}:{denom:a,symbol:"",decimals:0,logoUrl:kr}}}function an(e,s){const n=Ot(s),o=k.useQueryClient().getQueryData(ot.item(s.chainId,e).queryKey);return o||n(e)}function $r(e){const s=ye(),n=Dt(e);return r=>{var a,i,d,c,l;if((a=e.metadata)!=null&&a.is_l1)return r;if(r.startsWith("l2/")||r.startsWith("ibc/")){const u=(i=n.find(m=>m.denom===r))==null?void 0:i.traces;if(u){for(const m of u)if(m.counterparty.chain_name===s.chain_name)return m.counterparty.base_denom}}const o=(l=(c=(d=s.metadata)==null?void 0:d.ibc_channels)==null?void 0:c.find(({chain_id:u,version:m})=>u===e.chain_id&&m==="ics20-1"))==null?void 0:l.channel_id;return o?ua(o,r):""}}function da(e,s){const r=F.toBytes(e,32),o=F.toBytes(s,32),a=new Uint8Array([...r,...o,252]);return B.toHex(tn.sha3_256.create().update(a).digest())}function Er(e,s){const r=F.toBytes(e,32),o=tt.toBytes(s),a=new Uint8Array([...r,...o,254]);return B.toHex(tn.sha3_256.create().update(a).digest())}function Tr(e){return e?e.startsWith("move/")?`0x${e.slice(5)}`:`0x${Er("0x1",e)}`:""}function ua(e,s){const n=`transfer/${e}/${s}`;return`ibc/${B.toHex(Do.sha256(n)).toUpperCase()}`}const Mt=Ue.createQueryKeys("interwovenkit:account",{username:(e,s)=>[e,s],address:(e,s)=>[e,s],balances:(e,s)=>[e,s],txs:(e,s)=>[e,s]});function Ar(){const{restUrl:e}=ye(),{usernamesModuleAddress:s}=oe();return lr({restUrl:e,moduleAddress:s})}function cn(e){const s=X(),{restUrl:n}=e,{data:r}=k.useSuspenseQuery({queryKey:Mt.balances(n,s).queryKey,queryFn:()=>z.create({prefixUrl:n}).get(`cosmos/bank/v1beta1/balances/${s}`).json(),select:({balances:o})=>o,staleTime:K.SECOND});return r}function qr(e){const s=cn(e),n=Dt(e),r=Ot(e),o=$r(e),{data:a}=jr(e.chainId),i=c=>e.fees.fee_tokens.some(l=>l.denom===c),d=c=>n.some(l=>l.denom===c);return N.sortWith([N.descend(({denom:c})=>o(c)==="uinit"),N.descend(({denom:c})=>i(c)),N.descend(({value:c})=>c),N.descend(({denom:c})=>d(c)),({balance:c},{balance:l})=>E(l).comparedTo(c)??0,N.descend(({symbol:c})=>c.toLowerCase())],s.filter(({amount:c})=>!E(c).isZero()).map(({amount:c,denom:l})=>{var _;const u=r(l),m=((_=a==null?void 0:a.find(({id:x})=>x===(u==null?void 0:u.denom)))==null?void 0:_.price)??0,h=E(c).times(m).div(E(10).pow(u.decimals)).toNumber();return{...u,balance:c,price:m,value:h}}))}function X(){const e=Ut();return e?F.toBech32(e):""}function Ut(){const{address:e}=ge.useAccount();return e?F.toPrefixedHex(e):""}function gt(){var r,o;const e=hs(),s=X(),n=Ut();return((o=(r=e.metadata)==null?void 0:r.minitia)==null?void 0:o.type)==="minievm"?n:s}function Dr(){const e=gt(),s=Ar();return k.useQuery({queryKey:Mt.username(s.restUrl,e).queryKey,queryFn:()=>s.getUsername(e),enabled:!!e,staleTime:K.MINUTE})}function qe(){const e=gt(),s=X(),n=Ut(),{data:r}=Dr(),{openDrawer:o}=xt(),a=()=>{o("/")},i=()=>{o("/connect")},d=l=>{o("/bridge",l)},c=aa();return{address:e,initiaAddress:s,hexAddress:n,username:r,openConnect:i,openWallet:a,openBridge:d,...c}}const ma="_status_tn9m1_1",ha="_error_tn9m1_9",Tn={status:ma,error:ha},ue=({error:e,children:s})=>t.jsx("p",{className:P(Tn.status,{[Tn.error]:e}),children:s}),ae=({errorBoundaryProps:e={fallbackRender:({error:r})=>t.jsx(ue,{error:!0,children:r.message})},suspenseFallback:s=t.jsx(ue,{children:"Loading..."}),children:n})=>t.jsx(or.ErrorBoundary,{...e,children:t.jsx(p.Suspense,{fallback:s,children:n})}),pe=Ue.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 Le(){const{routerApiUrl:e}=oe();return p.useMemo(()=>z.create({prefixUrl:e}),[e])}function Pr(){const e=He();return s=>e.some(n=>n.chain_id===s)}function yt(){const e=Pr();return s=>e(s.chain_id)?"initia":s.chain_type}function Pt(e){return yt()(e)}function ln(){const e=Le(),{data:s}=k.useSuspenseQuery({queryKey:pe.chains.queryKey,queryFn:()=>e.get("v2/info/chains").json(),select:({chains:n})=>N.sortWith([N.descend(({chain_name:r})=>r==="initia"),N.ascend(({pretty_name:r})=>r)],n),staleTime:K.MINUTE});return s}function We(){const e=ln();return s=>{const n=e.find(r=>r.chain_id===s);if(!n)throw new Error(`Chain not found: ${s}`);return n}}function Ne(e){return We()(e)}function _t(e){const s=Le(),n=k.useQueryClient(),{data:r}=k.useSuspenseQuery({queryKey:pe.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(pe.asset(e,i.denom).queryKey,i);return a.toSorted(N.descend(i=>i.symbol==="INIT"))},staleTime:K.MINUTE});return r}function Fr(e){const s=_t(e);return n=>{const r=s.find(o=>o.denom===n);if(!r)throw new Error(`Asset not found: ${n}`);return r}}function Ae(e,s){return Fr(s)(e)}const dn=p.createContext(null);function Ft(){const{container:e}=p.useContext(dn);return e}const _a=({children:e})=>{const[s,n]=p.useState(null);return t.jsx(dn.Provider,{value:{container:s,setContainer:n},children:e})},fa="_loader_4gdsk_1",pa={loader:fa},Qe=({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:pa.loader,style:r})},xa="_container_4qmbg_1",ga="_toast_4qmbg_10",ya="_info_4qmbg_23",ja="_success_4qmbg_27",wa="_error_4qmbg_31",ba="_icon_4qmbg_36",va="_content_4qmbg_43",Ca="_title_4qmbg_46",Na="_description_4qmbg_51",Ia="_close_4qmbg_72",Fe={container:xa,toast:ga,info:ya,success:ja,error:wa,icon:ba,content:va,title:Ca,description:Na,close:Ia},Sa=({notification:e,onClose:s})=>{const n=Te.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:{...Te.config.wobbly,clamp:!0}}),r=o=>{switch(o){case"loading":return t.jsx(Qe,{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 n((o,a)=>{if(!a)return null;const{type:i,title:d,description:c}=a,l=r(i);return t.jsx(Te.animated.div,{style:o,className:Fe.container,children:t.jsxs("div",{className:P(Fe.toast,i&&Fe[i]),children:[l&&t.jsx("div",{className:Fe.icon,children:l}),t.jsxs("div",{className:Fe.content,children:[t.jsx("p",{className:Fe.title,children:d}),c&&t.jsx("div",{className:Fe.description,children:c})]}),t.jsx("button",{className:Fe.close,onClick:s,children:t.jsx(b.IconClose,{size:14})})]})})})},Br=p.createContext(null),Rr=()=>p.useContext(Br),An=5e3,ka=({children:e})=>{const s=Ft(),[n,r]=p.useState(null),o=p.useRef(null),a=()=>{o.current&&(clearTimeout(o.current),o.current=null)},i=p.useCallback(()=>{a(),r(null)},[]),d=p.useCallback(l=>{a(),r({...l,id:$n.nanoid()}),l.autoHide&&(o.current=setTimeout(()=>i(),An))},[i]),c=p.useCallback(l=>{a(),r(u=>u?{...u,...l}:{...l,id:$n.nanoid()}),l.autoHide&&(o.current=setTimeout(()=>i(),An))},[i]);return p.useEffect(()=>()=>a(),[]),t.jsxs(Br.Provider,{value:{showNotification:d,updateNotification:c,hideNotification:i},children:[e,s&&ar.createPortal(t.jsx(Sa,{notification:n,onClose:i}),s)]})},Or=p.createContext(!1),$a="_overlay_1eoyl_1",Ea="_fullscreen_1eoyl_12",Ta="_content_1eoyl_16",Aa="_header_1eoyl_73",qa="_title_1eoyl_82",Da="_close_1eoyl_87",Ge={overlay:$a,fullscreen:Ea,content:Ta,header:Aa,title:qa,close:Da},Mr=({title:e,children:s,trigger:n,open:r,onOpenChange:o})=>{const a=p.useContext(Or);return t.jsxs(q.Dialog.Root,{open:r,onOpenChange:o,children:[n&&t.jsx(q.Dialog.Trigger,{asChild:!0,children:n}),t.jsxs(q.Dialog.Portal,{container:Ft(),children:[t.jsx("div",{className:P(Ge.overlay,{[Ge.fullscreen]:a})}),t.jsxs(q.Dialog.Content,{className:P(Ge.content,{[Ge.fullscreen]:a}),children:[e&&t.jsxs("header",{className:Ge.header,children:[t.jsx(q.Dialog.Title,{className:Ge.title,children:e}),t.jsx(q.Dialog.Close,{className:Ge.close,children:t.jsx(b.IconClose,{size:20})})]}),s]})]})]})},Pa="_root_1wwaf_1",Fa="_item_1wwaf_10",Ba="_chevron_1wwaf_14",Ra="_trigger_1wwaf_19",Oa="_content_1wwaf_39",Nt={root:Pa,item:Fa,chevron:Ba,trigger:Ra,content:Oa};function Ur(e){const{list:s,getKey:n,renderHeader:r,renderContent:o,footer:a,...i}=e;return t.jsxs(q.Accordion.Root,{className:Nt.root,type:"multiple",...i,children:[s.map((d,c)=>t.jsxs(q.Accordion.Item,{className:Nt.item,value:(n==null?void 0:n(d))??String(c),children:[t.jsx(q.Accordion.Header,{children:t.jsxs(q.Accordion.Trigger,{className:Nt.trigger,children:[r(d),t.jsx(b.IconChevronDown,{className:Nt.chevron,size:16})]})}),t.jsx(q.Accordion.Content,{className:Nt.content,children:o(d)})]},(n==null?void 0:n(d))??c)),a]})}const Ma="_scrollable_yv81n_1",Ua={scrollable:Ma},De=({className:e,children:s})=>t.jsx("div",{className:P(Ua.scrollable,e),children:s}),Hs=({children:e})=>{const s=p.useRef(null),[n,r]=p.useState(0),o=Te.useSpring({height:n,config:{...Te.config.stiff,clamp:!0}});return p.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},za="_help_7m3jv_1",Ka="_icon_7m3jv_10",Ha="_info_7m3jv_17",La="_warning_7m3jv_21",Wa="_error_7m3jv_25",Qa="_success_7m3jv_31",Ss={help:za,icon:Ka,info:Ha,warning:La,error:Wa,success:Qa},Me=({level:e,className:s,mt:n=8,children:r})=>{if(!r)return null;const o=()=>{switch(e){case"loading":return t.jsx(Qe,{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:P(Ss.help,e&&Ss[e],s),style:{marginTop:n},children:[t.jsx("div",{className:Ss.icon,children:o()}),t.jsx("p",{children:r})]})},Va="_stack_14kq8_1",Ga="_help_14kq8_6",Ya="_info_14kq8_14",Ja="_warning_14kq8_19",Za="_error_14kq8_24",Xa="_success_14kq8_29",Ls={stack:Va,help:Ga,info:Ya,warning:Ja,error:Za,success:Xa},ei=({children:e})=>!e||Array.isArray(e)&&e.filter(Boolean).length===0?null:t.jsx(Hs,{children:t.jsx("div",{className:Ls.stack,children:e})}),Z=e=>t.jsx(Me,{...e,className:P(Ls.help,Ls[e.level]),mt:0});Z.Stack=ei;const ti="_footer_xif7g_1",si="_actions_xif7g_10",qn={footer:ti,actions:si},ee=({extra:e,className:s,children:n})=>t.jsxs("footer",{className:P(qn.footer,s),children:[e,t.jsx("div",{className:qn.actions,children:n})]}),ni="_button_7llhj_1",ri="_outline_7llhj_24",oi="_sm_7llhj_42",ai="_full_7llhj_48",ii="_small_7llhj_52",ci="_unpadded_7llhj_82",st={button:ni,outline:ri,sm:oi,full:ai,small:ii,unpadded:ci},zr=e=>{const{sm:s,fullWidth:n,loading:r,className:o,children:a,disabled:i,...d}=e;return t.jsx("button",{...d,className:P(st.button,{[st.sm]:s,[st.full]:n},o),disabled:!!r||i,children:r?t.jsxs(t.Fragment,{children:[t.jsx(Qe,{color:"currentColor",size:16}),typeof r=="string"&&t.jsx("span",{className:st.loading,children:r})]}):a})},li=({className:e,...s})=>t.jsx(zr,{...s,className:P(st.outline,e)}),di=({className:e,unpadded:s,...n})=>t.jsx("button",{...n,className:P(st.small,{[st.unpadded]:s},e)}),L={White:zr,Outline:li,Small:di},ui="_item_1n572_1",mi="_title_1n572_10",hi="_content_1n572_14",ks={item:ui,title:mi,content:hi},$s=({title:e,content:s})=>t.jsxs("div",{className:ks.item,children:[t.jsx("div",{className:ks.title,children:e}),t.jsx("div",{className:ks.content,children:s})]}),_i="_trigger_13rgr_1",fi="_icon_13rgr_5",pi="_content_13rgr_16",xi="_item_13rgr_24",Kt={trigger:_i,icon:fi,content:pi,item:xi},gi=({options:e,value:s,onChange:n})=>{const r=Ft(),{txRequest:o}=Ir(),a=Ie(o.chainId),i=Ot(a),d=({amount:[{amount:c,denom:l}]})=>{if(E(c).isZero())return"0";const{symbol:u,decimals:m}=i(l);return`${re(c,{decimals:m})} ${u}`};return e.length===1?d(e[0]):t.jsxs(q.Select.Root,{value:s,onValueChange:n,children:[t.jsxs(q.Select.Trigger,{className:Kt.trigger,children:[t.jsx(q.Select.Value,{}),t.jsx(q.Select.Icon,{className:Kt.icon,children:t.jsx(b.IconChevronDown,{size:16})})]}),t.jsx(q.Select.Portal,{container:r,children:t.jsx(q.Select.Content,{className:Kt.content,position:"popper",sideOffset:6,align:"end",children:t.jsx(q.Select.Viewport,{children:e.map(c=>{const[{denom:l}]=c.amount;return t.jsx(q.Select.Item,{className:Kt.item,value:l,children:t.jsx(q.Select.ItemText,{children:d(c)})},l)})})})})]})};function rs(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?B.toBase64(e):Array.isArray(e)?`[${e.map(rs).join(",")}]`:JSON.stringify(e,(s,n)=>typeof n=="bigint"?n.toString():n);default:return"unknown"}}const Bt={...nr.bcs,address:Dn,object:Dn,bigdecimal:yi};function Kr(e){const s=e.trim().match(/^(\w+)<(.+)>$/);if(s){const[,r,o]=s,a=Kr(o);return Bt[r](a)}const n=N.last(e.split("::")).toLowerCase();return Bt[n]()}function Dn(e){return Bt.bytes(32,e).transform({input:s=>F.toBytes(s,32),output:s=>`0x${B.toHex(s)}`})}function yi(e){return Bt.vector(Bt.u8(e)).transform({input:s=>{const n=E.BigNumber(s).times(E.BigNumber(10).pow(18)).toFixed(0,E.BigNumber.ROUND_DOWN);return ji(BigInt(n))},output:s=>{const n=wi(new Uint8Array(s));return E.BigNumber(n).div(E.BigNumber(10).pow(18)).toFixed()}})}function ji(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 wi(e){let s=0n;for(let n=0;n<e.length;n++)s+=BigInt(e[n])<<BigInt(8*n);return s}const bi="_container_1xzyq_1",vi="_toggle_1xzyq_5",Ci="_list_1xzyq_11",Ni="_arg_1xzyq_16",Ii="_type_1xzyq_21",It={container:bi,toggle:vi,list:Ci,arg:Ni,type:Ii},Si=Ue.createQueryKeys("interwovenkit:move",{abi:(e,s,n,r)=>[e,s,n,r]}),ki=({type:e,arg:s})=>rs(Kr(e).parse(s)),$i=({msg:e,chainId:s,fallback:n})=>{const[r,o]=de.useToggle(!1),{restUrl:a}=Ie(s),{moduleAddress:i,moduleName:d,functionName:c,args:l}=e,{data:u}=k.useQuery({queryKey:Si.abi(a,i,d,c).queryKey,queryFn:async()=>{const h=await z.create({prefixUrl:a}).get(`initia/move/v1/accounts/${i}/modules/${d}`).json(),x=JSON.parse(h.module.abi).exposed_functions.find(({name:f})=>f===c);if(!x)throw new Error(`Function ${c} not found in module ${d}`);return x.params.filter(f=>!f.startsWith("&"))},staleTime:K.INFINITY});if(!u)return n;const m=(h,_)=>{const x=u[_];return t.jsxs("div",{className:It.arg,children:[t.jsx("div",{className:It.type,children:x}),t.jsx(or.ErrorBoundary,{fallback:t.jsx("div",{className:"error",children:"Error decoding argument"}),children:t.jsx(ki,{type:x,arg:h})})]},_)};return t.jsxs("div",{className:It.container,children:[t.jsx(L.Small,{className:It.toggle,onClick:o,disabled:!u,children:r?"Encode":"Decode"}),r?t.jsx("div",{className:It.list,children:l.map(m)}):n]})},Ei="_list_r67rl_1",Ti="_key_r67rl_8",Ai="_value_r67rl_13",Es={list:Ei,key:Ti,value:Ai},qi=({message:e,chainId:s})=>{const{typeUrl:n,value:r}=e;return t.jsx("div",{className:Es.list,children:Object.entries(r).map(([o,a])=>t.jsxs("div",{children:[t.jsx("div",{className:Es.key,children:o}),t.jsx("div",{className:Es.value,children:n==="/initia.move.v1.MsgExecute"&&o==="args"?t.jsx($i,{msg:r,chainId:s,fallback:rs(a)}):rs(a)})]},o))})},Di="_title_kspdu_1",Pi="_meta_kspdu_7",Fi="_footer_kspdu_14",Ts={title:Di,meta:Pi,footer:Fi},Hr=()=>{const{txRequest:e,resolve:s,reject:n}=Ir(),{messages:r,memo:o,chainId:a,gas:i,gasAdjustment:d}=e,c=X(),l=fs(),u=wr(),m=Ie(a),h=cn(m),{data:_}=k.useSuspenseQuery({queryKey:rn.gasPrices(m).queryKey,queryFn:async()=>{var g;if((g=m.metadata)!=null&&g.is_l1){const{restUrl:S}=m,{gas_prices:O}=await z.create({prefixUrl:S}).get("initia/tx/v1/gas_prices").json();return O.toSorted(N.descend(({denom:U})=>U==="uinit")).map(({denom:U,amount:A})=>{const M=E(A).times(mr).toFixed(18);return Ee.GasPrice.fromString(M+U)})}return m.fees.fee_tokens.map(({denom:S,fixed_min_gas_price:O})=>Ee.GasPrice.fromString(O+S))},staleTime:K.SECOND}),x=_.map(g=>Ee.calculateFee(Math.ceil(i*d),g)),f=x.map(g=>g.amount[0]),y=g=>{var U,A;const S=((U=h.find(M=>M.denom===g))==null?void 0:U.amount)??0,O=((A=f.find(M=>M.denom===g))==null?void 0:A.amount)??0;return E(S).gte(O)},w=`${H.FEE_DENOM}:${a}`,j=()=>{const g=localStorage.getItem(w);if(g&&y(g))return g;for(const{denom:S}of f)if(y(S))return S;return f[0].denom},[T,C]=p.useState(j),{mutate:I,isPending:D}=k.useMutation({mutationKey:[oa],mutationFn:async()=>{const g=x.find(O=>O.amount[0].denom===T);if(!g)throw new Error("Fee not found");if(!l)throw new Error("Signer not initialized");const S=await u(a,c,r,g,o);await s(S)},onMutate:()=>{localStorage.setItem(w,T)},onError:async g=>{n(new Error(await Ke(g)))}});p.useEffect(()=>()=>{n(new Error("User rejected"))},[n]);const v=!y(T);return t.jsxs(t.Fragment,{children:[t.jsxs(De,{children:[t.jsx("h1",{className:Ts.title,children:"Confirm tx"}),t.jsxs("div",{className:Ts.meta,children:[t.jsx($s,{title:"Chain",content:a}),t.jsx($s,{title:"Tx fee",content:t.jsx(gi,{options:x,value:T,onChange:C})}),o&&t.jsx($s,{title:"Memo",content:o}),v&&t.jsx(Z,{level:"error",children:"Insufficient balance for fee"})]}),t.jsx(Ur,{list:r,renderHeader:({typeUrl:g})=>ls.sentenceCase(g.split(".").pop().replace(/^Msg/,"")),renderContent:g=>t.jsx(qi,{message:g,chainId:a})})]}),t.jsxs(ee,{className:Ts.footer,children:[t.jsx(L.Outline,{onClick:()=>n(new Error("User rejected")),disabled:D,children:"Reject"}),t.jsx(L.White,{onClick:()=>I(),disabled:v,loading:D,children:"Approve"})]})]})},Bi=({children:e})=>{const[{title:s,content:n,path:r},o]=p.useState({}),[a,i]=p.useState(!1),d=p.useCallback(l=>{o(l),i(!0)},[]),c=p.useCallback(()=>{o({}),i(!1)},[]);return t.jsxs(gr.Provider,{value:{openModal:d,closeModal:c},children:[e,t.jsx(Mr,{title:s,open:a,onOpenChange:i,children:r==="/tx"?t.jsx(Hr,{}):n})]})},Lr=({value:e,children:s})=>{const[n,r]=p.useState(!1);return s({copy:async()=>{try{await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),1e3)}catch{}},copied:n})},Ri="_placeholder_80nya_1",Oi="_circle_80nya_5",Pn={placeholder:Ri,circle:Oi},W=({src:e,alt:s,placeholder:n,classNames:r,circle:o,...a})=>{const{width:i,height:d}=a,c=n??t.jsx("div",{className:P(Pn.placeholder,r==null?void 0:r.placeholder),style:{width:i,height:d}});return e?t.jsx(Po.Img,{...a,className:P(a.className,{[Pn.circle]:o}),style:{width:i,height:d},src:e,alt:s,unloader:c,loading:"lazy"}):c},Mi="_header_jomuw_1",Ui="_logo_jomuw_10",zi="_copy_jomuw_18",Ki="_name_jomuw_26",Hi="_address_jomuw_30",Li="_icon_jomuw_34",Wi="_copied_jomuw_41",Qi="_disconnect_jomuw_56",Be={header:Mi,logo:Ui,copy:zi,name:Ki,address:Hi,icon:Li,copied:Wi,disconnect:Qi},Vi=()=>{const{connector:e}=ge.useAccount(),{disconnect:s}=ge.useDisconnect(),{address:n,username:r}=qe(),{closeDrawer:o}=xt(),a=r??n;return e?t.jsxs("header",{className:Be.header,children:[t.jsx("div",{className:Be.logo,children:t.jsx(W,{src:e.icon,width:18,height:18})}),t.jsx(Lr,{value:n,children:({copy:i,copied:d})=>t.jsxs("button",{className:P(Be.copy,{[Be.copied]:d}),onClick:i,children:[t.jsx("div",{className:Be.address,children:se(n)}),t.jsx("div",{className:Be.name,children:se(a)}),t.jsx(b.IconCopy,{className:Be.icon,size:12}),d?"Copied!":""]})}),t.jsx("button",{className:Be.disconnect,onClick:()=>{o(),s()},children:t.jsx(b.IconSignOut,{size:18})})]}):null},Gi="_link_guafb_1",Yi={link:Gi},un=e=>{const{chainId:s,txHash:n,showIcon:r,className:o,children:a,onClick:i,...d}=e,c=Ie(s),l=N.path(["explorers",0,"tx_page"],c),u=a??se(n);return l?t.jsxs("a",{...d,href:ir(Ji(l.replace(/\$\{txHash\}/g,n))),className:P(Yi.link,o),onClick:i,target:"_blank",children:[u,r&&t.jsx(b.IconExternalLink,{size:12})]}):t.jsx("span",{...d,children:u})};function Ji(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 Zi=()=>{const[e,s]=Ce.useAtom(Nr),{showNotification:n,updateNotification:r,hideNotification:o}=Rr();return p.useEffect(()=>{if(!e)return;const{status:a,chainId:i,txHash:d,error:c}=e,l=c?c.message:d?t.jsx(un,{txHash:d,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:l}),s(null);break;case"success":r({type:"success",title:"Transaction is successful!",description:l}),s(null);break}},[e,s,n,r,o]),null},Xi="_overlay_1bu6o_1",ec="_content_1bu6o_49",Fn={overlay:Xi,content:ec},tc=({children:e})=>{const{isDrawerOpen:s,closeDrawer:n}=xt(),{setContainer:r}=p.useContext(dn),o=de.useMedia("(max-width: 576px)");sc(s&&o);const a=me(),i=k.useQueryClient(),d={fallbackRender:({error:l,resetErrorBoundary:u})=>{const m=()=>{a("/"),i.clear(),u()};return t.jsxs(De,{children:[t.jsx(ue,{error:!0,children:l.message}),t.jsx(ee,{children:t.jsx(L.White,{onClick:m,children:"Retry"})})]})}},c=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 ar.createPortal(t.jsxs(t.Fragment,{children:[c((l,u)=>u?t.jsx(Te.animated.button,{style:l,className:Fn.overlay,onClick:n,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),c((l,u)=>u?t.jsxs(Te.animated.div,{style:l,className:P(Fn.content,"body"),ref:r,children:[t.jsx(Zi,{}),t.jsx(Vi,{}),t.jsx(ae,{errorBoundaryProps:d,children:e})]}):null)]}),Ho())};function sc(e){p.useLayoutEffect(()=>{const s=document.body.style.overflow;return e?document.body.style.overflow="hidden":document.body.style.overflow=s,()=>{document.body.style.overflow=s}},[e])}const nc="_page_rx25j_1",rc="_title_rx25j_10",oc="_scrollable_rx25j_17",ac="_list_rx25j_22",ic="_item_rx25j_32",cc="_name_rx25j_51",lc="_dimmed_rx25j_59",dc="_recent_rx25j_63",uc="_installed_rx25j_64",mc="_docs_rx25j_81",_e={page:nc,title:rc,scrollable:oc,list:ac,item:ic,name:cc,dimmed:lc,recent:dc,installed:uc,docs:mc},hc=[{name:"Rabby",url:"https://rabby.io"},{name:"Phantom",url:"https://phantom.com"},{name:"Keplr",url:"https://keplr.app"},{name:"Leap",url:"https://leapwallet.io"}],_c=()=>{const{closeDrawer:e}=xt(),{connectors:s,connectAsync:n}=ge.useConnect(),[r,o]=de.useLocalStorage(H.LATEST_CONNECTOR_ID),[a,i]=p.useState(null),{mutate:d,isPending:c}=k.useMutation({mutationFn:async l=>{i(l.id);try{return await n({connector:l}),l}catch(u){throw new Error(await Ke(u))}},onSettled:()=>{i(null)},onSuccess:l=>{o(l.id),e()}});return t.jsxs("div",{className:_e.page,children:[t.jsx("h1",{className:_e.title,children:"Connect wallet"}),t.jsx(De,{className:_e.scrollable,children:t.jsxs("div",{className:_e.list,children:[s.toSorted(N.descend(l=>l.id===r)).map(l=>{const{name:u,icon:m,id:h}=l;return t.jsxs("button",{className:_e.item,onClick:()=>d(l),disabled:c,children:[t.jsx(W,{src:m,width:24,height:24}),t.jsx("span",{className:_e.name,children:u}),a===h?t.jsx(Qe,{size:16}):r===h?t.jsx("span",{className:_e.recent,children:"Recent"}):t.jsx("span",{className:_e.installed,children:"Installed"})]},h)}),hc.filter(({name:l})=>!s.some(u=>u.name.includes(l))).map(({name:l,url:u})=>{const m=`https://assets.initia.xyz/images/wallets/${l}.webp`;return t.jsxs("a",{href:u,className:_e.item,target:"_blank",children:[t.jsx(W,{src:m,width:24,height:24}),t.jsx("span",{className:P(_e.name,_e.dimmed),children:l}),t.jsx(b.IconExternalLink,{size:10})]},l)})]})}),t.jsx(ee,{children:t.jsxs("a",{href:"https://docs.initia.xyz",target:"_blank",className:_e.docs,children:[t.jsx("span",{children:"Learn more"}),t.jsx(b.IconExternalLink,{size:14})]})})]})},fc="_root_xwz5z_1",pc="_header_xwz5z_6",xc="_title_xwz5z_12",gc="_warning_xwz5z_18",yc="_content_xwz5z_22",jc="_footer_xwz5z_26",wc="_secondary_xwz5z_36",Ye={root:fc,header:pc,title:xc,warning:gc,content:yc,footer:jc,secondary:wc},Wr=e=>{const{type:s,icon:n,title:r,children:o,primaryButton:a,secondaryButton:i}=e;return t.jsxs(De,{className:Ye.root,children:[t.jsxs("header",{className:P(Ye.header,s&&Ye[s]),children:[n,t.jsx("h1",{className:Ye.title,children:r})]}),t.jsx("div",{className:Ye.content,children:o}),t.jsxs("footer",{className:Ye.footer,children:[t.jsx(L.White,{onClick:a.onClick,sm:!0,fullWidth:!0,children:a.label}),t.jsxs("button",{className:Ye.secondary,onClick:i.onClick,children:[t.jsx("span",{children:i.label}),t.jsx(b.IconChevronRight,{size:14})]})]})]})},bc="_list_tmcxc_1",vc="_row_tmcxc_8",Cc="_dt_tmcxc_19",Nc="_asset_tmcxc_25",Ht={list:bc,row:vc,dt:Cc,asset:Nc},Ic=({list:e,onNavigate:s,onDismiss:n})=>{const r=ye(),o=it(),a=Ot(r);return t.jsx(Wr,{title:"Ready to claim",primaryButton:{label:"View withdrawal status",onClick:s},secondaryButton:{label:"Do not show again",onClick:n},children:t.jsx("div",{className:Ht.list,children:e.toSorted((i,d)=>i.chainId.localeCompare(d.chainId)).map(({txHash:i,chainId:d,amount:c,denom:l})=>{const u=o(d),{decimals:m,symbol:h}=a(l),_=re(c,{decimals:m});return t.jsxs("div",{className:Ht.row,children:[t.jsxs("div",{className:Ht.dt,children:[t.jsx(W,{src:u.logoUrl,width:16,height:16}),t.jsx("span",{children:u.name})]}),t.jsxs("span",{className:Ht.asset,children:[_," ",h]})]},i)})})})};function As(e,s){return e.chainId===s.chainId&&e.txHash===s.txHash}const Lt=({chainId:e,txHash:s})=>`${H.OP_REMINDER}:${e}:${s}`,Sc=rr.atomWithStorage(H.OP_REMINDER,[]);function jt(){const e=X(),[s=[],n]=Ce.useAtom(Sc),r=p.useMemo(()=>s.map(c=>{const l=localStorage.getItem(Lt(c));return l?JSON.parse(l):null}).filter(c=>{if(!c)return!1;const{recipient:l,claimableAt:u}=c;return l!==e?!1:ft.isPast(u)}),[e,s]),o=p.useCallback((c,l)=>{s.some(u=>As(u,c))||(n((u=[])=>[...u,c]),localStorage.setItem(Lt(c),JSON.stringify(l)))},[s,n]),a=p.useCallback(c=>{n((l=[])=>l.filter(u=>!As(u,c))),localStorage.removeItem(Lt(c))},[n]),i=p.useCallback(c=>{const l=c.filter(u=>!s.some(m=>As(m,u)));l.length!==0&&n((u=[])=>[...u,...l])},[s,n]),d=p.useCallback((c,l)=>{localStorage.setItem(Lt(c),JSON.stringify(l)),n((u=[])=>[...u])},[n]);return{reminders:r,addReminder:o,removeReminder:a,syncReminders:i,setReminder:d}}function Qr(){const e=me(),{openModal:s,closeModal:n}=ms(),{reminders:r,setReminder:o}=jt();p.useEffect(()=>{const a=r.filter(c=>!c.dismissed);if(a.length===0)return;const i=()=>{const c=a.every(l=>l.chainId===a[0].chainId)?a[0].chainId:void 0;e("/op/withdrawals",{chainId:c}),d()},d=()=>{n();for(const c of a)o(c,{...c,dismissed:!0})};s({content:p.createElement(Ic,{list:a,onNavigate:i,onDismiss:d})})},[r,n,e,s,o])}const kc="2.0.0-rc.1",$c="_flex_1v8wv_1",Ec={flex:$c},Ws=({mt:e,mb:s,children:n})=>t.jsx("div",{className:Ec.flex,style:{marginTop:e,marginBottom:s},children:n}),Tc="_toggle_grhff_1",Ac="_name_grhff_7",qc="_rollups_grhff_11",Dc="_version_grhff_29",Wt={toggle:Tc,name:Ac,rollups:qc,version:Dc},Vr=({renderContent:e,storageKey:s})=>{const{defaultChainId:n}=oe(),{addedChains:r}=pt(),[o=[],a]=de.useLocalStorage(`${H.OPENED_CHAIN_IDS}:${s}`,[n]),i=o.length===0,d=()=>{a(i?r.map(c=>c.chainId):[])};return t.jsxs(t.Fragment,{children:[t.jsx(Ws,{mb:6,children:t.jsxs(L.Small,{className:Wt.toggle,onClick:d,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(Ur,{list:r,getKey:({chainId:c})=>c,renderHeader:({name:c,logoUrl:l})=>t.jsxs(t.Fragment,{children:[t.jsx(W,{src:l,width:16,height:16}),t.jsx("span",{className:Wt.name,children:c})]}),renderContent:e,value:o,onValueChange:a,footer:t.jsxs(Rt,{className:Wt.rollups,to:"/rollups",children:[t.jsx(b.IconSettingFilled,{size:12}),t.jsx("span",{children:"Manage rollup list"})]})}),t.jsx(Ws,{mt:8,children:t.jsxs("span",{className:Wt.version,children:["v",kc]})})]})},mn=({chain:e,asset:s,children:n})=>{const r=k.useQueryClient(),{data:o}=k.useQuery({queryKey:ot.resource(e,s).queryKey,queryFn:async()=>{var c,l,u;if(s.symbol||!((c=e.metadata)!=null&&c.is_l1||((u=(l=e.metadata)==null?void 0:l.minitia)==null?void 0:u.type)==="minimove"))return null;const a=Tr(s.denom),{resource:i}=await z.create({prefixUrl:e.restUrl}).get(`initia/move/v1/accounts/${a}/resources/by_struct_tag`,{searchParams:{struct_tag:"0x1::fungible_asset::Metadata"}}).json(),{data:d}=JSON.parse(i.move_resource);return r.setQueryData(ot.item(e.chainId,s.denom).queryKey,{...s,...d}),d},staleTime:K.INFINITY});return n({...s,...o})},Pc="_asset_1dxy8_1",Fc="_token_1dxy8_23",Bc="_symbol_1dxy8_28",Rc="_name_1dxy8_29",Oc="_balance_1dxy8_40",Mc="_amount_1dxy8_45",Uc="_value_1dxy8_49",Je={asset:Pc,token:Fc,symbol:Bc,name:Rc,balance:Oc,amount:Mc,value:Uc},zc=e=>{const{denom:s,symbol:n,name:r,logoUrl:o,decimals:a,balance:i="0",value:d=0}=e;return t.jsxs("div",{className:Je.asset,children:[t.jsx(W,{src:o,width:24,height:24}),t.jsxs("div",{className:Je.token,children:[t.jsx("div",{className:Je.symbol,children:n??se(s)}),r&&t.jsx("div",{className:Je.name,children:r})]}),E(i).gt(0)&&t.jsxs("div",{className:Je.balance,children:[t.jsx("div",{className:Je.amount,children:re(i,{decimals:a})}),d>0&&t.jsxs("div",{className:Je.value,children:["$",rt(d)]})]})]})},Kc="_actions_180l3_1",Hc="_button_180l3_8",Lc="_add_180l3_25",St={actions:Kc,button:Hc,add:Lc},Wc=({denom:e,chain:s})=>{const n=me(),{defaultChainId:r}=oe(),{evm_chain_id:o}=hs(),{address:a="",symbol:i,decimals:d,logoUrl:c}=an(e,s),{connector:l}=ge.useAccount(),{switchChainAsync:u}=ge.useSwitchChain(),{watchAssetAsync:m}=ge.useWatchAsset(),{chainId:h}=s,_=()=>{n("/send",{denom:e,chain:s})},x=()=>{n("/bridge",{srcChainId:h,srcDenom:e})},f=k.useMutation({mutationFn:async()=>(await u({chainId:Number(o)}),m({type:"ERC20",options:{address:a,symbol:i,decimals:d,image:c}}))});return t.jsxs("nav",{className:St.actions,children:[t.jsx("button",{className:St.button,onClick:_,children:"Send"}),t.jsx("button",{className:St.button,onClick:x,children:"Bridge/Swap"}),h===r&&!!a&&t.jsxs("button",{className:P(St.button,St.add),onClick:()=>f.mutate(),disabled:f.isPending||f.data,children:[f.data?t.jsx(b.IconCheck,{size:10}):t.jsx(b.IconPlus,{size:10}),t.jsx(W,{src:l==null?void 0:l.icon,width:16,height:16})]})]})},Qc="_list_wod0u_1",Vc="_item_wod0u_8",Gc="_trigger_wod0u_19",Yc="_content_wod0u_24",Qt={list:Qc,item:Vc,trigger:Gc,content:Yc},Jc=e=>{const s=qr(e);return s.length?t.jsx(q.Accordion.Root,{type:"single",collapsible:!0,className:Qt.list,children:s.map(n=>t.jsxs(q.Accordion.Item,{className:Qt.item,value:n.denom,children:[t.jsx(q.Accordion.Header,{children:t.jsx(q.Accordion.Trigger,{className:Qt.trigger,children:t.jsx(mn,{asset:n,chain:e,children:r=>t.jsx(zc,{...r})})})}),t.jsx(q.Accordion.Content,{className:Qt.content,children:t.jsx(Wc,{denom:n.denom,chain:e})})]},n.denom))}):t.jsx(ue,{children:"No assets"})},Zc=()=>t.jsx(Vr,{renderContent:e=>t.jsx(ae,{children:t.jsx(Jc,{...e})}),storageKey:"assets"});function hn(e,s){var o;const n=((o=s==null?void 0:s.pages)==null?void 0:o.map(a=>a[e]??[]).flat())??[],r=N.pathOr(0,[0,"pagination","total"],s==null?void 0:s.pages);return{list:n,count:r}}function _n(e){return e.pagination.next_key}async function Xc(e,s,n){const r=z.create(s),o=async(a,i)=>{const d=await r.extend(i?{searchParams:{"pagination.key":i}}:{}).get(e).json(),c=d[n]??[],l=_n(d),u=[...a,...c];return l?o(u,l):u};return o([],null)}const fn=Ue.createQueryKeys("interwovenkit:nft",{collections:(e,s)=>[e,s],collection:(e,s,n)=>[e,s,n],metadata:e=>[e]});function el(e){const{object_addr:s,collection:n}=e;return{object_addr:s,...n}}function tl(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 sl(e){const{indexerUrl:s}=e,n=X(),{data:r}=k.useSuspenseQuery({queryKey:fn.collections(s,n).queryKey,queryFn:()=>Xc(`indexer/nft/v1/collections/by_account/${n}`,{prefixUrl:s},"collections"),select:o=>o.map(el),staleTime:K.SECOND});return r}function Gr({chain:e,collection:s}){const n=X(),{object_addr:r}=s,{indexerUrl:o}=e;return k.useSuspenseInfiniteQuery({queryKey:fn.collection(o,n,r).queryKey,queryFn:({pageParam:a=""})=>z.create({prefixUrl:o}).get(`indexer/nft/v1/tokens/by_account/${n}`,{searchParams:{collection_addr:r,"pagination.key":a||"","pagination.limit":9}}).json(),initialPageParam:"",getNextPageParam:_n,staleTime:K.SECOND})}function Bn(e){return e==null?void 0:e.replace("ipfs://","https://ipfs.io/ipfs/")}function nl(e){const s=Bn(e);return k.useQuery({queryKey:fn.metadata(s).queryKey,queryFn:async()=>{try{if(!s)return{};const n=await z.get(s).json();return{...n,image:Bn(n.image)}}catch{return{}}},staleTime:K.INFINITY})}const Yr=({nftResponse:e,children:s})=>{const{data:n={}}=nl(e.nft.uri),r=tl(e,n);return s(r)},rl="_thumbnail_1se9u_1",ol="_placeholder_1se9u_15",al="_clickable_1se9u_21",kt={thumbnail:rl,placeholder:ol,clickable:al},ps=({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(kt.thumbnail,kt.clickable),onClick:o,style:{width:r,height:r},children:t.jsx(W,{src:a,classNames:{placeholder:kt.placeholder}})}):t.jsx("div",{className:kt.thumbnail,style:{width:r,height:r},children:t.jsx(W,{src:a,classNames:{placeholder:kt.placeholder}})})},il="_item_1rdda_1",cl="_content_1rdda_15",ll="_name_1rdda_21",dl="_count_1rdda_27",ul="_chevron_1rdda_33",$t={item:il,content:cl,name:ll,count:dl,chevron:ul},ml=({chain:e,collection:s})=>{const{data:n}=Gr({chain:e,collection:s}),{list:r,count:o}=hn("tokens",n),[a]=r;return t.jsxs(Rt,{className:$t.item,to:"/collection",state:{collection:s,chain:e},children:[a&&t.jsx(Yr,{nftResponse:a,children:i=>t.jsx(ps,{chain:e,collection:s,nft:i,size:58})}),t.jsxs("div",{className:$t.content,children:[t.jsx("div",{className:$t.name,children:s.name}),o>0&&t.jsx("div",{className:$t.count,children:o})]}),t.jsx("div",{className:$t.chevron,children:t.jsx(b.IconChevronRight,{})})]})},hl="_list_1lv70_1",_l={list:hl},fl=({chain:e})=>{const s=sl(e);return s.length?t.jsx("div",{className:_l.list,children:s.map(n=>t.jsx(ml,{collection:n,chain:e},n.object_addr))}):t.jsx(ue,{children:"No collections"})},pl=()=>t.jsx(Vr,{renderContent:e=>t.jsx(ae,{children:t.jsx(fl,{chain:e})}),storageKey:"nft"}),at=({title:e,content:s,children:n,className:r})=>{const[o,a]=p.useState(!1),i=()=>a(!1);return t.jsx(Mr,{title:e,trigger:t.jsx("button",{className:r,children:n}),open:o,onOpenChange:a,children:s(i)})},xl="_scrollable_1p1lw_1",gl="_list_1p1lw_5",yl="_item_1p1lw_9",jl="_name_1p1lw_13",Vt={scrollable:xl,list:gl,item:yl,name:jl};function Jr({onSelect:e,list:s,...n}){const{getImage:r,getName:o,getKey:a,getIsLoading:i,getDisabled:d}=n;return t.jsx(De,{className:Vt.scrollable,children:t.jsx("div",{className:Vt.list,children:s.map(c=>t.jsxs("button",{className:Vt.item,onClick:()=>e(c),disabled:(i==null?void 0:i(c))||(d==null?void 0:d(c)),children:[t.jsx(W,{src:r(c),width:28,height:28}),t.jsx("span",{className:Vt.name,children:o(c)}),(i==null?void 0:i(c))&&t.jsx(Qe,{size:16})]},a(c)))})})}const Zr=({onSelect:e})=>{const{addedChains:s}=pt();return t.jsx(Jr,{onSelect:n=>e(n.chainId),list:s,getImage:n=>n.logoUrl,getName:n=>n.name,getKey:n=>n.chainId})},wl="_button_1uc4x_1",bl="_name_1uc4x_9",vl="_icon_1uc4x_13",qs={button:wl,name:bl,icon:vl},Cl=({value:e,onSelect:s})=>{const{logoUrl:n,name:r}=Ie(e);return t.jsxs(at,{title:"Select rollup",content:o=>t.jsx(Zr,{onSelect:a=>{s(a),o()}}),className:P("input",qs.button),children:[t.jsx(W,{src:n,width:16,height:16}),t.jsx("span",{className:qs.name,children:r}),t.jsx(b.IconChevronDown,{size:16,className:qs.icon})]})},Nl="_button_1iys9_1",Il={button:Nl},Xr=({onClick:e,disabled:s})=>{const{ref:n,inView:r}=Fo.useInView();return p.useEffect(()=>{r&&e()},[r,e]),t.jsxs("button",{className:Il.button,onClick:e,disabled:s,ref:n,children:[t.jsx("span",{children:"Load more"}),t.jsx(b.IconChevronDown,{size:12})]})};function Sl({indexerUrl:e}){const s=X();return k.useSuspenseInfiniteQuery({queryKey:Mt.txs(e,s).queryKey,queryFn:async({pageParam:n=""})=>{const r={"pagination.key":n||"","pagination.reverse":!0};return z.create({prefixUrl:e}).get(`indexer/tx/v1/txs/by_account/${s}`,{searchParams:r}).json()},initialPageParam:"",getNextPageParam:_n,staleTime:K.SECOND})}const kl="_message_1g2hc_1",$l="_more_1g2hc_8",Rn={message:kl,more:$l},El=({messages:e})=>t.jsxs(t.Fragment,{children:[e.slice(0,3).map((s,n)=>t.jsx("p",{className:Rn.message,children:ls.sentenceCase(s["@type"].split("Msg")[1])},n)),e.length>3&&t.jsx("footer",{className:Rn.more,children:`+${e.length-3} more`})]});function Tl(e){return Object.fromEntries(e.map(({key:s,value:n})=>[s,n]))}const On=N.pipe(N.groupBy(N.prop("metadata")),N.values,N.map((e=[])=>{const{metadata:s}=e[0];return{amount:E.sum(...N.map(N.prop("amount"),e)).toString(),metadata:s}}),N.filter(({amount:e})=>!E(e).isZero()));function Al(e,s,n){try{const o=e.filter(({type:a})=>a==="move").map(({attributes:a})=>Tl(a)).reduce((a,{type_tag:i,data:d})=>{try{const{amount:c,store_addr:l,metadata_addr:u}=JSON.parse(d);return`0x${da(n,u)}`!==l?a:i==="0x1::fungible_asset::DepositEvent"?[...a,{amount:E(c).toString(),metadata:u}]:i==="0x1::fungible_asset::WithdrawEvent"?[...a,{amount:E(c).negated().toString(),metadata:u}]:a}catch{return a}},[s]);return On(o)}catch{return On([])}}const ql=({metadata:e,chain:s,children:n})=>{const{restUrl:r}=s,{data:o}=k.useSuspenseQuery({queryKey:ot.denom(r,e).queryKey,queryFn:()=>z.create({prefixUrl:r}).get("initia/move/v1/denom",{searchParams:{metadata:e}}).json(),select:({denom:a})=>a,staleTime:K.INFINITY});return n(o)},Dl="_change_8jpfs_1",Pl="_positive_8jpfs_9",Fl="_negative_8jpfs_13",Ds={change:Dl,positive:Pl,negative:Fl},Bl=({tx:e,events:s,chain:n})=>{var h,_,x,f,y;const r=Ut(),o=Ot(n),a=ve.computeAddress(`0x${B.toHex(B.fromBase64(e.auth_info.signer_infos[0].public_key.key))}`),i=(h=e.auth_info.fee)==null?void 0:h.payer,d=((_=e.auth_info.fee)==null?void 0:_.amount[0])??{amount:"0",denom:""},c=a===r&&!i;if(!((x=n.metadata)!=null&&x.is_l1||((y=(f=n.metadata)==null?void 0:f.minitia)==null?void 0:y.type)==="minimove"))return null;const l=Tr(d.denom),u={amount:c?d.amount:"0",metadata:l};return Al(s,u,r).map(({amount:w,metadata:j},T)=>{const C=new E(w).isPositive(),I=new E(w).abs().toString();return t.jsx(ae,{suspenseFallback:null,errorBoundaryProps:{fallback:null},children:t.jsx(ql,{metadata:j,chain:n,children:D=>t.jsx(mn,{asset:o(D),chain:n,children:({denom:v,symbol:g,decimals:S})=>t.jsxs("div",{className:P(Ds.change,C?Ds.positive:Ds.negative),children:[C?"+":"-",re(I,{decimals:S})," ",g??se(v)]})})})},T)})},Rl="_link_qkpto_1",Ol="_inner_qkpto_14",Ml="_timestamp_qkpto_23",Ul="_content_qkpto_39",zl="_messages_qkpto_45",Kl="_changes_qkpto_50",Hl="_error_qkpto_57",Ze={link:Rl,inner:Ol,timestamp:Ml,content:Ul,messages:zl,changes:Kl,error:Hl},Ll=({txItem:e,chain:s})=>t.jsx(un,{txHash:e.txhash,chainId:s.chainId,className:Ze.link,children:t.jsxs("div",{className:Ze.inner,children:[t.jsx("div",{className:Ze.timestamp,children:ls.sentenceCase(ft.intlFormatDistance(new Date(e.timestamp),new Date,{locale:"en-US"}))}),t.jsxs("div",{className:Ze.content,children:[t.jsx("div",{className:Ze.messages,children:t.jsx(El,{messages:e.tx.body.messages})}),t.jsx("div",{className:Ze.changes,children:t.jsx(Bl,{...e,chain:s})})]}),e.code!==0&&t.jsxs("div",{className:Ze.error,children:[t.jsx(b.IconWarningFilled,{size:12}),t.jsx("span",{children:"Failed"})]})]})}),Wl="_list_10hx5_1",Ql={list:Wl},Vl=({chain:e})=>{const{data:s,hasNextPage:n,isFetching:r,fetchNextPage:o}=Sl(e),{list:a}=hn("txs",s);return a.length?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:Ql.list,children:a.map(i=>t.jsx(Ll,{txItem:i,chain:e},i.txhash))}),n&&t.jsx(Xr,{onClick:()=>o(),disabled:r})]}):t.jsx(ue,{children:"No activity yet"})},Gl=()=>{const{defaultChainId:e}=oe(),[s,n]=p.useState(e),r=Ie(s);return t.jsxs(t.Fragment,{children:[t.jsx(Cl,{value:s,onSelect:n}),t.jsx(ae,{children:t.jsx(Vl,{chain:r})},s)]})},Yl="_nav_1ldnv_1",Jl="_item_1ldnv_6",Zl="_tabs_1ldnv_28",Xl="_tab_1ldnv_28",Xe={nav:Yl,item:Jl,tabs:Zl,tab:Xl},ed=()=>{Qr();const e=me(),s=pr();return t.jsxs(De,{children:[t.jsxs("div",{className:Xe.nav,children:[t.jsxs(Rt,{to:"/send",className:Xe.item,children:[t.jsx(b.IconArrowRight,{size:16}),t.jsx("span",{children:"Send"})]}),t.jsxs("button",{className:Xe.item,onClick:()=>e("/bridge"),children:[t.jsx(b.IconSwap,{size:16}),t.jsx("span",{children:"Bridge/Swap"})]})]}),t.jsxs(q.Tabs.Root,{value:s,onValueChange:e,children:[t.jsxs(q.Tabs.List,{className:Xe.tabs,children:[t.jsx(q.Tabs.Trigger,{className:Xe.tab,value:"/",children:"Assets"}),t.jsx(q.Tabs.Trigger,{className:Xe.tab,value:"/nfts",children:"NFTs"}),t.jsx(q.Tabs.Trigger,{className:Xe.tab,value:"/activity",children:"Activity"})]}),t.jsx(q.Tabs.Content,{value:"/",children:t.jsx(Zc,{})}),t.jsx(q.Tabs.Content,{value:"/nfts",children:t.jsx(pl,{})}),t.jsx(q.Tabs.Content,{value:"/activity",children:t.jsx(Gl,{})})]})]})};function eo({quantity:e,balance:s,decimals:n},r){if(E.BigNumber(e).isZero()){r.addIssue({code:Q.z.ZodIssueCode.custom,message:"Enter amount",path:["quantity"]});return}if(!s||E.BigNumber(ds(e,n)).gt(s)){r.addIssue({code:Q.z.ZodIssueCode.custom,message:"Insufficient balance",path:["quantity"]});return}}const to=Q.z.string().nonempty("Recipient address is required").refine(e=>F.validate(e),"Invalid address"),td="_header_acels_1",sd="_back_acels_11",nd="_title_acels_23",Ps={header:td,back:sd,title:nd},Pe=({title:e,returnTo:s,extra:n,children:r})=>t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:Ps.header,children:[s!==!1&&t.jsx(Rt,{to:s??-1,className:Ps.back,children:t.jsx(b.IconBack,{size:16})}),t.jsx("h1",{className:Ps.title,children:e}),n]}),t.jsx(De,{children:r})]}),rd="_fieldset_y241y_1",od="_upper_y241y_9",ad="_select_y241y_14",id="_account_y241y_19",cd="_lower_y241y_24",ld="_wrapper_y241y_25",dd="_balance_y241y_32",ud="_value_y241y_36",md="_error_y241y_49",Se={fieldset:rd,upper:od,select:ad,account:id,lower:cd,wrapper:ld,balance:dd,value:ud,error:md},Qs=e=>{const{selectButton:s,accountButton:n,quantityInput:r,balanceButton:o,value:a,errorMessage:i}=e;return t.jsxs("div",{className:Se.fieldset,children:[t.jsxs("div",{className:Se.upper,children:[t.jsx("div",{className:Se.select,children:s}),t.jsx("div",{className:Se.account,children:n})]}),t.jsxs("div",{className:Se.lower,children:[r,t.jsxs("div",{className:Se.wrapper,children:[t.jsx("div",{className:Se.balance,children:o}),a&&t.jsxs("div",{className:Se.value,children:["$",a]})]}),i&&t.jsxs("footer",{className:Se.error,children:[t.jsx(b.IconWarningFilled,{size:12}),t.jsx("p",{children:i})]})]})]})},hd="_images_1txea_1",_d="_chain_1txea_5",Mn={images:hd,chain:_d},pn=({assetLogoUrl:e,chainLogoUrl:s})=>t.jsxs("div",{className:Mn.images,children:[t.jsx(W,{src:e,width:36,height:36}),t.jsx(W,{src:s,width:18,height:18,className:Mn.chain})]}),fd="_root_1ipwv_1",pd="_content_1ipwv_10",xd="_details_1ipwv_18",gd="_symbol_1ipwv_23",yd="_chain_1ipwv_31",jd="_chevron_1ipwv_40",et={root:fd,content:pd,details:xd,symbol:gd,chain:yd,chevron:jd},so=({asset:e,chain:s,readOnly:n})=>{const r=t.jsxs("div",{className:et.content,children:[t.jsx(pn,{assetLogoUrl:e.logoUrl,chainLogoUrl:s.logoUrl}),t.jsxs("div",{className:et.details,children:[t.jsx("div",{className:et.symbol,children:e.symbol}),t.jsxs("div",{className:et.chain,children:["on ",s.name]})]})]});return n?t.jsx("div",{className:et.root,children:r}):t.jsxs("div",{className:et.root,children:[r,t.jsx(b.IconChevronDown,{size:16,className:et.chevron})]})},wd="_wrapper_5vodt_1",bd="_balance_5vodt_11",vd="_button_5vodt_15",Fs={wrapper:wd,balance:bd,button:vd},no=({onClick:e,children:s})=>t.jsxs("div",{className:Fs.wrapper,children:[t.jsx(b.IconWallet,{size:16}),t.jsx("span",{className:Fs.balance,children:s}),t.jsx("button",{type:"button",className:Fs.button,onClick:()=>e(),children:"MAX"})]});function xs(){const e=p.useRef(null),s=de.useMedia("(max-width: 576px)");return p.useEffect(()=>{var n;s||(n=e.current)==null||n.focus()},[s]),e}const Cd="_input_h8073_1",Nd={input:Cd};function Id(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 ro(e){const{name:s,control:n,dp:r=6,className:o,...a}=e,i=xs();return t.jsx(ne.Controller,{name:s,control:n,render:({field:d})=>t.jsx("input",{...d,className:P(Nd.input,o),onChange:c=>d.onChange(Id(c.target.value,r)),placeholder:"0",inputMode:"decimal",autoComplete:"off",...a,ref:cr.mergeRefs([d.ref,i])})})}const Sd="_input_qpv94_1",kd="_placeholder_qpv94_18",Vs={input:Sd,placeholder:kd},$d=({children:e})=>t.jsx("p",{className:P(Vs.input,{[Vs.placeholder]:E(e).isZero()}),children:e}),os=()=>{const{control:e}=ne.useFormContext();return t.jsx(ro,{name:"quantity",control:e,className:Vs.input})};os.ReadOnly=$d;const Ed="_label_jg0i7_1",Td="_wrapper_jg0i7_7",Ad="_input_jg0i7_10",qd="_clear_jg0i7_18",Gt={label:Ed,wrapper:Td,input:Ad,clear:qd},xn=({mode:e="onChange",myAddress:s,...n})=>{const{validate:r=F.validate,chainType:o="initia",onApply:a,ref:i}=n,d=xs(),{getValues:c,setValue:l,formState:u}=ne.useFormContext(),m=c("recipient"),[h,_]=p.useState(m),x=Ar(),{data:f,isLoading:y,error:w}=k.useQuery({queryKey:Mt.address(x.restUrl,h).queryKey,queryFn:()=>x.getAddress(h),staleTime:K.MINUTE,enabled:x.validateUsername(h)}),j=f??(r(h)?h:""),T=s&&F.equals(j,s),C=async()=>{try{const v=await navigator.clipboard.readText();_(v.trim())}catch{}};p.useEffect(()=>{e==="onChange"&&h&&l("recipient",f??h,{shouldValidate:!0})},[h,e,l,f]);const I=()=>{y||w||(l("recipient",j,{shouldValidate:!0}),a==null||a())},D=()=>{var v;if(y)return t.jsx(Me,{level:"loading",children:"Resolving username..."});if(w)return t.jsx(Me,{level:"error",children:w.message});if(f)return t.jsx(Me,{level:"success",className:"monospace",children:f});if(e==="onSubmit"&&h&&!j)return t.jsx(Me,{level:"error",children:"Invalid address"});if(e==="onChange")return t.jsx(Me,{level:"error",children:(v=u.errors.recipient)==null?void 0:v.message})};return t.jsxs("div",{children:[t.jsxs("label",{htmlFor:"recipient",className:Gt.label,children:[t.jsx("span",{children:"Recipient"}),t.jsx(L.Small,{type:"button",onClick:C,children:"Paste"})]}),t.jsxs("div",{className:Gt.wrapper,children:[t.jsx("input",{id:"recipient",className:P(Gt.input,"monospace"),value:h,onChange:v=>_(v.target.value.trim()),placeholder:o==="initia"?"Address or username":"Enter address",autoComplete:"off",ref:e==="onSubmit"?cr.mergeRefs([i,d]):i}),!!h&&t.jsx("button",{type:"button",className:Gt.clear,onClick:()=>_(""),"aria-label":"Clear recipient",children:t.jsx(b.IconCloseCircleFilled,{size:16})})]}),D(),T&&t.jsx(Me,{children:"This is my address"}),e==="onSubmit"&&t.jsx(ee,{extra:(!s||!!j&&!T)&&t.jsx(Z,{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(L.White,{type:"button",onClick:I,disabled:y||!!w||!j,children:"Apply"})})]})},Dd="_container_1a4ds_1",Pd="_badge_1a4ds_5",Un={container:Dd,badge:Pd},oo=e=>{const{offset:s=-4,disabled:n,children:r,className:o}=e;return t.jsxs("div",{className:P(Un.container,o),children:[r,!n&&t.jsx("div",{className:Un.badge,style:{right:s,top:s}})]})},Fd="_tooltip_6zakp_1",Bd="_arrow_6zakp_43",zn={tooltip:Fd,arrow:Bd},wt=({label:e,children:s,small:n,...r})=>t.jsxs(q.Tooltip.Root,{...r,children:[t.jsx(q.Tooltip.Trigger,{asChild:!0,children:s}),t.jsx(q.Tooltip.Portal,{container:Ft(),children:t.jsxs(q.Tooltip.Content,{className:P(zn.tooltip,{small:n}),collisionBoundary:Ft(),collisionPadding:8,sideOffset:4,children:[e,t.jsx(q.Tooltip.Arrow,{className:zn.arrow})]})})]}),Rd="_stack_a3b9q_1",Od="_title_a3b9q_8",Md="_grid_a3b9q_15",Ud="_item_a3b9q_21",zd="_button_a3b9q_25",Kd="_active_a3b9q_43",ut={stack:Rd,title:Od,grid:Md,item:Ud,button:zd,active:Kd},nt=({label:e,chains:s,value:n,onSelect:r,getShowIndicator:o})=>t.jsxs("div",{children:[e&&t.jsx("h2",{className:ut.title,children:e}),t.jsx("div",{className:ut.grid,children:s.map(({chainId:a,name:i,logoUrl:d})=>t.jsx(oo,{offset:-2,disabled:!(o!=null&&o(a)),className:ut.item,children:t.jsx(wt,{label:i,disableHoverableContent:!0,children:t.jsx("button",{type:"button",className:P(ut.button,{[ut.active]:a===n}),onClick:()=>r(a),children:t.jsx(W,{src:d,width:28,height:28,circle:!0})})})},a))})]}),Hd=({children:e})=>t.jsx("div",{className:ut.stack,children:e});nt.Stack=Hd;function ao(e,s,n){return n.filter(r=>{const o=e.map(a=>r[a]).map(a=>String(a??"").toLowerCase());return N.any(N.includes(s.toLowerCase()),o)})}const Ld="_root_qd12v_1",Wd="_label_qd12v_8",Qd="_input_qd12v_14",Vd="_clear_qd12v_20",Yt={root:Ld,label:Wd,input:Qd,clear:Vd},io=({value:e,onChange:s,placeholder:n="Search",className:r})=>t.jsxs("div",{className:P(Yt.root,r),children:[t.jsx("label",{htmlFor:"search",className:Yt.label,children:t.jsx(b.IconSearch,{size:16})}),t.jsx("input",{id:"search",type:"text",className:Yt.input,value:e,onChange:o=>s(o.target.value),placeholder:n,ref:xs()}),e&&t.jsx("button",{className:Yt.clear,onClick:()=>s(""),children:t.jsx(b.IconCloseCircleFilled,{size:20})})]}),Gd="_container_17tpb_1",Yd="_list_17tpb_6",Jd="_item_17tpb_12",Zd="_logo_17tpb_31",Xd="_info_17tpb_35",eu="_symbol_17tpb_40",tu="_name_17tpb_44",su="_balance_17tpb_50",nu="_value_17tpb_58",ke={container:Gd,list:Yd,item:Jd,logo:Zd,info:Xd,symbol:eu,name:tu,balance:su,value:nu},co=e=>{const{assets:s,onSelect:n,renderAsset:r=(d,c)=>c(d)}=e,[o,a]=p.useState(""),i=ao(["symbol"],o,s);return t.jsxs("div",{className:ke.container,children:[t.jsx(io,{value:o,onChange:a,placeholder:"Search by symbol"}),i.length===0?t.jsx(ue,{children:"No assets"}):t.jsx("div",{className:ke.list,children:i.map(d=>t.jsx("button",{type:"button",className:ke.item,onClick:()=>n(d.denom),children:r(d,({logoUrl:c,symbol:l,name:u,balance:m,decimals:h,value:_=0})=>t.jsxs(t.Fragment,{children:[t.jsx(W,{src:c,width:32,height:32,className:ke.logo}),t.jsxs("div",{className:ke.info,children:[t.jsx("div",{className:ke.symbol,children:l}),t.jsx("div",{className:ke.name,children:u})]}),t.jsxs("div",{className:ke.balance,children:[m&&t.jsx("div",{children:re(m,{decimals:h})}),_>0&&t.jsxs("div",{className:ke.value,children:["$",rt(_)]})]})]}))},d.denom))})]})},ru=({chain:e,onSelect:s})=>{const n=qr(e);return n.length===0?t.jsx(ue,{children:"No assets"}):t.jsx(co,{assets:n,onSelect:s,renderAsset:(r,o)=>t.jsx(mn,{asset:r,chain:e,children:a=>o(a)})})},ou=({afterSelect:e})=>{const{watch:s,setValue:n}=ne.useFormContext(),{chainId:r}=s(),[o,a]=p.useState(r),i=Ie(o),{addedChains:d}=pt(),c=l=>{n("chainId",o),n("denom",l),e()};return t.jsxs(t.Fragment,{children:[d.length>1&&t.jsx(nt.Stack,{children:t.jsx(nt,{chains:d,value:o,onSelect:a})}),t.jsx(ae,{children:t.jsx(ru,{chain:i,onSelect:c})},o)]})},au="_fields_brpej_1",iu="_divider_brpej_11",Kn={fields:au,divider:iu},cu=()=>{var g,S,O,U;const{address:e,initiaAddress:s,requestTxSync:n}=qe(),{register:r,watch:o,setValue:a,handleSubmit:i,formState:d}=ne.useFormContext(),{chainId:c,denom:l,quantity:u,memo:m}=o(),{addedChains:h}=pt(),_=Ie(c),x=cn(_),f=an(l,_),{data:y}=jr(_.chainId),{decimals:w}=f,j=((g=x.find(A=>A.denom===l))==null?void 0:g.amount)??"0",T=(S=y==null?void 0:y.find(({id:A})=>A===l))==null?void 0:S.price,C=E(u).gt(0)&&E(u).isEqualTo(qt(j,w)),I=_.fees.fee_tokens.some(A=>A.denom===l),{mutate:D,isPending:v}=k.useMutation({mutationFn:({chainId:A,denom:M,quantity:V,recipient:je,memo:ie})=>{const we=ds(V,w),Y=[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:Bo.MsgSend.fromPartial({fromAddress:s,toAddress:F.toBech32(je),amount:[{denom:M,amount:we}]})}];return n({messages:Y,memo:ie,chainId:A,internal:"/"})}});return t.jsx(Pe,{title:"Send",children:t.jsxs("form",{onSubmit:i(A=>D(A)),children:[t.jsxs("div",{className:Kn.fields,children:[t.jsx(Qs,{selectButton:t.jsx(at,{title:h.length>1?"Select chain and asset":"Select asset",content:A=>t.jsx(ou,{afterSelect:A}),children:t.jsx(so,{asset:f,chain:_})}),quantityInput:t.jsx(os,{}),balanceButton:t.jsx(no,{onClick:()=>a("quantity",qt(j,w),{shouldValidate:!0}),children:re(j,{decimals:w})}),value:u?T?rt(E(u).times(T)):"-":"0",errorMessage:(O=d.errors.quantity)==null?void 0:O.message}),t.jsx("div",{className:Kn.divider}),t.jsx(xn,{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(Me,{level:"error",children:(U=d.errors.memo)==null?void 0:U.message})]}),t.jsxs(Z.Stack,{children:[C&&I&&t.jsx(Z,{level:"warning",children:"Make sure to leave enough for transaction fee"}),!m&&t.jsx(Z,{level:"warning",children:"Check if the above transaction requires a memo"})]})]}),t.jsx(ee,{children:t.jsx(L.White,{type:"submit",loading:v,disabled:!d.isValid,children:"Confirm"})})]})})},lu=Q.z.object({chainId:Q.z.string().nonempty(),denom:Q.z.string().nonempty(),quantity:Q.z.string().nonempty("Amount is required"),recipient:to,memo:Q.z.string().optional().refine(e=>!e||new Blob([e]).size<=256,"Memo is too long")}),du=()=>{const e=ze(),s=hs(),n=Dt(s),[r]=n,{chain:o=s,denom:a=r.denom}=e,i=it(),d=X(),c=k.useQueryClient(),l=ne.useForm({mode:"onChange",defaultValues:{chainId:o.chainId,denom:a,quantity:"",recipient:"",memo:""},resolver:sn.zodResolver(lu.superRefine(({chainId:u,denom:m,quantity:h},_)=>{var j;const x=i(u),{decimals:f}=c.getQueryData(ot.item(u,m).queryKey)??{decimals:0},{balances:y}=c.getQueryData(Mt.balances(x.restUrl,d).queryKey)??{balances:[]},w=(j=y.find(T=>T.denom===m))==null?void 0:j.amount;eo({quantity:h,balance:w,decimals:f},_)}))});return t.jsx(ne.FormProvider,{...l,children:t.jsx(cu,{})})},uu="_grid_4j669_1",mu="_item_4j669_7",hu="_name_4j669_15",Bs={grid:uu,item:mu,name:hu},_u=()=>{const e=me(),{collection:s,chain:n}=ze(),{data:r,hasNextPage:o,isFetching:a,fetchNextPage:i}=Gr({chain:n,collection:s}),{list:d}=hn("tokens",r);return t.jsxs(Pe,{title:s.name,children:[t.jsx("div",{className:Bs.grid,children:d.map(c=>t.jsx(Yr,{nftResponse:c,children:l=>t.jsxs("div",{className:Bs.item,children:[t.jsx(ps,{chain:n,collection:s,nft:l,onClick:()=>e("/nft",{collection:s,nft:l,chain:n})}),t.jsx("div",{className:Bs.name,children:l.name})]})},c.object_addr))}),o&&t.jsx(Xr,{onClick:()=>i(),disabled:a})]})},fu="_header_196nx_1",pu="_name_196nx_6",xu="_attributes_196nx_12",gu="_title_196nx_15",yu="_list_196nx_21",ju="_item_196nx_25",wu="_type_196nx_34",bu="_value_196nx_40",Re={header:fu,name:pu,attributes:xu,title:gu,list:yu,item:ju,type:wu,value:bu},vu=()=>{const e=me(),s=ze(),{collection:n,nft:r,chain:o}=s,{image:a,name:i,attributes:d}=r;return t.jsxs(Pe,{title:n.name,children:[t.jsxs("header",{className:Re.header,children:[a&&t.jsx(ps,{chain:o,collection:n,nft:r}),t.jsx("h2",{className:Re.name,children:i})]}),t.jsx(ee,{children:t.jsx(L.White,{onClick:()=>e("/nft/send",s),children:"Send"})}),d&&t.jsxs("div",{className:Re.attributes,children:[t.jsxs("header",{className:Re.title,children:["Traits (",d.length,")"]}),t.jsx("div",{className:Re.list,children:d.map(({trait_type:c,value:l})=>t.jsxs("div",{className:Re.item,children:[t.jsx("div",{className:Re.type,children:c}),t.jsx("div",{className:Re.value,children:l})]},c))})]})]})};async function Cu({object_addr:e},{restUrl:s}){const n=await Nu(e,s);return n.startsWith("ibc/")?Er("0x1",n)===e.replace("0x","").padStart(64,"0")?{class_id:n,class_trace:await Gs(n,s)}:{class_id:`move/${e.replace("0x","").padStart(64,"0")}`,class_trace:await Gs(n,s)}:{class_id:`move/${e.replace("0x","").padStart(64,"0")}`,class_trace:null}}async function Nu(e,s){const{data:n}=await z.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 Iu({object_addr:e},{restUrl:s}){const n=await Su(e,s);if(!n.startsWith("ibc/"))return{class_id:`evm/${F.toHex(e)}`,class_trace:null};const r=await Gs(n,s);return r?{class_id:n,class_trace:r}:{class_id:`evm/${F.toHex(e)}`,class_trace:null}}async function Su(e,s){const n=new ve.Interface([{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}]),{response:r}=await z.create({prefixUrl:s}).post("minievm/evm/v1/call",{json:{sender:F.toBech32("0x1"),contract_addr:F.toPrefixedHex(e),input:n.encodeFunctionData("name")}}).json();return n.decodeFunctionResult("name",r)[0]}async function ku({creator_addr:e,object_addr:s},n,r){var x,f;const o=await $u(s,n.restUrl),a=(f=(x=n.metadata)==null?void 0:x.ibc_channels)==null?void 0:f.find(({chain_id:y,version:w})=>y===r.chain_id&&w.includes("ics721-1"));if(!a)throw new Error("Channel not found");const i=a.port_id,d=i.split(".")[1],c=B.toBase64(tt.toBytes(JSON.stringify({class_id:{contract:s}}))),l=`cosmwasm/wasm/v1/contract/${d}/smart/${c}`,{data:u}=await z.create({prefixUrl:n.restUrl}).get(l).json(),m=u??s;if(u&&e!==i.replace("wasm.","")){const[y,w]=Hn(u);return{class_id:s,class_trace:{path:y,base_class_id:w}}}const[h,_]=Hn(o);return{class_id:m,class_trace:{path:h,base_class_id:_}}}async function $u(e,s){const n=B.toBase64(tt.utf8ToBytes(JSON.stringify({contract_info:{}}))),{name:r}=await z.create({prefixUrl:s}).get(`cosmwasm/wasm/v1/contract/${e}/smart/${n}`).json();return r}const Eu={minimove:Cu,minievm:Iu,miniwasm:ku};async function Tu({collection:e,nft:s,srcChain:n,intermediaryChain:r}){var i,d,c;const o=(i=n.metadata)!=null&&i.is_l1?"minimove":(c=(d=n.metadata)==null?void 0:d.minitia)==null?void 0:c.type;if(!(o==="minimove"||o==="minievm"||o==="miniwasm"))throw new Error(`Unsupported minitia type: ${o}`);const a=await Eu[o](e,n,r);return Object.assign(a,o==="minievm"&&{token_ids:await Au([s.token_id],a.class_id,n.restUrl)})}async function Gs(e,s){const n=e.replace("ibc/",""),{class_trace:r}=await z.create({prefixUrl:s}).get(`ibc/apps/nft_transfer/v1/class_traces/${n}`).json();return r}async function Au(e,s,n){const{token_infos:r}=await z.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 Hn(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 qu="_header_5w36t_1",Du="_name_5w36t_8",Pu="_collection_5w36t_15",Fu="_nft_5w36t_20",Bu="_fields_5w36t_24",Ru="_chain_5w36t_29",lt={header:qu,name:Du,collection:Pu,nft:Fu,fields:Bu,chain:Ru},Ou=Ue.createQueryKeys("interwovenkit:send-nft",{simulation:e=>[e]}),Mu=()=>{const{chain:e,collection:s,nft:n}=ze(),{routerApiUrl:r}=oe(),o=_s(),a=ye(),{address:i,initiaAddress:d,requestTxSync:c}=qe(),{watch:l,setValue:u,handleSubmit:m,formState:h}=ne.useFormContext(),_=l(),{recipient:x,dstChainId:f}=_,y=Ie(f),w=k.useQuery({queryKey:Ou.simulation({collection:s,nft:n,sender:d,recipient:x,srcChain:e,dstChainId:f,layer1:a,routerApiUrl:r}).queryKey,queryFn:async()=>{const v=Object.assign({from_address:d,from_chain_id:e.chainId,to_address:F.toBech32(x),to_chain_id:f,collection_address:s.object_addr,token_ids:[n.token_id],object_addresses:[n.object_addr]},e.chainId!==f&&await Tu({collection:s,nft:n,srcChain:e,intermediaryChain:a})),{msgs:g}=await z.create({prefixUrl:r}).post("nft",{json:v}).json();return g.map(S=>o.fromAmino(S))},enabled:!!x}),{data:j,isLoading:T,error:C}=w,{mutate:I,isPending:D}=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:m(()=>I()),children:[t.jsxs("header",{className:lt.header,children:[n.image&&t.jsx(ps,{chain:e,collection:s,nft:n,size:80}),t.jsxs("div",{className:lt.name,children:[t.jsx("div",{className:lt.collection,children:s.name}),t.jsx("div",{className:lt.nft,children:n.name})]})]}),t.jsxs("div",{className:lt.fields,children:[t.jsx(q.VisuallyHidden.Root,{children:t.jsxs("div",{children:[t.jsx("div",{className:"label",children:"Destination rollup"}),t.jsxs(at,{title:"Destination rollup",content:v=>t.jsx(Zr,{onSelect:g=>{u("dstChainId",g),v()}}),className:P("input",lt.chain),children:[t.jsx(W,{src:y.logoUrl,width:20,height:20}),t.jsx("span",{children:y.name})]})]})}),t.jsx(xn,{myAddress:i,ref:xs()})]}),t.jsx(ee,{children:t.jsx(L.White,{loading:T||D,disabled:!h.isValid,children:C?"Route not found":"Confirm"})})]})},Uu=Q.z.object({dstChainId:Q.z.string().nonempty(),recipient:to}),zu=()=>{const{chain:e}=ze(),s=ne.useForm({defaultValues:{dstChainId:e.chainId},resolver:sn.zodResolver(Uu)});return t.jsx(Pe,{title:"Send NFT",children:t.jsx(ne.FormProvider,{...s,children:t.jsx(Mu,{})})})},Ku="_item_ny5a8_1",Hu="_header_ny5a8_11",Lu="_name_ny5a8_19",Wu="_link_ny5a8_24",Qu="_button_ny5a8_40",dt={item:Ku,header:Hu,name:Lu,link:Wu,button:Qu},Rs=e=>{var h;const{chainId:s,name:n,logoUrl:r,website:o,metadata:a}=e,{defaultChainId:i}=oe(),{addedChains:d,addChain:c,removeChain:l}=pt(),u=d.find(_=>_.chainId===s),m=()=>s===i?null:u?t.jsx("button",{className:dt.button,onClick:()=>l(s),children:t.jsx(b.IconMinus,{size:14})}):t.jsx("button",{className:dt.button,onClick:()=>c(s),children:t.jsx(b.IconPlus,{size:14})});return t.jsxs("div",{className:dt.item,children:[t.jsx(W,{src:r,width:32,height:32,title:(h=a==null?void 0:a.minitia)==null?void 0:h.type}),t.jsxs("header",{className:dt.header,children:[t.jsx("h3",{className:dt.name,children:n}),o&&t.jsx("a",{className:dt.link,href:ir(o),target:"_blank",children:t.jsx(b.IconExternalLink,{size:12})})]}),m()]})},Vu="_content_14twd_1",Gu="_search_14twd_5",Yu="_title_14twd_9",Ju="_count_14twd_18",Zu="_list_14twd_23",Oe={content:Vu,search:Gu,title:Yu,count:Ju,list:Zu},Xu=()=>{const[e,s]=p.useState(""),{chains:n,addedChains:r,notAddedChains:o}=pt(),a=ao(["chainId","name"],e,n);return t.jsx(Pe,{title:"Manage rollup list",children:t.jsxs("div",{className:Oe.content,children:[t.jsx(io,{value:e,onChange:s,className:Oe.search}),e?a.length===0?t.jsx(ue,{children:"No chains"}):a.map(i=>p.createElement(Rs,{...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=>p.createElement(Rs,{...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=>p.createElement(Rs,{...i,key:i.chainId}))]})]})]})})};function em(){return ye().network_type==="testnet"}const lo=Q.z.object({srcChainId:Q.z.string().nonempty(),srcDenom:Q.z.string().nonempty(),dstChainId:Q.z.string().nonempty(),dstDenom:Q.z.string().nonempty(),quantity:Q.z.string().nonempty("Amount is required"),sender:Q.z.string().nonempty(),cosmosWalletName:Q.z.string().optional(),recipient:Q.z.string().nonempty("Recipient address is required"),slippagePercent:Q.z.string().nonempty()});function Ve(){return ne.useFormContext()}function tm(){const e=ze(),s=em(),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=N.pickBy(i=>i!==null,{srcChainId:localStorage.getItem(H.BRIDGE_SRC_CHAIN_ID),srcDenom:localStorage.getItem(H.BRIDGE_SRC_DENOM),dstChainId:localStorage.getItem(H.BRIDGE_DST_CHAIN_ID),dstDenom:localStorage.getItem(H.BRIDGE_DST_DENOM),quantity:localStorage.getItem(H.BRIDGE_QUANTITY),slippagePercent:localStorage.getItem(H.BRIDGE_SLIPPAGE_PERCENT)});return{...s?r:o,...a,...e}}function uo(){const{initiaAddress:e,hexAddress:s}=qe(),n=We(),r=yt();return o=>{const a=n(o);switch(r(a)){case"initia":return e;case"evm":return s;default:return""}}}function Ys(){const e=We(),s=yt();return(n,r)=>{const o=e(r);switch(s(o)){case"initia":return F.validate(n);case"evm":return ve.isAddress(n);case"cosmos":try{return B.fromBech32(n).prefix===o.bech32_prefix}catch{return!1}default:return!1}}}function sm(){const e=We(),s=yt();return({initialAddress:n,initialChainId:r,chainId:o,fallbackAddress:a})=>{const i=e(r),d=s(i),c=e(o),l=s(c);if(d==="evm"&&l==="initia")return F.toBech32(n);if(d==="initia"&&l==="evm")return F.toPrefixedHex(n);if(d===l)return n;if(a){if(l==="initia")return F.toBech32(a);if(l==="evm")return F.toPrefixedHex(a)}return""}}const nm=[["d",24*60*60],["h",60*60],["m",60],["s",1]];function Js(e){if(!e)return;const{formattedParts:s}=nm.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 mo(e){return e==null?void 0:e.map(s=>{const{amount:n,origin_asset:r}=s;return`${re(n,{decimals:r.decimals??0})} ${r.symbol}`}).join(", ")}function Ln(e,s){const{watch:n}=Ve(),r=n(),o=Le(),a=We(),i=yt(),d={...r,quantity:e},c=k.useQueryClient();return k.useQuery({queryKey:pe.route(d,s==null?void 0:s.isOpWithdraw).queryKey,queryFn:()=>{const{srcChainId:l,srcDenom:u,quantity:m,dstChainId:h,dstDenom:_}=d,{symbol:x,decimals:f}=c.getQueryData(pe.asset(l,u).queryKey)??{decimals:0},y={amount_in:ds(m,f),source_asset_chain_id:l,source_asset_denom:u,dest_asset_chain_id:h,dest_asset_denom:_,go_fast:x==="USDC"&&i(a(l))==="evm",is_op_withdraw:s==null?void 0:s.isOpWithdraw};return o.post("v2/fungible/route",{json:y}).json()},enabled:!!Number(d.quantity)&&!(s!=null&&s.disabled),staleTime:K.MINUTE})}function rm(e){return k.useQuery({queryKey:pe.routeErrorInfo(e||new Error).queryKey,queryFn:async()=>{if(!e||!(e instanceof z.HTTPError))return null;const{response:s}=e;return(s.headers.get("content-type")??"").includes("application/json")?(await s.json()).info??null:null}})}function om(){var m,h,_;const{watch:e}=Ve(),{srcChainId:s,srcDenom:n,dstChainId:r,dstDenom:o}=e(),a=Ne(s),i=Pt(a),d=Ae(n,s),c=Ae(o,r),l=ye(),u=He();return i==="initia"&&r===l.chainId&&d.symbol===c.symbol&&((_=(h=(m=u.find(x=>x.chainId===s))==null?void 0:m.metadata)==null?void 0:h.op_denoms)==null?void 0:_.includes(c.denom))}var Zs=(e=>(e.FEE_BEHAVIOR_DEDUCTED="FEE_BEHAVIOR_DEDUCTED",e.FEE_BEHAVIOR_ADDITIONAL="FEE_BEHAVIOR_ADDITIONAL",e))(Zs||{});function gn(e,s){const n=Le();return k.useQuery({queryKey:pe.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:K.SECOND})}function am(e,s,n){const{data:r={}}=gn(e,s);return N.path([n],r)}const im=({address:e,chain:s,onSelect:n})=>{const r=_t(s.chain_id),{data:o={}}=gn(e,s.chain_id);return t.jsx(co,{assets:N.sortWith([N.descend(a=>a.symbol==="INIT"),N.descend(a=>a.value),({balance:a="0"},{balance:i="0"})=>E(i).comparedTo(a)??0,N.ascend(a=>a.symbol.toLowerCase())],r.filter(a=>!a.hidden).map(a=>{const{denom:i,symbol:d=se(i),logo_uri:c}=a,l=o[i]??{};return{...a,symbol:d,decimals:a.decimals??0,logoUrl:c??"",name:a.name??"",balance:l.amount,value:Number(l.value_usd??0)}})),onSelect:n})},cm=({type:e,afterSelect:s})=>{const n=e==="src"?"srcChainId":"dstChainId",r=e==="src"?"srcDenom":"dstDenom",o=e==="src"?"sender":"recipient",a=gt(),i=ln(),{watch:d,setValue:c,trigger:l}=Ve(),u=d("quantity"),m=d(o),h=d(n),[_,x]=p.useState(h),f=Ne(_),y=sm(),w=Pr(),[j,T]=N.partition(I=>w(I.chain_id),i.filter(I=>!I.hidden)),C=I=>{c(n,_),c(r,I),Number(u)&&l(),s()};return t.jsxs(t.Fragment,{children:[t.jsxs(nt.Stack,{children:[t.jsx(nt,{label:"Interwoven Economy",chains:j.map(({chain_id:I,chain_name:D,pretty_name:v,logo_uri:g})=>({chainId:I,name:v||D,logoUrl:g??""})),value:_,onSelect:x}),t.jsx(nt,{label:"Chains",chains:T.map(({chain_id:I,chain_name:D,pretty_name:v,logo_uri:g})=>({chainId:I,name:v||D,logoUrl:g??""})),value:_,onSelect:x})]}),t.jsx(ae,{children:t.jsx(im,{address:y({initialAddress:m,initialChainId:h,chainId:_,fallbackAddress:e==="src"?a:void 0}),chain:f,onSelect:C})},_)]})},Wn=({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}=Ve(),a=o(s),i=o(n),d=Ne(a),c=Ae(i,a);return t.jsx(at,{title:r,content:l=>t.jsx(cm,{type:e,afterSelect:l}),children:t.jsx(so,{asset:{denom:c.denom,decimals:c.decimals??0,symbol:c.symbol??se(c.denom),logoUrl:c.logo_uri??""},chain:{chainId:d.chain_id,name:d.pretty_name||d.chain_name,logoUrl:d.logo_uri??""}})})};function gs(){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 lm="_account_iwrlj_8",dm="_clear_iwrlj_27",um="_white_iwrlj_38",Et={account:lm,clear:dm,white:um},Qn=({type:e})=>{const{watch:s,setValue:n}=Ve(),{srcChainId:r,dstChainId:o,cosmosWalletName:a}=s(),d=s(e==="src"?"sender":"recipient"),c=Pt(Ne(o)),{list:l,find:u}=gs(),m=u(a),h=uo(),_=Ys(),x=h(o),f=F.equals(d,x),y=()=>t.jsx(at,{title:"Connect wallet",content:T=>t.jsx(Jr,{onSelect:async C=>{const I=C.getProvider();if(!I)return window.open(C.fallbackUrl,"_blank");const D=I.getOfflineSigner(r),[{address:v}]=await D.getAccounts();n("sender",v),n("cosmosWalletName",C.name),T()},list:l,getImage:C=>C.image,getName:C=>C.name,getKey:C=>C.name}),className:P(Et.account,{[Et.white]:!d}),children:d?t.jsxs(t.Fragment,{children:[m&&t.jsx(W,{src:m.image,width:18,height:18}),t.jsx("span",{className:"monospace",children:se(d)})]}):t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"Connect wallet"}),t.jsx(b.IconChevronRight,{size:14})]})}),w=T=>t.jsx(at,{title:"Recipient",content:C=>t.jsx(De,{children:t.jsx(xn,{mode:"onSubmit",myAddress:x,chainType:c,validate:I=>_(I,o),onApply:C})}),className:Et.account,children:T}),j=()=>{switch(c){case"initia":case"evm":return f?w(t.jsx(b.IconWallet,{size:14})):t.jsxs("div",{className:Et.account,children:[t.jsx("span",{className:"monospace",children:se(d)}),t.jsx("button",{type:"button",className:Et.clear,onClick:()=>n("recipient",x,{shouldValidate:!0}),"aria-label":"Reset to my address",children:t.jsx(b.IconCloseCircleFilled,{size:14})})]});case"cosmos":return w(t.jsxs(t.Fragment,{children:[d?t.jsx("span",{className:"monospace",children:se(d)}):t.jsx("span",{children:"Recipient"}),t.jsx(b.IconEdit,{size:14})]}))}};switch(e){case"src":return y();case"dst":return j()}},mm="_description_l5bcv_1",hm="_presets_l5bcv_8",_m="_preset_l5bcv_8",fm="_active_l5bcv_29",pm="_custom_l5bcv_40",xm="_wrapper_l5bcv_46",gm="_percent_l5bcv_49",be={description:mm,presets:hm,preset:_m,active:fm,custom:pm,wrapper:xm,percent:gm},Vn=["0.1","0.5","1.0"],ym=({afterConfirm:e})=>{const s=Ve(),n=s.getValues("slippagePercent"),[r,o]=p.useState(null),{control:a,watch:i,getValues:d,setValue:c}=ne.useForm({defaultValues:{value:n}}),l=i("value");p.useEffect(()=>{const f=Vn.findIndex(y=>y===n);o(f>=0?f:null)},[n]);const u=(f,y)=>{c("value",f),o(y)},m=()=>{o(null)},h=p.useMemo(()=>Number(l)>100?{type:"error",text:"Slippage must be less than 100%"}:Number(l)>5?{type:"warning",text:"Your transaction may be frontrun"}:Number(l)<.5?{type:"warning",text:"Your transaction may fail"}:null,[l]),_=(h==null?void 0:h.type)==="error",x=({value:f})=>{s.setValue("slippagePercent",f),e()};return t.jsxs(De,{children:[t.jsx("p",{className:be.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:be.presets,children:[Vn.map((f,y)=>t.jsxs("button",{type:"button",className:P(be.preset,{[be.active]:r===y}),onClick:()=>u(f,y),children:[f,"%"]},f)),r!==null?t.jsx("button",{type:"button",className:P(be.preset,be.custom),onClick:()=>o(null),children:"Custom"}):t.jsxs("div",{className:be.wrapper,children:[t.jsx(ro,{name:"value",control:a,dp:2,onFocus:m,placeholder:"",className:P(be.preset,be.active)}),t.jsx("span",{className:be.percent,children:"%"})]})]}),h&&t.jsx(Z,{level:h.type,children:h.text}),t.jsx(ee,{children:t.jsx(L.White,{type:"button",onClick:()=>x(d()),disabled:_,children:"Confirm"})})]})},jm="_stack_hvmmo_1",wm="_button_hvmmo_6",bm="_checked_hvmmo_14",vm="_checkmark_hvmmo_20",Cm="_inner_hvmmo_30",Nm="_info_hvmmo_42",Im="_duration_hvmmo_51",Sm="_amount_hvmmo_61",km="_symbol_hvmmo_71",$e={stack:jm,button:wm,checked:bm,checkmark:vm,inner:Cm,info:Nm,duration:Im,amount:Sm,symbol:km},$m=({children:e})=>t.jsx("div",{className:$e.stack,children:e}),es=({label:e,query:s,value:n,onSelect:r,checked:o})=>{const{data:a,isLoading:i}=s,{watch:d}=Ve(),{dstChainId:c,dstDenom:l}=d(),u=Ae(l,c);return t.jsxs("button",{type:"button",className:P($e.button,{[$e.checked]:o}),onClick:()=>r(n),children:[t.jsx("div",{className:$e.checkmark,children:o&&t.jsx("span",{className:$e.inner})}),t.jsxs("div",{className:$e.info,children:[t.jsx("div",{children:e}),t.jsxs("div",{className:$e.duration,children:[t.jsx(b.IconClockFilled,{size:12}),a?Js(a.estimated_route_duration_seconds):"Not available"]})]}),t.jsx("div",{className:$e.amount,children:i?t.jsx(Qe,{size:14}):t.jsxs(t.Fragment,{children:[t.jsx("span",{children:re(a==null?void 0:a.amount_out,{decimals:u.decimals})}),t.jsx("span",{className:$e.symbol,children:u.symbol})]})})]})};es.Stack=$m;const Em="_form_lelld_1",Tm="_arrow_lelld_5",Am="_divider_lelld_13",qm="_flip_lelld_21",Dm="_meta_lelld_37",Pm="_row_lelld_50",Fm="_title_lelld_56",Bm="_description_lelld_60",Rm="_icon_lelld_67",Om="_edit_lelld_72",Mm="_warning_lelld_93",J={form:Em,arrow:Tm,divider:Am,flip:qm,meta:Dm,row:Pm,title:Fm,description:Bm,icon:Rm,edit:Om,warning:Mm},Um=()=>{var bn,vn,Cn;const e=me(),[s,n]=de.useLocalStorage(H.BRIDGE_ROUTE_TYPE,"default",{raw:!0}),{watch:r,setValue:o,handleSubmit:a,trigger:i,formState:d}=Ve(),c=r(),{srcChainId:l,srcDenom:u,dstChainId:m,dstDenom:h,quantity:_,sender:x,slippagePercent:f}=c,y=it(),w=Ne(l),j=Pt(w),T=Ne(m),C=Pt(T),I=Ae(u,l),D=Ae(h,m),{data:v}=gn(x,l),g=am(x,l,u);p.useEffect(()=>{Number(_)&&i()},[g,_,i]);const[S,O]=p.useState(_);de.useDebounce(()=>O(_),300,[_]);const U=j!=="initia"&&C!=="initia",A=om(),M=Ln(S,{disabled:U}),V=Ln(S,{isOpWithdraw:!0,disabled:!A}),je=A&&s==="op"?V:M,{data:ie,isLoading:we,isFetching:Y,isFetched:xe,error:vt}=je,{data:ce}=rm(vt),[le,Ct]=p.useState(ie);p.useEffect(()=>{ie&&Ct({...ie,amount_out:"0",usd_amount_in:"0",usd_amount_out:"0"})},[ie]);const $=xe?ie:S?le:void 0,ws=S&&(we||Y),bs=()=>{o("srcChainId",m),o("srcDenom",h),o("dstChainId",l),o("dstDenom",u),Number(_)&&i()},{openModal:bo,closeModal:yn}=ms(),vo=a(R=>{if($!=null&&$.warning){const{type:he="",message:Ns}=$.warning??{};bo({content:t.jsx(Wr,{type:"warning",icon:t.jsx(b.IconWarningFilled,{size:40}),title:ls.sentenceCase(he),primaryButton:{label:"Cancel",onClick:yn},secondaryButton:{label:"Proceed anyway",onClick:()=>{e("/bridge/preview",{route:$,values:R}),yn()}},children:t.jsx("p",{className:J.warning,children:Ns})})});return}e("/bridge/preview",{route:$,values:R})}),Co=p.useMemo(()=>{var R;return((R=$==null?void 0:$.estimated_fees)==null?void 0:R.filter(({fee_behavior:he})=>he===Zs.FEE_BEHAVIOR_DEDUCTED))??[]},[$]),vs=p.useMemo(()=>{var R;return((R=$==null?void 0:$.estimated_fees)==null?void 0:R.filter(({fee_behavior:he})=>he===Zs.FEE_BEHAVIOR_ADDITIONAL))??[]},[$]),Cs=p.useMemo(()=>{var R;for(const he of vs){const Ns=((R=v==null?void 0:v[he.origin_asset.denom])==null?void 0:R.amount)??"0",ko=($==null?void 0:$.source_asset_denom)===he.origin_asset.denom?$.amount_in:"0";if(E(Ns).lt(E(ko).plus(he.amount??"0")))return`Insufficient ${he.origin_asset.symbol} for fees`}},[v,$,vs]),jn=p.useMemo(()=>{if(!c.sender)return"Connect wallet";if(!c.quantity||!S)return"Enter amount";if(!c.recipient)return"Enter recipient address";if(d.errors.quantity)return d.errors.quantity.message;const R=lo.safeParse(c);if(!R.success)return`Invalid ${R.error.issues[0].path}`;if(!$)return"Route not found";if(Cs)return Cs},[S,Cs,d,$,c]),No=$?re($.amount_out,{decimals:D.decimals}):"0",Io=E(_).gt(0)&&E(_).isEqualTo(qt(g==null?void 0:g.amount,(g==null?void 0:g.decimals)??0)),So=(()=>{switch(j){case"initia":return y(l).fees.fee_tokens.some(({denom:R})=>R===u);case"cosmos":return w.fee_assets.some(({denom:R})=>R===u);case"evm":return!ve.isAddress(u);default:return!1}})(),wn=(R,he)=>R.length?t.jsxs("div",{className:J.description,children:[mo(R),t.jsx(wt,{label:he,children:t.jsx("span",{className:J.icon,children:t.jsx(b.IconInfoFilled,{size:12})})})]}):null;return t.jsxs("form",{className:J.form,onSubmit:vo,children:[t.jsx(Qs,{selectButton:t.jsx(Wn,{type:"src"}),accountButton:j==="cosmos"&&t.jsx(Qn,{type:"src"}),quantityInput:t.jsx(os,{}),balanceButton:t.jsx(no,{onClick:()=>o("quantity",qt(g==null?void 0:g.amount,I==null?void 0:I.decimals),{shouldValidate:!0}),children:re(g==null?void 0:g.amount,{decimals:I.decimals})}),value:$?$.usd_amount_in?rt($.usd_amount_in):"-":"0"}),t.jsxs("div",{className:J.arrow,children:[t.jsx("div",{className:J.divider}),t.jsx("button",{type:"button",className:J.flip,onClick:()=>bs(),children:t.jsx(b.IconChevronDown,{size:16})})]}),t.jsx(Qs,{selectButton:t.jsx(Wn,{type:"dst"}),accountButton:t.jsx(Qn,{type:"dst"}),quantityInput:t.jsx(os.ReadOnly,{children:No}),value:$?$.usd_amount_out?rt($.usd_amount_out):"-":"0"}),t.jsx(ee,{extra:t.jsxs(t.Fragment,{children:[t.jsx(Hs,{children:E(_).gt(0)&&A?t.jsxs(es.Stack,{children:[t.jsx(es,{label:"Minitswap",query:M,value:"default",onSelect:n,checked:s==="default"}),t.jsx(es,{label:"Optimistic bridge",query:V,value:"op",onSelect:n,checked:s==="op"})]}):null}),t.jsxs(Z.Stack,{children:[(bn=$==null?void 0:$.extra_infos)==null?void 0:bn.map(R=>t.jsx(Z,{level:"info",children:R},R)),ce&&t.jsx(Z,{level:"info",children:ce}),Io&&So&&t.jsx(Z,{level:"warning",children:"Make sure to leave enough for transaction fee"}),($==null?void 0:$.warning)&&t.jsx(Z,{level:"warning",children:$.warning.message}),(vn=$==null?void 0:$.extra_warnings)==null?void 0:vn.map(R=>t.jsx(Z,{level:"warning",children:R},R))]}),t.jsx(Hs,{children:$&&t.jsxs("div",{className:J.meta,children:[!!((Cn=$.estimated_fees)!=null&&Cn.length)&&t.jsxs("div",{className:J.row,children:[t.jsx("span",{className:J.title,children:"Fees"}),t.jsxs("div",{children:[wn(Co,"Fee deducted from the amount you receive"),wn(vs,"Fee charged in addition to the amount you enter")]})]}),Js($.estimated_route_duration_seconds)&&t.jsxs("div",{className:J.row,children:[t.jsx("span",{className:J.title,children:"Estimated time"}),t.jsx("span",{className:J.description,children:Js($.estimated_route_duration_seconds)})]}),$.does_swap&&t.jsxs("div",{className:J.row,children:[t.jsx("span",{className:J.title,children:"Slippage"}),t.jsxs("span",{className:J.description,children:[t.jsxs("span",{children:[f,"%"]}),t.jsx(at,{title:"Slippage tolerance",content:R=>t.jsx(ym,{afterConfirm:R}),className:J.edit,children:t.jsx(b.IconSettingFilled,{size:12})})]})]})]})})]}),children:t.jsx(L.White,{loading:ws&&"Simulating...",disabled:!!jn,children:jn??"Preview route"})})]})},zm=()=>{Qr();const e=Qo(),s=me(),{closeDrawer:n}=xt(),r=gt(),o=tm(),a=Ys(),i=k.useQueryClient(),d=ne.useForm({mode:"onChange",defaultValues:o,resolver:sn.zodResolver(lo.superRefine(({srcChainId:A,srcDenom:M,quantity:V,sender:je},ie)=>{const we=i.getQueryData(pe.balances(A,je).queryKey),Y=N.pathOr("0",["chains",A,"denoms",M,"amount"],we),{decimals:xe}=i.getQueryData(pe.asset(A,M).queryKey)??{decimals:0};eo({quantity:V,balance:Y,decimals:xe},ie)}).superRefine(({dstChainId:A,recipient:M},V)=>{if(!a(M,A)){V.addIssue({code:Q.z.ZodIssueCode.custom,message:"Invalid address",path:["recipient"]});return}}))}),{watch:c,setValue:l}=d,{srcChainId:u,dstChainId:m,srcDenom:h,dstDenom:_,quantity:x,slippagePercent:f,recipient:y}=c();c((A,{name:M})=>{(M==="srcChainId"||M==="srcDenom")&&l("quantity","")});const w=uo(),j=w(u),T=w(m),I=Ys()(y,m);p.useEffect(()=>{l("cosmosWalletName",void 0),l("sender",j)},[u,j,l]),p.useEffect(()=>{I||l("recipient",T)},[T,I,l]);const D=_t(u),v=_t(m),g=p.useMemo(()=>{if(!D.find(A=>A.denom===h))return`${h} is not available for bridge/swap on ${u}`;if(!v.find(A=>A.denom===_))return`${_} is not available for bridge/swap on ${m}`},[v,m,_,D,u,h]);p.useEffect(()=>{g||(localStorage.setItem(H.BRIDGE_SRC_CHAIN_ID,u),localStorage.setItem(H.BRIDGE_SRC_DENOM,h),localStorage.setItem(H.BRIDGE_DST_CHAIN_ID,m),localStorage.setItem(H.BRIDGE_DST_DENOM,_),localStorage.setItem(H.BRIDGE_QUANTITY,x),localStorage.setItem(H.BRIDGE_SLIPPAGE_PERCENT,f))},[u,h,m,_,x,f,g]);const S=e[0].path==="/bridge",O=()=>t.jsxs(t.Fragment,{children:[t.jsx(ue,{error:!0,children:g}),t.jsx(ee,{children:S?t.jsx(L.White,{onClick:n,children:"Close"}):t.jsx(L.White,{onClick:()=>s(-1),children:"Go back"})})]}),{reminders:U}=jt();return t.jsx(Pe,{title:"Bridge/Swap",returnTo:S?!1:"/",extra:t.jsxs(t.Fragment,{children:[t.jsx(L.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(oo,{offset:0,disabled:U.length===0,children:t.jsx(L.Small,{onClick:()=>s("/op/withdrawals"),disabled:!r,children:t.jsx("span",{children:"Withdrawal status"})})})]}),children:g?O():t.jsx(ne.FormProvider,{...d,children:t.jsx(ae,{children:t.jsx(Um,{})})})})},ct=Ue.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 ys(){const{restUrl:e}=ye();return p.useMemo(()=>z.create({prefixUrl:e}),[e])}function Km(e){const s=ys(),{data:n}=k.useSuspenseQuery({queryKey:ct.bridge(e).queryKey,queryFn:()=>s.get(`opinit/ophost/v1/bridges/${e}`).json(),staleTime:K.INFINITY});return n}const Gn=20;function Hm(e){const s=X();return k.useSuspenseInfiniteQuery({queryKey:ct.withdrawals(e,s).queryKey,queryFn:async({pageParam:n})=>{if(!s)return[];const r={limit:Gn,offset:n,order:"desc"},{withdrawals:o}=await z.create({prefixUrl:e}).get(`withdrawals/${s}`,{searchParams:r}).json();return o},getNextPageParam:n=>{var o;const r=(o=N.last(n))==null?void 0:o.sequence;return n.length<Gn||!r||r<=1?null:r-1},initialPageParam:0,staleTime:K.SECOND})}function Lm(e){const s=ys(),{data:n}=k.useSuspenseQuery({queryKey:ct.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:K.SECOND});return n}function Wm({bridge_id:e,output_index:s}){const n=ys(),{data:r}=k.useSuspenseQuery({queryKey:ct.output(e,s).queryKey,queryFn:async()=>{try{return await n.get(`opinit/ophost/v1/bridges/${e}/outputs/${s}`).json()}catch{return null}},staleTime:K.SECOND});return r}function Qm({bridge_id:e,sequence:s}){var c,l;const r=(c=He().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=it()(r);if(!a)throw new Error(`Chain not found: ${r}`);const i=(l=a.metadata)==null?void 0:l.executor_uri;if(!i)throw new Error(`Executor URL not found: ${r}`);const{data:d}=k.useSuspenseQuery({queryKey:ct.outputResponse(i,s).queryKey,queryFn:()=>z.create({prefixUrl:i}).get(`withdrawal/${s}`).json(),staleTime:K.SECOND});return d}function ho(e,s){const{bridge_id:n}=e,r=ys(),{data:o}=k.useSuspenseQuery({queryKey:ct.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:K.SECOND});return o}function Tt(e){return tn.sha3_256.create().update(e).digest()}function Os(e,s){const n=new ArrayBuffer(s);return new DataView(n).setBigUint64(0,BigInt(e),!1),new Uint8Array(n)}function _o(e){const{bridge_id:s,sequence:n,amount:r,from:o,to:a}=e,i=Os(s.toString(),8),d=Os(n.toString(),8),c=Os(r.amount,8),l=tt.concatBytes(i,d,Tt(tt.toBytes(o)),Tt(tt.toBytes(a)),Tt(tt.toBytes(r.denom)),c);return Tt(Tt(l))}const fo=p.createContext(null);function js(){return p.useContext(fo)}const Vm="_asset_6h8u2_1",Gm="_info_6h8u2_7",Ym="_symbol_6h8u2_11",Ms={asset:Vm,info:Gm,symbol:Ym},Jm=({amount:e,denom:s})=>{const n=ye(),r=an(s,n),{symbol:o,logoUrl:a,decimals:i}=r;return t.jsxs("div",{className:Ms.asset,children:[t.jsx(W,{src:a,width:32,height:32}),t.jsxs("div",{className:Ms.info,children:[t.jsx("span",{children:re(e,{decimals:i})}),t.jsx("span",{className:Ms.symbol,children:o})]})]})},Zm=({children:e})=>{const{withdrawalTx:s}=js(),n=Lm(s.bridge_id),r=s.output_index>Number(n==null?void 0:n.output_index);return e(r)},Xm="_container_1oldz_1",eh="_icon_1oldz_7",Yn={container:Xm,icon:eh},th="Your withdrawal request is being processed, and time remaining will show up once it is in queue.",Jn=()=>t.jsxs("div",{className:Yn.container,children:[t.jsx("span",{children:"Withdrawal submitted"}),t.jsx(wt,{label:th,children:t.jsx("span",{className:Yn.icon,children:t.jsx(b.IconInfoFilled,{size:12})})})]}),po=1e3,sh=60,nh=60,rh=24,Xs=po*sh,en=Xs*nh,Zn=en*rh,oh=({date:e})=>{const s=p.useCallback(()=>{const l=new Date().getTime(),m=e.getTime()-l;if(m<=0)return{days:0,hours:0,minutes:0,seconds:0};const h=Math.floor(m/Zn),_=Math.floor(m%Zn/en),x=Math.floor(m%en/Xs),f=Math.floor(m%Xs/po);return{days:h,hours:_,minutes:x,seconds:f}},[e]),[n,r]=p.useState(s());p.useEffect(()=>{const l=window.setInterval(()=>{r(s())},1e3);return()=>window.clearInterval(l)},[s,e]);const o=l=>l.toString().padStart(2,"0"),{days:a,hours:i,minutes:d,seconds:c}=n;return t.jsx(wt,{label:e.toLocaleString(),children:t.jsxs("span",{className:"monospace",children:[a,"d ",o(i),"h ",o(d),"m ",o(c),"s"]})})},ah="_container_1oldz_1",ih="_icon_1oldz_7",Xn={container:ah,icon:ih},ch="Time remaining before you can claim",lh=({date:e})=>t.jsxs("div",{className:Xn.container,children:[t.jsx(oh,{date:e}),t.jsx(wt,{label:ch,children:t.jsx("span",{className:Xn.icon,children:t.jsx(b.IconInfoFilled,{size:12})})})]}),dh=({children:e})=>{const{withdrawalTx:s}=js(),n=Km(s.bridge_id),r=Wm(s),o=p.useMemo(()=>{if(!r)return null;const{bridge_config:a}=n,{output_proposal:i}=r;return ft.addSeconds(new Date(i.l1_block_time),parseFloat(a.finalization_period))},[n,r]);return e(o)},uh=({date:e,children:s})=>{const{chainId:n,withdrawalTx:r}=js(),o=B.toBase64(_o(r)),a=ho(r,o),{setReminder:i,removeReminder:d}=jt();return p.useEffect(()=>{const c={chainId:n,txHash:r.tx_hash};a?d(c):i(c,{...c,recipient:r.to,claimableAt:e.getTime(),amount:r.amount.amount,denom:r.amount.denom,dismissed:ft.isPast(e.getTime())?!0:void 0})},[n,a,e,d,i,r]),s},mh="_button_wwvzw_1",hh="_claimed_wwvzw_16",er={button:mh,claimed:hh},_h=()=>{const{withdrawalTx:e}=js(),{bridge_id:s,sequence:n,amount:r,output_index:o,withdrawal_proofs:a,storage_root:i,from:d,to:c,version:l}=e,u=ye(),m=X(),{requestTxSync:h,waitForTxConfirmation:_}=qe(),x=Qm(e),f=B.toBase64(_o(e)),y=ho(e,f),w=k.useQueryClient(),{mutate:j,isPending:T}=k.useMutation({mutationFn:async()=>{if(!x)throw new Error("Output not found");const{last_block_hash:C}=x;return h({chainId:u.chain_id,messages:[{typeUrl:"/opinit.ophost.v1.MsgFinalizeTokenWithdrawal",value:Ro.MsgFinalizeTokenWithdrawal.fromPartial({sender:m,bridgeId:BigInt(s),outputIndex:BigInt(o),withdrawalProofs:a.map(B.fromBase64),from:d,to:c,sequence:BigInt(n),amount:r,version:B.fromBase64(l),storageRoot:B.fromBase64(i),lastBlockHash:B.fromBase64(C)})}],internal:!0})},onSuccess:async C=>{await _({chainId:u.chain_id,txHash:C}),w.invalidateQueries({queryKey:ct.withdrawalClaimed(s,f).queryKey})}});return y?t.jsxs("div",{className:er.claimed,children:[t.jsx(b.IconCheckCircleFilled,{size:14}),t.jsx("span",{children:"Success"})]}):t.jsx("button",{className:er.button,onClick:()=>j(),disabled:T,children:"Claim"})},fh=()=>t.jsx(Zm,{children:e=>e?t.jsx(Jn,{}):t.jsx(dh,{children:s=>s?t.jsx(uh,{date:s,children:ft.isFuture(s)?t.jsx(lh,{date:s}):t.jsx(_h,{})}):t.jsx(Jn,{})})}),ph="_item_km5w2_1",xh="_more_km5w2_12",tr={item:ph,more:xh},gh=({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,isFetchingNextPage:a}=Hm(s),i=p.useMemo(()=>(n==null?void 0:n.pages.flat())??[],[n]),{syncReminders:d}=jt();return p.useEffect(()=>{const l=i.map(u=>({chainId:e.chainId,txHash:u.tx_hash}));d(l)},[e.chainId,i,d]),i.length?t.jsxs(t.Fragment,{children:[i.map(l=>{const{amount:u}=l;return t.jsxs("div",{className:tr.item,children:[t.jsx(Jm,{...u}),t.jsx(ae,{suspenseFallback:null,children:t.jsx(fo.Provider,{value:{chainId:e.chainId,withdrawalTx:l},children:t.jsx(fh,{})})})]},l.sequence)}),o&&t.jsx("button",{className:tr.more,onClick:()=>r(),disabled:a,children:a?t.jsx(Qe,{size:14}):t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"Load more"}),t.jsx(b.IconChevronDown,{size:14})]})})]}):t.jsx(ue,{children:"No withdrawals"})},yh="_content_dj1qm_1",jh="_title_dj1qm_5",sr={content:yh,title:jh},wh=()=>{var c;const{chainId:e}=ze(),s=He(),n=hs(),[r,o]=p.useState(e??((c=n.metadata)!=null&&c.is_l1?"":n.chainId)),a=it(),{reminders:i}=jt(),d=r?a(r):void 0;return t.jsxs(Pe,{title:"Optimistic bridge withdrawals",children:[t.jsx(nt,{chains:s.filter(({metadata:l})=>{var u;return!(l!=null&&l.is_l1)&&((u=l==null?void 0:l.op_denoms)==null?void 0:u.length)}),value:r,onSelect:o,getShowIndicator:l=>i.some(u=>u.chainId===l)}),t.jsx("div",{className:sr.content,children:d?t.jsxs(t.Fragment,{children:[t.jsx("h2",{className:sr.title,children:d.name}),t.jsx(ae,{children:t.jsx(gh,{chain:d})},r)]}):t.jsx(Z,{level:"info",children:"Select a chain to display your optimistic bridge withdrawals"})})]})};async function bh(e,s){const n=z.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 ts=({chainId:e,txHash:s})=>`${H.BRIDGE_HISTORY}:${e}:${s}`,as=100;function xo(){const[e=[],s]=de.useLocalStorage(H.BRIDGE_HISTORY,[]),n=p.useCallback((o,a)=>{localStorage.setItem(ts(o),JSON.stringify(a));for(const i of e.slice(as-1))localStorage.removeItem(ts(i));s((i=[])=>[o,...i.slice(0,as-1)])},[e,s]),r=p.useCallback(o=>{const a=localStorage.getItem(ts(o));return a?JSON.parse(a):null},[]);return{history:e,addHistoryItem:n,getHistoryDetails:r}}function vh(e){return de.useLocalStorage(ts(e))}async function go(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(d){if(N.path(["error","code"],d)!==4902)throw d;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 bt(){return ze()}function Ch(e){const s=me(),{showNotification:n,updateNotification:r,hideNotification:o}=Rr(),{addHistoryItem:a}=xo(),{route:i,values:d}=bt(),{srcChainId:c,sender:l,recipient:u,cosmosWalletName:m}=d,h=vr(),{requestTxSync:_,waitForTxConfirmation:x}=qe(),{find:f}=gs(),y=on(),w=_s(),j=Ne(c),T=Pt(j),C=Fr(c),I=k.useQueryClient(),{addReminder:D}=jt();return k.useMutation({mutationFn:async()=>{var v;try{if("cosmos_tx"in e){if(!e.cosmos_tx.msgs)throw new Error("Invalid transaction data");const g=e.cosmos_tx.msgs.map(({msg_type_url:ce,msg:le})=>{if(!(ce&&le))throw new Error("Invalid transaction data");return w.fromAmino({type:At.aminoConverters[ce].aminoType,value:JSON.parse(le)})});if(T==="initia"){const ce=await _({messages:g,chainId:c,internal:1}),le=x({txHash:ce,chainId:c});return{txHash:ce,wait:le}}const S=(v=f(m))==null?void 0:v.getProvider();if(!S)throw new Error("Wallet not connected");const O=S.getOfflineSignerOnlyAmino(c),U=await Ee.SigningStargateClient.connectWithSigner(j.rpc,O,{registry:y,aminoTypes:w}),A=await U.getAllBalances(l),M=j.fee_assets.find(ce=>A.some(le=>le.denom===ce.denom&&E(le.amount).gt(0)));if(!M){const le=["Insufficient balance for fees.",`Available fee assets: ${j.fee_assets.map(Ct=>C(Ct.denom).symbol).join(", ")}`,"(note: asset symbols may refer to different tokens across chains)"].join(" ");throw new Error(le)}const{denom:V,gas_price:je}=M;if(!je)throw new Error(`Gas price not found for ${V}`);const ie=await U.simulate(l,g,""),we=Ee.GasPrice.fromString(je.average+V),Y=Ee.calculateFee(Math.ceil(ie*nn),we),xe=await U.signAndBroadcastSync(l,g,Y),vt=Sr({txHash:xe,client:U});return{txHash:xe,wait:vt}}if("evm_tx"in e){const{chain_id:g,to:S,value:O,data:U}=e.evm_tx,A=await h(),M=await A.getSigner();await go(A,j);const V=await M.sendTransaction({chainId:g,to:S,value:O,data:`0x${U}`});return{txHash:V.hash,wait:V.wait()}}throw new Error("Unsupported chain type")}catch(g){throw new Error(await Ke(g))}},onSuccess:({txHash:v,wait:g})=>{s(-1),n({type:"loading",title:"Transaction is pending..."}),g.then(()=>{const S={chainId:c,txHash:v},O=yo(i)==="Optimistic bridge withdrawal";a(S,{...S,timestamp:Date.now(),route:i,values:d,state:O?"success":void 0}),r({type:"info",title:"Transaction submitted",description:p.createElement(p.Fragment,null,"Check ",p.createElement(Rt,{to:"/bridge/history",onClick:o},"the activity page")," for transaction status")}),O&&D(S,{...S,recipient:F.toBech32(u),claimableAt:Date.now()+i.estimated_route_duration_seconds*1e3,amount:i.amount_out,denom:i.dest_asset_denom})}).catch(S=>{r({type:"error",title:"Transaction failed",description:S.message})}).finally(()=>{I.invalidateQueries({queryKey:pe.balances(c,l).queryKey})})},onError:v=>{n({type:"error",title:"Transaction failed",description:v.message})}})}function Nh(){const e=Le(),s=X(),n=wr(),{route:r,values:o}=bt(),a=We();return k.useMutation({mutationFn:async()=>{try{const{chain_id:i,hook:d}=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:o.recipient,dest_asset_chain_id:r.dest_asset_chain_id,dest_asset_denom:r.dest_asset_denom}}).json();await bh(s,a(r.dest_asset_chain_id).rest);const c=d.map(({msg_type_url:m,msg:h})=>At.aminoTypes.fromAmino({type:At.aminoConverters[m].aminoType,value:JSON.parse(h)})),l=await n(i,s,c,{amount:[],gas:"1"},""),u=ht.Tx.fromPartial({body:ht.TxBody.decode(l.bodyBytes),authInfo:ht.AuthInfo.decode(l.authInfoBytes),signatures:l.signatures});return{signer:s,hook:B.toBase64(ht.Tx.encode(u).finish())}}catch(i){throw new Error(await Ke(i))}}})}function Ih(e){const{chainId:s,txHash:n}=e,r=Le();return k.useQuery({queryKey:pe.txTrack(s,n).queryKey,queryFn:async()=>{try{return await r.post("v2/tx/track",{json:{tx_hash:n,chain_id:s}}).json()}catch(o){throw new Error(await Ke(o))}},select:({tx_hash:o})=>o,retry:30,retryDelay:1e3,staleTime:K.INFINITY})}function Sh(e){const{timestamp:s,chainId:n,txHash:r,state:o}=e,a=Le();return k.useQuery({queryKey:pe.txStatus(n,r).queryKey,queryFn:()=>a.get("v2/tx/status",{searchParams:{tx_hash:r,chain_id:n}}).json(),enabled:!!r&&!o,refetchInterval:({state:{data:i}})=>{if(!i)return!1;const{status:d}=i;if(d==="STATE_COMPLETED")return!1;const c=s+e.route.estimated_route_duration_seconds*1e3,l=Date.now(),u=Math.floor((c-l)/1e3);return u<=0?1e3:u<=5*60?5e3:60*1e3},staleTime:K.INFINITY})}var ss=(e=>(e.OP_WITHDRAW="Optimistic bridge withdrawal",e.SKIP="Skip",e))(ss||{});function yo(e){const{operations:s,dest_asset_denom:n}=e;return N.has("op_init_transfer",N.head(s))&&n==="uinit"?"Optimistic bridge withdrawal":"Skip"}const kh="_content_c0tee_1",$h="_info_c0tee_6",Eh="_arrow_c0tee_11",Th="_divider_c0tee_19",Ah="_type_c0tee_26",qh="_asset_c0tee_44",Dh="_amount_c0tee_52",Ph="_lower_c0tee_57",Fh="_chain_c0tee_63",Bh="_address_c0tee_69",fe={content:kh,info:$h,arrow:Eh,divider:Th,type:Ah,asset:qh,amount:Dh,lower:Ph,chain:Fh,address:Bh},jo=e=>{const{source:s,label:n,amount:r,denom:o,chainId:a,address:i,walletIcon:d}=e,{symbol:c=se(o),decimals:l=0,logo_uri:u=kr}=e,{chain_name:m,pretty_name:h,..._}=Ne(a);return t.jsxs("div",{children:[!s&&t.jsxs("div",{className:fe.arrow,children:[t.jsx("div",{className:fe.divider}),n?t.jsx(wt,{label:n,children:t.jsx("button",{className:fe.type,children:t.jsx(b.IconArrowDown,{size:12})})}):t.jsx("span",{className:fe.type,children:t.jsx(b.IconArrowDown,{size:12})}),t.jsx("div",{className:fe.divider})]}),t.jsxs("div",{className:fe.content,children:[t.jsx(pn,{assetLogoUrl:u,chainLogoUrl:_.logo_uri??void 0}),t.jsxs("div",{className:fe.info,children:[t.jsxs("div",{className:fe.asset,children:[t.jsx("span",{className:fe.amount,children:re(r,{decimals:l})}),t.jsx("span",{children:c})]}),t.jsxs("div",{className:fe.lower,children:[t.jsxs("div",{className:fe.chain,children:["on ",h||m]}),i&&t.jsx(Lr,{value:i,children:({copy:x,copied:f})=>t.jsxs("button",{className:fe.address,onClick:x,children:[d,f?t.jsx("span",{children:"Copied!"}):t.jsx("span",{className:"monospace",children:se(i)})]})})]})]})]})]})},mt=e=>{const s=Ae(e.denom,e.chainId);return t.jsx(jo,{...e,...s})};mt.Placeholder=jo;const Rh="_root_133os_1",Oh="_toggle_133os_6",Mh="_route_133os_29",Uh="_content_133os_36",Jt={root:Rh,toggle:Oh,route:Mh,content:Uh};function zh(e){if("transfer"in e)return{label:"Bridge",...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 Kh=({addressList:e})=>{var I;const{values:s,route:n}=bt(),{source_asset_denom:r,source_asset_chain_id:o,amount_in:a,operations:i}=n,d=N.zipObj(n.required_chain_addresses,e),{find:c}=gs(),{connector:l,address:u=""}=ge.useAccount(),[m,h]=de.useToggle(!1),_=i.length>1,x=t.jsx(W,{src:s.cosmosWalletName?(I=c(s.cosmosWalletName))==null?void 0:I.image:l==null?void 0:l.icon,width:12,height:12}),f={amount:a,denom:r,chainId:o,address:s.sender,walletIcon:x},y=D=>F.equals(D,u)?x:t.jsx(b.IconWallet,{size:11}),w=D=>{const{label:v,amount_out:g,denom:S,denom_out:O=S,chain_id:U,from_chain_id:A,to_chain_id:M=U??A}=D,V=d[M];return{label:_&&!m?void 0:v,amount:g,denom:O,chainId:M,address:V,walletIcon:y(V)}},j=i.map(zh).map(w),T=j.slice(0,-1),C=j[j.length-1];return t.jsxs(q.Collapsible.Root,{className:Jt.root,open:m,onOpenChange:h,children:[_&&t.jsx(q.Collapsible.Trigger,{asChild:!0,children:t.jsx(Ws,{children:t.jsx("button",{className:Jt.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:Jt.route,children:[t.jsx(mt,{...f,source:!0}),t.jsx(q.Collapsible.Content,{className:Jt.content,children:T.map((D,v)=>t.jsx(ae,{suspenseFallback:t.jsx(mt.Placeholder,{...D}),errorBoundaryProps:{fallback:t.jsx(mt.Placeholder,{...D})},children:t.jsx(mt,{...D})},v))}),t.jsx(mt,{...C})]})]})},is=({error:e})=>{const s=me();return t.jsx(ee,{extra:t.jsx(Z,{level:"error",children:e.message}),children:t.jsx(L.White,{onClick:()=>s("/bridge"),children:"Home"})})},Hh=({children:e})=>{const s=bt(),{route:n,values:r}=s,{required_chain_addresses:o}=n,{srcChainId:a,dstChainId:i,sender:d,recipient:c}=r,{initiaAddress:l,hexAddress:u}=qe(),m=fs(),h=We(),_=yt(),x=h(a),f=_(x),y=o.slice(0,-1).some(C=>{const I=h(C);return _(I)==="cosmos"})&&f!=="cosmos",{value:w,loading:j,error:T}=de.useAsync(async()=>{try{if(!y)return;if(!m)throw new Error("Wallet not connected");const[{pubkey:C}]=await m.getAccounts();return C}catch(C){throw new Error(await Ke(C))}});if(T)return t.jsx(is,{error:T});if(j)return t.jsx(ee,{children:t.jsx(L.White,{loading:j&&"Generating intermediary addresses..."})});if(!y||w){const C=o.map((I,D)=>{if(D===o.length-1){const U=h(i);return _(U)==="initia"?F.toBech32(c):c}const v=h(I),g=_(v),S=h(a),O=_(S);switch(g){case"initia":return l;case"evm":return u;case"cosmos":{if(O==="cosmos")return B.toBech32(v.bech32_prefix,B.fromBech32(d).data);if(!w)throw new Error("Pubkey not found");return ns.pubkeyToAddress(ns.encodeSecp256k1Pubkey(w),v.bech32_prefix)}default:throw new Error("Unsupported chain type")}});return e(C)}return t.jsx(is,{error:new Error("Failed to generate intermediary addresses")})},Lh=({addressList:e,signedOpHook:s,children:n})=>{const r=Le(),{route:o,values:a}=bt(),{value:i,loading:d,error:c}=de.useAsync(async()=>{if(o.required_op_hook&&!s)throw new Error("Op hook is required");const l={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:u}=await r.post("v2/fungible/msgs",{json:l}).json();if(!u||u.length===0)throw new Error("No transaction data found");const[m]=u;return m});return c?t.jsx(is,{error:c}):d?t.jsx(ee,{children:t.jsx(L.White,{loading:d&&"Fetching messages..."})}):i?n(i):t.jsx(is,{error:new Error("Failed to fetch messages")})},Wh=({children:e})=>{var r;const{route:s}=bt(),n=Nh();return s.required_op_hook&&!n.data?t.jsx(ee,{extra:t.jsx(Z,{level:"error",children:(r=n.error)==null?void 0:r.message}),children:t.jsx(L.White,{onClick:()=>n.mutate(),loading:n.isPending&&"Awaiting signature...",children:"Authorize conversion"})}):e(n.data)},Qh=({tx:e,children:s})=>{const n=vr(),r=We(),{mutate:o,data:a,isPending:i,error:d}=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,l=await n(),u=await l.getSigner();await go(l,r(c));for(const m of e.evm_tx.required_erc20_approvals){const{token_contract:h,spender:_,amount:x}=m,f=["function approve(address spender, uint256 amount) external returns (bool)"];await(await new ve.ethers.Contract(h,f,u).approve(_,x)).wait()}return!0}catch(c){throw new Error(await Ke(c))}}});return"evm_tx"in e&&e.evm_tx.required_erc20_approvals&&e.evm_tx.required_erc20_approvals.length>0&&!a?t.jsx(ee,{extra:t.jsx(Z,{level:"error",children:d==null?void 0:d.message}),children:t.jsx(L.White,{onClick:()=>o(),loading:i&&"Approving tokens...",children:"Approve tokens"})}):s},Vh=({tx:e})=>{const{mutate:s,isPending:n}=Ch(e);return t.jsx(ee,{children:t.jsx(L.White,{onClick:()=>s(),loading:n&&"Signing transaction...",children:"Confirm"})})},Gh=()=>t.jsx(Pe,{title:"Route preview",children:t.jsx(Hh,{children:e=>t.jsxs(t.Fragment,{children:[t.jsx(Kh,{addressList:e}),t.jsx(Wh,{children:s=>t.jsx(Lh,{addressList:e,signedOpHook:s,children:n=>t.jsx(Qh,{tx:n,children:t.jsx(Vh,{tx:n})})})})]})})}),Yh="_button_14cv7_1",Jh="_checkbox_14cv7_10",Zh="_checked_14cv7_23",Zt={button:Yh,checkbox:Jh,checked:Zh},Xh=({checked:e,onClick:s,label:n,className:r})=>t.jsxs("button",{type:"button",className:P(Zt.button,r),onClick:s,children:[t.jsx("div",{className:P(Zt.checkbox,{[Zt.checked]:e}),children:e&&t.jsx(b.IconCheck,{size:12})}),t.jsx("span",{className:Zt.label,children:n})]}),e_="_link_1j28k_1",t_="_header_1j28k_22",s_="_title_1j28k_30",n_="_success_1j28k_36",r_="_error_1j28k_40",o_="_date_1j28k_44",a_="_explorer_1j28k_48",i_="_fees_1j28k_63",c_="_label_1j28k_71",l_="_content_1j28k_75",d_="_route_1j28k_81",u_="_row_1j28k_86",m_="_asset_1j28k_92",h_="_amount_1j28k_100",__="_chain_1j28k_105",f_="_account_1j28k_114",p_="_arrow_1j28k_121",G={link:e_,header:t_,title:s_,success:n_,error:r_,date:o_,explorer:a_,fees:i_,label:c_,content:l_,route:d_,row:u_,asset:m_,amount:h_,chain:__,account:f_,arrow:p_},x_=({tx:e})=>{var we;const[s,n]=vh(e);if(!s)throw new Error("Bridge history details not found");const{chainId:r,txHash:o,route:a,values:i,timestamp:d}=s,{data:c=""}=Ih(s),{data:l}=Sh({...s,txHash:c}),u=s.state??g_(l),{address:m="",connector:h}=ge.useAccount(),{find:_}=gs();p.useEffect(()=>{c&&n(Y=>{if(!Y)throw new Error("Bridge history details not found");return{...Y,tracked:!0}})},[n,c]),p.useEffect(()=>{u!=="loading"&&n(Y=>{if(!Y)throw new Error("Bridge history details not found");return{...Y,tracked:!0,state:u}})},[n,u,o]);const x=()=>{switch(u){case"error":return t.jsx("div",{className:G.error,children:t.jsx(b.IconWarningFilled,{size:14})});case"success":return t.jsx("div",{className:G.success,children:t.jsx(b.IconCheckCircleFilled,{size:14})});default:return t.jsx(Qe,{size:14})}},{amount_in:f,amount_out:y,source_asset_chain_id:w,source_asset_denom:j,dest_asset_chain_id:T,dest_asset_denom:C,estimated_fees:I=[]}=a,D=Ne(w),v=Ne(T),g=Ae(j,w),S=Ae(C,T),O=(Y,xe)=>xe?t.jsx(W,{src:xe,width:12,height:12}):F.equals(Y,m)?t.jsx(W,{src:h==null?void 0:h.icon,width:12,height:12}):t.jsx(b.IconWallet,{size:12}),U=(Y,{symbol:xe,decimals:vt,logo_uri:ce},{chain_name:le,pretty_name:Ct,...$},ws,bs)=>t.jsxs("div",{className:G.row,children:[t.jsx(pn,{assetLogoUrl:ce,chainLogoUrl:$.logo_uri??void 0}),t.jsxs("div",{children:[t.jsxs("div",{className:G.asset,children:[t.jsx("span",{className:G.amount,children:re(Y,{decimals:vt})}),t.jsx("span",{children:xe})]}),t.jsxs("div",{className:G.chain,children:[t.jsxs("span",{children:["on ",Ct||le]}),t.jsxs("div",{className:G.account,children:[bs,t.jsx("span",{className:"monospace",children:se(ws)})]})]})]})]}),A=yo(a),M=p.useMemo(()=>{switch(A){case ss.SKIP:return"Skip Explorer";case ss.OP_WITHDRAW:return"Initia Scan"}},[A]),V=t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:G.header,children:[t.jsxs("div",{className:G.title,children:[x(),t.jsx("div",{className:G.date,children:ft.intlFormatDistance(new Date(d),new Date,{locale:"en-US"})})]}),t.jsxs("div",{className:G.explorer,children:[t.jsx("span",{children:M}),t.jsx(b.IconExternalLink,{size:12})]})]}),t.jsxs("div",{className:G.route,children:[U(f,g,D,i.sender,O(i.sender,(we=_(i.cosmosWalletName))==null?void 0:we.image)),t.jsx("div",{className:G.arrow,children:t.jsx(b.IconArrowDown,{size:12})}),U(y,S,v,i.recipient,O(i.recipient))]}),I.length>0&&t.jsxs("div",{className:G.fees,children:[t.jsx("span",{className:G.label,children:"Fees"}),t.jsx("span",{className:G.content,children:mo(I)})]})]});if(A===ss.OP_WITHDRAW)return t.jsx(un,{chainId:r,txHash:o,className:G.link,children:V});const je=new URLSearchParams({tx_hash:o,chain_id:r}),ie=new URL(`?${je.toString()}`,"https://explorer.skip.build");return t.jsx("a",{href:ie.toString(),className:G.link,target:"_blank",children:V})};function g_(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 y_="_list_1q71m_1",j_="_header_1q71m_5",w_="_checkbox_1q71m_9",b_="_item_1q71m_13",Xt={list:y_,header:j_,checkbox:w_,item:b_},v_=()=>{const{initiaAddress:e,hexAddress:s}=qe(),{history:n,getHistoryDetails:r}=xo(),o=n.filter(l=>r(l)),a=o.filter(l=>{const u=r(l);if(!u)return!1;const{values:m}=u,{sender:h,recipient:_}=m;return[h,_].some(x=>[e,s].includes(x))}),[i,d]=de.useToggle(!a.length),c=i?o:a;return t.jsx(Pe,{title:"Bridge/Swap activity",children:t.jsxs("div",{className:Xt.list,children:[o.length>0&&o.length!==a.length&&t.jsx("header",{className:Xt.header,children:t.jsx(Xh,{checked:i,onClick:d,label:"Show all transactions stored in this browser",className:Xt.checkbox})}),c.length===0?t.jsx(ue,{children:"No bridge/swap activity"}):c.map((l,u)=>t.jsx("div",{className:Xt.item,children:t.jsx(ae,{children:t.jsx(x_,{tx:l})})},u)),n.length>=as&&t.jsxs(ue,{children:["Only the latest ",as," items are stored. Older entries will be removed automatically."]})]})})},wo=()=>{const e=me(),s=pr(),n=gt(),{closeModal:r}=ms();if(p.useEffect(()=>{r(),s.startsWith("/bridge/")&&e("/bridge"),(s==="/collection"||s.startsWith("/nft"))&&e("/nfts")},[n]),s==="/connect")return n?null:t.jsx(_c,{});switch(s){case"/bridge":return t.jsx(zm,{},n);case"/bridge/history":return t.jsx(v_,{})}if(!n)return null;switch(s){case"/":case"/nfts":case"/activity":return t.jsx(ed,{});case"/send":return t.jsx(du,{},n);case"/collection":return t.jsx(_u,{});case"/nft":return t.jsx(vu,{});case"/nft/send":return t.jsx(zu,{},n);case"/rollups":return t.jsx(Xu,{});case"/bridge/preview":return t.jsx(Gh,{});case"/op/withdrawals":return t.jsx(wh,{});case"/tx":return t.jsx(Hr,{});case"/blank":return null}},C_="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@100..700&display=swap",N_=()=>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:C_}),t.jsx("link",{rel:"stylesheet",href:"https://assets.initia.xyz/fonts/PilatWide.css"})]}),I_=()=>{He();const e=ye();return ln(),_t(localStorage.getItem(H.BRIDGE_SRC_CHAIN_ID)??e.chainId),_t(localStorage.getItem(H.BRIDGE_DST_CHAIN_ID)??e.chainId),null},S_=({children:e,...s})=>typeof document>"u"||typeof window>"u"?null:t.jsxs(t.Fragment,{children:[t.jsx(N_,{}),t.jsxs(dr.Provider,{value:{...hr,...s},children:[t.jsx(ae,{suspenseFallback:null,errorBoundaryProps:{fallback:null},children:t.jsx(I_,{})}),t.jsx(xr,{children:t.jsx(_a,{children:t.jsx(ka,{children:t.jsx(Bi,{children:t.jsxs(q.Tooltip.Provider,{delayDuration:0,skipDelayDuration:0,children:[e,t.jsx(tc,{children:t.jsx(wo,{})})]})})})})})]})]}),k_=({bridge:e})=>t.jsx(xr,{initialEntry:{path:e?"/bridge":"/",state:e},children:t.jsx("div",{className:"body",children:t.jsx(Or.Provider,{value:!!e,children:t.jsx(ae,{children:t.jsx(wo,{})})})})});exports.AddressUtils=F;exports.DEFAULT_GAS_ADJUSTMENT=nn;exports.DEFAULT_GAS_PRICE_MULTIPLIER=mr;exports.InterwovenKit=k_;exports.InterwovenKitProvider=S_;exports.MAINNET=hr;exports.TESTNET=Wo;exports.createUsernameClient=lr;exports.formatAmount=re;exports.formatNumber=rt;exports.formatPercent=Ko;exports.injectStyles=Lo;exports.toAmount=ds;exports.toQuantity=qt;exports.truncate=se;exports.useAddress=gt;exports.useHexAddress=Ut;exports.useInitiaAddress=X;exports.useInterwovenKit=qe;exports.useUsernameQuery=Dr;
|
|
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;
|