@cardano-sdk/key-management 0.7.6 → 0.7.8
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/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/util/ensureStakeKeys.d.ts +11 -0
- package/dist/cjs/util/ensureStakeKeys.d.ts.map +1 -0
- package/dist/cjs/util/ensureStakeKeys.js +32 -0
- package/dist/cjs/util/ensureStakeKeys.js.map +1 -0
- package/dist/cjs/util/index.d.ts +1 -0
- package/dist/cjs/util/index.d.ts.map +1 -1
- package/dist/cjs/util/index.js +1 -0
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/util/ensureStakeKeys.d.ts +11 -0
- package/dist/esm/util/ensureStakeKeys.d.ts.map +1 -0
- package/dist/esm/util/ensureStakeKeys.js +25 -0
- package/dist/esm/util/ensureStakeKeys.js.map +1 -0
- package/dist/esm/util/index.d.ts +1 -0
- package/dist/esm/util/index.d.ts.map +1 -1
- package/dist/esm/util/index.js +1 -0
- package/dist/esm/util/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AsyncKeyAgent } from '../types';
|
|
2
|
+
import { Cardano } from '@cardano-sdk/core';
|
|
3
|
+
import { Logger } from 'ts-log';
|
|
4
|
+
export interface EnsureStakeKeysParams {
|
|
5
|
+
keyAgent: AsyncKeyAgent;
|
|
6
|
+
count: number;
|
|
7
|
+
paymentKeyIndex?: number;
|
|
8
|
+
logger: Logger;
|
|
9
|
+
}
|
|
10
|
+
export declare const ensureStakeKeys: ({ keyAgent, count, logger, paymentKeyIndex: index }: EnsureStakeKeysParams) => Promise<Cardano.RewardAccount[]>;
|
|
11
|
+
//# sourceMappingURL=ensureStakeKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureStakeKeys.d.ts","sourceRoot":"","sources":["../../../src/util/ensureStakeKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAA2B,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,EAAE,aAAa,CAAC;IAExB,KAAK,EAAE,MAAM,CAAC;IAEd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAOD,eAAO,MAAM,eAAe,wDAKzB,qBAAqB,KAAG,QAAQ,QAAQ,aAAa,EAAE,CAiCzD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ensureStakeKeys = void 0;
|
|
7
|
+
const types_1 = require("../types");
|
|
8
|
+
const rxjs_1 = require("rxjs");
|
|
9
|
+
const uniq_1 = __importDefault(require("lodash/uniq"));
|
|
10
|
+
const ensureStakeKeys = async ({ keyAgent, count, logger, paymentKeyIndex: index = 0 }) => {
|
|
11
|
+
const knownAddresses = await (0, rxjs_1.firstValueFrom)(keyAgent.knownAddresses$);
|
|
12
|
+
const stakeKeyIndices = (0, uniq_1.default)(knownAddresses
|
|
13
|
+
.filter(({ stakeKeyDerivationPath }) => stakeKeyDerivationPath?.role === types_1.KeyRole.Stake && stakeKeyDerivationPath?.index !== undefined)
|
|
14
|
+
.map(({ stakeKeyDerivationPath }) => stakeKeyDerivationPath.index));
|
|
15
|
+
const countToDerive = count - stakeKeyIndices.length;
|
|
16
|
+
if (countToDerive <= 0) {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
logger.debug(`Stake keys requested: ${count}; got ${stakeKeyIndices.length}`);
|
|
20
|
+
const derivedAddresses = [];
|
|
21
|
+
for (let stakeKeyIdx = 0; derivedAddresses.length < countToDerive; stakeKeyIdx++) {
|
|
22
|
+
if (!stakeKeyIndices.includes(stakeKeyIdx)) {
|
|
23
|
+
logger.debug(`No derivation with stake key index ${stakeKeyIdx} exists. Deriving a new stake key.`);
|
|
24
|
+
derivedAddresses.push(keyAgent.deriveAddress({ index, type: types_1.AddressType.External }, stakeKeyIdx));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const newAddresses = await Promise.all(derivedAddresses);
|
|
28
|
+
logger.debug('Derived new addresses:', newAddresses);
|
|
29
|
+
return newAddresses.map(({ rewardAccount }) => rewardAccount);
|
|
30
|
+
};
|
|
31
|
+
exports.ensureStakeKeys = ensureStakeKeys;
|
|
32
|
+
//# sourceMappingURL=ensureStakeKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureStakeKeys.js","sourceRoot":"","sources":["../../../src/util/ensureStakeKeys.ts"],"names":[],"mappings":";;;;;;AAAA,oCAA+E;AAG/E,+BAAsC;AACtC,uDAA+B;AAiBxB,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,QAAQ,EACR,KAAK,EACL,MAAM,EACN,eAAe,EAAE,KAAK,GAAG,CAAC,EACJ,EAAoC,EAAE;IAC5D,MAAM,cAAc,GAAG,MAAM,IAAA,qBAAc,EAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEtE,MAAM,eAAe,GAAG,IAAA,cAAI,EAC1B,cAAc;SACX,MAAM,CACL,CAAC,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAC7B,sBAAsB,EAAE,IAAI,KAAK,eAAO,CAAC,KAAK,IAAI,sBAAsB,EAAE,KAAK,KAAK,SAAS,CAChG;SACA,GAAG,CAAC,CAAC,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAAC,sBAAuB,CAAC,KAAK,CAAC,CACtE,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC;IAErD,IAAI,aAAa,IAAI,CAAC,EAAE;QAEtB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,CAAC,KAAK,CAAC,yBAAyB,KAAK,SAAS,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IAG9E,MAAM,gBAAgB,GAA8B,EAAE,CAAC;IACvD,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,gBAAgB,CAAC,MAAM,GAAG,aAAa,EAAE,WAAW,EAAE,EAAE;QAChF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC1C,MAAM,CAAC,KAAK,CAAC,sCAAsC,WAAW,oCAAoC,CAAC,CAAC;YACpG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAW,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;SACnG;KACF;IAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACzD,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;IACrD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;AAChE,CAAC,CAAC;AAtCW,QAAA,eAAe,mBAsC1B"}
|
package/dist/cjs/util/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,OAAO,CAAC;AACtB,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,OAAO,CAAC;AACtB,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC"}
|
package/dist/cjs/util/index.js
CHANGED
|
@@ -21,4 +21,5 @@ __exportStar(require("./ownSignatureKeyPaths"), exports);
|
|
|
21
21
|
__exportStar(require("./stubSignTransaction"), exports);
|
|
22
22
|
__exportStar(require("./mapHardwareSigningData"), exports);
|
|
23
23
|
__exportStar(require("./KeyAgentTransactionSigner"), exports);
|
|
24
|
+
__exportStar(require("./ensureStakeKeys"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,wDAAsC;AACtC,wCAAsB;AACtB,yDAAuC;AACvC,wDAAsC;AACtC,2DAAyC;AACzC,8DAA4C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,wDAAsC;AACtC,wCAAsB;AACtB,yDAAuC;AACvC,wDAAsC;AACtC,2DAAyC;AACzC,8DAA4C;AAC5C,oDAAkC"}
|