style: code style

This commit is contained in:
2021-01-01 23:31:18 +08:00
parent 2a2d33be2c
commit 0094ce2e5c
3 changed files with 9 additions and 26 deletions

View File

@@ -1,6 +1,6 @@
use std::{collections::HashMap, fs, fs::File}; use std::collections::HashMap;
use rust_util::XResult;
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use rust_util::XResult;
use crate::tx::Transaction; use crate::tx::Transaction;
#[derive(Debug, Serialize, Deserialize)] #[derive(Debug, Serialize, Deserialize)]
@@ -21,7 +21,6 @@ impl CreditContract {
admin: tx.sender.clone(), admin: tx.sender.clone(),
credit: HashMap::new(), credit: HashMap::new(),
}; };
save_credit_contract(&c, false)?;
Ok(c) Ok(c)
} }
@@ -40,7 +39,6 @@ impl CreditContract {
Some(cr) => *cr += credit, Some(cr) => *cr += credit,
} }
self.issue_amount += credit; self.issue_amount += credit;
save_credit_contract(self, true)?;
Ok(()) Ok(())
} }
@@ -62,7 +60,6 @@ impl CreditContract {
} }
}, },
} }
save_credit_contract(self, true)?;
Ok(()) Ok(())
} }
@@ -77,22 +74,3 @@ impl CreditContract {
&self.credit &self.credit
} }
} }
// ========================================================================= //
pub fn load_credit_contract(name: &str) -> XResult<CreditContract> {
let json = fs::read_to_string(name)?;
serde_json::from_str(&json).map_err(|e| e.into())
}
fn save_credit_contract(c: &CreditContract, overwrite: bool) -> XResult<()> {
let name = &c.name;
if !overwrite {
if let Ok(_) = File::open(name) {
return simple_error!("File exists: {}", name);
}
}
information!("Write file: {}", name);
fs::write(name, serde_json::to_string(c)?.as_bytes())?;
Ok(())
}

View File

@@ -1,6 +1,7 @@
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use rust_util::XResult; use rust_util::XResult;
use crate::credit::{CreditContract, load_credit_contract}; use crate::credit::CreditContract;
use crate::credit_util::{save_credit_contract, load_credit_contract};
use crate::tx::{Transaction, TransactionBody}; use crate::tx::{Transaction, TransactionBody};
#[derive(Debug, Serialize, Deserialize)] #[derive(Debug, Serialize, Deserialize)]
@@ -49,17 +50,20 @@ impl ContractEngineCredit {
match action { match action {
"create" => { "create" => {
let params: CreditContractCreateParameters = serde_json::from_str(&tx_body.parameters)?; let params: CreditContractCreateParameters = serde_json::from_str(&tx_body.parameters)?;
CreditContract::new(tx, &params.name, params.credit_limit)?; let c = CreditContract::new(tx, &params.name, params.credit_limit)?;
save_credit_contract(&c, false)?;
}, },
"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 = load_credit_contract(&params.name)?; let mut c = load_credit_contract(&params.name)?;
c.issue(tx, &params.receiver, params.credit)?; c.issue(tx, &params.receiver, params.credit)?;
save_credit_contract(&c, true)?;
}, },
"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 =load_credit_contract(&params.name)?; let mut c =load_credit_contract(&params.name)?;
c.transfer(tx, &params.receiver, params.credit)?; c.transfer(tx, &params.receiver, params.credit)?;
save_credit_contract(&c, true)?;
}, },
"query" => { "query" => {
let params: CreditContractQueryParameters = serde_json::from_str(&tx_body.parameters)?; let params: CreditContractQueryParameters = serde_json::from_str(&tx_body.parameters)?;

View File

@@ -3,6 +3,7 @@
mod util; mod util;
mod tx; mod tx;
mod credit; mod credit;
mod credit_util;
mod engine; mod engine;
mod engine_plugin_credit; mod engine_plugin_credit;