@dynamic-labs/multi-wallet 0.17.0-RC.0 → 0.17.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.
Files changed (112) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/package.json +3 -3
  3. package/src/index.cjs +2 -2
  4. package/src/index.d.ts +1 -1
  5. package/src/index.js +1 -1
  6. package/src/multi-wallet.cjs +5 -8
  7. package/src/multi-wallet.js +5 -8
  8. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +2 -2
  9. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +2 -2
  10. package/src/utils/message.cjs +1 -1
  11. package/src/utils/message.js +1 -1
  12. package/src/utils/walletConnect.cjs +1 -1
  13. package/src/wallets/algorand/{myalgo.cjs → MyAlgoWalletConnector.cjs} +4 -42
  14. package/src/wallets/algorand/MyAlgoWalletConnector.d.ts +21 -0
  15. package/src/wallets/algorand/{myalgo.js → MyAlgoWalletConnector.js} +4 -42
  16. package/src/wallets/clients/coinbase/coinbase.cjs +2 -6
  17. package/src/wallets/clients/coinbase/coinbase.js +1 -1
  18. package/src/wallets/cosmos/{keplrWalletConnect.cjs → KeplrWalletConnect.cjs} +9 -25
  19. package/src/wallets/cosmos/{keplrWalletConnect.d.ts → KeplrWalletConnect.d.ts} +6 -14
  20. package/src/wallets/cosmos/{keplrWalletConnect.js → KeplrWalletConnect.js} +9 -25
  21. package/src/wallets/cosmos/{keplr.cjs → KeplrWalletConnector.cjs} +5 -17
  22. package/src/wallets/cosmos/{keplr.d.ts → KeplrWalletConnector.d.ts} +5 -13
  23. package/src/wallets/cosmos/{keplr.js → KeplrWalletConnector.js} +5 -17
  24. package/src/wallets/cosmos/getKeplrConnector.cjs +6 -6
  25. package/src/wallets/cosmos/getKeplrConnector.d.ts +3 -3
  26. package/src/wallets/cosmos/getKeplrConnector.js +3 -3
  27. package/src/wallets/cosmos/index.d.ts +1 -1
  28. package/src/wallets/ethereum/BloctoEvm.cjs +2 -31
  29. package/src/wallets/ethereum/BloctoEvm.d.ts +4 -13
  30. package/src/wallets/ethereum/BloctoEvm.js +2 -31
  31. package/src/wallets/ethereum/{ethProvider.cjs → EthWalletConnector.cjs} +38 -18
  32. package/src/wallets/ethereum/{ethProvider.d.ts → EthWalletConnector.d.ts} +4 -4
  33. package/src/wallets/ethereum/{ethProvider.js → EthWalletConnector.js} +38 -18
  34. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +9 -4
  35. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +5 -5
  36. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +9 -4
  37. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +1 -1
  38. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +2 -2
  39. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +1 -1
  40. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +1 -2
  41. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +2 -3
  42. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +1 -2
  43. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -1
  44. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -1
  45. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +6 -13
  46. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +3 -10
  47. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +6 -13
  48. package/src/wallets/ethereum/coinbase.cjs +2 -18
  49. package/src/wallets/ethereum/coinbase.d.ts +3 -8
  50. package/src/wallets/ethereum/coinbase.js +2 -18
  51. package/src/wallets/ethereum/ethProviderHelper.cjs +16 -9
  52. package/src/wallets/ethereum/ethProviderHelper.js +16 -9
  53. package/src/wallets/ethereum/fortmatic.cjs +2 -25
  54. package/src/wallets/ethereum/fortmatic.d.ts +3 -11
  55. package/src/wallets/ethereum/fortmatic.js +2 -25
  56. package/src/wallets/ethereum/meta-mask.cjs +2 -9
  57. package/src/wallets/ethereum/meta-mask.d.ts +3 -7
  58. package/src/wallets/ethereum/meta-mask.js +2 -9
  59. package/src/wallets/flow/{flow-provider.cjs → FlowWalletConnector.cjs} +6 -33
  60. package/src/wallets/flow/{flow-provider.d.ts → FlowWalletConnector.d.ts} +4 -11
  61. package/src/wallets/flow/{flow-provider.js → FlowWalletConnector.js} +6 -33
  62. package/src/wallets/flow/blocto.cjs +2 -10
  63. package/src/wallets/flow/blocto.d.ts +2 -8
  64. package/src/wallets/flow/blocto.js +2 -10
  65. package/src/wallets/flow/dapper.cjs +2 -10
  66. package/src/wallets/flow/dapper.d.ts +2 -8
  67. package/src/wallets/flow/dapper.js +2 -10
  68. package/src/wallets/flow/lilico.cjs +2 -11
  69. package/src/wallets/flow/lilico.d.ts +2 -9
  70. package/src/wallets/flow/lilico.js +2 -11
  71. package/src/wallets/getMobileOrInjectedWallet.cjs +1 -1
  72. package/src/wallets/getMobileOrInjectedWallet.d.ts +1 -3
  73. package/src/wallets/getWalletConnectConnector.cjs +3 -2
  74. package/src/wallets/getWalletConnectConnector.d.ts +2 -1
  75. package/src/wallets/getWalletConnectConnector.js +2 -1
  76. package/src/wallets/solana/CoinbaseSolana.cjs +2 -25
  77. package/src/wallets/solana/CoinbaseSolana.d.ts +3 -12
  78. package/src/wallets/solana/CoinbaseSolana.js +2 -25
  79. package/src/wallets/solana/glow.cjs +2 -25
  80. package/src/wallets/solana/glow.d.ts +3 -12
  81. package/src/wallets/solana/glow.js +2 -25
  82. package/src/wallets/solana/phantom.cjs +2 -25
  83. package/src/wallets/solana/phantom.d.ts +3 -12
  84. package/src/wallets/solana/phantom.js +2 -25
  85. package/src/wallets/solana/slope.cjs +2 -31
  86. package/src/wallets/solana/slope.d.ts +2 -14
  87. package/src/wallets/solana/slope.js +2 -31
  88. package/src/wallets/solana/{solProvider.cjs → solWalletConnector.cjs} +6 -11
  89. package/src/wallets/solana/{solProvider.d.ts → solWalletConnector.d.ts} +4 -4
  90. package/src/wallets/solana/{solProvider.js → solWalletConnector.js} +6 -11
  91. package/src/wallets/solana/solflare.cjs +2 -31
  92. package/src/wallets/solana/solflare.d.ts +2 -14
  93. package/src/wallets/solana/solflare.js +2 -31
  94. package/src/wallets/starknet/argentx.cjs +2 -2
  95. package/src/wallets/starknet/argentx.d.ts +1 -1
  96. package/src/wallets/starknet/argentx.js +2 -2
  97. package/src/wallets/starknet/braavos.cjs +2 -2
  98. package/src/wallets/starknet/braavos.d.ts +1 -1
  99. package/src/wallets/starknet/braavos.js +2 -2
  100. package/src/wallets/starknet/{starknetProvider.cjs → starknetWalletConnector.cjs} +4 -34
  101. package/src/wallets/starknet/{starknetProvider.d.ts → starknetWalletConnector.d.ts} +3 -14
  102. package/src/wallets/starknet/{starknetProvider.js → starknetWalletConnector.js} +4 -34
  103. package/src/wallets/walletConnect/walletConnect.cjs +2 -19
  104. package/src/wallets/walletConnect/walletConnect.d.ts +3 -8
  105. package/src/wallets/walletConnect/walletConnect.js +2 -19
  106. package/src/wallets/walletConnect/walletConnectV2.cjs +69 -83
  107. package/src/wallets/walletConnect/walletConnectV2.d.ts +10 -12
  108. package/src/wallets/walletConnect/walletConnectV2.js +69 -80
  109. package/src/wallets/algorand/myalgo.d.ts +0 -36
  110. package/src/wallets/initializeWalletProviders.cjs +0 -14
  111. package/src/wallets/initializeWalletProviders.d.ts +0 -6
  112. package/src/wallets/initializeWalletProviders.js +0 -10
@@ -1,16 +1,16 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import { Connection, PublicKey } from '@solana/web3.js';
3
+ import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
3
4
  import { getSolanaDefaultRpcProvider } from '../../rpcProviders.js';
4
5
  import { DynamicError } from '../../errors.js';
5
6
 
6
- class SolProvider {
7
+ class SolWalletConnector extends WalletConnectorBase {
7
8
  constructor({ solNetworks }) {
8
- this.canConnectViaSocial = false;
9
+ super();
10
+ this.supportedChains = ['SOL'];
11
+ this.connectedChain = 'SOL';
9
12
  this.solNetworks = solNetworks;
10
13
  }
11
- getDeepLink() {
12
- return undefined;
13
- }
14
14
  getWeb3Provider() {
15
15
  var _a;
16
16
  const [network] = this.solNetworks;
@@ -34,11 +34,6 @@ class SolProvider {
34
34
  return (_a = getSolanaDefaultRpcProvider(configurations)) === null || _a === void 0 ? void 0 : _a.provider;
35
35
  });
36
36
  }
37
- getNetwork() {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- return undefined;
40
- });
41
- }
42
37
  getBalance() {
43
38
  return __awaiter(this, void 0, void 0, function* () {
44
39
  const signer = yield this.getSigner();
@@ -55,4 +50,4 @@ class SolProvider {
55
50
  }
56
51
  }
57
52
 
58
- export { SolProvider };
53
+ export { SolWalletConnector };
@@ -1,32 +1,16 @@
1
1
  'use strict';
2
2
 
3
3
  var tslib = require('tslib');
4
- var errors = require('../../errors.cjs');
5
4
  var convertors = require('../../utils/convertors.cjs');
6
- var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
7
- var solProvider = require('./solProvider.cjs');
5
+ var solWalletConnector = require('./solWalletConnector.cjs');
8
6
  var solProviderHelper = require('./solProviderHelper.cjs');
9
7
 
10
- class Solflare extends solProvider.SolProvider {
8
+ class Solflare extends solWalletConnector.SolWalletConnector {
11
9
  constructor() {
12
10
  super(...arguments);
13
11
  this.name = 'Solflare';
14
- this.supportedChains = ['SOL'];
15
- this.connectedChain = 'SOL';
16
- this.canConnectViaQrCode = false;
17
- this.canConnectViaCustodialService = false;
18
- this.isWalletConnect = false;
19
12
  this.solProviderHelper = new solProviderHelper.SolProviderHelper();
20
13
  }
21
- get key() {
22
- return normalizeWalletName.normalizeWalletName(this.name);
23
- }
24
- setupEventListeners() {
25
- return;
26
- }
27
- teardownEventListeners() {
28
- return;
29
- }
30
14
  isInstalledOnBrowser() {
31
15
  return this.solProviderHelper.isInstalledHelper(this.name);
32
16
  }
@@ -71,19 +55,6 @@ class Solflare extends solProvider.SolProvider {
71
55
  : undefined;
72
56
  });
73
57
  }
74
- proveOwnership(messageToSign) {
75
- return tslib.__awaiter(this, void 0, void 0, function* () {
76
- return this.signMessage(messageToSign);
77
- });
78
- }
79
- supportsNetworkSwitching() {
80
- return false;
81
- }
82
- switchNetwork() {
83
- return tslib.__awaiter(this, void 0, void 0, function* () {
84
- throw new errors.DynamicError('Not supported');
85
- });
86
- }
87
58
  getConnectedAccounts() {
88
59
  return tslib.__awaiter(this, void 0, void 0, function* () {
89
60
  return this.solProviderHelper.getConnectedAccountsWithName(this.name);
@@ -1,26 +1,14 @@
1
- import { Chain, WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
1
  import { ISolana } from '../window';
3
- import { SolProvider } from './solProvider';
2
+ import { SolWalletConnector } from './solWalletConnector';
4
3
  import { SolProviderHelper } from './solProviderHelper';
5
- declare class Solflare extends SolProvider implements WalletConnector {
4
+ declare class Solflare extends SolWalletConnector {
6
5
  name: string;
7
- supportedChains: Chain[];
8
- connectedChain: Chain;
9
- canConnectViaQrCode: boolean;
10
- canConnectViaCustodialService: boolean;
11
- isWalletConnect: boolean;
12
6
  solProviderHelper: SolProviderHelper;
13
- get key(): string;
14
- setupEventListeners(): void;
15
- teardownEventListeners(): void;
16
7
  isInstalledOnBrowser(): boolean;
17
8
  fetchPublicAddress(): Promise<string | undefined>;
18
9
  connect(): Promise<void>;
19
10
  getSigner(): Promise<ISolana | undefined>;
20
11
  signMessage(messageToSign: string): Promise<string | undefined>;
21
- proveOwnership(messageToSign: string): Promise<string | undefined>;
22
- supportsNetworkSwitching(): boolean;
23
- switchNetwork(): Promise<void>;
24
12
  getConnectedAccounts(): Promise<string[]>;
25
13
  }
26
14
  export default Solflare;
@@ -1,30 +1,14 @@
1
1
  import { __awaiter } from 'tslib';
2
- import { DynamicError } from '../../errors.js';
3
2
  import { bufferToBase64 } from '../../utils/convertors.js';
4
- import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
5
- import { SolProvider } from './solProvider.js';
3
+ import { SolWalletConnector } from './solWalletConnector.js';
6
4
  import { SolProviderHelper } from './solProviderHelper.js';
7
5
 
8
- class Solflare extends SolProvider {
6
+ class Solflare extends SolWalletConnector {
9
7
  constructor() {
10
8
  super(...arguments);
11
9
  this.name = 'Solflare';
12
- this.supportedChains = ['SOL'];
13
- this.connectedChain = 'SOL';
14
- this.canConnectViaQrCode = false;
15
- this.canConnectViaCustodialService = false;
16
- this.isWalletConnect = false;
17
10
  this.solProviderHelper = new SolProviderHelper();
18
11
  }
19
- get key() {
20
- return normalizeWalletName(this.name);
21
- }
22
- setupEventListeners() {
23
- return;
24
- }
25
- teardownEventListeners() {
26
- return;
27
- }
28
12
  isInstalledOnBrowser() {
29
13
  return this.solProviderHelper.isInstalledHelper(this.name);
30
14
  }
@@ -69,19 +53,6 @@ class Solflare extends SolProvider {
69
53
  : undefined;
70
54
  });
71
55
  }
72
- proveOwnership(messageToSign) {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- return this.signMessage(messageToSign);
75
- });
76
- }
77
- supportsNetworkSwitching() {
78
- return false;
79
- }
80
- switchNetwork() {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- throw new DynamicError('Not supported');
83
- });
84
- }
85
56
  getConnectedAccounts() {
86
57
  return __awaiter(this, void 0, void 0, function* () {
87
58
  return this.solProviderHelper.getConnectedAccountsWithName(this.name);
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var tslib = require('tslib');
4
- var starknetProvider = require('./starknetProvider.cjs');
4
+ var starknetWalletConnector = require('./starknetWalletConnector.cjs');
5
5
 
6
- class ArgentX extends starknetProvider {
6
+ class ArgentX extends starknetWalletConnector {
7
7
  constructor() {
8
8
  super('Argent X', 'argentX');
9
9
  }
@@ -1,5 +1,5 @@
1
1
  import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
- import StarknetProvider from './starknetProvider';
2
+ import StarknetProvider from './starknetWalletConnector';
3
3
  declare class ArgentX extends StarknetProvider implements WalletConnector {
4
4
  constructor();
5
5
  getConnectedAccounts(): Promise<string[]>;
@@ -1,7 +1,7 @@
1
1
  import { __awaiter } from 'tslib';
2
- import StarknetProvider from './starknetProvider.js';
2
+ import StarknetWalletConnector from './starknetWalletConnector.js';
3
3
 
4
- class ArgentX extends StarknetProvider {
4
+ class ArgentX extends StarknetWalletConnector {
5
5
  constructor() {
6
6
  super('Argent X', 'argentX');
7
7
  }
@@ -2,9 +2,9 @@
2
2
 
3
3
  var tslib = require('tslib');
4
4
  var isMobile = require('../../utils/isMobile.cjs');
5
- var starknetProvider = require('./starknetProvider.cjs');
5
+ var starknetWalletConnector = require('./starknetWalletConnector.cjs');
6
6
 
7
- class Braavos extends starknetProvider {
7
+ class Braavos extends starknetWalletConnector {
8
8
  constructor() {
9
9
  super('Braavos', 'braavos');
10
10
  }
@@ -1,5 +1,5 @@
1
1
  import type { WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
- import StarknetProvider from './starknetProvider';
2
+ import StarknetProvider from './starknetWalletConnector';
3
3
  declare class Braavos extends StarknetProvider implements WalletConnector {
4
4
  constructor();
5
5
  fetchPublicAddress(): Promise<string | undefined>;
@@ -1,8 +1,8 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import { isMobile } from '../../utils/isMobile.js';
3
- import StarknetProvider from './starknetProvider.js';
3
+ import StarknetWalletConnector from './starknetWalletConnector.js';
4
4
 
5
- class Braavos extends StarknetProvider {
5
+ class Braavos extends StarknetWalletConnector {
6
6
  constructor() {
7
7
  super('Braavos', 'braavos');
8
8
  }
@@ -5,8 +5,8 @@ var getStarknet = require('get-starknet');
5
5
  var starknet = require('starknet');
6
6
  var constants = require('starknet/constants');
7
7
  var uint256 = require('starknet/dist/utils/uint256');
8
+ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
9
  var errors = require('../../errors.cjs');
9
- var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
10
10
  var logger = require('../../utils/logger.cjs');
11
11
  var convertors = require('../../utils/convertors.cjs');
12
12
  var constants$1 = require('../constants.cjs');
@@ -14,20 +14,14 @@ var ethereumContractAbi = require('./ethereumContractAbi.cjs');
14
14
 
15
15
  const ACCOUNT_CHANGED_EVENT_LISTENER = 'accountsChanged';
16
16
  const NETWORK_CHANGED_EVENT_LISTENER = 'networkChanged';
17
- class StarknetProvider {
17
+ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
18
18
  constructor(name, windowKey) {
19
+ super();
19
20
  this.connectedChain = 'STARK';
20
21
  this.supportedChains = ['STARK'];
21
- this.canConnectViaSocial = false;
22
- this.canConnectViaQrCode = false;
23
- this.canConnectViaCustodialService = false;
24
- this.isWalletConnect = false;
25
22
  this.name = name;
26
23
  this.windowKey = windowKey;
27
24
  }
28
- get key() {
29
- return normalizeWalletName.normalizeWalletName(this.name);
30
- }
31
25
  connect() {
32
26
  return tslib.__awaiter(this, void 0, void 0, function* () {
33
27
  const wallet = yield this.getWallet();
@@ -48,11 +42,6 @@ class StarknetProvider {
48
42
  return Promise.resolve(wallet === null || wallet === void 0 ? void 0 : wallet.selectedAddress);
49
43
  });
50
44
  }
51
- getNetwork() {
52
- return tslib.__awaiter(this, void 0, void 0, function* () {
53
- return undefined;
54
- });
55
- }
56
45
  getSigner() {
57
46
  return tslib.__awaiter(this, void 0, void 0, function* () {
58
47
  const wallet = yield this.getWallet();
@@ -74,11 +63,6 @@ class StarknetProvider {
74
63
  return wallet === null || wallet === void 0 ? void 0 : wallet.provider;
75
64
  });
76
65
  }
77
- getRpcProvider() {
78
- return tslib.__awaiter(this, void 0, void 0, function* () {
79
- return;
80
- });
81
- }
82
66
  signMessage(messageToSign) {
83
67
  return tslib.__awaiter(this, void 0, void 0, function* () {
84
68
  const wallet = yield this.getWallet();
@@ -94,11 +78,6 @@ class StarknetProvider {
94
78
  return signature === null || signature === void 0 ? void 0 : signature.join(',');
95
79
  });
96
80
  }
97
- proveOwnership(messageToSign) {
98
- return tslib.__awaiter(this, void 0, void 0, function* () {
99
- return this.signMessage(messageToSign);
100
- });
101
- }
102
81
  getBalance() {
103
82
  return tslib.__awaiter(this, void 0, void 0, function* () {
104
83
  const walletAddress = yield this.fetchPublicAddress();
@@ -143,12 +122,6 @@ class StarknetProvider {
143
122
  const starknetWindowInstance = (_a = window[`starknet_${this.windowKey}`]) !== null && _a !== void 0 ? _a : window['starknet'];
144
123
  return (starknetWindowInstance === null || starknetWindowInstance === void 0 ? void 0 : starknetWindowInstance.name) === this.name;
145
124
  }
146
- supportsNetworkSwitching() {
147
- return false;
148
- }
149
- switchNetwork() {
150
- throw new errors.DynamicError('switchNetwork - Not supported');
151
- }
152
125
  getConnectedAccounts() {
153
126
  return tslib.__awaiter(this, void 0, void 0, function* () {
154
127
  const wallet = yield this.getWallet();
@@ -193,9 +166,6 @@ class StarknetProvider {
193
166
  }
194
167
  });
195
168
  }
196
- getDeepLink() {
197
- return undefined;
198
- }
199
169
  }
200
170
 
201
- module.exports = StarknetProvider;
171
+ module.exports = StarknetWalletConnector;
@@ -1,6 +1,6 @@
1
1
  import { IStarknetWindowObject } from 'get-starknet';
2
2
  import { AccountInterface, ProviderInterface } from 'starknet';
3
- import { Chain, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
+ import { Chain, WalletConnectorBase, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
4
4
  type AccountChangeEventHandler = (address: {
5
5
  toString(): string;
6
6
  }) => Promise<void>;
@@ -8,38 +8,27 @@ type NetworkChangeEventHandler = (network: {
8
8
  toString(): string;
9
9
  }) => Promise<void>;
10
10
  type WalletKeys = 'braavos' | 'argentX';
11
- declare abstract class StarknetProvider implements WalletConnector {
11
+ declare abstract class StarknetWalletConnector extends WalletConnectorBase {
12
12
  name: string;
13
13
  windowKey: WalletKeys;
14
14
  connectedChain: Chain;
15
15
  supportedChains: Chain[];
16
- canConnectViaSocial: boolean;
17
- canConnectViaQrCode: boolean;
18
- canConnectViaCustodialService: boolean;
19
- isWalletConnect: boolean;
20
16
  wallet: IStarknetWindowObject | undefined;
21
17
  handleAccountChange: AccountChangeEventHandler | undefined;
22
18
  handleNetworkChange: NetworkChangeEventHandler | undefined;
23
19
  constructor(name: string, windowKey: WalletKeys);
24
- get key(): string;
25
20
  connect(): Promise<void>;
26
21
  fetchPublicAddress(): Promise<string | undefined>;
27
- getNetwork(): Promise<number | undefined>;
28
22
  getSigner(): Promise<AccountInterface | undefined>;
29
23
  getWallet(): Promise<IStarknetWindowObject | undefined>;
30
24
  getWeb3Provider(): Promise<ProviderInterface | undefined>;
31
- getRpcProvider(): Promise<void>;
32
25
  signMessage(messageToSign: string): Promise<string | undefined>;
33
- proveOwnership(messageToSign: string): Promise<string | undefined>;
34
26
  getBalance(): Promise<string | undefined>;
35
27
  endSession(): Promise<void>;
36
28
  getStarknetWindowObject(): IStarknetWindowObject | undefined;
37
29
  isInstalledOnBrowser(): boolean;
38
- supportsNetworkSwitching(): boolean;
39
- switchNetwork(): Promise<void>;
40
30
  getConnectedAccounts(): Promise<string[]>;
41
31
  setupEventListeners(listeners: WalletEventListeners): void;
42
32
  teardownEventListeners(): Promise<void>;
43
- getDeepLink(): string | undefined;
44
33
  }
45
- export default StarknetProvider;
34
+ export default StarknetWalletConnector;
@@ -3,8 +3,8 @@ import { getInstalledWallets, disconnect } from 'get-starknet';
3
3
  import { Contract } from 'starknet';
4
4
  import { StarknetChainId } from 'starknet/constants.js';
5
5
  import { uint256ToBN } from 'starknet/dist/utils/uint256.js';
6
+ import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
6
7
  import { DynamicError } from '../../errors.js';
7
- import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
8
8
  import { logger } from '../../utils/logger.js';
9
9
  import { formatTypedDataMessage } from '../../utils/convertors.js';
10
10
  import { ETH_STARKNET_ADDRESS } from '../constants.js';
@@ -12,20 +12,14 @@ import ETH_CONTRACT_ABI from './ethereumContractAbi.js';
12
12
 
13
13
  const ACCOUNT_CHANGED_EVENT_LISTENER = 'accountsChanged';
14
14
  const NETWORK_CHANGED_EVENT_LISTENER = 'networkChanged';
15
- class StarknetProvider {
15
+ class StarknetWalletConnector extends WalletConnectorBase {
16
16
  constructor(name, windowKey) {
17
+ super();
17
18
  this.connectedChain = 'STARK';
18
19
  this.supportedChains = ['STARK'];
19
- this.canConnectViaSocial = false;
20
- this.canConnectViaQrCode = false;
21
- this.canConnectViaCustodialService = false;
22
- this.isWalletConnect = false;
23
20
  this.name = name;
24
21
  this.windowKey = windowKey;
25
22
  }
26
- get key() {
27
- return normalizeWalletName(this.name);
28
- }
29
23
  connect() {
30
24
  return __awaiter(this, void 0, void 0, function* () {
31
25
  const wallet = yield this.getWallet();
@@ -46,11 +40,6 @@ class StarknetProvider {
46
40
  return Promise.resolve(wallet === null || wallet === void 0 ? void 0 : wallet.selectedAddress);
47
41
  });
48
42
  }
49
- getNetwork() {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- return undefined;
52
- });
53
- }
54
43
  getSigner() {
55
44
  return __awaiter(this, void 0, void 0, function* () {
56
45
  const wallet = yield this.getWallet();
@@ -72,11 +61,6 @@ class StarknetProvider {
72
61
  return wallet === null || wallet === void 0 ? void 0 : wallet.provider;
73
62
  });
74
63
  }
75
- getRpcProvider() {
76
- return __awaiter(this, void 0, void 0, function* () {
77
- return;
78
- });
79
- }
80
64
  signMessage(messageToSign) {
81
65
  return __awaiter(this, void 0, void 0, function* () {
82
66
  const wallet = yield this.getWallet();
@@ -92,11 +76,6 @@ class StarknetProvider {
92
76
  return signature === null || signature === void 0 ? void 0 : signature.join(',');
93
77
  });
94
78
  }
95
- proveOwnership(messageToSign) {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- return this.signMessage(messageToSign);
98
- });
99
- }
100
79
  getBalance() {
101
80
  return __awaiter(this, void 0, void 0, function* () {
102
81
  const walletAddress = yield this.fetchPublicAddress();
@@ -141,12 +120,6 @@ class StarknetProvider {
141
120
  const starknetWindowInstance = (_a = window[`starknet_${this.windowKey}`]) !== null && _a !== void 0 ? _a : window['starknet'];
142
121
  return (starknetWindowInstance === null || starknetWindowInstance === void 0 ? void 0 : starknetWindowInstance.name) === this.name;
143
122
  }
144
- supportsNetworkSwitching() {
145
- return false;
146
- }
147
- switchNetwork() {
148
- throw new DynamicError('switchNetwork - Not supported');
149
- }
150
123
  getConnectedAccounts() {
151
124
  return __awaiter(this, void 0, void 0, function* () {
152
125
  const wallet = yield this.getWallet();
@@ -191,9 +164,6 @@ class StarknetProvider {
191
164
  }
192
165
  });
193
166
  }
194
- getDeepLink() {
195
- return undefined;
196
- }
197
167
  }
198
168
 
199
- export { StarknetProvider as default };
169
+ export { StarknetWalletConnector as default };
@@ -5,7 +5,7 @@ var WalletConnectProvider = require('@walletconnect/ethereum-provider');
5
5
  var ethers = require('ethers');
6
6
  var walletBook = require('@dynamic-labs/wallet-book');
7
7
  var constants = require('../constants.cjs');
8
- var ethProvider = require('../ethereum/ethProvider.cjs');
8
+ var EthWalletConnector = require('../ethereum/EthWalletConnector.cjs');
9
9
  var walletConnect = require('../clients/walletConnect/walletConnect.cjs');
10
10
  var isMobile = require('../../utils/isMobile.cjs');
11
11
  var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
@@ -15,20 +15,16 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
15
15
 
16
16
  var WalletConnectProvider__default = /*#__PURE__*/_interopDefaultLegacy(WalletConnectProvider);
17
17
 
18
- class WalletConnect extends ethProvider.EthProvider {
18
+ class WalletConnect extends EthWalletConnector.EthWalletConnector {
19
19
  constructor({ walletName, evmNetworks, }) {
20
20
  super({ evmNetworks });
21
21
  this.supportedChains = ['EVM', 'ETH'];
22
22
  this.connectedChain = 'EVM';
23
23
  this.canConnectViaQrCode = true;
24
- this.canConnectViaCustodialService = false;
25
24
  this.isWalletConnect = true;
26
25
  this.switchNetworkOnlyFromWallet = false;
27
26
  this.name = walletName;
28
27
  }
29
- get key() {
30
- return normalizeWalletName.normalizeWalletName(this.name);
31
- }
32
28
  getClient() {
33
29
  if (this.client) {
34
30
  return this.client;
@@ -65,14 +61,6 @@ class WalletConnect extends ethProvider.EthProvider {
65
61
  }), 'any')
66
62
  : undefined;
67
63
  }
68
- isInstalledOnBrowser() {
69
- return false;
70
- }
71
- connect() {
72
- return tslib.__awaiter(this, void 0, void 0, function* () {
73
- yield this.fetchPublicAddress();
74
- });
75
- }
76
64
  fetchPublicAddress(opts) {
77
65
  return tslib.__awaiter(this, void 0, void 0, function* () {
78
66
  return walletConnect.fetchWalletConnectEVMPublicAddress(walletBook.getWalletBookWallet(this.name), this.getClient(), Object.assign(Object.assign({}, opts), { onConnect: (payload) => {
@@ -97,11 +85,6 @@ class WalletConnect extends ethProvider.EthProvider {
97
85
  return walletConnect.signWalletConnectPersonalMessage(messageToSign, walletBook.getWalletBookWallet(this.name), this.getClient());
98
86
  });
99
87
  }
100
- proveOwnership(messageToSign) {
101
- return tslib.__awaiter(this, void 0, void 0, function* () {
102
- return this.signMessage(messageToSign);
103
- });
104
- }
105
88
  endSession() {
106
89
  return tslib.__awaiter(this, void 0, void 0, function* () {
107
90
  walletConnect.killWalletConnectSession(this.getClient());
@@ -1,14 +1,13 @@
1
1
  import Client from '@walletconnect/client';
2
2
  import { ethers } from 'ethers';
3
- import { Chain, FetchPublicAddressOpts, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
4
- import { EthProvider } from '../ethereum/ethProvider';
3
+ import { Chain, FetchPublicAddressOpts, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
4
+ import { EthWalletConnector } from '../ethereum/EthWalletConnector';
5
5
  import { EvmNetwork } from '../ethereum/evm-network';
6
- declare class WalletConnect extends EthProvider implements WalletConnector {
6
+ declare class WalletConnect extends EthWalletConnector {
7
7
  supportedChains: Chain[];
8
8
  connectedChain: Chain;
9
9
  name: string;
10
10
  canConnectViaQrCode: boolean;
11
- canConnectViaCustodialService: boolean;
12
11
  isWalletConnect: boolean;
13
12
  switchNetworkOnlyFromWallet: boolean;
14
13
  client?: Client;
@@ -17,18 +16,14 @@ declare class WalletConnect extends EthProvider implements WalletConnector {
17
16
  evmNetworks: EvmNetwork[];
18
17
  walletName: string;
19
18
  });
20
- get key(): string;
21
19
  getClient(): Client;
22
20
  supportsNetworkSwitching(): boolean;
23
21
  setupEventListeners(listeners: WalletEventListeners): () => void;
24
22
  teardownEventListeners(): void;
25
23
  getWeb3Provider(): ethers.providers.Web3Provider | undefined;
26
- isInstalledOnBrowser(): boolean;
27
- connect(): Promise<void>;
28
24
  fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
29
25
  getDeepLink(): string | undefined;
30
26
  signMessage(messageToSign: string): Promise<string | undefined>;
31
- proveOwnership(messageToSign: string): Promise<string | undefined>;
32
27
  endSession(): Promise<void>;
33
28
  providerSwitchNetwork({ network, provider, }: {
34
29
  network: EvmNetwork;
@@ -3,26 +3,22 @@ import WalletConnectProvider from '@walletconnect/ethereum-provider';
3
3
  import { ethers } from 'ethers';
4
4
  import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
5
5
  import { infuraId } from '../constants.js';
6
- import { EthProvider } from '../ethereum/ethProvider.js';
6
+ import { EthWalletConnector } from '../ethereum/EthWalletConnector.js';
7
7
  import { initClient, setupWalletConnectEventListeners, teardownWalletConnectEventListeners, fetchWalletConnectEVMPublicAddress, getDeepLink, signWalletConnectPersonalMessage, killWalletConnectSession } from '../clients/walletConnect/walletConnect.js';
8
8
  import { isMobile, isIOS } from '../../utils/isMobile.js';
9
9
  import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
10
10
  import { DynamicError } from '../../errors.js';
11
11
 
12
- class WalletConnect extends EthProvider {
12
+ class WalletConnect extends EthWalletConnector {
13
13
  constructor({ walletName, evmNetworks, }) {
14
14
  super({ evmNetworks });
15
15
  this.supportedChains = ['EVM', 'ETH'];
16
16
  this.connectedChain = 'EVM';
17
17
  this.canConnectViaQrCode = true;
18
- this.canConnectViaCustodialService = false;
19
18
  this.isWalletConnect = true;
20
19
  this.switchNetworkOnlyFromWallet = false;
21
20
  this.name = walletName;
22
21
  }
23
- get key() {
24
- return normalizeWalletName(this.name);
25
- }
26
22
  getClient() {
27
23
  if (this.client) {
28
24
  return this.client;
@@ -59,14 +55,6 @@ class WalletConnect extends EthProvider {
59
55
  }), 'any')
60
56
  : undefined;
61
57
  }
62
- isInstalledOnBrowser() {
63
- return false;
64
- }
65
- connect() {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- yield this.fetchPublicAddress();
68
- });
69
- }
70
58
  fetchPublicAddress(opts) {
71
59
  return __awaiter(this, void 0, void 0, function* () {
72
60
  return fetchWalletConnectEVMPublicAddress(getWalletBookWallet(this.name), this.getClient(), Object.assign(Object.assign({}, opts), { onConnect: (payload) => {
@@ -91,11 +79,6 @@ class WalletConnect extends EthProvider {
91
79
  return signWalletConnectPersonalMessage(messageToSign, getWalletBookWallet(this.name), this.getClient());
92
80
  });
93
81
  }
94
- proveOwnership(messageToSign) {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- return this.signMessage(messageToSign);
97
- });
98
- }
99
82
  endSession() {
100
83
  return __awaiter(this, void 0, void 0, function* () {
101
84
  killWalletConnectSession(this.getClient());