@onekeyfe/inpage-providers-hub 1.1.6 → 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,7 +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");
12
+ const onekey_sui_provider_1 = require("@onekeyfe/onekey-sui-provider");
11
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
+ }
12
32
  function injectWeb3Provider() {
13
33
  var _a, _b;
14
34
  if (!((_a = window === null || window === void 0 ? void 0 : window.$onekey) === null || _a === void 0 ? void 0 : _a.jsBridge)) {
@@ -36,27 +56,28 @@ function injectWeb3Provider() {
36
56
  const tron = new onekey_tron_provider_1.ProviderTron({
37
57
  bridge,
38
58
  });
59
+ const sui = new onekey_sui_provider_1.ProviderSui({
60
+ bridge,
61
+ });
39
62
  // providerHub
40
63
  const $onekey = Object.assign(Object.assign({}, window.$onekey), { jsBridge: bridge, $private,
41
64
  ethereum,
42
65
  solana,
43
66
  starcoin, aptos: martian, conflux,
44
- tron, sollet: null });
45
- window.$onekey = $onekey;
46
- // ** EVM
47
- // TODO conflict with MetaMask
48
- window.ethereum = ethereum;
49
- // ** SOL
50
- window.solana = solana;
51
- window.phantom = { solana };
52
- // sim multiple providers may cause opensea.io prompts Connection twice.
53
- // window.solflare = solana;
54
- // window.glowSolana = solana;
55
- // ** STC
56
- window.starcoin = starcoin;
57
- // ** Aptos
58
- window.aptos = martian;
59
- window.martian = new Proxy(martian, {
67
+ tron, sollet: null, sui });
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, {
60
81
  get: (target, property, ...args) => {
61
82
  if (property === 'aptosProviderType') {
62
83
  return 'martian';
@@ -65,9 +86,41 @@ function injectWeb3Provider() {
65
86
  return Reflect.get(target, property, ...args);
66
87
  },
67
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
+ // });
68
120
  // ** Conflux
69
- window.conflux = conflux;
70
- window.tronLink = tron;
121
+ // window.conflux = conflux;
122
+ // window.tronLink = tron;
123
+ window.suiWallet = sui;
71
124
  // ** shim or inject real web3
72
125
  //
73
126
  // if (!window.web3) {
@@ -3,6 +3,7 @@ import { ProviderEthereum } from '@onekeyfe/onekey-eth-provider';
3
3
  import { ProviderPrivate } from '@onekeyfe/onekey-private-provider';
4
4
  import { ProviderSolana } from '@onekeyfe/onekey-solana-provider';
5
5
  import { ProviderAptos, ProviderAptosMartian } from '@onekeyfe/onekey-aptos-provider';
6
+ import { ProviderSui } from '@onekeyfe/onekey-sui-provider';
6
7
  import './connectButtonHack';
7
8
  export declare type IWindowOneKeyHub = {
8
9
  debugLogger?: any;
@@ -15,10 +16,12 @@ export declare type IWindowOneKeyHub = {
15
16
  starcoin?: any;
16
17
  aptos?: ProviderAptos;
17
18
  martian?: ProviderAptosMartian;
19
+ suiWallet?: ProviderSui;
18
20
  $private?: ProviderPrivate;
19
21
  $walletInfo?: {
20
22
  buildNumber: string;
21
23
  isLegacy: boolean;
24
+ disableExt?: boolean;
22
25
  platform: string;
23
26
  version: string;
24
27
  platformEnv: {
@@ -5,7 +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';
9
+ import { ProviderSui } from '@onekeyfe/onekey-sui-provider';
8
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
+ }
9
29
  function injectWeb3Provider() {
10
30
  var _a, _b;
11
31
  if (!((_a = window === null || window === void 0 ? void 0 : window.$onekey) === null || _a === void 0 ? void 0 : _a.jsBridge)) {
@@ -33,27 +53,28 @@ function injectWeb3Provider() {
33
53
  const tron = new ProviderTron({
34
54
  bridge,
35
55
  });
56
+ const sui = new ProviderSui({
57
+ bridge,
58
+ });
36
59
  // providerHub
37
60
  const $onekey = Object.assign(Object.assign({}, window.$onekey), { jsBridge: bridge, $private,
38
61
  ethereum,
39
62
  solana,
40
63
  starcoin, aptos: martian, conflux,
41
- tron, sollet: null });
42
- window.$onekey = $onekey;
43
- // ** EVM
44
- // TODO conflict with MetaMask
45
- window.ethereum = ethereum;
46
- // ** SOL
47
- window.solana = solana;
48
- window.phantom = { solana };
49
- // sim multiple providers may cause opensea.io prompts Connection twice.
50
- // window.solflare = solana;
51
- // window.glowSolana = solana;
52
- // ** STC
53
- window.starcoin = starcoin;
54
- // ** Aptos
55
- window.aptos = martian;
56
- window.martian = new Proxy(martian, {
64
+ tron, sollet: null, sui });
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, {
57
78
  get: (target, property, ...args) => {
58
79
  if (property === 'aptosProviderType') {
59
80
  return 'martian';
@@ -62,9 +83,41 @@ function injectWeb3Provider() {
62
83
  return Reflect.get(target, property, ...args);
63
84
  },
64
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
+ // });
65
117
  // ** Conflux
66
- window.conflux = conflux;
67
- window.tronLink = tron;
118
+ // window.conflux = conflux;
119
+ // window.tronLink = tron;
120
+ window.suiWallet = sui;
68
121
  // ** shim or inject real web3
69
122
  //
70
123
  // if (!window.web3) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/inpage-providers-hub",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "keywords": [
5
5
  "cross-inpage-provider"
6
6
  ],
@@ -28,16 +28,17 @@
28
28
  "start": "tsc --watch"
29
29
  },
30
30
  "dependencies": {
31
- "@onekeyfe/cross-inpage-provider-core": "1.1.6",
32
- "@onekeyfe/cross-inpage-provider-types": "1.1.6",
33
- "@onekeyfe/onekey-aptos-provider": "1.1.6",
34
- "@onekeyfe/onekey-conflux-provider": "1.1.6",
35
- "@onekeyfe/onekey-eth-provider": "1.1.6",
36
- "@onekeyfe/onekey-private-provider": "1.1.6",
37
- "@onekeyfe/onekey-solana-provider": "1.1.6",
38
- "@onekeyfe/onekey-starcoin-provider": "1.1.6",
39
- "@onekeyfe/onekey-tron-provider": "1.1.6",
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",
40
41
  "web3": "^1.7.3"
41
42
  },
42
- "gitHead": "74a047c11aa3bbc20e3b3cc0dac84eea9447083c"
43
+ "gitHead": "2fb531749aeda978c3974b9d3b53982e5cf18d8d"
43
44
  }