@initia/interwovenkit-react 2.1.1 → 2.2.1
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 +24 -0
- package/dist/index.js +6742 -3873
- package/dist/styles.css +1 -1
- package/dist/styles.js +1 -1
- package/package.json +8 -7
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Wa=require("@privy-io/cross-app-connect/rainbow-kit"),we=require("wagmi"),T=require("@tanstack/react-query"),j=require("@initia/utils"),U=require("bignumber.js"),A=require("ramda"),ye=require("@lukemorales/query-key-factory"),V=require("ky"),g=require("react"),re=require("@cosmjs/encoding"),Ki=require("@mysten/bcs"),H=require("jotai"),Ha=require("@amplitude/analytics-browser"),t=require("react/jsx-runtime"),oo=require("@cosmjs/amino/build/signdoc"),ao=require("@cosmjs/crypto"),ra=require("@cosmjs/math"),ds=require("@cosmjs/proto-signing"),Ve=require("@cosmjs/stargate"),ia=require("@cosmjs/tendermint-rpc"),Wi=require("cosmjs-types/cosmos/tx/signing/v1beta1/signing"),Nt=require("cosmjs-types/cosmos/tx/v1beta1/tx"),gt=require("ethers"),sn=require("@initia/amino-converter"),wn=require("@cosmjs/amino"),Hi=require("cosmjs-types/cosmos/auth/v1beta1/auth"),ro=require("cosmjs-types/cosmos/crypto/secp256k1/keys"),Qi=require("cosmjs-types/google/protobuf/any"),Ze=require("date-fns"),xo=require("@initia/initia.proto/cosmos/authz/v1beta1/tx"),ca=require("@initia/initia.proto/cosmos/authz/v1beta1/authz"),la=require("@initia/initia.proto/cosmos/feegrant/v1beta1/feegrant"),Qa=require("@initia/initia.proto/cosmos/feegrant/v1beta1/tx"),Y=require("radix-ui"),Ie=require("usehooks-ts"),Ga=require("react-error-boundary"),L=require("clsx"),pe=require("react-hook-form"),Ne=require("@base-ui/react/dialog"),Gi=require("xss"),I=require("@initia/icons-react"),ze=require("@react-spring/web"),us=require("change-case"),ht=require("@base-ui/react/select"),Ms=require("@base-ui/react/collapsible"),da=require("nanoid"),Yi=require("react-dom"),Zi=require("jotai/utils"),Ya=require("react-merge-refs"),Ji=require("react-number-format"),Xi=require("react-intersection-observer"),ec=require("@noble/hashes/sha3"),Dt=require("@noble/hashes/utils"),tc=require("qr-code-styling"),ft=require("@base-ui/react"),bt=require("@base-ui/react/tabs"),Qt=require("@base-ui/react/popover"),ua=require("cosmjs-types/cosmos/bank/v1beta1/tx");function nc(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(n,s,o.get?o:{enumerable:!0,get:()=>e[s]})}}return n.default=e,Object.freeze(n)}const yo=nc(Ha),on=1.4,Za=1.05,Ja={defaultChainId:"interwoven-1",registryUrl:"https://registry.initia.xyz",routerApiUrl:"https://router-api.initia.xyz",glyphUrl:"https://glyph.initia.xyz",usernamesModuleAddress:"0x72ed9b26ecdcd6a21d304df50f19abfdbe31d2c02f60c84627844620a45940ef",lockStakeModuleAddress:"0x3a886b32a802582f2e446e74d4a24d1d7ed01adf46d2a8f65c5723887e708789",minityUrl:"https://portfolio-api.minity.xyz",dexUrl:"https://dex-api.initia.xyz",vipUrl:"https://vip-api.initia.xyz",civitiaUrl:"https://api.civitia.org",theme:"dark"},sc={defaultChainId:"initiation-2",registryUrl:"https://registry.testnet.initia.xyz",routerApiUrl:"https://router-api.initiation-2.initia.xyz",glyphUrl:"https://glyph.initiation-2.initia.xyz",usernamesModuleAddress:"0x42cd8467b1c86e59bf319e5664a09b6b5840bb3fac64f5ce690b5041c530565a",lockStakeModuleAddress:"0x81c3ea419d2fd3a27971021d9dd3cc708def05e5d6a09d39b2f1f9ba18312264",minityUrl:"https://portfolio-api.minity.xyz",dexUrl:"https://dex-api.initiation-2.initia.xyz",vipUrl:"https://vip-api.testnet.initia.xyz",civitiaUrl:"https://api.civitia.org",theme:"dark",disableAnalytics:!0},jo="cmbq1ozyc006al70lx4uciz0q",ms={id:jo,name:"Socials",iconUrl:"https://assets.initia.xyz/images/wallets/Privy.webp",iconBackground:"#ffffff"},oc=Wa.toPrivyWalletConnector(ms),ac=Wa.toPrivyWallet(ms),Xa=g.createContext(null);function G(){const e=g.useContext(Xa);if(!e)throw new Error("Check if the InterwovenKitProvider is mounted");return e}const z={SECOND:1e3,MINUTE:1e3*60,INFINITY:1e3*60*60};async function rc(e){if(e instanceof V.HTTPError){const{response:n}=e,s=n.headers.get("content-type")??"";if(A.includes("application/json",s))try{const o=await n.json();if(o.message)return o.message}catch{return e.message}try{return await n.text()}catch{return e.message}}if(e instanceof Error){if(A.path(["code"],e)===4001||A.path(["code"],e)==="ACTION_REJECTED")return"User rejected";const n=A.path(["error","message"],e),s=A.path(["cause","message"],e),o=A.path(["shortMessage"],e);return n||s||o||e.message}return String(e)}async function _t(e){return new Error(await rc(e))}const hs=ye.createQueryKeys("interwovenkit:chain",{list:e=>[e],profiles:e=>[e],prices:e=>[e],gasPrices:e=>[e]});function Kn(e){const n=A.path([0,"address"],e);if(!n)throw new Error("URL not found");return n}function ic(e){const{chain_id:n,chain_name:s,pretty_name:o,logo_URIs:a,apis:r,metadata:i}=e,c=o||s,l=a?.png??"",{rpc:d,rest:u,["json-rpc"]:m,indexer:h}=r,p=Kn(d),f=Kn(u),_=Kn(h),x=i?.minitia?.type==="minievm"?Kn(m):void 0;return{...e,chainId:n,name:c,logoUrl:l,rpcUrl:p,restUrl:f,indexerUrl:_,jsonRpcUrl:x}}function ue(){const{defaultChainId:e,registryUrl:n,customChain:s}=G(),{data:o}=T.useSuspenseQuery({queryKey:hs.list(n).queryKey,queryFn:()=>V.create({prefixUrl:n}).get("chains.json").json(),select:a=>(s?[s,...a.filter(i=>i.chain_id!==s.chain_id)]:a).map(ic).toSorted(A.descend(i=>i.chainId===e)),staleTime:z.MINUTE});return o}function er(){const{registryUrl:e}=G(),{data:n}=T.useSuspenseQuery({queryKey:hs.profiles(e).queryKey,queryFn:()=>V.create({prefixUrl:e}).get("profiles.json").json(),staleTime:z.MINUTE});return n}function Je(){const e=ie(),n=ue(),s=er();return o=>{const a=n.find(i=>i.chain_id===o);if(a)return a;const r=s.find(i=>i.chain_id===o);if(!r)throw new Error(`Chain not found: ${o}`);return{chain_id:r.chain_id,chain_name:r.name,pretty_name:r.pretty_name,network_type:e.network_type,bech32_prefix:"init",fees:{fee_tokens:[]},apis:{rpc:[],rest:[],indexer:[]},chainId:o,name:r.pretty_name,logoUrl:r.logo,rpcUrl:"",restUrl:"",indexerUrl:"",jsonRpcUrl:""}}}function Xe(e){return Je()(e)}function Ot(){const{defaultChainId:e}=G();return Xe(e)}function ie(){const n=ue().find(s=>s.metadata?.is_l1);if(!n)throw new Error("Layer 1 not found");return n}function tr(){return({chainId:e})=>T.queryOptions({queryKey:hs.prices(e).queryKey,queryFn:()=>V.create({prefixUrl:"https://api.initia.xyz"}).get(`initia/${e}/assets`,{searchParams:{quote:"USD",with_prices:!0}}).json(),staleTime:z.SECOND})}function yt(e){const n=tr();return T.useQuery(n(e))}function bo(){const e=ue(),n=tr();return T.useQueries({queries:e.map(s=>n(s))})}const cc=`<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>`,Fa=encodeURIComponent(Ma),Rn=`data:image/svg+xml;utf8,${Fa}`,js=Ne.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 Oa(e){const{base:s,symbol:n,denom_units:r=[],display:o,logo_URIs:a,name:i,address:c,traces:l}=e,d=r.find(h=>h.denom===o)?.exponent??r.find(h=>h.denom===s)?.exponent??w.head(r)?.exponent??0,u=a?.png??"";return{denom:s,symbol:n,decimals:d,logoUrl:u,name:i,address:c,traces:l}}function Jr(){const e=$.useQueryClient();return s=>{const n=s?.metadata?.assetlist;return $.queryOptions({queryKey:js.list(n).queryKey,queryFn:async()=>n?L.get(n).json():{assets:[]},select:({assets:r})=>{if(!s)return[];const o=r.map(Oa);for(const a of o)e.setQueryData(js.item(s.chainId,a.denom).queryKey,a);return o},staleTime:Q.MINUTE})}}function Vt(e){const s=Jr(),{data:n}=$.useSuspenseQuery(s(e));return n}function Ua(){const e=ae(),s=Jr();return $.useQueries({queries:e.map(n=>s(n))})}function Ge(e){const s=Vt(e),n=_e(),r=Vt(n),o=Xr(e);return a=>{const i=s.find(l=>l.denom===a);if(i)return i;const c=r.find(l=>l.denom===o(a));return c?{...c,denom:a}:{denom:a,symbol:"",decimals:0,logoUrl:Rn}}}function Zr(e,s){const n=Ge(s),o=$.useQueryClient().getQueryData(js.item(s.chainId,e).queryKey);return o||n(e)}function Xr(e){const s=_e(),n=Vt(e);return r=>{if(e.metadata?.is_l1)return r;if(r.startsWith("l2/")||r.startsWith("ibc/")){const a=n.find(i=>i.denom===r)?.traces;if(a){for(const i of a)if(i.counterparty.chain_name===s.chain_name)return i.counterparty.base_denom}}const o=s.metadata?.ibc_channels?.find(({chain_id:a,version:i})=>a===e.chain_id&&i==="ics20-1")?.channel_id;return o?v.getIbcDenom(o,r):""}}function La(e){return e.pagination?.next_key??null}async function eo(e,s,n){const r=L.create(s),o=async(a,i)=>{const c=await r.extend(i?{searchParams:{"pagination.key":i}}:{}).get(e).json(),l=c[n]??[],d=La(c),u=[...a,...l];return d?o(u,d):u};return o([],null)}const cr="usernames";function za({restUrl:e,moduleAddress:s}){const{viewFunction:n}=v.createMoveClient(e);async function r(i){if(!v.InitiaAddress.validate(i))return null;const c=await n({moduleAddress:s,moduleName:cr,functionName:"get_name_from_address",typeArgs:[],args:[V.toBase64(v.InitiaAddress(i,32).bytes)]});return c?c+".init":null}function o(i){return/^[A-Za-z0-9-]{3,64}\.init$/.test(i)}async function a(i){if(!o(i))return null;const c=await n({moduleAddress:s,moduleName:cr,functionName:"get_address_from_name",typeArgs:[],args:[va.bcs.string().serialize(i.toLowerCase().replace(".init","")).toBase64()]});return c?v.InitiaAddress(c).bech32:null}return{restUrl:e,getUsername:r,getAddress:a,validateUsername:o}}const $s=Ne.createQueryKeys("interwovenkit:account",{username:(e,s)=>[e,s],address:(e,s)=>[e,s],balances:(e,s)=>[e,s],txs:(e,s)=>[e,s]});function to(){const{restUrl:e}=_e(),{usernamesModuleAddress:s}=X();return za({restUrl:e,moduleAddress:s})}function so(){const e=ee();return s=>$.queryOptions({queryKey:$s.balances(s.restUrl,e).queryKey,queryFn:()=>eo(`cosmos/bank/v1beta1/balances/${e}`,{prefixUrl:s.restUrl},"balances"),staleTime:Q.SECOND})}function Bn(e){const s=so(),{data:n}=$.useSuspenseQuery(s(e));return n}function Ka(){const e=ae(),s=so();return $.useQueries({queries:e.map(n=>s(n))})}function Wa(e){const s=Bn(e),n=Vt(e),r=Ge(e),o=Xr(e),{data:a}=ks(e),i=l=>e.fees.fee_tokens.some(d=>d.denom===l),c=l=>n.some(d=>d.denom===l);return w.sortWith([w.descend(({denom:l})=>o(l)==="uinit"),w.descend(({denom:l})=>i(l)),w.descend(({value:l})=>l),w.descend(({denom:l})=>c(l)),({balance:l},{balance:d})=>F(d).comparedTo(l)??0,w.descend(({symbol:l})=>l.toLowerCase())],s.filter(({amount:l})=>!F(l).isZero()).map(({amount:l,denom:d})=>{const u=r(d),h=a?.find(({id:f})=>f===u?.denom)?.price??0,m=F(l).times(h).div(F(10).pow(u.decimals)).toNumber();return{...u,balance:l,price:h,value:m}}))}const no=_.createContext(null);function Ts(){return _.useContext(no)}function ro(){const{location:e}=Ts();return e}function Es(){const{path:e}=ro();return e}function jt(){const{state:e={}}=ro();return e}function Ha(){const{history:e}=Ts();return e}function he(){const{navigate:e}=Ts();return e}function oo(){const{reset:e}=Ts();return e}const Et=({to:e,state:s,shouldReset:n,children:r,onClick:o,...a})=>{const i=he(),c=oo(),l=d=>{d.preventDefault(),o?.(d),n?c(e,s):i(e,s)};return t.jsx("button",{type:"button",...a,onClick:l,children:r})},ao=({children:e,initialEntry:s})=>{const[n,r]=_.useState([s??{path:"/"}]),o=n[n.length-1],a=_.useCallback((c,l)=>{r(d=>{if(typeof c=="string")return[...d,{path:c,state:l}];const u=d.length+c;if(u<1)return d;const h=w.take(u,d);return l!==void 0?w.adjust(u-1,m=>({...m,state:l}),h):h})},[]),i=_.useCallback((c,l)=>{r([{path:c,state:l}])},[]);return t.jsx(no.Provider,{value:{location:o,history:n,navigate:a,reset:i},children:e})},Qa="c33b940c24c17e95f7d9d525d508ac61";function Ga(){const{disableAnalytics:e}=X();_.useEffect(()=>{e||Dn.init(Qa,{autocapture:!1})},[e])}function Va(){const{connector:e}=de.useAccount(),{defaultChainId:s,disableAnalytics:n}=X();_.useEffect(()=>{const r=new Lr.Identify;e?.name&&r.set("connector",e.name),s&&r.set("defaultChainId",s),Dn.identify(r)},[s,e?.name,n])}function qs(){const e=Es();return _.useCallback((n,r)=>{Dn.track(n,{path:e,...r})},[e])}const Ee="interwovenkit",Ya=1e3,io=60*Ya,co=60*io,lr=24*co,U={PUBLIC_KEY:`${Ee}:public-key`,BRIDGE_SRC_CHAIN_ID:`${Ee}:bridge:src-chain-id`,BRIDGE_SRC_DENOM:`${Ee}:bridge:src-denom`,BRIDGE_DST_CHAIN_ID:`${Ee}:bridge:dst-chain-id`,BRIDGE_DST_DENOM:`${Ee}:bridge:dst-denom`,BRIDGE_QUANTITY:`${Ee}:bridge:quantity`,BRIDGE_SLIPPAGE_PERCENT:`${Ee}:bridge:slippage-percent`,BRIDGE_ROUTE_TYPE:`${Ee}:bridge:route-type`,BRIDGE_HISTORY:`${Ee}:bridge:history`,OP_REMINDER:`${Ee}:op:reminder`},Ja=H.atom(!1);function Ve(){const e=oo(),[s,n]=H.useAtom(Ja),r=qs();return{isDrawerOpen:s,openDrawer:(i,c)=>{i&&e(i,c),n(!0),r("Widget Opened")},closeDrawer:()=>{n(!1),r("Widget Closed")}}}function Mn(){const e=he(),{closeDrawer:s}=Ve(),{disconnect:n}=de.useDisconnect();return()=>{e("/blank"),s(),n(),localStorage.removeItem(U.BRIDGE_SRC_CHAIN_ID),localStorage.removeItem(U.BRIDGE_SRC_DENOM),localStorage.removeItem(U.BRIDGE_DST_CHAIN_ID),localStorage.removeItem(U.BRIDGE_DST_DENOM),localStorage.removeItem(U.BRIDGE_QUANTITY),localStorage.removeItem(U.BRIDGE_SLIPPAGE_PERCENT)}}function Fn(){const{privyContext:e}=X(),{address:s}=de.useAccount();return e?s?!!e.privy.user?.linkedAccounts.map(r=>"address"in r&&r.address).filter(r=>!!r)?.some(r=>v.InitiaAddress.equals(r,s)):!1:!0}function Za(){const{privyContext:e}=X(),s=Fn(),{address:n}=de.useAccount(),{signMessageAsync:r}=de.useSignMessage(),o=Mn(),a=!!e?.privy.ready,i=_.useRef(e);_.useEffect(()=>{i.current=e},[e]);const c=async l=>{try{if(!i.current)throw new Error("Privy context not found");i.current.privy.authenticated&&await i.current.privy.logout();const d=await i.current.siwe.generateSiweMessage({chainId:"eip155:1",address:l});if(!d)throw new Error("Failed to generate SIWE message");const u=await r({message:d});await i.current.siwe.loginWithSiwe({signature:u,message:d})}catch{o()}};_.useEffect(()=>{s||a&&n&&c(n)},[s,a,n])}function Xa(e){if(e?.typeUrl==="/initia.crypto.v1beta1.ethsecp256k1.PubKey"){const{key:s}=vn.PubKey.decode(e.value);return Qt.encodeSecp256k1Pubkey(s)}return Is.decodeOptionalPubkey(e)}function ei({typeUrl:e,value:s}){if(e==="/cosmos.auth.v1beta1.BaseAccount"){const{address:n,pubKey:r,accountNumber:o,sequence:a}=ba.BaseAccount.decode(s),i=Xa(r);return{address:n,pubkey:i,accountNumber:Number(o),sequence:Number(a)}}return Pe.accountFromAny({typeUrl:e,value:s})}function ti(e){return e.type==="initia/PubKeyEthSecp256k1"}const si={...Qt.pubkeyType,ethsecp256k1:"initia/PubKeyEthSecp256k1"};function ni(e){if(ti(e)){const s=vn.PubKey.fromPartial({key:V.fromBase64(e.value)});return Ca.Any.fromPartial({typeUrl:"/initia.crypto.v1beta1.ethsecp256k1.PubKey",value:Uint8Array.from(vn.PubKey.encode(s).finish())})}return Is.encodePubkey(e)}function lo(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:si.ethsecp256k1,value:V.toBase64(e)}}function ri(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:lo(e),signature:V.toBase64(s)}}const Xt=()=>{const e=X();return new Is.Registry([...Ht.protoRegistry,...e.protoTypes??[]])},Ds=()=>{const e=X();return new Pe.AminoTypes({...Ht.aminoConverters,...e.aminoConverters})};class uo{constructor(s,n,r){this.address=s,this.signMessage=n,this.restUrl=r}cachedPublicKey=null;async getCachedPublicKey(){if(this.cachedPublicKey)return this.cachedPublicKey;const s=`${U.PUBLIC_KEY}:${this.address}`,n=localStorage.getItem(s);if(n)return this.cachedPublicKey=V.fromHex(n),V.fromHex(n);const r=await this.getPublicKeyFromRestApi();if(r)return this.cachedPublicKey=r,localStorage.setItem(s,V.toHex(r)),r;const o=await this.getPublicKey();return this.cachedPublicKey=o,localStorage.setItem(s,V.toHex(o)),o}async getPublicKeyFromRestApi(){try{const n=(await L.create({prefixUrl:this.restUrl}).get(`cosmos/auth/v1beta1/account_info/${this.address}`).json())?.info?.pub_key?.key;return n?V.fromBase64(n):null}catch{return null}}async getPublicKey(){const s="Sign this message to identify your Initia account.",n=await this.signMessage(s),r=We.ethers.hashMessage(s),o=We.ethers.SigningKey.recoverPublicKey(r,n);return jn.Secp256k1.compressPubkey(V.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=yn.escapeCharacters(yn.sortedJsonStringify(n)),o=await this.signMessage(r),a=V.fromHex(o.replace("0x","")).subarray(0,-1),c=jn.Secp256k1Signature.fromFixedLength(a).toFixedLength(),l=ri(await this.getCachedPublicKey(),c);return{signed:n,signature:l}}}function Ps(){const e=Xt(),s=Ds(),n=es(),r=mo();return async function(o,a,i,c,l,d){const u=d?.customSigner??n;if(!u)throw new Error("Signer not initialized");const h=await r(o),{accountNumber:m,...f}=await h.getSequence(a),g=f.sequence+(d?.incrementSequence??0),[p]=await u.getAccounts(),x=ni(lo(p.pubkey)),S=wa.SignMode.SIGN_MODE_EIP_191,I=i.map(y=>s.toAmino(y)),N=yn.makeSignDoc(I,c,o,l,m,g),{signature:C,signed:T}=await u.signAmino(a,N),R={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{messages:T.msgs.map(y=>s.fromAmino(y)),memo:l}},B=e.encode(R),z=sr.Int53.fromString(T.fee.gas).toNumber(),j=sr.Int53.fromString(T.sequence).toNumber(),b=Is.makeAuthInfoBytes([{pubkey:x,sequence:j}],T.fee.amount,z,T.fee.granter,T.fee.payer,S);return st.TxRaw.fromPartial({bodyBytes:B,authInfoBytes:b,signatures:[V.fromBase64(C.signature)]})}}function es(){const e=ee(),{signMessageAsync:s}=de.useSignMessage(),n=_e();return _.useMemo(()=>new uo(e,r=>s({message:r}),n.restUrl),[e,s,n.restUrl])}const Zs=new Map,Xs=new Map;function ho(){const e=Te();return async s=>{if(Zs.has(s))return Zs.get(s);const{rpcUrl:n}=e(s),r=await nr.Comet38Client.create(new nr.HttpClient(n));return Zs.set(s,r),r}}function mo(){const e=Xt(),s=Ds(),n=es(),r=ee(),o=ho();return async a=>{const i=`${r}:${a}`;if(Xs.has(i))return Xs.get(i);if(!n)throw new Error("Signer not initialized");const c=await o(a),l=await Pe.SigningStargateClient.createWithSigner(c,n,{registry:e,aminoTypes:s,accountParser:ei,broadcastPollIntervalMs:500});return Xs.set(i,l),l}}function fo(){const{connector:e}=de.useAccount();return async()=>{if(!e)throw new Error("Wallet not connected");return new We.BrowserProvider(await e.getProvider())}}function _o(){const e=ee(),s=Te();return{fetchFeegrant:async(o,a)=>{if(!e)return null;const i=s(o),c=L.create({prefixUrl:i.restUrl});try{const{allowance:l}=await c.get(`cosmos/feegrant/v1beta1/allowance/${e}/${a}`).json();return l}catch{return null}},fetchGrants:async(o,a)=>{if(!e)return[];const i=s(o),c=L.create({prefixUrl:i.restUrl}),{grants:l}=await c.get("cosmos/authz/v1beta1/grants",{searchParams:{granter:e,grantee:a}}).json();return l}}}function go(){const{privyContext:e}=X(),s=Fn();if(!(!e||!s))return e.wallets.find(n=>n.connectorType==="embedded")}function Rs(){const e=go();return e?.address?v.InitiaAddress(e.address).bech32:void 0}function po(){const e=go(),s=Rs(),n=Xt(),r=Te(),o=Ps();return async(a,i,c,l,d)=>{if(!e||!s)throw new Error("Embedded wallet not initialized");const u=[{typeUrl:"/cosmos.authz.v1beta1.MsgExec",value:qn.MsgExec.fromPartial({grantee:s,msgs:c.map(f=>({typeUrl:f.typeUrl,value:n.encode(f)}))})}],h={...l,granter:i},m=new uo(s,e.sign,r(a).restUrl);return await o(a,s,u,h,d,{customSigner:m})}}const Yt=Ne.createQueryKeys("interwovenkit:autosign",{expirations:(e,s)=>[e,s],grants:(e,s)=>[e,s]});function Bs(){const e=X(),s=Zt(),{enableAutoSign:n,defaultChainId:r}=e;if(!n)return{[r]:[]};if(typeof n!="boolean")return n;switch(s.metadata?.minitia?.type){case"minievm":return{[r]:["/minievm.evm.v1.MsgCall"]};case"miniwasm":return{[r]:["/cosmwasm.wasm.v1.MsgExecuteContract"]};default:return{[r]:["/initia.move.v1.MsgExecute"]}}}function xo(){const{data:e}=On(),s=Bs();return async(n,r)=>{const o=r.every(i=>{const c=s[n];return c?c.includes(i.typeUrl):!1}),a=e?.isEnabledByChain[n]??!1;return o&&a}}function On(){const e=ee(),s=Rs(),n=Bs(),{fetchFeegrant:r,fetchGrants:o}=_o();return $.useQuery({queryKey:Yt.expirations(e,s).queryKey,queryFn:async()=>{if(!e||!s)return{expiredAtByChain:{},isEnabledByChain:{}};const a={};for(const[c,l]of Object.entries(n))try{const d=await o(c,s);if(!l.every(x=>d.some(S=>S.authorization?.msg===x))){a[c]=null;continue}const h=await r(c,s);if(!h){a[c]=null;continue}const m=d.filter(x=>l.includes(x.authorization.msg)).map(x=>x.expiration),f=h.allowance.expiration,g=[...m,f],p=Un(g);a[c]=p?new Date(p):void 0}catch{a[c]=null}const i={};for(const[c,l]of Object.entries(a))switch(l){case null:i[c]=!1;break;case void 0:i[c]=!0;break;default:i[c]=ke.isFuture(l);break}return{expiredAtByChain:a,isEnabledByChain:i}},staleTime:Q.INFINITY,retry:!1})}function oi(){const{data:e,refetch:s}=On();_.useEffect(()=>{if(!e)return;const n=new Date,r=Object.values(e.expiredAtByChain).filter(c=>c instanceof Date&&ke.isFuture(c));if(r.length===0)return;const a=Un(r).getTime()-n.getTime();if(a<=0)return;const i=setTimeout(()=>{s()},a+100);return()=>clearTimeout(i)},[e,s])}function Un(e){return e.filter(s=>s!==void 0).toSorted((s,n)=>new Date(s).getTime()-new Date(n).getTime())[0]}const yo=_.createContext(null),Ms=()=>_.useContext(yo);class jo extends Error{originalError;moduleAddress;moduleName;errorCode;errorCodeHex;isFromRegistry;constructor(s,n,r,o,a,i,c){super(s),this.name="MoveError",this.originalError=n,this.moduleAddress=r,this.moduleName=o,this.errorCode=a,this.errorCodeHex=i,this.isFromRegistry=c}}const ai=/VM aborted: location=([0-9A-Fa-f]+)::(\w+), code=(\d+)/,en=new Map;function ii(e){const s=e.match(ai);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 ci(e,s,n){const r=`${e}:${s}`;if(en.has(r))return en.get(r);try{const o=s==="0x1"?"0x1.json":`${e}/${s}.json`,a=`${n}/errors/${o}`,{errors:i={}}=await L.get(a).json();return en.set(r,i),i}catch{return null}}function li(e,s,n,r,o,a,i){return new jo(e,s,n,r,o,a,i)}async function At(e,s,n){if(!s.metadata?.is_l1&&s.metadata?.minitia?.type!=="minimove")return await He(e);const r=ii(e.message);if(!r)return await He(e);const o=await ci(s.chain_name,r.moduleAddress,n),a=`0x${parseInt(r.errorCode,10).toString(16)}`,i=`Failed with code ${a} in module ${r.moduleName} at ${r.moduleAddress}`,c=o?.[r.moduleName]?.[r.errorCode],l=c||i,d=!!c;return li(l,e,r.moduleAddress,r.moduleName,r.errorCode,a,d)}const vo="approve",Fs=H.atom(),wo=H.atom(null);function bo(){const e=H.useAtomValue(Fs);if(!e)throw new Error("Tx request not found");return e}function Os(){const e=he(),s=ee(),{defaultChainId:n,registryUrl:r}=X(),o=Te(),{openDrawer:a,closeDrawer:i}=Ve(),{openModal:c,closeModal:l}=Ms(),d=H.useSetAtom(Fs),u=H.useSetAtom(wo),h=ho(),m=mo(),f=es(),g=Xt(),p=xo(),x=po(),S=Ps(),I=async({messages:j,memo:b,chainId:y=n})=>{try{return await(await m(y)).simulate(s,j,b)}catch(k){throw await At(k,o(y),r)}},N=async({messages:j,memo:b,chainId:y=n})=>{const k=await h(y),q=Pe.QueryClient.withExtensions(k,Pe.setupTxExtension),M=j.map(Z=>g.encodeAsAny(Z)),[E]=await f.getAccounts(),G=Qt.encodeSecp256k1Pubkey(E.pubkey),te=await m(y),{sequence:O}=await te.getSequence(s);return q.tx.simulate(M,b,G,O)},C=async({txRequest:j,broadcaster:b})=>{const k={...{memo:"",chainId:n,gas:j.gas||await I(j),gasAdjustment:Gt,gasPrices:null,spendCoins:[],internal:!1},...j};return new Promise((q,M)=>{d({txRequest:k,resolve:async G=>{try{const te=await m(k.chainId),O=await b(te,st.TxRaw.encode(G).finish());q(O),typeof k.internal=="string"&&e(k.internal)}catch(te){M(await At(te,o(k.chainId),r))}finally{E()}},reject:G=>{M(G),E()}}),k.internal?c({path:"/tx"}):a("/tx");const E=()=>{if(!k.internal){e("/blank"),i();return}l()}})},T=async j=>{const b=j.chainId??n;try{const y=await C({txRequest:j,broadcaster:async(k,q)=>await k.broadcastTxSync(q)});return j.internal&&typeof j.internal!="number"&&(u({txHash:y,chainId:b,status:"loading"}),z({txHash:y,chainId:j.chainId}).then(k=>{u({status:k.code===0?"success":"error",chainId:b,txHash:y})}).catch(()=>{u({status:"error",chainId:b,txHash:y})})),y}catch(y){throw j.internal&&typeof j.internal!="number"&&u({status:"error",chainId:b,error:y}),y}},P=(j,b=30*1e3,y=.5*1e3)=>C({txRequest:j,broadcaster:async(k,q)=>{const M=await k.broadcastTx(q,b,y);if(M.code!==0)throw new Error(M.rawLog);return M}}),R=async j=>{const b=j.chainId??n;try{const{messages:y,memo:k="",fee:q}=j,M=await m(b),G=await p(b,y)?await x(b,s,y,q,k):await S(b,s,y,q,k);return await M.broadcastTxSync(st.TxRaw.encode(G).finish())}catch(y){throw await At(y,o(b),r)}},B=async(j,b=30*1e3,y=.5*1e3)=>{const k=j.chainId??n;try{const{messages:q,memo:M="",fee:E}=j,G=await m(k),O=await p(k,q)?await x(k,s,q,E,M):await S(k,s,q,E,M),Z=await G.broadcastTx(st.TxRaw.encode(O).finish(),b,y);if(Z.code!==0)throw new Error(Z.rawLog);return Z}catch(q){throw await At(q,o(k),r)}},z=async({chainId:j=n,...b})=>{try{const y=await m(j);return await Co({...b,client:y})}catch(y){throw await At(y,o(j),r)}};return{estimateGas:I,simulateTx:N,requestTxSync:T,requestTxBlock:P,submitTxSync:R,submitTxBlock:B,waitForTxConfirmation:z}}async function Co({txHash:e,client:s,timeoutMs:n=30*1e3,intervalMs:r=.5*1e3}){const o=Date.now();for(;;){const a=await s.getTx(e);if(a){if(a.code!==0)throw new Error(a.rawLog);return a}if(Date.now()-o>=n)throw new Error(`Transaction was submitted, but not found on the chain within ${n/1e3} seconds.`);await new Promise(i=>setTimeout(i,r))}}const ts=H.atom(null);function Io(){const e=ee(),s=Bs(),{fetchFeegrant:n,fetchGrants:r}=_o();return async o=>{const{chainId:a,grantee:i}=o;if(!e)throw new Error("Granter wallet not initialized");const c=await n(a,i),l=await r(a,i),d=c?[{typeUrl:"/cosmos.feegrant.v1beta1.MsgRevokeAllowance",value:zr.MsgRevokeAllowance.fromPartial({granter:e,grantee:i})}]:[],u=s[a].filter(h=>l.some(m=>m?.authorization?.msg===h)).map(h=>({typeUrl:"/cosmos.authz.v1beta1.MsgRevoke",value:qn.MsgRevoke.fromPartial({granter:e,grantee:i,msgTypeUrl:h})}));return[...d,...u]}}function di(){const{privyContext:e}=X(),s=ee(),n=Rs(),r=Bs(),{requestTxBlock:o}=Os(),a=$.useQueryClient(),[i,c]=H.useAtom(ts),{closeDrawer:l}=Ve(),d=Io(),u=async()=>{if(n)return n;if(!e)throw new Error("Privy context not available");const h=await e.createWallet({createAdditional:!1});return v.InitiaAddress(h.address).bech32};return $.useMutation({mutationFn:async h=>{if(!i)throw new Error("No pending request");const{chainId:m}=i,f=await u();if(!s||!f)throw new Error("Wallets not initialized");const g=await d({chainId:m,grantee:f}),p=h===0?void 0:ke.addMilliseconds(new Date,h),x={typeUrl:"/cosmos.feegrant.v1beta1.MsgGrantAllowance",value:zr.MsgGrantAllowance.fromPartial({granter:s,grantee:f,allowance:{typeUrl:"/cosmos.feegrant.v1beta1.BasicAllowance",value:or.BasicAllowance.encode(or.BasicAllowance.fromPartial({expiration:p})).finish()}})},S=r[m].map(N=>({typeUrl:"/cosmos.authz.v1beta1.MsgGrant",value:qn.MsgGrant.fromPartial({granter:s,grantee:f,grant:{authorization:{typeUrl:"/cosmos.authz.v1beta1.GenericAuthorization",value:rr.GenericAuthorization.encode(rr.GenericAuthorization.fromPartial({msg:N})).finish()},expiration:p}})})),I=[...g,x,...S];await o({messages:I,chainId:m,internal:!0})},onSuccess:async()=>{await a.invalidateQueries({queryKey:Yt.expirations._def}),i?.resolve()},onError:h=>{i?.reject(h)},onSettled:()=>{c(null),l()}})}function No(e){const s=X(),n=Rs(),r=e?.grantee||n,{requestTxBlock:o}=Os(),a=$.useQueryClient(),i=Io();return $.useMutation({mutationFn:async(c=s.defaultChainId)=>{if(!r)throw new Error("Wallets not initialized");const l=await i({chainId:c,grantee:r});await o({messages:l,chainId:c,internal:e?.internal})},onSuccess:async()=>{const c=[Yt.expirations._def,Yt.grants._def];for(const l of c)await a.invalidateQueries({queryKey:l})}})}function ui(){const{defaultChainId:e}=X(),{openDrawer:s}=Ve(),n=H.useSetAtom(ts),r=No(),{data:o={expiredAtByChain:{},isEnabledByChain:{}},isLoading:a}=On();return{...o,isLoading:a,enable:async(l=e)=>new Promise((d,u)=>{n({chainId:l,resolve:d,reject:u}),s("/autosign/enable")}),disable:async(l=e)=>{await r.mutateAsync(l)}}}const hi="INIT",mi="Initia";function Ln(e){return e.assets.reduce((s,{value:n})=>s+(n??0),0)}function fi(e){return e.assets.reduce((s,{quantity:n})=>s.plus(n),F(0)).toString()}function _i(e,s){return{symbol:s?.symbol??e,logoUrl:s?.logoUrl??Rn}}function dr(e){return w.pick(["chainId","name","logoUrl"],e)}function gi(e){return w.sortWith([w.descend(({symbol:s})=>s===hi),w.descend(Ln),w.descend(({assets:s})=>s.length),w.ascend(({symbol:s})=>s)])(e)}function pi(e){return w.sortWith([w.descend(({value:s})=>s??0),w.descend(({quantity:s})=>Number(s)),w.ascend(({chain:s})=>s.name)])(e)}function xi(e){return w.sortWith([w.descend(({chain:s})=>s.name===mi),w.ascend(({chain:s})=>s.name),w.ascend(({denom:s})=>s)])(e)}function yi(e,s){return w.sortWith([w.descend(({chainId:n})=>n===s),w.descend(w.prop("value"))])(e)}function ji(e,s,n,r,o){const a={};for(const u of e){const h=u.chainId,m=s[h]??[],f=n[h],g=r[h],p=[];for(const{amount:x,denom:S}of m){if(!F(x).gt(0))continue;const I=f?.find(R=>R.denom===S),N=g?.find(R=>R.id===S)?.price,C=I?.decimals??0,T=v.fromBaseUnit(x,{decimals:C}),P=N?F(T).times(N).toNumber():void 0;p.push({..._i(S,I),amount:x,denom:S,decimals:C,quantity:T,price:N,value:P,address:I?.address,unlisted:!I,chain:dr(u)})}a[h]=p}const i=new Map;for(const[u,h]of Object.entries(a)){if(h.length===0)continue;const m=e.find(g=>g.chainId===u);if(!m)continue;const f=h.reduce((g,{value:p})=>g+(p??0),0);i.set(u,{...dr(m),value:f})}const c=new Map;for(const u of Object.values(a))for(const h of u)if(!h.unlisted){const{symbol:m}=h,f=c.get(m)??[];c.set(m,[...f,h])}const l=[];for(const[u,h]of c){const m=w.head(h);if(!m)continue;const f=pi(h);l.push({symbol:u,logoUrl:m.logoUrl,assets:f})}const d=[];for(const u of Object.values(a))for(const h of u)h.unlisted&&d.push(h);return{chainsByValue:yi(Array.from(i.values()),o),assetGroups:gi(l),unlistedAssets:xi(d),totalValue:l.reduce((u,h)=>u+Ln(h),0)}}function zn(){const{defaultChainId:e}=X(),s=ae(),n=Ka(),r=Ua(),o=Ba(),a=s.map(m=>m.chainId),i=w.zipObj(a,n.map(w.prop("data"))),c=w.zipObj(a,r.map(w.prop("data"))),l=w.zipObj(a,o.map(w.prop("data"))),d=ji(s,i,c,l,e),u=[n,r,o].flat().some(({isLoading:m})=>m);return{...d,isLoading:u,refetch:()=>{n.forEach(({refetch:m})=>m()),r.forEach(({refetch:m})=>m()),o.forEach(({refetch:m})=>m())}}}function ee(){const e=Us();return e?v.InitiaAddress(e).bech32:""}function Us(){const{address:e}=de.useAccount(),s=Fn();return!e||!s?"":v.InitiaAddress(e).hex}function Pt(){const e=Zt(),s=ee(),n=Us();return e.metadata?.minitia?.type==="minievm"?n:s}function So(){const e=Pt(),s=to();return $.useQuery({queryKey:$s.username(s.restUrl,e).queryKey,queryFn:()=>s.getUsername(e),enabled:!!e,staleTime:Q.MINUTE})}function xe(){const e=Pt(),s=ee(),n=Us(),{data:r}=So(),o=es(),a=Mn(),i=ui(),{isDrawerOpen:c,openDrawer:l}=Ve(),d=()=>{l("/")},u=()=>{l("/connect")},h=g=>{l("/bridge",g)},m=Os();return{address:e,initiaAddress:s,hexAddress:n,username:r,offlineSigner:o,isConnected:!!e,isOpen:c,openConnect:u,openWallet:d,openBridge:h,disconnect:a,autoSign:i,...m}}const vi="_status_tn9m1_1",wi="_error_tn9m1_9",ur={status:vi,error:wi},ne=({error:e,children:s})=>t.jsx("p",{className:D(ur.status,{[ur.error]:e}),children:s}),ye=({errorBoundaryProps:e={fallbackRender:({error:r})=>t.jsx(ne,{error:!0,children:r.message})},suspenseFallback:s=t.jsx(ne,{children:"Loading..."}),children:n})=>t.jsx(Kr.ErrorBoundary,{...e,children:t.jsx(_.Suspense,{fallback:s,children:n})});function bi(){const e=["initia-wallet-widget:last-connected-wallet","initia-wallet-widget:fee-denoms","initia-wallet-widget:chain-ids","initia-wallet-widget:opened-layers-assets","initia-wallet-widget:opened-layers-nft"],s={"initia-wallet-widget:ethereum-public-keys":{prefix:U.PUBLIC_KEY,getSuffix:n=>v.InitiaAddress(n).bech32}};for(const n of e)localStorage.removeItem(n);for(const[n,{prefix:r,getSuffix:o}]of Object.entries(s)){const a=localStorage.getItem(n);if(a)try{const i=JSON.parse(a);for(const[c,l]of Object.entries(i)){const d=`${r}:${o(c)}`;localStorage.setItem(d,l)}localStorage.removeItem(n)}catch{}}}const Re=Ne.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 Ye(){const{routerApiUrl:e}=X();return _.useMemo(()=>L.create({prefixUrl:e}),[e])}function qt(e){const s=Ye(),n=$.useQueryClient(),{data:r}=$.useSuspenseQuery({queryKey:Re.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(Re.asset(e,i.denom).queryKey,i);return a.toSorted(w.descend(i=>i.symbol==="INIT"))},staleTime:Q.MINUTE});return r}function Ao(e){const s=qt(e);return n=>{const r=s.find(o=>o.denom===n);if(!r)throw new Error(`Asset not found: ${n}`);return r}}function Qe(e,s){return Ao(s)(e)}function ko(){const e=ae();return s=>e.some(n=>n.chain_id===s)}function ss(){const e=ko();return s=>e(s.chain_id)?"initia":s.chain_type}function Jt(e){return ss()(e)}function Kn(){const e=Ye(),{data:s}=$.useSuspenseQuery({queryKey:Re.chains.queryKey,queryFn:()=>e.get("v2/info/chains").json(),select:({chains:n})=>w.sortWith([w.descend(({chain_name:r})=>r==="initia"),w.ascend(({pretty_name:r})=>r)],n),staleTime:Q.MINUTE});return s}function vt(){const e=Kn(),s=Vr();return n=>{const r=e.find(a=>a.chain_id===n);if(r)return r;const o=s.find(a=>a.chain_id===n);if(!o)throw new Error(`Chain not found: ${n}`);return{chain_id:o.chain_id,chain_name:o.name,pretty_name:o.pretty_name,logo_uri:o.logo,chain_type:"cosmos",rpc:"",rest:""}}}function Be(e){return vt()(e)}const Ci=()=>(Ga(),Va(),null),Ii="_loader_1vxch_1",Ni={loader:Ii},wt=({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:Ni.loader,style:r})},Si="_button_1q027_1",Ai="_outline_1q027_28",ki="_sm_1q027_46",$i="_full_1q027_53",Ti="_small_1q027_57",Ei="_unpadded_1q027_88",gt={button:Si,outline:Ai,sm:ki,full:$i,small:Ti,unpadded:Ei},$o=e=>{const{sm:s,fullWidth:n,loading:r,className:o,children:a,disabled:i,...c}=e;return t.jsx("button",{...c,className:D(gt.button,{[gt.sm]:s,[gt.full]:n},o),disabled:!!r||i,children:r?t.jsxs(t.Fragment,{children:[t.jsx(wt,{color:"currentColor",size:16}),typeof r=="string"&&t.jsx("span",{className:gt.loading,children:r})]}):a})},qi=({className:e,...s})=>t.jsx($o,{...s,className:D(gt.outline,e)}),Di=({className:e,unpadded:s,...n})=>t.jsx("button",{...n,className:D(gt.small,{[gt.unpadded]:s},e)}),J={White:$o,Outline:qi,Small:Di},Pi="_footer_1vp4h_1",Ri="_actions_1vp4h_10",hr={footer:Pi,actions:Ri},ie=({extra:e,className:s,children:n})=>t.jsxs("footer",{className:D(hr.footer,s),children:[e,t.jsx("div",{className:hr.actions,children:n})]}),Bi="_scrollable_13su7_1",Mi={scrollable:Bi},Fe=({className:e,children:s,ref:n})=>t.jsx("div",{ref:n,className:D(Mi.scrollable,e),children:s});function Ls(){return Ie.useMediaQuery("(max-width: 576px)")}const wn="interwoven-kit";function To(){const e=document.querySelector(wn)||document.body.appendChild(document.createElement(wn));return e.shadowRoot||e.attachShadow({mode:"open"})}function Fi(){const{theme:e,container:s}=X();return _.useEffect(()=>{document.querySelector(wn)?.setAttribute("data-theme",e)},[e]),s??To()}function Oi(e){const s=To(),n=document.createElement("style");n.textContent=e,s.appendChild(n)}const Wn=_.createContext(null);function yt(){const{container:e}=_.useContext(Wn);return e}function Eo(e){const s=yt();return s?getComputedStyle(s).getPropertyValue(e):""}function Ui(){return Ie.useScrollLock(),null}function Li(e){return/^[A-F0-9]{64}$/i.test(e)}function zi(e,s){const{txHash:n,accountAddress:r,pathSuffix:o}=s;if(n)return Li(n)?w.path(["explorers",0,"tx_page"],e)?.replace(/\$\{txHash\}/g,n):void 0;if(r){if(!v.InitiaAddress.validate(r))return;const i=w.path(["explorers",0,"account_page"],e)?.replace(/\$\{accountAddress\}/g,r);return i&&o?i+o:i}}function Ki(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 Wi="_link_j1lkz_1",mr={link:Wi},zs=({chainId:e,txHash:s,accountAddress:n,pathSuffix:r,...o})=>{const{showIcon:a,className:i,children:c,onClick:l,...d}=o,u=Me(e),h=zi(u,{txHash:s,accountAddress:n,pathSuffix:r}),m=s?v.truncate(s):n?v.truncate(n):"",f=c??m;return h?t.jsxs("a",{...d,href:Ia(Ki(h)),className:D(mr.link,i),onClick:l,target:"_blank",children:[f,a&&t.jsx(A.IconExternalLink,{size:12})]}):t.jsx("span",{...d,className:D(mr.link,i),children:f})},qo=_.createContext(null),Hn=()=>_.useContext(qo),Hi=()=>{const[e,s]=H.useAtom(wo),{showNotification:n,updateNotification:r,hideNotification:o}=Hn();return _.useEffect(()=>{if(!e)return;const{status:a,chainId:i,txHash:c,error:l}=e,d=l?l.message:c?t.jsx(zs,{txHash:c,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},vs=({value:e,children:s})=>{const[n,r]=_.useState(!1);return s({copy:async()=>{try{await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),1e3)}catch{}},copied:n})},Qi="_placeholder_10r3x_1",Gi="_logo_10r3x_5",fr={placeholder:Qi,logo:Gi},Y=({src:e,alt:s,placeholder:n,classNames:r,style:o,logo:a,...i})=>{const[c,l]=_.useState(void 0),{width:d,height:u}=i,h=n??t.jsx("div",{className:D(fr.placeholder,r?.placeholder),style:{width:d,height:u,...o}});return!e||c===e?h:t.jsx("img",{...i,className:D(i.className,{[fr.logo]:a}),style:{width:d,height:u,...o},src:e,alt:s,loading:"lazy",onError:()=>l(e)})},Vi="_header_1q8ju_1",Yi="_account_1q8ju_17",Ji="_name_1q8ju_28",Zi="_address_1q8ju_32",Xi="_icon_1q8ju_36",ec="_copied_1q8ju_43",tc="_button_1q8ju_58",sc="_settings_1q8ju_69",nc="_disconnect_1q8ju_73",rc="_label_1q8ju_83",oc="_expanded_1q8ju_91",je={header:Vi,account:Yi,name:Ji,address:Zi,icon:Xi,copied:ec,button:tc,settings:sc,disconnect:nc,label:rc,expanded:oc},ac=()=>{const{connector:e}=de.useAccount(),s=Mn(),{address:n,username:r}=xe(),o=r??n,[a,i]=_.useState(!1),c=_.useRef(null),l=rt.useSpring({width:a?140:52,config:{tension:500,friction:30,clamp:!0}}),d=()=>{a?s():i(!0)},u=()=>{a&&(c.current=setTimeout(()=>{i(!1)},500))},h=()=>{c.current&&(clearTimeout(c.current),c.current=null)};if(_.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]),!e||!n)return null;const m=e.id==="io.privy.wallet"?"https://assets.initia.xyz/images/wallets/Privy.webp":e.icon;return t.jsxs("header",{className:je.header,children:[t.jsx(vs,{value:n,children:({copy:f,copied:g})=>t.jsxs("button",{className:D(je.account,{[je.copied]:g}),onClick:f,children:[t.jsx(Y,{src:m,width:18,height:18}),t.jsx("div",{className:je.address,children:v.truncate(n)}),t.jsx("div",{className:je.name,children:v.truncate(o)}),t.jsx(A.IconCopy,{className:je.icon,size:12}),g?"Copied!":""]})}),t.jsx(Et,{to:"/settings",className:D(je.button,je.settings),"aria-label":"Open settings",children:t.jsx(A.IconSettingFilled,{size:16})}),t.jsxs(rt.animated.button,{className:D(je.button,je.disconnect,{[je.expanded]:a}),style:l,onClick:d,onMouseLeave:u,onMouseEnter:h,children:[t.jsx(A.IconSignOut,{size:16}),t.jsx("span",{className:je.label,children:"Disconnect"})]})]})},ic="_overlay_jij9g_1",cc="_content_jij9g_28",lc="_inner_jij9g_60",tn={overlay:ic,content:cc,inner:lc},dc=({children:e})=>{const{isDrawerOpen:s,closeDrawer:n}=Ve(),{setContainer:r}=_.useContext(Wn),o=Ls(),a=Fi(),i=H.useAtomValue(Fs),c=H.useAtomValue(ts),l=$.useIsMutating({mutationKey:[vo]}),d=()=>{const g=l?"User exited before response arrived. Transaction may succeed or fail.":"User rejected";n(),i?.reject(new Error(g)),c?.reject(new Error("User rejected"))},u=Es(),h=he(),m=$.useQueryClient(),f={fallbackRender:({error:g,resetErrorBoundary:p})=>{const x=()=>{u==="/bridge"&&(localStorage.removeItem(U.BRIDGE_SRC_CHAIN_ID),localStorage.removeItem(U.BRIDGE_SRC_DENOM),localStorage.removeItem(U.BRIDGE_DST_CHAIN_ID),localStorage.removeItem(U.BRIDGE_DST_DENOM)),h("/"),m.clear(),p()};return t.jsxs(Fe,{children:[t.jsx(ne,{error:!0,children:g.message}),t.jsx(ie,{children:t.jsx(J.White,{onClick:x,children:"Retry"})})]})}};return t.jsx(Ae.Dialog.Root,{open:s,onOpenChange:g=>!g&&d(),modal:!1,children:t.jsxs(Ae.Dialog.Portal,{container:a,children:[o&&t.jsx(Ae.Dialog.Backdrop,{className:tn.overlay,onClick:d,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"})]})}),t.jsx(Ae.Dialog.Popup,{className:tn.content,children:t.jsxs("div",{className:D(tn.inner,"body"),ref:r,children:[o&&t.jsx(Ui,{}),t.jsx(Hi,{}),t.jsx(ac,{}),t.jsx(ye,{errorBoundaryProps:f,children:e})]})})]})})},Do=_.createContext(!1),uc="_overlay_1iyfl_1",hc="_fullscreen_1iyfl_15",mc="_content_1iyfl_19",fc="_header_1iyfl_56",_c="_title_1iyfl_65",gc="_close_1iyfl_70",lt={overlay:uc,fullscreen:hc,content:mc,header:fc,title:_c,close:gc},Po=({title:e,children:s,trigger:n,className:r,open:o,onOpenChange:a})=>{const i=yt(),c=_.useContext(Do);return i?t.jsxs(Ae.Dialog.Root,{open:o,onOpenChange:a,modal:!1,children:[n&&t.jsx(Ae.Dialog.Trigger,{className:r,children:n}),t.jsxs(Ae.Dialog.Portal,{container:i,children:[t.jsx(Ae.Dialog.Backdrop,{className:D(lt.overlay,{[lt.fullscreen]:c}),onClick:()=>a(!1),forceRender:!0}),t.jsxs(Ae.Dialog.Popup,{className:D(lt.content,{[lt.fullscreen]:c}),children:[e&&t.jsxs("header",{className:lt.header,children:[t.jsx(Ae.Dialog.Title,{className:lt.title,children:e}),t.jsx(Ae.Dialog.Close,{className:lt.close,children:t.jsx(A.IconClose,{size:20})})]}),s]})]})]}):null},bn=({children:e})=>{const s=_.useRef(null),[n,r]=_.useState(0),o=rt.useSpring({height:n,config:{tension:500,friction:30,clamp:!0}});return _.useEffect(()=>{if(s.current){const{height:a}=s.current.getBoundingClientRect();r(a)}},[e]),e?t.jsx(rt.animated.div,{style:{overflow:"hidden",...o},children:t.jsx("div",{ref:s,children:e})}):null},pc="_help_qcmtq_1",xc="_icon_qcmtq_10",yc="_info_qcmtq_19",jc="_warning_qcmtq_23",vc="_error_qcmtq_27",wc="_success_qcmtq_33",sn={help:pc,icon:xc,info:yc,warning:jc,error:vc,success:wc},kt=({level:e,className:s,mt:n=8,children:r})=>{if(!r)return null;const o=()=>{switch(e){case"loading":return t.jsx(wt,{size:12});case"info":return t.jsx(A.IconInfoFilled,{size:12});case"warning":case"error":return t.jsx(A.IconWarningFilled,{size:12});default:return t.jsx(A.IconCheckCircleFilled,{size:12})}};return t.jsxs("div",{className:D(sn.help,e&&sn[e],s),style:{marginTop:n},children:[t.jsx("div",{className:sn.icon,children:o()}),r]})},bc="_stack_a6m7u_1",Cc="_help_a6m7u_6",Ic="_info_a6m7u_14",Nc="_warning_a6m7u_19",Sc="_error_a6m7u_24",Ac="_success_a6m7u_29",Cn={stack:bc,help:Cc,info:Ic,warning:Nc,error:Sc,success:Ac},kc=({children:e})=>!e||Array.isArray(e)&&e.filter(Boolean).length===0?null:t.jsx(bn,{children:t.jsx("div",{className:Cn.stack,children:e})}),oe=({mt:e=0,...s})=>t.jsx(kt,{...s,className:D(Cn.help,Cn[s.level]),mt:e});oe.Stack=kc;const $c="_root_16p5j_1",Tc="_item_16p5j_10",Ec="_chevron_16p5j_14",qc="_trigger_16p5j_19",Dc="_content_16p5j_39",Ft={root:$c,item:Tc,chevron:Ec,trigger:qc,content:Dc};function Pc(e){const{list:s,getKey:n,renderHeader:r,renderContent:o,footer:a,...i}=e;return t.jsxs(se.Accordion.Root,{className:Ft.root,type:"multiple",...i,children:[s.map((c,l)=>t.jsxs(se.Accordion.Item,{className:Ft.item,value:n?.(c)??String(l),children:[t.jsx(se.Accordion.Header,{children:t.jsxs(se.Accordion.Trigger,{className:Ft.trigger,children:[r(c),t.jsx(A.IconChevronDown,{className:Ft.chevron,size:16})]})}),t.jsx(se.Accordion.Content,{className:Ft.content,children:o(c)})]},n?.(c)??l)),a]})}const Rc=10;function Ro(){const e=ee();return(s,n)=>$.queryOptions({queryKey:$s.txs(s.indexerUrl,e).queryKey,queryFn:async()=>{if(!n.enabled)return[];const r={"pagination.reverse":!0,"pagination.limit":Rc},{txs:o}=await L.create({prefixUrl:s.indexerUrl}).get(`indexer/tx/v1/txs/by_account/${e}`,{searchParams:r}).json();return o},staleTime:Q.SECOND})}function Bc(e,s){const n=Ro();return $.useSuspenseQuery(n(e,s))}function Mc(e,s){const n=e.flatMap((r,o)=>(s[o]??[]).map(i=>({...i,chain:r})));return w.sortWith([w.descend(r=>new Date(r.timestamp).getTime())])(n)}const Fc=()=>{const e=ae(),s=Ro(),n=$.useQueries({queries:e.map(i=>s(i,{enabled:!0}))}),r=n.map(w.prop("data")),o=Mc(e,r),a=n.some(i=>i.isLoading);return{activities:o,isLoading:a}};function Bo(e){const{data:s}=$.useSuspenseQuery({queryKey:As.gasPrices(e).queryKey,queryFn:async()=>{if(e.metadata?.is_l1){const{restUrl:n}=e,{gas_prices:r}=await L.create({prefixUrl:n}).get("initia/tx/v1/gas_prices").json();return r.toSorted(w.descend(({denom:o})=>o==="uinit")).map(({denom:o,amount:a})=>{const i=o==="uinit"?1:Hr;return{amount:F(a).times(i).toFixed(18),denom:o}})}return e.fees.fee_tokens.map(({denom:n,fixed_min_gas_price:r})=>{if(w.isNil(r))throw new Error(`${n} has no price`);return{amount:String(r),denom:n}})},staleTime:Q.SECOND});return s}function Mo(e){const s=ee(),{data:n}=Bc(e,{enabled:e.fees.fee_tokens.length>=2});if(e.fees.fee_tokens.length===0)return null;const r=e.fees.fee_tokens[0].denom;if(e.fees.fee_tokens.length===1)return r;try{return n.find(({tx:a})=>a.auth_info.signer_infos.some(i=>v.InitiaAddress.equals(s,We.computeAddress(`0x${V.toHex(jn.Secp256k1.uncompressPubkey(V.fromBase64(i.public_key.key)))}`))))?.tx.auth_info.fee.amount[0]?.denom??r}catch{return r}}const Oc="_trigger_u613p_1",Uc="_icon_u613p_18",Lc="_content_u613p_27",zc="_item_u613p_36",Kc="_itemText_u613p_52",Wc="_itemIndicator_u613p_57",Hc="_active_u613p_60",Xe={trigger:Oc,icon:Uc,content:Lc,item:zc,itemText:Kc,itemIndicator:Wc,active:Hc};function Fo({options:e,value:s,onChange:n,classNames:r}){const o=yt(),a=e.find(c=>c.value===s);if(!a)throw new Error("Selected option not found");const i=c=>{const l=e.find(d=>String(d.value)===c);if(!l)throw new Error(`Option not found: ${c}`);n(l.value)};return t.jsxs(Le.Select.Root,{value:String(s),onValueChange:i,modal:!1,children:[t.jsxs(Le.Select.Trigger,{className:D(Xe.trigger,r?.trigger),children:[t.jsx(Le.Select.Value,{children:a.triggerLabel||a.label}),t.jsx(Le.Select.Icon,{className:Xe.icon,children:t.jsx(A.IconChevronDown,{size:12})})]}),t.jsx(Le.Select.Portal,{container:o,children:t.jsx(Le.Select.Positioner,{className:Xe.content,alignItemWithTrigger:!1,sideOffset:6,align:"end",children:t.jsx(Le.Select.Popup,{className:Xe.popup,children:e.map(c=>t.jsxs(Le.Select.Item,{className:D(Xe.item,r?.item),value:String(c.value),children:[t.jsx(Le.Select.ItemText,{className:D(Xe.itemText,r?.itemText),children:c.label}),t.jsx(A.IconCheck,{size:12,className:D(Xe.itemIndicator,{[Xe.active]:c.value===s})})]},String(c.value)))})})})]})}const Qc="_root_1t37n_1",Gc="_trigger_1t37n_7",Vc="_item_1t37n_11",Yc="_itemText_1t37n_17",_r={root:Qc,trigger:Gc,item:Vc,itemText:Yc},Jc=({options:e,value:s,onChange:n})=>{const{txRequest:r}=bo(),o=Me(r.chainId),a=Ge(o),i=(g,p)=>{if(v.formatAmount(g,{decimals:p})==="0.000000")return 8},c=({amount:[{amount:g,denom:p}]})=>{if(F(g).isZero())return"0";const{symbol:x,decimals:S}=a(p),I=i(g,S);return`${v.formatAmount(g,{decimals:S,dp:I})} ${x}`},l=e.map(g=>{const[{denom:p}]=g.amount,{symbol:x}=a(p);return{value:p,label:c(g),triggerLabel:x}});if(e.length===1)return t.jsx("span",{className:"monospace",children:c(e[0])});const d=e.find(g=>g.amount[0].denom===s);if(!d)throw new Error("Fee option not found");const[{amount:u,denom:h}]=d.amount,{decimals:m}=a(h),f=i(u,m);return t.jsxs("div",{className:_r.root,children:[t.jsx("span",{className:"monospace",children:v.formatAmount(u,{decimals:m,dp:f})}),t.jsx(Fo,{options:l,value:s,onChange:n,classNames:_r})]})},Zc="_root_16nr2_1",Xc="_trigger_16nr2_5",el="_chevron_16nr2_13",tl="_panel_16nr2_27",sl="_details_16nr2_39",nl="_row_16nr2_48",Nt={root:Zc,trigger:Xc,chevron:el,panel:tl,details:sl,row:nl},rl=({spend:e,fee:s,total:n,balance:r,symbol:o,decimals:a})=>{const i=[e&&{label:"Spend",value:e},{label:"Fee",value:s},e&&{label:"Required (spend + fee)",value:n},{label:"Balance",value:r}].filter(Boolean),c=a===6?void 0:8;return t.jsxs(Js.Collapsible.Root,{className:Nt.root,children:[t.jsxs(Js.Collapsible.Trigger,{className:Nt.trigger,children:[t.jsx("span",{children:"Insufficient balance for fee"}),t.jsx(A.IconChevronDown,{className:Nt.chevron,size:16})]}),t.jsx(Js.Collapsible.Panel,{className:Nt.panel,children:t.jsx("div",{className:Nt.details,children:i.map(({label:l,value:d})=>t.jsxs("div",{className:Nt.row,children:[t.jsx("span",{children:l}),t.jsxs("span",{children:[v.formatAmount(d,{decimals:a,dp:c})," ",o]})]},l))})})]})};function ws(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?V.toBase64(e):Array.isArray(e)?`[${e.map(ws).join(",")}]`:JSON.stringify(e,(s,n)=>typeof n=="bigint"?n.toString():n);default:return"unknown"}}const ol="_container_1xzyq_1",al="_toggle_1xzyq_5",il="_list_1xzyq_11",cl="_arg_1xzyq_16",ll="_type_1xzyq_21",Ot={container:ol,toggle:al,list:il,arg:cl,type:ll},dl=Ne.createQueryKeys("interwovenkit:move",{abi:(e,s,n,r)=>[e,s,n,r]}),ul=({type:e,arg:s})=>ws(v.resolveBcsType(e).parse(s)),hl=({msg:e,chainId:s,fallback:n})=>{const[r,o]=Ie.useToggle(!1),{restUrl:a}=Me(s),{moduleAddress:i,moduleName:c,functionName:l,args:d}=e,{data:u}=$.useQuery({queryKey:dl.abi(a,i,c,l).queryKey,queryFn:async()=>{const m=await L.create({prefixUrl:a}).get(`initia/move/v1/accounts/${i}/modules/${c}`).json(),g=JSON.parse(m.module.abi).exposed_functions.find(({name:p})=>p===l);if(!g)throw new Error(`Function ${l} not found in module ${c}`);return g.params.filter(p=>!p.startsWith("&"))},staleTime:Q.INFINITY});if(!u)return n;const h=(m,f)=>{const g=u[f];return t.jsxs("div",{className:Ot.arg,children:[t.jsx("div",{className:Ot.type,children:g}),t.jsx(Kr.ErrorBoundary,{fallback:t.jsx("div",{className:"error",children:"Error decoding argument"}),children:t.jsx(ul,{type:g,arg:m})})]},f)};return t.jsxs("div",{className:Ot.container,children:[t.jsx(J.Small,{className:Ot.toggle,onClick:o,disabled:!u,children:r?"Encode":"Decode"}),r?t.jsx("div",{className:Ot.list,children:d.map(h)}):n]})},ml="_list_oip9m_1",fl="_key_oip9m_9",_l="_value_oip9m_14",nn={list:ml,key:fl,value:_l},gl=({message:e,chainId:s})=>{const{typeUrl:n,value:r}=e;return t.jsx("div",{className:nn.list,children:Object.entries(r).map(([o,a])=>t.jsxs("div",{children:[t.jsx("div",{className:nn.key,children:o}),t.jsx("div",{className:nn.value,children:n==="/initia.move.v1.MsgExecute"&&o==="args"?t.jsx(hl,{msg:r,chainId:s,fallback:ws(a)}):ws(a)})]},o))})},pl="_item_1n572_1",xl="_title_1n572_10",yl="_content_1n572_14",rn={item:pl,title:xl,content:yl},on=({title:e,content:s})=>t.jsxs("div",{className:rn.item,children:[t.jsx("div",{className:rn.title,children:e}),t.jsx("div",{className:rn.content,children:s})]});function $e(e){if(e&&F(e).gt(0)&&F(e).lt(.01))return"<$0.01";const s=v.formatNumber(e,{dp:2});return s?`$${s}`:""}function Oo(e,s){const n={};for(const r of e)if(r.attributes.some(a=>a.key==="msg_index")){if(r.type==="coin_spent"){const a=r.attributes.find(c=>c.key==="spender")?.value,i=r.attributes.find(c=>c.key==="amount")?.value;if(a===s&&i){const[c,l]=i.match(/^(\d+)(.+)$/)?.slice(1)||[];if(c&&l){const d=n[l]||BigInt(0);n[l]=d-BigInt(c)}}}if(r.type==="coin_received"){const a=r.attributes.find(c=>c.key==="receiver")?.value,i=r.attributes.find(c=>c.key==="amount")?.value;if(a===s&&i){const[c,l]=i.match(/^(\d+)(.+)$/)?.slice(1)||[];if(c&&l){const d=n[l]||BigInt(0);n[l]=d+BigInt(c)}}}}return Object.entries(n).filter(([,r])=>r!==BigInt(0)).map(([r,o])=>({amount:o.toString(),denom:r}))}function Uo(e,s){const n={};for(const r of e)if(r.attributes.some(a=>a.key==="msg_index")&&r.type==="move"){const a=r.attributes.find(l=>l.key==="type_tag")?.value,i=r.attributes.find(l=>l.key==="data")?.value;if(!a||!i)continue;let c;try{c=JSON.parse(i)}catch{continue}if(a==="0x1::fungible_asset::WithdrawEvent"){const l=c.store_addr,d=c.amount,u=c.metadata_addr;if(l&&d&&u&&v.createUserDerivedObjectAddress(s,u)===l){const m=n[u]||BigInt(0);n[u]=m-BigInt(d)}}if(a==="0x1::fungible_asset::DepositEvent"){const l=c.store_addr,d=c.amount,u=c.metadata_addr;if(l&&d&&u&&v.createUserDerivedObjectAddress(s,u)===l){const m=n[u]||BigInt(0);n[u]=m+BigInt(d)}}}return Object.entries(n).filter(([,r])=>r!==BigInt(0)).map(([r,o])=>({amount:o.toString(),metadata:r}))}const Lo=({metadata:e,chain:s,children:n})=>{const{restUrl:r}=s,{data:o}=$.useSuspenseQuery({queryKey:js.denom(r,e).queryKey,queryFn:()=>L.create({prefixUrl:r}).get("initia/move/v1/denom",{searchParams:{metadata:e}}).json(),select:({denom:a})=>a,staleTime:Q.INFINITY});return n(o)},jl="_root_1p8a4_1",vl="_title_1p8a4_8",wl="_changes_1p8a4_14",bl="_change_1p8a4_14",Cl="_amount_1p8a4_35",Il="_text_1p8a4_42",Nl="_value_1p8a4_49",pt={root:jl,title:vl,changes:wl,change:bl,amount:Cl,text:Il,value:Nl},zo=({amount:e,asset:s,price:n})=>{const{denom:r,symbol:o,decimals:a,logoUrl:i}=s,c=v.formatAmount(e,{decimals:a}),l=n&&F(v.fromBaseUnit(e,{decimals:a})).times(n).abs();return t.jsxs("div",{className:pt.change,children:[t.jsxs("div",{className:pt.amount,children:[t.jsx(Y,{src:i,width:14,height:14,logo:!0}),t.jsxs("span",{className:pt.text,children:[c," ",o||r]})]}),l&&t.jsx("div",{className:pt.value,children:$e(l)})]})},Sl=({changes:e,chain:s})=>{const n=Ge(s),{data:r}=ks(s);return e.map(({amount:o,denom:a},i)=>{const c=n(a),l=r?.find(({id:d})=>d===a)?.price;return t.jsx(zo,{amount:o,asset:c,price:l},i)})},Al=({changes:e,chain:s})=>{const n=Ge(s),{data:r}=ks(s);return e.map(({amount:o,metadata:a},i)=>t.jsx(Lo,{metadata:a,chain:s,children:c=>{const l=r?.find(({id:d})=>d===c)?.price;return t.jsx(zo,{amount:o,asset:n(c),price:l})}},i))};function kl(e,s){return typeof s=="bigint"?s.toString():s}const $l=Ne.createQueryKeys("interwovenkit:tx",{simulate:e=>[JSON.stringify(e,kl)]}),Tl=({messages:e,memo:s,chainId:n})=>{const{initiaAddress:r,hexAddress:o}=xe(),a=Me(n),{simulateTx:i}=Os(),{data:c}=$.useSuspenseQuery({queryKey:$l.simulate({messages:e,memo:s,chainId:n}).queryKey,queryFn:()=>i({messages:e,memo:s,chainId:n}),staleTime:Q.SECOND}),l=m=>t.jsxs("div",{className:pt.root,children:[t.jsx("h2",{className:pt.title,children:"Estimated changes"}),t.jsx("div",{className:pt.changes,children:m})]});if(!c)return null;const d=c.result?.events??[];if(d.length===0)return null;if(a.metadata?.is_l1||a.metadata?.minitia?.type==="minimove"){const m=Uo(d,o),[f]=gr(m);return f.length===0?null:l(t.jsx(Al,{changes:f,chain:a}))}const u=Oo(d,r),[h]=gr(u);return h.length===0?null:l(t.jsx(Sl,{changes:h,chain:a}))};function gr(e){return w.partition(s=>new F(s.amount).isNegative(),e)}const El="_title_1d032_1",ql="_meta_1d032_7",Dl="_footer_1d032_14",Pl="_rejectButton_1d032_19",cs={title:El,meta:ql,footer:Dl,rejectButton:Pl},Ko=()=>{const{txRequest:e,resolve:s,reject:n}=bo(),{messages:r,memo:o,chainId:a,gas:i,gasAdjustment:c,spendCoins:l}=e,d=ee(),u=Ps(),h=Me(a),m=Bn(h),f=Bo(h),g=Mo(h),p=Ge(h),x=xo(),S=po(),I=(e.gasPrices??f).map(({amount:y,denom:k})=>Pe.calculateFee(Math.ceil(i*c),Pe.GasPrice.fromString(y+k))),N=I.map(y=>y.amount[0]),C=y=>{const k=m.find(Z=>Z.denom===y)?.amount??"0",q=N.find(Z=>Z.denom===y)?.amount??"0",M=l.filter(Z=>Z.denom===y).reduce((Z,Ue)=>F(Z).plus(Ue.amount),F("0")),E=F(q).plus(M),G=F(k).gte(E),{symbol:te,decimals:O}=p(y);return{symbol:te,decimals:O,spend:M.gt(0)?M.toFixed():null,fee:q,total:E.toFixed(),balance:k,isSufficient:G}},T=()=>{if(g&&C(g).isSufficient)return g;for(const{denom:y}of N)if(C(y).isSufficient)return y;return N[0]?.denom},[P,R]=_.useState(T),{mutate:B,isPending:z}=$.useMutation({mutationKey:[vo],mutationFn:async()=>{const y=I.find(M=>M.amount[0].denom===P);if(!y)throw new Error("Fee not found");const q=!e.internal&&await x(a,r)?await S(a,d,r,y,o||""):await u(a,d,r,y,o);await s(q)},onError:async y=>{n(y)}}),j=C(P),b=!j.isSufficient;return t.jsxs(t.Fragment,{children:[t.jsxs(Fe,{children:[t.jsx("h1",{className:cs.title,children:"Confirm tx"}),t.jsxs("div",{className:cs.meta,children:[t.jsx(on,{title:"Chain",content:a}),t.jsx(on,{title:"Tx fee",content:t.jsx(Jc,{options:I,value:P,onChange:R})}),o&&t.jsx(on,{title:"Memo",content:o}),b&&t.jsx(oe,{level:"error",children:t.jsx(rl,{...j})})]}),t.jsx(Tl,{messages:r,memo:o,chainId:a}),t.jsx(Pc,{list:r,renderHeader:({typeUrl:y})=>Ns.sentenceCase(y.split(".").pop().replace(/^Msg/,"")),renderContent:y=>t.jsx(gl,{message:y,chainId:a})})]}),t.jsxs(ie,{className:cs.footer,children:[t.jsx(J.Outline,{onClick:()=>n(new Error("User rejected")),disabled:z,className:cs.rejectButton,children:t.jsx(A.IconClose,{size:16})}),t.jsx(J.White,{onClick:()=>B(),disabled:b,loading:z,children:"Approve"})]})]})},Rl=({children:e})=>{const[{title:s,content:n,path:r},o]=_.useState({}),[a,i]=_.useState(!1),c=H.useAtomValue(Fs),l=_.useCallback(h=>{o(h),i(!0)},[]),d=_.useCallback(()=>{o({}),i(!1)},[]),u=_.useCallback(h=>{h||(c?.reject(new Error("User rejected")),o({})),i(h)},[c]);return t.jsxs(yo.Provider,{value:{openModal:l,closeModal:d},children:[e,t.jsx(Po,{title:s,open:a,onOpenChange:u,children:t.jsx(ye,{children:r==="/tx"?t.jsx(Ko,{}):n})})]})},Bl="_container_1w1hx_1",Ml="_toast_1w1hx_11",Fl="_info_1w1hx_24",Ol="_success_1w1hx_28",Ul="_error_1w1hx_32",Ll="_icon_1w1hx_37",zl="_content_1w1hx_45",Kl="_title_1w1hx_48",Wl="_description_1w1hx_53",Hl="_close_1w1hx_75",et={container:Bl,toast:Ml,info:Fl,success:Ol,error:Ul,icon:Ll,content:zl,title:Kl,description:Wl,close:Hl},Ql=({notification:e,onClose:s,...n})=>{const r=rt.useTransition(e,{keys:a=>a?.id||"empty",from:{transform:"translateY(-52px)",opacity:0},enter:{transform:"translateY(0px)",opacity:1},leave:{transform:"translateY(-52px)",opacity:0},config:{tension:500,friction:30,clamp:!0}}),o=a=>{switch(a){case"loading":return t.jsx(wt,{size:16});case"info":case"success":return t.jsx(A.IconCheckCircleFilled,{size:16});case"error":return t.jsx(A.IconCloseCircleFilled,{size:16});default:return null}};return r((a,i)=>{if(!i)return null;const{type:c,title:l,description:d}=i,u=o(c);return t.jsx(rt.animated.div,{style:a,className:et.container,children:t.jsxs("div",{className:D(et.toast,c&&et[c]),...n,children:[u&&t.jsx("div",{className:et.icon,children:u}),t.jsxs("div",{className:et.content,children:[t.jsx("p",{className:et.title,children:l}),d&&t.jsx("div",{className:et.description,children:d})]}),t.jsx("button",{className:et.close,onClick:s,children:t.jsx(A.IconClose,{size:14})})]})})})},an=5e3,Gl=({children:e})=>{const s=yt(),[n,r]=_.useState(null),o=_.useRef(null),a=_.useRef(!1),i=()=>{o.current&&(clearTimeout(o.current),o.current=null)},c=_.useCallback(()=>{i(),r(null)},[]),l=_.useCallback(m=>{i(),r({...m,id:ar.nanoid()}),m.autoHide&&!a.current&&(o.current=setTimeout(()=>c(),an))},[c]),d=_.useCallback(m=>{i(),r(f=>f?{...f,...m}:{...m,id:ar.nanoid()}),m.autoHide&&!a.current&&(o.current=setTimeout(()=>c(),an))},[c]),u=()=>{i(),a.current=!0},h=()=>{i(),a.current=!1,n?.autoHide&&(o.current=setTimeout(()=>c(),an))};return _.useEffect(()=>()=>i(),[]),t.jsxs(qo.Provider,{value:{showNotification:l,updateNotification:d,hideNotification:c},children:[e,s&&Na.createPortal(t.jsx(Ql,{notification:n,onClose:c,onMouseEnter:u,onMouseLeave:h}),s)]})},Vl=({children:e})=>{const[s,n]=_.useState(null);return t.jsx(Wn.Provider,{value:{container:s,setContainer:n},children:e})},Wo=[{value:10*io,label:"for 10 minutes"},{value:co,label:"for 1 hour"},{value:lr,label:"for 1 day"},{value:7*lr,label:"for 7 days"},{value:0,label:"until revoked"}],Yl=Wo[0].value,Jl="_container_1422v_1",Zl="_title_1422v_7",Xl="_description_1422v_14",ed="_sectionTitle_1422v_20",td="_websiteInfo_1422v_27",sd="_favicon_1422v_37",nd="_websiteTitle_1422v_42",rd="_websiteHost_1422v_48",od="_warningContent_1422v_54",ad="_ignoreButton_1422v_61",id="_infoList_1422v_65",cd="_infoItem_1422v_75",ld="_label_1422v_84",dd="_infoValue_1422v_94",ud="_durationTrigger_1422v_100",hd="_durationItem_1422v_101",md="_featureList_1422v_105",fd="_featureItem_1422v_113",_d="_checkIcon_1422v_123",gd="_learnMoreLink_1422v_127",pd="_feedbackContainer_1422v_140",xd="_footer_1422v_146",W={container:Jl,title:Zl,description:Xl,sectionTitle:ed,websiteInfo:td,favicon:sd,websiteTitle:nd,websiteHost:rd,warningContent:od,ignoreButton:ad,infoList:id,infoItem:cd,label:ld,infoValue:dd,durationTrigger:ud,durationItem:hd,featureList:md,featureItem:fd,checkIcon:_d,learnMoreLink:gd,feedbackContainer:pd,footer:xd},yd=Ne.createQueryKeys("interwovenkit:account",{info:(e,s)=>({queryKey:[e,s],queryFn:async()=>{const n=L.create({prefixUrl:e}),r=`cosmos/auth/v1beta1/account_info/${s}`;return n.get(r).json()}})}),jd=()=>{const[e,s]=_.useState(Yl),[n,r]=H.useAtom(ts),[o,a]=_.useState(!1),i=Te(),c=ae(),{address:l,username:d}=xe(),{mutate:u,isPending:h}=di(),{closeDrawer:m}=Ve();if(!n)throw new Error("Pending request not found");const{logoUrl:f,name:g,restUrl:p}=i(n.chainId),{data:x,isLoading:S}=$.useQuery(yd.info(p,l)),I={favicon:document.querySelector('link[rel="icon"]')?.getAttribute("href")||"",title:document.title,hostname:window.location.hostname},N=c.some(R=>{if(!R.website)return!1;const B=pr(new URL(R.website).hostname),z=pr(window.location.hostname);return B===z}),C=()=>{u(e)},T=()=>{n?.reject(new Error("User cancelled")),r(null),m()},P=!N&&!o;return t.jsxs(t.Fragment,{children:[t.jsxs(Fe,{className:W.container,children:[t.jsxs("header",{children:[t.jsx("h1",{className:W.title,children:"Enable auto-signing"}),t.jsx("p",{className:W.description,children:"An application is requesting to enable auto-signing"})]}),t.jsxs("section",{children:[t.jsx("h2",{className:W.sectionTitle,children:"Requested by"}),t.jsxs("div",{className:W.websiteInfo,children:[t.jsx("img",{src:I.favicon,alt:"",className:W.favicon}),t.jsxs("div",{children:[t.jsx("div",{className:W.websiteTitle,children:I.title}),t.jsx("div",{className:W.websiteHost,children:I.hostname})]})]})]}),t.jsxs("section",{children:[t.jsx("h2",{className:W.sectionTitle,children:"Applies to"}),t.jsxs("div",{className:W.infoList,children:[t.jsxs("div",{className:W.infoItem,children:[t.jsx("div",{className:W.label,children:"Address"}),t.jsxs("div",{className:W.infoValue,children:[t.jsx(A.IconWallet,{size:14}),t.jsx("span",{className:"monospace",children:v.truncate(d??l)})]})]}),t.jsxs("div",{className:W.infoItem,children:[t.jsx("div",{className:W.label,children:"Chain"}),t.jsxs("div",{className:W.infoValue,children:[t.jsx(Y,{src:f,width:14,height:14,logo:!0}),t.jsx("span",{children:g})]})]}),t.jsxs("div",{className:W.infoItem,children:[t.jsx("div",{className:W.label,children:"Duration"}),t.jsx(Fo,{options:Wo,value:e,onChange:s,classNames:{trigger:W.durationTrigger,item:W.durationItem}})]})]})]}),t.jsxs("section",{children:[t.jsx("h2",{className:W.sectionTitle,children:"About auto-signing"}),t.jsx("ul",{className:W.featureList,children:["Send transactions without confirmation pop-ups","Protected by Privy embedded wallet","Revoke permissions any time in settings"].map(R=>t.jsxs("li",{className:W.featureItem,children:[t.jsx(A.IconCheckCircle,{size:12,className:W.checkIcon}),t.jsx("span",{children:R})]},R))}),t.jsxs("a",{href:"https://docs.initia.xyz/user-guides/wallet/auto-signing/introduction",target:"_blank",className:W.learnMoreLink,children:["Learn more ",t.jsx(A.IconExternalLink,{size:12})]})]})]}),t.jsxs(ie,{className:W.footer,extra:t.jsxs("div",{className:W.feedbackContainer,children:[!S&&!x&&t.jsx(oe,{level:"error",children:"Insufficient balance for fee"}),!N&&!o&&t.jsx(oe,{level:"warning",children:t.jsxs("div",{className:W.warningContent,children:[t.jsx("span",{children:"You are on an unverified website"}),t.jsx("button",{onClick:()=>a(!0),className:W.ignoreButton,children:"Ignore"})]})})]}),children:[t.jsx(J.Outline,{onClick:T,children:"Cancel"}),t.jsx(J.White,{onClick:C,disabled:P||!x||S,loading:h,children:"Enable"})]})]})},vd=()=>H.useAtomValue(ts)?t.jsx(jd,{}):null;function pr(e){const s=e.split(".");return s.length<2?e:s.slice(-2).join(".")}const wd="_container_mqvhs_1",bd="_badge_mqvhs_5",xr={container:wd,badge:bd},Ho=e=>{const{offset:s=-4,disabled:n,children:r,className:o}=e;return t.jsxs("div",{className:D(xr.container,o),children:[r,!n&&t.jsx("div",{className:xr.badge,style:{right:s,top:s}})]})},Cd="_header_s7mee_1",Id="_back_s7mee_12",Nd="_title_s7mee_24",cn={header:Cd,back:Id,title:Nd},Oe=({title:e,backButton:s,extra:n,children:r})=>t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:cn.header,children:[t.jsx(Et,{to:s??-1,className:cn.back,shouldReset:!!s,children:t.jsx(A.IconBack,{size:16})}),t.jsx("h1",{className:cn.title,children:e}),n]}),t.jsx(Fe,{children:r})]});function Qo(){const{initiaAddress:e,hexAddress:s}=xe(),n=vt(),r=ss();return o=>{const a=n(o);switch(r(a)){case"initia":return e;case"evm":return s;default:return""}}}function Go(){const e=vt(),s=ss();return(n,r)=>{const o=e(r);switch(s(o)){case"initia":return v.InitiaAddress.validate(n);case"evm":return We.isAddress(n);case"cosmos":try{return V.fromBech32(n).prefix===o.bech32_prefix}catch{return!1}default:return!1}}}function Sd(){const e=vt(),s=ss();return({initialAddress:n,initialChainId:r,chainId:o,fallbackAddress:a})=>{const i=e(r),c=s(i),l=e(o),d=s(l);if(c==="evm"&&d==="initia")return v.InitiaAddress(n).bech32;if(c==="initia"&&d==="evm")return v.InitiaAddress(n).hex;if(c===d)return n;if(a){if(d==="initia")return v.InitiaAddress(a).bech32;if(d==="evm")return v.InitiaAddress(a).hex}return""}}function Ad(){return _e().network_type==="testnet"}function ot(){return ue.useFormContext()}function kd(){const e=jt(),s=Ad(),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=w.pickBy(i=>i!==null,{srcChainId:localStorage.getItem(U.BRIDGE_SRC_CHAIN_ID),srcDenom:localStorage.getItem(U.BRIDGE_SRC_DENOM),dstChainId:localStorage.getItem(U.BRIDGE_DST_CHAIN_ID),dstDenom:localStorage.getItem(U.BRIDGE_DST_DENOM),quantity:localStorage.getItem(U.BRIDGE_QUANTITY),slippagePercent:localStorage.getItem(U.BRIDGE_SLIPPAGE_PERCENT)});return{...s?r:o,...a,...e}}const $d="_root_ekn9t_1",Td="_header_ekn9t_6",Ed="_title_ekn9t_12",qd="_warning_ekn9t_18",Dd="_content_ekn9t_22",Pd="_footer_ekn9t_26",Rd="_secondary_ekn9t_36",dt={root:$d,header:Td,title:Ed,warning:qd,content:Dd,footer:Pd,secondary:Rd},Vo=e=>{const{type:s,icon:n,title:r,children:o,primaryButton:a,secondaryButton:i}=e;return t.jsxs(Fe,{className:dt.root,children:[t.jsxs("header",{className:D(dt.header,s&&dt[s]),children:[n,t.jsx("h1",{className:dt.title,children:r})]}),t.jsx("div",{className:dt.content,children:o}),t.jsxs("footer",{className:dt.footer,children:[t.jsx(J.White,{onClick:a.onClick,sm:!0,fullWidth:!0,children:a.label}),t.jsxs("button",{className:dt.secondary,onClick:i.onClick,children:[t.jsx("span",{children:i.label}),t.jsx(A.IconChevronRight,{size:14})]})]})]})},Bd="_list_k4n3k_1",Md="_row_k4n3k_9",Fd="_dt_k4n3k_20",Od="_asset_k4n3k_26",ls={list:Bd,row:Md,dt:Fd,asset:Od},Ud=({list:e,onNavigate:s,onDismiss:n})=>{const r=_e(),o=Te(),a=Ge(r);return t.jsx(Vo,{title:"Ready to claim",primaryButton:{label:"View withdrawal status",onClick:s},secondaryButton:{label:"Do not show again",onClick:n},children:t.jsx("div",{className:ls.list,children:e.toSorted((i,c)=>i.chainId.localeCompare(c.chainId)).map(({txHash:i,chainId:c,amount:l,denom:d})=>{const u=o(c),{decimals:h,symbol:m}=a(d),f=v.formatAmount(l,{decimals:h});return t.jsxs("div",{className:ls.row,children:[t.jsxs("div",{className:ls.dt,children:[t.jsx(Y,{src:u.logoUrl,width:16,height:16,logo:!0}),t.jsx("span",{children:u.name})]}),t.jsxs("span",{className:ls.asset,children:[f," ",m]})]},i)})})})};function ln(e,s){return e.chainId===s.chainId&&e.txHash===s.txHash}const ds=({chainId:e,txHash:s})=>`${U.OP_REMINDER}:${e}:${s}`,Ld=Sa.atomWithStorage(U.OP_REMINDER,[]);function Rt(){const e=ee(),[s=[],n]=H.useAtom(Ld),r=_.useMemo(()=>s.map(l=>{const d=localStorage.getItem(ds(l));return d?JSON.parse(d):null}).filter(l=>{if(!l)return!1;const{recipient:d,claimableAt:u}=l;return d!==e?!1:ke.isPast(u)}),[e,s]),o=_.useCallback((l,d)=>{s.some(u=>ln(u,l))||(n((u=[])=>[...u,l]),localStorage.setItem(ds(l),JSON.stringify(d)))},[s,n]),a=_.useCallback(l=>{n((d=[])=>d.filter(u=>!ln(u,l))),localStorage.removeItem(ds(l))},[n]),i=_.useCallback(l=>{const d=l.filter(u=>!s.some(h=>ln(h,u)));d.length!==0&&n((u=[])=>[...u,...d])},[s,n]),c=_.useCallback((l,d)=>{localStorage.setItem(ds(l),JSON.stringify(d)),n((u=[])=>[...u])},[n]);return{reminders:r,addReminder:o,removeReminder:a,syncReminders:i,setReminder:c}}function Yo(){const e=he(),{openModal:s,closeModal:n}=Ms(),{reminders:r,setReminder:o}=Rt();_.useEffect(()=>{const a=r.filter(l=>!l.dismissed);if(a.length===0)return;const i=()=>{const l=a.every(d=>d.chainId===a[0].chainId)?a[0].chainId:void 0;e("/op/withdrawals",{chainId:l}),c()},c=()=>{n();for(const l of a)o(l,{...l,dismissed:!0})};s({content:_.createElement(Ud,{list:a,onNavigate:i,onDismiss:c})})},[r,n,e,s,o])}const zd="_wrapper_5ssm8_1",Kd="_balance_5ssm8_11",Wd="_button_5ssm8_15",dn={wrapper:zd,balance:Kd,button:Wd},Jo=({onClick:e,children:s,disabled:n})=>t.jsxs("div",{className:dn.wrapper,children:[t.jsx(A.IconWallet,{size:16}),t.jsx("span",{className:dn.balance,children:s}),t.jsx("button",{type:"button",tabIndex:-1,className:dn.button,onClick:()=>e(),disabled:n,children:"MAX"})]}),Hd="_fieldset_up6fh_1",Qd="_upper_up6fh_9",Gd="_select_up6fh_14",Vd="_account_up6fh_20",Yd="_lower_up6fh_25",Jd="_wrapper_up6fh_26",Zd="_balance_up6fh_33",Xd="_value_up6fh_37",eu="_error_up6fh_50",ze={fieldset:Hd,upper:Qd,select:Gd,account:Vd,lower:Yd,wrapper:Jd,balance:Zd,value:Xd,error:eu},In=e=>{const{selectButton:s,accountButton:n,quantityInput:r,balanceButton:o,value:a,errorMessage:i,hideNumbers:c}=e;return t.jsxs("div",{className:ze.fieldset,children:[t.jsxs("div",{className:ze.upper,children:[t.jsx("div",{className:ze.select,children:s}),t.jsx("div",{className:ze.account,children:n})]}),!c&&t.jsxs("div",{className:ze.lower,children:[r,t.jsxs("div",{className:ze.wrapper,children:[t.jsx("div",{className:ze.balance,children:o}),a&&t.jsx("div",{className:ze.value,children:a})]}),i&&t.jsxs("footer",{className:ze.error,children:[t.jsx(A.IconWarningFilled,{size:12}),t.jsx("p",{children:i})]})]})]})};function ns(){const e=_.useRef(null),s=Ls();return _.useEffect(()=>{s||e.current?.focus()},[s]),e}const tu="_input_h8073_1",su={input:tu};function yr(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 Zo(e){const{name:s,control:n,dp:r=6,className:o,rules:a,...i}=e,c=ns();return t.jsx(ue.Controller,{name:s,control:n,rules:a,render:({field:l})=>t.jsx("input",{...l,className:D(su.input,o),onChange:d=>l.onChange(yr(d.target.value,r)),onPaste:d=>{d.preventDefault();const u=d.clipboardData.getData("text");if(!/^[0-9,]+(\.[0-9]+)?$/.test(u))return;const m=u.replace(/,/g,""),f=yr(m,r);l.onChange(f)},placeholder:"0",inputMode:"decimal",autoComplete:"off",...i,ref:Wr.mergeRefs([l.ref,c])})})}const nu="_input_19r9r_1",ru="_placeholder_19r9r_18",Nn={input:nu,placeholder:ru},ou=({children:e})=>t.jsx("p",{className:D(Nn.input,{[Nn.placeholder]:F(e).isZero()}),children:e}),bs=({balance:e,decimals:s})=>{const{control:n}=ue.useFormContext(),r={required:"Enter amount",validate:o=>F(o).isZero()?"Enter amount":F(v.toBaseUnit(o,{decimals:s})).gt(e??0)?"Insufficient balance":!0};return t.jsx(Zo,{name:"quantity",control:n,className:Nn.input,rules:r})};bs.ReadOnly=ou;const Dt=({title:e,content:s,children:n,className:r})=>{const[o,a]=_.useState(!1),i=()=>a(!1);return t.jsx(Po,{title:e,trigger:n,className:r,open:o,onOpenChange:a,children:s(i)})},au="_tooltip_19kvs_1",iu="_arrow_19kvs_44",jr={tooltip:au,arrow:iu},rs=({label:e,children:s,small:n,...r})=>t.jsxs(se.Tooltip.Root,{...r,children:[t.jsx(se.Tooltip.Trigger,{asChild:!0,children:s}),t.jsx(se.Tooltip.Portal,{container:yt(),children:t.jsxs(se.Tooltip.Content,{className:D(jr.tooltip,{small:n}),collisionBoundary:yt(),collisionPadding:8,sideOffset:4,children:[e,t.jsx(se.Tooltip.Arrow,{className:jr.arrow})]})})]});function Qn(e,s){const n=Ye();return $.useQuery({queryKey:Re.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:Q.SECOND})}function cu(e,s,n){const{data:r={}}=Qn(e,s);return w.path([n],r)}const lu=[["d",1440*60],["h",3600],["m",60],["s",1]];function Sn(e){if(!e)return;const{formattedParts:s}=lu.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 Xo(e){return e?.map(s=>{const{amount:n,origin_asset:r}=s;return`${v.formatAmount(n,{decimals:r.decimals??0})} ${r.symbol}`}).join(", ")}function vr(e,s){const{watch:n}=ot(),r=n(),o=Ye(),a=qs(),i={...r,quantity:e},c=$.useQueryClient();return $.useQuery({queryKey:Re.route(i,s?.isOpWithdraw).queryKey,queryFn:async()=>{const{srcChainId:l,srcDenom:d,quantity:u,dstChainId:h,dstDenom:m}=i,{decimals:f}=c.getQueryData(Re.asset(l,d).queryKey)??{decimals:0},g={amount_in:v.toBaseUnit(u,{decimals:f}),source_asset_chain_id:l,source_asset_denom:d,dest_asset_chain_id:h,dest_asset_denom:m,is_op_withdraw:s?.isOpWithdraw},p=await o.post("v2/fungible/route",{json:g}).json(),x={quantity:i.quantity,srcChainId:i.srcChainId,srcDenom:i.srcDenom,dstChainId:i.dstChainId,dstDenom:i.dstDenom};return a("Bridge Simulation Success",x),p},enabled:!!Number(i.quantity)&&!s?.disabled,staleTime:Q.MINUTE})}function du(e){return $.useQuery({queryKey:Re.routeErrorInfo(e||new Error).queryKey,queryFn:async()=>{if(!e||!(e instanceof L.HTTPError))return null;const{response:s}=e;return(s.headers.get("content-type")??"").includes("application/json")?(await s.json()).info??null:null}})}function uu(){const{watch:e}=ot(),{srcChainId:s,srcDenom:n,dstChainId:r,dstDenom:o}=e(),a=Be(s),i=Jt(a),c=Qe(n,s),l=Qe(o,r),d=_e(),u=ae();return i==="initia"&&r===d.chainId&&c.symbol===l.symbol&&u.find(h=>h.chainId===s)?.metadata?.op_denoms?.includes(l.denom)}const hu="_label_t93ix_1",mu="_wrapper_t93ix_7",fu="_input_t93ix_10",_u="_clear_t93ix_18",us={label:hu,wrapper:mu,input:fu,clear:_u},Gn=({mode:e="onChange",myAddress:s,...n})=>{const{validate:r=v.InitiaAddress.validate,chainType:o="initia",onApply:a,ref:i}=n,c=ns(),{control:l,getValues:d,setValue:u,formState:h}=ue.useFormContext(),m=d("recipient"),[f,g]=_.useState(m),p=to(),{data:x,isLoading:S,error:I}=$.useQuery({queryKey:$s.address(p.restUrl,f).queryKey,queryFn:()=>p.getAddress(f),staleTime:Q.MINUTE,enabled:p.validateUsername(f)}),N=x??(r(f)?f:""),C=s&&v.InitiaAddress.equals(N,s),T=async()=>{try{const B=await navigator.clipboard.readText();g(B.trim())}catch{}};_.useEffect(()=>{e==="onChange"&&(!f&&!h.dirtyFields.recipient||u("recipient",x??f,{shouldValidate:!0,shouldDirty:!0}))},[h.dirtyFields.recipient,f,e,u,x]);const P=()=>{S||I||(u("recipient",N,{shouldValidate:!0,shouldDirty:!0}),a?.())},R=()=>{if(S)return t.jsx(kt,{level:"loading",children:"Resolving username..."});if(I)return t.jsx(kt,{level:"error",children:I.message});if(x)return t.jsx(kt,{level:"success",className:"monospace",children:x});if(e==="onSubmit"&&f&&!N)return t.jsx(kt,{level:"error",children:"Invalid address"})};return t.jsxs("div",{children:[t.jsxs("label",{htmlFor:"recipient",className:us.label,children:[t.jsx("span",{children:"Recipient"}),t.jsx(J.Small,{type:"button",tabIndex:-1,onClick:T,children:"Paste"})]}),t.jsxs("div",{className:us.wrapper,children:[t.jsx(ue.Controller,{name:"recipient",control:l,rules:{required:"Recipient address is required",validate:B=>r(B)||"Invalid address"},render:()=>t.jsx("input",{id:"recipient",className:D(us.input,"monospace"),value:f,onChange:B=>g(B.target.value.trim()),placeholder:o==="initia"?"Address or username":"Enter address",autoComplete:"off","data-has-value":f?"true":void 0,ref:e==="onSubmit"?Wr.mergeRefs([i,c]):i})}),!!f&&t.jsx("button",{type:"button",className:us.clear,onClick:()=>g(""),"aria-label":"Clear recipient",children:t.jsx(A.IconCloseCircleFilled,{size:16})})]}),R(),C&&t.jsx(kt,{children:"This is my address"}),e==="onSubmit"&&t.jsx(ie,{extra:(!s||!!N&&!C)&&t.jsx(oe,{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(J.White,{type:"button",onClick:P,disabled:S||!!I||!N,children:"Apply"})})]})},gu="_scrollable_vgj3r_1",pu="_list_vgj3r_5",xu="_item_vgj3r_9",yu="_name_vgj3r_22",hs={scrollable:gu,list:pu,item:xu,name:yu};function ea({onSelect:e,list:s,...n}){const{getImage:r,getName:o,getKey:a,getIsLoading:i,getDisabled:c}=n;return t.jsx(Fe,{className:hs.scrollable,children:t.jsx("div",{className:hs.list,children:s.map(l=>t.jsxs("button",{className:hs.item,onClick:()=>e(l),disabled:i?.(l)||c?.(l),children:[t.jsx(Y,{src:r(l),width:28,height:28}),t.jsx("span",{className:hs.name,children:o(l)}),i?.(l)&&t.jsx(wt,{size:16})]},a(l)))})})}function Ks(){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 ju="_account_h04x1_8",vu="_clear_h04x1_28",wu="_white_h04x1_39",Ut={account:ju,clear:vu,white:wu},wr=({type:e})=>{const{watch:s,setValue:n}=ot(),{srcChainId:r,dstChainId:o,cosmosWalletName:a}=s(),c=s(e==="src"?"sender":"recipient"),l=Jt(Be(o)),{list:d,find:u}=Ks(),h=u(a),m=Qo(),f=Go(),g=m(o),p=v.InitiaAddress.equals(c,g),x=()=>t.jsx(Dt,{title:"Connect wallet",content:N=>t.jsx(ea,{onSelect:async C=>{const T=C.getProvider();if(!T)return window.open(C.fallbackUrl,"_blank");const P=T.getOfflineSigner(r),[{address:R}]=await P.getAccounts();n("sender",R),n("cosmosWalletName",C.name),N()},list:d,getImage:C=>C.image,getName:C=>C.name,getKey:C=>C.name}),className:D(Ut.account,{[Ut.white]:!c}),children:c?t.jsxs(t.Fragment,{children:[h&&t.jsx(Y,{src:h.image,width:18,height:18}),t.jsx("span",{className:"monospace",children:v.truncate(c)})]}):t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"Connect wallet"}),t.jsx(A.IconChevronRight,{size:14})]})}),S=N=>t.jsx(Dt,{title:"Recipient",content:C=>t.jsx(Fe,{children:t.jsx(Gn,{mode:"onSubmit",myAddress:g,chainType:l,validate:T=>f(T,o),onApply:C})}),className:Ut.account,children:N}),I=()=>{switch(l){case"initia":case"evm":return p?S(t.jsx(A.IconWallet,{size:14})):t.jsxs("div",{className:Ut.account,children:[t.jsx("span",{className:"monospace",children:v.truncate(c)}),t.jsx("button",{type:"button",className:Ut.clear,onClick:()=>n("recipient",g,{shouldValidate:!0}),"aria-label":"Reset to my address",children:t.jsx(A.IconCloseCircleFilled,{size:14})})]});case"cosmos":return S(t.jsxs(t.Fragment,{children:[c?t.jsx("span",{className:"monospace",children:v.truncate(c)}):t.jsx("span",{children:"Recipient"}),t.jsx(A.IconEdit,{size:14})]}))}};switch(e){case"src":return x();case"dst":return I()}},bu="_images_cj4xz_1",un={images:bu},Ws=({assetLogoUrl:e,assetLogoSize:s=36,chainLogoUrl:n,chainLogoSize:r=18,chainLogoOffset:o=6,className:a})=>t.jsxs("div",{className:D(un.images,a),style:{position:"relative"},children:[t.jsx(Y,{src:e,width:s,height:s,className:un.asset,logo:!0}),t.jsx(Y,{src:n,width:r,height:r,className:un.chain,style:{position:"absolute",bottom:0,right:-1*o},logo:!0})]}),Cu="_root_6187w_1",Iu="_content_6187w_10",Nu="_details_6187w_20",Su="_symbol_6187w_26",Au="_chain_6187w_34",ku="_chevron_6187w_43",ut={root:Cu,content:Iu,details:Nu,symbol:Su,chain:Au,chevron:ku},ta=({asset:e,chain:s,readOnly:n})=>{const r=t.jsxs("div",{className:ut.content,children:[t.jsx(Ws,{assetLogoUrl:e.logoUrl,chainLogoUrl:s.logoUrl}),t.jsxs("div",{className:ut.details,children:[t.jsx("div",{className:ut.symbol,children:e.symbol||e.denom}),t.jsxs("div",{className:ut.chain,children:["on ",s.name]})]})]});return n?t.jsx("div",{className:ut.root,children:r}):t.jsxs("div",{className:ut.root,children:[r,t.jsx(A.IconChevronDown,{size:16,className:ut.chevron})]})};function $u(e,s,n){return n.filter(r=>{const o=e.map(a=>r[a]).map(a=>String(a??"").toLowerCase());return w.any(w.includes(s.toLowerCase()),o)})}const Tu="_root_1sh27_1",Eu="_label_1sh27_8",qu="_input_1sh27_21",Du="_hasValue_1sh27_31",Pu="_clear_1sh27_35",Lt={root:Tu,label:Eu,input:qu,hasValue:Du,clear:Pu},Hs=e=>{const{rootClassName:s,padding:n=16,iconSize:r=16,onClear:o,ref:a,...i}=e;return t.jsxs("div",{className:D(Lt.root,s,{[Lt.hasValue]:i.value}),style:{"--search-input-padding":`${n}px`,"--search-input-icon-size":`${r}px`},children:[t.jsx("label",{htmlFor:"search",className:Lt.label,children:t.jsx(A.IconSearch,{size:r})}),t.jsx("input",{className:Lt.input,id:"search",type:"text",maxLength:100,ref:a,...i}),i.value&&t.jsx("button",{type:"button",className:Lt.clear,"aria-label":"Clear search",onMouseDown:c=>c.preventDefault(),onClick:o,children:t.jsx(A.IconCloseCircleFilled,{size:r})})]})},Ru="_container_1mzcj_1",Bu="_search_1mzcj_7",Mu="_list_1mzcj_11",Fu="_item_1mzcj_15",Ou="_logo_1mzcj_37",Uu="_info_1mzcj_41",Lu="_symbol_1mzcj_47",zu="_name_1mzcj_56",Ku="_balance_1mzcj_62",Wu="_value_1mzcj_69",Ce={container:Ru,search:Bu,list:Mu,item:Fu,logo:Ou,info:Uu,symbol:Lu,name:zu,balance:Ku,value:Wu},os=e=>{const{assets:s,onSelect:n,renderAsset:r=(c,l)=>l(c)}=e,[o,a]=_.useState(""),i=$u(["symbol"],o,s);return t.jsxs("div",{className:Ce.container,children:[t.jsx(Hs,{value:o,onChange:c=>a(c.target.value),onClear:()=>a(""),placeholder:"Search by symbol",rootClassName:Ce.search,padding:20,ref:ns()}),i.length===0?t.jsx(ne,{children:"No assets"}):t.jsx("div",{className:Ce.list,children:i.map(c=>t.jsx("button",{type:"button",className:Ce.item,onClick:()=>n(c.denom),children:r(c,l=>{const{denom:d,logoUrl:u,symbol:h,name:m,balance:f,decimals:g,value:p=0}=l;return t.jsxs(t.Fragment,{children:[t.jsx(Y,{src:u,width:32,height:32,className:Ce.logo,logo:!0}),t.jsxs("div",{className:Ce.info,children:[t.jsx("div",{className:Ce.symbol,children:h||d}),t.jsx("div",{className:Ce.name,children:m})]}),t.jsxs("div",{className:Ce.balance,children:[f&&t.jsx("div",{children:v.formatAmount(f,{decimals:g})}),p>0&&t.jsx("div",{className:Ce.value,children:$e(p)})]})]})})},c.denom))})]})},Hu=()=>t.jsxs("div",{className:Ce.container,children:[t.jsx(Hs,{rootClassName:Ce.search,padding:20,placeholder:"Search by symbol",readOnly:!0}),t.jsx(ne,{children:"Loading..."})]});os.Placeholder=Hu;const Qu="_stack_16oqn_1",Gu="_title_16oqn_9",Vu="_grid_16oqn_16",Yu="_item_16oqn_22",Ju="_button_16oqn_26",Zu="_active_16oqn_44",$t={stack:Qu,title:Gu,grid:Vu,item:Yu,button:Ju,active:Zu},xt=({label:e,chains:s,value:n,onSelect:r,getShowIndicator:o})=>t.jsxs("div",{children:[e&&t.jsx("h2",{className:$t.title,children:e}),t.jsx("div",{className:$t.grid,children:s.map(({chainId:a,name:i,logoUrl:c})=>t.jsx(Ho,{offset:-2,disabled:!o?.(a),className:$t.item,children:t.jsx(rs,{label:i,disableHoverableContent:!0,children:t.jsx("button",{type:"button",className:D($t.button,{[$t.active]:a===n}),onClick:()=>r(a),children:t.jsx(Y,{src:c,width:28,height:28,logo:!0})})})},a))})]}),Xu=({children:e})=>t.jsx("div",{className:$t.stack,children:e});xt.Stack=Xu;const eh=({address:e,chain:s,onSelect:n})=>{const r=qt(s.chain_id),{data:o={}}=Qn(e,s.chain_id);return t.jsx(os,{assets:w.sortWith([w.descend(a=>a.symbol==="INIT"),w.descend(a=>a.value),({balance:a="0"},{balance:i="0"})=>F(i).comparedTo(a)??0,w.ascend(a=>a.symbol.toLowerCase())],r.filter(a=>!a.hidden).map(a=>{const{denom:i,symbol:c=v.truncate(i),logo_uri:l}=a,d=o[i]??{};return{...a,symbol:c,decimals:a.decimals??0,logoUrl:l??"",name:a.name??"",balance:d.amount,value:Number(d.value_usd??0)}})),onSelect:n})},th=({type:e,afterSelect:s})=>{const n=e==="src"?"srcChainId":"dstChainId",r=e==="src"?"srcDenom":"dstDenom",o=e==="src"?"sender":"recipient",a=Pt(),i=Kn(),{watch:c,setValue:l}=ot(),d=c(o),u=c(n),h=c(r),[m,f]=_.useState(u),g=Be(m),p=Sd(),x=ko(),[S,I]=w.partition(C=>x(C.chain_id),i.filter(C=>!C.hidden)),N=C=>{if(u===m&&h===C){s();return}l(n,m),l(r,C),s()};return t.jsxs(t.Fragment,{children:[t.jsxs(xt.Stack,{children:[t.jsx(xt,{label:"Interwoven Economy",chains:S.map(({chain_id:C,chain_name:T,pretty_name:P,logo_uri:R})=>({chainId:C,name:P||T,logoUrl:R??""})),value:m,onSelect:f}),t.jsx(xt,{label:"Chains",chains:I.map(({chain_id:C,chain_name:T,pretty_name:P,logo_uri:R})=>({chainId:C,name:P||T,logoUrl:R??""})),value:m,onSelect:f})]}),t.jsx(ye,{suspenseFallback:t.jsx(os.Placeholder,{}),children:t.jsx(eh,{address:p({initialAddress:d,initialChainId:u,chainId:m,fallbackAddress:e==="src"?a:void 0}),chain:g,onSelect:N})},m)]})},br=({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}=ot(),a=o(s),i=o(n),c=Be(a),l=Qe(i,a);return t.jsx(Dt,{title:r,content:d=>t.jsx(th,{type:e,afterSelect:d}),children:t.jsx(ta,{asset:{denom:l.denom,decimals:l.decimals??0,symbol:l.symbol,logoUrl:l.logo_uri??""},chain:{chainId:c.chain_id,name:c.pretty_name||c.chain_name,logoUrl:c.logo_uri??""}})})},sh="_skeleton_1l4jn_1",nh={skeleton:sh},hn=({width:e="100%",height:s})=>t.jsx("div",{className:nh.skeleton,style:{width:e,height:s}}),rh="_stack_oq1ir_1",oh="_button_oq1ir_6",ah="_isLoading_oq1ir_19",ih="_disabled_oq1ir_19",ch="_checked_oq1ir_23",lh="_header_oq1ir_37",dh="_title_oq1ir_43",uh="_duration_oq1ir_52",hh="_warning_oq1ir_62",mh="_amount_oq1ir_66",fh="_value_oq1ir_67",be={stack:rh,button:oh,isLoading:ah,disabled:ih,checked:ch,header:lh,title:dh,duration:uh,warning:hh,amount:mh,value:fh},_h=({children:e})=>t.jsx("div",{className:be.stack,children:e}),ps=({label:e,query:s,value:n,onSelect:r,...o})=>{const{data:a,isLoading:i}=s,{watch:c}=ot(),{dstChainId:l,dstDenom:d}=c(),u=Qe(d,l),h=!i&&o.checked,m=!i&&!a;return t.jsxs("button",{type:"button",className:D(be.button,{[be.isLoading]:i,[be.disabled]:m,[be.checked]:h}),onClick:()=>{i||m||r(n)},children:[t.jsxs("div",{className:be.header,children:[t.jsxs("div",{className:be.title,children:[t.jsx("span",{children:e}),h&&t.jsx(A.IconCheck,{size:14})]}),i?t.jsx(hn,{width:80,height:16}):a?t.jsxs("div",{className:D(be.duration,{[be.warning]:n==="op"}),children:[t.jsx(A.IconClockFilled,{size:12}),t.jsx("span",{children:Sn(a.estimated_route_duration_seconds)})]}):t.jsx("div",{className:be.duration,children:"Not available"})]}),(i||a)&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:be.amount,children:i?t.jsx(hn,{width:260,height:40}):a?v.formatAmount(a.amount_out,{decimals:u.decimals}):null}),t.jsx("div",{className:be.value,children:i?t.jsx(hn,{width:120,height:16}):a?a.usd_amount_out?$e(a.usd_amount_out):"$-":null})]})]})};ps.Stack=_h;const gh="_description_nuyvt_1",ph="_presets_nuyvt_8",xh="_preset_nuyvt_8",yh="_active_nuyvt_29",jh="_custom_nuyvt_40",vh="_wrapper_nuyvt_47",wh="_percent_nuyvt_58",qe={description:gh,presets:ph,preset:xh,active:yh,custom:jh,wrapper:vh,percent:wh},Cr=["0.1","0.5","1.0"],bh=({afterConfirm:e})=>{const s=ot(),n=s.getValues("slippagePercent"),[r,o]=_.useState(null),{control:a,watch:i,getValues:c,setValue:l}=ue.useForm({defaultValues:{value:n}}),d=i("value");_.useEffect(()=>{const p=Cr.findIndex(x=>x===n);o(p>=0?p:null)},[n]);const u=(p,x)=>{l("value",p),o(x)},h=()=>{o(null)},m=_.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)<.1?{type:"warning",text:"Your transaction may fail"}:null,[d]),f=m?.type==="error",g=({value:p})=>{s.setValue("slippagePercent",p),e()};return t.jsxs(Fe,{children:[t.jsx("p",{className:qe.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:qe.presets,children:[Cr.map((p,x)=>t.jsxs("button",{type:"button",className:D(qe.preset,{[qe.active]:r===x}),onClick:()=>u(p,x),children:[p,"%"]},p)),r!==null?t.jsx("button",{type:"button",className:D(qe.preset,qe.custom),onClick:()=>o(null),children:"Custom"}):t.jsxs("div",{className:qe.wrapper,children:[t.jsx(Zo,{name:"value",control:a,dp:2,onFocus:h,placeholder:"",className:D(qe.preset,qe.active)}),t.jsx("span",{className:qe.percent,children:"%"})]})]}),m&&t.jsx(oe,{level:m.type,children:m.text}),t.jsx(ie,{children:t.jsx(J.White,{type:"button",onClick:()=>g(c()),disabled:f,children:"Confirm"})})]})},Ch="_form_1owk5_1",Ih="_arrow_1owk5_5",Nh="_divider_1owk5_14",Sh="_flip_1owk5_23",Ah="_meta_1owk5_41",kh="_row_1owk5_54",$h="_title_1owk5_60",Th="_description_1owk5_64",Eh="_icon_1owk5_71",qh="_edit_1owk5_76",Dh="_warning_1owk5_99",pe={form:Ch,arrow:Ih,divider:Nh,flip:Sh,meta:Ah,row:kh,title:$h,description:Th,icon:Eh,edit:qh,warning:Dh},Ph=()=>{const e=he(),s=Ls(),[n,r]=Ie.useLocalStorage(U.BRIDGE_ROUTE_TYPE,"default"),{watch:o,setValue:a,handleSubmit:i,formState:c}=ot(),l=o(),{srcChainId:d,srcDenom:u,dstChainId:h,dstDenom:m,quantity:f,sender:g,slippagePercent:p}=l,x=Te(),S=Be(d),I=Jt(S),N=Be(h),C=Jt(N),T=Qe(u,d),P=Qe(m,h),{data:R}=Qn(g,d),B=cu(g,d,u),z=!B?.amount||F(B.amount).isZero(),[j]=Ie.useDebounceValue(f,300),b=I!=="initia"&&C!=="initia",y=uu(),k=vr(j,{disabled:b}),q=vr(j,{isOpWithdraw:!0,disabled:!y}),M=y&&n==="op"?q:k,{data:E,isLoading:G,isFetching:te,error:O}=M,{data:Z}=du(O),Ue=j&&(G||te),Je=()=>{a("srcChainId",h),a("srcDenom",m),a("dstChainId",d),a("dstDenom",u),a("quantity","",{shouldTouch:!1,shouldDirty:!1})},{openModal:at,closeModal:me}=Ms(),ge=i(K=>{if(E?.warning){const{type:ct="",message:Ys}=E.warning??{};at({content:t.jsx(Vo,{type:"warning",icon:t.jsx(A.IconWarningFilled,{size:40}),title:Ns.sentenceCase(ct),primaryButton:{label:"Cancel",onClick:me},secondaryButton:{label:"Proceed anyway",onClick:()=>{e("/bridge/preview",{route:E,values:K}),me()}},children:t.jsx("p",{className:pe.warning,children:Ys})})});return}e("/bridge/preview",{route:E,values:K})}),Ct=_.useMemo(()=>E?.estimated_fees?.filter(({fee_behavior:K})=>K==="FEE_BEHAVIOR_DEDUCTED")??[],[E]),it=_.useMemo(()=>E?.estimated_fees?.filter(({fee_behavior:K})=>K==="FEE_BEHAVIOR_ADDITIONAL")??[],[E]),Mt=_.useMemo(()=>{for(const K of it){const ct=R?.[K.origin_asset.denom]?.amount??"0",Ys=E?.source_asset_denom===K.origin_asset.denom?E.amount_in:"0";if(F(ct).lt(F(Ys).plus(K.amount??"0")))return`Insufficient ${K.origin_asset.symbol} for fees`}},[R,E,it]),er=_.useMemo(()=>{if(!l.sender)return"Connect wallet";if(!l.quantity||!j)return"Enter amount";if(!l.recipient)return"Enter recipient address";if(c.errors.quantity)return c.errors.quantity.message;if(!E)return"Route not found";if(Mt)return Mt},[j,Mt,c,E,l]),xa=E?v.formatAmount(E.amount_out,{decimals:P.decimals}):"0",ya=F(f).gt(0)&&F(f).isEqualTo(v.fromBaseUnit(B?.amount,{decimals:B?.decimals??0})),ja=(()=>{switch(I){case"initia":return x(d).fees.fee_tokens.some(({denom:K})=>K===u);case"cosmos":return S.fee_assets.some(({denom:K})=>K===u);case"evm":return!We.isAddress(u);default:return!1}})(),Vs=_.useCallback((K,ct)=>K.length?t.jsxs("div",{className:pe.description,children:[Xo(K),!s&&t.jsx(rs,{label:ct,children:t.jsx("span",{className:pe.icon,children:t.jsx(A.IconInfoFilled,{size:12})})})]}):null,[s]),as=F(f).gt(0)&&y,tr=_.useMemo(()=>E?[{condition:!!E.estimated_fees?.length,title:"Fees",content:t.jsxs("div",{children:[Vs(Ct,"Fee deducted from the amount you receive"),Vs(it,"Fee charged in addition to the amount you enter")]})},{condition:!as&&!!Sn(E.estimated_route_duration_seconds),title:"Estimated time",content:t.jsx("span",{className:pe.description,children:Sn(E.estimated_route_duration_seconds)})},{condition:E.does_swap,title:"Slippage",content:t.jsxs("span",{className:pe.description,children:[t.jsxs("span",{children:[p,"%"]}),t.jsx(Dt,{title:"Slippage tolerance",content:K=>t.jsx(bh,{afterConfirm:K}),className:pe.edit,children:t.jsx(A.IconSettingFilled,{size:12})})]})}].filter(K=>K.condition):[],[it,Ct,Vs,E,as,p]);return t.jsxs("form",{className:pe.form,onSubmit:ge,children:[t.jsx(In,{selectButton:t.jsx(br,{type:"src"}),accountButton:I==="cosmos"&&t.jsx(wr,{type:"src"}),quantityInput:t.jsx(bs,{balance:B?.amount,decimals:T?.decimals}),balanceButton:t.jsx(Jo,{onClick:()=>a("quantity",v.fromBaseUnit(B?.amount,{decimals:T?.decimals??0}),{shouldValidate:!0}),disabled:z,children:v.formatAmount(B?.amount??"0",{decimals:T.decimals})}),value:E?E.usd_amount_in?$e(E.usd_amount_in):"$-":"$0"}),t.jsxs("div",{className:pe.arrow,children:[t.jsx("div",{className:pe.divider}),t.jsx("button",{type:"button",className:pe.flip,onClick:()=>Je(),children:t.jsx(A.IconChevronDown,{size:16})})]}),t.jsx(In,{selectButton:t.jsx(br,{type:"dst"}),accountButton:t.jsx(wr,{type:"dst"}),quantityInput:t.jsx(bs.ReadOnly,{children:xa}),value:E?E.usd_amount_out?$e(E.usd_amount_out):"$-":"$0",hideNumbers:as}),t.jsx(bn,{children:as?t.jsxs(ps.Stack,{children:[t.jsx(ps,{label:"Fast",query:k,value:"default",onSelect:r,checked:n==="default"}),t.jsx(ps,{label:"Lossless",query:q,value:"op",onSelect:r,checked:n==="op"})]}):null}),t.jsx(ie,{extra:t.jsxs(t.Fragment,{children:[t.jsxs(oe.Stack,{children:[E?.extra_infos?.map(K=>t.jsx(oe,{level:"info",children:K},K)),Z&&t.jsx(oe,{level:"info",children:Z}),ya&&ja&&t.jsx(oe,{level:"warning",children:"Make sure to leave enough for transaction fee"}),E?.warning&&t.jsx(oe,{level:"warning",children:E.warning.message}),E?.extra_warnings?.map(K=>t.jsx(oe,{level:"warning",children:K},K))]}),t.jsx(bn,{children:tr.length>0&&t.jsx("div",{className:pe.meta,children:tr.map((K,ct)=>t.jsxs("div",{className:pe.row,children:[t.jsx("span",{className:pe.title,children:K.title}),K.content]},ct))})})]}),children:t.jsx(J.White,{loading:Ue&&"Simulating...",disabled:!!er,children:er??"Preview route"})})]})},Rh=()=>{Yo();const e=Ha(),s=he(),{closeDrawer:n}=Ve(),r=Pt(),o=kd(),a=ue.useForm({mode:"onChange",defaultValues:o}),{watch:i,setValue:c}=a,{srcChainId:l,dstChainId:d,srcDenom:u,dstDenom:h,quantity:m,slippagePercent:f,recipient:g}=i();i((j,{name:b})=>{(b==="srcChainId"||b==="srcDenom")&&c("quantity","",{shouldTouch:!1,shouldDirty:!1})});const p=Qo(),x=p(l),S=p(d),N=Go()(g,d);_.useEffect(()=>{c("cosmosWalletName",void 0),c("sender",x)},[l,x,c]),_.useEffect(()=>{N||c("recipient",S)},[S,N,c]);const C=qt(l),T=qt(d),P=_.useMemo(()=>{if(!C.find(j=>j.denom===u))return`${u} is not available for bridge/swap on ${l}`;if(!T.find(j=>j.denom===h))return`${h} is not available for bridge/swap on ${d}`},[T,d,h,C,l,u]);_.useEffect(()=>{P||(localStorage.setItem(U.BRIDGE_SRC_CHAIN_ID,l),localStorage.setItem(U.BRIDGE_SRC_DENOM,u),localStorage.setItem(U.BRIDGE_DST_CHAIN_ID,d),localStorage.setItem(U.BRIDGE_DST_DENOM,h),localStorage.setItem(U.BRIDGE_QUANTITY,m),localStorage.setItem(U.BRIDGE_SLIPPAGE_PERCENT,f))},[l,u,d,h,m,f,P]);const R=e[0].path==="/bridge",B=()=>t.jsxs(t.Fragment,{children:[t.jsx(ne,{error:!0,children:P}),t.jsx(ie,{children:R?t.jsx(J.White,{onClick:n,children:"Close"}):t.jsx(J.White,{onClick:()=>s(-1),children:"Go back"})})]}),{reminders:z}=Rt();return t.jsx(Oe,{title:"Bridge/Swap",backButton:R?"/":void 0,extra:t.jsxs(t.Fragment,{children:[t.jsx(J.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(Ho,{offset:0,disabled:z.length===0,children:t.jsx(J.Small,{onClick:()=>s("/op/withdrawals"),disabled:!r,children:t.jsx("span",{children:"Withdrawal status"})})})]}),children:P?B():t.jsx(ue.FormProvider,{...a,children:t.jsx(ye,{children:t.jsx(Ph,{})})})})},Bh="_button_1crvp_1",Mh="_checkbox_1crvp_11",Fh="_checked_1crvp_25",ms={button:Bh,checkbox:Mh,checked:Fh},Oh=({checked:e,onClick:s,label:n,className:r})=>t.jsxs("button",{type:"button",className:D(ms.button,r),onClick:s,children:[t.jsx("div",{className:D(ms.checkbox,{[ms.checked]:e}),children:e&&t.jsx(A.IconCheck,{size:12})}),t.jsx("span",{className:ms.label,children:n})]}),Uh="_button_aoxv2_1",Lh={button:Uh},sa=({onClick:e,disabled:s})=>{const{ref:n,inView:r}=Aa.useInView();return _.useEffect(()=>{r&&e()},[r,e]),t.jsxs("button",{className:Lh.button,onClick:e,disabled:s,ref:n,children:[t.jsx("span",{children:"Load more"}),t.jsx(A.IconChevronDown,{size:12})]})};function na(e,s){return e.reduce((n,r)=>{const o=s(r);if(!o)return n;const a=o.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),i=n[a]||[];return{...n,[a]:[...i,r]}},{})}const xs=({chainId:e,txHash:s})=>`${U.BRIDGE_HISTORY}:${e}:${s}`,Cs=100,Ir=10;function ra(){const[e,s]=Ie.useLocalStorage(U.BRIDGE_HISTORY,[]),n=_.useCallback((o,a)=>{localStorage.setItem(xs(o),JSON.stringify(a));for(const i of e.slice(Cs-1))localStorage.removeItem(xs(i));s((i=[])=>[o,...i.slice(0,Cs-1)])},[e,s]),r=_.useCallback(o=>{const a=localStorage.getItem(xs(o));return a?JSON.parse(a):null},[]);return{history:e,addHistoryItem:n,getHistoryDetails:r}}function oa(e){return Ie.useLocalStorage(xs(e),null)}async function zh(e,s){const n=L.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`)}async function An(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(c){if(w.path(["error","code"],c)!==4902)throw c;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 jt()}function Kh(e){const s=he(),{showNotification:n,updateNotification:r,hideNotification:o}=Hn(),{addHistoryItem:a}=ra(),i=qs(),{route:c,values:l}=Bt(),{srcChainId:d,sender:u,recipient:h,cosmosWalletName:m}=l,f=fo(),{requestTxSync:g,waitForTxConfirmation:p}=xe(),{find:x}=Ks(),S=Xt(),I=Ds(),N=Be(d),C=Jt(N),T=Ao(d),P=$.useQueryClient(),{registryUrl:R}=X(),B=Te(),{addReminder:z}=Rt(),j=Ye();return $.useMutation({mutationFn:async()=>{try{if("cosmos_tx"in e){if(!e.cosmos_tx.msgs)throw new Error("Invalid transaction data");const b=e.cosmos_tx.msgs.map(({msg_type_url:me,msg:ge})=>{if(!(me&&ge))throw new Error("Invalid transaction data");return I.fromAmino({type:Ht.aminoConverters[me].aminoType,value:JSON.parse(ge)})});if(C==="initia"){const{srcDenom:me,quantity:ge}=l,{decimals:Ct}=T(me),it=await g({messages:b,chainId:d,internal:1,spendCoins:[{denom:me,amount:v.toBaseUnit(ge,{decimals:Ct})}]}),Mt=p({txHash:it,chainId:d});return{txHash:it,wait:Mt}}const y=x(m)?.getProvider();if(!y)throw new Error("Wallet not connected");const k=y.getOfflineSignerOnlyAmino(d),q=await Pe.SigningStargateClient.connectWithSigner(N.rpc,k,{registry:S,aminoTypes:I}),M=await q.getAllBalances(u),E=N.fee_assets.find(me=>M.some(ge=>ge.denom===me.denom&&F(ge.amount).gt(0)));if(!E){const ge=["Insufficient balance for fees.",`Available fee assets: ${N.fee_assets.map(Ct=>T(Ct.denom).symbol).join(", ")}`,"(note: asset symbols may refer to different tokens across chains)"].join(" ");throw new Error(ge)}const{denom:G,gas_price:te}=E;if(!te)throw new Error(`Gas price not found for ${G}`);const O=await q.simulate(u,b,""),Z=Pe.GasPrice.fromString(te.average+G),Ue=Pe.calculateFee(Math.ceil(O*Gt),Z),Je=await q.signAndBroadcastSync(u,b,Ue),at=Co({txHash:Je,client:q});return{txHash:Je,wait:at}}if("evm_tx"in e){const{chain_id:b,to:y,value:k,data:q}=e.evm_tx,M=await f(),E=await M.getSigner();await An(M,N);const G=await E.sendTransaction({chainId:b,to:y,value:k,data:`0x${q}`});return{txHash:G.hash,wait:G.wait()}}throw new Error("Unlisted chain type")}catch(b){throw await He(b)}},onSuccess:async({txHash:b,wait:y})=>{localStorage.removeItem(U.BRIDGE_QUANTITY),s(-1),n({type:"loading",title:"Transaction is pending..."});try{await y;const k=Vn(c)==="OP Bridge withdrawal",q=k?{success:!0,error:null}:await Vh(j,b,d);if(!q.success&&q.error){const O=q.error instanceof Error?q.error.message:String(q.error);n({type:"error",title:"Transaction tracking failed",description:`Failed to track transaction: ${O}. The transaction may still be processing.`,autoHide:!0})}const M=q.success,G=Qh({txHash:b,srcChainId:d,route:c,values:l,recipient:h},M);a(G.tx,G.details),r(Hh(o));const te=mn(l,b);if(i("Bridge Transaction Success",te),k){const O=Gh(G.tx,c,h);z(G.tx,O)}}catch(k){const q=k instanceof Error?k.message:String(k);r({type:"error",title:"Transaction not confirmed",description:q});const M={...mn(l,b),error:q};i("Bridge Confirmation Failed",M)}finally{P.invalidateQueries({queryKey:Re.balances(d,u).queryKey})}},onError:async b=>{const y=C==="initia"?await At(b,B(d),R):b;n({type:"error",title:"Transaction failed",description:y.message});const k=mn(l);i("Bridge Transaction Failed",{...k,error:y.message})}})}function Wh(){const e=Ye(),s=ee(),n=Ps(),{route:r,values:o}=Bt(),a=vt();return $.useMutation({mutationFn:async()=>{try{const{chain_id:i,hook:c}=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:v.InitiaAddress(o.recipient).bech32,dest_asset_chain_id:r.dest_asset_chain_id,dest_asset_denom:r.dest_asset_denom}}).json();await zh(s,a(r.dest_asset_chain_id).rest);const l=c.map(({msg_type_url:h,msg:m})=>Ht.aminoTypes.fromAmino({type:Ht.aminoConverters[h].aminoType,value:JSON.parse(m)})),d=await n(i,s,l,{amount:[],gas:"1"},"",{incrementSequence:i===o.srcChainId?2:0}),u=st.Tx.fromPartial({body:st.TxBody.decode(d.bodyBytes),authInfo:st.AuthInfo.decode(d.authInfoBytes),signatures:d.signatures});return{signer:s,hook:V.toBase64(st.Tx.encode(u).finish())}}catch(i){throw await He(i)}}})}function Hh(e){return{type:"info",title:"Transaction submitted",description:_.createElement(_.Fragment,null,"Check ",_.createElement(Et,{to:"/bridge/history",onClick:e},"the activity page")," for transaction status"),autoHide:!0}}function mn(e,s){return{quantity:e.quantity,srcChainId:e.srcChainId,srcDenom:e.srcDenom,dstChainId:e.dstChainId,dstDenom:e.dstDenom,txHash:s}}function Qh(e,s){const{txHash:n,srcChainId:r,route:o,values:a}=e,i={chainId:r,txHash:n},c=Vn(o)==="OP Bridge withdrawal";return{tx:i,details:{...i,timestamp:Date.now(),route:o,values:a,state:c?"success":void 0,tracked:s},isOpWithdraw:c}}function Gh(e,s,n){return{...e,recipient:v.InitiaAddress(n).bech32,claimableAt:Date.now()+s.estimated_route_duration_seconds*1e3,amount:s.amount_out,denom:s.dest_asset_denom}}async function Vh(e,s,n){for(let a=0;a<=30;a++)try{return await e.post("v2/tx/track",{json:{tx_hash:s,chain_id:n}}).json(),{success:!0,error:null}}catch(i){if(a===30)return{success:!1,error:await He(i)};await new Promise(c=>setTimeout(c,1e3))}return{success:!1,error:new Error("Maximum retries exceeded")}}function Yh(e){const{chainId:s,txHash:n,tracked:r}=e,o=Ye();return $.useQuery({queryKey:Re.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 await He(a)}},select:({tx_hash:a})=>a,retry:6,retryDelay:5e3,staleTime:Q.INFINITY,enabled:!r})}function Jh(e){const{timestamp:s,chainId:n,txHash:r,tracked:o,state:a}=e,i=Ye();return $.useQuery({queryKey:Re.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:c}})=>{if(!c)return!1;const{status:l}=c;if(l==="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:Q.INFINITY})}var ys=(e=>(e.OP_WITHDRAW="OP Bridge withdrawal",e.SKIP="Skip",e))(ys||{});function Vn(e){const{operations:s,dest_asset_denom:n}=e;return w.has("op_init_transfer",w.head(s))&&n==="uinit"?"OP Bridge withdrawal":"Skip"}const Zh="_success_t4dfk_1",Xh="_error_t4dfk_5",Nr={success:Zh,error:Xh},em=({tx:e})=>{const[s,n]=oa(e);if(!s)throw new Error("Bridge history details not found");const{data:r}=Jh(s),o=s.state??tm(r);switch(_.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:Nr.error,children:t.jsx(A.IconCloseCircleFilled,{size:14})});case"success":return t.jsx("div",{className:Nr.success,children:t.jsx(A.IconCheckCircleFilled,{size:14})});default:return t.jsx(wt,{size:14})}};function tm(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 sm="_link_104m3_1",nm="_header_104m3_23",rm="_title_104m3_31",om="_date_104m3_37",am="_explorer_104m3_41",im="_fees_104m3_57",cm="_label_104m3_65",lm="_content_104m3_69",dm="_route_104m3_75",um="_row_104m3_80",hm="_asset_104m3_86",mm="_amount_104m3_94",fm="_chain_104m3_99",_m="_account_104m3_108",gm="_arrow_104m3_115",ce={link:sm,header:nm,title:rm,date:om,explorer:am,fees:im,label:cm,content:lm,route:dm,row:um,asset:hm,amount:mm,chain:fm,account:_m,arrow:gm},pm=({tx:e})=>{const[s,n]=oa(e);if(!s)throw new Error("Bridge history details not found");const{chainId:r,txHash:o,route:a,values:i,timestamp:c,tracked:l}=s,{data:d}=Yh(s),{address:u="",connector:h}=de.useAccount(),{find:m}=Ks();_.useEffect(()=>{d&&n(M=>{if(!M)throw new Error("Bridge history details not found");return{...M,tracked:!0}})},[n,d]);const{amount_in:f,amount_out:g,source_asset_chain_id:p,source_asset_denom:x,dest_asset_chain_id:S,dest_asset_denom:I,estimated_fees:N=[]}=a,C=Be(p),T=Be(S),P=Qe(x,p),R=Qe(I,S),B=(M,E)=>E?t.jsx(Y,{src:E,width:12,height:12}):v.InitiaAddress.equals(M,u)?t.jsx(Y,{src:h?.icon,width:12,height:12}):t.jsx(A.IconWallet,{size:12}),z=(M,{symbol:E,decimals:G,logo_uri:te},{chain_name:O,pretty_name:Z,...Ue},Je,at)=>t.jsxs("div",{className:ce.row,children:[t.jsx(Ws,{assetLogoUrl:te,chainLogoUrl:Ue.logo_uri??void 0}),t.jsxs("div",{children:[t.jsxs("div",{className:ce.asset,children:[t.jsx("span",{className:ce.amount,children:v.formatAmount(M,{decimals:G})}),t.jsx("span",{children:E})]}),t.jsxs("div",{className:ce.chain,children:[t.jsxs("span",{children:["on ",Z||O]}),t.jsxs("div",{className:ce.account,children:[at,t.jsx("span",{className:"monospace",children:v.truncate(Je)})]})]})]})]}),j=Vn(a),b=_.useMemo(()=>{switch(j){case ys.SKIP:return"Skip Explorer";case ys.OP_WITHDRAW:return"Initia Scan"}},[j]),y=t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:ce.header,children:[t.jsxs("div",{className:ce.title,children:[l?t.jsx(em,{tx:e}):t.jsx(wt,{size:14}),t.jsx("div",{className:ce.date,children:ke.format(new Date(c),"h:mm a")})]}),t.jsxs("div",{className:ce.explorer,children:[t.jsx("span",{children:b}),t.jsx(A.IconExternalLink,{size:12})]})]}),t.jsxs("div",{className:ce.route,children:[z(f,P,C,i.sender,B(i.sender,m(i.cosmosWalletName)?.image)),t.jsx("div",{className:ce.arrow,children:t.jsx(A.IconArrowDown,{size:12})}),z(g,R,T,i.recipient,B(i.recipient))]}),N.length>0&&t.jsxs("div",{className:ce.fees,children:[t.jsx("span",{className:ce.label,children:"Fees"}),t.jsx("span",{className:ce.content,children:Xo(N)})]})]});if(j===ys.OP_WITHDRAW)return t.jsx(zs,{chainId:r,txHash:o,className:ce.link,children:y});const k=new URLSearchParams({tx_hash:o,chain_id:r}),q=new URL(`?${k.toString()}`,"https://explorer.skip.build");return t.jsx("a",{href:q.toString(),className:ce.link,target:"_blank",children:y})},xm="_history_13u9z_1",ym="_header_13u9z_5",jm="_checkbox_13u9z_9",vm="_groups_13u9z_13",wm="_dateGroup_13u9z_21",bm="_dateHeader_13u9z_26",Cm="_list_13u9z_32",ht={history:xm,header:ym,checkbox:jm,groups:vm,dateGroup:wm,dateHeader:bm,list:Cm},Im=()=>{const{initiaAddress:e,hexAddress:s}=xe(),{history:n,getHistoryDetails:r}=ra(),o=n.filter(f=>r(f)),a=o.filter(f=>{const g=r(f);if(!g)return!1;const{values:p}=g,{sender:x,recipient:S}=p;return[x,S].some(I=>[e,s].includes(I))}),[i,c]=_.useState(1),[l,d]=Ie.useToggle(!a.length),u=l?o:a,h=u.slice(0,i*Ir),m=_.useMemo(()=>na(h,f=>{const g=r(f);if(g)return new Date(g.timestamp)}),[h,r]);return t.jsx(Oe,{title:"Bridge/Swap activity",children:t.jsxs("div",{className:ht.history,children:[o.length>0&&o.length!==a.length&&t.jsx("header",{className:ht.header,children:t.jsx(Oh,{checked:l,onClick:d,label:"Show all transactions stored in this browser",className:ht.checkbox})}),u.length===0?t.jsx(ne,{children:"No bridge/swap activity"}):t.jsx("div",{className:ht.groups,children:Object.entries(m).map(([f,g])=>t.jsxs("div",{className:ht.dateGroup,children:[t.jsx("div",{className:ht.dateHeader,children:f}),t.jsx("div",{className:ht.list,children:g.map(p=>t.jsx(ye,{children:t.jsx(pm,{tx:p})},p.txHash))})]},f))}),u.length>i*Ir?t.jsx(sa,{onClick:()=>c(f=>f+1)}):n.length>=Cs&&t.jsxs(ne,{children:["Only the latest ",Cs," items are stored. Older entries will be removed automatically."]})]})})},Nm=({tx:e})=>{const{mutate:s,isPending:n}=Kh(e);return t.jsx(ie,{children:t.jsx(J.White,{onClick:()=>s(),loading:n&&"Signing transaction...",children:"Confirm"})})},Sm="_content_1hzj2_1",Am="_info_1hzj2_6",km="_arrow_1hzj2_11",$m="_divider_1hzj2_19",Tm="_type_1hzj2_27",Em="_asset_1hzj2_47",qm="_amount_1hzj2_55",Dm="_lower_1hzj2_60",Pm="_chain_1hzj2_66",Rm="_address_1hzj2_72",ve={content:Sm,info:Am,arrow:km,divider:$m,type:Tm,asset:Em,amount:qm,lower:Dm,chain:Pm,address:Rm},aa=e=>{const{source:s,label:n,amount:r,denom:o,chainId:a,address:i,walletIcon:c}=e,{symbol:l=v.truncate(o),decimals:d=0,logo_uri:u=Rn}=e,{chain_name:h,pretty_name:m,...f}=Be(a);return t.jsxs("div",{children:[!s&&t.jsxs("div",{className:ve.arrow,children:[t.jsx("div",{className:ve.divider}),n?t.jsx(rs,{label:n,children:t.jsx("button",{className:ve.type,children:t.jsx(A.IconArrowDown,{size:12})})}):t.jsx("span",{className:ve.type,children:t.jsx(A.IconArrowDown,{size:12})}),t.jsx("div",{className:ve.divider})]}),t.jsxs("div",{className:ve.content,children:[t.jsx(Ws,{assetLogoUrl:u,chainLogoUrl:f.logo_uri??void 0}),t.jsxs("div",{className:ve.info,children:[t.jsxs("div",{className:ve.asset,children:[t.jsx("span",{className:ve.amount,children:v.formatAmount(r,{decimals:d})}),t.jsx("span",{children:l})]}),t.jsxs("div",{className:ve.lower,children:[t.jsxs("div",{className:ve.chain,children:["on ",m||h]}),i&&t.jsx(vs,{value:i,children:({copy:g,copied:p})=>t.jsxs("button",{className:ve.address,onClick:g,children:[c,p?t.jsx("span",{children:"Copied!"}):t.jsx("span",{className:"monospace",children:v.truncate(i)})]})})]})]})]})]})},Tt=e=>{const s=Qe(e.denom,e.chainId);return t.jsx(aa,{...e,...s})};Tt.Placeholder=aa;const Bm="_root_1hbar_1",Mm="_flexEnd_1hbar_6",Fm="_toggle_1hbar_11",Om="_route_1hbar_36",Um="_content_1hbar_43",zt={root:Bm,flexEnd:Mm,toggle:Fm,route:Om,content:Um};function Lm(e){const s=({name:n})=>n==="initia-dex"?"Initia DEX":Ns.capitalCase(w.head(n?.split("-")??[])??"");if("transfer"in e)return{label:"Bridge via IBC",...e,...e.transfer};if("bank_send"in e)return{label:"Send",...e,...e.bank_send};if("swap"in e){const n=e.swap?.swap_venues?.map(s).join(", ");return{label:n?`Swap on ${n}`:"Swap",...e,...e.swap}}if("axelar_transfer"in e)return{label:"Bridge via Axelar",...e,...e.axelar_transfer};if("cctp_transfer"in e)return{label:"Bridge via CCTP",...e,...e.cctp_transfer};if("hyperlane_transfer"in e)return{label:"Bridge via Hyperlane",...e,...e.hyperlane_transfer};if("evm_swap"in e){const n=e.evm_swap?.swap_venues?.map(s).join(", ");return{label:n?`Swap on ${n}`:"Swap",...e,...e.evm_swap}}if("op_init_transfer"in e)return{label:"Bridge via OP Bridge",...e,...e.op_init_transfer};if("go_fast_transfer"in e)return{label:"Bridge via Go Fast",...e,...e.go_fast_transfer};if("eureka_transfer"in e)return{label:"Bridge via Eureka",...e,...e.eureka_transfer};if("stargate_transfer"in e)return{label:"Bridge via Stargate",...e,...e.stargate_transfer};if("layer_zero_transfer"in e)return{label:"Bridge via LayerZero",...e,...e.layer_zero_transfer};throw new Error("Unknown operation type")}const zm=({addressList:e})=>{const{values:s,route:n}=Bt(),{source_asset_denom:r,source_asset_chain_id:o,amount_in:a,operations:i}=n,c=w.zipObj(n.required_chain_addresses,e),{find:l}=Ks(),{connector:d,address:u=""}=de.useAccount(),[h,m]=Ie.useToggle(!1),f=i.length>1,g=t.jsx(Y,{src:s.cosmosWalletName?l(s.cosmosWalletName)?.image:d?.icon,width:12,height:12}),p={amount:a,denom:r,chainId:o,address:s.sender,walletIcon:g},x=T=>v.InitiaAddress.equals(T,u)?g:t.jsx(A.IconWallet,{size:11}),S=T=>{const{label:P,amount_out:R,denom:B,denom_out:z=B,chain_id:j,from_chain_id:b,to_chain_id:y=j??b}=T,k=c[y];return{label:f&&!h?void 0:P,amount:R,denom:z,chainId:y,address:k,walletIcon:x(k)}},I=i.map(Lm).map(S),N=I.slice(0,-1),C=I[I.length-1];return t.jsxs(se.Collapsible.Root,{className:zt.root,open:h,onOpenChange:m,children:[f&&t.jsx("div",{className:zt.flexEnd,children:t.jsx(se.Collapsible.Trigger,{className:zt.toggle,children:h?t.jsxs(t.Fragment,{children:[t.jsx(A.IconMinus,{size:12}),t.jsx("span",{children:"Hide details"})]}):t.jsxs(t.Fragment,{children:[t.jsx(A.IconList,{size:12}),t.jsx("span",{children:"Show details"})]})})}),t.jsxs("div",{className:zt.route,children:[t.jsx(Tt,{...p,source:!0}),t.jsx(se.Collapsible.Content,{className:zt.content,children:N.map((T,P)=>t.jsx(ye,{suspenseFallback:t.jsx(Tt.Placeholder,{...T}),errorBoundaryProps:{fallback:t.jsx(Tt.Placeholder,{...T})},children:t.jsx(Tt,{...T})},P))}),t.jsx(Tt,{...C})]})]})},kn=({error:e})=>{const s=he();return t.jsx(ie,{extra:t.jsx(oe,{level:"error",children:e.message}),children:t.jsx(J.White,{onClick:()=>s("/bridge"),children:"Home"})})},Km=({children:e})=>{const s=Bt(),{route:n,values:r}=s,{required_chain_addresses:o}=n,{srcChainId:a,dstChainId:i,sender:c,recipient:l}=r,{initiaAddress:d,hexAddress:u}=xe(),h=es(),m=vt(),f=ss(),g=m(a),p=f(g),x=o.slice(0,-1).some(R=>{const B=m(R);return f(B)==="cosmos"})&&p!=="cosmos",[S,I]=_.useState(void 0),[N,C]=_.useState(!1),[T,P]=_.useState(null);if(_.useEffect(()=>{(async()=>{try{if(!x)return;if(!h)throw new Error("Wallet not connected");C(!0),P(null);const[{pubkey:B}]=await h.getAccounts();I(B)}catch(B){P(await He(B))}finally{C(!1)}})()},[x,h]),T)return t.jsx(kn,{error:T});if(N)return t.jsx(ie,{children:t.jsx(J.White,{loading:N&&"Generating intermediary addresses..."})});if(!x||S){const R=o.map((B,z)=>{if(z===o.length-1){const q=m(i);return f(q)==="initia"?v.InitiaAddress(l).bech32:l}const j=m(B),b=f(j),y=m(a),k=f(y);switch(b){case"initia":return d;case"evm":return u;case"cosmos":{if(k==="cosmos")return V.toBech32(j.bech32_prefix,V.fromBech32(c).data);if(!S)throw new Error("Pubkey not found");return Qt.pubkeyToAddress(Qt.encodeSecp256k1Pubkey(S),j.bech32_prefix)}default:throw new Error("Unlisted chain type")}});return e(R)}return null},Wm=({tx:e,children:s})=>{const n=fo(),r=vt(),{data:o,isLoading:a}=$.useQuery({queryKey:["erc20-approvals-needed",e],queryFn:async()=>{if(!("evm_tx"in e))return[];if(!e.evm_tx.required_erc20_approvals)return[];const{chain_id:u,signer_address:h}=e.evm_tx,m=await n();await An(m,r(u));const f=["function allowance(address owner, address spender) view returns (uint256)"];return(await Promise.all(e.evm_tx.required_erc20_approvals.map(async p=>{const{token_contract:x,spender:S}=p,N=await new We.ethers.Contract(x,f,m).allowance(h,S);return{approval:p,currentAllowance:BigInt(N.toString())}}))).filter(({approval:p,currentAllowance:x})=>x<BigInt(p.amount)).map(({approval:p})=>p)},enabled:!!e&&"evm_tx"in e&&!!e.evm_tx.required_erc20_approvals}),{mutate:i,data:c,isPending:l,error:d}=$.useMutation({mutationFn:async()=>{try{if(!("evm_tx"in e))throw new Error("Transaction is not EVM");if(!o||o.length===0)throw new Error("No approvals needed");const{chain_id:u}=e.evm_tx,h=await n(),m=await h.getSigner();await An(h,r(u));for(const f of o){const{token_contract:g,spender:p,amount:x}=f,S=["function approve(address spender, uint256 amount) external returns (bool)"];await(await new We.ethers.Contract(g,S,m).approve(p,x)).wait()}return!0}catch(u){throw await He(u)}}});return a?t.jsx(ie,{children:t.jsx(J.White,{loading:"Checking approvals..."})}):o&&o.length>0&&!c?t.jsx(ie,{extra:t.jsx(oe,{level:"error",children:d?.message}),children:t.jsx(J.White,{onClick:()=>i(),loading:l&&"Approving tokens...",children:"Approve tokens"})}):s},Hm=({addressList:e,signedOpHook:s,children:n})=>{const r=Ye(),{route:o,values:a}=Bt(),[i,c]=_.useState(void 0),[l,d]=_.useState(!1),[u,h]=_.useState(null);return _.useEffect(()=>{(async()=>{try{if(o.required_op_hook&&!s)throw new Error("Op hook is required");d(!0),h(null);const f={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:g}=await r.post("v2/fungible/msgs",{json:f}).json();if(!g||g.length===0)throw new Error("No transaction data found");const[p]=g;c(p)}catch(f){h(f)}finally{d(!1)}})()},[o,a,e,s,r]),u?t.jsx(kn,{error:u}):l?t.jsx(ie,{children:t.jsx(J.White,{loading:l&&"Fetching messages..."})}):i?n(i):t.jsx(kn,{error:new Error("Failed to fetch messages")})},Qm=({children:e})=>{const{route:s}=Bt(),n=Wh();return s.required_op_hook&&!n.data?t.jsx(ie,{extra:t.jsx(oe,{level:"error",children:n.error?.message}),children:t.jsx(J.White,{onClick:()=>n.mutate(),loading:n.isPending&&"Awaiting signature...",children:"Authorize conversion"})}):e(n.data)},Gm=()=>t.jsx(Oe,{title:"Route preview",children:t.jsx(Km,{children:e=>t.jsxs(t.Fragment,{children:[t.jsx(zm,{addressList:e}),t.jsx(Qm,{children:s=>t.jsx(Hm,{addressList:e,signedOpHook:s,children:n=>t.jsx(Wm,{tx:n,children:t.jsx(Nm,{tx:n})})})})]})})}),ia=_.createContext(null);function Qs(){return _.useContext(ia)}const bt=Ne.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 Gs(){const{restUrl:e}=_e();return _.useMemo(()=>L.create({prefixUrl:e}),[e])}function Vm(e){const s=Gs(),{data:n}=$.useSuspenseQuery({queryKey:bt.bridge(e).queryKey,queryFn:()=>s.get(`opinit/ophost/v1/bridges/${e}`).json(),staleTime:Q.INFINITY});return n}const Sr=20;function Ym(e){const s=ee();return $.useSuspenseInfiniteQuery({queryKey:bt.withdrawals(e,s).queryKey,queryFn:async({pageParam:n})=>{if(!s)return[];const r={limit:Sr,offset:n,order:"desc"},{withdrawals:o}=await L.create({prefixUrl:e}).get(`withdrawals/${s}`,{searchParams:r}).json();return o},getNextPageParam:n=>{const r=w.last(n)?.sequence;return n.length<Sr||!r||r<=1?null:r-1},initialPageParam:0,staleTime:Q.SECOND})}function Jm(e){const s=Gs(),{data:n}=$.useSuspenseQuery({queryKey:bt.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:Q.SECOND});return n}function Zm({bridge_id:e,output_index:s}){const n=Gs(),{data:r}=$.useSuspenseQuery({queryKey:bt.output(e,s).queryKey,queryFn:async()=>{try{return await n.get(`opinit/ophost/v1/bridges/${e}/outputs/${s}`).json()}catch{return null}},staleTime:Q.SECOND});return r}function Xm({bridge_id:e,sequence:s}){const r=ae().find(({metadata:l})=>l?.op_bridge_id===e.toString())?.chain_id;if(!r)throw new Error(`Chain not found for bridge_id: ${e}`);const a=Te()(r);if(!a)throw new Error(`Chain not found: ${r}`);const i=a.metadata?.executor_uri;if(!i)throw new Error(`Executor URL not found: ${r}`);const{data:c}=$.useSuspenseQuery({queryKey:bt.outputResponse(i,s).queryKey,queryFn:()=>L.create({prefixUrl:i}).get(`withdrawal/${s}`).json(),staleTime:Q.SECOND});return c}function ca(e,s){const{bridge_id:n}=e,r=Gs(),{data:o}=$.useSuspenseQuery({queryKey:bt.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?.claimed?1/0:Q.SECOND});return o}function Kt(e){return ka.sha3_256.create().update(e).digest()}function fn(e,s){const n=new ArrayBuffer(s);return new DataView(n).setBigUint64(0,BigInt(e),!1),new Uint8Array(n)}function la(e){const{bridge_id:s,sequence:n,amount:r,from:o,to:a}=e,i=fn(s.toString(),8),c=fn(n.toString(),8),l=fn(r.amount,8),d=_t.concatBytes(i,c,Kt(_t.utf8ToBytes(o)),Kt(_t.utf8ToBytes(a)),Kt(_t.utf8ToBytes(r.denom)),l);return Kt(Kt(d))}const ef="_button_17r1o_1",tf="_claimed_17r1o_24",Ar={button:ef,claimed:tf},sf=()=>{const{withdrawalTx:e}=Qs(),{bridge_id:s,sequence:n,amount:r,output_index:o,withdrawal_proofs:a,storage_root:i,from:c,to:l,version:d}=e,u=_e(),h=ee(),{requestTxSync:m,waitForTxConfirmation:f}=xe(),g=Xm(e),p=V.toBase64(la(e)),x=ca(e,p),S=$.useQueryClient(),{mutate:I,isPending:N}=$.useMutation({mutationFn:async()=>{if(!g)throw new Error("Output not found");const{last_block_hash:C}=g;return m({chainId:u.chain_id,messages:[{typeUrl:"/opinit.ophost.v1.MsgFinalizeTokenWithdrawal",value:{sender:h,bridgeId:BigInt(s),outputIndex:BigInt(o),withdrawalProofs:a.map(V.fromBase64),from:c,to:l,sequence:BigInt(n),amount:r,version:V.fromBase64(d),storageRoot:V.fromBase64(i),lastBlockHash:V.fromBase64(C)}}],internal:!0})},onSuccess:async C=>{await f({chainId:u.chain_id,txHash:C}),S.invalidateQueries({queryKey:bt.withdrawalClaimed(s,p).queryKey})}});return x?t.jsxs("div",{className:Ar.claimed,children:[t.jsx(A.IconCheckCircleFilled,{size:14}),t.jsx("span",{children:"Claimed"})]}):t.jsx("button",{className:Ar.button,onClick:()=>I(),disabled:N,children:"Claim"})},nf=({children:e})=>{const{withdrawalTx:s}=Qs(),n=Vm(s.bridge_id),r=Zm(s),o=_.useMemo(()=>{if(!r)return null;const{bridge_config:a}=n,{output_proposal:i}=r;return ke.addSeconds(new Date(i.l1_block_time),parseFloat(a.finalization_period))},[n,r]);return e(o)},da=1e3,rf=60,of=60,af=24,$n=da*rf,Tn=$n*of,kr=Tn*af,cf=({date:e})=>{const s=_.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/kr),f=Math.floor(h%kr/Tn),g=Math.floor(h%Tn/$n),p=Math.floor(h%$n/da);return{days:m,hours:f,minutes:g,seconds:p}},[e]),[n,r]=_.useState(s());_.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:c,seconds:l}=n;return t.jsx(rs,{label:e.toLocaleString(),children:t.jsxs("span",{className:"monospace",children:[a,"d ",o(i),"h ",o(c),"m ",o(l),"s"]})})},lf="_container_1lz3w_1",df="_title_1lz3w_5",$r={container:lf,title:df},uf=({date:e})=>t.jsxs("div",{className:$r.container,children:[t.jsx("div",{className:$r.title,children:"Claimable in"}),t.jsx(cf,{date:e})]}),hf="_container_1oldz_1",mf="_icon_1oldz_7",Tr={container:hf,icon:mf},ff="Withdrawal will begin within an hour",Er=()=>{const e=Ls();return t.jsxs("div",{className:Tr.container,children:[t.jsx("span",{children:"In progress"}),!e&&t.jsx(rs,{label:ff,children:t.jsx("span",{className:Tr.icon,children:t.jsx(A.IconInfoFilled,{size:12})})})]})},_f=({children:e})=>{const{withdrawalTx:s}=Qs(),n=Jm(s.bridge_id),r=s.output_index>Number(n?.output_index);return e(r)},gf=({date:e,children:s})=>{const{chainId:n,withdrawalTx:r}=Qs(),o=V.toBase64(la(r)),a=ca(r,o),{setReminder:i,removeReminder:c}=Rt();return _.useEffect(()=>{const l={chainId:n,txHash:r.tx_hash};a?c(l):i(l,{...l,recipient:r.to,claimableAt:e.getTime(),amount:r.amount.amount,denom:r.amount.denom,dismissed:ke.isPast(e.getTime())?!0:void 0})},[n,a,e,c,i,r]),s},pf=()=>t.jsx(_f,{children:e=>e?t.jsx(Er,{}):t.jsx(nf,{children:s=>s?t.jsx(gf,{date:s,children:ke.isFuture(s)?t.jsx(uf,{date:s}):t.jsx(sf,{})}):t.jsx(Er,{})})}),xf="_asset_6h8u2_1",yf="_info_6h8u2_7",jf="_symbol_6h8u2_11",_n={asset:xf,info:yf,symbol:jf},vf=({amount:e,denom:s})=>{const n=_e(),r=Zr(s,n),{symbol:o,logoUrl:a,decimals:i}=r;return t.jsxs("div",{className:_n.asset,children:[t.jsx(Y,{src:a,width:32,height:32,logo:!0}),t.jsxs("div",{className:_n.info,children:[t.jsx("span",{className:"monospace",children:v.formatAmount(e,{decimals:i})}),t.jsx("span",{className:_n.symbol,children:o})]})]})},wf="_item_km5w2_1",bf={item:wf},Cf=({chain:e})=>{const s=e.metadata?.executor_uri;if(!s)throw new Error("Executor URL is not defined");const{data:n,fetchNextPage:r,hasNextPage:o,isFetching:a}=Ym(s),i=_.useMemo(()=>n?.pages.flat()??[],[n]),{syncReminders:c}=Rt();return _.useEffect(()=>{const l=i.map(d=>({chainId:e.chainId,txHash:d.tx_hash}));c(l)},[e.chainId,i,c]),i.length?t.jsxs(t.Fragment,{children:[i.map(l=>{const{amount:d}=l;return t.jsxs("div",{className:bf.item,children:[t.jsx(vf,{...d}),t.jsx(ye,{suspenseFallback:null,children:t.jsx(ia.Provider,{value:{chainId:e.chainId,withdrawalTx:l},children:t.jsx(pf,{})})})]},l.sequence)}),o&&t.jsx(sa,{onClick:()=>r(),disabled:a})]}):t.jsx(ne,{children:"No withdrawals"})},If="_content_dj1qm_1",Nf="_title_dj1qm_5",qr={content:If,title:Nf},Sf=()=>{const{chainId:e}=jt(),s=ae(),n=Zt(),[r,o]=_.useState(e??(n.metadata?.is_l1?"":n.chainId)),a=Te(),{reminders:i}=Rt(),c=r?a(r):void 0;return t.jsxs(Oe,{title:"OP Bridge withdrawals",children:[t.jsx(xt,{chains:s.filter(({metadata:l})=>!l?.is_l1&&l?.op_denoms?.length),value:r,onSelect:o,getShowIndicator:l=>i.some(d=>d.chainId===l)}),t.jsx("div",{className:qr.content,children:c?t.jsxs(t.Fragment,{children:[t.jsx("h2",{className:qr.title,children:c.name}),t.jsx(ye,{children:t.jsx(Cf,{chain:c})},r)]}):t.jsx(oe,{level:"info",children:"Select a chain to display your OP Bridge withdrawals"})})]})},Af="_page_1g5uz_1",kf="_title_1g5uz_11",$f="_scrollable_1g5uz_18",Tf="_list_1g5uz_24",Ef="_item_1g5uz_35",qf="_name_1g5uz_59",Df="_dimmed_1g5uz_67",Pf="_recent_1g5uz_71",Rf="_installed_1g5uz_72",Se={page:Af,title:kf,scrollable:$f,list:Tf,item:Ef,name:qf,dimmed:Df,recent:Pf,installed:Rf},Bf=[{name:"Rabby",url:"https://rabby.io"},{name:"Phantom",url:"https://phantom.com"},{name:"Keplr",url:"https://keplr.app"},{name:"Leap",url:"https://leapwallet.io"}],Dr=({onSuccess:e})=>{const{connectors:s,connectAsync:n}=de.useConnect(),r=Ie.useReadLocalStorage("wagmi.recentConnectorId"),[o,a]=_.useState(null),{mutate:i,isPending:c}=$.useMutation({mutationFn:async l=>{a(l.id);try{await n({connector:l})}catch(d){throw await He(d)}},onSettled:()=>{a(null)},onSuccess:()=>{e?.()}});return t.jsxs("div",{className:Se.page,children:[t.jsx("h1",{className:Se.title,children:"Connect wallet"}),t.jsx(Fe,{className:Se.scrollable,children:t.jsxs("div",{className:Se.list,children:[s.toSorted(w.descend(l=>l.id===r)).map(l=>{const{name:d,icon:u,id:h}=l;return t.jsxs("button",{className:Se.item,onClick:()=>i(l),disabled:c,children:[t.jsx(Y,{src:u,width:24,height:24}),t.jsx("span",{className:Se.name,children:d}),o===h?t.jsx(wt,{size:16}):r===h?t.jsx("span",{className:Se.recent,children:"Recent"}):l.id===Ss.id?null:t.jsx("span",{className:Se.installed,children:"Installed"})]},h)}),Bf.filter(({name:l})=>!s.some(d=>d.name.includes(l))).map(({name:l,url:d})=>{const u=`https://assets.initia.xyz/images/wallets/${l}.webp`;return t.jsxs("a",{href:d,className:Se.item,target:"_blank",children:[t.jsx(Y,{src:u,width:24,height:24}),t.jsx("span",{className:D(Se.name,Se.dimmed),children:l}),t.jsx(A.IconExternalLink,{size:10})]},l)})]})})]})},Mf="_root_1lo0i_1",Ff="_address_1lo0i_9",Of="_copy_1lo0i_19",Uf="_labelWrapper_1lo0i_33",Lf="_labelCopy_1lo0i_43",zf="_labelCopied_1lo0i_47",Kf="_copied_1lo0i_55",Wf="_derived_1lo0i_65",Hf="_derivedLabel_1lo0i_79",Qf="_derivedAddress_1lo0i_83",Gf="_hexAddress_1lo0i_89",Vf="_derivedCopy_1lo0i_94",fe={root:Mf,address:Ff,copy:Of,labelWrapper:Uf,labelCopy:Lf,labelCopied:zf,copied:Kf,derived:Wf,derivedLabel:Hf,derivedAddress:Qf,hexAddress:Gf,derivedCopy:Vf},Yf=()=>{const e=_.useRef(null),s=_.useRef(null),{initiaAddress:n,hexAddress:r}=xe(),o=Eo("--gray-0");return _.useEffect(()=>{e.current&&(s.current?s.current.update({data:n}):(s.current=new $a({type:"canvas",width:400,height:400,margin:0,data:n,image:"https://registry.initia.xyz/images/INIT.png",qrOptions:{mode:"Byte",errorCorrectionLevel:"H"},imageOptions:{crossOrigin:"anonymous",margin:12},dotsOptions:{type:"dots",color:o},cornersSquareOptions:{type:"extra-rounded",color:o},cornersDotOptions:{type:"dot",color:o},backgroundOptions:{color:"transparent"}}),s.current.append(e.current)))},[n,o]),t.jsx(Oe,{title:"Receive",children:t.jsxs("div",{className:fe.root,children:[t.jsx("div",{ref:e,style:{width:200,height:200}}),t.jsx("span",{className:fe.address,children:n}),t.jsx(vs,{value:n,children:({copy:a,copied:i})=>t.jsxs("button",{className:D(fe.copy,{[fe.copied]:i}),onClick:a,children:[t.jsx(A.IconCopy,{size:12}),t.jsxs("div",{className:fe.labelWrapper,children:[t.jsx("span",{className:fe.labelCopy,children:"Copy address"}),t.jsx("span",{className:fe.labelCopied,children:"Copied!"})]})]})}),t.jsx(vs,{value:r,children:({copy:a,copied:i})=>t.jsxs("button",{className:D(fe.derived,{[fe.copied]:i}),onClick:a,children:[t.jsx("span",{className:fe.derivedLabel,children:"Derived from"}),t.jsxs("span",{className:fe.derivedAddress,children:[t.jsx("span",{className:fe.hexAddress,children:v.truncate(r)}),t.jsx(A.IconCopy,{size:12,className:fe.derivedCopy}),i&&t.jsx("span",{className:fe.copiedText,children:"Copied!"})]})]})})]})})};function Jf(){const e=ee(),s=ae();return $.useQueries({queries:s.map(n=>({queryKey:Yt.grants(n.chainId,e).queryKey,queryFn:async()=>{const{grants:r}=await L.create({prefixUrl:n.restUrl}).get(`cosmos/authz/v1beta1/grants/granter/${e}`).json();return{chainId:n.chainId,grants:r}},enabled:!!e,staleTime:Q.SECOND,retry:!1}))})}const Zf="_countdown_vfms8_1",Xf={countdown:Zf},e_=({expiration:e})=>{const s=()=>{const o=new Date,a=ke.differenceInSeconds(e,o),i=Math.floor(a/(1440*60)),c=Math.floor(a%(1440*60)/3600),l=Math.floor(a%3600/60),d=a%60,u=[];return i>0&&u.push(`${i}d`),(c>0||i>0)&&u.push(`${c}h`),(l>0||c>0||i>0)&&u.push(`${l}m`),u.push(`${d}s`),u.join(" ")},[n,r]=_.useState(s());return Ie.useInterval(()=>{r(s())},1e3),ke.isPast(e)?"Expired":t.jsxs(t.Fragment,{children:["Expires in ",t.jsx("span",{className:Xf.countdown,children:n})]})},t_="_container_1l528_1",s_="_info_1l528_11",n_="_header_1l528_17",r_="_chainName_1l528_23",o_="_expiration_1l528_29",a_="_revokeButton_1l528_35",St={container:t_,info:s_,header:n_,chainName:r_,expiration:o_,revokeButton:a_},i_=({chainId:e,grantee:s,messageTypes:n,expiration:r})=>{const o=Me(e),{mutate:a,isPending:i}=No({grantee:s,internal:!0});return t.jsxs("div",{className:St.container,children:[t.jsxs("div",{className:St.info,children:[t.jsxs("div",{className:St.header,children:[t.jsx(Y,{src:o.logoUrl,width:16,height:16,logo:!0}),t.jsx("div",{className:St.chainName,children:o.name})]}),t.jsx("div",{className:St.expiration,children:r?t.jsx(e_,{expiration:r}):"Until revoked"})]}),t.jsx("button",{className:St.revokeButton,onClick:()=>a(e),disabled:i,children:i?"Revoking...":"Revoke"})]})},c_=({chainId:e,grants:s})=>Object.values(s.reduce((r,o)=>{const a=r[o.grantee];return a?{...r,[o.grantee]:{...a,messageTypes:[...a.messageTypes,o.authorization.msg],expiration:Un([a.expiration,o.expiration?new Date(o.expiration):void 0])}}:{...r,[o.grantee]:{grantee:o.grantee,messageTypes:[o.authorization.msg],expiration:o.expiration?new Date(o.expiration):void 0}}},{})).map(r=>_.createElement(i_,{...r,chainId:e,key:r.grantee})),l_="_content_q36qs_1",d_={content:l_},u_=()=>{const e=Jf(),s=()=>{const n=e.filter(r=>r.data&&r.data.grants.length>0).map(r=>r.data);return n.length===0?t.jsx(ne,{children:"No permissions found"}):t.jsx("div",{className:d_.content,children:n.map(({chainId:r,grants:o})=>t.jsx(c_,{chainId:r,grants:o},r))})};return t.jsx(Oe,{title:"Manage auto-signing",backButton:"/settings",children:s()})},h_="2.1.1",m_="_version_1sf5y_1",f_={version:m_},__=()=>t.jsxs("aside",{className:f_.version,children:["v",h_]}),g_="_link_se23z_1",p_="_title_se23z_17",x_="_subtitle_se23z_23",y_="_icon_se23z_30",fs={link:g_,title:p_,subtitle:x_,icon:y_},ua=({title:e,subtitle:s,rightSection:n,onClick:r})=>t.jsxs("button",{className:fs.link,onClick:r,children:[t.jsxs("div",{children:[t.jsx("p",{className:fs.title,children:e}),s&&t.jsx("p",{className:fs.subtitle,children:s})]}),t.jsx("div",{className:fs.icon,children:n??t.jsx(A.IconChevronRight,{size:16})})]}),j_="https://export.initia.xyz/",v_=()=>{const e="width=600,height=768,scrollbars=yes,resizable=yes";return t.jsx(ua,{title:"Export private key",rightSection:t.jsx(A.IconExternalLink,{size:16}),onClick:()=>window.open(j_,"_blank",e)})},w_="_container_1vxr7_1",b_="_separator_1vxr7_7",Pr={container:w_,separator:b_},C_=()=>{const e=he(),{connector:s}=de.useAccount();return t.jsx(Oe,{title:"Settings",backButton:"/",children:t.jsxs("div",{className:Pr.container,children:[t.jsx(ua,{title:"Manage auto-signing",subtitle:"Manage chain auto-signing permissions by apps",onClick:()=>e("/settings/autosign")}),s?.id===Pn&&t.jsx(v_,{}),t.jsx(Ke.Separator,{className:Pr.separator}),t.jsx(__,{})]})})},I_="_trigger_1hs5b_1",N_="_icon_1hs5b_23",S_="_full_1hs5b_27",A_="_triggerContent_1hs5b_32",k_="_triggerText_1hs5b_40",$_="_popoverBackdrop_1hs5b_51",T_="_popoverPositioner_1hs5b_70",E_="_popoverPopup_1hs5b_74",q_="_search_1hs5b_99",D_="_viewport_1hs5b_105",P_="_item_1hs5b_111",R_="_highlighted_1hs5b_126",B_="_active_1hs5b_130",M_="_name_1hs5b_135",F_="_extra_1hs5b_139",le={trigger:I_,icon:N_,full:S_,triggerContent:A_,triggerText:k_,popoverBackdrop:$_,popoverPositioner:T_,popoverPopup:E_,search:q_,viewport:D_,item:P_,highlighted:R_,active:B_,name:M_,extra:F_},Yn=({value:e,onChange:s,chainIds:n,renderExtra:r,fullWidth:o})=>{const[a,i]=_.useState(""),[c,l]=_.useState(!1),[d,u]=_.useState(0),[h,m]=_.useState(),f=_.useRef([]),g=_.useRef(null),p=ae(),x=n.map(j=>p.find(b=>b.chainId===j)).filter(Boolean),S=j=>t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:j,height:j,viewBox:"0 0 14 14",children:[t.jsx("path",{fill:"var(--dimmed)",d:"M5.69625 12.04C8.47976 12.04 10.7362 9.78348 10.7362 6.99996C10.7362 4.21645 8.47976 1.95996 5.69625 1.95996C2.91273 1.95996 0.65625 4.21645 0.65625 6.99996C0.65625 9.78348 2.91273 12.04 5.69625 12.04Z"}),t.jsx("path",{fill:"var(--dimmed)",d:"M9.66003 2.63379C10.85 3.71879 11.6025 5.26754 11.6025 7.00004C11.6025 8.73254 10.85 10.2813 9.66003 11.3663C11.7513 10.99 13.3438 9.19629 13.3438 7.00004C13.3438 4.80379 11.7513 3.00129 9.66003 2.63379Z"})]}),I=_.useMemo(()=>({chainId:"",name:"All",logoUrl:S}),[]),N=_.useMemo(()=>{const j=[I,...x];if(!a)return j;const b=a.toLowerCase();return j.filter(y=>y.name.toLowerCase().includes(b)||y.chainId.toLowerCase().includes(b))},[x,a,I]),C=x.find(j=>j.chainId===e)||I,T=parseInt(Eo("--drawer-offset")),P=6,R=()=>{if(i(""),u(-1),g.current){const b=g.current.getBoundingClientRect().bottom+P,y=window.innerHeight-b-2*T;m(y)}l(!0)};_.useEffect(()=>{d>=0&&d<f.current.length&&f.current[d]?.scrollIntoView({block:"nearest",behavior:"auto"})},[d]);const B=_.useCallback(j=>{switch(j.key){case"ArrowDown":j.preventDefault(),u(b=>(b+1)%N.length);break;case"ArrowUp":j.preventDefault(),u(b=>(b-1+N.length)%N.length);break;case"Enter":j.preventDefault(),N[d]&&(s(N[d].chainId),l(!1));break;case"Escape":j.preventDefault(),l(!1);break}},[N,d,s,l]),z=j=>{s(j),l(!1)};return t.jsxs(It.Popover.Root,{open:c,onOpenChange:R,modal:"trap-focus",children:[t.jsx(It.Popover.Trigger,{render:t.jsxs("button",{className:D(le.trigger,{[le.full]:o}),"aria-expanded":c,role:"listbox",ref:g,children:[t.jsxs("div",{className:le.triggerContent,children:[typeof C.logoUrl=="string"?t.jsx(Y,{src:C.logoUrl,width:14,height:14,logo:!0}):C.logoUrl(14),t.jsx("span",{className:le.triggerText,children:C.name})]}),t.jsx(A.IconChevronDown,{size:16,className:le.icon})]})}),t.jsxs(It.Popover.Portal,{container:yt(),children:[t.jsx(It.Popover.Backdrop,{className:le.popoverBackdrop,onClick:()=>l(!1)}),t.jsx(It.Popover.Positioner,{className:le.popoverPositioner,align:"end",side:"bottom",sideOffset:P,collisionAvoidance:{side:"none"},children:t.jsxs(It.Popover.Popup,{className:D(le.popoverPopup,{[le.full]:o}),style:{maxHeight:h},children:[t.jsx(Hs,{value:a,onChange:j=>{i(j.target.value),u(0)},onClear:()=>i(""),onKeyDown:B,placeholder:"Search appchains",rootClassName:le.search,ref:ns()}),t.jsx("div",{className:le.viewport,role:"listbox",children:N.length===0?t.jsx(ne,{children:"No appchains found"}):N.map(({chainId:j,name:b,logoUrl:y},k)=>t.jsxs("div",{className:D(le.item,{[le.highlighted]:k===d,[le.active]:e===j}),onClick:()=>z(j),onKeyDown:q=>{(q.key==="Enter"||q.key===" ")&&(q.preventDefault(),z(j))},onMouseEnter:()=>u(k),role:"option","aria-selected":e===j,tabIndex:-1,ref:q=>{q&&(f.current[k]=q)},children:[typeof y=="string"?t.jsx(Y,{src:y,width:16,height:16,logo:!0}):y(16),t.jsx("span",{className:le.name,children:b}),r&&t.jsx("span",{className:le.extra,children:r(j)})]},j))})]})})]})]})},O_="_container_1nap1_1",U_="_controls_1nap1_7",L_="_search_1nap1_13",Jn={container:O_,controls:U_,search:L_},z_=({children:e})=>t.jsx("div",{className:Jn.container,children:e}),K_=({children:e})=>t.jsx("div",{className:Jn.controls,children:e}),W_=e=>t.jsx(Hs,{...e,rootClassName:Jn.search}),nt={Root:z_,Controls:K_,SearchInput:W_},H_=H.atom(""),Q_=H.atom(""),G_=H.atom(""),V_=H.atom(""),Y_=H.atom(""),J_="_change_1x9v4_1",Z_="_positive_1x9v4_10",X_="_negative_1x9v4_14",gn={change:J_,positive:Z_,negative:X_},ha=({amount:e,asset:s})=>{const{denom:n,symbol:r,decimals:o}=s,a=new F(e).isPositive(),i=new F(e).abs().toString();return t.jsxs("div",{className:D(gn.change,a?gn.positive:gn.negative),children:[a?"+":"-",v.formatAmount(i,{decimals:o})," ",r||n]})},eg=({changes:e,chain:s})=>{const n=Ge(s);return e.map(({amount:r,denom:o},a)=>t.jsx(ha,{amount:r,asset:n(o)},a))},tg=({changes:e,chain:s})=>{const n=Ge(s);return e.map(({amount:r,metadata:o},a)=>t.jsx(Lo,{metadata:o,chain:s,children:i=>t.jsx(ha,{amount:r,asset:n(i)})},a))},sg=({events:e,chain:s})=>{const{initiaAddress:n,hexAddress:r}=xe();return s.metadata?.is_l1||s.metadata?.minitia?.type==="minimove"?t.jsx(tg,{changes:Uo(e,r),chain:s}):t.jsx(eg,{changes:Oo(e,n),chain:s})},ng="_message_1g2hc_1",rg="_more_1g2hc_8",Rr={message:ng,more:rg},og=({messages:e})=>t.jsxs(t.Fragment,{children:[e.slice(0,3).map((s,n)=>t.jsx("p",{className:Rr.message,children:Ns.sentenceCase(s["@type"].split("Msg")[1])},n)),e.length>3&&t.jsx("footer",{className:Rr.more,children:`+${e.length-3} more`})]}),ag="_link_fuhbt_1",ig="_inner_fuhbt_16",cg="_header_fuhbt_21",lg="_time_fuhbt_30",dg="_error_fuhbt_36",ug="_timestamp_fuhbt_40",hg="_chainInfo_fuhbt_45",mg="_content_fuhbt_53",fg="_messages_fuhbt_61",_g="_changes_fuhbt_67",De={link:ag,inner:ig,header:cg,time:lg,error:dg,timestamp:ug,chainInfo:hg,content:mg,messages:fg,changes:_g},gg=({txItem:e,chain:s})=>t.jsx(zs,{txHash:e.txhash,chainId:s.chainId,className:De.link,children:t.jsxs("div",{className:De.inner,children:[t.jsxs("div",{className:De.header,children:[t.jsxs("div",{className:De.time,children:[e.code!==0&&t.jsx(A.IconWarningFilled,{size:14,className:De.error}),t.jsx("span",{className:De.timestamp,children:ke.format(new Date(e.timestamp),"h:mm a")})]}),t.jsxs("div",{className:De.chainInfo,children:[t.jsx(Y,{src:s.logoUrl,width:12,height:12,logo:!0}),t.jsx("span",{children:s.name})]})]}),t.jsxs("div",{className:De.content,children:[t.jsx("div",{className:De.messages,children:t.jsx(og,{messages:e.tx.body.messages})}),t.jsx("div",{className:De.changes,children:t.jsx(ye,{suspenseFallback:null,errorBoundaryProps:{fallback:null},children:t.jsx(sg,{...e,chain:s})})})]})]})}),pg="_list_1mv55_1",xg="_dateGroup_1mv55_7",yg="_dateHeader_1mv55_12",jg="_more_1mv55_18",_s={list:pg,dateGroup:xg,dateHeader:yg,more:jg},vg=({list:e,chainId:s})=>{const n=ee(),r=_.useMemo(()=>na(e,o=>{if(o.timestamp)return new Date(o.timestamp)}),[e]);return e.length===0?t.jsx(ne,{children:"No activity found"}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:_s.list,children:Object.entries(r).map(([o,a])=>t.jsxs("div",{className:_s.dateGroup,children:[t.jsx("div",{className:_s.dateHeader,children:o}),a.map(i=>t.jsx(ye,{errorBoundaryProps:{fallback:null},children:t.jsx(gg,{txItem:i,chain:i.chain})},i.txhash))]},o))}),t.jsx(zs,{chainId:s,accountAddress:n,pathSuffix:"/txs",className:_s.more,showIcon:!0,children:"View more on Initia Scan"})]})},wg=()=>{const{activities:e,isLoading:s}=Fc(),[n,r]=H.useAtom(Y_),o=_e(),a=_.useMemo(()=>Array.from(new Set(e.map(c=>c.chain.chainId))),[e]),i=_.useMemo(()=>n?e.filter(c=>c.chain.chainId===n):e,[e,n]);return s&&e.length===0?t.jsx(ne,{children:"Loading activities..."}):!e.length&&!s?t.jsx(ne,{children:"No activity yet"}):t.jsxs(nt.Root,{children:[t.jsx(nt.Controls,{children:t.jsx(Yn,{value:n,onChange:r,chainIds:a,fullWidth:!0})}),t.jsx(vg,{list:i,chainId:n||o.chainId})]})},ma=_.createContext(null);function fa(){return _.useContext(ma)}const bg="_popup_nbecp_1",Cg="_item_nbecp_19",gs={popup:bg,item:Cg},_a=({asset:e,children:s})=>{const{denom:n,decimals:r,symbol:o,logoUrl:a,unlisted:i,address:c,chain:l}=e,{chainId:d}=l,[u,h]=_.useState(!1),m=he(),f=fa(),{showNotification:g}=Hn(),{defaultChainId:p}=X(),{evm_chain_id:x}=Zt(),S=de.useChainId(),{switchChainAsync:I}=de.useSwitchChain(),{watchAssetAsync:N}=de.useWatchAsset(),C=()=>{h(!1),m("/send",{denom:n,chain:l})},T=()=>{h(!1),m("/bridge",{srcChainId:d,srcDenom:n,quantity:""})},P=$.useMutation({mutationFn:async()=>{if(!c)throw new Error("Address is required");const R=a;return await I({chainId:Number(x)}),N({type:"ERC20",options:{address:c,symbol:o,decimals:r,image:R}})},onSuccess:()=>{g({type:"success",title:"Asset added",description:"Asset added to wallet"})},onError:R=>{g({type:"error",title:"Asset addition failed",description:R.message})}});return t.jsxs(Ke.Menu.Root,{open:u,onOpenChange:h,modal:!1,children:[t.jsx(Ke.Menu.Trigger,{render:s}),t.jsx(Ke.Menu.Portal,{container:f,children:t.jsx(Ke.Menu.Positioner,{side:"bottom",sideOffset:-6,align:"end",children:t.jsxs(Ke.Menu.Popup,{className:gs.popup,children:[t.jsxs(Ke.Menu.Item,{className:gs.item,onClick:C,children:[t.jsx(A.IconArrowRight,{size:16}),t.jsx("span",{children:"Send"})]}),t.jsxs(Ke.Menu.Item,{className:gs.item,onClick:T,disabled:i,children:[t.jsx(A.IconSwap,{size:16}),t.jsx("span",{children:"Bridge/Swap"})]}),d===p&&x===S&&!!c&&t.jsxs(Ke.Menu.Item,{className:gs.item,onClick:()=>P.mutate(),disabled:P.isPending||P.data,children:[P.data?t.jsx(A.IconCheck,{size:16}):t.jsx(A.IconPlus,{size:16}),t.jsx("span",{children:"Add to Wallet"})]})]})})})]})},Ig="_item_38qhm_1",Ng="_info_38qhm_23",Sg="_images_38qhm_29",Ag="_name_38qhm_33",kg="_value_38qhm_39",$g="_amount_38qhm_47",Tg="_usd_38qhm_53",mt={item:Ig,info:Ng,images:Sg,name:Ag,value:kg,amount:$g,usd:Tg},Eg=({asset:e})=>{const{amount:s,value:n,logoUrl:r,chain:o}=e,a=v.formatAmount(s,{decimals:e.decimals});return t.jsx(_a,{asset:e,children:t.jsxs("button",{className:mt.item,children:[t.jsxs("div",{className:mt.info,children:[t.jsx(Ws,{assetLogoUrl:r,chainLogoUrl:o.logoUrl,assetLogoSize:24,chainLogoSize:14,chainLogoOffset:4,className:mt.images}),t.jsx("span",{className:mt.name,children:o.name})]}),t.jsxs("div",{className:mt.value,children:[t.jsx("span",{className:mt.amount,children:a}),Number(n)>0&&t.jsx("span",{className:mt.usd,children:$e(n)})]})]})})},qg="_container_10heg_1",Dg="_assetItem_10heg_6",Pg="_assetInfo_10heg_27",Rg="_logo_10heg_33",Bg="_symbol_10heg_37",Mg="_chainName_10heg_48",Fg="_chainInfos_10heg_54",Og="_chainLogos_10heg_60",Ug="_chainLogo_10heg_60",Lg="_moreChains_10heg_71",zg="_expandIcon_10heg_84",Kg="_expanded_10heg_88",Wg="_valueColumn_10heg_93",Hg="_amount_10heg_103",Qg="_value_10heg_93",Gg="_collapsibleContent_10heg_116",Vg="_chainsList_10heg_146",re={container:qg,assetItem:Dg,assetInfo:Pg,logo:Rg,symbol:Bg,chainName:Mg,chainInfos:Fg,chainLogos:Og,chainLogo:Ug,moreChains:Lg,expandIcon:zg,expanded:Kg,valueColumn:Wg,amount:Hg,value:Qg,collapsibleContent:Gg,chainsList:Vg},Yg=H.atom([]),ga=({assetGroup:e})=>{const{symbol:s,logoUrl:n,assets:r}=e,o=r.length===1,[a,i]=H.useAtom(Yg),c=_.useMemo(()=>fi(e),[e]),l=_.useMemo(()=>Ln(e),[e]),d=a.includes(s),u=()=>{i(m=>d?w.without([s],m):w.uniq([...m,s]))},h=()=>t.jsxs("button",{className:re.assetItem,children:[t.jsxs("div",{className:re.assetInfo,children:[n&&t.jsx(Y,{src:n,width:32,height:32,className:re.logo,logo:!0}),t.jsxs("div",{className:re.details,children:[t.jsx("div",{className:re.symbol,children:s}),o?t.jsx("div",{className:re.chainName,children:r[0].chain.name}):t.jsxs("div",{className:re.chainInfos,children:[t.jsx("div",{className:re.chainLogos,children:r.slice(0,5).map(({chain:m})=>t.jsx(Y,{src:m.logoUrl,width:16,height:16,className:re.chainLogo,logo:!0},m.chainId))}),r.length>5&&t.jsxs("span",{className:re.moreChains,children:["+",r.length-5]}),t.jsx(A.IconChevronDown,{size:16,className:D(re.expandIcon,{[re.expanded]:d})})]})]})]}),t.jsxs("div",{className:re.valueColumn,children:[t.jsx("div",{className:re.amount,children:v.formatNumber(c,{dp:r[0].unlisted?0:6})}),l>0&&t.jsx("div",{className:re.value,children:$e(l)})]})]});if(o){const[m]=r;return t.jsx("div",{className:re.container,children:t.jsx(_a,{asset:m,children:h()})})}return t.jsx("div",{className:re.container,children:t.jsxs(se.Collapsible.Root,{open:d,onOpenChange:u,children:[t.jsx(se.Collapsible.Trigger,{asChild:!0,children:h()}),t.jsx(se.Collapsible.Content,{className:re.collapsibleContent,children:t.jsx("div",{className:re.chainsList,children:r.map(m=>t.jsx(Eg,{asset:m},m.chain.chainId))})})]})})},Jg="_collapsible_1g7rh_1",Zg="_trigger_1g7rh_5",Xg="_divider_1g7rh_20",ep="_label_1g7rh_28",tp="_chevron_1g7rh_33",sp="_content_1g7rh_41",np="_list_1g7rh_45",tt={collapsible:Jg,trigger:Zg,divider:Xg,label:ep,chevron:tp,content:sp,list:np},rp=({unlistedAssets:e})=>{const[s,n]=_.useState(!0),r=fa(),o=_.useRef(null),[a,i]=_.useState(0);_.useEffect(()=>{if(o.current){const d=o.current.scrollHeight;i(d)}},[e]);const c=d=>{if(d&&!s&&r?.current){const u=r.current;u.scrollTo({top:u.scrollHeight,behavior:"auto"}),window.setTimeout(()=>{u.scrollTo({top:u.scrollHeight,behavior:"smooth"})},150)}n(d)},l=rt.useSpring({height:s?a:0,opacity:s?1:0,config:{tension:500,friction:30,clamp:!0}});return e.length===0?null:t.jsxs(se.Collapsible.Root,{open:s,onOpenChange:c,className:tt.collapsible,children:[t.jsxs(se.Collapsible.Trigger,{className:tt.trigger,children:[t.jsx("div",{className:tt.divider}),t.jsxs("span",{className:tt.label,children:["Unlisted assets (",e.length,")"]}),t.jsx(A.IconChevronDown,{className:tt.chevron,size:12,"data-state":s?"open":"closed"}),t.jsx("div",{className:tt.divider})]}),t.jsx(se.Collapsible.Content,{forceMount:!0,asChild:!0,children:t.jsx(rt.animated.div,{className:tt.content,style:l,children:t.jsx("div",{className:tt.list,ref:o,children:e.map(d=>t.jsx(ga,{assetGroup:{...d,assets:[d]}},d.denom))})})})]})},op="_list_szwvw_1",ap={list:op},ip=()=>{const[e,s]=H.useAtom(H_),[n,r]=H.useAtom(Q_),{assetGroups:o,unlistedAssets:a,chainsByValue:i,totalValue:c,isLoading:l}=zn(),d=i.map(({chainId:m})=>m),u=_.useMemo(()=>{const m=e?o.filter(g=>{const{symbol:p,assets:x}=g;return p.toLowerCase().includes(e.toLowerCase())||x.some(({denom:S,address:I})=>S.toLowerCase().includes(e.toLowerCase())||I?.toLowerCase().includes(e.toLowerCase()))}):o;return n?m.map(g=>({...g,assets:g.assets.filter(({chain:p})=>p.chainId===n)})).filter(g=>g.assets.length>0):m},[o,e,n]),h=_.useMemo(()=>{const m=e?a.filter(({denom:g,address:p})=>g.toLowerCase().includes(e.toLowerCase())||p?.toLowerCase().includes(e.toLowerCase())):a;return n?m.filter(({chain:g})=>g.chainId===n):m},[a,e,n]);return l&&o.length===0?t.jsx(ne,{children:"Loading assets..."}):!u.length&&!h.length&&!e&&!n&&!l?t.jsx(ne,{children:"No assets"}):t.jsxs(nt.Root,{children:[t.jsxs(nt.Controls,{children:[t.jsx(nt.SearchInput,{value:e,onChange:m=>s(m.target.value),onClear:()=>s(""),placeholder:"Search assets"}),t.jsx(Yn,{value:n,onChange:r,chainIds:d,renderExtra:m=>{if(!m)return $e(c);const f=i.find(g=>g.chainId===m);return f?$e(f.value):null}})]}),t.jsx("div",{children:u.length===0&&h.length===0?t.jsx(ne,{children:"No assets found"}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:ap.list,children:u.map(m=>t.jsx(ga,{assetGroup:m},m.symbol))}),t.jsx(rp,{unlistedAssets:h})]})})]})},cp="_thumbnail_1xyqw_1",lp="_placeholder_1xyqw_18",dp="_clickable_1xyqw_24",Wt={thumbnail:cp,placeholder:lp,clickable:dp},up=({nftInfo:e,size:s,onClick:n})=>{const{collection_addr:r,object_addr:o,nft:a,chain:i}=e,{glyphUrl:c}=X(),l=new URL(`/v1/${i.chainId}/${r}/${o||a.token_id}`,c).toString();return n?t.jsx("button",{className:D(Wt.thumbnail,Wt.clickable),onClick:n,style:{width:s,height:s},children:t.jsx(Y,{src:l,classNames:{placeholder:Wt.placeholder}})}):t.jsx("div",{className:Wt.thumbnail,style:{width:s,height:s},children:t.jsx(Y,{src:l,classNames:{placeholder:Wt.placeholder}})})},hp="_collectionName_qs5tw_1",mp="_nftName_qs5tw_6",fp="_chainInfo_qs5tw_10",pn={collectionName:hp,nftName:mp,chainInfo:fp},Zn=({normalizedNft:e,onThumbnailClick:s,thumbnailSize:n,chainIconSize:r=12,classNames:o})=>{const{collection_name:a,name:i,chain:c}=e;return t.jsxs("div",{className:o?.root,children:[t.jsx(up,{nftInfo:e,onClick:s,size:n}),t.jsxs("div",{children:[t.jsx("div",{className:D(pn.collectionName,o?.collectionName),children:a}),t.jsx("div",{className:D(pn.nftName,o?.nftName),children:i}),t.jsxs("div",{className:D(pn.chainInfo,o?.chainInfo),children:[t.jsx(Y,{src:c.logoUrl,width:r,height:r,logo:!0}),t.jsx("span",{children:c.name})]})]})]})},Xn=Ne.createQueryKeys("interwovenkit:nft",{nfts:(e,s)=>[e,s],metadata:e=>[e]});function _p(e,s){const{nft:n}=e,r=s.name??n.token_id;return{...e,...n,...s,name:r}}function gp(e,s){return e.flatMap((n,r)=>(s[r]??[]).map(a=>({...a,chain:n})))}const pp=()=>{const e=ee(),s=ae(),n=$.useQueries({queries:s.map(l=>({queryKey:Xn.nfts(l.indexerUrl,e).queryKey,queryFn:()=>eo(`indexer/nft/v1/tokens/by_account/${e}`,{prefixUrl:l.indexerUrl},"tokens"),staleTime:Q.SECOND}))}),r=n.map(w.prop("data")),o=gp(s,r),a=o.reduce((l,{chain:d})=>({...l,[d.chainId]:(l[d.chainId]||0)+1}),{}),i=Object.values(a).reduce((l,d)=>l+d,0),c=n.some(l=>l.isLoading);return{nftInfos:o,chainCounts:a,totalCount:i,isLoading:c}};function xp(e){const s=Br(e);return $.useQuery({queryKey:Xn.metadata(s).queryKey,queryFn:async()=>{try{if(!s)return{};const n=await L.get(s).json();return{...n,image:Br(n.image)}}catch{return{}}},staleTime:Q.INFINITY})}function Br(e){return e?.replace("ipfs://","https://ipfs.io/ipfs/")}const yp=({nftInfo:e,children:s})=>{const{data:n={}}=xp(e.nft.uri),r=_p(e,n);return s(r)},jp="_grid_1wwdn_1",vp="_root_1wwdn_7",wp="_collectionName_1wwdn_15",bp="_nftName_1wwdn_23",Cp="_chainInfo_1wwdn_32",Mr={grid:jp,root:vp,collectionName:wp,nftName:bp,chainInfo:Cp},Ip=()=>{const[e,s]=H.useAtom(G_),[n,r]=H.useAtom(V_),{nftInfos:o,chainCounts:a,totalCount:i,isLoading:c}=pp(),l=he(),d=_.useMemo(()=>o.filter(({collection_addr:h,collection_name:m,nft:f,object_addr:g,chain:p})=>{if(n&&p.chainId!==n)return!1;if(e){const x=e.trim().toLowerCase();return h.toLowerCase().includes(x)||m.toLowerCase().includes(x)||f.token_id.toLowerCase().includes(x)||g.toLowerCase().includes(x)}return!0}),[o,n,e]),u=_.useMemo(()=>Array.from(new Set(o.map(({chain:h})=>h.chainId))),[o]);return c&&o.length===0?t.jsx(ne,{children:"Loading NFTs..."}):!o.length&&!e&&!c?t.jsx(ne,{children:"No NFTs"}):t.jsxs(nt.Root,{children:[t.jsxs(nt.Controls,{children:[t.jsx(nt.SearchInput,{value:e,onChange:h=>s(h.target.value),onClear:()=>s(""),placeholder:"Search NFTs"}),t.jsx(Yn,{value:n,onChange:r,chainIds:u,renderExtra:h=>h?a[h]||0:i})]}),d.length===0?t.jsx(ne,{children:"No NFTs found"}):t.jsx("div",{className:Mr.grid,children:d.map(h=>{const{collection_addr:m,nft:f}=h;return t.jsx(yp,{nftInfo:h,children:g=>t.jsx(Zn,{normalizedNft:g,onThumbnailClick:()=>l("/nft",g),classNames:Mr})},m+f.token_id)})})]})},Np="_totalValue_znvjc_1",Sp="_totalLabel_znvjc_7",Ap="_totalAmount_znvjc_13",kp="_loading_znvjc_18",$p="_nav_znvjc_23",Tp="_item_znvjc_29",Ep="_tabs_znvjc_54",qp="_tab_znvjc_54",we={totalValue:Np,totalLabel:Sp,totalAmount:Ap,loading:kp,nav:$p,item:Tp,tabs:Ep,tab:qp},Dp=()=>{Yo();const e=he(),s=Es(),{totalValue:n,isLoading:r}=zn(),o=_.useRef(null);return t.jsx(ma.Provider,{value:o,children:t.jsxs(Fe,{ref:o,children:[t.jsxs("div",{className:we.totalValue,children:[t.jsx("div",{className:we.totalLabel,children:"Total value"}),t.jsx("div",{className:D(we.totalAmount,{[we.loading]:r}),children:$e(n)})]}),t.jsxs("div",{className:we.nav,children:[t.jsxs(Et,{to:"/send",className:we.item,children:[t.jsx(A.IconArrowRight,{size:16}),t.jsx("span",{children:"Send"})]}),t.jsxs(Et,{to:"/bridge",className:we.item,children:[t.jsx(A.IconSwap,{size:16}),t.jsx("span",{children:"Bridge/Swap"})]}),t.jsxs(Et,{to:"/receive",className:we.item,children:[t.jsx(A.IconQrCode,{size:16}),t.jsx("span",{children:"Receive"})]})]}),t.jsxs(Ze.Tabs.Root,{value:s,onValueChange:e,children:[t.jsxs(Ze.Tabs.List,{className:we.tabs,children:[t.jsx(Ze.Tabs.Tab,{className:we.tab,value:"/",children:"Assets"}),t.jsx(Ze.Tabs.Tab,{className:we.tab,value:"/nfts",children:"NFTs"}),t.jsx(Ze.Tabs.Tab,{className:we.tab,value:"/activity",children:"Activity"})]}),t.jsx(Ze.Tabs.Panel,{value:"/",children:t.jsx(ip,{})}),t.jsx(Ze.Tabs.Panel,{value:"/nfts",children:t.jsx(Ip,{})}),t.jsx(Ze.Tabs.Panel,{value:"/activity",children:t.jsx(wg,{})})]})]})})},Pp="_root_th990_1",Rp="_collectionName_th990_9",Bp="_nftName_th990_13",Mp="_chainInfo_th990_17",Fp="_attributes_th990_21",Op="_title_th990_24",Up="_count_th990_29",Lp="_item_th990_33",zp="_type_th990_39",Kp="_value_th990_45",ft={root:Pp,collectionName:Rp,nftName:Bp,chainInfo:Mp,attributes:Fp,title:Op,count:Up,item:Lp,type:zp,value:Kp},Wp=()=>{const e=he(),s=jt(),{attributes:n}=s;return t.jsxs(Oe,{title:"NFT details",children:[t.jsx(Zn,{normalizedNft:s,chainIconSize:14,classNames:ft}),t.jsx(ie,{children:t.jsx(J.White,{onClick:()=>e("/nft/send",s),sm:!0,children:"Send"})}),n&&t.jsxs("div",{className:ft.attributes,children:[t.jsxs("header",{className:ft.title,children:["Traits ",t.jsxs("span",{className:ft.count,children:["(",n.length,")"]})]}),t.jsx("div",{children:n.map(({trait_type:r,value:o})=>t.jsxs("div",{className:ft.item,children:[t.jsx("div",{className:ft.type,children:r}),t.jsx("div",{className:ft.value,children:o})]},r))})]})]})};function Hp({balances:e,gasPrices:s,gas:n}){return s.map(({denom:r,amount:o})=>{const a=F(o).times(n).toFixed(0,F.ROUND_CEIL),i=e.find(c=>c.denom===r)?.amount??"0";return{amount:a,denom:r,balance:i}}).filter(({amount:r,balance:o})=>F(o).gte(r))}function Qp({denom:e,balances:s,gasPrices:n,lastFeeDenom:r,gas:o}){const a=s.find(d=>d.denom===e)?.amount??"0",i=Hp({balances:s,gasPrices:n,gas:o}),c=i.find(d=>d.denom===r);if(i.length===0)return a;if(e===r&&c){const d=F(a).minus(c.amount);return F.max(d,0).toString()}const l=i.find(d=>d.denom!==e)||i[0];if(!c&&e===l.denom){const d=F(a).minus(l.amount);return F.max(d,0).toString()}return F(a).toString()}const Gp=({chain:e,onSelect:s})=>{const n=Wa(e);return t.jsx(os,{assets:n,onSelect:s})},Vp=({afterSelect:e})=>{const{watch:s,setValue:n}=ue.useFormContext(),{chainId:r,denom:o}=s(),{chainId:a}=s(),[i,c]=_.useState(a),l=Me(i),d=ae(),u=h=>{if(r===i&&o===h){e();return}n("chainId",i),n("denom",h),n("quantity","",{shouldTouch:!1,shouldDirty:!1}),e()};return t.jsxs(t.Fragment,{children:[t.jsx(xt.Stack,{children:t.jsx(xt,{chains:d,value:i,onSelect:c})}),t.jsx(ye,{suspenseFallback:t.jsx(os.Placeholder,{}),children:t.jsx(Gp,{chain:l,onSelect:u})},i)]})},Yp="_fields_brpej_1",Jp="_divider_brpej_11",Fr={fields:Yp,divider:Jp},Zp=Ne.createQueryKeys("interwovenkit:send",{gas:e=>[e]}),Xp=()=>{const{address:e,initiaAddress:s,estimateGas:n,requestTxSync:r}=xe(),{register:o,watch:a,setValue:i,handleSubmit:c,formState:l}=ue.useFormContext(),{errors:d}=l,{chainId:u,denom:h,recipient:m,quantity:f,memo:g}=a(),p=Me(u),x=Bn(p),S=Bo(p),I=Mo(p),N=Zr(h,p),{data:C}=ks(p),{decimals:T}=N,P=x.find(O=>O.denom===h)?.amount??"0",R=C?.find(({id:O})=>O===h)?.price,{data:B=0,isLoading:z}=$.useQuery({queryKey:Zp.gas({chainId:u,denom:h,recipient:m,initiaAddress:s}).queryKey,queryFn:()=>{const O=[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:ir.MsgSend.fromPartial({fromAddress:s,toAddress:v.InitiaAddress(m).bech32,amount:[{denom:h,amount:"1"}]})}];return n({messages:O,chainId:u})},enabled:v.InitiaAddress.validate(m),staleTime:Q.INFINITY}),j=Math.ceil(B*Gt),b=Qp({denom:h,balances:x,gasPrices:S,lastFeeDenom:I,gas:j}),y=F(P).isZero(),q=S.some(({denom:O})=>O===h)&&z,M=y||q,{mutate:E,isPending:G}=$.useMutation({mutationFn:({chainId:O,denom:Z,quantity:Ue,recipient:Je,memo:at})=>{const me=v.toBaseUnit(Ue,{decimals:T}),ge=[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:ir.MsgSend.fromPartial({fromAddress:s,toAddress:v.InitiaAddress(Je).bech32,amount:[{denom:Z,amount:me}]})}];return r({messages:ge,memo:at,chainId:O,gas:B,gasAdjustment:Gt,gasPrices:S,spendCoins:[{denom:Z,amount:me}],internal:"/"})}}),te=_.useMemo(()=>{if(!f)return"Enter amount";if(d.quantity)return d.quantity.message;if(!m)return"Enter recipient address";if(d.recipient)return d.recipient.message;if(d.memo)return d.memo.message},[f,m,d.quantity,d.recipient,d.memo]);return t.jsx(Oe,{title:"Send",children:t.jsxs("form",{onSubmit:c(O=>E(O)),children:[t.jsxs("div",{className:Fr.fields,children:[t.jsx(In,{selectButton:t.jsx(Dt,{title:"Select chain and asset",content:O=>t.jsx(Vp,{afterSelect:O}),children:t.jsx(ta,{asset:N,chain:p})}),quantityInput:t.jsx(bs,{balance:P,decimals:T}),balanceButton:t.jsx(Jo,{onClick:()=>i("quantity",v.fromBaseUnit(b,{decimals:T}),{shouldValidate:!0}),disabled:M,children:v.formatAmount(P??"0",{decimals:T})}),value:f?R?$e(F(f).times(R)):"$-":"$0"}),t.jsx("div",{className:Fr.divider}),t.jsx(Gn,{myAddress:e}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:"memo",children:"Memo (optional)"}),t.jsx("input",{...o("memo",{validate:O=>!O||new Blob([O]).size<=256||"Memo is too long"}),id:"memo",autoComplete:"off"})]}),t.jsx(oe.Stack,{children:!g&&t.jsx(oe,{level:"warning",children:"Check if the above transaction requires a memo"})})]}),t.jsx(ie,{children:t.jsx(J.White,{type:"submit",loading:(z?"Estimating gas...":!1)||G,disabled:!!te,children:te??"Confirm"})})]})})},ex=()=>{const e=jt(),s=Zt(),n=Vt(s),{chain:r=s}=e,o=w.head(n);if(!e.denom&&!o)throw new Error("Asset list not found. This occurs during local development when asset list is not configured. Use asset-specific send buttons instead of the default send button, or register chain in Initia Registry with at least one asset defined.");const a=e.denom??o?.denom,i=ue.useForm({mode:"onChange",defaultValues:{chainId:r.chainId,denom:a,quantity:"",recipient:"",memo:""}});return t.jsx(ue.FormProvider,{...i,children:t.jsx(Xp,{})})};async function En(e,s){const n=e.replace("ibc/",""),{class_trace:r}=await L.create({prefixUrl:s}).get(`ibc/apps/nft_transfer/v1/class_traces/${n}`).json();return r}async function tx(e,s){const n=new We.Interface([{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}]),{response:r}=await L.create({prefixUrl:s}).post("minievm/evm/v1/call",{json:{sender:v.InitiaAddress("0x1").bech32,contract_addr:v.InitiaAddress(e).hex,input:n.encodeFunctionData("name")}}).json();return n.decodeFunctionResult("name",r)[0]}async function sx(e,s,n){if(s.startsWith("evm/"))return e;const{token_infos:r}=await L.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)}async function nx({collection_addr:e},{restUrl:s}){const n=await tx(e,s);if(!n.startsWith("ibc/"))return{class_id:`evm/${v.InitiaAddress(e).rawHex}`,class_trace:void 0};const r=await En(n,s);return r?{class_id:n,class_trace:r}:{class_id:`evm/${v.InitiaAddress(e).rawHex}`,class_trace:void 0}}async function rx(e,s){const{data:n}=await L.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 ox({object_addr:e,collection_addr:s},{restUrl:n}){const r=await rx(s,n);return r.startsWith("ibc/")?v.InitiaAddress.equals(v.createObjectAddress("0x1",r),s)?{class_id:r,class_trace:await En(r,n)}:{class_id:`move/${e.replace("0x","").padStart(64,"0")}`,class_trace:await En(r,n)}:{class_id:`move/${s.replace("0x","").padStart(64,"0")}`,class_trace:void 0}}async function ax(e,s){const n=V.toBase64(_t.utf8ToBytes(JSON.stringify({contract_info:{}}))),{data:r}=await L.create({prefixUrl:s}).get(`cosmwasm/wasm/v1/contract/${e}/smart/${n}`).json();return r.name}async function ix(e,s){const{collection:n}=await L.create({prefixUrl:s}).get(`indexer/nft/v1/collections/${e}`).json();return n.collection.creator}async function cx(e,s){const n=V.toBase64(_t.toBytes(JSON.stringify({outgoing_proxy:{}}))),{data:r}=await L.create({prefixUrl:s}).get(`cosmwasm/wasm/v1/contract/${e}/smart/${n}`).json();return r}function Or(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]}async function lx({collection_addr:e},s,n){const r=v.InitiaAddress(e).bech32,o=await ax(r,s.restUrl),a=s.metadata?.ibc_channels?.find(({chain_id:p,version:x})=>p===n.chain_id&&x.includes("ics721-1"));if(!a)throw new Error("Channel not found");const i=a.port_id,c=i.split(".")[1],l=V.toBase64(_t.toBytes(JSON.stringify({class_id:{contract:r}}))),{data:d}=await L.create({prefixUrl:s.restUrl}).get(`cosmwasm/wasm/v1/contract/${c}/smart/${l}`).json(),u=d??r,h=await cx(c,s.restUrl),m=await ix(r,s.indexerUrl);if(u===r)return{class_id:u,class_trace:void 0,outgoing_proxy:h};if(d&&m!==i.replace("wasm.","")){const[p,x]=Or(d);return{class_id:r,class_trace:{path:p,base_class_id:x},outgoing_proxy:h}}const[f,g]=Or(o);return{class_id:r,class_trace:{path:f,base_class_id:g},outgoing_proxy:h}}const dx={minimove:ox,minievm:nx,miniwasm:lx};async function ux({nft:e,srcChain:s,intermediaryChain:n}){const r=s.metadata?.is_l1?"minimove":s.metadata?.minitia?.type;if(!(r==="minimove"||r==="minievm"||r==="miniwasm"))throw new Error(`Unsupported minitia type: ${r}`);const o=await dx[r](e,s,n);return Object.assign(o,r==="minievm"&&{token_ids:await sx([e.token_id],o.class_id,s.restUrl)})}const hx="_root_1tyvn_1",mx="_collectionName_1tyvn_10",fx="_nftName_1tyvn_15",_x="_chainInfo_1tyvn_19",gx="_fields_1tyvn_24",px="_chain_1tyvn_19",xn={root:hx,collectionName:mx,nftName:fx,chainInfo:_x,fields:gx,chain:px},xx=Ne.createQueryKeys("interwovenkit:send-nft",{simulation:e=>[e]}),yx=()=>{const e=ae(),s=jt(),{chain:n,collection_addr:r}=s,{routerApiUrl:o}=X(),a=Ds(),i=_e(),{address:c,initiaAddress:l,requestTxSync:d}=xe(),{watch:u,setValue:h,handleSubmit:m,formState:f}=ue.useFormContext(),{errors:g}=f,p=u(),{recipient:x,dstChainId:S}=p,I=Me(S),N=$.useQuery({queryKey:xx.simulation({collection_addr:r,nft:s,sender:l,recipient:x,srcChain:n,dstChain:I,layer1:i,routerApiUrl:o}).queryKey,queryFn:async()=>{const b=Object.assign({from_address:l,from_chain_id:n.chainId,to_address:v.InitiaAddress(x).bech32,to_chain_id:I.chainId,collection_address:r,token_ids:[s.token_id],object_addresses:[s.object_addr]},n.chainId!==I.chainId&&await ux({nft:s,srcChain:n,intermediaryChain:i})),{msgs:y}=await L.create({prefixUrl:o}).post("nft",{json:b}).json();return y.map(k=>a.fromAmino(k))},enabled:v.InitiaAddress.validate(x)}),{data:C,isLoading:T,error:P}=N,R=$.useQueryClient(),{mutate:B,isPending:z}=$.useMutation({mutationFn:async()=>{if(!C)throw new Error("Route not found");await d({messages:C,chainId:n.chainId,internal:"/nfts"})},onSuccess:()=>{R.invalidateQueries({queryKey:Xn.nfts._def})}}),j=_.useMemo(()=>{if(!x)return"Enter recipient address";if(g.recipient)return g.recipient.message;if(P)return"Route not found"},[x,g.recipient,P]);return t.jsxs("form",{onSubmit:m(()=>B()),children:[t.jsx(Zn,{normalizedNft:s,thumbnailSize:80,classNames:xn}),t.jsxs("div",{className:xn.fields,children:[t.jsxs("div",{children:[t.jsx("div",{className:"label",children:"Destination appchain"}),t.jsxs(Dt,{title:"Destination appchain",content:b=>t.jsx(ea,{onSelect:({chainId:y})=>{h("dstChainId",y),b()},list:e,getImage:y=>y.logoUrl,getName:y=>y.name,getKey:y=>y.chainId}),className:D("input",xn.chain),children:[t.jsx(Y,{src:I.logoUrl,width:20,height:20,logo:!0}),t.jsx("span",{children:I.name})]})]}),t.jsx(Gn,{myAddress:c,ref:ns()})]}),t.jsx(ie,{children:t.jsx(J.White,{loading:(T?"Finding route...":!1)||z,disabled:!!j,children:j??"Confirm"})})]})},jx=()=>{const{chain:e}=jt(),s=ue.useForm({mode:"onChange",defaultValues:{dstChainId:e.chainId,recipient:""}});return t.jsx(Oe,{title:"Send NFT",children:t.jsx(ue.FormProvider,{...s,children:t.jsx(yx,{})})})},pa=()=>{const e=he(),s=Es(),n=Pt(),{closeDrawer:r}=Ve(),{closeModal:o}=Ms();_.useEffect(()=>{o(),s.startsWith("/bridge/")&&e("/bridge"),(s==="/collection"||s.startsWith("/nft"))&&e("/nfts")},[n]);const a=qs();if(_.useEffect(()=>{a("Page View")},[s,a]),s==="/connect")return n?null:t.jsx(Dr,{onSuccess:r});if(s==="/blank")return null;if(!n)return t.jsx(Dr,{});switch(s){case"/":case"/nfts":case"/activity":return t.jsx(Dp,{});case"/send":return t.jsx(ex,{},n);case"/receive":return t.jsx(Yf,{});case"/nft":return t.jsx(Wp,{});case"/nft/send":return t.jsx(jx,{},n);case"/bridge":return t.jsx(Rh,{},n);case"/bridge/preview":return t.jsx(Gm,{});case"/bridge/history":return t.jsx(Im,{});case"/op/withdrawals":return t.jsx(Sf,{});case"/tx":return t.jsx(Ko,{});case"/autosign/enable":return t.jsx(vd,{});case"/settings":return t.jsx(C_,{});case"/settings/autosign":return t.jsx(u_,{})}},vx="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@100..700&display=swap",wx=()=>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:vx}),t.jsx("link",{rel:"stylesheet",href:"https://assets.initia.xyz/fonts/PilatWide.css"})]}),bx=()=>{Za(),oi(),ae();const e=_e();return Kn(),qt(localStorage.getItem(U.BRIDGE_SRC_CHAIN_ID)??e.chainId),qt(localStorage.getItem(U.BRIDGE_DST_CHAIN_ID)??e.chainId),null},Cx=({children:e,...s})=>(_.useEffect(()=>{bi()},[]),Ie.useIsClient()?t.jsxs(t.Fragment,{children:[t.jsx(wx,{}),t.jsx(Gr.Provider,{value:{...Qr,...s},children:t.jsx(ao,{children:t.jsx(Vl,{children:t.jsx(se.Tooltip.Provider,{delayDuration:0,skipDelayDuration:0,children:t.jsx(Gl,{children:t.jsxs(Rl,{children:[e,t.jsx(Ci,{}),t.jsx(ye,{suspenseFallback:null,errorBoundaryProps:{fallback:null},children:t.jsx(bx,{})}),t.jsx(dc,{children:t.jsx(pa,{})})]})})})})})})]}):null),Ix=({bridge:e})=>t.jsx(ao,{initialEntry:{path:e?"/bridge":"/",state:e},children:t.jsx("div",{className:"body",children:t.jsx(Do.Provider,{value:!!e,children:t.jsx(ye,{children:t.jsx(pa,{})})})})});exports.DEFAULT_GAS_ADJUSTMENT=Gt;exports.DEFAULT_GAS_PRICE_MULTIPLIER=Hr;exports.InterwovenKit=Ix;exports.InterwovenKitProvider=Cx;exports.MAINNET=Qr;exports.MoveError=jo;exports.PRIVY_APP_ID=Pn;exports.TESTNET=Ea;exports.initiaPrivyWallet=Da;exports.initiaPrivyWalletConnector=qa;exports.initiaPrivyWalletOptions=Ss;exports.injectStyles=Oi;exports.useAddress=Pt;exports.useHexAddress=Us;exports.useInitiaAddress=ee;exports.useInterwovenKit=xe;exports.usePortfolio=zn;exports.useUsernameQuery=So;
|
|
4
|
+
</svg>`,lc=encodeURIComponent(cc),vo=`data:image/svg+xml;utf8,${lc}`,Cn=ye.createQueryKeys("interwovenkit:asset",{list:e=>[e],item:(e,n)=>[e,n],resource:(e,n)=>[e.chainId,n.denom],denom:(e,n)=>[e,n],metadata:(e,n)=>[e,n]});function dc(e){const{base:n,symbol:s,denom_units:o=[],display:a,logo_URIs:r,name:i,address:c,traces:l}=e,d=o.find(m=>m.denom===a)?.exponent??o.find(m=>m.denom===n)?.exponent??A.head(o)?.exponent??0,u=r?.png??"";return{denom:n,symbol:s,decimals:d,logoUrl:u,name:i,address:c,traces:l}}function nr(){const e=T.useQueryClient();return n=>{const s=n?.metadata?.assetlist;return T.queryOptions({queryKey:Cn.list(s).queryKey,queryFn:async()=>s?V.get(s).json():{assets:[]},select:({assets:o})=>{if(!n)return[];const a=o.map(dc);for(const r of a)e.setQueryData(Cn.item(n.chainId,r.denom).queryKey,r);return a},staleTime:z.MINUTE})}}function xt(e){const n=nr(),{data:s}=T.useSuspenseQuery(n(e));return s}function An(){const e=ue(),n=nr();return T.useQueries({queries:e.map(s=>n(s))})}function ct(e){const n=xt(e),s=ie(),o=xt(s),a=or(e);return r=>{const i=n.find(l=>l.denom===r);if(i)return i;const c=o.find(l=>l.denom===a(r));return c?{...c,denom:r}:{denom:r,symbol:"",decimals:0,logoUrl:vo}}}function sr(e,n){const s=ct(n),a=T.useQueryClient().getQueryData(Cn.item(n.chainId,e).queryKey);return a||s(e)}function or(e){const n=ie(),s=xt(e);return o=>{if(e.metadata?.is_l1)return o;if(o.startsWith("l2/")||o.startsWith("ibc/")){const r=s.find(i=>i.denom===o)?.traces;if(r){for(const i of r)if(i.counterparty.chain_name===n.chain_name)return i.counterparty.base_denom}}const a=n.metadata?.ibc_channels?.find(({chain_id:r,version:i})=>r===e.chain_id&&i==="ics20-1")?.channel_id;return a?j.getIbcDenom(a,o):""}}function wo(e){const n=ie(),s=V.create({prefixUrl:n.restUrl}),o=T.useSuspenseQueries({queries:e.map(a=>({queryFn:async()=>(await s.get("initia/move/v1/denom",{searchParams:{metadata:a}}).json()).denom,queryKey:Cn.denom(n.restUrl,a).queryKey,select:r=>[a,r],staleTime:z.INFINITY}))});return new Map(o.map(({data:a})=>a))}function uc(e){return e.pagination?.next_key??null}async function ar(e,n,s){const o=V.create(n),a=async(r,i)=>{const c=await o.extend(i?{searchParams:{"pagination.key":i}}:{}).get(e).json(),l=c[s]??[],d=uc(c),u=[...r,...l];return d?a(u,d):u};return a([],null)}const ma="usernames";function mc({restUrl:e,moduleAddress:n}){const{viewFunction:s}=j.createMoveClient(e);async function o(i){if(!j.InitiaAddress.validate(i))return null;const c=await s({moduleAddress:n,moduleName:ma,functionName:"get_name_from_address",typeArgs:[],args:[re.toBase64(j.InitiaAddress(i,32).bytes)]});return c?c+".init":null}function a(i){return/^[A-Za-z0-9-]{3,64}\.init$/.test(i)}async function r(i){if(!a(i))return null;const c=await s({moduleAddress:n,moduleName:ma,functionName:"get_address_from_name",typeArgs:[],args:[Ki.bcs.string().serialize(i.toLowerCase().replace(".init","")).toBase64()]});return c?j.InitiaAddress(c).bech32:null}return{restUrl:e,getUsername:o,getAddress:r,validateUsername:a}}const ps=ye.createQueryKeys("interwovenkit:account",{username:(e,n)=>[e,n],address:(e,n)=>[e,n],balances:(e,n)=>[e,n],txs:(e,n)=>[e,n]});function rr(){const{restUrl:e}=ie(),{usernamesModuleAddress:n}=G();return mc({restUrl:e,moduleAddress:n})}function ir(){const e=X();return n=>T.queryOptions({queryKey:ps.balances(n.restUrl,e||"").queryKey,queryFn:()=>e?ar(`cosmos/bank/v1beta1/balances/${e}`,{prefixUrl:n.restUrl},"balances"):[],staleTime:z.SECOND})}function Sn(e){const n=ir(),{data:s}=T.useSuspenseQuery(n(e));return s}function hc(){const e=ue(),n=ir();return T.useQueries({queries:e.map(s=>n(s))})}function pc(e){const n=Sn(e),s=xt(e),o=ct(e),a=or(e),{data:r}=yt(e),i=l=>e.fees.fee_tokens.some(d=>d.denom===l),c=l=>s.some(d=>d.denom===l);return A.sortWith([A.descend(({denom:l})=>a(l)==="uinit"),A.descend(({denom:l})=>i(l)),A.descend(({value:l})=>l),A.descend(({denom:l})=>c(l)),({balance:l},{balance:d})=>U(d).comparedTo(l)??0,A.descend(({symbol:l})=>l.toLowerCase())],n.filter(({amount:l})=>!U(l).isZero()).map(({amount:l,denom:d})=>{const u=o(d),m=r?.find(({id:p})=>p===u?.denom)?.price??0,h=U(l).times(m).div(U(10).pow(u.decimals)).toNumber();return{...u,balance:l,price:m,value:h}}))}const cr=g.createContext(null);function fs(){return g.useContext(cr)}function lr(){const{location:e}=fs();return e}function et(){const{path:e}=lr();return e}function Ke(){const{state:e={}}=lr();return e}function dr(){const{history:e}=fs();return e}function je(){const{navigate:e}=fs();return e}function Co(){const{reset:e}=fs();return e}const nn=({to:e,state:n,shouldReset:s,children:o,onClick:a,...r})=>{const i=je(),c=Co(),l=d=>{d.preventDefault(),a?.(d),s?c(e,n):i(e,n)};return t.jsx("button",{type:"button",...r,onClick:l,children:o})},ur=({children:e,initialEntry:n})=>{const[s,o]=g.useState([n??{path:"/"}]),a=s[s.length-1],r=g.useCallback((c,l)=>{o(d=>{if(typeof c=="string")return[...d,{path:c,state:l}];const u=d.length+c;if(u<1)return d;const m=A.take(u,d);return l!==void 0?A.adjust(u-1,h=>({...h,state:l}),m):m})},[]),i=g.useCallback((c,l)=>{o([{path:c,state:l}])},[]);return t.jsx(cr.Provider,{value:{location:a,history:s,navigate:r,reset:i},children:e})},fc="c33b940c24c17e95f7d9d525d508ac61";function gc(){const{disableAnalytics:e}=G();g.useEffect(()=>{e||yo.init(fc,{autocapture:!1})},[e])}function _c(){const{connector:e}=we.useAccount(),{defaultChainId:n,disableAnalytics:s}=G();g.useEffect(()=>{const o=new Ha.Identify;e?.name&&o.set("connector",e.name),n&&o.set("defaultChainId",n),yo.identify(o)},[n,e?.name,s])}function $n(){const e=et();return g.useCallback((s,o)=>{yo.track(s,{path:e,...o})},[e])}const st="interwovenkit",ke="uinit",Qe="INIT",Me=6,xc="uoinit",yc="omniINIT",mr="https://app.initia.xyz",No=`${mr}/liquidity/my`,jc=`${mr}/vip/my`,bc=1e3,hr=60*bc,pr=60*hr,ha=24*pr,oe={PUBLIC_KEY:`${st}:public-key`,BRIDGE_SRC_CHAIN_ID:`${st}:bridge:src-chain-id`,BRIDGE_SRC_DENOM:`${st}:bridge:src-denom`,BRIDGE_DST_CHAIN_ID:`${st}:bridge:dst-chain-id`,BRIDGE_DST_DENOM:`${st}:bridge:dst-denom`,BRIDGE_QUANTITY:`${st}:bridge:quantity`,BRIDGE_SLIPPAGE_PERCENT:`${st}:bridge:slippage-percent`,BRIDGE_ROUTE_TYPE:`${st}:bridge:route-type`,BRIDGE_HISTORY:`${st}:bridge:history`,OP_REMINDER:`${st}:op:reminder`},fr=H.atom(!1),gr=H.atom(!1);function lt(){const e=Co(),[n,s]=H.useAtom(fr),o=H.useSetAtom(gr),a=$n();return{isDrawerOpen:n,openDrawer:(c,l)=>{c&&e(c,l),o(!1),s(!0),a("Widget Opened")},closeDrawer:()=>{s(!1),a("Widget Closed")}}}function dn(){const e=Co(),[n,s]=H.useAtom(gr),o=H.useSetAtom(fr),a=$n();return{isModalOpen:n,openModal:(c,l)=>{c&&e(c,l),o(!1),s(!0),a("Widget Opened")},closeModal:()=>{s(!1),a("Widget Closed")}}}function ko(){const e=je(),{closeDrawer:n}=lt(),{closeModal:s}=dn(),{disconnect:o}=we.useDisconnect();return()=>{e("/blank"),n(),s(),o(),localStorage.removeItem(oe.BRIDGE_SRC_CHAIN_ID),localStorage.removeItem(oe.BRIDGE_SRC_DENOM),localStorage.removeItem(oe.BRIDGE_DST_CHAIN_ID),localStorage.removeItem(oe.BRIDGE_DST_DENOM),localStorage.removeItem(oe.BRIDGE_QUANTITY),localStorage.removeItem(oe.BRIDGE_SLIPPAGE_PERCENT)}}function vc(){const e=kt(),n=Ot(),{openModal:s}=dn();return o=>{if(!e)throw new Error("No wallet connected");const{denoms:a,chainId:r,srcOptions:i,recipientAddress:c}=o;if(a.length===0)throw new Error("denoms cannot be empty");const l=r??n.chainId,d=a.map(u=>({denom:u,chainId:l}));s("/deposit",{localOptions:d,remoteOptions:i,recipientAddress:c})}}function wc(){const e=kt(),n=Ot(),{openModal:s}=dn();return o=>{if(!e)throw new Error("No wallet connected");const{denoms:a,chainId:r,dstOptions:i,recipientAddress:c}=o;if(a.length===0)throw new Error("denoms cannot be empty");const l=r??n.chainId,d=a.map(u=>({denom:u,chainId:l}));s("/withdraw",{localOptions:d,remoteOptions:i,recipientAddress:c})}}function Io(){const{privyContext:e}=G(),{address:n}=we.useAccount();return e?n?!!e.privy.user?.linkedAccounts.map(o=>"address"in o&&o.address).filter(o=>!!o)?.some(o=>j.InitiaAddress.equals(o,n)):!1:!0}function Cc(){const{privyContext:e}=G(),n=Io(),{address:s}=we.useAccount(),{signMessageAsync:o}=we.useSignMessage(),a=ko(),r=!!e?.privy.ready,i=g.useRef(e);g.useEffect(()=>{i.current=e},[e]);const c=async l=>{try{if(!i.current)throw new Error("Privy context not found");i.current.privy.authenticated&&await i.current.privy.logout();const d=await i.current.siwe.generateSiweMessage({chainId:"eip155:1",address:l});if(!d)throw new Error("Failed to generate SIWE message");const u=await o({message:d});await i.current.siwe.loginWithSiwe({signature:u,message:d})}catch{a()}};g.useEffect(()=>{n||r&&s&&c(s)},[n,r,s])}function Nc(e){if(e?.typeUrl==="/initia.crypto.v1beta1.ethsecp256k1.PubKey"){const{key:n}=ro.PubKey.decode(e.value);return wn.encodeSecp256k1Pubkey(n)}return ds.decodeOptionalPubkey(e)}function kc({typeUrl:e,value:n}){if(e==="/cosmos.auth.v1beta1.BaseAccount"){const{address:s,pubKey:o,accountNumber:a,sequence:r}=Hi.BaseAccount.decode(n),i=Nc(o);return{address:s,pubkey:i,accountNumber:Number(a),sequence:Number(r)}}return Ve.accountFromAny({typeUrl:e,value:n})}function Ic(e){return e.type==="initia/PubKeyEthSecp256k1"}const Ac={...wn.pubkeyType,ethsecp256k1:"initia/PubKeyEthSecp256k1"};function Sc(e){if(Ic(e)){const n=ro.PubKey.fromPartial({key:re.fromBase64(e.value)});return Qi.Any.fromPartial({typeUrl:"/initia.crypto.v1beta1.ethsecp256k1.PubKey",value:Uint8Array.from(ro.PubKey.encode(n).finish())})}return ds.encodePubkey(e)}function _r(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:Ac.ethsecp256k1,value:re.toBase64(e)}}function $c(e,n){if(n.length!==64)throw new Error("Signature must be 64 bytes long. Cosmos SDK uses a 2x32 byte fixed length encoding for the secp256k1 signature integers r and s.");return{pub_key:_r(e),signature:re.toBase64(n)}}const Tn=()=>{const e=G();return new ds.Registry([...sn.protoRegistry,...e.protoTypes??[]])},En=()=>{const e=G();return new Ve.AminoTypes({...sn.aminoConverters,...e.aminoConverters})};class xr{constructor(n,s,o){this.address=n,this.signMessage=s,this.restUrl=o}cachedPublicKey=null;async getCachedPublicKey(){if(this.cachedPublicKey)return this.cachedPublicKey;const n=`${oe.PUBLIC_KEY}:${this.address}`,s=localStorage.getItem(n);if(s)return this.cachedPublicKey=re.fromHex(s),re.fromHex(s);const o=await this.getPublicKeyFromRestApi();if(o)return this.cachedPublicKey=o,localStorage.setItem(n,re.toHex(o)),o;const a=await this.getPublicKey();return this.cachedPublicKey=a,localStorage.setItem(n,re.toHex(a)),a}async getPublicKeyFromRestApi(){try{const s=(await V.create({prefixUrl:this.restUrl}).get(`cosmos/auth/v1beta1/account_info/${this.address}`).json())?.info?.pub_key?.key;return s?re.fromBase64(s):null}catch{return null}}async getPublicKey(){const n="Sign this message to identify your Initia account.",s=await this.signMessage(n),o=gt.ethers.hashMessage(n),a=gt.ethers.SigningKey.recoverPublicKey(o,s);return ao.Secp256k1.compressPubkey(re.fromHex(a.replace("0x","")))}async getAccounts(){return[{address:this.address,algo:"ethsecp256k1",pubkey:await this.getCachedPublicKey()}]}async signAmino(n,s){if(this.address!==n)throw new Error("Signer address does not match the provided address");const o=oo.escapeCharacters(oo.sortedJsonStringify(s)),a=await this.signMessage(o),r=re.fromHex(a.replace("0x","")).subarray(0,-1),c=ao.Secp256k1Signature.fromFixedLength(r).toFixedLength(),l=$c(await this.getCachedPublicKey(),c);return{signed:s,signature:l}}}function gs(){const e=Tn(),n=En(),s=qn(),o=Ao();return async function(a,r,i,c,l,d){const u=d?.customSigner??s;if(!u)throw new Error("Signer not initialized");const m=await o(a),{accountNumber:h,...p}=await m.getSequence(r),f=p.sequence+(d?.incrementSequence??0),[_]=await u.getAccounts(),x=Sc(_r(_.pubkey)),y=Wi.SignMode.SIGN_MODE_EIP_191,b=i.map(N=>n.toAmino(N)),C=oo.makeSignDoc(b,c,a,l,h,f),{signature:w,signed:v}=await u.signAmino(r,C),S={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{messages:v.msgs.map(N=>n.fromAmino(N)),memo:l}},M=e.encode(S),F=ra.Int53.fromString(v.fee.gas).toNumber(),E=ra.Int53.fromString(v.sequence).toNumber(),$=ds.makeAuthInfoBytes([{pubkey:x,sequence:E}],v.fee.amount,F,v.fee.granter,v.fee.payer,y);return Nt.TxRaw.fromPartial({bodyBytes:M,authInfoBytes:$,signatures:[re.fromBase64(w.signature)]})}}function qn(){const e=X(),{signMessageAsync:n}=we.useSignMessage(),s=ie();return g.useMemo(()=>new xr(e,o=>n({message:o}),s.restUrl),[e,n,s.restUrl])}const Ds=new Map,Ps=new Map;function yr(){const e=Je();return async n=>{if(Ds.has(n))return Ds.get(n);const{rpcUrl:s}=e(n),o=await ia.Comet38Client.create(new ia.HttpClient(s));return Ds.set(n,o),o}}function Ao(){const e=Tn(),n=En(),s=qn(),o=X(),a=yr();return async r=>{const i=`${o}:${r}`;if(Ps.has(i))return Ps.get(i);if(!s)throw new Error("Signer not initialized");const c=await a(r),l=await Ve.SigningStargateClient.createWithSigner(c,s,{registry:e,aminoTypes:n,accountParser:kc,broadcastPollIntervalMs:500});return Ps.set(i,l),l}}function jr(){const{connector:e}=we.useAccount();return async()=>{if(!e)throw new Error("Wallet not connected");return new gt.BrowserProvider(await e.getProvider())}}function br(){const e=X(),n=Je();return{fetchFeegrant:async(a,r)=>{if(!e)return null;const i=n(a),c=V.create({prefixUrl:i.restUrl});try{const{allowance:l}=await c.get(`cosmos/feegrant/v1beta1/allowance/${e}/${r}`).json();return l}catch{return null}},fetchGrants:async(a,r)=>{if(!e)return[];const i=n(a),c=V.create({prefixUrl:i.restUrl}),{grants:l}=await c.get("cosmos/authz/v1beta1/grants",{searchParams:{granter:e,grantee:r}}).json();return l}}}function vr(){const{privyContext:e}=G(),n=Io();if(!(!e||!n))return e.wallets.find(s=>s.connectorType==="embedded")}function _s(){const e=vr();return e?.address?j.InitiaAddress(e.address).bech32:void 0}function wr(){const e=vr(),n=_s(),s=Tn(),o=Je(),a=gs();return async(r,i,c,l,d)=>{if(!e||!n)throw new Error("Embedded wallet not initialized");const u=[{typeUrl:"/cosmos.authz.v1beta1.MsgExec",value:xo.MsgExec.fromPartial({grantee:n,msgs:c.map(p=>({typeUrl:p.typeUrl,value:s.encode(p)}))})}],m={...l,granter:i},h=new xr(n,e.sign,o(r).restUrl);return await a(r,n,u,m,d,{customSigner:h})}}const Nn=ye.createQueryKeys("interwovenkit:autosign",{expirations:(e,n)=>[e,n],grants:(e,n)=>[e,n]});function xs(){const e=G(),n=Ot(),{enableAutoSign:s,defaultChainId:o}=e;if(!s)return{[o]:[]};if(typeof s!="boolean")return s;switch(n.metadata?.minitia?.type){case"minievm":return{[o]:["/minievm.evm.v1.MsgCall"]};case"miniwasm":return{[o]:["/cosmwasm.wasm.v1.MsgExecuteContract"]};default:return{[o]:["/initia.move.v1.MsgExecute"]}}}function Cr(){const{data:e}=So(),n=xs();return async(s,o)=>{const a=o.every(i=>{const c=n[s];return c?c.includes(i.typeUrl):!1}),r=e?.isEnabledByChain[s]??!1;return a&&r}}function So(){const e=X(),n=_s(),s=xs(),{fetchFeegrant:o,fetchGrants:a}=br();return T.useQuery({queryKey:Nn.expirations(e,n).queryKey,queryFn:async()=>{if(!e||!n)return{expiredAtByChain:{},isEnabledByChain:{}};const r={};for(const[c,l]of Object.entries(s))try{const d=await a(c,n);if(!l.every(x=>d.some(y=>y.authorization?.msg===x))){r[c]=null;continue}const m=await o(c,n);if(!m){r[c]=null;continue}const h=d.filter(x=>l.includes(x.authorization.msg)).map(x=>x.expiration),p=m.allowance.expiration,f=[...h,p],_=$o(f);r[c]=_?new Date(_):void 0}catch{r[c]=null}const i={};for(const[c,l]of Object.entries(r))switch(l){case null:i[c]=!1;break;case void 0:i[c]=!0;break;default:i[c]=Ze.isFuture(l);break}return{expiredAtByChain:r,isEnabledByChain:i}},staleTime:z.INFINITY,retry:!1})}function Tc(){const{data:e,refetch:n}=So();g.useEffect(()=>{if(!e)return;const s=new Date,o=Object.values(e.expiredAtByChain).filter(c=>c instanceof Date&&Ze.isFuture(c));if(o.length===0)return;const r=$o(o).getTime()-s.getTime();if(r<=0)return;const i=setTimeout(()=>{n()},r+100);return()=>clearTimeout(i)},[e,n])}function $o(e){return e.filter(n=>n!==void 0).toSorted((n,s)=>new Date(n).getTime()-new Date(s).getTime())[0]}const Nr=g.createContext(null),ys=()=>g.useContext(Nr);class kr extends Error{originalError;moduleAddress;moduleName;errorCode;errorCodeHex;isFromRegistry;constructor(n,s,o,a,r,i,c){super(n),this.name="MoveError",this.originalError=s,this.moduleAddress=o,this.moduleName=a,this.errorCode=r,this.errorCodeHex=i,this.isFromRegistry=c}}const Ec=/VM aborted: location=([0-9A-Fa-f]+)::(\w+), code=(\d+)/,Rs=new Map;function qc(e){const n=e.match(Ec);if(!n)return null;const[,s,o,a]=n;return{moduleAddress:`0x${s.replace(/^0+/,"")||"0"}`,moduleName:o,errorCode:a.replace(/^0+/,"")||"0"}}async function Lc(e,n,s){const o=`${e}:${n}`;if(Rs.has(o))return Rs.get(o);try{const a=n==="0x1"?"0x1.json":`${e}/${n}.json`,r=`${s}/errors/${a}`,{errors:i={}}=await V.get(r).json();return Rs.set(o,i),i}catch{return null}}function Mc(e,n,s,o,a,r,i){return new kr(e,n,s,o,a,r,i)}async function Zt(e,n,s){if(!n.metadata?.is_l1&&n.metadata?.minitia?.type!=="minimove")return await _t(e);const o=qc(e.message);if(!o)return await _t(e);const a=await Lc(n.chain_name,o.moduleAddress,s),r=`0x${parseInt(o.errorCode,10).toString(16)}`,i=`Failed with code ${r} in module ${o.moduleName} at ${o.moduleAddress}`,c=a?.[o.moduleName]?.[o.errorCode],l=c||i,d=!!c;return Mc(l,e,o.moduleAddress,o.moduleName,o.errorCode,r,d)}const Ir="approve",js=H.atom(),Ar=H.atom(null);function Sr(){const e=H.useAtomValue(js);if(!e)throw new Error("Tx request not found");return e}function bs(){const e=je(),n=X(),{defaultChainId:s,registryUrl:o}=G(),a=Je(),{openDrawer:r,closeDrawer:i}=lt(),{openModal:c,closeModal:l}=ys(),d=H.useSetAtom(js),u=H.useSetAtom(Ar),m=yr(),h=Ao(),p=qn(),f=Tn(),_=Cr(),x=wr(),y=gs(),b=async({messages:E,memo:$,chainId:N=s})=>{try{return await(await h(N)).simulate(n,E,$)}catch(R){throw await Zt(R,a(N),o)}},C=async({messages:E,memo:$,chainId:N=s})=>{const R=await m(N),P=Ve.QueryClient.withExtensions(R,Ve.setupTxExtension),q=E.map(ee=>f.encodeAsAny(ee)),[D]=await p.getAccounts(),W=wn.encodeSecp256k1Pubkey(D.pubkey),K=await h(N),{sequence:O}=await K.getSequence(n);return P.tx.simulate(q,$,W,O)},w=async({txRequest:E,broadcaster:$})=>{const R={...{memo:"",chainId:s,gas:E.gas||await b(E),gasAdjustment:on,gasPrices:null,spendCoins:[],internal:!1},...E};return new Promise((P,q)=>{d({txRequest:R,resolve:async W=>{try{const K=await h(R.chainId),O=await $(K,Nt.TxRaw.encode(W).finish());P(O),typeof R.internal=="string"&&e(R.internal)}catch(K){q(await Zt(K,a(R.chainId),o))}finally{D()}},reject:W=>{q(W),D()}}),R.internal?c({path:"/tx"}):r("/tx");const D=()=>{if(!R.internal){e("/blank"),i();return}l()}})},v=async E=>{const $=E.chainId??s;try{const N=await w({txRequest:E,broadcaster:async(R,P)=>await R.broadcastTxSync(P)});return E.internal&&typeof E.internal!="number"&&(u({txHash:N,chainId:$,status:"loading"}),F({txHash:N,chainId:E.chainId}).then(R=>{u({status:R.code===0?"success":"error",chainId:$,txHash:N})}).catch(()=>{u({status:"error",chainId:$,txHash:N})})),N}catch(N){throw E.internal&&typeof E.internal!="number"&&u({status:"error",chainId:$,error:N}),N}},k=(E,$=30*1e3,N=.5*1e3)=>w({txRequest:E,broadcaster:async(R,P)=>{const q=await R.broadcastTx(P,$,N);if(q.code!==0)throw new Error(q.rawLog);return q}}),S=async E=>{const $=E.chainId??s;try{const{messages:N,memo:R="",fee:P}=E,q=await h($),W=await _($,N)?await x($,n,N,P,R):await y($,n,N,P,R);return await q.broadcastTxSync(Nt.TxRaw.encode(W).finish())}catch(N){throw await Zt(N,a($),o)}},M=async(E,$=30*1e3,N=.5*1e3)=>{const R=E.chainId??s;try{const{messages:P,memo:q="",fee:D}=E,W=await h(R),O=await _(R,P)?await x(R,n,P,D,q):await y(R,n,P,D,q),ee=await W.broadcastTx(Nt.TxRaw.encode(O).finish(),$,N);if(ee.code!==0)throw new Error(ee.rawLog);return ee}catch(P){throw await Zt(P,a(R),o)}},F=async({chainId:E=s,...$})=>{try{const N=await h(E);return await $r({...$,client:N})}catch(N){throw await Zt(N,a(E),o)}};return{estimateGas:b,simulateTx:C,requestTxSync:v,requestTxBlock:k,submitTxSync:S,submitTxBlock:M,waitForTxConfirmation:F}}async function $r({txHash:e,client:n,timeoutMs:s=30*1e3,intervalMs:o=.5*1e3}){const a=Date.now();for(;;){const r=await n.getTx(e);if(r){if(r.code!==0)throw new Error(r.rawLog);return r}if(Date.now()-a>=s)throw new Error(`Transaction was submitted, but not found on the chain within ${s/1e3} seconds.`);await new Promise(i=>setTimeout(i,o))}}const Ln=H.atom(null);function Tr(){const e=X(),n=xs(),{fetchFeegrant:s,fetchGrants:o}=br();return async a=>{const{chainId:r,grantee:i}=a;if(!e)throw new Error("Granter wallet not initialized");const c=await s(r,i),l=await o(r,i),d=c?[{typeUrl:"/cosmos.feegrant.v1beta1.MsgRevokeAllowance",value:Qa.MsgRevokeAllowance.fromPartial({granter:e,grantee:i})}]:[],u=n[r].filter(m=>l.some(h=>h?.authorization?.msg===m)).map(m=>({typeUrl:"/cosmos.authz.v1beta1.MsgRevoke",value:xo.MsgRevoke.fromPartial({granter:e,grantee:i,msgTypeUrl:m})}));return[...d,...u]}}function Dc(){const{privyContext:e}=G(),n=X(),s=_s(),o=xs(),{requestTxBlock:a}=bs(),r=T.useQueryClient(),[i,c]=H.useAtom(Ln),{closeDrawer:l}=lt(),d=Tr(),u=async()=>{if(s)return s;if(!e)throw new Error("Privy context not available");const m=await e.createWallet({createAdditional:!1});return j.InitiaAddress(m.address).bech32};return T.useMutation({mutationFn:async m=>{if(!i)throw new Error("No pending request");const{chainId:h}=i,p=await u();if(!n||!p)throw new Error("Wallets not initialized");const f=await d({chainId:h,grantee:p}),_=m===0?void 0:Ze.addMilliseconds(new Date,m),x={typeUrl:"/cosmos.feegrant.v1beta1.MsgGrantAllowance",value:Qa.MsgGrantAllowance.fromPartial({granter:n,grantee:p,allowance:{typeUrl:"/cosmos.feegrant.v1beta1.BasicAllowance",value:la.BasicAllowance.encode(la.BasicAllowance.fromPartial({expiration:_})).finish()}})},y=o[h].map(C=>({typeUrl:"/cosmos.authz.v1beta1.MsgGrant",value:xo.MsgGrant.fromPartial({granter:n,grantee:p,grant:{authorization:{typeUrl:"/cosmos.authz.v1beta1.GenericAuthorization",value:ca.GenericAuthorization.encode(ca.GenericAuthorization.fromPartial({msg:C})).finish()},expiration:_}})})),b=[...f,x,...y];await a({messages:b,chainId:h,internal:!0})},onSuccess:async()=>{await r.invalidateQueries({queryKey:Nn.expirations._def}),i?.resolve()},onError:m=>{i?.reject(m)},onSettled:()=>{c(null),l()}})}function Er(e){const n=G(),s=_s(),o=e?.grantee||s,{requestTxBlock:a}=bs(),r=T.useQueryClient(),i=Tr();return T.useMutation({mutationFn:async(c=n.defaultChainId)=>{if(!o)throw new Error("Wallets not initialized");const l=await i({chainId:c,grantee:o});await a({messages:l,chainId:c,internal:e?.internal})},onSuccess:async()=>{const c=[Nn.expirations._def,Nn.grants._def];for(const l of c)await r.invalidateQueries({queryKey:l})}})}function Pc(){const{defaultChainId:e}=G(),{openDrawer:n}=lt(),s=H.useSetAtom(Ln),o=Er(),{data:a={expiredAtByChain:{},isEnabledByChain:{}},isLoading:r}=So();return{...a,isLoading:r,enable:async(l=e)=>new Promise((d,u)=>{s({chainId:l,resolve:d,reject:u}),n("/autosign/enable")}),disable:async(l=e)=>{await o.mutateAsync(l)}}}function qr(e){return e.assets.reduce((n,{value:s})=>n+(s??0),0)}function Rc(e){return e.assets.reduce((n,{quantity:s})=>n.plus(s),U(0)).toString()}function Bc(e,n){return{symbol:n?.symbol??e,logoUrl:n?.logoUrl??vo}}function pa(e){return A.pick(["chainId","name","logoUrl"],e)}function Uc(e){return A.sortWith([A.descend(({symbol:n})=>n===Qe),A.descend(qr),A.descend(({assets:n})=>n.length),A.ascend(({symbol:n})=>n)])(e)}function Fc(e){return A.sortWith([A.descend(({value:n})=>n??0),A.descend(({quantity:n})=>Number(n)),A.ascend(({chain:n})=>n.name)])(e)}function Oc(e,n){return A.sortWith([A.descend(({chain:s})=>s.chainId===n),A.ascend(({chain:s})=>s.name),A.ascend(({denom:s})=>s)])(e)}function Vc(e,n){return A.sortWith([A.descend(({chainId:s})=>s===n),A.descend(A.prop("value"))])(e)}function zc(e,n,s,o,a){const r=e.find(m=>m.metadata?.is_l1)?.chainId,i={};for(const m of e){const h=m.chainId,p=n[h]??[],f=s[h],_=o[h],x=[];for(const{amount:y,denom:b}of p){if(!U(y).gt(0))continue;const C=f?.find(M=>M.denom===b),w=_?.find(M=>M.id===b)?.price,v=C?.decimals??0,k=j.fromBaseUnit(y,{decimals:v}),S=w?U(k).times(w).toNumber():void 0;x.push({...Bc(b,C),amount:y,denom:b,decimals:v,quantity:k,price:w,value:S,address:C?.address,unlisted:!C,chain:pa(m)})}i[h]=x}const c=new Map;for(const[m,h]of Object.entries(i)){if(h.length===0)continue;const p=e.find(_=>_.chainId===m);if(!p)continue;const f=h.reduce((_,{value:x})=>_+(x??0),0);c.set(m,{...pa(p),value:f})}const l=new Map;for(const m of Object.values(i))for(const h of m)if(!h.unlisted){const{symbol:p}=h,f=l.get(p)??[];l.set(p,[...f,h])}const d=[];for(const[m,h]of l){const p=A.head(h);if(!p)continue;const f=Fc(h),_=f.reduce((y,{value:b})=>y+(b??0),0),x=f.reduce((y,{quantity:b})=>y.plus(b),U(0)).toNumber();d.push({symbol:m,logoUrl:p.logoUrl,assets:f,totalValue:_,totalAmount:x})}const u=[];for(const m of Object.values(i))for(const h of m)h.unlisted&&u.push(h);return{chainsByValue:Vc(Array.from(c.values()),a),assetGroups:Uc(d),unlistedAssets:Oc(u,r),totalValue:d.reduce((m,h)=>m+h.totalValue,0)}}function To(){const{defaultChainId:e}=G(),n=ue(),s=hc(),o=An(),a=bo(),r=n.map(h=>h.chainId),i=A.zipObj(r,s.map(A.prop("data"))),c=A.zipObj(r,o.map(A.prop("data"))),l=A.zipObj(r,a.map(A.prop("data"))),d=zc(n,i,c,l,e),u=[s,o,a].flat().some(({isLoading:h})=>h);return{...d,isLoading:u,refetch:()=>{s.forEach(({refetch:h})=>h()),o.forEach(({refetch:h})=>h()),a.forEach(({refetch:h})=>h())}}}function X(){const e=Vt();return e?j.InitiaAddress(e).bech32:""}function Vt(){const{address:e}=we.useAccount(),n=Io();return!e||!n?"":j.InitiaAddress(e).hex}function kt(){const e=Ot(),n=X(),s=Vt();return e.metadata?.minitia?.type==="minievm"?s:n}function Lr(){const e=kt(),n=rr();return T.useQuery({queryKey:ps.username(n.restUrl,e).queryKey,queryFn:()=>n.getUsername(e),enabled:!!e,staleTime:z.MINUTE})}function De(){const e=kt(),n=X(),s=Vt(),{data:o}=Lr(),a=qn(),r=ko(),i=Pc(),{isDrawerOpen:c,openDrawer:l}=lt(),{isModalOpen:d}=dn(),u=()=>{l("/")},m=()=>{l("/connect")},h=b=>{l("/bridge",b)},p=vc(),f=wc(),_=bs();return{address:e,initiaAddress:n,hexAddress:s,username:o,offlineSigner:a,isConnected:!!e,isOpen:c||d,openConnect:m,openWallet:u,openBridge:h,openDeposit:p,openWithdraw:f,disconnect:r,autoSign:i,..._}}const Kc="_status_tn9m1_1",Wc="_error_tn9m1_9",fa={status:Kc,error:Wc},he=({error:e,children:n})=>t.jsx("p",{className:L(fa.status,{[fa.error]:e}),children:n}),de=({errorBoundaryProps:e={fallbackRender:({error:o})=>t.jsx(he,{error:!0,children:o.message})},suspenseFallback:n=t.jsx(he,{children:"Loading..."}),children:s})=>t.jsx(Ga.ErrorBoundary,{...e,children:t.jsx(g.Suspense,{fallback:n,children:s})}),Hc="lock_staking";function Mr(e,n){const s=`${n}::lock_staking::StakingAccount`,o=j.createObjectAddress(e,s);return j.InitiaAddress(o).bech32}const Mn=ye.createQueryKeys("interwovenkit:initia-staking",{delegations:(e,n)=>[e,n],undelegations:(e,n,s)=>[e,n,s],lockStaking:(e,n,s)=>[e,n,s],stakingRewards:(e,n)=>[e,n],lockStakingRewards:(e,n,s)=>[e,n,s]});function Eo(){const{restUrl:e}=ie(),n=X();return T.useSuspenseQuery({queryKey:Mn.delegations(e,n||"").queryKey,queryFn:async()=>n?(await V.get(`${e}/initia/mstaking/v1/delegations/${n}`).json()).delegation_responses:[],select:s=>{const o=new Map;for(const a of s){const r=a.delegation.validator_address;for(const i of a.balance){const c=j.denomToMetadata(i.denom),l={denom:i.denom,metadata:c,amount:i.amount,validator:r},d=o.get(c)??[];d.push(l),o.set(c,d)}}return o},staleTime:z.MINUTE})}function qo(){const{restUrl:e}=ie(),{lockStakeModuleAddress:n}=G(),s=X(),o=s?Mr(s,n):"";return T.useSuspenseQuery({queryKey:Mn.undelegations(e,s||"",o).queryKey,queryFn:async()=>{if(!s)return[];const a=await V.get(`${e}/initia/mstaking/v1/delegators/${s}/unbonding_delegations`).json().catch(()=>({unbonding_responses:[]})),r=await V.get(`${e}/initia/mstaking/v1/delegators/${o}/unbonding_delegations`).json().catch(()=>({unbonding_responses:[]}));return[...a.unbonding_responses,...r.unbonding_responses]},select:a=>{const r=new Map;for(const i of a){const c=i.validator_address;for(const l of i.entries)for(const d of l.balance){const u=j.denomToMetadata(d.denom),m={denom:d.denom,metadata:u,amount:d.amount,validator:c,completionTime:l.completion_time},h=r.get(u)??[];h.push(m),r.set(u,h)}}return r},staleTime:z.MINUTE})}function Lo(){const{restUrl:e}=ie(),{lockStakeModuleAddress:n}=G(),s=X();return T.useSuspenseQuery({queryKey:Mn.lockStaking(e,s||"",n).queryKey,queryFn:async()=>{if(!s)return[];const{viewFunction:o}=j.createMoveClient(e);return await o({moduleAddress:n,moduleName:Hc,functionName:"get_locked_delegations",typeArgs:[],args:[re.toBase64(j.InitiaAddress(s,32).bytes)]})??[]},select:o=>{const a=new Map;for(const r of o){const i={metadata:r.metadata,amount:r.amount,validator:r.validator,releaseTime:r.release_time},c=a.get(r.metadata)??[];c.push(i),a.set(r.metadata,c)}return a},staleTime:z.MINUTE})}function Dr(e){const n=new Map;if(!e.total||!Array.isArray(e.total))return n;for(const s of e.total){if(!s?.denom||!s?.dec_coins)continue;const o=j.denomToMetadata(s.denom);let a=new U(0);for(const i of s.dec_coins)i?.amount&&(a=a.plus(i.amount));const r=n.get(o);if(r){const i=new U(r.amount);a=a.plus(i)}n.set(o,{denom:s.denom,amount:a.toString()})}return n}function Pr(){const{restUrl:e}=ie(),n=X();return T.useSuspenseQuery({queryKey:Mn.stakingRewards(e,n||"").queryKey,queryFn:async()=>n?await V.get(`${e}/initia/distribution/v1/delegators/${n}/rewards`).json():{rewards:[],total:[]},select:Dr,staleTime:z.MINUTE})}function Rr(){const{restUrl:e}=ie(),{lockStakeModuleAddress:n}=G(),s=X(),o=s?Mr(s,n):"";return T.useSuspenseQuery({queryKey:Mn.lockStakingRewards(e,s??"",o).queryKey,queryFn:async()=>s?await V.get(`${e}/initia/distribution/v1/delegators/${o}/rewards`).json():{rewards:[],total:[]},select:Dr,staleTime:z.MINUTE})}function Mo(){const e=ie(),n=xt(e),{data:s,isLoading:o}=yt(e),{data:a}=Eo(),{data:r}=qo(),{data:i}=Lo(),c=g.useMemo(()=>{const p=new Set;for(const f of a.keys())p.add(f);for(const f of i.keys())p.add(f);for(const f of r.keys())p.add(f);return Array.from(p)},[a,i,r]),l=wo(c),d=g.useMemo(()=>{const p=new Map;if(s)for(const f of s)p.set(f.id,f.price);return p},[s]),u=g.useMemo(()=>{const p=new Map;for(const f of n)p.set(f.denom,f);return p},[n]),m=g.useMemo(()=>{const p=[],f=_=>{const x=u.get(_);return x?{symbol:x.symbol,decimals:x.decimals}:null};for(const[_,x]of a){const y=l.get(_)??x[0]?.denom;if(!y)continue;const b=f(y);if(!b)continue;const C=d.get(y)??0;for(const w of x){const{symbol:v,decimals:k}=b,S=Number(j.fromBaseUnit(w.amount,{decimals:k})),M={type:"asset",denom:y,symbol:v,amount:w.amount,formattedAmount:S,decimals:k,value:S*C};p.push({type:"staking",validator:w.validator,balance:M})}}for(const[_,x]of i){const y=l.get(_);if(!y)continue;const b=f(y);if(!b)continue;const C=d.get(y)??0;for(const w of x){const{symbol:v,decimals:k}=b,S=Number(j.fromBaseUnit(w.amount,{decimals:k})),M={type:"asset",denom:y,symbol:v,amount:w.amount,formattedAmount:S,decimals:k,value:S*C},F=Number(w.releaseTime);p.push({type:"lockstaking",validator:w.validator,releaseTime:Number.isNaN(F)?0:F,balance:M})}}for(const[_,x]of r){const y=l.get(_)??x[0]?.denom;if(!y)continue;const b=f(y);if(!b)continue;const C=d.get(y)??0;for(const w of x){const{symbol:v,decimals:k}=b,S=Number(j.fromBaseUnit(w.amount,{decimals:k})),M={type:"asset",denom:y,symbol:v,amount:w.amount,formattedAmount:S,decimals:k,value:S*C},F=new Date(w.completionTime).getTime(),E=Number.isNaN(F)?0:Math.floor(F/1e3);p.push({type:"unstaking",validator:w.validator,completionTime:E,balance:M})}}return p.filter(_=>_.type!=="fungible-position"&&_.balance.denom===ke)},[a,i,r,l,u,d]),h=g.useMemo(()=>m.reduce((p,f)=>f.type==="fungible-position"||f.balance.type==="unknown"?p:p+(f.balance.value??0),0),[m]);return{positions:m,totalValue:h,isLoading:o}}const Do=ye.createQueryKeys("interwovenkit:initia-liquidity",{checkLpTokens:(e,n)=>[e,n],lpPrices:(e,n)=>[e,n],pool:(e,n)=>[e,n]});function Qc(e){const n=new Map;for(const s of e){const o=j.denomToMetadata(s.denom),a={...s,metadata:o},r=n.get(o)??[];r.push(a),n.set(o,r)}return n}function Gc(e){const{dexUrl:n}=G();return T.useSuspenseQuery({queryKey:Do.checkLpTokens(n,e).queryKey,queryFn:async()=>{if(e.length===0)return new Map;const s=await V.post(`${n}/indexer/dex/v1/check_lp_tokens`,{json:{denoms:e}}).json();return new Map(Object.entries(s.data))},staleTime:z.MINUTE})}function Br(){const e=ie(),n=Sn(e),s=g.useMemo(()=>n.map(a=>a.denom),[n]),{data:o}=Gc(s);return g.useMemo(()=>{const a=n.filter(r=>o.get(r.denom)===!0);return Qc(a)},[n,o])}function Ur(e){const{dexUrl:n}=G();return T.useSuspenseQuery({queryKey:Do.lpPrices(n,e).queryKey,queryFn:async()=>{if(e.length===0)return new Map;const s=await V.get(`${n}/indexer/price/v1/lp_prices/${encodeURIComponent(e.join(","))}`).json(),{prices:o}=s;return Array.isArray(o)?new Map(o.map(({denom:a,price:r})=>[a,r])):new Map(Object.entries(o))},staleTime:z.MINUTE})}function Yc(e){const{dexUrl:n}=G(),s=ie(),o=xt(s),a=g.useMemo(()=>{const c=new Map;for(const l of o)c.set(l.denom,l);return c},[o]),i=T.useSuspenseQueries({queries:e.map(c=>({queryKey:Do.pool(n,c).queryKey,queryFn:async()=>{try{const l=j.denomToMetadata(c);return(await V.get(`${n}/indexer/dex/v2/pools/${encodeURIComponent(l)}`).json()).pool}catch{return null}},staleTime:z.MINUTE}))}).map(c=>c.data);return g.useMemo(()=>{const c=new Map;return e.forEach((l,d)=>{const u=i[d];if(!u){c.set(l,null);return}if(l===xc){c.set(l,{...u,symbol:yc});return}const m=u.coins.map(h=>a.get(h.denom)?.symbol||h.denom).join("-");c.set(l,{...u,symbol:m})}),c},[e,i,a])}function Zc(e,n,s,o){const a=new Set;for(const r of e.keys())a.add(r);for(const[r,i]of n){const c=i[0]?.denom;c&&c!==ke&&a.add(r)}for(const r of s.keys())a.add(r);for(const[r,i]of o){const c=i[0]?.denom;c&&c!==ke&&a.add(r)}return Array.from(a)}function Jc(e){const n=[];for(const[,s]of e)s&&s!==ke&&n.push(s);return n}function Xc(e,n){return!e?.coins||e.coins.length===0?[]:e.coins.map(s=>n.get(s.denom)?.logoUrl||"")}function el(e,n,s){const o=n.get(e)??null,a=o?.symbol||e,r=Xc(o,s),i=r.length>0&&r.some(l=>l),c=i?void 0:s.get(e)?.logoUrl;return{denom:e,symbol:a,totalAmount:0,totalValue:0,decimals:s.get(e)?.decimals??6,poolType:o?.pool_type,logoUrl:c,coinLogos:i?r:void 0,breakdown:{deposit:0,staking:0,lockStaking:0,unstaking:0}}}function Bs(e,n,s,o,a){for(const[r,i]of e){const c=n.get(r)??i[0]?.denom;if(!c||c===ke)continue;const l=o.get(c);if(l)for(const d of i){const u=String(d.amount),m=l.decimals,h=Number(j.fromBaseUnit(u,{decimals:m})),p=s.get(c)??0,f=h*p;l.breakdown[a]+=h,l.totalAmount+=h,l.totalValue+=f}}}function tl(e,n,s,o,a){for(const[r,i]of e){const c=n.get(r);if(!c||c===ke)continue;const l=o.get(c);if(l)for(const d of i){const u=String(d.amount),m=l.decimals,h=Number(j.fromBaseUnit(u,{decimals:m})),p=s.get(c)??0,f=h*p;l.breakdown[a]+=h,l.totalAmount+=h,l.totalValue+=f}}}function nl(e,n,s,o){for(const[a,r]of e){const i=j.denomToMetadata(a),c=n?.get(i),l=c?j.fromBaseUnit(c.amount,{decimals:Me}):"0",d=s?.get(i),u=d?j.fromBaseUnit(d.amount,{decimals:Me}):"0",m=Number(l)+Number(u);m>0&&(r.claimableInit={staking:l,lockStaking:u,total:String(m),totalValue:m*o})}}function Po(){const e=ie(),n=xt(e),s=Br(),{data:o}=Eo(),{data:a}=Lo(),{data:r}=qo(),{data:i}=Pr(),{data:c}=Rr(),{data:l}=yt(e),d=g.useMemo(()=>{const y=new Map;for(const b of n)y.set(b.denom,b);return y},[n]),u=g.useMemo(()=>Zc(s,o,a,r),[s,o,a,r]),m=wo(u),h=g.useMemo(()=>Jc(m),[m]),{data:p}=Ur(h),f=Yc(h),{rows:_,totalValue:x}=g.useMemo(()=>{const y=l?.find(v=>v.id===ke)?.price??0,b=new Map;for(const v of h)b.set(v,el(v,f,d));Bs(s,m,p,b,"deposit"),Bs(o,m,p,b,"staking"),tl(a,m,p,b,"lockStaking"),Bs(r,m,p,b,"unstaking"),nl(b,i,c,y);const C=Array.from(b.values()).filter(v=>v.totalAmount>0).sort((v,k)=>k.totalValue-v.totalValue),w=C.reduce((v,k)=>v+k.totalValue,0);return{rows:C,totalValue:w}},[h,f,d,s,o,a,r,m,p,i,c,l]);return{totalValue:x,rows:_}}const sl=ye.createQueryKeys("interwovenkit:initia-vip",{allVestingPositions:(e,n)=>[e,n]});function ol(e){return e.filter(n=>n.data.length>0).map(n=>{const s=n.data[0].bridge_id,o=n.data[0].version,a=n.data.reduce((r,i)=>r+i.claimed_reward,0);return{claimableReward:n.total_claimable_reward,claimedReward:a,initialReward:n.total_vesting_reward,lockedReward:n.total_locked_reward,requiredScore:n.required_score,rollup:{bridgeId:s,version:o}}}).filter(n=>n.initialReward>0).toSorted((n,s)=>s.initialReward-n.initialReward)}function Fr(){const{vipUrl:e}=G(),n=X();return T.useQuery({queryKey:sl.allVestingPositions(e,n).queryKey,queryFn:async()=>(await V.get(`${e}/vesting/positions/${n}`).json()).filter(({total_vesting_reward:o})=>o>0),staleTime:z.MINUTE,enabled:!!n})}function al(){const e=ue();return g.useCallback(n=>e.find(({metadata:s})=>s?.op_bridge_id===String(n)),[e])}function Ro(){const{data:e}=Fr(),n=ie(),{data:s}=yt(n),o=al(),a=g.useMemo(()=>s?.find(l=>l.id===ke)?.price??0,[s]),r=g.useMemo(()=>e?ol(e).map(l=>{const d=o(l.rollup.bridgeId),u=Number(j.fromBaseUnit(String(l.lockedReward),{decimals:Me})),m=Number(j.fromBaseUnit(String(l.claimableReward),{decimals:Me})),h=U(j.fromBaseUnit(String(l.lockedReward),{decimals:Me})).times(a).toNumber(),p=U(j.fromBaseUnit(String(l.claimableReward),{decimals:Me})).times(a).toNumber();return{bridgeId:l.rollup.bridgeId,version:l.rollup.version,name:d?.name??"",logoUrl:d?.logoUrl,lockedReward:u,lockedRewardValue:h,claimableReward:m,claimableRewardValue:p}}):[],[e,a,o]),i=g.useMemo(()=>r.reduce((c,l)=>c+l.lockedRewardValue+l.claimableRewardValue,0),[r]);return{rows:r,totalValue:i}}function Or(){const e=Br(),{data:n}=Eo(),{data:s}=Lo(),{data:o}=qo(),{data:a}=Fr(),r=ie(),{data:i}=yt(r),c=g.useMemo(()=>i?.find(_=>_.id===ke)?.price??0,[i]),l=g.useMemo(()=>{const f=new Set;for(const[_]of e)f.add(_);for(const[_]of n)f.add(_);for(const[_]of s)f.add(_);for(const[_]of o)f.add(_);return Array.from(f)},[e,n,s,o]),d=wo(l),u=g.useMemo(()=>Array.from(d.values()).filter(f=>f!==ke),[d]),{data:m}=Ur(u),h=xt(r),p=g.useMemo(()=>{const f=new Map;for(const _ of h)f.set(_.denom,{decimals:_.decimals});return f},[h]);return g.useMemo(()=>{let f=0,_=0;const x=c??0,y=(C,w)=>{const v=d.get(C)??C;if(v===ke)return 0;const k=p.get(v)?.decimals??Me;return Number(j.fromBaseUnit(w,{decimals:k}))*(m.get(v)??0)};for(const[,C]of n)for(const{denom:w,metadata:v,amount:k}of C)w===ke?f+=Number(j.fromBaseUnit(k,{decimals:Me}))*x:_+=y(v,k);for(const[C,w]of s){const k=(d.get(C)??C)===ke;for(const{amount:S}of w)k?f+=Number(j.fromBaseUnit(S,{decimals:Me}))*x:_+=y(C,S)}for(const[,C]of o)for(const{denom:w,metadata:v,amount:k}of C)w===ke?f+=Number(j.fromBaseUnit(k,{decimals:Me}))*x:_+=y(v,k);for(const[C,w]of e)for(const{amount:v}of w)_+=y(C,String(v));let b=0;if(a)for(const C of a){const w=C.total_locked_reward??0,v=C.total_claimable_reward??0;b+=Number(j.fromBaseUnit(String(w+v),{decimals:Me}))*x}return f+_+b},[n,s,o,e,a,c,d,m,p])}function rl(){const e=["initia-wallet-widget:last-connected-wallet","initia-wallet-widget:fee-denoms","initia-wallet-widget:chain-ids","initia-wallet-widget:opened-layers-assets","initia-wallet-widget:opened-layers-nft"],n={"initia-wallet-widget:ethereum-public-keys":{prefix:oe.PUBLIC_KEY,getSuffix:s=>j.InitiaAddress(s).bech32}};for(const s of e)localStorage.removeItem(s);for(const[s,{prefix:o,getSuffix:a}]of Object.entries(n)){const r=localStorage.getItem(s);if(r)try{const i=JSON.parse(r);for(const[c,l]of Object.entries(i)){const d=`${o}:${a(c)}`;localStorage.setItem(d,l)}localStorage.removeItem(s)}catch{}}}const il=1e3,cl=1e4,io=ye.createQueryKeys("interwovenkit:minity",{supportedChains:e=>[e],prices:e=>[e],ssePortfolio:(e,n)=>[e,n],balances:(e,n,s)=>[e,n,s],initiaPositions:(e,n)=>[e,"initia",n],echelonPositions:(e,n)=>[e,"echelon",n],inertiaPositions:(e,n)=>[e,"inertia",n],ravePositions:(e,n,s)=>[e,"rave",n,s],civitiaPositions:(e,n)=>[e,"civitia",n],yominetPositions:(e,n)=>[e,"yominet",n],chainPositions:(e,n,s)=>[e,n,s]});function Bo(e){const n=new Map,s=new Map;for(const o of e){const a=o.data;if(a){for(const r of a)if(r.logoUrl&&!r.logoUrl.includes("undefined")){n.has(r.denom)||n.set(r.denom,r.logoUrl);const i=r.symbol.toUpperCase();s.has(i)||s.set(i,r.logoUrl)}}}return{denomLogos:n,symbolLogos:s}}function an(e){if(e.type==="fungible-position")return e.value??0;if(e.balance.type==="unknown")return 0;const n=e.balance.value??0;return e.type==="lending"&&e.direction==="borrow"?-n:n}function ll(e){return e.type==="fungible-position"?null:e.type==="staking"||e.type==="unstaking"||e.type==="lockstaking"?"staking":e.type==="lending"?e.direction==="supply"?"lending":"borrowing":null}function dl(e,n=!1){switch(e){case"staking":return n?"INIT staking":"Staking";case"borrowing":return"Borrowing";case"lending":return"Lending";default:return e.charAt(0).toUpperCase()+e.slice(1)}}function ul(e){const n=new Map;for(const d of e){const u=ll(d);if(!u)continue;const m=n.get(u)??[];m.push(d),n.set(u,m)}const s=new Map,o=new Map;for(const[d,u]of n){const m=u.reduce((p,f)=>p+an(f),0),h=u.reduce((p,f)=>p+Math.abs(an(f)),0);s.set(d,m),o.set(d,h)}const a=o.get("lending")??0,r=o.get("borrowing")??0,i=a+r,c=[...n.keys()].sort((d,u)=>{const m=d==="lending"||d==="borrowing"?i:o.get(d)??0,h=u==="lending"||u==="borrowing"?i:o.get(u)??0;return(d==="lending"||d==="borrowing")&&(u==="lending"||u==="borrowing")?d==="lending"?-1:1:h-m}),l=new Map;for(const d of c)l.set(d,{positions:n.get(d),totalValue:s.get(d)??0});return l}function ml(e){return e.type==="fungible-position"?e.title:e.balance.denom}function hl(e){return e.type==="fungible-position"?e.title:e.balance.type==="unknown"?e.balance.denom:e.balance.symbol}function pl(e){return e.type==="fungible-position"?null:e.balance}function fl(e){switch(e){case"staking":return"Staking";case"unstaking":return"Unstaking";case"lockstaking":return"Lock staking";case"lending":return"Lending";case"fungible-position":return"Position";default:return""}}function gl(e){const n=new Map;for(const s of e){const o=n.get(s.type)??[];o.push(s),n.set(s.type,o)}return n}function _l(e,n){return e.symbol===Qe&&n.symbol===Qe?0:e.symbol===Qe?-1:n.symbol===Qe?1:n.totalValue!==e.totalValue?n.totalValue-e.totalValue:e.symbol.localeCompare(n.symbol,void 0,{sensitivity:"base"})}function xl(e){const n=new Map;for(const o of e){const a=ml(o),r=n.get(a)??[];r.push(o),n.set(a,r)}return Array.from(n.entries()).map(([o,a])=>{const r=pl(a[0]);let i=0;for(const c of a)c.type!=="fungible-position"&&c.balance.type!=="unknown"&&(i+=c.balance.formattedAmount);return{denom:o,symbol:hl(a[0]),positions:a,totalValue:a.reduce((c,l)=>c+an(l),0),totalAmount:i,balance:r}}).toSorted(_l)}function Vr(e,n){const s=new Map;return e.forEach((o,a)=>{const r=n[a]?.data;if(r&&r.length>0){const i=new Map(r.map(c=>[c.id,c.price]));s.set(o.chainId,i)}}),s}function yl(e,n){return e.map(s=>({...s,balances:s.balances.map(o=>{if(o.type==="unknown"||o.value!=null&&o.value>0)return o;const a=n.get(s.chainId);if(a){const r=a.get(o.denom)??0;if(r>0)return{...o,value:o.formattedAmount*r}}return o})}))}function jl(e,n){return e.symbol===Qe&&n.symbol===Qe?0:e.symbol===Qe?-1:n.symbol===Qe?1:n.totalValue!==e.totalValue?n.totalValue-e.totalValue:e.symbol.localeCompare(n.symbol,void 0,{sensitivity:"base"})}function bl(e,n,s){return e.map(o=>{const a=o.assets.map(i=>{const c=i.symbol.toUpperCase(),l=n.get(i.denom)??s.get(c)??"";return l!==i.logoUrl?{...i,logoUrl:l}:i});let r="";for(const i of a)if(i.logoUrl){r=i.logoUrl;break}return r||(r=s.get(o.symbol.toUpperCase())??""),r!==o.logoUrl||a!==o.assets?{...o,logoUrl:r,assets:a}:o})}function vl(e,n,s){const o=n?e.filter(i=>{const{symbol:c,assets:l}=i,d=n.toLowerCase();return c.toLowerCase().includes(d)||l.some(({denom:u})=>u.toLowerCase().includes(d))}):e,a=s?o.map(i=>{const c=i.assets.filter(({chain:l})=>l.chainId===s);return{...i,assets:c,totalValue:c.reduce((l,d)=>l+(d.value??0),0),totalAmount:c.reduce((l,d)=>l+Number(d.quantity),0)}}).filter(i=>i.assets.length>0):o,r=a.reduce((i,c)=>i+c.assets.reduce((l,d)=>l+(d.value??0),0),0);return{filteredAssets:a,totalAssetsValue:r}}function wl(e,n,s){const o=n?e.filter(({denom:a,address:r})=>{const i=n.toLowerCase();return a.toLowerCase().includes(i)||r?.toLowerCase().includes(i)}):e;return s?o.filter(({chain:a})=>a.chainId===s):o}function Cl(e,n,s,o){const{filteredAssets:a,totalAssetsValue:r}=vl(e,s,o),i=wl(n,s,o);return{filteredAssets:a,totalAssetsValue:r,filteredUnlistedAssets:i}}function Nl(e,n,s,o){if(!Array.isArray(e))return{listedGroups:[],unlistedAssets:[]};const a=new Map,r=[];for(const c of e){const{chainName:l,chainId:d,balances:u}=c;if(!Array.isArray(u))continue;const m=n.get(l.toLowerCase()),h=m?.chainId??d??l,p=m?.prettyName??l,f=m?.logoUrl??"",_=s.get(h);for(const x of u){if(x.type==="unknown"){if(!x.amount||x.amount==="0")continue;r.push({symbol:x.denom,logoUrl:"",denom:x.denom,amount:x.amount,decimals:0,quantity:x.amount,value:void 0,unlisted:!0,chain:{chainId:h,name:p,logoUrl:f}});continue}if(x.type==="lp"||(x.value??0)<=0&&(x.formattedAmount??0)<=0)continue;let y=x.value;if((y==null||y<=0)&&_){const w=_.get(x.denom)??0;w>0&&(y=x.formattedAmount*w)}const b={symbol:x.symbol,logoUrl:"",denom:x.denom,amount:x.amount,decimals:x.decimals,quantity:String(x.formattedAmount),value:y,chain:{chainId:h,name:p,logoUrl:f}},C=a.get(x.symbol);C?C.push(b):a.set(x.symbol,[b])}}r.sort((c,l)=>{const d=c.chain.chainId===o,u=l.chain.chainId===o;if(d&&!u)return-1;if(!d&&u)return 1;const m=c.chain.name.localeCompare(l.chain.name);if(m!==0)return m;try{const h=BigInt(c.amount),p=BigInt(l.amount);if(h>p)return-1;if(h<p)return 1}catch{const h=c.amount.localeCompare(l.amount);if(h!==0)return-h}return c.denom.localeCompare(l.denom)});const i=[];for(const[c,l]of a){l.sort((m,h)=>(h.value??0)-(m.value??0));let d=0,u=0;for(const m of l)d+=m.value??0,u+=Number(m.quantity);i.push({symbol:c,logoUrl:"",assets:l,totalValue:d,totalAmount:u})}return i.sort(jl),{listedGroups:i,unlistedAssets:r}}function Uo(){return ie().network_type==="testnet"}function It(){return pe.useFormContext()}function kl(){const e=Ke(),n=Uo(),s={quantity:"",slippagePercent:"0.5",sender:"",cosmosWalletName:"",recipient:""},o={...s,srcChainId:"initiation-2",srcDenom:"uusdc",dstChainId:"initiation-2",dstDenom:"uinit"},a={...s,srcChainId:"interwoven-1",srcDenom:"ibc/6490A7EAB61059BFC1CDDEB05917DD70BDF3A611654162A1A47DB930D40D8AF4",dstChainId:"interwoven-1",dstDenom:"uinit"},r=A.pickBy(i=>i!==null,{srcChainId:localStorage.getItem(oe.BRIDGE_SRC_CHAIN_ID),srcDenom:localStorage.getItem(oe.BRIDGE_SRC_DENOM),dstChainId:localStorage.getItem(oe.BRIDGE_DST_CHAIN_ID),dstDenom:localStorage.getItem(oe.BRIDGE_DST_DENOM),quantity:localStorage.getItem(oe.BRIDGE_QUANTITY),slippagePercent:localStorage.getItem(oe.BRIDGE_SLIPPAGE_PERCENT)});return{...n?o:a,...r,...e}}const Il={balances:[],positions:[],isLoading:!0,isComplete:!1};function Al(){const e=T.useQueryClient(),n=X(),{minityUrl:s}=G(),o=Uo(),a=g.useEffectEvent((c,l)=>{const d=Array.isArray(c.balances)?c.balances:[];l.set(c.chain,{chainName:c.chain,chainId:c.chainId,balances:d})}),r=g.useEffectEvent((c,l)=>{const d=Array.isArray(c.positions)?c.positions:[];l.set(c.chain,{chainName:c.chain,chainId:c.chainId,positions:d})}),i=g.useEffectEvent((c,l)=>{const d=io.ssePortfolio(n??"",s).queryKey,u=e.getQueryData(d)??Il,m=c.size>0||l.size>0;e.setQueryData(d,{...u,balances:Array.from(c.values()),positions:Array.from(l.values()),isLoading:m?!1:u.isLoading,isComplete:!1})});g.useEffect(()=>{if(!n||o)return;const c=io.ssePortfolio(n,s).queryKey,l=e.getQueryData(c),d=new Map,u=new Map;for(const v of l?.balances??[])d.set(v.chainName,v);for(const v of l?.positions??[])u.set(v.chainName,v);const h=`${s}/v1/chain/all/${encodeURIComponent(n)}`;let p=null,f=null,_=0,x=!1;const y=()=>{const v=e.getQueryData(c);e.setQueryData(c,{balances:v?.balances??[],positions:v?.positions??[],isLoading:!0,isComplete:!1})},b=()=>{x=!0,f&&(clearTimeout(f),f=null),p&&(p.close(),p=null)},C=()=>{if(x||f)return;y();const v=Math.min(cl,il*2**_);_+=1,f=setTimeout(()=>{f=null,w()},v)},w=()=>{x||(y(),p&&p.close(),p=new EventSource(h),p.onopen=()=>{_=0},p.onmessage=v=>{if(!x)try{const k=JSON.parse(v.data);k.type==="balances"?a(k,d):k.type==="positions"&&r(k,u),i(d,u)}catch{C()}},p.onerror=()=>{C()})};return w(),()=>{b()}},[n,o])}const ga={balances:[],positions:[],isLoading:!0,isComplete:!1};function Dn(){const e=X(),{minityUrl:n}=G(),s=io.ssePortfolio(e??"",n).queryKey,{data:o}=T.useQuery({queryKey:s,queryFn:()=>ga,enabled:!!e,staleTime:z.MINUTE,refetchOnMount:!1,refetchOnWindowFocus:!1,refetchOnReconnect:!1});return o??ga}function Sl(){const e=ue();return g.useMemo(()=>{const n=new Map;for(const s of e){const o=s.chain_name.toLowerCase();n.set(o,{chainId:s.chainId,chainName:s.chain_name,prettyName:s.name||s.chain_name,logoUrl:s.logoUrl||""})}return n},[e])}function $l(){const{balances:e,positions:n}=Dn(),s=ue(),o=g.useMemo(()=>{const r=new Map;for(const i of s)r.set(i.chain_name.toLowerCase(),i);return r},[s]);return g.useMemo(()=>{const r=p=>p.type==="unknown"?0:p.value??0,i=p=>p.positions.reduce((f,_)=>{if(_.type==="fungible-position")return f+(_.value??0);if(_.balance.type==="unknown")return f;const x=_.balance.value??0;return _.type==="lending"&&_.direction==="borrow"?f-x:f+x},0),c=new Map,l=Array.isArray(e)?e:[],d=Array.isArray(n)?n:[];for(const{chainName:p,balances:f}of l){if(!Array.isArray(f))continue;const _=f.reduce((x,y)=>x+r(y),0);c.set(p,(c.get(p)||0)+_)}for(const{chainName:p,positions:f}of d){if(!Array.isArray(f))continue;const _=f.reduce((x,y)=>x+i(y),0);c.set(p,(c.get(p)||0)+_)}const u=Array.from(c.values()).reduce((p,f)=>p+f,0),m=Array.from(c.entries()).filter(([,p])=>p>0).map(([p,f])=>{const _=o.get(p.toLowerCase());return{chainId:_?.chainId||"",chainName:_?.name||p,logoUrl:_?.logoUrl||"",totalBalance:f,percentage:u>0?f/u:0}}).filter(p=>p.chainId!==""),h=p=>p.chainName.toLowerCase()==="initia";return A.sortWith([A.descend(h),A.descend(A.prop("totalBalance"))],m)},[e,n,o])}function Tl(){const{balances:e}=Dn(),n=ue(),s=bo(),o=g.useMemo(()=>Vr(n,s),[n,s]);return g.useMemo(()=>{const a=l=>l.type==="unknown"?0:l.value??0;let r=0;const i=Array.isArray(e)?e:[],c=yl(i,o);for(const{balances:l}of c)if(Array.isArray(l))for(const d of l)d.type!=="lp"&&(r+=a(d));return r},[e,o])}function El(){const{positions:e}=Dn();return g.useMemo(()=>{const n=r=>r.positions.reduce((i,c)=>{if(c.type==="fungible-position")return i+(c.value??0);if(c.balance.type==="unknown")return i;const l=c.balance.value??0;return c.type==="lending"&&c.direction==="borrow"?i-l:i+l},0),s=["initia","civitia","yominet"];let o=0;const a=Array.isArray(e)?e:[];for(const{chainName:r,positions:i}of a){const c=r.toLowerCase();s.includes(c)||Array.isArray(i)&&(o+=i.reduce((l,d)=>l+n(d),0))}return o},[e])}const qe=ye.createQueryKeys("interwovenkit:skip",{chains:null,allAssets:()=>["allAssets"],assets:e=>[e],asset:(e,n)=>[e,n],allBalances:(e,n)=>[e,n],balances:(e,n)=>[e,n],route:(e,n)=>[e,n],routeErrorInfo:e=>[e],txTrack:(e,n)=>[e,n],txStatus:(e,n)=>[e,n]});function tt(){const{routerApiUrl:e}=G();return g.useMemo(()=>V.create({prefixUrl:e}),[e])}function zr(){const e=ue();return n=>e.some(s=>s.chain_id===n)}function Pn(){const e=zr();return n=>e(n.chain_id)?"initia":n.chain_type}function kn(e){return Pn()(e)}function Rn(){const e=tt(),{data:n}=T.useSuspenseQuery({queryKey:qe.chains.queryKey,queryFn:()=>e.get("v2/info/chains").json(),select:({chains:s})=>A.sortWith([A.descend(({chain_name:o})=>o==="initia"),A.ascend(({pretty_name:o})=>o)],s),staleTime:z.MINUTE});return n}function dt(){const e=Rn(),n=er();return s=>{const o=e.find(r=>r.chain_id===s);if(o)return o;const a=n.find(r=>r.chain_id===s);if(!a)throw new Error(`Chain not found: ${s}`);return{chain_id:a.chain_id,chain_name:a.name,pretty_name:a.pretty_name,logo_uri:a.logo,chain_type:"cosmos",rpc:"",rest:""}}}function rt(e){return dt()(e)}function zt(){const e=tt(),n=Rn(),s=T.useQueryClient(),{data:o}=T.useSuspenseQuery({queryKey:qe.allAssets().queryKey,queryFn:()=>e.get("v2/fungible/assets").json(),select:({chain_to_assets_map:a})=>{const r=[];for(const i in a){if(!n.find(l=>l.chain_id===i))continue;const{assets:c}=a[i]??{assets:[]};s.setQueryData(qe.assets(i).queryKey,{chain_to_assets_map:a}),r.push(...c);for(const l of c)s.setQueryData(qe.asset(i,l.denom).queryKey,l)}return r},staleTime:z.MINUTE});return o}function os(e){const n=tt(),s=T.useQueryClient(),{data:o}=T.useSuspenseQuery({queryKey:qe.assets(e).queryKey,queryFn:()=>n.get("v2/fungible/assets",{searchParams:{chain_ids:e}}).json(),select:({chain_to_assets_map:a})=>{const{assets:r}=a[e]??{assets:[]};for(const i of r)s.setQueryData(qe.asset(e,i.denom).queryKey,i);return r.toSorted(A.descend(i=>i.symbol==="INIT"))},staleTime:z.MINUTE});return o}function Kr(e){const n=os(e);return s=>{const o=n.find(a=>a.denom===s);if(!o)throw new Error(`Asset not found: ${s}`);return o}}function it(e,n){return Kr(n)(e)}const ql=()=>(gc(),_c(),null),Ll="_loader_1vxch_1",Ml={loader:Ll},Kt=({size:e=24,color:n="currentColor",border:s=2})=>{const o={width:`${e}px`,height:`${e}px`,borderColor:`${n} ${n} transparent ${n}`,borderWidth:`${s}px`};return t.jsx("div",{className:Ml.loader,style:o})},Dl="_button_1q027_1",Pl="_outline_1q027_28",Rl="_sm_1q027_46",Bl="_full_1q027_53",Ul="_small_1q027_57",Fl="_unpadded_1q027_88",Pt={button:Dl,outline:Pl,sm:Rl,full:Bl,small:Ul,unpadded:Fl},Wr=e=>{const{sm:n,fullWidth:s,loading:o,className:a,children:r,disabled:i,...c}=e;return t.jsx("button",{...c,className:L(Pt.button,{[Pt.sm]:n,[Pt.full]:s},a),disabled:!!o||i,children:o?t.jsxs(t.Fragment,{children:[t.jsx(Kt,{color:"currentColor",size:16}),typeof o=="string"&&t.jsx("span",{className:Pt.loading,children:o})]}):r})},Ol=({className:e,...n})=>t.jsx(Wr,{...n,className:L(Pt.outline,e)}),Vl=({className:e,unpadded:n,...s})=>t.jsx("button",{...s,className:L(Pt.small,{[Pt.unpadded]:n},e)}),ne={White:Wr,Outline:Ol,Small:Vl},zl="_footer_1vp4h_1",Kl="_actions_1vp4h_10",_a={footer:zl,actions:Kl},fe=({extra:e,className:n,children:s})=>t.jsxs("footer",{className:L(_a.footer,n),children:[e,t.jsx("div",{className:_a.actions,children:s})]}),Wl="_scrollable_13su7_1",Hl={scrollable:Wl},ut=({className:e,children:n,ref:s})=>t.jsx("div",{ref:s,className:L(Hl.scrollable,e),children:n});function vs(){return Ie.useMediaQuery("(max-width: 576px)")}const co="interwoven-kit";function Hr(){const e=document.querySelector(co)||document.body.appendChild(document.createElement(co));return e.shadowRoot||e.attachShadow({mode:"open"})}function Qr(){const{theme:e,container:n}=G();return g.useEffect(()=>{document.querySelector(co)?.setAttribute("data-theme",e)},[e]),n??Hr()}function Ql(e){const n=Hr(),s=document.createElement("style");s.textContent=e,n.appendChild(s)}const ws=g.createContext(null);function Ft(){const{container:e}=g.useContext(ws);return e}function Gr(e){const n=Ft();return n?getComputedStyle(n).getPropertyValue(e):""}function Gl(){return Ie.useScrollLock(),null}function Yl(e){return/^[A-F0-9]{64}$/i.test(e)}function Zl(e,n){const{txHash:s,accountAddress:o,pathSuffix:a}=n;if(s)return Yl(s)?A.path(["explorers",0,"tx_page"],e)?.replace(/\$\{txHash\}/g,s):void 0;if(o){if(!j.InitiaAddress.validate(o))return;const i=A.path(["explorers",0,"account_page"],e)?.replace(/\$\{accountAddress\}/g,o);return i&&a?i+a:i}}function Jl(e){try{const n=new URL(e,window.location.href);if(!["http:","https:"].includes(n.protocol))throw new Error("Invalid protocol");return n.toString()}catch{return"#"}}const Xl="_link_j1lkz_1",xa={link:Xl},Cs=({chainId:e,txHash:n,accountAddress:s,pathSuffix:o,...a})=>{const{showIcon:r,className:i,children:c,onClick:l,...d}=a,u=Xe(e),m=Zl(u,{txHash:n,accountAddress:s,pathSuffix:o}),h=n?j.truncate(n):s?j.truncate(s):"",p=c??h;return m?t.jsxs("a",{...d,href:Gi(Jl(m)),className:L(xa.link,i),onClick:l,target:"_blank",children:[p,r&&t.jsx(I.IconExternalLink,{size:12})]}):t.jsx("span",{...d,className:L(xa.link,i),children:p})},Yr=g.createContext(null),Fo=()=>g.useContext(Yr),ed=()=>{const[e,n]=H.useAtom(Ar),{showNotification:s,updateNotification:o,hideNotification:a}=Fo();return g.useEffect(()=>{if(!e)return;const{status:r,chainId:i,txHash:c,error:l}=e,d=l?l.message:c?t.jsx(Cs,{txHash:c,chainId:i,onClick:a,showIcon:!0,children:"View on Initia Scan"}):null;switch(r){case"loading":s({type:"loading",title:"Transaction is pending..."});break;case"error":o({type:"error",title:"Transaction failed",description:d}),n(null);break;case"success":o({type:"success",title:"Transaction is successful!",description:d,autoHide:!0}),n(null);break}},[e,n,s,o,a]),null},as=({value:e,children:n})=>{const[s,o]=g.useState(!1);return n({copy:async()=>{try{await navigator.clipboard.writeText(e),o(!0),setTimeout(()=>o(!1),1e3)}catch{}},copied:s})},td="_placeholder_10r3x_1",nd="_logo_10r3x_5",ya={placeholder:td,logo:nd},J=({src:e,alt:n,placeholder:s,classNames:o,style:a,logo:r,...i})=>{const[c,l]=g.useState(void 0),{width:d,height:u}=i,m=s??t.jsx("div",{className:L(ya.placeholder,o?.placeholder),style:{width:d,height:u,...a}});return!e||c===e?m:t.jsx("img",{...i,className:L(i.className,{[ya.logo]:r}),style:{width:d,height:u,...a},src:e,alt:n,loading:"lazy",onError:()=>l(e)})};function Zr(){const{connector:e}=we.useAccount();if(e)return e.id==="io.privy.wallet"?"https://assets.initia.xyz/images/wallets/Privy.webp":e.icon}const sd="_header_1q8ju_1",od="_account_1q8ju_17",ad="_name_1q8ju_28",rd="_address_1q8ju_32",id="_icon_1q8ju_36",cd="_copied_1q8ju_43",ld="_button_1q8ju_58",dd="_settings_1q8ju_69",ud="_disconnect_1q8ju_73",md="_label_1q8ju_83",hd="_expanded_1q8ju_91",Be={header:sd,account:od,name:ad,address:rd,icon:id,copied:cd,button:ld,settings:dd,disconnect:ud,label:md,expanded:hd},pd=()=>{const e=ko(),{address:n,username:s}=De(),o=Zr(),a=s??n,[r,i]=g.useState(!1),c=g.useRef(null),l=ze.useSpring({width:r?140:52,config:{tension:500,friction:30,clamp:!0}}),d=()=>{r?e():i(!0)},u=()=>{r&&(c.current=setTimeout(()=>{i(!1)},500))},m=()=>{c.current&&(clearTimeout(c.current),c.current=null)};return g.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]),n?t.jsxs("header",{className:Be.header,children:[t.jsx(as,{value:n,children:({copy:h,copied:p})=>t.jsxs("button",{className:L(Be.account,{[Be.copied]:p}),onClick:h,children:[t.jsx(J,{src:o,width:18,height:18}),t.jsx("div",{className:Be.address,children:j.truncate(n)}),t.jsx("div",{className:Be.name,children:j.truncate(a)}),t.jsx(I.IconCopy,{className:Be.icon,size:12}),p?"Copied!":""]})}),t.jsx(nn,{to:"/settings",className:L(Be.button,Be.settings),"aria-label":"Open settings",children:t.jsx(I.IconSettingFilled,{size:16})}),t.jsxs(ze.animated.button,{className:L(Be.button,Be.disconnect,{[Be.expanded]:r}),style:l,onClick:d,onMouseLeave:u,onMouseEnter:m,children:[t.jsx(I.IconSignOut,{size:16}),t.jsx("span",{className:Be.label,children:"Disconnect"})]})]}):null},fd="_overlay_jij9g_1",gd="_content_jij9g_28",_d="_inner_jij9g_60",Us={overlay:fd,content:gd,inner:_d},xd=({children:e})=>{const{isDrawerOpen:n,closeDrawer:s}=lt(),{setContainer:o}=g.useContext(ws),a=vs(),r=Qr(),i=H.useAtomValue(js),c=H.useAtomValue(Ln),l=T.useIsMutating({mutationKey:[Ir]}),d=()=>{const f=l?"User exited before response arrived. Transaction may succeed or fail.":"User rejected";s(),i?.reject(new Error(f)),c?.reject(new Error("User rejected"))},u=et(),m=je(),h=T.useQueryClient(),p={fallbackRender:({error:f,resetErrorBoundary:_})=>{const x=()=>{u==="/bridge"&&(localStorage.removeItem(oe.BRIDGE_SRC_CHAIN_ID),localStorage.removeItem(oe.BRIDGE_SRC_DENOM),localStorage.removeItem(oe.BRIDGE_DST_CHAIN_ID),localStorage.removeItem(oe.BRIDGE_DST_DENOM)),m("/"),h.clear(),_()};return t.jsxs(ut,{children:[t.jsx(he,{error:!0,children:f.message}),t.jsx(fe,{children:t.jsx(ne.White,{onClick:x,children:"Retry"})})]})}};return t.jsx(Ne.Dialog.Root,{open:n,onOpenChange:f=>!f&&d(),modal:!1,children:t.jsxs(Ne.Dialog.Portal,{container:r,children:[a&&t.jsx(Ne.Dialog.Backdrop,{className:Us.overlay,onClick:d,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"})]})}),t.jsx(Ne.Dialog.Popup,{className:Us.content,children:t.jsxs("div",{className:L(Us.inner,"body"),ref:o,children:[a&&t.jsx(Gl,{}),t.jsx(ed,{}),t.jsx(pd,{}),t.jsx(de,{errorBoundaryProps:p,children:e})]})})]})})},yd="_backdrop_1bqx9_1",jd="_modal_1bqx9_12",bd="_closeButton_1bqx9_44",Fs={backdrop:yd,modal:jd,closeButton:bd},vd=({children:e})=>{const{isModalOpen:n,closeModal:s}=dn(),{setContainer:o}=g.useContext(ws),a=Qr();return t.jsx(Ne.Dialog.Root,{open:n,onOpenChange:r=>!r&&s(),children:t.jsxs(Ne.Dialog.Portal,{container:a,children:[t.jsx(Ne.Dialog.Backdrop,{className:Fs.backdrop,onClick:s}),t.jsxs(Ne.Dialog.Popup,{className:L(Fs.modal),ref:o,children:[t.jsx("button",{className:Fs.closeButton,onClick:s,"aria-label":"Close",children:t.jsx(I.IconClose,{size:20})}),e]})]})})},Jr=g.createContext(!1),wd="_overlay_1iyfl_1",Cd="_fullscreen_1iyfl_15",Nd="_content_1iyfl_19",kd="_header_1iyfl_56",Id="_title_1iyfl_65",Ad="_close_1iyfl_70",$t={overlay:wd,fullscreen:Cd,content:Nd,header:kd,title:Id,close:Ad},Xr=({title:e,children:n,trigger:s,className:o,open:a,onOpenChange:r})=>{const i=Ft(),c=g.useContext(Jr);return i?t.jsxs(Ne.Dialog.Root,{open:a,onOpenChange:r,modal:!1,children:[s&&t.jsx(Ne.Dialog.Trigger,{className:o,children:s}),t.jsxs(Ne.Dialog.Portal,{container:i,children:[t.jsx(Ne.Dialog.Backdrop,{className:L($t.overlay,{[$t.fullscreen]:c}),onClick:()=>r(!1),forceRender:!0}),t.jsxs(Ne.Dialog.Popup,{className:L($t.content,{[$t.fullscreen]:c}),children:[e&&t.jsxs("header",{className:$t.header,children:[t.jsx(Ne.Dialog.Title,{className:$t.title,children:e}),t.jsx(Ne.Dialog.Close,{className:$t.close,children:t.jsx(I.IconClose,{size:20})})]}),n]})]})]}):null},rn=({children:e})=>{const n=g.useRef(null),[s,o]=g.useState(0),[a,r]=g.useState(!1),i=ze.useSpring({height:s,config:{tension:500,friction:30,clamp:!0},immediate:!a});return g.useEffect(()=>{const c=n.current;if(!c)return;const l=()=>{const{height:u}=c.getBoundingClientRect();o(u),r(!0)};l();const d=new ResizeObserver(l);return d.observe(c),()=>d.disconnect()},[e]),e?t.jsx(ze.animated.div,{style:{overflow:"hidden",...i},children:t.jsx("div",{ref:n,children:e})}):null},Sd="_help_qcmtq_1",$d="_icon_qcmtq_10",Td="_info_qcmtq_19",Ed="_warning_qcmtq_23",qd="_error_qcmtq_27",Ld="_success_qcmtq_33",Os={help:Sd,icon:$d,info:Td,warning:Ed,error:qd,success:Ld},Jt=({level:e,className:n,mt:s=8,children:o})=>{if(!o)return null;const a=()=>{switch(e){case"loading":return t.jsx(Kt,{size:12});case"info":return t.jsx(I.IconInfoFilled,{size:12});case"warning":case"error":return t.jsx(I.IconWarningFilled,{size:12});default:return t.jsx(I.IconCheckCircleFilled,{size:12})}};return t.jsxs("div",{className:L(Os.help,e&&Os[e],n),style:{marginTop:s},children:[t.jsx("div",{className:Os.icon,children:a()}),o]})},Md="_stack_a6m7u_1",Dd="_help_a6m7u_6",Pd="_info_a6m7u_14",Rd="_warning_a6m7u_19",Bd="_error_a6m7u_24",Ud="_success_a6m7u_29",lo={stack:Md,help:Dd,info:Pd,warning:Rd,error:Bd,success:Ud},Fd=({children:e})=>!e||Array.isArray(e)&&e.filter(Boolean).length===0?null:t.jsx(rn,{children:t.jsx("div",{className:lo.stack,children:e})}),xe=({mt:e=0,...n})=>t.jsx(Jt,{...n,className:L(lo.help,lo[n.level]),mt:e});xe.Stack=Fd;const Od="_root_16p5j_1",Vd="_item_16p5j_10",zd="_chevron_16p5j_14",Kd="_trigger_16p5j_19",Wd="_content_16p5j_39",fn={root:Od,item:Vd,chevron:zd,trigger:Kd,content:Wd};function Hd(e){const{list:n,getKey:s,renderHeader:o,renderContent:a,footer:r,...i}=e;return t.jsxs(Y.Accordion.Root,{className:fn.root,type:"multiple",...i,children:[n.map((c,l)=>t.jsxs(Y.Accordion.Item,{className:fn.item,value:s?.(c)??String(l),children:[t.jsx(Y.Accordion.Header,{children:t.jsxs(Y.Accordion.Trigger,{className:fn.trigger,children:[o(c),t.jsx(I.IconChevronDown,{className:fn.chevron,size:16})]})}),t.jsx(Y.Accordion.Content,{className:fn.content,children:a(c)})]},s?.(c)??l)),r]})}const Qd=10;function ei(){const e=X();return(n,s)=>T.queryOptions({queryKey:ps.txs(n.indexerUrl,e).queryKey,queryFn:async()=>{if(!s.enabled)return[];const o={"pagination.reverse":!0,"pagination.limit":Qd},{txs:a}=await V.create({prefixUrl:n.indexerUrl}).get(`indexer/tx/v1/txs/by_account/${e}`,{searchParams:o}).json();return a},staleTime:z.SECOND})}function Gd(e,n){const s=ei();return T.useSuspenseQuery(s(e,n))}function Yd(e,n){const s=e.flatMap((o,a)=>(n[a]??[]).map(i=>({...i,chain:o})));return A.sortWith([A.descend(o=>new Date(o.timestamp).getTime())])(s)}const Zd=()=>{const e=ue(),n=ei(),s=T.useQueries({queries:e.map(i=>n(i,{enabled:!0}))}),o=s.map(A.prop("data")),a=Yd(e,o),r=s.some(i=>i.isLoading);return{activities:a,isLoading:r}};function Oo(e){const{data:n}=T.useSuspenseQuery({queryKey:hs.gasPrices(e).queryKey,queryFn:async()=>{if(e.metadata?.is_l1){const{restUrl:s}=e,{gas_prices:o}=await V.create({prefixUrl:s}).get("initia/tx/v1/gas_prices").json();return o.toSorted(A.descend(({denom:a})=>a==="uinit")).map(({denom:a,amount:r})=>{const i=a==="uinit"?1:Za;return{amount:U(r).times(i).toFixed(18),denom:a}})}return e.fees.fee_tokens.map(({denom:s,fixed_min_gas_price:o})=>{if(A.isNil(o))throw new Error(`${s} has no price`);return{amount:String(o),denom:s}})},staleTime:z.SECOND});return n}function Vo(e){const n=X(),{data:s}=Gd(e,{enabled:e.fees.fee_tokens.length>=2});if(e.fees.fee_tokens.length===0)return null;const o=e.fees.fee_tokens[0].denom;if(e.fees.fee_tokens.length===1)return o;try{return s.find(({tx:r})=>r.auth_info.signer_infos.some(i=>j.InitiaAddress.equals(n,gt.computeAddress(`0x${re.toHex(ao.Secp256k1.uncompressPubkey(re.fromBase64(i.public_key.key)))}`))))?.tx.auth_info.fee.amount[0]?.denom??o}catch{return o}}const Jd="_trigger_u613p_1",Xd="_icon_u613p_18",eu="_content_u613p_27",tu="_item_u613p_36",nu="_itemText_u613p_52",su="_itemIndicator_u613p_57",ou="_active_u613p_60",vt={trigger:Jd,icon:Xd,content:eu,item:tu,itemText:nu,itemIndicator:su,active:ou};function zo({options:e,value:n,onChange:s,classNames:o}){const a=Ft(),r=e.find(c=>c.value===n);if(!r)throw new Error("Selected option not found");const i=c=>{const l=e.find(d=>String(d.value)===c);if(!l)throw new Error(`Option not found: ${c}`);s(l.value)};return t.jsxs(ht.Select.Root,{value:String(n),onValueChange:i,modal:!1,children:[t.jsxs(ht.Select.Trigger,{className:L(vt.trigger,o?.trigger),children:[t.jsx(ht.Select.Value,{children:r.triggerLabel||r.label}),t.jsx(ht.Select.Icon,{className:vt.icon,children:t.jsx(I.IconChevronDown,{size:12})})]}),t.jsx(ht.Select.Portal,{container:a,children:t.jsx(ht.Select.Positioner,{className:vt.content,alignItemWithTrigger:!1,sideOffset:6,align:"end",children:t.jsx(ht.Select.Popup,{className:vt.popup,children:e.map(c=>t.jsxs(ht.Select.Item,{className:L(vt.item,o?.item),value:String(c.value),children:[t.jsx(ht.Select.ItemText,{className:L(vt.itemText,o?.itemText),children:c.label}),t.jsx(I.IconCheck,{size:12,className:L(vt.itemIndicator,{[vt.active]:c.value===n})})]},String(c.value)))})})})]})}const au="_root_1t37n_1",ru="_trigger_1t37n_7",iu="_item_1t37n_11",cu="_itemText_1t37n_17",ja={root:au,trigger:ru,item:iu,itemText:cu},lu=({options:e,value:n,onChange:s})=>{const{txRequest:o}=Sr(),a=Xe(o.chainId),r=ct(a),i=(f,_)=>{if(j.formatAmount(f,{decimals:_})==="0.000000")return 8},c=({amount:[{amount:f,denom:_}]})=>{if(U(f).isZero())return"0";const{symbol:x,decimals:y}=r(_),b=i(f,y);return`${j.formatAmount(f,{decimals:y,dp:b})} ${x}`},l=e.map(f=>{const[{denom:_}]=f.amount,{symbol:x}=r(_);return{value:_,label:c(f),triggerLabel:x}});if(e.length===1)return t.jsx("span",{className:"monospace",children:c(e[0])});const d=e.find(f=>f.amount[0].denom===n);if(!d)throw new Error("Fee option not found");const[{amount:u,denom:m}]=d.amount,{decimals:h}=r(m),p=i(u,h);return t.jsxs("div",{className:ja.root,children:[t.jsx("span",{className:"monospace",children:j.formatAmount(u,{decimals:h,dp:p})}),t.jsx(zo,{options:l,value:n,onChange:s,classNames:ja})]})},du="_root_16nr2_1",uu="_trigger_16nr2_5",mu="_chevron_16nr2_13",hu="_panel_16nr2_27",pu="_details_16nr2_39",fu="_row_16nr2_48",Gt={root:du,trigger:uu,chevron:mu,panel:hu,details:pu,row:fu},gu=({spend:e,fee:n,total:s,balance:o,symbol:a,decimals:r})=>{const i=[e&&{label:"Spend",value:e},{label:"Fee",value:n},e&&{label:"Required (spend + fee)",value:s},{label:"Balance",value:o}].filter(Boolean),c=r===6?void 0:8;return t.jsxs(Ms.Collapsible.Root,{className:Gt.root,children:[t.jsxs(Ms.Collapsible.Trigger,{className:Gt.trigger,children:[t.jsx("span",{children:"Insufficient balance for fee"}),t.jsx(I.IconChevronDown,{className:Gt.chevron,size:16})]}),t.jsx(Ms.Collapsible.Panel,{className:Gt.panel,children:t.jsx("div",{className:Gt.details,children:i.map(({label:l,value:d})=>t.jsxs("div",{className:Gt.row,children:[t.jsx("span",{children:l}),t.jsxs("span",{children:[j.formatAmount(d,{decimals:r,dp:c})," ",a]})]},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?re.toBase64(e):Array.isArray(e)?`[${e.map(rs).join(",")}]`:JSON.stringify(e,(n,s)=>typeof s=="bigint"?s.toString():s);default:return"unknown"}}const _u="_container_1xzyq_1",xu="_toggle_1xzyq_5",yu="_list_1xzyq_11",ju="_arg_1xzyq_16",bu="_type_1xzyq_21",gn={container:_u,toggle:xu,list:yu,arg:ju,type:bu},vu=ye.createQueryKeys("interwovenkit:move",{abi:(e,n,s,o)=>[e,n,s,o]}),wu=({type:e,arg:n})=>rs(j.resolveBcsType(e).parse(n)),Cu=({msg:e,chainId:n,fallback:s})=>{const[o,a]=Ie.useToggle(!1),{restUrl:r}=Xe(n),{moduleAddress:i,moduleName:c,functionName:l,args:d}=e,{data:u}=T.useQuery({queryKey:vu.abi(r,i,c,l).queryKey,queryFn:async()=>{const h=await V.create({prefixUrl:r}).get(`initia/move/v1/accounts/${i}/modules/${c}`).json(),f=JSON.parse(h.module.abi).exposed_functions.find(({name:_})=>_===l);if(!f)throw new Error(`Function ${l} not found in module ${c}`);return f.params.filter(_=>!_.startsWith("&"))},staleTime:z.INFINITY});if(!u)return s;const m=(h,p)=>{const f=u[p];return t.jsxs("div",{className:gn.arg,children:[t.jsx("div",{className:gn.type,children:f}),t.jsx(Ga.ErrorBoundary,{fallback:t.jsx("div",{className:"error",children:"Error decoding argument"}),children:t.jsx(wu,{type:f,arg:h})})]},p)};return t.jsxs("div",{className:gn.container,children:[t.jsx(ne.Small,{className:gn.toggle,onClick:a,disabled:!u,children:o?"Encode":"Decode"}),o?t.jsx("div",{className:gn.list,children:d.map(m)}):s]})},Nu="_list_oip9m_1",ku="_key_oip9m_9",Iu="_value_oip9m_14",Vs={list:Nu,key:ku,value:Iu},Au=({message:e,chainId:n})=>{const{typeUrl:s,value:o}=e;return t.jsx("div",{className:Vs.list,children:Object.entries(o).map(([a,r])=>t.jsxs("div",{children:[t.jsx("div",{className:Vs.key,children:a}),t.jsx("div",{className:Vs.value,children:s==="/initia.move.v1.MsgExecute"&&a==="args"?t.jsx(Cu,{msg:o,chainId:n,fallback:rs(r)}):rs(r)})]},a))})},Su="_item_1n572_1",$u="_title_1n572_10",Tu="_content_1n572_14",zs={item:Su,title:$u,content:Tu},Ks=({title:e,content:n})=>t.jsxs("div",{className:zs.item,children:[t.jsx("div",{className:zs.title,children:e}),t.jsx("div",{className:zs.content,children:n})]});function Z(e){const n=e?U(e).abs():void 0;if(n&&n.gt(0)&&n.lt(.01))return"< $0.01";const s=e&&U(e).lt(0),o=j.formatNumber(n?.toString()??e,{dp:2});return o?s?`-$${o}`:`$${o}`:""}function ti(e,n){const s={};for(const o of e)if(o.attributes.some(r=>r.key==="msg_index")){if(o.type==="coin_spent"){const r=o.attributes.find(c=>c.key==="spender")?.value,i=o.attributes.find(c=>c.key==="amount")?.value;if(r===n&&i){const[c,l]=i.match(/^(\d+)(.+)$/)?.slice(1)||[];if(c&&l){const d=s[l]||BigInt(0);s[l]=d-BigInt(c)}}}if(o.type==="coin_received"){const r=o.attributes.find(c=>c.key==="receiver")?.value,i=o.attributes.find(c=>c.key==="amount")?.value;if(r===n&&i){const[c,l]=i.match(/^(\d+)(.+)$/)?.slice(1)||[];if(c&&l){const d=s[l]||BigInt(0);s[l]=d+BigInt(c)}}}}return Object.entries(s).filter(([,o])=>o!==BigInt(0)).map(([o,a])=>({amount:a.toString(),denom:o}))}function ni(e,n){const s={};for(const o of e)if(o.attributes.some(r=>r.key==="msg_index")&&o.type==="move"){const r=o.attributes.find(l=>l.key==="type_tag")?.value,i=o.attributes.find(l=>l.key==="data")?.value;if(!r||!i)continue;let c;try{c=JSON.parse(i)}catch{continue}if(r==="0x1::fungible_asset::WithdrawEvent"){const l=c.store_addr,d=c.amount,u=c.metadata_addr;if(l&&d&&u&&j.createUserDerivedObjectAddress(n,u)===l){const h=s[u]||BigInt(0);s[u]=h-BigInt(d)}}if(r==="0x1::fungible_asset::DepositEvent"){const l=c.store_addr,d=c.amount,u=c.metadata_addr;if(l&&d&&u&&j.createUserDerivedObjectAddress(n,u)===l){const h=s[u]||BigInt(0);s[u]=h+BigInt(d)}}}return Object.entries(s).filter(([,o])=>o!==BigInt(0)).map(([o,a])=>({amount:a.toString(),metadata:o}))}const si=({metadata:e,chain:n,children:s})=>{const{restUrl:o}=n,{data:a}=T.useSuspenseQuery({queryKey:Cn.denom(o,e).queryKey,queryFn:()=>V.create({prefixUrl:o}).get("initia/move/v1/denom",{searchParams:{metadata:e}}).json(),select:({denom:r})=>r,staleTime:z.INFINITY});return s(a)},Eu="_root_1p8a4_1",qu="_title_1p8a4_8",Lu="_changes_1p8a4_14",Mu="_change_1p8a4_14",Du="_amount_1p8a4_35",Pu="_text_1p8a4_42",Ru="_value_1p8a4_49",Rt={root:Eu,title:qu,changes:Lu,change:Mu,amount:Du,text:Pu,value:Ru},oi=({amount:e,asset:n,price:s})=>{const{denom:o,symbol:a,decimals:r,logoUrl:i}=n,c=j.formatAmount(e,{decimals:r}),l=s&&U(j.fromBaseUnit(e,{decimals:r})).times(s).abs();return t.jsxs("div",{className:Rt.change,children:[t.jsxs("div",{className:Rt.amount,children:[t.jsx(J,{src:i,width:14,height:14,logo:!0}),t.jsxs("span",{className:Rt.text,children:[c," ",a||o]})]}),l&&t.jsx("div",{className:Rt.value,children:Z(l)})]})},Bu=({changes:e,chain:n})=>{const s=ct(n),{data:o}=yt(n);return e.map(({amount:a,denom:r},i)=>{const c=s(r),l=o?.find(({id:d})=>d===r)?.price;return t.jsx(oi,{amount:a,asset:c,price:l},i)})},Uu=({changes:e,chain:n})=>{const s=ct(n),{data:o}=yt(n);return e.map(({amount:a,metadata:r},i)=>t.jsx(si,{metadata:r,chain:n,children:c=>{const l=o?.find(({id:d})=>d===c)?.price;return t.jsx(oi,{amount:a,asset:s(c),price:l})}},i))};function Fu(e,n){return typeof n=="bigint"?n.toString():n}const Ou=ye.createQueryKeys("interwovenkit:tx",{simulate:e=>[JSON.stringify(e,Fu)]}),Vu=({messages:e,memo:n,chainId:s})=>{const{initiaAddress:o,hexAddress:a}=De(),r=Xe(s),{simulateTx:i}=bs(),{data:c}=T.useSuspenseQuery({queryKey:Ou.simulate({messages:e,memo:n,chainId:s}).queryKey,queryFn:()=>i({messages:e,memo:n,chainId:s}),staleTime:z.SECOND}),l=h=>t.jsxs("div",{className:Rt.root,children:[t.jsx("h2",{className:Rt.title,children:"Estimated changes"}),t.jsx("div",{className:Rt.changes,children:h})]});if(!c)return null;const d=c.result?.events??[];if(d.length===0)return null;if(r.metadata?.is_l1||r.metadata?.minitia?.type==="minimove"){const h=ni(d,a),[p]=ba(h);return p.length===0?null:l(t.jsx(Uu,{changes:p,chain:r}))}const u=ti(d,o),[m]=ba(u);return m.length===0?null:l(t.jsx(Bu,{changes:m,chain:r}))};function ba(e){return A.partition(n=>new U(n.amount).isNegative(),e)}const zu="_title_1d032_1",Ku="_meta_1d032_7",Wu="_footer_1d032_14",Hu="_rejectButton_1d032_19",Wn={title:zu,meta:Ku,footer:Wu,rejectButton:Hu},ai=()=>{const{txRequest:e,resolve:n,reject:s}=Sr(),{messages:o,memo:a,chainId:r,gas:i,gasAdjustment:c,spendCoins:l}=e,d=X(),u=gs(),m=Xe(r),h=Sn(m),p=Oo(m),f=Vo(m),_=ct(m),x=Cr(),y=wr(),b=(e.gasPrices??p).map(({amount:N,denom:R})=>Ve.calculateFee(Math.ceil(i*c),Ve.GasPrice.fromString(N+R))),C=b.map(N=>N.amount[0]),w=N=>{const R=h.find(ee=>ee.denom===N)?.amount??"0",P=C.find(ee=>ee.denom===N)?.amount??"0",q=l.filter(ee=>ee.denom===N).reduce((ee,me)=>U(ee).plus(me.amount),U("0")),D=U(P).plus(q),W=U(R).gte(D),{symbol:K,decimals:O}=_(N);return{symbol:K,decimals:O,spend:q.gt(0)?q.toFixed():null,fee:P,total:D.toFixed(),balance:R,isSufficient:W}},v=()=>{if(f&&w(f).isSufficient)return f;for(const{denom:N}of C)if(w(N).isSufficient)return N;return C[0]?.denom},[k,S]=g.useState(v),{mutate:M,isPending:F}=T.useMutation({mutationKey:[Ir],mutationFn:async()=>{const N=b.find(q=>q.amount[0].denom===k);if(!N)throw new Error("Fee not found");const P=!e.internal&&await x(r,o)?await y(r,d,o,N,a||""):await u(r,d,o,N,a);await n(P)},onError:async N=>{s(N)}}),E=w(k),$=!E.isSufficient;return t.jsxs(t.Fragment,{children:[t.jsxs(ut,{children:[t.jsx("h1",{className:Wn.title,children:"Confirm tx"}),t.jsxs("div",{className:Wn.meta,children:[t.jsx(Ks,{title:"Chain",content:r}),t.jsx(Ks,{title:"Tx fee",content:t.jsx(lu,{options:b,value:k,onChange:S})}),a&&t.jsx(Ks,{title:"Memo",content:a}),$&&t.jsx(xe,{level:"error",children:t.jsx(gu,{...E})})]}),t.jsx(Vu,{messages:o,memo:a,chainId:r}),t.jsx(Hd,{list:o,renderHeader:({typeUrl:N})=>us.sentenceCase(N.split(".").pop().replace(/^Msg/,"")),renderContent:N=>t.jsx(Au,{message:N,chainId:r})})]}),t.jsxs(fe,{className:Wn.footer,children:[t.jsx(ne.Outline,{onClick:()=>s(new Error("User rejected")),disabled:F,className:Wn.rejectButton,children:t.jsx(I.IconClose,{size:16})}),t.jsx(ne.White,{onClick:()=>M(),disabled:$,loading:F,children:"Approve"})]})]})},Qu=({children:e})=>{const[{title:n,content:s,path:o},a]=g.useState({}),[r,i]=g.useState(!1),c=H.useAtomValue(js),l=g.useCallback(m=>{a(m),i(!0)},[]),d=g.useCallback(()=>{a({}),i(!1)},[]),u=g.useCallback(m=>{m||(c?.reject(new Error("User rejected")),a({})),i(m)},[c]);return t.jsxs(Nr.Provider,{value:{openModal:l,closeModal:d},children:[e,t.jsx(Xr,{title:n,open:r,onOpenChange:u,children:t.jsx(de,{children:o==="/tx"?t.jsx(ai,{}):s})})]})},Gu="_container_1w1hx_1",Yu="_toast_1w1hx_11",Zu="_info_1w1hx_24",Ju="_success_1w1hx_28",Xu="_error_1w1hx_32",em="_icon_1w1hx_37",tm="_content_1w1hx_45",nm="_title_1w1hx_48",sm="_description_1w1hx_53",om="_close_1w1hx_75",wt={container:Gu,toast:Yu,info:Zu,success:Ju,error:Xu,icon:em,content:tm,title:nm,description:sm,close:om},am=({notification:e,onClose:n,...s})=>{const o=ze.useTransition(e,{keys:r=>r?.id||"empty",from:{transform:"translateY(-52px)",opacity:0},enter:{transform:"translateY(0px)",opacity:1},leave:{transform:"translateY(-52px)",opacity:0},config:{tension:500,friction:30,clamp:!0}}),a=r=>{switch(r){case"loading":return t.jsx(Kt,{size:16});case"info":case"success":return t.jsx(I.IconCheckCircleFilled,{size:16});case"error":return t.jsx(I.IconCloseCircleFilled,{size:16});default:return null}};return o((r,i)=>{if(!i)return null;const{type:c,title:l,description:d}=i,u=a(c);return t.jsx(ze.animated.div,{style:r,className:wt.container,children:t.jsxs("div",{className:L(wt.toast,c&&wt[c]),...s,children:[u&&t.jsx("div",{className:wt.icon,children:u}),t.jsxs("div",{className:wt.content,children:[t.jsx("p",{className:wt.title,children:l}),d&&t.jsx("div",{className:wt.description,children:d})]}),t.jsx("button",{className:wt.close,onClick:n,children:t.jsx(I.IconClose,{size:14})})]})})})},Ws=5e3,rm=({children:e})=>{const n=Ft(),[s,o]=g.useState(null),a=g.useRef(null),r=g.useRef(!1),i=()=>{a.current&&(clearTimeout(a.current),a.current=null)},c=g.useCallback(()=>{i(),o(null)},[]),l=g.useCallback(h=>{i(),o({...h,id:da.nanoid()}),h.autoHide&&!r.current&&(a.current=setTimeout(()=>c(),Ws))},[c]),d=g.useCallback(h=>{i(),o(p=>p?{...p,...h}:{...h,id:da.nanoid()}),h.autoHide&&!r.current&&(a.current=setTimeout(()=>c(),Ws))},[c]),u=()=>{i(),r.current=!0},m=()=>{i(),r.current=!1,s?.autoHide&&(a.current=setTimeout(()=>c(),Ws))};return g.useEffect(()=>()=>i(),[]),t.jsxs(Yr.Provider,{value:{showNotification:l,updateNotification:d,hideNotification:c},children:[e,n&&Yi.createPortal(t.jsx(am,{notification:s,onClose:c,onMouseEnter:u,onMouseLeave:m}),n)]})},im=({children:e})=>{const[n,s]=g.useState(null);return t.jsx(ws.Provider,{value:{container:n,setContainer:s},children:e})},ri=[{value:10*hr,label:"for 10 minutes"},{value:pr,label:"for 1 hour"},{value:ha,label:"for 1 day"},{value:7*ha,label:"for 7 days"},{value:0,label:"until revoked"}],cm=ri[0].value,lm="_container_1422v_1",dm="_title_1422v_7",um="_description_1422v_14",mm="_sectionTitle_1422v_20",hm="_websiteInfo_1422v_27",pm="_favicon_1422v_37",fm="_websiteTitle_1422v_42",gm="_websiteHost_1422v_48",_m="_warningContent_1422v_54",xm="_ignoreButton_1422v_61",ym="_infoList_1422v_65",jm="_infoItem_1422v_75",bm="_label_1422v_84",vm="_infoValue_1422v_94",wm="_durationTrigger_1422v_100",Cm="_durationItem_1422v_101",Nm="_featureList_1422v_105",km="_featureItem_1422v_113",Im="_checkIcon_1422v_123",Am="_learnMoreLink_1422v_127",Sm="_feedbackContainer_1422v_140",$m="_footer_1422v_146",ae={container:lm,title:dm,description:um,sectionTitle:mm,websiteInfo:hm,favicon:pm,websiteTitle:fm,websiteHost:gm,warningContent:_m,ignoreButton:xm,infoList:ym,infoItem:jm,label:bm,infoValue:vm,durationTrigger:wm,durationItem:Cm,featureList:Nm,featureItem:km,checkIcon:Im,learnMoreLink:Am,feedbackContainer:Sm,footer:$m},Tm=ye.createQueryKeys("interwovenkit:account",{info:(e,n)=>({queryKey:[e,n],queryFn:async()=>{const s=V.create({prefixUrl:e}),o=`cosmos/auth/v1beta1/account_info/${n}`;return s.get(o).json()}})}),Em=()=>{const[e,n]=g.useState(cm),[s,o]=H.useAtom(Ln),[a,r]=g.useState(!1),i=Je(),c=ue(),{address:l,username:d}=De(),{mutate:u,isPending:m}=Dc(),{closeDrawer:h}=lt();if(!s)throw new Error("Pending request not found");const{logoUrl:p,name:f,restUrl:_}=i(s.chainId),{data:x,isLoading:y}=T.useQuery(Tm.info(_,l)),b={favicon:document.querySelector('link[rel="icon"]')?.getAttribute("href")||"",title:document.title,hostname:window.location.hostname},C=c.some(S=>{if(!S.website)return!1;const M=va(new URL(S.website).hostname),F=va(window.location.hostname);return M===F}),w=()=>{u(e)},v=()=>{s?.reject(new Error("User cancelled")),o(null),h()},k=!C&&!a;return t.jsxs(t.Fragment,{children:[t.jsxs(ut,{className:ae.container,children:[t.jsxs("header",{children:[t.jsx("h1",{className:ae.title,children:"Enable auto-signing"}),t.jsx("p",{className:ae.description,children:"An application is requesting to enable auto-signing"})]}),t.jsxs("section",{children:[t.jsx("h2",{className:ae.sectionTitle,children:"Requested by"}),t.jsxs("div",{className:ae.websiteInfo,children:[t.jsx("img",{src:b.favicon,alt:"",className:ae.favicon}),t.jsxs("div",{children:[t.jsx("div",{className:ae.websiteTitle,children:b.title}),t.jsx("div",{className:ae.websiteHost,children:b.hostname})]})]})]}),t.jsxs("section",{children:[t.jsx("h2",{className:ae.sectionTitle,children:"Applies to"}),t.jsxs("div",{className:ae.infoList,children:[t.jsxs("div",{className:ae.infoItem,children:[t.jsx("div",{className:ae.label,children:"Address"}),t.jsxs("div",{className:ae.infoValue,children:[t.jsx(I.IconWallet,{size:14}),t.jsx("span",{className:"monospace",children:j.truncate(d??l)})]})]}),t.jsxs("div",{className:ae.infoItem,children:[t.jsx("div",{className:ae.label,children:"Chain"}),t.jsxs("div",{className:ae.infoValue,children:[t.jsx(J,{src:p,width:14,height:14,logo:!0}),t.jsx("span",{children:f})]})]}),t.jsxs("div",{className:ae.infoItem,children:[t.jsx("div",{className:ae.label,children:"Duration"}),t.jsx(zo,{options:ri,value:e,onChange:n,classNames:{trigger:ae.durationTrigger,item:ae.durationItem}})]})]})]}),t.jsxs("section",{children:[t.jsx("h2",{className:ae.sectionTitle,children:"About auto-signing"}),t.jsx("ul",{className:ae.featureList,children:["Send transactions without confirmation pop-ups","Protected by Privy embedded wallet","Revoke permissions any time in settings"].map(S=>t.jsxs("li",{className:ae.featureItem,children:[t.jsx(I.IconCheckCircle,{size:12,className:ae.checkIcon}),t.jsx("span",{children:S})]},S))}),t.jsxs("a",{href:"https://docs.initia.xyz/user-guides/wallet/auto-signing/introduction",target:"_blank",className:ae.learnMoreLink,children:["Learn more ",t.jsx(I.IconExternalLink,{size:12})]})]})]}),t.jsxs(fe,{className:ae.footer,extra:t.jsxs("div",{className:ae.feedbackContainer,children:[!y&&!x&&t.jsx(xe,{level:"error",children:"Insufficient balance for fee"}),!C&&!a&&t.jsx(xe,{level:"warning",children:t.jsxs("div",{className:ae.warningContent,children:[t.jsx("span",{children:"You are on an unverified website"}),t.jsx("button",{onClick:()=>r(!0),className:ae.ignoreButton,children:"Ignore"})]})})]}),children:[t.jsx(ne.Outline,{onClick:v,children:"Cancel"}),t.jsx(ne.White,{onClick:w,disabled:k||!x||y,loading:m,children:"Enable"})]})]})},qm=()=>H.useAtomValue(Ln)?t.jsx(Em,{}):null;function va(e){const n=e.split(".");return n.length<2?e:n.slice(-2).join(".")}const Lm="_container_mqvhs_1",Mm="_badge_mqvhs_5",wa={container:Lm,badge:Mm},ii=e=>{const{offset:n=-4,disabled:s,children:o,className:a}=e;return t.jsxs("div",{className:L(wa.container,a),children:[o,!s&&t.jsx("div",{className:wa.badge,style:{right:n,top:n}})]})},Dm="_header_s7mee_1",Pm="_back_s7mee_12",Rm="_title_s7mee_24",Hs={header:Dm,back:Pm,title:Rm},mt=({title:e,backButton:n,extra:s,children:o})=>{const a=dr();return t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:Hs.header,children:[t.jsx(nn,{to:n??(a.length>1?-1:"/"),className:Hs.back,shouldReset:!!n,children:t.jsx(I.IconBack,{size:16})}),t.jsx("h1",{className:Hs.title,children:e}),s]}),t.jsx(ut,{children:o})]})};function ci(){const{initiaAddress:e,hexAddress:n}=De(),s=dt(),o=Pn();return a=>{const r=s(a);switch(o(r)){case"initia":return e;case"evm":return n;default:return""}}}function li(){const e=dt(),n=Pn();return(s,o)=>{const a=e(o);switch(n(a)){case"initia":return j.InitiaAddress.validate(s);case"evm":return gt.isAddress(s);case"cosmos":try{return re.fromBech32(s).prefix===a.bech32_prefix}catch{return!1}default:return!1}}}function Bm(){const e=dt(),n=Pn();return({initialAddress:s,initialChainId:o,chainId:a,fallbackAddress:r})=>{const i=e(o),c=n(i),l=e(a),d=n(l);if(c==="evm"&&d==="initia")return j.InitiaAddress(s).bech32;if(c==="initia"&&d==="evm")return j.InitiaAddress(s).hex;if(c===d)return s;if(r){if(d==="initia")return j.InitiaAddress(r).bech32;if(d==="evm")return j.InitiaAddress(r).hex}return""}}const Um="_root_ekn9t_1",Fm="_header_ekn9t_6",Om="_title_ekn9t_12",Vm="_warning_ekn9t_18",zm="_content_ekn9t_22",Km="_footer_ekn9t_26",Wm="_secondary_ekn9t_36",Tt={root:Um,header:Fm,title:Om,warning:Vm,content:zm,footer:Km,secondary:Wm},di=e=>{const{type:n,icon:s,title:o,children:a,primaryButton:r,secondaryButton:i}=e;return t.jsxs(ut,{className:Tt.root,children:[t.jsxs("header",{className:L(Tt.header,n&&Tt[n]),children:[s,t.jsx("h1",{className:Tt.title,children:o})]}),t.jsx("div",{className:Tt.content,children:a}),t.jsxs("footer",{className:Tt.footer,children:[t.jsx(ne.White,{onClick:r.onClick,sm:!0,fullWidth:!0,children:r.label}),t.jsxs("button",{className:Tt.secondary,onClick:i.onClick,children:[t.jsx("span",{children:i.label}),t.jsx(I.IconChevronRight,{size:14})]})]})]})},Hm="_list_k4n3k_1",Qm="_row_k4n3k_9",Gm="_dt_k4n3k_20",Ym="_asset_k4n3k_26",Hn={list:Hm,row:Qm,dt:Gm,asset:Ym},Zm=({list:e,onNavigate:n,onDismiss:s})=>{const o=ie(),a=Je(),r=ct(o);return t.jsx(di,{title:"Ready to claim",primaryButton:{label:"View withdrawal status",onClick:n},secondaryButton:{label:"Do not show again",onClick:s},children:t.jsx("div",{className:Hn.list,children:e.toSorted((i,c)=>i.chainId.localeCompare(c.chainId)).map(({txHash:i,chainId:c,amount:l,denom:d})=>{const u=a(c),{decimals:m,symbol:h}=r(d),p=j.formatAmount(l,{decimals:m});return t.jsxs("div",{className:Hn.row,children:[t.jsxs("div",{className:Hn.dt,children:[t.jsx(J,{src:u.logoUrl,width:16,height:16,logo:!0}),t.jsx("span",{children:u.name})]}),t.jsxs("span",{className:Hn.asset,children:[p," ",h]})]},i)})})})};function Qs(e,n){return e.chainId===n.chainId&&e.txHash===n.txHash}const Qn=({chainId:e,txHash:n})=>`${oe.OP_REMINDER}:${e}:${n}`,Jm=Zi.atomWithStorage(oe.OP_REMINDER,[]);function un(){const e=X(),[n=[],s]=H.useAtom(Jm),o=g.useMemo(()=>n.map(l=>{const d=localStorage.getItem(Qn(l));return d?JSON.parse(d):null}).filter(l=>{if(!l)return!1;const{recipient:d,claimableAt:u}=l;return d!==e?!1:Ze.isPast(u)}),[e,n]),a=g.useCallback((l,d)=>{n.some(u=>Qs(u,l))||(s((u=[])=>[...u,l]),localStorage.setItem(Qn(l),JSON.stringify(d)))},[n,s]),r=g.useCallback(l=>{s((d=[])=>d.filter(u=>!Qs(u,l))),localStorage.removeItem(Qn(l))},[s]),i=g.useCallback(l=>{const d=l.filter(u=>!n.some(m=>Qs(m,u)));d.length!==0&&s((u=[])=>[...u,...d])},[n,s]),c=g.useCallback((l,d)=>{localStorage.setItem(Qn(l),JSON.stringify(d)),s((u=[])=>[...u])},[s]);return{reminders:o,addReminder:a,removeReminder:r,syncReminders:i,setReminder:c}}function ui(){const e=je(),{openModal:n,closeModal:s}=ys(),{reminders:o,setReminder:a}=un();g.useEffect(()=>{const r=o.filter(l=>!l.dismissed);if(r.length===0)return;const i=()=>{const l=r.every(d=>d.chainId===r[0].chainId)?r[0].chainId:void 0;e("/op/withdrawals",{chainId:l}),c()},c=()=>{s();for(const l of r)a(l,{...l,dismissed:!0})};n({content:g.createElement(Zm,{list:r,onNavigate:i,onDismiss:c})})},[o,s,e,n,a])}const Xm="_wrapper_5ssm8_1",eh="_balance_5ssm8_11",th="_button_5ssm8_15",Gs={wrapper:Xm,balance:eh,button:th},mi=({onClick:e,children:n,disabled:s})=>t.jsxs("div",{className:Gs.wrapper,children:[t.jsx(I.IconWallet,{size:16}),t.jsx("span",{className:Gs.balance,children:n}),t.jsx("button",{type:"button",tabIndex:-1,className:Gs.button,onClick:()=>e(),disabled:s,children:"MAX"})]}),nh="_fieldset_up6fh_1",sh="_upper_up6fh_9",oh="_select_up6fh_14",ah="_account_up6fh_20",rh="_lower_up6fh_25",ih="_wrapper_up6fh_26",ch="_balance_up6fh_33",lh="_value_up6fh_37",dh="_error_up6fh_50",pt={fieldset:nh,upper:sh,select:oh,account:ah,lower:rh,wrapper:ih,balance:ch,value:lh,error:dh},uo=e=>{const{selectButton:n,accountButton:s,quantityInput:o,balanceButton:a,value:r,errorMessage:i,hideNumbers:c}=e;return t.jsxs("div",{className:pt.fieldset,children:[t.jsxs("div",{className:pt.upper,children:[t.jsx("div",{className:pt.select,children:n}),t.jsx("div",{className:pt.account,children:s})]}),!c&&t.jsxs("div",{className:pt.lower,children:[o,t.jsxs("div",{className:pt.wrapper,children:[t.jsx("div",{className:pt.balance,children:a}),r&&t.jsx("div",{className:pt.value,children:r})]}),i&&t.jsxs("footer",{className:pt.error,children:[t.jsx(I.IconWarningFilled,{size:12}),t.jsx("p",{children:i})]})]})]})};function Bn(){const e=g.useRef(null),n=vs();return g.useEffect(()=>{n||e.current?.focus()},[n]),e}const uh="_input_h8073_1",mh={input:uh};function hi(e){const{name:n,control:s,dp:o=6,className:a,rules:r,...i}=e,c=Bn();return t.jsx(pe.Controller,{name:n,control:s,rules:r,render:({field:l})=>t.jsx(Ji.NumericFormat,{value:l.value,getInputRef:Ya.mergeRefs([l.ref,c]),className:L(mh.input,a),onValueChange:d=>{l.onChange(d.value)},onBlur:l.onBlur,decimalScale:o,allowNegative:!1,placeholder:"0",inputMode:"decimal",autoComplete:"off",...i})})}const hh="_input_19r9r_1",ph="_placeholder_19r9r_18",mo={input:hh,placeholder:ph},fh=({children:e})=>t.jsx("p",{className:L(mo.input,{[mo.placeholder]:U(e).isZero()}),children:e}),cn=({balance:e,decimals:n,className:s})=>{const{control:o}=pe.useFormContext(),a={required:"Enter amount",validate:r=>U(r).isZero()?"Enter amount":U(j.toBaseUnit(r,{decimals:n})).gt(e??0)?"Insufficient balance":!0};return t.jsx(hi,{name:"quantity",control:o,className:L(mo.input,s),rules:a})};cn.ReadOnly=fh;const ln=({title:e,content:n,children:s,className:o})=>{const[a,r]=g.useState(!1),i=()=>r(!1);return t.jsx(Xr,{title:e,trigger:s,className:o,open:a,onOpenChange:r,children:n(i)})},gh="_tooltip_19kvs_1",_h="_arrow_19kvs_44",Ca={tooltip:gh,arrow:_h},Un=({label:e,children:n,small:s,...o})=>t.jsxs(Y.Tooltip.Root,{...o,children:[t.jsx(Y.Tooltip.Trigger,{asChild:!0,children:n}),t.jsx(Y.Tooltip.Portal,{container:Ft(),children:t.jsxs(Y.Tooltip.Content,{className:L(Ca.tooltip,{small:s}),collisionBoundary:Ft(),collisionPadding:8,sideOffset:4,children:[e,t.jsx(Y.Tooltip.Arrow,{className:Ca.arrow})]})})]});function Ko(e,n){const s=tt();return T.useQuery({queryKey:qe.balances(n,e).queryKey,queryFn:()=>s.post("v2/info/balances",{json:{chains:{[n]:{address:e,denoms:[]}}}}).json(),select:({chains:o})=>e?o?o[n].denoms??{}:{}:{},enabled:!!e,staleTime:z.SECOND})}function xh(e,n,s){const{data:o={}}=Ko(e,n);return A.path([s],o)}const yh=[["d",1440*60],["h",3600],["m",60],["s",1]];function In(e){if(!e)return;const{formattedParts:n}=yh.reduce(({remainingSeconds:s,formattedParts:o},[a,r])=>{const i=Math.floor(s/r);return{remainingSeconds:s-i*r,formattedParts:i>0?[...o,`${i}${a}`]:o}},{remainingSeconds:e,formattedParts:[]});return n.join(" ")}function Wo(e){return e?.map(n=>{const{amount:s,origin_asset:o}=n;return`${j.formatAmount(s,{decimals:o.decimals??0})} ${o.symbol}`}).join(", ")}function is(e,n){const{watch:s}=It(),o=s(),a=tt(),r=$n(),i={...o,quantity:e},c=!o.srcChainId||!o.srcDenom||!o.dstChainId||!o.dstDenom,l=T.useQueryClient();return T.useQuery({queryKey:qe.route(i,n?.isOpWithdraw).queryKey,queryFn:async()=>{const{srcChainId:d,srcDenom:u,quantity:m,dstChainId:h,dstDenom:p}=i,{decimals:f}=l.getQueryData(qe.asset(d,u).queryKey)??{decimals:0},_={amount_in:j.toBaseUnit(m,{decimals:f}),source_asset_chain_id:d,source_asset_denom:u,dest_asset_chain_id:h,dest_asset_denom:p,is_op_withdraw:n?.isOpWithdraw},x=await a.post("v2/fungible/route",{json:_}).json(),y={quantity:i.quantity,srcChainId:i.srcChainId,srcDenom:i.srcDenom,dstChainId:i.dstChainId,dstDenom:i.dstDenom};return r("Bridge Simulation Success",y),x},enabled:!!Number(i.quantity)&&!n?.disabled&&!c,staleTime:z.MINUTE})}function jh(e){return T.useQuery({queryKey:qe.routeErrorInfo(e||new Error).queryKey,queryFn:async()=>{if(!e||!(e instanceof V.HTTPError))return null;const{response:n}=e;return(n.headers.get("content-type")??"").includes("application/json")?(await n.json()).info??null:null}})}function bh(){const{watch:e}=It(),{srcChainId:n,srcDenom:s,dstChainId:o,dstDenom:a}=e(),r=rt(n),i=kn(r),c=it(s,n),l=it(a,o),d=ie(),u=ue();return i==="initia"&&o===d.chainId&&c.symbol===l.symbol&&u.find(m=>m.chainId===n)?.metadata?.op_denoms?.includes(l.denom)}const vh="_label_t93ix_1",wh="_wrapper_t93ix_7",Ch="_input_t93ix_10",Nh="_clear_t93ix_18",Gn={label:vh,wrapper:wh,input:Ch,clear:Nh},Ho=({mode:e="onChange",myAddress:n,...s})=>{const{validate:o=j.InitiaAddress.validate,chainType:a="initia",onApply:r,ref:i}=s,c=Bn(),{control:l,getValues:d,setValue:u,formState:m}=pe.useFormContext(),h=d("recipient"),[p,f]=g.useState(h),_=rr(),{data:x,isLoading:y,error:b}=T.useQuery({queryKey:ps.address(_.restUrl,p).queryKey,queryFn:()=>_.getAddress(p),staleTime:z.MINUTE,enabled:_.validateUsername(p)}),C=x??(o(p)?p:""),w=n&&j.InitiaAddress.equals(C,n),v=async()=>{try{const M=await navigator.clipboard.readText();f(M.trim())}catch{}};g.useEffect(()=>{e==="onChange"&&(!p&&!m.dirtyFields.recipient||u("recipient",x??p,{shouldValidate:!0,shouldDirty:!0}))},[m.dirtyFields.recipient,p,e,u,x]);const k=()=>{y||b||(u("recipient",C,{shouldValidate:!0,shouldDirty:!0}),r?.())},S=()=>{if(y)return t.jsx(Jt,{level:"loading",children:"Resolving username..."});if(b)return t.jsx(Jt,{level:"error",children:b.message});if(x)return t.jsx(Jt,{level:"success",className:"monospace",children:x});if(e==="onSubmit"&&p&&!C)return t.jsx(Jt,{level:"error",children:"Invalid address"})};return t.jsxs("div",{children:[t.jsxs("label",{htmlFor:"recipient",className:Gn.label,children:[t.jsx("span",{children:"Recipient"}),t.jsx(ne.Small,{type:"button",tabIndex:-1,onClick:v,children:"Paste"})]}),t.jsxs("div",{className:Gn.wrapper,children:[t.jsx(pe.Controller,{name:"recipient",control:l,rules:{required:"Recipient address is required",validate:M=>o(M)||"Invalid address"},render:()=>t.jsx("input",{id:"recipient",className:L(Gn.input,"monospace"),value:p,onChange:M=>f(M.target.value.trim()),placeholder:a==="initia"?"Address or username":"Enter address",autoComplete:"off","data-has-value":p?"true":void 0,ref:e==="onSubmit"?Ya.mergeRefs([i,c]):i})}),!!p&&t.jsx("button",{type:"button",className:Gn.clear,onClick:()=>f(""),"aria-label":"Clear recipient",children:t.jsx(I.IconCloseCircleFilled,{size:16})})]}),S(),w&&t.jsx(Jt,{children:"This is my address"}),e==="onSubmit"&&t.jsx(fe,{extra:(!n||!!C&&!w)&&t.jsx(xe,{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(ne.White,{type:"button",onClick:k,disabled:y||!!b||!C,children:"Apply"})})]})},kh="_scrollable_vgj3r_1",Ih="_list_vgj3r_5",Ah="_item_vgj3r_9",Sh="_name_vgj3r_22",Yn={scrollable:kh,list:Ih,item:Ah,name:Sh};function pi({onSelect:e,list:n,...s}){const{getImage:o,getName:a,getKey:r,getIsLoading:i,getDisabled:c}=s;return t.jsx(ut,{className:Yn.scrollable,children:t.jsx("div",{className:Yn.list,children:n.map(l=>t.jsxs("button",{className:Yn.item,onClick:()=>e(l),disabled:i?.(l)||c?.(l),children:[t.jsx(J,{src:o(l),width:28,height:28}),t.jsx("span",{className:Yn.name,children:a(l)}),i?.(l)&&t.jsx(Kt,{size:16})]},r(l)))})})}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:s=>e.find(o=>o.name===s)}}const $h="_account_h04x1_8",Th="_clear_h04x1_28",Eh="_white_h04x1_39",_n={account:$h,clear:Th,white:Eh},Na=({type:e})=>{const{watch:n,setValue:s}=It(),{srcChainId:o,dstChainId:a,cosmosWalletName:r}=n(),c=n(e==="src"?"sender":"recipient"),l=kn(rt(a)),{list:d,find:u}=Ns(),m=u(r),h=ci(),p=li(),f=h(a),_=j.InitiaAddress.equals(c,f),x=()=>t.jsx(ln,{title:"Connect wallet",content:C=>t.jsx(pi,{onSelect:async w=>{const v=w.getProvider();if(!v)return window.open(w.fallbackUrl,"_blank");const k=v.getOfflineSigner(o),[{address:S}]=await k.getAccounts();s("sender",S),s("cosmosWalletName",w.name),C()},list:d,getImage:w=>w.image,getName:w=>w.name,getKey:w=>w.name}),className:L(_n.account,{[_n.white]:!c}),children:c?t.jsxs(t.Fragment,{children:[m&&t.jsx(J,{src:m.image,width:18,height:18}),t.jsx("span",{className:"monospace",children:j.truncate(c)})]}):t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"Connect wallet"}),t.jsx(I.IconChevronRight,{size:14})]})}),y=C=>t.jsx(ln,{title:"Recipient",content:w=>t.jsx(ut,{children:t.jsx(Ho,{mode:"onSubmit",myAddress:f,chainType:l,validate:v=>p(v,a),onApply:w})}),className:_n.account,children:C}),b=()=>{switch(l){case"initia":case"evm":return _?y(t.jsx(I.IconWallet,{size:14})):t.jsxs("div",{className:_n.account,children:[t.jsx("span",{className:"monospace",children:j.truncate(c)}),t.jsx("button",{type:"button",className:_n.clear,onClick:()=>s("recipient",f,{shouldValidate:!0}),"aria-label":"Reset to my address",children:t.jsx(I.IconCloseCircleFilled,{size:14})})]});case"cosmos":return y(t.jsxs(t.Fragment,{children:[c?t.jsx("span",{className:"monospace",children:j.truncate(c)}):t.jsx("span",{children:"Recipient"}),t.jsx(I.IconEdit,{size:14})]}))}};switch(e){case"src":return x();case"dst":return b()}},qh="_images_cj4xz_1",Ys={images:qh},ks=({assetLogoUrl:e,assetLogoSize:n=36,chainLogoUrl:s,chainLogoSize:o=18,chainLogoOffset:a=6,className:r})=>t.jsxs("div",{className:L(Ys.images,r),style:{position:"relative"},children:[t.jsx(J,{src:e,width:n,height:n,className:Ys.asset,logo:!0}),t.jsx(J,{src:s,width:o,height:o,className:Ys.chain,style:{position:"absolute",bottom:0,right:-1*a},logo:!0})]}),Lh="_root_6187w_1",Mh="_content_6187w_10",Dh="_details_6187w_20",Ph="_symbol_6187w_26",Rh="_chain_6187w_34",Bh="_chevron_6187w_43",Et={root:Lh,content:Mh,details:Dh,symbol:Ph,chain:Rh,chevron:Bh},fi=({asset:e,chain:n,readOnly:s})=>{const o=t.jsxs("div",{className:Et.content,children:[t.jsx(ks,{assetLogoUrl:e.logoUrl,chainLogoUrl:n.logoUrl}),t.jsxs("div",{className:Et.details,children:[t.jsx("div",{className:Et.symbol,children:e.symbol||e.denom}),t.jsxs("div",{className:Et.chain,children:["on ",n.name]})]})]});return s?t.jsx("div",{className:Et.root,children:o}):t.jsxs("div",{className:Et.root,children:[o,t.jsx(I.IconChevronDown,{size:16,className:Et.chevron})]})};function Uh(e,n,s){return s.filter(o=>{const a=e.map(r=>o[r]).map(r=>String(r??"").toLowerCase());return A.any(A.includes(n.toLowerCase()),a)})}const Fh="_root_1sh27_1",Oh="_label_1sh27_8",Vh="_input_1sh27_21",zh="_hasValue_1sh27_31",Kh="_clear_1sh27_35",xn={root:Fh,label:Oh,input:Vh,hasValue:zh,clear:Kh},Is=e=>{const{rootClassName:n,padding:s=16,iconSize:o=16,onClear:a,ref:r,...i}=e;return t.jsxs("div",{className:L(xn.root,n,{[xn.hasValue]:i.value}),style:{"--search-input-padding":`${s}px`,"--search-input-icon-size":`${o}px`},children:[t.jsx("label",{htmlFor:"search",className:xn.label,children:t.jsx(I.IconSearch,{size:o})}),t.jsx("input",{className:xn.input,id:"search",type:"text",maxLength:100,ref:r,...i}),i.value&&t.jsx("button",{type:"button",className:xn.clear,"aria-label":"Clear search",onMouseDown:c=>c.preventDefault(),onClick:a,children:t.jsx(I.IconCloseCircleFilled,{size:o})})]})},Wh="_container_5tajg_1",Hh="_search_5tajg_7",Qh="_list_5tajg_11",Gh="_item_5tajg_15",Yh="_logo_5tajg_37",Zh="_info_5tajg_41",Jh="_symbol_5tajg_47",Xh="_name_5tajg_56",ep="_balance_5tajg_62",tp="_value_5tajg_69",Oe={container:Wh,search:Hh,list:Qh,item:Gh,logo:Yh,info:Zh,symbol:Jh,name:Xh,balance:ep,value:tp},Fn=e=>{const{assets:n,onSelect:s,renderAsset:o=(c,l)=>l(c)}=e,[a,r]=g.useState(""),i=Uh(["symbol"],a,n);return t.jsxs("div",{className:Oe.container,children:[t.jsx(Is,{value:a,onChange:c=>r(c.target.value),onClear:()=>r(""),placeholder:"Search by symbol",rootClassName:Oe.search,padding:20,ref:Bn()}),i.length===0?t.jsx(he,{children:"No assets"}):t.jsx("div",{className:Oe.list,children:i.map(c=>t.jsx("button",{type:"button",className:Oe.item,onClick:()=>s(c.denom),children:o(c,l=>{const{denom:d,logoUrl:u,symbol:m,name:h,balance:p,decimals:f,value:_=0}=l;return t.jsxs(t.Fragment,{children:[t.jsx(J,{src:u,width:32,height:32,className:Oe.logo,logo:!0}),t.jsxs("div",{className:Oe.info,children:[t.jsx("div",{className:Oe.symbol,children:m||d}),t.jsx("div",{className:Oe.name,children:h})]}),t.jsxs("div",{className:Oe.balance,children:[p&&t.jsx("div",{children:j.formatAmount(p,{decimals:f})}),_>0&&t.jsx("div",{className:Oe.value,children:Z(_)})]})]})})},c.denom))})]})},np=()=>t.jsxs("div",{className:Oe.container,children:[t.jsx(Is,{rootClassName:Oe.search,padding:20,placeholder:"Search by symbol",readOnly:!0}),t.jsx(he,{children:"Loading..."})]});Fn.Placeholder=np;const sp="_stack_16oqn_1",op="_title_16oqn_9",ap="_grid_16oqn_16",rp="_item_16oqn_22",ip="_button_16oqn_26",cp="_active_16oqn_44",Xt={stack:sp,title:op,grid:ap,item:rp,button:ip,active:cp},Bt=({label:e,chains:n,value:s,onSelect:o,getShowIndicator:a})=>t.jsxs("div",{children:[e&&t.jsx("h2",{className:Xt.title,children:e}),t.jsx("div",{className:Xt.grid,children:n.map(({chainId:r,name:i,logoUrl:c})=>t.jsx(ii,{offset:-2,disabled:!a?.(r),className:Xt.item,children:t.jsx(Un,{label:i,disableHoverableContent:!0,children:t.jsx("button",{type:"button",className:L(Xt.button,{[Xt.active]:r===s}),onClick:()=>o(r),children:t.jsx(J,{src:c,width:28,height:28,logo:!0})})})},r))})]}),lp=({children:e})=>t.jsx("div",{className:Xt.stack,children:e});Bt.Stack=lp;const dp=({address:e,chain:n,onSelect:s})=>{const o=os(n.chain_id),{data:a={}}=Ko(e,n.chain_id);return t.jsx(Fn,{assets:A.sortWith([A.descend(r=>r.symbol==="INIT"),A.descend(r=>r.value),({balance:r="0"},{balance:i="0"})=>U(i).comparedTo(r)??0,A.ascend(r=>r.symbol.toLowerCase())],o.filter(r=>!r.hidden).map(r=>{const{denom:i,symbol:c=j.truncate(i),logo_uri:l}=r,d=a[i]??{};return{...r,symbol:c,decimals:r.decimals??0,logoUrl:l??"",name:r.name??"",balance:d.amount,value:Number(d.value_usd??0)}})),onSelect:s})},up=({type:e,afterSelect:n})=>{const s=e==="src"?"srcChainId":"dstChainId",o=e==="src"?"srcDenom":"dstDenom",a=e==="src"?"sender":"recipient",r=kt(),i=Rn(),{watch:c,setValue:l}=It(),d=c(a),u=c(s),m=c(o),[h,p]=g.useState(u),f=rt(h),_=Bm(),x=zr(),[y,b]=A.partition(w=>x(w.chain_id),i.filter(w=>!w.hidden)),C=w=>{if(u===h&&m===w){n();return}l(s,h),l(o,w),n()};return t.jsxs(t.Fragment,{children:[t.jsxs(Bt.Stack,{children:[t.jsx(Bt,{label:"Interwoven Economy",chains:y.map(({chain_id:w,chain_name:v,pretty_name:k,logo_uri:S})=>({chainId:w,name:k||v,logoUrl:S??""})),value:h,onSelect:p}),t.jsx(Bt,{label:"Chains",chains:b.map(({chain_id:w,chain_name:v,pretty_name:k,logo_uri:S})=>({chainId:w,name:k||v,logoUrl:S??""})),value:h,onSelect:p})]}),t.jsx(de,{suspenseFallback:t.jsx(Fn.Placeholder,{}),children:t.jsx(dp,{address:_({initialAddress:d,initialChainId:u,chainId:h,fallbackAddress:e==="src"?r:void 0}),chain:f,onSelect:C})},h)]})},ka=({type:e})=>{const n=e==="src"?"srcChainId":"dstChainId",s=e==="src"?"srcDenom":"dstDenom",o=e==="src"?"Select source chain and asset":"Select destination chain and asset",{watch:a}=It(),r=a(n),i=a(s),c=rt(r),l=it(i,r);return t.jsx(ln,{title:o,content:d=>t.jsx(up,{type:e,afterSelect:d}),children:t.jsx(fi,{asset:{denom:l.denom,decimals:l.decimals??0,symbol:l.symbol,logoUrl:l.logo_uri??""},chain:{chainId:c.chain_id,name:c.pretty_name||c.chain_name,logoUrl:c.logo_uri??""}})})},mp="_skeleton_1l4jn_1",hp={skeleton:mp},Ut=({width:e="100%",height:n})=>t.jsx("div",{className:hp.skeleton,style:{width:e,height:n}}),pp="_stack_oq1ir_1",fp="_button_oq1ir_6",gp="_isLoading_oq1ir_19",_p="_disabled_oq1ir_19",xp="_checked_oq1ir_23",yp="_header_oq1ir_37",jp="_title_oq1ir_43",bp="_duration_oq1ir_52",vp="_warning_oq1ir_62",wp="_amount_oq1ir_66",Cp="_value_oq1ir_67",Fe={stack:pp,button:fp,isLoading:gp,disabled:_p,checked:xp,header:yp,title:jp,duration:bp,warning:vp,amount:wp,value:Cp},Np=({children:e})=>t.jsx("div",{className:Fe.stack,children:e}),ts=({label:e,query:n,value:s,onSelect:o,...a})=>{const{data:r,isLoading:i}=n,{watch:c}=It(),{dstChainId:l,dstDenom:d}=c(),u=it(d,l),m=!i&&a.checked,h=!i&&!r;return t.jsxs("button",{type:"button",className:L(Fe.button,{[Fe.isLoading]:i,[Fe.disabled]:h,[Fe.checked]:m}),onClick:()=>{i||h||o(s)},children:[t.jsxs("div",{className:Fe.header,children:[t.jsxs("div",{className:Fe.title,children:[t.jsx("span",{children:e}),m&&t.jsx(I.IconCheck,{size:14})]}),i?t.jsx(Ut,{width:80,height:16}):r?t.jsxs("div",{className:L(Fe.duration,{[Fe.warning]:s==="op"}),children:[t.jsx(I.IconClockFilled,{size:12}),t.jsx("span",{children:In(r.estimated_route_duration_seconds)})]}):t.jsx("div",{className:Fe.duration,children:"Not available"})]}),(i||r)&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:Fe.amount,children:i?t.jsx(Ut,{width:260,height:40}):r?j.formatAmount(r.amount_out,{decimals:u.decimals}):null}),t.jsx("div",{className:Fe.value,children:i?t.jsx(Ut,{width:120,height:16}):r?r.usd_amount_out?Z(r.usd_amount_out):"$-":null})]})]})};ts.Stack=Np;const kp="_description_nuyvt_1",Ip="_presets_nuyvt_8",Ap="_preset_nuyvt_8",Sp="_active_nuyvt_29",$p="_custom_nuyvt_40",Tp="_wrapper_nuyvt_47",Ep="_percent_nuyvt_58",ot={description:kp,presets:Ip,preset:Ap,active:Sp,custom:$p,wrapper:Tp,percent:Ep},Ia=["0.1","0.5","1.0"],qp=({afterConfirm:e})=>{const n=It(),s=n.getValues("slippagePercent"),[o,a]=g.useState(null),{control:r,watch:i,getValues:c,setValue:l}=pe.useForm({defaultValues:{value:s}}),d=i("value");g.useEffect(()=>{const _=Ia.findIndex(x=>x===s);a(_>=0?_:null)},[s]);const u=(_,x)=>{l("value",_),a(x)},m=()=>{a(null)},h=g.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)<.1?{type:"warning",text:"Your transaction may fail"}:null,[d]),p=h?.type==="error",f=({value:_})=>{n.setValue("slippagePercent",_),e()};return t.jsxs(ut,{children:[t.jsx("p",{className:ot.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:ot.presets,children:[Ia.map((_,x)=>t.jsxs("button",{type:"button",className:L(ot.preset,{[ot.active]:o===x}),onClick:()=>u(_,x),children:[_,"%"]},_)),o!==null?t.jsx("button",{type:"button",className:L(ot.preset,ot.custom),onClick:()=>a(null),children:"Custom"}):t.jsxs("div",{className:ot.wrapper,children:[t.jsx(hi,{name:"value",control:r,dp:2,onFocus:m,placeholder:"",className:L(ot.preset,ot.active)}),t.jsx("span",{className:ot.percent,children:"%"})]})]}),h&&t.jsx(xe,{level:h.type,children:h.text}),t.jsx(fe,{children:t.jsx(ne.White,{type:"button",onClick:()=>f(c()),disabled:p,children:"Confirm"})})]})},Lp="_form_1owk5_1",Mp="_arrow_1owk5_5",Dp="_divider_1owk5_14",Pp="_flip_1owk5_23",Rp="_meta_1owk5_41",Bp="_row_1owk5_54",Up="_title_1owk5_60",Fp="_description_1owk5_64",Op="_icon_1owk5_71",Vp="_edit_1owk5_76",zp="_warning_1owk5_99",Le={form:Lp,arrow:Mp,divider:Dp,flip:Pp,meta:Rp,row:Bp,title:Up,description:Fp,icon:Op,edit:Vp,warning:zp},Kp=()=>{const e=je(),n=vs(),[s,o]=Ie.useLocalStorage(oe.BRIDGE_ROUTE_TYPE,"default"),{watch:a,setValue:r,handleSubmit:i,formState:c}=It(),l=a(),{srcChainId:d,srcDenom:u,dstChainId:m,dstDenom:h,quantity:p,sender:f,slippagePercent:_}=l,x=Je(),y=rt(d),b=kn(y),C=rt(m),w=kn(C),v=it(u,d),k=it(h,m),{data:S}=Ko(f,d),M=xh(f,d,u),F=!M?.amount||U(M.amount).isZero(),[E]=Ie.useDebounceValue(p,300),$=b!=="initia"&&w!=="initia",N=bh(),R=is(E,{disabled:$}),P=is(E,{isOpWithdraw:!0,disabled:!N}),q=N&&s==="op"?P:R,{data:D,isLoading:W,isFetching:K,error:O}=q,{data:ee}=jh(O),me=E&&(W||K),Ae=()=>{r("srcChainId",m),r("srcDenom",h),r("dstChainId",d),r("dstDenom",u),r("quantity","",{shouldTouch:!1,shouldDirty:!1})},{openModal:We,closeModal:At}=ys(),mn=i(te=>{if(D?.warning){const{type:St="",message:Ls}=D.warning??{};We({content:t.jsx(di,{type:"warning",icon:t.jsx(I.IconWarningFilled,{size:40}),title:us.sentenceCase(St),primaryButton:{label:"Cancel",onClick:At},secondaryButton:{label:"Proceed anyway",onClick:()=>{e("/bridge/preview",{route:D,values:te}),At()}},children:t.jsx("p",{className:Le.warning,children:Ls})})});return}e("/bridge/preview",{route:D,values:te})}),hn=g.useMemo(()=>D?.estimated_fees?.filter(({fee_behavior:te})=>te==="FEE_BEHAVIOR_DEDUCTED")??[],[D]),Ht=g.useMemo(()=>D?.estimated_fees?.filter(({fee_behavior:te})=>te==="FEE_BEHAVIOR_ADDITIONAL")??[],[D]),Pe=g.useMemo(()=>{for(const te of Ht){const St=S?.[te.origin_asset.denom]?.amount??"0",Ls=D?.source_asset_denom===te.origin_asset.denom?D.amount_in:"0";if(U(St).lt(U(Ls).plus(te.amount??"0")))return`Insufficient ${te.origin_asset.symbol} for fees`}},[S,D,Ht]),Re=g.useMemo(()=>{if(!l.sender)return"Connect wallet";if(!l.quantity||!E)return"Enter amount";if(!l.recipient)return"Enter recipient address";if(c.errors.quantity)return c.errors.quantity.message;if(!D)return"Route not found";if(Pe)return Pe},[E,Pe,c,D,l]),pn=D?j.formatAmount(D.amount_out,{decimals:k.decimals}):"0",Vn=U(p).gt(0)&&U(p).isEqualTo(j.fromBaseUnit(M?.amount,{decimals:M?.decimals??0})),zi=(()=>{switch(b){case"initia":return x(d).fees.fee_tokens.some(({denom:te})=>te===u);case"cosmos":return y.fee_assets.some(({denom:te})=>te===u);case"evm":return!gt.isAddress(u);default:return!1}})(),qs=g.useCallback((te,St)=>te.length?t.jsxs("div",{className:Le.description,children:[Wo(te),!n&&t.jsx(Un,{label:St,children:t.jsx("span",{className:Le.icon,children:t.jsx(I.IconInfoFilled,{size:12})})})]}):null,[n]),zn=U(p).gt(0)&&N,aa=g.useMemo(()=>D?[{condition:!!D.estimated_fees?.length,title:"Fees",content:t.jsxs("div",{children:[qs(hn,"Fee deducted from the amount you receive"),qs(Ht,"Fee charged in addition to the amount you enter")]})},{condition:!zn&&!!In(D.estimated_route_duration_seconds),title:"Estimated time",content:t.jsx("span",{className:Le.description,children:In(D.estimated_route_duration_seconds)})},{condition:D.does_swap,title:"Slippage",content:t.jsxs("span",{className:Le.description,children:[t.jsxs("span",{children:[_,"%"]}),t.jsx(ln,{title:"Slippage tolerance",content:te=>t.jsx(qp,{afterConfirm:te}),className:Le.edit,children:t.jsx(I.IconSettingFilled,{size:12})})]})}].filter(te=>te.condition):[],[Ht,hn,qs,D,zn,_]);return t.jsxs("form",{className:Le.form,onSubmit:mn,children:[t.jsx(uo,{selectButton:t.jsx(ka,{type:"src"}),accountButton:b==="cosmos"&&t.jsx(Na,{type:"src"}),quantityInput:t.jsx(cn,{balance:M?.amount,decimals:v?.decimals}),balanceButton:t.jsx(mi,{onClick:()=>r("quantity",j.fromBaseUnit(M?.amount,{decimals:v?.decimals??0}),{shouldValidate:!0}),disabled:F,children:j.formatAmount(M?.amount??"0",{decimals:v.decimals})}),value:D?Z(D.usd_amount_in):"$-"}),t.jsxs("div",{className:Le.arrow,children:[t.jsx("div",{className:Le.divider}),t.jsx("button",{type:"button",className:Le.flip,onClick:()=>Ae(),children:t.jsx(I.IconChevronDown,{size:16})})]}),t.jsx(uo,{selectButton:t.jsx(ka,{type:"dst"}),accountButton:t.jsx(Na,{type:"dst"}),quantityInput:t.jsx(cn.ReadOnly,{children:pn}),value:D?Z(D.usd_amount_out):"$-",hideNumbers:zn}),t.jsx(rn,{children:zn?t.jsxs(ts.Stack,{children:[t.jsx(ts,{label:"Fast",query:R,value:"default",onSelect:o,checked:s==="default"}),t.jsx(ts,{label:"Lossless",query:P,value:"op",onSelect:o,checked:s==="op"})]}):null}),t.jsx(fe,{extra:t.jsxs(t.Fragment,{children:[t.jsxs(xe.Stack,{children:[D?.extra_infos?.map(te=>t.jsx(xe,{level:"info",children:te},te)),ee&&t.jsx(xe,{level:"info",children:ee}),Vn&&zi&&t.jsx(xe,{level:"warning",children:"Make sure to leave enough for transaction fee"}),D?.warning&&t.jsx(xe,{level:"warning",children:D.warning.message}),D?.extra_warnings?.map(te=>t.jsx(xe,{level:"warning",children:te},te))]}),t.jsx(rn,{children:aa.length>0&&t.jsx("div",{className:Le.meta,children:aa.map((te,St)=>t.jsxs("div",{className:Le.row,children:[t.jsx("span",{className:Le.title,children:te.title}),te.content]},St))})})]}),children:t.jsx(ne.White,{loading:me&&"Simulating...",disabled:!!Re,children:Re??"Preview route"})})]})},Wp=()=>{ui();const e=dr(),n=je(),{closeDrawer:s}=lt(),o=kt(),a=kl(),r=pe.useForm({mode:"onChange",defaultValues:a}),{watch:i,setValue:c}=r,{srcChainId:l,dstChainId:d,srcDenom:u,dstDenom:m,quantity:h,slippagePercent:p,recipient:f}=i();i((E,{name:$})=>{($==="srcChainId"||$==="srcDenom")&&c("quantity","",{shouldTouch:!1,shouldDirty:!1})});const _=ci(),x=_(l),y=_(d),C=li()(f,d);g.useEffect(()=>{c("cosmosWalletName",void 0),c("sender",x)},[l,x,c]),g.useEffect(()=>{C||c("recipient",y)},[y,C,c]);const w=os(l),v=os(d),k=g.useMemo(()=>{if(!w.find(E=>E.denom===u))return`${u} is not available for bridge/swap on ${l}`;if(!v.find(E=>E.denom===m))return`${m} is not available for bridge/swap on ${d}`},[v,d,m,w,l,u]);g.useEffect(()=>{k||(localStorage.setItem(oe.BRIDGE_SRC_CHAIN_ID,l),localStorage.setItem(oe.BRIDGE_SRC_DENOM,u),localStorage.setItem(oe.BRIDGE_DST_CHAIN_ID,d),localStorage.setItem(oe.BRIDGE_DST_DENOM,m),localStorage.setItem(oe.BRIDGE_QUANTITY,h),localStorage.setItem(oe.BRIDGE_SLIPPAGE_PERCENT,p))},[l,u,d,m,h,p,k]);const S=e[0].path==="/bridge",M=()=>t.jsxs(t.Fragment,{children:[t.jsx(he,{error:!0,children:k}),t.jsx(fe,{children:S?t.jsx(ne.White,{onClick:s,children:"Close"}):t.jsx(ne.White,{onClick:()=>n(-1),children:"Go back"})})]}),{reminders:F}=un();return t.jsx(mt,{title:"Bridge/Swap",backButton:S?"/":void 0,extra:t.jsxs(t.Fragment,{children:[t.jsx(ne.Small,{onClick:()=>n("/bridge/history"),unpadded:!0,children:t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"12",height:"12",children:[t.jsx("path",{d:"m0 9.818 1.414-1.414 L2 8.99 V8 a7 7 0 1 1 7 7 v-2 a5 5 0 1 0-5-5 v1.354 l.95-.95 1.414 1.414 L3.182 13 0 9.818 Z"}),t.jsx("path",{d:"M9 5.5 H7.5 v3.75 h3.75 v-1.5 H9 V5.5 Z"})]})}),t.jsx(ii,{offset:0,disabled:F.length===0,children:t.jsx(ne.Small,{onClick:()=>n("/op/withdrawals"),disabled:!o,children:t.jsx("span",{children:"Withdrawal status"})})})]}),children:k?M():t.jsx(pe.FormProvider,{...r,children:t.jsx(de,{children:t.jsx(Kp,{})})})})},Hp="_button_1crvp_1",Qp="_checkbox_1crvp_11",Gp="_checked_1crvp_25",Zn={button:Hp,checkbox:Qp,checked:Gp},Yp=({checked:e,onClick:n,label:s,className:o})=>t.jsxs("button",{type:"button",className:L(Zn.button,o),onClick:n,children:[t.jsx("div",{className:L(Zn.checkbox,{[Zn.checked]:e}),children:e&&t.jsx(I.IconCheck,{size:12})}),t.jsx("span",{className:Zn.label,children:s})]}),Zp="_button_aoxv2_1",Jp={button:Zp},gi=({onClick:e,disabled:n})=>{const{ref:s,inView:o}=Xi.useInView();return g.useEffect(()=>{o&&e()},[o,e]),t.jsxs("button",{className:Jp.button,onClick:e,disabled:n,ref:s,children:[t.jsx("span",{children:"Load more"}),t.jsx(I.IconChevronDown,{size:12})]})};function _i(e,n){return e.reduce((s,o)=>{const a=n(o);if(!a)return s;const r=a.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),i=s[r]||[];return{...s,[r]:[...i,o]}},{})}const ns=({chainId:e,txHash:n})=>`${oe.BRIDGE_HISTORY}:${e}:${n}`,cs=100,Aa=10;function xi(){const[e,n]=Ie.useLocalStorage(oe.BRIDGE_HISTORY,[]),s=g.useCallback((a,r)=>{localStorage.setItem(ns(a),JSON.stringify(r));for(const i of e.slice(cs-1))localStorage.removeItem(ns(i));n((i=[])=>[a,...i.slice(0,cs-1)])},[e,n]),o=g.useCallback(a=>{const r=localStorage.getItem(ns(a));return r?JSON.parse(r):null},[]);return{history:e,addHistoryItem:s,getHistoryDetails:o}}function yi(e){return Ie.useLocalStorage(ns(e),null)}async function Xp(e,n){const s=V.create({prefixUrl:n}),o=`cosmos/auth/v1beta1/account_info/${e}`;for(let a=1;a<=24;a++)try{return await s.get(o).json()}catch{await new Promise(r=>setTimeout(r,5e3))}throw new Error(`Timeout: ${e} not found`)}async function ho(e,n){const{chain_type:s,chain_id:o,chain_name:a,evm_fee_asset:r,rpc:i}=n;if(s!=="evm")throw new Error(`Chain is not an EVM chain: ${a}`);try{await e.send("wallet_switchEthereumChain",[{chainId:`0x${Number(o).toString(16)}`}])}catch(c){if(A.path(["error","code"],c)!==4902)throw c;if(!r)throw new Error(`Fee asset is not defined for chain: ${a}`);await e.send("wallet_addEthereumChain",[{chainId:`0x${Number(o).toString(16)}`,chainName:a,nativeCurrency:r,rpcUrls:[i]}]),await e.send("wallet_switchEthereumChain",[{chainId:`0x${Number(o).toString(16)}`}])}}function jt(){return Ke()}function ef(e,n){const{customFee:s,onCompleted:o}=n??{},a=je(),{showNotification:r,updateNotification:i,hideNotification:c}=Fo(),{addHistoryItem:l}=xi(),d=$n(),{route:u,values:m}=jt(),{srcChainId:h,sender:p,recipient:f,cosmosWalletName:_}=m,x=jr(),{requestTxSync:y,submitTxSync:b,waitForTxConfirmation:C}=De(),{find:w}=Ns(),v=Tn(),k=En(),S=rt(h),M=kn(S),F=Kr(h),E=T.useQueryClient(),{registryUrl:$}=G(),N=Je(),{addReminder:R}=un(),P=tt();return T.useMutation({mutationFn:async()=>{try{if("cosmos_tx"in e){if(!e.cosmos_tx.msgs)throw new Error("Invalid transaction data");const q=e.cosmos_tx.msgs.map(({msg_type_url:Pe,msg:Re})=>{if(!(Pe&&Re))throw new Error("Invalid transaction data");return k.fromAmino({type:sn.aminoConverters[Pe].aminoType,value:JSON.parse(Re)})});if(M==="initia"){const{srcDenom:Pe,quantity:Re}=m,{decimals:pn}=F(Pe),Vn=s?await b({messages:q,chainId:h,fee:s}):await y({messages:q,chainId:h,internal:1,spendCoins:[{denom:Pe,amount:j.toBaseUnit(Re,{decimals:pn})}]}),oa=C({txHash:Vn,chainId:h});return{txHash:Vn,wait:oa}}const D=w(_)?.getProvider();if(!D)throw new Error("Wallet not connected");const W=D.getOfflineSignerOnlyAmino(h),K=await Ve.SigningStargateClient.connectWithSigner(S.rpc,W,{registry:v,aminoTypes:k}),O=await K.getAllBalances(p),ee=S.fee_assets.find(Pe=>O.some(Re=>Re.denom===Pe.denom&&U(Re.amount).gt(0)));if(!ee){const Re=["Insufficient balance for fees.",`Available fee assets: ${S.fee_assets.map(pn=>F(pn.denom).symbol).join(", ")}`,"(note: asset symbols may refer to different tokens across chains)"].join(" ");throw new Error(Re)}const{denom:me,gas_price:Ae}=ee;if(!Ae)throw new Error(`Gas price not found for ${me}`);const We=await K.simulate(p,q,""),At=Ve.GasPrice.fromString(Ae.average+me),mn=Ve.calculateFee(Math.ceil(We*on),At),hn=await K.signAndBroadcastSync(p,q,mn),Ht=$r({txHash:hn,client:K});return{txHash:hn,wait:Ht}}if("evm_tx"in e){const{chain_id:q,to:D,value:W,data:K}=e.evm_tx,O=await x(),ee=await O.getSigner();await ho(O,S);const me=await ee.sendTransaction({chainId:q,to:D,value:W,data:`0x${K}`});return{txHash:me.hash,wait:me.wait()}}throw new Error("Unlisted chain type")}catch(q){throw await _t(q)}},onSuccess:async({txHash:q,wait:D})=>{localStorage.removeItem(oe.BRIDGE_QUANTITY),o?o({txhash:q,chainId:h,timestamp:Date.now(),success:!0,route:u,values:m}):(a(-1),r({type:"loading",title:"Transaction is pending..."}));try{await D;const W=Qo(u)==="OP Bridge withdrawal",K=W?{success:!0,error:null}:await af(P,q,h);if(!o&&!K.success&&K.error){const We=K.error instanceof Error?K.error.message:String(K.error);r({type:"error",title:"Transaction tracking failed",description:`Failed to track transaction: ${We}. The transaction may still be processing.`,autoHide:!0})}const O=K.success,me=sf({txHash:q,srcChainId:h,route:u,values:m,recipient:f},O);l(me.tx,me.details),o||i(nf(c));const Ae=Zs(m,q);if(d("Bridge Transaction Success",Ae),W){const We=of(me.tx,u,f);R(me.tx,We)}}catch(W){const K=W instanceof Error?W.message:String(W);o?o({success:!1,error:K,route:u,values:m}):i({type:"error",title:"Transaction not confirmed",description:K});const O={...Zs(m,q),error:K};d("Bridge Confirmation Failed",O)}finally{E.invalidateQueries({queryKey:qe.balances(h,p).queryKey})}},onError:async q=>{const D=M==="initia"?await Zt(q,N(h),$):q;o?o({success:!1,error:D.message,route:u,values:m}):r({type:"error",title:"Transaction failed",description:D.message});const W=Zs(m);d("Bridge Transaction Failed",{...W,error:D.message})}})}function tf(){const e=tt(),n=X(),s=gs(),{route:o,values:a}=jt(),r=dt();return T.useMutation({mutationFn:async()=>{try{const{chain_id:i,hook:c}=await e.post("op-hook",{json:{source_address:n,source_asset_chain_id:o.source_asset_chain_id,source_asset_denom:o.source_asset_denom,dest_address:j.InitiaAddress(a.recipient).bech32,dest_asset_chain_id:o.dest_asset_chain_id,dest_asset_denom:o.dest_asset_denom}}).json();await Xp(n,r(o.dest_asset_chain_id).rest);const l=c.map(({msg_type_url:m,msg:h})=>sn.aminoTypes.fromAmino({type:sn.aminoConverters[m].aminoType,value:JSON.parse(h)})),d=await s(i,n,l,{amount:[],gas:"1"},"",{incrementSequence:i===a.srcChainId?2:0}),u=Nt.Tx.fromPartial({body:Nt.TxBody.decode(d.bodyBytes),authInfo:Nt.AuthInfo.decode(d.authInfoBytes),signatures:d.signatures});return{signer:n,hook:re.toBase64(Nt.Tx.encode(u).finish())}}catch(i){throw await _t(i)}}})}function nf(e){return{type:"info",title:"Transaction submitted",description:g.createElement(g.Fragment,null,"Check ",g.createElement(nn,{to:"/bridge/history",onClick:e},"the activity page")," for transaction status"),autoHide:!0}}function Zs(e,n){return{quantity:e.quantity,srcChainId:e.srcChainId,srcDenom:e.srcDenom,dstChainId:e.dstChainId,dstDenom:e.dstDenom,txHash:n}}function sf(e,n){const{txHash:s,srcChainId:o,route:a,values:r}=e,i={chainId:o,txHash:s},c=Qo(a)==="OP Bridge withdrawal";return{tx:i,details:{...i,timestamp:Date.now(),route:a,values:r,state:c?"success":void 0,tracked:n},isOpWithdraw:c}}function of(e,n,s){return{...e,recipient:j.InitiaAddress(s).bech32,claimableAt:Date.now()+n.estimated_route_duration_seconds*1e3,amount:n.amount_out,denom:n.dest_asset_denom}}async function af(e,n,s){for(let r=0;r<=30;r++)try{return await e.post("v2/tx/track",{json:{tx_hash:n,chain_id:s}}).json(),{success:!0,error:null}}catch(i){if(r===30)return{success:!1,error:await _t(i)};await new Promise(c=>setTimeout(c,1e3))}return{success:!1,error:new Error("Maximum retries exceeded")}}function ji(e){const{chainId:n,txHash:s,tracked:o}=e,a=tt();return T.useQuery({queryKey:qe.txTrack(n,s).queryKey,queryFn:async()=>{try{return await a.post("v2/tx/track",{json:{tx_hash:s,chain_id:n}}).json()}catch(r){throw await _t(r)}},select:({tx_hash:r})=>r,retry:6,retryDelay:5e3,staleTime:z.INFINITY,enabled:!o})}function bi(e){const{timestamp:n,chainId:s,txHash:o,tracked:a,state:r}=e,i=tt();return T.useQuery({queryKey:qe.txStatus(s,o).queryKey,queryFn:()=>i.get("v2/tx/status",{searchParams:{tx_hash:o,chain_id:s}}).json(),enabled:!!o&&a&&!r,refetchInterval:({state:{data:c}})=>{if(!c)return!1;const{status:l}=c;if(l==="STATE_COMPLETED")return!1;const d=n+e.route.estimated_route_duration_seconds*1e3,u=Date.now(),m=Math.floor((d-u)/1e3);return m<=0?1e3:m<=300?5e3:60*1e3},staleTime:z.INFINITY})}var ss=(e=>(e.OP_WITHDRAW="OP Bridge withdrawal",e.SKIP="Skip",e))(ss||{});function Qo(e){const{operations:n,dest_asset_denom:s}=e;return A.has("op_init_transfer",A.head(n))&&s==="uinit"?"OP Bridge withdrawal":"Skip"}const rf="_success_t4dfk_1",cf="_error_t4dfk_5",Sa={success:rf,error:cf},lf=({tx:e})=>{const[n,s]=yi(e);if(!n)throw new Error("Bridge history details not found");const{data:o}=bi(n),a=n.state??df(o);switch(g.useEffect(()=>{a!=="loading"&&s(r=>{if(!r)throw new Error("Bridge history details not found");return{...r,tracked:!0,state:a}})},[s,a]),a){case"error":return t.jsx("div",{className:Sa.error,children:t.jsx(I.IconCloseCircleFilled,{size:14})});case"success":return t.jsx("div",{className:Sa.success,children:t.jsx(I.IconCheckCircleFilled,{size:14})});default:return t.jsx(Kt,{size:14})}};function df(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 uf="_link_104m3_1",mf="_header_104m3_23",hf="_title_104m3_31",pf="_date_104m3_37",ff="_explorer_104m3_41",gf="_fees_104m3_57",_f="_label_104m3_65",xf="_content_104m3_69",yf="_route_104m3_75",jf="_row_104m3_80",bf="_asset_104m3_86",vf="_amount_104m3_94",wf="_chain_104m3_99",Cf="_account_104m3_108",Nf="_arrow_104m3_115",be={link:uf,header:mf,title:hf,date:pf,explorer:ff,fees:gf,label:_f,content:xf,route:yf,row:jf,asset:bf,amount:vf,chain:wf,account:Cf,arrow:Nf},kf=({tx:e})=>{const[n,s]=yi(e);if(!n)throw new Error("Bridge history details not found");const{chainId:o,txHash:a,route:r,values:i,timestamp:c,tracked:l}=n,{data:d}=ji(n),{address:u="",connector:m}=we.useAccount(),{find:h}=Ns();g.useEffect(()=>{d&&s(q=>{if(!q)throw new Error("Bridge history details not found");return{...q,tracked:!0}})},[s,d]);const{amount_in:p,amount_out:f,source_asset_chain_id:_,source_asset_denom:x,dest_asset_chain_id:y,dest_asset_denom:b,estimated_fees:C=[]}=r,w=rt(_),v=rt(y),k=it(x,_),S=it(b,y),M=(q,D)=>D?t.jsx(J,{src:D,width:12,height:12}):j.InitiaAddress.equals(q,u)?t.jsx(J,{src:m?.icon,width:12,height:12}):t.jsx(I.IconWallet,{size:12}),F=(q,{symbol:D,decimals:W,logo_uri:K},{chain_name:O,pretty_name:ee,...me},Ae,We)=>t.jsxs("div",{className:be.row,children:[t.jsx(ks,{assetLogoUrl:K,chainLogoUrl:me.logo_uri??void 0}),t.jsxs("div",{children:[t.jsxs("div",{className:be.asset,children:[t.jsx("span",{className:be.amount,children:j.formatAmount(q,{decimals:W})}),t.jsx("span",{children:D})]}),t.jsxs("div",{className:be.chain,children:[t.jsxs("span",{children:["on ",ee||O]}),t.jsxs("div",{className:be.account,children:[We,t.jsx("span",{className:"monospace",children:j.truncate(Ae)})]})]})]})]}),E=Qo(r),$=g.useMemo(()=>{switch(E){case ss.SKIP:return"Skip Explorer";case ss.OP_WITHDRAW:return"Initia Scan"}},[E]),N=t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:be.header,children:[t.jsxs("div",{className:be.title,children:[l?t.jsx(lf,{tx:e}):t.jsx(Kt,{size:14}),t.jsx("div",{className:be.date,children:Ze.format(new Date(c),"h:mm a")})]}),t.jsxs("div",{className:be.explorer,children:[t.jsx("span",{children:$}),t.jsx(I.IconExternalLink,{size:12})]})]}),t.jsxs("div",{className:be.route,children:[F(p,k,w,i.sender,M(i.sender,h(i.cosmosWalletName)?.image)),t.jsx("div",{className:be.arrow,children:t.jsx(I.IconArrowDown,{size:12})}),F(f,S,v,i.recipient,M(i.recipient))]}),C.length>0&&t.jsxs("div",{className:be.fees,children:[t.jsx("span",{className:be.label,children:"Fees"}),t.jsx("span",{className:be.content,children:Wo(C)})]})]});if(E===ss.OP_WITHDRAW)return t.jsx(Cs,{chainId:o,txHash:a,className:be.link,children:N});const R=new URLSearchParams({tx_hash:a,chain_id:o}),P=new URL(`?${R.toString()}`,"https://explorer.skip.build");return t.jsx("a",{href:P.toString(),className:be.link,target:"_blank",children:N})},If="_history_13u9z_1",Af="_header_13u9z_5",Sf="_checkbox_13u9z_9",$f="_groups_13u9z_13",Tf="_dateGroup_13u9z_21",Ef="_dateHeader_13u9z_26",qf="_list_13u9z_32",qt={history:If,header:Af,checkbox:Sf,groups:$f,dateGroup:Tf,dateHeader:Ef,list:qf},Lf=()=>{const{initiaAddress:e,hexAddress:n}=De(),{history:s,getHistoryDetails:o}=xi(),a=s.filter(p=>o(p)),r=a.filter(p=>{const f=o(p);if(!f)return!1;const{values:_}=f,{sender:x,recipient:y}=_;return[x,y].some(b=>[e,n].includes(b))}),[i,c]=g.useState(1),[l,d]=Ie.useToggle(!r.length),u=l?a:r,m=u.slice(0,i*Aa),h=g.useMemo(()=>_i(m,p=>{const f=o(p);if(f)return new Date(f.timestamp)}),[m,o]);return t.jsx(mt,{title:"Bridge/Swap activity",children:t.jsxs("div",{className:qt.history,children:[a.length>0&&a.length!==r.length&&t.jsx("header",{className:qt.header,children:t.jsx(Yp,{checked:l,onClick:d,label:"Show all transactions stored in this browser",className:qt.checkbox})}),u.length===0?t.jsx(he,{children:"No bridge/swap activity"}):t.jsx("div",{className:qt.groups,children:Object.entries(h).map(([p,f])=>t.jsxs("div",{className:qt.dateGroup,children:[t.jsx("div",{className:qt.dateHeader,children:p}),t.jsx("div",{className:qt.list,children:f.map(_=>t.jsx(de,{children:t.jsx(kf,{tx:_})},_.txHash))})]},p))}),u.length>i*Aa?t.jsx(gi,{onClick:()=>c(p=>p+1)}):s.length>=cs&&t.jsxs(he,{children:["Only the latest ",cs," items are stored. Older entries will be removed automatically."]})]})})},Go=({tx:e,fee:n,onCompleted:s,confirmMessage:o,error:a})=>{const{mutate:r,isPending:i}=ef(e,{customFee:n,onCompleted:s});return t.jsx(fe,{children:t.jsx(ne.White,{onClick:()=>r(),loading:i&&"Signing transaction...",disabled:!!a,children:a||o||"Confirm"})})},Mf="_content_1hzj2_1",Df="_info_1hzj2_6",Pf="_arrow_1hzj2_11",Rf="_divider_1hzj2_19",Bf="_type_1hzj2_27",Uf="_asset_1hzj2_47",Ff="_amount_1hzj2_55",Of="_lower_1hzj2_60",Vf="_chain_1hzj2_66",zf="_address_1hzj2_72",Ue={content:Mf,info:Df,arrow:Pf,divider:Rf,type:Bf,asset:Uf,amount:Ff,lower:Of,chain:Vf,address:zf},vi=e=>{const{source:n,label:s,amount:o,denom:a,chainId:r,address:i,walletIcon:c}=e,{symbol:l=j.truncate(a),decimals:d=0,logo_uri:u=vo}=e,{chain_name:m,pretty_name:h,...p}=rt(r);return t.jsxs("div",{children:[!n&&t.jsxs("div",{className:Ue.arrow,children:[t.jsx("div",{className:Ue.divider}),s?t.jsx(Un,{label:s,children:t.jsx("button",{className:Ue.type,children:t.jsx(I.IconArrowDown,{size:12})})}):t.jsx("span",{className:Ue.type,children:t.jsx(I.IconArrowDown,{size:12})}),t.jsx("div",{className:Ue.divider})]}),t.jsxs("div",{className:Ue.content,children:[t.jsx(ks,{assetLogoUrl:u,chainLogoUrl:p.logo_uri??void 0}),t.jsxs("div",{className:Ue.info,children:[t.jsxs("div",{className:Ue.asset,children:[t.jsx("span",{className:Ue.amount,children:j.formatAmount(o,{decimals:d})}),t.jsx("span",{children:l})]}),t.jsxs("div",{className:Ue.lower,children:[t.jsxs("div",{className:Ue.chain,children:["on ",h||m]}),i&&t.jsx(as,{value:i,children:({copy:f,copied:_})=>t.jsxs("button",{className:Ue.address,onClick:f,children:[c,_?t.jsx("span",{children:"Copied!"}):t.jsx("span",{className:"monospace",children:j.truncate(i)})]})})]})]})]})]})},en=e=>{const n=it(e.denom,e.chainId);return t.jsx(vi,{...e,...n})};en.Placeholder=vi;const Kf="_root_1hbar_1",Wf="_flexEnd_1hbar_6",Hf="_toggle_1hbar_11",Qf="_route_1hbar_36",Gf="_content_1hbar_43",yn={root:Kf,flexEnd:Wf,toggle:Hf,route:Qf,content:Gf};function Yf(e){const n=({name:s})=>s==="initia-dex"?"Initia DEX":us.capitalCase(A.head(s?.split("-")??[])??"");if("transfer"in e)return{label:"Bridge via IBC",...e,...e.transfer};if("bank_send"in e)return{label:"Send",...e,...e.bank_send};if("swap"in e){const s=e.swap?.swap_venues?.map(n).join(", ");return{label:s?`Swap on ${s}`:"Swap",...e,...e.swap}}if("axelar_transfer"in e)return{label:"Bridge via Axelar",...e,...e.axelar_transfer};if("cctp_transfer"in e)return{label:"Bridge via CCTP",...e,...e.cctp_transfer};if("hyperlane_transfer"in e)return{label:"Bridge via Hyperlane",...e,...e.hyperlane_transfer};if("evm_swap"in e){const s=e.evm_swap?.swap_venues?.map(n).join(", ");return{label:s?`Swap on ${s}`:"Swap",...e,...e.evm_swap}}if("op_init_transfer"in e)return{label:"Bridge via OP Bridge",...e,...e.op_init_transfer};if("go_fast_transfer"in e)return{label:"Bridge via Go Fast",...e,...e.go_fast_transfer};if("eureka_transfer"in e)return{label:"Bridge via Eureka",...e,...e.eureka_transfer};if("stargate_transfer"in e)return{label:"Bridge via Stargate",...e,...e.stargate_transfer};if("layer_zero_transfer"in e)return{label:"Bridge via LayerZero",...e,...e.layer_zero_transfer};throw new Error("Unknown operation type")}const Zf=({addressList:e})=>{const{values:n,route:s}=jt(),{source_asset_denom:o,source_asset_chain_id:a,amount_in:r,operations:i}=s,c=A.zipObj(s.required_chain_addresses,e),{find:l}=Ns(),{connector:d,address:u=""}=we.useAccount(),[m,h]=Ie.useToggle(!1),p=i.length>1,f=t.jsx(J,{src:n.cosmosWalletName?l(n.cosmosWalletName)?.image:d?.icon,width:12,height:12}),_={amount:r,denom:o,chainId:a,address:n.sender,walletIcon:f},x=v=>j.InitiaAddress.equals(v,u)?f:t.jsx(I.IconWallet,{size:11}),y=v=>{const{label:k,amount_out:S,denom:M,denom_out:F=M,chain_id:E,from_chain_id:$,to_chain_id:N=E??$}=v,R=c[N];return{label:p&&!m?void 0:k,amount:S,denom:F,chainId:N,address:R,walletIcon:x(R)}},b=i.map(Yf).map(y),C=b.slice(0,-1),w=b[b.length-1];return t.jsxs(Y.Collapsible.Root,{className:yn.root,open:m,onOpenChange:h,children:[p&&t.jsx("div",{className:yn.flexEnd,children:t.jsx(Y.Collapsible.Trigger,{className:yn.toggle,children:m?t.jsxs(t.Fragment,{children:[t.jsx(I.IconMinus,{size:12}),t.jsx("span",{children:"Hide details"})]}):t.jsxs(t.Fragment,{children:[t.jsx(I.IconList,{size:12}),t.jsx("span",{children:"Show details"})]})})}),t.jsxs("div",{className:yn.route,children:[t.jsx(en,{..._,source:!0}),t.jsx(Y.Collapsible.Content,{className:yn.content,children:C.map((v,k)=>t.jsx(de,{suspenseFallback:t.jsx(en.Placeholder,{...v}),errorBoundaryProps:{fallback:t.jsx(en.Placeholder,{...v})},children:t.jsx(en,{...v})},k))}),t.jsx(en,{...w})]})]})},wi=({error:e})=>{const n=je();return t.jsx(fe,{extra:t.jsx(xe,{level:"error",children:e.message}),children:t.jsx(ne.White,{onClick:()=>n("/bridge"),children:"Home"})})},Yo=({children:e})=>{const n=jt(),{route:s,values:o}=n,{required_chain_addresses:a}=s,{srcChainId:r,dstChainId:i,sender:c,recipient:l}=o,{initiaAddress:d,hexAddress:u}=De(),m=qn(),h=dt(),p=Pn(),f=h(r),_=p(f),x=a.slice(0,-1).some(S=>{const M=h(S);return p(M)==="cosmos"})&&_!=="cosmos",[y,b]=g.useState(void 0),[C,w]=g.useState(!1),[v,k]=g.useState(null);if(g.useEffect(()=>{(async()=>{try{if(!x)return;if(!m)throw new Error("Wallet not connected");w(!0),k(null);const[{pubkey:M}]=await m.getAccounts();b(M)}catch(M){k(await _t(M))}finally{w(!1)}})()},[x,m]),v)return t.jsx(wi,{error:v});if(C)return t.jsx(fe,{children:t.jsx(ne.White,{loading:C&&"Generating intermediary addresses..."})});if(!x||y){const S=a.map((M,F)=>{if(F===a.length-1){const P=h(i);return p(P)==="initia"?j.InitiaAddress(l).bech32:l}const E=h(M),$=p(E),N=h(r),R=p(N);switch($){case"initia":return d;case"evm":return u;case"cosmos":{if(R==="cosmos")return re.toBech32(E.bech32_prefix,re.fromBech32(c).data);if(!y)throw new Error("Pubkey not found");return wn.pubkeyToAddress(wn.encodeSecp256k1Pubkey(y),E.bech32_prefix)}default:throw new Error("Unlisted chain type")}});return e(S)}return null},Zo=({tx:e,children:n})=>{const s=jr(),o=dt(),{data:a,isLoading:r}=T.useQuery({queryKey:["erc20-approvals-needed",e],queryFn:async()=>{if(!("evm_tx"in e))return[];if(!e.evm_tx.required_erc20_approvals)return[];const{chain_id:u,signer_address:m}=e.evm_tx,h=await s();await ho(h,o(u));const p=["function allowance(address owner, address spender) view returns (uint256)"];return(await Promise.all(e.evm_tx.required_erc20_approvals.map(async _=>{const{token_contract:x,spender:y}=_,C=await new gt.ethers.Contract(x,p,h).allowance(m,y);return{approval:_,currentAllowance:BigInt(C.toString())}}))).filter(({approval:_,currentAllowance:x})=>x<BigInt(_.amount)).map(({approval:_})=>_)},enabled:!!e&&"evm_tx"in e&&!!e.evm_tx.required_erc20_approvals}),{mutate:i,data:c,isPending:l,error:d}=T.useMutation({mutationFn:async()=>{try{if(!("evm_tx"in e))throw new Error("Transaction is not EVM");if(!a||a.length===0)throw new Error("No approvals needed");const{chain_id:u}=e.evm_tx,m=await s(),h=await m.getSigner();await ho(m,o(u));for(const p of a){const{token_contract:f,spender:_,amount:x}=p,y=["function approve(address spender, uint256 amount) external returns (bool)"];await(await new gt.ethers.Contract(f,y,h).approve(_,x)).wait()}return!0}catch(u){throw await _t(u)}}});return r?t.jsx(fe,{children:t.jsx(ne.White,{loading:"Checking approvals..."})}):a&&a.length>0&&!c?t.jsx(fe,{extra:t.jsx(xe,{level:"error",children:d?.message}),children:t.jsx(ne.White,{onClick:()=>i(),loading:l&&"Approving tokens...",children:"Approve tokens"})}):n},Jo=({addressList:e,signedOpHook:n,children:s})=>{const o=tt(),{route:a,values:r}=jt(),[i,c]=g.useState(void 0),[l,d]=g.useState(!1),[u,m]=g.useState(null);return g.useEffect(()=>{(async()=>{try{if(a.required_op_hook&&!n)throw new Error("Op hook is required");d(!0),m(null);const p={address_list:e,amount_in:a.amount_in,amount_out:a.amount_out,source_asset_chain_id:a.source_asset_chain_id,source_asset_denom:a.source_asset_denom,dest_asset_chain_id:a.dest_asset_chain_id,dest_asset_denom:a.dest_asset_denom,slippage_tolerance_percent:r.slippagePercent,operations:a.operations,signed_op_hook:n},{txs:f}=await o.post("v2/fungible/msgs",{json:p}).json();if(!f||f.length===0)throw new Error("No transaction data found");const[_]=f;c(_)}catch(p){m(p)}finally{d(!1)}})()},[a,r,JSON.stringify(e),n,o]),u?t.jsx(wi,{error:u}):l||!i?t.jsx(fe,{children:t.jsx(ne.White,{loading:"Fetching messages..."})}):s(i)},Xo=({children:e})=>{const{route:n}=jt(),s=tf();return n.required_op_hook&&!s.data?t.jsx(fe,{extra:t.jsx(xe,{level:"error",children:s.error?.message}),children:t.jsx(ne.White,{onClick:()=>s.mutate(),loading:s.isPending&&"Awaiting signature...",children:"Authorize conversion"})}):e(s.data)},Jf=()=>t.jsx(mt,{title:"Route preview",children:t.jsx(Yo,{children:e=>t.jsxs(t.Fragment,{children:[t.jsx(Zf,{addressList:e}),t.jsx(Xo,{children:n=>t.jsx(Jo,{addressList:e,signedOpHook:n,children:s=>t.jsx(Zo,{tx:s,children:t.jsx(Go,{tx:s})})})})]})})}),Ci=g.createContext(null);function As(){return g.useContext(Ci)}const Wt=ye.createQueryKeys("interwovenkit:op",{bridge:e=>[e],withdrawals:(e,n)=>[e,n],latestOutput:e=>[e],output:(e,n)=>[e,n],outputResponse:(e,n)=>[e,n],withdrawalClaimed:(e,n)=>[e,n]});function Ss(){const{restUrl:e}=ie();return g.useMemo(()=>V.create({prefixUrl:e}),[e])}function Xf(e){const n=Ss(),{data:s}=T.useSuspenseQuery({queryKey:Wt.bridge(e).queryKey,queryFn:()=>n.get(`opinit/ophost/v1/bridges/${e}`).json(),staleTime:z.INFINITY});return s}const $a=20;function eg(e){const n=X();return T.useSuspenseInfiniteQuery({queryKey:Wt.withdrawals(e,n).queryKey,queryFn:async({pageParam:s})=>{if(!n)return[];const o={limit:$a,offset:s,order:"desc"},{withdrawals:a}=await V.create({prefixUrl:e}).get(`withdrawals/${n}`,{searchParams:o}).json();return a},getNextPageParam:s=>{const o=A.last(s)?.sequence;return s.length<$a||!o||o<=1?null:o-1},initialPageParam:0,staleTime:z.SECOND})}function tg(e){const n=Ss(),{data:s}=T.useSuspenseQuery({queryKey:Wt.latestOutput(e).queryKey,queryFn:()=>n.get(`opinit/ophost/v1/bridges/${e}/outputs`,{searchParams:{"pagination.reverse":!0,"pagination.limit":1}}).json(),select:({output_proposals:o})=>{const[a]=o;return a||null},staleTime:z.SECOND});return s}function ng({bridge_id:e,output_index:n}){const s=Ss(),{data:o}=T.useSuspenseQuery({queryKey:Wt.output(e,n).queryKey,queryFn:async()=>{try{return await s.get(`opinit/ophost/v1/bridges/${e}/outputs/${n}`).json()}catch{return null}},staleTime:z.SECOND});return o}function sg({bridge_id:e,sequence:n}){const o=ue().find(({metadata:l})=>l?.op_bridge_id===e.toString())?.chain_id;if(!o)throw new Error(`Chain not found for bridge_id: ${e}`);const r=Je()(o);if(!r)throw new Error(`Chain not found: ${o}`);const i=r.metadata?.executor_uri;if(!i)throw new Error(`Executor URL not found: ${o}`);const{data:c}=T.useSuspenseQuery({queryKey:Wt.outputResponse(i,n).queryKey,queryFn:()=>V.create({prefixUrl:i}).get(`withdrawal/${n}`).json(),staleTime:z.SECOND});return c}function Ni(e,n){const{bridge_id:s}=e,o=Ss(),{data:a}=T.useSuspenseQuery({queryKey:Wt.withdrawalClaimed(s,n).queryKey,queryFn:()=>o.get(`opinit/ophost/v1/bridges/${s}/withdrawals/claimed/by_hash`,{searchParams:{withdrawal_hash:n}}).json(),select:({claimed:r})=>r,staleTime:({state:{data:r}})=>r?.claimed?1/0:z.SECOND});return a}function jn(e){return ec.sha3_256.create().update(e).digest()}function Js(e,n){const s=new ArrayBuffer(n);return new DataView(s).setBigUint64(0,BigInt(e),!1),new Uint8Array(s)}function ki(e){const{bridge_id:n,sequence:s,amount:o,from:a,to:r}=e,i=Js(n.toString(),8),c=Js(s.toString(),8),l=Js(o.amount,8),d=Dt.concatBytes(i,c,jn(Dt.utf8ToBytes(a)),jn(Dt.utf8ToBytes(r)),jn(Dt.utf8ToBytes(o.denom)),l);return jn(jn(d))}const og="_button_17r1o_1",ag="_claimed_17r1o_24",Ta={button:og,claimed:ag},rg=()=>{const{withdrawalTx:e}=As(),{bridge_id:n,sequence:s,amount:o,output_index:a,withdrawal_proofs:r,storage_root:i,from:c,to:l,version:d}=e,u=ie(),m=X(),{requestTxSync:h,waitForTxConfirmation:p}=De(),f=sg(e),_=re.toBase64(ki(e)),x=Ni(e,_),y=T.useQueryClient(),{mutate:b,isPending:C}=T.useMutation({mutationFn:async()=>{if(!f)throw new Error("Output not found");const{last_block_hash:w}=f;return h({chainId:u.chain_id,messages:[{typeUrl:"/opinit.ophost.v1.MsgFinalizeTokenWithdrawal",value:{sender:m,bridgeId:BigInt(n),outputIndex:BigInt(a),withdrawalProofs:r.map(re.fromBase64),from:c,to:l,sequence:BigInt(s),amount:o,version:re.fromBase64(d),storageRoot:re.fromBase64(i),lastBlockHash:re.fromBase64(w)}}],internal:!0})},onSuccess:async w=>{await p({chainId:u.chain_id,txHash:w}),y.invalidateQueries({queryKey:Wt.withdrawalClaimed(n,_).queryKey})}});return x?t.jsxs("div",{className:Ta.claimed,children:[t.jsx(I.IconCheckCircleFilled,{size:14}),t.jsx("span",{children:"Claimed"})]}):t.jsx("button",{className:Ta.button,onClick:()=>b(),disabled:C,children:"Claim"})},ig=({children:e})=>{const{withdrawalTx:n}=As(),s=Xf(n.bridge_id),o=ng(n),a=g.useMemo(()=>{if(!o)return null;const{bridge_config:r}=s,{output_proposal:i}=o;return Ze.addSeconds(new Date(i.l1_block_time),parseFloat(r.finalization_period))},[s,o]);return e(a)},Ii=1e3,cg=60,lg=60,dg=24,po=Ii*cg,fo=po*lg,Ea=fo*dg,ug=({date:e})=>{const n=g.useCallback(()=>{const d=new Date().getTime(),m=e.getTime()-d;if(m<=0)return{days:0,hours:0,minutes:0,seconds:0};const h=Math.floor(m/Ea),p=Math.floor(m%Ea/fo),f=Math.floor(m%fo/po),_=Math.floor(m%po/Ii);return{days:h,hours:p,minutes:f,seconds:_}},[e]),[s,o]=g.useState(n());g.useEffect(()=>{const d=window.setInterval(()=>{o(n())},1e3);return()=>window.clearInterval(d)},[n,e]);const a=d=>d.toString().padStart(2,"0"),{days:r,hours:i,minutes:c,seconds:l}=s;return t.jsx(Un,{label:e.toLocaleString(),children:t.jsxs("span",{className:"monospace",children:[r,"d ",a(i),"h ",a(c),"m ",a(l),"s"]})})},mg="_container_1lz3w_1",hg="_title_1lz3w_5",qa={container:mg,title:hg},pg=({date:e})=>t.jsxs("div",{className:qa.container,children:[t.jsx("div",{className:qa.title,children:"Claimable in"}),t.jsx(ug,{date:e})]}),fg="_container_1oldz_1",gg="_icon_1oldz_7",La={container:fg,icon:gg},_g="Withdrawal will begin within an hour",Ma=()=>{const e=vs();return t.jsxs("div",{className:La.container,children:[t.jsx("span",{children:"In progress"}),!e&&t.jsx(Un,{label:_g,children:t.jsx("span",{className:La.icon,children:t.jsx(I.IconInfoFilled,{size:12})})})]})},xg=({children:e})=>{const{withdrawalTx:n}=As(),s=tg(n.bridge_id),o=n.output_index>Number(s?.output_index);return e(o)},yg=({date:e,children:n})=>{const{chainId:s,withdrawalTx:o}=As(),a=re.toBase64(ki(o)),r=Ni(o,a),{setReminder:i,removeReminder:c}=un();return g.useEffect(()=>{const l={chainId:s,txHash:o.tx_hash};r?c(l):i(l,{...l,recipient:o.to,claimableAt:e.getTime(),amount:o.amount.amount,denom:o.amount.denom,dismissed:Ze.isPast(e.getTime())?!0:void 0})},[s,r,e,c,i,o]),n},jg=()=>t.jsx(xg,{children:e=>e?t.jsx(Ma,{}):t.jsx(ig,{children:n=>n?t.jsx(yg,{date:n,children:Ze.isFuture(n)?t.jsx(pg,{date:n}):t.jsx(rg,{})}):t.jsx(Ma,{})})}),bg="_asset_6h8u2_1",vg="_info_6h8u2_7",wg="_symbol_6h8u2_11",Xs={asset:bg,info:vg,symbol:wg},Cg=({amount:e,denom:n})=>{const s=ie(),o=sr(n,s),{symbol:a,logoUrl:r,decimals:i}=o;return t.jsxs("div",{className:Xs.asset,children:[t.jsx(J,{src:r,width:32,height:32,logo:!0}),t.jsxs("div",{className:Xs.info,children:[t.jsx("span",{className:"monospace",children:j.formatAmount(e,{decimals:i})}),t.jsx("span",{className:Xs.symbol,children:a})]})]})},Ng="_item_km5w2_1",kg={item:Ng},Ig=({chain:e})=>{const n=e.metadata?.executor_uri;if(!n)throw new Error("Executor URL is not defined");const{data:s,fetchNextPage:o,hasNextPage:a,isFetching:r}=eg(n),i=g.useMemo(()=>s?.pages.flat()??[],[s]),{syncReminders:c}=un();return g.useEffect(()=>{const l=i.map(d=>({chainId:e.chainId,txHash:d.tx_hash}));c(l)},[e.chainId,i,c]),i.length?t.jsxs(t.Fragment,{children:[i.map(l=>{const{amount:d}=l;return t.jsxs("div",{className:kg.item,children:[t.jsx(Cg,{...d}),t.jsx(de,{suspenseFallback:null,children:t.jsx(Ci.Provider,{value:{chainId:e.chainId,withdrawalTx:l},children:t.jsx(jg,{})})})]},l.sequence)}),a&&t.jsx(gi,{onClick:()=>o(),disabled:r})]}):t.jsx(he,{children:"No withdrawals"})},Ag="_content_dj1qm_1",Sg="_title_dj1qm_5",Da={content:Ag,title:Sg},$g=()=>{const{chainId:e}=Ke(),n=ue(),s=Ot(),[o,a]=g.useState(e??(s.metadata?.is_l1?"":s.chainId)),r=Je(),{reminders:i}=un(),c=o?r(o):void 0;return t.jsxs(mt,{title:"OP Bridge withdrawals",children:[t.jsx(Bt,{chains:n.filter(({metadata:l})=>!l?.is_l1&&l?.op_denoms?.length),value:o,onSelect:a,getShowIndicator:l=>i.some(d=>d.chainId===l)}),t.jsx("div",{className:Da.content,children:c?t.jsxs(t.Fragment,{children:[t.jsx("h2",{className:Da.title,children:c.name}),t.jsx(de,{children:t.jsx(Ig,{chain:c})},o)]}):t.jsx(xe,{level:"info",children:"Select a chain to display your OP Bridge withdrawals"})})]})},Tg="_page_1g5uz_1",Eg="_title_1g5uz_11",qg="_scrollable_1g5uz_18",Lg="_list_1g5uz_24",Mg="_item_1g5uz_35",Dg="_name_1g5uz_59",Pg="_dimmed_1g5uz_67",Rg="_recent_1g5uz_71",Bg="_installed_1g5uz_72",He={page:Tg,title:Eg,scrollable:qg,list:Lg,item:Mg,name:Dg,dimmed:Pg,recent:Rg,installed:Bg},Ug=[{name:"Rabby",url:"https://rabby.io"},{name:"Phantom",url:"https://phantom.com"},{name:"Keplr",url:"https://keplr.app"},{name:"Leap",url:"https://leapwallet.io"}],Pa=({onSuccess:e})=>{const{connectors:n,connectAsync:s}=we.useConnect(),o=Ie.useReadLocalStorage("wagmi.recentConnectorId"),[a,r]=g.useState(null),{mutate:i,isPending:c}=T.useMutation({mutationFn:async l=>{r(l.id);try{await s({connector:l})}catch(d){throw await _t(d)}},onSettled:()=>{r(null)},onSuccess:()=>{e?.()}});return t.jsxs("div",{className:He.page,children:[t.jsx("h1",{className:He.title,children:"Connect wallet"}),t.jsx(ut,{className:He.scrollable,children:t.jsxs("div",{className:He.list,children:[n.toSorted(A.descend(l=>l.id===o)).map(l=>{const{name:d,icon:u,id:m}=l;return t.jsxs("button",{className:He.item,onClick:()=>i(l),disabled:c,children:[t.jsx(J,{src:u,width:24,height:24}),t.jsx("span",{className:He.name,children:d}),a===m?t.jsx(Kt,{size:16}):o===m?t.jsx("span",{className:He.recent,children:"Recent"}):l.id===ms.id?null:t.jsx("span",{className:He.installed,children:"Installed"})]},m)}),Ug.filter(({name:l})=>!n.some(d=>d.name.includes(l))).map(({name:l,url:d})=>{const u=`https://assets.initia.xyz/images/wallets/${l}.webp`;return t.jsxs("a",{href:d,className:He.item,target:"_blank",children:[t.jsx(J,{src:u,width:24,height:24}),t.jsx("span",{className:L(He.name,He.dimmed),children:l}),t.jsx(I.IconExternalLink,{size:10})]},l)})]})})]})},Fg=ye.createQueryKeys("interwovenkit:tx-gas-estimate",{estimate:e=>[e]}),Ai=({tx:e,children:n})=>{const{values:s}=jt(),{srcChainId:o}=s,a=X(),r=En(),i=Ao(),{data:c,isLoading:l}=T.useQuery({queryKey:Fg.estimate({tx:e,address:a,chainId:o}).queryKey,queryFn:async()=>{if(!("cosmos_tx"in e)||!e.cosmos_tx.msgs)return null;try{const u=e.cosmos_tx.msgs.map(({msg_type_url:p,msg:f})=>{if(!(p&&f))throw new Error("Invalid transaction data");return r.fromAmino({type:sn.aminoConverters[p].aminoType,value:JSON.parse(f)})});return{estimatedGas:await(await i(o)).simulate(a,u,""),messages:u}}catch{return null}},enabled:!!e&&"cosmos_tx"in e&&!!a&&!!o});if(l)return t.jsx(fe,{children:t.jsx(ne.White,{loading:"Estimating gas..."})});const d=c?.estimatedGas??null;return t.jsx(t.Fragment,{children:n(d)})};function On(){const e=tt(),n=Vt(),s=X(),o=Rn(),a=Object.fromEntries(o.filter(({chain_type:r,bech32_prefix:i})=>r==="evm"||r==="cosmos"&&i==="init").map(r=>[r.chain_id,{address:r.chain_type==="evm"?n:s,denoms:[]}]));return T.useQuery({queryKey:qe.allBalances(Object.keys(a),[n,s]).queryKey,queryFn:()=>e.post("v2/info/balances",{json:{chains:a}}).json(),select:({chains:r})=>r?Object.fromEntries(Object.entries(r).map(([i,{denoms:c}])=>[i,c||{}])):{},enabled:!!s,staleTime:z.SECOND})}function $s(){const{localOptions:e=[]}=Ke();return zt().filter(({denom:s,chain_id:o})=>e.some(a=>a.denom===s&&a.chainId===o))}function Ts(){const n=et()==="/withdraw",s=zt(),{watch:o}=nt(),{dstChainId:a,dstDenom:r,srcChainId:i,srcDenom:c}=o(),l=n?i:a,d=n?c:r;return s.find(({denom:u,chain_id:m})=>d===u&&m===l)||null}function Si(){const n=et()==="/withdraw",s=zt(),{watch:o}=nt(),{srcChainId:a,srcDenom:r,dstChainId:i,dstDenom:c}=o(),l=n?i:a,d=n?c:r;return s.find(({denom:u,chain_id:m})=>d===u&&m===l)||null}function Og(){const n=et()==="/withdraw",s=zt(),o=dt(),{data:a,isLoading:r}=On(),{remoteOptions:i=[]}=Ke(),c=Ts();return c?{data:s.filter(({symbol:d,denom:u,chain_id:m})=>i.length?i.some(h=>h.denom===u&&h.chainId===m):d===c.symbol).map(d=>{if(d.hidden||d.chain_id===c.chain_id)return null;const u=o(d.chain_id);if(!u||u.chain_type==="cosmos"&&u.bech32_prefix!=="init")return null;const m=a?.[u.chain_id]?.[d.denom];return!n&&(!m||!Number(m.amount))?null:{asset:d,chain:u,balance:m}}).filter(d=>d!==null),isLoading:r}:{data:[],isLoading:r}}function nt(){return pe.useFormContext()}const Vg="_container_eg177_1",zg="_back_eg177_6",Kg="_title_eg177_18",Wg="_divider_eg177_26",Hg="_label_eg177_30",Qg="_asset_eg177_37",Gg="_assetIcon_eg177_55",Yg="_chainIcon_eg177_67",Zg="_assetName_eg177_80",Jg="_chevron_eg177_92",Xg="_input_eg177_96",e_="_balanceContainer_eg177_108",t_="_value_eg177_116",n_="_maxButton_eg177_126",s_="_detail_eg177_142",o_="_detailsContainer_eg177_153",a_="_detailsButton_eg177_163",r_="_detailValue_eg177_180",i_="_detailToken_eg177_190",c_="_minimumReceived_eg177_198",B={container:Vg,back:zg,title:Kg,divider:Wg,label:Hg,asset:Qg,assetIcon:Gg,chainIcon:Yg,assetName:Zg,chevron:Jg,input:Xg,balanceContainer:e_,value:t_,maxButton:n_,detail:s_,detailsContainer:o_,detailsButton:a_,detailValue:r_,detailToken:i_,minimumReceived:c_},$i=({renderFee:e})=>{const{route:n}=Ke(),{values:s}=jt(),{dstDenom:o,dstChainId:a}=s,i=zt().find(({denom:p,chain_id:f})=>p===o&&f===a),c=X(),l=Zr(),[d,u]=Ie.useToggle(!1),m=n&&n.estimated_route_duration_seconds>60;if(!n||!i)return null;const h=n.does_swap?BigInt(n.amount_out||n.estimated_amount_out)*BigInt(1e4-Number(s.slippagePercent)*100)/BigInt(1e4):BigInt(n.amount_out||n.estimated_amount_out);return t.jsx(rn,{children:t.jsxs("div",{className:B.detailsContainer,children:[t.jsxs("button",{className:B.detailsButton,onClick:u,children:["Transaction details"," ",t.jsx(I.IconChevronDown,{size:12,style:{transform:d?"rotate(180deg)":"rotate(0deg)"}})]}),d&&t.jsxs(t.Fragment,{children:[n.does_swap&&t.jsxs("div",{className:B.detail,children:[t.jsx("p",{className:B.detailLabel,children:"Slippage"}),t.jsxs("p",{className:B.detailValue,children:[s.slippagePercent,"%"]})]}),!!n.estimated_fees?.length&&t.jsxs("div",{className:B.detail,children:[t.jsx("p",{className:B.detailLabel,children:"Bridge fee"}),t.jsx("div",{className:B.detailValue,children:Wo(n.estimated_fees)})]}),e&&t.jsxs("div",{className:B.detail,children:[t.jsx("p",{className:B.detailLabel,children:"Tx fee"}),t.jsx("div",{className:B.detailValue,children:e()})]}),c&&t.jsxs("div",{className:B.detail,children:[t.jsx("p",{className:B.detailLabel,children:"Receiving address"}),t.jsxs("p",{className:B.detailValue,children:[t.jsx("img",{src:l,alt:"Wallet",height:12,width:12})," ",j.truncate(c)]})]})]}),t.jsxs("div",{className:B.detail,children:[t.jsx("p",{className:B.detailLabel,children:"Estimated time"}),t.jsx("p",{className:L(B.detailValue),style:m?{color:"var(--warning)"}:void 0,children:In(n.estimated_route_duration_seconds)})]}),t.jsxs("div",{className:L(B.detail,B.minimumReceived),children:[t.jsx("p",{className:B.detailLabel,children:"Minimum received"}),t.jsxs("p",{className:B.detailValue,children:[t.jsx("img",{src:i.logo_uri,alt:i.symbol,className:B.detailToken})," ",j.formatAmount(h,{decimals:i.decimals})," ",i.symbol]})]})]})})},l_="_trigger_1c7d7_1",d_="_item_1c7d7_5",u_="_itemText_1c7d7_13",m_={trigger:l_,item:d_,itemText:u_},h_=({tx:e,gas:n})=>{const a=et().startsWith("/withdraw")?"Withdraw":"Deposit",{setValue:r}=nt(),i=P=>{r("page","completed"),r("result",P)},{values:c}=jt(),{srcChainId:l,srcDenom:d,quantity:u}=c,h=zt().find(({denom:P,chain_id:q})=>P===d&&q===l),p=Xe(l),f=Sn(p),_=Oo(p),x=Vo(p),y=ct(p),b=n&&"cosmos_tx"in e?_.map(({amount:P,denom:q})=>Ve.calculateFee(Math.ceil(n*on),Ve.GasPrice.fromString(P+q))):null,C=b?.map(P=>P.amount[0])??[],w=P=>{const q=f.find(Ae=>Ae.denom===P)?.amount??"0",D=C.find(Ae=>Ae.denom===P)?.amount??"0",W=h&&d===P?U(u||"0").times(U(10).pow(h.decimals)).toFixed(0):"0",K=U(D).plus(W),O=U(q).gte(K),{symbol:ee,decimals:me}=y(P);return{symbol:ee,decimals:me,spend:U(W).gt(0)?W:null,fee:D,total:K.toFixed(),balance:q,isSufficient:O}},v=()=>{if(!C.length)return null;if(x&&w(x).isSufficient)return x;for(const{denom:P}of C)if(w(P).isSufficient)return P;return C[0]?.denom},[k,S]=g.useState(v),M=b?.find(P=>P.amount[0].denom===k)??void 0,F=k?w(k):null,E=F&&!F.isSufficient?"Insufficient balance":void 0,$=(P,q)=>{if(j.formatAmount(P,{decimals:q})==="0.000000")return 8},N=P=>{const[{amount:q,denom:D}]=P.amount;if(U(q).isZero())return"0";const{symbol:W,decimals:K}=y(D),O=$(q,K);return`${j.formatAmount(q,{decimals:K,dp:O})} ${W}`},R=()=>{if(!b||b.length===0)return null;if(b.length===1)return t.jsx("span",{className:"monospace",children:N(b[0])});if(!M||!k)return null;const P=b.map(O=>{const[{denom:ee}]=O.amount,{symbol:me}=y(ee);return{value:ee,label:N(O),triggerLabel:me}}),[{amount:q,denom:D}]=M.amount,{decimals:W}=y(D),K=$(q,W);return t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[t.jsx("span",{className:"monospace",children:j.formatAmount(q,{decimals:W,dp:K})}),t.jsx(zo,{options:P,value:k,onChange:S,classNames:m_})]})};return t.jsxs(t.Fragment,{children:[t.jsx($i,{renderFee:b&&b.length>0?R:void 0}),t.jsx(Zo,{tx:e,children:t.jsx(Go,{tx:e,fee:M,onCompleted:i,confirmMessage:a,error:E})})]})},Ti=({tx:e,gas:n})=>{const s=et(),{setValue:o}=nt(),a=c=>{o("page","completed"),o("result",c)},i=s.startsWith("/withdraw")?"Withdraw":"Deposit";return!n||!("cosmos_tx"in e)?t.jsxs(t.Fragment,{children:[t.jsx($i,{}),t.jsx(Zo,{tx:e,children:t.jsx(Go,{tx:e,fee:void 0,onCompleted:a,confirmMessage:i})})]}):t.jsx(h_,{tx:e,gas:n})},p_=()=>{const e=je(),n=Ke(),s=$s(),o=dt(),{data:a}=On(),r=Vt(),{watch:i,setValue:c,getValues:l}=nt(),{srcDenom:d,srcChainId:u,quantity:m}=i(),h=Ts(),p=Si(),f=u?o(u):null,_=a?.[u]?.[d]?.amount,x=a?.[u]?.[d]?.price||0,y=Number(x)*Number(m||0),[b]=Ie.useDebounceValue(Number(m),300),C=g.useMemo(()=>{if(!p)return"Select asset";if(!Number(m))return"Enter amount";if(Number(m)>Number(j.fromBaseUnit(_,{decimals:p?.decimals||6})))return"Insufficient balance"},[m,_,p]),{data:w,error:v}=is(b.toString(),{disabled:!!C}),k=g.useEffectEvent(()=>{e(0,{...n,route:w,values:{sender:r,recipient:n.recipientAddress?j.InitiaAddress(n.recipientAddress).hex:r,slippagePercent:"1",...l()}})});return g.useEffect(()=>{k()},[w,r]),!h||!p?null:t.jsxs("div",{className:B.container,children:[s.length>1&&t.jsx("button",{className:B.back,onClick:()=>{c("quantity",""),c("srcDenom",""),c("srcChainId",""),c("page","select-external")},children:t.jsx(I.IconBack,{size:20})}),t.jsxs("h3",{className:B.title,children:["Deposit ",h.symbol]}),t.jsx("p",{className:B.label,children:"From"}),t.jsxs("button",{className:B.asset,onClick:()=>{c("page","select-external")},children:[t.jsx("div",{className:B.assetIcon,children:!!p&&t.jsxs(t.Fragment,{children:[t.jsx("img",{src:p?.logo_uri,alt:p.symbol}),t.jsx("img",{src:f?.logo_uri||"",alt:f?.pretty_name,className:B.chainIcon})]})}),t.jsx("p",{className:B.assetName,children:p?t.jsxs(t.Fragment,{children:[p.symbol,t.jsx("br",{}),t.jsxs("span",{children:["on ",f?.pretty_name]})]}):"Select asset"}),t.jsx(I.IconChevronDown,{className:B.chevron,size:16})]}),t.jsx("div",{className:B.divider}),t.jsx("p",{className:B.label,children:"Amount"}),t.jsx(cn,{balance:_,decimals:p?.decimals||6,className:B.input}),_&&t.jsxs("div",{className:B.balanceContainer,children:[t.jsx("p",{className:B.value,children:y?Z(y):"$-"}),t.jsxs("button",{className:B.maxButton,onClick:()=>{const S=j.fromBaseUnit(_,{decimals:p?.decimals||6});Number(m)!==Number(S)&&c("quantity",S)},children:[t.jsx(I.IconWallet,{size:16})," ",j.formatAmount(_,{decimals:p?.decimals||6})," ",t.jsx("span",{children:"MAX"})]})]}),!n.route||C?t.jsx(fe,{children:t.jsx(ne.White,{type:"submit",loading:!v&&!C&&"Fetching route...",disabled:!0,fullWidth:!0,children:v?"No route found":C})}):t.jsx(Yo,{children:S=>t.jsx(Xo,{children:M=>t.jsx(Jo,{addressList:S,signedOpHook:M,children:F=>t.jsx(Ai,{tx:F,children:E=>t.jsx(Ti,{tx:F,gas:E})})})})})]})},f_="data:image/svg+xml,%3csvg%20width='158'%20height='106'%20viewBox='0%200%20158%20106'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M42.7784%2037.4101C41.9166%2033.983%2043.9856%2030.4147%2047.3994%2029.4401L107.924%2012.1584C111.338%2011.1837%20114.804%2013.1716%20115.666%2016.5984L125.999%2057.6943C126.861%2061.1211%20124.792%2064.6894%20121.378%2065.6644L60.8535%2082.9461C57.4397%2083.9207%2053.9737%2081.9328%2053.1119%2078.5057L42.7784%2037.4101Z'%20fill='%23242629'/%3e%3cpath%20d='M39.217%2031.714C39.217%2028.1816%2042.0964%2025.3179%2045.6482%2025.3179H122.821C126.373%2025.3179%20129.252%2028.1816%20129.252%2031.714V85.0155C129.252%2088.5479%20126.373%2091.4116%20122.821%2091.4116H45.6482C42.0964%2091.4116%2039.217%2088.5479%2039.217%2085.0155V31.714Z'%20fill='%23585F67'/%3e%3cpath%20d='M47.7916%2037.0445C47.7916%2035.2783%2049.2313%2033.8464%2051.0071%2033.8464H117.461C119.237%2033.8464%20120.677%2035.2783%20120.677%2037.0445V79.6854C120.677%2081.4519%20119.237%2082.8837%20117.461%2082.8837H51.0071C49.2313%2082.8837%2047.7916%2081.4519%2047.7916%2079.6854V37.0445Z'%20fill='%23585F67'/%3e%3cpath%20d='M91.7372%2056.2323C91.7372%2052.6999%2094.6166%2049.8362%2098.1681%2049.8362H131.395C131.987%2049.8362%20132.467%2050.3136%20132.467%2050.9024V65.8267C132.467%2066.4155%20131.987%2066.8927%20131.395%2066.8927H98.1681C94.6166%2066.8927%2091.7372%2064.0289%2091.7372%2060.4965V56.2323Z'%20fill='%23242629'/%3e%3cpath%20d='M102.455%2058.3646C102.455%2060.1308%20101.016%2061.5626%2099.24%2061.5626C97.4642%2061.5626%2096.0245%2060.1308%2096.0245%2058.3646C96.0245%2056.5984%2097.4642%2055.1665%2099.24%2055.1665C101.016%2055.1665%20102.455%2056.5984%20102.455%2058.3646Z'%20fill='%23585F67'/%3e%3cpath%20d='M63.8692%2031.714C63.8692%2043.4892%2054.2717%2053.0347%2042.4325%2053.0347C30.5931%2053.0347%2020.9956%2043.4892%2020.9956%2031.714C20.9956%2019.9391%2030.5931%2010.3936%2042.4325%2010.3936C54.2717%2010.3936%2063.8692%2019.9391%2063.8692%2031.714Z'%20fill='%232F3337'/%3e%3cpath%20d='M44.9546%2034.2225C44.9546%2035.6079%2043.8254%2036.7308%2042.4327%2036.7308C41.0398%2036.7308%2039.9106%2035.6079%2039.9106%2034.2225V20.4267C39.9106%2019.0416%2041.0398%2017.9187%2042.4327%2017.9187C43.8254%2017.9187%2044.9546%2019.0416%2044.9546%2020.4267V34.2225Z'%20fill='%23757C82'/%3e%3cpath%20d='M44.9541%2043.0015C44.9541%2044.3866%2043.8249%2045.5095%2042.432%2045.5095C41.0393%2045.5095%2039.9102%2044.3866%2039.9102%2043.0015C39.9102%2041.6161%2041.0393%2040.4932%2042.432%2040.4932C43.8249%2040.4932%2044.9541%2041.6161%2044.9541%2043.0015Z'%20fill='%23757C82'/%3e%3c/svg%3e",g_="data:image/svg+xml,%3csvg%20width='158'%20height='106'%20viewBox='0%200%20158%20106'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M42.7784%2037.4101C41.9166%2033.983%2043.9856%2030.4147%2047.3994%2029.4401L107.924%2012.1584C111.338%2011.1837%20114.804%2013.1716%20115.666%2016.5984L125.999%2057.6943C126.861%2061.1211%20124.792%2064.6894%20121.378%2065.6644L60.8535%2082.9461C57.4397%2083.9207%2053.9737%2081.9328%2053.1119%2078.5057L42.7784%2037.4101Z'%20fill='%23F1F3F5'/%3e%3cpath%20d='M39.217%2031.714C39.217%2028.1816%2042.0964%2025.3179%2045.6482%2025.3179H122.821C126.373%2025.3179%20129.252%2028.1816%20129.252%2031.714V85.0155C129.252%2088.5479%20126.373%2091.4116%20122.821%2091.4116H45.6482C42.0964%2091.4116%2039.217%2088.5479%2039.217%2085.0155V31.714Z'%20fill='%239EA0A2'/%3e%3cpath%20d='M47.7915%2037.0445C47.7915%2035.2783%2049.2312%2033.8464%2051.007%2033.8464H117.461C119.237%2033.8464%20120.677%2035.2783%20120.677%2037.0445V79.6854C120.677%2081.4519%20119.237%2082.8837%20117.461%2082.8837H51.007C49.2312%2082.8837%2047.7915%2081.4519%2047.7915%2079.6854V37.0445Z'%20fill='%239EA0A2'/%3e%3cpath%20d='M91.7373%2056.2323C91.7373%2052.6999%2094.6167%2049.8362%2098.1682%2049.8362H131.395C131.987%2049.8362%20132.467%2050.3136%20132.467%2050.9024V65.8267C132.467%2066.4155%20131.987%2066.8927%20131.395%2066.8927H98.1682C94.6167%2066.8927%2091.7373%2064.0289%2091.7373%2060.4965V56.2323Z'%20fill='%23F1F3F5'/%3e%3cpath%20d='M102.455%2058.3646C102.455%2060.1308%20101.016%2061.5626%2099.2399%2061.5626C97.4641%2061.5626%2096.0244%2060.1308%2096.0244%2058.3646C96.0244%2056.5984%2097.4641%2055.1665%2099.2399%2055.1665C101.016%2055.1665%20102.455%2056.5984%20102.455%2058.3646Z'%20fill='%239EA0A2'/%3e%3cpath%20d='M63.8692%2031.714C63.8692%2043.4892%2054.2717%2053.0347%2042.4325%2053.0347C30.5931%2053.0347%2020.9956%2043.4892%2020.9956%2031.714C20.9956%2019.9391%2030.5931%2010.3936%2042.4325%2010.3936C54.2717%2010.3936%2063.8692%2019.9391%2063.8692%2031.714Z'%20fill='%23E9EBED'/%3e%3cpath%20d='M44.9546%2034.2225C44.9546%2035.6079%2043.8254%2036.7308%2042.4327%2036.7308C41.0398%2036.7308%2039.9106%2035.6079%2039.9106%2034.2225V20.4267C39.9106%2019.0416%2041.0398%2017.9187%2042.4327%2017.9187C43.8254%2017.9187%2044.9546%2019.0416%2044.9546%2020.4267V34.2225Z'%20fill='%23797D81'/%3e%3cpath%20d='M44.9541%2043.0015C44.9541%2044.3866%2043.8249%2045.5095%2042.432%2045.5095C41.0393%2045.5095%2039.9102%2044.3866%2039.9102%2043.0015C39.9102%2041.6161%2041.0393%2040.4932%2042.432%2040.4932C43.8249%2040.4932%2044.9541%2041.6161%2044.9541%2043.0015Z'%20fill='%23797D81'/%3e%3c/svg%3e",__="_container_uxgnj_1",x_="_title_uxgnj_5",y_="_close_uxgnj_12",j_="_emptyIcon_uxgnj_24",b_="_empty_uxgnj_24",v_="_list_uxgnj_51",w_="_asset_uxgnj_66",C_="_placeholder_uxgnj_82",N_="_activeAsset_uxgnj_95",k_="_iconContainer_uxgnj_99",I_="_assetIcon_uxgnj_109",A_="_chainIcon_uxgnj_119",S_="_assetPlaceholder_uxgnj_133",$_="_assetName_uxgnj_154",T_="_assetChain_uxgnj_169",E_="_balance_uxgnj_177",q_="_value_uxgnj_186",le={container:__,title:x_,close:y_,emptyIcon:j_,empty:b_,list:v_,asset:w_,placeholder:C_,activeAsset:N_,iconContainer:k_,assetIcon:I_,chainIcon:A_,assetPlaceholder:S_,assetName:$_,assetChain:T_,balance:E_,value:q_},Ei=()=>{const e=et(),{data:n,isLoading:s}=Og(),{setValue:o,watch:a}=nt(),r=Ts(),i=$s(),{theme:c}=G(),{srcDenom:l,srcChainId:d,dstDenom:u,dstChainId:m}=a(),h=e==="/withdraw",p=h?"dstDenom":"srcDenom",f=h?"dstChainId":"srcChainId";function _(){const b=(h?u:l)&&(h?m:d);return!b&&i.length<=1&&!h?null:t.jsx("button",{className:le.close,onClick:()=>{h||b?o("page","fields"):o("page","select-local")},children:t.jsx(I.IconBack,{size:20})})}return r?!s&&!n.length?t.jsxs("div",{className:le.container,children:[_(),t.jsx("h4",{className:le.title,children:"No available assets"}),t.jsx("img",{src:c==="dark"?f_:g_,alt:"No assets",className:le.emptyIcon}),t.jsxs("p",{className:le.empty,children:["You do not have supported assets to deposit ",r.symbol,"."]})]}):t.jsxs("div",{className:le.container,children:[_(),t.jsxs("h4",{className:le.title,children:[h?"Select destination":`Deposit ${r.symbol}`," "]}),t.jsxs("div",{className:le.list,children:[s&&Array.from({length:5}).map((x,y)=>t.jsxs("div",{className:L(le.asset,le.placeholder),children:[t.jsxs("div",{className:le.iconContainer,children:[t.jsx("div",{className:le.assetIcon}),t.jsx("div",{className:le.chainIcon})]}),t.jsx("div",{className:le.assetPlaceholder})]},y)),!s&&n.sort(({balance:x},{balance:y})=>Number(y?.value_usd??0)-Number(x?.value_usd??0)).map(({asset:x,chain:y,balance:b})=>{const C=h?u:l,w=h?m:d,v=C===x.denom&&w===y.chain_id;return t.jsxs("button",{className:L(le.asset,v&&le.activeAsset),onClick:()=>{o(p,x.denom),o(f,y.chain_id),h||o("quantity",""),o("page","fields")},children:[t.jsxs("div",{className:le.iconContainer,children:[t.jsx("img",{src:x.logo_uri,alt:x.symbol,className:le.assetIcon}),t.jsx("img",{src:y.logo_uri||"",alt:y.chain_name,className:le.chainIcon})]}),t.jsxs("p",{className:le.assetName,children:[x.symbol," ",v&&t.jsx("span",{children:t.jsx(I.IconCheck,{size:16})})]}),t.jsxs("p",{className:le.assetChain,children:["on ",y.pretty_name]}),b&&t.jsxs(t.Fragment,{children:[t.jsx("p",{className:le.balance,children:j.formatAmount(b.amount,{decimals:b.decimals||6})}),t.jsx("p",{className:le.value,children:Z(b.value_usd||0)})]})]},`${x.chain_id}-${x.denom}`)})]})]}):t.jsx("div",{children:"No assets found"})},L_="_title_9ovji_1",M_="_list_9ovji_7",D_="_asset_9ovji_15",eo={title:L_,list:M_,asset:D_},qi=()=>{const e=et(),{setValue:n}=nt(),s=$s(),o=e==="/withdraw",a=o?"srcDenom":"dstDenom",r=o?"srcChainId":"dstChainId",i=o?"dstDenom":"srcDenom",c=o?"dstChainId":"srcChainId",l=(u,m)=>{n(a,u),n(r,m),n("quantity",""),n(i,""),n(c,""),n("page",o?"fields":"select-external")},d=g.useEffectEvent(()=>{const{denom:u,chain_id:m}=s[0];l(u,m)});return g.useEffect(()=>{s.length===1&&d()},[s]),s.length===1?t.jsx("div",{children:"No assets found"}):t.jsxs(t.Fragment,{children:[t.jsx("h3",{className:eo.title,children:o?"Select an asset to withdraw":"Select an asset to receive"}),t.jsx("div",{className:eo.list,children:s.map(({denom:u,chain_id:m,symbol:h,logo_uri:p})=>t.jsxs("button",{className:eo.asset,onClick:()=>l(u,m),children:[t.jsx("img",{src:p,alt:h}),h]},`${u}-${m}`))})]})},P_="data:image/svg+xml,%3csvg%20width='58'%20height='58'%20viewBox='0%200%2058%2058'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M29%202.71875C43.5%202.71875%2055.2812%2014.5%2055.2812%2029C55.2812%2043.5%2043.5%2055.2812%2029%2055.2812C14.5%2055.2812%202.71875%2043.5%202.71875%2029C2.71875%2014.5%2014.5%202.71875%2029%202.71875ZM29%206.34375C16.4937%206.34375%206.34375%2016.4937%206.34375%2029C6.34375%2041.5062%2016.4937%2051.6562%2029%2051.6562C41.5062%2051.6562%2051.6562%2041.5062%2051.6562%2029C51.6562%2016.4937%2041.5062%206.34375%2029%206.34375Z'%20fill='%23F85454'/%3e%3cpath%20d='M36.1616%2018.7623C37.0109%2017.9129%2038.3885%2017.9129%2039.2378%2018.7623C40.087%2019.6117%2040.0871%2020.9893%2039.2378%2021.8386L32.0763%2029.0001L39.2378%2036.1616L39.3865%2036.3279C40.083%2037.1822%2040.034%2038.4417%2039.2378%2039.2378C38.4417%2040.034%2037.1822%2040.083%2036.3279%2039.3865L36.1616%2039.2378L29.0001%2032.0763L21.8386%2039.2378C20.9893%2040.0871%2019.6117%2040.087%2018.7623%2039.2378C17.9129%2038.3885%2017.9129%2037.0109%2018.7623%2036.1616L25.9238%2029.0001L18.7623%2021.8386C17.9129%2020.9892%2017.9129%2019.6116%2018.7623%2018.7623C19.6116%2017.9129%2020.9892%2017.9129%2021.8386%2018.7623L29.0001%2025.9238L36.1616%2018.7623Z'%20fill='%23F85454'/%3e%3c/svg%3e",R_="data:image/svg+xml,%3csvg%20width='72'%20height='72'%20viewBox='0%200%2072%2072'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M36%209.71875C50.5%209.71875%2062.2812%2021.5%2062.2812%2036C62.2812%2050.5%2050.5%2062.2812%2036%2062.2812C21.5%2062.2812%209.71875%2050.5%209.71875%2036C9.71875%2021.5%2021.5%209.71875%2036%209.71875ZM36%2013.3438C23.4937%2013.3438%2013.3438%2023.4937%2013.3438%2036C13.3438%2048.5062%2023.4937%2058.6562%2036%2058.6562C48.5062%2058.6562%2058.6562%2048.5062%2058.6562%2036C58.6562%2023.4937%2048.5062%2013.3438%2036%2013.3438Z'%20fill='%23D1242F'/%3e%3cpath%20d='M43.1616%2025.7623C44.0109%2024.9129%2045.3885%2024.9129%2046.2378%2025.7623C47.087%2026.6117%2047.0871%2027.9893%2046.2378%2028.8386L39.0763%2036.0001L46.2378%2043.1616L46.3865%2043.3279C47.083%2044.1822%2047.034%2045.4417%2046.2378%2046.2378C45.4417%2047.034%2044.1822%2047.083%2043.3279%2046.3865L43.1616%2046.2378L36.0001%2039.0763L28.8386%2046.2378C27.9893%2047.0871%2026.6117%2047.087%2025.7623%2046.2378C24.9129%2045.3885%2024.9129%2044.0109%2025.7623%2043.1616L32.9238%2036.0001L25.7623%2028.8386C24.9129%2027.9892%2024.9129%2026.6116%2025.7623%2025.7623C26.6116%2024.9129%2027.9892%2024.9129%2028.8386%2025.7623L36.0001%2032.9238L43.1616%2025.7623Z'%20fill='%23D1242F'/%3e%3c/svg%3e",B_="_container_9k4hs_1",U_="_title_9k4hs_8",F_="_subtitle_9k4hs_14",O_="_linkContainer_9k4hs_30",V_="_link_9k4hs_30",z_="_separator_9k4hs_51",K_="_errorIcon_9k4hs_62",W_="_error_9k4hs_62",ve={container:B_,title:U_,subtitle:F_,linkContainer:O_,link:V_,separator:z_,errorIcon:K_,error:W_};function H_(e){if(!e)return"pending";const n=e.state;return n==="STATE_COMPLETED_SUCCESS"?"success":n==="STATE_ABANDONED"||n==="STATE_COMPLETED_ERROR"||n==="STATE_PENDING_ERROR"?"failed":"pending"}function ls({type:e}){const{closeModal:n}=dn(),{theme:s}=G(),{watch:o}=nt(),{result:a}=o(),{openDrawer:r}=lt();if(!a)throw new Error("Transfer is completed but result is missing");const i=!a.success,c=i?"":a.txhash,l=i?"":a.chainId,d=i?0:a.timestamp??0,{route:u,values:m}=a,{srcDenom:h,srcChainId:p,quantity:f}=m,_=it(h,p),x=e==="deposit"?"Deposit":"Withdraw",{data:y}=ji({chainId:l,txHash:c,tracked:!1}),{data:b}=bi({chainId:l,txHash:c,tracked:!!y,timestamp:d,route:u}),C=H_(b),w=s==="dark"?P_:R_,v=`https://assets.initia.xyz/videos/Loading${s==="dark"?"Dark":"Light"}.mp4`,k=`https://assets.initia.xyz/videos/Completed${s==="dark"?"Dark":"Light"}.mp4`;if(i)return t.jsxs("div",{className:ve.container,children:[t.jsxs("h3",{className:ve.title,children:[x," failed"]}),t.jsx("img",{src:w,alt:"Failed",className:ve.errorIcon}),t.jsx("p",{className:ve.error,children:a?.error}),t.jsx(ne.White,{fullWidth:!0,onClick:n,children:"Close"})]});const S=In(u.estimated_route_duration_seconds),M=new URLSearchParams({tx_hash:c,chain_id:l}),F=new URL(`?${M.toString()}`,"https://explorer.skip.build"),E=()=>t.jsxs("div",{className:ve.linkContainer,children:[t.jsx("a",{href:F.toString(),target:"_blank",rel:"noopener noreferrer",className:ve.link,children:"View transaction"}),t.jsx("div",{className:ve.separator}),t.jsx("button",{className:ve.link,onClick:()=>{n(),r("/bridge/history")},children:"Go to history"})]});return t.jsxs("div",{className:ve.container,children:[C==="pending"&&t.jsxs(t.Fragment,{children:[t.jsxs("h3",{className:ve.title,children:[e==="deposit"?"Depositing":"Withdrawing"," ",f," ",_.symbol]}),t.jsx("video",{src:v,autoPlay:!0,muted:!0,loop:!0,playsInline:!0,style:{width:"72px",height:"72px",marginBottom:"12px"}}),t.jsxs("p",{className:ve.subtitle,children:["Estimated time: ",t.jsx("span",{children:S})]}),E(),t.jsx("p",{className:ve.subtitle,children:"Your transaction will continue even if you close this"})]}),C==="success"&&t.jsxs(t.Fragment,{children:[t.jsxs("h3",{className:ve.title,children:[x," complete"]}),t.jsx("video",{src:k,autoPlay:!0,muted:!0,playsInline:!0,style:{width:"72px",height:"72px"},onTimeUpdate:$=>{const N=$.currentTarget;N.duration-N.currentTime<.1&&N.pause()}}),E(),t.jsx(ne.White,{fullWidth:!0,onClick:n,children:"Close"})]}),C==="failed"&&t.jsxs(t.Fragment,{children:[t.jsxs("h3",{className:ve.title,children:[x," failed"]}),t.jsx("img",{src:w,alt:"Failed",className:ve.errorIcon}),t.jsx("p",{className:ve.error,children:"Your transaction could not be completed"}),t.jsx(ne.White,{fullWidth:!0,onClick:n,children:"Close"})]})]})}const Q_="_container_7nl9j_1",G_="_page_7nl9j_5",Ra={container:Q_,page:G_},Y_=()=>{const e=pe.useForm({mode:"onChange",defaultValues:{page:"select-local",quantity:""}});return On(),t.jsx(pe.FormProvider,{...e,children:t.jsx(Z_,{})})},Z_=()=>{const{watch:e}=nt(),n=e("page"),s=ze.useTransition(n,{keys:n,from:{opacity:0},enter:{opacity:1},leave:{opacity:0,position:"absolute",inset:0},config:{tension:500,friction:30,clamp:!0,duration:150}}),o=a=>{switch(a){case"select-local":return t.jsx(qi,{});case"select-external":return t.jsx(Ei,{});case"fields":return t.jsx(p_,{});case"completed":return t.jsx(ls,{type:"deposit"})}};return t.jsx(rn,{children:t.jsx("div",{className:Ra.container,children:s((a,r)=>t.jsx(ze.animated.div,{style:a,className:Ra.page,children:o(r)}))})})},J_=()=>{const e=je(),n=Ke(),s=$s(),o=dt(),{data:a}=On(),r=Vt(),{watch:i,setValue:c,getValues:l}=nt(),{srcChainId:d,srcDenom:u,dstChainId:m,quantity:h}=i(),p=Ts(),f=Si(),_=a?.[d]?.[u]?.amount,x=a?.[d]?.[u]?.price||0,y=Number(x)*Number(h||0),[b]=Ie.useDebounceValue(Number(h),300),C=g.useMemo(()=>{if(!Number(h))return"Enter amount";if(Number(h)>Number(j.fromBaseUnit(_,{decimals:p?.decimals||6})))return"Insufficient balance";if(!f)return"Select destination"},[h,_,f,p]),{data:w,error:v}=is(b.toString(),{disabled:!!C}),k=g.useEffectEvent(()=>{e(0,{...n,route:w,values:{sender:r,recipient:n.recipientAddress?j.InitiaAddress(n.recipientAddress).hex:r,slippagePercent:"1",...l()}})});return g.useEffect(()=>{k()},[w,r]),p?t.jsxs("div",{className:B.container,children:[s.length>1&&t.jsx("button",{className:B.back,onClick:()=>{c("dstDenom",""),c("dstChainId",""),c("quantity",""),c("srcDenom",""),c("srcChainId",""),c("page","select-local")},children:t.jsx(I.IconBack,{size:20})}),t.jsxs("h3",{className:B.title,children:["Withdraw ",p.symbol]}),t.jsx("p",{className:B.label,children:"Amount"}),t.jsx(cn,{balance:_,decimals:p?.decimals||6,className:B.input}),_&&t.jsxs("div",{className:B.balanceContainer,children:[t.jsx("p",{className:B.value,children:y?Z(y):"$-"}),t.jsxs("button",{className:B.maxButton,onClick:()=>{const S=j.fromBaseUnit(_,{decimals:p?.decimals||6});Number(h)!==Number(S)&&c("quantity",S)},children:[t.jsx(I.IconWallet,{size:16})," ",j.formatAmount(_,{decimals:p?.decimals||6})," ",t.jsx("span",{children:"MAX"})]})]}),t.jsx("div",{className:B.divider}),t.jsx("p",{className:B.label,children:"Destination"}),t.jsxs("button",{className:B.asset,onClick:()=>{c("page","select-external")},children:[t.jsx("div",{className:B.assetIcon,children:f?t.jsxs(t.Fragment,{children:[t.jsx("img",{src:f?.logo_uri,alt:f.symbol}),t.jsx("img",{src:o(m)?.logo_uri||"",alt:o(m)?.pretty_name,className:B.chainIcon})]}):t.jsx("div",{className:B.chainIcon})}),t.jsx("p",{className:B.assetName,children:f?t.jsxs(t.Fragment,{children:[f.symbol,t.jsx("br",{}),t.jsxs("span",{children:["on ",o(m)?.pretty_name]})]}):"Select chain"}),t.jsx(I.IconChevronDown,{className:B.chevron,size:16})]}),!n.route||C?t.jsx(fe,{children:t.jsx(ne.White,{type:"submit",loading:!v&&!C&&"Fetching route...",disabled:!0,fullWidth:!0,className:B.submit,children:v?"No route found":C})}):t.jsx(Yo,{children:S=>t.jsx(Xo,{children:M=>t.jsx(Jo,{addressList:S,signedOpHook:M,children:F=>t.jsx(Ai,{tx:F,children:E=>t.jsx(Ti,{tx:F,gas:E})})})})})]}):null},X_="_container_7nl9j_1",ex="_page_7nl9j_5",Ba={container:X_,page:ex},tx=()=>{const e=pe.useForm({mode:"onChange",defaultValues:{page:"select-local",quantity:""}});return On(),t.jsx(pe.FormProvider,{...e,children:t.jsx(nx,{})})},nx=()=>{const{watch:e}=nt(),n=e("page"),s=ze.useTransition(n,{keys:n,from:{opacity:0},enter:{opacity:1},leave:{opacity:0,position:"absolute",inset:0},config:{tension:500,friction:30,clamp:!0,duration:150}}),o=a=>{switch(a){case"select-local":return t.jsx(qi,{});case"select-external":return t.jsx(Ei,{});case"fields":return t.jsx(J_,{});case"completed":return t.jsx(ls,{type:"withdraw"})}};return t.jsx(rn,{children:t.jsx("div",{className:Ba.container,children:s((a,r)=>t.jsx(ze.animated.div,{style:a,className:Ba.page,children:o(r)}))})})},sx="_root_1lo0i_1",ox="_address_1lo0i_9",ax="_copy_1lo0i_19",rx="_labelWrapper_1lo0i_33",ix="_labelCopy_1lo0i_43",cx="_labelCopied_1lo0i_47",lx="_copied_1lo0i_55",dx="_derived_1lo0i_65",ux="_derivedLabel_1lo0i_79",mx="_derivedAddress_1lo0i_83",hx="_hexAddress_1lo0i_89",px="_derivedCopy_1lo0i_94",Se={root:sx,address:ox,copy:ax,labelWrapper:rx,labelCopy:ix,labelCopied:cx,copied:lx,derived:dx,derivedLabel:ux,derivedAddress:mx,hexAddress:hx,derivedCopy:px},fx=()=>{const e=g.useRef(null),n=g.useRef(null),{initiaAddress:s,hexAddress:o}=De(),a=Gr("--gray-0");return g.useEffect(()=>{e.current&&(n.current?n.current.update({data:s}):(n.current=new tc({type:"canvas",width:400,height:400,margin:0,data:s,image:"https://registry.initia.xyz/images/INIT.png",qrOptions:{mode:"Byte",errorCorrectionLevel:"H"},imageOptions:{crossOrigin:"anonymous",margin:12},dotsOptions:{type:"dots",color:a},cornersSquareOptions:{type:"extra-rounded",color:a},cornersDotOptions:{type:"dot",color:a},backgroundOptions:{color:"transparent"}}),n.current.append(e.current)))},[s,a]),t.jsx(mt,{title:"Receive",children:t.jsxs("div",{className:Se.root,children:[t.jsx("div",{ref:e,style:{width:200,height:200}}),t.jsx("span",{className:Se.address,children:s}),t.jsx(as,{value:s,children:({copy:r,copied:i})=>t.jsxs("button",{className:L(Se.copy,{[Se.copied]:i}),onClick:r,children:[t.jsx(I.IconCopy,{size:12}),t.jsxs("div",{className:Se.labelWrapper,children:[t.jsx("span",{className:Se.labelCopy,children:"Copy address"}),t.jsx("span",{className:Se.labelCopied,children:"Copied!"})]})]})}),t.jsx(as,{value:o,children:({copy:r,copied:i})=>t.jsxs("button",{className:L(Se.derived,{[Se.copied]:i}),onClick:r,children:[t.jsx("span",{className:Se.derivedLabel,children:"Derived from"}),t.jsxs("span",{className:Se.derivedAddress,children:[t.jsx("span",{className:Se.hexAddress,children:j.truncate(o)}),t.jsx(I.IconCopy,{size:12,className:Se.derivedCopy}),i&&t.jsx("span",{className:Se.copiedText,children:"Copied!"})]})]})})]})})};function gx(){const e=X(),n=ue();return T.useQueries({queries:n.map(s=>({queryKey:Nn.grants(s.chainId,e).queryKey,queryFn:async()=>{const{grants:o}=await V.create({prefixUrl:s.restUrl}).get(`cosmos/authz/v1beta1/grants/granter/${e}`).json();return{chainId:s.chainId,grants:o}},enabled:!!e,staleTime:z.SECOND,retry:!1}))})}const _x="_countdown_vfms8_1",xx={countdown:_x},yx=({expiration:e})=>{const n=()=>{const a=new Date,r=Ze.differenceInSeconds(e,a),i=Math.floor(r/(1440*60)),c=Math.floor(r%(1440*60)/3600),l=Math.floor(r%3600/60),d=r%60,u=[];return i>0&&u.push(`${i}d`),(c>0||i>0)&&u.push(`${c}h`),(l>0||c>0||i>0)&&u.push(`${l}m`),u.push(`${d}s`),u.join(" ")},[s,o]=g.useState(n());return Ie.useInterval(()=>{o(n())},1e3),Ze.isPast(e)?"Expired":t.jsxs(t.Fragment,{children:["Expires in ",t.jsx("span",{className:xx.countdown,children:s})]})},jx="_container_1l528_1",bx="_info_1l528_11",vx="_header_1l528_17",wx="_chainName_1l528_23",Cx="_expiration_1l528_29",Nx="_revokeButton_1l528_35",Yt={container:jx,info:bx,header:vx,chainName:wx,expiration:Cx,revokeButton:Nx},kx=({chainId:e,grantee:n,messageTypes:s,expiration:o})=>{const a=Xe(e),{mutate:r,isPending:i}=Er({grantee:n,internal:!0});return t.jsxs("div",{className:Yt.container,children:[t.jsxs("div",{className:Yt.info,children:[t.jsxs("div",{className:Yt.header,children:[t.jsx(J,{src:a.logoUrl,width:16,height:16,logo:!0}),t.jsx("div",{className:Yt.chainName,children:a.name})]}),t.jsx("div",{className:Yt.expiration,children:o?t.jsx(yx,{expiration:o}):"Until revoked"})]}),t.jsx("button",{className:Yt.revokeButton,onClick:()=>r(e),disabled:i,children:i?"Revoking...":"Revoke"})]})},Ix=({chainId:e,grants:n})=>Object.values(n.reduce((o,a)=>{const r=o[a.grantee];return r?{...o,[a.grantee]:{...r,messageTypes:[...r.messageTypes,a.authorization.msg],expiration:$o([r.expiration,a.expiration?new Date(a.expiration):void 0])}}:{...o,[a.grantee]:{grantee:a.grantee,messageTypes:[a.authorization.msg],expiration:a.expiration?new Date(a.expiration):void 0}}},{})).map(o=>g.createElement(kx,{...o,chainId:e,key:o.grantee})),Ax="_content_q36qs_1",Sx={content:Ax},$x=()=>{const e=gx(),n=()=>{const s=e.filter(o=>o.data&&o.data.grants.length>0).map(o=>o.data);return s.length===0?t.jsx(he,{children:"No permissions found"}):t.jsx("div",{className:Sx.content,children:s.map(({chainId:o,grants:a})=>t.jsx(Ix,{chainId:o,grants:a},o))})};return t.jsx(mt,{title:"Manage auto-signing",backButton:"/settings",children:n()})},Tx="2.2.1",Ex="_version_1sf5y_1",qx={version:Ex},Lx=()=>t.jsxs("aside",{className:qx.version,children:["v",Tx]}),Mx="_link_se23z_1",Dx="_title_se23z_17",Px="_subtitle_se23z_23",Rx="_icon_se23z_30",Jn={link:Mx,title:Dx,subtitle:Px,icon:Rx},Li=({title:e,subtitle:n,rightSection:s,onClick:o})=>t.jsxs("button",{className:Jn.link,onClick:o,children:[t.jsxs("div",{children:[t.jsx("p",{className:Jn.title,children:e}),n&&t.jsx("p",{className:Jn.subtitle,children:n})]}),t.jsx("div",{className:Jn.icon,children:s??t.jsx(I.IconChevronRight,{size:16})})]}),Bx="https://export.initia.xyz/",Ux=()=>{const e="width=600,height=768,scrollbars=yes,resizable=yes";return t.jsx(Li,{title:"Export private key",rightSection:t.jsx(I.IconExternalLink,{size:16}),onClick:()=>window.open(Bx,"_blank",e)})},Fx="_container_1vxr7_1",Ox="_separator_1vxr7_7",Ua={container:Fx,separator:Ox},Vx=()=>{const e=je(),{connector:n}=we.useAccount();return t.jsx(mt,{title:"Settings",backButton:"/",children:t.jsxs("div",{className:Ua.container,children:[t.jsx(Li,{title:"Manage auto-signing",subtitle:"Manage chain auto-signing permissions by apps",onClick:()=>e("/settings/autosign")}),n?.id===jo&&t.jsx(Ux,{}),t.jsx(ft.Separator,{className:Ua.separator}),t.jsx(Lx,{})]})})},zx="_trigger_1yjkd_1",Kx="_icon_1yjkd_23",Wx="_full_1yjkd_27",Hx="_triggerContent_1yjkd_32",Qx="_triggerText_1yjkd_40",Gx="_popoverBackdrop_1yjkd_51",Yx="_popoverPositioner_1yjkd_70",Zx="_popoverPopup_1yjkd_74",Jx="_search_1yjkd_99",Xx="_viewport_1yjkd_105",ey="_item_1yjkd_111",ty="_highlighted_1yjkd_127",ny="_active_1yjkd_131",sy="_itemContent_1yjkd_136",oy="_extra_1yjkd_142",ay="_connectedTag_1yjkd_149",_e={trigger:zx,icon:Kx,full:Wx,triggerContent:Hx,triggerText:Qx,popoverBackdrop:Gx,popoverPositioner:Yx,popoverPopup:Zx,search:Jx,viewport:Xx,item:ey,highlighted:ty,active:ny,itemContent:sy,extra:oy,connectedTag:ay},Es=({value:e,onChange:n,chainIds:s,renderExtra:o,fullWidth:a})=>{const{defaultChainId:r}=G(),[i,c]=g.useState(""),[l,d]=g.useState(!1),[u,m]=g.useState(0),[h,p]=g.useState(),f=g.useRef([]),_=g.useRef(null),x=ue(),y=s.map($=>x.find(N=>N.chainId===$)).filter(Boolean),b=$=>t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,viewBox:"0 0 14 14",children:[t.jsx("path",{fill:"var(--dimmed)",d:"M5.69625 12.04C8.47976 12.04 10.7362 9.78348 10.7362 6.99996C10.7362 4.21645 8.47976 1.95996 5.69625 1.95996C2.91273 1.95996 0.65625 4.21645 0.65625 6.99996C0.65625 9.78348 2.91273 12.04 5.69625 12.04Z"}),t.jsx("path",{fill:"var(--dimmed)",d:"M9.66003 2.63379C10.85 3.71879 11.6025 5.26754 11.6025 7.00004C11.6025 8.73254 10.85 10.2813 9.66003 11.3663C11.7513 10.99 13.3438 9.19629 13.3438 7.00004C13.3438 4.80379 11.7513 3.00129 9.66003 2.63379Z"})]}),C=g.useMemo(()=>({chainId:"",name:"All",logoUrl:b}),[]),w=g.useMemo(()=>{const $=[C,...y];if(!i)return $;const N=i.toLowerCase();return $.filter(R=>R.name.toLowerCase().includes(N)||R.chainId.toLowerCase().includes(N))},[y,i,C]),v=y.find($=>$.chainId===e)||C,k=parseInt(Gr("--drawer-offset")),S=6,M=()=>{if(c(""),m(-1),_.current){const N=_.current.getBoundingClientRect().bottom+S,R=window.innerHeight-N-2*k;p(R)}d(!0)};g.useEffect(()=>{u>=0&&u<f.current.length&&f.current[u]?.scrollIntoView({block:"nearest",behavior:"auto"})},[u]);const F=g.useCallback($=>{switch($.key){case"ArrowDown":$.preventDefault(),m(N=>(N+1)%w.length);break;case"ArrowUp":$.preventDefault(),m(N=>(N-1+w.length)%w.length);break;case"Enter":$.preventDefault(),w[u]&&(n(w[u].chainId),d(!1));break;case"Escape":$.preventDefault(),d(!1);break}},[w,u,n,d]),E=$=>{n($),d(!1)};return t.jsxs(Qt.Popover.Root,{open:l,onOpenChange:M,modal:"trap-focus",children:[t.jsx(Qt.Popover.Trigger,{render:t.jsxs("button",{className:L(_e.trigger,{[_e.full]:a}),"aria-expanded":l,role:"listbox",ref:_,children:[t.jsxs("div",{className:_e.triggerContent,children:[typeof v.logoUrl=="string"?t.jsx(J,{src:v.logoUrl,width:14,height:14,logo:!0}):v.logoUrl(14),t.jsx("span",{className:_e.triggerText,children:v.name})]}),t.jsx(I.IconChevronDown,{size:16,className:_e.icon})]})}),t.jsxs(Qt.Popover.Portal,{container:Ft(),children:[t.jsx(Qt.Popover.Backdrop,{className:_e.popoverBackdrop,onClick:()=>d(!1)}),t.jsx(Qt.Popover.Positioner,{className:_e.popoverPositioner,align:"end",side:"bottom",sideOffset:S,collisionAvoidance:{side:"none"},children:t.jsxs(Qt.Popover.Popup,{className:L(_e.popoverPopup,{[_e.full]:a}),style:{maxHeight:h},children:[t.jsx(Is,{value:i,onChange:$=>{c($.target.value),m(0)},onClear:()=>c(""),onKeyDown:F,placeholder:"Search appchains",rootClassName:_e.search,ref:Bn()}),t.jsx("div",{className:_e.viewport,role:"listbox",children:w.length===0?t.jsx(he,{children:"No appchains found"}):w.map(({chainId:$,name:N,logoUrl:R},P)=>t.jsxs("div",{className:L(_e.item,{[_e.highlighted]:P===u,[_e.active]:e===$}),onClick:()=>E($),onKeyDown:q=>{(q.key==="Enter"||q.key===" ")&&(q.preventDefault(),E($))},onMouseEnter:()=>m(P),role:"option","aria-selected":e===$,tabIndex:-1,ref:q=>{q&&(f.current[P]=q)},children:[t.jsxs("div",{className:_e.itemContent,children:[typeof R=="string"?t.jsx(J,{src:R,width:16,height:16,logo:!0}):R(16),t.jsx("span",{className:_e.name,children:N}),$===r&&t.jsx("span",{className:_e.connectedTag,children:"Connected"})]}),o&&t.jsx("span",{className:_e.extra,children:o($)})]},$))})]})})]})]})},ry="_container_1nap1_1",iy="_controls_1nap1_7",cy="_search_1nap1_13",ea={container:ry,controls:iy,search:cy},ly=({children:e})=>t.jsx("div",{className:ea.container,children:e}),dy=({children:e})=>t.jsx("div",{className:ea.controls,children:e}),uy=e=>t.jsx(Is,{...e,rootClassName:ea.search}),Ye={Root:ly,Controls:dy,SearchInput:uy},Mi=H.atom(""),Di=H.atom(""),my=H.atom(""),hy=H.atom(""),py=H.atom(""),fy="_change_1x9v4_1",gy="_positive_1x9v4_10",_y="_negative_1x9v4_14",to={change:fy,positive:gy,negative:_y},Pi=({amount:e,asset:n})=>{const{denom:s,symbol:o,decimals:a}=n,r=new U(e).isPositive(),i=new U(e).abs().toString();return t.jsxs("div",{className:L(to.change,r?to.positive:to.negative),children:[r?"+":"-",j.formatAmount(i,{decimals:a})," ",o||s]})},xy=({changes:e,chain:n})=>{const s=ct(n);return e.map(({amount:o,denom:a},r)=>t.jsx(Pi,{amount:o,asset:s(a)},r))},yy=({changes:e,chain:n})=>{const s=ct(n);return e.map(({amount:o,metadata:a},r)=>t.jsx(si,{metadata:a,chain:n,children:i=>t.jsx(Pi,{amount:o,asset:s(i)})},r))},jy=({events:e,chain:n})=>{const{initiaAddress:s,hexAddress:o}=De();return n.metadata?.is_l1||n.metadata?.minitia?.type==="minimove"?t.jsx(yy,{changes:ni(e,o),chain:n}):t.jsx(xy,{changes:ti(e,s),chain:n})},by="_message_1g2hc_1",vy="_more_1g2hc_8",Fa={message:by,more:vy},wy=({messages:e})=>t.jsxs(t.Fragment,{children:[e.slice(0,3).map((n,s)=>t.jsx("p",{className:Fa.message,children:us.sentenceCase(n["@type"].split("Msg")[1])},s)),e.length>3&&t.jsx("footer",{className:Fa.more,children:`+${e.length-3} more`})]}),Cy="_link_fuhbt_1",Ny="_inner_fuhbt_16",ky="_header_fuhbt_21",Iy="_time_fuhbt_30",Ay="_error_fuhbt_36",Sy="_timestamp_fuhbt_40",$y="_chainInfo_fuhbt_45",Ty="_content_fuhbt_53",Ey="_messages_fuhbt_61",qy="_changes_fuhbt_67",at={link:Cy,inner:Ny,header:ky,time:Iy,error:Ay,timestamp:Sy,chainInfo:$y,content:Ty,messages:Ey,changes:qy},Ly=({txItem:e,chain:n})=>t.jsx(Cs,{txHash:e.txhash,chainId:n.chainId,className:at.link,children:t.jsxs("div",{className:at.inner,children:[t.jsxs("div",{className:at.header,children:[t.jsxs("div",{className:at.time,children:[e.code!==0&&t.jsx(I.IconWarningFilled,{size:14,className:at.error}),t.jsx("span",{className:at.timestamp,children:Ze.format(new Date(e.timestamp),"h:mm a")})]}),t.jsxs("div",{className:at.chainInfo,children:[t.jsx(J,{src:n.logoUrl,width:12,height:12,logo:!0}),t.jsx("span",{children:n.name})]})]}),t.jsxs("div",{className:at.content,children:[t.jsx("div",{className:at.messages,children:t.jsx(wy,{messages:e.tx.body.messages})}),t.jsx("div",{className:at.changes,children:t.jsx(de,{suspenseFallback:null,errorBoundaryProps:{fallback:null},children:t.jsx(jy,{...e,chain:n})})})]})]})}),My="_list_1mv55_1",Dy="_dateGroup_1mv55_7",Py="_dateHeader_1mv55_12",Ry="_more_1mv55_18",Xn={list:My,dateGroup:Dy,dateHeader:Py,more:Ry},By=({list:e,chainId:n})=>{const s=X(),o=g.useMemo(()=>_i(e,a=>{if(a.timestamp)return new Date(a.timestamp)}),[e]);return e.length===0?t.jsx(he,{children:"No activity found"}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:Xn.list,children:Object.entries(o).map(([a,r])=>t.jsxs("div",{className:Xn.dateGroup,children:[t.jsx("div",{className:Xn.dateHeader,children:a}),r.map(i=>t.jsx(de,{errorBoundaryProps:{fallback:null},children:t.jsx(Ly,{txItem:i,chain:i.chain})},i.txhash))]},a))}),t.jsx(Cs,{chainId:n,accountAddress:s,pathSuffix:"/txs",className:Xn.more,showIcon:!0,children:"View more on Initia Scan"})]})},Uy=()=>{const{activities:e,isLoading:n}=Zd(),[s,o]=H.useAtom(py),a=ie(),r=g.useMemo(()=>Array.from(new Set(e.map(c=>c.chain.chainId))),[e]),i=g.useMemo(()=>s?e.filter(c=>c.chain.chainId===s):e,[e,s]);return n&&e.length===0?t.jsx(he,{children:"Loading activities..."}):!e.length&&!n?t.jsx(he,{children:"No activity yet"}):t.jsxs(Ye.Root,{children:[t.jsx(Ye.Controls,{children:t.jsx(Es,{value:s,onChange:o,chainIds:r,fullWidth:!0})}),t.jsx(By,{list:i,chainId:s||a.chainId})]})},Fy="_thumbnail_1xyqw_1",Oy="_placeholder_1xyqw_18",Vy="_clickable_1xyqw_24",bn={thumbnail:Fy,placeholder:Oy,clickable:Vy},zy=({nftInfo:e,size:n,onClick:s})=>{const{collection_addr:o,object_addr:a,nft:r,chain:i}=e,{glyphUrl:c}=G(),l=new URL(`/v1/${i.chainId}/${o}/${a||r.token_id}`,c).toString();return s?t.jsx("button",{className:L(bn.thumbnail,bn.clickable),onClick:s,style:{width:n,height:n},children:t.jsx(J,{src:l,classNames:{placeholder:bn.placeholder}})}):t.jsx("div",{className:bn.thumbnail,style:{width:n,height:n},children:t.jsx(J,{src:l,classNames:{placeholder:bn.placeholder}})})},Ky="_collectionName_qs5tw_1",Wy="_nftName_qs5tw_6",Hy="_chainInfo_qs5tw_10",no={collectionName:Ky,nftName:Wy,chainInfo:Hy},ta=({normalizedNft:e,onThumbnailClick:n,thumbnailSize:s,chainIconSize:o=12,classNames:a})=>{const{collection_name:r,name:i,chain:c}=e;return t.jsxs("div",{className:a?.root,children:[t.jsx(zy,{nftInfo:e,onClick:n,size:s}),t.jsxs("div",{children:[t.jsx("div",{className:L(no.collectionName,a?.collectionName),children:r}),t.jsx("div",{className:L(no.nftName,a?.nftName),children:i}),t.jsxs("div",{className:L(no.chainInfo,a?.chainInfo),children:[t.jsx(J,{src:c.logoUrl,width:o,height:o,logo:!0}),t.jsx("span",{children:c.name})]})]})]})},na=ye.createQueryKeys("interwovenkit:nft",{nfts:(e,n)=>[e,n],metadata:e=>[e]});function Qy(e,n){const{nft:s}=e,o=n.name??s.token_id;return{...e,...s,...n,name:o}}function Gy(e,n){return e.flatMap((s,o)=>(n[o]??[]).map(r=>({...r,chain:s})))}const Yy=()=>{const e=X(),n=ue(),s=T.useQueries({queries:n.map(l=>({queryKey:na.nfts(l.indexerUrl,e).queryKey,queryFn:()=>ar(`indexer/nft/v1/tokens/by_account/${e}`,{prefixUrl:l.indexerUrl},"tokens"),staleTime:z.SECOND}))}),o=s.map(A.prop("data")),a=Gy(n,o),r=a.reduce((l,{chain:d})=>({...l,[d.chainId]:(l[d.chainId]||0)+1}),{}),i=Object.values(r).reduce((l,d)=>l+d,0),c=s.some(l=>l.isLoading);return{nftInfos:a,chainCounts:r,totalCount:i,isLoading:c}};function Zy(e){const n=Oa(e);return T.useQuery({queryKey:na.metadata(n).queryKey,queryFn:async()=>{try{if(!n)return{};const s=await V.get(n).json();return{...s,image:Oa(s.image)}}catch{return{}}},staleTime:z.INFINITY})}function Oa(e){return e?.replace("ipfs://","https://ipfs.io/ipfs/")}const Jy=({nftInfo:e,children:n})=>{const{data:s={}}=Zy(e.nft.uri),o=Qy(e,s);return n(o)},Xy="_grid_1wwdn_1",e1="_root_1wwdn_7",t1="_collectionName_1wwdn_15",n1="_nftName_1wwdn_23",s1="_chainInfo_1wwdn_32",Va={grid:Xy,root:e1,collectionName:t1,nftName:n1,chainInfo:s1},o1=()=>{const[e,n]=H.useAtom(my),[s,o]=H.useAtom(hy),{nftInfos:a,chainCounts:r,totalCount:i,isLoading:c}=Yy(),l=je(),d=g.useMemo(()=>a.filter(({collection_addr:m,collection_name:h,nft:p,object_addr:f,chain:_})=>{if(s&&_.chainId!==s)return!1;if(e){const x=e.trim().toLowerCase();return m.toLowerCase().includes(x)||h.toLowerCase().includes(x)||p.token_id.toLowerCase().includes(x)||f.toLowerCase().includes(x)}return!0}),[a,s,e]),u=g.useMemo(()=>Array.from(new Set(a.map(({chain:m})=>m.chainId))),[a]);return c&&a.length===0?t.jsx(he,{children:"Loading NFTs..."}):!a.length&&!e&&!c?t.jsx(he,{children:"No NFTs"}):t.jsxs(Ye.Root,{children:[t.jsxs(Ye.Controls,{children:[t.jsx(Ye.SearchInput,{value:e,onChange:m=>n(m.target.value),onClear:()=>n(""),placeholder:"Search NFTs"}),t.jsx(Es,{value:s,onChange:o,chainIds:u,renderExtra:m=>m?r[m]||0:i})]}),d.length===0?t.jsx(he,{children:"No NFTs found"}):t.jsx("div",{className:Va.grid,children:d.map(m=>{const{collection_addr:h,nft:p}=m;return t.jsx(Jy,{nftInfo:m,children:f=>t.jsx(ta,{normalizedNft:f,onThumbnailClick:()=>l("/nft",f),classNames:Va})},h+p.token_id)})})]})},Ri=g.createContext(null);function Bi(){return g.useContext(Ri)}const a1="_popup_nbecp_1",r1="_item_nbecp_19",es={popup:a1,item:r1},Ui=({asset:e,children:n})=>{const{denom:s,decimals:o,symbol:a,logoUrl:r,unlisted:i,address:c,chain:l}=e,{chainId:d}=l,[u,m]=g.useState(!1),h=je(),p=Bi(),{showNotification:f}=Fo(),{defaultChainId:_}=G(),{evm_chain_id:x}=Ot(),y=we.useChainId(),{switchChainAsync:b}=we.useSwitchChain(),{watchAssetAsync:C}=we.useWatchAsset(),w=()=>{m(!1),h("/send",{denom:s,chain:l})},v=()=>{m(!1),h("/bridge",{srcChainId:d,srcDenom:s,quantity:""})},k=T.useMutation({mutationFn:async()=>{if(!c)throw new Error("Address is required");const S=r;return await b({chainId:Number(x)}),C({type:"ERC20",options:{address:c,symbol:a,decimals:o,image:S}})},onSuccess:()=>{f({type:"success",title:"Asset added",description:"Asset added to wallet"})},onError:S=>{f({type:"error",title:"Asset addition failed",description:S.message})}});return t.jsxs(ft.Menu.Root,{open:u,onOpenChange:m,modal:!1,children:[t.jsx(ft.Menu.Trigger,{render:n}),t.jsx(ft.Menu.Portal,{container:p,children:t.jsx(ft.Menu.Positioner,{side:"bottom",sideOffset:-6,align:"end",children:t.jsxs(ft.Menu.Popup,{className:es.popup,children:[t.jsxs(ft.Menu.Item,{className:es.item,onClick:w,children:[t.jsx(I.IconArrowRight,{size:16}),t.jsx("span",{children:"Send"})]}),t.jsxs(ft.Menu.Item,{className:es.item,onClick:v,disabled:i,children:[t.jsx(I.IconSwap,{size:16}),t.jsx("span",{children:"Bridge/Swap"})]}),d===_&&x===y&&!!c&&t.jsxs(ft.Menu.Item,{className:es.item,onClick:()=>k.mutate(),disabled:k.isPending||k.data,children:[k.data?t.jsx(I.IconCheck,{size:16}):t.jsx(I.IconPlus,{size:16}),t.jsx("span",{children:"Add to Wallet"})]})]})})})]})},i1="_item_38qhm_1",c1="_info_38qhm_23",l1="_images_38qhm_29",d1="_name_38qhm_33",u1="_value_38qhm_39",m1="_amount_38qhm_47",h1="_usd_38qhm_53",Lt={item:i1,info:c1,images:l1,name:d1,value:u1,amount:m1,usd:h1},p1=({asset:e})=>{const{amount:n,value:s,logoUrl:o,chain:a}=e,r=j.formatAmount(n,{decimals:e.decimals});return t.jsx(Ui,{asset:e,children:t.jsxs("button",{className:Lt.item,children:[t.jsxs("div",{className:Lt.info,children:[t.jsx(ks,{assetLogoUrl:o,chainLogoUrl:a.logoUrl,assetLogoSize:24,chainLogoSize:14,chainLogoOffset:4,className:Lt.images}),t.jsx("span",{className:Lt.name,children:a.name})]}),t.jsxs("div",{className:Lt.value,children:[t.jsx("span",{className:Lt.amount,children:r}),Number(s)>0&&t.jsx("span",{className:Lt.usd,children:Z(s)})]})]})})},f1="_container_ytg3p_1",g1="_assetItem_ytg3p_6",_1="_expandIcon_ytg3p_22",x1="_assetInfo_ytg3p_27",y1="_logo_ytg3p_33",j1="_details_ytg3p_37",b1="_symbol_ytg3p_42",v1="_chainName_ytg3p_53",w1="_chainInfos_ytg3p_59",C1="_chainLogos_ytg3p_65",N1="_chainLogo_ytg3p_65",k1="_moreChains_ytg3p_76",I1="_expanded_ytg3p_93",A1="_valueColumn_ytg3p_98",S1="_amount_ytg3p_108",$1="_value_ytg3p_98",T1="_collapsibleContent_ytg3p_121",E1="_chainsList_ytg3p_151",ge={container:f1,assetItem:g1,expandIcon:_1,assetInfo:x1,logo:y1,details:j1,symbol:b1,chainName:v1,chainInfos:w1,chainLogos:C1,chainLogo:N1,moreChains:k1,expanded:I1,valueColumn:A1,amount:S1,value:$1,collapsibleContent:T1,chainsList:E1},q1=H.atom([]),sa=({assetGroup:e})=>{const{symbol:n,logoUrl:s,assets:o}=e,a=o.length===1,[r,i]=H.useAtom(q1),c=g.useMemo(()=>Rc(e),[e]),l=g.useMemo(()=>qr(e),[e]),d=r.includes(n),u=()=>{i(h=>d?h.filter(p=>p!==n):[...new Set([...h,n])])},m=()=>t.jsxs("button",{className:ge.assetItem,children:[t.jsxs("div",{className:ge.assetInfo,children:[s&&t.jsx(J,{src:s,width:32,height:32,className:ge.logo,logo:!0}),t.jsxs("div",{className:ge.details,children:[t.jsx("div",{className:ge.symbol,children:n}),a?t.jsx("div",{className:ge.chainName,children:o[0].chain.name}):t.jsxs("div",{className:ge.chainInfos,children:[t.jsx("div",{className:ge.chainLogos,children:o.slice(0,5).map(({chain:h})=>t.jsx(J,{src:h.logoUrl,width:16,height:16,className:ge.chainLogo,logo:!0},h.chainId))}),o.length>5&&t.jsxs("span",{className:ge.moreChains,children:["+",o.length-5]}),t.jsx(I.IconChevronDown,{size:16,className:L(ge.expandIcon,{[ge.expanded]:d})})]})]})]}),t.jsxs("div",{className:ge.valueColumn,children:[t.jsx("div",{className:ge.amount,children:j.formatNumber(c,{dp:o[0].unlisted?0:6})}),l>0&&t.jsx("div",{className:ge.value,children:Z(l)})]})]});if(a){const[h]=o;return t.jsx("div",{className:ge.container,children:t.jsx(Ui,{asset:h,children:m()})})}return t.jsx("div",{className:ge.container,children:t.jsxs(Y.Collapsible.Root,{open:d,onOpenChange:u,children:[t.jsx(Y.Collapsible.Trigger,{asChild:!0,children:m()}),t.jsx(Y.Collapsible.Content,{className:ge.collapsibleContent,children:t.jsx("div",{className:ge.chainsList,children:o.map(h=>t.jsx(p1,{asset:h},h.chain.chainId))})})]})})},L1="_collapsible_1g7rh_1",M1="_trigger_1g7rh_5",D1="_divider_1g7rh_20",P1="_label_1g7rh_28",R1="_chevron_1g7rh_33",B1="_content_1g7rh_41",U1="_list_1g7rh_45",Ct={collapsible:L1,trigger:M1,divider:D1,label:P1,chevron:R1,content:B1,list:U1},Fi=({unlistedAssets:e})=>{const[n,s]=g.useState(!1),o=Bi(),a=g.useRef(null),[r,i]=g.useState(0);g.useEffect(()=>{if(a.current){const m=a.current.scrollHeight;i(m)}},[e]);const c=g.useRef(null),l=m=>{s(m),m&&c.current&&o?.current&&window.setTimeout(()=>{if(!c.current||!a.current||!o?.current)return;const h=o.current,p=h.getBoundingClientRect(),f=c.current.getBoundingClientRect(),_=a.current.scrollHeight;if(f.bottom+_>p.bottom){const y=f.top-p.top+h.scrollTop-16;h.scrollTo({top:y,behavior:"smooth"})}},50)},d=ze.useSpring({height:n?r:0,opacity:n?1:0,config:{tension:500,friction:30,clamp:!0}}),u=g.useMemo(()=>e.map(m=>({...m,assets:[m],totalValue:m.value??0,totalAmount:Number(m.quantity)})),[e]);return e.length===0?null:t.jsxs(Y.Collapsible.Root,{open:n,onOpenChange:l,className:Ct.collapsible,children:[t.jsxs(Y.Collapsible.Trigger,{ref:c,className:Ct.trigger,children:[t.jsx("div",{className:Ct.divider}),t.jsxs("span",{className:Ct.label,children:["Unlisted assets (",e.length,")"]}),t.jsx(I.IconChevronDown,{className:Ct.chevron,size:12,"data-state":n?"open":"closed"}),t.jsx("div",{className:Ct.divider})]}),t.jsx(Y.Collapsible.Content,{forceMount:!0,asChild:!0,children:t.jsx(ze.animated.div,{className:Ct.content,style:d,children:t.jsx("div",{className:Ct.list,ref:a,children:u.map(m=>t.jsx(sa,{assetGroup:m},m.assets[0].denom))})})})]})},F1="_container_15xfg_1",O1="_header_15xfg_7",V1="_title_15xfg_13",z1="_totalValue_15xfg_19",K1="_list_15xfg_26",tn={container:F1,header:O1,title:V1,totalValue:z1,list:K1},W1=()=>{const[e,n]=H.useAtom(Mi),[s,o]=H.useAtom(Di),{assetGroups:a,unlistedAssets:r,chainsByValue:i,totalValue:c,isLoading:l}=To(),d=i.map(({chainId:h})=>h),u=g.useMemo(()=>{const h=e?a.filter(f=>{const{symbol:_,assets:x}=f;return _.toLowerCase().includes(e.toLowerCase())||x.some(({denom:y,address:b})=>y.toLowerCase().includes(e.toLowerCase())||b?.toLowerCase().includes(e.toLowerCase()))}):a;return s?h.map(f=>({...f,assets:f.assets.filter(({chain:_})=>_.chainId===s)})).filter(f=>f.assets.length>0):h},[a,e,s]),m=g.useMemo(()=>{const h=e?r.filter(({denom:f,address:_})=>f.toLowerCase().includes(e.toLowerCase())||_?.toLowerCase().includes(e.toLowerCase())):r;return s?h.filter(({chain:f})=>f.chainId===s):h},[r,e,s]);return l&&a.length===0?t.jsx(he,{children:"Loading assets..."}):!u.length&&!m.length&&!e&&!s&&!l?t.jsx(he,{children:"No assets"}):t.jsxs(Ye.Root,{children:[t.jsxs(Ye.Controls,{children:[t.jsx(Ye.SearchInput,{value:e,onChange:h=>n(h.target.value),onClear:()=>n(""),placeholder:"Search assets"}),t.jsx(Es,{value:s,onChange:o,chainIds:d,renderExtra:h=>{if(!h)return Z(c);const p=i.find(f=>f.chainId===h);return p?Z(p.value):null}})]}),t.jsx("div",{children:u.length===0&&m.length===0?t.jsx(he,{children:"No assets found"}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:tn.list,children:u.map(h=>t.jsx(sa,{assetGroup:h},h.symbol))}),t.jsx(Fi,{unlistedAssets:m})]})})]})},H1="_container_11k2x_1",Q1={container:H1},Ge=({height:e,length:n=1,width:s="100%"})=>{const o=Array.from({length:n},(a,r)=>r);return n===1?t.jsx(Ut,{height:e,width:s}):t.jsx("div",{className:Q1.container,children:o.map(a=>t.jsx(Ut,{height:e,width:s},a))})},G1=g.memo(({searchQuery:e,selectedChain:n,denomLogos:s,symbolLogos:o,chainInfoMap:a,chainPrices:r})=>{const{balances:i,isLoading:c}=Dn(),l=ie(),{listedGroups:d,unlistedAssets:u}=g.useMemo(()=>Nl(i,a,r,l.chainId),[i,a,r,l.chainId]),m=g.useMemo(()=>bl(d,s,o),[d,s,o]),{filteredAssets:h,totalAssetsValue:p,filteredUnlistedAssets:f}=g.useMemo(()=>Cl(m,u,e,n),[m,u,e,n]);return t.jsxs("div",{className:tn.container,children:[t.jsxs("div",{className:tn.header,children:[t.jsx("span",{className:tn.title,children:"Assets"}),h.length>0&&t.jsx("span",{className:tn.totalValue,children:Z(p)})]}),h.length>0?t.jsxs("div",{children:[t.jsx("div",{className:tn.list,children:h.map(_=>t.jsx(sa,{assetGroup:_},_.symbol))}),t.jsx(Fi,{unlistedAssets:f})]}):m.length===0&&c?t.jsx(Ge,{height:56,length:3}):t.jsx(he,{children:"No liquid assets"})]})}),Y1=ye.createQueryKeys("interwovenkit:civitia",{player:(e,n)=>[e,n]});function Oi(){const{civitiaUrl:e}=G(),n=X();return T.useQuery({enabled:!!n,queryKey:Y1.player(e,n??"").queryKey,queryFn:async()=>{if(!n)throw new Error("address is not available");return V.get(`${e}/players/${n}`).json()},staleTime:z.MINUTE,throwOnError:!1})}const Z1="_section_xdyfz_2",J1="_row_xdyfz_15",X1="_rowLeft_xdyfz_23",e2="_rowIcon_xdyfz_29",t2="_goldIcon_xdyfz_38",n2="_silverIcon_xdyfz_46",s2="_rowTitle_xdyfz_54",o2="_rowValue_xdyfz_60",a2="_rowSubtitle_xdyfz_67",Ce={section:Z1,row:J1,rowLeft:X1,rowIcon:e2,goldIcon:t2,silverIcon:n2,rowTitle:s2,rowValue:o2,rowSubtitle:a2},r2=()=>{const{data:e,isLoading:n}=Oi();if(n)return t.jsx(Ge,{height:36,length:2});const s=e?.gold_balance??0,o=e?.silver_balance??0;return t.jsxs("div",{className:Ce.section,children:[t.jsxs("div",{className:Ce.row,children:[t.jsxs("div",{className:Ce.rowLeft,children:[t.jsx("div",{className:L(Ce.rowIcon,Ce.goldIcon)}),t.jsx("span",{className:Ce.rowTitle,children:"Gold"})]}),t.jsx("span",{className:L(Ce.rowValue,s===0&&Ce.rowSubtitle),children:s===0?"—":j.formatNumber(s,{dp:6})})]}),t.jsxs("div",{className:Ce.row,children:[t.jsxs("div",{className:Ce.rowLeft,children:[t.jsx("div",{className:L(Ce.rowIcon,Ce.silverIcon)}),t.jsx("span",{className:Ce.rowTitle,children:"Silver"})]}),t.jsx("span",{className:L(Ce.rowValue,o===0&&Ce.rowSubtitle),children:o===0?"—":j.formatNumber(o,{dp:6})})]})]})},i2="_container_1n61l_1",c2="_section_1n61l_7",l2="_sectionHeader_1n61l_19",d2="_sectionTitle_1n61l_25",u2="_sectionLabel_1n61l_31",m2="_externalLink_1n61l_37",h2="_sectionValue_1n61l_49",p2="_tokenList_1n61l_56",f2="_stakingTokenList_1n61l_62",g2="_tokenRow_1n61l_72",_2="_tokenMain_1n61l_78",x2="_tokenTrigger_1n61l_84",y2="_tokenChevron_1n61l_100",j2="_expanded_1n61l_111",b2="_triggerValue_1n61l_115",v2="_tokenInfo_1n61l_122",w2="_tokenInfoLabel_1n61l_128",C2="_tokenLogo_1n61l_134",N2="_tokenSymbol_1n61l_138",k2="_tokenValues_1n61l_144",I2="_tokenAmount_1n61l_150",A2="_tokenValue_1n61l_144",S2="_typeBreakdown_1n61l_164",$2="_typeRow_1n61l_172",T2="_typeLabel_1n61l_180",E2="_typeValues_1n61l_186",q2="_typeAmount_1n61l_192",L2="_typeValue_1n61l_186",M2="_collapsibleContent_1n61l_206",Q={container:i2,section:c2,sectionHeader:l2,sectionTitle:d2,sectionLabel:u2,externalLink:m2,sectionValue:h2,tokenList:p2,stakingTokenList:f2,tokenRow:g2,tokenMain:_2,tokenTrigger:x2,tokenChevron:y2,expanded:j2,triggerValue:b2,tokenInfo:v2,tokenInfoLabel:w2,tokenLogo:C2,tokenSymbol:N2,tokenValues:k2,tokenAmount:I2,tokenValue:A2,typeBreakdown:S2,typeRow:$2,typeLabel:T2,typeValues:E2,typeAmount:q2,typeValue:L2,collapsibleContent:M2},Vi=({protocols:e,denomLogoMap:n,isInitia:s,getClaimableInitByType:o,initPrice:a})=>{const r=e[0]?.manageUrl,i=g.useMemo(()=>{const c=e.flatMap(l=>l.positions);return ul(c)},[e]);return i.size===0?null:t.jsx("div",{className:Q.container,children:Array.from(i.entries()).map(([c,l])=>t.jsx(D2,{sectionKey:c,sectionGroup:l,denomLogoMap:n,isInitia:s,manageUrl:r,getClaimableInitByType:o,initPrice:a},c))})},D2=({sectionKey:e,sectionGroup:n,denomLogoMap:s,isInitia:o,manageUrl:a,getClaimableInitByType:r,initPrice:i})=>{const{positions:c,totalValue:l}=n,d=dl(e,o),u=g.useMemo(()=>xl(c),[c]),m=e==="staking";return t.jsxs("div",{className:Q.section,children:[t.jsxs("div",{className:Q.sectionHeader,children:[t.jsxs("div",{className:Q.sectionTitle,children:[t.jsx("span",{className:Q.sectionLabel,children:d}),m&&a&&t.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:Q.externalLink,onClick:h=>h.stopPropagation(),children:t.jsx(I.IconExternalLink,{size:12})})]}),t.jsx("span",{className:Q.sectionValue,children:Z(l)})]}),t.jsx("div",{className:L(Q.tokenList,{[Q.stakingTokenList]:m}),children:u.map(h=>t.jsx(P2,{group:h,showTypeBreakdown:m,denomLogoMap:s,getClaimableInitByType:r,initPrice:i},h.denom))})]})},P2=({group:e,showTypeBreakdown:n,denomLogoMap:s,getClaimableInitByType:o,initPrice:a})=>{const{denom:r,symbol:i,totalAmount:c,totalValue:l,positions:d}=e,u=s.get(r),[m,h]=g.useState(!1),p=g.useMemo(()=>{if(!n)return null;const f=gl(d);return f.size>0?f:null},[d,n]);return p?t.jsxs(Y.Collapsible.Root,{open:m,onOpenChange:h,children:[t.jsx(Y.Collapsible.Trigger,{asChild:!0,children:t.jsxs("button",{className:Q.tokenTrigger,children:[t.jsxs("div",{className:Q.tokenInfo,children:[t.jsx(I.IconChevronDown,{size:14,className:L(Q.tokenChevron,{[Q.expanded]:m})}),t.jsxs("div",{className:Q.tokenInfoLabel,children:[u?.assetLogo&&t.jsx(J,{src:u.assetLogo,width:20,height:20,className:Q.tokenLogo}),t.jsx("span",{className:Q.tokenSymbol,children:i})]})]}),t.jsx("span",{className:Q.triggerValue,children:Z(l)})]})}),t.jsx(Y.Collapsible.Content,{className:Q.collapsibleContent,children:t.jsx(R2,{typeGroups:p,symbol:i,denom:r,getClaimableInitByType:o,initPrice:a})})]}):t.jsx("div",{className:Q.tokenRow,children:t.jsxs("div",{className:Q.tokenMain,children:[t.jsxs("div",{className:Q.tokenInfo,children:[u?.assetLogo&&t.jsx(J,{src:u.assetLogo,width:20,height:20,className:Q.tokenLogo}),t.jsx("span",{className:Q.tokenSymbol,children:i})]}),t.jsxs("div",{className:Q.tokenValues,children:[t.jsx("span",{className:Q.tokenAmount,children:j.formatNumber(c,{dp:6})}),t.jsx("span",{className:Q.tokenValue,children:Z(l)})]})]})})},R2=({typeGroups:e,symbol:n,denom:s,getClaimableInitByType:o,initPrice:a})=>{const r=g.useMemo(()=>Array.from(e.entries()).map(([l,d])=>{const u=d.reduce((h,p)=>p.type==="fungible-position"||p.balance.type==="unknown"?h:h+p.balance.formattedAmount,0),m=d.reduce((h,p)=>h+an(p),0);return{type:l,typeAmount:u,typeValue:m}}),[e]),i=g.useMemo(()=>{if(!o)return 0;let l=0;for(const{type:d}of r){const u=o(s,d);l+=Number(u)}return l},[s,o,r]),c=i>0;return t.jsxs("div",{className:Q.typeBreakdown,children:[r.map(({type:l,typeAmount:d,typeValue:u})=>t.jsxs("div",{className:Q.typeRow,children:[t.jsx("span",{className:Q.typeLabel,children:fl(l)}),t.jsxs("div",{className:Q.typeValues,children:[t.jsxs("span",{className:Q.typeAmount,children:[j.formatNumber(d,{dp:6})," ",n]}),t.jsx("span",{className:Q.typeValue,children:Z(u)})]})]},l)),c&&t.jsxs("div",{className:Q.typeRow,children:[t.jsx("span",{className:Q.typeLabel,children:"Claimable"}),t.jsxs("div",{className:Q.typeValues,children:[t.jsxs("span",{className:Q.typeAmount,children:[j.formatNumber(i,{dp:6})," ",Qe]}),t.jsx("span",{className:Q.typeValue,children:Z(i*(a??0))})]})]})]})},B2="_container_ymkoc_1",U2="_trigger_ymkoc_6",F2="_expandIcon_ymkoc_22",O2="_chainInfo_ymkoc_27",V2="_logo_ymkoc_33",z2="_chainNameContainer_ymkoc_37",K2="_chainName_ymkoc_37",W2="_externalLink_ymkoc_49",H2="_externalIcon_ymkoc_53",Q2="_valueColumn_ymkoc_63",G2="_value_ymkoc_63",Y2="_expanded_ymkoc_80",Z2="_collapsibleContent_ymkoc_85",J2="_content_ymkoc_97",$e={container:B2,trigger:U2,expandIcon:F2,chainInfo:O2,logo:V2,chainNameContainer:z2,chainName:K2,externalLink:W2,externalIcon:H2,valueColumn:Q2,value:G2,expanded:Y2,collapsibleContent:Z2,content:J2},X2=H.atom([]),e0=({chainGroup:e})=>{const{chainLogo:n,protocols:s}=e,o=An(),{denomLogos:a,symbolLogos:r}=g.useMemo(()=>Bo(o),[o]),i=g.useMemo(()=>{const c=new Map;for(const l of s)for(const d of l.positions){if(d.type==="fungible-position"||d.balance.type==="unknown")continue;const{denom:u,symbol:m}=d.balance,h=m.toUpperCase(),p=a.get(u)??r.get(h);p&&c.set(u,{assetLogo:p,chainLogo:n??""})}return c},[s,a,r,n]);return t.jsx(Vi,{protocols:s,denomLogoMap:i})},t0=({chainGroup:e})=>{const{chainName:n,chainLogo:s,protocols:o}=e,a=o[0]?.manageUrl,[r,i]=H.useAtom(X2),c=g.useMemo(()=>o.reduce((f,_)=>f+_.positions.reduce((x,y)=>x+an(y),0),0),[o]),l=["civitia","yominet"],d=r.includes(n),u=n?.toLowerCase(),m=u==="civitia",h=l.includes(u),p=()=>{i(f=>d?f.filter(_=>_!==n):[...new Set([...f,n])])};return t.jsx("div",{className:$e.container,children:t.jsxs(Y.Collapsible.Root,{open:d,onOpenChange:p,children:[t.jsx(Y.Collapsible.Trigger,{asChild:!0,children:t.jsxs("button",{className:$e.trigger,children:[t.jsxs("div",{className:$e.chainInfo,children:[s&&t.jsx(J,{src:s,width:32,height:32,className:$e.logo,logo:!0}),t.jsxs("div",{className:$e.chainNameContainer,children:[t.jsx("span",{className:$e.chainName,children:n}),a&&t.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:$e.externalLink,onClick:f=>f.stopPropagation(),children:t.jsx(I.IconExternalLink,{size:12,className:$e.externalIcon})})]})]}),t.jsxs("div",{className:$e.valueColumn,children:[!h&&t.jsx("span",{className:$e.value,children:Z(c)}),t.jsx(I.IconChevronDown,{size:16,className:L($e.expandIcon,{[$e.expanded]:d})})]})]})}),t.jsx(Y.Collapsible.Content,{className:$e.collapsibleContent,children:t.jsxs("div",{className:$e.content,children:[t.jsx(e0,{chainGroup:e}),m&&t.jsx(r2,{})]})})]})})},n0="_container_1gqx9_1",s0="_section_1gqx9_6",o0="_sectionHeader_1gqx9_14",a0="_sectionTitle_1gqx9_20",r0="_sectionLabel_1gqx9_26",i0="_externalLink_1gqx9_32",c0="_sectionValue_1gqx9_44",l0="_tokenList_1gqx9_51",d0="_tokenTrigger_1gqx9_63",u0="_tokenChevron_1gqx9_79",m0="_expanded_1gqx9_90",h0="_tokenInfo_1gqx9_94",p0="_tokenInfoLabel_1gqx9_100",f0="_tokenLogo_1gqx9_106",g0="_pairedLogos_1gqx9_110",_0="_coinLogo_1gqx9_115",x0="_tokenSymbol_1gqx9_133",y0="_triggerValue_1gqx9_139",j0="_breakdownContent_1gqx9_146",b0="_breakdownRow_1gqx9_154",v0="_breakdownLabel_1gqx9_162",w0="_breakdownValues_1gqx9_168",C0="_breakdownAmount_1gqx9_174",N0="_breakdownValue_1gqx9_168",k0="_collapsibleContent_1gqx9_195",se={container:n0,section:s0,sectionHeader:o0,sectionTitle:a0,sectionLabel:r0,externalLink:i0,sectionValue:c0,tokenList:l0,tokenTrigger:d0,tokenChevron:u0,expanded:m0,tokenInfo:h0,tokenInfoLabel:p0,tokenLogo:f0,pairedLogos:g0,coinLogo:_0,tokenSymbol:x0,triggerValue:y0,breakdownContent:j0,breakdownRow:b0,breakdownLabel:v0,breakdownValues:w0,breakdownAmount:C0,breakdownValue:N0,collapsibleContent:k0},I0=({data:e,denomLogoMap:n})=>{const{totalValue:s,rows:o}=e;return o.length===0?null:t.jsx("div",{className:se.container,children:t.jsxs("div",{className:se.section,children:[t.jsxs("div",{className:se.sectionHeader,children:[t.jsxs("div",{className:se.sectionTitle,children:[t.jsx("span",{className:se.sectionLabel,children:"Liquidity"}),t.jsx("a",{href:No,target:"_blank",rel:"noopener noreferrer",className:se.externalLink,onClick:a=>a.stopPropagation(),children:t.jsx(I.IconExternalLink,{size:12})})]}),t.jsx("span",{className:se.sectionValue,children:Z(s)})]}),t.jsx("div",{className:se.tokenList,children:o.map(a=>t.jsx(S0,{row:a,denomLogoMap:n},a.denom))})]})})},A0={deposit:"Deposit",staking:"Staking",lockStaking:"Lock staking",unstaking:"Unstaking"},S0=({row:e,denomLogoMap:n})=>{const{denom:s,symbol:o,totalValue:a,breakdown:r,logoUrl:i,coinLogos:c,claimableInit:l}=e,[d,u]=g.useState(!1),m=n.get(s),h=i||m?.assetLogo,p=e.totalAmount>0?e.totalValue/e.totalAmount:0,f=g.useMemo(()=>Object.entries(r).filter(([,y])=>y>0),[r]),_=c&&c.length>0&&c.some(y=>y),x=l&&Number(l.total)>0;return t.jsxs(Y.Collapsible.Root,{open:d,onOpenChange:u,children:[t.jsx(Y.Collapsible.Trigger,{asChild:!0,children:t.jsxs("button",{className:se.tokenTrigger,children:[t.jsxs("div",{className:se.tokenInfo,children:[t.jsx(I.IconChevronDown,{size:14,className:L(se.tokenChevron,{[se.expanded]:d})}),t.jsxs("div",{className:se.tokenInfoLabel,children:[_?t.jsx("div",{className:se.pairedLogos,children:c.map((y,b)=>t.jsx(J,{src:y,width:20,height:20,className:se.coinLogo,logo:!0},b))}):h&&t.jsx(J,{src:h,width:20,height:20,className:se.tokenLogo}),t.jsx("span",{className:se.tokenSymbol,children:o})]})]}),t.jsx("span",{className:se.triggerValue,children:Z(a)})]})}),t.jsx(Y.Collapsible.Content,{className:se.collapsibleContent,children:t.jsxs("div",{className:se.breakdownContent,children:[f.map(([y,b])=>{const C=b*p;return t.jsxs("div",{className:se.breakdownRow,children:[t.jsx("span",{className:se.breakdownLabel,children:A0[y]}),t.jsxs("div",{className:se.breakdownValues,children:[t.jsxs("span",{className:se.breakdownAmount,children:[j.formatNumber(b,{dp:6})," LP"]}),t.jsx("span",{className:se.breakdownValue,children:Z(C)})]})]},y)}),x&&t.jsxs("div",{className:se.breakdownRow,children:[t.jsx("span",{className:se.breakdownLabel,children:"Claimable"}),t.jsxs("div",{className:se.breakdownValues,children:[t.jsxs("span",{className:se.breakdownAmount,children:[j.formatNumber(Number(l.total),{dp:6})," ",Qe]}),t.jsx("span",{className:se.breakdownValue,children:Z(l.totalValue)})]})]})]})})]})},$0="_container_1nijk_1",T0="_section_1nijk_6",E0="_sectionHeader_1nijk_14",q0="_sectionTitle_1nijk_20",L0="_sectionLabel_1nijk_26",M0="_externalLink_1nijk_32",D0="_sectionValue_1nijk_44",P0="_tokenList_1nijk_51",R0="_tokenTrigger_1nijk_63",B0="_tokenChevron_1nijk_79",U0="_expanded_1nijk_90",F0="_tokenInfo_1nijk_94",O0="_tokenInfoLabel_1nijk_100",V0="_tokenLogo_1nijk_106",z0="_tokenName_1nijk_110",K0="_triggerValue_1nijk_116",W0="_breakdownContent_1nijk_123",H0="_breakdownRow_1nijk_131",Q0="_breakdownLabel_1nijk_139",G0="_breakdownValues_1nijk_145",Y0="_breakdownAmount_1nijk_151",Z0="_breakdownValue_1nijk_145",J0="_collapsibleContent_1nijk_165",ce={container:$0,section:T0,sectionHeader:E0,sectionTitle:q0,sectionLabel:L0,externalLink:M0,sectionValue:D0,tokenList:P0,tokenTrigger:R0,tokenChevron:B0,expanded:U0,tokenInfo:F0,tokenInfoLabel:O0,tokenLogo:V0,tokenName:z0,triggerValue:K0,breakdownContent:W0,breakdownRow:H0,breakdownLabel:Q0,breakdownValues:G0,breakdownAmount:Y0,breakdownValue:Z0,collapsibleContent:J0},X0=({data:e})=>{const{totalValue:n,rows:s}=e;return s.length===0?null:t.jsx("div",{className:ce.container,children:t.jsxs("div",{className:ce.section,children:[t.jsxs("div",{className:ce.sectionHeader,children:[t.jsxs("div",{className:ce.sectionTitle,children:[t.jsx("span",{className:ce.sectionLabel,children:"VIP"}),t.jsx("a",{href:jc,target:"_blank",rel:"noopener noreferrer",className:ce.externalLink,onClick:o=>o.stopPropagation(),children:t.jsx(I.IconExternalLink,{size:12})})]}),t.jsx("span",{className:ce.sectionValue,children:Z(n)})]}),t.jsx("div",{className:ce.tokenList,children:s.map(o=>t.jsx(ej,{row:o},`${o.bridgeId}-${o.version}`))})]})})},ej=({row:e})=>{const{name:n,logoUrl:s,lockedReward:o,lockedRewardValue:a,claimableReward:r,claimableRewardValue:i}=e,[c,l]=g.useState(!1),d=a+i;return t.jsxs(Y.Collapsible.Root,{open:c,onOpenChange:l,children:[t.jsx(Y.Collapsible.Trigger,{asChild:!0,children:t.jsxs("button",{className:ce.tokenTrigger,children:[t.jsxs("div",{className:ce.tokenInfo,children:[t.jsx(I.IconChevronDown,{size:14,className:L(ce.tokenChevron,{[ce.expanded]:c})}),t.jsxs("div",{className:ce.tokenInfoLabel,children:[s&&t.jsx(J,{src:s,width:20,height:20,className:ce.tokenLogo,logo:!0}),t.jsx("span",{className:ce.tokenName,children:n})]})]}),t.jsx("span",{className:ce.triggerValue,children:Z(d)})]})}),t.jsx(Y.Collapsible.Content,{className:ce.collapsibleContent,children:t.jsxs("div",{className:ce.breakdownContent,children:[o>0&&t.jsxs("div",{className:ce.breakdownRow,children:[t.jsx("span",{className:ce.breakdownLabel,children:"Locked"}),t.jsxs("div",{className:ce.breakdownValues,children:[t.jsxs("span",{className:ce.breakdownAmount,children:[j.formatNumber(o,{dp:2})," INIT"]}),t.jsx("span",{className:ce.breakdownValue,children:Z(a)})]})]}),r>0&&t.jsxs("div",{className:ce.breakdownRow,children:[t.jsx("span",{className:ce.breakdownLabel,children:"Claimable"}),t.jsxs("div",{className:ce.breakdownValues,children:[t.jsxs("span",{className:ce.breakdownAmount,children:[j.formatNumber(r,{dp:2})," INIT"]}),t.jsx("span",{className:ce.breakdownValue,children:Z(i)})]})]})]})})]})},tj="_container_ymkoc_1",nj="_trigger_ymkoc_6",sj="_expandIcon_ymkoc_22",oj="_chainInfo_ymkoc_27",aj="_logo_ymkoc_33",rj="_chainNameContainer_ymkoc_37",ij="_chainName_ymkoc_37",cj="_externalLink_ymkoc_49",lj="_externalIcon_ymkoc_53",dj="_valueColumn_ymkoc_63",uj="_value_ymkoc_63",mj="_expanded_ymkoc_80",hj="_collapsibleContent_ymkoc_85",pj="_content_ymkoc_97",Te={container:tj,trigger:nj,expandIcon:sj,chainInfo:oj,logo:aj,chainNameContainer:rj,chainName:ij,externalLink:cj,externalIcon:lj,valueColumn:dj,value:uj,expanded:mj,collapsibleContent:hj,content:pj},fj=H.atom(!1),gj=()=>{const{totalValue:e}=Mo(),{totalValue:n}=Po(),{totalValue:s}=Ro(),o=e+n+s;return t.jsx("span",{className:Te.value,children:Z(o)})},_j=({chainLogo:e,denomLogos:n,symbolLogos:s,initPrice:o})=>{const{positions:a}=Mo(),{data:r}=Pr(),{data:i}=Rr(),c=g.useMemo(()=>{const u=new Map;for(const m of a){if(m.type==="fungible-position"||m.balance.type==="unknown")continue;const{denom:h,symbol:p}=m.balance,f=p.toUpperCase(),_=n.get(h)??s.get(f);_&&u.set(h,{assetLogo:_,chainLogo:e})}return u},[a,n,s,e]),l=g.useMemo(()=>(u,m)=>{const h=j.denomToMetadata(u);if(m==="staking"){const p=r?.get(h);return p?j.fromBaseUnit(p.amount,{decimals:Me}):"0"}if(m==="lockstaking"){const p=i?.get(h);return p?j.fromBaseUnit(p.amount,{decimals:Me}):"0"}return"0"},[r,i]),d=g.useMemo(()=>a.length===0?[]:[{protocol:"Initia",manageUrl:No,positions:a}],[a]);return d.length===0?null:t.jsx(Vi,{protocols:d,denomLogoMap:c,isInitia:!0,getClaimableInitByType:l,initPrice:o})},xj=({chainLogo:e,denomLogos:n,symbolLogos:s})=>{const o=Po(),a=g.useMemo(()=>{const r=new Map;for(const i of o.rows){const{denom:c,symbol:l}=i,d=l.toUpperCase(),u=n.get(c)??s.get(d);u&&r.set(c,{assetLogo:u,chainLogo:e})}return r},[o.rows,n,s,e]);return o.rows.length===0?null:t.jsx(I0,{data:o,denomLogoMap:a})},yj=()=>{const e=Ro();return e.rows.length===0?null:t.jsx(X0,{data:e})},jj=({chainGroup:e})=>{const{chainName:n,chainLogo:s}=e,[o,a]=H.useAtom(fj),r=An(),{denomLogos:i,symbolLogos:c}=g.useMemo(()=>Bo(r),[r]),l=ie(),{data:d}=yt(l),u=g.useMemo(()=>d?.find(h=>h.id===ke)?.price??0,[d]);return t.jsx("div",{className:Te.container,children:t.jsxs(Y.Collapsible.Root,{open:o,onOpenChange:a,children:[t.jsx(Y.Collapsible.Trigger,{asChild:!0,children:t.jsxs("button",{className:Te.trigger,children:[t.jsxs("div",{className:Te.chainInfo,children:[s&&t.jsx(J,{src:s,width:32,height:32,className:Te.logo,logo:!0}),t.jsxs("div",{className:Te.chainNameContainer,children:[t.jsx("span",{className:Te.chainName,children:n}),t.jsx("a",{href:No,target:"_blank",rel:"noopener noreferrer",className:Te.externalLink,onClick:m=>m.stopPropagation(),children:t.jsx(I.IconExternalLink,{size:12,className:Te.externalIcon})})]})]}),t.jsxs("div",{className:Te.valueColumn,children:[t.jsx(de,{suspenseFallback:t.jsx(Ge,{height:16,width:60,length:1}),children:t.jsx(gj,{})}),t.jsx(I.IconChevronDown,{size:16,className:L(Te.expandIcon,{[Te.expanded]:o})})]})]})}),t.jsx(Y.Collapsible.Content,{className:Te.collapsibleContent,children:t.jsxs("div",{className:Te.content,children:[t.jsx(de,{suspenseFallback:t.jsx(Ge,{height:36,length:2}),children:t.jsx(_j,{chainLogo:s,denomLogos:i,symbolLogos:c,initPrice:u})}),t.jsx(de,{suspenseFallback:t.jsx(Ge,{height:36,length:2}),children:t.jsx(xj,{chainLogo:s,denomLogos:i,symbolLogos:c})}),t.jsx(de,{suspenseFallback:t.jsx(Ge,{height:36,length:1}),children:t.jsx(yj,{})})]})})]})})},bj="_totalValue_1v2ca_1",vj={totalValue:bj},wj=({filteredChainGroups:e})=>{const{totalValue:n}=Mo(),{totalValue:s}=Po(),{totalValue:o}=Ro(),a=n+s+o,r=g.useMemo(()=>{const i=e.some(l=>l.isInitia);return e.reduce((l,d)=>d.isInitia?l:l+d.totalValue,0)+(i?a:0)},[e,a]);return t.jsx("span",{className:vj.totalValue,children:Z(r)})},Cj="_container_1eubu_1",Nj="_header_1eubu_7",kj="_title_1eubu_13",Ij="_list_1eubu_19",Aj="_skeletonWrapper_1eubu_24",vn={container:Cj,header:Nj,title:kj,list:Ij,skeletonWrapper:Aj},Sj=g.memo(({searchQuery:e,selectedChain:n,chainInfoMap:s})=>{const{positions:o,isLoading:a}=Dn(),r=ie(),{data:i,isLoading:c}=Oi(),l=g.useMemo(()=>{const u=[];for(const h of o){if(!Array.isArray(h.positions))continue;const p=s.get(h.chainName.toLowerCase()),f=h.chainName.toLowerCase(),_=f==="civitia";if(n&&p?.chainId!==n)continue;const x=h.positions.some(v=>v.positions.some(k=>k.type!=="fungible-position")),y=_&&!c&&i&&((i.gold_balance??0)>0||(i.silver_balance??0)>0);if(!x&&!y||e&&!f.includes(e.toLowerCase()))continue;const b=h.positions.filter(v=>e&&!v.protocol.toLowerCase().includes(e.toLowerCase())?!1:Array.isArray(v.positions)&&v.positions.length>0),C=r.chainId===p?.chainId,w=b.reduce((v,k)=>v+k.positions.reduce((S,M)=>S+an(M),0),0);u.push({chainName:p?.prettyName??h.chainName,chainLogo:p?.logoUrl??"",protocols:b,isInitia:C,totalValue:w})}const m=["civitia","yominet"];return A.sortWith([A.descend(h=>h.isInitia??!1),A.ascend(h=>m.includes(h.chainName.toLowerCase())),A.descend(h=>h.totalValue??0),A.ascend(h=>h.chainName.toLowerCase())],u)},[o,s,e,n,r.chainId,i,c]),d=l.length>0;return t.jsxs("div",{className:vn.container,children:[t.jsxs("div",{className:vn.header,children:[t.jsx("span",{className:vn.title,children:"Positions"}),d&&t.jsx(de,{suspenseFallback:t.jsx(Ge,{height:16,width:60,length:1}),children:t.jsx(wj,{filteredChainGroups:l})})]}),d?t.jsx("div",{className:vn.list,children:l.map(u=>u.isInitia?t.jsx(de,{suspenseFallback:t.jsx("div",{className:vn.skeletonWrapper,children:t.jsx(Ge,{height:56,length:1})}),children:t.jsx(jj,{chainGroup:u})},u.chainName):t.jsx(t0,{chainGroup:u},u.chainName))}):o.length===0&&a?t.jsx(Ge,{height:56,length:3}):t.jsx(he,{children:"No positions"})]})}),$j="_content_1w1ad_1",Tj={content:$j},Ej=({selectedChain:e,setSelectedChain:n})=>{const{defaultChainId:s}=G(),o=ie(),a=$l(),{chainIds:r,chainIdToValueMap:i,totalBalance:c}=g.useMemo(()=>{const l=new Map;let d=0;for(const m of a)l.set(m.chainId,m.totalBalance),d+=m.totalBalance;return{chainIds:A.sortWith([A.descend(m=>m===s),A.descend(m=>m===o.chainId),A.descend(m=>l.get(m)??0)],a.map(m=>m.chainId)),chainIdToValueMap:l,totalBalance:d}},[a,s,o]);return t.jsx(Es,{value:e,onChange:n,chainIds:r,renderExtra:l=>Z(l?i.get(l)??0:c)})},qj=()=>{const[e,n]=H.useAtom(Mi),[s,o]=H.useAtom(Di),a=ue(),r=An(),{denomLogos:i,symbolLogos:c}=g.useMemo(()=>Bo(r),[r]),l=bo(),d=g.useMemo(()=>Vr(a,l),[a,l]),u=Sl();return t.jsxs(Ye.Root,{children:[t.jsxs(Ye.Controls,{children:[t.jsx(Ye.SearchInput,{value:e,onChange:m=>n(m.target.value),onClear:()=>n(""),placeholder:"Search portfolio"}),t.jsx(de,{suspenseFallback:t.jsx(Ut,{height:44,width:132}),children:t.jsx(Ej,{selectedChain:s,setSelectedChain:o})})]}),t.jsxs("div",{className:Tj.content,children:[t.jsx(de,{suspenseFallback:t.jsx(Ge,{height:48,length:5}),children:t.jsx(G1,{searchQuery:e,selectedChain:s,denomLogos:i,symbolLogos:c,chainInfoMap:u,chainPrices:d})}),t.jsx(de,{suspenseFallback:t.jsx(Ge,{height:56,length:3}),children:t.jsx(Sj,{searchQuery:e,selectedChain:s,chainInfoMap:u})})]})]})},Lj="_totalValue_5pf7e_1",Mj="_totalLabel_5pf7e_7",Dj="_totalAmount_5pf7e_13",Pj="_loading_5pf7e_18",Rj="_skeletonWrapper_5pf7e_23",Bj="_nav_5pf7e_28",Uj="_item_5pf7e_34",Fj="_tabs_5pf7e_59",Oj="_tab_5pf7e_59",Ee={totalValue:Lj,totalLabel:Mj,totalAmount:Dj,loading:Pj,skeletonWrapper:Rj,nav:Bj,item:Uj,tabs:Fj,tab:Oj},Vj=()=>{const{totalValue:e,isLoading:n}=To();return t.jsx("div",{className:L(Ee.totalAmount,{[Ee.loading]:n}),children:Z(e)})},zj=()=>{const e=Tl(),n=El(),s=Or(),o=e+s+n;return t.jsx("div",{className:Ee.totalAmount,children:Z(o)})},Kj=()=>{ui();const e=Uo(),n=je(),s=et(),o=g.useRef(null);return t.jsx(Ri.Provider,{value:o,children:t.jsxs(ut,{ref:o,children:[t.jsxs("div",{className:Ee.totalValue,children:[t.jsx("div",{className:Ee.totalLabel,children:"Total value"}),t.jsx(de,{suspenseFallback:t.jsx("div",{className:Ee.skeletonWrapper,children:t.jsx(Ut,{height:48,width:120})}),children:e?t.jsx(Vj,{}):t.jsx(zj,{})})]}),t.jsxs("div",{className:Ee.nav,children:[t.jsxs(nn,{to:"/send",className:Ee.item,children:[t.jsx(I.IconSend,{size:16}),t.jsx("span",{children:"Send"})]}),t.jsxs(nn,{to:"/bridge",className:Ee.item,children:[t.jsx(I.IconBridge,{size:16}),t.jsx("span",{children:"Bridge/Swap"})]}),t.jsxs(nn,{to:"/receive",className:Ee.item,children:[t.jsx(I.IconQrCode,{size:16}),t.jsx("span",{children:"Receive"})]})]}),t.jsxs(bt.Tabs.Root,{value:s,onValueChange:n,children:[t.jsxs(bt.Tabs.List,{className:Ee.tabs,children:[t.jsx(bt.Tabs.Tab,{className:Ee.tab,value:"/",children:e?"Assets":"Portfolio"}),t.jsx(bt.Tabs.Tab,{className:Ee.tab,value:"/nfts",children:"NFTs"}),t.jsx(bt.Tabs.Tab,{className:Ee.tab,value:"/activity",children:"Activity"})]}),t.jsx(bt.Tabs.Panel,{value:"/",children:e?t.jsx(W1,{}):t.jsx(qj,{})}),t.jsx(bt.Tabs.Panel,{value:"/nfts",children:t.jsx(o1,{})}),t.jsx(bt.Tabs.Panel,{value:"/activity",children:t.jsx(Uy,{})})]})]})})},Wj="_root_th990_1",Hj="_collectionName_th990_9",Qj="_nftName_th990_13",Gj="_chainInfo_th990_17",Yj="_attributes_th990_21",Zj="_title_th990_24",Jj="_count_th990_29",Xj="_item_th990_33",eb="_type_th990_39",tb="_value_th990_45",Mt={root:Wj,collectionName:Hj,nftName:Qj,chainInfo:Gj,attributes:Yj,title:Zj,count:Jj,item:Xj,type:eb,value:tb},nb=()=>{const e=je(),n=Ke(),{attributes:s}=n;return t.jsxs(mt,{title:"NFT details",children:[t.jsx(ta,{normalizedNft:n,chainIconSize:14,classNames:Mt}),t.jsx(fe,{children:t.jsx(ne.White,{onClick:()=>e("/nft/send",n),sm:!0,children:"Send"})}),s&&t.jsxs("div",{className:Mt.attributes,children:[t.jsxs("header",{className:Mt.title,children:["Traits ",t.jsxs("span",{className:Mt.count,children:["(",s.length,")"]})]}),t.jsx("div",{children:s.map(({trait_type:o,value:a})=>t.jsxs("div",{className:Mt.item,children:[t.jsx("div",{className:Mt.type,children:o}),t.jsx("div",{className:Mt.value,children:a})]},o))})]})]})};function sb({balances:e,gasPrices:n,gas:s}){return n.map(({denom:o,amount:a})=>{const r=U(a).times(s).toFixed(0,U.ROUND_CEIL),i=e.find(c=>c.denom===o)?.amount??"0";return{amount:r,denom:o,balance:i}}).filter(({amount:o,balance:a})=>U(a).gte(o))}function ob({denom:e,balances:n,gasPrices:s,lastFeeDenom:o,gas:a}){const r=n.find(d=>d.denom===e)?.amount??"0",i=sb({balances:n,gasPrices:s,gas:a}),c=i.find(d=>d.denom===o);if(i.length===0)return r;if(e===o&&c){const d=U(r).minus(c.amount);return U.max(d,0).toString()}const l=i.find(d=>d.denom!==e)||i[0];if(!c&&e===l.denom){const d=U(r).minus(l.amount);return U.max(d,0).toString()}return U(r).toString()}const ab=({chain:e,onSelect:n})=>{const s=pc(e);return t.jsx(Fn,{assets:s,onSelect:n})},rb=({afterSelect:e})=>{const{watch:n,setValue:s}=pe.useFormContext(),{chainId:o,denom:a}=n(),{chainId:r}=n(),[i,c]=g.useState(r),l=Xe(i),d=ue(),u=m=>{if(o===i&&a===m){e();return}s("chainId",i),s("denom",m),s("quantity","",{shouldTouch:!1,shouldDirty:!1}),e()};return t.jsxs(t.Fragment,{children:[t.jsx(Bt.Stack,{children:t.jsx(Bt,{chains:d,value:i,onSelect:c})}),t.jsx(de,{suspenseFallback:t.jsx(Fn.Placeholder,{}),children:t.jsx(ab,{chain:l,onSelect:u})},i)]})},ib="_fields_brpej_1",cb="_divider_brpej_11",za={fields:ib,divider:cb},lb=ye.createQueryKeys("interwovenkit:send",{gas:e=>[e]}),db=()=>{const{address:e,initiaAddress:n,estimateGas:s,requestTxSync:o}=De(),{register:a,watch:r,setValue:i,handleSubmit:c,formState:l}=pe.useFormContext(),{errors:d}=l,{chainId:u,denom:m,recipient:h,quantity:p,memo:f}=r(),_=Xe(u),x=Sn(_),y=Oo(_),b=Vo(_),C=sr(m,_),{data:w}=yt(_),{decimals:v}=C,k=x.find(O=>O.denom===m)?.amount??"0",S=w?.find(({id:O})=>O===m)?.price,{data:M=0,isLoading:F}=T.useQuery({queryKey:lb.gas({chainId:u,denom:m,recipient:h,initiaAddress:n}).queryKey,queryFn:()=>{const O=[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:ua.MsgSend.fromPartial({fromAddress:n,toAddress:j.InitiaAddress(h).bech32,amount:[{denom:m,amount:"1"}]})}];return s({messages:O,chainId:u})},enabled:j.InitiaAddress.validate(h),staleTime:z.INFINITY}),E=Math.ceil(M*on),$=ob({denom:m,balances:x,gasPrices:y,lastFeeDenom:b,gas:E}),N=U(k).isZero(),P=y.some(({denom:O})=>O===m)&&F,q=N||P,{mutate:D,isPending:W}=T.useMutation({mutationFn:({chainId:O,denom:ee,quantity:me,recipient:Ae,memo:We})=>{const At=j.toBaseUnit(me,{decimals:v}),mn=[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:ua.MsgSend.fromPartial({fromAddress:n,toAddress:j.InitiaAddress(Ae).bech32,amount:[{denom:ee,amount:At}]})}];return o({messages:mn,memo:We,chainId:O,gas:M,gasAdjustment:on,gasPrices:y,spendCoins:[{denom:ee,amount:At}],internal:"/"})}}),K=g.useMemo(()=>{if(!p)return"Enter amount";if(d.quantity)return d.quantity.message;if(!h)return"Enter recipient address";if(d.recipient)return d.recipient.message;if(d.memo)return d.memo.message},[p,h,d.quantity,d.recipient,d.memo]);return t.jsx(mt,{title:"Send",children:t.jsxs("form",{onSubmit:c(O=>D(O)),children:[t.jsxs("div",{className:za.fields,children:[t.jsx(uo,{selectButton:t.jsx(ln,{title:"Select chain and asset",content:O=>t.jsx(rb,{afterSelect:O}),children:t.jsx(fi,{asset:C,chain:_})}),quantityInput:t.jsx(cn,{balance:k,decimals:v}),balanceButton:t.jsx(mi,{onClick:()=>i("quantity",j.fromBaseUnit($,{decimals:v}),{shouldValidate:!0}),disabled:q,children:j.formatAmount(k??"0",{decimals:v})}),value:p?S?Z(U(p).times(S)):"$-":"$0"}),t.jsx("div",{className:za.divider}),t.jsx(Ho,{myAddress:e}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:"memo",children:"Memo (optional)"}),t.jsx("input",{...a("memo",{validate:O=>!O||new Blob([O]).size<=256||"Memo is too long"}),id:"memo",autoComplete:"off"})]}),t.jsx(xe.Stack,{children:!f&&t.jsx(xe,{level:"warning",children:"Check if the above transaction requires a memo"})})]}),t.jsx(fe,{children:t.jsx(ne.White,{type:"submit",loading:(F?"Estimating gas...":!1)||W,disabled:!!K,children:K??"Confirm"})})]})})},ub=()=>{const e=Ke(),n=Ot(),s=xt(n),{chain:o=n}=e,a=A.head(s);if(!e.denom&&!a)throw new Error("Asset list not found. This occurs during local development when asset list is not configured. Use asset-specific send buttons instead of the default send button, or register chain in Initia Registry with at least one asset defined.");const r=e.denom??a?.denom,i=pe.useForm({mode:"onChange",defaultValues:{chainId:o.chainId,denom:r,quantity:"",recipient:"",memo:""}});return t.jsx(pe.FormProvider,{...i,children:t.jsx(db,{})})};async function go(e,n){const s=e.replace("ibc/",""),{class_trace:o}=await V.create({prefixUrl:n}).get(`ibc/apps/nft_transfer/v1/class_traces/${s}`).json();return o}async function mb(e,n){const s=new gt.Interface([{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}]),{response:o}=await V.create({prefixUrl:n}).post("minievm/evm/v1/call",{json:{sender:j.InitiaAddress("0x1").bech32,contract_addr:j.InitiaAddress(e).hex,input:s.encodeFunctionData("name")}}).json();return s.decodeFunctionResult("name",o)[0]}async function hb(e,n,s){if(n.startsWith("evm/"))return e;const{token_infos:o}=await V.create({prefixUrl:s}).get(`minievm/evm/v1/erc721/origin_token_infos/${n}`,{searchParams:{token_ids:e.join(",")}}).json();return o.map(({token_origin_id:a})=>a)}async function pb({collection_addr:e},{restUrl:n}){const s=await mb(e,n);if(!s.startsWith("ibc/"))return{class_id:`evm/${j.InitiaAddress(e).rawHex}`,class_trace:void 0};const o=await go(s,n);return o?{class_id:s,class_trace:o}:{class_id:`evm/${j.InitiaAddress(e).rawHex}`,class_trace:void 0}}async function fb(e,n){const{data:s}=await V.create({prefixUrl:n}).post("initia/move/v1/view/json",{json:{address:"0x1",module_name:"collection",function_name:"name",type_args:["0x1::collection::Collection"],args:[JSON.stringify(e)]}}).json();return JSON.parse(s)}async function gb({object_addr:e,collection_addr:n},{restUrl:s}){const o=await fb(n,s);return o.startsWith("ibc/")?j.InitiaAddress.equals(j.createObjectAddress("0x1",o),n)?{class_id:o,class_trace:await go(o,s)}:{class_id:`move/${e.replace("0x","").padStart(64,"0")}`,class_trace:await go(o,s)}:{class_id:`move/${n.replace("0x","").padStart(64,"0")}`,class_trace:void 0}}async function _b(e,n){const s=re.toBase64(Dt.utf8ToBytes(JSON.stringify({contract_info:{}}))),{data:o}=await V.create({prefixUrl:n}).get(`cosmwasm/wasm/v1/contract/${e}/smart/${s}`).json();return o.name}async function xb(e,n){const{collection:s}=await V.create({prefixUrl:n}).get(`indexer/nft/v1/collections/${e}`).json();return s.collection.creator}async function yb(e,n){const s=re.toBase64(Dt.toBytes(JSON.stringify({outgoing_proxy:{}}))),{data:o}=await V.create({prefixUrl:n}).get(`cosmwasm/wasm/v1/contract/${e}/smart/${s}`).json();return o}function Ka(e){const n=/^(.*channel-\d+)\/(.*)$/,s=e.match(n);if(!s)throw new Error("Pattern `channel-{number}/` not found.");const[,o,a]=s;return[o,a]}async function jb({collection_addr:e},n,s){const o=j.InitiaAddress(e).bech32,a=await _b(o,n.restUrl),r=n.metadata?.ibc_channels?.find(({chain_id:_,version:x})=>_===s.chain_id&&x.includes("ics721-1"));if(!r)throw new Error("Channel not found");const i=r.port_id,c=i.split(".")[1],l=re.toBase64(Dt.toBytes(JSON.stringify({class_id:{contract:o}}))),{data:d}=await V.create({prefixUrl:n.restUrl}).get(`cosmwasm/wasm/v1/contract/${c}/smart/${l}`).json(),u=d??o,m=await yb(c,n.restUrl),h=await xb(o,n.indexerUrl);if(u===o)return{class_id:u,class_trace:void 0,outgoing_proxy:m};if(d&&h!==i.replace("wasm.","")){const[_,x]=Ka(d);return{class_id:o,class_trace:{path:_,base_class_id:x},outgoing_proxy:m}}const[p,f]=Ka(a);return{class_id:o,class_trace:{path:p,base_class_id:f},outgoing_proxy:m}}const bb={minimove:gb,minievm:pb,miniwasm:jb};async function vb({nft:e,srcChain:n,intermediaryChain:s}){const o=n.metadata?.is_l1?"minimove":n.metadata?.minitia?.type;if(!(o==="minimove"||o==="minievm"||o==="miniwasm"))throw new Error(`Unsupported minitia type: ${o}`);const a=await bb[o](e,n,s);return Object.assign(a,o==="minievm"&&{token_ids:await hb([e.token_id],a.class_id,n.restUrl)})}const wb="_root_1tyvn_1",Cb="_collectionName_1tyvn_10",Nb="_nftName_1tyvn_15",kb="_chainInfo_1tyvn_19",Ib="_fields_1tyvn_24",Ab="_chain_1tyvn_19",so={root:wb,collectionName:Cb,nftName:Nb,chainInfo:kb,fields:Ib,chain:Ab},Sb=ye.createQueryKeys("interwovenkit:send-nft",{simulation:e=>[e]}),$b=()=>{const e=ue(),n=Ke(),{chain:s,collection_addr:o}=n,{routerApiUrl:a}=G(),r=En(),i=ie(),{address:c,initiaAddress:l,requestTxSync:d}=De(),{watch:u,setValue:m,handleSubmit:h,formState:p}=pe.useFormContext(),{errors:f}=p,_=u(),{recipient:x,dstChainId:y}=_,b=Xe(y),C=T.useQuery({queryKey:Sb.simulation({collection_addr:o,nft:n,sender:l,recipient:x,srcChain:s,dstChain:b,layer1:i,routerApiUrl:a}).queryKey,queryFn:async()=>{const $=Object.assign({from_address:l,from_chain_id:s.chainId,to_address:j.InitiaAddress(x).bech32,to_chain_id:b.chainId,collection_address:o,token_ids:[n.token_id],object_addresses:[n.object_addr]},s.chainId!==b.chainId&&await vb({nft:n,srcChain:s,intermediaryChain:i})),{msgs:N}=await V.create({prefixUrl:a}).post("nft",{json:$}).json();return N.map(R=>r.fromAmino(R))},enabled:j.InitiaAddress.validate(x)}),{data:w,isLoading:v,error:k}=C,S=T.useQueryClient(),{mutate:M,isPending:F}=T.useMutation({mutationFn:async()=>{if(!w)throw new Error("Route not found");await d({messages:w,chainId:s.chainId,internal:"/nfts"})},onSuccess:()=>{S.invalidateQueries({queryKey:na.nfts._def})}}),E=g.useMemo(()=>{if(!x)return"Enter recipient address";if(f.recipient)return f.recipient.message;if(k)return"Route not found"},[x,f.recipient,k]);return t.jsxs("form",{onSubmit:h(()=>M()),children:[t.jsx(ta,{normalizedNft:n,thumbnailSize:80,classNames:so}),t.jsxs("div",{className:so.fields,children:[t.jsxs("div",{children:[t.jsx("div",{className:"label",children:"Destination appchain"}),t.jsxs(ln,{title:"Destination appchain",content:$=>t.jsx(pi,{onSelect:({chainId:N})=>{m("dstChainId",N),$()},list:e,getImage:N=>N.logoUrl,getName:N=>N.name,getKey:N=>N.chainId}),className:L("input",so.chain),children:[t.jsx(J,{src:b.logoUrl,width:20,height:20,logo:!0}),t.jsx("span",{children:b.name})]})]}),t.jsx(Ho,{myAddress:c,ref:Bn()})]}),t.jsx(fe,{children:t.jsx(ne.White,{loading:(v?"Finding route...":!1)||F,disabled:!!E,children:E??"Confirm"})})]})},Tb=()=>{const{chain:e}=Ke(),n=pe.useForm({mode:"onChange",defaultValues:{dstChainId:e.chainId,recipient:""}});return t.jsx(mt,{title:"Send NFT",children:t.jsx(pe.FormProvider,{...n,children:t.jsx($b,{})})})},_o=()=>{const e=je(),n=et(),s=kt(),{closeDrawer:o}=lt(),{closeModal:a}=ys();g.useEffect(()=>{a(),n.startsWith("/bridge/")&&n!=="/bridge/history"&&e("/bridge"),(n==="/collection"||n.startsWith("/nft"))&&e("/nfts")},[s]);const r=$n();if(g.useEffect(()=>{r("Page View")},[n,r]),n==="/connect")return s?null:t.jsx(Pa,{onSuccess:o});if(n==="/blank")return null;if(!s)return t.jsx(Pa,{});switch(n){case"/":case"/nfts":case"/activity":return t.jsx(Kj,{});case"/send":return t.jsx(ub,{},s);case"/receive":return t.jsx(fx,{});case"/nft":return t.jsx(nb,{});case"/nft/send":return t.jsx(Tb,{},s);case"/bridge":return t.jsx(Wp,{},s);case"/bridge/preview":return t.jsx(Jf,{});case"/bridge/history":return t.jsx(Lf,{});case"/op/withdrawals":return t.jsx($g,{});case"/tx":return t.jsx(ai,{});case"/autosign/enable":return t.jsx(qm,{});case"/settings":return t.jsx(Vx,{});case"/settings/autosign":return t.jsx($x,{});case"/deposit":return t.jsx(Y_,{});case"/deposit/completed":return t.jsx(ls,{type:"deposit"});case"/withdraw":return t.jsx(tx,{});case"/withdraw/completed":return t.jsx(ls,{type:"withdraw"})}},Eb="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@100..700&display=swap",qb=()=>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:Eb}),t.jsx("link",{rel:"stylesheet",href:"https://assets.initia.xyz/fonts/PilatWide.css"})]}),Lb=()=>(Cc(),Tc(),ue(),Al(),Or(),An(),Rn(),zt(),null),Mb=({children:e,...n})=>(g.useEffect(()=>{rl()},[]),Ie.useIsClient()?t.jsxs(t.Fragment,{children:[t.jsx(qb,{}),t.jsx(Xa.Provider,{value:{...Ja,...n},children:t.jsx(ur,{children:t.jsx(im,{children:t.jsx(Y.Tooltip.Provider,{delayDuration:0,skipDelayDuration:0,children:t.jsx(rm,{children:t.jsxs(Qu,{children:[e,t.jsx(ql,{}),t.jsx(de,{suspenseFallback:null,errorBoundaryProps:{fallback:null},children:t.jsx(Lb,{})}),t.jsx(vd,{children:t.jsx(_o,{})}),t.jsx(xd,{children:t.jsx(_o,{})})]})})})})})})]}):null),Db=({bridge:e})=>t.jsx(ur,{initialEntry:{path:e?"/bridge":"/",state:e},children:t.jsx("div",{className:"body",children:t.jsx(Jr.Provider,{value:!!e,children:t.jsx(de,{children:t.jsx(_o,{})})})})});exports.DEFAULT_GAS_ADJUSTMENT=on;exports.DEFAULT_GAS_PRICE_MULTIPLIER=Za;exports.InterwovenKit=Db;exports.InterwovenKitProvider=Mb;exports.MAINNET=Ja;exports.MoveError=kr;exports.PRIVY_APP_ID=jo;exports.TESTNET=sc;exports.initiaPrivyWallet=ac;exports.initiaPrivyWalletConnector=oc;exports.initiaPrivyWalletOptions=ms;exports.injectStyles=Ql;exports.useAddress=kt;exports.useHexAddress=Vt;exports.useInitiaAddress=X;exports.useInterwovenKit=De;exports.usePortfolio=To;exports.useUsernameQuery=Lr;
|