@degenerate/generic 0.4.0 → 0.7.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.
- package/dist/_settings/cryptography-settings.d.ts +5 -1
- package/dist/_settings/cryptography-settings.d.ts.map +1 -1
- package/dist/_settings/cryptography-settings.js +5 -1
- package/dist/crypto/index.d.ts +5 -9
- package/dist/crypto/index.d.ts.map +1 -1
- package/dist/crypto/index.js +7 -9
- package/dist/crypto/private-public-keys/create-ed25519-keys-from-mnemonic.d.ts +22 -0
- package/dist/crypto/private-public-keys/create-ed25519-keys-from-mnemonic.d.ts.map +1 -0
- package/dist/crypto/private-public-keys/create-ed25519-keys-from-mnemonic.js +65 -0
- package/dist/crypto/private-public-keys/get-ed25519-public-key-from-private-key.d.ts +11 -0
- package/dist/crypto/private-public-keys/get-ed25519-public-key-from-private-key.d.ts.map +1 -0
- package/dist/crypto/private-public-keys/get-ed25519-public-key-from-private-key.js +15 -0
- package/dist/crypto/signature/create-ed25519-signature.d.ts +16 -0
- package/dist/crypto/signature/create-ed25519-signature.d.ts.map +1 -0
- package/dist/crypto/signature/create-ed25519-signature.js +26 -0
- package/dist/crypto/signature/ed25519-primitives.d.ts +25 -0
- package/dist/crypto/signature/ed25519-primitives.d.ts.map +1 -0
- package/dist/crypto/signature/ed25519-primitives.js +65 -0
- package/dist/crypto/signature/verify-ed25519-signature.d.ts +13 -0
- package/dist/crypto/signature/verify-ed25519-signature.d.ts.map +1 -0
- package/dist/crypto/signature/verify-ed25519-signature.js +31 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +2 -0
- package/dist/errors/library/library-errors.d.ts +101 -0
- package/dist/errors/library/library-errors.d.ts.map +1 -0
- package/dist/errors/library/library-errors.js +133 -0
- package/dist/errors/settlement/settlement-errors.d.ts +74 -0
- package/dist/errors/settlement/settlement-errors.d.ts.map +1 -0
- package/dist/errors/settlement/settlement-errors.js +93 -0
- package/dist/errors/share-data/share-data-errors.d.ts +21 -0
- package/dist/errors/share-data/share-data-errors.d.ts.map +1 -1
- package/dist/errors/share-data/share-data-errors.js +30 -1
- package/dist/helpers/apply-share-function.d.ts +23 -0
- package/dist/helpers/apply-share-function.d.ts.map +1 -0
- package/dist/helpers/apply-share-function.js +32 -0
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/library/authorize-library.d.ts +17 -0
- package/dist/library/authorize-library.d.ts.map +1 -0
- package/dist/library/authorize-library.js +39 -0
- package/dist/library/build-library.d.ts +49 -0
- package/dist/library/build-library.d.ts.map +1 -0
- package/dist/library/build-library.js +119 -0
- package/dist/library/caching-library-store.d.ts +19 -0
- package/dist/library/caching-library-store.d.ts.map +1 -0
- package/dist/library/caching-library-store.js +56 -0
- package/dist/library/canonical-json.d.ts +12 -0
- package/dist/library/canonical-json.d.ts.map +1 -0
- package/dist/library/canonical-json.js +30 -0
- package/dist/library/compile-rule-source.d.ts +21 -0
- package/dist/library/compile-rule-source.d.ts.map +1 -0
- package/dist/library/compile-rule-source.js +91 -0
- package/dist/library/evaluate-library-rules.d.ts +36 -0
- package/dist/library/evaluate-library-rules.d.ts.map +1 -0
- package/dist/library/evaluate-library-rules.js +47 -0
- package/dist/library/evaluate-library.d.ts +34 -0
- package/dist/library/evaluate-library.d.ts.map +1 -0
- package/dist/library/evaluate-library.js +66 -0
- package/dist/library/in-memory-library-store.d.ts +22 -0
- package/dist/library/in-memory-library-store.d.ts.map +1 -0
- package/dist/library/in-memory-library-store.js +92 -0
- package/dist/library/index.d.ts +18 -0
- package/dist/library/index.d.ts.map +1 -0
- package/dist/library/index.js +33 -0
- package/dist/library/library-hash.d.ts +9 -0
- package/dist/library/library-hash.d.ts.map +1 -0
- package/dist/library/library-hash.js +14 -0
- package/dist/library/library-models.d.ts +134 -0
- package/dist/library/library-models.d.ts.map +1 -0
- package/dist/library/library-models.js +84 -0
- package/dist/library/library-proof.d.ts +40 -0
- package/dist/library/library-proof.d.ts.map +1 -0
- package/dist/library/library-proof.js +44 -0
- package/dist/library/library-reference.d.ts +75 -0
- package/dist/library/library-reference.d.ts.map +1 -0
- package/dist/library/library-reference.js +98 -0
- package/dist/library/library-server.d.ts +17 -0
- package/dist/library/library-server.d.ts.map +1 -0
- package/dist/library/library-server.js +45 -0
- package/dist/library/library-store.d.ts +37 -0
- package/dist/library/library-store.d.ts.map +1 -0
- package/dist/library/library-store.js +2 -0
- package/dist/library/remote-library-models.d.ts +54 -0
- package/dist/library/remote-library-models.d.ts.map +1 -0
- package/dist/library/remote-library-models.js +2 -0
- package/dist/library/remote-library-store.d.ts +15 -0
- package/dist/library/remote-library-store.d.ts.map +1 -0
- package/dist/library/remote-library-store.js +59 -0
- package/dist/library/verify-library.d.ts +21 -0
- package/dist/library/verify-library.d.ts.map +1 -0
- package/dist/library/verify-library.js +86 -0
- package/dist/models/functions/share-data-function-models.d.ts +6 -74
- package/dist/models/functions/share-data-function-models.d.ts.map +1 -1
- package/dist/models/functions/share-data-function-models.js +7 -65
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +1 -0
- package/dist/models/safe/transactions/sharedata-transactions-models.d.ts +5 -0
- package/dist/models/safe/transactions/sharedata-transactions-models.d.ts.map +1 -1
- package/dist/models/settlement/settlement-models.d.ts +221 -0
- package/dist/models/settlement/settlement-models.d.ts.map +1 -0
- package/dist/models/settlement/settlement-models.js +152 -0
- package/dist/models/share-data/share-data-models.d.ts +12 -0
- package/dist/models/share-data/share-data-models.d.ts.map +1 -1
- package/dist/models/share-data/share-data-persistence-models.d.ts +3 -0
- package/dist/models/share-data/share-data-persistence-models.d.ts.map +1 -1
- package/dist/models/shareblock/shareblock-models.d.ts +179 -3
- package/dist/models/shareblock/shareblock-models.d.ts.map +1 -1
- package/dist/models/shareblock/shareblock-models.js +99 -7
- package/dist/sandbox/in-process-executor.d.ts +13 -0
- package/dist/sandbox/in-process-executor.d.ts.map +1 -0
- package/dist/sandbox/in-process-executor.js +31 -0
- package/dist/sandbox/index.d.ts +8 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/index.js +23 -0
- package/dist/sandbox/remote-sandbox-executor.d.ts +12 -0
- package/dist/sandbox/remote-sandbox-executor.d.ts.map +1 -0
- package/dist/sandbox/remote-sandbox-executor.js +49 -0
- package/dist/sandbox/remote-sandbox-models.d.ts +37 -0
- package/dist/sandbox/remote-sandbox-models.d.ts.map +1 -0
- package/dist/sandbox/remote-sandbox-models.js +2 -0
- package/dist/sandbox/rule-evaluator.d.ts +32 -0
- package/dist/sandbox/rule-evaluator.d.ts.map +1 -0
- package/dist/sandbox/rule-evaluator.js +23 -0
- package/dist/sandbox/run-sandboxed.d.ts +24 -0
- package/dist/sandbox/run-sandboxed.d.ts.map +1 -0
- package/dist/sandbox/run-sandboxed.js +88 -0
- package/dist/sandbox/sandbox-models.d.ts +40 -0
- package/dist/sandbox/sandbox-models.d.ts.map +1 -0
- package/dist/sandbox/sandbox-models.js +2 -0
- package/dist/sandbox/sandbox-server.d.ts +22 -0
- package/dist/sandbox/sandbox-server.d.ts.map +1 -0
- package/dist/sandbox/sandbox-server.js +62 -0
- package/package.json +3 -4
- package/dist/crypto/private-public-keys/create-key-pair-from-mnemonic.d.ts +0 -12
- package/dist/crypto/private-public-keys/create-key-pair-from-mnemonic.d.ts.map +0 -1
- package/dist/crypto/private-public-keys/create-key-pair-from-mnemonic.js +0 -54
- package/dist/crypto/private-public-keys/create-key-pair-from-private-key.d.ts +0 -11
- package/dist/crypto/private-public-keys/create-key-pair-from-private-key.d.ts.map +0 -1
- package/dist/crypto/private-public-keys/create-key-pair-from-private-key.js +0 -50
- package/dist/crypto/private-public-keys/create-key-pair-from-public-key.d.ts +0 -11
- package/dist/crypto/private-public-keys/create-key-pair-from-public-key.d.ts.map +0 -1
- package/dist/crypto/private-public-keys/create-key-pair-from-public-key.js +0 -51
- package/dist/crypto/private-public-keys/generation/create-entropy-for-elliptical-curve.d.ts +0 -10
- package/dist/crypto/private-public-keys/generation/create-entropy-for-elliptical-curve.d.ts.map +0 -1
- package/dist/crypto/private-public-keys/generation/create-entropy-for-elliptical-curve.js +0 -51
- package/dist/crypto/private-public-keys/generation/generate-key-pair.d.ts +0 -11
- package/dist/crypto/private-public-keys/generation/generate-key-pair.d.ts.map +0 -1
- package/dist/crypto/private-public-keys/generation/generate-key-pair.js +0 -49
- package/dist/crypto/private-public-keys/generation/get-private-public-key-from-keypair.d.ts +0 -15
- package/dist/crypto/private-public-keys/generation/get-private-public-key-from-keypair.d.ts.map +0 -1
- package/dist/crypto/private-public-keys/generation/get-private-public-key-from-keypair.js +0 -21
- package/dist/crypto/signature/create-crypto-signature.d.ts +0 -20
- package/dist/crypto/signature/create-crypto-signature.d.ts.map +0 -1
- package/dist/crypto/signature/create-crypto-signature.js +0 -26
- package/dist/crypto/signature/verify-crypto-signature-by-data.d.ts +0 -17
- package/dist/crypto/signature/verify-crypto-signature-by-data.d.ts.map +0 -1
- package/dist/crypto/signature/verify-crypto-signature-by-data.js +0 -61
- package/dist/crypto/signature/verify-crypto-signature-by-hash.d.ts +0 -17
- package/dist/crypto/signature/verify-crypto-signature-by-hash.d.ts.map +0 -1
- package/dist/crypto/signature/verify-crypto-signature-by-hash.js +0 -58
|
@@ -30,7 +30,11 @@ export declare enum EllipticalCurvesEncryption {
|
|
|
30
30
|
P521 = "p521"
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
* This contains the values for the elliptical
|
|
33
|
+
* This contains the values for the elliptical curves for signing.
|
|
34
|
+
*
|
|
35
|
+
* `Curve25519 = 'ed25519'` selects the Edwards25519 curve, signed with true
|
|
36
|
+
* EdDSA (RFC 8032) via `@noble/ed25519`. `P521` is retained as a recorded curve
|
|
37
|
+
* label for persistence forward-compatibility; no shipped factory uses it.
|
|
34
38
|
*/
|
|
35
39
|
export declare enum EllipticalCurvesSigning {
|
|
36
40
|
Curve25519 = "ed25519",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cryptography-settings.d.ts","sourceRoot":"","sources":["../../src/_settings/cryptography-settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,cAAc;;;;gBAIF,MAAM,CAAC,oBAAoB;;;;;;kBAMxB,MAAM,CAAC,QAAQ;CAC1C,CAAC;AAGF,eAAO,MAAM,cAAc,EAAe,cAAc,CAAC;AACzD,eAAO,MAAM,WAAW,EAAY,cAAc,CAAC;AAGnD,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC;;GAEG;AACH,oBAAY,0BAA0B;IAClC,UAAU,eAAe;IACzB,IAAI,SAAS;CAChB;AAED
|
|
1
|
+
{"version":3,"file":"cryptography-settings.d.ts","sourceRoot":"","sources":["../../src/_settings/cryptography-settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,cAAc;;;;gBAIF,MAAM,CAAC,oBAAoB;;;;;;kBAMxB,MAAM,CAAC,QAAQ;CAC1C,CAAC;AAGF,eAAO,MAAM,cAAc,EAAe,cAAc,CAAC;AACzD,eAAO,MAAM,WAAW,EAAY,cAAc,CAAC;AAGnD,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC;;GAEG;AACH,oBAAY,0BAA0B;IAClC,UAAU,eAAe;IACzB,IAAI,SAAS;CAChB;AAED;;;;;;GAMG;AACH,oBAAY,uBAAuB;IAC/B,UAAU,YAAY;IACtB,IAAI,SAAS;CAChB"}
|
|
@@ -32,7 +32,11 @@ var EllipticalCurvesEncryption;
|
|
|
32
32
|
EllipticalCurvesEncryption["P521"] = "p521";
|
|
33
33
|
})(EllipticalCurvesEncryption || (exports.EllipticalCurvesEncryption = EllipticalCurvesEncryption = {}));
|
|
34
34
|
/**
|
|
35
|
-
* This contains the values for the elliptical
|
|
35
|
+
* This contains the values for the elliptical curves for signing.
|
|
36
|
+
*
|
|
37
|
+
* `Curve25519 = 'ed25519'` selects the Edwards25519 curve, signed with true
|
|
38
|
+
* EdDSA (RFC 8032) via `@noble/ed25519`. `P521` is retained as a recorded curve
|
|
39
|
+
* label for persistence forward-compatibility; no shipped factory uses it.
|
|
36
40
|
*/
|
|
37
41
|
var EllipticalCurvesSigning;
|
|
38
42
|
(function (EllipticalCurvesSigning) {
|
package/dist/crypto/index.d.ts
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
export * from './calculate-hash';
|
|
2
2
|
export * from './calculate-combined-hash';
|
|
3
3
|
export * from './private-public-keys/generation/create-256-private-key-from-mnemonic';
|
|
4
|
-
export * from './private-public-keys/generation/create-entropy-for-elliptical-curve';
|
|
5
4
|
export * from './private-public-keys/generation/create-random-256-private-key';
|
|
6
5
|
export * from './private-public-keys/generation/create-random-512-key-pair';
|
|
7
|
-
export * from './private-public-keys/
|
|
8
|
-
export * from './private-public-keys/
|
|
9
|
-
export * from './
|
|
10
|
-
export * from './
|
|
11
|
-
export * from './
|
|
12
|
-
export * from './signature/create-crypto-signature';
|
|
13
|
-
export * from './signature/verify-crypto-signature-by-data';
|
|
14
|
-
export * from './signature/verify-crypto-signature-by-hash';
|
|
6
|
+
export * from './private-public-keys/create-ed25519-keys-from-mnemonic';
|
|
7
|
+
export * from './private-public-keys/get-ed25519-public-key-from-private-key';
|
|
8
|
+
export * from './signature/ed25519-primitives';
|
|
9
|
+
export * from './signature/create-ed25519-signature';
|
|
10
|
+
export * from './signature/verify-ed25519-signature';
|
|
15
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAK1C,cAAc,uEAAuE,CAAC;AACtF,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAK1C,cAAc,uEAAuE,CAAC;AACtF,cAAc,gEAAgE,CAAC;AAC/E,cAAc,6DAA6D,CAAC;AAI5E,cAAc,yDAAyD,CAAC;AACxE,cAAc,+DAA+D,CAAC;AAO9E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC"}
|
package/dist/crypto/index.js
CHANGED
|
@@ -19,18 +19,16 @@ __exportStar(require("./calculate-combined-hash"), exports);
|
|
|
19
19
|
//#region folder private-public-keys
|
|
20
20
|
//#region folder generation
|
|
21
21
|
__exportStar(require("./private-public-keys/generation/create-256-private-key-from-mnemonic"), exports);
|
|
22
|
-
__exportStar(require("./private-public-keys/generation/create-entropy-for-elliptical-curve"), exports);
|
|
23
22
|
__exportStar(require("./private-public-keys/generation/create-random-256-private-key"), exports);
|
|
24
23
|
__exportStar(require("./private-public-keys/generation/create-random-512-key-pair"), exports);
|
|
25
|
-
__exportStar(require("./private-public-keys/generation/generate-key-pair"), exports);
|
|
26
|
-
__exportStar(require("./private-public-keys/generation/get-private-public-key-from-keypair"), exports);
|
|
27
24
|
//#endregion folder generation
|
|
28
|
-
|
|
29
|
-
__exportStar(require("./private-public-keys/create-
|
|
30
|
-
__exportStar(require("./private-public-keys/
|
|
25
|
+
// EdDSA (true Ed25519) key derivation — the sole signing-key path.
|
|
26
|
+
__exportStar(require("./private-public-keys/create-ed25519-keys-from-mnemonic"), exports);
|
|
27
|
+
__exportStar(require("./private-public-keys/get-ed25519-public-key-from-private-key"), exports);
|
|
31
28
|
//#endregion folder private-public-keys
|
|
32
29
|
//#region folder signature
|
|
33
|
-
|
|
34
|
-
__exportStar(require("./signature/
|
|
35
|
-
__exportStar(require("./signature/
|
|
30
|
+
// EdDSA (true Ed25519) signing primitives — the sole signature path.
|
|
31
|
+
__exportStar(require("./signature/ed25519-primitives"), exports);
|
|
32
|
+
__exportStar(require("./signature/create-ed25519-signature"), exports);
|
|
33
|
+
__exportStar(require("./signature/verify-ed25519-signature"), exports);
|
|
36
34
|
//#endregion folder signature
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derives a true Ed25519 (EdDSA) keypair from a mnemonic.
|
|
3
|
+
*
|
|
4
|
+
* Derivation (pinned, RFC 8032): the 32-byte Ed25519 secret SEED is
|
|
5
|
+
* `SHA-256(mnemonic)` — the same 32 bytes the legacy `elliptic` path fed into
|
|
6
|
+
* `keyFromPrivate`, but here interpreted as an Ed25519 seed rather than an ECDSA
|
|
7
|
+
* private scalar. The public key is `ed25519.getPublicKey(seed)`.
|
|
8
|
+
*
|
|
9
|
+
* Because EdDSA hashes-and-clamps the seed to form its scalar, the PUBLIC KEY for
|
|
10
|
+
* a given mnemonic differs from the legacy ECDSA-over-ed25519 public key derived
|
|
11
|
+
* from the same mnemonic. The mnemonic still works, but the identity it maps to
|
|
12
|
+
* changes — the "same mnemonic → different identity" break in the migration plan
|
|
13
|
+
* (§3c). Any record of "this mnemonic owns public key X" must be re-derived.
|
|
14
|
+
*
|
|
15
|
+
* @param mnemonic the BIP39 mnemonic phrase.
|
|
16
|
+
* @returns hex-encoded `{ privateKey (32-byte seed), publicKey (32-byte) }`.
|
|
17
|
+
*/
|
|
18
|
+
export declare const createEd25519KeysFromMnemonic: (mnemonic: string) => {
|
|
19
|
+
privateKey: string;
|
|
20
|
+
publicKey: string;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=create-ed25519-keys-from-mnemonic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-ed25519-keys-from-mnemonic.d.ts","sourceRoot":"","sources":["../../../src/crypto/private-public-keys/create-ed25519-keys-from-mnemonic.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,6BAA6B,GACtC,UAAU,MAAM,KACjB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAOzC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.createEd25519KeysFromMnemonic = void 0;
|
|
37
|
+
const crypto = __importStar(require("crypto"));
|
|
38
|
+
const ed25519_primitives_1 = require("../signature/ed25519-primitives");
|
|
39
|
+
const cryptography_settings_1 = require("../../_settings/cryptography-settings");
|
|
40
|
+
/**
|
|
41
|
+
* Derives a true Ed25519 (EdDSA) keypair from a mnemonic.
|
|
42
|
+
*
|
|
43
|
+
* Derivation (pinned, RFC 8032): the 32-byte Ed25519 secret SEED is
|
|
44
|
+
* `SHA-256(mnemonic)` — the same 32 bytes the legacy `elliptic` path fed into
|
|
45
|
+
* `keyFromPrivate`, but here interpreted as an Ed25519 seed rather than an ECDSA
|
|
46
|
+
* private scalar. The public key is `ed25519.getPublicKey(seed)`.
|
|
47
|
+
*
|
|
48
|
+
* Because EdDSA hashes-and-clamps the seed to form its scalar, the PUBLIC KEY for
|
|
49
|
+
* a given mnemonic differs from the legacy ECDSA-over-ed25519 public key derived
|
|
50
|
+
* from the same mnemonic. The mnemonic still works, but the identity it maps to
|
|
51
|
+
* changes — the "same mnemonic → different identity" break in the migration plan
|
|
52
|
+
* (§3c). Any record of "this mnemonic owns public key X" must be re-derived.
|
|
53
|
+
*
|
|
54
|
+
* @param mnemonic the BIP39 mnemonic phrase.
|
|
55
|
+
* @returns hex-encoded `{ privateKey (32-byte seed), publicKey (32-byte) }`.
|
|
56
|
+
*/
|
|
57
|
+
const createEd25519KeysFromMnemonic = (mnemonic) => {
|
|
58
|
+
const seedHex = crypto
|
|
59
|
+
.createHash(cryptography_settings_1.CryptoSettings.Hash.Algorithm)
|
|
60
|
+
.update(mnemonic, cryptography_settings_1.CryptoSettings.TextEncoding)
|
|
61
|
+
.digest(cryptography_settings_1.CryptoSettings.Hash.Digest);
|
|
62
|
+
const publicKey = ed25519_primitives_1.ed.etc.bytesToHex(ed25519_primitives_1.ed.getPublicKey(ed25519_primitives_1.ed.etc.hexToBytes(seedHex)));
|
|
63
|
+
return { privateKey: seedHex, publicKey };
|
|
64
|
+
};
|
|
65
|
+
exports.createEd25519KeysFromMnemonic = createEd25519KeysFromMnemonic;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derives the 32-byte Ed25519 public key (hex) from a 32-byte Ed25519 secret
|
|
3
|
+
* seed (hex). The EdDSA counterpart to `getPublicKeyFromKeyPair` for the legacy
|
|
4
|
+
* path — useful when only the private seed is on hand (e.g. recovered from a
|
|
5
|
+
* mnemonic) and the matching public identity is needed.
|
|
6
|
+
*
|
|
7
|
+
* @param privateKey 32-byte Ed25519 secret seed as hex.
|
|
8
|
+
* @returns the 32-byte Ed25519 public key as hex (64 chars).
|
|
9
|
+
*/
|
|
10
|
+
export declare const getEd25519PublicKeyFromPrivateKey: (privateKey: string) => string;
|
|
11
|
+
//# sourceMappingURL=get-ed25519-public-key-from-private-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-ed25519-public-key-from-private-key.d.ts","sourceRoot":"","sources":["../../../src/crypto/private-public-keys/get-ed25519-public-key-from-private-key.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,GAAI,YAAY,MAAM,KAAG,MACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEd25519PublicKeyFromPrivateKey = void 0;
|
|
4
|
+
const ed25519_primitives_1 = require("../signature/ed25519-primitives");
|
|
5
|
+
/**
|
|
6
|
+
* Derives the 32-byte Ed25519 public key (hex) from a 32-byte Ed25519 secret
|
|
7
|
+
* seed (hex). The EdDSA counterpart to `getPublicKeyFromKeyPair` for the legacy
|
|
8
|
+
* path — useful when only the private seed is on hand (e.g. recovered from a
|
|
9
|
+
* mnemonic) and the matching public identity is needed.
|
|
10
|
+
*
|
|
11
|
+
* @param privateKey 32-byte Ed25519 secret seed as hex.
|
|
12
|
+
* @returns the 32-byte Ed25519 public key as hex (64 chars).
|
|
13
|
+
*/
|
|
14
|
+
const getEd25519PublicKeyFromPrivateKey = (privateKey) => ed25519_primitives_1.ed.etc.bytesToHex(ed25519_primitives_1.ed.getPublicKey(ed25519_primitives_1.ed.etc.hexToBytes(privateKey)));
|
|
15
|
+
exports.getEd25519PublicKeyFromPrivateKey = getEd25519PublicKeyFromPrivateKey;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signs a message with a true Ed25519 (EdDSA) secret seed.
|
|
3
|
+
*
|
|
4
|
+
* Unlike `createEllipticalCurveSignature`, this does NOT pre-hash the message.
|
|
5
|
+
* Ed25519 hashes the full message with SHA-512 internally (RFC 8032) and has no
|
|
6
|
+
* input-length truncation, so the SHA-256 pre-hash the ECDSA path needs to
|
|
7
|
+
* defend its 3-bit truncation would only discard information here. The UTF-8
|
|
8
|
+
* bytes of `message` are signed directly; `verifyEd25519Signature` mirrors this
|
|
9
|
+
* exactly.
|
|
10
|
+
*
|
|
11
|
+
* @param privateKey 32-byte Ed25519 secret seed as hex (e.g. SHA-256(mnemonic)).
|
|
12
|
+
* @param message the message string to sign.
|
|
13
|
+
* @returns the 64-byte EdDSA signature as hex (128 chars).
|
|
14
|
+
*/
|
|
15
|
+
export declare const createEd25519Signature: (privateKey: string, message: string) => string;
|
|
16
|
+
//# sourceMappingURL=create-ed25519-signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-ed25519-signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/signature/create-ed25519-signature.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,GAAI,YAAY,MAAM,EAAE,SAAS,MAAM,KAAG,MAK5E,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createEd25519Signature = void 0;
|
|
4
|
+
const ed25519_primitives_1 = require("./ed25519-primitives");
|
|
5
|
+
const cryptography_settings_1 = require("../../_settings/cryptography-settings");
|
|
6
|
+
/**
|
|
7
|
+
* Signs a message with a true Ed25519 (EdDSA) secret seed.
|
|
8
|
+
*
|
|
9
|
+
* Unlike `createEllipticalCurveSignature`, this does NOT pre-hash the message.
|
|
10
|
+
* Ed25519 hashes the full message with SHA-512 internally (RFC 8032) and has no
|
|
11
|
+
* input-length truncation, so the SHA-256 pre-hash the ECDSA path needs to
|
|
12
|
+
* defend its 3-bit truncation would only discard information here. The UTF-8
|
|
13
|
+
* bytes of `message` are signed directly; `verifyEd25519Signature` mirrors this
|
|
14
|
+
* exactly.
|
|
15
|
+
*
|
|
16
|
+
* @param privateKey 32-byte Ed25519 secret seed as hex (e.g. SHA-256(mnemonic)).
|
|
17
|
+
* @param message the message string to sign.
|
|
18
|
+
* @returns the 64-byte EdDSA signature as hex (128 chars).
|
|
19
|
+
*/
|
|
20
|
+
const createEd25519Signature = (privateKey, message) => {
|
|
21
|
+
const seed = ed25519_primitives_1.ed.etc.hexToBytes(privateKey);
|
|
22
|
+
const messageBytes = Buffer.from(message, cryptography_settings_1.CryptoSettings.TextEncoding);
|
|
23
|
+
const signature = ed25519_primitives_1.ed.sign(messageBytes, seed);
|
|
24
|
+
return ed25519_primitives_1.ed.etc.bytesToHex(signature);
|
|
25
|
+
};
|
|
26
|
+
exports.createEd25519Signature = createEd25519Signature;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared access point to the configured `@noble/ed25519` module.
|
|
3
|
+
*
|
|
4
|
+
* `@noble/ed25519` v3 ships ESM-only (`"type": "module"`, no CommonJS build).
|
|
5
|
+
* Our packages emit CommonJS (`module: "node16"`), where a static
|
|
6
|
+
* `import * as ed from '@noble/ed25519'` makes `tsc` emit a `require()` of an
|
|
7
|
+
* ESM module and reject it at compile time (TS1479). Node ≥22.12 can `require()`
|
|
8
|
+
* a synchronous ESM graph, and noble has no top-level await, so a runtime
|
|
9
|
+
* `require` resolves fine. `typeof import(...)` is a type-only query — fully
|
|
10
|
+
* erased, emits no import — so it gives full typings without re-triggering
|
|
11
|
+
* TS1479. Jest loads the same specifier via its `@noble/ed25519` → source-`.ts`
|
|
12
|
+
* moduleNameMapper + transformIgnorePatterns exception.
|
|
13
|
+
*
|
|
14
|
+
* v3's synchronous API (`getPublicKey` / `sign` / `verify`) refuses to run until
|
|
15
|
+
* a synchronous SHA-512 is wired into `ed.hashes.sha512`. We back it with Node's
|
|
16
|
+
* `crypto` so the rest of the codebase keeps its synchronous signing/verification
|
|
17
|
+
* call shape — the structural-proof verifier (`verifyShareDataProposalProof`) is
|
|
18
|
+
* synchronous on purpose and we don't want to cascade-async every caller.
|
|
19
|
+
*
|
|
20
|
+
* The hook receives the already-concatenated message bytes and must return a
|
|
21
|
+
* 64-byte digest. Guarded so re-importing this module does not re-assign it.
|
|
22
|
+
*/
|
|
23
|
+
declare const ed: typeof import('@noble/ed25519', { with: { 'resolution-mode': 'import' } });
|
|
24
|
+
export { ed };
|
|
25
|
+
//# sourceMappingURL=ed25519-primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519-primitives.d.ts","sourceRoot":"","sources":["../../../src/crypto/signature/ed25519-primitives.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,QAAA,MAAM,EAAE,EAAE,cAAc,gBAAgB,EAAU,UAAE,iBAAiB,EAAE,QAAQ,IAAE,CACpD,CAAC;AAM9B,OAAO,EAAE,EAAE,EAAE,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ed = void 0;
|
|
37
|
+
const crypto = __importStar(require("crypto"));
|
|
38
|
+
/**
|
|
39
|
+
* Shared access point to the configured `@noble/ed25519` module.
|
|
40
|
+
*
|
|
41
|
+
* `@noble/ed25519` v3 ships ESM-only (`"type": "module"`, no CommonJS build).
|
|
42
|
+
* Our packages emit CommonJS (`module: "node16"`), where a static
|
|
43
|
+
* `import * as ed from '@noble/ed25519'` makes `tsc` emit a `require()` of an
|
|
44
|
+
* ESM module and reject it at compile time (TS1479). Node ≥22.12 can `require()`
|
|
45
|
+
* a synchronous ESM graph, and noble has no top-level await, so a runtime
|
|
46
|
+
* `require` resolves fine. `typeof import(...)` is a type-only query — fully
|
|
47
|
+
* erased, emits no import — so it gives full typings without re-triggering
|
|
48
|
+
* TS1479. Jest loads the same specifier via its `@noble/ed25519` → source-`.ts`
|
|
49
|
+
* moduleNameMapper + transformIgnorePatterns exception.
|
|
50
|
+
*
|
|
51
|
+
* v3's synchronous API (`getPublicKey` / `sign` / `verify`) refuses to run until
|
|
52
|
+
* a synchronous SHA-512 is wired into `ed.hashes.sha512`. We back it with Node's
|
|
53
|
+
* `crypto` so the rest of the codebase keeps its synchronous signing/verification
|
|
54
|
+
* call shape — the structural-proof verifier (`verifyShareDataProposalProof`) is
|
|
55
|
+
* synchronous on purpose and we don't want to cascade-async every caller.
|
|
56
|
+
*
|
|
57
|
+
* The hook receives the already-concatenated message bytes and must return a
|
|
58
|
+
* 64-byte digest. Guarded so re-importing this module does not re-assign it.
|
|
59
|
+
*/
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
61
|
+
const ed = require('@noble/ed25519');
|
|
62
|
+
exports.ed = ed;
|
|
63
|
+
if (!ed.hashes.sha512) {
|
|
64
|
+
ed.hashes.sha512 = (message) => Uint8Array.from(crypto.createHash('sha512').update(message).digest());
|
|
65
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verifies a true Ed25519 (EdDSA) signature over `message` for `publicKey`.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors `createEd25519Signature`: the raw UTF-8 bytes of `message` are
|
|
5
|
+
* verified directly, with no SHA-256 pre-hash (Ed25519 hashes internally).
|
|
6
|
+
*
|
|
7
|
+
* @param publicKey 32-byte Ed25519 public key as hex (64 chars).
|
|
8
|
+
* @param message the message string that was signed.
|
|
9
|
+
* @param signature the 64-byte EdDSA signature as hex.
|
|
10
|
+
* @returns `true` when the signature is valid, `false` otherwise.
|
|
11
|
+
*/
|
|
12
|
+
export declare const verifyEd25519Signature: (publicKey: string, message: string, signature: string) => boolean;
|
|
13
|
+
//# sourceMappingURL=verify-ed25519-signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-ed25519-signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/signature/verify-ed25519-signature.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,GAC/B,WAAW,MAAM,EACjB,SAAS,MAAM,EACf,WAAW,MAAM,KAClB,OAYF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.verifyEd25519Signature = void 0;
|
|
4
|
+
const ed25519_primitives_1 = require("./ed25519-primitives");
|
|
5
|
+
const cryptography_settings_1 = require("../../_settings/cryptography-settings");
|
|
6
|
+
/**
|
|
7
|
+
* Verifies a true Ed25519 (EdDSA) signature over `message` for `publicKey`.
|
|
8
|
+
*
|
|
9
|
+
* Mirrors `createEd25519Signature`: the raw UTF-8 bytes of `message` are
|
|
10
|
+
* verified directly, with no SHA-256 pre-hash (Ed25519 hashes internally).
|
|
11
|
+
*
|
|
12
|
+
* @param publicKey 32-byte Ed25519 public key as hex (64 chars).
|
|
13
|
+
* @param message the message string that was signed.
|
|
14
|
+
* @param signature the 64-byte EdDSA signature as hex.
|
|
15
|
+
* @returns `true` when the signature is valid, `false` otherwise.
|
|
16
|
+
*/
|
|
17
|
+
const verifyEd25519Signature = (publicKey, message, signature) => {
|
|
18
|
+
try {
|
|
19
|
+
const publicKeyBytes = ed25519_primitives_1.ed.etc.hexToBytes(publicKey);
|
|
20
|
+
const signatureBytes = ed25519_primitives_1.ed.etc.hexToBytes(signature);
|
|
21
|
+
const messageBytes = Buffer.from(message, cryptography_settings_1.CryptoSettings.TextEncoding);
|
|
22
|
+
return ed25519_primitives_1.ed.verify(signatureBytes, messageBytes, publicKeyBytes);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// noble throws (TypeError/RangeError) on malformed hex or wrong byte
|
|
26
|
+
// lengths rather than returning false. Normalize to a single rejection
|
|
27
|
+
// mode so a tampered/garbage signature reads as "invalid", not an error.
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.verifyEd25519Signature = verifyEd25519Signature;
|
package/dist/errors/index.d.ts
CHANGED
|
@@ -2,9 +2,11 @@ export * from './audit-log/audit-log-errors';
|
|
|
2
2
|
export * from './authorization/authorization-errors';
|
|
3
3
|
export * from './database/database-errors';
|
|
4
4
|
export * from './generic/generic-errors';
|
|
5
|
+
export * from './library/library-errors';
|
|
5
6
|
export * from './request/request-errors';
|
|
6
7
|
export * from './safe/safe-rules-errors';
|
|
7
8
|
export * from './scheduler/scheduler-errors';
|
|
9
|
+
export * from './settlement/settlement-errors';
|
|
8
10
|
export * from './share-data/share-data-errors';
|
|
9
11
|
export * from './shareblock/shareblock-errors';
|
|
10
12
|
export * from './validation/crypto-validation-errors';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AAGtD,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AAGtD,cAAc,cAAc,CAAC"}
|
package/dist/errors/index.js
CHANGED
|
@@ -18,9 +18,11 @@ __exportStar(require("./audit-log/audit-log-errors"), exports);
|
|
|
18
18
|
__exportStar(require("./authorization/authorization-errors"), exports);
|
|
19
19
|
__exportStar(require("./database/database-errors"), exports);
|
|
20
20
|
__exportStar(require("./generic/generic-errors"), exports);
|
|
21
|
+
__exportStar(require("./library/library-errors"), exports);
|
|
21
22
|
__exportStar(require("./request/request-errors"), exports);
|
|
22
23
|
__exportStar(require("./safe/safe-rules-errors"), exports);
|
|
23
24
|
__exportStar(require("./scheduler/scheduler-errors"), exports);
|
|
25
|
+
__exportStar(require("./settlement/settlement-errors"), exports);
|
|
24
26
|
__exportStar(require("./share-data/share-data-errors"), exports);
|
|
25
27
|
__exportStar(require("./shareblock/shareblock-errors"), exports);
|
|
26
28
|
__exportStar(require("./validation/crypto-validation-errors"), exports);
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { BaseError } from '../base-error';
|
|
2
|
+
/**
|
|
3
|
+
* Thrown when a library version's recorded `currentHash` does not match the
|
|
4
|
+
* hash recomputed from its `source` + `previousHash`. The content of the
|
|
5
|
+
* version has been altered (or the hash was forged).
|
|
6
|
+
*/
|
|
7
|
+
export declare class LibraryVersionHashMismatchError extends BaseError {
|
|
8
|
+
readonly entityId: string;
|
|
9
|
+
readonly claimedHash: string;
|
|
10
|
+
readonly recomputedHash: string;
|
|
11
|
+
constructor(entityId: string, claimedHash: string, recomputedHash: string);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Thrown when a version's `previousHash` does not equal the `currentHash` of
|
|
15
|
+
* the version before it (the prior version's hash, or the empty seed for the
|
|
16
|
+
* first version). The append-only chain has been broken or reordered.
|
|
17
|
+
*/
|
|
18
|
+
export declare class LibraryChainBrokenError extends BaseError {
|
|
19
|
+
readonly entityId: string;
|
|
20
|
+
readonly expectedPreviousHash: string;
|
|
21
|
+
readonly actualPreviousHash: string;
|
|
22
|
+
constructor(entityId: string, expectedPreviousHash: string, actualPreviousHash: string);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Thrown when a version or head proof's Ed25519 signature does not verify
|
|
26
|
+
* against the canonical, purpose-bound payload reconstructed from the record.
|
|
27
|
+
* A signature was forged, or a signed field (including metadata such as
|
|
28
|
+
* `createdAt`, which is bound by the signature though not by the content hash)
|
|
29
|
+
* was tampered with.
|
|
30
|
+
*/
|
|
31
|
+
export declare class LibraryProofInvalidError extends BaseError {
|
|
32
|
+
readonly entityId: string;
|
|
33
|
+
readonly proofKind: 'version' | 'head' | 'delegation';
|
|
34
|
+
constructor(entityId: string, proofKind: 'version' | 'head' | 'delegation');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Thrown when a delegation is registered by a key that is not the entity owner.
|
|
38
|
+
* Only the owner (the key that signed the first version) may delegate, which
|
|
39
|
+
* also blocks transitive delegation — a delegate's key is never the owner key,
|
|
40
|
+
* so a delegate can never register further delegates.
|
|
41
|
+
*/
|
|
42
|
+
export declare class LibraryDelegationNotAuthorizedError extends BaseError {
|
|
43
|
+
readonly entityId: string;
|
|
44
|
+
readonly attemptedBy: string;
|
|
45
|
+
constructor(entityId: string, attemptedBy: string, reason?: string);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Thrown when a version's signer is neither the entity owner nor a verified
|
|
49
|
+
* delegate. Signature validity alone only proves *someone* signed the version;
|
|
50
|
+
* this proves the *authorized* someone did.
|
|
51
|
+
*/
|
|
52
|
+
export declare class LibraryVersionNotAuthorizedError extends BaseError {
|
|
53
|
+
readonly entityId: string;
|
|
54
|
+
readonly signerPublicKey: string;
|
|
55
|
+
constructor(entityId: string, signerPublicKey: string);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Thrown when a store `save` would violate the append-only ledger: the incoming
|
|
59
|
+
* entity truncates or diverges from the stored history rather than extending it.
|
|
60
|
+
* The ledger may only grow, and existing versions may never change.
|
|
61
|
+
*/
|
|
62
|
+
export declare class LibraryStoreConflictError extends BaseError {
|
|
63
|
+
readonly entityId: string;
|
|
64
|
+
readonly reason: string;
|
|
65
|
+
constructor(entityId: string, reason: string);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Thrown when an entity is evaluated as the wrong kind — e.g. evaluating a rule
|
|
69
|
+
* entity through the function path. The entity is valid; the call is not.
|
|
70
|
+
*/
|
|
71
|
+
export declare class LibraryKindMismatchError extends BaseError {
|
|
72
|
+
readonly entityId: string;
|
|
73
|
+
readonly expected: string;
|
|
74
|
+
readonly actual: string;
|
|
75
|
+
constructor(entityId: string, expected: string, actual: string);
|
|
76
|
+
}
|
|
77
|
+
/** Thrown when a reference resolves to an id the store does not hold. */
|
|
78
|
+
export declare class LibraryEntityNotFoundError extends BaseError {
|
|
79
|
+
readonly entityId: string;
|
|
80
|
+
constructor(entityId: string);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Thrown when a reference pins a `currentHash` that is not present in the
|
|
84
|
+
* entity's version ledger (e.g. a stale or forged reference).
|
|
85
|
+
*/
|
|
86
|
+
export declare class LibraryVersionNotFoundError extends BaseError {
|
|
87
|
+
readonly entityId: string;
|
|
88
|
+
readonly currentHash: string;
|
|
89
|
+
constructor(entityId: string, currentHash: string);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Thrown when a library entity is structurally invalid: no versions, an `id`
|
|
93
|
+
* that is not the first version's `currentHash` (identity is content-addressed
|
|
94
|
+
* to the first version), a `head` that does not match the latest version, or an
|
|
95
|
+
* out-of-range `gasLimit`.
|
|
96
|
+
*/
|
|
97
|
+
export declare class LibraryEntityInvalidError extends BaseError {
|
|
98
|
+
readonly reason: string;
|
|
99
|
+
constructor(reason: string);
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=library-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library-errors.d.ts","sourceRoot":"","sources":["../../../src/errors/library/library-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;GAIG;AACH,qBAAa,+BAAgC,SAAQ,SAAS;IAC1D,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,cAAc,EAAE,MAAM,CAAC;gBAE3B,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;CAQ5E;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,SAAS;IAClD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,oBAAoB,EAAE,MAAM,CAAC;IAC7C,SAAgB,kBAAkB,EAAE,MAAM,CAAC;gBAE/B,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM;CAQzF;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,SAAS;IACnD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC;gBAEjD,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,YAAY;CAK7E;AAED;;;;;GAKG;AACH,qBAAa,mCAAoC,SAAQ,SAAS;IAC9D,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,WAAW,EAAE,MAAM,CAAC;gBAExB,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAOrE;AAED;;;;GAIG;AACH,qBAAa,gCAAiC,SAAQ,SAAS;IAC3D,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAE5B,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAOxD;AAED;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,SAAS;IACpD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAK/C;AAED;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,SAAS;IACnD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAMjE;AAED,yEAAyE;AACzE,qBAAa,0BAA2B,SAAQ,SAAS;IACrD,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAErB,QAAQ,EAAE,MAAM;CAI/B;AAED;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,SAAS;IACtD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,WAAW,EAAE,MAAM,CAAC;gBAExB,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAKpD;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,SAAS;IACpD,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,MAAM,EAAE,MAAM;CAI7B"}
|