@xyo-network/metamask-connector 2.79.8 → 2.81.0-rc.1
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/dist/browser/MetaMaskConnector.d.cts +2 -2
- package/dist/browser/MetaMaskConnector.d.cts.map +1 -1
- package/dist/browser/MetaMaskConnector.d.mts +2 -2
- package/dist/browser/MetaMaskConnector.d.mts.map +1 -1
- package/dist/browser/MetaMaskConnector.d.ts +2 -2
- package/dist/browser/MetaMaskConnector.d.ts.map +1 -1
- package/dist/browser/index.cjs +3 -3
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +3 -3
- package/dist/browser/index.js.map +1 -1
- package/dist/node/MetaMaskConnector.d.cts +2 -2
- package/dist/node/MetaMaskConnector.d.cts.map +1 -1
- package/dist/node/MetaMaskConnector.d.mts +2 -2
- package/dist/node/MetaMaskConnector.d.mts.map +1 -1
- package/dist/node/MetaMaskConnector.d.ts +2 -2
- package/dist/node/MetaMaskConnector.d.ts.map +1 -1
- package/dist/node/index.cjs +3 -3
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +3 -3
- package/dist/node/index.js.map +1 -1
- package/package.json +6 -5
- package/src/MetaMaskConnector.ts +5 -5
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BrowserProvider, Listener } from 'ethers';
|
|
2
2
|
export declare class MetaMaskConnector {
|
|
3
3
|
private account;
|
|
4
4
|
private ethereum;
|
|
5
5
|
private listeners;
|
|
6
6
|
private provider;
|
|
7
7
|
private providerListeners;
|
|
8
|
-
constructor(provider?:
|
|
8
|
+
constructor(provider?: BrowserProvider);
|
|
9
9
|
get chainId(): string | null;
|
|
10
10
|
get currentAccount(): string | null;
|
|
11
11
|
connectWallet(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAElD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAA4C;IAE5D,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,iBAAiB,CAA4C;gBAEzD,QAAQ,CAAC,EAAE,eAAe;IAQtC,IAAI,OAAO,kBAEV;IAED,IAAI,cAAc,kBAEjB;IAEK,aAAa;IAgBnB,mBAAmB;IAInB,mBAAmB,gBAMlB;IAED;;;;;OAKG;IACH,yBAAyB,CAAC,QAAQ,EAAE,QAAQ;IAK5C,sBAAsB,CAAC,QAAQ,EAAE,QAAQ;IAKzC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ;IAKpC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ;IAKvC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKxD,uBAAuB;IAIjB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAS3C,WAAW,CAAC,OAAO,EAAE,MAAM;IAYjC,mGAAmG;IACnG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKhD,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAK5D,2BAA2B;IAI3B,OAAO,CAAC,kBAAkB;CAG3B"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BrowserProvider, Listener } from 'ethers';
|
|
2
2
|
export declare class MetaMaskConnector {
|
|
3
3
|
private account;
|
|
4
4
|
private ethereum;
|
|
5
5
|
private listeners;
|
|
6
6
|
private provider;
|
|
7
7
|
private providerListeners;
|
|
8
|
-
constructor(provider?:
|
|
8
|
+
constructor(provider?: BrowserProvider);
|
|
9
9
|
get chainId(): string | null;
|
|
10
10
|
get currentAccount(): string | null;
|
|
11
11
|
connectWallet(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAElD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAA4C;IAE5D,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,iBAAiB,CAA4C;gBAEzD,QAAQ,CAAC,EAAE,eAAe;IAQtC,IAAI,OAAO,kBAEV;IAED,IAAI,cAAc,kBAEjB;IAEK,aAAa;IAgBnB,mBAAmB;IAInB,mBAAmB,gBAMlB;IAED;;;;;OAKG;IACH,yBAAyB,CAAC,QAAQ,EAAE,QAAQ;IAK5C,sBAAsB,CAAC,QAAQ,EAAE,QAAQ;IAKzC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ;IAKpC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ;IAKvC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKxD,uBAAuB;IAIjB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAS3C,WAAW,CAAC,OAAO,EAAE,MAAM;IAYjC,mGAAmG;IACnG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKhD,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAK5D,2BAA2B;IAI3B,OAAO,CAAC,kBAAkB;CAG3B"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BrowserProvider, Listener } from 'ethers';
|
|
2
2
|
export declare class MetaMaskConnector {
|
|
3
3
|
private account;
|
|
4
4
|
private ethereum;
|
|
5
5
|
private listeners;
|
|
6
6
|
private provider;
|
|
7
7
|
private providerListeners;
|
|
8
|
-
constructor(provider?:
|
|
8
|
+
constructor(provider?: BrowserProvider);
|
|
9
9
|
get chainId(): string | null;
|
|
10
10
|
get currentAccount(): string | null;
|
|
11
11
|
connectWallet(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAElD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAA4C;IAE5D,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,iBAAiB,CAA4C;gBAEzD,QAAQ,CAAC,EAAE,eAAe;IAQtC,IAAI,OAAO,kBAEV;IAED,IAAI,cAAc,kBAEjB;IAEK,aAAa;IAgBnB,mBAAmB;IAInB,mBAAmB,gBAMlB;IAED;;;;;OAKG;IACH,yBAAyB,CAAC,QAAQ,EAAE,QAAQ;IAK5C,sBAAsB,CAAC,QAAQ,EAAE,QAAQ;IAKzC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ;IAKpC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ;IAKvC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKxD,uBAAuB;IAIjB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAS3C,WAAW,CAAC,OAAO,EAAE,MAAM;IAYjC,mGAAmG;IACnG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKhD,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAK5D,2BAA2B;IAI3B,OAAO,CAAC,kBAAkB;CAG3B"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -25,7 +25,7 @@ __export(src_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(src_exports);
|
|
26
26
|
|
|
27
27
|
// src/MetaMaskConnector.ts
|
|
28
|
-
var
|
|
28
|
+
var import_ethers = require("ethers");
|
|
29
29
|
var MetaMaskConnector = class {
|
|
30
30
|
account = "";
|
|
31
31
|
ethereum = window.ethereum;
|
|
@@ -36,7 +36,7 @@ var MetaMaskConnector = class {
|
|
|
36
36
|
if (provider) {
|
|
37
37
|
this.provider = provider;
|
|
38
38
|
} else if (this.ethereum) {
|
|
39
|
-
this.provider = new
|
|
39
|
+
this.provider = new import_ethers.BrowserProvider(window.ethereum);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
get chainId() {
|
|
@@ -109,7 +109,7 @@ var MetaMaskConnector = class {
|
|
|
109
109
|
this.logProviderMissing();
|
|
110
110
|
return;
|
|
111
111
|
}
|
|
112
|
-
const signer = this.provider.getSigner();
|
|
112
|
+
const signer = await this.provider.getSigner();
|
|
113
113
|
await signer.getAddress();
|
|
114
114
|
const signature = await signer.signMessage(message);
|
|
115
115
|
return signature;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/MetaMaskConnector.ts"],"sourcesContent":["export * from './MetaMaskConnector'\n","import {
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/MetaMaskConnector.ts"],"sourcesContent":["export * from './MetaMaskConnector'\n","import { MetaMaskInpageProvider } from '@metamask/providers'\nimport { BrowserProvider, Listener } from 'ethers'\n\nexport class MetaMaskConnector {\n private account = ''\n private ethereum = window.ethereum as MetaMaskInpageProvider\n\n private listeners: Listener[] = []\n private provider: BrowserProvider | undefined\n private providerListeners: [event: string, listener: Listener][] = []\n\n constructor(provider?: BrowserProvider) {\n if (provider) {\n this.provider = provider\n } else if (this.ethereum) {\n this.provider = new BrowserProvider(window.ethereum)\n }\n }\n\n get chainId() {\n return this.ethereum?.networkVersion\n }\n\n get currentAccount() {\n return this.ethereum?.selectedAddress\n }\n\n async connectWallet() {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const accounts = await this.provider.send('eth_requestAccounts', [])\n // We could have multiple accounts. Check for one.\n if (accounts.length !== 0) {\n this.account = accounts[0]\n console.log('Connected: ', this.account)\n } else {\n console.log('No authorized account found.')\n }\n }\n\n isMetaMaskInstalled() {\n return this.ethereum && this.ethereum.isMetaMask\n }\n\n isWalletIsConnected = () => {\n if (this.currentAccount) {\n console.log('Found an authorized account: ', this.ethereum?.selectedAddress)\n return true\n }\n return false\n }\n\n /**\n * EIP-1193 Event Listeners\n *\n * .on in Web3Provider does not understand EIP-1193 events\n * see - https://github.com/ethers-io/ethers.js/discussions/1560#discussioncomment-730893\n */\n providerOnAccountsChanged(listener: Listener) {\n this.ethereum?.on('accountsChanged', listener)\n this.providerListeners.push(['accountsChanged', listener])\n }\n\n providerOnChainChanged(listener: Listener) {\n this.ethereum?.on('chainChanged', listener)\n this.providerListeners.push(['chainChanged', listener])\n }\n\n providerOnConnect(listener: Listener) {\n this.ethereum?.on('connect', listener)\n this.providerListeners.push(['connect', listener])\n }\n\n providerOnDisconnect(listener: Listener) {\n this.ethereum?.on('disconnect', listener)\n this.providerListeners.push(['disconnect', listener])\n }\n\n providerRemoveListener(event: string, listener: Listener) {\n this.ethereum?.removeListener(event, listener)\n this.providerListeners = this.providerListeners.filter(([, savedListener]) => listener !== savedListener)\n }\n\n providerRemoveListeners() {\n this.providerListeners.forEach(([event, listener]) => this.ethereum?.removeListener(event, listener))\n }\n\n async requestAccounts(): Promise<string[] | null> {\n if (!this.provider) {\n this.logProviderMissing()\n return null\n }\n\n return await this.provider.send('eth_requestAccounts', [])\n }\n\n async signMessage(message: string) {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const signer = await this.provider.getSigner()\n await signer.getAddress()\n const signature = await signer.signMessage(message)\n return signature\n }\n\n /** Web3Provider Listeners - https://docs.ethers.org/v5/api/providers/provider/#Provider--events */\n web3ProviderOn(event: string, listener: Listener) {\n this.provider?.on(event, listener)\n this.listeners.push(listener)\n }\n\n web3ProviderRemoveListener(event: string, listener: Listener) {\n this.provider?.removeListener(event, listener)\n this.listeners = this.listeners.filter((savedListener) => listener !== savedListener)\n }\n\n web3ProviderRemoveListeners() {\n this.provider?.removeAllListeners()\n }\n\n private logProviderMissing() {\n console.warn('Cannot call this method because there is no web3 provider connected. Please confirm that metamask is installed')\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/browser/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/MetaMaskConnector.ts
|
|
2
|
-
import {
|
|
2
|
+
import { BrowserProvider } from "ethers";
|
|
3
3
|
var MetaMaskConnector = class {
|
|
4
4
|
account = "";
|
|
5
5
|
ethereum = window.ethereum;
|
|
@@ -10,7 +10,7 @@ var MetaMaskConnector = class {
|
|
|
10
10
|
if (provider) {
|
|
11
11
|
this.provider = provider;
|
|
12
12
|
} else if (this.ethereum) {
|
|
13
|
-
this.provider = new
|
|
13
|
+
this.provider = new BrowserProvider(window.ethereum);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
get chainId() {
|
|
@@ -83,7 +83,7 @@ var MetaMaskConnector = class {
|
|
|
83
83
|
this.logProviderMissing();
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
|
-
const signer = this.provider.getSigner();
|
|
86
|
+
const signer = await this.provider.getSigner();
|
|
87
87
|
await signer.getAddress();
|
|
88
88
|
const signature = await signer.signMessage(message);
|
|
89
89
|
return signature;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/MetaMaskConnector.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../src/MetaMaskConnector.ts"],"sourcesContent":["import { MetaMaskInpageProvider } from '@metamask/providers'\nimport { BrowserProvider, Listener } from 'ethers'\n\nexport class MetaMaskConnector {\n private account = ''\n private ethereum = window.ethereum as MetaMaskInpageProvider\n\n private listeners: Listener[] = []\n private provider: BrowserProvider | undefined\n private providerListeners: [event: string, listener: Listener][] = []\n\n constructor(provider?: BrowserProvider) {\n if (provider) {\n this.provider = provider\n } else if (this.ethereum) {\n this.provider = new BrowserProvider(window.ethereum)\n }\n }\n\n get chainId() {\n return this.ethereum?.networkVersion\n }\n\n get currentAccount() {\n return this.ethereum?.selectedAddress\n }\n\n async connectWallet() {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const accounts = await this.provider.send('eth_requestAccounts', [])\n // We could have multiple accounts. Check for one.\n if (accounts.length !== 0) {\n this.account = accounts[0]\n console.log('Connected: ', this.account)\n } else {\n console.log('No authorized account found.')\n }\n }\n\n isMetaMaskInstalled() {\n return this.ethereum && this.ethereum.isMetaMask\n }\n\n isWalletIsConnected = () => {\n if (this.currentAccount) {\n console.log('Found an authorized account: ', this.ethereum?.selectedAddress)\n return true\n }\n return false\n }\n\n /**\n * EIP-1193 Event Listeners\n *\n * .on in Web3Provider does not understand EIP-1193 events\n * see - https://github.com/ethers-io/ethers.js/discussions/1560#discussioncomment-730893\n */\n providerOnAccountsChanged(listener: Listener) {\n this.ethereum?.on('accountsChanged', listener)\n this.providerListeners.push(['accountsChanged', listener])\n }\n\n providerOnChainChanged(listener: Listener) {\n this.ethereum?.on('chainChanged', listener)\n this.providerListeners.push(['chainChanged', listener])\n }\n\n providerOnConnect(listener: Listener) {\n this.ethereum?.on('connect', listener)\n this.providerListeners.push(['connect', listener])\n }\n\n providerOnDisconnect(listener: Listener) {\n this.ethereum?.on('disconnect', listener)\n this.providerListeners.push(['disconnect', listener])\n }\n\n providerRemoveListener(event: string, listener: Listener) {\n this.ethereum?.removeListener(event, listener)\n this.providerListeners = this.providerListeners.filter(([, savedListener]) => listener !== savedListener)\n }\n\n providerRemoveListeners() {\n this.providerListeners.forEach(([event, listener]) => this.ethereum?.removeListener(event, listener))\n }\n\n async requestAccounts(): Promise<string[] | null> {\n if (!this.provider) {\n this.logProviderMissing()\n return null\n }\n\n return await this.provider.send('eth_requestAccounts', [])\n }\n\n async signMessage(message: string) {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const signer = await this.provider.getSigner()\n await signer.getAddress()\n const signature = await signer.signMessage(message)\n return signature\n }\n\n /** Web3Provider Listeners - https://docs.ethers.org/v5/api/providers/provider/#Provider--events */\n web3ProviderOn(event: string, listener: Listener) {\n this.provider?.on(event, listener)\n this.listeners.push(listener)\n }\n\n web3ProviderRemoveListener(event: string, listener: Listener) {\n this.provider?.removeListener(event, listener)\n this.listeners = this.listeners.filter((savedListener) => listener !== savedListener)\n }\n\n web3ProviderRemoveListeners() {\n this.provider?.removeAllListeners()\n }\n\n private logProviderMissing() {\n console.warn('Cannot call this method because there is no web3 provider connected. Please confirm that metamask is installed')\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BrowserProvider, Listener } from 'ethers';
|
|
2
2
|
export declare class MetaMaskConnector {
|
|
3
3
|
private account;
|
|
4
4
|
private ethereum;
|
|
5
5
|
private listeners;
|
|
6
6
|
private provider;
|
|
7
7
|
private providerListeners;
|
|
8
|
-
constructor(provider?:
|
|
8
|
+
constructor(provider?: BrowserProvider);
|
|
9
9
|
get chainId(): string | null;
|
|
10
10
|
get currentAccount(): string | null;
|
|
11
11
|
connectWallet(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAElD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAA4C;IAE5D,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,iBAAiB,CAA4C;gBAEzD,QAAQ,CAAC,EAAE,eAAe;IAQtC,IAAI,OAAO,kBAEV;IAED,IAAI,cAAc,kBAEjB;IAEK,aAAa;IAgBnB,mBAAmB;IAInB,mBAAmB,gBAMlB;IAED;;;;;OAKG;IACH,yBAAyB,CAAC,QAAQ,EAAE,QAAQ;IAK5C,sBAAsB,CAAC,QAAQ,EAAE,QAAQ;IAKzC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ;IAKpC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ;IAKvC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKxD,uBAAuB;IAIjB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAS3C,WAAW,CAAC,OAAO,EAAE,MAAM;IAYjC,mGAAmG;IACnG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKhD,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAK5D,2BAA2B;IAI3B,OAAO,CAAC,kBAAkB;CAG3B"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BrowserProvider, Listener } from 'ethers';
|
|
2
2
|
export declare class MetaMaskConnector {
|
|
3
3
|
private account;
|
|
4
4
|
private ethereum;
|
|
5
5
|
private listeners;
|
|
6
6
|
private provider;
|
|
7
7
|
private providerListeners;
|
|
8
|
-
constructor(provider?:
|
|
8
|
+
constructor(provider?: BrowserProvider);
|
|
9
9
|
get chainId(): string | null;
|
|
10
10
|
get currentAccount(): string | null;
|
|
11
11
|
connectWallet(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAElD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAA4C;IAE5D,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,iBAAiB,CAA4C;gBAEzD,QAAQ,CAAC,EAAE,eAAe;IAQtC,IAAI,OAAO,kBAEV;IAED,IAAI,cAAc,kBAEjB;IAEK,aAAa;IAgBnB,mBAAmB;IAInB,mBAAmB,gBAMlB;IAED;;;;;OAKG;IACH,yBAAyB,CAAC,QAAQ,EAAE,QAAQ;IAK5C,sBAAsB,CAAC,QAAQ,EAAE,QAAQ;IAKzC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ;IAKpC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ;IAKvC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKxD,uBAAuB;IAIjB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAS3C,WAAW,CAAC,OAAO,EAAE,MAAM;IAYjC,mGAAmG;IACnG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKhD,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAK5D,2BAA2B;IAI3B,OAAO,CAAC,kBAAkB;CAG3B"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BrowserProvider, Listener } from 'ethers';
|
|
2
2
|
export declare class MetaMaskConnector {
|
|
3
3
|
private account;
|
|
4
4
|
private ethereum;
|
|
5
5
|
private listeners;
|
|
6
6
|
private provider;
|
|
7
7
|
private providerListeners;
|
|
8
|
-
constructor(provider?:
|
|
8
|
+
constructor(provider?: BrowserProvider);
|
|
9
9
|
get chainId(): string | null;
|
|
10
10
|
get currentAccount(): string | null;
|
|
11
11
|
connectWallet(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MetaMaskConnector.d.ts","sourceRoot":"","sources":["../../src/MetaMaskConnector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAElD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAA4C;IAE5D,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,iBAAiB,CAA4C;gBAEzD,QAAQ,CAAC,EAAE,eAAe;IAQtC,IAAI,OAAO,kBAEV;IAED,IAAI,cAAc,kBAEjB;IAEK,aAAa;IAgBnB,mBAAmB;IAInB,mBAAmB,gBAMlB;IAED;;;;;OAKG;IACH,yBAAyB,CAAC,QAAQ,EAAE,QAAQ;IAK5C,sBAAsB,CAAC,QAAQ,EAAE,QAAQ;IAKzC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ;IAKpC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ;IAKvC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKxD,uBAAuB;IAIjB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAS3C,WAAW,CAAC,OAAO,EAAE,MAAM;IAYjC,mGAAmG;IACnG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKhD,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAK5D,2BAA2B;IAI3B,OAAO,CAAC,kBAAkB;CAG3B"}
|
package/dist/node/index.cjs
CHANGED
|
@@ -25,7 +25,7 @@ __export(src_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(src_exports);
|
|
26
26
|
|
|
27
27
|
// src/MetaMaskConnector.ts
|
|
28
|
-
var
|
|
28
|
+
var import_ethers = require("ethers");
|
|
29
29
|
var MetaMaskConnector = class {
|
|
30
30
|
account = "";
|
|
31
31
|
ethereum = window.ethereum;
|
|
@@ -36,7 +36,7 @@ var MetaMaskConnector = class {
|
|
|
36
36
|
if (provider) {
|
|
37
37
|
this.provider = provider;
|
|
38
38
|
} else if (this.ethereum) {
|
|
39
|
-
this.provider = new
|
|
39
|
+
this.provider = new import_ethers.BrowserProvider(window.ethereum);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
get chainId() {
|
|
@@ -120,7 +120,7 @@ var MetaMaskConnector = class {
|
|
|
120
120
|
this.logProviderMissing();
|
|
121
121
|
return;
|
|
122
122
|
}
|
|
123
|
-
const signer = this.provider.getSigner();
|
|
123
|
+
const signer = await this.provider.getSigner();
|
|
124
124
|
await signer.getAddress();
|
|
125
125
|
const signature = await signer.signMessage(message);
|
|
126
126
|
return signature;
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/MetaMaskConnector.ts"],"sourcesContent":["export * from './MetaMaskConnector'\n","import {
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/MetaMaskConnector.ts"],"sourcesContent":["export * from './MetaMaskConnector'\n","import { MetaMaskInpageProvider } from '@metamask/providers'\nimport { BrowserProvider, Listener } from 'ethers'\n\nexport class MetaMaskConnector {\n private account = ''\n private ethereum = window.ethereum as MetaMaskInpageProvider\n\n private listeners: Listener[] = []\n private provider: BrowserProvider | undefined\n private providerListeners: [event: string, listener: Listener][] = []\n\n constructor(provider?: BrowserProvider) {\n if (provider) {\n this.provider = provider\n } else if (this.ethereum) {\n this.provider = new BrowserProvider(window.ethereum)\n }\n }\n\n get chainId() {\n return this.ethereum?.networkVersion\n }\n\n get currentAccount() {\n return this.ethereum?.selectedAddress\n }\n\n async connectWallet() {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const accounts = await this.provider.send('eth_requestAccounts', [])\n // We could have multiple accounts. Check for one.\n if (accounts.length !== 0) {\n this.account = accounts[0]\n console.log('Connected: ', this.account)\n } else {\n console.log('No authorized account found.')\n }\n }\n\n isMetaMaskInstalled() {\n return this.ethereum && this.ethereum.isMetaMask\n }\n\n isWalletIsConnected = () => {\n if (this.currentAccount) {\n console.log('Found an authorized account: ', this.ethereum?.selectedAddress)\n return true\n }\n return false\n }\n\n /**\n * EIP-1193 Event Listeners\n *\n * .on in Web3Provider does not understand EIP-1193 events\n * see - https://github.com/ethers-io/ethers.js/discussions/1560#discussioncomment-730893\n */\n providerOnAccountsChanged(listener: Listener) {\n this.ethereum?.on('accountsChanged', listener)\n this.providerListeners.push(['accountsChanged', listener])\n }\n\n providerOnChainChanged(listener: Listener) {\n this.ethereum?.on('chainChanged', listener)\n this.providerListeners.push(['chainChanged', listener])\n }\n\n providerOnConnect(listener: Listener) {\n this.ethereum?.on('connect', listener)\n this.providerListeners.push(['connect', listener])\n }\n\n providerOnDisconnect(listener: Listener) {\n this.ethereum?.on('disconnect', listener)\n this.providerListeners.push(['disconnect', listener])\n }\n\n providerRemoveListener(event: string, listener: Listener) {\n this.ethereum?.removeListener(event, listener)\n this.providerListeners = this.providerListeners.filter(([, savedListener]) => listener !== savedListener)\n }\n\n providerRemoveListeners() {\n this.providerListeners.forEach(([event, listener]) => this.ethereum?.removeListener(event, listener))\n }\n\n async requestAccounts(): Promise<string[] | null> {\n if (!this.provider) {\n this.logProviderMissing()\n return null\n }\n\n return await this.provider.send('eth_requestAccounts', [])\n }\n\n async signMessage(message: string) {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const signer = await this.provider.getSigner()\n await signer.getAddress()\n const signature = await signer.signMessage(message)\n return signature\n }\n\n /** Web3Provider Listeners - https://docs.ethers.org/v5/api/providers/provider/#Provider--events */\n web3ProviderOn(event: string, listener: Listener) {\n this.provider?.on(event, listener)\n this.listeners.push(listener)\n }\n\n web3ProviderRemoveListener(event: string, listener: Listener) {\n this.provider?.removeListener(event, listener)\n this.listeners = this.listeners.filter((savedListener) => listener !== savedListener)\n }\n\n web3ProviderRemoveListeners() {\n this.provider?.removeAllListeners()\n }\n\n private logProviderMissing() {\n console.warn('Cannot call this method because there is no web3 provider connected. Please confirm that metamask is installed')\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/node/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/MetaMaskConnector.ts
|
|
2
|
-
import {
|
|
2
|
+
import { BrowserProvider } from "ethers";
|
|
3
3
|
var MetaMaskConnector = class {
|
|
4
4
|
account = "";
|
|
5
5
|
ethereum = window.ethereum;
|
|
@@ -10,7 +10,7 @@ var MetaMaskConnector = class {
|
|
|
10
10
|
if (provider) {
|
|
11
11
|
this.provider = provider;
|
|
12
12
|
} else if (this.ethereum) {
|
|
13
|
-
this.provider = new
|
|
13
|
+
this.provider = new BrowserProvider(window.ethereum);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
get chainId() {
|
|
@@ -94,7 +94,7 @@ var MetaMaskConnector = class {
|
|
|
94
94
|
this.logProviderMissing();
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
|
-
const signer = this.provider.getSigner();
|
|
97
|
+
const signer = await this.provider.getSigner();
|
|
98
98
|
await signer.getAddress();
|
|
99
99
|
const signature = await signer.signMessage(message);
|
|
100
100
|
return signature;
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/MetaMaskConnector.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../src/MetaMaskConnector.ts"],"sourcesContent":["import { MetaMaskInpageProvider } from '@metamask/providers'\nimport { BrowserProvider, Listener } from 'ethers'\n\nexport class MetaMaskConnector {\n private account = ''\n private ethereum = window.ethereum as MetaMaskInpageProvider\n\n private listeners: Listener[] = []\n private provider: BrowserProvider | undefined\n private providerListeners: [event: string, listener: Listener][] = []\n\n constructor(provider?: BrowserProvider) {\n if (provider) {\n this.provider = provider\n } else if (this.ethereum) {\n this.provider = new BrowserProvider(window.ethereum)\n }\n }\n\n get chainId() {\n return this.ethereum?.networkVersion\n }\n\n get currentAccount() {\n return this.ethereum?.selectedAddress\n }\n\n async connectWallet() {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const accounts = await this.provider.send('eth_requestAccounts', [])\n // We could have multiple accounts. Check for one.\n if (accounts.length !== 0) {\n this.account = accounts[0]\n console.log('Connected: ', this.account)\n } else {\n console.log('No authorized account found.')\n }\n }\n\n isMetaMaskInstalled() {\n return this.ethereum && this.ethereum.isMetaMask\n }\n\n isWalletIsConnected = () => {\n if (this.currentAccount) {\n console.log('Found an authorized account: ', this.ethereum?.selectedAddress)\n return true\n }\n return false\n }\n\n /**\n * EIP-1193 Event Listeners\n *\n * .on in Web3Provider does not understand EIP-1193 events\n * see - https://github.com/ethers-io/ethers.js/discussions/1560#discussioncomment-730893\n */\n providerOnAccountsChanged(listener: Listener) {\n this.ethereum?.on('accountsChanged', listener)\n this.providerListeners.push(['accountsChanged', listener])\n }\n\n providerOnChainChanged(listener: Listener) {\n this.ethereum?.on('chainChanged', listener)\n this.providerListeners.push(['chainChanged', listener])\n }\n\n providerOnConnect(listener: Listener) {\n this.ethereum?.on('connect', listener)\n this.providerListeners.push(['connect', listener])\n }\n\n providerOnDisconnect(listener: Listener) {\n this.ethereum?.on('disconnect', listener)\n this.providerListeners.push(['disconnect', listener])\n }\n\n providerRemoveListener(event: string, listener: Listener) {\n this.ethereum?.removeListener(event, listener)\n this.providerListeners = this.providerListeners.filter(([, savedListener]) => listener !== savedListener)\n }\n\n providerRemoveListeners() {\n this.providerListeners.forEach(([event, listener]) => this.ethereum?.removeListener(event, listener))\n }\n\n async requestAccounts(): Promise<string[] | null> {\n if (!this.provider) {\n this.logProviderMissing()\n return null\n }\n\n return await this.provider.send('eth_requestAccounts', [])\n }\n\n async signMessage(message: string) {\n if (!this.provider) {\n this.logProviderMissing()\n return\n }\n\n const signer = await this.provider.getSigner()\n await signer.getAddress()\n const signature = await signer.signMessage(message)\n return signature\n }\n\n /** Web3Provider Listeners - https://docs.ethers.org/v5/api/providers/provider/#Provider--events */\n web3ProviderOn(event: string, listener: Listener) {\n this.provider?.on(event, listener)\n this.listeners.push(listener)\n }\n\n web3ProviderRemoveListener(event: string, listener: Listener) {\n this.provider?.removeListener(event, listener)\n this.listeners = this.listeners.filter((savedListener) => listener !== savedListener)\n }\n\n web3ProviderRemoveListeners() {\n this.provider?.removeAllListeners()\n }\n\n private logProviderMissing() {\n console.warn('Cannot call this method because there is no web3 provider connected. Please confirm that metamask is installed')\n }\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@
|
|
13
|
-
"
|
|
12
|
+
"@metamask/providers": "^14.0.1",
|
|
13
|
+
"ethers": "^6.8.1"
|
|
14
14
|
},
|
|
15
15
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@xylabs/ts-scripts-yarn3": "^3.
|
|
18
|
-
"@xylabs/tsconfig-dom": "^3.
|
|
17
|
+
"@xylabs/ts-scripts-yarn3": "^3.2.2",
|
|
18
|
+
"@xylabs/tsconfig-dom": "^3.2.2",
|
|
19
19
|
"typescript": "^5.2.2"
|
|
20
20
|
},
|
|
21
21
|
"exports": {
|
|
@@ -58,5 +58,6 @@
|
|
|
58
58
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
59
59
|
},
|
|
60
60
|
"sideEffects": false,
|
|
61
|
-
"version": "2.
|
|
61
|
+
"version": "2.81.0-rc.1",
|
|
62
|
+
"stableVersion": "2.80.0"
|
|
62
63
|
}
|
package/src/MetaMaskConnector.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { Listener, Web3Provider } from '@ethersproject/providers'
|
|
2
1
|
import { MetaMaskInpageProvider } from '@metamask/providers'
|
|
2
|
+
import { BrowserProvider, Listener } from 'ethers'
|
|
3
3
|
|
|
4
4
|
export class MetaMaskConnector {
|
|
5
5
|
private account = ''
|
|
6
6
|
private ethereum = window.ethereum as MetaMaskInpageProvider
|
|
7
7
|
|
|
8
8
|
private listeners: Listener[] = []
|
|
9
|
-
private provider:
|
|
9
|
+
private provider: BrowserProvider | undefined
|
|
10
10
|
private providerListeners: [event: string, listener: Listener][] = []
|
|
11
11
|
|
|
12
|
-
constructor(provider?:
|
|
12
|
+
constructor(provider?: BrowserProvider) {
|
|
13
13
|
if (provider) {
|
|
14
14
|
this.provider = provider
|
|
15
15
|
} else if (this.ethereum) {
|
|
16
|
-
this.provider = new
|
|
16
|
+
this.provider = new BrowserProvider(window.ethereum)
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -103,7 +103,7 @@ export class MetaMaskConnector {
|
|
|
103
103
|
return
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
const signer = this.provider.getSigner()
|
|
106
|
+
const signer = await this.provider.getSigner()
|
|
107
107
|
await signer.getAddress()
|
|
108
108
|
const signature = await signer.signMessage(message)
|
|
109
109
|
return signature
|