@ethersphere/bee-js 8.3.1 → 9.0.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 (224) hide show
  1. package/README.md +192 -50
  2. package/dist/cjs/bee-dev.js +78 -0
  3. package/dist/cjs/bee.js +341 -417
  4. package/dist/cjs/chunk/bmt.js +15 -32
  5. package/dist/cjs/chunk/cac.js +26 -36
  6. package/dist/cjs/chunk/soc.js +56 -51
  7. package/dist/cjs/feed/identifier.js +3 -28
  8. package/dist/cjs/feed/index.js +95 -44
  9. package/dist/cjs/feed/retrievable.js +11 -22
  10. package/dist/cjs/index.js +17 -1
  11. package/dist/cjs/manifest/manifest.js +369 -0
  12. package/dist/cjs/modules/bytes.js +24 -12
  13. package/dist/cjs/modules/bzz.js +24 -34
  14. package/dist/cjs/modules/chunk.js +13 -7
  15. package/dist/cjs/modules/debug/balance.js +29 -4
  16. package/dist/cjs/modules/debug/chequebook.js +60 -16
  17. package/dist/cjs/modules/debug/connectivity.js +82 -4
  18. package/dist/cjs/modules/debug/settlements.js +22 -2
  19. package/dist/cjs/modules/debug/stake.js +29 -11
  20. package/dist/cjs/modules/debug/stamps.js +88 -7
  21. package/dist/cjs/modules/debug/states.js +25 -3
  22. package/dist/cjs/modules/debug/status.js +45 -47
  23. package/dist/cjs/modules/debug/transactions.js +27 -5
  24. package/dist/cjs/modules/envelope.js +8 -6
  25. package/dist/cjs/modules/feed.js +25 -10
  26. package/dist/cjs/modules/grantee.js +18 -12
  27. package/dist/cjs/modules/gsoc.js +24 -0
  28. package/dist/cjs/modules/pinning.js +13 -2
  29. package/dist/cjs/modules/pss.js +9 -3
  30. package/dist/cjs/modules/soc.js +9 -4
  31. package/dist/cjs/modules/stewardship.js +7 -3
  32. package/dist/cjs/modules/tag.js +35 -3
  33. package/dist/cjs/package.json +1 -0
  34. package/dist/cjs/stamper/stamper.js +43 -0
  35. package/dist/cjs/types/debug.js +16 -1
  36. package/dist/cjs/types/index.js +2 -24
  37. package/dist/cjs/utils/bytes.js +67 -115
  38. package/dist/cjs/utils/chunk-size.js +17 -0
  39. package/dist/cjs/utils/chunk-stream.browser.js +85 -0
  40. package/dist/cjs/utils/chunk-stream.js +84 -0
  41. package/dist/cjs/utils/cid.js +5 -6
  42. package/dist/cjs/utils/collection.browser.js +2 -2
  43. package/dist/cjs/utils/collection.js +3 -2
  44. package/dist/cjs/utils/collection.node.js +0 -2
  45. package/dist/cjs/utils/constants.js +7 -3
  46. package/dist/cjs/utils/data.browser.js +6 -3
  47. package/dist/cjs/utils/data.js +8 -4
  48. package/dist/cjs/utils/duration.js +51 -0
  49. package/dist/cjs/utils/expose.js +11 -40
  50. package/dist/cjs/utils/headers.js +79 -52
  51. package/dist/cjs/utils/http.js +34 -10
  52. package/dist/cjs/utils/mime.js +78 -0
  53. package/dist/cjs/utils/pss.js +3 -4
  54. package/dist/cjs/utils/redundancy.js +18 -14
  55. package/dist/cjs/utils/resource-locator.js +17 -0
  56. package/dist/cjs/utils/size.js +35 -0
  57. package/dist/cjs/utils/stamps.js +67 -51
  58. package/dist/cjs/utils/tar-uploader.browser.js +2 -2
  59. package/dist/cjs/utils/tar-uploader.js +2 -2
  60. package/dist/cjs/utils/tokens.js +144 -0
  61. package/dist/cjs/utils/type.js +142 -350
  62. package/dist/cjs/utils/typed-bytes.js +179 -0
  63. package/dist/cjs/utils/upload-progress.js +2 -0
  64. package/dist/cjs/utils/url.js +0 -4
  65. package/dist/cjs/utils/workaround.js +27 -0
  66. package/dist/index.browser.min.js +1 -2
  67. package/dist/index.browser.min.js.map +1 -1
  68. package/dist/mjs/bee-dev.js +98 -0
  69. package/dist/mjs/bee.js +367 -411
  70. package/dist/mjs/chunk/bmt.js +13 -29
  71. package/dist/mjs/chunk/cac.js +26 -34
  72. package/dist/mjs/chunk/soc.js +57 -53
  73. package/dist/mjs/feed/identifier.js +3 -26
  74. package/dist/mjs/feed/index.js +98 -51
  75. package/dist/mjs/feed/retrievable.js +12 -23
  76. package/dist/mjs/index.js +10 -1
  77. package/dist/mjs/manifest/manifest.js +371 -0
  78. package/dist/mjs/modules/bytes.js +27 -15
  79. package/dist/mjs/modules/bzz.js +25 -32
  80. package/dist/mjs/modules/chunk.js +16 -8
  81. package/dist/mjs/modules/debug/balance.js +61 -4
  82. package/dist/mjs/modules/debug/chequebook.js +116 -16
  83. package/dist/mjs/modules/debug/connectivity.js +144 -3
  84. package/dist/mjs/modules/debug/settlements.js +46 -2
  85. package/dist/mjs/modules/debug/stake.js +69 -11
  86. package/dist/mjs/modules/debug/stamps.js +184 -7
  87. package/dist/mjs/modules/debug/states.js +55 -3
  88. package/dist/mjs/modules/debug/status.js +97 -45
  89. package/dist/mjs/modules/debug/transactions.js +61 -5
  90. package/dist/mjs/modules/envelope.js +11 -9
  91. package/dist/mjs/modules/feed.js +26 -10
  92. package/dist/mjs/modules/grantee.js +35 -13
  93. package/dist/mjs/modules/gsoc.js +16 -0
  94. package/dist/mjs/modules/pinning.js +23 -2
  95. package/dist/mjs/modules/pss.js +10 -4
  96. package/dist/mjs/modules/soc.js +10 -5
  97. package/dist/mjs/modules/stewardship.js +14 -4
  98. package/dist/mjs/modules/tag.js +93 -3
  99. package/dist/mjs/package.json +2 -1
  100. package/dist/mjs/stamper/stamper.js +39 -0
  101. package/dist/mjs/types/debug.js +15 -1
  102. package/dist/mjs/types/index.js +2 -24
  103. package/dist/mjs/utils/bytes.js +63 -104
  104. package/dist/mjs/utils/chunk-size.js +13 -0
  105. package/dist/mjs/utils/chunk-stream.browser.js +85 -0
  106. package/dist/mjs/utils/chunk-stream.js +87 -0
  107. package/dist/mjs/utils/cid.js +5 -6
  108. package/dist/mjs/utils/collection.browser.js +2 -2
  109. package/dist/mjs/utils/collection.js +2 -2
  110. package/dist/mjs/utils/collection.node.js +0 -2
  111. package/dist/mjs/utils/constants.js +6 -2
  112. package/dist/mjs/utils/data.browser.js +9 -3
  113. package/dist/mjs/utils/data.js +12 -4
  114. package/dist/mjs/utils/duration.js +47 -0
  115. package/dist/mjs/utils/expose.js +2 -7
  116. package/dist/mjs/utils/headers.js +73 -48
  117. package/dist/mjs/utils/http.js +33 -11
  118. package/dist/mjs/utils/mime.js +75 -0
  119. package/dist/mjs/utils/pss.js +3 -4
  120. package/dist/mjs/utils/redundancy.js +18 -8
  121. package/dist/mjs/utils/resource-locator.js +13 -0
  122. package/dist/mjs/utils/size.js +31 -0
  123. package/dist/mjs/utils/stamps.js +47 -44
  124. package/dist/mjs/utils/tar-uploader.browser.js +2 -2
  125. package/dist/mjs/utils/tar-uploader.js +2 -2
  126. package/dist/mjs/utils/tokens.js +139 -0
  127. package/dist/mjs/utils/type.js +216 -310
  128. package/dist/mjs/utils/typed-bytes.js +160 -0
  129. package/dist/mjs/utils/upload-progress.js +1 -0
  130. package/dist/mjs/utils/url.js +0 -4
  131. package/dist/mjs/utils/workaround.js +22 -0
  132. package/dist/types/bee-dev.d.ts +5 -0
  133. package/dist/types/bee.d.ts +88 -165
  134. package/dist/types/chunk/bmt.d.ts +2 -2
  135. package/dist/types/chunk/cac.d.ts +7 -24
  136. package/dist/types/chunk/soc.d.ts +15 -15
  137. package/dist/types/feed/identifier.d.ts +2 -4
  138. package/dist/types/feed/index.d.ts +14 -18
  139. package/dist/types/feed/retrievable.d.ts +3 -4
  140. package/dist/types/index.d.ts +28 -1
  141. package/dist/types/manifest/manifest.d.ts +106 -0
  142. package/dist/types/modules/bytes.d.ts +8 -5
  143. package/dist/types/modules/bzz.d.ts +8 -10
  144. package/dist/types/modules/chunk.d.ts +4 -3
  145. package/dist/types/modules/debug/balance.d.ts +3 -2
  146. package/dist/types/modules/debug/chequebook.d.ts +7 -6
  147. package/dist/types/modules/debug/connectivity.d.ts +5 -3
  148. package/dist/types/modules/debug/settlements.d.ts +2 -1
  149. package/dist/types/modules/debug/stake.d.ts +4 -2
  150. package/dist/types/modules/debug/stamps.d.ts +5 -4
  151. package/dist/types/modules/debug/status.d.ts +6 -25
  152. package/dist/types/modules/debug/transactions.d.ts +5 -4
  153. package/dist/types/modules/envelope.d.ts +3 -2
  154. package/dist/types/modules/feed.d.ts +20 -16
  155. package/dist/types/modules/grantee.d.ts +7 -6
  156. package/dist/types/modules/gsoc.d.ts +7 -0
  157. package/dist/types/modules/pinning.d.ts +2 -4
  158. package/dist/types/modules/pss.d.ts +4 -3
  159. package/dist/types/modules/soc.d.ts +3 -2
  160. package/dist/types/modules/stewardship.d.ts +4 -4
  161. package/dist/types/modules/tag.d.ts +2 -1
  162. package/dist/types/stamper/stamper.d.ts +15 -0
  163. package/dist/types/types/debug.d.ts +63 -115
  164. package/dist/types/types/index.d.ts +103 -204
  165. package/dist/types/utils/bytes.d.ts +16 -90
  166. package/dist/types/utils/chunk-size.d.ts +1 -0
  167. package/dist/types/utils/chunk-stream.browser.d.ts +6 -0
  168. package/dist/types/utils/chunk-stream.d.ts +6 -0
  169. package/dist/types/utils/cid.d.ts +3 -2
  170. package/dist/types/utils/collection.browser.d.ts +2 -2
  171. package/dist/types/utils/collection.d.ts +2 -1
  172. package/dist/types/utils/collection.node.d.ts +0 -1
  173. package/dist/types/utils/constants.d.ts +4 -1
  174. package/dist/types/utils/duration.d.ts +17 -0
  175. package/dist/types/utils/error.d.ts +2 -2
  176. package/dist/types/utils/expose.d.ts +2 -7
  177. package/dist/types/utils/headers.d.ts +3 -4
  178. package/dist/types/utils/mime.d.ts +1 -0
  179. package/dist/types/utils/pss.d.ts +2 -2
  180. package/dist/types/utils/resource-locator.d.ts +6 -0
  181. package/dist/types/utils/size.d.ts +16 -0
  182. package/dist/types/utils/stamps.d.ts +27 -33
  183. package/dist/types/utils/tar-uploader.browser.d.ts +3 -4
  184. package/dist/types/utils/tar-uploader.d.ts +3 -4
  185. package/dist/types/utils/tokens.d.ts +77 -0
  186. package/dist/types/utils/type.d.ts +20 -52
  187. package/dist/types/utils/typed-bytes.d.ts +68 -0
  188. package/dist/types/utils/upload-progress.d.ts +4 -0
  189. package/dist/types/utils/workaround.d.ts +2 -0
  190. package/package.json +11 -17
  191. package/dist/cjs/chunk/signer.js +0 -126
  192. package/dist/cjs/chunk/span.js +0 -25
  193. package/dist/cjs/feed/json.js +0 -28
  194. package/dist/cjs/feed/topic.js +0 -25
  195. package/dist/cjs/feed/type.js +0 -15
  196. package/dist/cjs/modules/debug/chunk.js +0 -21
  197. package/dist/cjs/modules/debug/tag.js +0 -19
  198. package/dist/cjs/utils/eth.js +0 -216
  199. package/dist/cjs/utils/hash.js +0 -21
  200. package/dist/cjs/utils/hex.js +0 -150
  201. package/dist/cjs/utils/reference.js +0 -36
  202. package/dist/index.browser.min.js.LICENSE.txt +0 -8
  203. package/dist/mjs/chunk/signer.js +0 -114
  204. package/dist/mjs/chunk/span.js +0 -21
  205. package/dist/mjs/feed/json.js +0 -26
  206. package/dist/mjs/feed/topic.js +0 -19
  207. package/dist/mjs/feed/type.js +0 -10
  208. package/dist/mjs/modules/debug/chunk.js +0 -17
  209. package/dist/mjs/modules/debug/tag.js +0 -15
  210. package/dist/mjs/utils/eth.js +0 -192
  211. package/dist/mjs/utils/hash.js +0 -16
  212. package/dist/mjs/utils/hex.js +0 -135
  213. package/dist/mjs/utils/reference.js +0 -29
  214. package/dist/types/chunk/signer.d.ts +0 -31
  215. package/dist/types/chunk/span.d.ts +0 -10
  216. package/dist/types/feed/json.d.ts +0 -4
  217. package/dist/types/feed/topic.d.ts +0 -3
  218. package/dist/types/feed/type.d.ts +0 -6
  219. package/dist/types/modules/debug/chunk.d.ts +0 -10
  220. package/dist/types/modules/debug/tag.d.ts +0 -8
  221. package/dist/types/utils/eth.d.ts +0 -67
  222. package/dist/types/utils/hash.d.ts +0 -9
  223. package/dist/types/utils/hex.d.ts +0 -86
  224. package/dist/types/utils/reference.d.ts +0 -2
@@ -1,10 +0,0 @@
1
- import { Bytes } from '../utils/bytes';
2
- export declare const SPAN_SIZE = 8;
3
- /**
4
- * Create a span for storing the length of the chunk
5
- *
6
- * The length is encoded in 64-bit little endian.
7
- *
8
- * @param length The length of the span
9
- */
10
- export declare function makeSpan(length: number): Bytes<8>;
@@ -1,4 +0,0 @@
1
- import { Bee } from '../bee';
2
- import { AnyJson, BatchId, BeeRequestOptions, FeedReader, FeedWriter, JsonFeedOptions, UploadOptions, UploadResult } from '../types';
3
- export declare function getJsonData<T extends AnyJson>(bee: Bee, reader: FeedReader): Promise<T>;
4
- export declare function setJsonData(bee: Bee, writer: FeedWriter, postageBatchId: BatchId, data: AnyJson, options?: JsonFeedOptions & UploadOptions, requestOptions?: BeeRequestOptions): Promise<UploadResult>;
@@ -1,3 +0,0 @@
1
- import { Topic } from '../types';
2
- export declare function makeTopic(topic: Uint8Array | string): Topic;
3
- export declare function makeTopicFromString(s: string): Topic;
@@ -1,6 +0,0 @@
1
- declare const feedTypes: readonly ["sequence", "epoch"];
2
- export type FeedType = typeof feedTypes[number];
3
- export declare const DEFAULT_FEED_TYPE: FeedType;
4
- export declare function isFeedType(type: unknown): type is FeedType;
5
- export declare function assertFeedType(type: unknown): asserts type is FeedType;
6
- export {};
@@ -1,10 +0,0 @@
1
- import type { BeeGenericResponse, BeeRequestOptions } from '../../types';
2
- /**
3
- * Check if chunk at address exists locally
4
- *
5
- * @param requestOptions Options for making requests
6
- * @param address Swarm address of chunk
7
- *
8
- * @returns BeeGenericResponse if chunk is found or throws an exception
9
- */
10
- export declare function checkIfChunkExistsLocally(requestOptions: BeeRequestOptions, address: string): Promise<BeeGenericResponse>;
@@ -1,8 +0,0 @@
1
- import { BeeRequestOptions, ExtendedTag } from '../../types';
2
- /**
3
- * Retrieve tag with extended information from Bee node
4
- *
5
- * @param requestOptions Options for making requests
6
- * @param uid UID of tag to be retrieved
7
- */
8
- export declare function retrieveExtendedTag(requestOptions: BeeRequestOptions, uid: number): Promise<ExtendedTag>;
@@ -1,67 +0,0 @@
1
- import { BrandedString, Signer } from '../types';
2
- import { Bytes } from './bytes';
3
- import { HexString } from './hex';
4
- export type OverlayAddress = BrandedString<'OverlayAddress'>;
5
- export type EthAddress = Bytes<20>;
6
- export type HexEthAddress = HexString<40>;
7
- export declare function capitalizeAddressERC55(address: string): string;
8
- export declare function makeEthAddress(address: EthAddress | Uint8Array | string | unknown): EthAddress;
9
- export declare function makeHexEthAddress(address: EthAddress | Uint8Array | string | unknown): HexEthAddress;
10
- /**
11
- * Check if is valid ethereum address
12
- *
13
- * Pretty much typed version from web3js
14
- * https://github.com/ChainSafe/web3.js/blob/1.x/packages/web3-utils/src/utils.js
15
- *
16
- * @param address Ethereum address as hex string
17
- *
18
- * @return True if is valid eth address
19
- */
20
- export declare function isHexEthAddress(address: string | HexString | HexEthAddress): address is HexEthAddress;
21
- /**
22
- * Convert big-endian hex or number to little-endian.
23
- * Note: Before conversion it is automatically padded to even length hexstring
24
- *
25
- * @param bigEndian Big-endian hex string or number to convert
26
- * @param pad Length to which the string should be padded before conversion (defaul: 2)
27
- *
28
- * @return little-endian encoded hexstring
29
- */
30
- export declare function toLittleEndian(bigEndian: number | string | HexString, pad?: number): HexString | never;
31
- /**
32
- * Convert little-endian hex or number to big-endian
33
- * Note: Before conversion it is automatically padded to even length hexstring
34
- *
35
- * @param littleEndian Little-endian hex string or number to convert
36
- * @param pad Length to which the string should be padded before conversion (defaul: 2)
37
- *
38
- * @return big-endian encoded hexstring
39
- */
40
- export declare function fromLittleEndian(littleEndian: number | string | HexString, pad?: number): HexString | never;
41
- /**
42
- * Get swarm overlay address from public ethereum address and swarm network id
43
- *
44
- * @param ethAddress Public ethereum address
45
- * @param networkId Swarm network id
46
- *
47
- * @return Swarm overlay address
48
- */
49
- export declare function ethToSwarmAddress(ethAddress: string | HexString | HexEthAddress, networkId?: number): OverlayAddress;
50
- interface RequestArguments {
51
- method: string;
52
- jsonrpc?: string;
53
- params?: unknown[] | Record<string, unknown>;
54
- }
55
- export interface JsonRPC {
56
- request?(args: RequestArguments): Promise<unknown>;
57
- sendAsync?(args: RequestArguments): Promise<unknown>;
58
- }
59
- /**
60
- * Function that takes Ethereum EIP-1193 compatible provider and create an Signer instance that
61
- * uses `personal_sign` method to sign requested data.
62
- *
63
- * @param provider Injected web3 provider like window.ethereum or other compatible with EIP-1193
64
- * @param ethAddress Optional address of the account which the data should be signed with. If not specified `eth_requestAccounts` request is used to get the account address.
65
- */
66
- export declare function makeEthereumWalletSigner(provider: JsonRPC, ethAddress?: string | HexString | HexEthAddress): Promise<Signer>;
67
- export {};
@@ -1,9 +0,0 @@
1
- import { Message } from 'js-sha3';
2
- import { Bytes } from './bytes';
3
- /**
4
- * Helper function for calculating the keccak256 hash with
5
- * correct types.
6
- *
7
- * @param messages Any number of messages (strings, byte arrays etc.)
8
- */
9
- export declare function keccak256Hash(...messages: Message[]): Bytes<32>;
@@ -1,86 +0,0 @@
1
- import { Bytes } from './bytes';
2
- import { BrandedType, FlavoredType } from '../types';
3
- /**
4
- * Nominal type to represent hex strings WITHOUT '0x' prefix.
5
- * For example for 32 bytes hex representation you have to use 64 length.
6
- * TODO: Make Length mandatory: https://github.com/ethersphere/bee-js/issues/208
7
- */
8
- export type HexString<Length extends number = number> = FlavoredType<string & {
9
- readonly length: Length;
10
- }, 'HexString'>;
11
- /**
12
- * Type for HexString with prefix.
13
- * The main hex type used internally should be non-prefixed HexString
14
- * and therefore this type should be used as least as possible.
15
- * Because of that it does not contain the Length property as the variables
16
- * should be validated and converted to HexString ASAP.
17
- */
18
- export type PrefixedHexString = BrandedType<string, 'PrefixedHexString'>;
19
- /**
20
- * Creates unprefixed hex string from wide range of data.
21
- *
22
- * TODO: Make Length mandatory: https://github.com/ethersphere/bee-js/issues/208
23
- *
24
- * @param input
25
- * @param len of the resulting HexString WITHOUT prefix!
26
- */
27
- export declare function makeHexString<L extends number>(input: string | number | Uint8Array | unknown, len?: L): HexString<L>;
28
- /**
29
- * Converts a hex string to Uint8Array
30
- *
31
- * @param hex string input without 0x prefix!
32
- */
33
- export declare function hexToBytes<Length extends number, LengthHex extends number = number>(hex: HexString<LengthHex>): Bytes<Length>;
34
- /**
35
- * Converts array of number or Uint8Array to HexString without prefix.
36
- *
37
- * @param bytes The input array
38
- * @param len The length of the non prefixed HexString
39
- */
40
- export declare function bytesToHex<Length extends number = number>(bytes: Uint8Array, len?: Length): HexString<Length>;
41
- /**
42
- * Converts integer number to hex string.
43
- *
44
- * Optionally provides '0x' prefix or padding
45
- *
46
- * @param int The positive integer to be converted
47
- * @param len The length of the non prefixed HexString
48
- */
49
- export declare function intToHex<Length extends number = number>(int: number, len?: Length): HexString<Length>;
50
- /**
51
- * Type guard for HexStrings.
52
- * Requires no 0x prefix!
53
- *
54
- * TODO: Make Length mandatory: https://github.com/ethersphere/bee-js/issues/208
55
- *
56
- * @param s string input
57
- * @param len expected length of the HexString
58
- */
59
- export declare function isHexString<Length extends number = number>(s: unknown, len?: number): s is HexString<Length>;
60
- /**
61
- * Type guard for PrefixedHexStrings.
62
- * Does enforce presence of 0x prefix!
63
- *
64
- * @param s string input
65
- */
66
- export declare function isPrefixedHexString(s: unknown): s is PrefixedHexString;
67
- /**
68
- * Verifies if the provided input is a HexString.
69
- *
70
- * TODO: Make Length mandatory: https://github.com/ethersphere/bee-js/issues/208
71
- *
72
- * @param s string input
73
- * @param len expected length of the HexString
74
- * @param name optional name for the asserted value
75
- * @returns HexString or throws error
76
- */
77
- export declare function assertHexString<Length extends number = number>(s: unknown, len?: number, name?: string): asserts s is HexString<Length>;
78
- /**
79
- * Verifies if the provided input is a PrefixedHexString.
80
- *
81
- * @param s string input
82
- * @param len expected length of the HexString
83
- * @param name optional name for the asserted value
84
- * @returns HexString or throws error
85
- */
86
- export declare function assertPrefixedHexString(s: string, name?: string): asserts s is PrefixedHexString;
@@ -1,2 +0,0 @@
1
- import { BytesReference, Reference } from '../types';
2
- export declare function makeBytesReference(reference: Uint8Array | BytesReference | Reference, offset?: number): BytesReference;