@digitaldefiance/node-ecies-lib 4.4.8 → 4.4.10
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/package.json +6 -5
- package/src/builders/ecies-builder.d.ts +11 -0
- package/src/builders/ecies-builder.d.ts.map +1 -0
- package/src/builders/ecies-builder.js +26 -0
- package/src/builders/ecies-builder.js.map +1 -0
- package/src/builders/{index.ts → index.d.ts} +1 -0
- package/src/builders/index.d.ts.map +1 -0
- package/src/builders/index.js +6 -0
- package/src/builders/index.js.map +1 -0
- package/src/builders/member-builder.d.ts +47 -0
- package/src/builders/member-builder.d.ts.map +1 -0
- package/src/builders/member-builder.js +99 -0
- package/src/builders/member-builder.js.map +1 -0
- package/src/constants.d.ts +38 -0
- package/src/constants.d.ts.map +1 -0
- package/src/constants.js +183 -0
- package/src/constants.js.map +1 -0
- package/src/core/errors/crypto-error.d.ts +6 -0
- package/src/core/errors/crypto-error.d.ts.map +1 -0
- package/src/core/errors/crypto-error.js +15 -0
- package/src/core/errors/crypto-error.js.map +1 -0
- package/src/core/{index.ts → index.d.ts} +1 -0
- package/src/core/index.d.ts.map +1 -0
- package/src/core/index.js +6 -0
- package/src/core/index.js.map +1 -0
- package/src/core/types/result.d.ts +8 -0
- package/src/core/types/result.d.ts.map +1 -0
- package/src/core/types/result.js +3 -0
- package/src/core/types/result.js.map +1 -0
- package/src/enumerations/index.d.ts +2 -0
- package/src/enumerations/index.d.ts.map +1 -0
- package/src/enumerations/index.js +5 -0
- package/src/enumerations/index.js.map +1 -0
- package/src/enumerations/pbkdf2-profile.d.ts +9 -0
- package/src/enumerations/pbkdf2-profile.d.ts.map +1 -0
- package/src/enumerations/pbkdf2-profile.js +13 -0
- package/src/enumerations/pbkdf2-profile.js.map +1 -0
- package/src/i18n/ecies-i18n-factory.d.ts +28 -0
- package/src/i18n/ecies-i18n-factory.d.ts.map +1 -0
- package/src/i18n/ecies-i18n-factory.js +89 -0
- package/src/i18n/ecies-i18n-factory.js.map +1 -0
- package/src/i18n/{index.ts → index.d.ts} +1 -3
- package/src/i18n/index.d.ts.map +1 -0
- package/src/i18n/index.js +8 -0
- package/src/i18n/index.js.map +1 -0
- package/src/i18n/node-ecies-i18n-setup.d.ts +5 -0
- package/src/i18n/node-ecies-i18n-setup.d.ts.map +1 -0
- package/src/i18n/node-ecies-i18n-setup.js +46 -0
- package/src/i18n/node-ecies-i18n-setup.js.map +1 -0
- package/src/i18n/node-keys.d.ts +57 -0
- package/src/i18n/node-keys.d.ts.map +1 -0
- package/src/i18n/node-keys.js +67 -0
- package/src/i18n/node-keys.js.map +1 -0
- package/src/i18n/translations/de.d.ts +3 -0
- package/src/i18n/translations/de.d.ts.map +1 -0
- package/src/i18n/translations/de.js +57 -0
- package/src/i18n/translations/de.js.map +1 -0
- package/src/i18n/translations/en-GB.d.ts +3 -0
- package/src/i18n/translations/en-GB.d.ts.map +1 -0
- package/src/i18n/translations/en-GB.js +61 -0
- package/src/i18n/translations/en-GB.js.map +1 -0
- package/src/i18n/translations/en-US.d.ts +6 -0
- package/src/i18n/translations/en-US.d.ts.map +1 -0
- package/src/i18n/translations/en-US.js +65 -0
- package/src/i18n/translations/en-US.js.map +1 -0
- package/src/i18n/translations/es.d.ts +3 -0
- package/src/i18n/translations/es.d.ts.map +1 -0
- package/src/i18n/translations/es.js +57 -0
- package/src/i18n/translations/es.js.map +1 -0
- package/src/i18n/translations/fr.d.ts +3 -0
- package/src/i18n/translations/fr.d.ts.map +1 -0
- package/src/i18n/translations/fr.js +57 -0
- package/src/i18n/translations/fr.js.map +1 -0
- package/src/i18n/translations/{index.ts → index.d.ts} +1 -0
- package/src/i18n/translations/index.d.ts.map +1 -0
- package/src/i18n/translations/index.js +20 -0
- package/src/i18n/translations/index.js.map +1 -0
- package/src/i18n/translations/ja.d.ts +3 -0
- package/src/i18n/translations/ja.d.ts.map +1 -0
- package/src/i18n/translations/ja.js +57 -0
- package/src/i18n/translations/ja.js.map +1 -0
- package/src/i18n/translations/uk.d.ts +3 -0
- package/src/i18n/translations/uk.d.ts.map +1 -0
- package/src/i18n/translations/uk.js +57 -0
- package/src/i18n/translations/uk.js.map +1 -0
- package/src/i18n/translations/zh-cn.d.ts +3 -0
- package/src/i18n/translations/zh-cn.d.ts.map +1 -0
- package/src/i18n/translations/zh-cn.js +57 -0
- package/src/i18n/translations/zh-cn.js.map +1 -0
- package/src/{index.ts → index.d.ts} +1 -5
- package/src/index.d.ts.map +1 -0
- package/src/index.js +31 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/authenticated-cipher.d.ts +12 -0
- package/src/interfaces/authenticated-cipher.d.ts.map +1 -0
- package/src/interfaces/authenticated-cipher.js +3 -0
- package/src/interfaces/authenticated-cipher.js.map +1 -0
- package/src/interfaces/authenticated-decipher.d.ts +11 -0
- package/src/interfaces/authenticated-decipher.d.ts.map +1 -0
- package/src/interfaces/authenticated-decipher.js +3 -0
- package/src/interfaces/authenticated-decipher.js.map +1 -0
- package/src/interfaces/backend-member-operational.d.ts +48 -0
- package/src/interfaces/backend-member-operational.d.ts.map +1 -0
- package/src/interfaces/backend-member-operational.js +3 -0
- package/src/interfaces/backend-member-operational.js.map +1 -0
- package/src/interfaces/checksum-config.d.ts +5 -0
- package/src/interfaces/checksum-config.d.ts.map +1 -0
- package/src/interfaces/checksum-config.js +3 -0
- package/src/interfaces/checksum-config.js.map +1 -0
- package/src/interfaces/checksum-consts.d.ts +11 -0
- package/src/interfaces/checksum-consts.d.ts.map +1 -0
- package/src/interfaces/checksum-consts.js +3 -0
- package/src/interfaces/checksum-consts.js.map +1 -0
- package/src/interfaces/constants.d.ts +52 -0
- package/src/interfaces/constants.d.ts.map +1 -0
- package/src/interfaces/constants.js +3 -0
- package/src/interfaces/constants.js.map +1 -0
- package/src/interfaces/ecies-consts.d.ts +88 -0
- package/src/interfaces/ecies-consts.d.ts.map +1 -0
- package/src/interfaces/ecies-consts.js +3 -0
- package/src/interfaces/ecies-consts.js.map +1 -0
- package/src/interfaces/encrypted-chunk.d.ts +12 -0
- package/src/interfaces/encrypted-chunk.d.ts.map +1 -0
- package/src/interfaces/encrypted-chunk.js +3 -0
- package/src/interfaces/encrypted-chunk.js.map +1 -0
- package/src/interfaces/encryption-consts.d.ts +11 -0
- package/src/interfaces/encryption-consts.d.ts.map +1 -0
- package/src/interfaces/encryption-consts.js +3 -0
- package/src/interfaces/encryption-consts.js.map +1 -0
- package/src/interfaces/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/index.d.ts.map +1 -0
- package/src/interfaces/index.js +30 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts +6 -0
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts.map +1 -0
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js +3 -0
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js.map +1 -0
- package/src/interfaces/keyring-consts.d.ts +6 -0
- package/src/interfaces/keyring-consts.d.ts.map +1 -0
- package/src/interfaces/keyring-consts.js +3 -0
- package/src/interfaces/keyring-consts.js.map +1 -0
- package/src/interfaces/{member-with-mnemonic.ts → member-with-mnemonic.d.ts} +3 -3
- package/src/interfaces/member-with-mnemonic.d.ts.map +1 -0
- package/src/interfaces/member-with-mnemonic.js +3 -0
- package/src/interfaces/member-with-mnemonic.js.map +1 -0
- package/src/interfaces/member.d.ts +47 -0
- package/src/interfaces/member.d.ts.map +1 -0
- package/src/interfaces/member.js +3 -0
- package/src/interfaces/member.js.map +1 -0
- package/src/interfaces/{multi-encrypted-message.ts → multi-encrypted-message.d.ts} +5 -5
- package/src/interfaces/multi-encrypted-message.d.ts.map +1 -0
- package/src/interfaces/multi-encrypted-message.js +3 -0
- package/src/interfaces/multi-encrypted-message.js.map +1 -0
- package/src/interfaces/multi-encrypted-parsed-header.d.ts +27 -0
- package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -0
- package/src/interfaces/multi-encrypted-parsed-header.js +3 -0
- package/src/interfaces/multi-encrypted-parsed-header.js.map +1 -0
- package/src/interfaces/multi-recipient-chunk.d.ts +26 -0
- package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -0
- package/src/interfaces/multi-recipient-chunk.js +13 -0
- package/src/interfaces/multi-recipient-chunk.js.map +1 -0
- package/src/interfaces/{pbkdf-profiles.ts → pbkdf-profiles.d.ts} +2 -2
- package/src/interfaces/pbkdf-profiles.d.ts.map +1 -0
- package/src/interfaces/pbkdf-profiles.js +3 -0
- package/src/interfaces/pbkdf-profiles.js.map +1 -0
- package/src/interfaces/pbkdf2-result.d.ts +6 -0
- package/src/interfaces/pbkdf2-result.d.ts.map +1 -0
- package/src/interfaces/pbkdf2-result.js +3 -0
- package/src/interfaces/pbkdf2-result.js.map +1 -0
- package/src/interfaces/signing-key-private-key-info.d.ts +11 -0
- package/src/interfaces/signing-key-private-key-info.d.ts.map +1 -0
- package/src/interfaces/signing-key-private-key-info.js +3 -0
- package/src/interfaces/signing-key-private-key-info.js.map +1 -0
- package/src/interfaces/{simple-keypair-buffer.ts → simple-keypair-buffer.d.ts} +3 -3
- package/src/interfaces/simple-keypair-buffer.d.ts.map +1 -0
- package/src/interfaces/simple-keypair-buffer.js +3 -0
- package/src/interfaces/simple-keypair-buffer.js.map +1 -0
- package/src/interfaces/{simple-keypair.ts → simple-keypair.d.ts} +3 -3
- package/src/interfaces/simple-keypair.d.ts.map +1 -0
- package/src/interfaces/simple-keypair.js +3 -0
- package/src/interfaces/simple-keypair.js.map +1 -0
- package/src/interfaces/simple-public-key-only-buffer.d.ts +4 -0
- package/src/interfaces/simple-public-key-only-buffer.d.ts.map +1 -0
- package/src/interfaces/simple-public-key-only-buffer.js +3 -0
- package/src/interfaces/simple-public-key-only-buffer.js.map +1 -0
- package/src/interfaces/simple-public-key-only.d.ts +4 -0
- package/src/interfaces/simple-public-key-only.d.ts.map +1 -0
- package/src/interfaces/simple-public-key-only.js +3 -0
- package/src/interfaces/simple-public-key-only.js.map +1 -0
- package/src/interfaces/single-encrypted-parsed-header.d.ts +35 -0
- package/src/interfaces/single-encrypted-parsed-header.d.ts.map +1 -0
- package/src/interfaces/single-encrypted-parsed-header.js +3 -0
- package/src/interfaces/single-encrypted-parsed-header.js.map +1 -0
- package/src/interfaces/stream-config.d.ts +6 -0
- package/src/interfaces/stream-config.d.ts.map +1 -0
- package/src/interfaces/stream-config.js +8 -0
- package/src/interfaces/stream-config.js.map +1 -0
- package/src/interfaces/stream-progress.d.ts +8 -0
- package/src/interfaces/stream-progress.d.ts.map +1 -0
- package/src/interfaces/stream-progress.js +3 -0
- package/src/interfaces/stream-progress.js.map +1 -0
- package/src/interfaces/{wallet-seed.ts → wallet-seed.d.ts} +3 -3
- package/src/interfaces/wallet-seed.d.ts.map +1 -0
- package/src/interfaces/wallet-seed.js +3 -0
- package/src/interfaces/wallet-seed.js.map +1 -0
- package/src/interfaces/wrapped-key-consts.d.ts +7 -0
- package/src/interfaces/wrapped-key-consts.d.ts.map +1 -0
- package/src/interfaces/wrapped-key-consts.js +3 -0
- package/src/interfaces/wrapped-key-consts.js.map +1 -0
- package/src/lib/crypto-container.d.ts +13 -0
- package/src/lib/crypto-container.d.ts.map +1 -0
- package/src/lib/crypto-container.js +29 -0
- package/src/lib/crypto-container.js.map +1 -0
- package/src/lib/{index.ts → index.d.ts} +1 -0
- package/src/lib/index.d.ts.map +1 -0
- package/src/lib/index.js +7 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/invariant-validator.d.ts +62 -0
- package/src/lib/invariant-validator.d.ts.map +1 -0
- package/src/lib/invariant-validator.js +108 -0
- package/src/lib/invariant-validator.js.map +1 -0
- package/src/lib/invariants/{index.ts → index.d.ts} +2 -2
- package/src/lib/invariants/index.d.ts.map +1 -0
- package/src/lib/invariants/index.js +12 -0
- package/src/lib/invariants/index.js.map +1 -0
- package/src/lib/invariants/recipient-id-consistency.d.ts +22 -0
- package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
- package/src/lib/invariants/recipient-id-consistency.js +62 -0
- package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
- package/src/member.d.ts +81 -0
- package/src/member.d.ts.map +1 -0
- package/src/member.js +285 -0
- package/src/member.js.map +1 -0
- package/src/services/aes-gcm.d.ts +66 -0
- package/src/services/aes-gcm.d.ts.map +1 -0
- package/src/services/aes-gcm.js +158 -0
- package/src/services/aes-gcm.js.map +1 -0
- package/src/services/chunk-processor.d.ts +15 -0
- package/src/services/chunk-processor.d.ts.map +1 -0
- package/src/services/chunk-processor.js +36 -0
- package/src/services/chunk-processor.js.map +1 -0
- package/src/services/ecies/crypto-core.d.ts +104 -0
- package/src/services/ecies/crypto-core.d.ts.map +1 -0
- package/src/services/ecies/crypto-core.js +237 -0
- package/src/services/ecies/crypto-core.js.map +1 -0
- package/src/services/ecies/file.d.ts +30 -0
- package/src/services/ecies/file.d.ts.map +1 -0
- package/src/services/ecies/file.js +112 -0
- package/src/services/ecies/file.js.map +1 -0
- package/src/services/ecies/{index.ts → index.d.ts} +1 -0
- package/src/services/ecies/index.d.ts.map +1 -0
- package/src/services/ecies/index.js +11 -0
- package/src/services/ecies/index.js.map +1 -0
- package/src/services/ecies/multi-recipient.d.ts +84 -0
- package/src/services/ecies/multi-recipient.d.ts.map +1 -0
- package/src/services/ecies/multi-recipient.js +496 -0
- package/src/services/ecies/multi-recipient.js.map +1 -0
- package/src/services/ecies/service.d.ts +69 -0
- package/src/services/ecies/service.d.ts.map +1 -0
- package/src/services/ecies/service.js +144 -0
- package/src/services/ecies/service.js.map +1 -0
- package/src/services/ecies/signature.d.ts +38 -0
- package/src/services/ecies/signature.d.ts.map +1 -0
- package/src/services/ecies/signature.js +69 -0
- package/src/services/ecies/signature.js.map +1 -0
- package/src/services/ecies/single-recipient.d.ts +83 -0
- package/src/services/ecies/single-recipient.d.ts.map +1 -0
- package/src/services/ecies/single-recipient.js +447 -0
- package/src/services/ecies/single-recipient.js.map +1 -0
- package/src/services/ecies/utilities.d.ts +33 -0
- package/src/services/ecies/utilities.d.ts.map +1 -0
- package/src/services/ecies/utilities.js +91 -0
- package/src/services/ecies/utilities.js.map +1 -0
- package/src/services/encryption-stream.d.ts +33 -0
- package/src/services/encryption-stream.d.ts.map +1 -0
- package/src/services/encryption-stream.js +207 -0
- package/src/services/encryption-stream.js.map +1 -0
- package/src/services/{index.ts → index.d.ts} +1 -0
- package/src/services/index.d.ts.map +1 -0
- package/src/services/index.js +11 -0
- package/src/services/index.js.map +1 -0
- package/src/services/multi-recipient-processor.d.ts +72 -0
- package/src/services/multi-recipient-processor.d.ts.map +1 -0
- package/src/services/multi-recipient-processor.js +322 -0
- package/src/services/multi-recipient-processor.js.map +1 -0
- package/src/services/pbkdf2.d.ts +105 -0
- package/src/services/pbkdf2.d.ts.map +1 -0
- package/src/services/pbkdf2.js +189 -0
- package/src/services/pbkdf2.js.map +1 -0
- package/src/services/progress-tracker.d.ts +9 -0
- package/src/services/progress-tracker.d.ts.map +1 -0
- package/src/services/progress-tracker.js +41 -0
- package/src/services/progress-tracker.js.map +1 -0
- package/src/test-mocks/index.d.ts +2 -0
- package/src/test-mocks/index.d.ts.map +1 -0
- package/src/test-mocks/index.js +5 -0
- package/src/test-mocks/index.js.map +1 -0
- package/src/test-mocks/mock-backend-member.d.ts +71 -0
- package/src/test-mocks/mock-backend-member.d.ts.map +1 -0
- package/src/test-mocks/mock-backend-member.js +133 -0
- package/src/test-mocks/mock-backend-member.js.map +1 -0
- package/src/testing.d.ts +2 -0
- package/src/testing.d.ts.map +1 -0
- package/src/testing.js +6 -0
- package/src/testing.js.map +1 -0
- package/src/types/id-guards.d.ts +39 -0
- package/src/types/id-guards.d.ts.map +1 -0
- package/src/types/id-guards.js +91 -0
- package/src/types/id-guards.js.map +1 -0
- package/src/types/index.d.ts +2 -0
- package/src/types/index.d.ts.map +1 -0
- package/src/types/index.js +5 -0
- package/src/types/index.js.map +1 -0
- package/src/{types.ts → types.d.ts} +9 -28
- package/src/types.d.ts.map +1 -0
- package/src/types.js +6 -0
- package/src/types.js.map +1 -0
- package/src/utils.d.ts +11 -0
- package/src/utils.d.ts.map +1 -0
- package/src/utils.js +82 -0
- package/src/utils.js.map +1 -0
- package/LICENSE +0 -21
- package/src/builders/ecies-builder.ts +0 -27
- package/src/builders/member-builder.ts +0 -158
- package/src/constants.ts +0 -251
- package/src/core/errors/crypto-error.ts +0 -10
- package/src/core/types/result.ts +0 -3
- package/src/enumerations/index.ts +0 -2
- package/src/enumerations/pbkdf2-profile.ts +0 -8
- package/src/i18n/ecies-i18n-factory.ts +0 -111
- package/src/i18n/node-ecies-i18n-setup.ts +0 -56
- package/src/i18n/node-keys.ts +0 -69
- package/src/i18n/translations/de.ts +0 -54
- package/src/i18n/translations/en-GB.ts +0 -83
- package/src/i18n/translations/en-US.ts +0 -88
- package/src/i18n/translations/es.ts +0 -54
- package/src/i18n/translations/fr.ts +0 -54
- package/src/i18n/translations/ja.ts +0 -54
- package/src/i18n/translations/uk.ts +0 -54
- package/src/i18n/translations/zh-cn.ts +0 -54
- package/src/interfaces/authenticated-cipher.ts +0 -10
- package/src/interfaces/authenticated-decipher.ts +0 -9
- package/src/interfaces/backend-member-operational.ts +0 -75
- package/src/interfaces/checksum-config.ts +0 -4
- package/src/interfaces/checksum-consts.ts +0 -13
- package/src/interfaces/constants.ts +0 -54
- package/src/interfaces/ecies-consts.ts +0 -99
- package/src/interfaces/encrypted-chunk.ts +0 -12
- package/src/interfaces/encryption-consts.ts +0 -10
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.ts +0 -7
- package/src/interfaces/keyring-consts.ts +0 -5
- package/src/interfaces/member.ts +0 -76
- package/src/interfaces/multi-encrypted-parsed-header.ts +0 -28
- package/src/interfaces/multi-recipient-chunk.ts +0 -35
- package/src/interfaces/pbkdf2-result.ts +0 -5
- package/src/interfaces/signing-key-private-key-info.ts +0 -12
- package/src/interfaces/simple-public-key-only-buffer.ts +0 -3
- package/src/interfaces/simple-public-key-only.ts +0 -3
- package/src/interfaces/single-encrypted-parsed-header.ts +0 -35
- package/src/interfaces/stream-config.ts +0 -9
- package/src/interfaces/stream-progress.ts +0 -7
- package/src/interfaces/wrapped-key-consts.ts +0 -6
- package/src/lib/crypto-container.ts +0 -32
- package/src/lib/invariant-validator.ts +0 -124
- package/src/lib/invariants/recipient-id-consistency.ts +0 -77
- package/src/member.ts +0 -511
- package/src/services/aes-gcm.ts +0 -260
- package/src/services/chunk-processor.ts +0 -47
- package/src/services/ecies/crypto-core.ts +0 -319
- package/src/services/ecies/file.ts +0 -171
- package/src/services/ecies/multi-recipient.ts +0 -782
- package/src/services/ecies/service.ts +0 -316
- package/src/services/ecies/signature.ts +0 -91
- package/src/services/ecies/single-recipient.ts +0 -743
- package/src/services/ecies/utilities.ts +0 -128
- package/src/services/encryption-stream.ts +0 -432
- package/src/services/multi-recipient-processor.ts +0 -505
- package/src/services/pbkdf2.ts +0 -304
- package/src/services/progress-tracker.ts +0 -43
- package/src/test-mocks/index.ts +0 -1
- package/src/test-mocks/mock-backend-member.ts +0 -195
- package/src/testing.ts +0 -2
- package/src/types/id-guards.ts +0 -91
- package/src/types/index.ts +0 -1
- package/src/utils.ts +0 -124
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
export interface IECIESConsts {
|
|
2
|
-
/** The elliptic curve to use for all ECDSA operations */
|
|
3
|
-
CURVE_NAME: string;
|
|
4
|
-
|
|
5
|
-
/** The primary key derivation path for HD wallets */
|
|
6
|
-
PRIMARY_KEY_DERIVATION_PATH: string;
|
|
7
|
-
|
|
8
|
-
/** Length of ECDSA signatures in bytes */
|
|
9
|
-
SIGNATURE_SIZE: number;
|
|
10
|
-
|
|
11
|
-
/** Length of raw public keys in bytes (without 0x04 prefix) */
|
|
12
|
-
RAW_PUBLIC_KEY_LENGTH: number;
|
|
13
|
-
|
|
14
|
-
/** Length of public keys in bytes (with 0x04 prefix) */
|
|
15
|
-
PUBLIC_KEY_LENGTH: number; // RAW_PUBLIC_KEY_LENGTH + 1
|
|
16
|
-
|
|
17
|
-
PUBLIC_KEY_MAGIC: number;
|
|
18
|
-
|
|
19
|
-
/** Mnemonic strength in bits. This will produce a 32-bit key for ECDSA */
|
|
20
|
-
MNEMONIC_STRENGTH: number;
|
|
21
|
-
|
|
22
|
-
/** Symmetric encryption algorithm configuration */
|
|
23
|
-
SYMMETRIC: {
|
|
24
|
-
ALGORITHM: string;
|
|
25
|
-
KEY_BITS: number;
|
|
26
|
-
KEY_SIZE: number; // KEY_BITS / 8
|
|
27
|
-
MODE: string;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Length of the initialization vector
|
|
32
|
-
*/
|
|
33
|
-
IV_SIZE: number;
|
|
34
|
-
/**
|
|
35
|
-
* Length of the authentication tag
|
|
36
|
-
*/
|
|
37
|
-
AUTH_TAG_SIZE: number;
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Maximum length of the data that can be encrypted
|
|
41
|
-
*/
|
|
42
|
-
MAX_RAW_DATA_SIZE: number;
|
|
43
|
-
|
|
44
|
-
SIMPLE: {
|
|
45
|
-
/**
|
|
46
|
-
* Length of the type (1) + public key (65) + IV (16) + auth tag (16)
|
|
47
|
-
*/
|
|
48
|
-
FIXED_OVERHEAD_SIZE: number;
|
|
49
|
-
/**
|
|
50
|
-
* Length of the data length (0 for simple encryption)
|
|
51
|
-
*/
|
|
52
|
-
DATA_LENGTH_SIZE: number;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* ECIES single recipient
|
|
57
|
-
*/
|
|
58
|
-
SINGLE: {
|
|
59
|
-
/**
|
|
60
|
-
* Length of the IV + auth tag + data length + crc16
|
|
61
|
-
*/
|
|
62
|
-
FIXED_OVERHEAD_SIZE: number;
|
|
63
|
-
/**
|
|
64
|
-
* Length of the data length
|
|
65
|
-
*/
|
|
66
|
-
DATA_LENGTH_SIZE: number;
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* ECIES multiple recipient
|
|
71
|
-
*/
|
|
72
|
-
MULTIPLE: {
|
|
73
|
-
/**
|
|
74
|
-
* Length of the IV + auth tag + data length + recipient count for the overall message
|
|
75
|
-
*/
|
|
76
|
-
FIXED_OVERHEAD_SIZE: number;
|
|
77
|
-
/**
|
|
78
|
-
* Length of the encrypted key for each recipient
|
|
79
|
-
*/
|
|
80
|
-
ENCRYPTED_KEY_SIZE: number;
|
|
81
|
-
/**
|
|
82
|
-
* Maximum number of recipients for a single message
|
|
83
|
-
* This is limited by the size of the value used to store the recipient count in the header
|
|
84
|
-
*/
|
|
85
|
-
MAX_RECIPIENTS: number;
|
|
86
|
-
/**
|
|
87
|
-
* Length of the recipient ID
|
|
88
|
-
*/
|
|
89
|
-
RECIPIENT_ID_SIZE: number;
|
|
90
|
-
/**
|
|
91
|
-
* Length of the recipient count
|
|
92
|
-
*/
|
|
93
|
-
RECIPIENT_COUNT_SIZE: number;
|
|
94
|
-
/**
|
|
95
|
-
* Length of the data length
|
|
96
|
-
*/
|
|
97
|
-
DATA_LENGTH_SIZE: number;
|
|
98
|
-
};
|
|
99
|
-
}
|
package/src/interfaces/member.ts
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
EmailString,
|
|
3
|
-
MemberType,
|
|
4
|
-
SecureBuffer,
|
|
5
|
-
SecureString,
|
|
6
|
-
} from '@digitaldefiance/ecies-lib';
|
|
7
|
-
import type { Wallet } from '@ethereumjs/wallet';
|
|
8
|
-
import type { Types } from '@digitaldefiance/mongoose-types';
|
|
9
|
-
import type { SignatureBuffer } from '../types';
|
|
10
|
-
import type { IEncryptedChunk } from './encrypted-chunk';
|
|
11
|
-
import type { IStreamProgress } from './stream-progress';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Interface representing a member with cryptographic capabilities.
|
|
15
|
-
* This interface defines the contract for member operations without
|
|
16
|
-
* referencing concrete class implementations.
|
|
17
|
-
*/
|
|
18
|
-
export interface IMember<
|
|
19
|
-
TID extends string | Types.ObjectId | Buffer | Uint8Array = Buffer
|
|
20
|
-
> {
|
|
21
|
-
// Required properties
|
|
22
|
-
readonly id: TID;
|
|
23
|
-
readonly type: MemberType;
|
|
24
|
-
readonly name: string;
|
|
25
|
-
readonly email: EmailString;
|
|
26
|
-
readonly publicKey: Buffer;
|
|
27
|
-
readonly creatorId: TID;
|
|
28
|
-
readonly dateCreated: Date;
|
|
29
|
-
readonly dateUpdated: Date;
|
|
30
|
-
|
|
31
|
-
// Optional private data properties
|
|
32
|
-
readonly privateKey: SecureBuffer | undefined;
|
|
33
|
-
readonly wallet: Wallet;
|
|
34
|
-
|
|
35
|
-
// State properties
|
|
36
|
-
readonly hasPrivateKey: boolean;
|
|
37
|
-
|
|
38
|
-
// Key management methods
|
|
39
|
-
unloadPrivateKey(): void;
|
|
40
|
-
unloadWallet(): void;
|
|
41
|
-
unloadWalletAndPrivateKey(): void;
|
|
42
|
-
loadWallet(mnemonic: SecureString): void;
|
|
43
|
-
loadPrivateKey(privateKey: SecureBuffer): void;
|
|
44
|
-
|
|
45
|
-
// Cryptographic methods
|
|
46
|
-
sign(data: Buffer): SignatureBuffer;
|
|
47
|
-
signData(data: Buffer): SignatureBuffer;
|
|
48
|
-
verify(signature: SignatureBuffer, data: Buffer): boolean;
|
|
49
|
-
verifySignature(data: Buffer, signature: Buffer, publicKey: Buffer): boolean;
|
|
50
|
-
|
|
51
|
-
// Encryption/Decryption methods
|
|
52
|
-
encryptDataStream(
|
|
53
|
-
source: AsyncIterable<Buffer>,
|
|
54
|
-
options?: {
|
|
55
|
-
recipientPublicKey?: Buffer;
|
|
56
|
-
onProgress?: (progress: IStreamProgress) => void;
|
|
57
|
-
signal?: AbortSignal;
|
|
58
|
-
}
|
|
59
|
-
): AsyncGenerator<IEncryptedChunk, void, unknown>;
|
|
60
|
-
|
|
61
|
-
decryptDataStream(
|
|
62
|
-
source: AsyncIterable<Buffer>,
|
|
63
|
-
options?: {
|
|
64
|
-
onProgress?: (progress: IStreamProgress) => void;
|
|
65
|
-
signal?: AbortSignal;
|
|
66
|
-
}
|
|
67
|
-
): AsyncGenerator<Buffer, void, unknown>;
|
|
68
|
-
|
|
69
|
-
encryptData(data: string | Buffer, recipientPublicKey?: Buffer): Buffer;
|
|
70
|
-
|
|
71
|
-
decryptData(encryptedData: Buffer): Buffer;
|
|
72
|
-
|
|
73
|
-
// Serialization methods
|
|
74
|
-
toJson(): string;
|
|
75
|
-
dispose(): void;
|
|
76
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Types } from '@digitaldefiance/mongoose-types';
|
|
2
|
-
|
|
3
|
-
export interface IMultiEncryptedParsedHeader {
|
|
4
|
-
/**
|
|
5
|
-
* The length of the data before encryption
|
|
6
|
-
*/
|
|
7
|
-
readonly dataLength: number;
|
|
8
|
-
/**
|
|
9
|
-
* The number of recipients
|
|
10
|
-
*/
|
|
11
|
-
readonly recipientCount: number;
|
|
12
|
-
/**
|
|
13
|
-
* The IDs of the recipients
|
|
14
|
-
*/
|
|
15
|
-
readonly recipientIds: Buffer[];
|
|
16
|
-
/**
|
|
17
|
-
* An encrypted version of the symmetric key for each recipient
|
|
18
|
-
*/
|
|
19
|
-
readonly recipientKeys: Buffer[];
|
|
20
|
-
/**
|
|
21
|
-
* The size of the header, up to the encrypted message start (excludes encrypted message IV+auth tag)
|
|
22
|
-
*/
|
|
23
|
-
readonly headerSize: number;
|
|
24
|
-
/**
|
|
25
|
-
* The ephemeral public key used for encryption
|
|
26
|
-
*/
|
|
27
|
-
readonly ephemeralPublicKey?: Buffer;
|
|
28
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export interface IMultiRecipientChunkHeader {
|
|
2
|
-
chunkIndex: number;
|
|
3
|
-
flags: number;
|
|
4
|
-
recipientCount: number;
|
|
5
|
-
magic?: number;
|
|
6
|
-
version?: number;
|
|
7
|
-
originalSize?: number;
|
|
8
|
-
encryptedSize?: number;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface IMultiRecipientChunk {
|
|
12
|
-
header: IMultiRecipientChunkHeader;
|
|
13
|
-
data: Buffer;
|
|
14
|
-
isLast?: boolean;
|
|
15
|
-
recipientCount?: number;
|
|
16
|
-
index?: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface IMultiRecipientConstants {
|
|
20
|
-
MAGIC: number;
|
|
21
|
-
VERSION: number;
|
|
22
|
-
HEADER_SIZE: number;
|
|
23
|
-
KEY_SIZE_BYTES: number;
|
|
24
|
-
FLAG_IS_LAST: number;
|
|
25
|
-
MAX_RECIPIENTS: number;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export const getMultiRecipientConstants = (recipientIdSize: number): IMultiRecipientConstants => ({
|
|
29
|
-
MAGIC: 0x45434945, // 'ECIE'
|
|
30
|
-
VERSION: 1,
|
|
31
|
-
HEADER_SIZE: 64, // Fixed header size before recipient list
|
|
32
|
-
KEY_SIZE_BYTES: 2, // Size of the key size field
|
|
33
|
-
FLAG_IS_LAST: 1,
|
|
34
|
-
MAX_RECIPIENTS: 65535,
|
|
35
|
-
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ec } from 'elliptic';
|
|
2
|
-
import type { IKeyPairBufferWithUnEncryptedPrivateKey } from './keypair-buffer-with-un-encrypted-private-key';
|
|
3
|
-
|
|
4
|
-
export interface ISigningKeyPrivateKeyInfo
|
|
5
|
-
extends IKeyPairBufferWithUnEncryptedPrivateKey {
|
|
6
|
-
keyPair: ec.KeyPair;
|
|
7
|
-
publicKey: Buffer;
|
|
8
|
-
privateKey: Buffer;
|
|
9
|
-
seedHex: string;
|
|
10
|
-
entropy: string;
|
|
11
|
-
mnemonic: string;
|
|
12
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { EciesEncryptionTypeEnum } from '@digitaldefiance/ecies-lib';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Interface for encrypted messages
|
|
5
|
-
*/
|
|
6
|
-
export interface ISingleEncryptedParsedHeader {
|
|
7
|
-
/**
|
|
8
|
-
* The optional preamble, if specified/relevant
|
|
9
|
-
*/
|
|
10
|
-
readonly preamble?: Buffer;
|
|
11
|
-
/**
|
|
12
|
-
* The encryption type used to encrypt the data
|
|
13
|
-
*/
|
|
14
|
-
readonly encryptionType: EciesEncryptionTypeEnum;
|
|
15
|
-
/**
|
|
16
|
-
* The ephemeral public key used to encrypt the data
|
|
17
|
-
*/
|
|
18
|
-
readonly ephemeralPublicKey: Buffer;
|
|
19
|
-
/**
|
|
20
|
-
* The initialization vector used to encrypt the data
|
|
21
|
-
*/
|
|
22
|
-
readonly iv: Buffer;
|
|
23
|
-
/**
|
|
24
|
-
* The authentication tag used to encrypt the data
|
|
25
|
-
*/
|
|
26
|
-
readonly authTag: Buffer;
|
|
27
|
-
/**
|
|
28
|
-
* The length of the encrypted data
|
|
29
|
-
*/
|
|
30
|
-
readonly dataLength: number;
|
|
31
|
-
/**
|
|
32
|
-
* The size of the encrypted data header
|
|
33
|
-
*/
|
|
34
|
-
readonly headerSize: number;
|
|
35
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { ECIESService } from '../services/ecies';
|
|
2
|
-
import { Pbkdf2Service } from '../services/pbkdf2';
|
|
3
|
-
import { AESGCMService } from '../services/aes-gcm';
|
|
4
|
-
import { IConstants } from '../interfaces/constants';
|
|
5
|
-
import { Constants } from '../constants';
|
|
6
|
-
|
|
7
|
-
export enum CryptoServiceKey {
|
|
8
|
-
ECIES = 'ecies',
|
|
9
|
-
PBKDF2 = 'pbkdf2',
|
|
10
|
-
AES_GCM = 'aes-gcm',
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export class CryptoContainer {
|
|
14
|
-
private services = new Map<CryptoServiceKey, unknown>();
|
|
15
|
-
|
|
16
|
-
private constructor(config: IConstants) {
|
|
17
|
-
this.services.set(CryptoServiceKey.ECIES, new ECIESService(undefined, config.ECIES));
|
|
18
|
-
this.services.set(
|
|
19
|
-
CryptoServiceKey.PBKDF2,
|
|
20
|
-
new Pbkdf2Service(config.PBKDF2_PROFILES, config.ECIES, config.PBKDF2)
|
|
21
|
-
);
|
|
22
|
-
this.services.set(CryptoServiceKey.AES_GCM, new AESGCMService(config));
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
static create(config: IConstants = Constants): CryptoContainer {
|
|
26
|
-
return new CryptoContainer(config);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
get<T>(key: CryptoServiceKey): T {
|
|
30
|
-
return this.services.get(key) as T;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
InvariantValidator as BaseInvariantValidator,
|
|
3
|
-
IInvariant
|
|
4
|
-
} from '@digitaldefiance/ecies-lib';
|
|
5
|
-
import { TranslatableGenericError } from '@digitaldefiance/i18n-lib';
|
|
6
|
-
import { IConstants } from '../interfaces/constants';
|
|
7
|
-
import { RecipientIdConsistencyInvariant } from './invariants/recipient-id-consistency';
|
|
8
|
-
import { NodeEciesStringKey, NodeEciesComponentId } from '../i18n/node-keys';
|
|
9
|
-
import { getNodeEciesI18nEngine } from '../i18n/node-ecies-i18n-setup';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Node.js-specific invariant validator.
|
|
13
|
-
*
|
|
14
|
-
* Extends the base ecies-lib validator with Node.js-specific invariants.
|
|
15
|
-
* Validates configuration consistency to prevent bugs like the 12 vs 32-byte
|
|
16
|
-
* recipient ID discrepancy.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* import { InvariantValidator } from '@digitaldefiance/node-ecies-lib';
|
|
21
|
-
* import { MyCustomInvariant } from './my-invariants';
|
|
22
|
-
*
|
|
23
|
-
* // Register a custom invariant
|
|
24
|
-
* InvariantValidator.registerInvariant(new MyCustomInvariant());
|
|
25
|
-
*
|
|
26
|
-
* // Validate configuration
|
|
27
|
-
* InvariantValidator.validateAll(config); // throws if any invariant fails
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export class InvariantValidator {
|
|
31
|
-
/**
|
|
32
|
-
* Node-specific invariants registered by default.
|
|
33
|
-
*/
|
|
34
|
-
private static readonly NODE_DEFAULT_INVARIANTS: IInvariant[] = [
|
|
35
|
-
new RecipientIdConsistencyInvariant(),
|
|
36
|
-
];
|
|
37
|
-
|
|
38
|
-
private static customInvariants: IInvariant[] = [];
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Register a custom invariant to be checked during validation.
|
|
42
|
-
*
|
|
43
|
-
* @param invariant - The invariant to register
|
|
44
|
-
*/
|
|
45
|
-
static registerInvariant(invariant: IInvariant): void {
|
|
46
|
-
this.customInvariants.push(invariant);
|
|
47
|
-
// Also register with base validator for consistency
|
|
48
|
-
BaseInvariantValidator.registerInvariant(invariant);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Unregister a custom invariant by name.
|
|
53
|
-
*
|
|
54
|
-
* @param name - The name of the invariant to unregister
|
|
55
|
-
* @returns true if the invariant was found and removed, false otherwise
|
|
56
|
-
*/
|
|
57
|
-
static unregisterInvariant(name: string): boolean {
|
|
58
|
-
const index = this.customInvariants.findIndex((inv) => inv.name === name);
|
|
59
|
-
if (index === -1) {
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
this.customInvariants.splice(index, 1);
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Get all registered invariants (default + custom).
|
|
68
|
-
*/
|
|
69
|
-
static getAllInvariants(): readonly IInvariant[] {
|
|
70
|
-
return [...this.NODE_DEFAULT_INVARIANTS, ...this.customInvariants];
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Validate all registered invariants against a configuration.
|
|
75
|
-
*
|
|
76
|
-
* This checks both:
|
|
77
|
-
* - Base ecies-lib invariants (via BaseInvariantValidator)
|
|
78
|
-
* - Node-specific invariants
|
|
79
|
-
*
|
|
80
|
-
* @param config - The configuration to validate
|
|
81
|
-
* @throws Error if any invariant check fails
|
|
82
|
-
*/
|
|
83
|
-
static validateAll(config: IConstants): void {
|
|
84
|
-
const failures: string[] = [];
|
|
85
|
-
|
|
86
|
-
// First, validate base ecies-lib invariants, excluding the one we are replacing
|
|
87
|
-
const baseInvariants = BaseInvariantValidator.getAllInvariants();
|
|
88
|
-
for (const invariant of baseInvariants) {
|
|
89
|
-
if (invariant.name === 'RecipientIdConsistency') {
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
if (!invariant.check(config)) {
|
|
93
|
-
failures.push(invariant.errorMessage(config));
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// Then validate Node-specific invariants
|
|
98
|
-
for (const invariant of this.getAllInvariants()) {
|
|
99
|
-
if (!invariant.check(config)) {
|
|
100
|
-
failures.push(invariant.errorMessage(config));
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
if (failures.length > 0) {
|
|
105
|
-
const engine = getNodeEciesI18nEngine();
|
|
106
|
-
throw TranslatableGenericError.withEngine(
|
|
107
|
-
engine,
|
|
108
|
-
NodeEciesComponentId,
|
|
109
|
-
NodeEciesStringKey.Error_Invariant_ConfigurationValidationFailedTemplate,
|
|
110
|
-
{ failures: failures.join('\n\n') },
|
|
111
|
-
undefined,
|
|
112
|
-
{ invariantCount: failures.length }
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Clear all custom invariants.
|
|
119
|
-
* Default invariants are not affected.
|
|
120
|
-
*/
|
|
121
|
-
static clearCustomInvariants(): void {
|
|
122
|
-
this.customInvariants = [];
|
|
123
|
-
}
|
|
124
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { BaseInvariant } from '@digitaldefiance/ecies-lib';
|
|
2
|
-
import { IConstants } from '../../interfaces/constants';
|
|
3
|
-
import { NodeEciesStringKey } from '../../i18n/node-keys';
|
|
4
|
-
import { getNodeEciesTranslation } from '../../i18n/ecies-i18n-factory';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Node.js-specific recipient ID consistency invariant.
|
|
8
|
-
*
|
|
9
|
-
* Extends the base ecies-lib invariant to also validate node-specific
|
|
10
|
-
* ENCRYPTION.RECIPIENT_ID_SIZE constant.
|
|
11
|
-
*
|
|
12
|
-
* This invariant would have caught the 12 vs 32 byte discrepancy.
|
|
13
|
-
*
|
|
14
|
-
* Checks:
|
|
15
|
-
* - MEMBER_ID_LENGTH === idProvider.byteLength
|
|
16
|
-
* - ECIES.MULTIPLE.RECIPIENT_ID_SIZE === idProvider.byteLength
|
|
17
|
-
* - ENCRYPTION.RECIPIENT_ID_SIZE === idProvider.byteLength (Node-specific)
|
|
18
|
-
* - All values must be in sync
|
|
19
|
-
*/
|
|
20
|
-
export class RecipientIdConsistencyInvariant extends BaseInvariant {
|
|
21
|
-
constructor() {
|
|
22
|
-
super(
|
|
23
|
-
'NodeRecipientIdConsistency',
|
|
24
|
-
'All recipient ID size configurations must match the ID provider byte length (including Node-specific ENCRYPTION constant)'
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
check(config: IConstants): boolean {
|
|
29
|
-
const baseChecks =
|
|
30
|
-
config.MEMBER_ID_LENGTH === config.idProvider.byteLength &&
|
|
31
|
-
config.ECIES.MULTIPLE.RECIPIENT_ID_SIZE === config.idProvider.byteLength;
|
|
32
|
-
|
|
33
|
-
// ENCRYPTION is node-specific and may not exist in all configs
|
|
34
|
-
if (config.ENCRYPTION && 'RECIPIENT_ID_SIZE' in config.ENCRYPTION) {
|
|
35
|
-
return baseChecks && config.ENCRYPTION.RECIPIENT_ID_SIZE === config.idProvider.byteLength;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return baseChecks;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
errorMessage(config: IConstants): string {
|
|
42
|
-
const issues: string[] = [];
|
|
43
|
-
|
|
44
|
-
if (config.MEMBER_ID_LENGTH !== config.idProvider.byteLength) {
|
|
45
|
-
issues.push(
|
|
46
|
-
getNodeEciesTranslation(NodeEciesStringKey.Error_Invariant_MemberIdLengthMismatchTemplate, {
|
|
47
|
-
actual: config.MEMBER_ID_LENGTH,
|
|
48
|
-
expected: config.idProvider.byteLength,
|
|
49
|
-
})
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (config.ECIES.MULTIPLE.RECIPIENT_ID_SIZE !== config.idProvider.byteLength) {
|
|
54
|
-
issues.push(
|
|
55
|
-
getNodeEciesTranslation(NodeEciesStringKey.Error_Invariant_EciesMultipleRecipientIdSizeMismatchTemplate, {
|
|
56
|
-
actual: config.ECIES.MULTIPLE.RECIPIENT_ID_SIZE,
|
|
57
|
-
expected: config.idProvider.byteLength,
|
|
58
|
-
})
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (config.ENCRYPTION && 'RECIPIENT_ID_SIZE' in config.ENCRYPTION) {
|
|
63
|
-
if (config.ENCRYPTION.RECIPIENT_ID_SIZE !== config.idProvider.byteLength) {
|
|
64
|
-
issues.push(
|
|
65
|
-
getNodeEciesTranslation(NodeEciesStringKey.Error_Invariant_EncryptionRecipientIdSizeMismatchTemplate, {
|
|
66
|
-
actual: config.ENCRYPTION.RECIPIENT_ID_SIZE,
|
|
67
|
-
expected: config.idProvider.byteLength,
|
|
68
|
-
})
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return getNodeEciesTranslation(NodeEciesStringKey.Error_Invariant_NodeRecipientIdConsistency_FailedTemplate, {
|
|
74
|
-
issues: issues.join('\n '),
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
}
|