Просмотр исходного кода

drk: properly initialize trees

skoupidi 1 год назад
Родитель
Сommit
e65ebe1528
2 измененных файлов с 9 добавлено и 3 удалено
  1. 6 2
      bin/drk/src/dao.rs
  2. 3 1
      bin/drk/src/money.rs

+ 6 - 2
bin/drk/src/dao.rs

@@ -374,8 +374,12 @@ impl Drk {
         // we should actually check it.
         // we should actually check it.
         if self.get_dao_trees().await.is_err() {
         if self.get_dao_trees().await.is_err() {
             println!("Initializing DAO Merkle trees");
             println!("Initializing DAO Merkle trees");
-            let tree = MerkleTree::new(1);
-            self.put_dao_trees(&tree, &tree).await?;
+            let tree = serialize_async(&MerkleTree::new(1)).await;
+            let query = format!(
+                "INSERT INTO {} ({}, {}) VALUES (?1, ?2);",
+                *DAO_TREES_TABLE, DAO_TREES_COL_DAOS_TREE, DAO_TREES_COL_PROPOSALS_TREE
+            );
+            self.wallet.exec_sql(&query, rusqlite::params![tree, tree])?;
             println!("Successfully initialized Merkle trees for the DAO contract");
             println!("Successfully initialized Merkle trees for the DAO contract");
         }
         }
 
 

+ 3 - 1
bin/drk/src/money.rs

@@ -138,7 +138,9 @@ impl Drk {
             let mut tree = MerkleTree::new(1);
             let mut tree = MerkleTree::new(1);
             tree.append(MerkleNode::from(pallas::Base::ZERO));
             tree.append(MerkleNode::from(pallas::Base::ZERO));
             let _ = tree.mark().unwrap();
             let _ = tree.mark().unwrap();
-            self.put_money_tree(&tree).await?;
+            let query =
+                format!("INSERT INTO {} ({}) VALUES (?1);", *MONEY_TREE_TABLE, MONEY_TREE_COL_TREE);
+            self.wallet.exec_sql(&query, rusqlite::params![serialize_async(&tree).await])?;
             println!("Successfully initialized Merkle tree for the Money contract");
             println!("Successfully initialized Merkle tree for the Money contract");
         }
         }