@okee-e2ee/protocol 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/index.d.ts +2 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +1 -0
- package/dist/constants/protocol.d.ts +2 -0
- package/dist/constants/protocol.d.ts.map +1 -0
- package/dist/constants/protocol.js +1 -0
- package/dist/crypto-core/constants/algorithms.d.ts +27 -0
- package/dist/crypto-core/constants/algorithms.d.ts.map +1 -0
- package/dist/crypto-core/constants/algorithms.js +26 -0
- package/dist/crypto-core/constants/context.d.ts +2 -0
- package/dist/crypto-core/constants/context.d.ts.map +1 -0
- package/dist/crypto-core/constants/context.js +5 -0
- package/dist/crypto-core/constants/index.d.ts +4 -0
- package/dist/crypto-core/constants/index.d.ts.map +1 -0
- package/dist/crypto-core/constants/index.js +3 -0
- package/dist/crypto-core/constants/protocol.d.ts +3 -0
- package/dist/crypto-core/constants/protocol.d.ts.map +1 -0
- package/dist/crypto-core/constants/protocol.js +2 -0
- package/dist/crypto-core/contracts/CodecContract.d.ts +7 -0
- package/dist/crypto-core/contracts/CodecContract.d.ts.map +1 -0
- package/dist/crypto-core/contracts/CodecContract.js +1 -0
- package/dist/crypto-core/contracts/index.d.ts +2 -0
- package/dist/crypto-core/contracts/index.d.ts.map +1 -0
- package/dist/crypto-core/contracts/index.js +1 -0
- package/dist/crypto-core/encoding/ByteReader.d.ts +20 -0
- package/dist/crypto-core/encoding/ByteReader.d.ts.map +1 -0
- package/dist/crypto-core/encoding/ByteReader.js +79 -0
- package/dist/crypto-core/encoding/ByteWriter.d.ts +20 -0
- package/dist/crypto-core/encoding/ByteWriter.d.ts.map +1 -0
- package/dist/crypto-core/encoding/ByteWriter.js +95 -0
- package/dist/crypto-core/encoding/helpers/encode-signature-input.d.ts +3 -0
- package/dist/crypto-core/encoding/helpers/encode-signature-input.d.ts.map +1 -0
- package/dist/crypto-core/encoding/helpers/encode-signature-input.js +7 -0
- package/dist/crypto-core/encoding/helpers/index.d.ts +2 -0
- package/dist/crypto-core/encoding/helpers/index.d.ts.map +1 -0
- package/dist/crypto-core/encoding/helpers/index.js +1 -0
- package/dist/crypto-core/encoding/index.d.ts +4 -0
- package/dist/crypto-core/encoding/index.d.ts.map +1 -0
- package/dist/crypto-core/encoding/index.js +3 -0
- package/dist/crypto-core/errors/CryptoCoreError.d.ts +11 -0
- package/dist/crypto-core/errors/CryptoCoreError.d.ts.map +1 -0
- package/dist/crypto-core/errors/CryptoCoreError.js +10 -0
- package/dist/crypto-core/errors/error-codes.d.ts +7 -0
- package/dist/crypto-core/errors/error-codes.d.ts.map +1 -0
- package/dist/crypto-core/errors/error-codes.js +5 -0
- package/dist/crypto-core/errors/error-messages.d.ts +3 -0
- package/dist/crypto-core/errors/error-messages.d.ts.map +1 -0
- package/dist/crypto-core/errors/error-messages.js +6 -0
- package/dist/crypto-core/errors/helpers/execute-crypto-core-or-throw.d.ts +13 -0
- package/dist/crypto-core/errors/helpers/execute-crypto-core-or-throw.d.ts.map +1 -0
- package/dist/crypto-core/errors/helpers/execute-crypto-core-or-throw.js +22 -0
- package/dist/crypto-core/errors/helpers/index.d.ts +2 -0
- package/dist/crypto-core/errors/helpers/index.d.ts.map +1 -0
- package/dist/crypto-core/errors/helpers/index.js +1 -0
- package/dist/crypto-core/errors/index.d.ts +5 -0
- package/dist/crypto-core/errors/index.d.ts.map +1 -0
- package/dist/crypto-core/errors/index.js +4 -0
- package/dist/crypto-core/index.d.ts +8 -0
- package/dist/crypto-core/index.d.ts.map +1 -0
- package/dist/crypto-core/index.js +7 -0
- package/dist/crypto-core/model/brand.d.ts +11 -0
- package/dist/crypto-core/model/brand.d.ts.map +1 -0
- package/dist/crypto-core/model/brand.js +1 -0
- package/dist/crypto-core/model/crypto-inputs.d.ts +20 -0
- package/dist/crypto-core/model/crypto-inputs.d.ts.map +1 -0
- package/dist/crypto-core/model/crypto-inputs.js +1 -0
- package/dist/crypto-core/model/index.d.ts +5 -0
- package/dist/crypto-core/model/index.d.ts.map +1 -0
- package/dist/crypto-core/model/index.js +4 -0
- package/dist/crypto-core/model/keys.d.ts +15 -0
- package/dist/crypto-core/model/keys.d.ts.map +1 -0
- package/dist/crypto-core/model/keys.js +1 -0
- package/dist/crypto-core/model/x-wing.d.ts +10 -0
- package/dist/crypto-core/model/x-wing.d.ts.map +1 -0
- package/dist/crypto-core/model/x-wing.js +1 -0
- package/dist/crypto-core/primitives/CryptoPrimitivesFacade.d.ts +19 -0
- package/dist/crypto-core/primitives/CryptoPrimitivesFacade.d.ts.map +1 -0
- package/dist/crypto-core/primitives/CryptoPrimitivesFacade.js +145 -0
- package/dist/crypto-core/primitives/contracts/CryptoPrimitivesFacadeContract.d.ts +16 -0
- package/dist/crypto-core/primitives/contracts/CryptoPrimitivesFacadeContract.d.ts.map +1 -0
- package/dist/crypto-core/primitives/contracts/CryptoPrimitivesFacadeContract.js +1 -0
- package/dist/crypto-core/primitives/contracts/CryptoPrimitivesPort.d.ts +18 -0
- package/dist/crypto-core/primitives/contracts/CryptoPrimitivesPort.d.ts.map +1 -0
- package/dist/crypto-core/primitives/contracts/CryptoPrimitivesPort.js +1 -0
- package/dist/crypto-core/primitives/contracts/XWingPort.d.ts +8 -0
- package/dist/crypto-core/primitives/contracts/XWingPort.d.ts.map +1 -0
- package/dist/crypto-core/primitives/contracts/XWingPort.js +1 -0
- package/dist/crypto-core/primitives/contracts/index.d.ts +4 -0
- package/dist/crypto-core/primitives/contracts/index.d.ts.map +1 -0
- package/dist/crypto-core/primitives/contracts/index.js +3 -0
- package/dist/crypto-core/primitives/index.d.ts +3 -0
- package/dist/crypto-core/primitives/index.d.ts.map +1 -0
- package/dist/crypto-core/primitives/index.js +2 -0
- package/dist/crypto-core/signature/SignatureFacade.d.ts +23 -0
- package/dist/crypto-core/signature/SignatureFacade.d.ts.map +1 -0
- package/dist/crypto-core/signature/SignatureFacade.js +112 -0
- package/dist/crypto-core/signature/contracts/Ed25519Port.d.ts +9 -0
- package/dist/crypto-core/signature/contracts/Ed25519Port.d.ts.map +1 -0
- package/dist/crypto-core/signature/contracts/Ed25519Port.js +1 -0
- package/dist/crypto-core/signature/contracts/MlDsaPort.d.ts +9 -0
- package/dist/crypto-core/signature/contracts/MlDsaPort.d.ts.map +1 -0
- package/dist/crypto-core/signature/contracts/MlDsaPort.js +1 -0
- package/dist/crypto-core/signature/contracts/SignatureFacadeContract.d.ts +12 -0
- package/dist/crypto-core/signature/contracts/SignatureFacadeContract.d.ts.map +1 -0
- package/dist/crypto-core/signature/contracts/SignatureFacadeContract.js +1 -0
- package/dist/crypto-core/signature/contracts/index.d.ts +4 -0
- package/dist/crypto-core/signature/contracts/index.d.ts.map +1 -0
- package/dist/crypto-core/signature/contracts/index.js +3 -0
- package/dist/crypto-core/signature/index.d.ts +4 -0
- package/dist/crypto-core/signature/index.d.ts.map +1 -0
- package/dist/crypto-core/signature/index.js +3 -0
- package/dist/crypto-core/signature/model/index.d.ts +2 -0
- package/dist/crypto-core/signature/model/index.d.ts.map +1 -0
- package/dist/crypto-core/signature/model/index.js +1 -0
- package/dist/crypto-core/signature/model/signature-model.d.ts +18 -0
- package/dist/crypto-core/signature/model/signature-model.d.ts.map +1 -0
- package/dist/crypto-core/signature/model/signature-model.js +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/transport/codecs/RelayEncryptionKeyBundleCodec.d.ts +10 -0
- package/dist/transport/codecs/RelayEncryptionKeyBundleCodec.d.ts.map +1 -0
- package/dist/transport/codecs/RelayEncryptionKeyBundleCodec.js +42 -0
- package/dist/transport/codecs/RelayIdentityPublicKeyCodec.d.ts +10 -0
- package/dist/transport/codecs/RelayIdentityPublicKeyCodec.d.ts.map +1 -0
- package/dist/transport/codecs/RelayIdentityPublicKeyCodec.js +27 -0
- package/dist/transport/codecs/index.d.ts +3 -0
- package/dist/transport/codecs/index.d.ts.map +1 -0
- package/dist/transport/codecs/index.js +2 -0
- package/dist/transport/constants/index.d.ts +3 -0
- package/dist/transport/constants/index.d.ts.map +1 -0
- package/dist/transport/constants/index.js +2 -0
- package/dist/transport/constants/relay-constants.d.ts +4 -0
- package/dist/transport/constants/relay-constants.d.ts.map +1 -0
- package/dist/transport/constants/relay-constants.js +4 -0
- package/dist/transport/constants/transport-context.d.ts +3 -0
- package/dist/transport/constants/transport-context.d.ts.map +1 -0
- package/dist/transport/constants/transport-context.js +5 -0
- package/dist/transport/helpers/derive-relay-identity-fingerprint.d.ts +4 -0
- package/dist/transport/helpers/derive-relay-identity-fingerprint.d.ts.map +1 -0
- package/dist/transport/helpers/derive-relay-identity-fingerprint.js +7 -0
- package/dist/transport/helpers/encode-relay-key-bundle-signature-input.d.ts +4 -0
- package/dist/transport/helpers/encode-relay-key-bundle-signature-input.d.ts.map +1 -0
- package/dist/transport/helpers/encode-relay-key-bundle-signature-input.js +7 -0
- package/dist/transport/helpers/index.d.ts +3 -0
- package/dist/transport/helpers/index.d.ts.map +1 -0
- package/dist/transport/helpers/index.js +2 -0
- package/dist/transport/index.d.ts +5 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +4 -0
- package/dist/transport/model/index.d.ts +4 -0
- package/dist/transport/model/index.d.ts.map +1 -0
- package/dist/transport/model/index.js +3 -0
- package/dist/transport/model/queue-model.d.ts +16 -0
- package/dist/transport/model/queue-model.d.ts.map +1 -0
- package/dist/transport/model/queue-model.js +1 -0
- package/dist/transport/model/relay-address.d.ts +7 -0
- package/dist/transport/model/relay-address.d.ts.map +1 -0
- package/dist/transport/model/relay-address.js +1 -0
- package/dist/transport/model/relay-key-bundle.d.ts +15 -0
- package/dist/transport/model/relay-key-bundle.d.ts.map +1 -0
- package/dist/transport/model/relay-key-bundle.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Result } from "@okee-e2ee/core";
|
|
2
|
+
import { DecodeError } from "@okee-e2ee/core/errors";
|
|
3
|
+
import { CodecContract } from "../../crypto-core/contracts";
|
|
4
|
+
import { Bytes } from "../../crypto-core/model";
|
|
5
|
+
import { RelayEncryptionKeyBundle } from "../model";
|
|
6
|
+
export declare class RelayEncryptionKeyBundleCodec implements CodecContract<RelayEncryptionKeyBundle> {
|
|
7
|
+
encode(value: RelayEncryptionKeyBundle): Bytes;
|
|
8
|
+
decode(bytes: Bytes): Result<RelayEncryptionKeyBundle, DecodeError>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=RelayEncryptionKeyBundleCodec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelayEncryptionKeyBundleCodec.d.ts","sourceRoot":"","sources":["../../../src/transport/codecs/RelayEncryptionKeyBundleCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE1E,OAAO,EAAE,KAAK,EAAkB,MAAM,uCAAuC,CAAC;AAG9E,OAAO,EAAE,wBAAwB,EAAwB,MAAM,UAAU,CAAC;AAE1E,qBAAa,6BAA8B,YAAW,aAAa,CAAC,wBAAwB,CAAC;IACrF,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,KAAK,CAYpD;IAEM,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAyBzE;CACD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { DecodeError } from "@okee-e2ee/core/errors";
|
|
2
|
+
import { CRYPTO_SIZES_BYTES } from "../../crypto-core/constants";
|
|
3
|
+
import { ByteReader, ByteWriter } from "../../crypto-core/encoding";
|
|
4
|
+
import { RELAY_KEY_BUNDLE_FORMAT_VERSION } from "../constants";
|
|
5
|
+
export class RelayEncryptionKeyBundleCodec {
|
|
6
|
+
encode(value) {
|
|
7
|
+
if (value.formatVersion !== RELAY_KEY_BUNDLE_FORMAT_VERSION) {
|
|
8
|
+
throw new RangeError(`formatVersion must be ${RELAY_KEY_BUNDLE_FORMAT_VERSION}`);
|
|
9
|
+
}
|
|
10
|
+
return new ByteWriter()
|
|
11
|
+
.writeU8(value.formatVersion)
|
|
12
|
+
.writeU64(value.keyId)
|
|
13
|
+
.writeFixedBytes(value.publicKey, CRYPTO_SIZES_BYTES.xWingPublicKey)
|
|
14
|
+
.writeU64(value.validFrom)
|
|
15
|
+
.writeU64(value.expiresAt)
|
|
16
|
+
.toBytes();
|
|
17
|
+
}
|
|
18
|
+
decode(bytes) {
|
|
19
|
+
const reader = new ByteReader(bytes);
|
|
20
|
+
try {
|
|
21
|
+
const versionOffset = reader.offset;
|
|
22
|
+
const formatVersion = reader.readU8();
|
|
23
|
+
if (formatVersion !== RELAY_KEY_BUNDLE_FORMAT_VERSION) {
|
|
24
|
+
throw new DecodeError(`unsupported formatVersion ${formatVersion}`, versionOffset);
|
|
25
|
+
}
|
|
26
|
+
const value = {
|
|
27
|
+
formatVersion,
|
|
28
|
+
keyId: reader.readU64(),
|
|
29
|
+
publicKey: reader.readFixedBytes(CRYPTO_SIZES_BYTES.xWingPublicKey),
|
|
30
|
+
validFrom: reader.readU64(),
|
|
31
|
+
expiresAt: reader.readU64()
|
|
32
|
+
};
|
|
33
|
+
reader.assertEnd();
|
|
34
|
+
return { ok: true, value };
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
if (error instanceof DecodeError)
|
|
38
|
+
return { ok: false, error };
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Result } from "@okee-e2ee/core";
|
|
2
|
+
import { DecodeError } from "@okee-e2ee/core/errors";
|
|
3
|
+
import { CodecContract } from "../../crypto-core/contracts";
|
|
4
|
+
import { Bytes } from "../../crypto-core/model";
|
|
5
|
+
import { HybridSignaturePublicKey } from "../../crypto-core/signature/model";
|
|
6
|
+
export declare class RelayIdentityPublicKeyCodec implements CodecContract<HybridSignaturePublicKey> {
|
|
7
|
+
encode(value: HybridSignaturePublicKey): Bytes;
|
|
8
|
+
decode(bytes: Bytes): Result<HybridSignaturePublicKey, DecodeError>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=RelayIdentityPublicKeyCodec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelayIdentityPublicKeyCodec.d.ts","sourceRoot":"","sources":["../../../src/transport/codecs/RelayIdentityPublicKeyCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE1E,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAEN,wBAAwB,EAExB,MAAM,iDAAiD,CAAC;AAEzD,qBAAa,2BAA4B,YAAW,aAAa,CAAC,wBAAwB,CAAC;IACnF,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,KAAK,CAKpD;IAEM,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAgBzE;CACD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DecodeError } from "@okee-e2ee/core/errors";
|
|
2
|
+
import { CRYPTO_SIZES_BYTES } from "../../crypto-core/constants";
|
|
3
|
+
import { ByteReader, ByteWriter } from "../../crypto-core/encoding";
|
|
4
|
+
export class RelayIdentityPublicKeyCodec {
|
|
5
|
+
encode(value) {
|
|
6
|
+
return new ByteWriter()
|
|
7
|
+
.writeFixedBytes(value.ed25519, CRYPTO_SIZES_BYTES.ed25519PublicKey)
|
|
8
|
+
.writeFixedBytes(value.mlDsa, CRYPTO_SIZES_BYTES.mlDsaPublicKey)
|
|
9
|
+
.toBytes();
|
|
10
|
+
}
|
|
11
|
+
decode(bytes) {
|
|
12
|
+
const reader = new ByteReader(bytes);
|
|
13
|
+
try {
|
|
14
|
+
const value = {
|
|
15
|
+
ed25519: reader.readFixedBytes(CRYPTO_SIZES_BYTES.ed25519PublicKey),
|
|
16
|
+
mlDsa: reader.readFixedBytes(CRYPTO_SIZES_BYTES.mlDsaPublicKey)
|
|
17
|
+
};
|
|
18
|
+
reader.assertEnd();
|
|
19
|
+
return { ok: true, value };
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
if (error instanceof DecodeError)
|
|
23
|
+
return { ok: false, error };
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/codecs/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay-constants.d.ts","sourceRoot":"","sources":["../../../src/transport/constants/relay-constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,eAAO,MAAM,kCAAkC,QAE9C,CAAC;AACF,eAAO,MAAM,kCAAkC,QAE9C,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createTransportCryptoContext } from "./transport-context";
|
|
2
|
+
export const RELAY_KEY_BUNDLE_FORMAT_VERSION = 1;
|
|
3
|
+
export const RELAY_IDENTITY_FINGERPRINT_CONTEXT = createTransportCryptoContext("relay/identity-fingerprint");
|
|
4
|
+
export const RELAY_KEY_BUNDLE_SIGNATURE_CONTEXT = createTransportCryptoContext("relay/encryption-key-bundle-signature");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport-context.d.ts","sourceRoot":"","sources":["../../../src/transport/constants/transport-context.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,EACrC,mDAA4D,CAAC;AAE9D,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { OKEE_PROTOCOL_ID } from "../../constants";
|
|
2
|
+
export const TRANSPORT_CRYPTO_SUITE_ID = "x-wing-ed25519-ml-dsa-65-aes-256-gcm-hkdf-sha-256";
|
|
3
|
+
export function createTransportCryptoContext(purpose) {
|
|
4
|
+
return `${OKEE_PROTOCOL_ID}/${TRANSPORT_CRYPTO_SUITE_ID}/${purpose}`;
|
|
5
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type CryptoPrimitivesFacadeContract, type HybridSignaturePublicKey } from "../../crypto-core";
|
|
2
|
+
import { RelayIdentityFingerprint } from "../model";
|
|
3
|
+
export declare function deriveRelayIdentityFingerprint(crypto: CryptoPrimitivesFacadeContract, publicKey: HybridSignaturePublicKey): Promise<RelayIdentityFingerprint>;
|
|
4
|
+
//# sourceMappingURL=derive-relay-identity-fingerprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive-relay-identity-fingerprint.d.ts","sourceRoot":"","sources":["../../../src/transport/helpers/derive-relay-identity-fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,8BAA8B,EAEnC,KAAK,wBAAwB,EAC7B,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIpD,wBAAsB,8BAA8B,CACnD,MAAM,EAAE,8BAA8B,EACtC,SAAS,EAAE,wBAAwB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAInC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { encodeSignatureInput } from "../../crypto-core";
|
|
2
|
+
import { RelayIdentityPublicKeyCodec } from "../codecs";
|
|
3
|
+
import { RELAY_IDENTITY_FINGERPRINT_CONTEXT } from "../constants";
|
|
4
|
+
const identityCodec = new RelayIdentityPublicKeyCodec();
|
|
5
|
+
export async function deriveRelayIdentityFingerprint(crypto, publicKey) {
|
|
6
|
+
return (await crypto.sha256(encodeSignatureInput(RELAY_IDENTITY_FINGERPRINT_CONTEXT, identityCodec.encode(publicKey))));
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode-relay-key-bundle-signature-input.d.ts","sourceRoot":"","sources":["../../../src/transport/helpers/encode-relay-key-bundle-signature-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAwB,MAAM,iCAAiC,CAAC;AAI9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIpD,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,wBAAwB,GAAG,KAAK,CAE1F"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { encodeSignatureInput } from "../../crypto-core";
|
|
2
|
+
import { RelayEncryptionKeyBundleCodec } from "../codecs";
|
|
3
|
+
import { RELAY_KEY_BUNDLE_SIGNATURE_CONTEXT } from "../constants";
|
|
4
|
+
const keyBundleCodec = new RelayEncryptionKeyBundleCodec();
|
|
5
|
+
export function encodeRelayKeyBundleSignatureInput(bundle) {
|
|
6
|
+
return encodeSignatureInput(RELAY_KEY_BUNDLE_SIGNATURE_CONTEXT, keyBundleCodec.encode(bundle));
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Branded, Bytes, PublicKey } from "../../crypto-core";
|
|
2
|
+
import { RelayAddress } from "./relay-address";
|
|
3
|
+
export type RecipientQueueId = Branded<string, "TransportRecipientQueueId">;
|
|
4
|
+
export type SenderQueueId = Branded<string, "TransportSenderQueueId">;
|
|
5
|
+
export type TransportOperationId = Branded<string, "TransportOperationId">;
|
|
6
|
+
export type DeliveryId = Branded<string, "TransportDeliveryId">;
|
|
7
|
+
export type RecipientHybridAuthPublicKey = PublicKey<Bytes, "TransportRecipientHybridAuth">;
|
|
8
|
+
export type SenderHybridAuthPublicKey = PublicKey<Bytes, "TransportSenderHybridAuth">;
|
|
9
|
+
export type QueueSetupCapability = Branded<Bytes, "TransportQueueSetupCapability">;
|
|
10
|
+
export type QueueSetupVerifier = Branded<Bytes, "TransportQueueSetupVerifier">;
|
|
11
|
+
export type SendQueueAddress = {
|
|
12
|
+
readonly senderQueueId: SenderQueueId;
|
|
13
|
+
readonly relay: RelayAddress;
|
|
14
|
+
readonly setupCapability: QueueSetupCapability;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=queue-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-model.d.ts","sourceRoot":"","sources":["../../../src/transport/model/queue-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAC3E,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAEhE,MAAM,MAAM,4BAA4B,GAAG,SAAS,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;AAC5F,MAAM,MAAM,yBAAyB,GAAG,SAAS,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;AAEtF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;AACnF,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;AAE/E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,oBAAoB,CAAC;CAC/C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Branded, Bytes } from "../../crypto-core";
|
|
2
|
+
export type RelayIdentityFingerprint = Branded<Bytes, "TransportRelayIdentityFingerprint">;
|
|
3
|
+
export type RelayAddress = {
|
|
4
|
+
readonly address: string;
|
|
5
|
+
readonly fingerprint: RelayIdentityFingerprint;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=relay-address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay-address.d.ts","sourceRoot":"","sources":["../../../src/transport/model/relay-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,KAAK,EAAE,mCAAmC,CAAC,CAAC;AAE3F,MAAM,MAAM,YAAY,GAAG;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;CAC/C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Branded, XWingPublicKey } from "../../crypto-core";
|
|
2
|
+
import { HybridSignature } from "../../crypto-core/signature/model";
|
|
3
|
+
import { RELAY_KEY_BUNDLE_FORMAT_VERSION } from "../constants";
|
|
4
|
+
export type RelayEncryptionKeyId = Branded<bigint, "TransportRelayEncryptionKeyId">;
|
|
5
|
+
export type RelayEncryptionKeyBundle = {
|
|
6
|
+
readonly formatVersion: typeof RELAY_KEY_BUNDLE_FORMAT_VERSION;
|
|
7
|
+
readonly keyId: RelayEncryptionKeyId;
|
|
8
|
+
readonly publicKey: XWingPublicKey;
|
|
9
|
+
readonly validFrom: bigint;
|
|
10
|
+
readonly expiresAt: bigint;
|
|
11
|
+
};
|
|
12
|
+
export type SignedRelayEncryptionKeyBundle = RelayEncryptionKeyBundle & {
|
|
13
|
+
readonly signature: HybridSignature;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=relay-key-bundle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay-key-bundle.d.ts","sourceRoot":"","sources":["../../../src/transport/model/relay-key-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAElF,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;AAEpF,MAAM,MAAM,wBAAwB,GAAG;IACtC,QAAQ,CAAC,aAAa,EAAE,OAAO,+BAA+B,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,GAAG;IACvE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|