@onekeyfe/inpage-providers-hub 1.1.21 → 1.1.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/dist/cjs/injectWeb3Provider.js +22 -82
- package/dist/injectWeb3Provider.js +8 -68
- package/package.json +15 -15
|
@@ -15,73 +15,6 @@ const cross_inpage_provider_core_1 = require("@onekeyfe/cross-inpage-provider-co
|
|
|
15
15
|
const onekey_sui_provider_1 = require("@onekeyfe/onekey-sui-provider");
|
|
16
16
|
require("./connectButtonHack");
|
|
17
17
|
const consts_1 = require("./connectButtonHack/consts");
|
|
18
|
-
// import Web3 from 'web3'; // cause build error
|
|
19
|
-
const { WALLET_INFO_LOACAL_KEY } = cross_inpage_provider_core_1.consts;
|
|
20
|
-
function checkWalletSwitchEnable(property) {
|
|
21
|
-
try {
|
|
22
|
-
const walletInfoLocalStr = localStorage.getItem(WALLET_INFO_LOACAL_KEY);
|
|
23
|
-
const walletInfoLocal = walletInfoLocalStr ? JSON.parse(walletInfoLocalStr) : null;
|
|
24
|
-
if (walletInfoLocal && walletInfoLocal.walletSwitchConfig) {
|
|
25
|
-
const { enable, disable } = walletInfoLocal.walletSwitchConfig;
|
|
26
|
-
const enableList = enable || [];
|
|
27
|
-
const disableList = disable || [];
|
|
28
|
-
return ((enableList.includes(property) && !disableList.includes(property)) ||
|
|
29
|
-
(!enableList.includes(property) && !disableList.includes(property)));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
catch (e) {
|
|
33
|
-
console.error(e);
|
|
34
|
-
}
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
function checkEnableDefineProperty(property) {
|
|
38
|
-
if (property === '$onekey')
|
|
39
|
-
return false;
|
|
40
|
-
try {
|
|
41
|
-
const walletInfoLocalStr = localStorage.getItem(WALLET_INFO_LOACAL_KEY);
|
|
42
|
-
const walletInfoLocal = walletInfoLocalStr ? JSON.parse(walletInfoLocalStr) : null;
|
|
43
|
-
return !!(walletInfoLocal === null || walletInfoLocal === void 0 ? void 0 : walletInfoLocal.platformEnv.isExtension);
|
|
44
|
-
}
|
|
45
|
-
catch (e) {
|
|
46
|
-
console.error(e);
|
|
47
|
-
}
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
function defineWindowProperty(property, provider) {
|
|
51
|
-
if (!checkWalletSwitchEnable(property))
|
|
52
|
-
return;
|
|
53
|
-
const enable = checkEnableDefineProperty(property);
|
|
54
|
-
const proxyProvider = new Proxy(provider, {
|
|
55
|
-
defineProperty(target, property, attributes) {
|
|
56
|
-
// skip define Prevent overwriting
|
|
57
|
-
return true;
|
|
58
|
-
},
|
|
59
|
-
});
|
|
60
|
-
try {
|
|
61
|
-
if (enable) {
|
|
62
|
-
Object.keys(provider).forEach((key) => {
|
|
63
|
-
var _a;
|
|
64
|
-
((_a = window[property]) !== null && _a !== void 0 ? _a : {})[key] = proxyProvider[key];
|
|
65
|
-
});
|
|
66
|
-
Object.defineProperty(window, property, {
|
|
67
|
-
configurable: false,
|
|
68
|
-
get() {
|
|
69
|
-
return proxyProvider;
|
|
70
|
-
},
|
|
71
|
-
set(val) {
|
|
72
|
-
// skip set
|
|
73
|
-
},
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
window[property] = provider;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch (ex) {
|
|
81
|
-
console.error(ex);
|
|
82
|
-
window[property] = provider;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
18
|
function injectWeb3Provider() {
|
|
86
19
|
var _a, _b;
|
|
87
20
|
if (!((_a = window === null || window === void 0 ? void 0 : window.$onekey) === null || _a === void 0 ? void 0 : _a.jsBridge)) {
|
|
@@ -129,7 +62,7 @@ function injectWeb3Provider() {
|
|
|
129
62
|
tron, sollet: null, sui,
|
|
130
63
|
cardano,
|
|
131
64
|
cosmos });
|
|
132
|
-
defineWindowProperty('$onekey', $onekey);
|
|
65
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('$onekey', $onekey);
|
|
133
66
|
const martianProxy = new Proxy(martian, {
|
|
134
67
|
get: (target, property, ...args) => {
|
|
135
68
|
if (property === 'aptosProviderType') {
|
|
@@ -139,24 +72,24 @@ function injectWeb3Provider() {
|
|
|
139
72
|
return Reflect.get(target, property, ...args);
|
|
140
73
|
},
|
|
141
74
|
});
|
|
142
|
-
defineWindowProperty('ethereum', ethereum);
|
|
143
|
-
defineWindowProperty('solana', solana);
|
|
144
|
-
defineWindowProperty('phantom', { solana });
|
|
145
|
-
defineWindowProperty('starcoin', starcoin);
|
|
146
|
-
defineWindowProperty('aptos', martian);
|
|
147
|
-
defineWindowProperty('martian', martianProxy);
|
|
148
|
-
defineWindowProperty('conflux', conflux);
|
|
149
|
-
defineWindowProperty('tronLink', tron);
|
|
150
|
-
defineWindowProperty('suiWallet', sui);
|
|
75
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('ethereum', ethereum);
|
|
76
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('solana', solana);
|
|
77
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('phantom', { solana });
|
|
78
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('starcoin', starcoin);
|
|
79
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('aptos', martian);
|
|
80
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('martian', martianProxy);
|
|
81
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('conflux', conflux);
|
|
82
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('tronLink', tron);
|
|
83
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('suiWallet', sui);
|
|
151
84
|
// Cardano chain provider injection is handled independently.
|
|
152
|
-
if (checkWalletSwitchEnable('cardano')) {
|
|
85
|
+
if ((0, cross_inpage_provider_core_1.checkWalletSwitchEnable)('cardano')) {
|
|
153
86
|
(0, onekey_cardano_provider_1.defineWindowCardanoProperty)('cardano', cardano);
|
|
154
87
|
}
|
|
155
88
|
// cosmos keplr
|
|
156
|
-
defineWindowProperty('keplr', cosmos);
|
|
157
|
-
defineWindowProperty('getOfflineSigner', cosmos.getOfflineSigner.bind(cosmos));
|
|
158
|
-
defineWindowProperty('getOfflineSignerOnlyAmino', cosmos.getOfflineSignerOnlyAmino.bind(cosmos));
|
|
159
|
-
defineWindowProperty('getOfflineSignerAuto', cosmos.getOfflineSignerAuto.bind(cosmos));
|
|
89
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('keplr', cosmos);
|
|
90
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('getOfflineSigner', cosmos.getOfflineSigner.bind(cosmos));
|
|
91
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('getOfflineSignerOnlyAmino', cosmos.getOfflineSignerOnlyAmino.bind(cosmos));
|
|
92
|
+
(0, cross_inpage_provider_core_1.defineWindowProperty)('getOfflineSignerAuto', cosmos.getOfflineSignerAuto.bind(cosmos));
|
|
160
93
|
// ** shim or inject real web3
|
|
161
94
|
//
|
|
162
95
|
// if (!window.web3) {
|
|
@@ -170,6 +103,13 @@ function injectWeb3Provider() {
|
|
|
170
103
|
(0, onekey_sui_provider_1.registerSuiWallet)(sui, {
|
|
171
104
|
logo: consts_1.WALLET_CONNECT_INFO.onekey.icon,
|
|
172
105
|
});
|
|
106
|
+
// Override the SuiWallet Standard Wallet
|
|
107
|
+
if ((0, cross_inpage_provider_core_1.checkWalletSwitchEnable)('suiWallet')) {
|
|
108
|
+
(0, onekey_sui_provider_1.registerSuiWallet)(sui, {
|
|
109
|
+
name: 'Sui Wallet',
|
|
110
|
+
logo: consts_1.WALLET_CONNECT_INFO.onekey.icon,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
173
113
|
(0, onekey_polkadot_provider_1.registerPolkadot)(polkadot);
|
|
174
114
|
return $onekey;
|
|
175
115
|
}
|
|
@@ -8,77 +8,10 @@ import { ProviderTron } from '@onekeyfe/onekey-tron-provider';
|
|
|
8
8
|
import { ProviderCardano, defineWindowCardanoProperty } from '@onekeyfe/onekey-cardano-provider';
|
|
9
9
|
import { ProviderCosmos } from '@onekeyfe/onekey-cosmos-provider';
|
|
10
10
|
import { ProviderPolkadot, registerPolkadot } from '@onekeyfe/onekey-polkadot-provider';
|
|
11
|
-
import {
|
|
11
|
+
import { defineWindowProperty, checkWalletSwitchEnable, } from '@onekeyfe/cross-inpage-provider-core';
|
|
12
12
|
import { ProviderSui, registerSuiWallet } from '@onekeyfe/onekey-sui-provider';
|
|
13
13
|
import './connectButtonHack';
|
|
14
14
|
import { WALLET_CONNECT_INFO } from './connectButtonHack/consts';
|
|
15
|
-
// import Web3 from 'web3'; // cause build error
|
|
16
|
-
const { WALLET_INFO_LOACAL_KEY } = consts;
|
|
17
|
-
function checkWalletSwitchEnable(property) {
|
|
18
|
-
try {
|
|
19
|
-
const walletInfoLocalStr = localStorage.getItem(WALLET_INFO_LOACAL_KEY);
|
|
20
|
-
const walletInfoLocal = walletInfoLocalStr ? JSON.parse(walletInfoLocalStr) : null;
|
|
21
|
-
if (walletInfoLocal && walletInfoLocal.walletSwitchConfig) {
|
|
22
|
-
const { enable, disable } = walletInfoLocal.walletSwitchConfig;
|
|
23
|
-
const enableList = enable || [];
|
|
24
|
-
const disableList = disable || [];
|
|
25
|
-
return ((enableList.includes(property) && !disableList.includes(property)) ||
|
|
26
|
-
(!enableList.includes(property) && !disableList.includes(property)));
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
catch (e) {
|
|
30
|
-
console.error(e);
|
|
31
|
-
}
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
function checkEnableDefineProperty(property) {
|
|
35
|
-
if (property === '$onekey')
|
|
36
|
-
return false;
|
|
37
|
-
try {
|
|
38
|
-
const walletInfoLocalStr = localStorage.getItem(WALLET_INFO_LOACAL_KEY);
|
|
39
|
-
const walletInfoLocal = walletInfoLocalStr ? JSON.parse(walletInfoLocalStr) : null;
|
|
40
|
-
return !!(walletInfoLocal === null || walletInfoLocal === void 0 ? void 0 : walletInfoLocal.platformEnv.isExtension);
|
|
41
|
-
}
|
|
42
|
-
catch (e) {
|
|
43
|
-
console.error(e);
|
|
44
|
-
}
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
function defineWindowProperty(property, provider) {
|
|
48
|
-
if (!checkWalletSwitchEnable(property))
|
|
49
|
-
return;
|
|
50
|
-
const enable = checkEnableDefineProperty(property);
|
|
51
|
-
const proxyProvider = new Proxy(provider, {
|
|
52
|
-
defineProperty(target, property, attributes) {
|
|
53
|
-
// skip define Prevent overwriting
|
|
54
|
-
return true;
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
try {
|
|
58
|
-
if (enable) {
|
|
59
|
-
Object.keys(provider).forEach((key) => {
|
|
60
|
-
var _a;
|
|
61
|
-
((_a = window[property]) !== null && _a !== void 0 ? _a : {})[key] = proxyProvider[key];
|
|
62
|
-
});
|
|
63
|
-
Object.defineProperty(window, property, {
|
|
64
|
-
configurable: false,
|
|
65
|
-
get() {
|
|
66
|
-
return proxyProvider;
|
|
67
|
-
},
|
|
68
|
-
set(val) {
|
|
69
|
-
// skip set
|
|
70
|
-
},
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
window[property] = provider;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
catch (ex) {
|
|
78
|
-
console.error(ex);
|
|
79
|
-
window[property] = provider;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
15
|
function injectWeb3Provider() {
|
|
83
16
|
var _a, _b;
|
|
84
17
|
if (!((_a = window === null || window === void 0 ? void 0 : window.$onekey) === null || _a === void 0 ? void 0 : _a.jsBridge)) {
|
|
@@ -167,6 +100,13 @@ function injectWeb3Provider() {
|
|
|
167
100
|
registerSuiWallet(sui, {
|
|
168
101
|
logo: WALLET_CONNECT_INFO.onekey.icon,
|
|
169
102
|
});
|
|
103
|
+
// Override the SuiWallet Standard Wallet
|
|
104
|
+
if (checkWalletSwitchEnable('suiWallet')) {
|
|
105
|
+
registerSuiWallet(sui, {
|
|
106
|
+
name: 'Sui Wallet',
|
|
107
|
+
logo: WALLET_CONNECT_INFO.onekey.icon,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
170
110
|
registerPolkadot(polkadot);
|
|
171
111
|
return $onekey;
|
|
172
112
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/inpage-providers-hub",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.23",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"cross-inpage-provider"
|
|
6
6
|
],
|
|
@@ -28,20 +28,20 @@
|
|
|
28
28
|
"start": "tsc --watch"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@onekeyfe/cross-inpage-provider-core": "1.1.
|
|
32
|
-
"@onekeyfe/cross-inpage-provider-types": "1.1.
|
|
33
|
-
"@onekeyfe/onekey-aptos-provider": "1.1.
|
|
34
|
-
"@onekeyfe/onekey-cardano-provider": "1.1.
|
|
35
|
-
"@onekeyfe/onekey-conflux-provider": "1.1.
|
|
36
|
-
"@onekeyfe/onekey-cosmos-provider": "1.1.
|
|
37
|
-
"@onekeyfe/onekey-eth-provider": "1.1.
|
|
38
|
-
"@onekeyfe/onekey-polkadot-provider": "1.1.
|
|
39
|
-
"@onekeyfe/onekey-private-provider": "1.1.
|
|
40
|
-
"@onekeyfe/onekey-solana-provider": "1.1.
|
|
41
|
-
"@onekeyfe/onekey-starcoin-provider": "1.1.
|
|
42
|
-
"@onekeyfe/onekey-sui-provider": "1.1.
|
|
43
|
-
"@onekeyfe/onekey-tron-provider": "1.1.
|
|
31
|
+
"@onekeyfe/cross-inpage-provider-core": "1.1.23",
|
|
32
|
+
"@onekeyfe/cross-inpage-provider-types": "1.1.23",
|
|
33
|
+
"@onekeyfe/onekey-aptos-provider": "1.1.23",
|
|
34
|
+
"@onekeyfe/onekey-cardano-provider": "1.1.23",
|
|
35
|
+
"@onekeyfe/onekey-conflux-provider": "1.1.23",
|
|
36
|
+
"@onekeyfe/onekey-cosmos-provider": "1.1.23",
|
|
37
|
+
"@onekeyfe/onekey-eth-provider": "1.1.23",
|
|
38
|
+
"@onekeyfe/onekey-polkadot-provider": "1.1.23",
|
|
39
|
+
"@onekeyfe/onekey-private-provider": "1.1.23",
|
|
40
|
+
"@onekeyfe/onekey-solana-provider": "1.1.23",
|
|
41
|
+
"@onekeyfe/onekey-starcoin-provider": "1.1.23",
|
|
42
|
+
"@onekeyfe/onekey-sui-provider": "1.1.23",
|
|
43
|
+
"@onekeyfe/onekey-tron-provider": "1.1.23",
|
|
44
44
|
"web3": "^1.7.3"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "5c8056c76c982d7d4a8eda4cf4acc6d72cf10025"
|
|
47
47
|
}
|