aboutsummaryrefslogtreecommitdiffstats
path: root/adenosine/src/mst.rs
diff options
context:
space:
mode:
Diffstat (limited to 'adenosine/src/mst.rs')
-rw-r--r--adenosine/src/mst.rs37
1 files changed, 11 insertions, 26 deletions
diff --git a/adenosine/src/mst.rs b/adenosine/src/mst.rs
index 7c9d4ee..ba86e4f 100644
--- a/adenosine/src/mst.rs
+++ b/adenosine/src/mst.rs
@@ -23,25 +23,20 @@ use std::collections::BTreeMap;
use std::path::PathBuf;
#[derive(Debug, DagCbor, PartialEq, Eq)]
-pub struct CommitNode {
- pub root: Cid,
- pub sig: Box<[u8]>,
-}
-
-#[derive(Debug, DagCbor, PartialEq, Eq)]
-pub struct RootNode {
- pub auth_token: Option<String>,
+pub struct SignedCommitNode {
+ pub did: String,
+ pub version: u8,
pub prev: Option<Cid>,
- // TODO: not 'metadata'?
- pub meta: Cid,
pub data: Cid,
+ pub sig: Box<[u8]>,
}
#[derive(Debug, DagCbor, PartialEq, Eq)]
-pub struct MetadataNode {
- pub datastore: String, // "mst"
+pub struct UnsignedCommitNode {
pub did: String,
- pub version: u8, // 1
+ pub version: u8,
+ pub prev: Option<Cid>,
+ pub data: Cid,
}
#[derive(Debug, DagCbor, PartialEq, Eq)]
@@ -124,30 +119,20 @@ pub fn dump_mst_keys(db_path: &PathBuf) -> Result<()> {
&db.get_block(&commit_cid)?
.ok_or(anyhow!("expected commit block in store"))?
);
- let commit: CommitNode = DagCborCodec.decode(
+ let commit: SignedCommitNode = DagCborCodec.decode(
&db.get_block(&commit_cid)?
.ok_or(anyhow!("expected commit block in store"))?,
)?;
debug!("Commit: {:?}", commit);
- let root: RootNode = DagCborCodec.decode(
- &db.get_block(&commit.root)?
- .ok_or(anyhow!("expected root block in store"))?,
- )?;
- debug!("Root: {:?}", root);
- let metadata: MetadataNode = DagCborCodec.decode(
- &db.get_block(&root.meta)?
- .ok_or(anyhow!("expected metadata block in store"))?,
- )?;
- debug!("Metadata: {:?}", metadata);
let mst_node: MstNode = DagCborCodec.decode(
- &db.get_block(&root.data)?
+ &db.get_block(&commit.data)?
.ok_or(anyhow!("expected block in store"))?,
)?;
debug!("MST root node: {:?}", mst_node);
debug!("============");
println!("{did}");
- print_mst_keys(&mut db, &root.data)?;
+ print_mst_keys(&mut db, &commit.data)?;
Ok(())
}