@cardano-sdk/hardware-ledger 0.10.1 → 0.11.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,7 +1,8 @@
1
1
  /// <reference types="w3c-web-usb" />
2
2
  import * as Crypto from '@cardano-sdk/crypto';
3
3
  import { Cardano } from '@cardano-sdk/core';
4
- import { CommunicationType, KeyAgentBase, KeyAgentDependencies, KeyPurpose, SerializableLedgerKeyAgentData, SignBlobResult, SignTransactionContext } from '@cardano-sdk/key-management';
4
+ import { CommunicationType, KeyAgentBase, KeyAgentDependencies, KeyPurpose, SerializableLedgerKeyAgentData, SignBlobResult, SignTransactionContext, cip8 } from '@cardano-sdk/key-management';
5
+ import { Cip30DataSignature } from '@cardano-sdk/dapp-connector';
5
6
  import { HID } from 'node-hid';
6
7
  import { LedgerTransportType } from './types.js';
7
8
  import _LedgerConnection, { GetVersionResponse, Transaction, TransactionSigningMode } from '@cardano-foundation/ledgerjs-hw-app-cardano';
@@ -63,6 +64,7 @@ export declare class LedgerKeyAgent extends KeyAgentBase {
63
64
  private static isKeyHashOrScriptHashVoter;
64
65
  static getSigningMode(tx: Transaction): TransactionSigningMode;
65
66
  signTransaction({ body, hash }: Cardano.TxBodyWithHash, { knownAddresses, txInKeyPathMap }: SignTransactionContext): Promise<Cardano.Signatures>;
67
+ signCip8Data(request: cip8.Cip8SignDataContext): Promise<Cip30DataSignature>;
66
68
  signBlob(): Promise<SignBlobResult>;
67
69
  exportRootPrivateKey(): Promise<Crypto.Bip32PrivateKeyHex>;
68
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LedgerKeyAgent.d.ts","sourceRoot":"","sources":["../../src/LedgerKeyAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LedgerKeyAgent.d.ts","sourceRoot":"","sources":["../../src/LedgerKeyAgent.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,15 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
11
  };
12
12
  var _LedgerKeyAgent_communicationType;
13
13
  import * as Crypto from '@cardano-sdk/crypto';
14
- import { NotImplementedError } from '@cardano-sdk/core';
15
- import { CardanoKeyConst, Cip1852PathLevelIndexes, CommunicationType, KeyAgentBase, KeyAgentType, KeyPurpose, errors, util } from '@cardano-sdk/key-management';
14
+ import { AlgorithmId, CBORValue, COSESign1Builder, HeaderMap, Headers, Label, ProtectedHeaderMap } from '@emurgo/cardano-message-signing-nodejs';
15
+ import { Cardano, NotImplementedError, util as coreUtils } from '@cardano-sdk/core';
16
+ import { CardanoKeyConst, Cip1852PathLevelIndexes, CommunicationType, KeyAgentBase, KeyAgentType, KeyPurpose, KeyRole, cip8, errors, util } from '@cardano-sdk/key-management';
16
17
  import { HID } from 'node-hid';
17
- import { areNumbersEqualInConstantTime, areStringsEqualInConstantTime } from '@cardano-sdk/util';
18
+ import { HexBlob, areNumbersEqualInConstantTime, areStringsEqualInConstantTime } from '@cardano-sdk/util';
18
19
  import { str_to_path } from '@cardano-foundation/ledgerjs-hw-app-cardano/dist/utils/address';
19
20
  import { toLedgerTx } from './transformers/index.js';
20
21
  import TransportNodeHid from '@ledgerhq/hw-transport-node-hid-noevents';
21
- import _LedgerConnection, { CertificateType, CredentialParamsType, PoolKeyType, PoolOwnerType, TransactionSigningMode, TxOutputDestinationType, VoterType } from '@cardano-foundation/ledgerjs-hw-app-cardano';
22
+ import _LedgerConnection, { AddressType, CertificateType, CredentialParamsType, MessageAddressFieldType, PoolKeyType, PoolOwnerType, TransactionSigningMode, TxOutputDestinationType, VoterType } from '@cardano-foundation/ledgerjs-hw-app-cardano';
22
23
  import _TransportWebUSB from '@ledgerhq/hw-transport-webusb';
23
24
  const TransportWebUSB = _TransportWebUSB.default
24
25
  ? _TransportWebUSB.default
@@ -95,6 +96,73 @@ const isMultiSig = (tx) => {
95
96
  }
96
97
  return result;
97
98
  };
99
+ const getDerivationPath = (signWith, knownAddresses, accountIndex, purpose) => {
100
+ if (Cardano.DRepID.isValid(signWith)) {
101
+ const path = util.accountKeyDerivationPathToBip32Path(accountIndex, util.DREP_KEY_DERIVATION_PATH, purpose);
102
+ return {
103
+ addressParams: {
104
+ params: {
105
+ spendingPath: path
106
+ },
107
+ type: AddressType.ENTERPRISE_KEY
108
+ },
109
+ signingPath: path
110
+ };
111
+ }
112
+ const isRewardAccount = signWith.startsWith('stake');
113
+ if (isRewardAccount) {
114
+ const knownRewardAddress = knownAddresses.find(({ rewardAccount }) => rewardAccount === signWith);
115
+ if (!knownRewardAddress)
116
+ throw new cip8.Cip30DataSignError(cip8.Cip30DataSignErrorCode.ProofGeneration, 'Unknown reward address');
117
+ const path = util.accountKeyDerivationPathToBip32Path(accountIndex, knownRewardAddress.stakeKeyDerivationPath || util.STAKE_KEY_DERIVATION_PATH, purpose);
118
+ return {
119
+ addressParams: {
120
+ params: {
121
+ stakingPath: path
122
+ },
123
+ type: AddressType.REWARD_KEY
124
+ },
125
+ signingPath: path
126
+ };
127
+ }
128
+ const knownAddress = knownAddresses.find(({ address }) => address === signWith);
129
+ if (!knownAddress) {
130
+ throw new cip8.Cip30DataSignError(cip8.Cip30DataSignErrorCode.ProofGeneration, 'Unknown address');
131
+ }
132
+ if (knownAddress.rewardAccount) {
133
+ const spendingPath = util.accountKeyDerivationPathToBip32Path(accountIndex, {
134
+ index: knownAddress.index,
135
+ role: knownAddress.type
136
+ }, purpose);
137
+ const stakingPath = util.accountKeyDerivationPathToBip32Path(accountIndex, knownAddress.stakeKeyDerivationPath || {
138
+ index: 0,
139
+ role: KeyRole.Stake
140
+ }, purpose);
141
+ return {
142
+ addressParams: {
143
+ params: {
144
+ spendingPath,
145
+ stakingPath
146
+ },
147
+ type: AddressType.BASE_PAYMENT_KEY_STAKE_KEY
148
+ },
149
+ signingPath: spendingPath
150
+ };
151
+ }
152
+ const spendingPath = util.accountKeyDerivationPathToBip32Path(accountIndex, {
153
+ index: knownAddress.index,
154
+ role: knownAddress.type
155
+ }, purpose);
156
+ return {
157
+ addressParams: {
158
+ params: {
159
+ spendingPath
160
+ },
161
+ type: AddressType.ENTERPRISE_KEY
162
+ },
163
+ signingPath: spendingPath
164
+ };
165
+ };
98
166
  export class LedgerKeyAgent extends KeyAgentBase {
99
167
  constructor({ deviceConnection, ...serializableData }, dependencies) {
100
168
  super({ ...serializableData, __typename: KeyAgentType.Ledger }, dependencies);
@@ -359,8 +427,44 @@ export class LedgerKeyAgent extends KeyAgentBase {
359
427
  throw transportTypedError(error);
360
428
  }
361
429
  }
430
+ async signCip8Data(request) {
431
+ try {
432
+ const { signingPath, addressParams } = getDerivationPath(request.signWith, request.knownAddresses, this.accountIndex, this.purpose);
433
+ const messageData = {
434
+ address: addressParams,
435
+ addressFieldType: MessageAddressFieldType.ADDRESS,
436
+ hashPayload: false,
437
+ messageHex: request.payload,
438
+ network: {
439
+ networkId: this.chainId.networkId,
440
+ protocolMagic: this.chainId.networkMagic
441
+ },
442
+ preferHexDisplay: false,
443
+ signingPath
444
+ };
445
+ const deviceConnection = await LedgerKeyAgent.checkDeviceConnection(__classPrivateFieldGet(this, _LedgerKeyAgent_communicationType, "f"), this.deviceConnection);
446
+ const result = await deviceConnection.signMessage(messageData);
447
+ const addressBytes = coreUtils.hexToBytes(HexBlob(result.addressFieldHex));
448
+ const protectedHeaders = HeaderMap.new();
449
+ protectedHeaders.set_algorithm_id(Label.from_algorithm_id(AlgorithmId.EdDSA));
450
+ protectedHeaders.set_header(cip8.CoseLabel.address, CBORValue.new_bytes(addressBytes));
451
+ const builder = COSESign1Builder.new(Headers.new(ProtectedHeaderMap.new(protectedHeaders), HeaderMap.new()), coreUtils.hexToBytes(request.payload), false);
452
+ const coseSign1 = builder.build(Buffer.from(result.signatureHex, 'hex'));
453
+ const coseKey = cip8.createCoseKey(addressBytes, Crypto.Ed25519PublicKeyHex(result.signingPublicKeyHex));
454
+ return {
455
+ key: coreUtils.bytesToHex(coseKey.to_bytes()),
456
+ signature: coreUtils.bytesToHex(coseSign1.to_bytes())
457
+ };
458
+ }
459
+ catch (error) {
460
+ if (error.code === 28169) {
461
+ throw new errors.AuthenticationError('Transaction signing aborted', error);
462
+ }
463
+ throw transportTypedError(error);
464
+ }
465
+ }
362
466
  async signBlob() {
363
- throw new NotImplementedError('signBlob');
467
+ throw new NotImplementedError('Operation not supported!');
364
468
  }
365
469
  async exportRootPrivateKey() {
366
470
  throw new NotImplementedError('Operation not supported!');
@@ -1 +1 @@
1
- {"version":3,"file":"LedgerKeyAgent.js","sourceRoot":"","sources":["../../src/LedgerKeyAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LedgerKeyAgent.js","sourceRoot":"","sources":["../../src/LedgerKeyAgent.ts"],"names":[],"mappings":"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"}