Use thiserror instead of derive_more (#44)

- Use thiserror instead of derive_more
- Format code
- Fix clippy warnings
- Add LICENSE_TEMPLATE

Signed-off-by: koushiro <koushiro.cqx@gmail.com>
This commit is contained in:
Qinxuan Chen
2019-11-26 20:09:17 +08:00
committed by Andrew Jones
parent 40a8ed3f58
commit 4769b4b016
14 changed files with 414 additions and 205 deletions
+34 -11
View File
@@ -1,24 +1,47 @@
// Copyright 2019 Parity Technologies (UK) Ltd.
// This file is part of substrate-subxt.
//
// subxt is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// subxt is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with substrate-subxt. If not, see <http://www.gnu.org/licenses/>.
//! Implements support for the pallet_balances module.
use crate::{
error::Error,
frame::{
Call,
system::System,
},
Client,
};
use std::fmt::Debug;
use futures::future::{
self,
Future,
};
use parity_scale_codec::{Encode, Codec};
use parity_scale_codec::{
Codec,
Encode,
};
use runtime_primitives::traits::{
MaybeSerialize,
Member,
SimpleArithmetic,
};
use runtime_support::Parameter;
use std::fmt::Debug;
use crate::{
error::Error,
frame::{
system::System,
Call,
},
Client,
};
/// The subset of the `pallet_balances::Trait` that a client must implement.
pub trait Balances: System {
@@ -99,7 +122,7 @@ const TRANSFER: &str = "transfer";
pub struct TransferArgs<T: Balances> {
to: <T as System>::Address,
#[codec(compact)]
amount: <T as Balances>::Balance
amount: <T as Balances>::Balance,
}
/// Transfer some liquid free balance to another account.
+43 -9
View File
@@ -1,13 +1,29 @@
// Copyright 2019 Parity Technologies (UK) Ltd.
// This file is part of substrate-subxt.
//
// subxt is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// subxt is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with substrate-subxt. If not, see <http://www.gnu.org/licenses/>.
//! Implements support for the pallet_contracts module.
use crate::{
frame::{
Call,
balances::Balances,
system::System,
},
};
use parity_scale_codec::Encode;
use crate::frame::{
balances::Balances,
system::System,
Call,
};
const MODULE: &str = "Contracts";
const PUT_CODE: &str = "put_code";
const CREATE: &str = "create";
@@ -74,7 +90,16 @@ pub fn create<T: Contracts>(
code_hash: <T as System>::Hash,
data: Vec<u8>,
) -> Call<CreateArgs<T>> {
Call::new(MODULE, CREATE, CreateArgs { endowment, gas_limit, code_hash, data })
Call::new(
MODULE,
CREATE,
CreateArgs {
endowment,
gas_limit,
code_hash,
data,
},
)
}
/// Makes a call to an account, optionally transferring some balance.
@@ -91,5 +116,14 @@ pub fn call<T: Contracts>(
gas_limit: Gas,
data: Vec<u8>,
) -> Call<CallArgs<T>> {
Call::new(MODULE, CALL, CallArgs { dest, value, gas_limit, data })
Call::new(
MODULE,
CALL,
CallArgs {
dest,
value,
gas_limit,
data,
},
)
}
+25 -1
View File
@@ -1,3 +1,19 @@
// Copyright 2019 Parity Technologies (UK) Ltd.
// This file is part of substrate-subxt.
//
// subxt is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// subxt is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with substrate-subxt. If not, see <http://www.gnu.org/licenses/>.
//! Implements support for built-in runtime modules.
use parity_scale_codec::Encode;
@@ -8,13 +24,21 @@ pub mod system;
/// Creates module calls
pub struct Call<T: Encode> {
/// Module name
pub module: &'static str,
/// Function name
pub function: &'static str,
/// Call arguments
pub args: T,
}
impl<T: Encode> Call<T> {
/// Create a module call
pub fn new(module: &'static str, function: &'static str, args: T) -> Self {
Call { module, function, args }
Call {
module,
function,
args,
}
}
}
+30 -10
View File
@@ -1,17 +1,30 @@
// Copyright 2019 Parity Technologies (UK) Ltd.
// This file is part of substrate-subxt.
//
// subxt is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// subxt is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with substrate-subxt. If not, see <http://www.gnu.org/licenses/>.
//! Implements support for the frame_system module.
use crate::{
error::Error,
frame::{
Call,
balances::Balances,
},
Client,
};
use std::fmt::Debug;
use futures::future::{
self,
Future,
};
use parity_scale_codec::Codec;
use serde::de::DeserializeOwned;
use runtime_primitives::traits::{
Bounded,
CheckEqual,
@@ -26,8 +39,15 @@ use runtime_primitives::traits::{
StaticLookup,
};
use runtime_support::Parameter;
use serde::de::DeserializeOwned;
use std::fmt::Debug;
use crate::{
error::Error,
frame::{
balances::Balances,
Call,
},
Client,
};
/// The subset of the `frame::Trait` that a client must implement.
pub trait System: 'static + Eq + Clone + Debug {