@injectivelabs/wallet-evm 1.15.21-alpha.0 → 1.15.21

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.
@@ -1,10 +1,9 @@
1
- import { TxRaw, TxResponse, AminoSignResponse, DirectSignResponse } from '@injectivelabs/sdk-ts';
1
+ import { TxRaw, TxResponse, DirectSignResponse, AminoSignResponse } from '@injectivelabs/sdk-ts';
2
2
  import { ErrorContext, ThrownException } from '@injectivelabs/exceptions';
3
- import { Wallet, StdSignDoc, WalletDeviceType, BaseConcreteStrategy, SendTransactionOptions, BrowserEip1993Provider, ConcreteWalletStrategy, ConcreteWalletStrategyArgs, ConcreteEthereumWalletStrategyArgs } from '@injectivelabs/wallet-base';
3
+ import { Wallet, StdSignDoc, WalletDeviceType, BaseConcreteStrategy, SendTransactionOptions, ConcreteWalletStrategy, ConcreteWalletStrategyArgs, ConcreteEthereumWalletStrategyArgs } from '@injectivelabs/wallet-base';
4
4
  import { AccountAddress, EthereumChainId } from '@injectivelabs/ts-types';
5
5
  export declare class EvmWallet extends BaseConcreteStrategy implements ConcreteWalletStrategy {
6
6
  wallet?: Wallet;
7
- evmProviders: Partial<Record<Wallet, BrowserEip1993Provider>>;
8
7
  constructor(args: (ConcreteWalletStrategyArgs | ConcreteEthereumWalletStrategyArgs) & {
9
8
  wallet: Wallet;
10
9
  });
@@ -10,37 +10,11 @@ const utils_1 = require("@injectivelabs/utils");
10
10
  const index_js_1 = require("./utils/index.js");
11
11
  class EvmWallet extends wallet_base_2.BaseConcreteStrategy {
12
12
  wallet;
13
- evmProviders = {};
14
13
  constructor(args) {
15
14
  super(args);
16
15
  if (!(0, wallet_base_1.isEvmBrowserWallet)(args.wallet)) {
17
16
  throw new exceptions_1.WalletException(new Error(`Evm Wallet for ${(0, utils_1.capitalize)(args.wallet)} is not supported.`));
18
17
  }
19
- if (!(0, sdk_ts_1.isServerSide)()) {
20
- window.addEventListener('eip6963:announceProvider', (announcement) => {
21
- const event = announcement;
22
- const walletName = event.detail.info.name.toLowerCase();
23
- if (walletName === wallet_base_2.Wallet.Metamask.toLowerCase()) {
24
- this.evmProviders[wallet_base_2.Wallet.Metamask] = event.detail.provider;
25
- }
26
- if (walletName === wallet_base_2.Wallet.Rainbow.toLowerCase()) {
27
- this.evmProviders[wallet_base_2.Wallet.Rainbow] = event.detail.provider;
28
- }
29
- if (walletName === wallet_base_2.Wallet.Phantom.toLowerCase()) {
30
- this.evmProviders[wallet_base_2.Wallet.Phantom] = event.detail.provider;
31
- }
32
- if (walletName === wallet_base_2.Wallet.OkxWallet.toLowerCase()) {
33
- this.evmProviders[wallet_base_2.Wallet.OkxWallet] = event.detail.provider;
34
- }
35
- if (walletName === wallet_base_2.Wallet.BitGet.toLowerCase()) {
36
- this.evmProviders[wallet_base_2.Wallet.BitGet] = event.detail.provider;
37
- }
38
- if (walletName === wallet_base_2.Wallet.TrustWallet.toLowerCase()) {
39
- this.evmProviders[wallet_base_2.Wallet.TrustWallet] = event.detail.provider;
40
- }
41
- });
42
- window.dispatchEvent(new Event('eip6963:requestProvider'));
43
- }
44
18
  this.wallet = args.wallet;
45
19
  }
46
20
  EvmWalletException(error, context) {
@@ -59,9 +33,6 @@ class EvmWallet extends wallet_base_2.BaseConcreteStrategy {
59
33
  if (this.wallet === wallet_base_2.Wallet.TrustWallet) {
60
34
  return new exceptions_1.TrustWalletException(error, context);
61
35
  }
62
- if (this.wallet === wallet_base_2.Wallet.Rainbow) {
63
- return new exceptions_1.RainbowWalletException(error, context);
64
- }
65
36
  return new exceptions_1.WalletException(error, context);
66
37
  }
67
38
  async getWalletDeviceType() {
@@ -244,11 +215,7 @@ class EvmWallet extends wallet_base_2.BaseConcreteStrategy {
244
215
  ethereum.on('accountsChanged', callback);
245
216
  }
246
217
  async getEthereum() {
247
- const evmProvider = this.evmProviders[this.wallet];
248
- if (evmProvider) {
249
- return evmProvider;
250
- }
251
- const backUpProvider = this.wallet === wallet_base_2.Wallet.Metamask
218
+ const provider = this.wallet === wallet_base_2.Wallet.Metamask
252
219
  ? await (0, index_js_1.getMetamaskProvider)()
253
220
  : this.wallet === wallet_base_2.Wallet.Phantom
254
221
  ? await (0, index_js_1.getPhantomProvider)()
@@ -258,17 +225,15 @@ class EvmWallet extends wallet_base_2.BaseConcreteStrategy {
258
225
  ? await (0, index_js_1.getOkxWalletProvider)()
259
226
  : this.wallet === wallet_base_2.Wallet.TrustWallet
260
227
  ? await (0, index_js_1.getTrustWalletProvider)()
261
- : this.wallet === wallet_base_2.Wallet.Rainbow
262
- ? await (0, index_js_1.getRainbowProvider)()
263
- : undefined;
264
- if (!backUpProvider) {
228
+ : undefined;
229
+ if (!provider) {
265
230
  throw this.EvmWalletException(new Error(`Please install the ${this.wallet} wallet extension.`), {
266
231
  code: exceptions_1.UnspecifiedErrorCode,
267
232
  type: exceptions_1.ErrorType.WalletNotInstalledError,
268
233
  contextModule: wallet_base_2.WalletAction.GetAccounts,
269
234
  });
270
235
  }
271
- return backUpProvider;
236
+ return provider;
272
237
  }
273
238
  }
274
239
  exports.EvmWallet = EvmWallet;
@@ -1,6 +1,5 @@
1
1
  export { getOkxWalletProvider } from './Okx.js';
2
2
  export { getBitGetProvider } from './bitget.js';
3
3
  export { getPhantomProvider } from './phantom.js';
4
- export { getRainbowProvider } from './rainbow.js';
5
4
  export { getMetamaskProvider } from './metamask.js';
6
5
  export { getTrustWalletProvider } from './trustWallet.js';
@@ -1,14 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTrustWalletProvider = exports.getMetamaskProvider = exports.getRainbowProvider = exports.getPhantomProvider = exports.getBitGetProvider = exports.getOkxWalletProvider = void 0;
3
+ exports.getTrustWalletProvider = exports.getMetamaskProvider = exports.getPhantomProvider = exports.getBitGetProvider = exports.getOkxWalletProvider = void 0;
4
4
  var Okx_js_1 = require("./Okx.js");
5
5
  Object.defineProperty(exports, "getOkxWalletProvider", { enumerable: true, get: function () { return Okx_js_1.getOkxWalletProvider; } });
6
6
  var bitget_js_1 = require("./bitget.js");
7
7
  Object.defineProperty(exports, "getBitGetProvider", { enumerable: true, get: function () { return bitget_js_1.getBitGetProvider; } });
8
8
  var phantom_js_1 = require("./phantom.js");
9
9
  Object.defineProperty(exports, "getPhantomProvider", { enumerable: true, get: function () { return phantom_js_1.getPhantomProvider; } });
10
- var rainbow_js_1 = require("./rainbow.js");
11
- Object.defineProperty(exports, "getRainbowProvider", { enumerable: true, get: function () { return rainbow_js_1.getRainbowProvider; } });
12
10
  var metamask_js_1 = require("./metamask.js");
13
11
  Object.defineProperty(exports, "getMetamaskProvider", { enumerable: true, get: function () { return metamask_js_1.getMetamaskProvider; } });
14
12
  var trustWallet_js_1 = require("./trustWallet.js");
@@ -1,10 +1,9 @@
1
- import { TxRaw, TxResponse, AminoSignResponse, DirectSignResponse } from '@injectivelabs/sdk-ts';
1
+ import { TxRaw, TxResponse, DirectSignResponse, AminoSignResponse } from '@injectivelabs/sdk-ts';
2
2
  import { ErrorContext, ThrownException } from '@injectivelabs/exceptions';
3
- import { Wallet, StdSignDoc, WalletDeviceType, BaseConcreteStrategy, SendTransactionOptions, BrowserEip1993Provider, ConcreteWalletStrategy, ConcreteWalletStrategyArgs, ConcreteEthereumWalletStrategyArgs } from '@injectivelabs/wallet-base';
3
+ import { Wallet, StdSignDoc, WalletDeviceType, BaseConcreteStrategy, SendTransactionOptions, ConcreteWalletStrategy, ConcreteWalletStrategyArgs, ConcreteEthereumWalletStrategyArgs } from '@injectivelabs/wallet-base';
4
4
  import { AccountAddress, EthereumChainId } from '@injectivelabs/ts-types';
5
5
  export declare class EvmWallet extends BaseConcreteStrategy implements ConcreteWalletStrategy {
6
6
  wallet?: Wallet;
7
- evmProviders: Partial<Record<Wallet, BrowserEip1993Provider>>;
8
7
  constructor(args: (ConcreteWalletStrategyArgs | ConcreteEthereumWalletStrategyArgs) & {
9
8
  wallet: Wallet;
10
9
  });
@@ -1,43 +1,17 @@
1
1
  /* eslint-disable class-methods-use-this */
2
2
  import { isEvmBrowserWallet } from '@injectivelabs/wallet-base';
3
- import { toUtf8, TxGrpcApi, isServerSide, } from '@injectivelabs/sdk-ts';
4
- import { ErrorType, WalletException, BitGetException, MetamaskException, OkxWalletException, UnspecifiedErrorCode, TransactionException, TrustWalletException, RainbowWalletException, } from '@injectivelabs/exceptions';
3
+ import { toUtf8, TxGrpcApi, } from '@injectivelabs/sdk-ts';
4
+ import { ErrorType, WalletException, BitGetException, MetamaskException, OkxWalletException, UnspecifiedErrorCode, TransactionException, TrustWalletException, } from '@injectivelabs/exceptions';
5
5
  import { Wallet, WalletAction, WalletDeviceType, WalletEventListener, BaseConcreteStrategy, } from '@injectivelabs/wallet-base';
6
6
  import { sleep, capitalize } from '@injectivelabs/utils';
7
- import { getBitGetProvider, getPhantomProvider, getRainbowProvider, getMetamaskProvider, getOkxWalletProvider, getTrustWalletProvider, } from './utils/index.js';
7
+ import { getBitGetProvider, getPhantomProvider, getMetamaskProvider, getOkxWalletProvider, getTrustWalletProvider, } from './utils/index.js';
8
8
  export class EvmWallet extends BaseConcreteStrategy {
9
9
  wallet;
10
- evmProviders = {};
11
10
  constructor(args) {
12
11
  super(args);
13
12
  if (!isEvmBrowserWallet(args.wallet)) {
14
13
  throw new WalletException(new Error(`Evm Wallet for ${capitalize(args.wallet)} is not supported.`));
15
14
  }
16
- if (!isServerSide()) {
17
- window.addEventListener('eip6963:announceProvider', (announcement) => {
18
- const event = announcement;
19
- const walletName = event.detail.info.name.toLowerCase();
20
- if (walletName === Wallet.Metamask.toLowerCase()) {
21
- this.evmProviders[Wallet.Metamask] = event.detail.provider;
22
- }
23
- if (walletName === Wallet.Rainbow.toLowerCase()) {
24
- this.evmProviders[Wallet.Rainbow] = event.detail.provider;
25
- }
26
- if (walletName === Wallet.Phantom.toLowerCase()) {
27
- this.evmProviders[Wallet.Phantom] = event.detail.provider;
28
- }
29
- if (walletName === Wallet.OkxWallet.toLowerCase()) {
30
- this.evmProviders[Wallet.OkxWallet] = event.detail.provider;
31
- }
32
- if (walletName === Wallet.BitGet.toLowerCase()) {
33
- this.evmProviders[Wallet.BitGet] = event.detail.provider;
34
- }
35
- if (walletName === Wallet.TrustWallet.toLowerCase()) {
36
- this.evmProviders[Wallet.TrustWallet] = event.detail.provider;
37
- }
38
- });
39
- window.dispatchEvent(new Event('eip6963:requestProvider'));
40
- }
41
15
  this.wallet = args.wallet;
42
16
  }
43
17
  EvmWalletException(error, context) {
@@ -56,9 +30,6 @@ export class EvmWallet extends BaseConcreteStrategy {
56
30
  if (this.wallet === Wallet.TrustWallet) {
57
31
  return new TrustWalletException(error, context);
58
32
  }
59
- if (this.wallet === Wallet.Rainbow) {
60
- return new RainbowWalletException(error, context);
61
- }
62
33
  return new WalletException(error, context);
63
34
  }
64
35
  async getWalletDeviceType() {
@@ -241,11 +212,7 @@ export class EvmWallet extends BaseConcreteStrategy {
241
212
  ethereum.on('accountsChanged', callback);
242
213
  }
243
214
  async getEthereum() {
244
- const evmProvider = this.evmProviders[this.wallet];
245
- if (evmProvider) {
246
- return evmProvider;
247
- }
248
- const backUpProvider = this.wallet === Wallet.Metamask
215
+ const provider = this.wallet === Wallet.Metamask
249
216
  ? await getMetamaskProvider()
250
217
  : this.wallet === Wallet.Phantom
251
218
  ? await getPhantomProvider()
@@ -255,16 +222,14 @@ export class EvmWallet extends BaseConcreteStrategy {
255
222
  ? await getOkxWalletProvider()
256
223
  : this.wallet === Wallet.TrustWallet
257
224
  ? await getTrustWalletProvider()
258
- : this.wallet === Wallet.Rainbow
259
- ? await getRainbowProvider()
260
- : undefined;
261
- if (!backUpProvider) {
225
+ : undefined;
226
+ if (!provider) {
262
227
  throw this.EvmWalletException(new Error(`Please install the ${this.wallet} wallet extension.`), {
263
228
  code: UnspecifiedErrorCode,
264
229
  type: ErrorType.WalletNotInstalledError,
265
230
  contextModule: WalletAction.GetAccounts,
266
231
  });
267
232
  }
268
- return backUpProvider;
233
+ return provider;
269
234
  }
270
235
  }
@@ -1,6 +1,5 @@
1
1
  export { getOkxWalletProvider } from './Okx.js';
2
2
  export { getBitGetProvider } from './bitget.js';
3
3
  export { getPhantomProvider } from './phantom.js';
4
- export { getRainbowProvider } from './rainbow.js';
5
4
  export { getMetamaskProvider } from './metamask.js';
6
5
  export { getTrustWalletProvider } from './trustWallet.js';
@@ -1,6 +1,5 @@
1
1
  export { getOkxWalletProvider } from './Okx.js';
2
2
  export { getBitGetProvider } from './bitget.js';
3
3
  export { getPhantomProvider } from './phantom.js';
4
- export { getRainbowProvider } from './rainbow.js';
5
4
  export { getMetamaskProvider } from './metamask.js';
6
5
  export { getTrustWalletProvider } from './trustWallet.js';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@injectivelabs/wallet-evm",
3
3
  "description": "EVM wallet strategies for use with @injectivelabs/wallet-core.",
4
- "version": "1.15.21-alpha.0",
4
+ "version": "1.15.21",
5
5
  "sideEffects": false,
6
6
  "type": "module",
7
7
  "author": {
@@ -56,17 +56,17 @@
56
56
  "start": "node dist/index.js"
57
57
  },
58
58
  "dependencies": {
59
- "@injectivelabs/exceptions": "^1.15.18-alpha.0",
60
- "@injectivelabs/networks": "^1.15.19-alpha.0",
61
- "@injectivelabs/sdk-ts": "^1.15.21-alpha.0",
62
- "@injectivelabs/ts-types": "^1.15.19-alpha.0",
63
- "@injectivelabs/utils": "^1.15.19-alpha.0",
64
- "@injectivelabs/wallet-base": "^1.15.21-alpha.0"
59
+ "@injectivelabs/exceptions": "^1.15.18",
60
+ "@injectivelabs/networks": "^1.15.19",
61
+ "@injectivelabs/sdk-ts": "^1.15.21",
62
+ "@injectivelabs/ts-types": "^1.15.19",
63
+ "@injectivelabs/utils": "^1.15.19",
64
+ "@injectivelabs/wallet-base": "^1.15.21"
65
65
  },
66
66
  "devDependencies": {
67
67
  "shx": "^0.3.3"
68
68
  },
69
- "gitHead": "68d379240bc7a9c079578c518b1d38122a015b66",
69
+ "gitHead": "2c15bac69ae75a5e7036cc64469a720452b414ac",
70
70
  "typedoc": {
71
71
  "entryPoint": "./src/index.ts",
72
72
  "readmeFile": "./README.md",
@@ -1,4 +0,0 @@
1
- import { BrowserEip1993Provider } from '@injectivelabs/wallet-base';
2
- export declare function getRainbowProvider({ timeout }?: {
3
- timeout: number;
4
- }): Promise<BrowserEip1993Provider>;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRainbowProvider = getRainbowProvider;
4
- const sdk_ts_1 = require("@injectivelabs/sdk-ts");
5
- const $window = ((0, sdk_ts_1.isServerSide)()
6
- ? {}
7
- : window);
8
- async function getRainbowProvider({ timeout } = { timeout: 3000 }) {
9
- const provider = getRainbowWalletFromWindow();
10
- if (provider) {
11
- return provider;
12
- }
13
- return listenForRainbowWalletInitialized({
14
- timeout,
15
- });
16
- }
17
- async function listenForRainbowWalletInitialized({ timeout } = { timeout: 3000 }) {
18
- return new Promise((resolve) => {
19
- const handleInitialization = () => {
20
- resolve(getRainbowWalletFromWindow());
21
- };
22
- $window.addEventListener('rainbow#initialized', handleInitialization, {
23
- once: true,
24
- });
25
- setTimeout(() => {
26
- $window.removeEventListener('rainbow#initialized', handleInitialization);
27
- resolve(null);
28
- }, timeout);
29
- });
30
- }
31
- function getRainbowWalletFromWindow() {
32
- const injectedProviderExist = typeof window !== 'undefined' &&
33
- (typeof $window.ethereum !== 'undefined' ||
34
- typeof $window.rainbow !== 'undefined');
35
- // No injected providers exist.
36
- if (!injectedProviderExist) {
37
- return;
38
- }
39
- if ($window.rainbow) {
40
- return $window.rainbow;
41
- }
42
- if ($window.ethereum.isRainbow) {
43
- return $window.ethereum;
44
- }
45
- if ($window.providers) {
46
- return $window.providers.find((p) => p.isRainbow);
47
- }
48
- return;
49
- }
@@ -1,4 +0,0 @@
1
- import { BrowserEip1993Provider } from '@injectivelabs/wallet-base';
2
- export declare function getRainbowProvider({ timeout }?: {
3
- timeout: number;
4
- }): Promise<BrowserEip1993Provider>;
@@ -1,46 +0,0 @@
1
- import { isServerSide } from '@injectivelabs/sdk-ts';
2
- const $window = (isServerSide()
3
- ? {}
4
- : window);
5
- export async function getRainbowProvider({ timeout } = { timeout: 3000 }) {
6
- const provider = getRainbowWalletFromWindow();
7
- if (provider) {
8
- return provider;
9
- }
10
- return listenForRainbowWalletInitialized({
11
- timeout,
12
- });
13
- }
14
- async function listenForRainbowWalletInitialized({ timeout } = { timeout: 3000 }) {
15
- return new Promise((resolve) => {
16
- const handleInitialization = () => {
17
- resolve(getRainbowWalletFromWindow());
18
- };
19
- $window.addEventListener('rainbow#initialized', handleInitialization, {
20
- once: true,
21
- });
22
- setTimeout(() => {
23
- $window.removeEventListener('rainbow#initialized', handleInitialization);
24
- resolve(null);
25
- }, timeout);
26
- });
27
- }
28
- function getRainbowWalletFromWindow() {
29
- const injectedProviderExist = typeof window !== 'undefined' &&
30
- (typeof $window.ethereum !== 'undefined' ||
31
- typeof $window.rainbow !== 'undefined');
32
- // No injected providers exist.
33
- if (!injectedProviderExist) {
34
- return;
35
- }
36
- if ($window.rainbow) {
37
- return $window.rainbow;
38
- }
39
- if ($window.ethereum.isRainbow) {
40
- return $window.ethereum;
41
- }
42
- if ($window.providers) {
43
- return $window.providers.find((p) => p.isRainbow);
44
- }
45
- return;
46
- }