@helia/interface 2.0.0-fdda692 → 2.1.0-1d16bf8
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.
- package/README.md +0 -9
- package/dist/src/blocks.d.ts +28 -5
- package/dist/src/blocks.d.ts.map +1 -1
- package/dist/src/index.d.ts +6 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/package.json +8 -4
- package/src/blocks.ts +32 -5
- package/src/index.ts +7 -2
package/README.md
CHANGED
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
# @helia/interface <!-- omit in toc -->
|
|
8
|
-
|
|
9
7
|
[](https://ipfs.tech)
|
|
10
8
|
[](https://discuss.ipfs.tech)
|
|
11
9
|
[](https://codecov.io/gh/ipfs/helia)
|
|
@@ -13,13 +11,6 @@
|
|
|
13
11
|
|
|
14
12
|
> The Helia API
|
|
15
13
|
|
|
16
|
-
## Table of contents <!-- omit in toc -->
|
|
17
|
-
|
|
18
|
-
- [Install](#install)
|
|
19
|
-
- [API Docs](#api-docs)
|
|
20
|
-
- [License](#license)
|
|
21
|
-
- [Contribute](#contribute)
|
|
22
|
-
|
|
23
14
|
## Install
|
|
24
15
|
|
|
25
16
|
```console
|
package/dist/src/blocks.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Blockstore } from 'interface-blockstore';
|
|
2
|
+
import type { AbortOptions } from 'interface-store';
|
|
2
3
|
import type { BitswapNotifyProgressEvents, BitswapWantProgressEvents } from 'ipfs-bitswap';
|
|
3
4
|
import type { CID } from 'multiformats/cid';
|
|
4
5
|
import type { ProgressEvent, ProgressOptions } from 'progress-events';
|
|
@@ -6,11 +7,11 @@ export interface Pair {
|
|
|
6
7
|
cid: CID;
|
|
7
8
|
block: Uint8Array;
|
|
8
9
|
}
|
|
9
|
-
export type HasBlockProgressEvents = ProgressEvent<'blocks:put:duplicate', CID> | ProgressEvent<'blocks:put:
|
|
10
|
-
export type PutBlockProgressEvents = ProgressEvent<'blocks:put:duplicate', CID> | ProgressEvent<'blocks:put:
|
|
11
|
-
export type PutManyBlocksProgressEvents = ProgressEvent<'blocks:put-many:duplicate', CID> | ProgressEvent<'blocks:put-many:
|
|
12
|
-
export type GetBlockProgressEvents = ProgressEvent<'blocks:get:
|
|
13
|
-
export type GetManyBlocksProgressEvents = ProgressEvent<'blocks:get-many:blockstore:get-many'> | ProgressEvent<'blocks:get-many:
|
|
10
|
+
export type HasBlockProgressEvents = ProgressEvent<'blocks:put:duplicate', CID> | ProgressEvent<'blocks:put:providers:notify', CID> | ProgressEvent<'blocks:put:blockstore:put', CID> | BitswapNotifyProgressEvents;
|
|
11
|
+
export type PutBlockProgressEvents = ProgressEvent<'blocks:put:duplicate', CID> | ProgressEvent<'blocks:put:providers:notify', CID> | ProgressEvent<'blocks:put:blockstore:put', CID> | BitswapNotifyProgressEvents;
|
|
12
|
+
export type PutManyBlocksProgressEvents = ProgressEvent<'blocks:put-many:duplicate', CID> | ProgressEvent<'blocks:put-many:providers:notify', CID> | ProgressEvent<'blocks:put-many:blockstore:put-many'> | BitswapNotifyProgressEvents;
|
|
13
|
+
export type GetBlockProgressEvents = ProgressEvent<'blocks:get:providers:want', CID> | ProgressEvent<'blocks:get:blockstore:get', CID> | ProgressEvent<'blocks:get:blockstore:put', CID> | BitswapWantProgressEvents;
|
|
14
|
+
export type GetManyBlocksProgressEvents = ProgressEvent<'blocks:get-many:blockstore:get-many'> | ProgressEvent<'blocks:get-many:providers:want', CID> | ProgressEvent<'blocks:get-many:blockstore:put', CID> | BitswapWantProgressEvents;
|
|
14
15
|
export type GetAllBlocksProgressEvents = ProgressEvent<'blocks:get-all:blockstore:get-many'>;
|
|
15
16
|
export type DeleteBlockProgressEvents = ProgressEvent<'blocks:delete:blockstore:delete', CID>;
|
|
16
17
|
export type DeleteManyBlocksProgressEvents = ProgressEvent<'blocks:delete-many:blockstore:delete-many'>;
|
|
@@ -22,4 +23,26 @@ export interface GetOfflineOptions {
|
|
|
22
23
|
}
|
|
23
24
|
export interface Blocks extends Blockstore<ProgressOptions<HasBlockProgressEvents>, ProgressOptions<PutBlockProgressEvents>, ProgressOptions<PutManyBlocksProgressEvents>, GetOfflineOptions & ProgressOptions<GetBlockProgressEvents>, GetOfflineOptions & ProgressOptions<GetManyBlocksProgressEvents>, ProgressOptions<GetAllBlocksProgressEvents>, ProgressOptions<DeleteBlockProgressEvents>, ProgressOptions<DeleteManyBlocksProgressEvents>> {
|
|
24
25
|
}
|
|
26
|
+
export type BlockRetrievalOptions<GetProgressOptions extends ProgressOptions = ProgressOptions> = AbortOptions & GetProgressOptions & {
|
|
27
|
+
/**
|
|
28
|
+
* A function that blockBrokers should call prior to returning a block to ensure it can maintain control
|
|
29
|
+
* of the block request flow. e.g. TrustedGatewayBlockBroker will use this to ensure that the block
|
|
30
|
+
* is valid from one of the gateways before assuming it's work is done. If the block is not valid, it should try another gateway
|
|
31
|
+
* and WILL consider the gateway that returned the invalid blocks completely unreliable.
|
|
32
|
+
*/
|
|
33
|
+
validateFn?(block: Uint8Array): Promise<void>;
|
|
34
|
+
};
|
|
35
|
+
export interface BlockRetriever<GetProgressOptions extends ProgressOptions = ProgressOptions> {
|
|
36
|
+
/**
|
|
37
|
+
* Retrieve a block from a source
|
|
38
|
+
*/
|
|
39
|
+
retrieve(cid: CID, options?: BlockRetrievalOptions<GetProgressOptions>): Promise<Uint8Array>;
|
|
40
|
+
}
|
|
41
|
+
export interface BlockAnnouncer<NotifyProgressOptions extends ProgressOptions = ProgressOptions> {
|
|
42
|
+
/**
|
|
43
|
+
* Make a new block available to peers
|
|
44
|
+
*/
|
|
45
|
+
announce(cid: CID, block: Uint8Array, options?: NotifyProgressOptions): void;
|
|
46
|
+
}
|
|
47
|
+
export type BlockBroker = BlockRetriever | BlockAnnouncer;
|
|
25
48
|
//# sourceMappingURL=blocks.d.ts.map
|
package/dist/src/blocks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/blocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAC1F,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAErE,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,GAAG,CAAA;IACR,KAAK,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,MAAM,sBAAsB,GAChC,aAAa,CAAC,sBAAsB,EAAE,GAAG,CAAC,GAC1C,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/blocks.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @packageDocumentation
|
|
3
3
|
*
|
|
4
|
-
* The API defined by a Helia node
|
|
4
|
+
* The API defined by a {@link Helia} node
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
7
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { Blocks } from './blocks.js';
|
|
17
17
|
import type { Pins } from './pins.js';
|
|
18
|
-
import type { Libp2p, AbortOptions } from '@libp2p/interface';
|
|
18
|
+
import type { Libp2p, AbortOptions, ComponentLogger } from '@libp2p/interface';
|
|
19
19
|
import type { Datastore } from 'interface-datastore';
|
|
20
20
|
import type { CID } from 'multiformats/cid';
|
|
21
21
|
import type { ProgressEvent, ProgressOptions } from 'progress-events';
|
|
@@ -40,6 +40,10 @@ export interface Helia<T = Libp2p> {
|
|
|
40
40
|
* Pinning operations for blocks in the blockstore
|
|
41
41
|
*/
|
|
42
42
|
pins: Pins;
|
|
43
|
+
/**
|
|
44
|
+
* A logging component that can be reused by consumers
|
|
45
|
+
*/
|
|
46
|
+
logger: ComponentLogger;
|
|
43
47
|
/**
|
|
44
48
|
* Starts the Helia node
|
|
45
49
|
*/
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAErE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,MAAM;IAC/B;;OAEG;IACH,MAAM,EAAE,CAAC,CAAA;IAET;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAA;IAEpB;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IAEV;;OAEG;IACH,MAAM,EAAE,eAAe,CAAA;IAEvB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEtB;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAErB;;OAEG;IACH,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvC;AAED,MAAM,MAAM,QAAQ,GAClB,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,GACtC,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;AAExC,MAAM,WAAW,SAAU,SAAQ,YAAY,EAAE,eAAe,CAAC,QAAQ,CAAC;CAEzE"}
|
package/dist/src/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/interface",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0-1d16bf8",
|
|
4
4
|
"description": "The Helia API",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia/tree/master/packages/interface#readme",
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ipfs/helia/issues"
|
|
13
13
|
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public",
|
|
16
|
+
"provenance": true
|
|
17
|
+
},
|
|
14
18
|
"keywords": [
|
|
15
19
|
"IPFS"
|
|
16
20
|
],
|
|
@@ -66,12 +70,12 @@
|
|
|
66
70
|
"build": "aegir build"
|
|
67
71
|
},
|
|
68
72
|
"dependencies": {
|
|
69
|
-
"@libp2p/interface": "^0.1
|
|
73
|
+
"@libp2p/interface": "^1.0.1",
|
|
70
74
|
"interface-blockstore": "^5.0.0",
|
|
71
75
|
"interface-datastore": "^8.0.0",
|
|
72
76
|
"interface-store": "^5.0.1",
|
|
73
|
-
"ipfs-bitswap": "^
|
|
74
|
-
"multiformats": "^
|
|
77
|
+
"ipfs-bitswap": "^20.0.0",
|
|
78
|
+
"multiformats": "^13.0.0",
|
|
75
79
|
"progress-events": "^1.0.0"
|
|
76
80
|
},
|
|
77
81
|
"devDependencies": {
|
package/src/blocks.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Blockstore } from 'interface-blockstore'
|
|
2
|
+
import type { AbortOptions } from 'interface-store'
|
|
2
3
|
import type { BitswapNotifyProgressEvents, BitswapWantProgressEvents } from 'ipfs-bitswap'
|
|
3
4
|
import type { CID } from 'multiformats/cid'
|
|
4
5
|
import type { ProgressEvent, ProgressOptions } from 'progress-events'
|
|
@@ -10,31 +11,31 @@ export interface Pair {
|
|
|
10
11
|
|
|
11
12
|
export type HasBlockProgressEvents =
|
|
12
13
|
ProgressEvent<'blocks:put:duplicate', CID> |
|
|
13
|
-
ProgressEvent<'blocks:put:
|
|
14
|
+
ProgressEvent<'blocks:put:providers:notify', CID> |
|
|
14
15
|
ProgressEvent<'blocks:put:blockstore:put', CID> |
|
|
15
16
|
BitswapNotifyProgressEvents
|
|
16
17
|
|
|
17
18
|
export type PutBlockProgressEvents =
|
|
18
19
|
ProgressEvent<'blocks:put:duplicate', CID> |
|
|
19
|
-
ProgressEvent<'blocks:put:
|
|
20
|
+
ProgressEvent<'blocks:put:providers:notify', CID> |
|
|
20
21
|
ProgressEvent<'blocks:put:blockstore:put', CID> |
|
|
21
22
|
BitswapNotifyProgressEvents
|
|
22
23
|
|
|
23
24
|
export type PutManyBlocksProgressEvents =
|
|
24
25
|
ProgressEvent<'blocks:put-many:duplicate', CID> |
|
|
25
|
-
ProgressEvent<'blocks:put-many:
|
|
26
|
+
ProgressEvent<'blocks:put-many:providers:notify', CID> |
|
|
26
27
|
ProgressEvent<'blocks:put-many:blockstore:put-many'> |
|
|
27
28
|
BitswapNotifyProgressEvents
|
|
28
29
|
|
|
29
30
|
export type GetBlockProgressEvents =
|
|
30
|
-
ProgressEvent<'blocks:get:
|
|
31
|
+
ProgressEvent<'blocks:get:providers:want', CID> |
|
|
31
32
|
ProgressEvent<'blocks:get:blockstore:get', CID> |
|
|
32
33
|
ProgressEvent<'blocks:get:blockstore:put', CID> |
|
|
33
34
|
BitswapWantProgressEvents
|
|
34
35
|
|
|
35
36
|
export type GetManyBlocksProgressEvents =
|
|
36
37
|
ProgressEvent<'blocks:get-many:blockstore:get-many'> |
|
|
37
|
-
ProgressEvent<'blocks:get-many:
|
|
38
|
+
ProgressEvent<'blocks:get-many:providers:want', CID> |
|
|
38
39
|
ProgressEvent<'blocks:get-many:blockstore:put', CID> |
|
|
39
40
|
BitswapWantProgressEvents
|
|
40
41
|
|
|
@@ -61,3 +62,29 @@ ProgressOptions<DeleteBlockProgressEvents>, ProgressOptions<DeleteManyBlocksProg
|
|
|
61
62
|
> {
|
|
62
63
|
|
|
63
64
|
}
|
|
65
|
+
|
|
66
|
+
export type BlockRetrievalOptions<GetProgressOptions extends ProgressOptions = ProgressOptions> = AbortOptions & GetProgressOptions & {
|
|
67
|
+
/**
|
|
68
|
+
* A function that blockBrokers should call prior to returning a block to ensure it can maintain control
|
|
69
|
+
* of the block request flow. e.g. TrustedGatewayBlockBroker will use this to ensure that the block
|
|
70
|
+
* is valid from one of the gateways before assuming it's work is done. If the block is not valid, it should try another gateway
|
|
71
|
+
* and WILL consider the gateway that returned the invalid blocks completely unreliable.
|
|
72
|
+
*/
|
|
73
|
+
validateFn?(block: Uint8Array): Promise<void>
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export interface BlockRetriever<GetProgressOptions extends ProgressOptions = ProgressOptions> {
|
|
77
|
+
/**
|
|
78
|
+
* Retrieve a block from a source
|
|
79
|
+
*/
|
|
80
|
+
retrieve(cid: CID, options?: BlockRetrievalOptions<GetProgressOptions>): Promise<Uint8Array>
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface BlockAnnouncer<NotifyProgressOptions extends ProgressOptions = ProgressOptions> {
|
|
84
|
+
/**
|
|
85
|
+
* Make a new block available to peers
|
|
86
|
+
*/
|
|
87
|
+
announce(cid: CID, block: Uint8Array, options?: NotifyProgressOptions): void
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export type BlockBroker = BlockRetriever | BlockAnnouncer
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @packageDocumentation
|
|
3
3
|
*
|
|
4
|
-
* The API defined by a Helia node
|
|
4
|
+
* The API defined by a {@link Helia} node
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
7
|
*
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import type { Blocks } from './blocks.js'
|
|
18
18
|
import type { Pins } from './pins.js'
|
|
19
|
-
import type { Libp2p, AbortOptions } from '@libp2p/interface'
|
|
19
|
+
import type { Libp2p, AbortOptions, ComponentLogger } from '@libp2p/interface'
|
|
20
20
|
import type { Datastore } from 'interface-datastore'
|
|
21
21
|
import type { CID } from 'multiformats/cid'
|
|
22
22
|
import type { ProgressEvent, ProgressOptions } from 'progress-events'
|
|
@@ -47,6 +47,11 @@ export interface Helia<T = Libp2p> {
|
|
|
47
47
|
*/
|
|
48
48
|
pins: Pins
|
|
49
49
|
|
|
50
|
+
/**
|
|
51
|
+
* A logging component that can be reused by consumers
|
|
52
|
+
*/
|
|
53
|
+
logger: ComponentLogger
|
|
54
|
+
|
|
50
55
|
/**
|
|
51
56
|
* Starts the Helia node
|
|
52
57
|
*/
|