@ibgib/core-gib 0.1.4 → 0.1.8
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/README.md +26 -0
- package/dist/assumptions.respec.mjs.map +1 -1
- package/dist/common/alias/alias-helper.mjs +1 -1
- package/dist/common/alias/alias-helper.mjs.map +1 -1
- package/dist/common/comment/comment-helper.mjs.map +1 -1
- package/dist/common/display/display-helper.mjs.map +1 -1
- package/dist/common/display/display-types.d.mts +1 -1
- package/dist/common/display/display-types.d.mts.map +1 -1
- package/dist/common/encrypt/encrypt-helper.mjs.map +1 -1
- package/dist/common/encrypt/encrypt-types.d.mts +1 -1
- package/dist/common/encrypt/encrypt-types.d.mts.map +1 -1
- package/dist/common/error/error-helper.mjs.map +1 -1
- package/dist/common/form/form-helper.mjs.map +1 -1
- package/dist/common/form/form-items.d.mts.map +1 -1
- package/dist/common/import-export/import-export-helper.web.mjs.map +1 -1
- package/dist/common/link/link-helper.mjs.map +1 -1
- package/dist/common/meta-stone/meta-stone-helper.mjs.map +1 -1
- package/dist/common/meta-stone/meta-stone.respec.mjs.map +1 -1
- package/dist/common/other/graph-helper.mjs +3 -3
- package/dist/common/other/graph-helper.mjs.map +1 -1
- package/dist/common/other/ibgib-helper.mjs.map +1 -1
- package/dist/common/other/ibgib-helper.respec.mjs.map +1 -1
- package/dist/common/other/other-constants.mjs +4 -4
- package/dist/common/other/other-constants.mjs.map +1 -1
- package/dist/common/other/other-helper.web.mjs.map +1 -1
- package/dist/common/other/other-types.d.mts +10 -10
- package/dist/common/other/other-types.d.mts.map +1 -1
- package/dist/common/other/svg-helper.mjs.map +1 -1
- package/dist/common/pic/pic-helper.mjs.map +1 -1
- package/dist/common/pubsub/observable/observable-base-v1.mjs +1 -1
- package/dist/common/pubsub/observable/observable-base-v1.mjs.map +1 -1
- package/dist/common/pubsub/observable/observable-event/observable-event-helper.mjs.map +1 -1
- package/dist/common/pubsub/observable/observable-helper.mjs.map +1 -1
- package/dist/common/pubsub/observable/observable-types.d.mts +1 -1
- package/dist/common/pubsub/observable/observable-types.d.mts.map +1 -1
- package/dist/common/pubsub/observer/observer-helper.mjs.map +1 -1
- package/dist/common/pubsub/observer/observer-types.d.mts.map +1 -1
- package/dist/common/pubsub/subject/subject-helper.mjs.map +1 -1
- package/dist/common/pubsub/subject/subject-types.d.mts +1 -1
- package/dist/common/pubsub/subject/subject-types.d.mts.map +1 -1
- package/dist/common/pubsub/subject/subject-v1.mjs.map +1 -1
- package/dist/common/pubsub/subject/subject.respec.mjs.map +1 -1
- package/dist/common/pubsub/subscription/subscription-helper.mjs.map +1 -1
- package/dist/common/pubsub/subscription/subscription-types.d.mts.map +1 -1
- package/dist/common/pubsub/subscription/subscription-v1.mjs.map +1 -1
- package/dist/common/secret/secret-helper.mjs.map +1 -1
- package/dist/common/secret/secret-types.d.mts +1 -1
- package/dist/common/secret/secret-types.d.mts.map +1 -1
- package/dist/common/secret/secret.respec.mjs +1 -1
- package/dist/common/secret/secret.respec.mjs.map +1 -1
- package/dist/common/tag/tag-helper.mjs.map +1 -1
- package/dist/core-helper.respec.mjs.map +1 -1
- package/dist/keystone/keystone-config-builder.d.mts +77 -0
- package/dist/keystone/keystone-config-builder.d.mts.map +1 -0
- package/dist/keystone/keystone-config-builder.mjs +157 -0
- package/dist/keystone/keystone-config-builder.mjs.map +1 -0
- package/dist/keystone/keystone-constants.d.mts +36 -0
- package/dist/keystone/keystone-constants.d.mts.map +1 -0
- package/dist/keystone/keystone-constants.mjs +39 -0
- package/dist/keystone/keystone-constants.mjs.map +1 -0
- package/dist/keystone/keystone-helpers.d.mts +117 -0
- package/dist/keystone/keystone-helpers.d.mts.map +1 -0
- package/dist/keystone/keystone-helpers.mjs +455 -0
- package/dist/keystone/keystone-helpers.mjs.map +1 -0
- package/dist/keystone/keystone-service-v1.d.mts +77 -0
- package/dist/keystone/keystone-service-v1.d.mts.map +1 -0
- package/dist/keystone/keystone-service-v1.mjs +502 -0
- package/dist/keystone/keystone-service-v1.mjs.map +1 -0
- package/dist/keystone/keystone-service-v1.respec.d.mts +2 -0
- package/dist/keystone/keystone-service-v1.respec.d.mts.map +1 -0
- package/dist/keystone/keystone-service-v1.respec.mjs +460 -0
- package/dist/keystone/keystone-service-v1.respec.mjs.map +1 -0
- package/dist/keystone/keystone-types.d.mts +248 -0
- package/dist/keystone/keystone-types.d.mts.map +1 -0
- package/dist/keystone/keystone-types.mjs +50 -0
- package/dist/keystone/keystone-types.mjs.map +1 -0
- package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.d.mts +35 -0
- package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.d.mts.map +1 -0
- package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.mjs +107 -0
- package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.mjs.map +1 -0
- package/dist/keystone/strategy/keystone-strategy-factory.d.mts +15 -0
- package/dist/keystone/strategy/keystone-strategy-factory.d.mts.map +1 -0
- package/dist/keystone/strategy/keystone-strategy-factory.mjs +26 -0
- package/dist/keystone/strategy/keystone-strategy-factory.mjs.map +1 -0
- package/dist/keystone/strategy/keystone-strategy.d.mts +48 -0
- package/dist/keystone/strategy/keystone-strategy.d.mts.map +1 -0
- package/dist/keystone/strategy/keystone-strategy.mjs +14 -0
- package/dist/keystone/strategy/keystone-strategy.mjs.map +1 -0
- package/dist/respec-gib.node.mjs +3 -1
- package/dist/respec-gib.node.mjs.map +1 -1
- package/dist/spec-helper.node.respec.d.mts.map +1 -1
- package/dist/spec-helper.node.respec.mjs +4 -6
- package/dist/spec-helper.node.respec.mjs.map +1 -1
- package/dist/timeline/timeline-api.mjs +12 -12
- package/dist/timeline/timeline-api.mjs.map +1 -1
- package/dist/witness/anonymous-fn/anonymous-fn-helper.mjs.map +1 -1
- package/dist/witness/anonymous-fn/anonymous-fn-v1.mjs.map +1 -1
- package/dist/witness/app/app-base-v1.mjs.map +1 -1
- package/dist/witness/app/app-helper.mjs.map +1 -1
- package/dist/witness/app/app-types.d.mts.map +1 -1
- package/dist/witness/factory/dynamic-form-factory-base.mjs.map +1 -1
- package/dist/witness/light-witness-base-v1.mjs.map +1 -1
- package/dist/witness/robbot/robbot-base-v1.mjs +1 -1
- package/dist/witness/robbot/robbot-base-v1.mjs.map +1 -1
- package/dist/witness/robbot/robbot-helper.mjs.map +1 -1
- package/dist/witness/robbot/robbot-types.d.mts +20 -20
- package/dist/witness/robbot/robbot-types.d.mts.map +1 -1
- package/dist/witness/space/bootstrap/bootstrap-helper.mjs.map +1 -1
- package/dist/witness/space/filesystem-space/filesystem-space-v1.mjs.map +1 -1
- package/dist/witness/space/filesystem-space/filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space/node-filesystem-space-helper.mjs.map +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space/node-filesystem-space-types.d.mts.map +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space/node-filesystem-space-v1.mjs +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space/node-filesystem-space-v1.mjs.map +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/inner-space/inner-space-v1.mjs.map +1 -1
- package/dist/witness/space/inner-space/inner-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/metaspace/metaspace-base.mjs +1 -1
- package/dist/witness/space/metaspace/metaspace-base.mjs.map +1 -1
- package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace-helper.mjs.map +1 -1
- package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mjs.map +1 -1
- package/dist/witness/space/outer-space/outer-space-helper.mjs.map +1 -1
- package/dist/witness/space/outer-space/outer-space-types.d.mts.map +1 -1
- package/dist/witness/space/outer-space/outer-space-types.mjs +1 -1
- package/dist/witness/space/outer-space/outer-space-types.mjs.map +1 -1
- package/dist/witness/space/reconciliation-space/reconciliation-space-base.mjs.map +1 -1
- package/dist/witness/space/reconciliation-space/reconciliation-space-helper.mjs.map +1 -1
- package/dist/witness/space/space-base-v1.mjs.map +1 -1
- package/dist/witness/space/space-constants.mjs +4 -4
- package/dist/witness/space/space-constants.mjs.map +1 -1
- package/dist/witness/space/space-helper.mjs +2 -2
- package/dist/witness/space/space-helper.mjs.map +1 -1
- package/dist/witness/space/space-respec-helper.mjs.map +1 -1
- package/dist/witness/space/space-types.d.mts +4 -4
- package/dist/witness/space/space-types.d.mts.map +1 -1
- package/dist/witness/witness-base-v1.mjs.map +1 -1
- package/dist/witness/witness-form-builder.mjs.map +1 -1
- package/dist/witness/witness-helper.mjs.map +1 -1
- package/dist/witness/witness-with-context/witness-with-context-base-v1.mjs.map +1 -1
- package/package.json +6 -5
- package/src/keystone/README.md +162 -0
- package/src/keystone/keystone-config-builder.mts +187 -0
- package/src/keystone/keystone-constants.mts +44 -0
- package/src/keystone/keystone-helpers.mts +571 -0
- package/src/keystone/keystone-service-v1.mts +611 -0
- package/src/keystone/keystone-service-v1.respec.mts +555 -0
- package/src/keystone/keystone-types.mts +315 -0
- package/src/keystone/strategy/hash-reveal-v1/hash-reveal-v1.mts +146 -0
- package/src/keystone/strategy/keystone-strategy-factory.mts +35 -0
- package/src/keystone/strategy/keystone-strategy.mts +71 -0
- package/src/respec-gib.node.mts +3 -1
- package/src/spec-helper.node.respec.mts +4 -6
- package/src/witness/robbot/robbot-base-v1.mts +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keystone-helpers.mjs","sourceRoot":"","sources":["../../src/keystone/keystone-helpers.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { KeystoneIbGib_V1, KeystonePoolConfig, KeystoneClaim } from './keystone-types.mjs';
|
|
2
|
+
import { IbGibSpaceAny } from '../witness/space/space-base-v1.mjs';
|
|
3
|
+
import { MetaspaceService } from '../witness/space/metaspace/metaspace-types.mjs';
|
|
4
|
+
/**
|
|
5
|
+
* Facade for managing Keystone Identities.
|
|
6
|
+
*
|
|
7
|
+
* Handles Genesis, Authorized Evolution (Signing), and Validation.
|
|
8
|
+
*/
|
|
9
|
+
export declare class KeystoneService_V1 {
|
|
10
|
+
protected lc: string;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a brand new Keystone Identity Timeline.
|
|
13
|
+
*/
|
|
14
|
+
genesis({ masterSecret, configs, metaspace, space, }: {
|
|
15
|
+
masterSecret: string;
|
|
16
|
+
configs: KeystonePoolConfig[];
|
|
17
|
+
metaspace: MetaspaceService;
|
|
18
|
+
space: IbGibSpaceAny;
|
|
19
|
+
}): Promise<KeystoneIbGib_V1>;
|
|
20
|
+
/**
|
|
21
|
+
* Signs a claim using a hybrid selection strategy.
|
|
22
|
+
* Supports: Mandatory IDs (Alice) + Sequential (FIFO) + Random (Stochastic).
|
|
23
|
+
*/
|
|
24
|
+
sign({ latestKeystone, masterSecret, claim, poolId, requiredChallengeIds, frameDetails, metaspace, space, }: {
|
|
25
|
+
latestKeystone: KeystoneIbGib_V1;
|
|
26
|
+
masterSecret: string;
|
|
27
|
+
claim: Partial<KeystoneClaim>;
|
|
28
|
+
poolId?: string;
|
|
29
|
+
requiredChallengeIds?: string[];
|
|
30
|
+
frameDetails?: any;
|
|
31
|
+
metaspace: MetaspaceService;
|
|
32
|
+
space: IbGibSpaceAny;
|
|
33
|
+
}): Promise<KeystoneIbGib_V1>;
|
|
34
|
+
/**
|
|
35
|
+
* Validates a keystone.
|
|
36
|
+
*
|
|
37
|
+
* ## NOTES
|
|
38
|
+
*
|
|
39
|
+
* Atow (12/22/2025) this only validates the transition from Prev -> Curr.
|
|
40
|
+
*
|
|
41
|
+
* @returns Array of validation error strings. Empty array means Valid.
|
|
42
|
+
*
|
|
43
|
+
* @see {@link validateKeystoneTransition}
|
|
44
|
+
*/
|
|
45
|
+
validate({ currentIbGib, prevIbGib, }: {
|
|
46
|
+
currentIbGib: KeystoneIbGib_V1;
|
|
47
|
+
prevIbGib: KeystoneIbGib_V1;
|
|
48
|
+
}): Promise<string[]>;
|
|
49
|
+
/**
|
|
50
|
+
* Permanently revokes the Identity.
|
|
51
|
+
*
|
|
52
|
+
* Logic:
|
|
53
|
+
* 1. Locates the 'revoke' pool.
|
|
54
|
+
* 2. Consumes ALL available challenges in that pool (Scorched Earth).
|
|
55
|
+
* 3. Sets the revocationInfo on the new frame.
|
|
56
|
+
*/
|
|
57
|
+
revoke({ latestKeystone, masterSecret, reason, frameDetails, metaspace, space, }: {
|
|
58
|
+
latestKeystone: KeystoneIbGib_V1;
|
|
59
|
+
masterSecret: string;
|
|
60
|
+
reason?: string;
|
|
61
|
+
frameDetails?: any;
|
|
62
|
+
metaspace: MetaspaceService;
|
|
63
|
+
space?: IbGibSpaceAny;
|
|
64
|
+
}): Promise<KeystoneIbGib_V1>;
|
|
65
|
+
/**
|
|
66
|
+
* Generates an opaque, collision-resistant ID for a challenge.
|
|
67
|
+
* atow (2025/12/22) - Hash(Salt + Timestamp + Index)
|
|
68
|
+
*/
|
|
69
|
+
private generateOpaqueChallengeId;
|
|
70
|
+
private applyReplenishmentStrategy;
|
|
71
|
+
/**
|
|
72
|
+
* Creates a new keystone ibgib that has no dna and no past.
|
|
73
|
+
*/
|
|
74
|
+
private createKeystoneIbGibImpl;
|
|
75
|
+
private evolveKeystoneIbGibImpl;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=keystone-service-v1.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keystone-service-v1.d.mts","sourceRoot":"","sources":["../../src/keystone/keystone-service-v1.mts"],"names":[],"mappings":"AASA,OAAO,EAEH,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EAOhB,MAAM,sBAAsB,CAAC;AAU9B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAKlF;;;;GAIG;AACH,qBAAa,kBAAkB;IAC3B,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkC;IAEtD;;OAEG;IACG,OAAO,CAAC,EACV,YAAY,EACZ,OAAO,EACP,SAAS,EACT,KAAK,GACR,EAAE;QACC,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC9B,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkD7B;;;OAGG;IACG,IAAI,CAAC,EACP,cAAc,EACd,YAAY,EACZ,KAAK,EACL,MAAM,EACN,oBAAyB,EACzB,YAAY,EACZ,SAAS,EACT,KAAK,GACR,EAAE;QACC,cAAc,EAAE,gBAAgB,CAAC;QACjC,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;QAChC,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0H7B;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,EACX,YAAY,EACZ,SAAS,GACZ,EAAE;QACC,YAAY,EAAE,gBAAgB,CAAC;QAC/B,SAAS,EAAE,gBAAgB,CAAC;KAC/B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAOrB;;;;;;;OAOG;IACG,MAAM,CAAC,EACT,cAAc,EACd,YAAY,EACZ,MAAoC,EACpC,YAAY,EACZ,SAAS,EACT,KAAK,GACR,EAAE;QACC,cAAc,EAAE,gBAAgB,CAAC;QACjC,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;KACzB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuF7B;;;OAGG;YACW,yBAAyB;YAgBzB,0BAA0B;IA4ExC;;OAEG;YACW,uBAAuB;YA4DvB,uBAAuB;CAmExC"}
|
|
@@ -0,0 +1,502 @@
|
|
|
1
|
+
import { extractErrorMsg, hash, pretty } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
2
|
+
import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
3
|
+
import { mut8 } from '@ibgib/ts-gib/dist/V1/transforms/mut8.mjs';
|
|
4
|
+
import { Factory_V1 } from '@ibgib/ts-gib/dist/V1/factory.mjs';
|
|
5
|
+
import { getGib } from '@ibgib/ts-gib/dist/V1/transforms/transform-helper.mjs';
|
|
6
|
+
import { GLOBAL_LOG_A_LOT } from '../core-constants.mjs';
|
|
7
|
+
import { KeystoneReplenishStrategy, KEYSTONE_REPLENISH_STRATEGY_VALID_VALUES, } from './keystone-types.mjs';
|
|
8
|
+
import { KeystoneStrategyFactory } from './strategy/keystone-strategy-factory.mjs';
|
|
9
|
+
import { KEYSTONE_ATOM, POOL_ID_REVOKE, KEYSTONE_VERB_REVOKE } from './keystone-constants.mjs';
|
|
10
|
+
import { addToBindingMap, getDeterministicRequirements, getKeystoneIb, removeFromBindingMap, validateKeystoneTransition, } from './keystone-helpers.mjs';
|
|
11
|
+
const logalot = GLOBAL_LOG_A_LOT || true;
|
|
12
|
+
/**
|
|
13
|
+
* Facade for managing Keystone Identities.
|
|
14
|
+
*
|
|
15
|
+
* Handles Genesis, Authorized Evolution (Signing), and Validation.
|
|
16
|
+
*/
|
|
17
|
+
export class KeystoneService_V1 {
|
|
18
|
+
lc = `[${KeystoneService_V1.name}]`;
|
|
19
|
+
/**
|
|
20
|
+
* Creates a brand new Keystone Identity Timeline.
|
|
21
|
+
*/
|
|
22
|
+
async genesis({ masterSecret, configs, metaspace, space, }) {
|
|
23
|
+
const lc = `${this.lc}[${this.genesis.name}]`;
|
|
24
|
+
try {
|
|
25
|
+
if (logalot) {
|
|
26
|
+
console.log(`${lc} starting... (I: c98ae8adbc5888dbf84c5aced7610b25)`);
|
|
27
|
+
}
|
|
28
|
+
const challengePools = [];
|
|
29
|
+
for (const config of configs) {
|
|
30
|
+
const strategy = KeystoneStrategyFactory.create({ config });
|
|
31
|
+
const poolSecret = await strategy.derivePoolSecret({ masterSecret });
|
|
32
|
+
const challenges = {};
|
|
33
|
+
const bindingMap = {};
|
|
34
|
+
const targetSize = config.behavior.size;
|
|
35
|
+
const timestamp = Date.now().toString();
|
|
36
|
+
for (let i = 0; i < targetSize; i++) {
|
|
37
|
+
const challengeId = await this.generateOpaqueChallengeId({
|
|
38
|
+
salt: config.salt, timestamp, index: i
|
|
39
|
+
});
|
|
40
|
+
const solution = await strategy.generateSolution({
|
|
41
|
+
poolSecret, poolId: config.salt, challengeId,
|
|
42
|
+
});
|
|
43
|
+
const challenge = await strategy.generateChallenge({ solution });
|
|
44
|
+
challenges[challengeId] = challenge;
|
|
45
|
+
// Populate Binding Map
|
|
46
|
+
addToBindingMap(bindingMap, challengeId);
|
|
47
|
+
}
|
|
48
|
+
challengePools.push({
|
|
49
|
+
id: config.salt,
|
|
50
|
+
config,
|
|
51
|
+
challenges,
|
|
52
|
+
bindingMap
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
const data = { challengePools, proofs: [] };
|
|
56
|
+
const keystoneIbGib = await this.createKeystoneIbGibImpl({ data, metaspace, space });
|
|
57
|
+
return keystoneIbGib;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
if (logalot) {
|
|
65
|
+
console.log(`${lc} complete.`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Signs a claim using a hybrid selection strategy.
|
|
71
|
+
* Supports: Mandatory IDs (Alice) + Sequential (FIFO) + Random (Stochastic).
|
|
72
|
+
*/
|
|
73
|
+
async sign({ latestKeystone, masterSecret, claim, poolId, requiredChallengeIds = [], frameDetails, metaspace, space, }) {
|
|
74
|
+
const lc = `${this.lc}[${this.sign.name}]`;
|
|
75
|
+
try {
|
|
76
|
+
if (logalot) {
|
|
77
|
+
console.log(`${lc} starting... (I: 519e0810cce8647ce83bdb3b5019a825)`);
|
|
78
|
+
}
|
|
79
|
+
const prevData = latestKeystone.data;
|
|
80
|
+
if (prevData.revocationInfo) {
|
|
81
|
+
throw new Error(`keystone has been revoked (latestKeystone.data.revocationInfo is truthy). (E: 4f2198c39116d15c48ba191940316825)`);
|
|
82
|
+
}
|
|
83
|
+
let pool;
|
|
84
|
+
const poolsToSearch = prevData.challengePools;
|
|
85
|
+
if (logalot) {
|
|
86
|
+
console.log(`${lc} Searching pools: ${poolsToSearch.map(p => p.id).join(', ')} for target: ${poolId || 'auto'}`);
|
|
87
|
+
}
|
|
88
|
+
// ---------------------------------------------------------------
|
|
89
|
+
// 0. POOL RESOLUTION (Deterministic Mapping)
|
|
90
|
+
// ---------------------------------------------------------------
|
|
91
|
+
if (poolId) {
|
|
92
|
+
// Explicit selection
|
|
93
|
+
pool = poolsToSearch.find(p => p.id === poolId);
|
|
94
|
+
if (!pool) {
|
|
95
|
+
throw new Error(`Pool not found: ${poolId} (E: genuuid)`);
|
|
96
|
+
}
|
|
97
|
+
// Enforce Policy on Explicit Selection
|
|
98
|
+
// FIX: Check length > 0. If empty, it's a default pool (allow all).
|
|
99
|
+
if (pool.config.allowedVerbs && pool.config.allowedVerbs.length > 0 && claim.verb) {
|
|
100
|
+
if (!pool.config.allowedVerbs.includes(claim.verb)) {
|
|
101
|
+
throw new Error(`Pool ${poolId} is not authorized for verb: ${claim.verb} (E: genuuid)`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
// Automatic Resolution based on Verb
|
|
107
|
+
if (!claim.verb) {
|
|
108
|
+
throw new Error(`Cannot auto-resolve pool without a verb in the claim. (E: genuuid)`);
|
|
109
|
+
}
|
|
110
|
+
// 1. Look for Specific Match
|
|
111
|
+
pool = poolsToSearch.find(p => p.config.allowedVerbs && p.config.allowedVerbs.includes(claim.verb));
|
|
112
|
+
// 2. Look for General/Default (No restrictions)
|
|
113
|
+
if (!pool) {
|
|
114
|
+
pool = poolsToSearch.find(p => !p.config.allowedVerbs || p.config.allowedVerbs.length === 0);
|
|
115
|
+
}
|
|
116
|
+
if (!pool) {
|
|
117
|
+
throw new Error(`No suitable pool found for verb: ${claim.verb} (E: genuuid)`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// 1. Get Deterministic Requirements (Demands -> Binding -> FIFO)
|
|
121
|
+
const { mandatoryIds, availableIds } = getDeterministicRequirements({
|
|
122
|
+
pool,
|
|
123
|
+
requiredChallengeIds,
|
|
124
|
+
targetAddr: claim.target
|
|
125
|
+
});
|
|
126
|
+
// 2. Stochastic Selection
|
|
127
|
+
const randomCount = pool.config.behavior.selectRandomly;
|
|
128
|
+
const randomIds = [];
|
|
129
|
+
if (logalot) {
|
|
130
|
+
console.log(`${lc} Pool Info: id=${pool.id} invalid=${!pool} size=${Object.keys(pool.challenges || {}).length}`);
|
|
131
|
+
console.log(`${lc} Behavior: seq=${pool.config.behavior.selectSequentially} rand=${randomCount} binding=${pool.config.behavior.targetBindingChars}`);
|
|
132
|
+
console.log(`${lc} Requirements: mandatory=${mandatoryIds.size} available=${availableIds.length}`);
|
|
133
|
+
}
|
|
134
|
+
if (randomCount > 0) {
|
|
135
|
+
if (availableIds.length < randomCount) {
|
|
136
|
+
throw new Error(`Insufficient challenges for random requirement. Need ${randomCount}, have ${availableIds.length}`);
|
|
137
|
+
}
|
|
138
|
+
// Shuffle & Pick
|
|
139
|
+
const shuffled = availableIds.sort(() => 0.5 - Math.random());
|
|
140
|
+
randomIds.push(...shuffled.slice(0, randomCount));
|
|
141
|
+
}
|
|
142
|
+
// 3. Combine & Solve
|
|
143
|
+
const finalSelectedIds = [...mandatoryIds, ...randomIds];
|
|
144
|
+
const strategy = KeystoneStrategyFactory.create({ config: pool.config });
|
|
145
|
+
const secretToUse = masterSecret;
|
|
146
|
+
const poolSecret = await strategy.derivePoolSecret({ masterSecret: secretToUse });
|
|
147
|
+
const solutions = [];
|
|
148
|
+
for (const id of finalSelectedIds) {
|
|
149
|
+
const solution = await strategy.generateSolution({
|
|
150
|
+
poolSecret, poolId: pool.id, challengeId: id,
|
|
151
|
+
});
|
|
152
|
+
solutions.push(solution);
|
|
153
|
+
}
|
|
154
|
+
// 4. Replenish
|
|
155
|
+
const nextPools = await this.applyReplenishmentStrategy({
|
|
156
|
+
prevPools: poolsToSearch,
|
|
157
|
+
targetPoolId: pool.id,
|
|
158
|
+
consumedIds: finalSelectedIds,
|
|
159
|
+
masterSecret: secretToUse,
|
|
160
|
+
strategy,
|
|
161
|
+
config: pool.config
|
|
162
|
+
});
|
|
163
|
+
// 5. Build Proof (Include requiredChallengeIds!)
|
|
164
|
+
const proof = {
|
|
165
|
+
claim,
|
|
166
|
+
solutions,
|
|
167
|
+
requiredChallengeIds: requiredChallengeIds.length > 0 ? requiredChallengeIds : undefined
|
|
168
|
+
};
|
|
169
|
+
const newData = {
|
|
170
|
+
challengePools: nextPools,
|
|
171
|
+
proofs: [proof],
|
|
172
|
+
frameDetails,
|
|
173
|
+
};
|
|
174
|
+
const newIbGib = await this.evolveKeystoneIbGibImpl({ prevIbGib: latestKeystone, newData, metaspace, space });
|
|
175
|
+
return newIbGib;
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
179
|
+
throw error;
|
|
180
|
+
}
|
|
181
|
+
finally {
|
|
182
|
+
if (logalot) {
|
|
183
|
+
console.log(`${lc} complete.`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Validates a keystone.
|
|
189
|
+
*
|
|
190
|
+
* ## NOTES
|
|
191
|
+
*
|
|
192
|
+
* Atow (12/22/2025) this only validates the transition from Prev -> Curr.
|
|
193
|
+
*
|
|
194
|
+
* @returns Array of validation error strings. Empty array means Valid.
|
|
195
|
+
*
|
|
196
|
+
* @see {@link validateKeystoneTransition}
|
|
197
|
+
*/
|
|
198
|
+
async validate({ currentIbGib, prevIbGib, }) {
|
|
199
|
+
// todo: change this to validate the entire keystone graph. the next
|
|
200
|
+
// step is to walk the history and validate each transition.
|
|
201
|
+
const errors = await validateKeystoneTransition({ currentIbGib, prevIbGib });
|
|
202
|
+
return errors;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Permanently revokes the Identity.
|
|
206
|
+
*
|
|
207
|
+
* Logic:
|
|
208
|
+
* 1. Locates the 'revoke' pool.
|
|
209
|
+
* 2. Consumes ALL available challenges in that pool (Scorched Earth).
|
|
210
|
+
* 3. Sets the revocationInfo on the new frame.
|
|
211
|
+
*/
|
|
212
|
+
async revoke({ latestKeystone, masterSecret, reason = "User initiated revocation", frameDetails, metaspace, space, }) {
|
|
213
|
+
const lc = `${this.lc}[${this.revoke.name}]`;
|
|
214
|
+
try {
|
|
215
|
+
const prevData = latestKeystone.data;
|
|
216
|
+
space ??= await metaspace.getLocalUserSpace({ lock: false });
|
|
217
|
+
if (!space) {
|
|
218
|
+
throw new Error(`(UNEXPECTED) space falsy and couldn't get default local user space from the metaspace? (E: 73c8bfc0e7383a540ea1d6b14b020125)`);
|
|
219
|
+
}
|
|
220
|
+
// 1. Find Revocation Pool
|
|
221
|
+
const pool = prevData.challengePools.find(p => p.id === POOL_ID_REVOKE);
|
|
222
|
+
if (!pool) {
|
|
223
|
+
throw new Error(`Revocation pool not found (E: 8c4f18c5461c1d601283108878c79825)`);
|
|
224
|
+
}
|
|
225
|
+
// 2. Select Challenges (Standard Policy, NOT ALL)
|
|
226
|
+
const claim = {
|
|
227
|
+
verb: KEYSTONE_VERB_REVOKE,
|
|
228
|
+
target: getIbGibAddr({ ibGib: latestKeystone })
|
|
229
|
+
};
|
|
230
|
+
const { mandatoryIds, availableIds } = getDeterministicRequirements({
|
|
231
|
+
pool,
|
|
232
|
+
requiredChallengeIds: [], // Revocation usually doesn't have external demands
|
|
233
|
+
targetAddr: claim.target
|
|
234
|
+
});
|
|
235
|
+
// Stochastic Selection
|
|
236
|
+
const randomCount = pool.config.behavior.selectRandomly;
|
|
237
|
+
const randomIds = [];
|
|
238
|
+
if (randomCount > 0) {
|
|
239
|
+
if (availableIds.length < randomCount) {
|
|
240
|
+
throw new Error(`Insufficient challenges. availableIds.length (${availableIds.length}) is less than required random count (${randomCount}) (E: b2e3570ab998dfdbab5fbdda1e43d825)`);
|
|
241
|
+
}
|
|
242
|
+
const shuffled = availableIds.sort(() => 0.5 - Math.random());
|
|
243
|
+
randomIds.push(...shuffled.slice(0, randomCount));
|
|
244
|
+
}
|
|
245
|
+
const selectedIds = [...mandatoryIds, ...randomIds];
|
|
246
|
+
if (selectedIds.length === 0) {
|
|
247
|
+
throw new Error(`Revocation policy selected 0 challenges? Check config for pool. id: ${pool.id}. pool.config: ${pretty(pool.config)} (E: 97e5a8356d241ae7b882db791cb1f825)`);
|
|
248
|
+
}
|
|
249
|
+
// 3. Solve Selected
|
|
250
|
+
const strategy = KeystoneStrategyFactory.create({ config: pool.config });
|
|
251
|
+
const poolSecret = await strategy.derivePoolSecret({ masterSecret });
|
|
252
|
+
const solutions = [];
|
|
253
|
+
for (const id of selectedIds) {
|
|
254
|
+
const solution = await strategy.generateSolution({
|
|
255
|
+
poolSecret, poolId: pool.id, challengeId: id,
|
|
256
|
+
});
|
|
257
|
+
solutions.push(solution);
|
|
258
|
+
}
|
|
259
|
+
// 4. Replenish (Scorched Earth)
|
|
260
|
+
const nextPools = await this.applyReplenishmentStrategy({
|
|
261
|
+
prevPools: prevData.challengePools,
|
|
262
|
+
targetPoolId: pool.id,
|
|
263
|
+
consumedIds: selectedIds,
|
|
264
|
+
masterSecret,
|
|
265
|
+
strategy,
|
|
266
|
+
config: pool.config
|
|
267
|
+
});
|
|
268
|
+
// 5. Construct Proof
|
|
269
|
+
const proof = {
|
|
270
|
+
claim,
|
|
271
|
+
solutions,
|
|
272
|
+
};
|
|
273
|
+
const revocationInfo = { reason, proof };
|
|
274
|
+
const newData = {
|
|
275
|
+
challengePools: nextPools,
|
|
276
|
+
proofs: [proof],
|
|
277
|
+
revocationInfo,
|
|
278
|
+
frameDetails
|
|
279
|
+
};
|
|
280
|
+
return await this.evolveKeystoneIbGibImpl({
|
|
281
|
+
prevIbGib: latestKeystone,
|
|
282
|
+
newData,
|
|
283
|
+
metaspace,
|
|
284
|
+
space,
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
catch (error) {
|
|
288
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
289
|
+
throw error;
|
|
290
|
+
}
|
|
291
|
+
finally {
|
|
292
|
+
if (logalot) {
|
|
293
|
+
console.log(`${lc} complete.`);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Generates an opaque, collision-resistant ID for a challenge.
|
|
299
|
+
* atow (2025/12/22) - Hash(Salt + Timestamp + Index)
|
|
300
|
+
*/
|
|
301
|
+
async generateOpaqueChallengeId({ salt, timestamp, index }) {
|
|
302
|
+
// Use full SHA-256 hash, or slice it?
|
|
303
|
+
// User suggested substring is fine for pool uniqueness.
|
|
304
|
+
// Let's use first 16 chars of hex (64 bits) for brevity + safety.
|
|
305
|
+
const raw = await hash({ s: `${salt}${timestamp}${index}` });
|
|
306
|
+
return raw.substring(0, 16);
|
|
307
|
+
}
|
|
308
|
+
async applyReplenishmentStrategy({ prevPools, targetPoolId, consumedIds, masterSecret, strategy, config }) {
|
|
309
|
+
const newPools = JSON.parse(JSON.stringify(prevPools));
|
|
310
|
+
if (logalot) {
|
|
311
|
+
console.log(`[applyReplenishmentStrategy] Cloned pools. Ref check: ${prevPools === newPools} (should be false)`);
|
|
312
|
+
}
|
|
313
|
+
const targetIdx = newPools.findIndex((p) => p.id === targetPoolId);
|
|
314
|
+
if (targetIdx === -1) {
|
|
315
|
+
throw new Error(`Target pool ${targetPoolId} not found in keytstone data. (E: 75200388d22744838634524233772545)`);
|
|
316
|
+
}
|
|
317
|
+
const pool = newPools[targetIdx];
|
|
318
|
+
const poolSecret = await strategy.derivePoolSecret({ masterSecret });
|
|
319
|
+
const timestamp = Date.now().toString();
|
|
320
|
+
const strategyType = config.behavior.replenish;
|
|
321
|
+
// Clean up Binding Map for consumed IDs
|
|
322
|
+
consumedIds.forEach(id => {
|
|
323
|
+
if (pool.bindingMap) {
|
|
324
|
+
removeFromBindingMap(pool.bindingMap, id);
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
if (strategyType === KeystoneReplenishStrategy.topUp) {
|
|
328
|
+
// Remove consumed
|
|
329
|
+
consumedIds.forEach(id => delete pool.challenges[id]);
|
|
330
|
+
// Add New
|
|
331
|
+
for (let i = 0; i < consumedIds.length; i++) {
|
|
332
|
+
const newId = await this.generateOpaqueChallengeId({
|
|
333
|
+
salt: config.salt, timestamp, index: i
|
|
334
|
+
});
|
|
335
|
+
const solution = await strategy.generateSolution({
|
|
336
|
+
poolSecret, poolId: pool.id, challengeId: newId
|
|
337
|
+
});
|
|
338
|
+
pool.challenges[newId] = await strategy.generateChallenge({ solution });
|
|
339
|
+
// Update Binding Map
|
|
340
|
+
if (!pool.bindingMap) {
|
|
341
|
+
pool.bindingMap = {};
|
|
342
|
+
}
|
|
343
|
+
addToBindingMap(pool.bindingMap, newId);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
else if (strategyType === KeystoneReplenishStrategy.replaceAll) {
|
|
347
|
+
pool.challenges = {};
|
|
348
|
+
pool.bindingMap = {};
|
|
349
|
+
for (let i = 0; i < config.behavior.size; i++) {
|
|
350
|
+
const newId = await this.generateOpaqueChallengeId({
|
|
351
|
+
salt: config.salt, timestamp, index: i
|
|
352
|
+
});
|
|
353
|
+
const solution = await strategy.generateSolution({
|
|
354
|
+
poolSecret, poolId: pool.id, challengeId: newId
|
|
355
|
+
});
|
|
356
|
+
pool.challenges[newId] = await strategy.generateChallenge({ solution });
|
|
357
|
+
addToBindingMap(pool.bindingMap, newId);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
else if (strategyType === KeystoneReplenishStrategy.consume) {
|
|
361
|
+
consumedIds.forEach(id => delete pool.challenges[id]);
|
|
362
|
+
}
|
|
363
|
+
else if (strategyType === KeystoneReplenishStrategy.scorchedEarth) {
|
|
364
|
+
pool.challenges = {};
|
|
365
|
+
pool.bindingMap = {};
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
throw new Error(`Unknown replenish strategy: ${strategyType}. Valid list: ${pretty(KEYSTONE_REPLENISH_STRATEGY_VALID_VALUES)} (E: 0acf56f1e1486240080e11e8046d0825)`);
|
|
369
|
+
}
|
|
370
|
+
return newPools;
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Creates a new keystone ibgib that has no dna and no past.
|
|
374
|
+
*/
|
|
375
|
+
async createKeystoneIbGibImpl({ data, metaspace, space, }) {
|
|
376
|
+
const lc = `${this.lc}[${this.createKeystoneIbGibImpl.name}]`;
|
|
377
|
+
try {
|
|
378
|
+
if (logalot) {
|
|
379
|
+
console.log(`${lc} starting... (I: 5e32389700e9899e788cbefacef7c825)`);
|
|
380
|
+
}
|
|
381
|
+
space ??= await metaspace.getLocalUserSpace({ lock: false });
|
|
382
|
+
if (!space) {
|
|
383
|
+
throw new Error(`(UNEXPECTED) space was falsy and we couldn't get default local user space from metaspace? (E: 9a6498cf16a8801f19ec376749742225)`);
|
|
384
|
+
}
|
|
385
|
+
// create the actual keystoneIbGib
|
|
386
|
+
const resFirstGen = await Factory_V1.firstGen({
|
|
387
|
+
parentIbGib: Factory_V1.primitive({ ib: KEYSTONE_ATOM }),
|
|
388
|
+
ib: await getKeystoneIb({ keystoneData: data }),
|
|
389
|
+
data,
|
|
390
|
+
dna: false,
|
|
391
|
+
nCounter: true,
|
|
392
|
+
tjp: {
|
|
393
|
+
timestamp: true,
|
|
394
|
+
uuid: true,
|
|
395
|
+
},
|
|
396
|
+
});
|
|
397
|
+
const keystoneIbGib = resFirstGen.newIbGib;
|
|
398
|
+
if (!keystoneIbGib.data) {
|
|
399
|
+
throw new Error(`(UNEXPECTED) keystoneIbGib.data falsy? We expect the data to be populated with real keystone data. (E: 38a358facdb89d16d81d48c8520d3d25)`);
|
|
400
|
+
}
|
|
401
|
+
if (!keystoneIbGib.rel8ns) {
|
|
402
|
+
throw new Error(`(UNEXPECTED) keystoneIbGib.rel8ns falsy? we expect the rel8ns to have ancestor and past. (E: 20cb7723dc33ae1ef808fe76d1bf4b25)`);
|
|
403
|
+
}
|
|
404
|
+
if (!keystoneIbGib.rel8ns.past || keystoneIbGib.rel8ns.past.length === 0) {
|
|
405
|
+
throw new Error(`(UNEXPECTED) keystoneIbGib.rel8ns.past falsy or empty? we expect the firstGen call to generate an interstitial ibgib that we will splice out. (E: 0fd8388d045ab9f37834c27d67e78825)`);
|
|
406
|
+
}
|
|
407
|
+
// reset n
|
|
408
|
+
keystoneIbGib.data.n = 0;
|
|
409
|
+
// reset tjp
|
|
410
|
+
keystoneIbGib.data.isTjp = true;
|
|
411
|
+
delete keystoneIbGib.rel8ns.tjp;
|
|
412
|
+
// reset past
|
|
413
|
+
delete keystoneIbGib.rel8ns.past;
|
|
414
|
+
// recalculate gib
|
|
415
|
+
keystoneIbGib.gib = await getGib({ ibGib: keystoneIbGib });
|
|
416
|
+
// save and register
|
|
417
|
+
await metaspace.put({ ibGib: keystoneIbGib, space, });
|
|
418
|
+
await metaspace.registerNewIbGib({ ibGib: keystoneIbGib, space, });
|
|
419
|
+
return keystoneIbGib;
|
|
420
|
+
}
|
|
421
|
+
catch (error) {
|
|
422
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
423
|
+
throw error;
|
|
424
|
+
}
|
|
425
|
+
finally {
|
|
426
|
+
if (logalot) {
|
|
427
|
+
console.log(`${lc} complete.`);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
async evolveKeystoneIbGibImpl({ prevIbGib, newData, metaspace, space, }) {
|
|
432
|
+
const lc = `${this.lc}[${this.evolveKeystoneIbGibImpl.name}]`;
|
|
433
|
+
try {
|
|
434
|
+
if (logalot) {
|
|
435
|
+
console.log(`${lc} starting... (I: 8b10e8920f08b7842803665834cf8925)`);
|
|
436
|
+
}
|
|
437
|
+
if (!prevIbGib.data) {
|
|
438
|
+
throw new Error(`(UNEXPECTED) prevIbGib.data falsy? (E: 5e84875bf992c585b979e6c8ed5bf225)`);
|
|
439
|
+
}
|
|
440
|
+
if (prevIbGib.data.revocationInfo) {
|
|
441
|
+
throw new Error(`Keystone has already been revoked (prevIbGib.data.revocationInfo truthy), so we cannot evolve the keystone. Keystone addr: ${getIbGibAddr({ ibGib: prevIbGib })} (E: 45d7f846556829de6b2a701838c3f825)`);
|
|
442
|
+
}
|
|
443
|
+
const prevData = prevIbGib.data;
|
|
444
|
+
/**
|
|
445
|
+
* we want to completely replace these keys, so we will remove them
|
|
446
|
+
* from the data. This occurs first in the underlying mut8
|
|
447
|
+
* transform.
|
|
448
|
+
* @see {@link mut8}
|
|
449
|
+
*/
|
|
450
|
+
let dataToRemove = {};
|
|
451
|
+
if (prevData.proofs) {
|
|
452
|
+
dataToRemove.proofs = [];
|
|
453
|
+
}
|
|
454
|
+
if (prevData.challengePools) {
|
|
455
|
+
dataToRemove.challengePools = [];
|
|
456
|
+
}
|
|
457
|
+
if (prevData.frameDetails) {
|
|
458
|
+
dataToRemove.frameDetails = {};
|
|
459
|
+
}
|
|
460
|
+
if (Object.keys(dataToRemove).length === 0) {
|
|
461
|
+
dataToRemove = undefined;
|
|
462
|
+
}
|
|
463
|
+
const resMut8 = await mut8({
|
|
464
|
+
src: prevIbGib,
|
|
465
|
+
dataToRemove,
|
|
466
|
+
dataToAddOrPatch: newData,
|
|
467
|
+
// dna: false, // explicitly set to false just to show
|
|
468
|
+
nCounter: true,
|
|
469
|
+
});
|
|
470
|
+
if (!!resMut8.intermediateIbGibs) {
|
|
471
|
+
throw new Error(`(UNEXPECTED) resMut8.intermediateIbGibs truthy? I'm not sure if we expect there to be intermediateIbGibs, but I feel like we shouldn't. Pretty sure we shouldn't, definitely don't *want* them. (E: ba40d55d7c2d36d438c413886f148625)`);
|
|
472
|
+
}
|
|
473
|
+
if (!!resMut8.dnas) {
|
|
474
|
+
throw new Error(`(UNEXPECTED) resMut8.dnas truthy? We do not want dnas with keystones. (E: 49470513d018f97d28024f4e82da3b25)`);
|
|
475
|
+
}
|
|
476
|
+
const newKeystoneIbGib = resMut8.newIbGib;
|
|
477
|
+
// run validation here
|
|
478
|
+
const errors = await this.validate({
|
|
479
|
+
currentIbGib: newKeystoneIbGib,
|
|
480
|
+
prevIbGib,
|
|
481
|
+
});
|
|
482
|
+
if (errors.length > 0) {
|
|
483
|
+
console.error(`${lc} Validation Failed:\n${errors.join('\n')}`);
|
|
484
|
+
throw new Error(`(UNEXPECTED) invalid keystone after we just evolved it? Errors: ${errors.join('; ')} (E: ae2c58406c1db7687879dfb89fc1f825)`);
|
|
485
|
+
}
|
|
486
|
+
// save and register
|
|
487
|
+
await metaspace.put({ ibGib: newKeystoneIbGib, space, });
|
|
488
|
+
await metaspace.registerNewIbGib({ ibGib: newKeystoneIbGib, space, });
|
|
489
|
+
return newKeystoneIbGib;
|
|
490
|
+
}
|
|
491
|
+
catch (error) {
|
|
492
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
493
|
+
throw error;
|
|
494
|
+
}
|
|
495
|
+
finally {
|
|
496
|
+
if (logalot) {
|
|
497
|
+
console.log(`${lc} complete.`);
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
//# sourceMappingURL=keystone-service-v1.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keystone-service-v1.mjs","sourceRoot":"","sources":["../../src/keystone/keystone-service-v1.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keystone-service-v1.respec.d.mts","sourceRoot":"","sources":["../../src/keystone/keystone-service-v1.respec.mts"],"names":[],"mappings":""}
|