@dynamic-labs/multi-wallet 0.9.0 → 0.9.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/multi-wallet",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -9,6 +9,7 @@
9
9
  "buffer": "^6.0.3",
10
10
  "@coinbase/wallet-sdk": "^3.1.0",
11
11
  "ethers": "^5.6.5",
12
+ "@walletconnect/ethereum-provider": "^1.7.8",
12
13
  "@onflow/fcl": "1.0.3-alpha.0",
13
14
  "@walletconnect/client": "^1.7.8"
14
15
  },
@@ -15,8 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.signMessage = exports.fetchPublicAddress = exports.killCoinbaseSession = exports.getCoinbaseProvider = void 0;
16
16
  const wallet_sdk_1 = __importDefault(require("@coinbase/wallet-sdk"));
17
17
  const utils_1 = require("ethers/lib/utils");
18
- const infuraApiKey = '87939db78f824920ada5c872db3e56b8';
19
- const jsonRpcUrl = `https://mainnet.infura.io/v3/${infuraApiKey}`;
18
+ const constants_1 = require("../../constants");
19
+ const jsonRpcUrl = `https://mainnet.infura.io/v3/${constants_1.infuraId}`;
20
20
  const chainId = 1;
21
21
  const getCoinbaseProvider = ({ opts: { appLogoUrl, appName = '' } = {}, handlers, }) => {
22
22
  const coinbaseWalletSDK = new wallet_sdk_1.default({
@@ -1 +1 @@
1
- {"version":3,"file":"coinbase.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/coinbase/coinbase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sEAAqD;AACrD,4CAAwD;AAMxD,MAAM,YAAY,GAAG,kCAAkC,CAAC;AACxD,MAAM,UAAU,GAAG,gCAAgC,YAAY,EAAE,CAAC;AAClE,MAAM,OAAO,GAAG,CAAC,CAAC;AAEX,MAAM,mBAAmB,GAAwB,CAAC,EACvD,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,EACvC,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,iBAAiB,GAAG,IAAI,oBAAiB,CAAC;QAC9C,UAAU;QACV,OAAO;QACP,aAAa,EAAE;YACb,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE;gBACrB,IAAI,SAAS,KAAK,6BAA6B,EAAE;oBAC/C,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,EAAE,CAAC;iBAC1B;YACH,CAAC;SACF;QACD,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC;QACnC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;KACtC,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,SAAS,EAAE;QACtB,QAAQ,CAAC,KAAK,EAAE,CAAC;KAClB;AACH,CAAC,CAAC;AAPW,QAAA,mBAAmB,uBAO9B;AAEK,MAAM,kBAAkB,GAAG,CAChC,oBAA6C,EAC7C,IAA6B,EACA,EAAE;;IAC/B,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACxC;IAED,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,qDAAG,KAAK,CAAC,CAAC;IAE5B,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAE5E,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AAhBW,QAAA,kBAAkB,sBAgB7B;AAEK,MAAM,WAAW,GAAG,CACzB,oBAA6C,EAC7C,aAAqB,EACQ,EAAE;IAC/B,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAErE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAE5E,IAAI;QACF,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,CAAC,IAAA,eAAO,EAAC,IAAA,mBAAW,EAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;SACrE,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAA,CAAC;AAjBW,QAAA,WAAW,eAiBtB"}
1
+ {"version":3,"file":"coinbase.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/coinbase/coinbase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sEAAqD;AACrD,4CAAwD;AAExD,+CAA2C;AAK3C,MAAM,UAAU,GAAG,gCAAgC,oBAAQ,EAAE,CAAC;AAC9D,MAAM,OAAO,GAAG,CAAC,CAAC;AAEX,MAAM,mBAAmB,GAAwB,CAAC,EACvD,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,EACvC,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,iBAAiB,GAAG,IAAI,oBAAiB,CAAC;QAC9C,UAAU;QACV,OAAO;QACP,aAAa,EAAE;YACb,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE;gBACrB,IAAI,SAAS,KAAK,6BAA6B,EAAE;oBAC/C,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,EAAE,CAAC;iBAC1B;YACH,CAAC;SACF;QACD,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC;QACnC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;KACtC,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,SAAS,EAAE;QACtB,QAAQ,CAAC,KAAK,EAAE,CAAC;KAClB;AACH,CAAC,CAAC;AAPW,QAAA,mBAAmB,uBAO9B;AAEK,MAAM,kBAAkB,GAAG,CAChC,oBAA6C,EAC7C,IAA6B,EACA,EAAE;;IAC/B,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACxC;IAED,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,qDAAG,KAAK,CAAC,CAAC;IAE5B,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAE5E,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AAhBW,QAAA,kBAAkB,sBAgB7B;AAEK,MAAM,WAAW,GAAG,CACzB,oBAA6C,EAC7C,aAAqB,EACQ,EAAE;IAC/B,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAErE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAE5E,IAAI;QACF,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,CAAC,IAAA,eAAO,EAAC,IAAA,mBAAW,EAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;SACrE,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAA,CAAC;AAjBW,QAAA,WAAW,eAiBtB"}
@@ -0,0 +1 @@
1
+ export declare const infuraId = "87939db78f824920ada5c872db3e56b8";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.infuraId = void 0;
4
+ exports.infuraId = '87939db78f824920ada5c872db3e56b8';
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/wallets/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,kCAAkC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ethers } from 'ethers';
2
- import { Chain, FetchPublicAddressOpts, WalletConnector } from '../wallet-connector';
2
+ import { Chain, FetchPublicAddressOpts, WalletConnector, WalletEventListeners } from '../wallet-connector';
3
3
  import { EthProvider } from './eth-provider';
4
4
  declare class Coinbase extends EthProvider implements WalletConnector {
5
5
  name: string;
@@ -12,9 +12,7 @@ declare class Coinbase extends EthProvider implements WalletConnector {
12
12
  appLogoUrl: string;
13
13
  appName: string;
14
14
  });
15
- setupEventListeners(listeners: {
16
- onDisconnect(): Promise<void>;
17
- }): void;
15
+ setupEventListeners(listeners: WalletEventListeners): () => void;
18
16
  getWeb3Provider(): ethers.providers.Web3Provider | undefined;
19
17
  isInstalledOnBrowser(): boolean;
20
18
  fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
@@ -26,10 +26,7 @@ class Coinbase extends eth_provider_1.EthProvider {
26
26
  };
27
27
  }
28
28
  setupEventListeners(listeners) {
29
- (0, coinbase_1.getCoinbaseProvider)({
30
- handlers: { onDisconnect: listeners.onDisconnect },
31
- opts: this.coinbaseProviderOpts,
32
- });
29
+ return this._setupEventListeners(listeners, this.getWeb3Provider());
33
30
  }
34
31
  getWeb3Provider() {
35
32
  if (this.isInstalledOnBrowser()) {
@@ -1 +1 @@
1
- {"version":3,"file":"coinbase.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/coinbase.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAgC;AAOhC,kDAM6B;AAE7B,iDAA6C;AAE7C,MAAM,QAAS,SAAQ,0BAAW;IAYhC,YAAY,EACV,OAAO,EACP,UAAU,GAIX;QACC,KAAK,EAAE,CAAC;QAlBV,SAAI,GAAG,UAAU,CAAC;QAElB,oBAAe,GAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,mBAAc,GAAU,KAAK,CAAC;QAE9B,wBAAmB,GAAG,IAAI,CAAC;QAC3B,kCAA6B,GAAG,KAAK,CAAC;QAapC,IAAI,CAAC,oBAAoB,GAAG;YAC1B,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,SAA4C;QAC9D,IAAA,8BAAmB,EAAC;YAClB,QAAQ,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE;YAClD,IAAI,EAAE,IAAI,CAAC,oBAAoB;SAChC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;QAED,OAAO,IAAI,eAAM,CAAC,SAAS,CAAC,YAAY,CACtC,IAAA,8BAAmB,EAAC;YAClB,IAAI,EAAE,IAAI,CAAC,oBAAoB;SAChC,CAAiD,CACnD,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEK,kBAAkB,CACtB,IAA6B;;YAE7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnD;YAED,OAAO,IAAA,6BAAkB,EAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3D;YAED,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,UAAU;;YACd,IAAA,8BAAmB,GAAE,CAAC;QACxB,CAAC;KAAA;CACF;AAED,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"coinbase.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/coinbase.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAgC;AAQhC,kDAM6B;AAE7B,iDAA6C;AAE7C,MAAM,QAAS,SAAQ,0BAAW;IAYhC,YAAY,EACV,OAAO,EACP,UAAU,GAIX;QACC,KAAK,EAAE,CAAC;QAlBV,SAAI,GAAG,UAAU,CAAC;QAElB,oBAAe,GAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,mBAAc,GAAU,KAAK,CAAC;QAE9B,wBAAmB,GAAG,IAAI,CAAC;QAC3B,kCAA6B,GAAG,KAAK,CAAC;QAapC,IAAI,CAAC,oBAAoB,GAAG;YAC1B,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,SAA+B;QACjD,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;QAED,OAAO,IAAI,eAAM,CAAC,SAAS,CAAC,YAAY,CACtC,IAAA,8BAAmB,EAAC;YAClB,IAAI,EAAE,IAAI,CAAC,oBAAoB;SAChC,CAAiD,CACnD,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEK,kBAAkB,CACtB,IAA6B;;YAE7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnD;YAED,OAAO,IAAA,6BAAkB,EAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3D;YAED,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,UAAU;;YACd,IAAA,8BAAmB,GAAE,CAAC;QACxB,CAAC;KAAA;CACF;AAED,kBAAe,QAAQ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { IEthereum, ITallyWalletRouter } from '../window';
3
+ import { WalletEventListeners } from '../wallet-connector';
3
4
  export declare enum ProviderFlag {
4
5
  isCoinbaseWallet = "isCoinbaseWallet",
5
6
  isMetaMask = "isMetaMask",
@@ -21,5 +22,6 @@ export declare class EthProvider {
21
22
  findProvider(walletName: string): ethers.providers.Web3Provider | undefined;
22
23
  fetchPublicAddressWithName(name: string): Promise<string | undefined>;
23
24
  signMessageWithName(messageToSign: string, name: string): Promise<string | undefined>;
25
+ _setupEventListeners(listeners: WalletEventListeners, web3Provider?: ethers.providers.Web3Provider): () => void;
24
26
  }
25
27
  export {};
@@ -120,6 +120,38 @@ class EthProvider {
120
120
  return signedMessage;
121
121
  });
122
122
  }
123
+ _setupEventListeners(listeners, web3Provider) {
124
+ if (!web3Provider) {
125
+ return () => {
126
+ // nothing to teardown
127
+ };
128
+ }
129
+ const provider = web3Provider.provider;
130
+ const handleAccountChange = (accounts) => __awaiter(this, void 0, void 0, function* () {
131
+ var _a, _b;
132
+ if (accounts.length === 0) {
133
+ yield ((_a = listeners.onDisconnect) === null || _a === void 0 ? void 0 : _a.call(listeners));
134
+ return;
135
+ }
136
+ yield ((_b = listeners.onAccountChange) === null || _b === void 0 ? void 0 : _b.call(listeners, accounts));
137
+ });
138
+ const handleChainChange = (chainId) => __awaiter(this, void 0, void 0, function* () {
139
+ var _c;
140
+ yield ((_c = listeners.onChainChange) === null || _c === void 0 ? void 0 : _c.call(listeners, chainId));
141
+ });
142
+ const handleDisconnect = () => __awaiter(this, void 0, void 0, function* () {
143
+ var _d;
144
+ yield ((_d = listeners.onDisconnect) === null || _d === void 0 ? void 0 : _d.call(listeners));
145
+ });
146
+ provider.on('accountsChanged', handleAccountChange);
147
+ provider.on('chainChanged', handleChainChange);
148
+ provider.on('disconnect', handleDisconnect);
149
+ return () => {
150
+ provider.removeListener('accountsChanged', handleAccountChange);
151
+ provider.removeListener('chainChanged', handleChainChange);
152
+ provider.removeListener('disconnect', handleDisconnect);
153
+ };
154
+ }
123
155
  }
124
156
  exports.EthProvider = EthProvider;
125
157
  //# sourceMappingURL=eth-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eth-provider.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/eth-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mCAAuC;AAGvC,kEAA0C;AAC1C,yEAAsE;AAStE,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,qDAAqC,CAAA;IACrC,yCAAyB,CAAA;IACzB,mCAAmB,CAAA;AACrB,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAGD,MAAa,WAAW;IAAxB;QACE,qBAAgB,GAAa,GAAG,EAAE,CAChC,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAExD,qBAAgB,GAAa,GAAG,EAAE,CAChC,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAE9D,oBAAe,GAAa,GAAG,EAAE,CAC/B,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAErD,cAAS,GAEL;YACF,QAAQ,EAAE,IAAI,CAAC,gBAAgB;YAC/B,QAAQ,EAAE,IAAI,CAAC,gBAAgB;YAC/B,OAAO,EAAE,IAAI,CAAC,eAAe;SAC9B,CAAC;IAoHJ,CAAC;IAlHC,uBAAuB,CAAC,YAA0B;QAChD,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CACtC,CAAC,QAAQ,EAAE,EAAE,CAAE,QAAsB,aAAtB,QAAQ,uBAAR,QAAQ,CAAiB,YAAY,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CACvD,IAAI,CAAC,yCAAyC,CAAC,MAAM,CAAC,YAAY,CAAC,EACnE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,QAAoB;QACxC,MAAM,iBAAiB,GAAa,EAAE,CAAC;QAEvC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YACnC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClC;aAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE;YACzC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACtC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,wGAAwG;IACxG,4EAA4E;IAC5E,yCAAyC,CACvC,YAAiC;QAEjC,MAAM,iBAAiB,GAAa,EAAE,CAAC;QAEvC,IAAI,YAAY,EAAE;YAChB,IAAI,YAAY,CAAC,gBAAgB,EAAE;gBACjC,iBAAiB,CAAC,MAAM,CACtB,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAC1D,CAAC;aACH;YAED,IAAI,YAAY,CAAC,QAAQ,EAAE;gBACzB,iBAAiB,CAAC,MAAM,CACtB,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAC1D,CAAC;aACH;YAED,IAAI,YAAY,CAAC,SAAS,EAAE;gBAC1B,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC1C,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAEjC,mDAAmD;oBACnD,IAAI,QAAQ,CAAC,SAAS,EAAE;wBACtB,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;4BAC5C,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBACzC,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,iBAAiB,CAAC,UAAkB;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;IACrD,CAAC;IAED,YAAY,CAAC,UAAkB;;QAC7B,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,SAAS,EAAC,IAAA,yCAAmB,EAAC,UAAU,CAAC,CAAC,kDAAI,CAAC;QAErE,OAAO,QAAQ,KAAK,SAAS;YAC3B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,eAAM,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAEK,0BAA0B,CAAC,IAAY;;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE;gBACb,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,IAAI;gBACF,MAAM,CAAC,gBAAgB,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;gBAC1E,MAAM,aAAa,GAAG,cAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBACzD,iBAAO,CAAC,GAAG,CAAC,GAAG,IAAI,oBAAoB,aAAa,EAAE,CAAC,CAAC;gBACxD,OAAO,aAAa,CAAC;aACtB;YAAC,OAAO,GAAG,EAAE;gBACZ,iBAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACnC;QACH,CAAC;KAAA;IAEK,mBAAmB,CACvB,aAAqB,EACrB,IAAY;;YAEZ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAElE,IAAI,CAAC,aAAa,EAAE;gBAClB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAEzC,IAAI,CAAC,QAAQ,EAAE;gBACb,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC9D,iBAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YAC7C,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;CACF;AApID,kCAoIC"}
1
+ {"version":3,"file":"eth-provider.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/eth-provider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { Chain, FetchPublicAddressOpts, WalletConnector } from '../wallet-connector';
1
+ import { ethers } from 'ethers';
2
+ import { Chain, FetchPublicAddressOpts, WalletConnector, WalletEventListeners } from '../wallet-connector';
2
3
  import { EthProvider } from './eth-provider';
3
4
  declare class MetaMask extends EthProvider implements WalletConnector {
4
5
  name: string;
@@ -8,8 +9,8 @@ declare class MetaMask extends EthProvider implements WalletConnector {
8
9
  canConnectViaCustodialService: boolean;
9
10
  publicAddress: string | undefined;
10
11
  constructor();
11
- setupEventListeners(): void;
12
- getWeb3Provider(): import("@ethersproject/providers").Web3Provider | undefined;
12
+ setupEventListeners(listeners: WalletEventListeners): () => void;
13
+ getWeb3Provider(): ethers.providers.Web3Provider | undefined;
13
14
  isInstalledOnBrowser(): boolean;
14
15
  fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
15
16
  signMessage(messageToSign: string): Promise<string | undefined>;
@@ -8,10 +8,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ const ethereum_provider_1 = __importDefault(require("@walletconnect/ethereum-provider"));
12
16
  const ethers_1 = require("ethers");
13
17
  const wallet_connect_client_1 = require("../wallet-connect-client");
14
18
  const walletConnect_1 = require("../../utils/walletConnect");
19
+ const constants_1 = require("../constants");
15
20
  const eth_provider_1 = require("./eth-provider");
16
21
  class MetaMask extends eth_provider_1.EthProvider {
17
22
  constructor() {
@@ -22,11 +27,20 @@ class MetaMask extends eth_provider_1.EthProvider {
22
27
  this.canConnectViaQrCode = true;
23
28
  this.canConnectViaCustodialService = false;
24
29
  }
25
- setupEventListeners() {
26
- return;
30
+ setupEventListeners(listeners) {
31
+ return this._setupEventListeners(listeners, this.getWeb3Provider());
27
32
  }
28
33
  getWeb3Provider() {
29
- return this.findProvider(this.name);
34
+ if (this.isInstalledOnBrowser()) {
35
+ return this.findProvider(this.name);
36
+ }
37
+ const client = (0, wallet_connect_client_1.initializeWalletConnectClientFromSession)();
38
+ return client
39
+ ? new ethers_1.ethers.providers.Web3Provider(new ethereum_provider_1.default({
40
+ connector: client,
41
+ infuraId: constants_1.infuraId,
42
+ }))
43
+ : undefined;
30
44
  }
31
45
  isInstalledOnBrowser() {
32
46
  return this.isInstalledHelper(this.name);
@@ -1 +1 @@
1
- {"version":3,"file":"meta-mask.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/meta-mask.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAA+B;AAE/B,oEAIkC;AAMlC,6DAAqE;AAErE,iDAA6C;AAE7C,MAAM,QAAS,SAAQ,0BAAW;IAYhC;QACE,KAAK,EAAE,CAAC;QAZV,SAAI,GAAG,UAAU,CAAC;QAElB,oBAAe,GAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,mBAAc,GAAU,KAAK,CAAC;QAE9B,wBAAmB,GAAG,IAAI,CAAC;QAC3B,kCAA6B,GAAG,KAAK,CAAC;IAMtC,CAAC;IAED,mBAAmB;QACjB,OAAO;IACT,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEK,kBAAkB,CACtB,IAA6B;;YAE7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnD;YACD,MAAM,OAAO,GAAG,MAAM,IAAA,uDAA+B,EACnD,IAAA,wCAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,EACnC,IAAI,CACL,CAAC;YACF,OAAO,OAAO,CAAC,CAAC,CAAC,cAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,OAAO,IAAI,CAAC,oBAAoB,EAAE;gBAChC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC;gBACpD,CAAC,CAAC,IAAA,wDAAgC,EAC9B,aAAa,EACb,IAAA,wCAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,CACpC,CAAC;QACR,CAAC;KAAA;IAEK,UAAU;;YACd,IAAA,gDAAwB,GAAE,CAAC;QAC7B,CAAC;KAAA;CACF;AAED,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"meta-mask.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/meta-mask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,yFAAqE;AACrE,mCAAuC;AAEvC,oEAKkC;AAOlC,6DAAqE;AACrE,4CAAwC;AAExC,iDAA6C;AAE7C,MAAM,QAAS,SAAQ,0BAAW;IAYhC;QACE,KAAK,EAAE,CAAC;QAZV,SAAI,GAAG,UAAU,CAAC;QAElB,oBAAe,GAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,mBAAc,GAAU,KAAK,CAAC;QAE9B,wBAAmB,GAAG,IAAI,CAAC;QAC3B,kCAA6B,GAAG,KAAK,CAAC;IAMtC,CAAC;IAED,mBAAmB,CAAC,SAA+B;QACjD,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;QAED,MAAM,MAAM,GAAG,IAAA,gEAAwC,GAAE,CAAC;QAC1D,OAAO,MAAM;YACX,CAAC,CAAC,IAAI,eAAM,CAAC,SAAS,CAAC,YAAY,CAC/B,IAAI,2BAAqB,CAAC;gBACxB,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAR,oBAAQ;aACT,CAAC,CACH;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEK,kBAAkB,CACtB,IAA6B;;YAE7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnD;YACD,MAAM,OAAO,GAAG,MAAM,IAAA,uDAA+B,EACnD,IAAA,wCAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,EACnC,IAAI,CACL,CAAC;YACF,OAAO,OAAO,CAAC,CAAC,CAAC,cAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,OAAO,IAAI,CAAC,oBAAoB,EAAE;gBAChC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC;gBACpD,CAAC,CAAC,IAAA,wDAAgC,EAC9B,aAAa,EACb,IAAA,wCAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,CACpC,CAAC;QACR,CAAC;KAAA;IAEK,UAAU;;YACd,IAAA,gDAAwB,GAAE,CAAC;QAC7B,CAAC;KAAA;CACF;AAED,kBAAe,QAAQ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Chain, WalletConnector } from '../wallet-connector';
1
+ import { Chain, WalletConnector, WalletEventListeners } from '../wallet-connector';
2
2
  import { EthProvider } from './eth-provider';
3
3
  declare class Tallyho extends EthProvider implements WalletConnector {
4
4
  name: string;
@@ -6,7 +6,7 @@ declare class Tallyho extends EthProvider implements WalletConnector {
6
6
  connectedChain: Chain;
7
7
  canConnectViaQrCode: boolean;
8
8
  canConnectViaCustodialService: boolean;
9
- setupEventListeners(): void;
9
+ setupEventListeners(listeners: WalletEventListeners): () => void;
10
10
  getWeb3Provider(): import("@ethersproject/providers").Web3Provider | undefined;
11
11
  isInstalledOnBrowser(): boolean;
12
12
  fetchPublicAddress(): Promise<string | undefined>;
@@ -19,8 +19,8 @@ class Tallyho extends eth_provider_1.EthProvider {
19
19
  this.canConnectViaQrCode = false;
20
20
  this.canConnectViaCustodialService = false;
21
21
  }
22
- setupEventListeners() {
23
- return;
22
+ setupEventListeners(listeners) {
23
+ return this._setupEventListeners(listeners, this.getWeb3Provider());
24
24
  }
25
25
  getWeb3Provider() {
26
26
  return this.findProvider(this.name);
@@ -1 +1 @@
1
- {"version":3,"file":"tallyho.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/tallyho.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,iDAA6C;AAE7C,MAAM,OAAQ,SAAQ,0BAAW;IAAjC;;QACE,SAAI,GAAG,UAAU,CAAC;QAElB,oBAAe,GAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,mBAAc,GAAU,KAAK,CAAC;QAE9B,wBAAmB,GAAG,KAAK,CAAC;QAC5B,kCAA6B,GAAG,KAAK,CAAC;IAqBxC,CAAC;IAnBC,mBAAmB;QACjB,OAAO;IACT,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEK,kBAAkB;;YACtB,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;KAAA;CACF;AAED,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"tallyho.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/tallyho.ts"],"names":[],"mappings":";;;;;;;;;;;AAMA,iDAA6C;AAE7C,MAAM,OAAQ,SAAQ,0BAAW;IAAjC;;QACE,SAAI,GAAG,UAAU,CAAC;QAElB,oBAAe,GAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,mBAAc,GAAU,KAAK,CAAC;QAE9B,wBAAmB,GAAG,KAAK,CAAC;QAC5B,kCAA6B,GAAG,KAAK,CAAC;IAqBxC,CAAC;IAnBC,mBAAmB,CAAC,SAA+B;QACjD,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEK,kBAAkB;;YACtB,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;KAAA;CACF;AAED,kBAAe,OAAO,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import Client from '@walletconnect/client';
2
2
  import { WalletConnectWalletMetadata } from '../types';
3
- import { FetchPublicAddressOpts } from './wallet-connector';
3
+ import { FetchPublicAddressOpts, WalletEventListeners } from './wallet-connector';
4
4
  export declare type InitializeWalletConnectClientOpts = {
5
5
  bridge?: Client['bridge'];
6
6
  };
@@ -28,17 +28,13 @@ export declare type InitializeWalletConnectClientFromSession = () => Client | un
28
28
  * See https://docs.walletconnect.com/quick-start/dapps/client
29
29
  */
30
30
  export declare const initializeWalletConnectClientFromSession: InitializeWalletConnectClientFromSession;
31
- export declare type SetupWalletConnectEventListenersOpts = {
32
- onDisconnect: () => void;
33
- };
34
- export declare type SetupWalletConnectEventListeners = (opts: SetupWalletConnectEventListenersOpts, client?: Client) => void;
35
31
  /**
36
32
  * Attach event handlers to WalletConnect events.
37
33
  *
38
34
  * @param opts.onDisconnect - Handle disconnect events.
39
35
  * @param client - The WalletConnect client instance to setup events on.
40
36
  */
41
- export declare const setupWalletConnectEventListeners: SetupWalletConnectEventListeners;
37
+ export declare const setupWalletConnectEventListeners: (opts: WalletEventListeners, client?: Client | undefined) => (() => void);
42
38
  /**
43
39
  * Initialize a client from a stored session and terminate the connection.
44
40
  */
@@ -71,9 +71,42 @@ exports.initializeWalletConnectClientFromSession = initializeWalletConnectClient
71
71
  * @param client - The WalletConnect client instance to setup events on.
72
72
  */
73
73
  const setupWalletConnectEventListeners = (opts, client = (0, exports.initializeWalletConnectClientFromSession)()) => {
74
- client === null || client === void 0 ? void 0 : client.on('disconnect', () => {
75
- opts.onDisconnect();
76
- });
74
+ if (!client) {
75
+ return () => {
76
+ // nothing to teardown
77
+ };
78
+ }
79
+ let prevAccount;
80
+ let prevChain;
81
+ if (client.connected) {
82
+ // eslint-disable-next-line prefer-destructuring
83
+ prevAccount = client.accounts[0];
84
+ prevChain = client.chainId;
85
+ }
86
+ client.on('disconnect', () => __awaiter(void 0, void 0, void 0, function* () {
87
+ var _a;
88
+ yield ((_a = opts.onDisconnect) === null || _a === void 0 ? void 0 : _a.call(opts));
89
+ }));
90
+ client.on('session_update', (_, payload) => __awaiter(void 0, void 0, void 0, function* () {
91
+ var _b, _c;
92
+ // eslint-disable-next-line prefer-destructuring
93
+ const { accounts, chainId } = payload.params[0];
94
+ const didAccountChange = prevAccount !== accounts[0];
95
+ const didChainChange = prevChain !== chainId;
96
+ // eslint-disable-next-line prefer-destructuring
97
+ prevAccount = accounts[0];
98
+ prevChain = chainId;
99
+ if (didAccountChange) {
100
+ yield ((_b = opts.onAccountChange) === null || _b === void 0 ? void 0 : _b.call(opts, accounts));
101
+ }
102
+ if (didChainChange) {
103
+ yield ((_c = opts.onChainChange) === null || _c === void 0 ? void 0 : _c.call(opts, String(chainId)));
104
+ }
105
+ }));
106
+ return () => {
107
+ client.off('disconnect');
108
+ client.off('session_update');
109
+ };
77
110
  };
78
111
  exports.setupWalletConnectEventListeners = setupWalletConnectEventListeners;
79
112
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-connect-client.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/wallets/wallet-connect-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet-connect-client.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/wallets/wallet-connect-client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { Chain, FetchPublicAddressOpts, WalletConnector } from './wallet-connector';
1
+ import { ethers } from 'ethers';
2
+ import { Chain, FetchPublicAddressOpts, WalletConnector, WalletEventListeners } from './wallet-connector';
2
3
  declare class WalletConnect implements WalletConnector {
3
4
  supportedChains: Chain[];
4
5
  connectedChain?: Chain;
@@ -8,10 +9,8 @@ declare class WalletConnect implements WalletConnector {
8
9
  constructor({ walletName }: {
9
10
  walletName: string;
10
11
  });
11
- setupEventListeners(listeners: {
12
- onDisconnect(): Promise<void>;
13
- }): void;
14
- getWeb3Provider(): undefined;
12
+ setupEventListeners(listeners: WalletEventListeners): () => void;
13
+ getWeb3Provider(): ethers.providers.Web3Provider | undefined;
15
14
  isInstalledOnBrowser(): boolean;
16
15
  fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
17
16
  signMessage(messageToSign: string): Promise<string | undefined>;
@@ -8,8 +8,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ const ethereum_provider_1 = __importDefault(require("@walletconnect/ethereum-provider"));
16
+ const ethers_1 = require("ethers");
12
17
  const walletConnect_1 = require("../utils/walletConnect");
18
+ const constants_1 = require("./constants");
13
19
  const wallet_connect_client_1 = require("./wallet-connect-client");
14
20
  const chainMap = {
15
21
  1: 'ETH',
@@ -23,12 +29,20 @@ class WalletConnect {
23
29
  this.name = walletName;
24
30
  }
25
31
  setupEventListeners(listeners) {
26
- (0, wallet_connect_client_1.setupWalletConnectEventListeners)({
32
+ return (0, wallet_connect_client_1.setupWalletConnectEventListeners)({
33
+ onAccountChange: listeners.onAccountChange,
34
+ onChainChange: listeners.onChainChange,
27
35
  onDisconnect: listeners.onDisconnect,
28
36
  });
29
37
  }
30
38
  getWeb3Provider() {
31
- return undefined;
39
+ const client = (0, wallet_connect_client_1.initializeWalletConnectClientFromSession)();
40
+ return client
41
+ ? new ethers_1.ethers.providers.Web3Provider(new ethereum_provider_1.default({
42
+ connector: client,
43
+ infuraId: constants_1.infuraId,
44
+ }))
45
+ : undefined;
32
46
  }
33
47
  isInstalledOnBrowser() {
34
48
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-connect.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/wallets/wallet-connect.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkE;AAElE,mEAKiC;AAOjC,MAAM,QAAQ,GAA0B;IACtC,CAAC,EAAE,KAAK;IACR,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF,MAAM,aAAa;IAUjB,YAAY,EAAE,UAAU,EAA0B;QATlD,oBAAe,GAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAM1C,wBAAmB,GAAG,IAAI,CAAC;QAC3B,kCAA6B,GAAG,KAAK,CAAC;QAGpC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,SAA4C;QAC9D,IAAA,wDAAgC,EAAC;YAC/B,YAAY,EAAE,SAAS,CAAC,YAAY;SACrC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oBAAoB;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAEK,kBAAkB,CACtB,IAA6B;;YAE7B,OAAO,IAAA,uDAA+B,EACpC,IAAA,wCAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,kCAE9B,IAAI,KACP,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;;oBACrB,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,qDAAG,OAAO,CAAC,CAAC;oBAC3B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5D,CAAC,IAEJ,CAAC;QACJ,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,OAAO,IAAA,wDAAgC,EACrC,aAAa,EACb,IAAA,wCAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,CACpC,CAAC;QACJ,CAAC;KAAA;IAEK,UAAU;;YACd,IAAA,gDAAwB,GAAE,CAAC;QAC7B,CAAC;KAAA;CACF;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"wallet-connect.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/wallets/wallet-connect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,yFAAqE;AACrE,mCAAgC;AAEhC,0DAAkE;AAElE,2CAAuC;AACvC,mEAMiC;AAQjC,MAAM,QAAQ,GAA0B;IACtC,CAAC,EAAE,KAAK;IACR,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF,MAAM,aAAa;IAUjB,YAAY,EAAE,UAAU,EAA0B;QATlD,oBAAe,GAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAM1C,wBAAmB,GAAG,IAAI,CAAC;QAC3B,kCAA6B,GAAG,KAAK,CAAC;QAGpC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,SAA+B;QACjD,OAAO,IAAA,wDAAgC,EAAC;YACtC,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,YAAY,EAAE,SAAS,CAAC,YAAY;SACrC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,MAAM,MAAM,GAAG,IAAA,gEAAwC,GAAE,CAAC;QAC1D,OAAO,MAAM;YACX,CAAC,CAAC,IAAI,eAAM,CAAC,SAAS,CAAC,YAAY,CAC/B,IAAI,2BAAqB,CAAC;gBACxB,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAR,oBAAQ;aACT,CAAC,CACH;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,oBAAoB;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAEK,kBAAkB,CACtB,IAA6B;;YAE7B,OAAO,IAAA,uDAA+B,EACpC,IAAA,wCAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,kCAE9B,IAAI,KACP,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;;oBACrB,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,qDAAG,OAAO,CAAC,CAAC;oBAC3B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5D,CAAC,IAEJ,CAAC;QACJ,CAAC;KAAA;IAEK,WAAW,CAAC,aAAqB;;YACrC,OAAO,IAAA,wDAAgC,EACrC,aAAa,EACb,IAAA,wCAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,CACpC,CAAC;QACJ,CAAC;KAAA;IAEK,UAAU;;YACd,IAAA,gDAAwB,GAAE,CAAC;QAC7B,CAAC;KAAA;CACF;AAED,kBAAe,aAAa,CAAC"}
@@ -1,16 +1,21 @@
1
1
  import { ethers } from 'ethers';
2
2
  export declare type Chain = 'ETH' | 'FLOW' | 'SOL';
3
- export interface IPayloadParams {
3
+ export declare type PayloadParams = {
4
4
  params: {
5
5
  accounts: string[];
6
6
  chainId: number;
7
7
  message: string;
8
8
  }[];
9
- }
9
+ };
10
10
  export declare type FetchPublicAddressOpts = {
11
- onConnect?(payload: IPayloadParams): void;
11
+ onConnect?(payload: PayloadParams): void;
12
12
  onDisplayUri?(uri: string): void;
13
13
  };
14
+ export declare type WalletEventListeners = {
15
+ onAccountChange?(accounts: string[]): Promise<void>;
16
+ onChainChange?(chain: string): Promise<void>;
17
+ onDisconnect?(): Promise<void>;
18
+ };
14
19
  export interface WalletConnector {
15
20
  canConnectViaCustodialService: boolean;
16
21
  canConnectViaQrCode: boolean;
@@ -20,9 +25,7 @@ export interface WalletConnector {
20
25
  getWeb3Provider(): ethers.providers.Web3Provider | undefined;
21
26
  isInstalledOnBrowser(): boolean;
22
27
  name: string;
23
- setupEventListeners(listeners: {
24
- onDisconnect(): Promise<void>;
25
- }): void;
28
+ setupEventListeners(listeners: WalletEventListeners): void;
26
29
  signMessage(messageToSign: string): Promise<string | undefined>;
27
30
  supportedChains: Chain[];
28
31
  }