@tuwaio/satellite-react 0.8.0 → 0.9.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 +1 -1
- package/dist/evm/index.cjs +1 -1
- package/dist/evm/index.d.cts +3 -1
- package/dist/evm/index.d.ts +3 -1
- package/dist/evm/index.js +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -93,7 +93,7 @@ Connect a wallet with `useSatelliteConnectStore((state) => state.connect)`. Read
|
|
|
93
93
|
|
|
94
94
|
The provider's store saves the last connection and the recently connected wallets to `localStorage`, and removes the impersonated address, through `@tuwaio/orbit-core`. The keys, their content and when they change are listed on the [`@tuwaio/satellite-core`](https://satellite.docs.tuwa.io/packages/satellite-core) page. The store state itself is not persisted: server rendering and the first client render start with no connection, and `initializeAutoConnect` restores it after mount (it waits 300 ms and disconnects the wallets of every adapter first). Read `isAutoConnectFinished` from the store before treating a missing connection as a disconnect.
|
|
95
95
|
|
|
96
|
-
`EVMConnectorsWatcher` hydrates a wagmi config created with `ssr: true` (unless `WagmiProvider` does): wagmi reads its saved state from the `storage` of the config (`localStorage` by default) and the watcher clears the saved wagmi connections.
|
|
96
|
+
`EVMConnectorsWatcher` hydrates a wagmi config created with `ssr: true` (unless `WagmiProvider` does): wagmi reads its saved state from the `storage` of the config (`localStorage` by default) and the watcher clears the saved wagmi connections. To keep nothing of wagmi in the browser, create the config with `storage: createStorage({ storage: noopStorage })` from `@wagmi/core`; with `storage: null` wagmi cannot hydrate the config, and the watcher only adds the installed wallets found through EIP-6963.
|
|
97
97
|
|
|
98
98
|
---
|
|
99
99
|
|
package/dist/evm/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var chunkLSWAATDN_cjs=require('../chunk-LSWAATDN.cjs'),chunkHEG6FP5Z_cjs=require('../chunk-HEG6FP5Z.cjs'),core=require('@wagmi/core'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var d=new WeakSet;function
|
|
1
|
+
'use strict';var chunkLSWAATDN_cjs=require('../chunk-LSWAATDN.cjs'),chunkHEG6FP5Z_cjs=require('../chunk-HEG6FP5Z.cjs'),core=require('@wagmi/core'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var d=new WeakSet;function v(e){let{mipd:r,connectors:i}=e._internal;r&&i.setState(t=>{let o=new Set(t.flatMap(n=>[n.id,...n.rdns===void 0?[]:[n.rdns].flat()])),s=r.getProviders().filter(n=>!o.has(n.info.rdns)).map(n=>i.setup(i.providerDetailToConnector(n)));return [...t,...s]});}function A(e){react.useEffect(()=>{let{ssr:r,store:i}=e._internal;if(!r||d.has(e))return;let{persist:t}=i;if(!t){let c=setTimeout(()=>{d.has(e)||(d.add(e),v(e));},0);return ()=>clearTimeout(c)}if(t.hasHydrated())return;let o=false,s=t.onHydrate(()=>{o=true;}),n=setTimeout(()=>{s(),!(o||t.hasHydrated()||d.has(e))&&(d.add(e),core.hydrate(e,{reconnectOnMount:false}).onMount().catch(c=>console.warn("Failed to hydrate the wagmi config:",c)));},0);return ()=>{clearTimeout(n),s();}},[e]);}function I({createWatcher:e,wagmiConfig:r,siwx:i,siwe:t}){let o=chunkHEG6FP5Z_cjs.b(a=>a.activeConnection),s=chunkHEG6FP5Z_cjs.b(a=>a.disconnect),n=chunkHEG6FP5Z_cjs.b(a=>a.connectionError),c=chunkHEG6FP5Z_cjs.b(a=>a.updateActiveConnection),f=react.useContext(chunkHEG6FP5Z_cjs.a),p=chunkLSWAATDN_cjs.a(i),h=t!==void 0,C=t?.enabled,S=t?.isSignedIn,m=t?.isRejected,E=react.useMemo(()=>h?{enabled:C,isSignedIn:S,isRejected:m}:void 0,[h,C,S,m]);return react.useEffect(()=>e({wagmiConfig:r,siwx:p,siwe:E},{disconnect:s,updateActiveConnection:c,getState:()=>f?.getState()??{activeConnection:o,connectionError:n}}),[e,f,r,p,E,o?.connectorType,n,s,c]),null}function O(e){let[r,i]=react.useState(null);return A(e.wagmiConfig),react.useEffect(()=>{let t=true;return import('@tuwaio/satellite-evm').then(o=>{t&&i(()=>o.createEVMConnectionsWatcher);}).catch(o=>console.warn("Failed to load EVM watcher:",o)),()=>{t=false;}},[]),r?jsxRuntime.jsx(I,{createWatcher:r,...e}):null}exports.EVMConnectorsWatcher=O;
|
package/dist/evm/index.d.cts
CHANGED
|
@@ -48,7 +48,9 @@ interface EVMConnectorsWatcherProps {
|
|
|
48
48
|
* around the app), the watcher calls `hydrate(wagmiConfig, { reconnectOnMount: false }).onMount()` from `@wagmi/core`
|
|
49
49
|
* once per config. It reads the saved wagmi state from the `storage` of the config (`localStorage` by default), adds
|
|
50
50
|
* the EIP-6963 wallets and clears the saved wagmi connections; the last wallet is reconnected by
|
|
51
|
-
* `SatelliteConnectProvider`, not by wagmi. If the hydration fails, a warning is logged.
|
|
51
|
+
* `SatelliteConnectProvider`, not by wagmi. If the hydration fails, a warning is logged. A config created with
|
|
52
|
+
* `storage: null` keeps nothing in the browser and cannot be hydrated by wagmi: the watcher only adds its EIP-6963
|
|
53
|
+
* wallets, at the same moment.
|
|
52
54
|
*
|
|
53
55
|
* @param props - The component props. See {@link EVMConnectorsWatcherProps}.
|
|
54
56
|
* @returns `null`; the component renders nothing.
|
package/dist/evm/index.d.ts
CHANGED
|
@@ -48,7 +48,9 @@ interface EVMConnectorsWatcherProps {
|
|
|
48
48
|
* around the app), the watcher calls `hydrate(wagmiConfig, { reconnectOnMount: false }).onMount()` from `@wagmi/core`
|
|
49
49
|
* once per config. It reads the saved wagmi state from the `storage` of the config (`localStorage` by default), adds
|
|
50
50
|
* the EIP-6963 wallets and clears the saved wagmi connections; the last wallet is reconnected by
|
|
51
|
-
* `SatelliteConnectProvider`, not by wagmi. If the hydration fails, a warning is logged.
|
|
51
|
+
* `SatelliteConnectProvider`, not by wagmi. If the hydration fails, a warning is logged. A config created with
|
|
52
|
+
* `storage: null` keeps nothing in the browser and cannot be hydrated by wagmi: the watcher only adds its EIP-6963
|
|
53
|
+
* wallets, at the same moment.
|
|
52
54
|
*
|
|
53
55
|
* @param props - The component props. See {@link EVMConnectorsWatcherProps}.
|
|
54
56
|
* @returns `null`; the component renders nothing.
|
package/dist/evm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'../chunk-FBHCKH6M.js';import {b,a}from'../chunk-4A4PSLAK.js';import {hydrate}from'@wagmi/core';import {useState,useEffect,useContext,useMemo}from'react';import {jsx}from'react/jsx-runtime';var d=new WeakSet;function A(e){useEffect(()=>{let{ssr:
|
|
1
|
+
import {a as a$1}from'../chunk-FBHCKH6M.js';import {b,a}from'../chunk-4A4PSLAK.js';import {hydrate}from'@wagmi/core';import {useState,useEffect,useContext,useMemo}from'react';import {jsx}from'react/jsx-runtime';var d=new WeakSet;function A(e){let{mipd:r,connectors:i}=e._internal;r&&i.setState(t=>{let o=new Set(t.flatMap(n=>[n.id,...n.rdns===void 0?[]:[n.rdns].flat()])),s=r.getProviders().filter(n=>!o.has(n.info.rdns)).map(n=>i.setup(i.providerDetailToConnector(n)));return [...t,...s]});}function I(e){useEffect(()=>{let{ssr:r,store:i}=e._internal;if(!r||d.has(e))return;let{persist:t}=i;if(!t){let c=setTimeout(()=>{d.has(e)||(d.add(e),A(e));},0);return ()=>clearTimeout(c)}if(t.hasHydrated())return;let o=false,s=t.onHydrate(()=>{o=true;}),n=setTimeout(()=>{s(),!(o||t.hasHydrated()||d.has(e))&&(d.add(e),hydrate(e,{reconnectOnMount:false}).onMount().catch(c=>console.warn("Failed to hydrate the wagmi config:",c)));},0);return ()=>{clearTimeout(n),s();}},[e]);}function g({createWatcher:e,wagmiConfig:r,siwx:i,siwe:t}){let o=b(a=>a.activeConnection),s=b(a=>a.disconnect),n=b(a=>a.connectionError),c=b(a=>a.updateActiveConnection),f=useContext(a),p=a$1(i),h=t!==void 0,C=t?.enabled,S=t?.isSignedIn,m=t?.isRejected,E=useMemo(()=>h?{enabled:C,isSignedIn:S,isRejected:m}:void 0,[h,C,S,m]);return useEffect(()=>e({wagmiConfig:r,siwx:p,siwe:E},{disconnect:s,updateActiveConnection:c,getState:()=>f?.getState()??{activeConnection:o,connectionError:n}}),[e,f,r,p,E,o?.connectorType,n,s,c]),null}function R(e){let[r,i]=useState(null);return I(e.wagmiConfig),useEffect(()=>{let t=true;return import('@tuwaio/satellite-evm').then(o=>{t&&i(()=>o.createEVMConnectionsWatcher);}).catch(o=>console.warn("Failed to load EVM watcher:",o)),()=>{t=false;}},[]),r?jsx(g,{createWatcher:r,...e}):null}export{R as EVMConnectorsWatcher};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tuwaio/satellite-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Oleksandr Tkach",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -91,10 +91,10 @@
|
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
|
94
|
-
"@tuwaio/orbit-core": "^0.5.
|
|
95
|
-
"@tuwaio/satellite-core": "^0.
|
|
96
|
-
"@tuwaio/satellite-evm": "^0.
|
|
97
|
-
"@tuwaio/satellite-solana": "^0.
|
|
94
|
+
"@tuwaio/orbit-core": "^0.5.1",
|
|
95
|
+
"@tuwaio/satellite-core": "^0.9.0",
|
|
96
|
+
"@tuwaio/satellite-evm": "^0.9.0",
|
|
97
|
+
"@tuwaio/satellite-solana": "^0.9.1",
|
|
98
98
|
"@types/react": "^19.3.0",
|
|
99
99
|
"@wagmi/core": "^3.6.5",
|
|
100
100
|
"@wallet-standard/react": "^1.0.3",
|