Skip to content

removed SpenderLeaf struct #463

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 31, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 2 additions & 8 deletions primitives/src/spender.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
use crate::{Address, Channel, Deposit, UnifiedNum};
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug, Clone, Eq, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct SpenderLeaf {
pub total_spent: UnifiedNum,
// merkle_proof: [u8; 32], // TODO
}

#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Spender {
pub total_deposited: UnifiedNum,
pub spender_leaf: Option<SpenderLeaf>,
pub total_spent: Option<UnifiedNum>,
}

#[derive(Debug, Clone, PartialEq, Eq)]
Expand Down
34 changes: 15 additions & 19 deletions sentry/src/routes/channel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ use primitives::{
channel_list::ChannelListQuery, AccountingResponse, AllSpendersQuery, AllSpendersResponse,
LastApproved, LastApprovedQuery, LastApprovedResponse, SpenderResponse, SuccessResponse,
},
spender::{Spendable, Spender, SpenderLeaf},
spender::{Spendable, Spender},
validator::{MessageTypes, NewState},
Address, Channel, Deposit, UnifiedNum,
};
Expand Down Expand Up @@ -190,7 +190,7 @@ fn spender_response_without_leaf(
let res = SpenderResponse {
spender: Spender {
total_deposited,
spender_leaf: None,
total_spent: None,
},
};
Ok(success_response(serde_json::to_string(&res)?))
Expand Down Expand Up @@ -240,18 +240,17 @@ pub async fn get_spender_limits<A: Adapter + 'static>(
None => return spender_response_without_leaf(latest_spendable.deposit.total),
};

let total_spent = new_state.balances.spenders.get(&spender);

let spender_leaf = total_spent.map(|total_spent| SpenderLeaf {
total_spent: *total_spent,
//merkle_proof: [u8; 32], // TODO
});
let total_spent = new_state
.balances
.spenders
.get(&spender)
.map(|spent| spent.to_owned());

// returned output
let res = SpenderResponse {
spender: Spender {
total_deposited: latest_spendable.deposit.total,
spender_leaf,
total_spent,
},
};
Ok(success_response(serde_json::to_string(&res)?))
Expand Down Expand Up @@ -284,23 +283,20 @@ pub async fn get_all_spender_limits<A: Adapter + 'static>(
// Using for loop to avoid async closures
for spendable in all_spendables {
let spender = spendable.spender;
let spender_leaf = match new_state {
let total_spent = match new_state {
Some(ref new_state) => new_state.balances.spenders.get(&spender).map(|balance| {
SpenderLeaf {
total_spent: spendable
.deposit
.total
.checked_sub(balance)
.unwrap_or_default(),
// merkle_proof: [u8; 32], // TODO
}
spendable
.deposit
.total
.checked_sub(balance)
.unwrap_or_default()
}),
None => None,
};

let spender_info = Spender {
total_deposited: spendable.deposit.total,
spender_leaf,
total_spent,
};

all_spender_limits.insert(spender, spender_info);
Expand Down
2 changes: 1 addition & 1 deletion test_harness/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -606,7 +606,7 @@ mod tests {
Spender {
// Expected: 30 TOKENs
total_deposited: UnifiedNum::from(3_000_000_000),
spender_leaf: None,
total_spent: None,
},
)]
.into_iter()
Expand Down
2 changes: 1 addition & 1 deletion validator_worker/src/sentry_interface.rs
Original file line number Diff line number Diff line change
Expand Up @@ -501,7 +501,7 @@ mod test {
let server = MockServer::start().await;
let test_spender = Spender {
total_deposited: UnifiedNum::from(100_000_000),
spender_leaf: None,
total_spent: None,
};
let mut all_spenders = HashMap::new();
all_spenders.insert(ADDRESSES["user"], test_spender.clone());
Expand Down