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

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 +8 -18
  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
@@ -17,7 +17,6 @@ export declare type RequestCoinsProps = {
17
17
  wallet: ObservableWallet;
18
18
  coins: Cardano.Lovelace;
19
19
  };
20
- export declare const requestCoins: ({ coins, wallet }: RequestCoinsProps) => Promise<void>;
21
20
  export declare type TransferCoinsProps = {
22
21
  fromWallet: ObservableWallet;
23
22
  toWallet: ObservableWallet;
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util/util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAuB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAEL,UAAU,EAaX,MAAM,MAAM,CAAC;AAEd,OAAO,EAAmB,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAElF,OAAO,EAAE,UAAU,EAAqD,MAAM,cAAc,CAAC;AAO7F,eAAO,MAAM,mBAAmB,+FAU7B,CAAC;AAEJ,eAAO,MAAM,wBAAwB,WAAY,gBAAgB,gBAAe,MAAM,qBAKnF,CAAC;AAEJ,eAAO,MAAM,wBAAwB,YAC1B,QAAQ,cAAc,OAC1B,MAAM,UACH,MAAM,WAEuE,CAAC;AAExF,eAAO,MAAM,WAAW,WACd,gBAAgB,oDAGvB,QAAQ,CAAC,OAAO,EAAE,QAAQ,KAAK,CAAC,CAgBlC,CAAC;AAKF,eAAO,MAAM,eAAe,SAAU,QAAQ,cAAc,GAAG,QAAQ,MAAM,4CAO5E,CAAC;AAEF,eAAO,MAAM,WAAW,gEAOnB,gBAAgB,UACX,KAAK,QAAQ,EAAE,EAAE,IAAI,CAAC,2DA2B7B,CAAC;AAIJ,eAAO,MAAM,gBAAgB,WAAY,gBAAgB,MAAM,QAAQ,EAAE;;uBACjB,CAAC;AAEzD,oBAAY,iBAAiB,GAAG;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,YAAY,sBAA6B,iBAAiB,kBAoBtE,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,aAAa,oCAA2C,kBAAkB,kBActF,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,KAAK,gBAAgB,EAAE,eAAe,CAAC,kBAAkB,MAAM;;EAUnG,CAAC;AAEF,eAAO,MAAM,0BAA0B,wBAetC,CAAC;AASF,eAAO,MAAM,sBAAsB,WAAkB,cAAc,MAAM,QAAQ,EAAE,CAAC,QAAQ,MAAM,CAAC,6BAMlG,CAAC;AAQF,eAAO,MAAM,iBAAiB,gBAAuB,QAAQ,WAAW,UAAU,UAAU,wCAa3F,CAAC;AAWF,eAAO,MAAM,wBAAwB,cACxB,MAAM,EAAE,WACV,QAAQ,cAAc,gBACjB,OAAO,YAAY,8BAShC,CAAC;AAQJ,eAAO,MAAM,UAAU;YAMb,cAAc;;aAEb,QAAQ,MAAM,EAAE;mBACV,iBAAiB,EAAE;mBA0BnC,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util/util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAuB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAEL,UAAU,EAYX,MAAM,MAAM,CAAC;AAEd,OAAO,EAAmB,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAElF,OAAO,EAAE,UAAU,EAA8B,MAAM,cAAc,CAAC;AAOtE,eAAO,MAAM,mBAAmB,+FAO7B,CAAC;AAEJ,eAAO,MAAM,wBAAwB,WAAY,gBAAgB,gBAAe,MAAM,qBAKnF,CAAC;AAEJ,eAAO,MAAM,wBAAwB,YAC1B,QAAQ,cAAc,OAC1B,MAAM,UACH,MAAM,WAEuE,CAAC;AAExF,eAAO,MAAM,WAAW,WACd,gBAAgB,oDAGvB,QAAQ,CAAC,OAAO,EAAE,QAAQ,KAAK,CAAC,CAgBlC,CAAC;AAKF,eAAO,MAAM,eAAe,SAAU,QAAQ,cAAc,GAAG,QAAQ,MAAM,4CAO5E,CAAC;AAEF,eAAO,MAAM,WAAW,gEAOnB,gBAAgB,UACX,KAAK,QAAQ,EAAE,EAAE,IAAI,CAAC,2DA2B7B,CAAC;AAIJ,eAAO,MAAM,gBAAgB,WAAY,gBAAgB,MAAM,QAAQ,EAAE;;uBACjB,CAAC;AAEzD,oBAAY,iBAAiB,GAAG;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;CACzB,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,aAAa,oCAA2C,kBAAkB,kBActF,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,KAAK,gBAAgB,EAAE,eAAe,CAAC,kBAAkB,MAAM;;EAUnG,CAAC;AAEF,eAAO,MAAM,0BAA0B,wBAetC,CAAC;AASF,eAAO,MAAM,sBAAsB,WAAkB,cAAc,MAAM,QAAQ,EAAE,CAAC,QAAQ,MAAM,CAAC,6BAMlG,CAAC;AAQF,eAAO,MAAM,iBAAiB,gBAAuB,QAAQ,WAAW,UAAU,UAAU,wCAa3F,CAAC;AAWF,eAAO,MAAM,wBAAwB,cACxB,MAAM,EAAE,WACV,QAAQ,cAAc,gBACjB,OAAO,YAAY,8BAShC,CAAC;AAQJ,eAAO,MAAM,UAAU;YAMb,cAAc;;aAEb,QAAQ,MAAM,EAAE;mBACV,iBAAiB,EAAE;mBA0BnC,CAAC"}
@@ -1,14 +1,13 @@
1
- import * as envalid from 'envalid';
2
1
  import { Cardano, createSlotEpochCalc } from '@cardano-sdk/core';
3
- import { EMPTY, catchError, combineLatest, distinctUntilChanged, filter, firstValueFrom, map, merge, mergeMap, switchMap, tap, throwError, timeout } from 'rxjs';
2
+ import { EMPTY, combineLatest, distinctUntilChanged, filter, firstValueFrom, map, merge, mergeMap, switchMap, tap, throwError, timeout } from 'rxjs';
4
3
  import { FAST_OPERATION_TIMEOUT_DEFAULT, SYNC_TIMEOUT_DEFAULT } from '../defaults';
5
4
  import { InMemoryKeyAgent } from '@cardano-sdk/key-management';
6
- import { faucetProviderFactory, networkInfoProviderFactory } from '../factories';
5
+ import { networkInfoProviderFactory } from '../factories';
7
6
  import { getEnv, walletVariables } from '../environment';
8
7
  import { logger } from '@cardano-sdk/util-dev';
9
8
  import sortBy from 'lodash/sortBy';
10
9
  const env = getEnv(walletVariables);
11
- export const firstValueFromTimed = (observable$, timeoutMessage = 'Timed out', timeoutAfter = FAST_OPERATION_TIMEOUT_DEFAULT) => firstValueFrom(observable$.pipe(timeout(timeoutAfter), catchError(() => throwError(() => new Error(timeoutMessage)))));
10
+ export const firstValueFromTimed = (observable$, timeoutMessage = 'Timed out', timeoutAfter = FAST_OPERATION_TIMEOUT_DEFAULT) => firstValueFrom(observable$.pipe(timeout({ each: timeoutAfter, with: () => throwError(() => new Error(timeoutMessage)) })));
12
11
  export const waitForWalletStateSettle = (wallet, syncTimeout = SYNC_TIMEOUT_DEFAULT) => firstValueFromTimed(wallet.syncStatus.isSettled$.pipe(filter((isSettled) => isSettled)), 'Took too long to settle', syncTimeout);
13
12
  export const insufficientFundsMessage = (address, min, actual) => `Insufficient funds at ${address}. Expected ${min}, found ${actual} lovelace.
14
13
  Please use a faucet to fund the address or another address with sufficient funds`;
@@ -41,22 +40,6 @@ export const txConfirmed = ({ tip$, transactions: { history$, outgoing: { failed
41
40
  const submit = (wallet, tx) => wallet.submitTx(tx);
42
41
  const confirm = (wallet, tx) => txConfirmed(wallet, tx);
43
42
  export const submitAndConfirm = (wallet, tx) => Promise.all([submit(wallet, tx), confirm(wallet, tx)]);
44
- export const requestCoins = async ({ coins, wallet }) => {
45
- const [{ address }] = await firstValueFrom(wallet.addresses$);
46
- logger.info(`Address ${address} will be funded with ${coins} tLovelace.`);
47
- const { FAUCET_PROVIDER, FAUCET_PROVIDER_PARAMS } = envalid.cleanEnv(process.env, {
48
- FAUCET_PROVIDER: envalid.str(),
49
- FAUCET_PROVIDER_PARAMS: envalid.json({ default: {} })
50
- });
51
- const faucetProvider = await faucetProviderFactory.create(FAUCET_PROVIDER, FAUCET_PROVIDER_PARAMS, logger);
52
- await faucetProvider.start();
53
- const healthCheck = await faucetProvider.healthCheck();
54
- if (!healthCheck.ok)
55
- throw new Error('Faucet provider could not be started.');
56
- const requestResult = await faucetProvider.request(address, Number.parseInt(coins.toString()), 3, 30000);
57
- await txConfirmed(wallet, requestResult);
58
- await faucetProvider.close();
59
- };
60
43
  export const transferCoins = async ({ fromWallet, toWallet, coins }) => {
61
44
  const [{ address: sendingAddress }] = await firstValueFrom(fromWallet.addresses$);
62
45
  const [{ address: receivingAddress }] = await firstValueFrom(toWallet.addresses$);
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/util/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/util/util.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ services:
40
40
  timeout: 10s
41
41
 
42
42
  cardano-node-ogmios:
43
- entrypoint: [ "/tini", "-g", "--", "/scripts/cardano-node-ogmios.sh" ]
43
+ entrypoint: ['/tini', '-g', '--', '/scripts/cardano-node-ogmios.sh']
44
44
  image: cardanosolutions/cardano-node-ogmios:v${OGMIOS_VERSION:-5.6.0}_${CARDANO_NODE_VERSION:-1.35.5}
45
45
  depends_on:
46
46
  local-testnet:
@@ -57,25 +57,6 @@ services:
57
57
  volumes:
58
58
  - ./local-network/config/network:/config
59
59
 
60
- cardano-wallet:
61
- <<: *logging
62
- image: inputoutput/cardano-wallet:2022.8.16
63
- volumes:
64
- - wallet-db:/wallet-db
65
- - node-ipc:/ipc
66
- - ./local-network/config:/config
67
- ports:
68
- - 8090:8090
69
- entrypoint: []
70
- command: bash -c "sleep 10 && ([[ $$NETWORK == \"mainnet\" ]] && $$CMD --mainnet) || ($$CMD --testnet /config/network/genesis/byron.json)"
71
- environment:
72
- CMD: 'cardano-wallet serve --node-socket /ipc/node.socket --database /wallet-db --listen-address 0.0.0.0'
73
- NETWORK:
74
- depends_on:
75
- cardano-db-sync:
76
- condition: service_healthy
77
- restart: on-failure
78
-
79
60
  handle-projector:
80
61
  environment:
81
62
  HANDLE_POLICY_IDS_FILE: /sdk-ipc/handle_policy_ids
@@ -84,9 +65,11 @@ services:
84
65
 
85
66
  provider-server:
86
67
  environment:
68
+ HANDLE_POLICY_IDS_FILE: /sdk-ipc/handle_policy_ids
87
69
  TOKEN_METADATA_SERVER_URL: stub://
88
70
  volumes:
89
71
  - ./local-network/config/network:/config
72
+ - sdk-ipc:/sdk-ipc
90
73
 
91
74
  volumes:
92
75
  sdk-ipc:
@@ -95,4 +78,3 @@ volumes:
95
78
  device: ./local-network/sdk-ipc
96
79
  o: bind
97
80
  type: none
98
- wallet-db:
@@ -3,9 +3,30 @@
3
3
  handleNames=("HelloHandle" "TestHandle" "DoubleHandle")
4
4
  handleHexes=("48656c6c6f48616e646c65" "5465737448616e646c65" "446f75626c6548616e646c65")
5
5
 
6
+ # addr, payment.skey and payment.vkey are generated from mnemonic
7
+ # vacant violin soft weird deliver render brief always monitor general maid smart jelly core drastic erode echo there clump dizzy card filter option defense
8
+ # addr funded in setup-wallets.sh
9
+ # to update keys for new mnemonic use mnemonic_keys.sh
10
+ addr="addr_test1qpw0djgj0x59ngrjvqthn7enhvruxnsavsw5th63la3mjel3tkc974sr23jmlzgq5zda4gtv8k9cy38756r9y3qgmkqqjz6aa7"
11
+ cat >network-files/utxo-keys/payment.skey <<EOL
12
+ {
13
+ "type": "PaymentExtendedSigningKeyShelley_ed25519_bip32",
14
+ "description": "",
15
+ "cborHex": "5880101c0d1805fb4c54f3a9f2859de2f9665c66fdef51236d86c333469f127582500046245356898f5d18eb3999670b9d2ee7fe83d21127317bb2f59d64aafcf515368cf6a11ac7e29917568a366af62a596cb9cde8174bfe7f6e88393ecdb1dcc621141aa9593f01bd18d4694541b40a6442d81845f458c0002fb2f12c3d205cf2"
16
+ }
17
+ EOL
18
+
19
+ cat >network-files/utxo-keys/payment.vkey <<EOL
20
+ {
21
+ "type": "PaymentVerificationKeyShelley_ed25519",
22
+ "description": "",
23
+ "cborHex": "5820368cf6a11ac7e29917568a366af62a596cb9cde8174bfe7f6e88393ecdb1dcc6"
24
+ }
25
+ EOL
26
+
6
27
  cat >network-files/utxo-keys/minting-policy.json <<EOL
7
28
  {
8
- "keyHash": "$(cardano-cli address key-hash --payment-verification-key-file network-files/utxo-keys/utxo1.vkey)",
29
+ "keyHash": "$(cardano-cli address key-hash --payment-verification-key-file network-files/utxo-keys/payment.vkey)",
9
30
  "type": "sig"
10
31
  }
11
32
  EOL
@@ -25,10 +46,26 @@ cat >network-files/utxo-keys/handles-metadata.json <<EOL
25
46
  }}
26
47
  EOL
27
48
 
28
- echo $policyid > /sdk-ipc/handle_policy_ids
49
+ wait_tx_complete() {
50
+ utxo_to_check="$1"
51
+ timeout=0
52
+ max_timeout=10
53
+ while [ $timeout -lt $max_timeout ]; do
54
+ output=$(cardano-cli query utxo --tx-in "${utxo_to_check}" --testnet-magic 888)
55
+ line_count=$(echo "$output" | awk 'END {print NR}')
56
+ if [ $line_count -eq 2 ]; then
57
+ echo "Transaction completed"
58
+ return 0
59
+ fi
60
+ timeout=$((timeout + 1))
61
+ sleep 1
62
+ done
63
+ echo "Timeout: Transaction not completed in 10 sec."
64
+ return 1
65
+ }
29
66
 
30
- addr=$(cardano-cli address build --payment-verification-key-file network-files/utxo-keys/utxo1.vkey --testnet-magic 888)
31
- faucetAddr="addr_test1qqen0wpmhg7fhkus45lyv4wju26cecgu6avplrnm6dgvuk6qel5hu3u3q0fht53ly97yx95hkt56j37ch07pesf6s4pqh5gd4e"
67
+ echo $policyid > /sdk-ipc/handle_policy_ids
68
+ destAddr="addr_test1qr0c3frkem9cqn5f73dnvqpena27k2fgqew6wct9eaka03agfwkvzr0zyq7nqvcj24zehrshx63zzdxv24x3a4tcnfeq9zwmn7"
32
69
  utxo=$(cardano-cli query utxo --address "$addr" --testnet-magic 888 | awk 'NR == 3 {printf("%s#%s", $1, $2)}')
33
70
 
34
71
  tokenList="1 ${policyid}.${handleHexes[0]}+1 ${policyid}.${handleHexes[1]}+2 ${policyid}.${handleHexes[2]}"
@@ -37,7 +74,7 @@ cardano-cli transaction build \
37
74
  --babbage-era \
38
75
  --change-address "$addr" \
39
76
  --tx-in "$utxo" \
40
- --tx-out "$faucetAddr"+10000000+"$tokenList" \
77
+ --tx-out "$destAddr"+10000000+"$tokenList" \
41
78
  --mint "$tokenList" \
42
79
  --mint-script-file network-files/utxo-keys/minting-policy.json \
43
80
  --metadata-json-file network-files/utxo-keys/handles-metadata.json \
@@ -46,8 +83,73 @@ cardano-cli transaction build \
46
83
 
47
84
  cardano-cli transaction sign \
48
85
  --tx-body-file handle-tx.raw \
49
- --signing-key-file network-files/utxo-keys/utxo1.skey \
86
+ --signing-key-file network-files/utxo-keys/payment.skey \
50
87
  --testnet-magic 888 \
51
88
  --out-file handle-tx.signed
52
89
 
53
90
  cardano-cli transaction submit --testnet-magic 888 --tx-file handle-tx.signed
91
+ wait_tx_complete $utxo
92
+
93
+ # CIP-68 Handle
94
+ utxo=$(cardano-cli query utxo --address "$addr" --testnet-magic 888 | awk 'NR == 3 {printf("%s#%s", $1, $2)}')
95
+ # {"constructor": 0,
96
+ # "fields": [
97
+ # {"map": [
98
+ # {"k": {"bytes": "core"}, "v": {"map": [
99
+ # {"k": {"bytes": "og"}, "v": {"int": 0}},
100
+ # {"k": {"bytes": "prefix"}, "v": {"bytes": "24"}},
101
+ # {"k": {"bytes": "version"}, "v": {"int": 0}},
102
+ # {"k": {"bytes": "termsofuse"}, "v": {"bytes": "https://cardanofoundation.org/en/terms-and-conditions/"}},
103
+ # {"k": {"bytes": "handleEncoding"}, "v": {"bytes": "utf-8"}}
104
+ # ]}},
105
+ # {"k": {"bytes": "name"}, "v": {"bytes": "(100)handle68"}},
106
+ # {"k": {"bytes": "image"}, "v": {"bytes": "ipfs://some-hash"}},
107
+ # {"k": {"bytes": "website"}, "v": {"bytes": "https://cardano.org/"}},
108
+ # {"k": {"bytes": "description"}, "v": {"bytes": "The Handle Standard"}},
109
+ # {"k": {"bytes": "augmentations"}, "v": {"list": []}}]
110
+ # },
111
+ # {"int": 1},
112
+ # {"map": []}
113
+ # ]}
114
+ cat >network-files/utxo-keys/handles68-datum.json <<EOL
115
+ {"constructor": 0,
116
+ "fields": [
117
+ {"map": [
118
+ {"k": {"bytes": "636f7265"}, "v": {"map": [
119
+ {"k": {"bytes": "6f67"}, "v": {"int": 0}},
120
+ {"k": {"bytes": "707265666978"}, "v": {"bytes": "24"}},
121
+ {"k": {"bytes": "76657273696f6e"}, "v": {"int": 0}},
122
+ {"k": {"bytes": "7465726d736f66757365"}, "v": {"bytes": "68747470733a2f2f63617264616e6f666f756e646174696f6e2e6f72672f656e2f7465726d732d616e642d636f6e646974696f6e732f"}},
123
+ {"k": {"bytes": "68616e646c65456e636f64696e67"}, "v": {"bytes": "7574662d38"}}
124
+ ]}},
125
+ {"k": {"bytes": "6e616d65"}, "v": {"bytes": "283130302968616e646c653638"}},
126
+ {"k": {"bytes": "696d616765"}, "v": {"bytes": "697066733a2f2f736f6d652d68617368"}},
127
+ {"k": {"bytes": "77656273697465"}, "v": {"bytes": "68747470733a2f2f63617264616e6f2e6f72672f"}},
128
+ {"k": {"bytes": "6465736372697074696f6e"}, "v": {"bytes": "5468652048616e646c65205374616e64617264"}},
129
+ {"k": {"bytes": "6175676d656e746174696f6e73"}, "v": {"list": []}}]
130
+ },
131
+ {"int": 1},
132
+ {"map": []}
133
+ ]}
134
+ EOL
135
+ # (222)handle68 -> 283232322968616e646c653638
136
+ handle68tokenList="1 ${policyid}.283232322968616e646c653638"
137
+ cardano-cli transaction build \
138
+ --babbage-era \
139
+ --change-address "$addr" \
140
+ --tx-in "$utxo" \
141
+ --tx-out "$destAddr"+10000000+"$handle68tokenList" \
142
+ --mint "$handle68tokenList" \
143
+ --mint-script-file network-files/utxo-keys/minting-policy.json \
144
+ --tx-out-inline-datum-file network-files/utxo-keys/handles68-datum.json \
145
+ --testnet-magic 888 \
146
+ --out-file handle68-tx.raw
147
+
148
+ cardano-cli transaction sign \
149
+ --tx-body-file handle68-tx.raw \
150
+ --signing-key-file network-files/utxo-keys/payment.skey \
151
+ --testnet-magic 888 \
152
+ --out-file handle68-tx.signed
153
+
154
+ cardano-cli transaction submit --testnet-magic 888 --tx-file handle68-tx.signed
155
+ wait_tx_complete $utxo
@@ -23,6 +23,24 @@ while [ ! -S "$CARDANO_NODE_SOCKET_PATH" ]; do
23
23
  sleep 2
24
24
  done
25
25
 
26
+ wait_tx_complete() {
27
+ utxo_to_check="$1"
28
+ timeout=0
29
+ max_timeout=10
30
+ while [ $timeout -lt $max_timeout ]; do
31
+ output=$(cardano-cli query utxo --tx-in "${utxo_to_check}" --testnet-magic 888)
32
+ line_count=$(echo "$output" | awk 'END {print NR}')
33
+ if [ $line_count -eq 2 ]; then
34
+ echo "Transaction completed"
35
+ return 0
36
+ fi
37
+ timeout=$((timeout + 1))
38
+ sleep 1
39
+ done
40
+ echo "Timeout: Transaction not completed in 10 sec."
41
+ return 1
42
+ }
43
+
26
44
  echo "Create Mary-era minting policy"
27
45
  cat >network-files/utxo-keys/minting-policy.json <<EOL
28
46
  {
@@ -33,7 +51,7 @@ EOL
33
51
 
34
52
  currencySymbol=$(cardano-cli transaction policyid --script-file network-files/utxo-keys/minting-policy.json)
35
53
  addr=$(cardano-cli address build --payment-verification-key-file network-files/utxo-keys/utxo1.vkey --testnet-magic 888)
36
- faucetAddr="addr_test1qqen0wpmhg7fhkus45lyv4wju26cecgu6avplrnm6dgvuk6qel5hu3u3q0fht53ly97yx95hkt56j37ch07pesf6s4pqh5gd4e"
54
+ destAddr="addr_test1qr0c3frkem9cqn5f73dnvqpena27k2fgqew6wct9eaka03agfwkvzr0zyq7nqvcj24zehrshx63zzdxv24x3a4tcnfeq9zwmn7"
37
55
 
38
56
  # Spend the first UTxO
39
57
  utxo=$(cardano-cli query utxo --address "$addr" --testnet-magic 888 | awk 'NR == 3 {printf("%s#%s", $1, $2)}')
@@ -49,7 +67,7 @@ cardano-cli transaction build \
49
67
  --babbage-era \
50
68
  --change-address "$addr" \
51
69
  --tx-in "$utxo" \
52
- --tx-out "$faucetAddr"+10000000+"$tokenList" \
70
+ --tx-out "$destAddr"+10000000+"$tokenList" \
53
71
  --mint "$tokenList" \
54
72
  --mint-script-file network-files/utxo-keys/minting-policy.json \
55
73
  --testnet-magic 888 \
@@ -62,3 +80,4 @@ cardano-cli transaction sign \
62
80
  --out-file tx.signed
63
81
 
64
82
  cardano-cli transaction submit --testnet-magic 888 --tx-file tx.signed
83
+ wait_tx_complete $utxo
@@ -0,0 +1,14 @@
1
+ #!/bin/bash
2
+ # Generating pair of keys for provided mnemonic
3
+
4
+ echo "vacant violin soft weird deliver render brief always monitor general maid smart jelly core drastic erode echo there clump dizzy card filter option defense" > phrase.prv
5
+ cat phrase.prv | cardano-address key from-recovery-phrase Shelley > rootkey.prv
6
+ cat rootkey.prv | cardano-address key child 1852H/1815H/0H/0/0 > addr.prv
7
+ cat rootkey.prv | cardano-address key child 1852H/1815H/0H/2/0 > stake.prv
8
+ cat stake.prv | cardano-address key public --with-chain-code > stake.pub
9
+ cat addr.prv | cardano-address key public --with-chain-code | cardano-address address payment --network-tag testnet > payment.addr
10
+ cat payment.addr | cardano-address address delegation "$(cat stake.pub)" > base.addr
11
+ cardano-cli key convert-cardano-address-key --signing-key-file addr.prv --shelley-payment-key --out-file payment.skey
12
+ cardano-cli key verification-key --signing-key-file payment.skey --verification-key-file Ext_ShelleyPayment.vkey
13
+ cardano-cli key non-extended-key --extended-verification-key-file Ext_ShelleyPayment.vkey --verification-key-file payment.vkey
14
+ rm phrase.prv rootkey.prv addr.prv stake.prv stake.pub payment.addr Ext_ShelleyPayment.vkey
@@ -23,6 +23,23 @@ while [ ! -S "$CARDANO_NODE_SOCKET_PATH" ]; do
23
23
  sleep 2
24
24
  done
25
25
 
26
+ wait_tx_complete() {
27
+ utxo_to_check="$1"
28
+ timeout=0
29
+ max_timeout=10
30
+ while [ $timeout -lt $max_timeout ]; do
31
+ output=$(cardano-cli query utxo --tx-in "${utxo_to_check}" --testnet-magic 888)
32
+ line_count=$(echo "$output" | awk 'END {print NR}')
33
+ if [ $line_count -eq 2 ]; then
34
+ echo "Transaction completed"
35
+ return 0
36
+ fi
37
+ timeout=$((timeout + 1))
38
+ sleep 1
39
+ done
40
+ echo "Timeout: Transaction not completed in 10 sec."
41
+ return 1
42
+ }
26
43
  genesisAddr=$(cardano-cli address build --payment-verification-key-file network-files/utxo-keys/utxo3.vkey --testnet-magic 888)
27
44
 
28
45
  walletAddr1="addr_test1qpw0djgj0x59ngrjvqthn7enhvruxnsavsw5th63la3mjel3tkc974sr23jmlzgq5zda4gtv8k9cy38756r9y3qgmkqqjz6aa7"
@@ -53,3 +70,4 @@ cardano-cli transaction sign \
53
70
  --out-file wallets-tx.signed
54
71
 
55
72
  cardano-cli transaction submit --testnet-magic 888 --tx-file wallets-tx.signed
73
+ wait_tx_complete $utxo
@@ -32,8 +32,7 @@ done
32
32
  CARDANO_NODE_SOCKET_PATH=$PWD/network-files/node-sp1/node.sock ./scripts/plutus-transaction.sh
33
33
  CARDANO_NODE_SOCKET_PATH=$PWD/network-files/node-sp1/node.sock ./scripts/reference-input-transaction.sh
34
34
  CARDANO_NODE_SOCKET_PATH=$PWD/network-files/node-sp1/node.sock ./scripts/mint-tokens.sh
35
- sleep 10
36
- CARDANO_NODE_SOCKET_PATH=$PWD/network-files/node-sp1/node.sock ./scripts/mint-handles.sh
37
35
  CARDANO_NODE_SOCKET_PATH=$PWD/network-files/node-sp1/node.sock ./scripts/setup-wallets.sh
36
+ CARDANO_NODE_SOCKET_PATH=$PWD/network-files/node-sp1/node.sock ./scripts/mint-handles.sh
38
37
 
39
38
  wait
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/e2e",
3
- "version": "0.16.6-patch.3",
3
+ "version": "0.16.6",
4
4
  "description": "End to end tests for the cardano-js-sdk packages.",
5
5
  "engines": {
6
6
  "node": ">=16.0"
@@ -81,22 +81,22 @@
81
81
  "dependencies": {
82
82
  "@cardano-foundation/ledgerjs-hw-app-cardano": "^6.0.0",
83
83
  "@cardano-ogmios/client": "5.6.0",
84
- "@cardano-sdk/cardano-services": "0.14.3-patch.0",
85
- "@cardano-sdk/cardano-services-client": "0.10.3-patch.0",
86
- "@cardano-sdk/core": "0.15.3-patch.0",
87
- "@cardano-sdk/crypto": "0.1.9-patch.0",
88
- "@cardano-sdk/hardware-ledger": "0.2.15-patch.3",
89
- "@cardano-sdk/key-management": "0.7.12-patch.3",
90
- "@cardano-sdk/ogmios": "0.12.9-patch.0",
91
- "@cardano-sdk/tx-construction": "0.8.7-patch.3",
92
- "@cardano-sdk/util": "0.12.1",
93
- "@cardano-sdk/util-dev": "0.13.7-patch.0",
94
- "@cardano-sdk/util-rxjs": "0.5.3-patch.0",
95
- "@cardano-sdk/wallet": "0.17.6-patch.3",
84
+ "@cardano-sdk/cardano-services": "~0.14.5",
85
+ "@cardano-sdk/cardano-services-client": "~0.10.5",
86
+ "@cardano-sdk/core": "~0.15.3",
87
+ "@cardano-sdk/crypto": "~0.1.9",
88
+ "@cardano-sdk/hardware-ledger": "~0.2.15",
89
+ "@cardano-sdk/input-selection": "~0.11.2",
90
+ "@cardano-sdk/key-management": "~0.8.1",
91
+ "@cardano-sdk/ogmios": "~0.12.11",
92
+ "@cardano-sdk/tx-construction": "~0.9.2",
93
+ "@cardano-sdk/util": "~0.13.0",
94
+ "@cardano-sdk/util-dev": "~0.13.8",
95
+ "@cardano-sdk/util-rxjs": "~0.5.4",
96
+ "@cardano-sdk/wallet": "~0.18.2",
96
97
  "@vespaiach/axios-fetch-adapter": "^0.3.0",
97
98
  "axios": "^0.27.2",
98
99
  "bunyan": "^1.8.15",
99
- "cardano-wallet-js": "^1.4.0",
100
100
  "chalk": "4.1.2",
101
101
  "cli-spinners": "^2.9.0",
102
102
  "convict": "^6.2.4",
@@ -122,10 +122,10 @@
122
122
  "@babel/core": "^7.18.2",
123
123
  "@babel/preset-env": "^7.18.2",
124
124
  "@babel/preset-typescript": "^7.17.12",
125
- "@cardano-sdk/dapp-connector": "0.9.10-patch.0",
126
- "@cardano-sdk/projection": "0.6.13-patch.0",
127
- "@cardano-sdk/projection-typeorm": "0.3.9-patch.0",
128
- "@cardano-sdk/web-extension": "0.13.7-patch.3",
125
+ "@cardano-sdk/dapp-connector": "~0.9.10",
126
+ "@cardano-sdk/projection": "~0.6.15",
127
+ "@cardano-sdk/projection-typeorm": "~0.3.11",
128
+ "@cardano-sdk/web-extension": "~0.13.7",
129
129
  "@dcspark/cardano-multiplatform-lib-browser": "^3.1.1",
130
130
  "@emurgo/cardano-message-signing-asmjs": "^1.0.1",
131
131
  "@types/bunyan": "^1.8.8",
@@ -147,8 +147,10 @@
147
147
  "babel-loader": "^8.2.5",
148
148
  "blake2b-no-wasm": "2.1.4",
149
149
  "buffer": "^6.0.3",
150
- "chromedriver": "^114.0.0",
150
+ "chromedriver": "114.0.1",
151
151
  "copy-webpack-plugin": "^10.2.4",
152
+ "dockerode": "^3.3.1",
153
+ "dockerode-utils": "^0.0.7",
152
154
  "eslint": "^7.32.0",
153
155
  "events": "^3.3.0",
154
156
  "expect-webdriverio": "^3.2.1",
@@ -174,5 +176,5 @@
174
176
  "webpack-cli": "^4.9.2",
175
177
  "webpack-merge": "^5.8.0"
176
178
  },
177
- "gitHead": "41a4fe193b38eb815c8dc788fd28b97b2079f4b8"
179
+ "gitHead": "45678f5d27cd04acff4fc80e9810f38a9df38691"
178
180
  }
@@ -75,24 +75,6 @@ const providerParams = makeValidator((value) => {
75
75
  return validated;
76
76
  });
77
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
-
96
78
  /**
97
79
  * Shared across all tests
98
80
  */
@@ -105,7 +87,7 @@ const validators = {
105
87
  CHAIN_HISTORY_PROVIDER_PARAMS: providerParams(),
106
88
  DB_SYNC_CONNECTION_STRING: str({ default: undefined }),
107
89
  HANDLE_PROVIDER: str(),
108
- HANDLE_PROVIDER_PARAMS: handleProviderParams(),
90
+ HANDLE_PROVIDER_PARAMS: providerParams(),
109
91
  KEY_MANAGEMENT_PARAMS: keyManagementParams(),
110
92
  KEY_MANAGEMENT_PROVIDER: str(),
111
93
  LOGGER_MIN_SEVERITY: str({ default: 'info' }),
package/src/factories.ts CHANGED
@@ -33,11 +33,11 @@ import {
33
33
  TrezorKeyAgent,
34
34
  util
35
35
  } from '@cardano-sdk/key-management';
36
- import { CardanoWalletFaucetProvider, FaucetProvider } from './FaucetProvider';
37
36
  import {
38
37
  KoraLabsHandleProvider,
39
38
  assetInfoHttpProvider,
40
39
  chainHistoryHttpProvider,
40
+ handleHttpProvider,
41
41
  networkInfoHttpProvider,
42
42
  rewardsHttpProvider,
43
43
  stakePoolHttpProvider,
@@ -61,10 +61,8 @@ const customHttpFetchAdapter = isNodeJs ? undefined : require('@vespaiach/axios-
61
61
  const HTTP_PROVIDER = 'http';
62
62
  const OGMIOS_PROVIDER = 'ogmios';
63
63
  const STUB_PROVIDER = 'stub';
64
- const HANDLE_PROVIDER = 'kora-labs';
65
64
  const MISSING_URL_PARAM = 'Missing URL';
66
65
 
67
- export const faucetProviderFactory = new ProviderFactory<FaucetProvider>();
68
66
  export type CreateKeyAgent = (dependencies: KeyAgentDependencies) => Promise<AsyncKeyAgent>;
69
67
  export const keyManagementFactory = new ProviderFactory<CreateKeyAgent>();
70
68
  export const assetProviderFactory = new ProviderFactory<AssetProvider>();
@@ -90,10 +88,6 @@ addressDiscoveryFactory.register(
90
88
 
91
89
  bip32Ed25519Factory.register('CML', async () => new Crypto.CmlBip32Ed25519(CML));
92
90
 
93
- // Faucet providers
94
-
95
- faucetProviderFactory.register('cardano-wallet', CardanoWalletFaucetProvider.create);
96
-
97
91
  // Asset providers
98
92
 
99
93
  assetProviderFactory.register(HTTP_PROVIDER, async (params: any, logger: Logger): Promise<AssetProvider> => {
@@ -170,13 +164,11 @@ utxoProviderFactory.register(HTTP_PROVIDER, async (params: any, logger: Logger):
170
164
  });
171
165
  });
172
166
 
173
- handleProviderFactory.register(HANDLE_PROVIDER, async (params: any): Promise<KoraLabsHandleProvider> => {
174
- if (params.serverUrl === undefined) throw new Error(`${KoraLabsHandleProvider.name}: ${MISSING_URL_PARAM}`);
167
+ handleProviderFactory.register(HTTP_PROVIDER, async (params: any, logger: Logger): Promise<HandleProvider> => {
168
+ if (params.baseUrl === undefined) throw new Error(`${handleHttpProvider.name}: ${MISSING_URL_PARAM}`);
175
169
 
176
- return new KoraLabsHandleProvider({
177
- adapter: customHttpFetchAdapter,
178
- policyId: params.policyId,
179
- serverUrl: params.serverUrl
170
+ return new Promise<HandleProvider>(async (resolve) => {
171
+ resolve(handleHttpProvider({ adapter: customHttpFetchAdapter, baseUrl: params.baseUrl, logger }));
180
172
  });
181
173
  });
182
174
 
package/src/index.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from './factories';
2
- export * from './FaucetProvider';
3
2
  export * from './util';
4
3
  export * from './environment';
5
4
  export * from './defaults';
@@ -1,8 +1,4 @@
1
1
  /* eslint-disable no-console */
2
- /* eslint-disable @typescript-eslint/no-floating-promises */
3
- import * as Process from 'process';
4
- // This disable may not be require once https://github.com/import-js/eslint-plugin-import/pull/2543 is released.
5
- // eslint-disable-next-line import/no-extraneous-dependencies
6
2
  import { Pool, QueryResult } from 'pg';
7
3
 
8
4
  const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
@@ -11,14 +7,16 @@ const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
11
7
  * Waits until the local network is ready or the wait time expires.
12
8
  */
13
9
  (async () => {
14
- if (Process.env.DB_SYNC_CONNECTION_STRING === undefined) {
10
+ const { DB_SYNC_CONNECTION_STRING, LOCAL_NETWORK_READY_WAIT_TIME } = process.env;
11
+
12
+ if (DB_SYNC_CONNECTION_STRING === undefined) {
15
13
  console.error('The DB_SYNC_CONNECTION_STRING env variable must be defined');
16
14
  return -1;
17
15
  }
18
16
 
19
17
  const start = Date.now() / 1000;
20
- const waitTime = Process.env.LOCAL_NETWORK_READY_WAIT_TIME ? Process.env.LOCAL_NETWORK_READY_WAIT_TIME : 1200;
21
- const db: Pool = new Pool({ connectionString: Process.env.DB_SYNC_CONNECTION_STRING });
18
+ const waitTime = LOCAL_NETWORK_READY_WAIT_TIME ? Number.parseInt(LOCAL_NETWORK_READY_WAIT_TIME, 10) : 1200;
19
+ const db: Pool = new Pool({ connectionString: DB_SYNC_CONNECTION_STRING });
22
20
  let isReady = false;
23
21
  let currentElapsed = 0;
24
22
 
@@ -44,4 +42,4 @@ const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
44
42
  }
45
43
 
46
44
  console.log('Local network ready!');
47
- })();
45
+ })().catch(console.log);
@@ -1,4 +1,5 @@
1
1
  {
2
+ "changeAddressResolver": "static",
2
3
  "startingFunds": 1000000000000,
3
4
  "stakeDistribution": [
4
5
  0.2,