@onekeyfe/inpage-providers-hub 1.1.21 → 1.1.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/dist/cjs/injectWeb3Provider.js +15 -82
- package/dist/injectWeb3Provider.js +1 -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) {
|
|
@@ -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)) {
|
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.22",
|
|
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.22",
|
|
32
|
+
"@onekeyfe/cross-inpage-provider-types": "1.1.22",
|
|
33
|
+
"@onekeyfe/onekey-aptos-provider": "1.1.22",
|
|
34
|
+
"@onekeyfe/onekey-cardano-provider": "1.1.22",
|
|
35
|
+
"@onekeyfe/onekey-conflux-provider": "1.1.22",
|
|
36
|
+
"@onekeyfe/onekey-cosmos-provider": "1.1.22",
|
|
37
|
+
"@onekeyfe/onekey-eth-provider": "1.1.22",
|
|
38
|
+
"@onekeyfe/onekey-polkadot-provider": "1.1.22",
|
|
39
|
+
"@onekeyfe/onekey-private-provider": "1.1.22",
|
|
40
|
+
"@onekeyfe/onekey-solana-provider": "1.1.22",
|
|
41
|
+
"@onekeyfe/onekey-starcoin-provider": "1.1.22",
|
|
42
|
+
"@onekeyfe/onekey-sui-provider": "1.1.22",
|
|
43
|
+
"@onekeyfe/onekey-tron-provider": "1.1.22",
|
|
44
44
|
"web3": "^1.7.3"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "605e8793b6ec2251f0f0c39cf13381495a1be500"
|
|
47
47
|
}
|