@enbox/dwn-sdk-js 0.4.6 → 0.4.7
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 +3 -1
- package/dist/browser.mjs +19 -78
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/generated/precompiled-validators.js +1997 -1517
- package/dist/esm/generated/precompiled-validators.js.map +1 -1
- package/dist/esm/src/core/constants.js +50 -0
- package/dist/esm/src/core/constants.js.map +1 -1
- package/dist/esm/src/core/dwn-error.js +28 -11
- package/dist/esm/src/core/dwn-error.js.map +1 -1
- package/dist/esm/src/core/encryption-control.js +785 -0
- package/dist/esm/src/core/encryption-control.js.map +1 -0
- package/dist/esm/src/core/message.js +6 -0
- package/dist/esm/src/core/message.js.map +1 -1
- package/dist/esm/src/core/messages-grant-authorization.js +36 -5
- package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization-action.js +3 -12
- package/dist/esm/src/core/protocol-authorization-action.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization-validation.js +31 -30
- package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization.js +6 -0
- package/dist/esm/src/core/protocol-authorization.js.map +1 -1
- package/dist/esm/src/core/recording-validation-state-reader.js +3 -3
- package/dist/esm/src/core/recording-validation-state-reader.js.map +1 -1
- package/dist/esm/src/core/replication-apply.js +62 -108
- package/dist/esm/src/core/replication-apply.js.map +1 -1
- package/dist/esm/src/core/validation-state-reader.js +5 -6
- package/dist/esm/src/core/validation-state-reader.js.map +1 -1
- package/dist/esm/src/dwn.js +1 -2
- package/dist/esm/src/dwn.js.map +1 -1
- package/dist/esm/src/event-stream/event-emitter-wake-publisher.js +11 -11
- package/dist/esm/src/event-stream/event-emitter-wake-publisher.js.map +1 -1
- package/dist/esm/src/handlers/messages-query.js +6 -16
- package/dist/esm/src/handlers/messages-query.js.map +1 -1
- package/dist/esm/src/handlers/messages-read.js +4 -3
- package/dist/esm/src/handlers/messages-read.js.map +1 -1
- package/dist/esm/src/handlers/messages-subscribe.js +26 -30
- package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/protocols-configure.js +6 -4
- package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
- package/dist/esm/src/handlers/records-count.js +85 -10
- package/dist/esm/src/handlers/records-count.js.map +1 -1
- package/dist/esm/src/handlers/records-delete.js +11 -0
- package/dist/esm/src/handlers/records-delete.js.map +1 -1
- package/dist/esm/src/handlers/records-query.js +140 -18
- package/dist/esm/src/handlers/records-query.js.map +1 -1
- package/dist/esm/src/handlers/records-read.js +20 -4
- package/dist/esm/src/handlers/records-read.js.map +1 -1
- package/dist/esm/src/handlers/records-subscribe.js +127 -11
- package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/records-write.js +15 -0
- package/dist/esm/src/handlers/records-write.js.map +1 -1
- package/dist/esm/src/index.js +7 -10
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/interfaces/protocols-configure.js +66 -9
- package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
- package/dist/esm/src/interfaces/records-write.js +43 -36
- package/dist/esm/src/interfaces/records-write.js.map +1 -1
- package/dist/esm/src/jose/algorithms/signing/ed25519.js +5 -5
- package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -1
- package/dist/esm/src/jose/jws/general/verifier.js +1 -1
- package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
- package/dist/esm/src/protocols/encryption.js +32 -274
- package/dist/esm/src/protocols/encryption.js.map +1 -1
- package/dist/esm/src/store/blockstore-level.js +14 -23
- package/dist/esm/src/store/blockstore-level.js.map +1 -1
- package/dist/esm/src/store/blockstore-mock.js +10 -27
- package/dist/esm/src/store/blockstore-mock.js.map +1 -1
- package/dist/esm/src/store/blockstore-utils.js +45 -0
- package/dist/esm/src/store/blockstore-utils.js.map +1 -0
- package/dist/esm/src/store/blockstore.js +2 -0
- package/dist/esm/src/store/blockstore.js.map +1 -0
- package/dist/esm/src/store/data-store-level.js +4 -12
- package/dist/esm/src/store/data-store-level.js.map +1 -1
- package/dist/esm/src/store/level.js +7 -0
- package/dist/esm/src/store/level.js.map +1 -0
- package/dist/esm/src/types/encryption-types.js +4 -1
- package/dist/esm/src/types/encryption-types.js.map +1 -1
- package/dist/esm/src/utils/data-stream.js +25 -0
- package/dist/esm/src/utils/data-stream.js.map +1 -1
- package/dist/esm/src/utils/encryption.js +107 -19
- package/dist/esm/src/utils/encryption.js.map +1 -1
- package/dist/esm/src/utils/grant-key-coverage.js +180 -0
- package/dist/esm/src/utils/grant-key-coverage.js.map +1 -0
- package/dist/esm/src/utils/hd-key.js +1 -2
- package/dist/esm/src/utils/hd-key.js.map +1 -1
- package/dist/esm/src/utils/jws.js +7 -1
- package/dist/esm/src/utils/jws.js.map +1 -1
- package/dist/esm/src/utils/memory-cache.js +29 -8
- package/dist/esm/src/utils/memory-cache.js.map +1 -1
- package/dist/esm/src/utils/protocols.js +27 -0
- package/dist/esm/src/utils/protocols.js.map +1 -1
- package/dist/esm/src/utils/record-limit-occupancy.js +23 -3
- package/dist/esm/src/utils/record-limit-occupancy.js.map +1 -1
- package/dist/esm/src/utils/records.js +29 -0
- package/dist/esm/src/utils/records.js.map +1 -1
- package/dist/esm/src/utils/secp256k1.js +12 -11
- package/dist/esm/src/utils/secp256k1.js.map +1 -1
- package/dist/esm/src/utils/secp256r1.js +12 -20
- package/dist/esm/src/utils/secp256r1.js.map +1 -1
- package/dist/esm/src/utils/time.js +103 -25
- package/dist/esm/src/utils/time.js.map +1 -1
- package/dist/esm/tests/core/constants.spec.js +35 -0
- package/dist/esm/tests/core/constants.spec.js.map +1 -0
- package/dist/esm/tests/core/encryption-control.spec.js +100 -0
- package/dist/esm/tests/core/encryption-control.spec.js.map +1 -0
- package/dist/esm/tests/core/message.spec.js +35 -0
- package/dist/esm/tests/core/message.spec.js.map +1 -1
- package/dist/esm/tests/core/protocol-authorization.spec.js +1 -1
- package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
- package/dist/esm/tests/core/replication-apply.spec.js +157 -74
- package/dist/esm/tests/core/replication-apply.spec.js.map +1 -1
- package/dist/esm/tests/core/replication-replay-property.spec.js +2 -1
- package/dist/esm/tests/core/replication-replay-property.spec.js.map +1 -1
- package/dist/esm/tests/core/validation-read-closure.spec.js +14 -28
- package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -1
- package/dist/esm/tests/core/validation-state-reader.spec.js +19 -23
- package/dist/esm/tests/core/validation-state-reader.spec.js.map +1 -1
- package/dist/esm/tests/dwn.spec.js +2 -1
- package/dist/esm/tests/dwn.spec.js.map +1 -1
- package/dist/esm/tests/event-emitter-wake-publisher.spec.js +51 -0
- package/dist/esm/tests/event-emitter-wake-publisher.spec.js.map +1 -0
- package/dist/esm/tests/features/protocol-composition.spec.js +1 -1
- package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
- package/dist/esm/tests/features/records-record-limit.spec.js +1 -1
- package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/encryption.fuzz.spec.js +9 -1
- package/dist/esm/tests/fuzz/encryption.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/process-message.fuzz.spec.js +1 -1
- package/dist/esm/tests/fuzz/process-message.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/protocols-utils.fuzz.spec.js +29 -1
- package/dist/esm/tests/fuzz/protocols-utils.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/secp256k1.fuzz.spec.js +2 -2
- package/dist/esm/tests/fuzz/secp256k1.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/time.fuzz.spec.js +7 -1
- package/dist/esm/tests/fuzz/time.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-query.spec.js +123 -11
- package/dist/esm/tests/handlers/messages-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-read.spec.js +95 -0
- package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-subscribe.spec.js +90 -0
- package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/protocols-configure.spec.js +66 -0
- package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-count.spec.js +370 -0
- package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-delete.spec.js +70 -1
- package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-query.spec.js +562 -1
- package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-read.spec.js +140 -2
- package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-subscribe.spec.js +241 -1
- package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-write.spec.js +1187 -29
- package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/protocols-configure.spec.js +290 -2
- package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-write.spec.js +47 -5
- package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
- package/dist/esm/tests/protocols/encryption.spec.js +116 -472
- package/dist/esm/tests/protocols/encryption.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +13 -27
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
- package/dist/esm/tests/store/blockstore-level.spec.js +33 -10
- package/dist/esm/tests/store/blockstore-level.spec.js.map +1 -1
- package/dist/esm/tests/store/blockstore-mock.spec.js +31 -7
- package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
- package/dist/esm/tests/store/blockstore-utils.spec.js +115 -0
- package/dist/esm/tests/store/blockstore-utils.spec.js.map +1 -0
- package/dist/esm/tests/store/index-level.spec.js +3 -3
- package/dist/esm/tests/store/index-level.spec.js.map +1 -1
- package/dist/esm/tests/test-stores.js +2 -1
- package/dist/esm/tests/test-stores.js.map +1 -1
- package/dist/esm/tests/utils/cid.spec.js +15 -0
- package/dist/esm/tests/utils/cid.spec.js.map +1 -1
- package/dist/esm/tests/utils/data-stream.spec.js +30 -0
- package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption-control-test-utils.js +111 -0
- package/dist/esm/tests/utils/encryption-control-test-utils.js.map +1 -0
- package/dist/esm/tests/utils/encryption.spec.js +198 -5
- package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
- package/dist/esm/tests/utils/grant-key-coverage.spec.js +262 -0
- package/dist/esm/tests/utils/grant-key-coverage.spec.js.map +1 -0
- package/dist/esm/tests/utils/memory-cache.spec.js +12 -0
- package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -1
- package/dist/esm/tests/utils/secp256r1.spec.js +2 -2
- package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
- package/dist/esm/tests/utils/test-data-generator.js +2 -1
- package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
- package/dist/esm/tests/utils/test-validation-state-reader.js +1 -1
- package/dist/esm/tests/utils/test-validation-state-reader.js.map +1 -1
- package/dist/esm/tests/utils/time.spec.js +26 -0
- package/dist/esm/tests/utils/time.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/encryption/audience.spec.js +45 -0
- package/dist/esm/tests/validation/json-schemas/encryption/audience.spec.js.map +1 -0
- package/dist/esm/tests/validation/json-schemas/encryption/delivery.spec.js +47 -0
- package/dist/esm/tests/validation/json-schemas/encryption/delivery.spec.js.map +1 -0
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +152 -0
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +46 -1
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
- package/dist/types/generated/precompiled-validators.d.ts +4 -4
- package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
- package/dist/types/src/core/constants.d.ts +39 -0
- package/dist/types/src/core/constants.d.ts.map +1 -1
- package/dist/types/src/core/dwn-error.d.ts +28 -11
- package/dist/types/src/core/dwn-error.d.ts.map +1 -1
- package/dist/types/src/core/encryption-control.d.ts +128 -0
- package/dist/types/src/core/encryption-control.d.ts.map +1 -0
- package/dist/types/src/core/message.d.ts +4 -0
- package/dist/types/src/core/message.d.ts.map +1 -1
- package/dist/types/src/core/messages-grant-authorization.d.ts +11 -0
- package/dist/types/src/core/messages-grant-authorization.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
- package/dist/types/src/core/recording-validation-state-reader.d.ts +2 -3
- package/dist/types/src/core/recording-validation-state-reader.d.ts.map +1 -1
- package/dist/types/src/core/replication-apply.d.ts +10 -1
- package/dist/types/src/core/replication-apply.d.ts.map +1 -1
- package/dist/types/src/core/validation-state-reader.d.ts +2 -3
- package/dist/types/src/core/validation-state-reader.d.ts.map +1 -1
- package/dist/types/src/dwn.d.ts.map +1 -1
- package/dist/types/src/event-stream/event-emitter-wake-publisher.d.ts +1 -1
- package/dist/types/src/event-stream/event-emitter-wake-publisher.d.ts.map +1 -1
- package/dist/types/src/handlers/messages-query.d.ts.map +1 -1
- package/dist/types/src/handlers/messages-read.d.ts.map +1 -1
- package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
- package/dist/types/src/handlers/protocols-configure.d.ts +1 -0
- package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/handlers/records-count.d.ts +2 -0
- package/dist/types/src/handlers/records-count.d.ts.map +1 -1
- package/dist/types/src/handlers/records-delete.d.ts.map +1 -1
- package/dist/types/src/handlers/records-query.d.ts +3 -0
- package/dist/types/src/handlers/records-query.d.ts.map +1 -1
- package/dist/types/src/handlers/records-read.d.ts.map +1 -1
- package/dist/types/src/handlers/records-subscribe.d.ts +2 -0
- package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
- package/dist/types/src/handlers/records-write.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +10 -17
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/interfaces/protocols-configure.d.ts +13 -1
- package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-write.d.ts +5 -1
- package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
- package/dist/types/src/jose/algorithms/signing/ed25519.d.ts.map +1 -1
- package/dist/types/src/protocols/encryption.d.ts +2 -19
- package/dist/types/src/protocols/encryption.d.ts.map +1 -1
- package/dist/types/src/store/blockstore-level.d.ts +11 -11
- package/dist/types/src/store/blockstore-level.d.ts.map +1 -1
- package/dist/types/src/store/blockstore-mock.d.ts +12 -12
- package/dist/types/src/store/blockstore-mock.d.ts.map +1 -1
- package/dist/types/src/store/blockstore-utils.d.ts +23 -0
- package/dist/types/src/store/blockstore-utils.d.ts.map +1 -0
- package/dist/types/src/store/blockstore.d.ts +3 -0
- package/dist/types/src/store/blockstore.d.ts.map +1 -0
- package/dist/types/src/store/data-store-level.d.ts.map +1 -1
- package/dist/types/src/store/level.d.ts +13 -0
- package/dist/types/src/store/level.d.ts.map +1 -0
- package/dist/types/src/types/cache.d.ts +2 -2
- package/dist/types/src/types/cache.d.ts.map +1 -1
- package/dist/types/src/types/encryption-types.d.ts +31 -2
- package/dist/types/src/types/encryption-types.d.ts.map +1 -1
- package/dist/types/src/types/validation-state-reader.d.ts +3 -5
- package/dist/types/src/types/validation-state-reader.d.ts.map +1 -1
- package/dist/types/src/utils/data-stream.d.ts +5 -0
- package/dist/types/src/utils/data-stream.d.ts.map +1 -1
- package/dist/types/src/utils/encryption.d.ts +53 -24
- package/dist/types/src/utils/encryption.d.ts.map +1 -1
- package/dist/types/src/utils/grant-key-coverage.d.ts +36 -0
- package/dist/types/src/utils/grant-key-coverage.d.ts.map +1 -0
- package/dist/types/src/utils/hd-key.d.ts.map +1 -1
- package/dist/types/src/utils/jws.d.ts.map +1 -1
- package/dist/types/src/utils/memory-cache.d.ts +4 -2
- package/dist/types/src/utils/memory-cache.d.ts.map +1 -1
- package/dist/types/src/utils/protocols.d.ts +11 -0
- package/dist/types/src/utils/protocols.d.ts.map +1 -1
- package/dist/types/src/utils/record-limit-occupancy.d.ts +7 -0
- package/dist/types/src/utils/record-limit-occupancy.d.ts.map +1 -1
- package/dist/types/src/utils/records.d.ts +2 -0
- package/dist/types/src/utils/records.d.ts.map +1 -1
- package/dist/types/src/utils/secp256k1.d.ts.map +1 -1
- package/dist/types/src/utils/secp256r1.d.ts.map +1 -1
- package/dist/types/src/utils/time.d.ts +21 -13
- package/dist/types/src/utils/time.d.ts.map +1 -1
- package/dist/types/tests/core/constants.spec.d.ts +2 -0
- package/dist/types/tests/core/constants.spec.d.ts.map +1 -0
- package/dist/types/tests/core/encryption-control.spec.d.ts +2 -0
- package/dist/types/tests/core/encryption-control.spec.d.ts.map +1 -0
- package/dist/types/tests/dwn.spec.d.ts.map +1 -1
- package/dist/types/tests/event-emitter-wake-publisher.spec.d.ts +2 -0
- package/dist/types/tests/event-emitter-wake-publisher.spec.d.ts.map +1 -0
- package/dist/types/tests/handlers/messages-query.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/messages-read.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/protocols-configure.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
- package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts.map +1 -1
- package/dist/types/tests/store/blockstore-utils.spec.d.ts +2 -0
- package/dist/types/tests/store/blockstore-utils.spec.d.ts.map +1 -0
- package/dist/types/tests/test-stores.d.ts.map +1 -1
- package/dist/types/tests/utils/encryption-control-test-utils.d.ts +46 -0
- package/dist/types/tests/utils/encryption-control-test-utils.d.ts.map +1 -0
- package/dist/types/tests/utils/grant-key-coverage.spec.d.ts +2 -0
- package/dist/types/tests/utils/grant-key-coverage.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
- package/dist/types/tests/validation/json-schemas/encryption/audience.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/encryption/audience.spec.d.ts.map +1 -0
- package/dist/types/tests/validation/json-schemas/encryption/delivery.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/encryption/delivery.spec.d.ts.map +1 -0
- package/package.json +47 -28
- package/src/core/constants.ts +61 -0
- package/src/core/dwn-error.ts +28 -11
- package/src/core/encryption-control.ts +1249 -0
- package/src/core/message.ts +7 -0
- package/src/core/messages-grant-authorization.ts +60 -9
- package/src/core/protocol-authorization-action.ts +3 -13
- package/src/core/protocol-authorization-validation.ts +66 -46
- package/src/core/protocol-authorization.ts +7 -0
- package/src/core/recording-validation-state-reader.ts +4 -5
- package/src/core/replication-apply.ts +77 -133
- package/src/core/validation-state-reader.ts +6 -8
- package/src/dwn.ts +1 -2
- package/src/event-stream/event-emitter-wake-publisher.ts +10 -14
- package/src/handlers/messages-query.ts +6 -22
- package/src/handlers/messages-read.ts +4 -3
- package/src/handlers/messages-subscribe.ts +34 -30
- package/src/handlers/protocols-configure.ts +7 -4
- package/src/handlers/records-count.ts +111 -10
- package/src/handlers/records-delete.ts +15 -0
- package/src/handlers/records-query.ts +176 -20
- package/src/handlers/records-read.ts +19 -6
- package/src/handlers/records-subscribe.ts +158 -8
- package/src/handlers/records-write.ts +19 -0
- package/src/index.ts +48 -21
- package/src/interfaces/protocols-configure.ts +102 -11
- package/src/interfaces/records-write.ts +49 -43
- package/src/jose/algorithms/signing/ed25519.ts +7 -6
- package/src/jose/jws/general/verifier.ts +3 -3
- package/src/protocols/encryption.ts +50 -420
- package/src/store/blockstore-level.ts +33 -37
- package/src/store/blockstore-mock.ts +24 -38
- package/src/store/blockstore-utils.ts +85 -0
- package/src/store/blockstore.ts +8 -0
- package/src/store/data-store-level.ts +5 -12
- package/src/store/level.ts +19 -0
- package/src/types/cache.ts +3 -3
- package/src/types/encryption-types.ts +39 -2
- package/src/types/validation-state-reader.ts +3 -5
- package/src/utils/data-stream.ts +29 -1
- package/src/utils/encryption.ts +190 -60
- package/src/utils/grant-key-coverage.ts +303 -0
- package/src/utils/hd-key.ts +1 -2
- package/src/utils/jws.ts +8 -2
- package/src/utils/memory-cache.ts +42 -11
- package/src/utils/protocols.ts +32 -0
- package/src/utils/record-limit-occupancy.ts +34 -5
- package/src/utils/records.ts +36 -2
- package/src/utils/secp256k1.ts +12 -12
- package/src/utils/secp256r1.ts +12 -22
- package/src/utils/time.ts +145 -27
- package/dist/esm/tests/validation/json-schemas/encryption/audience-key.spec.js +0 -40
- package/dist/esm/tests/validation/json-schemas/encryption/audience-key.spec.js.map +0 -1
- package/dist/types/tests/validation/json-schemas/encryption/audience-key.spec.d.ts +0 -2
- package/dist/types/tests/validation/json-schemas/encryption/audience-key.spec.d.ts.map +0 -1
- package/src/types/mitt.d.ts +0 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockstore-mock.js","sourceRoot":"","sources":["../../../../src/store/blockstore-mock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blockstore-mock.js","sourceRoot":"","sources":["../../../../src/store/blockstore-mock.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAEzB,KAAK,CAAC,IAAI;IACV,CAAC;IAED,KAAK,CAAC,KAAK;IACX,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,IAAqB,EAAE,QAAiC;QAC1E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,CAAE,GAAG,CAAC,IAAS,EAAE,QAAiC;QACtD,MAAM,IAAI,UAAU,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAS,EAAE,QAAiC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAS,EAAE,QAAiC;QACvD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAiC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,CAAE,OAAO,CAAC,MAAmC,EAAE,OAAgC;QACnF,KAAM,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,CAAE,OAAO,CAAC,MAA6B,EAAE,OAAgC;QAC7E,KAAM,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,CAAE,MAAM,CAAC,QAAiC;QAC9C,KAAM,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAED,KAAK,CAAC,CAAE,UAAU,CAAC,MAA6B,EAAE,OAAgC;QAChF,KAAM,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;IACX,CAAC;CACF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export async function collectBlockstoreBytes(input) {
|
|
2
|
+
if (input instanceof Uint8Array) {
|
|
3
|
+
return input;
|
|
4
|
+
}
|
|
5
|
+
const chunks = [];
|
|
6
|
+
let byteLength = 0;
|
|
7
|
+
for await (const chunk of input) {
|
|
8
|
+
chunks.push(chunk);
|
|
9
|
+
byteLength += chunk.byteLength;
|
|
10
|
+
}
|
|
11
|
+
if (chunks.length === 1) {
|
|
12
|
+
return chunks[0];
|
|
13
|
+
}
|
|
14
|
+
const bytes = new Uint8Array(byteLength);
|
|
15
|
+
let offset = 0;
|
|
16
|
+
for (const chunk of chunks) {
|
|
17
|
+
bytes.set(chunk, offset);
|
|
18
|
+
offset += chunk.byteLength;
|
|
19
|
+
}
|
|
20
|
+
return bytes;
|
|
21
|
+
}
|
|
22
|
+
export async function* yieldBlockstoreBytes(bytes) {
|
|
23
|
+
yield bytes;
|
|
24
|
+
}
|
|
25
|
+
export async function* putManyBlockstoreItems(blockstore, source, options) {
|
|
26
|
+
for await (const entry of source) {
|
|
27
|
+
await blockstore.put(entry.cid, entry.bytes, options);
|
|
28
|
+
yield entry.cid;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export async function* getManyBlockstoreItems(blockstore, source, options) {
|
|
32
|
+
for await (const key of source) {
|
|
33
|
+
yield {
|
|
34
|
+
cid: key,
|
|
35
|
+
bytes: blockstore.get(key, options),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export async function* deleteManyBlockstoreItems(blockstore, source, options) {
|
|
40
|
+
for await (const key of source) {
|
|
41
|
+
await blockstore.delete(key, options);
|
|
42
|
+
yield key;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=blockstore-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockstore-utils.js","sourceRoot":"","sources":["../../../../src/store/blockstore-utils.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAsB;IACjE,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;IACjC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC7B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAAC,KAAiB;IAC3D,MAAM,KAAK,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,sBAAsB,CAC3C,UAAiC,EACjC,MAAmC,EACnC,OAAgC;IAEhC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,MAAM,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,KAAK,CAAC,GAAG,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,sBAAsB,CAC3C,UAAiC,EACjC,MAA6B,EAC7B,OAAgC;IAEhC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM;YACJ,GAAG,EAAK,GAAG;YACX,KAAK,EAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC;SACrC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,yBAAyB,CAC9C,UAAoC,EACpC,MAA6B,EAC7B,OAAgC;IAEhC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEtC,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockstore.js","sourceRoot":"","sources":["../../../../src/store/blockstore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC"}
|
|
@@ -94,18 +94,10 @@ export class DataStoreLevel {
|
|
|
94
94
|
}
|
|
95
95
|
// Data is chunked into DAG-PB UnixFS blocks. Re-inflate the chunks.
|
|
96
96
|
const dataDagRoot = await exporter(dataCid, blocksPartition);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if (result.done) {
|
|
102
|
-
controller.close();
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
controller.enqueue(result.value);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
});
|
|
97
|
+
if (dataDagRoot.type !== 'file' && dataDagRoot.type !== 'raw' && dataDagRoot.type !== 'identity') {
|
|
98
|
+
throw new Error(`DataStoreLevel: Expected UnixFS file content for '${dataCid}', got '${dataDagRoot.type}'.`);
|
|
99
|
+
}
|
|
100
|
+
const dataStream = DataStream.fromAsyncIterable(dataDagRoot.content());
|
|
109
101
|
return { dataSize, dataStream };
|
|
110
102
|
}
|
|
111
103
|
async delete(tenant, recordId, dataCid) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-store-level.js","sourceRoot":"","sources":["../../../../src/store/data-store-level.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data-store-level.js","sourceRoot":"","sources":["../../../../src/store/data-store-level.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { BlockstoreLevel } from './blockstore-level.js';
|
|
2
|
+
export { DataStoreLevel } from './data-store-level.js';
|
|
3
|
+
export { IndexLevel } from './index-level.js';
|
|
4
|
+
export { createLevelDatabase, LevelWrapper } from './level-wrapper.js';
|
|
5
|
+
export { MessageStoreLevel } from './message-store-level.js';
|
|
6
|
+
export { ResumableTaskStoreLevel } from './resumable-task-store-level.js';
|
|
7
|
+
//# sourceMappingURL=level.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level.js","sourceRoot":"","sources":["../../../../src/store/level.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
export
|
|
1
|
+
export var EncryptionControlDeliveryRecipientAuthority;
|
|
2
|
+
(function (EncryptionControlDeliveryRecipientAuthority) {
|
|
3
|
+
EncryptionControlDeliveryRecipientAuthority["RoleHolder"] = "roleHolder";
|
|
4
|
+
})(EncryptionControlDeliveryRecipientAuthority || (EncryptionControlDeliveryRecipientAuthority = {}));
|
|
2
5
|
//# sourceMappingURL=encryption-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption-types.js","sourceRoot":"","sources":["../../../../src/types/encryption-types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"encryption-types.js","sourceRoot":"","sources":["../../../../src/types/encryption-types.ts"],"names":[],"mappings":"AAcA,MAAM,CAAN,IAAY,2CAEX;AAFD,WAAY,2CAA2C;IACrD,wEAAyB,CAAA;AAC3B,CAAC,EAFW,2CAA2C,KAA3C,2CAA2C,QAEtD"}
|
|
@@ -68,6 +68,26 @@ export class DataStream {
|
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Adapts an iterable or async iterable of byte chunks into a Web ReadableStream.
|
|
73
|
+
*/
|
|
74
|
+
static fromAsyncIterable(iterable) {
|
|
75
|
+
const iterator = DataStream.toAsyncGenerator(iterable);
|
|
76
|
+
return new ReadableStream({
|
|
77
|
+
async pull(controller) {
|
|
78
|
+
const result = await iterator.next();
|
|
79
|
+
if (result.done) {
|
|
80
|
+
controller.close();
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
controller.enqueue(result.value);
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
async cancel() {
|
|
87
|
+
await iterator.return(undefined);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
71
91
|
/**
|
|
72
92
|
* Creates a readable stream from the object given.
|
|
73
93
|
*/
|
|
@@ -98,6 +118,11 @@ export class DataStream {
|
|
|
98
118
|
reader.releaseLock();
|
|
99
119
|
}
|
|
100
120
|
}
|
|
121
|
+
static async *toAsyncGenerator(iterable) {
|
|
122
|
+
for await (const item of iterable) {
|
|
123
|
+
yield item;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
101
126
|
/**
|
|
102
127
|
* Duplicates the given data stream into the number of streams specified so that multiple handlers can consume the same data stream.
|
|
103
128
|
* Uses the native `ReadableStream.tee()` method for 2 copies, or a custom fan-out for N copies.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-stream.js","sourceRoot":"","sources":["../../../../src/utils/data-stream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-stream.js","sourceRoot":"","sources":["../../../../src/utils/data-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { concatBytes } from '@noble/ciphers/utils';
|
|
2
1
|
import { AesCtr, AesKw, computeJwkThumbprint, Hkdf, X25519 } from '@enbox/crypto';
|
|
3
2
|
import { Encoder } from './encoder.js';
|
|
4
3
|
import { KeyDerivationScheme } from './hd-key.js';
|
|
@@ -12,10 +11,21 @@ export var KeyAgreementAlgorithm;
|
|
|
12
11
|
KeyAgreementAlgorithm["X25519HkdfSha256A256Kw"] = "X25519-HKDF-SHA256+A256KW";
|
|
13
12
|
})(KeyAgreementAlgorithm || (KeyAgreementAlgorithm = {}));
|
|
14
13
|
export const ROLE_AUDIENCE_DERIVATION_SCHEME = 'roleAudience';
|
|
14
|
+
export const SEAL_DERIVATION_SCHEME = 'seal';
|
|
15
15
|
const AES_256_KEY_LENGTH_BYTES = 32;
|
|
16
16
|
const AES_CTR_COUNTER_LENGTH_BYTES = 16;
|
|
17
17
|
const AES_CTR_COUNTER_LENGTH_BITS = 128;
|
|
18
18
|
const KEK_INFO_PREFIX = KeyAgreementAlgorithm.X25519HkdfSha256A256Kw;
|
|
19
|
+
function concatBytes(...arrays) {
|
|
20
|
+
const byteLength = arrays.reduce((total, array) => total + array.byteLength, 0);
|
|
21
|
+
const result = new Uint8Array(byteLength);
|
|
22
|
+
let offset = 0;
|
|
23
|
+
for (const array of arrays) {
|
|
24
|
+
result.set(array, offset);
|
|
25
|
+
offset += array.byteLength;
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
19
29
|
export class Encryption {
|
|
20
30
|
static async encrypt(algorithm, keyBytes, initializationVector, plaintext) {
|
|
21
31
|
Encryption.validateContentEncryptionParameters(algorithm, keyBytes, initializationVector);
|
|
@@ -45,28 +55,79 @@ export class Encryption {
|
|
|
45
55
|
const plaintext = await Encryption.decrypt(algorithm, keyBytes, initializationVector, ciphertext);
|
|
46
56
|
return Encryption.toStream(plaintext);
|
|
47
57
|
}
|
|
48
|
-
static async wrapKey(
|
|
49
|
-
|
|
58
|
+
static async wrapKey(input) {
|
|
59
|
+
if (Encryption.isX25519KeyAgreementAlgorithm(input.keyInput.algorithm)) {
|
|
60
|
+
return Encryption.wrapX25519Key(input);
|
|
61
|
+
}
|
|
62
|
+
throw new Error(Encryption.unsupportedKeyAgreementAlgorithmMessage(input.keyInput.algorithm));
|
|
63
|
+
}
|
|
64
|
+
static async wrapSeal(input) {
|
|
65
|
+
if (!Encryption.isX25519KeyAgreementAlgorithm(input.keyInput.algorithm)) {
|
|
66
|
+
throw new Error(Encryption.unsupportedKeyAgreementAlgorithmMessage(input.keyInput.algorithm));
|
|
67
|
+
}
|
|
68
|
+
Encryption.validateContentEncryptionKey(input.privateKeyBytes);
|
|
69
|
+
const privateKey = input.ephemeralPrivateKey ?? await X25519.generateKey();
|
|
70
|
+
const publicKey = await X25519.getPublicKey({ key: privateKey });
|
|
71
|
+
const sharedSecret = await X25519.sharedSecret({
|
|
72
|
+
privateKeyA: privateKey,
|
|
73
|
+
publicKeyB: input.keyInput.publicKey,
|
|
74
|
+
});
|
|
75
|
+
const kek = await Encryption.deriveKek(sharedSecret, input.keyInput);
|
|
76
|
+
const unwrappedKey = await AesKw.bytesToPrivateKey({ privateKeyBytes: input.privateKeyBytes });
|
|
77
|
+
const encryptedKey = await AesKw.wrapKey({
|
|
78
|
+
encryptionKey: Encryption.toA256KwJwk(kek),
|
|
79
|
+
unwrappedKey,
|
|
80
|
+
});
|
|
81
|
+
return {
|
|
82
|
+
algorithm: input.keyInput.algorithm,
|
|
83
|
+
derivationScheme: SEAL_DERIVATION_SCHEME,
|
|
84
|
+
encryptedKey: Encoder.bytesToBase64Url(encryptedKey),
|
|
85
|
+
ephemeralPublicKey: publicKey,
|
|
86
|
+
keyId: input.keyInput.keyId,
|
|
87
|
+
};
|
|
50
88
|
}
|
|
51
|
-
static async wrapX25519Key(
|
|
52
|
-
Encryption.validateContentEncryptionKey(cek);
|
|
53
|
-
const privateKey = ephemeralPrivateKey ?? await X25519.generateKey();
|
|
89
|
+
static async wrapX25519Key(input) {
|
|
90
|
+
Encryption.validateContentEncryptionKey(input.cek);
|
|
91
|
+
const privateKey = input.ephemeralPrivateKey ?? await X25519.generateKey();
|
|
54
92
|
const publicKey = await X25519.getPublicKey({ key: privateKey });
|
|
55
93
|
const sharedSecret = await X25519.sharedSecret({
|
|
56
94
|
privateKeyA: privateKey,
|
|
57
|
-
publicKeyB:
|
|
95
|
+
publicKeyB: input.keyInput.publicKey,
|
|
58
96
|
});
|
|
59
|
-
const kek = await Encryption.deriveKek(sharedSecret, keyInput);
|
|
60
|
-
const cekJwk = Encryption.toA256CtrJwk(cek);
|
|
97
|
+
const kek = await Encryption.deriveKek(sharedSecret, input.keyInput);
|
|
98
|
+
const cekJwk = Encryption.toA256CtrJwk(input.cek);
|
|
61
99
|
const kekJwk = { alg: 'A256KW', k: Encoder.bytesToBase64Url(kek), kty: 'oct' };
|
|
62
100
|
const encryptedKey = await AesKw.wrapKey({ encryptionKey: kekJwk, unwrappedKey: cekJwk });
|
|
63
101
|
return { encryptedKey, ephemeralPublicKey: publicKey };
|
|
64
102
|
}
|
|
65
103
|
static async unwrapKey(recipientPrivateKey, keyEncryption) {
|
|
66
|
-
if (keyEncryption.algorithm
|
|
104
|
+
if (Encryption.isX25519KeyAgreementAlgorithm(keyEncryption.algorithm)) {
|
|
67
105
|
return Encryption.unwrapX25519Key(recipientPrivateKey, keyEncryption);
|
|
68
106
|
}
|
|
69
|
-
throw new Error(
|
|
107
|
+
throw new Error(Encryption.unsupportedKeyAgreementAlgorithmMessage(keyEncryption.algorithm));
|
|
108
|
+
}
|
|
109
|
+
static async unwrapSeal(input) {
|
|
110
|
+
if (!Encryption.isX25519KeyAgreementAlgorithm(input.seal.algorithm)) {
|
|
111
|
+
throw new Error(Encryption.unsupportedKeyAgreementAlgorithmMessage(input.seal.algorithm));
|
|
112
|
+
}
|
|
113
|
+
const keyEncryption = {
|
|
114
|
+
...input.seal,
|
|
115
|
+
audienceKeyId: input.audienceKeyId,
|
|
116
|
+
contextId: input.contextId,
|
|
117
|
+
protocol: input.protocol,
|
|
118
|
+
rolePath: input.rolePath,
|
|
119
|
+
};
|
|
120
|
+
const sharedSecret = await X25519.sharedSecret({
|
|
121
|
+
privateKeyA: input.recipientPrivateKey,
|
|
122
|
+
publicKeyB: input.seal.ephemeralPublicKey,
|
|
123
|
+
});
|
|
124
|
+
const kek = await Encryption.deriveKek(sharedSecret, keyEncryption);
|
|
125
|
+
const unwrappedKey = await AesKw.unwrapKey({
|
|
126
|
+
decryptionKey: Encryption.toA256KwJwk(kek),
|
|
127
|
+
wrappedKeyAlgorithm: 'A256KW',
|
|
128
|
+
wrappedKeyBytes: Encoder.base64UrlToBytes(input.seal.encryptedKey),
|
|
129
|
+
});
|
|
130
|
+
return AesKw.privateKeyToBytes({ privateKey: unwrappedKey });
|
|
70
131
|
}
|
|
71
132
|
static async unwrapX25519Key(recipientPrivateKey, keyEncryption) {
|
|
72
133
|
const sharedSecret = await X25519.sharedSecret({
|
|
@@ -108,9 +169,12 @@ export class Encryption {
|
|
|
108
169
|
}
|
|
109
170
|
}
|
|
110
171
|
static async buildKeyEncryptionEntry(cek, keyInput) {
|
|
111
|
-
const { encryptedKey, ephemeralPublicKey } = await Encryption.wrapKey(
|
|
172
|
+
const { encryptedKey, ephemeralPublicKey } = await Encryption.wrapKey({
|
|
173
|
+
cek,
|
|
174
|
+
keyInput,
|
|
175
|
+
});
|
|
112
176
|
const common = {
|
|
113
|
-
algorithm:
|
|
177
|
+
algorithm: keyInput.algorithm,
|
|
114
178
|
encryptedKey: Encoder.bytesToBase64Url(encryptedKey),
|
|
115
179
|
ephemeralPublicKey,
|
|
116
180
|
keyId: keyInput.keyId,
|
|
@@ -124,17 +188,16 @@ export class Encryption {
|
|
|
124
188
|
return {
|
|
125
189
|
...common,
|
|
126
190
|
derivationScheme: ROLE_AUDIENCE_DERIVATION_SCHEME,
|
|
127
|
-
epoch: keyInput.epoch,
|
|
128
191
|
protocol: keyInput.protocol,
|
|
129
|
-
|
|
192
|
+
rolePath: keyInput.rolePath,
|
|
130
193
|
};
|
|
131
194
|
}
|
|
132
195
|
static validateKeyEncryptionEntry(entry) {
|
|
133
|
-
if (entry.algorithm
|
|
196
|
+
if (Encryption.isX25519KeyAgreementAlgorithm(entry.algorithm)) {
|
|
134
197
|
Encryption.validateX25519KeyEncryptionEntry(entry);
|
|
135
198
|
return;
|
|
136
199
|
}
|
|
137
|
-
throw new DwnError(DwnErrorCode.RecordsWriteValidateIntegrityEncryptionEphemeralPublicKeyInvalid,
|
|
200
|
+
throw new DwnError(DwnErrorCode.RecordsWriteValidateIntegrityEncryptionEphemeralPublicKeyInvalid, Encryption.unsupportedKeyAgreementAlgorithmMessage(entry.algorithm));
|
|
138
201
|
}
|
|
139
202
|
static validateX25519KeyEncryptionEntry(entry) {
|
|
140
203
|
if (entry.ephemeralPublicKey.kty !== 'OKP' || entry.ephemeralPublicKey.crv !== 'X25519') {
|
|
@@ -153,10 +216,26 @@ export class Encryption {
|
|
|
153
216
|
});
|
|
154
217
|
}
|
|
155
218
|
static getKekInfo(keyEncryption) {
|
|
219
|
+
if (keyEncryption.derivationScheme === SEAL_DERIVATION_SCHEME) {
|
|
220
|
+
return JSON.stringify([
|
|
221
|
+
KEK_INFO_PREFIX,
|
|
222
|
+
SEAL_DERIVATION_SCHEME,
|
|
223
|
+
keyEncryption.protocol,
|
|
224
|
+
keyEncryption.rolePath,
|
|
225
|
+
keyEncryption.contextId,
|
|
226
|
+
keyEncryption.audienceKeyId,
|
|
227
|
+
]);
|
|
228
|
+
}
|
|
156
229
|
if (keyEncryption.derivationScheme === ROLE_AUDIENCE_DERIVATION_SCHEME) {
|
|
157
|
-
return
|
|
230
|
+
return JSON.stringify([
|
|
231
|
+
KEK_INFO_PREFIX,
|
|
232
|
+
ROLE_AUDIENCE_DERIVATION_SCHEME,
|
|
233
|
+
keyEncryption.protocol,
|
|
234
|
+
keyEncryption.rolePath,
|
|
235
|
+
keyEncryption.keyId,
|
|
236
|
+
]);
|
|
158
237
|
}
|
|
159
|
-
return
|
|
238
|
+
return JSON.stringify([KEK_INFO_PREFIX, KeyDerivationScheme.ProtocolPath, keyEncryption.keyId]);
|
|
160
239
|
}
|
|
161
240
|
static validateContentEncryptionParameters(algorithm, keyBytes, initializationVector) {
|
|
162
241
|
if (algorithm !== ContentEncryptionAlgorithm.A256CTR) {
|
|
@@ -177,9 +256,18 @@ export class Encryption {
|
|
|
177
256
|
throw new Error('X25519 shared secret MUST NOT be all zeros.');
|
|
178
257
|
}
|
|
179
258
|
}
|
|
259
|
+
static isX25519KeyAgreementAlgorithm(algorithm) {
|
|
260
|
+
return algorithm === KeyAgreementAlgorithm.X25519HkdfSha256A256Kw;
|
|
261
|
+
}
|
|
262
|
+
static unsupportedKeyAgreementAlgorithmMessage(algorithm) {
|
|
263
|
+
return `Unsupported key agreement algorithm: ${String(algorithm)}`;
|
|
264
|
+
}
|
|
180
265
|
static toA256CtrJwk(keyBytes) {
|
|
181
266
|
return { alg: ContentEncryptionAlgorithm.A256CTR, k: Encoder.bytesToBase64Url(keyBytes), kty: 'oct' };
|
|
182
267
|
}
|
|
268
|
+
static toA256KwJwk(keyBytes) {
|
|
269
|
+
return { alg: 'A256KW', k: Encoder.bytesToBase64Url(keyBytes), kty: 'oct' };
|
|
270
|
+
}
|
|
183
271
|
static async readStream(stream) {
|
|
184
272
|
const reader = stream.getReader();
|
|
185
273
|
const chunks = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../../src/utils/encryption.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../../src/utils/encryption.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { KeyDerivationScheme } from './hd-key.js';
|
|
2
|
+
import { ProtocolAction } from '../types/protocols-types.js';
|
|
3
|
+
import { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
|
|
4
|
+
import { getRuleSetAtPath, parseCrossProtocolRef } from './protocols.js';
|
|
5
|
+
const grantKeyRecordsMethods = new Set([
|
|
6
|
+
DwnMethodName.Read,
|
|
7
|
+
DwnMethodName.Write,
|
|
8
|
+
]);
|
|
9
|
+
const grantKeyDeliveryScopeBuilders = {
|
|
10
|
+
[DwnMethodName.Read]: getReadGrantKeyDeliveryScopes,
|
|
11
|
+
[DwnMethodName.Write]: getWriteGrantKeyDeliveryScopes,
|
|
12
|
+
};
|
|
13
|
+
const grantKeyCoveragePredicates = {
|
|
14
|
+
[DwnMethodName.Read]: readGrantKeyScopeCoversDeliveredScope,
|
|
15
|
+
[DwnMethodName.Write]: writeGrantKeyScopeCoversDeliveredScope,
|
|
16
|
+
};
|
|
17
|
+
export function isGrantKeyRecordsScope(scope) {
|
|
18
|
+
const maybeProtocol = scope.protocol;
|
|
19
|
+
return [
|
|
20
|
+
scope.interface === DwnInterfaceName.Records,
|
|
21
|
+
grantKeyRecordsMethods.has(scope.method),
|
|
22
|
+
typeof maybeProtocol === 'string',
|
|
23
|
+
].every(Boolean);
|
|
24
|
+
}
|
|
25
|
+
export function isGrantKeyEligibleRecordsScope(scope) {
|
|
26
|
+
return isGrantKeyRecordsScope(scope) &&
|
|
27
|
+
!('contextId' in scope && scope.contextId !== undefined);
|
|
28
|
+
}
|
|
29
|
+
export function getGrantKeyDeliveryScopes(grantScope, protocolDefinition) {
|
|
30
|
+
return uniqueGrantKeyScopes(grantKeyDeliveryScopeBuilders[grantScope.method](grantScope, protocolDefinition));
|
|
31
|
+
}
|
|
32
|
+
export function grantKeyScopeCoversDeliveredScope(input) {
|
|
33
|
+
const { grantScope, deliveredScope, protocolDefinition } = input;
|
|
34
|
+
if (grantScope.protocol !== deliveredScope.protocol) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return grantKeyCoveragePredicates[grantScope.method]({ grantScope, deliveredScope, protocolDefinition });
|
|
38
|
+
}
|
|
39
|
+
function getReadGrantKeyDeliveryScopes(grantScope, protocolDefinition) {
|
|
40
|
+
if (grantScope.protocolPath === undefined) {
|
|
41
|
+
return [createProtocolGrantKeyScope(grantScope.protocol)];
|
|
42
|
+
}
|
|
43
|
+
const scopes = [
|
|
44
|
+
createProtocolPathGrantKeyScope(grantScope.protocol, grantScope.protocolPath),
|
|
45
|
+
];
|
|
46
|
+
if (protocolDefinition === undefined) {
|
|
47
|
+
return scopes;
|
|
48
|
+
}
|
|
49
|
+
for (const rolePath of getGrantKeyReadRolePathsForScope(protocolDefinition, grantScope.protocolPath)) {
|
|
50
|
+
scopes.push(createProtocolPathGrantKeyScope(grantScope.protocol, rolePath));
|
|
51
|
+
}
|
|
52
|
+
return scopes;
|
|
53
|
+
}
|
|
54
|
+
function getWriteGrantKeyDeliveryScopes(grantScope, protocolDefinition) {
|
|
55
|
+
if (protocolDefinition === undefined) {
|
|
56
|
+
throw new Error('getGrantKeyDeliveryScopes: write grants require a protocol definition.');
|
|
57
|
+
}
|
|
58
|
+
return getGrantKeyRolePathsCoveredByScope(protocolDefinition, grantScope.protocolPath)
|
|
59
|
+
.map((rolePath) => createProtocolPathGrantKeyScope(grantScope.protocol, rolePath));
|
|
60
|
+
}
|
|
61
|
+
function createProtocolGrantKeyScope(protocol) {
|
|
62
|
+
return {
|
|
63
|
+
scheme: KeyDerivationScheme.ProtocolPath,
|
|
64
|
+
protocol,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function createProtocolPathGrantKeyScope(protocol, protocolPath) {
|
|
68
|
+
return {
|
|
69
|
+
scheme: KeyDerivationScheme.ProtocolPath,
|
|
70
|
+
protocol,
|
|
71
|
+
protocolPath,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function readGrantKeyScopeCoversDeliveredScope(input) {
|
|
75
|
+
const { grantScope, deliveredScope, protocolDefinition } = input;
|
|
76
|
+
const grantProtocolPath = grantScope.protocolPath;
|
|
77
|
+
if (grantProtocolPath === undefined) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
const deliveredProtocolPath = deliveredScope.protocolPath;
|
|
81
|
+
if (deliveredProtocolPath === undefined) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
if (isBoundaryAwareSubtree(grantProtocolPath, deliveredProtocolPath)) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
if (protocolDefinition === undefined) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
return grantKeyReadScopeReferencesRolePath(protocolDefinition, grantProtocolPath, deliveredProtocolPath);
|
|
91
|
+
}
|
|
92
|
+
function writeGrantKeyScopeCoversDeliveredScope(input) {
|
|
93
|
+
const { grantScope, deliveredScope, protocolDefinition } = input;
|
|
94
|
+
const deliveredProtocolPath = deliveredScope.protocolPath;
|
|
95
|
+
if (deliveredProtocolPath === undefined) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
if (protocolDefinition === undefined) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
if (!isGrantKeyLocalRolePath(protocolDefinition, deliveredProtocolPath)) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
const grantProtocolPath = grantScope.protocolPath;
|
|
105
|
+
if (grantProtocolPath === undefined) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
return isBoundaryAwareSubtree(grantProtocolPath, deliveredProtocolPath);
|
|
109
|
+
}
|
|
110
|
+
function getGrantKeyReadRolePathsForScope(protocolDefinition, scopeProtocolPath) {
|
|
111
|
+
const scopedRuleSet = getRuleSetAtPath(scopeProtocolPath, protocolDefinition.structure);
|
|
112
|
+
if (scopedRuleSet === undefined) {
|
|
113
|
+
return [];
|
|
114
|
+
}
|
|
115
|
+
return [...collectReadRolePaths(protocolDefinition, scopedRuleSet)];
|
|
116
|
+
}
|
|
117
|
+
function grantKeyReadScopeReferencesRolePath(protocolDefinition, scopeProtocolPath, rolePath) {
|
|
118
|
+
if (!isGrantKeyLocalRolePath(protocolDefinition, rolePath)) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
return getGrantKeyReadRolePathsForScope(protocolDefinition, scopeProtocolPath).includes(rolePath);
|
|
122
|
+
}
|
|
123
|
+
function collectReadRolePaths(protocolDefinition, ruleSet) {
|
|
124
|
+
const rolePaths = new Set();
|
|
125
|
+
for (const actionRule of ruleSet.$actions ?? []) {
|
|
126
|
+
if (!actionRule.can.includes(ProtocolAction.Read) || actionRule.role === undefined || parseCrossProtocolRef(actionRule.role) !== undefined) {
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
if (isGrantKeyLocalRolePath(protocolDefinition, actionRule.role)) {
|
|
130
|
+
rolePaths.add(actionRule.role);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
for (const [key, value] of Object.entries(ruleSet)) {
|
|
134
|
+
if (key.startsWith('$')) {
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
for (const rolePath of collectReadRolePaths(protocolDefinition, value)) {
|
|
138
|
+
rolePaths.add(rolePath);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return rolePaths;
|
|
142
|
+
}
|
|
143
|
+
function getGrantKeyRolePathsCoveredByScope(protocolDefinition, scopeProtocolPath) {
|
|
144
|
+
return collectRolePaths(protocolDefinition, protocolDefinition.structure)
|
|
145
|
+
.filter((rolePath) => scopeProtocolPath === undefined || isBoundaryAwareSubtree(scopeProtocolPath, rolePath));
|
|
146
|
+
}
|
|
147
|
+
function collectRolePaths(protocolDefinition, ruleSet, parentPath = []) {
|
|
148
|
+
const rolePaths = [];
|
|
149
|
+
for (const [key, value] of Object.entries(ruleSet)) {
|
|
150
|
+
if (key.startsWith('$')) {
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
const path = [...parentPath, key];
|
|
154
|
+
const protocolPath = path.join('/');
|
|
155
|
+
const childRuleSet = value;
|
|
156
|
+
if (isGrantKeyLocalRolePath(protocolDefinition, protocolPath)) {
|
|
157
|
+
rolePaths.push(protocolPath);
|
|
158
|
+
}
|
|
159
|
+
rolePaths.push(...collectRolePaths(protocolDefinition, childRuleSet, path));
|
|
160
|
+
}
|
|
161
|
+
return rolePaths;
|
|
162
|
+
}
|
|
163
|
+
function isGrantKeyLocalRolePath(protocolDefinition, protocolPath) {
|
|
164
|
+
const ruleSet = getRuleSetAtPath(protocolPath, protocolDefinition.structure);
|
|
165
|
+
return ruleSet?.$role === true && ruleSet.$keyAgreement !== undefined;
|
|
166
|
+
}
|
|
167
|
+
function isBoundaryAwareSubtree(scopePath, candidatePath) {
|
|
168
|
+
return `${candidatePath}/`.startsWith(`${scopePath}/`);
|
|
169
|
+
}
|
|
170
|
+
function getGrantKeyScopeCacheKey(scope) {
|
|
171
|
+
return JSON.stringify([scope.protocol, scope.protocolPath]);
|
|
172
|
+
}
|
|
173
|
+
function uniqueGrantKeyScopes(scopes) {
|
|
174
|
+
const deliveredScopes = new Map();
|
|
175
|
+
for (const scope of scopes) {
|
|
176
|
+
deliveredScopes.set(getGrantKeyScopeCacheKey(scope), scope);
|
|
177
|
+
}
|
|
178
|
+
return [...deliveredScopes.values()];
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=grant-key-coverage.js.map
|