@nexus-cross/crossx-sdk-wagmi 2.2.0-beta.2 → 2.2.0-beta.3

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.
@@ -13,6 +13,8 @@ export interface CROSSxConnectorOptions {
13
13
  getStoredWalletAddress?: () => string | null;
14
14
  /** 활성 지갑 주소 변경 시 호출되는 콜백. 미설정 시 localStorage 자동 사용. */
15
15
  onWalletAddressChanged?: (address: string) => void;
16
+ /** disconnect/signOut 시 저장된 지갑 주소를 제거하는 콜백. 미설정 시 localStorage 자동 사용. */
17
+ clearStoredWalletAddress?: () => void;
16
18
  /**
17
19
  * 로그인 모달에서 외부 지갑 행 클릭 시 호출되는 콜백.
18
20
  *
@@ -38,6 +40,8 @@ export type CrossxConnectorOptions = Omit<SDKConfig, 'useMockWallet'> & {
38
40
  getStoredWalletAddress?: () => string | null;
39
41
  /** 활성 지갑 주소 변경 시 호출되는 콜백. 미설정 시 localStorage 자동 사용. */
40
42
  onWalletAddressChanged?: (address: string) => void;
43
+ /** disconnect/signOut 시 저장된 지갑 주소를 제거하는 콜백. 미설정 시 localStorage 자동 사용. */
44
+ clearStoredWalletAddress?: () => void;
41
45
  /**
42
46
  * 로그인 모달에서 외부 지갑 행 클릭 시 호출되는 콜백.
43
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAInD,oCAAoC;AACpC,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,SAAS,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,MAAM,MAAM,CAAC;IACpC,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC7C,uDAAuD;IACvD,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD;;;;;;;;;;;OAWG;IACH,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;CACrC;AAED,uCAAuC;AACvC,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG;IACtE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,MAAM,MAAM,CAAC;IACpC,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC7C,uDAAuD;IACvD,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD;;;;;;;;;;;;;OAaG;IACH,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;CACrC,CAAC;AAoDF,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,8GAc9D;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,8GAsRpE"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAInD,oCAAoC;AACpC,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,SAAS,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,MAAM,MAAM,CAAC;IACpC,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC7C,uDAAuD;IACvD,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,yEAAyE;IACzE,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;CACrC;AAED,uCAAuC;AACvC,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG;IACtE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,MAAM,MAAM,CAAC;IACpC,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC7C,uDAAuD;IACvD,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,yEAAyE;IACzE,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IACtC;;;;;;;;;;;;;OAaG;IACH,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;CACrC,CAAC;AAoDF,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,8GAc9D;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,8GAyRpE"}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const U=require("wagmi"),j=require("viem"),m=require("@nexus-cross/crossx-sdk-core");function z(s){return parseInt(s.split(":")[1]??"1",10)}function S(s){return`eip155:${s}`}function R(s){return"0x"+s.toString(16)}function P(s){const t=s.startsWith("0x")?s.slice(2):s,r=new Uint8Array(t.length/2);for(let n=0;n<r.length;n++)r[n]=parseInt(t.substring(n*2,n*2+2),16);return new TextDecoder().decode(r)}class N{constructor(t,r=m.ChainId.CROSS_MAINNET){this.sdk=t,this.listeners=new Map,this.walletIndex=0,this.currentAccounts=[],this.off=this.removeListener.bind(this),this.chainId=typeof r=="number"?r:z(r),this.sdk.on("addressChanged",({address:n,index:h})=>{this.setWalletIndex(h),this.notifyAccountsChanged([n])})}_setWalletIndexChangeCallback(t){this.walletIndexChangeCallback=t}async request({method:t,params:r}){try{return await this._handleRequest(t,r)}catch(n){throw n instanceof m.CROSSxError&&n.code===m.ErrorCode.USER_REJECTED?Object.assign(new Error("User rejected the request"),{code:4001,data:n.details}):n}}async _handleRequest(t,r){var h;const n=r??[];switch(t){case"eth_requestAccounts":case"eth_accounts":{if(this.currentAccounts.length>0)return[...this.currentAccounts];const e=await this.sdk.getAddress();return e?[e.address]:[]}case"eth_chainId":return R(this.chainId);case"net_version":return String(this.chainId);case"personal_sign":{const[e]=n,c=e.startsWith("0x")?P(e):e;return(await this.sdk.signMessage(S(this.chainId),c,{index:this.walletIndex})).signature}case"eth_sign":{const[,e]=n,c=e.startsWith("0x")?P(e):e;return(await this.sdk.signMessage(S(this.chainId),c,{index:this.walletIndex})).signature}case"eth_signTypedData":case"eth_signTypedData_v3":case"eth_signTypedData_v4":{const[,e]=n,c=typeof e=="string"?JSON.parse(e):e,o=(h=c==null?void 0:c.domain)==null?void 0:h.chainId,x=o==null||o===0,C=x?0:Number(o),y={index:this.walletIndex};return(x?await this.sdk.signTypedDataOffchain(c,y):await this.sdk.signTypedData(S(C),c,y)).signature}case"eth_sendTransaction":{const[e]=n,c=S(this.chainId);return(await this.sdk.sendTransaction(c,{from:e.from,to:e.to,value:e.value,data:e.data,gasLimit:e.gasLimit??e.gas,gasPrice:e.gasPrice,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce!==void 0?parseInt(String(e.nonce),16):void 0,chainId:this.chainId},{index:this.walletIndex})).txHash}case"wallet_switchEthereumChain":{const[{chainId:e}]=n,c=parseInt(e,16);return c!==this.chainId&&(this.chainId=c,this.emit("chainChanged",R(c))),null}case"wallet_addEthereumChain":return null;default:return this.sdk.walletRpc(t,n,S(this.chainId))}}on(t,r){return this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(r),this}removeListener(t,r){var n;return(n=this.listeners.get(t))==null||n.delete(r),this}emit(t,...r){var n;(n=this.listeners.get(t))==null||n.forEach(h=>h(...r))}notifyAccountsChanged(t){this.currentAccounts=t,this.emit("accountsChanged",t)}notifyDisconnect(t){this.currentAccounts=[],this.walletIndex=0,this.emit("disconnect",t)}getCurrentChainId(){return this.chainId}setChainId(t){t!==this.chainId&&(this.chainId=t,this.emit("chainChanged",R(t)))}setWalletIndex(t){var r;this.walletIndex=t,(r=this.walletIndexChangeCallback)==null||r.call(this,t)}getWalletIndex(){return this.walletIndex}getCurrentAccounts(){return[...this.currentAccounts]}}function F(s){return typeof s=="number"?s:parseInt(s.split(":")[1]??"1",10)}const b="crossx-wallet-index";function K(){try{const s=typeof window<"u"?localStorage.getItem(b):null;return s&&Number(s)||0}catch{return 0}}function H(s){try{typeof window<"u"&&localStorage.setItem(b,String(s))}catch{}}function L(){try{typeof window<"u"&&localStorage.removeItem(b)}catch{}}const q="crossx-wallet-address";function J(){try{return typeof window<"u"?localStorage.getItem(q):null}catch{return null}}function Y(s){try{typeof window<"u"&&localStorage.setItem(q,s)}catch{}}function $(s){const{defaultChainId:t,getStoredWalletIndex:r,onWalletIndexChanged:n,getStoredWalletAddress:h,onWalletAddressChanged:e,openConnectOtherWallet:c,...o}=s;if(c){const C=o.connectOtherWallets,y=Array.isArray(C)&&C.length>0,I=o.showConnectOtherWallets===!0;!y&&!I&&(o.showConnectOtherWallets=!0)}const x=m.createCROSSxSDK(o);return G({sdk:x,defaultChainId:t,getStoredWalletIndex:r,onWalletIndexChanged:n,getStoredWalletAddress:h,onWalletAddressChanged:e,openConnectOtherWallet:c})}function G(s){const{sdk:t,defaultChainId:r=m.ChainId.CROSS_MAINNET,getStoredWalletIndex:n=K,onWalletIndexChanged:h=H,getStoredWalletAddress:e=J,onWalletAddressChanged:c=Y,openConnectOtherWallet:o}=s,x=F(r);let C=null,y=!1,I=null,k=!1,A=!1,W=!1;function u(){return C||(C=new N(t,x),C._setWalletIndexChangeCallback(h)),C}return U.createConnector(f=>{function D(i){if(k)return;const l=u();l.on("accountsChanged",i.onAccountsChanged.bind(i)),l.on("chainChanged",i.onChainChanged.bind(i)),l.on("disconnect",i.onDisconnect.bind(i)),k=!0}async function v(){if(!y)return I||(I=(async()=>{const i=n(),l=e()??void 0;await t.initialize({preferredWalletIndex:i,preferredWalletAddress:l}),t.on("addressChanged",({address:a,index:g})=>{if(A)return;const E=u();E.setWalletIndex(g),a&&(E.notifyAccountsChanged([a]),c(a))}),t.on("authChanged",a=>{if(!(A||W))if(a.isAuthenticated&&a.address){const g=u();g.notifyAccountsChanged([a.address]),f.emitter.emit("connect",{accounts:[a.address],chainId:g.getCurrentChainId()})}else a.isAuthenticated||(u().notifyDisconnect(),L(),h(0),f.emitter.emit("disconnect"))}),o&&t.on("connectExternalWallet",o),y=!0})().finally(()=>{I=null}),I)}return{id:"crossx",name:"CROSSx Wallet",type:"crossx",async setup(){await v(),D(this)},async connect({chainId:i,isReconnecting:l}={}){await v(),D(this);const a=u(),g=i??x;A=!0;try{if((l||t.isAuthenticated())&&t.isAuthenticated()){const d=await t.getAddress();if(d)return a.setWalletIndex(d.index),a.notifyAccountsChanged([d.address]),{accounts:[d.address],chainId:g};await t.signOut().catch(()=>{}),a.notifyDisconnect()}const E=e();let p;try{p=await t.signInWithCreate({preferredWalletAddress:E??void 0})}catch(d){throw d instanceof m.CROSSxError&&d.code===m.ErrorCode.EXTERNAL_WALLET_REQUESTED?(a.notifyDisconnect(),new j.UserRejectedRequestError(d)):(t.isAuthenticated()||(a.notifyDisconnect(),f.emitter.emit("disconnect")),d)}if(!p.success)throw new Error(p.error??"CROSSx sign-in failed");const w=p.address,T=p.addresses.map(d=>d.address).filter(d=>!w||d.toLowerCase()!==w.toLowerCase()),O=w?[w,...T]:T;if(O.length===0)throw new Error("No address found after sign-in");const _=p.addresses.find(d=>w&&d.address.toLowerCase()===w.toLowerCase()),M=(_==null?void 0:_.index)??0;return a.setWalletIndex(M),a.notifyAccountsChanged(O),w&&c(w),{accounts:O,chainId:g}}finally{A=!1}},async disconnect(){W=!0;try{const i=u();await t.signOut(),i.notifyDisconnect(),L(),h(0),f.emitter.emit("disconnect")}finally{W=!1}},async getAccounts(){const l=u().getCurrentAccounts();if(l.length>0)return l;const a=await t.getAddress();return a?[a.address]:[]},async getChainId(){return u().getCurrentChainId()},async getProvider({chainId:i}={}){return u()},async isAuthorized(){return await t.whenReady(),t.isAuthenticated()},async switchChain({chainId:i}){u().setChainId(i),f.emitter.emit("change",{chainId:i});const a=f.chains.find(g=>g.id===i);if(!a)throw new Error(`Chain ${i} is not configured`);return a},onAccountsChanged(i){i.length===0?f.emitter.emit("disconnect"):f.emitter.emit("change",{accounts:i})},onChainChanged(i){f.emitter.emit("change",{chainId:Number(i)})},onDisconnect(){f.emitter.emit("disconnect")}}})}exports.CROSSxEIP1193Provider=N;exports.createCROSSxConnector=G;exports.crossxConnector=$;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("wagmi"),z=require("viem"),x=require("@nexus-cross/crossx-sdk-core");function F(s){return parseInt(s.split(":")[1]??"1",10)}function A(s){return`eip155:${s}`}function b(s){return"0x"+s.toString(16)}function N(s){const e=s.startsWith("0x")?s.slice(2):s,r=new Uint8Array(e.length/2);for(let n=0;n<r.length;n++)r[n]=parseInt(e.substring(n*2,n*2+2),16);return new TextDecoder().decode(r)}class G{constructor(e,r=x.ChainId.CROSS_MAINNET){this.sdk=e,this.listeners=new Map,this.walletIndex=0,this.currentAccounts=[],this.off=this.removeListener.bind(this),this.chainId=typeof r=="number"?r:F(r),this.sdk.on("addressChanged",({address:n,index:d})=>{this.setWalletIndex(d),this.notifyAccountsChanged([n])})}_setWalletIndexChangeCallback(e){this.walletIndexChangeCallback=e}async request({method:e,params:r}){try{return await this._handleRequest(e,r)}catch(n){throw n instanceof x.CROSSxError&&n.code===x.ErrorCode.USER_REJECTED?Object.assign(new Error("User rejected the request"),{code:4001,data:n.details}):n}}async _handleRequest(e,r){var d;const n=r??[];switch(e){case"eth_requestAccounts":case"eth_accounts":{if(this.currentAccounts.length>0)return[...this.currentAccounts];const t=await this.sdk.getAddress();return t?[t.address]:[]}case"eth_chainId":return b(this.chainId);case"net_version":return String(this.chainId);case"personal_sign":{const[t]=n,c=t.startsWith("0x")?N(t):t;return(await this.sdk.signMessage(A(this.chainId),c,{index:this.walletIndex})).signature}case"eth_sign":{const[,t]=n,c=t.startsWith("0x")?N(t):t;return(await this.sdk.signMessage(A(this.chainId),c,{index:this.walletIndex})).signature}case"eth_signTypedData":case"eth_signTypedData_v3":case"eth_signTypedData_v4":{const[,t]=n,c=typeof t=="string"?JSON.parse(t):t,l=(d=c==null?void 0:c.domain)==null?void 0:d.chainId,u=l==null||l===0,m=u?0:Number(l),f={index:this.walletIndex};return(u?await this.sdk.signTypedDataOffchain(c,f):await this.sdk.signTypedData(A(m),c,f)).signature}case"eth_sendTransaction":{const[t]=n,c=A(this.chainId);return(await this.sdk.sendTransaction(c,{from:t.from,to:t.to,value:t.value,data:t.data,gasLimit:t.gasLimit??t.gas,gasPrice:t.gasPrice,maxFeePerGas:t.maxFeePerGas,maxPriorityFeePerGas:t.maxPriorityFeePerGas,nonce:t.nonce!==void 0?parseInt(String(t.nonce),16):void 0,chainId:this.chainId},{index:this.walletIndex})).txHash}case"wallet_switchEthereumChain":{const[{chainId:t}]=n,c=parseInt(t,16);return c!==this.chainId&&(this.chainId=c,this.emit("chainChanged",b(c))),null}case"wallet_addEthereumChain":return null;default:return this.sdk.walletRpc(e,n,A(this.chainId))}}on(e,r){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(r),this}removeListener(e,r){var n;return(n=this.listeners.get(e))==null||n.delete(r),this}emit(e,...r){var n;(n=this.listeners.get(e))==null||n.forEach(d=>d(...r))}notifyAccountsChanged(e){this.currentAccounts=e,this.emit("accountsChanged",e)}notifyDisconnect(e){this.currentAccounts=[],this.walletIndex=0,this.emit("disconnect",e)}getCurrentChainId(){return this.chainId}setChainId(e){e!==this.chainId&&(this.chainId=e,this.emit("chainChanged",b(e)))}setWalletIndex(e){var r;this.walletIndex=e,(r=this.walletIndexChangeCallback)==null||r.call(this,e)}getWalletIndex(){return this.walletIndex}getCurrentAccounts(){return[...this.currentAccounts]}}function K(s){return typeof s=="number"?s:parseInt(s.split(":")[1]??"1",10)}const k="crossx-wallet-index";function H(){try{const s=typeof window<"u"?localStorage.getItem(k):null;return s&&Number(s)||0}catch{return 0}}function J(s){try{typeof window<"u"&&localStorage.setItem(k,String(s))}catch{}}function q(){try{typeof window<"u"&&localStorage.removeItem(k)}catch{}}const v="crossx-wallet-address";function Y(){try{return typeof window<"u"?localStorage.getItem(v):null}catch{return null}}function $(s){try{typeof window<"u"&&localStorage.setItem(v,s)}catch{}}function Q(){try{typeof window<"u"&&localStorage.removeItem(v)}catch{}}function X(s){const{defaultChainId:e,getStoredWalletIndex:r,onWalletIndexChanged:n,getStoredWalletAddress:d,onWalletAddressChanged:t,clearStoredWalletAddress:c,openConnectOtherWallet:l,...u}=s;if(l){const f=u.connectOtherWallets,S=Array.isArray(f)&&f.length>0,y=u.showConnectOtherWallets===!0;!S&&!y&&(u.showConnectOtherWallets=!0)}const m=x.createCROSSxSDK(u);return M({sdk:m,defaultChainId:e,getStoredWalletIndex:r,onWalletIndexChanged:n,getStoredWalletAddress:d,onWalletAddressChanged:t,clearStoredWalletAddress:c,openConnectOtherWallet:l})}function M(s){const{sdk:e,defaultChainId:r=x.ChainId.CROSS_MAINNET,getStoredWalletIndex:n=H,onWalletIndexChanged:d=J,getStoredWalletAddress:t=Y,onWalletAddressChanged:c=$,clearStoredWalletAddress:l=Q,openConnectOtherWallet:u}=s,m=K(r);let f=null,S=!1,y=null,D=!1,W=!1,O=!1;function g(){return f||(f=new G(e,m),f._setWalletIndexChangeCallback(d)),f}return j.createConnector(C=>{function T(a){if(D)return;const h=g();h.on("accountsChanged",a.onAccountsChanged.bind(a)),h.on("chainChanged",a.onChainChanged.bind(a)),h.on("disconnect",a.onDisconnect.bind(a)),D=!0}async function P(){if(!S)return y||(y=(async()=>{const a=n(),h=t()??void 0;await e.initialize({preferredWalletIndex:a,preferredWalletAddress:h}),e.on("addressChanged",({address:i,index:I})=>{if(W)return;const E=g();E.setWalletIndex(I),i&&(E.notifyAccountsChanged([i]),c(i))}),e.on("authChanged",i=>{if(!(W||O))if(i.isAuthenticated&&i.address){const I=g();I.notifyAccountsChanged([i.address]),C.emitter.emit("connect",{accounts:[i.address],chainId:I.getCurrentChainId()})}else i.isAuthenticated||(g().notifyDisconnect(),q(),l(),d(0),C.emitter.emit("disconnect"))}),u&&e.on("connectExternalWallet",u),S=!0})().finally(()=>{y=null}),y)}return{id:"crossx",name:"CROSSx Wallet",type:"crossx",async setup(){await P(),T(this)},async connect({chainId:a,isReconnecting:h}={}){await P(),T(this);const i=g(),I=a??m;W=!0;try{if((h||e.isAuthenticated())&&e.isAuthenticated()){const o=await e.getAddress();if(o)return i.setWalletIndex(o.index),i.notifyAccountsChanged([o.address]),{accounts:[o.address],chainId:I};await e.signOut().catch(()=>{}),i.notifyDisconnect()}const E=t();let p;try{p=await e.signInWithCreate({preferredWalletAddress:E??void 0})}catch(o){throw o instanceof x.CROSSxError&&o.code===x.ErrorCode.EXTERNAL_WALLET_REQUESTED?(i.notifyDisconnect(),new z.UserRejectedRequestError(o)):(e.isAuthenticated()||(i.notifyDisconnect(),C.emitter.emit("disconnect")),o)}if(!p.success)throw new Error(p.error??"CROSSx sign-in failed");const w=p.address,L=p.addresses.map(o=>o.address).filter(o=>!w||o.toLowerCase()!==w.toLowerCase()),_=w?[w,...L]:L;if(_.length===0)throw new Error("No address found after sign-in");const R=p.addresses.find(o=>w&&o.address.toLowerCase()===w.toLowerCase()),U=(R==null?void 0:R.index)??0;return i.setWalletIndex(U),i.notifyAccountsChanged(_),w&&c(w),{accounts:_,chainId:I}}finally{W=!1}},async disconnect(){O=!0;try{const a=g();await e.signOut(),a.notifyDisconnect(),q(),l(),d(0),C.emitter.emit("disconnect")}finally{O=!1}},async getAccounts(){const h=g().getCurrentAccounts();if(h.length>0)return h;const i=await e.getAddress();return i?[i.address]:[]},async getChainId(){return g().getCurrentChainId()},async getProvider({chainId:a}={}){return g()},async isAuthorized(){return await e.whenReady(),e.isAuthenticated()},async switchChain({chainId:a}){g().setChainId(a),C.emitter.emit("change",{chainId:a});const i=C.chains.find(I=>I.id===a);if(!i)throw new Error(`Chain ${a} is not configured`);return i},onAccountsChanged(a){a.length===0?C.emitter.emit("disconnect"):C.emitter.emit("change",{accounts:a})},onChainChanged(a){C.emitter.emit("change",{chainId:Number(a)})},onDisconnect(){C.emitter.emit("disconnect")}}})}exports.CROSSxEIP1193Provider=G;exports.createCROSSxConnector=M;exports.crossxConnector=X;
package/dist/index.js CHANGED
@@ -1,25 +1,25 @@
1
- import { createConnector as M } from "wagmi";
2
- import { UserRejectedRequestError as z } from "viem";
3
- import { ChainId as L, CROSSxError as N, ErrorCode as G, createCROSSxSDK as F } from "@nexus-cross/crossx-sdk-core";
4
- function j(s) {
1
+ import { createConnector as z } from "wagmi";
2
+ import { UserRejectedRequestError as F } from "viem";
3
+ import { ChainId as G, CROSSxError as q, ErrorCode as U, createCROSSxSDK as j } from "@nexus-cross/crossx-sdk-core";
4
+ function K(s) {
5
5
  return parseInt(s.split(":")[1] ?? "1", 10);
6
6
  }
7
- function x(s) {
7
+ function A(s) {
8
8
  return `eip155:${s}`;
9
9
  }
10
- function O(s) {
10
+ function D(s) {
11
11
  return "0x" + s.toString(16);
12
12
  }
13
- function v(s) {
14
- const t = s.startsWith("0x") ? s.slice(2) : s, i = new Uint8Array(t.length / 2);
15
- for (let n = 0; n < i.length; n++)
16
- i[n] = parseInt(t.substring(n * 2, n * 2 + 2), 16);
17
- return new TextDecoder().decode(i);
13
+ function L(s) {
14
+ const t = s.startsWith("0x") ? s.slice(2) : s, r = new Uint8Array(t.length / 2);
15
+ for (let n = 0; n < r.length; n++)
16
+ r[n] = parseInt(t.substring(n * 2, n * 2 + 2), 16);
17
+ return new TextDecoder().decode(r);
18
18
  }
19
- class K {
20
- constructor(t, i = L.CROSS_MAINNET) {
21
- this.sdk = t, this.listeners = /* @__PURE__ */ new Map(), this.walletIndex = 0, this.currentAccounts = [], this.off = this.removeListener.bind(this), this.chainId = typeof i == "number" ? i : j(i), this.sdk.on("addressChanged", ({ address: n, index: h }) => {
22
- this.setWalletIndex(h), this.notifyAccountsChanged([n]);
19
+ class H {
20
+ constructor(t, r = G.CROSS_MAINNET) {
21
+ this.sdk = t, this.listeners = /* @__PURE__ */ new Map(), this.walletIndex = 0, this.currentAccounts = [], this.off = this.removeListener.bind(this), this.chainId = typeof r == "number" ? r : K(r), this.sdk.on("addressChanged", ({ address: n, index: o }) => {
22
+ this.setWalletIndex(o), this.notifyAccountsChanged([n]);
23
23
  });
24
24
  }
25
25
  /** connector가 내부적으로 호출. 외부에서 사용하지 않습니다. */
@@ -27,19 +27,19 @@ class K {
27
27
  this.walletIndexChangeCallback = t;
28
28
  }
29
29
  // ── EIP-1193 request ──────────────────────────────────────────────────────
30
- async request({ method: t, params: i }) {
30
+ async request({ method: t, params: r }) {
31
31
  try {
32
- return await this._handleRequest(t, i);
32
+ return await this._handleRequest(t, r);
33
33
  } catch (n) {
34
- throw n instanceof N && n.code === G.USER_REJECTED ? Object.assign(
34
+ throw n instanceof q && n.code === U.USER_REJECTED ? Object.assign(
35
35
  new Error("User rejected the request"),
36
36
  { code: 4001, data: n.details }
37
37
  ) : n;
38
38
  }
39
39
  }
40
- async _handleRequest(t, i) {
41
- var h;
42
- const n = i ?? [];
40
+ async _handleRequest(t, r) {
41
+ var o;
42
+ const n = r ?? [];
43
43
  switch (t) {
44
44
  case "eth_requestAccounts":
45
45
  case "eth_accounts": {
@@ -49,21 +49,21 @@ class K {
49
49
  return e ? [e.address] : [];
50
50
  }
51
51
  case "eth_chainId":
52
- return O(this.chainId);
52
+ return D(this.chainId);
53
53
  case "net_version":
54
54
  return String(this.chainId);
55
55
  case "personal_sign": {
56
- const [e] = n, c = e.startsWith("0x") ? v(e) : e;
56
+ const [e] = n, c = e.startsWith("0x") ? L(e) : e;
57
57
  return (await this.sdk.signMessage(
58
- x(this.chainId),
58
+ A(this.chainId),
59
59
  c,
60
60
  { index: this.walletIndex }
61
61
  )).signature;
62
62
  }
63
63
  case "eth_sign": {
64
- const [, e] = n, c = e.startsWith("0x") ? v(e) : e;
64
+ const [, e] = n, c = e.startsWith("0x") ? L(e) : e;
65
65
  return (await this.sdk.signMessage(
66
- x(this.chainId),
66
+ A(this.chainId),
67
67
  c,
68
68
  { index: this.walletIndex }
69
69
  )).signature;
@@ -71,11 +71,11 @@ class K {
71
71
  case "eth_signTypedData":
72
72
  case "eth_signTypedData_v3":
73
73
  case "eth_signTypedData_v4": {
74
- const [, e] = n, c = typeof e == "string" ? JSON.parse(e) : e, o = (h = c == null ? void 0 : c.domain) == null ? void 0 : h.chainId, m = o == null || o === 0, C = m ? 0 : Number(o), p = { index: this.walletIndex };
75
- return (m ? await this.sdk.signTypedDataOffchain(c, p) : await this.sdk.signTypedData(x(C), c, p)).signature;
74
+ const [, e] = n, c = typeof e == "string" ? JSON.parse(e) : e, l = (o = c == null ? void 0 : c.domain) == null ? void 0 : o.chainId, u = l == null || l === 0, p = u ? 0 : Number(l), f = { index: this.walletIndex };
75
+ return (u ? await this.sdk.signTypedDataOffchain(c, f) : await this.sdk.signTypedData(A(p), c, f)).signature;
76
76
  }
77
77
  case "eth_sendTransaction": {
78
- const [e] = n, c = x(this.chainId);
78
+ const [e] = n, c = A(this.chainId);
79
79
  return (await this.sdk.sendTransaction(c, {
80
80
  from: e.from,
81
81
  to: e.to,
@@ -91,25 +91,25 @@ class K {
91
91
  }
92
92
  case "wallet_switchEthereumChain": {
93
93
  const [{ chainId: e }] = n, c = parseInt(e, 16);
94
- return c !== this.chainId && (this.chainId = c, this.emit("chainChanged", O(c))), null;
94
+ return c !== this.chainId && (this.chainId = c, this.emit("chainChanged", D(c))), null;
95
95
  }
96
96
  case "wallet_addEthereumChain":
97
97
  return null;
98
98
  default:
99
- return this.sdk.walletRpc(t, n, x(this.chainId));
99
+ return this.sdk.walletRpc(t, n, A(this.chainId));
100
100
  }
101
101
  }
102
102
  // ── EIP-1193 이벤트 ───────────────────────────────────────────────────────
103
- on(t, i) {
104
- return this.listeners.has(t) || this.listeners.set(t, /* @__PURE__ */ new Set()), this.listeners.get(t).add(i), this;
103
+ on(t, r) {
104
+ return this.listeners.has(t) || this.listeners.set(t, /* @__PURE__ */ new Set()), this.listeners.get(t).add(r), this;
105
105
  }
106
- removeListener(t, i) {
106
+ removeListener(t, r) {
107
107
  var n;
108
- return (n = this.listeners.get(t)) == null || n.delete(i), this;
108
+ return (n = this.listeners.get(t)) == null || n.delete(r), this;
109
109
  }
110
- emit(t, ...i) {
110
+ emit(t, ...r) {
111
111
  var n;
112
- (n = this.listeners.get(t)) == null || n.forEach((h) => h(...i));
112
+ (n = this.listeners.get(t)) == null || n.forEach((o) => o(...r));
113
113
  }
114
114
  // ── Connector 전용 헬퍼 ───────────────────────────────────────────────────
115
115
  notifyAccountsChanged(t) {
@@ -122,15 +122,15 @@ class K {
122
122
  return this.chainId;
123
123
  }
124
124
  setChainId(t) {
125
- t !== this.chainId && (this.chainId = t, this.emit("chainChanged", O(t)));
125
+ t !== this.chainId && (this.chainId = t, this.emit("chainChanged", D(t)));
126
126
  }
127
127
  /**
128
128
  * 활성 지갑 인덱스 설정.
129
129
  * Provider가 SDK 메서드를 호출할 때 이 인덱스를 전달합니다.
130
130
  */
131
131
  setWalletIndex(t) {
132
- var i;
133
- this.walletIndex = t, (i = this.walletIndexChangeCallback) == null || i.call(this, t);
132
+ var r;
133
+ this.walletIndex = t, (r = this.walletIndexChangeCallback) == null || r.call(this, t);
134
134
  }
135
135
  getWalletIndex() {
136
136
  return this.walletIndex;
@@ -139,201 +139,208 @@ class K {
139
139
  return [...this.currentAccounts];
140
140
  }
141
141
  }
142
- function H(s) {
142
+ function J(s) {
143
143
  return typeof s == "number" ? s : parseInt(s.split(":")[1] ?? "1", 10);
144
144
  }
145
- const D = "crossx-wallet-index";
146
- function J() {
145
+ const R = "crossx-wallet-index";
146
+ function Y() {
147
147
  try {
148
- const s = typeof window < "u" ? localStorage.getItem(D) : null;
148
+ const s = typeof window < "u" ? localStorage.getItem(R) : null;
149
149
  return s && Number(s) || 0;
150
150
  } catch {
151
151
  return 0;
152
152
  }
153
153
  }
154
- function Y(s) {
154
+ function $(s) {
155
155
  try {
156
- typeof window < "u" && localStorage.setItem(D, String(s));
156
+ typeof window < "u" && localStorage.setItem(R, String(s));
157
157
  } catch {
158
158
  }
159
159
  }
160
- function P() {
160
+ function N() {
161
161
  try {
162
- typeof window < "u" && localStorage.removeItem(D);
162
+ typeof window < "u" && localStorage.removeItem(R);
163
163
  } catch {
164
164
  }
165
165
  }
166
- const q = "crossx-wallet-address";
167
- function $() {
166
+ const k = "crossx-wallet-address";
167
+ function Q() {
168
168
  try {
169
- return typeof window < "u" ? localStorage.getItem(q) : null;
169
+ return typeof window < "u" ? localStorage.getItem(k) : null;
170
170
  } catch {
171
171
  return null;
172
172
  }
173
173
  }
174
- function Q(s) {
174
+ function X(s) {
175
+ try {
176
+ typeof window < "u" && localStorage.setItem(k, s);
177
+ } catch {
178
+ }
179
+ }
180
+ function B() {
175
181
  try {
176
- typeof window < "u" && localStorage.setItem(q, s);
182
+ typeof window < "u" && localStorage.removeItem(k);
177
183
  } catch {
178
184
  }
179
185
  }
180
- function tt(s) {
181
- const { defaultChainId: t, getStoredWalletIndex: i, onWalletIndexChanged: n, getStoredWalletAddress: h, onWalletAddressChanged: e, openConnectOtherWallet: c, ...o } = s;
182
- if (c) {
183
- const C = o.connectOtherWallets, p = Array.isArray(C) && C.length > 0, I = o.showConnectOtherWallets === !0;
184
- !p && !I && (o.showConnectOtherWallets = !0);
186
+ function nt(s) {
187
+ const { defaultChainId: t, getStoredWalletIndex: r, onWalletIndexChanged: n, getStoredWalletAddress: o, onWalletAddressChanged: e, clearStoredWalletAddress: c, openConnectOtherWallet: l, ...u } = s;
188
+ if (l) {
189
+ const f = u.connectOtherWallets, x = Array.isArray(f) && f.length > 0, m = u.showConnectOtherWallets === !0;
190
+ !x && !m && (u.showConnectOtherWallets = !0);
185
191
  }
186
- const m = F(o);
187
- return X({ sdk: m, defaultChainId: t, getStoredWalletIndex: i, onWalletIndexChanged: n, getStoredWalletAddress: h, onWalletAddressChanged: e, openConnectOtherWallet: c });
192
+ const p = j(u);
193
+ return V({ sdk: p, defaultChainId: t, getStoredWalletIndex: r, onWalletIndexChanged: n, getStoredWalletAddress: o, onWalletAddressChanged: e, clearStoredWalletAddress: c, openConnectOtherWallet: l });
188
194
  }
189
- function X(s) {
195
+ function V(s) {
190
196
  const {
191
197
  sdk: t,
192
- defaultChainId: i = L.CROSS_MAINNET,
193
- getStoredWalletIndex: n = J,
194
- onWalletIndexChanged: h = Y,
195
- getStoredWalletAddress: e = $,
196
- onWalletAddressChanged: c = Q,
197
- openConnectOtherWallet: o
198
- } = s, m = H(i);
199
- let C = null, p = !1, I = null, R = !1, A = !1, W = !1;
200
- function u() {
201
- return C || (C = new K(t, m), C._setWalletIndexChangeCallback(h)), C;
198
+ defaultChainId: r = G.CROSS_MAINNET,
199
+ getStoredWalletIndex: n = Y,
200
+ onWalletIndexChanged: o = $,
201
+ getStoredWalletAddress: e = Q,
202
+ onWalletAddressChanged: c = X,
203
+ clearStoredWalletAddress: l = B,
204
+ openConnectOtherWallet: u
205
+ } = s, p = J(r);
206
+ let f = null, x = !1, m = null, b = !1, S = !1, E = !1;
207
+ function g() {
208
+ return f || (f = new H(t, p), f._setWalletIndexChangeCallback(o)), f;
202
209
  }
203
- return M((f) => {
204
- function k(r) {
205
- if (R) return;
206
- const l = u();
207
- l.on("accountsChanged", r.onAccountsChanged.bind(r)), l.on("chainChanged", r.onChainChanged.bind(r)), l.on("disconnect", r.onDisconnect.bind(r)), R = !0;
210
+ return z((C) => {
211
+ function T(a) {
212
+ if (b) return;
213
+ const h = g();
214
+ h.on("accountsChanged", a.onAccountsChanged.bind(a)), h.on("chainChanged", a.onChainChanged.bind(a)), h.on("disconnect", a.onDisconnect.bind(a)), b = !0;
208
215
  }
209
- async function b() {
210
- if (!p)
211
- return I || (I = (async () => {
212
- const r = n(), l = e() ?? void 0;
213
- await t.initialize({ preferredWalletIndex: r, preferredWalletAddress: l }), t.on("addressChanged", ({ address: a, index: g }) => {
214
- if (A) return;
215
- const S = u();
216
- S.setWalletIndex(g), a && (S.notifyAccountsChanged([a]), c(a));
217
- }), t.on("authChanged", (a) => {
218
- if (!(A || W))
219
- if (a.isAuthenticated && a.address) {
220
- const g = u();
221
- g.notifyAccountsChanged([a.address]), f.emitter.emit("connect", {
222
- accounts: [a.address],
223
- chainId: g.getCurrentChainId()
216
+ async function v() {
217
+ if (!x)
218
+ return m || (m = (async () => {
219
+ const a = n(), h = e() ?? void 0;
220
+ await t.initialize({ preferredWalletIndex: a, preferredWalletAddress: h }), t.on("addressChanged", ({ address: i, index: I }) => {
221
+ if (S) return;
222
+ const W = g();
223
+ W.setWalletIndex(I), i && (W.notifyAccountsChanged([i]), c(i));
224
+ }), t.on("authChanged", (i) => {
225
+ if (!(S || E))
226
+ if (i.isAuthenticated && i.address) {
227
+ const I = g();
228
+ I.notifyAccountsChanged([i.address]), C.emitter.emit("connect", {
229
+ accounts: [i.address],
230
+ chainId: I.getCurrentChainId()
224
231
  });
225
- } else a.isAuthenticated || (u().notifyDisconnect(), P(), h(0), f.emitter.emit("disconnect"));
226
- }), o && t.on("connectExternalWallet", o), p = !0;
232
+ } else i.isAuthenticated || (g().notifyDisconnect(), N(), l(), o(0), C.emitter.emit("disconnect"));
233
+ }), u && t.on("connectExternalWallet", u), x = !0;
227
234
  })().finally(() => {
228
- I = null;
229
- }), I);
235
+ m = null;
236
+ }), m);
230
237
  }
231
238
  return {
232
239
  id: "crossx",
233
240
  name: "CROSSx Wallet",
234
241
  type: "crossx",
235
242
  async setup() {
236
- await b(), k(this);
243
+ await v(), T(this);
237
244
  },
238
245
  // ── connect ─────────────────────────────────────────────────────────────
239
- async connect({ chainId: r, isReconnecting: l } = {}) {
240
- await b(), k(this);
241
- const a = u(), g = r ?? m;
242
- A = !0;
246
+ async connect({ chainId: a, isReconnecting: h } = {}) {
247
+ await v(), T(this);
248
+ const i = g(), I = a ?? p;
249
+ S = !0;
243
250
  try {
244
- if ((l || t.isAuthenticated()) && t.isAuthenticated()) {
251
+ if ((h || t.isAuthenticated()) && t.isAuthenticated()) {
245
252
  const d = await t.getAddress();
246
253
  if (d)
247
- return a.setWalletIndex(d.index), a.notifyAccountsChanged([d.address]), {
254
+ return i.setWalletIndex(d.index), i.notifyAccountsChanged([d.address]), {
248
255
  accounts: [d.address],
249
- chainId: g
256
+ chainId: I
250
257
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
251
258
  };
252
259
  await t.signOut().catch(() => {
253
- }), a.notifyDisconnect();
260
+ }), i.notifyDisconnect();
254
261
  }
255
- const S = e();
262
+ const W = e();
256
263
  let y;
257
264
  try {
258
265
  y = await t.signInWithCreate({
259
- preferredWalletAddress: S ?? void 0
266
+ preferredWalletAddress: W ?? void 0
260
267
  });
261
268
  } catch (d) {
262
- throw d instanceof N && d.code === G.EXTERNAL_WALLET_REQUESTED ? (a.notifyDisconnect(), new z(d)) : (t.isAuthenticated() || (a.notifyDisconnect(), f.emitter.emit("disconnect")), d);
269
+ throw d instanceof q && d.code === U.EXTERNAL_WALLET_REQUESTED ? (i.notifyDisconnect(), new F(d)) : (t.isAuthenticated() || (i.notifyDisconnect(), C.emitter.emit("disconnect")), d);
263
270
  }
264
271
  if (!y.success)
265
272
  throw new Error(y.error ?? "CROSSx sign-in failed");
266
- const w = y.address, T = y.addresses.map((d) => d.address).filter((d) => !w || d.toLowerCase() !== w.toLowerCase()), E = w ? [w, ...T] : T;
267
- if (E.length === 0)
273
+ const w = y.address, P = y.addresses.map((d) => d.address).filter((d) => !w || d.toLowerCase() !== w.toLowerCase()), _ = w ? [w, ...P] : P;
274
+ if (_.length === 0)
268
275
  throw new Error("No address found after sign-in");
269
- const _ = y.addresses.find(
276
+ const O = y.addresses.find(
270
277
  (d) => w && d.address.toLowerCase() === w.toLowerCase()
271
- ), U = (_ == null ? void 0 : _.index) ?? 0;
272
- return a.setWalletIndex(U), a.notifyAccountsChanged(E), w && c(w), {
273
- accounts: E,
274
- chainId: g
278
+ ), M = (O == null ? void 0 : O.index) ?? 0;
279
+ return i.setWalletIndex(M), i.notifyAccountsChanged(_), w && c(w), {
280
+ accounts: _,
281
+ chainId: I
275
282
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
276
283
  };
277
284
  } finally {
278
- A = !1;
285
+ S = !1;
279
286
  }
280
287
  },
281
288
  // ── disconnect ──────────────────────────────────────────────────────────
282
289
  async disconnect() {
283
- W = !0;
290
+ E = !0;
284
291
  try {
285
- const r = u();
286
- await t.signOut(), r.notifyDisconnect(), P(), h(0), f.emitter.emit("disconnect");
292
+ const a = g();
293
+ await t.signOut(), a.notifyDisconnect(), N(), l(), o(0), C.emitter.emit("disconnect");
287
294
  } finally {
288
- W = !1;
295
+ E = !1;
289
296
  }
290
297
  },
291
298
  // ── getAccounts ─────────────────────────────────────────────────────────
292
299
  async getAccounts() {
293
- const l = u().getCurrentAccounts();
294
- if (l.length > 0) return l;
295
- const a = await t.getAddress();
296
- return a ? [a.address] : [];
300
+ const h = g().getCurrentAccounts();
301
+ if (h.length > 0) return h;
302
+ const i = await t.getAddress();
303
+ return i ? [i.address] : [];
297
304
  },
298
305
  // ── getChainId ──────────────────────────────────────────────────────────
299
306
  async getChainId() {
300
- return u().getCurrentChainId();
307
+ return g().getCurrentChainId();
301
308
  },
302
309
  // ── getProvider ─────────────────────────────────────────────────────────
303
- async getProvider({ chainId: r } = {}) {
304
- return u();
310
+ async getProvider({ chainId: a } = {}) {
311
+ return g();
305
312
  },
306
313
  // ── isAuthorized ────────────────────────────────────────────────────────
307
314
  async isAuthorized() {
308
315
  return await t.whenReady(), t.isAuthenticated();
309
316
  },
310
317
  // ── switchChain ─────────────────────────────────────────────────────────
311
- async switchChain({ chainId: r }) {
312
- u().setChainId(r), f.emitter.emit("change", { chainId: r });
313
- const a = f.chains.find((g) => g.id === r);
314
- if (!a)
315
- throw new Error(`Chain ${r} is not configured`);
316
- return a;
318
+ async switchChain({ chainId: a }) {
319
+ g().setChainId(a), C.emitter.emit("change", { chainId: a });
320
+ const i = C.chains.find((I) => I.id === a);
321
+ if (!i)
322
+ throw new Error(`Chain ${a} is not configured`);
323
+ return i;
317
324
  },
318
325
  // ── 이벤트 핸들러 ───────────────────────────────────────────────────────
319
- onAccountsChanged(r) {
320
- r.length === 0 ? f.emitter.emit("disconnect") : f.emitter.emit("change", {
321
- accounts: r
326
+ onAccountsChanged(a) {
327
+ a.length === 0 ? C.emitter.emit("disconnect") : C.emitter.emit("change", {
328
+ accounts: a
322
329
  });
323
330
  },
324
- onChainChanged(r) {
325
- f.emitter.emit("change", {
326
- chainId: Number(r)
331
+ onChainChanged(a) {
332
+ C.emitter.emit("change", {
333
+ chainId: Number(a)
327
334
  });
328
335
  },
329
336
  onDisconnect() {
330
- f.emitter.emit("disconnect");
337
+ C.emitter.emit("disconnect");
331
338
  }
332
339
  };
333
340
  });
334
341
  }
335
342
  export {
336
- K as CROSSxEIP1193Provider,
337
- X as createCROSSxConnector,
338
- tt as crossxConnector
343
+ H as CROSSxEIP1193Provider,
344
+ V as createCROSSxConnector,
345
+ nt as crossxConnector
339
346
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cross/crossx-sdk-wagmi",
3
- "version": "2.2.0-beta.2",
3
+ "version": "2.2.0-beta.3",
4
4
  "description": "CROSSx SDK wagmi Connector — OAuth 임베디드 지갑을 wagmi에 통합",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -17,7 +17,7 @@
17
17
  "dist"
18
18
  ],
19
19
  "dependencies": {
20
- "@nexus-cross/crossx-sdk-core": "^2.2.0-beta.2"
20
+ "@nexus-cross/crossx-sdk-core": "^2.2.0-beta.3"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "@nexus-cross/crossx-sdk-core": "^2.0.0",