@binance/w3w-multichain-connector 1.0.18 → 1.0.19

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
@@ -90,7 +90,11 @@ await wallet.switchChain('56')
90
90
  ### Disconnect
91
91
 
92
92
  ```ts
93
+ // Disconnect all wallets
93
94
  await wallet.disconnect()
95
+
96
+ // Disconnect specific accounts
97
+ await wallet.disconnectWallets(['account-id-1', 'account-id-2'])
94
98
  ```
95
99
 
96
100
  ### Sign Order
@@ -227,6 +231,7 @@ wallet.on('connectedChainIdChanged', (binanceChainId) => {
227
231
  | `checkConnectedWallet` | Check connected wallets |
228
232
  | `getWalletInfo` | Get wallet info by address and chain |
229
233
  | `disconnect` | Disconnect all wallets |
234
+ | `disconnectWallets` | Disconnect specific wallets |
230
235
  | `switchChain` | Switch chain |
231
236
  | **SAS** | |
232
237
  | `requestEnableSAS` | Request enable SAS (single wallet) |
package/dist/index.d.ts CHANGED
@@ -28,6 +28,8 @@ declare enum Features {
28
28
  getWalletInfo = "getWalletInfo",
29
29
  /** 断开所有已连接的钱包 */
30
30
  disconnect = "disconnect",
31
+ /** 断开指定账户的连接 */
32
+ disconnectWallets = "disconnectWallets",
31
33
  /** 切换网络 */
32
34
  switchChain = "switchChain",
33
35
  /** 弹出开启SAS的请求弹窗(单钱包) */
@@ -261,6 +263,11 @@ interface IWallet extends EventEmitter<WalletEvents> {
261
263
  * 断开所有连接的钱包
262
264
  */
263
265
  disconnect(): Promise<void>;
266
+ /**
267
+ * 断开指定账户的连接
268
+ * @param walletIds 要断开的账户ID列表
269
+ */
270
+ disconnectWallets(walletIds: string[]): Promise<void>;
264
271
  /**
265
272
  * 切换网络,若当前活跃钱包不支持该网络,会报4001用户拒绝
266
273
  * @param binanceChainId 请求网络的binanceChainId
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var r=(t=>(t.EVM="EVM",t.SOL="SOL",t))(r||{}),c=(t=>(t.privateKey="privateKey",t.seedPhrase="hd",t))(c||{}),a=(e=>(e.requestConnect="requestConnect",e.requestConnectWithSAS="requestConnectWithSAS",e.requestConnectWithMultiWalletSAS="requestConnectWithMultiWalletSAS",e.checkConnectedWallet="checkConnectedWallet",e.getWalletInfo="getWalletInfo",e.disconnect="disconnect",e.switchChain="switchChain",e.requestEnableSAS="requestEnableSAS",e.requestEnableMultiWalletSAS="requestEnableMultiWalletSAS",e.getSASKeyshare="getSASKeyshare",e.syncSASStatus="syncSASStatus",e.getConnectedWalletAndProofKey="getConnectedWalletAndProofKey",e.getSASProofKeySignature="getSASProofKeySignature",e.requestAutoSign="requestAutoSign",e.signOrder="signOrder",e.eventWalletLockedChanged="eventWalletLockedChanged",e.eventAutoSignEnabledChanged="eventAutoSignEnabledChanged",e.eventConnectedWalletsChanged="eventConnectedWalletsChanged",e.eventConnectedChainIdChanged="eventConnectedChainIdChanged",e))(a||{});var i=()=>{try{return!!window?.binancew3w?.isExtension}catch{return!1}},d=n=>{let o=l();return o?o.checkSupportFeature(n):!1},l=()=>i()?window.binancew3w?.wallet:null,s=()=>l();export{r as ChainType,a as Features,c as WalletType,i as checkExtensionInstalled,d as checkExtensionSupported,s as getMultichainWallet};
1
+ var c=(n=>(n.EVM="EVM",n.SOL="SOL",n))(c||{}),r=(n=>(n.privateKey="privateKey",n.seedPhrase="hd",n))(r||{}),i=(e=>(e.requestConnect="requestConnect",e.requestConnectWithSAS="requestConnectWithSAS",e.requestConnectWithMultiWalletSAS="requestConnectWithMultiWalletSAS",e.checkConnectedWallet="checkConnectedWallet",e.getWalletInfo="getWalletInfo",e.disconnect="disconnect",e.disconnectWallets="disconnectWallets",e.switchChain="switchChain",e.requestEnableSAS="requestEnableSAS",e.requestEnableMultiWalletSAS="requestEnableMultiWalletSAS",e.getSASKeyshare="getSASKeyshare",e.syncSASStatus="syncSASStatus",e.getConnectedWalletAndProofKey="getConnectedWalletAndProofKey",e.getSASProofKeySignature="getSASProofKeySignature",e.requestAutoSign="requestAutoSign",e.signOrder="signOrder",e.eventWalletLockedChanged="eventWalletLockedChanged",e.eventAutoSignEnabledChanged="eventAutoSignEnabledChanged",e.eventConnectedWalletsChanged="eventConnectedWalletsChanged",e.eventConnectedChainIdChanged="eventConnectedChainIdChanged",e))(i||{});var a=()=>{try{return!!window?.binancew3w?.isExtension}catch{return!1}},d=t=>{let o=l();return o?o.checkSupportFeature(t):!1},l=()=>a()?window.binancew3w?.wallet:null,s=()=>l();export{c as ChainType,i as Features,r as WalletType,a as checkExtensionInstalled,d as checkExtensionSupported,s as getMultichainWallet};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/enum.ts","../src/getMultichainWallet.ts"],"sourcesContent":["export enum ChainType {\n EVM = 'EVM',\n SOL = 'SOL',\n}\n\n/**\n * privateKey:私钥钱包\n * hd: 助记词钱包\n */\nexport enum WalletType {\n privateKey = 'privateKey',\n seedPhrase = 'hd',\n}\n\n/**\n * 插件支持的功能特性枚举,用于 checkExtensionSupported 检测\n */\nexport enum Features {\n // ---- 连接相关 ----\n /** 请求连接钱包 */\n requestConnect = 'requestConnect',\n /** 连接钱包并发起单钱包SAS请求 */\n requestConnectWithSAS = 'requestConnectWithSAS',\n /** 连接钱包并发起多钱包SAS请求 */\n requestConnectWithMultiWalletSAS = 'requestConnectWithMultiWalletSAS',\n /** 检查当前已连接的钱包 */\n checkConnectedWallet = 'checkConnectedWallet',\n /** 根据地址和链ID获取钱包信息 */\n getWalletInfo = 'getWalletInfo',\n /** 断开所有已连接的钱包 */\n disconnect = 'disconnect',\n /** 切换网络 */\n switchChain = 'switchChain',\n\n // ---- SAS 相关 ----\n /** 弹出开启SAS的请求弹窗(单钱包) */\n requestEnableSAS = 'requestEnableSAS',\n /** 弹出开启SAS的请求弹窗(多钱包) */\n requestEnableMultiWalletSAS = 'requestEnableMultiWalletSAS',\n /** 获取SAS Keyshare */\n getSASKeyshare = 'getSASKeyshare',\n /** 同步已连接钱包的SAS状态 */\n syncSASStatus = 'syncSASStatus',\n /** 获取已连接钱包及其ProofKey */\n getConnectedWalletAndProofKey = 'getConnectedWalletAndProofKey',\n /** 下单前获取ProofKey签名 */\n getSASProofKeySignature = 'getSASProofKeySignature',\n\n // ---- 签名相关 ----\n /** 请求开启自动签名 */\n requestAutoSign = 'requestAutoSign',\n /** 签署交易订单 */\n signOrder = 'signOrder',\n\n // ---- 事件相关 ----\n /** 钱包锁定状态变更事件 */\n eventWalletLockedChanged = 'eventWalletLockedChanged',\n /** 自动签名开关状态变更事件 */\n eventAutoSignEnabledChanged = 'eventAutoSignEnabledChanged',\n /** 已连接钱包列表变更事件 */\n eventConnectedWalletsChanged = 'eventConnectedWalletsChanged',\n /** 当前连接的链ID变更事件 */\n eventConnectedChainIdChanged = 'eventConnectedChainIdChanged',\n}\n","import { Features } from './enum'\nimport type { IWallet } from './type'\n\nexport const checkExtensionInstalled = () => {\n try {\n return !!(window as any)?.binancew3w?.isExtension\n } catch (error) {\n return false\n }\n}\n\n/**\n * 检查当前用户安装的插件是否支持\n */\nexport const checkExtensionSupported = (feature: Features) => {\n const wallet = getInjectedWallet()\n if (!wallet) {\n return false\n }\n return wallet.checkSupportFeature(feature)\n}\n\nconst getInjectedWallet = () => {\n const isInstalled = checkExtensionInstalled()\n if (!isInstalled) {\n return null\n }\n return (window as any).binancew3w?.wallet\n}\n\nexport const getMultichainWallet = (): IWallet | null => {\n return getInjectedWallet()\n}\n"],"mappings":"AAAO,IAAKA,OACVA,EAAA,IAAM,MACNA,EAAA,IAAM,MAFIA,OAAA,IASAC,OACVA,EAAA,WAAa,aACbA,EAAA,WAAa,KAFHA,OAAA,IAQAC,OAGVA,EAAA,eAAiB,iBAEjBA,EAAA,sBAAwB,wBAExBA,EAAA,iCAAmC,mCAEnCA,EAAA,qBAAuB,uBAEvBA,EAAA,cAAgB,gBAEhBA,EAAA,WAAa,aAEbA,EAAA,YAAc,cAIdA,EAAA,iBAAmB,mBAEnBA,EAAA,4BAA8B,8BAE9BA,EAAA,eAAiB,iBAEjBA,EAAA,cAAgB,gBAEhBA,EAAA,8BAAgC,gCAEhCA,EAAA,wBAA0B,0BAI1BA,EAAA,gBAAkB,kBAElBA,EAAA,UAAY,YAIZA,EAAA,yBAA2B,2BAE3BA,EAAA,4BAA8B,8BAE9BA,EAAA,6BAA+B,+BAE/BA,EAAA,6BAA+B,+BA7CrBA,OAAA,ICdL,IAAMC,EAA0B,IAAM,CAC3C,GAAI,CACF,MAAO,CAAC,CAAE,QAAgB,YAAY,WACxC,MAAE,CACA,MAAO,EACT,CACF,EAKaC,EAA2BC,GAAsB,CAC5D,IAAMC,EAASC,EAAkB,EACjC,OAAKD,EAGEA,EAAO,oBAAoBD,CAAO,EAFhC,EAGX,EAEME,EAAoB,IACJJ,EAAwB,EAIpC,OAAe,YAAY,OAF1B,KAKEK,EAAsB,IAC1BD,EAAkB","names":["ChainType","WalletType","Features","checkExtensionInstalled","checkExtensionSupported","feature","wallet","getInjectedWallet","getMultichainWallet"]}
1
+ {"version":3,"sources":["../src/enum.ts","../src/getMultichainWallet.ts"],"sourcesContent":["export enum ChainType {\n EVM = 'EVM',\n SOL = 'SOL',\n}\n\n/**\n * privateKey:私钥钱包\n * hd: 助记词钱包\n */\nexport enum WalletType {\n privateKey = 'privateKey',\n seedPhrase = 'hd',\n}\n\n/**\n * 插件支持的功能特性枚举,用于 checkExtensionSupported 检测\n */\nexport enum Features {\n // ---- 连接相关 ----\n /** 请求连接钱包 */\n requestConnect = 'requestConnect',\n /** 连接钱包并发起单钱包SAS请求 */\n requestConnectWithSAS = 'requestConnectWithSAS',\n /** 连接钱包并发起多钱包SAS请求 */\n requestConnectWithMultiWalletSAS = 'requestConnectWithMultiWalletSAS',\n /** 检查当前已连接的钱包 */\n checkConnectedWallet = 'checkConnectedWallet',\n /** 根据地址和链ID获取钱包信息 */\n getWalletInfo = 'getWalletInfo',\n /** 断开所有已连接的钱包 */\n disconnect = 'disconnect',\n /** 断开指定账户的连接 */\n disconnectWallets = 'disconnectWallets',\n /** 切换网络 */\n switchChain = 'switchChain',\n\n // ---- SAS 相关 ----\n /** 弹出开启SAS的请求弹窗(单钱包) */\n requestEnableSAS = 'requestEnableSAS',\n /** 弹出开启SAS的请求弹窗(多钱包) */\n requestEnableMultiWalletSAS = 'requestEnableMultiWalletSAS',\n /** 获取SAS Keyshare */\n getSASKeyshare = 'getSASKeyshare',\n /** 同步已连接钱包的SAS状态 */\n syncSASStatus = 'syncSASStatus',\n /** 获取已连接钱包及其ProofKey */\n getConnectedWalletAndProofKey = 'getConnectedWalletAndProofKey',\n /** 下单前获取ProofKey签名 */\n getSASProofKeySignature = 'getSASProofKeySignature',\n\n // ---- 签名相关 ----\n /** 请求开启自动签名 */\n requestAutoSign = 'requestAutoSign',\n /** 签署交易订单 */\n signOrder = 'signOrder',\n\n // ---- 事件相关 ----\n /** 钱包锁定状态变更事件 */\n eventWalletLockedChanged = 'eventWalletLockedChanged',\n /** 自动签名开关状态变更事件 */\n eventAutoSignEnabledChanged = 'eventAutoSignEnabledChanged',\n /** 已连接钱包列表变更事件 */\n eventConnectedWalletsChanged = 'eventConnectedWalletsChanged',\n /** 当前连接的链ID变更事件 */\n eventConnectedChainIdChanged = 'eventConnectedChainIdChanged',\n}\n","import { Features } from './enum'\nimport type { IWallet } from './type'\n\nexport const checkExtensionInstalled = () => {\n try {\n return !!(window as any)?.binancew3w?.isExtension\n } catch (error) {\n return false\n }\n}\n\n/**\n * 检查当前用户安装的插件是否支持\n */\nexport const checkExtensionSupported = (feature: Features) => {\n const wallet = getInjectedWallet()\n if (!wallet) {\n return false\n }\n return wallet.checkSupportFeature(feature)\n}\n\nconst getInjectedWallet = () => {\n const isInstalled = checkExtensionInstalled()\n if (!isInstalled) {\n return null\n }\n return (window as any).binancew3w?.wallet\n}\n\nexport const getMultichainWallet = (): IWallet | null => {\n return getInjectedWallet()\n}\n"],"mappings":"AAAO,IAAKA,OACVA,EAAA,IAAM,MACNA,EAAA,IAAM,MAFIA,OAAA,IASAC,OACVA,EAAA,WAAa,aACbA,EAAA,WAAa,KAFHA,OAAA,IAQAC,OAGVA,EAAA,eAAiB,iBAEjBA,EAAA,sBAAwB,wBAExBA,EAAA,iCAAmC,mCAEnCA,EAAA,qBAAuB,uBAEvBA,EAAA,cAAgB,gBAEhBA,EAAA,WAAa,aAEbA,EAAA,kBAAoB,oBAEpBA,EAAA,YAAc,cAIdA,EAAA,iBAAmB,mBAEnBA,EAAA,4BAA8B,8BAE9BA,EAAA,eAAiB,iBAEjBA,EAAA,cAAgB,gBAEhBA,EAAA,8BAAgC,gCAEhCA,EAAA,wBAA0B,0BAI1BA,EAAA,gBAAkB,kBAElBA,EAAA,UAAY,YAIZA,EAAA,yBAA2B,2BAE3BA,EAAA,4BAA8B,8BAE9BA,EAAA,6BAA+B,+BAE/BA,EAAA,6BAA+B,+BA/CrBA,OAAA,ICdL,IAAMC,EAA0B,IAAM,CAC3C,GAAI,CACF,MAAO,CAAC,CAAE,QAAgB,YAAY,WACxC,MAAE,CACA,MAAO,EACT,CACF,EAKaC,EAA2BC,GAAsB,CAC5D,IAAMC,EAASC,EAAkB,EACjC,OAAKD,EAGEA,EAAO,oBAAoBD,CAAO,EAFhC,EAGX,EAEME,EAAoB,IACJJ,EAAwB,EAIpC,OAAe,YAAY,OAF1B,KAKEK,EAAsB,IAC1BD,EAAkB","names":["ChainType","WalletType","Features","checkExtensionInstalled","checkExtensionSupported","feature","wallet","getInjectedWallet","getMultichainWallet"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@binance/w3w-multichain-connector",
3
- "version": "1.0.18",
3
+ "version": "1.0.19",
4
4
  "description": "A multichain connector for Binance Wallet",
5
5
  "main": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",
package/src/enum.ts CHANGED
@@ -29,6 +29,8 @@ export enum Features {
29
29
  getWalletInfo = 'getWalletInfo',
30
30
  /** 断开所有已连接的钱包 */
31
31
  disconnect = 'disconnect',
32
+ /** 断开指定账户的连接 */
33
+ disconnectWallets = 'disconnectWallets',
32
34
  /** 切换网络 */
33
35
  switchChain = 'switchChain',
34
36
 
package/src/type.ts CHANGED
@@ -228,6 +228,12 @@ export interface IWallet extends EventEmitter<WalletEvents> {
228
228
  */
229
229
  disconnect(): Promise<void>
230
230
 
231
+ /**
232
+ * 断开指定账户的连接
233
+ * @param walletIds 要断开的账户ID列表
234
+ */
235
+ disconnectWallets(walletIds: string[]): Promise<void>
236
+
231
237
  /**
232
238
  * 切换网络,若当前活跃钱包不支持该网络,会报4001用户拒绝
233
239
  * @param binanceChainId 请求网络的binanceChainId