From c7225de5fa6fd8b30e49f80efbbfa770069c702a Mon Sep 17 00:00:00 2001 From: ghassmo Date: Thu, 5 May 2022 19:52:14 +0300 Subject: [PATCH] walletdb: add token_blind to walletdb and sql schema --- script/sql/coins.sql | 1 + src/wallet/walletdb.rs | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/script/sql/coins.sql b/script/sql/coins.sql index 1aa21fc0a..0d2fdd1e2 100644 --- a/script/sql/coins.sql +++ b/script/sql/coins.sql @@ -3,6 +3,7 @@ CREATE TABLE IF NOT EXISTS coins( serial BLOB NOT NULL, coin_blind BLOB NOT NULL, valcom_blind BLOB NOT NULL, + token_blind BLOB NOT NULL, value BLOB NOT NULL, network BLOB NOT NULL, drk_address BLOB NOT NULL, diff --git a/src/wallet/walletdb.rs b/src/wallet/walletdb.rs index ece6fe172..b740ef403 100644 --- a/src/wallet/walletdb.rs +++ b/src/wallet/walletdb.rs @@ -271,8 +271,7 @@ impl WalletDb { let value_bytes: Vec = row.get("value"); let value = u64::from_le_bytes(value_bytes.try_into().unwrap()); let token_id = deserialize(row.get("drk_address"))?; - // TODO: BUG BUG BUG!!! FIXME - let token_blind = deserialize(row.get("valcom_blind"))?; + let token_blind = deserialize(row.get("token_blind"))?; let note = Note { serial, value, token_id, coin_blind, value_blind, token_blind }; let secret = deserialize(row.get("secret"))?; @@ -298,6 +297,7 @@ impl WalletDb { let serial = serialize(&own_coin.note.serial); let coin_blind = serialize(&own_coin.note.coin_blind); let value_blind = serialize(&own_coin.note.value_blind); + let token_blind = serialize(&own_coin.note.token_blind); let value = own_coin.note.value.to_le_bytes(); let drk_address = serialize(&own_coin.note.token_id); let secret = serialize(&own_coin.secret); @@ -317,16 +317,17 @@ impl WalletDb { let mut conn = self.conn.acquire().await?; sqlx::query( "INSERT OR REPLACE INTO coins - (coin, serial, coin_blind, valcom_blind, value, + (coin, serial, coin_blind, valcom_blind, token_blind, value, network, drk_address, net_address, secret, is_spent, nullifier, leaf_position) VALUES - (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12);", + (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13);", ) .bind(coin) .bind(serial) .bind(coin_blind) .bind(value_blind) + .bind(token_blind) .bind(value.to_vec()) .bind(serialize(network)) .bind(drk_address) // token_id