@cardano-sdk/e2e 0.12.0 → 0.12.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/e2e",
3
- "version": "0.12.0",
3
+ "version": "0.12.1",
4
4
  "description": "End to end tests for the cardano-js-sdk packages.",
5
5
  "engines": {
6
6
  "node": ">=16.0"
@@ -94,18 +94,18 @@
94
94
  "dependencies": {
95
95
  "@cardano-foundation/ledgerjs-hw-app-cardano": "^6.0.0",
96
96
  "@cardano-ogmios/client": "5.6.0",
97
- "@cardano-sdk/cardano-services": "~0.11.3",
98
- "@cardano-sdk/cardano-services-client": "~0.9.2",
99
- "@cardano-sdk/core": "~0.12.1",
97
+ "@cardano-sdk/cardano-services": "~0.11.4",
98
+ "@cardano-sdk/cardano-services-client": "~0.9.3",
99
+ "@cardano-sdk/core": "~0.12.2",
100
100
  "@cardano-sdk/crypto": "~0.1.5",
101
- "@cardano-sdk/hardware-ledger": "~0.2.1",
102
- "@cardano-sdk/key-management": "~0.7.0",
103
- "@cardano-sdk/ogmios": "~0.11.2",
104
- "@cardano-sdk/tx-construction": "~0.5.1",
101
+ "@cardano-sdk/hardware-ledger": "~0.2.2",
102
+ "@cardano-sdk/key-management": "~0.7.1",
103
+ "@cardano-sdk/ogmios": "~0.11.3",
104
+ "@cardano-sdk/tx-construction": "~0.5.2",
105
105
  "@cardano-sdk/util": "~0.10.0",
106
- "@cardano-sdk/util-dev": "~0.11.0",
107
- "@cardano-sdk/util-rxjs": "~0.4.9",
108
- "@cardano-sdk/wallet": "~0.13.0",
106
+ "@cardano-sdk/util-dev": "~0.11.1",
107
+ "@cardano-sdk/util-rxjs": "~0.4.10",
108
+ "@cardano-sdk/wallet": "~0.13.1",
109
109
  "@vespaiach/axios-fetch-adapter": "^0.3.0",
110
110
  "axios": "^0.27.2",
111
111
  "bunyan": "^1.8.15",
@@ -130,10 +130,10 @@
130
130
  "@babel/core": "^7.18.2",
131
131
  "@babel/preset-env": "^7.18.2",
132
132
  "@babel/preset-typescript": "^7.17.12",
133
- "@cardano-sdk/dapp-connector": "~0.9.2",
134
- "@cardano-sdk/projection": "~0.6.2",
135
- "@cardano-sdk/projection-typeorm": "~0.2.2",
136
- "@cardano-sdk/web-extension": "~0.11.0",
133
+ "@cardano-sdk/dapp-connector": "~0.9.3",
134
+ "@cardano-sdk/projection": "~0.6.3",
135
+ "@cardano-sdk/projection-typeorm": "~0.2.3",
136
+ "@cardano-sdk/web-extension": "~0.11.1",
137
137
  "@dcspark/cardano-multiplatform-lib-browser": "^3.1.1",
138
138
  "@emurgo/cardano-message-signing-asmjs": "^1.0.1",
139
139
  "@types/bunyan": "^1.8.8",
@@ -177,5 +177,5 @@
177
177
  "webpack-cli": "^4.9.2",
178
178
  "webpack-merge": "^5.8.0"
179
179
  },
180
- "gitHead": "60f332ad2addb2d912bb8e8a88e7f8dc161b327a"
180
+ "gitHead": "b08d0557134f582cafb68ed535840d70cd93f0e7"
181
181
  }
@@ -14,6 +14,10 @@ export interface ProviderParams {
14
14
  baseUrl: string;
15
15
  }
16
16
 
17
+ export interface HandleProviderParams {
18
+ serverUrl: string;
19
+ }
20
+
17
21
  const baseValidator = <T>(value: string, schema: Schema, ...dependencySchemas: Schema[]) => {
18
22
  const parsed = JSON.parse(value) as T;
19
23
  const v = new SchemaValidator();
@@ -71,6 +75,24 @@ const providerParams = makeValidator((value) => {
71
75
  return validated;
72
76
  });
73
77
 
78
+ const handleProviderParams = makeValidator((value) => {
79
+ const validated = baseValidator<HandleProviderParams>(value, {
80
+ properties: { policyId: { type: 'string' }, serverUrl: { type: 'string' } },
81
+ required: ['serverUrl'],
82
+ type: 'object'
83
+ });
84
+
85
+ try {
86
+ // eslint-disable-next-line no-new
87
+ new URL(validated.serverUrl);
88
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
89
+ } catch (error: any) {
90
+ throw new Error(`serverUrl: ${error.message}`);
91
+ }
92
+
93
+ return validated;
94
+ });
95
+
74
96
  /**
75
97
  * Shared across all tests
76
98
  */
@@ -82,6 +104,8 @@ const validators = {
82
104
  CHAIN_HISTORY_PROVIDER: str(),
83
105
  CHAIN_HISTORY_PROVIDER_PARAMS: providerParams(),
84
106
  DB_SYNC_CONNECTION_STRING: str({ default: undefined }),
107
+ HANDLE_PROVIDER: str(),
108
+ HANDLE_PROVIDER_PARAMS: handleProviderParams(),
85
109
  KEY_MANAGEMENT_PARAMS: keyManagementParams(),
86
110
  KEY_MANAGEMENT_PROVIDER: str(),
87
111
  LOGGER_MIN_SEVERITY: str({ default: 'info' }),
@@ -141,6 +165,8 @@ export const walletVariables = [
141
165
  'ASSET_PROVIDER_PARAMS',
142
166
  'CHAIN_HISTORY_PROVIDER',
143
167
  'CHAIN_HISTORY_PROVIDER_PARAMS',
168
+ 'HANDLE_PROVIDER',
169
+ 'HANDLE_PROVIDER_PARAMS',
144
170
  'KEY_MANAGEMENT_PARAMS',
145
171
  'KEY_MANAGEMENT_PROVIDER',
146
172
  'LOGGER_MIN_SEVERITY',
package/src/factories.ts CHANGED
@@ -17,6 +17,7 @@ import {
17
17
  CML,
18
18
  Cardano,
19
19
  ChainHistoryProvider,
20
+ HandleProvider,
20
21
  NetworkInfoProvider,
21
22
  ProviderFactory,
22
23
  RewardsProvider,
@@ -33,10 +34,8 @@ import {
33
34
  util
34
35
  } from '@cardano-sdk/key-management';
35
36
  import { CardanoWalletFaucetProvider, FaucetProvider } from './FaucetProvider';
36
- import { LedgerKeyAgent } from '@cardano-sdk/hardware-ledger';
37
- import { Logger } from 'ts-log';
38
- import { OgmiosTxSubmitProvider } from '@cardano-sdk/ogmios';
39
37
  import {
38
+ KoraLabsHandleProvider,
40
39
  assetInfoHttpProvider,
41
40
  chainHistoryHttpProvider,
42
41
  networkInfoHttpProvider,
@@ -45,6 +44,9 @@ import {
45
44
  txSubmitHttpProvider,
46
45
  utxoHttpProvider
47
46
  } from '@cardano-sdk/cardano-services-client';
47
+ import { LedgerKeyAgent } from '@cardano-sdk/hardware-ledger';
48
+ import { Logger } from 'ts-log';
49
+ import { OgmiosTxSubmitProvider } from '@cardano-sdk/ogmios';
48
50
  import { createConnectionObject } from '@cardano-ogmios/client';
49
51
  import { createStubStakePoolProvider } from '@cardano-sdk/util-dev';
50
52
  import { filter, firstValueFrom } from 'rxjs';
@@ -59,6 +61,7 @@ const customHttpFetchAdapter = isNodeJs ? undefined : require('@vespaiach/axios-
59
61
  const HTTP_PROVIDER = 'http';
60
62
  const OGMIOS_PROVIDER = 'ogmios';
61
63
  const STUB_PROVIDER = 'stub';
64
+ const HANDLE_PROVIDER = 'kora-labs';
62
65
  const MISSING_URL_PARAM = 'Missing URL';
63
66
 
64
67
  export const faucetProviderFactory = new ProviderFactory<FaucetProvider>();
@@ -73,6 +76,7 @@ export const utxoProviderFactory = new ProviderFactory<UtxoProvider>();
73
76
  export const stakePoolProviderFactory = new ProviderFactory<StakePoolProvider>();
74
77
  export const bip32Ed25519Factory = new ProviderFactory<Crypto.Bip32Ed25519>();
75
78
  export const addressDiscoveryFactory = new ProviderFactory<AddressDiscovery>();
79
+ export const handleProviderFactory = new ProviderFactory<HandleProvider>();
76
80
 
77
81
  // Address Discovery strategies
78
82
 
@@ -160,6 +164,17 @@ utxoProviderFactory.register(HTTP_PROVIDER, async (params: any, logger: Logger):
160
164
  });
161
165
  });
162
166
 
167
+ handleProviderFactory.register(HANDLE_PROVIDER, async (params: any): Promise<HandleProvider> => {
168
+ if (params.serverUrl === undefined) throw new Error(`${KoraLabsHandleProvider.name}: ${MISSING_URL_PARAM}`);
169
+
170
+ return new KoraLabsHandleProvider({
171
+ adapter: customHttpFetchAdapter,
172
+ networkInfoProvider: params.networkInfoProvider,
173
+ policyId: params.policyId,
174
+ serverUrl: params.serverUrl
175
+ });
176
+ });
177
+
163
178
  // Stake Pool providers
164
179
  stakePoolProviderFactory.register(
165
180
  STUB_PROVIDER,
@@ -315,6 +330,18 @@ export const getWallet = async (props: GetWalletProps) => {
315
330
  env.CHAIN_HISTORY_PROVIDER_PARAMS,
316
331
  logger
317
332
  ),
333
+ handleProvider: await handleProviderFactory.create(
334
+ env.HANDLE_PROVIDER,
335
+ {
336
+ ...env.HANDLE_PROVIDER_PARAMS,
337
+ networkInfoProvider: await networkInfoProviderFactory.create(
338
+ env.NETWORK_INFO_PROVIDER,
339
+ env.NETWORK_INFO_PROVIDER_PARAMS,
340
+ logger
341
+ )
342
+ },
343
+ logger
344
+ ),
318
345
  networkInfoProvider: await networkInfoProviderFactory.create(
319
346
  env.NETWORK_INFO_PROVIDER,
320
347
  env.NETWORK_INFO_PROVIDER_PARAMS,
@@ -0,0 +1,278 @@
1
+ import http from 'k6/http';
2
+
3
+ const PROVIDER_SERVER_URL = __ENV.PROVIDER_SERVER_URL;
4
+
5
+ export const options = {
6
+ thresholds: {
7
+ http_req_failed: ['rate<0.01'],
8
+ http_req_duration: ['p(95)<120000'],
9
+ },
10
+ };
11
+
12
+ export default function () {
13
+ const body = JSON.stringify({
14
+ assetIds,
15
+ extraData: {nftMetadata: true, tokenMetadata: true}
16
+ })
17
+ http.post(`${PROVIDER_SERVER_URL}/asset/get-assets`, body, {
18
+ headers: {
19
+ 'content-type': 'application/json',
20
+ },
21
+ timeout:'2m'
22
+ });
23
+ }
24
+
25
+ const assetIds =
26
+ [
27
+ "3a9241cd79895e3a8d65261b40077d4437ce71e9d7c8c6c00e3f658e4669727374636f696e",
28
+ "02f68378e37af4545d027d0a9fa5581ac682897a3fc1f6d8f936ed2b4154414441",
29
+ "e8e62d329e73190190c3e323fb5c9fb98ee55f0676332ba949f29d724649525354",
30
+ "ac3f4224723e2ed9d166478662f6e48bae9ddf0fc5ee58f54f6c322943454e54",
31
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b151754534c41",
32
+ "e12ab5cf12f95cd57b739282d06af9dd61e1b1dde1e06f0c31f0251167696d62616c",
33
+ "da8c30857834c6ae7203935b89278c532b3995245295456f993e1d244c51",
34
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279416c6261",
35
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279416d657468797374",
36
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279417175616d6172696e65",
37
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279417368",
38
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727941756275726e",
39
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279417572656c6961",
40
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279417572656f6c696e",
41
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279417765736f6d65",
42
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279417a756c",
43
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794265696765",
44
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279426572796c",
45
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279426c61636b",
46
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279426c7565",
47
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279426f6e65",
48
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279427269636b",
49
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727942726f776e",
50
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727942797a616e74696e65",
51
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794361646574",
52
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727943616d656c",
53
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794361707269",
54
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727943617264696e616c",
55
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279436572756c65616e",
56
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727943686172747265757365",
57
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279436865727279",
58
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727943696e6e616d6f6e",
59
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279436c656d656e74696e65",
60
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279436f616c",
61
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279436f62616c74",
62
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279436f66666565",
63
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279436f72616c",
64
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794379616e",
65
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727945626f6e79",
66
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279456d6572616c64",
67
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727946756368736961",
68
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279476f6c64",
69
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727947726179",
70
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279477265656e",
71
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727948617a656c",
72
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727948756d62726f6c",
73
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279496e6469676f",
74
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727949726973",
75
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794a616465",
76
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794a657474",
77
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794b656c6c79",
78
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794b68616b69",
79
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794c617661",
80
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794c6176656e646572",
81
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794c656d6f6e",
82
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794c696d65",
83
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794c757374",
84
+ "ca079f39e33ca1b6ec7b4f4eedffa4f40d7d111f96bde855ba224dc2444558",
85
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15174141504c",
86
+ "b93822810dbd56a5b5b815b1946da690312913da74c94e019e028af97065646572",
87
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15174150504c45",
88
+ "d63b50fe629b69f1da4897aee9f381fe197c30c06bf35be4355360bd6d617279",
89
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15175445534c41",
90
+ "d3501d9531fcc25e3ca4b6429318c2cc374dbdbcf5e99c1c1e5da1ff444f4e545350414d",
91
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794d61726f6f6e",
92
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794d61757665",
93
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794d656c616e6965",
94
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794d656c6f6e",
95
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794d696e74",
96
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794d6f7261646f",
97
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794d6f7373",
98
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794d757374617264",
99
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794d7972746c65",
100
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794e617679",
101
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794f6c697665",
102
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794f6e7978",
103
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794f72616e6765",
104
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272794f7263686964",
105
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272795065616368",
106
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727950656172",
107
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727950696e6b",
108
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727950697374616368696f",
109
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279506c6174696e756d",
110
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279507572706c65",
111
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272795261636b6c6579",
112
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279526173706265727279",
113
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279526176656e",
114
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279526564",
115
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279526f7365",
116
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279526f7578",
117
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727952756279",
118
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279527573736574",
119
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272795275737479",
120
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727953616666726f6e",
121
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727953616765",
122
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727953616c6d6f6e",
123
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727953616e64",
124
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272795361707068697265",
125
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279536361726c657474",
126
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272795369656e6e61",
127
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727953696c766572",
128
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727953696e6f706961",
129
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727953756e676c6f77",
130
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727954616e67656c6f",
131
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272795465616c",
132
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279546f6d61746f",
133
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727954757271756f697365",
134
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727956616e696c6c61",
135
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f42657272795665726d696c696f6e",
136
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727956696f6c6574",
137
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f4265727279566972696469616e",
138
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727957696e65",
139
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727958616e616475",
140
+ "b863bc7369f46136ac1048adb2fa7dae3af944c3bbb2be2f216a8d4f426572727959656c6c6f77",
141
+ "41fa383bbfccd0378c6855326129fbef8e631a27d938dc238a2fc97c64697361736d",
142
+ "d0cec3ba7bc826892d18ee2c7acd14be050b04a7c15c0ec98647c56372617473",
143
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b151754575452",
144
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b151754574954544552",
145
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a04a756e6557617348657265",
146
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f727365",
147
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f72736531",
148
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653130",
149
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653131",
150
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653132",
151
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653133",
152
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653134",
153
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653135",
154
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653136",
155
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653137",
156
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653138",
157
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653139",
158
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f72736532",
159
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653230",
160
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653231",
161
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653232",
162
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653233",
163
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653234",
164
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653235",
165
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653236",
166
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653237",
167
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653238",
168
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653239",
169
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f72736533",
170
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653330",
171
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653331",
172
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653332",
173
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653333",
174
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653334",
175
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653335",
176
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653336",
177
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653337",
178
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653338",
179
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653339",
180
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f72736534",
181
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653430",
182
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653431",
183
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653432",
184
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653433",
185
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653434",
186
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653435",
187
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653436",
188
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653437",
189
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653438",
190
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653439",
191
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f72736535",
192
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f7273653530",
193
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f72736536",
194
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f72736537",
195
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f72736538",
196
+ "fc7e9a7f604c2cd6a169433fb2de86b183b7cd478f46785701ae23a0536561486f72736539",
197
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15174d534654",
198
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15174d4943524f534f4654",
199
+ "4940ad9597460adab9d36a30768675892943dc052da48519e7d392ae474d424c",
200
+ "b7f9c65e055d835c9529243dc90e3677d1af37af2a49178902a5d08062616e616e6173",
201
+ "ca079f39e33ca1b6ec7b4f4eedffa4f40d7d111f96bde855ba224dc24c4f54544f",
202
+ "5d9d887de76a2c9d057b3e5d34d5411f7f8dc4d54f0c06e8ed2eb4a9494e4459",
203
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15174353434f",
204
+ "7b355978567396d02639cc505620b345e1bbe2c76e53f47a7b6900fa73706f",
205
+ "ca6cace5d3c90cb5e019c0639245d023ba3417b82c6ea72e2f975288636174",
206
+ "ca6cace5d3c90cb5e019c0639245d023ba3417b82c6ea72e2f97528863617478",
207
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b1517434953434f",
208
+ "ca079f39e33ca1b6ec7b4f4eedffa4f40d7d111f96bde855ba224dc24b495353",
209
+ "ca079f39e33ca1b6ec7b4f4eedffa4f40d7d111f96bde855ba224dc2454c4f4e",
210
+ "ca079f39e33ca1b6ec7b4f4eedffa4f40d7d111f96bde855ba224dc242454e",
211
+ "ca079f39e33ca1b6ec7b4f4eedffa4f40d7d111f96bde855ba224dc244454649",
212
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15174950484f4e45",
213
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b151749504144",
214
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b1517424954434f494e",
215
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b1517425443",
216
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15174c5443",
217
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15174c495445434f494e",
218
+ "a9f443a94bc98f7ed96944a0306ff6b526223519bc972e273e8e8ee7666e74",
219
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b151741554449",
220
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b1517424d57",
221
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15174d45524345444553",
222
+ "bcc9c1a22a30cc1a355565bac683735f830c3fd7812fcd1aac53e3e6504c5552",
223
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15174a454550",
224
+ "51a8b917114265855de3bf1c3c077a8d14123eb2a725a32a37e966bf4d4453",
225
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b151747524331",
226
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b1517475243",
227
+ "c97414a4aa9d8451ebb2c0e66f055d4748132ecd40f3c4a71df161d54144415048",
228
+ "56b1124f2405b0d33cae5ddb2e40fe86a4657af124899214691beddc6e6d74",
229
+ "ca079f39e33ca1b6ec7b4f4eedffa4f40d7d111f96bde855ba224dc24c4f53544c414b4553",
230
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b15174e4654",
231
+ "12e65fa3585d80cba39dcf4f59363bb68b77f9d3c0784734427b1517414441",
232
+ "ca079f39e33ca1b6ec7b4f4eedffa4f40d7d111f96bde855ba224dc2444f4745",
233
+ "7c14f8d5e4a52d7c6814f8783df2999bc0e50883099f72f9b3e1a720546f706f43726577",
234
+ "024113d85cbf633ffb4c436c786e868a1245c1398bc297302590a35f47524331",
235
+ "024113d85cbf633ffb4c436c786e868a1245c1398bc297302590a35f475243",
236
+ "0558efc19c2cab91c1fbe808ca9c26c61992b3a583187c9da4530392796f726f69",
237
+ "d8fb8de71d94caf74885dff2e5f3b8eaca95c67b37b6b650111bd7df474153",
238
+ "93ba69a0c19c3364156279f9e0bde261eec7d0184a2bbd0cc669e695686f736b696e736f6e",
239
+ "2919cb556e84b24f3878566780c50ac2cb6a7094f862281c19088bb3454e45524759",
240
+ "ba53bc5049cc226f7c8582faec8047bb70982d30539d11697957fb91636861726c6573",
241
+ "89414df16678a212636604cf4ba367bdacc2939821a6a849cb58cde64655454c",
242
+ "21c26b0c4d1cb37225374c96f38df70ecffd808bbd7f1aae23d8b3e37461696c73",
243
+ "9b0fa595d72beb53b70f649c51734819821ed5470cffcff1d07fbf2853414c5459636f696e",
244
+ "826033f14c75032b5cead9b73c507452377bf8603ac0cd2f74d5dfd8e7b485e58c85",
245
+ "74d3e78bb4988f3875cfee97667bf45c2e9074ad2aa321d7b4988d1f4144415048",
246
+ "ca079f39e33ca1b6ec7b4f4eedffa4f40d7d111f96bde855ba224dc2425443",
247
+ "2f1679cb4b7c9c92fcf70357358758d787e418508e0aa80eb8741a32424f484f4c",
248
+ "006144f3665c793920698e3874c60e0b6a9ac1ea3fb4da8bb3417a304a4f4253",
249
+ "5d871b8f74d71ec99f1fd3e5b27e58a6a472b9c73d47bca6e9d78b3f4a4f42",
250
+ "4a23f809ccedbd4cff4840e614a641e55d77c9bd2bd2792ad6d9ba8b41515541",
251
+ "55f526d5ad7a1e0bd50761a194cfecf2fccb1c35e372e7a45e06ad6057425443",
252
+ "a318cd3ed8585a56a6c9c649f0be0a7fd42bcbb29d162d98864eec1d6d656c",
253
+ "d41180e977877c6ea12aa84e3371d52d49a7f9d024fa3e74d43375d557455448",
254
+ "1c78f853729173df5933b9fee1eefccce01d52db1adadffcbea89e154b495749656767",
255
+ "eb970e28464be9486a779759828d79fb7a7154782b93e3f5e26875a94d454d45",
256
+ "ca8c8101bc688da236b2f7bfb73bbbd76c98188e57edd4e089a03fda455448",
257
+ "eccf56b527ed77b562259bfd1cceb3b9692ee2b1765d98fc5ddecb4a4869416461596f757244616453617973486946726f6d32303231",
258
+ "dfbe6e3399373ff93183e27a0a22ec5d735fbb1668a334ce8714776b4d55474759",
259
+ "43d156cc9ad1688e823edfd08e9e4ea9726c5ef9847554320a19e4e4457468657265756d",
260
+ "be3acb2be43759ed6291607f24dc7d5ecb583fc1023e9817ff6aa0054772616365",
261
+ "9b9ddbada8dc9cd08509ed660d5b3a65da8f36178def7ced99fa033346726565646f6d546f4e6176616c6e79436f696e",
262
+ "26958193370c7c03056e2502325a9a824c62d67d7723aa15c24536a16272696f",
263
+ "eca49efb20b7240521e97c1260d5d2738ab8e7ce2ab821ef819c6ce76a617a7a",
264
+ "0fb431bf5dd0ff9fdfcd0a62d51ba3a3324cbd86a6c4521feaecad6b6e65766572676f6e6e6167697665796f757570",
265
+ "0fb431bf5dd0ff9fdfcd0a62d51ba3a3324cbd86a6c4521feaecad6b6e65766572676f6e6e6172756e61726f756e64616e64646573657274796f75",
266
+ "0fb431bf5dd0ff9fdfcd0a62d51ba3a3324cbd86a6c4521feaecad6b6e65766572676f6e6e616c6574796f75646f776e",
267
+ "30db5406094be9701dd3d279f47fad57800ef2e48a2e0b68f13519ce6865616473",
268
+ "e67dd675e3eb7378a855b3d98bd49854cd2731902fd6e4e139974c744a415a5a",
269
+ "b0f4ee2d85783fcafe5d802f329c61c342f5c535a5c556427e77d925435350636f696e",
270
+ "26958193370c7c03056e2502325a9a824c62d67d7723aa15c24536a174657374",
271
+ "a488229a17b1df3f54e8aaf40e1267d4b6eb8bcc7743c6921bb1dca0706f74",
272
+ "b6af2ce69465db647f11799e0b9c8a9dd1a97705a72f657de01e4d1677796b6f70",
273
+ "c34b369793a60d233aed95cd1659b692e0275a8201de776d8cf8ab9d4c5353",
274
+ "d8a96e2451d5a5a367fde8badf5389284afec87d614f5dba4080316a53414e44",
275
+ "d894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a07370616365636f696e73",
276
+ "677d3bbe3e01eeab498cd8786f7d261d92bd6ecea12109a332e86374416d65726963616e4d616e61746565",
277
+ "677d3bbe3e01eeab498cd8786f7d261d92bd6ecea12109a332e86374417369616e456c657068616e74"
278
+ ]
@@ -0,0 +1,44 @@
1
+ import { Pool } from 'pg';
2
+ import { STAKE_POOL_METRICS_UPDATE } from '@cardano-sdk/projection-typeorm';
3
+ import { getEnv } from '../../src';
4
+
5
+ const selectRowsCount = async (db: Pool, table: string) => {
6
+ const query = `SELECT COUNT(*) FROM ${table}`;
7
+ const { rows } = await db.query(query);
8
+
9
+ return rows;
10
+ };
11
+
12
+ describe('stake-pool-metrics', () => {
13
+ const key = 'STAKE_POOL_CONNECTION_STRING';
14
+ const connectionString = getEnv([key])[key];
15
+ const db = new Pool({ connectionString });
16
+
17
+ it('populates current_pool_metrics table', async () => {
18
+ let jobState: string[] | undefined;
19
+
20
+ // Wait until at least one job completed
21
+ while (!jobState?.filter((_) => _ === 'completed').length) {
22
+ // If it is not the first iteration, wait for a while
23
+ if (jobState) await new Promise((resolve) => setTimeout(resolve, 5000));
24
+
25
+ try {
26
+ const query = 'SELECT state FROM pgboss.job WHERE name = $1';
27
+ const { rows } = await db.query<{ state: string }>(query, [STAKE_POOL_METRICS_UPDATE]);
28
+
29
+ jobState = rows.map(({ state }) => state);
30
+ } catch (error) {
31
+ const allowedErrors = ['database "projection" does not exist', 'relation "pgboss.job" does not exist'];
32
+
33
+ // In case the projection service has not yet created the database or the schema, simulate an empty result to wait
34
+ if (error instanceof Error && allowedErrors.includes(error.message)) jobState = [];
35
+ else throw error;
36
+ }
37
+ }
38
+
39
+ const metricsRows = await selectRowsCount(db, 'current_pool_metrics');
40
+ const poolsRows = await selectRowsCount(db, 'stake_pool');
41
+
42
+ expect(metricsRows).toEqual(poolsRows);
43
+ });
44
+ });
@@ -16,6 +16,8 @@ UTXO_PROVIDER=http
16
16
  UTXO_PROVIDER_PARAMS='{"baseUrl":"http://localhost:4000/utxo"}'
17
17
  STAKE_POOL_PROVIDER=stub
18
18
  STAKE_POOL_PROVIDER_PARAMS='{"baseUrl":"http://localhost:4000/stake-pool"}'
19
+ HANDLE_PROVIDER=handleProvider
20
+ HANDLE_PROVIDER_PARAMS='{"serverUrl":"http://localhost:4000","policyId":""}'
19
21
 
20
22
  # Test Environment
21
23
  NETWORK_ID=0