@onekeyfe/inpage-providers-hub 1.1.10 → 1.1.12
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 +38 -36
- package/dist/injectWeb3Provider.js +38 -36
- package/package.json +12 -12
|
@@ -13,20 +13,48 @@ const onekey_sui_provider_1 = require("@onekeyfe/onekey-sui-provider");
|
|
|
13
13
|
require("./connectButtonHack");
|
|
14
14
|
// import Web3 from 'web3'; // cause build error
|
|
15
15
|
const { WALLET_INFO_LOACAL_KEY } = cross_inpage_provider_core_1.consts;
|
|
16
|
+
function checkEnableDefineProperty() {
|
|
17
|
+
try {
|
|
18
|
+
const walletInfoLocalStr = localStorage.getItem(WALLET_INFO_LOACAL_KEY);
|
|
19
|
+
const walletInfoLocal = walletInfoLocalStr ? JSON.parse(walletInfoLocalStr) : null;
|
|
20
|
+
return !!(walletInfoLocal === null || walletInfoLocal === void 0 ? void 0 : walletInfoLocal.platformEnv.isExtension);
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
console.error(e);
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
16
27
|
function defineWindowProperty(property, provider) {
|
|
28
|
+
const enable = checkEnableDefineProperty();
|
|
29
|
+
const proxyProvider = new Proxy(provider, {
|
|
30
|
+
defineProperty(target, property, attributes) {
|
|
31
|
+
// skip define Prevent overwriting
|
|
32
|
+
return true;
|
|
33
|
+
},
|
|
34
|
+
});
|
|
17
35
|
try {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
36
|
+
if (enable) {
|
|
37
|
+
Object.keys(provider).forEach((key) => {
|
|
38
|
+
var _a;
|
|
39
|
+
((_a = window[property]) !== null && _a !== void 0 ? _a : {})[key] = proxyProvider[key];
|
|
40
|
+
});
|
|
41
|
+
Object.defineProperty(window, property, {
|
|
42
|
+
configurable: false,
|
|
43
|
+
get() {
|
|
44
|
+
return proxyProvider;
|
|
45
|
+
},
|
|
46
|
+
set(val) {
|
|
47
|
+
// skip set
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
window[property] = provider;
|
|
53
|
+
}
|
|
27
54
|
}
|
|
28
55
|
catch (ex) {
|
|
29
56
|
console.error(ex);
|
|
57
|
+
window[property] = provider;
|
|
30
58
|
}
|
|
31
59
|
}
|
|
32
60
|
function injectWeb3Provider() {
|
|
@@ -94,33 +122,7 @@ function injectWeb3Provider() {
|
|
|
94
122
|
defineWindowProperty('martian', martianProxy);
|
|
95
123
|
defineWindowProperty('conflux', conflux);
|
|
96
124
|
defineWindowProperty('tronLink', tron);
|
|
97
|
-
|
|
98
|
-
// ** EVM
|
|
99
|
-
// TODO conflict with MetaMask
|
|
100
|
-
// window.ethereum = ethereum;
|
|
101
|
-
// ** SOL
|
|
102
|
-
// window.solana = solana;
|
|
103
|
-
// window.phantom = { solana };
|
|
104
|
-
// sim multiple providers may cause opensea.io prompts Connection twice.
|
|
105
|
-
// window.solflare = solana;
|
|
106
|
-
// window.glowSolana = solana;
|
|
107
|
-
// ** STC
|
|
108
|
-
// window.starcoin = starcoin;
|
|
109
|
-
// ** Aptos
|
|
110
|
-
// window.aptos = martian;
|
|
111
|
-
// window.martian = new Proxy(martian, {
|
|
112
|
-
// get: (target, property, ...args) => {
|
|
113
|
-
// if (property === 'aptosProviderType') {
|
|
114
|
-
// return 'martian';
|
|
115
|
-
// }
|
|
116
|
-
// // eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
117
|
-
// return Reflect.get(target, property, ...args);
|
|
118
|
-
// },
|
|
119
|
-
// });
|
|
120
|
-
// ** Conflux
|
|
121
|
-
// window.conflux = conflux;
|
|
122
|
-
// window.tronLink = tron;
|
|
123
|
-
window.suiWallet = sui;
|
|
125
|
+
defineWindowProperty('suiWallet', sui);
|
|
124
126
|
// ** shim or inject real web3
|
|
125
127
|
//
|
|
126
128
|
// if (!window.web3) {
|
|
@@ -10,20 +10,48 @@ import { ProviderSui, registerSuiWallet } from '@onekeyfe/onekey-sui-provider';
|
|
|
10
10
|
import './connectButtonHack';
|
|
11
11
|
// import Web3 from 'web3'; // cause build error
|
|
12
12
|
const { WALLET_INFO_LOACAL_KEY } = consts;
|
|
13
|
+
function checkEnableDefineProperty() {
|
|
14
|
+
try {
|
|
15
|
+
const walletInfoLocalStr = localStorage.getItem(WALLET_INFO_LOACAL_KEY);
|
|
16
|
+
const walletInfoLocal = walletInfoLocalStr ? JSON.parse(walletInfoLocalStr) : null;
|
|
17
|
+
return !!(walletInfoLocal === null || walletInfoLocal === void 0 ? void 0 : walletInfoLocal.platformEnv.isExtension);
|
|
18
|
+
}
|
|
19
|
+
catch (e) {
|
|
20
|
+
console.error(e);
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
13
24
|
function defineWindowProperty(property, provider) {
|
|
25
|
+
const enable = checkEnableDefineProperty();
|
|
26
|
+
const proxyProvider = new Proxy(provider, {
|
|
27
|
+
defineProperty(target, property, attributes) {
|
|
28
|
+
// skip define Prevent overwriting
|
|
29
|
+
return true;
|
|
30
|
+
},
|
|
31
|
+
});
|
|
14
32
|
try {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
33
|
+
if (enable) {
|
|
34
|
+
Object.keys(provider).forEach((key) => {
|
|
35
|
+
var _a;
|
|
36
|
+
((_a = window[property]) !== null && _a !== void 0 ? _a : {})[key] = proxyProvider[key];
|
|
37
|
+
});
|
|
38
|
+
Object.defineProperty(window, property, {
|
|
39
|
+
configurable: false,
|
|
40
|
+
get() {
|
|
41
|
+
return proxyProvider;
|
|
42
|
+
},
|
|
43
|
+
set(val) {
|
|
44
|
+
// skip set
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
window[property] = provider;
|
|
50
|
+
}
|
|
24
51
|
}
|
|
25
52
|
catch (ex) {
|
|
26
53
|
console.error(ex);
|
|
54
|
+
window[property] = provider;
|
|
27
55
|
}
|
|
28
56
|
}
|
|
29
57
|
function injectWeb3Provider() {
|
|
@@ -91,33 +119,7 @@ function injectWeb3Provider() {
|
|
|
91
119
|
defineWindowProperty('martian', martianProxy);
|
|
92
120
|
defineWindowProperty('conflux', conflux);
|
|
93
121
|
defineWindowProperty('tronLink', tron);
|
|
94
|
-
|
|
95
|
-
// ** EVM
|
|
96
|
-
// TODO conflict with MetaMask
|
|
97
|
-
// window.ethereum = ethereum;
|
|
98
|
-
// ** SOL
|
|
99
|
-
// window.solana = solana;
|
|
100
|
-
// window.phantom = { solana };
|
|
101
|
-
// sim multiple providers may cause opensea.io prompts Connection twice.
|
|
102
|
-
// window.solflare = solana;
|
|
103
|
-
// window.glowSolana = solana;
|
|
104
|
-
// ** STC
|
|
105
|
-
// window.starcoin = starcoin;
|
|
106
|
-
// ** Aptos
|
|
107
|
-
// window.aptos = martian;
|
|
108
|
-
// window.martian = new Proxy(martian, {
|
|
109
|
-
// get: (target, property, ...args) => {
|
|
110
|
-
// if (property === 'aptosProviderType') {
|
|
111
|
-
// return 'martian';
|
|
112
|
-
// }
|
|
113
|
-
// // eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
114
|
-
// return Reflect.get(target, property, ...args);
|
|
115
|
-
// },
|
|
116
|
-
// });
|
|
117
|
-
// ** Conflux
|
|
118
|
-
// window.conflux = conflux;
|
|
119
|
-
// window.tronLink = tron;
|
|
120
|
-
window.suiWallet = sui;
|
|
122
|
+
defineWindowProperty('suiWallet', sui);
|
|
121
123
|
// ** shim or inject real web3
|
|
122
124
|
//
|
|
123
125
|
// if (!window.web3) {
|
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.12",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"cross-inpage-provider"
|
|
6
6
|
],
|
|
@@ -28,17 +28,17 @@
|
|
|
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-conflux-provider": "1.1.
|
|
35
|
-
"@onekeyfe/onekey-eth-provider": "1.1.
|
|
36
|
-
"@onekeyfe/onekey-private-provider": "1.1.
|
|
37
|
-
"@onekeyfe/onekey-solana-provider": "1.1.
|
|
38
|
-
"@onekeyfe/onekey-starcoin-provider": "1.1.
|
|
39
|
-
"@onekeyfe/onekey-sui-provider": "1.1.
|
|
40
|
-
"@onekeyfe/onekey-tron-provider": "1.1.
|
|
31
|
+
"@onekeyfe/cross-inpage-provider-core": "1.1.12",
|
|
32
|
+
"@onekeyfe/cross-inpage-provider-types": "1.1.12",
|
|
33
|
+
"@onekeyfe/onekey-aptos-provider": "1.1.12",
|
|
34
|
+
"@onekeyfe/onekey-conflux-provider": "1.1.12",
|
|
35
|
+
"@onekeyfe/onekey-eth-provider": "1.1.12",
|
|
36
|
+
"@onekeyfe/onekey-private-provider": "1.1.12",
|
|
37
|
+
"@onekeyfe/onekey-solana-provider": "1.1.12",
|
|
38
|
+
"@onekeyfe/onekey-starcoin-provider": "1.1.12",
|
|
39
|
+
"@onekeyfe/onekey-sui-provider": "1.1.12",
|
|
40
|
+
"@onekeyfe/onekey-tron-provider": "1.1.12",
|
|
41
41
|
"web3": "^1.7.3"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "5af7717e70fac421ababe1ed244393f18b24e164"
|
|
44
44
|
}
|