@shelby-protocol/sdk 0.3.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/browser/index.d.ts +9 -9
  2. package/dist/browser/index.mjs +1068 -589
  3. package/dist/core/clients/ShelbyBlobClient.d.ts +155 -40
  4. package/dist/core/clients/ShelbyBlobClient.mjs +314 -112
  5. package/dist/core/clients/ShelbyClient.d.ts +27 -4
  6. package/dist/core/clients/ShelbyClient.mjs +869 -551
  7. package/dist/core/clients/ShelbyClientConfig.d.ts +9 -1
  8. package/dist/core/clients/ShelbyMetadataClient.d.ts +38 -6
  9. package/dist/core/clients/ShelbyMetadataClient.mjs +95 -13
  10. package/dist/core/clients/ShelbyMicropaymentChannelClient.d.ts +42 -0
  11. package/dist/core/clients/ShelbyMicropaymentChannelClient.mjs +62 -7
  12. package/dist/core/clients/ShelbyPlacementGroupClient.mjs +10 -7
  13. package/dist/core/clients/ShelbyRPCClient.d.ts +55 -66
  14. package/dist/core/clients/ShelbyRPCClient.mjs +344 -360
  15. package/dist/core/clients/index.d.ts +3 -2
  16. package/dist/core/clients/index.mjs +933 -551
  17. package/dist/core/clients/utils.mjs +1 -1
  18. package/dist/core/commitments.d.ts +12 -1
  19. package/dist/core/commitments.mjs +7 -0
  20. package/dist/core/constants.d.ts +1 -1
  21. package/dist/core/constants.mjs +1 -1
  22. package/dist/core/erasure/constants.d.ts +16 -1
  23. package/dist/core/erasure/constants.mjs +15 -1
  24. package/dist/core/erasure/index.d.ts +1 -1
  25. package/dist/core/erasure/index.mjs +15 -1
  26. package/dist/core/errors.d.ts +20 -1
  27. package/dist/core/errors.mjs +29 -0
  28. package/dist/core/index.d.ts +9 -9
  29. package/dist/core/index.mjs +1068 -589
  30. package/dist/core/operations/generated/sdk.d.ts +798 -42
  31. package/dist/core/operations/generated/sdk.mjs +93 -9
  32. package/dist/core/operations/index.d.ts +1 -1
  33. package/dist/core/operations/index.mjs +94 -10
  34. package/dist/core/rpc-responses.d.ts +1 -57
  35. package/dist/core/rpc-responses.mjs +1 -21
  36. package/dist/core/sp/chunk_proof.d.ts +23 -0
  37. package/dist/core/sp/chunk_proof.mjs +113 -0
  38. package/dist/core/sp/index.d.ts +3 -0
  39. package/dist/core/sp/index.mjs +402 -0
  40. package/dist/core/sp/sp_write_client.d.ts +53 -0
  41. package/dist/core/sp/sp_write_client.mjs +302 -0
  42. package/dist/core/types/blobs.d.ts +24 -5
  43. package/dist/core/types/blobs.mjs +24 -0
  44. package/dist/core/types/index.d.ts +2 -2
  45. package/dist/core/types/index.mjs +46 -2
  46. package/dist/core/types/payments.mjs +1 -1
  47. package/dist/core/types/storage_providers.d.ts +32 -6
  48. package/dist/core/types/storage_providers.mjs +22 -0
  49. package/dist/gen/rpc_server_pb.d.ts +295 -0
  50. package/dist/gen/rpc_server_pb.mjs +28 -0
  51. package/dist/node/clients/ShelbyNodeClient.d.ts +1 -0
  52. package/dist/node/clients/ShelbyNodeClient.mjs +869 -551
  53. package/dist/node/clients/index.d.ts +1 -0
  54. package/dist/node/clients/index.mjs +867 -551
  55. package/dist/node/index.d.ts +9 -9
  56. package/dist/node/index.mjs +1068 -589
  57. package/dist/node/parallel/commitment_worker.mjs +36 -249
  58. package/dist/node/parallel/commitment_worker_pool.mjs +56 -3
  59. package/dist/node/parallel/coverage_flush.d.ts +16 -0
  60. package/dist/node/parallel/coverage_flush.mjs +43 -0
  61. package/dist/node/parallel/default_commitment_worker_pool.mjs +56 -3
  62. package/dist/node/parallel/index.d.ts +1 -0
  63. package/dist/node/parallel/index.mjs +72 -4
  64. package/dist/node/parallel/parallel_commitments.mjs +56 -3
  65. package/dist/node/parallel/worker_pool.mjs +56 -3
  66. package/package.json +10 -3
@@ -0,0 +1,295 @@
1
+ import { GenFile, GenMessage } from '@bufbuild/protobuf/codegenv2';
2
+ import { Message } from '@bufbuild/protobuf';
3
+
4
+ /**
5
+ * Describes the file rpc_server.proto.
6
+ */
7
+ declare const file_rpc_server: GenFile;
8
+ /**
9
+ * @generated from message cav.Payment
10
+ */
11
+ type Payment = Message<"cav.Payment"> & {
12
+ /**
13
+ * This is the BCS-serialized SenderBuiltMicropayment, which is a WithdrawApproval struct and a signature.
14
+ *
15
+ * @generated from field: bytes payment = 1;
16
+ */
17
+ payment: Uint8Array;
18
+ };
19
+ /**
20
+ * Describes the message cav.Payment.
21
+ * Use `create(PaymentSchema)` to create a new message.
22
+ */
23
+ declare const PaymentSchema: GenMessage<Payment>;
24
+ /**
25
+ * @generated from message cav.ProofNode
26
+ */
27
+ type ProofNode = Message<"cav.ProofNode"> & {
28
+ /**
29
+ * @generated from field: bytes hash = 1;
30
+ */
31
+ hash: Uint8Array;
32
+ };
33
+ /**
34
+ * Describes the message cav.ProofNode.
35
+ * Use `create(ProofNodeSchema)` to create a new message.
36
+ */
37
+ declare const ProofNodeSchema: GenMessage<ProofNode>;
38
+ /**
39
+ * The Proof message contains the path from the chunk up to the blob root.
40
+ *
41
+ * @generated from message cav.Proof
42
+ */
43
+ type Proof = Message<"cav.Proof"> & {
44
+ /**
45
+ * @generated from field: repeated cav.ProofNode proof_nodes = 1;
46
+ */
47
+ proofNodes: ProofNode[];
48
+ };
49
+ /**
50
+ * Describes the message cav.Proof.
51
+ * Use `create(ProofSchema)` to create a new message.
52
+ */
53
+ declare const ProofSchema: GenMessage<Proof>;
54
+ /**
55
+ * ChunkKey identifies a single chunk within a blob. The blob is identified by
56
+ * its on-chain UID; the chunkset/chunk indices locate the chunk inside it.
57
+ *
58
+ * @generated from message cav.ChunkKey
59
+ */
60
+ type ChunkKey = Message<"cav.ChunkKey"> & {
61
+ /**
62
+ * @generated from field: uint64 blob_uid = 1;
63
+ */
64
+ blobUid: bigint;
65
+ /**
66
+ * @generated from field: uint32 chunkset_idx = 2;
67
+ */
68
+ chunksetIdx: number;
69
+ /**
70
+ * @generated from field: uint32 chunk_idx = 3;
71
+ */
72
+ chunkIdx: number;
73
+ };
74
+ /**
75
+ * Describes the message cav.ChunkKey.
76
+ * Use `create(ChunkKeySchema)` to create a new message.
77
+ */
78
+ declare const ChunkKeySchema: GenMessage<ChunkKey>;
79
+ /**
80
+ * @generated from message cav.ReadRequest
81
+ */
82
+ type ReadRequest = Message<"cav.ReadRequest"> & {
83
+ /**
84
+ * @generated from field: cav.ChunkKey identifier = 1;
85
+ */
86
+ identifier?: ChunkKey;
87
+ /**
88
+ * @generated from field: cav.Payment payment = 2;
89
+ */
90
+ payment?: Payment;
91
+ };
92
+ /**
93
+ * Describes the message cav.ReadRequest.
94
+ * Use `create(ReadRequestSchema)` to create a new message.
95
+ */
96
+ declare const ReadRequestSchema: GenMessage<ReadRequest>;
97
+ /**
98
+ * Used to perform a clay-code repair operation. An SP receives this request
99
+ * when another SP's rebuild tile needs helper data to reconstruct a missing chunk.
100
+ *
101
+ * @generated from message cav.ClayHelperDataReadRequest
102
+ */
103
+ type ClayHelperDataReadRequest = Message<"cav.ClayHelperDataReadRequest"> & {
104
+ /**
105
+ * The chunk to READ from this peer (helper chunk). Same semantics as ReadRequest.
106
+ *
107
+ * @generated from field: cav.ChunkKey identifier = 1;
108
+ */
109
+ identifier?: ChunkKey;
110
+ /**
111
+ * The chunk index being recovered (target). Same chunkset as identifier.
112
+ *
113
+ * @generated from field: uint32 target_chunk_idx = 2;
114
+ */
115
+ targetChunkIdx: number;
116
+ /**
117
+ * Bitmask of all d helper chunk indices participating in this repair.
118
+ * Used to compute the clay plan deterministically on both sides.
119
+ *
120
+ * @generated from field: uint64 helper_set_mask = 3;
121
+ */
122
+ helperSetMask: bigint;
123
+ };
124
+ /**
125
+ * Describes the message cav.ClayHelperDataReadRequest.
126
+ * Use `create(ClayHelperDataReadRequestSchema)` to create a new message.
127
+ */
128
+ declare const ClayHelperDataReadRequestSchema: GenMessage<ClayHelperDataReadRequest>;
129
+ /**
130
+ * @generated from message cav.WriteRequest
131
+ */
132
+ type WriteRequest = Message<"cav.WriteRequest"> & {
133
+ /**
134
+ * @generated from field: cav.ChunkKey identifier = 1;
135
+ */
136
+ identifier?: ChunkKey;
137
+ /**
138
+ * @generated from field: bytes body = 2;
139
+ */
140
+ body: Uint8Array;
141
+ /**
142
+ * This is the proof that the bytes are legitimate, i.e.
143
+ * this is an inclusion proof up to the Blob's merkle root published on the chain.
144
+ *
145
+ * @generated from field: cav.Proof proof = 3;
146
+ */
147
+ proof?: Proof;
148
+ };
149
+ /**
150
+ * Describes the message cav.WriteRequest.
151
+ * Use `create(WriteRequestSchema)` to create a new message.
152
+ */
153
+ declare const WriteRequestSchema: GenMessage<WriteRequest>;
154
+ /**
155
+ * @generated from message cav.Request
156
+ */
157
+ type Request = Message<"cav.Request"> & {
158
+ /**
159
+ * @generated from oneof cav.Request.request
160
+ */
161
+ request: {
162
+ /**
163
+ * @generated from field: cav.ReadRequest read_req = 1;
164
+ */
165
+ value: ReadRequest;
166
+ case: "readReq";
167
+ } | {
168
+ /**
169
+ * @generated from field: cav.WriteRequest write_req = 2;
170
+ */
171
+ value: WriteRequest;
172
+ case: "writeReq";
173
+ } | {
174
+ /**
175
+ * @generated from field: cav.ClayHelperDataReadRequest helper_read_req = 5;
176
+ */
177
+ value: ClayHelperDataReadRequest;
178
+ case: "helperReadReq";
179
+ } | {
180
+ case: undefined;
181
+ value?: undefined;
182
+ };
183
+ /**
184
+ * @generated from field: uint64 request_id = 3;
185
+ */
186
+ requestId: bigint;
187
+ /**
188
+ * @generated from field: bytes signature = 4;
189
+ */
190
+ signature: Uint8Array;
191
+ };
192
+ /**
193
+ * Describes the message cav.Request.
194
+ * Use `create(RequestSchema)` to create a new message.
195
+ */
196
+ declare const RequestSchema: GenMessage<Request>;
197
+ /**
198
+ * @generated from message cav.ReadResponse
199
+ */
200
+ type ReadResponse = Message<"cav.ReadResponse"> & {
201
+ /**
202
+ * @generated from field: bytes body = 1;
203
+ */
204
+ body: Uint8Array;
205
+ /**
206
+ * @generated from field: cav.Proof proof = 2;
207
+ */
208
+ proof?: Proof;
209
+ /**
210
+ * For clay helper reads: hash of the full helper chunk computed before clay
211
+ * filtering. Empty for regular reads. The receiver needs this because clay
212
+ * filtering sends only a partial slice from which the full hash cannot be
213
+ * recomputed.
214
+ *
215
+ * @generated from field: bytes helper_chunk_root_hash = 3;
216
+ */
217
+ helperChunkRootHash: Uint8Array;
218
+ };
219
+ /**
220
+ * Describes the message cav.ReadResponse.
221
+ * Use `create(ReadResponseSchema)` to create a new message.
222
+ */
223
+ declare const ReadResponseSchema: GenMessage<ReadResponse>;
224
+ /**
225
+ * @generated from message cav.WriteResponse
226
+ */
227
+ type WriteResponse = Message<"cav.WriteResponse"> & {
228
+ /**
229
+ * field 1 (signed_hash) removed; numbering preserved for wire compatibility.
230
+ * BLS signature over bcs(BlobAckInfo{blob_uid}).
231
+ * Present only when all chunksets for the blob have been received.
232
+ *
233
+ * @generated from field: bytes blob_ack_signature = 2;
234
+ */
235
+ blobAckSignature: Uint8Array;
236
+ /**
237
+ * When the blob is not yet complete, lists the chunkset indices the SP still
238
+ * needs. Empty when blob_ack_signature is present.
239
+ *
240
+ * @generated from field: repeated uint32 missing_chunkset_indices = 3;
241
+ */
242
+ missingChunksetIndices: number[];
243
+ };
244
+ /**
245
+ * Describes the message cav.WriteResponse.
246
+ * Use `create(WriteResponseSchema)` to create a new message.
247
+ */
248
+ declare const WriteResponseSchema: GenMessage<WriteResponse>;
249
+ /**
250
+ * @generated from message cav.Response
251
+ */
252
+ type Response = Message<"cav.Response"> & {
253
+ /**
254
+ * @generated from field: uint64 request_id = 1;
255
+ */
256
+ requestId: bigint;
257
+ /**
258
+ * @generated from field: uint64 error_code = 2;
259
+ */
260
+ errorCode: bigint;
261
+ /**
262
+ * The `response` field may not be sent - if the error code indicates something
263
+ * was not successful, then `response` should be empty
264
+ * You could argue that makes the `error_code` field redundant (you can tell if
265
+ * something was successful based on the existence of the `response` value), but
266
+ * leaving it provides some way of differentiating, e.g., failure due to failed
267
+ * disk vs. failure due to insufficient payment received - if all you know is
268
+ * that `response` was empty, you don't know which of those failure modes applied
269
+ *
270
+ * @generated from oneof cav.Response.response
271
+ */
272
+ response: {
273
+ /**
274
+ * @generated from field: cav.ReadResponse read_resp = 3;
275
+ */
276
+ value: ReadResponse;
277
+ case: "readResp";
278
+ } | {
279
+ /**
280
+ * @generated from field: cav.WriteResponse write_resp = 4;
281
+ */
282
+ value: WriteResponse;
283
+ case: "writeResp";
284
+ } | {
285
+ case: undefined;
286
+ value?: undefined;
287
+ };
288
+ };
289
+ /**
290
+ * Describes the message cav.Response.
291
+ * Use `create(ResponseSchema)` to create a new message.
292
+ */
293
+ declare const ResponseSchema: GenMessage<Response>;
294
+
295
+ export { type ChunkKey, ChunkKeySchema, type ClayHelperDataReadRequest, ClayHelperDataReadRequestSchema, type Payment, PaymentSchema, type Proof, type ProofNode, ProofNodeSchema, ProofSchema, type ReadRequest, ReadRequestSchema, type ReadResponse, ReadResponseSchema, type Request, RequestSchema, type Response, ResponseSchema, type WriteRequest, WriteRequestSchema, type WriteResponse, WriteResponseSchema, file_rpc_server };
@@ -0,0 +1,28 @@
1
+ // src/gen/rpc_server_pb.ts
2
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
3
+ var file_rpc_server = /* @__PURE__ */ fileDesc("ChBycGNfc2VydmVyLnByb3RvEgNjYXYiGgoHUGF5bWVudBIPCgdwYXltZW50GAEgASgMIhkKCVByb29mTm9kZRIMCgRoYXNoGAEgASgMIiwKBVByb29mEiMKC3Byb29mX25vZGVzGAEgAygLMg4uY2F2LlByb29mTm9kZSJFCghDaHVua0tleRIQCghibG9iX3VpZBgBIAEoBBIUCgxjaHVua3NldF9pZHgYAiABKA0SEQoJY2h1bmtfaWR4GAMgASgNIk8KC1JlYWRSZXF1ZXN0EiEKCmlkZW50aWZpZXIYASABKAsyDS5jYXYuQ2h1bmtLZXkSHQoHcGF5bWVudBgCIAEoCzIMLmNhdi5QYXltZW50InEKGUNsYXlIZWxwZXJEYXRhUmVhZFJlcXVlc3QSIQoKaWRlbnRpZmllchgBIAEoCzINLmNhdi5DaHVua0tleRIYChB0YXJnZXRfY2h1bmtfaWR4GAIgASgNEhcKD2hlbHBlcl9zZXRfbWFzaxgDIAEoBCJgCgxXcml0ZVJlcXVlc3QSIQoKaWRlbnRpZmllchgBIAEoCzINLmNhdi5DaHVua0tleRIMCgRib2R5GAIgASgMEhkKBXByb29mGAMgASgLMgouY2F2LlByb29mSgQIBBAFIsQBCgdSZXF1ZXN0EiQKCHJlYWRfcmVxGAEgASgLMhAuY2F2LlJlYWRSZXF1ZXN0SAASJgoJd3JpdGVfcmVxGAIgASgLMhEuY2F2LldyaXRlUmVxdWVzdEgAEjkKD2hlbHBlcl9yZWFkX3JlcRgFIAEoCzIeLmNhdi5DbGF5SGVscGVyRGF0YVJlYWRSZXF1ZXN0SAASEgoKcmVxdWVzdF9pZBgDIAEoBBIRCglzaWduYXR1cmUYBCABKAxCCQoHcmVxdWVzdCJXCgxSZWFkUmVzcG9uc2USDAoEYm9keRgBIAEoDBIZCgVwcm9vZhgCIAEoCzIKLmNhdi5Qcm9vZhIeChZoZWxwZXJfY2h1bmtfcm9vdF9oYXNoGAMgASgMIk0KDVdyaXRlUmVzcG9uc2USGgoSYmxvYl9hY2tfc2lnbmF0dXJlGAIgASgMEiAKGG1pc3NpbmdfY2h1bmtzZXRfaW5kaWNlcxgDIAMoDSKWAQoIUmVzcG9uc2USEgoKcmVxdWVzdF9pZBgBIAEoBBISCgplcnJvcl9jb2RlGAIgASgEEiYKCXJlYWRfcmVzcBgDIAEoCzIRLmNhdi5SZWFkUmVzcG9uc2VIABIoCgp3cml0ZV9yZXNwGAQgASgLMhIuY2F2LldyaXRlUmVzcG9uc2VIAEIKCghyZXNwb25zZUoECAUQBmIGcHJvdG8z");
4
+ var PaymentSchema = /* @__PURE__ */ messageDesc(file_rpc_server, 0);
5
+ var ProofNodeSchema = /* @__PURE__ */ messageDesc(file_rpc_server, 1);
6
+ var ProofSchema = /* @__PURE__ */ messageDesc(file_rpc_server, 2);
7
+ var ChunkKeySchema = /* @__PURE__ */ messageDesc(file_rpc_server, 3);
8
+ var ReadRequestSchema = /* @__PURE__ */ messageDesc(file_rpc_server, 4);
9
+ var ClayHelperDataReadRequestSchema = /* @__PURE__ */ messageDesc(file_rpc_server, 5);
10
+ var WriteRequestSchema = /* @__PURE__ */ messageDesc(file_rpc_server, 6);
11
+ var RequestSchema = /* @__PURE__ */ messageDesc(file_rpc_server, 7);
12
+ var ReadResponseSchema = /* @__PURE__ */ messageDesc(file_rpc_server, 8);
13
+ var WriteResponseSchema = /* @__PURE__ */ messageDesc(file_rpc_server, 9);
14
+ var ResponseSchema = /* @__PURE__ */ messageDesc(file_rpc_server, 10);
15
+ export {
16
+ ChunkKeySchema,
17
+ ClayHelperDataReadRequestSchema,
18
+ PaymentSchema,
19
+ ProofNodeSchema,
20
+ ProofSchema,
21
+ ReadRequestSchema,
22
+ ReadResponseSchema,
23
+ RequestSchema,
24
+ ResponseSchema,
25
+ WriteRequestSchema,
26
+ WriteResponseSchema,
27
+ file_rpc_server
28
+ };
@@ -16,6 +16,7 @@ import 'graphql-request';
16
16
  import '../../core/operations/generated/sdk.js';
17
17
  import 'graphql';
18
18
  import '../../core/clients/ShelbyRPCClient.js';
19
+ import '../../core/commitments.js';
19
20
  import '../../core/rpc-responses.js';
20
21
  import '../../core/types/payments.js';
21
22