hypercore-signing-request 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +8 -7
  2. package/package.json +3 -3
package/index.js CHANGED
@@ -90,7 +90,6 @@ async function generate (core, { length = core.length, fork = core.fork, manifes
90
90
  if (core.blobs) return generateDrive(core, { length, fork, manifest })
91
91
 
92
92
  if (core.core.compat && !manifest) throw new Error('Cannot generate signing requests for compat cores')
93
- if (core.fork !== fork) throw new Error('Core should have the same fork')
94
93
  if (!manifest) manifest = core.manifest
95
94
 
96
95
  return c.encode(Request, {
@@ -141,19 +140,21 @@ function decode (buffer) {
141
140
  function signable (pub, req) {
142
141
  const v = req.manifest.version
143
142
 
144
- for (const s of req.manifest.signers) {
143
+ for (let signer = 0; signer < req.manifest.signers.length; signer++) {
144
+ const s = req.manifest.signers[signer]
145
145
  if (!s.publicKey.equals(pub)) continue
146
146
 
147
- if (req.isHyperdrive) return driveSignable(pub, req)
147
+ if (req.isHyperdrive) return driveSignable(pub, req, signer)
148
148
 
149
149
  const signable = caps.treeSignable(v === 0 ? s.namespace : req.key, req.treeHash, req.length, req.fork)
150
- return [signable]
150
+
151
+ return [{ signer, signable }]
151
152
  }
152
153
 
153
154
  throw new Error('Public key is not a declared signer for this request')
154
155
  }
155
156
 
156
- function driveSignable (pub, req) {
157
+ function driveSignable (pub, req, signer) {
157
158
  const contentKey = Hyperdrive.getContentKey(req.manifest)
158
159
  if (!contentKey) {
159
160
  throw new Error('Drive is not compatible, needs v1 manifest')
@@ -163,7 +164,7 @@ function driveSignable (pub, req) {
163
164
  const content = caps.treeSignable(contentKey, req.content.treeHash, req.content.length, req.fork)
164
165
 
165
166
  return [
166
- signable,
167
- content
167
+ { signer, signable },
168
+ { signer, signable: content }
168
169
  ]
169
170
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hypercore-signing-request",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "Generate shareable signing requests for Hypercore",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -12,8 +12,8 @@
12
12
  "dependencies": {
13
13
  "compact-encoding": "^2.13.0",
14
14
  "hypercore": "^10.32.8",
15
- "hyperdrive": "^11.7.0",
16
- "hypercore-id-encoding": "^1.2.0"
15
+ "hypercore-id-encoding": "^1.2.0",
16
+ "hyperdrive": "^11.8.1"
17
17
  },
18
18
  "repository": {
19
19
  "type": "git",