diff options
Diffstat (limited to 'adenosine/src/mst.rs')
-rw-r--r-- | adenosine/src/mst.rs | 37 |
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(()) } |