@ibgib/core-gib 0.1.8 → 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.
- package/dist/keystone/keystone-config-builder.respec.d.mts +2 -0
- package/dist/keystone/keystone-config-builder.respec.d.mts.map +1 -0
- package/dist/keystone/keystone-config-builder.respec.mjs +34 -0
- package/dist/keystone/keystone-config-builder.respec.mjs.map +1 -0
- package/dist/keystone/keystone-constants.d.mts +2 -0
- package/dist/keystone/keystone-constants.d.mts.map +1 -1
- package/dist/keystone/keystone-constants.mjs +2 -0
- package/dist/keystone/keystone-constants.mjs.map +1 -1
- package/dist/keystone/keystone-helpers.d.mts +54 -1
- package/dist/keystone/keystone-helpers.d.mts.map +1 -1
- package/dist/keystone/keystone-helpers.mjs +185 -1
- package/dist/keystone/keystone-helpers.mjs.map +1 -1
- package/dist/keystone/keystone-service-v1.d.mts +49 -16
- package/dist/keystone/keystone-service-v1.d.mts.map +1 -1
- package/dist/keystone/keystone-service-v1.mjs +151 -328
- package/dist/keystone/keystone-service-v1.mjs.map +1 -1
- package/dist/keystone/keystone-service-v1.respec.mjs +382 -4
- package/dist/keystone/keystone-service-v1.respec.mjs.map +1 -1
- package/dist/keystone/keystone-types.d.mts +22 -0
- package/dist/keystone/keystone-types.d.mts.map +1 -1
- package/package.json +1 -1
- package/src/keystone/keystone-config-builder.respec.mts +49 -0
- package/src/keystone/keystone-constants.mts +2 -0
- package/src/keystone/keystone-helpers.mts +211 -2
- package/src/keystone/keystone-service-v1.mts +183 -367
- package/src/keystone/keystone-service-v1.respec.mts +463 -6
- package/src/keystone/keystone-types.mts +24 -0
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { respecfully, iReckon, firstOfAll, respecfullyDear, ifWeMight } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
2
2
|
const maam = `[${import.meta.url}]`, sir = maam;
|
|
3
|
+
import { hash } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
3
4
|
import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
4
|
-
// import { MetaspaceService, } from '@ibgib/core-gib/dist/witness/space/metaspace/metaspace-types.mjs';
|
|
5
|
-
// import { Metaspace_Innerspace } from '@ibgib/core-gib/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mjs';
|
|
6
|
-
// import { IbGibSpaceAny } from '@ibgib/core-gib/dist/witness/space/space-base-v1.mjs';
|
|
7
5
|
import { GLOBAL_LOG_A_LOT } from '../core-constants.mjs';
|
|
8
6
|
import { KeystoneStrategyFactory } from './strategy/keystone-strategy-factory.mjs';
|
|
9
7
|
import { createRevocationPoolConfig, createStandardPoolConfig } from './keystone-config-builder.mjs';
|
|
10
|
-
import { POOL_ID_DEFAULT, POOL_ID_REVOKE, KEYSTONE_VERB_REVOKE } from './keystone-constants.mjs';
|
|
8
|
+
import { POOL_ID_DEFAULT, POOL_ID_REVOKE, KEYSTONE_VERB_REVOKE, KEYSTONE_VERB_MANAGE } from './keystone-constants.mjs';
|
|
11
9
|
import { KeystoneService_V1 } from './keystone-service-v1.mjs';
|
|
10
|
+
import { addToBindingMap } from './keystone-helpers.mjs';
|
|
12
11
|
const logalot = GLOBAL_LOG_A_LOT;
|
|
13
12
|
// /**
|
|
14
13
|
// * not sure where to put this, but we probably will want to reuse this in the
|
|
@@ -457,4 +456,383 @@ await respecfullyDear(sir, 'Suite D: Revocation', async () => {
|
|
|
457
456
|
});
|
|
458
457
|
});
|
|
459
458
|
});
|
|
459
|
+
// ===========================================================================
|
|
460
|
+
// SUITE E: STRUCTURAL EVOLUTION (addPools)
|
|
461
|
+
// ===========================================================================
|
|
462
|
+
await respecfullyDear(sir, 'Suite E: Structural Evolution (addPools)', async () => {
|
|
463
|
+
const service = new KeystoneService_V1();
|
|
464
|
+
const aliceSecret = "Alice_Master_Key";
|
|
465
|
+
const bobSecret = "Bob_Foreign_Key";
|
|
466
|
+
let mockSpace;
|
|
467
|
+
let mockMetaspace;
|
|
468
|
+
let aliceKeystone;
|
|
469
|
+
// Helper to generate a "Foreign" pool (e.g. from Bob)
|
|
470
|
+
const createForeignPool = async (id, verbs = []) => {
|
|
471
|
+
const config = createStandardPoolConfig(id);
|
|
472
|
+
config.allowedVerbs = verbs;
|
|
473
|
+
// We use the factory manually here to simulate Bob doing this offline
|
|
474
|
+
const strategy = KeystoneStrategyFactory.create({ config });
|
|
475
|
+
const poolSecret = await strategy.derivePoolSecret({ masterSecret: bobSecret });
|
|
476
|
+
const challenges = {};
|
|
477
|
+
const bindingMap = {};
|
|
478
|
+
for (let i = 0; i < 10; i++) {
|
|
479
|
+
// Manually replicate ID gen for test
|
|
480
|
+
const raw = await hash({ s: `${config.salt}${Date.now()}${i}` });
|
|
481
|
+
const challengeId = raw.substring(0, 16);
|
|
482
|
+
const solution = await strategy.generateSolution({
|
|
483
|
+
poolSecret, poolId: config.salt, challengeId,
|
|
484
|
+
});
|
|
485
|
+
const challenge = await strategy.generateChallenge({ solution });
|
|
486
|
+
challenges[challengeId] = challenge;
|
|
487
|
+
addToBindingMap(bindingMap, challengeId);
|
|
488
|
+
}
|
|
489
|
+
return {
|
|
490
|
+
id,
|
|
491
|
+
config,
|
|
492
|
+
challenges,
|
|
493
|
+
bindingMap,
|
|
494
|
+
isForeign: true,
|
|
495
|
+
metadata: { owner: 'Bob' }
|
|
496
|
+
};
|
|
497
|
+
};
|
|
498
|
+
firstOfAll(sir, async () => {
|
|
499
|
+
mockSpace = new MockIbGibSpace();
|
|
500
|
+
mockMetaspace = new MockMetaspaceService(mockSpace);
|
|
501
|
+
// Alice Genesis: Standard pool (allows all verbs, including 'manage')
|
|
502
|
+
const config = createStandardPoolConfig(POOL_ID_DEFAULT);
|
|
503
|
+
aliceKeystone = await service.genesis({
|
|
504
|
+
masterSecret: aliceSecret,
|
|
505
|
+
configs: [config],
|
|
506
|
+
metaspace: mockMetaspace,
|
|
507
|
+
space: mockSpace,
|
|
508
|
+
});
|
|
509
|
+
});
|
|
510
|
+
await respecfully(sir, 'Happy Path', async () => {
|
|
511
|
+
await ifWeMight(sir, 'authorizes and adds a foreign pool', async () => {
|
|
512
|
+
const bobPool = await createForeignPool("pool_bob", ["post"]);
|
|
513
|
+
const updatedKeystone = await service.addPools({
|
|
514
|
+
latestKeystone: aliceKeystone,
|
|
515
|
+
masterSecret: aliceSecret,
|
|
516
|
+
newPools: [bobPool],
|
|
517
|
+
metaspace: mockMetaspace,
|
|
518
|
+
space: mockSpace,
|
|
519
|
+
});
|
|
520
|
+
// 1. Verify new state
|
|
521
|
+
iReckon(sir, updatedKeystone).isGonnaBeTruthy();
|
|
522
|
+
const pools = updatedKeystone.data.challengePools;
|
|
523
|
+
iReckon(sir, pools.length).asTo('pool count increased').willEqual(2);
|
|
524
|
+
const foundBob = pools.find(p => p.id === "pool_bob");
|
|
525
|
+
iReckon(sir, foundBob).asTo('bob pool exists').isGonnaBeTruthy();
|
|
526
|
+
iReckon(sir, foundBob.isForeign).asTo('isForeign flag').isGonnaBeTrue();
|
|
527
|
+
// 2. Verify Proof
|
|
528
|
+
const proof = updatedKeystone.data.proofs[0];
|
|
529
|
+
iReckon(sir, proof.claim.verb).asTo('proof verb').willEqual("manage");
|
|
530
|
+
// Alice signed this using HER pool (default), not Bob's
|
|
531
|
+
iReckon(sir, proof.solutions[0].poolId).willEqual(POOL_ID_DEFAULT);
|
|
532
|
+
// 3. Verify Validity
|
|
533
|
+
const errors = await service.validate({
|
|
534
|
+
prevIbGib: aliceKeystone,
|
|
535
|
+
currentIbGib: updatedKeystone,
|
|
536
|
+
});
|
|
537
|
+
iReckon(sir, errors.length).asTo('validation passed').willEqual(0);
|
|
538
|
+
// Update local ref for next tests
|
|
539
|
+
aliceKeystone = updatedKeystone;
|
|
540
|
+
});
|
|
541
|
+
});
|
|
542
|
+
await respecfully(sir, 'Permissions & Logic', async () => {
|
|
543
|
+
await ifWeMight(sir, 'fails if no pool allows "manage" verb', async () => {
|
|
544
|
+
// 1. Create a restricted keystone
|
|
545
|
+
const restrictedConfig = createStandardPoolConfig("read_only");
|
|
546
|
+
restrictedConfig.allowedVerbs = ['read']; // No 'manage'
|
|
547
|
+
const restrictedKeystone = await service.genesis({
|
|
548
|
+
masterSecret: aliceSecret,
|
|
549
|
+
configs: [restrictedConfig],
|
|
550
|
+
metaspace: mockMetaspace,
|
|
551
|
+
space: mockSpace,
|
|
552
|
+
});
|
|
553
|
+
const newPool = await createForeignPool("pool_test");
|
|
554
|
+
let errorCaught = false;
|
|
555
|
+
try {
|
|
556
|
+
await service.addPools({
|
|
557
|
+
latestKeystone: restrictedKeystone,
|
|
558
|
+
masterSecret: aliceSecret,
|
|
559
|
+
newPools: [newPool],
|
|
560
|
+
metaspace: mockMetaspace,
|
|
561
|
+
space: mockSpace,
|
|
562
|
+
});
|
|
563
|
+
}
|
|
564
|
+
catch (e) {
|
|
565
|
+
errorCaught = true;
|
|
566
|
+
// Should fail in resolveTargetPool or addPools logic
|
|
567
|
+
// console.log("Caught expected error:", e.message);
|
|
568
|
+
}
|
|
569
|
+
iReckon(sir, errorCaught).asTo('permission denied').isGonnaBeTrue();
|
|
570
|
+
});
|
|
571
|
+
await ifWeMight(sir, 'fails on ID collision', async () => {
|
|
572
|
+
// Try to add "pool_bob" again (it was added in Happy Path)
|
|
573
|
+
const duplicatePool = await createForeignPool("pool_bob");
|
|
574
|
+
let errorCaught = false;
|
|
575
|
+
try {
|
|
576
|
+
await service.addPools({
|
|
577
|
+
latestKeystone: aliceKeystone, // This already has pool_bob
|
|
578
|
+
masterSecret: aliceSecret,
|
|
579
|
+
newPools: [duplicatePool],
|
|
580
|
+
metaspace: mockMetaspace,
|
|
581
|
+
space: mockSpace,
|
|
582
|
+
});
|
|
583
|
+
}
|
|
584
|
+
catch (e) {
|
|
585
|
+
errorCaught = true;
|
|
586
|
+
iReckon(sir, e.message).includes("ID collision");
|
|
587
|
+
}
|
|
588
|
+
iReckon(sir, errorCaught).asTo('collision detected').isGonnaBeTrue();
|
|
589
|
+
});
|
|
590
|
+
});
|
|
591
|
+
});
|
|
592
|
+
// ===========================================================================
|
|
593
|
+
// SUITE E: STRUCTURAL EVOLUTION (addPools)
|
|
594
|
+
// ===========================================================================
|
|
595
|
+
await respecfullyDear(sir, 'Suite E: Structural Evolution (addPools)', async () => {
|
|
596
|
+
const service = new KeystoneService_V1();
|
|
597
|
+
const aliceSecret = "Alice_Master_Key";
|
|
598
|
+
const bobSecret = "Bob_Foreign_Key";
|
|
599
|
+
let mockSpace;
|
|
600
|
+
let mockMetaspace;
|
|
601
|
+
let aliceKeystone;
|
|
602
|
+
// Helper to simulate Bob creating a pool "offline" to give to Alice
|
|
603
|
+
const createForeignPool = async (id, verbs = []) => {
|
|
604
|
+
const config = createStandardPoolConfig(id);
|
|
605
|
+
config.allowedVerbs = verbs;
|
|
606
|
+
// We use the factory manually here to simulate Bob doing this on his own machine
|
|
607
|
+
const strategy = KeystoneStrategyFactory.create({ config });
|
|
608
|
+
const poolSecret = await strategy.derivePoolSecret({ masterSecret: bobSecret });
|
|
609
|
+
const challenges = {};
|
|
610
|
+
const bindingMap = {};
|
|
611
|
+
// Generate a small set of challenges
|
|
612
|
+
for (let i = 0; i < 10; i++) {
|
|
613
|
+
const raw = await hash({ s: `${config.salt}${Date.now()}${i}` });
|
|
614
|
+
const challengeId = raw.substring(0, 16);
|
|
615
|
+
const solution = await strategy.generateSolution({
|
|
616
|
+
poolSecret, poolId: config.salt, challengeId,
|
|
617
|
+
});
|
|
618
|
+
const challenge = await strategy.generateChallenge({ solution });
|
|
619
|
+
challenges[challengeId] = challenge;
|
|
620
|
+
addToBindingMap(bindingMap, challengeId);
|
|
621
|
+
}
|
|
622
|
+
return {
|
|
623
|
+
id,
|
|
624
|
+
config,
|
|
625
|
+
challenges,
|
|
626
|
+
bindingMap,
|
|
627
|
+
isForeign: true,
|
|
628
|
+
metadata: { owner: 'Bob', role: 'Delegate' }
|
|
629
|
+
};
|
|
630
|
+
};
|
|
631
|
+
firstOfAll(sir, async () => {
|
|
632
|
+
mockSpace = new MockIbGibSpace();
|
|
633
|
+
mockMetaspace = new MockMetaspaceService(mockSpace);
|
|
634
|
+
// Alice Genesis: Standard pool (allows all verbs, including 'manage')
|
|
635
|
+
const config = createStandardPoolConfig(POOL_ID_DEFAULT);
|
|
636
|
+
aliceKeystone = await service.genesis({
|
|
637
|
+
masterSecret: aliceSecret,
|
|
638
|
+
configs: [config],
|
|
639
|
+
metaspace: mockMetaspace,
|
|
640
|
+
space: mockSpace,
|
|
641
|
+
});
|
|
642
|
+
});
|
|
643
|
+
await respecfully(sir, 'Happy Path', async () => {
|
|
644
|
+
await ifWeMight(sir, 'authorizes and adds a foreign pool', async () => {
|
|
645
|
+
const bobPool = await createForeignPool("pool_bob", ["post"]);
|
|
646
|
+
const updatedKeystone = await service.addPools({
|
|
647
|
+
latestKeystone: aliceKeystone,
|
|
648
|
+
masterSecret: aliceSecret,
|
|
649
|
+
newPools: [bobPool],
|
|
650
|
+
metaspace: mockMetaspace,
|
|
651
|
+
space: mockSpace,
|
|
652
|
+
});
|
|
653
|
+
// 1. Verify new state
|
|
654
|
+
iReckon(sir, updatedKeystone).isGonnaBeTruthy();
|
|
655
|
+
const pools = updatedKeystone.data.challengePools;
|
|
656
|
+
iReckon(sir, pools.length).asTo('pool count increased').willEqual(2);
|
|
657
|
+
const foundBob = pools.find(p => p.id === "pool_bob");
|
|
658
|
+
iReckon(sir, foundBob).asTo('bob pool exists').isGonnaBeTruthy();
|
|
659
|
+
iReckon(sir, foundBob.isForeign).asTo('isForeign flag').isGonnaBeTrue();
|
|
660
|
+
// 2. Verify Proof
|
|
661
|
+
const proof = updatedKeystone.data.proofs[0];
|
|
662
|
+
iReckon(sir, proof.claim.verb).asTo('proof verb').willEqual(KEYSTONE_VERB_MANAGE);
|
|
663
|
+
// Alice signed this using HER pool (default), not Bob's
|
|
664
|
+
iReckon(sir, proof.solutions[0].poolId).willEqual(POOL_ID_DEFAULT);
|
|
665
|
+
// 3. Verify Validity
|
|
666
|
+
const errors = await service.validate({
|
|
667
|
+
prevIbGib: aliceKeystone,
|
|
668
|
+
currentIbGib: updatedKeystone,
|
|
669
|
+
});
|
|
670
|
+
iReckon(sir, errors.length).asTo('validation passed').willEqual(0);
|
|
671
|
+
// Update local ref for next tests
|
|
672
|
+
aliceKeystone = updatedKeystone;
|
|
673
|
+
});
|
|
674
|
+
});
|
|
675
|
+
await respecfully(sir, 'Permissions & Logic', async () => {
|
|
676
|
+
await ifWeMight(sir, 'fails if no pool allows "manage" verb', async () => {
|
|
677
|
+
// 1. Create a restricted keystone (read-only)
|
|
678
|
+
const restrictedConfig = createStandardPoolConfig("read_only");
|
|
679
|
+
restrictedConfig.allowedVerbs = ['read']; // No 'manage'
|
|
680
|
+
const restrictedKeystone = await service.genesis({
|
|
681
|
+
masterSecret: aliceSecret,
|
|
682
|
+
configs: [restrictedConfig],
|
|
683
|
+
metaspace: mockMetaspace,
|
|
684
|
+
space: mockSpace,
|
|
685
|
+
});
|
|
686
|
+
const newPool = await createForeignPool("pool_test");
|
|
687
|
+
let errorCaught = false;
|
|
688
|
+
try {
|
|
689
|
+
await service.addPools({
|
|
690
|
+
latestKeystone: restrictedKeystone,
|
|
691
|
+
masterSecret: aliceSecret,
|
|
692
|
+
newPools: [newPool],
|
|
693
|
+
metaspace: mockMetaspace,
|
|
694
|
+
space: mockSpace,
|
|
695
|
+
});
|
|
696
|
+
}
|
|
697
|
+
catch (e) {
|
|
698
|
+
errorCaught = true;
|
|
699
|
+
// Optional: Check error message
|
|
700
|
+
// iReckon(sir, e.message).includes("No local pool found with 'manage'");
|
|
701
|
+
}
|
|
702
|
+
iReckon(sir, errorCaught).asTo('permission denied').isGonnaBeTrue();
|
|
703
|
+
});
|
|
704
|
+
await ifWeMight(sir, 'fails on ID collision', async () => {
|
|
705
|
+
// Try to add "pool_bob" again (it was added in Happy Path)
|
|
706
|
+
const duplicatePool = await createForeignPool("pool_bob");
|
|
707
|
+
let errorCaught = false;
|
|
708
|
+
try {
|
|
709
|
+
await service.addPools({
|
|
710
|
+
latestKeystone: aliceKeystone, // This already has pool_bob
|
|
711
|
+
masterSecret: aliceSecret,
|
|
712
|
+
newPools: [duplicatePool],
|
|
713
|
+
metaspace: mockMetaspace,
|
|
714
|
+
space: mockSpace,
|
|
715
|
+
});
|
|
716
|
+
}
|
|
717
|
+
catch (e) {
|
|
718
|
+
errorCaught = true;
|
|
719
|
+
iReckon(sir, e.message).includes("collision");
|
|
720
|
+
}
|
|
721
|
+
iReckon(sir, errorCaught).asTo('collision detected').isGonnaBeTrue();
|
|
722
|
+
});
|
|
723
|
+
});
|
|
724
|
+
});
|
|
725
|
+
// ===========================================================================
|
|
726
|
+
// SUITE F: DEEP INSPECTION (Granularity & Serialization)
|
|
727
|
+
// ===========================================================================
|
|
728
|
+
await respecfullyDear(sir, 'Suite F: Deep Inspection', async () => {
|
|
729
|
+
const service = new KeystoneService_V1();
|
|
730
|
+
const aliceSecret = "Alice_Deep_Inspect";
|
|
731
|
+
const salt = "granularity_pool";
|
|
732
|
+
let mockSpace;
|
|
733
|
+
let mockMetaspace;
|
|
734
|
+
let genesisKeystone;
|
|
735
|
+
// We use a specific hybrid config to test exact selection logic
|
|
736
|
+
const hybridConfig = createStandardPoolConfig(salt);
|
|
737
|
+
// 2 FIFO + 2 Random = 4 Total per sign
|
|
738
|
+
hybridConfig.behavior.selectSequentially = 2;
|
|
739
|
+
hybridConfig.behavior.selectRandomly = 2;
|
|
740
|
+
hybridConfig.behavior.size = 20; // Small enough to track, large enough to be random
|
|
741
|
+
firstOfAll(sir, async () => {
|
|
742
|
+
mockSpace = new MockIbGibSpace();
|
|
743
|
+
mockMetaspace = new MockMetaspaceService(mockSpace);
|
|
744
|
+
genesisKeystone = await service.genesis({
|
|
745
|
+
masterSecret: aliceSecret,
|
|
746
|
+
configs: [hybridConfig],
|
|
747
|
+
metaspace: mockMetaspace,
|
|
748
|
+
space: mockSpace,
|
|
749
|
+
});
|
|
750
|
+
});
|
|
751
|
+
await respecfully(sir, 'Proof Granularity & Math', async () => {
|
|
752
|
+
let signedKeystone;
|
|
753
|
+
await ifWeMight(sir, 'generates exactly the expected number of solutions', async () => {
|
|
754
|
+
signedKeystone = await service.sign({
|
|
755
|
+
latestKeystone: genesisKeystone,
|
|
756
|
+
masterSecret: aliceSecret,
|
|
757
|
+
claim: { verb: "post", target: "data^gib" },
|
|
758
|
+
metaspace: mockMetaspace,
|
|
759
|
+
space: mockSpace,
|
|
760
|
+
});
|
|
761
|
+
const proofs = signedKeystone.data.proofs;
|
|
762
|
+
iReckon(sir, proofs.length).asTo('proof count').willEqual(1);
|
|
763
|
+
const solutions = proofs[0].solutions;
|
|
764
|
+
// 2 Sequential + 2 Random = 4
|
|
765
|
+
iReckon(sir, solutions.length).asTo('solution count').willEqual(4);
|
|
766
|
+
});
|
|
767
|
+
await ifWeMight(sir, 'verifies the math manually (White-box Crypto Check)', async () => {
|
|
768
|
+
const proof = signedKeystone.data.proofs[0];
|
|
769
|
+
const poolSnapshot = genesisKeystone.data.challengePools.find(p => p.id === salt);
|
|
770
|
+
// We iterate every solution in the proof and MANUALLY verify the hash relationship
|
|
771
|
+
// bypassing the Service's validation logic to ensure the raw math holds up.
|
|
772
|
+
for (const solution of proof.solutions) {
|
|
773
|
+
// 1. Find the challenge in the *Previous* frame (Genesis)
|
|
774
|
+
const challenge = poolSnapshot.challenges[solution.challengeId];
|
|
775
|
+
if (!challenge) {
|
|
776
|
+
throw new Error(`Test Failure: Solution references ID ${solution.challengeId} which was not in Genesis pool.`);
|
|
777
|
+
}
|
|
778
|
+
// 2. Re-implement HashReveal V1 verification logic locally in the test
|
|
779
|
+
// Hash(Salt + Value + Salt)
|
|
780
|
+
// Note: rounds=1 in standard config
|
|
781
|
+
const indexSalt = solution.challengeId;
|
|
782
|
+
const calculatedHash = await hash({
|
|
783
|
+
s: `${indexSalt}${solution.value}${indexSalt}`,
|
|
784
|
+
algorithm: 'SHA-256'
|
|
785
|
+
});
|
|
786
|
+
// 3. Assert
|
|
787
|
+
iReckon(sir, calculatedHash).asTo(`Manual hash verification for ${solution.challengeId}`).willEqual(challenge.hash);
|
|
788
|
+
}
|
|
789
|
+
});
|
|
790
|
+
await ifWeMight(sir, 'verifies FIFO logic (Deterministic Selection)', async () => {
|
|
791
|
+
const proof = signedKeystone.data.proofs[0];
|
|
792
|
+
const poolSnapshot = genesisKeystone.data.challengePools.find(p => p.id === salt);
|
|
793
|
+
// The first N keys in the pool should be the FIFO targets.
|
|
794
|
+
// Assumption: Object.keys returns insertion order (Standard in modern JS engines)
|
|
795
|
+
const allIds = Object.keys(poolSnapshot.challenges);
|
|
796
|
+
const expectedFifoIds = allIds.slice(0, 2);
|
|
797
|
+
const solvedIds = proof.solutions.map(s => s.challengeId);
|
|
798
|
+
// Check that our solution list *includes* the expected FIFO IDs
|
|
799
|
+
const hasFirst = solvedIds.includes(expectedFifoIds[0]);
|
|
800
|
+
const hasSecond = solvedIds.includes(expectedFifoIds[1]);
|
|
801
|
+
iReckon(sir, hasFirst).asTo(`Solution includes 1st FIFO ID (${expectedFifoIds[0]})`).isGonnaBeTrue();
|
|
802
|
+
iReckon(sir, hasSecond).asTo(`Solution includes 2nd FIFO ID (${expectedFifoIds[1]})`).isGonnaBeTrue();
|
|
803
|
+
});
|
|
804
|
+
});
|
|
805
|
+
// await respecfully(sir, 'DTO & Serialization', async () => {
|
|
806
|
+
// await ifWeMight(sir, 'survives a clone/JSON-cycle without corruption', async () => {
|
|
807
|
+
// // 1. Create a DTO (simulate network transmission/storage)
|
|
808
|
+
// // 'clone' does a JSON stringify/parse under the hood (usually) or structured clone.
|
|
809
|
+
// const dto = clone(signedKeystone);
|
|
810
|
+
// // 2. Structural checks
|
|
811
|
+
// iReckon(sir, dto).asTo('dto exists').isGonnaBeTruthy();
|
|
812
|
+
// iReckon(sir, dto.data).asTo('dto data').isGonnaBeTruthy();
|
|
813
|
+
// iReckon(sir, dto.data!.proofs).asTo('dto proofs').isGonnaBeTruthy();
|
|
814
|
+
// // 3. Functional check: Can the service validate this DTO?
|
|
815
|
+
// // This ensures no prototypes or hidden properties were lost that the service depends on.
|
|
816
|
+
// const errors = await service.validate({
|
|
817
|
+
// prevIbGib: genesisKeystone,
|
|
818
|
+
// currentIbGib: dto, // Passing the DTO, not the original object
|
|
819
|
+
// });
|
|
820
|
+
// iReckon(sir, errors.length).asTo('DTO validation errors').willEqual(0);
|
|
821
|
+
// });
|
|
822
|
+
// await ifWeMight(sir, 'ensures data contains no functions or circular refs', async () => {
|
|
823
|
+
// // A crude but effective test: ensure JSON.stringify doesn't throw
|
|
824
|
+
// // and the result is equal to the object (if we parsed it back).
|
|
825
|
+
// const jsonStr = JSON.stringify(signedKeystone);
|
|
826
|
+
// const parsed = JSON.parse(jsonStr);
|
|
827
|
+
// // Compare specific deep fields
|
|
828
|
+
// const originalSolution = signedKeystone.data!.proofs[0].solutions[0].value;
|
|
829
|
+
// const parsedSolution = parsed.data.proofs[0].solutions[0].value;
|
|
830
|
+
// iReckon(sir, parsedSolution).asTo('deep property survives stringify').willEqual(originalSolution);
|
|
831
|
+
// // Ensure no extra properties were lost (rudimentary check)
|
|
832
|
+
// const origKeys = Object.keys(signedKeystone.data!);
|
|
833
|
+
// const parsedKeys = Object.keys(parsed.data);
|
|
834
|
+
// iReckon(sir, parsedKeys.length).asTo('key count matches').willEqual(origKeys.length);
|
|
835
|
+
// });
|
|
836
|
+
// });
|
|
837
|
+
});
|
|
460
838
|
//# sourceMappingURL=keystone-service-v1.respec.mjs.map
|
|
@@ -1 +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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"}
|
|
1
|
+
{"version":3,"file":"keystone-service-v1.respec.mjs","sourceRoot":"","sources":["../../src/keystone/keystone-service-v1.respec.mts"],"names":[],"mappings":"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"}
|
|
@@ -169,6 +169,28 @@ export interface KeystoneChallengePool {
|
|
|
169
169
|
bindingMap: {
|
|
170
170
|
[hexChar: string]: string[];
|
|
171
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;
|
|
172
194
|
}
|
|
173
195
|
/**
|
|
174
196
|
* Semantic intent.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keystone-types.d.mts","sourceRoot":"","sources":["../../src/keystone/keystone-types.mts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"keystone-types.d.mts","sourceRoot":"","sources":["../../src/keystone/keystone-types.mts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibgib/core-gib",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"description": "ibgib core functionality, including base architecture for witnesses, spaces, apps, robbots, etc., as well as shared utility functions. Node v19+ needed for heavily-used isomorphic webcrypto hashing consumed in both node and browsers.",
|
|
5
5
|
"funding": {
|
|
6
6
|
"type": "individual",
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import {
|
|
2
|
+
respecfully, iReckon, ifWe, firstOfAll, firstOfEach, lastOfAll, lastOfEach, respecfullyDear, ifWeMight
|
|
3
|
+
} from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
4
|
+
const maam = `[${import.meta.url}]`, sir = maam;
|
|
5
|
+
import { } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
6
|
+
|
|
7
|
+
import { GLOBAL_LOG_A_LOT } from '../core-constants.mjs';
|
|
8
|
+
import { KeystonePoolConfig_HashV1 } from './keystone-types.mjs';
|
|
9
|
+
import { createRevocationPoolConfig, createStandardPoolConfig } from './keystone-config-builder.mjs';
|
|
10
|
+
import { KEYSTONE_VERB_REVOKE, } from './keystone-constants.mjs';
|
|
11
|
+
|
|
12
|
+
const logalot = GLOBAL_LOG_A_LOT;
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
await respecfullyDear(sir, 'Config Builders', async () => {
|
|
16
|
+
|
|
17
|
+
await ifWeMight(sir, 'createStandardPoolConfig defaults are correct', async () => {
|
|
18
|
+
const config = createStandardPoolConfig("test_salt") as KeystonePoolConfig_HashV1;
|
|
19
|
+
|
|
20
|
+
iReckon(sir, config.salt).willEqual("test_salt");
|
|
21
|
+
iReckon(sir, config.id).willEqual("test_salt");
|
|
22
|
+
iReckon(sir, config.type).willEqual("hash-reveal-v1");
|
|
23
|
+
|
|
24
|
+
// Behavior check
|
|
25
|
+
const b = config.behavior;
|
|
26
|
+
iReckon(sir, b.size).willEqual(100);
|
|
27
|
+
iReckon(sir, b.selectSequentially).willEqual(2);
|
|
28
|
+
iReckon(sir, b.selectRandomly).willEqual(2);
|
|
29
|
+
iReckon(sir, b.replenish).willEqual("top-up");
|
|
30
|
+
|
|
31
|
+
// Verbs should be empty/undefined (permissive)
|
|
32
|
+
iReckon(sir, config.allowedVerbs.length).willEqual(0);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
await ifWeMight(sir, 'createRevocationPoolConfig defaults are correct', async () => {
|
|
36
|
+
const config = createRevocationPoolConfig("revoke_salt") as KeystonePoolConfig_HashV1;
|
|
37
|
+
|
|
38
|
+
iReckon(sir, config.salt).willEqual("revoke_salt");
|
|
39
|
+
|
|
40
|
+
// Behavior check
|
|
41
|
+
const b = config.behavior;
|
|
42
|
+
iReckon(sir, b.size).willEqual(500); // Higher security
|
|
43
|
+
iReckon(sir, b.replenish).willEqual("scorched-earth");
|
|
44
|
+
|
|
45
|
+
// Verbs should be restricted
|
|
46
|
+
iReckon(sir, config.allowedVerbs).includes(KEYSTONE_VERB_REVOKE);
|
|
47
|
+
iReckon(sir, config.allowedVerbs.length).willEqual(1);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -27,6 +27,8 @@ export const KeystoneVerb = {
|
|
|
27
27
|
* specifically adding or removing challenge pools.
|
|
28
28
|
*
|
|
29
29
|
* "Root access" to the identity.
|
|
30
|
+
*
|
|
31
|
+
* Basically, this is the verb for the "admin" pool.
|
|
30
32
|
*/
|
|
31
33
|
MANAGE: KEYSTONE_VERB_MANAGE,
|
|
32
34
|
} satisfies { [key: string]: KeystoneVerb };
|