@dynamic-labs/ethereum 0.17.0-RC.9
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 +791 -0
- package/LICENSE +21 -0
- package/README.md +0 -0
- package/_virtual/_tslib.cjs +43 -0
- package/_virtual/_tslib.js +38 -0
- package/package.json +40 -0
- package/src/EthWalletConnector.cjs +206 -0
- package/src/EthWalletConnector.d.ts +39 -0
- package/src/EthWalletConnector.js +202 -0
- package/src/constants.cjs +7 -0
- package/src/constants.d.ts +1 -0
- package/src/constants.js +3 -0
- package/src/ethProviderHelper.cjs +197 -0
- package/src/ethProviderHelper.d.ts +33 -0
- package/src/ethProviderHelper.js +193 -0
- package/src/index.cjs +52 -0
- package/src/index.d.ts +6 -0
- package/src/index.js +33 -0
- package/src/injected/BloctoInjected.cjs +14 -0
- package/src/injected/BloctoInjected.d.ts +4 -0
- package/src/injected/BloctoInjected.js +10 -0
- package/src/injected/BraveEvm.cjs +14 -0
- package/src/injected/BraveEvm.d.ts +4 -0
- package/src/injected/BraveEvm.js +10 -0
- package/src/injected/Dawn.cjs +14 -0
- package/src/injected/Dawn.d.ts +4 -0
- package/src/injected/Dawn.js +10 -0
- package/src/injected/ExodusEvm.cjs +14 -0
- package/src/injected/ExodusEvm.d.ts +4 -0
- package/src/injected/ExodusEvm.js +10 -0
- package/src/injected/Frame.cjs +14 -0
- package/src/injected/Frame.d.ts +4 -0
- package/src/injected/Frame.js +10 -0
- package/src/injected/GameStop.cjs +14 -0
- package/src/injected/GameStop.d.ts +4 -0
- package/src/injected/GameStop.js +10 -0
- package/src/injected/InjectedWalletBase.cjs +75 -0
- package/src/injected/InjectedWalletBase.d.ts +24 -0
- package/src/injected/InjectedWalletBase.js +73 -0
- package/src/injected/MetaMask.cjs +15 -0
- package/src/injected/MetaMask.d.ts +5 -0
- package/src/injected/MetaMask.js +11 -0
- package/src/injected/Opera.cjs +14 -0
- package/src/injected/Opera.d.ts +4 -0
- package/src/injected/Opera.js +10 -0
- package/src/injected/PhantomEvm.cjs +38 -0
- package/src/injected/PhantomEvm.d.ts +5 -0
- package/src/injected/PhantomEvm.js +34 -0
- package/src/injected/Trust.cjs +15 -0
- package/src/injected/Trust.d.ts +5 -0
- package/src/injected/Trust.js +11 -0
- package/src/injected/UnknownInjectedWallet.cjs +14 -0
- package/src/injected/UnknownInjectedWallet.d.ts +4 -0
- package/src/injected/UnknownInjectedWallet.js +10 -0
- package/src/injected/Zerion.cjs +15 -0
- package/src/injected/Zerion.d.ts +5 -0
- package/src/injected/Zerion.js +11 -0
- package/src/injected/index.cjs +45 -0
- package/src/injected/index.d.ts +14 -0
- package/src/injected/index.js +41 -0
- package/src/types.d.ts +20 -0
- package/src/utils/findEvmNetwork.cjs +20 -0
- package/src/utils/findEvmNetwork.d.ts +6 -0
- package/src/utils/findEvmNetwork.js +16 -0
- package/src/utils/isUnsupportedProviderError/index.d.ts +1 -0
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +13 -0
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +6 -0
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +9 -0
- package/src/walletConnect/client/client.cjs +228 -0
- package/src/walletConnect/client/client.d.ts +21 -0
- package/src/walletConnect/client/client.js +212 -0
- package/src/walletConnect/client/index.d.ts +1 -0
- package/src/walletConnect/client/types.d.ts +4 -0
- package/src/walletConnect/fetchWalletConnectWallets.cjs +58 -0
- package/src/walletConnect/fetchWalletConnectWallets.d.ts +8 -0
- package/src/walletConnect/fetchWalletConnectWallets.js +52 -0
- package/src/walletConnect/index.d.ts +3 -0
- package/src/walletConnect/walletConnect.cjs +134 -0
- package/src/walletConnect/walletConnect.d.ts +33 -0
- package/src/walletConnect/walletConnect.js +126 -0
- package/src/walletConnect/walletConnectV2.cjs +268 -0
- package/src/walletConnect/walletConnectV2.d.ts +37 -0
- package/src/walletConnect/walletConnectV2.js +260 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
6
|
+
|
|
7
|
+
class GameStop extends InjectedWalletBase {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.name = 'GameStop';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
exports.GameStop = GameStop;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
4
|
+
var ethProviderHelper = require('../ethProviderHelper.cjs');
|
|
5
|
+
var EthWalletConnector = require('../EthWalletConnector.cjs');
|
|
6
|
+
var walletConnectV2 = require('../walletConnect/walletConnectV2.cjs');
|
|
7
|
+
var walletConnect = require('../walletConnect/walletConnect.cjs');
|
|
8
|
+
require('@dynamic-labs/wallet-book');
|
|
9
|
+
|
|
10
|
+
class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.supportedChains = ['ETH', 'EVM'];
|
|
14
|
+
this.connectedChain = 'EVM';
|
|
15
|
+
this.walletConnectorFallback = false;
|
|
16
|
+
}
|
|
17
|
+
getMobileOrInstalledWallet() {
|
|
18
|
+
var _a;
|
|
19
|
+
if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
|
|
20
|
+
if ((_a = this.constructorProps) === null || _a === void 0 ? void 0 : _a.isWalletConnectV2Enabled) {
|
|
21
|
+
return new walletConnectV2.WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return new walletConnect.WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
setupEventListeners(listeners) {
|
|
30
|
+
const { tearDownEventListeners } = ethProviderHelper.EthProviderHelper._setupEventListeners(this.name, listeners, this.getWeb3Provider());
|
|
31
|
+
this.teardownEventListeners = tearDownEventListeners;
|
|
32
|
+
}
|
|
33
|
+
getWeb3Provider() {
|
|
34
|
+
return ethProviderHelper.EthProviderHelper.findProvider(this.name);
|
|
35
|
+
}
|
|
36
|
+
isInstalledOnBrowser() {
|
|
37
|
+
return ethProviderHelper.EthProviderHelper.isInstalledHelper(this.name);
|
|
38
|
+
}
|
|
39
|
+
connect() {
|
|
40
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
yield this.fetchPublicAddress();
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
fetchPublicAddress() {
|
|
45
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
return ethProviderHelper.EthProviderHelper.fetchPublicAddressWithName(this.name);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
signMessage(messageToSign) {
|
|
50
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
return ethProviderHelper.EthProviderHelper.signMessageWithName(messageToSign, this.name);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
proveOwnership(messageToSign) {
|
|
55
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
return this.signMessage(messageToSign);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
endSession() {
|
|
60
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
// nothing to do on browser-based metamask
|
|
62
|
+
return;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
providerSwitchNetwork({ network, provider, }) {
|
|
66
|
+
const _super = Object.create(null, {
|
|
67
|
+
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
68
|
+
});
|
|
69
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
return _super.providerSwitchNetwork.call(this, { network, provider });
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
module.exports = InjectedWalletBase;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { Chain, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
+
import { EvmNetwork } from '@dynamic-labs/types';
|
|
4
|
+
import { EthWalletConnector } from '../EthWalletConnector';
|
|
5
|
+
declare abstract class InjectedWalletBase extends EthWalletConnector {
|
|
6
|
+
supportedChains: Chain[];
|
|
7
|
+
connectedChain: Chain;
|
|
8
|
+
publicAddress: string | undefined;
|
|
9
|
+
walletConnectorFallback: boolean;
|
|
10
|
+
getMobileOrInstalledWallet(): InjectedWalletBase;
|
|
11
|
+
setupEventListeners(listeners: WalletEventListeners): void;
|
|
12
|
+
getWeb3Provider(): ethers.providers.Web3Provider | undefined;
|
|
13
|
+
isInstalledOnBrowser(): boolean;
|
|
14
|
+
connect(): Promise<void>;
|
|
15
|
+
fetchPublicAddress(): Promise<string | undefined>;
|
|
16
|
+
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
17
|
+
proveOwnership(messageToSign: string): Promise<string | undefined>;
|
|
18
|
+
endSession(): Promise<void>;
|
|
19
|
+
providerSwitchNetwork({ network, provider, }: {
|
|
20
|
+
network: EvmNetwork;
|
|
21
|
+
provider: ethers.providers.Web3Provider;
|
|
22
|
+
}): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
export default InjectedWalletBase;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
|
+
import { EthProviderHelper } from '../ethProviderHelper.js';
|
|
3
|
+
import { EthWalletConnector } from '../EthWalletConnector.js';
|
|
4
|
+
import { WalletConnectV2 } from '../walletConnect/walletConnectV2.js';
|
|
5
|
+
import { WalletConnect } from '../walletConnect/walletConnect.js';
|
|
6
|
+
import '@dynamic-labs/wallet-book';
|
|
7
|
+
|
|
8
|
+
class InjectedWalletBase extends EthWalletConnector {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.supportedChains = ['ETH', 'EVM'];
|
|
12
|
+
this.connectedChain = 'EVM';
|
|
13
|
+
this.walletConnectorFallback = false;
|
|
14
|
+
}
|
|
15
|
+
getMobileOrInstalledWallet() {
|
|
16
|
+
var _a;
|
|
17
|
+
if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
|
|
18
|
+
if ((_a = this.constructorProps) === null || _a === void 0 ? void 0 : _a.isWalletConnectV2Enabled) {
|
|
19
|
+
return new WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return new WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
setupEventListeners(listeners) {
|
|
28
|
+
const { tearDownEventListeners } = EthProviderHelper._setupEventListeners(this.name, listeners, this.getWeb3Provider());
|
|
29
|
+
this.teardownEventListeners = tearDownEventListeners;
|
|
30
|
+
}
|
|
31
|
+
getWeb3Provider() {
|
|
32
|
+
return EthProviderHelper.findProvider(this.name);
|
|
33
|
+
}
|
|
34
|
+
isInstalledOnBrowser() {
|
|
35
|
+
return EthProviderHelper.isInstalledHelper(this.name);
|
|
36
|
+
}
|
|
37
|
+
connect() {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
yield this.fetchPublicAddress();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
fetchPublicAddress() {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
return EthProviderHelper.fetchPublicAddressWithName(this.name);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
signMessage(messageToSign) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
return EthProviderHelper.signMessageWithName(messageToSign, this.name);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
proveOwnership(messageToSign) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
return this.signMessage(messageToSign);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
endSession() {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
// nothing to do on browser-based metamask
|
|
60
|
+
return;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
providerSwitchNetwork({ network, provider, }) {
|
|
64
|
+
const _super = Object.create(null, {
|
|
65
|
+
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
66
|
+
});
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
return _super.providerSwitchNetwork.call(this, { network, provider });
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { InjectedWalletBase as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
6
|
+
|
|
7
|
+
class MetaMask extends InjectedWalletBase {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.name = 'MetaMask';
|
|
11
|
+
this.walletConnectorFallback = true;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
exports.MetaMask = MetaMask;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
6
|
+
|
|
7
|
+
class Opera extends InjectedWalletBase {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.name = 'Opera';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
exports.Opera = Opera;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
6
|
+
var utils = require('@dynamic-labs/utils');
|
|
7
|
+
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
8
|
+
|
|
9
|
+
class PhantomEvm extends InjectedWalletBase {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.name = 'PhantomEvm';
|
|
13
|
+
}
|
|
14
|
+
fetchPublicAddress() {
|
|
15
|
+
const _super = Object.create(null, {
|
|
16
|
+
fetchPublicAddress: { get: () => super.fetchPublicAddress }
|
|
17
|
+
});
|
|
18
|
+
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
if (this.isInstalledOnBrowser()) {
|
|
20
|
+
return _super.fetchPublicAddress.call(this);
|
|
21
|
+
}
|
|
22
|
+
const url = encodeURIComponent(window.location.toString());
|
|
23
|
+
const ref = encodeURIComponent(window.location.origin);
|
|
24
|
+
// samsung browser only supports native links, not universal links
|
|
25
|
+
if (utils.isMobile()) {
|
|
26
|
+
if (utils.isSamsungBrowser()) {
|
|
27
|
+
window.location.assign(`phantom://browse/${url}?ref=${ref}`);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
window.location.assign(`https://phantom.app/ul/browse/${url}?ref=${ref}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.PhantomEvm = PhantomEvm;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
|
+
import { isMobile, isSamsungBrowser } from '@dynamic-labs/utils';
|
|
3
|
+
import InjectedWalletBase from './InjectedWalletBase.js';
|
|
4
|
+
|
|
5
|
+
class PhantomEvm extends InjectedWalletBase {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.name = 'PhantomEvm';
|
|
9
|
+
}
|
|
10
|
+
fetchPublicAddress() {
|
|
11
|
+
const _super = Object.create(null, {
|
|
12
|
+
fetchPublicAddress: { get: () => super.fetchPublicAddress }
|
|
13
|
+
});
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
if (this.isInstalledOnBrowser()) {
|
|
16
|
+
return _super.fetchPublicAddress.call(this);
|
|
17
|
+
}
|
|
18
|
+
const url = encodeURIComponent(window.location.toString());
|
|
19
|
+
const ref = encodeURIComponent(window.location.origin);
|
|
20
|
+
// samsung browser only supports native links, not universal links
|
|
21
|
+
if (isMobile()) {
|
|
22
|
+
if (isSamsungBrowser()) {
|
|
23
|
+
window.location.assign(`phantom://browse/${url}?ref=${ref}`);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
window.location.assign(`https://phantom.app/ul/browse/${url}?ref=${ref}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { PhantomEvm };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
6
|
+
|
|
7
|
+
class Trust extends InjectedWalletBase {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.name = 'Trust';
|
|
11
|
+
this.walletConnectorFallback = true;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
exports.Trust = Trust;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
6
|
+
|
|
7
|
+
class UnknownInjectedWallet extends InjectedWalletBase {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.name = 'InjectedWallet';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
exports.UnknownInjectedWallet = UnknownInjectedWallet;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var InjectedWalletBase = require('./InjectedWalletBase.cjs');
|
|
6
|
+
|
|
7
|
+
class Zerion extends InjectedWalletBase {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.name = 'Zerion';
|
|
11
|
+
this.walletConnectorFallback = true;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
exports.Zerion = Zerion;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var BloctoInjected = require('./BloctoInjected.cjs');
|
|
6
|
+
var BraveEvm = require('./BraveEvm.cjs');
|
|
7
|
+
var Dawn = require('./Dawn.cjs');
|
|
8
|
+
var ExodusEvm = require('./ExodusEvm.cjs');
|
|
9
|
+
var Frame = require('./Frame.cjs');
|
|
10
|
+
var GameStop = require('./GameStop.cjs');
|
|
11
|
+
var MetaMask = require('./MetaMask.cjs');
|
|
12
|
+
var Opera = require('./Opera.cjs');
|
|
13
|
+
var PhantomEvm = require('./PhantomEvm.cjs');
|
|
14
|
+
var Trust = require('./Trust.cjs');
|
|
15
|
+
var UnknownInjectedWallet = require('./UnknownInjectedWallet.cjs');
|
|
16
|
+
var Zerion = require('./Zerion.cjs');
|
|
17
|
+
|
|
18
|
+
const injectedWallets = [
|
|
19
|
+
BloctoInjected.BloctoInjected,
|
|
20
|
+
BraveEvm.BraveEvm,
|
|
21
|
+
Dawn.Dawn,
|
|
22
|
+
ExodusEvm.ExodusEvm,
|
|
23
|
+
Frame.Frame,
|
|
24
|
+
GameStop.GameStop,
|
|
25
|
+
MetaMask.MetaMask,
|
|
26
|
+
Opera.Opera,
|
|
27
|
+
PhantomEvm.PhantomEvm,
|
|
28
|
+
Trust.Trust,
|
|
29
|
+
UnknownInjectedWallet.UnknownInjectedWallet,
|
|
30
|
+
Zerion.Zerion,
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
exports.BloctoInjected = BloctoInjected.BloctoInjected;
|
|
34
|
+
exports.BraveEvm = BraveEvm.BraveEvm;
|
|
35
|
+
exports.Dawn = Dawn.Dawn;
|
|
36
|
+
exports.ExodusEvm = ExodusEvm.ExodusEvm;
|
|
37
|
+
exports.Frame = Frame.Frame;
|
|
38
|
+
exports.GameStop = GameStop.GameStop;
|
|
39
|
+
exports.MetaMask = MetaMask.MetaMask;
|
|
40
|
+
exports.Opera = Opera.Opera;
|
|
41
|
+
exports.PhantomEvm = PhantomEvm.PhantomEvm;
|
|
42
|
+
exports.Trust = Trust.Trust;
|
|
43
|
+
exports.UnknownInjectedWallet = UnknownInjectedWallet.UnknownInjectedWallet;
|
|
44
|
+
exports.Zerion = Zerion.Zerion;
|
|
45
|
+
exports.injectedWallets = injectedWallets;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { WalletConnectorConstructor } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
+
export * from './BloctoInjected';
|
|
3
|
+
export * from './BraveEvm';
|
|
4
|
+
export * from './Dawn';
|
|
5
|
+
export * from './ExodusEvm';
|
|
6
|
+
export * from './Frame';
|
|
7
|
+
export * from './GameStop';
|
|
8
|
+
export * from './MetaMask';
|
|
9
|
+
export * from './Opera';
|
|
10
|
+
export * from './PhantomEvm';
|
|
11
|
+
export * from './Trust';
|
|
12
|
+
export * from './UnknownInjectedWallet';
|
|
13
|
+
export * from './Zerion';
|
|
14
|
+
export declare const injectedWallets: WalletConnectorConstructor[];
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { BloctoInjected } from './BloctoInjected.js';
|
|
2
|
+
export { BloctoInjected } from './BloctoInjected.js';
|
|
3
|
+
import { BraveEvm } from './BraveEvm.js';
|
|
4
|
+
export { BraveEvm } from './BraveEvm.js';
|
|
5
|
+
import { Dawn } from './Dawn.js';
|
|
6
|
+
export { Dawn } from './Dawn.js';
|
|
7
|
+
import { ExodusEvm } from './ExodusEvm.js';
|
|
8
|
+
export { ExodusEvm } from './ExodusEvm.js';
|
|
9
|
+
import { Frame } from './Frame.js';
|
|
10
|
+
export { Frame } from './Frame.js';
|
|
11
|
+
import { GameStop } from './GameStop.js';
|
|
12
|
+
export { GameStop } from './GameStop.js';
|
|
13
|
+
import { MetaMask } from './MetaMask.js';
|
|
14
|
+
export { MetaMask } from './MetaMask.js';
|
|
15
|
+
import { Opera } from './Opera.js';
|
|
16
|
+
export { Opera } from './Opera.js';
|
|
17
|
+
import { PhantomEvm } from './PhantomEvm.js';
|
|
18
|
+
export { PhantomEvm } from './PhantomEvm.js';
|
|
19
|
+
import { Trust } from './Trust.js';
|
|
20
|
+
export { Trust } from './Trust.js';
|
|
21
|
+
import { UnknownInjectedWallet } from './UnknownInjectedWallet.js';
|
|
22
|
+
export { UnknownInjectedWallet } from './UnknownInjectedWallet.js';
|
|
23
|
+
import { Zerion } from './Zerion.js';
|
|
24
|
+
export { Zerion } from './Zerion.js';
|
|
25
|
+
|
|
26
|
+
const injectedWallets = [
|
|
27
|
+
BloctoInjected,
|
|
28
|
+
BraveEvm,
|
|
29
|
+
Dawn,
|
|
30
|
+
ExodusEvm,
|
|
31
|
+
Frame,
|
|
32
|
+
GameStop,
|
|
33
|
+
MetaMask,
|
|
34
|
+
Opera,
|
|
35
|
+
PhantomEvm,
|
|
36
|
+
Trust,
|
|
37
|
+
UnknownInjectedWallet,
|
|
38
|
+
Zerion,
|
|
39
|
+
];
|
|
40
|
+
|
|
41
|
+
export { injectedWallets };
|
package/src/types.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ProviderCondition } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
+
declare global {
|
|
3
|
+
interface Window {
|
|
4
|
+
ethereum?: IEthereum;
|
|
5
|
+
phantom?: {
|
|
6
|
+
ethereum: IEthereum;
|
|
7
|
+
};
|
|
8
|
+
zerionWallet?: IEthereum;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export type IEthereum = {
|
|
12
|
+
[key in ProviderFlag]: boolean;
|
|
13
|
+
} & {
|
|
14
|
+
providers: object[];
|
|
15
|
+
request: <T extends string>(params: {
|
|
16
|
+
method: T;
|
|
17
|
+
} | object) => Promise<T extends 'eth_requestAccounts' ? [string] : object>;
|
|
18
|
+
};
|
|
19
|
+
export type ProviderFlag = 'isDawn' | 'isBraveWallet' | 'isCoinbaseWallet' | 'isFrame' | 'isGamestop' | 'isMetaMask' | 'isExodus' | 'isOpera' | 'isBlocto' | 'isTrustWallet' | 'isZerion' | 'isPhantom';
|
|
20
|
+
export type EthProviderCondition = ProviderCondition<ProviderFlag>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const findEvmNetwork = ({ chainId, name, networks, }) => {
|
|
6
|
+
if (!chainId && !name) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
if (chainId && name) {
|
|
10
|
+
return networks.find((network) => network.chainId === chainId && network.name === name);
|
|
11
|
+
}
|
|
12
|
+
else if (chainId) {
|
|
13
|
+
return networks.find((network) => network.chainId === chainId);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return networks.find((network) => network.name === name);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.findEvmNetwork = findEvmNetwork;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const findEvmNetwork = ({ chainId, name, networks, }) => {
|
|
2
|
+
if (!chainId && !name) {
|
|
3
|
+
return undefined;
|
|
4
|
+
}
|
|
5
|
+
if (chainId && name) {
|
|
6
|
+
return networks.find((network) => network.chainId === chainId && network.name === name);
|
|
7
|
+
}
|
|
8
|
+
else if (chainId) {
|
|
9
|
+
return networks.find((network) => network.chainId === chainId);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return networks.find((network) => network.name === name);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { findEvmNetwork };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { isUnsupportedProviderError } from './isUnsupportedProviderError';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const isUnsupportedProviderError = (error) => {
|
|
6
|
+
const isObject = typeof error === 'object';
|
|
7
|
+
if (!isObject)
|
|
8
|
+
return false;
|
|
9
|
+
const isUnsupportedProviderErrorReason = error['reason'] === 'unsupported provider';
|
|
10
|
+
return isUnsupportedProviderErrorReason;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
exports.isUnsupportedProviderError = isUnsupportedProviderError;
|