@enbox/dwn-sdk-js 0.0.2 → 0.0.3
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 +52 -301
- package/dist/bundles/dwn.js +19 -21
- package/dist/esm/generated/precompiled-validators.js +2764 -1773
- package/dist/esm/generated/precompiled-validators.js.map +1 -1
- package/dist/esm/src/core/dwn-error.js +27 -3
- package/dist/esm/src/core/dwn-error.js.map +1 -1
- package/dist/esm/src/core/message.js.map +1 -1
- package/dist/esm/src/core/messages-grant-authorization.js +17 -6
- package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization.js +245 -69
- package/dist/esm/src/core/protocol-authorization.js.map +1 -1
- package/dist/esm/src/core/resumable-task-manager.js +4 -4
- package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
- package/dist/esm/src/dwn.js +10 -8
- package/dist/esm/src/dwn.js.map +1 -1
- package/dist/esm/src/enums/dwn-interface-method.js +4 -2
- package/dist/esm/src/enums/dwn-interface-method.js.map +1 -1
- package/dist/esm/src/event-stream/event-emitter-stream.js.map +1 -0
- package/dist/esm/src/handlers/messages-subscribe.js +1 -1
- package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/messages-sync.js +116 -0
- package/dist/esm/src/handlers/messages-sync.js.map +1 -0
- package/dist/esm/src/handlers/protocols-configure.js +149 -16
- package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
- package/dist/esm/src/handlers/protocols-query.js +2 -2
- package/dist/esm/src/handlers/protocols-query.js.map +1 -1
- package/dist/esm/src/handlers/records-count.js +143 -0
- package/dist/esm/src/handlers/records-count.js.map +1 -0
- package/dist/esm/src/handlers/records-query.js +4 -0
- package/dist/esm/src/handlers/records-query.js.map +1 -1
- package/dist/esm/src/handlers/records-read.js +4 -6
- package/dist/esm/src/handlers/records-read.js.map +1 -1
- package/dist/esm/src/handlers/records-write.js +17 -18
- package/dist/esm/src/handlers/records-write.js.map +1 -1
- package/dist/esm/src/index.js +9 -5
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/interfaces/messages-read.js +2 -7
- package/dist/esm/src/interfaces/messages-read.js.map +1 -1
- package/dist/esm/src/interfaces/messages-subscribe.js +1 -0
- package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
- package/dist/esm/src/interfaces/{messages-query.js → messages-sync.js} +11 -12
- package/dist/esm/src/interfaces/messages-sync.js.map +1 -0
- package/dist/esm/src/interfaces/protocols-configure.js +153 -30
- package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
- package/dist/esm/src/interfaces/protocols-query.js +1 -0
- package/dist/esm/src/interfaces/protocols-query.js.map +1 -1
- package/dist/esm/src/interfaces/records-count.js +91 -0
- package/dist/esm/src/interfaces/records-count.js.map +1 -0
- package/dist/esm/src/interfaces/records-read.js +15 -1
- package/dist/esm/src/interfaces/records-read.js.map +1 -1
- package/dist/esm/src/interfaces/records-write.js +64 -15
- package/dist/esm/src/interfaces/records-write.js.map +1 -1
- package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -1
- package/dist/esm/src/jose/algorithms/signing/signature-algorithms.js.map +1 -1
- package/dist/esm/src/jose/jws/general/builder.js.map +1 -1
- package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
- package/dist/esm/src/protocols/permission-grant.js +30 -0
- package/dist/esm/src/protocols/permission-grant.js.map +1 -1
- package/dist/esm/src/protocols/permission-request.js +24 -0
- package/dist/esm/src/protocols/permission-request.js.map +1 -1
- package/dist/esm/src/protocols/permissions.js +1 -1
- package/dist/esm/src/protocols/permissions.js.map +1 -1
- package/dist/esm/src/schema-validator.js +0 -1
- package/dist/esm/src/schema-validator.js.map +1 -1
- package/dist/esm/src/smt/smt-store-level.js +125 -0
- package/dist/esm/src/smt/smt-store-level.js.map +1 -0
- package/dist/esm/src/smt/smt-store-memory.js +67 -0
- package/dist/esm/src/smt/smt-store-memory.js.map +1 -0
- package/dist/esm/src/smt/smt-utils.js +146 -0
- package/dist/esm/src/smt/smt-utils.js.map +1 -0
- package/dist/esm/src/smt/sparse-merkle-tree.js +622 -0
- package/dist/esm/src/smt/sparse-merkle-tree.js.map +1 -0
- package/dist/esm/src/state-index/state-index-level.js +228 -0
- package/dist/esm/src/state-index/state-index-level.js.map +1 -0
- package/dist/esm/src/store/data-store-level.js +6 -6
- package/dist/esm/src/store/data-store-level.js.map +1 -1
- package/dist/esm/src/store/index-level.js +375 -17
- package/dist/esm/src/store/index-level.js.map +1 -1
- package/dist/esm/src/store/message-store-level.js +56 -0
- package/dist/esm/src/store/message-store-level.js.map +1 -1
- package/dist/esm/src/store/storage-controller.js +19 -16
- package/dist/esm/src/store/storage-controller.js.map +1 -1
- package/dist/esm/src/types/encryption-types.js +2 -0
- package/dist/esm/src/types/encryption-types.js.map +1 -0
- package/dist/esm/src/types/message-types.js.map +1 -1
- package/dist/esm/src/types/protocols-types.js +0 -2
- package/dist/esm/src/types/protocols-types.js.map +1 -1
- package/dist/esm/src/types/records-types.js +2 -0
- package/dist/esm/src/types/records-types.js.map +1 -1
- package/dist/esm/src/types/smt-types.js +5 -0
- package/dist/esm/src/types/smt-types.js.map +1 -0
- package/dist/esm/src/types/state-index.js +2 -0
- package/dist/esm/src/types/state-index.js.map +1 -0
- package/dist/esm/src/utils/cid.js +2 -1
- package/dist/esm/src/utils/cid.js.map +1 -1
- package/dist/esm/src/utils/data-stream.js +84 -29
- package/dist/esm/src/utils/data-stream.js.map +1 -1
- package/dist/esm/src/utils/encryption.js +22 -31
- package/dist/esm/src/utils/encryption.js.map +1 -1
- package/dist/esm/src/utils/hd-key.js +3 -3
- package/dist/esm/src/utils/hd-key.js.map +1 -1
- package/dist/esm/src/utils/jws.js +4 -4
- package/dist/esm/src/utils/jws.js.map +1 -1
- package/dist/esm/src/utils/private-key-signer.js +4 -3
- package/dist/esm/src/utils/private-key-signer.js.map +1 -1
- package/dist/esm/src/utils/protocols.js +82 -9
- package/dist/esm/src/utils/protocols.js.map +1 -1
- package/dist/esm/src/utils/records.js +82 -26
- package/dist/esm/src/utils/records.js.map +1 -1
- package/dist/esm/src/utils/secp256k1.js +4 -3
- package/dist/esm/src/utils/secp256k1.js.map +1 -1
- package/dist/esm/src/utils/secp256r1.js +3 -2
- package/dist/esm/src/utils/secp256r1.js.map +1 -1
- package/dist/esm/src/utils/time.js +1 -1
- package/dist/esm/src/utils/url.js +1 -1
- package/dist/esm/src/utils/url.js.map +1 -1
- package/dist/esm/tests/core/auth.spec.js +2 -2
- package/dist/esm/tests/core/auth.spec.js.map +1 -1
- package/dist/esm/tests/core/message-reply.spec.js +3 -3
- package/dist/esm/tests/core/message-reply.spec.js.map +1 -1
- package/dist/esm/tests/core/message.spec.js +13 -13
- package/dist/esm/tests/core/message.spec.js.map +1 -1
- package/dist/esm/tests/core/protocol-authorization.spec.js +3 -3
- package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
- package/dist/esm/tests/dwn.spec.js +27 -37
- package/dist/esm/tests/dwn.spec.js.map +1 -1
- package/dist/esm/tests/{event-log → event-stream}/event-emitter-stream.spec.js +14 -15
- package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +1 -0
- package/dist/esm/tests/{event-log → event-stream}/event-stream.spec.js +13 -15
- package/dist/esm/tests/event-stream/event-stream.spec.js.map +1 -0
- package/dist/esm/tests/features/author-delegated-grant.spec.js +281 -135
- package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
- package/dist/esm/tests/features/owner-delegated-grant.spec.js +57 -59
- package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
- package/dist/esm/tests/features/owner-signature.spec.js +32 -34
- package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
- package/dist/esm/tests/features/permissions.spec.js +73 -95
- package/dist/esm/tests/features/permissions.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-composition.spec.js +1645 -0
- package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -0
- package/dist/esm/tests/features/protocol-create-action.spec.js +25 -27
- package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-delete-action.spec.js +42 -44
- package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-update-action.spec.js +53 -55
- package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
- package/dist/esm/tests/features/records-prune.spec.js +126 -100
- package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
- package/dist/esm/tests/features/records-tags.spec.js +272 -272
- package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
- package/dist/esm/tests/features/resumable-tasks.spec.js +35 -37
- package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-read.spec.js +112 -112
- package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-subscribe.spec.js +78 -76
- package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-sync.spec.js +528 -0
- package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -0
- package/dist/esm/tests/handlers/protocols-configure.spec.js +545 -152
- package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/handlers/protocols-query.spec.js +70 -72
- package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-count.spec.js +313 -0
- package/dist/esm/tests/handlers/records-count.spec.js.map +1 -0
- package/dist/esm/tests/handlers/records-delete.spec.js +106 -109
- package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-query.spec.js +863 -463
- package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-read.spec.js +439 -209
- package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-subscribe.spec.js +292 -97
- package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-write.spec.js +481 -483
- package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/messages-get.spec.js +31 -11
- package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/messages-subscribe.spec.js +5 -5
- package/dist/esm/tests/interfaces/messages-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/protocols-configure.spec.js +64 -134
- package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/protocols-query.spec.js +4 -6
- package/dist/esm/tests/interfaces/protocols-query.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-delete.spec.js +3 -5
- package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-query.spec.js +9 -11
- package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-read.spec.js +76 -7
- package/dist/esm/tests/interfaces/records-read.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-subscribe.spec.js +7 -9
- package/dist/esm/tests/interfaces/records-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-write.spec.js +244 -48
- package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
- package/dist/esm/tests/jose/jws/general.spec.js +15 -18
- package/dist/esm/tests/jose/jws/general.spec.js.map +1 -1
- package/dist/esm/tests/protocols/permission-grant.spec.js +114 -0
- package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -0
- package/dist/esm/tests/protocols/permission-request.spec.js +43 -7
- package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
- package/dist/esm/tests/protocols/permissions.spec.js +9 -11
- package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/aggregator.spec.js +90 -92
- package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/deleted-record.spec.js +17 -19
- package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +27 -29
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/nested-roles.spec.js +37 -39
- package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/subscriptions.spec.js +163 -163
- package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
- package/dist/esm/tests/smt/smt-store-level.spec.js +143 -0
- package/dist/esm/tests/smt/smt-store-level.spec.js.map +1 -0
- package/dist/esm/tests/smt/sparse-merkle-tree.spec.js +741 -0
- package/dist/esm/tests/smt/sparse-merkle-tree.spec.js.map +1 -0
- package/dist/esm/tests/state-index/state-index-level.spec.js +254 -0
- package/dist/esm/tests/state-index/state-index-level.spec.js.map +1 -0
- package/dist/esm/tests/store/blockstore-level.spec.js +136 -0
- package/dist/esm/tests/store/blockstore-level.spec.js.map +1 -0
- package/dist/esm/tests/store/blockstore-mock.spec.js +29 -28
- package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
- package/dist/esm/tests/store/data-store-level.spec.js +23 -25
- package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
- package/dist/esm/tests/store/index-level.spec.js +544 -194
- package/dist/esm/tests/store/index-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store-level.spec.js +4 -4
- package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store.spec.js +147 -73
- package/dist/esm/tests/store/message-store.spec.js.map +1 -1
- package/dist/esm/tests/store-dependent-tests.spec.js +1 -0
- package/dist/esm/tests/store-dependent-tests.spec.js.map +1 -1
- package/dist/esm/tests/test-stores.js +5 -5
- package/dist/esm/tests/test-stores.js.map +1 -1
- package/dist/esm/tests/test-suite.js +9 -8
- package/dist/esm/tests/test-suite.js.map +1 -1
- package/dist/esm/tests/utils/cid.spec.js +8 -11
- package/dist/esm/tests/utils/cid.spec.js.map +1 -1
- package/dist/esm/tests/utils/data-stream.spec.js +167 -13
- package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption-callbacks.spec.js +233 -0
- package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -0
- package/dist/esm/tests/utils/encryption.spec.js +34 -85
- package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
- package/dist/esm/tests/utils/filters.spec.js +67 -69
- package/dist/esm/tests/utils/filters.spec.js.map +1 -1
- package/dist/esm/tests/utils/hd-key.spec.js +3 -3
- package/dist/esm/tests/utils/hd-key.spec.js.map +1 -1
- package/dist/esm/tests/utils/jws.spec.js +54 -3
- package/dist/esm/tests/utils/jws.spec.js.map +1 -1
- package/dist/esm/tests/utils/memory-cache.spec.js +6 -9
- package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -1
- package/dist/esm/tests/utils/messages.spec.js +63 -29
- package/dist/esm/tests/utils/messages.spec.js.map +1 -1
- package/dist/esm/tests/utils/object.spec.js +3 -3
- package/dist/esm/tests/utils/object.spec.js.map +1 -1
- package/dist/esm/tests/utils/poller.js +1 -1
- package/dist/esm/tests/utils/poller.js.map +1 -1
- package/dist/esm/tests/utils/private-key-signer.spec.js +6 -6
- package/dist/esm/tests/utils/private-key-signer.spec.js.map +1 -1
- package/dist/esm/tests/utils/records.spec.js +37 -5
- package/dist/esm/tests/utils/records.spec.js.map +1 -1
- package/dist/esm/tests/utils/secp256k1.spec.js +7 -7
- package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -1
- package/dist/esm/tests/utils/secp256r1.spec.js +7 -7
- package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
- package/dist/esm/tests/utils/test-data-generator.js +47 -28
- package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
- package/dist/esm/tests/utils/time.spec.js +7 -7
- package/dist/esm/tests/utils/time.spec.js.map +1 -1
- package/dist/esm/tests/utils/url.spec.js +25 -27
- package/dist/esm/tests/utils/url.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/definitions.spec.js +4 -4
- package/dist/esm/tests/validation/json-schemas/definitions.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js +15 -3
- package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js +8 -8
- package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js +8 -18
- package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +3 -3
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js +9 -9
- package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js +106 -0
- package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js.map +1 -0
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +18 -18
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
- package/dist/esm/tests/vectors/protocol-definitions/email.json +1 -1
- package/dist/esm/tests/vectors/protocol-definitions/friend-role.json +2 -4
- package/dist/esm/tests/vectors/protocol-definitions/slack.json +2 -6
- package/dist/esm/tests/vectors/protocol-definitions/thread-role.json +2 -6
- package/dist/types/generated/precompiled-validators.d.ts +82 -64
- package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
- package/dist/types/src/core/dwn-error.d.ts +27 -3
- package/dist/types/src/core/dwn-error.d.ts.map +1 -1
- package/dist/types/src/core/message-reply.d.ts +1 -1
- package/dist/types/src/core/message.d.ts +3 -3
- package/dist/types/src/core/message.d.ts.map +1 -1
- package/dist/types/src/core/messages-grant-authorization.d.ts +4 -4
- package/dist/types/src/core/messages-grant-authorization.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization.d.ts +43 -2
- package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
- package/dist/types/src/core/records-grant-authorization.d.ts +2 -2
- package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -1
- package/dist/types/src/core/resumable-task-manager.d.ts +1 -0
- package/dist/types/src/core/resumable-task-manager.d.ts.map +1 -1
- package/dist/types/src/dwn.d.ts +8 -8
- package/dist/types/src/dwn.d.ts.map +1 -1
- package/dist/types/src/enums/dwn-interface-method.d.ts +5 -3
- package/dist/types/src/enums/dwn-interface-method.d.ts.map +1 -1
- package/dist/types/src/event-stream/event-emitter-stream.d.ts.map +1 -0
- package/dist/types/src/handlers/messages-sync.d.ts +21 -0
- package/dist/types/src/handlers/messages-sync.d.ts.map +1 -0
- package/dist/types/src/handlers/protocols-configure.d.ts +24 -4
- package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/handlers/protocols-query.d.ts.map +1 -1
- package/dist/types/src/handlers/records-count.d.ts +43 -0
- package/dist/types/src/handlers/records-count.d.ts.map +1 -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-write.d.ts +5 -5
- package/dist/types/src/handlers/records-write.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +72 -37
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/interfaces/messages-read.d.ts +2 -2
- package/dist/types/src/interfaces/messages-read.d.ts.map +1 -1
- package/dist/types/src/interfaces/messages-subscribe.d.ts +2 -2
- package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -1
- package/dist/types/src/interfaces/messages-sync.d.ts +16 -0
- package/dist/types/src/interfaces/messages-sync.d.ts.map +1 -0
- package/dist/types/src/interfaces/protocols-configure.d.ts +22 -2
- package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/interfaces/protocols-query.d.ts +2 -2
- package/dist/types/src/interfaces/protocols-query.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-count.d.ts +27 -0
- package/dist/types/src/interfaces/records-count.d.ts.map +1 -0
- package/dist/types/src/interfaces/records-delete.d.ts +2 -2
- package/dist/types/src/interfaces/records-delete.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-query.d.ts +2 -2
- package/dist/types/src/interfaces/records-query.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-read.d.ts +4 -2
- package/dist/types/src/interfaces/records-read.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-subscribe.d.ts +2 -2
- package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-write.d.ts +37 -15
- 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/jose/algorithms/signing/signature-algorithms.d.ts +5 -1
- package/dist/types/src/jose/algorithms/signing/signature-algorithms.d.ts.map +1 -1
- package/dist/types/src/jose/jws/general/builder.d.ts +3 -3
- package/dist/types/src/jose/jws/general/builder.d.ts.map +1 -1
- package/dist/types/src/protocols/permission-grant.d.ts +11 -0
- package/dist/types/src/protocols/permission-grant.d.ts.map +1 -1
- package/dist/types/src/protocols/permission-request.d.ts +11 -0
- package/dist/types/src/protocols/permission-request.d.ts.map +1 -1
- package/dist/types/src/protocols/permissions.d.ts +4 -4
- package/dist/types/src/protocols/permissions.d.ts.map +1 -1
- package/dist/types/src/schema-validator.d.ts +1 -1
- package/dist/types/src/schema-validator.d.ts.map +1 -1
- package/dist/types/src/smt/smt-store-level.d.ts +32 -0
- package/dist/types/src/smt/smt-store-level.d.ts.map +1 -0
- package/dist/types/src/smt/smt-store-memory.d.ts +22 -0
- package/dist/types/src/smt/smt-store-memory.d.ts.map +1 -0
- package/dist/types/src/smt/smt-utils.d.ts +58 -0
- package/dist/types/src/smt/smt-utils.d.ts.map +1 -0
- package/dist/types/src/smt/sparse-merkle-tree.d.ts +124 -0
- package/dist/types/src/smt/sparse-merkle-tree.d.ts.map +1 -0
- package/dist/types/src/state-index/state-index-level.d.ts +83 -0
- package/dist/types/src/state-index/state-index-level.d.ts.map +1 -0
- package/dist/types/src/store/data-store-level.d.ts +1 -2
- package/dist/types/src/store/data-store-level.d.ts.map +1 -1
- package/dist/types/src/store/index-level.d.ts +98 -2
- package/dist/types/src/store/index-level.d.ts.map +1 -1
- package/dist/types/src/store/level-wrapper.d.ts.map +1 -1
- package/dist/types/src/store/message-store-level.d.ts +5 -0
- package/dist/types/src/store/message-store-level.d.ts.map +1 -1
- package/dist/types/src/store/storage-controller.d.ts +7 -7
- package/dist/types/src/store/storage-controller.d.ts.map +1 -1
- package/dist/types/src/types/data-store.d.ts +2 -3
- package/dist/types/src/types/data-store.d.ts.map +1 -1
- package/dist/types/src/types/encryption-types.d.ts +48 -0
- package/dist/types/src/types/encryption-types.d.ts.map +1 -0
- package/dist/types/src/types/jose-types.d.ts +9 -40
- package/dist/types/src/types/jose-types.d.ts.map +1 -1
- package/dist/types/src/types/message-store.d.ts +5 -0
- package/dist/types/src/types/message-store.d.ts.map +1 -1
- package/dist/types/src/types/message-types.d.ts +19 -0
- package/dist/types/src/types/message-types.d.ts.map +1 -1
- package/dist/types/src/types/messages-types.d.ts +16 -11
- package/dist/types/src/types/messages-types.d.ts.map +1 -1
- package/dist/types/src/types/method-handler.d.ts +1 -2
- package/dist/types/src/types/method-handler.d.ts.map +1 -1
- package/dist/types/src/types/permission-types.d.ts +2 -2
- package/dist/types/src/types/permission-types.d.ts.map +1 -1
- package/dist/types/src/types/protocols-types.d.ts +49 -5
- package/dist/types/src/types/protocols-types.d.ts.map +1 -1
- package/dist/types/src/types/records-types.d.ts +23 -7
- package/dist/types/src/types/records-types.d.ts.map +1 -1
- package/dist/types/src/types/signer.d.ts +1 -1
- package/dist/types/src/types/signer.d.ts.map +1 -1
- package/dist/types/src/types/smt-types.d.ts +81 -0
- package/dist/types/src/types/smt-types.d.ts.map +1 -0
- package/dist/types/src/types/state-index.d.ts +90 -0
- package/dist/types/src/types/state-index.d.ts.map +1 -0
- package/dist/types/src/utils/cid.d.ts +1 -2
- package/dist/types/src/utils/cid.d.ts.map +1 -1
- package/dist/types/src/utils/data-stream.d.ts +14 -7
- package/dist/types/src/utils/data-stream.d.ts.map +1 -1
- package/dist/types/src/utils/encryption.d.ts +2 -3
- package/dist/types/src/utils/encryption.d.ts.map +1 -1
- package/dist/types/src/utils/hd-key.d.ts +4 -4
- package/dist/types/src/utils/hd-key.d.ts.map +1 -1
- package/dist/types/src/utils/jws.d.ts +7 -7
- package/dist/types/src/utils/jws.d.ts.map +1 -1
- package/dist/types/src/utils/private-key-signer.d.ts +4 -4
- package/dist/types/src/utils/private-key-signer.d.ts.map +1 -1
- package/dist/types/src/utils/protocols.d.ts +46 -3
- package/dist/types/src/utils/protocols.d.ts.map +1 -1
- package/dist/types/src/utils/records.d.ts +33 -6
- package/dist/types/src/utils/records.d.ts.map +1 -1
- package/dist/types/src/utils/secp256k1.d.ts +11 -11
- package/dist/types/src/utils/secp256k1.d.ts.map +1 -1
- package/dist/types/src/utils/secp256r1.d.ts +8 -8
- package/dist/types/src/utils/secp256r1.d.ts.map +1 -1
- package/dist/types/src/utils/time.d.ts +1 -1
- package/dist/types/tests/dwn.spec.d.ts.map +1 -1
- package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts.map +1 -0
- package/dist/types/tests/event-stream/event-stream.spec.d.ts.map +1 -0
- package/dist/types/tests/features/author-delegated-grant.spec.d.ts.map +1 -1
- package/dist/types/tests/features/owner-delegated-grant.spec.d.ts.map +1 -1
- package/dist/types/tests/features/owner-signature.spec.d.ts.map +1 -1
- package/dist/types/tests/features/permissions.spec.d.ts.map +1 -1
- package/dist/types/tests/features/protocol-composition.spec.d.ts +5 -0
- package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -0
- package/dist/types/tests/features/protocol-create-action.spec.d.ts.map +1 -1
- package/dist/types/tests/features/protocol-delete-action.spec.d.ts.map +1 -1
- package/dist/types/tests/features/protocol-update-action.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-prune.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-tags.spec.d.ts.map +1 -1
- package/dist/types/tests/features/resumable-tasks.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/messages-sync.spec.d.ts +2 -0
- package/dist/types/tests/handlers/messages-sync.spec.d.ts.map +1 -0
- package/dist/types/tests/handlers/protocols-configure.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/protocols-query.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-count.spec.d.ts +2 -0
- package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -0
- 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/protocols/permission-grant.spec.d.ts +2 -0
- package/dist/types/tests/protocols/permission-grant.spec.d.ts.map +1 -0
- package/dist/types/tests/scenarios/deleted-record.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/scenarios/nested-roles.spec.d.ts.map +1 -1
- package/dist/types/tests/smt/smt-store-level.spec.d.ts +2 -0
- package/dist/types/tests/smt/smt-store-level.spec.d.ts.map +1 -0
- package/dist/types/tests/smt/sparse-merkle-tree.spec.d.ts +2 -0
- package/dist/types/tests/smt/sparse-merkle-tree.spec.d.ts.map +1 -0
- package/dist/types/tests/state-index/state-index-level.spec.d.ts +2 -0
- package/dist/types/tests/state-index/state-index-level.spec.d.ts.map +1 -0
- package/dist/types/tests/store/blockstore-level.spec.d.ts +2 -0
- package/dist/types/tests/store/blockstore-level.spec.d.ts.map +1 -0
- package/dist/types/tests/store/message-store.spec.d.ts.map +1 -1
- package/dist/types/tests/test-stores.d.ts +4 -4
- package/dist/types/tests/test-stores.d.ts.map +1 -1
- package/dist/types/tests/test-suite.d.ts +2 -2
- package/dist/types/tests/test-suite.d.ts.map +1 -1
- package/dist/types/tests/utils/encryption-callbacks.spec.d.ts +2 -0
- package/dist/types/tests/utils/encryption-callbacks.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/test-data-generator.d.ts +31 -28
- package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
- package/dist/types/tests/validation/json-schemas/records/records-read.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/records/records-read.spec.d.ts.map +1 -0
- package/package.json +27 -46
- package/src/core/dwn-error.ts +27 -3
- package/src/core/message-reply.ts +1 -1
- package/src/core/message.ts +5 -5
- package/src/core/messages-grant-authorization.ts +22 -8
- package/src/core/protocol-authorization.ts +345 -68
- package/src/core/records-grant-authorization.ts +2 -2
- package/src/core/resumable-task-manager.ts +4 -5
- package/src/dwn.ts +25 -20
- package/src/enums/dwn-interface-method.ts +5 -3
- package/src/handlers/messages-subscribe.ts +1 -1
- package/src/handlers/messages-sync.ts +129 -0
- package/src/handlers/protocols-configure.ts +195 -17
- package/src/handlers/protocols-query.ts +7 -5
- package/src/handlers/records-count.ts +184 -0
- package/src/handlers/records-query.ts +4 -0
- package/src/handlers/records-read.ts +4 -8
- package/src/handlers/records-write.ts +20 -21
- package/src/index.ts +74 -37
- package/src/interfaces/messages-read.ts +6 -5
- package/src/interfaces/messages-subscribe.ts +7 -6
- package/src/interfaces/messages-sync.ts +59 -0
- package/src/interfaces/protocols-configure.ts +211 -33
- package/src/interfaces/protocols-query.ts +7 -6
- package/src/interfaces/records-count.ts +106 -0
- package/src/interfaces/records-delete.ts +2 -2
- package/src/interfaces/records-query.ts +2 -2
- package/src/interfaces/records-read.ts +26 -3
- package/src/interfaces/records-subscribe.ts +2 -2
- package/src/interfaces/records-write.ts +115 -46
- package/src/jose/algorithms/signing/ed25519.ts +13 -12
- package/src/jose/algorithms/signing/signature-algorithms.ts +6 -1
- package/src/jose/jws/general/builder.ts +3 -3
- package/src/jose/jws/general/verifier.ts +3 -3
- package/src/protocols/permission-grant.ts +51 -0
- package/src/protocols/permission-request.ts +37 -0
- package/src/protocols/permissions.ts +5 -5
- package/src/schema-validator.ts +11 -3
- package/src/smt/smt-store-level.ts +143 -0
- package/src/smt/smt-store-memory.ts +53 -0
- package/src/smt/smt-utils.ts +149 -0
- package/src/smt/sparse-merkle-tree.ts +698 -0
- package/src/state-index/state-index-level.ts +241 -0
- package/src/store/data-store-level.ts +8 -7
- package/src/store/index-level.ts +415 -19
- package/src/store/level-wrapper.ts +1 -1
- package/src/store/message-store-level.ts +62 -0
- package/src/store/storage-controller.ts +21 -19
- package/src/types/data-store.ts +2 -4
- package/src/types/encryption-types.ts +52 -0
- package/src/types/jose-types.ts +10 -42
- package/src/types/message-store.ts +11 -0
- package/src/types/message-types.ts +21 -0
- package/src/types/messages-types.ts +21 -15
- package/src/types/method-handler.ts +1 -2
- package/src/types/permission-types.ts +2 -2
- package/src/types/protocols-types.ts +55 -6
- package/src/types/records-types.ts +26 -7
- package/src/types/signer.ts +1 -1
- package/src/types/smt-types.ts +95 -0
- package/src/types/state-index.ts +100 -0
- package/src/utils/cid.ts +3 -4
- package/src/utils/data-stream.ts +75 -38
- package/src/utils/encryption.ts +24 -39
- package/src/utils/hd-key.ts +6 -6
- package/src/utils/jws.ts +9 -9
- package/src/utils/private-key-signer.ts +9 -8
- package/src/utils/protocols.ts +132 -6
- package/src/utils/records.ts +118 -29
- package/src/utils/secp256k1.ts +23 -21
- package/src/utils/secp256r1.ts +17 -15
- package/src/utils/time.ts +1 -1
- package/src/utils/url.ts +1 -1
- package/dist/cjs/index.js +0 -36749
- package/dist/cjs/package.json +0 -1
- package/dist/esm/src/event-log/event-emitter-stream.js.map +0 -1
- package/dist/esm/src/event-log/event-log-level.js +0 -63
- package/dist/esm/src/event-log/event-log-level.js.map +0 -1
- package/dist/esm/src/handlers/messages-query.js +0 -71
- package/dist/esm/src/handlers/messages-query.js.map +0 -1
- package/dist/esm/src/interfaces/messages-query.js.map +0 -1
- package/dist/esm/src/types/event-log.js +0 -2
- package/dist/esm/src/types/event-log.js.map +0 -1
- package/dist/esm/tests/event-log/event-emitter-stream.spec.js.map +0 -1
- package/dist/esm/tests/event-log/event-log-level.spec.js +0 -44
- package/dist/esm/tests/event-log/event-log-level.spec.js.map +0 -1
- package/dist/esm/tests/event-log/event-log.spec.js +0 -236
- package/dist/esm/tests/event-log/event-log.spec.js.map +0 -1
- package/dist/esm/tests/event-log/event-stream.spec.js.map +0 -1
- package/dist/esm/tests/handlers/messages-query.spec.js +0 -349
- package/dist/esm/tests/handlers/messages-query.spec.js.map +0 -1
- package/dist/esm/tests/interfaces/messagess-query.spec.js +0 -127
- package/dist/esm/tests/interfaces/messagess-query.spec.js.map +0 -1
- package/dist/esm/tests/scenarios/messages-query.spec.js +0 -395
- package/dist/esm/tests/scenarios/messages-query.spec.js.map +0 -1
- package/dist/types/src/event-log/event-emitter-stream.d.ts.map +0 -1
- package/dist/types/src/event-log/event-log-level.d.ts +0 -35
- package/dist/types/src/event-log/event-log-level.d.ts.map +0 -1
- package/dist/types/src/handlers/messages-query.d.ts +0 -17
- package/dist/types/src/handlers/messages-query.d.ts.map +0 -1
- package/dist/types/src/interfaces/messages-query.d.ts +0 -16
- package/dist/types/src/interfaces/messages-query.d.ts.map +0 -1
- package/dist/types/src/types/event-log.d.ts +0 -52
- package/dist/types/src/types/event-log.d.ts.map +0 -1
- package/dist/types/tests/event-log/event-emitter-stream.spec.d.ts.map +0 -1
- package/dist/types/tests/event-log/event-log-level.spec.d.ts +0 -2
- package/dist/types/tests/event-log/event-log-level.spec.d.ts.map +0 -1
- package/dist/types/tests/event-log/event-log.spec.d.ts +0 -2
- package/dist/types/tests/event-log/event-log.spec.d.ts.map +0 -1
- package/dist/types/tests/event-log/event-stream.spec.d.ts.map +0 -1
- package/dist/types/tests/handlers/messages-query.spec.d.ts +0 -2
- package/dist/types/tests/handlers/messages-query.spec.d.ts.map +0 -1
- package/dist/types/tests/interfaces/messagess-query.spec.d.ts +0 -2
- package/dist/types/tests/interfaces/messagess-query.spec.d.ts.map +0 -1
- package/dist/types/tests/scenarios/messages-query.spec.d.ts +0 -2
- package/dist/types/tests/scenarios/messages-query.spec.d.ts.map +0 -1
- package/src/event-log/event-log-level.ts +0 -72
- package/src/handlers/messages-query.ts +0 -67
- package/src/interfaces/messages-query.ts +0 -60
- package/src/types/event-log.ts +0 -52
- /package/dist/esm/src/{event-log → event-stream}/event-emitter-stream.js +0 -0
- /package/dist/types/src/{event-log → event-stream}/event-emitter-stream.d.ts +0 -0
- /package/dist/types/tests/{event-log → event-stream}/event-emitter-stream.spec.d.ts +0 -0
- /package/dist/types/tests/{event-log → event-stream}/event-stream.spec.d.ts +0 -0
- /package/src/{event-log → event-stream}/event-emitter-stream.ts +0 -0
|
@@ -18,6 +18,50 @@ import { IndexLevel } from './index-level.js';
|
|
|
18
18
|
import { Message } from '../core/message.js';
|
|
19
19
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
20
20
|
import { SortDirection } from '../types/query-types.js';
|
|
21
|
+
/**
|
|
22
|
+
* Default compound indexes that cover the most common DWN query patterns.
|
|
23
|
+
* These are automatically registered unless overridden via config.
|
|
24
|
+
*
|
|
25
|
+
* Each compound index enables a single-scan query when the filter matches
|
|
26
|
+
* all equality properties and the sort matches the sort property.
|
|
27
|
+
*/
|
|
28
|
+
const DEFAULT_COMPOUND_INDEXES = [
|
|
29
|
+
{
|
|
30
|
+
// Covers: RecordsQuery with protocol + protocolPath, sorted by messageTimestamp
|
|
31
|
+
// Example: "all chat messages in protocol X, path 'chat/message', sorted by time"
|
|
32
|
+
name: 'protocol-protocolPath-messageTimestamp',
|
|
33
|
+
properties: ['protocol', 'protocolPath'],
|
|
34
|
+
sortProperty: 'messageTimestamp',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
// Covers: RecordsQuery with protocol + protocolPath, sorted by dateCreated
|
|
38
|
+
name: 'protocol-protocolPath-dateCreated',
|
|
39
|
+
properties: ['protocol', 'protocolPath'],
|
|
40
|
+
sortProperty: 'dateCreated',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
// Covers: RecordsQuery with schema, sorted by messageTimestamp
|
|
44
|
+
// Example: "all records with schema X, sorted by time"
|
|
45
|
+
name: 'schema-messageTimestamp',
|
|
46
|
+
properties: ['schema'],
|
|
47
|
+
sortProperty: 'messageTimestamp',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
// Covers: RecordsQuery with schema, sorted by dateCreated
|
|
51
|
+
name: 'schema-dateCreated',
|
|
52
|
+
properties: ['schema'],
|
|
53
|
+
sortProperty: 'dateCreated',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
// Covers: RecordsQuery with protocol + contextId, sorted by messageTimestamp
|
|
57
|
+
// Example: "all messages in a specific protocol context (conversation), sorted by time"
|
|
58
|
+
// NOTE: contextId is often a prefix/range filter. Compound indexes only support equality.
|
|
59
|
+
// This index is useful when contextId is an exact match (e.g., root-level context queries).
|
|
60
|
+
name: 'protocol-contextId-messageTimestamp',
|
|
61
|
+
properties: ['protocol', 'contextId'],
|
|
62
|
+
sortProperty: 'messageTimestamp',
|
|
63
|
+
},
|
|
64
|
+
];
|
|
21
65
|
/**
|
|
22
66
|
* A simple implementation of {@link MessageStore} that works in both the browser and server-side.
|
|
23
67
|
* Leverages LevelDB under the hood.
|
|
@@ -29,8 +73,11 @@ export class MessageStoreLevel {
|
|
|
29
73
|
* LevelDB will store its files, or in browsers, the name of the
|
|
30
74
|
* {@link https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase IDBDatabase} to be opened.
|
|
31
75
|
* @param {string} config.indexLocation - same as config.blockstoreLocation
|
|
76
|
+
* @param {CompoundIndexDefinition[]} config.compoundIndexes - compound indexes to register.
|
|
77
|
+
* Defaults to DEFAULT_COMPOUND_INDEXES which cover the most common DWN query patterns.
|
|
32
78
|
*/
|
|
33
79
|
constructor(config = {}) {
|
|
80
|
+
var _a;
|
|
34
81
|
this.config = Object.assign({ blockstoreLocation: 'MESSAGESTORE', indexLocation: 'INDEX', createLevelDatabase }, config);
|
|
35
82
|
this.blockstore = new BlockstoreLevel({
|
|
36
83
|
location: this.config.blockstoreLocation,
|
|
@@ -39,6 +86,7 @@ export class MessageStoreLevel {
|
|
|
39
86
|
this.index = new IndexLevel({
|
|
40
87
|
location: this.config.indexLocation,
|
|
41
88
|
createLevelDatabase: this.config.createLevelDatabase,
|
|
89
|
+
compoundIndexes: (_a = this.config.compoundIndexes) !== null && _a !== void 0 ? _a : DEFAULT_COMPOUND_INDEXES,
|
|
42
90
|
});
|
|
43
91
|
}
|
|
44
92
|
open() {
|
|
@@ -95,6 +143,14 @@ export class MessageStoreLevel {
|
|
|
95
143
|
return { messages, cursor };
|
|
96
144
|
});
|
|
97
145
|
}
|
|
146
|
+
count(tenant, filters, messageSort, options) {
|
|
147
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
+
var _a;
|
|
149
|
+
(_a = options === null || options === void 0 ? void 0 : options.signal) === null || _a === void 0 ? void 0 : _a.throwIfAborted();
|
|
150
|
+
const queryOptions = MessageStoreLevel.buildQueryOptions(messageSort);
|
|
151
|
+
return this.index.count(tenant, filters, queryOptions, options);
|
|
152
|
+
});
|
|
153
|
+
}
|
|
98
154
|
/**
|
|
99
155
|
* Builds the IndexLevel QueryOptions object given MessageStore sort and pagination parameters.
|
|
100
156
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-store-level.js","sourceRoot":"","sources":["../../../../src/store/message-store-level.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"message-store-level.js","sourceRoot":"","sources":["../../../../src/store/message-store-level.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,13 +14,13 @@ import { RecordsDelete } from '../interfaces/records-delete.js';
|
|
|
14
14
|
import { RecordsWrite } from '../interfaces/records-write.js';
|
|
15
15
|
import { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
|
|
16
16
|
/**
|
|
17
|
-
* A class that provides an abstraction for the usage of MessageStore, DataStore, and
|
|
17
|
+
* A class that provides an abstraction for the usage of MessageStore, DataStore, and StateIndex.
|
|
18
18
|
*/
|
|
19
19
|
export class StorageController {
|
|
20
|
-
constructor({ messageStore, dataStore,
|
|
20
|
+
constructor({ messageStore, dataStore, stateIndex, eventStream }) {
|
|
21
21
|
this.messageStore = messageStore;
|
|
22
22
|
this.dataStore = dataStore;
|
|
23
|
-
this.
|
|
23
|
+
this.stateIndex = stateIndex;
|
|
24
24
|
this.eventStream = eventStream;
|
|
25
25
|
}
|
|
26
26
|
performRecordsDelete(_a) {
|
|
@@ -44,17 +44,17 @@ export class StorageController {
|
|
|
44
44
|
const indexes = recordsDelete.constructIndexes(initialWrite);
|
|
45
45
|
const messageCid = yield Message.getCid(message);
|
|
46
46
|
yield this.messageStore.put(tenant, message, indexes);
|
|
47
|
-
yield this.
|
|
47
|
+
yield this.stateIndex.insert(tenant, messageCid, indexes);
|
|
48
48
|
// only emit if the event stream is set
|
|
49
49
|
if (this.eventStream !== undefined) {
|
|
50
50
|
this.eventStream.emit(tenant, { message, initialWrite }, indexes);
|
|
51
51
|
}
|
|
52
52
|
if (message.descriptor.prune) {
|
|
53
53
|
// purge/hard-delete all descendent records
|
|
54
|
-
yield StorageController.purgeRecordDescendants(tenant, message.descriptor.recordId, this.messageStore, this.dataStore, this.
|
|
54
|
+
yield StorageController.purgeRecordDescendants(tenant, message.descriptor.recordId, this.messageStore, this.dataStore, this.stateIndex);
|
|
55
55
|
}
|
|
56
56
|
// delete all existing messages that are not newest, except for the initial write
|
|
57
|
-
yield StorageController.deleteAllOlderMessagesButKeepInitialWrite(tenant, existingMessages, message, this.messageStore, this.dataStore, this.
|
|
57
|
+
yield StorageController.deleteAllOlderMessagesButKeepInitialWrite(tenant, existingMessages, message, this.messageStore, this.dataStore, this.stateIndex);
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
@@ -83,7 +83,7 @@ export class StorageController {
|
|
|
83
83
|
/**
|
|
84
84
|
* Purges (permanent hard-delete) all descendant's data of the given `recordId`.
|
|
85
85
|
*/
|
|
86
|
-
static purgeRecordDescendants(tenant, recordId, messageStore, dataStore,
|
|
86
|
+
static purgeRecordDescendants(tenant, recordId, messageStore, dataStore, stateIndex) {
|
|
87
87
|
return __awaiter(this, void 0, void 0, function* () {
|
|
88
88
|
const filter = {
|
|
89
89
|
interface: DwnInterfaceName.Records,
|
|
@@ -101,19 +101,22 @@ export class StorageController {
|
|
|
101
101
|
else {
|
|
102
102
|
recordId = message.descriptor.recordId;
|
|
103
103
|
}
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
const existingMessages = recordIdToMessagesMap.get(recordId);
|
|
105
|
+
if (existingMessages) {
|
|
106
|
+
existingMessages.push(message);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
recordIdToMessagesMap.set(recordId, [message]);
|
|
106
110
|
}
|
|
107
|
-
recordIdToMessagesMap.get(recordId).push(message);
|
|
108
111
|
}
|
|
109
112
|
// purge all child's descendants first
|
|
110
113
|
for (const childRecordId of recordIdToMessagesMap.keys()) {
|
|
111
114
|
// purge the child's descendent messages first
|
|
112
|
-
yield StorageController.purgeRecordDescendants(tenant, childRecordId, messageStore, dataStore,
|
|
115
|
+
yield StorageController.purgeRecordDescendants(tenant, childRecordId, messageStore, dataStore, stateIndex);
|
|
113
116
|
}
|
|
114
117
|
// then purge the child messages themselves
|
|
115
118
|
for (const childRecordId of recordIdToMessagesMap.keys()) {
|
|
116
|
-
yield StorageController.purgeRecordMessages(tenant, recordIdToMessagesMap.get(childRecordId), messageStore, dataStore,
|
|
119
|
+
yield StorageController.purgeRecordMessages(tenant, recordIdToMessagesMap.get(childRecordId), messageStore, dataStore, stateIndex);
|
|
117
120
|
}
|
|
118
121
|
});
|
|
119
122
|
}
|
|
@@ -121,7 +124,7 @@ export class StorageController {
|
|
|
121
124
|
* Purges (permanent hard-delete) all messages of the SAME `recordId` given and their associated data and events.
|
|
122
125
|
* Assumes that the given `recordMessages` are all of the same `recordId`.
|
|
123
126
|
*/
|
|
124
|
-
static purgeRecordMessages(tenant, recordMessages, messageStore, dataStore,
|
|
127
|
+
static purgeRecordMessages(tenant, recordMessages, messageStore, dataStore, stateIndex) {
|
|
125
128
|
return __awaiter(this, void 0, void 0, function* () {
|
|
126
129
|
// delete the data from the data store first so no chance of orphaned data (not having a message referencing it) in case of server crash
|
|
127
130
|
// NOTE: only the `RecordsWrite` with latest timestamp can possibly have data associated with it so we do this filtering as an optimization
|
|
@@ -136,7 +139,7 @@ export class StorageController {
|
|
|
136
139
|
yield dataStore.delete(tenant, newestRecordsWrite.recordId, newestRecordsWrite.descriptor.dataCid);
|
|
137
140
|
// then delete all events associated with the record messages before deleting the messages so we don't have orphaned events
|
|
138
141
|
const messageCids = yield Promise.all(recordMessages.map((message) => Message.getCid(message)));
|
|
139
|
-
yield
|
|
142
|
+
yield stateIndex.delete(tenant, messageCids);
|
|
140
143
|
// finally delete all record messages
|
|
141
144
|
yield Promise.all(messageCids.map((messageCid) => messageStore.delete(tenant, messageCid)));
|
|
142
145
|
});
|
|
@@ -145,7 +148,7 @@ export class StorageController {
|
|
|
145
148
|
* Deletes all messages in `existingMessages` that are older than the `newestMessage` in the given tenant,
|
|
146
149
|
* but keep the initial write write for future processing by ensuring its `isLatestBaseState` index is "false".
|
|
147
150
|
*/
|
|
148
|
-
static deleteAllOlderMessagesButKeepInitialWrite(tenant, existingMessages, newestMessage, messageStore, dataStore,
|
|
151
|
+
static deleteAllOlderMessagesButKeepInitialWrite(tenant, existingMessages, newestMessage, messageStore, dataStore, stateIndex) {
|
|
149
152
|
return __awaiter(this, void 0, void 0, function* () {
|
|
150
153
|
const deletedMessageCids = [];
|
|
151
154
|
// NOTE: under normal operation, there should only be at most two existing records per `recordId` (initial + a potential subsequent write/delete),
|
|
@@ -176,7 +179,7 @@ export class StorageController {
|
|
|
176
179
|
deletedMessageCids.push(messageCid);
|
|
177
180
|
}
|
|
178
181
|
}
|
|
179
|
-
yield
|
|
182
|
+
yield stateIndex.delete(tenant, deletedMessageCids);
|
|
180
183
|
}
|
|
181
184
|
});
|
|
182
185
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-controller.js","sourceRoot":"","sources":["../../../../src/store/storage-controller.ts"],"names":[],"mappings":";;;;;;;;;AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAQnF;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAO5B,YAAmB,EAAE,YAAY,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"storage-controller.js","sourceRoot":"","sources":["../../../../src/store/storage-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encryption-types.js","sourceRoot":"","sources":["../../../../src/types/encryption-types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-types.js","sourceRoot":"","sources":["../../../../src/types/message-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-types.js","sourceRoot":"","sources":["../../../../src/types/message-types.ts"],"names":[],"mappings":"AA+HC,CAAC"}
|
|
@@ -12,9 +12,7 @@ export var ProtocolAction;
|
|
|
12
12
|
ProtocolAction["Create"] = "create";
|
|
13
13
|
ProtocolAction["Delete"] = "delete";
|
|
14
14
|
ProtocolAction["Prune"] = "prune";
|
|
15
|
-
ProtocolAction["Query"] = "query";
|
|
16
15
|
ProtocolAction["Read"] = "read";
|
|
17
|
-
ProtocolAction["Subscribe"] = "subscribe";
|
|
18
16
|
ProtocolAction["Update"] = "update";
|
|
19
17
|
})(ProtocolAction || (ProtocolAction = {}));
|
|
20
18
|
//# sourceMappingURL=protocols-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocols-types.js","sourceRoot":"","sources":["../../../../src/types/protocols-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocols-types.js","sourceRoot":"","sources":["../../../../src/types/protocols-types.ts"],"names":[],"mappings":"AA+DA,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;AACzB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,MAAM,CAAN,IAAY,cASX;AATD,WAAY,cAAc;IACxB,wCAAsB,CAAA;IACtB,sCAAoB,CAAA;IACpB,wCAAsB,CAAA;IACtB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,mCAAiB,CAAA;AACnB,CAAC,EATW,cAAc,KAAd,cAAc,QASzB"}
|
|
@@ -4,5 +4,7 @@ export var DateSort;
|
|
|
4
4
|
DateSort["CreatedDescending"] = "createdDescending";
|
|
5
5
|
DateSort["PublishedAscending"] = "publishedAscending";
|
|
6
6
|
DateSort["PublishedDescending"] = "publishedDescending";
|
|
7
|
+
DateSort["UpdatedAscending"] = "updatedAscending";
|
|
8
|
+
DateSort["UpdatedDescending"] = "updatedDescending";
|
|
7
9
|
})(DateSort || (DateSort = {}));
|
|
8
10
|
//# sourceMappingURL=records-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-types.js","sourceRoot":"","sources":["../../../../src/types/records-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"records-types.js","sourceRoot":"","sources":["../../../../src/types/records-types.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,iDAAqC,CAAA;IACrC,mDAAuC,CAAA;IACvC,qDAAyC,CAAA;IACzC,uDAA2C,CAAA;IAC3C,iDAAqC,CAAA;IACrC,mDAAuC,CAAA;AACzC,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smt-types.js","sourceRoot":"","sources":["../../../../src/types/smt-types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-index.js","sourceRoot":"","sources":["../../../../src/types/state-index.ts"],"names":[],"mappings":""}
|
|
@@ -17,6 +17,7 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
|
17
17
|
import * as cbor from '@ipld/dag-cbor';
|
|
18
18
|
import { BlockstoreMock } from '../store/blockstore-mock.js';
|
|
19
19
|
import { CID } from 'multiformats/cid';
|
|
20
|
+
import { DataStream } from './data-stream.js';
|
|
20
21
|
import { importer } from 'ipfs-unixfs-importer';
|
|
21
22
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
22
23
|
import { DwnError, DwnErrorCode } from '../core/dwn-error.js';
|
|
@@ -105,7 +106,7 @@ export class Cid {
|
|
|
105
106
|
static computeDagPbCidFromStream(dataStream) {
|
|
106
107
|
return __awaiter(this, void 0, void 0, function* () {
|
|
107
108
|
var _a, e_2, _b, _c;
|
|
108
|
-
const asyncDataBlocks = importer([{ content: dataStream }], new BlockstoreMock(), { cidVersion: 1 });
|
|
109
|
+
const asyncDataBlocks = importer([{ content: DataStream.asAsyncIterable(dataStream) }], new BlockstoreMock(), { cidVersion: 1 });
|
|
109
110
|
// NOTE: the last block contains the root CID
|
|
110
111
|
let block;
|
|
111
112
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cid.js","sourceRoot":"","sources":["../../../../src/utils/cid.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"cid.js","sourceRoot":"","sources":["../../../../src/utils/cid.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,28 +7,48 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
11
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
12
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
13
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
14
|
+
return i = {}, verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
15
|
+
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
|
16
|
+
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
|
17
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
18
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
19
|
+
function fulfill(value) { resume("next", value); }
|
|
20
|
+
function reject(value) { resume("throw", value); }
|
|
21
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
22
|
+
};
|
|
10
23
|
import { Encoder } from './encoder.js';
|
|
11
|
-
import { PassThrough, Readable } from 'readable-stream';
|
|
12
24
|
/**
|
|
13
|
-
* Utility class for readable data stream
|
|
25
|
+
* Utility class for readable data stream using Web ReadableStream API.
|
|
14
26
|
*/
|
|
15
27
|
export class DataStream {
|
|
16
28
|
/**
|
|
17
29
|
* Reads the entire readable stream given into array of bytes.
|
|
30
|
+
* @throws TypeError if `readableStream` is null or undefined.
|
|
18
31
|
*/
|
|
19
32
|
static toBytes(readableStream) {
|
|
20
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
if (readableStream == null) {
|
|
35
|
+
throw new TypeError('DataStream.toBytes(): expected a ReadableStream but received ' + readableStream);
|
|
36
|
+
}
|
|
37
|
+
const reader = readableStream.getReader();
|
|
38
|
+
const chunks = [];
|
|
39
|
+
try {
|
|
40
|
+
while (true) {
|
|
41
|
+
const { done, value } = yield reader.read();
|
|
42
|
+
if (done) {
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
chunks.push(value);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
reader.releaseLock();
|
|
50
|
+
}
|
|
51
|
+
return DataStream.concatenateArrayOfBytes(chunks);
|
|
32
52
|
});
|
|
33
53
|
}
|
|
34
54
|
/**
|
|
@@ -61,21 +81,18 @@ export class DataStream {
|
|
|
61
81
|
static fromBytes(bytes) {
|
|
62
82
|
// chunk up the bytes to simulate a more real-world like behavior
|
|
63
83
|
const chunkLength = 100000;
|
|
64
|
-
let
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
this.push(null);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
this.push(bytes.subarray(currentIndex, currentIndex + chunkLength));
|
|
74
|
-
currentIndex = currentIndex + chunkLength;
|
|
84
|
+
let offset = 0;
|
|
85
|
+
return new ReadableStream({
|
|
86
|
+
pull(controller) {
|
|
87
|
+
if (offset >= bytes.length) {
|
|
88
|
+
controller.close();
|
|
89
|
+
return;
|
|
75
90
|
}
|
|
91
|
+
const end = Math.min(offset + chunkLength, bytes.length);
|
|
92
|
+
controller.enqueue(bytes.subarray(offset, end));
|
|
93
|
+
offset = end;
|
|
76
94
|
}
|
|
77
95
|
});
|
|
78
|
-
return readableStream;
|
|
79
96
|
}
|
|
80
97
|
/**
|
|
81
98
|
* Creates a readable stream from the object given.
|
|
@@ -84,16 +101,54 @@ export class DataStream {
|
|
|
84
101
|
const bytes = Encoder.objectToBytes(object);
|
|
85
102
|
return DataStream.fromBytes(bytes);
|
|
86
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Adapts a Web ReadableStream into an AsyncIterable for compatibility with libraries
|
|
106
|
+
* like `ipfs-unixfs-importer` that expect `AsyncIterable<Uint8Array>`.
|
|
107
|
+
* @throws TypeError if `stream` is null or undefined.
|
|
108
|
+
*/
|
|
109
|
+
static asAsyncIterable(stream) {
|
|
110
|
+
return __asyncGenerator(this, arguments, function* asAsyncIterable_1() {
|
|
111
|
+
if (stream == null) {
|
|
112
|
+
throw new TypeError('DataStream.asAsyncIterable(): expected a ReadableStream but received ' + stream);
|
|
113
|
+
}
|
|
114
|
+
const reader = stream.getReader();
|
|
115
|
+
try {
|
|
116
|
+
while (true) {
|
|
117
|
+
const { done, value } = yield __await(reader.read());
|
|
118
|
+
if (done) {
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
yield yield __await(value);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
finally {
|
|
125
|
+
reader.releaseLock();
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
87
129
|
/**
|
|
88
130
|
* Duplicates the given data stream into the number of streams specified so that multiple handlers can consume the same data stream.
|
|
131
|
+
* Uses the native `ReadableStream.tee()` method for 2 copies, or a custom fan-out for N copies.
|
|
89
132
|
*/
|
|
90
133
|
static duplicateDataStream(dataStream, count) {
|
|
134
|
+
if (count < 1) {
|
|
135
|
+
return [];
|
|
136
|
+
}
|
|
137
|
+
if (count === 1) {
|
|
138
|
+
return [dataStream];
|
|
139
|
+
}
|
|
140
|
+
if (count === 2) {
|
|
141
|
+
return dataStream.tee();
|
|
142
|
+
}
|
|
143
|
+
// For N > 2, recursively tee: tee the stream, keep one copy, and tee the other (count - 1) times
|
|
91
144
|
const streams = [];
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
streams.push(
|
|
145
|
+
let remaining = dataStream;
|
|
146
|
+
for (let i = 0; i < count - 1; i++) {
|
|
147
|
+
const [copy, rest] = remaining.tee();
|
|
148
|
+
streams.push(copy);
|
|
149
|
+
remaining = rest;
|
|
96
150
|
}
|
|
151
|
+
streams.push(remaining);
|
|
97
152
|
return streams;
|
|
98
153
|
}
|
|
99
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-stream.js","sourceRoot":"","sources":["../../../../src/utils/data-stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-stream.js","sourceRoot":"","sources":["../../../../src/utils/data-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import * as crypto from 'crypto';
|
|
11
11
|
import * as eciesjs from 'eciesjs';
|
|
12
|
-
import { Readable } from 'readable-stream';
|
|
13
12
|
// compress publicKey for message encryption
|
|
14
13
|
eciesjs.ECIES_CONFIG.isEphemeralKeyCompressed = true;
|
|
15
14
|
/**
|
|
@@ -22,22 +21,18 @@ export class Encryption {
|
|
|
22
21
|
static aes256CtrEncrypt(key, initializationVector, plaintextStream) {
|
|
23
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
23
|
const cipher = crypto.createCipheriv('aes-256-ctr', key, initializationVector);
|
|
25
|
-
const
|
|
26
|
-
|
|
24
|
+
const transform = new TransformStream({
|
|
25
|
+
transform(chunk, controller) {
|
|
26
|
+
controller.enqueue(new Uint8Array(cipher.update(chunk)));
|
|
27
|
+
},
|
|
28
|
+
flush(controller) {
|
|
29
|
+
const finalChunk = cipher.final();
|
|
30
|
+
if (finalChunk.length > 0) {
|
|
31
|
+
controller.enqueue(new Uint8Array(finalChunk));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
27
34
|
});
|
|
28
|
-
plaintextStream.
|
|
29
|
-
const encryptedChunk = cipher.update(chunk);
|
|
30
|
-
cipherStream.push(encryptedChunk);
|
|
31
|
-
});
|
|
32
|
-
plaintextStream.on('end', () => {
|
|
33
|
-
const finalChunk = cipher.final();
|
|
34
|
-
cipherStream.push(finalChunk);
|
|
35
|
-
cipherStream.push(null);
|
|
36
|
-
});
|
|
37
|
-
plaintextStream.on('error', (err) => {
|
|
38
|
-
cipherStream.emit('error', err);
|
|
39
|
-
});
|
|
40
|
-
return cipherStream;
|
|
35
|
+
return plaintextStream.pipeThrough(transform);
|
|
41
36
|
});
|
|
42
37
|
}
|
|
43
38
|
/**
|
|
@@ -46,22 +41,18 @@ export class Encryption {
|
|
|
46
41
|
static aes256CtrDecrypt(key, initializationVector, cipherStream) {
|
|
47
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
48
43
|
const decipher = crypto.createDecipheriv('aes-256-ctr', key, initializationVector);
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
plaintextStream.push(null);
|
|
60
|
-
});
|
|
61
|
-
cipherStream.on('error', (err) => {
|
|
62
|
-
plaintextStream.emit('error', err);
|
|
44
|
+
const transform = new TransformStream({
|
|
45
|
+
transform(chunk, controller) {
|
|
46
|
+
controller.enqueue(new Uint8Array(decipher.update(chunk)));
|
|
47
|
+
},
|
|
48
|
+
flush(controller) {
|
|
49
|
+
const finalChunk = decipher.final();
|
|
50
|
+
if (finalChunk.length > 0) {
|
|
51
|
+
controller.enqueue(new Uint8Array(finalChunk));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
63
54
|
});
|
|
64
|
-
return
|
|
55
|
+
return cipherStream.pipeThrough(transform);
|
|
65
56
|
});
|
|
66
57
|
}
|
|
67
58
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../../src/utils/encryption.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../../src/utils/encryption.ts"],"names":[],"mappings":"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"}
|