@shelby-protocol/sdk 0.1.0 → 0.2.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 (88) hide show
  1. package/dist/browser/index.d.ts +6 -5
  2. package/dist/browser/index.mjs +49 -39
  3. package/dist/{chunk-DI2K6OUG.mjs → chunk-33BZ7KYA.mjs} +1 -1
  4. package/dist/chunk-3NRBHSMQ.mjs +12 -0
  5. package/dist/{chunk-FLLOQZVD.mjs → chunk-4ZOFT75Q.mjs} +12 -2
  6. package/dist/{chunk-W6YL46DT.mjs → chunk-5CES6RPZ.mjs} +33 -10
  7. package/dist/{chunk-YZXIPUVQ.mjs → chunk-7O77OM4T.mjs} +108 -29
  8. package/dist/{chunk-LZSIZJYR.mjs → chunk-AUQDI5BS.mjs} +14 -1
  9. package/dist/{chunk-RLRI2533.mjs → chunk-BXEVML7N.mjs} +4 -4
  10. package/dist/{chunk-3ZL3FSNA.mjs → chunk-CGYJLKBU.mjs} +1 -1
  11. package/dist/{chunk-VRLIOKWG.mjs → chunk-D6GQHO6G.mjs} +5 -1
  12. package/dist/{chunk-ZAM2EUVN.mjs → chunk-EFR6H3RT.mjs} +7 -7
  13. package/dist/chunk-HPPMI7DC.mjs +56 -0
  14. package/dist/{chunk-AGRRYZWV.mjs → chunk-IBAUPQOF.mjs} +37 -24
  15. package/dist/{chunk-67F5YZ25.mjs → chunk-JTXYKO3U.mjs} +10 -0
  16. package/dist/chunk-KTVNKLBT.mjs +207 -0
  17. package/dist/{chunk-PZF2VTGP.mjs → chunk-NHWWORCH.mjs} +3 -1
  18. package/dist/{chunk-UCDAABAS.mjs → chunk-OGKZ575S.mjs} +6 -19
  19. package/dist/{chunk-66GI734H.mjs → chunk-OQNP5QXH.mjs} +87 -75
  20. package/dist/{chunk-4JZO2D7T.mjs → chunk-UEZNZBJO.mjs} +9 -2
  21. package/dist/{chunk-MSCUDBMH.mjs → chunk-W37FZSMA.mjs} +1 -1
  22. package/dist/chunk-Z4FZ7W6L.mjs +39 -0
  23. package/dist/{clay-codes-pdZFxI_B.d.ts → clay-codes-DHP-bYcP.d.ts} +6 -2
  24. package/dist/core/blobs.d.ts +2 -0
  25. package/dist/core/blobs.mjs +2 -1
  26. package/dist/core/chunk.d.ts +10 -1
  27. package/dist/core/chunk.mjs +2 -2
  28. package/dist/core/clients/ShelbyBlobClient.d.ts +5 -1
  29. package/dist/core/clients/ShelbyBlobClient.mjs +11 -11
  30. package/dist/core/clients/ShelbyClient.d.ts +8 -2
  31. package/dist/core/clients/ShelbyClient.mjs +16 -15
  32. package/dist/core/clients/ShelbyMetadataClient.d.ts +123 -0
  33. package/dist/{node → core}/clients/ShelbyMetadataClient.mjs +3 -2
  34. package/dist/core/clients/ShelbyMicropaymentChannelClient.d.ts +39 -34
  35. package/dist/core/clients/ShelbyMicropaymentChannelClient.mjs +6 -5
  36. package/dist/core/clients/ShelbyPlacementGroupClient.mjs +3 -3
  37. package/dist/core/clients/ShelbyRPCClient.d.ts +2 -0
  38. package/dist/core/clients/ShelbyRPCClient.mjs +6 -8
  39. package/dist/core/clients/index.d.ts +4 -2
  40. package/dist/core/clients/index.mjs +27 -23
  41. package/dist/core/commitments.d.ts +1 -1
  42. package/dist/core/commitments.mjs +4 -4
  43. package/dist/core/constants.d.ts +15 -3
  44. package/dist/core/constants.mjs +3 -1
  45. package/dist/core/erasure/clay-codes.d.ts +1 -1
  46. package/dist/core/erasure/clay-codes.mjs +5 -5
  47. package/dist/core/erasure/constants.d.ts +10 -2
  48. package/dist/core/erasure/constants.mjs +1 -1
  49. package/dist/core/erasure/default.d.ts +5 -2
  50. package/dist/core/erasure/default.mjs +12 -6
  51. package/dist/core/erasure/index.d.ts +2 -2
  52. package/dist/core/erasure/index.mjs +15 -9
  53. package/dist/core/erasure/provider.d.ts +1 -1
  54. package/dist/core/erasure/reed-solomon.d.ts +1 -1
  55. package/dist/core/erasure/reed-solomon.mjs +1 -1
  56. package/dist/core/erasure/utils.d.ts +1 -1
  57. package/dist/core/index.d.ts +6 -5
  58. package/dist/core/index.mjs +49 -39
  59. package/dist/core/layout.d.ts +5 -16
  60. package/dist/core/layout.mjs +3 -9
  61. package/dist/core/networks.d.ts +1 -1
  62. package/dist/core/networks.mjs +1 -1
  63. package/dist/core/operations/index.mjs +2 -2
  64. package/dist/core/types/blobs.d.ts +1 -1
  65. package/dist/core/types/encodings.d.ts +1 -1
  66. package/dist/core/types/index.d.ts +1 -1
  67. package/dist/core/types/index.mjs +3 -2
  68. package/dist/core/types/payments.d.ts +82 -9
  69. package/dist/core/types/payments.mjs +2 -1
  70. package/dist/core/types/placement_groups.d.ts +2 -2
  71. package/dist/core/types/storage_providers.d.ts +2 -2
  72. package/dist/core/utils.d.ts +3 -2
  73. package/dist/core/utils.mjs +3 -1
  74. package/dist/node/clients/ShelbyNodeClient.d.ts +5 -3
  75. package/dist/node/clients/ShelbyNodeClient.mjs +17 -16
  76. package/dist/node/clients/index.d.ts +3 -3
  77. package/dist/node/clients/index.mjs +18 -18
  78. package/dist/node/index.d.ts +6 -6
  79. package/dist/node/index.mjs +52 -46
  80. package/package.json +1 -1
  81. package/dist/chunk-4MG4XGY4.mjs +0 -91
  82. package/dist/chunk-OMZOR2ZF.mjs +0 -29
  83. package/dist/chunk-OTBLZL2S.mjs +0 -9
  84. package/dist/chunk-W5NRGZEP.mjs +0 -86
  85. package/dist/core/operations/generated/types.d.ts +0 -908
  86. package/dist/core/operations/generated/types.mjs +0 -63
  87. package/dist/node/clients/ShelbyMetadataClient.d.ts +0 -72
  88. /package/dist/{chunk-FGUK6IBA.mjs → chunk-WTICJPDB.mjs} +0 -0
@@ -4,16 +4,17 @@ export { CHUNK_SIZE_PARAMS, ChunkSizeScheme, DEFAULT_CHUNKSET_SIZE_BYTES, DEFAUL
4
4
  export { AckTransactionOptions, BuildOptions, MissingTransactionSubmitterError, ShelbyBlobClient, UsdSponsorOptions, WriteBlobCommitmentsOptions } from '../core/clients/ShelbyBlobClient.js';
5
5
  export { ShelbyClient, UploadOptions } from '../core/clients/ShelbyClient.js';
6
6
  export { ShelbyClientConfig, ShelbyIndexerConfig, ShelbyRPCConfig } from '../core/clients/ShelbyClientConfig.js';
7
+ export { ShelbyMetadataClient } from '../core/clients/ShelbyMetadataClient.js';
7
8
  export { ShelbyMicropaymentChannelClient } from '../core/clients/ShelbyMicropaymentChannelClient.js';
8
9
  export { ShelbyPlacementGroupClient } from '../core/clients/ShelbyPlacementGroupClient.js';
9
10
  export { BlobDataSource, PutBlobProgress, ShelbyRPCClient } from '../core/clients/ShelbyRPCClient.js';
10
11
  export { BlobCommitments, BlobCommitmentsSchema, COMMITMENT_SCHEMA_VERSION, ChunksetCommitment, ChunksetCommitmentSchema, GenerateCommitmentsOptions, expectedTotalChunksets, generateCommitments, generateMerkleRoot } from '../core/commitments.js';
11
- export { DEFAULT_PROJECT_DESCRIPTION, DEFAULT_PROJECT_NAME, MICROPAYMENTS_DEPLOYER, NetworkToShelbyBlobIndexerBaseUrl, NetworkToShelbyRPCBaseUrl, SHELBYUSD_FA_METADATA_ADDRESS, SHELBYUSD_TOKEN_ADDRESS, SHELBYUSD_TOKEN_MODULE, SHELBYUSD_TOKEN_NAME, SHELBY_DEPLOYER, TOKEN_DEPLOYER, TOKEN_OBJECT_ADDRESS } from '../core/constants.js';
12
- export { C as ClayErasureCodingProvider, D as DecodeConfig, E as ErasureCodingConfig, a as ErasureCodingProvider, R as ReedSolomonErasureCodingProvider } from '../clay-codes-pdZFxI_B.js';
12
+ export { DEFAULT_PROJECT_DESCRIPTION, DEFAULT_PROJECT_NAME, MICROPAYMENTS_DEPLOYER, NetworkToGasStationBaseUrl, NetworkToShelbyBlobIndexerBaseUrl, NetworkToShelbyRPCBaseUrl, SHELBYUSD_FA_METADATA_ADDRESS, SHELBYUSD_TOKEN_ADDRESS, SHELBYUSD_TOKEN_MODULE, SHELBYUSD_TOKEN_NAME, SHELBY_DEPLOYER, TOKEN_DEPLOYER, TOKEN_OBJECT_ADDRESS } from '../core/constants.js';
13
+ export { C as ClayErasureCodingProvider, D as DecodeConfig, E as ErasureCodingConfig, a as ErasureCodingProvider, R as ReedSolomonErasureCodingProvider } from '../clay-codes-DHP-bYcP.js';
13
14
  export { DEFAULT_ERASURE_D, DEFAULT_ERASURE_K, DEFAULT_ERASURE_M, DEFAULT_ERASURE_N, DEFAULT_SAMPLE_SIZE, ERASURE_CODE_PARAMS, ErasureCodeParams, ErasureCodingScheme, ErasureSchemeParams } from '../core/erasure/constants.js';
14
- export { createDefaultErasureCodingProvider } from '../core/erasure/default.js';
15
+ export { createDefaultErasureCodingProvider, defaultErasureCodingConfig, erasureCodingConfig16Total10Data13Helper, erasureCodingConfig4Total2Data3Helper } from '../core/erasure/default.js';
15
16
  export { ShelbyErrorCodes, isAccessDeniedError, isBlobAlreadyExistsError, isBlobExpiredError, isBlobNotFoundError } from '../core/errors.js';
16
- export { BlobName, BlobNameSchema, ChunkKey, allChunksForBlob, roundSize } from '../core/layout.js';
17
+ export { BlobName, BlobNameSchema, ChunkKey } from '../core/layout.js';
17
18
  export { ShelbyNetwork, isShelbyNetwork, shelbyNetworks } from '../core/networks.js';
18
19
  export { ShelbyIndexerClient, createShelbyIndexerClient, getShelbyIndexerClient } from '../core/operations/index.js';
19
20
  export { CompleteMultipartUploadResponse, CompleteMultipartUploadResponseSchema, RPCErrorResponse, RPCErrorResponseSchema, StaleMicropaymentErrorResponse, StaleMicropaymentErrorResponseSchema, StartMultipartUploadResponse, StartMultipartUploadResponseSchema, UploadPartResponse, UploadPartResponseSchema } from '../core/rpc-responses.js';
@@ -22,7 +23,7 @@ export { BlobActivity, BlobActivityType, BlobEncoding, BlobMetadata, ClayEncodin
22
23
  export { ChannelInfo, SenderBuiltMicropayment, StaleChannelStateError } from '../core/types/payments.js';
23
24
  export { PlacementGroupInfo, PlacementGroupSlot, PlacementGroupSlotStatus } from '../core/types/placement_groups.js';
24
25
  export { ActiveStateDetails, FrozenStateDetails, StorageProviderInfo, StorageProviderStateDetails, WaitlistedStateDetails } from '../core/types/storage_providers.js';
25
- export { buildRequestUrl, concatHashes, getBlobNameSuffix, readInChunks, zeroPadBytes } from '../core/utils.js';
26
+ export { buildRequestUrl, concatHashes, getBlobNameSuffix, normalizeAddress, readInChunks, zeroPadBytes } from '../core/utils.js';
26
27
  export { Bigint_Comparison_Exp, Blob_Activities, Blob_Activities_Aggregate, Blob_Activities_Aggregate_Fields, Blob_Activities_Aggregate_FieldsCountArgs, Blob_Activities_Avg_Fields, Blob_Activities_Bool_Exp, Blob_Activities_Max_Fields, Blob_Activities_Min_Fields, Blob_Activities_Order_By, Blob_Activities_Select_Column, Blob_Activities_Stddev_Fields, Blob_Activities_Stddev_Pop_Fields, Blob_Activities_Stddev_Samp_Fields, Blob_Activities_Stream_Cursor_Input, Blob_Activities_Stream_Cursor_Value_Input, Blob_Activities_Sum_Fields, Blob_Activities_Var_Pop_Fields, Blob_Activities_Var_Samp_Fields, Blob_Activities_Variance_Fields, Blobs, BlobsPlacement_Group_SlotsArgs, BlobsPlacement_Group_Slots_AggregateArgs, Blobs_Aggregate, Blobs_Aggregate_Fields, Blobs_Aggregate_FieldsCountArgs, Blobs_Avg_Fields, Blobs_Bool_Exp, Blobs_Max_Fields, Blobs_Min_Fields, Blobs_Order_By, Blobs_Select_Column, Blobs_Stddev_Fields, Blobs_Stddev_Pop_Fields, Blobs_Stddev_Samp_Fields, Blobs_Stream_Cursor_Input, Blobs_Stream_Cursor_Value_Input, Blobs_Sum_Fields, Blobs_Var_Pop_Fields, Blobs_Var_Samp_Fields, Blobs_Variance_Fields, Cursor_Ordering, Exact, GetBlobActivitiesCountDocument, GetBlobActivitiesCountQuery, GetBlobActivitiesCountQueryVariables, GetBlobActivitiesDocument, GetBlobActivitiesQuery, GetBlobActivitiesQueryVariables, GetBlobsCountDocument, GetBlobsCountQuery, GetBlobsCountQueryVariables, GetBlobsDocument, GetBlobsQuery, GetBlobsQueryVariables, GetPlacementGroupSlotsCountDocument, GetPlacementGroupSlotsCountQuery, GetPlacementGroupSlotsCountQueryVariables, GetPlacementGroupSlotsDocument, GetPlacementGroupSlotsQuery, GetPlacementGroupSlotsQueryVariables, GetProcessorStatusDocument, GetProcessorStatusQuery, GetProcessorStatusQueryVariables, Incremental, InputMaybe, Int_Comparison_Exp, MakeEmpty, MakeMaybe, MakeOptional, Maybe, Numeric_Comparison_Exp, Order_By, Placement_Group_Slots, Placement_Group_Slots_Aggregate, Placement_Group_Slots_Aggregate_Bool_Exp, Placement_Group_Slots_Aggregate_Bool_Exp_Count, Placement_Group_Slots_Aggregate_Fields, Placement_Group_Slots_Aggregate_FieldsCountArgs, Placement_Group_Slots_Aggregate_Order_By, Placement_Group_Slots_Avg_Fields, Placement_Group_Slots_Avg_Order_By, Placement_Group_Slots_Bool_Exp, Placement_Group_Slots_Max_Fields, Placement_Group_Slots_Max_Order_By, Placement_Group_Slots_Min_Fields, Placement_Group_Slots_Min_Order_By, Placement_Group_Slots_Order_By, Placement_Group_Slots_Select_Column, Placement_Group_Slots_Stddev_Fields, Placement_Group_Slots_Stddev_Order_By, Placement_Group_Slots_Stddev_Pop_Fields, Placement_Group_Slots_Stddev_Pop_Order_By, Placement_Group_Slots_Stddev_Samp_Fields, Placement_Group_Slots_Stddev_Samp_Order_By, Placement_Group_Slots_Stream_Cursor_Input, Placement_Group_Slots_Stream_Cursor_Value_Input, Placement_Group_Slots_Sum_Fields, Placement_Group_Slots_Sum_Order_By, Placement_Group_Slots_Var_Pop_Fields, Placement_Group_Slots_Var_Pop_Order_By, Placement_Group_Slots_Var_Samp_Fields, Placement_Group_Slots_Var_Samp_Order_By, Placement_Group_Slots_Variance_Fields, Placement_Group_Slots_Variance_Order_By, Processor_Status, Processor_Status_Bool_Exp, Processor_Status_Order_By, Processor_Status_Select_Column, Processor_Status_Stream_Cursor_Input, Processor_Status_Stream_Cursor_Value_Input, Query_Root, Query_RootBlob_ActivitiesArgs, Query_RootBlob_Activities_AggregateArgs, Query_RootBlob_Activities_By_PkArgs, Query_RootBlobsArgs, Query_RootBlobs_AggregateArgs, Query_RootBlobs_By_PkArgs, Query_RootPlacement_Group_SlotsArgs, Query_RootPlacement_Group_Slots_AggregateArgs, Query_RootPlacement_Group_Slots_By_PkArgs, Query_RootProcessor_StatusArgs, Scalars, Sdk, SdkFunctionWrapper, String_Comparison_Exp, Subscription_Root, Subscription_RootBlob_ActivitiesArgs, Subscription_RootBlob_Activities_AggregateArgs, Subscription_RootBlob_Activities_By_PkArgs, Subscription_RootBlob_Activities_StreamArgs, Subscription_RootBlobsArgs, Subscription_RootBlobs_AggregateArgs, Subscription_RootBlobs_By_PkArgs, Subscription_RootBlobs_StreamArgs, Subscription_RootPlacement_Group_SlotsArgs, Subscription_RootPlacement_Group_Slots_AggregateArgs, Subscription_RootPlacement_Group_Slots_By_PkArgs, Subscription_RootPlacement_Group_Slots_StreamArgs, Subscription_RootProcessor_StatusArgs, Subscription_RootProcessor_Status_StreamArgs, Timestamp_Comparison_Exp, getSdk } from '../core/operations/generated/sdk.js';
27
28
  import '@aptos-labs/ts-sdk';
28
29
  import 'zod';
@@ -1,44 +1,50 @@
1
1
  import "../chunk-EM67QTMR.mjs";
2
- import "../chunk-FGUK6IBA.mjs";
2
+ import "../chunk-WTICJPDB.mjs";
3
+ import {
4
+ ShelbyPlacementGroupClient
5
+ } from "../chunk-W37FZSMA.mjs";
3
6
  import {
4
7
  ShelbyClient
5
- } from "../chunk-W6YL46DT.mjs";
8
+ } from "../chunk-5CES6RPZ.mjs";
9
+ import {
10
+ ShelbyRPCClient
11
+ } from "../chunk-EFR6H3RT.mjs";
6
12
  import {
7
13
  MissingTransactionSubmitterError,
8
14
  ShelbyBlobClient
9
- } from "../chunk-AGRRYZWV.mjs";
15
+ } from "../chunk-IBAUPQOF.mjs";
10
16
  import "../chunk-XNEIWM4O.mjs";
11
17
  import {
12
- createDefaultErasureCodingProvider
13
- } from "../chunk-OMZOR2ZF.mjs";
18
+ ReedSolomonErasureCodingProvider
19
+ } from "../chunk-NHWWORCH.mjs";
14
20
  import {
15
- ClayErasureCodingProvider
16
- } from "../chunk-UCDAABAS.mjs";
21
+ createDefaultErasureCodingProvider,
22
+ defaultErasureCodingConfig,
23
+ erasureCodingConfig16Total10Data13Helper,
24
+ erasureCodingConfig4Total2Data3Helper
25
+ } from "../chunk-HPPMI7DC.mjs";
17
26
  import {
18
- ReedSolomonErasureCodingProvider
19
- } from "../chunk-PZF2VTGP.mjs";
27
+ ClayErasureCodingProvider
28
+ } from "../chunk-OGKZ575S.mjs";
20
29
  import "../chunk-Z7RFCADT.mjs";
30
+ import {
31
+ ShelbyMetadataClient
32
+ } from "../chunk-7O77OM4T.mjs";
21
33
  import {
22
34
  ShelbyMicropaymentChannelClient
23
- } from "../chunk-66GI734H.mjs";
35
+ } from "../chunk-OQNP5QXH.mjs";
24
36
  import "../chunk-QQ57OGQ2.mjs";
37
+ import "../chunk-MQUVYMNQ.mjs";
25
38
  import "../chunk-ZHXCVRZX.mjs";
26
39
  import "../chunk-AD2G3QYD.mjs";
27
- import "../chunk-MQUVYMNQ.mjs";
28
- import {
29
- ShelbyPlacementGroupClient
30
- } from "../chunk-MSCUDBMH.mjs";
31
- import {
32
- ShelbyRPCClient
33
- } from "../chunk-ZAM2EUVN.mjs";
34
40
  import {
35
41
  SenderBuiltMicropayment,
36
42
  StaleChannelStateError
37
- } from "../chunk-4MG4XGY4.mjs";
43
+ } from "../chunk-KTVNKLBT.mjs";
38
44
  import {
39
45
  createShelbyIndexerClient,
40
46
  getShelbyIndexerClient
41
- } from "../chunk-3ZL3FSNA.mjs";
47
+ } from "../chunk-CGYJLKBU.mjs";
42
48
  import {
43
49
  Blob_Activities_Select_Column,
44
50
  Blobs_Select_Column,
@@ -56,16 +62,21 @@ import {
56
62
  getSdk
57
63
  } from "../chunk-KJ24NKPH.mjs";
58
64
  import "../chunk-AABBONAF.mjs";
65
+ import {
66
+ ShelbyErrorCodes,
67
+ isAccessDeniedError,
68
+ isBlobAlreadyExistsError,
69
+ isBlobExpiredError,
70
+ isBlobNotFoundError
71
+ } from "../chunk-CQ6QPIZK.mjs";
59
72
  import {
60
73
  BlobNameSchema,
61
- ChunkKey,
62
- allChunksForBlob,
63
- roundSize
64
- } from "../chunk-W5NRGZEP.mjs";
74
+ ChunkKey
75
+ } from "../chunk-Z4FZ7W6L.mjs";
65
76
  import {
66
77
  isShelbyNetwork,
67
78
  shelbyNetworks
68
- } from "../chunk-VRLIOKWG.mjs";
79
+ } from "../chunk-D6GQHO6G.mjs";
69
80
  import "../chunk-I6NG5GNL.mjs";
70
81
  import {
71
82
  CompleteMultipartUploadResponseSchema,
@@ -85,7 +96,7 @@ import {
85
96
  } from "../chunk-C6RQ3AEU.mjs";
86
97
  import {
87
98
  createBlobKey
88
- } from "../chunk-OTBLZL2S.mjs";
99
+ } from "../chunk-3NRBHSMQ.mjs";
89
100
  import {
90
101
  BlobCommitmentsSchema,
91
102
  COMMITMENT_SCHEMA_VERSION,
@@ -93,21 +104,22 @@ import {
93
104
  expectedTotalChunksets,
94
105
  generateCommitments,
95
106
  generateMerkleRoot
96
- } from "../chunk-RLRI2533.mjs";
107
+ } from "../chunk-BXEVML7N.mjs";
97
108
  import {
98
109
  buildRequestUrl,
99
110
  concatHashes,
100
111
  getBlobNameSuffix,
112
+ normalizeAddress,
101
113
  readInChunks,
102
114
  zeroPadBytes
103
- } from "../chunk-4JZO2D7T.mjs";
115
+ } from "../chunk-UEZNZBJO.mjs";
104
116
  import {
105
117
  CHUNK_SIZE_PARAMS,
106
118
  ChunkSizeScheme,
107
119
  DEFAULT_CHUNKSET_SIZE_BYTES,
108
120
  DEFAULT_CHUNK_SIZE_BYTES,
109
121
  ERASURE_CODE_AND_CHUNK_MAPPING
110
- } from "../chunk-67F5YZ25.mjs";
122
+ } from "../chunk-JTXYKO3U.mjs";
111
123
  import {
112
124
  DEFAULT_ERASURE_D,
113
125
  DEFAULT_ERASURE_K,
@@ -116,11 +128,12 @@ import {
116
128
  DEFAULT_SAMPLE_SIZE,
117
129
  ERASURE_CODE_PARAMS,
118
130
  ErasureCodingScheme
119
- } from "../chunk-LZSIZJYR.mjs";
131
+ } from "../chunk-AUQDI5BS.mjs";
120
132
  import {
121
133
  DEFAULT_PROJECT_DESCRIPTION,
122
134
  DEFAULT_PROJECT_NAME,
123
135
  MICROPAYMENTS_DEPLOYER,
136
+ NetworkToGasStationBaseUrl,
124
137
  NetworkToShelbyBlobIndexerBaseUrl,
125
138
  NetworkToShelbyRPCBaseUrl,
126
139
  SHELBYUSD_FA_METADATA_ADDRESS,
@@ -130,14 +143,7 @@ import {
130
143
  SHELBY_DEPLOYER,
131
144
  TOKEN_DEPLOYER,
132
145
  TOKEN_OBJECT_ADDRESS
133
- } from "../chunk-FLLOQZVD.mjs";
134
- import {
135
- ShelbyErrorCodes,
136
- isAccessDeniedError,
137
- isBlobAlreadyExistsError,
138
- isBlobExpiredError,
139
- isBlobNotFoundError
140
- } from "../chunk-CQ6QPIZK.mjs";
146
+ } from "../chunk-4ZOFT75Q.mjs";
141
147
  import "../chunk-7P6ASYW6.mjs";
142
148
  export {
143
149
  BlobCommitmentsSchema,
@@ -173,6 +179,7 @@ export {
173
179
  GetProcessorStatusDocument,
174
180
  MICROPAYMENTS_DEPLOYER,
175
181
  MissingTransactionSubmitterError,
182
+ NetworkToGasStationBaseUrl,
176
183
  NetworkToShelbyBlobIndexerBaseUrl,
177
184
  NetworkToShelbyRPCBaseUrl,
178
185
  Order_By,
@@ -189,6 +196,7 @@ export {
189
196
  ShelbyBlobClient,
190
197
  ShelbyClient,
191
198
  ShelbyErrorCodes,
199
+ ShelbyMetadataClient,
192
200
  ShelbyMicropaymentChannelClient,
193
201
  ShelbyPlacementGroupClient,
194
202
  ShelbyRPCClient,
@@ -198,12 +206,14 @@ export {
198
206
  TOKEN_DEPLOYER,
199
207
  TOKEN_OBJECT_ADDRESS,
200
208
  UploadPartResponseSchema,
201
- allChunksForBlob,
202
209
  buildRequestUrl,
203
210
  concatHashes,
204
211
  createBlobKey,
205
212
  createDefaultErasureCodingProvider,
206
213
  createShelbyIndexerClient,
214
+ defaultErasureCodingConfig,
215
+ erasureCodingConfig16Total10Data13Helper,
216
+ erasureCodingConfig4Total2Data3Helper,
207
217
  expectedTotalChunksets,
208
218
  generateCommitments,
209
219
  generateMerkleRoot,
@@ -220,8 +230,8 @@ export {
220
230
  isBlobExpiredError,
221
231
  isBlobNotFoundError,
222
232
  isShelbyNetwork,
233
+ normalizeAddress,
223
234
  readInChunks,
224
- roundSize,
225
235
  shelbyNetworks,
226
236
  zeroPadBytes
227
237
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ShelbyClient
3
- } from "./chunk-W6YL46DT.mjs";
3
+ } from "./chunk-5CES6RPZ.mjs";
4
4
 
5
5
  // src/node/clients/ShelbyNodeClient.ts
6
6
  var ShelbyNodeClient = class extends ShelbyClient {
@@ -0,0 +1,12 @@
1
+ import {
2
+ normalizeAddress
3
+ } from "./chunk-UEZNZBJO.mjs";
4
+
5
+ // src/core/blobs.ts
6
+ var createBlobKey = (params) => {
7
+ return `@${normalizeAddress(params.account).toStringLongWithoutPrefix()}/${params.blobName}`;
8
+ };
9
+
10
+ export {
11
+ createBlobKey
12
+ };
@@ -6,7 +6,7 @@ var NetworkToShelbyRPCBaseUrl = {
6
6
  [Network.SHELBYNET]: "https://api.shelbynet.shelby.xyz/shelby",
7
7
  [Network.NETNA]: void 0,
8
8
  [Network.DEVNET]: void 0,
9
- [Network.TESTNET]: void 0,
9
+ [Network.TESTNET]: "https://api.testnet.shelby.xyz/shelby",
10
10
  [Network.MAINNET]: void 0,
11
11
  [Network.LOCAL]: void 0,
12
12
  [Network.CUSTOM]: void 0
@@ -15,7 +15,16 @@ var NetworkToShelbyBlobIndexerBaseUrl = {
15
15
  [Network.SHELBYNET]: "https://api.shelbynet.aptoslabs.com/nocode/v1/public/cmforrguw0042s601fn71f9l2/v1/graphql",
16
16
  [Network.NETNA]: void 0,
17
17
  [Network.DEVNET]: void 0,
18
- [Network.TESTNET]: void 0,
18
+ [Network.TESTNET]: "https://api.testnet.aptoslabs.com/nocode/v1/public/cmlfqs5wt00qrs601zt5s4kfj/v1/graphql",
19
+ [Network.MAINNET]: void 0,
20
+ [Network.LOCAL]: void 0,
21
+ [Network.CUSTOM]: void 0
22
+ };
23
+ var NetworkToGasStationBaseUrl = {
24
+ [Network.SHELBYNET]: "https://api.shelbynet.shelby.xyz/gs/v1",
25
+ [Network.NETNA]: void 0,
26
+ [Network.DEVNET]: void 0,
27
+ [Network.TESTNET]: "https://api.testnet.shelby.xyz/gs/v1",
19
28
  [Network.MAINNET]: void 0,
20
29
  [Network.LOCAL]: void 0,
21
30
  [Network.CUSTOM]: void 0
@@ -34,6 +43,7 @@ export {
34
43
  DEFAULT_PROJECT_DESCRIPTION,
35
44
  NetworkToShelbyRPCBaseUrl,
36
45
  NetworkToShelbyBlobIndexerBaseUrl,
46
+ NetworkToGasStationBaseUrl,
37
47
  SHELBY_DEPLOYER,
38
48
  MICROPAYMENTS_DEPLOYER,
39
49
  TOKEN_DEPLOYER,
@@ -1,30 +1,39 @@
1
+ import {
2
+ ShelbyRPCClient
3
+ } from "./chunk-EFR6H3RT.mjs";
1
4
  import {
2
5
  ShelbyBlobClient
3
- } from "./chunk-AGRRYZWV.mjs";
6
+ } from "./chunk-IBAUPQOF.mjs";
7
+ import {
8
+ defaultErasureCodingConfig
9
+ } from "./chunk-HPPMI7DC.mjs";
4
10
  import {
5
11
  ClayErasureCodingProvider
6
- } from "./chunk-UCDAABAS.mjs";
12
+ } from "./chunk-OGKZ575S.mjs";
7
13
  import {
8
- ShelbyRPCClient
9
- } from "./chunk-ZAM2EUVN.mjs";
14
+ ShelbyMetadataClient
15
+ } from "./chunk-7O77OM4T.mjs";
10
16
  import {
11
17
  getAptosConfig
12
18
  } from "./chunk-AABBONAF.mjs";
13
19
  import {
14
20
  createBlobKey
15
- } from "./chunk-OTBLZL2S.mjs";
21
+ } from "./chunk-3NRBHSMQ.mjs";
16
22
  import {
17
23
  generateCommitments
18
- } from "./chunk-RLRI2533.mjs";
24
+ } from "./chunk-BXEVML7N.mjs";
25
+ import {
26
+ normalizeAddress
27
+ } from "./chunk-UEZNZBJO.mjs";
19
28
  import {
20
29
  NetworkToShelbyRPCBaseUrl
21
- } from "./chunk-FLLOQZVD.mjs";
30
+ } from "./chunk-4ZOFT75Q.mjs";
22
31
 
23
32
  // src/core/clients/ShelbyClient.ts
24
33
  import {
25
- AccountAddress,
26
34
  Aptos,
27
35
  DEFAULT_TXN_TIMEOUT_SEC,
36
+ Network,
28
37
  TransactionResponseType
29
38
  } from "@aptos-labs/ts-sdk";
30
39
  import pLimit from "p-limit";
@@ -34,6 +43,10 @@ var ShelbyClient = class {
34
43
  * and metadata for blobs.
35
44
  */
36
45
  coordination;
46
+ /**
47
+ * The metadata client is used for protocol-level metadata queries.
48
+ */
49
+ metadata;
37
50
  /**
38
51
  * The RPC client is used to interact with the Shelby RPC node which can be responsible for storing,
39
52
  * confirming, and retrieving blobs from the storage layer.
@@ -85,6 +98,7 @@ var ShelbyClient = class {
85
98
  this.config = config;
86
99
  this.aptos = new Aptos(getAptosConfig(config));
87
100
  this.coordination = new ShelbyBlobClient(config);
101
+ this.metadata = new ShelbyMetadataClient(config);
88
102
  this.rpc = new ShelbyRPCClient(config);
89
103
  this._provider = provider;
90
104
  }
@@ -94,7 +108,9 @@ var ShelbyClient = class {
94
108
  */
95
109
  async getProvider() {
96
110
  if (!this._provider) {
97
- this._provider = await ClayErasureCodingProvider.create();
111
+ this._provider = await ClayErasureCodingProvider.create(
112
+ defaultErasureCodingConfig()
113
+ );
98
114
  }
99
115
  return this._provider;
100
116
  }
@@ -151,6 +167,7 @@ var ShelbyClient = class {
151
167
  blobMerkleRoot: blobCommitments.blob_merkle_root,
152
168
  size: params.blobData.length,
153
169
  expirationMicros: params.expirationMicros,
170
+ config: provider.config,
154
171
  options: params.options
155
172
  });
156
173
  await this.coordination.aptos.waitForTransaction({
@@ -231,6 +248,7 @@ var ShelbyClient = class {
231
248
  blobSize: blob.blobData.length,
232
249
  blobMerkleRoot: blobCommitments[index].blob_merkle_root
233
250
  })),
251
+ config: provider.config,
234
252
  options: params.options
235
253
  });
236
254
  await this.coordination.aptos.waitForTransaction({
@@ -288,6 +306,11 @@ var ShelbyClient = class {
288
306
  * ```
289
307
  */
290
308
  async fundAccountWithShelbyUSD(params) {
309
+ if (this.config.network === Network.TESTNET) {
310
+ throw new Error(
311
+ `ShelbyUSD cannot be minted programmatically on ${Network.TESTNET}. Please use the faucet at https://docs.shelby.xyz/apis/faucet/shelbyusd instead.`
312
+ );
313
+ }
291
314
  const { address, amount } = params;
292
315
  try {
293
316
  const faucet = this.config.faucet?.baseUrl ?? "https://faucet.shelbynet.shelby.xyz/fund?asset=shelbyusd";
@@ -295,7 +318,7 @@ var ShelbyClient = class {
295
318
  const response = await fetch(`${faucet}`, {
296
319
  method: "POST",
297
320
  body: JSON.stringify({
298
- address: AccountAddress.from(address).toString(),
321
+ address: normalizeAddress(address).toString(),
299
322
  amount
300
323
  }),
301
324
  headers: {
@@ -1,25 +1,28 @@
1
1
  import {
2
2
  getAptosConfig
3
3
  } from "./chunk-AABBONAF.mjs";
4
+ import {
5
+ normalizeAddress
6
+ } from "./chunk-UEZNZBJO.mjs";
4
7
  import {
5
8
  SHELBY_DEPLOYER
6
- } from "./chunk-FLLOQZVD.mjs";
9
+ } from "./chunk-4ZOFT75Q.mjs";
7
10
 
8
- // src/node/clients/ShelbyMetadataClient.ts
11
+ // src/core/clients/ShelbyMetadataClient.ts
9
12
  import {
10
13
  AccountAddress,
11
14
  Aptos,
12
15
  Hex
13
16
  } from "@aptos-labs/ts-sdk";
14
17
  function parseStorageProviderState(raw) {
15
- switch (raw.variant) {
18
+ switch (raw.__variant__) {
16
19
  case "Active":
17
20
  return {
18
21
  variant: "Active",
19
- quota: raw.Active.quota.value,
20
- stakeAtStartOfStakingEpoch: raw.Active.stake_at_start_of_staking_epoch,
21
- faulty: raw.Active.faulty,
22
- leaving: raw.Active.leaving
22
+ quota: raw.quota.value,
23
+ stakeAtStartOfStakingEpoch: raw.stake_at_start_of_staking_epoch,
24
+ faulty: raw.faulty,
25
+ leaving: raw.leaving
23
26
  };
24
27
  case "Waitlisted":
25
28
  return {
@@ -28,9 +31,9 @@ function parseStorageProviderState(raw) {
28
31
  case "Frozen":
29
32
  return {
30
33
  variant: "Frozen",
31
- frozenReason: raw.Frozen.frozen_reason,
32
- frozenFrom: raw.Frozen.frozen_from,
33
- frozenTill: raw.Frozen.frozen_till
34
+ frozenReason: raw.frozen_reason,
35
+ frozenFrom: raw.frozen_from,
36
+ frozenTill: raw.frozen_till
34
37
  };
35
38
  }
36
39
  }
@@ -74,11 +77,11 @@ var ShelbyMetadataClient = class {
74
77
  });
75
78
  const metadata = rawMetadata[0];
76
79
  return metadata.map((provider) => ({
77
- address: AccountAddress.fromString(provider.address),
80
+ address: normalizeAddress(provider.address),
78
81
  ipAddress: provider.ip_address,
79
82
  port: provider.port,
80
83
  blsPublicKey: Hex.fromHexInput(provider.bls_public_key).toUint8Array(),
81
- failureDomain: provider.failure_domain,
84
+ availabilityZone: provider.availability_zone,
82
85
  state: parseStorageProviderState(provider.state)
83
86
  }));
84
87
  } catch (error) {
@@ -115,7 +118,7 @@ var ShelbyMetadataClient = class {
115
118
  }
116
119
  });
117
120
  const metadata = addressMetadataArray[0];
118
- return metadata.map((pg) => AccountAddress.fromString(pg));
121
+ return metadata.map((pg) => normalizeAddress(pg));
119
122
  } catch (error) {
120
123
  if (error instanceof Error && // Depending on the network, the error message may show up differently.
121
124
  (error.message?.includes("sub_status: Some(404)") || error.message?.includes("E_PLACEMENT_GROUP_NOT_FOUND"))) {
@@ -150,7 +153,7 @@ var ShelbyMetadataClient = class {
150
153
  }
151
154
  });
152
155
  const metadata = addressMetadataArray[0];
153
- return metadata.map((slice) => AccountAddress.fromString(slice));
156
+ return metadata.map((slice) => normalizeAddress(slice));
154
157
  } catch (error) {
155
158
  if (error instanceof Error && // Depending on the network, the error message may show up differently.
156
159
  (error.message?.includes("sub_status: Some(404)") || error.message?.includes("E_SLICE_NOT_FOUND"))) {
@@ -160,37 +163,113 @@ var ShelbyMetadataClient = class {
160
163
  }
161
164
  }
162
165
  /**
163
- * Retrieves the storage providers assigned to a slice, through a placement group.
166
+ * Gets the placement group address for a slice.
167
+ *
168
+ * @param sliceAddress - The address of the slice account.
169
+ * @returns The placement group address as a string.
170
+ */
171
+ async getPlacementGroupAddressForSlice(sliceAddress) {
172
+ const sliceMetadata = await this.aptos.view({
173
+ payload: {
174
+ function: `${this.deployer.toString()}::slice::get_slice_info`,
175
+ functionArguments: [sliceAddress.toString()]
176
+ }
177
+ });
178
+ return sliceMetadata[0].placement_group_assignments[0].placement_group_address;
179
+ }
180
+ /**
181
+ * Retrieves the designated storage providers for a slice.
182
+ *
183
+ * Designated SPs are those appointed to store data for their slots:
184
+ * - Active: Currently serving data
185
+ * - Receiving: Receiving data during slot transfer
186
+ * - Repairing: Repairing data after crash or failed transfer
187
+ * - Reconstructing: Reconstructing data if the repair fails
164
188
  *
165
189
  * @param params.account - The address of the slice account.
166
- * @returns The list of storage providers for the slice, or an empty array if none exist.
190
+ * @returns An array where result[i] is the designated SP for slot i, or null if no SP is designated.
167
191
  *
168
192
  * @example
169
193
  * ```typescript
170
- * const pgInfo = await client.getStorageProvidersForSlice();
194
+ * const providers = await client.getDesignatedStorageProvidersForSlice({ account: sliceAddress });
171
195
  * ```
172
196
  */
173
- async getStorageProvidersForSlice(params) {
174
- const sliceMetadata = await this.aptos.view({
197
+ async getDesignatedStorageProvidersForSlice(params) {
198
+ const placementGroupAddress = await this.getPlacementGroupAddressForSlice(
199
+ params.account
200
+ );
201
+ const rawMetadata = await this.aptos.view({
175
202
  payload: {
176
- function: `${this.deployer.toString()}::slice::get_slice_info`,
177
- functionArguments: [params.account.toString()]
203
+ function: `${this.deployer.toString()}::placement_group::get_designated_storage_providers`,
204
+ functionArguments: [placementGroupAddress]
178
205
  }
179
206
  });
180
- const placementGroupAddress = sliceMetadata[0].placement_group_assignments[0].placement_group_address;
207
+ const providers = rawMetadata[0];
208
+ return providers.map(
209
+ (opt) => opt.vec.length > 0 ? normalizeAddress(opt.vec[0]) : null
210
+ );
211
+ }
212
+ /**
213
+ * Retrieves the active storage providers for a slice.
214
+ *
215
+ * Active SPs have a complete copy of the data for the slot, and are not in any data transfer/repair/reconstruction phase.
216
+ * Active SP can be audited for the data it contains.
217
+ * Each slot has at most one active SP.
218
+ *
219
+ * @param params.account - The address of the slice account.
220
+ * @returns An array where result[i] is the active SP for slot i, or null if no SP is active.
221
+ *
222
+ * @example
223
+ * ```typescript
224
+ * const providers = await client.getActiveStorageProvidersForSlice({ account: sliceAddress });
225
+ * ```
226
+ */
227
+ async getActiveStorageProvidersForSlice(params) {
228
+ const placementGroupAddress = await this.getPlacementGroupAddressForSlice(
229
+ params.account
230
+ );
181
231
  const rawMetadata = await this.aptos.view({
182
232
  payload: {
183
- function: `${this.deployer.toString()}::placement_group::get_placement_group_info`,
233
+ function: `${this.deployer.toString()}::placement_group::get_active_storage_providers`,
184
234
  functionArguments: [placementGroupAddress]
185
235
  }
186
236
  });
187
- const members = rawMetadata[0].members;
188
- const keys = members.flatMap((m) => {
189
- const active = m.active?.vec.map((a) => a.address) ?? [];
190
- const others = m.others?.data.map((o) => o.key) ?? [];
191
- return [...active, ...others];
237
+ const providers = rawMetadata[0];
238
+ return providers.map(
239
+ (opt) => opt.vec.length > 0 ? normalizeAddress(opt.vec[0]) : null
240
+ );
241
+ }
242
+ /**
243
+ * Retrieves the serving storage providers for a slice.
244
+ *
245
+ * Serving SPs are those that can respond to read requests. The serving logic is:
246
+ * - If an Active SP exists for a slot: Only the Active SP is serving
247
+ * - If no Active SP (transition in progress): Both Designated and Vacating SPs serve
248
+ *
249
+ * Each slot may have multiple serving SPs during transitions.
250
+ *
251
+ * @param params.account - The address of the slice account.
252
+ * @returns An array where result[i] contains the serving SPs for slot i.
253
+ *
254
+ * @example
255
+ * ```typescript
256
+ * const providers = await client.getServingStorageProvidersForSlice({ account: sliceAddress });
257
+ * ```
258
+ */
259
+ async getServingStorageProvidersForSlice(params) {
260
+ const placementGroupAddress = await this.getPlacementGroupAddressForSlice(
261
+ params.account
262
+ );
263
+ const rawMetadata = await this.aptos.view({
264
+ payload: {
265
+ function: `${this.deployer.toString()}::placement_group::get_serving_storage_providers`,
266
+ functionArguments: [placementGroupAddress]
267
+ }
192
268
  });
193
- return keys.map((k) => AccountAddress.fromString(k));
269
+ const providers = rawMetadata[0];
270
+ return providers.map(
271
+ (slotProviders) => slotProviders.map((addr) => normalizeAddress(addr))
272
+ );
194
273
  }
195
274
  };
196
275
 
@@ -1,6 +1,7 @@
1
1
  // src/core/erasure/constants.ts
2
2
  var ErasureCodingScheme = /* @__PURE__ */ ((ErasureCodingScheme2) => {
3
3
  ErasureCodingScheme2["ClayCode_16Total_10Data_13Helper"] = "ClayCode_16Total_10Data_13Helper";
4
+ ErasureCodingScheme2["ClayCode_4Total_2Data_3Helper"] = "ClayCode_4Total_2Data_3Helper";
4
5
  return ErasureCodingScheme2;
5
6
  })(ErasureCodingScheme || {});
6
7
  var ERASURE_CODE_PARAMS = {
@@ -10,7 +11,19 @@ var ERASURE_CODE_PARAMS = {
10
11
  // data chunks
11
12
  erasure_k: 10,
12
13
  // helper nodes
13
- erasure_d: 13
14
+ erasure_d: 13,
15
+ // enum index
16
+ enumIndex: 0
17
+ },
18
+ ["ClayCode_4Total_2Data_3Helper" /* ClayCode_4Total_2Data_3Helper */]: {
19
+ // total chunks (data + parity)
20
+ erasure_n: 4,
21
+ // data chunks
22
+ erasure_k: 2,
23
+ // helper nodes
24
+ erasure_d: 3,
25
+ // enum index
26
+ enumIndex: 1
14
27
  }
15
28
  };
16
29
  var DEFAULT_ERASURE_N = ERASURE_CODE_PARAMS["ClayCode_16Total_10Data_13Helper" /* ClayCode_16Total_10Data_13Helper */].erasure_n;
@@ -2,14 +2,14 @@ import {
2
2
  concatHashes,
3
3
  readInChunks,
4
4
  zeroPadBytes
5
- } from "./chunk-4JZO2D7T.mjs";
5
+ } from "./chunk-UEZNZBJO.mjs";
6
6
  import {
7
7
  DEFAULT_CHUNKSET_SIZE_BYTES
8
- } from "./chunk-67F5YZ25.mjs";
8
+ } from "./chunk-JTXYKO3U.mjs";
9
9
  import {
10
10
  DEFAULT_ERASURE_K,
11
11
  DEFAULT_ERASURE_M
12
- } from "./chunk-LZSIZJYR.mjs";
12
+ } from "./chunk-AUQDI5BS.mjs";
13
13
 
14
14
  // src/core/commitments.ts
15
15
  import { Hex } from "@aptos-labs/ts-sdk";
@@ -111,7 +111,7 @@ async function generateChunksetCommitments(shouldPad, chunksetIdx, chunksetData,
111
111
  return { h: a, entry };
112
112
  }
113
113
  async function generateCommitments(provider, fullData, onChunk, options) {
114
- const expectedChunksetSize = DEFAULT_CHUNKSET_SIZE_BYTES;
114
+ const expectedChunksetSize = provider.config.chunkSizeBytes * provider.config.erasure_k;
115
115
  const shouldPad = options?.pad ?? true;
116
116
  const chunksetCommitments = [];
117
117
  const chunksetCommitmentHashes = [];