@brightchain/brightchain-lib 0.29.17 → 0.29.21

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 (59) hide show
  1. package/package.json +1 -1
  2. package/src/browser.d.ts +12 -0
  3. package/src/browser.d.ts.map +1 -1
  4. package/src/browser.js +16 -1
  5. package/src/browser.js.map +1 -1
  6. package/src/lib/errors/ledgerError.d.ts +7 -1
  7. package/src/lib/errors/ledgerError.d.ts.map +1 -1
  8. package/src/lib/errors/ledgerError.js +6 -0
  9. package/src/lib/errors/ledgerError.js.map +1 -1
  10. package/src/lib/interfaces/ledger/authorizedSigner.d.ts +17 -0
  11. package/src/lib/interfaces/ledger/authorizedSigner.d.ts.map +1 -0
  12. package/src/lib/interfaces/ledger/authorizedSigner.js +11 -0
  13. package/src/lib/interfaces/ledger/authorizedSigner.js.map +1 -0
  14. package/src/lib/interfaces/ledger/governanceAction.d.ts +46 -0
  15. package/src/lib/interfaces/ledger/governanceAction.d.ts.map +1 -0
  16. package/src/lib/interfaces/ledger/governanceAction.js +22 -0
  17. package/src/lib/interfaces/ledger/governanceAction.js.map +1 -0
  18. package/src/lib/interfaces/ledger/governancePayload.d.ts +19 -0
  19. package/src/lib/interfaces/ledger/governancePayload.d.ts.map +1 -0
  20. package/src/lib/interfaces/ledger/governancePayload.js +11 -0
  21. package/src/lib/interfaces/ledger/governancePayload.js.map +1 -0
  22. package/src/lib/interfaces/ledger/index.d.ts +8 -0
  23. package/src/lib/interfaces/ledger/index.d.ts.map +1 -1
  24. package/src/lib/interfaces/ledger/index.js +10 -0
  25. package/src/lib/interfaces/ledger/index.js.map +1 -1
  26. package/src/lib/interfaces/ledger/quorumPolicy.d.ts +19 -0
  27. package/src/lib/interfaces/ledger/quorumPolicy.d.ts.map +1 -0
  28. package/src/lib/interfaces/ledger/quorumPolicy.js +18 -0
  29. package/src/lib/interfaces/ledger/quorumPolicy.js.map +1 -0
  30. package/src/lib/interfaces/ledger/signerRole.d.ts +14 -0
  31. package/src/lib/interfaces/ledger/signerRole.d.ts.map +1 -0
  32. package/src/lib/interfaces/ledger/signerRole.js +18 -0
  33. package/src/lib/interfaces/ledger/signerRole.js.map +1 -0
  34. package/src/lib/interfaces/ledger/signerStatus.d.ts +15 -0
  35. package/src/lib/interfaces/ledger/signerStatus.d.ts.map +1 -0
  36. package/src/lib/interfaces/ledger/signerStatus.js +19 -0
  37. package/src/lib/interfaces/ledger/signerStatus.js.map +1 -0
  38. package/src/lib/interfaces/ledger/validationResult.d.ts +1 -1
  39. package/src/lib/interfaces/ledger/validationResult.d.ts.map +1 -1
  40. package/src/lib/ledger/authorizedSignerSet.d.ts +47 -0
  41. package/src/lib/ledger/authorizedSignerSet.d.ts.map +1 -0
  42. package/src/lib/ledger/authorizedSignerSet.js +287 -0
  43. package/src/lib/ledger/authorizedSignerSet.js.map +1 -0
  44. package/src/lib/ledger/browserSignatureVerifier.d.ts +18 -0
  45. package/src/lib/ledger/browserSignatureVerifier.d.ts.map +1 -0
  46. package/src/lib/ledger/browserSignatureVerifier.js +35 -0
  47. package/src/lib/ledger/browserSignatureVerifier.js.map +1 -0
  48. package/src/lib/ledger/governancePayloadSerializer.d.ts +70 -0
  49. package/src/lib/ledger/governancePayloadSerializer.d.ts.map +1 -0
  50. package/src/lib/ledger/governancePayloadSerializer.js +499 -0
  51. package/src/lib/ledger/governancePayloadSerializer.js.map +1 -0
  52. package/src/lib/ledger/ledger.d.ts +58 -8
  53. package/src/lib/ledger/ledger.d.ts.map +1 -1
  54. package/src/lib/ledger/ledger.js +217 -45
  55. package/src/lib/ledger/ledger.js.map +1 -1
  56. package/src/lib/ledger/ledgerChainValidator.d.ts +30 -4
  57. package/src/lib/ledger/ledgerChainValidator.d.ts.map +1 -1
  58. package/src/lib/ledger/ledgerChainValidator.js +155 -4
  59. package/src/lib/ledger/ledgerChainValidator.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightchain/brightchain-lib",
3
- "version": "0.29.17",
3
+ "version": "0.29.21",
4
4
  "description": "BrightChain core library - browser-compatible blockchain storage",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
package/src/browser.d.ts CHANGED
@@ -28,8 +28,20 @@ export type { ILedgerSignatureVerifier } from './lib/interfaces/ledger/ledgerSig
28
28
  export type { ILedgerSigner } from './lib/interfaces/ledger/ledgerSigner';
29
29
  export type { ILedgerValidationError, IValidationResult as ILedgerValidationResult, LedgerValidationErrorType, } from './lib/interfaces/ledger/validationResult';
30
30
  export { EciesSignatureVerifier } from './lib/ledger/eciesSignatureVerifier';
31
+ export { BrowserSignatureVerifier } from './lib/ledger/browserSignatureVerifier';
31
32
  export { Ledger } from './lib/ledger/ledger';
32
33
  export { LedgerChainValidator } from './lib/ledger/ledgerChainValidator';
33
34
  export { LedgerEntrySerializer } from './lib/ledger/ledgerEntrySerializer';
34
35
  export { MemberSignerAdapter } from './lib/ledger/memberSignerAdapter';
36
+ export { GovernancePayloadSerializer } from './lib/ledger/governancePayloadSerializer';
37
+ export type { IGenesisPayloadData } from './lib/ledger/governancePayloadSerializer';
38
+ export { AuthorizedSignerSet } from './lib/ledger/authorizedSignerSet';
39
+ export { SignerRole } from './lib/interfaces/ledger/signerRole';
40
+ export { SignerStatus } from './lib/interfaces/ledger/signerStatus';
41
+ export { QuorumType } from './lib/interfaces/ledger/quorumPolicy';
42
+ export { GovernanceActionType } from './lib/interfaces/ledger/governanceAction';
43
+ export type { IAuthorizedSigner } from './lib/interfaces/ledger/authorizedSigner';
44
+ export type { IQuorumPolicy } from './lib/interfaces/ledger/quorumPolicy';
45
+ export type { IGovernanceAction } from './lib/interfaces/ledger/governanceAction';
46
+ export type { IGovernancePayload } from './lib/interfaces/ledger/governancePayload';
35
47
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":"AAGA,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACxE,YAAY,EAAE,OAAO,EAAE,MAAM,6CAA6C,CAAC;AAG3E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAG/E,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,YAAY,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AACnF,YAAY,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAGrF,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,uCAAuC,CAAC;AAG/C,YAAY,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAC9E,YAAY,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAChG,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,YAAY,EACV,sBAAsB,EACtB,iBAAiB,IAAI,uBAAuB,EAC5C,yBAAyB,GAC1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":"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"}
package/src/browser.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Minimal browser-compatible exports
3
3
  // Only exports core functionality that works without Node.js modules
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.MemberSignerAdapter = exports.LedgerEntrySerializer = exports.LedgerChainValidator = exports.Ledger = exports.EciesSignatureVerifier = exports.MessagePriority = exports.MessageEncryptionScheme = exports.DeliveryStatus = exports.MessageCBLService = exports.ChecksumService = exports.CBLService = exports.asBlockId = exports.Checksum = exports.initializeBrightChain = exports.ServiceProvider = exports.constantTimeXorMultiple = exports.constantTimeXor = exports.XorLengthMismatchError = exports.RawDataBlock = exports.isBlockHandle = exports.createBlockHandle = exports.BaseBlock = void 0;
5
+ exports.GovernanceActionType = exports.QuorumType = exports.SignerStatus = exports.SignerRole = exports.AuthorizedSignerSet = exports.GovernancePayloadSerializer = exports.MemberSignerAdapter = exports.LedgerEntrySerializer = exports.LedgerChainValidator = exports.Ledger = exports.BrowserSignatureVerifier = exports.EciesSignatureVerifier = exports.MessagePriority = exports.MessageEncryptionScheme = exports.DeliveryStatus = exports.MessageCBLService = exports.ChecksumService = exports.CBLService = exports.asBlockId = exports.Checksum = exports.initializeBrightChain = exports.ServiceProvider = exports.constantTimeXorMultiple = exports.constantTimeXor = exports.XorLengthMismatchError = exports.RawDataBlock = exports.isBlockHandle = exports.createBlockHandle = exports.BaseBlock = void 0;
6
6
  const tslib_1 = require("tslib");
7
7
  tslib_1.__exportStar(require("./lib/brightChain"), exports);
8
8
  tslib_1.__exportStar(require("./lib/enumerations/blockSize"), exports);
@@ -50,6 +50,8 @@ var messagePriority_1 = require("./lib/enumerations/messaging/messagePriority");
50
50
  Object.defineProperty(exports, "MessagePriority", { enumerable: true, get: function () { return messagePriority_1.MessagePriority; } });
51
51
  var eciesSignatureVerifier_1 = require("./lib/ledger/eciesSignatureVerifier");
52
52
  Object.defineProperty(exports, "EciesSignatureVerifier", { enumerable: true, get: function () { return eciesSignatureVerifier_1.EciesSignatureVerifier; } });
53
+ var browserSignatureVerifier_1 = require("./lib/ledger/browserSignatureVerifier");
54
+ Object.defineProperty(exports, "BrowserSignatureVerifier", { enumerable: true, get: function () { return browserSignatureVerifier_1.BrowserSignatureVerifier; } });
53
55
  var ledger_1 = require("./lib/ledger/ledger");
54
56
  Object.defineProperty(exports, "Ledger", { enumerable: true, get: function () { return ledger_1.Ledger; } });
55
57
  var ledgerChainValidator_1 = require("./lib/ledger/ledgerChainValidator");
@@ -58,4 +60,17 @@ var ledgerEntrySerializer_1 = require("./lib/ledger/ledgerEntrySerializer");
58
60
  Object.defineProperty(exports, "LedgerEntrySerializer", { enumerable: true, get: function () { return ledgerEntrySerializer_1.LedgerEntrySerializer; } });
59
61
  var memberSignerAdapter_1 = require("./lib/ledger/memberSignerAdapter");
60
62
  Object.defineProperty(exports, "MemberSignerAdapter", { enumerable: true, get: function () { return memberSignerAdapter_1.MemberSignerAdapter; } });
63
+ // Ledger - Governance
64
+ var governancePayloadSerializer_1 = require("./lib/ledger/governancePayloadSerializer");
65
+ Object.defineProperty(exports, "GovernancePayloadSerializer", { enumerable: true, get: function () { return governancePayloadSerializer_1.GovernancePayloadSerializer; } });
66
+ var authorizedSignerSet_1 = require("./lib/ledger/authorizedSignerSet");
67
+ Object.defineProperty(exports, "AuthorizedSignerSet", { enumerable: true, get: function () { return authorizedSignerSet_1.AuthorizedSignerSet; } });
68
+ var signerRole_1 = require("./lib/interfaces/ledger/signerRole");
69
+ Object.defineProperty(exports, "SignerRole", { enumerable: true, get: function () { return signerRole_1.SignerRole; } });
70
+ var signerStatus_1 = require("./lib/interfaces/ledger/signerStatus");
71
+ Object.defineProperty(exports, "SignerStatus", { enumerable: true, get: function () { return signerStatus_1.SignerStatus; } });
72
+ var quorumPolicy_1 = require("./lib/interfaces/ledger/quorumPolicy");
73
+ Object.defineProperty(exports, "QuorumType", { enumerable: true, get: function () { return quorumPolicy_1.QuorumType; } });
74
+ var governanceAction_1 = require("./lib/interfaces/ledger/governanceAction");
75
+ Object.defineProperty(exports, "GovernanceActionType", { enumerable: true, get: function () { return governanceAction_1.GovernanceActionType; } });
61
76
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,qEAAqE;;;;AAErE,4DAAkC;AAClC,uEAA6C;AAC7C,4EAAkD;AAClD,8EAAoD;AACpD,wEAA8C;AAE9C,qCAAqC;AACrC,0CAA8C;AAArC,iGAAA,SAAS,OAAA;AAClB,8CAI6B;AAH3B,2GAAA,iBAAiB,OAAA;AACjB,uGAAA,aAAa,OAAA;AAGf,gDAAoD;AAA3C,uGAAA,YAAY,OAAA;AAErB,0DAA0D;AAC1D,+DAIqC;AAHnC,yHAAA,sBAAsB,OAAA;AACtB,kHAAA,eAAe,OAAA;AACf,0HAAA,uBAAuB,OAAA;AAGzB,4CAA4C;AAC5C,oEAAkE;AAAzD,mHAAA,eAAe,OAAA;AAExB,4CAA4C;AAC5C,mCAAmD;AAA1C,6GAAA,qBAAqB,OAAA;AAE9B,kDAAkD;AAClD,iDAAgD;AAAvC,oGAAA,QAAQ,OAAA;AAEjB,0CAA0C;AAC1C,uEAAwE;AAA/D,oGAAA,SAAS,OAAA;AAGlB,kBAAkB;AAClB,wDAAuD;AAA9C,wGAAA,UAAU,OAAA;AACnB,oEAAkE;AAAzD,mHAAA,eAAe,OAAA;AACxB,gFAA+E;AAAtE,sHAAA,iBAAiB,OAAA;AAE1B,wCAAwC;AACxC,8EAA6E;AAApE,gHAAA,cAAc,OAAA;AACvB,gGAA+F;AAAtF,kIAAA,uBAAuB,OAAA;AAChC,gFAA+E;AAAtE,kHAAA,eAAe,OAAA;AAsBxB,8EAA6E;AAApE,gIAAA,sBAAsB,OAAA;AAC/B,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,0EAAyE;AAAhE,4HAAA,oBAAoB,OAAA;AAC7B,4EAA2E;AAAlE,8HAAA,qBAAqB,OAAA;AAC9B,wEAAuE;AAA9D,0HAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,qEAAqE;;;;AAErE,4DAAkC;AAClC,uEAA6C;AAC7C,4EAAkD;AAClD,8EAAoD;AACpD,wEAA8C;AAE9C,qCAAqC;AACrC,0CAA8C;AAArC,iGAAA,SAAS,OAAA;AAClB,8CAI6B;AAH3B,2GAAA,iBAAiB,OAAA;AACjB,uGAAA,aAAa,OAAA;AAGf,gDAAoD;AAA3C,uGAAA,YAAY,OAAA;AAErB,0DAA0D;AAC1D,+DAIqC;AAHnC,yHAAA,sBAAsB,OAAA;AACtB,kHAAA,eAAe,OAAA;AACf,0HAAA,uBAAuB,OAAA;AAGzB,4CAA4C;AAC5C,oEAAkE;AAAzD,mHAAA,eAAe,OAAA;AAExB,4CAA4C;AAC5C,mCAAmD;AAA1C,6GAAA,qBAAqB,OAAA;AAE9B,kDAAkD;AAClD,iDAAgD;AAAvC,oGAAA,QAAQ,OAAA;AAEjB,0CAA0C;AAC1C,uEAAwE;AAA/D,oGAAA,SAAS,OAAA;AAGlB,kBAAkB;AAClB,wDAAuD;AAA9C,wGAAA,UAAU,OAAA;AACnB,oEAAkE;AAAzD,mHAAA,eAAe,OAAA;AACxB,gFAA+E;AAAtE,sHAAA,iBAAiB,OAAA;AAE1B,wCAAwC;AACxC,8EAA6E;AAApE,gHAAA,cAAc,OAAA;AACvB,gGAA+F;AAAtF,kIAAA,uBAAuB,OAAA;AAChC,gFAA+E;AAAtE,kHAAA,eAAe,OAAA;AAsBxB,8EAA6E;AAApE,gIAAA,sBAAsB,OAAA;AAC/B,kFAAiF;AAAxE,oIAAA,wBAAwB,OAAA;AACjC,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,0EAAyE;AAAhE,4HAAA,oBAAoB,OAAA;AAC7B,4EAA2E;AAAlE,8HAAA,qBAAqB,OAAA;AAC9B,wEAAuE;AAA9D,0HAAA,mBAAmB,OAAA;AAE5B,sBAAsB;AACtB,wFAAuF;AAA9E,0IAAA,2BAA2B,OAAA;AAEpC,wEAAuE;AAA9D,0HAAA,mBAAmB,OAAA;AAC5B,iEAAgE;AAAvD,wGAAA,UAAU,OAAA;AACnB,qEAAoE;AAA3D,4GAAA,YAAY,OAAA;AACrB,qEAAkE;AAAzD,0GAAA,UAAU,OAAA;AACnB,6EAAgF;AAAvE,wHAAA,oBAAoB,OAAA"}
@@ -13,7 +13,13 @@ export declare enum LedgerErrorType {
13
13
  EntryNotFound = "EntryNotFound",
14
14
  InvalidRange = "InvalidRange",
15
15
  MetadataCorrupted = "MetadataCorrupted",
16
- AppendFailed = "AppendFailed"
16
+ AppendFailed = "AppendFailed",
17
+ UnauthorizedSigner = "UnauthorizedSigner",
18
+ UnauthorizedGovernance = "UnauthorizedGovernance",
19
+ QuorumNotMet = "QuorumNotMet",
20
+ GovernanceSafetyViolation = "GovernanceSafetyViolation",
21
+ InvalidStateTransition = "InvalidStateTransition",
22
+ InvalidGovernanceTarget = "InvalidGovernanceTarget"
17
23
  }
18
24
  export declare class LedgerError extends Error {
19
25
  readonly errorType: LedgerErrorType;
@@ -1 +1 @@
1
- {"version":3,"file":"ledgerError.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/errors/ledgerError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,oBAAY,eAAe;IACzB,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;CAC9B;AAED,qBAAa,WAAY,SAAQ,KAAK;aAElB,SAAS,EAAE,eAAe;gBAA1B,SAAS,EAAE,eAAe,EAC1C,OAAO,CAAC,EAAE,MAAM;CAKnB"}
1
+ {"version":3,"file":"ledgerError.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/errors/ledgerError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,oBAAY,eAAe;IACzB,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,sBAAsB,2BAA2B;IACjD,YAAY,iBAAiB;IAC7B,yBAAyB,8BAA8B;IACvD,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;CACpD;AAED,qBAAa,WAAY,SAAQ,KAAK;aAElB,SAAS,EAAE,eAAe;gBAA1B,SAAS,EAAE,eAAe,EAC1C,OAAO,CAAC,EAAE,MAAM;CAKnB"}
@@ -18,6 +18,12 @@ var LedgerErrorType;
18
18
  LedgerErrorType["InvalidRange"] = "InvalidRange";
19
19
  LedgerErrorType["MetadataCorrupted"] = "MetadataCorrupted";
20
20
  LedgerErrorType["AppendFailed"] = "AppendFailed";
21
+ LedgerErrorType["UnauthorizedSigner"] = "UnauthorizedSigner";
22
+ LedgerErrorType["UnauthorizedGovernance"] = "UnauthorizedGovernance";
23
+ LedgerErrorType["QuorumNotMet"] = "QuorumNotMet";
24
+ LedgerErrorType["GovernanceSafetyViolation"] = "GovernanceSafetyViolation";
25
+ LedgerErrorType["InvalidStateTransition"] = "InvalidStateTransition";
26
+ LedgerErrorType["InvalidGovernanceTarget"] = "InvalidGovernanceTarget";
21
27
  })(LedgerErrorType || (exports.LedgerErrorType = LedgerErrorType = {}));
22
28
  class LedgerError extends Error {
23
29
  errorType;
@@ -1 +1 @@
1
- {"version":3,"file":"ledgerError.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/errors/ledgerError.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,kDAA+B,CAAA;IAC/B,gDAA6B,CAAA;IAC7B,0DAAuC,CAAA;IACvC,gDAA6B,CAAA;AAC/B,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B;AAED,MAAa,WAAY,SAAQ,KAAK;IAElB;IADlB,YACkB,SAA0B,EAC1C,OAAgB;QAEhB,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;QAHZ,cAAS,GAAT,SAAS,CAAiB;QAI1C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AARD,kCAQC"}
1
+ {"version":3,"file":"ledgerError.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/errors/ledgerError.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,IAAY,eAWX;AAXD,WAAY,eAAe;IACzB,kDAA+B,CAAA;IAC/B,gDAA6B,CAAA;IAC7B,0DAAuC,CAAA;IACvC,gDAA6B,CAAA;IAC7B,4DAAyC,CAAA;IACzC,oEAAiD,CAAA;IACjD,gDAA6B,CAAA;IAC7B,0EAAuD,CAAA;IACvD,oEAAiD,CAAA;IACjD,sEAAmD,CAAA;AACrD,CAAC,EAXW,eAAe,+BAAf,eAAe,QAW1B;AAED,MAAa,WAAY,SAAQ,KAAK;IAElB;IADlB,YACkB,SAA0B,EAC1C,OAAgB;QAEhB,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;QAHZ,cAAS,GAAT,SAAS,CAAiB;QAI1C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AARD,kCAQC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @fileoverview Authorized signer interface for the blockchain ledger.
3
+ *
4
+ * Represents a signer in the authorized signer set with their
5
+ * public key, role, lifecycle status, and optional metadata.
6
+ *
7
+ * @see Requirements 12.1, 17.1, 18.1
8
+ */
9
+ import { SignerRole } from './signerRole';
10
+ import { SignerStatus } from './signerStatus';
11
+ export interface IAuthorizedSigner {
12
+ readonly publicKey: Uint8Array;
13
+ readonly role: SignerRole;
14
+ readonly status: SignerStatus;
15
+ readonly metadata: ReadonlyMap<string, string>;
16
+ }
17
+ //# sourceMappingURL=authorizedSigner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorizedSigner.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/authorizedSigner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Authorized signer interface for the blockchain ledger.
4
+ *
5
+ * Represents a signer in the authorized signer set with their
6
+ * public key, role, lifecycle status, and optional metadata.
7
+ *
8
+ * @see Requirements 12.1, 17.1, 18.1
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ //# sourceMappingURL=authorizedSigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorizedSigner.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/authorizedSigner.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @fileoverview Governance action types for the blockchain ledger.
3
+ *
4
+ * Defines the seven governance action types and the discriminated
5
+ * union type for governance actions.
6
+ *
7
+ * @see Requirements 13.1, 17.3-17.4, 18.3
8
+ */
9
+ import { SignerRole } from './signerRole';
10
+ import { IQuorumPolicy } from './quorumPolicy';
11
+ export declare enum GovernanceActionType {
12
+ AddSigner = "add_signer",
13
+ RemoveSigner = "remove_signer",
14
+ ChangeRole = "change_role",
15
+ UpdateQuorum = "update_quorum",
16
+ SuspendSigner = "suspend_signer",
17
+ ReactivateSigner = "reactivate_signer",
18
+ SetMemberData = "set_member_data"
19
+ }
20
+ export type IGovernanceAction = {
21
+ readonly type: GovernanceActionType.AddSigner;
22
+ readonly publicKey: Uint8Array;
23
+ readonly role: SignerRole;
24
+ readonly metadata?: ReadonlyMap<string, string>;
25
+ } | {
26
+ readonly type: GovernanceActionType.RemoveSigner;
27
+ readonly publicKey: Uint8Array;
28
+ } | {
29
+ readonly type: GovernanceActionType.ChangeRole;
30
+ readonly publicKey: Uint8Array;
31
+ readonly newRole: SignerRole;
32
+ } | {
33
+ readonly type: GovernanceActionType.UpdateQuorum;
34
+ readonly newPolicy: IQuorumPolicy;
35
+ } | {
36
+ readonly type: GovernanceActionType.SuspendSigner;
37
+ readonly publicKey: Uint8Array;
38
+ } | {
39
+ readonly type: GovernanceActionType.ReactivateSigner;
40
+ readonly publicKey: Uint8Array;
41
+ } | {
42
+ readonly type: GovernanceActionType.SetMemberData;
43
+ readonly publicKey: Uint8Array;
44
+ readonly metadata: ReadonlyMap<string, string>;
45
+ };
46
+ //# sourceMappingURL=governanceAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governanceAction.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/governanceAction.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,oBAAY,oBAAoB;IAC9B,SAAS,eAAe;IACxB,YAAY,kBAAkB;IAC9B,UAAU,gBAAgB;IAC1B,YAAY,kBAAkB;IAC9B,aAAa,mBAAmB;IAChC,gBAAgB,sBAAsB;IACtC,aAAa,oBAAoB;CAClC;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC9B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,YAAY,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Governance action types for the blockchain ledger.
4
+ *
5
+ * Defines the seven governance action types and the discriminated
6
+ * union type for governance actions.
7
+ *
8
+ * @see Requirements 13.1, 17.3-17.4, 18.3
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.GovernanceActionType = void 0;
12
+ var GovernanceActionType;
13
+ (function (GovernanceActionType) {
14
+ GovernanceActionType["AddSigner"] = "add_signer";
15
+ GovernanceActionType["RemoveSigner"] = "remove_signer";
16
+ GovernanceActionType["ChangeRole"] = "change_role";
17
+ GovernanceActionType["UpdateQuorum"] = "update_quorum";
18
+ GovernanceActionType["SuspendSigner"] = "suspend_signer";
19
+ GovernanceActionType["ReactivateSigner"] = "reactivate_signer";
20
+ GovernanceActionType["SetMemberData"] = "set_member_data";
21
+ })(GovernanceActionType || (exports.GovernanceActionType = GovernanceActionType = {}));
22
+ //# sourceMappingURL=governanceAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governanceAction.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/governanceAction.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAKH,IAAY,oBAQX;AARD,WAAY,oBAAoB;IAC9B,gDAAwB,CAAA;IACxB,sDAA8B,CAAA;IAC9B,kDAA0B,CAAA;IAC1B,sDAA8B,CAAA;IAC9B,wDAAgC,CAAA;IAChC,8DAAsC,CAAA;IACtC,yDAAiC,CAAA;AACnC,CAAC,EARW,oBAAoB,oCAApB,oBAAoB,QAQ/B"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @fileoverview Governance payload interface for the blockchain ledger.
3
+ *
4
+ * A governance payload contains one or more governance actions and
5
+ * cosignatures from additional admins for quorum satisfaction.
6
+ *
7
+ * @see Requirements 13.1, 14.4
8
+ */
9
+ import { IGovernanceAction } from './governanceAction';
10
+ import { SignatureUint8Array } from '@digitaldefiance/ecies-lib';
11
+ export interface IGovernancePayload {
12
+ readonly actions: readonly IGovernanceAction[];
13
+ /** Additional admin signatures for quorum (beyond the entry's primary signer). */
14
+ readonly cosignatures: readonly {
15
+ readonly signerPublicKey: Uint8Array;
16
+ readonly signature: SignatureUint8Array;
17
+ }[];
18
+ }
19
+ //# sourceMappingURL=governancePayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governancePayload.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/governancePayload.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,kFAAkF;IAClF,QAAQ,CAAC,YAAY,EAAE,SAAS;QAC9B,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC;QACrC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;KACzC,EAAE,CAAC;CACL"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Governance payload interface for the blockchain ledger.
4
+ *
5
+ * A governance payload contains one or more governance actions and
6
+ * cosignatures from additional admins for quorum satisfaction.
7
+ *
8
+ * @see Requirements 13.1, 14.4
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ //# sourceMappingURL=governancePayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governancePayload.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/governancePayload.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
@@ -3,4 +3,12 @@ export type * from './ledgerMetadata';
3
3
  export type * from './ledgerSignatureVerifier';
4
4
  export type * from './ledgerSigner';
5
5
  export type { ILedgerValidationError, IValidationResult as ILedgerValidationResult, LedgerValidationErrorType, } from './validationResult';
6
+ export { SignerRole } from './signerRole';
7
+ export { SignerStatus } from './signerStatus';
8
+ export type { IAuthorizedSigner } from './authorizedSigner';
9
+ export { QuorumType } from './quorumPolicy';
10
+ export type { IQuorumPolicy } from './quorumPolicy';
11
+ export { GovernanceActionType } from './governanceAction';
12
+ export type { IGovernanceAction } from './governanceAction';
13
+ export type { IGovernancePayload } from './governancePayload';
6
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,gBAAgB,CAAC;AACpC,YAAY,EACV,sBAAsB,EACtB,iBAAiB,IAAI,uBAAuB,EAC5C,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,gBAAgB,CAAC;AACpC,YAAY,EACV,sBAAsB,EACtB,iBAAiB,IAAI,uBAAuB,EAC5C,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,3 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GovernanceActionType = exports.QuorumType = exports.SignerStatus = exports.SignerRole = void 0;
4
+ // Governance
5
+ var signerRole_1 = require("./signerRole");
6
+ Object.defineProperty(exports, "SignerRole", { enumerable: true, get: function () { return signerRole_1.SignerRole; } });
7
+ var signerStatus_1 = require("./signerStatus");
8
+ Object.defineProperty(exports, "SignerStatus", { enumerable: true, get: function () { return signerStatus_1.SignerStatus; } });
9
+ var quorumPolicy_1 = require("./quorumPolicy");
10
+ Object.defineProperty(exports, "QuorumType", { enumerable: true, get: function () { return quorumPolicy_1.QuorumType; } });
11
+ var governanceAction_1 = require("./governanceAction");
12
+ Object.defineProperty(exports, "GovernanceActionType", { enumerable: true, get: function () { return governanceAction_1.GovernanceActionType; } });
3
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/index.ts"],"names":[],"mappings":";;;AAUA,aAAa;AACb,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,+CAA4C;AAAnC,0GAAA,UAAU,OAAA;AAEnB,uDAA0D;AAAjD,wHAAA,oBAAoB,OAAA"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @fileoverview Quorum policy types for the blockchain ledger governance.
3
+ *
4
+ * Defines configurable quorum policies: unanimous (all admins),
5
+ * majority (>50% of admins), or threshold (at least N admins).
6
+ *
7
+ * @see Requirements 14.1
8
+ */
9
+ export declare enum QuorumType {
10
+ Unanimous = "unanimous",
11
+ Majority = "majority",
12
+ Threshold = "threshold"
13
+ }
14
+ export interface IQuorumPolicy {
15
+ readonly type: QuorumType;
16
+ /** Only used when type === QuorumType.Threshold. Must be >= 1. */
17
+ readonly threshold?: number;
18
+ }
19
+ //# sourceMappingURL=quorumPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quorumPolicy.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/quorumPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oBAAY,UAAU;IACpB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Quorum policy types for the blockchain ledger governance.
4
+ *
5
+ * Defines configurable quorum policies: unanimous (all admins),
6
+ * majority (>50% of admins), or threshold (at least N admins).
7
+ *
8
+ * @see Requirements 14.1
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.QuorumType = void 0;
12
+ var QuorumType;
13
+ (function (QuorumType) {
14
+ QuorumType["Unanimous"] = "unanimous";
15
+ QuorumType["Majority"] = "majority";
16
+ QuorumType["Threshold"] = "threshold";
17
+ })(QuorumType || (exports.QuorumType = QuorumType = {}));
18
+ //# sourceMappingURL=quorumPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quorumPolicy.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/quorumPolicy.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;IACrB,qCAAuB,CAAA;AACzB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @fileoverview Signer role enum for the blockchain ledger governance system.
3
+ *
4
+ * Defines the three roles matching Azure Confidential Ledger's
5
+ * Administrator/Contributor/Reader model.
6
+ *
7
+ * @see Requirements 12.1
8
+ */
9
+ export declare enum SignerRole {
10
+ Admin = "admin",
11
+ Writer = "writer",
12
+ Reader = "reader"
13
+ }
14
+ //# sourceMappingURL=signerRole.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signerRole.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/signerRole.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oBAAY,UAAU;IACpB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Signer role enum for the blockchain ledger governance system.
4
+ *
5
+ * Defines the three roles matching Azure Confidential Ledger's
6
+ * Administrator/Contributor/Reader model.
7
+ *
8
+ * @see Requirements 12.1
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.SignerRole = void 0;
12
+ var SignerRole;
13
+ (function (SignerRole) {
14
+ SignerRole["Admin"] = "admin";
15
+ SignerRole["Writer"] = "writer";
16
+ SignerRole["Reader"] = "reader";
17
+ })(SignerRole || (exports.SignerRole = SignerRole = {}));
18
+ //# sourceMappingURL=signerRole.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signerRole.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/signerRole.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;AACnB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @fileoverview Signer lifecycle status enum for the blockchain ledger.
3
+ *
4
+ * Inspired by CCF's member lifecycle: active signers can operate,
5
+ * suspended signers are temporarily disabled (reversible),
6
+ * retired signers are permanently removed.
7
+ *
8
+ * @see Requirements 17.1
9
+ */
10
+ export declare enum SignerStatus {
11
+ Active = "active",
12
+ Suspended = "suspended",
13
+ Retired = "retired"
14
+ }
15
+ //# sourceMappingURL=signerStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signerStatus.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/signerStatus.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Signer lifecycle status enum for the blockchain ledger.
4
+ *
5
+ * Inspired by CCF's member lifecycle: active signers can operate,
6
+ * suspended signers are temporarily disabled (reversible),
7
+ * retired signers are permanently removed.
8
+ *
9
+ * @see Requirements 17.1
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SignerStatus = void 0;
13
+ var SignerStatus;
14
+ (function (SignerStatus) {
15
+ SignerStatus["Active"] = "active";
16
+ SignerStatus["Suspended"] = "suspended";
17
+ SignerStatus["Retired"] = "retired";
18
+ })(SignerStatus || (exports.SignerStatus = SignerStatus = {}));
19
+ //# sourceMappingURL=signerStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signerStatus.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/signerStatus.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;AACrB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
@@ -8,7 +8,7 @@
8
8
  * @see Requirements 8.3
9
9
  */
10
10
  /** Discriminated union of ledger validation error types. */
11
- export type LedgerValidationErrorType = 'hash_mismatch' | 'signature_invalid' | 'sequence_gap' | 'genesis_invalid' | 'previous_hash_mismatch' | 'deserialization_error';
11
+ export type LedgerValidationErrorType = 'hash_mismatch' | 'signature_invalid' | 'sequence_gap' | 'genesis_invalid' | 'previous_hash_mismatch' | 'deserialization_error' | 'unauthorized_signer' | 'unauthorized_governance' | 'quorum_not_met' | 'governance_safety_violation' | 'invalid_governance_payload';
12
12
  /** Describes a single validation failure at a specific entry. */
13
13
  export interface ILedgerValidationError {
14
14
  /** The sequenceNumber of the entry that failed validation. */
@@ -1 +1 @@
1
- {"version":3,"file":"validationResult.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/validationResult.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,4DAA4D;AAC5D,MAAM,MAAM,yBAAyB,GACjC,eAAe,GACf,mBAAmB,GACnB,cAAc,GACd,iBAAiB,GACjB,wBAAwB,GACxB,uBAAuB,CAAC;AAE5B,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACrC,8DAA8D;IAC9D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACpD"}
1
+ {"version":3,"file":"validationResult.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/ledger/validationResult.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,4DAA4D;AAC5D,MAAM,MAAM,yBAAyB,GACjC,eAAe,GACf,mBAAmB,GACnB,cAAc,GACd,iBAAiB,GACjB,wBAAwB,GACxB,uBAAuB,GACvB,qBAAqB,GACrB,yBAAyB,GACzB,gBAAgB,GAChB,6BAA6B,GAC7B,4BAA4B,CAAC;AAEjC,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACrC,8DAA8D;IAC9D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACpD"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @fileoverview In-memory state tracker for the authorized signer set.
3
+ *
4
+ * Maintains the current set of authorized signers, their roles, lifecycle
5
+ * statuses, and metadata. Reconstructed during load() by replaying
6
+ * governance entries from genesis to head.
7
+ *
8
+ * @see Design: AuthorizedSignerSet
9
+ * @see Requirements 12.2-12.8, 14.1-14.7, 15.1-15.5, 17.1-17.9, 18.1-18.8
10
+ */
11
+ import { IAuthorizedSigner } from '../interfaces/ledger/authorizedSigner';
12
+ import { IGovernanceAction } from '../interfaces/ledger/governanceAction';
13
+ import { IQuorumPolicy } from '../interfaces/ledger/quorumPolicy';
14
+ export declare class AuthorizedSignerSet {
15
+ private signers;
16
+ private _quorumPolicy;
17
+ private _activeAdminCount;
18
+ constructor(initialSigners: IAuthorizedSigner[], initialQuorum: IQuorumPolicy);
19
+ /** Check if a public key is authorized to append (active + admin or writer). */
20
+ canAppend(publicKey: Uint8Array): boolean;
21
+ /** Check if a public key is an active admin. */
22
+ isActiveAdmin(publicKey: Uint8Array): boolean;
23
+ /** Get signer info by public key, or undefined if not found. */
24
+ getSigner(publicKey: Uint8Array): IAuthorizedSigner | undefined;
25
+ /** Get all signers (all statuses). */
26
+ getAllSigners(): IAuthorizedSigner[];
27
+ /** Get current active admin count. */
28
+ get activeAdminCount(): number;
29
+ /** Get current quorum policy. */
30
+ get quorumPolicy(): IQuorumPolicy;
31
+ /** Compute the required number of signatures for governance. */
32
+ get requiredSignatures(): number;
33
+ /** Validate and apply a governance action. Throws LedgerError on safety violation. */
34
+ applyAction(action: IGovernanceAction): void;
35
+ /** Verify that a set of cosigner public keys satisfies the current quorum. */
36
+ verifyQuorum(signerPublicKeys: Uint8Array[]): boolean;
37
+ /** Clone the current state (for speculative validation). */
38
+ clone(): AuthorizedSignerSet;
39
+ private applyAddSigner;
40
+ private applyRemoveSigner;
41
+ private applyChangeRole;
42
+ private applyUpdateQuorum;
43
+ private applySuspendSigner;
44
+ private applyReactivateSigner;
45
+ private applySetMemberData;
46
+ }
47
+ //# sourceMappingURL=authorizedSignerSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorizedSignerSet.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/ledger/authorizedSignerSet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAEL,iBAAiB,EAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAc,MAAM,mCAAmC,CAAC;AAc9E,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAS;gBAGhC,cAAc,EAAE,iBAAiB,EAAE,EACnC,aAAa,EAAE,aAAa;IAsB9B,gFAAgF;IAChF,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO;IASzC,gDAAgD;IAChD,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO;IAS7C,gEAAgE;IAChE,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,iBAAiB,GAAG,SAAS;IAI/D,sCAAsC;IACtC,aAAa,IAAI,iBAAiB,EAAE;IAIpC,sCAAsC;IACtC,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED,iCAAiC;IACjC,IAAI,YAAY,IAAI,aAAa,CAEhC;IAED,gEAAgE;IAChE,IAAI,kBAAkB,IAAI,MAAM,CAS/B;IAED,sFAAsF;IACtF,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IA0B5C,8EAA8E;IAC9E,YAAY,CAAC,gBAAgB,EAAE,UAAU,EAAE,GAAG,OAAO;IAUrD,4DAA4D;IAC5D,KAAK,IAAI,mBAAmB;IAkB5B,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,iBAAiB;IA+CzB,OAAO,CAAC,eAAe;IAgDvB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,kBAAkB;IA4C1B,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,kBAAkB;CAoB3B"}