@bsv/sdk 1.3.3 → 1.3.5
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/package.json +1 -1
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/utils/certificateHelpers.js +2 -2
- package/dist/cjs/src/auth/utils/certificateHelpers.js.map +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js +11 -14
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/KeyDeriver.js +14 -11
- package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js +53 -111
- package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/index.js +2 -3
- package/dist/cjs/src/wallet/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +1 -0
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/utils/certificateHelpers.js +2 -2
- package/dist/esm/src/auth/utils/certificateHelpers.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js +10 -10
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/KeyDeriver.js +15 -12
- package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js +53 -76
- package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/index.js +1 -1
- package/dist/esm/src/wallet/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +1 -0
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/auth/certificates/Certificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/utils/certificateHelpers.d.ts +5 -5
- package/dist/types/src/auth/utils/certificateHelpers.d.ts.map +1 -1
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts +16 -15
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/KeyDeriver.d.ts +74 -18
- package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/ProtoWallet.d.ts +31 -407
- package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +201 -169
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts +2 -3
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/index.d.ts +1 -1
- package/dist/types/src/wallet/index.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +1 -1
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/XDM.d.ts +2 -2
- package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/window.CWI.d.ts +2 -2
- package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/docs/auth.md +12 -12
- package/docs/wallet-substrates.md +6 -6
- package/docs/wallet.md +897 -983
- package/package.json +1 -1
- package/src/auth/certificates/Certificate.ts +1 -1
- package/src/auth/certificates/MasterCertificate.ts +3 -2
- package/src/auth/utils/certificateHelpers.ts +5 -5
- package/src/wallet/CachedKeyDeriver.ts +22 -21
- package/src/wallet/KeyDeriver.ts +89 -22
- package/src/wallet/ProtoWallet.ts +105 -550
- package/src/wallet/Wallet.interfaces.ts +259 -176
- package/src/wallet/WalletClient.ts +2 -1
- package/src/wallet/__tests/ProtoWallet.test.ts +0 -53
- package/src/wallet/index.ts +1 -1
- package/src/wallet/substrates/HTTPWalletJSON.ts +1 -1
- package/src/wallet/substrates/WalletWireTransceiver.ts +2 -1
- package/src/wallet/substrates/XDM.ts +2 -2
- package/src/wallet/substrates/window.CWI.ts +2 -2
|
@@ -3,8 +3,9 @@ import { PrivateKey, PublicKey, SymmetricKey, Hash, Utils } from '../primitives/
|
|
|
3
3
|
* Class responsible for deriving various types of keys using a root private key.
|
|
4
4
|
* It supports deriving public and private keys, symmetric keys, and revealing key linkages.
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
6
|
+
export class KeyDeriver {
|
|
7
7
|
rootKey;
|
|
8
|
+
identityKey;
|
|
8
9
|
/**
|
|
9
10
|
* Initializes the KeyDeriver instance with a root private key.
|
|
10
11
|
* @param {PrivateKey | 'anyone'} rootKey - The root private key or the string 'anyone'.
|
|
@@ -16,12 +17,13 @@ export default class KeyDeriver {
|
|
|
16
17
|
else {
|
|
17
18
|
this.rootKey = rootKey;
|
|
18
19
|
}
|
|
20
|
+
this.identityKey = this.rootKey.toPublicKey().toString();
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Derives a public key based on protocol ID, key ID, and counterparty.
|
|
22
|
-
* @param {
|
|
24
|
+
* @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
|
|
23
25
|
* @param {string} keyID - The key identifier.
|
|
24
|
-
* @param {
|
|
26
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
25
27
|
* @param {boolean} [forSelf=false] - Whether deriving for self.
|
|
26
28
|
* @returns {PublicKey} - The derived public key.
|
|
27
29
|
*/
|
|
@@ -36,9 +38,9 @@ export default class KeyDeriver {
|
|
|
36
38
|
}
|
|
37
39
|
/**
|
|
38
40
|
* Derives a private key based on protocol ID, key ID, and counterparty.
|
|
39
|
-
* @param {
|
|
41
|
+
* @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
|
|
40
42
|
* @param {string} keyID - The key identifier.
|
|
41
|
-
* @param {
|
|
43
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
42
44
|
* @returns {PrivateKey} - The derived private key.
|
|
43
45
|
*/
|
|
44
46
|
derivePrivateKey(protocolID, keyID, counterparty) {
|
|
@@ -48,9 +50,9 @@ export default class KeyDeriver {
|
|
|
48
50
|
/**
|
|
49
51
|
* Derives a symmetric key based on protocol ID, key ID, and counterparty.
|
|
50
52
|
* Note: Symmetric keys should not be derivable by everyone due to security risks.
|
|
51
|
-
* @param {
|
|
53
|
+
* @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
|
|
52
54
|
* @param {string} keyID - The key identifier.
|
|
53
|
-
* @param {
|
|
55
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
54
56
|
* @returns {SymmetricKey} - The derived symmetric key.
|
|
55
57
|
* @throws {Error} - Throws an error if attempting to derive a symmetric key for 'anyone'.
|
|
56
58
|
*/
|
|
@@ -66,7 +68,7 @@ export default class KeyDeriver {
|
|
|
66
68
|
/**
|
|
67
69
|
* Reveals the shared secret between the root key and the counterparty.
|
|
68
70
|
* Note: This should not be used for 'self'.
|
|
69
|
-
* @param {
|
|
71
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
70
72
|
* @returns {number[]} - The shared secret as a number array.
|
|
71
73
|
* @throws {Error} - Throws an error if attempting to reveal a shared secret for 'self'.
|
|
72
74
|
*/
|
|
@@ -86,8 +88,8 @@ export default class KeyDeriver {
|
|
|
86
88
|
}
|
|
87
89
|
/**
|
|
88
90
|
* Reveals the specific key association for a given protocol ID, key ID, and counterparty.
|
|
89
|
-
* @param {
|
|
90
|
-
* @param {
|
|
91
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
92
|
+
* @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
|
|
91
93
|
* @param {string} keyID - The key identifier.
|
|
92
94
|
* @returns {number[]} - The specific key association as a number array.
|
|
93
95
|
*/
|
|
@@ -99,7 +101,7 @@ export default class KeyDeriver {
|
|
|
99
101
|
}
|
|
100
102
|
/**
|
|
101
103
|
* Normalizes the counterparty to a public key.
|
|
102
|
-
* @param {
|
|
104
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
103
105
|
* @returns {PublicKey} - The normalized counterparty public key.
|
|
104
106
|
* @throws {Error} - Throws an error if the counterparty is invalid.
|
|
105
107
|
*/
|
|
@@ -122,7 +124,7 @@ export default class KeyDeriver {
|
|
|
122
124
|
}
|
|
123
125
|
/**
|
|
124
126
|
* Computes the invoice number based on the protocol ID and key ID.
|
|
125
|
-
* @param {
|
|
127
|
+
* @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
|
|
126
128
|
* @param {string} keyID - The key identifier.
|
|
127
129
|
* @returns {string} - The computed invoice number.
|
|
128
130
|
* @throws {Error} - Throws an error if protocol ID or key ID are invalid.
|
|
@@ -169,4 +171,5 @@ export default class KeyDeriver {
|
|
|
169
171
|
return `${securityLevel}-${protocolName}-${keyID}`;
|
|
170
172
|
}
|
|
171
173
|
}
|
|
174
|
+
export default KeyDeriver;
|
|
172
175
|
//# sourceMappingURL=KeyDeriver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyDeriver.js","sourceRoot":"","sources":["../../../../src/wallet/KeyDeriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"KeyDeriver.js","sourceRoot":"","sources":["../../../../src/wallet/KeyDeriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAkEzF;;;GAGG;AACH,MAAM,OAAO,UAAU;IACrB,OAAO,CAAY;IACnB,WAAW,CAAQ;IAEnB;;;SAGK;IACL,YAAY,OAA8B;QACxC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACxB,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAA;IAC1D,CAAC;IAED;;;;;;;SAOK;IACL,eAAe,CAAC,UAA0B,EAAE,KAAa,EAAE,YAA0B,EAAE,UAAmB,KAAK;QAC7G,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAA;QACvD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAC3G,CAAC;aAAM,CAAC;YACN,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;QAC7F,CAAC;IACH,CAAC;IAED;;;;;;SAMK;IACL,gBAAgB,CAAC,UAA0B,EAAE,KAAa,EAAE,YAA0B;QACpF,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IAC7F,CAAC;IAED;;;;;;;;SAQK;IACL,kBAAkB,CAAC,UAA0B,EAAE,KAAa,EAAE,YAA0B;QACtF,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,mOAAmO,CACpO,CAAA;QACH,CAAC;QACD,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAA;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;QAC9E,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;QAChF,OAAO,IAAI,YAAY,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED;;;;;;SAMK;IACL,wBAAwB,CAAC,YAA0B;QACjD,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;QACnF,CAAC;QACD,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAA;QAEvD,6DAA6D;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QACvE,MAAM,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QAEvF,IAAI,gBAAgB,KAAK,wBAAwB,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;QACnF,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,CAAa,CAAA;IAC/E,CAAC;IAED;;;;;;SAMK;IACL,oBAAoB,CAAC,YAA0B,EAAE,UAA0B,EAAE,KAAa;QACxF,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAA;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;QAClE,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;QAC5F,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAA;IACrE,CAAC;IAED;;;;;SAKK;IACG,qBAAqB,CAAC,YAA0B;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACvE,CAAC;aAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;QACnC,CAAC;aAAM,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QACxC,CAAC;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,YAAY,CAAA;QACrB,CAAC;IACH,CAAC;IAED;;;;;;SAMK;IACG,oBAAoB,CAAC,UAA0B,EAAE,KAAa;QACpE,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;QACvD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC9B,4FAA4F;YAC5F,8EAA8E;YAC9E,IAAI,YAAY,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE,CAAC;gBAC5D,uDAAuD;gBACvD,kEAAkE;gBAClE,0DAA0D;gBAC1D,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAA;gBAC9F,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;YAClE,CAAC;QACH,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;QACrF,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAChF,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACvE,CAAC;QACD,OAAO,GAAG,aAAa,IAAI,YAAY,IAAI,KAAK,EAAE,CAAA;IACpD,CAAC;CACF;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -1,44 +1,52 @@
|
|
|
1
|
-
import KeyDeriver from './KeyDeriver.js';
|
|
1
|
+
import { KeyDeriver } from './KeyDeriver.js';
|
|
2
2
|
import { Hash, ECDSA, BigNumber, Signature, Schnorr, PublicKey, Point } from '../primitives/index.js';
|
|
3
|
-
|
|
3
|
+
const privilegedError = new Error('ProtoWallet is a single-keyring wallet, operating without context about whether its configured keyring is privileged.');
|
|
4
4
|
/**
|
|
5
|
-
* A ProtoWallet is
|
|
5
|
+
* A ProtoWallet is precursor to a full wallet, capable of performing all foundational cryptographic operations.
|
|
6
|
+
* It can derive keys, create signatures, facilitate encryption and HMAC operations, and reveal key linkages.
|
|
7
|
+
*
|
|
8
|
+
* However, ProtoWallet does not create transactions, manage outputs, interact with the blockchain,
|
|
9
|
+
* enable the management of identity certificates, or store any data.
|
|
6
10
|
*/
|
|
7
|
-
export
|
|
11
|
+
export class ProtoWallet {
|
|
8
12
|
keyDeriver;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
throw new WalletError('ProtoWallet does not support creating transactions.', walletErrors.unsupportedAction);
|
|
15
|
-
}
|
|
16
|
-
async signAction(args, originator) {
|
|
17
|
-
throw new WalletError('ProtoWallet does not support creating transactions.', walletErrors.unsupportedAction);
|
|
13
|
+
constructor(rootKeyOrKeyDeriver) {
|
|
14
|
+
if (typeof rootKeyOrKeyDeriver['identityKey'] !== 'string') {
|
|
15
|
+
rootKeyOrKeyDeriver = new KeyDeriver(rootKeyOrKeyDeriver);
|
|
16
|
+
}
|
|
17
|
+
this.keyDeriver = rootKeyOrKeyDeriver;
|
|
18
18
|
}
|
|
19
|
-
async
|
|
20
|
-
|
|
19
|
+
async isAuthenticated(args, Originator) {
|
|
20
|
+
return { authenticated: true };
|
|
21
21
|
}
|
|
22
|
-
async
|
|
23
|
-
|
|
22
|
+
async waitForAuthentication(args, Originator) {
|
|
23
|
+
return { authenticated: true };
|
|
24
24
|
}
|
|
25
|
-
async
|
|
26
|
-
|
|
25
|
+
async getNetwork(args, Originator) {
|
|
26
|
+
return { network: 'mainnet' };
|
|
27
27
|
}
|
|
28
|
-
async
|
|
29
|
-
|
|
28
|
+
async getVersion(args, Originator) {
|
|
29
|
+
return { version: 'proto-1.0.0' };
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Convenience method to obtain the identityKey.
|
|
33
|
+
* @param originator
|
|
34
|
+
* @returns `await this.getPublicKey({ identityKey: true }, originator)`
|
|
35
|
+
*/
|
|
36
|
+
async getIdentityKey(originator) {
|
|
37
|
+
return await this.getPublicKey({ identityKey: true }, originator);
|
|
33
38
|
}
|
|
34
39
|
async getPublicKey(args, originator) {
|
|
35
40
|
if (args.privileged) {
|
|
36
|
-
throw
|
|
41
|
+
throw privilegedError;
|
|
37
42
|
}
|
|
38
43
|
if (args.identityKey) {
|
|
39
44
|
return { publicKey: this.keyDeriver.rootKey.toPublicKey().toString() };
|
|
40
45
|
}
|
|
41
46
|
else {
|
|
47
|
+
if (!args.protocolID || !args.keyID) {
|
|
48
|
+
throw new Error('protocolID and keyID are required if identityKey is false or undefined.');
|
|
49
|
+
}
|
|
42
50
|
return {
|
|
43
51
|
publicKey: this.keyDeriver
|
|
44
52
|
.derivePublicKey(args.protocolID, args.keyID, args.counterparty || 'self', args.forSelf)
|
|
@@ -48,7 +56,7 @@ export default class ProtoWallet {
|
|
|
48
56
|
}
|
|
49
57
|
async revealCounterpartyKeyLinkage(args, originator) {
|
|
50
58
|
if (args.privileged) {
|
|
51
|
-
throw
|
|
59
|
+
throw privilegedError;
|
|
52
60
|
}
|
|
53
61
|
const { publicKey: identityKey } = await this.getPublicKey({ identityKey: true });
|
|
54
62
|
const linkage = this.keyDeriver.revealCounterpartySecret(args.counterparty);
|
|
@@ -82,7 +90,7 @@ export default class ProtoWallet {
|
|
|
82
90
|
}
|
|
83
91
|
async revealSpecificKeyLinkage(args, originator) {
|
|
84
92
|
if (args.privileged) {
|
|
85
|
-
throw
|
|
93
|
+
throw privilegedError;
|
|
86
94
|
}
|
|
87
95
|
const { publicKey: identityKey } = await this.getPublicKey({ identityKey: true });
|
|
88
96
|
const linkage = this.keyDeriver.revealSpecificSecret(args.counterparty, args.protocolID, args.keyID);
|
|
@@ -111,97 +119,66 @@ export default class ProtoWallet {
|
|
|
111
119
|
}
|
|
112
120
|
async encrypt(args, originator) {
|
|
113
121
|
if (args.privileged) {
|
|
114
|
-
throw
|
|
122
|
+
throw privilegedError;
|
|
115
123
|
}
|
|
116
124
|
const key = this.keyDeriver.deriveSymmetricKey(args.protocolID, args.keyID, args.counterparty || 'self');
|
|
117
125
|
return { ciphertext: key.encrypt(args.plaintext) };
|
|
118
126
|
}
|
|
119
127
|
async decrypt(args, originator) {
|
|
120
128
|
if (args.privileged) {
|
|
121
|
-
throw
|
|
129
|
+
throw privilegedError;
|
|
122
130
|
}
|
|
123
131
|
const key = this.keyDeriver.deriveSymmetricKey(args.protocolID, args.keyID, args.counterparty || 'self');
|
|
124
132
|
return { plaintext: key.decrypt(args.ciphertext) };
|
|
125
133
|
}
|
|
126
134
|
async createHmac(args, originator) {
|
|
127
135
|
if (args.privileged) {
|
|
128
|
-
throw
|
|
136
|
+
throw privilegedError;
|
|
129
137
|
}
|
|
130
138
|
const key = this.keyDeriver.deriveSymmetricKey(args.protocolID, args.keyID, args.counterparty || 'self');
|
|
131
139
|
return { hmac: Hash.sha256hmac(key.toArray(), args.data) };
|
|
132
140
|
}
|
|
133
141
|
async verifyHmac(args, originator) {
|
|
134
142
|
if (args.privileged) {
|
|
135
|
-
throw
|
|
143
|
+
throw privilegedError;
|
|
136
144
|
}
|
|
137
145
|
const key = this.keyDeriver.deriveSymmetricKey(args.protocolID, args.keyID, args.counterparty || 'self');
|
|
138
146
|
const valid = Hash.sha256hmac(key.toArray(), args.data).toString() === args.hmac.toString();
|
|
139
147
|
if (!valid) {
|
|
140
|
-
|
|
148
|
+
const e = new Error('HMAC is not valid');
|
|
149
|
+
e.code = 'ERR_INVALID_HMAC';
|
|
150
|
+
throw e;
|
|
141
151
|
}
|
|
142
152
|
return { valid };
|
|
143
153
|
}
|
|
144
154
|
async createSignature(args, originator) {
|
|
145
155
|
if (args.privileged) {
|
|
146
|
-
throw
|
|
156
|
+
throw privilegedError;
|
|
147
157
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
hash = Hash.sha256(args.data);
|
|
158
|
+
if (!args.hashToDirectlySign && !args.data) {
|
|
159
|
+
throw new Error('args.data or args.hashToDirectlySign must be valid');
|
|
151
160
|
}
|
|
161
|
+
const hash = args.hashToDirectlySign || Hash.sha256(args.data);
|
|
152
162
|
const key = this.keyDeriver.derivePrivateKey(args.protocolID, args.keyID, args.counterparty || 'anyone');
|
|
153
163
|
return { signature: ECDSA.sign(new BigNumber(hash), key, true).toDER() };
|
|
154
164
|
}
|
|
155
165
|
async verifySignature(args, originator) {
|
|
156
166
|
if (args.privileged) {
|
|
157
|
-
throw
|
|
167
|
+
throw privilegedError;
|
|
158
168
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
hash = Hash.sha256(args.data);
|
|
169
|
+
if (!args.hashToDirectlyVerify && !args.data) {
|
|
170
|
+
throw new Error('args.data or args.hashToDirectlyVerify must be valid');
|
|
162
171
|
}
|
|
172
|
+
const hash = args.hashToDirectlyVerify || Hash.sha256(args.data);
|
|
163
173
|
const key = this.keyDeriver.derivePublicKey(args.protocolID, args.keyID, args.counterparty || 'self', args.forSelf);
|
|
164
174
|
const valid = ECDSA.verify(new BigNumber(hash), Signature.fromDER(args.signature), key);
|
|
165
175
|
if (!valid) {
|
|
166
|
-
|
|
176
|
+
const e = new Error('Signature is not valid');
|
|
177
|
+
e.code = 'ERR_INVALID_SIGNATURE';
|
|
178
|
+
throw e;
|
|
167
179
|
}
|
|
168
180
|
return { valid };
|
|
169
181
|
}
|
|
170
|
-
async acquireCertificate(args, originator) {
|
|
171
|
-
throw new WalletError('ProtoWallet does not support acquiring certificates.', walletErrors.unsupportedAction);
|
|
172
|
-
}
|
|
173
|
-
async listCertificates(args, originator) {
|
|
174
|
-
throw new WalletError('ProtoWallet does not support retrieving certificates.', walletErrors.unsupportedAction);
|
|
175
|
-
}
|
|
176
|
-
async proveCertificate(args, originator) {
|
|
177
|
-
throw new WalletError('ProtoWallet does not support proving certificates.', walletErrors.unsupportedAction);
|
|
178
|
-
}
|
|
179
|
-
async relinquishCertificate(args, originator) {
|
|
180
|
-
throw new WalletError('ProtoWallet does not support deleting certificates.', walletErrors.unsupportedAction);
|
|
181
|
-
}
|
|
182
|
-
async discoverByIdentityKey(args, originator) {
|
|
183
|
-
throw new WalletError('ProtoWallet does not support resolving identities.', walletErrors.unsupportedAction);
|
|
184
|
-
}
|
|
185
|
-
async discoverByAttributes(args, originator) {
|
|
186
|
-
throw new WalletError('ProtoWallet does not support resolving identities.', walletErrors.unsupportedAction);
|
|
187
|
-
}
|
|
188
|
-
async isAuthenticated(args, originator) {
|
|
189
|
-
return { authenticated: true };
|
|
190
|
-
}
|
|
191
|
-
async waitForAuthentication(args, originator) {
|
|
192
|
-
return { authenticated: true };
|
|
193
|
-
}
|
|
194
|
-
async getHeight(args, originator) {
|
|
195
|
-
throw new WalletError('ProtoWallet does not support blockchain tracking.', walletErrors.unsupportedAction);
|
|
196
|
-
}
|
|
197
|
-
async getHeaderForHeight(args, originator) {
|
|
198
|
-
throw new WalletError('ProtoWallet does not support blockchain tracking.', walletErrors.unsupportedAction);
|
|
199
|
-
}
|
|
200
|
-
async getNetwork(args, originator) {
|
|
201
|
-
return { network: 'mainnet' };
|
|
202
|
-
}
|
|
203
|
-
async getVersion(args, originator) {
|
|
204
|
-
return { version: 'proto-1.0.0' };
|
|
205
|
-
}
|
|
206
182
|
}
|
|
183
|
+
export default ProtoWallet;
|
|
207
184
|
//# sourceMappingURL=ProtoWallet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtoWallet.js","sourceRoot":"","sources":["../../../../src/wallet/ProtoWallet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProtoWallet.js","sourceRoot":"","sources":["../../../../src/wallet/ProtoWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletClient.js","sourceRoot":"","sources":["../../../../src/wallet/WalletClient.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,MAAM,4BAA4B,CAAA;AAC3D,OAAO,YAAY,MAAM,qBAAqB,CAAA;AAC9C,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AACzE,OAAO,cAAc,MAAM,gCAAgC,CAAA;AAC3D,OAAO,cAAc,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"WalletClient.js","sourceRoot":"","sources":["../../../../src/wallet/WalletClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './Wallet.interfaces.js';
|
|
2
|
-
export
|
|
2
|
+
export * from './KeyDeriver.js';
|
|
3
3
|
export { default as CachedKeyDeriver } from './CachedKeyDeriver.js';
|
|
4
4
|
export { default as ProtoWallet } from './ProtoWallet.js';
|
|
5
5
|
export { default as WalletClient } from './WalletClient.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC1D,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA"}
|
|
@@ -1263,6 +1263,7 @@ export default class WalletWireTransceiver {
|
|
|
1263
1263
|
}
|
|
1264
1264
|
async isAuthenticated(args, originator) {
|
|
1265
1265
|
const result = await this.transmit('isAuthenticated', originator);
|
|
1266
|
+
// @ts-ignore
|
|
1266
1267
|
return { authenticated: !!result[0] };
|
|
1267
1268
|
}
|
|
1268
1269
|
async waitForAuthentication(args, originator) {
|