@onekeyfe/inpage-providers-hub 1.1.7 → 1.1.8

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.
@@ -8,8 +8,27 @@ const onekey_starcoin_provider_1 = require("@onekeyfe/onekey-starcoin-provider")
8
8
  const onekey_aptos_provider_1 = require("@onekeyfe/onekey-aptos-provider");
9
9
  const onekey_conflux_provider_1 = require("@onekeyfe/onekey-conflux-provider");
10
10
  const onekey_tron_provider_1 = require("@onekeyfe/onekey-tron-provider");
11
+ const cross_inpage_provider_core_1 = require("@onekeyfe/cross-inpage-provider-core");
11
12
  const onekey_sui_provider_1 = require("@onekeyfe/onekey-sui-provider");
12
13
  require("./connectButtonHack");
14
+ // import Web3 from 'web3'; // cause build error
15
+ const { WALLET_INFO_LOACAL_KEY } = cross_inpage_provider_core_1.consts;
16
+ function defineWindowProperty(property, provider) {
17
+ try {
18
+ Object.defineProperty(window, property, {
19
+ get() {
20
+ return provider;
21
+ },
22
+ set(val) {
23
+ // skip the assignment
24
+ return;
25
+ },
26
+ });
27
+ }
28
+ catch (ex) {
29
+ console.error(ex);
30
+ }
31
+ }
13
32
  function injectWeb3Provider() {
14
33
  var _a, _b;
15
34
  if (!((_a = window === null || window === void 0 ? void 0 : window.$onekey) === null || _a === void 0 ? void 0 : _a.jsBridge)) {
@@ -46,21 +65,19 @@ function injectWeb3Provider() {
46
65
  solana,
47
66
  starcoin, aptos: martian, conflux,
48
67
  tron, sollet: null, sui });
49
- window.$onekey = $onekey;
50
- // ** EVM
51
- // TODO conflict with MetaMask
52
- window.ethereum = ethereum;
53
- // ** SOL
54
- window.solana = solana;
55
- window.phantom = { solana };
56
- // sim multiple providers may cause opensea.io prompts Connection twice.
57
- // window.solflare = solana;
58
- // window.glowSolana = solana;
59
- // ** STC
60
- window.starcoin = starcoin;
61
- // ** Aptos
62
- window.aptos = martian;
63
- window.martian = new Proxy(martian, {
68
+ defineWindowProperty('$onekey', $onekey);
69
+ try {
70
+ const walletInfoLocalStr = localStorage.getItem(WALLET_INFO_LOACAL_KEY);
71
+ const walletInfoLocal = walletInfoLocalStr ? JSON.parse(walletInfoLocalStr) : null;
72
+ if (walletInfoLocal && walletInfoLocal.platformEnv.isExtension && walletInfoLocal.disableExt) {
73
+ // disable onekey ext stop inject
74
+ return;
75
+ }
76
+ }
77
+ catch (e) {
78
+ console.error(e);
79
+ }
80
+ const martianProxy = new Proxy(martian, {
64
81
  get: (target, property, ...args) => {
65
82
  if (property === 'aptosProviderType') {
66
83
  return 'martian';
@@ -69,9 +86,40 @@ function injectWeb3Provider() {
69
86
  return Reflect.get(target, property, ...args);
70
87
  },
71
88
  });
89
+ defineWindowProperty('ethereum', ethereum);
90
+ defineWindowProperty('solana', solana);
91
+ defineWindowProperty('phantom', { solana });
92
+ defineWindowProperty('starcoin', starcoin);
93
+ defineWindowProperty('aptos', martian);
94
+ defineWindowProperty('martian', martianProxy);
95
+ defineWindowProperty('conflux', conflux);
96
+ defineWindowProperty('tronLink', tron);
97
+ // window.$onekey = $onekey;
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
+ // });
72
120
  // ** Conflux
73
- window.conflux = conflux;
74
- window.tronLink = tron;
121
+ // window.conflux = conflux;
122
+ // window.tronLink = tron;
75
123
  window.suiWallet = sui;
76
124
  // ** shim or inject real web3
77
125
  //
@@ -21,6 +21,7 @@ export declare type IWindowOneKeyHub = {
21
21
  $walletInfo?: {
22
22
  buildNumber: string;
23
23
  isLegacy: boolean;
24
+ disableExt?: boolean;
24
25
  platform: string;
25
26
  version: string;
26
27
  platformEnv: {
@@ -5,8 +5,27 @@ import { ProviderStarcoin } from '@onekeyfe/onekey-starcoin-provider';
5
5
  import { ProviderAptosMartian } from '@onekeyfe/onekey-aptos-provider';
6
6
  import { ProviderConflux } from '@onekeyfe/onekey-conflux-provider';
7
7
  import { ProviderTron } from '@onekeyfe/onekey-tron-provider';
8
+ import { consts } from '@onekeyfe/cross-inpage-provider-core';
8
9
  import { ProviderSui } from '@onekeyfe/onekey-sui-provider';
9
10
  import './connectButtonHack';
11
+ // import Web3 from 'web3'; // cause build error
12
+ const { WALLET_INFO_LOACAL_KEY } = consts;
13
+ function defineWindowProperty(property, provider) {
14
+ try {
15
+ Object.defineProperty(window, property, {
16
+ get() {
17
+ return provider;
18
+ },
19
+ set(val) {
20
+ // skip the assignment
21
+ return;
22
+ },
23
+ });
24
+ }
25
+ catch (ex) {
26
+ console.error(ex);
27
+ }
28
+ }
10
29
  function injectWeb3Provider() {
11
30
  var _a, _b;
12
31
  if (!((_a = window === null || window === void 0 ? void 0 : window.$onekey) === null || _a === void 0 ? void 0 : _a.jsBridge)) {
@@ -43,21 +62,19 @@ function injectWeb3Provider() {
43
62
  solana,
44
63
  starcoin, aptos: martian, conflux,
45
64
  tron, sollet: null, sui });
46
- window.$onekey = $onekey;
47
- // ** EVM
48
- // TODO conflict with MetaMask
49
- window.ethereum = ethereum;
50
- // ** SOL
51
- window.solana = solana;
52
- window.phantom = { solana };
53
- // sim multiple providers may cause opensea.io prompts Connection twice.
54
- // window.solflare = solana;
55
- // window.glowSolana = solana;
56
- // ** STC
57
- window.starcoin = starcoin;
58
- // ** Aptos
59
- window.aptos = martian;
60
- window.martian = new Proxy(martian, {
65
+ defineWindowProperty('$onekey', $onekey);
66
+ try {
67
+ const walletInfoLocalStr = localStorage.getItem(WALLET_INFO_LOACAL_KEY);
68
+ const walletInfoLocal = walletInfoLocalStr ? JSON.parse(walletInfoLocalStr) : null;
69
+ if (walletInfoLocal && walletInfoLocal.platformEnv.isExtension && walletInfoLocal.disableExt) {
70
+ // disable onekey ext stop inject
71
+ return;
72
+ }
73
+ }
74
+ catch (e) {
75
+ console.error(e);
76
+ }
77
+ const martianProxy = new Proxy(martian, {
61
78
  get: (target, property, ...args) => {
62
79
  if (property === 'aptosProviderType') {
63
80
  return 'martian';
@@ -66,9 +83,40 @@ function injectWeb3Provider() {
66
83
  return Reflect.get(target, property, ...args);
67
84
  },
68
85
  });
86
+ defineWindowProperty('ethereum', ethereum);
87
+ defineWindowProperty('solana', solana);
88
+ defineWindowProperty('phantom', { solana });
89
+ defineWindowProperty('starcoin', starcoin);
90
+ defineWindowProperty('aptos', martian);
91
+ defineWindowProperty('martian', martianProxy);
92
+ defineWindowProperty('conflux', conflux);
93
+ defineWindowProperty('tronLink', tron);
94
+ // window.$onekey = $onekey;
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
+ // });
69
117
  // ** Conflux
70
- window.conflux = conflux;
71
- window.tronLink = tron;
118
+ // window.conflux = conflux;
119
+ // window.tronLink = tron;
72
120
  window.suiWallet = sui;
73
121
  // ** shim or inject real web3
74
122
  //
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/inpage-providers-hub",
3
- "version": "1.1.7",
3
+ "version": "1.1.8",
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.7",
32
- "@onekeyfe/cross-inpage-provider-types": "1.1.7",
33
- "@onekeyfe/onekey-aptos-provider": "1.1.7",
34
- "@onekeyfe/onekey-conflux-provider": "1.1.7",
35
- "@onekeyfe/onekey-eth-provider": "1.1.7",
36
- "@onekeyfe/onekey-private-provider": "1.1.7",
37
- "@onekeyfe/onekey-solana-provider": "1.1.7",
38
- "@onekeyfe/onekey-starcoin-provider": "1.1.7",
39
- "@onekeyfe/onekey-sui-provider": "1.1.7",
40
- "@onekeyfe/onekey-tron-provider": "1.1.7",
31
+ "@onekeyfe/cross-inpage-provider-core": "1.1.8",
32
+ "@onekeyfe/cross-inpage-provider-types": "1.1.8",
33
+ "@onekeyfe/onekey-aptos-provider": "1.1.8",
34
+ "@onekeyfe/onekey-conflux-provider": "1.1.8",
35
+ "@onekeyfe/onekey-eth-provider": "1.1.8",
36
+ "@onekeyfe/onekey-private-provider": "1.1.8",
37
+ "@onekeyfe/onekey-solana-provider": "1.1.8",
38
+ "@onekeyfe/onekey-starcoin-provider": "1.1.8",
39
+ "@onekeyfe/onekey-sui-provider": "1.1.8",
40
+ "@onekeyfe/onekey-tron-provider": "1.1.8",
41
41
  "web3": "^1.7.3"
42
42
  },
43
- "gitHead": "caaa1fd03f388765f3d8b1bf8f013c2dfbba7a1b"
43
+ "gitHead": "2fb531749aeda978c3974b9d3b53982e5cf18d8d"
44
44
  }