@dynamic-labs/multi-wallet 0.11.21 → 0.11.23
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 +9 -1
- package/src/utils/isMobile.js +21 -3
- package/src/utils/isMobile.js.map +1 -1
- package/src/wallets/clients/walletConnect/walletConnect.js +9 -2
- package/src/wallets/clients/walletConnect/walletConnect.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,12 @@
|
|
|
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;
|
|
12
|
+
export declare const isIOS: (maxTouchPointsOverride?: number) => boolean;
|
package/src/utils/isMobile.js
CHANGED
|
@@ -3,11 +3,29 @@
|
|
|
3
3
|
* Sourced from http://detectmobilebrowsers.com/
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isMobile = void 0;
|
|
6
|
+
exports.isIOS = 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;
|
|
29
|
+
const isIOS = (maxTouchPointsOverride) => (0, exports.isIPhone)() || (0, exports.isIPad)(maxTouchPointsOverride);
|
|
30
|
+
exports.isIOS = isIOS;
|
|
13
31
|
//# 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;AAEK,MAAM,KAAK,GAAG,CAAC,sBAA+B,EAAE,EAAE,CACvD,IAAA,gBAAQ,GAAE,IAAI,IAAA,cAAM,EAAC,sBAAsB,CAAC,CAAC;AADlC,QAAA,KAAK,SAC6B"}
|
|
@@ -88,8 +88,15 @@ const killWalletConnectSession = (client) => __awaiter(void 0, void 0, void 0, f
|
|
|
88
88
|
});
|
|
89
89
|
exports.killWalletConnectSession = killWalletConnectSession;
|
|
90
90
|
const getDeeplink = (uri, metadata) => {
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
// deeplinks for ios require special treatment
|
|
92
|
+
// see: https://docs.walletconnect.com/mobile-linking#for-ios
|
|
93
|
+
if ((0, isMobile_1.isIOS)()) {
|
|
94
|
+
const origin = metadata.mobile.universal || metadata.mobile.native;
|
|
95
|
+
return `${origin}/wc?uri=${encodeURIComponent(uri !== null && uri !== void 0 ? uri : '')}`;
|
|
96
|
+
}
|
|
97
|
+
// on android, the deeplink is simply the uri
|
|
98
|
+
// see: https://docs.walletconnect.com/mobile-linking#for-android
|
|
99
|
+
return uri;
|
|
93
100
|
};
|
|
94
101
|
exports.getDeeplink = getDeeplink;
|
|
95
102
|
const fetchWalletConnectPublicAddress = (metadata, client, opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/walletConnect/walletConnect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mEAA2C;AAG3C,qEAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/walletConnect/walletConnect.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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"}
|