@cardano-sdk/key-management 0.7.0 → 0.7.2
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/ownSignatureKeyPaths.d.ts.map +1 -1
- package/dist/cjs/util/ownSignatureKeyPaths.js +25 -1
- package/dist/cjs/util/ownSignatureKeyPaths.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/util/ownSignatureKeyPaths.d.ts.map +1 -1
- package/dist/esm/util/ownSignatureKeyPaths.js +25 -1
- package/dist/esm/util/ownSignatureKeyPaths.js.map +1 -1
- package/package.json +7 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownSignatureKeyPaths.d.ts","sourceRoot":"","sources":["../../../src/util/ownSignatureKeyPaths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ownSignatureKeyPaths.d.ts","sourceRoot":"","sources":["../../../src/util/ownSignatureKeyPaths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAoG5C,eAAO,MAAM,oBAAoB,WACvB,QAAQ,MAAM,kBACN,cAAc,EAAE,iBACjB,QAAQ,aAAa,KACnC,QAAQ,wBAAwB,EAAE,CAsBpC,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Cardano } from '@cardano-sdk/core';
|
|
2
2
|
import { isNotNil } from '@cardano-sdk/util';
|
|
3
|
+
import isEqual from 'lodash/isEqual';
|
|
3
4
|
import uniq from 'lodash/uniq';
|
|
4
5
|
import uniqBy from 'lodash/uniqBy';
|
|
6
|
+
import uniqWith from 'lodash/uniqWith';
|
|
5
7
|
const getStakingKeyPaths = (groupedAddresses, txBody) => {
|
|
6
8
|
const paths = new Set();
|
|
7
9
|
const uniqueAccounts = uniqBy(groupedAddresses, 'rewardAccount');
|
|
@@ -43,6 +45,24 @@ const getStakingKeyPaths = (groupedAddresses, txBody) => {
|
|
|
43
45
|
}
|
|
44
46
|
return paths;
|
|
45
47
|
};
|
|
48
|
+
const getRequiredSignersKeyPaths = (groupedAddresses, keyHashes) => {
|
|
49
|
+
const paths = new Set();
|
|
50
|
+
if (!keyHashes)
|
|
51
|
+
return paths;
|
|
52
|
+
for (const keyHash of keyHashes) {
|
|
53
|
+
for (const address of groupedAddresses) {
|
|
54
|
+
const paymentCredential = Cardano.Address.fromBech32(address.address)?.asBase()?.getPaymentCredential().hash;
|
|
55
|
+
const stakingCredential = Cardano.RewardAccount.toHash(address.rewardAccount);
|
|
56
|
+
if (paymentCredential && paymentCredential.toString() === keyHash) {
|
|
57
|
+
paths.add({ index: address.index, role: Number(address.type) });
|
|
58
|
+
}
|
|
59
|
+
if (stakingCredential && address.stakeKeyDerivationPath && stakingCredential.toString() === keyHash) {
|
|
60
|
+
paths.add(address.stakeKeyDerivationPath);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return paths;
|
|
65
|
+
};
|
|
46
66
|
export const ownSignatureKeyPaths = async (txBody, knownAddresses, inputResolver) => {
|
|
47
67
|
const txInputs = [...txBody.inputs, ...(txBody.collaterals ? txBody.collaterals : [])];
|
|
48
68
|
const paymentKeyPaths = uniq((await Promise.all(txInputs.map(async (input) => {
|
|
@@ -51,6 +71,10 @@ export const ownSignatureKeyPaths = async (txBody, knownAddresses, inputResolver
|
|
|
51
71
|
return null;
|
|
52
72
|
return knownAddresses.find(({ address }) => address === resolution.address);
|
|
53
73
|
}))).filter(isNotNil)).map(({ type, index }) => ({ index, role: Number(type) }));
|
|
54
|
-
return [
|
|
74
|
+
return uniqWith([
|
|
75
|
+
...paymentKeyPaths,
|
|
76
|
+
...getStakingKeyPaths(knownAddresses, txBody),
|
|
77
|
+
...getRequiredSignersKeyPaths(knownAddresses, txBody.requiredExtraSignatures)
|
|
78
|
+
], isEqual);
|
|
55
79
|
};
|
|
56
80
|
//# sourceMappingURL=ownSignatureKeyPaths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownSignatureKeyPaths.js","sourceRoot":"","sources":["../../../src/util/ownSignatureKeyPaths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ownSignatureKeyPaths.js","sourceRoot":"","sources":["../../../src/util/ownSignatureKeyPaths.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cardano-sdk/key-management",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "Key management types and utilities for Cardano",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=14.20.1"
|
|
@@ -18,15 +18,6 @@
|
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
20
|
"sideEffects": false,
|
|
21
|
-
"contributors": [
|
|
22
|
-
"Rhys Bartels-Waller <rhys.bartelswaller@iohk.io> (https://iohk.io)",
|
|
23
|
-
"Martynas Kazlauskas <martynas.kazlauskas@iohk.io> (https://iohk.io)",
|
|
24
|
-
"Daniele Ricci <daniele.ricci@iohk.io> (https://iohk.io)",
|
|
25
|
-
"Ivaylo Andonov <ivaylo.andonov@iohk.io> (https://iohk.io)",
|
|
26
|
-
"Mircea Hasegan <mircea.hasegan@iohk.io> (https://iohk.io)",
|
|
27
|
-
"Angel Castillo Bacigalupi <angel.castillo@iohk.io> (https://iohk.io)",
|
|
28
|
-
"Dmytro Iakymenko <dmytro.iakymenko@iohk.io> (https://iohk.io)"
|
|
29
|
-
],
|
|
30
21
|
"license": "Apache-2.0",
|
|
31
22
|
"scripts": {
|
|
32
23
|
"build:esm": "tsc -p src/tsconfig.json --outDir ./dist/esm --module es2020",
|
|
@@ -47,7 +38,7 @@
|
|
|
47
38
|
"prepack": "yarn build"
|
|
48
39
|
},
|
|
49
40
|
"devDependencies": {
|
|
50
|
-
"@cardano-sdk/util-dev": "~0.
|
|
41
|
+
"@cardano-sdk/util-dev": "~0.12.0",
|
|
51
42
|
"@types/lodash": "^4.14.182",
|
|
52
43
|
"@types/pbkdf2": "^3.1.0",
|
|
53
44
|
"eslint": "^7.32.0",
|
|
@@ -61,10 +52,10 @@
|
|
|
61
52
|
},
|
|
62
53
|
"dependencies": {
|
|
63
54
|
"@cardano-foundation/ledgerjs-hw-app-cardano": "^6.0.0",
|
|
64
|
-
"@cardano-sdk/core": "~0.
|
|
65
|
-
"@cardano-sdk/crypto": "~0.1.
|
|
66
|
-
"@cardano-sdk/dapp-connector": "~0.9.
|
|
67
|
-
"@cardano-sdk/util": "~0.
|
|
55
|
+
"@cardano-sdk/core": "~0.13.0",
|
|
56
|
+
"@cardano-sdk/crypto": "~0.1.6",
|
|
57
|
+
"@cardano-sdk/dapp-connector": "~0.9.4",
|
|
58
|
+
"@cardano-sdk/util": "~0.11.0",
|
|
68
59
|
"@emurgo/cardano-message-signing-nodejs": "^1.0.1",
|
|
69
60
|
"bip39": "^3.0.4",
|
|
70
61
|
"chacha": "^2.1.0",
|
|
@@ -82,5 +73,5 @@
|
|
|
82
73
|
"LICENSE",
|
|
83
74
|
"NOTICE"
|
|
84
75
|
],
|
|
85
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "c7c3523ee84b5ec53d781b0e05511c2312fd6397"
|
|
86
77
|
}
|