@claw-network/protocol 0.1.0

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 (169) hide show
  1. package/dist/contracts/events.d.ts +238 -0
  2. package/dist/contracts/events.d.ts.map +1 -0
  3. package/dist/contracts/events.js +499 -0
  4. package/dist/contracts/events.js.map +1 -0
  5. package/dist/contracts/index.d.ts +5 -0
  6. package/dist/contracts/index.d.ts.map +1 -0
  7. package/dist/contracts/index.js +5 -0
  8. package/dist/contracts/index.js.map +1 -0
  9. package/dist/contracts/state.d.ts +16 -0
  10. package/dist/contracts/state.d.ts.map +1 -0
  11. package/dist/contracts/state.js +399 -0
  12. package/dist/contracts/state.js.map +1 -0
  13. package/dist/contracts/store.d.ts +19 -0
  14. package/dist/contracts/store.d.ts.map +1 -0
  15. package/dist/contracts/store.js +22 -0
  16. package/dist/contracts/store.js.map +1 -0
  17. package/dist/contracts/types.d.ts +81 -0
  18. package/dist/contracts/types.d.ts.map +1 -0
  19. package/dist/contracts/types.js +2 -0
  20. package/dist/contracts/types.js.map +1 -0
  21. package/dist/dao/events.d.ts +191 -0
  22. package/dist/dao/events.d.ts.map +1 -0
  23. package/dist/dao/events.js +294 -0
  24. package/dist/dao/events.js.map +1 -0
  25. package/dist/dao/index.d.ts +6 -0
  26. package/dist/dao/index.d.ts.map +1 -0
  27. package/dist/dao/index.js +6 -0
  28. package/dist/dao/index.js.map +1 -0
  29. package/dist/dao/state.d.ts +44 -0
  30. package/dist/dao/state.d.ts.map +1 -0
  31. package/dist/dao/state.js +373 -0
  32. package/dist/dao/state.js.map +1 -0
  33. package/dist/dao/store.d.ts +47 -0
  34. package/dist/dao/store.d.ts.map +1 -0
  35. package/dist/dao/store.js +52 -0
  36. package/dist/dao/store.js.map +1 -0
  37. package/dist/dao/types.d.ts +149 -0
  38. package/dist/dao/types.d.ts.map +1 -0
  39. package/dist/dao/types.js +95 -0
  40. package/dist/dao/types.js.map +1 -0
  41. package/dist/dao/voting.d.ts +56 -0
  42. package/dist/dao/voting.d.ts.map +1 -0
  43. package/dist/dao/voting.js +129 -0
  44. package/dist/dao/voting.js.map +1 -0
  45. package/dist/identity/document.d.ts +35 -0
  46. package/dist/identity/document.d.ts.map +1 -0
  47. package/dist/identity/document.js +84 -0
  48. package/dist/identity/document.js.map +1 -0
  49. package/dist/identity/events.d.ts +96 -0
  50. package/dist/identity/events.d.ts.map +1 -0
  51. package/dist/identity/events.js +165 -0
  52. package/dist/identity/events.js.map +1 -0
  53. package/dist/identity/index.d.ts +4 -0
  54. package/dist/identity/index.d.ts.map +1 -0
  55. package/dist/identity/index.js +4 -0
  56. package/dist/identity/index.js.map +1 -0
  57. package/dist/identity/resolver.d.ts +10 -0
  58. package/dist/identity/resolver.d.ts.map +1 -0
  59. package/dist/identity/resolver.js +10 -0
  60. package/dist/identity/resolver.js.map +1 -0
  61. package/dist/index.d.ts +8 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +8 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/markets/broadcast.d.ts +5 -0
  66. package/dist/markets/broadcast.d.ts.map +1 -0
  67. package/dist/markets/broadcast.js +9 -0
  68. package/dist/markets/broadcast.js.map +1 -0
  69. package/dist/markets/capability.d.ts +129 -0
  70. package/dist/markets/capability.d.ts.map +1 -0
  71. package/dist/markets/capability.js +262 -0
  72. package/dist/markets/capability.js.map +1 -0
  73. package/dist/markets/events.d.ts +448 -0
  74. package/dist/markets/events.d.ts.map +1 -0
  75. package/dist/markets/events.js +1074 -0
  76. package/dist/markets/events.js.map +1 -0
  77. package/dist/markets/index.d.ts +12 -0
  78. package/dist/markets/index.d.ts.map +1 -0
  79. package/dist/markets/index.js +12 -0
  80. package/dist/markets/index.js.map +1 -0
  81. package/dist/markets/info-flow.d.ts +144 -0
  82. package/dist/markets/info-flow.d.ts.map +1 -0
  83. package/dist/markets/info-flow.js +257 -0
  84. package/dist/markets/info-flow.js.map +1 -0
  85. package/dist/markets/info-store.d.ts +80 -0
  86. package/dist/markets/info-store.d.ts.map +1 -0
  87. package/dist/markets/info-store.js +384 -0
  88. package/dist/markets/info-store.js.map +1 -0
  89. package/dist/markets/info.d.ts +118 -0
  90. package/dist/markets/info.d.ts.map +1 -0
  91. package/dist/markets/info.js +123 -0
  92. package/dist/markets/info.js.map +1 -0
  93. package/dist/markets/search.d.ts +70 -0
  94. package/dist/markets/search.d.ts.map +1 -0
  95. package/dist/markets/search.js +659 -0
  96. package/dist/markets/search.js.map +1 -0
  97. package/dist/markets/state.d.ts +30 -0
  98. package/dist/markets/state.d.ts.map +1 -0
  99. package/dist/markets/state.js +610 -0
  100. package/dist/markets/state.js.map +1 -0
  101. package/dist/markets/store.d.ts +43 -0
  102. package/dist/markets/store.d.ts.map +1 -0
  103. package/dist/markets/store.js +460 -0
  104. package/dist/markets/store.js.map +1 -0
  105. package/dist/markets/task.d.ts +96 -0
  106. package/dist/markets/task.d.ts.map +1 -0
  107. package/dist/markets/task.js +286 -0
  108. package/dist/markets/task.js.map +1 -0
  109. package/dist/markets/types.d.ts +340 -0
  110. package/dist/markets/types.d.ts.map +1 -0
  111. package/dist/markets/types.js +88 -0
  112. package/dist/markets/types.js.map +1 -0
  113. package/dist/p2p/codec.d.ts +42 -0
  114. package/dist/p2p/codec.d.ts.map +1 -0
  115. package/dist/p2p/codec.js +187 -0
  116. package/dist/p2p/codec.js.map +1 -0
  117. package/dist/p2p/flatbuffers.d.ts +57 -0
  118. package/dist/p2p/flatbuffers.d.ts.map +1 -0
  119. package/dist/p2p/flatbuffers.js +418 -0
  120. package/dist/p2p/flatbuffers.js.map +1 -0
  121. package/dist/p2p/index.d.ts +3 -0
  122. package/dist/p2p/index.d.ts.map +1 -0
  123. package/dist/p2p/index.js +3 -0
  124. package/dist/p2p/index.js.map +1 -0
  125. package/dist/p2p/types.d.ts +79 -0
  126. package/dist/p2p/types.d.ts.map +1 -0
  127. package/dist/p2p/types.js +15 -0
  128. package/dist/p2p/types.js.map +1 -0
  129. package/dist/reputation/anti-cheat.d.ts +24 -0
  130. package/dist/reputation/anti-cheat.d.ts.map +1 -0
  131. package/dist/reputation/anti-cheat.js +109 -0
  132. package/dist/reputation/anti-cheat.js.map +1 -0
  133. package/dist/reputation/events.d.ts +29 -0
  134. package/dist/reputation/events.d.ts.map +1 -0
  135. package/dist/reputation/events.js +122 -0
  136. package/dist/reputation/events.js.map +1 -0
  137. package/dist/reputation/index.d.ts +6 -0
  138. package/dist/reputation/index.d.ts.map +1 -0
  139. package/dist/reputation/index.js +6 -0
  140. package/dist/reputation/index.js.map +1 -0
  141. package/dist/reputation/scoring.d.ts +40 -0
  142. package/dist/reputation/scoring.d.ts.map +1 -0
  143. package/dist/reputation/scoring.js +114 -0
  144. package/dist/reputation/scoring.js.map +1 -0
  145. package/dist/reputation/state.d.ts +48 -0
  146. package/dist/reputation/state.d.ts.map +1 -0
  147. package/dist/reputation/state.js +135 -0
  148. package/dist/reputation/state.js.map +1 -0
  149. package/dist/reputation/store.d.ts +23 -0
  150. package/dist/reputation/store.d.ts.map +1 -0
  151. package/dist/reputation/store.js +33 -0
  152. package/dist/reputation/store.js.map +1 -0
  153. package/dist/wallet/events.d.ts +121 -0
  154. package/dist/wallet/events.d.ts.map +1 -0
  155. package/dist/wallet/events.js +175 -0
  156. package/dist/wallet/events.js.map +1 -0
  157. package/dist/wallet/finality.d.ts +4 -0
  158. package/dist/wallet/finality.d.ts.map +1 -0
  159. package/dist/wallet/finality.js +32 -0
  160. package/dist/wallet/finality.js.map +1 -0
  161. package/dist/wallet/index.d.ts +4 -0
  162. package/dist/wallet/index.d.ts.map +1 -0
  163. package/dist/wallet/index.js +4 -0
  164. package/dist/wallet/index.js.map +1 -0
  165. package/dist/wallet/state.d.ts +32 -0
  166. package/dist/wallet/state.d.ts.map +1 -0
  167. package/dist/wallet/state.js +170 -0
  168. package/dist/wallet/state.js.map +1 -0
  169. package/package.json +42 -0
@@ -0,0 +1,88 @@
1
+ export const MARKET_TYPES = ['info', 'task', 'capability'];
2
+ export function isMarketType(value) {
3
+ return MARKET_TYPES.includes(value);
4
+ }
5
+ export const LISTING_STATUSES = [
6
+ 'draft',
7
+ 'active',
8
+ 'paused',
9
+ 'sold_out',
10
+ 'expired',
11
+ 'removed',
12
+ ];
13
+ export function isListingStatus(value) {
14
+ return LISTING_STATUSES.includes(value);
15
+ }
16
+ export const LISTING_VISIBILITIES = ['public', 'private', 'unlisted'];
17
+ export function isListingVisibility(value) {
18
+ return LISTING_VISIBILITIES.includes(value);
19
+ }
20
+ export const PRICING_TYPES = [
21
+ 'fixed',
22
+ 'range',
23
+ 'usage',
24
+ 'subscription',
25
+ 'auction',
26
+ 'negotiation',
27
+ ];
28
+ export function isPricingType(value) {
29
+ return PRICING_TYPES.includes(value);
30
+ }
31
+ export const ORDER_STATUSES = [
32
+ 'draft',
33
+ 'pending',
34
+ 'accepted',
35
+ 'payment_pending',
36
+ 'paid',
37
+ 'in_progress',
38
+ 'delivered',
39
+ 'completed',
40
+ 'cancelled',
41
+ 'disputed',
42
+ 'refunded',
43
+ ];
44
+ export function isOrderStatus(value) {
45
+ return ORDER_STATUSES.includes(value);
46
+ }
47
+ export const PAYMENT_STATUSES = [
48
+ 'pending',
49
+ 'escrowed',
50
+ 'partial',
51
+ 'released',
52
+ 'refunded',
53
+ 'disputed',
54
+ ];
55
+ export function isPaymentStatus(value) {
56
+ return PAYMENT_STATUSES.includes(value);
57
+ }
58
+ export const DELIVERY_STATUSES = [
59
+ 'pending',
60
+ 'in_progress',
61
+ 'delivered',
62
+ 'confirmed',
63
+ 'rejected',
64
+ 'revision',
65
+ ];
66
+ export function isDeliveryStatus(value) {
67
+ return DELIVERY_STATUSES.includes(value);
68
+ }
69
+ export const BID_STATUSES = ['submitted', 'shortlisted', 'accepted', 'rejected', 'withdrawn'];
70
+ export function isBidStatus(value) {
71
+ return BID_STATUSES.includes(value);
72
+ }
73
+ export const SUBMISSION_STATUSES = ['pending_review', 'approved', 'rejected', 'revision'];
74
+ export function isSubmissionStatus(value) {
75
+ return SUBMISSION_STATUSES.includes(value);
76
+ }
77
+ export const CAPABILITY_LEASE_STATUSES = [
78
+ 'active',
79
+ 'paused',
80
+ 'exhausted',
81
+ 'expired',
82
+ 'cancelled',
83
+ 'terminated',
84
+ ];
85
+ export function isCapabilityLeaseStatus(value) {
86
+ return CAPABILITY_LEASE_STATUSES.includes(value);
87
+ }
88
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/markets/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAU,CAAC;AAGpE,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAQ,YAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;CACD,CAAC;AAGX,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAQ,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAG/E,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAQ,oBAA0C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO;IACP,OAAO;IACP,OAAO;IACP,cAAc;IACd,SAAS;IACT,aAAa;CACL,CAAC;AAGX,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAQ,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AA6ID,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO;IACP,SAAS;IACT,UAAU;IACV,iBAAiB;IACjB,MAAM;IACN,aAAa;IACb,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;CACF,CAAC;AAGX,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAQ,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;CACF,CAAC;AAGX,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAQ,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS;IACT,aAAa;IACb,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;CACF,CAAC;AAGX,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAQ,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AA8HD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AAGvG,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAQ,YAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAqBD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC;AAGnG,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAQ,mBAAyC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAoBD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;IACT,WAAW;IACX,YAAY;CACJ,CAAC;AAGX,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAQ,yBAA+C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { PeerRotate, P2PEnvelope, PowTicket, RequestMessage, ResponseMessage, StakeProof } from './types.js';
2
+ export declare function encodeRequestMessageBytes(message: RequestMessage, options?: {
3
+ preserveUnknown?: boolean;
4
+ }): Uint8Array;
5
+ export declare function decodeRequestMessageBytes(bytes: Uint8Array): RequestMessage;
6
+ export declare function encodeResponseMessageBytes(message: ResponseMessage, options?: {
7
+ preserveUnknown?: boolean;
8
+ }): Uint8Array;
9
+ export declare function decodeResponseMessageBytes(bytes: Uint8Array): ResponseMessage;
10
+ export declare function encodeP2PEnvelopeBytes(envelope: P2PEnvelope, options?: {
11
+ preserveUnknown?: boolean;
12
+ }): Uint8Array;
13
+ export declare function decodeP2PEnvelopeBytes(bytes: Uint8Array): P2PEnvelope;
14
+ export declare function p2pEnvelopeSigningBytes(envelope: P2PEnvelope): Uint8Array;
15
+ export declare function signP2PEnvelope(envelope: Omit<P2PEnvelope, 'sig'>, privateKey: Uint8Array): Promise<P2PEnvelope>;
16
+ export declare function verifyP2PEnvelopeSignature(envelope: P2PEnvelope, publicKey: Uint8Array): Promise<boolean>;
17
+ export declare function encodePowTicketBytes(ticket: PowTicket): Uint8Array;
18
+ export declare function decodePowTicketBytes(bytes: Uint8Array): PowTicket;
19
+ export declare function encodePeerRotateBytes(rotate: PeerRotate): Uint8Array;
20
+ export declare function decodePeerRotateBytes(bytes: Uint8Array): PeerRotate;
21
+ export declare function peerRotateSigningBytes(rotate: PeerRotate): Uint8Array;
22
+ export declare function signPeerRotateOld(rotate: PeerRotate, oldPrivateKey: Uint8Array): Promise<PeerRotate>;
23
+ export declare function signPeerRotateNew(rotate: PeerRotate, newPrivateKey: Uint8Array): Promise<PeerRotate>;
24
+ export declare function verifyPeerRotateOldSignature(rotate: PeerRotate, oldPublicKey: Uint8Array): Promise<boolean>;
25
+ export declare function verifyPeerRotateNewSignature(rotate: PeerRotate, newPublicKey: Uint8Array): Promise<boolean>;
26
+ export declare function powTicketSigningBytes(ticket: PowTicket): Uint8Array;
27
+ export declare function powTicketHashBytes(ticket: PowTicket): Uint8Array;
28
+ export declare function powTicketHashHex(ticket: PowTicket): string;
29
+ export declare function signPowTicket(ticket: PowTicket, privateKey: Uint8Array): Promise<PowTicket>;
30
+ export declare function verifyPowTicketSignature(ticket: PowTicket, publicKey: Uint8Array): Promise<boolean>;
31
+ export declare function encodeStakeProofBytes(proof: StakeProof): Uint8Array;
32
+ export declare function decodeStakeProofBytes(bytes: Uint8Array): StakeProof;
33
+ export declare function stakeProofSigningBytes(proof: StakeProof): Uint8Array;
34
+ export declare function signStakeProofPeer(proof: StakeProof, peerPrivateKey: Uint8Array): Promise<StakeProof>;
35
+ export declare function signStakeProofController(proof: StakeProof, controllerPrivateKey: Uint8Array): Promise<StakeProof>;
36
+ export declare function verifyStakeProofPeerSignature(proof: StakeProof, peerPublicKey: Uint8Array): Promise<boolean>;
37
+ export declare function verifyStakeProofControllerSignature(proof: StakeProof, controllerPublicKey: Uint8Array): Promise<boolean>;
38
+ export declare function ensureContentType(envelope: P2PEnvelope): P2PEnvelope;
39
+ export declare function wrapRequestEnvelope(payload: Uint8Array, envelope: Omit<P2PEnvelope, 'payload' | 'sig' | 'contentType'>): P2PEnvelope;
40
+ export declare function wrapResponseEnvelope(payload: Uint8Array, envelope: Omit<P2PEnvelope, 'payload' | 'sig' | 'contentType'>): P2PEnvelope;
41
+ export declare function concatDomain(prefix: string, payload: Uint8Array): Uint8Array;
42
+ //# sourceMappingURL=codec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/p2p/codec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,187 @@
1
+ import { Builder } from 'flatbuffers';
2
+ import { sha256Hex } from '@claw-network/core/crypto';
3
+ import { signBase58, verifyBase58 } from '@claw-network/core/crypto';
4
+ import { concatBytes, utf8ToBytes } from '@claw-network/core/utils';
5
+ import { CONTENT_TYPE, } from './types.js';
6
+ import { decodePowTicket, decodeRequestMessage, decodeResponseMessage, decodeStakeProof, decodePeerRotate, encodeP2PEnvelope, encodePeerRotate, encodePowTicket, encodeRequestMessage, encodeResponseMessage, encodeStakeProof, finishBytes, FlatBufferReader, prefixDomain, } from './flatbuffers.js';
7
+ const P2P_DOMAIN = 'clawnet:p2p:v1:';
8
+ const POW_DOMAIN = 'clawnet:pow:v1:';
9
+ const STAKE_DOMAIN = 'clawnet:stakeproof:v1:';
10
+ const PEER_ROTATE_DOMAIN = 'clawnet:peer-rotate:v1:';
11
+ export function encodeRequestMessageBytes(message, options) {
12
+ if (options?.preserveUnknown && message.rawBytes) {
13
+ return message.rawBytes;
14
+ }
15
+ const builder = new Builder(256);
16
+ const root = encodeRequestMessage(builder, message);
17
+ return finishBytes(builder, root);
18
+ }
19
+ export function decodeRequestMessageBytes(bytes) {
20
+ const reader = new FlatBufferReader(bytes);
21
+ const root = reader.rootTable();
22
+ return { ...decodeRequestMessage(reader, root), rawBytes: bytes };
23
+ }
24
+ export function encodeResponseMessageBytes(message, options) {
25
+ if (options?.preserveUnknown && message.rawBytes) {
26
+ return message.rawBytes;
27
+ }
28
+ const builder = new Builder(256);
29
+ const root = encodeResponseMessage(builder, message);
30
+ return finishBytes(builder, root);
31
+ }
32
+ export function decodeResponseMessageBytes(bytes) {
33
+ const reader = new FlatBufferReader(bytes);
34
+ const root = reader.rootTable();
35
+ return { ...decodeResponseMessage(reader, root), rawBytes: bytes };
36
+ }
37
+ export function encodeP2PEnvelopeBytes(envelope, options) {
38
+ if (options?.preserveUnknown && envelope.rawBytes) {
39
+ return envelope.rawBytes;
40
+ }
41
+ const builder = new Builder(512);
42
+ const root = encodeP2PEnvelope(builder, envelope);
43
+ return finishBytes(builder, root);
44
+ }
45
+ export function decodeP2PEnvelopeBytes(bytes) {
46
+ const reader = new FlatBufferReader(bytes);
47
+ const root = reader.rootTable();
48
+ return {
49
+ v: reader.readUint16Field(root, 0, 0),
50
+ topic: reader.readStringField(root, 1) ?? '',
51
+ sender: reader.readStringField(root, 2) ?? '',
52
+ ts: reader.readUint64Field(root, 3, 0n),
53
+ contentType: reader.readStringField(root, 4) ?? '',
54
+ payload: reader.readByteVectorField(root, 5) ?? new Uint8Array(),
55
+ sig: reader.readStringField(root, 6) ?? '',
56
+ rawBytes: bytes,
57
+ };
58
+ }
59
+ export function p2pEnvelopeSigningBytes(envelope) {
60
+ const unsigned = { ...envelope, sig: '' };
61
+ const bytes = encodeP2PEnvelopeBytes(unsigned);
62
+ return prefixDomain(P2P_DOMAIN, bytes);
63
+ }
64
+ export async function signP2PEnvelope(envelope, privateKey) {
65
+ const unsigned = { ...envelope, sig: '' };
66
+ const sig = await signBase58(p2pEnvelopeSigningBytes(unsigned), privateKey);
67
+ return { ...unsigned, sig };
68
+ }
69
+ export async function verifyP2PEnvelopeSignature(envelope, publicKey) {
70
+ return verifyBase58(envelope.sig, p2pEnvelopeSigningBytes(envelope), publicKey);
71
+ }
72
+ export function encodePowTicketBytes(ticket) {
73
+ const builder = new Builder(256);
74
+ const root = encodePowTicket(builder, ticket);
75
+ return finishBytes(builder, root);
76
+ }
77
+ export function decodePowTicketBytes(bytes) {
78
+ const reader = new FlatBufferReader(bytes);
79
+ const root = reader.rootTable();
80
+ return decodePowTicket(reader, root);
81
+ }
82
+ export function encodePeerRotateBytes(rotate) {
83
+ const builder = new Builder(256);
84
+ const root = encodePeerRotate(builder, rotate);
85
+ return finishBytes(builder, root);
86
+ }
87
+ export function decodePeerRotateBytes(bytes) {
88
+ const reader = new FlatBufferReader(bytes);
89
+ const root = reader.rootTable();
90
+ return decodePeerRotate(reader, root);
91
+ }
92
+ export function peerRotateSigningBytes(rotate) {
93
+ const unsigned = { ...rotate, sig: '', sigNew: '' };
94
+ const bytes = encodePeerRotateBytes(unsigned);
95
+ return prefixDomain(PEER_ROTATE_DOMAIN, bytes);
96
+ }
97
+ export async function signPeerRotateOld(rotate, oldPrivateKey) {
98
+ const unsigned = { ...rotate, sig: '' };
99
+ const sig = await signBase58(peerRotateSigningBytes(unsigned), oldPrivateKey);
100
+ return { ...unsigned, sig };
101
+ }
102
+ export async function signPeerRotateNew(rotate, newPrivateKey) {
103
+ const unsigned = { ...rotate, sigNew: '' };
104
+ const sigNew = await signBase58(peerRotateSigningBytes(unsigned), newPrivateKey);
105
+ return { ...unsigned, sigNew };
106
+ }
107
+ export async function verifyPeerRotateOldSignature(rotate, oldPublicKey) {
108
+ return verifyBase58(rotate.sig, peerRotateSigningBytes(rotate), oldPublicKey);
109
+ }
110
+ export async function verifyPeerRotateNewSignature(rotate, newPublicKey) {
111
+ return verifyBase58(rotate.sigNew, peerRotateSigningBytes(rotate), newPublicKey);
112
+ }
113
+ export function powTicketSigningBytes(ticket) {
114
+ const unsigned = { ...ticket, sig: '' };
115
+ const bytes = encodePowTicketBytes(unsigned);
116
+ return prefixDomain(POW_DOMAIN, bytes);
117
+ }
118
+ export function powTicketHashBytes(ticket) {
119
+ const unsigned = { ...ticket, sig: '', hash: '' };
120
+ const bytes = encodePowTicketBytes(unsigned);
121
+ return prefixDomain(POW_DOMAIN, bytes);
122
+ }
123
+ export function powTicketHashHex(ticket) {
124
+ return sha256Hex(powTicketHashBytes(ticket));
125
+ }
126
+ export async function signPowTicket(ticket, privateKey) {
127
+ const unsigned = { ...ticket, sig: '' };
128
+ const sig = await signBase58(powTicketSigningBytes(unsigned), privateKey);
129
+ return { ...unsigned, sig };
130
+ }
131
+ export async function verifyPowTicketSignature(ticket, publicKey) {
132
+ return verifyBase58(ticket.sig, powTicketSigningBytes(ticket), publicKey);
133
+ }
134
+ export function encodeStakeProofBytes(proof) {
135
+ const builder = new Builder(256);
136
+ const root = encodeStakeProof(builder, proof);
137
+ return finishBytes(builder, root);
138
+ }
139
+ export function decodeStakeProofBytes(bytes) {
140
+ const reader = new FlatBufferReader(bytes);
141
+ const root = reader.rootTable();
142
+ return decodeStakeProof(reader, root);
143
+ }
144
+ export function stakeProofSigningBytes(proof) {
145
+ const unsigned = { ...proof, sig: '', sigController: '' };
146
+ const bytes = encodeStakeProofBytes(unsigned);
147
+ return prefixDomain(STAKE_DOMAIN, bytes);
148
+ }
149
+ export async function signStakeProofPeer(proof, peerPrivateKey) {
150
+ const unsigned = { ...proof, sig: '' };
151
+ const sig = await signBase58(stakeProofSigningBytes(unsigned), peerPrivateKey);
152
+ return { ...unsigned, sig };
153
+ }
154
+ export async function signStakeProofController(proof, controllerPrivateKey) {
155
+ const unsigned = { ...proof, sigController: '' };
156
+ const sigController = await signBase58(stakeProofSigningBytes(unsigned), controllerPrivateKey);
157
+ return { ...unsigned, sigController };
158
+ }
159
+ export async function verifyStakeProofPeerSignature(proof, peerPublicKey) {
160
+ return verifyBase58(proof.sig, stakeProofSigningBytes(proof), peerPublicKey);
161
+ }
162
+ export async function verifyStakeProofControllerSignature(proof, controllerPublicKey) {
163
+ return verifyBase58(proof.sigController, stakeProofSigningBytes(proof), controllerPublicKey);
164
+ }
165
+ export function ensureContentType(envelope) {
166
+ return { ...envelope, contentType: envelope.contentType || CONTENT_TYPE };
167
+ }
168
+ export function wrapRequestEnvelope(payload, envelope) {
169
+ return {
170
+ ...envelope,
171
+ contentType: CONTENT_TYPE,
172
+ payload,
173
+ sig: '',
174
+ };
175
+ }
176
+ export function wrapResponseEnvelope(payload, envelope) {
177
+ return {
178
+ ...envelope,
179
+ contentType: CONTENT_TYPE,
180
+ payload,
181
+ sig: '',
182
+ };
183
+ }
184
+ export function concatDomain(prefix, payload) {
185
+ return concatBytes(utf8ToBytes(prefix), payload);
186
+ }
187
+ //# sourceMappingURL=codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/p2p/codec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { Builder } from 'flatbuffers';
2
+ import { PeerRotate, PowTicket, RangeRequest, RangeResponse, RequestMessage, ResponseMessage, SnapshotRequest, SnapshotResponse, StakeProof } from './types.js';
3
+ export interface FlatBufferReaderOptions {
4
+ byteOffset?: number;
5
+ }
6
+ export declare class FlatBufferReader {
7
+ private readonly view;
8
+ private readonly bytes;
9
+ constructor(bytes: Uint8Array, options?: FlatBufferReaderOptions);
10
+ rootTable(): number;
11
+ readUint8(offset: number): number;
12
+ readUint16(offset: number): number;
13
+ readUint32(offset: number): number;
14
+ readInt32(offset: number): number;
15
+ readUint64(offset: number): bigint;
16
+ fieldOffset(table: number, fieldIndex: number): number | null;
17
+ readUint8Field(table: number, fieldIndex: number, fallback?: number): number;
18
+ readUint32Field(table: number, fieldIndex: number, fallback?: number): number;
19
+ readUint16Field(table: number, fieldIndex: number, fallback?: number): number;
20
+ readUint64Field(table: number, fieldIndex: number, fallback?: bigint): bigint;
21
+ readStringField(table: number, fieldIndex: number): string | null;
22
+ readByteVectorField(table: number, fieldIndex: number): Uint8Array | null;
23
+ readTableField(table: number, fieldIndex: number): number | null;
24
+ readVectorTableField(table: number, fieldIndex: number): number[] | null;
25
+ private vtable;
26
+ private indirect;
27
+ }
28
+ export declare function encodeRangeRequest(builder: Builder, request: RangeRequest): number;
29
+ export declare function encodeRangeResponse(builder: Builder, response: RangeResponse): number;
30
+ export declare function encodeSnapshotRequest(builder: Builder, request: SnapshotRequest): number;
31
+ export declare function encodeSnapshotResponse(builder: Builder, response: SnapshotResponse): number;
32
+ export declare function encodePeerRotate(builder: Builder, rotate: PeerRotate): number;
33
+ export declare function encodePowTicket(builder: Builder, ticket: PowTicket): number;
34
+ export declare function encodeStakeProof(builder: Builder, proof: StakeProof): number;
35
+ export declare function encodeRequestMessage(builder: Builder, message: RequestMessage): number;
36
+ export declare function encodeResponseMessage(builder: Builder, message: ResponseMessage): number;
37
+ export declare function encodeP2PEnvelope(builder: Builder, envelope: {
38
+ v: number;
39
+ topic: string;
40
+ sender: string;
41
+ ts: bigint;
42
+ contentType?: string;
43
+ payload: Uint8Array;
44
+ sig: string;
45
+ }): number;
46
+ export declare function decodeRangeRequest(reader: FlatBufferReader, table: number): RangeRequest;
47
+ export declare function decodeRangeResponse(reader: FlatBufferReader, table: number): RangeResponse;
48
+ export declare function decodeSnapshotRequest(reader: FlatBufferReader, table: number): SnapshotRequest;
49
+ export declare function decodeSnapshotResponse(reader: FlatBufferReader, table: number): SnapshotResponse;
50
+ export declare function decodePeerRotate(reader: FlatBufferReader, table: number): PeerRotate;
51
+ export declare function decodePowTicket(reader: FlatBufferReader, table: number): PowTicket;
52
+ export declare function decodeStakeProof(reader: FlatBufferReader, table: number): StakeProof;
53
+ export declare function decodeRequestMessage(reader: FlatBufferReader, table: number): RequestMessage;
54
+ export declare function decodeResponseMessage(reader: FlatBufferReader, table: number): ResponseMessage;
55
+ export declare function finishBytes(builder: Builder, rootOffset: number): Uint8Array;
56
+ export declare function prefixDomain(prefix: string, payload: Uint8Array): Uint8Array;
57
+ //# sourceMappingURL=flatbuffers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatbuffers.d.ts","sourceRoot":"","sources":["../../src/p2p/flatbuffers.ts"],"names":[],"mappings":"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"}