@cardano-sdk/key-management 0.2.0-nightly.12 → 0.2.0-nightly.14

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,11 +1,11 @@
1
1
  import { AccountKeyDerivationPath, Ed25519KeyPair, KeyPair } from '../types';
2
- import { CSL } from '@cardano-sdk/core';
2
+ import { CML } from '@cardano-sdk/core';
3
3
  export declare const harden: (num: number) => number;
4
4
  export declare const STAKE_KEY_DERIVATION_PATH: AccountKeyDerivationPath;
5
5
  export declare const toEd25519KeyPair: (bip32KeyPair: KeyPair) => Ed25519KeyPair;
6
6
  export interface DeriveAccountPrivateKeyProps {
7
- rootPrivateKey: CSL.Bip32PrivateKey;
7
+ rootPrivateKey: CML.Bip32PrivateKey;
8
8
  accountIndex: number;
9
9
  }
10
- export declare const deriveAccountPrivateKey: ({ rootPrivateKey, accountIndex }: DeriveAccountPrivateKeyProps) => CSL.Bip32PrivateKey;
10
+ export declare const deriveAccountPrivateKey: ({ rootPrivateKey, accountIndex }: DeriveAccountPrivateKeyProps) => CML.Bip32PrivateKey;
11
11
  //# sourceMappingURL=key.d.ts.map
@@ -11,11 +11,11 @@ exports.STAKE_KEY_DERIVATION_PATH = {
11
11
  };
12
12
  const toEd25519KeyPair = (bip32KeyPair) => {
13
13
  const pubKeyBytes = Buffer.from(bip32KeyPair.vkey, 'hex');
14
- const cslPubKey = core_1.CSL.Bip32PublicKey.from_bytes(pubKeyBytes);
15
- const vkey = core_1.Cardano.Ed25519PublicKey.fromHexBlob(core_1.util.bytesToHex(cslPubKey.to_raw_key().as_bytes()));
14
+ const cmlPubKey = core_1.CML.Bip32PublicKey.from_bytes(pubKeyBytes);
15
+ const vkey = core_1.Cardano.Ed25519PublicKey.fromHexBlob(core_1.util.bytesToHex(cmlPubKey.to_raw_key().as_bytes()));
16
16
  const prvKeyBytes = Buffer.from(bip32KeyPair.skey, 'hex');
17
- const cslPrvKey = core_1.CSL.Bip32PrivateKey.from_bytes(prvKeyBytes);
18
- const skey = core_1.Cardano.Ed25519PrivateKey.fromHexBlob(core_1.util.bytesToHex(cslPrvKey.to_raw_key().as_bytes()));
17
+ const cmlPrvKey = core_1.CML.Bip32PrivateKey.from_bytes(prvKeyBytes);
18
+ const skey = core_1.Cardano.Ed25519PrivateKey.fromHexBlob(core_1.util.bytesToHex(cmlPrvKey.to_raw_key().as_bytes()));
19
19
  return {
20
20
  skey,
21
21
  vkey
@@ -1,16 +1,16 @@
1
1
  import * as ledger from '@cardano-foundation/ledgerjs-hw-app-cardano';
2
2
  import * as trezor from 'trezor-connect';
3
3
  import { BIP32Path, GroupedAddress } from '../types';
4
- import { CSL, Cardano } from '@cardano-sdk/core';
4
+ import { CML, Cardano } from '@cardano-sdk/core';
5
5
  export interface TxToLedgerProps {
6
- cslTxBody: CSL.TransactionBody;
6
+ cslTxBody: CML.TransactionBody;
7
7
  networkId: Cardano.NetworkId;
8
8
  inputResolver: Cardano.util.InputResolver;
9
9
  knownAddresses: GroupedAddress[];
10
10
  protocolMagic: Cardano.NetworkMagic;
11
11
  }
12
12
  export interface TxToTrezorProps {
13
- cslTxBody: CSL.TransactionBody;
13
+ cslTxBody: CML.TransactionBody;
14
14
  networkId: Cardano.NetworkId;
15
15
  accountIndex: number;
16
16
  inputResolver: Cardano.util.InputResolver;
@@ -49,8 +49,8 @@ const sortTokensCanonically = (tokens) => {
49
49
  });
50
50
  };
51
51
  const getRewardAccountKeyHash = (rewardAccount) => (0, util_1.usingAutoFree)((scope) => {
52
- const address = scope.manage(core_1.CSL.Address.from_bech32(rewardAccount.toString()));
53
- const rewardAddress = scope.manage(core_1.CSL.RewardAddress.from_address(address));
52
+ const address = scope.manage(core_1.CML.Address.from_bech32(rewardAccount.toString()));
53
+ const rewardAddress = scope.manage(core_1.CML.RewardAddress.from_address(address));
54
54
  const paymentCred = scope.manage(rewardAddress.payment_cred());
55
55
  const keyHash = scope.manage(paymentCred.to_keyhash());
56
56
  return Buffer.from(keyHash.to_bytes()).toString('hex');
@@ -81,11 +81,11 @@ const prepareTrezorInputs = async (inputs, inputResolver, knownAddresses) => {
81
81
  for (let i = 0; i < inputs.len(); i++) {
82
82
  const input = scope.manage(inputs.get(i));
83
83
  const inputTxId = scope.manage(input.transaction_id());
84
- const coreInput = core_1.cslToCore.txIn(input);
84
+ const coreInput = core_1.cmlToCore.txIn(input);
85
85
  const paymentAddress = await inputResolver.resolveInputAddress(coreInput);
86
86
  let trezorInput = {
87
87
  prev_hash: Buffer.from(inputTxId.to_bytes()).toString('hex'),
88
- prev_index: input.index()
88
+ prev_index: Number(scope.manage(input.index()).to_str())
89
89
  };
90
90
  let paymentKeyPath = null;
91
91
  if (paymentAddress) {
@@ -387,7 +387,7 @@ const prepareLedgerInputs = async (inputs, inputResolver, knownAddresses) => {
387
387
  const ledgerInputs = [];
388
388
  for (let i = 0; i < inputs.len(); i++) {
389
389
  const input = scope.manage(inputs.get(i));
390
- const coreInput = core_1.cslToCore.txIn(input);
390
+ const coreInput = core_1.cmlToCore.txIn(input);
391
391
  const paymentAddress = await inputResolver.resolveInputAddress(coreInput);
392
392
  let paymentKeyPath = null;
393
393
  if (paymentAddress) {
@@ -403,7 +403,7 @@ const prepareLedgerInputs = async (inputs, inputResolver, knownAddresses) => {
403
403
  }
404
404
  }
405
405
  ledgerInputs.push({
406
- outputIndex: input.index(),
406
+ outputIndex: Number(scope.manage(input.index()).to_str()),
407
407
  path: paymentKeyPath,
408
408
  txHashHex: Buffer.from(scope.manage(input.transaction_id()).to_bytes()).toString('hex')
409
409
  });
@@ -475,7 +475,7 @@ const prepareLedgerOutputs = (outputs, knownAddresses) => (0, util_1.usingAutoFr
475
475
  },
476
476
  type: ledger.TxOutputDestinationType.THIRD_PARTY
477
477
  };
478
- const outputDataHash = scope.manage(output.data_hash());
478
+ const outputDataHash = scope.manage(scope.manage(output.datum())?.as_data_hash());
479
479
  const datumHashHex = outputDataHash ? Buffer.from(outputDataHash.to_bytes()).toString('hex') : null;
480
480
  const outputRes = {
481
481
  amount: scope.manage(outputAmount.coin()).to_str(),
@@ -794,8 +794,8 @@ const txToLedger = async ({ cslTxBody, networkId, inputResolver: inputAddressRes
794
794
  : null;
795
795
  const signingMode = ledgerCertificatesData?.signingMode || ledger.TransactionSigningMode.ORDINARY_TRANSACTION;
796
796
  const fee = scope.manage(cslTxBody.fee()).to_str();
797
- const ttl = cslTxBody.ttl();
798
- const validityStartInterval = cslTxBody.validity_start_interval();
797
+ const ttl = Number(scope.manage(cslTxBody.ttl())?.to_str());
798
+ const validityStartInterval = Number(scope.manage(cslTxBody.validity_start_interval())?.to_str());
799
799
  const txBodyAuxDataHash = scope.manage(cslTxBody.auxiliary_data_hash());
800
800
  const auxiliaryData = txBodyAuxDataHash
801
801
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"mapHardwareSigningData.js","sourceRoot":"","sources":["../../../src/util/mapHardwareSigningData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapHardwareSigningData.js","sourceRoot":"","sources":["../../../src/util/mapHardwareSigningData.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ownSignatureKeyPaths.d.ts","sourceRoot":"","sources":["../../../src/util/ownSignatureKeyPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAW,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAS5C,eAAO,MAAM,oBAAoB,WACvB,QAAQ,eAAe,kBACf,cAAc,EAAE,iBACjB,QAAQ,IAAI,CAAC,aAAa,KACxC,QAAQ,wBAAwB,EAAE,CAkBpC,CAAC"}
1
+ {"version":3,"file":"ownSignatureKeyPaths.d.ts","sourceRoot":"","sources":["../../../src/util/ownSignatureKeyPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAW,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAS5C,eAAO,MAAM,oBAAoB,WACvB,QAAQ,eAAe,kBACf,cAAc,EAAE,iBACjB,QAAQ,IAAI,CAAC,aAAa,KACxC,QAAQ,wBAAwB,EAAE,CAuBpC,CAAC"}
@@ -14,8 +14,10 @@ const ownSignatureKeyPaths = async (txBody, knownAddresses, inputResolver) => {
14
14
  return null;
15
15
  return knownAddresses.find(({ address }) => address === ownAddress);
16
16
  }))).filter(util_1.isNotNil)).map(({ type, index }) => ({ index, role: Number(type) }));
17
+ const rewardAccounts = new Set(knownAddresses.map(({ rewardAccount }) => rewardAccount));
17
18
  const isStakingKeySignatureRequired = txBody.certificates?.length;
18
- if (isStakingKeySignatureRequired || txBody.withdrawals?.length) {
19
+ if (isStakingKeySignatureRequired ||
20
+ txBody.withdrawals?.some((withdrawal) => rewardAccounts.has(withdrawal.stakeAddress))) {
19
21
  return [...paymentKeyPaths, { index: 0, role: types_1.KeyRole.Stake }];
20
22
  }
21
23
  return paymentKeyPaths;
@@ -1 +1 @@
1
- {"version":3,"file":"ownSignatureKeyPaths.js","sourceRoot":"","sources":["../../../src/util/ownSignatureKeyPaths.ts"],"names":[],"mappings":";;;;;;AAAA,oCAA6E;AAE7E,4CAA6C;AAC7C,uDAA+B;AAOxB,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAA+B,EAC/B,cAAgC,EAChC,aAAyC,EACJ,EAAE;IACvC,MAAM,eAAe,GAAG,IAAA,cAAI,EAC1B,CACE,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;IACtE,CAAC,CAAC,CACH,CACF,CAAC,MAAM,CAAC,eAAQ,CAAC,CACnB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5D,MAAM,6BAA6B,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC;IAClE,IAAI,6BAA6B,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE;QAC/D,OAAO,CAAC,GAAG,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAO,CAAC,KAAK,EAAE,CAAC,CAAC;KAChE;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAtBW,QAAA,oBAAoB,wBAsB/B"}
1
+ {"version":3,"file":"ownSignatureKeyPaths.js","sourceRoot":"","sources":["../../../src/util/ownSignatureKeyPaths.ts"],"names":[],"mappings":";;;;;;AAAA,oCAA6E;AAE7E,4CAA6C;AAC7C,uDAA+B;AAOxB,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAA+B,EAC/B,cAAgC,EAChC,aAAyC,EACJ,EAAE;IACvC,MAAM,eAAe,GAAG,IAAA,cAAI,EAC1B,CACE,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;IACtE,CAAC,CAAC,CACH,CACF,CAAC,MAAM,CAAC,eAAQ,CAAC,CACnB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEzF,MAAM,6BAA6B,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC;IAClE,IACE,6BAA6B;QAC7B,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EACrF;QACA,OAAO,CAAC,GAAG,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAO,CAAC,KAAK,EAAE,CAAC,CAAC;KAChE;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AA3BW,QAAA,oBAAoB,wBA2B/B"}
@@ -12,7 +12,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
12
12
  var _InMemoryKeyAgent_instances, _InMemoryKeyAgent_getPassword, _InMemoryKeyAgent_decryptRootPrivateKey;
13
13
  import * as errors from './errors';
14
14
  import { KeyAgentType } from './types';
15
- import { CSL, Cardano, util } from '@cardano-sdk/core';
15
+ import { CML, Cardano, util } from '@cardano-sdk/core';
16
16
  import { KeyAgentBase } from './KeyAgentBase';
17
17
  import { deriveAccountPrivateKey, harden, joinMnemonicWords, mnemonicWordsToEntropy, ownSignatureKeyPaths, validateMnemonic } from './util';
18
18
  import { emip3decrypt, emip3encrypt } from './emip3';
@@ -53,7 +53,7 @@ export class InMemoryKeyAgent extends KeyAgentBase {
53
53
  if (!validMnemonic)
54
54
  throw new errors.InvalidMnemonicError();
55
55
  const entropy = Buffer.from(mnemonicWordsToEntropy(mnemonicWords), 'hex');
56
- const rootPrivateKey = CSL.Bip32PrivateKey.from_bip39_entropy(entropy, mnemonic2ndFactorPassphrase);
56
+ const rootPrivateKey = CML.Bip32PrivateKey.from_bip39_entropy(entropy, mnemonic2ndFactorPassphrase);
57
57
  const password = await getPasswordRethrowTypedError(getPassword);
58
58
  const encryptedRootPrivateKey = await emip3encrypt(rootPrivateKey.as_bytes(), password);
59
59
  const accountPrivateKey = deriveAccountPrivateKey({
@@ -81,7 +81,7 @@ export class InMemoryKeyAgent extends KeyAgentBase {
81
81
  }
82
82
  async exportExtendedKeyPair(derivationPath) {
83
83
  const rootPrivateKey = await this.exportRootPrivateKey();
84
- const cslRootPrivateKey = CSL.Bip32PrivateKey.from_bytes(Buffer.from(rootPrivateKey, 'hex'));
84
+ const cslRootPrivateKey = CML.Bip32PrivateKey.from_bytes(Buffer.from(rootPrivateKey, 'hex'));
85
85
  let cslPrivateKey = cslRootPrivateKey;
86
86
  for (const val of derivationPath) {
87
87
  cslPrivateKey = cslPrivateKey.derive(harden(val));
@@ -101,6 +101,6 @@ _InMemoryKeyAgent_getPassword = new WeakMap(), _InMemoryKeyAgent_instances = new
101
101
  catch (error) {
102
102
  throw new errors.AuthenticationError('Failed to decrypt root private key', error);
103
103
  }
104
- return CSL.Bip32PrivateKey.from_bytes(decryptedRootKeyBytes);
104
+ return CML.Bip32PrivateKey.from_bytes(decryptedRootKeyBytes);
105
105
  };
106
106
  //# sourceMappingURL=InMemoryKeyAgent.js.map
@@ -1,5 +1,5 @@
1
1
  import { AccountAddressDerivationPath, AccountKeyDerivationPath, GroupedAddress, KeyAgent, KeyAgentDependencies, SerializableKeyAgentData, SignBlobResult, SignTransactionOptions } from './types';
2
- import { CSL, Cardano } from '@cardano-sdk/core';
2
+ import { CML, Cardano } from '@cardano-sdk/core';
3
3
  export declare abstract class KeyAgentBase implements KeyAgent {
4
4
  #private;
5
5
  protected readonly inputResolver: Cardano.util.InputResolver;
@@ -15,6 +15,6 @@ export declare abstract class KeyAgentBase implements KeyAgent {
15
15
  constructor(serializableData: SerializableKeyAgentData, { inputResolver }: KeyAgentDependencies);
16
16
  deriveAddress({ index, type }: AccountAddressDerivationPath): Promise<GroupedAddress>;
17
17
  derivePublicKey(derivationPath: AccountKeyDerivationPath): Promise<Cardano.Ed25519PublicKey>;
18
- protected deriveCslPublicKey({ index, role: type }: AccountKeyDerivationPath): Promise<CSL.PublicKey>;
18
+ protected deriveCmlPublicKey({ index, role: type }: AccountKeyDerivationPath): Promise<CML.PublicKey>;
19
19
  }
20
20
  //# sourceMappingURL=KeyAgentBase.d.ts.map
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _KeyAgentBase_serializableData;
13
- import { CSL, Cardano, util } from '@cardano-sdk/core';
13
+ import { CML, Cardano, util } from '@cardano-sdk/core';
14
14
  import { STAKE_KEY_DERIVATION_PATH } from './util';
15
15
  export class KeyAgentBase {
16
16
  constructor(serializableData, { inputResolver }) {
@@ -40,14 +40,14 @@ export class KeyAgentBase {
40
40
  const knownAddress = this.knownAddresses.find((addr) => addr.type === type && addr.index === index);
41
41
  if (knownAddress)
42
42
  return knownAddress;
43
- const derivedPublicPaymentKey = await this.deriveCslPublicKey({
43
+ const derivedPublicPaymentKey = await this.deriveCmlPublicKey({
44
44
  index,
45
45
  role: type
46
46
  });
47
- const publicStakeKey = await this.deriveCslPublicKey(STAKE_KEY_DERIVATION_PATH);
48
- const stakeKeyCredential = CSL.StakeCredential.from_keyhash(publicStakeKey.hash());
49
- const address = CSL.BaseAddress.new(this.networkId, CSL.StakeCredential.from_keyhash(derivedPublicPaymentKey.hash()), stakeKeyCredential).to_address();
50
- const rewardAccount = CSL.RewardAddress.new(this.networkId, stakeKeyCredential).to_address();
47
+ const publicStakeKey = await this.deriveCmlPublicKey(STAKE_KEY_DERIVATION_PATH);
48
+ const stakeKeyCredential = CML.StakeCredential.from_keyhash(publicStakeKey.hash());
49
+ const address = CML.BaseAddress.new(this.networkId, CML.StakeCredential.from_keyhash(derivedPublicPaymentKey.hash()), stakeKeyCredential).to_address();
50
+ const rewardAccount = CML.RewardAddress.new(this.networkId, stakeKeyCredential).to_address();
51
51
  const groupedAddress = {
52
52
  accountIndex: this.accountIndex,
53
53
  address: Cardano.Address(address.to_bech32()),
@@ -60,12 +60,12 @@ export class KeyAgentBase {
60
60
  return groupedAddress;
61
61
  }
62
62
  async derivePublicKey(derivationPath) {
63
- const cslPublicKey = await this.deriveCslPublicKey(derivationPath);
63
+ const cslPublicKey = await this.deriveCmlPublicKey(derivationPath);
64
64
  return Cardano.Ed25519PublicKey.fromHexBlob(util.bytesToHex(cslPublicKey.as_bytes()));
65
65
  }
66
- async deriveCslPublicKey({ index, role: type }) {
66
+ async deriveCmlPublicKey({ index, role: type }) {
67
67
  const accountPublicKeyBytes = Buffer.from(this.extendedAccountPublicKey, 'hex');
68
- const accountPublicKey = CSL.Bip32PublicKey.from_bytes(accountPublicKeyBytes);
68
+ const accountPublicKey = CML.Bip32PublicKey.from_bytes(accountPublicKeyBytes);
69
69
  return accountPublicKey.derive(type).derive(index).to_raw_key();
70
70
  }
71
71
  }
@@ -11,7 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
11
  };
12
12
  var _LedgerKeyAgent_communicationType, _LedgerKeyAgent_protocolMagic;
13
13
  import { AuthenticationError, TransportError } from './errors';
14
- import { Cardano, NotImplementedError, coreToCsl } from '@cardano-sdk/core';
14
+ import { Cardano, NotImplementedError, coreToCml } from '@cardano-sdk/core';
15
15
  import { CardanoKeyConst, Cip1852PathLevelIndexes, CommunicationType, KeyAgentType } from './types';
16
16
  import { KeyAgentBase } from './KeyAgentBase';
17
17
  import { ManagedFreeableScope } from '@cardano-sdk/util';
@@ -143,7 +143,7 @@ export class LedgerKeyAgent extends KeyAgentBase {
143
143
  async signTransaction({ body }) {
144
144
  const scope = new ManagedFreeableScope();
145
145
  try {
146
- const cslTxBody = coreToCsl.txBody(scope, body);
146
+ const cslTxBody = coreToCml.txBody(scope, body);
147
147
  const ledgerTxData = await txToLedger({
148
148
  cslTxBody,
149
149
  inputResolver: this.inputResolver,
@@ -11,7 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
11
  };
12
12
  var _TrezorKeyAgent_protocolMagic;
13
13
  import { AuthenticationError, TransportError } from './errors';
14
- import { Cardano, NotImplementedError, coreToCsl } from '@cardano-sdk/core';
14
+ import { Cardano, NotImplementedError, coreToCml } from '@cardano-sdk/core';
15
15
  import { CardanoKeyConst, CommunicationType, KeyAgentType } from './types';
16
16
  import { KeyAgentBase } from './KeyAgentBase';
17
17
  import { ManagedFreeableScope } from '@cardano-sdk/util';
@@ -91,7 +91,7 @@ export class TrezorKeyAgent extends KeyAgentBase {
91
91
  const scope = new ManagedFreeableScope();
92
92
  try {
93
93
  await this.isTrezorInitialized;
94
- const cslTxBody = coreToCsl.txBody(scope, body);
94
+ const cslTxBody = coreToCml.txBody(scope, body);
95
95
  const trezorTxData = await txToTrezor({
96
96
  accountIndex: this.accountIndex,
97
97
  cslTxBody,
@@ -1,5 +1,5 @@
1
1
  import { AlgorithmId, CBORValue, COSEKey, KeyType as COSEKeyType, COSESign1Builder, CurveType, HeaderMap, Headers, Label, ProtectedHeaderMap } from '@emurgo/cardano-message-signing-nodejs';
2
- import { ComposableError, parseCslAddress, util } from '@cardano-sdk/core';
2
+ import { ComposableError, parseCmlAddress, util } from '@cardano-sdk/core';
3
3
  import { CoseLabel } from './util';
4
4
  import { STAKE_KEY_DERIVATION_PATH } from '../util';
5
5
  import { firstValueFrom } from 'rxjs';
@@ -18,7 +18,7 @@ export class Cip30DataSignError extends ComposableError {
18
18
  }
19
19
  }
20
20
  const getAddressBytes = (signWith) => usingAutoFree((scope) => {
21
- const cslAddress = parseCslAddress(scope, signWith.toString());
21
+ const cslAddress = parseCmlAddress(scope, signWith.toString());
22
22
  if (!cslAddress) {
23
23
  throw new Cip30DataSignError(Cip30DataSignErrorCode.AddressNotPK, 'Invalid address');
24
24
  }