From 490f81aee2dff0626e0605a52d2f272110589634 Mon Sep 17 00:00:00 2001 From: Wes Biggs <40926006+wesbiggs@users.noreply.github.com> Date: Wed, 25 Sep 2024 11:51:28 -0500 Subject: [PATCH] Remove Rococo and add DSNP 1.3 mappings (#284) Remove Rococo, update DSNP 1.3 mappings, errata for public-key-key-agreement multicodec confusion Still some TBDs on schema Ids, tentatively trying to get those in before we merge this. --------- Co-authored-by: Wes Biggs --- pages/Frequency/Overview.md | 37 +++++++++++++++++++---------------- pages/Frequency/Publishing.md | 14 +++++++------ pages/Frequency/UserData.md | 19 +++++++++++------- 3 files changed, 40 insertions(+), 30 deletions(-) diff --git a/pages/Frequency/Overview.md b/pages/Frequency/Overview.md index 75cdb843..64882d9f 100644 --- a/pages/Frequency/Overview.md +++ b/pages/Frequency/Overview.md @@ -19,26 +19,29 @@ Official schemas may be found in [GitHub](https://github.com/LibertyDSNP/schemas -| Name | Schema Name | Schema Id Mainnet | Schema Id Testnet (Paseo) | Schema Id Testnet (Rococo) | -| --- | --- | --- | --- | --- | -| [Tombstone](./Publishing.md) | `dsnp.tombstone` | 1 | 1 | 1 | -| [Broadcast](./Publishing.md) | `dsnp.broadcast` | 2 | 2 | 2 | -| [Reply](./Publishing.md) | `dsnp.reply` | 3 | 3 | 3 | -| [Reaction](./Publishing.md)| `dsnp.reaction` | 4 | 4 | 4 | -| [Profile](./Publishing.md) | `dsnp.profile` | 6 | 6 | 5 | -| [Update](./Publishing.md)| `dsnp.update` | 5 | 5 | 6 | -| [Key Agreement Public Keys](./UserData.md)| `dsnp.public-key-key-agreement` | 7 | 7 | 18 | -| [Public Follows](./UserData.md)| `dsnp.public-follows` | 8 | 8 | 13 | -| [Private Follows](./UserData.md) | `dsnp.private-follows` | 9 | 9 | 14 | -| [Private Connections](./UserData.md) | `dsnp.private-connections` | 10 | 10 | 15 | -| [Assertion Method Public Keys](./UserData.md)| `dsnp.public-key-assertion-method` | TBD | 11 | 100 | +| Name | Schema Name | Schema Id Mainnet | Schema Id Testnet (Paseo) | +| --- | --- | --- | --- | +| [Tombstone](./Publishing.md) | `dsnp.tombstone` | 16 | 16 | +| [Broadcast](./Publishing.md) | `dsnp.broadcast` | 17 | 17 | +| [Reply](./Publishing.md) | `dsnp.reply` | 18 | 18 | +| [Reaction](./Publishing.md)| `dsnp.reaction` | 4 | 4 | +| [Update](./Publishing.md)| `dsnp.update` | 19 | 19 | +| [Key Agreement Public Keys](./UserData.md)| `dsnp.public-key-key-agreement` | 7 | 7 | +| [Public Follows](./UserData.md)| `dsnp.public-follows` | 8 | 8 | +| [Private Follows](./UserData.md) | `dsnp.private-follows` | 9 | 9 | +| [Private Connections](./UserData.md) | `dsnp.private-connections` | 10 | 10 | +| [Assertion Method Public Keys](./UserData.md) | `dsnp.public-key-assertion-method` | 14 | 14 | +| [Profile Resources](./UserData.md) | `dsnp.profile-resources` | 15 | 15 | +| [User Attribute Set](./Publishing.md) | `dsnp.user-attribute-set` | 20 | 20 | +| [DSNP Content Attribute Set](./Publishing.md) | `dsnp.dsnp-content-attribute-set` | 12 | 12 | +| [External Content Attribute Set](./Publishing.md) | `dsnp.ext-content-attribute-set` | 13 | 13 | @@ -51,4 +54,4 @@ Official schemas may be found in [GitHub](https://github.com/LibertyDSNP/schemas | Last Update Date | Frequency Release | DSNP Version | | --- | --- | --- | -| 2024-04-12 | 1.10.0+ | pre-1.3.0 | +| 2024-09-20 | 1.13.0+ | 1.3.0 | diff --git a/pages/Frequency/Publishing.md b/pages/Frequency/Publishing.md index 063ca998..320c9255 100644 --- a/pages/Frequency/Publishing.md +++ b/pages/Frequency/Publishing.md @@ -9,12 +9,14 @@ Frequency Messages are either individual Announcements from a particular user, o | Enum | Announcement | Type | Deployed Schema Id | Frequency Model Type | Frequency Payload Location | | :--: | --- | --- | --- | --- | --- | -| 0 | [Tombstone](../DSNP/Types/Tombstone.md) | Batched | Mainnet: 1
Testnet (Paseo): 1
Testnet (Rococo): 1 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | -| 2 | [Broadcast](../DSNP/Types/Broadcast.md) | Batched | Mainnet: 2
Testnet (Paseo): 2
Testnet (Rococo): 2 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | -| 3 | [Reply](../DSNP/Types/Reply.md) | Batched | Mainnet: 3
Testnet (Paseo): 3
Testnet (Rococo): 3 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | -| 4 | [Reaction](../DSNP/Types/Reaction.md) | Batched | Mainnet: 4
Testnet (Paseo): 4
Testnet (Rococo): 4 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | -| 5 | [Profile](../DSNP/Types/Profile.md) | Batched | Mainnet: 6
Testnet (Paseo): 6
Testnet (Rococo): 5 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | -| 6 | [Update](../DSNP/Types/Update.md) | Batched | Mainnet: 5
Testnet (Paseo): 5
Testnet (Rococo): 6 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | +| 0 | [Tombstone](../DSNP/Types/Tombstone.md) | Batched | Mainnet: 16
Testnet (Paseo): 16 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | +| 2 | [Broadcast](../DSNP/Types/Broadcast.md) | Batched | Mainnet: 17
Testnet (Paseo): 17 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | +| 3 | [Reply](../DSNP/Types/Reply.md) | Batched | Mainnet: 18
Testnet (Paseo): 18 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | +| 4 | [Reaction](../DSNP/Types/Reaction.md) | Batched | Mainnet: 4
Testnet (Paseo): 4 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | +| 6 | [Update](../DSNP/Types/Update.md) | Batched | Mainnet: 19
Testnet (Paseo): 19 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | +| 8 | [User Attribute Set](../DSNP/Types/UserAttributeSet.md) | Batched | Mainnet: 20
Testnet (Paseo): 20 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | +| 9 | [DSNP Content Attribute Set](../DSNP/Types/DSNPContentAttributeSet.md) | Batched | Mainnet: 12
Testnet (Paseo): 12 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | +| 10 | [External Content Attribute Set](../DSNP/Types/ExternalContentAttributeSet.md) | Batched | Mainnet: 13
Testnet (Paseo): 13 | [`Parquet`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.Parquet) | [`IPFS`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.IPFS) | Source code for each schema is located in the [LibertyDSNP/schemas](https://github.com/LibertyDSNP/schemas) repository. diff --git a/pages/Frequency/UserData.md b/pages/Frequency/UserData.md index dbc0d0d6..fd20d3ac 100644 --- a/pages/Frequency/UserData.md +++ b/pages/Frequency/UserData.md @@ -8,13 +8,18 @@ On Frequency, User Data is mapped to Schemas which use [Stateful Storage](https: | User Data Set | Deployed Schema Ids | Frequency Model Type | Frequency Payload Location | Settings | | --- | --- | --- | --- | --- | -| [Public Key (Key Agreement)](../DSNP/Types/PublicKeyUserData.md) | Mainnet: 7
Testnet (Paseo): 7
Testnet (Rococo): 7 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Itemized`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Itemized) | [Append Only](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.AppendOnly), [Signature Required](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.SignatureRequired) | -| [Public Follows](../DSNP/Graph.md#public-follows) | Mainnet: 8
Testnet (Paseo): 8
Testnet (Rococo): 13 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None | -| [Private Follows](../DSNP/Graph.md#private-follows) | Mainnet: 9
Testnet (Paseo): 9
Testnet (Rococo): 14 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None | -| [Private Connections](../DSNP/Graph.md#private-connections) | Mainnet: 10
Testnet (Paseo): 10
Testnet (Rococo): 15 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None | -| [Public Key (Assertion Method)](../DSNP/Types/PublicKeyUserData.md) | Mainnet: TBD
Testnet (Paseo): 11
Testnet (Rococo): 100 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Itemized`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Itemized) | [Append Only](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.AppendOnly), [Signature Required](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.SignatureRequired) | - -[Pseudonymous Relationship Identifiers](./../DSNP/Graph.md#pseudonymous-relationship-identifiers) (PRIds) are stored alongside Private Connections in the same Stateful Storage page. +| [Public Key (Key Agreement)](../DSNP/Types/PublicKeyUserData.md) | Mainnet: 7
Testnet (Paseo): 7 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Itemized`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Itemized) | [Append Only](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.AppendOnly), [Signature Required](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.SignatureRequired) | +| [Public Follows](../DSNP/Graph.md#public-follows) | Mainnet: 8
Testnet (Paseo): 8 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None | +| [Private Follows](../DSNP/Graph.md#private-follows) | Mainnet: 9
Testnet (Paseo): 9 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None | +| [Private Connections](../DSNP/Graph.md#private-connections) | Mainnet: 10
Testnet (Paseo): 10 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Paginated`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Paginated) | None | +| [Public Key (Assertion Method)](../DSNP/Types/PublicKeyUserData.md) | Mainnet: 14
Testnet (Paseo): 14 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Itemized`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Itemized) | [Signature Required](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.SchemaSetting.html#variant.SignatureRequired) | +| [Profile Resources](../DSNP/Types/ProfileResource.md) | Mainnet: 15
Testnet (Paseo): 15 | [`AvroBinary`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.ModelType.html#variant.AvroBinary) | [`Itemized`](https://frequency-chain.github.io/frequency/common_primitives/schema/enum.PayloadLocation.html#variant.Itemized) | None | + +Private Connection [Pseudonymous Relationship Identifiers](./../DSNP/Graph.md#pseudonymous-relationship-identifiers) (PRIds) are stored alongside Private Connections in the same Stateful Storage page. + +For historical reasons, bytes for the Public Key (Key Agreement) schema are serialized to the corresponding Avro `bytes` field without the leading multicodec identifier. +Readers should prepend or assume leading `0xec 0x01` bytes (indicating the `x25519-pub` multicodec). +Writers should omit these leading bytes when inserting new items. Source code for each schema is located in the [LibertyDSNP/schemas](https://github.com/LibertyDSNP/schemas) repository.