@peerbit/trusted-network 6.0.113 → 6.0.114
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/src/v2-authority-entry.d.ts +13 -17
- package/dist/src/v2-authority-entry.d.ts.map +1 -1
- package/dist/src/v2-authority-entry.js +78 -147
- package/dist/src/v2-authority-entry.js.map +1 -1
- package/dist/src/v2-policy-engine.d.ts.map +1 -1
- package/dist/src/v2-policy-engine.js +4 -42
- package/dist/src/v2-policy-engine.js.map +1 -1
- package/dist/src/v2-resource-fence-entry.d.ts.map +1 -1
- package/dist/src/v2-resource-fence-entry.js +115 -11
- package/dist/src/v2-resource-fence-entry.js.map +1 -1
- package/dist/src/v2.d.ts.map +1 -1
- package/dist/src/v2.js +22 -0
- package/dist/src/v2.js.map +1 -1
- package/package.json +4 -4
- package/src/v2-authority-entry.ts +110 -221
- package/src/v2-policy-engine.ts +7 -54
- package/src/v2-resource-fence-entry.ts +180 -10
- package/src/v2.ts +25 -0
|
@@ -1,27 +1,23 @@
|
|
|
1
|
+
import { EntryV0 } from "@peerbit/log";
|
|
1
2
|
import { NetworkDescriptorV2 } from "./v2.js";
|
|
2
|
-
/** Internal limits selected by a concrete TrustedNetwork v2 record profile. */
|
|
3
|
-
export type AuthorityEntryV0LimitsV2 = {
|
|
4
|
-
maximumEntryBytes: number;
|
|
5
|
-
maximumDirectParents: number;
|
|
6
|
-
exactPayloadBytes?: number;
|
|
7
|
-
};
|
|
8
3
|
export type AuthenticatedAuthorityEntryV0V2 = {
|
|
9
4
|
descriptor: NetworkDescriptorV2;
|
|
10
5
|
entryBytes: Uint8Array;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
gid: string;
|
|
14
|
-
metaData?: Uint8Array;
|
|
15
|
-
directParents: Array<{
|
|
16
|
-
cid: string;
|
|
17
|
-
digest: Uint8Array;
|
|
18
|
-
}>;
|
|
6
|
+
entry: EntryV0<Uint8Array>;
|
|
7
|
+
metaBytes: Uint8Array;
|
|
19
8
|
payloadBytes: Uint8Array;
|
|
9
|
+
reservedBytes: Uint8Array;
|
|
10
|
+
hasHash: boolean;
|
|
11
|
+
directParentCount: number;
|
|
20
12
|
};
|
|
13
|
+
export type AuthorityEntryV0ProfileV2 = (entry: AuthenticatedAuthorityEntryV0V2) => void;
|
|
14
|
+
export declare const captureAuthorityEntryV0BytesV2: (entryBytes: Uint8Array, maximumEntryBytes: number) => Uint8Array;
|
|
21
15
|
/**
|
|
22
16
|
* Authenticate one bounded raw EntryV0 authority envelope. This establishes
|
|
23
|
-
* canonical bytes
|
|
24
|
-
* establish policy acceptance, causal ancestry,
|
|
17
|
+
* canonical bytes and the sole public authority signature only. It does not
|
|
18
|
+
* establish a concrete record profile, policy acceptance, causal ancestry,
|
|
19
|
+
* freshness, or durability.
|
|
25
20
|
*/
|
|
26
|
-
export declare const
|
|
21
|
+
export declare const authenticateCapturedAuthorityEntryV0V2: (capturedEntryBytes: Uint8Array, descriptor: NetworkDescriptorV2, assertProfile?: AuthorityEntryV0ProfileV2) => Promise<AuthenticatedAuthorityEntryV0V2>;
|
|
22
|
+
export declare const authenticateAuthorityEntryV0V2: (entryBytes: Uint8Array, descriptor: NetworkDescriptorV2, maximumEntryBytes: number, assertProfile?: AuthorityEntryV0ProfileV2) => Promise<AuthenticatedAuthorityEntryV0V2>;
|
|
27
23
|
//# sourceMappingURL=v2-authority-entry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-authority-entry.d.ts","sourceRoot":"","sources":["../../src/v2-authority-entry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"v2-authority-entry.d.ts","sourceRoot":"","sources":["../../src/v2-authority-entry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,OAAO,EAAe,MAAM,cAAc,CAAC;AAE3D,OAAO,EACN,mBAAmB,EAInB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,+BAA+B,GAAG;IAC7C,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,YAAY,EAAE,UAAU,CAAC;IACzB,aAAa,EAAE,UAAU,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,CACvC,KAAK,EAAE,+BAA+B,KAClC,IAAI,CAAC;AAyLV,eAAO,MAAM,8BAA8B,GAC1C,YAAY,UAAU,EACtB,mBAAmB,MAAM,KACvB,UAcF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sCAAsC,GAClD,oBAAoB,UAAU,EAC9B,YAAY,mBAAmB,EAC/B,gBAAgB,yBAAyB,KACvC,OAAO,CAAC,+BAA+B,CAoEzC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAC1C,YAAY,UAAU,EACtB,YAAY,mBAAmB,EAC/B,mBAAmB,MAAM,EACzB,gBAAgB,yBAAyB,KACvC,OAAO,CAAC,+BAA+B,CAKxC,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { deserialize, serialize } from "@dao-xyz/borsh";
|
|
2
|
-
import { calculateRawCid, cidifyString, codecMap, defaultHasher, stringifyCid, } from "@peerbit/blocks-interface";
|
|
3
2
|
import { DecryptedThing, verify } from "@peerbit/crypto";
|
|
4
|
-
import { Entry,
|
|
3
|
+
import { Entry, EntryV0, NO_ENCODING } from "@peerbit/log";
|
|
5
4
|
import { equals } from "uint8arrays";
|
|
6
|
-
import { NetworkDescriptorV2, assertNetworkDescriptorV2,
|
|
5
|
+
import { NetworkDescriptorV2, assertNetworkDescriptorV2, copyUint8ArrayWithLengthV2, exactUint8ArrayByteLengthV2, } from "./v2.js";
|
|
7
6
|
class BoundsReaderV2 {
|
|
8
7
|
bytes;
|
|
9
8
|
offset = 0;
|
|
@@ -15,6 +14,9 @@ class BoundsReaderV2 {
|
|
|
15
14
|
get position() {
|
|
16
15
|
return this.offset;
|
|
17
16
|
}
|
|
17
|
+
get remaining() {
|
|
18
|
+
return this.bytes.byteLength - this.offset;
|
|
19
|
+
}
|
|
18
20
|
readU8(label) {
|
|
19
21
|
return this.readExact(1, label)[0];
|
|
20
22
|
}
|
|
@@ -52,31 +54,31 @@ class BoundsReaderV2 {
|
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
const readPublicWrapperV2 = (reader, label) => {
|
|
55
|
-
reader.
|
|
56
|
-
|
|
57
|
+
if (reader.readU8(`${label} MaybeEncrypted variant`) !== 0 ||
|
|
58
|
+
reader.readU8(`${label} DecryptedThing variant`) !== 0) {
|
|
59
|
+
throw new Error(`Authority EntryV0 ${label} must be public`);
|
|
60
|
+
}
|
|
57
61
|
return reader.readBytes(label);
|
|
58
62
|
};
|
|
59
|
-
const
|
|
63
|
+
const scanMetaStructureV2 = (metaBytes) => {
|
|
60
64
|
const reader = new BoundsReaderV2(metaBytes);
|
|
61
65
|
reader.expectU8(0, "metadata variant");
|
|
62
66
|
reader.expectU8(0, "clock variant");
|
|
63
|
-
|
|
64
|
-
throw new Error("Authority EntryV0 clock id is not the policy authority");
|
|
65
|
-
}
|
|
67
|
+
reader.readBytes("clock id");
|
|
66
68
|
reader.expectU8(0, "timestamp variant");
|
|
67
69
|
reader.readExact(8, "timestamp wall time");
|
|
68
70
|
reader.readExact(4, "timestamp logical time");
|
|
69
71
|
reader.readBytes("gid");
|
|
70
72
|
const directParentCount = reader.readU32("direct-parent count");
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
// Every Borsh string starts with a four-byte length. Reject an impossible
|
|
74
|
+
// input-backed count before iterating or invoking the generic decoder.
|
|
75
|
+
if (directParentCount > Math.floor(reader.remaining / 4)) {
|
|
76
|
+
throw new Error("Authority EntryV0 has impossible direct-parent count");
|
|
73
77
|
}
|
|
74
78
|
for (let i = 0; i < directParentCount; i++) {
|
|
75
79
|
reader.readBytes("direct parent");
|
|
76
80
|
}
|
|
77
|
-
|
|
78
|
-
throw new Error("Authority EntryV0 must be an APPEND entry");
|
|
79
|
-
}
|
|
81
|
+
reader.readU8("entry type");
|
|
80
82
|
const metaDataOption = reader.readU8("metadata data option");
|
|
81
83
|
if (metaDataOption === 1) {
|
|
82
84
|
reader.readBytes("metadata data");
|
|
@@ -85,141 +87,72 @@ const scanMetaV2 = (metaBytes, authorityBytes, maximumDirectParents) => {
|
|
|
85
87
|
throw new Error("Authority EntryV0 has invalid metadata data option");
|
|
86
88
|
}
|
|
87
89
|
reader.expectDone("metadata");
|
|
90
|
+
return directParentCount;
|
|
88
91
|
};
|
|
89
|
-
const
|
|
92
|
+
const scanPayloadStructureV2 = (payloadBytes) => {
|
|
90
93
|
const reader = new BoundsReaderV2(payloadBytes);
|
|
91
94
|
reader.expectU8(0, "payload variant");
|
|
92
95
|
const data = reader.readBytes("payload data");
|
|
93
|
-
if (exactPayloadBytes !== undefined &&
|
|
94
|
-
data.byteLength !== exactPayloadBytes) {
|
|
95
|
-
throw new Error(`Authority EntryV0 payload must contain exactly ${exactPayloadBytes} bytes`);
|
|
96
|
-
}
|
|
97
96
|
reader.expectDone("payload");
|
|
97
|
+
return data;
|
|
98
98
|
};
|
|
99
|
-
const
|
|
100
|
-
const SECP256K1_LOW_S_MAX_HEX = "7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0";
|
|
101
|
-
const isLowerHexByteV2 = (value) => (value >= 0x30 && value <= 0x39) || (value >= 0x61 && value <= 0x66);
|
|
102
|
-
const assertCanonicalSecp256k1SignatureV2 = (signature) => {
|
|
103
|
-
if (signature.byteLength !== SECP256K1_SIGNATURE_TEXT_BYTES ||
|
|
104
|
-
signature[0] !== 0x30 ||
|
|
105
|
-
signature[1] !== 0x78) {
|
|
106
|
-
throw new Error("Authority EntryV0 secp256k1 signature is not canonical");
|
|
107
|
-
}
|
|
108
|
-
for (let i = 2; i < signature.byteLength; i++) {
|
|
109
|
-
if (!isLowerHexByteV2(signature[i])) {
|
|
110
|
-
throw new Error("Authority EntryV0 secp256k1 signature is not canonical");
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
if (signature[130] !== 0x31 ||
|
|
114
|
-
(signature[131] !== 0x62 && signature[131] !== 0x63)) {
|
|
115
|
-
throw new Error("Authority EntryV0 secp256k1 signature is not canonical");
|
|
116
|
-
}
|
|
117
|
-
for (let i = 0; i < SECP256K1_LOW_S_MAX_HEX.length; i++) {
|
|
118
|
-
const actual = signature[66 + i];
|
|
119
|
-
const maximum = SECP256K1_LOW_S_MAX_HEX.charCodeAt(i);
|
|
120
|
-
if (actual < maximum)
|
|
121
|
-
break;
|
|
122
|
-
if (actual > maximum) {
|
|
123
|
-
throw new Error("Authority EntryV0 secp256k1 signature is not canonical");
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
const scanSignatureV2 = (signatureBytes, authorityBytes) => {
|
|
99
|
+
const scanSignatureStructureV2 = (signatureBytes) => {
|
|
128
100
|
const reader = new BoundsReaderV2(signatureBytes);
|
|
129
101
|
reader.expectU8(0, "signature variant");
|
|
130
|
-
|
|
102
|
+
reader.readBytes("signature data");
|
|
131
103
|
const publicKeyVariant = reader.readU8("signature public-key variant");
|
|
132
104
|
const publicKeyLength = publicKeyVariant === 0 ? 32 : publicKeyVariant === 1 ? 33 : undefined;
|
|
133
105
|
if (publicKeyLength === undefined) {
|
|
134
106
|
throw new Error("Authority EntryV0 uses an unsupported signing key");
|
|
135
107
|
}
|
|
136
|
-
|
|
137
|
-
const serializedPublicKey = new Uint8Array(publicKeyLength + 1);
|
|
138
|
-
serializedPublicKey[0] = publicKeyVariant;
|
|
139
|
-
serializedPublicKey.set(publicKey, 1);
|
|
140
|
-
if (!equals(serializedPublicKey, authorityBytes)) {
|
|
141
|
-
throw new Error("Authority EntryV0 signer is not the policy authority");
|
|
142
|
-
}
|
|
143
|
-
if (publicKeyVariant === 1) {
|
|
144
|
-
assertCanonicalSecp256k1SignatureV2(signature);
|
|
145
|
-
}
|
|
108
|
+
reader.readExact(publicKeyLength, "signature public key");
|
|
146
109
|
reader.readU8("signature prehash");
|
|
147
110
|
reader.expectDone("signature");
|
|
148
111
|
};
|
|
149
|
-
const
|
|
112
|
+
const scanEntryV0StructureV2 = (entryBytes) => {
|
|
150
113
|
const reader = new BoundsReaderV2(entryBytes);
|
|
151
114
|
reader.expectU8(0, "entry variant");
|
|
152
115
|
const metaBytes = readPublicWrapperV2(reader, "metadata");
|
|
153
|
-
const
|
|
154
|
-
const
|
|
155
|
-
if (reserved[0] !== 0 ||
|
|
156
|
-
reserved[1] !== 0 ||
|
|
157
|
-
reserved[2] !== 0 ||
|
|
158
|
-
reserved[3] !== 0) {
|
|
159
|
-
throw new Error("Authority EntryV0 reserved bytes must be zero");
|
|
160
|
-
}
|
|
116
|
+
const payloadContainerBytes = readPublicWrapperV2(reader, "payload");
|
|
117
|
+
const reservedBytes = reader.readExact(4, "reserved bytes");
|
|
161
118
|
const signablePrefixLength = reader.position;
|
|
162
|
-
reader.
|
|
119
|
+
if (reader.readU8("signatures option") !== 1) {
|
|
120
|
+
throw new Error("Authority EntryV0 must contain exactly one signature");
|
|
121
|
+
}
|
|
163
122
|
reader.expectU8(0, "signatures variant");
|
|
164
123
|
if (reader.readU32("signature count") !== 1) {
|
|
165
124
|
throw new Error("Authority EntryV0 must contain exactly one signature");
|
|
166
125
|
}
|
|
167
126
|
const signatureBytes = readPublicWrapperV2(reader, "signature");
|
|
168
|
-
reader.
|
|
127
|
+
const hashOption = reader.readU8("hash option");
|
|
128
|
+
if (hashOption === 1) {
|
|
129
|
+
reader.readBytes("hash");
|
|
130
|
+
}
|
|
131
|
+
else if (hashOption !== 0) {
|
|
132
|
+
throw new Error("Authority EntryV0 has invalid hash option");
|
|
133
|
+
}
|
|
169
134
|
reader.expectDone("storage");
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
135
|
+
const directParentCount = scanMetaStructureV2(metaBytes);
|
|
136
|
+
const payloadBytes = scanPayloadStructureV2(payloadContainerBytes);
|
|
137
|
+
scanSignatureStructureV2(signatureBytes);
|
|
173
138
|
const signableBytes = new Uint8Array(signablePrefixLength + 2);
|
|
174
139
|
signableBytes.set(entryBytes.subarray(0, signablePrefixLength));
|
|
175
|
-
return {
|
|
140
|
+
return {
|
|
141
|
+
metaBytes,
|
|
142
|
+
payloadBytes,
|
|
143
|
+
signableBytes,
|
|
144
|
+
reservedBytes,
|
|
145
|
+
hasHash: hashOption === 1,
|
|
146
|
+
directParentCount,
|
|
147
|
+
};
|
|
176
148
|
};
|
|
177
|
-
const
|
|
178
|
-
if (!Number.isSafeInteger(
|
|
179
|
-
|
|
180
|
-
!Number.isSafeInteger(limits.maximumDirectParents) ||
|
|
181
|
-
limits.maximumDirectParents < 0 ||
|
|
182
|
-
(limits.exactPayloadBytes !== undefined &&
|
|
183
|
-
(!Number.isSafeInteger(limits.exactPayloadBytes) ||
|
|
184
|
-
limits.exactPayloadBytes < 0))) {
|
|
185
|
-
throw new Error("Invalid internal authority EntryV0 limits");
|
|
149
|
+
const validateMaximumEntryBytesV2 = (maximumEntryBytes) => {
|
|
150
|
+
if (!Number.isSafeInteger(maximumEntryBytes) || maximumEntryBytes < 1) {
|
|
151
|
+
throw new Error("Invalid internal authority EntryV0 byte limit");
|
|
186
152
|
}
|
|
187
153
|
};
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
return parents.map((cid) => {
|
|
191
|
-
let parsed;
|
|
192
|
-
try {
|
|
193
|
-
parsed = cidifyString(cid);
|
|
194
|
-
}
|
|
195
|
-
catch {
|
|
196
|
-
throw new Error("Authority EntryV0 direct parents must use canonical CIDv1/raw/sha2-256");
|
|
197
|
-
}
|
|
198
|
-
if (!cid ||
|
|
199
|
-
parsed.version !== 1 ||
|
|
200
|
-
parsed.code !== codecMap.raw.code ||
|
|
201
|
-
parsed.multihash.code !== defaultHasher.code ||
|
|
202
|
-
parsed.multihash.digest.byteLength !== 32 ||
|
|
203
|
-
stringifyCid(parsed) !== cid) {
|
|
204
|
-
throw new Error("Authority EntryV0 direct parents must use canonical CIDv1/raw/sha2-256");
|
|
205
|
-
}
|
|
206
|
-
if (seen.has(cid)) {
|
|
207
|
-
throw new Error("Authority EntryV0 direct parents must be unique");
|
|
208
|
-
}
|
|
209
|
-
seen.add(cid);
|
|
210
|
-
return {
|
|
211
|
-
cid,
|
|
212
|
-
digest: copyUint8ArrayV2(parsed.multihash.digest),
|
|
213
|
-
};
|
|
214
|
-
});
|
|
215
|
-
};
|
|
216
|
-
/**
|
|
217
|
-
* Authenticate one bounded raw EntryV0 authority envelope. This establishes
|
|
218
|
-
* canonical bytes, authority signature, and structural facts only. It does not
|
|
219
|
-
* establish policy acceptance, causal ancestry, freshness, or durability.
|
|
220
|
-
*/
|
|
221
|
-
export const authenticateAuthorityEntryV0V2 = async (entryBytes, descriptor, limits) => {
|
|
222
|
-
validateLimitsV2(limits);
|
|
154
|
+
export const captureAuthorityEntryV0BytesV2 = (entryBytes, maximumEntryBytes) => {
|
|
155
|
+
validateMaximumEntryBytesV2(maximumEntryBytes);
|
|
223
156
|
let byteLength;
|
|
224
157
|
try {
|
|
225
158
|
byteLength = exactUint8ArrayByteLengthV2(entryBytes);
|
|
@@ -227,13 +160,21 @@ export const authenticateAuthorityEntryV0V2 = async (entryBytes, descriptor, lim
|
|
|
227
160
|
catch {
|
|
228
161
|
throw new Error("Authority entry must use canonical EntryV0 bytes");
|
|
229
162
|
}
|
|
230
|
-
if (byteLength < 1 || byteLength >
|
|
231
|
-
throw new Error(`Authority EntryV0 must contain 1-${
|
|
163
|
+
if (byteLength < 1 || byteLength > maximumEntryBytes) {
|
|
164
|
+
throw new Error(`Authority EntryV0 must contain 1-${maximumEntryBytes} bytes`);
|
|
232
165
|
}
|
|
233
|
-
|
|
166
|
+
return copyUint8ArrayWithLengthV2(entryBytes, byteLength);
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Authenticate one bounded raw EntryV0 authority envelope. This establishes
|
|
170
|
+
* canonical bytes and the sole public authority signature only. It does not
|
|
171
|
+
* establish a concrete record profile, policy acceptance, causal ancestry,
|
|
172
|
+
* freshness, or durability.
|
|
173
|
+
*/
|
|
174
|
+
export const authenticateCapturedAuthorityEntryV0V2 = async (capturedEntryBytes, descriptor, assertProfile) => {
|
|
234
175
|
assertNetworkDescriptorV2(descriptor);
|
|
235
176
|
const authorityBytes = serialize(descriptor.policyAuthority);
|
|
236
|
-
const scanned =
|
|
177
|
+
const scanned = scanEntryV0StructureV2(capturedEntryBytes);
|
|
237
178
|
const capturedDescriptor = deserialize(serialize(descriptor), NetworkDescriptorV2);
|
|
238
179
|
assertNetworkDescriptorV2(capturedDescriptor);
|
|
239
180
|
if (!equals(serialize(capturedDescriptor.policyAuthority), authorityBytes)) {
|
|
@@ -258,27 +199,26 @@ export const authenticateAuthorityEntryV0V2 = async (entryBytes, descriptor, lim
|
|
|
258
199
|
throw new Error("Authority EntryV0 must contain one public signature");
|
|
259
200
|
}
|
|
260
201
|
entry.init({ encoding: NO_ENCODING });
|
|
261
|
-
const meta = entry.meta;
|
|
262
202
|
const payload = entry.payload;
|
|
263
203
|
const signatures = entry.signatures;
|
|
264
|
-
if (!equals(scanned.metaBytes, serialize(meta)) ||
|
|
265
|
-
!equals(scanned.payloadBytes, serialize(payload)) ||
|
|
266
|
-
!equals(scanned.signatureBytes, serialize(signatures[0]))) {
|
|
267
|
-
throw new Error("Authority EntryV0 nested encoding is not canonical");
|
|
268
|
-
}
|
|
269
|
-
if (meta.type !== EntryType.APPEND ||
|
|
270
|
-
meta.next.length > limits.maximumDirectParents ||
|
|
271
|
-
!equals(meta.clock.id, authorityBytes)) {
|
|
272
|
-
throw new Error("Authority EntryV0 metadata does not match its profile");
|
|
273
|
-
}
|
|
274
204
|
if (signatures.length !== 1 ||
|
|
275
205
|
!equals(serialize(signatures[0].publicKey), authorityBytes)) {
|
|
276
206
|
throw new Error("Authority EntryV0 signer is not the policy authority");
|
|
277
207
|
}
|
|
278
|
-
if (
|
|
279
|
-
payload
|
|
280
|
-
throw new Error(`Authority EntryV0 payload must contain exactly ${limits.exactPayloadBytes} bytes`);
|
|
208
|
+
if (!equals(scanned.payloadBytes, payload.data)) {
|
|
209
|
+
throw new Error("Authority EntryV0 payload framing is inconsistent");
|
|
281
210
|
}
|
|
211
|
+
const authenticated = {
|
|
212
|
+
descriptor: capturedDescriptor,
|
|
213
|
+
entryBytes: capturedEntryBytes,
|
|
214
|
+
entry,
|
|
215
|
+
metaBytes: scanned.metaBytes,
|
|
216
|
+
payloadBytes: payload.data,
|
|
217
|
+
reservedBytes: scanned.reservedBytes,
|
|
218
|
+
hasHash: scanned.hasHash,
|
|
219
|
+
directParentCount: scanned.directParentCount,
|
|
220
|
+
};
|
|
221
|
+
assertProfile?.(authenticated);
|
|
282
222
|
let signatureIsValid = false;
|
|
283
223
|
try {
|
|
284
224
|
signatureIsValid = await verify(signatures[0], scanned.signableBytes);
|
|
@@ -289,16 +229,7 @@ export const authenticateAuthorityEntryV0V2 = async (entryBytes, descriptor, lim
|
|
|
289
229
|
if (!signatureIsValid) {
|
|
290
230
|
throw new Error("Authority EntryV0 signature is invalid");
|
|
291
231
|
}
|
|
292
|
-
|
|
293
|
-
return {
|
|
294
|
-
descriptor: capturedDescriptor,
|
|
295
|
-
entryBytes: capturedEntryBytes,
|
|
296
|
-
entryCid: prepared.cid,
|
|
297
|
-
entryDigest: copyUint8ArrayV2(prepared.block.cid.multihash.digest),
|
|
298
|
-
gid: meta.gid,
|
|
299
|
-
metaData: meta.data === undefined ? undefined : copyUint8ArrayV2(meta.data),
|
|
300
|
-
directParents: canonicalDirectParentsV2(meta.next),
|
|
301
|
-
payloadBytes: copyUint8ArrayV2(payload.data),
|
|
302
|
-
};
|
|
232
|
+
return authenticated;
|
|
303
233
|
};
|
|
234
|
+
export const authenticateAuthorityEntryV0V2 = async (entryBytes, descriptor, maximumEntryBytes, assertProfile) => authenticateCapturedAuthorityEntryV0V2(captureAuthorityEntryV0BytesV2(entryBytes, maximumEntryBytes), descriptor, assertProfile);
|
|
304
235
|
//# sourceMappingURL=v2-authority-entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-authority-entry.js","sourceRoot":"","sources":["../../src/v2-authority-entry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"v2-authority-entry.js","sourceRoot":"","sources":["../../src/v2-authority-entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-policy-engine.d.ts","sourceRoot":"","sources":["../../src/v2-policy-engine.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"v2-policy-engine.d.ts","sourceRoot":"","sources":["../../src/v2-policy-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { deserialize, serialize } from "@dao-xyz/borsh";
|
|
2
|
-
import {
|
|
3
|
-
import { Entry, EntryV0, NO_ENCODING } from "@peerbit/log";
|
|
2
|
+
import { PublicSignKey } from "@peerbit/crypto";
|
|
4
3
|
import { compare, equals } from "uint8arrays";
|
|
4
|
+
import { authenticateCapturedAuthorityEntryV0V2 } from "./v2-authority-entry.js";
|
|
5
5
|
import { NetworkDescriptorV2, PolicySnapshotBodyV2, PolicySubjectBindingV2, TRUSTED_NETWORK_V2_KNOWN_ROLE_BITS, TRUSTED_NETWORK_V2_MAX_POLICY_ENTRY_BYTES, assertNetworkDescriptorV2, decodePolicySnapshotBodyV2, digestPolicySnapshotBodyV2, } from "./v2.js";
|
|
6
6
|
/**
|
|
7
7
|
* Internal policy reducer for the non-activatable TrustedNetwork v2 scaffold.
|
|
@@ -109,46 +109,8 @@ const capturePolicySnapshotEntryBytesV2 = (entryBytes) => {
|
|
|
109
109
|
return copyBytesWithLength(entryBytes, byteLength);
|
|
110
110
|
};
|
|
111
111
|
const authenticateCapturedPolicySnapshotEntryV2 = async (canonicalEntryBytes, descriptor) => {
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
throw new Error("Policy snapshot must use EntryV0");
|
|
115
|
-
}
|
|
116
|
-
if (!equals(canonicalEntryBytes, serialize(authenticatedEntry))) {
|
|
117
|
-
throw new Error("Policy snapshot entry encoding is not canonical");
|
|
118
|
-
}
|
|
119
|
-
if (!(authenticatedEntry._meta instanceof DecryptedThing)) {
|
|
120
|
-
throw new Error("Policy snapshot metadata must be public");
|
|
121
|
-
}
|
|
122
|
-
if (!(authenticatedEntry._payload instanceof DecryptedThing)) {
|
|
123
|
-
throw new Error("Policy snapshot payload must be public");
|
|
124
|
-
}
|
|
125
|
-
if (authenticatedEntry._signatures === undefined ||
|
|
126
|
-
authenticatedEntry._signatures.signatures.length !== 1) {
|
|
127
|
-
throw new Error("Policy snapshot must contain exactly one signature");
|
|
128
|
-
}
|
|
129
|
-
if (!(authenticatedEntry._signatures.signatures[0] instanceof DecryptedThing)) {
|
|
130
|
-
throw new Error("Policy snapshot signature must be public");
|
|
131
|
-
}
|
|
132
|
-
authenticatedEntry.init({ encoding: NO_ENCODING });
|
|
133
|
-
const signatures = await authenticatedEntry.getSignatures();
|
|
134
|
-
if (signatures.length !== 1) {
|
|
135
|
-
throw new Error("Policy snapshot must resolve exactly one signature");
|
|
136
|
-
}
|
|
137
|
-
const signature = signatures[0];
|
|
138
|
-
if (!equals(serialize(signature.publicKey), serialize(descriptor.policyAuthority))) {
|
|
139
|
-
throw new Error("Policy snapshot signer is not the policy authority");
|
|
140
|
-
}
|
|
141
|
-
if (!(await verify(signature, authenticatedEntry.getSignableBytes()))) {
|
|
142
|
-
throw new Error("Policy snapshot authority signature is invalid");
|
|
143
|
-
}
|
|
144
|
-
const payload = await authenticatedEntry.getPayloadValue();
|
|
145
|
-
let canonicalPayload;
|
|
146
|
-
try {
|
|
147
|
-
canonicalPayload = copyBytes(payload);
|
|
148
|
-
}
|
|
149
|
-
catch {
|
|
150
|
-
throw new Error("Policy snapshot payload must contain canonical body bytes");
|
|
151
|
-
}
|
|
112
|
+
const authenticated = await authenticateCapturedAuthorityEntryV0V2(canonicalEntryBytes, descriptor);
|
|
113
|
+
const canonicalPayload = authenticated.payloadBytes;
|
|
152
114
|
const body = decodePolicySnapshotBodyV2(canonicalPayload, descriptor);
|
|
153
115
|
const digest = digestPolicySnapshotBodyV2(body);
|
|
154
116
|
return {
|