@cardano-sdk/e2e 0.37.1 → 0.39.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.
@@ -1 +1 @@
1
- {"version":3,"file":"createMockKeyAgent.d.ts","sourceRoot":"","sources":["../../../src/util/createMockKeyAgent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAA4B,MAAM,6BAA6B,CAAC;AAQjG,eAAO,MAAM,kBAAkB,2BAA2B,cAAc,EAAE,KAAQ,KAAK,MAAM,CAAC,QAAQ,CAsBrG,CAAC"}
1
+ {"version":3,"file":"createMockKeyAgent.d.ts","sourceRoot":"","sources":["../../../src/util/createMockKeyAgent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAA4B,MAAM,6BAA6B,CAAC;AAQjG,eAAO,MAAM,kBAAkB,2BAA2B,cAAc,EAAE,KAAQ,KAAK,MAAM,CAAC,QAAQ,CAuBrG,CAAC"}
@@ -24,6 +24,7 @@ export const createMockKeyAgent = (deriveAddressesReturn = []) => {
24
24
  purpose: KeyPurpose.STANDARD
25
25
  },
26
26
  signBlob: jest.fn(),
27
+ signCip8Data: jest.fn(),
27
28
  signTransaction: jest.fn()
28
29
  };
29
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createMockKeyAgent.js","sourceRoot":"","sources":["../../../src/util/createMockKeyAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAA4B,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEjG,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;AACzC,MAAM,wBAAwB,GAAG,iBAAiB,CAChD,kIAAkI,CACnI,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,wBAA0C,EAAE,EAAyB,EAAE;IACxG,MAAM,8BAA8B,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC;IAClE,OAAO;QACL,YAAY;QACZ,YAAY,EAAE,IAAI,kBAAkB,EAAE;QACtC,OAAO;QACP,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;QAC/F,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;QAC1B,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE;QAC/B,wBAAwB;QACxB,OAAO,EAAE,UAAU,CAAC,QAAQ;QAC5B,gBAAgB,EAAE;YAChB,UAAU,EAAE,YAAY,CAAC,QAAQ;YACjC,YAAY;YACZ,OAAO;YACP,4BAA4B,EAAE,EAAE;YAChC,wBAAwB;YACxB,OAAO,EAAE,UAAU,CAAC,QAAQ;SAC7B;QACD,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;QACnB,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;KAC3B,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"createMockKeyAgent.js","sourceRoot":"","sources":["../../../src/util/createMockKeyAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAA4B,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEjG,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;AACzC,MAAM,wBAAwB,GAAG,iBAAiB,CAChD,kIAAkI,CACnI,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,wBAA0C,EAAE,EAAyB,EAAE;IACxG,MAAM,8BAA8B,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC;IAClE,OAAO;QACL,YAAY;QACZ,YAAY,EAAE,IAAI,kBAAkB,EAAE;QACtC,OAAO;QACP,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;QAC/F,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;QAC1B,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE;QAC/B,wBAAwB;QACxB,OAAO,EAAE,UAAU,CAAC,QAAQ;QAC5B,gBAAgB,EAAE;YAChB,UAAU,EAAE,YAAY,CAAC,QAAQ;YACjC,YAAY;YACZ,OAAO;YACP,4BAA4B,EAAE,EAAE;YAChC,wBAAwB;YACxB,OAAO,EAAE,UAAU,CAAC,QAAQ;SAC7B;QACD,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;QACnB,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;QACvB,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;KAC3B,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/e2e",
3
- "version": "0.37.1",
3
+ "version": "0.39.0",
4
4
  "description": "End to end tests for the cardano-js-sdk packages.",
5
5
  "engines": {
6
6
  "node": ">=16.20.2"
@@ -81,20 +81,20 @@
81
81
  "dependencies": {
82
82
  "@cardano-foundation/ledgerjs-hw-app-cardano": "^7.1.2",
83
83
  "@cardano-ogmios/client": "6.5.0",
84
- "@cardano-sdk/cardano-services": "~0.29.1",
85
- "@cardano-sdk/cardano-services-client": "~0.19.15",
86
- "@cardano-sdk/core": "~0.36.0",
84
+ "@cardano-sdk/cardano-services": "~0.29.3",
85
+ "@cardano-sdk/cardano-services-client": "~0.20.0",
86
+ "@cardano-sdk/core": "~0.38.0",
87
87
  "@cardano-sdk/crypto": "~0.1.29",
88
- "@cardano-sdk/hardware-ledger": "~0.10.2",
89
- "@cardano-sdk/hardware-trezor": "~0.4.36",
90
- "@cardano-sdk/input-selection": "~0.13.9",
91
- "@cardano-sdk/key-management": "~0.21.2",
92
- "@cardano-sdk/ogmios": "~0.16.0",
93
- "@cardano-sdk/tx-construction": "~0.19.9",
88
+ "@cardano-sdk/hardware-ledger": "~0.11.1",
89
+ "@cardano-sdk/hardware-trezor": "~0.5.1",
90
+ "@cardano-sdk/input-selection": "~0.13.11",
91
+ "@cardano-sdk/key-management": "~0.23.0",
92
+ "@cardano-sdk/ogmios": "~0.17.0",
93
+ "@cardano-sdk/tx-construction": "~0.20.0",
94
94
  "@cardano-sdk/util": "~0.15.4",
95
- "@cardano-sdk/util-dev": "~0.22.0",
96
- "@cardano-sdk/util-rxjs": "~0.7.22",
97
- "@cardano-sdk/wallet": "~0.40.0",
95
+ "@cardano-sdk/util-dev": "~0.22.2",
96
+ "@cardano-sdk/util-rxjs": "~0.7.24",
97
+ "@cardano-sdk/wallet": "~0.42.0",
98
98
  "@dcspark/cardano-multiplatform-lib-nodejs": "^3.1.1",
99
99
  "@vespaiach/axios-fetch-adapter": "^0.3.0",
100
100
  "axios": "^0.28.0",
@@ -124,10 +124,10 @@
124
124
  "@babel/core": "^7.18.2",
125
125
  "@babel/preset-env": "^7.18.2",
126
126
  "@babel/preset-typescript": "^7.17.12",
127
- "@cardano-sdk/dapp-connector": "~0.12.27",
128
- "@cardano-sdk/projection": "~0.11.26",
129
- "@cardano-sdk/projection-typeorm": "~0.8.28",
130
- "@cardano-sdk/web-extension": "~0.29.11",
127
+ "@cardano-sdk/dapp-connector": "~0.12.29",
128
+ "@cardano-sdk/projection": "~0.11.28",
129
+ "@cardano-sdk/projection-typeorm": "~0.8.30",
130
+ "@cardano-sdk/web-extension": "~0.31.0",
131
131
  "@dcspark/cardano-multiplatform-lib-browser": "^3.1.1",
132
132
  "@emurgo/cardano-message-signing-asmjs": "^1.0.1",
133
133
  "@types/bunyan": "^1.8.8",
@@ -181,5 +181,5 @@
181
181
  "webpack-cli": "^4.9.2",
182
182
  "webpack-merge": "^5.8.0"
183
183
  },
184
- "gitHead": "a06ddc8cd3971f4d855313de9eb3ff95965a36c9"
184
+ "gitHead": "3ff7ebb67640266c0a7479a7114421ae1b820635"
185
185
  }
@@ -28,6 +28,7 @@ export const createMockKeyAgent = (deriveAddressesReturn: GroupedAddress[] = [])
28
28
  purpose: KeyPurpose.STANDARD
29
29
  },
30
30
  signBlob: jest.fn(),
31
+ signCip8Data: jest.fn(),
31
32
  signTransaction: jest.fn()
32
33
  };
33
34
  };
@@ -1,5 +1,5 @@
1
1
  import * as Crypto from '@cardano-sdk/crypto';
2
- import { Cardano, Serialization, deserializeTx } from '@cardano-sdk/core';
2
+ import { Cardano, Serialization } from '@cardano-sdk/core';
3
3
  import { HexBlob } from '@cardano-sdk/util';
4
4
 
5
5
  /**
@@ -63,7 +63,7 @@ export class MultiSigTx {
63
63
 
64
64
  reader.readEndArray();
65
65
 
66
- const transaction = deserializeTx(reader.readEncodedValue());
66
+ const transaction = Serialization.deserializeTx(reader.readEncodedValue());
67
67
  reader.readEndArray();
68
68
 
69
69
  return new MultiSigTx(transaction, expectedSigners);
@@ -1,5 +1,5 @@
1
1
  import { BaseWallet } from '@cardano-sdk/wallet';
2
- import { Cardano, StakePoolProvider } from '@cardano-sdk/core';
2
+ import { Cardano, Serialization, StakePoolProvider } from '@cardano-sdk/core';
3
3
  import { buildSharedWallets } from '../wallet_epoch_0/SharedWallet/utils';
4
4
  import { filter, firstValueFrom, map, take } from 'rxjs';
5
5
  import {
@@ -20,11 +20,15 @@ const env = getEnv(walletVariables);
20
20
 
21
21
  const submitDelegationTx = async (alice: BaseWallet, bob: BaseWallet, charlotte: BaseWallet, pool: Cardano.PoolId) => {
22
22
  logger.info(`Creating delegation tx at epoch #${(await firstValueFrom(alice.currentEpoch$)).epochNo}`);
23
- let tx = (await alice.createTxBuilder().delegateFirstStakeCredential(pool).build().sign()).tx;
23
+ const tx = (await alice.createTxBuilder().delegateFirstStakeCredential(pool).build().sign()).tx;
24
24
 
25
- tx = await bob.updateWitness({ sender: { id: 'e2e' }, tx });
26
- tx = await charlotte.updateWitness({ sender: { id: 'e2e' }, tx });
27
- await alice.submitTx(tx);
25
+ // Serialize and transmit TX...
26
+ let serializedTx = Serialization.Transaction.fromCore(tx).toCbor();
27
+
28
+ serializedTx = await bob.addSignatures({ sender: { id: 'e2e' }, tx: serializedTx });
29
+ serializedTx = await charlotte.addSignatures({ sender: { id: 'e2e' }, tx: serializedTx });
30
+
31
+ await alice.submitTx(serializedTx);
28
32
 
29
33
  const { epochNo } = await firstValueFrom(alice.currentEpoch$);
30
34
  logger.info(`Delegation tx ${tx.id} submitted at epoch #${epochNo}`);
@@ -61,15 +65,18 @@ const buildSpendRewardTx = async (
61
65
  const { body } = await tx.inspect();
62
66
  logger.debug('Body of tx before sign');
63
67
  logger.debug(body);
64
- let signedTx = (await tx.sign()).tx;
68
+ const signedTx = (await tx.sign()).tx;
69
+
70
+ // Serialize and transmit TX...
71
+ let serializedTx = Serialization.Transaction.fromCore(signedTx).toCbor();
65
72
 
66
- signedTx = await bob.updateWitness({ sender: { id: 'e2e' }, tx: signedTx });
67
- signedTx = await charlotte.updateWitness({ sender: { id: 'e2e' }, tx: signedTx });
73
+ serializedTx = await bob.addSignatures({ sender: { id: 'e2e' }, tx: serializedTx });
74
+ serializedTx = await charlotte.addSignatures({ sender: { id: 'e2e' }, tx: serializedTx });
68
75
 
69
76
  logger.debug('Body of tx after sign');
70
77
  logger.debug(signedTx.body);
71
78
 
72
- return signedTx;
79
+ return serializedTx;
73
80
  };
74
81
 
75
82
  const getPoolIds = async (stakePoolProvider: StakePoolProvider, count: number) => {
@@ -187,13 +194,11 @@ describe('shared wallet delegation rewards', () => {
187
194
  logger.info(`Generated rewards: ${rewards} tLovelace`);
188
195
 
189
196
  // Spend reward
190
- const spendRewardTx = await buildSpendRewardTx(
191
- aliceMultiSigWallet,
192
- bobMultiSigWallet,
193
- charlotteMultiSigWallet,
194
- faucetWallet
195
- );
196
- expect(spendRewardTx.body.withdrawals?.length).toBeGreaterThan(0);
197
- await submitAndConfirm(aliceMultiSigWallet, spendRewardTx);
197
+ const spendRewardsTx = Serialization.Transaction.fromCbor(
198
+ await buildSpendRewardTx(aliceMultiSigWallet, bobMultiSigWallet, charlotteMultiSigWallet, faucetWallet)
199
+ ).toCore();
200
+
201
+ expect(spendRewardsTx.body.withdrawals?.length).toBeGreaterThan(0);
202
+ await submitAndConfirm(aliceMultiSigWallet, spendRewardsTx);
198
203
  });
199
204
  });
@@ -1,5 +1,5 @@
1
1
  import { BaseWallet } from '@cardano-sdk/wallet';
2
- import { Cardano } from '@cardano-sdk/core';
2
+ import { Cardano, Serialization } from '@cardano-sdk/core';
3
3
  import { buildSharedWallets } from './utils';
4
4
  import { filter, firstValueFrom, map, take } from 'rxjs';
5
5
  import {
@@ -97,14 +97,18 @@ describe('SharedWallet/simpleTx', () => {
97
97
  // Alice will initiate the transaction.
98
98
  const txBuilder = aliceMultiSigWallet.createTxBuilder();
99
99
  const txOut = await txBuilder.buildOutput().address(faucetAddress).coin(1_000_000n).build();
100
- let tx = (await txBuilder.addOutput(txOut).build().sign()).tx;
100
+ const tx = (await txBuilder.addOutput(txOut).build().sign()).tx;
101
+
102
+ // Serialize and transmit TX...
103
+ let serializedTx = Serialization.Transaction.fromCore(tx).toCbor();
101
104
 
102
105
  // Bob updates the transaction with his witness
103
- tx = await bobMultiSigWallet.updateWitness({ sender: { id: 'e2e' }, tx });
106
+ serializedTx = await bobMultiSigWallet.addSignatures({ sender: { id: 'e2e' }, tx: serializedTx });
104
107
 
105
108
  // Charlotte updates the transaction with her witness
106
- tx = await charlotteMultiSigWallet.updateWitness({ sender: { id: 'e2e' }, tx });
107
- const txId = await charlotteMultiSigWallet.submitTx(tx);
109
+ serializedTx = await charlotteMultiSigWallet.addSignatures({ sender: { id: 'e2e' }, tx: serializedTx });
110
+
111
+ const txId = await charlotteMultiSigWallet.submitTx(serializedTx);
108
112
 
109
113
  const finalTxFound = await firstValueFrom(
110
114
  aliceMultiSigWallet.transactions.history$.pipe(
@@ -1,11 +1,12 @@
1
1
  import * as Crypto from '@cardano-sdk/crypto';
2
+ import { Cardano, Serialization } from '@cardano-sdk/core';
3
+ import { Cip30DataSignature } from '@cardano-sdk/dapp-connector';
4
+ import { HexBlob } from '@cardano-sdk/util';
2
5
  import {
3
- AccountKeyDerivationPath,
4
6
  KeyAgent,
5
7
  KeyPurpose,
6
8
  KeyRole,
7
9
  SignBlobResult,
8
- SignDataContext,
9
10
  SignTransactionContext,
10
11
  TransactionSigner,
11
12
  WitnessOptions,
@@ -13,8 +14,6 @@ import {
13
14
  Witnesser,
14
15
  util
15
16
  } from '@cardano-sdk/key-management';
16
- import { Cardano, Serialization, TxCBOR } from '@cardano-sdk/core';
17
- import { HexBlob } from '@cardano-sdk/util';
18
17
  import { Logger } from 'ts-log';
19
18
  import { bip32Ed25519Factory, createStandaloneKeyAgent, getSharedWallet } from '../../../src';
20
19
 
@@ -204,11 +203,11 @@ export class SharedWalletWitnesser implements Witnesser {
204
203
  this.#stakingScript = stakingScript;
205
204
  }
206
205
 
207
- async signBlob(
208
- _derivationPath: AccountKeyDerivationPath,
209
- _blob: HexBlob,
210
- _context: SignDataContext
211
- ): Promise<SignBlobResult> {
206
+ async signData(): Promise<Cip30DataSignature> {
207
+ throw new Error('Method not implemented.');
208
+ }
209
+
210
+ async signBlob(): Promise<SignBlobResult> {
212
211
  throw new Error('Method not implemented.');
213
212
  }
214
213
 
@@ -268,7 +267,7 @@ export class SharedWalletWitnesser implements Witnesser {
268
267
  };
269
268
 
270
269
  return {
271
- cbor: TxCBOR.serialize(transaction),
270
+ cbor: Serialization.TxCBOR.serialize(transaction),
272
271
  context: {
273
272
  handleResolutions: context.handleResolutions ?? []
274
273
  },
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable max-statements */
2
2
  import { BaseWallet, ObservableWallet } from '@cardano-sdk/wallet';
3
3
  import { BigIntMath, isNotNil } from '@cardano-sdk/util';
4
- import { Cardano, StakePoolProvider } from '@cardano-sdk/core';
4
+ import { Cardano, Serialization, StakePoolProvider } from '@cardano-sdk/core';
5
5
  import {
6
6
  TX_TIMEOUT_DEFAULT,
7
7
  firstValueFromTimed,
@@ -172,9 +172,12 @@ describe('SharedWallet/delegation', () => {
172
172
  .sign()
173
173
  ).tx;
174
174
 
175
- tx = await bobMultiSigWallet.updateWitness({ sender: { id: 'e2e' }, tx });
176
- tx = await charlotteMultiSigWallet.updateWitness({ sender: { id: 'e2e' }, tx });
177
- await aliceMultiSigWallet.submitTx(tx);
175
+ // Serialize and transmit TX...
176
+ let serializedTx = Serialization.Transaction.fromCore(tx).toCbor();
177
+
178
+ serializedTx = await bobMultiSigWallet.addSignatures({ sender: { id: 'e2e' }, tx: serializedTx });
179
+ serializedTx = await charlotteMultiSigWallet.addSignatures({ sender: { id: 'e2e' }, tx: serializedTx });
180
+ await aliceMultiSigWallet.submitTx(serializedTx);
178
181
 
179
182
  // Test it locks available balance after tx is submitted
180
183
  await firstValueFromTimed(
@@ -224,10 +227,12 @@ describe('SharedWallet/delegation', () => {
224
227
 
225
228
  // Make a 2nd tx with key de-registration
226
229
  tx = (await aliceMultiSigWallet.createTxBuilder().delegateFirstStakeCredential(null).build().sign()).tx;
227
- tx = await bobMultiSigWallet.updateWitness({ sender: { id: 'e2e' }, tx });
228
- tx = await charlotteMultiSigWallet.updateWitness({ sender: { id: 'e2e' }, tx });
230
+ serializedTx = Serialization.Transaction.fromCore(tx).toCbor();
231
+
232
+ serializedTx = await bobMultiSigWallet.addSignatures({ sender: { id: 'e2e' }, tx: serializedTx });
233
+ serializedTx = await charlotteMultiSigWallet.addSignatures({ sender: { id: 'e2e' }, tx: serializedTx });
229
234
 
230
- await aliceMultiSigWallet.submitTx(tx);
235
+ await aliceMultiSigWallet.submitTx(serializedTx);
231
236
 
232
237
  await waitForTx(aliceMultiSigWallet, tx.id);
233
238
  const tx2ConfirmedState = await getWalletStateSnapshot(aliceMultiSigWallet);