Upgrade to substrate alpha.3 crates.io dependencies (#73)

* Use substrate dependencies from crates.io

* Remove test that depends on node_runtime.

Because node_runtime is not on crates.io and was downloading duplicate substrate dependencies. The integration tests will test whether the serialization of keys and calls works.

* Fix updated jsonrpsee compilation errors

* Add missing frame-metadata dependency
This commit is contained in:
Andrew Jones
2020-03-06 11:58:23 +00:00
committed by GitHub
parent dcc6b91d10
commit 8ea264d7b0
4 changed files with 15 additions and 47 deletions
+1 -1
View File
@@ -16,7 +16,7 @@
use jsonrpsee::{
client::RequestError,
ws::WsNewDnsError,
transport::ws::WsNewDnsError,
};
use sp_core::crypto::SecretStringError;
use sp_runtime::transaction_validity::TransactionValidityError;
-31
View File
@@ -593,35 +593,4 @@ mod tests {
assert!(result.is_ok())
}
#[test]
#[ignore] // requires locally running substrate node
fn test_chain_read_metadata() {
let client = async_std::task::block_on(test_client());
let balances = client.metadata().module_with_calls("Balances").unwrap();
let dest = sp_keyring::AccountKeyring::Bob.to_account_id();
let address: Address = dest.clone().into();
let amount: Balance = 10_000;
let transfer = pallet_balances::Call::transfer(address.clone(), amount);
let call = node_runtime::Call::Balances(transfer);
let subxt_transfer = crate::frame::balances::transfer::<Runtime>(address, amount);
let call2 = balances.call("transfer", subxt_transfer.args).unwrap();
assert_eq!(call.encode().to_vec(), call2.0);
let account_key =
<frame_system::Account<node_runtime::Runtime>>::hashed_key_for(&dest);
let account_key_substrate = StorageKey(account_key);
let account_key_from_meta = client
.metadata()
.module("System")
.unwrap()
.storage("Account")
.unwrap()
.get_map::<AccountId, pallet_balances::AccountData<Balance>>()
.unwrap()
.key(dest.clone());
assert_eq!(account_key_substrate, account_key_from_meta);
}
}
+3 -3
View File
@@ -28,7 +28,7 @@ use codec::{
};
use jsonrpsee::{
client::Subscription,
core::common::{
common::{
to_value as to_json_value,
Params,
},
@@ -96,9 +96,9 @@ where
T: System,
{
pub async fn connect_ws(url: &str) -> Result<Self, Error> {
let raw_client = jsonrpsee::ws::ws_raw_client(&url).await?;
let client = jsonrpsee::ws_client(&url).await?;
Ok(Rpc {
client: raw_client.into(),
client: client.into(),
marker: PhantomData,
})
}