@cardano-sdk/e2e 0.32.7 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/dist/cjs/factories.d.ts +26 -2
- package/dist/cjs/factories.d.ts.map +1 -1
- package/dist/cjs/factories.js +30 -2
- package/dist/cjs/factories.js.map +1 -1
- package/dist/cjs/tools/multi-delegation-data-gen/index.js +3 -3
- package/dist/cjs/tools/multi-delegation-data-gen/index.js.map +1 -1
- package/dist/cjs/tools/multi-delegation-data-gen/utils/utils.d.ts +8 -8
- 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 +1 -1
- 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/handle-util.d.ts.map +1 -1
- package/dist/cjs/util/handle-util.js +8 -2
- package/dist/cjs/util/handle-util.js.map +1 -1
- package/dist/cjs/util/util.d.ts +4 -4
- package/dist/cjs/util/util.d.ts.map +1 -1
- package/dist/cjs/util/util.js +13 -6
- package/dist/cjs/util/util.js.map +1 -1
- package/dist/esm/factories.d.ts +26 -2
- package/dist/esm/factories.d.ts.map +1 -1
- package/dist/esm/factories.js +29 -2
- package/dist/esm/factories.js.map +1 -1
- package/dist/esm/tools/multi-delegation-data-gen/index.js +3 -3
- package/dist/esm/tools/multi-delegation-data-gen/index.js.map +1 -1
- package/dist/esm/tools/multi-delegation-data-gen/utils/utils.d.ts +8 -8
- 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 +1 -1
- 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/handle-util.d.ts.map +1 -1
- package/dist/esm/util/handle-util.js +8 -2
- package/dist/esm/util/handle-util.js.map +1 -1
- package/dist/esm/util/util.d.ts +4 -4
- package/dist/esm/util/util.d.ts.map +1 -1
- package/dist/esm/util/util.js +14 -7
- package/dist/esm/util/util.js.map +1 -1
- package/package.json +18 -18
- package/src/factories.ts +71 -2
- package/src/tools/multi-delegation-data-gen/index.ts +4 -4
- package/src/tools/multi-delegation-data-gen/utils/utils.ts +12 -12
- package/src/util/handle-util.ts +8 -2
- package/src/util/util.ts +19 -10
- package/test/artillery/wallet-restoration/types.ts +2 -2
- package/test/load-test-custom/wallet-init/wallet-init.test.ts +4 -4
- package/test/load-test-custom/wallet-restoration/wallet-restoration.test.ts +2 -2
- package/test/long-running/delegation-rewards.test.ts +6 -6
- package/test/long-running/multisig-wallet/multisig-delegation-rewards.test.ts +6 -6
- package/test/long-running/shared-wallet-delegation-rewards.test.ts +199 -0
- package/test/wallet/PersonalWallet/byron.test.ts +2 -2
- package/test/wallet/PersonalWallet/delegation.test.ts +5 -5
- package/test/wallet/PersonalWallet/delegationDistribution.test.ts +15 -15
- package/test/wallet/PersonalWallet/handle.test.ts +4 -4
- package/test/wallet/PersonalWallet/metadata.test.ts +2 -2
- package/test/wallet/PersonalWallet/mint.test.ts +10 -4
- package/test/wallet/PersonalWallet/multiAddress.test.ts +2 -2
- package/test/wallet/PersonalWallet/multisignature.test.ts +10 -4
- package/test/wallet/PersonalWallet/nft.test.ts +27 -9
- package/test/wallet/PersonalWallet/phase2validation.test.ts +4 -4
- package/test/wallet/PersonalWallet/pouchDbWalletStores.test.ts +1 -1
- package/test/wallet/PersonalWallet/txChainHistory.test.ts +4 -3
- package/test/wallet/PersonalWallet/unspendableUtxos.test.ts +3 -3
- package/test/wallet/SharedWallet/delegation.test.ts +245 -0
- package/test/wallet/SharedWallet/simpleTx.test.ts +123 -0
- package/test/wallet/SharedWallet/ultils.ts +327 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-util.d.ts","sourceRoot":"","sources":["../../../src/util/handle-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAwD,MAAM,mBAAmB,CAAC;AACjH,OAAO,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,QAAQ,EAAW,IAAI,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAkC3F,oBAAY,cAAc,GAAG;IAC3B,CAAC,QAAQ,EAAE,MAAM,GAAG;QAClB,CAAC,UAAU,EAAE,MAAM,GAAG;YACpB,aAAa,EAAE,EAAE,CAAC;YAClB,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM,CAAC;gBACvB,EAAE,EAAE,MAAM,CAAC;gBACX,MAAM,EAAE,MAAM,CAAC;gBACf,UAAU,EAAE,MAAM,CAAC;gBACnB,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC;YACF,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,oBAAoB,mBAAoB,MAAM,eAAe,MAAM,EAAE,KAAG,cAmBpF,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAoB,QAAQ;;;;EAe1D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,EAAkE,CAAC;AAEnG,eAAO,MAAM,iBAAiB,iBAAwB,MAAM,KAAG,QAAQ,QAAQ,QAAQ,CAKtF,CAAC;AAEF,eAAO,MAAM,yBAAyB,YAAc,CAAC;AAErD,eAAO,MAAM,IAAI,WACP,gBAAgB,YACd,QAAQ,yCAEL,QAAQ,SAAS,UACtB,QAAQ,UAAU,
|
|
1
|
+
{"version":3,"file":"handle-util.d.ts","sourceRoot":"","sources":["../../../src/util/handle-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAwD,MAAM,mBAAmB,CAAC;AACjH,OAAO,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,QAAQ,EAAW,IAAI,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAkC3F,oBAAY,cAAc,GAAG;IAC3B,CAAC,QAAQ,EAAE,MAAM,GAAG;QAClB,CAAC,UAAU,EAAE,MAAM,GAAG;YACpB,aAAa,EAAE,EAAE,CAAC;YAClB,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM,CAAC;gBACvB,EAAE,EAAE,MAAM,CAAC;gBACX,MAAM,EAAE,MAAM,CAAC;gBACf,UAAU,EAAE,MAAM,CAAC;gBACnB,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC;YACF,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,oBAAoB,mBAAoB,MAAM,eAAe,MAAM,EAAE,KAAG,cAmBpF,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAoB,QAAQ;;;;EAe1D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,EAAkE,CAAC;AAEnG,eAAO,MAAM,iBAAiB,iBAAwB,MAAM,KAAG,QAAQ,QAAQ,QAAQ,CAKtF,CAAC;AAEF,eAAO,MAAM,yBAAyB,YAAc,CAAC;AAErD,eAAO,MAAM,IAAI,WACP,gBAAgB,YACd,QAAQ,yCAEL,QAAQ,SAAS,UACtB,QAAQ,UAAU,yCAgD3B,CAAC;AAEF,eAAO,MAAM,wBAAwB,WAC3B,gBAAgB,YACd,QAAQ,YACR,QAAQ,QAAQ,kBAsD3B,CAAC"}
|
|
@@ -75,13 +75,19 @@ export const mint = async (wallet, keyAgent, tokens, txMetadatum, datum, isNFTHa
|
|
|
75
75
|
auxiliaryData,
|
|
76
76
|
mint: tokens,
|
|
77
77
|
outputs,
|
|
78
|
-
|
|
78
|
+
signingOptions: {
|
|
79
|
+
extraSigners: [policySigner]
|
|
80
|
+
},
|
|
81
|
+
witness: { scripts: [policyScript] }
|
|
79
82
|
};
|
|
80
83
|
const unsignedTx = await wallet.initializeTx(txProps);
|
|
81
84
|
const finalizeProps = {
|
|
82
85
|
auxiliaryData,
|
|
86
|
+
signingOptions: {
|
|
87
|
+
extraSigners: [policySigner]
|
|
88
|
+
},
|
|
83
89
|
tx: unsignedTx,
|
|
84
|
-
witness: {
|
|
90
|
+
witness: { scripts: [policyScript] }
|
|
85
91
|
};
|
|
86
92
|
const signedTx = await wallet.finalizeTx(finalizeProps);
|
|
87
93
|
await submitAndConfirm(wallet, signedTx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-util.js","sourceRoot":"","sources":["../../../src/util/handle-util.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"handle-util.js","sourceRoot":"","sources":["../../../src/util/handle-util.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/util/util.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as Crypto from '@cardano-sdk/crypto';
|
|
2
|
+
import { BaseWallet, ObservableWallet } from '@cardano-sdk/wallet';
|
|
2
3
|
import { Cardano } from '@cardano-sdk/core';
|
|
3
4
|
import { Observable } from 'rxjs';
|
|
4
|
-
import { ObservableWallet, PersonalWallet } from '@cardano-sdk/wallet';
|
|
5
5
|
import { InMemoryKeyAgent, TransactionSigner } from '@cardano-sdk/key-management';
|
|
6
6
|
import { TestWallet } from '../factories';
|
|
7
7
|
export declare const firstValueFromTimed: <T>(observable$: Observable<T>, timeoutMessage?: string, timeoutAfter?: number) => Promise<T>;
|
|
8
8
|
export declare const waitForWalletStateSettle: (wallet: ObservableWallet, syncTimeout?: number) => Promise<boolean>;
|
|
9
9
|
export declare const insufficientFundsMessage: (address: Cardano.PaymentAddress, min: bigint, actual: bigint) => string;
|
|
10
10
|
export declare const walletReady: (wallet: ObservableWallet, minCoinBalance?: bigint, syncTimeout?: number) => Promise<[boolean, Cardano.Value]>;
|
|
11
|
-
export declare const normalizeTxBody: (body: Cardano.HydratedTxBody | Cardano.TxBody) => Cardano.TxBody
|
|
11
|
+
export declare const normalizeTxBody: (body: Cardano.HydratedTxBody | Cardano.TxBody) => Cardano.TxBody;
|
|
12
12
|
export declare const txConfirmed: ({ tip$, transactions: { history$, outgoing: { failed$ } } }: ObservableWallet, { id }: Pick<Cardano.Tx, 'id'>, numConfirmations?: number) => Promise<Cardano.HydratedTx>;
|
|
13
13
|
export declare const submitAndConfirm: (wallet: ObservableWallet, tx: Cardano.Tx) => Promise<[string & {
|
|
14
14
|
__opaqueString: "TransactionId";
|
|
@@ -27,11 +27,11 @@ export declare const waitForEpoch: (wallet: Pick<ObservableWallet, 'currentEpoch
|
|
|
27
27
|
__opaqueNumber: "EpochNo";
|
|
28
28
|
}>;
|
|
29
29
|
export declare const runningAgainstLocalNetwork: () => Promise<boolean>;
|
|
30
|
-
export declare const getTxConfirmationEpoch: (wallet:
|
|
30
|
+
export declare const getTxConfirmationEpoch: (wallet: ObservableWallet, tx: Cardano.Tx<Cardano.TxBody>) => Promise<Cardano.EpochNo>;
|
|
31
31
|
export declare const submitCertificate: (certificate: Cardano.Certificate, wallet: TestWallet) => Promise<Cardano.Tx<Cardano.TxBody>>;
|
|
32
32
|
export declare const createStandaloneKeyAgent: (mnemonics: string[], genesis: Cardano.CompactGenesis, bip32Ed25519: Crypto.Bip32Ed25519) => Promise<InMemoryKeyAgent>;
|
|
33
33
|
export declare const burnTokens: ({ wallet, tokens, scripts, policySigners: extraSigners }: {
|
|
34
|
-
wallet:
|
|
34
|
+
wallet: BaseWallet;
|
|
35
35
|
tokens?: Cardano.TokenMap | undefined;
|
|
36
36
|
scripts: Cardano.Script[];
|
|
37
37
|
policySigners: TransactionSigner[];
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,UAAU,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAsC,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAEL,UAAU,EAYX,MAAM,MAAM,CAAC;AAEd,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,mBAU5E,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,gBAAgB,MAAM,QAAQ,EAAE,CAAC,QAAQ,MAAM,CAAC,6BAMpG,CAAC;AAQF,eAAO,MAAM,iBAAiB,gBAAuB,QAAQ,WAAW,UAAU,UAAU,wCAc3F,CAAC;AAWF,eAAO,MAAM,wBAAwB,cACxB,MAAM,EAAE,WACV,QAAQ,cAAc,gBACjB,OAAO,YAAY,8BAShC,CAAC;AAQJ,eAAO,MAAM,UAAU;YAMb,UAAU;;aAET,QAAQ,MAAM,EAAE;mBACV,iBAAiB,EAAE;mBAgCnC,CAAC"}
|
package/dist/esm/util/util.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Cardano, createSlotEpochCalc } from '@cardano-sdk/core';
|
|
1
|
+
import { Cardano, Serialization, createSlotEpochCalc } from '@cardano-sdk/core';
|
|
2
2
|
import { EMPTY, combineLatest, distinctUntilChanged, filter, firstValueFrom, map, merge, mergeMap, switchMap, tap, throwError, timeout } from 'rxjs';
|
|
3
3
|
import { FAST_OPERATION_TIMEOUT_DEFAULT, SYNC_TIMEOUT_DEFAULT } from '../defaults';
|
|
4
4
|
import { InMemoryKeyAgent } from '@cardano-sdk/key-management';
|
|
@@ -24,10 +24,11 @@ export const walletReady = async (wallet, minCoinBalance = 1n, syncTimeout = SYN
|
|
|
24
24
|
};
|
|
25
25
|
const sortTxIn = (txInCollection) => sortBy(txInCollection, ['txId', 'index']);
|
|
26
26
|
export const normalizeTxBody = (body) => {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
const dehydratedTx = Serialization.TransactionBody.fromCore(body).toCore();
|
|
28
|
+
dehydratedTx.inputs = sortTxIn(dehydratedTx.inputs);
|
|
29
|
+
dehydratedTx.collaterals = sortTxIn(dehydratedTx.collaterals);
|
|
30
|
+
dehydratedTx.referenceInputs = sortTxIn(dehydratedTx.referenceInputs);
|
|
31
|
+
return dehydratedTx;
|
|
31
32
|
};
|
|
32
33
|
export const txConfirmed = ({ tip$, transactions: { history$, outgoing: { failed$ } } }, { id }, numConfirmations = 3) => firstValueFromTimed(merge(history$.pipe(switchMap((txs) => {
|
|
33
34
|
const tx = txs.find((historyTx) => historyTx.id === id);
|
|
@@ -97,12 +98,18 @@ export const burnTokens = async ({ wallet, tokens, scripts, policySigners: extra
|
|
|
97
98
|
const negativeTokens = new Map([...tokens].map(([assetId, value]) => [assetId, -value]));
|
|
98
99
|
const txProps = {
|
|
99
100
|
mint: negativeTokens,
|
|
100
|
-
|
|
101
|
+
signingOptions: {
|
|
102
|
+
extraSigners
|
|
103
|
+
},
|
|
104
|
+
witness: { scripts }
|
|
101
105
|
};
|
|
102
106
|
const unsignedTx = await wallet.initializeTx(txProps);
|
|
103
107
|
const finalizeProps = {
|
|
108
|
+
signingOptions: {
|
|
109
|
+
extraSigners
|
|
110
|
+
},
|
|
104
111
|
tx: unsignedTx,
|
|
105
|
-
witness: {
|
|
112
|
+
witness: { scripts }
|
|
106
113
|
};
|
|
107
114
|
const signedTx = await wallet.finalizeTx(finalizeProps);
|
|
108
115
|
await submitAndConfirm(wallet, signedTx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/util/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/util/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cardano-sdk/e2e",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"description": "End to end tests for the cardano-js-sdk packages.",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16.20.2"
|
|
@@ -80,20 +80,20 @@
|
|
|
80
80
|
"dependencies": {
|
|
81
81
|
"@cardano-foundation/ledgerjs-hw-app-cardano": "^6.0.0",
|
|
82
82
|
"@cardano-ogmios/client": "5.6.0",
|
|
83
|
-
"@cardano-sdk/cardano-services": "~0.26.
|
|
84
|
-
"@cardano-sdk/cardano-services-client": "~0.17.
|
|
85
|
-
"@cardano-sdk/core": "~0.
|
|
83
|
+
"@cardano-sdk/cardano-services": "~0.26.6",
|
|
84
|
+
"@cardano-sdk/cardano-services-client": "~0.17.10",
|
|
85
|
+
"@cardano-sdk/core": "~0.29.0",
|
|
86
86
|
"@cardano-sdk/crypto": "~0.1.21",
|
|
87
|
-
"@cardano-sdk/hardware-ledger": "~0.8.
|
|
88
|
-
"@cardano-sdk/hardware-trezor": "~0.4.
|
|
89
|
-
"@cardano-sdk/input-selection": "~0.12.
|
|
90
|
-
"@cardano-sdk/key-management": "~0.
|
|
91
|
-
"@cardano-sdk/ogmios": "~0.15.
|
|
92
|
-
"@cardano-sdk/tx-construction": "~0.
|
|
87
|
+
"@cardano-sdk/hardware-ledger": "~0.8.17",
|
|
88
|
+
"@cardano-sdk/hardware-trezor": "~0.4.17",
|
|
89
|
+
"@cardano-sdk/input-selection": "~0.12.24",
|
|
90
|
+
"@cardano-sdk/key-management": "~0.20.0",
|
|
91
|
+
"@cardano-sdk/ogmios": "~0.15.19",
|
|
92
|
+
"@cardano-sdk/tx-construction": "~0.18.0",
|
|
93
93
|
"@cardano-sdk/util": "~0.15.0",
|
|
94
|
-
"@cardano-sdk/util-dev": "~0.19.
|
|
95
|
-
"@cardano-sdk/util-rxjs": "~0.7.
|
|
96
|
-
"@cardano-sdk/wallet": "~0.
|
|
94
|
+
"@cardano-sdk/util-dev": "~0.19.17",
|
|
95
|
+
"@cardano-sdk/util-rxjs": "~0.7.8",
|
|
96
|
+
"@cardano-sdk/wallet": "~0.35.0",
|
|
97
97
|
"@dcspark/cardano-multiplatform-lib-nodejs": "^3.1.1",
|
|
98
98
|
"@vespaiach/axios-fetch-adapter": "^0.3.0",
|
|
99
99
|
"axios": "^0.27.2",
|
|
@@ -123,10 +123,10 @@
|
|
|
123
123
|
"@babel/core": "^7.18.2",
|
|
124
124
|
"@babel/preset-env": "^7.18.2",
|
|
125
125
|
"@babel/preset-typescript": "^7.17.12",
|
|
126
|
-
"@cardano-sdk/dapp-connector": "~0.12.
|
|
127
|
-
"@cardano-sdk/projection": "~0.11.
|
|
128
|
-
"@cardano-sdk/projection-typeorm": "~0.8.
|
|
129
|
-
"@cardano-sdk/web-extension": "~0.
|
|
126
|
+
"@cardano-sdk/dapp-connector": "~0.12.13",
|
|
127
|
+
"@cardano-sdk/projection": "~0.11.9",
|
|
128
|
+
"@cardano-sdk/projection-typeorm": "~0.8.11",
|
|
129
|
+
"@cardano-sdk/web-extension": "~0.25.0",
|
|
130
130
|
"@dcspark/cardano-multiplatform-lib-browser": "^3.1.1",
|
|
131
131
|
"@emurgo/cardano-message-signing-asmjs": "^1.0.1",
|
|
132
132
|
"@types/bunyan": "^1.8.8",
|
|
@@ -179,5 +179,5 @@
|
|
|
179
179
|
"webpack-cli": "^4.9.2",
|
|
180
180
|
"webpack-merge": "^5.8.0"
|
|
181
181
|
},
|
|
182
|
-
"gitHead": "
|
|
182
|
+
"gitHead": "6bc727609bef9c9f194240ccaf03aa467af22d61"
|
|
183
183
|
}
|
package/src/factories.ts
CHANGED
|
@@ -7,9 +7,10 @@ import {
|
|
|
7
7
|
HDSequentialDiscovery,
|
|
8
8
|
Milliseconds,
|
|
9
9
|
ObservableWallet,
|
|
10
|
-
PersonalWallet,
|
|
11
10
|
PollingConfig,
|
|
12
11
|
SingleAddressDiscovery,
|
|
12
|
+
createPersonalWallet,
|
|
13
|
+
createSharedWallet,
|
|
13
14
|
storage
|
|
14
15
|
} from '@cardano-sdk/wallet';
|
|
15
16
|
import {
|
|
@@ -286,6 +287,18 @@ export type GetWalletProps = {
|
|
|
286
287
|
witnesser?: Witnesser;
|
|
287
288
|
};
|
|
288
289
|
|
|
290
|
+
export type GetSharedWalletProps = {
|
|
291
|
+
env: any;
|
|
292
|
+
logger: Logger;
|
|
293
|
+
name: string;
|
|
294
|
+
polling?: PollingConfig;
|
|
295
|
+
handlePolicyIds?: Cardano.PolicyId[];
|
|
296
|
+
stores?: storage.WalletStores;
|
|
297
|
+
witnesser: Witnesser;
|
|
298
|
+
paymentScript: Cardano.RequireAllOfScript | Cardano.RequireAnyOfScript | Cardano.RequireAtLeastScript;
|
|
299
|
+
stakingScript: Cardano.RequireAllOfScript | Cardano.RequireAnyOfScript | Cardano.RequireAtLeastScript;
|
|
300
|
+
};
|
|
301
|
+
|
|
289
302
|
/** Delays initializing tx when nearing the epoch boundary. Relies on system clock being accurate. */
|
|
290
303
|
const patchInitializeTxToRespectEpochBoundary = <T extends ObservableWallet>(
|
|
291
304
|
wallet: T,
|
|
@@ -360,7 +373,7 @@ export const getWallet = async (props: GetWalletProps) => {
|
|
|
360
373
|
logger
|
|
361
374
|
}));
|
|
362
375
|
const bip32Account = await Bip32Account.fromAsyncKeyAgent(asyncKeyAgent);
|
|
363
|
-
const wallet =
|
|
376
|
+
const wallet = createPersonalWallet(
|
|
364
377
|
{ name, polling },
|
|
365
378
|
{
|
|
366
379
|
...providers,
|
|
@@ -381,4 +394,60 @@ export const getWallet = async (props: GetWalletProps) => {
|
|
|
381
394
|
return { bip32Account, providers, wallet: patchInitializeTxToRespectEpochBoundary(wallet, maxInterval) };
|
|
382
395
|
};
|
|
383
396
|
|
|
397
|
+
/**
|
|
398
|
+
* Create a shared wallet instance given the environment variables.
|
|
399
|
+
*
|
|
400
|
+
* @param props Wallet configuration parameters.
|
|
401
|
+
* @returns an object containing the wallet and providers passed to it
|
|
402
|
+
*/
|
|
403
|
+
export const getSharedWallet = async (props: GetSharedWalletProps) => {
|
|
404
|
+
const { env, logger, name, polling, stores, paymentScript, stakingScript, witnesser } = props;
|
|
405
|
+
const providers = {
|
|
406
|
+
assetProvider: await assetProviderFactory.create(env.ASSET_PROVIDER, env.ASSET_PROVIDER_PARAMS, logger),
|
|
407
|
+
chainHistoryProvider: await chainHistoryProviderFactory.create(
|
|
408
|
+
env.CHAIN_HISTORY_PROVIDER,
|
|
409
|
+
env.CHAIN_HISTORY_PROVIDER_PARAMS,
|
|
410
|
+
logger
|
|
411
|
+
),
|
|
412
|
+
handleProvider: await handleProviderFactory.create(env.HANDLE_PROVIDER, env.HANDLE_PROVIDER_PARAMS, logger),
|
|
413
|
+
networkInfoProvider: await networkInfoProviderFactory.create(
|
|
414
|
+
env.NETWORK_INFO_PROVIDER,
|
|
415
|
+
env.NETWORK_INFO_PROVIDER_PARAMS,
|
|
416
|
+
logger
|
|
417
|
+
),
|
|
418
|
+
rewardsProvider: await rewardsProviderFactory.create(env.REWARDS_PROVIDER, env.REWARDS_PROVIDER_PARAMS, logger),
|
|
419
|
+
stakePoolProvider: await stakePoolProviderFactory.create(
|
|
420
|
+
env.STAKE_POOL_PROVIDER,
|
|
421
|
+
env.STAKE_POOL_PROVIDER_PARAMS,
|
|
422
|
+
logger
|
|
423
|
+
),
|
|
424
|
+
txSubmitProvider: await txSubmitProviderFactory.create(
|
|
425
|
+
env.TX_SUBMIT_PROVIDER,
|
|
426
|
+
env.TX_SUBMIT_PROVIDER_PARAMS,
|
|
427
|
+
logger
|
|
428
|
+
),
|
|
429
|
+
utxoProvider: await utxoProviderFactory.create(env.UTXO_PROVIDER, env.UTXO_PROVIDER_PARAMS, logger)
|
|
430
|
+
};
|
|
431
|
+
const wallet = createSharedWallet(
|
|
432
|
+
{ name, polling },
|
|
433
|
+
{
|
|
434
|
+
...providers,
|
|
435
|
+
logger,
|
|
436
|
+
paymentScript,
|
|
437
|
+
stakingScript,
|
|
438
|
+
stores,
|
|
439
|
+
witnesser
|
|
440
|
+
}
|
|
441
|
+
);
|
|
442
|
+
|
|
443
|
+
const [{ address, rewardAccount }] = await firstValueFrom(wallet.addresses$);
|
|
444
|
+
logger.info(`Created wallet "${wallet.name}": ${address}/${rewardAccount}`);
|
|
445
|
+
|
|
446
|
+
const maxInterval =
|
|
447
|
+
polling?.maxInterval ||
|
|
448
|
+
(polling?.interval && polling.interval * DEFAULT_POLLING_CONFIG.maxIntervalMultiplier) ||
|
|
449
|
+
DEFAULT_POLLING_CONFIG.maxInterval;
|
|
450
|
+
return { providers, wallet: patchInitializeTxToRespectEpochBoundary(wallet, maxInterval) };
|
|
451
|
+
};
|
|
452
|
+
|
|
384
453
|
export type TestWallet = Awaited<ReturnType<typeof getWallet>>;
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
waitForFundingWallet
|
|
16
16
|
} from './utils';
|
|
17
17
|
|
|
18
|
+
import { BaseWallet, DynamicChangeAddressResolver } from '@cardano-sdk/wallet';
|
|
18
19
|
import { Cardano } from '@cardano-sdk/core';
|
|
19
|
-
import { DynamicChangeAddressResolver, PersonalWallet } from '@cardano-sdk/wallet';
|
|
20
20
|
import { roundRobinRandomImprove } from '@cardano-sdk/input-selection';
|
|
21
21
|
import { walletReady } from '../../';
|
|
22
22
|
import chalk from 'chalk';
|
|
@@ -37,7 +37,7 @@ const monitor = new TerminalProgressMonitor();
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
let exitCode = 0;
|
|
40
|
-
let fundingWallet:
|
|
40
|
+
let fundingWallet: BaseWallet | undefined;
|
|
41
41
|
|
|
42
42
|
try {
|
|
43
43
|
const config = await loadConfiguration(monitor);
|
|
@@ -72,8 +72,8 @@ const monitor = new TerminalProgressMonitor();
|
|
|
72
72
|
|
|
73
73
|
monitor.startTask('Waiting for delegation to be updated on the wallet.');
|
|
74
74
|
await rewardAccountStatuses(delegationWallet.delegation.rewardAccounts$, [
|
|
75
|
-
Cardano.
|
|
76
|
-
Cardano.
|
|
75
|
+
Cardano.StakeCredentialStatus.Registering,
|
|
76
|
+
Cardano.StakeCredentialStatus.Registered
|
|
77
77
|
]);
|
|
78
78
|
monitor.endTask('Delegation updated.', TaskResult.Success);
|
|
79
79
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-console, max-statements, max-params, @typescript-eslint/no-floating-promises */
|
|
2
2
|
import { ValueTransferConfig, configLoader } from './config';
|
|
3
3
|
|
|
4
|
+
import { BaseWallet } from '@cardano-sdk/wallet';
|
|
4
5
|
import { Cardano } from '@cardano-sdk/core';
|
|
5
6
|
import { Files, Paths } from './files';
|
|
6
7
|
import {
|
|
@@ -14,7 +15,6 @@ import {
|
|
|
14
15
|
walletVariables
|
|
15
16
|
} from '../../../';
|
|
16
17
|
import { Observable, filter, firstValueFrom, map } from 'rxjs';
|
|
17
|
-
import { PersonalWallet } from '@cardano-sdk/wallet';
|
|
18
18
|
import { TaskResult, TerminalProgressMonitor } from './terminal-progress-monitor';
|
|
19
19
|
import { logger } from '@cardano-sdk/util-dev';
|
|
20
20
|
import { util } from '@cardano-sdk/key-management';
|
|
@@ -26,7 +26,7 @@ import chalk from 'chalk';
|
|
|
26
26
|
* @param wallet The wallet to get the pools from.
|
|
27
27
|
* @param count The requested number of pools.
|
|
28
28
|
*/
|
|
29
|
-
const getPoolIds = async (wallet:
|
|
29
|
+
const getPoolIds = async (wallet: BaseWallet, count: number): Promise<Cardano.StakePool[]> => {
|
|
30
30
|
const activePools = await wallet.stakePoolProvider.queryStakePools({
|
|
31
31
|
filters: { status: [Cardano.StakePoolStatus.Active] },
|
|
32
32
|
pagination: { limit: count, startAt: 0 }
|
|
@@ -44,12 +44,12 @@ const getPoolIds = async (wallet: PersonalWallet, count: number): Promise<Cardan
|
|
|
44
44
|
*/
|
|
45
45
|
export const rewardAccountStatuses = async (
|
|
46
46
|
rewardAccounts$: Observable<Cardano.RewardAccountInfo[]>,
|
|
47
|
-
statuses: Cardano.
|
|
47
|
+
statuses: Cardano.StakeCredentialStatus[],
|
|
48
48
|
timeout = MINUTE
|
|
49
49
|
) =>
|
|
50
50
|
firstValueFromTimed(
|
|
51
51
|
rewardAccounts$.pipe(
|
|
52
|
-
map((accts) => accts.map(({
|
|
52
|
+
map((accts) => accts.map(({ credentialStatus }) => credentialStatus)),
|
|
53
53
|
filter((statusArr) => statusArr.every((s) => statuses.includes(s)))
|
|
54
54
|
),
|
|
55
55
|
`Timeout waiting for all reward accounts stake keys to be one of ${statuses.join('|')}`,
|
|
@@ -93,7 +93,7 @@ export const loadConfiguration = async (monitor: TerminalProgressMonitor) => {
|
|
|
93
93
|
*
|
|
94
94
|
* @param monitor The progress monitor
|
|
95
95
|
*/
|
|
96
|
-
export const waitForFundingWallet = async (monitor: TerminalProgressMonitor): Promise<
|
|
96
|
+
export const waitForFundingWallet = async (monitor: TerminalProgressMonitor): Promise<BaseWallet> => {
|
|
97
97
|
monitor.startTask('Waiting for funding wallet to be ready.');
|
|
98
98
|
|
|
99
99
|
const fundingWallet = (await getWallet({ env, idx: 0, logger, name: 'Funding wallet', polling: { interval: 500 } }))
|
|
@@ -146,8 +146,8 @@ export const createDelegationWallet = async (monitor: TerminalProgressMonitor) =
|
|
|
146
146
|
* @param monitor The progress monitor.
|
|
147
147
|
*/
|
|
148
148
|
export const transferStartingFunds = async (
|
|
149
|
-
fundingWallet:
|
|
150
|
-
delegationWallet:
|
|
149
|
+
fundingWallet: BaseWallet,
|
|
150
|
+
delegationWallet: BaseWallet,
|
|
151
151
|
startingFunds: number,
|
|
152
152
|
monitor: TerminalProgressMonitor
|
|
153
153
|
) => {
|
|
@@ -175,7 +175,7 @@ export const transferStartingFunds = async (
|
|
|
175
175
|
* @param monitor The progress monitor.
|
|
176
176
|
*/
|
|
177
177
|
export const distributeStake = async (
|
|
178
|
-
delegationWallet:
|
|
178
|
+
delegationWallet: BaseWallet,
|
|
179
179
|
stakeDistribution: Array<number>,
|
|
180
180
|
monitor: TerminalProgressMonitor
|
|
181
181
|
): Promise<Cardano.Cip17DelegationPortfolio> => {
|
|
@@ -205,7 +205,7 @@ export const distributeStake = async (
|
|
|
205
205
|
* @param monitor The progress monitor.
|
|
206
206
|
*/
|
|
207
207
|
export const logState = async (
|
|
208
|
-
delegationWallet:
|
|
208
|
+
delegationWallet: BaseWallet,
|
|
209
209
|
iteration: number,
|
|
210
210
|
outputPath: string,
|
|
211
211
|
monitor: TerminalProgressMonitor
|
|
@@ -262,7 +262,7 @@ export const getOutputPathName = () =>
|
|
|
262
262
|
* @param currentIteration the current iteration.
|
|
263
263
|
*/
|
|
264
264
|
const transferValue = async (
|
|
265
|
-
wallet:
|
|
265
|
+
wallet: BaseWallet,
|
|
266
266
|
targetAddress: Cardano.PaymentAddress,
|
|
267
267
|
config: ValueTransferConfig,
|
|
268
268
|
currentIteration: number
|
|
@@ -297,8 +297,8 @@ const transferValue = async (
|
|
|
297
297
|
* @param monitor The progress monitor.
|
|
298
298
|
*/
|
|
299
299
|
export const sendTransactions = async (
|
|
300
|
-
fundingWallet:
|
|
301
|
-
delegationWallet:
|
|
300
|
+
fundingWallet: BaseWallet,
|
|
301
|
+
delegationWallet: BaseWallet,
|
|
302
302
|
inputsConfig: ValueTransferConfig,
|
|
303
303
|
outputsConfig: ValueTransferConfig,
|
|
304
304
|
iteration: number,
|
package/src/util/handle-util.ts
CHANGED
|
@@ -138,15 +138,21 @@ export const mint = async (
|
|
|
138
138
|
auxiliaryData,
|
|
139
139
|
mint: tokens,
|
|
140
140
|
outputs,
|
|
141
|
-
|
|
141
|
+
signingOptions: {
|
|
142
|
+
extraSigners: [policySigner]
|
|
143
|
+
},
|
|
144
|
+
witness: { scripts: [policyScript] }
|
|
142
145
|
};
|
|
143
146
|
|
|
144
147
|
const unsignedTx = await wallet.initializeTx(txProps);
|
|
145
148
|
|
|
146
149
|
const finalizeProps: FinalizeTxProps = {
|
|
147
150
|
auxiliaryData,
|
|
151
|
+
signingOptions: {
|
|
152
|
+
extraSigners: [policySigner]
|
|
153
|
+
},
|
|
148
154
|
tx: unsignedTx,
|
|
149
|
-
witness: {
|
|
155
|
+
witness: { scripts: [policyScript] }
|
|
150
156
|
};
|
|
151
157
|
|
|
152
158
|
const signedTx = await wallet.finalizeTx(finalizeProps);
|
package/src/util/util.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import * as Crypto from '@cardano-sdk/crypto';
|
|
3
|
-
import {
|
|
3
|
+
import { BaseWallet, FinalizeTxProps, ObservableWallet } from '@cardano-sdk/wallet';
|
|
4
|
+
import { Cardano, Serialization, createSlotEpochCalc } from '@cardano-sdk/core';
|
|
4
5
|
import {
|
|
5
6
|
EMPTY,
|
|
6
7
|
Observable,
|
|
@@ -17,7 +18,6 @@ import {
|
|
|
17
18
|
timeout
|
|
18
19
|
} from 'rxjs';
|
|
19
20
|
import { FAST_OPERATION_TIMEOUT_DEFAULT, SYNC_TIMEOUT_DEFAULT } from '../defaults';
|
|
20
|
-
import { FinalizeTxProps, ObservableWallet, PersonalWallet } from '@cardano-sdk/wallet';
|
|
21
21
|
import { InMemoryKeyAgent, TransactionSigner } from '@cardano-sdk/key-management';
|
|
22
22
|
import { InitializeTxProps } from '@cardano-sdk/tx-construction';
|
|
23
23
|
import { TestWallet, networkInfoProviderFactory } from '../factories';
|
|
@@ -76,12 +76,15 @@ const sortTxIn = (txInCollection: Cardano.TxIn[] | undefined): Cardano.TxIn[] =>
|
|
|
76
76
|
sortBy(txInCollection, ['txId', 'index']);
|
|
77
77
|
|
|
78
78
|
export const normalizeTxBody = (body: Cardano.HydratedTxBody | Cardano.TxBody) => {
|
|
79
|
+
const dehydratedTx = Serialization.TransactionBody.fromCore(body).toCore();
|
|
80
|
+
|
|
79
81
|
// TODO: inputs should be a Set since they're unordered.
|
|
80
82
|
// Then Jest should correctly compare it with toEqual.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
dehydratedTx.inputs = sortTxIn(dehydratedTx.inputs);
|
|
84
|
+
dehydratedTx.collaterals = sortTxIn(dehydratedTx.collaterals);
|
|
85
|
+
dehydratedTx.referenceInputs = sortTxIn(dehydratedTx.referenceInputs);
|
|
86
|
+
|
|
87
|
+
return dehydratedTx;
|
|
85
88
|
};
|
|
86
89
|
|
|
87
90
|
export const txConfirmed = (
|
|
@@ -189,7 +192,7 @@ export const runningAgainstLocalNetwork = async () => {
|
|
|
189
192
|
* @param tx The **already confirmed** transaction we need to know the confirmation epoch
|
|
190
193
|
* @returns The epoch when the given transaction was confirmed
|
|
191
194
|
*/
|
|
192
|
-
export const getTxConfirmationEpoch = async (wallet:
|
|
195
|
+
export const getTxConfirmationEpoch = async (wallet: ObservableWallet, tx: Cardano.Tx<Cardano.TxBody>) => {
|
|
193
196
|
const txs = await firstValueFrom(wallet.transactions.history$.pipe(filter((_) => _.some(({ id }) => id === tx.id))));
|
|
194
197
|
const observedTx = txs.find(({ id }) => id === tx.id);
|
|
195
198
|
const slotEpochCalc = createSlotEpochCalc(await firstValueFrom(wallet.eraSummaries$));
|
|
@@ -254,7 +257,7 @@ export const burnTokens = async ({
|
|
|
254
257
|
scripts,
|
|
255
258
|
policySigners: extraSigners
|
|
256
259
|
}: {
|
|
257
|
-
wallet:
|
|
260
|
+
wallet: BaseWallet;
|
|
258
261
|
tokens?: Cardano.TokenMap;
|
|
259
262
|
scripts: Cardano.Script[];
|
|
260
263
|
policySigners: TransactionSigner[];
|
|
@@ -270,14 +273,20 @@ export const burnTokens = async ({
|
|
|
270
273
|
const negativeTokens = new Map([...tokens].map(([assetId, value]) => [assetId, -value]));
|
|
271
274
|
const txProps: InitializeTxProps = {
|
|
272
275
|
mint: negativeTokens,
|
|
273
|
-
|
|
276
|
+
signingOptions: {
|
|
277
|
+
extraSigners
|
|
278
|
+
},
|
|
279
|
+
witness: { scripts }
|
|
274
280
|
};
|
|
275
281
|
|
|
276
282
|
const unsignedTx = await wallet.initializeTx(txProps);
|
|
277
283
|
|
|
278
284
|
const finalizeProps: FinalizeTxProps = {
|
|
285
|
+
signingOptions: {
|
|
286
|
+
extraSigners
|
|
287
|
+
},
|
|
279
288
|
tx: unsignedTx,
|
|
280
|
-
witness: {
|
|
289
|
+
witness: { scripts }
|
|
281
290
|
};
|
|
282
291
|
|
|
283
292
|
const signedTx = await wallet.finalizeTx(finalizeProps);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import { BaseWallet } from '@cardano-sdk/wallet';
|
|
1
2
|
import { GroupedAddress } from '@cardano-sdk/key-management';
|
|
2
|
-
import { PersonalWallet } from '@cardano-sdk/wallet';
|
|
3
3
|
|
|
4
4
|
/** The context variables shared between all the hooks. */
|
|
5
5
|
export interface WalletVars {
|
|
6
6
|
walletLoads: number;
|
|
7
7
|
addresses: GroupedAddress[];
|
|
8
|
-
currentWallet:
|
|
8
|
+
currentWallet: BaseWallet;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export interface AddressesModel {
|
|
@@ -5,8 +5,8 @@ import path from 'path';
|
|
|
5
5
|
// This line must come before loading the env, to configure the location of the .env file
|
|
6
6
|
dotenv.config({ path: path.join(__dirname, '../../../.env') });
|
|
7
7
|
|
|
8
|
+
import { BaseWallet, createPersonalWallet } from '@cardano-sdk/wallet';
|
|
8
9
|
import { Logger } from 'ts-log';
|
|
9
|
-
import { PersonalWallet } from '@cardano-sdk/wallet';
|
|
10
10
|
import { bufferCount, bufferTime, from, mergeAll, tap } from 'rxjs';
|
|
11
11
|
import { logger } from '@cardano-sdk/util-dev';
|
|
12
12
|
|
|
@@ -77,14 +77,14 @@ const getKeyAgent = async (accountIndex: number) => {
|
|
|
77
77
|
return { keyAgent };
|
|
78
78
|
};
|
|
79
79
|
|
|
80
|
-
const createWallet = async (accountIndex: number): Promise<
|
|
80
|
+
const createWallet = async (accountIndex: number): Promise<BaseWallet> => {
|
|
81
81
|
measurementUtil.addStartMarker(MeasureTarget.keyAgent, accountIndex);
|
|
82
82
|
const providers = await getProviders();
|
|
83
83
|
const { keyAgent } = await getKeyAgent(accountIndex);
|
|
84
84
|
measurementUtil.addMeasureMarker(MeasureTarget.keyAgent, accountIndex);
|
|
85
85
|
|
|
86
86
|
measurementUtil.addStartMarker(MeasureTarget.wallet, accountIndex);
|
|
87
|
-
return
|
|
87
|
+
return createPersonalWallet(
|
|
88
88
|
{ name: `Wallet ${accountIndex}` },
|
|
89
89
|
{
|
|
90
90
|
...providers,
|
|
@@ -111,7 +111,7 @@ const showResults = () => {
|
|
|
111
111
|
measurementUtil.start();
|
|
112
112
|
|
|
113
113
|
// Simple scheduler that distributes the requested number of calls evenly in the duration time
|
|
114
|
-
getLoadTestScheduler<
|
|
114
|
+
getLoadTestScheduler<BaseWallet>(
|
|
115
115
|
{
|
|
116
116
|
// callUnderTest must be a method returning an observable
|
|
117
117
|
callUnderTest: (id) => from(initWallet(id)),
|