@dynamic-labs/multi-wallet 0.11.21 → 0.11.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/data/wallet-links.json +14 -0
- package/src/index.d.ts +1 -2
- package/src/index.js +3 -10
- package/src/index.js.map +1 -1
- package/src/multi-wallet.js +39 -38
- package/src/multi-wallet.js.map +1 -1
- package/src/utils/isMobile.d.ts +8 -1
- package/src/utils/isMobile.js +19 -3
- package/src/utils/isMobile.js.map +1 -1
- package/src/wallets/ethereum/ethProviderHelper.d.ts +1 -0
- package/src/wallets/ethereum/ethProviderHelper.js +3 -0
- package/src/wallets/ethereum/ethProviderHelper.js.map +1 -1
- package/src/wallets/ethereum/injected/BloctoInjected.d.ts +6 -0
- package/src/wallets/ethereum/injected/BloctoInjected.js +15 -0
- package/src/wallets/ethereum/injected/BloctoInjected.js.map +1 -0
- package/src/wallets/window.d.ts +2 -1
- package/src/utils/platform.d.ts +0 -3
- package/src/utils/platform.js +0 -11
- package/src/utils/platform.js.map +0 -1
package/package.json
CHANGED
|
@@ -97,6 +97,20 @@
|
|
|
97
97
|
"disabled": false
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
|
+
"bloctoinjected": {
|
|
101
|
+
"desktop": {
|
|
102
|
+
"chrome": "",
|
|
103
|
+
"firefox": "",
|
|
104
|
+
"brave": "",
|
|
105
|
+
"edge": "",
|
|
106
|
+
"safari": ""
|
|
107
|
+
},
|
|
108
|
+
"mobile": {
|
|
109
|
+
"android": "",
|
|
110
|
+
"ios": "",
|
|
111
|
+
"disabled": false
|
|
112
|
+
}
|
|
113
|
+
},
|
|
100
114
|
"bravesol": {
|
|
101
115
|
"desktop": {
|
|
102
116
|
"chrome": "",
|
package/src/index.d.ts
CHANGED
|
@@ -5,8 +5,7 @@ export * from './types';
|
|
|
5
5
|
export { Console };
|
|
6
6
|
export type { WalletConnector, Chain, FetchPublicAddressOpts, } from './wallets/wallet-connector';
|
|
7
7
|
export { generateMessageToSign } from './utils/message';
|
|
8
|
-
export { isMobile } from './utils/isMobile';
|
|
9
|
-
export { isAndroid, isPhone, isIPad } from './utils/platform';
|
|
8
|
+
export { isIPad, isIPhone, isMobile } from './utils/isMobile';
|
|
10
9
|
export { normalizeWalletName } from './utils/normalizeWalletName';
|
|
11
10
|
export { walletMetadata, getWalletConnectMetadata, } from './utils/walletConnect';
|
|
12
11
|
export { getWalletLinks } from './utils/walletLinks';
|
package/src/index.js
CHANGED
|
@@ -17,25 +17,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.getWalletLinks = exports.getWalletConnectMetadata = exports.walletMetadata = exports.normalizeWalletName = exports.
|
|
20
|
+
exports.getWalletLinks = exports.getWalletConnectMetadata = exports.walletMetadata = exports.normalizeWalletName = exports.isMobile = exports.isIPhone = exports.isIPad = exports.generateMessageToSign = exports.Console = void 0;
|
|
21
21
|
const console_1 = __importDefault(require("./utils/console"));
|
|
22
22
|
exports.Console = console_1.default;
|
|
23
23
|
require("./polyfills");
|
|
24
|
-
//
|
|
25
|
-
// TODO
|
|
26
|
-
// - README
|
|
27
|
-
// - Tests + Mocked wallet
|
|
28
|
-
//
|
|
29
24
|
__exportStar(require("./multi-wallet"), exports);
|
|
30
25
|
__exportStar(require("./types"), exports);
|
|
31
26
|
var message_1 = require("./utils/message");
|
|
32
27
|
Object.defineProperty(exports, "generateMessageToSign", { enumerable: true, get: function () { return message_1.generateMessageToSign; } });
|
|
33
28
|
var isMobile_1 = require("./utils/isMobile");
|
|
29
|
+
Object.defineProperty(exports, "isIPad", { enumerable: true, get: function () { return isMobile_1.isIPad; } });
|
|
30
|
+
Object.defineProperty(exports, "isIPhone", { enumerable: true, get: function () { return isMobile_1.isIPhone; } });
|
|
34
31
|
Object.defineProperty(exports, "isMobile", { enumerable: true, get: function () { return isMobile_1.isMobile; } });
|
|
35
|
-
var platform_1 = require("./utils/platform");
|
|
36
|
-
Object.defineProperty(exports, "isAndroid", { enumerable: true, get: function () { return platform_1.isAndroid; } });
|
|
37
|
-
Object.defineProperty(exports, "isPhone", { enumerable: true, get: function () { return platform_1.isPhone; } });
|
|
38
|
-
Object.defineProperty(exports, "isIPad", { enumerable: true, get: function () { return platform_1.isIPad; } });
|
|
39
32
|
var normalizeWalletName_1 = require("./utils/normalizeWalletName");
|
|
40
33
|
Object.defineProperty(exports, "normalizeWalletName", { enumerable: true, get: function () { return normalizeWalletName_1.normalizeWalletName; } });
|
|
41
34
|
var walletConnect_1 = require("./utils/walletConnect");
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8DAAsC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8DAAsC;AAM7B,kBANF,iBAAO,CAME;AAJhB,uBAAqB;AAErB,iDAA+B;AAC/B,0CAAwB;AAQxB,2CAAwD;AAA/C,gHAAA,qBAAqB,OAAA;AAC9B,6CAA8D;AAArD,kGAAA,MAAM,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAEnC,mEAAkE;AAAzD,0HAAA,mBAAmB,OAAA;AAC5B,uDAG+B;AAF7B,+GAAA,cAAc,OAAA;AACd,yHAAA,wBAAwB,OAAA;AAE1B,mDAAqD;AAA5C,6GAAA,cAAc,OAAA;AAGvB,kEAAgD;AAChD,6DAA2C;AAI3C,wDAAsC"}
|
package/src/multi-wallet.js
CHANGED
|
@@ -13,7 +13,6 @@ const glow_1 = __importDefault(require("./wallets/solana/glow"));
|
|
|
13
13
|
const walletConnect_1 = __importDefault(require("./wallets/walletConnect"));
|
|
14
14
|
const blocto_1 = __importDefault(require("./wallets/flow/blocto"));
|
|
15
15
|
const dapper_1 = __importDefault(require("./wallets/flow/dapper"));
|
|
16
|
-
const platform_1 = require("./utils/platform");
|
|
17
16
|
const isMobile_1 = require("./utils/isMobile");
|
|
18
17
|
const walletLinks_1 = require("./utils/walletLinks");
|
|
19
18
|
const normalizeWalletName_1 = require("./utils/normalizeWalletName");
|
|
@@ -26,6 +25,7 @@ const UnknownInjectedWallet_1 = __importDefault(require("./wallets/ethereum/inje
|
|
|
26
25
|
const GameStop_1 = __importDefault(require("./wallets/ethereum/injected/GameStop"));
|
|
27
26
|
const ExodusEvm_1 = __importDefault(require("./wallets/ethereum/injected/ExodusEvm"));
|
|
28
27
|
const ExodusSol_1 = __importDefault(require("./wallets/solana/injected/ExodusSol"));
|
|
28
|
+
const BloctoInjected_1 = __importDefault(require("./wallets/ethereum/injected/BloctoInjected"));
|
|
29
29
|
let wallets = [];
|
|
30
30
|
const getSupportedWallets = ({ appLogoUrl, appName, evmNetworks, skipMemo } = {
|
|
31
31
|
appLogoUrl: '',
|
|
@@ -39,8 +39,6 @@ const getSupportedWallets = ({ appLogoUrl, appName, evmNetworks, skipMemo } = {
|
|
|
39
39
|
const walletConnectWallets = (0, walletConnect_2.fetchWalletConnectWallets)(evmNetworks);
|
|
40
40
|
// temporary hack to filter out metamask, which currently has walletconnect
|
|
41
41
|
// functionality built-in
|
|
42
|
-
// also filter out trust, which has issues with signing
|
|
43
|
-
// follow-up on: https://github.com/trustwallet/wallet-core/issues/2197
|
|
44
42
|
const filtered = walletConnectWallets.filter(({ name }) => name !== 'MetaMask');
|
|
45
43
|
const allWallets = [
|
|
46
44
|
new phantom_1.default(),
|
|
@@ -51,6 +49,7 @@ const getSupportedWallets = ({ appLogoUrl, appName, evmNetworks, skipMemo } = {
|
|
|
51
49
|
new slope_1.default(),
|
|
52
50
|
new dapper_1.default({ appLogoUrl, appName }),
|
|
53
51
|
new blocto_1.default({ appLogoUrl, appName }),
|
|
52
|
+
new BloctoInjected_1.default({ evmNetworks }),
|
|
54
53
|
new walletConnect_1.default({ evmNetworks, walletName: 'WalletConnect' }),
|
|
55
54
|
new BraveSol_1.default(),
|
|
56
55
|
new BraveEvm_1.default({ evmNetworks }),
|
|
@@ -62,53 +61,55 @@ const getSupportedWallets = ({ appLogoUrl, appName, evmNetworks, skipMemo } = {
|
|
|
62
61
|
new myalgo_1.default(),
|
|
63
62
|
...filtered,
|
|
64
63
|
];
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
// Memoize the wallets
|
|
65
|
+
wallets = filterWalletsForPlatform(allWallets);
|
|
66
|
+
return wallets;
|
|
67
|
+
};
|
|
68
|
+
exports.getSupportedWallets = getSupportedWallets;
|
|
69
|
+
const filterWalletsForPlatform = (wallets) => {
|
|
70
|
+
if (!(0, isMobile_1.isMobile)()) {
|
|
71
|
+
// All the wallets are valid on desktop
|
|
72
|
+
return wallets;
|
|
73
|
+
}
|
|
74
|
+
return wallets.filter((wallet) => {
|
|
75
|
+
// For in app wallet browsers where the wallet is being injected.
|
|
76
|
+
if (wallet.isInstalledOnBrowser()) {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
70
79
|
const links = (0, walletLinks_1.getWalletLinks)(wallet.name);
|
|
80
|
+
if (links.mobile.disabled)
|
|
81
|
+
return false;
|
|
71
82
|
const walletConnectMetadata = (0, walletConnect_2.getWalletConnectMetadata)(wallet.name);
|
|
72
|
-
/**
|
|
73
|
-
* wallets-links.json is the source of truth for wallet support on mobile platforms.
|
|
74
|
-
* if a wallet has a non-empty value for ios, that means that wallet has an ios app
|
|
75
|
-
* and we support that app. the same goes for android
|
|
76
|
-
*/
|
|
77
|
-
const hasIOSLink = links.mobile.ios !== '';
|
|
78
|
-
const hasAndroidLink = links.mobile.android !== '';
|
|
79
83
|
/**
|
|
80
84
|
* WalletConnect provides a "universal" and "native" deep link. They recommend using
|
|
81
85
|
* the universal deep link over the native one due to UX differences, and our current
|
|
82
86
|
* implementation uses only universal. This means we need to filter for wallets that
|
|
83
87
|
* have a universal deep link available.
|
|
84
88
|
*/
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
89
|
+
const hasWalletConnectLink = walletConnectMetadata &&
|
|
90
|
+
(Boolean(walletConnectMetadata.mobile.universal) ||
|
|
91
|
+
Boolean(walletConnectMetadata.mobile.native));
|
|
92
|
+
const isWalletConnectWallet = walletConnectMetadata !== undefined;
|
|
93
|
+
/**
|
|
94
|
+
* wallets-links.json is the source of truth for wallet support on mobile platforms.
|
|
95
|
+
* if a wallet has a non-empty value for ios, that means that wallet has an ios app
|
|
96
|
+
* and we support that app. the same goes for android
|
|
97
|
+
*/
|
|
98
|
+
if ((0, isMobile_1.isIPad)() || (0, isMobile_1.isIPhone)()) {
|
|
99
|
+
const hasIOSLink = links.mobile.ios !== '';
|
|
100
|
+
return !isWalletConnectWallet
|
|
101
|
+
? hasIOSLink
|
|
102
|
+
: hasIOSLink && hasWalletConnectLink;
|
|
103
|
+
// It is an android device
|
|
98
104
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
: hasAndroidLink;
|
|
105
|
+
else {
|
|
106
|
+
const hasAndroidLink = links.mobile.android !== '';
|
|
107
|
+
return !isWalletConnectWallet
|
|
108
|
+
? hasAndroidLink
|
|
109
|
+
: hasAndroidLink && hasWalletConnectLink;
|
|
105
110
|
}
|
|
106
|
-
return true;
|
|
107
111
|
});
|
|
108
|
-
wallets = filteredWalletsForPlatform;
|
|
109
|
-
return wallets;
|
|
110
112
|
};
|
|
111
|
-
exports.getSupportedWallets = getSupportedWallets;
|
|
112
113
|
const chainStringToChains = {
|
|
113
114
|
'eip155:1': ['ETH', 'EVM'],
|
|
114
115
|
};
|
package/src/multi-wallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-wallet.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/multi-wallet.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,6EAAoD;AAEpD,2EAAmD;AACnD,mEAA2C;AAC3C,yEAAiD;AACjD,iEAAyC;AACzC,4EAAoD;AACpD,mEAA2C;AAC3C,mEAA2C;AAE3C,+
|
|
1
|
+
{"version":3,"file":"multi-wallet.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/multi-wallet.ts"],"names":[],"mappings":"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"}
|
package/src/utils/isMobile.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Sourced from http://detectmobilebrowsers.com/
|
|
3
3
|
*/
|
|
4
|
-
export declare const isMobile: () => boolean;
|
|
4
|
+
export declare const isMobile: (maxTouchPointsOverride?: number) => boolean;
|
|
5
|
+
export declare const isIPhone: () => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* @param [optional] maxTouchPointsOverride - this is used for testing since
|
|
8
|
+
* it seems that JSDOM doesn't support maxTouchPoints, so it was impossible
|
|
9
|
+
* to mock it
|
|
10
|
+
*/
|
|
11
|
+
export declare const isIPad: (maxTouchPointsOverride?: number) => boolean;
|
package/src/utils/isMobile.js
CHANGED
|
@@ -3,11 +3,27 @@
|
|
|
3
3
|
* Sourced from http://detectmobilebrowsers.com/
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isMobile = void 0;
|
|
6
|
+
exports.isIPad = exports.isIPhone = exports.isMobile = void 0;
|
|
7
7
|
/* eslint-disable max-len, no-useless-escape */
|
|
8
8
|
const userAgentRegex1 = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i;
|
|
9
9
|
const userAgentRegex2 = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
// This is a regex that covers both iphone, android and any other mobile device.
|
|
11
|
+
const isMobile = (maxTouchPointsOverride) => userAgentRegex1.test(navigator.userAgent) ||
|
|
12
|
+
userAgentRegex2.test(navigator.userAgent.substring(0, 4)) ||
|
|
13
|
+
(0, exports.isIPad)(maxTouchPointsOverride) ||
|
|
14
|
+
(0, exports.isIPhone)();
|
|
12
15
|
exports.isMobile = isMobile;
|
|
16
|
+
const isIPhone = () => /iPhone/.test(navigator.userAgent);
|
|
17
|
+
exports.isIPhone = isIPhone;
|
|
18
|
+
/**
|
|
19
|
+
* @param [optional] maxTouchPointsOverride - this is used for testing since
|
|
20
|
+
* it seems that JSDOM doesn't support maxTouchPoints, so it was impossible
|
|
21
|
+
* to mock it
|
|
22
|
+
*/
|
|
23
|
+
const isIPad = (maxTouchPointsOverride) => {
|
|
24
|
+
const maxTouchPoints = maxTouchPointsOverride || navigator.maxTouchPoints;
|
|
25
|
+
return (/iPad/.test(navigator.userAgent) ||
|
|
26
|
+
(/Mac/.test(navigator.userAgent) && maxTouchPoints === 5));
|
|
27
|
+
};
|
|
28
|
+
exports.isIPad = isIPad;
|
|
13
29
|
//# sourceMappingURL=isMobile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isMobile.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/isMobile.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+CAA+C;AAE/C,MAAM,eAAe,GACnB,qVAAqV,CAAC;AAExV,MAAM,eAAe,GACnB,ykDAAykD,CAAC;
|
|
1
|
+
{"version":3,"file":"isMobile.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/isMobile.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+CAA+C;AAE/C,MAAM,eAAe,GACnB,qVAAqV,CAAC;AAExV,MAAM,eAAe,GACnB,ykDAAykD,CAAC;AAE5kD,gFAAgF;AACzE,MAAM,QAAQ,GAAG,CAAC,sBAA+B,EAAE,EAAE,CAC1D,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IACzC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,IAAA,cAAM,EAAC,sBAAsB,CAAC;IAC9B,IAAA,gBAAQ,GAAE,CAAC;AAJA,QAAA,QAAQ,YAIR;AAEN,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAApD,QAAA,QAAQ,YAA4C;AAEjE;;;;GAIG;AACI,MAAM,MAAM,GAAG,CAAC,sBAA+B,EAAE,EAAE;IACxD,MAAM,cAAc,GAAG,sBAAsB,IAAI,SAAS,CAAC,cAAc,CAAC;IAC1E,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAChC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,cAAc,KAAK,CAAC,CAAC,CAC1D,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,MAAM,UAMjB"}
|
|
@@ -32,6 +32,7 @@ class EthProviderHelper {
|
|
|
32
32
|
this.OperaProvider = () => this.installedProviderLookup([{ flag: 'isOpera', value: true }]);
|
|
33
33
|
this.GameStopProvider = () => this.installedProviderLookup([{ flag: 'isGamestop', value: true }]);
|
|
34
34
|
this.ExodusProvider = () => this.installedProviderLookup([{ flag: 'isExodus', value: true }]);
|
|
35
|
+
this.BloctoProvider = () => this.installedProviderLookup([{ flag: 'isBlocto', value: true }]);
|
|
35
36
|
this.UnknownInjectedProvider = () => this.installedProviderLookup([
|
|
36
37
|
{ flag: 'isMetaMask', value: false },
|
|
37
38
|
{ flag: 'isExodus', value: false },
|
|
@@ -39,8 +40,10 @@ class EthProviderHelper {
|
|
|
39
40
|
{ flag: 'isBraveWallet', value: false },
|
|
40
41
|
{ flag: 'isGamestop', value: false },
|
|
41
42
|
{ flag: 'isOpera', value: false },
|
|
43
|
+
{ flag: 'isBlocto', value: false },
|
|
42
44
|
]);
|
|
43
45
|
this.providers = {
|
|
46
|
+
bloctoinjected: this.BloctoProvider,
|
|
44
47
|
braveevm: this.BraveProvider,
|
|
45
48
|
coinbase: this.CoinbaseProvider,
|
|
46
49
|
exodusevm: this.ExodusProvider,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethProviderHelper.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/ethProviderHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mCAAuC;AAGvC,kEAA0C;AAC1C,yEAAsE;AAEtE,6DAA0D;AAC1D,sDAAmD;AAUnD,MAAa,iBAAiB;IAA9B;QACE,qBAAgB,GAAa,GAAG,EAAE;QAChC,6FAA6F;QAC7F,IAAI,CAAC,uBAAuB,CAAC;YAC3B,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE;YACvC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;YAClC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;SACpC,CAAC,CAAC;QAEL,kBAAa,GAAa,GAAG,EAAE,CAC7B,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEzE,qBAAgB,GAAa,GAAG,EAAE,CAChC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE5E,kBAAa,GAAa,GAAG,EAAE,CAC7B,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEnE,qBAAgB,GAAa,GAAG,EAAE,CAChC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEtE,mBAAc,GAAa,GAAG,EAAE,CAC9B,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEpE,4BAAuB,GAAa,GAAG,EAAE,CACvC,IAAI,CAAC,uBAAuB,CAAC;YAC3B,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;YACpC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;YAClC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE;YACvC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;YACpC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"ethProviderHelper.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/ethereum/ethProviderHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mCAAuC;AAGvC,kEAA0C;AAC1C,yEAAsE;AAEtE,6DAA0D;AAC1D,sDAAmD;AAUnD,MAAa,iBAAiB;IAA9B;QACE,qBAAgB,GAAa,GAAG,EAAE;QAChC,6FAA6F;QAC7F,IAAI,CAAC,uBAAuB,CAAC;YAC3B,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE;YACvC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;YAClC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;SACpC,CAAC,CAAC;QAEL,kBAAa,GAAa,GAAG,EAAE,CAC7B,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEzE,qBAAgB,GAAa,GAAG,EAAE,CAChC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE5E,kBAAa,GAAa,GAAG,EAAE,CAC7B,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEnE,qBAAgB,GAAa,GAAG,EAAE,CAChC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEtE,mBAAc,GAAa,GAAG,EAAE,CAC9B,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEpE,mBAAc,GAAa,GAAG,EAAE,CAC9B,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEpE,4BAAuB,GAAa,GAAG,EAAE,CACvC,IAAI,CAAC,uBAAuB,CAAC;YAC3B,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;YACpC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;YAClC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE;YACvC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;YACpC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;YACjC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;SACnC,CAAC,CAAC;QAEL,cAAS,GAEL;YACF,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,aAAa;YAC5B,QAAQ,EAAE,IAAI,CAAC,gBAAgB;YAC/B,SAAS,EAAE,IAAI,CAAC,cAAc;YAC9B,QAAQ,EAAE,IAAI,CAAC,gBAAgB;YAC/B,QAAQ,EAAE,IAAI,CAAC,gBAAgB;YAC/B,KAAK,EAAE,IAAI,CAAC,aAAa;YACzB,OAAO,EAAE,IAAI,CAAC,uBAAuB;SACtC,CAAC;IAiIJ,CAAC;IA/HC,uBAAuB,CACrB,aAAuC;QAEvC,OAAO,IAAA,+BAAc,EAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,aAAa,CAAC,CAAC;IACrE,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,qBAAqB,CAAC,QAAoB;QACxC,MAAM,iBAAiB,GAAgB,EAAE,CAAC;QAE1C,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YACnC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClC;aAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE;YACzC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACtC,iBAAiB,CAAC,IAAI,CAAC,QAAqB,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,iBAAiB,CAAC,UAAkB;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;IACrD,CAAC;IAED,YAAY,CAAC,UAAkB;;QAC7B,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,SAAS,EAAC,IAAA,yCAAmB,EAAC,UAAU,CAAC,CAAC,kDAAI,CAAC;QAErE,OAAO,QAAQ,KAAK,SAAS;YAC3B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,eAAM,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,0DAA0D;IACpH,CAAC;IAEK,0BAA0B,CAAC,IAAY;;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE;gBACb,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,IAAI;gBACF,MAAM,CAAC,gBAAgB,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;gBAC1E,MAAM,aAAa,GAAG,cAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBACzD,iBAAO,CAAC,GAAG,CAAC,GAAG,IAAI,oBAAoB,aAAa,EAAE,CAAC,CAAC;gBACxD,OAAO,aAAa,CAAC;aACtB;YAAC,OAAO,GAAG,EAAE;gBACZ,iBAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC5B;QACH,CAAC;KAAA;IAEK,mBAAmB,CACvB,aAAqB,EACrB,IAAY;;YAEZ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAElE,IAAI,CAAC,aAAa,EAAE;gBAClB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAEzC,IAAI,CAAC,QAAQ,EAAE;gBACb,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC9D,iBAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YAC7C,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAEK,oBAAoB,CACxB,SAA+B,EAC/B,YAA4C;;YAE5C,IAAI,CAAC,YAAY,EAAE;gBACjB,OAAO,GAAG,EAAE;oBACV,sBAAsB;gBACxB,CAAC,CAAC;aACH;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAe,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;YAErE,MAAM,mBAAmB,GAA8B,CAAO,QAAQ,EAAE,EAAE;;gBACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;oBACzB,MAAM,CAAA,MAAA,SAAS,CAAC,YAAY,yDAAI,CAAA,CAAC;oBACjC,OAAO;iBACR;gBAED,IAAI,CAAC,IAAA,6BAAa,EAAC,OAAO,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE;oBACxD,MAAM,CAAA,MAAA,SAAS,CAAC,eAAe,0DAAG,QAAQ,CAAC,CAAA,CAAC;iBAC7C;YACH,CAAC,CAAA,CAAC;YAEF,MAAM,iBAAiB,GAA4B,GAAS,EAAE;;gBAC5D,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;gBAChD,MAAM,CAAA,MAAA,SAAS,CAAC,aAAa,0DAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA,CAAC;YAC9D,CAAC,CAAA,CAAC;YAEF,MAAM,gBAAgB,GAA2B,CAAO,KAAK,EAAE,EAAE;;gBAC/D,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,IAAI,EAAE;oBACxB,OAAO;iBACR;gBACD,MAAM,CAAA,MAAA,SAAS,CAAC,YAAY,yDAAI,CAAA,CAAC;YACnC,CAAC,CAAA,CAAC;YAEF,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;YACpD,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YAC/C,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YAE5C,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;KAAA;IAED,uBAAuB,CAAC,IAAY;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAe,CAAC;QAE9C,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAChC,CAAC;CACF;AAlLD,8CAkLC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const meta_mask_1 = __importDefault(require("../meta-mask"));
|
|
7
|
+
class BloctoInjected extends meta_mask_1.default {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.name = 'bloctoInjected';
|
|
11
|
+
this.canConnectViaQrCode = false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.default = BloctoInjected;
|
|
15
|
+
//# sourceMappingURL=BloctoInjected.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BloctoInjected.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/ethereum/injected/BloctoInjected.ts"],"names":[],"mappings":";;;;;AAAA,6DAAoC;AAEpC,MAAM,cAAe,SAAQ,mBAAQ;IAArC;;QACW,SAAI,GAAG,gBAAgB,CAAC;QACxB,wBAAmB,GAAG,KAAK,CAAC;IACvC,CAAC;CAAA;AAED,kBAAe,cAAc,CAAC"}
|
package/src/wallets/window.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* and also provider and previousProvider
|
|
7
7
|
*/
|
|
8
8
|
export interface IProvider {
|
|
9
|
+
isBlocto?: boolean;
|
|
9
10
|
isBraveWallet?: boolean;
|
|
10
11
|
isCoinbaseWallet?: boolean;
|
|
11
12
|
isExodus?: boolean;
|
|
@@ -16,7 +17,7 @@ export interface IProvider {
|
|
|
16
17
|
isPhantom?: boolean;
|
|
17
18
|
isSolflare?: boolean;
|
|
18
19
|
}
|
|
19
|
-
export declare type ProviderFlag = 'isBraveWallet' | 'isCoinbaseWallet' | 'isGamestop' | 'isMetaMask' | 'isExodus' | 'isOpera';
|
|
20
|
+
export declare type ProviderFlag = 'isBraveWallet' | 'isCoinbaseWallet' | 'isGamestop' | 'isMetaMask' | 'isExodus' | 'isOpera' | 'isBlocto';
|
|
20
21
|
export declare type ProviderCondition = {
|
|
21
22
|
flag: ProviderFlag | SolProviderFlag;
|
|
22
23
|
value: boolean;
|
package/src/utils/platform.d.ts
DELETED
package/src/utils/platform.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isIPad = exports.isAndroid = exports.isPhone = void 0;
|
|
4
|
-
const isPhone = () => /iPhone/.test(navigator.userAgent);
|
|
5
|
-
exports.isPhone = isPhone;
|
|
6
|
-
const isAndroid = () => /Android/.test(navigator.userAgent);
|
|
7
|
-
exports.isAndroid = isAndroid;
|
|
8
|
-
const isIPad = () => /iPad/.test(navigator.userAgent) ||
|
|
9
|
-
(/Mac/.test(navigator.userAgent) && navigator.maxTouchPoints === 5);
|
|
10
|
-
exports.isIPad = isIPad;
|
|
11
|
-
//# sourceMappingURL=platform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/platform.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAAnD,QAAA,OAAO,WAA4C;AACzD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAAtD,QAAA,SAAS,aAA6C;AAE5D,MAAM,MAAM,GAAG,GAAG,EAAE,CACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IAChC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC;AAFzD,QAAA,MAAM,UAEmD"}
|