@cardano-sdk/key-management 0.10.3 → 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.
Files changed (35) hide show
  1. package/dist/cjs/TrezorKeyAgent.d.ts +5 -8
  2. package/dist/cjs/TrezorKeyAgent.d.ts.map +1 -1
  3. package/dist/cjs/TrezorKeyAgent.js +10 -150
  4. package/dist/cjs/TrezorKeyAgent.js.map +1 -1
  5. package/dist/cjs/cip8/cip30signData.d.ts +1 -1
  6. package/dist/cjs/cip8/cip30signData.d.ts.map +1 -1
  7. package/dist/cjs/cip8/cip30signData.js +6 -0
  8. package/dist/cjs/cip8/cip30signData.js.map +1 -1
  9. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  10. package/dist/cjs/util/index.d.ts +0 -1
  11. package/dist/cjs/util/index.d.ts.map +1 -1
  12. package/dist/cjs/util/index.js +0 -1
  13. package/dist/cjs/util/index.js.map +1 -1
  14. package/dist/esm/TrezorKeyAgent.d.ts +5 -8
  15. package/dist/esm/TrezorKeyAgent.d.ts.map +1 -1
  16. package/dist/esm/TrezorKeyAgent.js +11 -125
  17. package/dist/esm/TrezorKeyAgent.js.map +1 -1
  18. package/dist/esm/cip8/cip30signData.d.ts +1 -1
  19. package/dist/esm/cip8/cip30signData.d.ts.map +1 -1
  20. package/dist/esm/cip8/cip30signData.js +7 -1
  21. package/dist/esm/cip8/cip30signData.js.map +1 -1
  22. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  23. package/dist/esm/util/index.d.ts +0 -1
  24. package/dist/esm/util/index.d.ts.map +1 -1
  25. package/dist/esm/util/index.js +0 -1
  26. package/dist/esm/util/index.js.map +1 -1
  27. package/package.json +7 -7
  28. package/dist/cjs/util/mapHardwareSigningData.d.ts +0 -37
  29. package/dist/cjs/util/mapHardwareSigningData.d.ts.map +0 -1
  30. package/dist/cjs/util/mapHardwareSigningData.js +0 -885
  31. package/dist/cjs/util/mapHardwareSigningData.js.map +0 -1
  32. package/dist/esm/util/mapHardwareSigningData.d.ts +0 -37
  33. package/dist/esm/util/mapHardwareSigningData.d.ts.map +0 -1
  34. package/dist/esm/util/mapHardwareSigningData.js +0 -854
  35. package/dist/esm/util/mapHardwareSigningData.js.map +0 -1
@@ -18,14 +18,11 @@ export interface CreateTrezorKeyAgentProps {
18
18
  }
19
19
  export declare type TrezorConnectInstanceType = typeof TrezorConnectNode | typeof TrezorConnectWeb;
20
20
  export declare class TrezorKeyAgent extends KeyAgentBase {
21
- #private;
22
- readonly isTrezorInitialized: Promise<boolean>;
23
- constructor({ isTrezorInitialized, ...serializableData }: TrezorKeyAgentProps, dependencies: KeyAgentDependencies);
24
- static initializeTrezorTransport({ manifest, communicationType, silentMode, lazyLoad }: TrezorConfig): Promise<boolean>;
25
- static checkDeviceConnection(communicationType: CommunicationType): Promise<Features>;
26
- static getXpub({ accountIndex, communicationType }: GetTrezorXpubProps): Promise<Crypto.Bip32PublicKeyHex>;
27
- static createWithDevice({ chainId, accountIndex, trezorConfig }: CreateTrezorKeyAgentProps, dependencies: KeyAgentDependencies): Promise<TrezorKeyAgent>;
28
- signTransaction({ body }: Cardano.TxBodyWithHash): Promise<Cardano.Signatures>;
21
+ static initializeTrezorTransport(__config: TrezorConfig): Promise<boolean>;
22
+ static checkDeviceConnection(_communicationType: CommunicationType): Promise<Features>;
23
+ static getXpub(_props: GetTrezorXpubProps): Promise<Crypto.Bip32PublicKeyHex>;
24
+ static createWithDevice(_props: CreateTrezorKeyAgentProps, _dependencies: KeyAgentDependencies): Promise<TrezorKeyAgent>;
25
+ signTransaction(_body: Cardano.TxBodyWithHash): Promise<Cardano.Signatures>;
29
26
  signBlob(): Promise<SignBlobResult>;
30
27
  exportRootPrivateKey(): Promise<Crypto.Bip32PrivateKeyHex>;
31
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TrezorKeyAgent.d.ts","sourceRoot":"","sources":["../../src/TrezorKeyAgent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAkC,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAEL,iBAAiB,EACjB,oBAAoB,EAEpB,8BAA8B,EAC9B,cAAc,EACd,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AAEnD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,8BAA8B,EAAE,YAAY,CAAC;IAC7F,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,oBAAY,yBAAyB,GAAG,OAAO,iBAAiB,GAAG,OAAO,gBAAgB,CAAC;AAQ3F,qBAAa,cAAe,SAAQ,YAAY;;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAGnC,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,EAAE,EAAE,mBAAmB,EAAE,YAAY,EAAE,oBAAoB;WAWpG,yBAAyB,CAAC,EACrC,QAAQ,EACR,iBAAiB,EACjB,UAAkB,EAClB,QAAgB,EACjB,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;WAyBrB,qBAAqB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;WAmB9E,OAAO,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;WAqBnG,gBAAgB,CAC3B,EAAE,OAAO,EAAE,YAAgB,EAAE,YAAY,EAAE,EAAE,yBAAyB,EACtE,YAAY,EAAE,oBAAoB;IAoB9B,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;IAuC9E,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAInC,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;CAGjE"}
1
+ {"version":3,"file":"TrezorKeyAgent.d.ts","sourceRoot":"","sources":["../../src/TrezorKeyAgent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAuB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,8BAA8B,EAC9B,cAAc,EACd,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AAEnD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,8BAA8B,EAAE,YAAY,CAAC;IAC7F,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,oBAAY,yBAAyB,GAAG,OAAO,iBAAiB,GAAG,OAAO,gBAAgB,CAAC;AAE3F,qBAAa,cAAe,SAAQ,YAAY;WACjC,yBAAyB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;WAInE,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;WAI/E,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;WAItE,gBAAgB,CAC3B,MAAM,EAAE,yBAAyB,EACjC,aAAa,EAAE,oBAAoB,GAClC,OAAO,CAAC,cAAc,CAAC;IAIpB,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;IAI3E,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAInC,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;CAGjE"}
@@ -1,162 +1,23 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
26
- if (kind === "m") throw new TypeError("Private method is not writable");
27
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
28
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
29
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
30
- };
31
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
32
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
33
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
34
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
35
- };
36
- var __importDefault = (this && this.__importDefault) || function (mod) {
37
- return (mod && mod.__esModule) ? mod : { "default": mod };
38
- };
39
- var _TrezorKeyAgent_communicationType;
40
2
  Object.defineProperty(exports, "__esModule", { value: true });
41
3
  exports.TrezorKeyAgent = void 0;
42
- const Crypto = __importStar(require("@cardano-sdk/crypto"));
43
- const errors_1 = require("./errors");
44
4
  const core_1 = require("@cardano-sdk/core");
45
- const types_1 = require("./types");
46
5
  const KeyAgentBase_1 = require("./KeyAgentBase");
47
- const util_1 = require("@cardano-sdk/util");
48
- const util_2 = require("./util");
49
- const connect_1 = __importDefault(require("@trezor/connect"));
50
- const connect_web_1 = __importDefault(require("@trezor/connect-web"));
51
- const getTrezorConnect = (communicationType) => communicationType === types_1.CommunicationType.Node ? connect_1.default : connect_web_1.default;
52
- const transportTypedError = (error) => new errors_1.AuthenticationError('Trezor transport failed', new errors_1.TransportError('Trezor transport failed', error));
53
6
  class TrezorKeyAgent extends KeyAgentBase_1.KeyAgentBase {
54
- constructor({ isTrezorInitialized, ...serializableData }, dependencies) {
55
- super({ ...serializableData, __typename: types_1.KeyAgentType.Trezor }, dependencies);
56
- _TrezorKeyAgent_communicationType.set(this, void 0);
57
- if (!isTrezorInitialized) {
58
- this.isTrezorInitialized = TrezorKeyAgent.initializeTrezorTransport(serializableData.trezorConfig);
59
- }
60
- __classPrivateFieldSet(this, _TrezorKeyAgent_communicationType, serializableData.trezorConfig.communicationType, "f");
61
- }
62
- static async initializeTrezorTransport({ manifest, communicationType, silentMode = false, lazyLoad = false }) {
63
- const trezorConnect = getTrezorConnect(communicationType);
64
- try {
65
- await trezorConnect.init({
66
- lazyLoad: communicationType !== types_1.CommunicationType.Node && lazyLoad,
67
- manifest,
68
- popup: communicationType !== types_1.CommunicationType.Node && !silentMode
69
- });
70
- return true;
71
- }
72
- catch (error) {
73
- if (error.code === 'Init_AlreadyInitialized')
74
- return true;
75
- throw transportTypedError(error);
76
- }
7
+ static async initializeTrezorTransport(__config) {
8
+ throw new core_1.NotImplementedError('initializeTrezorTransport');
77
9
  }
78
- static async checkDeviceConnection(communicationType) {
79
- const trezorConnect = getTrezorConnect(communicationType);
80
- try {
81
- const deviceFeatures = await trezorConnect.getFeatures();
82
- if (!deviceFeatures.success) {
83
- throw new errors_1.TransportError('Failed to get device', deviceFeatures.payload);
84
- }
85
- if (deviceFeatures.payload.model !== 'T') {
86
- throw new errors_1.TransportError(`Trezor device model "${deviceFeatures.payload.model}" is not supported.`);
87
- }
88
- return deviceFeatures.payload;
89
- }
90
- catch (error) {
91
- throw transportTypedError(error);
92
- }
10
+ static async checkDeviceConnection(_communicationType) {
11
+ throw new core_1.NotImplementedError('checkDeviceConnection');
93
12
  }
94
- static async getXpub({ accountIndex, communicationType }) {
95
- try {
96
- await TrezorKeyAgent.checkDeviceConnection(communicationType);
97
- const derivationPath = `m/${types_1.CardanoKeyConst.PURPOSE}'/${types_1.CardanoKeyConst.COIN_TYPE}'/${accountIndex}'`;
98
- const trezorConnect = getTrezorConnect(communicationType);
99
- const extendedPublicKey = await trezorConnect.cardanoGetPublicKey({
100
- path: derivationPath,
101
- showOnTrezor: true
102
- });
103
- if (!extendedPublicKey.success) {
104
- throw new errors_1.TransportError('Failed to export extended account public key', extendedPublicKey.payload);
105
- }
106
- return Crypto.Bip32PublicKeyHex(extendedPublicKey.payload.publicKey);
107
- }
108
- catch (error) {
109
- throw transportTypedError(error);
110
- }
13
+ static async getXpub(_props) {
14
+ throw new core_1.NotImplementedError('getXpub');
111
15
  }
112
- static async createWithDevice({ chainId, accountIndex = 0, trezorConfig }, dependencies) {
113
- const isTrezorInitialized = await TrezorKeyAgent.initializeTrezorTransport(trezorConfig);
114
- const extendedAccountPublicKey = await TrezorKeyAgent.getXpub({
115
- accountIndex,
116
- communicationType: trezorConfig.communicationType
117
- });
118
- return new TrezorKeyAgent({
119
- accountIndex,
120
- chainId,
121
- extendedAccountPublicKey,
122
- isTrezorInitialized,
123
- knownAddresses: [],
124
- trezorConfig
125
- }, dependencies);
16
+ static async createWithDevice(_props, _dependencies) {
17
+ throw new core_1.NotImplementedError('createWithDevice');
126
18
  }
127
- async signTransaction({ body }) {
128
- const scope = new util_1.ManagedFreeableScope();
129
- try {
130
- await this.isTrezorInitialized;
131
- const cslTxBody = core_1.coreToCml.txBody(scope, body);
132
- const trezorTxData = await (0, util_2.txToTrezor)({
133
- accountIndex: this.accountIndex,
134
- chainId: this.chainId,
135
- cslTxBody,
136
- inputResolver: this.inputResolver,
137
- knownAddresses: this.knownAddresses
138
- });
139
- const trezorConnect = getTrezorConnect(__classPrivateFieldGet(this, _TrezorKeyAgent_communicationType, "f"));
140
- const result = await trezorConnect.cardanoSignTransaction(trezorTxData);
141
- if (!result.success) {
142
- throw new errors_1.TransportError('Failed to export extended account public key', result.payload);
143
- }
144
- const signedData = result.payload;
145
- return new Map(await Promise.all(signedData.witnesses.map(async (witness) => {
146
- const publicKey = Crypto.Ed25519PublicKeyHex(witness.pubKey);
147
- const signature = Crypto.Ed25519SignatureHex(witness.signature);
148
- return [publicKey, signature];
149
- })));
150
- }
151
- catch (error) {
152
- if (error.innerError.code === 'Failure_ActionCancelled') {
153
- throw new errors_1.AuthenticationError('Transaction signing aborted', error);
154
- }
155
- throw transportTypedError(error);
156
- }
157
- finally {
158
- scope.dispose();
159
- }
19
+ async signTransaction(_body) {
20
+ throw new core_1.NotImplementedError('signTransaction');
160
21
  }
161
22
  async signBlob() {
162
23
  throw new core_1.NotImplementedError('signBlob');
@@ -166,5 +27,4 @@ class TrezorKeyAgent extends KeyAgentBase_1.KeyAgentBase {
166
27
  }
167
28
  }
168
29
  exports.TrezorKeyAgent = TrezorKeyAgent;
169
- _TrezorKeyAgent_communicationType = new WeakMap();
170
30
  //# sourceMappingURL=TrezorKeyAgent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrezorKeyAgent.js","sourceRoot":"","sources":["../../src/TrezorKeyAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrezorKeyAgent.js","sourceRoot":"","sources":["../../src/TrezorKeyAgent.ts"],"names":[],"mappings":";;;AAEA,4CAAiE;AAQjE,iDAA8C;AAqB9C,MAAa,cAAe,SAAQ,2BAAY;IAC9C,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,QAAsB;QAC3D,MAAM,IAAI,0BAAmB,CAAC,2BAA2B,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,kBAAqC;QACtE,MAAM,IAAI,0BAAmB,CAAC,uBAAuB,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAA0B;QAC7C,MAAM,IAAI,0BAAmB,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,MAAiC,EACjC,aAAmC;QAEnC,MAAM,IAAI,0BAAmB,CAAC,kBAAkB,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAA6B;QACjD,MAAM,IAAI,0BAAmB,CAAC,iBAAiB,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,0BAAmB,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,0BAAmB,CAAC,0BAA0B,CAAC,CAAC;IAC5D,CAAC;CACF;AA/BD,wCA+BC"}
@@ -4,7 +4,7 @@ import { Cip30DataSignature } from '@cardano-sdk/dapp-connector';
4
4
  import { ComposableError, HexBlob } from '@cardano-sdk/util';
5
5
  export interface Cip30SignDataRequest {
6
6
  keyAgent: AsyncKeyAgent;
7
- signWith: Cardano.PaymentAddress | Cardano.RewardAccount;
7
+ signWith: Cardano.PaymentAddress | Cardano.RewardAccount | Cardano.DRepID;
8
8
  payload: HexBlob;
9
9
  }
10
10
  export declare enum Cip30DataSignErrorCode {
@@ -1 +1 @@
1
- {"version":3,"file":"cip30signData.d.ts","sourceRoot":"","sources":["../../../src/cip8/cip30signData.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,aAAa,EAAW,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK7D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IACzD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oBAAY,sBAAsB;IAChC,eAAe,IAAI;IACnB,YAAY,IAAI;IAChB,YAAY,IAAI;CACjB;AAED,qBAAa,kBAAkB,CAAC,UAAU,GAAG,OAAO,CAAE,SAAQ,eAAe,CAAC,UAAU,CAAC;aAC3D,IAAI,EAAE,sBAAsB;aAAkB,IAAI,EAAE,MAAM;gBAA1D,IAAI,EAAE,sBAAsB,EAAkB,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU;CAGhH;AAwED,eAAO,MAAM,aAAa,oCAIvB,oBAAoB,KAAG,QAAQ,kBAAkB,CAmBnD,CAAC"}
1
+ {"version":3,"file":"cip30signData.d.ts","sourceRoot":"","sources":["../../../src/cip8/cip30signData.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,aAAa,EAAW,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK7D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAC1E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oBAAY,sBAAsB;IAChC,eAAe,IAAI;IACnB,YAAY,IAAI;IAChB,YAAY,IAAI;CACjB;AAED,qBAAa,kBAAkB,CAAC,UAAU,GAAG,OAAO,CAAE,SAAQ,eAAe,CAAC,UAAU,CAAC;aAC3D,IAAI,EAAE,sBAAsB;aAAkB,IAAI,EAAE,MAAM;gBAA1D,IAAI,EAAE,sBAAsB,EAAkB,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU;CAGhH;AA+ED,eAAO,MAAM,aAAa,oCAIvB,oBAAoB,KAAG,QAAQ,kBAAkB,CAsBnD,CAAC"}
@@ -29,6 +29,9 @@ const getAddressBytes = (signWith) => {
29
29
  return Buffer.from(address.toBytes(), 'hex');
30
30
  };
31
31
  const getDerivationPath = async (signWith, keyAgent) => {
32
+ if (core_1.Cardano.DRepID.isValid(signWith)) {
33
+ return util_3.DREP_KEY_DERIVATION_PATH;
34
+ }
32
35
  const isRewardAccount = signWith.startsWith('stake');
33
36
  const knownAddresses = await (0, rxjs_1.firstValueFrom)(keyAgent.knownAddresses$.pipe((0, rxjs_1.filter)((addresses) => addresses.length > 0)));
34
37
  if (isRewardAccount) {
@@ -67,6 +70,9 @@ const createCoseKey = (addressBytes, publicKey) => {
67
70
  return coseKey;
68
71
  };
69
72
  const cip30signData = async ({ keyAgent, signWith, payload }) => {
73
+ if (core_1.Cardano.DRepID.isValid(signWith) && !core_1.Cardano.DRepID.canSign(signWith)) {
74
+ throw new Cip30DataSignError(Cip30DataSignErrorCode.AddressNotPK, 'Invalid address');
75
+ }
70
76
  const addressBytes = getAddressBytes(signWith);
71
77
  const derivationPath = await getDerivationPath(signWith, keyAgent);
72
78
  const builder = cardano_message_signing_nodejs_1.COSESign1Builder.new(cardano_message_signing_nodejs_1.Headers.new(cardano_message_signing_nodejs_1.ProtectedHeaderMap.new(createSigStructureHeaders(addressBytes)), cardano_message_signing_nodejs_1.HeaderMap.new()), Buffer.from(payload, 'hex'), false);
@@ -1 +1 @@
1
- {"version":3,"file":"cip30signData.js","sourceRoot":"","sources":["../../../src/cip8/cip30signData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cip30signData.js","sourceRoot":"","sources":["../../../src/cip8/cip30signData.ts"],"names":[],"mappings":"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"}