You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: flatten signatures array directly onto records
Replace the signatureData wrapper object with a direct signatures
property on all record lexicons. app.certified.signature.list is now
a reusable array type (not an object), so records have flat access
at record.signatures[] instead of record.signatureData.signatures[].
This matches the ATProtocol Attestation Specification structure and
eliminates unnecessary nesting while keeping the array definition DRY
via a single shared lexicon ref.
Copy file name to clipboardExpand all lines: .changeset/fuzzy-pandas-smile.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,12 +9,12 @@ Adds optional cryptographic signature support to all record lexicons, enabling p
9
9
**New lexicons:**
10
10
11
11
-`app.certified.signature.inline` - Inline cryptographic signature object with JOSE algorithm identifiers (ES256, ES256K, Ed25519)
12
-
-`app.certified.signature.list` - Container object with `signatures`array supporting both inline signatures and remote attestation references
12
+
-`app.certified.signature.list` - Reusable array type (union of inline signatures and strongRefs to remote proofs)
13
13
-`app.certified.signature.proof` - Remote attestation proof record containing the CID of attested content
14
14
15
15
**Changes to existing lexicons:**
16
16
17
-
All 20 record lexicons now include an optional `signatureData` property that references `app.certified.signature.list`:
17
+
All 20 record lexicons now include an optional `signatures` property (a ref to `app.certified.signature.list`) placed directly on the record with no wrapper object:
|**Inline Signature**|`app.certified.signature.inline`| An inline cryptographic signature for attesting to record content. Uses JOSE algorithm identifiers (ES256, ES256K, Ed25519). |
286
-
|**Signature List**|`app.certified.signature.list`|Container object with a `signatures` array. Referenced by all record lexicons via `signatureData` property.|
286
+
|**Signature List**|`app.certified.signature.list`|Reusable array type (union of inline signatures and strongRefs). Referenced by all record lexicons via the `signatures` property. |
287
287
|**Proof**|`app.certified.signature.proof`| Remote attestation proof record containing the CID of attested content. Lives in the attestor's repository and can be referenced via strongRef. |
288
288
289
-
All record lexicons include an optional `signatureData` property that references `app.certified.signature.list`, enabling cryptographic attestations. See [Cryptographic Signatures](#cryptographic-signatures) for usage details.
289
+
All record lexicons include an optional `signatures` property (a ref to `app.certified.signature.list`) enabling cryptographic attestations. See [Cryptographic Signatures](#cryptographic-signatures) for usage details.
All record lexicons support optional cryptographic signatures via the `signatureData` property. This enables platform attestation and verification that records were created through trusted services.
512
+
All record lexicons support optional cryptographic signatures via the `signatures` property. This enables platform attestation and verification that records were created through trusted services.
513
513
514
514
Signatures support two patterns:
515
515
@@ -525,25 +525,23 @@ const signedActivity = {
525
525
title: "Verified Reforestation Project",
526
526
shortDescription: "Planted 1,000 trees in partnership with local community",
527
527
createdAt: newDate().toISOString(),
528
-
signatureData: {
529
-
signatures: [
530
-
// Inline signature (embedded)
531
-
{
532
-
$type: "app.certified.signature.inline",
533
-
signatureType: "ES256K", // JOSE algorithm: secp256k1
534
-
signature: newUint8Array([
535
-
/* signature bytes */
536
-
]),
537
-
key: "did:plc:platform123#signing", // DID verification method
538
-
},
539
-
// Remote attestation (reference to proof in another repo)
0 commit comments