@xyo-network/metamask-connector 5.3.22 → 5.3.24

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/metamask-connector",
3
- "version": "5.3.22",
3
+ "version": "5.3.24",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -30,7 +30,6 @@
30
30
  "types": "dist/browser/index.d.ts",
31
31
  "files": [
32
32
  "dist",
33
- "src",
34
33
  "!**/*.bench.*",
35
34
  "!**/*.spec.*",
36
35
  "!**/*.test.*",
@@ -40,18 +39,15 @@
40
39
  "@metamask/providers": "^22.1.1",
41
40
  "@opentelemetry/api": "^1.9.1",
42
41
  "@types/node": "^25.5.0",
43
- "@xylabs/sdk-js": "~5.0.91",
44
- "@xylabs/ts-scripts-common": "~7.6.8",
45
- "@xylabs/ts-scripts-yarn3": "~7.6.8",
46
- "@xylabs/tsconfig": "^7.6.8",
47
- "@xylabs/tsconfig-dom": "~7.6.8",
42
+ "@xylabs/sdk-js": "~5.0.93",
43
+ "@xylabs/ts-scripts-common": "~7.6.16",
44
+ "@xylabs/ts-scripts-pnpm": "~7.6.16",
45
+ "@xylabs/tsconfig": "^7.6.16",
46
+ "@xylabs/tsconfig-dom": "~7.6.16",
48
47
  "acorn": "^8.16.0",
49
48
  "axios": "^1.14.0",
50
- "cosmiconfig": "^9.0.1",
51
- "esbuild": "^0.27.4",
52
- "eslint": "^10.1.0",
49
+ "esbuild": "^0.28.0",
53
50
  "ethers": "^6.16.0",
54
- "rollup": "^4.60.1",
55
51
  "typescript": "~5.9.3",
56
52
  "webextension-polyfill": "^0.12.0",
57
53
  "zod": "^4.3.6"
@@ -66,4 +62,4 @@
66
62
  "publishConfig": {
67
63
  "access": "public"
68
64
  }
69
- }
65
+ }
@@ -1,141 +0,0 @@
1
- import type { MetaMaskInpageProvider } from '@metamask/providers'
2
- import { forget, isString } from '@xylabs/sdk-js'
3
- import type { Listener } from 'ethers'
4
- import { BrowserProvider } from 'ethers'
5
-
6
- declare global {
7
- var ethereum: MetaMaskInpageProvider | undefined
8
- }
9
-
10
- export class MetaMaskConnector {
11
- private account = ''
12
- private ethereum = globalThis.ethereum
13
-
14
- private listeners: Listener[] = []
15
- private provider: BrowserProvider | undefined
16
- private providerListeners: [event: string, listener: Listener][] = []
17
-
18
- constructor(provider?: BrowserProvider) {
19
- if (provider) {
20
- this.provider = provider
21
- } else if (this.ethereum) {
22
- this.provider = new BrowserProvider(this.ethereum)
23
- }
24
- }
25
-
26
- get chainId() {
27
- return this.ethereum?.networkVersion
28
- }
29
-
30
- get currentAccount() {
31
- return this.ethereum?.selectedAddress
32
- }
33
-
34
- async connectWallet() {
35
- if (!this.provider) {
36
- this.logProviderMissing()
37
- return
38
- }
39
-
40
- const accounts = await this.provider.send('eth_requestAccounts', [])
41
- // We could have multiple accounts. Check for one.
42
- if (accounts.length > 0) {
43
- this.account = accounts[0]
44
- console.log('Connected:', this.account)
45
- } else {
46
- console.log('No authorized account found.')
47
- }
48
- }
49
-
50
- isMetaMaskInstalled() {
51
- return this.ethereum && this.ethereum.isMetaMask
52
- }
53
-
54
- isWalletIsConnected = () => {
55
- if (isString(this.currentAccount)) {
56
- console.log('Found an authorized account:', this.ethereum?.selectedAddress)
57
- return true
58
- }
59
- return false
60
- }
61
-
62
- /**
63
- * EIP-1193 Event Listeners
64
- *
65
- * .on in Web3Provider does not understand EIP-1193 events
66
- * see - https://github.com/ethers-io/ethers.js/discussions/1560#discussioncomment-730893
67
- */
68
- providerOnAccountsChanged(listener: Listener) {
69
- this.ethereum?.on('accountsChanged', listener)
70
- this.providerListeners.push(['accountsChanged', listener])
71
- }
72
-
73
- providerOnChainChanged(listener: Listener) {
74
- this.ethereum?.on('chainChanged', listener)
75
- this.providerListeners.push(['chainChanged', listener])
76
- }
77
-
78
- providerOnConnect(listener: Listener) {
79
- this.ethereum?.on('connect', listener)
80
- this.providerListeners.push(['connect', listener])
81
- }
82
-
83
- providerOnDisconnect(listener: Listener) {
84
- this.ethereum?.on('disconnect', listener)
85
- this.providerListeners.push(['disconnect', listener])
86
- }
87
-
88
- providerRemoveListener(event: string, listener: Listener) {
89
- // this.ethereum?.removeListener(event, listener)
90
- this.providerListeners = this.providerListeners.filter(([, savedListener]) => listener !== savedListener)
91
- }
92
-
93
- providerRemoveListeners() {
94
- // for (const [event, listener] of this.providerListeners) this.ethereum?.removeListener(event, listener)
95
- }
96
-
97
- async requestAccounts(): Promise<string[] | null> {
98
- if (!this.provider) {
99
- this.logProviderMissing()
100
- return null
101
- }
102
-
103
- return await this.provider.send('eth_requestAccounts', [])
104
- }
105
-
106
- async signMessage(message: string) {
107
- if (!this.provider) {
108
- this.logProviderMissing()
109
- return
110
- }
111
-
112
- const signer = await this.provider.getSigner()
113
- await signer.getAddress()
114
- return await signer.signMessage(message)
115
- }
116
-
117
- /** Web3Provider Listeners - https://docs.ethers.org/v5/api/providers/provider/#Provider--events */
118
- web3ProviderOn(event: string, listener: Listener): void {
119
- if (this.provider) {
120
- forget(this.provider.on(event, listener))
121
- }
122
- this.listeners.push(listener)
123
- }
124
-
125
- web3ProviderRemoveListener(event: string, listener: Listener): void {
126
- if (this.provider) {
127
- forget(this.provider.removeListener(event, listener))
128
- }
129
- this.listeners = this.listeners.filter(savedListener => listener !== savedListener)
130
- }
131
-
132
- web3ProviderRemoveListeners(): void {
133
- if (this.provider) {
134
- forget(this.provider.removeAllListeners())
135
- }
136
- }
137
-
138
- private logProviderMissing(): void {
139
- console.warn('Cannot call this method because there is no web3 provider connected. Please confirm that metamask is installed')
140
- }
141
- }
package/src/index.ts DELETED
@@ -1 +0,0 @@
1
- export * from './MetaMaskConnector.ts'
package/src/types.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import type { BaseProvider } from '@metamask/providers'
2
-
3
- declare global {
4
- var ethereum: BaseProvider
5
- }