@cardano-sdk/e2e 0.54.0 → 0.54.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.54.2](https://github.com/input-output-hk/cardano-js-sdk/compare/@cardano-sdk/e2e@0.54.1...@cardano-sdk/e2e@0.54.2) (2025-06-25)
7
+
8
+ **Note:** Version bump only for package @cardano-sdk/e2e
9
+
10
+ ## [0.54.1](https://github.com/input-output-hk/cardano-js-sdk/compare/@cardano-sdk/e2e@0.54.0...@cardano-sdk/e2e@0.54.1) (2025-06-25)
11
+
12
+ **Note:** Version bump only for package @cardano-sdk/e2e
13
+
6
14
  ## [0.54.0](https://github.com/input-output-hk/cardano-js-sdk/compare/@cardano-sdk/e2e@0.53.2...@cardano-sdk/e2e@0.54.0) (2025-06-12)
7
15
 
8
16
  ### ⚠ BREAKING CHANGES
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/e2e",
3
- "version": "0.54.0",
3
+ "version": "0.54.2",
4
4
  "description": "End to end tests for the cardano-js-sdk packages.",
5
5
  "repository": "https://github.com/input-output-hk/cardano-js-sdk",
6
6
  "license": "Apache-2.0",
@@ -76,20 +76,20 @@
76
76
  "dependencies": {
77
77
  "@cardano-foundation/ledgerjs-hw-app-cardano": "^7.1.4",
78
78
  "@cardano-ogmios/client": "6.9.0",
79
- "@cardano-sdk/cardano-services": "~0.35.19",
80
- "@cardano-sdk/cardano-services-client": "~0.26.17",
81
- "@cardano-sdk/core": "~0.46.1",
82
- "@cardano-sdk/crypto": "~0.4.0",
83
- "@cardano-sdk/hardware-ledger": "~0.16.3",
84
- "@cardano-sdk/hardware-trezor": "~0.7.16",
85
- "@cardano-sdk/input-selection": "~0.14.16",
86
- "@cardano-sdk/key-management": "~0.29.0",
87
- "@cardano-sdk/ogmios": "~0.18.41",
88
- "@cardano-sdk/tx-construction": "~0.27.3",
79
+ "@cardano-sdk/cardano-services": "~0.35.20",
80
+ "@cardano-sdk/cardano-services-client": "~0.26.18",
81
+ "@cardano-sdk/core": "~0.46.2",
82
+ "@cardano-sdk/crypto": "~0.4.1",
83
+ "@cardano-sdk/hardware-ledger": "~0.16.5",
84
+ "@cardano-sdk/hardware-trezor": "~0.7.17",
85
+ "@cardano-sdk/input-selection": "~0.14.17",
86
+ "@cardano-sdk/key-management": "~0.29.1",
87
+ "@cardano-sdk/ogmios": "~0.18.42",
88
+ "@cardano-sdk/tx-construction": "~0.27.4",
89
89
  "@cardano-sdk/util": "~0.17.0",
90
- "@cardano-sdk/util-dev": "~0.25.19",
91
- "@cardano-sdk/util-rxjs": "~0.9.18",
92
- "@cardano-sdk/wallet": "~0.53.3",
90
+ "@cardano-sdk/util-dev": "~0.25.20",
91
+ "@cardano-sdk/util-rxjs": "~0.9.19",
92
+ "@cardano-sdk/wallet": "~0.53.5",
93
93
  "@dcspark/cardano-multiplatform-lib-nodejs": "^3.1.1",
94
94
  "@emurgo/cardano-message-signing-nodejs": "^1.0.1",
95
95
  "@shiroyasha9/axios-fetch-adapter": "1.0.3",
@@ -120,10 +120,10 @@
120
120
  "@babel/core": "^7.18.2",
121
121
  "@babel/preset-env": "^7.18.2",
122
122
  "@babel/preset-typescript": "^7.17.12",
123
- "@cardano-sdk/dapp-connector": "~0.13.15",
124
- "@cardano-sdk/projection": "~0.13.2",
125
- "@cardano-sdk/projection-typeorm": "~0.10.2",
126
- "@cardano-sdk/web-extension": "~0.39.13",
123
+ "@cardano-sdk/dapp-connector": "~0.13.16",
124
+ "@cardano-sdk/projection": "~0.13.3",
125
+ "@cardano-sdk/projection-typeorm": "~0.10.3",
126
+ "@cardano-sdk/web-extension": "~0.39.15",
127
127
  "@dcspark/cardano-multiplatform-lib-browser": "^3.1.1",
128
128
  "@emurgo/cardano-message-signing-asmjs": "^1.0.1",
129
129
  "@types/bunyan": "^1.8.8",
@@ -143,6 +143,7 @@
143
143
  "@wdio/spec-reporter": "^7.19.5",
144
144
  "@wdio/static-server-service": "^7.19.5",
145
145
  "artillery": "^2.0.0-35",
146
+ "axios-mock-adapter": "^2.0.0",
146
147
  "babel-loader": "^8.2.5",
147
148
  "blake2b-no-wasm": "2.1.4",
148
149
  "buffer": "^6.0.3",
@@ -183,5 +184,5 @@
183
184
  "publishConfig": {
184
185
  "access": "public"
185
186
  },
186
- "gitHead": "d925c014ff7ba97b2682b94e82d58cbaffb9d36b"
187
+ "gitHead": "8c23da7acbc3e24f034fe457d8ea945dbc056942"
187
188
  }
@@ -1,8 +1,11 @@
1
+ /* eslint-disable sonarjs/no-duplicate-string */
1
2
  // cSpell:ignore kora subhandles
2
3
  /* eslint-disable no-magic-numbers */
3
4
  /* eslint-disable camelcase */
4
5
  import { Cardano, HandleResolution } from '@cardano-sdk/core';
5
6
  import { KoraLabsHandleProvider } from '@cardano-sdk/cardano-services-client';
7
+ import MockAdapter from 'axios-mock-adapter';
8
+ import axios from 'axios';
6
9
 
7
10
  const handlePolicyId = 'f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a';
8
11
 
@@ -11,6 +14,180 @@ const config = {
11
14
  serverUrl: 'https://preprod.api.handle.me/'
12
15
  };
13
16
 
17
+ const test_handle_1 = {
18
+ bg_asset: 'e517b38693b633f1bc0dd3eb69cb1ad0f0c198c67188405901ae63a3001bc28068616e646c65735f6e61747572652d6c616b65',
19
+ bg_image: 'ipfs://zdj7Wjfr1dZz7Kao2ADZSF3xttBm7AJewWH5sARvG6XkmaprT',
20
+ characters: 'letters,numbers,special',
21
+ created_slot_number: 35_479_476,
22
+ default_in_wallet: 'cde',
23
+ handle_type: 'handle',
24
+ has_datum: false,
25
+ hex: '000de140746573745f68616e646c655f31',
26
+ holder: 'stake_test1uract9p2rvczsaxzdmvhlplj4ngduhfztdsru0hvegazldgrtgynh',
27
+ holder_type: 'wallet',
28
+ image: 'ipfs://zb2rheiGzwihXcW7FSnFUmCeGdRMJrVtynMYy3o9xKSr2myD8',
29
+ image_hash: '26321fc1f9aac61c950c08c5fd7299e36173002e6f6b8ab7f748068879796ba3',
30
+ last_update_address:
31
+ '0x00e8fc28480c73486d288074c5ac7660ad0611ae5ce505de194353466961ea70af1de71795df52e62d1c0f2c8817f13b5cd4b40e04cab5ad6a',
32
+ length: 13,
33
+ name: 'test_handle_1',
34
+ numeric_modifiers: '',
35
+ og_number: 0,
36
+ payment_key_hash: 'cf1b5fe70c1ab3b1da0bcbb18267502ec5fdfb0522eb0de359151ce8',
37
+ pfp_image: '',
38
+ policy: 'f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a',
39
+ pz_enabled: false,
40
+ rarity: 'basic',
41
+ resolved_addresses: {
42
+ ada: 'addr_test1qr83khl8psdt8vw6p09mrqn82qhvtl0mq53wkr0rty23e68msk2z5xes9p6vymke07rl9txsmewjykmq8clwej36976s2ay8ev'
43
+ },
44
+ standard_image: 'ipfs://zb2rheiGzwihXcW7FSnFUmCeGdRMJrVtynMYy3o9xKSr2myD8',
45
+ standard_image_hash:
46
+ '37376533393939366463353066643131353033376536636234373661343933653930666161396362356531633536323939306361383764346236383531613666',
47
+ svg_version: '1.13.0',
48
+ updated_slot_number: 80_137_815,
49
+ utxo: '47a95080175d8dad8480d0cb052b88fbb18382b1186aec3564088866b95ce269#0',
50
+ version: 1
51
+ };
52
+
53
+ const test_handle_2 = {
54
+ bg_image: '',
55
+ characters: 'letters,numbers,special',
56
+ created_slot_number: 36_089_789,
57
+ default_in_wallet: 'cde',
58
+ handle_type: 'handle',
59
+ has_datum: false,
60
+ hex: '000de140746573745f68616e646c655f32',
61
+ holder: 'stake_test1uract9p2rvczsaxzdmvhlplj4ngduhfztdsru0hvegazldgrtgynh',
62
+ holder_type: 'wallet',
63
+ image: 'ipfs://zb2rhaLNcs1bRDyTaKFUZ1BcseBj45JUgo5HzezdBC2BFzYdw',
64
+ image_hash: '740a3916076b375e39f3bf6a7bb482bc652958fb59c59c8244c0b38fa48e5b06',
65
+ last_update_address:
66
+ '0x00a6801d5bbd8405ac0c6d8e4fd56eb573df3e5d567d22a8c5601dd5b6156eea2a4aa7717720f50abaf8baa341124dbf18b43ee2e349d83af4',
67
+ length: 13,
68
+ name: 'test_handle_2',
69
+ numeric_modifiers: '',
70
+ og_number: 0,
71
+ payment_key_hash: 'cf1b5fe70c1ab3b1da0bcbb18267502ec5fdfb0522eb0de359151ce8',
72
+ pfp_image: '',
73
+ policy: 'f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a',
74
+ pz_enabled: false,
75
+ rarity: 'basic',
76
+ resolved_addresses: {
77
+ ada: 'addr_test1qr83khl8psdt8vw6p09mrqn82qhvtl0mq53wkr0rty23e68msk2z5xes9p6vymke07rl9txsmewjykmq8clwej36976s2ay8ev'
78
+ },
79
+ standard_image: 'ipfs://zb2rhaLNcs1bRDyTaKFUZ1BcseBj45JUgo5HzezdBC2BFzYdw',
80
+ standard_image_hash:
81
+ '33366438366439656366383236656637393366386439393335363330666266303565393033643934653430323139353463376662336438353663663361393832',
82
+ svg_version: '3.0.0',
83
+ updated_slot_number: 80_137_815,
84
+ utxo: '47a95080175d8dad8480d0cb052b88fbb18382b1186aec3564088866b95ce269#0',
85
+ version: 1
86
+ };
87
+
88
+ const handle_ = {
89
+ characters: 'letters',
90
+ created_slot_number: 66_464_780,
91
+ default_in_wallet: '1925',
92
+ handle_type: 'handle',
93
+ has_datum: false,
94
+ hex: '000de14068616e646c65',
95
+ holder: 'stake_test1urcs5pxwju0eex77jftma9hetf8avkdqwftlkc57fr4ataqcvgpaz',
96
+ holder_type: 'wallet',
97
+ image: 'ipfs://zb2rhmoP92QisWdhs76eUYsLbH85cfs4mkJzYm69eA1EPZYWS',
98
+ image_hash: 'e134411636b3a147dde4763cff01d651aacd1a5a397c11736810020cf95cf307',
99
+ last_update_address:
100
+ '0x0022b74d2e789358eddd5ac9441477583eae01af674b2226faa92ec44ef10a04ce971f9c9bde9257be96f95a4fd659a07257fb629e48ebd5f4',
101
+ length: 6,
102
+ name: 'handle',
103
+ numeric_modifiers: '',
104
+ og_number: 0,
105
+ payment_key_hash: '22b74d2e789358eddd5ac9441477583eae01af674b2226faa92ec44e',
106
+ policy: 'f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a',
107
+ pz_enabled: false,
108
+ rarity: 'common',
109
+ resolved_addresses: {
110
+ ada: 'addr_test1qq3twnfw0zf43mwatty5g9rhtql2uqd0va9jyfh64yhvgnh3pgzva9clnjdaayjhh6t0jkj06ev6qujhld3fuj8t6h6q9a037y'
111
+ },
112
+ standard_image: 'ipfs://zb2rhmoP92QisWdhs76eUYsLbH85cfs4mkJzYm69eA1EPZYWS',
113
+ standard_image_hash: 'e134411636b3a147dde4763cff01d651aacd1a5a397c11736810020cf95cf307',
114
+ svg_version: '3.0.8',
115
+ updated_slot_number: 66_464_780,
116
+ utxo: 'daf2b0025ce52ce5b14aed06d3c8a65a2a5ce04184a2bc1bd5e66413d476f536#2',
117
+ version: 1
118
+ };
119
+
120
+ const ada_handle = {
121
+ bg_image: '',
122
+ characters: 'letters,special',
123
+ created_slot_number: 69_795_802,
124
+ default_in_wallet: 'goodgood',
125
+ handle_type: 'handle',
126
+ has_datum: false,
127
+ hex: '000de1406164612e68616e646c65',
128
+ holder: 'stake_test1uqv7h4p9uegkxp86h4c9lp8egxzul7y9skn6j7uv2kscqrqvs9fuh',
129
+ holder_type: 'wallet',
130
+ image: 'ipfs://zb2rhkzJM1xbi4Wd3fMEXpmzNWd8s9a45yYUzckHFPmUrDjDu',
131
+ image_hash: 'd5248957460ebe56fe1b776dc7c97e2166088bb558f6a449881d2a9bb96c88a4',
132
+ last_update_address:
133
+ '0x0059af3b60893002498bd0fc84bd64f8487eecb0df845ad9e60932aa8674eb22ead1bf6ec66d107e916772585f1bc8390b76498fbe0a05365e',
134
+ length: 10,
135
+ name: 'ada.handle',
136
+ numeric_modifiers: '',
137
+ og_number: 0,
138
+ payment_key_hash: '5246584e62db5939298f453ded5061229381b06e3d9fdf107b4e1e9d',
139
+ pfp_image: '',
140
+ policy: 'f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a',
141
+ pz_enabled: true,
142
+ rarity: 'basic',
143
+ resolved_addresses: {
144
+ ada: 'addr_test1qpfyvkzwvtd4jwff3aznmm2svy3f8qdsdc7elhcs0d8pa8gea02ztej3vvz040tst7z0jsv9elugtpd849acc4dpsqxqx9746k'
145
+ },
146
+ standard_image: 'ipfs://zb2rhkzJM1xbi4Wd3fMEXpmzNWd8s9a45yYUzckHFPmUrDjDu',
147
+ standard_image_hash: 'd5248957460ebe56fe1b776dc7c97e2166088bb558f6a449881d2a9bb96c88a4',
148
+ svg_version: '3.0.8',
149
+ updated_slot_number: 69_863_096,
150
+ utxo: 'dcc7317400344786509aa8f5f8ac1feaee40aed7eddf4b51df54ba89d80730b3#0',
151
+ version: 1
152
+ };
153
+
154
+ const space_ada_handle = {
155
+ characters: 'letters,special',
156
+ created_slot_number: 69_871_820,
157
+ default_in_wallet: 'conraddit',
158
+ handle_type: 'virtual_subhandle',
159
+ has_datum: false,
160
+ hex: '000000007370616365406164612e68616e646c65',
161
+ holder: 'stake_test1up6wkgh26xlka3ndzplfzemjtp03hjpepdmynra7pgznvhsycsez9',
162
+ holder_type: 'wallet',
163
+ image: 'ipfs://zb2rhkzJM1xbi4Wd3fMEXpmzNWd8s9a45yYUzckHFPmUrDjDu',
164
+ image_hash: '26fe10e21dd178888ab41ab8c2c3b5bba08e58a4aec1108aafa7d5d4ce12276a',
165
+ last_update_address:
166
+ '0x005246584e62db5939298f453ded5061229381b06e3d9fdf107b4e1e9d19ebd425e6516304fabd705f84f94185cff88585a7a97b8c55a1800c',
167
+ length: 16,
168
+ name: 'space@ada.handle',
169
+ numeric_modifiers: '',
170
+ og_number: 0,
171
+ payment_key_hash: '59af3b60893002498bd0fc84bd64f8487eecb0df845ad9e60932aa86',
172
+ policy: 'f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a',
173
+ pz_enabled: true,
174
+ rarity: 'basic',
175
+ resolved_addresses: {
176
+ ada: 'addr_test1qpv67wmq3ycqyjvt6r7gf0tylpy8am9sm7z94k0xpye24pn5av3w45dldmrx6yr7j9nhykzlr0yrjzmkfx8muzs9xe0q9vuv59'
177
+ },
178
+ standard_image: '',
179
+ standard_image_hash: '26fe10e21dd178888ab41ab8c2c3b5bba08e58a4aec1108aafa7d5d4ce12276a',
180
+ sub_characters: 'letters',
181
+ sub_length: 5,
182
+ sub_numeric_modifiers: '',
183
+ sub_rarity: 'common',
184
+ svg_version: '3.0.8',
185
+ updated_slot_number: 69_871_820,
186
+ utxo: '94b18568d8b1b7d02530bf83e8c83f21437a9ef4aebabb6ccdd1e1fec0638039#2',
187
+ version: 0,
188
+ virtual: { expires_time: 1_757_091_000_789, public_mint: false }
189
+ };
190
+
14
191
  const checkHandleResolution = (source: string, result: unknown) => {
15
192
  expect(typeof result).toBe('object');
16
193
 
@@ -26,29 +203,44 @@ const checkHandleResolution = (source: string, result: unknown) => {
26
203
  expect(['string', 'undefined']).toContain(typeof profilePic);
27
204
  };
28
205
 
29
- // Fix flaky tests LW-13058
30
- describe.skip('KoraLabsHandleProvider', () => {
206
+ describe('KoraLabsHandleProvider', () => {
207
+ let axiosMock: MockAdapter;
31
208
  let provider: KoraLabsHandleProvider;
32
209
 
33
210
  beforeAll(() => {
211
+ axiosMock = new MockAdapter(axios);
34
212
  provider = new KoraLabsHandleProvider(config);
35
213
  });
36
214
 
215
+ afterEach(() => {
216
+ axiosMock.reset();
217
+ });
218
+
219
+ afterAll(() => {
220
+ axiosMock.restore();
221
+ });
222
+
37
223
  describe('resolveHandles', () => {
38
224
  test('HandleProvider should resolve a single handle', async () => {
225
+ axiosMock.onGet().replyOnce(200, test_handle_1);
226
+
39
227
  const [result] = await provider.resolveHandles({ handles: ['test_handle_1'] });
40
228
 
41
229
  checkHandleResolution('test_handle_1', result);
42
230
  });
43
231
 
44
232
  test('HandleProvider should resolve multiple handles', async () => {
45
- const [result2, result3] = await provider.resolveHandles({ handles: ['test_handle_2', 'test_handle_3'] });
233
+ axiosMock.onGet().replyOnce(200, test_handle_1).onGet().replyOnce(200, test_handle_2);
46
234
 
235
+ const [result1, result2] = await provider.resolveHandles({ handles: ['test_handle_1', 'test_handle_2'] });
236
+
237
+ checkHandleResolution('test_handle_1', result1);
47
238
  checkHandleResolution('test_handle_2', result2);
48
- checkHandleResolution('test_handle_3', result3);
49
239
  });
50
240
 
51
241
  test('HandleProvider should return null for for not found handle', async () => {
242
+ axiosMock.onGet().replyOnce(404).onGet().replyOnce(200, test_handle_1);
243
+
52
244
  const [resultN, result1] = await provider.resolveHandles({ handles: ['does_not_exists', 'test_handle_1'] });
53
245
 
54
246
  expect(resultN).toBe(null);
@@ -56,6 +248,14 @@ describe.skip('KoraLabsHandleProvider', () => {
56
248
  });
57
249
 
58
250
  test('HandleProvider should resolve handle, subhandles and virtual subhandles', async () => {
251
+ axiosMock
252
+ .onGet()
253
+ .replyOnce(200, handle_)
254
+ .onGet()
255
+ .replyOnce(200, ada_handle)
256
+ .onGet()
257
+ .replyOnce(200, space_ada_handle);
258
+
59
259
  const [result1, result2, result3] = await provider.resolveHandles({
60
260
  handles: ['handle', 'ada.handle', 'space@ada.handle']
61
261
  });
@@ -68,6 +268,8 @@ describe.skip('KoraLabsHandleProvider', () => {
68
268
 
69
269
  describe('health checks', () => {
70
270
  test('HandleProvider should get ok health check', async () => {
271
+ axiosMock.onGet().replyOnce(200);
272
+
71
273
  const result = await provider.healthCheck();
72
274
 
73
275
  expect(result.ok).toEqual(true);