@helia/utils 0.3.3-5ff6998 → 0.3.3-9de08ef
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/dist/index.min.js +1 -1
- package/dist/src/index.d.ts +4 -15
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -9
- package/dist/src/index.js.map +1 -1
- package/dist/src/pins.d.ts +3 -3
- package/dist/src/pins.d.ts.map +1 -1
- package/dist/src/pins.js +9 -8
- package/dist/src/pins.js.map +1 -1
- package/dist/src/utils/dag-walkers.d.ts +28 -0
- package/dist/src/utils/dag-walkers.d.ts.map +1 -0
- package/dist/src/utils/dag-walkers.js +171 -0
- package/dist/src/utils/dag-walkers.js.map +1 -0
- package/dist/src/utils/default-hashers.d.ts +3 -0
- package/dist/src/utils/default-hashers.d.ts.map +1 -0
- package/dist/src/utils/default-hashers.js +15 -0
- package/dist/src/utils/default-hashers.js.map +1 -0
- package/dist/src/utils/networked-storage.d.ts +2 -3
- package/dist/src/utils/networked-storage.d.ts.map +1 -1
- package/dist/src/utils/networked-storage.js +6 -16
- package/dist/src/utils/networked-storage.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +13 -26
- package/src/pins.ts +12 -9
- package/src/utils/dag-walkers.ts +198 -0
- package/src/utils/default-hashers.ts +18 -0
- package/src/utils/networked-storage.ts +8 -21
- package/dist/src/utils/get-codec.d.ts +0 -4
- package/dist/src/utils/get-codec.d.ts.map +0 -1
- package/dist/src/utils/get-codec.js +0 -38
- package/dist/src/utils/get-codec.js.map +0 -1
- package/dist/src/utils/get-hasher.d.ts +0 -4
- package/dist/src/utils/get-hasher.d.ts.map +0 -1
- package/dist/src/utils/get-hasher.js +0 -32
- package/dist/src/utils/get-hasher.js.map +0 -1
- package/dist/src/utils/is-promise.d.ts +0 -2
- package/dist/src/utils/is-promise.d.ts.map +0 -1
- package/dist/src/utils/is-promise.js +0 -4
- package/dist/src/utils/is-promise.js.map +0 -1
- package/src/utils/get-codec.ts +0 -47
- package/src/utils/get-hasher.ts +0 -40
- package/src/utils/is-promise.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networked-storage.js","sourceRoot":"","sources":["../../../src/utils/networked-storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"networked-storage.js","sourceRoot":"","sources":["../../../src/utils/networked-storage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/utils",
|
|
3
|
-
"version": "0.3.3-
|
|
3
|
+
"version": "0.3.3-9de08ef",
|
|
4
4
|
"description": "Shared code that implements the Helia API",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia/tree/main/packages/utils#readme",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"test:electron-main": "aegir test -t electron-main"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@helia/interface": "4.3.1-
|
|
56
|
+
"@helia/interface": "4.3.1-9de08ef",
|
|
57
57
|
"@ipld/dag-cbor": "^9.2.0",
|
|
58
58
|
"@ipld/dag-json": "^10.2.0",
|
|
59
59
|
"@ipld/dag-pb": "^4.1.0",
|
package/src/index.ts
CHANGED
|
@@ -25,18 +25,17 @@ import { CustomProgressEvent } from 'progress-events'
|
|
|
25
25
|
import { PinsImpl } from './pins.js'
|
|
26
26
|
import { Routing as RoutingClass } from './routing.js'
|
|
27
27
|
import { BlockStorage } from './storage.js'
|
|
28
|
+
import { defaultDagWalkers } from './utils/dag-walkers.js'
|
|
28
29
|
import { assertDatastoreVersionIsCurrent } from './utils/datastore-version.js'
|
|
29
|
-
import {
|
|
30
|
-
import { getHasher } from './utils/get-hasher.js'
|
|
30
|
+
import { defaultHashers } from './utils/default-hashers.js'
|
|
31
31
|
import { NetworkedStorage } from './utils/networked-storage.js'
|
|
32
|
-
import type {
|
|
32
|
+
import type { DAGWalker, GCOptions, Helia as HeliaInterface, Routing } from '@helia/interface'
|
|
33
33
|
import type { BlockBroker } from '@helia/interface/blocks'
|
|
34
34
|
import type { Pins } from '@helia/interface/pins'
|
|
35
35
|
import type { ComponentLogger, Logger, Metrics } from '@libp2p/interface'
|
|
36
36
|
import type { DNS } from '@multiformats/dns'
|
|
37
37
|
import type { Blockstore } from 'interface-blockstore'
|
|
38
38
|
import type { Datastore } from 'interface-datastore'
|
|
39
|
-
import type { BlockCodec } from 'multiformats'
|
|
40
39
|
import type { CID } from 'multiformats/cid'
|
|
41
40
|
import type { MultihashDigest, MultihashHasher } from 'multiformats/hashes/interface'
|
|
42
41
|
|
|
@@ -64,24 +63,12 @@ export interface HeliaInit {
|
|
|
64
63
|
*/
|
|
65
64
|
hashers?: MultihashHasher[]
|
|
66
65
|
|
|
67
|
-
/**
|
|
68
|
-
* An optional function that can load a MultihashHasher on demand. May return
|
|
69
|
-
* a promise.
|
|
70
|
-
*/
|
|
71
|
-
loadHasher?(code: number): Await<MultihashHasher>
|
|
72
|
-
|
|
73
66
|
/**
|
|
74
67
|
* In order to pin CIDs that correspond to a DAG, it's necessary to know
|
|
75
68
|
* how to traverse that DAG. DAGWalkers take a block and yield any CIDs
|
|
76
69
|
* encoded within that block.
|
|
77
70
|
*/
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* An optional function that can load a BlockCodec on demand. May return a
|
|
82
|
-
* promise.
|
|
83
|
-
*/
|
|
84
|
-
loadCodec?(code: number): Await<BlockCodec<any, any>>
|
|
71
|
+
dagWalkers?: DAGWalker[]
|
|
85
72
|
|
|
86
73
|
/**
|
|
87
74
|
* A list of strategies used to fetch blocks when they are not present in
|
|
@@ -155,13 +142,13 @@ export interface HeliaInit {
|
|
|
155
142
|
interface Components {
|
|
156
143
|
blockstore: Blockstore
|
|
157
144
|
datastore: Datastore
|
|
145
|
+
hashers: Record<number, MultihashHasher>
|
|
146
|
+
dagWalkers: Record<number, DAGWalker>
|
|
158
147
|
logger: ComponentLogger
|
|
159
148
|
blockBrokers: BlockBroker[]
|
|
160
149
|
routing: Routing
|
|
161
150
|
dns: DNS
|
|
162
151
|
metrics?: Metrics
|
|
163
|
-
getCodec: CodecLoader
|
|
164
|
-
getHasher: HasherLoader
|
|
165
152
|
}
|
|
166
153
|
|
|
167
154
|
export class Helia implements HeliaInterface {
|
|
@@ -170,8 +157,8 @@ export class Helia implements HeliaInterface {
|
|
|
170
157
|
public pins: Pins
|
|
171
158
|
public logger: ComponentLogger
|
|
172
159
|
public routing: Routing
|
|
173
|
-
public
|
|
174
|
-
public
|
|
160
|
+
public dagWalkers: Record<number, DAGWalker>
|
|
161
|
+
public hashers: Record<number, MultihashHasher>
|
|
175
162
|
public dns: DNS
|
|
176
163
|
public metrics?: Metrics
|
|
177
164
|
private readonly log: Logger
|
|
@@ -179,8 +166,8 @@ export class Helia implements HeliaInterface {
|
|
|
179
166
|
constructor (init: HeliaInit) {
|
|
180
167
|
this.logger = init.logger ?? defaultLogger()
|
|
181
168
|
this.log = this.logger.forComponent('helia')
|
|
182
|
-
this.
|
|
183
|
-
this.
|
|
169
|
+
this.hashers = defaultHashers(init.hashers)
|
|
170
|
+
this.dagWalkers = defaultDagWalkers(init.dagWalkers)
|
|
184
171
|
this.dns = init.dns ?? dns()
|
|
185
172
|
this.metrics = init.metrics
|
|
186
173
|
|
|
@@ -188,10 +175,10 @@ export class Helia implements HeliaInterface {
|
|
|
188
175
|
const components: Components = {
|
|
189
176
|
blockstore: init.blockstore,
|
|
190
177
|
datastore: init.datastore,
|
|
178
|
+
hashers: this.hashers,
|
|
179
|
+
dagWalkers: this.dagWalkers,
|
|
191
180
|
logger: this.logger,
|
|
192
181
|
blockBrokers: [],
|
|
193
|
-
getHasher: this.getHasher,
|
|
194
|
-
getCodec: this.getCodec,
|
|
195
182
|
dns: this.dns,
|
|
196
183
|
metrics: this.metrics,
|
|
197
184
|
...(init.components ?? {})
|
|
@@ -220,7 +207,7 @@ export class Helia implements HeliaInterface {
|
|
|
220
207
|
})
|
|
221
208
|
|
|
222
209
|
const networkedStorage = new NetworkedStorage(components)
|
|
223
|
-
this.pins = new PinsImpl(init.datastore, networkedStorage, this.
|
|
210
|
+
this.pins = new PinsImpl(init.datastore, networkedStorage, this.dagWalkers)
|
|
224
211
|
this.blockstore = new BlockStorage(networkedStorage, this.pins, {
|
|
225
212
|
holdGcLock: init.holdGcLock ?? true
|
|
226
213
|
})
|
package/src/pins.ts
CHANGED
|
@@ -2,11 +2,10 @@ import { Queue } from '@libp2p/utils/queue'
|
|
|
2
2
|
import * as cborg from 'cborg'
|
|
3
3
|
import { type Datastore, Key } from 'interface-datastore'
|
|
4
4
|
import { base36 } from 'multiformats/bases/base36'
|
|
5
|
-
import { createUnsafe } from 'multiformats/block'
|
|
6
5
|
import { CID, type Version } from 'multiformats/cid'
|
|
7
6
|
import { CustomProgressEvent, type ProgressOptions } from 'progress-events'
|
|
8
7
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
|
|
9
|
-
import type {
|
|
8
|
+
import type { DAGWalker } from '@helia/interface'
|
|
10
9
|
import type { GetBlockProgressEvents } from '@helia/interface/blocks'
|
|
11
10
|
import type { AddOptions, AddPinEvents, IsPinnedOptions, LsOptions, Pin, Pins, RmOptions } from '@helia/interface/pins'
|
|
12
11
|
import type { AbortOptions } from '@libp2p/interface'
|
|
@@ -60,12 +59,12 @@ function toDSKey (cid: CID): Key {
|
|
|
60
59
|
export class PinsImpl implements Pins {
|
|
61
60
|
private readonly datastore: Datastore
|
|
62
61
|
private readonly blockstore: Blockstore
|
|
63
|
-
private readonly
|
|
62
|
+
private readonly dagWalkers: Record<number, DAGWalker>
|
|
64
63
|
|
|
65
|
-
constructor (datastore: Datastore, blockstore: Blockstore,
|
|
64
|
+
constructor (datastore: Datastore, blockstore: Blockstore, dagWalkers: Record<number, DAGWalker>) {
|
|
66
65
|
this.datastore = datastore
|
|
67
66
|
this.blockstore = blockstore
|
|
68
|
-
this.
|
|
67
|
+
this.dagWalkers = dagWalkers
|
|
69
68
|
}
|
|
70
69
|
|
|
71
70
|
async * add (cid: CID<unknown, number, number, Version>, options: AddOptions = {}): AsyncGenerator<CID, void, undefined> {
|
|
@@ -120,14 +119,18 @@ export class PinsImpl implements Pins {
|
|
|
120
119
|
return
|
|
121
120
|
}
|
|
122
121
|
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
122
|
+
const dagWalker = this.dagWalkers[cid.code]
|
|
123
|
+
|
|
124
|
+
if (dagWalker == null) {
|
|
125
|
+
throw new Error(`No dag walker found for cid codec ${cid.code}`)
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
const block = await this.blockstore.get(cid, options)
|
|
126
129
|
|
|
127
130
|
yield cid
|
|
128
131
|
|
|
129
132
|
// walk dag, ensure all blocks are present
|
|
130
|
-
for await (const
|
|
133
|
+
for await (const cid of dagWalker.walk(block)) {
|
|
131
134
|
yield * await queue.add(async () => {
|
|
132
135
|
return this.#walkDag(cid, queue, {
|
|
133
136
|
...options,
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/* eslint max-depth: ["error", 7] */
|
|
2
|
+
|
|
3
|
+
import * as dagCbor from '@ipld/dag-cbor'
|
|
4
|
+
import * as dagJson from '@ipld/dag-json'
|
|
5
|
+
import * as dagPb from '@ipld/dag-pb'
|
|
6
|
+
import * as cborg from 'cborg'
|
|
7
|
+
import { Type, Token } from 'cborg'
|
|
8
|
+
import * as cborgJson from 'cborg/json'
|
|
9
|
+
import { CID } from 'multiformats'
|
|
10
|
+
import { base64 } from 'multiformats/bases/base64'
|
|
11
|
+
import * as json from 'multiformats/codecs/json'
|
|
12
|
+
import * as raw from 'multiformats/codecs/raw'
|
|
13
|
+
import type { DAGWalker } from '@helia/interface'
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Dag walker for dag-pb CIDs
|
|
17
|
+
*/
|
|
18
|
+
export const dagPbWalker: DAGWalker = {
|
|
19
|
+
codec: dagPb.code,
|
|
20
|
+
* walk (block) {
|
|
21
|
+
const node = dagPb.decode(block)
|
|
22
|
+
|
|
23
|
+
yield * node.Links.map(l => l.Hash)
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Dag walker for raw CIDs
|
|
29
|
+
*/
|
|
30
|
+
export const rawWalker: DAGWalker = {
|
|
31
|
+
codec: raw.code,
|
|
32
|
+
* walk () {
|
|
33
|
+
// no embedded CIDs in a raw block
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// https://github.com/ipfs/go-ipfs/issues/3570#issuecomment-273931692
|
|
38
|
+
const CID_TAG = 42
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Dag walker for dag-cbor CIDs. Does not actually use dag-cbor since
|
|
42
|
+
* all we are interested in is extracting the the CIDs from the block
|
|
43
|
+
* so we can just use cborg for that.
|
|
44
|
+
*/
|
|
45
|
+
export const dagCborWalker: DAGWalker = {
|
|
46
|
+
codec: dagCbor.code,
|
|
47
|
+
* walk (block) {
|
|
48
|
+
const cids: CID[] = []
|
|
49
|
+
const tags: cborg.TagDecoder[] = []
|
|
50
|
+
tags[CID_TAG] = (bytes) => {
|
|
51
|
+
if (bytes[0] !== 0) {
|
|
52
|
+
throw new Error('Invalid CID for CBOR tag 42; expected leading 0x00')
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const cid = CID.decode(bytes.subarray(1)) // ignore leading 0x00
|
|
56
|
+
|
|
57
|
+
cids.push(cid)
|
|
58
|
+
|
|
59
|
+
return cid
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
cborg.decode(block, {
|
|
63
|
+
tags
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
yield * cids
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Borrowed from @ipld/dag-json
|
|
72
|
+
*/
|
|
73
|
+
class DagJsonTokenizer extends cborgJson.Tokenizer {
|
|
74
|
+
private readonly tokenBuffer: cborg.Token[]
|
|
75
|
+
|
|
76
|
+
constructor (data: Uint8Array, options?: cborg.DecodeOptions) {
|
|
77
|
+
super(data, options)
|
|
78
|
+
|
|
79
|
+
this.tokenBuffer = []
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
done (): boolean {
|
|
83
|
+
return this.tokenBuffer.length === 0 && super.done()
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
_next (): cborg.Token {
|
|
87
|
+
if (this.tokenBuffer.length > 0) {
|
|
88
|
+
// @ts-expect-error https://github.com/Microsoft/TypeScript/issues/30406
|
|
89
|
+
return this.tokenBuffer.pop()
|
|
90
|
+
}
|
|
91
|
+
return super.next()
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Implements rules outlined in https://github.com/ipld/specs/pull/356
|
|
96
|
+
*/
|
|
97
|
+
next (): cborg.Token {
|
|
98
|
+
const token = this._next()
|
|
99
|
+
|
|
100
|
+
if (token.type === Type.map) {
|
|
101
|
+
const keyToken = this._next()
|
|
102
|
+
if (keyToken.type === Type.string && keyToken.value === '/') {
|
|
103
|
+
const valueToken = this._next()
|
|
104
|
+
if (valueToken.type === Type.string) { // *must* be a CID
|
|
105
|
+
const breakToken = this._next() // swallow the end-of-map token
|
|
106
|
+
if (breakToken.type !== Type.break) {
|
|
107
|
+
throw new Error('Invalid encoded CID form')
|
|
108
|
+
}
|
|
109
|
+
this.tokenBuffer.push(valueToken) // CID.parse will pick this up after our tag token
|
|
110
|
+
return new Token(Type.tag, 42, 0)
|
|
111
|
+
}
|
|
112
|
+
if (valueToken.type === Type.map) {
|
|
113
|
+
const innerKeyToken = this._next()
|
|
114
|
+
if (innerKeyToken.type === Type.string && innerKeyToken.value === 'bytes') {
|
|
115
|
+
const innerValueToken = this._next()
|
|
116
|
+
if (innerValueToken.type === Type.string) { // *must* be Bytes
|
|
117
|
+
for (let i = 0; i < 2; i++) {
|
|
118
|
+
const breakToken = this._next() // swallow two end-of-map tokens
|
|
119
|
+
if (breakToken.type !== Type.break) {
|
|
120
|
+
throw new Error('Invalid encoded Bytes form')
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
const bytes = base64.decode(`m${innerValueToken.value}`)
|
|
124
|
+
return new Token(Type.bytes, bytes, innerValueToken.value.length)
|
|
125
|
+
}
|
|
126
|
+
this.tokenBuffer.push(innerValueToken) // bail
|
|
127
|
+
}
|
|
128
|
+
this.tokenBuffer.push(innerKeyToken) // bail
|
|
129
|
+
}
|
|
130
|
+
this.tokenBuffer.push(valueToken) // bail
|
|
131
|
+
}
|
|
132
|
+
this.tokenBuffer.push(keyToken) // bail
|
|
133
|
+
}
|
|
134
|
+
return token
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Dag walker for dag-json CIDs. Does not actually use dag-json since
|
|
140
|
+
* all we are interested in is extracting the the CIDs from the block
|
|
141
|
+
* so we can just use cborg/json for that.
|
|
142
|
+
*/
|
|
143
|
+
export const dagJsonWalker: DAGWalker = {
|
|
144
|
+
codec: dagJson.code,
|
|
145
|
+
* walk (block) {
|
|
146
|
+
const cids: CID[] = []
|
|
147
|
+
const tags: cborg.TagDecoder[] = []
|
|
148
|
+
tags[CID_TAG] = (string) => {
|
|
149
|
+
const cid = CID.parse(string)
|
|
150
|
+
|
|
151
|
+
cids.push(cid)
|
|
152
|
+
|
|
153
|
+
return cid
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
cborgJson.decode(block, {
|
|
157
|
+
tags,
|
|
158
|
+
tokenizer: new DagJsonTokenizer(block, {
|
|
159
|
+
tags,
|
|
160
|
+
allowIndefinite: true,
|
|
161
|
+
allowUndefined: true,
|
|
162
|
+
allowNaN: true,
|
|
163
|
+
allowInfinity: true,
|
|
164
|
+
allowBigInt: true,
|
|
165
|
+
strict: false,
|
|
166
|
+
rejectDuplicateMapKeys: false
|
|
167
|
+
})
|
|
168
|
+
})
|
|
169
|
+
|
|
170
|
+
yield * cids
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Dag walker for json CIDs. JSON has no facility for linking to
|
|
176
|
+
* external blocks so the walker is a no-op.
|
|
177
|
+
*/
|
|
178
|
+
export const jsonWalker: DAGWalker = {
|
|
179
|
+
codec: json.code,
|
|
180
|
+
* walk () {}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export function defaultDagWalkers (walkers: DAGWalker[] = []): Record<number, DAGWalker> {
|
|
184
|
+
const output: Record<number, DAGWalker> = {}
|
|
185
|
+
|
|
186
|
+
;[
|
|
187
|
+
dagPbWalker,
|
|
188
|
+
rawWalker,
|
|
189
|
+
dagCborWalker,
|
|
190
|
+
dagJsonWalker,
|
|
191
|
+
jsonWalker,
|
|
192
|
+
...walkers
|
|
193
|
+
].forEach(dagWalker => {
|
|
194
|
+
output[dagWalker.codec] = dagWalker
|
|
195
|
+
})
|
|
196
|
+
|
|
197
|
+
return output
|
|
198
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { identity } from 'multiformats/hashes/identity'
|
|
2
|
+
import { sha256, sha512 } from 'multiformats/hashes/sha2'
|
|
3
|
+
import type { MultihashHasher } from 'multiformats/hashes/interface'
|
|
4
|
+
|
|
5
|
+
export function defaultHashers (hashers: MultihashHasher[] = []): Record<number, MultihashHasher> {
|
|
6
|
+
const output: Record<number, MultihashHasher> = {}
|
|
7
|
+
|
|
8
|
+
;[
|
|
9
|
+
sha256,
|
|
10
|
+
sha512,
|
|
11
|
+
identity,
|
|
12
|
+
...hashers
|
|
13
|
+
].forEach(hasher => {
|
|
14
|
+
output[hasher.code] = hasher
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
return output
|
|
18
|
+
}
|
|
@@ -5,14 +5,12 @@ import filter from 'it-filter'
|
|
|
5
5
|
import forEach from 'it-foreach'
|
|
6
6
|
import { CustomProgressEvent, type ProgressOptions } from 'progress-events'
|
|
7
7
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
|
|
8
|
-
import { isPromise } from './is-promise.js'
|
|
9
|
-
import type { HasherLoader } from '@helia/interface'
|
|
10
8
|
import type { BlockBroker, Blocks, Pair, DeleteManyBlocksProgressEvents, DeleteBlockProgressEvents, GetBlockProgressEvents, GetManyBlocksProgressEvents, PutManyBlocksProgressEvents, PutBlockProgressEvents, GetAllBlocksProgressEvents, GetOfflineOptions, BlockRetrievalOptions, CreateSessionOptions, SessionBlockstore } from '@helia/interface/blocks'
|
|
11
9
|
import type { AbortOptions, ComponentLogger, Logger, LoggerOptions, Startable } from '@libp2p/interface'
|
|
12
10
|
import type { Blockstore } from 'interface-blockstore'
|
|
13
11
|
import type { AwaitIterable } from 'interface-store'
|
|
14
12
|
import type { CID } from 'multiformats/cid'
|
|
15
|
-
import type {
|
|
13
|
+
import type { MultihashHasher } from 'multiformats/hashes/interface'
|
|
16
14
|
|
|
17
15
|
export interface GetOptions extends AbortOptions {
|
|
18
16
|
progress?(evt: Event): void
|
|
@@ -22,12 +20,12 @@ export interface StorageComponents {
|
|
|
22
20
|
blockstore: Blockstore
|
|
23
21
|
logger: ComponentLogger
|
|
24
22
|
blockBrokers: BlockBroker[]
|
|
25
|
-
|
|
23
|
+
hashers: Record<number, MultihashHasher>
|
|
26
24
|
}
|
|
27
25
|
|
|
28
26
|
class Storage implements Blockstore {
|
|
29
27
|
protected readonly child: Blockstore
|
|
30
|
-
protected readonly
|
|
28
|
+
protected readonly hashers: Record<number, MultihashHasher>
|
|
31
29
|
protected log: Logger
|
|
32
30
|
protected readonly logger: ComponentLogger
|
|
33
31
|
protected readonly components: StorageComponents
|
|
@@ -40,7 +38,7 @@ class Storage implements Blockstore {
|
|
|
40
38
|
this.logger = components.logger
|
|
41
39
|
this.components = components
|
|
42
40
|
this.child = new IdentityBlockstore(components.blockstore)
|
|
43
|
-
this.
|
|
41
|
+
this.hashers = components.hashers ?? {}
|
|
44
42
|
}
|
|
45
43
|
|
|
46
44
|
/**
|
|
@@ -93,11 +91,9 @@ class Storage implements Blockstore {
|
|
|
93
91
|
*/
|
|
94
92
|
async get (cid: CID, options: GetOfflineOptions & AbortOptions & ProgressOptions<GetBlockProgressEvents> = {}): Promise<Uint8Array> {
|
|
95
93
|
if (options.offline !== true && !(await this.child.has(cid, options))) {
|
|
96
|
-
const hasher = await this.getHasher(cid.multihash.code)
|
|
97
|
-
|
|
98
94
|
// we do not have the block locally, get it from a block provider
|
|
99
95
|
options.onProgress?.(new CustomProgressEvent<CID>('blocks:get:providers:get', cid))
|
|
100
|
-
const block = await raceBlockRetrievers(cid, this.components.blockBrokers,
|
|
96
|
+
const block = await raceBlockRetrievers(cid, this.components.blockBrokers, this.hashers[cid.multihash.code], {
|
|
101
97
|
...options,
|
|
102
98
|
log: this.log
|
|
103
99
|
})
|
|
@@ -126,11 +122,9 @@ class Storage implements Blockstore {
|
|
|
126
122
|
|
|
127
123
|
yield * this.child.getMany(forEach(cids, async (cid): Promise<void> => {
|
|
128
124
|
if (options.offline !== true && !(await this.child.has(cid, options))) {
|
|
129
|
-
const hasher = await this.getHasher(cid.multihash.code)
|
|
130
|
-
|
|
131
125
|
// we do not have the block locally, get it from a block provider
|
|
132
126
|
options.onProgress?.(new CustomProgressEvent<CID>('blocks:get-many:providers:get', cid))
|
|
133
|
-
const block = await raceBlockRetrievers(cid, this.components.blockBrokers,
|
|
127
|
+
const block = await raceBlockRetrievers(cid, this.components.blockBrokers, this.hashers[cid.multihash.code], {
|
|
134
128
|
...options,
|
|
135
129
|
log: this.log
|
|
136
130
|
})
|
|
@@ -225,7 +219,7 @@ export class NetworkedStorage extends Storage implements Blocks, Startable {
|
|
|
225
219
|
return new SessionStorage({
|
|
226
220
|
blockstore: this.child,
|
|
227
221
|
blockBrokers,
|
|
228
|
-
|
|
222
|
+
hashers: this.hashers,
|
|
229
223
|
logger: this.logger
|
|
230
224
|
}, {
|
|
231
225
|
root
|
|
@@ -401,14 +395,7 @@ export const getCidBlockVerifierFunction = (cid: CID, hasher: MultihashHasher):
|
|
|
401
395
|
|
|
402
396
|
return async (block: Uint8Array): Promise<void> => {
|
|
403
397
|
// verify block
|
|
404
|
-
|
|
405
|
-
const res = hasher.digest(block)
|
|
406
|
-
|
|
407
|
-
if (isPromise(res)) {
|
|
408
|
-
hash = await res
|
|
409
|
-
} else {
|
|
410
|
-
hash = res
|
|
411
|
-
}
|
|
398
|
+
const hash = await hasher.digest(block)
|
|
412
399
|
|
|
413
400
|
if (!uint8ArrayEquals(hash.digest, cid.multihash.digest)) {
|
|
414
401
|
// if a hash mismatch occurs for a TrustlessGatewayBlockBroker, we should try another gateway
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { Await } from '@helia/interface';
|
|
2
|
-
import type { BlockCodec } from 'multiformats/codecs/interface';
|
|
3
|
-
export declare function getCodec<T = any, Code extends number = any>(initialCodecs?: Array<BlockCodec<any, any>>, loadCodec?: (code: number) => Await<BlockCodec<any, any>>): (code: Code) => Await<BlockCodec<Code, T>>;
|
|
4
|
-
//# sourceMappingURL=get-codec.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-codec.d.ts","sourceRoot":"","sources":["../../../src/utils/get-codec.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAE/D,wBAAgB,QAAQ,CAAE,CAAC,GAAG,GAAG,EAAE,IAAI,SAAS,MAAM,GAAG,GAAG,EAAG,aAAa,GAAE,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAkCrN"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/* eslint max-depth: ["error", 7] */
|
|
2
|
-
import { UnknownCodecError } from '@helia/interface';
|
|
3
|
-
import * as dagCbor from '@ipld/dag-cbor';
|
|
4
|
-
import * as dagJson from '@ipld/dag-json';
|
|
5
|
-
import * as dagPb from '@ipld/dag-pb';
|
|
6
|
-
import * as json from 'multiformats/codecs/json';
|
|
7
|
-
import * as raw from 'multiformats/codecs/raw';
|
|
8
|
-
import { isPromise } from './is-promise.js';
|
|
9
|
-
export function getCodec(initialCodecs = [], loadCodec) {
|
|
10
|
-
const codecs = {
|
|
11
|
-
[dagPb.code]: dagPb,
|
|
12
|
-
[raw.code]: raw,
|
|
13
|
-
[dagCbor.code]: dagCbor,
|
|
14
|
-
[dagJson.code]: dagJson,
|
|
15
|
-
[json.code]: json
|
|
16
|
-
};
|
|
17
|
-
initialCodecs.forEach(codec => {
|
|
18
|
-
codecs[codec.code] = codec;
|
|
19
|
-
});
|
|
20
|
-
return async (code) => {
|
|
21
|
-
let codec = codecs[code];
|
|
22
|
-
if (codec == null && loadCodec != null) {
|
|
23
|
-
const res = loadCodec(code);
|
|
24
|
-
if (isPromise(res)) {
|
|
25
|
-
codec = await res;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
codec = res;
|
|
29
|
-
}
|
|
30
|
-
codecs[codec.code] = codec;
|
|
31
|
-
}
|
|
32
|
-
if (codec != null) {
|
|
33
|
-
return codec;
|
|
34
|
-
}
|
|
35
|
-
throw new UnknownCodecError(`Could not load codec for ${code}`);
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=get-codec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-codec.js","sourceRoot":"","sources":["../../../src/utils/get-codec.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAA;AAChD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAI3C,MAAM,UAAU,QAAQ,CAAuC,gBAA6C,EAAE,EAAE,SAAyD;IACvK,MAAM,MAAM,GAAyC;QACnD,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK;QACnB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG;QACf,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO;QACvB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO;QACvB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI;KAClB,CAAA;IAED,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAExB,IAAI,KAAK,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;YAE3B,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,KAAK,GAAG,MAAM,GAAG,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,GAAG,CAAA;YACb,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QAC5B,CAAC;QAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,IAAI,iBAAiB,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAA;IACjE,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { Await } from '@helia/interface';
|
|
2
|
-
import type { MultihashHasher } from 'multiformats/hashes/interface';
|
|
3
|
-
export declare function getHasher(initialHashers?: MultihashHasher[], loadHasher?: (code: number) => Await<MultihashHasher>): (code: number) => Await<MultihashHasher>;
|
|
4
|
-
//# sourceMappingURL=get-hasher.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-hasher.d.ts","sourceRoot":"","sources":["../../../src/utils/get-hasher.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,wBAAgB,SAAS,CAAE,cAAc,GAAE,eAAe,EAAO,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,eAAe,CAAC,CAgClK"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { UnknownHashAlgorithmError } from '@helia/interface';
|
|
2
|
-
import { identity } from 'multiformats/hashes/identity';
|
|
3
|
-
import { sha256, sha512 } from 'multiformats/hashes/sha2';
|
|
4
|
-
import { isPromise } from './is-promise.js';
|
|
5
|
-
export function getHasher(initialHashers = [], loadHasher) {
|
|
6
|
-
const hashers = {
|
|
7
|
-
[sha256.code]: sha256,
|
|
8
|
-
[sha512.code]: sha512,
|
|
9
|
-
[identity.code]: identity
|
|
10
|
-
};
|
|
11
|
-
initialHashers.forEach(hasher => {
|
|
12
|
-
hashers[hasher.code] = hasher;
|
|
13
|
-
});
|
|
14
|
-
return async (code) => {
|
|
15
|
-
let hasher = hashers[code];
|
|
16
|
-
if (hasher == null && loadHasher != null) {
|
|
17
|
-
const res = loadHasher(code);
|
|
18
|
-
if (isPromise(res)) {
|
|
19
|
-
hasher = await res;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
hasher = res;
|
|
23
|
-
}
|
|
24
|
-
hashers[hasher.code] = hasher;
|
|
25
|
-
}
|
|
26
|
-
if (hasher != null) {
|
|
27
|
-
return hasher;
|
|
28
|
-
}
|
|
29
|
-
throw new UnknownHashAlgorithmError(`No hasher configured for multihash code 0x${code.toString(16)}, please configure one. You can look up which hash this is at https://github.com/multiformats/multicodec/blob/master/table.csv`);
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=get-hasher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-hasher.js","sourceRoot":"","sources":["../../../src/utils/get-hasher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAI3C,MAAM,UAAU,SAAS,CAAE,iBAAoC,EAAE,EAAE,UAAqD;IACtH,MAAM,OAAO,GAAoC;QAC/C,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM;QACrB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM;QACrB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ;KAC1B,CAAA;IAED,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAE1B,IAAI,MAAM,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAE5B,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,GAAG,MAAM,GAAG,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,CAAA;YACd,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;QAC/B,CAAC;QAED,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,MAAM,CAAA;QACf,CAAC;QAED,MAAM,IAAI,yBAAyB,CAAC,6CAA6C,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,gIAAgI,CAAC,CAAA;IACrO,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-promise.d.ts","sourceRoot":"","sources":["../../../src/utils/is-promise.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAE,CAAC,EAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAEvD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../../src/utils/is-promise.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAM,CAAO;IACpC,OAAO,CAAC,EAAE,IAAI,IAAI,IAAI,CAAA;AACxB,CAAC"}
|