@autonomys/auto-dag-data 0.8.2

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 (153) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +167 -0
  3. package/dist/cid/index.d.ts +9 -0
  4. package/dist/cid/index.d.ts.map +1 -0
  5. package/dist/cid/index.js +20 -0
  6. package/dist/compression/index.d.ts +7 -0
  7. package/dist/compression/index.d.ts.map +1 -0
  8. package/dist/compression/index.js +106 -0
  9. package/dist/compression/types.d.ts +9 -0
  10. package/dist/compression/types.d.ts.map +1 -0
  11. package/dist/compression/types.js +1 -0
  12. package/dist/encryption/index.d.ts +8 -0
  13. package/dist/encryption/index.d.ts.map +1 -0
  14. package/dist/encryption/index.js +121 -0
  15. package/dist/encryption/types.d.ts +5 -0
  16. package/dist/encryption/types.d.ts.map +1 -0
  17. package/dist/encryption/types.js +1 -0
  18. package/dist/index.d.ts +6 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +5 -0
  21. package/dist/ipld/blockstore/base.d.ts +9 -0
  22. package/dist/ipld/blockstore/base.d.ts.map +1 -0
  23. package/dist/ipld/blockstore/base.js +1 -0
  24. package/dist/ipld/blockstore/index.d.ts +3 -0
  25. package/dist/ipld/blockstore/index.d.ts.map +1 -0
  26. package/dist/ipld/blockstore/index.js +2 -0
  27. package/dist/ipld/blockstore/memory.d.ts +13 -0
  28. package/dist/ipld/blockstore/memory.d.ts.map +1 -0
  29. package/dist/ipld/blockstore/memory.js +57 -0
  30. package/dist/ipld/builders.d.ts +12 -0
  31. package/dist/ipld/builders.d.ts.map +1 -0
  32. package/dist/ipld/builders.js +13 -0
  33. package/dist/ipld/chunker.d.ts +30 -0
  34. package/dist/ipld/chunker.d.ts.map +1 -0
  35. package/dist/ipld/chunker.js +219 -0
  36. package/dist/ipld/index.d.ts +5 -0
  37. package/dist/ipld/index.d.ts.map +1 -0
  38. package/dist/ipld/index.js +4 -0
  39. package/dist/ipld/nodes.d.ts +15 -0
  40. package/dist/ipld/nodes.d.ts.map +1 -0
  41. package/dist/ipld/nodes.js +92 -0
  42. package/dist/ipld/utils.d.ts +8 -0
  43. package/dist/ipld/utils.d.ts.map +1 -0
  44. package/dist/ipld/utils.js +50 -0
  45. package/dist/metadata/index.d.ts +3 -0
  46. package/dist/metadata/index.d.ts.map +1 -0
  47. package/dist/metadata/index.js +2 -0
  48. package/dist/metadata/offchain/base.d.ts +4 -0
  49. package/dist/metadata/offchain/base.d.ts.map +1 -0
  50. package/dist/metadata/offchain/base.js +1 -0
  51. package/dist/metadata/offchain/file.d.ts +18 -0
  52. package/dist/metadata/offchain/file.d.ts.map +1 -0
  53. package/dist/metadata/offchain/file.js +16 -0
  54. package/dist/metadata/offchain/folder.d.ts +22 -0
  55. package/dist/metadata/offchain/folder.d.ts.map +1 -0
  56. package/dist/metadata/offchain/folder.js +27 -0
  57. package/dist/metadata/offchain/index.d.ts +4 -0
  58. package/dist/metadata/offchain/index.d.ts.map +1 -0
  59. package/dist/metadata/offchain/index.js +3 -0
  60. package/dist/metadata/onchain/index.d.ts +3 -0
  61. package/dist/metadata/onchain/index.d.ts.map +1 -0
  62. package/dist/metadata/onchain/index.js +2 -0
  63. package/dist/metadata/onchain/protobuf/OnchainMetadata.d.ts +69 -0
  64. package/dist/metadata/onchain/protobuf/OnchainMetadata.d.ts.map +1 -0
  65. package/dist/metadata/onchain/protobuf/OnchainMetadata.js +322 -0
  66. package/dist/metadata/onchain/utils.d.ts +4 -0
  67. package/dist/metadata/onchain/utils.d.ts.map +1 -0
  68. package/dist/metadata/onchain/utils.js +12 -0
  69. package/dist/src/cid/index.d.ts +9 -0
  70. package/dist/src/cid/index.d.ts.map +1 -0
  71. package/dist/src/cid/index.js +20 -0
  72. package/dist/src/index.d.ts +4 -0
  73. package/dist/src/index.d.ts.map +1 -0
  74. package/dist/src/index.js +3 -0
  75. package/dist/src/ipld/builders.d.ts +11 -0
  76. package/dist/src/ipld/builders.d.ts.map +1 -0
  77. package/dist/src/ipld/builders.js +13 -0
  78. package/dist/src/ipld/chunker.d.ts +22 -0
  79. package/dist/src/ipld/chunker.d.ts.map +1 -0
  80. package/dist/src/ipld/chunker.js +144 -0
  81. package/dist/src/ipld/index.d.ts +4 -0
  82. package/dist/src/ipld/index.d.ts.map +1 -0
  83. package/dist/src/ipld/index.js +3 -0
  84. package/dist/src/ipld/nodes.d.ts +15 -0
  85. package/dist/src/ipld/nodes.d.ts.map +1 -0
  86. package/dist/src/ipld/nodes.js +89 -0
  87. package/dist/src/ipld/utils.d.ts +5 -0
  88. package/dist/src/ipld/utils.d.ts.map +1 -0
  89. package/dist/src/ipld/utils.js +51 -0
  90. package/dist/src/metadata/index.d.ts +3 -0
  91. package/dist/src/metadata/index.d.ts.map +1 -0
  92. package/dist/src/metadata/index.js +2 -0
  93. package/dist/src/metadata/offchain/base.d.ts +4 -0
  94. package/dist/src/metadata/offchain/base.d.ts.map +1 -0
  95. package/dist/src/metadata/offchain/base.js +1 -0
  96. package/dist/src/metadata/offchain/file.d.ts +16 -0
  97. package/dist/src/metadata/offchain/file.d.ts.map +1 -0
  98. package/dist/src/metadata/offchain/file.js +19 -0
  99. package/dist/src/metadata/offchain/folder.d.ts +17 -0
  100. package/dist/src/metadata/offchain/folder.d.ts.map +1 -0
  101. package/dist/src/metadata/offchain/folder.js +10 -0
  102. package/dist/src/metadata/offchain/index.d.ts +4 -0
  103. package/dist/src/metadata/offchain/index.d.ts.map +1 -0
  104. package/dist/src/metadata/offchain/index.js +3 -0
  105. package/dist/src/metadata/onchain/index.d.ts +3 -0
  106. package/dist/src/metadata/onchain/index.d.ts.map +1 -0
  107. package/dist/src/metadata/onchain/index.js +2 -0
  108. package/dist/src/metadata/onchain/protobuf/OnchainMetadata.d.ts +28 -0
  109. package/dist/src/metadata/onchain/protobuf/OnchainMetadata.d.ts.map +1 -0
  110. package/dist/src/metadata/onchain/protobuf/OnchainMetadata.js +112 -0
  111. package/dist/src/metadata/onchain/utils.d.ts +4 -0
  112. package/dist/src/metadata/onchain/utils.d.ts.map +1 -0
  113. package/dist/src/metadata/onchain/utils.js +12 -0
  114. package/dist/utils/async.d.ts +3 -0
  115. package/dist/utils/async.d.ts.map +1 -0
  116. package/dist/utils/async.js +48 -0
  117. package/dist/utils/index.d.ts +2 -0
  118. package/dist/utils/index.d.ts.map +1 -0
  119. package/dist/utils/index.js +1 -0
  120. package/dist/utils/types.d.ts +2 -0
  121. package/dist/utils/types.d.ts.map +1 -0
  122. package/dist/utils/types.js +1 -0
  123. package/jest.config.ts +17 -0
  124. package/package.json +46 -0
  125. package/src/cid/index.ts +26 -0
  126. package/src/compression/index.ts +84 -0
  127. package/src/compression/types.ts +11 -0
  128. package/src/encryption/index.ts +99 -0
  129. package/src/encryption/types.ts +4 -0
  130. package/src/index.ts +5 -0
  131. package/src/ipld/builders.ts +40 -0
  132. package/src/ipld/chunker.ts +245 -0
  133. package/src/ipld/index.ts +4 -0
  134. package/src/ipld/nodes.ts +208 -0
  135. package/src/ipld/utils.ts +21 -0
  136. package/src/metadata/index.ts +2 -0
  137. package/src/metadata/offchain/base.ts +4 -0
  138. package/src/metadata/offchain/file.ts +41 -0
  139. package/src/metadata/offchain/folder.ts +54 -0
  140. package/src/metadata/offchain/index.ts +3 -0
  141. package/src/metadata/onchain/index.ts +2 -0
  142. package/src/metadata/onchain/protobuf/OnchainMetadata.proto +46 -0
  143. package/src/metadata/onchain/protobuf/OnchainMetadata.ts +397 -0
  144. package/src/metadata/onchain/utils.ts +15 -0
  145. package/src/utils/async.ts +20 -0
  146. package/src/utils/index.ts +1 -0
  147. package/src/utils/types.ts +1 -0
  148. package/tests/chunker.spec.ts +294 -0
  149. package/tests/cid.spec.ts +20 -0
  150. package/tests/compression.spec.ts +58 -0
  151. package/tests/encryption.spec.ts +67 -0
  152. package/tests/nodes.spec.ts +74 -0
  153. package/tsconfig.json +14 -0
@@ -0,0 +1,69 @@
1
+ import { type Codec, type DecodeOptions } from 'protons-runtime';
2
+ import type { Uint8ArrayList } from 'uint8arraylist';
3
+ export interface IPLDNodeData {
4
+ type: MetadataType;
5
+ linkDepth: number;
6
+ size?: number;
7
+ name?: string;
8
+ data?: Uint8Array;
9
+ uploadOptions?: FileUploadOptions;
10
+ }
11
+ export declare namespace IPLDNodeData {
12
+ const codec: () => Codec<IPLDNodeData>;
13
+ const encode: (obj: Partial<IPLDNodeData>) => Uint8Array;
14
+ const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<IPLDNodeData>) => IPLDNodeData;
15
+ }
16
+ export declare enum MetadataType {
17
+ File = "File",
18
+ FileInlink = "FileInlink",
19
+ FileChunk = "FileChunk",
20
+ Folder = "Folder",
21
+ FolderInlink = "FolderInlink",
22
+ Metadata = "Metadata",
23
+ MetadataInlink = "MetadataInlink",
24
+ MetadataChunk = "MetadataChunk"
25
+ }
26
+ export declare namespace MetadataType {
27
+ const codec: () => Codec<MetadataType>;
28
+ }
29
+ export interface FileUploadOptions {
30
+ compression?: CompressionOptions;
31
+ encryption?: EncryptionOptions;
32
+ }
33
+ export declare namespace FileUploadOptions {
34
+ const codec: () => Codec<FileUploadOptions>;
35
+ const encode: (obj: Partial<FileUploadOptions>) => Uint8Array;
36
+ const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<FileUploadOptions>) => FileUploadOptions;
37
+ }
38
+ export interface CompressionOptions {
39
+ algorithm: CompressionAlgorithm;
40
+ level?: number;
41
+ chunkSize?: number;
42
+ }
43
+ export declare namespace CompressionOptions {
44
+ const codec: () => Codec<CompressionOptions>;
45
+ const encode: (obj: Partial<CompressionOptions>) => Uint8Array;
46
+ const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<CompressionOptions>) => CompressionOptions;
47
+ }
48
+ export interface EncryptionOptions {
49
+ algorithm: EncryptionAlgorithm;
50
+ chunkSize?: number;
51
+ }
52
+ export declare namespace EncryptionOptions {
53
+ const codec: () => Codec<EncryptionOptions>;
54
+ const encode: (obj: Partial<EncryptionOptions>) => Uint8Array;
55
+ const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<EncryptionOptions>) => EncryptionOptions;
56
+ }
57
+ export declare enum CompressionAlgorithm {
58
+ ZLIB = "ZLIB"
59
+ }
60
+ export declare namespace CompressionAlgorithm {
61
+ const codec: () => Codec<CompressionAlgorithm>;
62
+ }
63
+ export declare enum EncryptionAlgorithm {
64
+ AES_256_GCM = "AES_256_GCM"
65
+ }
66
+ export declare namespace EncryptionAlgorithm {
67
+ const codec: () => Codec<EncryptionAlgorithm>;
68
+ }
69
+ //# sourceMappingURL=OnchainMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnchainMetadata.d.ts","sourceRoot":"","sources":["../../../../src/metadata/onchain/protobuf/OnchainMetadata.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,aAAa,EAAuC,MAAM,iBAAiB,CAAA;AACpH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAClC;AAED,yBAAiB,YAAY,CAAC;IAGrB,MAAM,KAAK,QAAO,KAAK,CAAC,YAAY,CA0F1C,CAAA;IAEM,MAAM,MAAM,QAAS,OAAO,CAAC,YAAY,CAAC,KAAG,UAEnD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,aAAa,CAAC,YAAY,CAAC,KAAG,YAE7F,CAAA;CACF;AAED,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;CAChC;AAaD,yBAAiB,YAAY,CAAC;IACrB,MAAM,KAAK,QAAO,KAAK,CAAC,YAAY,CAE1C,CAAA;CACF;AACD,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAC/B;AAED,yBAAiB,iBAAiB,CAAC;IAG1B,MAAM,KAAK,QAAO,KAAK,CAAC,iBAAiB,CAqD/C,CAAA;IAEM,MAAM,MAAM,QAAS,OAAO,CAAC,iBAAiB,CAAC,KAAG,UAExD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,aAAa,CAAC,iBAAiB,CAAC,KAAG,iBAElG,CAAA;CACF;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,oBAAoB,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,yBAAiB,kBAAkB,CAAC;IAG3B,MAAM,KAAK,QAAO,KAAK,CAAC,kBAAkB,CA4DhD,CAAA;IAEM,MAAM,MAAM,QAAS,OAAO,CAAC,kBAAkB,CAAC,KAAG,UAEzD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,aAAa,CAAC,kBAAkB,CAAC,KAAG,kBAEnG,CAAA;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,mBAAmB,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,yBAAiB,iBAAiB,CAAC;IAG1B,MAAM,KAAK,QAAO,KAAK,CAAC,iBAAiB,CAmD/C,CAAA;IAEM,MAAM,MAAM,QAAS,OAAO,CAAC,iBAAiB,CAAC,KAAG,UAExD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,aAAa,CAAC,iBAAiB,CAAC,KAAG,iBAElG,CAAA;CACF;AAED,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;CACd;AAMD,yBAAiB,oBAAoB,CAAC;IAC7B,MAAM,KAAK,QAAO,KAAK,CAAC,oBAAoB,CAElD,CAAA;CACF;AACD,oBAAY,mBAAmB;IAC7B,WAAW,gBAAgB;CAC5B;AAMD,yBAAiB,mBAAmB,CAAC;IAC5B,MAAM,KAAK,QAAO,KAAK,CAAC,mBAAmB,CAEjD,CAAA;CACF"}
@@ -0,0 +1,322 @@
1
+ /* eslint-disable import/export */
2
+ /* eslint-disable complexity */
3
+ /* eslint-disable @typescript-eslint/no-namespace */
4
+ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
5
+ /* eslint-disable @typescript-eslint/no-empty-interface */
6
+ import { decodeMessage, encodeMessage, enumeration, message } from 'protons-runtime';
7
+ export var IPLDNodeData;
8
+ (function (IPLDNodeData) {
9
+ let _codec;
10
+ IPLDNodeData.codec = () => {
11
+ if (_codec == null) {
12
+ _codec = message((obj, w, opts = {}) => {
13
+ if (opts.lengthDelimited !== false) {
14
+ w.fork();
15
+ }
16
+ if (obj.type != null && __MetadataTypeValues[obj.type] !== 0) {
17
+ w.uint32(8);
18
+ MetadataType.codec().encode(obj.type, w);
19
+ }
20
+ if ((obj.linkDepth != null && obj.linkDepth !== 0)) {
21
+ w.uint32(16);
22
+ w.int32(obj.linkDepth);
23
+ }
24
+ if (obj.size != null) {
25
+ w.uint32(24);
26
+ w.int32(obj.size);
27
+ }
28
+ if (obj.name != null) {
29
+ w.uint32(34);
30
+ w.string(obj.name);
31
+ }
32
+ if (obj.data != null) {
33
+ w.uint32(42);
34
+ w.bytes(obj.data);
35
+ }
36
+ if (obj.uploadOptions != null) {
37
+ w.uint32(50);
38
+ FileUploadOptions.codec().encode(obj.uploadOptions, w);
39
+ }
40
+ if (opts.lengthDelimited !== false) {
41
+ w.ldelim();
42
+ }
43
+ }, (reader, length, opts = {}) => {
44
+ var _a;
45
+ const obj = {
46
+ type: MetadataType.File,
47
+ linkDepth: 0
48
+ };
49
+ const end = length == null ? reader.len : reader.pos + length;
50
+ while (reader.pos < end) {
51
+ const tag = reader.uint32();
52
+ switch (tag >>> 3) {
53
+ case 1: {
54
+ obj.type = MetadataType.codec().decode(reader);
55
+ break;
56
+ }
57
+ case 2: {
58
+ obj.linkDepth = reader.int32();
59
+ break;
60
+ }
61
+ case 3: {
62
+ obj.size = reader.int32();
63
+ break;
64
+ }
65
+ case 4: {
66
+ obj.name = reader.string();
67
+ break;
68
+ }
69
+ case 5: {
70
+ obj.data = reader.bytes();
71
+ break;
72
+ }
73
+ case 6: {
74
+ obj.uploadOptions = FileUploadOptions.codec().decode(reader, reader.uint32(), {
75
+ limits: (_a = opts.limits) === null || _a === void 0 ? void 0 : _a.uploadOptions
76
+ });
77
+ break;
78
+ }
79
+ default: {
80
+ reader.skipType(tag & 7);
81
+ break;
82
+ }
83
+ }
84
+ }
85
+ return obj;
86
+ });
87
+ }
88
+ return _codec;
89
+ };
90
+ IPLDNodeData.encode = (obj) => {
91
+ return encodeMessage(obj, IPLDNodeData.codec());
92
+ };
93
+ IPLDNodeData.decode = (buf, opts) => {
94
+ return decodeMessage(buf, IPLDNodeData.codec(), opts);
95
+ };
96
+ })(IPLDNodeData || (IPLDNodeData = {}));
97
+ export var MetadataType;
98
+ (function (MetadataType) {
99
+ MetadataType["File"] = "File";
100
+ MetadataType["FileInlink"] = "FileInlink";
101
+ MetadataType["FileChunk"] = "FileChunk";
102
+ MetadataType["Folder"] = "Folder";
103
+ MetadataType["FolderInlink"] = "FolderInlink";
104
+ MetadataType["Metadata"] = "Metadata";
105
+ MetadataType["MetadataInlink"] = "MetadataInlink";
106
+ MetadataType["MetadataChunk"] = "MetadataChunk";
107
+ })(MetadataType || (MetadataType = {}));
108
+ var __MetadataTypeValues;
109
+ (function (__MetadataTypeValues) {
110
+ __MetadataTypeValues[__MetadataTypeValues["File"] = 0] = "File";
111
+ __MetadataTypeValues[__MetadataTypeValues["FileInlink"] = 1] = "FileInlink";
112
+ __MetadataTypeValues[__MetadataTypeValues["FileChunk"] = 2] = "FileChunk";
113
+ __MetadataTypeValues[__MetadataTypeValues["Folder"] = 3] = "Folder";
114
+ __MetadataTypeValues[__MetadataTypeValues["FolderInlink"] = 4] = "FolderInlink";
115
+ __MetadataTypeValues[__MetadataTypeValues["Metadata"] = 5] = "Metadata";
116
+ __MetadataTypeValues[__MetadataTypeValues["MetadataInlink"] = 6] = "MetadataInlink";
117
+ __MetadataTypeValues[__MetadataTypeValues["MetadataChunk"] = 7] = "MetadataChunk";
118
+ })(__MetadataTypeValues || (__MetadataTypeValues = {}));
119
+ (function (MetadataType) {
120
+ MetadataType.codec = () => {
121
+ return enumeration(__MetadataTypeValues);
122
+ };
123
+ })(MetadataType || (MetadataType = {}));
124
+ export var FileUploadOptions;
125
+ (function (FileUploadOptions) {
126
+ let _codec;
127
+ FileUploadOptions.codec = () => {
128
+ if (_codec == null) {
129
+ _codec = message((obj, w, opts = {}) => {
130
+ if (opts.lengthDelimited !== false) {
131
+ w.fork();
132
+ }
133
+ if (obj.compression != null) {
134
+ w.uint32(10);
135
+ CompressionOptions.codec().encode(obj.compression, w);
136
+ }
137
+ if (obj.encryption != null) {
138
+ w.uint32(18);
139
+ EncryptionOptions.codec().encode(obj.encryption, w);
140
+ }
141
+ if (opts.lengthDelimited !== false) {
142
+ w.ldelim();
143
+ }
144
+ }, (reader, length, opts = {}) => {
145
+ var _a, _b;
146
+ const obj = {};
147
+ const end = length == null ? reader.len : reader.pos + length;
148
+ while (reader.pos < end) {
149
+ const tag = reader.uint32();
150
+ switch (tag >>> 3) {
151
+ case 1: {
152
+ obj.compression = CompressionOptions.codec().decode(reader, reader.uint32(), {
153
+ limits: (_a = opts.limits) === null || _a === void 0 ? void 0 : _a.compression
154
+ });
155
+ break;
156
+ }
157
+ case 2: {
158
+ obj.encryption = EncryptionOptions.codec().decode(reader, reader.uint32(), {
159
+ limits: (_b = opts.limits) === null || _b === void 0 ? void 0 : _b.encryption
160
+ });
161
+ break;
162
+ }
163
+ default: {
164
+ reader.skipType(tag & 7);
165
+ break;
166
+ }
167
+ }
168
+ }
169
+ return obj;
170
+ });
171
+ }
172
+ return _codec;
173
+ };
174
+ FileUploadOptions.encode = (obj) => {
175
+ return encodeMessage(obj, FileUploadOptions.codec());
176
+ };
177
+ FileUploadOptions.decode = (buf, opts) => {
178
+ return decodeMessage(buf, FileUploadOptions.codec(), opts);
179
+ };
180
+ })(FileUploadOptions || (FileUploadOptions = {}));
181
+ export var CompressionOptions;
182
+ (function (CompressionOptions) {
183
+ let _codec;
184
+ CompressionOptions.codec = () => {
185
+ if (_codec == null) {
186
+ _codec = message((obj, w, opts = {}) => {
187
+ if (opts.lengthDelimited !== false) {
188
+ w.fork();
189
+ }
190
+ if (obj.algorithm != null && __CompressionAlgorithmValues[obj.algorithm] !== 0) {
191
+ w.uint32(8);
192
+ CompressionAlgorithm.codec().encode(obj.algorithm, w);
193
+ }
194
+ if (obj.level != null) {
195
+ w.uint32(16);
196
+ w.int32(obj.level);
197
+ }
198
+ if (obj.chunkSize != null) {
199
+ w.uint32(24);
200
+ w.int32(obj.chunkSize);
201
+ }
202
+ if (opts.lengthDelimited !== false) {
203
+ w.ldelim();
204
+ }
205
+ }, (reader, length, opts = {}) => {
206
+ const obj = {
207
+ algorithm: CompressionAlgorithm.ZLIB
208
+ };
209
+ const end = length == null ? reader.len : reader.pos + length;
210
+ while (reader.pos < end) {
211
+ const tag = reader.uint32();
212
+ switch (tag >>> 3) {
213
+ case 1: {
214
+ obj.algorithm = CompressionAlgorithm.codec().decode(reader);
215
+ break;
216
+ }
217
+ case 2: {
218
+ obj.level = reader.int32();
219
+ break;
220
+ }
221
+ case 3: {
222
+ obj.chunkSize = reader.int32();
223
+ break;
224
+ }
225
+ default: {
226
+ reader.skipType(tag & 7);
227
+ break;
228
+ }
229
+ }
230
+ }
231
+ return obj;
232
+ });
233
+ }
234
+ return _codec;
235
+ };
236
+ CompressionOptions.encode = (obj) => {
237
+ return encodeMessage(obj, CompressionOptions.codec());
238
+ };
239
+ CompressionOptions.decode = (buf, opts) => {
240
+ return decodeMessage(buf, CompressionOptions.codec(), opts);
241
+ };
242
+ })(CompressionOptions || (CompressionOptions = {}));
243
+ export var EncryptionOptions;
244
+ (function (EncryptionOptions) {
245
+ let _codec;
246
+ EncryptionOptions.codec = () => {
247
+ if (_codec == null) {
248
+ _codec = message((obj, w, opts = {}) => {
249
+ if (opts.lengthDelimited !== false) {
250
+ w.fork();
251
+ }
252
+ if (obj.algorithm != null && __EncryptionAlgorithmValues[obj.algorithm] !== 0) {
253
+ w.uint32(8);
254
+ EncryptionAlgorithm.codec().encode(obj.algorithm, w);
255
+ }
256
+ if (obj.chunkSize != null) {
257
+ w.uint32(16);
258
+ w.int32(obj.chunkSize);
259
+ }
260
+ if (opts.lengthDelimited !== false) {
261
+ w.ldelim();
262
+ }
263
+ }, (reader, length, opts = {}) => {
264
+ const obj = {
265
+ algorithm: EncryptionAlgorithm.AES_256_GCM
266
+ };
267
+ const end = length == null ? reader.len : reader.pos + length;
268
+ while (reader.pos < end) {
269
+ const tag = reader.uint32();
270
+ switch (tag >>> 3) {
271
+ case 1: {
272
+ obj.algorithm = EncryptionAlgorithm.codec().decode(reader);
273
+ break;
274
+ }
275
+ case 2: {
276
+ obj.chunkSize = reader.int32();
277
+ break;
278
+ }
279
+ default: {
280
+ reader.skipType(tag & 7);
281
+ break;
282
+ }
283
+ }
284
+ }
285
+ return obj;
286
+ });
287
+ }
288
+ return _codec;
289
+ };
290
+ EncryptionOptions.encode = (obj) => {
291
+ return encodeMessage(obj, EncryptionOptions.codec());
292
+ };
293
+ EncryptionOptions.decode = (buf, opts) => {
294
+ return decodeMessage(buf, EncryptionOptions.codec(), opts);
295
+ };
296
+ })(EncryptionOptions || (EncryptionOptions = {}));
297
+ export var CompressionAlgorithm;
298
+ (function (CompressionAlgorithm) {
299
+ CompressionAlgorithm["ZLIB"] = "ZLIB";
300
+ })(CompressionAlgorithm || (CompressionAlgorithm = {}));
301
+ var __CompressionAlgorithmValues;
302
+ (function (__CompressionAlgorithmValues) {
303
+ __CompressionAlgorithmValues[__CompressionAlgorithmValues["ZLIB"] = 0] = "ZLIB";
304
+ })(__CompressionAlgorithmValues || (__CompressionAlgorithmValues = {}));
305
+ (function (CompressionAlgorithm) {
306
+ CompressionAlgorithm.codec = () => {
307
+ return enumeration(__CompressionAlgorithmValues);
308
+ };
309
+ })(CompressionAlgorithm || (CompressionAlgorithm = {}));
310
+ export var EncryptionAlgorithm;
311
+ (function (EncryptionAlgorithm) {
312
+ EncryptionAlgorithm["AES_256_GCM"] = "AES_256_GCM";
313
+ })(EncryptionAlgorithm || (EncryptionAlgorithm = {}));
314
+ var __EncryptionAlgorithmValues;
315
+ (function (__EncryptionAlgorithmValues) {
316
+ __EncryptionAlgorithmValues[__EncryptionAlgorithmValues["AES_256_GCM"] = 0] = "AES_256_GCM";
317
+ })(__EncryptionAlgorithmValues || (__EncryptionAlgorithmValues = {}));
318
+ (function (EncryptionAlgorithm) {
319
+ EncryptionAlgorithm.codec = () => {
320
+ return enumeration(__EncryptionAlgorithmValues);
321
+ };
322
+ })(EncryptionAlgorithm || (EncryptionAlgorithm = {}));
@@ -0,0 +1,4 @@
1
+ import { IPLDNodeData } from './index.js';
2
+ export declare const encodeIPLDNodeData: (metadata: IPLDNodeData) => Uint8Array;
3
+ export declare const decodeIPLDNodeData: (data: Uint8Array) => IPLDNodeData;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/metadata/onchain/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,eAAO,MAAM,kBAAkB,aAAc,YAAY,KAAG,UAE3D,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAU,UAAU,KAAG,YAOrD,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { decodeNode } from '../../ipld/index.js';
2
+ import { IPLDNodeData } from './index.js';
3
+ export const encodeIPLDNodeData = (metadata) => {
4
+ return IPLDNodeData.encode(metadata);
5
+ };
6
+ export const decodeIPLDNodeData = (data) => {
7
+ const decoded = decodeNode(data);
8
+ if (!decoded.Data) {
9
+ throw new Error('Invalid data');
10
+ }
11
+ return IPLDNodeData.decode(decoded.Data);
12
+ };
@@ -0,0 +1,9 @@
1
+ import { PBNode } from '@ipld/dag-pb';
2
+ import { CID } from 'multiformats/cid';
3
+ export declare const BLAKE3_CODE = 31;
4
+ export declare const cidOfNode: (node: PBNode) => CID<unknown, 85, 31, 1>;
5
+ export declare const cidToString: (cid: CID) => string;
6
+ export declare const stringToCid: (str: string) => CID<unknown, number, number, import("multiformats/cid").Version>;
7
+ export declare const cidFromBlakeHash: (hash: Buffer) => CID<unknown, 85, 31, 1>;
8
+ export declare const blake3HashFromCid: (cid: CID) => Uint8Array;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAKtC,eAAO,MAAM,WAAW,KAAO,CAAA;AAE/B,eAAO,MAAM,SAAS,SAAU,MAAM,4BAErC,CAAA;AAED,eAAO,MAAM,WAAW,QAAS,GAAG,WAEnC,CAAA;AAED,eAAO,MAAM,WAAW,QAAS,MAAM,qEAEtC,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,MAAM,4BAE5C,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAS,GAAG,eAAyB,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { encode } from '@ipld/dag-pb';
2
+ import { hash } from 'blake3';
3
+ import { CID } from 'multiformats/cid';
4
+ import * as base32 from 'multiformats/bases/base32';
5
+ import * as raw from 'multiformats/codecs/raw';
6
+ import { create } from 'multiformats/hashes/digest';
7
+ export const BLAKE3_CODE = 0x1f;
8
+ export const cidOfNode = (node) => {
9
+ return cidFromBlakeHash(hash(encode(node)));
10
+ };
11
+ export const cidToString = (cid) => {
12
+ return cid.toString(base32.base32);
13
+ };
14
+ export const stringToCid = (str) => {
15
+ return CID.parse(str, base32.base32);
16
+ };
17
+ export const cidFromBlakeHash = (hash) => {
18
+ return CID.create(1, raw.code, create(BLAKE3_CODE, hash));
19
+ };
20
+ export const blake3HashFromCid = (cid) => cid.multihash.digest;
@@ -0,0 +1,4 @@
1
+ export * from './cid/index.js';
2
+ export * from './ipld/index.js';
3
+ export * from './metadata/index.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './cid/index.js';
2
+ export * from './ipld/index.js';
3
+ export * from './metadata/index.js';
@@ -0,0 +1,11 @@
1
+ import { PBNode } from '@ipld/dag-pb';
2
+ import { CID } from 'multiformats/cid';
3
+ export interface Builders {
4
+ inlink: (links: CID[], size: number, linkDepth: number, chunkSize: number) => PBNode;
5
+ chunk: (data: Buffer) => PBNode;
6
+ root: (links: CID[], size: number, linkDepth: number, name?: string, maxNodeSize?: number) => PBNode;
7
+ single: (data: Buffer, filename?: string) => PBNode;
8
+ }
9
+ export declare const metadataBuilders: Builders;
10
+ export declare const fileBuilders: Builders;
11
+ //# sourceMappingURL=builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/ipld/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAYtC,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;IACpF,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC/B,IAAI,EAAE,CACJ,KAAK,EAAE,GAAG,EAAE,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,KACjB,MAAM,CAAA;IACX,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CACpD;AACD,eAAO,MAAM,gBAAgB,EAAE,QAK9B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,QAK1B,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { createChunkedFileIpldNode, createChunkedMetadataIpldNode, createFileChunkIpldNode, createFileInlinkIpldNode, createMetadataChunkIpldNode, createMetadataInlinkIpldNode, createSingleFileIpldNode, createSingleMetadataIpldNode, } from './nodes.js';
2
+ export const metadataBuilders = {
3
+ inlink: createMetadataInlinkIpldNode,
4
+ chunk: createMetadataChunkIpldNode,
5
+ root: createChunkedMetadataIpldNode,
6
+ single: createSingleMetadataIpldNode,
7
+ };
8
+ export const fileBuilders = {
9
+ inlink: createFileInlinkIpldNode,
10
+ chunk: createFileChunkIpldNode,
11
+ root: createChunkedFileIpldNode,
12
+ single: createSingleFileIpldNode,
13
+ };
@@ -0,0 +1,22 @@
1
+ import { PBNode } from '@ipld/dag-pb';
2
+ import { CID } from 'multiformats';
3
+ import { OffchainMetadata } from '../metadata/index.js';
4
+ export declare const DEFAULT_MAX_CHUNK_SIZE: number;
5
+ export declare const DEFAULT_MAX_LINK_PER_NODE: number;
6
+ export interface IPLDDag {
7
+ headCID: CID;
8
+ nodes: Map<CID, PBNode>;
9
+ }
10
+ export declare const createFileIPLDDag: (file: AsyncIterable<Buffer>, filename?: string, { chunkSize, maxLinkPerNode }?: {
11
+ chunkSize: number;
12
+ maxLinkPerNode: number;
13
+ }) => Promise<IPLDDag>;
14
+ export declare const createMetadataIPLDDag: (metadata: OffchainMetadata, limits?: {
15
+ chunkSize: number;
16
+ maxLinkPerNode: number;
17
+ }) => Promise<IPLDDag>;
18
+ export declare const createFolderIPLDDag: (children: CID[], name: string, size: number, { maxLinkPerNode }?: {
19
+ maxLinkPerNode: number;
20
+ }) => IPLDDag;
21
+ export declare const ensureNodeMaxSize: (node: PBNode, maxSize?: number) => PBNode;
22
+ //# sourceMappingURL=chunker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/ipld/chunker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,EAAgB,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAKrE,eAAO,MAAM,sBAAsB,QAAY,CAAA;AAC/C,eAAO,MAAM,yBAAyB,QAA8B,CAAA;AAEpE,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,GAAG,CAAA;IACZ,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;CACxB;AAED,eAAO,MAAM,iBAAiB,SACtB,aAAa,CAAC,MAAM,CAAC,aAChB,MAAM,kCACc;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,KAI3E,OAAO,CAAC,OAAO,CAEjB,CAAA;AAED,eAAO,MAAM,qBAAqB,aACtB,gBAAgB,WAClB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,KAIpD,OAAO,CAAC,OAAO,CAWjB,CAAA;AA6DD,eAAO,MAAM,mBAAmB,aACpB,GAAG,EAAE,QACT,MAAM,QACN,MAAM,uBACQ;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,KAC7C,OAyBF,CAAA;AAED,eAAO,MAAM,iBAAiB,SACtB,MAAM,YACH,MAAM,KACd,MAOF,CAAA"}