@tuwaio/nova-connect 0.10.5 → 0.10.7
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 +2 -2
- package/dist/chunk-3M5KO5JH.cjs +1 -0
- package/dist/chunk-K2PZJCFY.cjs +2 -0
- package/dist/chunk-X5SXUZJR.js +1 -0
- package/dist/chunk-Y4JUUZX7.js +2 -0
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.cts +89 -32
- package/dist/components/index.d.ts +89 -32
- package/dist/components/index.js +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.cts +44 -3
- package/dist/hooks/index.d.ts +44 -3
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.css +3 -0
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +17 -17
- package/dist/chunk-DRTK4IQH.js +0 -2
- package/dist/chunk-H3DXFMRX.cjs +0 -2
- package/dist/chunk-U6UN2I7D.cjs +0 -1
- package/dist/chunk-XB2YJOYJ.js +0 -1
package/dist/chunk-XB2YJOYJ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {a}from'./chunk-AVCOIAAU.js';import {d}from'./chunk-ZVADGOGQ.js';import {b as b$1}from'./chunk-3LWAAUG4.js';import {textCenterEllipsis}from'@tuwaio/nova-core/utils';import {OrbitAdapter,getAdapterFromConnectorType,formatConnectorName}from'@tuwaio/orbit-core';import {createContext,useState,useRef,useCallback,useEffect,useContext,useMemo}from'react';import {useSiwx,getSatelliteSiwxFields}from'@tuwaio/siwx-react';function ve(e){let{abbreviateSymbols:t=12,maxNameLength:o=30,autoRetry:n=false,retryDelay:a=3e3}=e,r=d(L=>L.activeConnection),l=d(L=>L.getAdapter),i=r?.address,d$1=r?.connectorType,s=d$1?l(getAdapterFromConnectorType(d$1)):null,[u,f]=useState(null),[O,p]=useState(null),[v,C]=useState(false),[A,g]=useState(null),N=useRef(null),w=useRef(null),D=!!(s&&"getName"in s&&typeof s.getName=="function"),U=!!(s&&"getAvatar"in s&&typeof s.getAvatar=="function"),h=useCallback(()=>{N.current&&(N.current.abort(),N.current=null),w.current!==null&&(clearTimeout(w.current),w.current=null);},[]),T=useCallback(async function L(){if(h(),!i||!s||!D){f(null),p(null),C(false),g(null);return}N.current=new AbortController;let{signal:x}=N.current;C(true),g(null),f(null),p(null);try{if(x.aborted)return;let y=await s.getName?.(i);if(x.aborted)return;if(y&&(f(y),U))try{let S=await s.getAvatar?.(y);x.aborted||p(S??null);}catch(S){console.warn("Failed to fetch avatar:",S),x.aborted||p(null);}}catch(y){if(x.aborted)return;let S=y instanceof Error?y.message:"Failed to fetch name service data";console.error("Failed to fetch name service data:",y),g(S),f(null),p(null),n&&(w.current=setTimeout(()=>{L();},a));}finally{x.aborted||C(false);}},[i,s,D,U,n,a,h]),Y=useCallback(()=>{g(null),T();},[T]);useEffect(()=>(T(),h),[T,h]),useEffect(()=>h,[h]);let Z=u?u.length>o?textCenterEllipsis(u,t,t):u:i?textCenterEllipsis(i,t,t):void 0;return {ensName:u,ensAvatar:O,isLoading:v,ensNameAbbreviated:Z,error:A,retry:Y}}var M=class extends Error{constructor(t="useNovaConnect must be used within NovaConnectProvider"){super(t),this.name="NovaConnectProviderError";}},R=createContext(void 0),Ae=()=>{let e=useContext(R);if(!e)throw new M;return e},Ne=()=>useContext(R)!==void 0,Le=()=>useContext(R)??null;var re=createContext(a),G=()=>useContext(re),ke=e=>G()[e],Ie=e=>{let t=G(),o={};for(let n of e)o[n]=t[n];return o},Ee=(e,t)=>!!e[t]?.trim(),Be=e=>{let t=G(),n={actions:["connectWallet","disconnect","connecting","connected","tryAgain","back","connect"],states:["success","error","replaced","loading"],accessibility:["chainSelector","closeModal","selectChain","walletControls","openWalletModal"],transactions:["transactionLoading","transactionSuccess","transactionError","transactionReplaced","recent"]}[e],a={};for(let r of n)a[r]=t[r];return a},Pe=e=>e===a,Me=(e,t,o)=>{let n=e[t];return n&&n.trim()?n:o||a[t]||t.toString()},We=(e,t)=>{let o={};for(let n of t)o[n]=e[n];return o};function Ue(e){let t=d(i=>i.activeConnection),{signIn:o,signOut:n}=useSiwx(),a=useCallback(async(i,d)=>{let s=i??t;if(!s?.address||!s?.chainId)throw new Error("[useNovaSiwx] No active connection available.");if(!s.signMessage)throw new Error("[useNovaSiwx] Connection missing signMessage capability.");let u=d??e?.verifier;if(!u)throw new Error("[useNovaSiwx] Verifier callback required to complete SIWX sign in.");let f={address:String(s.address),chainId:s.chainId,signMessage:s.signMessage,isConnected:s.isConnected},O=getSatelliteSiwxFields(f,e);return o({signer:s.signMessage,verifier:u,fields:O})},[t,o,e]),r=e?.destroyer,l=useCallback(async()=>{if(n(),r)try{await r();}catch(i){console.warn("[useNovaSiwx] Failed to execute session destroyer on signOut:",i);}},[n,r]);return {signIn:a,signOut:l}}function ce(e,t){switch(e){case OrbitAdapter.EVM:return (t.appChains??[]).map(o=>o.id).filter(o=>typeof o=="number");case OrbitAdapter.SOLANA:return t.solanaRPCUrls?Object.keys(t.solanaRPCUrls):[];default:return []}}function $(e){let{connectorType:t,chains:o,...n}=e;if(!t)return console.warn("getChainsListByConnectorType: connectorType is required"),[];let a=getAdapterFromConnectorType(t),r=b$1(a);if(r)try{return r.getChains(n,o)}catch(l){console.warn(`getChainsListByConnectorType: the ${a} chain helpers failed:`,l);}return ce(a,n)}function qe(e){let t=b$1(OrbitAdapter.EVM);return t?t.isChainList(e):e.length>0&&e.every(o=>typeof o=="number")}function He(e){let t=b$1(OrbitAdapter.SOLANA);return t?t.isChainList(e):e.length>0&&e.every(o=>typeof o=="string")}function q(e){if(!e||typeof e!="object"||!("connectedWallet"in e))return;let{connectedWallet:t}=e;if(!t||typeof t!="object"||!("chains"in t))return;let{chains:o}=t;if(Array.isArray(o))return o.filter(n=>typeof n=="string"||typeof n=="number")}var b={[OrbitAdapter.EVM]:1,[OrbitAdapter.SOLANA]:"mainnet",[OrbitAdapter.Starknet]:"0x534e5f4d41494e"};function Je({selectedAdapter:e,appChains:t,solanaRPCUrls:o}){switch(e){case OrbitAdapter.EVM:{let n=t?.[0];return n?.id&&typeof n.id=="number"?n.id:(process.env.NODE_ENV==="development"&&!t?.length&&console.warn("getConnectChainId: No EVM chains configured, using Ethereum Mainnet"),b[OrbitAdapter.EVM])}case OrbitAdapter.SOLANA:{if(o&&typeof o=="object"){let n=Object.keys(o);if(n.length>0)return n[0]}return process.env.NODE_ENV==="development"&&!o&&console.warn("getConnectChainId: No Solana RPC URLs configured, using mainnet"),b[OrbitAdapter.SOLANA]}case OrbitAdapter.Starknet:return process.env.NODE_ENV==="development"&&console.info("getConnectChainId: Using default Starknet chain ID"),b[OrbitAdapter.Starknet];default:return process.env.NODE_ENV==="development"&&console.error("getConnectChainId: Unknown adapter:",e),b[OrbitAdapter.EVM]}}function Qe({selectedAdapter:e,appChains:t,solanaRPCUrls:o}){switch(e){case OrbitAdapter.EVM:{let n=t?.map(a=>a.id).filter(Boolean);return n&&n.length>0?n:[b[OrbitAdapter.EVM]]}case OrbitAdapter.SOLANA:{let n=o?Object.keys(o):[];return n.length>0?n:[b[OrbitAdapter.SOLANA]]}case OrbitAdapter.Starknet:return [b[OrbitAdapter.Starknet]];default:return [b[OrbitAdapter.EVM]]}}function le(e,t){if(!e||typeof e!="object")return null;let o=e;if(!o.name||typeof o.name!="string")return null;let n;if("icon"in o){let a=o.icon;if(typeof a=="string")n=a;else if(a&&typeof a=="object"&&"toString"in a&&typeof a.toString=="function")try{n=a.toString();}catch{}}return {name:o.name,icon:n,adapter:t,originalConnector:o}}function H({connectors:e,excludeConnectors:t=["injected"]}={connectors:{}}){if(!e||Object.keys(e).length===0)return [];let o=new Set(t.map(r=>formatConnectorName(r))),n=[];Object.entries(e).forEach(([r,l])=>{if(Array.isArray(l)){let i=r;l.forEach(d=>{let s=le(d,i);if(s){let u=formatConnectorName(s.name);o.has(u)||n.push(s);}});}});let a=new Map;return n.forEach(r=>{let l=formatConnectorName(r.name);a.has(l)||a.set(l,{name:r.name,icon:r.icon,adapters:[],connectors:[]});let i=a.get(l);i.adapters.includes(r.adapter)||i.adapters.push(r.adapter);let d=Object.assign({},r.originalConnector,{adapter:r.adapter});i.connectors.push(d),!i.icon&&r.icon&&(i.icon=r.icon);}),Array.from(a.values()).sort((r,l)=>r.name.localeCompare(l.name,void 0,{sensitivity:"base"}))}function tt(e){return Object.values(e).some(t=>Array.isArray(t)&&t.length>0)}function de(e){try{if(e&&typeof e=="object"&&"adapter"in e)return e.adapter}catch{}}function X(e,t){return de(e)===t}function at({connectors:e,selectedAdapter:t}){if(!e||Object.keys(e).length===0)return [];let o=H({connectors:e});return t?o.filter(n=>n.adapters.includes(t)&&n.connectors.some(a=>X(a,t))).map(n=>{let a=n.connectors.filter(r=>X(r,t));return {...n,adapters:[t],connectors:a}}).filter(n=>n.connectors.length>0):o}function it(e,t){let o=e[t];return Array.isArray(o)&&o.length>0}function gt({activeConnection:e,appChains:t,solanaRPCUrls:o}){return {chainsList:useMemo(()=>$({connectorType:e?e.connectorType:`${OrbitAdapter.EVM}:not-connected`,appChains:t,solanaRPCUrls:o,chains:q(e)}),[e,t,o])}}function At(){let[e,t]=useState({}),[o,n]=useState(false),a=useRef(null),r=d(p=>p.activeConnection),l=d(p=>p.getAdapter),i=r?.chainId&&r?.address?`${r.address}-${r.chainId}`:null,d$1=r?.connectorType?l(getAdapterFromConnectorType(r.connectorType)):null,s=d$1&&"getBalance"in d$1&&typeof d$1.getBalance=="function",u=useCallback(async(p=false)=>{if(!r?.address||!d$1||!r?.chainId||!i||!s){n(false);return}let v=`${i}-${Date.now()}`;if(a.current=v,!p&&e[i]){n(false);return}n(true);try{let C=await d$1.getBalance(r.address,r.chainId);a.current===v&&t(A=>({...A,[i]:C}));}catch(C){console.error(`Failed to fetch native balance for ${i}:`,C),p&&a.current===v&&t(A=>{let g={...A};return delete g[i],g});}finally{a.current===v&&n(false);}},[r,d$1,i,s,e]),f=useCallback(()=>{u(true);},[u]);return useEffect(()=>{i&&s&&!e[i]?u(false):(!i||!s)&&n(false);},[i,s,e,u]),useEffect(()=>()=>{a.current=null;},[]),{balance:i&&e[i]||null,isLoading:o,refetch:f}}export{gt as A,At as B,ve as a,M as b,R as c,Ae as d,Ne as e,Le as f,re as g,G as h,ke as i,Ie as j,Ee as k,Be as l,Pe as m,Me as n,We as o,Ue as p,$ as q,qe as r,He as s,q as t,Je as u,Qe as v,H as w,tt as x,at as y,it as z};
|