@lidofinance/browser-service 1.0.2 → 1.1.0-remove-widget-alpha.2

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,4 +1,4 @@
1
- import { NetworkConfig, WalletConfig, WalletPage, WalletTypes } from '@lidofinance/wallets-testing-wallets';
1
+ import { AccountConfig, CommonWalletConfig, NetworkConfig, WalletPage, WalletTypes } from '@lidofinance/wallets-testing-wallets';
2
2
  import { EthereumNodeService } from '@lidofinance/wallets-testing-nodes';
3
3
  import { BrowserOptions } from './browser.context.service';
4
4
  type NodeConfig = {
@@ -6,18 +6,20 @@ type NodeConfig = {
6
6
  };
7
7
  type BrowserServiceOptions = {
8
8
  networkConfig: NetworkConfig;
9
- walletConfig: WalletConfig;
9
+ accountConfig: AccountConfig;
10
+ walletConfig: CommonWalletConfig;
10
11
  nodeConfig: NodeConfig;
11
12
  browserOptions?: BrowserOptions;
12
13
  };
13
14
  export declare class BrowserService {
14
15
  private options;
16
+ private logger;
15
17
  private walletPage;
16
18
  private browserContextService;
17
19
  ethereumNodeService: EthereumNodeService;
18
20
  isFork: boolean;
19
21
  constructor(options: BrowserServiceOptions);
20
- getWalletPage(): WalletPage<WalletTypes.EOA>;
22
+ getWalletPage(): WalletPage<WalletTypes>;
21
23
  getBrowserContext(): import("playwright-core").BrowserContext;
22
24
  getBrowserContextPage(): import("playwright-core").Page;
23
25
  initWalletSetup(useFork?: boolean): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.service.d.ts","sourceRoot":"","sources":["../../src/browser.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACZ,MAAM,sCAAsC,CAAC;AAK9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAKzE,OAAO,EAEL,cAAc,EACf,MAAM,2BAA2B,CAAC;AAInC,KAAK,UAAU,GAAG;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,qBAAa,cAAc;IAOb,OAAO,CAAC,OAAO;IAN3B,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,qBAAqB,CAAwB;IAC9C,mBAAmB,EAAE,mBAAmB,CAAC;IAEzC,MAAM,EAAE,OAAO,CAAC;gBAEH,OAAO,EAAE,qBAAqB;IAElD,aAAa;IAIb,iBAAiB;IAIjB,qBAAqB;IAIf,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO;IAYjC,aAAa;IA4Bb,KAAK;IA0DL,QAAQ;CAOf"}
1
+ {"version":3,"file":"browser.service.d.ts","sourceRoot":"","sources":["../../src/browser.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,WAAW,EACZ,MAAM,sCAAsC,CAAC;AAK9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAKzE,OAAO,EAEL,cAAc,EACf,MAAM,2BAA2B,CAAC;AAKnC,KAAK,UAAU,GAAG;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,kBAAkB,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,qBAAa,cAAc;IAQb,OAAO,CAAC,OAAO;IAP3B,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,qBAAqB,CAAwB;IAC9C,mBAAmB,EAAE,mBAAmB,CAAC;IAEzC,MAAM,EAAE,OAAO,CAAC;gBAEH,OAAO,EAAE,qBAAqB;IAElD,aAAa;IAQb,iBAAiB;IAIjB,qBAAqB;IAIf,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO;IAYjC,aAAa;IA4Bb,KAAK;IA0DL,QAAQ;CAOf"}
@@ -8,11 +8,15 @@ const browser_constants_1 = require("./browser.constants");
8
8
  const browser_context_service_1 = require("./browser.context.service");
9
9
  const accounts_1 = require("viem/accounts");
10
10
  const test_1 = require("@playwright/test");
11
+ const common_1 = require("@nestjs/common");
11
12
  class BrowserService {
12
13
  constructor(options) {
13
14
  this.options = options;
15
+ this.logger = new common_1.ConsoleLogger(BrowserService.name);
14
16
  }
15
17
  getWalletPage() {
18
+ if (!this.walletPage)
19
+ this.logger.error('"walletPage" is not initialized. Use initWalletSetup() function');
16
20
  return this.walletPage;
17
21
  }
18
22
  getBrowserContext() {
@@ -58,27 +62,27 @@ class BrowserService {
58
62
  }
59
63
  async setup() {
60
64
  const extensionService = new wallets_testing_extensions_1.ExtensionService();
61
- const extensionPath = await extensionService.getExtensionDirFromId(this.options.walletConfig.COMMON.STORE_EXTENSION_ID, this.options.walletConfig.COMMON.LATEST_STABLE_DOWNLOAD_LINK);
65
+ const extensionPath = await extensionService.getExtensionDirFromId(this.options.walletConfig.STORE_EXTENSION_ID, this.options.walletConfig.LATEST_STABLE_DOWNLOAD_LINK);
62
66
  const contextDataDir = !this.ethereumNodeService?.state &&
63
- `${browser_constants_1.DEFAULT_BROWSER_CONTEXT_DIR_NAME}_${(0, accounts_1.mnemonicToAccount)(this.options.walletConfig.SECRET_PHRASE).address}_${this.options.walletConfig.COMMON.WALLET_NAME}`;
67
+ `${browser_constants_1.DEFAULT_BROWSER_CONTEXT_DIR_NAME}_${(0, accounts_1.mnemonicToAccount)(this.options.accountConfig.SECRET_PHRASE).address}_${this.options.walletConfig.WALLET_NAME}`;
64
68
  this.browserContextService = new browser_context_service_1.BrowserContextService(extensionPath, {
65
69
  contextDataDir,
66
70
  browserOptions: this.options.browserOptions,
67
71
  });
68
72
  await this.browserContextService.initBrowserContext();
69
- if (this.options.walletConfig.COMMON.WALLET_TYPE === wallets_testing_wallets_1.WalletTypes.EOA &&
73
+ if (this.options.walletConfig.WALLET_TYPE === wallets_testing_wallets_1.WalletTypes.EOA &&
70
74
  !!process.env.CI) {
71
- const manifestContent = await extensionService.getManifestContent(this.options.walletConfig.COMMON.STORE_EXTENSION_ID);
75
+ const manifestContent = await extensionService.getManifestContent(this.options.walletConfig.STORE_EXTENSION_ID);
72
76
  test_1.test.info().annotations.push({
73
77
  type: 'wallet version',
74
78
  description: manifestContent.version,
75
79
  });
76
80
  }
77
81
  const extension = new wallets_testing_extensions_1.Extension(this.browserContextService.extensionId);
78
- const extensionWalletPage = new browser_constants_1.WALLET_PAGES[this.options.walletConfig.COMMON.EXTENSION_WALLET_NAME](this.browserContextService.browserContext, extension.url, this.options.walletConfig);
79
- await extensionWalletPage.setup(this.options.walletConfig.NETWORK_NAME);
80
- if (this.options.walletConfig.COMMON.WALLET_TYPE === wallets_testing_wallets_1.WalletTypes.WC) {
81
- this.walletPage = new browser_constants_1.WALLET_PAGES[this.options.walletConfig.COMMON.WALLET_NAME](this.browserContextService.browserContext, extensionWalletPage, this.options.networkConfig.chainId, this.options.walletConfig);
82
+ const extensionWalletPage = new browser_constants_1.WALLET_PAGES[this.options.walletConfig.EXTENSION_WALLET_NAME](this.browserContextService.browserContext, extension.url, this.options.accountConfig, this.options.walletConfig);
83
+ await extensionWalletPage.setup(this.options.networkConfig.chainName);
84
+ if (this.options.walletConfig.WALLET_TYPE === wallets_testing_wallets_1.WalletTypes.WC) {
85
+ this.walletPage = new browser_constants_1.WALLET_PAGES[this.options.walletConfig.WALLET_NAME](this.browserContextService.browserContext, extensionWalletPage, this.options.networkConfig.chainId, this.options.accountConfig, this.options.walletConfig);
82
86
  }
83
87
  else {
84
88
  this.walletPage = extensionWalletPage;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.service.js","sourceRoot":"","sources":["../../src/browser.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.service.js","sourceRoot":"","sources":["../../src/browser.service.ts"],"names":[],"mappings":"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"}