@tuwaio/nova-connect 0.6.0 → 0.7.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/README.md +93 -155
- package/dist/chunk-3LWAAUG4.js +1 -0
- package/dist/chunk-6EDQ7JRZ.js +1 -0
- package/dist/chunk-AGE6EFTV.js +1 -0
- package/dist/chunk-ENXSDTRV.js +2 -0
- package/dist/chunk-Q4FCNEIJ.cjs +2 -0
- package/dist/chunk-R5V3K52O.cjs +1 -0
- package/dist/chunk-YJRNNNR6.cjs +1 -0
- package/dist/chunk-ZVUCC2QP.cjs +1 -0
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.cts +5140 -2914
- package/dist/components/index.d.ts +5140 -2914
- package/dist/components/index.js +1 -1
- package/dist/evm/index.cjs +1 -1
- package/dist/evm/index.d.cts +15 -9
- package/dist/evm/index.d.ts +15 -9
- package/dist/evm/index.js +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.cts +76 -51
- package/dist/hooks/index.d.ts +76 -51
- package/dist/hooks/index.js +1 -1
- package/dist/i18n/index.cjs +1 -1
- package/dist/i18n/index.d.cts +1 -1
- package/dist/i18n/index.d.ts +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.css +0 -22
- package/dist/index.d.cts +271 -879
- package/dist/index.d.ts +271 -879
- package/dist/index.js +1 -1
- package/dist/satellite/index.cjs +1 -1
- package/dist/satellite/index.d.cts +1 -1
- package/dist/satellite/index.d.ts +1 -1
- package/dist/satellite/index.js +1 -1
- package/dist/solana/index.cjs +1 -1
- package/dist/solana/index.d.cts +16 -9
- package/dist/solana/index.d.ts +16 -9
- package/dist/solana/index.js +1 -1
- package/dist/types-CnOiSyvZ.d.cts +400 -0
- package/dist/types-CnOiSyvZ.d.ts +400 -0
- package/dist/useWalletNativeBalance-CPK-PoXG.d.ts +918 -0
- package/dist/useWalletNativeBalance-DMPPRldX.d.cts +918 -0
- package/package.json +28 -68
- package/dist/chunk-5MOVHUHI.js +0 -2
- package/dist/chunk-7K4ENNWO.cjs +0 -2
- package/dist/chunk-7TYZT7ZD.cjs +0 -1
- package/dist/chunk-ARBYH7CW.js +0 -1
- package/dist/chunk-K44IHM6B.cjs +0 -1
- package/dist/chunk-MGBN4EIT.cjs +0 -1
- package/dist/chunk-NQ5AECZQ.js +0 -1
- package/dist/chunk-S3IRVZMG.js +0 -1
- package/dist/evm-DUQXCW22.js +0 -1
- package/dist/evm-KSA7PJIK.cjs +0 -1
- package/dist/getChainsListByConnectorType-QCNOPM6I.cjs +0 -1
- package/dist/getChainsListByConnectorType-YZZUYC6D.js +0 -1
- package/dist/solana-CVUSQUPL.cjs +0 -1
- package/dist/solana-GDE2KIT6.js +0 -1
- package/dist/types-DxUn8qmU.d.cts +0 -108
- package/dist/types-DxUn8qmU.d.ts +0 -108
- package/dist/useWalletNativeBalance-BuiJip3d.d.cts +0 -743
- package/dist/useWalletNativeBalance-DrgdoQa-.d.ts +0 -743
- /package/dist/{chunk-V6XDFRWV.cjs → chunk-EGATOYHY.cjs} +0 -0
- /package/dist/{chunk-EYP534IS.js → chunk-ZVADGOGQ.js} +0 -0
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {G,t,H}from'./chunk-5MOVHUHI.js';import {h,g,c}from'./chunk-ARBYH7CW.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,r as getAvailableChainIds,w as getAvailableSolanaClusters,q as getConnectChainId,u as getFilteredConnectors,s as getGroupedConnectors,n as getLabelWithFallback,t as hasAvailableConnectors,v as hasConnectorsForAdapter,k as hasLabel,m as isDefaultLabels,x as isValidSolanaCluster,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,p as useNovaSiwx,y as useWalletChainsList,z as useWalletNativeBalance}from'./chunk-ARBYH7CW.js';export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClustersAsync,b as getChainsListByConnectorType,a as getChainsListByConnectorTypeAsync,b as getChainsListByConnectorTypeSync,i as getWalletChains,e as isEvmChainList,c as isEvmChainListAsync,e as isEvmChainListSync,f as isSolanaChainList,d as isSolanaChainListAsync,f as isSolanaChainListSync,h as isValidSolanaClusterAsync,j as preloadChainAdapters}from'./chunk-S3IRVZMG.js';import {a}from'./chunk-NQ5AECZQ.js';import {d}from'./chunk-EYP534IS.js';import {OrbitAdapter}from'@tuwaio/orbit-core';import {ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {useRef,useCallback,useEffect,useMemo,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {useSiwx,useSiwxSessionStore,getSatelliteSiwxFields}from'@tuwaio/siwx-react';var Ie=({title:e,rawError:o,onCopyComplete:r,errorType:c,isConnected:n,...u})=>jsx(H,{title:e,rawError:o,onCopyComplete:r,customization:u.customization}),We=e=>{let o=h();return jsx(ToastContainer,{...e,role:"alert","aria-live":"assertive","aria-label":o.somethingWentWrong})},ze=(e,o)=>{e(o.title,o.rawError,o.errorKey);},He=e=>{e();},Ue=(e,o)=>{if(e&&process.env.NODE_ENV==="development"){let r=typeof o=="string"?o:o.message;console.log("Error copied to clipboard:",r.substring(0,100));}},Ve=e=>e,Fe=e=>e;function ie({containerId:e="nova-connect-errors",position:o="top-center",autoClose:r=7e3,draggable:c=false,customization:n}){let u=h(),M=d(i=>i.switchNetworkError),B=d(i=>i.activeConnection),L=d(i=>i.connectionError),{ToastError:O=Ie,Container:A=We}=n?.components??{},{showError:R=ze,dismissError:S=He,onCopyComplete:d$1=Ue}=n?.handlers??{},{errorTitle:k=Ve,errorHash:t=Fe}=n??{},m=useRef(new Set),E=useRef(null),P=!!L,l=!!M,p=!!B?.isConnected,g=P||l,b=L||M||null,s=P?"wallet":l?"switch":null,a={hasWalletError:P,hasSwitchError:l,isConnected:p,hasAnyError:g,primaryError:b,errorType:s},N=u.somethingWentWrong;switch(a.errorType){case "wallet":N=u.connectionError;break;case "switch":N=u.errorWhenChainSwitching;break}let T=k(N,{errorType:a.errorType}),I=a.primaryError?`${a.errorType}-${a.primaryError.message.substring(0,50)}`:null,h$1=t(I,{primaryError:a.primaryError,errorType:a.errorType}),x=useCallback(()=>{S(()=>{E.current&&(toast.dismiss(E.current),E.current=null),toast.dismiss({containerId:e});});},[e,S]),W=useCallback((i,C)=>{d$1(i,C,s);},[d$1,s]),K=useCallback((i,C,w)=>{if(x(),!m.current.has(w))try{let V={containerId:e,toastId:w,onClose:()=>{m.current.delete(w),E.current=null;}},J=n?.toastOptions?.error?.({title:i,rawError:C,errorType:a.errorType,isConnected:a.isConnected}),F={...V,...J};toast.error(jsx(O,{title:i,rawError:C,errorType:a.errorType,isConnected:a.isConnected,onCopyComplete:Q=>W(Q,C),customization:n?.toastErrorCustomization}),F),m.current.add(w),E.current=w;}catch(V){console.error("Failed to show error toast:",V);}},[x,e,n?.toastOptions?.error,n?.toastErrorCustomization,O,a.errorType,a.isConnected,W]),z=useCallback((i,C,w)=>{R(K,{title:i,rawError:C,errorKey:w,errorType:s});},[K,R,s]);useEffect(()=>{if(p&&!g){x(),m.current.clear();return}if(g&&b&&h$1){if(p&&s!=="switch")return;z(T,b,h$1);}},[g,p,b,s,T,h$1,z,x]),useEffect(()=>()=>{x(),m.current.clear();},[x]);let _=n?.classNames?.container?n.classNames.container({hasErrors:a.hasAnyError,errorType:a.errorType}):"novacon:p-0 novacon:bg-transparent",U=useMemo(()=>{let i=n?.toastCloseButton;return i?({closeToast:C})=>jsx(ToastCloseButton,{closeToast:C,...i}):ToastCloseButton},[n?.toastCloseButton]),j={...{containerId:e,position:o,closeOnClick:false,icon:false,closeButton:U,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:c,pauseOnHover:true,theme:"light",transition:Bounce},...n?.containerProps,className:_};return jsx(A,{...j})}ie.displayName="ErrorsProvider";function ce({labels:e,children:o}){let r=useMemo(()=>e,[e]);if(process.env.NODE_ENV==="development"){(!e||typeof e!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let n=["connectWallet","disconnect","connecting","connected","error","success"].filter(u=>!(u in e));n.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${n.join(", ")}`);}return jsx(g.Provider,{value:r,children:o})}ce.displayName="NovaConnectLabelsProvider";function de(e){let{enabled:o=true,getNonce:r,verifier:c,destroyer:n,domain:u,uri:M,statement:B,expirationTime:L,expirationSeconds:O,notBefore:A,requestId:R,resources:S,onSuccess:d$1,onError:k}=e,t=d(s=>s.activeConnection),m=d(s=>s.disconnect),{signIn:E}=useSiwx(),P=useSiwxSessionStore(s=>s.session),l=useSiwxSessionStore(s=>s.status),p=useSiwxSessionStore(s=>s.reset),g=useRef(null),b=useRef(false);return useEffect(()=>{(!t?.isConnected||!t?.address)&&(g.current=null,(l==="authenticated"||P)&&(p(),n&&n().catch(s=>{console.warn("[NovaSiwxWatcher] Failed to execute session destroyer:",s);})));},[t?.isConnected,t?.address,l,P,p,n]),useEffect(()=>{if(!(!o||!t?.isConnected||!t?.address||!t?.chainId)&&t.signMessage&&!b.current&&!(l==="building"||l==="signing"||l==="verifying"))try{let s={address:String(t.address),chainId:t.chainId,signMessage:t.signMessage,isConnected:t.isConnected},a=getSatelliteSiwxFields(s,{domain:u,uri:M,statement:B,expirationTime:L,expirationSeconds:O,notBefore:A,requestId:R,resources:S});if(l==="authenticated"&&P?.address===a.address||g.current===a.address)return;if(g.current=a.address,!c){console.warn("[NovaSiwxWatcher] Verifier not provided, skipping SIWX auto-authentication.");return}let N=T=>{let I=T instanceof Error?T.message:String(T);console.warn("[NovaSiwxWatcher] SIWX authentication rejected or failed:",I);let h=t.address;t.connectorType&&h===t.address&&m(t.connectorType),p(),k?.(I);};b.current=!0,E({signer:t.signMessage,verifier:c,getNonce:r,fields:a,onSuccess:d$1,onError:N}).catch(N).finally(()=>{b.current=!1;});}catch(s){console.warn("[NovaSiwxWatcher] Failed to build SIWX fields:",s);}},[t?.isConnected,t?.address,t?.chainId,t?.signMessage,t?.connectorType,m,o,l,P?.address,r,c,u,M,B,L,O,A,R,S,E,p,d$1,k]),null}var $e=({labels:e,children:o})=>jsx(ce,{labels:e,children:o}),_e=({customization:e})=>jsx(ie,{customization:e}),je=(e,o)=>deepMerge(e,o||{}),Je=e=>e,Qe=e=>e,Ye=(e,o,r)=>e;function Ze({labels:e,children:o,appChains:r,solanaRPCUrls:c$1,transactionPool:n,pulsarAdapter:u,withImpersonated:M,withBalance:B,withChain:L,popularConnectors:O,customConnectorGroups:A,legal:R,siwx:S,customization:d$1,pagination:k}){let t$1=d(te=>te.activeConnection),m=d(te=>te.connectionError),{LabelsProvider:E=$e,ErrorsProvider:P=_e}=d$1?.components??{},{merge:l=je,transform:p=Je}=d$1?.labels??{},{transform:g=Qe}=d$1?.contextValue??{},{providerTree:b=Ye}=d$1?.rendering??{},s=useMemo(()=>l(a,e||{}),[e,l]),[a$1,N]=useState(false),[T,I]=useState(false),[h,x]=useState(false),[W,K]=useState(false),[z,_]=useState("idle"),[U,me]=useState("connectors"),[j,i]=useState(void 0),[C,w]=useState(void 0),[V,J]=useState(""),[F,Q]=useState(false),[Y,Ne]=useState("main"),xe={appChains:r,solanaRPCUrls:c$1,withImpersonated:M,popularConnectors:O,customConnectorGroups:A,withBalance:B,withChain:L,isConnectModalOpen:a$1,setIsConnectModalOpen:N,isConnectedModalOpen:T,setIsConnectedModalOpen:I,isChainsListOpen:h,setIsChainsListOpen:x,isChainsListOpenMobile:W,setIsChainsListOpenMobile:K,connectedButtonStatus:z,setConnectedButtonStatus:_,connectedModalContentType:Y,setConnectedModalContentType:Ne,connectModalContentType:U,setConnectModalContentType:me,selectedAdapter:j,setSelectedAdapter:i,activeConnector:C,setActiveConnector:w,impersonatedAddress:V,setImpersonatedAddress:J,isConnected:F,setIsConnected:Q,legal:R},q=useMemo(()=>({isConnected:F,activeConnection:t$1,connectionError:m,modalStates:{isConnectModalOpen:a$1,isConnectedModalOpen:T,isChainsListOpen:h,isChainsListOpenMobile:W},contentTypes:{connectModal:U,connectedModal:Y},statuses:{connectedButton:z}}),[F,t$1,m,a$1,T,h,W,U,Y,z]),Me=useMemo(()=>p(s,q),[s,p,q]),Ce=g(xe,q),Z=jsx(P,{customization:d$1?.errors}),ee=jsx(E,{labels:Me,children:o}),oe=r||c$1?jsx(G,{solanaRPCUrls:c$1,appChains:r,customization:d$1?.modals?.connectModal}):null,re=r||c$1?jsx(t,{solanaRPCUrls:c$1,appChains:r,transactionPool:n,pulsarAdapter:u,customization:d$1?.modals?.connectedModal,pagination:k}):null,Le=jsxs(c.Provider,{value:Ce,children:[jsx(de,{...S}),Z,ee,oe,re]}),Oe=jsxs(c.Provider,{value:Ce,children:[jsx(de,{...S}),Z,ee,oe,re]}),Re=b(Oe,{ErrorsProvider:Z,LabelsProvider:ee,MainContent:Le,ConnectModal:oe||jsx(Fragment,{}),ConnectedModal:re||jsx(Fragment,{})},q);return jsx(Fragment,{children:Re})}Ze.displayName="NovaConnectProvider";async function kr(){let{getAllAdaptersStatus:e}=await import('./getChainsListByConnectorType-YZZUYC6D.js');return {hasEvmUtils:await X(),hasSolanaUtils:await $(),adaptersStatus:e()}}async function X(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function $(){try{return await import('@solana/kit'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function Ir(){try{if(!await X())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let o=await import('./evm/index.js'),r=await o.getEvmExports();return r.available?{...o,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(e){return {available:false,error:e instanceof Error?e.message:"EVM utilities not available"}}}async function Wr(){try{if(!await $())return {available:!1,error:"Solana packages (@solana/kit, @tuwaio/orbit-solana) not available"};let o=await import('./solana/index.js'),r=await o.getSolanaExports();return r.available?{...o,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(e){return {available:false,error:e instanceof Error?e.message:"Solana utilities not available"}}}async function zr(){let e={evm:false,solana:false,errors:[]};try{let o=await X(),r=await $();if(o||r){let{preloadChainAdapters:c}=await import('./getChainsListByConnectorType-YZZUYC6D.js'),n=[];o&&n.push(OrbitAdapter.EVM),r&&n.push(OrbitAdapter.SOLANA),await c(n),e.evm=o,e.solana=r;}else e.errors.push("No blockchain packages available for initialization");}catch(o){let r=o instanceof Error?o.message:"Unknown initialization error";e.errors.push(r);}return e}async function Hr(e){return e===OrbitAdapter.Starknet||e!==OrbitAdapter.EVM&&e!==OrbitAdapter.SOLANA?false:e===OrbitAdapter.EVM?X():$()}export{ie as ErrorsProvider,ce as NovaConnectLabelsProvider,Ze as NovaConnectProvider,de as NovaSiwxWatcher,kr as getBlockchainUtilities,Ir as getEvmUtils,Wr as getSolanaUtils,zr as initializeBlockchainSupport,Hr as isAdapterSupported};
|
|
1
|
+
import {G,t,H}from'./chunk-ENXSDTRV.js';import {h,g,c}from'./chunk-AGE6EFTV.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,v as getAvailableChainIds,q as getChainsListByConnectorType,u as getConnectChainId,y as getFilteredConnectors,w as getGroupedConnectors,n as getLabelWithFallback,t as getWalletChains,x as hasAvailableConnectors,z as hasConnectorsForAdapter,k as hasLabel,m as isDefaultLabels,r as isEvmChainList,s as isSolanaChainList,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,p as useNovaSiwx,A as useWalletChainsList,B as useWalletNativeBalance}from'./chunk-AGE6EFTV.js';import {a}from'./chunk-6EDQ7JRZ.js';import {d}from'./chunk-ZVADGOGQ.js';import'./chunk-3LWAAUG4.js';import {ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {useRef,useCallback,useEffect,useMemo,useEffectEvent,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {useSiwx,useSiwxSessionStore,getSatelliteSiwxFields}from'@tuwaio/siwx-react';var ze=({title:e,rawError:r,onCopyComplete:i,errorType:u,isConnected:n,...m})=>jsx(H,{title:e,rawError:r,onCopyComplete:i,customization:m.customization}),He=e=>{let r=h();return jsx(ToastContainer,{...e,role:"alert","aria-live":"assertive","aria-label":r.somethingWentWrong})},Ie=(e,r)=>{e(r.title,r.rawError,r.errorKey);},Ae=e=>{e();},Fe=(e,r)=>{if(e&&process.env.NODE_ENV==="development"){let i=typeof r=="string"?r:r.message;console.log("Error copied to clipboard:",i.substring(0,100));}},Ve=e=>e,De=e=>e;function ne({containerId:e="nova-connect-errors",position:r="top-center",autoClose:i=7e3,draggable:u=false,customization:n}){let m=h(),B=d(a=>a.switchNetworkError),A=d(a=>a.activeConnection),W=d(a=>a.connectionError),{ToastError:z=ze,Container:F=He}=n?.components??{},{showError:H=Ie,dismissError:L=Ae,onCopyComplete:p=Fe}=n?.handlers??{},{errorTitle:V=Ve,errorHash:o=De}=n??{},T=useRef(new Set),g=useRef(null),M=!!W,v=!!B,c=!!A?.isConnected,w=M||v,y=W||B||null,l=M?"wallet":v?"switch":null,s={hasWalletError:M,hasSwitchError:v,isConnected:c,hasAnyError:w,primaryError:y,errorType:l},O=m.somethingWentWrong;switch(s.errorType){case "wallet":O=m.connectionError;break;case "switch":O=m.errorWhenChainSwitching;break}let S=V(O,{errorType:s.errorType}),t=s.primaryError?`${s.errorType}-${s.primaryError.message.substring(0,50)}`:null,d$1=o(t,{primaryError:s.primaryError,errorType:s.errorType}),C=useCallback(()=>{L(()=>{g.current&&(toast.dismiss(g.current),g.current=null),toast.dismiss({containerId:e});});},[e,L]),x=useCallback((a,f)=>{p(a,f,l);},[p,l]),R=useCallback((a,f,h)=>{if(C(),!T.current.has(h))try{let k={containerId:e,toastId:h,onClose:()=>{T.current.delete(h),g.current=null;}},U=n?.toastOptions?.error?.({title:a,rawError:f,errorType:s.errorType,isConnected:s.isConnected}),K={...k,...U};toast.error(jsx(z,{title:a,rawError:f,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:_=>x(_,f),customization:n?.toastErrorCustomization}),K),T.current.add(h),g.current=h;}catch(k){console.error("Failed to show error toast:",k);}},[C,e,n?.toastOptions?.error,n?.toastErrorCustomization,z,s.errorType,s.isConnected,x]),N=useCallback((a,f,h)=>{H(R,{title:a,rawError:f,errorKey:h,errorType:l});},[R,H,l]);useEffect(()=>{if(c&&!w){C(),T.current.clear();return}if(w&&y&&d$1){if(c&&l!=="switch")return;N(S,y,d$1);}},[w,c,y,l,S,d$1,N,C]),useEffect(()=>()=>{C(),T.current.clear();},[C]);let I=n?.classNames?.container?n.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",D=useMemo(()=>{let a=n?.toastCloseButton;return a?({closeToast:f})=>jsx(ToastCloseButton,{closeToast:f,...a}):ToastCloseButton},[n?.toastCloseButton]),$={...{containerId:e,position:r,closeOnClick:false,icon:false,closeButton:D,autoClose:i,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:u,pauseOnHover:true,theme:"light",transition:Bounce},...n?.containerProps,className:I};return jsx(F,{...$})}ne.displayName="ErrorsProvider";function se({labels:e,children:r}){let i=useMemo(()=>e,[e]);if(process.env.NODE_ENV==="development"){(!e||typeof e!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let n=["connectWallet","disconnect","connecting","connected","error","success"].filter(m=>!(m in e));n.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${n.join(", ")}`);}return jsx(g.Provider,{value:i,children:r})}se.displayName="NovaConnectLabelsProvider";function be(e){let{enabled:r=true,getNonce:i,verifier:u,destroyer:n,domain:m,uri:B,statement:A,expirationTime:W,expirationSeconds:z,notBefore:F,requestId:H,resources:L,onSuccess:p,onError:V}=e,o=d(t=>t.activeConnection),T=d(t=>t.disconnect),g=d(t=>t.isAutoConnectFinished),{signIn:M}=useSiwx(),v=useSiwxSessionStore(t=>t.session),c=useSiwxSessionStore(t=>t.status),w=useSiwxSessionStore(t=>t.reset),y=useRef(null),l=useRef(false),s=useEffectEvent(()=>{w(),n&&n().catch(t=>{console.warn("[NovaSiwxWatcher] Failed to execute session destroyer:",t);});});useEffect(()=>{if(!o?.isConnected||!o?.address){if(y.current=null,g===false)return;(c==="authenticated"||v)&&s();}},[o?.isConnected,o?.address,g,c,v]);let O=useEffectEvent((t,d)=>o?.connectorType===t&&o.address===d),S=useEffectEvent(()=>{if(!(!o?.isConnected||!o.address||!o.signMessage))try{let t={address:String(o.address),chainId:o.chainId,signMessage:o.signMessage,isConnected:o.isConnected},d=getSatelliteSiwxFields(t,{domain:m,uri:B,statement:A,expirationTime:W,expirationSeconds:z,notBefore:F,requestId:H,resources:L});if(c==="authenticated"&&v?.address===d.address||y.current===d.address)return;if(y.current=d.address,!u){console.warn("[NovaSiwxWatcher] Verifier not provided, skipping SIWX auto-authentication.");return}let{connectorType:C,address:x}=o,R=N=>{let I=N instanceof Error?N.message:String(N);console.warn("[NovaSiwxWatcher] SIWX authentication rejected or failed:",I),C&&O(C,x)&&T(C),w(),V?.(I);};l.current=!0,M({signer:o.signMessage,verifier:u,getNonce:i,fields:d,onSuccess:p,onError:R}).catch(R).finally(()=>{l.current=!1;});}catch(t){console.warn("[NovaSiwxWatcher] Failed to build SIWX fields:",t);}});return useEffect(()=>{!r||!o?.isConnected||!o?.address||!o?.chainId||o.signMessage&&(l.current||c==="building"||c==="signing"||c==="verifying"||S());},[o?.isConnected,o?.address,o?.chainId,o?.signMessage,o?.connectorType,r,c,v?.address]),null}var $e=({labels:e,children:r})=>jsx(se,{labels:e,children:r}),Ue=({customization:e})=>jsx(ne,{customization:e}),_e=(e,r)=>deepMerge(e,r||{}),je=e=>e,Je=e=>e,Qe=(e,r,i)=>e;function Ye({labels:e,children:r,appChains:i,solanaRPCUrls:u,transactionPool:n,pulsarAdapter:m,withImpersonated:B,withBalance:A,withChain:W,popularConnectors:z,customConnectorGroups:F,legal:H,siwx:L,customization:p,pagination:V}){let o=d(ee=>ee.activeConnection),T=d(ee=>ee.connectionError),{LabelsProvider:g=$e,ErrorsProvider:M=Ue}=p?.components??{},{merge:v=_e,transform:c$1=je}=p?.labels??{},{transform:w=Je}=p?.contextValue??{},{providerTree:y=Qe}=p?.rendering??{},l=useMemo(()=>v(a,e||{}),[e,v]),[s,O]=useState(false),[S,t$1]=useState(false),[d$1,C]=useState(false),[x,R]=useState(false),[N,I]=useState("idle"),[D,de]=useState("connectors"),[$,a$1]=useState(void 0),[f,h]=useState(void 0),[k,U]=useState(""),[K,_]=useState(false),[j,he]=useState("main"),Se={appChains:i,solanaRPCUrls:u,withImpersonated:B,popularConnectors:z,customConnectorGroups:F,withBalance:A,withChain:W,isConnectModalOpen:s,setIsConnectModalOpen:O,isConnectedModalOpen:S,setIsConnectedModalOpen:t$1,isChainsListOpen:d$1,setIsChainsListOpen:C,isChainsListOpenMobile:x,setIsChainsListOpenMobile:R,connectedButtonStatus:N,setConnectedButtonStatus:I,connectedModalContentType:j,setConnectedModalContentType:he,connectModalContentType:D,setConnectModalContentType:de,selectedAdapter:$,setSelectedAdapter:a$1,activeConnector:f,setActiveConnector:h,impersonatedAddress:k,setImpersonatedAddress:U,isConnected:K,setIsConnected:_,legal:H},G$1=useMemo(()=>({isConnected:K,activeConnection:o,connectionError:T,modalStates:{isConnectModalOpen:s,isConnectedModalOpen:S,isChainsListOpen:d$1,isChainsListOpenMobile:x},contentTypes:{connectModal:D,connectedModal:j},statuses:{connectedButton:N}}),[K,o,T,s,S,d$1,x,D,j,N]),xe=useMemo(()=>c$1(l,G$1),[l,c$1,G$1]),ue=w(Se,G$1),J=jsx(M,{customization:p?.errors}),Q=jsx(g,{labels:xe,children:r}),Y=i||u?jsx(G,{solanaRPCUrls:u,appChains:i,customization:p?.modals?.connectModal}):null,Z=i||u?jsx(t,{solanaRPCUrls:u,appChains:i,transactionPool:n,pulsarAdapter:m,customization:p?.modals?.connectedModal,pagination:V}):null,pe=L?jsx(be,{...L}):null,Le=jsxs(c.Provider,{value:ue,children:[pe,J,Q,Y,Z]}),Me=jsxs(c.Provider,{value:ue,children:[pe,J,Q,Y,Z]}),Oe=y(Me,{ErrorsProvider:J,LabelsProvider:Q,MainContent:Le,ConnectModal:Y||jsx(Fragment,{}),ConnectedModal:Z||jsx(Fragment,{})},G$1);return jsx(Fragment,{children:Oe})}Ye.displayName="NovaConnectProvider";export{ne as ErrorsProvider,se as NovaConnectLabelsProvider,Ye as NovaConnectProvider,be as NovaSiwxWatcher};
|
package/dist/satellite/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkEGATOYHY_cjs=require('../chunk-EGATOYHY.cjs');Object.defineProperty(exports,"SatelliteConnectProvider",{enumerable:true,get:function(){return chunkEGATOYHY_cjs.a}});Object.defineProperty(exports,"SatelliteStoreContext",{enumerable:true,get:function(){return chunkEGATOYHY_cjs.b}});Object.defineProperty(exports,"useInitializeAutoConnect",{enumerable:true,get:function(){return chunkEGATOYHY_cjs.c}});Object.defineProperty(exports,"useSatelliteConnectStore",{enumerable:true,get:function(){return chunkEGATOYHY_cjs.d}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { AllConnectors, Connection, Connector, SatelliteConnectProvider, SatelliteConnectProviderProps, SatelliteStoreContext, useInitializeAutoConnect, useSatelliteConnectStore } from '@tuwaio/satellite-react';
|
|
1
|
+
export { AllConnections, AllConnectors, Connection, Connector, InitializeAutoConnectProps, SatelliteConnectProvider, SatelliteConnectProviderProps, SatelliteContextType, SatelliteStoreContext, useInitializeAutoConnect, useSatelliteConnectStore } from '@tuwaio/satellite-react';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { AllConnectors, Connection, Connector, SatelliteConnectProvider, SatelliteConnectProviderProps, SatelliteStoreContext, useInitializeAutoConnect, useSatelliteConnectStore } from '@tuwaio/satellite-react';
|
|
1
|
+
export { AllConnections, AllConnectors, Connection, Connector, InitializeAutoConnectProps, SatelliteConnectProvider, SatelliteConnectProviderProps, SatelliteContextType, SatelliteStoreContext, useInitializeAutoConnect, useSatelliteConnectStore } from '@tuwaio/satellite-react';
|
package/dist/satellite/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{a as SatelliteConnectProvider,b as SatelliteStoreContext,c as useInitializeAutoConnect,d as useSatelliteConnectStore}from'../chunk-
|
|
1
|
+
export{a as SatelliteConnectProvider,b as SatelliteStoreContext,c as useInitializeAutoConnect,d as useSatelliteConnectStore}from'../chunk-ZVADGOGQ.js';
|
package/dist/solana/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var solana=require('@tuwaio/satellite-react/solana')
|
|
1
|
+
'use strict';var chunkYJRNNNR6_cjs=require('../chunk-YJRNNNR6.cjs'),orbitCore=require('@tuwaio/orbit-core'),solana=require('@tuwaio/satellite-react/solana'),orbitSolana=require('@tuwaio/orbit-solana');var a={getChains:({solanaRPCUrls:t},r)=>orbitSolana.getSolanaClusters(t,r),isChainList:orbitSolana.isSolanaChainList};chunkYJRNNNR6_cjs.a(orbitCore.OrbitAdapter.SOLANA,a);Object.defineProperty(exports,"SolanaConnectorsWatcher",{enumerable:true,get:function(){return solana.SolanaConnectorsWatcher}});
|
package/dist/solana/index.d.cts
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
|
+
import { SolanaClusterMoniker } from '@tuwaio/orbit-solana';
|
|
1
2
|
export { SolanaClusterMoniker } from '@tuwaio/orbit-solana';
|
|
2
3
|
import { OrbitAdapter } from '@tuwaio/orbit-core';
|
|
3
4
|
export { SolanaConnectorsWatcher } from '@tuwaio/satellite-react/solana';
|
|
4
5
|
import { SolanaConnection, ConnectorSolana } from '@tuwaio/satellite-solana';
|
|
5
6
|
export { ConnectorSolana, SolanaConnection } from '@tuwaio/satellite-solana';
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
/**
|
|
9
|
+
* The Solana watcher of Satellite Connect and the Solana types, imported from `@tuwaio/nova-connect/solana`. Import this
|
|
10
|
+
* entry point in an app with Solana wallets; the root entry point never imports the Solana packages. Importing it:
|
|
11
|
+
*
|
|
12
|
+
* - registers the Solana chain helpers of `@tuwaio/orbit-solana` for the chain lists of Nova Connect (without it, the
|
|
13
|
+
* lists have only the clusters of `solanaRPCUrls`);
|
|
14
|
+
* - types `solanaRPCUrls` of `NovaConnectProvider` with the cluster monikers of `@tuwaio/orbit-solana`;
|
|
15
|
+
* - adds `SolanaConnection` and `ConnectorSolana` from `@tuwaio/satellite-solana` to `AllConnections` and
|
|
16
|
+
* `AllConnectors` of `@tuwaio/satellite-react`.
|
|
17
|
+
*
|
|
18
|
+
* @module solana
|
|
19
|
+
*/
|
|
20
|
+
|
|
8
21
|
declare module '@tuwaio/nova-connect' {
|
|
9
|
-
interface
|
|
10
|
-
|
|
11
|
-
* Solana RPC URLs configuration - enhanced from default any type
|
|
12
|
-
* @override Replaces default `any` with specific SolanaClusterMoniker typing when @tuwaio/orbit-solana is available
|
|
13
|
-
*/
|
|
14
|
-
solanaRPCUrls?: Partial<Record<SolanaClusterMoniker, string>>;
|
|
22
|
+
interface NovaConnectChainConfigTypes {
|
|
23
|
+
solanaRPCUrls: Partial<Record<SolanaClusterMoniker, string>>;
|
|
15
24
|
}
|
|
16
25
|
}
|
|
17
26
|
declare module '@tuwaio/satellite-react' {
|
|
@@ -22,5 +31,3 @@ declare module '@tuwaio/satellite-react' {
|
|
|
22
31
|
[OrbitAdapter.SOLANA]: ConnectorSolana;
|
|
23
32
|
}
|
|
24
33
|
}
|
|
25
|
-
|
|
26
|
-
export { getSolanaExports };
|
package/dist/solana/index.d.ts
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
|
+
import { SolanaClusterMoniker } from '@tuwaio/orbit-solana';
|
|
1
2
|
export { SolanaClusterMoniker } from '@tuwaio/orbit-solana';
|
|
2
3
|
import { OrbitAdapter } from '@tuwaio/orbit-core';
|
|
3
4
|
export { SolanaConnectorsWatcher } from '@tuwaio/satellite-react/solana';
|
|
4
5
|
import { SolanaConnection, ConnectorSolana } from '@tuwaio/satellite-solana';
|
|
5
6
|
export { ConnectorSolana, SolanaConnection } from '@tuwaio/satellite-solana';
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
/**
|
|
9
|
+
* The Solana watcher of Satellite Connect and the Solana types, imported from `@tuwaio/nova-connect/solana`. Import this
|
|
10
|
+
* entry point in an app with Solana wallets; the root entry point never imports the Solana packages. Importing it:
|
|
11
|
+
*
|
|
12
|
+
* - registers the Solana chain helpers of `@tuwaio/orbit-solana` for the chain lists of Nova Connect (without it, the
|
|
13
|
+
* lists have only the clusters of `solanaRPCUrls`);
|
|
14
|
+
* - types `solanaRPCUrls` of `NovaConnectProvider` with the cluster monikers of `@tuwaio/orbit-solana`;
|
|
15
|
+
* - adds `SolanaConnection` and `ConnectorSolana` from `@tuwaio/satellite-solana` to `AllConnections` and
|
|
16
|
+
* `AllConnectors` of `@tuwaio/satellite-react`.
|
|
17
|
+
*
|
|
18
|
+
* @module solana
|
|
19
|
+
*/
|
|
20
|
+
|
|
8
21
|
declare module '@tuwaio/nova-connect' {
|
|
9
|
-
interface
|
|
10
|
-
|
|
11
|
-
* Solana RPC URLs configuration - enhanced from default any type
|
|
12
|
-
* @override Replaces default `any` with specific SolanaClusterMoniker typing when @tuwaio/orbit-solana is available
|
|
13
|
-
*/
|
|
14
|
-
solanaRPCUrls?: Partial<Record<SolanaClusterMoniker, string>>;
|
|
22
|
+
interface NovaConnectChainConfigTypes {
|
|
23
|
+
solanaRPCUrls: Partial<Record<SolanaClusterMoniker, string>>;
|
|
15
24
|
}
|
|
16
25
|
}
|
|
17
26
|
declare module '@tuwaio/satellite-react' {
|
|
@@ -22,5 +31,3 @@ declare module '@tuwaio/satellite-react' {
|
|
|
22
31
|
[OrbitAdapter.SOLANA]: ConnectorSolana;
|
|
23
32
|
}
|
|
24
33
|
}
|
|
25
|
-
|
|
26
|
-
export { getSolanaExports };
|
package/dist/solana/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{SolanaConnectorsWatcher}from'@tuwaio/satellite-react/solana';
|
|
1
|
+
import {a as a$1}from'../chunk-3LWAAUG4.js';import {OrbitAdapter}from'@tuwaio/orbit-core';export{SolanaConnectorsWatcher}from'@tuwaio/satellite-react/solana';import {isSolanaChainList,getSolanaClusters}from'@tuwaio/orbit-solana';var a={getChains:({solanaRPCUrls:t},r)=>getSolanaClusters(t,r),isChainList:isSolanaChainList};a$1(OrbitAdapter.SOLANA,a);
|
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* All texts of the Nova Connect components. Pass a partial object as `labels` of `NovaConnectProvider` to override
|
|
3
|
+
* some of them; the defaults are the English `defaultLabels`.
|
|
4
|
+
*/
|
|
5
|
+
type NovaConnectLabels = {
|
|
6
|
+
/** Connect button and title of the connect modal (default: `Connect Wallet`) */
|
|
7
|
+
connectWallet: string;
|
|
8
|
+
/** Disconnect buttons of the connected modal (default: `Disconnect`) */
|
|
9
|
+
disconnect: string;
|
|
10
|
+
/** Button that disconnects all wallets (default: `Disconnect all`) */
|
|
11
|
+
disconnectAll: string;
|
|
12
|
+
/** Spinner label while a wallet connects (default: `Connecting...`) */
|
|
13
|
+
connecting: string;
|
|
14
|
+
/** Title of the connected modal and mark of the active chain in the chain list (default: `Connected`) */
|
|
15
|
+
connected: string;
|
|
16
|
+
/** Retry button after a connection error (default: `Try again`) */
|
|
17
|
+
tryAgain: string;
|
|
18
|
+
/** Back button of the modals (default: `Back`) */
|
|
19
|
+
back: string;
|
|
20
|
+
/** Connect buttons (default: `Connect`) */
|
|
21
|
+
connect: string;
|
|
22
|
+
/** Network tab that shows the wallets of all networks (default: `All`) */
|
|
23
|
+
all: string;
|
|
24
|
+
/** Badge of the active wallet and title of the connected wallets section (default: `Active`) */
|
|
25
|
+
active: string;
|
|
26
|
+
/** Title of the connected wallets section (after `active`) (default: `Connectors`) */
|
|
27
|
+
connectors: string;
|
|
28
|
+
/** Button of the connections screen that opens the connect modal (default: `Connect new wallet`) */
|
|
29
|
+
connectNewWallet: string;
|
|
30
|
+
/** Title of the connection error (screen and toast) (default: `Connection error`) */
|
|
31
|
+
connectionError: string;
|
|
32
|
+
/** Heading after the wallet connects (default: `Connected successfully!`) */
|
|
33
|
+
connectedSuccessfully: string;
|
|
34
|
+
/** Heading while connecting, followed by the wallet name (default: `Connecting to`) */
|
|
35
|
+
connectingTo: string;
|
|
36
|
+
/** Title of the network switch error toast (default: `Error when chain switching`) */
|
|
37
|
+
errorWhenChainSwitching: string;
|
|
38
|
+
/** Text under the connection error heading */
|
|
39
|
+
cannotConnectWallet: string;
|
|
40
|
+
/** Transaction status in the connect button (default: `Success`) */
|
|
41
|
+
success: string;
|
|
42
|
+
/** Transaction status in the connect button (default: `Error`) */
|
|
43
|
+
error: string;
|
|
44
|
+
/** Transaction status in the connect button (default: `Replaced`) */
|
|
45
|
+
replaced: string;
|
|
46
|
+
/** Badge of the last used wallet and title of the recent wallets section (default: `Recent`) */
|
|
47
|
+
recent: string;
|
|
48
|
+
/** Status of a pending transaction in the connect button and the connected modal (default: `Transaction loading`) */
|
|
49
|
+
transactionLoading: string;
|
|
50
|
+
/** Status of a successful transaction in the connect button (default: `Transaction successful`) */
|
|
51
|
+
transactionSuccess: string;
|
|
52
|
+
/** Status of a failed transaction in the connect button (default: `Transaction failed`) */
|
|
53
|
+
transactionError: string;
|
|
54
|
+
/** Status of a replaced transaction in the connect button (default: `Transaction replaced`) */
|
|
55
|
+
transactionReplaced: string;
|
|
56
|
+
/** Title of the "About wallets" screen and label of its info button (default: `About wallets`) */
|
|
57
|
+
aboutWallets: string;
|
|
58
|
+
/** Title of the "Get a wallet" screen (default: `Get a wallet`) */
|
|
59
|
+
getWallet: string;
|
|
60
|
+
/** Title of the impersonation form (default: `Connect impersonated wallet`) */
|
|
61
|
+
connectImpersonatedWallet: string;
|
|
62
|
+
/** Title of the transaction history screen (default: `Transactions in app`) */
|
|
63
|
+
transactionsInApp: string;
|
|
64
|
+
/** Title of the network switch screen of the connected modal (default: `Switch network`) */
|
|
65
|
+
switchNetwork: string;
|
|
66
|
+
/** Title of the mobile chain dialog (default: `Switch Networks`) */
|
|
67
|
+
switchNetworks: string;
|
|
68
|
+
/** Title of the connection screen before the wallet is known (default: `Connecting...`) */
|
|
69
|
+
connectingEllipsis: string;
|
|
70
|
+
/** Title of the connections screen (default: `Connected Wallets`) */
|
|
71
|
+
connectedWallets: string;
|
|
72
|
+
/** Group of installed wallets (default: `Installed`) */
|
|
73
|
+
installed: string;
|
|
74
|
+
/** Group of popular wallets and the icons of the "Get a wallet" screen (default: `Popular`) */
|
|
75
|
+
popular: string;
|
|
76
|
+
/** Group of the impersonated wallet (default: `Impersonate`) */
|
|
77
|
+
impersonate: string;
|
|
78
|
+
/** Subtitle of the impersonated wallet card (default: `Read-only mode`) */
|
|
79
|
+
readOnlyMode: string;
|
|
80
|
+
/** Title of the wallet disclaimer (default: `What is a wallet?`) */
|
|
81
|
+
whatIsWallet: string;
|
|
82
|
+
/** Text of the wallet disclaimer */
|
|
83
|
+
walletDescription: string;
|
|
84
|
+
/** Title of the network disclaimer (default: `What is a network?`) */
|
|
85
|
+
whatIsNetwork: string;
|
|
86
|
+
/** Text of the network disclaimer */
|
|
87
|
+
networkDescription: string;
|
|
88
|
+
/** "Learn more" links and buttons (default: `Learn more`) */
|
|
89
|
+
learnMore: string;
|
|
90
|
+
/** Links to network lists and label of the network icons of a card (default: `List of networks`) */
|
|
91
|
+
listOfNetworks: string;
|
|
92
|
+
/** Explorer button of the connected modal (default: `View on explorer`) */
|
|
93
|
+
viewOnExplorer: string;
|
|
94
|
+
/** Button that opens the transaction history (default: `View transactions`) */
|
|
95
|
+
viewTransactions: string;
|
|
96
|
+
/** Label of the impersonation address field */
|
|
97
|
+
enterWalletAddressOrAddressName: string;
|
|
98
|
+
/** Placeholder of the impersonation address field (default: `0x...`) */
|
|
99
|
+
walletAddressPlaceholder: string;
|
|
100
|
+
/** Title shown when a network has no wallets, and the empty chain list (default: `No Connectors Found`) */
|
|
101
|
+
noConnectorsFound: string;
|
|
102
|
+
/** Text shown when a network has no wallets */
|
|
103
|
+
noConnectorsDescription: string;
|
|
104
|
+
/** Title of errors without a specific title (default: `Something went wrong`) */
|
|
105
|
+
somethingWentWrong: string;
|
|
106
|
+
/** Error of the network choice when the wallet is not found */
|
|
107
|
+
networkPickingError: string;
|
|
108
|
+
/** Title shown in the transaction history without a Pulsar adapter (default: `Pulsar Adapter Required`) */
|
|
109
|
+
pulsarAdapterRequired: string;
|
|
110
|
+
/** Text shown in the transaction history without a Pulsar adapter */
|
|
111
|
+
pulsarAdapterDescription: string;
|
|
112
|
+
/** Title of the network choice (default: `Select one of available network`) */
|
|
113
|
+
selectAvailableNetwork: string;
|
|
114
|
+
/** Title of the "Get a wallet" screen content (default: `Start Exploring Web3`) */
|
|
115
|
+
startExploringWeb3: string;
|
|
116
|
+
/** Text of the "Get a wallet" screen */
|
|
117
|
+
walletKeyToDigitalWorld: string;
|
|
118
|
+
/** Button of the connectors screen that opens "Get a wallet" (default: `I don't have a wallet`) */
|
|
119
|
+
iDontHaveWallet: string;
|
|
120
|
+
/** Button of "Get a wallet" that opens a wallet list (default: `Choose a wallet`) */
|
|
121
|
+
choseWallet: string;
|
|
122
|
+
/** Title of the first "About wallets" slide (default: `The Key to a New Internet`) */
|
|
123
|
+
keyToNewInternet: string;
|
|
124
|
+
/** Text of the first "About wallets" slide */
|
|
125
|
+
keyToNewInternetDescription: string;
|
|
126
|
+
/** Title of the second "About wallets" slide (default: `Log In Without the Hassle`) */
|
|
127
|
+
logInWithoutHassle: string;
|
|
128
|
+
/** Text of the second "About wallets" slide */
|
|
129
|
+
logInWithoutHassleDescription: string;
|
|
130
|
+
/** Button that copies the raw error (default: `Copy raw error`) */
|
|
131
|
+
copyRawError: string;
|
|
132
|
+
/** Confirmation after copying (default: `Copied!`) */
|
|
133
|
+
copied: string;
|
|
134
|
+
/** ARIA label of the chain selector (default: `Chain Selector`) */
|
|
135
|
+
chainSelector: string;
|
|
136
|
+
/** ARIA label of the close buttons of the modals (default: `Close modal`) */
|
|
137
|
+
closeModal: string;
|
|
138
|
+
/** ARIA label of the chain list (default: `Select chain`) */
|
|
139
|
+
selectChain: string;
|
|
140
|
+
/** ARIA label of a chain option (default: `Chain option`) */
|
|
141
|
+
chainOption: string;
|
|
142
|
+
/** ARIA label part of the chain selector trigger (default: `Open chain selector`) */
|
|
143
|
+
openChainSelector: string;
|
|
144
|
+
/** ARIA label part for the current chain (default: `Current chain`) */
|
|
145
|
+
currentChain: string;
|
|
146
|
+
/** ARIA label of the "scroll to top" button (default: `Scroll to top`) */
|
|
147
|
+
scrollToTop: string;
|
|
148
|
+
/** ARIA label of the "scroll to bottom" button (default: `Scroll to bottom`) */
|
|
149
|
+
scrollToBottom: string;
|
|
150
|
+
/** ARIA label of the chain list container (default: `Chain list container`) */
|
|
151
|
+
chainListContainer: string;
|
|
152
|
+
/** ARIA label of the wallet controls (default: `Wallet controls`) */
|
|
153
|
+
walletControls: string;
|
|
154
|
+
/** ARIA label of the connect button while connected (default: `Open wallet modal`) */
|
|
155
|
+
openWalletModal: string;
|
|
156
|
+
/** ARIA text of the connected state (default: `Wallet connected`) */
|
|
157
|
+
walletConnected: string;
|
|
158
|
+
/** ARIA text of the disconnected state (default: `Wallet not connected`) */
|
|
159
|
+
walletNotConnected: string;
|
|
160
|
+
/** ARIA label of the balance (default: `Wallet balance`) */
|
|
161
|
+
walletBalance: string;
|
|
162
|
+
/** ARIA label of the address (default: `Wallet address`) */
|
|
163
|
+
walletAddress: string;
|
|
164
|
+
/** ARIA label of the transaction status in the connect button (default: `Transaction status`) */
|
|
165
|
+
transactionStatus: string;
|
|
166
|
+
/** ARIA label of the success icon (default: `Success icon`) */
|
|
167
|
+
successIcon: string;
|
|
168
|
+
/** ARIA label of the error icon (default: `Error icon`) */
|
|
169
|
+
errorIcon: string;
|
|
170
|
+
/** ARIA label of the replaced icon (default: `Replaced icon`) */
|
|
171
|
+
replacedIcon: string;
|
|
172
|
+
/** ARIA label of the status icon (default: `Status icon`) */
|
|
173
|
+
statusIcon: string;
|
|
174
|
+
/** ARIA label and text of loading states (default: `Loading`) */
|
|
175
|
+
loading: string;
|
|
176
|
+
/** Name of a wallet without a known name (default: `Unknown wallet`) */
|
|
177
|
+
unknownWallet: string;
|
|
178
|
+
/** Alt text of the wallet avatar (default: `Wallet avatar`) */
|
|
179
|
+
walletAvatar: string;
|
|
180
|
+
/** Alt text of the ENS avatar (default: `ENS avatar`) */
|
|
181
|
+
ensAvatar: string;
|
|
182
|
+
/** Alt text of wallet icons (after the wallet name) (default: `Wallet icon`) */
|
|
183
|
+
walletIcon: string;
|
|
184
|
+
/** Error of the impersonation form without an address */
|
|
185
|
+
impersonateAddressEmpty: string;
|
|
186
|
+
/** Error of the impersonation form with an invalid address */
|
|
187
|
+
impersonateAddressNotCorrect: string;
|
|
188
|
+
/** Error of the impersonation form while a wallet is connected */
|
|
189
|
+
impersonateAddressConnected: string;
|
|
190
|
+
/** Start of the legal disclaimer */
|
|
191
|
+
legalIntro: string;
|
|
192
|
+
/** Link text of the terms of service (default: `Terms of Service`) */
|
|
193
|
+
legalTerms: string;
|
|
194
|
+
/** Link text of the privacy policy (default: `Privacy Policy`) */
|
|
195
|
+
legalPrivacy: string;
|
|
196
|
+
/** Word between the two legal links (default: `and`) */
|
|
197
|
+
legalAnd: string;
|
|
198
|
+
/** Aria-roledescription of the About wallets carousel (default: `carousel`) */
|
|
199
|
+
carousel: string;
|
|
200
|
+
/** ARIA label of the slide indicators of the About wallets carousel (default: `Slide navigation`) */
|
|
201
|
+
carouselNavigation: string;
|
|
202
|
+
/** ARIA label of a slide indicator (default: `Go to slide {index}: {title}`) */
|
|
203
|
+
goToSlide: string;
|
|
204
|
+
/** ARIA label of a slide; status announcement (followed by ": {title}") (default: `Slide {index} of {total}`) */
|
|
205
|
+
slideOfTotal: string;
|
|
206
|
+
/** Status announcement suffix while auto-play is on (default: `Auto-playing`) */
|
|
207
|
+
autoPlaying: string;
|
|
208
|
+
/** Status announcement suffix while auto-play is paused (default: `Paused`) */
|
|
209
|
+
paused: string;
|
|
210
|
+
/** Screen reader instructions of the carousel */
|
|
211
|
+
carouselInstructions: string;
|
|
212
|
+
/** ARIA label of a network icon of a connect card ({name}: chain ID or network) (default: `Network {name}`) */
|
|
213
|
+
networkIcon: string;
|
|
214
|
+
/** ARIA label of the back button of the connect modal (default: `Back to previous step`) */
|
|
215
|
+
backToPreviousStep: string;
|
|
216
|
+
/** Description of the action button on the Get a wallet screen (default: `Opens external wallet selection page`) */
|
|
217
|
+
opensWalletSelectionPage: string;
|
|
218
|
+
/** Description of the action button on the About wallets screen (default: `Opens external documentation`) */
|
|
219
|
+
opensDocumentation: string;
|
|
220
|
+
/**
|
|
221
|
+
* Description of the action button on the impersonate screen (default: `Connects with impersonated wallet address`)
|
|
222
|
+
*/
|
|
223
|
+
connectsImpersonatedWallet: string;
|
|
224
|
+
/** Description of the action button on the connecting screen (default: `Retries wallet connection`) */
|
|
225
|
+
retriesConnection: string;
|
|
226
|
+
/** ARIA label of the connecting screen ({status}: the heading) (default: `Connection status: {status}`) */
|
|
227
|
+
connectionStatus: string;
|
|
228
|
+
/** ARIA label of a disclaimer of the connect modal (default: `{title} disclaimer`) */
|
|
229
|
+
disclaimerLabel: string;
|
|
230
|
+
/** ARIA label of the additional content of a disclaimer (default: `Additional disclaimer information`) */
|
|
231
|
+
disclaimerAdditionalInformation: string;
|
|
232
|
+
/** ARIA label of the actions of a disclaimer (default: `Disclaimer actions`) */
|
|
233
|
+
disclaimerActions: string;
|
|
234
|
+
/**
|
|
235
|
+
* ARIA label of the "Learn more" button of a disclaimer ({topic}: the title in lower case) (default: `{action} about
|
|
236
|
+
* {topic}`)
|
|
237
|
+
*/
|
|
238
|
+
actionAbout: string;
|
|
239
|
+
/**
|
|
240
|
+
* ARIA label of the list button of a disclaimer ({action}: the button text in lower case) (default: `View {action}`)
|
|
241
|
+
*/
|
|
242
|
+
viewAction: string;
|
|
243
|
+
/** Screen reader summary of a disclaimer, followed by the description (default: `Disclaimer about {topic}.`) */
|
|
244
|
+
disclaimerSummary: string;
|
|
245
|
+
/** Screen reader summary of a disclaimer, for each button (default: `{action} action available.`) */
|
|
246
|
+
actionAvailable: string;
|
|
247
|
+
/** ARIA label of the animation section of the Get a wallet screen (default: `Wallet icons animation`) */
|
|
248
|
+
walletIconsAnimation: string;
|
|
249
|
+
/** ARIA label of the icons of the Get a wallet screen (default: `Popular wallet icons`) */
|
|
250
|
+
popularWalletIcons: string;
|
|
251
|
+
/**
|
|
252
|
+
* Placeholder of the impersonate field for EVM ({address}: the walletAddressPlaceholder label) (default: `{address}
|
|
253
|
+
* or ENS name (.eth)`)
|
|
254
|
+
*/
|
|
255
|
+
walletAddressOrEnsPlaceholder: string;
|
|
256
|
+
/** Placeholder of the impersonate field for Solana (default: `{address} or SNS name (.sol)`) */
|
|
257
|
+
walletAddressOrSnsPlaceholder: string;
|
|
258
|
+
/** ARIA label of the network list of the connect modal (default: `Available networks`) */
|
|
259
|
+
availableNetworks: string;
|
|
260
|
+
/** ARIA label of a network icon of the network list (default: `{name} network icon`) */
|
|
261
|
+
networkNameIcon: string;
|
|
262
|
+
/** ARIA label of the network tabs of the connect modal (default: `Network selection tabs`) */
|
|
263
|
+
networkSelectionTabs: string;
|
|
264
|
+
/** ARIA label of a network tab (and of its icon, followed by `iconSuffix` when set) (default: `{name} network`) */
|
|
265
|
+
networkTab: string;
|
|
266
|
+
/** Appended to the ARIA label of the selected network tab (after a comma) (default: `currently selected`) */
|
|
267
|
+
currentlySelected: string;
|
|
268
|
+
/** Name of a network tab without a known chain (default: `Unknown`) */
|
|
269
|
+
unknown: string;
|
|
270
|
+
/** Screen reader text of the Get a wallet animation ({wallets}: names of the icons) */
|
|
271
|
+
walletIconsDescription: string;
|
|
272
|
+
/** Screen reader summary of the Get a wallet screen */
|
|
273
|
+
getWalletSummary: string;
|
|
274
|
+
/**
|
|
275
|
+
* ARIA label of the overflow count of the network icons of a connect card (default: `{count} additional networks`)
|
|
276
|
+
*/
|
|
277
|
+
additionalNetworks: string;
|
|
278
|
+
/** Empty state of the connect modal when the store has no connectors (default: `No connectors available`) */
|
|
279
|
+
noConnectorsAvailable: string;
|
|
280
|
+
/**
|
|
281
|
+
* Screen reader details of the connecting screen (default: `Wallet: {wallet}, Network: {network}, Status: {status}`)
|
|
282
|
+
*/
|
|
283
|
+
connectingDetails: string;
|
|
284
|
+
/**
|
|
285
|
+
* ARIA label of a wallet group of the connect modal ({title}: the group title) (default: `{title} wallet connectors
|
|
286
|
+
* section`)
|
|
287
|
+
*/
|
|
288
|
+
connectorsSection: string;
|
|
289
|
+
/** ARIA label of the wallet list of a group (default: `{title} wallet connectors`) */
|
|
290
|
+
connectorsList: string;
|
|
291
|
+
/** ARIA label of the empty state of a group ({title} in lower case) (default: `No {title} connectors available`) */
|
|
292
|
+
noGroupConnectors: string;
|
|
293
|
+
/** Empty state of a group ({title} in lower case) (default: `No {title} wallets available`) */
|
|
294
|
+
noGroupWallets: string;
|
|
295
|
+
/** ARIA label of the wallet list of the connect modal (default: `Available wallet connectors`) */
|
|
296
|
+
availableWalletConnectors: string;
|
|
297
|
+
/** Screen reader text after an external link (default: `(opens in new tab)`) */
|
|
298
|
+
opensInNewTab: string;
|
|
299
|
+
/**
|
|
300
|
+
* Status of the impersonate field while an ENS or SNS name resolves ({service}: ENS or SNS) (default: `Resolving
|
|
301
|
+
* {service} name...`)
|
|
302
|
+
*/
|
|
303
|
+
resolvingName: string;
|
|
304
|
+
/** Status of the impersonate field after a name resolves (default: `Resolved to: {address}`) */
|
|
305
|
+
resolvedTo: string;
|
|
306
|
+
/** ARIA label of the legal disclaimer of the connect modal (default: `Legal information`) */
|
|
307
|
+
legalInformation: string;
|
|
308
|
+
/**
|
|
309
|
+
* Screen reader description of the disconnect button of the connected modal (default: `Disconnect all wallets and
|
|
310
|
+
* close the modal`)
|
|
311
|
+
*/
|
|
312
|
+
disconnectAllDescription: string;
|
|
313
|
+
/** Screen reader description of the explorer link */
|
|
314
|
+
explorerLinkDescription: string;
|
|
315
|
+
/**
|
|
316
|
+
* Title and screen reader description of the disabled explorer button (default: `Blockchain explorer is not available
|
|
317
|
+
* for this network`)
|
|
318
|
+
*/
|
|
319
|
+
explorerNotAvailable: string;
|
|
320
|
+
/** ARIA label of the wallet button of the connected modal (default: `Connect Wallet - {count} wallets available`) */
|
|
321
|
+
connectWalletsAvailable: string;
|
|
322
|
+
/**
|
|
323
|
+
* ARIA label of the network button of the connected modal (default: `Switch network - {count} networks available`)
|
|
324
|
+
*/
|
|
325
|
+
switchNetworkNetworksAvailable: string;
|
|
326
|
+
/**
|
|
327
|
+
* ARIA label of the transactions section of the connected modal (default: `Transactions in app - {count}
|
|
328
|
+
* transactions`)
|
|
329
|
+
*/
|
|
330
|
+
transactionsInAppCount: string;
|
|
331
|
+
/** Screen reader text of the "View transactions" button (default: `{count} transactions available`) */
|
|
332
|
+
transactionsAvailable: string;
|
|
333
|
+
/**
|
|
334
|
+
* Screen reader status without transactions of the active wallet (default: `No transactions found for this wallet`)
|
|
335
|
+
*/
|
|
336
|
+
noTransactionsForWallet: string;
|
|
337
|
+
/** ARIA label of the wallet name in the connected modal (default: `Wallet name: {name}`) */
|
|
338
|
+
walletName: string;
|
|
339
|
+
/** {name} of the walletName label while the name loads (default: `Loading wallet name`) */
|
|
340
|
+
loadingWalletName: string;
|
|
341
|
+
/** ARIA label of the copy button of the connected modal (followed by the address) (default: `Copy wallet address`) */
|
|
342
|
+
copyWalletAddress: string;
|
|
343
|
+
/** ARIA label of the balance refresh button (default: `Refresh balance`) */
|
|
344
|
+
refreshBalance: string;
|
|
345
|
+
/** Shown without a balance (default: `No balance information available`) */
|
|
346
|
+
noBalanceAvailable: string;
|
|
347
|
+
/** Screen reader announcement after the balance loads (default: `Balance updated: {balance}`) */
|
|
348
|
+
balanceUpdated: string;
|
|
349
|
+
/**
|
|
350
|
+
* Title of the error state of the transaction history (the history failed to load) (default: `Transaction history is
|
|
351
|
+
* not available`)
|
|
352
|
+
*/
|
|
353
|
+
transactionHistoryNotAvailable: string;
|
|
354
|
+
/** Description of that error state */
|
|
355
|
+
transactionHistoryLoadError: string;
|
|
356
|
+
/** ARIA label of the transaction history of the connected modal (default: `Transactions in app for {address}`) */
|
|
357
|
+
transactionsInAppFor: string;
|
|
358
|
+
/**
|
|
359
|
+
* Title of the chain icon of the wallet and network buttons of the connected modal (default: `Network: {chainId}`)
|
|
360
|
+
*/
|
|
361
|
+
networkWithId: string;
|
|
362
|
+
/** Part of the default ARIA label and tooltip of those buttons (default: `{name} wallet`) */
|
|
363
|
+
walletWithName: string;
|
|
364
|
+
/** Part of the default ARIA label of those buttons (default: `network selector`) */
|
|
365
|
+
networkSelector: string;
|
|
366
|
+
/** Part of the default ARIA label of a clickable button (default: `button`) */
|
|
367
|
+
buttonRole: string;
|
|
368
|
+
/** Part of the default ARIA label while loading (default: `loading`) */
|
|
369
|
+
loadingState: string;
|
|
370
|
+
/** Part of the default ARIA label of a disabled button (default: `disabled`) */
|
|
371
|
+
disabledState: string;
|
|
372
|
+
/** Tooltip of a disabled button (default: `Button is disabled`) */
|
|
373
|
+
buttonDisabled: string;
|
|
374
|
+
/** Tooltip of a clickable button with a wallet name (default: `Click to select {name} options`) */
|
|
375
|
+
selectWalletOptions: string;
|
|
376
|
+
/** Tooltip of a clickable button without a wallet name (default: `Click to select options`) */
|
|
377
|
+
selectOptions: string;
|
|
378
|
+
/** Tooltip of a button without a wallet name (default: `Wallet information`) */
|
|
379
|
+
walletInformation: string;
|
|
380
|
+
/** Empty state of the connections screen (default: `No connections found`) */
|
|
381
|
+
noConnectionsFound: string;
|
|
382
|
+
/** ARIA label of the connections screen (default: `Wallet connections manager`) */
|
|
383
|
+
walletConnectionsManager: string;
|
|
384
|
+
/** Screen reader announcement after a switch (default: `Switched to {name} wallet`) */
|
|
385
|
+
switchedToWallet: string;
|
|
386
|
+
/** Screen reader announcement after a disconnect (default: `Disconnected {name} wallet`) */
|
|
387
|
+
disconnectedWallet: string;
|
|
388
|
+
/** Screen reader announcement after a recent wallet connects (default: `Connected {name} wallet`) */
|
|
389
|
+
connectedWallet: string;
|
|
390
|
+
/** Title of the copy button of the active wallet (default: `Copy address`) */
|
|
391
|
+
copyAddress: string;
|
|
392
|
+
/** Text of the copy button of the active wallet (default: `Copy`) */
|
|
393
|
+
copy: string;
|
|
394
|
+
/** Text of the explorer button of the active wallet (default: `Explorer`) */
|
|
395
|
+
explorer: string;
|
|
396
|
+
/** ARIA label of the remove button of a recent wallet (default: `Remove {name} from recent wallets`) */
|
|
397
|
+
removeFromRecent: string;
|
|
398
|
+
};
|
|
399
|
+
|
|
400
|
+
export type { NovaConnectLabels as N };
|