@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.
- package/CHANGELOG.md +23 -0
- package/package.json +3 -3
- package/src/index.cjs +2 -2
- package/src/index.d.ts +1 -1
- package/src/index.js +1 -1
- package/src/multi-wallet.cjs +5 -8
- package/src/multi-wallet.js +5 -8
- package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +2 -2
- package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +2 -2
- package/src/utils/message.cjs +1 -1
- package/src/utils/message.js +1 -1
- package/src/utils/walletConnect.cjs +1 -1
- package/src/wallets/algorand/{myalgo.cjs → MyAlgoWalletConnector.cjs} +4 -42
- package/src/wallets/algorand/MyAlgoWalletConnector.d.ts +21 -0
- package/src/wallets/algorand/{myalgo.js → MyAlgoWalletConnector.js} +4 -42
- package/src/wallets/clients/coinbase/coinbase.cjs +2 -6
- package/src/wallets/clients/coinbase/coinbase.js +1 -1
- package/src/wallets/cosmos/{keplrWalletConnect.cjs → KeplrWalletConnect.cjs} +9 -25
- package/src/wallets/cosmos/{keplrWalletConnect.d.ts → KeplrWalletConnect.d.ts} +6 -14
- package/src/wallets/cosmos/{keplrWalletConnect.js → KeplrWalletConnect.js} +9 -25
- package/src/wallets/cosmos/{keplr.cjs → KeplrWalletConnector.cjs} +5 -17
- package/src/wallets/cosmos/{keplr.d.ts → KeplrWalletConnector.d.ts} +5 -13
- package/src/wallets/cosmos/{keplr.js → KeplrWalletConnector.js} +5 -17
- package/src/wallets/cosmos/getKeplrConnector.cjs +6 -6
- package/src/wallets/cosmos/getKeplrConnector.d.ts +3 -3
- package/src/wallets/cosmos/getKeplrConnector.js +3 -3
- package/src/wallets/cosmos/index.d.ts +1 -1
- package/src/wallets/ethereum/BloctoEvm.cjs +2 -31
- package/src/wallets/ethereum/BloctoEvm.d.ts +4 -13
- package/src/wallets/ethereum/BloctoEvm.js +2 -31
- package/src/wallets/ethereum/{ethProvider.cjs → EthWalletConnector.cjs} +38 -18
- package/src/wallets/ethereum/{ethProvider.d.ts → EthWalletConnector.d.ts} +4 -4
- package/src/wallets/ethereum/{ethProvider.js → EthWalletConnector.js} +38 -18
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +9 -4
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +5 -5
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +9 -4
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +1 -1
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +2 -2
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +1 -1
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +1 -2
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +2 -3
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +1 -2
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +6 -13
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +3 -10
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +6 -13
- package/src/wallets/ethereum/coinbase.cjs +2 -18
- package/src/wallets/ethereum/coinbase.d.ts +3 -8
- package/src/wallets/ethereum/coinbase.js +2 -18
- package/src/wallets/ethereum/ethProviderHelper.cjs +16 -9
- package/src/wallets/ethereum/ethProviderHelper.js +16 -9
- package/src/wallets/ethereum/fortmatic.cjs +2 -25
- package/src/wallets/ethereum/fortmatic.d.ts +3 -11
- package/src/wallets/ethereum/fortmatic.js +2 -25
- package/src/wallets/ethereum/meta-mask.cjs +2 -9
- package/src/wallets/ethereum/meta-mask.d.ts +3 -7
- package/src/wallets/ethereum/meta-mask.js +2 -9
- package/src/wallets/flow/{flow-provider.cjs → FlowWalletConnector.cjs} +6 -33
- package/src/wallets/flow/{flow-provider.d.ts → FlowWalletConnector.d.ts} +4 -11
- package/src/wallets/flow/{flow-provider.js → FlowWalletConnector.js} +6 -33
- package/src/wallets/flow/blocto.cjs +2 -10
- package/src/wallets/flow/blocto.d.ts +2 -8
- package/src/wallets/flow/blocto.js +2 -10
- package/src/wallets/flow/dapper.cjs +2 -10
- package/src/wallets/flow/dapper.d.ts +2 -8
- package/src/wallets/flow/dapper.js +2 -10
- package/src/wallets/flow/lilico.cjs +2 -11
- package/src/wallets/flow/lilico.d.ts +2 -9
- package/src/wallets/flow/lilico.js +2 -11
- package/src/wallets/getMobileOrInjectedWallet.cjs +1 -1
- package/src/wallets/getMobileOrInjectedWallet.d.ts +1 -3
- package/src/wallets/getWalletConnectConnector.cjs +3 -2
- package/src/wallets/getWalletConnectConnector.d.ts +2 -1
- package/src/wallets/getWalletConnectConnector.js +2 -1
- package/src/wallets/solana/CoinbaseSolana.cjs +2 -25
- package/src/wallets/solana/CoinbaseSolana.d.ts +3 -12
- package/src/wallets/solana/CoinbaseSolana.js +2 -25
- package/src/wallets/solana/glow.cjs +2 -25
- package/src/wallets/solana/glow.d.ts +3 -12
- package/src/wallets/solana/glow.js +2 -25
- package/src/wallets/solana/phantom.cjs +2 -25
- package/src/wallets/solana/phantom.d.ts +3 -12
- package/src/wallets/solana/phantom.js +2 -25
- package/src/wallets/solana/slope.cjs +2 -31
- package/src/wallets/solana/slope.d.ts +2 -14
- package/src/wallets/solana/slope.js +2 -31
- package/src/wallets/solana/{solProvider.cjs → solWalletConnector.cjs} +6 -11
- package/src/wallets/solana/{solProvider.d.ts → solWalletConnector.d.ts} +4 -4
- package/src/wallets/solana/{solProvider.js → solWalletConnector.js} +6 -11
- package/src/wallets/solana/solflare.cjs +2 -31
- package/src/wallets/solana/solflare.d.ts +2 -14
- package/src/wallets/solana/solflare.js +2 -31
- package/src/wallets/starknet/argentx.cjs +2 -2
- package/src/wallets/starknet/argentx.d.ts +1 -1
- package/src/wallets/starknet/argentx.js +2 -2
- package/src/wallets/starknet/braavos.cjs +2 -2
- package/src/wallets/starknet/braavos.d.ts +1 -1
- package/src/wallets/starknet/braavos.js +2 -2
- package/src/wallets/starknet/{starknetProvider.cjs → starknetWalletConnector.cjs} +4 -34
- package/src/wallets/starknet/{starknetProvider.d.ts → starknetWalletConnector.d.ts} +3 -14
- package/src/wallets/starknet/{starknetProvider.js → starknetWalletConnector.js} +4 -34
- package/src/wallets/walletConnect/walletConnect.cjs +2 -19
- package/src/wallets/walletConnect/walletConnect.d.ts +3 -8
- package/src/wallets/walletConnect/walletConnect.js +2 -19
- package/src/wallets/walletConnect/walletConnectV2.cjs +69 -83
- package/src/wallets/walletConnect/walletConnectV2.d.ts +10 -12
- package/src/wallets/walletConnect/walletConnectV2.js +69 -80
- package/src/wallets/algorand/myalgo.d.ts +0 -36
- package/src/wallets/initializeWalletProviders.cjs +0 -14
- package/src/wallets/initializeWalletProviders.d.ts +0 -6
- 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
|
|
7
|
+
class SolWalletConnector extends WalletConnectorBase {
|
|
7
8
|
constructor({ solNetworks }) {
|
|
8
|
-
|
|
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 {
|
|
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
|
|
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
|
|
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 {
|
|
2
|
+
import { SolWalletConnector } from './solWalletConnector';
|
|
4
3
|
import { SolProviderHelper } from './solProviderHelper';
|
|
5
|
-
declare class Solflare extends
|
|
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 {
|
|
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
|
|
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
|
|
4
|
+
var starknetWalletConnector = require('./starknetWalletConnector.cjs');
|
|
5
5
|
|
|
6
|
-
class ArgentX extends
|
|
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 './
|
|
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
|
|
2
|
+
import StarknetWalletConnector from './starknetWalletConnector.js';
|
|
3
3
|
|
|
4
|
-
class ArgentX extends
|
|
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
|
|
5
|
+
var starknetWalletConnector = require('./starknetWalletConnector.cjs');
|
|
6
6
|
|
|
7
|
-
class Braavos extends
|
|
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 './
|
|
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
|
|
3
|
+
import StarknetWalletConnector from './starknetWalletConnector.js';
|
|
4
4
|
|
|
5
|
-
class Braavos extends
|
|
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
|
|
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 =
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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 {
|
|
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
|
|
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
|
|
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,
|
|
4
|
-
import {
|
|
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
|
|
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 {
|
|
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
|
|
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());
|