@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.
- package/.env.example +4 -6
- package/CHANGELOG.md +9 -15
- package/README.md +2 -18
- package/dist/cjs/environment.d.ts +1 -1
- package/dist/cjs/environment.d.ts.map +1 -1
- package/dist/cjs/environment.js +1 -15
- package/dist/cjs/environment.js.map +1 -1
- package/dist/cjs/factories.d.ts +0 -2
- package/dist/cjs/factories.d.ts.map +1 -1
- package/dist/cjs/factories.js +6 -12
- package/dist/cjs/factories.js.map +1 -1
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/scripts/is-local-network-ready.js +5 -28
- package/dist/cjs/scripts/is-local-network-ready.js.map +1 -1
- package/dist/cjs/tools/multi-delegation-data-gen/index.js +13 -3
- package/dist/cjs/tools/multi-delegation-data-gen/index.js.map +1 -1
- package/dist/cjs/tools/multi-delegation-data-gen/utils/config.d.ts +1 -0
- package/dist/cjs/tools/multi-delegation-data-gen/utils/config.d.ts.map +1 -1
- package/dist/cjs/tools/multi-delegation-data-gen/utils/config.js +12 -0
- package/dist/cjs/tools/multi-delegation-data-gen/utils/config.js.map +1 -1
- package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.d.ts +2 -5
- package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.d.ts.map +1 -1
- package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.js +12 -49
- package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/util/util.d.ts +0 -1
- package/dist/cjs/util/util.d.ts.map +1 -1
- package/dist/cjs/util/util.js +2 -43
- package/dist/cjs/util/util.js.map +1 -1
- package/dist/esm/environment.d.ts +1 -1
- package/dist/esm/environment.d.ts.map +1 -1
- package/dist/esm/environment.js +1 -15
- package/dist/esm/environment.js.map +1 -1
- package/dist/esm/factories.d.ts +0 -2
- package/dist/esm/factories.d.ts.map +1 -1
- package/dist/esm/factories.js +6 -12
- package/dist/esm/factories.js.map +1 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/scripts/is-local-network-ready.js +5 -5
- package/dist/esm/scripts/is-local-network-ready.js.map +1 -1
- package/dist/esm/tools/multi-delegation-data-gen/index.js +14 -4
- package/dist/esm/tools/multi-delegation-data-gen/index.js.map +1 -1
- package/dist/esm/tools/multi-delegation-data-gen/utils/config.d.ts +1 -0
- package/dist/esm/tools/multi-delegation-data-gen/utils/config.d.ts.map +1 -1
- package/dist/esm/tools/multi-delegation-data-gen/utils/config.js +12 -0
- package/dist/esm/tools/multi-delegation-data-gen/utils/config.js.map +1 -1
- package/dist/esm/tools/multi-delegation-data-gen/utils/utils.d.ts +2 -5
- package/dist/esm/tools/multi-delegation-data-gen/utils/utils.d.ts.map +1 -1
- package/dist/esm/tools/multi-delegation-data-gen/utils/utils.js +11 -45
- package/dist/esm/tools/multi-delegation-data-gen/utils/utils.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/util/util.d.ts +0 -1
- package/dist/esm/util/util.d.ts.map +1 -1
- package/dist/esm/util/util.js +3 -20
- package/dist/esm/util/util.js.map +1 -1
- package/docker-compose.yml +3 -21
- package/local-network/scripts/mint-handles.sh +108 -6
- package/local-network/scripts/mint-tokens.sh +21 -2
- package/local-network/scripts/mnemonic_keys.sh +14 -0
- package/local-network/scripts/setup-wallets.sh +18 -0
- package/local-network/scripts/start.sh +1 -2
- package/package.json +22 -20
- package/src/environment.ts +1 -19
- package/src/factories.ts +5 -13
- package/src/index.ts +0 -1
- package/src/scripts/is-local-network-ready.ts +6 -8
- package/src/tools/multi-delegation-data-gen/example.json +1 -0
- package/src/tools/multi-delegation-data-gen/index.ts +18 -8
- package/src/tools/multi-delegation-data-gen/utils/config.ts +13 -0
- package/src/tools/multi-delegation-data-gen/utils/utils.ts +13 -110
- package/src/util/util.ts +2 -29
- package/test/k6/endpoints/asset/get-asset.test.js +15 -14
- package/test/k6/endpoints/asset/get-assets.test.js +269 -269
- package/test/k6/endpoints/chain-history/blocks/by-hashes.test.js +12 -11
- package/test/k6/endpoints/chain-history/txs/by-addresses.test.js +18 -15
- package/test/k6/endpoints/chain-history/txs/by-hashes.test.js +12 -11
- package/test/k6/endpoints/network-info/era-summaries.test.js +11 -10
- package/test/k6/endpoints/network-info/genesis-parameters.test.js +11 -10
- package/test/k6/endpoints/network-info/ledger-tip.test.js +11 -10
- package/test/k6/endpoints/network-info/lovelace-supply.test.js +11 -10
- package/test/k6/endpoints/network-info/protocol-parameters.test.js +11 -10
- package/test/k6/endpoints/network-info/stake.test.js +11 -10
- package/test/k6/endpoints/rewards/account-balance.test.js +12 -11
- package/test/k6/endpoints/stake-pool/stats.test.js +11 -10
- package/test/k6/endpoints/utxo/utxo-by-addresses.test.js +16 -11
- package/test/k6/scenarios/tx-submission.test.js +47 -46
- package/test/k6/scenarios/wallet-creation.test.js +127 -120
- package/test/k6/scenarios/wallet-restoration.test.js +264 -126
- package/test/long-running/cache-invalidation.test.ts +64 -13
- package/test/providers/HandleProvider.test.ts +39 -0
- package/test/wallet/PersonalWallet/handle.test.ts +38 -16
- package/test/web-extension/webpack.config.base.js +0 -4
- package/dist/cjs/FaucetProvider/index.d.ts +0 -3
- package/dist/cjs/FaucetProvider/index.d.ts.map +0 -1
- package/dist/cjs/FaucetProvider/index.js +0 -19
- package/dist/cjs/FaucetProvider/index.js.map +0 -1
- package/dist/cjs/FaucetProvider/providers/cardanoWalletFaucetProvider.d.ts +0 -15
- package/dist/cjs/FaucetProvider/providers/cardanoWalletFaucetProvider.d.ts.map +0 -1
- package/dist/cjs/FaucetProvider/providers/cardanoWalletFaucetProvider.js +0 -148
- package/dist/cjs/FaucetProvider/providers/cardanoWalletFaucetProvider.js.map +0 -1
- package/dist/cjs/FaucetProvider/types.d.ts +0 -22
- package/dist/cjs/FaucetProvider/types.d.ts.map +0 -1
- package/dist/cjs/FaucetProvider/types.js +0 -14
- package/dist/cjs/FaucetProvider/types.js.map +0 -1
- package/dist/esm/FaucetProvider/index.d.ts +0 -3
- package/dist/esm/FaucetProvider/index.d.ts.map +0 -1
- package/dist/esm/FaucetProvider/index.js +0 -3
- package/dist/esm/FaucetProvider/index.js.map +0 -1
- package/dist/esm/FaucetProvider/providers/cardanoWalletFaucetProvider.d.ts +0 -15
- package/dist/esm/FaucetProvider/providers/cardanoWalletFaucetProvider.d.ts.map +0 -1
- package/dist/esm/FaucetProvider/providers/cardanoWalletFaucetProvider.js +0 -141
- package/dist/esm/FaucetProvider/providers/cardanoWalletFaucetProvider.js.map +0 -1
- package/dist/esm/FaucetProvider/types.d.ts +0 -22
- package/dist/esm/FaucetProvider/types.d.ts.map +0 -1
- package/dist/esm/FaucetProvider/types.js +0 -10
- package/dist/esm/FaucetProvider/types.js.map +0 -1
- package/local-network/faucet/README.md +0 -12
- package/local-network/faucet/faucet-addresses.json +0 -45
- package/local-network/faucet/faucet-mnemonic.json +0 -6
- package/local-network/faucet/faucet-send-funds.json +0 -23
- package/local-network/scripts/is-faucet-ready.sh +0 -29
- package/src/FaucetProvider/index.ts +0 -2
- package/src/FaucetProvider/providers/cardanoWalletFaucetProvider.ts +0 -233
- 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:
|
|
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 = ['
|
|
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:
|
|
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
|
-
|
|
93
|
-
|
|
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 = [
|
|
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,
|
|
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, [
|
|
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, [
|
|
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, [
|
|
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);
|
|
@@ -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 +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 +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"}
|