@cardano-sdk/e2e 0.16.5 → 0.16.6-patch.1

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.
Files changed (29) hide show
  1. package/CHANGELOG.md +13 -5
  2. package/dist/cjs/tools/multi-delegation-data-gen/index.js +2 -14
  3. package/dist/cjs/tools/multi-delegation-data-gen/index.js.map +1 -1
  4. package/dist/cjs/tools/multi-delegation-data-gen/utils/config.d.ts +0 -1
  5. package/dist/cjs/tools/multi-delegation-data-gen/utils/config.d.ts.map +1 -1
  6. package/dist/cjs/tools/multi-delegation-data-gen/utils/config.js +0 -12
  7. package/dist/cjs/tools/multi-delegation-data-gen/utils/config.js.map +1 -1
  8. package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.d.ts +1 -2
  9. package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.d.ts.map +1 -1
  10. package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.js +1 -6
  11. package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.js.map +1 -1
  12. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  13. package/dist/esm/tools/multi-delegation-data-gen/index.js +2 -14
  14. package/dist/esm/tools/multi-delegation-data-gen/index.js.map +1 -1
  15. package/dist/esm/tools/multi-delegation-data-gen/utils/config.d.ts +0 -1
  16. package/dist/esm/tools/multi-delegation-data-gen/utils/config.d.ts.map +1 -1
  17. package/dist/esm/tools/multi-delegation-data-gen/utils/config.js +0 -12
  18. package/dist/esm/tools/multi-delegation-data-gen/utils/config.js.map +1 -1
  19. package/dist/esm/tools/multi-delegation-data-gen/utils/utils.d.ts +1 -2
  20. package/dist/esm/tools/multi-delegation-data-gen/utils/utils.d.ts.map +1 -1
  21. package/dist/esm/tools/multi-delegation-data-gen/utils/utils.js +1 -6
  22. package/dist/esm/tools/multi-delegation-data-gen/utils/utils.js.map +1 -1
  23. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  24. package/package.json +19 -22
  25. package/src/tools/multi-delegation-data-gen/example.json +0 -1
  26. package/src/tools/multi-delegation-data-gen/index.ts +4 -26
  27. package/src/tools/multi-delegation-data-gen/utils/config.ts +0 -13
  28. package/src/tools/multi-delegation-data-gen/utils/utils.ts +2 -11
  29. package/test/long-running/cache-invalidation.test.ts +13 -64
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/e2e",
3
- "version": "0.16.5",
3
+ "version": "0.16.6-patch.1",
4
4
  "description": "End to end tests for the cardano-js-sdk packages.",
5
5
  "engines": {
6
6
  "node": ">=16.0"
@@ -81,19 +81,18 @@
81
81
  "dependencies": {
82
82
  "@cardano-foundation/ledgerjs-hw-app-cardano": "^6.0.0",
83
83
  "@cardano-ogmios/client": "5.6.0",
84
- "@cardano-sdk/cardano-services": "~0.14.4",
85
- "@cardano-sdk/cardano-services-client": "~0.10.4",
86
- "@cardano-sdk/core": "~0.15.3",
87
- "@cardano-sdk/crypto": "~0.1.9",
88
- "@cardano-sdk/hardware-ledger": "~0.2.14",
89
- "@cardano-sdk/input-selection": "~0.11.1",
90
- "@cardano-sdk/key-management": "~0.8.0",
91
- "@cardano-sdk/ogmios": "~0.12.10",
92
- "@cardano-sdk/tx-construction": "~0.9.1",
93
- "@cardano-sdk/util": "~0.13.0",
94
- "@cardano-sdk/util-dev": "~0.13.7",
95
- "@cardano-sdk/util-rxjs": "~0.5.3",
96
- "@cardano-sdk/wallet": "~0.18.1",
84
+ "@cardano-sdk/cardano-services": "~0.14.2",
85
+ "@cardano-sdk/cardano-services-client": "~0.10.2",
86
+ "@cardano-sdk/core": "~0.15.2",
87
+ "@cardano-sdk/crypto": "~0.1.8",
88
+ "@cardano-sdk/hardware-ledger": "~0.2.15-patch.1",
89
+ "@cardano-sdk/key-management": "~0.7.12-patch.1",
90
+ "@cardano-sdk/ogmios": "~0.12.8",
91
+ "@cardano-sdk/tx-construction": "~0.8.7-patch.1",
92
+ "@cardano-sdk/util": "~0.12.1",
93
+ "@cardano-sdk/util-dev": "~0.13.6",
94
+ "@cardano-sdk/util-rxjs": "~0.5.2",
95
+ "@cardano-sdk/wallet": "~0.17.6-patch.1",
97
96
  "@vespaiach/axios-fetch-adapter": "^0.3.0",
98
97
  "axios": "^0.27.2",
99
98
  "bunyan": "^1.8.15",
@@ -123,10 +122,10 @@
123
122
  "@babel/core": "^7.18.2",
124
123
  "@babel/preset-env": "^7.18.2",
125
124
  "@babel/preset-typescript": "^7.17.12",
126
- "@cardano-sdk/dapp-connector": "~0.9.10",
127
- "@cardano-sdk/projection": "~0.6.14",
128
- "@cardano-sdk/projection-typeorm": "~0.3.10",
129
- "@cardano-sdk/web-extension": "~0.13.6",
125
+ "@cardano-sdk/dapp-connector": "~0.9.9",
126
+ "@cardano-sdk/projection": "~0.6.12",
127
+ "@cardano-sdk/projection-typeorm": "~0.3.8",
128
+ "@cardano-sdk/web-extension": "~0.13.7-patch.1",
130
129
  "@dcspark/cardano-multiplatform-lib-browser": "^3.1.1",
131
130
  "@emurgo/cardano-message-signing-asmjs": "^1.0.1",
132
131
  "@types/bunyan": "^1.8.8",
@@ -148,10 +147,8 @@
148
147
  "babel-loader": "^8.2.5",
149
148
  "blake2b-no-wasm": "2.1.4",
150
149
  "buffer": "^6.0.3",
151
- "chromedriver": "114.0.1",
150
+ "chromedriver": "^114.0.0",
152
151
  "copy-webpack-plugin": "^10.2.4",
153
- "dockerode": "^3.3.1",
154
- "dockerode-utils": "^0.0.7",
155
152
  "eslint": "^7.32.0",
156
153
  "events": "^3.3.0",
157
154
  "expect-webdriverio": "^3.2.1",
@@ -177,5 +174,5 @@
177
174
  "webpack-cli": "^4.9.2",
178
175
  "webpack-merge": "^5.8.0"
179
176
  },
180
- "gitHead": "5e75bfbd24896ea0ac7a890466b56afb48857926"
177
+ "gitHead": "343f43d15e3733575be8054e51f504308de7571d"
181
178
  }
@@ -1,5 +1,4 @@
1
1
  {
2
- "changeAddressResolver": "static",
3
2
  "startingFunds": 1000000000000,
4
3
  "stakeDistribution": [
5
4
  0.2,
@@ -18,8 +18,7 @@ import {
18
18
  } from './utils';
19
19
 
20
20
  import { Cardano } from '@cardano-sdk/core';
21
- import { DynamicChangeAddressResolver, PersonalWallet } from '@cardano-sdk/wallet';
22
- import { roundRobinRandomImprove } from '@cardano-sdk/input-selection';
21
+ import { PersonalWallet } from '@cardano-sdk/wallet';
23
22
  import { walletReady } from '../../';
24
23
  import chalk from 'chalk';
25
24
 
@@ -72,15 +71,9 @@ const monitor = new TerminalProgressMonitor();
72
71
 
73
72
  const stakeAddresses = await generateStakeAddresses(delegationWallet, config.stakeDistribution.length, monitor);
74
73
 
75
- const pools = await delegateToMultiplePools(delegationWallet, stakeAddresses, monitor);
76
- const portfolio = await distributeStake(
77
- delegationWallet,
78
- config.startingFunds,
79
- config.stakeDistribution,
80
- stakeAddresses,
81
- monitor,
82
- pools
83
- );
74
+ await delegateToMultiplePools(delegationWallet, stakeAddresses, monitor);
75
+
76
+ await distributeStake(delegationWallet, config.startingFunds, config.stakeDistribution, stakeAddresses, monitor);
84
77
 
85
78
  monitor.startTask('Waiting for delegation to be updated on the wallet.');
86
79
  await rewardAccountStatuses(delegationWallet.delegation.rewardAccounts$, [
@@ -89,21 +82,6 @@ const monitor = new TerminalProgressMonitor();
89
82
  ]);
90
83
  monitor.endTask('Delegation updated.', TaskResult.Success);
91
84
 
92
- if (config.changeAddressResolver === 'dynamic') {
93
- monitor.logInfo(`Using dynamic change address resolution: Portfolio: ${JSON.stringify(portfolio)}`);
94
- const selector = roundRobinRandomImprove({
95
- changeAddressResolver: new DynamicChangeAddressResolver(
96
- delegationWallet.addresses$,
97
- delegationWallet.delegation.distribution$,
98
- async () => portfolio,
99
- console
100
- )
101
- });
102
- delegationWallet.setInputSelector(selector);
103
- } else {
104
- monitor.logInfo('Using static change address resolution');
105
- }
106
-
107
85
  monitor.logInfo('Setup phase ended. Starting interactions...');
108
86
 
109
87
  // Initial setup done, log starting state.
@@ -23,14 +23,6 @@ convict.addFormat({
23
23
  }
24
24
  });
25
25
 
26
- convict.addFormat({
27
- name: 'changeAddressResolver',
28
- validate(val) {
29
- if (val !== 'static' && val !== 'dynamic')
30
- throw new TypeError('changeAddressResolver must be set to either static or dynamic');
31
- }
32
- });
33
-
34
26
  export type ValueTransferConfig = {
35
27
  amount: { max: number; min: number };
36
28
  count: { max: number; min: number };
@@ -38,11 +30,6 @@ export type ValueTransferConfig = {
38
30
  };
39
31
 
40
32
  export const configLoader = convict({
41
- changeAddressResolver: {
42
- default: 'static',
43
- doc: 'Whether to use the static or dynamic strategy to resolve change addresses.',
44
- format: 'changeAddressResolver'
45
- },
46
33
  iterations: {
47
34
  default: 10,
48
35
  doc: 'How many iterations will be executed before stopping the test.',
@@ -263,16 +263,14 @@ export const generateStakeAddresses = async (
263
263
  * @param stakeDistribution The stake distribution to be followed.
264
264
  * @param stakeAddresses The list of stake addresses.
265
265
  * @param monitor The progress monitor.
266
- * @param pools The pools we are delegating to.
267
266
  */
268
267
  export const distributeStake = async (
269
268
  delegationWallet: PersonalWallet,
270
269
  startingFunds: number,
271
270
  stakeDistribution: Array<number>,
272
271
  stakeAddresses: Array<GroupedAddress>,
273
- monitor: TerminalProgressMonitor,
274
- pools: Array<Cardano.StakePool>
275
- ): Promise<Cardano.Cip17DelegationPortfolio> => {
272
+ monitor: TerminalProgressMonitor
273
+ ) => {
276
274
  // TODO: Replace with delegatePortfolio once LW-6702 is merged.
277
275
  const totalWeight = stakeDistribution.reduce((sum, current) => sum + current, 0);
278
276
  const stakeDistributionSsPercent = stakeDistribution.map((value) => value / totalWeight);
@@ -280,11 +278,6 @@ export const distributeStake = async (
280
278
 
281
279
  const txBuilder = delegationWallet.createTxBuilder();
282
280
 
283
- const portfolio: Cardano.Cip17DelegationPortfolio = {
284
- name: 'Portfolio',
285
- pools: stakeDistributionSsPercent.map((weight, index) => ({ id: pools[index].hexId, weight }))
286
- };
287
-
288
281
  let i = 0;
289
282
  const startingFundsMinusFee = startingFunds - 5_000_000;
290
283
  for (const { address } of stakeAddresses) {
@@ -298,8 +291,6 @@ export const distributeStake = async (
298
291
  await submitAndConfirm(delegationWallet, signedTx);
299
292
 
300
293
  monitor.endTask('Funds distributed', TaskResult.Success);
301
-
302
- return portfolio;
303
294
  };
304
295
 
305
296
  /**
@@ -1,3 +1,4 @@
1
+ /* eslint-disable max-statements */
1
2
  import { AddressType, KeyRole } from '@cardano-sdk/key-management';
2
3
  import { Cardano } from '@cardano-sdk/core';
3
4
  import {
@@ -12,72 +13,24 @@ import {
12
13
  walletReady,
13
14
  walletVariables
14
15
  } from '../../src';
15
- import { containerExec } from 'dockerode-utils';
16
- import { getRandomPort } from 'get-port-please';
17
16
  import { logger } from '@cardano-sdk/util-dev';
18
- import Docker from 'dockerode';
19
- import path from 'path';
20
17
 
18
+ const env = getEnv(walletVariables);
21
19
  const vrf = Cardano.VrfVkHex('2ee5a4c423224bb9c42107fc18a60556d6a83cec1d9dd37a71f56af7198fc759');
22
20
 
21
+ const wallet1Params: KeyAgentFactoryProps = {
22
+ accountIndex: 0,
23
+ chainId: env.KEY_MANAGEMENT_PARAMS.chainId,
24
+ mnemonic:
25
+ // eslint-disable-next-line max-len
26
+ 'phrase raw learn suspect inmate powder combine apology regular hero gain chronic fruit ritual short screen goddess odor keen creek brand today kit machine',
27
+ passphrase: 'some_passphrase'
28
+ };
29
+
23
30
  describe('cache invalidation', () => {
24
- let testProviderServer: Docker.Container;
25
31
  let wallet1: TestWallet;
26
32
 
27
33
  beforeAll(async () => {
28
- const port = await getRandomPort();
29
-
30
- // Get environment from original provider server container
31
- const docker = new Docker();
32
- const originalProviderServer = docker.getContainer('local-network-e2e-provider-server-1');
33
- const cmdOutput = await containerExec(originalProviderServer, [
34
- 'node',
35
- '-e',
36
- 'console.log(`sdk_token${JSON.stringify(process.env)}sdk_token`)'
37
- ]);
38
- const matchResult = cmdOutput[0].match(/sdk_token(.*)sdk_token/);
39
-
40
- if (!matchResult) throw new Error('Error getting original container environment');
41
-
42
- const [, encodedEnv] = matchResult;
43
-
44
- const Env = Object.entries({
45
- ...JSON.parse(encodedEnv),
46
- DISABLE_DB_CACHE: 'false',
47
- LOGGER_MIN_SEVERITY: 'debug'
48
- }).map(([key, value]) => `${key}=${value}`);
49
-
50
- const network = docker.getNetwork('local-network-e2e_default');
51
-
52
- // Test container
53
- testProviderServer = await docker.createContainer({
54
- Env,
55
- HostConfig: {
56
- Binds: [`${path.join(__dirname, '..', '..', '..', '..', 'compose', 'placeholder-secrets')}:/run/secrets`],
57
- PortBindings: { '3000/tcp': [{ HostPort: port.toString() }] }
58
- },
59
- Image: 'local-network-e2e-provider-server',
60
- name: 'local-network-e2e-provider-server-test'
61
- });
62
-
63
- await network.connect({ Container: testProviderServer.id });
64
- await testProviderServer.start();
65
-
66
- const override = Object.fromEntries(
67
- Object.entries(process.env)
68
- .filter(([key]) => walletVariables.includes(key as typeof walletVariables[number]))
69
- .map(([key, value]) => [key, value?.replace('localhost:4000/', `localhost:${port}/`)])
70
- );
71
- const env = getEnv(walletVariables, { override });
72
- const wallet1Params: KeyAgentFactoryProps = {
73
- accountIndex: 0,
74
- chainId: env.KEY_MANAGEMENT_PARAMS.chainId,
75
- mnemonic:
76
- // eslint-disable-next-line max-len
77
- 'phrase raw learn suspect inmate powder combine apology regular hero gain chronic fruit ritual short screen goddess odor keen creek brand today kit machine',
78
- passphrase: 'some_passphrase'
79
- };
80
-
81
34
  jest.setTimeout(180_000);
82
35
 
83
36
  wallet1 = await getWallet({
@@ -92,13 +45,9 @@ describe('cache invalidation', () => {
92
45
  await waitForWalletStateSettle(wallet1.wallet);
93
46
  });
94
47
 
95
- afterAll(async () => {
96
- wallet1.wallet.shutdown();
97
- await testProviderServer.stop();
98
- await testProviderServer.remove();
99
- });
48
+ afterAll(() => wallet1.wallet.shutdown());
100
49
 
101
- test('cache is invalidated on epoch rollover', async () => {
50
+ test.skip('cache is invalidated on epoch rollover', async () => {
102
51
  const wallet = wallet1.wallet;
103
52
 
104
53
  await walletReady(wallet);