@cardano-sdk/e2e 0.16.6-patch.3 → 0.16.7

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 (130) hide show
  1. package/.env.example +4 -6
  2. package/CHANGELOG.md +9 -15
  3. package/README.md +2 -18
  4. package/dist/cjs/environment.d.ts +1 -1
  5. package/dist/cjs/environment.d.ts.map +1 -1
  6. package/dist/cjs/environment.js +1 -15
  7. package/dist/cjs/environment.js.map +1 -1
  8. package/dist/cjs/factories.d.ts +0 -2
  9. package/dist/cjs/factories.d.ts.map +1 -1
  10. package/dist/cjs/factories.js +6 -12
  11. package/dist/cjs/factories.js.map +1 -1
  12. package/dist/cjs/index.d.ts +0 -1
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/index.js +0 -1
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/scripts/is-local-network-ready.js +5 -28
  17. package/dist/cjs/scripts/is-local-network-ready.js.map +1 -1
  18. package/dist/cjs/tools/multi-delegation-data-gen/index.js +13 -3
  19. package/dist/cjs/tools/multi-delegation-data-gen/index.js.map +1 -1
  20. package/dist/cjs/tools/multi-delegation-data-gen/utils/config.d.ts +1 -0
  21. package/dist/cjs/tools/multi-delegation-data-gen/utils/config.d.ts.map +1 -1
  22. package/dist/cjs/tools/multi-delegation-data-gen/utils/config.js +12 -0
  23. package/dist/cjs/tools/multi-delegation-data-gen/utils/config.js.map +1 -1
  24. package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.d.ts +2 -5
  25. package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.d.ts.map +1 -1
  26. package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.js +12 -49
  27. package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.js.map +1 -1
  28. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  29. package/dist/cjs/util/util.d.ts +0 -1
  30. package/dist/cjs/util/util.d.ts.map +1 -1
  31. package/dist/cjs/util/util.js +2 -43
  32. package/dist/cjs/util/util.js.map +1 -1
  33. package/dist/esm/environment.d.ts +1 -1
  34. package/dist/esm/environment.d.ts.map +1 -1
  35. package/dist/esm/environment.js +1 -15
  36. package/dist/esm/environment.js.map +1 -1
  37. package/dist/esm/factories.d.ts +0 -2
  38. package/dist/esm/factories.d.ts.map +1 -1
  39. package/dist/esm/factories.js +6 -12
  40. package/dist/esm/factories.js.map +1 -1
  41. package/dist/esm/index.d.ts +0 -1
  42. package/dist/esm/index.d.ts.map +1 -1
  43. package/dist/esm/index.js +0 -1
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/scripts/is-local-network-ready.js +5 -5
  46. package/dist/esm/scripts/is-local-network-ready.js.map +1 -1
  47. package/dist/esm/tools/multi-delegation-data-gen/index.js +14 -4
  48. package/dist/esm/tools/multi-delegation-data-gen/index.js.map +1 -1
  49. package/dist/esm/tools/multi-delegation-data-gen/utils/config.d.ts +1 -0
  50. package/dist/esm/tools/multi-delegation-data-gen/utils/config.d.ts.map +1 -1
  51. package/dist/esm/tools/multi-delegation-data-gen/utils/config.js +12 -0
  52. package/dist/esm/tools/multi-delegation-data-gen/utils/config.js.map +1 -1
  53. package/dist/esm/tools/multi-delegation-data-gen/utils/utils.d.ts +2 -5
  54. package/dist/esm/tools/multi-delegation-data-gen/utils/utils.d.ts.map +1 -1
  55. package/dist/esm/tools/multi-delegation-data-gen/utils/utils.js +11 -45
  56. package/dist/esm/tools/multi-delegation-data-gen/utils/utils.js.map +1 -1
  57. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  58. package/dist/esm/util/util.d.ts +0 -1
  59. package/dist/esm/util/util.d.ts.map +1 -1
  60. package/dist/esm/util/util.js +3 -20
  61. package/dist/esm/util/util.js.map +1 -1
  62. package/docker-compose.yml +3 -21
  63. package/local-network/scripts/mint-handles.sh +108 -6
  64. package/local-network/scripts/mint-tokens.sh +21 -2
  65. package/local-network/scripts/mnemonic_keys.sh +14 -0
  66. package/local-network/scripts/setup-wallets.sh +18 -0
  67. package/local-network/scripts/start.sh +1 -2
  68. package/package.json +22 -20
  69. package/src/environment.ts +1 -19
  70. package/src/factories.ts +5 -13
  71. package/src/index.ts +0 -1
  72. package/src/scripts/is-local-network-ready.ts +6 -8
  73. package/src/tools/multi-delegation-data-gen/example.json +1 -0
  74. package/src/tools/multi-delegation-data-gen/index.ts +18 -8
  75. package/src/tools/multi-delegation-data-gen/utils/config.ts +13 -0
  76. package/src/tools/multi-delegation-data-gen/utils/utils.ts +13 -110
  77. package/src/util/util.ts +2 -29
  78. package/test/k6/endpoints/asset/get-asset.test.js +15 -14
  79. package/test/k6/endpoints/asset/get-assets.test.js +269 -269
  80. package/test/k6/endpoints/chain-history/blocks/by-hashes.test.js +12 -11
  81. package/test/k6/endpoints/chain-history/txs/by-addresses.test.js +18 -15
  82. package/test/k6/endpoints/chain-history/txs/by-hashes.test.js +12 -11
  83. package/test/k6/endpoints/network-info/era-summaries.test.js +11 -10
  84. package/test/k6/endpoints/network-info/genesis-parameters.test.js +11 -10
  85. package/test/k6/endpoints/network-info/ledger-tip.test.js +11 -10
  86. package/test/k6/endpoints/network-info/lovelace-supply.test.js +11 -10
  87. package/test/k6/endpoints/network-info/protocol-parameters.test.js +11 -10
  88. package/test/k6/endpoints/network-info/stake.test.js +11 -10
  89. package/test/k6/endpoints/rewards/account-balance.test.js +12 -11
  90. package/test/k6/endpoints/stake-pool/stats.test.js +11 -10
  91. package/test/k6/endpoints/utxo/utxo-by-addresses.test.js +16 -11
  92. package/test/k6/scenarios/tx-submission.test.js +47 -46
  93. package/test/k6/scenarios/wallet-creation.test.js +127 -120
  94. package/test/k6/scenarios/wallet-restoration.test.js +264 -126
  95. package/test/long-running/cache-invalidation.test.ts +64 -13
  96. package/test/providers/HandleProvider.test.ts +39 -0
  97. package/test/wallet/PersonalWallet/handle.test.ts +38 -16
  98. package/test/web-extension/webpack.config.base.js +0 -4
  99. package/dist/cjs/FaucetProvider/index.d.ts +0 -3
  100. package/dist/cjs/FaucetProvider/index.d.ts.map +0 -1
  101. package/dist/cjs/FaucetProvider/index.js +0 -19
  102. package/dist/cjs/FaucetProvider/index.js.map +0 -1
  103. package/dist/cjs/FaucetProvider/providers/cardanoWalletFaucetProvider.d.ts +0 -15
  104. package/dist/cjs/FaucetProvider/providers/cardanoWalletFaucetProvider.d.ts.map +0 -1
  105. package/dist/cjs/FaucetProvider/providers/cardanoWalletFaucetProvider.js +0 -148
  106. package/dist/cjs/FaucetProvider/providers/cardanoWalletFaucetProvider.js.map +0 -1
  107. package/dist/cjs/FaucetProvider/types.d.ts +0 -22
  108. package/dist/cjs/FaucetProvider/types.d.ts.map +0 -1
  109. package/dist/cjs/FaucetProvider/types.js +0 -14
  110. package/dist/cjs/FaucetProvider/types.js.map +0 -1
  111. package/dist/esm/FaucetProvider/index.d.ts +0 -3
  112. package/dist/esm/FaucetProvider/index.d.ts.map +0 -1
  113. package/dist/esm/FaucetProvider/index.js +0 -3
  114. package/dist/esm/FaucetProvider/index.js.map +0 -1
  115. package/dist/esm/FaucetProvider/providers/cardanoWalletFaucetProvider.d.ts +0 -15
  116. package/dist/esm/FaucetProvider/providers/cardanoWalletFaucetProvider.d.ts.map +0 -1
  117. package/dist/esm/FaucetProvider/providers/cardanoWalletFaucetProvider.js +0 -141
  118. package/dist/esm/FaucetProvider/providers/cardanoWalletFaucetProvider.js.map +0 -1
  119. package/dist/esm/FaucetProvider/types.d.ts +0 -22
  120. package/dist/esm/FaucetProvider/types.d.ts.map +0 -1
  121. package/dist/esm/FaucetProvider/types.js +0 -10
  122. package/dist/esm/FaucetProvider/types.js.map +0 -1
  123. package/local-network/faucet/README.md +0 -12
  124. package/local-network/faucet/faucet-addresses.json +0 -45
  125. package/local-network/faucet/faucet-mnemonic.json +0 -6
  126. package/local-network/faucet/faucet-send-funds.json +0 -23
  127. package/local-network/scripts/is-faucet-ready.sh +0 -29
  128. package/src/FaucetProvider/index.ts +0 -2
  129. package/src/FaucetProvider/providers/cardanoWalletFaucetProvider.ts +0 -233
  130. package/src/FaucetProvider/types.ts +0 -94
@@ -16,10 +16,18 @@ import {
16
16
  } from '../../../src';
17
17
  import { createLogger } from '@cardano-sdk/util-dev';
18
18
  import { firstValueFrom } from 'rxjs';
19
+ import { readFile } from 'fs/promises';
20
+ import path from 'path';
19
21
 
20
22
  const env = getEnv(walletVariables);
21
23
  const logger = createLogger();
22
24
 
25
+ const toHex = (value: string) =>
26
+ value
27
+ .split('')
28
+ .map((s) => s.charCodeAt(0).toString(16))
29
+ .join('');
30
+
23
31
  type HandleMetadata = {
24
32
  [policyId: string]: {
25
33
  [handleName: string]: {
@@ -53,7 +61,7 @@ const createHandleMetadata = (handlePolicyId: string, handleNames: string[]): Ha
53
61
  },
54
62
  description: 'The Handle Standard',
55
63
  image: 'ipfs://some-hash',
56
- name: '$handle1',
64
+ name: `$${key}`,
57
65
  website: 'https://cardano.org/'
58
66
  };
59
67
  }
@@ -68,7 +76,7 @@ describe('Ada handle', () => {
68
76
  let policyScript: Cardano.NativeScript;
69
77
  let assetIds: Cardano.AssetId[];
70
78
 
71
- const assetNames = ['68616e646c6531', '68616e646c6532'];
79
+ const assetNames = ['handle1', 'handle2'];
72
80
  let walletAddress: Cardano.PaymentAddress;
73
81
  const coins = 2_000_000n; // number of coins to use in each transaction
74
82
 
@@ -76,7 +84,7 @@ describe('Ada handle', () => {
76
84
  wallet = (await getWallet({ env, idx: 0, logger, name: 'Handle Init Wallet', polling: { interval: 50 } })).wallet;
77
85
  await walletReady(wallet, coins);
78
86
  const derivationPath = {
79
- index: 2,
87
+ index: 0,
80
88
  role: KeyRole.External
81
89
  };
82
90
  const keyAgent = await createStandaloneKeyAgent(
@@ -89,16 +97,15 @@ describe('Ada handle', () => {
89
97
  policySigner = new util.KeyAgentTransactionSigner(keyAgent, derivationPath);
90
98
  policyScript = {
91
99
  __type: Cardano.ScriptType.Native,
92
- kind: Cardano.NativeScriptKind.RequireAllOf,
93
- scripts: [
94
- {
95
- __type: Cardano.ScriptType.Native,
96
- keyHash,
97
- kind: Cardano.NativeScriptKind.RequireSignature
98
- }
99
- ]
100
+ keyHash,
101
+ kind: Cardano.NativeScriptKind.RequireSignature
100
102
  };
101
103
  policyId = nativeScriptPolicyId(policyScript);
104
+ const sdkIpc = path.join(__dirname, '..', '..', '..', 'local-network', 'sdk-ipc');
105
+ const handleProviderPolicyId = (await readFile(path.join(sdkIpc, 'handle_policy_ids')))
106
+ .toString('utf8')
107
+ .replace(/\s/g, '');
108
+ expect(policyId).toEqual(handleProviderPolicyId);
102
109
  wallet.shutdown();
103
110
  };
104
111
 
@@ -172,7 +179,10 @@ describe('Ada handle', () => {
172
179
  })
173
180
  ).wallet;
174
181
  await Promise.all([walletReady(wallet, coins), walletReady(receivingWallet, 0n)]);
175
- assetIds = [Cardano.AssetId(`${policyId}${assetNames[0]}`), Cardano.AssetId(`${policyId}${assetNames[1]}`)];
182
+ assetIds = [
183
+ Cardano.AssetId(`${policyId}${toHex(assetNames[0])}`),
184
+ Cardano.AssetId(`${policyId}${toHex(assetNames[1])}`)
185
+ ];
176
186
  walletAddress = (await firstValueFrom(wallet.addresses$))[0].address;
177
187
  });
178
188
 
@@ -199,7 +209,7 @@ describe('Ada handle', () => {
199
209
  [assetIds[0], 1n],
200
210
  [assetIds[1], 1n]
201
211
  ]);
202
- const txMetadatum = metadatum.jsonToMetadatum(createHandleMetadata(policyId, ['handle1', 'handle2']));
212
+ const txMetadatum = metadatum.jsonToMetadatum(createHandleMetadata(policyId, assetNames));
203
213
  await mint(tokens, txMetadatum);
204
214
  let utxo = await firstValueFrom(wallet.balance.utxo.available$);
205
215
  let receivingUtxo = await firstValueFrom(receivingWallet.balance.utxo.available$);
@@ -210,6 +220,7 @@ describe('Ada handle', () => {
210
220
  expect(handles.length).toEqual(2);
211
221
  expect(receivingHandles.length).toEqual(0);
212
222
 
223
+ // send handle to another wallet
213
224
  const token = new Map([[assetIds[0], 1n]]);
214
225
  const destAddresses = (await firstValueFrom(receivingWallet.addresses$))[0].address;
215
226
  const txBuilder = wallet.createTxBuilder();
@@ -229,12 +240,23 @@ describe('Ada handle', () => {
229
240
  receivingHandles = await firstValueFrom(receivingWallet.handles$);
230
241
  expect(handles.length).toEqual(1);
231
242
  expect(receivingHandles.length).toEqual(1);
243
+
244
+ // send ada using handle
245
+ // const txBuilder2 = wallet.createTxBuilder();
246
+ // const { tx: tx2 } = await txBuilder2
247
+ // .addOutput(await txBuilder.buildOutput().handle(receivingHandles[0].handle).coin(coins).build())
248
+ // .build()
249
+ // .sign();
250
+ // await wallet.submitTx(tx2);
251
+ // await txConfirmed(receivingWallet, tx2);
252
+ // const receivingUtxoAfter = await firstValueFrom(receivingWallet.balance.utxo.available$);
253
+ // expect(receivingUtxoAfter.coins).toEqual(receivingUtxo.coins + coins);
232
254
  });
233
255
 
234
256
  describe('double mint handling', () => {
235
257
  it('filters out double mints in separate transactions', async () => {
236
258
  const tokens: TokenMap = new Map([[assetIds[0], 1n]]);
237
- const txMetadatum: Metadatum = metadatum.jsonToMetadatum(createHandleMetadata(policyId, ['handle1']));
259
+ const txMetadatum: Metadatum = metadatum.jsonToMetadatum(createHandleMetadata(policyId, [assetNames[0]]));
238
260
  await mint(tokens, txMetadatum);
239
261
  let handles = await firstValueFrom(wallet.handles$);
240
262
  expect(handles.length).toEqual(1);
@@ -248,7 +270,7 @@ describe('Ada handle', () => {
248
270
 
249
271
  it('filters out double mints from within the same transaction', async () => {
250
272
  const tokens = new Map([[assetIds[0], 2n]]);
251
- const txMetadatum: Metadatum = metadatum.jsonToMetadatum(createHandleMetadata(policyId, ['handle1']));
273
+ const txMetadatum: Metadatum = metadatum.jsonToMetadatum(createHandleMetadata(policyId, [assetNames[0]]));
252
274
  await mint(tokens, txMetadatum);
253
275
  await restartWallet();
254
276
  const utxo = await firstValueFrom(wallet.balance.utxo.available$);
@@ -259,7 +281,7 @@ describe('Ada handle', () => {
259
281
 
260
282
  it('shows handle after corrective burn', async () => {
261
283
  const tokens = new Map([[assetIds[0], 2n]]);
262
- const txMetadatum: Metadatum = metadatum.jsonToMetadatum(createHandleMetadata(policyId, ['handle1']));
284
+ const txMetadatum: Metadatum = metadatum.jsonToMetadatum(createHandleMetadata(policyId, [assetNames[0]]));
263
285
  await mint(tokens, txMetadatum);
264
286
  let utxo = await firstValueFrom(wallet.balance.utxo.available$);
265
287
  expect(utxo.assets?.values().next().value).toEqual(2n);
@@ -68,10 +68,6 @@ module.exports = {
68
68
  })
69
69
  ],
70
70
  resolve: {
71
- alias: {
72
- // imported by faucet provider in e2e/src, not used in web-extension
73
- 'cardano-wallet-js': false
74
- },
75
71
  extensions: ['.ts', '.js'],
76
72
  fallback: {
77
73
  buffer: require.resolve('buffer/'),
@@ -1,3 +0,0 @@
1
- export * from './types';
2
- export * from './providers/cardanoWalletFaucetProvider';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/FaucetProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,yCAAyC,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./types"), exports);
18
- __exportStar(require("./providers/cardanoWalletFaucetProvider"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/FaucetProvider/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0EAAwD"}
@@ -1,15 +0,0 @@
1
- import { HealthCheckResponse } from '@cardano-sdk/core';
2
- import { FaucetProvider, FaucetRequestResult } from '../types';
3
- export declare class CardanoWalletFaucetProvider implements FaucetProvider {
4
- #private;
5
- constructor(url: string, seedPhrases: string);
6
- request(address: string, amount: number, confirmations?: number, timeout?: number): Promise<FaucetRequestResult>;
7
- multiRequest(addresses: string[], amounts: number[], confirmations?: number, timeout?: number): Promise<FaucetRequestResult>;
8
- start(): Promise<void>;
9
- getBalance(): Promise<number>;
10
- close(): Promise<void>;
11
- healthCheck(): Promise<HealthCheckResponse>;
12
- private mapStatus;
13
- static create(params: any): Promise<FaucetProvider>;
14
- }
15
- //# sourceMappingURL=cardanoWalletFaucetProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cardanoWalletFaucetProvider.d.ts","sourceRoot":"","sources":["../../../../src/FaucetProvider/providers/cardanoWalletFaucetProvider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAW,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAkC,MAAM,UAAU,CAAC;AAmB/F,qBAAa,2BAA4B,YAAW,cAAc;;gBAYpD,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAc/B,OAAO,CAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,MAA8B,EAC7C,OAAO,GAAE,MAAwB,GAChC,OAAO,CAAC,mBAAmB,CAAC;IAalB,YAAY,CACvB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,GAAE,MAA8B,EAC7C,OAAO,GAAE,MAAwB,GAChC,OAAO,CAAC,mBAAmB,CAAC;IAkClB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDtB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAiBxD,OAAO,CAAC,SAAS;WA0BH,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;CAW3D"}
@@ -1,148 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- var _CardanoWalletFaucetProvider_serviceUrl, _CardanoWalletFaucetProvider_seedPhrases, _CardanoWalletFaucetProvider_faucetWalletId, _CardanoWalletFaucetProvider_walletServer;
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.CardanoWalletFaucetProvider = void 0;
19
- const cardano_wallet_js_1 = require("cardano-wallet-js");
20
- const core_1 = require("@cardano-sdk/core");
21
- const types_1 = require("../types");
22
- const ts_stopwatch_1 = require("ts-stopwatch");
23
- const process_1 = __importDefault(require("process"));
24
- const FAUCET_PASSPHRASE = 'passphrase';
25
- const FAUCET_WALLET_NAME = 'faucet';
26
- const HTTP_ERROR_CODE_IN_CONFLICT = 409;
27
- const DEFAULT_TIMEOUT = 10000;
28
- const DEFAULT_CONFIRMATIONS = 0;
29
- const PARAM_NAME_URL = 'baseUrl';
30
- const PARAM_NAME_MNEMONICS = 'mnemonic';
31
- const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
32
- class CardanoWalletFaucetProvider {
33
- constructor(url, seedPhrases) {
34
- _CardanoWalletFaucetProvider_serviceUrl.set(this, '');
35
- _CardanoWalletFaucetProvider_seedPhrases.set(this, '');
36
- _CardanoWalletFaucetProvider_faucetWalletId.set(this, '');
37
- _CardanoWalletFaucetProvider_walletServer.set(this, void 0);
38
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_serviceUrl, url, "f");
39
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_seedPhrases, seedPhrases, "f");
40
- }
41
- async request(address, amount, confirmations = DEFAULT_CONFIRMATIONS, timeout = DEFAULT_TIMEOUT) {
42
- return this.multiRequest([address], [amount], confirmations, timeout);
43
- }
44
- async multiRequest(addresses, amounts, confirmations = DEFAULT_CONFIRMATIONS, timeout = DEFAULT_TIMEOUT) {
45
- const faucetWallet = await __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_walletServer, "f").getShelleyWallet(__classPrivateFieldGet(this, _CardanoWalletFaucetProvider_faucetWalletId, "f"));
46
- const receiverAddress = addresses.map((strAddress) => new cardano_wallet_js_1.AddressWallet(strAddress));
47
- const stopwatch = new ts_stopwatch_1.Stopwatch();
48
- stopwatch.start();
49
- let transaction = await faucetWallet.sendPayment(FAUCET_PASSPHRASE, receiverAddress, amounts);
50
- let isTransactionConfirmed = false;
51
- while ((transaction.status === cardano_wallet_js_1.ApiTransactionStatusEnum.Pending || !isTransactionConfirmed) &&
52
- stopwatch.getTime() < timeout) {
53
- transaction = await faucetWallet.getTransaction(transaction.id);
54
- isTransactionConfirmed = transaction.depth !== undefined && transaction.depth.quantity >= confirmations;
55
- }
56
- stopwatch.stop();
57
- if (stopwatch.getTime() >= timeout)
58
- throw new Error(`The transaction ${transaction.id} was not confirmed on time`);
59
- return {
60
- confirmations: transaction.depth?.quantity,
61
- id: core_1.Cardano.TransactionId(transaction.id),
62
- status: this.mapStatus(transaction.status),
63
- time: transaction.inserted_at?.time
64
- };
65
- }
66
- async start() {
67
- const walletInfo = {
68
- mnemonic_sentence: __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_seedPhrases, "f").split(' '),
69
- name: FAUCET_WALLET_NAME,
70
- passphrase: FAUCET_PASSPHRASE
71
- };
72
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_walletServer, cardano_wallet_js_1.WalletServer.init(__classPrivateFieldGet(this, _CardanoWalletFaucetProvider_serviceUrl, "f")), "f");
73
- const axiosResponse = await __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_walletServer, "f").walletsApi.postWallet(walletInfo).catch((error) => {
74
- if (error.response === undefined)
75
- throw error;
76
- if (error.response.status === HTTP_ERROR_CODE_IN_CONFLICT) {
77
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_faucetWalletId, error.response.data.message.match(/(?<=: ).*(?= H)/g)[0], "f");
78
- }
79
- else {
80
- throw error.response.data;
81
- }
82
- });
83
- if (axiosResponse)
84
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_faucetWalletId, axiosResponse.data.id, "f");
85
- const start = Date.now() / 1000;
86
- const waitTime = process_1.default.env.LOCAL_NETWORK_READY_WAIT_TIME ? process_1.default.env.LOCAL_NETWORK_READY_WAIT_TIME : 1200;
87
- let isReady = false;
88
- let currentElapsed = 0;
89
- while (!isReady && currentElapsed < waitTime) {
90
- try {
91
- isReady = (await this.healthCheck()).ok;
92
- }
93
- catch {
94
- }
95
- finally {
96
- currentElapsed = Date.now() / 1000 - start;
97
- await sleep(5000);
98
- }
99
- }
100
- if (currentElapsed > waitTime) {
101
- throw new Error('Wait time expired. The faucet was not ready on time.');
102
- }
103
- }
104
- async getBalance() {
105
- if (__classPrivateFieldGet(this, _CardanoWalletFaucetProvider_faucetWalletId, "f") === undefined)
106
- throw new Error('Faucet is not running.');
107
- const axiosResponse = await __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_walletServer, "f").walletsApi.getWallet(__classPrivateFieldGet(this, _CardanoWalletFaucetProvider_faucetWalletId, "f"));
108
- return axiosResponse.data.balance.total.quantity;
109
- }
110
- async close() {
111
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_faucetWalletId, '', "f");
112
- }
113
- async healthCheck() {
114
- const networkInfo = await __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_walletServer, "f").getNetworkInformation();
115
- return {
116
- ok: networkInfo.sync_progress.status === cardano_wallet_js_1.ApiNetworkInformationSyncProgressStatusEnum.Ready &&
117
- __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_faucetWalletId, "f") !== '' &&
118
- (await this.getBalance()) > 100000000
119
- };
120
- }
121
- mapStatus(status) {
122
- let mappedStatus = types_1.FaucetRequestTransactionStatus.Expired;
123
- switch (status) {
124
- case cardano_wallet_js_1.ApiTransactionStatusEnum.Expired:
125
- mappedStatus = types_1.FaucetRequestTransactionStatus.Expired;
126
- break;
127
- case cardano_wallet_js_1.ApiTransactionStatusEnum.InLedger:
128
- mappedStatus = types_1.FaucetRequestTransactionStatus.InLedger;
129
- break;
130
- case cardano_wallet_js_1.ApiTransactionStatusEnum.Pending:
131
- mappedStatus = types_1.FaucetRequestTransactionStatus.Pending;
132
- break;
133
- }
134
- return mappedStatus;
135
- }
136
- static create(params) {
137
- if (!params.hasOwnProperty(PARAM_NAME_URL))
138
- throw new Error(`${CardanoWalletFaucetProvider.name} missing argument: ${PARAM_NAME_URL}`);
139
- if (!params.hasOwnProperty(PARAM_NAME_MNEMONICS))
140
- throw new Error(`${CardanoWalletFaucetProvider.name} missing argument: ${PARAM_NAME_MNEMONICS}`);
141
- return new Promise((resolve) => {
142
- resolve(new CardanoWalletFaucetProvider(params[PARAM_NAME_URL], params[PARAM_NAME_MNEMONICS]));
143
- });
144
- }
145
- }
146
- exports.CardanoWalletFaucetProvider = CardanoWalletFaucetProvider;
147
- _CardanoWalletFaucetProvider_serviceUrl = new WeakMap(), _CardanoWalletFaucetProvider_seedPhrases = new WeakMap(), _CardanoWalletFaucetProvider_faucetWalletId = new WeakMap(), _CardanoWalletFaucetProvider_walletServer = new WeakMap();
148
- //# sourceMappingURL=cardanoWalletFaucetProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cardanoWalletFaucetProvider.js","sourceRoot":"","sources":["../../../../src/FaucetProvider/providers/cardanoWalletFaucetProvider.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { Cardano, HealthCheckResponse, Provider } from '@cardano-sdk/core';
2
- export declare enum FaucetRequestTransactionStatus {
3
- Pending = 0,
4
- Submitted = 1,
5
- InLedger = 2,
6
- Expired = 3
7
- }
8
- export declare class FaucetRequestResult {
9
- id: Cardano.TransactionId;
10
- status: FaucetRequestTransactionStatus;
11
- time: string;
12
- confirmations: number;
13
- }
14
- export interface FaucetProvider extends Provider {
15
- request(address: string, amount: number, confirmations?: number, timeout?: number): Promise<FaucetRequestResult>;
16
- multiRequest(addresses: string[], amounts: number[], confirmations?: number, timeout?: number): Promise<FaucetRequestResult>;
17
- start(): Promise<void>;
18
- close(): Promise<void>;
19
- getBalance(): Promise<number>;
20
- healthCheck(): Promise<HealthCheckResponse>;
21
- }
22
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/FaucetProvider/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK3E,oBAAY,8BAA8B;IACxC,OAAO,IAAA;IACP,SAAS,IAAA;IACT,QAAQ,IAAA;IACR,OAAO,IAAA;CACR;AAKD,qBAAa,mBAAmB;IAI9B,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC;IAK1B,MAAM,EAAE,8BAA8B,CAAC;IAKvC,IAAI,EAAE,MAAM,CAAC;IAMb,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAU9C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAWjH,YAAY,CACV,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAKhC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAKvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAKvB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAO9B,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC7C"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FaucetRequestResult = exports.FaucetRequestTransactionStatus = void 0;
4
- var FaucetRequestTransactionStatus;
5
- (function (FaucetRequestTransactionStatus) {
6
- FaucetRequestTransactionStatus[FaucetRequestTransactionStatus["Pending"] = 0] = "Pending";
7
- FaucetRequestTransactionStatus[FaucetRequestTransactionStatus["Submitted"] = 1] = "Submitted";
8
- FaucetRequestTransactionStatus[FaucetRequestTransactionStatus["InLedger"] = 2] = "InLedger";
9
- FaucetRequestTransactionStatus[FaucetRequestTransactionStatus["Expired"] = 3] = "Expired";
10
- })(FaucetRequestTransactionStatus = exports.FaucetRequestTransactionStatus || (exports.FaucetRequestTransactionStatus = {}));
11
- class FaucetRequestResult {
12
- }
13
- exports.FaucetRequestResult = FaucetRequestResult;
14
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/FaucetProvider/types.ts"],"names":[],"mappings":";;;AAOA,IAAY,8BAKX;AALD,WAAY,8BAA8B;IACxC,yFAAO,CAAA;IACP,6FAAS,CAAA;IACT,2FAAQ,CAAA;IACR,yFAAO,CAAA;AACT,CAAC,EALW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAKzC;AAKD,MAAa,mBAAmB;CAqB/B;AArBD,kDAqBC"}
@@ -1,3 +0,0 @@
1
- export * from './types';
2
- export * from './providers/cardanoWalletFaucetProvider';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/FaucetProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,yCAAyC,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './types';
2
- export * from './providers/cardanoWalletFaucetProvider';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/FaucetProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,yCAAyC,CAAC"}
@@ -1,15 +0,0 @@
1
- import { HealthCheckResponse } from '@cardano-sdk/core';
2
- import { FaucetProvider, FaucetRequestResult } from '../types';
3
- export declare class CardanoWalletFaucetProvider implements FaucetProvider {
4
- #private;
5
- constructor(url: string, seedPhrases: string);
6
- request(address: string, amount: number, confirmations?: number, timeout?: number): Promise<FaucetRequestResult>;
7
- multiRequest(addresses: string[], amounts: number[], confirmations?: number, timeout?: number): Promise<FaucetRequestResult>;
8
- start(): Promise<void>;
9
- getBalance(): Promise<number>;
10
- close(): Promise<void>;
11
- healthCheck(): Promise<HealthCheckResponse>;
12
- private mapStatus;
13
- static create(params: any): Promise<FaucetProvider>;
14
- }
15
- //# sourceMappingURL=cardanoWalletFaucetProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cardanoWalletFaucetProvider.d.ts","sourceRoot":"","sources":["../../../../src/FaucetProvider/providers/cardanoWalletFaucetProvider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAW,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAkC,MAAM,UAAU,CAAC;AAmB/F,qBAAa,2BAA4B,YAAW,cAAc;;gBAYpD,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAc/B,OAAO,CAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,MAA8B,EAC7C,OAAO,GAAE,MAAwB,GAChC,OAAO,CAAC,mBAAmB,CAAC;IAalB,YAAY,CACvB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,GAAE,MAA8B,EAC7C,OAAO,GAAE,MAAwB,GAChC,OAAO,CAAC,mBAAmB,CAAC;IAkClB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDtB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAiBxD,OAAO,CAAC,SAAS;WA0BH,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;CAW3D"}
@@ -1,141 +0,0 @@
1
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
- if (kind === "m") throw new TypeError("Private method is not writable");
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _CardanoWalletFaucetProvider_serviceUrl, _CardanoWalletFaucetProvider_seedPhrases, _CardanoWalletFaucetProvider_faucetWalletId, _CardanoWalletFaucetProvider_walletServer;
13
- import { AddressWallet, ApiNetworkInformationSyncProgressStatusEnum, ApiTransactionStatusEnum, WalletServer } from 'cardano-wallet-js';
14
- import { Cardano } from '@cardano-sdk/core';
15
- import { FaucetRequestTransactionStatus } from '../types';
16
- import { Stopwatch } from 'ts-stopwatch';
17
- import Process from 'process';
18
- const FAUCET_PASSPHRASE = 'passphrase';
19
- const FAUCET_WALLET_NAME = 'faucet';
20
- const HTTP_ERROR_CODE_IN_CONFLICT = 409;
21
- const DEFAULT_TIMEOUT = 10000;
22
- const DEFAULT_CONFIRMATIONS = 0;
23
- const PARAM_NAME_URL = 'baseUrl';
24
- const PARAM_NAME_MNEMONICS = 'mnemonic';
25
- const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
26
- export class CardanoWalletFaucetProvider {
27
- constructor(url, seedPhrases) {
28
- _CardanoWalletFaucetProvider_serviceUrl.set(this, '');
29
- _CardanoWalletFaucetProvider_seedPhrases.set(this, '');
30
- _CardanoWalletFaucetProvider_faucetWalletId.set(this, '');
31
- _CardanoWalletFaucetProvider_walletServer.set(this, void 0);
32
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_serviceUrl, url, "f");
33
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_seedPhrases, seedPhrases, "f");
34
- }
35
- async request(address, amount, confirmations = DEFAULT_CONFIRMATIONS, timeout = DEFAULT_TIMEOUT) {
36
- return this.multiRequest([address], [amount], confirmations, timeout);
37
- }
38
- async multiRequest(addresses, amounts, confirmations = DEFAULT_CONFIRMATIONS, timeout = DEFAULT_TIMEOUT) {
39
- const faucetWallet = await __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_walletServer, "f").getShelleyWallet(__classPrivateFieldGet(this, _CardanoWalletFaucetProvider_faucetWalletId, "f"));
40
- const receiverAddress = addresses.map((strAddress) => new AddressWallet(strAddress));
41
- const stopwatch = new Stopwatch();
42
- stopwatch.start();
43
- let transaction = await faucetWallet.sendPayment(FAUCET_PASSPHRASE, receiverAddress, amounts);
44
- let isTransactionConfirmed = false;
45
- while ((transaction.status === ApiTransactionStatusEnum.Pending || !isTransactionConfirmed) &&
46
- stopwatch.getTime() < timeout) {
47
- transaction = await faucetWallet.getTransaction(transaction.id);
48
- isTransactionConfirmed = transaction.depth !== undefined && transaction.depth.quantity >= confirmations;
49
- }
50
- stopwatch.stop();
51
- if (stopwatch.getTime() >= timeout)
52
- throw new Error(`The transaction ${transaction.id} was not confirmed on time`);
53
- return {
54
- confirmations: transaction.depth?.quantity,
55
- id: Cardano.TransactionId(transaction.id),
56
- status: this.mapStatus(transaction.status),
57
- time: transaction.inserted_at?.time
58
- };
59
- }
60
- async start() {
61
- const walletInfo = {
62
- mnemonic_sentence: __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_seedPhrases, "f").split(' '),
63
- name: FAUCET_WALLET_NAME,
64
- passphrase: FAUCET_PASSPHRASE
65
- };
66
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_walletServer, WalletServer.init(__classPrivateFieldGet(this, _CardanoWalletFaucetProvider_serviceUrl, "f")), "f");
67
- const axiosResponse = await __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_walletServer, "f").walletsApi.postWallet(walletInfo).catch((error) => {
68
- if (error.response === undefined)
69
- throw error;
70
- if (error.response.status === HTTP_ERROR_CODE_IN_CONFLICT) {
71
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_faucetWalletId, error.response.data.message.match(/(?<=: ).*(?= H)/g)[0], "f");
72
- }
73
- else {
74
- throw error.response.data;
75
- }
76
- });
77
- if (axiosResponse)
78
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_faucetWalletId, axiosResponse.data.id, "f");
79
- const start = Date.now() / 1000;
80
- const waitTime = Process.env.LOCAL_NETWORK_READY_WAIT_TIME ? Process.env.LOCAL_NETWORK_READY_WAIT_TIME : 1200;
81
- let isReady = false;
82
- let currentElapsed = 0;
83
- while (!isReady && currentElapsed < waitTime) {
84
- try {
85
- isReady = (await this.healthCheck()).ok;
86
- }
87
- catch {
88
- }
89
- finally {
90
- currentElapsed = Date.now() / 1000 - start;
91
- await sleep(5000);
92
- }
93
- }
94
- if (currentElapsed > waitTime) {
95
- throw new Error('Wait time expired. The faucet was not ready on time.');
96
- }
97
- }
98
- async getBalance() {
99
- if (__classPrivateFieldGet(this, _CardanoWalletFaucetProvider_faucetWalletId, "f") === undefined)
100
- throw new Error('Faucet is not running.');
101
- const axiosResponse = await __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_walletServer, "f").walletsApi.getWallet(__classPrivateFieldGet(this, _CardanoWalletFaucetProvider_faucetWalletId, "f"));
102
- return axiosResponse.data.balance.total.quantity;
103
- }
104
- async close() {
105
- __classPrivateFieldSet(this, _CardanoWalletFaucetProvider_faucetWalletId, '', "f");
106
- }
107
- async healthCheck() {
108
- const networkInfo = await __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_walletServer, "f").getNetworkInformation();
109
- return {
110
- ok: networkInfo.sync_progress.status === ApiNetworkInformationSyncProgressStatusEnum.Ready &&
111
- __classPrivateFieldGet(this, _CardanoWalletFaucetProvider_faucetWalletId, "f") !== '' &&
112
- (await this.getBalance()) > 100000000
113
- };
114
- }
115
- mapStatus(status) {
116
- let mappedStatus = FaucetRequestTransactionStatus.Expired;
117
- switch (status) {
118
- case ApiTransactionStatusEnum.Expired:
119
- mappedStatus = FaucetRequestTransactionStatus.Expired;
120
- break;
121
- case ApiTransactionStatusEnum.InLedger:
122
- mappedStatus = FaucetRequestTransactionStatus.InLedger;
123
- break;
124
- case ApiTransactionStatusEnum.Pending:
125
- mappedStatus = FaucetRequestTransactionStatus.Pending;
126
- break;
127
- }
128
- return mappedStatus;
129
- }
130
- static create(params) {
131
- if (!params.hasOwnProperty(PARAM_NAME_URL))
132
- throw new Error(`${CardanoWalletFaucetProvider.name} missing argument: ${PARAM_NAME_URL}`);
133
- if (!params.hasOwnProperty(PARAM_NAME_MNEMONICS))
134
- throw new Error(`${CardanoWalletFaucetProvider.name} missing argument: ${PARAM_NAME_MNEMONICS}`);
135
- return new Promise((resolve) => {
136
- resolve(new CardanoWalletFaucetProvider(params[PARAM_NAME_URL], params[PARAM_NAME_MNEMONICS]));
137
- });
138
- }
139
- }
140
- _CardanoWalletFaucetProvider_serviceUrl = new WeakMap(), _CardanoWalletFaucetProvider_seedPhrases = new WeakMap(), _CardanoWalletFaucetProvider_faucetWalletId = new WeakMap(), _CardanoWalletFaucetProvider_walletServer = new WeakMap();
141
- //# sourceMappingURL=cardanoWalletFaucetProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cardanoWalletFaucetProvider.js","sourceRoot":"","sources":["../../../../src/FaucetProvider/providers/cardanoWalletFaucetProvider.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { Cardano, HealthCheckResponse, Provider } from '@cardano-sdk/core';
2
- export declare enum FaucetRequestTransactionStatus {
3
- Pending = 0,
4
- Submitted = 1,
5
- InLedger = 2,
6
- Expired = 3
7
- }
8
- export declare class FaucetRequestResult {
9
- id: Cardano.TransactionId;
10
- status: FaucetRequestTransactionStatus;
11
- time: string;
12
- confirmations: number;
13
- }
14
- export interface FaucetProvider extends Provider {
15
- request(address: string, amount: number, confirmations?: number, timeout?: number): Promise<FaucetRequestResult>;
16
- multiRequest(addresses: string[], amounts: number[], confirmations?: number, timeout?: number): Promise<FaucetRequestResult>;
17
- start(): Promise<void>;
18
- close(): Promise<void>;
19
- getBalance(): Promise<number>;
20
- healthCheck(): Promise<HealthCheckResponse>;
21
- }
22
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/FaucetProvider/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK3E,oBAAY,8BAA8B;IACxC,OAAO,IAAA;IACP,SAAS,IAAA;IACT,QAAQ,IAAA;IACR,OAAO,IAAA;CACR;AAKD,qBAAa,mBAAmB;IAI9B,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC;IAK1B,MAAM,EAAE,8BAA8B,CAAC;IAKvC,IAAI,EAAE,MAAM,CAAC;IAMb,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAU9C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAWjH,YAAY,CACV,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAKhC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAKvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAKvB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAO9B,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC7C"}