@nexus-cross/connect-kit-wagmi 1.4.1 → 1.4.2-beta.2

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 CHANGED
@@ -118,6 +118,36 @@ Produces a `CrossxConfig` bundle with:
118
118
  - `activeProviderStorageKey` — localStorage key for persisting the active side
119
119
  across reloads. Clear this during full sign-out flows.
120
120
 
121
+ #### `networks` option
122
+
123
+ Any EIP-155 chain can be listed. Order matters — `networks[0]` is the chain the
124
+ first connection lands on.
125
+
126
+ ```ts
127
+ networks: [
128
+ {
129
+ id: 998,
130
+ name: 'Hyperliquid EVM Testnet',
131
+ nativeCurrency: { name: 'tHYPE', symbol: 'tHYPE', decimals: 18 },
132
+ rpcUrl: 'https://hype-testnet-private.cross-api.in/evm',
133
+ blockExplorerUrl: 'https://app.hyperliquid-testnet.xyz/explorer',
134
+ testnet: true,
135
+ },
136
+ ]
137
+ ```
138
+
139
+ Chains the underlying SDK ships a preset for (CROSS/ONE, BSC, Kaia, Ethereum,
140
+ Ronin on the cross side; Ethereum and BSC on the reown side) use that preset —
141
+ it carries a network logo and a curated RPC. Everything else is registered as a
142
+ custom network built from the fields above, and the adapter logs a `console.warn`
143
+ naming the chain IDs it synthesized.
144
+
145
+ That warning marks a real boundary: a registered chain is switchable and its
146
+ balances read, but **signing also requires the wallet to support the chain**.
147
+ If `approve` / transfer fails on a custom chain while balances load fine, the
148
+ gap is wallet-side, not config-side. Details:
149
+ [`docs/connect-kit/13-custom-evm-networks.md`](../../docs/connect-kit/13-custom-evm-networks.md).
150
+
121
151
  #### `pinKeyboard` option
122
152
 
123
153
  Controls which keyboard appears when users enter their PIN for transaction
package/dist/to-nexus.js CHANGED
@@ -1 +1 @@
1
- import{a as g,b as C}from"./chunk-PQECHCC3.js";import"./chunk-TNPVFJYC.js";import{WagmiAdapter as j}from"@to-nexus/appkit-adapter-wagmi";import{initCrossSdk as K,networkController as B,bscMainnet as h,bscTestnet as k,crossMainnet as y,crossTestnet as b,etherMainnet as x,etherTestnet as A,kaiaMainnet as N,kaiaTestnet as v,roninMainnet as W,roninTestnet as E}from"@to-nexus/sdk";import{ApiController as R,EventsController as L,ModalController as T,OptionsController as M,PublicStateController as D,RouterController as u}from"@to-nexus/appkit-core";import{resolveThemeMode as I}from"@nexus-cross/connect-kit-core";import{WALLET_LABELS as S}from"@nexus-cross/crossx-design-system";var $=new Map([[y.id,y],[b.id,b],[h.id,h],[k.id,k],[N.id,N],[v.id,v],[x.id,x],[A.id,A],[W.id,W],[E.id,E]]),m="cross_wallet",f="nexus.to.crosswallet.desktop";function Y(){let s=M.state.customWallets?.find(e=>e.id===m||e.rdns===f);return s||{id:m,name:S.default,image_url:"https://contents.crosstoken.io/wallet/token/images/CROSSx.svg",app_store:"https://apps.apple.com/us/app/crossx-games/id6741250674",play_store:"https://play.google.com/store/apps/details?id=com.nexus.crosswallet",chrome_store:"https://chromewebstore.google.com/detail/crossx/nninbdadmocnokibpaaohnoepbnpdgcg",rdns:f,mobile_link:"crossx://",desktop_link:"",webapp_link:"",injected:[{injected_id:f}]}}var p=new Map;function q(s){let e=[],t=[];for(let o of s){let r=$.get(o.id);r?e.push(r):t.push(o.id)}if(t.length)throw new Error(`[crossx-kit] toNexusAdapter: chain IDs [${t.join(", ")}] are not supported by @to-nexus/sdk presets. Either remove them from CrossConnectKitConfig.networks or switch to reownAdapter().`);return e}function G(s){try{let e=B,t=e?.getNetworks?.();if(Array.isArray(t)){t.length=0;for(let o of s)t.push(o)}typeof e.fetchNetworks=="function"&&(e.fetchNetworks=async()=>{})}catch(e){console.warn("[crossx-kit] toNexusAdapter: failed to constrain networkController",e)}}var _="@cross/active_caip_network_id";function H(s){try{if(typeof window>"u"||typeof localStorage>"u")return;let e=window.localStorage.getItem(_);if(!e)return;let t=new Set;for(let o of s){let r=o;r.caipNetworkId&&t.add(r.caipNetworkId),r.id!==void 0&&t.add(`eip155:${r.id}`)}if(t.has(e))return;window.localStorage.removeItem(_),console.warn(`[crossx-kit] toNexusAdapter: cleared persisted active network "${e}" (outside the DApp's registered set) so the CROSS session starts on the default chain.`)}catch(e){console.warn("[crossx-kit] toNexusAdapter: failed to clear persisted active network",e)}}function V(s){let{kitConfig:e,extraConnectors:t}=s,o=e.crossProjectId,r=p.get(o);if(r)return r;let n=q(e.networks),i=t.map(l=>l.connector),c=new j({projectId:o,networks:n,connectors:i,ssr:e.ssr}),a={name:e.appMetadata.name,description:e.appMetadata.description??"",url:e.appMetadata.url,icons:e.appMetadata.icons??[]},d=I(e.theme,e.autoDetectTheme);G(n),H(n);let O=K(o,e.appMetadata.url,a,d,n[0],[c],void 0,void 0,n);try{M.setEnableWallets(!0)}catch(l){console.warn("[crossx-kit] OptionsController.setEnableWallets failed",l)}let P=c.wagmiConfig,w={appKit:O,wagmiConfig:P,caipNetworks:n};return p.set(o,w),w}function z(s={}){let e=s.displayName??S.default;return{providerKind:"to-nexus",buildWagmiConfig(t){if(!t.kitConfig.crossProjectId)throw new Error("[crossx-kit] toNexusAdapter requires CrossConnectKitConfig.crossProjectId");let{wagmiConfig:o}=V(t),r=[...t.extraConnectors.map(n=>n.registryEntry).filter(n=>n!==null),g(e,"walletConnect"),C()];return{wagmiConfig:o,registryEntries:r}},async teardown(){},subscribeModalState({kitConfig:t},o){if(!t.crossProjectId)return()=>{};let n=p.get(t.crossProjectId)?.appKit.subscribeState;if(!n)return()=>{};let i;return n(c=>{let a=c.open===!0;a!==i&&(i=a,o(a))})},closeModal({kitConfig:t}){if(!t.crossProjectId)return;let o=p.get(t.crossProjectId);if(!o)return;let r=o.appKit.close;if(typeof r=="function")try{let n=r.call(o.appKit);n&&typeof n.then=="function"&&n.catch(()=>{})}catch{}},async beforeConnect({kitConfig:t,themeMode:o},r){if(r!==m||!t.crossProjectId)return"defer";let n=p.get(t.crossProjectId);if(!n)return"defer";let i=o??I(t.theme,t.autoDetectTheme);try{n.appKit.setThemeMode?.(i)}catch(d){typeof console<"u"&&console.warn("[crossx-kit] toNexusAdapter: setThemeMode failed",d)}let c=Y(),a=T.state.open;try{a||await R.prefetch(),u.state.view==="ConnectingWalletConnect"&&u.reset("Connect"),u.reset("ConnectingWalletConnect",{wallet:c}),a||(T.state.open=!0,D.set({open:!0}),L.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:!1}}))}catch(d){typeof console<"u"&&console.warn("[crossx-kit] toNexusAdapter: appKit.open failed",d)}return"defer"}}}export{z as toNexusAdapter};
1
+ import{a as g,b as C}from"./chunk-PQECHCC3.js";import"./chunk-TNPVFJYC.js";import{WagmiAdapter as j}from"@to-nexus/appkit-adapter-wagmi";import{initCrossSdk as K,networkController as B,bscMainnet as k,bscTestnet as h,crossMainnet as y,crossTestnet as x,etherMainnet as b,etherTestnet as N,kaiaMainnet as v,kaiaTestnet as A,roninMainnet as E,roninTestnet as T}from"@to-nexus/sdk";import{ApiController as R,EventsController as L,ModalController as W,OptionsController as S,PublicStateController as D,RouterController as u}from"@to-nexus/appkit-core";import{resolveThemeMode as I}from"@nexus-cross/connect-kit-core";import{WALLET_LABELS as M}from"@nexus-cross/crossx-design-system";var U=new Map([[y.id,y],[x.id,x],[k.id,k],[h.id,h],[v.id,v],[A.id,A],[b.id,b],[N.id,N],[E.id,E],[T.id,T]]),m="cross_wallet",f="nexus.to.crosswallet.desktop";function $(){let o=S.state.customWallets?.find(e=>e.id===m||e.rdns===f);return o||{id:m,name:M.default,image_url:"https://contents.crosstoken.io/wallet/token/images/CROSSx.svg",app_store:"https://apps.apple.com/us/app/crossx-games/id6741250674",play_store:"https://play.google.com/store/apps/details?id=com.nexus.crosswallet",chrome_store:"https://chromewebstore.google.com/detail/crossx/nninbdadmocnokibpaaohnoepbnpdgcg",rdns:f,mobile_link:"crossx://",desktop_link:"",webapp_link:"",injected:[{injected_id:f}]}}var p=new Map;function q(o){return{formatters:void 0,fees:void 0,serializers:void 0,id:o.id,chainNamespace:"eip155",caipNetworkId:`eip155:${o.id}`,name:o.name,nativeCurrency:o.nativeCurrency,rpcUrls:{default:{http:[o.rpcUrl]}},...o.blockExplorerUrl?{blockExplorers:{default:{name:"Explorer",url:o.blockExplorerUrl}}}:{},...o.testnet===void 0?{}:{testnet:o.testnet}}}function Y(o){let e=[],t=[];for(let n of o){let s=U.get(n.id);s?e.push(s):(e.push(q(n)),t.push(n.id))}return t.length&&console.warn(`[crossx-kit] toNexusAdapter: chain IDs [${t.join(", ")}] have no @to-nexus/sdk preset and were registered from CrossConnectKitConfig.networks. Balances and chain switching work; signing additionally requires the CROSS wallet to support the chain.`),e}function z(o){try{let e=B,t=e?.getNetworks?.();if(Array.isArray(t)){t.length=0;for(let n of o)t.push(n)}typeof e.fetchNetworks=="function"&&(e.fetchNetworks=async()=>{})}catch(e){console.warn("[crossx-kit] toNexusAdapter: failed to constrain networkController",e)}}var _="@cross/active_caip_network_id";function G(o){try{if(typeof window>"u"||typeof localStorage>"u")return;let e=window.localStorage.getItem(_);if(!e)return;let t=new Set;for(let n of o){let s=n;s.caipNetworkId&&t.add(s.caipNetworkId),s.id!==void 0&&t.add(`eip155:${s.id}`)}if(t.has(e))return;window.localStorage.removeItem(_),console.warn(`[crossx-kit] toNexusAdapter: cleared persisted active network "${e}" (outside the DApp's registered set) so the CROSS session starts on the default chain.`)}catch(e){console.warn("[crossx-kit] toNexusAdapter: failed to clear persisted active network",e)}}function H(o){let{kitConfig:e,extraConnectors:t}=o,n=e.crossProjectId,s=p.get(n);if(s)return s;let r=Y(e.networks),a=t.map(l=>l.connector),c=new j({projectId:n,networks:r,connectors:a,ssr:e.ssr}),i={name:e.appMetadata.name,description:e.appMetadata.description??"",url:e.appMetadata.url,icons:e.appMetadata.icons??[]},d=I(e.theme,e.autoDetectTheme);z(r),G(r);let O=K(n,e.appMetadata.url,i,d,r[0],[c],void 0,void 0,r);try{S.setEnableWallets(!0)}catch(l){console.warn("[crossx-kit] OptionsController.setEnableWallets failed",l)}let P=c.wagmiConfig,w={appKit:O,wagmiConfig:P,caipNetworks:r};return p.set(n,w),w}function V(o={}){let e=o.displayName??M.default;return{providerKind:"to-nexus",buildWagmiConfig(t){if(!t.kitConfig.crossProjectId)throw new Error("[crossx-kit] toNexusAdapter requires CrossConnectKitConfig.crossProjectId");let{wagmiConfig:n}=H(t),s=[...t.extraConnectors.map(r=>r.registryEntry).filter(r=>r!==null),g(e,"walletConnect"),C()];return{wagmiConfig:n,registryEntries:s}},async teardown(){},subscribeModalState({kitConfig:t},n){if(!t.crossProjectId)return()=>{};let r=p.get(t.crossProjectId)?.appKit.subscribeState;if(!r)return()=>{};let a;return r(c=>{let i=c.open===!0;i!==a&&(a=i,n(i))})},closeModal({kitConfig:t}){if(!t.crossProjectId)return;let n=p.get(t.crossProjectId);if(!n)return;let s=n.appKit.close;if(typeof s=="function")try{let r=s.call(n.appKit);r&&typeof r.then=="function"&&r.catch(()=>{})}catch{}},async beforeConnect({kitConfig:t,themeMode:n},s){if(s!==m||!t.crossProjectId)return"defer";let r=p.get(t.crossProjectId);if(!r)return"defer";let a=n??I(t.theme,t.autoDetectTheme);try{r.appKit.setThemeMode?.(a)}catch(d){typeof console<"u"&&console.warn("[crossx-kit] toNexusAdapter: setThemeMode failed",d)}let c=$(),i=W.state.open;try{i||await R.prefetch(),u.state.view==="ConnectingWalletConnect"&&u.reset("Connect"),u.reset("ConnectingWalletConnect",{wallet:c}),i||(W.state.open=!0,D.set({open:!0}),L.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:!1}}))}catch(d){typeof console<"u"&&console.warn("[crossx-kit] toNexusAdapter: appKit.open failed",d)}return"defer"}}}export{V as toNexusAdapter};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cross/connect-kit-wagmi",
3
- "version": "1.4.1",
3
+ "version": "1.4.2-beta.2",
4
4
  "description": "wagmi connector adapters for @nexus-cross/connect-kit — embedded wallet, WalletConnect",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -34,8 +34,8 @@
34
34
  "dependencies": {
35
35
  "@nexus-cross/crossx-sdk-core": "2.4.0",
36
36
  "@nexus-cross/crossx-sdk-wagmi": "2.4.0",
37
- "@nexus-cross/connect-kit-core": "1.4.1",
38
- "@nexus-cross/crossx-design-system": "1.4.1"
37
+ "@nexus-cross/connect-kit-core": "1.4.2-beta.2",
38
+ "@nexus-cross/crossx-design-system": "1.4.2-beta.2"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@reown/appkit": "^1.8.19",