diff --git a/sql/cashier.sql b/sql/cashier.sql
index 246ecdba9..9076ce555 100644
--- a/sql/cashier.sql
+++ b/sql/cashier.sql
@@ -12,6 +12,7 @@ CREATE TABLE IF NOT EXISTS deposit_keypairs(
token_key_public BLOB NOT NULL,
network BLOB NOT NULL,
token_id BLOB NOT NULL,
+ mint_address BLOB NOT NULL,
confirm BLOB NOT NULL
);
@@ -22,5 +23,6 @@ CREATE TABLE IF NOT EXISTS withdraw_keypairs(
d_key_public BLOB NOT NULL,
network BLOB NOT NULL,
token_id BLOB NOT NULL,
+ mint_address BLOB NOT NULL,
confirm BLOB NOT NULL
);
diff --git a/src/wallet/cashierdb.rs b/src/wallet/cashierdb.rs
index e49015bad..a0fcd9e1e 100644
--- a/src/wallet/cashierdb.rs
+++ b/src/wallet/cashierdb.rs
@@ -123,6 +123,7 @@ impl CashierDb {
d_key_private: &jubjub::Fr,
network: &NetworkName,
token_id: &jubjub::Fr,
+ mint_address: &String,
) -> Result<()> {
debug!(target: "CASHIERDB", "Put withdraw keys");
@@ -131,6 +132,7 @@ impl CashierDb {
let network = self.get_value_serialized(network)?;
let token_id = self.get_value_serialized(token_id)?;
let confirm = self.get_value_serialized(&false)?;
+ let mint_address = self.get_value_serialized(mint_address)?;
// open connection
let conn = Connection::open(&self.path)?;
@@ -139,15 +141,16 @@ impl CashierDb {
conn.execute(
"INSERT INTO withdraw_keypairs
- (token_key_public, d_key_private, d_key_public, network, token_id, confirm)
+ (token_key_public, d_key_private, d_key_public, network, token_id, mint_address, confirm)
VALUES
- (:token_key_public, :d_key_private, :d_key_public,:network, :token_id, :confirm);",
+ (:token_key_public, :d_key_private, :d_key_public,:network, :token_id, :mint_address, :confirm);",
named_params! {
":token_key_public": token_key_public,
":d_key_private": d_key_private,
":d_key_public": d_key_public,
":network": network,
":token_id": token_id,
+ ":mint_address": mint_address,
":confirm": confirm,
},
)?;
@@ -161,6 +164,7 @@ impl CashierDb {
token_key_public: &[u8],
network: &NetworkName,
token_id: &jubjub::Fr,
+ mint_address: &String,
) -> Result<()> {
debug!(target: "CASHIERDB", "Put exchange keys");
@@ -174,17 +178,20 @@ impl CashierDb {
let network = self.get_value_serialized(network)?;
let confirm = self.get_value_serialized(&false)?;
+ let mint_address = self.get_value_serialized(mint_address)?;
+
conn.execute(
"INSERT INTO deposit_keypairs
- (d_key_public, token_key_private, token_key_public, network, token_id, confirm)
+ (d_key_public, token_key_private, token_key_public, network, token_id, mint_address, confirm)
VALUES
- (:d_key_public, :token_key_private, :token_key_public, :network, :token_id, :confirm)",
+ (:d_key_public, :token_key_private, :token_key_public, :network, :token_id, :mint_address, :confirm)",
named_params! {
":d_key_public": &d_key_public,
":token_key_private": token_key_private,
":token_key_public": token_key_public,
":network": &network,
":token_id": &token_id,
+ ":mint_address": &mint_address,
":confirm": &confirm,
},
)?;
@@ -222,7 +229,7 @@ impl CashierDb {
pub fn get_withdraw_token_public_key_by_dkey_public(
&self,
pub_key: &jubjub::SubgroupPoint,
- ) -> Result