@nexus-cross/crossx-sdk-wagmi 1.2.4 → 1.2.5

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.
@@ -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;CAChD;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;CAChD,CAAC;AAgCF,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,8GAI9D;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,8GA8MpE"}
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;CAChD;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;CAChD,CAAC;AAgCF,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,8GAI9D;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,8GA+MpE"}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("wagmi"),_=require("@nexus-cross/crossx-sdk-core");function T(s){return parseInt(s.split(":")[1]??"1",10)}function w(s){return`eip155:${s}`}function A(s){return"0x"+s.toString(16)}class b{constructor(t,a=_.ChainId.CROSS_MAINNET){this.sdk=t,this.listeners=new Map,this.walletIndex=0,this.currentAccounts=[],this.off=this.removeListener.bind(this),this.chainId=typeof a=="number"?a:T(a),this.sdk.on("addressChanged",({address:i,index:o})=>{this.setWalletIndex(o),this.notifyAccountsChanged([i])})}_setWalletIndexChangeCallback(t){this.walletIndexChangeCallback=t}async request({method:t,params:a}){var o;const i=a??[];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 A(this.chainId);case"net_version":return String(this.chainId);case"personal_sign":{const[e]=i;return(await this.sdk.signMessage(w(this.chainId),e,{index:this.walletIndex})).signature}case"eth_sign":{const[,e]=i;return(await this.sdk.signMessage(w(this.chainId),e,{index:this.walletIndex})).signature}case"eth_signTypedData":case"eth_signTypedData_v3":case"eth_signTypedData_v4":{const[,e]=i,r=typeof e=="string"?JSON.parse(e):e,u=(o=r==null?void 0:r.domain)==null?void 0:o.chainId,I=u==null||u===0,h=I?0:Number(u),d={index:this.walletIndex};return(I?await this.sdk.signTypedDataOffchain(r,d):await this.sdk.signTypedData(w(h),r,d)).signature}case"eth_sendTransaction":{const[e]=i,r=w(this.chainId);return(await this.sdk.sendTransaction(r,{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}]=i,r=parseInt(e,16);return r!==this.chainId&&(this.chainId=r,this.emit("chainChanged",A(r))),null}case"wallet_addEthereumChain":return null;default:return this.sdk.walletRpc(t,i,w(this.chainId))}}on(t,a){return this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(a),this}removeListener(t,a){var i;return(i=this.listeners.get(t))==null||i.delete(a),this}emit(t,...a){var i;(i=this.listeners.get(t))==null||i.forEach(o=>o(...a))}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",A(t)))}setWalletIndex(t){var a;this.walletIndex=t,(a=this.walletIndexChangeCallback)==null||a.call(this,t)}getWalletIndex(){return this.walletIndex}getCurrentAccounts(){return[...this.currentAccounts]}}function E(s){return typeof s=="number"?s:parseInt(s.split(":")[1]??"1",10)}const k="crossx-wallet-index";function N(){try{const s=typeof window<"u"?localStorage.getItem(k):null;return s&&Number(s)||0}catch{return 0}}function R(s){try{typeof window<"u"&&localStorage.setItem(k,String(s))}catch{}}function L(){try{typeof window<"u"&&localStorage.removeItem(k)}catch{}}function G(s){const{defaultChainId:t,getStoredWalletIndex:a,onWalletIndexChanged:i,...o}=s,e=_.createCROSSxSDK(o);return W({sdk:e,defaultChainId:t,getStoredWalletIndex:a,onWalletIndexChanged:i})}function W(s){const{sdk:t,defaultChainId:a=_.ChainId.CROSS_MAINNET,getStoredWalletIndex:i=N,onWalletIndexChanged:o=R}=s,e=E(a);let r=null,u=!1,I=!1;function h(){return r||(r=new b(t,e),r._setWalletIndexChangeCallback(o)),r}return D.createConnector(d=>({id:"crossx",name:"CROSSx Wallet",type:"crossx",async setup(){if(!u){const g=i();await t.initialize({preferredWalletIndex:g}),u=!0,t.on("addressChanged",({address:c,index:f})=>{if(I)return;const m=h();m.setWalletIndex(f),c&&m.notifyAccountsChanged([c])})}const n=h();n.on("accountsChanged",this.onAccountsChanged.bind(this)),n.on("chainChanged",this.onChainChanged.bind(this)),n.on("disconnect",this.onDisconnect.bind(this))},async connect({chainId:n,isReconnecting:g}={}){var m;const c=h(),f=n??e;I=!0;try{if(g||t.isAuthenticated()){const l=i();if(t.isAuthenticated()){try{const p=await t.getAddresses();if(p.length>0){const S=p.find(P=>P.index===l)??p[0];return c.setWalletIndex(S.index),c.notifyAccountsChanged([S.address]),{accounts:[S.address],chainId:f}}}catch{}await t.signOut().catch(()=>{}),c.notifyDisconnect()}}let C;try{C=await t.signInWithCreate()}catch(l){throw t.isAuthenticated()||(c.notifyDisconnect(),d.emitter.emit("disconnect")),l}if(!C.success)throw new Error(C.error??"CROSSx sign-in failed");const x=C.address,O=C.addresses.map(l=>l.address).filter(l=>!x||l.toLowerCase()!==x.toLowerCase()),y=x?[x,...O]:O;if(y.length===0)throw new Error("No address found after sign-in");const v=((m=C.addresses.find(l=>x&&l.address.toLowerCase()===x.toLowerCase()))==null?void 0:m.index)??0;return c.setWalletIndex(v),c.notifyAccountsChanged(y),{accounts:y,chainId:f}}finally{I=!1}},async disconnect(){const n=h();await t.signOut(),n.notifyDisconnect(),L(),o(0),d.emitter.emit("disconnect")},async getAccounts(){const g=h().getCurrentAccounts();if(g.length>0)return g;const c=await t.getAddress();return c?[c.address]:[]},async getChainId(){return h().getCurrentChainId()},async getProvider({chainId:n}={}){return h()},async isAuthorized(){return t.isAuthenticated()},async switchChain({chainId:n}){h().setChainId(n),d.emitter.emit("change",{chainId:n});const c=d.chains.find(f=>f.id===n);if(!c)throw new Error(`Chain ${n} is not configured`);return c},onAccountsChanged(n){n.length===0?d.emitter.emit("disconnect"):d.emitter.emit("change",{accounts:n})},onChainChanged(n){d.emitter.emit("change",{chainId:Number(n)})},onDisconnect(){d.emitter.emit("disconnect")}}))}exports.CROSSxEIP1193Provider=b;exports.createCROSSxConnector=W;exports.crossxConnector=G;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("wagmi"),_=require("@nexus-cross/crossx-sdk-core");function T(s){return parseInt(s.split(":")[1]??"1",10)}function w(s){return`eip155:${s}`}function A(s){return"0x"+s.toString(16)}class b{constructor(t,a=_.ChainId.CROSS_MAINNET){this.sdk=t,this.listeners=new Map,this.walletIndex=0,this.currentAccounts=[],this.off=this.removeListener.bind(this),this.chainId=typeof a=="number"?a:T(a),this.sdk.on("addressChanged",({address:i,index:o})=>{this.setWalletIndex(o),this.notifyAccountsChanged([i])})}_setWalletIndexChangeCallback(t){this.walletIndexChangeCallback=t}async request({method:t,params:a}){var o;const i=a??[];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 A(this.chainId);case"net_version":return String(this.chainId);case"personal_sign":{const[e]=i;return(await this.sdk.signMessage(w(this.chainId),e,{index:this.walletIndex})).signature}case"eth_sign":{const[,e]=i;return(await this.sdk.signMessage(w(this.chainId),e,{index:this.walletIndex})).signature}case"eth_signTypedData":case"eth_signTypedData_v3":case"eth_signTypedData_v4":{const[,e]=i,r=typeof e=="string"?JSON.parse(e):e,u=(o=r==null?void 0:r.domain)==null?void 0:o.chainId,I=u==null||u===0,h=I?0:Number(u),d={index:this.walletIndex};return(I?await this.sdk.signTypedDataOffchain(r,d):await this.sdk.signTypedData(w(h),r,d)).signature}case"eth_sendTransaction":{const[e]=i,r=w(this.chainId);return(await this.sdk.sendTransaction(r,{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}]=i,r=parseInt(e,16);return r!==this.chainId&&(this.chainId=r,this.emit("chainChanged",A(r))),null}case"wallet_addEthereumChain":return null;default:return this.sdk.walletRpc(t,i,w(this.chainId))}}on(t,a){return this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(a),this}removeListener(t,a){var i;return(i=this.listeners.get(t))==null||i.delete(a),this}emit(t,...a){var i;(i=this.listeners.get(t))==null||i.forEach(o=>o(...a))}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",A(t)))}setWalletIndex(t){var a;this.walletIndex=t,(a=this.walletIndexChangeCallback)==null||a.call(this,t)}getWalletIndex(){return this.walletIndex}getCurrentAccounts(){return[...this.currentAccounts]}}function E(s){return typeof s=="number"?s:parseInt(s.split(":")[1]??"1",10)}const k="crossx-wallet-index";function R(){try{const s=typeof window<"u"?localStorage.getItem(k):null;return s&&Number(s)||0}catch{return 0}}function N(s){try{typeof window<"u"&&localStorage.setItem(k,String(s))}catch{}}function L(){try{typeof window<"u"&&localStorage.removeItem(k)}catch{}}function G(s){const{defaultChainId:t,getStoredWalletIndex:a,onWalletIndexChanged:i,...o}=s,e=_.createCROSSxSDK(o);return W({sdk:e,defaultChainId:t,getStoredWalletIndex:a,onWalletIndexChanged:i})}function W(s){const{sdk:t,defaultChainId:a=_.ChainId.CROSS_MAINNET,getStoredWalletIndex:i=R,onWalletIndexChanged:o=N}=s,e=E(a);let r=null,u=!1,I=!1;function h(){return r||(r=new b(t,e),r._setWalletIndexChangeCallback(o)),r}return D.createConnector(d=>({id:"crossx",name:"CROSSx Wallet",type:"crossx",async setup(){if(!u){const g=i();await t.initialize({preferredWalletIndex:g}),u=!0,t.on("addressChanged",({address:c,index:f})=>{if(I)return;const m=h();m.setWalletIndex(f),c&&m.notifyAccountsChanged([c])})}const n=h();n.on("accountsChanged",this.onAccountsChanged.bind(this)),n.on("chainChanged",this.onChainChanged.bind(this)),n.on("disconnect",this.onDisconnect.bind(this))},async connect({chainId:n,isReconnecting:g}={}){var m;const c=h(),f=n??e;I=!0;try{if(g||t.isAuthenticated()){const l=i();if(t.isAuthenticated()){try{const p=await t.getAddresses();if(p.length>0){const S=p.find(P=>P.index===l)??p[0];return c.setWalletIndex(S.index),c.notifyAccountsChanged([S.address]),{accounts:[S.address],chainId:f}}}catch{}await t.signOut().catch(()=>{}),c.notifyDisconnect()}}let C;try{C=await t.signInWithCreate()}catch(l){throw t.isAuthenticated()||(c.notifyDisconnect(),d.emitter.emit("disconnect")),l}if(!C.success)throw new Error(C.error??"CROSSx sign-in failed");const x=C.address,O=C.addresses.map(l=>l.address).filter(l=>!x||l.toLowerCase()!==x.toLowerCase()),y=x?[x,...O]:O;if(y.length===0)throw new Error("No address found after sign-in");const v=((m=C.addresses.find(l=>x&&l.address.toLowerCase()===x.toLowerCase()))==null?void 0:m.index)??0;return c.setWalletIndex(v),c.notifyAccountsChanged(y),{accounts:y,chainId:f}}finally{I=!1}},async disconnect(){const n=h();await t.signOut(),n.notifyDisconnect(),L(),o(0),d.emitter.emit("disconnect")},async getAccounts(){const g=h().getCurrentAccounts();if(g.length>0)return g;const c=await t.getAddress();return c?[c.address]:[]},async getChainId(){return h().getCurrentChainId()},async getProvider({chainId:n}={}){return h()},async isAuthorized(){return await t.whenReady(),t.isAuthenticated()},async switchChain({chainId:n}){h().setChainId(n),d.emitter.emit("change",{chainId:n});const c=d.chains.find(f=>f.id===n);if(!c)throw new Error(`Chain ${n} is not configured`);return c},onAccountsChanged(n){n.length===0?d.emitter.emit("disconnect"):d.emitter.emit("change",{accounts:n})},onChainChanged(n){d.emitter.emit("change",{chainId:Number(n)})},onDisconnect(){d.emitter.emit("disconnect")}}))}exports.CROSSxEIP1193Provider=b;exports.createCROSSxConnector=W;exports.crossxConnector=G;
package/dist/index.js CHANGED
@@ -247,7 +247,7 @@ function G(s) {
247
247
  },
248
248
  // ── isAuthorized ────────────────────────────────────────────────────────
249
249
  async isAuthorized() {
250
- return t.isAuthenticated();
250
+ return await t.whenReady(), t.isAuthenticated();
251
251
  },
252
252
  // ── switchChain ─────────────────────────────────────────────────────────
253
253
  async switchChain({ chainId: n }) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cross/crossx-sdk-wagmi",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
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": "1.2.4"
20
+ "@nexus-cross/crossx-sdk-core": "1.2.5"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "viem": ">=2.0.0",