@dynamic-labs/starknet 4.0.0-alpha.8 → 4.0.0

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.
Files changed (68) hide show
  1. package/CHANGELOG.md +496 -1
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +14 -12
  5. package/src/StarknetWalletConnector.cjs +232 -0
  6. package/src/StarknetWalletConnector.d.ts +58 -0
  7. package/src/StarknetWalletConnector.js +228 -0
  8. package/src/index.cjs +14 -12
  9. package/src/index.d.ts +16 -7
  10. package/src/index.js +12 -12
  11. package/src/types.d.ts +26 -11
  12. package/src/utils/convertors.cjs +1 -1
  13. package/src/utils/convertors.d.ts +1 -1
  14. package/src/utils/convertors.js +1 -1
  15. package/src/wallet/StarknetWallet.cjs +24 -3
  16. package/src/wallet/StarknetWallet.d.ts +14 -4
  17. package/src/wallet/StarknetWallet.js +24 -3
  18. package/src/wallets/argent/argentMobile/argentMobile.cjs +70 -0
  19. package/src/wallets/argent/argentMobile/argentMobile.d.ts +16 -0
  20. package/src/wallets/argent/argentMobile/argentMobile.js +66 -0
  21. package/src/wallets/argent/base.cjs +50 -0
  22. package/src/wallets/argent/base.d.ts +5 -0
  23. package/src/wallets/argent/base.js +46 -0
  24. package/src/wallets/argent/injected/argentx.cjs +33 -0
  25. package/src/wallets/argent/injected/argentx.d.ts +8 -0
  26. package/src/wallets/argent/injected/argentx.js +29 -0
  27. package/src/wallets/argent/webwallet/webwallet.cjs +37 -0
  28. package/src/wallets/argent/webwallet/webwallet.d.ts +10 -0
  29. package/src/wallets/argent/webwallet/webwallet.js +33 -0
  30. package/src/wallets/injected/braavos.cjs +31 -0
  31. package/src/wallets/injected/braavos.d.ts +13 -0
  32. package/src/wallets/injected/braavos.js +27 -0
  33. package/src/wallets/injected/fetchStarknetInjectedWalletConnectors.cjs +35 -0
  34. package/src/wallets/injected/fetchStarknetInjectedWalletConnectors.d.ts +5 -0
  35. package/src/wallets/injected/fetchStarknetInjectedWalletConnectors.js +31 -0
  36. package/src/wallets/injected/injected.cjs +141 -0
  37. package/src/wallets/injected/injected.d.ts +10 -0
  38. package/src/wallets/injected/injected.js +137 -0
  39. package/src/wallets/{metamask.cjs → injected/metamask.cjs} +19 -29
  40. package/src/wallets/{metamask.d.ts → injected/metamask.d.ts} +2 -4
  41. package/src/wallets/{metamask.js → injected/metamask.js} +15 -29
  42. package/src/starknetWalletConnector.cjs +0 -320
  43. package/src/starknetWalletConnector.d.ts +0 -127
  44. package/src/starknetWalletConnector.js +0 -314
  45. package/src/utils/starknetSnap.cjs +0 -92
  46. package/src/utils/starknetSnap.d.ts +0 -8
  47. package/src/utils/starknetSnap.js +0 -88
  48. package/src/wallets/argentx.cjs +0 -24
  49. package/src/wallets/argentx.d.ts +0 -8
  50. package/src/wallets/argentx.js +0 -20
  51. package/src/wallets/argentxBase.cjs +0 -50
  52. package/src/wallets/argentxBase.d.ts +0 -16
  53. package/src/wallets/argentxBase.js +0 -48
  54. package/src/wallets/argentxMobile.cjs +0 -100
  55. package/src/wallets/argentxMobile.d.ts +0 -13
  56. package/src/wallets/argentxMobile.js +0 -96
  57. package/src/wallets/argentxWeb.cjs +0 -57
  58. package/src/wallets/argentxWeb.d.ts +0 -8
  59. package/src/wallets/argentxWeb.js +0 -53
  60. package/src/wallets/bitget.cjs +0 -22
  61. package/src/wallets/bitget.d.ts +0 -7
  62. package/src/wallets/bitget.js +0 -18
  63. package/src/wallets/braavos.cjs +0 -37
  64. package/src/wallets/braavos.d.ts +0 -8
  65. package/src/wallets/braavos.js +0 -33
  66. package/src/wallets/okx.cjs +0 -15
  67. package/src/wallets/okx.d.ts +0 -6
  68. package/src/wallets/okx.js +0 -11
@@ -0,0 +1,5 @@
1
+ import { WalletConnectorConstructor } from '@dynamic-labs/wallet-connector-core';
2
+ import { WalletBookSchema } from '@dynamic-labs/wallet-book';
3
+ export declare const fetchStarknetInjectedWalletConnectors: ({ walletBook, }: {
4
+ walletBook: WalletBookSchema;
5
+ }) => WalletConnectorConstructor[];
@@ -0,0 +1,31 @@
1
+ 'use client'
2
+ import { Injected } from './injected.js';
3
+
4
+ const filteredStarknetWalletKeysOverrides = [
5
+ // TODO(starknet-v6): Remove once these wallets support v6
6
+ 'bitgetstarknet',
7
+ // Braavos has its own connector to implement specific logic
8
+ 'braavos',
9
+ ];
10
+ const fetchStarknetInjectedWalletConnectors = ({ walletBook, }) => {
11
+ var _a;
12
+ return Object.entries((_a = walletBook === null || walletBook === void 0 ? void 0 : walletBook.wallets) !== null && _a !== void 0 ? _a : {})
13
+ .filter(([key, wallet]) => {
14
+ var _a;
15
+ return ((_a = wallet.injectedConfig) === null || _a === void 0 ? void 0 : _a.find((config) => config.chain === 'starknet')) &&
16
+ !filteredStarknetWalletKeysOverrides.includes(key);
17
+ })
18
+ .map(([key, wallet]) => {
19
+ var _a, _b, _c;
20
+ const name = wallet.shortName || wallet.name;
21
+ const walletConnectorFallback = Boolean(wallet.walletConnect);
22
+ const id = (_c = (_b = (_a = wallet.injectedConfig) === null || _a === void 0 ? void 0 : _a[0].windowLocations) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : key;
23
+ return class extends Injected {
24
+ constructor(props) {
25
+ super(name, id, Object.assign({ name, overrideKey: key, walletBookWallet: wallet, walletConnectorFallback }, props));
26
+ }
27
+ };
28
+ });
29
+ };
30
+
31
+ export { fetchStarknetInjectedWalletConnectors };
@@ -0,0 +1,141 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../_virtual/_tslib.cjs');
7
+ var typesJs = require('@starknet-io/types-js');
8
+ var utils = require('@dynamic-labs/utils');
9
+ var StarknetWalletConnector = require('../../StarknetWalletConnector.cjs');
10
+
11
+ class Injected extends StarknetWalletConnector.StarknetWalletConnector {
12
+ constructor(name, id, props) {
13
+ super(name, id, props);
14
+ this.overrideKey = props.overrideKey;
15
+ }
16
+ prompt(options) {
17
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
18
+ const wallet = this.getWindowWallet();
19
+ if (!wallet) {
20
+ throw new utils.DynamicError('No wallet available to send RPC requests to');
21
+ }
22
+ this.logger.debug('[prompt] Sending wallet_requestAccounts with silent_mode:', options.silently);
23
+ const accounts = yield wallet.request({
24
+ params: {
25
+ silent_mode: options.silently,
26
+ },
27
+ type: 'wallet_requestAccounts',
28
+ });
29
+ this.logger.debug('[prompt] Received from wallet_requestAccounts:', accounts);
30
+ if (accounts.length === 0) {
31
+ return {
32
+ data: {
33
+ account: undefined,
34
+ chainId: undefined,
35
+ },
36
+ wallet,
37
+ };
38
+ }
39
+ const [account] = accounts;
40
+ this.logger.debug('[prompt] Sending wallet_requestChaindId');
41
+ const chainId = yield wallet.request({
42
+ type: 'wallet_requestChainId',
43
+ });
44
+ this.logger.debug('[prompt] Received from wallet_requestChainId:', chainId);
45
+ return {
46
+ data: {
47
+ account,
48
+ chainId: BigInt(chainId),
49
+ },
50
+ wallet,
51
+ };
52
+ });
53
+ }
54
+ getAddress() {
55
+ const _super = Object.create(null, {
56
+ getAddress: { get: () => super.getAddress }
57
+ });
58
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
59
+ var _a;
60
+ if (this.isInstalledOnBrowser()) {
61
+ return _super.getAddress.call(this);
62
+ }
63
+ const inAppBrowserBase = (_a = this.walletBookWallet.mobile) === null || _a === void 0 ? void 0 : _a.inAppBrowser;
64
+ if (!inAppBrowserBase || !utils.isMobile()) {
65
+ return undefined;
66
+ }
67
+ const inAppBrowserTemplate = utils.template(inAppBrowserBase);
68
+ const deepLink = inAppBrowserTemplate({
69
+ encodedDappURI: window.location.toString().replace(/http(s)?:\/\//, ''),
70
+ });
71
+ window.location.href = deepLink;
72
+ return undefined;
73
+ });
74
+ }
75
+ getConnectedAccounts() {
76
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
77
+ var _a;
78
+ if ((_a = this.walletData) === null || _a === void 0 ? void 0 : _a.account) {
79
+ this.logger.debug('[getConnectedAccounts] Found existing account:', this.walletData.account);
80
+ return [this.walletData.account];
81
+ }
82
+ const wallet = this.getWindowWallet();
83
+ if (!wallet) {
84
+ return [];
85
+ }
86
+ const silently = yield this.shouldPromptSilently(wallet);
87
+ let data;
88
+ this.logger.debug('[getConnectedAccounts] No existing account, attempting to connect with silent mode:', silently);
89
+ try {
90
+ ({ data } = yield this.prompt({
91
+ silently,
92
+ }));
93
+ }
94
+ catch (error) {
95
+ this.logger.debug(`[getConnectedAccounts] Silent connect errored out: ${error}`);
96
+ return [];
97
+ }
98
+ this.logger.debug(`[getConnectedAccounts] Connect returned account: ${data === null || data === void 0 ? void 0 : data.account}`);
99
+ if (!(data === null || data === void 0 ? void 0 : data.account)) {
100
+ return [];
101
+ }
102
+ this.walletData = data;
103
+ this.wallet = wallet;
104
+ this.setupEventListeners();
105
+ return [data.account];
106
+ });
107
+ }
108
+ shouldPromptSilently(wallet) {
109
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
110
+ /**
111
+ * In general, getConnectedAccounts should send a "silent" request to the wallet, meaning
112
+ * no popup will be displayed to the user. However, in the case that the user comes back
113
+ * to the dapp with a locked wallet, we do want to trigger a popup for the user to unlock
114
+ * their wallet, but only if their wallet has still granted permission to the dapp to access
115
+ * its data. That's what the following `wallet_getPermissions` RPC request does.
116
+ */
117
+ let silently = true;
118
+ try {
119
+ const permissions = yield wallet.request({
120
+ type: 'wallet_getPermissions',
121
+ });
122
+ if (permissions.includes(typesJs.WALLET_API.Permission.ACCOUNTS)) {
123
+ this.logger.debug('[getConnectedAccounts] Received `accounts` permission from wallet_getPermissions');
124
+ silently = false;
125
+ }
126
+ }
127
+ catch (error) {
128
+ this.logger.debug('[getConnectedAccounts] `wallet_getPermissions` threw error:', error);
129
+ }
130
+ return silently;
131
+ });
132
+ }
133
+ getWindowWallet() {
134
+ this.logger.debug('[getWindowWallet] Looking for wallet from window:', this.id);
135
+ const wallet = window[`starknet_${this.id}`];
136
+ this.logger.debug('[getWindowWallet] Lookup result:', wallet);
137
+ return wallet;
138
+ }
139
+ }
140
+
141
+ exports.Injected = Injected;
@@ -0,0 +1,10 @@
1
+ import { StarknetWalletConnector } from '../../StarknetWalletConnector';
2
+ import { PromptOptions, PromptResult } from '../../types';
3
+ export declare class Injected extends StarknetWalletConnector {
4
+ constructor(name: string, id: string, props: any);
5
+ prompt(options: PromptOptions): Promise<PromptResult>;
6
+ getAddress(): Promise<string | undefined>;
7
+ getConnectedAccounts(): Promise<string[]>;
8
+ private shouldPromptSilently;
9
+ private getWindowWallet;
10
+ }
@@ -0,0 +1,137 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../_virtual/_tslib.js';
3
+ import { WALLET_API } from '@starknet-io/types-js';
4
+ import { DynamicError, isMobile, template } from '@dynamic-labs/utils';
5
+ import { StarknetWalletConnector } from '../../StarknetWalletConnector.js';
6
+
7
+ class Injected extends StarknetWalletConnector {
8
+ constructor(name, id, props) {
9
+ super(name, id, props);
10
+ this.overrideKey = props.overrideKey;
11
+ }
12
+ prompt(options) {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ const wallet = this.getWindowWallet();
15
+ if (!wallet) {
16
+ throw new DynamicError('No wallet available to send RPC requests to');
17
+ }
18
+ this.logger.debug('[prompt] Sending wallet_requestAccounts with silent_mode:', options.silently);
19
+ const accounts = yield wallet.request({
20
+ params: {
21
+ silent_mode: options.silently,
22
+ },
23
+ type: 'wallet_requestAccounts',
24
+ });
25
+ this.logger.debug('[prompt] Received from wallet_requestAccounts:', accounts);
26
+ if (accounts.length === 0) {
27
+ return {
28
+ data: {
29
+ account: undefined,
30
+ chainId: undefined,
31
+ },
32
+ wallet,
33
+ };
34
+ }
35
+ const [account] = accounts;
36
+ this.logger.debug('[prompt] Sending wallet_requestChaindId');
37
+ const chainId = yield wallet.request({
38
+ type: 'wallet_requestChainId',
39
+ });
40
+ this.logger.debug('[prompt] Received from wallet_requestChainId:', chainId);
41
+ return {
42
+ data: {
43
+ account,
44
+ chainId: BigInt(chainId),
45
+ },
46
+ wallet,
47
+ };
48
+ });
49
+ }
50
+ getAddress() {
51
+ const _super = Object.create(null, {
52
+ getAddress: { get: () => super.getAddress }
53
+ });
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ var _a;
56
+ if (this.isInstalledOnBrowser()) {
57
+ return _super.getAddress.call(this);
58
+ }
59
+ const inAppBrowserBase = (_a = this.walletBookWallet.mobile) === null || _a === void 0 ? void 0 : _a.inAppBrowser;
60
+ if (!inAppBrowserBase || !isMobile()) {
61
+ return undefined;
62
+ }
63
+ const inAppBrowserTemplate = template(inAppBrowserBase);
64
+ const deepLink = inAppBrowserTemplate({
65
+ encodedDappURI: window.location.toString().replace(/http(s)?:\/\//, ''),
66
+ });
67
+ window.location.href = deepLink;
68
+ return undefined;
69
+ });
70
+ }
71
+ getConnectedAccounts() {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ var _a;
74
+ if ((_a = this.walletData) === null || _a === void 0 ? void 0 : _a.account) {
75
+ this.logger.debug('[getConnectedAccounts] Found existing account:', this.walletData.account);
76
+ return [this.walletData.account];
77
+ }
78
+ const wallet = this.getWindowWallet();
79
+ if (!wallet) {
80
+ return [];
81
+ }
82
+ const silently = yield this.shouldPromptSilently(wallet);
83
+ let data;
84
+ this.logger.debug('[getConnectedAccounts] No existing account, attempting to connect with silent mode:', silently);
85
+ try {
86
+ ({ data } = yield this.prompt({
87
+ silently,
88
+ }));
89
+ }
90
+ catch (error) {
91
+ this.logger.debug(`[getConnectedAccounts] Silent connect errored out: ${error}`);
92
+ return [];
93
+ }
94
+ this.logger.debug(`[getConnectedAccounts] Connect returned account: ${data === null || data === void 0 ? void 0 : data.account}`);
95
+ if (!(data === null || data === void 0 ? void 0 : data.account)) {
96
+ return [];
97
+ }
98
+ this.walletData = data;
99
+ this.wallet = wallet;
100
+ this.setupEventListeners();
101
+ return [data.account];
102
+ });
103
+ }
104
+ shouldPromptSilently(wallet) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ /**
107
+ * In general, getConnectedAccounts should send a "silent" request to the wallet, meaning
108
+ * no popup will be displayed to the user. However, in the case that the user comes back
109
+ * to the dapp with a locked wallet, we do want to trigger a popup for the user to unlock
110
+ * their wallet, but only if their wallet has still granted permission to the dapp to access
111
+ * its data. That's what the following `wallet_getPermissions` RPC request does.
112
+ */
113
+ let silently = true;
114
+ try {
115
+ const permissions = yield wallet.request({
116
+ type: 'wallet_getPermissions',
117
+ });
118
+ if (permissions.includes(WALLET_API.Permission.ACCOUNTS)) {
119
+ this.logger.debug('[getConnectedAccounts] Received `accounts` permission from wallet_getPermissions');
120
+ silently = false;
121
+ }
122
+ }
123
+ catch (error) {
124
+ this.logger.debug('[getConnectedAccounts] `wallet_getPermissions` threw error:', error);
125
+ }
126
+ return silently;
127
+ });
128
+ }
129
+ getWindowWallet() {
130
+ this.logger.debug('[getWindowWallet] Looking for wallet from window:', this.id);
131
+ const wallet = window[`starknet_${this.id}`];
132
+ this.logger.debug('[getWindowWallet] Lookup result:', wallet);
133
+ return wallet;
134
+ }
135
+ }
136
+
137
+ export { Injected };
@@ -3,25 +3,30 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var _tslib = require('../../_virtual/_tslib.cjs');
7
- var utils = require('@dynamic-labs/utils');
6
+ var _tslib = require('../../../_virtual/_tslib.cjs');
7
+ var starknet = require('@starknet-io/get-starknet-core');
8
8
  var logger$1 = require('@dynamic-labs/logger');
9
- var starknetWalletConnector = require('../starknetWalletConnector.cjs');
10
- var starknetSnap = require('../utils/starknetSnap.cjs');
9
+ var injected = require('./injected.cjs');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var starknet__default = /*#__PURE__*/_interopDefaultLegacy(starknet);
11
14
 
12
15
  const logger = new logger$1.Logger('MetaMask Starknet Snap', logger$1.LogLevel.INFO);
13
- class MetaMask extends starknetWalletConnector["default"] {
16
+ class MetaMask extends injected.Injected {
14
17
  constructor(opts) {
15
- super('MetaMask Starknet', 'metamask_snap', opts);
18
+ super('MetaMask Starknet', 'metamask', opts);
16
19
  this.overrideKey = 'metamaskstarknet';
17
- const { providers } = utils.Eip6963ProviderSingleton.get();
18
- const metamaskProvider = providers.find((p) => ['io.metamask', 'io.metamask.flask'].includes(p.info.rdns));
19
- if (metamaskProvider) {
20
- this.provider = metamaskProvider.provider;
21
- }
22
- if (!window.starknet_metamask_snap && metamaskProvider) {
23
- window.starknet_metamask_snap = starknetSnap.createMetaMaskProviderWrapper(metamaskProvider.provider);
24
- }
20
+ starknet__default["default"].discoverVirtualWallets().then(() => {
21
+ starknet__default["default"].getAvailableWallets().then((wallets) => {
22
+ const metaMaskProvider = wallets.find((wallet) => wallet.id === 'metamask');
23
+ if (metaMaskProvider) {
24
+ // Justification: Checked with the Snap team, the provider is available on the window object
25
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
+ this.provider = metaMaskProvider.provider;
27
+ }
28
+ });
29
+ });
25
30
  }
26
31
  getNetwork() {
27
32
  return _tslib.__awaiter(this, void 0, void 0, function* () {
@@ -101,21 +106,6 @@ class MetaMask extends starknetWalletConnector["default"] {
101
106
  this.teardownEventListeners();
102
107
  });
103
108
  }
104
- getConnectedAccounts() {
105
- return _tslib.__awaiter(this, void 0, void 0, function* () {
106
- const wallet = this.getWallet();
107
- if (!wallet) {
108
- return [];
109
- }
110
- const isProviderConnected = this.isProviderConnected();
111
- const isPreauthorized = yield wallet.isPreauthorized();
112
- const shouldReconnect = !isProviderConnected && isPreauthorized;
113
- if (shouldReconnect) {
114
- yield this.connect();
115
- }
116
- return wallet.selectedAddress ? [wallet.selectedAddress] : [];
117
- });
118
- }
119
109
  }
120
110
 
121
111
  exports.MetaMask = MetaMask;
@@ -1,6 +1,5 @@
1
- import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
2
- import StarknetProvider from '../starknetWalletConnector';
3
- export declare class MetaMask extends StarknetProvider implements WalletConnectorBase {
1
+ import { Injected } from './injected';
2
+ export declare class MetaMask extends Injected {
4
3
  overrideKey: string;
5
4
  private currentChainId;
6
5
  private intervalId;
@@ -10,5 +9,4 @@ export declare class MetaMask extends StarknetProvider implements WalletConnecto
10
9
  setupEventListeners(): void;
11
10
  teardownEventListeners(): Promise<void>;
12
11
  endSession(): Promise<void>;
13
- getConnectedAccounts(): Promise<string[]>;
14
12
  }
@@ -1,23 +1,24 @@
1
1
  'use client'
2
- import { __awaiter } from '../../_virtual/_tslib.js';
3
- import { Eip6963ProviderSingleton } from '@dynamic-labs/utils';
2
+ import { __awaiter } from '../../../_virtual/_tslib.js';
3
+ import starknet from '@starknet-io/get-starknet-core';
4
4
  import { Logger, LogLevel } from '@dynamic-labs/logger';
5
- import StarknetWalletConnector from '../starknetWalletConnector.js';
6
- import { createMetaMaskProviderWrapper } from '../utils/starknetSnap.js';
5
+ import { Injected } from './injected.js';
7
6
 
8
7
  const logger = new Logger('MetaMask Starknet Snap', LogLevel.INFO);
9
- class MetaMask extends StarknetWalletConnector {
8
+ class MetaMask extends Injected {
10
9
  constructor(opts) {
11
- super('MetaMask Starknet', 'metamask_snap', opts);
10
+ super('MetaMask Starknet', 'metamask', opts);
12
11
  this.overrideKey = 'metamaskstarknet';
13
- const { providers } = Eip6963ProviderSingleton.get();
14
- const metamaskProvider = providers.find((p) => ['io.metamask', 'io.metamask.flask'].includes(p.info.rdns));
15
- if (metamaskProvider) {
16
- this.provider = metamaskProvider.provider;
17
- }
18
- if (!window.starknet_metamask_snap && metamaskProvider) {
19
- window.starknet_metamask_snap = createMetaMaskProviderWrapper(metamaskProvider.provider);
20
- }
12
+ starknet.discoverVirtualWallets().then(() => {
13
+ starknet.getAvailableWallets().then((wallets) => {
14
+ const metaMaskProvider = wallets.find((wallet) => wallet.id === 'metamask');
15
+ if (metaMaskProvider) {
16
+ // Justification: Checked with the Snap team, the provider is available on the window object
17
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
+ this.provider = metaMaskProvider.provider;
19
+ }
20
+ });
21
+ });
21
22
  }
22
23
  getNetwork() {
23
24
  return __awaiter(this, void 0, void 0, function* () {
@@ -97,21 +98,6 @@ class MetaMask extends StarknetWalletConnector {
97
98
  this.teardownEventListeners();
98
99
  });
99
100
  }
100
- getConnectedAccounts() {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- const wallet = this.getWallet();
103
- if (!wallet) {
104
- return [];
105
- }
106
- const isProviderConnected = this.isProviderConnected();
107
- const isPreauthorized = yield wallet.isPreauthorized();
108
- const shouldReconnect = !isProviderConnected && isPreauthorized;
109
- if (shouldReconnect) {
110
- yield this.connect();
111
- }
112
- return wallet.selectedAddress ? [wallet.selectedAddress] : [];
113
- });
114
- }
115
101
  }
116
102
 
117
103
  export { MetaMask };