diff --git a/Cargo.lock b/Cargo.lock index 1993e3d03b..65880554dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -134,7 +134,7 @@ dependencies = [ [[package]] name = "ajuna-runtime" version = "4.0.0-dev" -source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#8cafe65bbac82d8aa05de0ccec0d003e4441b43a" +source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#3a337fc5b20b10aedef9a28bd72cb6680750dda6" dependencies = [ "frame-executive", "frame-support", @@ -2210,6 +2210,7 @@ dependencies = [ "its-primitives", "its-state", "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)", + "pallet-ajuna-connectfour", "pallet-balances", "parity-scale-codec", "sc-keystore", @@ -4077,7 +4078,7 @@ dependencies = [ [[package]] name = "pallet-ajuna-connectfour" version = "4.0.0-dev" -source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#8cafe65bbac82d8aa05de0ccec0d003e4441b43a" +source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#3a337fc5b20b10aedef9a28bd72cb6680750dda6" dependencies = [ "frame-benchmarking", "frame-support", @@ -4092,7 +4093,7 @@ dependencies = [ [[package]] name = "pallet-ajuna-gameregistry" version = "4.0.0-dev" -source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#8cafe65bbac82d8aa05de0ccec0d003e4441b43a" +source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#3a337fc5b20b10aedef9a28bd72cb6680750dda6" dependencies = [ "frame-benchmarking", "frame-support", @@ -4107,7 +4108,7 @@ dependencies = [ [[package]] name = "pallet-ajuna-matchmaker" version = "4.0.0-dev" -source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#8cafe65bbac82d8aa05de0ccec0d003e4441b43a" +source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#3a337fc5b20b10aedef9a28bd72cb6680750dda6" dependencies = [ "frame-support", "frame-system", diff --git a/app-libs/stf/Cargo.toml b/app-libs/stf/Cargo.toml index e1b35b1e25..179466ad61 100644 --- a/app-libs/stf/Cargo.toml +++ b/app-libs/stf/Cargo.toml @@ -41,6 +41,7 @@ std = [ "sp-io/std", "substrate-api-client", "substrate-client-keystore", + "pallet-ajuna-connectfour/std", ] test = [] @@ -74,13 +75,16 @@ sp-application-crypto = { version = "5.0.0", default-features = false, features sp-runtime = { version = "5.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" } sc-keystore = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "master", optional = true } -# scs / integritee +# scs / integritee / ajuna my-node-runtime = { package = "ajuna-runtime", git = "https://github.com/ajuna-network/ajuna-node.git", branch = "update-substrate-5", optional = true } sgx-externalities = { default-features = false, git = "https://github.com/ajuna-network/sgx-runtime", branch = "integritee-network-master" } sgx-runtime = { default-features = false, git = "https://github.com/ajuna-network/sgx-runtime", branch = "integritee-network-master", optional = true } sp-io = { default-features = false, git = "https://github.com/ajuna-network/sgx-runtime", branch = "integritee-network-master", features = ["disable_oom", "disable_panic_handler", "disable_allocator"], optional = true } substrate-api-client = { git = "https://github.com/scs/substrate-api-client", branch = "master", optional = true } substrate-client-keystore = { git = "https://github.com/scs/substrate-api-client", branch = "master", optional = true } +pallet-ajuna-connectfour = { default-features = false, git = "https://github.com/ajuna-network/ajuna-node.git", branch = "update-substrate-5" } + + [dev-dependencies] sp-keyring = { version = "5.0.0", git = "https://github.com/paritytech/substrate.git", branch = "master" } @@ -89,4 +93,3 @@ sp-keyring = { version = "5.0.0", git = "https://github.com/paritytech/substrate #sgx-runtime = { path = "../../../ajuna-sgx-runtime/runtime" } #sp-io = { path = "../../../ajuna-sgx-runtime/substrate-sgx/sp-io" } #sgx-externalities = { path = "../../../ajuna-sgx-runtime/substrate-sgx/externalities" } - diff --git a/app-libs/stf/src/cli.rs b/app-libs/stf/src/cli.rs index f6c9f96fe5..acda3b10c5 100644 --- a/app-libs/stf/src/cli.rs +++ b/app-libs/stf/src/cli.rs @@ -330,6 +330,112 @@ pub fn cmd<'a>( Ok(()) }), ) + .add_cmd( + Command::new("play-turn") + .description("Player turn of connect four") + .options(|app| { + app.setting(AppSettings::ColoredHelp) + .arg( + Arg::with_name("player") + .takes_value(true) + .required(true) + .value_name("SS58") + .help("player's AccountId in ss58check format"), + ) + .arg( + Arg::with_name("column") + .takes_value(true) + .required(true) + .value_name("u8") + .help("play stone in column, must be in the range of 1 to 7"), + ) + }) + .runner(move |_args: &str, matches: &ArgMatches<'_>| { + let arg_player = matches.value_of("player").unwrap(); + let column = matches + .value_of("column") + .unwrap() + .parse() + .expect("amount can be converted to u8"); + + if !(1..=7).contains(&column) { + panic!("Game only allows columns in the range of 1 to 7"); + } + + let player = get_pair_from_str(matches, arg_player); + let direct: bool = matches.is_present("direct"); + + info!("player ss58 is {}", player.public().to_ss58check()); + info!("column choice is {:?}", column); + + println!( + "send trusted call play-turn from {} with column {:?}", + player.public(), + column + ); + let (mrenclave, shard) = get_identifiers(matches); + // get nonce + let top: TrustedOperation = TrustedGetter::nonce(player.public().into()) + .sign(&KeyPair::Sr25519(player.clone())) + .into(); + let res = perform_operation(matches, &top); + let nonce: Index = if let Some(n) = res { + if let Ok(nonce) = Index::decode(&mut n.as_slice()) { + nonce + } else { + info!("could not decode value. maybe hasn't been set? {:x?}", n); + 0 + } + } else { + 0 + }; + debug!("got nonce: {:?}", nonce); + let top: TrustedOperation = TrustedCall::connectfour_play_turn( + sr25519_core::Public::from(player.public()).into(), + column, + ) + .sign(&KeyPair::Sr25519(player), nonce, &mrenclave, &shard) + .into_trusted_operation(direct); + let _ = perform_operation(matches, &top); + Ok(()) + }), + ) + .add_cmd( + Command::new("get-board") + .description("query board state for account in keystore") + .options(|app| { + app.arg( + Arg::with_name("accountid") + .takes_value(true) + .required(true) + .value_name("SS58") + .help("AccountId in ss58check format"), + ) + }) + .runner(move |_args: &str, matches: &ArgMatches<'_>| { + let arg_who = matches.value_of("accountid").unwrap(); + debug!("arg_who = {:?}", arg_who); + let who = get_pair_from_str(matches, arg_who); + let key_pair = sr25519_core::Pair::from(who.clone()); + let top: TrustedOperation = + TrustedGetter::board(sr25519_core::Public::from(who.public()).into()) + .sign(&KeyPair::Sr25519(key_pair)) + .into(); + let res = perform_operation(matches, &top); + debug!("received result for board"); + if let Some(v) = res { + if let Ok(board) = crate::SgxBoardStruct::decode(&mut v.as_slice()) { + println!("Found board {:?}", board); + } else { + println!("could not decode board. maybe hasn't been set? {:x?}", v); + } + } else { + println!("could not fetch board"); + }; + + Ok(()) + }), + ) .into_cmd("trusted") } diff --git a/app-libs/stf/src/helpers.rs b/app-libs/stf/src/helpers.rs index 8d33f0732e..3ce5970193 100644 --- a/app-libs/stf/src/helpers.rs +++ b/app-libs/stf/src/helpers.rs @@ -14,7 +14,9 @@ limitations under the License. */ -use crate::{stf_sgx_primitives::types::*, AccountId, Index, StfError, StfResult, H256}; +use crate::{ + stf_sgx_primitives::types::*, AccountId, Hash, Index, SgxBoardStruct, StfError, StfResult, H256, +}; use codec::{Decode, Encode}; use itp_storage::{storage_double_map_key, storage_map_key, storage_value_key, StorageHasher}; use log::*; @@ -150,3 +152,28 @@ pub fn ensure_root(account: AccountId) -> StfResult<()> { Err(StfError::MissingPrivileges(account)) } } + +pub fn get_board_for(who: AccountId) -> Option { + if let Some(board_id) = get_storage_map::( + "ConnectFour", + "PlayerBoard", + &who, + &StorageHasher::Identity, + ) { + if let Some(board) = get_storage_map::( + "ConnectFour", + "Boards", + &board_id, + &StorageHasher::Identity, + ) { + info!("Retrieved board of player {:?} is: {:?}", who.encode(), board); + Some(board) + } else { + debug!("could not read board"); + None + } + } else { + debug!("could not read board id"); + None + } +} diff --git a/app-libs/stf/src/lib.rs b/app-libs/stf/src/lib.rs index f9c3f2e042..f621715389 100644 --- a/app-libs/stf/src/lib.rs +++ b/app-libs/stf/src/lib.rs @@ -35,6 +35,8 @@ pub use my_node_runtime::Index; use codec::{Compact, Decode, Encode}; use derive_more::Display; +use itp_types::BlockNumber; +use pallet_ajuna_connectfour::{BoardState, BoardStruct}; use sp_core::{crypto::AccountId32, ed25519, sr25519, Pair, H256}; use sp_runtime::{traits::Verify, MultiSignature}; use std::string::String; @@ -45,6 +47,9 @@ pub type AccountId = AccountId32; pub type Hash = sp_core::H256; pub type BalanceTransferFn = ([u8; 2], AccountId, Compact); +pub type SgxBoardState = BoardState; +pub type SgxBoardStruct = BoardStruct; + pub type ShardIdentifier = H256; pub type StfResult = Result; @@ -173,6 +178,7 @@ pub enum TrustedCall { balance_transfer(AccountId, AccountId, Balance), balance_unshield(AccountId, AccountId, Balance, ShardIdentifier), // (AccountIncognito, BeneficiaryPublicAccount, Amount, Shard) balance_shield(AccountId, AccountId, Balance), // (Root, AccountIncognito, Amount) + connectfour_play_turn(AccountId, u8), } impl TrustedCall { @@ -182,6 +188,7 @@ impl TrustedCall { TrustedCall::balance_transfer(account, _, _) => account, TrustedCall::balance_unshield(account, _, _, _) => account, TrustedCall::balance_shield(account, _, _) => account, + TrustedCall::connectfour_play_turn(account, _) => account, } } @@ -207,6 +214,7 @@ pub enum TrustedGetter { free_balance(AccountId), reserved_balance(AccountId), nonce(AccountId), + board(AccountId), } impl TrustedGetter { @@ -215,6 +223,7 @@ impl TrustedGetter { TrustedGetter::free_balance(account) => account, TrustedGetter::reserved_balance(account) => account, TrustedGetter::nonce(account) => account, + TrustedGetter::board(account) => account, } } diff --git a/app-libs/stf/src/stf_sgx.rs b/app-libs/stf/src/stf_sgx.rs index d5d866d4c4..a58cb41bff 100644 --- a/app-libs/stf/src/stf_sgx.rs +++ b/app-libs/stf/src/stf_sgx.rs @@ -20,8 +20,8 @@ use crate::test_genesis::test_genesis_setup; use crate::{ helpers::{ - account_data, account_nonce, ensure_root, get_account_info, increment_nonce, root, - validate_nonce, + account_data, account_nonce, ensure_root, get_account_info, get_board_for, increment_nonce, + root, validate_nonce, }, AccountData, AccountId, Getter, Index, ParentchainHeader, PublicGetter, ShardIdentifier, State, StateTypeDiff, Stf, StfError, StfResult, TrustedCall, TrustedCallSigned, TrustedGetter, @@ -101,6 +101,12 @@ impl Stf { } else { None }, + TrustedGetter::board(who) => + if let Some(game) = get_board_for(who) { + Some(game.encode()) + } else { + None + }, }, Getter::public(g) => match g { PublicGetter::some_value => Some(42u32.encode()), @@ -176,6 +182,17 @@ impl Stf { Self::shield_funds(who, value)?; Ok(()) }, + TrustedCall::connectfour_play_turn(sender, column) => { + let origin = sgx_runtime::Origin::signed(sender.clone()); + debug!("connectfour choose ({:x?}, {:?})", sender.encode(), column); + sgx_runtime::ConnectfourCall::::play_turn { column } + .dispatch_bypass_filter(origin.clone()) + .map_err(|e| { + error!("dispatch error {:?}", e); + StfError::Dispatch("rps_choose".to_string()) + })?; + Ok(()) + }, }?; increment_nonce(&sender); Ok(()) @@ -253,6 +270,7 @@ impl Stf { TrustedCall::balance_transfer(_, _, _) => debug!("No storage updates needed..."), TrustedCall::balance_unshield(_, _, _, _) => debug!("No storage updates needed..."), TrustedCall::balance_shield(_, _, _) => debug!("No storage updates needed..."), + TrustedCall::connectfour_play_turn(_, _) => debug!("No storage updates needed..."), }; key_hashes } diff --git a/enclave-runtime/Cargo.lock b/enclave-runtime/Cargo.lock index 761794d732..3b00f90859 100644 --- a/enclave-runtime/Cargo.lock +++ b/enclave-runtime/Cargo.lock @@ -659,7 +659,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "frame-system", @@ -695,7 +695,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "bitflags", "frame-metadata 14.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -721,7 +721,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -733,7 +733,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -745,7 +745,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "proc-macro2", "quote 1.0.10", @@ -755,7 +755,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "log 0.4.14 (git+https://github.com/mesalock-linux/log-sgx)", @@ -771,7 +771,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "sp-api", @@ -1207,6 +1207,7 @@ dependencies = [ "its-primitives", "its-state", "log 0.4.14 (git+https://github.com/mesalock-linux/log-sgx)", + "pallet-ajuna-connectfour", "pallet-balances", "parity-scale-codec", "sgx-externalities", @@ -2192,7 +2193,7 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "pallet-ajuna-connectfour" version = "4.0.0-dev" -source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#8cafe65bbac82d8aa05de0ccec0d003e4441b43a" +source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#3a337fc5b20b10aedef9a28bd72cb6680750dda6" dependencies = [ "frame-support", "frame-system", @@ -2206,7 +2207,7 @@ dependencies = [ [[package]] name = "pallet-ajuna-matchmaker" version = "4.0.0-dev" -source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#8cafe65bbac82d8aa05de0ccec0d003e4441b43a" +source = "git+https://github.com/ajuna-network/ajuna-node.git?branch=update-substrate-5#3a337fc5b20b10aedef9a28bd72cb6680750dda6" dependencies = [ "frame-support", "frame-system", @@ -2218,7 +2219,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "frame-system", @@ -2234,7 +2235,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "frame-system", @@ -2249,7 +2250,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "frame-system", @@ -2263,7 +2264,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "frame-system", @@ -2301,7 +2302,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "frame-system", @@ -2315,7 +2316,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "frame-system", @@ -2330,7 +2331,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "frame-system", @@ -2350,7 +2351,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "frame-system", @@ -2364,7 +2365,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "frame-system", @@ -2380,7 +2381,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "frame-support", "frame-system", @@ -2396,7 +2397,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -2880,7 +2881,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "futures 0.3.18", "futures-timer", @@ -3405,7 +3406,7 @@ checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "log 0.4.14 (git+https://github.com/mesalock-linux/log-sgx)", "parity-scale-codec", @@ -3419,7 +3420,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "blake2-rfc", "proc-macro-crate", @@ -3431,7 +3432,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "scale-info", @@ -3443,7 +3444,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "integer-sqrt", "num-traits 0.2.14", @@ -3457,7 +3458,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -3468,7 +3469,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "sp-api", @@ -3480,7 +3481,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "scale-info", @@ -3496,7 +3497,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "scale-info", @@ -3507,7 +3508,7 @@ dependencies = [ [[package]] name = "sp-core" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "bitflags", "blake2-rfc", @@ -3541,7 +3542,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "blake2-rfc", "byteorder 1.4.3", @@ -3554,7 +3555,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "proc-macro2", "quote 1.0.10", @@ -3565,7 +3566,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "proc-macro2", "quote 1.0.10", @@ -3575,7 +3576,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "finality-grandpa", "parity-scale-codec", @@ -3590,7 +3591,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3623,7 +3624,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "sp-api", "sp-core", @@ -3633,7 +3634,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "either", "hash256-std-hasher", @@ -3653,7 +3654,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3669,7 +3670,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "Inflector", "proc-macro-crate", @@ -3681,7 +3682,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "scale-info", @@ -3694,7 +3695,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "scale-info", @@ -3705,12 +3706,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" [[package]] name = "sp-storage" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "ref-cast", @@ -3721,7 +3722,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "sp-api", @@ -3733,7 +3734,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "sp-std", @@ -3744,7 +3745,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "sp-api", "sp-runtime", @@ -3753,7 +3754,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "hash-db", "memory-db", @@ -3768,7 +3769,7 @@ dependencies = [ [[package]] name = "sp-version" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "scale-info", @@ -3781,7 +3782,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3792,7 +3793,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#59649dd117969467d8046df86afe56810f596545" +source = "git+https://github.com/paritytech/substrate.git?branch=master#9a6d706d8db00abb6ba183839ec98ecd9924b1f8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec",