@dynamic-labs-wallet/forward-mpc-shared 0.1.0-alpha.6 → 0.1.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +823 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1030 -0
- package/dist/index.d.ts +1030 -9
- package/dist/index.js +768 -17
- package/dist/index.js.map +1 -1
- package/package.json +9 -7
- package/dist/attestation/index.d.ts +0 -1
- package/dist/attestation/index.d.ts.map +0 -1
- package/dist/attestation/index.js +0 -4
- package/dist/attestation/index.js.map +0 -1
- package/dist/codecs/DomainCodec.d.ts +0 -11
- package/dist/codecs/DomainCodec.d.ts.map +0 -1
- package/dist/codecs/DomainCodec.js +0 -25
- package/dist/codecs/DomainCodec.js.map +0 -1
- package/dist/codecs/EncryptedKeyshareCodec.d.ts +0 -11
- package/dist/codecs/EncryptedKeyshareCodec.d.ts.map +0 -1
- package/dist/codecs/EncryptedKeyshareCodec.js +0 -11
- package/dist/codecs/EncryptedKeyshareCodec.js.map +0 -1
- package/dist/codecs/Uint32ArrayCodec.d.ts +0 -3
- package/dist/codecs/Uint32ArrayCodec.d.ts.map +0 -1
- package/dist/codecs/Uint32ArrayCodec.js +0 -37
- package/dist/codecs/Uint32ArrayCodec.js.map +0 -1
- package/dist/codecs/Uint8ArrayCodec.d.ts +0 -3
- package/dist/codecs/Uint8ArrayCodec.d.ts.map +0 -1
- package/dist/codecs/Uint8ArrayCodec.js +0 -26
- package/dist/codecs/Uint8ArrayCodec.js.map +0 -1
- package/dist/codecs/Uint8ArrayOrHexCodec.d.ts +0 -3
- package/dist/codecs/Uint8ArrayOrHexCodec.d.ts.map +0 -1
- package/dist/codecs/Uint8ArrayOrHexCodec.js +0 -35
- package/dist/codecs/Uint8ArrayOrHexCodec.js.map +0 -1
- package/dist/codecs/WebSocketErrorCodec.d.ts +0 -15
- package/dist/codecs/WebSocketErrorCodec.d.ts.map +0 -1
- package/dist/codecs/WebSocketErrorCodec.js +0 -14
- package/dist/codecs/WebSocketErrorCodec.js.map +0 -1
- package/dist/codecs/index.d.ts +0 -4
- package/dist/codecs/index.d.ts.map +0 -1
- package/dist/codecs/index.js +0 -4
- package/dist/codecs/index.js.map +0 -1
- package/dist/constants/algorithms.d.ts +0 -56
- package/dist/constants/algorithms.d.ts.map +0 -1
- package/dist/constants/algorithms.js +0 -60
- package/dist/constants/algorithms.js.map +0 -1
- package/dist/constants/index.d.ts +0 -2
- package/dist/constants/index.d.ts.map +0 -1
- package/dist/constants/index.js +0 -2
- package/dist/constants/index.js.map +0 -1
- package/dist/crypto/decapsulate.d.ts +0 -2
- package/dist/crypto/decapsulate.d.ts.map +0 -1
- package/dist/crypto/decapsulate.js +0 -5
- package/dist/crypto/decapsulate.js.map +0 -1
- package/dist/crypto/encapsulate.d.ts +0 -5
- package/dist/crypto/encapsulate.d.ts.map +0 -1
- package/dist/crypto/encapsulate.js +0 -5
- package/dist/crypto/encapsulate.js.map +0 -1
- package/dist/crypto/generateKeypair.d.ts +0 -5
- package/dist/crypto/generateKeypair.d.ts.map +0 -1
- package/dist/crypto/generateKeypair.js +0 -17
- package/dist/crypto/generateKeypair.js.map +0 -1
- package/dist/crypto/index.d.ts +0 -6
- package/dist/crypto/index.d.ts.map +0 -1
- package/dist/crypto/index.js +0 -6
- package/dist/crypto/index.js.map +0 -1
- package/dist/crypto/keyDerivation.d.ts +0 -14
- package/dist/crypto/keyDerivation.d.ts.map +0 -1
- package/dist/crypto/keyDerivation.js +0 -21
- package/dist/crypto/keyDerivation.js.map +0 -1
- package/dist/crypto/keyshareEncryption.d.ts +0 -13
- package/dist/crypto/keyshareEncryption.d.ts.map +0 -1
- package/dist/crypto/keyshareEncryption.js +0 -39
- package/dist/crypto/keyshareEncryption.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/messages/ConnectionAckV1Request.d.ts +0 -43
- package/dist/messages/ConnectionAckV1Request.d.ts.map +0 -1
- package/dist/messages/ConnectionAckV1Request.js +0 -17
- package/dist/messages/ConnectionAckV1Request.js.map +0 -1
- package/dist/messages/ConnectionAckV1Response.d.ts +0 -45
- package/dist/messages/ConnectionAckV1Response.d.ts.map +0 -1
- package/dist/messages/ConnectionAckV1Response.js +0 -18
- package/dist/messages/ConnectionAckV1Response.js.map +0 -1
- package/dist/messages/HandshakeV1Request.d.ts +0 -45
- package/dist/messages/HandshakeV1Request.d.ts.map +0 -1
- package/dist/messages/HandshakeV1Request.js +0 -28
- package/dist/messages/HandshakeV1Request.js.map +0 -1
- package/dist/messages/HandshakeV1Response.d.ts +0 -47
- package/dist/messages/HandshakeV1Response.d.ts.map +0 -1
- package/dist/messages/HandshakeV1Response.js +0 -20
- package/dist/messages/HandshakeV1Response.js.map +0 -1
- package/dist/messages/SignMessageV1Request.d.ts +0 -63
- package/dist/messages/SignMessageV1Request.d.ts.map +0 -1
- package/dist/messages/SignMessageV1Request.js +0 -42
- package/dist/messages/SignMessageV1Request.js.map +0 -1
- package/dist/messages/SignMessageV1Response.d.ts +0 -47
- package/dist/messages/SignMessageV1Response.d.ts.map +0 -1
- package/dist/messages/SignMessageV1Response.js +0 -28
- package/dist/messages/SignMessageV1Response.js.map +0 -1
- package/dist/messages/allMessages.d.ts +0 -259
- package/dist/messages/allMessages.d.ts.map +0 -1
- package/dist/messages/allMessages.js +0 -57
- package/dist/messages/allMessages.js.map +0 -1
- package/dist/messages/base.d.ts +0 -27
- package/dist/messages/base.d.ts.map +0 -1
- package/dist/messages/base.js +0 -12
- package/dist/messages/base.js.map +0 -1
- package/dist/messages/index.d.ts +0 -11
- package/dist/messages/index.d.ts.map +0 -1
- package/dist/messages/index.js +0 -14
- package/dist/messages/index.js.map +0 -1
- package/dist/messages/registry.d.ts +0 -136
- package/dist/messages/registry.d.ts.map +0 -1
- package/dist/messages/registry.js +0 -67
- package/dist/messages/registry.js.map +0 -1
- package/dist/messages/utils/StandardMessage.d.ts +0 -97
- package/dist/messages/utils/StandardMessage.d.ts.map +0 -1
- package/dist/messages/utils/StandardMessage.js +0 -98
- package/dist/messages/utils/StandardMessage.js.map +0 -1
- package/dist/messages/utils/encodingHelpers.d.ts +0 -20
- package/dist/messages/utils/encodingHelpers.d.ts.map +0 -1
- package/dist/messages/utils/encodingHelpers.js +0 -50
- package/dist/messages/utils/encodingHelpers.js.map +0 -1
- package/dist/messages/utils/index.d.ts +0 -4
- package/dist/messages/utils/index.d.ts.map +0 -1
- package/dist/messages/utils/index.js +0 -5
- package/dist/messages/utils/index.js.map +0 -1
- package/dist/messages/utils/schemaBuilder.d.ts +0 -19
- package/dist/messages/utils/schemaBuilder.d.ts.map +0 -1
- package/dist/messages/utils/schemaBuilder.js +0 -31
- package/dist/messages/utils/schemaBuilder.js.map +0 -1
- package/dist/signing/algorithms/BIP340SigningAlgorithm.d.ts +0 -20
- package/dist/signing/algorithms/BIP340SigningAlgorithm.d.ts.map +0 -1
- package/dist/signing/algorithms/BIP340SigningAlgorithm.js +0 -35
- package/dist/signing/algorithms/BIP340SigningAlgorithm.js.map +0 -1
- package/dist/signing/algorithms/EcdsaSigningAlgorithm.d.ts +0 -20
- package/dist/signing/algorithms/EcdsaSigningAlgorithm.d.ts.map +0 -1
- package/dist/signing/algorithms/EcdsaSigningAlgorithm.js +0 -43
- package/dist/signing/algorithms/EcdsaSigningAlgorithm.js.map +0 -1
- package/dist/signing/algorithms/Ed25519SigningAlgorithm.d.ts +0 -18
- package/dist/signing/algorithms/Ed25519SigningAlgorithm.d.ts.map +0 -1
- package/dist/signing/algorithms/Ed25519SigningAlgorithm.js +0 -34
- package/dist/signing/algorithms/Ed25519SigningAlgorithm.js.map +0 -1
- package/dist/signing/allAlgorithms.d.ts +0 -50
- package/dist/signing/allAlgorithms.d.ts.map +0 -1
- package/dist/signing/allAlgorithms.js +0 -59
- package/dist/signing/allAlgorithms.js.map +0 -1
- package/dist/signing/base.d.ts +0 -42
- package/dist/signing/base.d.ts.map +0 -1
- package/dist/signing/base.js +0 -6
- package/dist/signing/base.js.map +0 -1
- package/dist/signing/index.d.ts +0 -7
- package/dist/signing/index.d.ts.map +0 -1
- package/dist/signing/index.js +0 -9
- package/dist/signing/index.js.map +0 -1
- package/dist/signing/registry.d.ts +0 -26
- package/dist/signing/registry.d.ts.map +0 -1
- package/dist/signing/registry.js +0 -36
- package/dist/signing/registry.js.map +0 -1
- package/dist/types.d.ts +0 -42
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -12
- package/dist/types.js.map +0 -1
- package/dist/utils/assertDefined.d.ts +0 -16
- package/dist/utils/assertDefined.d.ts.map +0 -1
- package/dist/utils/assertDefined.js +0 -27
- package/dist/utils/assertDefined.js.map +0 -1
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { type AllSigningAlgorithmSchemas, type SigningAlgorithmName } from '../signing/allAlgorithms';
|
|
2
|
-
import { SigningAlgorithm } from '@dynamic-labs-wallet/core';
|
|
3
|
-
/**
|
|
4
|
-
* Algorithm configurations for complex properties
|
|
5
|
-
* Maps Dynamic SDK enum values to our internal algorithm names
|
|
6
|
-
*/
|
|
7
|
-
export declare const ALGORITHMS: {
|
|
8
|
-
readonly ECDSA: {
|
|
9
|
-
readonly name: "ecdsa";
|
|
10
|
-
readonly dynamicEnum: SigningAlgorithm.ECDSA;
|
|
11
|
-
readonly className: "Ecdsa";
|
|
12
|
-
readonly requiresHashAlgo: true;
|
|
13
|
-
readonly supportsDerivationPath: true;
|
|
14
|
-
readonly supportsTweak: false;
|
|
15
|
-
readonly supportedHashAlgos: readonly ["sha256", "sha256d", "keccak256"];
|
|
16
|
-
};
|
|
17
|
-
readonly ED25519: {
|
|
18
|
-
readonly name: "ed25519";
|
|
19
|
-
readonly dynamicEnum: SigningAlgorithm.ED25519;
|
|
20
|
-
readonly className: "Ed25519";
|
|
21
|
-
readonly requiresHashAlgo: false;
|
|
22
|
-
readonly supportsDerivationPath: true;
|
|
23
|
-
readonly supportsTweak: false;
|
|
24
|
-
readonly supportedHashAlgos: readonly [];
|
|
25
|
-
};
|
|
26
|
-
readonly BIP340: {
|
|
27
|
-
readonly name: "bip340";
|
|
28
|
-
readonly dynamicEnum: SigningAlgorithm.BIP340;
|
|
29
|
-
readonly className: "BIP340";
|
|
30
|
-
readonly requiresHashAlgo: false;
|
|
31
|
-
readonly supportsDerivationPath: true;
|
|
32
|
-
readonly supportsTweak: true;
|
|
33
|
-
readonly supportedHashAlgos: readonly [];
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Type definitions - use Dynamic SDK's SigningAlgorithm enum
|
|
38
|
-
*/
|
|
39
|
-
export type HashAlgorithm = 'sha256' | 'sha256d' | 'keccak256';
|
|
40
|
-
/**
|
|
41
|
-
* Helper function to convert our internal algorithm names to Dynamic SDK enum values
|
|
42
|
-
*/
|
|
43
|
-
export declare function toDynamicSigningAlgorithm(algorithmName: SigningAlgorithmName): SigningAlgorithm;
|
|
44
|
-
/**
|
|
45
|
-
* Helper function to convert Dynamic SDK enum values to our internal algorithm names
|
|
46
|
-
*/
|
|
47
|
-
export declare function fromDynamicSigningAlgorithm(dynamicAlgorithm: SigningAlgorithm): SigningAlgorithmName;
|
|
48
|
-
/**
|
|
49
|
-
* Union schema derived from algorithm instances (no more manual schema generation!)
|
|
50
|
-
*/
|
|
51
|
-
export declare const SignatureAlgoSchema: import("io-ts").Type<AllSigningAlgorithmSchemas, AllSigningAlgorithmSchemas, unknown>;
|
|
52
|
-
/**
|
|
53
|
-
* Export the union type for external use
|
|
54
|
-
*/
|
|
55
|
-
export type { AllSigningAlgorithmSchemas as SigningAlgorithmSchemas };
|
|
56
|
-
//# sourceMappingURL=algorithms.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"algorithms.d.ts","sourceRoot":"","sources":["../../src/constants/algorithms.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Bb,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAE/D;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,oBAAoB,GAClC,gBAAgB,CAQlB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,gBAAgB,EAAE,gBAAgB,GACjC,oBAAoB,CAMtB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,uFAA+B,CAAC;AAEhE;;GAEG;AACH,YAAY,EAAE,0BAA0B,IAAI,uBAAuB,EAAE,CAAC"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { ALL_SIGNING_ALGORITHM_SCHEMA, } from '../signing/allAlgorithms';
|
|
2
|
-
import { SigningAlgorithm } from '@dynamic-labs-wallet/core';
|
|
3
|
-
/**
|
|
4
|
-
* Algorithm configurations for complex properties
|
|
5
|
-
* Maps Dynamic SDK enum values to our internal algorithm names
|
|
6
|
-
*/
|
|
7
|
-
export const ALGORITHMS = {
|
|
8
|
-
[SigningAlgorithm.ECDSA]: {
|
|
9
|
-
name: 'ecdsa',
|
|
10
|
-
dynamicEnum: SigningAlgorithm.ECDSA,
|
|
11
|
-
className: 'Ecdsa',
|
|
12
|
-
requiresHashAlgo: true,
|
|
13
|
-
supportsDerivationPath: true,
|
|
14
|
-
supportsTweak: false,
|
|
15
|
-
supportedHashAlgos: ['sha256', 'sha256d', 'keccak256'],
|
|
16
|
-
},
|
|
17
|
-
[SigningAlgorithm.ED25519]: {
|
|
18
|
-
name: 'ed25519',
|
|
19
|
-
dynamicEnum: SigningAlgorithm.ED25519,
|
|
20
|
-
className: 'Ed25519',
|
|
21
|
-
requiresHashAlgo: false,
|
|
22
|
-
supportsDerivationPath: true,
|
|
23
|
-
supportsTweak: false,
|
|
24
|
-
supportedHashAlgos: [],
|
|
25
|
-
},
|
|
26
|
-
[SigningAlgorithm.BIP340]: {
|
|
27
|
-
name: 'bip340',
|
|
28
|
-
dynamicEnum: SigningAlgorithm.BIP340,
|
|
29
|
-
className: 'BIP340',
|
|
30
|
-
requiresHashAlgo: false,
|
|
31
|
-
supportsDerivationPath: true,
|
|
32
|
-
supportsTweak: true,
|
|
33
|
-
supportedHashAlgos: [],
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Helper function to convert our internal algorithm names to Dynamic SDK enum values
|
|
38
|
-
*/
|
|
39
|
-
export function toDynamicSigningAlgorithm(algorithmName) {
|
|
40
|
-
const algorithmConfig = Object.values(ALGORITHMS).find((config) => config.name === algorithmName);
|
|
41
|
-
if (!algorithmConfig) {
|
|
42
|
-
throw new Error(`Unknown algorithm: ${algorithmName}`);
|
|
43
|
-
}
|
|
44
|
-
return algorithmConfig.dynamicEnum;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Helper function to convert Dynamic SDK enum values to our internal algorithm names
|
|
48
|
-
*/
|
|
49
|
-
export function fromDynamicSigningAlgorithm(dynamicAlgorithm) {
|
|
50
|
-
const algorithmConfig = ALGORITHMS[dynamicAlgorithm];
|
|
51
|
-
if (!algorithmConfig) {
|
|
52
|
-
throw new Error(`Unknown Dynamic SDK algorithm: ${dynamicAlgorithm}`);
|
|
53
|
-
}
|
|
54
|
-
return algorithmConfig.name;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Union schema derived from algorithm instances (no more manual schema generation!)
|
|
58
|
-
*/
|
|
59
|
-
export const SignatureAlgoSchema = ALL_SIGNING_ALGORITHM_SCHEMA;
|
|
60
|
-
//# sourceMappingURL=algorithms.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"algorithms.js","sourceRoot":"","sources":["../../src/constants/algorithms.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,GAG7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;QACxB,IAAI,EAAE,OAAgB;QACtB,WAAW,EAAE,gBAAgB,CAAC,KAAK;QACnC,SAAS,EAAE,OAAgB;QAC3B,gBAAgB,EAAE,IAAI;QACtB,sBAAsB,EAAE,IAAI;QAC5B,aAAa,EAAE,KAAK;QACpB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAU;KAChE;IACD,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAC1B,IAAI,EAAE,SAAkB;QACxB,WAAW,EAAE,gBAAgB,CAAC,OAAO;QACrC,SAAS,EAAE,SAAkB;QAC7B,gBAAgB,EAAE,KAAK;QACvB,sBAAsB,EAAE,IAAI;QAC5B,aAAa,EAAE,KAAK;QACpB,kBAAkB,EAAE,EAAW;KAChC;IACD,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;QACzB,IAAI,EAAE,QAAiB;QACvB,WAAW,EAAE,gBAAgB,CAAC,MAAM;QACpC,SAAS,EAAE,QAAiB;QAC5B,gBAAgB,EAAE,KAAK;QACvB,sBAAsB,EAAE,IAAI;QAC5B,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,EAAW;KAChC;CACO,CAAC;AAOX;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAAmC;IAEnC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CACpD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,CAC1C,CAAC;IACF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,aAAa,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,eAAe,CAAC,WAAW,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,gBAAkC;IAElC,MAAM,eAAe,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACrD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,gBAAgB,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,4BAA4B,CAAC","sourcesContent":["import {\n ALL_SIGNING_ALGORITHM_SCHEMA,\n type AllSigningAlgorithmSchemas,\n type SigningAlgorithmName,\n} from '../signing/allAlgorithms';\nimport { SigningAlgorithm } from '@dynamic-labs-wallet/core';\n\n/**\n * Algorithm configurations for complex properties\n * Maps Dynamic SDK enum values to our internal algorithm names\n */\nexport const ALGORITHMS = {\n [SigningAlgorithm.ECDSA]: {\n name: 'ecdsa' as const,\n dynamicEnum: SigningAlgorithm.ECDSA,\n className: 'Ecdsa' as const,\n requiresHashAlgo: true,\n supportsDerivationPath: true,\n supportsTweak: false,\n supportedHashAlgos: ['sha256', 'sha256d', 'keccak256'] as const,\n },\n [SigningAlgorithm.ED25519]: {\n name: 'ed25519' as const,\n dynamicEnum: SigningAlgorithm.ED25519,\n className: 'Ed25519' as const,\n requiresHashAlgo: false,\n supportsDerivationPath: true,\n supportsTweak: false,\n supportedHashAlgos: [] as const,\n },\n [SigningAlgorithm.BIP340]: {\n name: 'bip340' as const,\n dynamicEnum: SigningAlgorithm.BIP340,\n className: 'BIP340' as const,\n requiresHashAlgo: false,\n supportsDerivationPath: true,\n supportsTweak: true,\n supportedHashAlgos: [] as const,\n },\n} as const;\n\n/**\n * Type definitions - use Dynamic SDK's SigningAlgorithm enum\n */\nexport type HashAlgorithm = 'sha256' | 'sha256d' | 'keccak256';\n\n/**\n * Helper function to convert our internal algorithm names to Dynamic SDK enum values\n */\nexport function toDynamicSigningAlgorithm(\n algorithmName: SigningAlgorithmName\n): SigningAlgorithm {\n const algorithmConfig = Object.values(ALGORITHMS).find(\n (config) => config.name === algorithmName\n );\n if (!algorithmConfig) {\n throw new Error(`Unknown algorithm: ${algorithmName}`);\n }\n return algorithmConfig.dynamicEnum;\n}\n\n/**\n * Helper function to convert Dynamic SDK enum values to our internal algorithm names\n */\nexport function fromDynamicSigningAlgorithm(\n dynamicAlgorithm: SigningAlgorithm\n): SigningAlgorithmName {\n const algorithmConfig = ALGORITHMS[dynamicAlgorithm];\n if (!algorithmConfig) {\n throw new Error(`Unknown Dynamic SDK algorithm: ${dynamicAlgorithm}`);\n }\n return algorithmConfig.name;\n}\n\n/**\n * Union schema derived from algorithm instances (no more manual schema generation!)\n */\nexport const SignatureAlgoSchema = ALL_SIGNING_ALGORITHM_SCHEMA;\n\n/**\n * Export the union type for external use\n */\nexport type { AllSigningAlgorithmSchemas as SigningAlgorithmSchemas };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
package/dist/constants/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC","sourcesContent":["export * from './algorithms';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decapsulate.d.ts","sourceRoot":"","sources":["../../src/crypto/decapsulate.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,GAC9B,kBAAkB,UAAU,EAC5B,YAAY,UAAU,KACrB,UAEF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decapsulate.js","sourceRoot":"","sources":["../../src/crypto/decapsulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,gBAA4B,EAC5B,UAAsB,EACV,EAAE;IACd,OAAO,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAC7D,CAAC,CAAC","sourcesContent":["import { ml_kem768 } from '@noble/post-quantum/ml-kem.js';\n\nexport const decapsulateMlKem768 = (\n decapsulationKey: Uint8Array,\n cipherText: Uint8Array\n): Uint8Array => {\n return ml_kem768.decapsulate(cipherText, decapsulationKey);\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encapsulate.d.ts","sourceRoot":"","sources":["../../src/crypto/encapsulate.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,GAC9B,kBAAkB,UAAU,KAC3B;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,UAAU,CAAA;CAEpD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encapsulate.js","sourceRoot":"","sources":["../../src/crypto/encapsulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,gBAA4B,EAC0B,EAAE;IACxD,OAAO,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACjD,CAAC,CAAC","sourcesContent":["import { ml_kem768 } from '@noble/post-quantum/ml-kem.js';\n\nexport const encapsulateMlKem768 = (\n encapsulationKey: Uint8Array\n): { cipherText: Uint8Array; sharedSecret: Uint8Array } => {\n return ml_kem768.encapsulate(encapsulationKey);\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateKeypair.d.ts","sourceRoot":"","sources":["../../src/crypto/generateKeypair.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uBAAuB,QAAO;IACzC,gBAAgB,EAAE,UAAU,CAAC;IAC7B,gBAAgB,EAAE,UAAU,CAAC;CAe9B,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ml_kem768 } from '@noble/post-quantum/ml-kem.js';
|
|
2
|
-
import { assertNotNull } from '../utils/assertDefined';
|
|
3
|
-
export const generateMlKem768Keypair = () => {
|
|
4
|
-
try {
|
|
5
|
-
const keys = ml_kem768.keygen();
|
|
6
|
-
assertNotNull(keys.publicKey, 'Encapsulation key must be defined');
|
|
7
|
-
assertNotNull(keys.secretKey, 'Decapsulation key must be defined');
|
|
8
|
-
return {
|
|
9
|
-
encapsulationKey: keys.publicKey,
|
|
10
|
-
decapsulationKey: keys.secretKey,
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
catch (error) {
|
|
14
|
-
throw new Error(`Failed to generate ML-KEM-768 keypair: ${error instanceof Error ? error.message : String(error)}`);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=generateKeypair.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateKeypair.js","sourceRoot":"","sources":["../../src/crypto/generateKeypair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAGrC,EAAE;IACF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAChC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC;QACnE,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC;QACnE,OAAO;YACL,gBAAgB,EAAE,IAAI,CAAC,SAAS;YAChC,gBAAgB,EAAE,IAAI,CAAC,SAAS;SACjC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,0CAA0C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnG,CAAC;IACJ,CAAC;AACH,CAAC,CAAC","sourcesContent":["import { ml_kem768 } from '@noble/post-quantum/ml-kem.js';\nimport { assertNotNull } from '../utils/assertDefined';\n\nexport const generateMlKem768Keypair = (): {\n encapsulationKey: Uint8Array;\n decapsulationKey: Uint8Array;\n} => {\n try {\n const keys = ml_kem768.keygen();\n assertNotNull(keys.publicKey, 'Encapsulation key must be defined');\n assertNotNull(keys.secretKey, 'Decapsulation key must be defined');\n return {\n encapsulationKey: keys.publicKey,\n decapsulationKey: keys.secretKey,\n };\n } catch (error) {\n throw new Error(\n `Failed to generate ML-KEM-768 keypair: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n};\n"]}
|
package/dist/crypto/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { generateMlKem768Keypair } from './generateKeypair';
|
|
2
|
-
export { encapsulateMlKem768 } from './encapsulate';
|
|
3
|
-
export { decapsulateMlKem768 } from './decapsulate';
|
|
4
|
-
export * from './keyDerivation';
|
|
5
|
-
export * from './keyshareEncryption';
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
|
package/dist/crypto/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { generateMlKem768Keypair } from './generateKeypair';
|
|
2
|
-
export { encapsulateMlKem768 } from './encapsulate';
|
|
3
|
-
export { decapsulateMlKem768 } from './decapsulate';
|
|
4
|
-
export * from './keyDerivation';
|
|
5
|
-
export * from './keyshareEncryption';
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
package/dist/crypto/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC","sourcesContent":["export { generateMlKem768Keypair } from './generateKeypair';\nexport { encapsulateMlKem768 } from './encapsulate';\nexport { decapsulateMlKem768 } from './decapsulate';\nexport * from './keyDerivation';\nexport * from './keyshareEncryption';\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare const AES_256_GCM_KEY_SIZE = 32;
|
|
2
|
-
export declare const AES_256_GCM_NONCE_SIZE = 12;
|
|
3
|
-
export declare const AES_256_GCM_TAG_SIZE = 16;
|
|
4
|
-
export declare const HKDF_SALT_SIZE = 32;
|
|
5
|
-
/**
|
|
6
|
-
* Derive AES-256 key from ML-KEM shared secret using HKDF
|
|
7
|
-
* Following NIST SP 800-56C recommendations
|
|
8
|
-
*/
|
|
9
|
-
export declare function deriveAESKey(sharedSecret: Uint8Array, salt: Uint8Array, info: string): Uint8Array;
|
|
10
|
-
/**
|
|
11
|
-
* Create standardized context info for HKDF
|
|
12
|
-
*/
|
|
13
|
-
export declare function createKeyDerivationInfo(purpose: 'keyshare' | 'hmac', connectionId: string, version?: number): string;
|
|
14
|
-
//# sourceMappingURL=keyDerivation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyDerivation.d.ts","sourceRoot":"","sources":["../../src/crypto/keyDerivation.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,UAAU,EACxB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,GACX,UAAU,CAGZ;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,MAAU,GAClB,MAAM,CAER"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { hkdf } from '@noble/hashes/hkdf.js';
|
|
2
|
-
import { sha256 } from '@noble/hashes/sha2.js';
|
|
3
|
-
export const AES_256_GCM_KEY_SIZE = 32; // 256 bits
|
|
4
|
-
export const AES_256_GCM_NONCE_SIZE = 12; // 96 bits
|
|
5
|
-
export const AES_256_GCM_TAG_SIZE = 16; // 128 bits
|
|
6
|
-
export const HKDF_SALT_SIZE = 32; // 256 bits
|
|
7
|
-
/**
|
|
8
|
-
* Derive AES-256 key from ML-KEM shared secret using HKDF
|
|
9
|
-
* Following NIST SP 800-56C recommendations
|
|
10
|
-
*/
|
|
11
|
-
export function deriveAESKey(sharedSecret, salt, info) {
|
|
12
|
-
const infoBytes = new TextEncoder().encode(info);
|
|
13
|
-
return hkdf(sha256, sharedSecret, salt, infoBytes, AES_256_GCM_KEY_SIZE);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Create standardized context info for HKDF
|
|
17
|
-
*/
|
|
18
|
-
export function createKeyDerivationInfo(purpose, connectionId, version = 1) {
|
|
19
|
-
return `forward-mpc-${purpose}-v${version}-${connectionId}`;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=keyDerivation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyDerivation.js","sourceRoot":"","sources":["../../src/crypto/keyDerivation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,CAAC,WAAW;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,CAAC,UAAU;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,CAAC,WAAW;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC,CAAC,WAAW;AAE7C;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,YAAwB,EACxB,IAAgB,EAChB,IAAY;IAEZ,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA4B,EAC5B,YAAoB,EACpB,UAAkB,CAAC;IAEnB,OAAO,eAAe,OAAO,KAAK,OAAO,IAAI,YAAY,EAAE,CAAC;AAC9D,CAAC","sourcesContent":["import { hkdf } from '@noble/hashes/hkdf.js';\nimport { sha256 } from '@noble/hashes/sha2.js';\n\nexport const AES_256_GCM_KEY_SIZE = 32; // 256 bits\nexport const AES_256_GCM_NONCE_SIZE = 12; // 96 bits\nexport const AES_256_GCM_TAG_SIZE = 16; // 128 bits\nexport const HKDF_SALT_SIZE = 32; // 256 bits\n\n/**\n * Derive AES-256 key from ML-KEM shared secret using HKDF\n * Following NIST SP 800-56C recommendations\n */\nexport function deriveAESKey(\n sharedSecret: Uint8Array,\n salt: Uint8Array,\n info: string\n): Uint8Array {\n const infoBytes = new TextEncoder().encode(info);\n return hkdf(sha256, sharedSecret, salt, infoBytes, AES_256_GCM_KEY_SIZE);\n}\n\n/**\n * Create standardized context info for HKDF\n */\nexport function createKeyDerivationInfo(\n purpose: 'keyshare' | 'hmac',\n connectionId: string,\n version: number = 1\n): string {\n return `forward-mpc-${purpose}-v${version}-${connectionId}`;\n}\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { EncryptedKeyshare } from '../codecs/EncryptedKeyshareCodec';
|
|
2
|
-
import type { SigningAlgorithmName } from '../signing/allAlgorithms';
|
|
3
|
-
/**
|
|
4
|
-
* Encrypt keyshare using AES-256-GCM with ML-KEM derived key
|
|
5
|
-
*
|
|
6
|
-
* @param keyshare - The keyshare object from Dynamic Wallet SDK
|
|
7
|
-
* @param sharedSecret - ML-KEM shared secret from handshake
|
|
8
|
-
* @param connectionId - Unique connection identifier
|
|
9
|
-
* @param signingAlgorithm - Algorithm name for context
|
|
10
|
-
* @returns Encrypted keyshare with salt and encrypted payload
|
|
11
|
-
*/
|
|
12
|
-
export declare function encryptKeyshare(keyshare: any, sharedSecret: Uint8Array, connectionId: string, signingAlgorithm: SigningAlgorithmName): Promise<EncryptedKeyshare>;
|
|
13
|
-
//# sourceMappingURL=keyshareEncryption.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyshareEncryption.d.ts","sourceRoot":"","sources":["../../src/crypto/keyshareEncryption.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,GAAG,EACb,YAAY,EAAE,UAAU,EACxB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,oBAAoB,GACrC,OAAO,CAAC,iBAAiB,CAAC,CA+B5B"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { gcm } from '@noble/ciphers/aes';
|
|
2
|
-
import { bytesToHex, randomBytes } from '@noble/hashes/utils.js';
|
|
3
|
-
import { deriveAESKey, createKeyDerivationInfo } from './keyDerivation';
|
|
4
|
-
/**
|
|
5
|
-
* Encrypt keyshare using AES-256-GCM with ML-KEM derived key
|
|
6
|
-
*
|
|
7
|
-
* @param keyshare - The keyshare object from Dynamic Wallet SDK
|
|
8
|
-
* @param sharedSecret - ML-KEM shared secret from handshake
|
|
9
|
-
* @param connectionId - Unique connection identifier
|
|
10
|
-
* @param signingAlgorithm - Algorithm name for context
|
|
11
|
-
* @returns Encrypted keyshare with salt and encrypted payload
|
|
12
|
-
*/
|
|
13
|
-
export async function encryptKeyshare(keyshare, sharedSecret, connectionId, signingAlgorithm) {
|
|
14
|
-
// Generate random salt for HKDF
|
|
15
|
-
const salt = randomBytes(32);
|
|
16
|
-
// Derive AES key using HKDF with connection-specific context
|
|
17
|
-
const keyshareInfo = createKeyDerivationInfo('keyshare', connectionId);
|
|
18
|
-
const aesKey = deriveAESKey(sharedSecret, salt, keyshareInfo);
|
|
19
|
-
// Prepare keyshare data for encryption
|
|
20
|
-
const keyshareData = {
|
|
21
|
-
keyshare,
|
|
22
|
-
signingAlgorithm,
|
|
23
|
-
timestamp: Date.now(),
|
|
24
|
-
nonce: bytesToHex(randomBytes(16)),
|
|
25
|
-
};
|
|
26
|
-
// Encrypt with AES-256-GCM
|
|
27
|
-
const nonce = randomBytes(12);
|
|
28
|
-
const aes256Gcm = gcm(aesKey, nonce);
|
|
29
|
-
const plaintext = new TextEncoder().encode(JSON.stringify(keyshareData));
|
|
30
|
-
const ciphertext = aes256Gcm.encrypt(plaintext);
|
|
31
|
-
// Combine nonce + ciphertext for single payload
|
|
32
|
-
const encryptedPayload = new Uint8Array(nonce.length + ciphertext.length);
|
|
33
|
-
encryptedPayload.set(nonce, 0);
|
|
34
|
-
encryptedPayload.set(ciphertext, nonce.length);
|
|
35
|
-
// Clear sensitive data from memory
|
|
36
|
-
aesKey.fill(0);
|
|
37
|
-
return { salt, encryptedPayload };
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=keyshareEncryption.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyshareEncryption.js","sourceRoot":"","sources":["../../src/crypto/keyshareEncryption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAIxE;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAa,EACb,YAAwB,EACxB,YAAoB,EACpB,gBAAsC;IAEtC,gCAAgC;IAChC,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAE7B,6DAA6D;IAC7D,MAAM,YAAY,GAAG,uBAAuB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAE9D,uCAAuC;IACvC,MAAM,YAAY,GAAG;QACnB,QAAQ;QACR,gBAAgB;QAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KACnC,CAAC;IAEF,2BAA2B;IAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhD,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1E,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/B,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/C,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEf,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AACpC,CAAC","sourcesContent":["import { gcm } from '@noble/ciphers/aes';\nimport { bytesToHex, randomBytes } from '@noble/hashes/utils.js';\nimport { deriveAESKey, createKeyDerivationInfo } from './keyDerivation';\nimport type { EncryptedKeyshare } from '../codecs/EncryptedKeyshareCodec';\nimport type { SigningAlgorithmName } from '../signing/allAlgorithms';\n\n/**\n * Encrypt keyshare using AES-256-GCM with ML-KEM derived key\n *\n * @param keyshare - The keyshare object from Dynamic Wallet SDK\n * @param sharedSecret - ML-KEM shared secret from handshake\n * @param connectionId - Unique connection identifier\n * @param signingAlgorithm - Algorithm name for context\n * @returns Encrypted keyshare with salt and encrypted payload\n */\nexport async function encryptKeyshare(\n keyshare: any,\n sharedSecret: Uint8Array,\n connectionId: string,\n signingAlgorithm: SigningAlgorithmName\n): Promise<EncryptedKeyshare> {\n // Generate random salt for HKDF\n const salt = randomBytes(32);\n\n // Derive AES key using HKDF with connection-specific context\n const keyshareInfo = createKeyDerivationInfo('keyshare', connectionId);\n const aesKey = deriveAESKey(sharedSecret, salt, keyshareInfo);\n\n // Prepare keyshare data for encryption\n const keyshareData = {\n keyshare,\n signingAlgorithm,\n timestamp: Date.now(),\n nonce: bytesToHex(randomBytes(16)),\n };\n\n // Encrypt with AES-256-GCM\n const nonce = randomBytes(12);\n const aes256Gcm = gcm(aesKey, nonce);\n const plaintext = new TextEncoder().encode(JSON.stringify(keyshareData));\n const ciphertext = aes256Gcm.encrypt(plaintext);\n\n // Combine nonce + ciphertext for single payload\n const encryptedPayload = new Uint8Array(nonce.length + ciphertext.length);\n encryptedPayload.set(nonce, 0);\n encryptedPayload.set(ciphertext, nonce.length);\n\n // Clear sensitive data from memory\n aesKey.fill(0);\n\n return { salt, encryptedPayload };\n}\n"]}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,uBAAuB,CAAC;AAGtC,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC;AAK1B,OAAO,EACL,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { TypeOf } from 'io-ts';
|
|
2
|
-
/**
|
|
3
|
-
* Connection Acknowledgment Request Runtime Data
|
|
4
|
-
*/
|
|
5
|
-
export interface ConnectionAckRequestData {
|
|
6
|
-
connectionId?: string;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Connection Acknowledgment Request Wire Format
|
|
10
|
-
*/
|
|
11
|
-
export interface ConnectionAckRequestWire {
|
|
12
|
-
type: 'connection_ack';
|
|
13
|
-
version: 1;
|
|
14
|
-
connectionId?: string;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Connection Acknowledgment Request Schema (built using Ultra-DRY utilities)
|
|
18
|
-
*/
|
|
19
|
-
export declare const ConnectionAckRequestSchema: import("io-ts").Type<any, any, unknown>;
|
|
20
|
-
export type ConnectionAckRequest = TypeOf<typeof ConnectionAckRequestSchema>;
|
|
21
|
-
/**
|
|
22
|
-
* Connection Acknowledgment V1 Request Message Class (Ultra-DRY implementation)
|
|
23
|
-
*/
|
|
24
|
-
export declare const ConnectionAckV1RequestMessage: {
|
|
25
|
-
new (data: ConnectionAckRequestData): {
|
|
26
|
-
readonly type: "connection_ack";
|
|
27
|
-
readonly version: 1;
|
|
28
|
-
encode(): any;
|
|
29
|
-
readonly data: ConnectionAckRequestData;
|
|
30
|
-
getData(): ConnectionAckRequestData;
|
|
31
|
-
};
|
|
32
|
-
readonly MESSAGE_TYPE: "connection_ack";
|
|
33
|
-
readonly MESSAGE_VERSION: 1;
|
|
34
|
-
readonly schema: import("io-ts").Type<any, any, unknown>;
|
|
35
|
-
decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
|
|
36
|
-
readonly type: "connection_ack";
|
|
37
|
-
readonly version: 1;
|
|
38
|
-
encode(): any;
|
|
39
|
-
readonly data: ConnectionAckRequestData;
|
|
40
|
-
getData(): ConnectionAckRequestData;
|
|
41
|
-
}>;
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=ConnectionAckV1Request.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionAckV1Request.d.ts","sourceRoot":"","sources":["../../src/messages/ConnectionAckV1Request.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1E;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,yCAMtC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;CAQxC,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { union, string, undefined as undefinedType } from 'io-ts';
|
|
2
|
-
import { buildMessageSchema, createSimpleMessage } from './utils';
|
|
3
|
-
/**
|
|
4
|
-
* Connection Acknowledgment Request Schema (built using Ultra-DRY utilities)
|
|
5
|
-
*/
|
|
6
|
-
export const ConnectionAckRequestSchema = buildMessageSchema('connection_ack', 1, {
|
|
7
|
-
connectionId: union([string, undefinedType]), // Optional string connectionId
|
|
8
|
-
});
|
|
9
|
-
/**
|
|
10
|
-
* Connection Acknowledgment V1 Request Message Class (Ultra-DRY implementation)
|
|
11
|
-
*/
|
|
12
|
-
export const ConnectionAckV1RequestMessage = createSimpleMessage({
|
|
13
|
-
messageType: 'connection_ack',
|
|
14
|
-
version: 1,
|
|
15
|
-
schema: ConnectionAckRequestSchema,
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=ConnectionAckV1Request.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionAckV1Request.js","sourceRoot":"","sources":["../../src/messages/ConnectionAckV1Request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,aAAa,EAAU,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAkBlE;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAC1D,gBAAgB,EAChB,CAAC,EACD;IACE,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,+BAA+B;CAC9E,CACF,CAAC;AAIF;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,mBAAmB,CAI9D;IACA,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,0BAA0B;CACnC,CAAC,CAAC","sourcesContent":["import { union, string, undefined as undefinedType, TypeOf } from 'io-ts';\nimport { buildMessageSchema, createSimpleMessage } from './utils';\n\n/**\n * Connection Acknowledgment Request Runtime Data\n */\nexport interface ConnectionAckRequestData {\n connectionId?: string;\n}\n\n/**\n * Connection Acknowledgment Request Wire Format\n */\nexport interface ConnectionAckRequestWire {\n type: 'connection_ack';\n version: 1;\n connectionId?: string;\n}\n\n/**\n * Connection Acknowledgment Request Schema (built using Ultra-DRY utilities)\n */\nexport const ConnectionAckRequestSchema = buildMessageSchema(\n 'connection_ack',\n 1,\n {\n connectionId: union([string, undefinedType]), // Optional string connectionId\n }\n);\n\nexport type ConnectionAckRequest = TypeOf<typeof ConnectionAckRequestSchema>;\n\n/**\n * Connection Acknowledgment V1 Request Message Class (Ultra-DRY implementation)\n */\nexport const ConnectionAckV1RequestMessage = createSimpleMessage<\n ConnectionAckRequestData,\n 'connection_ack',\n 1\n>({\n messageType: 'connection_ack',\n version: 1,\n schema: ConnectionAckRequestSchema,\n});\n"]}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { TypeOf } from 'io-ts';
|
|
2
|
-
/**
|
|
3
|
-
* Connection Acknowledgment Response Runtime Data
|
|
4
|
-
*/
|
|
5
|
-
export interface ConnectionAckResponseData {
|
|
6
|
-
status: 'acknowledged';
|
|
7
|
-
timestamp: string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Connection Acknowledgment Response Wire Format
|
|
11
|
-
*/
|
|
12
|
-
export interface ConnectionAckResponseWire {
|
|
13
|
-
type: 'connection_ack_response';
|
|
14
|
-
version: 1;
|
|
15
|
-
status: 'acknowledged';
|
|
16
|
-
timestamp: string;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Connection Acknowledgment Response Schema (built using Ultra-DRY utilities)
|
|
20
|
-
*/
|
|
21
|
-
export declare const ConnectionAckResponseSchema: import("io-ts").Type<any, any, unknown>;
|
|
22
|
-
export type ConnectionAckResponse = TypeOf<typeof ConnectionAckResponseSchema>;
|
|
23
|
-
/**
|
|
24
|
-
* Connection Acknowledgment V1 Response Message Class (Ultra-DRY implementation)
|
|
25
|
-
*/
|
|
26
|
-
export declare const ConnectionAckV1ResponseMessage: {
|
|
27
|
-
new (data: ConnectionAckResponseData): {
|
|
28
|
-
readonly type: "connection_ack_response";
|
|
29
|
-
readonly version: 1;
|
|
30
|
-
encode(): any;
|
|
31
|
-
readonly data: ConnectionAckResponseData;
|
|
32
|
-
getData(): ConnectionAckResponseData;
|
|
33
|
-
};
|
|
34
|
-
readonly MESSAGE_TYPE: "connection_ack_response";
|
|
35
|
-
readonly MESSAGE_VERSION: 1;
|
|
36
|
-
readonly schema: import("io-ts").Type<any, any, unknown>;
|
|
37
|
-
decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
|
|
38
|
-
readonly type: "connection_ack_response";
|
|
39
|
-
readonly version: 1;
|
|
40
|
-
encode(): any;
|
|
41
|
-
readonly data: ConnectionAckResponseData;
|
|
42
|
-
getData(): ConnectionAckResponseData;
|
|
43
|
-
}>;
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=ConnectionAckV1Response.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionAckV1Response.d.ts","sourceRoot":"","sources":["../../src/messages/ConnectionAckV1Response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,OAAO,CAAC;AAGhD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,yBAAyB,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,yCAOvC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;CAQzC,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { literal, string } from 'io-ts';
|
|
2
|
-
import { buildMessageSchema, createSimpleMessage } from './utils';
|
|
3
|
-
/**
|
|
4
|
-
* Connection Acknowledgment Response Schema (built using Ultra-DRY utilities)
|
|
5
|
-
*/
|
|
6
|
-
export const ConnectionAckResponseSchema = buildMessageSchema('connection_ack_response', 1, {
|
|
7
|
-
status: literal('acknowledged'),
|
|
8
|
-
timestamp: string, // ISO timestamp string
|
|
9
|
-
});
|
|
10
|
-
/**
|
|
11
|
-
* Connection Acknowledgment V1 Response Message Class (Ultra-DRY implementation)
|
|
12
|
-
*/
|
|
13
|
-
export const ConnectionAckV1ResponseMessage = createSimpleMessage({
|
|
14
|
-
messageType: 'connection_ack_response',
|
|
15
|
-
version: 1,
|
|
16
|
-
schema: ConnectionAckResponseSchema,
|
|
17
|
-
});
|
|
18
|
-
//# sourceMappingURL=ConnectionAckV1Response.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionAckV1Response.js","sourceRoot":"","sources":["../../src/messages/ConnectionAckV1Response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAU,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAoBlE;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAC3D,yBAAyB,EACzB,CAAC,EACD;IACE,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,EAAE,uBAAuB;CAC3C,CACF,CAAC;AAIF;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAAmB,CAI/D;IACA,WAAW,EAAE,yBAAyB;IACtC,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,2BAA2B;CACpC,CAAC,CAAC","sourcesContent":["import { literal, string, TypeOf } from 'io-ts';\nimport { buildMessageSchema, createSimpleMessage } from './utils';\n\n/**\n * Connection Acknowledgment Response Runtime Data\n */\nexport interface ConnectionAckResponseData {\n status: 'acknowledged';\n timestamp: string;\n}\n\n/**\n * Connection Acknowledgment Response Wire Format\n */\nexport interface ConnectionAckResponseWire {\n type: 'connection_ack_response';\n version: 1;\n status: 'acknowledged';\n timestamp: string;\n}\n\n/**\n * Connection Acknowledgment Response Schema (built using Ultra-DRY utilities)\n */\nexport const ConnectionAckResponseSchema = buildMessageSchema(\n 'connection_ack_response',\n 1,\n {\n status: literal('acknowledged'),\n timestamp: string, // ISO timestamp string\n }\n);\n\nexport type ConnectionAckResponse = TypeOf<typeof ConnectionAckResponseSchema>;\n\n/**\n * Connection Acknowledgment V1 Response Message Class (Ultra-DRY implementation)\n */\nexport const ConnectionAckV1ResponseMessage = createSimpleMessage<\n ConnectionAckResponseData,\n 'connection_ack_response',\n 1\n>({\n messageType: 'connection_ack_response',\n version: 1,\n schema: ConnectionAckResponseSchema,\n});\n"]}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { TypeOf } from 'io-ts';
|
|
2
|
-
/**
|
|
3
|
-
* Handshake Request Runtime Data
|
|
4
|
-
*/
|
|
5
|
-
export interface HandshakeRequestData {
|
|
6
|
-
challenge: Uint8Array;
|
|
7
|
-
nonce: Uint8Array;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Handshake Request Wire Format
|
|
11
|
-
*/
|
|
12
|
-
export interface HandshakeRequestWire {
|
|
13
|
-
type: 'handshake';
|
|
14
|
-
version: 1;
|
|
15
|
-
challenge: string;
|
|
16
|
-
nonce: string;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Handshake Request Schema (built using Ultra-DRY utilities)
|
|
20
|
-
*/
|
|
21
|
-
export declare const HandshakeRequestSchema: import("io-ts").Type<any, any, unknown>;
|
|
22
|
-
export type HandshakeRequest = TypeOf<typeof HandshakeRequestSchema>;
|
|
23
|
-
/**
|
|
24
|
-
* Handshake V1 Request Message Class (Ultra-DRY implementation)
|
|
25
|
-
*/
|
|
26
|
-
export declare const HandshakeV1RequestMessage: {
|
|
27
|
-
new (data: HandshakeRequestData): {
|
|
28
|
-
readonly type: "handshake";
|
|
29
|
-
readonly version: 1;
|
|
30
|
-
encode(): HandshakeRequestWire;
|
|
31
|
-
readonly data: HandshakeRequestData;
|
|
32
|
-
getData(): HandshakeRequestData;
|
|
33
|
-
};
|
|
34
|
-
readonly MESSAGE_TYPE: "handshake";
|
|
35
|
-
readonly MESSAGE_VERSION: 1;
|
|
36
|
-
readonly schema: import("io-ts").Type<any, any, unknown>;
|
|
37
|
-
decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
|
|
38
|
-
readonly type: "handshake";
|
|
39
|
-
readonly version: 1;
|
|
40
|
-
encode(): HandshakeRequestWire;
|
|
41
|
-
readonly data: HandshakeRequestData;
|
|
42
|
-
getData(): HandshakeRequestData;
|
|
43
|
-
}>;
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=HandshakeV1Request.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HandshakeV1Request.d.ts","sourceRoot":"","sources":["../../src/messages/HandshakeV1Request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAQ/B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,UAAU,CAAC;IACtB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,yCAGjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;CAepC,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Uint8ArrayCodec } from '../codecs';
|
|
2
|
-
import { buildMessageSchema, createStandardMessage, createStandardDecoder, } from './utils';
|
|
3
|
-
/**
|
|
4
|
-
* Handshake Request Schema (built using Ultra-DRY utilities)
|
|
5
|
-
*/
|
|
6
|
-
export const HandshakeRequestSchema = buildMessageSchema('handshake', 1, {
|
|
7
|
-
challenge: Uint8ArrayCodec,
|
|
8
|
-
nonce: Uint8ArrayCodec,
|
|
9
|
-
});
|
|
10
|
-
/**
|
|
11
|
-
* Handshake V1 Request Message Class (Ultra-DRY implementation)
|
|
12
|
-
*/
|
|
13
|
-
export const HandshakeV1RequestMessage = createStandardMessage({
|
|
14
|
-
messageType: 'handshake',
|
|
15
|
-
version: 1,
|
|
16
|
-
schema: HandshakeRequestSchema,
|
|
17
|
-
encodeData: (data) => HandshakeRequestSchema.encode({
|
|
18
|
-
type: 'handshake',
|
|
19
|
-
version: 1,
|
|
20
|
-
challenge: data.challenge,
|
|
21
|
-
nonce: data.nonce,
|
|
22
|
-
}),
|
|
23
|
-
decodeData: createStandardDecoder((decoded) => ({
|
|
24
|
-
challenge: decoded.challenge,
|
|
25
|
-
nonce: decoded.nonce,
|
|
26
|
-
})),
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=HandshakeV1Request.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HandshakeV1Request.js","sourceRoot":"","sources":["../../src/messages/HandshakeV1Request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAoBjB;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC,EAAE;IACvE,SAAS,EAAE,eAAe;IAC1B,KAAK,EAAE,eAAe;CACvB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;IAC7D,WAAW,EAAE,WAAoB;IACjC,OAAO,EAAE,CAAU;IACnB,MAAM,EAAE,sBAAsB;IAC9B,UAAU,EAAE,CAAC,IAA0B,EAAwB,EAAE,CAC/D,sBAAsB,CAAC,MAAM,CAAC;QAC5B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;IACJ,UAAU,EAAE,qBAAqB,CAAuB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpE,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;CACJ,CAAC,CAAC","sourcesContent":["import { TypeOf } from 'io-ts';\nimport { Uint8ArrayCodec } from '../codecs';\nimport {\n buildMessageSchema,\n createStandardMessage,\n createStandardDecoder,\n} from './utils';\n\n/**\n * Handshake Request Runtime Data\n */\nexport interface HandshakeRequestData {\n challenge: Uint8Array;\n nonce: Uint8Array;\n}\n\n/**\n * Handshake Request Wire Format\n */\nexport interface HandshakeRequestWire {\n type: 'handshake';\n version: 1;\n challenge: string; // hex string\n nonce: string; // hex string\n}\n\n/**\n * Handshake Request Schema (built using Ultra-DRY utilities)\n */\nexport const HandshakeRequestSchema = buildMessageSchema('handshake', 1, {\n challenge: Uint8ArrayCodec,\n nonce: Uint8ArrayCodec,\n});\n\nexport type HandshakeRequest = TypeOf<typeof HandshakeRequestSchema>;\n\n/**\n * Handshake V1 Request Message Class (Ultra-DRY implementation)\n */\nexport const HandshakeV1RequestMessage = createStandardMessage({\n messageType: 'handshake' as const,\n version: 1 as const,\n schema: HandshakeRequestSchema,\n encodeData: (data: HandshakeRequestData): HandshakeRequestWire =>\n HandshakeRequestSchema.encode({\n type: 'handshake',\n version: 1,\n challenge: data.challenge,\n nonce: data.nonce,\n }),\n decodeData: createStandardDecoder<HandshakeRequestData>((decoded) => ({\n challenge: decoded.challenge,\n nonce: decoded.nonce,\n })),\n});\n"]}
|