style: credit contract style

This commit is contained in:
2021-01-01 22:31:05 +08:00
parent 602e14071b
commit ba35489cdf
2 changed files with 8 additions and 10 deletions

View File

@@ -25,10 +25,6 @@ impl CreditContract {
Ok(c) Ok(c)
} }
pub fn load(name: &str) -> XResult<Self> {
load_credit_contract(name)
}
pub fn issue(&mut self, tx: &Transaction, receiver: &str, credit: u32) -> XResult<()> { pub fn issue(&mut self, tx: &Transaction, receiver: &str, credit: u32) -> XResult<()> {
if &self.admin != &tx.sender { if &self.admin != &tx.sender {
return simple_error!("Current user is not admin, {} vs {:?}", self.admin, tx.sender); return simple_error!("Current user is not admin, {} vs {:?}", self.admin, tx.sender);
@@ -82,7 +78,9 @@ impl CreditContract {
} }
} }
fn load_credit_contract(name: &str) -> XResult<CreditContract> {
// ========================================================================= //
pub fn load_credit_contract(name: &str) -> XResult<CreditContract> {
let json = fs::read_to_string(name)?; let json = fs::read_to_string(name)?;
serde_json::from_str(&json).map_err(|e| e.into()) serde_json::from_str(&json).map_err(|e| e.into())
} }

View File

@@ -1,6 +1,6 @@
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use rust_util::XResult; use rust_util::XResult;
use crate::credit::CreditContract; use crate::credit::{CreditContract, load_credit_contract};
use crate::tx::{Transaction, TransactionBody}; use crate::tx::{Transaction, TransactionBody};
#[derive(Debug, Serialize, Deserialize)] #[derive(Debug, Serialize, Deserialize)]
@@ -53,22 +53,22 @@ impl ContractEngineCredit {
}, },
"issue" => { "issue" => {
let params: CreditContractIssueParameters = serde_json::from_str(&tx_body.parameters)?; let params: CreditContractIssueParameters = serde_json::from_str(&tx_body.parameters)?;
let mut c = CreditContract::load(&params.name)?; let mut c = load_credit_contract(&params.name)?;
c.issue(tx, &params.receiver, params.credit)?; c.issue(tx, &params.receiver, params.credit)?;
}, },
"transfer" => { "transfer" => {
let params: CreditContractTransferParameters = serde_json::from_str(&tx_body.parameters)?; let params: CreditContractTransferParameters = serde_json::from_str(&tx_body.parameters)?;
let mut c = CreditContract::load(&params.name)?; let mut c =load_credit_contract(&params.name)?;
c.transfer(tx, &params.receiver, params.credit)?; c.transfer(tx, &params.receiver, params.credit)?;
}, },
"query" => { "query" => {
let params: CreditContractQueryParameters = serde_json::from_str(&tx_body.parameters)?; let params: CreditContractQueryParameters = serde_json::from_str(&tx_body.parameters)?;
let c = CreditContract::load(&params.name)?; let c = load_credit_contract(&params.name)?;
information!("Query: {}, credit: {}", &params.account, c.query(tx, &params.account)); information!("Query: {}, credit: {}", &params.account, c.query(tx, &params.account));
}, },
"query_all" => { "query_all" => {
let params: CreditContractQueryAllParameters = serde_json::from_str(&tx_body.parameters)?; let params: CreditContractQueryAllParameters = serde_json::from_str(&tx_body.parameters)?;
let c = CreditContract::load(&params.name)?; let c = load_credit_contract(&params.name)?;
let map = c.query_all(tx); let map = c.query_all(tx);
map.iter().for_each(|(k , v)| { map.iter().for_each(|(k , v)| {
information!("Query: {}, credit: {}", k, v); information!("Query: {}, credit: {}", k, v);