style: code style
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use std::{collections::HashMap, fs, fs::File};
|
||||
use rust_util::XResult;
|
||||
use std::collections::HashMap;
|
||||
use serde::{Serialize, Deserialize};
|
||||
use rust_util::XResult;
|
||||
use crate::tx::Transaction;
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
@@ -21,7 +21,6 @@ impl CreditContract {
|
||||
admin: tx.sender.clone(),
|
||||
credit: HashMap::new(),
|
||||
};
|
||||
save_credit_contract(&c, false)?;
|
||||
Ok(c)
|
||||
}
|
||||
|
||||
@@ -40,7 +39,6 @@ impl CreditContract {
|
||||
Some(cr) => *cr += credit,
|
||||
}
|
||||
self.issue_amount += credit;
|
||||
save_credit_contract(self, true)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -62,7 +60,6 @@ impl CreditContract {
|
||||
}
|
||||
},
|
||||
}
|
||||
save_credit_contract(self, true)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -77,22 +74,3 @@ impl CreditContract {
|
||||
&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(())
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
use serde::{Serialize, Deserialize};
|
||||
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};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
@@ -49,17 +50,20 @@ impl ContractEngineCredit {
|
||||
match action {
|
||||
"create" => {
|
||||
let params: CreditContractCreateParameters = serde_json::from_str(&tx_body.parameters)?;
|
||||
CreditContract::new(tx, ¶ms.name, params.credit_limit)?;
|
||||
let c = CreditContract::new(tx, ¶ms.name, params.credit_limit)?;
|
||||
save_credit_contract(&c, false)?;
|
||||
},
|
||||
"issue" => {
|
||||
let params: CreditContractIssueParameters = serde_json::from_str(&tx_body.parameters)?;
|
||||
let mut c = load_credit_contract(¶ms.name)?;
|
||||
c.issue(tx, ¶ms.receiver, params.credit)?;
|
||||
save_credit_contract(&c, true)?;
|
||||
},
|
||||
"transfer" => {
|
||||
let params: CreditContractTransferParameters = serde_json::from_str(&tx_body.parameters)?;
|
||||
let mut c =load_credit_contract(¶ms.name)?;
|
||||
c.transfer(tx, ¶ms.receiver, params.credit)?;
|
||||
save_credit_contract(&c, true)?;
|
||||
},
|
||||
"query" => {
|
||||
let params: CreditContractQueryParameters = serde_json::from_str(&tx_body.parameters)?;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
mod util;
|
||||
mod tx;
|
||||
mod credit;
|
||||
mod credit_util;
|
||||
mod engine;
|
||||
mod engine_plugin_credit;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user