@dynamic-labs-wallet/forward-mpc-shared 0.1.0-alpha.6

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.
Files changed (163) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +52 -0
  3. package/dist/attestation/index.d.ts +1 -0
  4. package/dist/attestation/index.d.ts.map +1 -0
  5. package/dist/attestation/index.js +4 -0
  6. package/dist/attestation/index.js.map +1 -0
  7. package/dist/codecs/DomainCodec.d.ts +11 -0
  8. package/dist/codecs/DomainCodec.d.ts.map +1 -0
  9. package/dist/codecs/DomainCodec.js +25 -0
  10. package/dist/codecs/DomainCodec.js.map +1 -0
  11. package/dist/codecs/EncryptedKeyshareCodec.d.ts +11 -0
  12. package/dist/codecs/EncryptedKeyshareCodec.d.ts.map +1 -0
  13. package/dist/codecs/EncryptedKeyshareCodec.js +11 -0
  14. package/dist/codecs/EncryptedKeyshareCodec.js.map +1 -0
  15. package/dist/codecs/Uint32ArrayCodec.d.ts +3 -0
  16. package/dist/codecs/Uint32ArrayCodec.d.ts.map +1 -0
  17. package/dist/codecs/Uint32ArrayCodec.js +37 -0
  18. package/dist/codecs/Uint32ArrayCodec.js.map +1 -0
  19. package/dist/codecs/Uint8ArrayCodec.d.ts +3 -0
  20. package/dist/codecs/Uint8ArrayCodec.d.ts.map +1 -0
  21. package/dist/codecs/Uint8ArrayCodec.js +26 -0
  22. package/dist/codecs/Uint8ArrayCodec.js.map +1 -0
  23. package/dist/codecs/Uint8ArrayOrHexCodec.d.ts +3 -0
  24. package/dist/codecs/Uint8ArrayOrHexCodec.d.ts.map +1 -0
  25. package/dist/codecs/Uint8ArrayOrHexCodec.js +35 -0
  26. package/dist/codecs/Uint8ArrayOrHexCodec.js.map +1 -0
  27. package/dist/codecs/WebSocketErrorCodec.d.ts +15 -0
  28. package/dist/codecs/WebSocketErrorCodec.d.ts.map +1 -0
  29. package/dist/codecs/WebSocketErrorCodec.js +14 -0
  30. package/dist/codecs/WebSocketErrorCodec.js.map +1 -0
  31. package/dist/codecs/index.d.ts +4 -0
  32. package/dist/codecs/index.d.ts.map +1 -0
  33. package/dist/codecs/index.js +4 -0
  34. package/dist/codecs/index.js.map +1 -0
  35. package/dist/constants/algorithms.d.ts +56 -0
  36. package/dist/constants/algorithms.d.ts.map +1 -0
  37. package/dist/constants/algorithms.js +60 -0
  38. package/dist/constants/algorithms.js.map +1 -0
  39. package/dist/constants/index.d.ts +2 -0
  40. package/dist/constants/index.d.ts.map +1 -0
  41. package/dist/constants/index.js +2 -0
  42. package/dist/constants/index.js.map +1 -0
  43. package/dist/crypto/decapsulate.d.ts +2 -0
  44. package/dist/crypto/decapsulate.d.ts.map +1 -0
  45. package/dist/crypto/decapsulate.js +5 -0
  46. package/dist/crypto/decapsulate.js.map +1 -0
  47. package/dist/crypto/encapsulate.d.ts +5 -0
  48. package/dist/crypto/encapsulate.d.ts.map +1 -0
  49. package/dist/crypto/encapsulate.js +5 -0
  50. package/dist/crypto/encapsulate.js.map +1 -0
  51. package/dist/crypto/generateKeypair.d.ts +5 -0
  52. package/dist/crypto/generateKeypair.d.ts.map +1 -0
  53. package/dist/crypto/generateKeypair.js +17 -0
  54. package/dist/crypto/generateKeypair.js.map +1 -0
  55. package/dist/crypto/index.d.ts +6 -0
  56. package/dist/crypto/index.d.ts.map +1 -0
  57. package/dist/crypto/index.js +6 -0
  58. package/dist/crypto/index.js.map +1 -0
  59. package/dist/crypto/keyDerivation.d.ts +14 -0
  60. package/dist/crypto/keyDerivation.d.ts.map +1 -0
  61. package/dist/crypto/keyDerivation.js +21 -0
  62. package/dist/crypto/keyDerivation.js.map +1 -0
  63. package/dist/crypto/keyshareEncryption.d.ts +13 -0
  64. package/dist/crypto/keyshareEncryption.d.ts.map +1 -0
  65. package/dist/crypto/keyshareEncryption.js +39 -0
  66. package/dist/crypto/keyshareEncryption.js.map +1 -0
  67. package/dist/index.d.ts +9 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +18 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/messages/ConnectionAckV1Request.d.ts +43 -0
  72. package/dist/messages/ConnectionAckV1Request.d.ts.map +1 -0
  73. package/dist/messages/ConnectionAckV1Request.js +17 -0
  74. package/dist/messages/ConnectionAckV1Request.js.map +1 -0
  75. package/dist/messages/ConnectionAckV1Response.d.ts +45 -0
  76. package/dist/messages/ConnectionAckV1Response.d.ts.map +1 -0
  77. package/dist/messages/ConnectionAckV1Response.js +18 -0
  78. package/dist/messages/ConnectionAckV1Response.js.map +1 -0
  79. package/dist/messages/HandshakeV1Request.d.ts +45 -0
  80. package/dist/messages/HandshakeV1Request.d.ts.map +1 -0
  81. package/dist/messages/HandshakeV1Request.js +28 -0
  82. package/dist/messages/HandshakeV1Request.js.map +1 -0
  83. package/dist/messages/HandshakeV1Response.d.ts +47 -0
  84. package/dist/messages/HandshakeV1Response.d.ts.map +1 -0
  85. package/dist/messages/HandshakeV1Response.js +20 -0
  86. package/dist/messages/HandshakeV1Response.js.map +1 -0
  87. package/dist/messages/SignMessageV1Request.d.ts +63 -0
  88. package/dist/messages/SignMessageV1Request.d.ts.map +1 -0
  89. package/dist/messages/SignMessageV1Request.js +42 -0
  90. package/dist/messages/SignMessageV1Request.js.map +1 -0
  91. package/dist/messages/SignMessageV1Response.d.ts +47 -0
  92. package/dist/messages/SignMessageV1Response.d.ts.map +1 -0
  93. package/dist/messages/SignMessageV1Response.js +28 -0
  94. package/dist/messages/SignMessageV1Response.js.map +1 -0
  95. package/dist/messages/allMessages.d.ts +259 -0
  96. package/dist/messages/allMessages.d.ts.map +1 -0
  97. package/dist/messages/allMessages.js +57 -0
  98. package/dist/messages/allMessages.js.map +1 -0
  99. package/dist/messages/base.d.ts +27 -0
  100. package/dist/messages/base.d.ts.map +1 -0
  101. package/dist/messages/base.js +12 -0
  102. package/dist/messages/base.js.map +1 -0
  103. package/dist/messages/index.d.ts +11 -0
  104. package/dist/messages/index.d.ts.map +1 -0
  105. package/dist/messages/index.js +14 -0
  106. package/dist/messages/index.js.map +1 -0
  107. package/dist/messages/registry.d.ts +136 -0
  108. package/dist/messages/registry.d.ts.map +1 -0
  109. package/dist/messages/registry.js +67 -0
  110. package/dist/messages/registry.js.map +1 -0
  111. package/dist/messages/utils/StandardMessage.d.ts +97 -0
  112. package/dist/messages/utils/StandardMessage.d.ts.map +1 -0
  113. package/dist/messages/utils/StandardMessage.js +98 -0
  114. package/dist/messages/utils/StandardMessage.js.map +1 -0
  115. package/dist/messages/utils/encodingHelpers.d.ts +20 -0
  116. package/dist/messages/utils/encodingHelpers.d.ts.map +1 -0
  117. package/dist/messages/utils/encodingHelpers.js +50 -0
  118. package/dist/messages/utils/encodingHelpers.js.map +1 -0
  119. package/dist/messages/utils/index.d.ts +4 -0
  120. package/dist/messages/utils/index.d.ts.map +1 -0
  121. package/dist/messages/utils/index.js +5 -0
  122. package/dist/messages/utils/index.js.map +1 -0
  123. package/dist/messages/utils/schemaBuilder.d.ts +19 -0
  124. package/dist/messages/utils/schemaBuilder.d.ts.map +1 -0
  125. package/dist/messages/utils/schemaBuilder.js +31 -0
  126. package/dist/messages/utils/schemaBuilder.js.map +1 -0
  127. package/dist/signing/algorithms/BIP340SigningAlgorithm.d.ts +20 -0
  128. package/dist/signing/algorithms/BIP340SigningAlgorithm.d.ts.map +1 -0
  129. package/dist/signing/algorithms/BIP340SigningAlgorithm.js +35 -0
  130. package/dist/signing/algorithms/BIP340SigningAlgorithm.js.map +1 -0
  131. package/dist/signing/algorithms/EcdsaSigningAlgorithm.d.ts +20 -0
  132. package/dist/signing/algorithms/EcdsaSigningAlgorithm.d.ts.map +1 -0
  133. package/dist/signing/algorithms/EcdsaSigningAlgorithm.js +43 -0
  134. package/dist/signing/algorithms/EcdsaSigningAlgorithm.js.map +1 -0
  135. package/dist/signing/algorithms/Ed25519SigningAlgorithm.d.ts +18 -0
  136. package/dist/signing/algorithms/Ed25519SigningAlgorithm.d.ts.map +1 -0
  137. package/dist/signing/algorithms/Ed25519SigningAlgorithm.js +34 -0
  138. package/dist/signing/algorithms/Ed25519SigningAlgorithm.js.map +1 -0
  139. package/dist/signing/allAlgorithms.d.ts +50 -0
  140. package/dist/signing/allAlgorithms.d.ts.map +1 -0
  141. package/dist/signing/allAlgorithms.js +59 -0
  142. package/dist/signing/allAlgorithms.js.map +1 -0
  143. package/dist/signing/base.d.ts +42 -0
  144. package/dist/signing/base.d.ts.map +1 -0
  145. package/dist/signing/base.js +6 -0
  146. package/dist/signing/base.js.map +1 -0
  147. package/dist/signing/index.d.ts +7 -0
  148. package/dist/signing/index.d.ts.map +1 -0
  149. package/dist/signing/index.js +9 -0
  150. package/dist/signing/index.js.map +1 -0
  151. package/dist/signing/registry.d.ts +26 -0
  152. package/dist/signing/registry.d.ts.map +1 -0
  153. package/dist/signing/registry.js +36 -0
  154. package/dist/signing/registry.js.map +1 -0
  155. package/dist/types.d.ts +42 -0
  156. package/dist/types.d.ts.map +1 -0
  157. package/dist/types.js +12 -0
  158. package/dist/types.js.map +1 -0
  159. package/dist/utils/assertDefined.d.ts +16 -0
  160. package/dist/utils/assertDefined.d.ts.map +1 -0
  161. package/dist/utils/assertDefined.js +27 -0
  162. package/dist/utils/assertDefined.js.map +1 -0
  163. package/package.json +52 -0
@@ -0,0 +1,47 @@
1
+ import { TypeOf } from 'io-ts';
2
+ import { WebSocketError } from '../types';
3
+ /**
4
+ * Sign Message Response Runtime Data
5
+ */
6
+ export interface SignMessageResponseData {
7
+ signature?: Uint8Array;
8
+ error?: WebSocketError;
9
+ }
10
+ /**
11
+ * Sign Message Response Wire Format
12
+ */
13
+ export interface SignMessageResponseWire {
14
+ type: 'signMessage_response';
15
+ version: 1;
16
+ signature?: string;
17
+ error?: WebSocketError;
18
+ }
19
+ /**
20
+ * Sign Message Response Schema (built using Ultra-DRY utilities)
21
+ * Schema expects wire format types (string for signature)
22
+ */
23
+ export declare const SignMessageResponseSchema: import("io-ts").Type<any, any, unknown>;
24
+ export type SignMessageResponse = TypeOf<typeof SignMessageResponseSchema>;
25
+ /**
26
+ * Sign Message V1 Response Message Class (Ultra-DRY implementation)
27
+ */
28
+ export declare const SignMessageV1ResponseMessage: {
29
+ new (data: SignMessageResponseData): {
30
+ readonly type: "signMessage_response";
31
+ readonly version: 1;
32
+ encode(): SignMessageResponseWire;
33
+ readonly data: SignMessageResponseData;
34
+ getData(): SignMessageResponseData;
35
+ };
36
+ readonly MESSAGE_TYPE: "signMessage_response";
37
+ readonly MESSAGE_VERSION: 1;
38
+ readonly schema: import("io-ts").Type<any, any, unknown>;
39
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
40
+ readonly type: "signMessage_response";
41
+ readonly version: 1;
42
+ encode(): SignMessageResponseWire;
43
+ readonly data: SignMessageResponseData;
44
+ getData(): SignMessageResponseData;
45
+ }>;
46
+ };
47
+ //# sourceMappingURL=SignMessageV1Response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignMessageV1Response.d.ts","sourceRoot":"","sources":["../../src/messages/SignMessageV1Response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqC,MAAM,OAAO,CAAC;AAOlE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,yCAOrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;CAgBvC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { union, undefined as undefinedType } from 'io-ts';
2
+ import { buildMessageSchema, createStandardMessage, createComplexEncoder, createStandardDecoder, } from './utils';
3
+ import { WebSocketErrorCodec } from '../codecs/WebSocketErrorCodec';
4
+ import { Uint8ArrayOrHexCodec } from '../codecs/Uint8ArrayOrHexCodec';
5
+ /**
6
+ * Sign Message Response Schema (built using Ultra-DRY utilities)
7
+ * Schema expects wire format types (string for signature)
8
+ */
9
+ export const SignMessageResponseSchema = buildMessageSchema('signMessage_response', 1, {
10
+ signature: union([Uint8ArrayOrHexCodec, undefinedType]), // Codec handles both hex string and Uint8Array
11
+ error: union([WebSocketErrorCodec, undefinedType]),
12
+ });
13
+ /**
14
+ * Sign Message V1 Response Message Class (Ultra-DRY implementation)
15
+ */
16
+ export const SignMessageV1ResponseMessage = createStandardMessage({
17
+ messageType: 'signMessage_response',
18
+ version: 1,
19
+ schema: SignMessageResponseSchema,
20
+ encodeData: createComplexEncoder('signMessage_response', 1, {
21
+ signature: (value) => Uint8ArrayOrHexCodec.encode(value),
22
+ }),
23
+ decodeData: createStandardDecoder((decoded) => ({
24
+ signature: decoded.signature,
25
+ error: decoded.error,
26
+ })),
27
+ });
28
+ //# sourceMappingURL=SignMessageV1Response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignMessageV1Response.js","sourceRoot":"","sources":["../../src/messages/SignMessageV1Response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAoBtE;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CACzD,sBAAsB,EACtB,CAAC,EACD;IACE,SAAS,EAAE,KAAK,CAAC,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC,EAAE,+CAA+C;IACxG,KAAK,EAAE,KAAK,CAAC,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;CACnD,CACF,CAAC;AAIF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,qBAAqB,CAK/D;IACA,WAAW,EAAE,sBAAsB;IACnC,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,yBAAyB;IACjC,UAAU,EAAE,oBAAoB,CAAC,sBAAsB,EAAE,CAAC,EAAE;QAC1D,SAAS,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;KACrE,CAAC;IACF,UAAU,EAAE,qBAAqB,CAA0B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvE,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;CACJ,CAAC,CAAC","sourcesContent":["import { TypeOf, union, undefined as undefinedType } from 'io-ts';\nimport {\n buildMessageSchema,\n createStandardMessage,\n createComplexEncoder,\n createStandardDecoder,\n} from './utils';\nimport { WebSocketError } from '../types';\nimport { WebSocketErrorCodec } from '../codecs/WebSocketErrorCodec';\nimport { Uint8ArrayOrHexCodec } from '../codecs/Uint8ArrayOrHexCodec';\n\n/**\n * Sign Message Response Runtime Data\n */\nexport interface SignMessageResponseData {\n signature?: Uint8Array; // The signature as byte array - present on success\n error?: WebSocketError; // Error details - present on failure\n}\n\n/**\n * Sign Message Response Wire Format\n */\nexport interface SignMessageResponseWire {\n type: 'signMessage_response';\n version: 1;\n signature?: string; // The signature (hex-encoded) - present on success\n error?: WebSocketError; // Error details - present on failure\n}\n\n/**\n * Sign Message Response Schema (built using Ultra-DRY utilities)\n * Schema expects wire format types (string for signature)\n */\nexport const SignMessageResponseSchema = buildMessageSchema(\n 'signMessage_response',\n 1,\n {\n signature: union([Uint8ArrayOrHexCodec, undefinedType]), // Codec handles both hex string and Uint8Array\n error: union([WebSocketErrorCodec, undefinedType]),\n }\n);\n\nexport type SignMessageResponse = TypeOf<typeof SignMessageResponseSchema>;\n\n/**\n * Sign Message V1 Response Message Class (Ultra-DRY implementation)\n */\nexport const SignMessageV1ResponseMessage = createStandardMessage<\n SignMessageResponseData,\n SignMessageResponseWire,\n 'signMessage_response',\n 1\n>({\n messageType: 'signMessage_response',\n version: 1,\n schema: SignMessageResponseSchema,\n encodeData: createComplexEncoder('signMessage_response', 1, {\n signature: (value: Uint8Array) => Uint8ArrayOrHexCodec.encode(value),\n }),\n decodeData: createStandardDecoder<SignMessageResponseData>((decoded) => ({\n signature: decoded.signature,\n error: decoded.error,\n })),\n});\n"]}
@@ -0,0 +1,259 @@
1
+ /**
2
+ * 🎯 SINGLE SOURCE OF TRUTH - Add new messages here and everything else is automatic!
3
+ * This is the ONLY place you need to add new message types
4
+ */
5
+ export declare const ALL_MESSAGE_CLASSES: {
6
+ readonly 'handshake@1': {
7
+ new (data: import("./HandshakeV1Request").HandshakeRequestData): {
8
+ readonly type: "handshake";
9
+ readonly version: 1;
10
+ encode(): import("./HandshakeV1Request").HandshakeRequestWire;
11
+ readonly data: import("./HandshakeV1Request").HandshakeRequestData;
12
+ getData(): import("./HandshakeV1Request").HandshakeRequestData;
13
+ };
14
+ readonly MESSAGE_TYPE: "handshake";
15
+ readonly MESSAGE_VERSION: 1;
16
+ readonly schema: import("io-ts").Type<any, any, unknown>;
17
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
18
+ readonly type: "handshake";
19
+ readonly version: 1;
20
+ encode(): import("./HandshakeV1Request").HandshakeRequestWire;
21
+ readonly data: import("./HandshakeV1Request").HandshakeRequestData;
22
+ getData(): import("./HandshakeV1Request").HandshakeRequestData;
23
+ }>;
24
+ };
25
+ readonly 'handshake_response@1': {
26
+ new (data: import("./HandshakeV1Response").HandshakeResponseData): {
27
+ readonly type: "handshake_response";
28
+ readonly version: 1;
29
+ encode(): any;
30
+ readonly data: import("./HandshakeV1Response").HandshakeResponseData;
31
+ getData(): import("./HandshakeV1Response").HandshakeResponseData;
32
+ };
33
+ readonly MESSAGE_TYPE: "handshake_response";
34
+ readonly MESSAGE_VERSION: 1;
35
+ readonly schema: import("io-ts").Type<any, any, unknown>;
36
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
37
+ readonly type: "handshake_response";
38
+ readonly version: 1;
39
+ encode(): any;
40
+ readonly data: import("./HandshakeV1Response").HandshakeResponseData;
41
+ getData(): import("./HandshakeV1Response").HandshakeResponseData;
42
+ }>;
43
+ };
44
+ readonly 'signMessage@1': {
45
+ new (data: import("./SignMessageV1Request").SignMessageRequestData): {
46
+ readonly type: "signMessage";
47
+ readonly version: 1;
48
+ encode(): unknown;
49
+ readonly data: import("./SignMessageV1Request").SignMessageRequestData;
50
+ getData(): import("./SignMessageV1Request").SignMessageRequestData;
51
+ };
52
+ readonly MESSAGE_TYPE: "signMessage";
53
+ readonly MESSAGE_VERSION: 1;
54
+ readonly schema: import("io-ts").Type<any, any, unknown>;
55
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
56
+ readonly type: "signMessage";
57
+ readonly version: 1;
58
+ encode(): unknown;
59
+ readonly data: import("./SignMessageV1Request").SignMessageRequestData;
60
+ getData(): import("./SignMessageV1Request").SignMessageRequestData;
61
+ }>;
62
+ };
63
+ readonly 'signMessage_response@1': {
64
+ new (data: import("./SignMessageV1Response").SignMessageResponseData): {
65
+ readonly type: "signMessage_response";
66
+ readonly version: 1;
67
+ encode(): import("./SignMessageV1Response").SignMessageResponseWire;
68
+ readonly data: import("./SignMessageV1Response").SignMessageResponseData;
69
+ getData(): import("./SignMessageV1Response").SignMessageResponseData;
70
+ };
71
+ readonly MESSAGE_TYPE: "signMessage_response";
72
+ readonly MESSAGE_VERSION: 1;
73
+ readonly schema: import("io-ts").Type<any, any, unknown>;
74
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
75
+ readonly type: "signMessage_response";
76
+ readonly version: 1;
77
+ encode(): import("./SignMessageV1Response").SignMessageResponseWire;
78
+ readonly data: import("./SignMessageV1Response").SignMessageResponseData;
79
+ getData(): import("./SignMessageV1Response").SignMessageResponseData;
80
+ }>;
81
+ };
82
+ readonly 'connection_ack@1': {
83
+ new (data: import("./ConnectionAckV1Request").ConnectionAckRequestData): {
84
+ readonly type: "connection_ack";
85
+ readonly version: 1;
86
+ encode(): any;
87
+ readonly data: import("./ConnectionAckV1Request").ConnectionAckRequestData;
88
+ getData(): import("./ConnectionAckV1Request").ConnectionAckRequestData;
89
+ };
90
+ readonly MESSAGE_TYPE: "connection_ack";
91
+ readonly MESSAGE_VERSION: 1;
92
+ readonly schema: import("io-ts").Type<any, any, unknown>;
93
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
94
+ readonly type: "connection_ack";
95
+ readonly version: 1;
96
+ encode(): any;
97
+ readonly data: import("./ConnectionAckV1Request").ConnectionAckRequestData;
98
+ getData(): import("./ConnectionAckV1Request").ConnectionAckRequestData;
99
+ }>;
100
+ };
101
+ readonly 'connection_ack_response@1': {
102
+ new (data: import("./ConnectionAckV1Response").ConnectionAckResponseData): {
103
+ readonly type: "connection_ack_response";
104
+ readonly version: 1;
105
+ encode(): any;
106
+ readonly data: import("./ConnectionAckV1Response").ConnectionAckResponseData;
107
+ getData(): import("./ConnectionAckV1Response").ConnectionAckResponseData;
108
+ };
109
+ readonly MESSAGE_TYPE: "connection_ack_response";
110
+ readonly MESSAGE_VERSION: 1;
111
+ readonly schema: import("io-ts").Type<any, any, unknown>;
112
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
113
+ readonly type: "connection_ack_response";
114
+ readonly version: 1;
115
+ encode(): any;
116
+ readonly data: import("./ConnectionAckV1Response").ConnectionAckResponseData;
117
+ getData(): import("./ConnectionAckV1Response").ConnectionAckResponseData;
118
+ }>;
119
+ };
120
+ };
121
+ /**
122
+ * Derive message type union from classes
123
+ */
124
+ export type AllMessageTypes = keyof typeof ALL_MESSAGE_CLASSES;
125
+ /**
126
+ * Derive runtime array of message keys from classes
127
+ */
128
+ export declare const ALL_MESSAGE_KEYS: AllMessageTypes[];
129
+ /**
130
+ * Get message class by type and version (derived from single source)
131
+ */
132
+ export declare function getMessageClass(type: string, version: number): {
133
+ new (data: import("./HandshakeV1Request").HandshakeRequestData): {
134
+ readonly type: "handshake";
135
+ readonly version: 1;
136
+ encode(): import("./HandshakeV1Request").HandshakeRequestWire;
137
+ readonly data: import("./HandshakeV1Request").HandshakeRequestData;
138
+ getData(): import("./HandshakeV1Request").HandshakeRequestData;
139
+ };
140
+ readonly MESSAGE_TYPE: "handshake";
141
+ readonly MESSAGE_VERSION: 1;
142
+ readonly schema: import("io-ts").Type<any, any, unknown>;
143
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
144
+ readonly type: "handshake";
145
+ readonly version: 1;
146
+ encode(): import("./HandshakeV1Request").HandshakeRequestWire;
147
+ readonly data: import("./HandshakeV1Request").HandshakeRequestData;
148
+ getData(): import("./HandshakeV1Request").HandshakeRequestData;
149
+ }>;
150
+ } | {
151
+ new (data: import("./HandshakeV1Response").HandshakeResponseData): {
152
+ readonly type: "handshake_response";
153
+ readonly version: 1;
154
+ encode(): any;
155
+ readonly data: import("./HandshakeV1Response").HandshakeResponseData;
156
+ getData(): import("./HandshakeV1Response").HandshakeResponseData;
157
+ };
158
+ readonly MESSAGE_TYPE: "handshake_response";
159
+ readonly MESSAGE_VERSION: 1;
160
+ readonly schema: import("io-ts").Type<any, any, unknown>;
161
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
162
+ readonly type: "handshake_response";
163
+ readonly version: 1;
164
+ encode(): any;
165
+ readonly data: import("./HandshakeV1Response").HandshakeResponseData;
166
+ getData(): import("./HandshakeV1Response").HandshakeResponseData;
167
+ }>;
168
+ } | {
169
+ new (data: import("./SignMessageV1Request").SignMessageRequestData): {
170
+ readonly type: "signMessage";
171
+ readonly version: 1;
172
+ encode(): unknown;
173
+ readonly data: import("./SignMessageV1Request").SignMessageRequestData;
174
+ getData(): import("./SignMessageV1Request").SignMessageRequestData;
175
+ };
176
+ readonly MESSAGE_TYPE: "signMessage";
177
+ readonly MESSAGE_VERSION: 1;
178
+ readonly schema: import("io-ts").Type<any, any, unknown>;
179
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
180
+ readonly type: "signMessage";
181
+ readonly version: 1;
182
+ encode(): unknown;
183
+ readonly data: import("./SignMessageV1Request").SignMessageRequestData;
184
+ getData(): import("./SignMessageV1Request").SignMessageRequestData;
185
+ }>;
186
+ } | {
187
+ new (data: import("./SignMessageV1Response").SignMessageResponseData): {
188
+ readonly type: "signMessage_response";
189
+ readonly version: 1;
190
+ encode(): import("./SignMessageV1Response").SignMessageResponseWire;
191
+ readonly data: import("./SignMessageV1Response").SignMessageResponseData;
192
+ getData(): import("./SignMessageV1Response").SignMessageResponseData;
193
+ };
194
+ readonly MESSAGE_TYPE: "signMessage_response";
195
+ readonly MESSAGE_VERSION: 1;
196
+ readonly schema: import("io-ts").Type<any, any, unknown>;
197
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
198
+ readonly type: "signMessage_response";
199
+ readonly version: 1;
200
+ encode(): import("./SignMessageV1Response").SignMessageResponseWire;
201
+ readonly data: import("./SignMessageV1Response").SignMessageResponseData;
202
+ getData(): import("./SignMessageV1Response").SignMessageResponseData;
203
+ }>;
204
+ } | {
205
+ new (data: import("./ConnectionAckV1Request").ConnectionAckRequestData): {
206
+ readonly type: "connection_ack";
207
+ readonly version: 1;
208
+ encode(): any;
209
+ readonly data: import("./ConnectionAckV1Request").ConnectionAckRequestData;
210
+ getData(): import("./ConnectionAckV1Request").ConnectionAckRequestData;
211
+ };
212
+ readonly MESSAGE_TYPE: "connection_ack";
213
+ readonly MESSAGE_VERSION: 1;
214
+ readonly schema: import("io-ts").Type<any, any, unknown>;
215
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
216
+ readonly type: "connection_ack";
217
+ readonly version: 1;
218
+ encode(): any;
219
+ readonly data: import("./ConnectionAckV1Request").ConnectionAckRequestData;
220
+ getData(): import("./ConnectionAckV1Request").ConnectionAckRequestData;
221
+ }>;
222
+ } | {
223
+ new (data: import("./ConnectionAckV1Response").ConnectionAckResponseData): {
224
+ readonly type: "connection_ack_response";
225
+ readonly version: 1;
226
+ encode(): any;
227
+ readonly data: import("./ConnectionAckV1Response").ConnectionAckResponseData;
228
+ getData(): import("./ConnectionAckV1Response").ConnectionAckResponseData;
229
+ };
230
+ readonly MESSAGE_TYPE: "connection_ack_response";
231
+ readonly MESSAGE_VERSION: 1;
232
+ readonly schema: import("io-ts").Type<any, any, unknown>;
233
+ decode(wireData: unknown): import("fp-ts/lib/Either").Either<import("io-ts").Errors, {
234
+ readonly type: "connection_ack_response";
235
+ readonly version: 1;
236
+ encode(): any;
237
+ readonly data: import("./ConnectionAckV1Response").ConnectionAckResponseData;
238
+ getData(): import("./ConnectionAckV1Response").ConnectionAckResponseData;
239
+ }>;
240
+ };
241
+ /**
242
+ * Type-safe check if message type exists
243
+ */
244
+ export declare function isValidMessageType(type: string, version: number): boolean;
245
+ /**
246
+ * Get all supported message types and versions
247
+ */
248
+ export declare function getAllSupportedMessages(): Array<{
249
+ type: string;
250
+ version: number;
251
+ }>;
252
+ /**
253
+ * Helper to extract message type and version from key
254
+ */
255
+ export declare function parseMessageKey(key: AllMessageTypes): {
256
+ type: string;
257
+ version: number;
258
+ };
259
+ //# sourceMappingURL=allMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allMessages.d.ts","sourceRoot":"","sources":["../../src/messages/allMessages.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOtB,CAAC;AAMX;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAExB,eAAe,EAAE,CAAC;AAEvB;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAGzE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,KAAK,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAKD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAGA"}
@@ -0,0 +1,57 @@
1
+ import { HandshakeV1RequestMessage } from './HandshakeV1Request';
2
+ import { HandshakeV1ResponseMessage } from './HandshakeV1Response';
3
+ import { SignMessageV1RequestMessage } from './SignMessageV1Request';
4
+ import { SignMessageV1ResponseMessage } from './SignMessageV1Response';
5
+ import { ConnectionAckV1RequestMessage } from './ConnectionAckV1Request';
6
+ import { ConnectionAckV1ResponseMessage } from './ConnectionAckV1Response';
7
+ /**
8
+ * 🎯 SINGLE SOURCE OF TRUTH - Add new messages here and everything else is automatic!
9
+ * This is the ONLY place you need to add new message types
10
+ */
11
+ export const ALL_MESSAGE_CLASSES = {
12
+ 'handshake@1': HandshakeV1RequestMessage,
13
+ 'handshake_response@1': HandshakeV1ResponseMessage,
14
+ 'signMessage@1': SignMessageV1RequestMessage,
15
+ 'signMessage_response@1': SignMessageV1ResponseMessage,
16
+ 'connection_ack@1': ConnectionAckV1RequestMessage,
17
+ 'connection_ack_response@1': ConnectionAckV1ResponseMessage,
18
+ };
19
+ /**
20
+ * Derive runtime array of message keys from classes
21
+ */
22
+ export const ALL_MESSAGE_KEYS = Object.keys(ALL_MESSAGE_CLASSES);
23
+ /**
24
+ * Get message class by type and version (derived from single source)
25
+ */
26
+ export function getMessageClass(type, version) {
27
+ const key = `${type}@${version}`;
28
+ const MessageClass = ALL_MESSAGE_CLASSES[key];
29
+ if (!MessageClass) {
30
+ throw new Error(`Unknown message type: ${type} version ${version}`);
31
+ }
32
+ return MessageClass;
33
+ }
34
+ /**
35
+ * Type-safe check if message type exists
36
+ */
37
+ export function isValidMessageType(type, version) {
38
+ const key = `${type}@${version}`;
39
+ return key in ALL_MESSAGE_CLASSES;
40
+ }
41
+ /**
42
+ * Get all supported message types and versions
43
+ */
44
+ export function getAllSupportedMessages() {
45
+ return ALL_MESSAGE_KEYS.map((key) => {
46
+ const [type, versionStr] = key.split('@');
47
+ return { type, version: parseInt(versionStr, 10) };
48
+ });
49
+ }
50
+ /**
51
+ * Helper to extract message type and version from key
52
+ */
53
+ export function parseMessageKey(key) {
54
+ const [type, versionStr] = key.split('@');
55
+ return { type, version: parseInt(versionStr, 10) };
56
+ }
57
+ //# sourceMappingURL=allMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allMessages.js","sourceRoot":"","sources":["../../src/messages/allMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa,EAAE,yBAAyB;IACxC,sBAAsB,EAAE,0BAA0B;IAClD,eAAe,EAAE,2BAA2B;IAC5C,wBAAwB,EAAE,4BAA4B;IACtD,kBAAkB,EAAE,6BAA6B;IACjD,2BAA2B,EAAE,8BAA8B;CACnD,CAAC;AAWX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CACzC,mBAAmB,CACC,CAAC;AAEvB;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,OAAe;IAC3D,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,EAAqB,CAAC;IACpD,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,YAAY,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,OAAe;IAC9D,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;IACjC,OAAO,GAAG,IAAI,mBAAmB,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IAIrC,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAClC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAoB;IAIlD,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC","sourcesContent":["import { HandshakeV1RequestMessage } from './HandshakeV1Request';\nimport { HandshakeV1ResponseMessage } from './HandshakeV1Response';\nimport { SignMessageV1RequestMessage } from './SignMessageV1Request';\nimport { SignMessageV1ResponseMessage } from './SignMessageV1Response';\nimport { ConnectionAckV1RequestMessage } from './ConnectionAckV1Request';\nimport { ConnectionAckV1ResponseMessage } from './ConnectionAckV1Response';\n\n/**\n * 🎯 SINGLE SOURCE OF TRUTH - Add new messages here and everything else is automatic!\n * This is the ONLY place you need to add new message types\n */\nexport const ALL_MESSAGE_CLASSES = {\n 'handshake@1': HandshakeV1RequestMessage,\n 'handshake_response@1': HandshakeV1ResponseMessage,\n 'signMessage@1': SignMessageV1RequestMessage,\n 'signMessage_response@1': SignMessageV1ResponseMessage,\n 'connection_ack@1': ConnectionAckV1RequestMessage,\n 'connection_ack_response@1': ConnectionAckV1ResponseMessage,\n} as const;\n\n// ========================================\n// 🤖 EVERYTHING BELOW IS AUTOMATICALLY DERIVED\n// ========================================\n\n/**\n * Derive message type union from classes\n */\nexport type AllMessageTypes = keyof typeof ALL_MESSAGE_CLASSES;\n\n/**\n * Derive runtime array of message keys from classes\n */\nexport const ALL_MESSAGE_KEYS = Object.keys(\n ALL_MESSAGE_CLASSES\n) as AllMessageTypes[];\n\n/**\n * Get message class by type and version (derived from single source)\n */\nexport function getMessageClass(type: string, version: number) {\n const key = `${type}@${version}` as AllMessageTypes;\n const MessageClass = ALL_MESSAGE_CLASSES[key];\n\n if (!MessageClass) {\n throw new Error(`Unknown message type: ${type} version ${version}`);\n }\n\n return MessageClass;\n}\n\n/**\n * Type-safe check if message type exists\n */\nexport function isValidMessageType(type: string, version: number): boolean {\n const key = `${type}@${version}`;\n return key in ALL_MESSAGE_CLASSES;\n}\n\n/**\n * Get all supported message types and versions\n */\nexport function getAllSupportedMessages(): Array<{\n type: string;\n version: number;\n}> {\n return ALL_MESSAGE_KEYS.map((key) => {\n const [type, versionStr] = key.split('@');\n return { type, version: parseInt(versionStr, 10) };\n });\n}\n\n/**\n * Helper to extract message type and version from key\n */\nexport function parseMessageKey(key: AllMessageTypes): {\n type: string;\n version: number;\n} {\n const [type, versionStr] = key.split('@');\n return { type, version: parseInt(versionStr, 10) };\n}\n"]}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Base interface for all messages
3
+ */
4
+ export interface IMessage<TRuntime = any, TWire = any> {
5
+ readonly type: string;
6
+ readonly version: number;
7
+ /**
8
+ * Encode this message to wire format for transmission
9
+ */
10
+ encode(): TWire;
11
+ /**
12
+ * Get the runtime data of this message
13
+ */
14
+ getData(): TRuntime;
15
+ }
16
+ /**
17
+ * Abstract base class for all messages
18
+ */
19
+ export declare abstract class BaseMessage<TRuntime = any, TWire = any> implements IMessage<TRuntime, TWire> {
20
+ readonly data: TRuntime;
21
+ abstract readonly type: string;
22
+ abstract readonly version: number;
23
+ protected constructor(data: TRuntime);
24
+ abstract encode(): TWire;
25
+ getData(): TRuntime;
26
+ }
27
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/messages/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,QAAQ,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,MAAM,IAAI,KAAK,CAAC;IAEhB;;OAEG;IACH,OAAO,IAAI,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,8BAAsB,WAAW,CAAC,QAAQ,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,CAC3D,YAAW,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;aAKE,IAAI,EAAE,QAAQ;IAHpD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAElC,SAAS,aAA6B,IAAI,EAAE,QAAQ;IAEpD,QAAQ,CAAC,MAAM,IAAI,KAAK;IAExB,OAAO,IAAI,QAAQ;CAGpB"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Abstract base class for all messages
3
+ */
4
+ export class BaseMessage {
5
+ constructor(data) {
6
+ this.data = data;
7
+ }
8
+ getData() {
9
+ return this.data;
10
+ }
11
+ }
12
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/messages/base.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,MAAM,OAAgB,WAAW;IAM/B,YAAsC,IAAc;QAAd,SAAI,GAAJ,IAAI,CAAU;IAAG,CAAC;IAIxD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF","sourcesContent":["/**\n * Base interface for all messages\n */\nexport interface IMessage<TRuntime = any, TWire = any> {\n readonly type: string;\n readonly version: number;\n\n /**\n * Encode this message to wire format for transmission\n */\n encode(): TWire;\n\n /**\n * Get the runtime data of this message\n */\n getData(): TRuntime;\n}\n\n/**\n * Abstract base class for all messages\n */\nexport abstract class BaseMessage<TRuntime = any, TWire = any>\n implements IMessage<TRuntime, TWire>\n{\n abstract readonly type: string;\n abstract readonly version: number;\n\n protected constructor(public readonly data: TRuntime) {}\n\n abstract encode(): TWire;\n\n getData(): TRuntime {\n return this.data;\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ export * from './base';
2
+ export * from './registry';
3
+ export * from './HandshakeV1Request';
4
+ export * from './HandshakeV1Response';
5
+ export * from './SignMessageV1Request';
6
+ export * from './SignMessageV1Response';
7
+ export * from './ConnectionAckV1Request';
8
+ export * from './ConnectionAckV1Response';
9
+ export * from './allMessages';
10
+ export { messageRegistry } from './registry';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AACA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAG3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,14 @@
1
+ // Export base classes and interfaces
2
+ export * from './base';
3
+ export * from './registry';
4
+ // Export concrete message classes
5
+ export * from './HandshakeV1Request';
6
+ export * from './HandshakeV1Response';
7
+ export * from './SignMessageV1Request';
8
+ export * from './SignMessageV1Response';
9
+ export * from './ConnectionAckV1Request';
10
+ export * from './ConnectionAckV1Response';
11
+ // Export Ultra-DRY message system
12
+ export * from './allMessages';
13
+ export { messageRegistry } from './registry';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAE3B,kCAAkC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,kCAAkC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC","sourcesContent":["// Export base classes and interfaces\nexport * from './base';\nexport * from './registry';\n\n// Export concrete message classes\nexport * from './HandshakeV1Request';\nexport * from './HandshakeV1Response';\nexport * from './SignMessageV1Request';\nexport * from './SignMessageV1Response';\nexport * from './ConnectionAckV1Request';\nexport * from './ConnectionAckV1Response';\n\n// Export Ultra-DRY message system\nexport * from './allMessages';\nexport { messageRegistry } from './registry';\n"]}
@@ -0,0 +1,136 @@
1
+ import { Either } from 'fp-ts/lib/Either';
2
+ import { IMessage } from './base';
3
+ /**
4
+ * Ultra-DRY Message Registry - everything is derived, no registration needed
5
+ */
6
+ export declare class MessageRegistry {
7
+ private static instance;
8
+ private constructor();
9
+ static getInstance(): MessageRegistry;
10
+ /**
11
+ * Get a message class by type and version (derived from single source)
12
+ */
13
+ getMessageClass(type: string, version: number): {
14
+ new (data: import("./HandshakeV1Request").HandshakeRequestData): {
15
+ readonly type: "handshake";
16
+ readonly version: 1;
17
+ encode(): import("./HandshakeV1Request").HandshakeRequestWire;
18
+ readonly data: import("./HandshakeV1Request").HandshakeRequestData;
19
+ getData(): import("./HandshakeV1Request").HandshakeRequestData;
20
+ };
21
+ readonly MESSAGE_TYPE: "handshake";
22
+ readonly MESSAGE_VERSION: 1;
23
+ readonly schema: import("io-ts").Type<any, any, unknown>;
24
+ decode(wireData: unknown): Either<import("io-ts").Errors, {
25
+ readonly type: "handshake";
26
+ readonly version: 1;
27
+ encode(): import("./HandshakeV1Request").HandshakeRequestWire;
28
+ readonly data: import("./HandshakeV1Request").HandshakeRequestData;
29
+ getData(): import("./HandshakeV1Request").HandshakeRequestData;
30
+ }>;
31
+ } | {
32
+ new (data: import("./HandshakeV1Response").HandshakeResponseData): {
33
+ readonly type: "handshake_response";
34
+ readonly version: 1;
35
+ encode(): any;
36
+ readonly data: import("./HandshakeV1Response").HandshakeResponseData;
37
+ getData(): import("./HandshakeV1Response").HandshakeResponseData;
38
+ };
39
+ readonly MESSAGE_TYPE: "handshake_response";
40
+ readonly MESSAGE_VERSION: 1;
41
+ readonly schema: import("io-ts").Type<any, any, unknown>;
42
+ decode(wireData: unknown): Either<import("io-ts").Errors, {
43
+ readonly type: "handshake_response";
44
+ readonly version: 1;
45
+ encode(): any;
46
+ readonly data: import("./HandshakeV1Response").HandshakeResponseData;
47
+ getData(): import("./HandshakeV1Response").HandshakeResponseData;
48
+ }>;
49
+ } | {
50
+ new (data: import("./SignMessageV1Request").SignMessageRequestData): {
51
+ readonly type: "signMessage";
52
+ readonly version: 1;
53
+ encode(): unknown;
54
+ readonly data: import("./SignMessageV1Request").SignMessageRequestData;
55
+ getData(): import("./SignMessageV1Request").SignMessageRequestData;
56
+ };
57
+ readonly MESSAGE_TYPE: "signMessage";
58
+ readonly MESSAGE_VERSION: 1;
59
+ readonly schema: import("io-ts").Type<any, any, unknown>;
60
+ decode(wireData: unknown): Either<import("io-ts").Errors, {
61
+ readonly type: "signMessage";
62
+ readonly version: 1;
63
+ encode(): unknown;
64
+ readonly data: import("./SignMessageV1Request").SignMessageRequestData;
65
+ getData(): import("./SignMessageV1Request").SignMessageRequestData;
66
+ }>;
67
+ } | {
68
+ new (data: import("./SignMessageV1Response").SignMessageResponseData): {
69
+ readonly type: "signMessage_response";
70
+ readonly version: 1;
71
+ encode(): import("./SignMessageV1Response").SignMessageResponseWire;
72
+ readonly data: import("./SignMessageV1Response").SignMessageResponseData;
73
+ getData(): import("./SignMessageV1Response").SignMessageResponseData;
74
+ };
75
+ readonly MESSAGE_TYPE: "signMessage_response";
76
+ readonly MESSAGE_VERSION: 1;
77
+ readonly schema: import("io-ts").Type<any, any, unknown>;
78
+ decode(wireData: unknown): Either<import("io-ts").Errors, {
79
+ readonly type: "signMessage_response";
80
+ readonly version: 1;
81
+ encode(): import("./SignMessageV1Response").SignMessageResponseWire;
82
+ readonly data: import("./SignMessageV1Response").SignMessageResponseData;
83
+ getData(): import("./SignMessageV1Response").SignMessageResponseData;
84
+ }>;
85
+ } | {
86
+ new (data: import("./ConnectionAckV1Request").ConnectionAckRequestData): {
87
+ readonly type: "connection_ack";
88
+ readonly version: 1;
89
+ encode(): any;
90
+ readonly data: import("./ConnectionAckV1Request").ConnectionAckRequestData;
91
+ getData(): import("./ConnectionAckV1Request").ConnectionAckRequestData;
92
+ };
93
+ readonly MESSAGE_TYPE: "connection_ack";
94
+ readonly MESSAGE_VERSION: 1;
95
+ readonly schema: import("io-ts").Type<any, any, unknown>;
96
+ decode(wireData: unknown): Either<import("io-ts").Errors, {
97
+ readonly type: "connection_ack";
98
+ readonly version: 1;
99
+ encode(): any;
100
+ readonly data: import("./ConnectionAckV1Request").ConnectionAckRequestData;
101
+ getData(): import("./ConnectionAckV1Request").ConnectionAckRequestData;
102
+ }>;
103
+ } | {
104
+ new (data: import("./ConnectionAckV1Response").ConnectionAckResponseData): {
105
+ readonly type: "connection_ack_response";
106
+ readonly version: 1;
107
+ encode(): any;
108
+ readonly data: import("./ConnectionAckV1Response").ConnectionAckResponseData;
109
+ getData(): import("./ConnectionAckV1Response").ConnectionAckResponseData;
110
+ };
111
+ readonly MESSAGE_TYPE: "connection_ack_response";
112
+ readonly MESSAGE_VERSION: 1;
113
+ readonly schema: import("io-ts").Type<any, any, unknown>;
114
+ decode(wireData: unknown): Either<import("io-ts").Errors, {
115
+ readonly type: "connection_ack_response";
116
+ readonly version: 1;
117
+ encode(): any;
118
+ readonly data: import("./ConnectionAckV1Response").ConnectionAckResponseData;
119
+ getData(): import("./ConnectionAckV1Response").ConnectionAckResponseData;
120
+ }>;
121
+ } | undefined;
122
+ /**
123
+ * Create a message instance from wire data (using derived message classes)
124
+ */
125
+ decode(wireData: any): Either<string, IMessage>;
126
+ /**
127
+ * Encode a message to wire format
128
+ */
129
+ encode(message: IMessage): any;
130
+ /**
131
+ * Get all registered message types (derived from single source)
132
+ */
133
+ getRegisteredTypes(): string[];
134
+ }
135
+ export declare const messageRegistry: MessageRegistry;
136
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/messages/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAEzC,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,eAAe;IAOrC;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQ7C;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IA6B/C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG;IAI9B;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;CAK/B;AAGD,eAAO,MAAM,eAAe,iBAAgC,CAAC"}