@cardano-sdk/e2e 0.45.4 → 0.46.0
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/.env.example +11 -10
- package/CHANGELOG.md +10 -0
- package/dist/cjs/factories.d.ts.map +1 -1
- package/dist/cjs/factories.js +35 -0
- package/dist/cjs/factories.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/factories.d.ts.map +1 -1
- package/dist/esm/factories.js +36 -1
- package/dist/esm/factories.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +19 -20
- package/src/factories.ts +71 -0
- package/test/blockfrost/queryTransactions.test.ts +4 -9
- package/test/wallet_epoch_0/PersonalWallet/multiAddress.test.ts +1 -0
- package/test/blockfrost-providers/networkInfo.test.ts +0 -26
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cardano-sdk/e2e",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0",
|
|
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",
|
|
@@ -23,7 +23,6 @@
|
|
|
23
23
|
"load-test-custom:wallet-restoration": "ts-node test/load-test-custom/wallet-restoration/wallet-restoration.test.ts",
|
|
24
24
|
"test": "echo 'test' command not implemented yet",
|
|
25
25
|
"test:blockfrost": "jest -c jest.config.js --forceExit --selectProjects blockfrost --runInBand --verbose",
|
|
26
|
-
"test:blockfrost:providers": "jest -c jest.config.js --forceExit --selectProjects blockfrost-providers --runInBand --verbose",
|
|
27
26
|
"test:utils": "jest -c jest.config.js --forceExit --selectProjects utils --verbose",
|
|
28
27
|
"test:long-running": "jest -c jest.config.js --forceExit --selectProjects long-running --runInBand --verbose",
|
|
29
28
|
"test:local-network": "jest -c jest.config.js --forceExit --selectProjects local-network --runInBand --verbose",
|
|
@@ -76,20 +75,20 @@
|
|
|
76
75
|
"dependencies": {
|
|
77
76
|
"@cardano-foundation/ledgerjs-hw-app-cardano": "^7.1.4",
|
|
78
77
|
"@cardano-ogmios/client": "6.9.0",
|
|
79
|
-
"@cardano-sdk/cardano-services": "~0.
|
|
80
|
-
"@cardano-sdk/cardano-services-client": "~0.
|
|
81
|
-
"@cardano-sdk/core": "~0.41.
|
|
82
|
-
"@cardano-sdk/crypto": "~0.1.
|
|
83
|
-
"@cardano-sdk/hardware-ledger": "~0.12.
|
|
84
|
-
"@cardano-sdk/hardware-trezor": "~0.6.
|
|
85
|
-
"@cardano-sdk/input-selection": "~0.13.
|
|
86
|
-
"@cardano-sdk/key-management": "~0.24.
|
|
87
|
-
"@cardano-sdk/ogmios": "~0.18.
|
|
88
|
-
"@cardano-sdk/tx-construction": "~0.21.
|
|
78
|
+
"@cardano-sdk/cardano-services": "~0.33.0",
|
|
79
|
+
"@cardano-sdk/cardano-services-client": "~0.23.0",
|
|
80
|
+
"@cardano-sdk/core": "~0.41.5",
|
|
81
|
+
"@cardano-sdk/crypto": "~0.1.32",
|
|
82
|
+
"@cardano-sdk/hardware-ledger": "~0.12.14",
|
|
83
|
+
"@cardano-sdk/hardware-trezor": "~0.6.13",
|
|
84
|
+
"@cardano-sdk/input-selection": "~0.13.29",
|
|
85
|
+
"@cardano-sdk/key-management": "~0.24.11",
|
|
86
|
+
"@cardano-sdk/ogmios": "~0.18.14",
|
|
87
|
+
"@cardano-sdk/tx-construction": "~0.21.14",
|
|
89
88
|
"@cardano-sdk/util": "~0.15.5",
|
|
90
|
-
"@cardano-sdk/util-dev": "~0.23.
|
|
91
|
-
"@cardano-sdk/util-rxjs": "~0.7.
|
|
92
|
-
"@cardano-sdk/wallet": "~0.44.
|
|
89
|
+
"@cardano-sdk/util-dev": "~0.23.14",
|
|
90
|
+
"@cardano-sdk/util-rxjs": "~0.7.42",
|
|
91
|
+
"@cardano-sdk/wallet": "~0.44.23",
|
|
93
92
|
"@dcspark/cardano-multiplatform-lib-nodejs": "^3.1.1",
|
|
94
93
|
"@shiroyasha9/axios-fetch-adapter": "1.0.3",
|
|
95
94
|
"axios": "^1.7.4",
|
|
@@ -119,10 +118,10 @@
|
|
|
119
118
|
"@babel/core": "^7.18.2",
|
|
120
119
|
"@babel/preset-env": "^7.18.2",
|
|
121
120
|
"@babel/preset-typescript": "^7.17.12",
|
|
122
|
-
"@cardano-sdk/dapp-connector": "~0.12.
|
|
123
|
-
"@cardano-sdk/projection": "~0.12.
|
|
124
|
-
"@cardano-sdk/projection-typeorm": "~0.9.
|
|
125
|
-
"@cardano-sdk/web-extension": "~0.34.
|
|
121
|
+
"@cardano-sdk/dapp-connector": "~0.12.45",
|
|
122
|
+
"@cardano-sdk/projection": "~0.12.14",
|
|
123
|
+
"@cardano-sdk/projection-typeorm": "~0.9.14",
|
|
124
|
+
"@cardano-sdk/web-extension": "~0.34.22",
|
|
126
125
|
"@dcspark/cardano-multiplatform-lib-browser": "^3.1.1",
|
|
127
126
|
"@emurgo/cardano-message-signing-asmjs": "^1.0.1",
|
|
128
127
|
"@types/bunyan": "^1.8.8",
|
|
@@ -182,5 +181,5 @@
|
|
|
182
181
|
"publishConfig": {
|
|
183
182
|
"access": "public"
|
|
184
183
|
},
|
|
185
|
-
"gitHead": "
|
|
184
|
+
"gitHead": "379316d14c7774d2b7ef4ca726ed983f07568611"
|
|
186
185
|
}
|
package/src/factories.ts
CHANGED
|
@@ -37,7 +37,12 @@ import {
|
|
|
37
37
|
} from '@cardano-sdk/key-management';
|
|
38
38
|
import {
|
|
39
39
|
BlockfrostAssetProvider,
|
|
40
|
+
BlockfrostChainHistoryProvider,
|
|
40
41
|
BlockfrostClient,
|
|
42
|
+
BlockfrostNetworkInfoProvider,
|
|
43
|
+
BlockfrostRewardsProvider,
|
|
44
|
+
BlockfrostTxSubmitProvider,
|
|
45
|
+
BlockfrostUtxoProvider,
|
|
41
46
|
CardanoWsClient,
|
|
42
47
|
assetInfoHttpProvider,
|
|
43
48
|
chainHistoryHttpProvider,
|
|
@@ -162,6 +167,20 @@ chainHistoryProviderFactory.register(
|
|
|
162
167
|
async (_params: any, logger: Logger) => (await getWsClient(logger)).chainHistoryProvider
|
|
163
168
|
);
|
|
164
169
|
|
|
170
|
+
chainHistoryProviderFactory.register(BLOCKFROST_PROVIDER, async (params: any, logger) => {
|
|
171
|
+
if (params.baseUrl === undefined) throw new Error(`${BlockfrostChainHistoryProvider.name}: ${MISSING_URL_PARAM}`);
|
|
172
|
+
|
|
173
|
+
return new Promise(async (resolve) => {
|
|
174
|
+
resolve(
|
|
175
|
+
new BlockfrostChainHistoryProvider(
|
|
176
|
+
new BlockfrostClient({ baseUrl: params.baseUrl }, { rateLimiter: { schedule: (task) => task() } }),
|
|
177
|
+
await networkInfoProviderFactory.create('blockfrost', params, logger),
|
|
178
|
+
logger
|
|
179
|
+
)
|
|
180
|
+
);
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
|
|
165
184
|
networkInfoProviderFactory.register(
|
|
166
185
|
HTTP_PROVIDER,
|
|
167
186
|
async (params: any, logger: Logger): Promise<NetworkInfoProvider> => {
|
|
@@ -178,6 +197,19 @@ networkInfoProviderFactory.register(
|
|
|
178
197
|
async (_params: any, logger: Logger) => (await getWsClient(logger)).networkInfoProvider
|
|
179
198
|
);
|
|
180
199
|
|
|
200
|
+
networkInfoProviderFactory.register(BLOCKFROST_PROVIDER, async (params: any, logger) => {
|
|
201
|
+
if (params.baseUrl === undefined) throw new Error(`${BlockfrostNetworkInfoProvider.name}: ${MISSING_URL_PARAM}`);
|
|
202
|
+
|
|
203
|
+
return new Promise(async (resolve) => {
|
|
204
|
+
resolve(
|
|
205
|
+
new BlockfrostNetworkInfoProvider(
|
|
206
|
+
new BlockfrostClient({ baseUrl: params.baseUrl }, { rateLimiter: { schedule: (task) => task() } }),
|
|
207
|
+
logger
|
|
208
|
+
)
|
|
209
|
+
);
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
|
|
181
213
|
rewardsProviderFactory.register(HTTP_PROVIDER, async (params: any, logger: Logger): Promise<RewardsProvider> => {
|
|
182
214
|
if (params.baseUrl === undefined) throw new Error(`${rewardsHttpProvider.name}: ${MISSING_URL_PARAM}`);
|
|
183
215
|
|
|
@@ -186,6 +218,19 @@ rewardsProviderFactory.register(HTTP_PROVIDER, async (params: any, logger: Logge
|
|
|
186
218
|
});
|
|
187
219
|
});
|
|
188
220
|
|
|
221
|
+
rewardsProviderFactory.register(BLOCKFROST_PROVIDER, async (params: any, logger) => {
|
|
222
|
+
if (params.baseUrl === undefined) throw new Error(`${BlockfrostRewardsProvider.name}: ${MISSING_URL_PARAM}`);
|
|
223
|
+
|
|
224
|
+
return new Promise(async (resolve) => {
|
|
225
|
+
resolve(
|
|
226
|
+
new BlockfrostRewardsProvider(
|
|
227
|
+
new BlockfrostClient({ baseUrl: params.baseUrl }, { rateLimiter: { schedule: (task) => task() } }),
|
|
228
|
+
logger
|
|
229
|
+
)
|
|
230
|
+
);
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
|
|
189
234
|
txSubmitProviderFactory.register(OGMIOS_PROVIDER, async (params: any, logger: Logger): Promise<TxSubmitProvider> => {
|
|
190
235
|
if (params.baseUrl === undefined) throw new Error(`${NodeTxSubmitProvider.name}: ${MISSING_URL_PARAM}`);
|
|
191
236
|
|
|
@@ -220,6 +265,19 @@ txSubmitProviderFactory.register(HTTP_PROVIDER, async (params: any, logger: Logg
|
|
|
220
265
|
});
|
|
221
266
|
});
|
|
222
267
|
|
|
268
|
+
txSubmitProviderFactory.register(BLOCKFROST_PROVIDER, async (params: any, logger) => {
|
|
269
|
+
if (params.baseUrl === undefined) throw new Error(`${BlockfrostTxSubmitProvider.name}: ${MISSING_URL_PARAM}`);
|
|
270
|
+
|
|
271
|
+
return new Promise(async (resolve) => {
|
|
272
|
+
resolve(
|
|
273
|
+
new BlockfrostTxSubmitProvider(
|
|
274
|
+
new BlockfrostClient({ baseUrl: params.baseUrl }, { rateLimiter: { schedule: (task) => task() } }),
|
|
275
|
+
logger
|
|
276
|
+
)
|
|
277
|
+
);
|
|
278
|
+
});
|
|
279
|
+
});
|
|
280
|
+
|
|
223
281
|
utxoProviderFactory.register(HTTP_PROVIDER, async (params: any, logger: Logger): Promise<UtxoProvider> => {
|
|
224
282
|
if (params.baseUrl === undefined) throw new Error(`${utxoHttpProvider.name}: ${MISSING_URL_PARAM}`);
|
|
225
283
|
|
|
@@ -233,6 +291,19 @@ utxoProviderFactory.register(
|
|
|
233
291
|
async (_params: any, logger: Logger) => (await getWsClient(logger)).utxoProvider
|
|
234
292
|
);
|
|
235
293
|
|
|
294
|
+
utxoProviderFactory.register(BLOCKFROST_PROVIDER, async (params: any, logger) => {
|
|
295
|
+
if (params.baseUrl === undefined) throw new Error(`${BlockfrostUtxoProvider.name}: ${MISSING_URL_PARAM}`);
|
|
296
|
+
|
|
297
|
+
return new Promise(async (resolve) => {
|
|
298
|
+
resolve(
|
|
299
|
+
new BlockfrostUtxoProvider(
|
|
300
|
+
new BlockfrostClient({ baseUrl: params.baseUrl }, { rateLimiter: { schedule: (task) => task() } }),
|
|
301
|
+
logger
|
|
302
|
+
)
|
|
303
|
+
);
|
|
304
|
+
});
|
|
305
|
+
});
|
|
306
|
+
|
|
236
307
|
handleProviderFactory.register(HTTP_PROVIDER, async (params: any, logger: Logger): Promise<HandleProvider> => {
|
|
237
308
|
if (params.baseUrl === undefined) throw new Error(`${handleHttpProvider.name}: ${MISSING_URL_PARAM}`);
|
|
238
309
|
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
import { BlockfrostChainHistoryProvider, BlockfrostNetworkInfoProvider
|
|
1
|
+
import { BlockfrostChainHistoryProvider, BlockfrostNetworkInfoProvider } from '@cardano-sdk/cardano-services-client';
|
|
2
2
|
import { Cardano, ChainHistoryProvider } from '@cardano-sdk/core';
|
|
3
3
|
import { logger } from '@cardano-sdk/util-dev';
|
|
4
|
+
import { util } from '@cardano-sdk/cardano-services';
|
|
4
5
|
|
|
5
6
|
describe.only('BlockfrostChainHistoryProvider', () => {
|
|
6
7
|
let chainHistoryProvider: ChainHistoryProvider;
|
|
7
|
-
let blockfrost;
|
|
8
8
|
beforeAll(async () => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
chainHistoryProvider = new BlockfrostChainHistoryProvider({
|
|
12
|
-
blockfrost,
|
|
13
|
-
logger,
|
|
14
|
-
networkInfoProvider
|
|
15
|
-
});
|
|
9
|
+
const networkInfoProvider = new BlockfrostNetworkInfoProvider(util.getBlockfrostClient(), logger);
|
|
10
|
+
chainHistoryProvider = new BlockfrostChainHistoryProvider(util.getBlockfrostClient(), networkInfoProvider, logger);
|
|
16
11
|
});
|
|
17
12
|
|
|
18
13
|
describe('transactionsByHashes', () => {
|
|
@@ -139,6 +139,7 @@ describe('PersonalWallet/multiAddress', () => {
|
|
|
139
139
|
expect(returnAdaTxFoundInHistory.id).toEqual(returnAdaSignedTx.id);
|
|
140
140
|
expect(normalizeTxBody(returnAdaTxFoundInHistory.body)).toEqual(normalizeTxBody(returnAdaSignedTx.body));
|
|
141
141
|
|
|
142
|
+
await walletReady(newWallet.wallet);
|
|
142
143
|
const endingBalance = await firstValueFromTimed(newWallet.wallet.balance.utxo.total$);
|
|
143
144
|
const expectedEndingBalance = 1_500_000n - returnAdaTxFoundInHistory.body.fee;
|
|
144
145
|
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// cSpell:ignore cardano utxos
|
|
2
|
-
|
|
3
|
-
import { NetworkInfoProvider } from '@cardano-sdk/core';
|
|
4
|
-
import { logger } from '@cardano-sdk/util-dev';
|
|
5
|
-
import { networkInfoHttpProvider } from '@cardano-sdk/cardano-services-client';
|
|
6
|
-
import { toSerializableObject } from '@cardano-sdk/util';
|
|
7
|
-
|
|
8
|
-
// LW-11858 to enable this
|
|
9
|
-
describe.skip('Web Socket', () => {
|
|
10
|
-
const legacyProvider = networkInfoHttpProvider({ baseUrl: 'http://localhost:4000/', logger });
|
|
11
|
-
const provider = networkInfoHttpProvider({ baseUrl: 'http://localhost:4001/', logger });
|
|
12
|
-
|
|
13
|
-
const methods: (keyof NetworkInfoProvider)[] = [
|
|
14
|
-
'eraSummaries',
|
|
15
|
-
'genesisParameters',
|
|
16
|
-
'lovelaceSupply',
|
|
17
|
-
'protocolParameters',
|
|
18
|
-
'stake'
|
|
19
|
-
];
|
|
20
|
-
|
|
21
|
-
test.each(methods)('compare %s', async (method) => {
|
|
22
|
-
const [legacyResponse, response] = await Promise.all([legacyProvider[method](), provider[method]()]);
|
|
23
|
-
|
|
24
|
-
expect(toSerializableObject(response)).toEqual(toSerializableObject(legacyResponse));
|
|
25
|
-
});
|
|
26
|
-
});
|