@ibgib/core-gib 0.1.6 → 0.1.9

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 (52) hide show
  1. package/dist/keystone/keystone-config-builder.d.mts +77 -0
  2. package/dist/keystone/keystone-config-builder.d.mts.map +1 -0
  3. package/dist/keystone/keystone-config-builder.mjs +157 -0
  4. package/dist/keystone/keystone-config-builder.mjs.map +1 -0
  5. package/dist/keystone/keystone-config-builder.respec.d.mts +2 -0
  6. package/dist/keystone/keystone-config-builder.respec.d.mts.map +1 -0
  7. package/dist/keystone/keystone-config-builder.respec.mjs +34 -0
  8. package/dist/keystone/keystone-config-builder.respec.mjs.map +1 -0
  9. package/dist/keystone/keystone-constants.d.mts +38 -0
  10. package/dist/keystone/keystone-constants.d.mts.map +1 -0
  11. package/dist/keystone/keystone-constants.mjs +41 -0
  12. package/dist/keystone/keystone-constants.mjs.map +1 -0
  13. package/dist/keystone/keystone-helpers.d.mts +170 -0
  14. package/dist/keystone/keystone-helpers.d.mts.map +1 -0
  15. package/dist/keystone/keystone-helpers.mjs +639 -0
  16. package/dist/keystone/keystone-helpers.mjs.map +1 -0
  17. package/dist/keystone/keystone-service-v1.d.mts +110 -0
  18. package/dist/keystone/keystone-service-v1.d.mts.map +1 -0
  19. package/dist/keystone/keystone-service-v1.mjs +325 -0
  20. package/dist/keystone/keystone-service-v1.mjs.map +1 -0
  21. package/dist/keystone/keystone-service-v1.respec.d.mts +2 -0
  22. package/dist/keystone/keystone-service-v1.respec.d.mts.map +1 -0
  23. package/dist/keystone/keystone-service-v1.respec.mjs +838 -0
  24. package/dist/keystone/keystone-service-v1.respec.mjs.map +1 -0
  25. package/dist/keystone/keystone-types.d.mts +270 -0
  26. package/dist/keystone/keystone-types.d.mts.map +1 -0
  27. package/dist/keystone/keystone-types.mjs +50 -0
  28. package/dist/keystone/keystone-types.mjs.map +1 -0
  29. package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.d.mts +35 -0
  30. package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.d.mts.map +1 -0
  31. package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.mjs +107 -0
  32. package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.mjs.map +1 -0
  33. package/dist/keystone/strategy/keystone-strategy-factory.d.mts +15 -0
  34. package/dist/keystone/strategy/keystone-strategy-factory.d.mts.map +1 -0
  35. package/dist/keystone/strategy/keystone-strategy-factory.mjs +26 -0
  36. package/dist/keystone/strategy/keystone-strategy-factory.mjs.map +1 -0
  37. package/dist/keystone/strategy/keystone-strategy.d.mts +48 -0
  38. package/dist/keystone/strategy/keystone-strategy.d.mts.map +1 -0
  39. package/dist/keystone/strategy/keystone-strategy.mjs +14 -0
  40. package/dist/keystone/strategy/keystone-strategy.mjs.map +1 -0
  41. package/package.json +2 -1
  42. package/src/keystone/README.md +162 -0
  43. package/src/keystone/keystone-config-builder.mts +187 -0
  44. package/src/keystone/keystone-config-builder.respec.mts +49 -0
  45. package/src/keystone/keystone-constants.mts +46 -0
  46. package/src/keystone/keystone-helpers.mts +780 -0
  47. package/src/keystone/keystone-service-v1.mts +427 -0
  48. package/src/keystone/keystone-service-v1.respec.mts +1012 -0
  49. package/src/keystone/keystone-types.mts +339 -0
  50. package/src/keystone/strategy/hash-reveal-v1/hash-reveal-v1.mts +146 -0
  51. package/src/keystone/strategy/keystone-strategy-factory.mts +35 -0
  52. package/src/keystone/strategy/keystone-strategy.mts +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keystone-service-v1.respec.mjs","sourceRoot":"","sources":["../../src/keystone/keystone-service-v1.respec.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,270 @@
1
+ import { IbGib_V1, IbGibData_V1, IbGibRel8ns_V1 } from "@ibgib/ts-gib/dist/V1/types.mjs";
2
+ import { KEYSTONE_ATOM } from "./keystone-constants.mjs";
3
+ /**
4
+ * The discriminator for the mechanism.
5
+ * 'hash-reveal-v1': Standard Hash chain (Sigma-like).
6
+ */
7
+ export type KeystoneChallengeType = 'hash-reveal-v1';
8
+ /**
9
+ * replaces each used challenge, "topping up" the pool to the pool's size
10
+ */
11
+ export declare const KEYSTONE_REPLENISH_STRATEGY_TOP_UP = "top-up";
12
+ /**
13
+ * replaces the entire pool with the new challenges
14
+ */
15
+ export declare const KEYSTONE_REPLENISH_STRATEGY_REPLACE_ALL = "replace-all";
16
+ /**
17
+ * do not replenish, only consume
18
+ *
19
+ * ## intent
20
+ * adding this for revocation
21
+ */
22
+ export declare const KEYSTONE_REPLENISH_STRATEGY_CONSUME = "consume";
23
+ /**
24
+ * Deletes ALL challenges in the pool, regardless of how many were used.
25
+ * The "Nuclear Option" for revocation.
26
+ */
27
+ export declare const KEYSTONE_REPLENISH_STRATEGY_SCORCHED_EARTH = "scorched-earth";
28
+ export type KeystoneReplenishStrategy = typeof KEYSTONE_REPLENISH_STRATEGY_TOP_UP | typeof KEYSTONE_REPLENISH_STRATEGY_REPLACE_ALL | typeof KEYSTONE_REPLENISH_STRATEGY_CONSUME | typeof KEYSTONE_REPLENISH_STRATEGY_SCORCHED_EARTH;
29
+ /**
30
+ * @see {@link KeystonePoolBehavior.replenish}
31
+ */
32
+ export declare const KeystoneReplenishStrategy: {
33
+ /**
34
+ * @see {@link KEYSTONE_REPLENISH_STRATEGY_TOP_UP}
35
+ */
36
+ topUp: "top-up";
37
+ /**
38
+ * @see {@link KEYSTONE_REPLENISH_STRATEGY_REPLACE_ALL}
39
+ */
40
+ replaceAll: "replace-all";
41
+ /**
42
+ * @see {@link KEYSTONE_REPLENISH_STRATEGY_CONSUME}
43
+ */
44
+ consume: "consume";
45
+ /**
46
+ * @see {@link KEYSTONE_REPLENISH_STRATEGY_SCORCHED_EARTH}
47
+ */
48
+ scorchedEarth: "scorched-earth";
49
+ };
50
+ export declare const KEYSTONE_REPLENISH_STRATEGY_VALID_VALUES: ("top-up" | "replace-all" | "consume" | "scorched-earth")[];
51
+ export declare function isKeystoneReplenishStrategy(x: any): x is KeystoneReplenishStrategy;
52
+ export interface KeystonePoolBehavior {
53
+ /**
54
+ * Target number of challenges to maintain in the pool.
55
+ */
56
+ size: number;
57
+ /**
58
+ * How do we fill the void left by consumed challenges?
59
+ */
60
+ replenish: KeystoneReplenishStrategy;
61
+ /**
62
+ * Minimum number of challenges to consume from the "front" (oldest) of the pool.
63
+ * Mitigates sequence prediction attacks if high, allows strictly ordered audit if used alone.
64
+ */
65
+ selectSequentially: number;
66
+ /**
67
+ * Minimum number of challenges to consume randomly from the remainder.
68
+ * Mitigates pre-computation attacks on the sequence.
69
+ */
70
+ selectRandomly: number;
71
+ /**
72
+ * Number of hex characters from the Target's Gib to match.
73
+ * @default 0
74
+ */
75
+ targetBindingChars: number;
76
+ }
77
+ export interface KeystonePoolConfigBase {
78
+ /**
79
+ * The ID of the pool this config belongs to.
80
+ */
81
+ id: string;
82
+ type: KeystoneChallengeType;
83
+ /**
84
+ * Unique salt for this pool's derivation path from the Master Secret.
85
+ */
86
+ salt: string;
87
+ behavior: KeystonePoolBehavior;
88
+ /**
89
+ * The list of Verbs (primitive ibGib addresses) this pool is authorized to sign.
90
+ * e.g. ["revoke^gib", "admin^gib"]
91
+ *
92
+ * If undefined or empty, this pool is considered a "General/Default" pool
93
+ * and can sign any verb NOT explicitly claimed by another pool (implementation detail of selection)
94
+ * or simply any verb at all (permissive).
95
+ *
96
+ * For V1 Security: If this is set, Validation MUST enforce it.
97
+ */
98
+ allowedVerbs: string[];
99
+ }
100
+ export interface KeystonePoolConfig_HashV1 extends KeystonePoolConfigBase {
101
+ type: 'hash-reveal-v1';
102
+ algo: 'SHA-256' | 'SHA-512';
103
+ rounds: number;
104
+ }
105
+ export type KeystonePoolConfig = KeystonePoolConfig_HashV1;
106
+ export interface KeystoneChallengeBase {
107
+ type: KeystoneChallengeType;
108
+ }
109
+ export interface KeystoneChallenge_HashV1 extends KeystoneChallengeBase {
110
+ id: string;
111
+ type: 'hash-reveal-v1';
112
+ /**
113
+ * The hash that must be matched by the solution.
114
+ */
115
+ hash: string;
116
+ }
117
+ export type KeystoneChallenge = KeystoneChallenge_HashV1;
118
+ export interface KeystoneSolutionBase {
119
+ type: KeystoneChallengeType;
120
+ /**
121
+ * The ID of the pool this solution comes from.
122
+ */
123
+ poolId: string;
124
+ /**
125
+ * The ID of the specific challenge being solved.
126
+ */
127
+ challengeId: string;
128
+ }
129
+ export interface KeystoneSolution_HashV1 extends KeystoneSolutionBase {
130
+ type: 'hash-reveal-v1';
131
+ /**
132
+ * The Pre-image value.
133
+ */
134
+ value: string;
135
+ }
136
+ export type KeystoneSolution = KeystoneSolution_HashV1;
137
+ /**
138
+ * A container for a set of challenges.
139
+ */
140
+ export interface KeystoneChallengePool {
141
+ /**
142
+ * Unique ID (e.g. "default", "admin").
143
+ */
144
+ id: string;
145
+ /**
146
+ * Parameterization of this pool.
147
+ *
148
+ * Signing and validating this pool must observe this config.
149
+ */
150
+ config: KeystonePoolConfig;
151
+ /**
152
+ * Default claim values for this pool.
153
+ * Useful for "verb-stones".
154
+ */
155
+ defaultClaim?: Partial<KeystoneClaim>;
156
+ /**
157
+ * The currently active challenges.
158
+ * Key: The unique Challenge ID (e.g. "poolSalt_0").
159
+ */
160
+ challenges: {
161
+ [challengeId: string]: KeystoneChallenge;
162
+ };
163
+ /**
164
+ * Explicit Buckets for Target Binding.
165
+ * Key: Hex Character ('0'-'f').
166
+ * Value: Array of Challenge IDs that satisfy this bucket.
167
+ * Note: A single ID may appear in multiple buckets (Coverage Strategy).
168
+ */
169
+ bindingMap: {
170
+ [hexChar: string]: string[];
171
+ };
172
+ /**
173
+ * If true, this pool's secrets are NOT derived from the Keystone's
174
+ * primary Master Secret. They are held by an external entity.
175
+ *
176
+ * ## intent
177
+ *
178
+ * The driving use case for this is signing in with a server "super node"
179
+ * and giving that node the ability to sign on behalf of the user. This is a
180
+ * common pattern in SSO-type workflows.
181
+ */
182
+ isForeign?: boolean;
183
+ /**
184
+ * Arbitrary metadata for the wallet/user to identify the pool.
185
+ * e.g. { delegate: "PrimaryServer", purpose: "SSO" }
186
+ *
187
+ * ## intent
188
+ *
189
+ * The driving use case for this is signing in with a server "super node"
190
+ * and giving that node the ability to sign on behalf of the user. This is a
191
+ * common pattern in SSO-type workflows.
192
+ */
193
+ metadata?: any;
194
+ }
195
+ /**
196
+ * Semantic intent.
197
+ */
198
+ export interface KeystoneClaim {
199
+ target: string;
200
+ verb: string;
201
+ scope?: string;
202
+ }
203
+ /**
204
+ * Authorization Proof.
205
+ */
206
+ export interface KeystoneProof {
207
+ id?: string;
208
+ /**
209
+ * The claim being made.
210
+ */
211
+ claim: Partial<KeystoneClaim>;
212
+ /**
213
+ * The solutions required to validate this claim.
214
+ */
215
+ solutions: KeystoneSolution[];
216
+ /**
217
+ * The list of specific Challenge IDs that were mandatorily requested
218
+ * by the verifier/context during the signing process.
219
+ * Essential for deterministic validation.
220
+ */
221
+ requiredChallengeIds?: string[];
222
+ }
223
+ /**
224
+ * Revocation Context.
225
+ */
226
+ export interface KeystoneRevocationInfo {
227
+ reason: string;
228
+ proof: KeystoneProof;
229
+ }
230
+ export interface KeystoneIbInfo_V1 {
231
+ atom: typeof KEYSTONE_ATOM;
232
+ }
233
+ export interface KeystoneData_V1 extends IbGibData_V1 {
234
+ /**
235
+ * The pools containing the FUTURE challenges.
236
+ * (Always topped up in V1 implementation).
237
+ */
238
+ challengePools: KeystoneChallengePool[];
239
+ /**
240
+ * The proofs authorizing THIS frame's evolution.
241
+ */
242
+ proofs: KeystoneProof[];
243
+ /**
244
+ * If present, this Keystone is dead.
245
+ */
246
+ revocationInfo?: KeystoneRevocationInfo;
247
+ /**
248
+ * Ephemeral details specific to this frame's creation context.
249
+ * Meant to be observed on this frame, but NOT automatically carried forward
250
+ * to the next frame's data during evolution.
251
+ */
252
+ frameDetails?: any;
253
+ }
254
+ export interface KeystoneRel8ns_V1 extends IbGibRel8ns_V1 {
255
+ }
256
+ export interface KeystoneIbGib_V1 extends IbGib_V1<KeystoneData_V1, KeystoneRel8ns_V1> {
257
+ }
258
+ export interface DeterministicResult {
259
+ /**
260
+ * The Set of IDs that MUST be present in the solution.
261
+ * Includes Alice's Demands + Target Binding Matches + FIFO.
262
+ */
263
+ mandatoryIds: Set<string>;
264
+ /**
265
+ * The IDs remaining in the pool that are valid candidates for
266
+ * the Random/Stochastic step.
267
+ */
268
+ availableIds: string[];
269
+ }
270
+ //# sourceMappingURL=keystone-types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keystone-types.d.mts","sourceRoot":"","sources":["../../src/keystone/keystone-types.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ // ===========================================================================
2
+ // CONFIGURATION
3
+ // ===========================================================================
4
+ // #region KeystoneReplenishStrategy
5
+ /**
6
+ * replaces each used challenge, "topping up" the pool to the pool's size
7
+ */
8
+ export const KEYSTONE_REPLENISH_STRATEGY_TOP_UP = 'top-up';
9
+ /**
10
+ * replaces the entire pool with the new challenges
11
+ */
12
+ export const KEYSTONE_REPLENISH_STRATEGY_REPLACE_ALL = 'replace-all';
13
+ /**
14
+ * do not replenish, only consume
15
+ *
16
+ * ## intent
17
+ * adding this for revocation
18
+ */
19
+ export const KEYSTONE_REPLENISH_STRATEGY_CONSUME = 'consume';
20
+ /**
21
+ * Deletes ALL challenges in the pool, regardless of how many were used.
22
+ * The "Nuclear Option" for revocation.
23
+ */
24
+ export const KEYSTONE_REPLENISH_STRATEGY_SCORCHED_EARTH = 'scorched-earth';
25
+ /**
26
+ * @see {@link KeystonePoolBehavior.replenish}
27
+ */
28
+ export const KeystoneReplenishStrategy = {
29
+ /**
30
+ * @see {@link KEYSTONE_REPLENISH_STRATEGY_TOP_UP}
31
+ */
32
+ topUp: KEYSTONE_REPLENISH_STRATEGY_TOP_UP,
33
+ /**
34
+ * @see {@link KEYSTONE_REPLENISH_STRATEGY_REPLACE_ALL}
35
+ */
36
+ replaceAll: KEYSTONE_REPLENISH_STRATEGY_REPLACE_ALL,
37
+ /**
38
+ * @see {@link KEYSTONE_REPLENISH_STRATEGY_CONSUME}
39
+ */
40
+ consume: KEYSTONE_REPLENISH_STRATEGY_CONSUME,
41
+ /**
42
+ * @see {@link KEYSTONE_REPLENISH_STRATEGY_SCORCHED_EARTH}
43
+ */
44
+ scorchedEarth: KEYSTONE_REPLENISH_STRATEGY_SCORCHED_EARTH,
45
+ };
46
+ export const KEYSTONE_REPLENISH_STRATEGY_VALID_VALUES = Object.values(KeystoneReplenishStrategy);
47
+ export function isKeystoneReplenishStrategy(x) {
48
+ return KEYSTONE_REPLENISH_STRATEGY_VALID_VALUES.includes(x);
49
+ }
50
+ //# sourceMappingURL=keystone-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keystone-types.mjs","sourceRoot":"","sources":["../../src/keystone/keystone-types.mts"],"names":[],"mappings":"AAcA,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,oCAAoC;AACpC;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,QAAQ,CAAC;AAC3D;;GAEG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,aAAa,CAAC;AACrE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,SAAS,CAAC;AAC7D;;;GAGG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAG,gBAAgB,CAAC;AAO3E;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC;;OAEG;IACH,KAAK,EAAE,kCAAkC;IACzC;;OAEG;IACH,UAAU,EAAE,uCAAuC;IACnD;;OAEG;IACH,OAAO,EAAE,mCAAmC;IAC5C;;OAEG;IACH,aAAa,EAAE,0CAA0C;CACL,CAAC;AACzD,MAAM,CAAC,MAAM,wCAAwC,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AACjG,MAAM,UAAU,2BAA2B,CAAC,CAAM;IAC9C,OAAO,wCAAwC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { KeystoneStrategy } from '../keystone-strategy.mjs';
2
+ import { KeystonePoolConfig_HashV1, KeystoneChallenge_HashV1, KeystoneSolution_HashV1 } from '../../keystone-types.mjs';
3
+ /**
4
+ * The concrete implementation of the "Salted Wrap" Hash Reveal strategy.
5
+ */
6
+ export declare class KeystoneStrategy_HashRevealV1 extends KeystoneStrategy<KeystonePoolConfig_HashV1, KeystoneChallenge_HashV1, KeystoneSolution_HashV1> {
7
+ /**
8
+ * Derives Pool Secret = Hash(PoolSalt + MasterSecret + PoolSalt) ^ Rounds
9
+ */
10
+ derivePoolSecret({ masterSecret }: {
11
+ masterSecret: string;
12
+ }): Promise<string>;
13
+ /**
14
+ * Solution Value = Hash(IndexSalt + PoolSecret + IndexSalt) ^ Rounds
15
+ */
16
+ generateSolution({ poolSecret, poolId, challengeId, }: {
17
+ poolSecret: string;
18
+ poolId: string;
19
+ challengeId: string;
20
+ }): Promise<KeystoneSolution_HashV1>;
21
+ /**
22
+ * Challenge Hash = Hash(IndexSalt + SolutionValue + IndexSalt) ^ Rounds
23
+ */
24
+ generateChallenge({ solution, }: {
25
+ solution: KeystoneSolution_HashV1;
26
+ }): Promise<KeystoneChallenge_HashV1>;
27
+ /**
28
+ * Re-generates the challenge from the candidate solution and compares.
29
+ */
30
+ validateSolution({ solution, challenge, }: {
31
+ solution: KeystoneSolution_HashV1;
32
+ challenge: KeystoneChallenge_HashV1;
33
+ }): Promise<boolean>;
34
+ }
35
+ //# sourceMappingURL=hash-reveal-v1.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-reveal-v1.d.mts","sourceRoot":"","sources":["../../../../src/keystone/strategy/hash-reveal-v1/hash-reveal-v1.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACH,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EAC1B,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB,CAC/D,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,CAC1B;IAEG;;OAEG;IACY,gBAAgB,CAAC,EAC5B,YAAY,EACf,EAAE;QACC,YAAY,EAAE,MAAM,CAAA;KACvB,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnB;;OAEG;IACY,gBAAgB,CAAC,EAC5B,UAAU,EACV,MAAM,EACN,WAAW,GACd,EAAE;QACC,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA4BpC;;OAEG;IACY,iBAAiB,CAAC,EAC7B,QAAQ,GACX,EAAE;QACC,QAAQ,EAAE,uBAAuB,CAAC;KACrC,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA0BrC;;OAEG;IACY,gBAAgB,CAAC,EAC5B,QAAQ,EACR,SAAS,GACZ,EAAE;QACC,QAAQ,EAAE,uBAAuB,CAAC;QAClC,SAAS,EAAE,wBAAwB,CAAC;KACvC,GAAG,OAAO,CAAC,OAAO,CAAC;CAmBvB"}
@@ -0,0 +1,107 @@
1
+ import { hash } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
2
+ import { KeystoneStrategy } from '../keystone-strategy.mjs';
3
+ /**
4
+ * The concrete implementation of the "Salted Wrap" Hash Reveal strategy.
5
+ */
6
+ export class KeystoneStrategy_HashRevealV1 extends KeystoneStrategy {
7
+ /**
8
+ * Derives Pool Secret = Hash(PoolSalt + MasterSecret + PoolSalt) ^ Rounds
9
+ */
10
+ async derivePoolSecret({ masterSecret }) {
11
+ const lc = `[${KeystoneStrategy_HashRevealV1.name}.${this.derivePoolSecret.name}]`;
12
+ try {
13
+ const { salt, rounds, algo } = this.config;
14
+ // Map algo string to HashAlgorithm type if needed,
15
+ // assuming config.algo matches the helper's expected inputs.
16
+ let current = masterSecret;
17
+ for (let i = 0; i < rounds; i++) {
18
+ current = await hash({
19
+ s: `${salt}${current}${salt}`,
20
+ algorithm: algo
21
+ });
22
+ }
23
+ return current;
24
+ }
25
+ catch (error) {
26
+ console.error(`${lc} Error deriving pool secret: ${error.message}`);
27
+ throw error;
28
+ }
29
+ }
30
+ /**
31
+ * Solution Value = Hash(IndexSalt + PoolSecret + IndexSalt) ^ Rounds
32
+ */
33
+ async generateSolution({ poolSecret, poolId, challengeId, }) {
34
+ const lc = `[${KeystoneStrategy_HashRevealV1.name}.${this.generateSolution.name}]`;
35
+ try {
36
+ const { rounds, algo } = this.config;
37
+ // The Index Salt is the unique identifier for this slot
38
+ const indexSalt = challengeId;
39
+ let current = poolSecret;
40
+ for (let i = 0; i < rounds; i++) {
41
+ current = await hash({
42
+ s: `${indexSalt}${current}${indexSalt}`,
43
+ algorithm: algo
44
+ });
45
+ }
46
+ return {
47
+ type: 'hash-reveal-v1',
48
+ poolId,
49
+ challengeId,
50
+ value: current
51
+ };
52
+ }
53
+ catch (error) {
54
+ console.error(`${lc} ${error.message}`);
55
+ throw error;
56
+ }
57
+ }
58
+ /**
59
+ * Challenge Hash = Hash(IndexSalt + SolutionValue + IndexSalt) ^ Rounds
60
+ */
61
+ async generateChallenge({ solution, }) {
62
+ const lc = `[${KeystoneStrategy_HashRevealV1.name}.${this.generateChallenge.name}]`;
63
+ try {
64
+ const { rounds, algo } = this.config;
65
+ const { challengeId, value } = solution;
66
+ const indexSalt = challengeId;
67
+ let current = value;
68
+ for (let i = 0; i < rounds; i++) {
69
+ current = await hash({
70
+ s: `${indexSalt}${current}${indexSalt}`,
71
+ algorithm: algo
72
+ });
73
+ }
74
+ return {
75
+ id: challengeId,
76
+ type: 'hash-reveal-v1',
77
+ hash: current
78
+ };
79
+ }
80
+ catch (error) {
81
+ console.error(`${lc} ${error.message}`);
82
+ throw error;
83
+ }
84
+ }
85
+ /**
86
+ * Re-generates the challenge from the candidate solution and compares.
87
+ */
88
+ async validateSolution({ solution, challenge, }) {
89
+ const lc = `[${KeystoneStrategy_HashRevealV1.name}.${this.validateSolution.name}]`;
90
+ try {
91
+ // 1. Check Type Compatibility
92
+ if (solution.type !== 'hash-reveal-v1' || challenge.type !== 'hash-reveal-v1') {
93
+ console.warn(`${lc} Mismatched types provided.`);
94
+ return false;
95
+ }
96
+ // 2. Generate the expected challenge hash from the solution provided
97
+ const calculatedChallenge = await this.generateChallenge({ solution });
98
+ // 3. Compare
99
+ return calculatedChallenge.hash === challenge.hash;
100
+ }
101
+ catch (error) {
102
+ console.error(`${lc} ${error.message}`);
103
+ return false; // Fail closed
104
+ }
105
+ }
106
+ }
107
+ //# sourceMappingURL=hash-reveal-v1.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-reveal-v1.mjs","sourceRoot":"","sources":["../../../../src/keystone/strategy/hash-reveal-v1/hash-reveal-v1.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { KeystonePoolConfig } from '../keystone-types.mjs';
2
+ import { KeystoneStrategyAny } from './keystone-strategy.mjs';
3
+ export declare class KeystoneStrategyFactory {
4
+ /**
5
+ * Instantiates the appropriate concrete KeystoneStrategy based on the
6
+ * provided configuration type.
7
+ *
8
+ * @param config The configuration object for the pool (contains 'type').
9
+ * @returns An instance of the specific strategy class.
10
+ */
11
+ static create({ config, }: {
12
+ config: KeystonePoolConfig;
13
+ }): KeystoneStrategyAny;
14
+ }
15
+ //# sourceMappingURL=keystone-strategy-factory.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keystone-strategy-factory.d.mts","sourceRoot":"","sources":["../../../src/keystone/strategy/keystone-strategy-factory.mts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,qBAAa,uBAAuB;IAEhC;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,EACV,MAAM,GACT,EAAE;QACC,MAAM,EAAE,kBAAkB,CAAC;KAC9B,GAAG,mBAAmB;CAe1B"}
@@ -0,0 +1,26 @@
1
+ import { KeystoneStrategy_HashRevealV1 } from './hash-reveal-v1/hash-reveal-v1.mjs';
2
+ export class KeystoneStrategyFactory {
3
+ /**
4
+ * Instantiates the appropriate concrete KeystoneStrategy based on the
5
+ * provided configuration type.
6
+ *
7
+ * @param config The configuration object for the pool (contains 'type').
8
+ * @returns An instance of the specific strategy class.
9
+ */
10
+ static create({ config, }) {
11
+ const lc = `[${KeystoneStrategyFactory.name}.create]`;
12
+ try {
13
+ switch (config.type) {
14
+ case 'hash-reveal-v1':
15
+ return new KeystoneStrategy_HashRevealV1(config);
16
+ default:
17
+ throw new Error(`Unknown strategy type: ${config.type} (E: 4e3c2f7129a241c1b687555e678c1065)`);
18
+ }
19
+ }
20
+ catch (error) {
21
+ console.error(`${lc} ${error.message}`);
22
+ throw error;
23
+ }
24
+ }
25
+ }
26
+ //# sourceMappingURL=keystone-strategy-factory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keystone-strategy-factory.mjs","sourceRoot":"","sources":["../../../src/keystone/strategy/keystone-strategy-factory.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,OAAO,uBAAuB;IAEhC;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,EACV,MAAM,GAGT;QACG,MAAM,EAAE,GAAG,IAAI,uBAAuB,CAAC,IAAI,UAAU,CAAC;QACtD,IAAI,CAAC;YACD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,gBAAgB;oBACjB,OAAO,IAAI,6BAA6B,CAAC,MAAM,CAAC,CAAC;gBAErD;oBACI,MAAM,IAAI,KAAK,CAAC,0BAA2B,MAAc,CAAC,IAAI,wCAAwC,CAAC,CAAC;YAChH,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACxC,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,48 @@
1
+ import { KeystonePoolConfigBase, KeystoneChallengeBase, KeystoneSolutionBase } from '../keystone-types.mjs';
2
+ /**
3
+ * Abstract base class for all Keystone Challenge Strategies.
4
+ *
5
+ * @template TConfig The specific configuration interface (e.g. HashV1).
6
+ * @template TChallenge The specific public challenge interface.
7
+ * @template TSolution The specific private solution interface.
8
+ */
9
+ export declare abstract class KeystoneStrategy<TConfig extends KeystonePoolConfigBase, TChallenge extends KeystoneChallengeBase, TSolution extends KeystoneSolutionBase> {
10
+ protected config: TConfig;
11
+ constructor(config: TConfig);
12
+ /**
13
+ * Derives the secret specific to this pool from the master keystone secret.
14
+ * This isolates the pool so the master secret is never used directly
15
+ * in challenge generation.
16
+ */
17
+ abstract derivePoolSecret({ masterSecret }: {
18
+ masterSecret: string;
19
+ }): Promise<string>;
20
+ /**
21
+ * Generates the private solution (Pre-image) for a specific challenge ID.
22
+ *
23
+ * @returns The concrete solution object (not just the value string).
24
+ */
25
+ abstract generateSolution({ poolSecret, poolId, challengeId, }: {
26
+ poolSecret: string;
27
+ poolId: string;
28
+ challengeId: string;
29
+ }): Promise<TSolution>;
30
+ /**
31
+ * Generates the public challenge from a given solution.
32
+ * Used when creating the pool (Top Up) or verifying a solution.
33
+ */
34
+ abstract generateChallenge({ solution, }: {
35
+ solution: TSolution;
36
+ }): Promise<TChallenge>;
37
+ /**
38
+ * Validates that a given solution mathematically solves the given challenge.
39
+ *
40
+ * @returns true if valid, false otherwise.
41
+ */
42
+ abstract validateSolution({ solution, challenge, }: {
43
+ solution: TSolution;
44
+ challenge: TChallenge;
45
+ }): Promise<boolean>;
46
+ }
47
+ export type KeystoneStrategyAny = KeystoneStrategy<any, any, any>;
48
+ //# sourceMappingURL=keystone-strategy.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keystone-strategy.d.mts","sourceRoot":"","sources":["../../../src/keystone/strategy/keystone-strategy.mts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACvB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;GAMG;AACH,8BAAsB,gBAAgB,CAClC,OAAO,SAAS,sBAAsB,EACtC,UAAU,SAAS,qBAAqB,EACxC,SAAS,SAAS,oBAAoB;IAE1B,SAAS,CAAC,MAAM,EAAE,OAAO;gBAAf,MAAM,EAAE,OAAO;IAErC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EACtB,YAAY,EACf,EAAE;QACC,YAAY,EAAE,MAAM,CAAA;KACvB,GAAG,OAAO,CAAC,MAAM,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EACtB,UAAU,EACV,MAAM,EACN,WAAW,GACd,EAAE;QACC,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,SAAS,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EACvB,QAAQ,GACX,EAAE;QACC,QAAQ,EAAE,SAAS,CAAC;KACvB,GAAG,OAAO,CAAC,UAAU,CAAC;IAEvB;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EACtB,QAAQ,EACR,SAAS,GACZ,EAAE;QACC,QAAQ,EAAE,SAAS,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;KACzB,GAAG,OAAO,CAAC,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,GAAG,EAAC,GAAG,EAAC,GAAG,CAAC,CAAC"}